@loaders.gl/3d-tiles 4.4.0 → 4.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dist.min.js CHANGED
@@ -4,7 +4,7 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['loaders'] = factory();
6
6
  else root['loaders'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var p0=Object.create;var Eo=Object.defineProperty;var g0=Object.getOwnPropertyDescriptor;var B0=Object.getOwnPropertyNames;var x0=Object.getPrototypeOf,E0=Object.prototype.hasOwnProperty;var ce=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),de=(e,t)=>{for(var r in t)Eo(e,r,{get:t[r],enumerable:!0})},xo=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of B0(t))!E0.call(e,o)&&o!==r&&Eo(e,o,{get:()=>t[o],enumerable:!(n=g0(t,o))||n.enumerable});return e},bo=(e,t,r)=>(xo(e,t,"default"),r&&xo(r,t,"default")),Br=(e,t,r)=>(r=e!=null?p0(x0(e)):{},xo(t||!e||!e.__esModule?Eo(r,"default",{value:e,enumerable:!0}):r,e)),b0=e=>xo(Eo({},"__esModule",{value:!0}),e);var dn=ce((Ab,Jc)=>{Jc.exports=globalThis.loaders});var mt=ce(pe=>{"use strict";var AE=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function pE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}pe.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(typeof r!="object")throw new TypeError(r+"must be non-object");for(var n in r)pE(r,n)&&(e[n]=r[n])}}return e};pe.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var gE={arraySet:function(e,t,r,n,o){if(t.subarray&&e.subarray){e.set(t.subarray(r,r+n),o);return}for(var s=0;s<n;s++)e[o+s]=t[r+s]},flattenChunks:function(e){var t,r,n,o,s,i;for(n=0,t=0,r=e.length;t<r;t++)n+=e[t].length;for(i=new Uint8Array(n),o=0,t=0,r=e.length;t<r;t++)s=e[t],i.set(s,o),o+=s.length;return i}},BE={arraySet:function(e,t,r,n,o){for(var s=0;s<n;s++)e[o+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};pe.setTyped=function(e){e?(pe.Buf8=Uint8Array,pe.Buf16=Uint16Array,pe.Buf32=Int32Array,pe.assign(pe,gE)):(pe.Buf8=Array,pe.Buf16=Array,pe.Buf32=Array,pe.assign(pe,BE))};pe.setTyped(AE)});var ku=ce(tn=>{"use strict";var xE=mt(),EE=4,xu=0,Eu=1,bE=2;function en(e){for(var t=e.length;--t>=0;)e[t]=0}var yE=0,wu=1,_E=2,TE=3,CE=258,ic=29,oo=256,eo=oo+1+ic,$r=30,ac=19,Iu=2*eo+1,ir=15,ec=16,wE=7,cc=256,Mu=16,Su=17,Fu=18,oc=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Ts=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],IE=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Du=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ME=512,At=new Array((eo+2)*2);en(At);var $n=new Array($r*2);en($n);var to=new Array(ME);en(to);var ro=new Array(CE-TE+1);en(ro);var fc=new Array(ic);en(fc);var Cs=new Array($r);en(Cs);function tc(e,t,r,n,o){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=o,this.has_stree=e&&e.length}var Ru,Lu,Ou;function rc(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function vu(e){return e<256?to[e]:to[256+(e>>>7)]}function no(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function Te(e,t,r){e.bi_valid>ec-r?(e.bi_buf|=t<<e.bi_valid&65535,no(e,e.bi_buf),e.bi_buf=t>>ec-e.bi_valid,e.bi_valid+=r-ec):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function et(e,t,r){Te(e,r[t*2],r[t*2+1])}function Nu(e,t){var r=0;do r|=e&1,e>>>=1,r<<=1;while(--t>0);return r>>>1}function SE(e){e.bi_valid===16?(no(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function FE(e,t){var r=t.dyn_tree,n=t.max_code,o=t.stat_desc.static_tree,s=t.stat_desc.has_stree,i=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,f=t.stat_desc.max_length,c,l,h,u,d,m,A=0;for(u=0;u<=ir;u++)e.bl_count[u]=0;for(r[e.heap[e.heap_max]*2+1]=0,c=e.heap_max+1;c<Iu;c++)l=e.heap[c],u=r[r[l*2+1]*2+1]+1,u>f&&(u=f,A++),r[l*2+1]=u,!(l>n)&&(e.bl_count[u]++,d=0,l>=a&&(d=i[l-a]),m=r[l*2],e.opt_len+=m*(u+d),s&&(e.static_len+=m*(o[l*2+1]+d)));if(A!==0){do{for(u=f-1;e.bl_count[u]===0;)u--;e.bl_count[u]--,e.bl_count[u+1]+=2,e.bl_count[f]--,A-=2}while(A>0);for(u=f;u!==0;u--)for(l=e.bl_count[u];l!==0;)h=e.heap[--c],!(h>n)&&(r[h*2+1]!==u&&(e.opt_len+=(u-r[h*2+1])*r[h*2],r[h*2+1]=u),l--)}}function Gu(e,t,r){var n=new Array(ir+1),o=0,s,i;for(s=1;s<=ir;s++)n[s]=o=o+r[s-1]<<1;for(i=0;i<=t;i++){var a=e[i*2+1];a!==0&&(e[i*2]=Nu(n[a]++,a))}}function DE(){var e,t,r,n,o,s=new Array(ir+1);for(r=0,n=0;n<ic-1;n++)for(fc[n]=r,e=0;e<1<<oc[n];e++)ro[r++]=n;for(ro[r-1]=n,o=0,n=0;n<16;n++)for(Cs[n]=o,e=0;e<1<<Ts[n];e++)to[o++]=n;for(o>>=7;n<$r;n++)for(Cs[n]=o<<7,e=0;e<1<<Ts[n]-7;e++)to[256+o++]=n;for(t=0;t<=ir;t++)s[t]=0;for(e=0;e<=143;)At[e*2+1]=8,e++,s[8]++;for(;e<=255;)At[e*2+1]=9,e++,s[9]++;for(;e<=279;)At[e*2+1]=7,e++,s[7]++;for(;e<=287;)At[e*2+1]=8,e++,s[8]++;for(Gu(At,eo+1,s),e=0;e<$r;e++)$n[e*2+1]=5,$n[e*2]=Nu(e,5);Ru=new tc(At,oc,oo+1,eo,ir),Lu=new tc($n,Ts,0,$r,ir),Ou=new tc(new Array(0),IE,0,ac,wE)}function Uu(e){var t;for(t=0;t<eo;t++)e.dyn_ltree[t*2]=0;for(t=0;t<$r;t++)e.dyn_dtree[t*2]=0;for(t=0;t<ac;t++)e.bl_tree[t*2]=0;e.dyn_ltree[cc*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Pu(e){e.bi_valid>8?no(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function RE(e,t,r,n){Pu(e),n&&(no(e,r),no(e,~r)),xE.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}function bu(e,t,r,n){var o=t*2,s=r*2;return e[o]<e[s]||e[o]===e[s]&&n[t]<=n[r]}function nc(e,t,r){for(var n=e.heap[r],o=r<<1;o<=e.heap_len&&(o<e.heap_len&&bu(t,e.heap[o+1],e.heap[o],e.depth)&&o++,!bu(t,n,e.heap[o],e.depth));)e.heap[r]=e.heap[o],r=o,o<<=1;e.heap[r]=n}function yu(e,t,r){var n,o,s=0,i,a;if(e.last_lit!==0)do n=e.pending_buf[e.d_buf+s*2]<<8|e.pending_buf[e.d_buf+s*2+1],o=e.pending_buf[e.l_buf+s],s++,n===0?et(e,o,t):(i=ro[o],et(e,i+oo+1,t),a=oc[i],a!==0&&(o-=fc[i],Te(e,o,a)),n--,i=vu(n),et(e,i,r),a=Ts[i],a!==0&&(n-=Cs[i],Te(e,n,a)));while(s<e.last_lit);et(e,cc,t)}function sc(e,t){var r=t.dyn_tree,n=t.stat_desc.static_tree,o=t.stat_desc.has_stree,s=t.stat_desc.elems,i,a,f=-1,c;for(e.heap_len=0,e.heap_max=Iu,i=0;i<s;i++)r[i*2]!==0?(e.heap[++e.heap_len]=f=i,e.depth[i]=0):r[i*2+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=f<2?++f:0,r[c*2]=1,e.depth[c]=0,e.opt_len--,o&&(e.static_len-=n[c*2+1]);for(t.max_code=f,i=e.heap_len>>1;i>=1;i--)nc(e,r,i);c=s;do i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],nc(e,r,1),a=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=a,r[c*2]=r[i*2]+r[a*2],e.depth[c]=(e.depth[i]>=e.depth[a]?e.depth[i]:e.depth[a])+1,r[i*2+1]=r[a*2+1]=c,e.heap[1]=c++,nc(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],FE(e,t),Gu(r,f,e.bl_count)}function _u(e,t,r){var n,o=-1,s,i=t[0*2+1],a=0,f=7,c=4;for(i===0&&(f=138,c=3),t[(r+1)*2+1]=65535,n=0;n<=r;n++)s=i,i=t[(n+1)*2+1],!(++a<f&&s===i)&&(a<c?e.bl_tree[s*2]+=a:s!==0?(s!==o&&e.bl_tree[s*2]++,e.bl_tree[Mu*2]++):a<=10?e.bl_tree[Su*2]++:e.bl_tree[Fu*2]++,a=0,o=s,i===0?(f=138,c=3):s===i?(f=6,c=3):(f=7,c=4))}function Tu(e,t,r){var n,o=-1,s,i=t[0*2+1],a=0,f=7,c=4;for(i===0&&(f=138,c=3),n=0;n<=r;n++)if(s=i,i=t[(n+1)*2+1],!(++a<f&&s===i)){if(a<c)do et(e,s,e.bl_tree);while(--a!==0);else s!==0?(s!==o&&(et(e,s,e.bl_tree),a--),et(e,Mu,e.bl_tree),Te(e,a-3,2)):a<=10?(et(e,Su,e.bl_tree),Te(e,a-3,3)):(et(e,Fu,e.bl_tree),Te(e,a-11,7));a=0,o=s,i===0?(f=138,c=3):s===i?(f=6,c=3):(f=7,c=4)}}function LE(e){var t;for(_u(e,e.dyn_ltree,e.l_desc.max_code),_u(e,e.dyn_dtree,e.d_desc.max_code),sc(e,e.bl_desc),t=ac-1;t>=3&&e.bl_tree[Du[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function OE(e,t,r,n){var o;for(Te(e,t-257,5),Te(e,r-1,5),Te(e,n-4,4),o=0;o<n;o++)Te(e,e.bl_tree[Du[o]*2+1],3);Tu(e,e.dyn_ltree,t-1),Tu(e,e.dyn_dtree,r-1)}function vE(e){var t=4093624447,r;for(r=0;r<=31;r++,t>>>=1)if(t&1&&e.dyn_ltree[r*2]!==0)return xu;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return Eu;for(r=32;r<oo;r++)if(e.dyn_ltree[r*2]!==0)return Eu;return xu}var Cu=!1;function NE(e){Cu||(DE(),Cu=!0),e.l_desc=new rc(e.dyn_ltree,Ru),e.d_desc=new rc(e.dyn_dtree,Lu),e.bl_desc=new rc(e.bl_tree,Ou),e.bi_buf=0,e.bi_valid=0,Uu(e)}function Hu(e,t,r,n){Te(e,(yE<<1)+(n?1:0),3),RE(e,t,r,!0)}function GE(e){Te(e,wu<<1,3),et(e,cc,At),SE(e)}function UE(e,t,r,n){var o,s,i=0;e.level>0?(e.strm.data_type===bE&&(e.strm.data_type=vE(e)),sc(e,e.l_desc),sc(e,e.d_desc),i=LE(e),o=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=o&&(o=s)):o=s=r+5,r+4<=o&&t!==-1?Hu(e,t,r,n):e.strategy===EE||s===o?(Te(e,(wu<<1)+(n?1:0),3),yu(e,At,$n)):(Te(e,(_E<<1)+(n?1:0),3),OE(e,e.l_desc.max_code+1,e.d_desc.max_code+1,i+1),yu(e,e.dyn_ltree,e.dyn_dtree)),Uu(e),n&&Pu(e)}function PE(e,t,r){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=r&255,e.last_lit++,t===0?e.dyn_ltree[r*2]++:(e.matches++,t--,e.dyn_ltree[(ro[r]+oo+1)*2]++,e.dyn_dtree[vu(t)*2]++),e.last_lit===e.lit_bufsize-1}tn._tr_init=NE;tn._tr_stored_block=Hu;tn._tr_flush_block=UE;tn._tr_tally=PE;tn._tr_align=GE});var lc=ce((nR,Ju)=>{"use strict";function HE(e,t,r,n){for(var o=e&65535|0,s=e>>>16&65535|0,i=0;r!==0;){i=r>2e3?2e3:r,r-=i;do o=o+t[n++]|0,s=s+o|0;while(--i);o%=65521,s%=65521}return o|s<<16|0}Ju.exports=HE});var hc=ce((oR,zu)=>{"use strict";function kE(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=e&1?3988292384^e>>>1:e>>>1;t[r]=e}return t}var JE=kE();function zE(e,t,r,n){var o=JE,s=n+r;e^=-1;for(var i=n;i<s;i++)e=e>>>8^o[(e^t[i])&255];return e^-1}zu.exports=zE});var ws=ce((sR,Qu)=>{"use strict";Qu.exports={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"}});var $u=ce(nt=>{"use strict";var ge=mt(),Ue=ku(),Zu=lc(),Ot=hc(),QE=ws(),lr=0,VE=1,jE=3,Pt=4,Vu=5,rt=0,ju=1,Pe=-2,KE=-3,uc=-5,ZE=-1,YE=1,Is=2,WE=3,XE=4,qE=0,$E=2,Ds=8,e2=9,t2=15,r2=8,n2=29,o2=256,mc=o2+1+n2,s2=30,i2=19,a2=2*mc+1,c2=15,J=3,Gt=258,Ve=Gt+J+1,f2=32,Rs=42,Ac=69,Ms=73,Ss=91,Fs=103,ar=113,io=666,ae=1,ao=2,cr=3,on=4,l2=3;function Ut(e,t){return e.msg=QE[t],t}function Ku(e){return(e<<1)-(e>4?9:0)}function Nt(e){for(var t=e.length;--t>=0;)e[t]=0}function vt(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(ge.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,t.pending===0&&(t.pending_out=0))}function ue(e,t){Ue._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,vt(e.strm)}function j(e,t){e.pending_buf[e.pending++]=t}function so(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function h2(e,t,r,n){var o=e.avail_in;return o>n&&(o=n),o===0?0:(e.avail_in-=o,ge.arraySet(t,e.input,e.next_in,o,r),e.state.wrap===1?e.adler=Zu(e.adler,t,o,r):e.state.wrap===2&&(e.adler=Ot(e.adler,t,o,r)),e.next_in+=o,e.total_in+=o,o)}function Yu(e,t){var r=e.max_chain_length,n=e.strstart,o,s,i=e.prev_length,a=e.nice_match,f=e.strstart>e.w_size-Ve?e.strstart-(e.w_size-Ve):0,c=e.window,l=e.w_mask,h=e.prev,u=e.strstart+Gt,d=c[n+i-1],m=c[n+i];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do if(o=t,!(c[o+i]!==m||c[o+i-1]!==d||c[o]!==c[n]||c[++o]!==c[n+1])){n+=2,o++;do;while(c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&n<u);if(s=Gt-(u-n),n=u-Gt,s>i){if(e.match_start=t,i=s,s>=a)break;d=c[n+i-1],m=c[n+i]}}while((t=h[t&l])>f&&--r!==0);return i<=e.lookahead?i:e.lookahead}function fr(e){var t=e.w_size,r,n,o,s,i;do{if(s=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Ve)){ge.arraySet(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,n=e.hash_size,r=n;do o=e.head[--r],e.head[r]=o>=t?o-t:0;while(--n);n=t,r=n;do o=e.prev[--r],e.prev[r]=o>=t?o-t:0;while(--n);s+=t}if(e.strm.avail_in===0)break;if(n=h2(e.strm,e.window,e.strstart+e.lookahead,s),e.lookahead+=n,e.lookahead+e.insert>=J)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+J-1])&e.hash_mask,e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<J)););}while(e.lookahead<Ve&&e.strm.avail_in!==0)}function u2(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(fr(e),e.lookahead===0&&t===lr)return ae;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((e.strstart===0||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,ue(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-Ve&&(ue(e,!1),e.strm.avail_out===0))return ae}return e.insert=0,t===Pt?(ue(e,!0),e.strm.avail_out===0?cr:on):(e.strstart>e.block_start&&(ue(e,!1),e.strm.avail_out===0),ae)}function dc(e,t){for(var r,n;;){if(e.lookahead<Ve){if(fr(e),e.lookahead<Ve&&t===lr)return ae;if(e.lookahead===0)break}if(r=0,e.lookahead>=J&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+J-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),r!==0&&e.strstart-r<=e.w_size-Ve&&(e.match_length=Yu(e,r)),e.match_length>=J)if(n=Ue._tr_tally(e,e.strstart-e.match_start,e.match_length-J),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=J){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+J-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=Ue._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(ue(e,!1),e.strm.avail_out===0))return ae}return e.insert=e.strstart<J-1?e.strstart:J-1,t===Pt?(ue(e,!0),e.strm.avail_out===0?cr:on):e.last_lit&&(ue(e,!1),e.strm.avail_out===0)?ae:ao}function rn(e,t){for(var r,n,o;;){if(e.lookahead<Ve){if(fr(e),e.lookahead<Ve&&t===lr)return ae;if(e.lookahead===0)break}if(r=0,e.lookahead>=J&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+J-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=J-1,r!==0&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-Ve&&(e.match_length=Yu(e,r),e.match_length<=5&&(e.strategy===YE||e.match_length===J&&e.strstart-e.match_start>4096)&&(e.match_length=J-1)),e.prev_length>=J&&e.match_length<=e.prev_length){o=e.strstart+e.lookahead-J,n=Ue._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-J),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=o&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+J-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=J-1,e.strstart++,n&&(ue(e,!1),e.strm.avail_out===0))return ae}else if(e.match_available){if(n=Ue._tr_tally(e,0,e.window[e.strstart-1]),n&&ue(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return ae}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=Ue._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<J-1?e.strstart:J-1,t===Pt?(ue(e,!0),e.strm.avail_out===0?cr:on):e.last_lit&&(ue(e,!1),e.strm.avail_out===0)?ae:ao}function d2(e,t){for(var r,n,o,s,i=e.window;;){if(e.lookahead<=Gt){if(fr(e),e.lookahead<=Gt&&t===lr)return ae;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=J&&e.strstart>0&&(o=e.strstart-1,n=i[o],n===i[++o]&&n===i[++o]&&n===i[++o])){s=e.strstart+Gt;do;while(n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&o<s);e.match_length=Gt-(s-o),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=J?(r=Ue._tr_tally(e,1,e.match_length-J),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=Ue._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(ue(e,!1),e.strm.avail_out===0))return ae}return e.insert=0,t===Pt?(ue(e,!0),e.strm.avail_out===0?cr:on):e.last_lit&&(ue(e,!1),e.strm.avail_out===0)?ae:ao}function m2(e,t){for(var r;;){if(e.lookahead===0&&(fr(e),e.lookahead===0)){if(t===lr)return ae;break}if(e.match_length=0,r=Ue._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(ue(e,!1),e.strm.avail_out===0))return ae}return e.insert=0,t===Pt?(ue(e,!0),e.strm.avail_out===0?cr:on):e.last_lit&&(ue(e,!1),e.strm.avail_out===0)?ae:ao}function tt(e,t,r,n,o){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=o}var nn;nn=[new tt(0,0,0,0,u2),new tt(4,4,8,4,dc),new tt(4,5,16,8,dc),new tt(4,6,32,32,dc),new tt(4,4,16,16,rn),new tt(8,16,32,32,rn),new tt(8,16,128,128,rn),new tt(8,32,128,256,rn),new tt(32,128,258,1024,rn),new tt(32,258,258,4096,rn)];function A2(e){e.window_size=2*e.w_size,Nt(e.head),e.max_lazy_match=nn[e.level].max_lazy,e.good_match=nn[e.level].good_length,e.nice_match=nn[e.level].nice_length,e.max_chain_length=nn[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=J-1,e.match_available=0,e.ins_h=0}function p2(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Ds,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new ge.Buf16(a2*2),this.dyn_dtree=new ge.Buf16((2*s2+1)*2),this.bl_tree=new ge.Buf16((2*i2+1)*2),Nt(this.dyn_ltree),Nt(this.dyn_dtree),Nt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new ge.Buf16(c2+1),this.heap=new ge.Buf16(2*mc+1),Nt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new ge.Buf16(2*mc+1),Nt(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Wu(e){var t;return!e||!e.state?Ut(e,Pe):(e.total_in=e.total_out=0,e.data_type=$E,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Rs:ar,e.adler=t.wrap===2?0:1,t.last_flush=lr,Ue._tr_init(t),rt)}function Xu(e){var t=Wu(e);return t===rt&&A2(e.state),t}function g2(e,t){return!e||!e.state||e.state.wrap!==2?Pe:(e.state.gzhead=t,rt)}function qu(e,t,r,n,o,s){if(!e)return Pe;var i=1;if(t===ZE&&(t=6),n<0?(i=0,n=-n):n>15&&(i=2,n-=16),o<1||o>e2||r!==Ds||n<8||n>15||t<0||t>9||s<0||s>XE)return Ut(e,Pe);n===8&&(n=9);var a=new p2;return e.state=a,a.strm=e,a.wrap=i,a.gzhead=null,a.w_bits=n,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=o+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+J-1)/J),a.window=new ge.Buf8(a.w_size*2),a.head=new ge.Buf16(a.hash_size),a.prev=new ge.Buf16(a.w_size),a.lit_bufsize=1<<o+6,a.pending_buf_size=a.lit_bufsize*4,a.pending_buf=new ge.Buf8(a.pending_buf_size),a.d_buf=1*a.lit_bufsize,a.l_buf=(1+2)*a.lit_bufsize,a.level=t,a.strategy=s,a.method=r,Xu(e)}function B2(e,t){return qu(e,t,Ds,t2,r2,qE)}function x2(e,t){var r,n,o,s;if(!e||!e.state||t>Vu||t<0)return e?Ut(e,Pe):Pe;if(n=e.state,!e.output||!e.input&&e.avail_in!==0||n.status===io&&t!==Pt)return Ut(e,e.avail_out===0?uc:Pe);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===Rs)if(n.wrap===2)e.adler=0,j(n,31),j(n,139),j(n,8),n.gzhead?(j(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),j(n,n.gzhead.time&255),j(n,n.gzhead.time>>8&255),j(n,n.gzhead.time>>16&255),j(n,n.gzhead.time>>24&255),j(n,n.level===9?2:n.strategy>=Is||n.level<2?4:0),j(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(j(n,n.gzhead.extra.length&255),j(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=Ot(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Ac):(j(n,0),j(n,0),j(n,0),j(n,0),j(n,0),j(n,n.level===9?2:n.strategy>=Is||n.level<2?4:0),j(n,l2),n.status=ar);else{var i=Ds+(n.w_bits-8<<4)<<8,a=-1;n.strategy>=Is||n.level<2?a=0:n.level<6?a=1:n.level===6?a=2:a=3,i|=a<<6,n.strstart!==0&&(i|=f2),i+=31-i%31,n.status=ar,so(n,i),n.strstart!==0&&(so(n,e.adler>>>16),so(n,e.adler&65535)),e.adler=1}if(n.status===Ac)if(n.gzhead.extra){for(o=n.pending;n.gzindex<(n.gzhead.extra.length&65535)&&!(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>o&&(e.adler=Ot(e.adler,n.pending_buf,n.pending-o,o)),vt(e),o=n.pending,n.pending===n.pending_buf_size));)j(n,n.gzhead.extra[n.gzindex]&255),n.gzindex++;n.gzhead.hcrc&&n.pending>o&&(e.adler=Ot(e.adler,n.pending_buf,n.pending-o,o)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=Ms)}else n.status=Ms;if(n.status===Ms)if(n.gzhead.name){o=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>o&&(e.adler=Ot(e.adler,n.pending_buf,n.pending-o,o)),vt(e),o=n.pending,n.pending===n.pending_buf_size)){s=1;break}n.gzindex<n.gzhead.name.length?s=n.gzhead.name.charCodeAt(n.gzindex++)&255:s=0,j(n,s)}while(s!==0);n.gzhead.hcrc&&n.pending>o&&(e.adler=Ot(e.adler,n.pending_buf,n.pending-o,o)),s===0&&(n.gzindex=0,n.status=Ss)}else n.status=Ss;if(n.status===Ss)if(n.gzhead.comment){o=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>o&&(e.adler=Ot(e.adler,n.pending_buf,n.pending-o,o)),vt(e),o=n.pending,n.pending===n.pending_buf_size)){s=1;break}n.gzindex<n.gzhead.comment.length?s=n.gzhead.comment.charCodeAt(n.gzindex++)&255:s=0,j(n,s)}while(s!==0);n.gzhead.hcrc&&n.pending>o&&(e.adler=Ot(e.adler,n.pending_buf,n.pending-o,o)),s===0&&(n.status=Fs)}else n.status=Fs;if(n.status===Fs&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&vt(e),n.pending+2<=n.pending_buf_size&&(j(n,e.adler&255),j(n,e.adler>>8&255),e.adler=0,n.status=ar)):n.status=ar),n.pending!==0){if(vt(e),e.avail_out===0)return n.last_flush=-1,rt}else if(e.avail_in===0&&Ku(t)<=Ku(r)&&t!==Pt)return Ut(e,uc);if(n.status===io&&e.avail_in!==0)return Ut(e,uc);if(e.avail_in!==0||n.lookahead!==0||t!==lr&&n.status!==io){var f=n.strategy===Is?m2(n,t):n.strategy===WE?d2(n,t):nn[n.level].func(n,t);if((f===cr||f===on)&&(n.status=io),f===ae||f===cr)return e.avail_out===0&&(n.last_flush=-1),rt;if(f===ao&&(t===VE?Ue._tr_align(n):t!==Vu&&(Ue._tr_stored_block(n,0,0,!1),t===jE&&(Nt(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),vt(e),e.avail_out===0))return n.last_flush=-1,rt}return t!==Pt?rt:n.wrap<=0?ju:(n.wrap===2?(j(n,e.adler&255),j(n,e.adler>>8&255),j(n,e.adler>>16&255),j(n,e.adler>>24&255),j(n,e.total_in&255),j(n,e.total_in>>8&255),j(n,e.total_in>>16&255),j(n,e.total_in>>24&255)):(so(n,e.adler>>>16),so(n,e.adler&65535)),vt(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?rt:ju)}function E2(e){var t;return!e||!e.state?Pe:(t=e.state.status,t!==Rs&&t!==Ac&&t!==Ms&&t!==Ss&&t!==Fs&&t!==ar&&t!==io?Ut(e,Pe):(e.state=null,t===ar?Ut(e,KE):rt))}function b2(e,t){var r=t.length,n,o,s,i,a,f,c,l;if(!e||!e.state||(n=e.state,i=n.wrap,i===2||i===1&&n.status!==Rs||n.lookahead))return Pe;for(i===1&&(e.adler=Zu(e.adler,t,r,0)),n.wrap=0,r>=n.w_size&&(i===0&&(Nt(n.head),n.strstart=0,n.block_start=0,n.insert=0),l=new ge.Buf8(n.w_size),ge.arraySet(l,t,r-n.w_size,n.w_size,0),t=l,r=n.w_size),a=e.avail_in,f=e.next_in,c=e.input,e.avail_in=r,e.next_in=0,e.input=t,fr(n);n.lookahead>=J;){o=n.strstart,s=n.lookahead-(J-1);do n.ins_h=(n.ins_h<<n.hash_shift^n.window[o+J-1])&n.hash_mask,n.prev[o&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=o,o++;while(--s);n.strstart=o,n.lookahead=J-1,fr(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=J-1,n.match_available=0,e.next_in=f,e.input=c,e.avail_in=a,n.wrap=i,rt}nt.deflateInit=B2;nt.deflateInit2=qu;nt.deflateReset=Xu;nt.deflateResetKeep=Wu;nt.deflateSetHeader=g2;nt.deflate=x2;nt.deflateEnd=E2;nt.deflateSetDictionary=b2;nt.deflateInfo="pako deflate (from Nodeca project)"});var pc=ce(sn=>{"use strict";var Ls=mt(),ed=!0,td=!0;try{String.fromCharCode.apply(null,[0])}catch{ed=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{td=!1}var co=new Ls.Buf8(256);for(pt=0;pt<256;pt++)co[pt]=pt>=252?6:pt>=248?5:pt>=240?4:pt>=224?3:pt>=192?2:1;var pt;co[254]=co[254]=1;sn.string2buf=function(e){var t,r,n,o,s,i=e.length,a=0;for(o=0;o<i;o++)r=e.charCodeAt(o),(r&64512)===55296&&o+1<i&&(n=e.charCodeAt(o+1),(n&64512)===56320&&(r=65536+(r-55296<<10)+(n-56320),o++)),a+=r<128?1:r<2048?2:r<65536?3:4;for(t=new Ls.Buf8(a),s=0,o=0;s<a;o++)r=e.charCodeAt(o),(r&64512)===55296&&o+1<i&&(n=e.charCodeAt(o+1),(n&64512)===56320&&(r=65536+(r-55296<<10)+(n-56320),o++)),r<128?t[s++]=r:r<2048?(t[s++]=192|r>>>6,t[s++]=128|r&63):r<65536?(t[s++]=224|r>>>12,t[s++]=128|r>>>6&63,t[s++]=128|r&63):(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63,t[s++]=128|r>>>6&63,t[s++]=128|r&63);return t};function rd(e,t){if(t<65534&&(e.subarray&&td||!e.subarray&&ed))return String.fromCharCode.apply(null,Ls.shrinkBuf(e,t));for(var r="",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}sn.buf2binstring=function(e){return rd(e,e.length)};sn.binstring2buf=function(e){for(var t=new Ls.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t};sn.buf2string=function(e,t){var r,n,o,s,i=t||e.length,a=new Array(i*2);for(n=0,r=0;r<i;){if(o=e[r++],o<128){a[n++]=o;continue}if(s=co[o],s>4){a[n++]=65533,r+=s-1;continue}for(o&=s===2?31:s===3?15:7;s>1&&r<i;)o=o<<6|e[r++]&63,s--;if(s>1){a[n++]=65533;continue}o<65536?a[n++]=o:(o-=65536,a[n++]=55296|o>>10&1023,a[n++]=56320|o&1023)}return rd(a,n)};sn.utf8border=function(e,t){var r;for(t=t||e.length,t>e.length&&(t=e.length),r=t-1;r>=0&&(e[r]&192)===128;)r--;return r<0||r===0?t:r+co[e[r]]>t?r:t}});var gc=ce((cR,nd)=>{"use strict";function y2(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}nd.exports=y2});var ad=ce(ho=>{"use strict";var fo=$u(),lo=mt(),xc=pc(),Ec=ws(),_2=gc(),id=Object.prototype.toString,T2=0,Bc=4,an=0,od=1,sd=2,C2=-1,w2=0,I2=8;function hr(e){if(!(this instanceof hr))return new hr(e);this.options=lo.assign({level:C2,method:I2,chunkSize:16384,windowBits:15,memLevel:8,strategy:w2,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new _2,this.strm.avail_out=0;var r=fo.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==an)throw new Error(Ec[r]);if(t.header&&fo.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(typeof t.dictionary=="string"?n=xc.string2buf(t.dictionary):id.call(t.dictionary)==="[object ArrayBuffer]"?n=new Uint8Array(t.dictionary):n=t.dictionary,r=fo.deflateSetDictionary(this.strm,n),r!==an)throw new Error(Ec[r]);this._dict_set=!0}}hr.prototype.push=function(e,t){var r=this.strm,n=this.options.chunkSize,o,s;if(this.ended)return!1;s=t===~~t?t:t===!0?Bc:T2,typeof e=="string"?r.input=xc.string2buf(e):id.call(e)==="[object ArrayBuffer]"?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new lo.Buf8(n),r.next_out=0,r.avail_out=n),o=fo.deflate(r,s),o!==od&&o!==an)return this.onEnd(o),this.ended=!0,!1;(r.avail_out===0||r.avail_in===0&&(s===Bc||s===sd))&&(this.options.to==="string"?this.onData(xc.buf2binstring(lo.shrinkBuf(r.output,r.next_out))):this.onData(lo.shrinkBuf(r.output,r.next_out)))}while((r.avail_in>0||r.avail_out===0)&&o!==od);return s===Bc?(o=fo.deflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===an):(s===sd&&(this.onEnd(an),r.avail_out=0),!0)};hr.prototype.onData=function(e){this.chunks.push(e)};hr.prototype.onEnd=function(e){e===an&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=lo.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function bc(e,t){var r=new hr(t);if(r.push(e,!0),r.err)throw r.msg||Ec[r.err];return r.result}function M2(e,t){return t=t||{},t.raw=!0,bc(e,t)}function S2(e,t){return t=t||{},t.gzip=!0,bc(e,t)}ho.Deflate=hr;ho.deflate=bc;ho.deflateRaw=M2;ho.gzip=S2});var fd=ce((lR,cd)=>{"use strict";var Os=30,F2=12;cd.exports=function(t,r){var n,o,s,i,a,f,c,l,h,u,d,m,A,p,E,y,T,C,_,I,M,L,B,g,x;n=t.state,o=t.next_in,g=t.input,s=o+(t.avail_in-5),i=t.next_out,x=t.output,a=i-(r-t.avail_out),f=i+(t.avail_out-257),c=n.dmax,l=n.wsize,h=n.whave,u=n.wnext,d=n.window,m=n.hold,A=n.bits,p=n.lencode,E=n.distcode,y=(1<<n.lenbits)-1,T=(1<<n.distbits)-1;e:do{A<15&&(m+=g[o++]<<A,A+=8,m+=g[o++]<<A,A+=8),C=p[m&y];t:for(;;){if(_=C>>>24,m>>>=_,A-=_,_=C>>>16&255,_===0)x[i++]=C&65535;else if(_&16){I=C&65535,_&=15,_&&(A<_&&(m+=g[o++]<<A,A+=8),I+=m&(1<<_)-1,m>>>=_,A-=_),A<15&&(m+=g[o++]<<A,A+=8,m+=g[o++]<<A,A+=8),C=E[m&T];r:for(;;){if(_=C>>>24,m>>>=_,A-=_,_=C>>>16&255,_&16){if(M=C&65535,_&=15,A<_&&(m+=g[o++]<<A,A+=8,A<_&&(m+=g[o++]<<A,A+=8)),M+=m&(1<<_)-1,M>c){t.msg="invalid distance too far back",n.mode=Os;break e}if(m>>>=_,A-=_,_=i-a,M>_){if(_=M-_,_>h&&n.sane){t.msg="invalid distance too far back",n.mode=Os;break e}if(L=0,B=d,u===0){if(L+=l-_,_<I){I-=_;do x[i++]=d[L++];while(--_);L=i-M,B=x}}else if(u<_){if(L+=l+u-_,_-=u,_<I){I-=_;do x[i++]=d[L++];while(--_);if(L=0,u<I){_=u,I-=_;do x[i++]=d[L++];while(--_);L=i-M,B=x}}}else if(L+=u-_,_<I){I-=_;do x[i++]=d[L++];while(--_);L=i-M,B=x}for(;I>2;)x[i++]=B[L++],x[i++]=B[L++],x[i++]=B[L++],I-=3;I&&(x[i++]=B[L++],I>1&&(x[i++]=B[L++]))}else{L=i-M;do x[i++]=x[L++],x[i++]=x[L++],x[i++]=x[L++],I-=3;while(I>2);I&&(x[i++]=x[L++],I>1&&(x[i++]=x[L++]))}}else if(_&64){t.msg="invalid distance code",n.mode=Os;break e}else{C=E[(C&65535)+(m&(1<<_)-1)];continue r}break}}else if(_&64)if(_&32){n.mode=F2;break e}else{t.msg="invalid literal/length code",n.mode=Os;break e}else{C=p[(C&65535)+(m&(1<<_)-1)];continue t}break}}while(o<s&&i<f);I=A>>3,o-=I,A-=I<<3,m&=(1<<A)-1,t.next_in=o,t.next_out=i,t.avail_in=o<s?5+(s-o):5-(o-s),t.avail_out=i<f?257+(f-i):257-(i-f),n.hold=m,n.bits=A}});var pd=ce((hR,Ad)=>{"use strict";var ld=mt(),cn=15,hd=852,ud=592,dd=0,yc=1,md=2,D2=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],R2=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],L2=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],O2=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];Ad.exports=function(t,r,n,o,s,i,a,f){var c=f.bits,l=0,h=0,u=0,d=0,m=0,A=0,p=0,E=0,y=0,T=0,C,_,I,M,L,B=null,g=0,x,b=new ld.Buf16(cn+1),U=new ld.Buf16(cn+1),G=null,P=0,v,ee,Be;for(l=0;l<=cn;l++)b[l]=0;for(h=0;h<o;h++)b[r[n+h]]++;for(m=c,d=cn;d>=1&&b[d]===0;d--);if(m>d&&(m=d),d===0)return s[i++]=1<<24|64<<16|0,s[i++]=1<<24|64<<16|0,f.bits=1,0;for(u=1;u<d&&b[u]===0;u++);for(m<u&&(m=u),E=1,l=1;l<=cn;l++)if(E<<=1,E-=b[l],E<0)return-1;if(E>0&&(t===dd||d!==1))return-1;for(U[1]=0,l=1;l<cn;l++)U[l+1]=U[l]+b[l];for(h=0;h<o;h++)r[n+h]!==0&&(a[U[r[n+h]]++]=h);if(t===dd?(B=G=a,x=19):t===yc?(B=D2,g-=257,G=R2,P-=257,x=256):(B=L2,G=O2,x=-1),T=0,h=0,l=u,L=i,A=m,p=0,I=-1,y=1<<m,M=y-1,t===yc&&y>hd||t===md&&y>ud)return 1;for(;;){v=l-p,a[h]<x?(ee=0,Be=a[h]):a[h]>x?(ee=G[P+a[h]],Be=B[g+a[h]]):(ee=32+64,Be=0),C=1<<l-p,_=1<<A,u=_;do _-=C,s[L+(T>>p)+_]=v<<24|ee<<16|Be|0;while(_!==0);for(C=1<<l-1;T&C;)C>>=1;if(C!==0?(T&=C-1,T+=C):T=0,h++,--b[l]===0){if(l===d)break;l=r[n+a[h]]}if(l>m&&(T&M)!==I){for(p===0&&(p=m),L+=u,A=l-p,E=1<<A;A+p<d&&(E-=b[A+p],!(E<=0));)A++,E<<=1;if(y+=1<<A,t===yc&&y>hd||t===md&&y>ud)return 1;I=T&M,s[I]=m<<24|A<<16|L-i|0}}return T!==0&&(s[L+T]=l-p<<24|64<<16|0),f.bits=m,0}});var Xd=ce(je=>{"use strict";var Me=mt(),Mc=lc(),ot=hc(),v2=fd(),uo=pd(),N2=0,Jd=1,zd=2,gd=4,G2=5,vs=6,ur=0,U2=1,P2=2,He=-2,Qd=-3,Sc=-4,H2=-5,Bd=8,Vd=1,xd=2,Ed=3,bd=4,yd=5,_d=6,Td=7,Cd=8,wd=9,Id=10,Us=11,gt=12,_c=13,Md=14,Tc=15,Sd=16,Fd=17,Dd=18,Rd=19,Ns=20,Gs=21,Ld=22,Od=23,vd=24,Nd=25,Gd=26,Cc=27,Ud=28,Pd=29,$=30,Fc=31,k2=32,J2=852,z2=592,Q2=15,V2=Q2;function Hd(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function j2(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Me.Buf16(320),this.work=new Me.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function jd(e){var t;return!e||!e.state?He:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Vd,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Me.Buf32(J2),t.distcode=t.distdyn=new Me.Buf32(z2),t.sane=1,t.back=-1,ur)}function Kd(e){var t;return!e||!e.state?He:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,jd(e))}function Zd(e,t){var r,n;return!e||!e.state||(n=e.state,t<0?(r=0,t=-t):(r=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?He:(n.window!==null&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,Kd(e))}function Yd(e,t){var r,n;return e?(n=new j2,e.state=n,n.window=null,r=Zd(e,t),r!==ur&&(e.state=null),r):He}function K2(e){return Yd(e,V2)}var kd=!0,wc,Ic;function Z2(e){if(kd){var t;for(wc=new Me.Buf32(512),Ic=new Me.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(uo(Jd,e.lens,0,288,wc,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;uo(zd,e.lens,0,32,Ic,0,e.work,{bits:5}),kd=!1}e.lencode=wc,e.lenbits=9,e.distcode=Ic,e.distbits=5}function Wd(e,t,r,n){var o,s=e.state;return s.window===null&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new Me.Buf8(s.wsize)),n>=s.wsize?(Me.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(o=s.wsize-s.wnext,o>n&&(o=n),Me.arraySet(s.window,t,r-n,o,s.wnext),n-=o,n?(Me.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=o,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=o))),0}function Y2(e,t){var r,n,o,s,i,a,f,c,l,h,u,d,m,A,p=0,E,y,T,C,_,I,M,L,B=new Me.Buf8(4),g,x,b=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return He;r=e.state,r.mode===gt&&(r.mode=_c),i=e.next_out,o=e.output,f=e.avail_out,s=e.next_in,n=e.input,a=e.avail_in,c=r.hold,l=r.bits,h=a,u=f,L=ur;e:for(;;)switch(r.mode){case Vd:if(r.wrap===0){r.mode=_c;break}for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(r.wrap&2&&c===35615){r.check=0,B[0]=c&255,B[1]=c>>>8&255,r.check=ot(r.check,B,2,0),c=0,l=0,r.mode=xd;break}if(r.flags=0,r.head&&(r.head.done=!1),!(r.wrap&1)||(((c&255)<<8)+(c>>8))%31){e.msg="incorrect header check",r.mode=$;break}if((c&15)!==Bd){e.msg="unknown compression method",r.mode=$;break}if(c>>>=4,l-=4,M=(c&15)+8,r.wbits===0)r.wbits=M;else if(M>r.wbits){e.msg="invalid window size",r.mode=$;break}r.dmax=1<<M,e.adler=r.check=1,r.mode=c&512?Id:gt,c=0,l=0;break;case xd:for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(r.flags=c,(r.flags&255)!==Bd){e.msg="unknown compression method",r.mode=$;break}if(r.flags&57344){e.msg="unknown header flags set",r.mode=$;break}r.head&&(r.head.text=c>>8&1),r.flags&512&&(B[0]=c&255,B[1]=c>>>8&255,r.check=ot(r.check,B,2,0)),c=0,l=0,r.mode=Ed;case Ed:for(;l<32;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.head&&(r.head.time=c),r.flags&512&&(B[0]=c&255,B[1]=c>>>8&255,B[2]=c>>>16&255,B[3]=c>>>24&255,r.check=ot(r.check,B,4,0)),c=0,l=0,r.mode=bd;case bd:for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.head&&(r.head.xflags=c&255,r.head.os=c>>8),r.flags&512&&(B[0]=c&255,B[1]=c>>>8&255,r.check=ot(r.check,B,2,0)),c=0,l=0,r.mode=yd;case yd:if(r.flags&1024){for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.length=c,r.head&&(r.head.extra_len=c),r.flags&512&&(B[0]=c&255,B[1]=c>>>8&255,r.check=ot(r.check,B,2,0)),c=0,l=0}else r.head&&(r.head.extra=null);r.mode=_d;case _d:if(r.flags&1024&&(d=r.length,d>a&&(d=a),d&&(r.head&&(M=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),Me.arraySet(r.head.extra,n,s,d,M)),r.flags&512&&(r.check=ot(r.check,n,d,s)),a-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=Td;case Td:if(r.flags&2048){if(a===0)break e;d=0;do M=n[s+d++],r.head&&M&&r.length<65536&&(r.head.name+=String.fromCharCode(M));while(M&&d<a);if(r.flags&512&&(r.check=ot(r.check,n,d,s)),a-=d,s+=d,M)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=Cd;case Cd:if(r.flags&4096){if(a===0)break e;d=0;do M=n[s+d++],r.head&&M&&r.length<65536&&(r.head.comment+=String.fromCharCode(M));while(M&&d<a);if(r.flags&512&&(r.check=ot(r.check,n,d,s)),a-=d,s+=d,M)break e}else r.head&&(r.head.comment=null);r.mode=wd;case wd:if(r.flags&512){for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(c!==(r.check&65535)){e.msg="header crc mismatch",r.mode=$;break}c=0,l=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=gt;break;case Id:for(;l<32;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}e.adler=r.check=Hd(c),c=0,l=0,r.mode=Us;case Us:if(r.havedict===0)return e.next_out=i,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=c,r.bits=l,P2;e.adler=r.check=1,r.mode=gt;case gt:if(t===G2||t===vs)break e;case _c:if(r.last){c>>>=l&7,l-=l&7,r.mode=Cc;break}for(;l<3;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}switch(r.last=c&1,c>>>=1,l-=1,c&3){case 0:r.mode=Md;break;case 1:if(Z2(r),r.mode=Ns,t===vs){c>>>=2,l-=2;break e}break;case 2:r.mode=Fd;break;case 3:e.msg="invalid block type",r.mode=$}c>>>=2,l-=2;break;case Md:for(c>>>=l&7,l-=l&7;l<32;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if((c&65535)!==(c>>>16^65535)){e.msg="invalid stored block lengths",r.mode=$;break}if(r.length=c&65535,c=0,l=0,r.mode=Tc,t===vs)break e;case Tc:r.mode=Sd;case Sd:if(d=r.length,d){if(d>a&&(d=a),d>f&&(d=f),d===0)break e;Me.arraySet(o,n,s,d,i),a-=d,s+=d,f-=d,i+=d,r.length-=d;break}r.mode=gt;break;case Fd:for(;l<14;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(r.nlen=(c&31)+257,c>>>=5,l-=5,r.ndist=(c&31)+1,c>>>=5,l-=5,r.ncode=(c&15)+4,c>>>=4,l-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=$;break}r.have=0,r.mode=Dd;case Dd:for(;r.have<r.ncode;){for(;l<3;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.lens[b[r.have++]]=c&7,c>>>=3,l-=3}for(;r.have<19;)r.lens[b[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,g={bits:r.lenbits},L=uo(N2,r.lens,0,19,r.lencode,0,r.work,g),r.lenbits=g.bits,L){e.msg="invalid code lengths set",r.mode=$;break}r.have=0,r.mode=Rd;case Rd:for(;r.have<r.nlen+r.ndist;){for(;p=r.lencode[c&(1<<r.lenbits)-1],E=p>>>24,y=p>>>16&255,T=p&65535,!(E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(T<16)c>>>=E,l-=E,r.lens[r.have++]=T;else{if(T===16){for(x=E+2;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(c>>>=E,l-=E,r.have===0){e.msg="invalid bit length repeat",r.mode=$;break}M=r.lens[r.have-1],d=3+(c&3),c>>>=2,l-=2}else if(T===17){for(x=E+3;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}c>>>=E,l-=E,M=0,d=3+(c&7),c>>>=3,l-=3}else{for(x=E+7;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}c>>>=E,l-=E,M=0,d=11+(c&127),c>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=$;break}for(;d--;)r.lens[r.have++]=M}}if(r.mode===$)break;if(r.lens[256]===0){e.msg="invalid code -- missing end-of-block",r.mode=$;break}if(r.lenbits=9,g={bits:r.lenbits},L=uo(Jd,r.lens,0,r.nlen,r.lencode,0,r.work,g),r.lenbits=g.bits,L){e.msg="invalid literal/lengths set",r.mode=$;break}if(r.distbits=6,r.distcode=r.distdyn,g={bits:r.distbits},L=uo(zd,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,g),r.distbits=g.bits,L){e.msg="invalid distances set",r.mode=$;break}if(r.mode=Ns,t===vs)break e;case Ns:r.mode=Gs;case Gs:if(a>=6&&f>=258){e.next_out=i,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=c,r.bits=l,v2(e,u),i=e.next_out,o=e.output,f=e.avail_out,s=e.next_in,n=e.input,a=e.avail_in,c=r.hold,l=r.bits,r.mode===gt&&(r.back=-1);break}for(r.back=0;p=r.lencode[c&(1<<r.lenbits)-1],E=p>>>24,y=p>>>16&255,T=p&65535,!(E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(y&&!(y&240)){for(C=E,_=y,I=T;p=r.lencode[I+((c&(1<<C+_)-1)>>C)],E=p>>>24,y=p>>>16&255,T=p&65535,!(C+E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}c>>>=C,l-=C,r.back+=C}if(c>>>=E,l-=E,r.back+=E,r.length=T,y===0){r.mode=Gd;break}if(y&32){r.back=-1,r.mode=gt;break}if(y&64){e.msg="invalid literal/length code",r.mode=$;break}r.extra=y&15,r.mode=Ld;case Ld:if(r.extra){for(x=r.extra;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.length+=c&(1<<r.extra)-1,c>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=Od;case Od:for(;p=r.distcode[c&(1<<r.distbits)-1],E=p>>>24,y=p>>>16&255,T=p&65535,!(E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(!(y&240)){for(C=E,_=y,I=T;p=r.distcode[I+((c&(1<<C+_)-1)>>C)],E=p>>>24,y=p>>>16&255,T=p&65535,!(C+E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}c>>>=C,l-=C,r.back+=C}if(c>>>=E,l-=E,r.back+=E,y&64){e.msg="invalid distance code",r.mode=$;break}r.offset=T,r.extra=y&15,r.mode=vd;case vd:if(r.extra){for(x=r.extra;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.offset+=c&(1<<r.extra)-1,c>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=$;break}r.mode=Nd;case Nd:if(f===0)break e;if(d=u-f,r.offset>d){if(d=r.offset-d,d>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=$;break}d>r.wnext?(d-=r.wnext,m=r.wsize-d):m=r.wnext-d,d>r.length&&(d=r.length),A=r.window}else A=o,m=i-r.offset,d=r.length;d>f&&(d=f),f-=d,r.length-=d;do o[i++]=A[m++];while(--d);r.length===0&&(r.mode=Gs);break;case Gd:if(f===0)break e;o[i++]=r.length,f--,r.mode=Gs;break;case Cc:if(r.wrap){for(;l<32;){if(a===0)break e;a--,c|=n[s++]<<l,l+=8}if(u-=f,e.total_out+=u,r.total+=u,u&&(e.adler=r.check=r.flags?ot(r.check,o,u,i-u):Mc(r.check,o,u,i-u)),u=f,(r.flags?c:Hd(c))!==r.check){e.msg="incorrect data check",r.mode=$;break}c=0,l=0}r.mode=Ud;case Ud:if(r.wrap&&r.flags){for(;l<32;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(c!==(r.total&4294967295)){e.msg="incorrect length check",r.mode=$;break}c=0,l=0}r.mode=Pd;case Pd:L=U2;break e;case $:L=Qd;break e;case Fc:return Sc;case k2:default:return He}return e.next_out=i,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=c,r.bits=l,(r.wsize||u!==e.avail_out&&r.mode<$&&(r.mode<Cc||t!==gd))&&Wd(e,e.output,e.next_out,u-e.avail_out)?(r.mode=Fc,Sc):(h-=e.avail_in,u-=e.avail_out,e.total_in+=h,e.total_out+=u,r.total+=u,r.wrap&&u&&(e.adler=r.check=r.flags?ot(r.check,o,u,e.next_out-u):Mc(r.check,o,u,e.next_out-u)),e.data_type=r.bits+(r.last?64:0)+(r.mode===gt?128:0)+(r.mode===Ns||r.mode===Tc?256:0),(h===0&&u===0||t===gd)&&L===ur&&(L=H2),L)}function W2(e){if(!e||!e.state)return He;var t=e.state;return t.window&&(t.window=null),e.state=null,ur}function X2(e,t){var r;return!e||!e.state||(r=e.state,!(r.wrap&2))?He:(r.head=t,t.done=!1,ur)}function q2(e,t){var r=t.length,n,o,s;return!e||!e.state||(n=e.state,n.wrap!==0&&n.mode!==Us)?He:n.mode===Us&&(o=1,o=Mc(o,t,r,0),o!==n.check)?Qd:(s=Wd(e,t,r,r),s?(n.mode=Fc,Sc):(n.havedict=1,ur))}je.inflateReset=Kd;je.inflateReset2=Zd;je.inflateResetKeep=jd;je.inflateInit=K2;je.inflateInit2=Yd;je.inflate=Y2;je.inflateEnd=W2;je.inflateGetHeader=X2;je.inflateSetDictionary=q2;je.inflateInfo="pako inflate (from Nodeca project)"});var Dc=ce((dR,qd)=>{"use strict";qd.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var e0=ce((mR,$d)=>{"use strict";function $2(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}$d.exports=$2});var r0=ce(Ao=>{"use strict";var fn=Xd(),mo=mt(),Ps=pc(),ne=Dc(),Rc=ws(),eb=gc(),tb=e0(),t0=Object.prototype.toString;function dr(e){if(!(this instanceof dr))return new dr(e);this.options=mo.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new eb,this.strm.avail_out=0;var r=fn.inflateInit2(this.strm,t.windowBits);if(r!==ne.Z_OK)throw new Error(Rc[r]);if(this.header=new tb,fn.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Ps.string2buf(t.dictionary):t0.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=fn.inflateSetDictionary(this.strm,t.dictionary),r!==ne.Z_OK)))throw new Error(Rc[r])}dr.prototype.push=function(e,t){var r=this.strm,n=this.options.chunkSize,o=this.options.dictionary,s,i,a,f,c,l=!1;if(this.ended)return!1;i=t===~~t?t:t===!0?ne.Z_FINISH:ne.Z_NO_FLUSH,typeof e=="string"?r.input=Ps.binstring2buf(e):t0.call(e)==="[object ArrayBuffer]"?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new mo.Buf8(n),r.next_out=0,r.avail_out=n),s=fn.inflate(r,ne.Z_NO_FLUSH),s===ne.Z_NEED_DICT&&o&&(s=fn.inflateSetDictionary(this.strm,o)),s===ne.Z_BUF_ERROR&&l===!0&&(s=ne.Z_OK,l=!1),s!==ne.Z_STREAM_END&&s!==ne.Z_OK)return this.onEnd(s),this.ended=!0,!1;r.next_out&&(r.avail_out===0||s===ne.Z_STREAM_END||r.avail_in===0&&(i===ne.Z_FINISH||i===ne.Z_SYNC_FLUSH))&&(this.options.to==="string"?(a=Ps.utf8border(r.output,r.next_out),f=r.next_out-a,c=Ps.buf2string(r.output,a),r.next_out=f,r.avail_out=n-f,f&&mo.arraySet(r.output,r.output,a,f,0),this.onData(c)):this.onData(mo.shrinkBuf(r.output,r.next_out))),r.avail_in===0&&r.avail_out===0&&(l=!0)}while((r.avail_in>0||r.avail_out===0)&&s!==ne.Z_STREAM_END);return s===ne.Z_STREAM_END&&(i=ne.Z_FINISH),i===ne.Z_FINISH?(s=fn.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===ne.Z_OK):(i===ne.Z_SYNC_FLUSH&&(this.onEnd(ne.Z_OK),r.avail_out=0),!0)};dr.prototype.onData=function(e){this.chunks.push(e)};dr.prototype.onEnd=function(e){e===ne.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=mo.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Lc(e,t){var r=new dr(t);if(r.push(e,!0),r.err)throw r.msg||Rc[r.err];return r.result}function rb(e,t){return t=t||{},t.raw=!0,Lc(e,t)}Ao.Inflate=dr;Ao.inflate=Lc;Ao.inflateRaw=rb;Ao.ungzip=Lc});var s0=ce((pR,o0)=>{"use strict";var nb=mt().assign,ob=ad(),sb=r0(),ib=Dc(),n0={};nb(n0,ob,sb,ib);o0.exports=n0});var i0=ce(()=>{});var po={};de(po,{CesiumIonLoader:()=>Za,TILE3D_TYPE:()=>be,Tile3DBatchTable:()=>ut,Tile3DFeatureTable:()=>ze,Tile3DSubtreeLoader:()=>jr,Tile3DWriter:()=>m0,Tiles3DArchive:()=>ln,Tiles3DArchiveFileLoader:()=>c0,Tiles3DLoader:()=>tr,_getIonTilesetMetadata:()=>xs});bo(po,Br(dn(),1));async function ke(e,t,r,n){return n._parse(e,t,r,n)}function z(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var Ze={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},y0=Ze.self||Ze.window||Ze.global||{},_0=Ze.window||Ze.self||Ze.global||{},T0=Ze.global||Ze.self||Ze.window||{},C0=Ze.document||{};var Ee=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var zc=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),w0=zc&&parseFloat(zc[1])||0;var yo=globalThis,I0=globalThis.document||{},_o=globalThis.process||{},M0=globalThis.console,xb=globalThis.navigator||{};function Qc(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let t=typeof navigator<"u"&&navigator.userAgent,r=e||t;return Boolean(r&&r.indexOf("Electron")>=0)}function Jt(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Qc()}var Js="4.1.1";function xr(e,t){if(!e)throw new Error(t||"Assertion failed")}function zs(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return xr(Number.isFinite(t)&&t>=0),t}function Vc(e){let{logLevel:t,message:r}=e;e.logLevel=zs(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let o=typeof e.message;return xr(o==="string"||o==="object"),Object.assign(e,{args:n},e.opts)}var zt=()=>{},To=class{constructor({level:t=0}={}){this.userData={},this._onceCache=new Set,this._level=t}set level(t){this.setLevel(t)}get level(){return this.getLevel()}setLevel(t){return this._level=t,this}getLevel(){return this._level}warn(t,...r){return this._log("warn",0,t,r,{once:!0})}error(t,...r){return this._log("error",0,t,r)}log(t,r,...n){return this._log("log",t,r,n)}info(t,r,...n){return this._log("info",t,r,n)}once(t,r,...n){return this._log("once",t,r,n,{once:!0})}_log(t,r,n,o,s={}){let i=Vc({logLevel:r,message:n,args:this._buildArgs(r,n,o),opts:s});return this._createLogFunction(t,i,s)}_buildArgs(t,r,n){return[t,r,...n]}_createLogFunction(t,r,n){if(!this._shouldLog(r.logLevel))return zt;let o=this._getOnceTag(n.tag??r.tag??r.message);if((n.once||r.once)&&o!==void 0){if(this._onceCache.has(o))return zt;this._onceCache.add(o)}return this._emit(t,r)}_shouldLog(t){return this.getLevel()>=zs(t)}_getOnceTag(t){if(t!==void 0)try{return typeof t=="string"?t:String(t)}catch{return}}};function F0(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var Co=class{constructor(t,r,n="sessionStorage"){this.storage=F0(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function jc(e){let t;return e<10?t=`${e.toFixed(2)}ms`:e<100?t=`${e.toFixed(1)}ms`:e<1e3?t=`${e.toFixed(0)}ms`:t=`${(e/1e3).toFixed(2)}s`,t}function Kc(e,t=8){let r=Math.max(t-e.length,0);return`${" ".repeat(r)}${e}`}var wo;(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"})(wo||(wo={}));var D0=10;function Zc(e){return typeof e!="string"?e:(e=e.toUpperCase(),wo[e]||wo.WHITE)}function Yc(e,t,r){return!Jt&&typeof e=="string"&&(t&&(e=`\x1B[${Zc(t)}m${e}\x1B[39m`),r&&(e=`\x1B[${Zc(r)+D0}m${e}\x1B[49m`)),e}function Wc(e,t=["constructor"]){let r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),o=e;for(let s of n){let i=o[s];typeof i=="function"&&(t.find(a=>s===a)||(o[s]=i.bind(e)))}}function Er(){let e;if(Jt()&&yo.performance)e=yo?.performance?.now?.();else if("hrtime"in _o){let t=_o?.hrtime?.();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var br={debug:Jt()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Qs={enabled:!0,level:0},mn=class extends To{constructor({id:t}={id:""}){super({level:0}),this.VERSION=Js,this._startTs=Er(),this._deltaTs=Er(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new Co(`__probe-${this.id}__`,{[this.id]:Qs}),this.timeStamp(`${this.id} started`),Wc(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((Er()-this._startTs).toPrecision(10))}getDelta(){return Number((Er()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._updateConfiguration({enabled:t}),this}setLevel(t){return this._updateConfiguration({level:t}),this}get(t){return this._getConfiguration()[t]}set(t,r){this._updateConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){if(!t)throw new Error(r||"Assertion failed")}warn(t,...r){return this._log("warn",0,t,r,{method:br.warn,once:!0})}error(t,...r){return this._log("error",0,t,r,{method:br.error})}deprecated(t,r){return this.warn(`\`${t}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(t,r){return this.error(`\`${t}\` has been removed. Use \`${r}\` instead`)}probe(t,r,...n){return this._log("log",t,r,n,{method:br.log,time:!0,once:!0})}log(t,r,...n){return this._log("log",t,r,n,{method:br.debug})}info(t,r,...n){return this._log("info",t,r,n,{method:console.info})}once(t,r,...n){return this._log("once",t,r,n,{method:br.debug||br.info,once:!0})}table(t,r,n){return r?this._log("table",t,r,n&&[n]||[],{method:console.table||zt,tag:L0(r)}):zt}time(t,r){return this._log("time",t,r,[],{method:console.time?console.time:console.info})}timeEnd(t,r){return this._log("time",t,r,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(t,r){return this._log("time",t,r,[],{method:console.timeStamp||zt})}group(t,r,n={collapsed:!1}){let o=(n.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",t,r,[],{method:o})}groupCollapsed(t,r,n={}){return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._log("groupEnd",t,"",[],{method:console.groupEnd||zt})}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&super._shouldLog(t)}_emit(t,r){let n=r.method;xr(n),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=Er();let o=R0(this.id,r.message,r);return n.bind(console,o,...r.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(Qs),this._storage.config[this.id]}_updateConfiguration(t){let r=this._storage.config[this.id]||{...Qs};this._storage.setConfiguration({[this.id]:{...r,...t}})}};mn.VERSION=Js;function R0(e,t,r){if(typeof t=="string"){let n=r.time?Kc(jc(r.total)):"";t=r.time?`${e}: ${n} ${t}`:`${e}: ${t}`,t=Yc(t,r.color,r.background)}return t}function L0(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}globalThis.probe={};var Vs=new mn({id:"@probe.gl/log"});var js=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer;function An(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}function Ks(e){return globalThis.loaders?.modules?.[e]||null}function O0(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0"),globalThis._loadersgl_.version}var Xc=O0();function qc(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var Ye={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ty=Ye.self||Ye.window||Ye.global||{},ry=Ye.window||Ye.self||Ye.global||{},ny=Ye.global||Ye.self||Ye.window||{},oy=Ye.document||{};var it=typeof process!="object"||String(process)!=="[object process]"||process.browser,pn=typeof importScripts=="function",sy=typeof window<"u"&&typeof window.orientation<"u",$c=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),iy=$c&&parseFloat($c[1])||0;var Zs={};function gn(e={}){let t=e.useLocalLibraries??e.core?.useLocalLibraries,r=e.CDN??e.core?.CDN,n=e.modules;return{...t!==void 0?{useLocalLibraries:t}:{},...r!==void 0?{CDN:r}:{},...n!==void 0?{modules:n}:{}}}async function Se(e,t=null,r={},n=null){return t&&(e=ef(e,t,r,n)),Zs[e]=Zs[e]||v0(e),await Zs[e]}function ef(e,t,r={},n=null){if(r?.core)throw new Error("loadLibrary: options.core must be pre-normalized");if(!r.useLocalLibraries&&e.startsWith("http"))return e;n=n||e;let o=r.modules||{};return o[n]?o[n]:it?r.CDN?(qc(r.CDN.startsWith("http")),`${r.CDN}/${t}@${Xc}/dist/libs/${n}`):pn?`../src/libs/${n}`:`modules/${t}/src/libs/${n}`:`modules/${t}/dist/libs/${n}`}async function v0(e){if(e.endsWith("wasm"))return await G0(e);if(!it){let{requireFromFile:r}=globalThis.loaders||{};try{let n=await r?.(e);return n||!e.includes("/dist/libs/")?n:await r?.(e.replace("/dist/libs/","/src/libs/"))}catch(n){if(e.includes("/dist/libs/"))try{return await r?.(e.replace("/dist/libs/","/src/libs/"))}catch{}return console.error(n),null}}if(pn)return importScripts(e);let t=await U0(e);return N0(t,e)}function N0(e,t){if(!it){let{requireFromString:n}=globalThis.loaders||{};return n?.(e,t)}if(pn)return eval.call(globalThis,e),null;let r=document.createElement("script");r.id=t;try{r.appendChild(document.createTextNode(e))}catch{r.text=e}return document.body.appendChild(r),null}async function G0(e){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};if(it||!t||e.startsWith("http"))return await(await fetch(e)).arrayBuffer();try{return await t(e)}catch{if(e.includes("/dist/libs/"))return await t(e.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load ArrayBuffer from ${e}`)}}async function U0(e){let{readFileAsText:t}=globalThis.loaders||{};if(it||!t||e.startsWith("http"))return await(await fetch(e)).text();try{return await t(e)}catch{if(e.includes("/dist/libs/"))return await t(e.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load text from ${e}`)}}function rf(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?tf(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?tf(e,0,t):""}function tf(e,t,r){if(e.byteLength<=t+r)return"";let n=new DataView(e),o="";for(let s=0;s<r;s++)o+=String.fromCharCode(n.getUint8(t+s));return o}function Ys(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${rf(e)}"`)}}function xt(e,t,r){if(r=r||e.byteLength,e.byteLength<r||t.byteLength<r)return!1;let n=new Uint8Array(e),o=new Uint8Array(t);for(let s=0;s<n.length;++s)if(n[s]!==o[s])return!1;return!0}function yr(...e){return nf(e)}function nf(e){let t=e.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),r=t.reduce((s,i)=>s+i.byteLength,0),n=new Uint8Array(r),o=0;for(let s of t)n.set(s,o),o+=s.byteLength;return n.buffer}function Qt(e,t,r){let n=r!==void 0?new Uint8Array(e).subarray(t,t+r):new Uint8Array(e).subarray(t);return new Uint8Array(n).buffer}function Ce(e,t){return z(e>=0),z(t>0),e+(t-1)&~(t-1)}function Ws(e,t,r){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let o=e.byteOffset,s=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,o,s)}return t.set(n,r),r+Ce(n.byteLength,4)}function Xs(e,t){let r=e.length,o=Math.ceil(r/t)*t-r,s="";for(let i=0;i<o;++i)s+=" ";return e+s}function _r(e,t,r,n){if(e)for(let o=0;o<n;o++)e.setUint8(t+o,r.charCodeAt(o));return t+n}function Bn(e,t,r,n){if(e)for(let o=0;o<n;o++)e.setUint8(t+o,r[o]);return t+n}function of(e,t,r,n){let o=Ce(r.byteLength,n),s=o-r.byteLength;if(e){let i=new Uint8Array(e.buffer,e.byteOffset+t,r.byteLength),a=new Uint8Array(r);i.set(a);for(let f=0;f<s;++f)e.setUint8(t+r.byteLength+f,32)}return t+=o,t}function Io(e,t,r,n){let s=new TextEncoder().encode(r);return t=of(e,t,s,n),t}async function xn(e){let t=[];for await(let r of e)t.push(P0(r));return yr(...t)}function P0(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:t,byteOffset:r,byteLength:n}=e;return sf(t,r,n)}return sf(e)}function sf(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),o=new Uint8Array(n.length);return o.set(n),o.buffer}function af(e){return e&&typeof e=="object"&&e.isBuffer}function bt(e){if(af(e))return e;if(e instanceof ArrayBuffer)return e;if(js(e))return Et(e);if(ArrayBuffer.isView(e)){let t=e.buffer;return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?t:t.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(typeof e=="string"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function yt(e){if(e instanceof ArrayBuffer)return e;if(js(e))return Et(e);let{buffer:t,byteOffset:r,byteLength:n}=e;return t instanceof ArrayBuffer&&r===0&&n===t.byteLength?t:Et(t,r,n)}function Et(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),o=new Uint8Array(n.length);return o.set(n),o.buffer}function Tr(e){return t=>new Promise((r,n)=>e(t,(o,s)=>o?n(o):r(s)))}var Cr={};de(Cr,{dirname:()=>k0,filename:()=>H0,join:()=>J0,resolve:()=>z0});function cf(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=window.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function H0(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):e}function k0(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function J0(...e){let t="/";return e=e.map((r,n)=>(n&&(r=r.replace(new RegExp(`^${t}`),"")),n!==e.length-1&&(r=r.replace(new RegExp(`${t}$`),"")),r)),e.join(t)}function z0(...e){let t=[];for(let s=0;s<e.length;s++)t[s]=e[s];let r="",n=!1,o;for(let s=t.length-1;s>=-1&&!n;s--){let i;s>=0?i=t[s]:(o===void 0&&(o=cf()),i=o),i.length!==0&&(r=`${i}/${r}`,n=i.charCodeAt(0)===En)}return r=Q0(r,!n),n?`/${r}`:r.length>0?r:"."}var En=47,qs=46;function Q0(e,t){let r="",n=-1,o=0,s,i=!1;for(let a=0;a<=e.length;++a){if(a<e.length)s=e.charCodeAt(a);else{if(s===En)break;s=En}if(s===En){if(!(n===a-1||o===1))if(n!==a-1&&o===2){if(r.length<2||!i||r.charCodeAt(r.length-1)!==qs||r.charCodeAt(r.length-2)!==qs){if(r.length>2){let f=r.length-1,c=f;for(;c>=0&&r.charCodeAt(c)!==En;--c);if(c!==f){r=c===-1?"":r.slice(0,c),n=a,o=0,i=!1;continue}}else if(r.length===2||r.length===1){r="",n=a,o=0,i=!1;continue}}t&&(r.length>0?r+="/..":r="..",i=!0)}else{let f=e.slice(n+1,a);r.length>0?r+=`/${f}`:r=f,i=!1}n=a,o=0}else s===qs&&o!==-1?++o:o=-1}return r}var bn=class{handle;size;bigsize;url;constructor(t){this.handle=t instanceof ArrayBuffer?new Blob([t]):t,this.size=t instanceof ArrayBuffer?t.byteLength:t.size,this.bigsize=BigInt(this.size),this.url=t instanceof File?t.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(t,r){return await this.handle.slice(Number(t),Number(t)+Number(r)).arrayBuffer()}};var yn=new Error("Not implemented"),_n=class{handle;size=0;bigsize=0n;url="";constructor(t,r,n){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(t,r,n);throw Ee?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(t,r){throw yn}async write(t,r,n){throw yn}async stat(){throw yn}async truncate(t){throw yn}async append(t){throw yn}async close(){}};var V0=1/Math.PI*180,j0=1/180*Math.PI,K0={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...K0}};var W=globalThis.mathgl.config;function $s(e,{precision:t=W.precision}={}){return e=Z0(e),`${parseFloat(e.toPrecision(t))}`}function Fe(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function ei(e){return ff(e)}function ti(e){return lf(e)}function ff(e,t){return ni(e,r=>r*j0,t)}function lf(e,t){return ni(e,r=>r*V0,t)}function ri(e,t,r){return ni(e,n=>Math.max(t,Math.min(r,n)))}function we(e,t,r){let n=W.EPSILON;r&&(W.EPSILON=r);try{if(e===t)return!0;if(Fe(e)&&Fe(t)){if(e.length!==t.length)return!1;for(let o=0;o<e.length;++o)if(!we(e[o],t[o]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=W.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{W.EPSILON=n}}function Z0(e){return Math.round(e/W.EPSILON)*W.EPSILON}function Y0(e){return e.clone?e.clone():new Array(e.length)}function ni(e,t,r){if(Fe(e)){let n=e;r=r||Y0(n);for(let o=0;o<r.length&&o<n.length;++o){let s=typeof e=="number"?e:e[o];r[o]=t(s,o,r)}return r}return t(e)}var _t=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Fe(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(W)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+$s(this[n],t);return`${t.printTypes?this.constructor.name:""}[${r}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!we(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let o=0;o<this.ELEMENTS;++o){let s=t[o],i=typeof r=="number"?r:r[o];this[o]=s+n*(i-s)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(W.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function W0(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function k(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function Tt(e,t,r=""){if(W.debug&&!W0(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function fe(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var Ct=class extends _t{get x(){return this[0]}set x(t){this[0]=k(t)}get y(){return this[1]}set y(t){this[1]=k(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let o=this[n]-t[n];r+=o*o}return k(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return k(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return fe(t>=0&&t<this.ELEMENTS,"index is out of range"),k(this[t])}setComponent(t,r){return fe(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var q=typeof Float32Array<"u"?Float32Array:Array,Tn=Math.random;function wr(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var p_=Math.PI/180;function X0(){let e=new q(2);return q!=Float32Array&&(e[0]=0,e[1]=0),e}function hf(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o,e[1]=r[1]*n+r[3]*o,e}function uf(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o+r[4],e[1]=r[1]*n+r[3]*o+r[5],e}function Mo(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[3]*o+r[6],e[1]=r[1]*n+r[4]*o+r[7],e}function So(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[4]*o+r[12],e[1]=r[1]*n+r[5]*o+r[13],e}var g_=function(){let e=X0();return function(t,r,n,o,s,i){let a,f;for(r||(r=2),n||(n=0),o?f=Math.min(o*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],s(e,e,i),t[a]=e[0],t[a+1]=e[1];return t}}();function Fo(e,t,r){let n=t[0],o=t[1],s=r[3]*n+r[7]*o||1;return e[0]=(r[0]*n+r[4]*o)/s,e[1]=(r[1]*n+r[5]*o)/s,e}function Do(e,t,r){let n=t[0],o=t[1],s=t[2],i=r[3]*n+r[7]*o+r[11]*s||1;return e[0]=(r[0]*n+r[4]*o+r[8]*s)/i,e[1]=(r[1]*n+r[5]*o+r[9]*s)/i,e[2]=(r[2]*n+r[6]*o+r[10]*s)/i,e}function df(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o,e[1]=r[1]*n+r[3]*o,e[2]=t[2],e}function mf(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o,e[1]=r[1]*n+r[3]*o,e[2]=t[2],e[3]=t[3],e}function Ro(e,t,r){let n=t[0],o=t[1],s=t[2];return e[0]=r[0]*n+r[3]*o+r[6]*s,e[1]=r[1]*n+r[4]*o+r[7]*s,e[2]=r[2]*n+r[5]*o+r[8]*s,e[3]=t[3],e}var Vt=class extends Ct{constructor(t=0,r=0){super(2),Fe(t)&&arguments.length===1?this.copy(t):(W.debug&&(k(t),k(r)),this[0]=t,this[1]=r)}set(t,r){return this[0]=t,this[1]=r,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this.check()}fromObject(t){return W.debug&&(k(t.x),k(t.y)),this[0]=t.x,this[1]=t.y,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return So(this,this,t),this.check()}transformAsVector(t){return Fo(this,this,t),this.check()}transformByMatrix3(t){return Mo(this,this,t),this.check()}transformByMatrix2x3(t){return uf(this,this,t),this.check()}transformByMatrix2(t){return hf(this,this,t),this.check()}};var Zt={};de(Zt,{add:()=>tm,angle:()=>ci,bezier:()=>mm,ceil:()=>rm,clone:()=>q0,copy:()=>$0,create:()=>Lo,cross:()=>jt,dist:()=>_m,distance:()=>xf,div:()=>ym,divide:()=>Bf,dot:()=>Cn,equals:()=>xm,exactEquals:()=>Bm,floor:()=>nm,forEach:()=>wm,fromValues:()=>Oo,hermite:()=>dm,inverse:()=>lm,len:()=>fi,length:()=>Af,lerp:()=>hm,max:()=>sm,min:()=>om,mul:()=>bm,multiply:()=>gf,negate:()=>fm,normalize:()=>oi,random:()=>Am,rotateX:()=>si,rotateY:()=>ii,rotateZ:()=>ai,round:()=>im,scale:()=>am,scaleAndAdd:()=>cm,set:()=>em,slerp:()=>um,sqrDist:()=>Tm,sqrLen:()=>Cm,squaredDistance:()=>Ef,squaredLength:()=>bf,str:()=>gm,sub:()=>Em,subtract:()=>pf,transformMat3:()=>wn,transformMat4:()=>Kt,transformQuat:()=>In,zero:()=>pm});function Lo(){let e=new q(3);return q!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function q0(e){let t=new q(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Af(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function Oo(e,t,r){let n=new q(3);return n[0]=e,n[1]=t,n[2]=r,n}function $0(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function em(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function tm(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function pf(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function gf(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function Bf(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function rm(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function nm(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function om(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function sm(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function im(e,t){return e[0]=wr(t[0]),e[1]=wr(t[1]),e[2]=wr(t[2]),e}function am(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function cm(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function xf(e,t){let r=t[0]-e[0],n=t[1]-e[1],o=t[2]-e[2];return Math.sqrt(r*r+n*n+o*o)}function Ef(e,t){let r=t[0]-e[0],n=t[1]-e[1],o=t[2]-e[2];return r*r+n*n+o*o}function bf(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function fm(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function lm(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function oi(e,t){let r=t[0],n=t[1],o=t[2],s=r*r+n*n+o*o;return s>0&&(s=1/Math.sqrt(s)),e[0]=t[0]*s,e[1]=t[1]*s,e[2]=t[2]*s,e}function Cn(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function jt(e,t,r){let n=t[0],o=t[1],s=t[2],i=r[0],a=r[1],f=r[2];return e[0]=o*f-s*a,e[1]=s*i-n*f,e[2]=n*a-o*i,e}function hm(e,t,r,n){let o=t[0],s=t[1],i=t[2];return e[0]=o+n*(r[0]-o),e[1]=s+n*(r[1]-s),e[2]=i+n*(r[2]-i),e}function um(e,t,r,n){let o=Math.acos(Math.min(Math.max(Cn(t,r),-1),1)),s=Math.sin(o),i=Math.sin((1-n)*o)/s,a=Math.sin(n*o)/s;return e[0]=i*t[0]+a*r[0],e[1]=i*t[1]+a*r[1],e[2]=i*t[2]+a*r[2],e}function dm(e,t,r,n,o,s){let i=s*s,a=i*(2*s-3)+1,f=i*(s-2)+s,c=i*(s-1),l=i*(3-2*s);return e[0]=t[0]*a+r[0]*f+n[0]*c+o[0]*l,e[1]=t[1]*a+r[1]*f+n[1]*c+o[1]*l,e[2]=t[2]*a+r[2]*f+n[2]*c+o[2]*l,e}function mm(e,t,r,n,o,s){let i=1-s,a=i*i,f=s*s,c=a*i,l=3*s*a,h=3*f*i,u=f*s;return e[0]=t[0]*c+r[0]*l+n[0]*h+o[0]*u,e[1]=t[1]*c+r[1]*l+n[1]*h+o[1]*u,e[2]=t[2]*c+r[2]*l+n[2]*h+o[2]*u,e}function Am(e,t){t=t===void 0?1:t;let r=Tn()*2*Math.PI,n=Tn()*2-1,o=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*o,e[1]=Math.sin(r)*o,e[2]=n*t,e}function Kt(e,t,r){let n=t[0],o=t[1],s=t[2],i=r[3]*n+r[7]*o+r[11]*s+r[15];return i=i||1,e[0]=(r[0]*n+r[4]*o+r[8]*s+r[12])/i,e[1]=(r[1]*n+r[5]*o+r[9]*s+r[13])/i,e[2]=(r[2]*n+r[6]*o+r[10]*s+r[14])/i,e}function wn(e,t,r){let n=t[0],o=t[1],s=t[2];return e[0]=n*r[0]+o*r[3]+s*r[6],e[1]=n*r[1]+o*r[4]+s*r[7],e[2]=n*r[2]+o*r[5]+s*r[8],e}function In(e,t,r){let n=r[0],o=r[1],s=r[2],i=r[3],a=t[0],f=t[1],c=t[2],l=o*c-s*f,h=s*a-n*c,u=n*f-o*a,d=o*u-s*h,m=s*l-n*u,A=n*h-o*l,p=i*2;return l*=p,h*=p,u*=p,d*=2,m*=2,A*=2,e[0]=a+l+d,e[1]=f+h+m,e[2]=c+u+A,e}function si(e,t,r,n){let o=[],s=[];return o[0]=t[0]-r[0],o[1]=t[1]-r[1],o[2]=t[2]-r[2],s[0]=o[0],s[1]=o[1]*Math.cos(n)-o[2]*Math.sin(n),s[2]=o[1]*Math.sin(n)+o[2]*Math.cos(n),e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function ii(e,t,r,n){let o=[],s=[];return o[0]=t[0]-r[0],o[1]=t[1]-r[1],o[2]=t[2]-r[2],s[0]=o[2]*Math.sin(n)+o[0]*Math.cos(n),s[1]=o[1],s[2]=o[2]*Math.cos(n)-o[0]*Math.sin(n),e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function ai(e,t,r,n){let o=[],s=[];return o[0]=t[0]-r[0],o[1]=t[1]-r[1],o[2]=t[2]-r[2],s[0]=o[0]*Math.cos(n)-o[1]*Math.sin(n),s[1]=o[0]*Math.sin(n)+o[1]*Math.cos(n),s[2]=o[2],e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function ci(e,t){let r=e[0],n=e[1],o=e[2],s=t[0],i=t[1],a=t[2],f=Math.sqrt((r*r+n*n+o*o)*(s*s+i*i+a*a)),c=f&&Cn(e,t)/f;return Math.acos(Math.min(Math.max(c,-1),1))}function pm(e){return e[0]=0,e[1]=0,e[2]=0,e}function gm(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function Bm(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function xm(e,t){let r=e[0],n=e[1],o=e[2],s=t[0],i=t[1],a=t[2];return Math.abs(r-s)<=1e-6*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(n-i)<=1e-6*Math.max(1,Math.abs(n),Math.abs(i))&&Math.abs(o-a)<=1e-6*Math.max(1,Math.abs(o),Math.abs(a))}var Em=pf,bm=gf,ym=Bf,_m=xf,Tm=Ef,fi=Af,Cm=bf,wm=function(){let e=Lo();return function(t,r,n,o,s,i){let a,f;for(r||(r=3),n||(n=0),o?f=Math.min(o*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],s(e,e,i),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2];return t}}();var li=[0,0,0],vo,w=class extends Ct{static get ZERO(){return vo||(vo=new w(0,0,0),Object.freeze(vo)),vo}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Fe(t)?this.copy(t):(W.debug&&(k(t),k(r),k(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return W.debug&&(k(t.x),k(t.y),k(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=k(t)}angle(t){return ci(this,t)}cross(t){return jt(this,this,t),this.check()}rotateX({radians:t,origin:r=li}){return si(this,this,r,t),this.check()}rotateY({radians:t,origin:r=li}){return ii(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=li}){return ai(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Kt(this,this,t),this.check()}transformAsVector(t){return Do(this,this,t),this.check()}transformByMatrix3(t){return wn(this,this,t),this.check()}transformByMatrix2(t){return df(this,this,t),this.check()}transformByQuaternion(t){return In(this,this,t),this.check()}};var No,Mr=class extends Ct{static get ZERO(){return No||(No=new Mr(0,0,0,0),Object.freeze(No)),No}constructor(t=0,r=0,n=0,o=0){super(-0,-0,-0,-0),Fe(t)&&arguments.length===1?this.copy(t):(W.debug&&(k(t),k(r),k(n),k(o)),this[0]=t,this[1]=r,this[2]=n,this[3]=o)}set(t,r,n,o){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return W.debug&&(k(t.x),k(t.y),k(t.z),k(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=k(t)}get w(){return this[3]}set w(t){this[3]=k(t)}transform(t){return Kt(this,this,t),this.check()}transformByMatrix3(t){return Ro(this,this,t),this.check()}transformByMatrix2(t){return mf(this,this,t),this.check()}transformByQuaternion(t){return In(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Sr=class extends _t{toString(){let t="[";if(W.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=` ${this[n*this.RANK+r]}`}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=` ${this[r]}`}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=k(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let o=0;o<this.RANK;++o)r[o]=this[n+o];return r}setColumn(t,r){let n=t*this.RANK;for(let o=0;o<this.RANK;++o)this[n+o]=r[o];return this}};function yf(){let e=new q(9);return q!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function _f(e,t){if(e===t){let r=t[1],n=t[2],o=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=o}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function Tf(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=t[4],a=t[5],f=t[6],c=t[7],l=t[8],h=l*i-a*c,u=-l*s+a*f,d=c*s-i*f,m=r*h+n*u+o*d;return m?(m=1/m,e[0]=h*m,e[1]=(-l*n+o*c)*m,e[2]=(a*n-o*i)*m,e[3]=u*m,e[4]=(l*r-o*f)*m,e[5]=(-a*r+o*s)*m,e[6]=d*m,e[7]=(-c*r+n*f)*m,e[8]=(i*r-n*s)*m,e):null}function Cf(e){let t=e[0],r=e[1],n=e[2],o=e[3],s=e[4],i=e[5],a=e[6],f=e[7],c=e[8];return t*(c*s-i*f)+r*(-c*o+i*a)+n*(f*o-s*a)}function hi(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=t[8],u=r[0],d=r[1],m=r[2],A=r[3],p=r[4],E=r[5],y=r[6],T=r[7],C=r[8];return e[0]=u*n+d*i+m*c,e[1]=u*o+d*a+m*l,e[2]=u*s+d*f+m*h,e[3]=A*n+p*i+E*c,e[4]=A*o+p*a+E*l,e[5]=A*s+p*f+E*h,e[6]=y*n+T*i+C*c,e[7]=y*o+T*a+C*l,e[8]=y*s+T*f+C*h,e}function wf(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=t[8],u=r[0],d=r[1];return e[0]=n,e[1]=o,e[2]=s,e[3]=i,e[4]=a,e[5]=f,e[6]=u*n+d*i+c,e[7]=u*o+d*a+l,e[8]=u*s+d*f+h,e}function If(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=t[8],u=Math.sin(r),d=Math.cos(r);return e[0]=d*n+u*i,e[1]=d*o+u*a,e[2]=d*s+u*f,e[3]=d*i-u*n,e[4]=d*a-u*o,e[5]=d*f-u*s,e[6]=c,e[7]=l,e[8]=h,e}function ui(e,t,r){let n=r[0],o=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=o*t[3],e[4]=o*t[4],e[5]=o*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function Mf(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=r+r,a=n+n,f=o+o,c=r*i,l=n*i,h=n*a,u=o*i,d=o*a,m=o*f,A=s*i,p=s*a,E=s*f;return e[0]=1-h-m,e[3]=l-E,e[6]=u+p,e[1]=l+E,e[4]=1-c-m,e[7]=d-A,e[2]=u-p,e[5]=d+A,e[8]=1-c-h,e}var di;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL1ROW0=3]="COL1ROW0",e[e.COL1ROW1=4]="COL1ROW1",e[e.COL1ROW2=5]="COL1ROW2",e[e.COL2ROW0=6]="COL2ROW0",e[e.COL2ROW1=7]="COL2ROW1",e[e.COL2ROW2=8]="COL2ROW2"})(di||(di={}));var Mm=Object.freeze([1,0,0,0,1,0,0,0,1]),Z=class extends Sr{static get IDENTITY(){return Fm()}static get ZERO(){return Sm()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return di}constructor(t,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):r.length>0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(Mm)}fromObject(t){return this.check()}fromQuaternion(t){return Mf(this,t),this.check()}set(t,r,n,o,s,i,a,f,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this[4]=s,this[5]=i,this[6]=a,this[7]=f,this[8]=c,this.check()}setRowMajor(t,r,n,o,s,i,a,f,c){return this[0]=t,this[1]=o,this[2]=a,this[3]=r,this[4]=s,this[5]=f,this[6]=n,this[7]=i,this[8]=c,this.check()}determinant(){return Cf(this)}transpose(){return _f(this,this),this.check()}invert(){return Tf(this,this),this.check()}multiplyLeft(t){return hi(this,t,this),this.check()}multiplyRight(t){return hi(this,this,t),this.check()}rotate(t){return If(this,this,t),this.check()}scale(t){return Array.isArray(t)?ui(this,this,t):ui(this,this,[t,t]),this.check()}translate(t){return wf(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=Mo(r||[-0,-0],t,this);break;case 3:n=wn(r||[-0,-0,-0],t,this);break;case 4:n=Ro(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Tt(n,t.length),n}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},Go,Uo=null;function Sm(){return Go||(Go=new Z([0,0,0,0,0,0,0,0,0]),Object.freeze(Go)),Go}function Fm(){return Uo||(Uo=new Z,Object.freeze(Uo)),Uo}var Sn={};de(Sn,{add:()=>tA,adjoint:()=>Nm,clone:()=>Rm,copy:()=>Lm,create:()=>Dm,decompose:()=>jm,determinant:()=>pi,equals:()=>sA,exactEquals:()=>oA,frob:()=>eA,fromQuat:()=>_i,fromQuat2:()=>zm,fromRotation:()=>Pm,fromRotationTranslation:()=>Ff,fromRotationTranslationScale:()=>Km,fromRotationTranslationScaleOrigin:()=>Zm,fromScaling:()=>Um,fromTranslation:()=>Gm,fromValues:()=>Om,fromXRotation:()=>Hm,fromYRotation:()=>km,fromZRotation:()=>Jm,frustum:()=>Ti,getRotation:()=>Vm,getScaling:()=>Df,getTranslation:()=>Qm,identity:()=>Sf,invert:()=>Ai,lookAt:()=>Ii,mul:()=>iA,multiply:()=>Mn,multiplyScalar:()=>rA,multiplyScalarAndAdd:()=>nA,ortho:()=>wi,orthoNO:()=>Lf,orthoZO:()=>Xm,perspective:()=>Ci,perspectiveFromFieldOfView:()=>Wm,perspectiveNO:()=>Rf,perspectiveZO:()=>Ym,rotate:()=>xi,rotateX:()=>Ei,rotateY:()=>bi,rotateZ:()=>yi,scale:()=>Bi,set:()=>vm,str:()=>$m,sub:()=>aA,subtract:()=>Of,targetTo:()=>qm,translate:()=>gi,transpose:()=>mi});function Dm(){let e=new q(16);return q!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Rm(e){let t=new q(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Lm(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Om(e,t,r,n,o,s,i,a,f,c,l,h,u,d,m,A){let p=new q(16);return p[0]=e,p[1]=t,p[2]=r,p[3]=n,p[4]=o,p[5]=s,p[6]=i,p[7]=a,p[8]=f,p[9]=c,p[10]=l,p[11]=h,p[12]=u,p[13]=d,p[14]=m,p[15]=A,p}function vm(e,t,r,n,o,s,i,a,f,c,l,h,u,d,m,A,p){return e[0]=t,e[1]=r,e[2]=n,e[3]=o,e[4]=s,e[5]=i,e[6]=a,e[7]=f,e[8]=c,e[9]=l,e[10]=h,e[11]=u,e[12]=d,e[13]=m,e[14]=A,e[15]=p,e}function Sf(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function mi(e,t){if(e===t){let r=t[1],n=t[2],o=t[3],s=t[6],i=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=s,e[11]=t[14],e[12]=o,e[13]=i,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function Ai(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=t[4],a=t[5],f=t[6],c=t[7],l=t[8],h=t[9],u=t[10],d=t[11],m=t[12],A=t[13],p=t[14],E=t[15],y=r*a-n*i,T=r*f-o*i,C=r*c-s*i,_=n*f-o*a,I=n*c-s*a,M=o*c-s*f,L=l*A-h*m,B=l*p-u*m,g=l*E-d*m,x=h*p-u*A,b=h*E-d*A,U=u*E-d*p,G=y*U-T*b+C*x+_*g-I*B+M*L;return G?(G=1/G,e[0]=(a*U-f*b+c*x)*G,e[1]=(o*b-n*U-s*x)*G,e[2]=(A*M-p*I+E*_)*G,e[3]=(u*I-h*M-d*_)*G,e[4]=(f*g-i*U-c*B)*G,e[5]=(r*U-o*g+s*B)*G,e[6]=(p*C-m*M-E*T)*G,e[7]=(l*M-u*C+d*T)*G,e[8]=(i*b-a*g+c*L)*G,e[9]=(n*g-r*b-s*L)*G,e[10]=(m*I-A*C+E*y)*G,e[11]=(h*C-l*I-d*y)*G,e[12]=(a*B-i*x-f*L)*G,e[13]=(r*x-n*B+o*L)*G,e[14]=(A*T-m*_-p*y)*G,e[15]=(l*_-h*T+u*y)*G,e):null}function Nm(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=t[4],a=t[5],f=t[6],c=t[7],l=t[8],h=t[9],u=t[10],d=t[11],m=t[12],A=t[13],p=t[14],E=t[15],y=r*a-n*i,T=r*f-o*i,C=r*c-s*i,_=n*f-o*a,I=n*c-s*a,M=o*c-s*f,L=l*A-h*m,B=l*p-u*m,g=l*E-d*m,x=h*p-u*A,b=h*E-d*A,U=u*E-d*p;return e[0]=a*U-f*b+c*x,e[1]=o*b-n*U-s*x,e[2]=A*M-p*I+E*_,e[3]=u*I-h*M-d*_,e[4]=f*g-i*U-c*B,e[5]=r*U-o*g+s*B,e[6]=p*C-m*M-E*T,e[7]=l*M-u*C+d*T,e[8]=i*b-a*g+c*L,e[9]=n*g-r*b-s*L,e[10]=m*I-A*C+E*y,e[11]=h*C-l*I-d*y,e[12]=a*B-i*x-f*L,e[13]=r*x-n*B+o*L,e[14]=A*T-m*_-p*y,e[15]=l*_-h*T+u*y,e}function pi(e){let t=e[0],r=e[1],n=e[2],o=e[3],s=e[4],i=e[5],a=e[6],f=e[7],c=e[8],l=e[9],h=e[10],u=e[11],d=e[12],m=e[13],A=e[14],p=e[15],E=t*i-r*s,y=t*a-n*s,T=r*a-n*i,C=c*m-l*d,_=c*A-h*d,I=l*A-h*m,M=t*I-r*_+n*C,L=s*I-i*_+a*C,B=c*T-l*y+h*E,g=d*T-m*y+A*E;return f*M-o*L+p*B-u*g}function Mn(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=t[8],u=t[9],d=t[10],m=t[11],A=t[12],p=t[13],E=t[14],y=t[15],T=r[0],C=r[1],_=r[2],I=r[3];return e[0]=T*n+C*a+_*h+I*A,e[1]=T*o+C*f+_*u+I*p,e[2]=T*s+C*c+_*d+I*E,e[3]=T*i+C*l+_*m+I*y,T=r[4],C=r[5],_=r[6],I=r[7],e[4]=T*n+C*a+_*h+I*A,e[5]=T*o+C*f+_*u+I*p,e[6]=T*s+C*c+_*d+I*E,e[7]=T*i+C*l+_*m+I*y,T=r[8],C=r[9],_=r[10],I=r[11],e[8]=T*n+C*a+_*h+I*A,e[9]=T*o+C*f+_*u+I*p,e[10]=T*s+C*c+_*d+I*E,e[11]=T*i+C*l+_*m+I*y,T=r[12],C=r[13],_=r[14],I=r[15],e[12]=T*n+C*a+_*h+I*A,e[13]=T*o+C*f+_*u+I*p,e[14]=T*s+C*c+_*d+I*E,e[15]=T*i+C*l+_*m+I*y,e}function gi(e,t,r){let n=r[0],o=r[1],s=r[2],i,a,f,c,l,h,u,d,m,A,p,E;return t===e?(e[12]=t[0]*n+t[4]*o+t[8]*s+t[12],e[13]=t[1]*n+t[5]*o+t[9]*s+t[13],e[14]=t[2]*n+t[6]*o+t[10]*s+t[14],e[15]=t[3]*n+t[7]*o+t[11]*s+t[15]):(i=t[0],a=t[1],f=t[2],c=t[3],l=t[4],h=t[5],u=t[6],d=t[7],m=t[8],A=t[9],p=t[10],E=t[11],e[0]=i,e[1]=a,e[2]=f,e[3]=c,e[4]=l,e[5]=h,e[6]=u,e[7]=d,e[8]=m,e[9]=A,e[10]=p,e[11]=E,e[12]=i*n+l*o+m*s+t[12],e[13]=a*n+h*o+A*s+t[13],e[14]=f*n+u*o+p*s+t[14],e[15]=c*n+d*o+E*s+t[15]),e}function Bi(e,t,r){let n=r[0],o=r[1],s=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*o,e[5]=t[5]*o,e[6]=t[6]*o,e[7]=t[7]*o,e[8]=t[8]*s,e[9]=t[9]*s,e[10]=t[10]*s,e[11]=t[11]*s,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function xi(e,t,r,n){let o=n[0],s=n[1],i=n[2],a=Math.sqrt(o*o+s*s+i*i),f,c,l,h,u,d,m,A,p,E,y,T,C,_,I,M,L,B,g,x,b,U,G,P;return a<1e-6?null:(a=1/a,o*=a,s*=a,i*=a,c=Math.sin(r),f=Math.cos(r),l=1-f,h=t[0],u=t[1],d=t[2],m=t[3],A=t[4],p=t[5],E=t[6],y=t[7],T=t[8],C=t[9],_=t[10],I=t[11],M=o*o*l+f,L=s*o*l+i*c,B=i*o*l-s*c,g=o*s*l-i*c,x=s*s*l+f,b=i*s*l+o*c,U=o*i*l+s*c,G=s*i*l-o*c,P=i*i*l+f,e[0]=h*M+A*L+T*B,e[1]=u*M+p*L+C*B,e[2]=d*M+E*L+_*B,e[3]=m*M+y*L+I*B,e[4]=h*g+A*x+T*b,e[5]=u*g+p*x+C*b,e[6]=d*g+E*x+_*b,e[7]=m*g+y*x+I*b,e[8]=h*U+A*G+T*P,e[9]=u*U+p*G+C*P,e[10]=d*U+E*G+_*P,e[11]=m*U+y*G+I*P,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function Ei(e,t,r){let n=Math.sin(r),o=Math.cos(r),s=t[4],i=t[5],a=t[6],f=t[7],c=t[8],l=t[9],h=t[10],u=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=s*o+c*n,e[5]=i*o+l*n,e[6]=a*o+h*n,e[7]=f*o+u*n,e[8]=c*o-s*n,e[9]=l*o-i*n,e[10]=h*o-a*n,e[11]=u*o-f*n,e}function bi(e,t,r){let n=Math.sin(r),o=Math.cos(r),s=t[0],i=t[1],a=t[2],f=t[3],c=t[8],l=t[9],h=t[10],u=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=s*o-c*n,e[1]=i*o-l*n,e[2]=a*o-h*n,e[3]=f*o-u*n,e[8]=s*n+c*o,e[9]=i*n+l*o,e[10]=a*n+h*o,e[11]=f*n+u*o,e}function yi(e,t,r){let n=Math.sin(r),o=Math.cos(r),s=t[0],i=t[1],a=t[2],f=t[3],c=t[4],l=t[5],h=t[6],u=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=s*o+c*n,e[1]=i*o+l*n,e[2]=a*o+h*n,e[3]=f*o+u*n,e[4]=c*o-s*n,e[5]=l*o-i*n,e[6]=h*o-a*n,e[7]=u*o-f*n,e}function Gm(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function Um(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Pm(e,t,r){let n=r[0],o=r[1],s=r[2],i=Math.sqrt(n*n+o*o+s*s),a,f,c;return i<1e-6?null:(i=1/i,n*=i,o*=i,s*=i,f=Math.sin(t),a=Math.cos(t),c=1-a,e[0]=n*n*c+a,e[1]=o*n*c+s*f,e[2]=s*n*c-o*f,e[3]=0,e[4]=n*o*c-s*f,e[5]=o*o*c+a,e[6]=s*o*c+n*f,e[7]=0,e[8]=n*s*c+o*f,e[9]=o*s*c-n*f,e[10]=s*s*c+a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function Hm(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function km(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Jm(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Ff(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=n+n,f=o+o,c=s+s,l=n*a,h=n*f,u=n*c,d=o*f,m=o*c,A=s*c,p=i*a,E=i*f,y=i*c;return e[0]=1-(d+A),e[1]=h+y,e[2]=u-E,e[3]=0,e[4]=h-y,e[5]=1-(l+A),e[6]=m+p,e[7]=0,e[8]=u+E,e[9]=m-p,e[10]=1-(l+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function zm(e,t){let r=new q(3),n=-t[0],o=-t[1],s=-t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=n*n+o*o+s*s+i*i;return h>0?(r[0]=(a*i+l*n+f*s-c*o)*2/h,r[1]=(f*i+l*o+c*n-a*s)*2/h,r[2]=(c*i+l*s+a*o-f*n)*2/h):(r[0]=(a*i+l*n+f*s-c*o)*2,r[1]=(f*i+l*o+c*n-a*s)*2,r[2]=(c*i+l*s+a*o-f*n)*2),Ff(e,t,r),e}function Qm(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Df(e,t){let r=t[0],n=t[1],o=t[2],s=t[4],i=t[5],a=t[6],f=t[8],c=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+o*o),e[1]=Math.sqrt(s*s+i*i+a*a),e[2]=Math.sqrt(f*f+c*c+l*l),e}function Vm(e,t){let r=new q(3);Df(r,t);let n=1/r[0],o=1/r[1],s=1/r[2],i=t[0]*n,a=t[1]*o,f=t[2]*s,c=t[4]*n,l=t[5]*o,h=t[6]*s,u=t[8]*n,d=t[9]*o,m=t[10]*s,A=i+l+m,p=0;return A>0?(p=Math.sqrt(A+1)*2,e[3]=.25*p,e[0]=(h-d)/p,e[1]=(u-f)/p,e[2]=(a-c)/p):i>l&&i>m?(p=Math.sqrt(1+i-l-m)*2,e[3]=(h-d)/p,e[0]=.25*p,e[1]=(a+c)/p,e[2]=(u+f)/p):l>m?(p=Math.sqrt(1+l-i-m)*2,e[3]=(u-f)/p,e[0]=(a+c)/p,e[1]=.25*p,e[2]=(h+d)/p):(p=Math.sqrt(1+m-i-l)*2,e[3]=(a-c)/p,e[0]=(u+f)/p,e[1]=(h+d)/p,e[2]=.25*p),e}function jm(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let o=n[0],s=n[1],i=n[2],a=n[4],f=n[5],c=n[6],l=n[8],h=n[9],u=n[10];r[0]=Math.sqrt(o*o+s*s+i*i),r[1]=Math.sqrt(a*a+f*f+c*c),r[2]=Math.sqrt(l*l+h*h+u*u);let d=1/r[0],m=1/r[1],A=1/r[2],p=o*d,E=s*m,y=i*A,T=a*d,C=f*m,_=c*A,I=l*d,M=h*m,L=u*A,B=p+C+L,g=0;return B>0?(g=Math.sqrt(B+1)*2,e[3]=.25*g,e[0]=(_-M)/g,e[1]=(I-y)/g,e[2]=(E-T)/g):p>C&&p>L?(g=Math.sqrt(1+p-C-L)*2,e[3]=(_-M)/g,e[0]=.25*g,e[1]=(E+T)/g,e[2]=(I+y)/g):C>L?(g=Math.sqrt(1+C-p-L)*2,e[3]=(I-y)/g,e[0]=(E+T)/g,e[1]=.25*g,e[2]=(_+M)/g):(g=Math.sqrt(1+L-p-C)*2,e[3]=(E-T)/g,e[0]=(I+y)/g,e[1]=(_+M)/g,e[2]=.25*g),e}function Km(e,t,r,n){let o=t[0],s=t[1],i=t[2],a=t[3],f=o+o,c=s+s,l=i+i,h=o*f,u=o*c,d=o*l,m=s*c,A=s*l,p=i*l,E=a*f,y=a*c,T=a*l,C=n[0],_=n[1],I=n[2];return e[0]=(1-(m+p))*C,e[1]=(u+T)*C,e[2]=(d-y)*C,e[3]=0,e[4]=(u-T)*_,e[5]=(1-(h+p))*_,e[6]=(A+E)*_,e[7]=0,e[8]=(d+y)*I,e[9]=(A-E)*I,e[10]=(1-(h+m))*I,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function Zm(e,t,r,n,o){let s=t[0],i=t[1],a=t[2],f=t[3],c=s+s,l=i+i,h=a+a,u=s*c,d=s*l,m=s*h,A=i*l,p=i*h,E=a*h,y=f*c,T=f*l,C=f*h,_=n[0],I=n[1],M=n[2],L=o[0],B=o[1],g=o[2],x=(1-(A+E))*_,b=(d+C)*_,U=(m-T)*_,G=(d-C)*I,P=(1-(u+E))*I,v=(p+y)*I,ee=(m+T)*M,Be=(p-y)*M,X=(1-(u+A))*M;return e[0]=x,e[1]=b,e[2]=U,e[3]=0,e[4]=G,e[5]=P,e[6]=v,e[7]=0,e[8]=ee,e[9]=Be,e[10]=X,e[11]=0,e[12]=r[0]+L-(x*L+G*B+ee*g),e[13]=r[1]+B-(b*L+P*B+Be*g),e[14]=r[2]+g-(U*L+v*B+X*g),e[15]=1,e}function _i(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=r+r,a=n+n,f=o+o,c=r*i,l=n*i,h=n*a,u=o*i,d=o*a,m=o*f,A=s*i,p=s*a,E=s*f;return e[0]=1-h-m,e[1]=l+E,e[2]=u-p,e[3]=0,e[4]=l-E,e[5]=1-c-m,e[6]=d+A,e[7]=0,e[8]=u+p,e[9]=d-A,e[10]=1-c-h,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Ti(e,t,r,n,o,s,i){let a=1/(r-t),f=1/(o-n),c=1/(s-i);return e[0]=s*2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s*2*f,e[6]=0,e[7]=0,e[8]=(r+t)*a,e[9]=(o+n)*f,e[10]=(i+s)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=i*s*2*c,e[15]=0,e}function Rf(e,t,r,n,o){let s=1/Math.tan(t/2);if(e[0]=s/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,o!=null&&o!==1/0){let i=1/(n-o);e[10]=(o+n)*i,e[14]=2*o*n*i}else e[10]=-1,e[14]=-2*n;return e}var Ci=Rf;function Ym(e,t,r,n,o){let s=1/Math.tan(t/2);if(e[0]=s/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,o!=null&&o!==1/0){let i=1/(n-o);e[10]=o*i,e[14]=o*n*i}else e[10]=-1,e[14]=-n;return e}function Wm(e,t,r,n){let o=Math.tan(t.upDegrees*Math.PI/180),s=Math.tan(t.downDegrees*Math.PI/180),i=Math.tan(t.leftDegrees*Math.PI/180),a=Math.tan(t.rightDegrees*Math.PI/180),f=2/(i+a),c=2/(o+s);return e[0]=f,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((i-a)*f*.5),e[9]=(o-s)*c*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Lf(e,t,r,n,o,s,i){let a=1/(t-r),f=1/(n-o),c=1/(s-i);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*f,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*a,e[13]=(o+n)*f,e[14]=(i+s)*c,e[15]=1,e}var wi=Lf;function Xm(e,t,r,n,o,s,i){let a=1/(t-r),f=1/(n-o),c=1/(s-i);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*f,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*a,e[13]=(o+n)*f,e[14]=s*c,e[15]=1,e}function Ii(e,t,r,n){let o,s,i,a,f,c,l,h,u,d,m=t[0],A=t[1],p=t[2],E=n[0],y=n[1],T=n[2],C=r[0],_=r[1],I=r[2];return Math.abs(m-C)<1e-6&&Math.abs(A-_)<1e-6&&Math.abs(p-I)<1e-6?Sf(e):(h=m-C,u=A-_,d=p-I,o=1/Math.sqrt(h*h+u*u+d*d),h*=o,u*=o,d*=o,s=y*d-T*u,i=T*h-E*d,a=E*u-y*h,o=Math.sqrt(s*s+i*i+a*a),o?(o=1/o,s*=o,i*=o,a*=o):(s=0,i=0,a=0),f=u*a-d*i,c=d*s-h*a,l=h*i-u*s,o=Math.sqrt(f*f+c*c+l*l),o?(o=1/o,f*=o,c*=o,l*=o):(f=0,c=0,l=0),e[0]=s,e[1]=f,e[2]=h,e[3]=0,e[4]=i,e[5]=c,e[6]=u,e[7]=0,e[8]=a,e[9]=l,e[10]=d,e[11]=0,e[12]=-(s*m+i*A+a*p),e[13]=-(f*m+c*A+l*p),e[14]=-(h*m+u*A+d*p),e[15]=1,e)}function qm(e,t,r,n){let o=t[0],s=t[1],i=t[2],a=n[0],f=n[1],c=n[2],l=o-r[0],h=s-r[1],u=i-r[2],d=l*l+h*h+u*u;d>0&&(d=1/Math.sqrt(d),l*=d,h*=d,u*=d);let m=f*u-c*h,A=c*l-a*u,p=a*h-f*l;return d=m*m+A*A+p*p,d>0&&(d=1/Math.sqrt(d),m*=d,A*=d,p*=d),e[0]=m,e[1]=A,e[2]=p,e[3]=0,e[4]=h*p-u*A,e[5]=u*m-l*p,e[6]=l*A-h*m,e[7]=0,e[8]=l,e[9]=h,e[10]=u,e[11]=0,e[12]=o,e[13]=s,e[14]=i,e[15]=1,e}function $m(e){return`mat4(${e[0]}, ${e[1]}, ${e[2]}, ${e[3]}, ${e[4]}, ${e[5]}, ${e[6]}, ${e[7]}, ${e[8]}, ${e[9]}, ${e[10]}, ${e[11]}, ${e[12]}, ${e[13]}, ${e[14]}, ${e[15]})`}function eA(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]+e[3]*e[3]+e[4]*e[4]+e[5]*e[5]+e[6]*e[6]+e[7]*e[7]+e[8]*e[8]+e[9]*e[9]+e[10]*e[10]+e[11]*e[11]+e[12]*e[12]+e[13]*e[13]+e[14]*e[14]+e[15]*e[15])}function tA(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function Of(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function rA(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function nA(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function oA(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function sA(e,t){let r=e[0],n=e[1],o=e[2],s=e[3],i=e[4],a=e[5],f=e[6],c=e[7],l=e[8],h=e[9],u=e[10],d=e[11],m=e[12],A=e[13],p=e[14],E=e[15],y=t[0],T=t[1],C=t[2],_=t[3],I=t[4],M=t[5],L=t[6],B=t[7],g=t[8],x=t[9],b=t[10],U=t[11],G=t[12],P=t[13],v=t[14],ee=t[15];return Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(n-T)<=1e-6*Math.max(1,Math.abs(n),Math.abs(T))&&Math.abs(o-C)<=1e-6*Math.max(1,Math.abs(o),Math.abs(C))&&Math.abs(s-_)<=1e-6*Math.max(1,Math.abs(s),Math.abs(_))&&Math.abs(i-I)<=1e-6*Math.max(1,Math.abs(i),Math.abs(I))&&Math.abs(a-M)<=1e-6*Math.max(1,Math.abs(a),Math.abs(M))&&Math.abs(f-L)<=1e-6*Math.max(1,Math.abs(f),Math.abs(L))&&Math.abs(c-B)<=1e-6*Math.max(1,Math.abs(c),Math.abs(B))&&Math.abs(l-g)<=1e-6*Math.max(1,Math.abs(l),Math.abs(g))&&Math.abs(h-x)<=1e-6*Math.max(1,Math.abs(h),Math.abs(x))&&Math.abs(u-b)<=1e-6*Math.max(1,Math.abs(u),Math.abs(b))&&Math.abs(d-U)<=1e-6*Math.max(1,Math.abs(d),Math.abs(U))&&Math.abs(m-G)<=1e-6*Math.max(1,Math.abs(m),Math.abs(G))&&Math.abs(A-P)<=1e-6*Math.max(1,Math.abs(A),Math.abs(P))&&Math.abs(p-v)<=1e-6*Math.max(1,Math.abs(p),Math.abs(v))&&Math.abs(E-ee)<=1e-6*Math.max(1,Math.abs(E),Math.abs(ee))}var iA=Mn,aA=Of;function cA(){let e=new q(4);return q!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function vf(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function Nf(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function Gf(e){let t=e[0],r=e[1],n=e[2],o=e[3];return Math.sqrt(t*t+r*r+n*n+o*o)}function Uf(e){let t=e[0],r=e[1],n=e[2],o=e[3];return t*t+r*r+n*n+o*o}function Pf(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=r*r+n*n+o*o+s*s;return i>0&&(i=1/Math.sqrt(i)),e[0]=r*i,e[1]=n*i,e[2]=o*i,e[3]=s*i,e}function Hf(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function kf(e,t,r,n){let o=t[0],s=t[1],i=t[2],a=t[3];return e[0]=o+n*(r[0]-o),e[1]=s+n*(r[1]-s),e[2]=i+n*(r[2]-i),e[3]=a+n*(r[3]-a),e}function Jf(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3];return e[0]=r[0]*n+r[4]*o+r[8]*s+r[12]*i,e[1]=r[1]*n+r[5]*o+r[9]*s+r[13]*i,e[2]=r[2]*n+r[6]*o+r[10]*s+r[14]*i,e[3]=r[3]*n+r[7]*o+r[11]*s+r[15]*i,e}function zf(e,t,r){let n=t[0],o=t[1],s=t[2],i=r[0],a=r[1],f=r[2],c=r[3],l=c*n+a*s-f*o,h=c*o+f*n-i*s,u=c*s+i*o-a*n,d=-i*n-a*o-f*s;return e[0]=l*c+d*-i+h*-f-u*-a,e[1]=h*c+d*-a+u*-i-l*-f,e[2]=u*c+d*-f+l*-a-h*-i,e[3]=t[3],e}var Y_=function(){let e=cA();return function(t,r,n,o,s,i){let a,f;for(r||(r=4),n||(n=0),o?f=Math.min(o*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],e[3]=t[a+3],s(e,e,i),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2],t[a+3]=e[3];return t}}();var Fi;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(Fi||(Fi={}));var lA=45*Math.PI/180,hA=1,Mi=.1,Si=500,uA=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),De=class extends Sr{static get IDENTITY(){return mA()}static get ZERO(){return dA()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return Fi}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,n,o,s,i,a,f,c,l,h,u,d,m,A,p){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this[4]=s,this[5]=i,this[6]=a,this[7]=f,this[8]=c,this[9]=l,this[10]=h,this[11]=u,this[12]=d,this[13]=m,this[14]=A,this[15]=p,this.check()}setRowMajor(t,r,n,o,s,i,a,f,c,l,h,u,d,m,A,p){return this[0]=t,this[1]=s,this[2]=c,this[3]=d,this[4]=r,this[5]=i,this[6]=l,this[7]=m,this[8]=n,this[9]=a,this[10]=h,this[11]=A,this[12]=o,this[13]=f,this[14]=u,this[15]=p,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(uA)}fromObject(t){return this.check()}fromQuaternion(t){return _i(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:o,top:s,near:i=Mi,far:a=Si}=t;return a===1/0?AA(this,r,n,o,s,i):Ti(this,r,n,o,s,i,a),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:o=[0,1,0]}=t;return Ii(this,r,n,o),this.check()}ortho(t){let{left:r,right:n,bottom:o,top:s,near:i=Mi,far:a=Si}=t;return wi(this,r,n,o,s,i,a),this.check()}orthographic(t){let{fovy:r=lA,aspect:n=hA,focalDistance:o=1,near:s=Mi,far:i=Si}=t;Qf(r);let a=r/2,f=o*Math.tan(a),c=f*n;return this.ortho({left:-c,right:c,bottom:-f,top:f,near:s,far:i})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:o=.1,far:s=500}=t;return Qf(r),Ci(this,r,n,o,s),this.check()}determinant(){return pi(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),o=1/n[0],s=1/n[1],i=1/n[2];return t[0]=this[0]*o,t[1]=this[1]*s,t[2]=this[2]*i,t[3]=0,t[4]=this[4]*o,t[5]=this[5]*s,t[6]=this[6]*i,t[7]=0,t[8]=this[8]*o,t[9]=this[9]*s,t[10]=this[10]*i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),o=1/n[0],s=1/n[1],i=1/n[2];return t[0]=this[0]*o,t[1]=this[1]*s,t[2]=this[2]*i,t[3]=this[4]*o,t[4]=this[5]*s,t[5]=this[6]*i,t[6]=this[8]*o,t[7]=this[9]*s,t[8]=this[10]*i,t}transpose(){return mi(this,this),this.check()}invert(){return Ai(this,this),this.check()}multiplyLeft(t){return Mn(this,t,this),this.check()}multiplyRight(t){return Mn(this,this,t),this.check()}rotateX(t){return Ei(this,this,t),this.check()}rotateY(t){return bi(this,this,t),this.check()}rotateZ(t){return yi(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return xi(this,this,t,r),this.check()}scale(t){return Bi(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return gi(this,this,t),this.check()}transform(t,r){return t.length===4?(r=Jf(r||[-0,-0,-0,-0],t,this),Tt(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,o;switch(n){case 2:o=So(r||[-0,-0],t,this);break;case 3:o=Kt(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Tt(o,t.length),o}transformAsVector(t,r){let n;switch(t.length){case 2:n=Fo(r||[-0,-0],t,this);break;case 3:n=Do(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Tt(n,t.length),n}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,n){return this.identity().translate([t,r,n])}},Po,Ho;function dA(){return Po||(Po=new De([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Po)),Po}function mA(){return Ho||(Ho=new De,Object.freeze(Ho)),Ho}function Qf(e){if(e>Math.PI*2)throw Error("expected radians")}function AA(e,t,r,n,o,s){let i=2*s/(r-t),a=2*s/(o-n),f=(r+t)/(r-t),c=(o+n)/(o-n),l=-1,h=-1,u=-2*s;return e[0]=i,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=f,e[9]=c,e[10]=l,e[11]=h,e[12]=0,e[13]=0,e[14]=u,e[15]=0,e}function Vf(){let e=new q(4);return q!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function jf(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function Di(e,t,r){r=r*.5;let n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function Ri(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=r[0],f=r[1],c=r[2],l=r[3];return e[0]=n*l+i*a+o*c-s*f,e[1]=o*l+i*f+s*a-n*c,e[2]=s*l+i*c+n*f-o*a,e[3]=i*l-n*a-o*f-s*c,e}function Kf(e,t,r){r*=.5;let n=t[0],o=t[1],s=t[2],i=t[3],a=Math.sin(r),f=Math.cos(r);return e[0]=n*f+i*a,e[1]=o*f+s*a,e[2]=s*f-o*a,e[3]=i*f-n*a,e}function Zf(e,t,r){r*=.5;let n=t[0],o=t[1],s=t[2],i=t[3],a=Math.sin(r),f=Math.cos(r);return e[0]=n*f-s*a,e[1]=o*f+i*a,e[2]=s*f+n*a,e[3]=i*f-o*a,e}function Yf(e,t,r){r*=.5;let n=t[0],o=t[1],s=t[2],i=t[3],a=Math.sin(r),f=Math.cos(r);return e[0]=n*f+o*a,e[1]=o*f-n*a,e[2]=s*f+i*a,e[3]=i*f-s*a,e}function Wf(e,t){let r=t[0],n=t[1],o=t[2];return e[0]=r,e[1]=n,e[2]=o,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-o*o)),e}function Fn(e,t,r,n){let o=t[0],s=t[1],i=t[2],a=t[3],f=r[0],c=r[1],l=r[2],h=r[3],u,d,m,A,p;return u=o*f+s*c+i*l+a*h,u<0&&(u=-u,f=-f,c=-c,l=-l,h=-h),1-u>1e-6?(d=Math.acos(u),p=Math.sin(d),m=Math.sin((1-n)*d)/p,A=Math.sin(n*d)/p):(m=1-n,A=n),e[0]=m*o+A*f,e[1]=m*s+A*c,e[2]=m*i+A*l,e[3]=m*a+A*h,e}function Xf(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=r*r+n*n+o*o+s*s,a=i?1/i:0;return e[0]=-r*a,e[1]=-n*a,e[2]=-o*a,e[3]=s*a,e}function qf(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function Li(e,t){let r=t[0]+t[4]+t[8],n;if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{let o=0;t[4]>t[0]&&(o=1),t[8]>t[o*3+o]&&(o=2);let s=(o+1)%3,i=(o+2)%3;n=Math.sqrt(t[o*3+o]-t[s*3+s]-t[i*3+i]+1),e[o]=.5*n,n=.5/n,e[3]=(t[s*3+i]-t[i*3+s])*n,e[s]=(t[s*3+o]+t[o*3+s])*n,e[i]=(t[i*3+o]+t[o*3+i])*n}return e}var $f=vf;var el=Nf,tl=Hf,rl=kf,nl=Gf;var ol=Uf;var sl=Pf;var il=function(){let e=Lo(),t=Oo(1,0,0),r=Oo(0,1,0);return function(n,o,s){let i=Cn(o,s);return i<-.999999?(jt(e,t,o),fi(e)<1e-6&&jt(e,r,o),oi(e,e),Di(n,e,Math.PI),n):i>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(jt(e,o,s),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+i,sl(n,n))}}(),fT=function(){let e=Vf(),t=Vf();return function(r,n,o,s,i,a){return Fn(e,n,i,a),Fn(t,o,s,a),Fn(r,e,t,2*a*(1-a)),r}}(),lT=function(){let e=yf();return function(t,r,n,o){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=o[0],e[4]=o[1],e[7]=o[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],sl(t,Li(t,e))}}();var pA=[0,0,0,1],wt=class extends _t{constructor(t=0,r=0,n=0,o=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,o)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,n,o){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return Li(this,t),this.check()}fromAxisRotation(t,r){return Di(this,t,r),this.check()}identity(){return jf(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=k(t)}get y(){return this[1]}set y(t){this[1]=k(t)}get z(){return this[2]}set z(t){this[2]=k(t)}get w(){return this[3]}set w(t){this[3]=k(t)}len(){return nl(this)}lengthSquared(){return ol(this)}dot(t){return tl(this,t)}rotationTo(t,r){return il(this,t,r),this.check()}add(t){return $f(this,this,t),this.check()}calculateW(){return Wf(this,this),this.check()}conjugate(){return qf(this,this),this.check()}invert(){return Xf(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(rl(this,t,r,n),this.check())}multiplyRight(t){return Ri(this,this,t),this.check()}multiplyLeft(t){return Ri(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return Kf(this,this,t),this.check()}rotateY(t){return Zf(this,this,t),this.check()}rotateZ(t){return Yf(this,this,t),this.check()}scale(t){return el(this,this,t),this.check()}slerp(t,r,n){let o,s,i;switch(arguments.length){case 1:({start:o=pA,target:s,ratio:i}=t);break;case 2:o=this,s=t,i=r;break;default:o=t,s=r,i=n}return Fn(this,o,s,i),this.check()}transformVector4(t,r=new Mr){return zf(r,t,this),Tt(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var Re={};de(Re,{EPSILON1:()=>gA,EPSILON10:()=>wA,EPSILON11:()=>IA,EPSILON12:()=>MA,EPSILON13:()=>SA,EPSILON14:()=>FA,EPSILON15:()=>DA,EPSILON16:()=>RA,EPSILON17:()=>LA,EPSILON18:()=>OA,EPSILON19:()=>vA,EPSILON2:()=>BA,EPSILON20:()=>NA,EPSILON3:()=>xA,EPSILON4:()=>EA,EPSILON5:()=>bA,EPSILON6:()=>yA,EPSILON7:()=>_A,EPSILON8:()=>TA,EPSILON9:()=>CA,PI_OVER_FOUR:()=>UA,PI_OVER_SIX:()=>PA,PI_OVER_TWO:()=>GA,TWO_PI:()=>HA});var gA=.1,BA=.01,xA=.001,EA=1e-4,bA=1e-5,yA=1e-6,_A=1e-7,TA=1e-8,CA=1e-9,wA=1e-10,IA=1e-11,MA=1e-12,SA=1e-13,FA=1e-14,DA=1e-15,RA=1e-16,LA=1e-17,OA=1e-18,vA=1e-19,NA=1e-20,GA=Math.PI/2,UA=Math.PI/4,PA=Math.PI/6,HA=Math.PI*2;var at=6356752314245179e-9,kA={radii:[6378137,6378137,at],radiiSquared:[6378137*6378137,6378137*6378137,at*at],oneOverRadii:[1/6378137,1/6378137,1/at],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(at*at)],maximumRadius:Math.max(6378137,6378137,at),centerToleranceSquared:.1};function ko(e){return e}var HT=new w;function JA(e,t=[],r=ko){return"longitude"in e?(t[0]=r(e.longitude),t[1]=r(e.latitude),t[2]=e.height):"x"in e?(t[0]=r(e.x),t[1]=r(e.y),t[2]=e.z):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function al(e,t=[]){return JA(e,t,W._cartographicRadians?ko:ei)}function zA(e,t,r=ko){return"longitude"in t?(t.longitude=r(e[0]),t.latitude=r(e[1]),t.height=e[2]):"x"in t?(t.x=r(e[0]),t.y=r(e[1]),t.z=e[2]):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function cl(e,t){return zA(e,t,W._cartographicRadians?ko:ti)}var fl=1e-14,QA=new w,ll={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},Oi={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Dn={east:new w,north:new w,up:new w,west:new w,south:new w,down:new w},VA=new w,jA=new w,KA=new w;function vi(e,t,r,n,o,s){let i=ll[t]&&ll[t][r];fe(i&&(!n||n===i));let a,f,c,l=QA.copy(o);if(we(l.x,0,fl)&&we(l.y,0,fl)){let u=Math.sign(l.z);a=VA.fromArray(Oi[t]),t!=="east"&&t!=="west"&&a.scale(u),f=jA.fromArray(Oi[r]),r!=="east"&&r!=="west"&&f.scale(u),c=KA.fromArray(Oi[n]),n!=="east"&&n!=="west"&&c.scale(u)}else{let{up:u,east:d,north:m}=Dn;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,u),m.copy(u).cross(d);let{down:A,west:p,south:E}=Dn;A.copy(u).scale(-1),p.copy(d).scale(-1),E.copy(m).scale(-1),a=Dn[t],f=Dn[r],c=Dn[n]}return s[0]=a.x,s[1]=a.y,s[2]=a.z,s[3]=0,s[4]=f.x,s[5]=f.y,s[6]=f.z,s[7]=0,s[8]=c.x,s[9]=c.y,s[10]=c.z,s[11]=0,s[12]=l.x,s[13]=l.y,s[14]=l.z,s[15]=1,s}var Fr=new w,ZA=new w,YA=new w;function hl(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:o,centerToleranceSquared:s}=t;Fr.from(e);let i=Fr.x,a=Fr.y,f=Fr.z,c=n.x,l=n.y,h=n.z,u=i*i*c*c,d=a*a*l*l,m=f*f*h*h,A=u+d+m,p=Math.sqrt(1/A);if(!Number.isFinite(p))return;let E=ZA;if(E.copy(e).scale(p),A<s)return E.to(r);let y=o.x,T=o.y,C=o.z,_=YA;_.set(E.x*y*2,E.y*T*2,E.z*C*2);let I=(1-p)*Fr.len()/(.5*_.len()),M=0,L,B,g,x;do{I-=M,L=1/(1+I*y),B=1/(1+I*T),g=1/(1+I*C);let b=L*L,U=B*B,G=g*g,P=b*L,v=U*B,ee=G*g;x=u*b+d*U+m*G-1;let X=-2*(u*P*y+d*v*T+m*ee*C);M=x/X}while(Math.abs(x)>Re.EPSILON12);return Fr.scale([L,B,g]).to(r)}var Jo=new w,ul=new w,qA=new w,Je=new w,$A=new w,zo=new w,ct=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=Re.EPSILON1,fe(t>=0),fe(r>=0),fe(n>=0),this.radii=new w(t,r,n),this.radiiSquared=new w(t*t,r*r,n*n),this.radiiToTheFourth=new w(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new w(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new w(t===0?0:1/(t*t),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(t,r,n),this.maximumRadius=Math.max(t,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(t){return this===t||Boolean(t&&this.radii.equals(t.radii))}toString(){return this.radii.toString()}cartographicToCartesian(t,r=[0,0,0]){let n=ul,o=qA,[,,s]=t;this.geodeticSurfaceNormalCartographic(t,n),o.copy(this.radiiSquared).scale(n);let i=Math.sqrt(n.dot(o));return o.scale(1/i),n.scale(s),o.add(n),o.to(r)}cartesianToCartographic(t,r=[0,0,0]){zo.from(t);let n=this.scaleToGeodeticSurface(zo,Je);if(!n)return;let o=this.geodeticSurfaceNormal(n,ul),s=$A;s.copy(zo).subtract(n);let i=Math.atan2(o.y,o.x),a=Math.asin(o.z),f=Math.sign(Zt.dot(s,zo))*Zt.length(s);return cl([i,a,f],r)}eastNorthUpToFixedFrame(t,r=new De){return vi(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,o,s=new De){return vi(this,t,r,n,o,s)}geocentricSurfaceNormal(t,r=[0,0,0]){return Jo.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=al(t),o=n[0],s=n[1],i=Math.cos(s);return Jo.set(i*Math.cos(o),i*Math.sin(o),Math.sin(s)).normalize(),Jo.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return Jo.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return hl(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){Je.from(t);let n=Je.x,o=Je.y,s=Je.z,i=this.oneOverRadiiSquared,a=1/Math.sqrt(n*n*i.x+o*o*i.y+s*s*i.z);return Je.multiplyScalar(a).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return Je.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return Je.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){fe(we(this.radii.x,this.radii.y,Re.EPSILON15)),fe(this.radii.z>0),Je.from(t);let o=Je.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(o)>=this.radii.z-r))return Je.set(0,0,o).to(n)}};ct.WGS84=new ct(6378137,6378137,at);var le={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var sC=new w,iC=new w;var Rn=new w,dl=new w,It=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new w,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=Rn.from(r),this.center=new w().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new It(this.center,this.radius)}union(t){let r=this.center,n=this.radius,o=t.center,s=t.radius,i=Rn.copy(o).subtract(r),a=i.magnitude();if(n>=a+s)return this.clone();if(s>=a+n)return t.clone();let f=(n+a+s)*.5;return dl.copy(i).scale((-n+f)/a).add(r),this.center.copy(dl),this.radius=f,this}expand(t){let n=Rn.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=Sn.getScaling(Rn,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let n=Rn.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,s=t.normal.dot(r)+t.distance;return s<-n?le.OUTSIDE:s<n?le.INTERSECTING:le.INSIDE}};var ep=new w,tp=new w,Qo=new w,Vo=new w,jo=new w,rp=new w,np=new w,ft={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},Yt=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new w().from(t),this.halfAxes=new Z(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new w(t).len(),new w(r).len(),new w(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),o=new w(t).normalize(),s=new w(r).normalize(),i=new w(n).normalize();return new wt().fromMatrix3(new Z([...o,...s,...i]))}fromCenterHalfSizeQuaternion(t,r,n){let o=new wt(n),s=new Z().fromQuaternion(o);return s[0]=s[0]*r[0],s[1]=s[1]*r[0],s[2]=s[2]*r[0],s[3]=s[3]*r[1],s[4]=s[4]*r[1],s[5]=s[5]*r[1],s[6]=s[6]*r[2],s[7]=s[7]*r[2],s[8]=s[8]*r[2],this.center=new w().from(t),this.halfAxes=s,this}clone(){return new Yt(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new It){let r=this.halfAxes,n=r.getColumn(0,Qo),o=r.getColumn(1,Vo),s=r.getColumn(2,jo),i=ep.copy(n).add(o).add(s);return t.center.copy(this.center),t.radius=i.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,o=this.halfAxes,s=n.x,i=n.y,a=n.z,f=Math.abs(s*o[ft.COLUMN0ROW0]+i*o[ft.COLUMN0ROW1]+a*o[ft.COLUMN0ROW2])+Math.abs(s*o[ft.COLUMN1ROW0]+i*o[ft.COLUMN1ROW1]+a*o[ft.COLUMN1ROW2])+Math.abs(s*o[ft.COLUMN2ROW0]+i*o[ft.COLUMN2ROW1]+a*o[ft.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-f?le.OUTSIDE:c>=f?le.INSIDE:le.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=tp.from(t).subtract(this.center),n=this.halfAxes,o=n.getColumn(0,Qo),s=n.getColumn(1,Vo),i=n.getColumn(2,jo),a=o.magnitude(),f=s.magnitude(),c=i.magnitude();o.normalize(),s.normalize(),i.normalize();let l=0,h;return h=Math.abs(r.dot(o))-a,h>0&&(l+=h*h),h=Math.abs(r.dot(s))-f,h>0&&(l+=h*h),h=Math.abs(r.dot(i))-c,h>0&&(l+=h*h),l}computePlaneDistances(t,r,n=[-0,-0]){let o=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,i=this.center,a=this.halfAxes,f=a.getColumn(0,Qo),c=a.getColumn(1,Vo),l=a.getColumn(2,jo),h=rp.copy(f).add(c).add(l).add(i),u=np.copy(h).subtract(t),d=r.dot(u);return o=Math.min(d,o),s=Math.max(d,s),h.copy(i).add(f).add(c).subtract(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),h.copy(i).add(f).subtract(c).add(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),h.copy(i).add(f).subtract(c).subtract(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),i.copy(h).subtract(f).add(c).add(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),i.copy(h).subtract(f).add(c).subtract(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),i.copy(h).subtract(f).subtract(c).add(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),i.copy(h).subtract(f).subtract(c).subtract(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),n[0]=o,n[1]=s,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,Qo);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,Vo);n.transformAsPoint(t);let o=this.halfAxes.getColumn(2,jo);return o.transformAsPoint(t),this.halfAxes=new Z([...r,...n,...o]),this}getTransform(){throw new Error("not implemented")}};var ml=new w,Al=new w,lt=class{constructor(t=[0,0,1],r=0){this.normal=new w,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return fe(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=ml.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,o){return this.normal.set(t,r,n),fe(we(this.normal.len(),1)),this.distance=o,this}clone(){return new lt(this.normal,this.distance)}equals(t){return we(this.distance,t.distance)&&we(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=Al.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,r)}projectPointOntoPlane(t,r=[0,0,0]){let n=ml.from(t),o=this.getPointDistance(n),s=Al.copy(this.normal).scale(o);return n.subtract(s).to(r)}};var pl=[new w([1,0,0]),new w([0,1,0]),new w([0,0,1])],gl=new w,op=new w,Le=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*pl.length;let r=t.center,n=t.radius,o=0;for(let s of pl){let i=this.planes[o],a=this.planes[o+1];i||(i=this.planes[o]=new lt),a||(a=this.planes[o+1]=new lt);let f=gl.copy(s).scale(-n).add(r);i.fromPointNormal(f,s);let c=gl.copy(s).scale(n).add(r),l=op.copy(s).negate();a.fromPointNormal(c,l),o+=2}return this}computeVisibility(t){let r=le.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case le.OUTSIDE:return le.OUTSIDE;case le.INTERSECTING:r=le.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(fe(Number.isFinite(r),"parentPlaneMask is required."),r===Le.MASK_OUTSIDE||r===Le.MASK_INSIDE)return r;let n=Le.MASK_INSIDE,o=this.planes;for(let s=0;s<this.planes.length;++s){let i=s<31?1<<s:0;if(s<31&&!(r&i))continue;let a=o[s],f=t.intersectPlane(a);if(f===le.OUTSIDE)return Le.MASK_OUTSIDE;f===le.INTERSECTING&&(n|=i)}return n}};Le.MASK_OUTSIDE=4294967295;Le.MASK_INSIDE=0;Le.MASK_INDETERMINATE=2147483647;var TC=new w,CC=new w,wC=new w,IC=new w,MC=new w;var OC=new w,vC=new w,NC=new w,GC=new w,UC=new w,PC=new w,HC=new w,kC=new w,JC=new w,zC=new w,QC=new w,VC=new w;var We=new Z,ip=new Z,ap=new Z,Ko=new Z,Bl=new Z;function Ui(e,t={}){let r=Re.EPSILON20,n=10,o=0,s=0,i=ip,a=ap;i.identity(),a.copy(e);let f=r*cp(a);for(;s<n&&fp(a)>f;)lp(a,Ko),Bl.copy(Ko).transpose(),a.multiplyRight(Ko),a.multiplyLeft(Bl),i.multiplyRight(Ko),++o>2&&(++s,o=0);return t.unitary=i.toTarget(t.unitary),t.diagonal=a.toTarget(t.diagonal),t}function cp(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var Ni=[1,0,0],Gi=[2,2,1];function fp(e){let t=0;for(let r=0;r<3;++r){let n=e[We.getElementIndex(Gi[r],Ni[r])];t+=2*n*n}return Math.sqrt(t)}function lp(e,t){let r=Re.EPSILON15,n=0,o=1;for(let c=0;c<3;++c){let l=Math.abs(e[We.getElementIndex(Gi[c],Ni[c])]);l>n&&(o=c,n=l)}let s=Ni[o],i=Gi[o],a=1,f=0;if(Math.abs(e[We.getElementIndex(i,s)])>r){let c=e[We.getElementIndex(i,i)],l=e[We.getElementIndex(s,s)],h=e[We.getElementIndex(i,s)],u=(c-l)/2/h,d;u<0?d=-1/(-u+Math.sqrt(1+u*u)):d=1/(u+Math.sqrt(1+u*u)),a=1/Math.sqrt(1+d*d),f=d*a}return Z.IDENTITY.to(t),t[We.getElementIndex(s,s)]=t[We.getElementIndex(i,i)]=a,t[We.getElementIndex(i,s)]=f,t[We.getElementIndex(s,i)]=-f,t}var Mt=new w,up=new w,dp=new w,mp=new w,Ap=new w,pp=new Z,gp={diagonal:new Z,unitary:new Z};function Pi(e,t=new Yt){if(!e||e.length===0)return t.halfAxes=new Z([0,0,0,0,0,0,0,0,0]),t.center=new w,t;let r=e.length,n=new w(0,0,0);for(let B of e)n.add(B);let o=1/r;n.multiplyByScalar(o);let s=0,i=0,a=0,f=0,c=0,l=0;for(let B of e){let g=Mt.copy(B).subtract(n);s+=g.x*g.x,i+=g.x*g.y,a+=g.x*g.z,f+=g.y*g.y,c+=g.y*g.z,l+=g.z*g.z}s*=o,i*=o,a*=o,f*=o,c*=o,l*=o;let h=pp;h[0]=s,h[1]=i,h[2]=a,h[3]=i,h[4]=f,h[5]=c,h[6]=a,h[7]=c,h[8]=l;let{unitary:u}=Ui(h,gp),d=t.halfAxes.copy(u),m=d.getColumn(0,dp),A=d.getColumn(1,mp),p=d.getColumn(2,Ap),E=-Number.MAX_VALUE,y=-Number.MAX_VALUE,T=-Number.MAX_VALUE,C=Number.MAX_VALUE,_=Number.MAX_VALUE,I=Number.MAX_VALUE;for(let B of e)Mt.copy(B),E=Math.max(Mt.dot(m),E),y=Math.max(Mt.dot(A),y),T=Math.max(Mt.dot(p),T),C=Math.min(Mt.dot(m),C),_=Math.min(Mt.dot(A),_),I=Math.min(Mt.dot(p),I);m=m.multiplyByScalar(.5*(C+E)),A=A.multiplyByScalar(.5*(_+y)),p=p.multiplyByScalar(.5*(I+T)),t.center.copy(m).add(A).add(p);let M=up.set(E-C,y-_,T-I).multiplyByScalar(.5),L=new Z([M[0],0,0,0,M[1],0,0,0,M[2]]);return t.halfAxes.multiplyRight(L),t}var Dr;(function(e){e[e.ADD=1]="ADD",e[e.REPLACE=2]="REPLACE"})(Dr||(Dr={}));var St;(function(e){e.EMPTY="empty",e.SCENEGRAPH="scenegraph",e.POINTCLOUD="pointcloud",e.MESH="mesh"})(St||(St={}));var Ln;(function(e){e.I3S="I3S",e.TILES3D="TILES3D"})(Ln||(Ln={}));var ht;(function(e){e.GEOMETRIC_ERROR="geometricError",e.MAX_SCREEN_THRESHOLD="maxScreenThreshold"})(ht||(ht={}));var Rr="4.4.0";var be={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},Ew=Object.keys(be),Ft={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function Hi(e,t,r){z(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),o=new Uint8Array(e,t,r);return n.decode(o)}function xl(e,t=0){let r=new DataView(e);return`${String.fromCharCode(r.getUint8(t+0))}${String.fromCharCode(r.getUint8(t+1))}${String.fromCharCode(r.getUint8(t+2))}${String.fromCharCode(r.getUint8(t+3))}`}var Bp="1.5.6",xp="1.4.1",ki=`https://www.gstatic.com/draco/versioned/decoders/${Bp}`,he={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},On={[he.DECODER]:`${ki}/${he.DECODER}`,[he.DECODER_WASM]:`${ki}/${he.DECODER_WASM}`,[he.FALLBACK_DECODER]:`${ki}/${he.FALLBACK_DECODER}`,[he.ENCODER]:`https://raw.githubusercontent.com/google/draco/${xp}/javascript/${he.ENCODER}`},Ji;async function bl(e={},t){let r=e.modules||{};return r.draco3d?Ji||=r.draco3d.createDecoderModule({}).then(n=>({draco:n})):Ji||=Ep(e,t),await Ji}function El(e,t){if(e&&typeof e=="object"){if(e.default)return e.default;if(e[t])return e[t]}return e}async function Ep(e,t){let r,n;switch(t){case"js":r=await Se(On[he.FALLBACK_DECODER],"draco",e,he.FALLBACK_DECODER);break;case"wasm":default:try{[r,n]=await Promise.all([await Se(On[he.DECODER],"draco",e,he.DECODER),await Se(On[he.DECODER_WASM],"draco",e,he.DECODER_WASM)])}catch{r=null,n=null}}return r=El(r,"DracoDecoderModule"),r=r||globalThis.DracoDecoderModule,!r&&!it&&([r,n]=await Promise.all([await Se(On[he.DECODER],"draco",{...e,useLocalLibraries:!0},he.DECODER),await Se(On[he.DECODER_WASM],"draco",{...e,useLocalLibraries:!0},he.DECODER_WASM)]),r=El(r,"DracoDecoderModule"),r=r||globalThis.DracoDecoderModule),await bp(r,n)}function bp(e,t){if(typeof e!="function")throw new Error("DracoDecoderModule could not be loaded");let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:o=>n({draco:o})})})}var yl="4.4.0";function _l(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 zi(e){let t=1/0,r=1/0,n=1/0,o=-1/0,s=-1/0,i=-1/0,a=e.POSITION?e.POSITION.value:[],f=a&&a.length;for(let c=0;c<f;c+=3){let l=a[c],h=a[c+1],u=a[c+2];t=l<t?l:t,r=h<r?h:r,n=u<n?u:n,o=l>o?l:o,s=h>s?h:s,i=u>i?u:i}return[[t,r,n],[o,s,i]]}function Qi(e,t,r){let n=_l(t.value),o=r||Tl(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:o}}function Tl(e){let t={};return"byteOffset"in e&&(t.byteOffset=e.byteOffset.toString(10)),"byteStride"in e&&(t.byteStride=e.byteStride.toString(10)),"normalized"in e&&(t.normalized=e.normalized.toString()),t}function wl(e,t,r){let n=Il(t.metadata),o=[],s=yp(t.attributes);for(let i in e){let a=e[i],f=Cl(i,a,s[i]);o.push(f)}if(r){let i=Cl("indices",r);o.push(i)}return{fields:o,metadata:n}}function yp(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function Cl(e,t,r){let n=r?Il(r.metadata):void 0;return Qi(e,t,n)}function Il(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var Ml={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},_p={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},Tp=4,vn=class{draco;decoder;metadataQuerier;constructor(t){this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,r={}){let n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(r);let o=this.decoder.GetEncodedGeometryType(n),s=o===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let i;switch(o){case this.draco.TRIANGULAR_MESH:i=this.decoder.DecodeBufferToMesh(n,s);break;case this.draco.POINT_CLOUD:i=this.decoder.DecodeBufferToPointCloud(n,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!i.ok()||!s.ptr){let u=`DRACO decompression failed: ${i.error_msg()}`;throw new Error(u)}let a=this._getDracoLoaderData(s,o,r),f=this._getMeshData(s,a,r),c=zi(f.attributes),l=wl(f.attributes,a,f.indices);return{loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c},...f,schema:l}}finally{this.draco.destroy(n),s&&this.draco.destroy(s)}}_getDracoLoaderData(t,r,n){let o=this._getTopLevelMetadata(t),s=this._getDracoAttributes(t,n);return{geometry_type:r,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:o,attributes:s}}_getDracoAttributes(t,r){let n={};for(let o=0;o<t.num_attributes();o++){let s=this.decoder.GetAttribute(t,o),i=this._getAttributeMetadata(t,o);n[s.unique_id()]={unique_id:s.unique_id(),attribute_type:s.attribute_type(),data_type:s.data_type(),num_components:s.num_components(),byte_offset:s.byte_offset(),byte_stride:s.byte_stride(),normalized:s.normalized(),attribute_index:o,metadata:i};let a=this._getQuantizationTransform(s,r);a&&(n[s.unique_id()].quantization_transform=a);let f=this._getOctahedronTransform(s,r);f&&(n[s.unique_id()].octahedron_transform=f)}return n}_getMeshData(t,r,n){let o=this._getMeshAttributes(r,t,n);if(!o.POSITION)throw new Error("DRACO: No position attribute found.");if(t instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:o,indices:{value:this._getTriangleStripIndices(t),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:o,indices:{value:this._getTriangleListIndices(t),size:1}}}return{topology:"point-list",mode:0,attributes:o}}_getMeshAttributes(t,r,n){let o={};for(let s of Object.values(t.attributes)){let i=this._deduceAttributeName(s,n);s.name=i;let a=this._getAttributeValues(r,s);if(a){let{value:f,size:c}=a;o[i]={value:f,size:c,byteOffset:s.byte_offset,byteStride:s.byte_stride,normalized:s.normalized}}}return o}_getTriangleListIndices(t){let n=t.num_faces()*3,o=n*Tp,s=this.draco._malloc(o);try{return this.decoder.GetTrianglesUInt32Array(t,o,s),new Uint32Array(this.draco.HEAPF32.buffer,s,n).slice()}finally{this.draco._free(s)}}_getTriangleStripIndices(t){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(t,r),Ip(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=_p[r.data_type];if(!n)return console.warn(`DRACO: Unsupported attribute type ${r.data_type}`),null;let o=r.num_components,i=t.num_points()*o,a=i*n.BYTES_PER_ELEMENT,f=Cp(this.draco,n),c,l=this.draco._malloc(a);try{let h=this.decoder.GetAttribute(t,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(t,h,f,a,l),c=new n(this.draco.HEAPF32.buffer,l,i).slice()}finally{this.draco._free(l)}return{value:c,size:o}}_deduceAttributeName(t,r){let n=t.unique_id;for(let[i,a]of Object.entries(r.extraAttributes||{}))if(a===n)return i;let o=t.attribute_type;for(let i in Ml)if(this.draco[i]===o)return Ml[i];let s=r.attributeNameEntry||"name";return t.metadata[s]?t.metadata[s].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(t){let r=this.decoder.GetMetadata(t);return this._getDracoMetadata(r)}_getAttributeMetadata(t,r){let n=this.decoder.GetAttributeMetadata(t,r);return this._getDracoMetadata(n)}_getDracoMetadata(t){if(!t||!t.ptr)return{};let r={},n=this.metadataQuerier.NumEntries(t);for(let o=0;o<n;o++){let s=this.metadataQuerier.GetEntryName(t,o);r[s]=this._getDracoMetadataField(t,s)}return r}_getDracoMetadataField(t,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(t,r,n);let o=wp(n);return{int:this.metadataQuerier.GetIntEntry(t,r),string:this.metadataQuerier.GetStringEntry(t,r),double:this.metadataQuerier.GetDoubleEntry(t,r),intArray:o}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(t){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=t,o=[...r,...n];for(let s of o)this.decoder.SkipAttributeTransform(this.draco[s])}_getQuantizationTransform(t,r){let{quantizedAttributes:n=[]}=r,o=t.attribute_type();if(n.map(i=>this.decoder[i]).includes(o)){let i=new this.draco.AttributeQuantizationTransform;try{if(i.InitFromAttribute(t))return{quantization_bits:i.quantization_bits(),range:i.range(),min_values:new Float32Array([1,2,3]).map(a=>i.min_value(a))}}finally{this.draco.destroy(i)}}return null}_getOctahedronTransform(t,r){let{octahedronAttributes:n=[]}=r,o=t.attribute_type();if(n.map(i=>this.decoder[i]).includes(o)){let i=new this.draco.AttributeQuantizationTransform;try{if(i.InitFromAttribute(t))return{quantization_bits:i.quantization_bits()}}finally{this.draco.destroy(i)}}return null}};function Cp(e,t){switch(t){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 wp(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function Ip(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var Sl={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:yl,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",extraAttributes:{},attributeNameEntry:void 0}}},Nn={...Sl,parse:Mp};async function Mp(e,t){let{draco:r}=await bl(gn(t),t?.draco?.decoderType||"wasm"),n=new vn(r);try{return n.parseSync(e,t?.draco)}finally{n.destroy()}}var Sp={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},re={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},H={...Sp,...re};var Vi={[re.DOUBLE]:Float64Array,[re.FLOAT]:Float32Array,[re.UNSIGNED_SHORT]:Uint16Array,[re.UNSIGNED_INT]:Uint32Array,[re.UNSIGNED_BYTE]:Uint8Array,[re.BYTE]:Int8Array,[re.SHORT]:Int16Array,[re.INT]:Int32Array},Fp={DOUBLE:re.DOUBLE,FLOAT:re.FLOAT,UNSIGNED_SHORT:re.UNSIGNED_SHORT,UNSIGNED_INT:re.UNSIGNED_INT,UNSIGNED_BYTE:re.UNSIGNED_BYTE,BYTE:re.BYTE,SHORT:re.SHORT,INT:re.INT},ji="Failed to convert GL type",oe=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in Vi)if(Vi[r]===t)return r;throw new Error(ji)}static fromName(t){let r=Fp[t];if(!r)throw new Error(ji);return r}static getArrayType(t){switch(t){case re.UNSIGNED_SHORT_5_6_5:case re.UNSIGNED_SHORT_4_4_4_4:case re.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=Vi[t];if(!r)throw new Error(ji);return r}}static getByteSize(t){return oe.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(oe.getArrayType(t))}static createTypedArray(t,r,n=0,o){o===void 0&&(o=(r.byteLength-n)/oe.getByteSize(t));let s=ArrayBuffer.isView(r)?r.buffer:r,i=oe.getArrayType(t);return new i(s,n,o)}};function Fl(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function Ki(e,t=[0,0,0]){let r=e>>11&31,n=e>>5&63,o=e&31;return t[0]=r<<3,t[1]=n<<2,t[2]=o<<3,t}var tI=1/256;var rI=new Vt,nI=new w,oI=new Vt,sI=new Vt,iI=new Uint8Array(1);function Dl(e,t=255){return ri(e,0,t)/t*2-1}function Rl(e){return e<0?-1:1}function Ll(e,t,r,n){if(Fl(n),e<0||e>r||t<0||t>r)throw new Error(`x and y must be unsigned normalized integers between 0 and ${r}`);if(n.x=Dl(e,r),n.y=Dl(t,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let o=n.x;n.x=(1-Math.abs(n.y))*Rl(o),n.y=(1-Math.abs(o))*Rl(n.y)}return n.normalize()}function Zi(e,t,r){return Ll(e,t,255,r)}var ze=class{json;buffer;featuresLength=0;_cachedTypedArrays={};constructor(t,r){this.json=t,this.buffer=r}getExtension(t){return this.json.extensions&&this.json.extensions[t]}hasProperty(t){return Boolean(this.json[t])}getGlobalProperty(t,r=H.UNSIGNED_INT,n=1){let o=this.json[t];return o&&Number.isFinite(o.byteOffset)?this._getTypedArrayFromBinary(t,r,n,1,o.byteOffset):o}getPropertyArray(t,r,n){let o=this.json[t];return o&&Number.isFinite(o.byteOffset)?("componentType"in o&&(r=oe.fromName(o.componentType)),this._getTypedArrayFromBinary(t,r,n,this.featuresLength,o.byteOffset)):this._getTypedArrayFromArray(t,r,o)}getProperty(t,r,n,o,s){let i=this.json[t];if(!i)return i;let a=this.getPropertyArray(t,r,n);if(n===1)return a[o];for(let f=0;f<n;++f)s[f]=a[n*o+f];return s}_getTypedArrayFromBinary(t,r,n,o,s){let i=this._cachedTypedArrays,a=i[t];return a||(a=oe.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+s,o*n),i[t]=a),a}_getTypedArrayFromArray(t,r,n){let o=this._cachedTypedArrays,s=o[t];if(!s){if(ArrayBuffer.isView(n)){let i=n.byteOffset,f=n.byteLength/oe.getByteSize(r);s=oe.createTypedArray(r,n.buffer,i,f)}else if(n instanceof ArrayBuffer)s=oe.createTypedArray(r,n);else{let i=oe.getArrayType(r);s=new i(n)}o[t]=s}return s}};var Dp={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Rp={SCALAR:(e,t)=>e[t],VEC2:(e,t)=>[e[2*t+0],e[2*t+1]],VEC3:(e,t)=>[e[3*t+0],e[3*t+1],e[3*t+2]],VEC4:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT2:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT3:(e,t)=>[e[9*t+0],e[9*t+1],e[9*t+2],e[9*t+3],e[9*t+4],e[9*t+5],e[9*t+6],e[9*t+7],e[9*t+8]],MAT4:(e,t)=>[e[16*t+0],e[16*t+1],e[16*t+2],e[16*t+3],e[16*t+4],e[16*t+5],e[16*t+6],e[16*t+7],e[16*t+8],e[16*t+9],e[16*t+10],e[16*t+11],e[16*t+12],e[16*t+13],e[16*t+14],e[16*t+15]]},Lp={SCALAR:(e,t,r)=>{t[r]=e},VEC2:(e,t,r)=>{t[2*r+0]=e[0],t[2*r+1]=e[1]},VEC3:(e,t,r)=>{t[3*r+0]=e[0],t[3*r+1]=e[1],t[3*r+2]=e[2]},VEC4:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT2:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT3:(e,t,r)=>{t[9*r+0]=e[0],t[9*r+1]=e[1],t[9*r+2]=e[2],t[9*r+3]=e[3],t[9*r+4]=e[4],t[9*r+5]=e[5],t[9*r+6]=e[6],t[9*r+7]=e[7],t[9*r+8]=e[8],t[9*r+9]=e[9]},MAT4:(e,t,r)=>{t[16*r+0]=e[0],t[16*r+1]=e[1],t[16*r+2]=e[2],t[16*r+3]=e[3],t[16*r+4]=e[4],t[16*r+5]=e[5],t[16*r+6]=e[6],t[16*r+7]=e[7],t[16*r+8]=e[8],t[16*r+9]=e[9],t[16*r+10]=e[10],t[16*r+11]=e[11],t[16*r+12]=e[12],t[16*r+13]=e[13],t[16*r+14]=e[14],t[16*r+15]=e[15]}};function Ol(e,t,r,n){let{componentType:o}=e;z(e.componentType);let s=typeof o=="string"?oe.fromName(o):o,i=Dp[e.type],a=Rp[e.type],f=Lp[e.type];return r+=e.byteOffset,{values:oe.createTypedArray(s,t,r,i*n),type:s,size:i,unpacker:a,packer:f}}var Xe=e=>e!==void 0;function vl(e,t,r){if(!t)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),o=t.HIERARCHY;return o&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),t.extensions=t.extensions||{},t.extensions["3DTILES_batch_table_hierarchy"]=o,n=o),n?Op(n,r):null}function Op(e,t){let r,n,o,s=e.instancesLength,i=e.classes,a=e.classIds,f=e.parentCounts,c=e.parentIds,l=s;Xe(a.byteOffset)&&(a.componentType=defaultValue(a.componentType,GL.UNSIGNED_SHORT),a.type=AttributeType.SCALAR,o=getBinaryAccessor(a),a=o.createArrayBufferView(t.buffer,t.byteOffset+a.byteOffset,s));let h;if(Xe(f))for(Xe(f.byteOffset)&&(f.componentType=defaultValue(f.componentType,GL.UNSIGNED_SHORT),f.type=AttributeType.SCALAR,o=getBinaryAccessor(f),f=o.createArrayBufferView(t.buffer,t.byteOffset+f.byteOffset,s)),h=new Uint16Array(s),l=0,r=0;r<s;++r)h[r]=l,l+=f[r];Xe(c)&&Xe(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,o=getBinaryAccessor(c),c=o.createArrayBufferView(t.buffer,t.byteOffset+c.byteOffset,l));let u=i.length;for(r=0;r<u;++r){let p=i[r].length,E=i[r].instances,y=getBinaryProperties(p,E,t);i[r].instances=combine(y,E)}let d=new Array(u).fill(0),m=new Uint16Array(s);for(r=0;r<s;++r)n=a[r],m[r]=d[n],++d[n];let A={classes:i,classIds:a,classIndexes:m,parentCounts:f,parentIndexes:h,parentIds:c};return Gp(A),A}function Lr(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?vp(e,t,r):Np(e,t,r)}function vp(e,t,r){let n=e.classIds,o=e.parentCounts,s=e.parentIds,i=e.parentIndexes,a=n.length,f=scratchVisited;f.length=Math.max(f.length,a);let c=++marker,l=scratchStack;for(l.length=0,l.push(t);l.length>0;){if(t=l.pop(),f[t]===c)continue;f[t]=c;let h=r(e,t);if(Xe(h))return h;let u=o[t],d=i[t];for(let m=0;m<u;++m){let A=s[d+m];A!==t&&l.push(A)}}return null}function Np(e,t,r){let n=!0;for(;n;){let o=r(e,t);if(Xe(o))return o;let s=e.parentIds[t];n=s!==t,t=s}throw new Error("traverseHierarchySingleParent")}function Gp(e){let t=[],n=e.classIds.length;for(let o=0;o<n;++o)Nl(e,o,stack)}function Nl(e,t,r){let n=e.parentCounts,o=e.parentIds,s=e.parentIndexes,a=e.classIds.length;if(!Xe(o))return;assert(t<a,`Parent index ${t} exceeds the total number of instances: ${a}`),assert(r.indexOf(t)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(t);let f=Xe(n)?n[t]:1,c=Xe(n)?s[t]:t;for(let l=0;l<f;++l){let h=o[c+l];h!==t&&Nl(e,h,r)}r.pop(t)}function ye(e){return e!=null}var Zo=(e,t)=>e,Up={HIERARCHY:!0,extensions:!0,extras:!0},ut=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,o={}){z(n>=0),this.json=t||{},this.binary=r,this.featureCount=n,this._extensions=this.json?.extensions||{},this._properties={};for(let s in this.json)Up[s]||(this._properties[s]=this.json[s]);this._binaryProperties=this._initializeBinaryProperties(),o["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=vl(this,this.json,this.binary))}getExtension(t){return this.json&&this.json.extensions&&this.json.extensions[t]}memorySizeInBytes(){return 0}isClass(t,r){if(this._checkBatchId(t),z(typeof r=="string",r),this._hierarchy){let n=Lr(this._hierarchy,t,(o,s)=>{let i=o.classIds[s];return o.classes[i].name===r});return ye(n)}return!1}isExactClass(t,r){return z(typeof r=="string",r),this.getExactClassName(t)===r}getExactClassName(t){if(this._checkBatchId(t),this._hierarchy){let r=this._hierarchy.classIds[t];return this._hierarchy.classes[r].name}}hasProperty(t,r){return this._checkBatchId(t),z(typeof r=="string",r),ye(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=ye(r)?r:[],r.length=0;let n=Object.keys(this._properties);return r.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(t,r),r}getProperty(t,r){if(this._checkBatchId(t),z(typeof r=="string",r),this._binaryProperties){let o=this._binaryProperties[r];if(ye(o))return this._getBinaryProperty(o,t)}let n=this._properties[r];if(ye(n))return Zo(n[t],!0);if(this._hierarchy){let o=this._getHierarchyProperty(t,r);if(ye(o))return o}}setProperty(t,r,n){let o=this.featureCount;if(this._checkBatchId(t),z(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(i){this._setBinaryProperty(i,t,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,t,r,n))return;let s=this._properties[r];ye(s)||(this._properties[r]=new Array(o),s=this._properties[r]),s[t]=Zo(n,!0)}_checkBatchId(t){if(!(t>=0&&t<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(t,r){return t.unpack(t.typedArray,r)}_setBinaryProperty(t,r,n){t.pack(n,t.typedArray,r)}_initializeBinaryProperties(){let t=null;for(let r in this._properties){let n=this._properties[r],o=this._initializeBinaryProperty(r,n);o&&(t=t||{},t[r]=o)}return t}_initializeBinaryProperty(t,r){if("byteOffset"in r){let n=r;z(this.binary,`Property ${t} requires a batch table binary.`),z(n.type,`Property ${t} requires a type.`);let o=Ol(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:o.values,componentCount:o.size,unpack:o.unpacker,pack:o.packer}}return null}_hasPropertyInHierarchy(t,r){if(!this._hierarchy)return!1;let n=Lr(this._hierarchy,t,(o,s)=>{let i=o.classIds[s],a=o.classes[i].instances;return ye(a[r])});return ye(n)}_getPropertyNamesInHierarchy(t,r){Lr(this._hierarchy,t,(n,o)=>{let s=n.classIds[o],i=n.classes[s].instances;for(let a in i)i.hasOwnProperty(a)&&r.indexOf(a)===-1&&r.push(a)})}_getHierarchyProperty(t,r){return Lr(this._hierarchy,t,(n,o)=>{let s=n.classIds[o],i=n.classes[s],a=n.classIndexes[o],f=i.instances[r];return ye(f)?ye(f.typedArray)?this._getBinaryProperty(f,a):Zo(f[a],!0):null})}_setHierarchyProperty(t,r,n,o){let s=Lr(this._hierarchy,r,(i,a)=>{let f=i.classIds[a],c=i.classes[f],l=i.classIndexes[a],h=c.instances[n];return ye(h)?(z(a===r,`Inherited property "${n}" is read-only.`),ye(h.typedArray)?this._setBinaryProperty(h,l,o):h[l]=Zo(o,!0),!0):!1});return ye(s)}};function Dt(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=4,e.version=n.getUint32(r,!0),r+=4,e.byteLength=n.getUint32(r,!0),r+=4,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var Or=4,Gl="b3dm tile in legacy format.";function vr(e,t,r){let n=new DataView(t),o;e.header=e.header||{};let s=n.getUint32(r,!0);r+=Or;let i=n.getUint32(r,!0);r+=Or;let a=n.getUint32(r,!0);r+=Or;let f=n.getUint32(r,!0);return r+=Or,a>=570425344?(r-=Or*2,o=s,a=i,f=0,s=0,i=0,console.warn(Gl)):f>=570425344&&(r-=Or,o=a,a=s,f=i,s=0,i=0,console.warn(Gl)),e.header.featureTableJsonByteLength=s,e.header.featureTableBinaryByteLength=i,e.header.batchTableJsonByteLength=a,e.header.batchTableBinaryByteLength=f,e.header.batchLength=o,r}function Nr(e,t,r,n){return r=Pp(e,t,r,n),r=Hp(e,t,r,n),r}function Pp(e,t,r,n){let{featureTableJsonByteLength:o,featureTableBinaryByteLength:s,batchLength:i}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:i||0},o&&o>0){let a=Hi(t,r,o);e.featureTableJson=JSON.parse(a)}return r+=o||0,e.featureTableBinary=new Uint8Array(t,r,s),r+=s||0,r}function Hp(e,t,r,n){let{batchTableJsonByteLength:o,batchTableBinaryByteLength:s}=e.header||{};if(o&&o>0){let i=Hi(t,r,o);e.batchTableJson=JSON.parse(i),r+=o,s&&s>0&&(e.batchTableBinary=new Uint8Array(t,r,s),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=s)}return r}function Yi(e,t,r){if(!t&&(!e||!e.batchIds||!r))return null;let{batchIds:n,isRGB565:o,pointCount:s=0}=e;if(n&&r){let i=new Uint8ClampedArray(s*3);for(let a=0;a<s;a++){let f=n[a],l=r.getProperty(f,"dimensions").map(h=>h*255);i[a*3]=l[0],i[a*3+1]=l[1],i[a*3+2]=l[2]}return{type:H.UNSIGNED_BYTE,value:i,size:3,normalized:!0}}if(t&&o){let i=new Uint8ClampedArray(s*3);for(let a=0;a<s;a++){let f=Ki(t[a]);i[a*3]=f[0],i[a*3+1]=f[1],i[a*3+2]=f[2]}return{type:H.UNSIGNED_BYTE,value:i,size:3,normalized:!0}}return t&&t.length===s*3?{type:H.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:H.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var Ul=new w;function Pl(e,t){if(!t)return null;if(e.isOctEncoded16P){let r=new Float32Array((e.pointsLength||0)*3);for(let n=0;n<(e.pointsLength||0);n++)Zi(t[n*2],t[n*2+1],Ul),Ul.toArray(r,n*3);return{type:H.FLOAT,size:2,value:r}}return{type:H.FLOAT,size:2,value:t}}function Hl(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,kp(e,t)):{type:H.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function kp(e,t){let r=new w,n=new Float32Array(e.pointCount*3);for(let o=0;o<e.pointCount;o++)r.set(t[o*3],t[o*3+1],t[o*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,o*3);return n}async function kl(e,t,r,n,o){r=Dt(e,t,r),r=vr(e,t,r),r=Nr(e,t,r,n),Jp(e);let{featureTable:s,batchTable:i}=zp(e);return await Zp(e,s,i,n,o),Qp(e,s,n),Vp(e,s,i),jp(e,s),r}function Jp(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function zp(e){let t=new ze(e.featureTableJson,e.featureTableBinary),r=t.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(r))throw new Error("POINTS_LENGTH must be defined");t.featuresLength=r,e.featuresLength=r,e.pointsLength=r,e.pointCount=r,e.rtcCenter=t.getGlobalProperty("RTC_CENTER",H.FLOAT,3);let n=Kp(e,t);return{featureTable:t,batchTable:n}}function Qp(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.positions){if(t.hasProperty("POSITION"))e.attributes.positions=t.getPropertyArray("POSITION",H.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",H.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",H.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",H.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=Hl(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function Vp(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.colors){let n=null;t.hasProperty("RGBA")?(n=t.getPropertyArray("RGBA",H.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",H.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",H.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=Yi(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",H.UNSIGNED_BYTE,4))}function jp(e,t){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.normals){let r=null;t.hasProperty("NORMAL")?r=t.getPropertyArray("NORMAL",H.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",H.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=Pl(e,r)}}function Kp(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",H.UNSIGNED_SHORT,1),e.batchIds)){let n=t.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:o,batchTableBinary:s}=e;r=new ut(o,s,n)}return r}async function Zp(e,t,r,n,o){let s,i,a,f=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];f&&(a=f.properties);let c=t.getExtension("3DTILES_draco_point_compression");if(c){i=c.properties;let h=c.byteOffset,u=c.byteLength;if(!i||!Number.isFinite(h)||!u)throw new Error("Draco properties, byteOffset, and byteLength must be defined");s=(e.featureTableBinary||[]).slice(h,h+u),e.hasPositions=Number.isFinite(i.POSITION),e.hasColors=Number.isFinite(i.RGB)||Number.isFinite(i.RGBA),e.hasNormals=Number.isFinite(i.NORMAL),e.hasBatchIds=Number.isFinite(i.BATCH_ID),e.isTranslucent=Number.isFinite(i.RGBA)}if(!s)return!0;let l={buffer:s,properties:{...i,...a},featureTableProperties:i,batchTableProperties:a,dequantizeInShader:!1};return await Yp(e,l,n,o)}async function Yp(e,t,r,n){if(!n)return;let o={...r,draco:{...r?.draco,extraAttributes:t.batchTableProperties||{}}};delete o["3d-tiles"];let s=await ke(t.buffer,Nn,o,n),i=s.attributes.POSITION&&s.attributes.POSITION.value,a=s.attributes.COLOR_0&&s.attributes.COLOR_0.value,f=s.attributes.NORMAL&&s.attributes.NORMAL.value,c=s.attributes.BATCH_ID&&s.attributes.BATCH_ID.value,l=i&&s.attributes.POSITION.value.quantization,h=f&&s.attributes.NORMAL.value.quantization;if(l){let d=s.POSITION.data.quantization,m=d.range;e.quantizedVolumeScale=new w(m,m,m),e.quantizedVolumeOffset=new w(d.minValues),e.quantizedRange=(1<<d.quantizationBits)-1,e.isQuantizedDraco=!0}h&&(e.octEncodedRange=(1<<s.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let u={};if(t.batchTableProperties)for(let d of Object.keys(t.batchTableProperties))s.attributes[d]&&s.attributes[d].value&&(u[d.toLowerCase()]=s.attributes[d].value);e.attributes={positions:i,colors:Yi(e,a,void 0),normals:f,batchIds:c,...u}}var na={};de(na,{createExtMeshFeatures:()=>G1,decode:()=>R1,encode:()=>L1,name:()=>D1});var Jl="4.4.0";var Wp=globalThis.loaders?.parseImageNode,Wi=typeof Image<"u",Xi=typeof ImageBitmap<"u",Xp=Boolean(Wp),qi=Ee?!0:Xp;function zl(e){switch(e){case"auto":return Xi||Wi||qi;case"imagebitmap":return Xi;case"image":return Wi;case"data":return qi;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function Ql(){if(Xi)return"imagebitmap";if(Wi)return"image";if(qi)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Vl(e){let t=qp(e);if(!t)throw new Error("Not an image");return t}function Gn(e){switch(Vl(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)throw new Error("getImageData");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function qp(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var $p=/^data:image\/svg\+xml/,e1=/\.svg((\?|#).*)?$/;function Yo(e){return e&&($p.test(e)||e1.test(e))}function jl(e,t){if(Yo(t)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return $i(e,t)}function $i(e,t){if(Yo(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function Wo(e,t,r){let n=jl(e,r),o=self.URL||self.webkitURL,s=typeof n!="string"&&o.createObjectURL(n);try{return await t1(s||n,t)}finally{s&&o.revokeObjectURL(s)}}async function t1(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,o)=>{try{r.onload=()=>n(r),r.onerror=s=>{let i=s instanceof Error?s.message:"error";o(new Error(i))}}catch(s){o(s)}})}var Kl=!0;async function Zl(e,t,r){let n;Yo(r)?n=await Wo(e,t,r):n=$i(e,r);let o=t&&t.imagebitmap;return await r1(n,o)}async function r1(e,t=null){if((n1(t)||!Kl)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),Kl=!1}return await createImageBitmap(e)}function n1(e){if(!e)return!0;for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function Yl(e){return!a1(e,"ftyp",4)||!(e[8]&96)?null:o1(e)}function o1(e){switch(s1(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function s1(e,t,r){return String.fromCharCode(...e.slice(t,r))}function i1(e){return[...e].map(t=>t.charCodeAt(0))}function a1(e,t,r=0){let n=i1(t);for(let o=0;o<n.length;++o)if(n[o]!==e[o+r])return!1;return!0}var qe=!1,Un=!0;function Wt(e){let t=Pn(e);return f1(t)||u1(t)||l1(t)||h1(t)||c1(t)}function c1(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=Yl(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function f1(e){let t=Pn(e);return t.byteLength>=24&&t.getUint32(0,qe)===2303741511?{mimeType:"image/png",width:t.getUint32(16,qe),height:t.getUint32(20,qe)}:null}function l1(e){let t=Pn(e);return t.byteLength>=10&&t.getUint32(0,qe)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,Un),height:t.getUint16(8,Un)}:null}function h1(e){let t=Pn(e);return t.byteLength>=14&&t.getUint16(0,qe)===16973&&t.getUint32(2,Un)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,Un),height:t.getUint32(22,Un)}:null}function u1(e){let t=Pn(e);if(!(t.byteLength>=3&&t.getUint16(0,qe)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:o}=d1(),s=2;for(;s+9<t.byteLength;){let i=t.getUint16(s,qe);if(o.has(i))return{mimeType:"image/jpeg",height:t.getUint16(s+5,qe),width:t.getUint16(s+7,qe)};if(!n.has(i))return null;s+=2,s+=t.getUint16(s,qe)}return null}function d1(){let e=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)e.add(r);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Pn(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 Wl(e,t){let{mimeType:r}=Wt(e)||{},n=globalThis.loaders?.parseImageNode;return z(n),await n(e,r)}async function Xl(e,t,r){t=t||{};let o=(t.image||{}).type||"auto",{url:s}=r||{},i=m1(o),a;switch(i){case"imagebitmap":a=await Zl(e,t,s);break;case"image":a=await Wo(e,t,s);break;case"data":a=await Wl(e,t);break;default:z(!1)}return o==="data"&&(a=Gn(a)),a}function m1(e){switch(e){case"auto":case"data":return Ql();default:return zl(e),e}}var A1=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],p1=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],g1={image:{type:"auto",decode:!0}},ea={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:Jl,mimeTypes:p1,extensions:A1,parse:Xl,tests:[e=>Boolean(Wt(new DataView(e)))],options:g1};var ta={};function ra(e){if(ta[e]===void 0){let t=Ee?x1(e):B1(e);ta[e]=t}return ta[e]}function B1(e){let t=["image/png","image/jpeg","image/gif"],r=globalThis.loaders?.imageFormatsNode||t,n=globalThis.loaders?.parseImageNode;return Boolean(n)&&r.includes(e)}function x1(e){switch(e){case"image/avif":case"image/webp":return E1(e);default:return!0}}function E1(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function se(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var Xo={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},qo={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var b1=1.33,ql=["SCALAR","VEC2","VEC3","VEC4"],y1=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],_1=new Map(y1),T1={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},C1={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},w1={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function $o(e){return ql[e-1]||ql[0]}function Rt(e){let t=_1.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function Gr(e,t){let r=w1[e.componentType],n=T1[e.type],o=C1[e.componentType],s=e.count*n,i=e.count*n*o;se(i>=0&&i<=t.byteLength);let a=qo[e.componentType],f=Xo[e.type];return{ArrayType:r,length:s,byteLength:i,componentByteSize:a,numberOfComponentsInElement:f}}function Hn(e){let{images:t,bufferViews:r}=e;t=t||[],r=r||[];let n=t.map(i=>i.bufferView);r=r.filter(i=>!n.includes(i));let o=r.reduce((i,a)=>i+a.byteLength,0),s=t.reduce((i,a)=>{let{width:f,height:c}=a.image;return i+f*c},0);return o+Math.ceil(4*s*b1)}function $l(e,t,r){let n=e.bufferViews[r];se(n);let o=n.buffer,s=t[o];se(s);let i=(n.byteOffset||0)+s.byteOffset;return new Uint8Array(s.arrayBuffer,i,n.byteLength)}function eh(e,t,r){let n=typeof r=="number"?e.accessors?.[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let o=e.bufferViews?.[n.bufferView||0];if(!o)throw new Error(`No gltf buffer view for accessor ${o}`);let{arrayBuffer:s,byteOffset:i}=t[o.buffer],a=(i||0)+(n.byteOffset||0)+(o.byteOffset||0),{ArrayType:f,length:c,componentByteSize:l,numberOfComponentsInElement:h}=Gr(n,o),u=l*h,d=o.byteStride||u;if(typeof o.byteStride>"u"||o.byteStride===u)return new f(s,a,c);let m=new f(c);for(let A=0;A<n.count;A++){let p=new f(s,a+A*d,h);m.set(p,A*h)}return m}function I1(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var V=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:t?.json||I1(),buffers:t?.buffers||[],images:t?.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(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}hasExtension(t){let r=this.getUsedExtensions().find(o=>o===t),n=this.getRequiredExtensions().find(o=>o===t);return typeof r=="string"||typeof n=="string"}getExtension(t){let r=this.getUsedExtensions().find(o=>o===t),n=this.json.extensions||{};return r?n[t]:null}getRequiredExtension(t){return this.getRequiredExtensions().find(n=>n===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(t,r){return(t.extensions||{})[r]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,r){if(typeof r=="object")return r;let n=this.json[t]&&this.json[t][r];if(!n)throw new Error(`glTF file error: Could not find ${t}[${r}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);let r=t.buffer,n=this.gltf.buffers[r];se(n);let o=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,o,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return eh(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);let r=this.getBufferView(t.bufferView),o=this.getBuffer(r.buffer).data,s=r.byteOffset||0;return new Uint8Array(o,s,r.byteLength)}addApplicationData(t,r){return this.json[t]=r,this}addExtraData(t,r){return this.json.extras=this.json.extras||{},this.json.extras[t]=r,this}addObjectExtension(t,r,n){return t.extensions=t.extensions||{},t.extensions[r]=n,this.registerUsedExtension(r),this}setObjectExtension(t,r,n){let o=t.extensions||{};o[r]=n}removeObjectExtension(t,r){let n=t?.extensions||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let o=this.json.extensionsRemoved;o.includes(r)||o.push(r)}delete n[r]}addExtension(t,r={}){return se(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return se(r),this.addExtension(t,r),this.registerRequiredExtension(t),r}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(r=>r===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(r=>r===t)||this.json.extensionsRequired.push(t)}removeExtension(t){if(this.json.extensions?.[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let r=this.json.extensionsRemoved;r.includes(t)||r.push(t)}this.json.extensions&&delete this.json.extensions[t],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t)}setDefaultScene(t){this.json.scene=t}addScene(t){let{nodeIndices:r}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:r}),this.json.scenes.length-1}addNode(t){let{meshIndex:r,matrix:n}=t;this.json.nodes=this.json.nodes||[];let o={mesh:r};return n&&(o.matrix=n),this.json.nodes.push(o),this.json.nodes.length-1}addMesh(t){let{attributes:r,indices:n,material:o,mode:s=4}=t,a={primitives:[{attributes:this._addAttributes(r),mode:s}]};if(n){let f=this._addIndices(n);a.primitives[0].indices=f}return Number.isFinite(o)&&(a.primitives[0].material=o),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(t){let n={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(t,r){let n=Wt(t),o=r||n?.mimeType,i={bufferView:this.addBufferView(t),mimeType:o};return this.json.images=this.json.images||[],this.json.images.push(i),this.json.images.length-1}addBufferView(t,r=0,n=this.byteLength){let o=t.byteLength;se(Number.isFinite(o)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let s={buffer:r,byteOffset:n,byteLength:o};return this.byteLength+=Ce(o,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(s),this.json.bufferViews.length-1}addAccessor(t,r){let n={bufferView:t,type:$o(r.size),componentType:r.componentType,count:r.count,max:r.max,min:r.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,r={size:3}){let n=this.addBufferView(t),o={min:r.min,max:r.max};(!o.min||!o.max)&&(o=this._getAccessorMinMax(t,r.size));let s={size:r.size,componentType:Rt(t),count:Math.round(t.length/r.size),min:o.min,max:o.max};return this.addAccessor(n,Object.assign(s,r))}addTexture(t){let{imageIndex:r}=t,n={source:r};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),o=0;for(let s of this.sourceBuffers||[])o=Ws(s,n,o);this.json?.buffers?.[0]?this.json.buffers[0].byteLength=t:this.json.buffers=[{byteLength:t}],this.gltf.binary=r,this.sourceBuffers=[r],this.gltf.buffers=[{arrayBuffer:r,byteOffset:0,byteLength:r.byteLength}]}_removeStringFromArray(t,r){let n=!0;for(;n;){let o=t.indexOf(r);o>-1?t.splice(o,1):n=!1}}_addAttributes(t={}){let r={};for(let n in t){let o=t[n],s=this._getGltfAttributeName(n),i=this.addBinaryBuffer(o.value,o);r[s]=i}return r}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.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 t}}_getAccessorMinMax(t,r){let n={min:null,max:null};if(t.length<r)return n;n.min=[],n.max=[];let o=t.subarray(0,r);for(let s of o)n.min.push(s),n.max.push(s);for(let s=r;s<t.length;s+=r)for(let i=0;i<r;i++)n.min[0+i]=Math.min(n.min[0+i],t[s+i]),n.max[0+i]=Math.max(n.max[0+i],t[s+i]);return n}};function th(e){return(e%1+1)%1}var rh={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},M1={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},nh={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function kn(e,t){return nh[t]*rh[e]}function Ur(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let o=e.getTypedArrayForBufferView(t),s=Pr(o,"SCALAR",r,n+1);return s instanceof BigInt64Array||s instanceof BigUint64Array?null:s}function Pr(e,t,r,n=1){let o=rh[t],s=M1[r],i=nh[r],a=n*o,f=a*i,c=e.buffer,l=e.byteOffset;return l%i!==0&&(c=new Uint8Array(c).slice(l,l+f).buffer,l=0),new s(yt(c),l,a)}function Hr(e,t,r){let n=`TEXCOORD_${t.texCoord||0}`,o=r.attributes[n],s=e.getTypedArrayForAccessor(o),i=e.gltf.json,a=t.index,f=i.textures?.[a]?.source;if(typeof f<"u"){let c=i.images?.[f]?.mimeType,l=e.gltf.images?.[f];if(l&&typeof l.width<"u"){let h=[];for(let u=0;u<s.length;u+=2){let d=S1(l,c,s,u,t.channels);h.push(d)}return h}}return[]}function es(e,t,r,n,o){if(!r?.length)return;let s=[];for(let l of r){let h=n.findIndex(u=>u===l);h===-1&&(h=n.push(l)-1),s.push(h)}let i=new Uint32Array(s),a=e.gltf.buffers.push({arrayBuffer:i.buffer,byteOffset:i.byteOffset,byteLength:i.byteLength})-1,f=e.addBufferView(i,a,0),c=e.addAccessor(f,{size:1,componentType:Rt(i),count:i.length});o.attributes[t]=c}function S1(e,t,r,n,o=[0]){let s={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},i=r[n],a=r[n+1],f=1;t&&(t.indexOf("image/jpeg")!==-1||t.indexOf("image/png")!==-1)&&(f=4);let c=F1(i,a,e,f),l=0;for(let h of o){let u=typeof h=="number"?Object.values(s)[h]:s[h],d=c+u.offset,m=Gn(e);if(m.data.length<=d)throw new Error(`${m.data.length} <= ${d}`);let A=m.data[d];l|=A<<u.shift}return l}function F1(e,t,r,n=1){let o=r.width,s=th(e)*(o-1),i=Math.round(s),a=r.height,f=th(t)*(a-1),c=Math.round(f),l=r.components?r.components:n;return(c*o+i)*l}function ts(e,t,r,n,o){let s=[];for(let i=0;i<t;i++){let a=r[i],f=r[i+1]-r[i];if(f+a>n)break;let c=a/o,l=f/o;s.push(e.slice(c,c+l))}return s}function rs(e,t,r){let n=[];for(let o=0;o<t;o++){let s=o*r;n.push(e.slice(s,s+r))}return n}function ns(e,t,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let o=[],s=new TextDecoder("utf8"),i=0;for(let a=0;a<e;a++){let f=n[a+1]-n[a];if(f+i<=t.length){let c=t.subarray(i,f+i),l=s.decode(c);o.push(l),i+=f}}return o}return[]}var kr="EXT_mesh_features",D1=kr;async function R1(e,t){let r=new V(e);O1(r,t)}function L1(e,t){let r=new V(e);return N1(r,t),r.createBinaryChunk(),r.gltf}function O1(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let o of n.primitives)v1(e,o,t)}function v1(e,t,r){if(!r?.gltf?.loadBuffers)return;let o=t.extensions?.[kr]?.featureIds;if(o)for(let s of o){let i;if(typeof s.attribute<"u"){let a=`_FEATURE_ID_${s.attribute}`,f=t.attributes[a];i=e.getTypedArrayForAccessor(f)}else typeof s.texture<"u"&&r?.gltf?.loadImages?i=Hr(e,s.texture,t):i=[];s.data=i}}function N1(e,t){let r=e.gltf.json.meshes;if(r)for(let n of r)for(let o of n.primitives)U1(e,o)}function G1(e,t,r,n){t.extensions||(t.extensions={});let o=t.extensions[kr];o||(o={featureIds:[]},t.extensions[kr]=o);let{featureIds:s}=o,i={featureCount:r.length,propertyTable:n,data:r};s.push(i),e.addObjectExtension(t,kr,o)}function U1(e,t){let r=t.extensions?.[kr];if(!r)return;let n=r.featureIds;n.forEach((o,s)=>{if(o.data){let{accessorKey:i,index:a}=P1(t.attributes),f=new Uint32Array(o.data);n[s]={featureCount:f.length,propertyTable:o.propertyTable,attribute:a},e.gltf.buffers.push({arrayBuffer:f.buffer,byteOffset:f.byteOffset,byteLength:f.byteLength});let c=e.addBufferView(f),l=e.addAccessor(c,{size:1,componentType:Rt(f),count:f.length});t.attributes[i]=l}})}function P1(e){let t="_FEATURE_ID_",r=Object.keys(e).filter(s=>s.indexOf(t)===0),n=-1;for(let s of r){let i=Number(s.substring(t.length));i>n&&(n=i)}return n++,{accessorKey:`${t}${n}`,index:n}}var ia={};de(ia,{createExtStructuralMetadata:()=>ag,decode:()=>k1,encode:()=>J1,name:()=>H1});var Jr="EXT_structural_metadata",H1=Jr;async function k1(e,t){let r=new V(e);z1(r,t)}function J1(e,t){let r=new V(e);return sg(r,t),r.createBinaryChunk(),r.gltf}function z1(e,t){if(!t.gltf?.loadBuffers)return;let r=e.getExtension(Jr);r&&(t.gltf?.loadImages&&Q1(e,r),V1(e,r))}function Q1(e,t){let r=t.propertyTextures,n=e.gltf.json;if(r&&n.meshes)for(let o of n.meshes)for(let s of o.primitives)K1(e,r,s,t)}function V1(e,t){let r=t.schema;if(!r)return;let n=r.classes,o=t.propertyTables;if(n&&o)for(let s in n){let i=j1(o,s);i&&Y1(e,r,i)}}function j1(e,t){for(let r of e)if(r.class===t)return r;return null}function K1(e,t,r,n){if(!t)return;let s=r.extensions?.[Jr]?.propertyTextures;if(s)for(let i of s){let a=t[i];Z1(e,a,r,n)}}function Z1(e,t,r,n){if(!t.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let o=t.class;for(let s in t.properties){let i=`${o}_${s}`,a=t.properties?.[s];if(!a)continue;a.data||(a.data=[]);let f=a.data,c=Hr(e,a,r);c!==null&&(es(e,i,c,f,r),a.data=f,n.dataAttributeNames.push(i))}}function Y1(e,t,r){let n=t.classes?.[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let o=r.count;for(let s in n.properties){let i=n.properties[s],a=r.properties?.[s];if(a){let f=W1(e,t,i,o,a);a.data=f}}}function W1(e,t,r,n,o){let s=[],i=o.values,a=e.getTypedArrayForBufferView(i),f=X1(e,r,o,n),c=q1(e,o,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{s=$1(r,n,a,f);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{s=ns(n,a,f,c);break}case"ENUM":{s=eg(t,r,n,a,f);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return s}function X1(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?Ur(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function q1(e,t,r){return typeof t.stringOffsets<"u"?Ur(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function $1(e,t,r,n){let o=e.array,s=e.count,i=kn(e.type,e.componentType),a=r.byteLength/i,f;return e.componentType?f=Pr(r,e.type,e.componentType,a):f=r,o?n?ts(f,t,n,r.length,i):s?rs(f,t,s):[]:f}function eg(e,t,r,n,o){let s=t.enumType;if(!s)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let i=e.enums?.[s];if(!i)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${s}`);let a=i.valueType||"UINT16",f=kn(t.type,a),c=n.byteLength/f,l=Pr(n,t.type,a,c);if(l||(l=n),t.array){if(o)return tg({valuesData:l,numberOfElements:r,arrayOffsets:o,valuesDataBytesLength:n.length,elementSize:f,enumEntry:i});let h=t.count;return h?rg(l,r,h,i):[]}return sa(l,0,r,i)}function tg(e){let{valuesData:t,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:o,elementSize:s,enumEntry:i}=e,a=[];for(let f=0;f<r;f++){let c=n[f],l=n[f+1]-n[f];if(l+c>o)break;let h=c/s,u=l/s,d=sa(t,h,u,i);a.push(d)}return a}function rg(e,t,r,n){let o=[];for(let s=0;s<t;s++){let i=r*s,a=sa(e,i,r,n);o.push(a)}return o}function sa(e,t,r,n){let o=[];for(let s=0;s<r;s++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)o.push("");else{let i=e[t+s],a=ng(n,i);a?o.push(a.name):o.push("")}return o}function ng(e,t){for(let r of e.values)if(r.value===t)return r;return null}var og="schemaClassId";function sg(e,t){let r=e.getExtension(Jr);if(r&&r.propertyTables)for(let n of r.propertyTables){let o=n.class,s=r.schema?.classes?.[o];n.properties&&s&&ig(n,s,e)}}function ig(e,t,r){for(let n in e.properties){let o=e.properties[n].data;if(o){let s=t.properties[n];if(s){let i=lg(o,s,r);e.properties[n]=i}}}}function ag(e,t,r=og){let n=e.getExtension(Jr);n||(n=e.addExtension(Jr)),n.schema=cg(t,r,n.schema);let o=fg(t,r,n.schema);return n.propertyTables||(n.propertyTables=[]),n.propertyTables.push(o)-1}function cg(e,t,r){let n=r??{id:"schema_id"},o={properties:{}};for(let s of e){let i={type:s.elementType,componentType:s.componentType};o.properties[s.name]=i}return n.classes={},n.classes[t]=o,n}function fg(e,t,r){let n={class:t,count:0},o=0,s=r.classes?.[t];for(let i of e){if(o===0&&(o=i.values.length),o!==i.values.length&&i.values.length)throw new Error("Illegal values in attributes");s?.properties[i.name]&&(n.properties||(n.properties={}),n.properties[i.name]={values:0,data:i.values})}return n.count=o,n}function lg(e,t,r){let n={values:0};if(t.type==="STRING"){let{stringData:o,stringOffsets:s}=dg(e);n.stringOffsets=oa(s,r),n.values=oa(o,r)}else if(t.type==="SCALAR"&&t.componentType){let o=ug(e,t.componentType);n.values=oa(o,r)}return n}var hg={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:Int32Array,UINT64:Uint32Array,FLOAT32:Float32Array,FLOAT64:Float64Array};function ug(e,t){let r=[];for(let o of e)r.push(Number(o));let n=hg[t];if(!n)throw new Error("Illegal component type");return new n(r)}function dg(e){let t=new TextEncoder,r=[],n=0;for(let f of e){let c=t.encode(f);n+=c.length,r.push(c)}let o=new Uint8Array(n),s=[],i=0;for(let f of r)o.set(f,i),s.push(i),i+=f.length;s.push(i);let a=new Uint32Array(s);return{stringData:o,stringOffsets:a}}function oa(e,t){return t.gltf.buffers.push({arrayBuffer:yt(e.buffer),byteOffset:e.byteOffset,byteLength:e.byteLength}),t.addBufferView(e)}var aa={};de(aa,{decode:()=>Ag,name:()=>mg});var oh="EXT_feature_metadata",mg=oh;async function Ag(e,t){let r=new V(e);pg(r,t)}function pg(e,t){if(!t.gltf?.loadBuffers)return;let r=e.getExtension(oh);r&&(t.gltf?.loadImages&&gg(e,r),Bg(e,r))}function gg(e,t){let r=t.schema;if(!r)return;let n=r.classes,{featureTextures:o}=t;if(n&&o)for(let s in n){let i=n[s],a=Eg(o,s);a&&yg(e,a,i)}}function Bg(e,t){let r=t.schema;if(!r)return;let n=r.classes,o=t.featureTables;if(n&&o)for(let s in n){let i=xg(o,s);i&&bg(e,r,i)}}function xg(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function Eg(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function bg(e,t,r){if(!r.class)return;let n=t.classes?.[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let o=r.count;for(let s in n.properties){let i=n.properties[s],a=r.properties?.[s];if(a){let f=_g(e,t,i,o,a);a.data=f}}}function yg(e,t,r){let n=t.class;for(let o in r.properties){let s=t?.properties?.[o];if(s){let i=Mg(e,s,n);s.data=i}}}function _g(e,t,r,n,o){let s=[],i=o.bufferView,a=e.getTypedArrayForBufferView(i),f=Tg(e,r,o,n),c=Cg(e,r,o,n);return r.type==="STRING"||r.componentType==="STRING"?s=ns(n,a,f,c):wg(r)&&(s=Ig(r,n,a,f)),s}function Tg(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?Ur(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function Cg(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?Ur(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function wg(e){let t=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return t.includes(e.type)||typeof e.componentType<"u"&&t.includes(e.componentType)}function Ig(e,t,r,n){let o=e.type==="ARRAY",s=e.componentCount,i="SCALAR",a=e.componentType||e.type,f=kn(i,a),c=r.byteLength/f,l=Pr(r,i,a,c);return o?n?ts(l,t,n,r.length,f):s?rs(l,t,s):[]:l}function Mg(e,t,r){let n=e.gltf.json;if(!n.meshes)return[];let o=[];for(let s of n.meshes)for(let i of s.primitives)Sg(e,r,t,o,i);return o}function Sg(e,t,r,n,o){let s={channels:r.channels,...r.texture},i=Hr(e,s,o);i&&es(e,t,i,n,o)}var sh="4.4.0";var ih="4.4.0";var os={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},ah;async function fa(e){An(e.modules);let t=Ks("basis");return t||(ah||=Fg(e),await ah)}async function Fg(e){let t=null,r=null;return[t,r]=await Promise.all([await Se(os.TRANSCODER,"textures",e),await Se(os.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Dg(t,r)}function Dg(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(o=>{let{BasisFile:s,initializeBasis:i}=o;i(),n({BasisFile:s})})})}var ca;async function la(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(ca=ca||Rg(e),await ca)}async function Rg(e){let t=null,r=null;return[t,r]=await Promise.all([await Se(os.ENCODER,"textures",e),await Se(os.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Lg(t,r)}function Lg(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(o=>{let{BasisFile:s,KTX2File:i,initializeBasis:a,BasisEncoder:f}=o;a(),n({BasisFile:s,KTX2File:i,BasisEncoder:f})})})}var Og=["","WEBKIT_","MOZ_"],ch={WEBGL_compressed_texture_s3tc:["bc1-rgb-unorm-webgl","bc1-rgba-unorm","bc2-rgba-unorm","bc3-rgba-unorm"],WEBGL_compressed_texture_s3tc_srgb:["bc1-rgb-unorm-srgb-webgl","bc1-rgba-unorm-srgb","bc2-rgba-unorm-srgb","bc3-rgba-unorm-srgb"],EXT_texture_compression_rgtc:["bc4-r-unorm","bc4-r-snorm","bc5-rg-unorm","bc5-rg-snorm"],EXT_texture_compression_bptc:["bc6h-rgb-ufloat","bc6h-rgb-float","bc7-rgba-unorm","bc7-rgba-unorm-srgb"],WEBGL_compressed_texture_etc1:["etc1-rgb-unorm-webgl"],WEBGL_compressed_texture_etc:["etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm"],WEBGL_compressed_texture_pvrtc:["pvrtc-rgb4unorm-webgl","pvrtc-rgba4unorm-webgl","pvrtc-rgb2unorm-webgl","pvrtc-rgba2unorm-webgl"],WEBGL_compressed_texture_atc:["atc-rgb-unorm-webgl","atc-rgba-unorm-webgl","atc-rgbai-unorm-webgl"],WEBGL_compressed_texture_astc:["astc-4x4-unorm","astc-4x4-unorm-srgb","astc-5x4-unorm","astc-5x4-unorm-srgb","astc-5x5-unorm","astc-5x5-unorm-srgb","astc-6x5-unorm","astc-6x5-unorm-srgb","astc-6x6-unorm","astc-6x6-unorm-srgb","astc-8x5-unorm","astc-8x5-unorm-srgb","astc-8x6-unorm","astc-8x6-unorm-srgb","astc-8x8-unorm","astc-8x8-unorm-srgb","astc-10x5-unorm","astc-10x5-unorm-srgb","astc-10x6-unorm","astc-10x6-unorm-srgb","astc-10x8-unorm","astc-10x8-unorm-srgb","astc-10x10-unorm","astc-10x10-unorm-srgb","astc-12x10-unorm","astc-12x10-unorm-srgb","astc-12x12-unorm","astc-12x12-unorm-srgb"]};var ss=null;function fh(e){if(!ss){e=e||vg()||void 0,ss=new Set;for(let t of Og)for(let r in ch)if(e&&e.getExtension(`${t}${r}`))for(let n of ch[r])ss.add(n)}return ss}function vg(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var Ie=[171,75,84,88,32,50,48,187,13,10,26,10];function lh(e){let t=new Uint8Array(e);return!(t.byteLength<Ie.length||t[0]!==Ie[0]||t[1]!==Ie[1]||t[2]!==Ie[2]||t[3]!==Ie[3]||t[4]!==Ie[4]||t[5]!==Ie[5]||t[6]!==Ie[6]||t[7]!==Ie[7]||t[8]!==Ie[8]||t[9]!==Ie[9]||t[10]!==Ie[10]||t[11]!==Ie[11])}var hh=Promise.resolve(),mh={etc1:{basisFormat:0,compressed:!0,format:36196,textureFormat:"etc1-rgb-unorm-webgl"},etc2:{basisFormat:1,compressed:!0,format:37493,textureFormat:"etc2-rgba8unorm"},bc1:{basisFormat:2,compressed:!0,format:33776,textureFormat:"bc1-rgb-unorm-webgl"},bc3:{basisFormat:3,compressed:!0,format:33779,textureFormat:"bc3-rgba-unorm"},bc4:{basisFormat:4,compressed:!0,format:36283,textureFormat:"bc4-r-unorm"},bc5:{basisFormat:5,compressed:!0,format:36285,textureFormat:"bc5-rg-unorm"},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0,format:36492,textureFormat:"bc7-rgba-unorm"},"bc7-m5":{basisFormat:7,compressed:!0,format:36492,textureFormat:"bc7-rgba-unorm"},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:35840,textureFormat:"pvrtc-rgb4unorm-webgl"},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:35842,textureFormat:"pvrtc-rgba4unorm-webgl"},"astc-4x4":{basisFormat:10,compressed:!0,format:37808,textureFormat:"astc-4x4-unorm"},"atc-rgb":{basisFormat:11,compressed:!0,format:35986,textureFormat:"atc-rgb-unorm-webgl"},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0,format:34798,textureFormat:"atc-rgbai-unorm-webgl"},rgba32:{basisFormat:13,compressed:!1,format:32856,textureFormat:"rgba8unorm"},rgb565:{basisFormat:14,compressed:!1,format:36194,textureFormat:"rgb565unorm-webgl"},bgr565:{basisFormat:15,compressed:!1,format:36194,textureFormat:"rgb565unorm-webgl"},rgba4444:{basisFormat:16,compressed:!1,format:32854,textureFormat:"rgba4unorm-webgl"}},G3=Object.freeze(Object.keys(mh));async function Ug(e){let t=hh,r;hh=new Promise(n=>{r=n}),await t;try{return await e()}finally{r()}}async function Ah(e,t={}){let r=gn(t);return await Ug(async()=>{if(!t.basis?.containerFormat||t.basis.containerFormat==="auto"){if(lh(e)){let o=await la(r);return uh(o.KTX2File,e,t)}let{BasisFile:n}=await fa(r);return ha(n,e,t)}switch(t.basis.module){case"encoder":let n=await la(r);switch(t.basis.containerFormat){case"ktx2":return uh(n.KTX2File,e,t);case"basis":default:return ha(n.BasisFile,e,t)}case"transcoder":default:let{BasisFile:o}=await fa(r);return ha(o,e,t)}})}function ha(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let o=n.getNumImages(),s=[];for(let i=0;i<o;i++){let a=n.getNumLevels(i),f=[];for(let c=0;c<a;c++)f.push(Pg(n,i,c,r));s.push(f)}return s}finally{n.close(),n.delete()}}function Pg(e,t,r,n){let o=e.getImageWidth(t,r),s=e.getImageHeight(t,r),i=e.getHasAlpha(),{compressed:a,format:f,basisFormat:c,textureFormat:l}=ph(n,i),h=e.getImageTranscodedSizeInBytes(t,r,c),u=new Uint8Array(h);if(!e.transcodeImage(u,t,r,c,0,0))throw new Error("failed to start Basis transcoding");return{shape:"texture-level",width:o,height:s,data:u,compressed:a,...f!==void 0?{format:f}:{},...l!==void 0?{textureFormat:l}:{},hasAlpha:i}}function uh(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let o=n.getLevels(),s=[];for(let i=0;i<o;i++)s.push(Hg(n,i,r));return[s]}finally{n.close(),n.delete()}}function Hg(e,t,r){let{alphaFlag:n,height:o,width:s}=e.getImageLevelInfo(t,0,0),{compressed:i,format:a,basisFormat:f,textureFormat:c}=ph(r,n),l=e.getImageTranscodedSizeInBytes(t,0,0,f),h=new Uint8Array(l);if(!e.transcodeImage(h,t,0,0,f,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{shape:"texture-level",width:s,height:o,data:h,compressed:i,...a!==void 0?{format:a}:{},...c!==void 0?{textureFormat:c}:{},levelSize:l,hasAlpha:n}}function ph(e,t){let r=e.basis?.format||"auto";r==="auto"&&(r=e.basis?.supportedTextureFormats?dh(e.basis.supportedTextureFormats):dh()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha);let n=r.toLowerCase(),o=mh[n];if(!o)throw new Error(`Unknown Basis format ${r}`);return o}function dh(e=fh()){let t=new Set(e);return zr(t,["astc-4x4-unorm","astc-4x4-unorm-srgb"])?"astc-4x4":zr(t,["bc7-rgba-unorm","bc7-rgba-unorm-srgb"])?{alpha:"bc7-m5",noAlpha:"bc7-m6-opaque-only"}:zr(t,["bc1-rgb-unorm-webgl","bc1-rgb-unorm-srgb-webgl","bc1-rgba-unorm","bc1-rgba-unorm-srgb","bc2-rgba-unorm","bc2-rgba-unorm-srgb","bc3-rgba-unorm","bc3-rgba-unorm-srgb"])?{alpha:"bc3",noAlpha:"bc1"}:zr(t,["pvrtc-rgb4unorm-webgl","pvrtc-rgba4unorm-webgl","pvrtc-rgb2unorm-webgl","pvrtc-rgba2unorm-webgl"])?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:zr(t,["etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm"])?"etc2":t.has("etc1-rgb-unorm-webgl")?"etc1":zr(t,["atc-rgb-unorm-webgl","atc-rgba-unorm-webgl","atc-rgbai-unorm-webgl"])?{alpha:"atc-rgba-interpolated-alpha",noAlpha:"atc-rgb"}:"rgb565"}function zr(e,t){return t.some(r=>e.has(r))}var gh={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:ih,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",containerFormat:"auto",module:"transcoder"}}},ua={...gh,parse:Ah};var Qr=!0,Bh=1735152710,Aa=12,is=8,kg=1313821514,Jg=5130562,zg=0,Qg=0,Vg=1;function jg(e,t=0){return`${String.fromCharCode(e.getUint8(t+0))}${String.fromCharCode(e.getUint8(t+1))}${String.fromCharCode(e.getUint8(t+2))}${String.fromCharCode(e.getUint8(t+3))}`}function xh(e,t=0,r={}){let n=new DataView(e),{magic:o=Bh}=r,s=n.getUint32(t,!1);return s===o||s===Bh}function Eh(e,t,r=0,n={}){let o=new DataView(t),s=jg(o,r+0),i=o.getUint32(r+4,Qr),a=o.getUint32(r+8,Qr);switch(Object.assign(e,{header:{byteOffset:r,byteLength:a,hasBinChunk:!1},type:s,version:i,json:{},binChunks:[]}),r+=Aa,e.version){case 1:return Kg(e,o,r);case 2:return Zg(e,o,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function Kg(e,t,r){z(e.header.byteLength>Aa+is);let n=t.getUint32(r+0,Qr),o=t.getUint32(r+4,Qr);return r+=is,z(o===zg),da(e,t,r,n),r+=n,r+=ma(e,t,r,e.header.byteLength),r}function Zg(e,t,r,n){return z(e.header.byteLength>Aa+is),Yg(e,t,r,n),r+e.header.byteLength}function Yg(e,t,r,n){for(;r+8<=e.header.byteLength;){let o=t.getUint32(r+0,Qr),s=t.getUint32(r+4,Qr);switch(r+=is,s){case kg:da(e,t,r,o);break;case Jg:ma(e,t,r,o);break;case Qg:n.strict||da(e,t,r,o);break;case Vg:n.strict||ma(e,t,r,o);break;default:break}r+=Ce(o,4)}return r}function da(e,t,r,n){let o=new Uint8Array(t.buffer,r,n),i=new TextDecoder("utf8").decode(o);return e.json=JSON.parse(i),Ce(n,4)}function ma(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),Ce(n,4)}function pa(e,t,r){if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;let o=r?.baseUrl||Wg(t?.core?.baseUrl);if(!o)throw new Error(`'baseUrl' must be provided to resolve relative url ${e}`);return o.endsWith("/")?`${o}${e}`:`${o}/${e}`}function Wg(e){if(!e)return;if(e.endsWith("/"))return e;let t=e.lastIndexOf("/");return t>=0?e.slice(0,t+1):""}var Ba={};de(Ba,{decode:()=>cB,name:()=>aB});var Xg="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",qg="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",$g=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]),eB=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]),tB={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},rB={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function bh(e,t,r,n,o,s="NONE"){let i=await nB();iB(i,i.exports[rB[o]],e,t,r,n,i.exports[tB[s||"NONE"]])}var ga;async function nB(){return ga||(ga=oB()),ga}async function oB(){let e=Xg;WebAssembly.validate($g)&&(e=qg,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate(sB(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function sB(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n){let o=e.charCodeAt(n);t[n]=o>96?o-71:o>64?o-65:o>47?o+4:o>46?63:62}let r=0;for(let n=0;n<e.length;++n)t[r++]=t[n]<60?eB[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function iB(e,t,r,n,o,s,i){let a=e.exports.sbrk,f=n+3&-4,c=a(f*o),l=a(s.length),h=new Uint8Array(e.exports.memory.buffer);h.set(s,l);let u=t(c,n,o,l,s.length);if(u===0&&i&&i(c,f,o),r.set(h.subarray(c,c+n*o)),a(c-a(0)),u!==0)throw new Error(`Malformed buffer data: ${u}`)}var as="EXT_meshopt_compression",aB=as;async function cB(e,t){let r=new V(e);if(!t?.gltf?.decompressMeshes||!t.gltf?.loadBuffers)return;let n=[];for(let o of e.json.bufferViews||[])n.push(fB(r,o));await Promise.all(n),r.removeExtension(as)}async function fB(e,t){let r=e.getObjectExtension(t,as);if(r){let{byteOffset:n=0,byteLength:o=0,byteStride:s,count:i,mode:a,filter:f="NONE",buffer:c}=r,l=e.gltf.buffers[c],h=new Uint8Array(l.arrayBuffer,l.byteOffset+n,o),u=new Uint8Array(e.gltf.buffers[t.buffer].arrayBuffer,t.byteOffset,t.byteLength);await bh(u,i,s,h,a,f),e.removeObjectExtension(t,as)}}var xa={};de(xa,{name:()=>lB,preprocess:()=>hB});var Vr="EXT_texture_webp",lB=Vr;function hB(e,t){let r=new V(e);if(!ra("image/webp")){if(r.getRequiredExtensions().includes(Vr))throw new Error(`gltf: Required extension ${Vr} not supported by browser`);return}let{json:n}=r;for(let o of n.textures||[]){let s=r.getObjectExtension(o,Vr);s&&(o.source=s.source),r.removeObjectExtension(o,Vr)}r.removeExtension(Vr)}var Ea={};de(Ea,{name:()=>uB,preprocess:()=>dB});var cs="KHR_texture_basisu",uB=cs;function dB(e,t){let r=new V(e),{json:n}=r;for(let o of n.textures||[]){let s=r.getObjectExtension(o,cs);s&&(o.source=s.source,r.removeObjectExtension(o,cs))}r.removeExtension(cs)}var ya={};de(ya,{decode:()=>BB,encode:()=>xB,name:()=>pB,preprocess:()=>gB});function yh(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let o=ba(n);t[r]=o}}return t}function ba(e){let{buffer:t,size:r,count:n}=mB(e);return{value:t,size:r,byteOffset:0,count:n,type:$o(r),componentType:Rt(t)}}function mB(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=AB(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function AB(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var Lt="KHR_draco_mesh_compression",pB=Lt;function gB(e,t,r){let n=new V(e);for(let o of _h(n))n.getObjectExtension(o,Lt)}async function BB(e,t,r){if(!t?.gltf?.decompressMeshes)return;let n=new V(e),o=[];for(let s of _h(n))n.getObjectExtension(s,Lt)&&o.push(EB(n,s,t,r));await Promise.all(o),n.removeExtension(Lt)}function xB(e,t={}){let r=new V(e);for(let n of r.json.meshes||[])bB(n,t),r.addRequiredExtension(Lt)}async function EB(e,t,r,n){let o=e.getObjectExtension(t,Lt);if(!o)return;let s=e.getTypedArrayForBufferView(o.bufferView),i=Qt(s.buffer,s.byteOffset),a={...r};delete a["3d-tiles"];let f=await ke(i,Nn,a,n),c=yh(f.attributes);for(let[l,h]of Object.entries(c))if(l in t.attributes){let u=t.attributes[l],d=e.getAccessor(u);d?.min&&d?.max&&(h.min=d.min,h.max=d.max)}t.attributes=c,f.indices&&(t.indices=ba(f.indices)),e.removeObjectExtension(t,Lt),yB(t)}function bB(e,t,r=4,n,o){if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let s=n.DracoWriter.encodeSync({attributes:e}),i=o?.parseSync?.({attributes:e}),a=n._addFauxAttributes(i.attributes),f=n.addBufferView(s);return{primitives:[{attributes:a,mode:r,extensions:{[Lt]:{bufferView:f,attributes:a}}}]}}function yB(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*_h(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var _a={};de(_a,{decode:()=>wB,name:()=>_B});var ls="KHR_texture_transform",_B=ls,fs=new w,TB=new Z,CB=new Z;async function wB(e,t){if(!new V(e).hasExtension(ls)||!t.gltf?.loadBuffers)return;let o=e.json.materials||[];for(let s=0;s<o.length;s++)IB(s,e)}function IB(e,t){let r=t.json.materials?.[e],n=[r?.pbrMetallicRoughness?.baseColorTexture,r?.emissiveTexture,r?.normalTexture,r?.occlusionTexture,r?.pbrMetallicRoughness?.metallicRoughnessTexture],o=[];for(let s of n)s&&s?.extensions?.[ls]&&MB(t,e,s,o)}function MB(e,t,r,n){let o=SB(r,n);if(!o)return;let s=e.json.meshes||[];for(let i of s)for(let a of i.primitives){let f=a.material;Number.isFinite(f)&&t===f&&FB(e,a,o)}}function SB(e,t){let r=e.extensions?.[ls],{texCoord:n=0}=e,{texCoord:o=n}=r;if(!(t.findIndex(([i,a])=>i===n&&a===o)!==-1)){let i=LB(r);return n!==o&&(e.texCoord=o),t.push([n,o]),{originalTexCoord:n,texCoord:o,matrix:i}}return null}function FB(e,t,r){let{originalTexCoord:n,texCoord:o,matrix:s}=r,i=t.attributes[`TEXCOORD_${n}`];if(Number.isFinite(i)){let a=e.json.accessors?.[i];if(a&&a.bufferView!==void 0){let f=e.json.bufferViews?.[a.bufferView];if(f){let{arrayBuffer:c,byteOffset:l}=e.buffers[f.buffer],h=(l||0)+(a.byteOffset||0)+(f.byteOffset||0),{ArrayType:u,length:d}=Gr(a,f),m=qo[a.componentType],A=Xo[a.type],p=f.byteStride||m*A,E=new Float32Array(d);for(let y=0;y<a.count;y++){let T=new u(c,h+y*p,2);fs.set(T[0],T[1],1),fs.transformByMatrix3(s),E.set([fs[0],fs[1]],y*A)}n===o?DB(a,e,E,a.bufferView):RB(o,a,t,e,E)}}}}function DB(e,t,r,n){e.componentType=5126,e.byteOffset=0;let i=(t.json.accessors||[]).reduce((c,l)=>l.bufferView===n?c+1:c,0)>1;t.buffers.push({arrayBuffer:yt(r.buffer),byteOffset:0,byteLength:r.buffer.byteLength});let a=t.buffers.length-1;if(t.json.bufferViews=t.json.bufferViews||[],i){t.json.bufferViews.push({buffer:a,byteLength:r.buffer.byteLength,byteOffset:0}),e.bufferView=t.json.bufferViews.length-1;return}let f=t.json.bufferViews[n];f&&(f.buffer=a,f.byteOffset=0,f.byteLength=r.buffer.byteLength,f.byteStride!==void 0&&delete f.byteStride)}function RB(e,t,r,n,o){n.buffers.push({arrayBuffer:yt(o.buffer),byteOffset:0,byteLength:o.buffer.byteLength}),n.json.bufferViews=n.json.bufferViews||[];let s=n.json.bufferViews;s.push({buffer:n.buffers.length-1,byteLength:o.buffer.byteLength,byteOffset:0});let i=n.json.accessors;i&&(i.push({bufferView:s?.length-1,byteOffset:0,componentType:5126,count:t.count,type:"VEC2"}),r.attributes[`TEXCOORD_${e}`]=i.length-1)}function LB(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,o=new Z().set(1,0,0,0,1,0,t[0],t[1],1),s=TB.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),i=CB.set(n[0],0,0,0,n[1],0,0,0,1);return o.multiplyRight(s).multiplyRight(i)}var Ta={};de(Ta,{decode:()=>vB,encode:()=>NB,name:()=>OB});var Xt="KHR_lights_punctual",OB=Xt;async function vB(e){let t=new V(e),{json:r}=t,n=t.getExtension(Xt);n&&(t.json.lights=n.lights,t.removeExtension(Xt));for(let o of r.nodes||[]){let s=t.getObjectExtension(o,Xt);s&&(o.light=s.light),t.removeObjectExtension(o,Xt)}}async function NB(e){let t=new V(e),{json:r}=t;if(r.lights){let n=t.addExtension(Xt);se(!n.lights),n.lights=r.lights,delete r.lights}if(t.json.lights){for(let n of t.json.lights){let o=n.node;t.addObjectExtension(o,Xt,n)}delete t.json.lights}}var Ca={};de(Ca,{decode:()=>UB,encode:()=>PB,name:()=>GB});var Jn="KHR_materials_unlit",GB=Jn;async function UB(e){let t=new V(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,Jn);t.removeExtension(Jn)}function PB(e){let t=new V(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,Jn,{}),t.addExtension(Jn))}var wa={};de(wa,{decode:()=>kB,encode:()=>JB,name:()=>HB});var zn="KHR_techniques_webgl",HB=zn;async function kB(e){let t=new V(e),{json:r}=t,n=t.getExtension(zn);if(n){let o=zB(n,t);for(let s of r.materials||[]){let i=t.getObjectExtension(s,zn);i&&(s.technique=Object.assign({},i,o[i.technique]),s.technique.values=QB(s.technique,t)),t.removeObjectExtension(s,zn)}t.removeExtension(zn)}}async function JB(e,t){}function zB(e,t){let{programs:r=[],shaders:n=[],techniques:o=[]}=e,s=new TextDecoder;return n.forEach(i=>{if(Number.isFinite(i.bufferView))i.code=s.decode(t.getTypedArrayForBufferView(i.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(i=>{i.fragmentShader=n[i.fragmentShader],i.vertexShader=n[i.vertexShader]}),o.forEach(i=>{i.program=r[i.program]}),o}function QB(e,t){let r=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(n=>{e.uniforms[n].value&&!(n in r)&&(r[n]=e.uniforms[n].value)}),Object.keys(r).forEach(n=>{typeof r[n]=="object"&&r[n].index!==void 0&&(r[n].texture=t.getTexture(r[n].index))}),r}var Th=[ia,na,Ba,xa,Ea,ya,Ta,Ca,wa,_a,aa];function Ch(e,t={},r){let n=Th.filter(o=>Ih(o.name,t));for(let o of n)o.preprocess?.(e,t,r)}async function wh(e,t={},r){let n=Th.filter(o=>Ih(o.name,t));for(let o of n)await o.decode?.(e,t,r)}function Ih(e,t){let r=t?.gltf?.excludeExtensions||{};return!(e in r&&!r[e])}var Ia="KHR_binary_glTF";function Mh(e){let t=new V(e),{json:r}=t;for(let n of r.images||[]){let o=t.getObjectExtension(n,Ia);o&&Object.assign(n,o),t.removeObjectExtension(n,Ia)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(Ia)}var Sh={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},jB={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},Ma=class{idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}};json;normalize(t,r){this.json=t.json;let n=t.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(!r.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),Mh(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(let r in Sh)this._convertTopLevelObjectToArray(t,r)}_convertTopLevelObjectToArray(t,r){let n=t[r];if(!(!n||Array.isArray(n))){t[r]=[];for(let o in n){let s=n[o];s.id=s.id||o;let i=t[r].length;t[r].push(s),this.idToIndexMap[r][o]=i}}}_convertObjectIdsToArrayIndices(t){for(let r in Sh)this._convertIdsToIndices(t,r);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(let r of t.textures)this._convertTextureIds(r);for(let r of t.meshes)this._convertMeshIds(r);for(let r of t.nodes)this._convertNodeIds(r);for(let r of t.scenes)this._convertSceneIds(r)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(let r of t.primitives){let{attributes:n,indices:o,material:s}=r;for(let i in n)n[i]=this._convertIdToIndex(n[i],"accessor");o&&(r.indices=this._convertIdToIndex(o,"accessor")),s&&(r.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(r=>this._convertIdToIndex(r,"node"))),t.meshes&&(t.meshes=t.meshes.map(r=>this._convertIdToIndex(r,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(r=>this._convertIdToIndex(r,"node")))}_convertIdsToIndices(t,r){t[r]||(console.warn(`gltf v1: json doesn't contain attribute ${r}`),t[r]=[]);for(let n of t[r])for(let o in n){let s=n[o],i=this._convertIdToIndex(s,o);n[o]=i}}_convertIdToIndex(t,r){let n=jB[r];if(n in this.idToIndexMap){let o=this.idToIndexMap[n][t];if(!Number.isFinite(o))throw new Error(`gltf v1: failed to resolve ${r} with id ${t}`);return o}return t}_updateObjects(t){for(let r of this.json.buffers)delete r.type}_updateMaterial(t){for(let r of t.materials){r.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let n=r.values?.tex||r.values?.texture2d_0||r.values?.diffuseTex,o=t.textures.findIndex(s=>s.id===n);o!==-1&&(r.pbrMetallicRoughness.baseColorTexture={index:o})}}};function Fh(e,t={}){return new Ma().normalize(e,t)}async function Dh(e,t,r=0,n,o){return KB(e,t,r,n),Fh(e,{normalize:n?.gltf?.normalize}),Ch(e,n,o),n?.gltf?.loadBuffers&&e.json.buffers&&await ZB(e,n,o),n?.gltf?.loadImages&&await YB(e,n,o),await wh(e,n,o),e}function KB(e,t,r,n){if(n.core?.baseUrl&&(e.baseUri=n.core?.baseUrl),t instanceof ArrayBuffer&&!xh(t,r,n.glb)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=Ys(t);else if(t instanceof ArrayBuffer){let i={};r=Eh(i,t,r,n.glb),se(i.type==="glTF",`Invalid GLB magic string ${i.type}`),e._glb=i,e.json=i.json}else se(!1,"GLTF: must be ArrayBuffer or string");let o=e.json.buffers||[];if(e.buffers=new Array(o.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:i}=e._glb;e.buffers[0]={arrayBuffer:i[0].arrayBuffer,byteOffset:i[0].byteOffset,byteLength:i[0].byteLength}}let s=e.json.images||[];e.images=new Array(s.length).fill({})}async function ZB(e,t,r){let n=e.json.buffers||[];for(let o=0;o<n.length;++o){let s=n[o];if(s.uri){let{fetch:i}=r;se(i);let a=pa(s.uri,t,r),c=await(await r?.fetch?.(a))?.arrayBuffer?.();e.buffers[o]={arrayBuffer:c,byteOffset:0,byteLength:c.byteLength},delete s.uri}else e.buffers[o]===null&&(e.buffers[o]={arrayBuffer:new ArrayBuffer(s.byteLength),byteOffset:0,byteLength:s.byteLength})}}async function YB(e,t,r){let n=WB(e),o=e.json.images||[],s=[];for(let i of n)s.push(XB(e,o[i],i,t,r));return await Promise.all(s)}function WB(e){let t=new Set,r=e.json.textures||[];for(let n of r)n.source!==void 0&&t.add(n.source);return Array.from(t).sort()}async function XB(e,t,r,n,o){let s;if(t.uri&&!t.hasOwnProperty("bufferView")){let c=pa(t.uri,n,o),{fetch:l}=o;s=await(await l(c)).arrayBuffer(),t.bufferView={data:s}}if(Number.isFinite(t.bufferView)){let c=$l(e.json,e.buffers,t.bufferView);s=Qt(c.buffer,c.byteOffset,c.byteLength)}se(s,"glTF image has no data");let i=n,a={...i,core:{...i?.core,mimeType:t.mimeType}},f=await ke(s,[ea,ua],a,o);f&&f[0]&&(f={compressed:!0,mipmaps:!1,width:f[0].width,height:f[0].height,data:f[0]}),e.images=e.images||[],e.images[r]=f}var qt={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:sh,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:qB,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0}}};async function qB(e,t={},r){let n={...qt.options,...t};n.gltf={...qt.options.gltf,...n.gltf};let o=t?.glb?.byteOffset||0;return await Dh({},e,o,n,r)}var $B={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},ex={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Oe={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},tx={magFilter:Oe.TEXTURE_MAG_FILTER,minFilter:Oe.TEXTURE_MIN_FILTER,wrapS:Oe.TEXTURE_WRAP_S,wrapT:Oe.TEXTURE_WRAP_T},rx={[Oe.TEXTURE_MAG_FILTER]:Oe.LINEAR,[Oe.TEXTURE_MIN_FILTER]:Oe.NEAREST_MIPMAP_LINEAR,[Oe.TEXTURE_WRAP_S]:Oe.REPEAT,[Oe.TEXTURE_WRAP_T]:Oe.REPEAT};function nx(){return{id:"default-sampler",parameters:rx}}function ox(e){return ex[e]}function sx(e){return $B[e]}var Sa=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:o=[],images:s=[]}=t,{baseUri:i=""}=t;return se(n),this.baseUri=i,this.buffers=o,this.images=s,this.jsonUnprocessed=n,this.json=this._resolveTree(t.json,r),this.json}_resolveTree(t,r={}){let n={...t};return this.json=n,t.bufferViews&&(n.bufferViews=t.bufferViews.map((o,s)=>this._resolveBufferView(o,s))),t.images&&(n.images=t.images.map((o,s)=>this._resolveImage(o,s))),t.samplers&&(n.samplers=t.samplers.map((o,s)=>this._resolveSampler(o,s))),t.textures&&(n.textures=t.textures.map((o,s)=>this._resolveTexture(o,s))),t.accessors&&(n.accessors=t.accessors.map((o,s)=>this._resolveAccessor(o,s))),t.materials&&(n.materials=t.materials.map((o,s)=>this._resolveMaterial(o,s))),t.meshes&&(n.meshes=t.meshes.map((o,s)=>this._resolveMesh(o,s))),t.nodes&&(n.nodes=t.nodes.map((o,s)=>this._resolveNode(o,s)),n.nodes=n.nodes.map((o,s)=>this._resolveNodeChildren(o))),t.skins&&(n.skins=t.skins.map((o,s)=>this._resolveSkin(o,s))),t.scenes&&(n.scenes=t.scenes.map((o,s)=>this._resolveScene(o,s))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(t){return this._get(this.json.scenes,t)}getNode(t){return this._get(this.json.nodes,t)}getSkin(t){return this._get(this.json.skins,t)}getMesh(t){return this._get(this.json.meshes,t)}getMaterial(t){return this._get(this.json.materials,t)}getAccessor(t){return this._get(this.json.accessors,t)}getCamera(t){return this._get(this.json.cameras,t)}getTexture(t){return this._get(this.json.textures,t)}getSampler(t){return this._get(this.json.samplers,t)}getImage(t){return this._get(this.json.images,t)}getBufferView(t){return this._get(this.json.bufferViews,t)}getBuffer(t){return this._get(this.json.buffers,t)}_get(t,r){if(typeof r=="object")return r;let n=t&&t[r];return n||console.warn(`glTF file error: Could not find ${t}[${r}]`),n}_resolveScene(t,r){return{...t,id:t.id||`scene-${r}`,nodes:(t.nodes||[]).map(n=>this.getNode(n))}}_resolveNode(t,r){let n={...t,id:t?.id||`node-${r}`};return t.mesh!==void 0&&(n.mesh=this.getMesh(t.mesh)),t.camera!==void 0&&(n.camera=this.getCamera(t.camera)),t.skin!==void 0&&(n.skin=this.getSkin(t.skin)),t.meshes!==void 0&&t.meshes.length&&(n.mesh=t.meshes.reduce((o,s)=>{let i=this.getMesh(s);return o.id=i.id,o.primitives=o.primitives.concat(i.primitives),o},{primitives:[]})),n}_resolveNodeChildren(t){return t.children&&(t.children=t.children.map(r=>this.getNode(r))),t}_resolveSkin(t,r){let n=typeof t.inverseBindMatrices=="number"?this.getAccessor(t.inverseBindMatrices):void 0;return{...t,id:t.id||`skin-${r}`,inverseBindMatrices:n}}_resolveMesh(t,r){let n={...t,id:t.id||`mesh-${r}`,primitives:[]};return t.primitives&&(n.primitives=t.primitives.map(o=>{let s={...o,attributes:{},indices:void 0,material:void 0},i=o.attributes;for(let a in i)s.attributes[a]=this.getAccessor(i[a]);return o.indices!==void 0&&(s.indices=this.getAccessor(o.indices)),o.material!==void 0&&(s.material=this.getMaterial(o.material)),s})),n}_resolveMaterial(t,r){let n={...t,id:t.id||`material-${r}`};if(n.normalTexture&&(n.normalTexture={...n.normalTexture},n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture={...n.occlusionTexture},n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture={...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={...n.pbrMetallicRoughness};let o=n.pbrMetallicRoughness;o.baseColorTexture&&(o.baseColorTexture={...o.baseColorTexture},o.baseColorTexture.texture=this.getTexture(o.baseColorTexture.index)),o.metallicRoughnessTexture&&(o.metallicRoughnessTexture={...o.metallicRoughnessTexture},o.metallicRoughnessTexture.texture=this.getTexture(o.metallicRoughnessTexture.index))}return n}_resolveAccessor(t,r){let n=ox(t.componentType),o=sx(t.type),s=n*o,i={...t,id:t.id||`accessor-${r}`,bytesPerComponent:n,components:o,bytesPerElement:s,value:void 0,bufferView:void 0,sparse:void 0};if(t.bufferView!==void 0&&(i.bufferView=this.getBufferView(t.bufferView)),i.bufferView){let a=i.bufferView.buffer,{ArrayType:f,byteLength:c}=Gr(i,i.bufferView),l=(i.bufferView.byteOffset||0)+(i.byteOffset||0)+a.byteOffset,h=Et(a.arrayBuffer,l,c);i.bufferView.byteStride&&(h=this._getValueFromInterleavedBuffer(a,l,i.bufferView.byteStride,i.bytesPerElement,i.count)),i.value=new f(h)}return i}_getValueFromInterleavedBuffer(t,r,n,o,s){let i=new Uint8Array(s*o);for(let a=0;a<s;a++){let f=r+a*n;i.set(new Uint8Array(t.arrayBuffer.slice(f,f+o)),a*o)}return i.buffer}_resolveTexture(t,r){return{...t,id:t.id||`texture-${r}`,sampler:typeof t.sampler=="number"?this.getSampler(t.sampler):nx(),source:typeof t.source=="number"?this.getImage(t.source):void 0}}_resolveSampler(t,r){let n={id:t.id||`sampler-${r}`,...t,parameters:{}};for(let o in n){let s=this._enumSamplerParameter(o);s!==void 0&&(n.parameters[s]=n[o])}return n}_enumSamplerParameter(t){return tx[t]}_resolveImage(t,r){let n={...t,id:t.id||`image-${r}`,image:null,bufferView:t.bufferView!==void 0?this.getBufferView(t.bufferView):void 0},o=this.images[r];return o&&(n.image=o),n}_resolveBufferView(t,r){let n=t.buffer,o=this.buffers[n].arrayBuffer,s=this.buffers[n].byteOffset||0;return t.byteOffset&&(s+=t.byteOffset),{id:`bufferView-${r}`,...t,buffer:this.buffers[n],data:new Uint8Array(o,s,t.byteLength)}}_resolveCamera(t,r){let n={...t,id:t.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function Qn(e,t){return new Sa().postProcess(e,t)}var hs={URI:0,EMBEDDED:1};function us(e,t,r,n){e.rotateYtoZ=!0;let o=(e.byteOffset||0)+(e.byteLength||0)-r;if(o===0)throw new Error("glTF byte length must be greater than 0.");return e.gltfUpAxis=n?.["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",e.gltfArrayBuffer=Qt(t,r,o),e.gltfByteOffset=0,e.gltfByteLength=o,r%4===0||console.warn(`${e.type}: embedded glb is not aligned to a 4-byte boundary.`),(e.byteOffset||0)+(e.byteLength||0)}async function ds(e,t,r,n){let o=r?.["3d-tiles"]||{};if(ix(e,t,r),o.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:s}=n,i=await s(e.gltfUrl,r?.core);e.gltfArrayBuffer=await i.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let s=await ke(e.gltfArrayBuffer,qt,r,n);e.gltf=Qn(s),e.gpuMemoryUsageInBytes=Hn(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function ix(e,t,r){switch(t){case hs.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),s=new TextDecoder().decode(n);e.gltfUrl=s.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case hs.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function Rh(e,t,r,n,o){r=ax(e,t,r,n,o),await ds(e,hs.EMBEDDED,n,o);let s=e?.gltf?.extensions;return s&&s.CESIUM_RTC&&(e.rtcCenter=s.CESIUM_RTC.center),r}function ax(e,t,r,n,o){r=Dt(e,t,r),r=vr(e,t,r),r=Nr(e,t,r,n),r=us(e,t,r,n);let s=new ze(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=s.getGlobalProperty("RTC_CENTER",H.FLOAT,3),r}async function Lh(e,t,r,n,o){return r=cx(e,t,r,n,o),await ds(e,e.gltfFormat||0,n,o),r}function cx(e,t,r,n,o){if(r=Dt(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=vr(e,t,r);let s=new DataView(t);if(e.gltfFormat=s.getUint32(r,!0),r+=4,r=Nr(e,t,r,n),r=us(e,t,r,n),!e?.header?.featureTableJsonByteLength||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let i=new ze(e.featureTableJson,e.featureTableBinary),a=i.getGlobalProperty("INSTANCES_LENGTH");if(i.featuresLength=a,!Number.isFinite(a))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");e.eastNorthUp=i.getGlobalProperty("EAST_NORTH_UP"),e.rtcCenter=i.getGlobalProperty("RTC_CENTER",H.FLOAT,3);let f=new ut(e.batchTableJson,e.batchTableBinary,a);return fx(e,i,f,a),r}function fx(e,t,r,n){let o=new Array(n),s=new w,i=new w,a=new w,f=new w,c=new Z,l=new wt,h=new w,u={},d=new De,m=[],A=[],p=[],E=[];for(let y=0;y<n;y++){let T;if(t.hasProperty("POSITION"))T=t.getProperty("POSITION",H.FLOAT,3,y,s);else if(t.hasProperty("POSITION_QUANTIZED")){T=t.getProperty("POSITION_QUANTIZED",H.UNSIGNED_SHORT,3,y,s);let g=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",H.FLOAT,3);if(!g)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let x=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",H.FLOAT,3);if(!x)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let b=65535;for(let U=0;U<3;U++)T[U]=T[U]/b*x[U]+g[U]}if(!T)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");s.copy(T),u.translation=s,e.normalUp=t.getProperty("NORMAL_UP",H.FLOAT,3,y,m),e.normalRight=t.getProperty("NORMAL_RIGHT",H.FLOAT,3,y,A);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=t.getProperty("NORMAL_UP_OCT32P",H.UNSIGNED_SHORT,2,y,m),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",H.UNSIGNED_SHORT,2,y,A),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?(ct.WGS84.eastNorthUpToFixedFrame(s,d),d.getRotationMatrix3(c)):c.identity()}C&&(f.copy(i).cross(a).normalize(),c.setColumn(0,i),c.setColumn(1,a),c.setColumn(2,f)),l.fromMatrix3(c),u.rotation=l,h.set(1,1,1);let _=t.getProperty("SCALE",H.FLOAT,1,y,p);Number.isFinite(_)&&h.multiplyByScalar(_);let I=t.getProperty("SCALE_NON_UNIFORM",H.FLOAT,3,y,m);I&&h.scale(I),u.scale=h;let M=t.getProperty("BATCH_ID",H.UNSIGNED_SHORT,1,y,E);M===void 0&&(M=y);let L=new De().fromQuaternion(u.rotation);d.identity(),d.translate(u.translation),d.multiplyRight(L),d.scale(u.scale);let B=d.clone();o[y]={modelMatrix:B,batchId:M}}e.instances=o}async function Oh(e,t,r,n,o,s){r=Dt(e,t,r);let i=new DataView(t);for(e.tilesLength=i.getUint32(r,!0),r+=4,e.tiles=[];e.tiles.length<e.tilesLength&&(e.byteLength||0)-r>12;){let a={shape:"tile3d"};e.tiles.push(a),r=await s(t,r,n,o,a)}return r}async function vh(e,t,r,n){if(e.rotateYtoZ=!0,e.gltfUpAxis=r?.["3d-tiles"]?.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",r?.["3d-tiles"]?.loadGLTF){if(!n)return t.byteLength;let o=await ke(t,qt,r,n);e.gltf=Qn(o),e.gpuMemoryUsageInBytes=Hn(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function Fa(e,t=0,r,n,o={shape:"tile3d"}){switch(o.byteOffset=t,o.type=xl(e,t),o.type){case be.COMPOSITE:return await Oh(o,e,t,r,n,Fa);case be.BATCHED_3D_MODEL:return await Rh(o,e,t,r,n);case be.GLTF:return await vh(o,e,r,n);case be.INSTANCED_3D_MODEL:return await Lh(o,e,t,r,n);case be.POINT_CLOUD:return await kl(o,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${o.type}`)}}async function Da(e,t,r){if(new Uint32Array(e.slice(0,4))[0]!==1952609651)throw new Error("Wrong subtree file magic number");if(new Uint32Array(e.slice(4,8))[0]!==1)throw new Error("Wrong subtree file verson, must be 1");let s=Nh(e.slice(8,16)),i=new Uint8Array(e,24,s),f=new TextDecoder("utf8").decode(i),c=JSON.parse(f),l=Nh(e.slice(16,24)),h=new ArrayBuffer(0);if(l&&(h=e.slice(24+s)),await ms(c,c.tileAvailability,h,r),Array.isArray(c.contentAvailability))for(let u of c.contentAvailability)await ms(c,u,h,r);else await ms(c,c.contentAvailability,h,r);return await ms(c,c.childSubtreeAvailability,h,r),c}async function ms(e,t,r,n){let o=Number.isFinite(t.bitstream)?t.bitstream:t.bufferView;if(typeof o!="number")return;let s=e.bufferViews[o],i=e.buffers[s.buffer];if(!n?.baseUrl)throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(i.uri){let f=`${n?.baseUrl||""}/${i.uri}`,l=await(await n.fetch(f)).arrayBuffer();t.explicitBitstream=new Uint8Array(l,s.byteOffset,s.byteLength);return}let a=e.buffers.slice(0,s.buffer).reduce((f,c)=>f+c.byteLength,0);t.explicitBitstream=new Uint8Array(r.slice(a,a+i.byteLength),s.byteOffset,s.byteLength)}function Nh(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var jr={dataType:null,batchType:null,id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:Rr,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:Da,options:{}};var ou=Br(dn(),1);var eu=Br(dn(),1);var ve=null;try{ve=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 Y(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}Y.prototype.__isLong__;Object.defineProperty(Y.prototype,"__isLong__",{value:!0});function me(e){return(e&&e.__isLong__)===!0}function Gh(e){var t=Math.clz32(e&-e);return e?31-t:t}Y.isLong=me;var Uh={},Ph={};function $t(e,t){var r,n,o;return t?(e>>>=0,(o=0<=e&&e<256)&&(n=Ph[e],n)?n:(r=Q(e,0,!0),o&&(Ph[e]=r),r)):(e|=0,(o=-128<=e&&e<128)&&(n=Uh[e],n)?n:(r=Q(e,e<0?-1:0,!1),o&&(Uh[e]=r),r))}Y.fromInt=$t;function Ne(e,t){if(isNaN(e))return t?dt:Qe;if(t){if(e<0)return dt;if(e>=zh)return jh}else{if(e<=-kh)return _e;if(e+1>=kh)return Vh}return e<0?Ne(-e,t).neg():Q(e%Zr|0,e/Zr|0,t)}Y.fromNumber=Ne;function Q(e,t,r){return new Y(e,t,r)}Y.fromBits=Q;var As=Math.pow;function La(e,t,r){if(e.length===0)throw Error("empty string");if(typeof t=="number"?(r=t,t=!1):t=!!t,e==="NaN"||e==="Infinity"||e==="+Infinity"||e==="-Infinity")return t?dt:Qe;if(r=r||10,r<2||36<r)throw RangeError("radix");var n;if((n=e.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return La(e.substring(1),t,r).neg();for(var o=Ne(As(r,8)),s=Qe,i=0;i<e.length;i+=8){var a=Math.min(8,e.length-i),f=parseInt(e.substring(i,i+a),r);if(a<8){var c=Ne(As(r,a));s=s.mul(c).add(Ne(f))}else s=s.mul(o),s=s.add(Ne(f))}return s.unsigned=t,s}Y.fromString=La;function Ge(e,t){return typeof e=="number"?Ne(e,t):typeof e=="string"?La(e,t):Q(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}Y.fromValue=Ge;var Hh=1<<16,lx=1<<24,Zr=Hh*Hh,zh=Zr*Zr,kh=zh/2,Jh=$t(lx),Qe=$t(0);Y.ZERO=Qe;var dt=$t(0,!0);Y.UZERO=dt;var Kr=$t(1);Y.ONE=Kr;var Qh=$t(1,!0);Y.UONE=Qh;var Ra=$t(-1);Y.NEG_ONE=Ra;var Vh=Q(-1,2147483647,!1);Y.MAX_VALUE=Vh;var jh=Q(-1,-1,!0);Y.MAX_UNSIGNED_VALUE=jh;var _e=Q(0,-2147483648,!1);Y.MIN_VALUE=_e;var O=Y.prototype;O.toInt=function(){return this.unsigned?this.low>>>0:this.low};O.toNumber=function(){return this.unsigned?(this.high>>>0)*Zr+(this.low>>>0):this.high*Zr+(this.low>>>0)};O.toString=function(t){if(t=t||10,t<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(_e)){var r=Ne(t),n=this.div(r),o=n.mul(r).sub(this);return n.toString(t)+o.toInt().toString(t)}else return"-"+this.neg().toString(t);for(var s=Ne(As(t,6),this.unsigned),i=this,a="";;){var f=i.div(s),c=i.sub(f.mul(s)).toInt()>>>0,l=c.toString(t);if(i=f,i.isZero())return l+a;for(;l.length<6;)l="0"+l;a=""+l+a}};O.getHighBits=function(){return this.high};O.getHighBitsUnsigned=function(){return this.high>>>0};O.getLowBits=function(){return this.low};O.getLowBitsUnsigned=function(){return this.low>>>0};O.getNumBitsAbs=function(){if(this.isNegative())return this.eq(_e)?64:this.neg().getNumBitsAbs();for(var t=this.high!=0?this.high:this.low,r=31;r>0&&!(t&1<<r);r--);return this.high!=0?r+33:r+1};O.isSafeInteger=function(){var t=this.high>>21;return t?this.unsigned?!1:t===-1&&!(this.low===0&&this.high===-2097152):!0};O.isZero=function(){return this.high===0&&this.low===0};O.eqz=O.isZero;O.isNegative=function(){return!this.unsigned&&this.high<0};O.isPositive=function(){return this.unsigned||this.high>=0};O.isOdd=function(){return(this.low&1)===1};O.isEven=function(){return(this.low&1)===0};O.equals=function(t){return me(t)||(t=Ge(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};O.eq=O.equals;O.notEquals=function(t){return!this.eq(t)};O.neq=O.notEquals;O.ne=O.notEquals;O.lessThan=function(t){return this.comp(t)<0};O.lt=O.lessThan;O.lessThanOrEqual=function(t){return this.comp(t)<=0};O.lte=O.lessThanOrEqual;O.le=O.lessThanOrEqual;O.greaterThan=function(t){return this.comp(t)>0};O.gt=O.greaterThan;O.greaterThanOrEqual=function(t){return this.comp(t)>=0};O.gte=O.greaterThanOrEqual;O.ge=O.greaterThanOrEqual;O.compare=function(t){if(me(t)||(t=Ge(t)),this.eq(t))return 0;var r=this.isNegative(),n=t.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1};O.comp=O.compare;O.negate=function(){return!this.unsigned&&this.eq(_e)?_e:this.not().add(Kr)};O.neg=O.negate;O.add=function(t){me(t)||(t=Ge(t));var r=this.high>>>16,n=this.high&65535,o=this.low>>>16,s=this.low&65535,i=t.high>>>16,a=t.high&65535,f=t.low>>>16,c=t.low&65535,l=0,h=0,u=0,d=0;return d+=s+c,u+=d>>>16,d&=65535,u+=o+f,h+=u>>>16,u&=65535,h+=n+a,l+=h>>>16,h&=65535,l+=r+i,l&=65535,Q(u<<16|d,l<<16|h,this.unsigned)};O.subtract=function(t){return me(t)||(t=Ge(t)),this.add(t.neg())};O.sub=O.subtract;O.multiply=function(t){if(this.isZero())return this;if(me(t)||(t=Ge(t)),ve){var r=ve.mul(this.low,this.high,t.low,t.high);return Q(r,ve.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?dt:Qe;if(this.eq(_e))return t.isOdd()?_e:Qe;if(t.eq(_e))return this.isOdd()?_e:Qe;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(Jh)&&t.lt(Jh))return Ne(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,o=this.high&65535,s=this.low>>>16,i=this.low&65535,a=t.high>>>16,f=t.high&65535,c=t.low>>>16,l=t.low&65535,h=0,u=0,d=0,m=0;return m+=i*l,d+=m>>>16,m&=65535,d+=s*l,u+=d>>>16,d&=65535,d+=i*c,u+=d>>>16,d&=65535,u+=o*l,h+=u>>>16,u&=65535,u+=s*c,h+=u>>>16,u&=65535,u+=i*f,h+=u>>>16,u&=65535,h+=n*l+o*c+s*f+i*a,h&=65535,Q(d<<16|m,h<<16|u,this.unsigned)};O.mul=O.multiply;O.divide=function(t){if(me(t)||(t=Ge(t)),t.isZero())throw Error("division by zero");if(ve){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?ve.div_u:ve.div_s)(this.low,this.high,t.low,t.high);return Q(r,ve.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?dt:Qe;var n,o,s;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return dt;if(t.gt(this.shru(1)))return Qh;s=dt}else{if(this.eq(_e)){if(t.eq(Kr)||t.eq(Ra))return _e;if(t.eq(_e))return Kr;var i=this.shr(1);return n=i.div(t).shl(1),n.eq(Qe)?t.isNegative()?Kr:Ra:(o=this.sub(t.mul(n)),s=n.add(o.div(t)),s)}else if(t.eq(_e))return this.unsigned?dt:Qe;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();s=Qe}for(o=this;o.gte(t);){n=Math.max(1,Math.floor(o.toNumber()/t.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),f=a<=48?1:As(2,a-48),c=Ne(n),l=c.mul(t);l.isNegative()||l.gt(o);)n-=f,c=Ne(n,this.unsigned),l=c.mul(t);c.isZero()&&(c=Kr),s=s.add(c),o=o.sub(l)}return s};O.div=O.divide;O.modulo=function(t){if(me(t)||(t=Ge(t)),ve){var r=(this.unsigned?ve.rem_u:ve.rem_s)(this.low,this.high,t.low,t.high);return Q(r,ve.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};O.mod=O.modulo;O.rem=O.modulo;O.not=function(){return Q(~this.low,~this.high,this.unsigned)};O.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};O.clz=O.countLeadingZeros;O.countTrailingZeros=function(){return this.low?Gh(this.low):Gh(this.high)+32};O.ctz=O.countTrailingZeros;O.and=function(t){return me(t)||(t=Ge(t)),Q(this.low&t.low,this.high&t.high,this.unsigned)};O.or=function(t){return me(t)||(t=Ge(t)),Q(this.low|t.low,this.high|t.high,this.unsigned)};O.xor=function(t){return me(t)||(t=Ge(t)),Q(this.low^t.low,this.high^t.high,this.unsigned)};O.shiftLeft=function(t){return me(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Q(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):Q(0,this.low<<t-32,this.unsigned)};O.shl=O.shiftLeft;O.shiftRight=function(t){return me(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Q(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):Q(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};O.shr=O.shiftRight;O.shiftRightUnsigned=function(t){return me(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Q(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?Q(this.high,0,this.unsigned):Q(this.high>>>t-32,0,this.unsigned)};O.shru=O.shiftRightUnsigned;O.shr_u=O.shiftRightUnsigned;O.rotateLeft=function(t){var r;return me(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?Q(this.high,this.low,this.unsigned):t<32?(r=32-t,Q(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,Q(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};O.rotl=O.rotateLeft;O.rotateRight=function(t){var r;return me(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?Q(this.high,this.low,this.unsigned):t<32?(r=32-t,Q(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,Q(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};O.rotr=O.rotateRight;O.toSigned=function(){return this.unsigned?Q(this.low,this.high,!1):this};O.toUnsigned=function(){return this.unsigned?this:Q(this.low,this.high,!0)};O.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};O.toBytesLE=function(){var t=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,t&255,t>>>8&255,t>>>16&255,t>>>24]};O.toBytesBE=function(){var t=this.high,r=this.low;return[t>>>24,t>>>16&255,t>>>8&255,t&255,r>>>24,r>>>16&255,r>>>8&255,r&255]};Y.fromBytes=function(t,r,n){return n?Y.fromBytesLE(t,r):Y.fromBytesBE(t,r)};Y.fromBytesLE=function(t,r){return new Y(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};Y.fromBytesBE=function(t,r){return new Y(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};typeof BigInt=="function"&&(Y.fromBigInt=function(t,r){var n=Number(BigInt.asIntN(32,t)),o=Number(BigInt.asIntN(32,t>>BigInt(32)));return Q(n,o,r)},Y.fromValue=function(t,r){return typeof t=="bigint"?Y.fromBigInt(t,r):Ge(t,r)},O.toBigInt=function(){var t=BigInt(this.low>>>0),r=BigInt(this.unsigned?this.high>>>0:this.high);return r<<BigInt(32)|t});var Yr=Y;var hx=16;function Vn(e){e==="X"&&(e="");let t=e.padEnd(hx,"0");return Yr.fromString(t,!0,16)}function Oa(e){if(e.isZero())return"X";let t=e.countTrailingZeros(),r=t%4;t=(t-r)/4;let n=t;t*=4;let s=e.shiftRightUnsigned(t).toString(16).replace(/0+$/,"");return Array(17-n-s.length).join("0")+s}function va(e,t){let r=ux(e).shiftRightUnsigned(2);return e.add(Yr.fromNumber(2*t+1-4).multiply(r))}function ux(e){return e.and(e.not().add(1))}var dx=3,mx=30,Ax=2*mx+1,Kh=180/Math.PI;function Yh(e){if(e.length===0)throw new Error(`Invalid Hilbert quad key ${e}`);let t=e.split("/"),r=parseInt(t[0],10),n=t[1],o=n.length,s=0,i=[0,0];for(let a=o-1;a>=0;a--){s=o-a;let f=n[a],c=0,l=0;f==="1"?l=1:f==="2"?(c=1,l=1):f==="3"&&(c=1);let h=Math.pow(2,s-1);px(h,i,c,l),i[0]+=h*c,i[1]+=h*l}if(r%2===1){let a=i[0];i[0]=i[1],i[1]=a}return{face:r,ij:i,level:s}}function Wh(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<dx+Ax;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),o=t.substring(3,r),s=o.length/2,i=Yr.fromString(n,!0,2).toString(10),a="";if(s!==0)for(a=Yr.fromString(o,!0,2).toString(4);a.length<s;)a="0"+a;return`${i}/${a}`}function Na(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function Zh(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function Ga(e){return[Zh(e[0]),Zh(e[1])]}function Ua(e,[t,r]){switch(e){case 0:return[1,t,r];case 1:return[-t,1,r];case 2:return[-t,-r,1];case 3:return[-1,-r,-t];case 4:return[r,-1,-t];case 5:return[r,t,-1];default:throw new Error("Invalid face")}}function Pa([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*Kh,n*Kh]}function px(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let o=t[0];t[0]=t[1],t[1]=o}}function Xh(e){let t=Na(e.ij,e.level,[.5,.5]),r=Ga(t),n=Ua(e.face,r);return Pa(n)}var gx=100;function Ha(e){let{face:t,ij:r,level:n}=e,o=[[0,0],[0,1],[1,1],[1,0],[0,0]],s=Math.max(1,Math.ceil(gx*Math.pow(2,-n))),i=new Float64Array(4*s*2+2),a=0,f=0;for(let c=0;c<4;c++){let l=o[c].slice(0),h=o[c+1],u=(h[0]-l[0])/s,d=(h[1]-l[1])/s;for(let m=0;m<s;m++){l[0]+=u,l[1]+=d;let A=Na(r,n,l),p=Ga(A),E=Ua(t,p),y=Pa(E);Math.abs(y[1])>89.999&&(y[0]=f);let T=y[0]-f;y[0]+=T>180?-360:T<-180?360:0,i[a++]=y[0],i[a++]=y[1],f=y[0]}}return i[a++]=i[0],i[a++]=i[1],i}function Wr(e){let t=Bx(e);return Yh(t)}function Bx(e){if(e.indexOf("/")>0)return e;let t=Vn(e);return Wh(t)}function ka(e){let t=Wr(e);return Xh(t)}function $h(e){let t;if(e.face===2||e.face===5){let r=null,n=0;for(let o=0;o<4;o++){let s=`${e.face}/${o}`,i=Wr(s),a=Ha(i);(typeof r>"u"||r===null)&&(r=new Float64Array(4*a.length)),r.set(a,n),n+=a.length}t=qh(r)}else{let r=Ha(e);t=qh(r)}return t}function qh(e){if(e.length%2!==0)throw new Error("Invalid corners");let t=[],r=[];for(let n=0;n<e.length;n+=2)t.push(e[n]),r.push(e[n+1]);return t.sort((n,o)=>n-o),r.sort((n,o)=>n-o),{west:t[0],east:t[t.length-1],north:r[r.length-1],south:r[0]}}function Ja(e,t){let r=t?.minimumHeight||0,n=t?.maximumHeight||0,o=Wr(e),s=$h(o),i=s.west,a=s.south,f=s.east,c=s.north,l=[];return l.push(new w(i,c,r)),l.push(new w(f,c,r)),l.push(new w(f,a,r)),l.push(new w(i,a,r)),l.push(new w(i,c,n)),l.push(new w(f,c,n)),l.push(new w(f,a,n)),l.push(new w(i,a,n)),l}function ps(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=Ja(t,r),o=ka(t),s=o[0],i=o[1],a=ct.WGS84.cartographicToCartesian([s,i,r.maximumHeight]),f=new w(a[0],a[1],a[2]);n.push(f);let c=Pi(n);return[...c.center,...c.halfAxes]}var xx=4,Ex=8,bx={QUADTREE:xx,OCTREE:Ex};function yx(e,t,r){if(e?.box){let n=Vn(e.s2VolumeInfo.token),o=va(n,t),s=Oa(o),i={...e.s2VolumeInfo};switch(i.token=s,r){case"OCTREE":let c=e.s2VolumeInfo,l=c.maximumHeight-c.minimumHeight,h=l/2,u=c.minimumHeight+l/2;c.minimumHeight=u-h,c.maximumHeight=u+h;break;default:break}return{box:ps(i),s2VolumeInfo:i}}}async function Qa(e){let{subtree:t,subtreeData:r={level:0,x:0,y:0,z:0},parentData:n={mortonIndex:0,localLevel:-1,localX:0,localY:0,localZ:0},childIndex:o=0,implicitOptions:s,loaderOptions:i,s2VolumeBox:a}=e,{subdivisionScheme:f,subtreeLevels:c,maximumLevel:l,contentUrlTemplate:h,subtreesUriTemplate:u,basePath:d}=s,m={children:[],lodMetricValue:0,contentUrl:""};if(!l)return Vs.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${h} won't be loaded...`),m;let A=n.localLevel+1,p=r.level+A;if(p>l)return m;let E=bx[f],y=Math.log2(E),T=o&1,C=o>>1&1,_=o>>2&1,I=er(n.localX,T,1),M=er(n.localY,C,1),L=er(n.localZ,_,1),B=er(r.x,I,A),g=er(r.y,M,A),x=er(r.z,L,A),b=er(n.mortonIndex,o,y),U=A===c&&za(t.childSubtreeAvailability,b),G,P,v,ee;if(U){let st=`${d}/${u}`,hn=gs(st,p,B,g,x);G=await(0,eu.load)(hn,jr,i),ee=0,P={level:p,x:B,y:g,z:x},v={mortonIndex:0,localLevel:0,localX:0,localY:0,localZ:0}}else G=t,ee=(E**A-1)/(E-1)+b,P=r,v={mortonIndex:b,localLevel:A,localX:I,localY:M,localZ:L};if(!za(G.tileAvailability,ee))return m;za(G.contentAvailability,ee)&&(m.contentUrl=gs(h,p,B,g,x));for(let st=0;st<E;st++){let hn=yx(a,st,f),gr=await Qa({subtree:G,subtreeData:P,parentData:v,childIndex:st,implicitOptions:s,loaderOptions:i,s2VolumeBox:hn});(gr.contentUrl||gr.children.length)&&m.children.push(gr)}return m.contentUrl||m.children.length?_x(m,{level:p,x:B,y:g,z:x},s,a):m}function za(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&Vs.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?wx(t,r.explicitBitstream):!1}function _x(e,t,r,n){let{basePath:o,refine:s,getRefine:i,lodMetricType:a,getTileType:f,rootLodMetricValue:c,rootBoundingVolume:l}=r,h=e.contentUrl&&e.contentUrl.replace(`${o}/`,""),u=c/2**t.level,d=n?.box?{box:n.box}:l,m=Tx(d,t,r.subdivisionScheme);return{children:e.children,contentUrl:e.contentUrl,content:{uri:h},id:e.contentUrl,refine:i(s),type:f(e),lodMetricType:a,lodMetricValue:u,geometricError:u,transform:e.transform,boundingVolume:m}}function Tx(e,t,r){if(e.region){let{level:n,x:o,y:s,z:i}=t,[a,f,c,l,h,u]=e.region,d=2**n,m=(c-a)/d,[A,p]=[a+m*o,a+m*(o+1)],E=(l-f)/d,[y,T]=[f+E*s,f+E*(s+1)],C,_;if(r==="OCTREE"){let I=(u-h)/d;[C,_]=[h+I*i,h+I*(i+1)]}else[C,_]=[h,u];return{region:[A,y,p,T,C,_]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${JSON.stringify(e)}`)}function er(e,t,r){return(e<<r)+t}function gs(e,t,r,n,o){let s=Cx({level:t,x:r,y:n,z:o});return e.replace(/{level}|{x}|{y}|{z}/gi,i=>s[i])}function Cx(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function wx(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function ja(e,t=""){if(!t)return St.EMPTY;let n=t.split("?")[0].split(".").pop();switch(n){case"pnts":return St.POINTCLOUD;case"i3dm":case"b3dm":case"glb":case"gltf":return St.SCENEGRAPH;default:return n||St.EMPTY}}function Ka(e){switch(e){case"REPLACE":case"replace":return Dr.REPLACE;case"ADD":case"add":return Dr.ADD;default:return e}}function Va(e,t){if(/^[a-z][0-9a-z+.-]*:/i.test(t)){let n=new URL(e,`${t}/`);return decodeURI(n.toString())}else if(e.startsWith("/"))return e;return Cr.resolve(t,e)}function tu(e,t){if(!e)return null;let r;if(e.content){let o=e.content.uri||e.content?.url;typeof o<"u"&&(r=Va(o,t))}return{...e,id:r,contentUrl:r,lodMetricType:ht.GEOMETRIC_ERROR,lodMetricValue:e.geometricError,transformMatrix:e.transform,type:ja(e,r),refine:Ka(e.refine)}}async function su(e,t,r){let n=null,o=nu(e.root);o&&e.root?n=await ru(e.root,e,t,o,r):n=tu(e.root,t);let s=[];for(s.push(n);s.length>0;){let i=s.pop()||{},a=i.children||[],f=[];for(let c of a){let l=nu(c),h;l?h=await ru(c,e,t,l,r):h=tu(c,t),h&&(f.push(h),s.push(h))}i.children=f}return n}async function ru(e,t,r,n,o){let{subdivisionScheme:s,maximumLevel:i,availableLevels:a,subtreeLevels:f,subtrees:{uri:c}}=n,l=gs(c,0,0,0,0),h=Va(l,r),u=await(0,ou.load)(h,jr,o),d=e.content?.uri,m=d?Va(d,r):"",A=t?.root?.refine,p=e.geometricError,E=e.boundingVolume.extensions?.["3DTILES_bounding_volume_S2"];if(E){let _={box:ps(E),s2VolumeInfo:E};e.boundingVolume=_}let y=e.boundingVolume,T={contentUrlTemplate:m,subtreesUriTemplate:c,subdivisionScheme:s,subtreeLevels:f,maximumLevel:Number.isFinite(a)?a-1:i,refine:A,basePath:r,lodMetricType:ht.GEOMETRIC_ERROR,rootLodMetricValue:p,rootBoundingVolume:y,getTileType:ja,getRefine:Ka};return await Ix(e,r,u,T,o)}async function Ix(e,t,r,n,o){if(!e)return null;let{children:s,contentUrl:i}=await Qa({subtree:r,implicitOptions:n,loaderOptions:o}),a,f=null;return i&&(a=i,f={uri:i.replace(`${t}/`,"")}),{...e,id:a,contentUrl:a,lodMetricType:ht.GEOMETRIC_ERROR,lodMetricValue:e.geometricError,transformMatrix:e.transform,type:ja(e,a),refine:Ka(e.refine),content:f||e.content,children:s}}function nu(e){return e?.extensions?.["3DTILES_implicit_tiling"]||e?.implicitTiling}var tr={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:Rr,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:Mx,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function Mx(e,t={},r){let n=t["3d-tiles"]||{},o;return n.isTileset==="auto"?o=r?.url&&r.url.indexOf(".json")!==-1:o=n.isTileset,o?Sx(e,t,r):Fx(e,t,r)}async function Sx(e,t,r){let n=JSON.parse(new TextDecoder().decode(e)),o=r?.url||"",s=Dx(o),i=await su(n,s,t||{});return{...n,shape:"tileset3d",loader:tr,url:o,queryString:r?.queryString||"",basePath:s,root:i||n.root,type:Ln.TILES3D,lodMetricType:ht.GEOMETRIC_ERROR,lodMetricValue:n.root?.geometricError||0}}async function Fx(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await Fa(e,0,t,r,n.content),n.content}function Dx(e){return Cr.dirname(e)}var Bs=Br(dn(),1);var iu="https://api.cesium.com/v1/assets";async function xs(e,t){if(!t){let s=await Rx(e);for(let i of s.items)i.type==="3DTILES"&&(t=i.id)}let r=await Lx(e,t),n=r.type,o=r.options?.url||r.url;return z(n==="3DTILES"&&o),r.headers={Authorization:`Bearer ${r.accessToken||e}`},r}async function Rx(e){z(e);let t=iu,r={Authorization:`Bearer ${e}`},n=await(0,Bs.fetchFile)(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function Lx(e,t){z(e,t);let r={Authorization:`Bearer ${e}`},n=`${iu}/${t}`,o=await(0,Bs.fetchFile)(`${n}`,{headers:r});if(!o.ok)throw new Error(o.statusText);let s=await o.json();if(o=await(0,Bs.fetchFile)(`${n}/endpoint`,{headers:r}),!o.ok)throw new Error(o.statusText);let i=await o.json();return s={...s,...i},s}async function Ox(e,t={}){t=t["cesium-ion"]||{};let{accessToken:r}=t,n=t.assetId;if(!Number.isFinite(n)){let o=e.match(/\/([0-9]+)\/tileset.json/);n=o&&o[1]}return xs(r,n)}var Za={...tr,id:"cesium-ion",name:"Cesium Ion",preload:Ox,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=Za,tr.parse(e,t,r)),options:{"cesium-ion":{...tr.options["3d-tiles"],accessToken:null}}};function jn(e){return typeof e=="bigint"?e:BigInt(e)}function cu(e){let t=Number(e);if(!Number.isFinite(t))throw new Error("Offset is out of bounds");return t}function au(e,t){return e<0?Math.max(t+e,0):Math.min(e,t)}async function ie(e,t,r){let n=jn(t),s=jn(r)-n;if(s<0)throw new Error("Invalid range requested");return await e.read(n,cu(s))}async function nr(e,t,r){let n=await ie(e,t,r);return new DataView(n)}async function fu(e,t){return(await nr(e,t,jn(t)+2n)).getUint16(0,!0)}async function Ya(e,t){return(await nr(e,t,jn(t)+4n)).getUint32(0,!0)}async function Kn(e,t){return(await nr(e,t,jn(t)+8n)).getBigUint64(0,!0)}async function Zn(e){if(e.bigsize>0n)return e.bigsize;if(e.size>0)return BigInt(e.size);if(e.stat){let t=await e.stat();if(t?.bigsize!==void 0)return t.bigsize;if(t?.size!==void 0)return BigInt(t.size)}return 0n}var rr=class{handle;size;bigsize;url;constructor(t,r=""){this.handle=t,this.size=t.byteLength,this.bigsize=BigInt(t.byteLength),this.url=r}async close(){}async stat(){return{size:this.size,bigsize:this.bigsize,isDirectory:!1}}async read(t=0,r){let n=cu(t),o=r?n+r:this.size,s=au(n,this.size),i=au(o,this.size),f=Math.max(i,s)-s;return f<=0?new ArrayBuffer(0):Et(this.handle.buffer,s,f)}};var vx=1024,Yn=async(e,t)=>{let r=await Zn(e),n=new Uint8Array(await ie(e,r-3n,r+1n)),o=[n[3],n[2],n[1],void 0],s=-1,i=r-4n;do{let a=i;i-=BigInt(vx),i=i>=0n?i:0n;let f=new Uint8Array(await ie(e,i,a));for(let c=f.length-1;c>-1;c--)if(o[3]=o[2],o[2]=o[1],o[1]=o[0],o[0]=f[c],o.every((l,h)=>l===t[h])){s=c;break}}while(s===-1&&i>0n);return i+BigInt(s)};var lu=new Uint8Array([80,75,5,6]),hu=new Uint8Array([80,75,6,7]),uu=new Uint8Array([80,75,6,6]),Nx=8n;var Gx=12n,Ux=16n;var Px=8n,Hx=24n;var kx=40n,Jx=48n;var du=async e=>{let t=await Yn(e,lu),r=BigInt(await fu(e,t+Nx)),n=BigInt(await Ya(e,t+Gx)),o=BigInt(await Ya(e,t+Ux)),s=t-20n,i=0n,a=await ie(e,s,s+4n);if(xt(a,hu.buffer)){i=await Kn(e,s+Px);let f=await ie(e,i,i+4n);if(!xt(f,uu.buffer))throw new Error("zip64 EoCD not found");r=await Kn(e,i+Hx),n=await Kn(e,i+kx),o=await Kn(e,i+Jx)}else s=0n;return{cdRecordsNumber:r,cdStartOffset:o,cdByteSize:n,offsets:{zip64EoCDOffset:i,zip64EoCDLocatorOffset:s,zipEoCDOffset:t}}};var CD=[{offset:0,size:4,default:new DataView(lu.buffer).getUint32(0,!0)},{offset:4,size:2,default:0},{offset:6,size:2,default:0},{offset:8,size:2,name:"recordsNumber"},{offset:10,size:2,name:"recordsNumber"},{offset:12,size:4,name:"cdSize"},{offset:16,size:4,name:"cdOffset"},{offset:20,size:2,default:0}];var wD=[{offset:0,size:4,default:new DataView(hu.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],ID=[{offset:0,size:4,default:new DataView(uu.buffer).getUint32(0,!0)},{offset:4,size:8,default:44},{offset:12,size:2,default:45},{offset:14,size:2,default:45},{offset:16,size:4,default:0},{offset:20,size:4,default:0},{offset:24,size:8,name:"recordsNumber"},{offset:32,size:8,name:"recordsNumber"},{offset:40,size:8,name:"cdSize"},{offset:48,size:8,name:"cdOffset"}];var zx=20,Qx=24,Vx=28,jx=30,Kx=32,Zx=42,Es=46n,Xn=new Uint8Array([80,75,1,2]),Wn=async(e,t)=>{let r=await Zn(t);if(e>=r)return null;let n=await nr(t,e,e+Es),o=n.buffer.slice(0,4);if(!xt(o,Xn.buffer))return null;let s=BigInt(n.getUint32(zx,!0)),i=BigInt(n.getUint32(Qx,!0)),a=n.getUint16(jx,!0),f=BigInt(n.getUint16(Kx,!0)),c=n.getUint16(Vx,!0),l=await ie(t,e+Es,e+Es+BigInt(c+a)),h=l.slice(0,c),u=new TextDecoder().decode(h),d=e+Es+BigInt(c),m=n.getUint32(Zx,!0),A=BigInt(m),p=new DataView(l.slice(c,l.byteLength)),E={uncompressedSize:i,compressedSize:s,localHeaderOffset:A,startDisk:f},y=Yx(E,p);return{...E,...y,extraFieldLength:a,fileNameLength:c,fileName:u,extraOffset:d}};async function*Xr(e){let{cdStartOffset:t,cdByteSize:r}=await du(e),n=new rr(new DataView(await ie(e,t,t+r))),o=await Wn(0n,n);for(;o;)yield o,o=await Wn(o.extraOffset+BigInt(o.extraFieldLength),n)}var mu=(...e)=>e[0]+e[1]*16,Yx=(e,t)=>{let r=Wx(e),n={};if(r.length>0){let o=r.reduce((a,f)=>a+f.length,0),s=new Uint8Array(t.buffer).findIndex((a,f,c)=>mu(c[f],c[f+1])===1&&mu(c[f+2],c[f+3])===o),i=0;for(let a of r){let f=i;n[a.name]=t.getBigUint64(s+4+f,!0),i=f+a.length}}return n},Wx=e=>{let t=[];return e.uncompressedSize===BigInt(4294967295)&&t.push({name:"uncompressedSize",length:8}),e.compressedSize===BigInt(4294967295)&&t.push({name:"compressedSize",length:8}),e.localHeaderOffset===BigInt(4294967295)&&t.push({name:"localHeaderOffset",length:8}),e.startDisk===BigInt(4294967295)&&t.push({name:"startDisk",length:4}),t};var RD=[{offset:0,size:4,default:new DataView(Xn.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:45},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:2,default:0},{offset:16,size:4,name:"crc32"},{offset:20,size:4,name:"length"},{offset:24,size:4,name:"length"},{offset:28,size:2,name:"fnlength"},{offset:30,size:2,default:0,name:"extraLength"},{offset:32,size:2,default:0},{offset:34,size:2,default:0},{offset:36,size:2,default:0},{offset:38,size:4,default:0},{offset:42,size:4,name:"offset"}];var Xx=8,qx=18,$x=22,eE=26,tE=28,bs=30n,Wa=new Uint8Array([80,75,3,4]),or=async(e,t)=>{let r=await nr(t,e,e+bs),n=r.buffer.slice(0,4);if(!xt(n,Wa.buffer))return null;let o=r.getUint16(eE,!0),s=r.getUint16(tE,!0),i=await ie(t,e+bs,e+bs+BigInt(o+s)),a=i.slice(0,o),f=new DataView(i.slice(o,i.byteLength)),c=new TextDecoder().decode(a).split("\\").join("/"),l=e+bs+BigInt(o+s),h=r.getUint16(Xx,!0),u=BigInt(r.getUint32(qx,!0)),d=BigInt(r.getUint32($x,!0)),m=4;return d===BigInt(4294967295)&&(d=f.getBigUint64(m,!0),m+=8),u===BigInt(4294967295)&&(u=f.getBigUint64(m,!0),m+=8),l===BigInt(4294967295)&&(l=f.getBigUint64(m,!0)),{fileNameLength:o,fileName:c,extraFieldLength:s,fileDataOffset:l,compressedSize:u,compressionMethod:h}};var ND=[{offset:0,size:4,default:new DataView(Wa.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:0},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:4,name:"crc32"},{offset:18,size:4,name:"length"},{offset:22,size:4,name:"length"},{offset:26,size:2,name:"fnlength"},{offset:28,size:2,default:0,name:"extraLength"}];var ys=class{constructor(t={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(t,r="base64"){let n=[];for await(let i of t)n.push(i),yield i;let o=await this.concatenate(n),s=await this.hash(o,r);this.options.crypto?.onEnd?.({hash:s})}async concatenate(t){return await xn(t)}};function Au(e){e=`${e}`;for(let r=0;r<e.length;r++)if(e.charCodeAt(r)>255)return null;let t="";for(let r=0;r<e.length;r+=3){let n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(r)>>2,n[1]=(e.charCodeAt(r)&3)<<4,e.length>r+1&&(n[1]|=e.charCodeAt(r+1)>>4,n[2]=(e.charCodeAt(r+1)&15)<<2),e.length>r+2&&(n[2]|=e.charCodeAt(r+2)>>6,n[3]=e.charCodeAt(r+2)&63);for(let o=0;o<n.length;o++)typeof n[o]>"u"?t+="=":t+=rE(n[o])}return t}function rE(e){if(e<26)return String.fromCharCode(e+"A".charCodeAt(0));if(e<52)return String.fromCharCode(e-26+"a".charCodeAt(0));if(e<62)return String.fromCharCode(e-52+"0".charCodeAt(0));if(e===62)return"+";if(e===63)return"/"}function pu(e,t){switch(t){case"hex":return e;case"base64":return nE(e);default:throw new Error(t)}}function nE(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return Au(r)||""}var _s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",gu=fE("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"),Xa=typeof WebAssembly<"u"&&gu?gu.buffer:!1,$e=mE(),qa=240*16*16,Bu=Math.floor(qa*16*1.066666667),oE=268435456-65536,sE="Parameter must be ArrayBuffer, ArrayBufferView or string",iE="Parameter exceeds max size of 255.9 Mbytes";Xa||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function $a(e){var t,r,n,o,s,i,a,f,c,l;let h=cE(),u=aE(),d={},m=new Date().getTime();return d.then=function(y){return a=y,p(),d},d.catch=function(y){return f=y,d},i=dE(e),i||E(new TypeError(sE)),i&&(s=i.length,Xa&&s>Bu?s>oE?E(new Error(iE)):(t=new WebAssembly.Memory({initial:s>32e6?s>64e6?s>128e6?4096:2048:1024:512}),r=new Uint32Array(t.buffer),o={mem:t,log:console.log},n={imports:o},WebAssembly.instantiate(Xa,n).then(A)):p(h(i))),d;function A(y){p(u(i,y.instance.exports,r))}function p(y){var T=Boolean(y)?y:c;Boolean(y)&&(l=new Date().getTime()),typeof a=="function"?Boolean(T)&&(a(T,l-m),a=f=null):Boolean(y)&&(c=y)}function E(y){typeof f=="function"&&f(y)}}function aE(){var e,t,r,n,o,s,i,a,f,c,l,h,u,d=function(m){var A,p,E,y,T,C,_,I,M,L,B,g,x,b,U,G,P,v,ee,Be,X,st,hn=new Date().getTime(),gr=0,S=1732584193,F=-271733879,D=-1732584194,R=271733878,te=0,un=m.length*8,go;for(go=A0(m,u),u[un>>>5]|=128<<un%32,u[(un+64>>>9<<4)+14]=un,go=(un+64>>>9<<4)+15,X=u;te<go;)go>te+Bu?(n(S),s(F),a(D),c(R),t(qa),te=te+qa*16,S=r(),F=o(),D=i(),R=f(),gr++):(P=S,v=F,ee=D,Be=R,A=X[te+0]>>>0,p=X[te+1]>>>0,E=X[te+2]>>>0,y=X[te+3]>>>0,T=X[te+4]>>>0,C=X[te+5]>>>0,_=X[te+6]>>>0,I=X[te+7]>>>0,M=X[te+8]>>>0,L=X[te+9]>>>0,B=X[te+10]>>>0,g=X[te+11]>>>0,x=X[te+12]>>>0,b=X[te+13]>>>0,U=X[te+14]>>>0,G=X[te+15]>>>0,S=N(7,25,S+(F&D|~F&R)+A-680876936)+F,R=N(12,20,R+(S&F|~S&D)+p-389564586)+S,D=N(17,15,D+(R&S|~R&F)+E+606105819)+R,F=N(22,10,F+(D&R|~D&S)+y-1044525330)+D,S=N(7,25,S+(F&D|~F&R)+T-176418897)+F,R=N(12,20,R+(S&F|~S&D)+C+1200080426)+S,D=N(17,15,D+(R&S|~R&F)+_-1473231341)+R,F=N(22,10,F+(D&R|~D&S)+I-45705983)+D,S=N(7,25,S+(F&D|~F&R)+M+1770035416)+F,R=N(12,20,R+(S&F|~S&D)+L-1958414417)+S,D=N(17,15,D+(R&S|~R&F)+B-42063)+R,F=N(22,10,F+(D&R|~D&S)+g-1990404162)+D,S=N(7,25,S+(F&D|~F&R)+x+1804603682)+F,R=N(12,20,R+(S&F|~S&D)+b-40341101)+S,D=N(17,15,D+(R&S|~R&F)+U-1502002290)+R,F=N(22,10,F+(D&R|~D&S)+G+1236535329)+D,S=N(5,27,S+(F&R|D&~R)+p-165796510)+F,R=N(9,23,R+(S&D|F&~D)+_-1069501632)+S,D=N(14,18,D+(R&F|S&~F)+g+643717713)+R,F=N(20,12,F+(D&S|R&~S)+A-373897302)+D,S=N(5,27,S+(F&R|D&~R)+C-701558691)+F,R=N(9,23,R+(S&D|F&~D)+B+38016083)+S,D=N(14,18,D+(R&F|S&~F)+G-660478335)+R,F=N(20,12,F+(D&S|R&~S)+T-405537848)+D,S=N(5,27,S+(F&R|D&~R)+L+568446438)+F,R=N(9,23,R+(S&D|F&~D)+U-1019803690)+S,D=N(14,18,D+(R&F|S&~F)+y-187363961)+R,F=N(20,12,F+(D&S|R&~S)+M+1163531501)+D,S=N(5,27,S+(F&R|D&~R)+b-1444681467)+F,R=N(9,23,R+(S&D|F&~D)+E-51403784)+S,D=N(14,18,D+(R&F|S&~F)+I+1735328473)+R,F=N(20,12,F+(D&S|R&~S)+x-1926607734)+D,S=N(4,28,S+(F^D^R)+C-378558)+F,R=N(11,21,R+(S^F^D)+M-2022574463)+S,D=N(16,16,D+(R^S^F)+g+1839030562)+R,F=N(23,9,F+(D^R^S)+U-35309556)+D,S=N(4,28,S+(F^D^R)+p-1530992060)+F,R=N(11,21,R+(S^F^D)+T+1272893353)+S,D=N(16,16,D+(R^S^F)+I-155497632)+R,F=N(23,9,F+(D^R^S)+B-1094730640)+D,S=N(4,28,S+(F^D^R)+b+681279174)+F,R=N(11,21,R+(S^F^D)+A-358537222)+S,D=N(16,16,D+(R^S^F)+y-722521979)+R,F=N(23,9,F+(D^R^S)+_+76029189)+D,S=N(4,28,S+(F^D^R)+L-640364487)+F,R=N(11,21,R+(S^F^D)+x-421815835)+S,D=N(16,16,D+(R^S^F)+G+530742520)+R,F=N(23,9,F+(D^R^S)+E-995338651)+D,S=N(6,26,S+(D^(F|~R))+A-198630844)+F,R=N(10,22,R+(F^(S|~D))+I+1126891415)+S,D=N(15,17,D+(S^(R|~F))+U-1416354905)+R,F=N(21,11,F+(R^(D|~S))+C-57434055)+D,S=N(6,26,S+(D^(F|~R))+x+1700485571)+F,R=N(10,22,R+(F^(S|~D))+y-1894986606)+S,D=N(15,17,D+(S^(R|~F))+B-1051523)+R,F=N(21,11,F+(R^(D|~S))+p-2054922799)+D,S=N(6,26,S+(D^(F|~R))+M+1873313359)+F,R=N(10,22,R+(F^(S|~D))+G-30611744)+S,D=N(15,17,D+(S^(R|~F))+_-1560198380)+R,F=N(21,11,F+(R^(D|~S))+b+1309151649)+D,S=N(6,26,S+(D^(F|~R))+T-145523070)+F,R=N(10,22,R+(F^(S|~D))+g-1120210379)+S,D=N(15,17,D+(S^(R|~F))+E+718787259)+R,F=N(21,11,F+(R^(D|~S))+L-343485551)+D,te=te+16,S=S+P>>>0,F=F+v>>>0,D=D+ee>>>0,R=R+Be>>>0);return $e.endian([S,F,D,R]);function N(Ae,Bo,Ke){return Ke<<Ae|Ke>>>Bo}function A0(Ae,Bo){for(var Ke=-1,ks=Math.floor((Ae.length-1)/4),xe=0,Uc,Pc,Hc,kc;ks-8>Ke++;)xe=Ke<<2,Bo[Ke]=Ae[xe+0]|Ae[xe+1]<<8|Ae[xe+2]<<16|Ae[xe+3]<<24;for(Ke--;ks>Ke++;)xe=Ke<<2,Uc=typeof Ae[xe+0]>"u"?0:Ae[xe+0],Pc=typeof Ae[xe+1]>"u"?0:Ae[xe+1],Hc=typeof Ae[xe+2]>"u"?0:Ae[xe+2],kc=typeof Ae[xe+3]>"u"?0:Ae[xe+3],Bo[Ke]=Uc|Pc<<8|Hc<<16|kc<<24;return ks+1}};return function(m,A,p,E){var y;return t=A.loops,e=A.loop,r=A.getA,o=A.getB,i=A.getC,f=A.getD,l=A.getX,n=A.setA,s=A.setB,a=A.setC,c=A.setD,h=A.setX,u=p,y=$e.wordsToBytes(d(m)),E&&E.asBytes?y:$e.bytesconvertNumberToHex(y)}}function cE(){var e=function(t,r){var n,o,s,i,a,f,c,l,h,u,d,m,A,p,E,y,T,C,_,I,M,L=new Date().getTime(),B=1732584193,g=-271733879,x=-1732584194,b=271733878,U=t.length*8;M=$e.bytesToWords(t);for(var G=0;G<M.length;G++)M[G]=(M[G]<<8|M[G]>>>24)&16711935|(M[G]<<24|M[G]>>>8)&4278255360;M[U>>>5]|=128<<U%32,M[(U+64>>>9<<4)+14]=U;for(var P=0;P<M.length;P+=16)T=B,C=g,_=x,I=b,n=M[P+0]>>>0,o=M[P+1]>>>0,s=M[P+2]>>>0,i=M[P+3]>>>0,a=M[P+4]>>>0,f=M[P+5]>>>0,c=M[P+6]>>>0,l=M[P+7]>>>0,h=M[P+8]>>>0,u=M[P+9]>>>0,d=M[P+10]>>>0,m=M[P+11]>>>0,A=M[P+12]>>>0,p=M[P+13]>>>0,E=M[P+14]>>>0,y=M[P+15]>>>0,B=v(7,25,B+(g&x|~g&b)+n-680876936)+g,b=v(12,20,b+(B&g|~B&x)+o-389564586)+B,x=v(17,15,x+(b&B|~b&g)+s+606105819)+b,g=v(22,10,g+(x&b|~x&B)+i-1044525330)+x,B=v(7,25,B+(g&x|~g&b)+a-176418897)+g,b=v(12,20,b+(B&g|~B&x)+f+1200080426)+B,x=v(17,15,x+(b&B|~b&g)+c-1473231341)+b,g=v(22,10,g+(x&b|~x&B)+l-45705983)+x,B=v(7,25,B+(g&x|~g&b)+h+1770035416)+g,b=v(12,20,b+(B&g|~B&x)+u-1958414417)+B,x=v(17,15,x+(b&B|~b&g)+d-42063)+b,g=v(22,10,g+(x&b|~x&B)+m-1990404162)+x,B=v(7,25,B+(g&x|~g&b)+A+1804603682)+g,b=v(12,20,b+(B&g|~B&x)+p-40341101)+B,x=v(17,15,x+(b&B|~b&g)+E-1502002290)+b,g=v(22,10,g+(x&b|~x&B)+y+1236535329)+x,B=v(5,27,B+(g&b|x&~b)+o-165796510)+g,b=v(9,23,b+(B&x|g&~x)+c-1069501632)+B,x=v(14,18,x+(b&g|B&~g)+m+643717713)+b,g=v(20,12,g+(x&B|b&~B)+n-373897302)+x,B=v(5,27,B+(g&b|x&~b)+f-701558691)+g,b=v(9,23,b+(B&x|g&~x)+d+38016083)+B,x=v(14,18,x+(b&g|B&~g)+y-660478335)+b,g=v(20,12,g+(x&B|b&~B)+a-405537848)+x,B=v(5,27,B+(g&b|x&~b)+u+568446438)+g,b=v(9,23,b+(B&x|g&~x)+E-1019803690)+B,x=v(14,18,x+(b&g|B&~g)+i-187363961)+b,g=v(20,12,g+(x&B|b&~B)+h+1163531501)+x,B=v(5,27,B+(g&b|x&~b)+p-1444681467)+g,b=v(9,23,b+(B&x|g&~x)+s-51403784)+B,x=v(14,18,x+(b&g|B&~g)+l+1735328473)+b,g=v(20,12,g+(x&B|b&~B)+A-1926607734)+x,B=v(4,28,B+(g^x^b)+f-378558)+g,b=v(11,21,b+(B^g^x)+h-2022574463)+B,x=v(16,16,x+(b^B^g)+m+1839030562)+b,g=v(23,9,g+(x^b^B)+E-35309556)+x,B=v(4,28,B+(g^x^b)+o-1530992060)+g,b=v(11,21,b+(B^g^x)+a+1272893353)+B,x=v(16,16,x+(b^B^g)+l-155497632)+b,g=v(23,9,g+(x^b^B)+d-1094730640)+x,B=v(4,28,B+(g^x^b)+p+681279174)+g,b=v(11,21,b+(B^g^x)+n-358537222)+B,x=v(16,16,x+(b^B^g)+i-722521979)+b,g=v(23,9,g+(x^b^B)+c+76029189)+x,B=v(4,28,B+(g^x^b)+u-640364487)+g,b=v(11,21,b+(B^g^x)+A-421815835)+B,x=v(16,16,x+(b^B^g)+y+530742520)+b,g=v(23,9,g+(x^b^B)+s-995338651)+x,B=v(6,26,B+(x^(g|~b))+n-198630844)+g,b=v(10,22,b+(g^(B|~x))+l+1126891415)+B,x=v(15,17,x+(B^(b|~g))+E-1416354905)+b,g=v(21,11,g+(b^(x|~B))+f-57434055)+x,B=v(6,26,B+(x^(g|~b))+A+1700485571)+g,b=v(10,22,b+(g^(B|~x))+i-1894986606)+B,x=v(15,17,x+(B^(b|~g))+d-1051523)+b,g=v(21,11,g+(b^(x|~B))+o-2054922799)+x,B=v(6,26,B+(x^(g|~b))+h+1873313359)+g,b=v(10,22,b+(g^(B|~x))+y-30611744)+B,x=v(15,17,x+(B^(b|~g))+c-1560198380)+b,g=v(21,11,g+(b^(x|~B))+p+1309151649)+x,B=v(6,26,B+(x^(g|~b))+a-145523070)+g,b=v(10,22,b+(g^(B|~x))+m-1120210379)+B,x=v(15,17,x+(B^(b|~g))+s+718787259)+b,g=v(21,11,g+(b^(x|~B))+u-343485551)+x,B=B+T>>>0,g=g+C>>>0,x=x+_>>>0,b=b+I>>>0;return $e.endian([B,g,x,b]);function v(ee,Be,X){return X<<ee|X>>>Be}};return function(t,r){var n=$e.wordsToBytes(e(t,r)),o=r&&r.asBytes?n:$e.bytesconvertNumberToHex(n);return o}}function fE(e){try{return lE(e)}catch{return null}}function lE(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");return typeof atob=="function"?uE(atob(t)):hE(t)}function hE(e){for(var t=e.endsWith("==")?2:e.endsWith("=")?1:0,r=e.length*3/4-t,n=new Uint8Array(r),o=0,s=0,i,a,f,c;s<e.length;){if(i=_s.indexOf(e.charAt(s++)),a=_s.indexOf(e.charAt(s++)),f=_s.indexOf(e.charAt(s++)),c=_s.indexOf(e.charAt(s++)),i<0||a<0||f<0||c<0)throw new TypeError("Invalid base64 input");n[o++]=i<<2|a>>4,f<64&&o<r&&(n[o++]=(a&15)<<4|f>>2),c<64&&o<r&&(n[o++]=(f&3)<<6|c)}return n}function uE(e){for(var t=e.length,r=new Uint8Array(t),n=0;n<t;)r[n]=e.charCodeAt(n),n++;return r}function dE(e){return e instanceof Uint8Array?e:typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer?new Uint8Array(e):e&&typeof e=="object"&&ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):typeof e=="string"?new TextEncoder().encode(e):null}function mE(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return $e.rotl(t,8)&16711935|$e.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=$e.endian(t[r]);return t},bytesToWords:function(t){for(var r=[],n=0,o=0;n<t.length;n++,o+=8)r[o>>>5]|=t[n]<<24-o%32;return r},wordsToBytes:function(t){for(var r=[],n=0;n<t.length*32;n+=8)r.push(t[n>>>5]>>>24-n%32&255);return r},bytesconvertNumberToHex:function(t){for(var r=[],n=0;n<t.length;n++)r.push((t[n]>>>4).toString(16)),r.push((t[n]&15).toString(16));return r.join("")}}}var sr=class extends ys{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let o=await new Promise((s,i)=>$a(t).then(s).catch(i));return pu(o,r)}};var qr=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(t={}){An(t)}async compress(t){return await this.preload(),this.compressSync(t)}async decompress(t,r){return await this.preload(),this.decompressSync(t,r)}compressSync(t){throw new Error(`${this.name}: sync compression not supported`)}decompressSync(t,r){throw new Error(`${this.name}: sync decompression not supported`)}async*compressBatches(t){let r=await this.concatenate(t);yield this.compress(r)}async*decompressBatches(t){let r=await this.concatenate(t);yield this.decompress(r)}concatenate(t){return xn(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var qn=class extends qr{name="uncompressed";extensions=[];contentEncodings=[];isSupported=!0;options;constructor(t){super(t),this.options=t||{}}compressSync(t){return t}decompressSync(t){return t}async*compressBatches(t){return yield*t}async*decompressBatches(t){return yield*t}};var mr=Br(s0(),1),Bt=Br(i0(),1),Ar=class extends qr{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){if(!Ee&&this.options.deflate?.useZlib){let r=this.options.deflate?.gzip?await Tr(Bt.default.gzip)(t):await Tr(Bt.default.deflate)(t);return bt(r)}return this.compressSync(t)}async decompress(t){if(!Ee&&this.options.deflate?.useZlib){let r=this.options.deflate?.gzip?await Tr(Bt.default.gunzip)(t):await Tr(Bt.default.inflate)(t);return bt(r)}return this.decompressSync(t)}compressSync(t){if(!Ee&&this.options.deflate?.useZlib){let s=this.options.deflate?.gzip?Bt.default.gzipSync(t):Bt.default.deflateSync(t);return bt(s)}let r=this.options?.deflate||{},n=new Uint8Array(t),o=this.options?.raw?mr.default.deflateRaw:mr.default.deflate;return bt(o(n,r).buffer)}decompressSync(t){if(!Ee&&this.options.deflate?.useZlib){let s=this.options.deflate?.gzip?Bt.default.gunzipSync(t):Bt.default.inflateSync(t);return bt(s)}let r=this.options?.deflate||{},n=new Uint8Array(t),o=this.options?.raw?mr.default.inflateRaw:mr.default.inflate;return bt(o(n,r).buffer)}async*compressBatches(t){let r=this.options?.deflate||{},n=new mr.default.Deflate(r);yield*this.transformBatches(n,t)}async*decompressBatches(t){let r=this.options?.deflate||{},n=new mr.default.Inflate(r);yield*this.transformBatches(n,t)}async*transformBatches(t,r){t.onData=this._onData.bind(this),t.onEnd=this._onEnd.bind(this);for await(let i of r){let a=new Uint8Array(i);if(!t.push(a,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}let n=new Uint8Array(0),o=t.push(n,!0);yield*this._getChunks()}_onData(t){this._chunks.push(t)}_onEnd(t){if(t!==0)throw new Error(this._getError(t)+this._chunks.length)}_getChunks(){let t=this._chunks;return this._chunks=[],t}_getError(t=0){let r={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}: ${r[t]}`}};var ab={0:async e=>e,8:async e=>await new Ar({raw:!0}).decompress(e)},Hs=class{file=null;fileName;archive=null;constructor(t){if(typeof t=="string"){if(this.fileName=t,Ee)throw new Error("ZipFileSystem cannot open file paths in browser environments");this.file=new _n(t)}else t instanceof Blob||t instanceof ArrayBuffer?this.file=new bn(t):t instanceof pr?(this.file=t.file,this.archive=t,this.fileName=t.fileName):this.file=t}async destroy(){this.file&&await this.file.close()}async readdir(){if(!this.file)throw new Error("No data detected in the zip archive");let t=[],r=Xr(this.file);for await(let n of r)t.push(n.fileName);return t}async stat(t){let r=await this.getCDFileHeader(t);return{...r,size:Number(r.uncompressedSize)}}async fetch(t){this.fileName&&t.indexOf(this.fileName)===0&&(t=t.substring(this.fileName.length+1));let r;if(this.archive)r=await this.archive.getFile(t,"http");else{if(!this.file)throw new Error("No data detected in the zip archive");let o=await this.getCDFileHeader(t),s=await or(o.localHeaderOffset,this.file);if(!s)throw new Error("Local file header has not been found in the zip archive`");let i=ab[s.compressionMethod.toString()];if(!i)throw Error("Only Deflation compression is supported");let a=await ie(this.file,s.fileDataOffset,s.fileDataOffset+s.compressedSize);r=await i(a)}let n=new Response(r);return Object.defineProperty(n,"url",{value:t?`${this.fileName||""}/${t}`:this.fileName||""}),n}async getCDFileHeader(t){if(!this.file)throw new Error("No data detected in the zip archive");let r=Xr(this.file),n=null;for await(let o of r)if(o.fileName===t){n=o;break}if(!n)throw new Error("File has not been found in the zip archive");return n}};var pr=class{file;fileName;constructor(t,r,n){this.file=t,this.fileName=n}async getFileWithoutHash(t){return await(await new Hs(this.file).fetch(t)).arrayBuffer()}};function Oc(e){let t=new DataView(e),r={};for(let n=0;n<e.byteLength;n=n+24){let o=t.getBigUint64(n+16,!0),s=cb(e,n,16);r[s]=o}return r}function cb(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function vc(e){let t=Xr(e);return fb(t)}async function fb(e){let t=new sr,r=new TextEncoder,n={};for await(let o of e){let s=o.fileName.split("\\").join("/").toLocaleLowerCase(),i=r.encode(s).buffer,a=await t.hash(i,"hex");n[a]=o.localHeaderOffset}return n}var lb={0:e=>new qn().decompress(e),8:e=>new Ar({raw:!0}).decompress(e)},ln=class extends pr{hashTable;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!r)throw new Error(`No such file in the archive: ${t}`);return r}async getFileBytes(t){let r;if(this.hashTable){let n=new TextEncoder().encode(t).buffer,o=await new sr().hash(n,"hex"),s=this.hashTable[o];if(s===void 0)return null;let i=await or(s,this.file);if(!i)return null;let a=await ie(this.file,i.fileDataOffset,i.fileDataOffset+i.compressedSize),f=lb[i.compressionMethod];if(!f)throw Error("Only Deflation compression is supported");r=await f(a)}else r=await this.getFileWithoutHash(t);return r}};var a0=async(e,t)=>{let r=await Yn(e,Xn),n=await Wn(r,e),o;if(n?.fileName!=="@3dtilesIndex1@")o=await vc(e),t?.("3tz doesnt contain hash file, hash info has been composed according to zip archive headers");else{let s=await or(n.localHeaderOffset,e);if(!s)throw new Error("corrupted 3tz zip archive");let i=s.fileDataOffset,a=await ie(e,i,i+s.compressedSize);o=Oc(a)}return new ln(e,o)};var hb="4.4.0",c0={dataType:null,batchType:null,name:"3tz",id:"3tz",module:"3d-tiles",version:hb,mimeTypes:["application/octet-stream","application/vnd.maxar.archive.3tz+zip"],parse:ub,extensions:["3tz"],options:{}};async function ub(e,t={}){return(await a0(new rr(new DataView(e)))).getFile(t["3d-tiles-archive"]?.path??"")}function Ht(e,t,r){if(!t)return r+12;let{magic:o,version:s=1,byteLength:i=12}=e;return z(Array.isArray(o)&&Number.isFinite(s)&&Number.isFinite(i)),t.setUint8(r+0,o[0]),t.setUint8(r+1,o[1]),t.setUint8(r+2,o[2]),t.setUint8(r+3,o[3]),t.setUint32(r+4,s,!0),t.setUint32(r+8,i,!0),r+=12,r}function kt(e,t,r){e&&e.setUint32(t+8,r,!0)}function f0(e,t,r,n,o){e={magic:Ft.COMPOSITE,tiles:[],...e};let s=r;r+=Ht(e,t,r),t&&t.setUint32(r,e.tiles.length,!0),r+=4;for(let i=0;i<e.tiles.length;++i)r+=o(e.tiles[i],t,r,n);return kt(t,s,r-s),r}function l0(e,t,r,n){let{featuresLength:o=0,batchTable:s}=e,a=JSON.stringify({BATCH_LENGTH:o}),f=s?JSON.stringify(s):"",c=Ce(a.length,8),l=f?Ce(f.length,8):0;e={magic:Ft.BATCHED_MODEL,...e};let h=r;r=Ht(e,t,r),t&&(t.setUint32(12,c,!0),t.setUint32(16,0,!0),t.setUint32(20,l,!0),t.setUint32(24,0,!0)),r+=16,r=Io(t,r,a,8),s&&(r=Io(t,r,f,8));let u=e.gltfEncoded;return u&&(r=Bn(t,r,u,u.byteLength)),kt(t,h,r-h),r}function h0(e,t,r,n){let{featuresLength:o=1,gltfFormat:s=1,gltfUri:i=""}=e,a=i.length,f={INSTANCES_LENGTH:o,POSITION:new Array(o*3).fill(0)},c=JSON.stringify(f),l=c.length;e={magic:Ft.INSTANCED_MODEL,...e};let h=r;return r=Ht(e,t,0),t&&(t.setUint32(12,l,!0),t.setUint32(16,0,!0),t.setUint32(20,0,!0),t.setUint32(24,0,!0),t.setUint32(28,s,!0)),r+=20,r+=_r(t,r,c,l),r+=_r(t,r,i,a),kt(t,h,r-h),r}var db={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function u0(e,t,r,n){let{featureTableJson:o=db}=e,s=JSON.stringify(o);s=Xs(s,4);let{featureTableJsonByteLength:i=s.length}=e,a=new ArrayBuffer(12),f=a.byteLength;e={magic:Ft.POINT_CLOUD,...e};let c=r;return r+=Ht(e,t,0),t&&(t.setUint32(r+0,i,!0),t.setUint32(r+4,f,!0),t.setUint32(r+8,0,!0),t.setUint32(r+12,0,!0)),r+=16,r+=_r(t,r,s,i),r+=Bn(t,r,a,f),kt(t,c,r-c),r}function Gc(e,t){let r=Nc(e,null,0,t),n=new ArrayBuffer(r),o=new DataView(n);return Nc(e,o,0,t),n}function Nc(e,t,r,n){switch(z(typeof e.type=="string"),e.type){case be.COMPOSITE:return f0(e,t,r,n,Nc);case be.POINT_CLOUD:return u0(e,t,r,n);case be.BATCHED_3D_MODEL:return l0(e,t,r,n);case be.INSTANCED_3D_MODEL:return h0(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var m0={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:Rr,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>d0(e,t),encodeSync:d0};function d0(e,t){return Gc(e,t)}return b0(po);})();
7
+ "use strict";var __exports__=(()=>{var p0=Object.create;var Eo=Object.defineProperty;var g0=Object.getOwnPropertyDescriptor;var B0=Object.getOwnPropertyNames;var x0=Object.getPrototypeOf,E0=Object.prototype.hasOwnProperty;var ce=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),de=(e,t)=>{for(var r in t)Eo(e,r,{get:t[r],enumerable:!0})},xo=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of B0(t))!E0.call(e,o)&&o!==r&&Eo(e,o,{get:()=>t[o],enumerable:!(n=g0(t,o))||n.enumerable});return e},bo=(e,t,r)=>(xo(e,t,"default"),r&&xo(r,t,"default")),Br=(e,t,r)=>(r=e!=null?p0(x0(e)):{},xo(t||!e||!e.__esModule?Eo(r,"default",{value:e,enumerable:!0}):r,e)),b0=e=>xo(Eo({},"__esModule",{value:!0}),e);var dn=ce((Ab,Jc)=>{Jc.exports=globalThis.loaders});var mt=ce(pe=>{"use strict";var AE=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function pE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}pe.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(typeof r!="object")throw new TypeError(r+"must be non-object");for(var n in r)pE(r,n)&&(e[n]=r[n])}}return e};pe.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var gE={arraySet:function(e,t,r,n,o){if(t.subarray&&e.subarray){e.set(t.subarray(r,r+n),o);return}for(var s=0;s<n;s++)e[o+s]=t[r+s]},flattenChunks:function(e){var t,r,n,o,s,i;for(n=0,t=0,r=e.length;t<r;t++)n+=e[t].length;for(i=new Uint8Array(n),o=0,t=0,r=e.length;t<r;t++)s=e[t],i.set(s,o),o+=s.length;return i}},BE={arraySet:function(e,t,r,n,o){for(var s=0;s<n;s++)e[o+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};pe.setTyped=function(e){e?(pe.Buf8=Uint8Array,pe.Buf16=Uint16Array,pe.Buf32=Int32Array,pe.assign(pe,gE)):(pe.Buf8=Array,pe.Buf16=Array,pe.Buf32=Array,pe.assign(pe,BE))};pe.setTyped(AE)});var ku=ce(tn=>{"use strict";var xE=mt(),EE=4,xu=0,Eu=1,bE=2;function en(e){for(var t=e.length;--t>=0;)e[t]=0}var yE=0,wu=1,_E=2,TE=3,CE=258,ic=29,oo=256,eo=oo+1+ic,$r=30,ac=19,Iu=2*eo+1,ir=15,ec=16,wE=7,cc=256,Mu=16,Su=17,Fu=18,oc=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Ts=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],IE=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Du=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ME=512,At=new Array((eo+2)*2);en(At);var $n=new Array($r*2);en($n);var to=new Array(ME);en(to);var ro=new Array(CE-TE+1);en(ro);var fc=new Array(ic);en(fc);var Cs=new Array($r);en(Cs);function tc(e,t,r,n,o){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=o,this.has_stree=e&&e.length}var Ru,Lu,Ou;function rc(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function vu(e){return e<256?to[e]:to[256+(e>>>7)]}function no(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function Te(e,t,r){e.bi_valid>ec-r?(e.bi_buf|=t<<e.bi_valid&65535,no(e,e.bi_buf),e.bi_buf=t>>ec-e.bi_valid,e.bi_valid+=r-ec):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function et(e,t,r){Te(e,r[t*2],r[t*2+1])}function Nu(e,t){var r=0;do r|=e&1,e>>>=1,r<<=1;while(--t>0);return r>>>1}function SE(e){e.bi_valid===16?(no(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function FE(e,t){var r=t.dyn_tree,n=t.max_code,o=t.stat_desc.static_tree,s=t.stat_desc.has_stree,i=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,f=t.stat_desc.max_length,c,l,h,u,d,m,A=0;for(u=0;u<=ir;u++)e.bl_count[u]=0;for(r[e.heap[e.heap_max]*2+1]=0,c=e.heap_max+1;c<Iu;c++)l=e.heap[c],u=r[r[l*2+1]*2+1]+1,u>f&&(u=f,A++),r[l*2+1]=u,!(l>n)&&(e.bl_count[u]++,d=0,l>=a&&(d=i[l-a]),m=r[l*2],e.opt_len+=m*(u+d),s&&(e.static_len+=m*(o[l*2+1]+d)));if(A!==0){do{for(u=f-1;e.bl_count[u]===0;)u--;e.bl_count[u]--,e.bl_count[u+1]+=2,e.bl_count[f]--,A-=2}while(A>0);for(u=f;u!==0;u--)for(l=e.bl_count[u];l!==0;)h=e.heap[--c],!(h>n)&&(r[h*2+1]!==u&&(e.opt_len+=(u-r[h*2+1])*r[h*2],r[h*2+1]=u),l--)}}function Gu(e,t,r){var n=new Array(ir+1),o=0,s,i;for(s=1;s<=ir;s++)n[s]=o=o+r[s-1]<<1;for(i=0;i<=t;i++){var a=e[i*2+1];a!==0&&(e[i*2]=Nu(n[a]++,a))}}function DE(){var e,t,r,n,o,s=new Array(ir+1);for(r=0,n=0;n<ic-1;n++)for(fc[n]=r,e=0;e<1<<oc[n];e++)ro[r++]=n;for(ro[r-1]=n,o=0,n=0;n<16;n++)for(Cs[n]=o,e=0;e<1<<Ts[n];e++)to[o++]=n;for(o>>=7;n<$r;n++)for(Cs[n]=o<<7,e=0;e<1<<Ts[n]-7;e++)to[256+o++]=n;for(t=0;t<=ir;t++)s[t]=0;for(e=0;e<=143;)At[e*2+1]=8,e++,s[8]++;for(;e<=255;)At[e*2+1]=9,e++,s[9]++;for(;e<=279;)At[e*2+1]=7,e++,s[7]++;for(;e<=287;)At[e*2+1]=8,e++,s[8]++;for(Gu(At,eo+1,s),e=0;e<$r;e++)$n[e*2+1]=5,$n[e*2]=Nu(e,5);Ru=new tc(At,oc,oo+1,eo,ir),Lu=new tc($n,Ts,0,$r,ir),Ou=new tc(new Array(0),IE,0,ac,wE)}function Uu(e){var t;for(t=0;t<eo;t++)e.dyn_ltree[t*2]=0;for(t=0;t<$r;t++)e.dyn_dtree[t*2]=0;for(t=0;t<ac;t++)e.bl_tree[t*2]=0;e.dyn_ltree[cc*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Pu(e){e.bi_valid>8?no(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function RE(e,t,r,n){Pu(e),n&&(no(e,r),no(e,~r)),xE.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}function bu(e,t,r,n){var o=t*2,s=r*2;return e[o]<e[s]||e[o]===e[s]&&n[t]<=n[r]}function nc(e,t,r){for(var n=e.heap[r],o=r<<1;o<=e.heap_len&&(o<e.heap_len&&bu(t,e.heap[o+1],e.heap[o],e.depth)&&o++,!bu(t,n,e.heap[o],e.depth));)e.heap[r]=e.heap[o],r=o,o<<=1;e.heap[r]=n}function yu(e,t,r){var n,o,s=0,i,a;if(e.last_lit!==0)do n=e.pending_buf[e.d_buf+s*2]<<8|e.pending_buf[e.d_buf+s*2+1],o=e.pending_buf[e.l_buf+s],s++,n===0?et(e,o,t):(i=ro[o],et(e,i+oo+1,t),a=oc[i],a!==0&&(o-=fc[i],Te(e,o,a)),n--,i=vu(n),et(e,i,r),a=Ts[i],a!==0&&(n-=Cs[i],Te(e,n,a)));while(s<e.last_lit);et(e,cc,t)}function sc(e,t){var r=t.dyn_tree,n=t.stat_desc.static_tree,o=t.stat_desc.has_stree,s=t.stat_desc.elems,i,a,f=-1,c;for(e.heap_len=0,e.heap_max=Iu,i=0;i<s;i++)r[i*2]!==0?(e.heap[++e.heap_len]=f=i,e.depth[i]=0):r[i*2+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=f<2?++f:0,r[c*2]=1,e.depth[c]=0,e.opt_len--,o&&(e.static_len-=n[c*2+1]);for(t.max_code=f,i=e.heap_len>>1;i>=1;i--)nc(e,r,i);c=s;do i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],nc(e,r,1),a=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=a,r[c*2]=r[i*2]+r[a*2],e.depth[c]=(e.depth[i]>=e.depth[a]?e.depth[i]:e.depth[a])+1,r[i*2+1]=r[a*2+1]=c,e.heap[1]=c++,nc(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],FE(e,t),Gu(r,f,e.bl_count)}function _u(e,t,r){var n,o=-1,s,i=t[0*2+1],a=0,f=7,c=4;for(i===0&&(f=138,c=3),t[(r+1)*2+1]=65535,n=0;n<=r;n++)s=i,i=t[(n+1)*2+1],!(++a<f&&s===i)&&(a<c?e.bl_tree[s*2]+=a:s!==0?(s!==o&&e.bl_tree[s*2]++,e.bl_tree[Mu*2]++):a<=10?e.bl_tree[Su*2]++:e.bl_tree[Fu*2]++,a=0,o=s,i===0?(f=138,c=3):s===i?(f=6,c=3):(f=7,c=4))}function Tu(e,t,r){var n,o=-1,s,i=t[0*2+1],a=0,f=7,c=4;for(i===0&&(f=138,c=3),n=0;n<=r;n++)if(s=i,i=t[(n+1)*2+1],!(++a<f&&s===i)){if(a<c)do et(e,s,e.bl_tree);while(--a!==0);else s!==0?(s!==o&&(et(e,s,e.bl_tree),a--),et(e,Mu,e.bl_tree),Te(e,a-3,2)):a<=10?(et(e,Su,e.bl_tree),Te(e,a-3,3)):(et(e,Fu,e.bl_tree),Te(e,a-11,7));a=0,o=s,i===0?(f=138,c=3):s===i?(f=6,c=3):(f=7,c=4)}}function LE(e){var t;for(_u(e,e.dyn_ltree,e.l_desc.max_code),_u(e,e.dyn_dtree,e.d_desc.max_code),sc(e,e.bl_desc),t=ac-1;t>=3&&e.bl_tree[Du[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function OE(e,t,r,n){var o;for(Te(e,t-257,5),Te(e,r-1,5),Te(e,n-4,4),o=0;o<n;o++)Te(e,e.bl_tree[Du[o]*2+1],3);Tu(e,e.dyn_ltree,t-1),Tu(e,e.dyn_dtree,r-1)}function vE(e){var t=4093624447,r;for(r=0;r<=31;r++,t>>>=1)if(t&1&&e.dyn_ltree[r*2]!==0)return xu;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return Eu;for(r=32;r<oo;r++)if(e.dyn_ltree[r*2]!==0)return Eu;return xu}var Cu=!1;function NE(e){Cu||(DE(),Cu=!0),e.l_desc=new rc(e.dyn_ltree,Ru),e.d_desc=new rc(e.dyn_dtree,Lu),e.bl_desc=new rc(e.bl_tree,Ou),e.bi_buf=0,e.bi_valid=0,Uu(e)}function Hu(e,t,r,n){Te(e,(yE<<1)+(n?1:0),3),RE(e,t,r,!0)}function GE(e){Te(e,wu<<1,3),et(e,cc,At),SE(e)}function UE(e,t,r,n){var o,s,i=0;e.level>0?(e.strm.data_type===bE&&(e.strm.data_type=vE(e)),sc(e,e.l_desc),sc(e,e.d_desc),i=LE(e),o=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=o&&(o=s)):o=s=r+5,r+4<=o&&t!==-1?Hu(e,t,r,n):e.strategy===EE||s===o?(Te(e,(wu<<1)+(n?1:0),3),yu(e,At,$n)):(Te(e,(_E<<1)+(n?1:0),3),OE(e,e.l_desc.max_code+1,e.d_desc.max_code+1,i+1),yu(e,e.dyn_ltree,e.dyn_dtree)),Uu(e),n&&Pu(e)}function PE(e,t,r){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=r&255,e.last_lit++,t===0?e.dyn_ltree[r*2]++:(e.matches++,t--,e.dyn_ltree[(ro[r]+oo+1)*2]++,e.dyn_dtree[vu(t)*2]++),e.last_lit===e.lit_bufsize-1}tn._tr_init=NE;tn._tr_stored_block=Hu;tn._tr_flush_block=UE;tn._tr_tally=PE;tn._tr_align=GE});var lc=ce((nR,Ju)=>{"use strict";function HE(e,t,r,n){for(var o=e&65535|0,s=e>>>16&65535|0,i=0;r!==0;){i=r>2e3?2e3:r,r-=i;do o=o+t[n++]|0,s=s+o|0;while(--i);o%=65521,s%=65521}return o|s<<16|0}Ju.exports=HE});var hc=ce((oR,zu)=>{"use strict";function kE(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=e&1?3988292384^e>>>1:e>>>1;t[r]=e}return t}var JE=kE();function zE(e,t,r,n){var o=JE,s=n+r;e^=-1;for(var i=n;i<s;i++)e=e>>>8^o[(e^t[i])&255];return e^-1}zu.exports=zE});var ws=ce((sR,Qu)=>{"use strict";Qu.exports={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"}});var $u=ce(nt=>{"use strict";var ge=mt(),Ue=ku(),Zu=lc(),Ot=hc(),QE=ws(),lr=0,VE=1,jE=3,Pt=4,Vu=5,rt=0,ju=1,Pe=-2,KE=-3,uc=-5,ZE=-1,YE=1,Is=2,WE=3,XE=4,qE=0,$E=2,Ds=8,e2=9,t2=15,r2=8,n2=29,o2=256,mc=o2+1+n2,s2=30,i2=19,a2=2*mc+1,c2=15,J=3,Gt=258,Ve=Gt+J+1,f2=32,Rs=42,Ac=69,Ms=73,Ss=91,Fs=103,ar=113,io=666,ae=1,ao=2,cr=3,on=4,l2=3;function Ut(e,t){return e.msg=QE[t],t}function Ku(e){return(e<<1)-(e>4?9:0)}function Nt(e){for(var t=e.length;--t>=0;)e[t]=0}function vt(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(ge.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,t.pending===0&&(t.pending_out=0))}function ue(e,t){Ue._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,vt(e.strm)}function j(e,t){e.pending_buf[e.pending++]=t}function so(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function h2(e,t,r,n){var o=e.avail_in;return o>n&&(o=n),o===0?0:(e.avail_in-=o,ge.arraySet(t,e.input,e.next_in,o,r),e.state.wrap===1?e.adler=Zu(e.adler,t,o,r):e.state.wrap===2&&(e.adler=Ot(e.adler,t,o,r)),e.next_in+=o,e.total_in+=o,o)}function Yu(e,t){var r=e.max_chain_length,n=e.strstart,o,s,i=e.prev_length,a=e.nice_match,f=e.strstart>e.w_size-Ve?e.strstart-(e.w_size-Ve):0,c=e.window,l=e.w_mask,h=e.prev,u=e.strstart+Gt,d=c[n+i-1],m=c[n+i];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do if(o=t,!(c[o+i]!==m||c[o+i-1]!==d||c[o]!==c[n]||c[++o]!==c[n+1])){n+=2,o++;do;while(c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&c[++n]===c[++o]&&n<u);if(s=Gt-(u-n),n=u-Gt,s>i){if(e.match_start=t,i=s,s>=a)break;d=c[n+i-1],m=c[n+i]}}while((t=h[t&l])>f&&--r!==0);return i<=e.lookahead?i:e.lookahead}function fr(e){var t=e.w_size,r,n,o,s,i;do{if(s=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Ve)){ge.arraySet(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,n=e.hash_size,r=n;do o=e.head[--r],e.head[r]=o>=t?o-t:0;while(--n);n=t,r=n;do o=e.prev[--r],e.prev[r]=o>=t?o-t:0;while(--n);s+=t}if(e.strm.avail_in===0)break;if(n=h2(e.strm,e.window,e.strstart+e.lookahead,s),e.lookahead+=n,e.lookahead+e.insert>=J)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+J-1])&e.hash_mask,e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<J)););}while(e.lookahead<Ve&&e.strm.avail_in!==0)}function u2(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(fr(e),e.lookahead===0&&t===lr)return ae;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((e.strstart===0||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,ue(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-Ve&&(ue(e,!1),e.strm.avail_out===0))return ae}return e.insert=0,t===Pt?(ue(e,!0),e.strm.avail_out===0?cr:on):(e.strstart>e.block_start&&(ue(e,!1),e.strm.avail_out===0),ae)}function dc(e,t){for(var r,n;;){if(e.lookahead<Ve){if(fr(e),e.lookahead<Ve&&t===lr)return ae;if(e.lookahead===0)break}if(r=0,e.lookahead>=J&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+J-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),r!==0&&e.strstart-r<=e.w_size-Ve&&(e.match_length=Yu(e,r)),e.match_length>=J)if(n=Ue._tr_tally(e,e.strstart-e.match_start,e.match_length-J),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=J){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+J-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=Ue._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(ue(e,!1),e.strm.avail_out===0))return ae}return e.insert=e.strstart<J-1?e.strstart:J-1,t===Pt?(ue(e,!0),e.strm.avail_out===0?cr:on):e.last_lit&&(ue(e,!1),e.strm.avail_out===0)?ae:ao}function rn(e,t){for(var r,n,o;;){if(e.lookahead<Ve){if(fr(e),e.lookahead<Ve&&t===lr)return ae;if(e.lookahead===0)break}if(r=0,e.lookahead>=J&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+J-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=J-1,r!==0&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-Ve&&(e.match_length=Yu(e,r),e.match_length<=5&&(e.strategy===YE||e.match_length===J&&e.strstart-e.match_start>4096)&&(e.match_length=J-1)),e.prev_length>=J&&e.match_length<=e.prev_length){o=e.strstart+e.lookahead-J,n=Ue._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-J),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=o&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+J-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=J-1,e.strstart++,n&&(ue(e,!1),e.strm.avail_out===0))return ae}else if(e.match_available){if(n=Ue._tr_tally(e,0,e.window[e.strstart-1]),n&&ue(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return ae}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=Ue._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<J-1?e.strstart:J-1,t===Pt?(ue(e,!0),e.strm.avail_out===0?cr:on):e.last_lit&&(ue(e,!1),e.strm.avail_out===0)?ae:ao}function d2(e,t){for(var r,n,o,s,i=e.window;;){if(e.lookahead<=Gt){if(fr(e),e.lookahead<=Gt&&t===lr)return ae;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=J&&e.strstart>0&&(o=e.strstart-1,n=i[o],n===i[++o]&&n===i[++o]&&n===i[++o])){s=e.strstart+Gt;do;while(n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&n===i[++o]&&o<s);e.match_length=Gt-(s-o),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=J?(r=Ue._tr_tally(e,1,e.match_length-J),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=Ue._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(ue(e,!1),e.strm.avail_out===0))return ae}return e.insert=0,t===Pt?(ue(e,!0),e.strm.avail_out===0?cr:on):e.last_lit&&(ue(e,!1),e.strm.avail_out===0)?ae:ao}function m2(e,t){for(var r;;){if(e.lookahead===0&&(fr(e),e.lookahead===0)){if(t===lr)return ae;break}if(e.match_length=0,r=Ue._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(ue(e,!1),e.strm.avail_out===0))return ae}return e.insert=0,t===Pt?(ue(e,!0),e.strm.avail_out===0?cr:on):e.last_lit&&(ue(e,!1),e.strm.avail_out===0)?ae:ao}function tt(e,t,r,n,o){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=o}var nn;nn=[new tt(0,0,0,0,u2),new tt(4,4,8,4,dc),new tt(4,5,16,8,dc),new tt(4,6,32,32,dc),new tt(4,4,16,16,rn),new tt(8,16,32,32,rn),new tt(8,16,128,128,rn),new tt(8,32,128,256,rn),new tt(32,128,258,1024,rn),new tt(32,258,258,4096,rn)];function A2(e){e.window_size=2*e.w_size,Nt(e.head),e.max_lazy_match=nn[e.level].max_lazy,e.good_match=nn[e.level].good_length,e.nice_match=nn[e.level].nice_length,e.max_chain_length=nn[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=J-1,e.match_available=0,e.ins_h=0}function p2(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Ds,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new ge.Buf16(a2*2),this.dyn_dtree=new ge.Buf16((2*s2+1)*2),this.bl_tree=new ge.Buf16((2*i2+1)*2),Nt(this.dyn_ltree),Nt(this.dyn_dtree),Nt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new ge.Buf16(c2+1),this.heap=new ge.Buf16(2*mc+1),Nt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new ge.Buf16(2*mc+1),Nt(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Wu(e){var t;return!e||!e.state?Ut(e,Pe):(e.total_in=e.total_out=0,e.data_type=$E,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Rs:ar,e.adler=t.wrap===2?0:1,t.last_flush=lr,Ue._tr_init(t),rt)}function Xu(e){var t=Wu(e);return t===rt&&A2(e.state),t}function g2(e,t){return!e||!e.state||e.state.wrap!==2?Pe:(e.state.gzhead=t,rt)}function qu(e,t,r,n,o,s){if(!e)return Pe;var i=1;if(t===ZE&&(t=6),n<0?(i=0,n=-n):n>15&&(i=2,n-=16),o<1||o>e2||r!==Ds||n<8||n>15||t<0||t>9||s<0||s>XE)return Ut(e,Pe);n===8&&(n=9);var a=new p2;return e.state=a,a.strm=e,a.wrap=i,a.gzhead=null,a.w_bits=n,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=o+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+J-1)/J),a.window=new ge.Buf8(a.w_size*2),a.head=new ge.Buf16(a.hash_size),a.prev=new ge.Buf16(a.w_size),a.lit_bufsize=1<<o+6,a.pending_buf_size=a.lit_bufsize*4,a.pending_buf=new ge.Buf8(a.pending_buf_size),a.d_buf=1*a.lit_bufsize,a.l_buf=(1+2)*a.lit_bufsize,a.level=t,a.strategy=s,a.method=r,Xu(e)}function B2(e,t){return qu(e,t,Ds,t2,r2,qE)}function x2(e,t){var r,n,o,s;if(!e||!e.state||t>Vu||t<0)return e?Ut(e,Pe):Pe;if(n=e.state,!e.output||!e.input&&e.avail_in!==0||n.status===io&&t!==Pt)return Ut(e,e.avail_out===0?uc:Pe);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===Rs)if(n.wrap===2)e.adler=0,j(n,31),j(n,139),j(n,8),n.gzhead?(j(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),j(n,n.gzhead.time&255),j(n,n.gzhead.time>>8&255),j(n,n.gzhead.time>>16&255),j(n,n.gzhead.time>>24&255),j(n,n.level===9?2:n.strategy>=Is||n.level<2?4:0),j(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(j(n,n.gzhead.extra.length&255),j(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=Ot(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Ac):(j(n,0),j(n,0),j(n,0),j(n,0),j(n,0),j(n,n.level===9?2:n.strategy>=Is||n.level<2?4:0),j(n,l2),n.status=ar);else{var i=Ds+(n.w_bits-8<<4)<<8,a=-1;n.strategy>=Is||n.level<2?a=0:n.level<6?a=1:n.level===6?a=2:a=3,i|=a<<6,n.strstart!==0&&(i|=f2),i+=31-i%31,n.status=ar,so(n,i),n.strstart!==0&&(so(n,e.adler>>>16),so(n,e.adler&65535)),e.adler=1}if(n.status===Ac)if(n.gzhead.extra){for(o=n.pending;n.gzindex<(n.gzhead.extra.length&65535)&&!(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>o&&(e.adler=Ot(e.adler,n.pending_buf,n.pending-o,o)),vt(e),o=n.pending,n.pending===n.pending_buf_size));)j(n,n.gzhead.extra[n.gzindex]&255),n.gzindex++;n.gzhead.hcrc&&n.pending>o&&(e.adler=Ot(e.adler,n.pending_buf,n.pending-o,o)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=Ms)}else n.status=Ms;if(n.status===Ms)if(n.gzhead.name){o=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>o&&(e.adler=Ot(e.adler,n.pending_buf,n.pending-o,o)),vt(e),o=n.pending,n.pending===n.pending_buf_size)){s=1;break}n.gzindex<n.gzhead.name.length?s=n.gzhead.name.charCodeAt(n.gzindex++)&255:s=0,j(n,s)}while(s!==0);n.gzhead.hcrc&&n.pending>o&&(e.adler=Ot(e.adler,n.pending_buf,n.pending-o,o)),s===0&&(n.gzindex=0,n.status=Ss)}else n.status=Ss;if(n.status===Ss)if(n.gzhead.comment){o=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>o&&(e.adler=Ot(e.adler,n.pending_buf,n.pending-o,o)),vt(e),o=n.pending,n.pending===n.pending_buf_size)){s=1;break}n.gzindex<n.gzhead.comment.length?s=n.gzhead.comment.charCodeAt(n.gzindex++)&255:s=0,j(n,s)}while(s!==0);n.gzhead.hcrc&&n.pending>o&&(e.adler=Ot(e.adler,n.pending_buf,n.pending-o,o)),s===0&&(n.status=Fs)}else n.status=Fs;if(n.status===Fs&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&vt(e),n.pending+2<=n.pending_buf_size&&(j(n,e.adler&255),j(n,e.adler>>8&255),e.adler=0,n.status=ar)):n.status=ar),n.pending!==0){if(vt(e),e.avail_out===0)return n.last_flush=-1,rt}else if(e.avail_in===0&&Ku(t)<=Ku(r)&&t!==Pt)return Ut(e,uc);if(n.status===io&&e.avail_in!==0)return Ut(e,uc);if(e.avail_in!==0||n.lookahead!==0||t!==lr&&n.status!==io){var f=n.strategy===Is?m2(n,t):n.strategy===WE?d2(n,t):nn[n.level].func(n,t);if((f===cr||f===on)&&(n.status=io),f===ae||f===cr)return e.avail_out===0&&(n.last_flush=-1),rt;if(f===ao&&(t===VE?Ue._tr_align(n):t!==Vu&&(Ue._tr_stored_block(n,0,0,!1),t===jE&&(Nt(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),vt(e),e.avail_out===0))return n.last_flush=-1,rt}return t!==Pt?rt:n.wrap<=0?ju:(n.wrap===2?(j(n,e.adler&255),j(n,e.adler>>8&255),j(n,e.adler>>16&255),j(n,e.adler>>24&255),j(n,e.total_in&255),j(n,e.total_in>>8&255),j(n,e.total_in>>16&255),j(n,e.total_in>>24&255)):(so(n,e.adler>>>16),so(n,e.adler&65535)),vt(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?rt:ju)}function E2(e){var t;return!e||!e.state?Pe:(t=e.state.status,t!==Rs&&t!==Ac&&t!==Ms&&t!==Ss&&t!==Fs&&t!==ar&&t!==io?Ut(e,Pe):(e.state=null,t===ar?Ut(e,KE):rt))}function b2(e,t){var r=t.length,n,o,s,i,a,f,c,l;if(!e||!e.state||(n=e.state,i=n.wrap,i===2||i===1&&n.status!==Rs||n.lookahead))return Pe;for(i===1&&(e.adler=Zu(e.adler,t,r,0)),n.wrap=0,r>=n.w_size&&(i===0&&(Nt(n.head),n.strstart=0,n.block_start=0,n.insert=0),l=new ge.Buf8(n.w_size),ge.arraySet(l,t,r-n.w_size,n.w_size,0),t=l,r=n.w_size),a=e.avail_in,f=e.next_in,c=e.input,e.avail_in=r,e.next_in=0,e.input=t,fr(n);n.lookahead>=J;){o=n.strstart,s=n.lookahead-(J-1);do n.ins_h=(n.ins_h<<n.hash_shift^n.window[o+J-1])&n.hash_mask,n.prev[o&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=o,o++;while(--s);n.strstart=o,n.lookahead=J-1,fr(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=J-1,n.match_available=0,e.next_in=f,e.input=c,e.avail_in=a,n.wrap=i,rt}nt.deflateInit=B2;nt.deflateInit2=qu;nt.deflateReset=Xu;nt.deflateResetKeep=Wu;nt.deflateSetHeader=g2;nt.deflate=x2;nt.deflateEnd=E2;nt.deflateSetDictionary=b2;nt.deflateInfo="pako deflate (from Nodeca project)"});var pc=ce(sn=>{"use strict";var Ls=mt(),ed=!0,td=!0;try{String.fromCharCode.apply(null,[0])}catch{ed=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{td=!1}var co=new Ls.Buf8(256);for(pt=0;pt<256;pt++)co[pt]=pt>=252?6:pt>=248?5:pt>=240?4:pt>=224?3:pt>=192?2:1;var pt;co[254]=co[254]=1;sn.string2buf=function(e){var t,r,n,o,s,i=e.length,a=0;for(o=0;o<i;o++)r=e.charCodeAt(o),(r&64512)===55296&&o+1<i&&(n=e.charCodeAt(o+1),(n&64512)===56320&&(r=65536+(r-55296<<10)+(n-56320),o++)),a+=r<128?1:r<2048?2:r<65536?3:4;for(t=new Ls.Buf8(a),s=0,o=0;s<a;o++)r=e.charCodeAt(o),(r&64512)===55296&&o+1<i&&(n=e.charCodeAt(o+1),(n&64512)===56320&&(r=65536+(r-55296<<10)+(n-56320),o++)),r<128?t[s++]=r:r<2048?(t[s++]=192|r>>>6,t[s++]=128|r&63):r<65536?(t[s++]=224|r>>>12,t[s++]=128|r>>>6&63,t[s++]=128|r&63):(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63,t[s++]=128|r>>>6&63,t[s++]=128|r&63);return t};function rd(e,t){if(t<65534&&(e.subarray&&td||!e.subarray&&ed))return String.fromCharCode.apply(null,Ls.shrinkBuf(e,t));for(var r="",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}sn.buf2binstring=function(e){return rd(e,e.length)};sn.binstring2buf=function(e){for(var t=new Ls.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t};sn.buf2string=function(e,t){var r,n,o,s,i=t||e.length,a=new Array(i*2);for(n=0,r=0;r<i;){if(o=e[r++],o<128){a[n++]=o;continue}if(s=co[o],s>4){a[n++]=65533,r+=s-1;continue}for(o&=s===2?31:s===3?15:7;s>1&&r<i;)o=o<<6|e[r++]&63,s--;if(s>1){a[n++]=65533;continue}o<65536?a[n++]=o:(o-=65536,a[n++]=55296|o>>10&1023,a[n++]=56320|o&1023)}return rd(a,n)};sn.utf8border=function(e,t){var r;for(t=t||e.length,t>e.length&&(t=e.length),r=t-1;r>=0&&(e[r]&192)===128;)r--;return r<0||r===0?t:r+co[e[r]]>t?r:t}});var gc=ce((cR,nd)=>{"use strict";function y2(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}nd.exports=y2});var ad=ce(ho=>{"use strict";var fo=$u(),lo=mt(),xc=pc(),Ec=ws(),_2=gc(),id=Object.prototype.toString,T2=0,Bc=4,an=0,od=1,sd=2,C2=-1,w2=0,I2=8;function hr(e){if(!(this instanceof hr))return new hr(e);this.options=lo.assign({level:C2,method:I2,chunkSize:16384,windowBits:15,memLevel:8,strategy:w2,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new _2,this.strm.avail_out=0;var r=fo.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==an)throw new Error(Ec[r]);if(t.header&&fo.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(typeof t.dictionary=="string"?n=xc.string2buf(t.dictionary):id.call(t.dictionary)==="[object ArrayBuffer]"?n=new Uint8Array(t.dictionary):n=t.dictionary,r=fo.deflateSetDictionary(this.strm,n),r!==an)throw new Error(Ec[r]);this._dict_set=!0}}hr.prototype.push=function(e,t){var r=this.strm,n=this.options.chunkSize,o,s;if(this.ended)return!1;s=t===~~t?t:t===!0?Bc:T2,typeof e=="string"?r.input=xc.string2buf(e):id.call(e)==="[object ArrayBuffer]"?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new lo.Buf8(n),r.next_out=0,r.avail_out=n),o=fo.deflate(r,s),o!==od&&o!==an)return this.onEnd(o),this.ended=!0,!1;(r.avail_out===0||r.avail_in===0&&(s===Bc||s===sd))&&(this.options.to==="string"?this.onData(xc.buf2binstring(lo.shrinkBuf(r.output,r.next_out))):this.onData(lo.shrinkBuf(r.output,r.next_out)))}while((r.avail_in>0||r.avail_out===0)&&o!==od);return s===Bc?(o=fo.deflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===an):(s===sd&&(this.onEnd(an),r.avail_out=0),!0)};hr.prototype.onData=function(e){this.chunks.push(e)};hr.prototype.onEnd=function(e){e===an&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=lo.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function bc(e,t){var r=new hr(t);if(r.push(e,!0),r.err)throw r.msg||Ec[r.err];return r.result}function M2(e,t){return t=t||{},t.raw=!0,bc(e,t)}function S2(e,t){return t=t||{},t.gzip=!0,bc(e,t)}ho.Deflate=hr;ho.deflate=bc;ho.deflateRaw=M2;ho.gzip=S2});var fd=ce((lR,cd)=>{"use strict";var Os=30,F2=12;cd.exports=function(t,r){var n,o,s,i,a,f,c,l,h,u,d,m,A,p,E,y,T,C,_,I,M,L,B,g,x;n=t.state,o=t.next_in,g=t.input,s=o+(t.avail_in-5),i=t.next_out,x=t.output,a=i-(r-t.avail_out),f=i+(t.avail_out-257),c=n.dmax,l=n.wsize,h=n.whave,u=n.wnext,d=n.window,m=n.hold,A=n.bits,p=n.lencode,E=n.distcode,y=(1<<n.lenbits)-1,T=(1<<n.distbits)-1;e:do{A<15&&(m+=g[o++]<<A,A+=8,m+=g[o++]<<A,A+=8),C=p[m&y];t:for(;;){if(_=C>>>24,m>>>=_,A-=_,_=C>>>16&255,_===0)x[i++]=C&65535;else if(_&16){I=C&65535,_&=15,_&&(A<_&&(m+=g[o++]<<A,A+=8),I+=m&(1<<_)-1,m>>>=_,A-=_),A<15&&(m+=g[o++]<<A,A+=8,m+=g[o++]<<A,A+=8),C=E[m&T];r:for(;;){if(_=C>>>24,m>>>=_,A-=_,_=C>>>16&255,_&16){if(M=C&65535,_&=15,A<_&&(m+=g[o++]<<A,A+=8,A<_&&(m+=g[o++]<<A,A+=8)),M+=m&(1<<_)-1,M>c){t.msg="invalid distance too far back",n.mode=Os;break e}if(m>>>=_,A-=_,_=i-a,M>_){if(_=M-_,_>h&&n.sane){t.msg="invalid distance too far back",n.mode=Os;break e}if(L=0,B=d,u===0){if(L+=l-_,_<I){I-=_;do x[i++]=d[L++];while(--_);L=i-M,B=x}}else if(u<_){if(L+=l+u-_,_-=u,_<I){I-=_;do x[i++]=d[L++];while(--_);if(L=0,u<I){_=u,I-=_;do x[i++]=d[L++];while(--_);L=i-M,B=x}}}else if(L+=u-_,_<I){I-=_;do x[i++]=d[L++];while(--_);L=i-M,B=x}for(;I>2;)x[i++]=B[L++],x[i++]=B[L++],x[i++]=B[L++],I-=3;I&&(x[i++]=B[L++],I>1&&(x[i++]=B[L++]))}else{L=i-M;do x[i++]=x[L++],x[i++]=x[L++],x[i++]=x[L++],I-=3;while(I>2);I&&(x[i++]=x[L++],I>1&&(x[i++]=x[L++]))}}else if(_&64){t.msg="invalid distance code",n.mode=Os;break e}else{C=E[(C&65535)+(m&(1<<_)-1)];continue r}break}}else if(_&64)if(_&32){n.mode=F2;break e}else{t.msg="invalid literal/length code",n.mode=Os;break e}else{C=p[(C&65535)+(m&(1<<_)-1)];continue t}break}}while(o<s&&i<f);I=A>>3,o-=I,A-=I<<3,m&=(1<<A)-1,t.next_in=o,t.next_out=i,t.avail_in=o<s?5+(s-o):5-(o-s),t.avail_out=i<f?257+(f-i):257-(i-f),n.hold=m,n.bits=A}});var pd=ce((hR,Ad)=>{"use strict";var ld=mt(),cn=15,hd=852,ud=592,dd=0,yc=1,md=2,D2=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],R2=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],L2=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],O2=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];Ad.exports=function(t,r,n,o,s,i,a,f){var c=f.bits,l=0,h=0,u=0,d=0,m=0,A=0,p=0,E=0,y=0,T=0,C,_,I,M,L,B=null,g=0,x,b=new ld.Buf16(cn+1),U=new ld.Buf16(cn+1),G=null,P=0,v,ee,Be;for(l=0;l<=cn;l++)b[l]=0;for(h=0;h<o;h++)b[r[n+h]]++;for(m=c,d=cn;d>=1&&b[d]===0;d--);if(m>d&&(m=d),d===0)return s[i++]=1<<24|64<<16|0,s[i++]=1<<24|64<<16|0,f.bits=1,0;for(u=1;u<d&&b[u]===0;u++);for(m<u&&(m=u),E=1,l=1;l<=cn;l++)if(E<<=1,E-=b[l],E<0)return-1;if(E>0&&(t===dd||d!==1))return-1;for(U[1]=0,l=1;l<cn;l++)U[l+1]=U[l]+b[l];for(h=0;h<o;h++)r[n+h]!==0&&(a[U[r[n+h]]++]=h);if(t===dd?(B=G=a,x=19):t===yc?(B=D2,g-=257,G=R2,P-=257,x=256):(B=L2,G=O2,x=-1),T=0,h=0,l=u,L=i,A=m,p=0,I=-1,y=1<<m,M=y-1,t===yc&&y>hd||t===md&&y>ud)return 1;for(;;){v=l-p,a[h]<x?(ee=0,Be=a[h]):a[h]>x?(ee=G[P+a[h]],Be=B[g+a[h]]):(ee=32+64,Be=0),C=1<<l-p,_=1<<A,u=_;do _-=C,s[L+(T>>p)+_]=v<<24|ee<<16|Be|0;while(_!==0);for(C=1<<l-1;T&C;)C>>=1;if(C!==0?(T&=C-1,T+=C):T=0,h++,--b[l]===0){if(l===d)break;l=r[n+a[h]]}if(l>m&&(T&M)!==I){for(p===0&&(p=m),L+=u,A=l-p,E=1<<A;A+p<d&&(E-=b[A+p],!(E<=0));)A++,E<<=1;if(y+=1<<A,t===yc&&y>hd||t===md&&y>ud)return 1;I=T&M,s[I]=m<<24|A<<16|L-i|0}}return T!==0&&(s[L+T]=l-p<<24|64<<16|0),f.bits=m,0}});var Xd=ce(je=>{"use strict";var Me=mt(),Mc=lc(),ot=hc(),v2=fd(),uo=pd(),N2=0,Jd=1,zd=2,gd=4,G2=5,vs=6,ur=0,U2=1,P2=2,He=-2,Qd=-3,Sc=-4,H2=-5,Bd=8,Vd=1,xd=2,Ed=3,bd=4,yd=5,_d=6,Td=7,Cd=8,wd=9,Id=10,Us=11,gt=12,_c=13,Md=14,Tc=15,Sd=16,Fd=17,Dd=18,Rd=19,Ns=20,Gs=21,Ld=22,Od=23,vd=24,Nd=25,Gd=26,Cc=27,Ud=28,Pd=29,$=30,Fc=31,k2=32,J2=852,z2=592,Q2=15,V2=Q2;function Hd(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function j2(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Me.Buf16(320),this.work=new Me.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function jd(e){var t;return!e||!e.state?He:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Vd,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Me.Buf32(J2),t.distcode=t.distdyn=new Me.Buf32(z2),t.sane=1,t.back=-1,ur)}function Kd(e){var t;return!e||!e.state?He:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,jd(e))}function Zd(e,t){var r,n;return!e||!e.state||(n=e.state,t<0?(r=0,t=-t):(r=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?He:(n.window!==null&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,Kd(e))}function Yd(e,t){var r,n;return e?(n=new j2,e.state=n,n.window=null,r=Zd(e,t),r!==ur&&(e.state=null),r):He}function K2(e){return Yd(e,V2)}var kd=!0,wc,Ic;function Z2(e){if(kd){var t;for(wc=new Me.Buf32(512),Ic=new Me.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(uo(Jd,e.lens,0,288,wc,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;uo(zd,e.lens,0,32,Ic,0,e.work,{bits:5}),kd=!1}e.lencode=wc,e.lenbits=9,e.distcode=Ic,e.distbits=5}function Wd(e,t,r,n){var o,s=e.state;return s.window===null&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new Me.Buf8(s.wsize)),n>=s.wsize?(Me.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(o=s.wsize-s.wnext,o>n&&(o=n),Me.arraySet(s.window,t,r-n,o,s.wnext),n-=o,n?(Me.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=o,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=o))),0}function Y2(e,t){var r,n,o,s,i,a,f,c,l,h,u,d,m,A,p=0,E,y,T,C,_,I,M,L,B=new Me.Buf8(4),g,x,b=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return He;r=e.state,r.mode===gt&&(r.mode=_c),i=e.next_out,o=e.output,f=e.avail_out,s=e.next_in,n=e.input,a=e.avail_in,c=r.hold,l=r.bits,h=a,u=f,L=ur;e:for(;;)switch(r.mode){case Vd:if(r.wrap===0){r.mode=_c;break}for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(r.wrap&2&&c===35615){r.check=0,B[0]=c&255,B[1]=c>>>8&255,r.check=ot(r.check,B,2,0),c=0,l=0,r.mode=xd;break}if(r.flags=0,r.head&&(r.head.done=!1),!(r.wrap&1)||(((c&255)<<8)+(c>>8))%31){e.msg="incorrect header check",r.mode=$;break}if((c&15)!==Bd){e.msg="unknown compression method",r.mode=$;break}if(c>>>=4,l-=4,M=(c&15)+8,r.wbits===0)r.wbits=M;else if(M>r.wbits){e.msg="invalid window size",r.mode=$;break}r.dmax=1<<M,e.adler=r.check=1,r.mode=c&512?Id:gt,c=0,l=0;break;case xd:for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(r.flags=c,(r.flags&255)!==Bd){e.msg="unknown compression method",r.mode=$;break}if(r.flags&57344){e.msg="unknown header flags set",r.mode=$;break}r.head&&(r.head.text=c>>8&1),r.flags&512&&(B[0]=c&255,B[1]=c>>>8&255,r.check=ot(r.check,B,2,0)),c=0,l=0,r.mode=Ed;case Ed:for(;l<32;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.head&&(r.head.time=c),r.flags&512&&(B[0]=c&255,B[1]=c>>>8&255,B[2]=c>>>16&255,B[3]=c>>>24&255,r.check=ot(r.check,B,4,0)),c=0,l=0,r.mode=bd;case bd:for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.head&&(r.head.xflags=c&255,r.head.os=c>>8),r.flags&512&&(B[0]=c&255,B[1]=c>>>8&255,r.check=ot(r.check,B,2,0)),c=0,l=0,r.mode=yd;case yd:if(r.flags&1024){for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.length=c,r.head&&(r.head.extra_len=c),r.flags&512&&(B[0]=c&255,B[1]=c>>>8&255,r.check=ot(r.check,B,2,0)),c=0,l=0}else r.head&&(r.head.extra=null);r.mode=_d;case _d:if(r.flags&1024&&(d=r.length,d>a&&(d=a),d&&(r.head&&(M=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),Me.arraySet(r.head.extra,n,s,d,M)),r.flags&512&&(r.check=ot(r.check,n,d,s)),a-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=Td;case Td:if(r.flags&2048){if(a===0)break e;d=0;do M=n[s+d++],r.head&&M&&r.length<65536&&(r.head.name+=String.fromCharCode(M));while(M&&d<a);if(r.flags&512&&(r.check=ot(r.check,n,d,s)),a-=d,s+=d,M)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=Cd;case Cd:if(r.flags&4096){if(a===0)break e;d=0;do M=n[s+d++],r.head&&M&&r.length<65536&&(r.head.comment+=String.fromCharCode(M));while(M&&d<a);if(r.flags&512&&(r.check=ot(r.check,n,d,s)),a-=d,s+=d,M)break e}else r.head&&(r.head.comment=null);r.mode=wd;case wd:if(r.flags&512){for(;l<16;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(c!==(r.check&65535)){e.msg="header crc mismatch",r.mode=$;break}c=0,l=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=gt;break;case Id:for(;l<32;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}e.adler=r.check=Hd(c),c=0,l=0,r.mode=Us;case Us:if(r.havedict===0)return e.next_out=i,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=c,r.bits=l,P2;e.adler=r.check=1,r.mode=gt;case gt:if(t===G2||t===vs)break e;case _c:if(r.last){c>>>=l&7,l-=l&7,r.mode=Cc;break}for(;l<3;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}switch(r.last=c&1,c>>>=1,l-=1,c&3){case 0:r.mode=Md;break;case 1:if(Z2(r),r.mode=Ns,t===vs){c>>>=2,l-=2;break e}break;case 2:r.mode=Fd;break;case 3:e.msg="invalid block type",r.mode=$}c>>>=2,l-=2;break;case Md:for(c>>>=l&7,l-=l&7;l<32;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if((c&65535)!==(c>>>16^65535)){e.msg="invalid stored block lengths",r.mode=$;break}if(r.length=c&65535,c=0,l=0,r.mode=Tc,t===vs)break e;case Tc:r.mode=Sd;case Sd:if(d=r.length,d){if(d>a&&(d=a),d>f&&(d=f),d===0)break e;Me.arraySet(o,n,s,d,i),a-=d,s+=d,f-=d,i+=d,r.length-=d;break}r.mode=gt;break;case Fd:for(;l<14;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(r.nlen=(c&31)+257,c>>>=5,l-=5,r.ndist=(c&31)+1,c>>>=5,l-=5,r.ncode=(c&15)+4,c>>>=4,l-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=$;break}r.have=0,r.mode=Dd;case Dd:for(;r.have<r.ncode;){for(;l<3;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.lens[b[r.have++]]=c&7,c>>>=3,l-=3}for(;r.have<19;)r.lens[b[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,g={bits:r.lenbits},L=uo(N2,r.lens,0,19,r.lencode,0,r.work,g),r.lenbits=g.bits,L){e.msg="invalid code lengths set",r.mode=$;break}r.have=0,r.mode=Rd;case Rd:for(;r.have<r.nlen+r.ndist;){for(;p=r.lencode[c&(1<<r.lenbits)-1],E=p>>>24,y=p>>>16&255,T=p&65535,!(E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(T<16)c>>>=E,l-=E,r.lens[r.have++]=T;else{if(T===16){for(x=E+2;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(c>>>=E,l-=E,r.have===0){e.msg="invalid bit length repeat",r.mode=$;break}M=r.lens[r.have-1],d=3+(c&3),c>>>=2,l-=2}else if(T===17){for(x=E+3;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}c>>>=E,l-=E,M=0,d=3+(c&7),c>>>=3,l-=3}else{for(x=E+7;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}c>>>=E,l-=E,M=0,d=11+(c&127),c>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=$;break}for(;d--;)r.lens[r.have++]=M}}if(r.mode===$)break;if(r.lens[256]===0){e.msg="invalid code -- missing end-of-block",r.mode=$;break}if(r.lenbits=9,g={bits:r.lenbits},L=uo(Jd,r.lens,0,r.nlen,r.lencode,0,r.work,g),r.lenbits=g.bits,L){e.msg="invalid literal/lengths set",r.mode=$;break}if(r.distbits=6,r.distcode=r.distdyn,g={bits:r.distbits},L=uo(zd,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,g),r.distbits=g.bits,L){e.msg="invalid distances set",r.mode=$;break}if(r.mode=Ns,t===vs)break e;case Ns:r.mode=Gs;case Gs:if(a>=6&&f>=258){e.next_out=i,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=c,r.bits=l,v2(e,u),i=e.next_out,o=e.output,f=e.avail_out,s=e.next_in,n=e.input,a=e.avail_in,c=r.hold,l=r.bits,r.mode===gt&&(r.back=-1);break}for(r.back=0;p=r.lencode[c&(1<<r.lenbits)-1],E=p>>>24,y=p>>>16&255,T=p&65535,!(E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(y&&!(y&240)){for(C=E,_=y,I=T;p=r.lencode[I+((c&(1<<C+_)-1)>>C)],E=p>>>24,y=p>>>16&255,T=p&65535,!(C+E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}c>>>=C,l-=C,r.back+=C}if(c>>>=E,l-=E,r.back+=E,r.length=T,y===0){r.mode=Gd;break}if(y&32){r.back=-1,r.mode=gt;break}if(y&64){e.msg="invalid literal/length code",r.mode=$;break}r.extra=y&15,r.mode=Ld;case Ld:if(r.extra){for(x=r.extra;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.length+=c&(1<<r.extra)-1,c>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=Od;case Od:for(;p=r.distcode[c&(1<<r.distbits)-1],E=p>>>24,y=p>>>16&255,T=p&65535,!(E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(!(y&240)){for(C=E,_=y,I=T;p=r.distcode[I+((c&(1<<C+_)-1)>>C)],E=p>>>24,y=p>>>16&255,T=p&65535,!(C+E<=l);){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}c>>>=C,l-=C,r.back+=C}if(c>>>=E,l-=E,r.back+=E,y&64){e.msg="invalid distance code",r.mode=$;break}r.offset=T,r.extra=y&15,r.mode=vd;case vd:if(r.extra){for(x=r.extra;l<x;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}r.offset+=c&(1<<r.extra)-1,c>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=$;break}r.mode=Nd;case Nd:if(f===0)break e;if(d=u-f,r.offset>d){if(d=r.offset-d,d>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=$;break}d>r.wnext?(d-=r.wnext,m=r.wsize-d):m=r.wnext-d,d>r.length&&(d=r.length),A=r.window}else A=o,m=i-r.offset,d=r.length;d>f&&(d=f),f-=d,r.length-=d;do o[i++]=A[m++];while(--d);r.length===0&&(r.mode=Gs);break;case Gd:if(f===0)break e;o[i++]=r.length,f--,r.mode=Gs;break;case Cc:if(r.wrap){for(;l<32;){if(a===0)break e;a--,c|=n[s++]<<l,l+=8}if(u-=f,e.total_out+=u,r.total+=u,u&&(e.adler=r.check=r.flags?ot(r.check,o,u,i-u):Mc(r.check,o,u,i-u)),u=f,(r.flags?c:Hd(c))!==r.check){e.msg="incorrect data check",r.mode=$;break}c=0,l=0}r.mode=Ud;case Ud:if(r.wrap&&r.flags){for(;l<32;){if(a===0)break e;a--,c+=n[s++]<<l,l+=8}if(c!==(r.total&4294967295)){e.msg="incorrect length check",r.mode=$;break}c=0,l=0}r.mode=Pd;case Pd:L=U2;break e;case $:L=Qd;break e;case Fc:return Sc;case k2:default:return He}return e.next_out=i,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=c,r.bits=l,(r.wsize||u!==e.avail_out&&r.mode<$&&(r.mode<Cc||t!==gd))&&Wd(e,e.output,e.next_out,u-e.avail_out)?(r.mode=Fc,Sc):(h-=e.avail_in,u-=e.avail_out,e.total_in+=h,e.total_out+=u,r.total+=u,r.wrap&&u&&(e.adler=r.check=r.flags?ot(r.check,o,u,e.next_out-u):Mc(r.check,o,u,e.next_out-u)),e.data_type=r.bits+(r.last?64:0)+(r.mode===gt?128:0)+(r.mode===Ns||r.mode===Tc?256:0),(h===0&&u===0||t===gd)&&L===ur&&(L=H2),L)}function W2(e){if(!e||!e.state)return He;var t=e.state;return t.window&&(t.window=null),e.state=null,ur}function X2(e,t){var r;return!e||!e.state||(r=e.state,!(r.wrap&2))?He:(r.head=t,t.done=!1,ur)}function q2(e,t){var r=t.length,n,o,s;return!e||!e.state||(n=e.state,n.wrap!==0&&n.mode!==Us)?He:n.mode===Us&&(o=1,o=Mc(o,t,r,0),o!==n.check)?Qd:(s=Wd(e,t,r,r),s?(n.mode=Fc,Sc):(n.havedict=1,ur))}je.inflateReset=Kd;je.inflateReset2=Zd;je.inflateResetKeep=jd;je.inflateInit=K2;je.inflateInit2=Yd;je.inflate=Y2;je.inflateEnd=W2;je.inflateGetHeader=X2;je.inflateSetDictionary=q2;je.inflateInfo="pako inflate (from Nodeca project)"});var Dc=ce((dR,qd)=>{"use strict";qd.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var e0=ce((mR,$d)=>{"use strict";function $2(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}$d.exports=$2});var r0=ce(Ao=>{"use strict";var fn=Xd(),mo=mt(),Ps=pc(),ne=Dc(),Rc=ws(),eb=gc(),tb=e0(),t0=Object.prototype.toString;function dr(e){if(!(this instanceof dr))return new dr(e);this.options=mo.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new eb,this.strm.avail_out=0;var r=fn.inflateInit2(this.strm,t.windowBits);if(r!==ne.Z_OK)throw new Error(Rc[r]);if(this.header=new tb,fn.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Ps.string2buf(t.dictionary):t0.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=fn.inflateSetDictionary(this.strm,t.dictionary),r!==ne.Z_OK)))throw new Error(Rc[r])}dr.prototype.push=function(e,t){var r=this.strm,n=this.options.chunkSize,o=this.options.dictionary,s,i,a,f,c,l=!1;if(this.ended)return!1;i=t===~~t?t:t===!0?ne.Z_FINISH:ne.Z_NO_FLUSH,typeof e=="string"?r.input=Ps.binstring2buf(e):t0.call(e)==="[object ArrayBuffer]"?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new mo.Buf8(n),r.next_out=0,r.avail_out=n),s=fn.inflate(r,ne.Z_NO_FLUSH),s===ne.Z_NEED_DICT&&o&&(s=fn.inflateSetDictionary(this.strm,o)),s===ne.Z_BUF_ERROR&&l===!0&&(s=ne.Z_OK,l=!1),s!==ne.Z_STREAM_END&&s!==ne.Z_OK)return this.onEnd(s),this.ended=!0,!1;r.next_out&&(r.avail_out===0||s===ne.Z_STREAM_END||r.avail_in===0&&(i===ne.Z_FINISH||i===ne.Z_SYNC_FLUSH))&&(this.options.to==="string"?(a=Ps.utf8border(r.output,r.next_out),f=r.next_out-a,c=Ps.buf2string(r.output,a),r.next_out=f,r.avail_out=n-f,f&&mo.arraySet(r.output,r.output,a,f,0),this.onData(c)):this.onData(mo.shrinkBuf(r.output,r.next_out))),r.avail_in===0&&r.avail_out===0&&(l=!0)}while((r.avail_in>0||r.avail_out===0)&&s!==ne.Z_STREAM_END);return s===ne.Z_STREAM_END&&(i=ne.Z_FINISH),i===ne.Z_FINISH?(s=fn.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===ne.Z_OK):(i===ne.Z_SYNC_FLUSH&&(this.onEnd(ne.Z_OK),r.avail_out=0),!0)};dr.prototype.onData=function(e){this.chunks.push(e)};dr.prototype.onEnd=function(e){e===ne.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=mo.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Lc(e,t){var r=new dr(t);if(r.push(e,!0),r.err)throw r.msg||Rc[r.err];return r.result}function rb(e,t){return t=t||{},t.raw=!0,Lc(e,t)}Ao.Inflate=dr;Ao.inflate=Lc;Ao.inflateRaw=rb;Ao.ungzip=Lc});var s0=ce((pR,o0)=>{"use strict";var nb=mt().assign,ob=ad(),sb=r0(),ib=Dc(),n0={};nb(n0,ob,sb,ib);o0.exports=n0});var i0=ce(()=>{});var po={};de(po,{CesiumIonLoader:()=>Za,TILE3D_TYPE:()=>be,Tile3DBatchTable:()=>ut,Tile3DFeatureTable:()=>ze,Tile3DSubtreeLoader:()=>jr,Tile3DWriter:()=>m0,Tiles3DArchive:()=>ln,Tiles3DArchiveFileLoader:()=>c0,Tiles3DLoader:()=>tr,_getIonTilesetMetadata:()=>xs});bo(po,Br(dn(),1));async function ke(e,t,r,n){return n._parse(e,t,r,n)}function z(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var Ze={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},y0=Ze.self||Ze.window||Ze.global||{},_0=Ze.window||Ze.self||Ze.global||{},T0=Ze.global||Ze.self||Ze.window||{},C0=Ze.document||{};var Ee=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var zc=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),w0=zc&&parseFloat(zc[1])||0;var yo=globalThis,I0=globalThis.document||{},_o=globalThis.process||{},M0=globalThis.console,xb=globalThis.navigator||{};function Qc(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let t=typeof navigator<"u"&&navigator.userAgent,r=e||t;return Boolean(r&&r.indexOf("Electron")>=0)}function Jt(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Qc()}var Js="4.1.1";function xr(e,t){if(!e)throw new Error(t||"Assertion failed")}function zs(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return xr(Number.isFinite(t)&&t>=0),t}function Vc(e){let{logLevel:t,message:r}=e;e.logLevel=zs(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let o=typeof e.message;return xr(o==="string"||o==="object"),Object.assign(e,{args:n},e.opts)}var zt=()=>{},To=class{constructor({level:t=0}={}){this.userData={},this._onceCache=new Set,this._level=t}set level(t){this.setLevel(t)}get level(){return this.getLevel()}setLevel(t){return this._level=t,this}getLevel(){return this._level}warn(t,...r){return this._log("warn",0,t,r,{once:!0})}error(t,...r){return this._log("error",0,t,r)}log(t,r,...n){return this._log("log",t,r,n)}info(t,r,...n){return this._log("info",t,r,n)}once(t,r,...n){return this._log("once",t,r,n,{once:!0})}_log(t,r,n,o,s={}){let i=Vc({logLevel:r,message:n,args:this._buildArgs(r,n,o),opts:s});return this._createLogFunction(t,i,s)}_buildArgs(t,r,n){return[t,r,...n]}_createLogFunction(t,r,n){if(!this._shouldLog(r.logLevel))return zt;let o=this._getOnceTag(n.tag??r.tag??r.message);if((n.once||r.once)&&o!==void 0){if(this._onceCache.has(o))return zt;this._onceCache.add(o)}return this._emit(t,r)}_shouldLog(t){return this.getLevel()>=zs(t)}_getOnceTag(t){if(t!==void 0)try{return typeof t=="string"?t:String(t)}catch{return}}};function F0(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var Co=class{constructor(t,r,n="sessionStorage"){this.storage=F0(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function jc(e){let t;return e<10?t=`${e.toFixed(2)}ms`:e<100?t=`${e.toFixed(1)}ms`:e<1e3?t=`${e.toFixed(0)}ms`:t=`${(e/1e3).toFixed(2)}s`,t}function Kc(e,t=8){let r=Math.max(t-e.length,0);return`${" ".repeat(r)}${e}`}var wo;(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"})(wo||(wo={}));var D0=10;function Zc(e){return typeof e!="string"?e:(e=e.toUpperCase(),wo[e]||wo.WHITE)}function Yc(e,t,r){return!Jt&&typeof e=="string"&&(t&&(e=`\x1B[${Zc(t)}m${e}\x1B[39m`),r&&(e=`\x1B[${Zc(r)+D0}m${e}\x1B[49m`)),e}function Wc(e,t=["constructor"]){let r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),o=e;for(let s of n){let i=o[s];typeof i=="function"&&(t.find(a=>s===a)||(o[s]=i.bind(e)))}}function Er(){let e;if(Jt()&&yo.performance)e=yo?.performance?.now?.();else if("hrtime"in _o){let t=_o?.hrtime?.();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var br={debug:Jt()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Qs={enabled:!0,level:0},mn=class extends To{constructor({id:t}={id:""}){super({level:0}),this.VERSION=Js,this._startTs=Er(),this._deltaTs=Er(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new Co(`__probe-${this.id}__`,{[this.id]:Qs}),this.timeStamp(`${this.id} started`),Wc(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((Er()-this._startTs).toPrecision(10))}getDelta(){return Number((Er()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._updateConfiguration({enabled:t}),this}setLevel(t){return this._updateConfiguration({level:t}),this}get(t){return this._getConfiguration()[t]}set(t,r){this._updateConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){if(!t)throw new Error(r||"Assertion failed")}warn(t,...r){return this._log("warn",0,t,r,{method:br.warn,once:!0})}error(t,...r){return this._log("error",0,t,r,{method:br.error})}deprecated(t,r){return this.warn(`\`${t}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(t,r){return this.error(`\`${t}\` has been removed. Use \`${r}\` instead`)}probe(t,r,...n){return this._log("log",t,r,n,{method:br.log,time:!0,once:!0})}log(t,r,...n){return this._log("log",t,r,n,{method:br.debug})}info(t,r,...n){return this._log("info",t,r,n,{method:console.info})}once(t,r,...n){return this._log("once",t,r,n,{method:br.debug||br.info,once:!0})}table(t,r,n){return r?this._log("table",t,r,n&&[n]||[],{method:console.table||zt,tag:L0(r)}):zt}time(t,r){return this._log("time",t,r,[],{method:console.time?console.time:console.info})}timeEnd(t,r){return this._log("time",t,r,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(t,r){return this._log("time",t,r,[],{method:console.timeStamp||zt})}group(t,r,n={collapsed:!1}){let o=(n.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",t,r,[],{method:o})}groupCollapsed(t,r,n={}){return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._log("groupEnd",t,"",[],{method:console.groupEnd||zt})}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&super._shouldLog(t)}_emit(t,r){let n=r.method;xr(n),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=Er();let o=R0(this.id,r.message,r);return n.bind(console,o,...r.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(Qs),this._storage.config[this.id]}_updateConfiguration(t){let r=this._storage.config[this.id]||{...Qs};this._storage.setConfiguration({[this.id]:{...r,...t}})}};mn.VERSION=Js;function R0(e,t,r){if(typeof t=="string"){let n=r.time?Kc(jc(r.total)):"";t=r.time?`${e}: ${n} ${t}`:`${e}: ${t}`,t=Yc(t,r.color,r.background)}return t}function L0(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}globalThis.probe={};var Vs=new mn({id:"@probe.gl/log"});var js=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer;function An(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}function Ks(e){return globalThis.loaders?.modules?.[e]||null}function O0(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.2"),globalThis._loadersgl_.version}var Xc=O0();function qc(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var Ye={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ty=Ye.self||Ye.window||Ye.global||{},ry=Ye.window||Ye.self||Ye.global||{},ny=Ye.global||Ye.self||Ye.window||{},oy=Ye.document||{};var it=typeof process!="object"||String(process)!=="[object process]"||process.browser,pn=typeof importScripts=="function",sy=typeof window<"u"&&typeof window.orientation<"u",$c=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),iy=$c&&parseFloat($c[1])||0;var Zs={};function gn(e={}){let t=e.useLocalLibraries??e.core?.useLocalLibraries,r=e.CDN??e.core?.CDN,n=e.modules;return{...t!==void 0?{useLocalLibraries:t}:{},...r!==void 0?{CDN:r}:{},...n!==void 0?{modules:n}:{}}}async function Se(e,t=null,r={},n=null){return t&&(e=ef(e,t,r,n)),Zs[e]=Zs[e]||v0(e),await Zs[e]}function ef(e,t,r={},n=null){if(r?.core)throw new Error("loadLibrary: options.core must be pre-normalized");if(!r.useLocalLibraries&&e.startsWith("http"))return e;n=n||e;let o=r.modules||{};return o[n]?o[n]:it?r.CDN?(qc(r.CDN.startsWith("http")),`${r.CDN}/${t}@${Xc}/dist/libs/${n}`):pn?`../src/libs/${n}`:`modules/${t}/src/libs/${n}`:`modules/${t}/dist/libs/${n}`}async function v0(e){if(e.endsWith("wasm"))return await G0(e);if(!it){let{requireFromFile:r}=globalThis.loaders||{};try{let n=await r?.(e);return n||!e.includes("/dist/libs/")?n:await r?.(e.replace("/dist/libs/","/src/libs/"))}catch(n){if(e.includes("/dist/libs/"))try{return await r?.(e.replace("/dist/libs/","/src/libs/"))}catch{}return console.error(n),null}}if(pn)return importScripts(e);let t=await U0(e);return N0(t,e)}function N0(e,t){if(!it){let{requireFromString:n}=globalThis.loaders||{};return n?.(e,t)}if(pn)return eval.call(globalThis,e),null;let r=document.createElement("script");r.id=t;try{r.appendChild(document.createTextNode(e))}catch{r.text=e}return document.body.appendChild(r),null}async function G0(e){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};if(it||!t||e.startsWith("http"))return await(await fetch(e)).arrayBuffer();try{return await t(e)}catch{if(e.includes("/dist/libs/"))return await t(e.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load ArrayBuffer from ${e}`)}}async function U0(e){let{readFileAsText:t}=globalThis.loaders||{};if(it||!t||e.startsWith("http"))return await(await fetch(e)).text();try{return await t(e)}catch{if(e.includes("/dist/libs/"))return await t(e.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load text from ${e}`)}}function rf(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?tf(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?tf(e,0,t):""}function tf(e,t,r){if(e.byteLength<=t+r)return"";let n=new DataView(e),o="";for(let s=0;s<r;s++)o+=String.fromCharCode(n.getUint8(t+s));return o}function Ys(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${rf(e)}"`)}}function xt(e,t,r){if(r=r||e.byteLength,e.byteLength<r||t.byteLength<r)return!1;let n=new Uint8Array(e),o=new Uint8Array(t);for(let s=0;s<n.length;++s)if(n[s]!==o[s])return!1;return!0}function yr(...e){return nf(e)}function nf(e){let t=e.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),r=t.reduce((s,i)=>s+i.byteLength,0),n=new Uint8Array(r),o=0;for(let s of t)n.set(s,o),o+=s.byteLength;return n.buffer}function Qt(e,t,r){let n=r!==void 0?new Uint8Array(e).subarray(t,t+r):new Uint8Array(e).subarray(t);return new Uint8Array(n).buffer}function Ce(e,t){return z(e>=0),z(t>0),e+(t-1)&~(t-1)}function Ws(e,t,r){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let o=e.byteOffset,s=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,o,s)}return t.set(n,r),r+Ce(n.byteLength,4)}function Xs(e,t){let r=e.length,o=Math.ceil(r/t)*t-r,s="";for(let i=0;i<o;++i)s+=" ";return e+s}function _r(e,t,r,n){if(e)for(let o=0;o<n;o++)e.setUint8(t+o,r.charCodeAt(o));return t+n}function Bn(e,t,r,n){if(e)for(let o=0;o<n;o++)e.setUint8(t+o,r[o]);return t+n}function of(e,t,r,n){let o=Ce(r.byteLength,n),s=o-r.byteLength;if(e){let i=new Uint8Array(e.buffer,e.byteOffset+t,r.byteLength),a=new Uint8Array(r);i.set(a);for(let f=0;f<s;++f)e.setUint8(t+r.byteLength+f,32)}return t+=o,t}function Io(e,t,r,n){let s=new TextEncoder().encode(r);return t=of(e,t,s,n),t}async function xn(e){let t=[];for await(let r of e)t.push(P0(r));return yr(...t)}function P0(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:t,byteOffset:r,byteLength:n}=e;return sf(t,r,n)}return sf(e)}function sf(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),o=new Uint8Array(n.length);return o.set(n),o.buffer}function af(e){return e&&typeof e=="object"&&e.isBuffer}function bt(e){if(af(e))return e;if(e instanceof ArrayBuffer)return e;if(js(e))return Et(e);if(ArrayBuffer.isView(e)){let t=e.buffer;return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?t:t.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(typeof e=="string"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function yt(e){if(e instanceof ArrayBuffer)return e;if(js(e))return Et(e);let{buffer:t,byteOffset:r,byteLength:n}=e;return t instanceof ArrayBuffer&&r===0&&n===t.byteLength?t:Et(t,r,n)}function Et(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),o=new Uint8Array(n.length);return o.set(n),o.buffer}function Tr(e){return t=>new Promise((r,n)=>e(t,(o,s)=>o?n(o):r(s)))}var Cr={};de(Cr,{dirname:()=>k0,filename:()=>H0,join:()=>J0,resolve:()=>z0});function cf(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=window.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function H0(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):e}function k0(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function J0(...e){let t="/";return e=e.map((r,n)=>(n&&(r=r.replace(new RegExp(`^${t}`),"")),n!==e.length-1&&(r=r.replace(new RegExp(`${t}$`),"")),r)),e.join(t)}function z0(...e){let t=[];for(let s=0;s<e.length;s++)t[s]=e[s];let r="",n=!1,o;for(let s=t.length-1;s>=-1&&!n;s--){let i;s>=0?i=t[s]:(o===void 0&&(o=cf()),i=o),i.length!==0&&(r=`${i}/${r}`,n=i.charCodeAt(0)===En)}return r=Q0(r,!n),n?`/${r}`:r.length>0?r:"."}var En=47,qs=46;function Q0(e,t){let r="",n=-1,o=0,s,i=!1;for(let a=0;a<=e.length;++a){if(a<e.length)s=e.charCodeAt(a);else{if(s===En)break;s=En}if(s===En){if(!(n===a-1||o===1))if(n!==a-1&&o===2){if(r.length<2||!i||r.charCodeAt(r.length-1)!==qs||r.charCodeAt(r.length-2)!==qs){if(r.length>2){let f=r.length-1,c=f;for(;c>=0&&r.charCodeAt(c)!==En;--c);if(c!==f){r=c===-1?"":r.slice(0,c),n=a,o=0,i=!1;continue}}else if(r.length===2||r.length===1){r="",n=a,o=0,i=!1;continue}}t&&(r.length>0?r+="/..":r="..",i=!0)}else{let f=e.slice(n+1,a);r.length>0?r+=`/${f}`:r=f,i=!1}n=a,o=0}else s===qs&&o!==-1?++o:o=-1}return r}var bn=class{handle;size;bigsize;url;constructor(t){this.handle=t instanceof ArrayBuffer?new Blob([t]):t,this.size=t instanceof ArrayBuffer?t.byteLength:t.size,this.bigsize=BigInt(this.size),this.url=t instanceof File?t.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(t,r){return await this.handle.slice(Number(t),Number(t)+Number(r)).arrayBuffer()}};var yn=new Error("Not implemented"),_n=class{handle;size=0;bigsize=0n;url="";constructor(t,r,n){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(t,r,n);throw Ee?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(t,r){throw yn}async write(t,r,n){throw yn}async stat(){throw yn}async truncate(t){throw yn}async append(t){throw yn}async close(){}};var V0=1/Math.PI*180,j0=1/180*Math.PI,K0={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...K0}};var W=globalThis.mathgl.config;function $s(e,{precision:t=W.precision}={}){return e=Z0(e),`${parseFloat(e.toPrecision(t))}`}function Fe(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function ei(e){return ff(e)}function ti(e){return lf(e)}function ff(e,t){return ni(e,r=>r*j0,t)}function lf(e,t){return ni(e,r=>r*V0,t)}function ri(e,t,r){return ni(e,n=>Math.max(t,Math.min(r,n)))}function we(e,t,r){let n=W.EPSILON;r&&(W.EPSILON=r);try{if(e===t)return!0;if(Fe(e)&&Fe(t)){if(e.length!==t.length)return!1;for(let o=0;o<e.length;++o)if(!we(e[o],t[o]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=W.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{W.EPSILON=n}}function Z0(e){return Math.round(e/W.EPSILON)*W.EPSILON}function Y0(e){return e.clone?e.clone():new Array(e.length)}function ni(e,t,r){if(Fe(e)){let n=e;r=r||Y0(n);for(let o=0;o<r.length&&o<n.length;++o){let s=typeof e=="number"?e:e[o];r[o]=t(s,o,r)}return r}return t(e)}var _t=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Fe(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(W)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+$s(this[n],t);return`${t.printTypes?this.constructor.name:""}[${r}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!we(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let o=0;o<this.ELEMENTS;++o){let s=t[o],i=typeof r=="number"?r:r[o];this[o]=s+n*(i-s)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(W.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function W0(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function k(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function Tt(e,t,r=""){if(W.debug&&!W0(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function fe(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var Ct=class extends _t{get x(){return this[0]}set x(t){this[0]=k(t)}get y(){return this[1]}set y(t){this[1]=k(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let o=this[n]-t[n];r+=o*o}return k(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return k(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return fe(t>=0&&t<this.ELEMENTS,"index is out of range"),k(this[t])}setComponent(t,r){return fe(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var q=typeof Float32Array<"u"?Float32Array:Array,Tn=Math.random;function wr(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var p_=Math.PI/180;function X0(){let e=new q(2);return q!=Float32Array&&(e[0]=0,e[1]=0),e}function hf(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o,e[1]=r[1]*n+r[3]*o,e}function uf(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o+r[4],e[1]=r[1]*n+r[3]*o+r[5],e}function Mo(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[3]*o+r[6],e[1]=r[1]*n+r[4]*o+r[7],e}function So(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[4]*o+r[12],e[1]=r[1]*n+r[5]*o+r[13],e}var g_=function(){let e=X0();return function(t,r,n,o,s,i){let a,f;for(r||(r=2),n||(n=0),o?f=Math.min(o*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],s(e,e,i),t[a]=e[0],t[a+1]=e[1];return t}}();function Fo(e,t,r){let n=t[0],o=t[1],s=r[3]*n+r[7]*o||1;return e[0]=(r[0]*n+r[4]*o)/s,e[1]=(r[1]*n+r[5]*o)/s,e}function Do(e,t,r){let n=t[0],o=t[1],s=t[2],i=r[3]*n+r[7]*o+r[11]*s||1;return e[0]=(r[0]*n+r[4]*o+r[8]*s)/i,e[1]=(r[1]*n+r[5]*o+r[9]*s)/i,e[2]=(r[2]*n+r[6]*o+r[10]*s)/i,e}function df(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o,e[1]=r[1]*n+r[3]*o,e[2]=t[2],e}function mf(e,t,r){let n=t[0],o=t[1];return e[0]=r[0]*n+r[2]*o,e[1]=r[1]*n+r[3]*o,e[2]=t[2],e[3]=t[3],e}function Ro(e,t,r){let n=t[0],o=t[1],s=t[2];return e[0]=r[0]*n+r[3]*o+r[6]*s,e[1]=r[1]*n+r[4]*o+r[7]*s,e[2]=r[2]*n+r[5]*o+r[8]*s,e[3]=t[3],e}var Vt=class extends Ct{constructor(t=0,r=0){super(2),Fe(t)&&arguments.length===1?this.copy(t):(W.debug&&(k(t),k(r)),this[0]=t,this[1]=r)}set(t,r){return this[0]=t,this[1]=r,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this.check()}fromObject(t){return W.debug&&(k(t.x),k(t.y)),this[0]=t.x,this[1]=t.y,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return So(this,this,t),this.check()}transformAsVector(t){return Fo(this,this,t),this.check()}transformByMatrix3(t){return Mo(this,this,t),this.check()}transformByMatrix2x3(t){return uf(this,this,t),this.check()}transformByMatrix2(t){return hf(this,this,t),this.check()}};var Zt={};de(Zt,{add:()=>tm,angle:()=>ci,bezier:()=>mm,ceil:()=>rm,clone:()=>q0,copy:()=>$0,create:()=>Lo,cross:()=>jt,dist:()=>_m,distance:()=>xf,div:()=>ym,divide:()=>Bf,dot:()=>Cn,equals:()=>xm,exactEquals:()=>Bm,floor:()=>nm,forEach:()=>wm,fromValues:()=>Oo,hermite:()=>dm,inverse:()=>lm,len:()=>fi,length:()=>Af,lerp:()=>hm,max:()=>sm,min:()=>om,mul:()=>bm,multiply:()=>gf,negate:()=>fm,normalize:()=>oi,random:()=>Am,rotateX:()=>si,rotateY:()=>ii,rotateZ:()=>ai,round:()=>im,scale:()=>am,scaleAndAdd:()=>cm,set:()=>em,slerp:()=>um,sqrDist:()=>Tm,sqrLen:()=>Cm,squaredDistance:()=>Ef,squaredLength:()=>bf,str:()=>gm,sub:()=>Em,subtract:()=>pf,transformMat3:()=>wn,transformMat4:()=>Kt,transformQuat:()=>In,zero:()=>pm});function Lo(){let e=new q(3);return q!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function q0(e){let t=new q(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Af(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function Oo(e,t,r){let n=new q(3);return n[0]=e,n[1]=t,n[2]=r,n}function $0(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function em(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function tm(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function pf(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function gf(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function Bf(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function rm(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function nm(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function om(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function sm(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function im(e,t){return e[0]=wr(t[0]),e[1]=wr(t[1]),e[2]=wr(t[2]),e}function am(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function cm(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function xf(e,t){let r=t[0]-e[0],n=t[1]-e[1],o=t[2]-e[2];return Math.sqrt(r*r+n*n+o*o)}function Ef(e,t){let r=t[0]-e[0],n=t[1]-e[1],o=t[2]-e[2];return r*r+n*n+o*o}function bf(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function fm(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function lm(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function oi(e,t){let r=t[0],n=t[1],o=t[2],s=r*r+n*n+o*o;return s>0&&(s=1/Math.sqrt(s)),e[0]=t[0]*s,e[1]=t[1]*s,e[2]=t[2]*s,e}function Cn(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function jt(e,t,r){let n=t[0],o=t[1],s=t[2],i=r[0],a=r[1],f=r[2];return e[0]=o*f-s*a,e[1]=s*i-n*f,e[2]=n*a-o*i,e}function hm(e,t,r,n){let o=t[0],s=t[1],i=t[2];return e[0]=o+n*(r[0]-o),e[1]=s+n*(r[1]-s),e[2]=i+n*(r[2]-i),e}function um(e,t,r,n){let o=Math.acos(Math.min(Math.max(Cn(t,r),-1),1)),s=Math.sin(o),i=Math.sin((1-n)*o)/s,a=Math.sin(n*o)/s;return e[0]=i*t[0]+a*r[0],e[1]=i*t[1]+a*r[1],e[2]=i*t[2]+a*r[2],e}function dm(e,t,r,n,o,s){let i=s*s,a=i*(2*s-3)+1,f=i*(s-2)+s,c=i*(s-1),l=i*(3-2*s);return e[0]=t[0]*a+r[0]*f+n[0]*c+o[0]*l,e[1]=t[1]*a+r[1]*f+n[1]*c+o[1]*l,e[2]=t[2]*a+r[2]*f+n[2]*c+o[2]*l,e}function mm(e,t,r,n,o,s){let i=1-s,a=i*i,f=s*s,c=a*i,l=3*s*a,h=3*f*i,u=f*s;return e[0]=t[0]*c+r[0]*l+n[0]*h+o[0]*u,e[1]=t[1]*c+r[1]*l+n[1]*h+o[1]*u,e[2]=t[2]*c+r[2]*l+n[2]*h+o[2]*u,e}function Am(e,t){t=t===void 0?1:t;let r=Tn()*2*Math.PI,n=Tn()*2-1,o=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*o,e[1]=Math.sin(r)*o,e[2]=n*t,e}function Kt(e,t,r){let n=t[0],o=t[1],s=t[2],i=r[3]*n+r[7]*o+r[11]*s+r[15];return i=i||1,e[0]=(r[0]*n+r[4]*o+r[8]*s+r[12])/i,e[1]=(r[1]*n+r[5]*o+r[9]*s+r[13])/i,e[2]=(r[2]*n+r[6]*o+r[10]*s+r[14])/i,e}function wn(e,t,r){let n=t[0],o=t[1],s=t[2];return e[0]=n*r[0]+o*r[3]+s*r[6],e[1]=n*r[1]+o*r[4]+s*r[7],e[2]=n*r[2]+o*r[5]+s*r[8],e}function In(e,t,r){let n=r[0],o=r[1],s=r[2],i=r[3],a=t[0],f=t[1],c=t[2],l=o*c-s*f,h=s*a-n*c,u=n*f-o*a,d=o*u-s*h,m=s*l-n*u,A=n*h-o*l,p=i*2;return l*=p,h*=p,u*=p,d*=2,m*=2,A*=2,e[0]=a+l+d,e[1]=f+h+m,e[2]=c+u+A,e}function si(e,t,r,n){let o=[],s=[];return o[0]=t[0]-r[0],o[1]=t[1]-r[1],o[2]=t[2]-r[2],s[0]=o[0],s[1]=o[1]*Math.cos(n)-o[2]*Math.sin(n),s[2]=o[1]*Math.sin(n)+o[2]*Math.cos(n),e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function ii(e,t,r,n){let o=[],s=[];return o[0]=t[0]-r[0],o[1]=t[1]-r[1],o[2]=t[2]-r[2],s[0]=o[2]*Math.sin(n)+o[0]*Math.cos(n),s[1]=o[1],s[2]=o[2]*Math.cos(n)-o[0]*Math.sin(n),e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function ai(e,t,r,n){let o=[],s=[];return o[0]=t[0]-r[0],o[1]=t[1]-r[1],o[2]=t[2]-r[2],s[0]=o[0]*Math.cos(n)-o[1]*Math.sin(n),s[1]=o[0]*Math.sin(n)+o[1]*Math.cos(n),s[2]=o[2],e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e}function ci(e,t){let r=e[0],n=e[1],o=e[2],s=t[0],i=t[1],a=t[2],f=Math.sqrt((r*r+n*n+o*o)*(s*s+i*i+a*a)),c=f&&Cn(e,t)/f;return Math.acos(Math.min(Math.max(c,-1),1))}function pm(e){return e[0]=0,e[1]=0,e[2]=0,e}function gm(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function Bm(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function xm(e,t){let r=e[0],n=e[1],o=e[2],s=t[0],i=t[1],a=t[2];return Math.abs(r-s)<=1e-6*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(n-i)<=1e-6*Math.max(1,Math.abs(n),Math.abs(i))&&Math.abs(o-a)<=1e-6*Math.max(1,Math.abs(o),Math.abs(a))}var Em=pf,bm=gf,ym=Bf,_m=xf,Tm=Ef,fi=Af,Cm=bf,wm=function(){let e=Lo();return function(t,r,n,o,s,i){let a,f;for(r||(r=3),n||(n=0),o?f=Math.min(o*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],s(e,e,i),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2];return t}}();var li=[0,0,0],vo,w=class extends Ct{static get ZERO(){return vo||(vo=new w(0,0,0),Object.freeze(vo)),vo}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Fe(t)?this.copy(t):(W.debug&&(k(t),k(r),k(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return W.debug&&(k(t.x),k(t.y),k(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=k(t)}angle(t){return ci(this,t)}cross(t){return jt(this,this,t),this.check()}rotateX({radians:t,origin:r=li}){return si(this,this,r,t),this.check()}rotateY({radians:t,origin:r=li}){return ii(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=li}){return ai(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Kt(this,this,t),this.check()}transformAsVector(t){return Do(this,this,t),this.check()}transformByMatrix3(t){return wn(this,this,t),this.check()}transformByMatrix2(t){return df(this,this,t),this.check()}transformByQuaternion(t){return In(this,this,t),this.check()}};var No,Mr=class extends Ct{static get ZERO(){return No||(No=new Mr(0,0,0,0),Object.freeze(No)),No}constructor(t=0,r=0,n=0,o=0){super(-0,-0,-0,-0),Fe(t)&&arguments.length===1?this.copy(t):(W.debug&&(k(t),k(r),k(n),k(o)),this[0]=t,this[1]=r,this[2]=n,this[3]=o)}set(t,r,n,o){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return W.debug&&(k(t.x),k(t.y),k(t.z),k(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=k(t)}get w(){return this[3]}set w(t){this[3]=k(t)}transform(t){return Kt(this,this,t),this.check()}transformByMatrix3(t){return Ro(this,this,t),this.check()}transformByMatrix2(t){return mf(this,this,t),this.check()}transformByQuaternion(t){return In(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Sr=class extends _t{toString(){let t="[";if(W.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=` ${this[n*this.RANK+r]}`}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=` ${this[r]}`}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=k(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let o=0;o<this.RANK;++o)r[o]=this[n+o];return r}setColumn(t,r){let n=t*this.RANK;for(let o=0;o<this.RANK;++o)this[n+o]=r[o];return this}};function yf(){let e=new q(9);return q!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function _f(e,t){if(e===t){let r=t[1],n=t[2],o=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=o}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function Tf(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=t[4],a=t[5],f=t[6],c=t[7],l=t[8],h=l*i-a*c,u=-l*s+a*f,d=c*s-i*f,m=r*h+n*u+o*d;return m?(m=1/m,e[0]=h*m,e[1]=(-l*n+o*c)*m,e[2]=(a*n-o*i)*m,e[3]=u*m,e[4]=(l*r-o*f)*m,e[5]=(-a*r+o*s)*m,e[6]=d*m,e[7]=(-c*r+n*f)*m,e[8]=(i*r-n*s)*m,e):null}function Cf(e){let t=e[0],r=e[1],n=e[2],o=e[3],s=e[4],i=e[5],a=e[6],f=e[7],c=e[8];return t*(c*s-i*f)+r*(-c*o+i*a)+n*(f*o-s*a)}function hi(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=t[8],u=r[0],d=r[1],m=r[2],A=r[3],p=r[4],E=r[5],y=r[6],T=r[7],C=r[8];return e[0]=u*n+d*i+m*c,e[1]=u*o+d*a+m*l,e[2]=u*s+d*f+m*h,e[3]=A*n+p*i+E*c,e[4]=A*o+p*a+E*l,e[5]=A*s+p*f+E*h,e[6]=y*n+T*i+C*c,e[7]=y*o+T*a+C*l,e[8]=y*s+T*f+C*h,e}function wf(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=t[8],u=r[0],d=r[1];return e[0]=n,e[1]=o,e[2]=s,e[3]=i,e[4]=a,e[5]=f,e[6]=u*n+d*i+c,e[7]=u*o+d*a+l,e[8]=u*s+d*f+h,e}function If(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=t[8],u=Math.sin(r),d=Math.cos(r);return e[0]=d*n+u*i,e[1]=d*o+u*a,e[2]=d*s+u*f,e[3]=d*i-u*n,e[4]=d*a-u*o,e[5]=d*f-u*s,e[6]=c,e[7]=l,e[8]=h,e}function ui(e,t,r){let n=r[0],o=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=o*t[3],e[4]=o*t[4],e[5]=o*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function Mf(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=r+r,a=n+n,f=o+o,c=r*i,l=n*i,h=n*a,u=o*i,d=o*a,m=o*f,A=s*i,p=s*a,E=s*f;return e[0]=1-h-m,e[3]=l-E,e[6]=u+p,e[1]=l+E,e[4]=1-c-m,e[7]=d-A,e[2]=u-p,e[5]=d+A,e[8]=1-c-h,e}var di;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL1ROW0=3]="COL1ROW0",e[e.COL1ROW1=4]="COL1ROW1",e[e.COL1ROW2=5]="COL1ROW2",e[e.COL2ROW0=6]="COL2ROW0",e[e.COL2ROW1=7]="COL2ROW1",e[e.COL2ROW2=8]="COL2ROW2"})(di||(di={}));var Mm=Object.freeze([1,0,0,0,1,0,0,0,1]),Z=class extends Sr{static get IDENTITY(){return Fm()}static get ZERO(){return Sm()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return di}constructor(t,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):r.length>0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(Mm)}fromObject(t){return this.check()}fromQuaternion(t){return Mf(this,t),this.check()}set(t,r,n,o,s,i,a,f,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this[4]=s,this[5]=i,this[6]=a,this[7]=f,this[8]=c,this.check()}setRowMajor(t,r,n,o,s,i,a,f,c){return this[0]=t,this[1]=o,this[2]=a,this[3]=r,this[4]=s,this[5]=f,this[6]=n,this[7]=i,this[8]=c,this.check()}determinant(){return Cf(this)}transpose(){return _f(this,this),this.check()}invert(){return Tf(this,this),this.check()}multiplyLeft(t){return hi(this,t,this),this.check()}multiplyRight(t){return hi(this,this,t),this.check()}rotate(t){return If(this,this,t),this.check()}scale(t){return Array.isArray(t)?ui(this,this,t):ui(this,this,[t,t]),this.check()}translate(t){return wf(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=Mo(r||[-0,-0],t,this);break;case 3:n=wn(r||[-0,-0,-0],t,this);break;case 4:n=Ro(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Tt(n,t.length),n}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},Go,Uo=null;function Sm(){return Go||(Go=new Z([0,0,0,0,0,0,0,0,0]),Object.freeze(Go)),Go}function Fm(){return Uo||(Uo=new Z,Object.freeze(Uo)),Uo}var Sn={};de(Sn,{add:()=>tA,adjoint:()=>Nm,clone:()=>Rm,copy:()=>Lm,create:()=>Dm,decompose:()=>jm,determinant:()=>pi,equals:()=>sA,exactEquals:()=>oA,frob:()=>eA,fromQuat:()=>_i,fromQuat2:()=>zm,fromRotation:()=>Pm,fromRotationTranslation:()=>Ff,fromRotationTranslationScale:()=>Km,fromRotationTranslationScaleOrigin:()=>Zm,fromScaling:()=>Um,fromTranslation:()=>Gm,fromValues:()=>Om,fromXRotation:()=>Hm,fromYRotation:()=>km,fromZRotation:()=>Jm,frustum:()=>Ti,getRotation:()=>Vm,getScaling:()=>Df,getTranslation:()=>Qm,identity:()=>Sf,invert:()=>Ai,lookAt:()=>Ii,mul:()=>iA,multiply:()=>Mn,multiplyScalar:()=>rA,multiplyScalarAndAdd:()=>nA,ortho:()=>wi,orthoNO:()=>Lf,orthoZO:()=>Xm,perspective:()=>Ci,perspectiveFromFieldOfView:()=>Wm,perspectiveNO:()=>Rf,perspectiveZO:()=>Ym,rotate:()=>xi,rotateX:()=>Ei,rotateY:()=>bi,rotateZ:()=>yi,scale:()=>Bi,set:()=>vm,str:()=>$m,sub:()=>aA,subtract:()=>Of,targetTo:()=>qm,translate:()=>gi,transpose:()=>mi});function Dm(){let e=new q(16);return q!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Rm(e){let t=new q(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Lm(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Om(e,t,r,n,o,s,i,a,f,c,l,h,u,d,m,A){let p=new q(16);return p[0]=e,p[1]=t,p[2]=r,p[3]=n,p[4]=o,p[5]=s,p[6]=i,p[7]=a,p[8]=f,p[9]=c,p[10]=l,p[11]=h,p[12]=u,p[13]=d,p[14]=m,p[15]=A,p}function vm(e,t,r,n,o,s,i,a,f,c,l,h,u,d,m,A,p){return e[0]=t,e[1]=r,e[2]=n,e[3]=o,e[4]=s,e[5]=i,e[6]=a,e[7]=f,e[8]=c,e[9]=l,e[10]=h,e[11]=u,e[12]=d,e[13]=m,e[14]=A,e[15]=p,e}function Sf(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function mi(e,t){if(e===t){let r=t[1],n=t[2],o=t[3],s=t[6],i=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=s,e[11]=t[14],e[12]=o,e[13]=i,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function Ai(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=t[4],a=t[5],f=t[6],c=t[7],l=t[8],h=t[9],u=t[10],d=t[11],m=t[12],A=t[13],p=t[14],E=t[15],y=r*a-n*i,T=r*f-o*i,C=r*c-s*i,_=n*f-o*a,I=n*c-s*a,M=o*c-s*f,L=l*A-h*m,B=l*p-u*m,g=l*E-d*m,x=h*p-u*A,b=h*E-d*A,U=u*E-d*p,G=y*U-T*b+C*x+_*g-I*B+M*L;return G?(G=1/G,e[0]=(a*U-f*b+c*x)*G,e[1]=(o*b-n*U-s*x)*G,e[2]=(A*M-p*I+E*_)*G,e[3]=(u*I-h*M-d*_)*G,e[4]=(f*g-i*U-c*B)*G,e[5]=(r*U-o*g+s*B)*G,e[6]=(p*C-m*M-E*T)*G,e[7]=(l*M-u*C+d*T)*G,e[8]=(i*b-a*g+c*L)*G,e[9]=(n*g-r*b-s*L)*G,e[10]=(m*I-A*C+E*y)*G,e[11]=(h*C-l*I-d*y)*G,e[12]=(a*B-i*x-f*L)*G,e[13]=(r*x-n*B+o*L)*G,e[14]=(A*T-m*_-p*y)*G,e[15]=(l*_-h*T+u*y)*G,e):null}function Nm(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=t[4],a=t[5],f=t[6],c=t[7],l=t[8],h=t[9],u=t[10],d=t[11],m=t[12],A=t[13],p=t[14],E=t[15],y=r*a-n*i,T=r*f-o*i,C=r*c-s*i,_=n*f-o*a,I=n*c-s*a,M=o*c-s*f,L=l*A-h*m,B=l*p-u*m,g=l*E-d*m,x=h*p-u*A,b=h*E-d*A,U=u*E-d*p;return e[0]=a*U-f*b+c*x,e[1]=o*b-n*U-s*x,e[2]=A*M-p*I+E*_,e[3]=u*I-h*M-d*_,e[4]=f*g-i*U-c*B,e[5]=r*U-o*g+s*B,e[6]=p*C-m*M-E*T,e[7]=l*M-u*C+d*T,e[8]=i*b-a*g+c*L,e[9]=n*g-r*b-s*L,e[10]=m*I-A*C+E*y,e[11]=h*C-l*I-d*y,e[12]=a*B-i*x-f*L,e[13]=r*x-n*B+o*L,e[14]=A*T-m*_-p*y,e[15]=l*_-h*T+u*y,e}function pi(e){let t=e[0],r=e[1],n=e[2],o=e[3],s=e[4],i=e[5],a=e[6],f=e[7],c=e[8],l=e[9],h=e[10],u=e[11],d=e[12],m=e[13],A=e[14],p=e[15],E=t*i-r*s,y=t*a-n*s,T=r*a-n*i,C=c*m-l*d,_=c*A-h*d,I=l*A-h*m,M=t*I-r*_+n*C,L=s*I-i*_+a*C,B=c*T-l*y+h*E,g=d*T-m*y+A*E;return f*M-o*L+p*B-u*g}function Mn(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=t[8],u=t[9],d=t[10],m=t[11],A=t[12],p=t[13],E=t[14],y=t[15],T=r[0],C=r[1],_=r[2],I=r[3];return e[0]=T*n+C*a+_*h+I*A,e[1]=T*o+C*f+_*u+I*p,e[2]=T*s+C*c+_*d+I*E,e[3]=T*i+C*l+_*m+I*y,T=r[4],C=r[5],_=r[6],I=r[7],e[4]=T*n+C*a+_*h+I*A,e[5]=T*o+C*f+_*u+I*p,e[6]=T*s+C*c+_*d+I*E,e[7]=T*i+C*l+_*m+I*y,T=r[8],C=r[9],_=r[10],I=r[11],e[8]=T*n+C*a+_*h+I*A,e[9]=T*o+C*f+_*u+I*p,e[10]=T*s+C*c+_*d+I*E,e[11]=T*i+C*l+_*m+I*y,T=r[12],C=r[13],_=r[14],I=r[15],e[12]=T*n+C*a+_*h+I*A,e[13]=T*o+C*f+_*u+I*p,e[14]=T*s+C*c+_*d+I*E,e[15]=T*i+C*l+_*m+I*y,e}function gi(e,t,r){let n=r[0],o=r[1],s=r[2],i,a,f,c,l,h,u,d,m,A,p,E;return t===e?(e[12]=t[0]*n+t[4]*o+t[8]*s+t[12],e[13]=t[1]*n+t[5]*o+t[9]*s+t[13],e[14]=t[2]*n+t[6]*o+t[10]*s+t[14],e[15]=t[3]*n+t[7]*o+t[11]*s+t[15]):(i=t[0],a=t[1],f=t[2],c=t[3],l=t[4],h=t[5],u=t[6],d=t[7],m=t[8],A=t[9],p=t[10],E=t[11],e[0]=i,e[1]=a,e[2]=f,e[3]=c,e[4]=l,e[5]=h,e[6]=u,e[7]=d,e[8]=m,e[9]=A,e[10]=p,e[11]=E,e[12]=i*n+l*o+m*s+t[12],e[13]=a*n+h*o+A*s+t[13],e[14]=f*n+u*o+p*s+t[14],e[15]=c*n+d*o+E*s+t[15]),e}function Bi(e,t,r){let n=r[0],o=r[1],s=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*o,e[5]=t[5]*o,e[6]=t[6]*o,e[7]=t[7]*o,e[8]=t[8]*s,e[9]=t[9]*s,e[10]=t[10]*s,e[11]=t[11]*s,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function xi(e,t,r,n){let o=n[0],s=n[1],i=n[2],a=Math.sqrt(o*o+s*s+i*i),f,c,l,h,u,d,m,A,p,E,y,T,C,_,I,M,L,B,g,x,b,U,G,P;return a<1e-6?null:(a=1/a,o*=a,s*=a,i*=a,c=Math.sin(r),f=Math.cos(r),l=1-f,h=t[0],u=t[1],d=t[2],m=t[3],A=t[4],p=t[5],E=t[6],y=t[7],T=t[8],C=t[9],_=t[10],I=t[11],M=o*o*l+f,L=s*o*l+i*c,B=i*o*l-s*c,g=o*s*l-i*c,x=s*s*l+f,b=i*s*l+o*c,U=o*i*l+s*c,G=s*i*l-o*c,P=i*i*l+f,e[0]=h*M+A*L+T*B,e[1]=u*M+p*L+C*B,e[2]=d*M+E*L+_*B,e[3]=m*M+y*L+I*B,e[4]=h*g+A*x+T*b,e[5]=u*g+p*x+C*b,e[6]=d*g+E*x+_*b,e[7]=m*g+y*x+I*b,e[8]=h*U+A*G+T*P,e[9]=u*U+p*G+C*P,e[10]=d*U+E*G+_*P,e[11]=m*U+y*G+I*P,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function Ei(e,t,r){let n=Math.sin(r),o=Math.cos(r),s=t[4],i=t[5],a=t[6],f=t[7],c=t[8],l=t[9],h=t[10],u=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=s*o+c*n,e[5]=i*o+l*n,e[6]=a*o+h*n,e[7]=f*o+u*n,e[8]=c*o-s*n,e[9]=l*o-i*n,e[10]=h*o-a*n,e[11]=u*o-f*n,e}function bi(e,t,r){let n=Math.sin(r),o=Math.cos(r),s=t[0],i=t[1],a=t[2],f=t[3],c=t[8],l=t[9],h=t[10],u=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=s*o-c*n,e[1]=i*o-l*n,e[2]=a*o-h*n,e[3]=f*o-u*n,e[8]=s*n+c*o,e[9]=i*n+l*o,e[10]=a*n+h*o,e[11]=f*n+u*o,e}function yi(e,t,r){let n=Math.sin(r),o=Math.cos(r),s=t[0],i=t[1],a=t[2],f=t[3],c=t[4],l=t[5],h=t[6],u=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=s*o+c*n,e[1]=i*o+l*n,e[2]=a*o+h*n,e[3]=f*o+u*n,e[4]=c*o-s*n,e[5]=l*o-i*n,e[6]=h*o-a*n,e[7]=u*o-f*n,e}function Gm(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function Um(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Pm(e,t,r){let n=r[0],o=r[1],s=r[2],i=Math.sqrt(n*n+o*o+s*s),a,f,c;return i<1e-6?null:(i=1/i,n*=i,o*=i,s*=i,f=Math.sin(t),a=Math.cos(t),c=1-a,e[0]=n*n*c+a,e[1]=o*n*c+s*f,e[2]=s*n*c-o*f,e[3]=0,e[4]=n*o*c-s*f,e[5]=o*o*c+a,e[6]=s*o*c+n*f,e[7]=0,e[8]=n*s*c+o*f,e[9]=o*s*c-n*f,e[10]=s*s*c+a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function Hm(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function km(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Jm(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Ff(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=n+n,f=o+o,c=s+s,l=n*a,h=n*f,u=n*c,d=o*f,m=o*c,A=s*c,p=i*a,E=i*f,y=i*c;return e[0]=1-(d+A),e[1]=h+y,e[2]=u-E,e[3]=0,e[4]=h-y,e[5]=1-(l+A),e[6]=m+p,e[7]=0,e[8]=u+E,e[9]=m-p,e[10]=1-(l+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function zm(e,t){let r=new q(3),n=-t[0],o=-t[1],s=-t[2],i=t[3],a=t[4],f=t[5],c=t[6],l=t[7],h=n*n+o*o+s*s+i*i;return h>0?(r[0]=(a*i+l*n+f*s-c*o)*2/h,r[1]=(f*i+l*o+c*n-a*s)*2/h,r[2]=(c*i+l*s+a*o-f*n)*2/h):(r[0]=(a*i+l*n+f*s-c*o)*2,r[1]=(f*i+l*o+c*n-a*s)*2,r[2]=(c*i+l*s+a*o-f*n)*2),Ff(e,t,r),e}function Qm(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Df(e,t){let r=t[0],n=t[1],o=t[2],s=t[4],i=t[5],a=t[6],f=t[8],c=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+o*o),e[1]=Math.sqrt(s*s+i*i+a*a),e[2]=Math.sqrt(f*f+c*c+l*l),e}function Vm(e,t){let r=new q(3);Df(r,t);let n=1/r[0],o=1/r[1],s=1/r[2],i=t[0]*n,a=t[1]*o,f=t[2]*s,c=t[4]*n,l=t[5]*o,h=t[6]*s,u=t[8]*n,d=t[9]*o,m=t[10]*s,A=i+l+m,p=0;return A>0?(p=Math.sqrt(A+1)*2,e[3]=.25*p,e[0]=(h-d)/p,e[1]=(u-f)/p,e[2]=(a-c)/p):i>l&&i>m?(p=Math.sqrt(1+i-l-m)*2,e[3]=(h-d)/p,e[0]=.25*p,e[1]=(a+c)/p,e[2]=(u+f)/p):l>m?(p=Math.sqrt(1+l-i-m)*2,e[3]=(u-f)/p,e[0]=(a+c)/p,e[1]=.25*p,e[2]=(h+d)/p):(p=Math.sqrt(1+m-i-l)*2,e[3]=(a-c)/p,e[0]=(u+f)/p,e[1]=(h+d)/p,e[2]=.25*p),e}function jm(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let o=n[0],s=n[1],i=n[2],a=n[4],f=n[5],c=n[6],l=n[8],h=n[9],u=n[10];r[0]=Math.sqrt(o*o+s*s+i*i),r[1]=Math.sqrt(a*a+f*f+c*c),r[2]=Math.sqrt(l*l+h*h+u*u);let d=1/r[0],m=1/r[1],A=1/r[2],p=o*d,E=s*m,y=i*A,T=a*d,C=f*m,_=c*A,I=l*d,M=h*m,L=u*A,B=p+C+L,g=0;return B>0?(g=Math.sqrt(B+1)*2,e[3]=.25*g,e[0]=(_-M)/g,e[1]=(I-y)/g,e[2]=(E-T)/g):p>C&&p>L?(g=Math.sqrt(1+p-C-L)*2,e[3]=(_-M)/g,e[0]=.25*g,e[1]=(E+T)/g,e[2]=(I+y)/g):C>L?(g=Math.sqrt(1+C-p-L)*2,e[3]=(I-y)/g,e[0]=(E+T)/g,e[1]=.25*g,e[2]=(_+M)/g):(g=Math.sqrt(1+L-p-C)*2,e[3]=(E-T)/g,e[0]=(I+y)/g,e[1]=(_+M)/g,e[2]=.25*g),e}function Km(e,t,r,n){let o=t[0],s=t[1],i=t[2],a=t[3],f=o+o,c=s+s,l=i+i,h=o*f,u=o*c,d=o*l,m=s*c,A=s*l,p=i*l,E=a*f,y=a*c,T=a*l,C=n[0],_=n[1],I=n[2];return e[0]=(1-(m+p))*C,e[1]=(u+T)*C,e[2]=(d-y)*C,e[3]=0,e[4]=(u-T)*_,e[5]=(1-(h+p))*_,e[6]=(A+E)*_,e[7]=0,e[8]=(d+y)*I,e[9]=(A-E)*I,e[10]=(1-(h+m))*I,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function Zm(e,t,r,n,o){let s=t[0],i=t[1],a=t[2],f=t[3],c=s+s,l=i+i,h=a+a,u=s*c,d=s*l,m=s*h,A=i*l,p=i*h,E=a*h,y=f*c,T=f*l,C=f*h,_=n[0],I=n[1],M=n[2],L=o[0],B=o[1],g=o[2],x=(1-(A+E))*_,b=(d+C)*_,U=(m-T)*_,G=(d-C)*I,P=(1-(u+E))*I,v=(p+y)*I,ee=(m+T)*M,Be=(p-y)*M,X=(1-(u+A))*M;return e[0]=x,e[1]=b,e[2]=U,e[3]=0,e[4]=G,e[5]=P,e[6]=v,e[7]=0,e[8]=ee,e[9]=Be,e[10]=X,e[11]=0,e[12]=r[0]+L-(x*L+G*B+ee*g),e[13]=r[1]+B-(b*L+P*B+Be*g),e[14]=r[2]+g-(U*L+v*B+X*g),e[15]=1,e}function _i(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=r+r,a=n+n,f=o+o,c=r*i,l=n*i,h=n*a,u=o*i,d=o*a,m=o*f,A=s*i,p=s*a,E=s*f;return e[0]=1-h-m,e[1]=l+E,e[2]=u-p,e[3]=0,e[4]=l-E,e[5]=1-c-m,e[6]=d+A,e[7]=0,e[8]=u+p,e[9]=d-A,e[10]=1-c-h,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Ti(e,t,r,n,o,s,i){let a=1/(r-t),f=1/(o-n),c=1/(s-i);return e[0]=s*2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s*2*f,e[6]=0,e[7]=0,e[8]=(r+t)*a,e[9]=(o+n)*f,e[10]=(i+s)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=i*s*2*c,e[15]=0,e}function Rf(e,t,r,n,o){let s=1/Math.tan(t/2);if(e[0]=s/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,o!=null&&o!==1/0){let i=1/(n-o);e[10]=(o+n)*i,e[14]=2*o*n*i}else e[10]=-1,e[14]=-2*n;return e}var Ci=Rf;function Ym(e,t,r,n,o){let s=1/Math.tan(t/2);if(e[0]=s/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,o!=null&&o!==1/0){let i=1/(n-o);e[10]=o*i,e[14]=o*n*i}else e[10]=-1,e[14]=-n;return e}function Wm(e,t,r,n){let o=Math.tan(t.upDegrees*Math.PI/180),s=Math.tan(t.downDegrees*Math.PI/180),i=Math.tan(t.leftDegrees*Math.PI/180),a=Math.tan(t.rightDegrees*Math.PI/180),f=2/(i+a),c=2/(o+s);return e[0]=f,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((i-a)*f*.5),e[9]=(o-s)*c*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Lf(e,t,r,n,o,s,i){let a=1/(t-r),f=1/(n-o),c=1/(s-i);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*f,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*a,e[13]=(o+n)*f,e[14]=(i+s)*c,e[15]=1,e}var wi=Lf;function Xm(e,t,r,n,o,s,i){let a=1/(t-r),f=1/(n-o),c=1/(s-i);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*f,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*a,e[13]=(o+n)*f,e[14]=s*c,e[15]=1,e}function Ii(e,t,r,n){let o,s,i,a,f,c,l,h,u,d,m=t[0],A=t[1],p=t[2],E=n[0],y=n[1],T=n[2],C=r[0],_=r[1],I=r[2];return Math.abs(m-C)<1e-6&&Math.abs(A-_)<1e-6&&Math.abs(p-I)<1e-6?Sf(e):(h=m-C,u=A-_,d=p-I,o=1/Math.sqrt(h*h+u*u+d*d),h*=o,u*=o,d*=o,s=y*d-T*u,i=T*h-E*d,a=E*u-y*h,o=Math.sqrt(s*s+i*i+a*a),o?(o=1/o,s*=o,i*=o,a*=o):(s=0,i=0,a=0),f=u*a-d*i,c=d*s-h*a,l=h*i-u*s,o=Math.sqrt(f*f+c*c+l*l),o?(o=1/o,f*=o,c*=o,l*=o):(f=0,c=0,l=0),e[0]=s,e[1]=f,e[2]=h,e[3]=0,e[4]=i,e[5]=c,e[6]=u,e[7]=0,e[8]=a,e[9]=l,e[10]=d,e[11]=0,e[12]=-(s*m+i*A+a*p),e[13]=-(f*m+c*A+l*p),e[14]=-(h*m+u*A+d*p),e[15]=1,e)}function qm(e,t,r,n){let o=t[0],s=t[1],i=t[2],a=n[0],f=n[1],c=n[2],l=o-r[0],h=s-r[1],u=i-r[2],d=l*l+h*h+u*u;d>0&&(d=1/Math.sqrt(d),l*=d,h*=d,u*=d);let m=f*u-c*h,A=c*l-a*u,p=a*h-f*l;return d=m*m+A*A+p*p,d>0&&(d=1/Math.sqrt(d),m*=d,A*=d,p*=d),e[0]=m,e[1]=A,e[2]=p,e[3]=0,e[4]=h*p-u*A,e[5]=u*m-l*p,e[6]=l*A-h*m,e[7]=0,e[8]=l,e[9]=h,e[10]=u,e[11]=0,e[12]=o,e[13]=s,e[14]=i,e[15]=1,e}function $m(e){return`mat4(${e[0]}, ${e[1]}, ${e[2]}, ${e[3]}, ${e[4]}, ${e[5]}, ${e[6]}, ${e[7]}, ${e[8]}, ${e[9]}, ${e[10]}, ${e[11]}, ${e[12]}, ${e[13]}, ${e[14]}, ${e[15]})`}function eA(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]+e[3]*e[3]+e[4]*e[4]+e[5]*e[5]+e[6]*e[6]+e[7]*e[7]+e[8]*e[8]+e[9]*e[9]+e[10]*e[10]+e[11]*e[11]+e[12]*e[12]+e[13]*e[13]+e[14]*e[14]+e[15]*e[15])}function tA(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function Of(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function rA(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function nA(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function oA(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function sA(e,t){let r=e[0],n=e[1],o=e[2],s=e[3],i=e[4],a=e[5],f=e[6],c=e[7],l=e[8],h=e[9],u=e[10],d=e[11],m=e[12],A=e[13],p=e[14],E=e[15],y=t[0],T=t[1],C=t[2],_=t[3],I=t[4],M=t[5],L=t[6],B=t[7],g=t[8],x=t[9],b=t[10],U=t[11],G=t[12],P=t[13],v=t[14],ee=t[15];return Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(n-T)<=1e-6*Math.max(1,Math.abs(n),Math.abs(T))&&Math.abs(o-C)<=1e-6*Math.max(1,Math.abs(o),Math.abs(C))&&Math.abs(s-_)<=1e-6*Math.max(1,Math.abs(s),Math.abs(_))&&Math.abs(i-I)<=1e-6*Math.max(1,Math.abs(i),Math.abs(I))&&Math.abs(a-M)<=1e-6*Math.max(1,Math.abs(a),Math.abs(M))&&Math.abs(f-L)<=1e-6*Math.max(1,Math.abs(f),Math.abs(L))&&Math.abs(c-B)<=1e-6*Math.max(1,Math.abs(c),Math.abs(B))&&Math.abs(l-g)<=1e-6*Math.max(1,Math.abs(l),Math.abs(g))&&Math.abs(h-x)<=1e-6*Math.max(1,Math.abs(h),Math.abs(x))&&Math.abs(u-b)<=1e-6*Math.max(1,Math.abs(u),Math.abs(b))&&Math.abs(d-U)<=1e-6*Math.max(1,Math.abs(d),Math.abs(U))&&Math.abs(m-G)<=1e-6*Math.max(1,Math.abs(m),Math.abs(G))&&Math.abs(A-P)<=1e-6*Math.max(1,Math.abs(A),Math.abs(P))&&Math.abs(p-v)<=1e-6*Math.max(1,Math.abs(p),Math.abs(v))&&Math.abs(E-ee)<=1e-6*Math.max(1,Math.abs(E),Math.abs(ee))}var iA=Mn,aA=Of;function cA(){let e=new q(4);return q!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function vf(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function Nf(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function Gf(e){let t=e[0],r=e[1],n=e[2],o=e[3];return Math.sqrt(t*t+r*r+n*n+o*o)}function Uf(e){let t=e[0],r=e[1],n=e[2],o=e[3];return t*t+r*r+n*n+o*o}function Pf(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=r*r+n*n+o*o+s*s;return i>0&&(i=1/Math.sqrt(i)),e[0]=r*i,e[1]=n*i,e[2]=o*i,e[3]=s*i,e}function Hf(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function kf(e,t,r,n){let o=t[0],s=t[1],i=t[2],a=t[3];return e[0]=o+n*(r[0]-o),e[1]=s+n*(r[1]-s),e[2]=i+n*(r[2]-i),e[3]=a+n*(r[3]-a),e}function Jf(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3];return e[0]=r[0]*n+r[4]*o+r[8]*s+r[12]*i,e[1]=r[1]*n+r[5]*o+r[9]*s+r[13]*i,e[2]=r[2]*n+r[6]*o+r[10]*s+r[14]*i,e[3]=r[3]*n+r[7]*o+r[11]*s+r[15]*i,e}function zf(e,t,r){let n=t[0],o=t[1],s=t[2],i=r[0],a=r[1],f=r[2],c=r[3],l=c*n+a*s-f*o,h=c*o+f*n-i*s,u=c*s+i*o-a*n,d=-i*n-a*o-f*s;return e[0]=l*c+d*-i+h*-f-u*-a,e[1]=h*c+d*-a+u*-i-l*-f,e[2]=u*c+d*-f+l*-a-h*-i,e[3]=t[3],e}var Y_=function(){let e=cA();return function(t,r,n,o,s,i){let a,f;for(r||(r=4),n||(n=0),o?f=Math.min(o*r+n,t.length):f=t.length,a=n;a<f;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],e[3]=t[a+3],s(e,e,i),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2],t[a+3]=e[3];return t}}();var Fi;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(Fi||(Fi={}));var lA=45*Math.PI/180,hA=1,Mi=.1,Si=500,uA=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),De=class extends Sr{static get IDENTITY(){return mA()}static get ZERO(){return dA()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return Fi}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,n,o,s,i,a,f,c,l,h,u,d,m,A,p){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this[4]=s,this[5]=i,this[6]=a,this[7]=f,this[8]=c,this[9]=l,this[10]=h,this[11]=u,this[12]=d,this[13]=m,this[14]=A,this[15]=p,this.check()}setRowMajor(t,r,n,o,s,i,a,f,c,l,h,u,d,m,A,p){return this[0]=t,this[1]=s,this[2]=c,this[3]=d,this[4]=r,this[5]=i,this[6]=l,this[7]=m,this[8]=n,this[9]=a,this[10]=h,this[11]=A,this[12]=o,this[13]=f,this[14]=u,this[15]=p,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(uA)}fromObject(t){return this.check()}fromQuaternion(t){return _i(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:o,top:s,near:i=Mi,far:a=Si}=t;return a===1/0?AA(this,r,n,o,s,i):Ti(this,r,n,o,s,i,a),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:o=[0,1,0]}=t;return Ii(this,r,n,o),this.check()}ortho(t){let{left:r,right:n,bottom:o,top:s,near:i=Mi,far:a=Si}=t;return wi(this,r,n,o,s,i,a),this.check()}orthographic(t){let{fovy:r=lA,aspect:n=hA,focalDistance:o=1,near:s=Mi,far:i=Si}=t;Qf(r);let a=r/2,f=o*Math.tan(a),c=f*n;return this.ortho({left:-c,right:c,bottom:-f,top:f,near:s,far:i})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:o=.1,far:s=500}=t;return Qf(r),Ci(this,r,n,o,s),this.check()}determinant(){return pi(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),o=1/n[0],s=1/n[1],i=1/n[2];return t[0]=this[0]*o,t[1]=this[1]*s,t[2]=this[2]*i,t[3]=0,t[4]=this[4]*o,t[5]=this[5]*s,t[6]=this[6]*i,t[7]=0,t[8]=this[8]*o,t[9]=this[9]*s,t[10]=this[10]*i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),o=1/n[0],s=1/n[1],i=1/n[2];return t[0]=this[0]*o,t[1]=this[1]*s,t[2]=this[2]*i,t[3]=this[4]*o,t[4]=this[5]*s,t[5]=this[6]*i,t[6]=this[8]*o,t[7]=this[9]*s,t[8]=this[10]*i,t}transpose(){return mi(this,this),this.check()}invert(){return Ai(this,this),this.check()}multiplyLeft(t){return Mn(this,t,this),this.check()}multiplyRight(t){return Mn(this,this,t),this.check()}rotateX(t){return Ei(this,this,t),this.check()}rotateY(t){return bi(this,this,t),this.check()}rotateZ(t){return yi(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return xi(this,this,t,r),this.check()}scale(t){return Bi(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return gi(this,this,t),this.check()}transform(t,r){return t.length===4?(r=Jf(r||[-0,-0,-0,-0],t,this),Tt(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,o;switch(n){case 2:o=So(r||[-0,-0],t,this);break;case 3:o=Kt(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Tt(o,t.length),o}transformAsVector(t,r){let n;switch(t.length){case 2:n=Fo(r||[-0,-0],t,this);break;case 3:n=Do(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Tt(n,t.length),n}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,n){return this.identity().translate([t,r,n])}},Po,Ho;function dA(){return Po||(Po=new De([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Po)),Po}function mA(){return Ho||(Ho=new De,Object.freeze(Ho)),Ho}function Qf(e){if(e>Math.PI*2)throw Error("expected radians")}function AA(e,t,r,n,o,s){let i=2*s/(r-t),a=2*s/(o-n),f=(r+t)/(r-t),c=(o+n)/(o-n),l=-1,h=-1,u=-2*s;return e[0]=i,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=f,e[9]=c,e[10]=l,e[11]=h,e[12]=0,e[13]=0,e[14]=u,e[15]=0,e}function Vf(){let e=new q(4);return q!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function jf(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function Di(e,t,r){r=r*.5;let n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function Ri(e,t,r){let n=t[0],o=t[1],s=t[2],i=t[3],a=r[0],f=r[1],c=r[2],l=r[3];return e[0]=n*l+i*a+o*c-s*f,e[1]=o*l+i*f+s*a-n*c,e[2]=s*l+i*c+n*f-o*a,e[3]=i*l-n*a-o*f-s*c,e}function Kf(e,t,r){r*=.5;let n=t[0],o=t[1],s=t[2],i=t[3],a=Math.sin(r),f=Math.cos(r);return e[0]=n*f+i*a,e[1]=o*f+s*a,e[2]=s*f-o*a,e[3]=i*f-n*a,e}function Zf(e,t,r){r*=.5;let n=t[0],o=t[1],s=t[2],i=t[3],a=Math.sin(r),f=Math.cos(r);return e[0]=n*f-s*a,e[1]=o*f+i*a,e[2]=s*f+n*a,e[3]=i*f-o*a,e}function Yf(e,t,r){r*=.5;let n=t[0],o=t[1],s=t[2],i=t[3],a=Math.sin(r),f=Math.cos(r);return e[0]=n*f+o*a,e[1]=o*f-n*a,e[2]=s*f+i*a,e[3]=i*f-s*a,e}function Wf(e,t){let r=t[0],n=t[1],o=t[2];return e[0]=r,e[1]=n,e[2]=o,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-o*o)),e}function Fn(e,t,r,n){let o=t[0],s=t[1],i=t[2],a=t[3],f=r[0],c=r[1],l=r[2],h=r[3],u,d,m,A,p;return u=o*f+s*c+i*l+a*h,u<0&&(u=-u,f=-f,c=-c,l=-l,h=-h),1-u>1e-6?(d=Math.acos(u),p=Math.sin(d),m=Math.sin((1-n)*d)/p,A=Math.sin(n*d)/p):(m=1-n,A=n),e[0]=m*o+A*f,e[1]=m*s+A*c,e[2]=m*i+A*l,e[3]=m*a+A*h,e}function Xf(e,t){let r=t[0],n=t[1],o=t[2],s=t[3],i=r*r+n*n+o*o+s*s,a=i?1/i:0;return e[0]=-r*a,e[1]=-n*a,e[2]=-o*a,e[3]=s*a,e}function qf(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function Li(e,t){let r=t[0]+t[4]+t[8],n;if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{let o=0;t[4]>t[0]&&(o=1),t[8]>t[o*3+o]&&(o=2);let s=(o+1)%3,i=(o+2)%3;n=Math.sqrt(t[o*3+o]-t[s*3+s]-t[i*3+i]+1),e[o]=.5*n,n=.5/n,e[3]=(t[s*3+i]-t[i*3+s])*n,e[s]=(t[s*3+o]+t[o*3+s])*n,e[i]=(t[i*3+o]+t[o*3+i])*n}return e}var $f=vf;var el=Nf,tl=Hf,rl=kf,nl=Gf;var ol=Uf;var sl=Pf;var il=function(){let e=Lo(),t=Oo(1,0,0),r=Oo(0,1,0);return function(n,o,s){let i=Cn(o,s);return i<-.999999?(jt(e,t,o),fi(e)<1e-6&&jt(e,r,o),oi(e,e),Di(n,e,Math.PI),n):i>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(jt(e,o,s),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+i,sl(n,n))}}(),fT=function(){let e=Vf(),t=Vf();return function(r,n,o,s,i,a){return Fn(e,n,i,a),Fn(t,o,s,a),Fn(r,e,t,2*a*(1-a)),r}}(),lT=function(){let e=yf();return function(t,r,n,o){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=o[0],e[4]=o[1],e[7]=o[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],sl(t,Li(t,e))}}();var pA=[0,0,0,1],wt=class extends _t{constructor(t=0,r=0,n=0,o=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,o)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,n,o){return this[0]=t,this[1]=r,this[2]=n,this[3]=o,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return Li(this,t),this.check()}fromAxisRotation(t,r){return Di(this,t,r),this.check()}identity(){return jf(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=k(t)}get y(){return this[1]}set y(t){this[1]=k(t)}get z(){return this[2]}set z(t){this[2]=k(t)}get w(){return this[3]}set w(t){this[3]=k(t)}len(){return nl(this)}lengthSquared(){return ol(this)}dot(t){return tl(this,t)}rotationTo(t,r){return il(this,t,r),this.check()}add(t){return $f(this,this,t),this.check()}calculateW(){return Wf(this,this),this.check()}conjugate(){return qf(this,this),this.check()}invert(){return Xf(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(rl(this,t,r,n),this.check())}multiplyRight(t){return Ri(this,this,t),this.check()}multiplyLeft(t){return Ri(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return Kf(this,this,t),this.check()}rotateY(t){return Zf(this,this,t),this.check()}rotateZ(t){return Yf(this,this,t),this.check()}scale(t){return el(this,this,t),this.check()}slerp(t,r,n){let o,s,i;switch(arguments.length){case 1:({start:o=pA,target:s,ratio:i}=t);break;case 2:o=this,s=t,i=r;break;default:o=t,s=r,i=n}return Fn(this,o,s,i),this.check()}transformVector4(t,r=new Mr){return zf(r,t,this),Tt(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var Re={};de(Re,{EPSILON1:()=>gA,EPSILON10:()=>wA,EPSILON11:()=>IA,EPSILON12:()=>MA,EPSILON13:()=>SA,EPSILON14:()=>FA,EPSILON15:()=>DA,EPSILON16:()=>RA,EPSILON17:()=>LA,EPSILON18:()=>OA,EPSILON19:()=>vA,EPSILON2:()=>BA,EPSILON20:()=>NA,EPSILON3:()=>xA,EPSILON4:()=>EA,EPSILON5:()=>bA,EPSILON6:()=>yA,EPSILON7:()=>_A,EPSILON8:()=>TA,EPSILON9:()=>CA,PI_OVER_FOUR:()=>UA,PI_OVER_SIX:()=>PA,PI_OVER_TWO:()=>GA,TWO_PI:()=>HA});var gA=.1,BA=.01,xA=.001,EA=1e-4,bA=1e-5,yA=1e-6,_A=1e-7,TA=1e-8,CA=1e-9,wA=1e-10,IA=1e-11,MA=1e-12,SA=1e-13,FA=1e-14,DA=1e-15,RA=1e-16,LA=1e-17,OA=1e-18,vA=1e-19,NA=1e-20,GA=Math.PI/2,UA=Math.PI/4,PA=Math.PI/6,HA=Math.PI*2;var at=6356752314245179e-9,kA={radii:[6378137,6378137,at],radiiSquared:[6378137*6378137,6378137*6378137,at*at],oneOverRadii:[1/6378137,1/6378137,1/at],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(at*at)],maximumRadius:Math.max(6378137,6378137,at),centerToleranceSquared:.1};function ko(e){return e}var HT=new w;function JA(e,t=[],r=ko){return"longitude"in e?(t[0]=r(e.longitude),t[1]=r(e.latitude),t[2]=e.height):"x"in e?(t[0]=r(e.x),t[1]=r(e.y),t[2]=e.z):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function al(e,t=[]){return JA(e,t,W._cartographicRadians?ko:ei)}function zA(e,t,r=ko){return"longitude"in t?(t.longitude=r(e[0]),t.latitude=r(e[1]),t.height=e[2]):"x"in t?(t.x=r(e[0]),t.y=r(e[1]),t.z=e[2]):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function cl(e,t){return zA(e,t,W._cartographicRadians?ko:ti)}var fl=1e-14,QA=new w,ll={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},Oi={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Dn={east:new w,north:new w,up:new w,west:new w,south:new w,down:new w},VA=new w,jA=new w,KA=new w;function vi(e,t,r,n,o,s){let i=ll[t]&&ll[t][r];fe(i&&(!n||n===i));let a,f,c,l=QA.copy(o);if(we(l.x,0,fl)&&we(l.y,0,fl)){let u=Math.sign(l.z);a=VA.fromArray(Oi[t]),t!=="east"&&t!=="west"&&a.scale(u),f=jA.fromArray(Oi[r]),r!=="east"&&r!=="west"&&f.scale(u),c=KA.fromArray(Oi[n]),n!=="east"&&n!=="west"&&c.scale(u)}else{let{up:u,east:d,north:m}=Dn;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,u),m.copy(u).cross(d);let{down:A,west:p,south:E}=Dn;A.copy(u).scale(-1),p.copy(d).scale(-1),E.copy(m).scale(-1),a=Dn[t],f=Dn[r],c=Dn[n]}return s[0]=a.x,s[1]=a.y,s[2]=a.z,s[3]=0,s[4]=f.x,s[5]=f.y,s[6]=f.z,s[7]=0,s[8]=c.x,s[9]=c.y,s[10]=c.z,s[11]=0,s[12]=l.x,s[13]=l.y,s[14]=l.z,s[15]=1,s}var Fr=new w,ZA=new w,YA=new w;function hl(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:o,centerToleranceSquared:s}=t;Fr.from(e);let i=Fr.x,a=Fr.y,f=Fr.z,c=n.x,l=n.y,h=n.z,u=i*i*c*c,d=a*a*l*l,m=f*f*h*h,A=u+d+m,p=Math.sqrt(1/A);if(!Number.isFinite(p))return;let E=ZA;if(E.copy(e).scale(p),A<s)return E.to(r);let y=o.x,T=o.y,C=o.z,_=YA;_.set(E.x*y*2,E.y*T*2,E.z*C*2);let I=(1-p)*Fr.len()/(.5*_.len()),M=0,L,B,g,x;do{I-=M,L=1/(1+I*y),B=1/(1+I*T),g=1/(1+I*C);let b=L*L,U=B*B,G=g*g,P=b*L,v=U*B,ee=G*g;x=u*b+d*U+m*G-1;let X=-2*(u*P*y+d*v*T+m*ee*C);M=x/X}while(Math.abs(x)>Re.EPSILON12);return Fr.scale([L,B,g]).to(r)}var Jo=new w,ul=new w,qA=new w,Je=new w,$A=new w,zo=new w,ct=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=Re.EPSILON1,fe(t>=0),fe(r>=0),fe(n>=0),this.radii=new w(t,r,n),this.radiiSquared=new w(t*t,r*r,n*n),this.radiiToTheFourth=new w(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new w(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new w(t===0?0:1/(t*t),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(t,r,n),this.maximumRadius=Math.max(t,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(t){return this===t||Boolean(t&&this.radii.equals(t.radii))}toString(){return this.radii.toString()}cartographicToCartesian(t,r=[0,0,0]){let n=ul,o=qA,[,,s]=t;this.geodeticSurfaceNormalCartographic(t,n),o.copy(this.radiiSquared).scale(n);let i=Math.sqrt(n.dot(o));return o.scale(1/i),n.scale(s),o.add(n),o.to(r)}cartesianToCartographic(t,r=[0,0,0]){zo.from(t);let n=this.scaleToGeodeticSurface(zo,Je);if(!n)return;let o=this.geodeticSurfaceNormal(n,ul),s=$A;s.copy(zo).subtract(n);let i=Math.atan2(o.y,o.x),a=Math.asin(o.z),f=Math.sign(Zt.dot(s,zo))*Zt.length(s);return cl([i,a,f],r)}eastNorthUpToFixedFrame(t,r=new De){return vi(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,o,s=new De){return vi(this,t,r,n,o,s)}geocentricSurfaceNormal(t,r=[0,0,0]){return Jo.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=al(t),o=n[0],s=n[1],i=Math.cos(s);return Jo.set(i*Math.cos(o),i*Math.sin(o),Math.sin(s)).normalize(),Jo.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return Jo.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return hl(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){Je.from(t);let n=Je.x,o=Je.y,s=Je.z,i=this.oneOverRadiiSquared,a=1/Math.sqrt(n*n*i.x+o*o*i.y+s*s*i.z);return Je.multiplyScalar(a).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return Je.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return Je.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){fe(we(this.radii.x,this.radii.y,Re.EPSILON15)),fe(this.radii.z>0),Je.from(t);let o=Je.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(o)>=this.radii.z-r))return Je.set(0,0,o).to(n)}};ct.WGS84=new ct(6378137,6378137,at);var le={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var sC=new w,iC=new w;var Rn=new w,dl=new w,It=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new w,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=Rn.from(r),this.center=new w().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new It(this.center,this.radius)}union(t){let r=this.center,n=this.radius,o=t.center,s=t.radius,i=Rn.copy(o).subtract(r),a=i.magnitude();if(n>=a+s)return this.clone();if(s>=a+n)return t.clone();let f=(n+a+s)*.5;return dl.copy(i).scale((-n+f)/a).add(r),this.center.copy(dl),this.radius=f,this}expand(t){let n=Rn.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=Sn.getScaling(Rn,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let n=Rn.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,s=t.normal.dot(r)+t.distance;return s<-n?le.OUTSIDE:s<n?le.INTERSECTING:le.INSIDE}};var ep=new w,tp=new w,Qo=new w,Vo=new w,jo=new w,rp=new w,np=new w,ft={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},Yt=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new w().from(t),this.halfAxes=new Z(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new w(t).len(),new w(r).len(),new w(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),o=new w(t).normalize(),s=new w(r).normalize(),i=new w(n).normalize();return new wt().fromMatrix3(new Z([...o,...s,...i]))}fromCenterHalfSizeQuaternion(t,r,n){let o=new wt(n),s=new Z().fromQuaternion(o);return s[0]=s[0]*r[0],s[1]=s[1]*r[0],s[2]=s[2]*r[0],s[3]=s[3]*r[1],s[4]=s[4]*r[1],s[5]=s[5]*r[1],s[6]=s[6]*r[2],s[7]=s[7]*r[2],s[8]=s[8]*r[2],this.center=new w().from(t),this.halfAxes=s,this}clone(){return new Yt(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new It){let r=this.halfAxes,n=r.getColumn(0,Qo),o=r.getColumn(1,Vo),s=r.getColumn(2,jo),i=ep.copy(n).add(o).add(s);return t.center.copy(this.center),t.radius=i.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,o=this.halfAxes,s=n.x,i=n.y,a=n.z,f=Math.abs(s*o[ft.COLUMN0ROW0]+i*o[ft.COLUMN0ROW1]+a*o[ft.COLUMN0ROW2])+Math.abs(s*o[ft.COLUMN1ROW0]+i*o[ft.COLUMN1ROW1]+a*o[ft.COLUMN1ROW2])+Math.abs(s*o[ft.COLUMN2ROW0]+i*o[ft.COLUMN2ROW1]+a*o[ft.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-f?le.OUTSIDE:c>=f?le.INSIDE:le.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=tp.from(t).subtract(this.center),n=this.halfAxes,o=n.getColumn(0,Qo),s=n.getColumn(1,Vo),i=n.getColumn(2,jo),a=o.magnitude(),f=s.magnitude(),c=i.magnitude();o.normalize(),s.normalize(),i.normalize();let l=0,h;return h=Math.abs(r.dot(o))-a,h>0&&(l+=h*h),h=Math.abs(r.dot(s))-f,h>0&&(l+=h*h),h=Math.abs(r.dot(i))-c,h>0&&(l+=h*h),l}computePlaneDistances(t,r,n=[-0,-0]){let o=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,i=this.center,a=this.halfAxes,f=a.getColumn(0,Qo),c=a.getColumn(1,Vo),l=a.getColumn(2,jo),h=rp.copy(f).add(c).add(l).add(i),u=np.copy(h).subtract(t),d=r.dot(u);return o=Math.min(d,o),s=Math.max(d,s),h.copy(i).add(f).add(c).subtract(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),h.copy(i).add(f).subtract(c).add(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),h.copy(i).add(f).subtract(c).subtract(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),i.copy(h).subtract(f).add(c).add(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),i.copy(h).subtract(f).add(c).subtract(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),i.copy(h).subtract(f).subtract(c).add(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),i.copy(h).subtract(f).subtract(c).subtract(l),u.copy(h).subtract(t),d=r.dot(u),o=Math.min(d,o),s=Math.max(d,s),n[0]=o,n[1]=s,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,Qo);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,Vo);n.transformAsPoint(t);let o=this.halfAxes.getColumn(2,jo);return o.transformAsPoint(t),this.halfAxes=new Z([...r,...n,...o]),this}getTransform(){throw new Error("not implemented")}};var ml=new w,Al=new w,lt=class{constructor(t=[0,0,1],r=0){this.normal=new w,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return fe(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=ml.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,o){return this.normal.set(t,r,n),fe(we(this.normal.len(),1)),this.distance=o,this}clone(){return new lt(this.normal,this.distance)}equals(t){return we(this.distance,t.distance)&&we(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=Al.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,r)}projectPointOntoPlane(t,r=[0,0,0]){let n=ml.from(t),o=this.getPointDistance(n),s=Al.copy(this.normal).scale(o);return n.subtract(s).to(r)}};var pl=[new w([1,0,0]),new w([0,1,0]),new w([0,0,1])],gl=new w,op=new w,Le=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*pl.length;let r=t.center,n=t.radius,o=0;for(let s of pl){let i=this.planes[o],a=this.planes[o+1];i||(i=this.planes[o]=new lt),a||(a=this.planes[o+1]=new lt);let f=gl.copy(s).scale(-n).add(r);i.fromPointNormal(f,s);let c=gl.copy(s).scale(n).add(r),l=op.copy(s).negate();a.fromPointNormal(c,l),o+=2}return this}computeVisibility(t){let r=le.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case le.OUTSIDE:return le.OUTSIDE;case le.INTERSECTING:r=le.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(fe(Number.isFinite(r),"parentPlaneMask is required."),r===Le.MASK_OUTSIDE||r===Le.MASK_INSIDE)return r;let n=Le.MASK_INSIDE,o=this.planes;for(let s=0;s<this.planes.length;++s){let i=s<31?1<<s:0;if(s<31&&!(r&i))continue;let a=o[s],f=t.intersectPlane(a);if(f===le.OUTSIDE)return Le.MASK_OUTSIDE;f===le.INTERSECTING&&(n|=i)}return n}};Le.MASK_OUTSIDE=4294967295;Le.MASK_INSIDE=0;Le.MASK_INDETERMINATE=2147483647;var TC=new w,CC=new w,wC=new w,IC=new w,MC=new w;var OC=new w,vC=new w,NC=new w,GC=new w,UC=new w,PC=new w,HC=new w,kC=new w,JC=new w,zC=new w,QC=new w,VC=new w;var We=new Z,ip=new Z,ap=new Z,Ko=new Z,Bl=new Z;function Ui(e,t={}){let r=Re.EPSILON20,n=10,o=0,s=0,i=ip,a=ap;i.identity(),a.copy(e);let f=r*cp(a);for(;s<n&&fp(a)>f;)lp(a,Ko),Bl.copy(Ko).transpose(),a.multiplyRight(Ko),a.multiplyLeft(Bl),i.multiplyRight(Ko),++o>2&&(++s,o=0);return t.unitary=i.toTarget(t.unitary),t.diagonal=a.toTarget(t.diagonal),t}function cp(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var Ni=[1,0,0],Gi=[2,2,1];function fp(e){let t=0;for(let r=0;r<3;++r){let n=e[We.getElementIndex(Gi[r],Ni[r])];t+=2*n*n}return Math.sqrt(t)}function lp(e,t){let r=Re.EPSILON15,n=0,o=1;for(let c=0;c<3;++c){let l=Math.abs(e[We.getElementIndex(Gi[c],Ni[c])]);l>n&&(o=c,n=l)}let s=Ni[o],i=Gi[o],a=1,f=0;if(Math.abs(e[We.getElementIndex(i,s)])>r){let c=e[We.getElementIndex(i,i)],l=e[We.getElementIndex(s,s)],h=e[We.getElementIndex(i,s)],u=(c-l)/2/h,d;u<0?d=-1/(-u+Math.sqrt(1+u*u)):d=1/(u+Math.sqrt(1+u*u)),a=1/Math.sqrt(1+d*d),f=d*a}return Z.IDENTITY.to(t),t[We.getElementIndex(s,s)]=t[We.getElementIndex(i,i)]=a,t[We.getElementIndex(i,s)]=f,t[We.getElementIndex(s,i)]=-f,t}var Mt=new w,up=new w,dp=new w,mp=new w,Ap=new w,pp=new Z,gp={diagonal:new Z,unitary:new Z};function Pi(e,t=new Yt){if(!e||e.length===0)return t.halfAxes=new Z([0,0,0,0,0,0,0,0,0]),t.center=new w,t;let r=e.length,n=new w(0,0,0);for(let B of e)n.add(B);let o=1/r;n.multiplyByScalar(o);let s=0,i=0,a=0,f=0,c=0,l=0;for(let B of e){let g=Mt.copy(B).subtract(n);s+=g.x*g.x,i+=g.x*g.y,a+=g.x*g.z,f+=g.y*g.y,c+=g.y*g.z,l+=g.z*g.z}s*=o,i*=o,a*=o,f*=o,c*=o,l*=o;let h=pp;h[0]=s,h[1]=i,h[2]=a,h[3]=i,h[4]=f,h[5]=c,h[6]=a,h[7]=c,h[8]=l;let{unitary:u}=Ui(h,gp),d=t.halfAxes.copy(u),m=d.getColumn(0,dp),A=d.getColumn(1,mp),p=d.getColumn(2,Ap),E=-Number.MAX_VALUE,y=-Number.MAX_VALUE,T=-Number.MAX_VALUE,C=Number.MAX_VALUE,_=Number.MAX_VALUE,I=Number.MAX_VALUE;for(let B of e)Mt.copy(B),E=Math.max(Mt.dot(m),E),y=Math.max(Mt.dot(A),y),T=Math.max(Mt.dot(p),T),C=Math.min(Mt.dot(m),C),_=Math.min(Mt.dot(A),_),I=Math.min(Mt.dot(p),I);m=m.multiplyByScalar(.5*(C+E)),A=A.multiplyByScalar(.5*(_+y)),p=p.multiplyByScalar(.5*(I+T)),t.center.copy(m).add(A).add(p);let M=up.set(E-C,y-_,T-I).multiplyByScalar(.5),L=new Z([M[0],0,0,0,M[1],0,0,0,M[2]]);return t.halfAxes.multiplyRight(L),t}var Dr;(function(e){e[e.ADD=1]="ADD",e[e.REPLACE=2]="REPLACE"})(Dr||(Dr={}));var St;(function(e){e.EMPTY="empty",e.SCENEGRAPH="scenegraph",e.POINTCLOUD="pointcloud",e.MESH="mesh"})(St||(St={}));var Ln;(function(e){e.I3S="I3S",e.TILES3D="TILES3D"})(Ln||(Ln={}));var ht;(function(e){e.GEOMETRIC_ERROR="geometricError",e.MAX_SCREEN_THRESHOLD="maxScreenThreshold"})(ht||(ht={}));var Rr="4.4.2";var be={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},Ew=Object.keys(be),Ft={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function Hi(e,t,r){z(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),o=new Uint8Array(e,t,r);return n.decode(o)}function xl(e,t=0){let r=new DataView(e);return`${String.fromCharCode(r.getUint8(t+0))}${String.fromCharCode(r.getUint8(t+1))}${String.fromCharCode(r.getUint8(t+2))}${String.fromCharCode(r.getUint8(t+3))}`}var Bp="1.5.6",xp="1.4.1",ki=`https://www.gstatic.com/draco/versioned/decoders/${Bp}`,he={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},On={[he.DECODER]:`${ki}/${he.DECODER}`,[he.DECODER_WASM]:`${ki}/${he.DECODER_WASM}`,[he.FALLBACK_DECODER]:`${ki}/${he.FALLBACK_DECODER}`,[he.ENCODER]:`https://raw.githubusercontent.com/google/draco/${xp}/javascript/${he.ENCODER}`},Ji;async function bl(e={},t){let r=e.modules||{};return r.draco3d?Ji||=r.draco3d.createDecoderModule({}).then(n=>({draco:n})):Ji||=Ep(e,t),await Ji}function El(e,t){if(e&&typeof e=="object"){if(e.default)return e.default;if(e[t])return e[t]}return e}async function Ep(e,t){let r,n;switch(t){case"js":r=await Se(On[he.FALLBACK_DECODER],"draco",e,he.FALLBACK_DECODER);break;case"wasm":default:try{[r,n]=await Promise.all([await Se(On[he.DECODER],"draco",e,he.DECODER),await Se(On[he.DECODER_WASM],"draco",e,he.DECODER_WASM)])}catch{r=null,n=null}}return r=El(r,"DracoDecoderModule"),r=r||globalThis.DracoDecoderModule,!r&&!it&&([r,n]=await Promise.all([await Se(On[he.DECODER],"draco",{...e,useLocalLibraries:!0},he.DECODER),await Se(On[he.DECODER_WASM],"draco",{...e,useLocalLibraries:!0},he.DECODER_WASM)]),r=El(r,"DracoDecoderModule"),r=r||globalThis.DracoDecoderModule),await bp(r,n)}function bp(e,t){if(typeof e!="function")throw new Error("DracoDecoderModule could not be loaded");let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:o=>n({draco:o})})})}var yl="4.4.2";function _l(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 zi(e){let t=1/0,r=1/0,n=1/0,o=-1/0,s=-1/0,i=-1/0,a=e.POSITION?e.POSITION.value:[],f=a&&a.length;for(let c=0;c<f;c+=3){let l=a[c],h=a[c+1],u=a[c+2];t=l<t?l:t,r=h<r?h:r,n=u<n?u:n,o=l>o?l:o,s=h>s?h:s,i=u>i?u:i}return[[t,r,n],[o,s,i]]}function Qi(e,t,r){let n=_l(t.value),o=r||Tl(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:o}}function Tl(e){let t={};return"byteOffset"in e&&(t.byteOffset=e.byteOffset.toString(10)),"byteStride"in e&&(t.byteStride=e.byteStride.toString(10)),"normalized"in e&&(t.normalized=e.normalized.toString()),t}function wl(e,t,r){let n=Il(t.metadata),o=[],s=yp(t.attributes);for(let i in e){let a=e[i],f=Cl(i,a,s[i]);o.push(f)}if(r){let i=Cl("indices",r);o.push(i)}return{fields:o,metadata:n}}function yp(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function Cl(e,t,r){let n=r?Il(r.metadata):void 0;return Qi(e,t,n)}function Il(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var Ml={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},_p={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},Tp=4,vn=class{draco;decoder;metadataQuerier;constructor(t){this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,r={}){let n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(r);let o=this.decoder.GetEncodedGeometryType(n),s=o===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let i;switch(o){case this.draco.TRIANGULAR_MESH:i=this.decoder.DecodeBufferToMesh(n,s);break;case this.draco.POINT_CLOUD:i=this.decoder.DecodeBufferToPointCloud(n,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!i.ok()||!s.ptr){let u=`DRACO decompression failed: ${i.error_msg()}`;throw new Error(u)}let a=this._getDracoLoaderData(s,o,r),f=this._getMeshData(s,a,r),c=zi(f.attributes),l=wl(f.attributes,a,f.indices);return{loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c},...f,schema:l}}finally{this.draco.destroy(n),s&&this.draco.destroy(s)}}_getDracoLoaderData(t,r,n){let o=this._getTopLevelMetadata(t),s=this._getDracoAttributes(t,n);return{geometry_type:r,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:o,attributes:s}}_getDracoAttributes(t,r){let n={};for(let o=0;o<t.num_attributes();o++){let s=this.decoder.GetAttribute(t,o),i=this._getAttributeMetadata(t,o);n[s.unique_id()]={unique_id:s.unique_id(),attribute_type:s.attribute_type(),data_type:s.data_type(),num_components:s.num_components(),byte_offset:s.byte_offset(),byte_stride:s.byte_stride(),normalized:s.normalized(),attribute_index:o,metadata:i};let a=this._getQuantizationTransform(s,r);a&&(n[s.unique_id()].quantization_transform=a);let f=this._getOctahedronTransform(s,r);f&&(n[s.unique_id()].octahedron_transform=f)}return n}_getMeshData(t,r,n){let o=this._getMeshAttributes(r,t,n);if(!o.POSITION)throw new Error("DRACO: No position attribute found.");if(t instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:o,indices:{value:this._getTriangleStripIndices(t),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:o,indices:{value:this._getTriangleListIndices(t),size:1}}}return{topology:"point-list",mode:0,attributes:o}}_getMeshAttributes(t,r,n){let o={};for(let s of Object.values(t.attributes)){let i=this._deduceAttributeName(s,n);s.name=i;let a=this._getAttributeValues(r,s);if(a){let{value:f,size:c}=a;o[i]={value:f,size:c,byteOffset:s.byte_offset,byteStride:s.byte_stride,normalized:s.normalized}}}return o}_getTriangleListIndices(t){let n=t.num_faces()*3,o=n*Tp,s=this.draco._malloc(o);try{return this.decoder.GetTrianglesUInt32Array(t,o,s),new Uint32Array(this.draco.HEAPF32.buffer,s,n).slice()}finally{this.draco._free(s)}}_getTriangleStripIndices(t){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(t,r),Ip(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=_p[r.data_type];if(!n)return console.warn(`DRACO: Unsupported attribute type ${r.data_type}`),null;let o=r.num_components,i=t.num_points()*o,a=i*n.BYTES_PER_ELEMENT,f=Cp(this.draco,n),c,l=this.draco._malloc(a);try{let h=this.decoder.GetAttribute(t,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(t,h,f,a,l),c=new n(this.draco.HEAPF32.buffer,l,i).slice()}finally{this.draco._free(l)}return{value:c,size:o}}_deduceAttributeName(t,r){let n=t.unique_id;for(let[i,a]of Object.entries(r.extraAttributes||{}))if(a===n)return i;let o=t.attribute_type;for(let i in Ml)if(this.draco[i]===o)return Ml[i];let s=r.attributeNameEntry||"name";return t.metadata[s]?t.metadata[s].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(t){let r=this.decoder.GetMetadata(t);return this._getDracoMetadata(r)}_getAttributeMetadata(t,r){let n=this.decoder.GetAttributeMetadata(t,r);return this._getDracoMetadata(n)}_getDracoMetadata(t){if(!t||!t.ptr)return{};let r={},n=this.metadataQuerier.NumEntries(t);for(let o=0;o<n;o++){let s=this.metadataQuerier.GetEntryName(t,o);r[s]=this._getDracoMetadataField(t,s)}return r}_getDracoMetadataField(t,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(t,r,n);let o=wp(n);return{int:this.metadataQuerier.GetIntEntry(t,r),string:this.metadataQuerier.GetStringEntry(t,r),double:this.metadataQuerier.GetDoubleEntry(t,r),intArray:o}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(t){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=t,o=[...r,...n];for(let s of o)this.decoder.SkipAttributeTransform(this.draco[s])}_getQuantizationTransform(t,r){let{quantizedAttributes:n=[]}=r,o=t.attribute_type();if(n.map(i=>this.decoder[i]).includes(o)){let i=new this.draco.AttributeQuantizationTransform;try{if(i.InitFromAttribute(t))return{quantization_bits:i.quantization_bits(),range:i.range(),min_values:new Float32Array([1,2,3]).map(a=>i.min_value(a))}}finally{this.draco.destroy(i)}}return null}_getOctahedronTransform(t,r){let{octahedronAttributes:n=[]}=r,o=t.attribute_type();if(n.map(i=>this.decoder[i]).includes(o)){let i=new this.draco.AttributeQuantizationTransform;try{if(i.InitFromAttribute(t))return{quantization_bits:i.quantization_bits()}}finally{this.draco.destroy(i)}}return null}};function Cp(e,t){switch(t){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 wp(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function Ip(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var Sl={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:yl,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",extraAttributes:{},attributeNameEntry:void 0}}},Nn={...Sl,parse:Mp};async function Mp(e,t){let{draco:r}=await bl(gn(t),t?.draco?.decoderType||"wasm"),n=new vn(r);try{return n.parseSync(e,t?.draco)}finally{n.destroy()}}var Sp={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},re={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},H={...Sp,...re};var Vi={[re.DOUBLE]:Float64Array,[re.FLOAT]:Float32Array,[re.UNSIGNED_SHORT]:Uint16Array,[re.UNSIGNED_INT]:Uint32Array,[re.UNSIGNED_BYTE]:Uint8Array,[re.BYTE]:Int8Array,[re.SHORT]:Int16Array,[re.INT]:Int32Array},Fp={DOUBLE:re.DOUBLE,FLOAT:re.FLOAT,UNSIGNED_SHORT:re.UNSIGNED_SHORT,UNSIGNED_INT:re.UNSIGNED_INT,UNSIGNED_BYTE:re.UNSIGNED_BYTE,BYTE:re.BYTE,SHORT:re.SHORT,INT:re.INT},ji="Failed to convert GL type",oe=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in Vi)if(Vi[r]===t)return r;throw new Error(ji)}static fromName(t){let r=Fp[t];if(!r)throw new Error(ji);return r}static getArrayType(t){switch(t){case re.UNSIGNED_SHORT_5_6_5:case re.UNSIGNED_SHORT_4_4_4_4:case re.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=Vi[t];if(!r)throw new Error(ji);return r}}static getByteSize(t){return oe.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(oe.getArrayType(t))}static createTypedArray(t,r,n=0,o){o===void 0&&(o=(r.byteLength-n)/oe.getByteSize(t));let s=ArrayBuffer.isView(r)?r.buffer:r,i=oe.getArrayType(t);return new i(s,n,o)}};function Fl(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function Ki(e,t=[0,0,0]){let r=e>>11&31,n=e>>5&63,o=e&31;return t[0]=r<<3,t[1]=n<<2,t[2]=o<<3,t}var tI=1/256;var rI=new Vt,nI=new w,oI=new Vt,sI=new Vt,iI=new Uint8Array(1);function Dl(e,t=255){return ri(e,0,t)/t*2-1}function Rl(e){return e<0?-1:1}function Ll(e,t,r,n){if(Fl(n),e<0||e>r||t<0||t>r)throw new Error(`x and y must be unsigned normalized integers between 0 and ${r}`);if(n.x=Dl(e,r),n.y=Dl(t,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let o=n.x;n.x=(1-Math.abs(n.y))*Rl(o),n.y=(1-Math.abs(o))*Rl(n.y)}return n.normalize()}function Zi(e,t,r){return Ll(e,t,255,r)}var ze=class{json;buffer;featuresLength=0;_cachedTypedArrays={};constructor(t,r){this.json=t,this.buffer=r}getExtension(t){return this.json.extensions&&this.json.extensions[t]}hasProperty(t){return Boolean(this.json[t])}getGlobalProperty(t,r=H.UNSIGNED_INT,n=1){let o=this.json[t];return o&&Number.isFinite(o.byteOffset)?this._getTypedArrayFromBinary(t,r,n,1,o.byteOffset):o}getPropertyArray(t,r,n){let o=this.json[t];return o&&Number.isFinite(o.byteOffset)?("componentType"in o&&(r=oe.fromName(o.componentType)),this._getTypedArrayFromBinary(t,r,n,this.featuresLength,o.byteOffset)):this._getTypedArrayFromArray(t,r,o)}getProperty(t,r,n,o,s){let i=this.json[t];if(!i)return i;let a=this.getPropertyArray(t,r,n);if(n===1)return a[o];for(let f=0;f<n;++f)s[f]=a[n*o+f];return s}_getTypedArrayFromBinary(t,r,n,o,s){let i=this._cachedTypedArrays,a=i[t];return a||(a=oe.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+s,o*n),i[t]=a),a}_getTypedArrayFromArray(t,r,n){let o=this._cachedTypedArrays,s=o[t];if(!s){if(ArrayBuffer.isView(n)){let i=n.byteOffset,f=n.byteLength/oe.getByteSize(r);s=oe.createTypedArray(r,n.buffer,i,f)}else if(n instanceof ArrayBuffer)s=oe.createTypedArray(r,n);else{let i=oe.getArrayType(r);s=new i(n)}o[t]=s}return s}};var Dp={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Rp={SCALAR:(e,t)=>e[t],VEC2:(e,t)=>[e[2*t+0],e[2*t+1]],VEC3:(e,t)=>[e[3*t+0],e[3*t+1],e[3*t+2]],VEC4:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT2:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT3:(e,t)=>[e[9*t+0],e[9*t+1],e[9*t+2],e[9*t+3],e[9*t+4],e[9*t+5],e[9*t+6],e[9*t+7],e[9*t+8]],MAT4:(e,t)=>[e[16*t+0],e[16*t+1],e[16*t+2],e[16*t+3],e[16*t+4],e[16*t+5],e[16*t+6],e[16*t+7],e[16*t+8],e[16*t+9],e[16*t+10],e[16*t+11],e[16*t+12],e[16*t+13],e[16*t+14],e[16*t+15]]},Lp={SCALAR:(e,t,r)=>{t[r]=e},VEC2:(e,t,r)=>{t[2*r+0]=e[0],t[2*r+1]=e[1]},VEC3:(e,t,r)=>{t[3*r+0]=e[0],t[3*r+1]=e[1],t[3*r+2]=e[2]},VEC4:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT2:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT3:(e,t,r)=>{t[9*r+0]=e[0],t[9*r+1]=e[1],t[9*r+2]=e[2],t[9*r+3]=e[3],t[9*r+4]=e[4],t[9*r+5]=e[5],t[9*r+6]=e[6],t[9*r+7]=e[7],t[9*r+8]=e[8],t[9*r+9]=e[9]},MAT4:(e,t,r)=>{t[16*r+0]=e[0],t[16*r+1]=e[1],t[16*r+2]=e[2],t[16*r+3]=e[3],t[16*r+4]=e[4],t[16*r+5]=e[5],t[16*r+6]=e[6],t[16*r+7]=e[7],t[16*r+8]=e[8],t[16*r+9]=e[9],t[16*r+10]=e[10],t[16*r+11]=e[11],t[16*r+12]=e[12],t[16*r+13]=e[13],t[16*r+14]=e[14],t[16*r+15]=e[15]}};function Ol(e,t,r,n){let{componentType:o}=e;z(e.componentType);let s=typeof o=="string"?oe.fromName(o):o,i=Dp[e.type],a=Rp[e.type],f=Lp[e.type];return r+=e.byteOffset,{values:oe.createTypedArray(s,t,r,i*n),type:s,size:i,unpacker:a,packer:f}}var Xe=e=>e!==void 0;function vl(e,t,r){if(!t)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),o=t.HIERARCHY;return o&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),t.extensions=t.extensions||{},t.extensions["3DTILES_batch_table_hierarchy"]=o,n=o),n?Op(n,r):null}function Op(e,t){let r,n,o,s=e.instancesLength,i=e.classes,a=e.classIds,f=e.parentCounts,c=e.parentIds,l=s;Xe(a.byteOffset)&&(a.componentType=defaultValue(a.componentType,GL.UNSIGNED_SHORT),a.type=AttributeType.SCALAR,o=getBinaryAccessor(a),a=o.createArrayBufferView(t.buffer,t.byteOffset+a.byteOffset,s));let h;if(Xe(f))for(Xe(f.byteOffset)&&(f.componentType=defaultValue(f.componentType,GL.UNSIGNED_SHORT),f.type=AttributeType.SCALAR,o=getBinaryAccessor(f),f=o.createArrayBufferView(t.buffer,t.byteOffset+f.byteOffset,s)),h=new Uint16Array(s),l=0,r=0;r<s;++r)h[r]=l,l+=f[r];Xe(c)&&Xe(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,o=getBinaryAccessor(c),c=o.createArrayBufferView(t.buffer,t.byteOffset+c.byteOffset,l));let u=i.length;for(r=0;r<u;++r){let p=i[r].length,E=i[r].instances,y=getBinaryProperties(p,E,t);i[r].instances=combine(y,E)}let d=new Array(u).fill(0),m=new Uint16Array(s);for(r=0;r<s;++r)n=a[r],m[r]=d[n],++d[n];let A={classes:i,classIds:a,classIndexes:m,parentCounts:f,parentIndexes:h,parentIds:c};return Gp(A),A}function Lr(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?vp(e,t,r):Np(e,t,r)}function vp(e,t,r){let n=e.classIds,o=e.parentCounts,s=e.parentIds,i=e.parentIndexes,a=n.length,f=scratchVisited;f.length=Math.max(f.length,a);let c=++marker,l=scratchStack;for(l.length=0,l.push(t);l.length>0;){if(t=l.pop(),f[t]===c)continue;f[t]=c;let h=r(e,t);if(Xe(h))return h;let u=o[t],d=i[t];for(let m=0;m<u;++m){let A=s[d+m];A!==t&&l.push(A)}}return null}function Np(e,t,r){let n=!0;for(;n;){let o=r(e,t);if(Xe(o))return o;let s=e.parentIds[t];n=s!==t,t=s}throw new Error("traverseHierarchySingleParent")}function Gp(e){let t=[],n=e.classIds.length;for(let o=0;o<n;++o)Nl(e,o,stack)}function Nl(e,t,r){let n=e.parentCounts,o=e.parentIds,s=e.parentIndexes,a=e.classIds.length;if(!Xe(o))return;assert(t<a,`Parent index ${t} exceeds the total number of instances: ${a}`),assert(r.indexOf(t)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(t);let f=Xe(n)?n[t]:1,c=Xe(n)?s[t]:t;for(let l=0;l<f;++l){let h=o[c+l];h!==t&&Nl(e,h,r)}r.pop(t)}function ye(e){return e!=null}var Zo=(e,t)=>e,Up={HIERARCHY:!0,extensions:!0,extras:!0},ut=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,o={}){z(n>=0),this.json=t||{},this.binary=r,this.featureCount=n,this._extensions=this.json?.extensions||{},this._properties={};for(let s in this.json)Up[s]||(this._properties[s]=this.json[s]);this._binaryProperties=this._initializeBinaryProperties(),o["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=vl(this,this.json,this.binary))}getExtension(t){return this.json&&this.json.extensions&&this.json.extensions[t]}memorySizeInBytes(){return 0}isClass(t,r){if(this._checkBatchId(t),z(typeof r=="string",r),this._hierarchy){let n=Lr(this._hierarchy,t,(o,s)=>{let i=o.classIds[s];return o.classes[i].name===r});return ye(n)}return!1}isExactClass(t,r){return z(typeof r=="string",r),this.getExactClassName(t)===r}getExactClassName(t){if(this._checkBatchId(t),this._hierarchy){let r=this._hierarchy.classIds[t];return this._hierarchy.classes[r].name}}hasProperty(t,r){return this._checkBatchId(t),z(typeof r=="string",r),ye(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=ye(r)?r:[],r.length=0;let n=Object.keys(this._properties);return r.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(t,r),r}getProperty(t,r){if(this._checkBatchId(t),z(typeof r=="string",r),this._binaryProperties){let o=this._binaryProperties[r];if(ye(o))return this._getBinaryProperty(o,t)}let n=this._properties[r];if(ye(n))return Zo(n[t],!0);if(this._hierarchy){let o=this._getHierarchyProperty(t,r);if(ye(o))return o}}setProperty(t,r,n){let o=this.featureCount;if(this._checkBatchId(t),z(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(i){this._setBinaryProperty(i,t,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,t,r,n))return;let s=this._properties[r];ye(s)||(this._properties[r]=new Array(o),s=this._properties[r]),s[t]=Zo(n,!0)}_checkBatchId(t){if(!(t>=0&&t<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(t,r){return t.unpack(t.typedArray,r)}_setBinaryProperty(t,r,n){t.pack(n,t.typedArray,r)}_initializeBinaryProperties(){let t=null;for(let r in this._properties){let n=this._properties[r],o=this._initializeBinaryProperty(r,n);o&&(t=t||{},t[r]=o)}return t}_initializeBinaryProperty(t,r){if("byteOffset"in r){let n=r;z(this.binary,`Property ${t} requires a batch table binary.`),z(n.type,`Property ${t} requires a type.`);let o=Ol(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:o.values,componentCount:o.size,unpack:o.unpacker,pack:o.packer}}return null}_hasPropertyInHierarchy(t,r){if(!this._hierarchy)return!1;let n=Lr(this._hierarchy,t,(o,s)=>{let i=o.classIds[s],a=o.classes[i].instances;return ye(a[r])});return ye(n)}_getPropertyNamesInHierarchy(t,r){Lr(this._hierarchy,t,(n,o)=>{let s=n.classIds[o],i=n.classes[s].instances;for(let a in i)i.hasOwnProperty(a)&&r.indexOf(a)===-1&&r.push(a)})}_getHierarchyProperty(t,r){return Lr(this._hierarchy,t,(n,o)=>{let s=n.classIds[o],i=n.classes[s],a=n.classIndexes[o],f=i.instances[r];return ye(f)?ye(f.typedArray)?this._getBinaryProperty(f,a):Zo(f[a],!0):null})}_setHierarchyProperty(t,r,n,o){let s=Lr(this._hierarchy,r,(i,a)=>{let f=i.classIds[a],c=i.classes[f],l=i.classIndexes[a],h=c.instances[n];return ye(h)?(z(a===r,`Inherited property "${n}" is read-only.`),ye(h.typedArray)?this._setBinaryProperty(h,l,o):h[l]=Zo(o,!0),!0):!1});return ye(s)}};function Dt(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=4,e.version=n.getUint32(r,!0),r+=4,e.byteLength=n.getUint32(r,!0),r+=4,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var Or=4,Gl="b3dm tile in legacy format.";function vr(e,t,r){let n=new DataView(t),o;e.header=e.header||{};let s=n.getUint32(r,!0);r+=Or;let i=n.getUint32(r,!0);r+=Or;let a=n.getUint32(r,!0);r+=Or;let f=n.getUint32(r,!0);return r+=Or,a>=570425344?(r-=Or*2,o=s,a=i,f=0,s=0,i=0,console.warn(Gl)):f>=570425344&&(r-=Or,o=a,a=s,f=i,s=0,i=0,console.warn(Gl)),e.header.featureTableJsonByteLength=s,e.header.featureTableBinaryByteLength=i,e.header.batchTableJsonByteLength=a,e.header.batchTableBinaryByteLength=f,e.header.batchLength=o,r}function Nr(e,t,r,n){return r=Pp(e,t,r,n),r=Hp(e,t,r,n),r}function Pp(e,t,r,n){let{featureTableJsonByteLength:o,featureTableBinaryByteLength:s,batchLength:i}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:i||0},o&&o>0){let a=Hi(t,r,o);e.featureTableJson=JSON.parse(a)}return r+=o||0,e.featureTableBinary=new Uint8Array(t,r,s),r+=s||0,r}function Hp(e,t,r,n){let{batchTableJsonByteLength:o,batchTableBinaryByteLength:s}=e.header||{};if(o&&o>0){let i=Hi(t,r,o);e.batchTableJson=JSON.parse(i),r+=o,s&&s>0&&(e.batchTableBinary=new Uint8Array(t,r,s),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=s)}return r}function Yi(e,t,r){if(!t&&(!e||!e.batchIds||!r))return null;let{batchIds:n,isRGB565:o,pointCount:s=0}=e;if(n&&r){let i=new Uint8ClampedArray(s*3);for(let a=0;a<s;a++){let f=n[a],l=r.getProperty(f,"dimensions").map(h=>h*255);i[a*3]=l[0],i[a*3+1]=l[1],i[a*3+2]=l[2]}return{type:H.UNSIGNED_BYTE,value:i,size:3,normalized:!0}}if(t&&o){let i=new Uint8ClampedArray(s*3);for(let a=0;a<s;a++){let f=Ki(t[a]);i[a*3]=f[0],i[a*3+1]=f[1],i[a*3+2]=f[2]}return{type:H.UNSIGNED_BYTE,value:i,size:3,normalized:!0}}return t&&t.length===s*3?{type:H.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:H.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var Ul=new w;function Pl(e,t){if(!t)return null;if(e.isOctEncoded16P){let r=new Float32Array((e.pointsLength||0)*3);for(let n=0;n<(e.pointsLength||0);n++)Zi(t[n*2],t[n*2+1],Ul),Ul.toArray(r,n*3);return{type:H.FLOAT,size:2,value:r}}return{type:H.FLOAT,size:2,value:t}}function Hl(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,kp(e,t)):{type:H.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function kp(e,t){let r=new w,n=new Float32Array(e.pointCount*3);for(let o=0;o<e.pointCount;o++)r.set(t[o*3],t[o*3+1],t[o*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,o*3);return n}async function kl(e,t,r,n,o){r=Dt(e,t,r),r=vr(e,t,r),r=Nr(e,t,r,n),Jp(e);let{featureTable:s,batchTable:i}=zp(e);return await Zp(e,s,i,n,o),Qp(e,s,n),Vp(e,s,i),jp(e,s),r}function Jp(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function zp(e){let t=new ze(e.featureTableJson,e.featureTableBinary),r=t.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(r))throw new Error("POINTS_LENGTH must be defined");t.featuresLength=r,e.featuresLength=r,e.pointsLength=r,e.pointCount=r,e.rtcCenter=t.getGlobalProperty("RTC_CENTER",H.FLOAT,3);let n=Kp(e,t);return{featureTable:t,batchTable:n}}function Qp(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.positions){if(t.hasProperty("POSITION"))e.attributes.positions=t.getPropertyArray("POSITION",H.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",H.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",H.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",H.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=Hl(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function Vp(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.colors){let n=null;t.hasProperty("RGBA")?(n=t.getPropertyArray("RGBA",H.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",H.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",H.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=Yi(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",H.UNSIGNED_BYTE,4))}function jp(e,t){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.normals){let r=null;t.hasProperty("NORMAL")?r=t.getPropertyArray("NORMAL",H.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",H.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=Pl(e,r)}}function Kp(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",H.UNSIGNED_SHORT,1),e.batchIds)){let n=t.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:o,batchTableBinary:s}=e;r=new ut(o,s,n)}return r}async function Zp(e,t,r,n,o){let s,i,a,f=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];f&&(a=f.properties);let c=t.getExtension("3DTILES_draco_point_compression");if(c){i=c.properties;let h=c.byteOffset,u=c.byteLength;if(!i||!Number.isFinite(h)||!u)throw new Error("Draco properties, byteOffset, and byteLength must be defined");s=(e.featureTableBinary||[]).slice(h,h+u),e.hasPositions=Number.isFinite(i.POSITION),e.hasColors=Number.isFinite(i.RGB)||Number.isFinite(i.RGBA),e.hasNormals=Number.isFinite(i.NORMAL),e.hasBatchIds=Number.isFinite(i.BATCH_ID),e.isTranslucent=Number.isFinite(i.RGBA)}if(!s)return!0;let l={buffer:s,properties:{...i,...a},featureTableProperties:i,batchTableProperties:a,dequantizeInShader:!1};return await Yp(e,l,n,o)}async function Yp(e,t,r,n){if(!n)return;let o={...r,draco:{...r?.draco,extraAttributes:t.batchTableProperties||{}}};delete o["3d-tiles"];let s=await ke(t.buffer,Nn,o,n),i=s.attributes.POSITION&&s.attributes.POSITION.value,a=s.attributes.COLOR_0&&s.attributes.COLOR_0.value,f=s.attributes.NORMAL&&s.attributes.NORMAL.value,c=s.attributes.BATCH_ID&&s.attributes.BATCH_ID.value,l=i&&s.attributes.POSITION.value.quantization,h=f&&s.attributes.NORMAL.value.quantization;if(l){let d=s.POSITION.data.quantization,m=d.range;e.quantizedVolumeScale=new w(m,m,m),e.quantizedVolumeOffset=new w(d.minValues),e.quantizedRange=(1<<d.quantizationBits)-1,e.isQuantizedDraco=!0}h&&(e.octEncodedRange=(1<<s.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let u={};if(t.batchTableProperties)for(let d of Object.keys(t.batchTableProperties))s.attributes[d]&&s.attributes[d].value&&(u[d.toLowerCase()]=s.attributes[d].value);e.attributes={positions:i,colors:Yi(e,a,void 0),normals:f,batchIds:c,...u}}var na={};de(na,{createExtMeshFeatures:()=>G1,decode:()=>R1,encode:()=>L1,name:()=>D1});var Jl="4.4.2";var Wp=globalThis.loaders?.parseImageNode,Wi=typeof Image<"u",Xi=typeof ImageBitmap<"u",Xp=Boolean(Wp),qi=Ee?!0:Xp;function zl(e){switch(e){case"auto":return Xi||Wi||qi;case"imagebitmap":return Xi;case"image":return Wi;case"data":return qi;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function Ql(){if(Xi)return"imagebitmap";if(Wi)return"image";if(qi)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Vl(e){let t=qp(e);if(!t)throw new Error("Not an image");return t}function Gn(e){switch(Vl(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)throw new Error("getImageData");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function qp(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var $p=/^data:image\/svg\+xml/,e1=/\.svg((\?|#).*)?$/;function Yo(e){return e&&($p.test(e)||e1.test(e))}function jl(e,t){if(Yo(t)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return $i(e,t)}function $i(e,t){if(Yo(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function Wo(e,t,r){let n=jl(e,r),o=self.URL||self.webkitURL,s=typeof n!="string"&&o.createObjectURL(n);try{return await t1(s||n,t)}finally{s&&o.revokeObjectURL(s)}}async function t1(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,o)=>{try{r.onload=()=>n(r),r.onerror=s=>{let i=s instanceof Error?s.message:"error";o(new Error(i))}}catch(s){o(s)}})}var Kl=!0;async function Zl(e,t,r){let n;Yo(r)?n=await Wo(e,t,r):n=$i(e,r);let o=t&&t.imagebitmap;return await r1(n,o)}async function r1(e,t=null){if((n1(t)||!Kl)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),Kl=!1}return await createImageBitmap(e)}function n1(e){if(!e)return!0;for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function Yl(e){return!a1(e,"ftyp",4)||!(e[8]&96)?null:o1(e)}function o1(e){switch(s1(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function s1(e,t,r){return String.fromCharCode(...e.slice(t,r))}function i1(e){return[...e].map(t=>t.charCodeAt(0))}function a1(e,t,r=0){let n=i1(t);for(let o=0;o<n.length;++o)if(n[o]!==e[o+r])return!1;return!0}var qe=!1,Un=!0;function Wt(e){let t=Pn(e);return f1(t)||u1(t)||l1(t)||h1(t)||c1(t)}function c1(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=Yl(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function f1(e){let t=Pn(e);return t.byteLength>=24&&t.getUint32(0,qe)===2303741511?{mimeType:"image/png",width:t.getUint32(16,qe),height:t.getUint32(20,qe)}:null}function l1(e){let t=Pn(e);return t.byteLength>=10&&t.getUint32(0,qe)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,Un),height:t.getUint16(8,Un)}:null}function h1(e){let t=Pn(e);return t.byteLength>=14&&t.getUint16(0,qe)===16973&&t.getUint32(2,Un)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,Un),height:t.getUint32(22,Un)}:null}function u1(e){let t=Pn(e);if(!(t.byteLength>=3&&t.getUint16(0,qe)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:o}=d1(),s=2;for(;s+9<t.byteLength;){let i=t.getUint16(s,qe);if(o.has(i))return{mimeType:"image/jpeg",height:t.getUint16(s+5,qe),width:t.getUint16(s+7,qe)};if(!n.has(i))return null;s+=2,s+=t.getUint16(s,qe)}return null}function d1(){let e=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)e.add(r);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Pn(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 Wl(e,t){let{mimeType:r}=Wt(e)||{},n=globalThis.loaders?.parseImageNode;return z(n),await n(e,r)}async function Xl(e,t,r){t=t||{};let o=(t.image||{}).type||"auto",{url:s}=r||{},i=m1(o),a;switch(i){case"imagebitmap":a=await Zl(e,t,s);break;case"image":a=await Wo(e,t,s);break;case"data":a=await Wl(e,t);break;default:z(!1)}return o==="data"&&(a=Gn(a)),a}function m1(e){switch(e){case"auto":case"data":return Ql();default:return zl(e),e}}var A1=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],p1=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],g1={image:{type:"auto",decode:!0}},ea={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:Jl,mimeTypes:p1,extensions:A1,parse:Xl,tests:[e=>Boolean(Wt(new DataView(e)))],options:g1};var ta={};function ra(e){if(ta[e]===void 0){let t=Ee?x1(e):B1(e);ta[e]=t}return ta[e]}function B1(e){let t=["image/png","image/jpeg","image/gif"],r=globalThis.loaders?.imageFormatsNode||t,n=globalThis.loaders?.parseImageNode;return Boolean(n)&&r.includes(e)}function x1(e){switch(e){case"image/avif":case"image/webp":return E1(e);default:return!0}}function E1(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function se(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var Xo={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},qo={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var b1=1.33,ql=["SCALAR","VEC2","VEC3","VEC4"],y1=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],_1=new Map(y1),T1={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},C1={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},w1={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function $o(e){return ql[e-1]||ql[0]}function Rt(e){let t=_1.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function Gr(e,t){let r=w1[e.componentType],n=T1[e.type],o=C1[e.componentType],s=e.count*n,i=e.count*n*o;se(i>=0&&i<=t.byteLength);let a=qo[e.componentType],f=Xo[e.type];return{ArrayType:r,length:s,byteLength:i,componentByteSize:a,numberOfComponentsInElement:f}}function Hn(e){let{images:t,bufferViews:r}=e;t=t||[],r=r||[];let n=t.map(i=>i.bufferView);r=r.filter(i=>!n.includes(i));let o=r.reduce((i,a)=>i+a.byteLength,0),s=t.reduce((i,a)=>{let{width:f,height:c}=a.image;return i+f*c},0);return o+Math.ceil(4*s*b1)}function $l(e,t,r){let n=e.bufferViews[r];se(n);let o=n.buffer,s=t[o];se(s);let i=(n.byteOffset||0)+s.byteOffset;return new Uint8Array(s.arrayBuffer,i,n.byteLength)}function eh(e,t,r){let n=typeof r=="number"?e.accessors?.[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let o=e.bufferViews?.[n.bufferView||0];if(!o)throw new Error(`No gltf buffer view for accessor ${o}`);let{arrayBuffer:s,byteOffset:i}=t[o.buffer],a=(i||0)+(n.byteOffset||0)+(o.byteOffset||0),{ArrayType:f,length:c,componentByteSize:l,numberOfComponentsInElement:h}=Gr(n,o),u=l*h,d=o.byteStride||u;if(typeof o.byteStride>"u"||o.byteStride===u)return new f(s,a,c);let m=new f(c);for(let A=0;A<n.count;A++){let p=new f(s,a+A*d,h);m.set(p,A*h)}return m}function I1(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var V=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:t?.json||I1(),buffers:t?.buffers||[],images:t?.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(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}hasExtension(t){let r=this.getUsedExtensions().find(o=>o===t),n=this.getRequiredExtensions().find(o=>o===t);return typeof r=="string"||typeof n=="string"}getExtension(t){let r=this.getUsedExtensions().find(o=>o===t),n=this.json.extensions||{};return r?n[t]:null}getRequiredExtension(t){return this.getRequiredExtensions().find(n=>n===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(t,r){return(t.extensions||{})[r]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,r){if(typeof r=="object")return r;let n=this.json[t]&&this.json[t][r];if(!n)throw new Error(`glTF file error: Could not find ${t}[${r}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);let r=t.buffer,n=this.gltf.buffers[r];se(n);let o=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,o,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return eh(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);let r=this.getBufferView(t.bufferView),o=this.getBuffer(r.buffer).data,s=r.byteOffset||0;return new Uint8Array(o,s,r.byteLength)}addApplicationData(t,r){return this.json[t]=r,this}addExtraData(t,r){return this.json.extras=this.json.extras||{},this.json.extras[t]=r,this}addObjectExtension(t,r,n){return t.extensions=t.extensions||{},t.extensions[r]=n,this.registerUsedExtension(r),this}setObjectExtension(t,r,n){let o=t.extensions||{};o[r]=n}removeObjectExtension(t,r){let n=t?.extensions||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let o=this.json.extensionsRemoved;o.includes(r)||o.push(r)}delete n[r]}addExtension(t,r={}){return se(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return se(r),this.addExtension(t,r),this.registerRequiredExtension(t),r}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(r=>r===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(r=>r===t)||this.json.extensionsRequired.push(t)}removeExtension(t){if(this.json.extensions?.[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let r=this.json.extensionsRemoved;r.includes(t)||r.push(t)}this.json.extensions&&delete this.json.extensions[t],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t)}setDefaultScene(t){this.json.scene=t}addScene(t){let{nodeIndices:r}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:r}),this.json.scenes.length-1}addNode(t){let{meshIndex:r,matrix:n}=t;this.json.nodes=this.json.nodes||[];let o={mesh:r};return n&&(o.matrix=n),this.json.nodes.push(o),this.json.nodes.length-1}addMesh(t){let{attributes:r,indices:n,material:o,mode:s=4}=t,a={primitives:[{attributes:this._addAttributes(r),mode:s}]};if(n){let f=this._addIndices(n);a.primitives[0].indices=f}return Number.isFinite(o)&&(a.primitives[0].material=o),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(t){let n={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(t,r){let n=Wt(t),o=r||n?.mimeType,i={bufferView:this.addBufferView(t),mimeType:o};return this.json.images=this.json.images||[],this.json.images.push(i),this.json.images.length-1}addBufferView(t,r=0,n=this.byteLength){let o=t.byteLength;se(Number.isFinite(o)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let s={buffer:r,byteOffset:n,byteLength:o};return this.byteLength+=Ce(o,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(s),this.json.bufferViews.length-1}addAccessor(t,r){let n={bufferView:t,type:$o(r.size),componentType:r.componentType,count:r.count,max:r.max,min:r.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,r={size:3}){let n=this.addBufferView(t),o={min:r.min,max:r.max};(!o.min||!o.max)&&(o=this._getAccessorMinMax(t,r.size));let s={size:r.size,componentType:Rt(t),count:Math.round(t.length/r.size),min:o.min,max:o.max};return this.addAccessor(n,Object.assign(s,r))}addTexture(t){let{imageIndex:r}=t,n={source:r};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),o=0;for(let s of this.sourceBuffers||[])o=Ws(s,n,o);this.json?.buffers?.[0]?this.json.buffers[0].byteLength=t:this.json.buffers=[{byteLength:t}],this.gltf.binary=r,this.sourceBuffers=[r],this.gltf.buffers=[{arrayBuffer:r,byteOffset:0,byteLength:r.byteLength}]}_removeStringFromArray(t,r){let n=!0;for(;n;){let o=t.indexOf(r);o>-1?t.splice(o,1):n=!1}}_addAttributes(t={}){let r={};for(let n in t){let o=t[n],s=this._getGltfAttributeName(n),i=this.addBinaryBuffer(o.value,o);r[s]=i}return r}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.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 t}}_getAccessorMinMax(t,r){let n={min:null,max:null};if(t.length<r)return n;n.min=[],n.max=[];let o=t.subarray(0,r);for(let s of o)n.min.push(s),n.max.push(s);for(let s=r;s<t.length;s+=r)for(let i=0;i<r;i++)n.min[0+i]=Math.min(n.min[0+i],t[s+i]),n.max[0+i]=Math.max(n.max[0+i],t[s+i]);return n}};function th(e){return(e%1+1)%1}var rh={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},M1={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},nh={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function kn(e,t){return nh[t]*rh[e]}function Ur(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let o=e.getTypedArrayForBufferView(t),s=Pr(o,"SCALAR",r,n+1);return s instanceof BigInt64Array||s instanceof BigUint64Array?null:s}function Pr(e,t,r,n=1){let o=rh[t],s=M1[r],i=nh[r],a=n*o,f=a*i,c=e.buffer,l=e.byteOffset;return l%i!==0&&(c=new Uint8Array(c).slice(l,l+f).buffer,l=0),new s(yt(c),l,a)}function Hr(e,t,r){let n=`TEXCOORD_${t.texCoord||0}`,o=r.attributes[n],s=e.getTypedArrayForAccessor(o),i=e.gltf.json,a=t.index,f=i.textures?.[a]?.source;if(typeof f<"u"){let c=i.images?.[f]?.mimeType,l=e.gltf.images?.[f];if(l&&typeof l.width<"u"){let h=[];for(let u=0;u<s.length;u+=2){let d=S1(l,c,s,u,t.channels);h.push(d)}return h}}return[]}function es(e,t,r,n,o){if(!r?.length)return;let s=[];for(let l of r){let h=n.findIndex(u=>u===l);h===-1&&(h=n.push(l)-1),s.push(h)}let i=new Uint32Array(s),a=e.gltf.buffers.push({arrayBuffer:i.buffer,byteOffset:i.byteOffset,byteLength:i.byteLength})-1,f=e.addBufferView(i,a,0),c=e.addAccessor(f,{size:1,componentType:Rt(i),count:i.length});o.attributes[t]=c}function S1(e,t,r,n,o=[0]){let s={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},i=r[n],a=r[n+1],f=1;t&&(t.indexOf("image/jpeg")!==-1||t.indexOf("image/png")!==-1)&&(f=4);let c=F1(i,a,e,f),l=0;for(let h of o){let u=typeof h=="number"?Object.values(s)[h]:s[h],d=c+u.offset,m=Gn(e);if(m.data.length<=d)throw new Error(`${m.data.length} <= ${d}`);let A=m.data[d];l|=A<<u.shift}return l}function F1(e,t,r,n=1){let o=r.width,s=th(e)*(o-1),i=Math.round(s),a=r.height,f=th(t)*(a-1),c=Math.round(f),l=r.components?r.components:n;return(c*o+i)*l}function ts(e,t,r,n,o){let s=[];for(let i=0;i<t;i++){let a=r[i],f=r[i+1]-r[i];if(f+a>n)break;let c=a/o,l=f/o;s.push(e.slice(c,c+l))}return s}function rs(e,t,r){let n=[];for(let o=0;o<t;o++){let s=o*r;n.push(e.slice(s,s+r))}return n}function ns(e,t,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let o=[],s=new TextDecoder("utf8"),i=0;for(let a=0;a<e;a++){let f=n[a+1]-n[a];if(f+i<=t.length){let c=t.subarray(i,f+i),l=s.decode(c);o.push(l),i+=f}}return o}return[]}var kr="EXT_mesh_features",D1=kr;async function R1(e,t){let r=new V(e);O1(r,t)}function L1(e,t){let r=new V(e);return N1(r,t),r.createBinaryChunk(),r.gltf}function O1(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let o of n.primitives)v1(e,o,t)}function v1(e,t,r){if(!r?.gltf?.loadBuffers)return;let o=t.extensions?.[kr]?.featureIds;if(o)for(let s of o){let i;if(typeof s.attribute<"u"){let a=`_FEATURE_ID_${s.attribute}`,f=t.attributes[a];i=e.getTypedArrayForAccessor(f)}else typeof s.texture<"u"&&r?.gltf?.loadImages?i=Hr(e,s.texture,t):i=[];s.data=i}}function N1(e,t){let r=e.gltf.json.meshes;if(r)for(let n of r)for(let o of n.primitives)U1(e,o)}function G1(e,t,r,n){t.extensions||(t.extensions={});let o=t.extensions[kr];o||(o={featureIds:[]},t.extensions[kr]=o);let{featureIds:s}=o,i={featureCount:r.length,propertyTable:n,data:r};s.push(i),e.addObjectExtension(t,kr,o)}function U1(e,t){let r=t.extensions?.[kr];if(!r)return;let n=r.featureIds;n.forEach((o,s)=>{if(o.data){let{accessorKey:i,index:a}=P1(t.attributes),f=new Uint32Array(o.data);n[s]={featureCount:f.length,propertyTable:o.propertyTable,attribute:a},e.gltf.buffers.push({arrayBuffer:f.buffer,byteOffset:f.byteOffset,byteLength:f.byteLength});let c=e.addBufferView(f),l=e.addAccessor(c,{size:1,componentType:Rt(f),count:f.length});t.attributes[i]=l}})}function P1(e){let t="_FEATURE_ID_",r=Object.keys(e).filter(s=>s.indexOf(t)===0),n=-1;for(let s of r){let i=Number(s.substring(t.length));i>n&&(n=i)}return n++,{accessorKey:`${t}${n}`,index:n}}var ia={};de(ia,{createExtStructuralMetadata:()=>ag,decode:()=>k1,encode:()=>J1,name:()=>H1});var Jr="EXT_structural_metadata",H1=Jr;async function k1(e,t){let r=new V(e);z1(r,t)}function J1(e,t){let r=new V(e);return sg(r,t),r.createBinaryChunk(),r.gltf}function z1(e,t){if(!t.gltf?.loadBuffers)return;let r=e.getExtension(Jr);r&&(t.gltf?.loadImages&&Q1(e,r),V1(e,r))}function Q1(e,t){let r=t.propertyTextures,n=e.gltf.json;if(r&&n.meshes)for(let o of n.meshes)for(let s of o.primitives)K1(e,r,s,t)}function V1(e,t){let r=t.schema;if(!r)return;let n=r.classes,o=t.propertyTables;if(n&&o)for(let s in n){let i=j1(o,s);i&&Y1(e,r,i)}}function j1(e,t){for(let r of e)if(r.class===t)return r;return null}function K1(e,t,r,n){if(!t)return;let s=r.extensions?.[Jr]?.propertyTextures;if(s)for(let i of s){let a=t[i];Z1(e,a,r,n)}}function Z1(e,t,r,n){if(!t.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let o=t.class;for(let s in t.properties){let i=`${o}_${s}`,a=t.properties?.[s];if(!a)continue;a.data||(a.data=[]);let f=a.data,c=Hr(e,a,r);c!==null&&(es(e,i,c,f,r),a.data=f,n.dataAttributeNames.push(i))}}function Y1(e,t,r){let n=t.classes?.[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let o=r.count;for(let s in n.properties){let i=n.properties[s],a=r.properties?.[s];if(a){let f=W1(e,t,i,o,a);a.data=f}}}function W1(e,t,r,n,o){let s=[],i=o.values,a=e.getTypedArrayForBufferView(i),f=X1(e,r,o,n),c=q1(e,o,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{s=$1(r,n,a,f);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{s=ns(n,a,f,c);break}case"ENUM":{s=eg(t,r,n,a,f);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return s}function X1(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?Ur(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function q1(e,t,r){return typeof t.stringOffsets<"u"?Ur(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function $1(e,t,r,n){let o=e.array,s=e.count,i=kn(e.type,e.componentType),a=r.byteLength/i,f;return e.componentType?f=Pr(r,e.type,e.componentType,a):f=r,o?n?ts(f,t,n,r.length,i):s?rs(f,t,s):[]:f}function eg(e,t,r,n,o){let s=t.enumType;if(!s)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let i=e.enums?.[s];if(!i)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${s}`);let a=i.valueType||"UINT16",f=kn(t.type,a),c=n.byteLength/f,l=Pr(n,t.type,a,c);if(l||(l=n),t.array){if(o)return tg({valuesData:l,numberOfElements:r,arrayOffsets:o,valuesDataBytesLength:n.length,elementSize:f,enumEntry:i});let h=t.count;return h?rg(l,r,h,i):[]}return sa(l,0,r,i)}function tg(e){let{valuesData:t,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:o,elementSize:s,enumEntry:i}=e,a=[];for(let f=0;f<r;f++){let c=n[f],l=n[f+1]-n[f];if(l+c>o)break;let h=c/s,u=l/s,d=sa(t,h,u,i);a.push(d)}return a}function rg(e,t,r,n){let o=[];for(let s=0;s<t;s++){let i=r*s,a=sa(e,i,r,n);o.push(a)}return o}function sa(e,t,r,n){let o=[];for(let s=0;s<r;s++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)o.push("");else{let i=e[t+s],a=ng(n,i);a?o.push(a.name):o.push("")}return o}function ng(e,t){for(let r of e.values)if(r.value===t)return r;return null}var og="schemaClassId";function sg(e,t){let r=e.getExtension(Jr);if(r&&r.propertyTables)for(let n of r.propertyTables){let o=n.class,s=r.schema?.classes?.[o];n.properties&&s&&ig(n,s,e)}}function ig(e,t,r){for(let n in e.properties){let o=e.properties[n].data;if(o){let s=t.properties[n];if(s){let i=lg(o,s,r);e.properties[n]=i}}}}function ag(e,t,r=og){let n=e.getExtension(Jr);n||(n=e.addExtension(Jr)),n.schema=cg(t,r,n.schema);let o=fg(t,r,n.schema);return n.propertyTables||(n.propertyTables=[]),n.propertyTables.push(o)-1}function cg(e,t,r){let n=r??{id:"schema_id"},o={properties:{}};for(let s of e){let i={type:s.elementType,componentType:s.componentType};o.properties[s.name]=i}return n.classes={},n.classes[t]=o,n}function fg(e,t,r){let n={class:t,count:0},o=0,s=r.classes?.[t];for(let i of e){if(o===0&&(o=i.values.length),o!==i.values.length&&i.values.length)throw new Error("Illegal values in attributes");s?.properties[i.name]&&(n.properties||(n.properties={}),n.properties[i.name]={values:0,data:i.values})}return n.count=o,n}function lg(e,t,r){let n={values:0};if(t.type==="STRING"){let{stringData:o,stringOffsets:s}=dg(e);n.stringOffsets=oa(s,r),n.values=oa(o,r)}else if(t.type==="SCALAR"&&t.componentType){let o=ug(e,t.componentType);n.values=oa(o,r)}return n}var hg={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:Int32Array,UINT64:Uint32Array,FLOAT32:Float32Array,FLOAT64:Float64Array};function ug(e,t){let r=[];for(let o of e)r.push(Number(o));let n=hg[t];if(!n)throw new Error("Illegal component type");return new n(r)}function dg(e){let t=new TextEncoder,r=[],n=0;for(let f of e){let c=t.encode(f);n+=c.length,r.push(c)}let o=new Uint8Array(n),s=[],i=0;for(let f of r)o.set(f,i),s.push(i),i+=f.length;s.push(i);let a=new Uint32Array(s);return{stringData:o,stringOffsets:a}}function oa(e,t){return t.gltf.buffers.push({arrayBuffer:yt(e.buffer),byteOffset:e.byteOffset,byteLength:e.byteLength}),t.addBufferView(e)}var aa={};de(aa,{decode:()=>Ag,name:()=>mg});var oh="EXT_feature_metadata",mg=oh;async function Ag(e,t){let r=new V(e);pg(r,t)}function pg(e,t){if(!t.gltf?.loadBuffers)return;let r=e.getExtension(oh);r&&(t.gltf?.loadImages&&gg(e,r),Bg(e,r))}function gg(e,t){let r=t.schema;if(!r)return;let n=r.classes,{featureTextures:o}=t;if(n&&o)for(let s in n){let i=n[s],a=Eg(o,s);a&&yg(e,a,i)}}function Bg(e,t){let r=t.schema;if(!r)return;let n=r.classes,o=t.featureTables;if(n&&o)for(let s in n){let i=xg(o,s);i&&bg(e,r,i)}}function xg(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function Eg(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function bg(e,t,r){if(!r.class)return;let n=t.classes?.[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let o=r.count;for(let s in n.properties){let i=n.properties[s],a=r.properties?.[s];if(a){let f=_g(e,t,i,o,a);a.data=f}}}function yg(e,t,r){let n=t.class;for(let o in r.properties){let s=t?.properties?.[o];if(s){let i=Mg(e,s,n);s.data=i}}}function _g(e,t,r,n,o){let s=[],i=o.bufferView,a=e.getTypedArrayForBufferView(i),f=Tg(e,r,o,n),c=Cg(e,r,o,n);return r.type==="STRING"||r.componentType==="STRING"?s=ns(n,a,f,c):wg(r)&&(s=Ig(r,n,a,f)),s}function Tg(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?Ur(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function Cg(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?Ur(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function wg(e){let t=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return t.includes(e.type)||typeof e.componentType<"u"&&t.includes(e.componentType)}function Ig(e,t,r,n){let o=e.type==="ARRAY",s=e.componentCount,i="SCALAR",a=e.componentType||e.type,f=kn(i,a),c=r.byteLength/f,l=Pr(r,i,a,c);return o?n?ts(l,t,n,r.length,f):s?rs(l,t,s):[]:l}function Mg(e,t,r){let n=e.gltf.json;if(!n.meshes)return[];let o=[];for(let s of n.meshes)for(let i of s.primitives)Sg(e,r,t,o,i);return o}function Sg(e,t,r,n,o){let s={channels:r.channels,...r.texture},i=Hr(e,s,o);i&&es(e,t,i,n,o)}var sh="4.4.2";var ih="4.4.2";var os={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},ah;async function fa(e){An(e.modules);let t=Ks("basis");return t||(ah||=Fg(e),await ah)}async function Fg(e){let t=null,r=null;return[t,r]=await Promise.all([await Se(os.TRANSCODER,"textures",e),await Se(os.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Dg(t,r)}function Dg(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(o=>{let{BasisFile:s,initializeBasis:i}=o;i(),n({BasisFile:s})})})}var ca;async function la(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(ca=ca||Rg(e),await ca)}async function Rg(e){let t=null,r=null;return[t,r]=await Promise.all([await Se(os.ENCODER,"textures",e),await Se(os.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Lg(t,r)}function Lg(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(o=>{let{BasisFile:s,KTX2File:i,initializeBasis:a,BasisEncoder:f}=o;a(),n({BasisFile:s,KTX2File:i,BasisEncoder:f})})})}var Og=["","WEBKIT_","MOZ_"],ch={WEBGL_compressed_texture_s3tc:["bc1-rgb-unorm-webgl","bc1-rgba-unorm","bc2-rgba-unorm","bc3-rgba-unorm"],WEBGL_compressed_texture_s3tc_srgb:["bc1-rgb-unorm-srgb-webgl","bc1-rgba-unorm-srgb","bc2-rgba-unorm-srgb","bc3-rgba-unorm-srgb"],EXT_texture_compression_rgtc:["bc4-r-unorm","bc4-r-snorm","bc5-rg-unorm","bc5-rg-snorm"],EXT_texture_compression_bptc:["bc6h-rgb-ufloat","bc6h-rgb-float","bc7-rgba-unorm","bc7-rgba-unorm-srgb"],WEBGL_compressed_texture_etc1:["etc1-rgb-unorm-webgl"],WEBGL_compressed_texture_etc:["etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm"],WEBGL_compressed_texture_pvrtc:["pvrtc-rgb4unorm-webgl","pvrtc-rgba4unorm-webgl","pvrtc-rgb2unorm-webgl","pvrtc-rgba2unorm-webgl"],WEBGL_compressed_texture_atc:["atc-rgb-unorm-webgl","atc-rgba-unorm-webgl","atc-rgbai-unorm-webgl"],WEBGL_compressed_texture_astc:["astc-4x4-unorm","astc-4x4-unorm-srgb","astc-5x4-unorm","astc-5x4-unorm-srgb","astc-5x5-unorm","astc-5x5-unorm-srgb","astc-6x5-unorm","astc-6x5-unorm-srgb","astc-6x6-unorm","astc-6x6-unorm-srgb","astc-8x5-unorm","astc-8x5-unorm-srgb","astc-8x6-unorm","astc-8x6-unorm-srgb","astc-8x8-unorm","astc-8x8-unorm-srgb","astc-10x5-unorm","astc-10x5-unorm-srgb","astc-10x6-unorm","astc-10x6-unorm-srgb","astc-10x8-unorm","astc-10x8-unorm-srgb","astc-10x10-unorm","astc-10x10-unorm-srgb","astc-12x10-unorm","astc-12x10-unorm-srgb","astc-12x12-unorm","astc-12x12-unorm-srgb"]};var ss=null;function fh(e){if(!ss){e=e||vg()||void 0,ss=new Set;for(let t of Og)for(let r in ch)if(e&&e.getExtension(`${t}${r}`))for(let n of ch[r])ss.add(n)}return ss}function vg(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var Ie=[171,75,84,88,32,50,48,187,13,10,26,10];function lh(e){let t=new Uint8Array(e);return!(t.byteLength<Ie.length||t[0]!==Ie[0]||t[1]!==Ie[1]||t[2]!==Ie[2]||t[3]!==Ie[3]||t[4]!==Ie[4]||t[5]!==Ie[5]||t[6]!==Ie[6]||t[7]!==Ie[7]||t[8]!==Ie[8]||t[9]!==Ie[9]||t[10]!==Ie[10]||t[11]!==Ie[11])}var hh=Promise.resolve(),mh={etc1:{basisFormat:0,compressed:!0,format:36196,textureFormat:"etc1-rgb-unorm-webgl"},etc2:{basisFormat:1,compressed:!0,format:37493,textureFormat:"etc2-rgba8unorm"},bc1:{basisFormat:2,compressed:!0,format:33776,textureFormat:"bc1-rgb-unorm-webgl"},bc3:{basisFormat:3,compressed:!0,format:33779,textureFormat:"bc3-rgba-unorm"},bc4:{basisFormat:4,compressed:!0,format:36283,textureFormat:"bc4-r-unorm"},bc5:{basisFormat:5,compressed:!0,format:36285,textureFormat:"bc5-rg-unorm"},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0,format:36492,textureFormat:"bc7-rgba-unorm"},"bc7-m5":{basisFormat:7,compressed:!0,format:36492,textureFormat:"bc7-rgba-unorm"},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:35840,textureFormat:"pvrtc-rgb4unorm-webgl"},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:35842,textureFormat:"pvrtc-rgba4unorm-webgl"},"astc-4x4":{basisFormat:10,compressed:!0,format:37808,textureFormat:"astc-4x4-unorm"},"atc-rgb":{basisFormat:11,compressed:!0,format:35986,textureFormat:"atc-rgb-unorm-webgl"},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0,format:34798,textureFormat:"atc-rgbai-unorm-webgl"},rgba32:{basisFormat:13,compressed:!1,format:32856,textureFormat:"rgba8unorm"},rgb565:{basisFormat:14,compressed:!1,format:36194,textureFormat:"rgb565unorm-webgl"},bgr565:{basisFormat:15,compressed:!1,format:36194,textureFormat:"rgb565unorm-webgl"},rgba4444:{basisFormat:16,compressed:!1,format:32854,textureFormat:"rgba4unorm-webgl"}},G3=Object.freeze(Object.keys(mh));async function Ug(e){let t=hh,r;hh=new Promise(n=>{r=n}),await t;try{return await e()}finally{r()}}async function Ah(e,t={}){let r=gn(t);return await Ug(async()=>{if(!t.basis?.containerFormat||t.basis.containerFormat==="auto"){if(lh(e)){let o=await la(r);return uh(o.KTX2File,e,t)}let{BasisFile:n}=await fa(r);return ha(n,e,t)}switch(t.basis.module){case"encoder":let n=await la(r);switch(t.basis.containerFormat){case"ktx2":return uh(n.KTX2File,e,t);case"basis":default:return ha(n.BasisFile,e,t)}case"transcoder":default:let{BasisFile:o}=await fa(r);return ha(o,e,t)}})}function ha(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let o=n.getNumImages(),s=[];for(let i=0;i<o;i++){let a=n.getNumLevels(i),f=[];for(let c=0;c<a;c++)f.push(Pg(n,i,c,r));s.push(f)}return s}finally{n.close(),n.delete()}}function Pg(e,t,r,n){let o=e.getImageWidth(t,r),s=e.getImageHeight(t,r),i=e.getHasAlpha(),{compressed:a,format:f,basisFormat:c,textureFormat:l}=ph(n,i),h=e.getImageTranscodedSizeInBytes(t,r,c),u=new Uint8Array(h);if(!e.transcodeImage(u,t,r,c,0,0))throw new Error("failed to start Basis transcoding");return{shape:"texture-level",width:o,height:s,data:u,compressed:a,...f!==void 0?{format:f}:{},...l!==void 0?{textureFormat:l}:{},hasAlpha:i}}function uh(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let o=n.getLevels(),s=[];for(let i=0;i<o;i++)s.push(Hg(n,i,r));return[s]}finally{n.close(),n.delete()}}function Hg(e,t,r){let{alphaFlag:n,height:o,width:s}=e.getImageLevelInfo(t,0,0),{compressed:i,format:a,basisFormat:f,textureFormat:c}=ph(r,n),l=e.getImageTranscodedSizeInBytes(t,0,0,f),h=new Uint8Array(l);if(!e.transcodeImage(h,t,0,0,f,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{shape:"texture-level",width:s,height:o,data:h,compressed:i,...a!==void 0?{format:a}:{},...c!==void 0?{textureFormat:c}:{},levelSize:l,hasAlpha:n}}function ph(e,t){let r=e.basis?.format||"auto";r==="auto"&&(r=e.basis?.supportedTextureFormats?dh(e.basis.supportedTextureFormats):dh()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha);let n=r.toLowerCase(),o=mh[n];if(!o)throw new Error(`Unknown Basis format ${r}`);return o}function dh(e=fh()){let t=new Set(e);return zr(t,["astc-4x4-unorm","astc-4x4-unorm-srgb"])?"astc-4x4":zr(t,["bc7-rgba-unorm","bc7-rgba-unorm-srgb"])?{alpha:"bc7-m5",noAlpha:"bc7-m6-opaque-only"}:zr(t,["bc1-rgb-unorm-webgl","bc1-rgb-unorm-srgb-webgl","bc1-rgba-unorm","bc1-rgba-unorm-srgb","bc2-rgba-unorm","bc2-rgba-unorm-srgb","bc3-rgba-unorm","bc3-rgba-unorm-srgb"])?{alpha:"bc3",noAlpha:"bc1"}:zr(t,["pvrtc-rgb4unorm-webgl","pvrtc-rgba4unorm-webgl","pvrtc-rgb2unorm-webgl","pvrtc-rgba2unorm-webgl"])?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:zr(t,["etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm"])?"etc2":t.has("etc1-rgb-unorm-webgl")?"etc1":zr(t,["atc-rgb-unorm-webgl","atc-rgba-unorm-webgl","atc-rgbai-unorm-webgl"])?{alpha:"atc-rgba-interpolated-alpha",noAlpha:"atc-rgb"}:"rgb565"}function zr(e,t){return t.some(r=>e.has(r))}var gh={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:ih,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",containerFormat:"auto",module:"transcoder"}}},ua={...gh,parse:Ah};var Qr=!0,Bh=1735152710,Aa=12,is=8,kg=1313821514,Jg=5130562,zg=0,Qg=0,Vg=1;function jg(e,t=0){return`${String.fromCharCode(e.getUint8(t+0))}${String.fromCharCode(e.getUint8(t+1))}${String.fromCharCode(e.getUint8(t+2))}${String.fromCharCode(e.getUint8(t+3))}`}function xh(e,t=0,r={}){let n=new DataView(e),{magic:o=Bh}=r,s=n.getUint32(t,!1);return s===o||s===Bh}function Eh(e,t,r=0,n={}){let o=new DataView(t),s=jg(o,r+0),i=o.getUint32(r+4,Qr),a=o.getUint32(r+8,Qr);switch(Object.assign(e,{header:{byteOffset:r,byteLength:a,hasBinChunk:!1},type:s,version:i,json:{},binChunks:[]}),r+=Aa,e.version){case 1:return Kg(e,o,r);case 2:return Zg(e,o,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function Kg(e,t,r){z(e.header.byteLength>Aa+is);let n=t.getUint32(r+0,Qr),o=t.getUint32(r+4,Qr);return r+=is,z(o===zg),da(e,t,r,n),r+=n,r+=ma(e,t,r,e.header.byteLength),r}function Zg(e,t,r,n){return z(e.header.byteLength>Aa+is),Yg(e,t,r,n),r+e.header.byteLength}function Yg(e,t,r,n){for(;r+8<=e.header.byteLength;){let o=t.getUint32(r+0,Qr),s=t.getUint32(r+4,Qr);switch(r+=is,s){case kg:da(e,t,r,o);break;case Jg:ma(e,t,r,o);break;case Qg:n.strict||da(e,t,r,o);break;case Vg:n.strict||ma(e,t,r,o);break;default:break}r+=Ce(o,4)}return r}function da(e,t,r,n){let o=new Uint8Array(t.buffer,r,n),i=new TextDecoder("utf8").decode(o);return e.json=JSON.parse(i),Ce(n,4)}function ma(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),Ce(n,4)}function pa(e,t,r){if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;let o=r?.baseUrl||Wg(t?.core?.baseUrl);if(!o)throw new Error(`'baseUrl' must be provided to resolve relative url ${e}`);return o.endsWith("/")?`${o}${e}`:`${o}/${e}`}function Wg(e){if(!e)return;if(e.endsWith("/"))return e;let t=e.lastIndexOf("/");return t>=0?e.slice(0,t+1):""}var Ba={};de(Ba,{decode:()=>cB,name:()=>aB});var Xg="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",qg="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",$g=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]),eB=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]),tB={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},rB={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function bh(e,t,r,n,o,s="NONE"){let i=await nB();iB(i,i.exports[rB[o]],e,t,r,n,i.exports[tB[s||"NONE"]])}var ga;async function nB(){return ga||(ga=oB()),ga}async function oB(){let e=Xg;WebAssembly.validate($g)&&(e=qg,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate(sB(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function sB(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n){let o=e.charCodeAt(n);t[n]=o>96?o-71:o>64?o-65:o>47?o+4:o>46?63:62}let r=0;for(let n=0;n<e.length;++n)t[r++]=t[n]<60?eB[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function iB(e,t,r,n,o,s,i){let a=e.exports.sbrk,f=n+3&-4,c=a(f*o),l=a(s.length),h=new Uint8Array(e.exports.memory.buffer);h.set(s,l);let u=t(c,n,o,l,s.length);if(u===0&&i&&i(c,f,o),r.set(h.subarray(c,c+n*o)),a(c-a(0)),u!==0)throw new Error(`Malformed buffer data: ${u}`)}var as="EXT_meshopt_compression",aB=as;async function cB(e,t){let r=new V(e);if(!t?.gltf?.decompressMeshes||!t.gltf?.loadBuffers)return;let n=[];for(let o of e.json.bufferViews||[])n.push(fB(r,o));await Promise.all(n),r.removeExtension(as)}async function fB(e,t){let r=e.getObjectExtension(t,as);if(r){let{byteOffset:n=0,byteLength:o=0,byteStride:s,count:i,mode:a,filter:f="NONE",buffer:c}=r,l=e.gltf.buffers[c],h=new Uint8Array(l.arrayBuffer,l.byteOffset+n,o),u=new Uint8Array(e.gltf.buffers[t.buffer].arrayBuffer,t.byteOffset,t.byteLength);await bh(u,i,s,h,a,f),e.removeObjectExtension(t,as)}}var xa={};de(xa,{name:()=>lB,preprocess:()=>hB});var Vr="EXT_texture_webp",lB=Vr;function hB(e,t){let r=new V(e);if(!ra("image/webp")){if(r.getRequiredExtensions().includes(Vr))throw new Error(`gltf: Required extension ${Vr} not supported by browser`);return}let{json:n}=r;for(let o of n.textures||[]){let s=r.getObjectExtension(o,Vr);s&&(o.source=s.source),r.removeObjectExtension(o,Vr)}r.removeExtension(Vr)}var Ea={};de(Ea,{name:()=>uB,preprocess:()=>dB});var cs="KHR_texture_basisu",uB=cs;function dB(e,t){let r=new V(e),{json:n}=r;for(let o of n.textures||[]){let s=r.getObjectExtension(o,cs);s&&(o.source=s.source,r.removeObjectExtension(o,cs))}r.removeExtension(cs)}var ya={};de(ya,{decode:()=>BB,encode:()=>xB,name:()=>pB,preprocess:()=>gB});function yh(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let o=ba(n);t[r]=o}}return t}function ba(e){let{buffer:t,size:r,count:n}=mB(e);return{value:t,size:r,byteOffset:0,count:n,type:$o(r),componentType:Rt(t)}}function mB(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=AB(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function AB(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var Lt="KHR_draco_mesh_compression",pB=Lt;function gB(e,t,r){let n=new V(e);for(let o of _h(n))n.getObjectExtension(o,Lt)}async function BB(e,t,r){if(!t?.gltf?.decompressMeshes)return;let n=new V(e),o=[];for(let s of _h(n))n.getObjectExtension(s,Lt)&&o.push(EB(n,s,t,r));await Promise.all(o),n.removeExtension(Lt)}function xB(e,t={}){let r=new V(e);for(let n of r.json.meshes||[])bB(n,t),r.addRequiredExtension(Lt)}async function EB(e,t,r,n){let o=e.getObjectExtension(t,Lt);if(!o)return;let s=e.getTypedArrayForBufferView(o.bufferView),i=Qt(s.buffer,s.byteOffset),a={...r};delete a["3d-tiles"];let f=await ke(i,Nn,a,n),c=yh(f.attributes);for(let[l,h]of Object.entries(c))if(l in t.attributes){let u=t.attributes[l],d=e.getAccessor(u);d?.min&&d?.max&&(h.min=d.min,h.max=d.max)}t.attributes=c,f.indices&&(t.indices=ba(f.indices)),e.removeObjectExtension(t,Lt),yB(t)}function bB(e,t,r=4,n,o){if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let s=n.DracoWriter.encodeSync({attributes:e}),i=o?.parseSync?.({attributes:e}),a=n._addFauxAttributes(i.attributes),f=n.addBufferView(s);return{primitives:[{attributes:a,mode:r,extensions:{[Lt]:{bufferView:f,attributes:a}}}]}}function yB(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*_h(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var _a={};de(_a,{decode:()=>wB,name:()=>_B});var ls="KHR_texture_transform",_B=ls,fs=new w,TB=new Z,CB=new Z;async function wB(e,t){if(!new V(e).hasExtension(ls)||!t.gltf?.loadBuffers)return;let o=e.json.materials||[];for(let s=0;s<o.length;s++)IB(s,e)}function IB(e,t){let r=t.json.materials?.[e],n=[r?.pbrMetallicRoughness?.baseColorTexture,r?.emissiveTexture,r?.normalTexture,r?.occlusionTexture,r?.pbrMetallicRoughness?.metallicRoughnessTexture],o=[];for(let s of n)s&&s?.extensions?.[ls]&&MB(t,e,s,o)}function MB(e,t,r,n){let o=SB(r,n);if(!o)return;let s=e.json.meshes||[];for(let i of s)for(let a of i.primitives){let f=a.material;Number.isFinite(f)&&t===f&&FB(e,a,o)}}function SB(e,t){let r=e.extensions?.[ls],{texCoord:n=0}=e,{texCoord:o=n}=r;if(!(t.findIndex(([i,a])=>i===n&&a===o)!==-1)){let i=LB(r);return n!==o&&(e.texCoord=o),t.push([n,o]),{originalTexCoord:n,texCoord:o,matrix:i}}return null}function FB(e,t,r){let{originalTexCoord:n,texCoord:o,matrix:s}=r,i=t.attributes[`TEXCOORD_${n}`];if(Number.isFinite(i)){let a=e.json.accessors?.[i];if(a&&a.bufferView!==void 0){let f=e.json.bufferViews?.[a.bufferView];if(f){let{arrayBuffer:c,byteOffset:l}=e.buffers[f.buffer],h=(l||0)+(a.byteOffset||0)+(f.byteOffset||0),{ArrayType:u,length:d}=Gr(a,f),m=qo[a.componentType],A=Xo[a.type],p=f.byteStride||m*A,E=new Float32Array(d);for(let y=0;y<a.count;y++){let T=new u(c,h+y*p,2);fs.set(T[0],T[1],1),fs.transformByMatrix3(s),E.set([fs[0],fs[1]],y*A)}n===o?DB(a,e,E,a.bufferView):RB(o,a,t,e,E)}}}}function DB(e,t,r,n){e.componentType=5126,e.byteOffset=0;let i=(t.json.accessors||[]).reduce((c,l)=>l.bufferView===n?c+1:c,0)>1;t.buffers.push({arrayBuffer:yt(r.buffer),byteOffset:0,byteLength:r.buffer.byteLength});let a=t.buffers.length-1;if(t.json.bufferViews=t.json.bufferViews||[],i){t.json.bufferViews.push({buffer:a,byteLength:r.buffer.byteLength,byteOffset:0}),e.bufferView=t.json.bufferViews.length-1;return}let f=t.json.bufferViews[n];f&&(f.buffer=a,f.byteOffset=0,f.byteLength=r.buffer.byteLength,f.byteStride!==void 0&&delete f.byteStride)}function RB(e,t,r,n,o){n.buffers.push({arrayBuffer:yt(o.buffer),byteOffset:0,byteLength:o.buffer.byteLength}),n.json.bufferViews=n.json.bufferViews||[];let s=n.json.bufferViews;s.push({buffer:n.buffers.length-1,byteLength:o.buffer.byteLength,byteOffset:0});let i=n.json.accessors;i&&(i.push({bufferView:s?.length-1,byteOffset:0,componentType:5126,count:t.count,type:"VEC2"}),r.attributes[`TEXCOORD_${e}`]=i.length-1)}function LB(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,o=new Z().set(1,0,0,0,1,0,t[0],t[1],1),s=TB.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),i=CB.set(n[0],0,0,0,n[1],0,0,0,1);return o.multiplyRight(s).multiplyRight(i)}var Ta={};de(Ta,{decode:()=>vB,encode:()=>NB,name:()=>OB});var Xt="KHR_lights_punctual",OB=Xt;async function vB(e){let t=new V(e),{json:r}=t,n=t.getExtension(Xt);n&&(t.json.lights=n.lights,t.removeExtension(Xt));for(let o of r.nodes||[]){let s=t.getObjectExtension(o,Xt);s&&(o.light=s.light),t.removeObjectExtension(o,Xt)}}async function NB(e){let t=new V(e),{json:r}=t;if(r.lights){let n=t.addExtension(Xt);se(!n.lights),n.lights=r.lights,delete r.lights}if(t.json.lights){for(let n of t.json.lights){let o=n.node;t.addObjectExtension(o,Xt,n)}delete t.json.lights}}var Ca={};de(Ca,{decode:()=>UB,encode:()=>PB,name:()=>GB});var Jn="KHR_materials_unlit",GB=Jn;async function UB(e){let t=new V(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,Jn);t.removeExtension(Jn)}function PB(e){let t=new V(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,Jn,{}),t.addExtension(Jn))}var wa={};de(wa,{decode:()=>kB,encode:()=>JB,name:()=>HB});var zn="KHR_techniques_webgl",HB=zn;async function kB(e){let t=new V(e),{json:r}=t,n=t.getExtension(zn);if(n){let o=zB(n,t);for(let s of r.materials||[]){let i=t.getObjectExtension(s,zn);i&&(s.technique=Object.assign({},i,o[i.technique]),s.technique.values=QB(s.technique,t)),t.removeObjectExtension(s,zn)}t.removeExtension(zn)}}async function JB(e,t){}function zB(e,t){let{programs:r=[],shaders:n=[],techniques:o=[]}=e,s=new TextDecoder;return n.forEach(i=>{if(Number.isFinite(i.bufferView))i.code=s.decode(t.getTypedArrayForBufferView(i.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(i=>{i.fragmentShader=n[i.fragmentShader],i.vertexShader=n[i.vertexShader]}),o.forEach(i=>{i.program=r[i.program]}),o}function QB(e,t){let r=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(n=>{e.uniforms[n].value&&!(n in r)&&(r[n]=e.uniforms[n].value)}),Object.keys(r).forEach(n=>{typeof r[n]=="object"&&r[n].index!==void 0&&(r[n].texture=t.getTexture(r[n].index))}),r}var Th=[ia,na,Ba,xa,Ea,ya,Ta,Ca,wa,_a,aa];function Ch(e,t={},r){let n=Th.filter(o=>Ih(o.name,t));for(let o of n)o.preprocess?.(e,t,r)}async function wh(e,t={},r){let n=Th.filter(o=>Ih(o.name,t));for(let o of n)await o.decode?.(e,t,r)}function Ih(e,t){let r=t?.gltf?.excludeExtensions||{};return!(e in r&&!r[e])}var Ia="KHR_binary_glTF";function Mh(e){let t=new V(e),{json:r}=t;for(let n of r.images||[]){let o=t.getObjectExtension(n,Ia);o&&Object.assign(n,o),t.removeObjectExtension(n,Ia)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(Ia)}var Sh={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},jB={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},Ma=class{idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}};json;normalize(t,r){this.json=t.json;let n=t.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(!r.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),Mh(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(let r in Sh)this._convertTopLevelObjectToArray(t,r)}_convertTopLevelObjectToArray(t,r){let n=t[r];if(!(!n||Array.isArray(n))){t[r]=[];for(let o in n){let s=n[o];s.id=s.id||o;let i=t[r].length;t[r].push(s),this.idToIndexMap[r][o]=i}}}_convertObjectIdsToArrayIndices(t){for(let r in Sh)this._convertIdsToIndices(t,r);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(let r of t.textures)this._convertTextureIds(r);for(let r of t.meshes)this._convertMeshIds(r);for(let r of t.nodes)this._convertNodeIds(r);for(let r of t.scenes)this._convertSceneIds(r)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(let r of t.primitives){let{attributes:n,indices:o,material:s}=r;for(let i in n)n[i]=this._convertIdToIndex(n[i],"accessor");o&&(r.indices=this._convertIdToIndex(o,"accessor")),s&&(r.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(r=>this._convertIdToIndex(r,"node"))),t.meshes&&(t.meshes=t.meshes.map(r=>this._convertIdToIndex(r,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(r=>this._convertIdToIndex(r,"node")))}_convertIdsToIndices(t,r){t[r]||(console.warn(`gltf v1: json doesn't contain attribute ${r}`),t[r]=[]);for(let n of t[r])for(let o in n){let s=n[o],i=this._convertIdToIndex(s,o);n[o]=i}}_convertIdToIndex(t,r){let n=jB[r];if(n in this.idToIndexMap){let o=this.idToIndexMap[n][t];if(!Number.isFinite(o))throw new Error(`gltf v1: failed to resolve ${r} with id ${t}`);return o}return t}_updateObjects(t){for(let r of this.json.buffers)delete r.type}_updateMaterial(t){for(let r of t.materials){r.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let n=r.values?.tex||r.values?.texture2d_0||r.values?.diffuseTex,o=t.textures.findIndex(s=>s.id===n);o!==-1&&(r.pbrMetallicRoughness.baseColorTexture={index:o})}}};function Fh(e,t={}){return new Ma().normalize(e,t)}async function Dh(e,t,r=0,n,o){return KB(e,t,r,n),Fh(e,{normalize:n?.gltf?.normalize}),Ch(e,n,o),n?.gltf?.loadBuffers&&e.json.buffers&&await ZB(e,n,o),n?.gltf?.loadImages&&await YB(e,n,o),await wh(e,n,o),e}function KB(e,t,r,n){if(n.core?.baseUrl&&(e.baseUri=n.core?.baseUrl),t instanceof ArrayBuffer&&!xh(t,r,n.glb)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=Ys(t);else if(t instanceof ArrayBuffer){let i={};r=Eh(i,t,r,n.glb),se(i.type==="glTF",`Invalid GLB magic string ${i.type}`),e._glb=i,e.json=i.json}else se(!1,"GLTF: must be ArrayBuffer or string");let o=e.json.buffers||[];if(e.buffers=new Array(o.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:i}=e._glb;e.buffers[0]={arrayBuffer:i[0].arrayBuffer,byteOffset:i[0].byteOffset,byteLength:i[0].byteLength}}let s=e.json.images||[];e.images=new Array(s.length).fill({})}async function ZB(e,t,r){let n=e.json.buffers||[];for(let o=0;o<n.length;++o){let s=n[o];if(s.uri){let{fetch:i}=r;se(i);let a=pa(s.uri,t,r),c=await(await r?.fetch?.(a))?.arrayBuffer?.();e.buffers[o]={arrayBuffer:c,byteOffset:0,byteLength:c.byteLength},delete s.uri}else e.buffers[o]===null&&(e.buffers[o]={arrayBuffer:new ArrayBuffer(s.byteLength),byteOffset:0,byteLength:s.byteLength})}}async function YB(e,t,r){let n=WB(e),o=e.json.images||[],s=[];for(let i of n)s.push(XB(e,o[i],i,t,r));return await Promise.all(s)}function WB(e){let t=new Set,r=e.json.textures||[];for(let n of r)n.source!==void 0&&t.add(n.source);return Array.from(t).sort()}async function XB(e,t,r,n,o){let s;if(t.uri&&!t.hasOwnProperty("bufferView")){let c=pa(t.uri,n,o),{fetch:l}=o;s=await(await l(c)).arrayBuffer(),t.bufferView={data:s}}if(Number.isFinite(t.bufferView)){let c=$l(e.json,e.buffers,t.bufferView);s=Qt(c.buffer,c.byteOffset,c.byteLength)}se(s,"glTF image has no data");let i=n,a={...i,core:{...i?.core,mimeType:t.mimeType}},f=await ke(s,[ea,ua],a,o);f&&f[0]&&(f={compressed:!0,mipmaps:!1,width:f[0].width,height:f[0].height,data:f[0]}),e.images=e.images||[],e.images[r]=f}var qt={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:sh,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:qB,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0}}};async function qB(e,t={},r){let n={...qt.options,...t};n.gltf={...qt.options.gltf,...n.gltf};let o=t?.glb?.byteOffset||0;return await Dh({},e,o,n,r)}var $B={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},ex={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Oe={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},tx={magFilter:Oe.TEXTURE_MAG_FILTER,minFilter:Oe.TEXTURE_MIN_FILTER,wrapS:Oe.TEXTURE_WRAP_S,wrapT:Oe.TEXTURE_WRAP_T},rx={[Oe.TEXTURE_MAG_FILTER]:Oe.LINEAR,[Oe.TEXTURE_MIN_FILTER]:Oe.NEAREST_MIPMAP_LINEAR,[Oe.TEXTURE_WRAP_S]:Oe.REPEAT,[Oe.TEXTURE_WRAP_T]:Oe.REPEAT};function nx(){return{id:"default-sampler",parameters:rx}}function ox(e){return ex[e]}function sx(e){return $B[e]}var Sa=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:o=[],images:s=[]}=t,{baseUri:i=""}=t;return se(n),this.baseUri=i,this.buffers=o,this.images=s,this.jsonUnprocessed=n,this.json=this._resolveTree(t.json,r),this.json}_resolveTree(t,r={}){let n={...t};return this.json=n,t.bufferViews&&(n.bufferViews=t.bufferViews.map((o,s)=>this._resolveBufferView(o,s))),t.images&&(n.images=t.images.map((o,s)=>this._resolveImage(o,s))),t.samplers&&(n.samplers=t.samplers.map((o,s)=>this._resolveSampler(o,s))),t.textures&&(n.textures=t.textures.map((o,s)=>this._resolveTexture(o,s))),t.accessors&&(n.accessors=t.accessors.map((o,s)=>this._resolveAccessor(o,s))),t.materials&&(n.materials=t.materials.map((o,s)=>this._resolveMaterial(o,s))),t.meshes&&(n.meshes=t.meshes.map((o,s)=>this._resolveMesh(o,s))),t.nodes&&(n.nodes=t.nodes.map((o,s)=>this._resolveNode(o,s)),n.nodes=n.nodes.map((o,s)=>this._resolveNodeChildren(o))),t.skins&&(n.skins=t.skins.map((o,s)=>this._resolveSkin(o,s))),t.scenes&&(n.scenes=t.scenes.map((o,s)=>this._resolveScene(o,s))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(t){return this._get(this.json.scenes,t)}getNode(t){return this._get(this.json.nodes,t)}getSkin(t){return this._get(this.json.skins,t)}getMesh(t){return this._get(this.json.meshes,t)}getMaterial(t){return this._get(this.json.materials,t)}getAccessor(t){return this._get(this.json.accessors,t)}getCamera(t){return this._get(this.json.cameras,t)}getTexture(t){return this._get(this.json.textures,t)}getSampler(t){return this._get(this.json.samplers,t)}getImage(t){return this._get(this.json.images,t)}getBufferView(t){return this._get(this.json.bufferViews,t)}getBuffer(t){return this._get(this.json.buffers,t)}_get(t,r){if(typeof r=="object")return r;let n=t&&t[r];return n||console.warn(`glTF file error: Could not find ${t}[${r}]`),n}_resolveScene(t,r){return{...t,id:t.id||`scene-${r}`,nodes:(t.nodes||[]).map(n=>this.getNode(n))}}_resolveNode(t,r){let n={...t,id:t?.id||`node-${r}`};return t.mesh!==void 0&&(n.mesh=this.getMesh(t.mesh)),t.camera!==void 0&&(n.camera=this.getCamera(t.camera)),t.skin!==void 0&&(n.skin=this.getSkin(t.skin)),t.meshes!==void 0&&t.meshes.length&&(n.mesh=t.meshes.reduce((o,s)=>{let i=this.getMesh(s);return o.id=i.id,o.primitives=o.primitives.concat(i.primitives),o},{primitives:[]})),n}_resolveNodeChildren(t){return t.children&&(t.children=t.children.map(r=>this.getNode(r))),t}_resolveSkin(t,r){let n=typeof t.inverseBindMatrices=="number"?this.getAccessor(t.inverseBindMatrices):void 0;return{...t,id:t.id||`skin-${r}`,inverseBindMatrices:n}}_resolveMesh(t,r){let n={...t,id:t.id||`mesh-${r}`,primitives:[]};return t.primitives&&(n.primitives=t.primitives.map(o=>{let s={...o,attributes:{},indices:void 0,material:void 0},i=o.attributes;for(let a in i)s.attributes[a]=this.getAccessor(i[a]);return o.indices!==void 0&&(s.indices=this.getAccessor(o.indices)),o.material!==void 0&&(s.material=this.getMaterial(o.material)),s})),n}_resolveMaterial(t,r){let n={...t,id:t.id||`material-${r}`};if(n.normalTexture&&(n.normalTexture={...n.normalTexture},n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture={...n.occlusionTexture},n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture={...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={...n.pbrMetallicRoughness};let o=n.pbrMetallicRoughness;o.baseColorTexture&&(o.baseColorTexture={...o.baseColorTexture},o.baseColorTexture.texture=this.getTexture(o.baseColorTexture.index)),o.metallicRoughnessTexture&&(o.metallicRoughnessTexture={...o.metallicRoughnessTexture},o.metallicRoughnessTexture.texture=this.getTexture(o.metallicRoughnessTexture.index))}return n}_resolveAccessor(t,r){let n=ox(t.componentType),o=sx(t.type),s=n*o,i={...t,id:t.id||`accessor-${r}`,bytesPerComponent:n,components:o,bytesPerElement:s,value:void 0,bufferView:void 0,sparse:void 0};if(t.bufferView!==void 0&&(i.bufferView=this.getBufferView(t.bufferView)),i.bufferView){let a=i.bufferView.buffer,{ArrayType:f,byteLength:c}=Gr(i,i.bufferView),l=(i.bufferView.byteOffset||0)+(i.byteOffset||0)+a.byteOffset,h=Et(a.arrayBuffer,l,c);i.bufferView.byteStride&&(h=this._getValueFromInterleavedBuffer(a,l,i.bufferView.byteStride,i.bytesPerElement,i.count)),i.value=new f(h)}return i}_getValueFromInterleavedBuffer(t,r,n,o,s){let i=new Uint8Array(s*o);for(let a=0;a<s;a++){let f=r+a*n;i.set(new Uint8Array(t.arrayBuffer.slice(f,f+o)),a*o)}return i.buffer}_resolveTexture(t,r){return{...t,id:t.id||`texture-${r}`,sampler:typeof t.sampler=="number"?this.getSampler(t.sampler):nx(),source:typeof t.source=="number"?this.getImage(t.source):void 0}}_resolveSampler(t,r){let n={id:t.id||`sampler-${r}`,...t,parameters:{}};for(let o in n){let s=this._enumSamplerParameter(o);s!==void 0&&(n.parameters[s]=n[o])}return n}_enumSamplerParameter(t){return tx[t]}_resolveImage(t,r){let n={...t,id:t.id||`image-${r}`,image:null,bufferView:t.bufferView!==void 0?this.getBufferView(t.bufferView):void 0},o=this.images[r];return o&&(n.image=o),n}_resolveBufferView(t,r){let n=t.buffer,o=this.buffers[n].arrayBuffer,s=this.buffers[n].byteOffset||0;return t.byteOffset&&(s+=t.byteOffset),{id:`bufferView-${r}`,...t,buffer:this.buffers[n],data:new Uint8Array(o,s,t.byteLength)}}_resolveCamera(t,r){let n={...t,id:t.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function Qn(e,t){return new Sa().postProcess(e,t)}var hs={URI:0,EMBEDDED:1};function us(e,t,r,n){e.rotateYtoZ=!0;let o=(e.byteOffset||0)+(e.byteLength||0)-r;if(o===0)throw new Error("glTF byte length must be greater than 0.");return e.gltfUpAxis=n?.["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",e.gltfArrayBuffer=Qt(t,r,o),e.gltfByteOffset=0,e.gltfByteLength=o,r%4===0||console.warn(`${e.type}: embedded glb is not aligned to a 4-byte boundary.`),(e.byteOffset||0)+(e.byteLength||0)}async function ds(e,t,r,n){let o=r?.["3d-tiles"]||{};if(ix(e,t,r),o.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:s}=n,i=await s(e.gltfUrl,r?.core);e.gltfArrayBuffer=await i.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let s=await ke(e.gltfArrayBuffer,qt,r,n);e.gltf=Qn(s),e.gpuMemoryUsageInBytes=Hn(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function ix(e,t,r){switch(t){case hs.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),s=new TextDecoder().decode(n);e.gltfUrl=s.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case hs.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function Rh(e,t,r,n,o){r=ax(e,t,r,n,o),await ds(e,hs.EMBEDDED,n,o);let s=e?.gltf?.extensions;return s&&s.CESIUM_RTC&&(e.rtcCenter=s.CESIUM_RTC.center),r}function ax(e,t,r,n,o){r=Dt(e,t,r),r=vr(e,t,r),r=Nr(e,t,r,n),r=us(e,t,r,n);let s=new ze(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=s.getGlobalProperty("RTC_CENTER",H.FLOAT,3),r}async function Lh(e,t,r,n,o){return r=cx(e,t,r,n,o),await ds(e,e.gltfFormat||0,n,o),r}function cx(e,t,r,n,o){if(r=Dt(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=vr(e,t,r);let s=new DataView(t);if(e.gltfFormat=s.getUint32(r,!0),r+=4,r=Nr(e,t,r,n),r=us(e,t,r,n),!e?.header?.featureTableJsonByteLength||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let i=new ze(e.featureTableJson,e.featureTableBinary),a=i.getGlobalProperty("INSTANCES_LENGTH");if(i.featuresLength=a,!Number.isFinite(a))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");e.eastNorthUp=i.getGlobalProperty("EAST_NORTH_UP"),e.rtcCenter=i.getGlobalProperty("RTC_CENTER",H.FLOAT,3);let f=new ut(e.batchTableJson,e.batchTableBinary,a);return fx(e,i,f,a),r}function fx(e,t,r,n){let o=new Array(n),s=new w,i=new w,a=new w,f=new w,c=new Z,l=new wt,h=new w,u={},d=new De,m=[],A=[],p=[],E=[];for(let y=0;y<n;y++){let T;if(t.hasProperty("POSITION"))T=t.getProperty("POSITION",H.FLOAT,3,y,s);else if(t.hasProperty("POSITION_QUANTIZED")){T=t.getProperty("POSITION_QUANTIZED",H.UNSIGNED_SHORT,3,y,s);let g=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",H.FLOAT,3);if(!g)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let x=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",H.FLOAT,3);if(!x)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let b=65535;for(let U=0;U<3;U++)T[U]=T[U]/b*x[U]+g[U]}if(!T)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");s.copy(T),u.translation=s,e.normalUp=t.getProperty("NORMAL_UP",H.FLOAT,3,y,m),e.normalRight=t.getProperty("NORMAL_RIGHT",H.FLOAT,3,y,A);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=t.getProperty("NORMAL_UP_OCT32P",H.UNSIGNED_SHORT,2,y,m),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",H.UNSIGNED_SHORT,2,y,A),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?(ct.WGS84.eastNorthUpToFixedFrame(s,d),d.getRotationMatrix3(c)):c.identity()}C&&(f.copy(i).cross(a).normalize(),c.setColumn(0,i),c.setColumn(1,a),c.setColumn(2,f)),l.fromMatrix3(c),u.rotation=l,h.set(1,1,1);let _=t.getProperty("SCALE",H.FLOAT,1,y,p);Number.isFinite(_)&&h.multiplyByScalar(_);let I=t.getProperty("SCALE_NON_UNIFORM",H.FLOAT,3,y,m);I&&h.scale(I),u.scale=h;let M=t.getProperty("BATCH_ID",H.UNSIGNED_SHORT,1,y,E);M===void 0&&(M=y);let L=new De().fromQuaternion(u.rotation);d.identity(),d.translate(u.translation),d.multiplyRight(L),d.scale(u.scale);let B=d.clone();o[y]={modelMatrix:B,batchId:M}}e.instances=o}async function Oh(e,t,r,n,o,s){r=Dt(e,t,r);let i=new DataView(t);for(e.tilesLength=i.getUint32(r,!0),r+=4,e.tiles=[];e.tiles.length<e.tilesLength&&(e.byteLength||0)-r>12;){let a={shape:"tile3d"};e.tiles.push(a),r=await s(t,r,n,o,a)}return r}async function vh(e,t,r,n){if(e.rotateYtoZ=!0,e.gltfUpAxis=r?.["3d-tiles"]?.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",r?.["3d-tiles"]?.loadGLTF){if(!n)return t.byteLength;let o=await ke(t,qt,r,n);e.gltf=Qn(o),e.gpuMemoryUsageInBytes=Hn(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function Fa(e,t=0,r,n,o={shape:"tile3d"}){switch(o.byteOffset=t,o.type=xl(e,t),o.type){case be.COMPOSITE:return await Oh(o,e,t,r,n,Fa);case be.BATCHED_3D_MODEL:return await Rh(o,e,t,r,n);case be.GLTF:return await vh(o,e,r,n);case be.INSTANCED_3D_MODEL:return await Lh(o,e,t,r,n);case be.POINT_CLOUD:return await kl(o,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${o.type}`)}}async function Da(e,t,r){if(new Uint32Array(e.slice(0,4))[0]!==1952609651)throw new Error("Wrong subtree file magic number");if(new Uint32Array(e.slice(4,8))[0]!==1)throw new Error("Wrong subtree file verson, must be 1");let s=Nh(e.slice(8,16)),i=new Uint8Array(e,24,s),f=new TextDecoder("utf8").decode(i),c=JSON.parse(f),l=Nh(e.slice(16,24)),h=new ArrayBuffer(0);if(l&&(h=e.slice(24+s)),await ms(c,c.tileAvailability,h,r),Array.isArray(c.contentAvailability))for(let u of c.contentAvailability)await ms(c,u,h,r);else await ms(c,c.contentAvailability,h,r);return await ms(c,c.childSubtreeAvailability,h,r),c}async function ms(e,t,r,n){let o=Number.isFinite(t.bitstream)?t.bitstream:t.bufferView;if(typeof o!="number")return;let s=e.bufferViews[o],i=e.buffers[s.buffer];if(!n?.baseUrl)throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(i.uri){let f=`${n?.baseUrl||""}/${i.uri}`,l=await(await n.fetch(f)).arrayBuffer();t.explicitBitstream=new Uint8Array(l,s.byteOffset,s.byteLength);return}let a=e.buffers.slice(0,s.buffer).reduce((f,c)=>f+c.byteLength,0);t.explicitBitstream=new Uint8Array(r.slice(a,a+i.byteLength),s.byteOffset,s.byteLength)}function Nh(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var jr={dataType:null,batchType:null,id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:Rr,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:Da,options:{}};var ou=Br(dn(),1);var eu=Br(dn(),1);var ve=null;try{ve=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 Y(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}Y.prototype.__isLong__;Object.defineProperty(Y.prototype,"__isLong__",{value:!0});function me(e){return(e&&e.__isLong__)===!0}function Gh(e){var t=Math.clz32(e&-e);return e?31-t:t}Y.isLong=me;var Uh={},Ph={};function $t(e,t){var r,n,o;return t?(e>>>=0,(o=0<=e&&e<256)&&(n=Ph[e],n)?n:(r=Q(e,0,!0),o&&(Ph[e]=r),r)):(e|=0,(o=-128<=e&&e<128)&&(n=Uh[e],n)?n:(r=Q(e,e<0?-1:0,!1),o&&(Uh[e]=r),r))}Y.fromInt=$t;function Ne(e,t){if(isNaN(e))return t?dt:Qe;if(t){if(e<0)return dt;if(e>=zh)return jh}else{if(e<=-kh)return _e;if(e+1>=kh)return Vh}return e<0?Ne(-e,t).neg():Q(e%Zr|0,e/Zr|0,t)}Y.fromNumber=Ne;function Q(e,t,r){return new Y(e,t,r)}Y.fromBits=Q;var As=Math.pow;function La(e,t,r){if(e.length===0)throw Error("empty string");if(typeof t=="number"?(r=t,t=!1):t=!!t,e==="NaN"||e==="Infinity"||e==="+Infinity"||e==="-Infinity")return t?dt:Qe;if(r=r||10,r<2||36<r)throw RangeError("radix");var n;if((n=e.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return La(e.substring(1),t,r).neg();for(var o=Ne(As(r,8)),s=Qe,i=0;i<e.length;i+=8){var a=Math.min(8,e.length-i),f=parseInt(e.substring(i,i+a),r);if(a<8){var c=Ne(As(r,a));s=s.mul(c).add(Ne(f))}else s=s.mul(o),s=s.add(Ne(f))}return s.unsigned=t,s}Y.fromString=La;function Ge(e,t){return typeof e=="number"?Ne(e,t):typeof e=="string"?La(e,t):Q(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}Y.fromValue=Ge;var Hh=1<<16,lx=1<<24,Zr=Hh*Hh,zh=Zr*Zr,kh=zh/2,Jh=$t(lx),Qe=$t(0);Y.ZERO=Qe;var dt=$t(0,!0);Y.UZERO=dt;var Kr=$t(1);Y.ONE=Kr;var Qh=$t(1,!0);Y.UONE=Qh;var Ra=$t(-1);Y.NEG_ONE=Ra;var Vh=Q(-1,2147483647,!1);Y.MAX_VALUE=Vh;var jh=Q(-1,-1,!0);Y.MAX_UNSIGNED_VALUE=jh;var _e=Q(0,-2147483648,!1);Y.MIN_VALUE=_e;var O=Y.prototype;O.toInt=function(){return this.unsigned?this.low>>>0:this.low};O.toNumber=function(){return this.unsigned?(this.high>>>0)*Zr+(this.low>>>0):this.high*Zr+(this.low>>>0)};O.toString=function(t){if(t=t||10,t<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(_e)){var r=Ne(t),n=this.div(r),o=n.mul(r).sub(this);return n.toString(t)+o.toInt().toString(t)}else return"-"+this.neg().toString(t);for(var s=Ne(As(t,6),this.unsigned),i=this,a="";;){var f=i.div(s),c=i.sub(f.mul(s)).toInt()>>>0,l=c.toString(t);if(i=f,i.isZero())return l+a;for(;l.length<6;)l="0"+l;a=""+l+a}};O.getHighBits=function(){return this.high};O.getHighBitsUnsigned=function(){return this.high>>>0};O.getLowBits=function(){return this.low};O.getLowBitsUnsigned=function(){return this.low>>>0};O.getNumBitsAbs=function(){if(this.isNegative())return this.eq(_e)?64:this.neg().getNumBitsAbs();for(var t=this.high!=0?this.high:this.low,r=31;r>0&&!(t&1<<r);r--);return this.high!=0?r+33:r+1};O.isSafeInteger=function(){var t=this.high>>21;return t?this.unsigned?!1:t===-1&&!(this.low===0&&this.high===-2097152):!0};O.isZero=function(){return this.high===0&&this.low===0};O.eqz=O.isZero;O.isNegative=function(){return!this.unsigned&&this.high<0};O.isPositive=function(){return this.unsigned||this.high>=0};O.isOdd=function(){return(this.low&1)===1};O.isEven=function(){return(this.low&1)===0};O.equals=function(t){return me(t)||(t=Ge(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};O.eq=O.equals;O.notEquals=function(t){return!this.eq(t)};O.neq=O.notEquals;O.ne=O.notEquals;O.lessThan=function(t){return this.comp(t)<0};O.lt=O.lessThan;O.lessThanOrEqual=function(t){return this.comp(t)<=0};O.lte=O.lessThanOrEqual;O.le=O.lessThanOrEqual;O.greaterThan=function(t){return this.comp(t)>0};O.gt=O.greaterThan;O.greaterThanOrEqual=function(t){return this.comp(t)>=0};O.gte=O.greaterThanOrEqual;O.ge=O.greaterThanOrEqual;O.compare=function(t){if(me(t)||(t=Ge(t)),this.eq(t))return 0;var r=this.isNegative(),n=t.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1};O.comp=O.compare;O.negate=function(){return!this.unsigned&&this.eq(_e)?_e:this.not().add(Kr)};O.neg=O.negate;O.add=function(t){me(t)||(t=Ge(t));var r=this.high>>>16,n=this.high&65535,o=this.low>>>16,s=this.low&65535,i=t.high>>>16,a=t.high&65535,f=t.low>>>16,c=t.low&65535,l=0,h=0,u=0,d=0;return d+=s+c,u+=d>>>16,d&=65535,u+=o+f,h+=u>>>16,u&=65535,h+=n+a,l+=h>>>16,h&=65535,l+=r+i,l&=65535,Q(u<<16|d,l<<16|h,this.unsigned)};O.subtract=function(t){return me(t)||(t=Ge(t)),this.add(t.neg())};O.sub=O.subtract;O.multiply=function(t){if(this.isZero())return this;if(me(t)||(t=Ge(t)),ve){var r=ve.mul(this.low,this.high,t.low,t.high);return Q(r,ve.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?dt:Qe;if(this.eq(_e))return t.isOdd()?_e:Qe;if(t.eq(_e))return this.isOdd()?_e:Qe;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(Jh)&&t.lt(Jh))return Ne(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,o=this.high&65535,s=this.low>>>16,i=this.low&65535,a=t.high>>>16,f=t.high&65535,c=t.low>>>16,l=t.low&65535,h=0,u=0,d=0,m=0;return m+=i*l,d+=m>>>16,m&=65535,d+=s*l,u+=d>>>16,d&=65535,d+=i*c,u+=d>>>16,d&=65535,u+=o*l,h+=u>>>16,u&=65535,u+=s*c,h+=u>>>16,u&=65535,u+=i*f,h+=u>>>16,u&=65535,h+=n*l+o*c+s*f+i*a,h&=65535,Q(d<<16|m,h<<16|u,this.unsigned)};O.mul=O.multiply;O.divide=function(t){if(me(t)||(t=Ge(t)),t.isZero())throw Error("division by zero");if(ve){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?ve.div_u:ve.div_s)(this.low,this.high,t.low,t.high);return Q(r,ve.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?dt:Qe;var n,o,s;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return dt;if(t.gt(this.shru(1)))return Qh;s=dt}else{if(this.eq(_e)){if(t.eq(Kr)||t.eq(Ra))return _e;if(t.eq(_e))return Kr;var i=this.shr(1);return n=i.div(t).shl(1),n.eq(Qe)?t.isNegative()?Kr:Ra:(o=this.sub(t.mul(n)),s=n.add(o.div(t)),s)}else if(t.eq(_e))return this.unsigned?dt:Qe;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();s=Qe}for(o=this;o.gte(t);){n=Math.max(1,Math.floor(o.toNumber()/t.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),f=a<=48?1:As(2,a-48),c=Ne(n),l=c.mul(t);l.isNegative()||l.gt(o);)n-=f,c=Ne(n,this.unsigned),l=c.mul(t);c.isZero()&&(c=Kr),s=s.add(c),o=o.sub(l)}return s};O.div=O.divide;O.modulo=function(t){if(me(t)||(t=Ge(t)),ve){var r=(this.unsigned?ve.rem_u:ve.rem_s)(this.low,this.high,t.low,t.high);return Q(r,ve.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};O.mod=O.modulo;O.rem=O.modulo;O.not=function(){return Q(~this.low,~this.high,this.unsigned)};O.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};O.clz=O.countLeadingZeros;O.countTrailingZeros=function(){return this.low?Gh(this.low):Gh(this.high)+32};O.ctz=O.countTrailingZeros;O.and=function(t){return me(t)||(t=Ge(t)),Q(this.low&t.low,this.high&t.high,this.unsigned)};O.or=function(t){return me(t)||(t=Ge(t)),Q(this.low|t.low,this.high|t.high,this.unsigned)};O.xor=function(t){return me(t)||(t=Ge(t)),Q(this.low^t.low,this.high^t.high,this.unsigned)};O.shiftLeft=function(t){return me(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Q(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):Q(0,this.low<<t-32,this.unsigned)};O.shl=O.shiftLeft;O.shiftRight=function(t){return me(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Q(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):Q(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};O.shr=O.shiftRight;O.shiftRightUnsigned=function(t){return me(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?Q(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?Q(this.high,0,this.unsigned):Q(this.high>>>t-32,0,this.unsigned)};O.shru=O.shiftRightUnsigned;O.shr_u=O.shiftRightUnsigned;O.rotateLeft=function(t){var r;return me(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?Q(this.high,this.low,this.unsigned):t<32?(r=32-t,Q(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,Q(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};O.rotl=O.rotateLeft;O.rotateRight=function(t){var r;return me(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?Q(this.high,this.low,this.unsigned):t<32?(r=32-t,Q(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,Q(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};O.rotr=O.rotateRight;O.toSigned=function(){return this.unsigned?Q(this.low,this.high,!1):this};O.toUnsigned=function(){return this.unsigned?this:Q(this.low,this.high,!0)};O.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};O.toBytesLE=function(){var t=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,t&255,t>>>8&255,t>>>16&255,t>>>24]};O.toBytesBE=function(){var t=this.high,r=this.low;return[t>>>24,t>>>16&255,t>>>8&255,t&255,r>>>24,r>>>16&255,r>>>8&255,r&255]};Y.fromBytes=function(t,r,n){return n?Y.fromBytesLE(t,r):Y.fromBytesBE(t,r)};Y.fromBytesLE=function(t,r){return new Y(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};Y.fromBytesBE=function(t,r){return new Y(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};typeof BigInt=="function"&&(Y.fromBigInt=function(t,r){var n=Number(BigInt.asIntN(32,t)),o=Number(BigInt.asIntN(32,t>>BigInt(32)));return Q(n,o,r)},Y.fromValue=function(t,r){return typeof t=="bigint"?Y.fromBigInt(t,r):Ge(t,r)},O.toBigInt=function(){var t=BigInt(this.low>>>0),r=BigInt(this.unsigned?this.high>>>0:this.high);return r<<BigInt(32)|t});var Yr=Y;var hx=16;function Vn(e){e==="X"&&(e="");let t=e.padEnd(hx,"0");return Yr.fromString(t,!0,16)}function Oa(e){if(e.isZero())return"X";let t=e.countTrailingZeros(),r=t%4;t=(t-r)/4;let n=t;t*=4;let s=e.shiftRightUnsigned(t).toString(16).replace(/0+$/,"");return Array(17-n-s.length).join("0")+s}function va(e,t){let r=ux(e).shiftRightUnsigned(2);return e.add(Yr.fromNumber(2*t+1-4).multiply(r))}function ux(e){return e.and(e.not().add(1))}var dx=3,mx=30,Ax=2*mx+1,Kh=180/Math.PI;function Yh(e){if(e.length===0)throw new Error(`Invalid Hilbert quad key ${e}`);let t=e.split("/"),r=parseInt(t[0],10),n=t[1],o=n.length,s=0,i=[0,0];for(let a=o-1;a>=0;a--){s=o-a;let f=n[a],c=0,l=0;f==="1"?l=1:f==="2"?(c=1,l=1):f==="3"&&(c=1);let h=Math.pow(2,s-1);px(h,i,c,l),i[0]+=h*c,i[1]+=h*l}if(r%2===1){let a=i[0];i[0]=i[1],i[1]=a}return{face:r,ij:i,level:s}}function Wh(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<dx+Ax;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),o=t.substring(3,r),s=o.length/2,i=Yr.fromString(n,!0,2).toString(10),a="";if(s!==0)for(a=Yr.fromString(o,!0,2).toString(4);a.length<s;)a="0"+a;return`${i}/${a}`}function Na(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function Zh(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function Ga(e){return[Zh(e[0]),Zh(e[1])]}function Ua(e,[t,r]){switch(e){case 0:return[1,t,r];case 1:return[-t,1,r];case 2:return[-t,-r,1];case 3:return[-1,-r,-t];case 4:return[r,-1,-t];case 5:return[r,t,-1];default:throw new Error("Invalid face")}}function Pa([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*Kh,n*Kh]}function px(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let o=t[0];t[0]=t[1],t[1]=o}}function Xh(e){let t=Na(e.ij,e.level,[.5,.5]),r=Ga(t),n=Ua(e.face,r);return Pa(n)}var gx=100;function Ha(e){let{face:t,ij:r,level:n}=e,o=[[0,0],[0,1],[1,1],[1,0],[0,0]],s=Math.max(1,Math.ceil(gx*Math.pow(2,-n))),i=new Float64Array(4*s*2+2),a=0,f=0;for(let c=0;c<4;c++){let l=o[c].slice(0),h=o[c+1],u=(h[0]-l[0])/s,d=(h[1]-l[1])/s;for(let m=0;m<s;m++){l[0]+=u,l[1]+=d;let A=Na(r,n,l),p=Ga(A),E=Ua(t,p),y=Pa(E);Math.abs(y[1])>89.999&&(y[0]=f);let T=y[0]-f;y[0]+=T>180?-360:T<-180?360:0,i[a++]=y[0],i[a++]=y[1],f=y[0]}}return i[a++]=i[0],i[a++]=i[1],i}function Wr(e){let t=Bx(e);return Yh(t)}function Bx(e){if(e.indexOf("/")>0)return e;let t=Vn(e);return Wh(t)}function ka(e){let t=Wr(e);return Xh(t)}function $h(e){let t;if(e.face===2||e.face===5){let r=null,n=0;for(let o=0;o<4;o++){let s=`${e.face}/${o}`,i=Wr(s),a=Ha(i);(typeof r>"u"||r===null)&&(r=new Float64Array(4*a.length)),r.set(a,n),n+=a.length}t=qh(r)}else{let r=Ha(e);t=qh(r)}return t}function qh(e){if(e.length%2!==0)throw new Error("Invalid corners");let t=[],r=[];for(let n=0;n<e.length;n+=2)t.push(e[n]),r.push(e[n+1]);return t.sort((n,o)=>n-o),r.sort((n,o)=>n-o),{west:t[0],east:t[t.length-1],north:r[r.length-1],south:r[0]}}function Ja(e,t){let r=t?.minimumHeight||0,n=t?.maximumHeight||0,o=Wr(e),s=$h(o),i=s.west,a=s.south,f=s.east,c=s.north,l=[];return l.push(new w(i,c,r)),l.push(new w(f,c,r)),l.push(new w(f,a,r)),l.push(new w(i,a,r)),l.push(new w(i,c,n)),l.push(new w(f,c,n)),l.push(new w(f,a,n)),l.push(new w(i,a,n)),l}function ps(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=Ja(t,r),o=ka(t),s=o[0],i=o[1],a=ct.WGS84.cartographicToCartesian([s,i,r.maximumHeight]),f=new w(a[0],a[1],a[2]);n.push(f);let c=Pi(n);return[...c.center,...c.halfAxes]}var xx=4,Ex=8,bx={QUADTREE:xx,OCTREE:Ex};function yx(e,t,r){if(e?.box){let n=Vn(e.s2VolumeInfo.token),o=va(n,t),s=Oa(o),i={...e.s2VolumeInfo};switch(i.token=s,r){case"OCTREE":let c=e.s2VolumeInfo,l=c.maximumHeight-c.minimumHeight,h=l/2,u=c.minimumHeight+l/2;c.minimumHeight=u-h,c.maximumHeight=u+h;break;default:break}return{box:ps(i),s2VolumeInfo:i}}}async function Qa(e){let{subtree:t,subtreeData:r={level:0,x:0,y:0,z:0},parentData:n={mortonIndex:0,localLevel:-1,localX:0,localY:0,localZ:0},childIndex:o=0,implicitOptions:s,loaderOptions:i,s2VolumeBox:a}=e,{subdivisionScheme:f,subtreeLevels:c,maximumLevel:l,contentUrlTemplate:h,subtreesUriTemplate:u,basePath:d}=s,m={children:[],lodMetricValue:0,contentUrl:""};if(!l)return Vs.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${h} won't be loaded...`),m;let A=n.localLevel+1,p=r.level+A;if(p>l)return m;let E=bx[f],y=Math.log2(E),T=o&1,C=o>>1&1,_=o>>2&1,I=er(n.localX,T,1),M=er(n.localY,C,1),L=er(n.localZ,_,1),B=er(r.x,I,A),g=er(r.y,M,A),x=er(r.z,L,A),b=er(n.mortonIndex,o,y),U=A===c&&za(t.childSubtreeAvailability,b),G,P,v,ee;if(U){let st=`${d}/${u}`,hn=gs(st,p,B,g,x);G=await(0,eu.load)(hn,jr,i),ee=0,P={level:p,x:B,y:g,z:x},v={mortonIndex:0,localLevel:0,localX:0,localY:0,localZ:0}}else G=t,ee=(E**A-1)/(E-1)+b,P=r,v={mortonIndex:b,localLevel:A,localX:I,localY:M,localZ:L};if(!za(G.tileAvailability,ee))return m;za(G.contentAvailability,ee)&&(m.contentUrl=gs(h,p,B,g,x));for(let st=0;st<E;st++){let hn=yx(a,st,f),gr=await Qa({subtree:G,subtreeData:P,parentData:v,childIndex:st,implicitOptions:s,loaderOptions:i,s2VolumeBox:hn});(gr.contentUrl||gr.children.length)&&m.children.push(gr)}return m.contentUrl||m.children.length?_x(m,{level:p,x:B,y:g,z:x},s,a):m}function za(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&Vs.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?wx(t,r.explicitBitstream):!1}function _x(e,t,r,n){let{basePath:o,refine:s,getRefine:i,lodMetricType:a,getTileType:f,rootLodMetricValue:c,rootBoundingVolume:l}=r,h=e.contentUrl&&e.contentUrl.replace(`${o}/`,""),u=c/2**t.level,d=n?.box?{box:n.box}:l,m=Tx(d,t,r.subdivisionScheme);return{children:e.children,contentUrl:e.contentUrl,content:{uri:h},id:e.contentUrl,refine:i(s),type:f(e),lodMetricType:a,lodMetricValue:u,geometricError:u,transform:e.transform,boundingVolume:m}}function Tx(e,t,r){if(e.region){let{level:n,x:o,y:s,z:i}=t,[a,f,c,l,h,u]=e.region,d=2**n,m=(c-a)/d,[A,p]=[a+m*o,a+m*(o+1)],E=(l-f)/d,[y,T]=[f+E*s,f+E*(s+1)],C,_;if(r==="OCTREE"){let I=(u-h)/d;[C,_]=[h+I*i,h+I*(i+1)]}else[C,_]=[h,u];return{region:[A,y,p,T,C,_]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${JSON.stringify(e)}`)}function er(e,t,r){return(e<<r)+t}function gs(e,t,r,n,o){let s=Cx({level:t,x:r,y:n,z:o});return e.replace(/{level}|{x}|{y}|{z}/gi,i=>s[i])}function Cx(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function wx(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function ja(e,t=""){if(!t)return St.EMPTY;let n=t.split("?")[0].split(".").pop();switch(n){case"pnts":return St.POINTCLOUD;case"i3dm":case"b3dm":case"glb":case"gltf":return St.SCENEGRAPH;default:return n||St.EMPTY}}function Ka(e){switch(e){case"REPLACE":case"replace":return Dr.REPLACE;case"ADD":case"add":return Dr.ADD;default:return e}}function Va(e,t){if(/^[a-z][0-9a-z+.-]*:/i.test(t)){let n=new URL(e,`${t}/`);return decodeURI(n.toString())}else if(e.startsWith("/"))return e;return Cr.resolve(t,e)}function tu(e,t){if(!e)return null;let r;if(e.content){let o=e.content.uri||e.content?.url;typeof o<"u"&&(r=Va(o,t))}return{...e,id:r,contentUrl:r,lodMetricType:ht.GEOMETRIC_ERROR,lodMetricValue:e.geometricError,transformMatrix:e.transform,type:ja(e,r),refine:Ka(e.refine)}}async function su(e,t,r){let n=null,o=nu(e.root);o&&e.root?n=await ru(e.root,e,t,o,r):n=tu(e.root,t);let s=[];for(s.push(n);s.length>0;){let i=s.pop()||{},a=i.children||[],f=[];for(let c of a){let l=nu(c),h;l?h=await ru(c,e,t,l,r):h=tu(c,t),h&&(f.push(h),s.push(h))}i.children=f}return n}async function ru(e,t,r,n,o){let{subdivisionScheme:s,maximumLevel:i,availableLevels:a,subtreeLevels:f,subtrees:{uri:c}}=n,l=gs(c,0,0,0,0),h=Va(l,r),u=await(0,ou.load)(h,jr,o),d=e.content?.uri,m=d?Va(d,r):"",A=t?.root?.refine,p=e.geometricError,E=e.boundingVolume.extensions?.["3DTILES_bounding_volume_S2"];if(E){let _={box:ps(E),s2VolumeInfo:E};e.boundingVolume=_}let y=e.boundingVolume,T={contentUrlTemplate:m,subtreesUriTemplate:c,subdivisionScheme:s,subtreeLevels:f,maximumLevel:Number.isFinite(a)?a-1:i,refine:A,basePath:r,lodMetricType:ht.GEOMETRIC_ERROR,rootLodMetricValue:p,rootBoundingVolume:y,getTileType:ja,getRefine:Ka};return await Ix(e,r,u,T,o)}async function Ix(e,t,r,n,o){if(!e)return null;let{children:s,contentUrl:i}=await Qa({subtree:r,implicitOptions:n,loaderOptions:o}),a,f=null;return i&&(a=i,f={uri:i.replace(`${t}/`,"")}),{...e,id:a,contentUrl:a,lodMetricType:ht.GEOMETRIC_ERROR,lodMetricValue:e.geometricError,transformMatrix:e.transform,type:ja(e,a),refine:Ka(e.refine),content:f||e.content,children:s}}function nu(e){return e?.extensions?.["3DTILES_implicit_tiling"]||e?.implicitTiling}var tr={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:Rr,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:Mx,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function Mx(e,t={},r){let n=t["3d-tiles"]||{},o;return n.isTileset==="auto"?o=r?.url&&r.url.indexOf(".json")!==-1:o=n.isTileset,o?Sx(e,t,r):Fx(e,t,r)}async function Sx(e,t,r){let n=JSON.parse(new TextDecoder().decode(e)),o=r?.url||"",s=Dx(o),i=await su(n,s,t||{});return{...n,shape:"tileset3d",loader:tr,url:o,queryString:r?.queryString||"",basePath:s,root:i||n.root,type:Ln.TILES3D,lodMetricType:ht.GEOMETRIC_ERROR,lodMetricValue:n.root?.geometricError||0}}async function Fx(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await Fa(e,0,t,r,n.content),n.content}function Dx(e){return Cr.dirname(e)}var Bs=Br(dn(),1);var iu="https://api.cesium.com/v1/assets";async function xs(e,t){if(!t){let s=await Rx(e);for(let i of s.items)i.type==="3DTILES"&&(t=i.id)}let r=await Lx(e,t),n=r.type,o=r.options?.url||r.url;return z(n==="3DTILES"&&o),r.headers={Authorization:`Bearer ${r.accessToken||e}`},r}async function Rx(e){z(e);let t=iu,r={Authorization:`Bearer ${e}`},n=await(0,Bs.fetchFile)(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function Lx(e,t){z(e,t);let r={Authorization:`Bearer ${e}`},n=`${iu}/${t}`,o=await(0,Bs.fetchFile)(`${n}`,{headers:r});if(!o.ok)throw new Error(o.statusText);let s=await o.json();if(o=await(0,Bs.fetchFile)(`${n}/endpoint`,{headers:r}),!o.ok)throw new Error(o.statusText);let i=await o.json();return s={...s,...i},s}async function Ox(e,t={}){t=t["cesium-ion"]||{};let{accessToken:r}=t,n=t.assetId;if(!Number.isFinite(n)){let o=e.match(/\/([0-9]+)\/tileset.json/);n=o&&o[1]}return xs(r,n)}var Za={...tr,id:"cesium-ion",name:"Cesium Ion",preload:Ox,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=Za,tr.parse(e,t,r)),options:{"cesium-ion":{...tr.options["3d-tiles"],accessToken:null}}};function jn(e){return typeof e=="bigint"?e:BigInt(e)}function cu(e){let t=Number(e);if(!Number.isFinite(t))throw new Error("Offset is out of bounds");return t}function au(e,t){return e<0?Math.max(t+e,0):Math.min(e,t)}async function ie(e,t,r){let n=jn(t),s=jn(r)-n;if(s<0)throw new Error("Invalid range requested");return await e.read(n,cu(s))}async function nr(e,t,r){let n=await ie(e,t,r);return new DataView(n)}async function fu(e,t){return(await nr(e,t,jn(t)+2n)).getUint16(0,!0)}async function Ya(e,t){return(await nr(e,t,jn(t)+4n)).getUint32(0,!0)}async function Kn(e,t){return(await nr(e,t,jn(t)+8n)).getBigUint64(0,!0)}async function Zn(e){if(e.bigsize>0n)return e.bigsize;if(e.size>0)return BigInt(e.size);if(e.stat){let t=await e.stat();if(t?.bigsize!==void 0)return t.bigsize;if(t?.size!==void 0)return BigInt(t.size)}return 0n}var rr=class{handle;size;bigsize;url;constructor(t,r=""){this.handle=t,this.size=t.byteLength,this.bigsize=BigInt(t.byteLength),this.url=r}async close(){}async stat(){return{size:this.size,bigsize:this.bigsize,isDirectory:!1}}async read(t=0,r){let n=cu(t),o=r?n+r:this.size,s=au(n,this.size),i=au(o,this.size),f=Math.max(i,s)-s;return f<=0?new ArrayBuffer(0):Et(this.handle.buffer,s,f)}};var vx=1024,Yn=async(e,t)=>{let r=await Zn(e),n=new Uint8Array(await ie(e,r-3n,r+1n)),o=[n[3],n[2],n[1],void 0],s=-1,i=r-4n;do{let a=i;i-=BigInt(vx),i=i>=0n?i:0n;let f=new Uint8Array(await ie(e,i,a));for(let c=f.length-1;c>-1;c--)if(o[3]=o[2],o[2]=o[1],o[1]=o[0],o[0]=f[c],o.every((l,h)=>l===t[h])){s=c;break}}while(s===-1&&i>0n);return i+BigInt(s)};var lu=new Uint8Array([80,75,5,6]),hu=new Uint8Array([80,75,6,7]),uu=new Uint8Array([80,75,6,6]),Nx=8n;var Gx=12n,Ux=16n;var Px=8n,Hx=24n;var kx=40n,Jx=48n;var du=async e=>{let t=await Yn(e,lu),r=BigInt(await fu(e,t+Nx)),n=BigInt(await Ya(e,t+Gx)),o=BigInt(await Ya(e,t+Ux)),s=t-20n,i=0n,a=await ie(e,s,s+4n);if(xt(a,hu.buffer)){i=await Kn(e,s+Px);let f=await ie(e,i,i+4n);if(!xt(f,uu.buffer))throw new Error("zip64 EoCD not found");r=await Kn(e,i+Hx),n=await Kn(e,i+kx),o=await Kn(e,i+Jx)}else s=0n;return{cdRecordsNumber:r,cdStartOffset:o,cdByteSize:n,offsets:{zip64EoCDOffset:i,zip64EoCDLocatorOffset:s,zipEoCDOffset:t}}};var CD=[{offset:0,size:4,default:new DataView(lu.buffer).getUint32(0,!0)},{offset:4,size:2,default:0},{offset:6,size:2,default:0},{offset:8,size:2,name:"recordsNumber"},{offset:10,size:2,name:"recordsNumber"},{offset:12,size:4,name:"cdSize"},{offset:16,size:4,name:"cdOffset"},{offset:20,size:2,default:0}];var wD=[{offset:0,size:4,default:new DataView(hu.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],ID=[{offset:0,size:4,default:new DataView(uu.buffer).getUint32(0,!0)},{offset:4,size:8,default:44},{offset:12,size:2,default:45},{offset:14,size:2,default:45},{offset:16,size:4,default:0},{offset:20,size:4,default:0},{offset:24,size:8,name:"recordsNumber"},{offset:32,size:8,name:"recordsNumber"},{offset:40,size:8,name:"cdSize"},{offset:48,size:8,name:"cdOffset"}];var zx=20,Qx=24,Vx=28,jx=30,Kx=32,Zx=42,Es=46n,Xn=new Uint8Array([80,75,1,2]),Wn=async(e,t)=>{let r=await Zn(t);if(e>=r)return null;let n=await nr(t,e,e+Es),o=n.buffer.slice(0,4);if(!xt(o,Xn.buffer))return null;let s=BigInt(n.getUint32(zx,!0)),i=BigInt(n.getUint32(Qx,!0)),a=n.getUint16(jx,!0),f=BigInt(n.getUint16(Kx,!0)),c=n.getUint16(Vx,!0),l=await ie(t,e+Es,e+Es+BigInt(c+a)),h=l.slice(0,c),u=new TextDecoder().decode(h),d=e+Es+BigInt(c),m=n.getUint32(Zx,!0),A=BigInt(m),p=new DataView(l.slice(c,l.byteLength)),E={uncompressedSize:i,compressedSize:s,localHeaderOffset:A,startDisk:f},y=Yx(E,p);return{...E,...y,extraFieldLength:a,fileNameLength:c,fileName:u,extraOffset:d}};async function*Xr(e){let{cdStartOffset:t,cdByteSize:r}=await du(e),n=new rr(new DataView(await ie(e,t,t+r))),o=await Wn(0n,n);for(;o;)yield o,o=await Wn(o.extraOffset+BigInt(o.extraFieldLength),n)}var mu=(...e)=>e[0]+e[1]*16,Yx=(e,t)=>{let r=Wx(e),n={};if(r.length>0){let o=r.reduce((a,f)=>a+f.length,0),s=new Uint8Array(t.buffer).findIndex((a,f,c)=>mu(c[f],c[f+1])===1&&mu(c[f+2],c[f+3])===o),i=0;for(let a of r){let f=i;n[a.name]=t.getBigUint64(s+4+f,!0),i=f+a.length}}return n},Wx=e=>{let t=[];return e.uncompressedSize===BigInt(4294967295)&&t.push({name:"uncompressedSize",length:8}),e.compressedSize===BigInt(4294967295)&&t.push({name:"compressedSize",length:8}),e.localHeaderOffset===BigInt(4294967295)&&t.push({name:"localHeaderOffset",length:8}),e.startDisk===BigInt(4294967295)&&t.push({name:"startDisk",length:4}),t};var RD=[{offset:0,size:4,default:new DataView(Xn.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:45},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:2,default:0},{offset:16,size:4,name:"crc32"},{offset:20,size:4,name:"length"},{offset:24,size:4,name:"length"},{offset:28,size:2,name:"fnlength"},{offset:30,size:2,default:0,name:"extraLength"},{offset:32,size:2,default:0},{offset:34,size:2,default:0},{offset:36,size:2,default:0},{offset:38,size:4,default:0},{offset:42,size:4,name:"offset"}];var Xx=8,qx=18,$x=22,eE=26,tE=28,bs=30n,Wa=new Uint8Array([80,75,3,4]),or=async(e,t)=>{let r=await nr(t,e,e+bs),n=r.buffer.slice(0,4);if(!xt(n,Wa.buffer))return null;let o=r.getUint16(eE,!0),s=r.getUint16(tE,!0),i=await ie(t,e+bs,e+bs+BigInt(o+s)),a=i.slice(0,o),f=new DataView(i.slice(o,i.byteLength)),c=new TextDecoder().decode(a).split("\\").join("/"),l=e+bs+BigInt(o+s),h=r.getUint16(Xx,!0),u=BigInt(r.getUint32(qx,!0)),d=BigInt(r.getUint32($x,!0)),m=4;return d===BigInt(4294967295)&&(d=f.getBigUint64(m,!0),m+=8),u===BigInt(4294967295)&&(u=f.getBigUint64(m,!0),m+=8),l===BigInt(4294967295)&&(l=f.getBigUint64(m,!0)),{fileNameLength:o,fileName:c,extraFieldLength:s,fileDataOffset:l,compressedSize:u,compressionMethod:h}};var ND=[{offset:0,size:4,default:new DataView(Wa.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:0},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:4,name:"crc32"},{offset:18,size:4,name:"length"},{offset:22,size:4,name:"length"},{offset:26,size:2,name:"fnlength"},{offset:28,size:2,default:0,name:"extraLength"}];var ys=class{constructor(t={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(t,r="base64"){let n=[];for await(let i of t)n.push(i),yield i;let o=await this.concatenate(n),s=await this.hash(o,r);this.options.crypto?.onEnd?.({hash:s})}async concatenate(t){return await xn(t)}};function Au(e){e=`${e}`;for(let r=0;r<e.length;r++)if(e.charCodeAt(r)>255)return null;let t="";for(let r=0;r<e.length;r+=3){let n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(r)>>2,n[1]=(e.charCodeAt(r)&3)<<4,e.length>r+1&&(n[1]|=e.charCodeAt(r+1)>>4,n[2]=(e.charCodeAt(r+1)&15)<<2),e.length>r+2&&(n[2]|=e.charCodeAt(r+2)>>6,n[3]=e.charCodeAt(r+2)&63);for(let o=0;o<n.length;o++)typeof n[o]>"u"?t+="=":t+=rE(n[o])}return t}function rE(e){if(e<26)return String.fromCharCode(e+"A".charCodeAt(0));if(e<52)return String.fromCharCode(e-26+"a".charCodeAt(0));if(e<62)return String.fromCharCode(e-52+"0".charCodeAt(0));if(e===62)return"+";if(e===63)return"/"}function pu(e,t){switch(t){case"hex":return e;case"base64":return nE(e);default:throw new Error(t)}}function nE(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return Au(r)||""}var _s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",gu=fE("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"),Xa=typeof WebAssembly<"u"&&gu?gu.buffer:!1,$e=mE(),qa=240*16*16,Bu=Math.floor(qa*16*1.066666667),oE=268435456-65536,sE="Parameter must be ArrayBuffer, ArrayBufferView or string",iE="Parameter exceeds max size of 255.9 Mbytes";Xa||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function $a(e){var t,r,n,o,s,i,a,f,c,l;let h=cE(),u=aE(),d={},m=new Date().getTime();return d.then=function(y){return a=y,p(),d},d.catch=function(y){return f=y,d},i=dE(e),i||E(new TypeError(sE)),i&&(s=i.length,Xa&&s>Bu?s>oE?E(new Error(iE)):(t=new WebAssembly.Memory({initial:s>32e6?s>64e6?s>128e6?4096:2048:1024:512}),r=new Uint32Array(t.buffer),o={mem:t,log:console.log},n={imports:o},WebAssembly.instantiate(Xa,n).then(A)):p(h(i))),d;function A(y){p(u(i,y.instance.exports,r))}function p(y){var T=Boolean(y)?y:c;Boolean(y)&&(l=new Date().getTime()),typeof a=="function"?Boolean(T)&&(a(T,l-m),a=f=null):Boolean(y)&&(c=y)}function E(y){typeof f=="function"&&f(y)}}function aE(){var e,t,r,n,o,s,i,a,f,c,l,h,u,d=function(m){var A,p,E,y,T,C,_,I,M,L,B,g,x,b,U,G,P,v,ee,Be,X,st,hn=new Date().getTime(),gr=0,S=1732584193,F=-271733879,D=-1732584194,R=271733878,te=0,un=m.length*8,go;for(go=A0(m,u),u[un>>>5]|=128<<un%32,u[(un+64>>>9<<4)+14]=un,go=(un+64>>>9<<4)+15,X=u;te<go;)go>te+Bu?(n(S),s(F),a(D),c(R),t(qa),te=te+qa*16,S=r(),F=o(),D=i(),R=f(),gr++):(P=S,v=F,ee=D,Be=R,A=X[te+0]>>>0,p=X[te+1]>>>0,E=X[te+2]>>>0,y=X[te+3]>>>0,T=X[te+4]>>>0,C=X[te+5]>>>0,_=X[te+6]>>>0,I=X[te+7]>>>0,M=X[te+8]>>>0,L=X[te+9]>>>0,B=X[te+10]>>>0,g=X[te+11]>>>0,x=X[te+12]>>>0,b=X[te+13]>>>0,U=X[te+14]>>>0,G=X[te+15]>>>0,S=N(7,25,S+(F&D|~F&R)+A-680876936)+F,R=N(12,20,R+(S&F|~S&D)+p-389564586)+S,D=N(17,15,D+(R&S|~R&F)+E+606105819)+R,F=N(22,10,F+(D&R|~D&S)+y-1044525330)+D,S=N(7,25,S+(F&D|~F&R)+T-176418897)+F,R=N(12,20,R+(S&F|~S&D)+C+1200080426)+S,D=N(17,15,D+(R&S|~R&F)+_-1473231341)+R,F=N(22,10,F+(D&R|~D&S)+I-45705983)+D,S=N(7,25,S+(F&D|~F&R)+M+1770035416)+F,R=N(12,20,R+(S&F|~S&D)+L-1958414417)+S,D=N(17,15,D+(R&S|~R&F)+B-42063)+R,F=N(22,10,F+(D&R|~D&S)+g-1990404162)+D,S=N(7,25,S+(F&D|~F&R)+x+1804603682)+F,R=N(12,20,R+(S&F|~S&D)+b-40341101)+S,D=N(17,15,D+(R&S|~R&F)+U-1502002290)+R,F=N(22,10,F+(D&R|~D&S)+G+1236535329)+D,S=N(5,27,S+(F&R|D&~R)+p-165796510)+F,R=N(9,23,R+(S&D|F&~D)+_-1069501632)+S,D=N(14,18,D+(R&F|S&~F)+g+643717713)+R,F=N(20,12,F+(D&S|R&~S)+A-373897302)+D,S=N(5,27,S+(F&R|D&~R)+C-701558691)+F,R=N(9,23,R+(S&D|F&~D)+B+38016083)+S,D=N(14,18,D+(R&F|S&~F)+G-660478335)+R,F=N(20,12,F+(D&S|R&~S)+T-405537848)+D,S=N(5,27,S+(F&R|D&~R)+L+568446438)+F,R=N(9,23,R+(S&D|F&~D)+U-1019803690)+S,D=N(14,18,D+(R&F|S&~F)+y-187363961)+R,F=N(20,12,F+(D&S|R&~S)+M+1163531501)+D,S=N(5,27,S+(F&R|D&~R)+b-1444681467)+F,R=N(9,23,R+(S&D|F&~D)+E-51403784)+S,D=N(14,18,D+(R&F|S&~F)+I+1735328473)+R,F=N(20,12,F+(D&S|R&~S)+x-1926607734)+D,S=N(4,28,S+(F^D^R)+C-378558)+F,R=N(11,21,R+(S^F^D)+M-2022574463)+S,D=N(16,16,D+(R^S^F)+g+1839030562)+R,F=N(23,9,F+(D^R^S)+U-35309556)+D,S=N(4,28,S+(F^D^R)+p-1530992060)+F,R=N(11,21,R+(S^F^D)+T+1272893353)+S,D=N(16,16,D+(R^S^F)+I-155497632)+R,F=N(23,9,F+(D^R^S)+B-1094730640)+D,S=N(4,28,S+(F^D^R)+b+681279174)+F,R=N(11,21,R+(S^F^D)+A-358537222)+S,D=N(16,16,D+(R^S^F)+y-722521979)+R,F=N(23,9,F+(D^R^S)+_+76029189)+D,S=N(4,28,S+(F^D^R)+L-640364487)+F,R=N(11,21,R+(S^F^D)+x-421815835)+S,D=N(16,16,D+(R^S^F)+G+530742520)+R,F=N(23,9,F+(D^R^S)+E-995338651)+D,S=N(6,26,S+(D^(F|~R))+A-198630844)+F,R=N(10,22,R+(F^(S|~D))+I+1126891415)+S,D=N(15,17,D+(S^(R|~F))+U-1416354905)+R,F=N(21,11,F+(R^(D|~S))+C-57434055)+D,S=N(6,26,S+(D^(F|~R))+x+1700485571)+F,R=N(10,22,R+(F^(S|~D))+y-1894986606)+S,D=N(15,17,D+(S^(R|~F))+B-1051523)+R,F=N(21,11,F+(R^(D|~S))+p-2054922799)+D,S=N(6,26,S+(D^(F|~R))+M+1873313359)+F,R=N(10,22,R+(F^(S|~D))+G-30611744)+S,D=N(15,17,D+(S^(R|~F))+_-1560198380)+R,F=N(21,11,F+(R^(D|~S))+b+1309151649)+D,S=N(6,26,S+(D^(F|~R))+T-145523070)+F,R=N(10,22,R+(F^(S|~D))+g-1120210379)+S,D=N(15,17,D+(S^(R|~F))+E+718787259)+R,F=N(21,11,F+(R^(D|~S))+L-343485551)+D,te=te+16,S=S+P>>>0,F=F+v>>>0,D=D+ee>>>0,R=R+Be>>>0);return $e.endian([S,F,D,R]);function N(Ae,Bo,Ke){return Ke<<Ae|Ke>>>Bo}function A0(Ae,Bo){for(var Ke=-1,ks=Math.floor((Ae.length-1)/4),xe=0,Uc,Pc,Hc,kc;ks-8>Ke++;)xe=Ke<<2,Bo[Ke]=Ae[xe+0]|Ae[xe+1]<<8|Ae[xe+2]<<16|Ae[xe+3]<<24;for(Ke--;ks>Ke++;)xe=Ke<<2,Uc=typeof Ae[xe+0]>"u"?0:Ae[xe+0],Pc=typeof Ae[xe+1]>"u"?0:Ae[xe+1],Hc=typeof Ae[xe+2]>"u"?0:Ae[xe+2],kc=typeof Ae[xe+3]>"u"?0:Ae[xe+3],Bo[Ke]=Uc|Pc<<8|Hc<<16|kc<<24;return ks+1}};return function(m,A,p,E){var y;return t=A.loops,e=A.loop,r=A.getA,o=A.getB,i=A.getC,f=A.getD,l=A.getX,n=A.setA,s=A.setB,a=A.setC,c=A.setD,h=A.setX,u=p,y=$e.wordsToBytes(d(m)),E&&E.asBytes?y:$e.bytesconvertNumberToHex(y)}}function cE(){var e=function(t,r){var n,o,s,i,a,f,c,l,h,u,d,m,A,p,E,y,T,C,_,I,M,L=new Date().getTime(),B=1732584193,g=-271733879,x=-1732584194,b=271733878,U=t.length*8;M=$e.bytesToWords(t);for(var G=0;G<M.length;G++)M[G]=(M[G]<<8|M[G]>>>24)&16711935|(M[G]<<24|M[G]>>>8)&4278255360;M[U>>>5]|=128<<U%32,M[(U+64>>>9<<4)+14]=U;for(var P=0;P<M.length;P+=16)T=B,C=g,_=x,I=b,n=M[P+0]>>>0,o=M[P+1]>>>0,s=M[P+2]>>>0,i=M[P+3]>>>0,a=M[P+4]>>>0,f=M[P+5]>>>0,c=M[P+6]>>>0,l=M[P+7]>>>0,h=M[P+8]>>>0,u=M[P+9]>>>0,d=M[P+10]>>>0,m=M[P+11]>>>0,A=M[P+12]>>>0,p=M[P+13]>>>0,E=M[P+14]>>>0,y=M[P+15]>>>0,B=v(7,25,B+(g&x|~g&b)+n-680876936)+g,b=v(12,20,b+(B&g|~B&x)+o-389564586)+B,x=v(17,15,x+(b&B|~b&g)+s+606105819)+b,g=v(22,10,g+(x&b|~x&B)+i-1044525330)+x,B=v(7,25,B+(g&x|~g&b)+a-176418897)+g,b=v(12,20,b+(B&g|~B&x)+f+1200080426)+B,x=v(17,15,x+(b&B|~b&g)+c-1473231341)+b,g=v(22,10,g+(x&b|~x&B)+l-45705983)+x,B=v(7,25,B+(g&x|~g&b)+h+1770035416)+g,b=v(12,20,b+(B&g|~B&x)+u-1958414417)+B,x=v(17,15,x+(b&B|~b&g)+d-42063)+b,g=v(22,10,g+(x&b|~x&B)+m-1990404162)+x,B=v(7,25,B+(g&x|~g&b)+A+1804603682)+g,b=v(12,20,b+(B&g|~B&x)+p-40341101)+B,x=v(17,15,x+(b&B|~b&g)+E-1502002290)+b,g=v(22,10,g+(x&b|~x&B)+y+1236535329)+x,B=v(5,27,B+(g&b|x&~b)+o-165796510)+g,b=v(9,23,b+(B&x|g&~x)+c-1069501632)+B,x=v(14,18,x+(b&g|B&~g)+m+643717713)+b,g=v(20,12,g+(x&B|b&~B)+n-373897302)+x,B=v(5,27,B+(g&b|x&~b)+f-701558691)+g,b=v(9,23,b+(B&x|g&~x)+d+38016083)+B,x=v(14,18,x+(b&g|B&~g)+y-660478335)+b,g=v(20,12,g+(x&B|b&~B)+a-405537848)+x,B=v(5,27,B+(g&b|x&~b)+u+568446438)+g,b=v(9,23,b+(B&x|g&~x)+E-1019803690)+B,x=v(14,18,x+(b&g|B&~g)+i-187363961)+b,g=v(20,12,g+(x&B|b&~B)+h+1163531501)+x,B=v(5,27,B+(g&b|x&~b)+p-1444681467)+g,b=v(9,23,b+(B&x|g&~x)+s-51403784)+B,x=v(14,18,x+(b&g|B&~g)+l+1735328473)+b,g=v(20,12,g+(x&B|b&~B)+A-1926607734)+x,B=v(4,28,B+(g^x^b)+f-378558)+g,b=v(11,21,b+(B^g^x)+h-2022574463)+B,x=v(16,16,x+(b^B^g)+m+1839030562)+b,g=v(23,9,g+(x^b^B)+E-35309556)+x,B=v(4,28,B+(g^x^b)+o-1530992060)+g,b=v(11,21,b+(B^g^x)+a+1272893353)+B,x=v(16,16,x+(b^B^g)+l-155497632)+b,g=v(23,9,g+(x^b^B)+d-1094730640)+x,B=v(4,28,B+(g^x^b)+p+681279174)+g,b=v(11,21,b+(B^g^x)+n-358537222)+B,x=v(16,16,x+(b^B^g)+i-722521979)+b,g=v(23,9,g+(x^b^B)+c+76029189)+x,B=v(4,28,B+(g^x^b)+u-640364487)+g,b=v(11,21,b+(B^g^x)+A-421815835)+B,x=v(16,16,x+(b^B^g)+y+530742520)+b,g=v(23,9,g+(x^b^B)+s-995338651)+x,B=v(6,26,B+(x^(g|~b))+n-198630844)+g,b=v(10,22,b+(g^(B|~x))+l+1126891415)+B,x=v(15,17,x+(B^(b|~g))+E-1416354905)+b,g=v(21,11,g+(b^(x|~B))+f-57434055)+x,B=v(6,26,B+(x^(g|~b))+A+1700485571)+g,b=v(10,22,b+(g^(B|~x))+i-1894986606)+B,x=v(15,17,x+(B^(b|~g))+d-1051523)+b,g=v(21,11,g+(b^(x|~B))+o-2054922799)+x,B=v(6,26,B+(x^(g|~b))+h+1873313359)+g,b=v(10,22,b+(g^(B|~x))+y-30611744)+B,x=v(15,17,x+(B^(b|~g))+c-1560198380)+b,g=v(21,11,g+(b^(x|~B))+p+1309151649)+x,B=v(6,26,B+(x^(g|~b))+a-145523070)+g,b=v(10,22,b+(g^(B|~x))+m-1120210379)+B,x=v(15,17,x+(B^(b|~g))+s+718787259)+b,g=v(21,11,g+(b^(x|~B))+u-343485551)+x,B=B+T>>>0,g=g+C>>>0,x=x+_>>>0,b=b+I>>>0;return $e.endian([B,g,x,b]);function v(ee,Be,X){return X<<ee|X>>>Be}};return function(t,r){var n=$e.wordsToBytes(e(t,r)),o=r&&r.asBytes?n:$e.bytesconvertNumberToHex(n);return o}}function fE(e){try{return lE(e)}catch{return null}}function lE(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");return typeof atob=="function"?uE(atob(t)):hE(t)}function hE(e){for(var t=e.endsWith("==")?2:e.endsWith("=")?1:0,r=e.length*3/4-t,n=new Uint8Array(r),o=0,s=0,i,a,f,c;s<e.length;){if(i=_s.indexOf(e.charAt(s++)),a=_s.indexOf(e.charAt(s++)),f=_s.indexOf(e.charAt(s++)),c=_s.indexOf(e.charAt(s++)),i<0||a<0||f<0||c<0)throw new TypeError("Invalid base64 input");n[o++]=i<<2|a>>4,f<64&&o<r&&(n[o++]=(a&15)<<4|f>>2),c<64&&o<r&&(n[o++]=(f&3)<<6|c)}return n}function uE(e){for(var t=e.length,r=new Uint8Array(t),n=0;n<t;)r[n]=e.charCodeAt(n),n++;return r}function dE(e){return e instanceof Uint8Array?e:typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer?new Uint8Array(e):e&&typeof e=="object"&&ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):typeof e=="string"?new TextEncoder().encode(e):null}function mE(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return $e.rotl(t,8)&16711935|$e.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=$e.endian(t[r]);return t},bytesToWords:function(t){for(var r=[],n=0,o=0;n<t.length;n++,o+=8)r[o>>>5]|=t[n]<<24-o%32;return r},wordsToBytes:function(t){for(var r=[],n=0;n<t.length*32;n+=8)r.push(t[n>>>5]>>>24-n%32&255);return r},bytesconvertNumberToHex:function(t){for(var r=[],n=0;n<t.length;n++)r.push((t[n]>>>4).toString(16)),r.push((t[n]&15).toString(16));return r.join("")}}}var sr=class extends ys{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let o=await new Promise((s,i)=>$a(t).then(s).catch(i));return pu(o,r)}};var qr=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(t={}){An(t)}async compress(t){return await this.preload(),this.compressSync(t)}async decompress(t,r){return await this.preload(),this.decompressSync(t,r)}compressSync(t){throw new Error(`${this.name}: sync compression not supported`)}decompressSync(t,r){throw new Error(`${this.name}: sync decompression not supported`)}async*compressBatches(t){let r=await this.concatenate(t);yield this.compress(r)}async*decompressBatches(t){let r=await this.concatenate(t);yield this.decompress(r)}concatenate(t){return xn(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var qn=class extends qr{name="uncompressed";extensions=[];contentEncodings=[];isSupported=!0;options;constructor(t){super(t),this.options=t||{}}compressSync(t){return t}decompressSync(t){return t}async*compressBatches(t){return yield*t}async*decompressBatches(t){return yield*t}};var mr=Br(s0(),1),Bt=Br(i0(),1),Ar=class extends qr{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){if(!Ee&&this.options.deflate?.useZlib){let r=this.options.deflate?.gzip?await Tr(Bt.default.gzip)(t):await Tr(Bt.default.deflate)(t);return bt(r)}return this.compressSync(t)}async decompress(t){if(!Ee&&this.options.deflate?.useZlib){let r=this.options.deflate?.gzip?await Tr(Bt.default.gunzip)(t):await Tr(Bt.default.inflate)(t);return bt(r)}return this.decompressSync(t)}compressSync(t){if(!Ee&&this.options.deflate?.useZlib){let s=this.options.deflate?.gzip?Bt.default.gzipSync(t):Bt.default.deflateSync(t);return bt(s)}let r=this.options?.deflate||{},n=new Uint8Array(t),o=this.options?.raw?mr.default.deflateRaw:mr.default.deflate;return bt(o(n,r).buffer)}decompressSync(t){if(!Ee&&this.options.deflate?.useZlib){let s=this.options.deflate?.gzip?Bt.default.gunzipSync(t):Bt.default.inflateSync(t);return bt(s)}let r=this.options?.deflate||{},n=new Uint8Array(t),o=this.options?.raw?mr.default.inflateRaw:mr.default.inflate;return bt(o(n,r).buffer)}async*compressBatches(t){let r=this.options?.deflate||{},n=new mr.default.Deflate(r);yield*this.transformBatches(n,t)}async*decompressBatches(t){let r=this.options?.deflate||{},n=new mr.default.Inflate(r);yield*this.transformBatches(n,t)}async*transformBatches(t,r){t.onData=this._onData.bind(this),t.onEnd=this._onEnd.bind(this);for await(let i of r){let a=new Uint8Array(i);if(!t.push(a,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}let n=new Uint8Array(0),o=t.push(n,!0);yield*this._getChunks()}_onData(t){this._chunks.push(t)}_onEnd(t){if(t!==0)throw new Error(this._getError(t)+this._chunks.length)}_getChunks(){let t=this._chunks;return this._chunks=[],t}_getError(t=0){let r={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}: ${r[t]}`}};var ab={0:async e=>e,8:async e=>await new Ar({raw:!0}).decompress(e)},Hs=class{file=null;fileName;archive=null;constructor(t){if(typeof t=="string"){if(this.fileName=t,Ee)throw new Error("ZipFileSystem cannot open file paths in browser environments");this.file=new _n(t)}else t instanceof Blob||t instanceof ArrayBuffer?this.file=new bn(t):t instanceof pr?(this.file=t.file,this.archive=t,this.fileName=t.fileName):this.file=t}async destroy(){this.file&&await this.file.close()}async readdir(){if(!this.file)throw new Error("No data detected in the zip archive");let t=[],r=Xr(this.file);for await(let n of r)t.push(n.fileName);return t}async stat(t){let r=await this.getCDFileHeader(t);return{...r,size:Number(r.uncompressedSize)}}async fetch(t){this.fileName&&t.indexOf(this.fileName)===0&&(t=t.substring(this.fileName.length+1));let r;if(this.archive)r=await this.archive.getFile(t,"http");else{if(!this.file)throw new Error("No data detected in the zip archive");let o=await this.getCDFileHeader(t),s=await or(o.localHeaderOffset,this.file);if(!s)throw new Error("Local file header has not been found in the zip archive`");let i=ab[s.compressionMethod.toString()];if(!i)throw Error("Only Deflation compression is supported");let a=await ie(this.file,s.fileDataOffset,s.fileDataOffset+s.compressedSize);r=await i(a)}let n=new Response(r);return Object.defineProperty(n,"url",{value:t?`${this.fileName||""}/${t}`:this.fileName||""}),n}async getCDFileHeader(t){if(!this.file)throw new Error("No data detected in the zip archive");let r=Xr(this.file),n=null;for await(let o of r)if(o.fileName===t){n=o;break}if(!n)throw new Error("File has not been found in the zip archive");return n}};var pr=class{file;fileName;constructor(t,r,n){this.file=t,this.fileName=n}async getFileWithoutHash(t){return await(await new Hs(this.file).fetch(t)).arrayBuffer()}};function Oc(e){let t=new DataView(e),r={};for(let n=0;n<e.byteLength;n=n+24){let o=t.getBigUint64(n+16,!0),s=cb(e,n,16);r[s]=o}return r}function cb(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function vc(e){let t=Xr(e);return fb(t)}async function fb(e){let t=new sr,r=new TextEncoder,n={};for await(let o of e){let s=o.fileName.split("\\").join("/").toLocaleLowerCase(),i=r.encode(s).buffer,a=await t.hash(i,"hex");n[a]=o.localHeaderOffset}return n}var lb={0:e=>new qn().decompress(e),8:e=>new Ar({raw:!0}).decompress(e)},ln=class extends pr{hashTable;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!r)throw new Error(`No such file in the archive: ${t}`);return r}async getFileBytes(t){let r;if(this.hashTable){let n=new TextEncoder().encode(t).buffer,o=await new sr().hash(n,"hex"),s=this.hashTable[o];if(s===void 0)return null;let i=await or(s,this.file);if(!i)return null;let a=await ie(this.file,i.fileDataOffset,i.fileDataOffset+i.compressedSize),f=lb[i.compressionMethod];if(!f)throw Error("Only Deflation compression is supported");r=await f(a)}else r=await this.getFileWithoutHash(t);return r}};var a0=async(e,t)=>{let r=await Yn(e,Xn),n=await Wn(r,e),o;if(n?.fileName!=="@3dtilesIndex1@")o=await vc(e),t?.("3tz doesnt contain hash file, hash info has been composed according to zip archive headers");else{let s=await or(n.localHeaderOffset,e);if(!s)throw new Error("corrupted 3tz zip archive");let i=s.fileDataOffset,a=await ie(e,i,i+s.compressedSize);o=Oc(a)}return new ln(e,o)};var hb="4.4.2",c0={dataType:null,batchType:null,name:"3tz",id:"3tz",module:"3d-tiles",version:hb,mimeTypes:["application/octet-stream","application/vnd.maxar.archive.3tz+zip"],parse:ub,extensions:["3tz"],options:{}};async function ub(e,t={}){return(await a0(new rr(new DataView(e)))).getFile(t["3d-tiles-archive"]?.path??"")}function Ht(e,t,r){if(!t)return r+12;let{magic:o,version:s=1,byteLength:i=12}=e;return z(Array.isArray(o)&&Number.isFinite(s)&&Number.isFinite(i)),t.setUint8(r+0,o[0]),t.setUint8(r+1,o[1]),t.setUint8(r+2,o[2]),t.setUint8(r+3,o[3]),t.setUint32(r+4,s,!0),t.setUint32(r+8,i,!0),r+=12,r}function kt(e,t,r){e&&e.setUint32(t+8,r,!0)}function f0(e,t,r,n,o){e={magic:Ft.COMPOSITE,tiles:[],...e};let s=r;r+=Ht(e,t,r),t&&t.setUint32(r,e.tiles.length,!0),r+=4;for(let i=0;i<e.tiles.length;++i)r+=o(e.tiles[i],t,r,n);return kt(t,s,r-s),r}function l0(e,t,r,n){let{featuresLength:o=0,batchTable:s}=e,a=JSON.stringify({BATCH_LENGTH:o}),f=s?JSON.stringify(s):"",c=Ce(a.length,8),l=f?Ce(f.length,8):0;e={magic:Ft.BATCHED_MODEL,...e};let h=r;r=Ht(e,t,r),t&&(t.setUint32(12,c,!0),t.setUint32(16,0,!0),t.setUint32(20,l,!0),t.setUint32(24,0,!0)),r+=16,r=Io(t,r,a,8),s&&(r=Io(t,r,f,8));let u=e.gltfEncoded;return u&&(r=Bn(t,r,u,u.byteLength)),kt(t,h,r-h),r}function h0(e,t,r,n){let{featuresLength:o=1,gltfFormat:s=1,gltfUri:i=""}=e,a=i.length,f={INSTANCES_LENGTH:o,POSITION:new Array(o*3).fill(0)},c=JSON.stringify(f),l=c.length;e={magic:Ft.INSTANCED_MODEL,...e};let h=r;return r=Ht(e,t,0),t&&(t.setUint32(12,l,!0),t.setUint32(16,0,!0),t.setUint32(20,0,!0),t.setUint32(24,0,!0),t.setUint32(28,s,!0)),r+=20,r+=_r(t,r,c,l),r+=_r(t,r,i,a),kt(t,h,r-h),r}var db={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function u0(e,t,r,n){let{featureTableJson:o=db}=e,s=JSON.stringify(o);s=Xs(s,4);let{featureTableJsonByteLength:i=s.length}=e,a=new ArrayBuffer(12),f=a.byteLength;e={magic:Ft.POINT_CLOUD,...e};let c=r;return r+=Ht(e,t,0),t&&(t.setUint32(r+0,i,!0),t.setUint32(r+4,f,!0),t.setUint32(r+8,0,!0),t.setUint32(r+12,0,!0)),r+=16,r+=_r(t,r,s,i),r+=Bn(t,r,a,f),kt(t,c,r-c),r}function Gc(e,t){let r=Nc(e,null,0,t),n=new ArrayBuffer(r),o=new DataView(n);return Nc(e,o,0,t),n}function Nc(e,t,r,n){switch(z(typeof e.type=="string"),e.type){case be.COMPOSITE:return f0(e,t,r,n,Nc);case be.POINT_CLOUD:return u0(e,t,r,n);case be.BATCHED_3D_MODEL:return l0(e,t,r,n);case be.INSTANCED_3D_MODEL:return h0(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var m0={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:Rr,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>d0(e,t),encodeSync:d0};function d0(e,t){return Gc(e,t)}return b0(po);})();
8
8
  /*! Bundled license information:
9
9
 
10
10
  long/index.js: