@jdultra/threedtiles 14.0.19 → 14.0.20

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.
@@ -1,21 +1,21 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("three");var cI=typeof document<"u"?document.currentScript:null;function ma(B){const A=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(B){for(const g in B)if(g!=="default"){const I=Object.getOwnPropertyDescriptor(B,g);Object.defineProperty(A,g,I.get?I:{enumerable:!0,get:()=>B[g]})}}return A.default=B,Object.freeze(A)}const W=ma(d),rg=new d.Matrix3,kA=new d.Vector3,jQ=new d.Vector3,qQ=new d.Box3;new d.Matrix4,new d.Matrix4;const qB=new d.Ray;class cg{constructor(A){this.isOBB=!0,this.center=new d.Vector3(A[0],A[1],A[2]),this.e1=new d.Vector3(A[3],A[4],A[5]),this.e2=new d.Vector3(A[6],A[7],A[8]),this.e3=new d.Vector3(A[9],A[10],A[11]),this.halfSize=new d.Vector3(this.e1.length(),this.e2.length(),this.e3.length()),this.e1.normalize();const g=this.e2.dot(this.e1);this.e2.addScaledVector(this.e1,-g).normalize(),this.e3.copy(this.e1).cross(this.e2),this.e3.lengthSq()===0?(this.e2.set(0,1,0),Math.abs(this.e1.y)>.999&&this.e2.set(1,0,0),this.e2.addScaledVector(this.e1,-this.e2.dot(this.e1)).normalize(),this.e3.copy(this.e1).cross(this.e2)):this.e3.normalize(),this.rotationMatrix=new d.Matrix3,this.rotationMatrix.set(this.e1.x,this.e2.x,this.e3.x,this.e1.y,this.e2.y,this.e3.y,this.e1.z,this.e2.z,this.e3.z)}copy(A){this.center.copy(A.center),this.rotationMatrix.copy(A.rotationMatrix),this.halfSize.copy(A.halfSize),this.e1.copy(A.e1),this.e2.copy(A.e2),this.e3.copy(A.e3)}getSize(A){return A.copy(this.halfSize).multiplyScalar(2)}applyMatrix4(A){const g=A.elements;let I=kA.set(g[0],g[1],g[2]).length(),Q=kA.set(g[4],g[5],g[6]).length(),C=kA.set(g[8],g[9],g[10]).length();rg.setFromMatrix4(A);const E=I!==0?1/I:0,a=Q!==0?1/Q:0,i=C!==0?1/C:0;return rg.elements[0]*=E,rg.elements[1]*=E,rg.elements[2]*=E,rg.elements[3]*=a,rg.elements[4]*=a,rg.elements[5]*=a,rg.elements[6]*=i,rg.elements[7]*=i,rg.elements[8]*=i,this.rotationMatrix.premultiply(rg),this.halfSize.x*=Math.abs(I),this.halfSize.y*=Math.abs(Q),this.halfSize.z*=Math.abs(C),this.center.applyMatrix4(A),this.rotationMatrix.extractBasis(this.e1,this.e2,this.e3),this}intersectRay(A,g){this.getSize(jQ),qQ.setFromCenterAndSize(kA.set(0,0,0),jQ);const I=rg.copy(this.rotationMatrix).transpose();return qB.origin.copy(A.origin).sub(this.center).applyMatrix3(I),qB.direction.copy(A.direction).applyMatrix3(I).normalize(),qB.intersectBox(qQ,g)?g.applyMatrix3(this.rotationMatrix).add(this.center):null}clampPoint(A,g){kA.copy(A).sub(this.center);const I=kA.dot(this.e1),Q=kA.dot(this.e2),C=kA.dot(this.e3),E=Math.max(-this.halfSize.x,Math.min(this.halfSize.x,I)),a=Math.max(-this.halfSize.y,Math.min(this.halfSize.y,Q)),i=Math.max(-this.halfSize.z,Math.min(this.halfSize.z,C));return g.copy(this.center).addScaledVector(this.e1,E).addScaledVector(this.e2,a).addScaledVector(this.e3,i)}intersectsSphere(A){return this.clampPoint(A.center,kA),kA.distanceToSquared(A.center)<=A.radius*A.radius}intersectsOBB(A,g=Number.EPSILON){const I=[this.e1,this.e2,this.e3],Q=[A.e1,A.e2,A.e3],C=[this.halfSize.x,this.halfSize.y,this.halfSize.z],E=[A.halfSize.x,A.halfSize.y,A.halfSize.z],a=[[0,0,0],[0,0,0],[0,0,0]],i=[[0,0,0],[0,0,0],[0,0,0]];for(let s=0;s<3;++s)for(let n=0;n<3;++n)a[s][n]=I[s].dot(Q[n]),i[s][n]=Math.abs(a[s][n])+g;kA.subVectors(A.center,this.center);const t=[kA.dot(I[0]),kA.dot(I[1]),kA.dot(I[2])];let e,o;for(let s=0;s<3;++s)if(e=C[s],o=E[0]*i[s][0]+E[1]*i[s][1]+E[2]*i[s][2],Math.abs(t[s])>e+o)return!1;for(let s=0;s<3;++s)if(e=C[0]*i[0][s]+C[1]*i[1][s]+C[2]*i[2][s],o=E[s],Math.abs(t[0]*a[0][s]+t[1]*a[1][s]+t[2]*a[2][s])>e+o)return!1;return e=C[1]*i[2][0]+C[2]*i[1][0],o=E[1]*i[0][2]+E[2]*i[0][1],!(Math.abs(t[2]*a[1][0]-t[1]*a[2][0])>e+o)&&(e=C[1]*i[2][1]+C[2]*i[1][1],o=E[0]*i[0][2]+E[2]*i[0][0],!(Math.abs(t[2]*a[1][1]-t[1]*a[2][1])>e+o)&&(e=C[1]*i[2][2]+C[2]*i[1][2],o=E[0]*i[0][1]+E[1]*i[0][0],!(Math.abs(t[2]*a[1][2]-t[1]*a[2][2])>e+o)&&(e=C[0]*i[2][0]+C[2]*i[0][0],o=E[1]*i[1][2]+E[2]*i[1][1],!(Math.abs(t[0]*a[2][0]-t[2]*a[0][0])>e+o)&&(e=C[0]*i[2][1]+C[2]*i[0][1],o=E[0]*i[1][2]+E[2]*i[1][0],!(Math.abs(t[0]*a[2][1]-t[2]*a[0][1])>e+o)&&(e=C[0]*i[2][2]+C[2]*i[0][2],o=E[0]*i[1][1]+E[1]*i[1][0],!(Math.abs(t[0]*a[2][2]-t[2]*a[0][2])>e+o)&&(e=C[0]*i[1][0]+C[1]*i[0][0],o=E[1]*i[2][2]+E[2]*i[2][1],!(Math.abs(t[1]*a[0][0]-t[0]*a[1][0])>e+o)&&(e=C[0]*i[1][1]+C[1]*i[0][1],o=E[0]*i[2][2]+E[2]*i[2][0],!(Math.abs(t[1]*a[0][1]-t[0]*a[1][1])>e+o)&&(e=C[0]*i[1][2]+C[1]*i[0][2],o=E[0]*i[2][1]+E[1]*i[2][0],!(Math.abs(t[1]*a[0][2]-t[0]*a[1][2])>e+o)))))))))}intersectsRay(A){return this.intersectRay(A,kA)!==null}insidePlane(A){const g=A.normal,I=g.length();if(I===0)return!0;const Q=kA.copy(g).multiplyScalar(1/I),C=this.halfSize.x*Math.abs(Q.dot(this.e1))+this.halfSize.y*Math.abs(Q.dot(this.e2))+this.halfSize.z*Math.abs(Q.dot(this.e3));return g.dot(this.center)+A.constant>=-C*I}inFrustum(A){for(let g=0;g<6;g++){const I=A.planes[g];if(!this.insidePlane(I))return!1}return!0}distanceToPoint(A){kA.copy(A),kA.sub(this.center);const g=rg.copy(this.rotationMatrix).transpose();kA.applyMatrix3(g);let I=Math.max(0,Math.max(-this.halfSize.x-kA.x,kA.x-this.halfSize.x)),Q=Math.max(0,Math.max(-this.halfSize.y-kA.y,kA.y-this.halfSize.y)),C=Math.max(0,Math.max(-this.halfSize.z-kA.z,kA.z-this.halfSize.z));return Math.sqrt(I*I+Q*Q+C*C)}helper(){const A=this.halfSize,g=this.center,I=this.e1,Q=this.e2,C=this.e3,E=[new d.Vector3().copy(g).add(I.clone().multiplyScalar(A.x)).add(Q.clone().multiplyScalar(A.y)).add(C.clone().multiplyScalar(A.z)),new d.Vector3().copy(g).add(I.clone().multiplyScalar(-A.x)).add(Q.clone().multiplyScalar(A.y)).add(C.clone().multiplyScalar(A.z)),new d.Vector3().copy(g).add(I.clone().multiplyScalar(-A.x)).add(Q.clone().multiplyScalar(-A.y)).add(C.clone().multiplyScalar(A.z)),new d.Vector3().copy(g).add(I.clone().multiplyScalar(A.x)).add(Q.clone().multiplyScalar(-A.y)).add(C.clone().multiplyScalar(A.z)),new d.Vector3().copy(g).add(I.clone().multiplyScalar(A.x)).add(Q.clone().multiplyScalar(A.y)).add(C.clone().multiplyScalar(-A.z)),new d.Vector3().copy(g).add(I.clone().multiplyScalar(-A.x)).add(Q.clone().multiplyScalar(A.y)).add(C.clone().multiplyScalar(-A.z)),new d.Vector3().copy(g).add(I.clone().multiplyScalar(-A.x)).add(Q.clone().multiplyScalar(-A.y)).add(C.clone().multiplyScalar(-A.z)),new d.Vector3().copy(g).add(I.clone().multiplyScalar(A.x)).add(Q.clone().multiplyScalar(-A.y)).add(C.clone().multiplyScalar(-A.z))],a=new d.BufferGeometry().setFromPoints(E);a.setIndex([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),a.computeBoundingSphere();const i=new d.LineBasicMaterial({color:16711680}),t=new d.LineSegments(a,i);return t.dispose=()=>{i.dispose(),a.dispose()},t}}/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("three");var cI=typeof document<"u"?document.currentScript:null;function LE(B){const A=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(B){for(const g in B)if(g!=="default"){const I=Object.getOwnPropertyDescriptor(B,g);Object.defineProperty(A,g,I.get?I:{enumerable:!0,get:()=>B[g]})}}return A.default=B,Object.freeze(A)}const x=LE(b),cg=new b.Matrix3,kA=new b.Vector3,qQ=new b.Vector3,vQ=new b.Box3;new b.Matrix4,new b.Matrix4;const vB=new b.Ray;class ig{constructor(A){this.isOBB=!0,this.center=new b.Vector3(A[0],A[1],A[2]),this.e1=new b.Vector3(A[3],A[4],A[5]),this.e2=new b.Vector3(A[6],A[7],A[8]),this.e3=new b.Vector3(A[9],A[10],A[11]),this.halfSize=new b.Vector3(this.e1.length(),this.e2.length(),this.e3.length()),this.e1.normalize();const g=this.e2.dot(this.e1);this.e2.addScaledVector(this.e1,-g).normalize(),this.e3.copy(this.e1).cross(this.e2),this.e3.lengthSq()===0?(this.e2.set(0,1,0),Math.abs(this.e1.y)>.999&&this.e2.set(1,0,0),this.e2.addScaledVector(this.e1,-this.e2.dot(this.e1)).normalize(),this.e3.copy(this.e1).cross(this.e2)):this.e3.normalize(),this.rotationMatrix=new b.Matrix3,this.rotationMatrix.set(this.e1.x,this.e2.x,this.e3.x,this.e1.y,this.e2.y,this.e3.y,this.e1.z,this.e2.z,this.e3.z)}copy(A){this.center.copy(A.center),this.rotationMatrix.copy(A.rotationMatrix),this.halfSize.copy(A.halfSize),this.e1.copy(A.e1),this.e2.copy(A.e2),this.e3.copy(A.e3)}getSize(A){return A.copy(this.halfSize).multiplyScalar(2)}applyMatrix4(A){const g=A.elements;let I=kA.set(g[0],g[1],g[2]).length(),Q=kA.set(g[4],g[5],g[6]).length(),C=kA.set(g[8],g[9],g[10]).length();cg.setFromMatrix4(A);const a=I!==0?1/I:0,E=Q!==0?1/Q:0,i=C!==0?1/C:0;return cg.elements[0]*=a,cg.elements[1]*=a,cg.elements[2]*=a,cg.elements[3]*=E,cg.elements[4]*=E,cg.elements[5]*=E,cg.elements[6]*=i,cg.elements[7]*=i,cg.elements[8]*=i,this.rotationMatrix.premultiply(cg),this.halfSize.x*=Math.abs(I),this.halfSize.y*=Math.abs(Q),this.halfSize.z*=Math.abs(C),this.center.applyMatrix4(A),this.rotationMatrix.extractBasis(this.e1,this.e2,this.e3),this}intersectRay(A,g){this.getSize(qQ),vQ.setFromCenterAndSize(kA.set(0,0,0),qQ);const I=cg.copy(this.rotationMatrix).transpose();return vB.origin.copy(A.origin).sub(this.center).applyMatrix3(I),vB.direction.copy(A.direction).applyMatrix3(I).normalize(),vB.intersectBox(vQ,g)?g.applyMatrix3(this.rotationMatrix).add(this.center):null}clampPoint(A,g){kA.copy(A).sub(this.center);const I=kA.dot(this.e1),Q=kA.dot(this.e2),C=kA.dot(this.e3),a=Math.max(-this.halfSize.x,Math.min(this.halfSize.x,I)),E=Math.max(-this.halfSize.y,Math.min(this.halfSize.y,Q)),i=Math.max(-this.halfSize.z,Math.min(this.halfSize.z,C));return g.copy(this.center).addScaledVector(this.e1,a).addScaledVector(this.e2,E).addScaledVector(this.e3,i)}intersectsSphere(A){return this.clampPoint(A.center,kA),kA.distanceToSquared(A.center)<=A.radius*A.radius}intersectsOBB(A,g=Number.EPSILON){const I=[this.e1,this.e2,this.e3],Q=[A.e1,A.e2,A.e3],C=[this.halfSize.x,this.halfSize.y,this.halfSize.z],a=[A.halfSize.x,A.halfSize.y,A.halfSize.z],E=[[0,0,0],[0,0,0],[0,0,0]],i=[[0,0,0],[0,0,0],[0,0,0]];for(let s=0;s<3;++s)for(let n=0;n<3;++n)E[s][n]=I[s].dot(Q[n]),i[s][n]=Math.abs(E[s][n])+g;kA.subVectors(A.center,this.center);const t=[kA.dot(I[0]),kA.dot(I[1]),kA.dot(I[2])];let e,o;for(let s=0;s<3;++s)if(e=C[s],o=a[0]*i[s][0]+a[1]*i[s][1]+a[2]*i[s][2],Math.abs(t[s])>e+o)return!1;for(let s=0;s<3;++s)if(e=C[0]*i[0][s]+C[1]*i[1][s]+C[2]*i[2][s],o=a[s],Math.abs(t[0]*E[0][s]+t[1]*E[1][s]+t[2]*E[2][s])>e+o)return!1;return e=C[1]*i[2][0]+C[2]*i[1][0],o=a[1]*i[0][2]+a[2]*i[0][1],!(Math.abs(t[2]*E[1][0]-t[1]*E[2][0])>e+o)&&(e=C[1]*i[2][1]+C[2]*i[1][1],o=a[0]*i[0][2]+a[2]*i[0][0],!(Math.abs(t[2]*E[1][1]-t[1]*E[2][1])>e+o)&&(e=C[1]*i[2][2]+C[2]*i[1][2],o=a[0]*i[0][1]+a[1]*i[0][0],!(Math.abs(t[2]*E[1][2]-t[1]*E[2][2])>e+o)&&(e=C[0]*i[2][0]+C[2]*i[0][0],o=a[1]*i[1][2]+a[2]*i[1][1],!(Math.abs(t[0]*E[2][0]-t[2]*E[0][0])>e+o)&&(e=C[0]*i[2][1]+C[2]*i[0][1],o=a[0]*i[1][2]+a[2]*i[1][0],!(Math.abs(t[0]*E[2][1]-t[2]*E[0][1])>e+o)&&(e=C[0]*i[2][2]+C[2]*i[0][2],o=a[0]*i[1][1]+a[1]*i[1][0],!(Math.abs(t[0]*E[2][2]-t[2]*E[0][2])>e+o)&&(e=C[0]*i[1][0]+C[1]*i[0][0],o=a[1]*i[2][2]+a[2]*i[2][1],!(Math.abs(t[1]*E[0][0]-t[0]*E[1][0])>e+o)&&(e=C[0]*i[1][1]+C[1]*i[0][1],o=a[0]*i[2][2]+a[2]*i[2][0],!(Math.abs(t[1]*E[0][1]-t[0]*E[1][1])>e+o)&&(e=C[0]*i[1][2]+C[1]*i[0][2],o=a[0]*i[2][1]+a[1]*i[2][0],!(Math.abs(t[1]*E[0][2]-t[0]*E[1][2])>e+o)))))))))}intersectsRay(A){return this.intersectRay(A,kA)!==null}insidePlane(A){const g=A.normal,I=g.length();if(I===0)return!0;const Q=kA.copy(g).multiplyScalar(1/I),C=this.halfSize.x*Math.abs(Q.dot(this.e1))+this.halfSize.y*Math.abs(Q.dot(this.e2))+this.halfSize.z*Math.abs(Q.dot(this.e3));return g.dot(this.center)+A.constant>=-C*I}inFrustum(A){for(let g=0;g<6;g++){const I=A.planes[g];if(!this.insidePlane(I))return!1}return!0}distanceToPoint(A){kA.copy(A),kA.sub(this.center);const g=cg.copy(this.rotationMatrix).transpose();kA.applyMatrix3(g);let I=Math.max(0,Math.max(-this.halfSize.x-kA.x,kA.x-this.halfSize.x)),Q=Math.max(0,Math.max(-this.halfSize.y-kA.y,kA.y-this.halfSize.y)),C=Math.max(0,Math.max(-this.halfSize.z-kA.z,kA.z-this.halfSize.z));return Math.sqrt(I*I+Q*Q+C*C)}helper(){const A=this.halfSize,g=this.center,I=this.e1,Q=this.e2,C=this.e3,a=[new b.Vector3().copy(g).add(I.clone().multiplyScalar(A.x)).add(Q.clone().multiplyScalar(A.y)).add(C.clone().multiplyScalar(A.z)),new b.Vector3().copy(g).add(I.clone().multiplyScalar(-A.x)).add(Q.clone().multiplyScalar(A.y)).add(C.clone().multiplyScalar(A.z)),new b.Vector3().copy(g).add(I.clone().multiplyScalar(-A.x)).add(Q.clone().multiplyScalar(-A.y)).add(C.clone().multiplyScalar(A.z)),new b.Vector3().copy(g).add(I.clone().multiplyScalar(A.x)).add(Q.clone().multiplyScalar(-A.y)).add(C.clone().multiplyScalar(A.z)),new b.Vector3().copy(g).add(I.clone().multiplyScalar(A.x)).add(Q.clone().multiplyScalar(A.y)).add(C.clone().multiplyScalar(-A.z)),new b.Vector3().copy(g).add(I.clone().multiplyScalar(-A.x)).add(Q.clone().multiplyScalar(A.y)).add(C.clone().multiplyScalar(-A.z)),new b.Vector3().copy(g).add(I.clone().multiplyScalar(-A.x)).add(Q.clone().multiplyScalar(-A.y)).add(C.clone().multiplyScalar(-A.z)),new b.Vector3().copy(g).add(I.clone().multiplyScalar(A.x)).add(Q.clone().multiplyScalar(-A.y)).add(C.clone().multiplyScalar(-A.z))],E=new b.BufferGeometry().setFromPoints(a);E.setIndex([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),E.computeBoundingSphere();const i=new b.LineBasicMaterial({color:16711680}),t=new b.LineSegments(E,i);return t.dispose=()=>{i.dispose(),E.dispose()},t}}/**
2
2
  * @copyright 2021 Aaron Zhao <yujianzhao2013@gmail.com>
3
3
  * @license MIT
4
4
  * Linked hash map data structure
5
5
  * @class LinkedHashMap
6
- */class VC{constructor(){this._data=new Map,this._link=new Map,this._head=void 0,this._tail=void 0}put(A,g,I=!1){this.has(A)?this._data.set(A,g):(this._data.set(A,g),this._link.set(A,{previous:void 0,next:void 0}),this._head==null?(this._head=A,this._tail=A):I?(this._link.get(this._head).previous=A,this._link.get(A).next=this._head,this._head=A):(this._link.get(this._tail).next=A,this._link.get(A).previous=this._tail,this._tail=A))}head(){return{key:this._head,value:this.get(this._head),next:()=>this.next(this._head),previous:()=>null}}tail(){return{key:this._tail,value:this.get(this._tail),next:()=>null,previous:()=>this.previous(this._tail)}}get(A){return this._data.get(A)}previousKey(A){const g=this._link.get(A);return g?.previous}previousValue(A){return this.get(this.previousKey(A))}previous(A){const g=this.previousKey(A);return{key:g,value:this.get(g),next:()=>this.next(g),previous:()=>this.previous(g)}}nextKey(A){const g=this._link.get(A);return g?.next}nextValue(A){return this.get(this.nextKey(A))}next(A){const g=this.nextKey(A);return{key:g,value:this.get(g),next:()=>this.next(g),previous:()=>this.previous(g)}}remove(A){const g=this._data.get(A);if(g!=null)if(this.size()===1)this.reset();else{if(A===this._head){const I=this._link.get(this._head);this._link.get(I.next).previous=null,this._head=I.next}else if(A===this._tail){const I=this._link.get(this._tail);this._link.get(I.previous).next=null,this._tail=I.previous}else{const I=this._link.get(A),Q=this._link.get(I.previous),C=this._link.get(I.next);Q.next=I.next,C.previous=I.previous}this._link.delete(A),this._data.delete(A)}return g}has(A){return this._data.has(A)}size(){return this._data.size}reset(){this._data.clear(),this._link.clear(),this._head=void 0,this._tail=void 0}keys(){return this._data.keys()}values(){return this._data.values()}entries(){return this._data.entries()}toArray(A="orderByInsert"){if(A!=="orderByInsert"){const g=[];let I=this._head;for(;I!=null;)g.push({key:I,value:this.get(I)}),I=this.nextKey(I);return g}return Array.from(this.keys()).map(g=>({key:g,value:this.get(g)}))}}const Sa=new TextDecoder;class zC{constructor(A,g,I,Q){this.buffer=A,this.binOffset=g+I,this.binLength=Q;let C=null;if(I!==0)try{const E=new Uint8Array(A,g,I);C=JSON.parse(Sa.decode(E))}catch{C={}}else C={};this.header=C}getKeys(){return Object.keys(this.header)}getData(A,g,I=null,Q=null){const C=this.header;if(!(A in C))return null;const E=C[A];if(E instanceof Object){if(Array.isArray(E))return E;{const{buffer:a,binOffset:i,binLength:t}=this,e=E.byteOffset||0,o=E.type||Q,s=E.componentType||I;if("type"in E&&Q&&E.type!==Q)throw new Error("FeatureTable: Specified type does not match expected type.");let n,r;switch(o){case"SCALAR":n=1;break;case"VEC2":n=2;break;case"VEC3":n=3;break;case"VEC4":n=4;break;default:throw new Error(`FeatureTable : Feature type not provided for "${A}".`)}const c=i+e,D=g*n;switch(s){case"BYTE":r=new Int8Array(a,c,D);break;case"UNSIGNED_BYTE":r=new Uint8Array(a,c,D);break;case"SHORT":r=new Int16Array(a,c,D);break;case"UNSIGNED_SHORT":r=new Uint16Array(a,c,D);break;case"INT":r=new Int32Array(a,c,D);break;case"UNSIGNED_INT":r=new Uint32Array(a,c,D);break;case"FLOAT":r=new Float32Array(a,c,D);break;case"DOUBLE":r=new Float64Array(a,c,D);break;default:throw new Error(`FeatureTable : Feature component type not provided for "${A}".`)}if(c+D*r.BYTES_PER_ELEMENT>i+t)throw new Error("FeatureTable: Feature data read outside binary body length.");return r}}return E}}class Ua extends zC{constructor(A,g,I,Q,C){super(A,I,Q,C),this.batchSize=g}getData(A,g=null,I=null){return super.getData(A,this.batchSize,g,I)}}function vQ(B){let A,g,I,Q=-1,C=0;for(let t=0;t<B.length;++t){const e=B[t];if(A===void 0&&(A=e.array.constructor),A!==e.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(g===void 0&&(g=e.itemSize),g!==e.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(I===void 0&&(I=e.normalized),I!==e.normalized)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;if(Q===-1&&(Q=e.gpuType),Q!==e.gpuType)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."),null;C+=e.count*g}const E=new A(C),a=new d.BufferAttribute(E,g,I);let i=0;for(let t=0;t<B.length;++t){const e=B[t];if(e.isInterleavedBufferAttribute){const o=i/g;for(let s=0,n=e.count;s<n;s++)for(let r=0;r<g;r++){const c=e.getComponent(s,r);a.setComponent(s+o,r,c)}}else E.set(e.array,i);i+=e.count*g}return Q!==void 0&&(a.gpuType=Q),a}function TQ(B,A){if(A===d.TrianglesDrawMode)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),B;if(A===d.TriangleFanDrawMode||A===d.TriangleStripDrawMode){let g=B.getIndex();if(g===null){const E=[],a=B.getAttribute("position");if(a===void 0)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),B;for(let i=0;i<a.count;i++)E.push(i);B.setIndex(E),g=B.getIndex()}const I=g.count-2,Q=[];if(A===d.TriangleFanDrawMode)for(let E=1;E<=I;E++)Q.push(g.getX(0)),Q.push(g.getX(E)),Q.push(g.getX(E+1));else for(let E=0;E<I;E++)E%2==0?(Q.push(g.getX(E)),Q.push(g.getX(E+1)),Q.push(g.getX(E+2))):(Q.push(g.getX(E+2)),Q.push(g.getX(E+1)),Q.push(g.getX(E)));Q.length/3!==I&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const C=B.clone();return C.setIndex(Q),C.clearGroups(),C}return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",A),B}class XC{constructor(A){this.gltfLoader=A,this.tempMatrix=new W.Matrix4,this.zUpToYUpMatrix=new W.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1)}parseB3DM(A,g,I,Q){const C=this,E=new DataView(A),a=String.fromCharCode(E.getUint8(0))+String.fromCharCode(E.getUint8(1))+String.fromCharCode(E.getUint8(2))+String.fromCharCode(E.getUint8(3));console.assert(a==="b3dm");const i=E.getUint32(8,!0);console.assert(i===A.byteLength);const t=E.getUint32(12,!0),e=E.getUint32(16,!0),o=E.getUint32(20,!0),s=E.getUint32(24,!0),n=new zC(A,28,t,e),r=28+t+e;new Ua(A,n.getData("BATCH_LENGTH"),r,o,s);const c=r+o+s,D=new Uint8Array(A,c,i-c).slice().buffer;return new Promise(async(b,h)=>{await this.checkLoaderInitialized(),this.gltfLoader.parse(D,null,w=>{const f=n.getData("RTC_CENTER");f?(this.tempMatrix.makeTranslation(f[0],f[1],f[2]),w.scene.applyMatrix4(this.tempMatrix)):w.userData.gltfExtensions&&w.userData.gltfExtensions.CESIUM_RTC&&(this.tempMatrix.makeTranslation(w.userData.gltfExtensions.CESIUM_RTC.center[0],w.userData.gltfExtensions.CESIUM_RTC.center[1],w.userData.gltfExtensions.CESIUM_RTC.center[2]),w.scene.applyMatrix4(this.tempMatrix)),I&&w.scene.applyMatrix4(C.zUpToYUpMatrix),w.scene.asset=w.asset,w.scene.traverse(p=>{p.isMesh&&(Q&&p.applyMatrix4(C.zUpToYUpMatrix),g&&g(p))}),b(w.scene)},w=>{console.error(w)})})}checkLoaderInitialized=async()=>new Promise(A=>{const g=setInterval(()=>{this.gltfLoader.hasDracoLoader&&!this.gltfLoader.dracoLoader||this.gltfLoader.hasKTX2Loader&&!this.gltfLoader.ktx2Loader||(clearInterval(g),A())},10)});parseB3DMInstanced(A,g,I,Q,C){return this.parseB3DM(A,g,Q,C).then(E=>{let a,i=[],t=[];E.updateWorldMatrix(!1,!0),E.traverse(o=>{o.isMesh&&(o.geometry.applyMatrix4(o.matrixWorld),i.push(o.geometry),t.push(o.material))});let e=function(o){let s=new Set;return o.forEach(r=>{for(let c in r.attributes)s.add(c)}),o.forEach(r=>{s.forEach(c=>{if(!r.attributes[c]){const D=function(h){switch(h){case"position":case"normal":case"color":return 3;case"uv":case"uv2":return 2;default:throw new Error(`Unknown attribute ${h}`)}}(c),b=new Float32Array(D*r.getAttribute("position").count).fill(0);r.setAttribute(c,new W.BufferAttribute(b,D))}})}),function(r,c=!1){const D=r[0].index!==null,b=new Set(Object.keys(r[0].attributes)),h=new Set(Object.keys(r[0].morphAttributes)),w={},f={},p=r[0].morphTargetsRelative,R=new d.BufferGeometry;let m=0;for(let G=0;G<r.length;++G){const k=r[G];let U=0;if(D!==(k.index!==null))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+G+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(const S in k.attributes){if(!b.has(S))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+G+'. All geometries must have compatible attributes; make sure "'+S+'" attribute exists among all geometries, or in none of them.'),null;w[S]===void 0&&(w[S]=[]),w[S].push(k.attributes[S]),U++}if(U!==b.size)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+G+". Make sure all geometries have the same number of attributes."),null;if(p!==k.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+G+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(const S in k.morphAttributes){if(!h.has(S))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+G+". .morphAttributes must be consistent throughout all geometries."),null;f[S]===void 0&&(f[S]=[]),f[S].push(k.morphAttributes[S])}if(c){let S;if(D)S=k.index.count;else{if(k.attributes.position===void 0)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+G+". The geometry must have either an index or a position attribute"),null;S=k.attributes.position.count}R.addGroup(m,S,G),m+=S}}if(D){let G=0;const k=[];for(let U=0;U<r.length;++U){const S=r[U].index;for(let j=0;j<S.count;++j)k.push(S.getX(j)+G);G+=r[U].attributes.position.count}R.setIndex(k)}for(const G in w){const k=vQ(w[G]);if(!k)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+G+" attribute."),null;R.setAttribute(G,k)}for(const G in f){const k=f[G][0].length;if(k===0)break;R.morphAttributes=R.morphAttributes||{},R.morphAttributes[G]=[];for(let U=0;U<k;++U){const S=[];for(let z=0;z<f[G].length;++z)S.push(f[G][z][U]);const j=vQ(S);if(!j)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+G+" morphAttribute."),null;R.morphAttributes[G].push(j)}}return R}(o,!0)}(i);return a=new W.InstancedMesh(e,t,I),a.baseMatrix=new W.Matrix4().identity(),a})}}async function La(B={}){var A,g,I=B,Q=typeof window=="object",C=typeof WorkerGlobalScope<"u",E=typeof process=="object"&&((A=process.versions)==null?void 0:A.node)&&process.type!="renderer";if(E){const{createRequire:l}=await Promise.resolve().then(()=>Ha);var a=l(typeof document>"u"?require("url").pathToFileURL(__filename).href:cI&&cI.tagName.toUpperCase()==="SCRIPT"&&cI.src||new URL("threedtiles.cjs.js",document.baseURI).href)}var i,t="./this.program",e=typeof document>"u"?require("url").pathToFileURL(__filename).href:cI&&cI.tagName.toUpperCase()==="SCRIPT"&&cI.src||new URL("threedtiles.cjs.js",document.baseURI).href;if(E){var o=a("fs");e.startsWith("file:")&&a("path").dirname(a("url").fileURLToPath(e)),i=l=>(l=z(l)?new URL(l):l,o.readFileSync(l)),1<process.argv.length&&(t=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2)}else if(Q||C){try{new URL(".",e)}catch{}C&&(i=l=>{var u=new XMLHttpRequest;return u.open("GET",l,!1),u.responseType="arraybuffer",u.send(null),new Uint8Array(u.response)})}var s,n,r,c,D,b,h,w,f,p,R,m,G,k,U=console.log.bind(console),S=console.error.bind(console),j=!1,z=l=>l.startsWith("file://"),gA=!1;function $(){var l=c.buffer;D=new Int8Array(l),h=new Int16Array(l),I.HEAPU8=b=new Uint8Array(l),w=new Uint16Array(l),f=new Int32Array(l),p=new Uint32Array(l),I.HEAPF32=R=new Float32Array(l),m=new Float64Array(l),G=new BigInt64Array(l),k=new BigUint64Array(l)}var X,aA=0,wA=null;function sA(l){var u;throw(u=I.onAbort)==null||u.call(I,l),S(l="Aborted("+l+")"),j=!0,l=new WebAssembly.RuntimeError(l+". Build with -sASSERTIONS for more info."),r?.(l),l}async function fA(l){var u=X;try{var y=await async function(F){if(!ArrayBuffer.isView(F))if(F==X&&s)F=new Uint8Array(s);else{if(!i)throw"both async and sync fetching of the wasm failed";F=i(F)}return F}(u);return await WebAssembly.instantiate(y,l)}catch(F){S(`failed to asynchronously prepare wasm: ${F}`),sA(F)}}var uA=l=>{for(;0<l.length;)l.shift()(I)},iA=[],GA=[],eA=()=>{var l=I.preRun.shift();GA.push(l)},rA={},FA=l=>{for(;l.length;){var u=l.pop();l.pop()(u)}};function RA(l){return this.N(p[l>>2])}var oA={},cA={},LA={},KA=class extends Error{constructor(l){super(l),this.name="InternalError"}},ig=(l,u,y)=>{function F(P){if((P=y(P)).length!==l.length)throw new KA("Mismatched type converter count");for(var IA=0;IA<l.length;++IA)N(l[IA],P[IA])}l.forEach(P=>LA[P]=u);var L=Array(u.length),T=[],H=0;u.forEach((P,IA)=>{cA.hasOwnProperty(P)?L[IA]=cA[P]:(T.push(P),oA.hasOwnProperty(P)||(oA[P]=[]),oA[P].push(()=>{L[IA]=cA[P],++H===T.length&&F(L)}))}),T.length===0&&F(L)},vA=l=>{for(var u="";;){var y=b[l++];if(!y)return u;u+=String.fromCharCode(y)}},hA=class extends Error{constructor(l){super(l),this.name="BindingError"}},M=l=>{throw new hA(l)};function N(l,u,y={}){return function(F,L,T={}){var H=L.name;if(!F)throw new hA(`type "${H}" must have a positive integer typeid pointer`);if(cA.hasOwnProperty(F)){if(T.wa)return;throw new hA(`Cannot register type '${H}' twice`)}cA[F]=L,delete LA[F],oA.hasOwnProperty(F)&&(L=oA[F],delete oA[F],L.forEach(P=>P()))}(l,u,y)}var J=(l,u,y)=>{switch(u){case 1:return y?F=>D[F]:F=>b[F];case 2:return y?F=>h[F>>1]:F=>w[F>>1];case 4:return y?F=>f[F>>2]:F=>p[F>>2];case 8:return y?F=>G[F>>3]:F=>k[F>>3];default:throw new TypeError(`invalid integer width (${u}): ${l}`)}},x=l=>{throw new hA(l.L.P.M.name+" instance already deleted")},K=!1,O=()=>{},Z=l=>typeof FinalizationRegistry>"u"?(Z=u=>u,l):(K=new FinalizationRegistry(u=>{--(u=u.L).count.value,u.count.value===0&&(u.S?u.W.Y(u.S):u.P.M.Y(u.O))}),Z=u=>{var y=u.L;return y.S&&K.register(u,{L:y},u),u},O=u=>{K.unregister(u)},Z(l));function v(){}var AA=(l,u)=>Object.defineProperty(u,"name",{value:l}),V={},yA=(l,u,y)=>{if(l[u].R===void 0){var F=l[u];l[u]=function(...L){if(!l[u].R.hasOwnProperty(L.length))throw new hA(`Function '${y}' called with an invalid number of arguments (${L.length}) - expects one of (${l[u].R})!`);return l[u].R[L.length].apply(this,L)},l[u].R=[],l[u].R[F.aa]=F}},dA=(l,u,y)=>{if(I.hasOwnProperty(l)){if(y===void 0||I[l].R!==void 0&&I[l].R[y]!==void 0)throw new hA(`Cannot register public name '${l}' twice`);if(yA(I,l,l),I[l].R.hasOwnProperty(y))throw new hA(`Cannot register multiple overloads of a function with the same number of arguments (${y})!`);I[l].R[y]=u}else I[l]=u,I[l].aa=y};function JA(l,u,y,F,L,T,H,P){this.name=l,this.constructor=u,this.$=y,this.Y=F,this.U=L,this.ra=T,this.ea=H,this.pa=P,this.ya=[]}var PA=(l,u,y)=>{for(;u!==y;){if(!u.ea)throw new hA(`Expected null or instance of ${y.name}, got an instance of ${u.name}`);l=u.ea(l),u=u.U}return l},Cg=l=>{if(l===null)return"null";var u=typeof l;return u==="object"||u==="array"||u==="function"?l.toString():""+l};function tg(l,u){if(u===null){if(this.ha)throw new hA(`null is not a valid ${this.name}`);return 0}if(!u.L)throw new hA(`Cannot pass "${Cg(u)}" as a ${this.name}`);if(!u.L.O)throw new hA(`Cannot pass deleted object as a pointer of type ${this.name}`);return PA(u.L.O,u.L.P.M,this.M)}function ug(l,u){if(u===null){if(this.ha)throw new hA(`null is not a valid ${this.name}`);if(this.ga){var y=this.ia();return l!==null&&l.push(this.Y,y),y}return 0}if(!u||!u.L)throw new hA(`Cannot pass "${Cg(u)}" as a ${this.name}`);if(!u.L.O)throw new hA(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.fa&&u.L.P.fa)throw new hA(`Cannot convert argument of type ${u.L.W?u.L.W.name:u.L.P.name} to parameter type ${this.name}`);if(y=PA(u.L.O,u.L.P.M,this.M),this.ga){if(u.L.S===void 0)throw new hA("Passing raw pointer to smart pointer is illegal");switch(this.Da){case 0:if(u.L.W!==this)throw new hA(`Cannot convert argument of type ${u.L.W?u.L.W.name:u.L.P.name} to parameter type ${this.name}`);y=u.L.S;break;case 1:y=u.L.S;break;case 2:if(u.L.W===this)y=u.L.S;else{var F=u.clone();y=this.za(y,JI(()=>F.delete())),l!==null&&l.push(this.Y,y)}break;default:throw new hA("Unsupporting sharing policy")}}return y}function Yg(l,u){if(u===null){if(this.ha)throw new hA(`null is not a valid ${this.name}`);return 0}if(!u.L)throw new hA(`Cannot pass "${Cg(u)}" as a ${this.name}`);if(!u.L.O)throw new hA(`Cannot pass deleted object as a pointer of type ${this.name}`);if(u.L.P.fa)throw new hA(`Cannot convert argument of type ${u.L.P.name} to parameter type ${this.name}`);return PA(u.L.O,u.L.P.M,this.M)}var AI=(l,u,y)=>u===y?l:y.U===void 0||(l=AI(l,u,y.U))===null?null:y.pa(l),mB={},oI=(l,u)=>{if(!u.P||!u.O)throw new KA("makeClassHandle requires ptr and ptrType");if(!!u.W!=!!u.S)throw new KA("Both smartPtrType and smartPtr must be specified");return u.count={value:1},Z(Object.create(l,{L:{value:u,writable:!0}}))};function nI(l,u,y,F,L,T,H,P,IA,QA,BA){this.name=l,this.M=u,this.ha=y,this.fa=F,this.ga=L,this.xa=T,this.Da=H,this.na=P,this.ia=IA,this.za=QA,this.Y=BA,L||u.U!==void 0?this.T=ug:(this.T=F?tg:Yg,this.V=null)}var PI,VI=(l,u,y)=>{if(!I.hasOwnProperty(l))throw new KA("Replacing nonexistent public symbol");I[l].R!==void 0&&y!==void 0?I[l].R[y]=u:(I[l]=u,I[l].aa=y)},og=(l,u)=>{l=vA(l);var y=PI.get(u);if(typeof y!="function")throw new hA(`unknown function pointer with signature ${l}: ${u}`);return y};class SB extends Error{}var zI=l=>{l=HQ(l);var u=vA(l);return qg(l),u},sI=(l,u)=>{var y=[],F={};throw u.forEach(function L(T){F[T]||cA[T]||(LA[T]?LA[T].forEach(L):(y.push(T),F[T]=!0))}),new SB(`${l}: `+y.map(zI).join([", "]))},kI=(l,u)=>{for(var y=[],F=0;F<l;F++)y.push(p[u+4*F>>2]);return y};function XI(l){for(var u=1;u<l.length;++u)if(l[u]!==null&&l[u].V===void 0)return!0;return!1}function mI(l,u,y,F,L,T){var H=u.length;if(2>H)throw new hA("argTypes array size mismatch! Must at least get return value and 'this' types!");var P=u[1]!==null&&y!==null,IA=XI(u);y=!u[0].ma;var QA=u[0],BA=u[1];for(F=[l,M,F,L,FA,QA.N.bind(QA),BA?.T.bind(BA)],L=2;L<H;++L)QA=u[L],F.push(QA.T.bind(QA));if(!IA)for(L=P?1:2;L<u.length;++L)u[L].V!==null&&F.push(u[L].V);for(IA=XI(u),L=u.length-2,BA=[],QA=["fn"],P&&QA.push("thisWired"),H=0;H<L;++H)BA.push(`arg${H}`),QA.push(`arg${H}Wired`);BA=BA.join(","),QA=QA.join(","),BA=`return function (${BA}) {
6
+ */class ZC{constructor(){this._data=new Map,this._link=new Map,this._head=void 0,this._tail=void 0}put(A,g,I=!1){this.has(A)?this._data.set(A,g):(this._data.set(A,g),this._link.set(A,{previous:void 0,next:void 0}),this._head==null?(this._head=A,this._tail=A):I?(this._link.get(this._head).previous=A,this._link.get(A).next=this._head,this._head=A):(this._link.get(this._tail).next=A,this._link.get(A).previous=this._tail,this._tail=A))}head(){return{key:this._head,value:this.get(this._head),next:()=>this.next(this._head),previous:()=>null}}tail(){return{key:this._tail,value:this.get(this._tail),next:()=>null,previous:()=>this.previous(this._tail)}}get(A){return this._data.get(A)}previousKey(A){const g=this._link.get(A);return g?.previous}previousValue(A){return this.get(this.previousKey(A))}previous(A){const g=this.previousKey(A);return{key:g,value:this.get(g),next:()=>this.next(g),previous:()=>this.previous(g)}}nextKey(A){const g=this._link.get(A);return g?.next}nextValue(A){return this.get(this.nextKey(A))}next(A){const g=this.nextKey(A);return{key:g,value:this.get(g),next:()=>this.next(g),previous:()=>this.previous(g)}}remove(A){const g=this._data.get(A);if(g!=null)if(this.size()===1)this.reset();else{if(A===this._head){const I=this._link.get(this._head);this._link.get(I.next).previous=null,this._head=I.next}else if(A===this._tail){const I=this._link.get(this._tail);this._link.get(I.previous).next=null,this._tail=I.previous}else{const I=this._link.get(A),Q=this._link.get(I.previous),C=this._link.get(I.next);Q.next=I.next,C.previous=I.previous}this._link.delete(A),this._data.delete(A)}return g}has(A){return this._data.has(A)}size(){return this._data.size}reset(){this._data.clear(),this._link.clear(),this._head=void 0,this._tail=void 0}keys(){return this._data.keys()}values(){return this._data.values()}entries(){return this._data.entries()}toArray(A="orderByInsert"){if(A!=="orderByInsert"){const g=[];let I=this._head;for(;I!=null;)g.push({key:I,value:this.get(I)}),I=this.nextKey(I);return g}return Array.from(this.keys()).map(g=>({key:g,value:this.get(g)}))}}const JE=new TextDecoder;class _C{constructor(A,g,I,Q){this.buffer=A,this.binOffset=g+I,this.binLength=Q;let C=null;if(I!==0)try{const a=new Uint8Array(A,g,I);C=JSON.parse(JE.decode(a))}catch{C={}}else C={};this.header=C}getKeys(){return Object.keys(this.header)}getData(A,g,I=null,Q=null){const C=this.header;if(!(A in C))return null;const a=C[A];if(a instanceof Object){if(Array.isArray(a))return a;{const{buffer:E,binOffset:i,binLength:t}=this,e=a.byteOffset||0,o=a.type||Q,s=a.componentType||I;if("type"in a&&Q&&a.type!==Q)throw new Error("FeatureTable: Specified type does not match expected type.");let n,r;switch(o){case"SCALAR":n=1;break;case"VEC2":n=2;break;case"VEC3":n=3;break;case"VEC4":n=4;break;default:throw new Error(`FeatureTable : Feature type not provided for "${A}".`)}const c=i+e,D=g*n;switch(s){case"BYTE":r=new Int8Array(E,c,D);break;case"UNSIGNED_BYTE":r=new Uint8Array(E,c,D);break;case"SHORT":r=new Int16Array(E,c,D);break;case"UNSIGNED_SHORT":r=new Uint16Array(E,c,D);break;case"INT":r=new Int32Array(E,c,D);break;case"UNSIGNED_INT":r=new Uint32Array(E,c,D);break;case"FLOAT":r=new Float32Array(E,c,D);break;case"DOUBLE":r=new Float64Array(E,c,D);break;default:throw new Error(`FeatureTable : Feature component type not provided for "${A}".`)}if(c+D*r.BYTES_PER_ELEMENT>i+t)throw new Error("FeatureTable: Feature data read outside binary body length.");return r}}return a}}class YE extends _C{constructor(A,g,I,Q,C){super(A,I,Q,C),this.batchSize=g}getData(A,g=null,I=null){return super.getData(A,this.batchSize,g,I)}}function TQ(B){let A,g,I,Q=-1,C=0;for(let t=0;t<B.length;++t){const e=B[t];if(A===void 0&&(A=e.array.constructor),A!==e.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(g===void 0&&(g=e.itemSize),g!==e.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(I===void 0&&(I=e.normalized),I!==e.normalized)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;if(Q===-1&&(Q=e.gpuType),Q!==e.gpuType)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."),null;C+=e.count*g}const a=new A(C),E=new b.BufferAttribute(a,g,I);let i=0;for(let t=0;t<B.length;++t){const e=B[t];if(e.isInterleavedBufferAttribute){const o=i/g;for(let s=0,n=e.count;s<n;s++)for(let r=0;r<g;r++){const c=e.getComponent(s,r);E.setComponent(s+o,r,c)}}else a.set(e.array,i);i+=e.count*g}return Q!==void 0&&(E.gpuType=Q),E}function OQ(B,A){if(A===b.TrianglesDrawMode)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),B;if(A===b.TriangleFanDrawMode||A===b.TriangleStripDrawMode){let g=B.getIndex();if(g===null){const a=[],E=B.getAttribute("position");if(E===void 0)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),B;for(let i=0;i<E.count;i++)a.push(i);B.setIndex(a),g=B.getIndex()}const I=g.count-2,Q=[];if(A===b.TriangleFanDrawMode)for(let a=1;a<=I;a++)Q.push(g.getX(0)),Q.push(g.getX(a)),Q.push(g.getX(a+1));else for(let a=0;a<I;a++)a%2==0?(Q.push(g.getX(a)),Q.push(g.getX(a+1)),Q.push(g.getX(a+2))):(Q.push(g.getX(a+2)),Q.push(g.getX(a+1)),Q.push(g.getX(a)));Q.length/3!==I&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const C=B.clone();return C.setIndex(Q),C.clearGroups(),C}return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",A),B}class $C{constructor(A){this.gltfLoader=A,this.tempMatrix=new x.Matrix4,this.zUpToYUpMatrix=new x.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1)}parseB3DM(A,g,I,Q){const C=this,a=new DataView(A),E=String.fromCharCode(a.getUint8(0))+String.fromCharCode(a.getUint8(1))+String.fromCharCode(a.getUint8(2))+String.fromCharCode(a.getUint8(3));console.assert(E==="b3dm");const i=a.getUint32(8,!0);console.assert(i===A.byteLength);const t=a.getUint32(12,!0),e=a.getUint32(16,!0),o=a.getUint32(20,!0),s=a.getUint32(24,!0),n=new _C(A,28,t,e),r=28+t+e;new YE(A,n.getData("BATCH_LENGTH"),r,o,s);const c=r+o+s,D=new Uint8Array(A,c,i-c).slice().buffer;return new Promise(async(w,h)=>{await this.checkLoaderInitialized(),this.gltfLoader.parse(D,null,d=>{const f=n.getData("RTC_CENTER");f?(this.tempMatrix.makeTranslation(f[0],f[1],f[2]),d.scene.applyMatrix4(this.tempMatrix)):d.userData.gltfExtensions&&d.userData.gltfExtensions.CESIUM_RTC&&(this.tempMatrix.makeTranslation(d.userData.gltfExtensions.CESIUM_RTC.center[0],d.userData.gltfExtensions.CESIUM_RTC.center[1],d.userData.gltfExtensions.CESIUM_RTC.center[2]),d.scene.applyMatrix4(this.tempMatrix)),I&&d.scene.applyMatrix4(C.zUpToYUpMatrix),d.scene.asset=d.asset,d.scene.traverse(p=>{p.isMesh&&(Q&&p.applyMatrix4(C.zUpToYUpMatrix),g&&g(p))}),w(d.scene)},d=>{console.error(d)})})}checkLoaderInitialized=async()=>new Promise(A=>{const g=setInterval(()=>{this.gltfLoader.hasDracoLoader&&!this.gltfLoader.dracoLoader||this.gltfLoader.hasKTX2Loader&&!this.gltfLoader.ktx2Loader||(clearInterval(g),A())},10)});parseB3DMInstanced(A,g,I,Q,C){return this.parseB3DM(A,g,Q,C).then(a=>{let E,i=[],t=[];a.updateWorldMatrix(!1,!0),a.traverse(o=>{o.isMesh&&(o.geometry.applyMatrix4(o.matrixWorld),i.push(o.geometry),t.push(o.material))});let e=function(o){let s=new Set;return o.forEach(r=>{for(let c in r.attributes)s.add(c)}),o.forEach(r=>{s.forEach(c=>{if(!r.attributes[c]){const D=function(h){switch(h){case"position":case"normal":case"color":return 3;case"uv":case"uv2":return 2;default:throw new Error(`Unknown attribute ${h}`)}}(c),w=new Float32Array(D*r.getAttribute("position").count).fill(0);r.setAttribute(c,new x.BufferAttribute(w,D))}})}),function(r,c=!1){const D=r[0].index!==null,w=new Set(Object.keys(r[0].attributes)),h=new Set(Object.keys(r[0].morphAttributes)),d={},f={},p=r[0].morphTargetsRelative,R=new b.BufferGeometry;let k=0;for(let G=0;G<r.length;++G){const N=r[G];let S=0;if(D!==(N.index!==null))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+G+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(const U in N.attributes){if(!w.has(U))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+G+'. All geometries must have compatible attributes; make sure "'+U+'" attribute exists among all geometries, or in none of them.'),null;d[U]===void 0&&(d[U]=[]),d[U].push(N.attributes[U]),S++}if(S!==w.size)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+G+". Make sure all geometries have the same number of attributes."),null;if(p!==N.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+G+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(const U in N.morphAttributes){if(!h.has(U))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+G+". .morphAttributes must be consistent throughout all geometries."),null;f[U]===void 0&&(f[U]=[]),f[U].push(N.morphAttributes[U])}if(c){let U;if(D)U=N.index.count;else{if(N.attributes.position===void 0)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+G+". The geometry must have either an index or a position attribute"),null;U=N.attributes.position.count}R.addGroup(k,U,G),k+=U}}if(D){let G=0;const N=[];for(let S=0;S<r.length;++S){const U=r[S].index;for(let j=0;j<U.count;++j)N.push(U.getX(j)+G);G+=r[S].attributes.position.count}R.setIndex(N)}for(const G in d){const N=TQ(d[G]);if(!N)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+G+" attribute."),null;R.setAttribute(G,N)}for(const G in f){const N=f[G][0].length;if(N===0)break;R.morphAttributes=R.morphAttributes||{},R.morphAttributes[G]=[];for(let S=0;S<N;++S){const U=[];for(let z=0;z<f[G].length;++z)U.push(f[G][z][S]);const j=TQ(U);if(!j)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+G+" morphAttribute."),null;R.morphAttributes[G].push(j)}}return R}(o,!0)}(i);return E=new x.InstancedMesh(e,t,I),E.baseMatrix=new x.Matrix4().identity(),E})}}async function xE(B={}){var A,g,I=B,Q=typeof window=="object",C=typeof WorkerGlobalScope<"u",a=typeof process=="object"&&((A=process.versions)==null?void 0:A.node)&&process.type!="renderer";if(a){const{createRequire:u}=await Promise.resolve().then(()=>qE);var E=u(typeof document>"u"?require("url").pathToFileURL(__filename).href:cI&&cI.tagName.toUpperCase()==="SCRIPT"&&cI.src||new URL("threedtiles.cjs.js",document.baseURI).href)}var i,t="./this.program",e=typeof document>"u"?require("url").pathToFileURL(__filename).href:cI&&cI.tagName.toUpperCase()==="SCRIPT"&&cI.src||new URL("threedtiles.cjs.js",document.baseURI).href;if(a){var o=E("fs");e.startsWith("file:")&&E("path").dirname(E("url").fileURLToPath(e)),i=u=>(u=z(u)?new URL(u):u,o.readFileSync(u)),1<process.argv.length&&(t=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2)}else if(Q||C){try{new URL(".",e)}catch{}C&&(i=u=>{var l=new XMLHttpRequest;return l.open("GET",u,!1),l.responseType="arraybuffer",l.send(null),new Uint8Array(l.response)})}var s,n,r,c,D,w,h,d,f,p,R,k,G,N,S=console.log.bind(console),U=console.error.bind(console),j=!1,z=u=>u.startsWith("file://"),AA=!1;function _(){var u=c.buffer;D=new Int8Array(u),h=new Int16Array(u),I.HEAPU8=w=new Uint8Array(u),d=new Uint16Array(u),f=new Int32Array(u),p=new Uint32Array(u),I.HEAPF32=R=new Float32Array(u),k=new Float64Array(u),G=new BigInt64Array(u),N=new BigUint64Array(u)}var X,EA=0,cA=null;function nA(u){var l;throw(l=I.onAbort)==null||l.call(I,u),U(u="Aborted("+u+")"),j=!0,u=new WebAssembly.RuntimeError(u+". Build with -sASSERTIONS for more info."),r?.(u),u}async function lA(u){var l=X;try{var y=await async function(F){if(!ArrayBuffer.isView(F))if(F==X&&s)F=new Uint8Array(s);else{if(!i)throw"both async and sync fetching of the wasm failed";F=i(F)}return F}(l);return await WebAssembly.instantiate(y,u)}catch(F){U(`failed to asynchronously prepare wasm: ${F}`),nA(F)}}var uA=u=>{for(;0<u.length;)u.shift()(I)},iA=[],GA=[],eA=()=>{var u=I.preRun.shift();GA.push(u)},rA={},FA=u=>{for(;u.length;){var l=u.pop();u.pop()(l)}};function RA(u){return this.N(p[u>>2])}var oA={},hA={},LA={},KA=class extends Error{constructor(u){super(u),this.name="InternalError"}},tg=(u,l,y)=>{function F(P){if((P=y(P)).length!==u.length)throw new KA("Mismatched type converter count");for(var IA=0;IA<u.length;++IA)m(u[IA],P[IA])}u.forEach(P=>LA[P]=l);var L=Array(l.length),O=[],K=0;l.forEach((P,IA)=>{hA.hasOwnProperty(P)?L[IA]=hA[P]:(O.push(P),oA.hasOwnProperty(P)||(oA[P]=[]),oA[P].push(()=>{L[IA]=hA[P],++K===O.length&&F(L)}))}),O.length===0&&F(L)},vA=u=>{for(var l="";;){var y=w[u++];if(!y)return l;l+=String.fromCharCode(y)}},DA=class extends Error{constructor(u){super(u),this.name="BindingError"}},M=u=>{throw new DA(u)};function m(u,l,y={}){return function(F,L,O={}){var K=L.name;if(!F)throw new DA(`type "${K}" must have a positive integer typeid pointer`);if(hA.hasOwnProperty(F)){if(O.wa)return;throw new DA(`Cannot register type '${K}' twice`)}hA[F]=L,delete LA[F],oA.hasOwnProperty(F)&&(L=oA[F],delete oA[F],L.forEach(P=>P()))}(u,l,y)}var J=(u,l,y)=>{switch(l){case 1:return y?F=>D[F]:F=>w[F];case 2:return y?F=>h[F>>1]:F=>d[F>>1];case 4:return y?F=>f[F>>2]:F=>p[F>>2];case 8:return y?F=>G[F>>3]:F=>N[F>>3];default:throw new TypeError(`invalid integer width (${l}): ${u}`)}},H=u=>{throw new DA(u.L.P.M.name+" instance already deleted")},q=!1,W=()=>{},Z=u=>typeof FinalizationRegistry>"u"?(Z=l=>l,u):(q=new FinalizationRegistry(l=>{--(l=l.L).count.value,l.count.value===0&&(l.S?l.W.Y(l.S):l.P.M.Y(l.O))}),Z=l=>{var y=l.L;return y.S&&q.register(l,{L:y},l),l},W=l=>{q.unregister(l)},Z(u));function T(){}var gA=(u,l)=>Object.defineProperty(l,"name",{value:u}),V={},yA=(u,l,y)=>{if(u[l].R===void 0){var F=u[l];u[l]=function(...L){if(!u[l].R.hasOwnProperty(L.length))throw new DA(`Function '${y}' called with an invalid number of arguments (${L.length}) - expects one of (${u[l].R})!`);return u[l].R[L.length].apply(this,L)},u[l].R=[],u[l].R[F.aa]=F}},bA=(u,l,y)=>{if(I.hasOwnProperty(u)){if(y===void 0||I[u].R!==void 0&&I[u].R[y]!==void 0)throw new DA(`Cannot register public name '${u}' twice`);if(yA(I,u,u),I[u].R.hasOwnProperty(y))throw new DA(`Cannot register multiple overloads of a function with the same number of arguments (${y})!`);I[u].R[y]=l}else I[u]=l,I[u].aa=y};function JA(u,l,y,F,L,O,K,P){this.name=u,this.constructor=l,this.$=y,this.Y=F,this.U=L,this.ra=O,this.ea=K,this.pa=P,this.ya=[]}var PA=(u,l,y)=>{for(;l!==y;){if(!l.ea)throw new DA(`Expected null or instance of ${y.name}, got an instance of ${l.name}`);u=l.ea(u),l=l.U}return u},Cg=u=>{if(u===null)return"null";var l=typeof u;return l==="object"||l==="array"||l==="function"?u.toString():""+u};function og(u,l){if(l===null){if(this.ha)throw new DA(`null is not a valid ${this.name}`);return 0}if(!l.L)throw new DA(`Cannot pass "${Cg(l)}" as a ${this.name}`);if(!l.L.O)throw new DA(`Cannot pass deleted object as a pointer of type ${this.name}`);return PA(l.L.O,l.L.P.M,this.M)}function lg(u,l){if(l===null){if(this.ha)throw new DA(`null is not a valid ${this.name}`);if(this.ga){var y=this.ia();return u!==null&&u.push(this.Y,y),y}return 0}if(!l||!l.L)throw new DA(`Cannot pass "${Cg(l)}" as a ${this.name}`);if(!l.L.O)throw new DA(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.fa&&l.L.P.fa)throw new DA(`Cannot convert argument of type ${l.L.W?l.L.W.name:l.L.P.name} to parameter type ${this.name}`);if(y=PA(l.L.O,l.L.P.M,this.M),this.ga){if(l.L.S===void 0)throw new DA("Passing raw pointer to smart pointer is illegal");switch(this.Da){case 0:if(l.L.W!==this)throw new DA(`Cannot convert argument of type ${l.L.W?l.L.W.name:l.L.P.name} to parameter type ${this.name}`);y=l.L.S;break;case 1:y=l.L.S;break;case 2:if(l.L.W===this)y=l.L.S;else{var F=l.clone();y=this.za(y,JI(()=>F.delete())),u!==null&&u.push(this.Y,y)}break;default:throw new DA("Unsupporting sharing policy")}}return y}function Yg(u,l){if(l===null){if(this.ha)throw new DA(`null is not a valid ${this.name}`);return 0}if(!l.L)throw new DA(`Cannot pass "${Cg(l)}" as a ${this.name}`);if(!l.L.O)throw new DA(`Cannot pass deleted object as a pointer of type ${this.name}`);if(l.L.P.fa)throw new DA(`Cannot convert argument of type ${l.L.P.name} to parameter type ${this.name}`);return PA(l.L.O,l.L.P.M,this.M)}var AI=(u,l,y)=>l===y?u:y.U===void 0||(u=AI(u,l,y.U))===null?null:y.pa(u),UB={},oI=(u,l)=>{if(!l.P||!l.O)throw new KA("makeClassHandle requires ptr and ptrType");if(!!l.W!=!!l.S)throw new KA("Both smartPtrType and smartPtr must be specified");return l.count={value:1},Z(Object.create(u,{L:{value:l,writable:!0}}))};function nI(u,l,y,F,L,O,K,P,IA,QA,BA){this.name=u,this.M=l,this.ha=y,this.fa=F,this.ga=L,this.xa=O,this.Da=K,this.na=P,this.ia=IA,this.za=QA,this.Y=BA,L||l.U!==void 0?this.T=lg:(this.T=F?og:Yg,this.V=null)}var VI,zI=(u,l,y)=>{if(!I.hasOwnProperty(u))throw new KA("Replacing nonexistent public symbol");I[u].R!==void 0&&y!==void 0?I[u].R[y]=l:(I[u]=l,I[u].aa=y)},ng=(u,l)=>{u=vA(u);var y=VI.get(l);if(typeof y!="function")throw new DA(`unknown function pointer with signature ${u}: ${l}`);return y};class SB extends Error{}var XI=u=>{u=KQ(u);var l=vA(u);return qg(u),l},sI=(u,l)=>{var y=[],F={};throw l.forEach(function L(O){F[O]||hA[O]||(LA[O]?LA[O].forEach(L):(y.push(O),F[O]=!0))}),new SB(`${u}: `+y.map(XI).join([", "]))},kI=(u,l)=>{for(var y=[],F=0;F<u;F++)y.push(p[l+4*F>>2]);return y};function ZI(u){for(var l=1;l<u.length;++l)if(u[l]!==null&&u[l].V===void 0)return!0;return!1}function mI(u,l,y,F,L,O){var K=l.length;if(2>K)throw new DA("argTypes array size mismatch! Must at least get return value and 'this' types!");var P=l[1]!==null&&y!==null,IA=ZI(l);y=!l[0].ma;var QA=l[0],BA=l[1];for(F=[u,M,F,L,FA,QA.N.bind(QA),BA?.T.bind(BA)],L=2;L<K;++L)QA=l[L],F.push(QA.T.bind(QA));if(!IA)for(L=P?1:2;L<l.length;++L)l[L].V!==null&&F.push(l[L].V);for(IA=ZI(l),L=l.length-2,BA=[],QA=["fn"],P&&QA.push("thisWired"),K=0;K<L;++K)BA.push(`arg${K}`),QA.push(`arg${K}Wired`);BA=BA.join(","),QA=QA.join(","),BA=`return function (${BA}) {
7
7
  `,IA&&(BA+=`var destructors = [];
8
- `);var pA=IA?"destructors":"null",sg="humanName throwBindingError invoker fn runDestructors fromRetWire toClassParamWire".split(" ");for(P&&(BA+=`var thisWired = toClassParamWire(${pA}, this);
9
- `),H=0;H<L;++H){var gg=`toArg${H}Wire`;BA+=`var arg${H}Wired = ${gg}(${pA}, arg${H});
10
- `,sg.push(gg)}if(BA+=(y||T?"var rv = ":"")+`invoker(${QA});
8
+ `);var pA=IA?"destructors":"null",rg="humanName throwBindingError invoker fn runDestructors fromRetWire toClassParamWire".split(" ");for(P&&(BA+=`var thisWired = toClassParamWire(${pA}, this);
9
+ `),K=0;K<L;++K){var gg=`toArg${K}Wire`;BA+=`var arg${K}Wired = ${gg}(${pA}, arg${K});
10
+ `,rg.push(gg)}if(BA+=(y||O?"var rv = ":"")+`invoker(${QA});
11
11
  `,IA)BA+=`runDestructors(destructors);
12
- `;else for(H=P?1:2;H<u.length;++H)T=H===1?"thisWired":"arg"+(H-2)+"Wired",u[H].V!==null&&(BA+=`${T}_dtor(${T});
13
- `,sg.push(`${T}_dtor`));return y&&(BA+=`var ret = fromRetWire(rv);
12
+ `;else for(K=P?1:2;K<l.length;++K)O=K===1?"thisWired":"arg"+(K-2)+"Wired",l[K].V!==null&&(BA+=`${O}_dtor(${O});
13
+ `,rg.push(`${O}_dtor`));return y&&(BA+=`var ret = fromRetWire(rv);
14
14
  return ret;
15
- `),u=new Function(sg,BA+`}
16
- `)(...F),AA(l,u)}for(var SI,ZI=l=>{const u=(l=l.trim()).indexOf("(");return u===-1?l:l.slice(0,u)},_I=[],xg=[0,1,,1,null,1,!0,1,!1,1],UI=l=>{9<l&&--xg[l+1]==0&&(xg[l]=void 0,_I.push(l))},LI=l=>{if(!l)throw new hA(`Cannot use deleted val. handle = ${l}`);return xg[l]},JI=l=>{switch(l){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:const u=_I.pop()||xg.length;return xg[u]=l,xg[u+1]=1,u}},$I={name:"emscripten::val",N:l=>{var u=LI(l);return UI(l),u},T:(l,u)=>JI(u),X:RA,V:null},UB=(l,u,y)=>{switch(u){case 1:return y?function(F){return this.N(D[F])}:function(F){return this.N(b[F])};case 2:return y?function(F){return this.N(h[F>>1])}:function(F){return this.N(w[F>>1])};case 4:return y?function(F){return this.N(f[F>>2])}:function(F){return this.N(p[F>>2])};default:throw new TypeError(`invalid integer width (${u}): ${l}`)}},AB=(l,u)=>{var y=cA[l];if(y===void 0)throw l=`${u} has unknown type ${zI(l)}`,new hA(l);return y},LB=(l,u)=>{switch(u){case 4:return function(y){return this.N(R[y>>2])};case 8:return function(y){return this.N(m[y>>3])};default:throw new TypeError(`invalid float width (${u}): ${l}`)}},JB=Object.assign({optional:!0},$I),Hg=(l,u,y)=>{var F=b;if(!(0<y))return 0;var L=u;y=u+y-1;for(var T=0;T<l.length;++T){var H=l.codePointAt(T);if(127>=H){if(u>=y)break;F[u++]=H}else if(2047>=H){if(u+1>=y)break;F[u++]=192|H>>6,F[u++]=128|63&H}else if(65535>=H){if(u+2>=y)break;F[u++]=224|H>>12,F[u++]=128|H>>6&63,F[u++]=128|63&H}else{if(u+3>=y)break;F[u++]=240|H>>18,F[u++]=128|H>>12&63,F[u++]=128|H>>6&63,F[u++]=128|63&H,T++}}return F[u]=0,u-L},gB=l=>{for(var u=0,y=0;y<l.length;++y){var F=l.charCodeAt(y);127>=F?u++:2047>=F?u+=2:55296<=F&&57343>=F?(u+=4,++y):u+=3}return u},IB=new TextDecoder,YI=(l,u,y,F)=>{if(y=u+y,F)return y;for(;l[u]&&!(u>=y);)++u;return u},gI=new TextDecoder("utf-16le"),DA=(l,u,y)=>(l>>=1,gI.decode(w.subarray(l,YI(w,l,u/2,y)))),ng=(l,u,y)=>{if(y??(y=2147483647),2>y)return 0;var F=u;y=(y-=2)<2*l.length?y/2:l.length;for(var L=0;L<y;++L)h[u>>1]=l.charCodeAt(L),u+=2;return h[u>>1]=0,u-F},xI=l=>2*l.length,Kg=(l,u,y)=>{var F="";l>>=2;for(var L=0;!(L>=u/4);L++){var T=p[l+L];if(!T&&!y)break;F+=String.fromCodePoint(T)}return F},II=(l,u,y)=>{if(y??(y=2147483647),4>y)return 0;var F=u;y=F+y-4;for(var L=0;L<l.length;++L){var T=l.codePointAt(L);if(65535<T&&L++,f[u>>2]=T,(u+=4)+4>y)break}return f[u>>2]=0,u-F},YB=l=>{for(var u=0,y=0;y<l.length;++y)65535<l.codePointAt(y)&&y++,u+=4;return u},xB=[],Ga=(l,u,y)=>{var F=[];return l=l(F,y),F.length&&(p[u>>2]=JI(F)),l},Ra={},pa=l=>{var u=Ra[l];return u===void 0?vA(l):u},HB={},xQ=()=>{if(!SI){var l,u={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.language||"C").replace("-","_")+".UTF-8",_:t||"./this.program"};for(l in HB)HB[l]===void 0?delete u[l]:u[l]=HB[l];var y=[];for(l in u)y.push(`${l}=${u[l]}`);SI=y}return SI},Na=[null,[],[]],kg=new Uint8Array(123),jg=25;0<=jg;--jg)kg[48+jg]=52+jg,kg[65+jg]=jg,kg[97+jg]=26+jg;kg[43]=62,kg[47]=63,(()=>{let l=v.prototype;Object.assign(l,{isAliasOf:function(y){if(!(this instanceof v&&y instanceof v))return!1;var F=this.L.P.M,L=this.L.O;y.L=y.L;var T=y.L.P.M;for(y=y.L.O;F.U;)L=F.ea(L),F=F.U;for(;T.U;)y=T.ea(y),T=T.U;return F===T&&L===y},clone:function(){if(this.L.O||x(this),this.L.da)return this.L.count.value+=1,this;var y=Z,F=Object,L=F.create,T=Object.getPrototypeOf(this),H=this.L;return(y=y(L.call(F,T,{L:{value:{count:H.count,ba:H.ba,da:H.da,O:H.O,P:H.P,S:H.S,W:H.W}}}))).L.count.value+=1,y.L.ba=!1,y},delete(){if(this.L.O||x(this),this.L.ba&&!this.L.da)throw new hA("Object already scheduled for deletion");O(this);var y=this.L;--y.count.value,y.count.value===0&&(y.S?y.W.Y(y.S):y.P.M.Y(y.O)),this.L.da||(this.L.S=void 0,this.L.O=void 0)},isDeleted:function(){return!this.L.O},deleteLater:function(){if(this.L.O||x(this),this.L.ba&&!this.L.da)throw new hA("Object already scheduled for deletion");return this.L.ba=!0,this}});const u=Symbol.dispose;u&&(l[u]=l.delete)})(),Object.assign(nI.prototype,{sa(l){return this.na&&(l=this.na(l)),l},ka(l){var u;(u=this.Y)==null||u.call(this,l)},X:RA,N:function(l){function u(){return this.ga?oI(this.M.$,{P:this.xa,O:y,W:this,S:l}):oI(this.M.$,{P:this,O:l})}var y=this.sa(l);if(!y)return this.ka(l),null;var F=((T,H)=>{if(H===void 0)throw new hA("ptr should not be undefined");for(;T.U;)H=T.ea(H),T=T.U;return mB[H]})(this.M,y);if(F!==void 0)return F.L.count.value===0?(F.L.O=y,F.L.S=l,F.clone()):(F=F.clone(),this.ka(l),F);if(F=this.M.ra(y),!(F=V[F]))return u.call(this);F=this.fa?F.oa:F.pointerType;var L=AI(y,this.M,F.M);return L===null?u.call(this):this.ga?oI(F.M.$,{P:F,O:L,W:this,S:l}):oI(F.M.$,{P:F,O:L})}}),I.print&&(U=I.print),I.printErr&&(S=I.printErr),I.wasmBinary&&(s=I.wasmBinary),I.thisProgram&&(t=I.thisProgram);var HQ,KB,qg,ka={x:()=>sA(""),q:l=>{var u=rA[l];delete rA[l];var y=u.ia,F=u.Y,L=u.la,T=L.map(H=>H.va).concat(L.map(H=>H.Ba));ig([l],T,H=>{var P={};return L.forEach((IA,QA)=>{var BA=H[QA],pA=IA.ta,sg=IA.ua,gg=H[QA+L.length],TA=IA.Aa,Ig=IA.Ca;P[IA.qa]={read:mg=>BA.N(pA(sg,mg)),write:(mg,HI)=>{var vg=[];TA(Ig,mg,gg.T(vg,HI)),FA(vg)},optional:H[QA].optional}}),[{name:u.name,N:IA=>{var QA,BA={};for(QA in P)BA[QA]=P[QA].read(IA);return F(IA),BA},T:(IA,QA)=>{for(var BA in P)if(!(BA in QA)&&!P[BA].optional)throw new TypeError(`Missing field: "${BA}"`);var pA=y();for(BA in P)P[BA].write(pA,QA[BA]);return IA!==null&&IA.push(F,pA),pA},X:RA,V:F}]})},n:(l,u,y,F,L)=>{u=vA(u);let T=H=>H;if(F=F===0n){const H=8*y;T=P=>BigInt.asUintN(H,P),L=T(L)}N(l,{name:u,N:T,T:(H,P)=>(typeof P=="number"&&(P=BigInt(P)),P),X:J(u,y,!F),V:null})},B:(l,u,y,F)=>{N(l,{name:u=vA(u),N:function(L){return!!L},T:function(L,T){return T?y:F},X:function(L){return this.N(b[L])},V:null})},j:(l,u,y,F,L,T,H,P,IA,QA,BA,pA,sg)=>{BA=vA(BA),T=og(L,T),P&&(P=og(H,P)),QA&&(QA=og(IA,QA)),sg=og(pA,sg);var gg=(TA=>{var Ig=(TA=TA.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=Ig&&57>=Ig?`_${TA}`:TA})(BA);dA(gg,function(){sI(`Cannot construct ${BA} due to unbound types`,[F])}),ig([l,u,y],F?[F]:[],TA=>{if(TA=TA[0],F)var Ig=TA.M,mg=Ig.$;else mg=v.prototype;TA=AA(BA,function(...jB){if(Object.getPrototypeOf(this)!==HI)throw new hA(`Use 'new' to construct ${BA}`);if(yg.Z===void 0)throw new hA(`${BA} has no accessible constructor`);var KQ=yg.Z[jB.length];if(KQ===void 0)throw new hA(`Tried to invoke ctor of ${BA} with invalid number of parameters (${jB.length}) - expected (${Object.keys(yg.Z).toString()}) parameters instead!`);return KQ.apply(this,jB)});var HI=Object.create(mg,{constructor:{value:TA}});TA.prototype=HI;var vg,yg=new JA(BA,TA,HI,sg,Ig,T,P,QA);return yg.U&&((vg=yg.U).ja??(vg.ja=[]),yg.U.ja.push(yg)),Ig=new nI(BA,yg,!0,!1,!1),vg=new nI(BA+"*",yg,!1,!1,!1),mg=new nI(BA+" const*",yg,!1,!0,!1),V[l]={pointerType:vg,oa:mg},VI(gg,TA),[Ig,vg,mg]})},g:(l,u,y,F,L,T)=>{var H=kI(u,y);L=og(F,L),ig([],[l],P=>{var IA=`constructor ${(P=P[0]).name}`;if(P.M.Z===void 0&&(P.M.Z=[]),P.M.Z[u-1]!==void 0)throw new hA(`Cannot register multiple constructors with identical number of parameters (${u-1}) for class '${P.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return P.M.Z[u-1]=()=>{sI(`Cannot construct ${P.name} due to unbound types`,H)},ig([],H,QA=>(QA.splice(1,0,null),P.M.Z[u-1]=mI(IA,QA,null,L,T),[])),[]})},b:(l,u,y,F,L,T,H,P,IA)=>{var QA=kI(y,F);u=vA(u),u=ZI(u),T=og(L,T),ig([],[l],BA=>{function pA(){sI(`Cannot call ${sg} due to unbound types`,QA)}var sg=`${(BA=BA[0]).name}.${u}`;u.startsWith("@@")&&(u=Symbol[u.substring(2)]),P&&BA.M.ya.push(u);var gg=BA.M.$,TA=gg[u];return TA===void 0||TA.R===void 0&&TA.className!==BA.name&&TA.aa===y-2?(pA.aa=y-2,pA.className=BA.name,gg[u]=pA):(yA(gg,u,sg),gg[u].R[y-2]=pA),ig([],QA,Ig=>(Ig=mI(sg,Ig,BA,T,H,IA),gg[u].R===void 0?(Ig.aa=y-2,gg[u]=Ig):gg[u].R[y-2]=Ig,[])),[]})},z:l=>N(l,$I),r:(l,u,y,F)=>{function L(){}u=vA(u),L.values={},N(l,{name:u,constructor:L,N:function(T){return this.constructor.values[T]},T:(T,H)=>H.value,X:UB(u,y,F),V:null}),dA(u,L)},d:(l,u,y)=>{var F=AB(l,"enum");u=vA(u),l=F.constructor,F=Object.create(F.constructor.prototype,{value:{value:y},constructor:{value:AA(`${F.name}_${u}`,function(){})}}),l.values[y]=F,l[u]=F},m:(l,u,y)=>{N(l,{name:u=vA(u),N:F=>F,T:(F,L)=>L,X:LB(u,y),V:null})},l:(l,u,y,F,L,T,H)=>{var P=kI(u,y);l=vA(l),l=ZI(l),L=og(F,L),dA(l,function(){sI(`Cannot call ${l} due to unbound types`,P)},u-1),ig([],P,IA=>(IA=[IA[0],null].concat(IA.slice(1)),VI(l,mI(l,IA,null,L,T,H),u-1),[]))},c:(l,u,y,F,L)=>{u=vA(u);let T=P=>P;if(F===0){var H=32-8*y;T=P=>P<<H>>>H,L=T(L)}N(l,{name:u,N:T,T:(P,IA)=>IA,X:J(u,y,F!==0),V:null})},a:(l,u,y)=>{function F(T){return new L(D.buffer,p[T+4>>2],p[T>>2])}var L=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][u];N(l,{name:y=vA(y),N:F,X:F},{wa:!0})},h:l=>{N(l,JB)},A:(l,u)=>{N(l,{name:u=vA(u),N(y){var F=(F=y+4)?IB.decode(b.subarray(F,YI(b,F,p[y>>2],!0))):"";return qg(y),F},T(y,F){F instanceof ArrayBuffer&&(F=new Uint8Array(F));var L=typeof F=="string";if(!(L||ArrayBuffer.isView(F)&&F.BYTES_PER_ELEMENT==1))throw new hA("Cannot pass non-string to std::string");var T=L?gB(F):F.length,H=KB(4+T+1),P=H+4;return p[H>>2]=T,L?Hg(F,P,T+1):b.set(F,P),y!==null&&y.push(qg,H),H},X:RA,V(y){qg(y)}})},f:(l,u,y)=>{if(y=vA(y),u===2)var F=DA,L=ng,T=xI;else F=Kg,L=II,T=YB;N(l,{name:y,N:H=>{var P=F(H+4,p[H>>2]*u,!0);return qg(H),P},T:(H,P)=>{if(typeof P!="string")throw new hA(`Cannot pass non-string to C++ string type ${y}`);var IA=T(P),QA=KB(4+IA+u);return p[QA>>2]=IA/u,L(P,QA+4,IA+u),H!==null&&H.push(qg,QA),QA},X:RA,V(H){qg(H)}})},i:(l,u,y,F,L,T)=>{rA[l]={name:vA(u),ia:og(y,F),Y:og(L,T),la:[]}},e:(l,u,y,F,L,T,H,P,IA,QA)=>{rA[l].la.push({qa:vA(u),va:y,ta:og(F,L),ua:T,Ba:H,Aa:og(P,IA),Ca:QA})},C:(l,u)=>{N(l,{ma:!0,name:u=vA(u),N:()=>{},T:()=>{}})},p:(l,u,y)=>{var[F,...L]=((IA,QA)=>{for(var BA=Array(IA),pA=0;pA<IA;++pA)BA[pA]=AB(p[QA+4*pA>>2],`parameter ${pA}`);return BA})(l,u);u=F.T.bind(F);var T=L.map(IA=>IA.X.bind(IA));l--;var H={toValue:LI};switch(l=T.map((IA,QA)=>{var BA=`argFromPtr${QA}`;return H[BA]=IA,`${BA}(args${QA?"+"+8*QA:""})`}),y){case 0:var P="toValue(handle)";break;case 2:P="new (toValue(handle))";break;case 3:P="";break;case 1:H.getStringOrSymbol=pa,P="toValue(handle)[getStringOrSymbol(methodName)]"}return P+=`(${l})`,F.ma||(H.toReturnWire=u,H.emval_returnValue=Ga,P=`return emval_returnValue(toReturnWire, destructorsRef, ${P})`),P=`return function (handle, methodName, destructorsRef, args) {
15
+ `),l=new Function(rg,BA+`}
16
+ `)(...F),gA(u,l)}for(var UI,_I=u=>{const l=(u=u.trim()).indexOf("(");return l===-1?u:u.slice(0,l)},$I=[],xg=[0,1,,1,null,1,!0,1,!1,1],SI=u=>{9<u&&--xg[u+1]==0&&(xg[u]=void 0,$I.push(u))},LI=u=>{if(!u)throw new DA(`Cannot use deleted val. handle = ${u}`);return xg[u]},JI=u=>{switch(u){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:const l=$I.pop()||xg.length;return xg[l]=u,xg[l+1]=1,l}},AB={name:"emscripten::val",N:u=>{var l=LI(u);return SI(u),l},T:(u,l)=>JI(l),X:RA,V:null},LB=(u,l,y)=>{switch(l){case 1:return y?function(F){return this.N(D[F])}:function(F){return this.N(w[F])};case 2:return y?function(F){return this.N(h[F>>1])}:function(F){return this.N(d[F>>1])};case 4:return y?function(F){return this.N(f[F>>2])}:function(F){return this.N(p[F>>2])};default:throw new TypeError(`invalid integer width (${l}): ${u}`)}},gB=(u,l)=>{var y=hA[u];if(y===void 0)throw u=`${l} has unknown type ${XI(u)}`,new DA(u);return y},JB=(u,l)=>{switch(l){case 4:return function(y){return this.N(R[y>>2])};case 8:return function(y){return this.N(k[y>>3])};default:throw new TypeError(`invalid float width (${l}): ${u}`)}},YB=Object.assign({optional:!0},AB),Hg=(u,l,y)=>{var F=w;if(!(0<y))return 0;var L=l;y=l+y-1;for(var O=0;O<u.length;++O){var K=u.codePointAt(O);if(127>=K){if(l>=y)break;F[l++]=K}else if(2047>=K){if(l+1>=y)break;F[l++]=192|K>>6,F[l++]=128|63&K}else if(65535>=K){if(l+2>=y)break;F[l++]=224|K>>12,F[l++]=128|K>>6&63,F[l++]=128|63&K}else{if(l+3>=y)break;F[l++]=240|K>>18,F[l++]=128|K>>12&63,F[l++]=128|K>>6&63,F[l++]=128|63&K,O++}}return F[l]=0,l-L},IB=u=>{for(var l=0,y=0;y<u.length;++y){var F=u.charCodeAt(y);127>=F?l++:2047>=F?l+=2:55296<=F&&57343>=F?(l+=4,++y):l+=3}return l},BB=new TextDecoder,YI=(u,l,y,F)=>{if(y=l+y,F)return y;for(;u[l]&&!(l>=y);)++l;return l},gI=new TextDecoder("utf-16le"),dA=(u,l,y)=>(u>>=1,gI.decode(d.subarray(u,YI(d,u,l/2,y)))),sg=(u,l,y)=>{if(y??(y=2147483647),2>y)return 0;var F=l;y=(y-=2)<2*u.length?y/2:u.length;for(var L=0;L<y;++L)h[l>>1]=u.charCodeAt(L),l+=2;return h[l>>1]=0,l-F},xI=u=>2*u.length,Kg=(u,l,y)=>{var F="";u>>=2;for(var L=0;!(L>=l/4);L++){var O=p[u+L];if(!O&&!y)break;F+=String.fromCodePoint(O)}return F},II=(u,l,y)=>{if(y??(y=2147483647),4>y)return 0;var F=l;y=F+y-4;for(var L=0;L<u.length;++L){var O=u.codePointAt(L);if(65535<O&&L++,f[l>>2]=O,(l+=4)+4>y)break}return f[l>>2]=0,l-F},xB=u=>{for(var l=0,y=0;y<u.length;++y)65535<u.codePointAt(y)&&y++,l+=4;return l},HB=[],NE=(u,l,y)=>{var F=[];return u=u(F,y),F.length&&(p[l>>2]=JI(F)),u},kE={},mE=u=>{var l=kE[u];return l===void 0?vA(u):l},KB={},HQ=()=>{if(!UI){var u,l={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.language||"C").replace("-","_")+".UTF-8",_:t||"./this.program"};for(u in KB)KB[u]===void 0?delete l[u]:l[u]=KB[u];var y=[];for(u in l)y.push(`${u}=${l[u]}`);UI=y}return UI},UE=[null,[],[]],kg=new Uint8Array(123),jg=25;0<=jg;--jg)kg[48+jg]=52+jg,kg[65+jg]=jg,kg[97+jg]=26+jg;kg[43]=62,kg[47]=63,(()=>{let u=T.prototype;Object.assign(u,{isAliasOf:function(y){if(!(this instanceof T&&y instanceof T))return!1;var F=this.L.P.M,L=this.L.O;y.L=y.L;var O=y.L.P.M;for(y=y.L.O;F.U;)L=F.ea(L),F=F.U;for(;O.U;)y=O.ea(y),O=O.U;return F===O&&L===y},clone:function(){if(this.L.O||H(this),this.L.da)return this.L.count.value+=1,this;var y=Z,F=Object,L=F.create,O=Object.getPrototypeOf(this),K=this.L;return(y=y(L.call(F,O,{L:{value:{count:K.count,ba:K.ba,da:K.da,O:K.O,P:K.P,S:K.S,W:K.W}}}))).L.count.value+=1,y.L.ba=!1,y},delete(){if(this.L.O||H(this),this.L.ba&&!this.L.da)throw new DA("Object already scheduled for deletion");W(this);var y=this.L;--y.count.value,y.count.value===0&&(y.S?y.W.Y(y.S):y.P.M.Y(y.O)),this.L.da||(this.L.S=void 0,this.L.O=void 0)},isDeleted:function(){return!this.L.O},deleteLater:function(){if(this.L.O||H(this),this.L.ba&&!this.L.da)throw new DA("Object already scheduled for deletion");return this.L.ba=!0,this}});const l=Symbol.dispose;l&&(u[l]=u.delete)})(),Object.assign(nI.prototype,{sa(u){return this.na&&(u=this.na(u)),u},ka(u){var l;(l=this.Y)==null||l.call(this,u)},X:RA,N:function(u){function l(){return this.ga?oI(this.M.$,{P:this.xa,O:y,W:this,S:u}):oI(this.M.$,{P:this,O:u})}var y=this.sa(u);if(!y)return this.ka(u),null;var F=((O,K)=>{if(K===void 0)throw new DA("ptr should not be undefined");for(;O.U;)K=O.ea(K),O=O.U;return UB[K]})(this.M,y);if(F!==void 0)return F.L.count.value===0?(F.L.O=y,F.L.S=u,F.clone()):(F=F.clone(),this.ka(u),F);if(F=this.M.ra(y),!(F=V[F]))return l.call(this);F=this.fa?F.oa:F.pointerType;var L=AI(y,this.M,F.M);return L===null?l.call(this):this.ga?oI(F.M.$,{P:F,O:L,W:this,S:u}):oI(F.M.$,{P:F,O:L})}}),I.print&&(S=I.print),I.printErr&&(U=I.printErr),I.wasmBinary&&(s=I.wasmBinary),I.thisProgram&&(t=I.thisProgram);var KQ,jB,qg,SE={x:()=>nA(""),q:u=>{var l=rA[u];delete rA[u];var y=l.ia,F=l.Y,L=l.la,O=L.map(K=>K.va).concat(L.map(K=>K.Ba));tg([u],O,K=>{var P={};return L.forEach((IA,QA)=>{var BA=K[QA],pA=IA.ta,rg=IA.ua,gg=K[QA+L.length],TA=IA.Aa,Ig=IA.Ca;P[IA.qa]={read:mg=>BA.N(pA(rg,mg)),write:(mg,HI)=>{var vg=[];TA(Ig,mg,gg.T(vg,HI)),FA(vg)},optional:K[QA].optional}}),[{name:l.name,N:IA=>{var QA,BA={};for(QA in P)BA[QA]=P[QA].read(IA);return F(IA),BA},T:(IA,QA)=>{for(var BA in P)if(!(BA in QA)&&!P[BA].optional)throw new TypeError(`Missing field: "${BA}"`);var pA=y();for(BA in P)P[BA].write(pA,QA[BA]);return IA!==null&&IA.push(F,pA),pA},X:RA,V:F}]})},n:(u,l,y,F,L)=>{l=vA(l);let O=K=>K;if(F=F===0n){const K=8*y;O=P=>BigInt.asUintN(K,P),L=O(L)}m(u,{name:l,N:O,T:(K,P)=>(typeof P=="number"&&(P=BigInt(P)),P),X:J(l,y,!F),V:null})},B:(u,l,y,F)=>{m(u,{name:l=vA(l),N:function(L){return!!L},T:function(L,O){return O?y:F},X:function(L){return this.N(w[L])},V:null})},j:(u,l,y,F,L,O,K,P,IA,QA,BA,pA,rg)=>{BA=vA(BA),O=ng(L,O),P&&(P=ng(K,P)),QA&&(QA=ng(IA,QA)),rg=ng(pA,rg);var gg=(TA=>{var Ig=(TA=TA.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=Ig&&57>=Ig?`_${TA}`:TA})(BA);bA(gg,function(){sI(`Cannot construct ${BA} due to unbound types`,[F])}),tg([u,l,y],F?[F]:[],TA=>{if(TA=TA[0],F)var Ig=TA.M,mg=Ig.$;else mg=T.prototype;TA=gA(BA,function(...qB){if(Object.getPrototypeOf(this)!==HI)throw new DA(`Use 'new' to construct ${BA}`);if(yg.Z===void 0)throw new DA(`${BA} has no accessible constructor`);var jQ=yg.Z[qB.length];if(jQ===void 0)throw new DA(`Tried to invoke ctor of ${BA} with invalid number of parameters (${qB.length}) - expected (${Object.keys(yg.Z).toString()}) parameters instead!`);return jQ.apply(this,qB)});var HI=Object.create(mg,{constructor:{value:TA}});TA.prototype=HI;var vg,yg=new JA(BA,TA,HI,rg,Ig,O,P,QA);return yg.U&&((vg=yg.U).ja??(vg.ja=[]),yg.U.ja.push(yg)),Ig=new nI(BA,yg,!0,!1,!1),vg=new nI(BA+"*",yg,!1,!1,!1),mg=new nI(BA+" const*",yg,!1,!0,!1),V[u]={pointerType:vg,oa:mg},zI(gg,TA),[Ig,vg,mg]})},g:(u,l,y,F,L,O)=>{var K=kI(l,y);L=ng(F,L),tg([],[u],P=>{var IA=`constructor ${(P=P[0]).name}`;if(P.M.Z===void 0&&(P.M.Z=[]),P.M.Z[l-1]!==void 0)throw new DA(`Cannot register multiple constructors with identical number of parameters (${l-1}) for class '${P.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return P.M.Z[l-1]=()=>{sI(`Cannot construct ${P.name} due to unbound types`,K)},tg([],K,QA=>(QA.splice(1,0,null),P.M.Z[l-1]=mI(IA,QA,null,L,O),[])),[]})},b:(u,l,y,F,L,O,K,P,IA)=>{var QA=kI(y,F);l=vA(l),l=_I(l),O=ng(L,O),tg([],[u],BA=>{function pA(){sI(`Cannot call ${rg} due to unbound types`,QA)}var rg=`${(BA=BA[0]).name}.${l}`;l.startsWith("@@")&&(l=Symbol[l.substring(2)]),P&&BA.M.ya.push(l);var gg=BA.M.$,TA=gg[l];return TA===void 0||TA.R===void 0&&TA.className!==BA.name&&TA.aa===y-2?(pA.aa=y-2,pA.className=BA.name,gg[l]=pA):(yA(gg,l,rg),gg[l].R[y-2]=pA),tg([],QA,Ig=>(Ig=mI(rg,Ig,BA,O,K,IA),gg[l].R===void 0?(Ig.aa=y-2,gg[l]=Ig):gg[l].R[y-2]=Ig,[])),[]})},z:u=>m(u,AB),r:(u,l,y,F)=>{function L(){}l=vA(l),L.values={},m(u,{name:l,constructor:L,N:function(O){return this.constructor.values[O]},T:(O,K)=>K.value,X:LB(l,y,F),V:null}),bA(l,L)},d:(u,l,y)=>{var F=gB(u,"enum");l=vA(l),u=F.constructor,F=Object.create(F.constructor.prototype,{value:{value:y},constructor:{value:gA(`${F.name}_${l}`,function(){})}}),u.values[y]=F,u[l]=F},m:(u,l,y)=>{m(u,{name:l=vA(l),N:F=>F,T:(F,L)=>L,X:JB(l,y),V:null})},l:(u,l,y,F,L,O,K)=>{var P=kI(l,y);u=vA(u),u=_I(u),L=ng(F,L),bA(u,function(){sI(`Cannot call ${u} due to unbound types`,P)},l-1),tg([],P,IA=>(IA=[IA[0],null].concat(IA.slice(1)),zI(u,mI(u,IA,null,L,O,K),l-1),[]))},c:(u,l,y,F,L)=>{l=vA(l);let O=P=>P;if(F===0){var K=32-8*y;O=P=>P<<K>>>K,L=O(L)}m(u,{name:l,N:O,T:(P,IA)=>IA,X:J(l,y,F!==0),V:null})},a:(u,l,y)=>{function F(O){return new L(D.buffer,p[O+4>>2],p[O>>2])}var L=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][l];m(u,{name:y=vA(y),N:F,X:F},{wa:!0})},h:u=>{m(u,YB)},A:(u,l)=>{m(u,{name:l=vA(l),N(y){var F=(F=y+4)?BB.decode(w.subarray(F,YI(w,F,p[y>>2],!0))):"";return qg(y),F},T(y,F){F instanceof ArrayBuffer&&(F=new Uint8Array(F));var L=typeof F=="string";if(!(L||ArrayBuffer.isView(F)&&F.BYTES_PER_ELEMENT==1))throw new DA("Cannot pass non-string to std::string");var O=L?IB(F):F.length,K=jB(4+O+1),P=K+4;return p[K>>2]=O,L?Hg(F,P,O+1):w.set(F,P),y!==null&&y.push(qg,K),K},X:RA,V(y){qg(y)}})},f:(u,l,y)=>{if(y=vA(y),l===2)var F=dA,L=sg,O=xI;else F=Kg,L=II,O=xB;m(u,{name:y,N:K=>{var P=F(K+4,p[K>>2]*l,!0);return qg(K),P},T:(K,P)=>{if(typeof P!="string")throw new DA(`Cannot pass non-string to C++ string type ${y}`);var IA=O(P),QA=jB(4+IA+l);return p[QA>>2]=IA/l,L(P,QA+4,IA+l),K!==null&&K.push(qg,QA),QA},X:RA,V(K){qg(K)}})},i:(u,l,y,F,L,O)=>{rA[u]={name:vA(l),ia:ng(y,F),Y:ng(L,O),la:[]}},e:(u,l,y,F,L,O,K,P,IA,QA)=>{rA[u].la.push({qa:vA(l),va:y,ta:ng(F,L),ua:O,Ba:K,Aa:ng(P,IA),Ca:QA})},C:(u,l)=>{m(u,{ma:!0,name:l=vA(l),N:()=>{},T:()=>{}})},p:(u,l,y)=>{var[F,...L]=((IA,QA)=>{for(var BA=Array(IA),pA=0;pA<IA;++pA)BA[pA]=gB(p[QA+4*pA>>2],`parameter ${pA}`);return BA})(u,l);l=F.T.bind(F);var O=L.map(IA=>IA.X.bind(IA));u--;var K={toValue:LI};switch(u=O.map((IA,QA)=>{var BA=`argFromPtr${QA}`;return K[BA]=IA,`${BA}(args${QA?"+"+8*QA:""})`}),y){case 0:var P="toValue(handle)";break;case 2:P="new (toValue(handle))";break;case 3:P="";break;case 1:K.getStringOrSymbol=mE,P="toValue(handle)[getStringOrSymbol(methodName)]"}return P+=`(${u})`,F.ma||(K.toReturnWire=l,K.emval_returnValue=NE,P=`return emval_returnValue(toReturnWire, destructorsRef, ${P})`),P=`return function (handle, methodName, destructorsRef, args) {
17
17
  ${P}
18
- }`,y=new Function(Object.keys(H),P)(...Object.values(H)),P=`methodCaller<(${L.map(IA=>IA.name)}) => ${F.name}>`,(IA=>{var QA=xB.length;return xB.push(IA),QA})(AA(P,y))},E:UI,o:(l,u,y,F,L)=>xB[l](u,y,F,L),D:l=>{var u=LI(l);FA(u),UI(l)},s:(l,u,y,F)=>{var L=new Date().getFullYear(),T=new Date(L,0,1).getTimezoneOffset();L=new Date(L,6,1).getTimezoneOffset(),p[l>>2]=60*Math.max(T,L),f[u>>2]=+(T!=L),u=H=>{var P=Math.abs(H);return`UTC${0<=H?"-":"+"}${String(Math.floor(P/60)).padStart(2,"0")}${String(P%60).padStart(2,"0")}`},l=u(T),u=u(L),L<T?(Hg(l,y,17),Hg(u,F,17)):(Hg(l,F,17),Hg(u,y,17))},y:l=>{var u=b.length;if(2147483648<(l>>>=0))return!1;for(var y=1;4>=y;y*=2){var F=u*(1+.2/y);F=Math.min(F,l+100663296);A:{F=(Math.min(2147483648,65536*Math.ceil(Math.max(l,F)/65536))-c.buffer.byteLength+65535)/65536|0;try{c.grow(F),$();var L=1;break A}catch{}L=void 0}if(L)return!0}return!1},t:(l,u)=>{var y,F=0,L=0;for(y of xQ()){var T=u+F;p[l+L>>2]=T,F+=Hg(y,T,1/0)+1,L+=4}return 0},u:(l,u)=>{var y=xQ();for(var F of(p[l>>2]=y.length,l=0,y))l+=gB(F)+1;return p[u>>2]=l,0},v:()=>52,w:function(){return 70},k:(l,u,y,F)=>{for(var L=0,T=0;T<y;T++){var H=p[u>>2],P=p[u+4>>2];u+=8;for(var IA=0;IA<P;IA++){var QA=l,BA=b[H+IA],pA=Na[QA];BA===0||BA===10?(QA=QA===1?U:S,BA=YI(pA,0),QA(BA=IB.decode(pA.buffer?pA.subarray(0,BA):new Uint8Array(pA.slice(0,BA)))),pA.length=0):pA.push(BA)}L+=P}return p[F>>2]=L,0}},rI=await async function(){var l;function u(F){var L;return rI=F.exports,c=rI.F,$(),PI=rI.H,HQ=(F=rI).I,I._malloc=KB=F.J,I._free=qg=F.K,aA--,(L=I.monitorRunDependencies)==null||L.call(I,aA),aA==0&&wA&&(F=wA,wA=null,F()),rI}aA++,(l=I.monitorRunDependencies)==null||l.call(I,aA);var y={a:ka};return I.instantiateWasm?new Promise(F=>{I.instantiateWasm(y,(L,T)=>{F(u(L))})}):(X??(X=(F=>{if(E)return F=Buffer.from(F,"base64"),new Uint8Array(F.buffer,F.byteOffset,F.length);for(var L,T,H=0,P=0,IA=F.length,QA=new Uint8Array((3*IA>>2)-(F[IA-2]=="=")-(F[IA-1]=="="));H<IA;H+=4,P+=3)L=kg[F.charCodeAt(H+1)],T=kg[F.charCodeAt(H+2)],QA[P]=kg[F.charCodeAt(H)]<<2|L>>4,QA[P+1]=L<<4|T>>2,QA[P+2]=T<<6|kg[F.charCodeAt(H+3)];return QA})("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C0EAEKEDRQRAQZiDASEBIARBmIMBQRgQiwFFDQJBsIMBIQEgBEGwgwFBGBCLAUUNAkEAIQBBvO4BLQAARQRAA0AgAEECdCAAQcYfEKIDNgKM7gEgAEEBaiIAQQZHDQALQbzuAUEBOgAAQaTuAUGM7gEoAgA2AgALQYzuASEBIAJBCGoiAEGM7gFBGBCLAUUNAkGk7gEhASAAQaTuAUEYEIsBRQ0CQRgQNCIBRQ0BCyABIAIpAgg3AgAgASACKQIYNwIQIAEgAikCEDcCCAwBC0EAIQELIAJBIGokAEGc8QFBAToAAEGY8QEgATYCACABC80KAgV/CX4jAEHgAGsiBSQAIARC////////P4MhCiACIASFQoCAgICAgICAgH+DIQsgAkL///////8/gyIMQiCIIQ8gBEIwiKdB//8BcSEHAkACQCACQjCIp0H//wFxIglB//8Ba0GCgH5PBEAgB0H//wFrQYGAfksNAQsgAVAgAkL///////////8AgyINQoCAgICAgMD//wBUIA1CgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCwwCCyADUCAEQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCELIAMhAQwCCyABIA1CgICAgICAwP//AIWEUARAIAIgA4RQBEBCgICAgICA4P//ACELQgAhAQwDCyALQoCAgICAgMD//wCEIQtCACEBDAILIAMgAkKAgICAgIDA//8AhYRQBEAgASANhEIAIQFQBEBCgICAgICA4P//ACELDAMLIAtCgICAgICAwP//AIQhCwwCCyABIA2EUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyANQv///////z9YBEAgBUHQAGogASAMIAEgDCAMUCIGG3lCwABCACAGG3ynIgZBD2sQREEQIAZrIQYgBSkDWCIMQiCIIQ8gBSkDUCEBCyACQv///////z9WDQAgBUFAayADIAogAyAKIApQIggbeULAAEIAIAgbfKciCEEPaxBEIAYgCGtBEGohBiAFKQNIIQogBSkDQCEDCyAHIAlqIAZqQf//AGshBgJAIApCD4YiDkIgiEKAgICACIQiAiABQiCIIgR+IhAgA0IPhiIRQiCIIgogD0KAgASEIg1+fCIPIBBUrSAPIANCMYggDoRC/////w+DIgMgDEL/////D4MiDH58Ig4gD1StfCACIA1+fCAOIA4gEUKAgP7/D4MiDyAMfiIRIAQgCn58IhAgEVStIBAgECADIAFC/////w+DIgF+fCIQVq18fCIOVq18IAMgDX4iEiACIAx+fCIRIBJUrUIghiARQiCIhHwgDiAOIBFCIIZ8Ig5WrXwgDiANIA9+Ig0gCiAMfnwiDCABIAJ+fCICIAMgBH58IgNCIIggAiADVq0gDCANVK0gAiAMVK18fEIghoR8IgIgDlStfCACIBAgBCAPfiIMIAEgCn58IgRCIIggBCAMVK1CIIaEfCIKIBBUrSAKIANCIIZ8IgMgClStfHwiCiACVK18IAogAyAEQiCGIgIgASAPfnwiASACVK18IgIgA1StfCIEIApUrXwiA0KAgICAgIDAAINQRQRAIAZBAWohBgwBCyABQj+IIANCAYYgBEI/iIQhAyAEQgGGIAJCP4iEIQQgAUIBhiEBIAJCAYaEIQILIAZB//8BTgRAIAtCgICAgICAwP//AIQhC0IAIQEMAQsCfiAGQQBMBEBBASAGayIHQf8ATQRAIAVBMGogASACIAZB/wBqIgYQRCAFQSBqIAQgAyAGEEQgBUEQaiABIAIgBxCKASAFIAQgAyAHEIoBIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQEgBSkDKCAFKQMYhCECIAUpAwAhBCAFKQMIDAILQgAhAQwCCyADQv///////z+DIAatQjCGhAsgC4QhCyABUCACQgBZIAJCgICAgICAgICAf1EbRQRAIAsgBEIBfCIBUK18IQsMAQsgASACQoCAgICAgICAgH+FhFBFBEAgBCEBDAELIAsgBCAEQgGDfCIBIARUrXwhCwsgACABNwMAIAAgCzcDCCAFQeAAaiQACwYAIAAQLQt8AQN/IwBBEGsiASQAIAEgADYCDCMAQRBrIgIkACAAKAIAQX9HBEAgAkEIaiACQQxqIAFBDGoQVRBVIQMDQCAAKAIAQQFGDQALIAAoAgBFBEAgAEEBNgIAIAMQ0gIgAEF/NgIACwsgAkEQaiQAIAAoAgQgAUEQaiQAQQFrCyAAIAAgAUEBazYCBCAAQeDVATYCACAAQZCtATYCACAAC/cFAQl/IwBBEGsiCSQAIAEQ1wIgCUEMaiABEFUhCCAAQQhqIgMQayACTQRAAkAgAkEBaiIAIAMQayIBSwRAIwBBIGsiCiQAAkAgACABayIHIAMoAgggAygCBGtBAnVNBEAgAyAHENkCDAELIApBDGohAQJ/IAMQayAHaiEFIwBBEGsiACQAIAAgBTYCDCAFELwCIgRNBEAgAxC5AiIFIARBAXZJBEAgACAFQQF0NgIIIABBCGogAEEMahCgASgCACEECyAAQRBqJAAgBAwBCxCMAQALIQQgAxBrIQUjAEEQayIAJAAgASADQQxqIgs2AhAgAUEANgIMIAQEfyAAQQhqIAsgBBC7AiAAKAIIIQYgACgCDAVBAAshBCABIAY2AgAgASAGIAVBAnRqIgU2AgggASAGIARBAnRqNgIMIAEgBTYCBCAAQRBqJAAjAEEQayIGJAAgASgCCCEEIAZBBGoiACABQQhqNgIIIAAgBDYCACAAIAQgB0ECdGo2AgQgACgCACEEA0AgACgCBCAERwRAIAEoAhAaIAQQugIgACAAKAIAQQRqIgQ2AgAMAQsLIAAoAgggACgCADYCACAGQRBqJAAgASgCBCADKAIAIgAgAygCBGtqIQQgAygCBCAAayIHBEAgBCAAIAf8CgAACyABIAQ2AgQgAyADKAIANgIEIAMgAUEEahDXASADQQRqIAFBCGoQ1wEgA0EIaiABQQxqENcBIAEgASgCBDYCACADEGsaIAEoAgQhAANAIAEoAggiBCAARwRAIAEgBEEEazYCCCABKAIQGgwBCwsgASgCACIABEAgASgCECAAIAEoAgwgASgCAGtBAnUQuAILCyAKQSBqJAAMAQsgACABSQRAIAMoAgAgAEECdGohACADEGsaIAMgABDYAgsLCyADIAIQggEoAgAEQCADIAIQggEoAgAQvwELIAgQrAEhACADIAIQggEgADYCACAIKAIAIQAgCEEANgIAIAAEQCAAEL8BCyAJQRBqJAALySgBC38jAEEQayIKJAACQAJAAkACQAJAAkACQAJAAkACQCAAQfQBTQRAQYzqASgCACIEQRAgAEELakH4A3EgAEELSRsiBkEDdiIAdiIBQQNxBEACQCABQX9zQQFxIABqIgJBA3QiAUG06gFqIgAgASgCvOoBIgEoAggiBUYEQEGM6gEgBEF+IAJ3cTYCAAwBCyAFIAA2AgwgACAFNgIICyABQQhqIQAgASACQQN0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KAIAKAIcEQQAC8EBAQN/IAAtAABBIHFFBEACQCAAKAIQIgMEfyADBSAAEN8BDQEgACgCEAsgACgCFCIEayACSQRAIAAgASACIAAoAiQRAwAaDAELAkACQCACRSAAKAJQQQBIcg0AIAIhAwNAIAEgA2oiBUEBay0AAEEKRwRAIANBAWsiAw0BDAILCyAAIAEgAyAAKAIkEQMAIANJDQIgAiADayECIAAoAhQhBAwBCyABIQULIAQgBSACEHEaIAAgACgCFCACajYCFAsLC6EBAQJ/AkAgABAfRSACIAFrQQVIcg0AIAEgAhDHASACQQRrIQQgABAjIgIgABAfaiEFAkADQAJAIAIsAAAhACABIARPDQAgAEEATCAAQf8ATnJFBEAgASgCACACLAAARw0DCyABQQRqIQEgAiAFIAJrQQFKaiECDAELCyAAQQBMIABB/wBOcg0BIAIsAAAgBCgCAEEBa0sNAQsgA0EENgIACwtQAQF+AkAgA0HAAHEEQCABIANBQGqthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUHAACADa62IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAtpAQF/IwBBgAJrIgUkACAEQYDABHEgAiADTHJFBEAgBSABIAIgA2siA0GAAiADQYACSSIBGxCYAiABRQRAA0AgACAFQYACEEIgA0GAAmsiA0H/AUsNAAsLIAAgBSADEEILIAVBgAJqJAALBABBAAsKACAALQALQQd2CwoAIABB0PIBEHoLCgAgAEHY8gEQegvPCQIEfwR+IwBB8ABrIgYkACAEQv///////////wCDIQkCQAJAIAFQIgUgAkL///////////8AgyIKQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIApQG0UEQCADQgBSIAlCgICAgICAwP//AH0iC0KAgICAgIDAgIB/ViALQoCAgICAgMCAgH9RGw0BCyAFIApCgICAgICAwP//AFQgCkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIApCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIFGyEEQgAgASAFGyEDDAILIAMgCUKAgICAgIDA//8AhYRQDQEgASAKhFAEQCADIAmEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAmEUEUNACABIQMgAiEEDAELIAMgASABIANUIAkgClYgCSAKURsiCBshCiAEIAIgCBsiDEL///////8/gyEJIAIgBCAIGyILQjCIp0H//wFxIQcgDEIwiKdB//8BcSIFRQRAIAZB4ABqIAogCSAKIAkgCVAiBRt5QsAAQgAgBRt8pyIFQQ9rEEQgBikDaCEJIAYpA2AhCkEQIAVrIQULIAEgAyAIGyEDIAtC////////P4MhASAHBH4gAQUgBkHQAGogAyABIAMgASABUCIHG3lCwABCACAHG3ynIgdBD2sQREEQIAdrIQcgBikDUCEDIAYpA1gLQgOGIANCPYiEQoCAgICAgIAEhCEBIAlCA4YgCkI9iIQgAiAEhSEEAn4gA0IDhiICIAUgB0YNABogBSAHayIHQf8ASwRAQgAhAUIBDAELIAZBQGsgAiABQYABIAdrEEQgBkEwaiACIAEgBxCKASAGKQM4IQEgBikDMCAGKQNAIAYpA0iEQgBSrYQLIQlCgICAgICAgASEIQsgCkIDhiEKAkAgBEIAUwRAQgAhA0IAIQQgCSAKhSABIAuFhFANAiAKIAl9IQIgCyABfSAJIApWrX0iBEL/////////A1YNASAGQSBqIAIgBCACIAQgBFAiBxt5QsAAQgAgBxt8p0EMayIHEEQgBSAHayEFIAYpAyghBCAGKQMgIQIMAQsgCSAKfCICIAlUrSABIAt8fCIEQoCAgICAgIAIg1ANACAJQgGDIARCP4YgAkIBiISEIQIgBUEBaiEFIARCAYghBAsgDEKAgICAgICAgIB/gyEDIAVB//8BTgRAIANCgICAgICAwP//AIQhBEIAIQMMAQtBACEHAkAgBUEASgRAIAUhBwwBCyAGQRBqIAIgBCAFQf8AahBEIAYgAiAEQQEgBWsQigEgBikDACAGKQMQIAYpAxiEQgBSrYQhAiAGKQMIIQQLIARCPYYgAkIDiIQhASAEQgOIQv///////z+DIAetQjCGhCADhCEEAkACQCACp0EHcSIFQQRHBEAgBCABIAEgBUEES618IgNWrXwhBAwBCyAEIAEgASABQgGDfCIDVq18IQQMAQsgBUUN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C14BA38gAEEANgIIIABCADcCACABKAIAIQMgASgCBCIBIANrIgRBAnUiAgRAIAAgAhCuAyAAKAIEIQIgBEUgASADRnJFBEAgAiADIAT8CgAACyAAIAIgBGo2AgQLIAALDQAgACgCACABQQJ0agsXACAAEEcEQCAAIAE2AgQPCyAAIAEQUAthAQF/IwBBEGsiAiQAIAIgADYCDAJAIAAgAUYNAANAIAIgAUEBayIBNgIIIAAgAU8NASACKAIMIAIoAggQ8wIgAiACKAIMQQFqIgA2AgwgAigCCCEBDAALAAsgAkEQaiQAC6wBAQR/IwBBEGsiByQAAkAgAEUNACAEKAIMIQYgAiABa0ECdSIIQQBKBEAgACABIAgQjQIgCEcNAQsgAyABa0ECdSIBIAZIBEAgACAHQQRqIAYgAWsiASAFEP0CIgUQIyABEI0CIQYgBRA5GiABIAZHDQELIAMgAmtBAnUiAUEASgRAIAAgAiABEI0CIAFHDQELIAQoAgwaIARBADYCDCAAIQkLIAdBEGokACAJCycBAX8jAEEQayIDJAAgAyACNgIMIABB5AAgASACENEBIANBEGokAAvbAQIBfwJ+QQEhBAJAIABCAFIgAUL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFEbDQAgAkIAUiADQv///////////wCDIgZCgICAgICAwP//AFYgBkKAgICAgIDA//8AURsNACAAIAKEIAUgBoSEUARAQQAPCyABIAODQgBZBEAgACACVCABIANTIAEgA1EbBEBBfw8LIAAgAoUgASADhYRCAFIPCyAAIAJWIAEgA1UgASADURsEQEF/DwsgACAChSABIAOFhEIAUiEECyAEC+wBAQR/IwBBEGsiBCQAIABBADYCBCMAQRBrIgUkACAEQQA6AA8gACAAKAIAQQxrKAIAahDZASEGIAAgACgCAEEMaygCAGohAwJAIAYEQCADKAJIBEAgACAAKAIAQQxrKAIAaigCSBDFAwsgBCAAIAAoAgBBDGsoAgBqENkBOgAPDAELIANBBBDVAQsgBUEQaiQAQQQhAyAELQAPBEAgACAAIAAoAgBBDGsoAgBqKAIYIgMgASACIAMoAgAoAiARAwAiATYCBEEGQQAgASACRxshAwsgACAAKAIAQQxrKAIAaiADENUBIARB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AxsLPAAgAEEANgIIIABCADcCACAAIAEoAgA2AgAgACABKAIENgIEIAAgASgCCDYCCCABQQA2AgggAUIANwIACywBAX8gAEEANgIIIABCADcCACAAIAEoAgAiAiABKAIEIgEgASACaxDAAyAACwgAIABB/wFxC/wBAQN/IAAoAgQgACgCACIDa0ECdSICIAFJBEAjAEEgayIDJAACQCABIAJrIgIgACgCCCAAKAIEIgFrQQJ1TQRAIAAoAgQiASACQQJ0aiECA0AgASACRgRAIAAgAjYCBAUgAUEANgIAIAFBBGohAQwBCwsMAQsgA0EMaiAAIAEgACgCAGtBAnUgAmoQtgEgACgCBCAAKAIAa0ECdSAAEIcCIgQoAggiASACQQJ0aiECA0AgASACRwRAIAFBADYCACABQQRqIQEMAQsLIAQgAjYCCCAAIAQQhQIgBBCBAgsgA0EgaiQADwsgASACSQRAIAAgAyABQQJ0ajYCBAsLUgECf0HU3gEoAgAiASAAQQdqQXhxIgJqIQACQCACQQAgACABTRtFBEAgAD8AQRB0TQ0BIAAQGA0BC0GI6gFBMDYCAEF/DwtB1N4BIAA2AgAgAQt/AgF+A38CQCAAQoCAgIAQVARAIAAhAgwBCwNAIAFBAWsiASAAIABCCoAiAkIKfn2nQTByOgAAIABC/////58BViACIQANAAsLIAJQRQRAIAKnIQMDQCABQQFrIgEgAyADQQpuIgRBCmxrQTByOgAAIANBCUsgBCEDDQALCyABC78BAQN/IAAoAgQgACgCACIDayICIAFJBEAjAEEgayIDJAACQCABIAJrIgIgACgCCCAAKAIEIgFrTQRAIAAgAhCYAwwBCyACIANBDGogACABIAJqIAAoAgBrELQBIAAoAgQgACgCAGsgABDGASIEKAIIIgFqIQIDQCABIAJHBEAgAUEAOgAAIAFBAWohAQwBCwsgBCACNgIIIAAgBBDvASAEELoBCyADQSBqJAAPCyABIAJJBEAgACABIANqNgIECwt9AQN/AkACQCAAIgFBA3FFDQAgAS0AAEUEQEEADwsDQCABQQFqIgFBA3FFDQEgAS0AAA0ACwwBCwNAIAEiAkEEaiEBQYCChAggAigCACIDayADckGAgYKEeHFBgIGChHhGDQALA0AgAiIBQQFqIQIgAS0AAA0ACwsgASAA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BEBBCiEBIAAQXgwBCyAAEH5BAWshASAAKAIECyIDIAFGBEAgACABQQEgASABEPQBIAAQIxoMAQsgABAjGiAEDQAgACIBIANBAWoQUAwBCyAAKAIAIQEgACADQQFqNgIECyABIANqIgAgAkEPahBdIAJBADoADiAAQQFqIAJBDmoQXSACQRBqJAALoQIBA38jAEEgayIIJABB9////wciCSABQX9zaiACTwRAIAAQIyEKIAFB8////wNJBEAgCCABQQF0NgIcIAggASACajYCECAIQRBqIAhBHGoQoAEoAgAQnwFBAWohCQsgCEEcaiAIQRhqIAAQVSgCABC8ASAIQRBqIAkQngEgCCgCECECIAgoAhQaIAQEQCACIAogBBBNCyAGBEAgAiAEaiAHIAYQTQsgAyAEIAVqIglrIQcgAyAJRwRAIAIgBGogBmogBCAKaiAFaiAHEE0LIAFBCkcEQCAKEIsCCyAAIAI2AgAgACAIKAIUEFwgACAEIAZqIAdqIgA2AgQgCEEAOgAPIAAgAmogCEEPahBdIAhBHGoQuwEgCEEgaiQADwsQWwALCQAgAEEBEKgCCwoAIAAoAgAQHxoLCQAgACABEFUaCwcAIABBAkkLBABBBAsoAQF/IAAgACgCBEEBayIBNgIEIAFBf0YEQCAAIAAoAgAoAggRAgALC5UBAQN/IwBBEGsiBCQAIAQgATYCDCAEIAM2AgggBEEEaiAEQQxqEGMgBCgCCCEDIwBBEGsiASQAIAEgAzYCDCABIAM2AghBfyEFAkBBAEEAIAIgAxDRASIDQQBIDQAgACADQQFqIgMQNCIANgIAIABFDQAgACADIAIgASgCDBDRASEFCyABQRBqJAAQYiAEQRBqJAAgBQsPACAAIAAoAgAoAiQRAAALEQAgACABIAEoAgAoAiARAQALDgAgACABKAIANgIAIAALCABB/////wcLBQBB/wALOwAgACADNgIQIAAgAQR/IAEQUwVBAAsiAzYCACAAIAIgA2oiAjYCCCAAIAEgA2o2AgwgACACNgIEIAALYQEBfyMAQRBrIgIkACACIAA2AgwCQCAAIAFGDQADQCACIAFBBGsiATYCCCAAIAFPDQEgAigCDCACKAIIENcBIAIgAigCDEEEaiIANgIMIAIoAgghAQwACwALIAJBEGokAAs5AgF/AX4jAEEQayIEJAAgAykDACEFIAQgAykDCDcDCCAEIAU3AwAgACABIAIgBBDAASAEQRBqJAAL0AEBAn8gAkGAEHEEQCAAQSs6AAAgAEEBaiEACyACQYAIcQRAIABBIzoAACAAQQFqIQALIAJBhAJxIgNBhAJHBEAgAEGu1AA7AAAgAEECaiEACyACQYCAAXEhAgNAIAEtAAAiBARAIAAgBDoAACAAQQFqIQAgAUEBaiEBDAELCyAAAn8CQCADQYACRwRAIANBBEcNAUHGAEHmACACGwwCC0HFAEHlACACGwwBC0HBAEHhACACGyADQYQCRg0AGkHHAEHnACACGws6AAAgA0GEAkcLKwEBfyMAQRBrIgUkACAFIAQoAgA2AgAgACABIAIgAyAFEJYBIAVBEGokAAuqAQEBfwJAIANBgBBxRSACRXINACADQcoAcSIEQQhGIARBwABGcg0AIABBKzoAACAAQQFqIQALIANBgARxBEAgAEEjOgAAIABBAWohAAsDQCABLQAAIgQEQCAAIAQ6AAAgAEEBaiEAIAFBAWohAQwBCwsgAAJ/Qe8AIANBygBxIgFBwABGDQAaQdgAQfgAIANBgIABcRsgAUEIRg0AGkHkAEH1ACACGws6AAALDAAgABAjIAFBAnRqC5IEAQt/IwBBgAFrIgokACAKIAE2AnwgAiADELUCIQggCkHjADYCECAKQQhqQQAgCkEQaiIJEDYhDwJAAkACQCAIQeUATwRAIAgQNCIJRQ0BIA8gCRA8CyAJIQcgAiEBA0AgASADRgRAA0AgACAKQfwAaiIBECtBASAIGwRAIAAgARArBEAgBSAFKAIAQQJyNgIACwNAIAIgA0YNBiAJLQAAQQJGDQcgCUEBaiEJIAJBDGohAgwACwALIAAQNyEOIAZFBEAgBCAOEEEhDgsgDUEBaiEMQQAhECAJIQcgAiEBA0AgASADRgRAIAwhDSAQRQ0CIAAQPhogCSEHIAIhASAIIAtqQQJJDQIDQCABIANGBEAMBAUCQCAHLQAAQQJHDQAgARAfIA1GDQAgB0EAOgAAIAtBAWshCwsgB0EBaiEHIAFBDGohAQwBCwALAAUCQCAHLQAAQQFHDQAgASANEMwBKAIAIRECQCAGBH8gEQUgBCAREEELIA5GBEBBASEQIAEQHyAMRw0CIAdBAjoAACALQQFqIQsMAQsgB0EAOgAACyAIQQFrIQgLIAdBAWohByABQQxqIQEMAQsACwALAAUgB0ECQQEgARBaIgwbOgAAIAdBAWohByABQQxqIQEgCyAMaiELIAggDGshCAwBCwALAAsQPQALIAUgBSgCAEEEcjYCAAsgDxA1IApBgAFqJAAgAgsRACAAIAEgACgCACgCDBEEAAuTBAELfyMAQYABayIKJAAgCiABNgJ8IAIgAxC1AiEIIApB4wA2AhAgCkEIakEAIApBEGoiCRA2IQ8CQAJAAkAgCEHlAE8EQCAIEDQiCUUNASAPIAkQPAsgCSEHIAIhAQNAIAEgA0YEQANAIAAgCkH8AGoiARAsQQEgCBsEQCAAIAEQLARAIAUgBSgCAEECcjYCAAsDQCACIANGDQYgCS0AAEECRg0HIAlBAWohCSACQQxqIQIMAAsACyAAEDghDiAGRQRAIAQgDhDOASEOCyANQQFqIQxBACEQIAkhByACIQEDQCABIANGBEAgDCENIBBFDQIgABA/GiAJIQcgAiEBIAggC2pBAkkNAgNAIAEgA0YEQAwEBQJAIActAABBAkcNACABEB8gDUYNACAHQQA6AAAgC0EBayELCyAHQQFqIQcgAUEMaiEBDAELAAsABQJAIActAABBAUcNACABIA0QIiwAACERAkAgBgR/IBEFIAQgERDOAQsgDkYEQEEBIRAgARAfIAxHDQIgB0ECOgAAIAtBAWohCwwBCyAHQQA6AAALIAhBAWshCAsgB0EBaiEHIAFBDGohAQwBCwALAAsABSAHQQJBASABEFoiDBs6AAAgB0EBaiEHIAFBDGohASALIAxqIQsgCCAMayEIDAELAAsACxA9AAsgBSAFKAIAQQRyNgIACyAPEDUgCkGAAWokACACC0oBAn8CQCAALQAAIgJFIAIgAS0AACIDR3INAANAIAEtAAEhAyAALQABIgJFDQEgAUEBaiEBIABBAWohACACIANGDQALCyACIANrC4QBAQJ/IwBBoAFrIgQkACAEIAAgBEGeAWogARsiADYClAEgBCABQQFrIgVBACABIAVPGzYCmAEgBEEAQZAB/AsAIARBfzYCTCAEQeIANgIkIARBfzYCUCAEIARBnwFqNgIsIAQgBEGUAWo2AlQgAEEAOgAAIAQgAiADEM0DIARBoAFqJAALuwIBBH8gA0H87QEgAxsiBSgCACEDAkAC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IBAtIAAoAiQQLSAAKAIwEC0gACgCPBAtCyAACwcAIAEgAGsLDABBARDWARogABAtCwkAIAAQsQEQLQsTACAAIAEgAiAAKAIAKAIwEQMACwkAIAAQ2AEQLQsMACAAQQRqENoBIAALDAAgAEEIahDaASAACygBAn8jAEEQayICJAAgASgCACAAKAIASCEDIAJBEGokACABIAAgAxsLEAAgACABNwMIIABCADcDAAsCAAsUACAAQZj1ADYCACAAQQRqECUgAAvyAwICfgV/IwBBIGsiBSQAIAFC////////P4MhAgJ+IAFCMIhC//8BgyIDpyIEQYH4AGtB/Q9NBEAgAkIEhiAAQjyIhCECIARBgPgAa60hAwJAIABC//////////8PgyIAQoGAgICAgICACFoEQCACQgF8IQIMAQsgAEKAgICAgICAgAhSDQAgAkIBgyACfCECC0IAIAIgAkL/////////B1YiBBshACAErSADfAwBCyAAIAKEUCADQv//AVJyRQRAIAJCBIYgAEI8iIRCgICAgICAgASEIQBC/w8MAQsgBEH+hwFLBEBCACEAQv8PDAELQYD4AEGB+AAgA1AiBxsiCCAEayIGQfAASgRAQgAhAEIADAELIAVBEGogACACIAJCgICAgICAwACEIAcbIgJBgAEgBmsQRCAFIAAgAiAGEIoBIAUpAwhCBIYgBSkDACICQjyIhCEAAkAgBCAIRyAFKQMQIAUpAxiEQgBSca0gAkL//////////w+DhCICQoGAgICAgICACFoEQCAAQgF8IQAMAQsgAkKAgICAgICAgAhSDQAgAEIBgyAAfCEACyAAQoCAgICAgIAIhSAAIABC/////////wdWIgQbIQAgBK0LIQIgBUEgaiQAIAFCgICAgICAgICAf4MgAkI0hoQgAIS/C4kCAAJAIAAEfyABQf8ATQ0BAkBB3OEBKAIAKAIARQRAIAFBgH9xQYC/A0YNAwwBCyABQf8PTQRAIAAgAUE/cUGAAXI6AAEgACABQQZ2QcABcjoAAEECDwsgAUGAQHFBgMADRyABQYCwA09xRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMPCyABQYCABGtB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAA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AXI2AgQgCSAGIAkoAgBBAXFyQQJyNgIAIAEgBmoiAiACKAIEQQFyNgIEIAEgBhDbAQsCQCAAKAIEIgJBA3FFDQAgAkF4cSIBIAVBEGpNDQAgACAFIAJBAXFyQQJyNgIEIAAgBWoiBCABIAVrIgJBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQgBCACENsBCyAAQQhqCwsiAEUNARogCCAANgIMQQAhAQsgAQshAEEAIAgoAgwgABshAQsgCEEQaiQAIAENAEHk/gEoAgAiAEUNACAAEQwADAELCyABRQRAEOsBCyABCwoAIAEgAGtBDG0LCQAgABAuNgIACyMBAn8gACEBA0AgASICQQRqIQEgAigCAA0ACyACIABrQQJ1Cy8BAX8jAEEQayIDJAACQCAAIAFGBEAgAEEAOgB4DAELIAEgAhCpAQsgA0EQaiQACxAAIAAoAgggACgCAGtBAnULCQAgAEEANgIAC0kBAX8jAEEQayIDJAACQAJAIAJBHksNACABLQB4QQFxDQAgAUEBOgB4DAELIAIQwQIhAQsgA0EQaiQAIAAgAjYCBCAAIAE2AgALOgECfyMAQRBrIgAkACAAQf////8DNgIMIABB/////wc2AgggAEEMaiAAQQhqELUDKAIAIABBEGokAAs0AQF/IwBBEGsiAyQAIAMgARBzNgIMIAMgAhBzNgIIIAAgA0EMaiADQQhqEGYgA0EQaiQAC04BAX8jAEEQayIDJAAgAyABNgIIIAMgADYCDCADIAI2AgRBACEBIANBBGoiACADQQxqENMBRQRAIAAgA0EIahDTASEBCyADQRBqJAAgAQswAQF/IwBBEGsiAyQAIAMgATYCDCADIAI2AgggACADQQxqIANBCGoQZiADQRBqJAALMwEBfyMAQRBrIgMkACAAEB8aIAAgAhCDASADQQA6AA8gASACaiADQQ9qEF0gA0EQaiQACzEAIABB/////wNLBEAQqgIACwJ/IABBAnQhAEEEENYBBEAgAEEEELQCDAELIAAQUwsLCQAgABDtARAtCxUAIABB8KoBNgIAIABBEGoQIBogAAsVACAAQciqATYCACAAQQxqECAaIAALgAMBBH8gAiEAA0ACQCAEIAdNIAAgA09yDQAgACwAACIBQf8BcSEFAn9BASABQQBODQAaIAFBQkkNASABQV9NBEAgAyAA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ZEYNAEEAIQAgC0EANgIQIBEgDygCACALKAJkIAtBEGoQQyALKAIQBEAgBSAFKAIAQQRyNgIADAELQQEhAAsgEBAgGiANECAaIA4QIBogDBAgGiARECAaIA8QNQwDCyACIQELIANBAWohAwwACwALIAtBkARqJAAgAAsMACAAQQFBLRD9AhoLCwAgAEEBQS0QsAILHAEBfyAALQAAIQIgACABLQAAOgAAIAEgAjoAAAtlAQF/IwBBEGsiBiQAIAZBADoADyAGIAU6AA4gBiAEOgANIAZBJToADCAFBEAgBkENaiAGQQ5qEPMCCyACIAEgASACKAIAEIoCIAZBDGogAyAAKAIAEJ4DIAFqNgIAIAZBEGokAAtBACABIAIgAyAEQQQQZyEBIAMtAABBBHFFBEAgACABQdAPaiABQewOaiABIAFB5ABJGyABQcUASBtB7A5rNgIACwtAACACIAMgAEEIaiAAKAIIKAIEEQAAIgAgAEGgAmogBSAEQQAQzQEgAGsiAEGfAkwEQCABIABBDG1BDG82AgALC0AAIAIgAyAAQQhqIAAoAggoAgARAAAiACAAQagBaiAFIARBABDNASAAayIAQacBTARAIAEgAEEMbUEHbzYCAAsLQQAgASACIAMgBEEEEGghASADLQAAQQRxRQRAIAAgAUHQD2ogAUHsDmogASABQeQASRsgAUHFAEgbQewOazYCAAsLQAAgAiADIABBCGogACgCCCgCBBEAACIAIABBoAJqIAUgBEEAEM8BIABrIgBBnwJMBEAgASAAQQxtQQxvNgIACwtAACACIAMgAEEIaiAAKAIIKAIAEQAAIgAgAEGoAWogBSAEQQAQzwEgAGsiAEGnAUwEQCABIABBDG1BB282AgALCxgBAX9BDBBTIgBBADYCCCAAQgA3AgAgAAsEAEECC8oBAQR/IwBBEGsiAyQAAkAgAUH3////A00EQAJAIAEQvQEEQCAAIAEQUCAAIQQMAQsgA0EIaiABEJABQQFqEI8BIAMoAgwaIAAgAygCCCIENgIAIAAgAygCDBBcIAAgATYCBAsjAEEQayIFJAAgBSACNgIMIAQhBiABIQIDQCACBEAgBiAFKAIMNgIAIAJBAWshAiAGQQRqIQYMAQsLIAVBEGokACADQQA2AgQgBCABQQJ0aiADQQRqEFYgA0EQaiQADAELEFsA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hoRCAEKAgICAgIDAwz8QLyAFKQNIIQIgBSkDQCEEDAELIAlC////////P4MgBiAHcq1CMIaEIQILIAAgBDcDACAAIAI3AwggBUGAAWokAAuIEAIFfw9+IwBB0AJrIgUkACAEQv///////z+DIQsgAkL///////8/gyEKIAIgBIVCgICAgICAgICAf4MhDCAEQjCIp0H//wFxIQcCQAJAIAJCMIinQf//AXEiCEH//wFrQYKAfk8EQCAHQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIg5CgICAgICAwP//AFQgDkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEMDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQwgAyEBDAILIAEgDkKAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACEMDAMLIAxCgICAgICAwP//AIQhDEIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASAOhFAEQEKAgICAgIDg//8AIAwgAiADhFAbIQxCACEBDAILIAIgA4RQBEAgDEKAgICAgIDA//8AhCEMQgAhAQwCCyAOQv///////z9YBEAgBUHAAmogASAKIAEgCiAKUCIGG3lCwABCACAGG3ynIgZBD2sQREEQIAZrIQYgBSkDyAIhCiAFKQPAAiEBCyACQv///////z9WDQAgBUGwAmogAyALIAMgCyALUCIJG3lCwABCACAJG3ynIglBD2sQRCAGIAlqQRBrIQYgBSkDuAIhCyAFKQOwAiEDCyAFQaACaiALQoCAgICAgMAAhCISQg+GIANCMYiEIgJCAEKAgICAsOa8gvUAIAJ9IgRCABBAIAVBkAJqQgAgBSkDqAJ9QgAgBEIAEEAgBUGAAmogBSkDmAJCAYYgBSkDkAJCP4iEIgRCACACQgAQQCAFQfABaiAEQgBCACAFKQOIAn1CABBAIAVB4AFqIAUpA/gBQgGGIAUpA/ABQj+IhCIEQgAgAkIAEEAgBUHQAWogBEIAQgAgBSkD6AF9QgAQQCAFQcABaiAFKQPYAUIBhiAFKQPQAUI/iIQiBEIAIAJCABBAIAVBsAFqIARCAEIAIAUpA8gBfUIAEEAgBUGgAWogAkIAIAUpA7gBQgGGIAUpA7ABQj+IhEIBfSICQgAQQCAFQZABaiADQg+GQgAgAkIAEEAgBUHwAGogAkIAQgAgBSkDqAEgBSkDoAEiDiAFKQOYAXwiBCAOVK18IARCAVatfH1CABBAIAVBgAFqQgEgBH1CACACQgAQQCAGIAggB2tqIghB//8AaiEGAn4gBSkDcCITQgGGIg0gBSkDiAEiD0IBhiAFKQOAAUI/iIR8IhBC5+wAfSIUQiCIIgIgCkKAgICAgIDAAIQiFUIBhiIWQiCIIgR+IhEgAUIBhiIOQiCIIgsgECAUVq0gDSAQVq0gBSkDeEIBhiATQj+IhCAPQj+IfHx8QgF9IhNCIIgiEH58Ig0gEVStIA0gDSATQv////8PgyITIAFCP4giFyAKQgGGhEL/////D4MiCn58Ig1WrXwgBCAQfnwgBCATfiIRIAogEH58Ig8gEVStQiCGIA9CIIiEfCANIA9CIIZ8Ig8gDVStfCAPIA8gFEL/////D4MiFCAKfiINIAIgC358IhEgDVStIBEgESATIA5C/v///w+DIg1+fCIRVq18fCIPVq18IA8gBCAUfiIYIA0gEH58IgQgAiAKfnwiCiALIBN+fCIQQiCIIAogEFatIAQgGFStIAQgClatfHxCIIaEfCIEIA9UrXwgBCAEIBEgAiANfiIKIAsgFH58IgJCIIggAiAKVK1CIIaEfCIKIBFUrSAKIAogEEIghnwiClatfHwiBFatfCAEIAQgCiACQiCGIgIgDSAUfnwgAlStQn+FIgJWIAIgClJxrXwiBFatfCICQv////////8AWARAIBYgF4QhFSAFQdAAaiAEIAJCgICAgICAwABUIgetIguGIgogAiALhiAEQgGIIAdBP3OtiIQiBCADIBIQQCAIQf7/AGogBiAHG0EBayEGIAFCMYYgBSkDWH0gBSkDUCIBQgBSrX0hC0IAIAF9DAELIAVB4ABqIAJCP4YgBEIBiIQiCiACQgGIIgQgAyASEEAgAUIwhiAFKQNofSAFKQNgIgJCAFKtfSELIAEhDkIAIAJ9CyECIAZB//8BTgRAIAxCgICAgICAwP//AIQhDEIAIQEMAQsCfiAGQQBKBEAgC0IBhiACQj+IhCEBIARC////////P4MgBq1CMIaEIQsgAkIBhgwBCyAGQY9/TARAQgAhAQwCCyAFQUBrIAogBEEBIAZrEIoBIAVBMGogDiAVIAZB8ABqEEQgBUEgaiADIBIgBSkDQCIKIAUpA0giCxBAIAUpAzggBSkDKEIBhiAFKQMgIgFCP4iEfSAFKQMwIgIgAUIBhiIEVK19IQEgAiAEfQshAiAFQRBqIAMgEkIDQgAQQCAFIAMgEkIFQgAQQCALIAogAyAKQgGDIgMgAnwiAlQgASACIANUrXwiASASViABIBJRG618IgMgClStfCIEIAMgAyAEQoCAgICAgMD//wBUIAIgBSkDEFYgASAFKQMYIgRWIAEgBFEbca18IgNWrXwiBCADIARCgICAgICAwP//AFQgAiAFKQMAViABIAUpAwgiAlYgASACURtxrXwiASADVK18IAyEIQwLIAAgATcDACAAIAw3AwggBUHQAmokAAu/AgEBfyMAQdAAayIEJAACQCADQYCAAU4EQCAEQSBqIAEgAkIAQoCAgICAgID//wAQLyAEKQMoIQIgBCkDICEBIANB//8BSQRAIANB//8AayEDDAILIARBEGogASACQgBCgICAgICAgP//ABAvQf3/AiADIANB/f8CTxtB/v8BayEDIAQpAxghAiAEKQMQIQEMAQsgA0GBgH9KDQAgBEFAayABIAJCAEKAgICAgICAORAvIAQpA0ghAiAEKQNAIQEgA0H0gH5LBEAgA0GN/wBqIQMMAQsgBEEwaiABIAJCAEKAgICAgICAORAvQeiBfSADIANB6IF9TRtBmv4BaiEDIAQpAzghAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhAvIAAgBCkDCDcDCCAAIAQpAwA3AwAgBEHQAGokAAs8ACAAIAE3AwAgACACQv///////z+DIAJCgICAgICAwP//AINCMIinIANCMIinQYCAAnFyrUIwhoQ3AwgLwAECAX8CfkF/IQMCQCAAQgBSIAFC////////////AIMiBEKAgICAgIDA//8AViAEQoCAgICAgMD//wBRGw0AIAJC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBScQ0AIAAgBCAFhIRQBEBBAA8LIAEgAoNCAFkEQCABIAJSIAEgAlNxDQEgACABIAKFhEIAUg8LIABCAFIgASACVSABIAJRGw0AIAAg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EKYCCyEAIAEQTAR/QZiEASgCACABQf8BcUECdGooAgAFIAELwAsJACAAENACEC0LOwADQCABIAJGRQRAIAMhACAEIAEoAgAQTAR/IAEoAgAFIAALOgAAIARBAWohBCABQQRqIQEMAQsLIAELDAAgASACIAEQTBvACyoAA0AgASACRkUEQCADIAEsAAA2AgAgA0EEaiEDIAFBAWohAQwBCwsgAQsPACAAIAEgAkGgkAEQpwILHAAgARBMBH9BoJABKAIAIAFBAnRqKAIABSABCwsPACAAIAEgAkGYhAEQpwILHAAgARBMBH9BmIQBKAIAIAFBAnRqKAIABSABCwsQACAABEAgABDHAwsgABAtCzoAA0ACQCACIANGDQAgAigCABBMRQ0AIAIoAgBBAnRBkKIBaigCACABcUUNACACQQRqIQIMAQsLIAILOQADQAJAIAIgA0YNACACKAIAEEwEQCACKAIAQQJ0QZCiAWooAgAgAXENAQsgAkEEaiECDAELCyACC0YAA0AgASACRkUEQEEAIQAgAyABKAIAEEwEfyABKAIAQQJ0QZCiAWooAgAFQQALNgIAIANBBGohAyABQQRqIQEMAQsLIAELIwBBACEAIAIQTAR/IAJBAnRBkKIBaigCACABcUEARwVBAAsLDwAgACAAKAIAKAIEEQIACwkAIAAQ1gIQLQsVAQF/QdQAEFMiAEEAQdQA/AsAIAALFAAgACgCACABaiACLQAAOgAAQQELrgEAAkAgBRBHRQRAIAAgBSkCADcCACAAIAUoAgg2AgggABBeGgwBCyAFKAIAIQQgBSgCBCECIwBBEGsiAyQAAkACQAJAIAIQvQEEQCAAIgEgAhBQDAELIAJB9////wNLDQEgA0EIaiACEJABQQFqEI8BIAMoAgwaIAAgAygCCCIBNgIAIAAgAygCDBBcIAAgAjYCBAsgASAEIAJBAWoQZSADQRBqJAAMAQsQWwALCwsJACAAIAUQ5AELhAMBCH8jAEHgA2siACQAIABB3ANqIgYgAxAnIAYQSCEKIAUQHwRAIAVBABDMASgCACAKQS0QS0YhCwsgAiALIABB3ANqIABB2ANqIABB1ANqIABB0ANqIABBxANqECQiDCAAQbgDahAkIgYgAEGsA2oQJCIHIABBqANqEN8CIABB4wA2AhAgAEEIakEAIABBEGoiAhA2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KAK8ASAEEI8DOQMAIABBzAFqIABBEGogACgCDCAEEEMgAEHcAmogAEHYAmoQKwRAIAQgBCgCAEECcjYCAAsgACgC3AIgARAgGiAAQcwBahAgGiAAQeACaiQADAMLQQEhAwsgAEHcAmoQPhoMAAsACwvKBAEDfwJ/IwBB4AJrIgAkACAAIAI2AtgCIAAgATYC3AIgAEHMAWogAyAAQeABaiAAQdwBaiAAQdgBahD7ASAAQcABahAkIgEgARAoECEgACABQQAQIiICNgK8ASAAIABBEGo2AgwgAEEANgIIIABBAToAByAAQcUAOgAGQQAhAwNAAkACQAJAIABB3AJqIABB2AJqECsNACAAKAK8ASABEB8gAmpGBEAgARAfIQYgASABEB9BAXQQISABIAEQKBAhIAAgBiABQQAQIiICajYCvAELIABB3AJqEDcgAEEHaiAAQQZqIAIgAEG8AWogACgC3AEgACgC2AEgAEHMAWogAEEQaiAAQQxqIABBCGogAEHgAWoQ+gENACADDQFBACEDIAAoArwBIAJrIgdBAEwNAgJAAkAgAi0AACIGQStrIggOAwEAAQALIAZBLkYNAkEBIQMgBkEwa0H/AXFBCkkNAwwBCyAHQQFGDQICQCAIDgMAAwADCyACLQABIgZBLkYNAUEBIQMgBkEwa0H/AXFBCU0NAgsCQCAAQcwBahAfRQ0AIAAtAAdBAXFFDQAgACgCDCIDIABBEGprQZ8BSg0AIAAgA0EEajYCDCADIAAoAgg2AgALIAUgAiAAKAK8ASAEEJEDOAIAIABBzAFqIABBEGogACgCDCAEEEMgAEHcAmogAEHYAmoQKwRAIAQgBCgCAEECcjYCAAsgACgC3AIgARAgGiAAQcwBahAgGiAAQeACaiQADAMLQQEhAwsgAEHcAmoQPhoMAAsACwuWAwECfyMAQdACayIAJAAgACACNgLIAiAAIAE2AswCIAMQaiEGIAMgAEHQAWoQrgEhByAAQcQBaiADIABBxAJqEK0BIABBuAFqECQiASABECgQISAAIAFBABAiIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqECsNACAAKAK0ASABEB8gAmpGBEAgARAfIQMgASABEB9BAXQQISABIAEQKBAhIAAgAyABQQAQIiICajYCtAELIABBzAJqIgMQNyAGIAIgAEG0AWogAEEIaiAAKALEAiAAQcQBaiAAQRBqIABBDGogBxCYAQ0AIAMQPhoMAQsLAkAgAEHEAWoQH0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCSAzcDACAAQcQBaiAAQRBqIAAoAgwgBBBDIABBzAJqIABByAJqECsEQCAEIAQoAgBBAnI2AgALIAAoAswCIAEQIBogAEHEAWoQIBogAEHQAmokAAuWAwECfyMAQdACayIAJAAgACACNgLIAiAAIAE2AswCIAMQaiEGIAMgAEHQAWoQrgEhByAAQcQBaiADIABBxAJqEK0BIABBuAFqECQiASABECgQISAAIAFBABAiIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqECsNACAAKAK0ASABEB8gAmpGBEAgARAfIQMgASABEB9BAXQQISABIAEQKBAhIAAgAyABQQAQIiICajYCtAELIABBzAJqIgMQNyAGIAIgAEG0AWogAEEIaiAAKALEAiAAQcQBaiAAQRBqIABBDGogBxCYAQ0AIAMQPhoMAQsLAkAgAEHEAWoQH0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCVAzsBACAAQcQBaiAAQRBqIAAoAgwgBBBDIABBzAJqIABByAJqECsEQCAEIAQoAgBBAnI2AgALIAAoAswCIAEQIBogAEHEAWoQIBogAEHQAmokAAuWAwECfyMAQdACayIAJAAgACACNgLIAiAAIAE2AswCIAMQaiEGIAMgAEHQAWoQrgEhByAAQcQBaiADIABBxAJqEK0BIABBuAFqECQiASABECgQISAAIAFBABAiIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqECsNACAAKAK0ASABEB8gAmpGBEAgARAfIQMgASABEB9BAXQQISABIAEQKBAhIAAgAyABQQAQIiICajYCtAELIABBzAJqIgMQNyAGIAIgAEG0AWogAEEIaiAAKALEAiAAQcQBaiAAQRBqIABBDGogBxCYAQ0AIAMQPhoMAQsLAkAgAEHEAWoQH0UNACAAKAIMIgMgAEEQamtB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DCECDAYLIANBIHIhAyABQQRqIQIgBEEEayEEIAEtAAMgCHQgB2ohBwsCQCAFQQRxRQ0AIAcgBigCIEYNACAKQd4ONgIYIAZB0f4ANgIEIAIhASAGKAIEIQUMAQsLIAIhAUEAIQdBACEDCyAGQdD+ADYCBAtBASECDAELQQAhBCAMIQILIAogDzYCECAKIBA2AgwgCiAENgIEIAogATYCACAGIAM2AkAgBiAHNgI8AkACQCAGKAIsRQRAIA8gFUYNASAGKAIEQdD+AEsNAQsCfyAVIA9rIQMCQAJAIAooAhwiASgCOCIMRQRAQQEhBSABIAooAihBASABKAIodEEBIAooAiARAwAiDDYCOCAMRQ0BCyABKAIsIgRFBEAgAUIANwIwIAFBASABKAIodCIENgIsCyADIARPBEAgBARAIAwgECAEayAE/AoAAAsgAUEANgI0DAILIAQgASgCNCIIayIFIAMgAyAFSxsiBARAIAggDGogECADayAE/AoAAAsgAyAFSwRAIAMgBGsiAwRAIAEoAjggECADayAD/AoAAAsgASADNgI0DAILQQAhBSABIAEoAjQgBGoiA0EAIAMgASgCLCIMRxs2AjQgDCABKAIwIgNNDQAgASADIARqNgIwCyAFDAELIAEgASgCLDYCMEEACw0BIAooAhAhDyAKKAIEIQQLIAogCigCCCAkIARrajYCCCAKIBUgD2siASAKKAIUajYCFCAGIAYoAiAgAWo2AiAgBi0ADEEEcUUgDyAVRnJFBEAgCigCDCABayEDIAYoAhwhBSAGAn8gBigCFARAIAUgAyABEFEMAQsgBSADIAEQswELIgE2AhwgCiABNgIwCyAKIAYoAkBBwABBACAGKAIIG2pBgAFBACAGKAIEIgFBv/4ARhtqQYACQYACQQAgAUHC/gBGGyABQcf+AEYbajYCLCACQXsgAhsgAiAPIBVGGyACIAQgJEYbIRwMAgsgBkHS/gA2AgQLQXwhHAsgF0EQaiQAIBxBAUsNASATQagBaiEBIBMoAqwBIQMgGigCACEJIBooAgQgEygCFGshDCMAQSBrIggkAAJAIAwgCWsiBUEATA0AIAEoAgggASgCBCICayAFTgRAIAIgA2siBCAFSARAIAwgBCAJaiIHayILRSAHIAxGckUEQCACIAcgC/wKAAALIAEgAiALajYCBCAEQQBMDQIgASADIAIgAyAFahCeAiAERQ0CIAMgCSAE/AoAAAwCCyABIAMgAiADIAVqEJ4CIAVFDQEgAyAJIAX8CgAADAELIAUgCEEMaiABIAUgASgCAGsgAmoQtAEgAyABKAIAayABEMYBIgIoAggiBGohBQNAIAQgBUcEQCAEIAktAAA6AAAgCUEBaiEJIARBAWohBAwBCwsgAiAFNgIIIAIoAgQaIAEoAgQgA2siBARAIAIoAgggAyAE/AoAAAsgAiACKAIIIAEoAgQgA2tqNgIIIAEgAzYCBCACKAIEIAEoAgAiBCADa2ohBSADIARrIgMEQCAFIAQgA/wKAAALIAIgBTYCBCABIAEoAgAiAzYCBCABIAIoAgQ2AgAgAiADNgIEIAEoAgQhAyABIAIoAgg2AgQgAiADNgIIIAEoAgghAyABIAIoAgw2AgggAiADNgIMIAIgAigCBDYCACACELoBCyAIQSBqJAAgHEEBRw0ACyAKEJsCIBoQOiATQZgBaiIDIBMoAqgBIgIgEygCrAEgAmsQsQIgARA6IApBADYCXCAKQfD7ADYCQCAKQcj7ADYCACAKQdz7ADYCCCAKQYD8ACgCACIBNgIAIAogAUEMaygCAGpBhPwAKAIANgIAIApBADYCBCAKIAooAgBBDGsoAgBqIgJBADYCFCACIApBDGoiATYCGCACQQA2AgwgAkKCoICA4AA3AgQgAiABRTYCECACQSBqQQBBKPwLACACQRxqENMCIAJBADoAUCACQoCAgIBwNwJIIApBiPwAKAIAIgI2AgggAkEMaygCACAKQQhqakGM/AAoAgA2AgAgCkH8+wAoAgAiAjYCACAKIAJBDGsoAgBqQZD8ACgCADYCACAKQZT8ACgCADYCCCAKQcj7ADYCACAKQdz7ADYCCCAKQfD7ADYCQCABQZj1ADYCACABQQRqENMCIAFCADcCGCABQgA3AhAgAUIANwIIIAFCADcCICABQZD3ADYCACABQRg2AjAgAUIANwIoAkAgAyABQSBqIgJGDQAgAhBHRQRAIAMQR0UEQCACEF4aIAIQXiADEF5JBEAgAxBeGiACEF4aCyACIAMpAgA3AgAgAiADKAIINgIIIAIQXhoMAgsgAxAjIQUgAxAfIQMjAEEQayIEJAAgAhBeIQwCQCADQQpNBEAgAiADEFAgAiAFIAMQTSAEQQA6AA8gAiADaiAEQQ9qEF0MAQsgAkEKIANBCmsgDEEAIAwgAyAFELkBCyAEQRBqJAAMAQsgAxAjIQwgAxAfIQMjAEEQayIEJAAgAhB+IQUgAigCBCEIAkAgAyAFSQRAIAIoAgAhBSACIAM2AgQgBSAMIAMQTSAEQQA6AA8gAyAFaiAEQQ9qEF0MAQsgAiAFQQFrIAMgBWtBAWogCEEAIAggAyAMELkBCyAEQRBqJAALIAFBADYCLCABKAIgIAFBIGoiAyABLAArIgJBAEgiBBshCSABKAIkIAIgBBshCCABKAIwIgRBCHEEQCABIAk2AgwgASAJNgIIIAEgCCAJaiIFNgIQIAEgBTYCLAsCQCAEQRBxRQ0AIAEgCCAJajYCLCADQQogASgCKEH/////B3FBAWsgAkEAThsQISABIAk2AhggASAJNgIUIAEgCSABKAIkIAEsACsiAiACQQBIG2o2AhwgAS0AMEEDcUUNAANAIAhBAEgEQCABIAlB/////wdqIgk2AhggCEH/////B2shCAwBCwsgCEUNACABIAggCWo2AhgLIwBBwAFrIgEkACABQgA3ArgBIAFCzo7NgjU3ArABIAogAUGwAWpBEBCIAQJAAkAgCiAKKAIAQQxrKAIAai0AEEEFcUUEQCABKAKwAUHOjs2CBUYNAQtBshIQvgMgDUIANwAFIA1CADcCACANQQE6AA0gDUEQakEAQcgA/AsADAELIAEoArQBQQRrQXxNBEBBthQgAUG0AWoQlwIgDUIANwAFIA1CADcCACANQQE6AA0gDUEQakEAQcgA/AsADAELIAEoArgBIgJBga3iBE8EQEG4EyABQbgBahCXAiANQgA3AAUgDUIANwIAIA1BAToADSANQRBqQQBByAD8CwAMAQsgAS0AvAEiA0EETwRAIAEgAzYCAEH0EyABEHIQf0Gg8QAoAgAQYRogDUIANwAFIA1CADcCACANQQE6AA0gDUEQakEAQcgA/AsADAELIAMQ0wMhDCABKAK0ASEEIAFBAToAZSABQegAaiIFQQBByAD8CwAgASACNgJYIAEgAS0AvAE2AlwgASABLQC9ATYCYCABIAEtAL4BQQFxOgBkIAUgAkEDbCIDQQJBAyAEQQFGG2wQpwEgAUH0AGoiCCADEKcBIAEgBEECSyIEOgBlIAFBgAFqIglBBEEDIAQbIAJsEKcBIAFBjAFqIgQgAhCnASABQZgBaiIHIAMQpwEgAUGkAWoiCyADIAxsEKcBIAogASgCaCABQcwAaiAFEKIBIgIoAgQgAigCAGsQiAEgAhA6IAogASgCjAEgAUFAayAEEKIBIgIoAgQgAigCAGsQiAEgAhA6IAogASgCmAEgAUE0aiAHEKIBIgIoAgQgAigCAGsQiAEgAhA6IAogASgCdCABQShqIAgQogEiAigCBCACKAIAaxCIASACEDogCiABKAKAASABQRxqIAkQogEiAigCBCACKAIAaxCIASACEDogCiABKAKkASABQRBqIAsQogEiAigCBCACKAIAaxCIASACEDoCQCAKIAooAgBBDGsoAgBqLQAQQQVxBEBBkQwQvgMgDUIANwAFIA1CADcCACANQQE6AA0gDUEQakEAQcgA/AsADAELIA0gAUHYAGoiAikCADcCACANIAIpAQY3AQYgDUEQaiACQRBqEKEBIA1BHGogAkEcahChASANQShqIAJBKGoQoQEgDUE0aiACQTRqEKEBIA1BQGsgAkFAaxChASANQcwAaiACQcwAahChAQsgAUHYAGoQywMLIAFBwAFqJAAgChCxARoMAgsgE0EEahCbAgsgGhA6IBNBqAFqEDogDUIANwAFIA1CADcCACANQQE6AA0gDUEQakEAQcgA/AsACyATQZgBahAgGiATQcABaiQAIwBBkAFrIgIkACANKAIAIQQgDSgCBBDTAyEBAkACQAJAIA0oAhQgDSgCEGsiBSAEQQNsIgNBAkEDIAUgDSgCACIMQQZsIghGG2xHBEAgAkH2HTYCOCACQfgANgI0IAJB/BQ2AjBByAsgAkEwahByEH9BoPEAKAIAEGEaDAELIAMgDSgCICANKAIca0cEQCACQfkANgI8IAJBPGpBxhwQmgIMAQsgDSgCLCANKAIoa0EEQQMgDS0ADSIJQQFxGyAEbEcEQCACQZ4dNgIoIAJB+gA2AiQgAkH8FDYCIEHICyACQSBqEHIQf0Gg8QAoAgAQYRoMAQsgBCANKAI4IA0oAjRrRwRAIAJB7xs2AhggAkH7ADYCFCACQfwUNgIQQcgLIAJBEGoQchB/QaDxACgCABBhGgwBCyADIA0oAkQgDSgCQGtHBEAgAkH8ADYCPCACQTxqQZwcEJoCDAELIA0oAlAgDSgCTGsiByABIANsRg0BIAJB8Bw2AgggAkH9ADYCBCACQfwUNgIAQcgLIAIQchB/QaDxACgCABBhGgsgAEIANwIAIABBADoACCAAQQxqQQBByAD8CwAMAQsgAEEMaiIBQQBByAD8CwAgACAMNgIAIAAgDSgCBDYCBCAAIA0tAAw6AAggASADEKQBIABBGGogAxCkASAAQSRqIARBAnQQpAEgAEEwaiAEEKQBIABBPGogAxCkASAAQcgAaiAHEKQBAkAgBSAIRgRAIAEoAgAhDCANKAIQIQgDQCADIBFGDQIgDCARQQJ0agJ9QwAAgD9DAACAvyAIIBFBAXRqLwEAIgHBQQBOGyEzIAFB/wdxIQUCQCABQQp2QR9xIgFBH0cEQCABDQEgM0MAAIA4lCAFs5RDAACAOpQMAgtDAADAfyAzQwAAgH+UIAUbDAELQwAAgD8hMgJAIAFBD2siAUGAAU4EQEMAAAB/ITIgAUH/AUkEQCABQf8AayEBDAILQwAAgH8hMkH9AiABIAFB/QJPG0H+AWshAQwBCyABQYF/Sg0AQwAAgAwhMiABQZt+SwRAIAFB5gBqIQEMAQtDAAAAACEyQbZ9IAEgAUG2fU0bQcwBaiEBCyAFs0MAAIA6lEMAAIA/kiAzIDIgAUEXdEGAgID8A2q+lJSUCzgCACARQQFqIREMAAsACyANKAIQIgVBAmohDCAFQQFqIQhEAAAAAAAA8D9BASANKAIIdLejtiEyIAEoAgAhBwNAIAMgEUYNASAHIBFBAnRqIDIgCCARQQNsIgFqLQAAQQh0IAEgBWotAAByIAEgDGosAAAiAUH/AXFBEHRyQYCAgHhBACABQQBIG3KylDgCACARQQFqIREMAAsACyAAKAIYIQEgDSgCHCEFQQAhEQNAIAMgEUYEQCACQdQAaiEIQQAhESAJQQFxIQcDfyAEIBFGBH8gACgCMCEFIA0oAjQhDEEABQJAIAcEQCAAKAIkIA0oAighBSACQoCAgPyDgIDAPzcCTCACQoCAgPyDgIDAPzcCRCACQoCAgPyDgIDAPzcCPCAIQcgfQTz8CgAAIBFBBHRqIQwgAkE8aiELQwAAAAAhMiAFIBFBAnRqIgEvAAAgAS0AAkEQdHIgAS0AAyIBQRh0ciEFIAFBBnYhCUEDIQEDfyABQQBIBH8gDCAJQQJ0akMAAIA/IDKTkTgCACALQQxqIQVBAAUgASAJRwRAIAwgAUECdGogBUH/A3GzQ/MENT+UQwCA/0OVIjOMIDMgBUGABHEbIjM4AgAgMyAzlCAykiEyIAVBCnYhBQsgAUEBayEBDAELCyEBA0AgAUEDRwRAIAwgAUECdCIJaiILIAUgCWoqAgAgCyoCAJQ4AgAgAUEBaiEBDAELCwwBCyAAKAIkIA0oAiggAkKAgID8g4CAwD83AkwgAkKAgID8g4CAwD83AkQgAkKAgID8g4CAwD83AjwgCEHIH0E8/AoAACMAQRBrIgEkACARQQNsaiIFLQACIQkgBS0AASELIAEgBS0AALNDgYAAPJRDAACAv5IgAioCSJQ4AgQgASALs0OBgAA8lEMAAIC/kiACKgJMlDgCCCABIAmzQ4GAADyUQwAAgL+SIAIqAlCUOAIMIBFBBHRqIgUgASkCBDcCACAFIAEoAgw2AgggBUMAAIA/IAEqAgwgASoCDJQgASoCBCABKgIElCABKgIIIAEqAgiUkpKTIjJDAAAAACAyQwAAAABeG5E4AgwgAUEQaiQACyARQQFqIREMAQsLIREDQCAEIBFHBEAgBSARQQJ0agJ9QwAAAAAgDCARai0AALNDAAB/Q5UiMkMAAIA/IDKTlSIyvCIBQYCAgPwDRg0AGgJAIAFBgICA/AdrQf///4d4TQRAIAFBAXQiCEUEQCMAQRBrIgFDAACAvzgCDCABKgIMQwAAAACVDAMLIAFBgICA/AdGDQEgCEGAgIB4SSABQQBOcUUEQCAyIDKTIjIgMpUMAwsgMkMAAABLlLxBgICA3ABrIQELQYjxACsDACABIAFBgIDM+QNrIgFBgICAfHFrvrsgAUEPdkHwAXEiCCsDgG+iRAAAAAAAAPC/oCI3IDeiIjiiQZDxACsDACA3okGY8QArAwCgoCA4oiABQRd1t0GA8QArAwCiIAgrA4hvoCA3oKC2ITILIDILOAIAIBFBAWohEQwBCwsgACgCPCEBIA0oAkAhBEEAIREDQCADIBFGBEAgDSgCUCANKAJMIgFrIQQgACgCSCEFQQAhAwNAIAMgBEYEQCAZKAIMIQwjAEHgAGsiBCQAIwBBEGsiBSQAQQEhAQJ/QQEhA0EBIAxBAEwNABogDEEBa0EDcyIMQX9zQQFxIQEgDEEEcUUhAyAMQQJxRQshDCAFIAM6AA8gBSAMOgAOIAUgAToADSAFLQAOIQEgBS0ADyEDIAUtAA0hDCAEQYCAgPwDNgJAIARBgICA/AM2AjggBEMAAIA/QwAAgL8gDBsiMzgCXCAEQwAAgD9DAACAvyADGyIyOAJYIAQgMzgCVCAEIDI4AlAgBEMAAIA/QwAAgL8gARsiNDgCTCAEIDQ4AkQgBCAzOAIsIAQgMjgCKCAEIDQ4AiQgBCAyOAIUIAQgNDgCECAEIDM4AgwgBCAzIDKUIjU4AjwgBCA0IDKUIjY4AjQgBCAzIDSUIjM4AjAgBCAzOAIgIAQgNTgCHCAEIDY4AhggBCAzIDKUOAJIIAVBEGokACAAKAIMIgFBCGohDCABQQRqIQggACgCECABa0ECdSEJQQAhAwNAIAMgCU8EQCAAKAIkIgFBCGohDCABQQRqIQggACgCKCABa0ECdSEJQQAhAwNAIAMgCU8EQAJAIAAoAkgiBUEIaiEJIAVBBGohByAAKAJMIAVrQQJ1QQNuIgsgACgCAG4hDCAEQSRqIQ5BACEAQQAhAQNAQQAhAyABIAtPDQEDQCADIAxPBEAgASAMaiEBDAIFIAUgAEECdCIIaiIPIA4gA0ECdGoqAgAiMiAPKgIAlDgCACAHIAhqIg8gMiAPKgIAlDgCACAIIAlqIgggMiAIKgIAlDgCACAAQQNqIQAgA0EBaiEDDAELAAsACwALBSABIANBAnQiBWoiByAEKgIYIAcqAgCUOAIAIAUgCGoiByAEKgIcIAcqAgCUOAIAIAUgDGoiBSAEKgIgIAUqAgCUOAIAIANBBGohAwwBCwsgBEHgAGokAAUgASADQQJ0IgVqIgcgBCoCDCAHKgIAlDgCACAFIAhqIgcgBCoCECAHKgIAlDgCACAFIAxqIgUgBCoCFCAFKgIAlDgCACADQQNqIQMMAQsLBSAFIANBAnRqIAEgA2otAACzQwAAAMOSQwAAADyUOAIAIANBAWohAwwBCwsFIAEgEUECdGogBCARai0AALNDAAB/Q5VDAAAAv5JDmpkZPpU4AgAgEUEBaiERDAELCwUgASARQQJ0aiAFIBFqLQAAs0MAAIA9lEMAACDBkjgCACARQQFqIREMAQsLCyACQZABaiQAIA0QywMgIkHgAGokACAZEDogGUEQaiQAC5UBAQN/IAACfyAAKAIEIgIgACgCCEkEQCACIAEqAgA4AgAgAkEEagwBCyMAQSBrIgMkACADQQxqIAAgACgCBCAAKAIAa0ECdUEBahC2ASAAKAIEIAAoAgBrQQJ1IAAQhwIiAigCCCIEIAEqAgA4AgAgAiAEQQRqNgIIIAAgAhCFAiAAKAIEIAIQgQIgA0EgaiQACzYCBAvqAQEBfyMAQSBrIgYkACAGIAE2AhwCQCADKAIEQQFxRQRAIAZBfzYCACAAIAEgAiADIAQgBiAAKAIAKAIQEQYAIQECQAJAAkAgBigCAA4CAAECCyAFQQA6AAAMAwsgBUEBOgAADAILIAVBAToAACAEQQQ2AgAMAQsgBiADECcgBhBJIQEgBhAlIAYgAxAnIAYQmwEhACAGECUgBiAAEHwgBkEMciAAEHsgBSAGQRxqIAIgBiAGQRhqIgMgASAEQQEQzwEgBkY6AAAgBigCHCEBA0AgA0EMaxAgIgMgBkcNAAsLIAZBIGokACABC0ABAX9BACEAA38gASACRgR/IAAFIAEoAgAgAEEEdGoiAEGAgICAf3EiA0EYdiADciAAcyEAIAFBBGohAQwBCwsLCwAgACACIAMQmQMLVAECfwJAA0AgAyAERwRAQX8hACABIAJGDQIgASgCACIFIAMoAgAiBkgNAiAFIAZKBEBBAQ8FIANBBGohAyABQQRqIQEMAgsACwsgASACRyEACyAAC0ABAX9BACEAA38gASACRgR/IAAFIAEsAAAgAEEEdGoiAEGAgICAf3EiA0EYdiADciAAcyEAIAFBAWohAQwBCwsLCwAgACACIAMQuAMLXgEDfyABIAQgA2tqIQUCQANAIAMgBEcEQEF/IQAgASACRg0CIAEsAAAiBiADLAAAIgdIDQIgBiAHSgRAQQEPBSADQQFqIQMgAUEBaiEBDAILAAsLIAIgBUchAAsgAAuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGEHEaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEEHEaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACC1QBAn8gASAAKAJUIgEgAUEAIAJBgAJqIgMQ4AEiBCABayADIAQbIgMgAiACIANLGyICEHEaIAAgASADaiIDNgJUIAAgAzYCCCAAIAEgAmo2AgQgAgsJACAAEIkCEC0LEwAgACAAKAIAQQxrKAIAahCMAgsTACAAIAAoAgBBDGsoAgBqELEBCwoAIABBCGsQjAILCgAgAEEIaxCxAQsaACAAIAEgAikDCEEAIAMgASgCACgCEBEXAAsJACAAEPwBEC0LlAICAX8DfiABKAIYIAEoAixLBEAgASABKAIYNgIsC0J/IQgCQCAEQRhxIgVFIANBAUYgBUEYRnFyDQAgASgCLCIFBEAgBSABQSBqECNrrCEGCwJAAkACQCADDgMCAAEDCyAEQQhxBEAgASgCDCABKAIIa6whBwwCCyABKAIYIAEoAhRrrCEHDAELIAYhBwsgAiAHfCICQgBTIAIgBlVyDQAgBEEIcSEDAkAgAlANACADBEAgASgCDEUNAgsgBEEQcUUNACABKAIYRQ0BCyADBEAgASABKAIIIAEoAgggAqdqIAEoAiwQsgELIARBEHEEQCABIAEoAhQgASgCHBC6AyABIAKnELkDCyACIQgLIAAgCBCSAgv8AQEJfyMAQRBrIgMkAAJ/IAFBf0cEQCAAKAIMIQQgACgCCCEFIAAoAhggACgCHEYEQEF/IAAtADBBEHFFDQIaIAAoAhghBiAAKAIUIQcgACgCLCEIIAAoAhQhCSAAQSBqIgJBABC4ASACIAIQKBAhIAAgAhAjIgogAhAfIApqELoDIAAgBiAHaxC5AyAAIAAoAhQgCCAJa2o2AiwLIAMgACgCGEEBajYCDCAAIANBDGogAEEsahCgASgCADYCLCAALQAwQQhxBEAgACAAQSBqECMiAiACIAQgBWtqIAAoAiwQsgELIAAgAcAQwgMMAQsgARC2AwsgA0EQaiQAC5YBACAAKAIYIAAoAixLBEAgACAAKAIYNgIsCwJAIAAoAgggACgCDE8NACABQX9GBEAgACAAKAIIIAAoAgxBAWsgACgCLBCyASABELYDDwsgAC0AMEEQcUUEQCAAKAIMQQFrLQAAIAFB/wFxRw0BCyAAIAAoAgggACgCDEEBayAAKAIsELIBIAAoAgwgAcA6AAAgAQ8LQX8LZQAgACgCGCAAKAIsSwRAIAAgACgCGDYCLAsCQCAALQAwQQhxRQ0AIAAoAhAgACgCLEkEQCAAIAAoAgggACgCDCAAKAIsELIBCyAAKAIMIAAoAhBPDQAgACgCDCwAABCjAQ8LQX8LBwAgACgCDAsHACAAKAIICxMAIAAgACgCAEEMaygCAGoQjgILCgAgAEEIaxCOAgsTACAAIAAoAgBBDGsoAgBqENgBCwoAIABBCGsQ2AELEwAgACAAKAIAQQxrKAIAahDBAwsTACAAIAAoAgBBDGsoAgBqEI8CCxMAIAAgACgCAEEMaygCAGoQxgMLEwAgACAAKAIAQQxrKAIAahCQAguuAQEEfyMAQRBrIgUkAANAAkAgAiAETA0AIAAoAhgiAyAAKAIcIgZPBEAgACABLAAAEKMBIAAoAgAoAjQRBABBf0YNASAEQQFqIQQgAUEBaiEBBSAFIAYgA2s2AgwgBSACIARrNgIIIAVBDGogBUEIahCRAiEDIAAoAhggASADKAIAIgMQTSAAIAMgACgCGGo2AhggAyAEaiEEIAEgA2ohAQsMAQsLIAVBEGokACAECy8AIAAgACgCACgCJBEAAEF/RgRAQX8PCyAAIAAoAgwiAEEBajYCDCAALAAAEKMBCwQAQX8LvQEBBH8jAEEQayIEJAADQAJAIAIgBUwNAAJAIAAoAgwiAyAAKAIQIgZJBEAgBEH/////BzYCDCAEIAYgA2s2AgggBCACIAVrNgIEIARBDGogBEEIaiAEQQRqEJECEJECIQMgASAAKAIMIAMoAgAiAxBNIAAgACgCDCADajYCDAwBCyAAIAAoAgAoAigRAAAiA0F/Rg0BIAEgA8A6AABBASEDCyABIANqIQEgAyAFaiEFDAELCyAEQRBqJAAgBQsJACAAQn8QkgILCQAgAEJ/EJICCwQAIAALDAAgABCUAhogABAtCwwAIAAoAjwQFRDdAQs7AQF/IAAoAjwjAEEQayIAJAAgASACQf8BcSAAQQhqEBYQ3QEhAiAAKQMIIQEgAEEQaiQAQn8gASACGwspACABIAEoAgBBB2pBeHEiAUEQajYCACAAIAEpAwAgASkDCBCVAjkDAAu5FwMSfwF8A34jAEGwBGsiCyQAIAtBADYCLAJAIAG9IhlCAFMEQEEBIRBB+AghFCABmiIBvSEZDAELIARBgBBxBEBBASEQQfsIIRQMAQtB/ghB+QggBEEBcSIQGyEUIBBFIRcLAkAgGUKAgICAgICA+P8Ag0KAgICAgICA+P8AUQRAIABBICACIBBBA2oiBiAEQf//e3EQRSAAIBQgEBBCIABB5g1ByhUgBUEgcSIDG0G8EEH0FSADGyABIAFiG0EDEEIgAEEgIAIgBiAEQYDAAHMQRSACIAYgAiAGShshDQwBCyALQRBqIRECQAJAAkAgASALQSxqENIDIgEgAaAiAUQAAAAAAAAAAGIEQCALIAsoAiwiBkEBazYCLCAFQSByIhVB4QBHDQEMAwsgBUEgciIVQeEARg0CIAsoAiwhDAwBCyALIAZBHWsiDDYCLCABRAAAAAAAALBBoiEBC0EGIAMgA0EASBshCiALQTBqQaACQQAgDEEAThtqIg4hBwNAIAcgAfwDIgM2AgAgB0EEaiEHIAEgA7ihRAAAAABlzc1BoiIBRAAAAAAAAAAAYg0ACwJAIAxBAEwEQCAMIQkgByEGIA4hCAwBCyAOIQggDCEJA0BBHSAJIAlBHU8bIQMCQCAHQQRrIgYgCEkNACADrSEbQgAhGQNAIAYgBjUCACAbhiAZfCIaIBpCgJTr3AOAIhlCgJTr3AN+fT4CACAGQQRrIgYgCE8NAAsgGkKAlOvcA1QNACAIQQRrIgggGT4CAAsDQCAIIAciBkkEQCAGQQRrIgcoAgBFDQELCyALIAsoAiwgA2siCTYCLCAGIQcgCUEASg0ACwsgCUEASARAIApBGWpBCW5BAWohEiAVQeYARiETA0BBCUEAIAlrIgMgA0EJTxshDQJAIAYgCE0EQEEAQQQgCCgCABshBwwBC0GAlOvcAyANdiEWQX8gDXRBf3MhD0EAIQkgCCEHA0AgByAHKAIAIgMgDXYgCWo2AgAgAyAPcSAWbCEJIAdBBGoiByAGSQ0AC0EAQQQgCCgCABshByAJRQ0AIAYgCTYCACAGQQRqIQYLIAsgCygCLCANaiIJNgIsIA4gByAIaiIIIBMbIgMgEkECdGogBiAGIANrQQJ1IBJKGyEGIAlBAEgNAAsLQQAhCQJAIAYgCE0NACAOIAhrQQJ1QQlsIQlBCiEHIAgoAgAiA0EKSQ0AA0AgCUEBaiEJIAMgB0EKbCIHTw0ACwsgCiAJQQAgFUHmAEcbayAVQecARiAKQQBHcWsiAyAGIA5rQQJ1QQlsQQlrSARAIAtBMGpBhGBBpGIgDEEASBtqIANBgMgAaiIMQQltIgNBAnRqIQ1BCiEHIAwgA0EJbGsiA0EHTARAA0AgB0EKbCEHIANBAWoiA0EIRw0ACwsCQCANKAIAIgwgDCAHbiISIAdsayIPRSANQQRqIgMgBkZxDQACQCASQQFxRQRARAAAAAAAAEBDIQEgB0GAlOvcA0cgCCANT3INASANQQRrLQAAQQFxRQ0BC0QBAAAAAABAQyEBC0QAAAAAAADgP0QAAAAAAADwP0QAAAAAAAD4PyADIAZGG0QAAAAAAAD4PyAPIAdBAXYiA0YbIAMgD0sbIRgCQCAXDQAgFC0AAEEtRw0AIBiaIRggAZohAQsgDSAMIA9rIgM2AgAgASAYoCABYQ0AIA0gAyAHaiIDNgIAIANBgJTr3ANPBEADQCANQQA2AgAgCCANQQRrIg1LBEAgCEEEayIIQQA2AgALIA0gDSgCAEEBaiIDNgIAIANB/5Pr3ANLDQALCyAOIAhrQQJ1QQlsIQlBCiEHIAgoAgAiA0EKSQ0AA0AgCUEBaiEJIAMgB0EKbCIHTw0ACwsgDUEEaiIDIAYgAyAGSRshBgsDQCAGIgwgCE0iB0UEQCAGQQRrIgYoAgBFDQELCwJAIBVB5wBHBEAgBEEIcSETDAELIAlBf3NBfyAKQQEgChsiBiAJSiAJQXtKcSIDGyAGaiEKQX9BfiADGyAFaiEFIARBCHEiEw0AQXchBgJAIAcNACAMQQRrKAIAIg9FDQBBCiEDQQAhBiAPQQpwDQADQCAGIgdBAWohBiAPIANBCmwiA3BFDQALIAdBf3MhBgsgDCAOa0ECdUEJbCEDIAVBX3FBxgBGBEBBACETIAogAyAGakEJayIDQQAgA0EAShsiAyADIApKGyEKDAELQQAhEyAKIAMgCWogBmpBCWsiA0EAIANBAEobIgMgAyAKShshCgtBfyENIApB/f///wdB/v///wcgCiATciIPG0oNASAKIA9BAEdqQQFqIRYCQCAFQV9xIgdBxgBGBEAgCSAWQf////8Hc0oNAyAJQQAgCUEAShshBgwBCyARIAkgCUEfdSIDcyADa60gERCmASIGa0EBTARAA0AgBkEBayIGQTA6AAAgESAGa0ECSA0ACwsgBkECayISIAU6AAAgBkEBa0EtQSsgCUEASBs6AAAgESASayIGIBZB/////wdzSg0CCyAGIBZqIgMgEEH/////B3NKDQEgAEEgIAIgAyAQaiIJIAQQRSAAIBQgEBBCIABBMCACIAkgBEGAgARzEEUCQAJAAkAgB0HGAEYEQCALQRBqQQlyIQUgDiAIIAggDksbIgMhCANAIAg1AgAgBRCmASEGAkAgAyAIRwRAIAYgC0EQak0NAQNAIAZBAWsiBkEwOgAAIAYgC0EQaksNAAsMAQsgBSAGRw0AIAZBAWsiBkEwOgAACyAAIAYgBSAGaxBCIAhBBGoiCCAOTQ0ACyAPBEAgAEHrG0EBEEILIApBAEwgCCAMT3INAQNAIAg1AgAgBRCmASIGIAtBEGpLBEADQCAGQQFrIgZBMDoAACAGIAtBEGpLDQALCyAAIAZBCSAKIApBCU4bEEIgCkEJayEGIAhBBGoiCCAMTw0DIApBCUogBiEKDQALDAILAkAgCkEASA0AIAwgCEEEaiAIIAxJGyEDIAtBEGpBCXIhDCAIIQcDQCAMIAc1AgAgDBCmASIGRgRAIAZBAWsiBkEwOgAACwJAIAcgCEcEQCAGIAtBEGpNDQEDQCAGQQFrIgZBMDoAACAGIAtBEGpLDQALDAELIAAgBkEBEEIgBkEBaiEGIAogE3JFDQAgAEHrG0EBEEILIAAgBiAMIAZrIgUgCiAFIApIGxBCIAogBWshCiAHQQRqIgcgA08NASAKQQBODQALCyAAQTAgCkESakESQQAQRSAAIBIgESASaxBCDAILIAohBgsgAEEwIAZBCWpBCUEAEEULIABBICACIAkgBEGAwABzEEUgAiAJIAIgCUobIQ0MAQsgFCAFQRp0QR91QQlxaiEJAkAgA0ELSw0AQQwgA2shBkQAAAAAAAAwQCEYA0AgGEQAAAAAAAAwQKIhGCAGQQFrIgYNAAsgCS0AAEEtRgRAIBggAZogGKGgmiEBDAELIAEgGKAgGKEhAQsgESALKAIsIgcgB0EfdSIGcyAGa60gERCmASIGRgRAIAZBAWsiBkEwOgAAIAsoAiwhBwsgEEECciEKIAVBIHEhDCAGQQJrIg4gBUEPajoAACAGQQFrQS1BKyAHQQBIGzoAACAEQQhxRSADQQBMcSEIIAtBEGohBwNAIAciBSAB/AIiBkGA9QBqLQAAIAxyOgAAIAEgBrehRAAAAAAAADBAoiIBRAAAAAAAAAAAYSAIcSAHQQFqIgcgC0EQamtBAUdyRQRAIAVBLjoAASAFQQJqIQcLIAFEAAAAAAAAAABiDQALQX8hDSADQf3///8HIAogESAOayIIaiIGa0oNACAAQSAgAiAGIANBAmogByALQRBqIgVrIgcgB0ECayADSBsgByADGyIDaiIGIAQQRSAAIAkgChBCIABBMCACIAYgBEGAgARzEEUgACAFIAcQQiAAQTAgAyAHa0EAQQAQRSAAIA4gCBBCIABBICACIAYgBEGAwABzEEUgAiAGIAIgBkobIQ0LIAtBsARqJAAgDQsEAEIAC9YCAQd/IwBBIGsiAyQAIAMgACgCHCIENgIQIAAoAhQhBSADIAI2AhwgAyABNgIYIAMgBSAEayIBNgIUIAEgAmohBSADQRBqIQFBAiEHAn8CQAJAAkAgACgCPCABQQIgA0EMahAKEN0BBEAgASEEDAELA0AgBSADKAIMIgZGDQIgBkEASARAIAEhBAwECyABQQhBACAGIAEoAgQiCEsiCRtqIgQgBiAIQQAgCRtrIgggBCgCAGo2AgAgAUEMQQQgCRtqIgEgASgCACAIazYCACAFIAZrIQUgACgCPCAEIgEgByAJayIHIANBDGoQChDdAUUNAAsLIAVBf0cNAQsgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCECACDAELIABBADYCHCAAQgA3AxAgACAAKAIAQSByNgIAQQAgB0ECRg0AGiACIAQoAgRrCyADQSBqJAALiQIBA38jAEEQayIAJAACQCAAQQxqIABBCGoQFA0AQYDuASAAKAIMQQJ0QQRqEDQiATYCACABRQ0AIAAoAggQNCIBBEBBgO4BKAIAIgIgACgCDEECdGpBADYCACACIAEQE0UNAQtBgO4BQQA2AgALIABBEGokAEGU4AFBADYCAEGQ4AFBATYCABCQA0GU4AFBsOABKAIANgIAQbDgAUGQ4AE2AgBBtOABQS42AgBBuOABQQA2AgAQnAJBuOABQbDgASgCADYCAEGw4AFBtOABNgIAQdzhAUHk4AE2AgBBtOEBQYCABDYCAEGw4QFB8P4FNgIAQZThAUEqNgIAQbjhAUG43QEoAgA2AgALC8jAASoAQYAIC4QYbG9hZF9zcHoAaW5maW5pdHkARmVicnVhcnkASmFudWFyeQBKdWx5AFRodXJzZGF5AFR1ZXNkYXkAV2VkbmVzZGF5AFNhdHVyZGF5AFN1bmRheQBNb25kYXkARnJpZGF5AE1heQAlbS8lZC8leQAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AE5vdgBUaHUAQXVndXN0AHVuc2lnbmVkIHNob3J0AHVuc2lnbmVkIGludABpbnZhbGlkIGxpdGVyYWwvbGVuZ3RocyBzZXQAaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0AHVua25vd24gaGVhZGVyIGZsYWdzIHNldABpbnZhbGlkIGRpc3RhbmNlcyBzZXQAZ2V0AE9jdABmbG9hdABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AFNhdABudW1Qb2ludHMAY29sb3JzAFVucGFja09wdGlvbnMAcG9zaXRpb25zAHJvdGF0aW9ucwB0b28gbWFueSBsZW5ndGggb3IgZGlzdGFuY2Ugc3ltYm9scwBpbnZhbGlkIHN0b3JlZCBibG9jayBsZW5ndGhzAHNjYWxlcwBhbHBoYXMAW1NQWjogRVJST1JdIENoZWNrIGZhaWxlZDogJXM6JWQ6ICVzAHZmMzJfcHRyAEFwcgB2ZWN0b3IAbW9uZXlfZ2V0IGVycm9yAFtTUFogRVJST1JdIGRlc2VyaWFsaXplUGFja2VkR2F1c3NpYW5zOiByZWFkIGVycm9yAE9jdG9iZXIATm92ZW1iZXIAU2VwdGVtYmVyAERlY2VtYmVyAHVuc2lnbmVkIGNoYXIAaW9zX2Jhc2U6OmNsZWFyAE1hcgAvZW1zZGsvZW1zY3JpcHRlbi9zeXN0ZW0vbGliL2xpYmN4eGFiaS9zcmMvcHJpdmF0ZV90eXBlaW5mby5jcHAAU2VwACVJOiVNOiVTICVwAFN1bgBKdW4ATW9uAG5hbgBKYW4AY29vcmRpbmF0ZVN5c3RlbQBDb29yZGluYXRlU3lzdGVtAEp1bABib29sAGxsAEFwcmlsAGludmFsaWQgY29kZSAtLSBtaXNzaW5nIGVuZC1vZi1ibG9jawBpbmNvcnJlY3QgaGVhZGVyIGNoZWNrAGluY29ycmVjdCBsZW5ndGggY2hlY2sAaW5jb3JyZWN0IGRhdGEgY2hlY2sAcHVzaF9iYWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAEZyaQBzaABoZWFkZXIgY3JjIG1pc21hdGNoAE1hcmNoAEF1ZwB1bnNpZ25lZCBsb25nIGxvbmcAdW5zaWduZWQgbG9uZwBzdGQ6OndzdHJpbmcAYmFzaWNfc3RyaW5nAHN0ZDo6c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGluZgAlLjBMZgAlTGYAcmVzaXplAGludmFsaWQgd2luZG93IHNpemUAdHJ1ZQBUdWUAZmFsc2UAaW52YWxpZCBibG9jayB0eXBlAEp1bmUAZG91YmxlAHNoRGVncmVlAGJhZF9hcnJheV9uZXdfbGVuZ3RoIHdhcyB0aHJvd24gaW4gLWZuby1leGNlcHRpb25zIG1vZGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQBSYXdHYXVzc2lhbkNsb3VkAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAFtTUFogRVJST1JdIGRlc2VyaWFsaXplUGFja2VkR2F1c3NpYW5zOiBoZWFkZXIgbm90IGZvdW5kACUwKmxsZAAlKmxsZAArJWxsZAAlKy40bGQAdm9pZABsb2NhbGUgbm90IHN1cHBvcnRlZABhbnRpYWxpYXNlZABXZWQAJVktJW0tJWQAW1NQWiBFUlJPUl0gZGVzZXJpYWxpemVQYWNrZWRHYXVzc2lhbnM6IFRvbyBtYW55IHBvaW50czogJWQAW1NQWiBFUlJPUl0gZGVzZXJpYWxpemVQYWNrZWRHYXVzc2lhbnM6IFVuc3VwcG9ydGVkIFNIIGRlZ3JlZTogJWQAW1NQWiBFUlJPUl0gZGVzZXJpYWxpemVQYWNrZWRHYXVzc2lhbnM6IHZlcnNpb24gbm90IHN1cHBvcnRlZDogJWQARGVjAC4vc3B6L3NyYy9jYy9sb2FkLXNwei5jYwBGZWIAJWEgJWIgJWQgJUg6JU06JVMgJVkAUE9TSVgAVmVjdG9yVUludDhUACVIOiVNOiVTAE5BTgBQTQBBTQAlSDolTQBMQ19BTEwAQVNDSUkATEFORwBSVUYATFVGAElORgBSREYATERGAFVOU1BFQ0lGSUVEAEMAUlVCAExVQgBSREIATERCAGNhdGNoaW5nIGEgY2xhc3Mgd2l0aG91dCBhbiBvYmplY3Q/AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50NjRfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50NjRfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+ADAxMjM0NTY3ODkAQy5VVEYtOABWZWN0b3JGbG9hdDMyADEuMy4xAC4ALQAocGFja2VkLmFscGhhcy5zaXplKCkpID09IChudW1Qb2ludHMpAChudWxsKQAocGFja2VkLmNvbG9ycy5zaXplKCkpID09IChudW1Qb2ludHMgKiAzKQAocGFja2VkLnNjYWxlcy5zaXplKCkpID09IChudW1Qb2ludHMgKiAzKQAocGFja2VkLnNoLnNpemUoKSkgPT0gKG51bVBvaW50cyAqIHNoRGltICogMykAKHBhY2tlZC5yb3RhdGlvbnMuc2l6ZSgpKSA9PSAobnVtUG9pbnRzICogKHBhY2tlZC51c2VzUXVhdGVybmlvblNtYWxsZXN0VGhyZWUgPyA0IDogMykpAChwYWNrZWQucG9zaXRpb25zLnNpemUoKSkgPT0gKG51bVBvaW50cyAqIDMgKiAodXNlc0Zsb2F0MTYgPyAyIDogMykpACUAbGVuZ3RoX2Vycm9yIHdhcyB0aHJvd24gaW4gLWZuby1leGNlcHRpb25zIG1vZGUgd2l0aCBtZXNzYWdlICIlcyIAUHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGxlZCEAW1NQWjogRVJST1JdIFVuc3VwcG9ydGVkIFNIIGRlZ3JlZTogJWQKAAkAAAAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwBBkCALthMgEAAA9GwAAPRsAABAEAAAqG0AACgQAABOM3NwejEzR2F1c3NpYW5DbG91ZEUAAACobQAASBAAAE4zc3B6MTNVbnBhY2tPcHRpb25zRQBwcGlpcAD0bAAAbBAAAKhtAAB0EAAATlN0M19fMjZ2ZWN0b3JJZk5TXzlhbGxvY2F0b3JJZkVFRUUAaXBwACxuAADEEAAAAAAAAAMAAADcEAAAAAAAACgSAAAAAAAAWBIAAAAAAABOU3QzX18yOG9wdGlvbmFsSWZFRQAAAADQbQAA6BAAABgRAABOU3QzX18yMjdfX29wdGlvbmFsX21vdmVfYXNzaWduX2Jhc2VJZkxiMUVFRQAAAADQbQAAJBEAAFQRAABOU3QzX18yMjdfX29wdGlvbmFsX2NvcHlfYXNzaWduX2Jhc2VJZkxiMUVFRQAAAADQbQAAYBEAAIgRAABOU3QzX18yMjBfX29wdGlvbmFsX21vdmVfYmFzZUlmTGIxRUVFAAAA0G0AAJQRAAC8EQAATlN0M19fMjIwX19vcHRpb25hbF9jb3B5X2Jhc2VJZkxiMUVFRQAAANBtAADIEQAA9BEAAE5TdDNfXzIyM19fb3B0aW9uYWxfc3RvcmFnZV9iYXNlSWZMYjBFRUUAAAAAqG0AAPwRAABOU3QzX18yMjRfX29wdGlvbmFsX2Rlc3RydWN0X2Jhc2VJZkxiMUVFRQAAAKhtAAAwEgAATlN0M19fMjE4X19zZmluYWVfY3Rvcl9iYXNlSUxiMUVMYjFFRUUAAKhtAABgEgAATlN0M19fMjIwX19zZmluYWVfYXNzaWduX2Jhc2VJTGIxRUxiMUVFRQAAAACIbgAAnBIAAAAAAABsEAAAUE5TdDNfXzI2dmVjdG9ySWZOU185YWxsb2NhdG9ySWZFRUVFAAAAAIhuAADUEgAAAQAAAGwQAABQS05TdDNfXzI2dmVjdG9ySWZOU185YWxsb2NhdG9ySWZFRUVFAHBwAHYAdnAAAACMEgAAcHAAAJRsAACMEgAAPG0AAHZwcGQAAAAAlGwAAIwSAAAYbQAAPG0AAHZwcHBkAAAAGG0AAMQSAABwcHAATBMAADxtAACobQAAVBMAAE4xMGVtc2NyaXB0ZW4zdmFsRQAAnBAAAGwQAAAYbQAAcHBwcAAAAAAAAAAArGwAAGwQAAAYbQAAPG0AAGlwcHBkAAAALG4AAMATAAAAAAAAAwAAANgTAAAAAAAAKBIAAAAAAABYEgAAAAAAAE5TdDNfXzI4b3B0aW9uYWxJaEVFAAAAANBtAADkEwAAFBQAAE5TdDNfXzIyN19fb3B0aW9uYWxfbW92ZV9hc3NpZ25fYmFzZUloTGIxRUVFAAAAANBtAAAgFAAAUBQAAE5TdDNfXzIyN19fb3B0aW9uYWxfY29weV9hc3NpZ25fYmFzZUloTGIxRUVFAAAAANBtAABcFAAAhBQAAE5TdDNfXzIyMF9fb3B0aW9uYWxfbW92ZV9iYXNlSWhMYjFFRUUAAADQbQAAkBQAALgUAABOU3QzX18yMjBfX29wdGlvbmFsX2NvcHlfYmFzZUloTGIxRUVFAAAA0G0AAMQUAADwFAAATlN0M19fMjIzX19vcHRpb25hbF9zdG9yYWdlX2Jhc2VJaExiMEVFRQAAAACobQAA+BQAAE5TdDNfXzIyNF9fb3B0aW9uYWxfZGVzdHJ1Y3RfYmFzZUloTGIxRUVFAAAAqG0AACwVAABOU3QzX18yNnZlY3RvckloTlNfOWFsbG9jYXRvckloRUVFRQCIbgAAYBUAAAAAAAAkFQAAUE5TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAAAAAIhuAACYFQAAAQAAACQVAABQS05TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAHBwAHZwAFAVAABwcAAAlGwAAFAVAADEbAAAdnBwaQAAAACUbAAAUBUAABhtAADEbAAAdnBwcGkAAAAYbQAAiBUAAHBwcABMEwAAxGwAAJgTAAAkFQAAGG0AAHBwcHAAAAAArGwAACQVAAAYbQAAxGwAAGlwcHBpAHAAdnAAaXBwAHZwcGkAaXBwAHZwcGkAcHBwAHZwcHAAAABcbQAAYBYAAE4zc3B6MTZDb29yZGluYXRlU3lzdGVtRQBwAHZwAGlwcAB2cHBpAAAAAAAAAwAAAAgAAAAPAAAAqG0AAKAWAABOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAqG0AAOgWAABOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQAAqG0AADAXAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRHNOU18xMWNoYXJfdHJhaXRzSURzRUVOU185YWxsb2NhdG9ySURzRUVFRQAAAKhtAAB8FwAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUAAACobQAAyBcAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQAAqG0AAPAXAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUAAKhtAAAYGAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAACobQAAQBgAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQAAqG0AAGgYAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUAAKhtAACQGAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAACobQAAuBgAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQAAqG0AAOAYAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUAAKhtAAAIGQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAACobQAAMBkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXhFRQAAqG0AAFgZAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l5RUUAAKhtAACAGQAATjEwZW1zY3Jp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AAAJqAAACAQAAAiEAAAIRAAACegAEAcIAAAIXAAACBwAAAmYABQHUwAACHwAAAg8AAAJ2AASBxcAAAhsAAAILAAACbgAAAgMAAAIjAAACEwAAAn4ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcQAEQcLAAAIYgAACCIAAAmkAAAIAgAACIIAAAhCAAAJ5AAQBwcAAAhaAAAIGgAACZQAFAdDAAAIegAACDoAAAnUABIHEwAACGoAAAgqAAAJtAAACAoAAAiKAAAISgAACfQAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzAARBw8AAAhmAAAIJgAACawAAAgGAAAIhgAACEYAAAnsABAHCQAACF4AAAgeAAAJnAAUB2MAAAh+AAAIPgAACdwAEgcbAAAIbgAACC4AAAm8AAAIDgAACI4AAAhOAAAJ/ABgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnCABAHCgAACGEAAAghAAAJogAACAEAAAiBAAAIQQAACeIAEAcGAAAIWQAACBkAAAmSABMHOwAACHkAAAg5AAAJ0gARBxEAAAhpAAAIKQAACbIAAAgJAAAIiQAACEkAAAnyABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcoAEQcNAAAIZQAACCUAAAmqAAAIBQAACIUAAAhFAAAJ6gAQBwgAAAhdAAAIHQAACZoAFAdTAAAIfQAACD0AAAnaABIHFwAACG0AAAgtAAAJugAACA0AAAiNAAAITQAACfoAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxgARBwsAAAhjAAAIIwAACaYAAAgDAAAIgwAACEMAAAnmABAHBwAACFsAAAgbAAAJlgAUB0MAAAh7AAAIOwAACdYAEgcTAAAIawAACCsAAAm2AAAICwAACIsAAAhLAAAJ9gAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnOABEHDwAACGcAAAgnAAAJrgAACAcAAAiHAAAIRwAACe4AEAcJAAAIXwAACB8AAAmeABQHYwAACH8AAAg/AAAJ3gASBxsAAAhvAAAILwAACb4AAAgPAAAIjwAACE8AAAn+AGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcEAEAcKAAAIYAAACCAAAAmhAAAIAAAACIAAAAhAAAAJ4QAQBwYAAAhYAAAIGAAACZEAEwc7AAAIeAAACDgAAAnRABEHEQAACGgAAAgoAAAJsQAACAgAAAiIAAAISAAACfEAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyQARBw0AAAhkAAAIJAAACakAAAgEAAAIhAAACEQAAAnpABAHCAAACFwAAAgcAAAJmQAUB1MAAAh8AAAIPAAACdkAEgcXAAAIbAAACCwAAAm5AAAIDAAACIwAAAhMAAAJ+QAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnFABEHCwAACGIAAAgiAAAJpQAACAIAAAiCAAAIQgAACeUAEAcHAAAIWgAACBoAAAmVABQHQwAACHoAAAg6AAAJ1QASBxMAAAhqAAAIKgAACbUAAAgKAAAIigAACEoAAAn1ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACc0AEQcPAAAIZgAACCYAAAmtAAAIBgAACIYAAAhGAAAJ7QAQBwkAAAheAAAIHgAACZ0AFAdjAAAIfgAACD4AAAndABIHGwAACG4AAAguAAAJvQAACA4AAAiOAAAITgAACf0AYAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwwAQBwoAAAhhAAAIIQAACaMAAAgBAAAIgQAACEEAAAnjABAHBgAACFkAAAgZAAAJkwATBzsAAAh5AAAIOQAACdMAEQcRAAAIaQAACCkAAAmzAAAICQAACIkAAAhJAAAJ8wAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnLABEHDQAACGUAAAglAAAJqwAACAUAAAiFAAAIRQAACesAEAcIAAAIXQAACB0AAAmbABQHUwAACH0AAAg9AAAJ2wASBxcAAAhtAAAILQAACbsAAAgNAAAIjQAACE0AAAn7ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACccAEQcLAAAIYwAACCMAAAmnAAAIAwAACIMAAAhDAAAJ5wAQBwcAAAhbAAAIGwAACZcAFAdDAAAIewAACDsAAAnXABIHEwAACGsAAAgrAAAJtwAACAsAAAiLAAAISwAACfcAEAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzwARBw8AAAhnAAAIJwAACa8AAAgH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Y05TXzExY2hhcl90cmFpdHNJY0VFRUUA0G0AAHg9AAAAPAAATlN0M19fMjE1YmFzaWNfc3RyaW5nYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAAABAAAAAAAAAAKw+AABZAAAAWgAAADgAAAD4////rD4AAFsAAABcAAAAwP///8D///+sPgAAXQAAAF4AAADIPQAALD4AAGg+AAB8PgAAkD4AAKQ+AABUPgAAQD4AAPA9AADcPQAAQAAAAAAAAAAcPQAATAAAAE0AAAA4AAAA+P///xw9AABOAAAATwAAAMD////A////HD0AAFAAAABRAAAAQAAAAAAAAAA8PAAARAAAAEUAAADA////wP///zw8AABGAAAARwAAADgAAAAAAAAAhDwAAEgAAABJAAAAyP///8j///+EPAAASgAAAEsAAADQbQAAuD4AABw9AABOU3QzX18yMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAAAAAAAAAED8AAF8AAABgAAAAqG0AABg/AABOU3QzX18yOGlvc19iYXNlRQAAAAAAAADRdJ4AV529KoBwUg///z4nCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUYAAAANQAAAHEAAABr////zvv//5K///8AAAAAAAAAAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAAAAAAAAAAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADA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")),u((await async function(F){return fA(F)}(y)).instance))}();if(I.preInit)for(typeof I.preInit=="function"&&(I.preInit=[I.preInit]);0<I.preInit.length;)I.preInit.shift()();return function l(){function u(){var y;if(I.calledRun=!0,!j){if(gA=!0,rI.G(),n?.(I),(y=I.onRuntimeInitialized)==null||y.call(I),I.postRun)for(typeof I.postRun=="function"&&(I.postRun=[I.postRun]);I.postRun.length;){var F=I.postRun.shift();iA.push(F)}uA(iA)}}if(0<aA)wA=l;else{if(I.preRun)for(typeof I.preRun=="function"&&(I.preRun=[I.preRun]);I.preRun.length;)eA();uA(GA),0<aA?wA=l:I.setStatus?(I.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>I.setStatus(""),1),u()},1)):u()}}(),g=gA?I:new Promise((l,u)=>{n=l,r=u}),g}const hI=(B,A,g=I=>I)=>{const I=B.vf32_ptr(A),Q=A.size();return new Float32Array(B.HEAPF32.buffer,I,Q).map(g)},Ja=B=>1/(1+Math.exp(-B)),Ya=B=>A=>A*B+.5,xa=async(B,A)=>{var g;const I=await La(),Q=B instanceof Uint8Array?B:new Uint8Array(B);let C=null;try{if(C=I._malloc(Uint8Array.BYTES_PER_ELEMENT*Q.length),C===null)throw new Error("couldn't allocate memory");I.HEAPU8.set(Q,C/Uint8Array.BYTES_PER_ELEMENT);const E=I.CoordinateSystem[((g=A?.unpackOptions)==null?void 0:g.coordinateSystem)??"UNSPECIFIED"],a=I.load_spz(C,Q.length,{coordinateSystem:E}),i=((t,e,o)=>{const s=o?.colorScaleFactor??.282;return{numPoints:e.numPoints,shDegree:e.shDegree,antialiased:e.antialiased,positions:hI(t,e.positions),scales:hI(t,e.scales,Math.exp),rotations:hI(t,e.rotations),alphas:hI(t,e.alphas,Ja),colors:hI(t,e.colors,Ya(s)),sh:hI(t,e.sh)}})(I,a,A);return((t,e)=>{t._free(t.vf32_ptr(e.positions)),t._free(t.vf32_ptr(e.scales)),t._free(t.vf32_ptr(e.rotations)),t._free(t.vf32_ptr(e.alphas)),t._free(t.vf32_ptr(e.colors)),t._free(t.vf32_ptr(e.sh))})(I,a),i}catch(E){throw E}finally{C!==null&&I._free(C)}},Ha=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ZC=`async function OI(w = {}) {
18
+ }`,y=new Function(Object.keys(K),P)(...Object.values(K)),P=`methodCaller<(${L.map(IA=>IA.name)}) => ${F.name}>`,(IA=>{var QA=HB.length;return HB.push(IA),QA})(gA(P,y))},E:SI,o:(u,l,y,F,L)=>HB[u](l,y,F,L),D:u=>{var l=LI(u);FA(l),SI(u)},s:(u,l,y,F)=>{var L=new Date().getFullYear(),O=new Date(L,0,1).getTimezoneOffset();L=new Date(L,6,1).getTimezoneOffset(),p[u>>2]=60*Math.max(O,L),f[l>>2]=+(O!=L),l=K=>{var P=Math.abs(K);return`UTC${0<=K?"-":"+"}${String(Math.floor(P/60)).padStart(2,"0")}${String(P%60).padStart(2,"0")}`},u=l(O),l=l(L),L<O?(Hg(u,y,17),Hg(l,F,17)):(Hg(u,F,17),Hg(l,y,17))},y:u=>{var l=w.length;if(2147483648<(u>>>=0))return!1;for(var y=1;4>=y;y*=2){var F=l*(1+.2/y);F=Math.min(F,u+100663296);A:{F=(Math.min(2147483648,65536*Math.ceil(Math.max(u,F)/65536))-c.buffer.byteLength+65535)/65536|0;try{c.grow(F),_();var L=1;break A}catch{}L=void 0}if(L)return!0}return!1},t:(u,l)=>{var y,F=0,L=0;for(y of HQ()){var O=l+F;p[u+L>>2]=O,F+=Hg(y,O,1/0)+1,L+=4}return 0},u:(u,l)=>{var y=HQ();for(var F of(p[u>>2]=y.length,u=0,y))u+=IB(F)+1;return p[l>>2]=u,0},v:()=>52,w:function(){return 70},k:(u,l,y,F)=>{for(var L=0,O=0;O<y;O++){var K=p[l>>2],P=p[l+4>>2];l+=8;for(var IA=0;IA<P;IA++){var QA=u,BA=w[K+IA],pA=UE[QA];BA===0||BA===10?(QA=QA===1?S:U,BA=YI(pA,0),QA(BA=BB.decode(pA.buffer?pA.subarray(0,BA):new Uint8Array(pA.slice(0,BA)))),pA.length=0):pA.push(BA)}L+=P}return p[F>>2]=L,0}},rI=await async function(){var u;function l(F){var L;return rI=F.exports,c=rI.F,_(),VI=rI.H,KQ=(F=rI).I,I._malloc=jB=F.J,I._free=qg=F.K,EA--,(L=I.monitorRunDependencies)==null||L.call(I,EA),EA==0&&cA&&(F=cA,cA=null,F()),rI}EA++,(u=I.monitorRunDependencies)==null||u.call(I,EA);var y={a:SE};return I.instantiateWasm?new Promise(F=>{I.instantiateWasm(y,(L,O)=>{F(l(L))})}):(X??(X=(F=>{if(a)return F=Buffer.from(F,"base64"),new Uint8Array(F.buffer,F.byteOffset,F.length);for(var L,O,K=0,P=0,IA=F.length,QA=new Uint8Array((3*IA>>2)-(F[IA-2]=="=")-(F[IA-1]=="="));K<IA;K+=4,P+=3)L=kg[F.charCodeAt(K+1)],O=kg[F.charCodeAt(K+2)],QA[P]=kg[F.charCodeAt(K)]<<2|L>>4,QA[P+1]=L<<4|O>>2,QA[P+2]=O<<6|kg[F.charCodeAt(K+3)];return QA})("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C0EAEKEDRQRAQZiDASEBIARBmIMBQRgQiwFFDQJBsIMBIQEgBEGwgwFBGBCLAUUNAkEAIQBBvO4BLQAARQRAA0AgAEECdCAAQcYfEKIDNgKM7gEgAEEBaiIAQQZHDQALQbzuAUEBOgAAQaTuAUGM7gEoAgA2AgALQYzuASEBIAJBCGoiAEGM7gFBGBCLAUUNAkGk7gEhASAAQaTuAUEYEIsBRQ0CQRgQNCIBRQ0BCyABIAIpAgg3AgAgASACKQIYNwIQIAEgAikCEDcCCAwBC0EAIQELIAJBIGokAEGc8QFBAToAAEGY8QEgATYCACABC80KAgV/CX4jAEHgAGsiBSQAIARC////////P4MhCiACIASFQoCAgICAgICAgH+DIQsgAkL///////8/gyIMQiCIIQ8gBEIwiKdB//8BcSEHAkACQCACQjCIp0H//wFxIglB//8Ba0GCgH5PBEAgB0H//wFrQYGAfksNAQsgAVAgAkL///////////8AgyINQoCAgICAgMD//wBUIA1CgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCwwCCyADUCAEQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCELIAMhAQwCCyABIA1CgICAgICAwP//AIWEUARAIAIgA4RQBEBCgICAgICA4P//ACELQgAhAQwDCyALQoCAgICAgMD//wCEIQtCACEBDAILIAMgAkKAgICAgIDA//8AhYRQBEAgASANhEIAIQFQBEBCgICAgICA4P//ACELDAMLIAtCgICAgICAwP//AIQhCwwCCyABIA2EUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyANQv///////z9YBEAgBUHQAGogASAMIAEgDCAMUCIGG3lCwABCACAGG3ynIgZBD2sQREEQIAZrIQYgBSkDWCIMQiCIIQ8gBSkDUCEBCyACQv///////z9WDQAgBUFAayADIAogAyAKIApQIggbeULAAEIAIAgbfKciCEEPaxBEIAYgCGtBEGohBiAFKQNIIQogBSkDQCEDCyAHIAlqIAZqQf//AGshBgJAIApCD4YiDkIgiEKAgICACIQiAiABQiCIIgR+IhAgA0IPhiIRQiCIIgogD0KAgASEIg1+fCIPIBBUrSAPIANCMYggDoRC/////w+DIgMgDEL/////D4MiDH58Ig4gD1StfCACIA1+fCAOIA4gEUKAgP7/D4MiDyAMfiIRIAQgCn58IhAgEVStIBAgECADIAFC/////w+DIgF+fCIQVq18fCIOVq18IAMgDX4iEiACIAx+fCIRIBJUrUIghiARQiCIhHwgDiAOIBFCIIZ8Ig5WrXwgDiANIA9+Ig0gCiAMfnwiDCABIAJ+fCICIAMgBH58IgNCIIggAiADVq0gDCANVK0gAiAMVK18fEIghoR8IgIgDlStfCACIBAgBCAPfiIMIAEgCn58IgRCIIggBCAMVK1CIIaEfCIKIBBUrSAKIANCIIZ8IgMgClStfHwiCiACVK18IAogAyAEQiCGIgIgASAPfnwiASACVK18IgIgA1StfCIEIApUrXwiA0KAgICAgIDAAINQRQRAIAZBAWohBgwBCyABQj+IIANCAYYgBEI/iIQhAyAEQgGGIAJCP4iEIQQgAUIBhiEBIAJCAYaEIQILIAZB//8BTgRAIAtCgICAgICAwP//AIQhC0IAIQEMAQsCfiAGQQBMBEBBASAGayIHQf8ATQRAIAVBMGogASACIAZB/wBqIgYQRCAFQSBqIAQgAyAGEEQgBUEQaiABIAIgBxCKASAFIAQgAyAHEIoBIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQEgBSkDKCAFKQMYhCECIAUpAwAhBCAFKQMIDAILQgAhAQwCCyADQv///////z+DIAatQjCGhAsgC4QhCyABUCACQgBZIAJCgICAgICAgICAf1EbRQRAIAsgBEIBfCIBUK18IQsMAQsgASACQoCAgICAgICAgH+FhFBFBEAgBCEBDAELIAsgBCAEQgGDfCIBIARUrXwhCwsgACABNwMAIAAgCzcDCCAFQeAAaiQACwYAIAAQLQt8AQN/IwBBEGsiASQAIAEgADYCDCMAQRBrIgIkACAAKAIAQX9HBEAgAkEIaiACQQxqIAFBDGoQVRBVIQMDQCAAKAIAQQFGDQALIAAoAgBFBEAgAEEBNgIAIAMQ0gIgAEF/NgIACwsgAkEQaiQAIAAoAgQgAUEQaiQAQQFrCyAAIAAgAUEBazYCBCAAQeDVATYCACAAQZCtATYCACAAC/cFAQl/IwBBEGsiCSQAIAEQ1wIgCUEMaiABEFUhCCAAQQhqIgMQayACTQRAAkAgAkEBaiIAIAMQayIBSwRAIwBBIGsiCiQAAkAgACABayIHIAMoAgggAygCBGtBAnVNBEAgAyAHENkCDAELIApBDGohAQJ/IAMQayAHaiEFIwBBEGsiACQAIAAgBTYCDCAFELwCIgRNBEAgAxC5AiIFIARBAXZJBEAgACAFQQF0NgIIIABBCGogAEEMahCgASgCACEECyAAQRBqJAAgBAwBCxCMAQALIQQgAxBrIQUjAEEQayIAJAAgASADQQxqIgs2AhAgAUEANgIMIAQEfyAAQQhqIAsgBBC7AiAAKAIIIQYgACgCDAVBAAshBCABIAY2AgAgASAGIAVBAnRqIgU2AgggASAGIARBAnRqNgIMIAEgBTYCBCAAQRBqJAAjAEEQayIGJAAgASgCCCEEIAZBBGoiACABQQhqNgIIIAAgBDYCACAAIAQgB0ECdGo2AgQgACgCACEEA0AgACgCBCAERwRAIAEoAhAaIAQQugIgACAAKAIAQQRqIgQ2AgAMAQsLIAAoAgggACgCADYCACAGQRBqJAAgASgCBCADKAIAIgAgAygCBGtqIQQgAygCBCAAayIHBEAgBCAAIAf8CgAACyABIAQ2AgQgAyADKAIANgIEIAMgAUEEahDXASADQQRqIAFBCGoQ1wEgA0EIaiABQQxqENcBIAEgASgCBDYCACADEGsaIAEoAgQhAANAIAEoAggiBCAARwRAIAEgBEEEazYCCCABKAIQGgwBCwsgASgCACIABEAgASgCECAAIAEoAgwgASgCAGtBAnUQuAILCyAKQSBqJAAMAQsgACABSQRAIAMoAgAgAEECdGohACADEGsaIAMgABDYAgsLCyADIAIQggEoAgAEQCADIAIQggEoAgAQvwELIAgQrAEhACADIAIQggEgADYCACAIKAIAIQAgCEEANgIAIAAEQCAAEL8BCyAJQRBqJAALySgBC38jAEEQayIKJAACQAJAAkACQAJAAkACQAJAAkACQCAAQfQBTQRAQYzqASgCACIEQRAgAEELakH4A3EgAEELSRsiBkEDdiIAdiIBQQNxBEACQCABQX9zQQFxIABqIgJBA3QiAUG06gFqIgAgASgCvOoBIgEoAggiBUYEQEGM6gEgBEF+IAJ3cTYCAAwBCyAFIAA2AgwgACAFNgIICyABQQhqIQAgASACQQN0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KAIAKAIcEQQAC8EBAQN/IAAtAABBIHFFBEACQCAAKAIQIgMEfyADBSAAEN8BDQEgACgCEAsgACgCFCIEayACSQRAIAAgASACIAAoAiQRAwAaDAELAkACQCACRSAAKAJQQQBIcg0AIAIhAwNAIAEgA2oiBUEBay0AAEEKRwRAIANBAWsiAw0BDAILCyAAIAEgAyAAKAIkEQMAIANJDQIgAiADayECIAAoAhQhBAwBCyABIQULIAQgBSACEHEaIAAgACgCFCACajYCFAsLC6EBAQJ/AkAgABAfRSACIAFrQQVIcg0AIAEgAhDHASACQQRrIQQgABAjIgIgABAfaiEFAkADQAJAIAIsAAAhACABIARPDQAgAEEATCAAQf8ATnJFBEAgASgCACACLAAARw0DCyABQQRqIQEgAiAFIAJrQQFKaiECDAELCyAAQQBMIABB/wBOcg0BIAIsAAAgBCgCAEEBa0sNAQsgA0EENgIACwtQAQF+AkAgA0HAAHEEQCABIANBQGqthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUHAACADa62IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAtpAQF/IwBBgAJrIgUkACAEQYDABHEgAiADTHJFBEAgBSABIAIgA2siA0GAAiADQYACSSIBGxCYAiABRQRAA0AgACAFQYACEEIgA0GAAmsiA0H/AUsNAAsLIAAgBSADEEILIAVBgAJqJAALBABBAAsKACAALQALQQd2CwoAIABB0PIBEHoLCgAgAEHY8gEQegvPCQIEfwR+IwBB8ABrIgYkACAEQv///////////wCDIQkCQAJAIAFQIgUgAkL///////////8AgyIKQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIApQG0UEQCADQgBSIAlCgICAgICAwP//AH0iC0KAgICAgIDAgIB/ViALQoCAgICAgMCAgH9RGw0BCyAFIApCgICAgICAwP//AFQgCkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIApCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIFGyEEQgAgASAFGyEDDAILIAMgCUKAgICAgIDA//8AhYRQDQEgASAKhFAEQCADIAmEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAmEUEUNACABIQMgAiEEDAELIAMgASABIANUIAkgClYgCSAKURsiCBshCiAEIAIgCBsiDEL///////8/gyEJIAIgBCAIGyILQjCIp0H//wFxIQcgDEIwiKdB//8BcSIFRQRAIAZB4ABqIAogCSAKIAkgCVAiBRt5QsAAQgAgBRt8pyIFQQ9rEEQgBikDaCEJIAYpA2AhCkEQIAVrIQULIAEgAyAIGyEDIAtC////////P4MhASAHBH4gAQUgBkHQAGogAyABIAMgASABUCIHG3lCwABCACAHG3ynIgdBD2sQREEQIAdrIQcgBikDUCEDIAYpA1gLQgOGIANCPYiEQoCAgICAgIAEhCEBIAlCA4YgCkI9iIQgAiAEhSEEAn4gA0IDhiICIAUgB0YNABogBSAHayIHQf8ASwRAQgAhAUIBDAELIAZBQGsgAiABQYABIAdrEEQgBkEwaiACIAEgBxCKASAGKQM4IQEgBikDMCAGKQNAIAYpA0iEQgBSrYQLIQlCgICAgICAgASEIQsgCkIDhiEKAkAgBEIAUwRAQgAhA0IAIQQgCSAKhSABIAuFhFANAiAKIAl9IQIgCyABfSAJIApWrX0iBEL/////////A1YNASAGQSBqIAIgBCACIAQgBFAiBxt5QsAAQgAgBxt8p0EMayIHEEQgBSAHayEFIAYpAyghBCAGKQMgIQIMAQsgCSAKfCICIAlUrSABIAt8fCIEQoCAgICAgIAIg1ANACAJQgGDIARCP4YgAkIBiISEIQIgBUEBaiEFIARCAYghBAsgDEKAgICAgICAgIB/gyEDIAVB//8BTgRAIANCgICAgICAwP//AIQhBEIAIQMMAQtBACEHAkAgBUEASgRAIAUhBwwBCyAGQRBqIAIgBCAFQf8AahBEIAYgAiAEQQEgBWsQigEgBikDACAGKQMQIAYpAxiEQgBSrYQhAiAGKQMIIQQLIARCPYYgAkIDiIQhASAEQgOIQv///////z+DIAetQjCGhCADhCEEAkACQCACp0EHcSIFQQRHBEAgBCABIAEgBUEES618IgNWrXwhBAwBCyAEIAEgASABQgGDfCIDVq18IQQMAQsgBUUN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C14BA38gAEEANgIIIABCADcCACABKAIAIQMgASgCBCIBIANrIgRBAnUiAgRAIAAgAhCuAyAAKAIEIQIgBEUgASADRnJFBEAgAiADIAT8CgAACyAAIAIgBGo2AgQLIAALDQAgACgCACABQQJ0agsXACAAEEcEQCAAIAE2AgQPCyAAIAEQUAthAQF/IwBBEGsiAiQAIAIgADYCDAJAIAAgAUYNAANAIAIgAUEBayIBNgIIIAAgAU8NASACKAIMIAIoAggQ8wIgAiACKAIMQQFqIgA2AgwgAigCCCEBDAALAAsgAkEQaiQAC6wBAQR/IwBBEGsiByQAAkAgAEUNACAEKAIMIQYgAiABa0ECdSIIQQBKBEAgACABIAgQjQIgCEcNAQsgAyABa0ECdSIBIAZIBEAgACAHQQRqIAYgAWsiASAFEP0CIgUQIyABEI0CIQYgBRA5GiABIAZHDQELIAMgAmtBAnUiAUEASgRAIAAgAiABEI0CIAFHDQELIAQoAgwaIARBADYCDCAAIQkLIAdBEGokACAJCycBAX8jAEEQayIDJAAgAyACNgIMIABB5AAgASACENEBIANBEGokAAvbAQIBfwJ+QQEhBAJAIABCAFIgAUL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFEbDQAgAkIAUiADQv///////////wCDIgZCgICAgICAwP//AFYgBkKAgICAgIDA//8AURsNACAAIAKEIAUgBoSEUARAQQAPCyABIAODQgBZBEAgACACVCABIANTIAEgA1EbBEBBfw8LIAAgAoUgASADhYRCAFIPCyAAIAJWIAEgA1UgASADURsEQEF/DwsgACAChSABIAOFhEIAUiEECyAEC+wBAQR/IwBBEGsiBCQAIABBADYCBCMAQRBrIgUkACAEQQA6AA8gACAAKAIAQQxrKAIAahDZASEGIAAgACgCAEEMaygCAGohAwJAIAYEQCADKAJIBEAgACAAKAIAQQxrKAIAaigCSBDFAwsgBCAAIAAoAgBBDGsoAgBqENkBOgAPDAELIANBBBDVAQsgBUEQaiQAQQQhAyAELQAPBEAgACAAIAAoAgBBDGsoAgBqKAIYIgMgASACIAMoAgAoAiARAwAiATYCBEEGQQAgASACRxshAwsgACAAKAIAQQxrKAIAaiADENUBIARB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AxsLPAAgAEEANgIIIABCADcCACAAIAEoAgA2AgAgACABKAIENgIEIAAgASgCCDYCCCABQQA2AgggAUIANwIACywBAX8gAEEANgIIIABCADcCACAAIAEoAgAiAiABKAIEIgEgASACaxDAAyAACwgAIABB/wFxC/wBAQN/IAAoAgQgACgCACIDa0ECdSICIAFJBEAjAEEgayIDJAACQCABIAJrIgIgACgCCCAAKAIEIgFrQQJ1TQRAIAAoAgQiASACQQJ0aiECA0AgASACRgRAIAAgAjYCBAUgAUEANgIAIAFBBGohAQwBCwsMAQsgA0EMaiAAIAEgACgCAGtBAnUgAmoQtgEgACgCBCAAKAIAa0ECdSAAEIcCIgQoAggiASACQQJ0aiECA0AgASACRwRAIAFBADYCACABQQRqIQEMAQsLIAQgAjYCCCAAIAQQhQIgBBCBAgsgA0EgaiQADwsgASACSQRAIAAgAyABQQJ0ajYCBAsLUgECf0HU3gEoAgAiASAAQQdqQXhxIgJqIQACQCACQQAgACABTRtFBEAgAD8AQRB0TQ0BIAAQGA0BC0GI6gFBMDYCAEF/DwtB1N4BIAA2AgAgAQt/AgF+A38CQCAAQoCAgIAQVARAIAAhAgwBCwNAIAFBAWsiASAAIABCCoAiAkIKfn2nQTByOgAAIABC/////58BViACIQANAAsLIAJQRQRAIAKnIQMDQCABQQFrIgEgAyADQQpuIgRBCmxrQTByOgAAIANBCUsgBCEDDQALCyABC78BAQN/IAAoAgQgACgCACIDayICIAFJBEAjAEEgayIDJAACQCABIAJrIgIgACgCCCAAKAIEIgFrTQRAIAAgAhCYAwwBCyACIANBDGogACABIAJqIAAoAgBrELQBIAAoAgQgACgCAGsgABDGASIEKAIIIgFqIQIDQCABIAJHBEAgAUEAOgAAIAFBAWohAQwBCwsgBCACNgIIIAAgBBDvASAEELoBCyADQSBqJAAPCyABIAJJBEAgACABIANqNgIECwt9AQN/AkACQCAAIgFBA3FFDQAgAS0AAEUEQEEADwsDQCABQQFqIgFBA3FFDQEgAS0AAA0ACwwBCwNAIAEiAkEEaiEBQYCChAggAigCACIDayADckGAgYKEeHFBgIGChHhGDQALA0AgAiIBQQFqIQIgAS0AAA0ACwsgASAA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BEBBCiEBIAAQXgwBCyAAEH5BAWshASAAKAIECyIDIAFGBEAgACABQQEgASABEPQBIAAQIxoMAQsgABAjGiAEDQAgACIBIANBAWoQUAwBCyAAKAIAIQEgACADQQFqNgIECyABIANqIgAgAkEPahBdIAJBADoADiAAQQFqIAJBDmoQXSACQRBqJAALoQIBA38jAEEgayIIJABB9////wciCSABQX9zaiACTwRAIAAQIyEKIAFB8////wNJBEAgCCABQQF0NgIcIAggASACajYCECAIQRBqIAhBHGoQoAEoAgAQnwFBAWohCQsgCEEcaiAIQRhqIAAQVSgCABC8ASAIQRBqIAkQngEgCCgCECECIAgoAhQaIAQEQCACIAogBBBNCyAGBEAgAiAEaiAHIAYQTQsgAyAEIAVqIglrIQcgAyAJRwRAIAIgBGogBmogBCAKaiAFaiAHEE0LIAFBCkcEQCAKEIsCCyAAIAI2AgAgACAIKAIUEFwgACAEIAZqIAdqIgA2AgQgCEEAOgAPIAAgAmogCEEPahBdIAhBHGoQuwEgCEEgaiQADwsQWwALCQAgAEEBEKgCCwoAIAAoAgAQHxoLCQAgACABEFUaCwcAIABBAkkLBABBBAsoAQF/IAAgACgCBEEBayIBNgIEIAFBf0YEQCAAIAAoAgAoAggRAgALC5UBAQN/IwBBEGsiBCQAIAQgATYCDCAEIAM2AgggBEEEaiAEQQxqEGMgBCgCCCEDIwBBEGsiASQAIAEgAzYCDCABIAM2AghBfyEFAkBBAEEAIAIgAxDRASIDQQBIDQAgACADQQFqIgMQNCIANgIAIABFDQAgACADIAIgASgCDBDRASEFCyABQRBqJAAQYiAEQRBqJAAgBQsPACAAIAAoAgAoAiQRAAALEQAgACABIAEoAgAoAiARAQALDgAgACABKAIANgIAIAALCABB/////wcLBQBB/wALOwAgACADNgIQIAAgAQR/IAEQUwVBAAsiAzYCACAAIAIgA2oiAjYCCCAAIAEgA2o2AgwgACACNgIEIAALYQEBfyMAQRBrIgIkACACIAA2AgwCQCAAIAFGDQADQCACIAFBBGsiATYCCCAAIAFPDQEgAigCDCACKAIIENcBIAIgAigCDEEEaiIANgIMIAIoAgghAQwACwALIAJBEGokAAs5AgF/AX4jAEEQayIEJAAgAykDACEFIAQgAykDCDcDCCAEIAU3AwAgACABIAIgBBDAASAEQRBqJAAL0AEBAn8gAkGAEHEEQCAAQSs6AAAgAEEBaiEACyACQYAIcQRAIABBIzoAACAAQQFqIQALIAJBhAJxIgNBhAJHBEAgAEGu1AA7AAAgAEECaiEACyACQYCAAXEhAgNAIAEtAAAiBARAIAAgBDoAACAAQQFqIQAgAUEBaiEBDAELCyAAAn8CQCADQYACRwRAIANBBEcNAUHGAEHmACACGwwCC0HFAEHlACACGwwBC0HBAEHhACACGyADQYQCRg0AGkHHAEHnACACGws6AAAgA0GEAkcLKwEBfyMAQRBrIgUkACAFIAQoAgA2AgAgACABIAIgAyAFEJYBIAVBEGokAAuqAQEBfwJAIANBgBBxRSACRXINACADQcoAcSIEQQhGIARBwABGcg0AIABBKzoAACAAQQFqIQALIANBgARxBEAgAEEjOgAAIABBAWohAAsDQCABLQAAIgQEQCAAIAQ6AAAgAEEBaiEAIAFBAWohAQwBCwsgAAJ/Qe8AIANBygBxIgFBwABGDQAaQdgAQfgAIANBgIABcRsgAUEIRg0AGkHkAEH1ACACGws6AAALDAAgABAjIAFBAnRqC5IEAQt/IwBBgAFrIgokACAKIAE2AnwgAiADELUCIQggCkHjADYCECAKQQhqQQAgCkEQaiIJEDYhDwJAAkACQCAIQeUATwRAIAgQNCIJRQ0BIA8gCRA8CyAJIQcgAiEBA0AgASADRgRAA0AgACAKQfwAaiIBECtBASAIGwRAIAAgARArBEAgBSAFKAIAQQJyNgIACwNAIAIgA0YNBiAJLQAAQQJGDQcgCUEBaiEJIAJBDGohAgwACwALIAAQNyEOIAZFBEAgBCAOEEEhDgsgDUEBaiEMQQAhECAJIQcgAiEBA0AgASADRgRAIAwhDSAQRQ0CIAAQPhogCSEHIAIhASAIIAtqQQJJDQIDQCABIANGBEAMBAUCQCAHLQAAQQJHDQAgARAfIA1GDQAgB0EAOgAAIAtBAWshCwsgB0EBaiEHIAFBDGohAQwBCwALAAUCQCAHLQAAQQFHDQAgASANEMwBKAIAIRECQCAGBH8gEQUgBCAREEELIA5GBEBBASEQIAEQHyAMRw0CIAdBAjoAACALQQFqIQsMAQsgB0EAOgAACyAIQQFrIQgLIAdBAWohByABQQxqIQEMAQsACwALAAUgB0ECQQEgARBaIgwbOgAAIAdBAWohByABQQxqIQEgCyAMaiELIAggDGshCAwBCwALAAsQPQALIAUgBSgCAEEEcjYCAAsgDxA1IApBgAFqJAAgAgsRACAAIAEgACgCACgCDBEEAAuTBAELfyMAQYABayIKJAAgCiABNgJ8IAIgAxC1AiEIIApB4wA2AhAgCkEIakEAIApBEGoiCRA2IQ8CQAJAAkAgCEHlAE8EQCAIEDQiCUUNASAPIAkQPAsgCSEHIAIhAQNAIAEgA0YEQANAIAAgCkH8AGoiARAsQQEgCBsEQCAAIAEQLARAIAUgBSgCAEECcjYCAAsDQCACIANGDQYgCS0AAEECRg0HIAlBAWohCSACQQxqIQIMAAsACyAAEDghDiAGRQRAIAQgDhDOASEOCyANQQFqIQxBACEQIAkhByACIQEDQCABIANGBEAgDCENIBBFDQIgABA/GiAJIQcgAiEBIAggC2pBAkkNAgNAIAEgA0YEQAwEBQJAIActAABBAkcNACABEB8gDUYNACAHQQA6AAAgC0EBayELCyAHQQFqIQcgAUEMaiEBDAELAAsABQJAIActAABBAUcNACABIA0QIiwAACERAkAgBgR/IBEFIAQgERDOAQsgDkYEQEEBIRAgARAfIAxHDQIgB0ECOgAAIAtBAWohCwwBCyAHQQA6AAALIAhBAWshCAsgB0EBaiEHIAFBDGohAQwBCwALAAsABSAHQQJBASABEFoiDBs6AAAgB0EBaiEHIAFBDGohASALIAxqIQsgCCAMayEIDAELAAsACxA9AAsgBSAFKAIAQQRyNgIACyAPEDUgCkGAAWokACACC0oBAn8CQCAALQAAIgJFIAIgAS0AACIDR3INAANAIAEtAAEhAyAALQABIgJFDQEgAUEBaiEBIABBAWohACACIANGDQALCyACIANrC4QBAQJ/IwBBoAFrIgQkACAEIAAgBEGeAWogARsiADYClAEgBCABQQFrIgVBACABIAVPGzYCmAEgBEEAQZAB/AsAIARBfzYCTCAEQeIANgIkIARBfzYCUCAEIARBnwFqNgIsIAQgBEGUAWo2AlQgAEEAOgAAIAQgAiADEM0DIARBoAFqJAALuwIBBH8gA0H87QEgAxsiBSgCACEDAkAC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IBAtIAAoAiQQLSAAKAIwEC0gACgCPBAtCyAACwcAIAEgAGsLDABBARDWARogABAtCwkAIAAQsQEQLQsTACAAIAEgAiAAKAIAKAIwEQMACwkAIAAQ2AEQLQsMACAAQQRqENoBIAALDAAgAEEIahDaASAACygBAn8jAEEQayICJAAgASgCACAAKAIASCEDIAJBEGokACABIAAgAxsLEAAgACABNwMIIABCADcDAAsCAAsUACAAQZj1ADYCACAAQQRqECUgAAvyAwICfgV/IwBBIGsiBSQAIAFC////////P4MhAgJ+IAFCMIhC//8BgyIDpyIEQYH4AGtB/Q9NBEAgAkIEhiAAQjyIhCECIARBgPgAa60hAwJAIABC//////////8PgyIAQoGAgICAgICACFoEQCACQgF8IQIMAQsgAEKAgICAgICAgAhSDQAgAkIBgyACfCECC0IAIAIgAkL/////////B1YiBBshACAErSADfAwBCyAAIAKEUCADQv//AVJyRQRAIAJCBIYgAEI8iIRCgICAgICAgASEIQBC/w8MAQsgBEH+hwFLBEBCACEAQv8PDAELQYD4AEGB+AAgA1AiBxsiCCAEayIGQfAASgRAQgAhAEIADAELIAVBEGogACACIAJCgICAgICAwACEIAcbIgJBgAEgBmsQRCAFIAAgAiAGEIoBIAUpAwhCBIYgBSkDACICQjyIhCEAAkAgBCAIRyAFKQMQIAUpAxiEQgBSca0gAkL//////////w+DhCICQoGAgICAgICACFoEQCAAQgF8IQAMAQsgAkKAgICAgICAgAhSDQAgAEIBgyAAfCEACyAAQoCAgICAgIAIhSAAIABC/////////wdWIgQbIQAgBK0LIQIgBUEgaiQAIAFCgICAgICAgICAf4MgAkI0hoQgAIS/C4kCAAJAIAAEfyABQf8ATQ0BAkBB3OEBKAIAKAIARQRAIAFBgH9xQYC/A0YNAwwBCyABQf8PTQRAIAAgAUE/cUGAAXI6AAEgACABQQZ2QcABcjoAAEECDwsgAUGAQHFBgMADRyABQYCwA09xRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMPCyABQYCABGtB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAA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AXI2AgQgCSAGIAkoAgBBAXFyQQJyNgIAIAEgBmoiAiACKAIEQQFyNgIEIAEgBhDbAQsCQCAAKAIEIgJBA3FFDQAgAkF4cSIBIAVBEGpNDQAgACAFIAJBAXFyQQJyNgIEIAAgBWoiBCABIAVrIgJBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQgBCACENsBCyAAQQhqCwsiAEUNARogCCAANgIMQQAhAQsgAQshAEEAIAgoAgwgABshAQsgCEEQaiQAIAENAEHk/gEoAgAiAEUNACAAEQwADAELCyABRQRAEOsBCyABCwoAIAEgAGtBDG0LCQAgABAuNgIACyMBAn8gACEBA0AgASICQQRqIQEgAigCAA0ACyACIABrQQJ1Cy8BAX8jAEEQayIDJAACQCAAIAFGBEAgAEEAOgB4DAELIAEgAhCpAQsgA0EQaiQACxAAIAAoAgggACgCAGtBAnULCQAgAEEANgIAC0kBAX8jAEEQayIDJAACQAJAIAJBHksNACABLQB4QQFxDQAgAUEBOgB4DAELIAIQwQIhAQsgA0EQaiQAIAAgAjYCBCAAIAE2AgALOgECfyMAQRBrIgAkACAAQf////8DNgIMIABB/////wc2AgggAEEMaiAAQQhqELUDKAIAIABBEGokAAs0AQF/IwBBEGsiAyQAIAMgARBzNgIMIAMgAhBzNgIIIAAgA0EMaiADQQhqEGYgA0EQaiQAC04BAX8jAEEQayIDJAAgAyABNgIIIAMgADYCDCADIAI2AgRBACEBIANBBGoiACADQQxqENMBRQRAIAAgA0EIahDTASEBCyADQRBqJAAgAQswAQF/IwBBEGsiAyQAIAMgATYCDCADIAI2AgggACADQQxqIANBCGoQZiADQRBqJAALMwEBfyMAQRBrIgMkACAAEB8aIAAgAhCDASADQQA6AA8gASACaiADQQ9qEF0gA0EQaiQACzEAIABB/////wNLBEAQqgIACwJ/IABBAnQhAEEEENYBBEAgAEEEELQCDAELIAAQUwsLCQAgABDtARAtCxUAIABB8KoBNgIAIABBEGoQIBogAAsVACAAQciqATYCACAAQQxqECAaIAALgAMBBH8gAiEAA0ACQCAEIAdNIAAgA09yDQAgACwAACIBQf8BcSEFAn9BASABQQBODQAaIAFBQkkNASABQV9NBEAgAyAA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ZEYNAEEAIQAgC0EANgIQIBEgDygCACALKAJkIAtBEGoQQyALKAIQBEAgBSAFKAIAQQRyNgIADAELQQEhAAsgEBAgGiANECAaIA4QIBogDBAgGiARECAaIA8QNQwDCyACIQELIANBAWohAwwACwALIAtBkARqJAAgAAsMACAAQQFBLRD9AhoLCwAgAEEBQS0QsAILHAEBfyAALQAAIQIgACABLQAAOgAAIAEgAjoAAAtlAQF/IwBBEGsiBiQAIAZBADoADyAGIAU6AA4gBiAEOgANIAZBJToADCAFBEAgBkENaiAGQQ5qEPMCCyACIAEgASACKAIAEIoCIAZBDGogAyAAKAIAEJ4DIAFqNgIAIAZBEGokAAtBACABIAIgAyAEQQQQZyEBIAMtAABBBHFFBEAgACABQdAPaiABQewOaiABIAFB5ABJGyABQcUASBtB7A5rNgIACwtAACACIAMgAEEIaiAAKAIIKAIEEQAAIgAgAEGgAmogBSAEQQAQzQEgAGsiAEGfAkwEQCABIABBDG1BDG82AgALC0AAIAIgAyAAQQhqIAAoAggoAgARAAAiACAAQagBaiAFIARBABDNASAAayIAQacBTARAIAEgAEEMbUEHbzYCAAsLQQAgASACIAMgBEEEEGghASADLQAAQQRxRQRAIAAgAUHQD2ogAUHsDmogASABQeQASRsgAUHFAEgbQewOazYCAAsLQAAgAiADIABBCGogACgCCCgCBBEAACIAIABBoAJqIAUgBEEAEM8BIABrIgBBnwJMBEAgASAAQQxtQQxvNgIACwtAACACIAMgAEEIaiAAKAIIKAIAEQAAIgAgAEGoAWogBSAEQQAQzwEgAGsiAEGnAUwEQCABIABBDG1BB282AgALCxgBAX9BDBBTIgBBADYCCCAAQgA3AgAgAAsEAEECC8oBAQR/IwBBEGsiAyQAAkAgAUH3////A00EQAJAIAEQvQEEQCAAIAEQUCAAIQQMAQsgA0EIaiABEJABQQFqEI8BIAMoAgwaIAAgAygCCCIENgIAIAAgAygCDBBcIAAgATYCBAsjAEEQayIFJAAgBSACNgIMIAQhBiABIQIDQCACBEAgBiAFKAIMNgIAIAJBAWshAiAGQQRqIQYMAQsLIAVBEGokACADQQA2AgQgBCABQQJ0aiADQQRqEFYgA0EQaiQADAELEFsA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hoRCAEKAgICAgIDAwz8QLyAFKQNIIQIgBSkDQCEEDAELIAlC////////P4MgBiAHcq1CMIaEIQILIAAgBDcDACAAIAI3AwggBUGAAWokAAuIEAIFfw9+IwBB0AJrIgUkACAEQv///////z+DIQsgAkL///////8/gyEKIAIgBIVCgICAgICAgICAf4MhDCAEQjCIp0H//wFxIQcCQAJAIAJCMIinQf//AXEiCEH//wFrQYKAfk8EQCAHQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIg5CgICAgICAwP//AFQgDkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEMDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQwgAyEBDAILIAEgDkKAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACEMDAMLIAxCgICAgICAwP//AIQhDEIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASAOhFAEQEKAgICAgIDg//8AIAwgAiADhFAbIQxCACEBDAILIAIgA4RQBEAgDEKAgICAgIDA//8AhCEMQgAhAQwCCyAOQv///////z9YBEAgBUHAAmogASAKIAEgCiAKUCIGG3lCwABCACAGG3ynIgZBD2sQREEQIAZrIQYgBSkDyAIhCiAFKQPAAiEBCyACQv///////z9WDQAgBUGwAmogAyALIAMgCyALUCIJG3lCwABCACAJG3ynIglBD2sQRCAGIAlqQRBrIQYgBSkDuAIhCyAFKQOwAiEDCyAFQaACaiALQoCAgICAgMAAhCISQg+GIANCMYiEIgJCAEKAgICAsOa8gvUAIAJ9IgRCABBAIAVBkAJqQgAgBSkDqAJ9QgAgBEIAEEAgBUGAAmogBSkDmAJCAYYgBSkDkAJCP4iEIgRCACACQgAQQCAFQfABaiAEQgBCACAFKQOIAn1CABBAIAVB4AFqIAUpA/gBQgGGIAUpA/ABQj+IhCIEQgAgAkIAEEAgBUHQAWogBEIAQgAgBSkD6AF9QgAQQCAFQcABaiAFKQPYAUIBhiAFKQPQAUI/iIQiBEIAIAJCABBAIAVBsAFqIARCAEIAIAUpA8gBfUIAEEAgBUGgAWogAkIAIAUpA7gBQgGGIAUpA7ABQj+IhEIBfSICQgAQQCAFQZABaiADQg+GQgAgAkIAEEAgBUHwAGogAkIAQgAgBSkDqAEgBSkDoAEiDiAFKQOYAXwiBCAOVK18IARCAVatfH1CABBAIAVBgAFqQgEgBH1CACACQgAQQCAGIAggB2tqIghB//8AaiEGAn4gBSkDcCITQgGGIg0gBSkDiAEiD0IBhiAFKQOAAUI/iIR8IhBC5+wAfSIUQiCIIgIgCkKAgICAgIDAAIQiFUIBhiIWQiCIIgR+IhEgAUIBhiIOQiCIIgsgECAUVq0gDSAQVq0gBSkDeEIBhiATQj+IhCAPQj+IfHx8QgF9IhNCIIgiEH58Ig0gEVStIA0gDSATQv////8PgyITIAFCP4giFyAKQgGGhEL/////D4MiCn58Ig1WrXwgBCAQfnwgBCATfiIRIAogEH58Ig8gEVStQiCGIA9CIIiEfCANIA9CIIZ8Ig8gDVStfCAPIA8gFEL/////D4MiFCAKfiINIAIgC358IhEgDVStIBEgESATIA5C/v///w+DIg1+fCIRVq18fCIPVq18IA8gBCAUfiIYIA0gEH58IgQgAiAKfnwiCiALIBN+fCIQQiCIIAogEFatIAQgGFStIAQgClatfHxCIIaEfCIEIA9UrXwgBCAEIBEgAiANfiIKIAsgFH58IgJCIIggAiAKVK1CIIaEfCIKIBFUrSAKIAogEEIghnwiClatfHwiBFatfCAEIAQgCiACQiCGIgIgDSAUfnwgAlStQn+FIgJWIAIgClJxrXwiBFatfCICQv////////8AWARAIBYgF4QhFSAFQdAAaiAEIAJCgICAgICAwABUIgetIguGIgogAiALhiAEQgGIIAdBP3OtiIQiBCADIBIQQCAIQf7/AGogBiAHG0EBayEGIAFCMYYgBSkDWH0gBSkDUCIBQgBSrX0hC0IAIAF9DAELIAVB4ABqIAJCP4YgBEIBiIQiCiACQgGIIgQgAyASEEAgAUIwhiAFKQNofSAFKQNgIgJCAFKtfSELIAEhDkIAIAJ9CyECIAZB//8BTgRAIAxCgICAgICAwP//AIQhDEIAIQEMAQsCfiAGQQBKBEAgC0IBhiACQj+IhCEBIARC////////P4MgBq1CMIaEIQsgAkIBhgwBCyAGQY9/TARAQgAhAQwCCyAFQUBrIAogBEEBIAZrEIoBIAVBMGogDiAVIAZB8ABqEEQgBUEgaiADIBIgBSkDQCIKIAUpA0giCxBAIAUpAzggBSkDKEIBhiAFKQMgIgFCP4iEfSAFKQMwIgIgAUIBhiIEVK19IQEgAiAEfQshAiAFQRBqIAMgEkIDQgAQQCAFIAMgEkIFQgAQQCALIAogAyAKQgGDIgMgAnwiAlQgASACIANUrXwiASASViABIBJRG618IgMgClStfCIEIAMgAyAEQoCAgICAgMD//wBUIAIgBSkDEFYgASAFKQMYIgRWIAEgBFEbca18IgNWrXwiBCADIARCgICAgICAwP//AFQgAiAFKQMAViABIAUpAwgiAlYgASACURtxrXwiASADVK18IAyEIQwLIAAgATcDACAAIAw3AwggBUHQAmokAAu/AgEBfyMAQdAAayIEJAACQCADQYCAAU4EQCAEQSBqIAEgAkIAQoCAgICAgID//wAQLyAEKQMoIQIgBCkDICEBIANB//8BSQRAIANB//8AayEDDAILIARBEGogASACQgBCgICAgICAgP//ABAvQf3/AiADIANB/f8CTxtB/v8BayEDIAQpAxghAiAEKQMQIQEMAQsgA0GBgH9KDQAgBEFAayABIAJCAEKAgICAgICAORAvIAQpA0ghAiAEKQNAIQEgA0H0gH5LBEAgA0GN/wBqIQMMAQsgBEEwaiABIAJCAEKAgICAgICAORAvQeiBfSADIANB6IF9TRtBmv4BaiEDIAQpAzghAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhAvIAAgBCkDCDcDCCAAIAQpAwA3AwAgBEHQAGokAAs8ACAAIAE3AwAgACACQv///////z+DIAJCgICAgICAwP//AINCMIinIANCMIinQYCAAnFyrUIwhoQ3AwgLwAECAX8CfkF/IQMCQCAAQgBSIAFC////////////AIMiBEKAgICAgIDA//8AViAEQoCAgICAgMD//wBRGw0AIAJC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBScQ0AIAAgBCAFhIRQBEBBAA8LIAEgAoNCAFkEQCABIAJSIAEgAlNxDQEgACABIAKFhEIAUg8LIABCAFIgASACVSABIAJRGw0AIAAg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EKYCCyEAIAEQTAR/QZiEASgCACABQf8BcUECdGooAgAFIAELwAsJACAAENACEC0LOwADQCABIAJGRQRAIAMhACAEIAEoAgAQTAR/IAEoAgAFIAALOgAAIARBAWohBCABQQRqIQEMAQsLIAELDAAgASACIAEQTBvACyoAA0AgASACRkUEQCADIAEsAAA2AgAgA0EEaiEDIAFBAWohAQwBCwsgAQsPACAAIAEgAkGgkAEQpwILHAAgARBMBH9BoJABKAIAIAFBAnRqKAIABSABCwsPACAAIAEgAkGYhAEQpwILHAAgARBMBH9BmIQBKAIAIAFBAnRqKAIABSABCwsQACAABEAgABDHAwsgABAtCzoAA0ACQCACIANGDQAgAigCABBMRQ0AIAIoAgBBAnRBkKIBaigCACABcUUNACACQQRqIQIMAQsLIAILOQADQAJAIAIgA0YNACACKAIAEEwEQCACKAIAQQJ0QZCiAWooAgAgAXENAQsgAkEEaiECDAELCyACC0YAA0AgASACRkUEQEEAIQAgAyABKAIAEEwEfyABKAIAQQJ0QZCiAWooAgAFQQALNgIAIANBBGohAyABQQRqIQEMAQsLIAELIwBBACEAIAIQTAR/IAJBAnRBkKIBaigCACABcUEARwVBAAsLDwAgACAAKAIAKAIEEQIACwkAIAAQ1gIQLQsVAQF/QdQAEFMiAEEAQdQA/AsAIAALFAAgACgCACABaiACLQAAOgAAQQELrgEAAkAgBRBHRQRAIAAgBSkCADcCACAAIAUoAgg2AgggABBeGgwBCyAFKAIAIQQgBSgCBCECIwBBEGsiAyQAAkACQAJAIAIQvQEEQCAAIgEgAhBQDAELIAJB9////wNLDQEgA0EIaiACEJABQQFqEI8BIAMoAgwaIAAgAygCCCIBNgIAIAAgAygCDBBcIAAgAjYCBAsgASAEIAJBAWoQZSADQRBqJAAMAQsQWwALCwsJACAAIAUQ5AELhAMBCH8jAEHgA2siACQAIABB3ANqIgYgAxAnIAYQSCEKIAUQHwRAIAVBABDMASgCACAKQS0QS0YhCwsgAiALIABB3ANqIABB2ANqIABB1ANqIABB0ANqIABBxANqECQiDCAAQbgDahAkIgYgAEGsA2oQJCIHIABBqANqEN8CIABB4wA2AhAgAEEIakEAIABBEGoiAhA2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KAK8ASAEEI8DOQMAIABBzAFqIABBEGogACgCDCAEEEMgAEHcAmogAEHYAmoQKwRAIAQgBCgCAEECcjYCAAsgACgC3AIgARAgGiAAQcwBahAgGiAAQeACaiQADAMLQQEhAwsgAEHcAmoQPhoMAAsACwvKBAEDfwJ/IwBB4AJrIgAkACAAIAI2AtgCIAAgATYC3AIgAEHMAWogAyAAQeABaiAAQdwBaiAAQdgBahD7ASAAQcABahAkIgEgARAoECEgACABQQAQIiICNgK8ASAAIABBEGo2AgwgAEEANgIIIABBAToAByAAQcUAOgAGQQAhAwNAAkACQAJAIABB3AJqIABB2AJqECsNACAAKAK8ASABEB8gAmpGBEAgARAfIQYgASABEB9BAXQQISABIAEQKBAhIAAgBiABQQAQIiICajYCvAELIABB3AJqEDcgAEEHaiAAQQZqIAIgAEG8AWogACgC3AEgACgC2AEgAEHMAWogAEEQaiAAQQxqIABBCGogAEHgAWoQ+gENACADDQFBACEDIAAoArwBIAJrIgdBAEwNAgJAAkAgAi0AACIGQStrIggOAwEAAQALIAZBLkYNAkEBIQMgBkEwa0H/AXFBCkkNAwwBCyAHQQFGDQICQCAIDgMAAwADCyACLQABIgZBLkYNAUEBIQMgBkEwa0H/AXFBCU0NAgsCQCAAQcwBahAfRQ0AIAAtAAdBAXFFDQAgACgCDCIDIABBEGprQZ8BSg0AIAAgA0EEajYCDCADIAAoAgg2AgALIAUgAiAAKAK8ASAEEJEDOAIAIABBzAFqIABBEGogACgCDCAEEEMgAEHcAmogAEHYAmoQKwRAIAQgBCgCAEECcjYCAAsgACgC3AIgARAgGiAAQcwBahAgGiAAQeACaiQADAMLQQEhAwsgAEHcAmoQPhoMAAsACwuWAwECfyMAQdACayIAJAAgACACNgLIAiAAIAE2AswCIAMQaiEGIAMgAEHQAWoQrgEhByAAQcQBaiADIABBxAJqEK0BIABBuAFqECQiASABECgQISAAIAFBABAiIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqECsNACAAKAK0ASABEB8gAmpGBEAgARAfIQMgASABEB9BAXQQISABIAEQKBAhIAAgAyABQQAQIiICajYCtAELIABBzAJqIgMQNyAGIAIgAEG0AWogAEEIaiAAKALEAiAAQcQBaiAAQRBqIABBDGogBxCYAQ0AIAMQPhoMAQsLAkAgAEHEAWoQH0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCSAzcDACAAQcQBaiAAQRBqIAAoAgwgBBBDIABBzAJqIABByAJqECsEQCAEIAQoAgBBAnI2AgALIAAoAswCIAEQIBogAEHEAWoQIBogAEHQAmokAAuWAwECfyMAQdACayIAJAAgACACNgLIAiAAIAE2AswCIAMQaiEGIAMgAEHQAWoQrgEhByAAQcQBaiADIABBxAJqEK0BIABBuAFqECQiASABECgQISAAIAFBABAiIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqECsNACAAKAK0ASABEB8gAmpGBEAgARAfIQMgASABEB9BAXQQISABIAEQKBAhIAAgAyABQQAQIiICajYCtAELIABBzAJqIgMQNyAGIAIgAEG0AWogAEEIaiAAKALEAiAAQcQBaiAAQRBqIABBDGogBxCYAQ0AIAMQPhoMAQsLAkAgAEHEAWoQH0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCVAzsBACAAQcQBaiAAQRBqIAAoAgwgBBBDIABBzAJqIABByAJqECsEQCAEIAQoAgBBAnI2AgALIAAoAswCIAEQIBogAEHEAWoQIBogAEHQAmokAAuWAwECfyMAQdACayIAJAAgACACNgLIAiAAIAE2AswCIAMQaiEGIAMgAEHQAWoQrgEhByAAQcQBaiADIABBxAJqEK0BIABBuAFqECQiASABECgQISAAIAFBABAiIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqECsNACAAKAK0ASABEB8gAmpGBEAgARAfIQMgASABEB9BAXQQISABIAEQKBAhIAAgAyABQQAQIiICajYCtAELIABBzAJqIgMQNyAGIAIgAEG0AWogAEEIaiAAKALEAiAAQcQBaiAAQRBqIABBDGogBxCYAQ0AIAMQPhoMAQsLAkAgAEHEAWoQH0UNACAAKAIMIgMgAEEQamtB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DCECDAYLIANBIHIhAyABQQRqIQIgBEEEayEEIAEtAAMgCHQgB2ohBwsCQCAFQQRxRQ0AIAcgBigCIEYNACAKQd4ONgIYIAZB0f4ANgIEIAIhASAGKAIEIQUMAQsLIAIhAUEAIQdBACEDCyAGQdD+ADYCBAtBASECDAELQQAhBCAMIQILIAogDzYCECAKIBA2AgwgCiAENgIEIAogATYCACAGIAM2AkAgBiAHNgI8AkACQCAGKAIsRQRAIA8gFUYNASAGKAIEQdD+AEsNAQsCfyAVIA9rIQMCQAJAIAooAhwiASgCOCIMRQRAQQEhBSABIAooAihBASABKAIodEEBIAooAiARAwAiDDYCOCAMRQ0BCyABKAIsIgRFBEAgAUIANwIwIAFBASABKAIodCIENgIsCyADIARPBEAgBARAIAwgECAEayAE/AoAAAsgAUEANgI0DAILIAQgASgCNCIIayIFIAMgAyAFSxsiBARAIAggDGogECADayAE/AoAAAsgAyAFSwRAIAMgBGsiAwRAIAEoAjggECADayAD/AoAAAsgASADNgI0DAILQQAhBSABIAEoAjQgBGoiA0EAIAMgASgCLCIMRxs2AjQgDCABKAIwIgNNDQAgASADIARqNgIwCyAFDAELIAEgASgCLDYCMEEACw0BIAooAhAhDyAKKAIEIQQLIAogCigCCCAkIARrajYCCCAKIBUgD2siASAKKAIUajYCFCAGIAYoAiAgAWo2AiAgBi0ADEEEcUUgDyAVRnJFBEAgCigCDCABayEDIAYoAhwhBSAGAn8gBigCFARAIAUgAyABEFEMAQsgBSADIAEQswELIgE2AhwgCiABNgIwCyAKIAYoAkBBwABBACAGKAIIG2pBgAFBACAGKAIEIgFBv/4ARhtqQYACQYACQQAgAUHC/gBGGyABQcf+AEYbajYCLCACQXsgAhsgAiAPIBVGGyACIAQgJEYbIRwMAgsgBkHS/gA2AgQLQXwhHAsgF0EQaiQAIBxBAUsNASATQagBaiEBIBMoAqwBIQMgGigCACEJIBooAgQgEygCFGshDCMAQSBrIggkAAJAIAwgCWsiBUEATA0AIAEoAgggASgCBCICayAFTgRAIAIgA2siBCAFSARAIAwgBCAJaiIHayILRSAHIAxGckUEQCACIAcgC/wKAAALIAEgAiALajYCBCAE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eQAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AE5vdgBUaHUAQXVndXN0AHVuc2lnbmVkIHNob3J0AHVuc2lnbmVkIGludABpbnZhbGlkIGxpdGVyYWwvbGVuZ3RocyBzZXQAaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0AHVua25vd24gaGVhZGVyIGZsYWdzIHNldABpbnZhbGlkIGRpc3RhbmNlcyBzZXQAZ2V0AE9jdABmbG9hdABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AFNhdABudW1Qb2ludHMAY29sb3JzAFVucGFja09wdGlvbnMAcG9zaXRpb25zAHJvdGF0aW9ucwB0b28gbWFueSBsZW5ndGggb3IgZGlzdGFuY2Ugc3ltYm9scwBpbnZhbGlkIHN0b3JlZCBibG9jayBsZW5ndGhzAHNjYWxlcwBhbHBoYXMAW1NQWjogRVJST1JdIENoZWNrIGZhaWxlZDogJXM6JWQ6ICVzAHZmMzJfcHRyAEFwcgB2ZWN0b3IAbW9uZXlfZ2V0IGVycm9yAFtTUFogRVJST1JdIGRlc2VyaWFsaXplUGFja2VkR2F1c3NpYW5zOiByZWFkIGVycm9yAE9jdG9iZXIATm92ZW1iZXIAU2VwdGVtYmVyAERlY2VtYmVyAHVuc2lnbmVkIGNoYXIAaW9zX2Jhc2U6OmNsZWFyAE1hcgAvZW1zZGsvZW1zY3JpcHRlbi9zeXN0ZW0vbGliL2xpYmN4eGFiaS9zcmMvcHJpdmF0ZV90eXBlaW5mby5jcHAAU2VwACVJOiVNOiVTICVwAFN1bgBKdW4ATW9uAG5hbgBKYW4AY29vcmRpbmF0ZVN5c3RlbQBDb29yZGluYXRlU3lzdGVtAEp1bABib29sAGxsAEFwcmlsAGludmFsaWQgY29kZSAtLSBtaXNzaW5nIGVuZC1vZi1ibG9jawBpbmNvcnJlY3QgaGVhZGVyIGNoZWNrAGluY29ycmVjdCBsZW5ndGggY2hlY2sAaW5jb3JyZWN0IGRhdGEgY2hlY2sAcHVzaF9iYWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAEZyaQBzaABoZWFkZXIgY3JjIG1pc21hdGNoAE1hcmNoAEF1ZwB1bnNpZ25lZCBsb25nIGxvbmcAdW5zaWduZWQgbG9uZwBzdGQ6OndzdHJpbmcAYmFzaWNfc3RyaW5nAHN0ZDo6c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGluZgAlLjBMZgAlTGYAcmVzaXplAGludmFsaWQgd2luZG93IHNpemUAdHJ1ZQBUdWUAZmFsc2UAaW52YWxpZCBibG9jayB0eXBlAEp1bmUAZG91YmxlAHNoRGVncmVlAGJhZF9hcnJheV9uZXdfbGVuZ3RoIHdhcyB0aHJvd24gaW4gLWZuby1leGNlcHRpb25zIG1vZGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQBSYXdHYXVzc2lhbkNsb3VkAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAFtTUFogRVJST1JdIGRlc2VyaWFsaXplUGFja2VkR2F1c3NpYW5zOiBoZWFkZXIgbm90IGZvdW5kACUwKmxsZAAlKmxsZAArJWxsZAAlKy40bGQAdm9pZABsb2NhbGUgbm90IHN1cHBvcnRlZABhbnRpYWxpYXNlZABXZWQAJVktJW0tJWQAW1NQWiBFUlJPUl0gZGVzZXJpYWxpemVQYWNrZWRHYXVzc2lhbnM6IFRvbyBtYW55IHBvaW50czogJWQAW1NQWiBFUlJPUl0gZGVzZXJpYWxpemVQYWNrZWRHYXVzc2lhbnM6IFVuc3VwcG9ydGVkIFNIIGRlZ3JlZTogJWQAW1NQWiBFUlJPUl0gZGVzZXJpYWxpemVQYWNrZWRHYXVzc2lhbnM6IHZlcnNpb24gbm90IHN1cHBvcnRlZDogJWQARGVjAC4vc3B6L3NyYy9jYy9sb2FkLXNwei5jYwBGZWIAJWEgJWIgJWQgJUg6JU06JVMgJVkAUE9TSVgAVmVjdG9yVUludDhUACVIOiVNOiVTAE5BTgBQTQBBTQAlSDolTQBMQ19BTEwAQVNDSUkATEFORwBSVUYATFVGAElORgBSREYATERGAFVOU1BFQ0lGSUVEAEMAUlVCAExVQgBSREIATERCAGNhdGNoaW5nIGEgY2xhc3Mgd2l0aG91dCBhbiBvYmplY3Q/AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50NjRfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50NjRfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+ADAxMjM0NTY3ODkAQy5VVEYtOABWZWN0b3JGbG9hdDMyADEuMy4xAC4ALQAocGFja2VkLmFscGhhcy5zaXplKCkpID09IChudW1Qb2ludHMpAChudWxsKQAocGFja2VkLmNvbG9ycy5zaXplKCkpID09IChudW1Qb2ludHMgKiAzKQAocGFja2VkLnNjYWxlcy5zaXplKCkpID09IChudW1Qb2ludHMgKiAzKQAocGFja2VkLnNoLnNpemUoKSkgPT0gKG51bVBvaW50cyAqIHNoRGltICogMykAKHBhY2tlZC5yb3RhdGlvbnMuc2l6ZSgpKSA9PSAobnVtUG9pbnRzICogKHBhY2tlZC51c2VzUXVhdGVybmlvblNtYWxsZXN0VGhyZWUgPyA0IDogMykpAChwYWNrZWQucG9zaXRpb25zLnNpemUoKSkgPT0gKG51bVBvaW50cyAqIDMgKiAodXNlc0Zsb2F0MTYgPyAyIDogMykpACUAbGVuZ3RoX2Vycm9yIHdhcyB0aHJvd24gaW4gLWZuby1leGNlcHRpb25zIG1vZGUgd2l0aCBtZXNzYWdlICIlcyIAUHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGxlZCEAW1NQWjogRVJST1JdIFVuc3VwcG9ydGVkIFNIIGRlZ3JlZTogJWQKAAkAAAAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwBBkCALthMgEAAA9GwAAPRsAABAEAAAqG0AACgQAABOM3NwejEzR2F1c3NpYW5DbG91ZEUAAACobQAASBAAAE4zc3B6MTNVbnBhY2tPcHRpb25zRQBwcGlpcAD0bAAAbBAAAKhtAAB0EAAATlN0M19fMjZ2ZWN0b3JJZk5TXzlhbGxvY2F0b3JJZkVFRUUAaXBwACxuAADEEAAAAAAAAAMAAADcEAAAAAAAACgSAAAAAAAAWBIAAAAAAABOU3QzX18yOG9wdGlvbmFsSWZFRQAAAADQbQAA6BAAABgRAABOU3QzX18yMjdfX29wdGlvbmFsX21vdmVfYXNzaWduX2Jhc2VJZkxiMUVFRQAAAADQbQAAJBEAAFQRAABOU3QzX18yMjdfX29wdGlvbmFsX2NvcHlfYXNzaWduX2Jhc2VJZkxiMUVFRQAAAADQbQAAYBEAAIgRAABOU3QzX18yMjBfX29wdGlvbmFsX21vdmVfYmFzZUlmTGIxRUVFAAAA0G0AAJQRAAC8EQAATlN0M19fMjIwX19vcHRpb25hbF9jb3B5X2Jhc2VJZkxiMUVFRQAAANBtAADIEQAA9BEAAE5TdDNfXzIyM19fb3B0aW9uYWxfc3RvcmFnZV9iYXNlSWZMYjBFRUUAAAAAqG0AAPwRAABOU3QzX18yMjRfX29wdGlvbmFsX2Rlc3RydWN0X2Jhc2VJZkxiMUVFRQAAAKhtAAAwEgAATlN0M19fMjE4X19zZmluYWVfY3Rvcl9iYXNlSUxiMUVMYjFFRUUAAKhtAABgEgAATlN0M19fMjIwX19zZmluYWVfYXNzaWduX2Jhc2VJTGIxRUxiMUVFRQAAAACIbgAAnBIAAAAAAABsEAAAUE5TdDNfXzI2dmVjdG9ySWZOU185YWxsb2NhdG9ySWZFRUVFAAAAAIhuAADUEgAAAQAAAGwQAABQS05TdDNfXzI2dmVjdG9ySWZOU185YWxsb2NhdG9ySWZFRUVFAHBwAHYAdnAAAACMEgAAcHAAAJRsAACMEgAAPG0AAHZwcGQAAAAAlGwAAIwSAAAYbQAAPG0AAHZwcHBkAAAAGG0AAMQSAABwcHAATBMAADxtAACobQAAVBMAAE4xMGVtc2NyaXB0ZW4zdmFsRQAAnBAAAGwQAAAYbQAAcHBwcAAAAAAAAAAArGwAAGwQAAAYbQAAPG0AAGlwcHBkAAAALG4AAMATAAAAAAAAAwAAANgTAAAAAAAAKBIAAAAAAABYEgAAAAAAAE5TdDNfXzI4b3B0aW9uYWxJaEVFAAAAANBtAADkEwAAFBQAAE5TdDNfXzIyN19fb3B0aW9uYWxfbW92ZV9hc3NpZ25fYmFzZUloTGIxRUVFAAAAANBtAAAgFAAAUBQAAE5TdDNfXzIyN19fb3B0aW9uYWxfY29weV9hc3NpZ25fYmFzZUloTGIxRUVFAAAAANBtAABcFAAAhBQAAE5TdDNfXzIyMF9fb3B0aW9uYWxfbW92ZV9iYXNlSWhMYjFFRUUAAADQbQAAkBQAALgUAABOU3QzX18yMjBfX29wdGlvbmFsX2NvcHlfYmFzZUloTGIxRUVFAAAA0G0AAMQUAADwFAAATlN0M19fMjIzX19vcHRpb25hbF9zdG9yYWdlX2Jhc2VJaExiMEVFRQAAAACobQAA+BQAAE5TdDNfXzIyNF9fb3B0aW9uYWxfZGVzdHJ1Y3RfYmFzZUloTGIxRUVFAAAAqG0AACwVAABOU3QzX18yNnZlY3RvckloTlNfOWFsbG9jYXRvckloRUVFRQCIbgAAYBUAAAAAAAAkFQAAUE5TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAAAAAIhuAACYFQAAAQAAACQVAABQS05TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAHBwAHZwAFAVAABwcAAAlGwAAFAVAADEbAAAdnBwaQAAAACUbAAAUBUAABhtAADEbAAAdnBwcGkAAAAYbQAAiBUAAHBwcABMEwAAxGwAAJgTAAAkFQAAGG0AAHBwcHAAAAAArGwAACQVAAAYbQAAxGwAAGlwcHBpAHAAdnAAaXBwAHZwcGkAaXBwAHZwcGkAcHBwAHZwcHAAAABcbQAAYBYAAE4zc3B6MTZDb29yZGluYXRlU3lzdGVtRQBwAHZwAGlwcAB2cHBpAAAAAAAAAwAAAAgAAAAPAAAAqG0AAKAWAABOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAqG0AAOgWAABOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQAAqG0AADAXAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRHNOU18xMWNoYXJfdHJhaXRzSURzRUVOU185YWxsb2NhdG9ySURzRUVFRQAAAKhtAAB8FwAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUAAACobQAAyBcAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQAAqG0AAPAXAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUAAKhtAAAYGAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAACobQAAQBgAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQAAqG0AAGgYAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUAAKhtAACQGAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAACobQAAuBgAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQAAqG0AAOAYAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUAAKhtAAAIGQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAACobQAAMBkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXhFRQAAqG0AAFgZAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l5RUUAAKhtAACAGQAATjEwZW1zY3Jp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AAAJqAAACAQAAAiEAAAIRAAACegAEAcIAAAIXAAACBwAAAmYABQHUwAACHwAAAg8AAAJ2AASBxcAAAhsAAAILAAACbgAAAgMAAAIjAAACEwAAAn4ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcQAEQcLAAAIYgAACCIAAAmkAAAIAgAACIIAAAhCAAAJ5AAQBwcAAAhaAAAIGgAACZQAFAdDAAAIegAACDoAAAnUABIHEwAACGoAAAgqAAAJtAAACAoAAAiKAAAISgAACfQAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzAARBw8AAAhmAAAIJgAACawAAAgGAAAIhgAACEYAAAnsABAHCQAACF4AAAgeAAAJnAAUB2MAAAh+AAAIPgAACdwAEgcbAAAIbgAACC4AAAm8AAAIDgAACI4AAAhOAAAJ/ABgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnCABAHCgAACGEAAAghAAAJogAACAEAAAiBAAAIQQAACeIAEAcGAAAIWQAACBkAAAmSABMHOwAACHkAAAg5AAAJ0gARBxEAAAhpAAAIKQAACbIAAAgJAAAIiQAACEkAAAnyABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcoAEQcNAAAIZQAACCUAAAmqAAAIBQAACIUAAAhFAAAJ6gAQBwgAAAhdAAAIHQAACZoAFAdTAAAIfQAACD0AAAnaABIHFwAACG0AAAgtAAAJugAACA0AAAiNAAAITQAACfoAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxgARBwsAAAhjAAAIIwAACaYAAAgDAAAIgwAACEMAAAnmABAHBwAACFsAAAgbAAAJlgAUB0MAAAh7AAAIOwAACdYAEgcTAAAIawAACCsAAAm2AAAICwAACIsAAAhLAAAJ9gAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnOABEHDwAACGcAAAgnAAAJrgAACAcAAAiHAAAIRwAACe4AEAcJAAAIXwAACB8AAAmeABQHYwAACH8AAAg/AAAJ3gASBxsAAAhvAAAILwAACb4AAAgPAAAIjwAACE8AAAn+AGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcEAEAcKAAAIYAAACCAAAAmhAAAIAAAACIAAAAhAAAAJ4QAQBwYAAAhYAAAIGAAACZEAEwc7AAAIeAAACDgAAAnRABEHEQAACGgAAAgoAAAJsQAACAgAAAiIAAAISAAACfEAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyQARBw0AAAhkAAAIJAAACakAAAgEAAAIhAAACEQAAAnpABAHCAAACFwAAAgcAAAJmQAUB1MAAAh8AAAIPAAACdkAEgcXAAAIbAAACCwAAAm5AAAIDAAACIwAAAhMAAAJ+QAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnFABEHCwAACGIAAAgiAAAJpQAACAIAAAiCAAAIQgAACeUAEAcHAAAIWgAACBoAAAmVABQHQwAACHoAAAg6AAAJ1QASBxMAAAhqAAAIKgAACbUAAAgKAAAIigAACEoAAAn1ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACc0AEQcPAAAIZgAACCYAAAmtAAAIBgAACIYAAAhGAAAJ7QAQBwkAAAheAAAIHgAACZ0AFAdjAAAIfgAACD4AAAndABIHGwAACG4AAAguAAAJvQAACA4AAAiOAAAITgAACf0AYAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwwAQBwoAAAhhAAAIIQAACaMAAAgBAAAIgQAACEEAAAnjABAHBgAACFkAAAgZAAAJkwATBzsAAAh5AAAIOQAACdMAEQcRAAAIaQAACCkAAAmzAAAICQAACIkAAAhJAAAJ8wAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnLABEHDQAACGUAAAglAAAJqwAACAUAAAiFAAAIRQAACesAEAcIAAAIXQAACB0AAAmbABQHUwAACH0AAAg9AAAJ2wASBxcAAAhtAAAILQAACbsAAAgNAAAIjQAACE0AAAn7ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACccAEQcLAAAIYwAACCMAAAmnAAAIAwAACIMAAAhDAAAJ5wAQBwcAAAhbAAAIGwAACZcAFAdDAAAIewAACDsAAAnXABIHEwAACGsAAAgrAAAJtwAACAsAAAiLAAAISwAACfcAEAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzwARBw8AAAhnAAAIJwAACa8AAAgHAAAIhwAACEcAAAnvABAHCQAACF8AAAgfAAAJnwAUB2MAAAh/AAAIPwAACd8AEgcbAAAIbwAACC8AAAm/AAAIDwAACI8AAAhPAAAJ/wAQBQEAFwUBARMFEQAbBQEQEQUFABkFAQQVBUEAHQUBQBAFAwAYBQECFAUhABwFASASBQkAGgUBCBYFgQBABQAAEAUCABcFgQETBRkAGwUBGBEFBwAZBQEGFQVhAB0FAWAQBQQAGAUBAxQFMQAcBQEwEgUNABoFAQwWBcEAQAUAAAMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAAywBNAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAC+8/h57GH2P96qjID3e9W/PYivSu1x9T/bbcCn8L7Sv7AQ8PA5lfQ/ZzpRf64e0L+FA7iwlcnzP+kkgqbYMcu/pWSIDBkN8z9Yd8AKT1fGv6COC3siXvI/AIGcxyuqwb8/NBpKSrvxP14OjM52Trq/uuWK8Fgj8T/MHGFaPJexv6cAmUE/lfA/HgzhOPRSor8AAAAAAADwPwAAAAAAAAAArEea/Yxg7j+EWfJdqqWqP6BqAh+zpOw/tC42qlNevD/m/GpXNiDrPwjbIHflJsU/LaqhY9HC6T9wRyINhsLLP+1BeAPmhug/4X6gyIsF0T9iSFP13GfnPwnutlcwBNQ/7zn6/kIu5j80g7hIow7Qv2oL4AtbV9U/I0EK8v7/37/AbgBBsPEAC0EZAAsAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkACgoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBBgfIACyEOAAAAAAAAAAAZAAsNGRkZAA0AAAIACQ4AAAAJAA4AAA4AQbvyAAsBDABBx/IACxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQfXyAAsBEABBgfMACxUPAAAABA8AAAAACRAAAAAAABAAABAAQa/zAAsBEgBBu/MACx4RAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAQfLzAAsOGgAAABoaGgAAAAAAAAkAQaP0AAsBFABBr/QACxUXAAAAABcAAAAACRQAAAAAABQAABQAQd30AAsBFgBB6fQAC5oOFQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVGAAAAAAA8AAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAAgAAAAAAAAAPDwAAEQAAABFAAAA+P////j///88PAAARgAAAEcAAADcOgAA8DoAAAQAAAAAAAAAhDwAAEgAAABJAAAA/P////z///+EPAAASgAAAEsAAAAMOwAAIDsAAAwAAAAAAAAAHD0AAEwAAABNAAAABAAAAPj///8cPQAATgAAAE8AAAD0////9P///xw9AABQAAAAUQAAADw7AADYPAAA7DwAAAA9AAAUPQAAZDsAAFA7AAAAAAAAbD0AAFIAAABTAAAAOAAAADkAAABUAAAAVQAAADwAAAA9AAAAPgAAAFYAAABAAAAAVwAAAEIAAABYAAAA0G0AANQ7AAAQPwAATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUAAACobQAACDwAAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1ZkljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQAAAAAsbgAAVDwAAAAAAAABAAAAyDsAAAP0//9OU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAAAsbgAAnDwAAAAAAAABAAAAyDsAAAP0//9OU3QzX18yMTNiYXNpY19vc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAAAMAAAAAAAAADw8AABEAAAARQAAAPT////0////PDwAAEYAAABHAAAABAAAAAAAAACEPAAASAAAAEkAAAD8/////P///4Q8AABKAAAASwAAACxuAAA8PQAAAwAAAAIAAAA8PAAAAgAAAIQ8AAACCAAATlN0M19fMjE0YmFzaWNfaW9zdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUA0G0AAHg9AAAAPAAATlN0M19fMjE1YmFzaWNfc3RyaW5nYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAAABAAAAAAAAAAKw+AABZAAAAWgAAADgAAAD4////rD4AAFsAAABcAAAAwP///8D///+sPgAAXQAAAF4AAADIPQAALD4AAGg+AAB8PgAAkD4AAKQ+AABUPgAAQD4AAPA9AADcPQAAQAAAAAAAAAAcPQAATAAAAE0AAAA4AAAA+P///xw9AABOAAAATwAAAMD////A////HD0AAFAAAABRAAAAQAAAAAAAAAA8PAAARAAAAEUAAADA////wP///zw8AABGAAAARwAAADgAAAAAAAAAhDwAAEgAAABJAAAAyP///8j///+EPAAASgAAAEsAAADQbQAAuD4AABw9AABOU3QzX18yMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAAAAAAAAAED8AAF8AAABgAAAAqG0AABg/AABOU3QzX18yOGlvc19iYXNlRQAAAAAAAADRdJ4AV529KoBwUg///z4nCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUYAAAANQAAAHEAAABr////zvv//5K///8AAAAAAAAAAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAAAAAAAAAAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzbAAAAAN4SBJUAAAAA////////////////YEEAABQAAABDLlVURi04AEGwgwELAnRBAEHQgwELSkxDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTACBEAEGkiAEL+QMBAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAHsAAAB8AAAAfQAAAH4AAAB/AEGgkAELAjBKAEG0lAEL+QMBAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAYQAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAagAAAGsAAABsAAAAbQAAAG4AAABvAAAAcAAAAHEAAAByAAAAcwAAAHQAAAB1AAAAdgAAAHcAAAB4AAAAeQAAAHoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAAHsAAAB8AAAAfQAAAH4AAAB/AEG0nAELLYDeKACAyE0AAKd2AAA0ngCAEscAgJ/uAAB+FwGAXEABgOlnAQDIkAEAVbgBLgBB8JwBC9ICU3VuAE1vbgBUdWUAV2VkAFRodQBGcmkAU2F0AFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AEphbgBGZWIATWFyAEFwcgBNYXkASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAEphbnVhcnkARmVicnVhcnkATWFyY2gAQXByaWwATWF5AEp1bmUASnVseQBBdWd1c3QAU2VwdGVtYmVyAE9jdG9iZXIATm92ZW1iZXIARGVjZW1iZXIAQU0AUE0AJWEgJWIgJWUgJVQgJVkAJW0vJWQvJXkAJUg6JU06JVMAJUk6JU06JVMgJXAAAAAlbS8lZC8leQAwMTIzNDU2Nzg5ACVhICViICVlICVUICVZACVIOiVNOiVTAAAAAABeW3lZXQBeW25OXQB5ZXMAbm8AQdCfAQsxMDEyMzQ1Njc4OWFiY2RlZkFCQ0RFRnhYKy1wUGlJbk4AJUk6JU06JVMgJXAlSDolTQBBkKABC4EBJQAAAG0AAAAvAAAAJQAAAGQAAAAvAAAAJQAAAHkAAAAlAAAAWQAAAC0AAAAlAAAAbQAAAC0AAAAlAAAAZAAAACUAAABJAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAIAAAACUAAABwAAAAAAAAACUAAABIAAAAOgAAACUAAABNAEGgoQELZSUAAABIAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAAAAAAABaAAB0AAAAdQAAAHYAAAAAAAAAZFoAAHcAAAB4AAAAdgAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAH8AAACAAEGQogEL/QMEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAFAgAABQAAAAUAAAAFAAAABQAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAMCAACCAAAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAggAAAIIAAABCAQAAQgEAAEIBAABCAQAAQgEAAEIBAABCAQAAQgEAAEIBAABCAQAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAggAAACoBAAAqAQAAKgEAACoBAAAqAQAAKgEAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAMgEAADIBAAAyAQAAMgEAADIBAAAyAQAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAACCAAAAggAAAIIAAACCAAAABABBlKoBC+0CvFkAAIEAAACCAAAAdgAAAIMAAACEAAAAhQAAAIYAAACHAAAAiAAAAIkAAAAAAAAAmFoAAIoAAACLAAAAdgAAAIwAAACNAAAAjgAAAI8AAACQAAAAAAAAALxaAACRAAAAkgAAAHYAAACTAAAAlAAAAJUAAACWAAAAlwAAAHQAAAByAAAAdQAAAGUAAAAAAAAAZgAAAGEAAABsAAAAcwAAAGUAAAAAAAAAJQAAAG0AAAAvAAAAJQAAAGQAAAAvAAAAJQAAAHkAAAAAAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAAAAAAJQAAAGEAAAAgAAAAJQAAAGIAAAAgAAAAJQAAAGQAAAAgAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAFkAAAAAAAAAJQAAAEkAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAHAAQYytAQv9J5xWAACYAAAAmQAAAHYAAADQbQAAqFYAAOxqAABOU3QzX18yNmxvY2FsZTVmYWNldEUAAAAAAAAABFcAAJgAAACaAAAAdgAAAJsAAACcAAAAnQAAAJ4AAACfAAAAoAAAAKEAAACiAAAAowAAAKQAAAClAAAApgAAACxuAAAkVwAAAAAAAAIAAACcVgAAAgAAADhXAAACAAAATlN0M19fMjVjdHlwZUl3RUUAAACobQAAQFcAAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAAAAAAAAAACIVwAAmAAAAKcAAAB2AAAAqAAAAKkAAACqAAAAqwAAAKwAAACtAAAArgAAACxuAACoVwAAAAAAAAIAAACcVgAAAgAAAMxXAAACAAAATlN0M19fMjdjb2RlY3Z0SWNjMTFfX21ic3RhdGVfdEVFAAAAqG0AANRXAABOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAAAAAAAAHFgAAJgAAACvAAAAdgAAALAAAACxAAAAsgAAALMAAAC0AAAAtQAAALYAAAAsbgAAPFgAAAAAAAACAAAAnFYAAAIAAADMVwAAAgAAAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUAAAAAAACQWAAAmAAAALcAAAB2AAAAuAAAALkAAAC6AAAAuwAAALwAAAC9AAAAvgAAACxuAACwWAAAAAAAAAIAAACcVgAAAgAAAMxXAAACAAAATlN0M19fMjdjb2RlY3Z0SURzRHUxMV9fbWJzdGF0ZV90RUUAAAAAAARZAACYAAAAvwAAAHYAAADAAAAAwQAAAMIAAADDAAAAxAAAAMUAAADGAAAALG4AACRZAAAAAAAAAgAAAJxWAAACAAAAzFcAAAIAAABOU3QzX18yN2NvZGVjdnRJRGljMTFfX21ic3RhdGVfdEVFAAAAAAAAeFkAAJgAAADHAAAAdgAAAMgAAADJAAAAygAAAMsAAADMAAAAzQAAAM4AAAAsbgAAmFkAAAAAAAACAAAAnFYAAAIAAADMVwAAAgAAAE5TdDNfXzI3Y29kZWN2dElEaUR1MTFfX21ic3RhdGVfdEVFACxuAADcWQAAAAAAAAIAAACcVgAAAgAAAMxXAAACAAAATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAAAA0G0AAAxaAACcVgAATlN0M19fMjZsb2NhbGU1X19pbXBFAAAA0G0AADBaAACcVgAATlN0M19fMjdjb2xsYXRlSWNFRQDQbQAAUFoAAJxWAABOU3QzX18yN2NvbGxhdGVJd0VFACxuAACEWgAAAAAAAAIAAACcVgAAAgAAADhXAAACAAAATlN0M19fMjVjdHlwZUljRUUAAADQbQAApFoAAJxWAABOU3QzX18yOG51bXB1bmN0SWNFRQAAAADQbQAAyFoAAJxWAABOU3QzX18yOG51bXB1bmN0SXdFRQAAAAAAAAAAJFoAAM8AAADQAAAAdgAAANEAAADSAAAA0wAAAAAAAABEWgAA1AAAANUAAAB2AAAA1gAAANcAAADYAAAAAAAAAGBbAACYAAAA2QAAAHYAAADaAAAA2wAAANwAAADdAAAA3gAAAN8AAADgAAAA4QAAAOIAAADjAAAA5AAAACxuAACAWwAAAAAAAAIAAACcVgAAAgAAAMRbAAAAAAAATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQAsbgAA3FsAAAAAAAABAAAA9FsAAAAAAABOU3QzX18yOV9fbnVtX2dldEljRUUAAACobQAA/FsAAE5TdDNfXzIxNF9fbnVtX2dldF9iYXNlRQAAAAAAAAAAWFwAAJgAAADlAAAAdgAAAOYAAADnAAAA6AAAAOkAAADqAAAA6wAAAOwAAADtAAAA7gAAAO8AAADwAAAALG4AAHhcAAAAAAAAAgAAAJxWAAACAAAAvFwAAAAAAABOU3QzX18yN251bV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFACxuAADUXAAAAAAAAAEAAAD0WwAAAAAAAE5TdDNfXzI5X19udW1fZ2V0SXdFRQAAAAAAAAAgXQAAmAAAAPEAAAB2AAAA8gAAAPMAAAD0AAAA9QAAAPYAAAD3AAAA+AAAAPkAAAAsbgAAQF0AAAAAAAACAAAAnFYAAAIAAACEXQAAAAAAAE5TdDNfXzI3bnVtX3B1dEljTlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUALG4AAJxdAAAAAAAAAQAAALRdAAAAAAAATlN0M19fMjlfX251bV9wdXRJY0VFAAAAqG0AALxdAABOU3QzX18yMTRfX251bV9wdXRfYmFzZUUAAAAAAAAAAAxeAACYAAAA+gAAAHYAAAD7AAAA/AAAAP0AAAD+AAAA/wAAAAABAAABAQAAAgEAACxuAAAsXgAAAAAAAAIAAACcVgAAAgAAAHBeAAAAAAAATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQAsbgAAiF4AAAAAAAABAAAAtF0AAAAAAABOU3QzX18yOV9fbnVtX3B1dEl3RUUAAAAAAAAA9F4AAAMBAAAEAQAAdgAAAAUBAAAGAQAABwEAAAgBAAAJAQAACgEAAAsBAAD4////9F4AAAwBAAANAQAADgEAAA8BAAAQAQAAEQEAABIBAAAsbgAAHF8AAAAAAAADAAAAnFYAAAIAAABkXwAAAgAAAIBfAAAACAAATlN0M19fMjh0aW1lX2dldEljTlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUAAAAAqG0AAGxfAABOU3QzX18yOXRpbWVfYmFzZUUAAKhtAACIXwAATlN0M19fMjIwX190aW1lX2dldF9jX3N0b3JhZ2VJY0VFAAAAAAAAAABgAAATAQAAFAEAAHYAAAAVAQAAFgEAABcBAAAYAQAAGQEAABoBAAAbAQAA+P///wBgAAAcAQAAHQEAAB4BAAAfAQAAIAEAACEBAAAiAQAALG4AAChgAAAAAAAAAwAAAJxWAAACAAAAZF8AAAIAAABwYAAAAAgAAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAAAAAKhtAAB4YAAATlN0M19fMjIwX190aW1lX2dldF9jX3N0b3JhZ2VJd0VFAAAAAAAAALRgAAAjAQAAJAEAAHYAAAAlAQAALG4AANRgAAAAAAAAAgAAAJxWAAACAAAAHGEAAAAIAABOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQAAAACobQAAJGEAAE5TdDNfXzIxMF9fdGltZV9wdXRFAAAAAAAAAABUYQAAJgEAACcBAAB2AAAAKAEAACxuAAB0YQAAAAAAAAIAAACcVgAAAgAAABxhAAAACAAATlN0M19fMjh0aW1lX3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUAAAAAAAAAAPRhAACYAAAAKQEAAHYAAAAqAQAAKwEAACwBAAAtAQAALgEAAC8BAAAwAQAAMQEAADIBAAAsbgAAFGIAAAAAAAACAAAAnFYAAAIAAAAwYgAAAgAAAE5TdDNfXzIxMG1vbmV5cHVuY3RJY0xiMEVFRQCobQAAOGIAAE5TdDNfXzIxMG1vbmV5X2Jhc2VFAAAAAAAAAACIYgAAmAAAADMBAAB2AAAANAEAADUBAAA2AQAANwEAADgBAAA5AQAAOgEAADsBAAA8AQAALG4AAKhiAAAAAAAAAgAAAJxWAAACAAAAMGIAAAIAAABOU3QzX18yMTBtb25leXB1bmN0SWNMYjFFRUUAAAAAAPxiAACYAAAAPQEAAHYAAAA+AQAAPwEAAEABAABBAQAAQgEAAEMBAABEAQAARQEAAEYBAAAsbgAAHGMAAAAAAAACAAAAnFYAAAIAAAAwYgAAAgAAAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQAAAAAAcGMAAJgAAABHAQAAdgAAAEgBAABJAQAASgEAAEsBAABMAQAATQEAAE4BAABPAQAAUAEAACxuAACQYwAAAAAAAAIAAACcVgAAAgAAADBiAAACAAAATlN0M19fMjEwbW9uZXlwdW5jdEl3TGIxRUVFAAAAAADIYwAAmAAAAFEBAAB2AAAAUgEAAFMBAAAsbgAA6GMAAAAAAAACAAAAnFYAAAIAAAAwZAAAAAAAAE5TdDNfXzI5bW9uZXlfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQAAAKhtAAA4ZAAATlN0M19fMjExX19tb25leV9nZXRJY0VFAAAAAAAAAABwZAAAmAAAAFQBAAB2AAAAVQEAAFYBAAAsbgAAkGQAAAAAAAACAAAAnFYAAAIAAADYZAAAAAAAAE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQAAAKhtAADgZAAATlN0M19fMjExX19tb25leV9nZXRJd0VFAAAAAAAAAAAYZQAAmAAAAFcBAAB2AAAAWAEAAFkBAAAsbgAAOGUAAAAAAAACAAAAnFYAAAIAAACAZQAAAAAAAE5TdDNfXzI5bW9uZXlfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQAAAKhtAACIZQAATlN0M19fMjExX19tb25leV9wdXRJY0VFAAAAAAAAAADAZQAAmAAAAFoBAAB2AAAAWwEAAFwBAAAsbgAA4GUAAAAAAAACAAAAnFYAAAIAAAAoZgAAAAAAAE5TdDNfXzI5bW9uZXlfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQAAAKhtAAAwZgAATlN0M19fMjExX19tb25leV9wdXRJd0VFAAAAAAAAAABsZgAAmAAAAF0BAAB2AAAAXgEAAF8BAABgAQAALG4AAIxmAAAAAAAAAgAAAJxWAAACAAAApGYAAAIAAABOU3QzX18yOG1lc3NhZ2VzSWNFRQAAAACobQAArGYAAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAAAAAADkZgAAmAAAAGEBAAB2AAAAYgEAAGMBAABkAQAALG4AAARnAAAAAAAAAgAAAJxWAAACAAAApGYAAAIAAABOU3QzX18yOG1lc3NhZ2VzSXdFRQAAAABTAAAAdQAAAG4AAABkAAAAYQAAAHkAAAAAAAAATQAAAG8AAABuAAAAZAAAAGEAAAB5AAAAAAAAAFQAAAB1AAAAZQAAAHMAAABkAAAAYQAAAHkAAAAAAAAAVwAAAGUAAABkAAAAbgAAAGUAAABzAAAAZAAAAGEAAAB5AAAAAAAAAFQAAABoAAAAdQAAAHIAAABzAAAAZAAAAGEAAAB5AAAAAAAAAEYAAAByAAAAaQAAAGQAAABhAAAAeQAAAAAAAABTAAAAYQAAAHQAAAB1AAAAcgAAAGQAAABhAAAAeQAAAAAAAABTAAAAdQAAAG4AAAAAAAAATQAAAG8AAABuAAAAAAAAAFQAAAB1AAAAZQAAAAAAAABXAAAAZQAAAGQAAAAAAAAAVAAAAGgAAAB1AAAAAAAAAEYAAAByAAAAaQAAAAAAAABTAAAAYQAAAHQAAAAAAAAASgAAAGEAAABuAAAAdQAAAGEAAAByAAAAeQAAAAAAAABGAAAAZQAAAGIAAAByAAAAdQAAAGEAAAByAAAAeQAAAAAAAABNAAAAYQAAAHIAAABjAAAAaAAAAAAAAABBAAAAcAAAAHIAAABpAAAAbAAAAAAAAABNAAAAYQAAAHkAAAAAAAAASgAAAHUAAABuAAAAZQAAAAAAAABKAAAAdQAAAGwAAAB5AAAAAAAAAEEAAAB1AAAAZwAAAHUAAABzAAAAdAAAAAAAAABTAAAAZQAAAHAAAAB0AAAAZQAAAG0AAABiAAAAZQAAAHIAAAAAAAAATwAAAGMAAAB0AAAAbwAAAGIAAABlAAAAcgAAAAAAAABOAAAAbwAAAHYAAABlAAAAbQAAAGIAAABlAAAAcgAAAAAAAABEAAAAZQAAAGMAAABlAAAAbQAAAGIAAABlAAAAcgAAAAAAAABKAAAAYQAAAG4AAAAAAAAARgAAAGUAAABiAAAAAAAAAE0AAABhAAAAcgAAAAAAAABBAAAAcAAAAHIAAAAAAAAASgAAAHUAAABuAAAAAAAAAEoAAAB1AAAAbAAAAAAAAABBAAAAdQAAAGcAAAAAAAAAUwAAAGUAAABwAAAAAAAAAE8AAABjAAAAdAAAAAAAAABOAAAAbwAAAHYAAAAAAAAARAAAAGUAAABjAAAAAAAAAEEAAABNAAAAAAAAAFAAAABNAEGU1QELnAiAXwAADAEAAA0BAAAOAQAADwEAABABAAARAQAAEgEAAAAAAABwYAAAHAEAAB0BAAAeAQAAHwEAACABAAAhAQAAIgEAAAAAAADsagAAZQEAAGYBAABnAQAAqG0AAPRqAABOU3QzX18yMTRfX3NoYXJlZF9jb3VudEUAAAAAcG8AANBtAAAgawAAnG4AAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAAAAANBtAABQawAAFGsAAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAANBtAACAawAAFGsAAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQAAANBtAACwawAAdGsAAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FANBtAADgawAAFGsAAE4xMF9fY3h4YWJpdjEyMF9fZnVuY3Rpb25fdHlwZV9pbmZvRQAAAADQbQAAFGwAAHRrAABOMTBfX2N4eGFiaXYxMjlfX3BvaW50ZXJfdG9fbWVtYmVyX3R5cGVfaW5mb0UAAAAAAAAAYGwAAGoBAABrAQAAbAEAAG0BAABuAQAA0G0AAGxsAAAUawAATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAExsAACcbAAAdgAAAExsAACobAAARG4AAExsAAC0bAAAYgAAAExsAADAbAAAYwAAAExsAADMbAAAaAAAAExsAADYbAAAYQAAAExsAADkbAAAcwAAAExsAADwbAAAdAAAAExsAAD8bAAAaQAAAExsAAAIbQAAagAAAExsAAAUbQAAbAAAAExsAAAgbQAAbQAAAExsAAAsbQAAeAAAAExsAAA4bQAAeQAAAExsAABEbQAAZgAAAExsAABQbQAAZAAAAAAAAABwbQAAagEAAG8BAABsAQAAbQEAAHABAADQbQAAfG0AABRrAABOMTBfX2N4eGFiaXYxMTZfX2VudW1fdHlwZV9pbmZvRQAAAAAAAAAARGsAAGoBAABxAQAAbAEAAG0BAAByAQAAcwEAAHQBAAB1AQAAAAAAAPBtAABqAQAAdgEAAGwBAABtAQAAcgEAAHcBAAB4AQAAeQEAANBtAAD8bQAARGsAAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQAAAAAAAAAATG4AAGoBAAB6AQAAbAEAAG0BAAByAQAAewEAAHwBAAB9AQAA0G0AAFhuAABEawAATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQAAAAAAAACkawAAagEAAH4BAABsAQAAbQEAAH8BAACobQAApG4AAFN0OXR5cGVfaW5mbwBBud0BCwggAAAAAAAABQBBzN0BCwExAEHk3QELDjIAAAAzAAAACHEAAAAEAEH83QELAQEAQYzeAQsF/////woAQdDeAQshwG4AAHB/AQAlbS8lZC8leQAAAAglSDolTTolUwAAAAgFAEH83gELAmgBAEGU3wELCjIAAABpAQAAZH8AQazfAQsBAgBBvN8BCwj//////////wBBgOABCwJwbw==")),l((await async function(F){return lA(F)}(y)).instance))}();if(I.preInit)for(typeof I.preInit=="function"&&(I.preInit=[I.preInit]);0<I.preInit.length;)I.preInit.shift()();return function u(){function l(){var y;if(I.calledRun=!0,!j){if(AA=!0,rI.G(),n?.(I),(y=I.onRuntimeInitialized)==null||y.call(I),I.postRun)for(typeof I.postRun=="function"&&(I.postRun=[I.postRun]);I.postRun.length;){var F=I.postRun.shift();iA.push(F)}uA(iA)}}if(0<EA)cA=u;else{if(I.preRun)for(typeof I.preRun=="function"&&(I.preRun=[I.preRun]);I.preRun.length;)eA();uA(GA),0<EA?cA=u:I.setStatus?(I.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>I.setStatus(""),1),l()},1)):l()}}(),g=AA?I:new Promise((u,l)=>{n=u,r=l}),g}const hI=(B,A,g=I=>I)=>{const I=B.vf32_ptr(A),Q=A.size();return new Float32Array(B.HEAPF32.buffer,I,Q).map(g)},HE=B=>1/(1+Math.exp(-B)),KE=B=>A=>A*B+.5,jE=async(B,A)=>{var g;const I=await xE(),Q=B instanceof Uint8Array?B:new Uint8Array(B);let C=null;try{if(C=I._malloc(Uint8Array.BYTES_PER_ELEMENT*Q.length),C===null)throw new Error("couldn't allocate memory");I.HEAPU8.set(Q,C/Uint8Array.BYTES_PER_ELEMENT);const a=I.CoordinateSystem[((g=A?.unpackOptions)==null?void 0:g.coordinateSystem)??"UNSPECIFIED"],E=I.load_spz(C,Q.length,{coordinateSystem:a}),i=((t,e,o)=>{const s=o?.colorScaleFactor??.282;return{numPoints:e.numPoints,shDegree:e.shDegree,antialiased:e.antialiased,positions:hI(t,e.positions),scales:hI(t,e.scales,Math.exp),rotations:hI(t,e.rotations),alphas:hI(t,e.alphas,HE),colors:hI(t,e.colors,KE(s)),sh:hI(t,e.sh)}})(I,E,A);return((t,e)=>{t._free(t.vf32_ptr(e.positions)),t._free(t.vf32_ptr(e.scales)),t._free(t.vf32_ptr(e.rotations)),t._free(t.vf32_ptr(e.alphas)),t._free(t.vf32_ptr(e.colors)),t._free(t.vf32_ptr(e.sh))})(I,E),i}catch(a){throw a}finally{C!==null&&I._free(C)}},qE=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Aa=`async function OI(w = {}) {
19
19
  var G, a, D = w, N = typeof window == "object", C = typeof WorkerGlobalScope < "u", h = typeof process == "object" && ((G = process.versions) == null ? void 0 : G.node) && process.type != "renderer";
20
20
  if (h) {
21
21
  const { createRequire: I } = await Promise.resolve().then(() => vI);
@@ -946,30 +946,30 @@ self.onmessage = async function(w) {
946
946
  }
947
947
  };
948
948
  //# sourceMappingURL=GLTFTileDecoder.worker-Bm2N-LYs.js.map
949
- `,OQ=typeof self<"u"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",ZC],{type:"text/javascript;charset=utf-8"});function Ka(B){let A;try{if(A=OQ&&(self.URL||self.webkitURL).createObjectURL(OQ),!A)throw"";const g=new Worker(A,{type:"module",name:B?.name});return g.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),g}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(ZC),{type:"module",name:B?.name})}}class ja{constructor(A,g){this.gltfLoader=A,this.renderer=g,this.gltfLoader?.register&&this.gltfLoader.register(()=>({name:"KHR_spz_gaussian_splats_compression"}));try{this.worker=new Ka,this.workerJobId=0,this.workerCallbacks=new Map,this.worker.onmessage=I=>{const{id:Q,pos:C,col:E,c0:a,c1:i,error:t}=I.data||{},e=this.workerCallbacks.get(Q);e&&(this.workerCallbacks.delete(Q),t?e.reject(new Error(t)):e.resolve({pos:C,col:E,c0:a,c1:i}))},this.worker.onerror=I=>{for(const[,Q]of this.workerCallbacks)Q.reject(I instanceof Error?I:new Error(String(I)));this.workerCallbacks.clear()}}catch{this.worker=void 0}}parseSplats(A,g,I,Q){return new Promise(async(C,E)=>{await this.#e(),this.gltfLoader.parse(A,"",async a=>{try{const i=await this.#B(a,Q);C(i)}catch(i){E(i)}},a=>E(a))})}async#B(A,g){if(g)return this.#A(A);const I=A.parser,Q=I.json,C=this.#Q(Q);return C?.type==="SPZ"?this.#C(I,C,A):C?.type==="KHR"?this.#E(I,Q,C,A):C?.type==="ULTRA"?this.#A(A):(A.scene||(A.scene=new W.Object3D),A.scene.asset=A.asset,A.scene)}#Q(A){if(!A?.meshes)return null;for(let g=0;g<A.meshes.length;g++){const I=A.meshes[g];for(let Q=0;Q<(I.primitives?.length||0);Q++){const C=I.primitives[Q],E=C?.extensions;if(E?.KHR_spz_gaussian_splats_compression&&Number.isInteger(E.KHR_spz_gaussian_splats_compression.bufferView))return{mesh:g,prim:Q,type:"SPZ",bv:E.KHR_spz_gaussian_splats_compression.bufferView};if(E?.KHR_gaussian_splatting)return{mesh:g,prim:Q,type:"KHR"};if(E?.ULTRA_splats)return{mesh:g,prim:Q,type:"ULTRA"}}}return null}async#C(A,g,I){let Q=await A.getDependency("bufferView",g.bv);if(Q?.buffer?.byteLength&&(Q=Q.buffer.slice(Q.byteOffset,Q.byteLength+Q.byteOffset)),this.worker){const h=this.workerJobId++,w=new Promise((X,aA)=>{this.workerCallbacks.set(h,{resolve:X,reject:aA})});try{this.worker.postMessage({id:h,op:"decodeSPZ",spz:Q},[Q])}catch(X){throw this.workerCallbacks.delete(h),X}const{pos:f,col:p,c0:R,c1:m}=await w,G=new Float32Array(f),k=new Float32Array(p),U=new Float32Array(R),S=new Float32Array(m),j=new W.BufferAttribute(G,3),z=new W.BufferAttribute(k,4),gA=new W.BufferAttribute(U,3),$=new W.BufferAttribute(S,3);return I.scene.traverse(X=>X.dispose&&X.dispose()),{isSplatsData:!0,positions:j,colors:z,cov0:gA,cov1:$}}const C=await xa(Q,{coordinateSystem:"LUF"}),E=C.numPoints??C.positions.length/3,a=new Float32Array(C.positions),i=C.colors??C.color,t=C.alphas??C.opacity??C.opacities,e=new Float32Array(4*E);for(let h=0;h<E;h++){const w=i[3*h+0],f=i[3*h+1],p=i[3*h+2],R=t?this.#a(t[h]):1,[m,G,k]=this.#I(w,f,p);e.set([m,G,k,R],4*h)}const o=C.rotations??C.quaternions,s=C.scales??C.scale,n=this.#g(o,s),r=new W.BufferAttribute(a,3),c=new W.BufferAttribute(e,4),D=new W.BufferAttribute(n.c0,3),b=new W.BufferAttribute(n.c1,3);return I.scene.traverse(h=>h.dispose&&h.dispose()),{isSplatsData:!0,positions:r,colors:c,cov0:D,cov1:b}}async#E(A,g,I,Q){const C=g.meshes[I.mesh].primitives[I.prim],E=async U=>{const S=C.attributes?.[U];return Number.isInteger(S)?A.getDependency("accessor",S):null};let a=await E("POSITION");if(!a)return this.#A(Q);let i=await E("COLOR_0"),t=await E("ROTATION")||await E("_ROTATION"),e=await E("SCALE")||await E("_SCALE");const o=a?.buffer?a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength):null,s=i?.buffer?i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength):null,n=t?.buffer?t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength):null,r=e?.buffer?e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength):null;if(this.worker){const U=this.workerJobId++,S=new Promise((eA,rA)=>{this.workerCallbacks.set(U,{resolve:eA,reject:rA})});try{const eA=[],rA={pos:o,col:s,rot:n,scl:r};o&&eA.push(o),s&&eA.push(s),n&&eA.push(n),r&&eA.push(r),this.worker.postMessage({id:U,op:"handleKHR",payload:rA},eA)}catch(eA){throw this.workerCallbacks.delete(U),eA}const{pos:j,col:z,c0:gA,c1:$}=await S,X=new Float32Array(j),aA=new Float32Array(z),wA=new Float32Array(gA),sA=new Float32Array($),fA=new W.BufferAttribute(X,3),uA=new W.BufferAttribute(aA,4),iA=new W.BufferAttribute(wA,3),GA=new W.BufferAttribute(sA,3);return Q.scene.traverse(eA=>eA.dispose&&eA.dispose()),{isSplatsData:!0,positions:fA,colors:uA,cov0:iA,cov1:GA}}let c=a;c?.buffer&&(c=new Float32Array(c.buffer,c.byteOffset,3*c.count));let D=i;D?.buffer&&(D=new Float32Array(D.buffer,D.byteOffset,(D.itemSize||4)*D.count));let b=t,h=e;b?.buffer&&(b=new Float32Array(b.buffer,b.byteOffset,4*b.count)),h?.buffer&&(h=new Float32Array(h.buffer,h.byteOffset,3*h.count));const w=c.length/3,f=new Float32Array(4*w);if(D){const U=D.length===4*w?4:3;for(let S=0;S<w;S++){const j=D[S*U+0],z=D[S*U+1],gA=D[S*U+2],[$,X,aA]=this.#I(j,z,gA);f.set([$,X,aA,U===4?D[S*U+3]:1],4*S)}}else for(let U=0;U<w;U++)f.set([1,1,1,1],4*U);const p=this.#g(b,h),R=new W.BufferAttribute(c,3),m=new W.BufferAttribute(f,4),G=new W.BufferAttribute(p.c0,3),k=new W.BufferAttribute(p.c1,3);return Q.scene.traverse(U=>U.dispose&&U.dispose()),{isSplatsData:!0,positions:R,colors:m,cov0:G,cov1:k}}async#A(A){const g=A.scene.children[0].geometry,I=g.attributes.position,Q=g.attributes.color,C=g.attributes.cov_0||g.attributes.COV_0,E=g.attributes.cov_1||g.attributes.COV_1;return A.scene.traverse(a=>a.dispose&&a.dispose()),{isSplatsData:!0,positions:I,colors:Q,cov0:C,cov1:E}}#g(A,g){const I=(A?.length||0)/4,Q=new Float32Array(3*I),C=new Float32Array(3*I),E=new Float32Array(9);for(let a=0;a<I;a++){const i=A?A[4*a+0]:0,t=A?A[4*a+1]:0,e=A?A[4*a+2]:0,o=A?A[4*a+3]:1,s=i*i,n=t*t,r=e*e,c=i*t,D=i*e,b=t*e,h=o*i,w=o*t,f=o*e;E[0]=1-2*(n+r),E[1]=2*(c-f),E[2]=2*(D+w),E[3]=2*(c+f),E[4]=1-2*(s+r),E[5]=2*(b-h),E[6]=2*(D-w),E[7]=2*(b+h),E[8]=1-2*(s+n);const p=Math.max(1e-12,g?g[3*a+0]:0),R=Math.max(1e-12,g?g[3*a+1]:0),m=Math.max(1e-12,g?g[3*a+2]:0),G=p*p,k=R*R,U=m*m,S=E[0]*E[0]*G+E[1]*E[1]*k+E[2]*E[2]*U,j=E[3]*E[0]*G+E[4]*E[1]*k+E[5]*E[2]*U,z=E[6]*E[0]*G+E[7]*E[1]*k+E[8]*E[2]*U,gA=E[3]*E[3]*G+E[4]*E[4]*k+E[5]*E[5]*U,$=E[6]*E[3]*G+E[7]*E[4]*k+E[8]*E[5]*U,X=E[6]*E[6]*G+E[7]*E[7]*k+E[8]*E[8]*U,aA=3*a;Q[aA+0]=S,Q[aA+1]=j,Q[aA+2]=z,C[aA+0]=gA,C[aA+1]=$,C[aA+2]=X}return{c0:Q,c1:C}}#a(A){return Number.isFinite(A)?A>=0&&A<=1?A:A>=0&&A<=255&&Math.abs(A-Math.round(A))<.001?A/255:A>=0&&A<=65535&&Math.abs(A-Math.round(A))<.001?A/65535:Math.min(1,Math.max(0,A)):1}#I(A,g,I){const Q=o=>o>=0&&o<=255&&Math.abs(o-Math.round(o))<.001,C=o=>o>=0&&o<=65535&&Math.abs(o-Math.round(o))<.001,E=o=>o<=.04045?o/12.92:Math.pow((o+.055)/1.055,2.4),a=o=>Math.min(1,Math.max(0,o));let i=A,t=g,e=I;if(!(A>=0&&A<=1&&g>=0&&g<=1&&I>=0&&I<=1))if(Q(A)&&Q(g)&&Q(I))i=A/255,t=g/255,e=I/255;else if(C(A)&&C(g)&&C(I))i=A/65535,t=g/65535,e=I/65535;else{const o=s=>.5+.28209479177387814*s;i=o(A),t=o(g),e=o(I)}return i=a(i),t=a(t),e=a(e),[E(i),E(t),E(e)]}#e(){return new Promise(A=>{const g=setInterval(()=>{const I=this.gltfLoader;I.hasDracoLoader&&!I.dracoLoader||I.hasKTX2Loader&&!I.ktx2Loader||(clearInterval(g),A())},10)})}}class _C extends d.Loader{constructor(A){super(A),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(g){return new Wa(g)}),this.register(function(g){return new Pa(g)}),this.register(function(g){return new Ie(g)}),this.register(function(g){return new Be(g)}),this.register(function(g){return new Qe(g)}),this.register(function(g){return new za(g)}),this.register(function(g){return new Xa(g)}),this.register(function(g){return new Za(g)}),this.register(function(g){return new _a(g)}),this.register(function(g){return new Oa(g)}),this.register(function(g){return new $a(g)}),this.register(function(g){return new Va(g)}),this.register(function(g){return new ge(g)}),this.register(function(g){return new Ae(g)}),this.register(function(g){return new va(g)}),this.register(function(g){return new Ce(g)}),this.register(function(g){return new Ee(g)})}load(A,g,I,Q){const C=this;let E;if(this.resourcePath!=="")E=this.resourcePath;else if(this.path!==""){const t=d.LoaderUtils.extractUrlBase(A);E=d.LoaderUtils.resolveURL(t,this.path)}else E=d.LoaderUtils.extractUrlBase(A);this.manager.itemStart(A);const a=function(t){Q?Q(t):console.error(t),C.manager.itemError(A),C.manager.itemEnd(A)},i=new d.FileLoader(this.manager);i.setPath(this.path),i.setResponseType("arraybuffer"),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(A,function(t){try{C.parse(t,E,function(e){g(e),C.manager.itemEnd(A)},a)}catch(e){a(e)}},I,a)}setDRACOLoader(A){return this.dracoLoader=A,this}setKTX2Loader(A){return this.ktx2Loader=A,this}setMeshoptDecoder(A){return this.meshoptDecoder=A,this}register(A){return this.pluginCallbacks.indexOf(A)===-1&&this.pluginCallbacks.push(A),this}unregister(A){return this.pluginCallbacks.indexOf(A)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(A),1),this}parse(A,g,I,Q){let C;const E={},a={},i=new TextDecoder;if(typeof A=="string")C=JSON.parse(A);else if(A instanceof ArrayBuffer)if(i.decode(new Uint8Array(A,0,4))===$C){try{E[bA.KHR_BINARY_GLTF]=new ie(A)}catch(e){return void(Q&&Q(e))}C=JSON.parse(E[bA.KHR_BINARY_GLTF].content)}else C=JSON.parse(i.decode(A));else C=A;if(C.asset===void 0||C.asset.version[0]<2)return void(Q&&Q(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.")));const t=new le(C,{path:g||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});t.fileLoader.setRequestHeader(this.requestHeader);for(let e=0;e<this.pluginCallbacks.length;e++){const o=this.pluginCallbacks[e](t);o.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),a[o.name]=o,E[o.name]=!0}if(C.extensionsUsed)for(let e=0;e<C.extensionsUsed.length;++e){const o=C.extensionsUsed[e],s=C.extensionsRequired||[];switch(o){case bA.KHR_MATERIALS_UNLIT:E[o]=new Ta;break;case bA.KHR_DRACO_MESH_COMPRESSION:E[o]=new te(C,this.dracoLoader);break;case bA.KHR_TEXTURE_TRANSFORM:E[o]=new oe;break;case bA.KHR_MESH_QUANTIZATION:E[o]=new ne;break;default:s.indexOf(o)>=0&&a[o]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+o+'".')}}t.setExtensions(E),t.setPlugins(a),t.parse(I,Q)}parseAsync(A,g){const I=this;return new Promise(function(Q,C){I.parse(A,g,Q,C)})}}function qa(){let B={};return{get:function(A){return B[A]},add:function(A,g){B[A]=g},remove:function(A){delete B[A]},removeAll:function(){B={}}}}const bA={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class va{constructor(A){this.parser=A,this.name=bA.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const A=this.parser,g=this.parser.json.nodes||[];for(let I=0,Q=g.length;I<Q;I++){const C=g[I];C.extensions&&C.extensions[this.name]&&C.extensions[this.name].light!==void 0&&A._addNodeRef(this.cache,C.extensions[this.name].light)}}_loadLight(A){const g=this.parser,I="light:"+A;let Q=g.cache.get(I);if(Q)return Q;const C=g.json,E=((C.extensions&&C.extensions[this.name]||{}).lights||[])[A];let a;const i=new d.Color(16777215);E.color!==void 0&&i.setRGB(E.color[0],E.color[1],E.color[2],d.LinearSRGBColorSpace);const t=E.range!==void 0?E.range:0;switch(E.type){case"directional":a=new d.DirectionalLight(i),a.target.position.set(0,0,-1),a.add(a.target);break;case"point":a=new d.PointLight(i),a.distance=t;break;case"spot":a=new d.SpotLight(i),a.distance=t,E.spot=E.spot||{},E.spot.innerConeAngle=E.spot.innerConeAngle!==void 0?E.spot.innerConeAngle:0,E.spot.outerConeAngle=E.spot.outerConeAngle!==void 0?E.spot.outerConeAngle:Math.PI/4,a.angle=E.spot.outerConeAngle,a.penumbra=1-E.spot.innerConeAngle/E.spot.outerConeAngle,a.target.position.set(0,0,-1),a.add(a.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+E.type)}return a.position.set(0,0,0),Mg(a,E),E.intensity!==void 0&&(a.intensity=E.intensity),a.name=g.createUniqueName(E.name||"light_"+A),Q=Promise.resolve(a),g.cache.add(I,Q),Q}getDependency(A,g){if(A==="light")return this._loadLight(g)}createNodeAttachment(A){const g=this,I=this.parser,Q=I.json.nodes[A],C=(Q.extensions&&Q.extensions[this.name]||{}).light;return C===void 0?null:this._loadLight(C).then(function(E){return I._getNodeRef(g.cache,C,E)})}}class Ta{constructor(){this.name=bA.KHR_MATERIALS_UNLIT}getMaterialType(){return d.MeshBasicMaterial}extendParams(A,g,I){const Q=[];A.color=new d.Color(1,1,1),A.opacity=1;const C=g.pbrMetallicRoughness;if(C){if(Array.isArray(C.baseColorFactor)){const E=C.baseColorFactor;A.color.setRGB(E[0],E[1],E[2],d.LinearSRGBColorSpace),A.opacity=E[3]}C.baseColorTexture!==void 0&&Q.push(I.assignTexture(A,"map",C.baseColorTexture,d.SRGBColorSpace))}return Promise.all(Q)}}class Oa{constructor(A){this.parser=A,this.name=bA.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(A,g){const I=this.parser.json.materials[A];if(!I.extensions||!I.extensions[this.name])return Promise.resolve();const Q=I.extensions[this.name].emissiveStrength;return Q!==void 0&&(g.emissiveIntensity=Q),Promise.resolve()}}class Wa{constructor(A){this.parser=A,this.name=bA.KHR_MATERIALS_CLEARCOAT}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?d.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser,Q=I.json.materials[A];if(!Q.extensions||!Q.extensions[this.name])return Promise.resolve();const C=[],E=Q.extensions[this.name];if(E.clearcoatFactor!==void 0&&(g.clearcoat=E.clearcoatFactor),E.clearcoatTexture!==void 0&&C.push(I.assignTexture(g,"clearcoatMap",E.clearcoatTexture)),E.clearcoatRoughnessFactor!==void 0&&(g.clearcoatRoughness=E.clearcoatRoughnessFactor),E.clearcoatRoughnessTexture!==void 0&&C.push(I.assignTexture(g,"clearcoatRoughnessMap",E.clearcoatRoughnessTexture)),E.clearcoatNormalTexture!==void 0&&(C.push(I.assignTexture(g,"clearcoatNormalMap",E.clearcoatNormalTexture)),E.clearcoatNormalTexture.scale!==void 0)){const a=E.clearcoatNormalTexture.scale;g.clearcoatNormalScale=new d.Vector2(a,a)}return Promise.all(C)}}class Pa{constructor(A){this.parser=A,this.name=bA.KHR_MATERIALS_DISPERSION}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?d.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser.json.materials[A];if(!I.extensions||!I.extensions[this.name])return Promise.resolve();const Q=I.extensions[this.name];return g.dispersion=Q.dispersion!==void 0?Q.dispersion:0,Promise.resolve()}}class Va{constructor(A){this.parser=A,this.name=bA.KHR_MATERIALS_IRIDESCENCE}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?d.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser,Q=I.json.materials[A];if(!Q.extensions||!Q.extensions[this.name])return Promise.resolve();const C=[],E=Q.extensions[this.name];return E.iridescenceFactor!==void 0&&(g.iridescence=E.iridescenceFactor),E.iridescenceTexture!==void 0&&C.push(I.assignTexture(g,"iridescenceMap",E.iridescenceTexture)),E.iridescenceIor!==void 0&&(g.iridescenceIOR=E.iridescenceIor),g.iridescenceThicknessRange===void 0&&(g.iridescenceThicknessRange=[100,400]),E.iridescenceThicknessMinimum!==void 0&&(g.iridescenceThicknessRange[0]=E.iridescenceThicknessMinimum),E.iridescenceThicknessMaximum!==void 0&&(g.iridescenceThicknessRange[1]=E.iridescenceThicknessMaximum),E.iridescenceThicknessTexture!==void 0&&C.push(I.assignTexture(g,"iridescenceThicknessMap",E.iridescenceThicknessTexture)),Promise.all(C)}}class za{constructor(A){this.parser=A,this.name=bA.KHR_MATERIALS_SHEEN}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?d.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser,Q=I.json.materials[A];if(!Q.extensions||!Q.extensions[this.name])return Promise.resolve();const C=[];g.sheenColor=new d.Color(0,0,0),g.sheenRoughness=0,g.sheen=1;const E=Q.extensions[this.name];if(E.sheenColorFactor!==void 0){const a=E.sheenColorFactor;g.sheenColor.setRGB(a[0],a[1],a[2],d.LinearSRGBColorSpace)}return E.sheenRoughnessFactor!==void 0&&(g.sheenRoughness=E.sheenRoughnessFactor),E.sheenColorTexture!==void 0&&C.push(I.assignTexture(g,"sheenColorMap",E.sheenColorTexture,d.SRGBColorSpace)),E.sheenRoughnessTexture!==void 0&&C.push(I.assignTexture(g,"sheenRoughnessMap",E.sheenRoughnessTexture)),Promise.all(C)}}class Xa{constructor(A){this.parser=A,this.name=bA.KHR_MATERIALS_TRANSMISSION}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?d.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser,Q=I.json.materials[A];if(!Q.extensions||!Q.extensions[this.name])return Promise.resolve();const C=[],E=Q.extensions[this.name];return E.transmissionFactor!==void 0&&(g.transmission=E.transmissionFactor),E.transmissionTexture!==void 0&&C.push(I.assignTexture(g,"transmissionMap",E.transmissionTexture)),Promise.all(C)}}class Za{constructor(A){this.parser=A,this.name=bA.KHR_MATERIALS_VOLUME}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?d.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser,Q=I.json.materials[A];if(!Q.extensions||!Q.extensions[this.name])return Promise.resolve();const C=[],E=Q.extensions[this.name];g.thickness=E.thicknessFactor!==void 0?E.thicknessFactor:0,E.thicknessTexture!==void 0&&C.push(I.assignTexture(g,"thicknessMap",E.thicknessTexture)),g.attenuationDistance=E.attenuationDistance||1/0;const a=E.attenuationColor||[1,1,1];return g.attenuationColor=new d.Color().setRGB(a[0],a[1],a[2],d.LinearSRGBColorSpace),Promise.all(C)}}class _a{constructor(A){this.parser=A,this.name=bA.KHR_MATERIALS_IOR}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?d.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser.json.materials[A];if(!I.extensions||!I.extensions[this.name])return Promise.resolve();const Q=I.extensions[this.name];return g.ior=Q.ior!==void 0?Q.ior:1.5,Promise.resolve()}}class $a{constructor(A){this.parser=A,this.name=bA.KHR_MATERIALS_SPECULAR}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?d.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser,Q=I.json.materials[A];if(!Q.extensions||!Q.extensions[this.name])return Promise.resolve();const C=[],E=Q.extensions[this.name];g.specularIntensity=E.specularFactor!==void 0?E.specularFactor:1,E.specularTexture!==void 0&&C.push(I.assignTexture(g,"specularIntensityMap",E.specularTexture));const a=E.specularColorFactor||[1,1,1];return g.specularColor=new d.Color().setRGB(a[0],a[1],a[2],d.LinearSRGBColorSpace),E.specularColorTexture!==void 0&&C.push(I.assignTexture(g,"specularColorMap",E.specularColorTexture,d.SRGBColorSpace)),Promise.all(C)}}class Ae{constructor(A){this.parser=A,this.name=bA.EXT_MATERIALS_BUMP}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?d.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser,Q=I.json.materials[A];if(!Q.extensions||!Q.extensions[this.name])return Promise.resolve();const C=[],E=Q.extensions[this.name];return g.bumpScale=E.bumpFactor!==void 0?E.bumpFactor:1,E.bumpTexture!==void 0&&C.push(I.assignTexture(g,"bumpMap",E.bumpTexture)),Promise.all(C)}}class ge{constructor(A){this.parser=A,this.name=bA.KHR_MATERIALS_ANISOTROPY}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?d.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser,Q=I.json.materials[A];if(!Q.extensions||!Q.extensions[this.name])return Promise.resolve();const C=[],E=Q.extensions[this.name];return E.anisotropyStrength!==void 0&&(g.anisotropy=E.anisotropyStrength),E.anisotropyRotation!==void 0&&(g.anisotropyRotation=E.anisotropyRotation),E.anisotropyTexture!==void 0&&C.push(I.assignTexture(g,"anisotropyMap",E.anisotropyTexture)),Promise.all(C)}}class Ie{constructor(A){this.parser=A,this.name=bA.KHR_TEXTURE_BASISU}loadTexture(A){const g=this.parser,I=g.json,Q=I.textures[A];if(!Q.extensions||!Q.extensions[this.name])return null;const C=Q.extensions[this.name],E=g.options.ktx2Loader;if(!E){if(I.extensionsRequired&&I.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return g.loadTextureImage(A,C.source,E)}}class Be{constructor(A){this.parser=A,this.name=bA.EXT_TEXTURE_WEBP}loadTexture(A){const g=this.name,I=this.parser,Q=I.json,C=Q.textures[A];if(!C.extensions||!C.extensions[g])return null;const E=C.extensions[g],a=Q.images[E.source];let i=I.textureLoader;if(a.uri){const t=I.options.manager.getHandler(a.uri);t!==null&&(i=t)}return I.loadTextureImage(A,E.source,i)}}class Qe{constructor(A){this.parser=A,this.name=bA.EXT_TEXTURE_AVIF}loadTexture(A){const g=this.name,I=this.parser,Q=I.json,C=Q.textures[A];if(!C.extensions||!C.extensions[g])return null;const E=C.extensions[g],a=Q.images[E.source];let i=I.textureLoader;if(a.uri){const t=I.options.manager.getHandler(a.uri);t!==null&&(i=t)}return I.loadTextureImage(A,E.source,i)}}class Ce{constructor(A){this.name=bA.EXT_MESHOPT_COMPRESSION,this.parser=A}loadBufferView(A){const g=this.parser.json,I=g.bufferViews[A];if(I.extensions&&I.extensions[this.name]){const Q=I.extensions[this.name],C=this.parser.getDependency("buffer",Q.buffer),E=this.parser.options.meshoptDecoder;if(!E||!E.supported){if(g.extensionsRequired&&g.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return C.then(function(a){const i=Q.byteOffset||0,t=Q.byteLength||0,e=Q.count,o=Q.byteStride,s=new Uint8Array(a,i,t);return E.decodeGltfBufferAsync?E.decodeGltfBufferAsync(e,o,s,Q.mode,Q.filter).then(function(n){return n.buffer}):E.ready.then(function(){const n=new ArrayBuffer(e*o);return E.decodeGltfBuffer(new Uint8Array(n),e,o,s,Q.mode,Q.filter),n})})}return null}}class Ee{constructor(A){this.name=bA.EXT_MESH_GPU_INSTANCING,this.parser=A}createNodeMesh(A){const g=this.parser.json,I=g.nodes[A];if(!I.extensions||!I.extensions[this.name]||I.mesh===void 0)return null;const Q=g.meshes[I.mesh];for(const i of Q.primitives)if(i.mode!==bg.TRIANGLES&&i.mode!==bg.TRIANGLE_STRIP&&i.mode!==bg.TRIANGLE_FAN&&i.mode!==void 0)return null;const C=I.extensions[this.name].attributes,E=[],a={};for(const i in C)E.push(this.parser.getDependency("accessor",C[i]).then(t=>(a[i]=t,a[i])));return E.length<1?null:(E.push(this.parser.createNodeMesh(A)),Promise.all(E).then(i=>{const t=i.pop(),e=t.isGroup?t.children:[t],o=i[0].count,s=[];for(const n of e){const r=new d.Matrix4,c=new d.Vector3,D=new d.Quaternion,b=new d.Vector3(1,1,1),h=new d.InstancedMesh(n.geometry,n.material,o);for(let w=0;w<o;w++)a.TRANSLATION&&c.fromBufferAttribute(a.TRANSLATION,w),a.ROTATION&&D.fromBufferAttribute(a.ROTATION,w),a.SCALE&&b.fromBufferAttribute(a.SCALE,w),h.setMatrixAt(w,r.compose(c,D,b));for(const w in a)if(w==="_COLOR_0"){const f=a[w];h.instanceColor=new d.InstancedBufferAttribute(f.array,f.itemSize,f.normalized)}else w!=="TRANSLATION"&&w!=="ROTATION"&&w!=="SCALE"&&n.geometry.setAttribute(w,a[w]);d.Object3D.prototype.copy.call(h,n),this.parser.assignFinalMaterial(h),s.push(h)}return t.isGroup?(t.clear(),t.add(...s),t):s[0]}))}}const $C="glTF",ae=1313821514,ee=5130562;class ie{constructor(A){this.name=bA.KHR_BINARY_GLTF,this.content=null,this.body=null;const g=new DataView(A,0,12),I=new TextDecoder;if(this.header={magic:I.decode(new Uint8Array(A.slice(0,4))),version:g.getUint32(4,!0),length:g.getUint32(8,!0)},this.header.magic!==$C)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const Q=this.header.length-12,C=new DataView(A,12);let E=0;for(;E<Q;){const a=C.getUint32(E,!0);E+=4;const i=C.getUint32(E,!0);if(E+=4,i===ae){const t=new Uint8Array(A,12+E,a);this.content=I.decode(t)}else if(i===ee){const t=12+E;this.body=A.slice(t,t+a)}E+=a}if(this.content===null)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class te{constructor(A,g){if(!g)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=bA.KHR_DRACO_MESH_COMPRESSION,this.json=A,this.dracoLoader=g,this.dracoLoader.preload()}decodePrimitive(A,g){const I=this.json,Q=this.dracoLoader,C=A.extensions[this.name].bufferView,E=A.extensions[this.name].attributes,a={},i={},t={};for(const e in E){const o=nQ[e]||e.toLowerCase();a[o]=E[e]}for(const e in A.attributes){const o=nQ[e]||e.toLowerCase();if(E[e]!==void 0){const s=I.accessors[A.attributes[e]],n=MI[s.componentType];t[o]=n.name,i[o]=s.normalized===!0}}return g.getDependency("bufferView",C).then(function(e){return new Promise(function(o,s){Q.decodeDracoFile(e,function(n){for(const r in n.attributes){const c=n.attributes[r],D=i[r];D!==void 0&&(c.normalized=D)}o(n)},a,t,d.LinearSRGBColorSpace,s)})})}}class oe{constructor(){this.name=bA.KHR_TEXTURE_TRANSFORM}extendTexture(A,g){return(g.texCoord!==void 0&&g.texCoord!==A.channel||g.offset!==void 0||g.rotation!==void 0||g.scale!==void 0)&&(A=A.clone(),g.texCoord!==void 0&&(A.channel=g.texCoord),g.offset!==void 0&&A.offset.fromArray(g.offset),g.rotation!==void 0&&(A.rotation=g.rotation),g.scale!==void 0&&A.repeat.fromArray(g.scale),A.needsUpdate=!0),A}}class ne{constructor(){this.name=bA.KHR_MESH_QUANTIZATION}}class AE extends d.Interpolant{constructor(A,g,I,Q){super(A,g,I,Q)}copySampleValue_(A){const g=this.resultBuffer,I=this.sampleValues,Q=this.valueSize,C=A*Q*3+Q;for(let E=0;E!==Q;E++)g[E]=I[C+E];return g}interpolate_(A,g,I,Q){const C=this.resultBuffer,E=this.sampleValues,a=this.valueSize,i=2*a,t=3*a,e=Q-g,o=(I-g)/e,s=o*o,n=s*o,r=A*t,c=r-t,D=-2*n+3*s,b=n-s,h=1-D,w=b-s+o;for(let f=0;f!==a;f++){const p=E[c+f+a],R=E[c+f+i]*e,m=E[r+f+a],G=E[r+f]*e;C[f]=h*p+w*R+D*m+b*G}return C}}const se=new d.Quaternion;class re extends AE{interpolate_(A,g,I,Q){const C=super.interpolate_(A,g,I,Q);return se.fromArray(C).normalize().toArray(C),C}}const bg={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},MI={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},WQ={9728:d.NearestFilter,9729:d.LinearFilter,9984:d.NearestMipmapNearestFilter,9985:d.LinearMipmapNearestFilter,9986:d.NearestMipmapLinearFilter,9987:d.LinearMipmapLinearFilter},PQ={33071:d.ClampToEdgeWrapping,33648:d.MirroredRepeatWrapping,10497:d.RepeatWrapping},vB={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},nQ={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Tg={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},ce={CUBICSPLINE:void 0,LINEAR:d.InterpolateLinear,STEP:d.InterpolateDiscrete},he="OPAQUE",De="MASK",de="BLEND";function BI(B,A,g){for(const I in g.extensions)B[I]===void 0&&(A.userData.gltfExtensions=A.userData.gltfExtensions||{},A.userData.gltfExtensions[I]=g.extensions[I])}function Mg(B,A){A.extras!==void 0&&(typeof A.extras=="object"?Object.assign(B.userData,A.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+A.extras))}function be(B,A){if(B.updateMorphTargets(),A.weights!==void 0)for(let g=0,I=A.weights.length;g<I;g++)B.morphTargetInfluences[g]=A.weights[g];if(A.extras&&Array.isArray(A.extras.targetNames)){const g=A.extras.targetNames;if(B.morphTargetInfluences.length===g.length){B.morphTargetDictionary={};for(let I=0,Q=g.length;I<Q;I++)B.morphTargetDictionary[g[I]]=I}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function we(B){let A;const g=B.extensions&&B.extensions[bA.KHR_DRACO_MESH_COMPRESSION];if(A=g?"draco:"+g.bufferView+":"+g.indices+":"+TB(g.attributes):B.indices+":"+TB(B.attributes)+":"+B.mode,B.targets!==void 0)for(let I=0,Q=B.targets.length;I<Q;I++)A+=":"+TB(B.targets[I]);return A}function TB(B){let A="";const g=Object.keys(B).sort();for(let I=0,Q=g.length;I<Q;I++)A+=g[I]+":"+B[g[I]]+";";return A}function sQ(B){switch(B){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}const ue=new d.Matrix4;class le{constructor(A={},g={}){this.json=A,this.extensions={},this.plugins={},this.options=g,this.cache=new qa,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let I=!1,Q=-1,C=!1,E=-1;if(typeof navigator<"u"){const a=navigator.userAgent;I=/^((?!chrome|android).)*safari/i.test(a)===!0;const i=a.match(/Version\/(\d+)/);Q=I&&i?parseInt(i[1],10):-1,C=a.indexOf("Firefox")>-1,E=C?a.match(/Firefox\/([0-9]+)\./)[1]:-1}typeof createImageBitmap>"u"||I&&Q<17||C&&E<98?this.textureLoader=new d.TextureLoader(this.options.manager):this.textureLoader=new d.ImageBitmapLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new d.FileLoader(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(A){this.extensions=A}setPlugins(A){this.plugins=A}parse(A,g){const I=this,Q=this.json,C=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(E){return E._markDefs&&E._markDefs()}),Promise.all(this._invokeAll(function(E){return E.beforeRoot&&E.beforeRoot()})).then(function(){return Promise.all([I.getDependencies("scene"),I.getDependencies("animation"),I.getDependencies("camera")])}).then(function(E){const a={scene:E[0][Q.scene||0],scenes:E[0],animations:E[1],cameras:E[2],asset:Q.asset,parser:I,userData:{}};return BI(C,a,Q),Mg(a,Q),Promise.all(I._invokeAll(function(i){return i.afterRoot&&i.afterRoot(a)})).then(function(){for(const i of a.scenes)i.updateMatrixWorld();A(a)})}).catch(g)}_markDefs(){const A=this.json.nodes||[],g=this.json.skins||[],I=this.json.meshes||[];for(let Q=0,C=g.length;Q<C;Q++){const E=g[Q].joints;for(let a=0,i=E.length;a<i;a++)A[E[a]].isBone=!0}for(let Q=0,C=A.length;Q<C;Q++){const E=A[Q];E.mesh!==void 0&&(this._addNodeRef(this.meshCache,E.mesh),E.skin!==void 0&&(I[E.mesh].isSkinnedMesh=!0)),E.camera!==void 0&&this._addNodeRef(this.cameraCache,E.camera)}}_addNodeRef(A,g){g!==void 0&&(A.refs[g]===void 0&&(A.refs[g]=A.uses[g]=0),A.refs[g]++)}_getNodeRef(A,g,I){if(A.refs[g]<=1)return I;const Q=I.clone(),C=(E,a)=>{const i=this.associations.get(E);i!=null&&this.associations.set(a,i);for(const[t,e]of E.children.entries())C(e,a.children[t])};return C(I,Q),Q.name+="_instance_"+A.uses[g]++,Q}_invokeOne(A){const g=Object.values(this.plugins);g.push(this);for(let I=0;I<g.length;I++){const Q=A(g[I]);if(Q)return Q}return null}_invokeAll(A){const g=Object.values(this.plugins);g.unshift(this);const I=[];for(let Q=0;Q<g.length;Q++){const C=A(g[Q]);C&&I.push(C)}return I}getDependency(A,g){const I=A+":"+g;let Q=this.cache.get(I);if(!Q){switch(A){case"scene":Q=this.loadScene(g);break;case"node":Q=this._invokeOne(function(C){return C.loadNode&&C.loadNode(g)});break;case"mesh":Q=this._invokeOne(function(C){return C.loadMesh&&C.loadMesh(g)});break;case"accessor":Q=this.loadAccessor(g);break;case"bufferView":Q=this._invokeOne(function(C){return C.loadBufferView&&C.loadBufferView(g)});break;case"buffer":Q=this.loadBuffer(g);break;case"material":Q=this._invokeOne(function(C){return C.loadMaterial&&C.loadMaterial(g)});break;case"texture":Q=this._invokeOne(function(C){return C.loadTexture&&C.loadTexture(g)});break;case"skin":Q=this.loadSkin(g);break;case"animation":Q=this._invokeOne(function(C){return C.loadAnimation&&C.loadAnimation(g)});break;case"camera":Q=this.loadCamera(g);break;default:if(Q=this._invokeOne(function(C){return C!=this&&C.getDependency&&C.getDependency(A,g)}),!Q)throw new Error("Unknown type: "+A)}this.cache.add(I,Q)}return Q}getDependencies(A){let g=this.cache.get(A);if(!g){const I=this,Q=this.json[A+(A==="mesh"?"es":"s")]||[];g=Promise.all(Q.map(function(C,E){return I.getDependency(A,E)})),this.cache.add(A,g)}return g}loadBuffer(A){const g=this.json.buffers[A],I=this.fileLoader;if(g.type&&g.type!=="arraybuffer")throw new Error("THREE.GLTFLoader: "+g.type+" buffer type is not supported.");if(g.uri===void 0&&A===0)return Promise.resolve(this.extensions[bA.KHR_BINARY_GLTF].body);const Q=this.options;return new Promise(function(C,E){I.load(d.LoaderUtils.resolveURL(g.uri,Q.path),C,void 0,function(){E(new Error('THREE.GLTFLoader: Failed to load buffer "'+g.uri+'".'))})})}loadBufferView(A){const g=this.json.bufferViews[A];return this.getDependency("buffer",g.buffer).then(function(I){const Q=g.byteLength||0,C=g.byteOffset||0;return I.slice(C,C+Q)})}loadAccessor(A){const g=this,I=this.json,Q=this.json.accessors[A];if(Q.bufferView===void 0&&Q.sparse===void 0){const E=vB[Q.type],a=MI[Q.componentType],i=Q.normalized===!0,t=new a(Q.count*E);return Promise.resolve(new d.BufferAttribute(t,E,i))}const C=[];return Q.bufferView!==void 0?C.push(this.getDependency("bufferView",Q.bufferView)):C.push(null),Q.sparse!==void 0&&(C.push(this.getDependency("bufferView",Q.sparse.indices.bufferView)),C.push(this.getDependency("bufferView",Q.sparse.values.bufferView))),Promise.all(C).then(function(E){const a=E[0],i=vB[Q.type],t=MI[Q.componentType],e=t.BYTES_PER_ELEMENT,o=e*i,s=Q.byteOffset||0,n=Q.bufferView!==void 0?I.bufferViews[Q.bufferView].byteStride:void 0,r=Q.normalized===!0;let c,D;if(n&&n!==o){const b=Math.floor(s/n),h="InterleavedBuffer:"+Q.bufferView+":"+Q.componentType+":"+b+":"+Q.count;let w=g.cache.get(h);w||(c=new t(a,b*n,Q.count*n/e),w=new d.InterleavedBuffer(c,n/e),g.cache.add(h,w)),D=new d.InterleavedBufferAttribute(w,i,s%n/e,r)}else c=a===null?new t(Q.count*i):new t(a,s,Q.count*i),D=new d.BufferAttribute(c,i,r);if(Q.sparse!==void 0){const b=vB.SCALAR,h=MI[Q.sparse.indices.componentType],w=Q.sparse.indices.byteOffset||0,f=Q.sparse.values.byteOffset||0,p=new h(E[1],w,Q.sparse.count*b),R=new t(E[2],f,Q.sparse.count*i);a!==null&&(D=new d.BufferAttribute(D.array.slice(),D.itemSize,D.normalized)),D.normalized=!1;for(let m=0,G=p.length;m<G;m++){const k=p[m];if(D.setX(k,R[m*i]),i>=2&&D.setY(k,R[m*i+1]),i>=3&&D.setZ(k,R[m*i+2]),i>=4&&D.setW(k,R[m*i+3]),i>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}D.normalized=r}return D})}loadTexture(A){const g=this.json,I=this.options,Q=g.textures[A].source,C=g.images[Q];let E=this.textureLoader;if(C.uri){const a=I.manager.getHandler(C.uri);a!==null&&(E=a)}return this.loadTextureImage(A,Q,E)}loadTextureImage(A,g,I){const Q=this,C=this.json,E=C.textures[A],a=C.images[g],i=(a.uri||a.bufferView)+":"+E.sampler;if(this.textureCache[i])return this.textureCache[i];const t=this.loadImageSource(g,I).then(function(e){e.flipY=!1,e.name=E.name||a.name||"",e.name===""&&typeof a.uri=="string"&&a.uri.startsWith("data:image/")===!1&&(e.name=a.uri);const o=(C.samplers||{})[E.sampler]||{};return e.magFilter=WQ[o.magFilter]||d.LinearFilter,e.minFilter=WQ[o.minFilter]||d.LinearMipmapLinearFilter,e.wrapS=PQ[o.wrapS]||d.RepeatWrapping,e.wrapT=PQ[o.wrapT]||d.RepeatWrapping,e.generateMipmaps=!e.isCompressedTexture&&e.minFilter!==d.NearestFilter&&e.minFilter!==d.LinearFilter,Q.associations.set(e,{textures:A}),e}).catch(function(){return null});return this.textureCache[i]=t,t}loadImageSource(A,g){const I=this,Q=this.json,C=this.options;if(this.sourceCache[A]!==void 0)return this.sourceCache[A].then(o=>o.clone());const E=Q.images[A],a=self.URL||self.webkitURL;let i=E.uri||"",t=!1;if(E.bufferView!==void 0)i=I.getDependency("bufferView",E.bufferView).then(function(o){t=!0;const s=new Blob([o],{type:E.mimeType});return i=a.createObjectURL(s),i});else if(E.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+A+" is missing URI and bufferView");const e=Promise.resolve(i).then(function(o){return new Promise(function(s,n){let r=s;g.isImageBitmapLoader===!0&&(r=function(c){const D=new d.Texture(c);D.needsUpdate=!0,s(D)}),g.load(d.LoaderUtils.resolveURL(o,C.path),r,void 0,n)})}).then(function(o){var s;return t===!0&&a.revokeObjectURL(i),Mg(o,E),o.userData.mimeType=E.mimeType||((s=E.uri).search(/\.jpe?g($|\?)/i)>0||s.search(/^data\:image\/jpeg/)===0?"image/jpeg":s.search(/\.webp($|\?)/i)>0||s.search(/^data\:image\/webp/)===0?"image/webp":s.search(/\.ktx2($|\?)/i)>0||s.search(/^data\:image\/ktx2/)===0?"image/ktx2":"image/png"),o}).catch(function(o){throw console.error("THREE.GLTFLoader: Couldn't load texture",i),o});return this.sourceCache[A]=e,e}assignTexture(A,g,I,Q){const C=this;return this.getDependency("texture",I.index).then(function(E){if(!E)return null;if(I.texCoord!==void 0&&I.texCoord>0&&((E=E.clone()).channel=I.texCoord),C.extensions[bA.KHR_TEXTURE_TRANSFORM]){const a=I.extensions!==void 0?I.extensions[bA.KHR_TEXTURE_TRANSFORM]:void 0;if(a){const i=C.associations.get(E);E=C.extensions[bA.KHR_TEXTURE_TRANSFORM].extendTexture(E,a),C.associations.set(E,i)}}return Q!==void 0&&(E.colorSpace=Q),A[g]=E,E})}assignFinalMaterial(A){const g=A.geometry;let I=A.material;const Q=g.attributes.tangent===void 0,C=g.attributes.color!==void 0,E=g.attributes.normal===void 0;if(A.isPoints){const a="PointsMaterial:"+I.uuid;let i=this.cache.get(a);i||(i=new d.PointsMaterial,d.Material.prototype.copy.call(i,I),i.color.copy(I.color),i.map=I.map,i.sizeAttenuation=!1,this.cache.add(a,i)),I=i}else if(A.isLine){const a="LineBasicMaterial:"+I.uuid;let i=this.cache.get(a);i||(i=new d.LineBasicMaterial,d.Material.prototype.copy.call(i,I),i.color.copy(I.color),i.map=I.map,this.cache.add(a,i)),I=i}if(Q||C||E){let a="ClonedMaterial:"+I.uuid+":";Q&&(a+="derivative-tangents:"),C&&(a+="vertex-colors:"),E&&(a+="flat-shading:");let i=this.cache.get(a);i||(i=I.clone(),C&&(i.vertexColors=!0),E&&(i.flatShading=!0),Q&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),this.cache.add(a,i),this.associations.set(i,this.associations.get(I))),I=i}A.material=I}getMaterialType(){return d.MeshStandardMaterial}loadMaterial(A){const g=this,I=this.json,Q=this.extensions,C=I.materials[A];let E;const a={},i=[];if((C.extensions||{})[bA.KHR_MATERIALS_UNLIT]){const e=Q[bA.KHR_MATERIALS_UNLIT];E=e.getMaterialType(),i.push(e.extendParams(a,C,g))}else{const e=C.pbrMetallicRoughness||{};if(a.color=new d.Color(1,1,1),a.opacity=1,Array.isArray(e.baseColorFactor)){const o=e.baseColorFactor;a.color.setRGB(o[0],o[1],o[2],d.LinearSRGBColorSpace),a.opacity=o[3]}e.baseColorTexture!==void 0&&i.push(g.assignTexture(a,"map",e.baseColorTexture,d.SRGBColorSpace)),a.metalness=e.metallicFactor!==void 0?e.metallicFactor:1,a.roughness=e.roughnessFactor!==void 0?e.roughnessFactor:1,e.metallicRoughnessTexture!==void 0&&(i.push(g.assignTexture(a,"metalnessMap",e.metallicRoughnessTexture)),i.push(g.assignTexture(a,"roughnessMap",e.metallicRoughnessTexture))),E=this._invokeOne(function(o){return o.getMaterialType&&o.getMaterialType(A)}),i.push(Promise.all(this._invokeAll(function(o){return o.extendMaterialParams&&o.extendMaterialParams(A,a)})))}C.doubleSided===!0&&(a.side=d.DoubleSide);const t=C.alphaMode||he;if(t===de?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,t===De&&(a.alphaTest=C.alphaCutoff!==void 0?C.alphaCutoff:.5)),C.normalTexture!==void 0&&E!==d.MeshBasicMaterial&&(i.push(g.assignTexture(a,"normalMap",C.normalTexture)),a.normalScale=new d.Vector2(1,1),C.normalTexture.scale!==void 0)){const e=C.normalTexture.scale;a.normalScale.set(e,e)}if(C.occlusionTexture!==void 0&&E!==d.MeshBasicMaterial&&(i.push(g.assignTexture(a,"aoMap",C.occlusionTexture)),C.occlusionTexture.strength!==void 0&&(a.aoMapIntensity=C.occlusionTexture.strength)),C.emissiveFactor!==void 0&&E!==d.MeshBasicMaterial){const e=C.emissiveFactor;a.emissive=new d.Color().setRGB(e[0],e[1],e[2],d.LinearSRGBColorSpace)}return C.emissiveTexture!==void 0&&E!==d.MeshBasicMaterial&&i.push(g.assignTexture(a,"emissiveMap",C.emissiveTexture,d.SRGBColorSpace)),Promise.all(i).then(function(){const e=new E(a);return C.name&&(e.name=C.name),Mg(e,C),g.associations.set(e,{materials:A}),C.extensions&&BI(Q,e,C),e})}createUniqueName(A){const g=d.PropertyBinding.sanitizeNodeName(A||"");return g in this.nodeNamesUsed?g+"_"+ ++this.nodeNamesUsed[g]:(this.nodeNamesUsed[g]=0,g)}loadGeometries(A){const g=this,I=this.extensions,Q=this.primitiveCache;function C(a){return I[bA.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a,g).then(function(i){return VQ(i,a,g)})}const E=[];for(let a=0,i=A.length;a<i;a++){const t=A[a],e=we(t),o=Q[e];if(o)E.push(o.promise);else{let s;s=t.extensions&&t.extensions[bA.KHR_DRACO_MESH_COMPRESSION]?C(t):VQ(new d.BufferGeometry,t,g),Q[e]={primitive:t,promise:s},E.push(s)}}return Promise.all(E)}loadMesh(A){const g=this,I=this.json,Q=this.extensions,C=I.meshes[A],E=C.primitives,a=[];for(let t=0,e=E.length;t<e;t++){const o=E[t].material===void 0?((i=this.cache).DefaultMaterial===void 0&&(i.DefaultMaterial=new d.MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:d.FrontSide})),i.DefaultMaterial):this.getDependency("material",E[t].material);a.push(o)}var i;return a.push(g.loadGeometries(E)),Promise.all(a).then(function(t){const e=t.slice(0,t.length-1),o=t[t.length-1],s=[];for(let r=0,c=o.length;r<c;r++){const D=o[r],b=E[r];let h;const w=e[r];if(b.mode===bg.TRIANGLES||b.mode===bg.TRIANGLE_STRIP||b.mode===bg.TRIANGLE_FAN||b.mode===void 0)h=C.isSkinnedMesh===!0?new d.SkinnedMesh(D,w):new d.Mesh(D,w),h.isSkinnedMesh===!0&&h.normalizeSkinWeights(),b.mode===bg.TRIANGLE_STRIP?h.geometry=TQ(h.geometry,d.TriangleStripDrawMode):b.mode===bg.TRIANGLE_FAN&&(h.geometry=TQ(h.geometry,d.TriangleFanDrawMode));else if(b.mode===bg.LINES)h=new d.LineSegments(D,w);else if(b.mode===bg.LINE_STRIP)h=new d.Line(D,w);else if(b.mode===bg.LINE_LOOP)h=new d.LineLoop(D,w);else{if(b.mode!==bg.POINTS)throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+b.mode);h=new d.Points(D,w)}Object.keys(h.geometry.morphAttributes).length>0&&be(h,C),h.name=g.createUniqueName(C.name||"mesh_"+A),Mg(h,C),b.extensions&&BI(Q,h,b),g.assignFinalMaterial(h),s.push(h)}for(let r=0,c=s.length;r<c;r++)g.associations.set(s[r],{meshes:A,primitives:r});if(s.length===1)return C.extensions&&BI(Q,s[0],C),s[0];const n=new d.Group;C.extensions&&BI(Q,n,C),g.associations.set(n,{meshes:A});for(let r=0,c=s.length;r<c;r++)n.add(s[r]);return n})}loadCamera(A){let g;const I=this.json.cameras[A],Q=I[I.type];if(Q)return I.type==="perspective"?g=new d.PerspectiveCamera(d.MathUtils.radToDeg(Q.yfov),Q.aspectRatio||1,Q.znear||1,Q.zfar||2e6):I.type==="orthographic"&&(g=new d.OrthographicCamera(-Q.xmag,Q.xmag,Q.ymag,-Q.ymag,Q.znear,Q.zfar)),I.name&&(g.name=this.createUniqueName(I.name)),Mg(g,I),Promise.resolve(g);console.warn("THREE.GLTFLoader: Missing camera parameters.")}loadSkin(A){const g=this.json.skins[A],I=[];for(let Q=0,C=g.joints.length;Q<C;Q++)I.push(this._loadNodeShallow(g.joints[Q]));return g.inverseBindMatrices!==void 0?I.push(this.getDependency("accessor",g.inverseBindMatrices)):I.push(null),Promise.all(I).then(function(Q){const C=Q.pop(),E=Q,a=[],i=[];for(let t=0,e=E.length;t<e;t++){const o=E[t];if(o){a.push(o);const s=new d.Matrix4;C!==null&&s.fromArray(C.array,16*t),i.push(s)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',g.joints[t])}return new d.Skeleton(a,i)})}loadAnimation(A){const g=this.json,I=this,Q=g.animations[A],C=Q.name?Q.name:"animation_"+A,E=[],a=[],i=[],t=[],e=[];for(let o=0,s=Q.channels.length;o<s;o++){const n=Q.channels[o],r=Q.samplers[n.sampler],c=n.target,D=c.node,b=Q.parameters!==void 0?Q.parameters[r.input]:r.input,h=Q.parameters!==void 0?Q.parameters[r.output]:r.output;c.node!==void 0&&(E.push(this.getDependency("node",D)),a.push(this.getDependency("accessor",b)),i.push(this.getDependency("accessor",h)),t.push(r),e.push(c))}return Promise.all([Promise.all(E),Promise.all(a),Promise.all(i),Promise.all(t),Promise.all(e)]).then(function(o){const s=o[0],n=o[1],r=o[2],c=o[3],D=o[4],b=[];for(let w=0,f=s.length;w<f;w++){const p=s[w],R=n[w],m=r[w],G=c[w],k=D[w];if(p===void 0)continue;p.updateMatrix&&p.updateMatrix();const U=I._createAnimationTracks(p,R,m,G,k);if(U)for(let S=0;S<U.length;S++)b.push(U[S])}const h=new d.AnimationClip(C,void 0,b);return Mg(h,Q),h})}createNodeMesh(A){const g=this.json,I=this,Q=g.nodes[A];return Q.mesh===void 0?null:I.getDependency("mesh",Q.mesh).then(function(C){const E=I._getNodeRef(I.meshCache,Q.mesh,C);return Q.weights!==void 0&&E.traverse(function(a){if(a.isMesh)for(let i=0,t=Q.weights.length;i<t;i++)a.morphTargetInfluences[i]=Q.weights[i]}),E})}loadNode(A){const g=this,I=this.json.nodes[A],Q=g._loadNodeShallow(A),C=[],E=I.children||[];for(let i=0,t=E.length;i<t;i++)C.push(g.getDependency("node",E[i]));const a=I.skin===void 0?Promise.resolve(null):g.getDependency("skin",I.skin);return Promise.all([Q,Promise.all(C),a]).then(function(i){const t=i[0],e=i[1],o=i[2];o!==null&&t.traverse(function(s){s.isSkinnedMesh&&s.bind(o,ue)});for(let s=0,n=e.length;s<n;s++)t.add(e[s]);return t})}_loadNodeShallow(A){const g=this.json,I=this.extensions,Q=this;if(this.nodeCache[A]!==void 0)return this.nodeCache[A];const C=g.nodes[A],E=C.name?Q.createUniqueName(C.name):"",a=[],i=Q._invokeOne(function(t){return t.createNodeMesh&&t.createNodeMesh(A)});return i&&a.push(i),C.camera!==void 0&&a.push(Q.getDependency("camera",C.camera).then(function(t){return Q._getNodeRef(Q.cameraCache,C.camera,t)})),Q._invokeAll(function(t){return t.createNodeAttachment&&t.createNodeAttachment(A)}).forEach(function(t){a.push(t)}),this.nodeCache[A]=Promise.all(a).then(function(t){let e;if(e=C.isBone===!0?new d.Bone:t.length>1?new d.Group:t.length===1?t[0]:new d.Object3D,e!==t[0])for(let o=0,s=t.length;o<s;o++)e.add(t[o]);if(C.name&&(e.userData.name=C.name,e.name=E),Mg(e,C),C.extensions&&BI(I,e,C),C.matrix!==void 0){const o=new d.Matrix4;o.fromArray(C.matrix),e.applyMatrix4(o)}else C.translation!==void 0&&e.position.fromArray(C.translation),C.rotation!==void 0&&e.quaternion.fromArray(C.rotation),C.scale!==void 0&&e.scale.fromArray(C.scale);if(Q.associations.has(e)){if(C.mesh!==void 0&&Q.meshCache.refs[C.mesh]>1){const o=Q.associations.get(e);Q.associations.set(e,{...o})}}else Q.associations.set(e,{});return Q.associations.get(e).nodes=A,e}),this.nodeCache[A]}loadScene(A){const g=this.extensions,I=this.json.scenes[A],Q=this,C=new d.Group;I.name&&(C.name=Q.createUniqueName(I.name)),Mg(C,I),I.extensions&&BI(g,C,I);const E=I.nodes||[],a=[];for(let i=0,t=E.length;i<t;i++)a.push(Q.getDependency("node",E[i]));return Promise.all(a).then(function(i){for(let t=0,e=i.length;t<e;t++)C.add(i[t]);return Q.associations=(t=>{const e=new Map;for(const[o,s]of Q.associations)(o instanceof d.Material||o instanceof d.Texture)&&e.set(o,s);return t.traverse(o=>{const s=Q.associations.get(o);s!=null&&e.set(o,s)}),e})(C),C})}_createAnimationTracks(A,g,I,Q,C){const E=[],a=A.name?A.name:A.uuid,i=[];let t;switch(Tg[C.path]===Tg.weights?A.traverse(function(s){s.morphTargetInfluences&&i.push(s.name?s.name:s.uuid)}):i.push(a),Tg[C.path]){case Tg.weights:t=d.NumberKeyframeTrack;break;case Tg.rotation:t=d.QuaternionKeyframeTrack;break;case Tg.translation:case Tg.scale:t=d.VectorKeyframeTrack;break;default:I.itemSize===1?t=d.NumberKeyframeTrack:t=d.VectorKeyframeTrack}const e=Q.interpolation!==void 0?ce[Q.interpolation]:d.InterpolateLinear,o=this._getArrayFromAccessor(I);for(let s=0,n=i.length;s<n;s++){const r=new t(i[s]+"."+Tg[C.path],g.array,o,e);Q.interpolation==="CUBICSPLINE"&&this._createCubicSplineTrackInterpolant(r),E.push(r)}return E}_getArrayFromAccessor(A){let g=A.array;if(A.normalized){const I=sQ(g.constructor),Q=new Float32Array(g.length);for(let C=0,E=g.length;C<E;C++)Q[C]=g[C]*I;g=Q}return g}_createCubicSplineTrackInterpolant(A){A.createInterpolant=function(g){return new(this instanceof d.QuaternionKeyframeTrack?re:AE)(this.times,this.values,this.getValueSize()/3,g)},A.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function VQ(B,A,g){const I=A.attributes,Q=[];function C(E,a){return g.getDependency("accessor",E).then(function(i){B.setAttribute(a,i)})}for(const E in I){const a=nQ[E]||E.toLowerCase();a in B.attributes||Q.push(C(I[E],a))}if(A.indices!==void 0&&!B.index){const E=g.getDependency("accessor",A.indices).then(function(a){B.setIndex(a)});Q.push(E)}return d.ColorManagement.workingColorSpace!==d.LinearSRGBColorSpace&&"COLOR_0"in I&&console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${d.ColorManagement.workingColorSpace}" not supported.`),Mg(B,A),function(E,a,i){const t=a.attributes,e=new d.Box3;if(t.POSITION===void 0)return;{const n=i.json.accessors[t.POSITION],r=n.min,c=n.max;if(r===void 0||c===void 0)return void console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");if(e.set(new d.Vector3(r[0],r[1],r[2]),new d.Vector3(c[0],c[1],c[2])),n.normalized){const D=sQ(MI[n.componentType]);e.min.multiplyScalar(D),e.max.multiplyScalar(D)}}const o=a.targets;if(o!==void 0){const n=new d.Vector3,r=new d.Vector3;for(let c=0,D=o.length;c<D;c++){const b=o[c];if(b.POSITION!==void 0){const h=i.json.accessors[b.POSITION],w=h.min,f=h.max;if(w!==void 0&&f!==void 0){if(r.setX(Math.max(Math.abs(w[0]),Math.abs(f[0]))),r.setY(Math.max(Math.abs(w[1]),Math.abs(f[1]))),r.setZ(Math.max(Math.abs(w[2]),Math.abs(f[2]))),h.normalized){const p=sQ(MI[h.componentType]);r.multiplyScalar(p)}n.max(r)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}e.expandByVector(n)}E.boundingBox=e;const s=new d.Sphere;e.getCenter(s.center),s.radius=e.min.distanceTo(e.max)/2,E.boundingSphere=s}(B,A,g),Promise.all(Q).then(function(){return A.targets!==void 0?function(E,a,i){let t=!1,e=!1,o=!1;for(let c=0,D=a.length;c<D;c++){const b=a[c];if(b.POSITION!==void 0&&(t=!0),b.NORMAL!==void 0&&(e=!0),b.COLOR_0!==void 0&&(o=!0),t&&e&&o)break}if(!t&&!e&&!o)return Promise.resolve(E);const s=[],n=[],r=[];for(let c=0,D=a.length;c<D;c++){const b=a[c];if(t){const h=b.POSITION!==void 0?i.getDependency("accessor",b.POSITION):E.attributes.position;s.push(h)}if(e){const h=b.NORMAL!==void 0?i.getDependency("accessor",b.NORMAL):E.attributes.normal;n.push(h)}if(o){const h=b.COLOR_0!==void 0?i.getDependency("accessor",b.COLOR_0):E.attributes.color;r.push(h)}}return Promise.all([Promise.all(s),Promise.all(n),Promise.all(r)]).then(function(c){const D=c[0],b=c[1],h=c[2];return t&&(E.morphAttributes.position=D),e&&(E.morphAttributes.normal=b),o&&(E.morphAttributes.color=h),E.morphTargetsRelative=!0,E})}(B,A.targets,g):B})}const OB=new WeakMap;class gE extends d.Loader{constructor(A){super(A),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(A){return this.decoderPath=A,this}setDecoderConfig(A){return this.decoderConfig=A,this}setWorkerLimit(A){return this.workerLimit=A,this}load(A,g,I,Q){const C=new d.FileLoader(this.manager);C.setPath(this.path),C.setResponseType("arraybuffer"),C.setRequestHeader(this.requestHeader),C.setWithCredentials(this.withCredentials),C.load(A,E=>{this.parse(E,g,Q)},I,Q)}parse(A,g,I=()=>{}){this.decodeDracoFile(A,g,null,null,d.SRGBColorSpace,I).catch(I)}decodeDracoFile(A,g,I,Q,C=d.LinearSRGBColorSpace,E=()=>{}){const a={attributeIDs:I||this.defaultAttributeIDs,attributeTypes:Q||this.defaultAttributeTypes,useUniqueIDs:!!I,vertexColorSpace:C};return this.decodeGeometry(A,a).then(g).catch(E)}decodeGeometry(A,g){const I=JSON.stringify(g);if(OB.has(A)){const i=OB.get(A);if(i.key===I)return i.promise;if(A.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let Q;const C=this.workerNextTaskID++,E=A.byteLength,a=this._getWorker(C,E).then(i=>(Q=i,new Promise((t,e)=>{Q._callbacks[C]={resolve:t,reject:e},Q.postMessage({type:"decode",id:C,taskConfig:g,buffer:A},[A])}))).then(i=>this._createGeometry(i.geometry));return a.catch(()=>!0).then(()=>{Q&&C&&this._releaseTask(Q,C)}),OB.set(A,{key:I,promise:a}),a}_createGeometry(A){const g=new d.BufferGeometry;A.index&&g.setIndex(new d.BufferAttribute(A.index.array,1));for(let I=0;I<A.attributes.length;I++){const Q=A.attributes[I],C=Q.name,E=Q.array,a=Q.itemSize,i=new d.BufferAttribute(E,a);C==="color"&&(this._assignVertexColorSpace(i,Q.vertexColorSpace),i.normalized=!(E instanceof Float32Array)),g.setAttribute(C,i)}return g}_assignVertexColorSpace(A,g){if(g!==d.SRGBColorSpace)return;const I=new d.Color;for(let Q=0,C=A.count;Q<C;Q++)I.fromBufferAttribute(A,Q),d.ColorManagement.colorSpaceToWorking(I,d.SRGBColorSpace),A.setXYZ(Q,I.r,I.g,I.b)}_loadLibrary(A,g){const I=new d.FileLoader(this.manager);return I.setPath(this.decoderPath),I.setResponseType(g),I.setWithCredentials(this.withCredentials),new Promise((Q,C)=>{I.load(A,Q,void 0,C)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const A=typeof WebAssembly!="object"||this.decoderConfig.type==="js",g=[];return A?g.push(this._loadLibrary("draco_decoder.js","text")):(g.push(this._loadLibrary("draco_wasm_wrapper.js","text")),g.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(g).then(I=>{const Q=I[0];A||(this.decoderConfig.wasmBinary=I[1]);const C=fe.toString(),E=["/* draco decoder */",Q,"","/* worker */",C.substring(C.indexOf("{")+1,C.lastIndexOf("}"))].join(`
950
- `);this.workerSourceURL=URL.createObjectURL(new Blob([E]))}),this.decoderPending}_getWorker(A,g){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){const Q=new Worker(this.workerSourceURL);Q._callbacks={},Q._taskCosts={},Q._taskLoad=0,Q.postMessage({type:"init",decoderConfig:this.decoderConfig}),Q.onmessage=function(C){const E=C.data;switch(E.type){case"decode":Q._callbacks[E.id].resolve(E);break;case"error":Q._callbacks[E.id].reject(E);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+E.type+'"')}},this.workerPool.push(Q)}else this.workerPool.sort(function(Q,C){return Q._taskLoad>C._taskLoad?-1:1});const I=this.workerPool[this.workerPool.length-1];return I._taskCosts[A]=g,I._taskLoad+=g,I})}_releaseTask(A,g){A._taskLoad-=A._taskCosts[g],delete A._callbacks[g],delete A._taskCosts[g]}debug(){console.log("Task load: ",this.workerPool.map(A=>A._taskLoad))}dispose(){for(let A=0;A<this.workerPool.length;++A)this.workerPool[A].terminate();return this.workerPool.length=0,this.workerSourceURL!==""&&URL.revokeObjectURL(this.workerSourceURL),this}}function fe(){let B,A;function g(I,Q,C,E,a,i){const t=i.num_components(),e=C.num_points()*t,o=e*a.BYTES_PER_ELEMENT,s=function(c,D){switch(D){case Float32Array:return c.DT_FLOAT32;case Int8Array:return c.DT_INT8;case Int16Array:return c.DT_INT16;case Int32Array:return c.DT_INT32;case Uint8Array:return c.DT_UINT8;case Uint16Array:return c.DT_UINT16;case Uint32Array:return c.DT_UINT32}}(I,a),n=I._malloc(o);Q.GetAttributeDataArrayForAllPoints(C,i,s,o,n);const r=new a(I.HEAPF32.buffer,n,e).slice();return I._free(n),{name:E,array:r,itemSize:t}}onmessage=function(I){const Q=I.data;switch(Q.type){case"init":B=Q.decoderConfig,A=new Promise(function(a){B.onModuleLoaded=function(i){a({draco:i})},DracoDecoderModule(B)});break;case"decode":const C=Q.buffer,E=Q.taskConfig;A.then(a=>{const i=a.draco,t=new i.Decoder;try{const e=function(s,n,r,c){const D=c.attributeIDs,b=c.attributeTypes;let h,w;const f=n.GetEncodedGeometryType(r);if(f===s.TRIANGULAR_MESH)h=new s.Mesh,w=n.DecodeArrayToMesh(r,r.byteLength,h);else{if(f!==s.POINT_CLOUD)throw new Error("THREE.DRACOLoader: Unexpected geometry type.");h=new s.PointCloud,w=n.DecodeArrayToPointCloud(r,r.byteLength,h)}if(!w.ok()||h.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+w.error_msg());const p={index:null,attributes:[]};for(const R in D){const m=self[b[R]];let G,k;if(c.useUniqueIDs)k=D[R],G=n.GetAttributeByUniqueId(h,k);else{if(k=n.GetAttributeId(h,s[D[R]]),k===-1)continue;G=n.GetAttribute(h,k)}const U=g(s,n,h,R,m,G);R==="color"&&(U.vertexColorSpace=c.vertexColorSpace),p.attributes.push(U)}return f===s.TRIANGULAR_MESH&&(p.index=function(R,m,G){const k=G.num_faces(),U=3*k,S=4*U,j=R._malloc(S);m.GetTrianglesUInt32Array(G,S,j);const z=new Uint32Array(R.HEAPF32.buffer,j,U).slice();return R._free(j),{array:z,itemSize:1}}(s,n,h)),s.destroy(h),p}(i,t,new Int8Array(C),E),o=e.attributes.map(s=>s.array.buffer);e.index&&o.push(e.index.array.buffer),self.postMessage({type:"decode",id:Q.id,geometry:e},o)}catch(e){console.error(e),self.postMessage({type:"error",id:Q.id,error:e.message})}finally{i.destroy(t)}})}}}class Fe{constructor(A=4){this.pool=A,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0,this.workerCreator=null}_initWorker(A){if(!this.workers[A]){const g=this.workerCreator();g.addEventListener("message",this._onMessage.bind(this,A)),this.workers[A]=g}}_getIdleWorker(){for(let A=0;A<this.pool;A++)if(!(this.workerStatus&1<<A))return A;return-1}_onMessage(A,g){const I=this.workersResolve[A];if(I&&I(g),this.queue.length){const{resolve:Q,msg:C,transfer:E}=this.queue.shift();this.workersResolve[A]=Q,this.workers[A].postMessage(C,E)}else this.workerStatus^=1<<A}setWorkerCreator(A){this.workerCreator=A}setWorkerLimit(A){this.pool=A}postMessage(A,g){return new Promise(I=>{const Q=this._getIdleWorker();Q!==-1?(this._initWorker(Q),this.workerStatus|=1<<Q,this.workersResolve[Q]=I,this.workers[Q].postMessage(A,g)):this.queue.push({resolve:I,msg:A,transfer:g})})}dispose(){this.workers.forEach(A=>A.terminate()),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}const IE=9,BE=15,QE=16,CE=22,EE=37,aE=43,eE=76,iE=83,tE=97,oE=100,nE=103,sE=109,rE=122,cE=123,hE=131,DE=132,dE=133,bE=134,wE=137,uE=138,lE=139,fE=140,FE=141,yE=142,ME=145,GE=146,RE=148,pE=152,NE=157,kE=158,mE=165,SE=166,UE=1000054e3,LE=1000054001,JE=1000054004,YE=1000054005,MQ=1000066e3,xE=1000066004;class KI{constructor(A,g,I,Q){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(A.buffer,A.byteOffset+g,I),this._littleEndian=Q,this._offset=0}_nextUint8(){const A=this._dataView.getUint8(this._offset);return this._offset+=1,A}_nextUint16(){const A=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,A}_nextUint32(){const A=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,A}_nextUint64(){const A=this._dataView.getUint32(this._offset,this._littleEndian)+4294967296*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,A}_nextInt32(){const A=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,A}_nextUint8Array(A){const g=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,A);return this._offset+=A,g}_skip(A){return this._offset+=A,this}_scan(A,g=0){const I=this._offset;let Q=0;for(;this._dataView.getUint8(this._offset)!==g&&Q<A;)Q++,this._offset++;return Q<A&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+I,Q)}}const Bg=[171,75,84,88,32,50,48,187,13,10,26,10];function zQ(B){return new TextDecoder().decode(B)}let WB,Lg,rQ;const PB={env:{emscripten_notify_memory_growth:function(B){rQ=new Uint8Array(Lg.exports.memory.buffer)}}};class ye{init(){return WB||(WB=typeof fetch<"u"?fetch("data:application/wasm;base64,"+XQ).then(A=>A.arrayBuffer()).then(A=>WebAssembly.instantiate(A,PB)).then(this._init):WebAssembly.instantiate(Buffer.from(XQ,"base64"),PB).then(this._init),WB)}_init(A){Lg=A.instance,PB.env.emscripten_notify_memory_growth(0)}decode(A,g=0){if(!Lg)throw new Error("ZSTDDecoder: Await .init() before decoding.");const I=A.byteLength,Q=Lg.exports.malloc(I);rQ.set(A,Q),g=g||Number(Lg.exports.ZSTD_findDecompressedSize(Q,I));const C=Lg.exports.malloc(g),E=Lg.exports.ZSTD_decompress(C,g,Q,I),a=rQ.slice(C,C+E);return Lg.exports.free(Q),Lg.exports.free(C),a}}const XQ="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEEdCAAbiECCyAAQQh2IgEgAkEYbCIAQYwIaigCAGwgAEGICGooAgBqIgJBA3YgAmogAEGACGooAgAgAEGECGooAgAgAWxqSQs3ACAAIAMgBCAFQYAQEDMiBRADBEAgBQ8LIAUgBEkEfyABIAIgAyAFaiAEIAVrIAAQMgVBuH8LC78DAQN/IwBBIGsiBSQAIAVBCGogAiADEAYiAhADRQRAIAAgAWoiB0F9aiEGIAUgBBAOIARBBGohAiAFLQACIQMDQEEAIAAgBkkgBUEIahAEGwRAIAAgAiAFQQhqIAMQAkECdGoiBC8BADsAACAFQQhqIAQtAAIQASAAIAQtAANqIgQgAiAFQQhqIAMQAkECdGoiAC8BADsAACAFQQhqIAAtAAIQASAEIAAtAANqIQAMAQUgB0F+aiEEA0AgBUEIahAEIAAgBEtyRQRAIAAgAiAFQQhqIAMQAkECdGoiBi8BADsAACAFQQhqIAYtAAIQASAAIAYtAANqIQAMAQsLA0AgACAES0UEQCAAIAIgBUEIaiADEAJBAnRqIgYvAQA7AAAgBUEIaiAGLQACEAEgACAGLQADaiEADAELCwJAIAAgB08NACAAIAIgBUEIaiADEAIiA0ECdGoiAC0AADoAACAALQADQQFGBEAgBUEIaiAALQACEAEMAQsgBSgCDEEfSw0AIAVBCGogAiADQQJ0ai0AAhABIAUoAgxBIUkNACAFQSA2AgwLIAFBbCAFQQhqEAobIQILCwsgBUEgaiQAIAILkgIBBH8jAEFAaiIJJAAgCSADQTQQCyEDAkAgBEECSA0AIAMgBEECdGooAgAhCSADQTxqIAgQIyADQQE6AD8gAyACOgA+QQAhBCADKAI8IQoDQCAEIAlGDQEgACAEQQJ0aiAKNgEAIARBAWohBAwAAAsAC0EAIQkDQCAGIAlGRQRAIAMgBSAJQQF0aiIKLQABIgtBAnRqIgwoAgAhBCADQTxqIAotAABBCHQgCGpB//8DcRAjIANBAjoAPyADIAcgC2siCiACajoAPiAEQQEgASAKa3RqIQogAygCPCELA0AgACAEQQJ0aiALNgEAIARBAWoiBCAKSQ0ACyAMIAo2AgAgCUEBaiEJDAELCyADQUBrJAALowIBCX8jAEHQAGsiCSQAIAlBEGogBUE0EAsaIAcgBmshDyAHIAFrIRADQAJAIAMgCkcEQEEBIAEgByACIApBAXRqIgYtAAEiDGsiCGsiC3QhDSAGLQAAIQ4gCUEQaiAMQQJ0aiIMKAIAIQYgCyAPTwRAIAAgBkECdGogCyAIIAUgCEE0bGogCCAQaiIIQQEgCEEBShsiCCACIAQgCEECdGooAgAiCEEBdGogAyAIayAHIA4QYyAGIA1qIQgMAgsgCUEMaiAOECMgCUEBOgAPIAkgCDoADiAGIA1qIQggCSgCDCELA0AgBiAITw0CIAAgBkECdGogCzYBACAGQQFqIQYMAAALAAsgCUHQAGokAA8LIAwgCDYCACAKQQFqIQoMAAALAAs0ACAAIAMgBCAFEDYiBRADBEAgBQ8LIAUgBEkEfyABIAIgAyAFaiAEIAVrIAAQNAVBuH8LCyMAIAA/AEEQdGtB//8DakEQdkAAQX9GBEBBAA8LQQAQAEEBCzsBAX8gAgRAA0AgACABIAJBgCAgAkGAIEkbIgMQCyEAIAFBgCBqIQEgAEGAIGohACACIANrIgINAAsLCwYAIAAQAwsLqBUJAEGICAsNAQAAAAEAAAACAAAAAgBBoAgLswYBAAAAAQAAAAIAAAACAAAAJgAAAIIAAAAhBQAASgAAAGcIAAAmAAAAwAEAAIAAAABJBQAASgAAAL4IAAApAAAALAIAAIAAAABJBQAASgAAAL4IAAAvAAAAygIAAIAAAACKBQAASgAAAIQJAAA1AAAAcwMAAIAAAACdBQAASgAAAKAJAAA9AAAAgQMAAIAAAADrBQAASwAAAD4KAABEAAAAngMAAIAAAABNBgAASwAAAKoKAABLAAAAswMAAIAAAADBBgAATQAAAB8NAABNAAAAUwQAAIAAAAAjCAAAUQAAAKYPAABUAAAAmQQAAIAAAABLCQAAVwAAALESAABYAAAA2gQAAIAAAABvCQAAXQAAACMUAABUAAAARQUAAIAAAABUCgAAagAAAIwUAABqAAAArwUAAIAAAAB2CQAAfAAAAE4QAAB8AAAA0gIAAIAAAABjBwAAkQAAAJAHAACSAAAAAAAAAAEAAAABAAAABQAAAA0AAAAdAAAAPQAAAH0AAAD9AAAA/QEAAP0DAAD9BwAA/Q8AAP0fAAD9PwAA/X8AAP3/AAD9/wEA/f8DAP3/BwD9/w8A/f8fAP3/PwD9/38A/f//AP3//wH9//8D/f//B/3//w/9//8f/f//P/3//38AAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACUAAAAnAAAAKQAAACsAAAAvAAAAMwAAADsAAABDAAAAUwAAAGMAAACDAAAAAwEAAAMCAAADBAAAAwgAAAMQAAADIAAAA0AAAAOAAAADAAEAQeAPC1EBAAAAAQAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAQcQQC4sBAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABIAAAAUAAAAFgAAABgAAAAcAAAAIAAAACgAAAAwAAAAQAAAAIAAAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQBBkBIL5gQBAAAAAQAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAAAEAAAAEAAAACAAAAAAAAAABAAEBBgAAAAAAAAQAAAAAEAAABAAAAAAgAAAFAQAAAAAAAAUDAAAAAAAABQQAAAAAAAAFBgAAAAAAAAUHAAAAAAAABQkAAAAAAAAFCgAAAAAAAAUMAAAAAAAABg4AAAAAAAEFEAAAAAAAAQUUAAAAAAABBRYAAAAAAAIFHAAAAAAAAwUgAAAAAAAEBTAAAAAgAAYFQAAAAAAABwWAAAAAAAAIBgABAAAAAAoGAAQAAAAADAYAEAAAIAAABAAAAAAAAAAEAQAAAAAAAAUCAAAAIAAABQQAAAAAAAAFBQAAACAAAAUHAAAAAAAABQgAAAAgAAAFCgAAAAAAAAULAAAAAAAABg0AAAAgAAEFEAAAAAAAAQUSAAAAIAABBRYAAAAAAAIFGAAAACAAAwUgAAAAAAADBSgAAAAAAAYEQAAAABAABgRAAAAAIAAHBYAAAAAAAAkGAAIAAAAACwYACAAAMAAABAAAAAAQAAAEAQAAACAAAAUCAAAAIAAABQMAAAAgAAAFBQAAACAAAAUGAAAAIAAABQgAAAAgAAAFCQAAACAAAAULAAAAIAAABQwAAAAAAAAGDwAAACAAAQUSAAAAIAABBRQAAAAgAAIFGAAAACAAAgUcAAAAIAADBSgAAAAgAAQFMAAAAAAAEAYAAAEAAAAPBgCAAAAAAA4GAEAAAAAADQYAIABBgBcLhwIBAAEBBQAAAAAAAAUAAAAAAAAGBD0AAAAAAAkF/QEAAAAADwX9fwAAAAAVBf3/HwAAAAMFBQAAAAAABwR9AAAAAAAMBf0PAAAAABIF/f8DAAAAFwX9/38AAAAFBR0AAAAAAAgE/QAAAAAADgX9PwAAAAAUBf3/DwAAAAIFAQAAABAABwR9AAAAAAALBf0HAAAAABEF/f8BAAAAFgX9/z8AAAAEBQ0AAAAQAAgE/QAAAAAADQX9HwAAAAATBf3/BwAAAAEFAQAAABAABgQ9AAAAAAAKBf0DAAAAABAF/f8AAAAAHAX9//8PAAAbBf3//wcAABoF/f//AwAAGQX9//8BAAAYBf3//wBBkBkLhgQBAAEBBgAAAAAAAAYDAAAAAAAABAQAAAAgAAAFBQAAAAAAAAUGAAAAAAAABQgAAAAAAAAFCQAAAAAAAAULAAAAAAAABg0AAAAAAAAGEAAAAAAAAAYTAAAAAAAABhYAAAAAAAAGGQAAAAAAAAYcAAAAAAAABh8AAAAAAAAGIgAAAAAAAQYlAAAAAAABBikAAAAAAAIGLwAAAAAAAwY7AAAAAAAEBlMAAAAAAAcGgwAAAAAACQYDAgAAEAAABAQAAAAAAAAEBQAAACAAAAUGAAAAAAAABQcAAAAgAAAFCQAAAAAAAAUKAAAAAAAABgwAAAAAAAAGDwAAAAAAAAYSAAAAAAAABhUAAAAAAAAGGAAAAAAAAAYbAAAAAAAABh4AAAAAAAAGIQAAAAAAAQYjAAAAAAABBicAAAAAAAIGKwAAAAAAAwYzAAAAAAAEBkMAAAAAAAUGYwAAAAAACAYDAQAAIAAABAQAAAAwAAAEBAAAABAAAAQFAAAAIAAABQcAAAAgAAAFCAAAACAAAAUKAAAAIAAABQsAAAAAAAAGDgAAAAAAAAYRAAAAAAAABhQAAAAAAAAGFwAAAAAAAAYaAAAAAAAABh0AAAAAAAAGIAAAAAAAEAYDAAEAAAAPBgOAAAAAAA4GA0AAAAAADQYDIAAAAAAMBgMQAAAAAAsGAwgAAAAACgYDBABBpB0L2QEBAAAAAwAAAAcAAAAPAAAAHwAAAD8AAAB/AAAA/wAAAP8BAAD/AwAA/wcAAP8PAAD/HwAA/z8AAP9/AAD//wAA//8BAP//AwD//wcA//8PAP//HwD//z8A//9/AP///wD///8B////A////wf///8P////H////z////9/AAAAAAEAAAACAAAABAAAAAAAAAACAAAABAAAAAgAAAAAAAAAAQAAAAIAAAABAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAcAAAAIAAAACQAAAAoAAAALAEGgIAsDwBBQ";d.ColorManagement.spaces[d.SRGBColorSpace];const VB=new WeakMap;let zB,XB=0;class hg extends d.Loader{constructor(A){super(A),this.transcoderPath="",this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new Fe,this.workerSourceURL="",this.workerConfig=null,typeof MSC_TRANSCODER<"u"&&console.warn('THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.')}setTranscoderPath(A){return this.transcoderPath=A,this}setWorkerLimit(A){return this.workerPool.setWorkerLimit(A),this}async detectSupportAsync(A){return this.workerConfig={astcSupported:await A.hasFeatureAsync("texture-compression-astc"),astcHDRSupported:!1,etc1Supported:await A.hasFeatureAsync("texture-compression-etc2"),etc2Supported:await A.hasFeatureAsync("texture-compression-etc2"),dxtSupported:await A.hasFeatureAsync("texture-compression-bc"),bptcSupported:await A.hasFeatureAsync("texture-compression-bc"),pvrtcSupported:await A.hasFeatureAsync("texture-compression-pvrtc")},this}detectSupport(A){return A.isWebGPURenderer===!0?this.workerConfig={astcSupported:A.hasFeature("texture-compression-astc"),astcHDRSupported:!1,etc1Supported:A.hasFeature("texture-compression-etc2"),etc2Supported:A.hasFeature("texture-compression-etc2"),dxtSupported:A.hasFeature("texture-compression-bc"),bptcSupported:A.hasFeature("texture-compression-bc"),pvrtcSupported:A.hasFeature("texture-compression-pvrtc")}:this.workerConfig={astcSupported:A.extensions.has("WEBGL_compressed_texture_astc"),astcHDRSupported:A.extensions.has("WEBGL_compressed_texture_astc")&&A.extensions.get("WEBGL_compressed_texture_astc").getSupportedProfiles().includes("hdr"),etc1Supported:A.extensions.has("WEBGL_compressed_texture_etc1"),etc2Supported:A.extensions.has("WEBGL_compressed_texture_etc"),dxtSupported:A.extensions.has("WEBGL_compressed_texture_s3tc"),bptcSupported:A.extensions.has("EXT_texture_compression_bptc"),pvrtcSupported:A.extensions.has("WEBGL_compressed_texture_pvrtc")||A.extensions.has("WEBKIT_WEBGL_compressed_texture_pvrtc")},this}init(){if(!this.transcoderPending){const A=new d.FileLoader(this.manager);A.setPath(this.transcoderPath),A.setWithCredentials(this.withCredentials);const g=A.loadAsync("basis_transcoder.js"),I=new d.FileLoader(this.manager);I.setPath(this.transcoderPath),I.setResponseType("arraybuffer"),I.setWithCredentials(this.withCredentials);const Q=I.loadAsync("basis_transcoder.wasm");this.transcoderPending=Promise.all([g,Q]).then(([C,E])=>{const a=hg.BasisWorker.toString(),i=["/* constants */","let _EngineFormat = "+JSON.stringify(hg.EngineFormat),"let _EngineType = "+JSON.stringify(hg.EngineType),"let _TranscoderFormat = "+JSON.stringify(hg.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(hg.BasisFormat),"/* basis_transcoder.js */",C,"/* worker */",a.substring(a.indexOf("{")+1,a.lastIndexOf("}"))].join(`
951
- `);this.workerSourceURL=URL.createObjectURL(new Blob([i])),this.transcoderBinary=E,this.workerPool.setWorkerCreator(()=>{const t=new Worker(this.workerSourceURL),e=this.transcoderBinary.slice(0);return t.postMessage({type:"init",config:this.workerConfig,transcoderBinary:e},[e]),t})}),XB>0&&console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."),XB++}return this.transcoderPending}load(A,g,I,Q){if(this.workerConfig===null)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");const C=new d.FileLoader(this.manager);C.setPath(this.path),C.setCrossOrigin(this.crossOrigin),C.setWithCredentials(this.withCredentials),C.setResponseType("arraybuffer"),C.load(A,E=>{this.parse(E,g,Q)},I,Q)}parse(A,g,I){if(this.workerConfig===null)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");if(VB.has(A))return VB.get(A).promise.then(g).catch(I);this._createTexture(A).then(Q=>g?g(Q):null).catch(I)}_createTextureFrom(A,g){const{type:I,error:Q,data:{faces:C,width:E,height:a,format:i,type:t,dfdFlags:e}}=A;if(I==="error")return Promise.reject(Q);let o;if(g.faceCount===6)o=new d.CompressedCubeTexture(C,i,t);else{const s=C[0].mipmaps;o=g.layerCount>1?new d.CompressedArrayTexture(s,E,a,g.layerCount,i,t):new d.CompressedTexture(s,E,a,i,t)}return o.minFilter=C[0].mipmaps.length===1?d.LinearFilter:d.LinearMipmapLinearFilter,o.magFilter=d.LinearFilter,o.generateMipmaps=!1,o.needsUpdate=!0,o.colorSpace=ZQ(g),o.premultiplyAlpha=!!(1&e),o}async _createTexture(A,g={}){const I=function(a){const i=new Uint8Array(a.buffer,a.byteOffset,Bg.length);if(i[0]!==Bg[0]||i[1]!==Bg[1]||i[2]!==Bg[2]||i[3]!==Bg[3]||i[4]!==Bg[4]||i[5]!==Bg[5]||i[6]!==Bg[6]||i[7]!==Bg[7]||i[8]!==Bg[8]||i[9]!==Bg[9]||i[10]!==Bg[10]||i[11]!==Bg[11])throw new Error("Missing KTX 2.0 identifier.");const t={vkFormat:0,typeSize:1,pixelWidth:0,pixelHeight:0,pixelDepth:0,layerCount:0,faceCount:1,levelCount:0,supercompressionScheme:0,levels:[],dataFormatDescriptor:[{vendorId:0,descriptorType:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],keyValue:{},globalData:null},e=17*Uint32Array.BYTES_PER_ELEMENT,o=new KI(a,Bg.length,e,!0);t.vkFormat=o._nextUint32(),t.typeSize=o._nextUint32(),t.pixelWidth=o._nextUint32(),t.pixelHeight=o._nextUint32(),t.pixelDepth=o._nextUint32(),t.layerCount=o._nextUint32(),t.faceCount=o._nextUint32(),t.levelCount=o._nextUint32(),t.supercompressionScheme=o._nextUint32();const s=o._nextUint32(),n=o._nextUint32(),r=o._nextUint32(),c=o._nextUint32(),D=o._nextUint64(),b=o._nextUint64(),h=3*Math.max(t.levelCount,1)*8,w=new KI(a,Bg.length+e,h,!0);for(let oA=0,cA=Math.max(t.levelCount,1);oA<cA;oA++)t.levels.push({levelData:new Uint8Array(a.buffer,a.byteOffset+w._nextUint64(),w._nextUint64()),uncompressedByteLength:w._nextUint64()});const f=new KI(a,s,n,!0);f._skip(4);const p=f._nextUint16(),R=f._nextUint16(),m=f._nextUint16(),G=f._nextUint16(),k={vendorId:p,descriptorType:R,versionNumber:m,colorModel:f._nextUint8(),colorPrimaries:f._nextUint8(),transferFunction:f._nextUint8(),flags:f._nextUint8(),texelBlockDimension:[f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8()],bytesPlane:[f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8()],samples:[]},U=(G/4-6)/4;for(let oA=0;oA<U;oA++){const cA={bitOffset:f._nextUint16(),bitLength:f._nextUint8(),channelType:f._nextUint8(),samplePosition:[f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8()],sampleLower:Number.NEGATIVE_INFINITY,sampleUpper:Number.POSITIVE_INFINITY};64&cA.channelType?(cA.sampleLower=f._nextInt32(),cA.sampleUpper=f._nextInt32()):(cA.sampleLower=f._nextUint32(),cA.sampleUpper=f._nextUint32()),k.samples[oA]=cA}t.dataFormatDescriptor.length=0,t.dataFormatDescriptor.push(k);const S=new KI(a,r,c,!0);for(;S._offset<c;){const oA=S._nextUint32(),cA=S._scan(oA),LA=zQ(cA);if(t.keyValue[LA]=S._nextUint8Array(oA-cA.byteLength-1),LA.match(/^ktx/i)){const KA=zQ(t.keyValue[LA]);t.keyValue[LA]=KA.substring(0,KA.lastIndexOf("\0"))}S._skip(oA%4?4-oA%4:0)}if(b<=0)return t;const j=new KI(a,D,b,!0),z=j._nextUint16(),gA=j._nextUint16(),$=j._nextUint32(),X=j._nextUint32(),aA=j._nextUint32(),wA=j._nextUint32(),sA=[];for(let oA=0,cA=Math.max(t.levelCount,1);oA<cA;oA++)sA.push({imageFlags:j._nextUint32(),rgbSliceByteOffset:j._nextUint32(),rgbSliceByteLength:j._nextUint32(),alphaSliceByteOffset:j._nextUint32(),alphaSliceByteLength:j._nextUint32()});const fA=D+j._offset,uA=fA+$,iA=uA+X,GA=iA+aA,eA=new Uint8Array(a.buffer,a.byteOffset+fA,$),rA=new Uint8Array(a.buffer,a.byteOffset+uA,X),FA=new Uint8Array(a.buffer,a.byteOffset+iA,aA),RA=new Uint8Array(a.buffer,a.byteOffset+GA,wA);return t.globalData={endpointCount:z,selectorCount:gA,imageDescs:sA,endpointsData:eA,selectorsData:rA,tablesData:FA,extendedData:RA},t}(new Uint8Array(A)),Q=I.vkFormat===MQ&&I.dataFormatDescriptor[0].colorModel===167;if(!(I.vkFormat===0||Q&&!this.workerConfig.astcHDRSupported))return async function(a){const{vkFormat:i}=a;if(ZB[i]===void 0)throw new Error("THREE.KTX2Loader: Unsupported vkFormat: "+i);DI[i]===void 0&&console.warn('THREE.KTX2Loader: Missing ".type" for vkFormat: '+i);let t;a.supercompressionScheme===2&&(zB||(zB=new Promise(async n=>{const r=new ye;await r.init(),n(r)})),t=await zB);const e=[];for(let n=0;n<a.levels.length;n++){const r=Math.max(1,a.pixelWidth>>n),c=Math.max(1,a.pixelHeight>>n),D=a.pixelDepth?Math.max(1,a.pixelDepth>>n):0,b=a.levels[n];let h,w;if(a.supercompressionScheme===0)h=b.levelData;else{if(a.supercompressionScheme!==2)throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");h=t.decode(b.levelData,b.uncompressedByteLength)}w=DI[i]===d.FloatType?new Float32Array(h.buffer,h.byteOffset,h.byteLength/Float32Array.BYTES_PER_ELEMENT):DI[i]===d.HalfFloatType?new Uint16Array(h.buffer,h.byteOffset,h.byteLength/Uint16Array.BYTES_PER_ELEMENT):DI[i]===d.UnsignedInt5999Type||DI[i]===d.UnsignedInt101111Type?new Uint32Array(h.buffer,h.byteOffset,h.byteLength/Uint32Array.BYTES_PER_ELEMENT):h,e.push({data:w,width:r,height:c,depth:D})}const o=a.levelCount===0||e.length>1;let s;if(Me.has(ZB[i]))s=a.pixelDepth===0?new d.DataTexture(e[0].data,a.pixelWidth,a.pixelHeight):new d.Data3DTexture(e[0].data,a.pixelWidth,a.pixelHeight,a.pixelDepth),s.minFilter=o?d.NearestMipmapNearestFilter:d.NearestFilter,s.magFilter=d.NearestFilter,s.generateMipmaps=a.levelCount===0;else{if(a.pixelDepth>0)throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");s=new d.CompressedTexture(e,a.pixelWidth,a.pixelHeight),s.minFilter=o?d.LinearMipmapLinearFilter:d.LinearFilter,s.magFilter=d.LinearFilter}return s.mipmaps=e,s.type=DI[i],s.format=ZB[i],s.colorSpace=ZQ(a),s.needsUpdate=!0,Promise.resolve(s)}(I);const C=g,E=this.init().then(()=>this.workerPool.postMessage({type:"transcode",buffer:A,taskConfig:C},[A])).then(a=>this._createTextureFrom(a.data,I));return VB.set(A,{promise:E}),E}dispose(){this.workerPool.dispose(),this.workerSourceURL&&URL.revokeObjectURL(this.workerSourceURL),XB--}}hg.BasisFormat={ETC1S:0,UASTC:1,UASTC_HDR:2},hg.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16,BC6H:22,RGB_HALF:24,RGBA_HALF:25},hg.EngineFormat={RGBAFormat:d.RGBAFormat,RGBA_ASTC_4x4_Format:d.RGBA_ASTC_4x4_Format,RGB_BPTC_UNSIGNED_Format:d.RGB_BPTC_UNSIGNED_Format,RGBA_BPTC_Format:d.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:d.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:d.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:d.RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:d.RGB_ETC1_Format,RGB_ETC2_Format:d.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:d.RGB_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT1_Format:d.RGBA_S3TC_DXT1_Format},hg.EngineType={UnsignedByteType:d.UnsignedByteType,HalfFloatType:d.HalfFloatType,FloatType:d.FloatType},hg.BasisWorker=function(){let B,A,g;const I=_EngineFormat,Q=_EngineType,C=_TranscoderFormat,E=_BasisFormat;self.addEventListener("message",function(o){const s=o.data;switch(s.type){case"init":B=s.config,n=s.transcoderBinary,A=new Promise(r=>{g={wasmBinary:n,onRuntimeInitialized:r},BASIS(g)}).then(()=>{g.initializeBasis(),g.KTX2File===void 0&&console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.")});break;case"transcode":A.then(()=>{try{const{faces:r,buffers:c,width:D,height:b,hasAlpha:h,format:w,type:f,dfdFlags:p}=function(R){const m=new g.KTX2File(new Uint8Array(R));function G(){m.close(),m.delete()}if(!m.isValid())throw G(),new Error("THREE.KTX2Loader: Invalid or unsupported .ktx2 file");let k;if(m.isUASTC())k=E.UASTC;else if(m.isETC1S())k=E.ETC1S;else{if(!m.isHDR())throw new Error("THREE.KTX2Loader: Unknown Basis encoding");k=E.UASTC_HDR}const U=m.getWidth(),S=m.getHeight(),j=m.getLayers()||1,z=m.getLevels(),gA=m.getFaces(),$=m.getHasAlpha(),X=m.getDFDFlags(),{transcoderFormat:aA,engineFormat:wA,engineType:sA}=function(iA,GA,eA,rA){const FA=i[iA];for(let RA=0;RA<FA.length;RA++){const oA=FA[RA];if(!(oA.if&&!B[oA.if])&&oA.basisFormat.includes(iA)&&!(rA&&oA.transcoderFormat.length<2)&&!(oA.needsPowerOfTwo&&(!t(GA)||!t(eA))))return{transcoderFormat:oA.transcoderFormat[rA?1:0],engineFormat:oA.engineFormat[rA?1:0],engineType:oA.engineType[0]}}throw new Error("THREE.KTX2Loader: Failed to identify transcoding target.")}(k,U,S,$);if(!U||!S||!z)throw G(),new Error("THREE.KTX2Loader: Invalid texture");if(!m.startTranscoding())throw G(),new Error("THREE.KTX2Loader: .startTranscoding failed");const fA=[],uA=[];for(let iA=0;iA<gA;iA++){const GA=[];for(let eA=0;eA<z;eA++){const rA=[];let FA,RA;for(let cA=0;cA<j;cA++){const LA=m.getImageLevelInfo(eA,cA,iA);iA!==0||eA!==0||cA!==0||LA.origWidth%4==0&&LA.origHeight%4==0||console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."),z>1?(FA=LA.origWidth,RA=LA.origHeight):(FA=LA.width,RA=LA.height);let KA=new Uint8Array(m.getImageTranscodedSizeInBytes(eA,cA,0,aA));const ig=m.transcodeImage(KA,eA,cA,iA,aA,0,-1,-1);if(sA===Q.HalfFloatType&&(KA=new Uint16Array(KA.buffer,KA.byteOffset,KA.byteLength/Uint16Array.BYTES_PER_ELEMENT)),!ig)throw G(),new Error("THREE.KTX2Loader: .transcodeImage failed.");rA.push(KA)}const oA=e(rA);GA.push({data:oA,width:FA,height:RA}),uA.push(oA.buffer)}fA.push({mipmaps:GA,width:U,height:S,format:wA,type:sA})}return G(),{faces:fA,buffers:uA,width:U,height:S,hasAlpha:$,dfdFlags:X,format:wA,type:sA}}(s.buffer);self.postMessage({type:"transcode",id:s.id,data:{faces:r,width:D,height:b,hasAlpha:h,format:w,type:f,dfdFlags:p}},c)}catch(r){console.error(r),self.postMessage({type:"error",id:s.id,error:r.message})}})}var n});const a=[{if:"astcSupported",basisFormat:[E.UASTC],transcoderFormat:[C.ASTC_4x4,C.ASTC_4x4],engineFormat:[I.RGBA_ASTC_4x4_Format,I.RGBA_ASTC_4x4_Format],engineType:[Q.UnsignedByteType],priorityETC1S:1/0,priorityUASTC:1,needsPowerOfTwo:!1},{if:"bptcSupported",basisFormat:[E.ETC1S,E.UASTC],transcoderFormat:[C.BC7_M5,C.BC7_M5],engineFormat:[I.RGBA_BPTC_Format,I.RGBA_BPTC_Format],engineType:[Q.UnsignedByteType],priorityETC1S:3,priorityUASTC:2,needsPowerOfTwo:!1},{if:"dxtSupported",basisFormat:[E.ETC1S,E.UASTC],transcoderFormat:[C.BC1,C.BC3],engineFormat:[I.RGBA_S3TC_DXT1_Format,I.RGBA_S3TC_DXT5_Format],engineType:[Q.UnsignedByteType],priorityETC1S:4,priorityUASTC:5,needsPowerOfTwo:!1},{if:"etc2Supported",basisFormat:[E.ETC1S,E.UASTC],transcoderFormat:[C.ETC1,C.ETC2],engineFormat:[I.RGB_ETC2_Format,I.RGBA_ETC2_EAC_Format],engineType:[Q.UnsignedByteType],priorityETC1S:1,priorityUASTC:3,needsPowerOfTwo:!1},{if:"etc1Supported",basisFormat:[E.ETC1S,E.UASTC],transcoderFormat:[C.ETC1],engineFormat:[I.RGB_ETC1_Format],engineType:[Q.UnsignedByteType],priorityETC1S:2,priorityUASTC:4,needsPowerOfTwo:!1},{if:"pvrtcSupported",basisFormat:[E.ETC1S,E.UASTC],transcoderFormat:[C.PVRTC1_4_RGB,C.PVRTC1_4_RGBA],engineFormat:[I.RGB_PVRTC_4BPPV1_Format,I.RGBA_PVRTC_4BPPV1_Format],engineType:[Q.UnsignedByteType],priorityETC1S:5,priorityUASTC:6,needsPowerOfTwo:!0},{if:"bptcSupported",basisFormat:[E.UASTC_HDR],transcoderFormat:[C.BC6H],engineFormat:[I.RGB_BPTC_UNSIGNED_Format],engineType:[Q.HalfFloatType],priorityHDR:1,needsPowerOfTwo:!1},{basisFormat:[E.ETC1S,E.UASTC],transcoderFormat:[C.RGBA32,C.RGBA32],engineFormat:[I.RGBAFormat,I.RGBAFormat],engineType:[Q.UnsignedByteType,Q.UnsignedByteType],priorityETC1S:100,priorityUASTC:100,needsPowerOfTwo:!1},{basisFormat:[E.UASTC_HDR],transcoderFormat:[C.RGBA_HALF],engineFormat:[I.RGBAFormat],engineType:[Q.HalfFloatType],priorityHDR:100,needsPowerOfTwo:!1}],i={[E.ETC1S]:a.filter(o=>o.basisFormat.includes(E.ETC1S)).sort((o,s)=>o.priorityUASTC-s.priorityUASTC),[E.UASTC]:a.filter(o=>o.basisFormat.includes(E.UASTC)).sort((o,s)=>o.priorityUASTC-s.priorityUASTC),[E.UASTC_HDR]:a.filter(o=>o.basisFormat.includes(E.UASTC_HDR)).sort((o,s)=>o.priorityHDR-s.priorityHDR)};function t(o){return o<=2||!(o&o-1)&&o!==0}function e(o){if(o.length===1)return o[0];let s=0;for(let c=0;c<o.length;c++)s+=o[c].byteLength;const n=new Uint8Array(s);let r=0;for(let c=0;c<o.length;c++){const D=o[c];n.set(D,r),r+=D.byteLength}return n}};const Me=new Set([d.RGBAFormat,d.RGBFormat,d.RGFormat,d.RedFormat]),ZB={[sE]:d.RGBAFormat,[nE]:d.RGFormat,[oE]:d.RedFormat,[tE]:d.RGBAFormat,[iE]:d.RGFormat,[eE]:d.RedFormat,[aE]:d.RGBAFormat,[EE]:d.RGBAFormat,[CE]:d.RGFormat,[QE]:d.RGFormat,[BE]:d.RedFormat,[IE]:d.RedFormat,[cE]:d.RGBFormat,[rE]:d.RGBFormat,[pE]:d.RGBA_ETC2_EAC_Format,[RE]:d.RGB_ETC2_Format,[MQ]:d.RGBA_ASTC_4x4_Format,[kE]:d.RGBA_ASTC_4x4_Format,[NE]:d.RGBA_ASTC_4x4_Format,[xE]:d.RGBA_ASTC_6x6_Format,[SE]:d.RGBA_ASTC_6x6_Format,[mE]:d.RGBA_ASTC_6x6_Format,[bE]:d.RGBA_S3TC_DXT1_Format,[dE]:d.RGBA_S3TC_DXT1_Format,[DE]:d.RGB_S3TC_DXT1_Format,[hE]:d.RGB_S3TC_DXT1_Format,[uE]:d.RGBA_S3TC_DXT3_Format,[wE]:d.RGBA_S3TC_DXT3_Format,[fE]:d.SIGNED_RED_RGTC1_Format,[lE]:d.RED_RGTC1_Format,[yE]:d.SIGNED_RED_GREEN_RGTC2_Format,[FE]:d.RED_GREEN_RGTC2_Format,[GE]:d.RGBA_BPTC_Format,[ME]:d.RGBA_BPTC_Format,[YE]:d.RGBA_PVRTC_4BPPV1_Format,[LE]:d.RGBA_PVRTC_4BPPV1_Format,[JE]:d.RGBA_PVRTC_2BPPV1_Format,[UE]:d.RGBA_PVRTC_2BPPV1_Format},DI={[sE]:d.FloatType,[nE]:d.FloatType,[oE]:d.FloatType,[tE]:d.HalfFloatType,[iE]:d.HalfFloatType,[eE]:d.HalfFloatType,[aE]:d.UnsignedByteType,[EE]:d.UnsignedByteType,[CE]:d.UnsignedByteType,[QE]:d.UnsignedByteType,[BE]:d.UnsignedByteType,[IE]:d.UnsignedByteType,[cE]:d.UnsignedInt5999Type,[rE]:d.UnsignedInt101111Type,[pE]:d.UnsignedByteType,[RE]:d.UnsignedByteType,[MQ]:d.HalfFloatType,[kE]:d.UnsignedByteType,[NE]:d.UnsignedByteType,[xE]:d.HalfFloatType,[SE]:d.UnsignedByteType,[mE]:d.UnsignedByteType,[bE]:d.UnsignedByteType,[dE]:d.UnsignedByteType,[DE]:d.UnsignedByteType,[hE]:d.UnsignedByteType,[uE]:d.UnsignedByteType,[wE]:d.UnsignedByteType,[fE]:d.UnsignedByteType,[lE]:d.UnsignedByteType,[yE]:d.UnsignedByteType,[FE]:d.UnsignedByteType,[GE]:d.UnsignedByteType,[ME]:d.UnsignedByteType,[YE]:d.UnsignedByteType,[LE]:d.UnsignedByteType,[JE]:d.UnsignedByteType,[UE]:d.UnsignedByteType};function ZQ(B){const A=B.dataFormatDescriptor[0];return A.colorPrimaries===1?A.transferFunction===2?d.SRGBColorSpace:d.LinearSRGBColorSpace:A.colorPrimaries===10?A.transferFunction===2?"display-p3":"display-p3-linear":(A.colorPrimaries===0||console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`),d.NoColorSpace)}async function _Q(B){const A=B.split("?")[0].split(".").pop(),g=await fetch(B);if(!g.ok)throw new Error(`Failed to fetch ${B}: ${g.statusText}`);if(A==="json"){const I=await g.json();return handleJSONSubtree(I,$Q(B))}if(A==="subtree")return async function(I,Q){const C=new DataView(I),E=C.getBigUint64(8,!0),a=C.getBigUint64(16,!0),i=24,t=i+Number(E),e=t+(8-t%8)%8,o=e+Number(a),s=I.slice(i,t),n=new TextDecoder().decode(s).trim(),r=JSON.parse(n);if(!r.buffers)throw new Error("subtree has no buffers");const c=r.buffers.map(async b=>{if(b.uri){const h=new URL(b.uri,Q).href,w=await fetch(h);if(!w.ok)throw new Error(`Failed to fetch binary file ${h}: ${w.statusText}`);return new Uint8Array(await w.arrayBuffer())}return new Uint8Array(I.slice(e,o))}),D=await Promise.all(c);return function(b,h){function w(G,k){if(!G)throw new Error("incomplete json subtree");if(G.constant){if(G.constant==0)return!1;if(G.constant==1)return!0}if(G.bitstream==null)throw new Error('json subtree "tileAvailability" does not specify a bitstream');if(!b.bufferViews||!b.bufferViews[G.bitstream])throw new Error('json subtree "bufferViews" does not specify a bitstream');const U=b.bufferViews[G.bitstream];return f(h[U.buffer],U.byteOffset,k)}function f(G,k,U){const S=U%8;return G[k+Math.floor(U/8)]>>S&!0}function p(G){let k=0;return k=G.z==null?_B(G.x,G.y,G.level):AQ(G.x,G.y,G.z,G.level),w(b.tileAvailability,k)}function R(G){let k=0;k=G.z==null?_B(G.x,G.y,G.level):AQ(G.x,G.y,G.z,G.level);const U=[];return b.contentAvailability.forEach(S=>{U.push(w(S,k))}),U}function m(G){let k=0;return k=G.z==null?_B(G.x,G.y):AQ(G.x,G.y,G.z),w(b.childSubtreeAvailability,k)}return{isTileAvailable:p,isContentAvailable:R,isChildSubtreeAvailable:m}}(r,D)}(await g.arrayBuffer(),$Q(B));throw new Error(`Unsupported file extension: ${A}`)}function $Q(B){const A=B.split("?")[0];return A.substring(0,A.lastIndexOf("/")+1)}function AC(B){return B=1431655765&((B=858993459&((B=252645135&((B=16711935&((B&=65535)^B<<8))^B<<4))^B<<2))^B<<1)}function _B(B,A,g){let I=0;return g&&(I=(Math.pow(4,g)-1)/3),I+(AC(B)|AC(A)<<1)}function $B(B){return B=153391689&((B=51130563&((B=50393103&((B=4278190335&((B&=1023)^B<<16))^B<<8))^B<<4))^B<<2)}function AQ(B,A,g,I){let Q=0;return I&&(Q=(Math.pow(8,I)-1)/7),Q+($B(B)|$B(A)<<1|$B(g)<<2)}const jI=new Map;async function GQ(B,A){if(!B.root||!B.root.implicitTiling)return B;if(!B.root.content&&!B.root.contents)throw new Error("implicit tiling requires a Template URI");let g=!0;B.root.implicitTiling.subdivisionScheme&&(g=B.root.implicitTiling.subdivisionScheme.toUpperCase()==="QUADTREE");let I="";B.root.implicitTiling.subtrees&&(B.root.implicitTiling.subtrees.uri?I=B.root.implicitTiling.subtrees.uri:B.root.implicitTiling.subtrees.url&&(I=B.root.implicitTiling.subtrees.url));let Q=[];B.root.content?B.root.content.uri?Q.push(B.root.content.uri):B.root.content.url&&Q.push(B.root.content.url):B.root.contents&&B.root.contents.forEach(n=>{n.uri?Q.push(n.uri):n.url&&Q.push(n.url)});const C=function(n){const r=n.split("?")[0];return r.substring(0,r.lastIndexOf("/")+1)}(A);let E;g&&(E=I.replace("{level}",0).replace("{x}",0).replace("{y}",0)),g||(E=I.replace("{level}",0).replace("{x}",0).replace("{y}",0).replace("{z}",0));const a={level:0,x:0,y:0},i={level:0,x:0,y:0};g||(a.z=0,i.z=0),jI.set(E,await _Q(C+E));const t=jI.get(E),e=[];t.isContentAvailable(i)&&Q.forEach(n=>{let r;g&&(r=n.replace("{level}",a.level).replace("{x}",a.x).replace("{y}",a.y)),g||(r=n.replace("{level}",a.level).replace("{x}",a.x).replace("{y}",a.y).replace("{z}",a.z)),e.push({uri:r})});const o={geometricError:B.root.geometricError,boundingVolume:B.root.boundingVolume,refine:B.root.refine,globalAddress:a,localAddress:i,subtree:t,contents:e,getChildren:async()=>s(o)};return{root:o};async function s(n){const r=[];if(n.localAddress.level==B.root.implicitTiling.availableLevels-1)return r;if((n.localAddress.level+1)%B.root.implicitTiling.subtreeLevels==0){const c=BB(n.localAddress),D=BB(n.globalAddress),b=gC(g,B.root.boundingVolume,D);for(let h=0;h<c.length;h++){const w=c[h],f=D[h];n.subtree.isChildSubtreeAvailable(w)&&(g&&I.replace("{level}",f.level).replace("{x}",f.x).replace("{y}",f.y),g||I.replace("{level}",f.level).replace("{x}",f.x).replace("{y}",f.y).replace("{z}",f.z)),jI.has(E)||jI.set(E,await _Q(C+E));const p=jI.get(E),R={level:0,x:0,y:0};g||(R.z=0);const m=[];p.isContentAvailable(R)&&Q.forEach(k=>{let U;g&&(U=k.replace("{level}",f.level).replace("{x}",f.x).replace("{y}",f.y)),g||(U=k.replace("{level}",f.level).replace("{x}",f.x).replace("{y}",f.y).replace("{z}",f.z)),m.push({uri:U})});const G={geometricError:n.geometricError/2,boundingVolume:b[h],refine:B.root.refine,globalAddress:f,localAddress:R,subtree:p,contents:m,getChildren:async()=>s(G)};r.push(G)}}else{const c=BB(n.localAddress),D=BB(n.globalAddress),b=gC(g,B.root.boundingVolume,D);for(let h=0;h<c.length;h++){const w=c[h],f=D[h];if(!n.subtree.isTileAvailable(w))continue;const p=[],R=n.subtree.isContentAvailable(w);for(let G=0;G<Q.length;G++){if(!R[G])continue;const k=Q[G];let U;g&&(U=k.replace("{level}",f.level).replace("{x}",f.x).replace("{y}",f.y)),g||(U=k.replace("{level}",f.level).replace("{x}",f.x).replace("{y}",f.y).replace("{z}",f.z)),p.push({uri:U})}const m={geometricError:n.geometricError/2,boundingVolume:b[h],refine:B.root.refine,globalAddress:f,localAddress:w,subtree:n.subtree,contents:p,getChildren:async()=>s(m)};r.push(m)}}return r.length>0?r:void 0}}function BB(B){const{level:A,x:g,y:I,z:Q}=B,C=A+1;let E=[];return E=Q===void 0?[{level:C,x:2*g,y:2*I},{level:C,x:2*g+1,y:2*I},{level:C,x:2*g,y:2*I+1},{level:C,x:2*g+1,y:2*I+1}]:[{level:C,x:2*g,y:2*I,z:2*Q},{level:C,x:2*g+1,y:2*I,z:2*Q},{level:C,x:2*g,y:2*I+1,z:2*Q},{level:C,x:2*g+1,y:2*I+1,z:2*Q},{level:C,x:2*g,y:2*I,z:2*Q+1},{level:C,x:2*g+1,y:2*I,z:2*Q+1},{level:C,x:2*g,y:2*I+1,z:2*Q+1},{level:C,x:2*g+1,y:2*I+1,z:2*Q+1}],E}function gC(B,A,g){const I=[];for(let Q=0;Q<g.length;Q++)I.push(Ge(B,A,g[Q]));return I}function Ge(B,A,g){if(A.region)return function(I,Q,C){const[E,a,i,t,e,o]=Q,s=(i-E)/2**C.level,n=(t-a)/2**C.level,r=I?0:(o-e)/2**C.level,c=E+s*C.x,D=a+n*C.y,b=c+s,h=D+n,w=I?e:e+r*C.z,f=I?o:w+r;return{region:[c,D,b,h,w,f]}}(B,A.region,g);if(A.box)return function(I,Q,C){const E=Q.slice(0,3),a=[Q.slice(3,6),Q.slice(6,9),Q.slice(9,12)],i=1/Math.pow(2,C.level),t=[i,i,I?1:i],e=a.map((n,r)=>n.map(c=>c*t[r])),o=[E[0]-a[0][0]-a[1][0]-a[2][0],E[1]-a[0][1]-a[1][1]-a[2][1],E[2]-a[0][2]-a[1][2]-a[2][2]];return{box:[o[0]+(2*C.x+1)*(e[0][0]+e[1][0]+e[2][0]),o[1]+(2*C.y+1)*(e[0][1]+e[1][1]+e[2][1]),I?E[2]:o[2]+(2*C.z+1)*(e[0][2]+e[1][2]+e[2][2])].concat(...e)}}(B,A.box,g);throw new Error("Unsupported bounding volume type")}(function(){var B,A=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};function g(i){if(!i)throw new Error("Assertion failed")}function I(i){return new Uint8Array(i.buffer,i.byteOffset,i.byteLength)}function Q(i,t,e,o,s,n,r){var c=B.exports.sbrk,D=c(t),b=c(o*s),h=new Uint8Array(B.exports.memory.buffer);h.set(I(e),b);var w=i(D,t,b,o,s,n,r),f=new Uint8Array(w);return f.set(h.subarray(D,D+w)),c(D-c(0)),f}function C(i){for(var t=0,e=0;e<i.length;++e)var o=i[e];return t}function E(i,t){if(g(t==2||t==4),t==4)return new Uint32Array(i.buffer,i.byteOffset,i.byteLength/4);var e=new Uint16Array(i.buffer,i.byteOffset,i.byteLength/2);return new Uint32Array(e)}function a(i,t,e,o,s,n,r){var c=B.exports.sbrk,D=c(e*o),b=c(e*n),h=new Uint8Array(B.exports.memory.buffer);h.set(I(t),b),i(D,e,o,s,b,r);var w=new Uint8Array(e*o);return w.set(h.subarray(D,D+e*o)),c(D-c(0)),w}WebAssembly.instantiate(function(i){for(var t=new Uint8Array(i.length),e=0;e<i.length;++e){var o=i.charCodeAt(e);t[e]=o>96?o-97:o>64?o-39:o+4}var s=0;for(e=0;e<i.length;++e)t[s++]=t[e]<60?A[t[e]]:64*(t[e]-60)+t[++e];return t.buffer.slice(0,s)}("b9H79Tebbbe9ok9Geueu9Geub9Gbb9Gruuuuuuueu9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiE8AdilveoveovrrwrrrDDoDrbqqbelve9Weiiviebeoweuec;G:Qdkr:PlCo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9mW4W2be8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbd8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbiE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UblY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbv8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbo8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UbrE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbwa9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbDL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbqK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbkL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbxY9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVJ9V29VVbmE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbza9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9WbHa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbOK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbAl79IV9RbXDwebcekdKYq;i28Adbk:Bhdhud9:8Jjjjjbc;qw9Rgr8KjjjjbcbhwdnaeTmbabcbyd;C:kjjbaoaocb9iEgDc:GeV86bbarc;adfcbcjdz:xjjjb8AdnaiTmbarc;adfadalz:wjjjb8Akarc;abfalfcbcbcjdal9RalcFe0Ez:xjjjb8Aarc;abfarc;adfalz:wjjjb8AarcUf9cb83ibarc8Wf9cb83ibarcyf9cb83ibarcaf9cb83ibarcKf9cb83ibarczf9cb83ibar9cb83iwar9cb83ibcj;abal9Uc;WFbGcjdalca0Ehqdnaicd6mbavcd9imbaDTmbadcefhkaqci2gxal2hmarc;alfclfhParc;qlfceVhsarc;qofclVhzarc;qofcKfhHarc;qofczfhOcbhAincdhCcbhodnavci6mbaH9cb83ibaO9cb83ibar9cb83i;yoar9cb83i;qoadaAfgoybbhXcbhQincbhwcbhLdninaoalfhKaoybbgYaX7aLVhLawcP0meaKhoaYhXawcefgwaQfai6mbkkcbhXarc;qofhwincwh8AcwhEdnaLaX93gocFeGg3cs0mbclhEa3ci0mba3cb9hcethEkdnaocw4cFeGg3cs0mbclh8Aa3ci0mba3cb9hceth8Aka8AaEfh3awydbh5cwh8AcwhEdnaocz4cFeGg8Ecs0mbclhEa8Eci0mba8Ecb9hcethEka3a5fh3dnaocFFFFb0mbclh8AaocFFF8F0mbaocFFFr0ceth8Akawa3aEfa8AfBdbawclfhwaXcefgXcw9hmbkaKhoaYhXaQczfgQai6mbkcbhocehwazhLinawaoaLydbarc;qofaocdtfydb6EhoaLclfhLawcefgwcw9hmbkcihCkcbh3arc;qlfcbcjdz:xjjjb8Aarc;alfcwfcbBdbar9cb83i;alaoclth8Fadhaaqhhakh5inarc;qlfadcba3cufgoaoa30Eal2falz:wjjjb8Aaiahaiah6Ehgdnaqaia39Ra3aqfai6EgYcsfc9WGgoaY9nmbarc;qofaYfcbaoaY9Rz:xjjjb8Akada3al2fh8Jcbh8Kina8Ka8FVcl4hQarc;alfa8Kcdtfh8LaAh8Mcbh8Nina8NaAfhwdndndndndndna8KPldebidkasa8Mc98GgLfhoa5aLfh8Aarc;qlfawc98GgLfRbbhXcwhwinaoRbbawtaXVhXaocefhoawcwfgwca9hmbkaYTmla8Ncith8Ea8JaLfhEcbhKinaERbbhLcwhoa8AhwinawRbbaotaLVhLawcefhwaocwfgoca9hmbkarc;qofaKfaLaX7aQ93a8E486bba8Aalfh8AaEalfhEaLhXaKcefgKaY9hmbxlkkaYTmia8Mc9:Ghoa8NcitcwGhEarc;qlfawceVfRbbcwtarc;qlfawc9:GfRbbVhLarc;qofhwaghXinawa5aofRbbcwtaaaofRbbVg8AaL9RgLcetaLcztcz91cs47cFFiGaE486bbaoalfhoawcefhwa8AhLa3aXcufgX9hmbxikkaYTmda8Jawfhoarc;qlfawfRbbhLarc;qofhwaghXinawaoRbbg8AaL9RgLcetaLcKtcK91cr4786bbawcefhwaoalfhoa8AhLa3aXcufgX9hmbxdkkaYTmeka8LydbhEcbhKarc;qofhoincdhLcbhwinaLaoawfRbbcb9hfhLawcefgwcz9hmbkclhXcbhwinaXaoawfRbbcd0fhXawcefgwcz9hmbkcwh8Acbhwina8AaoawfRbbcP0fh8Aawcefgwcz9hmbkaLaXaLaX6Egwa8Aawa8A6Egwczawcz6EaEfhEaoczfhoaKczfgKaY6mbka8LaEBdbka8Mcefh8Ma8Ncefg8Ncl9hmbka8Kcefg8KaC9hmbkaaamfhaahaxfhha5amfh5a3axfg3ai6mbkcbhocehwaPhLinawaoaLydbarc;alfaocdtfydb6EhoaLclfhLawcefgXhwaCaX9hmbkaraAcd4fa8FcdVaoaocdSE86bbaAclfgAal6mbkkabaefh8Kabcefhoalcd4gecbaDEhkadcefhOarc;abfceVhHcbhmdndninaiam9nmearc;qofcbcjdz:xjjjb8Aa8Kao9Rak6mdadamal2gwfhxcbh8JaOawfhzaocbakz:xjjjbghakfh5aqaiam9Ramaqfai6Egscsfgocl4cifcd4hCaoc9WGg8LThPindndndndndndndndndndnaDTmbara8Jcd4fRbbgLciGPlbedlbkasTmdaxa8Jfhoarc;abfa8JfRbbhLarc;qofhwashXinawaoRbbg8AaL9RgLcetaLcKtcK91cr4786bbawcefhwaoalfhoa8AhLaXcufgXmbxikkasTmia8JcitcwGhEarc;abfa8JceVfRbbcwtarc;abfa8Jc9:GgofRbbVhLaxaofhoarc;qofhwashXinawao8Vbbg8AaL9RgLcetaLcztcz91cs47cFFiGaE486bbawcefhwaoalfhoa8AhLaXcufgXmbxdkkaHa8Jc98GgEfhoazaEfh8Aarc;abfaEfRbbhXcwhwinaoRbbawtaXVhXaocefhoawcwfgwca9hmbkasTmbaLcl4hYa8JcitcKGh3axaEfhEcbhKinaERbbhLcwhoa8AhwinawRbbaotaLVhLawcefhwaocwfgoca9hmbkarc;qofaKfaLaX7aY93a3486bba8Aalfh8AaEalfhEaLhXaKcefgKas9hmbkkaDmbcbhoxlka8LTmbcbhodninarc;qofaofgwcwf8Pibaw8Pib:e9qTmeaoczfgoa8L9pmdxbkkdnavmbcehoxikcbhEaChKaChYinarc;qofaEfgocwf8Pibhyao8Pibh8PcdhLcbhwinaLaoawfRbbcb9hfhLawcefgwcz9hmbkclhXcbhwinaXaoawfRbbcd0fhXawcefgwcz9hmbkcwh8Acbhwina8AaoawfRbbcP0fh8Aawcefgwcz9hmbkaLaXaLaX6Egoa8Aaoa8A6Egoczaocz6EaYfhYaocucbaya8P:e9cb9sEgwaoaw6EaKfhKaEczfgEa8L9pmdxbkkaha8Jcd4fgoaoRbbcda8JcetcoGtV86bbxikdnaKas6mbaYas6mbaha8Jcd4fgoaoRbbcia8JcetcoGtV86bba8Ka59Ras6mra5arc;qofasz:wjjjbasfh5xikaKaY9phokaha8Jcd4fgwawRbbaoa8JcetcoGtV86bbka8Ka59RaC6mla5cbaCz:xjjjbgAaCfhYdndna8LmbaPhoxekdna8KaY9RcK9pmbaPhoxekaocdtc:q1jjbfcj1jjbaDEg5ydxggcetc;:FFFeGh8Fcuh3cuagtcu7cFeGhacbh8Marc;qofhLinarc;qofa8MfhQczhEdndndnagPDbeeeeeeedekcucbaQcwf8PibaQ8Pib:e9cb9sEhExekcbhoa8FhEinaEaaaLaofRbb9nfhEaocefgocz9hmbkkcih8Ecbh8Ainczhwdndndna5a8AcdtfydbgKPDbeeeeeeedekcucbaQcwf8PibaQ8Pib:e9cb9sEhwxekaKcetc;:FFFeGhwcuaKtcu7cFeGhXcbhoinawaXaLaofRbb9nfhwaocefgocz9hmbkkdndnawaE6mbaKa39hmeawaE9hmea5a8EcdtfydbcwSmeka8Ah8EawhEka8Acefg8Aci9hmbkaAa8Mco4fgoaoRbba8Ea8Mci4coGtV86bbdndndna5a8Ecdtfydbg3PDdbbbbbbbebkdncwa39Tg8ETmbcua3tcu7hwdndna3ceSmbcbh8NaLhQinaQhoa8Eh8AcbhXinaoRbbgEawcFeGgKaEaK6EaXa3tVhXaocefhoa8Acufg8AmbkaYaX86bbaQa8EfhQaYcefhYa8Na8Efg8Ncz6mbxdkkcbh8NaLhQinaQhoa8Eh8AcbhXinaoRbbgEawcFeGgKaEaK6EaXcetVhXaocefhoa8Acufg8AmbkaYaX:T9cFe:d9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:9ca188bbaQa8EfhQaYcefhYa8Na8Efg8Ncz6mbkkcbhoinaYaLaofRbbgX86bbaYaXawcFeG9pfhYaocefgocz9hmbxikkdna3ceSmbinaYcb86bbaYcefhYxbkkinaYcb86bbaYcefhYxbkkaYaQ8Pbb83bbaYcwfaQcwf8Pbb83bbaYczfhYka8Mczfg8Ma8L9pgomeaLczfhLa8KaY9RcK9pmbkkaoTmlaYh5aYTmlka8Jcefg8Jal9hmbkarc;abfaxascufal2falz:wjjjb8Aasamfhma5hoa5mbkcbhwxdkdna8Kao9RakalfgwcKcaaDEgLawaL0EgX9pmbcbhwxdkdnawaL9pmbaocbaXaw9Rgwz:xjjjbawfhokaoarc;adfalz:wjjjbalfhodnaDTmbaoaraez:wjjjbaefhokaoab9Rhwxekcbhwkarc;qwf8Kjjjjbawk5babaeadaialcdcbyd;C:kjjbz:bjjjbk9reduaecd4gdaefgicaaica0Eabcj;abae9Uc;WFbGcjdaeca0Egifcufai9Uae2aiadfaicl4cifcd4f2fcefkmbcbabBd;C:kjjbk:Ese5u8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaici9UgocHfae0mbabcbyd;m:kjjbgrc;GeV86bbalc;abfcFecjez:xjjjb8AalcUfgw9cu83ibalc8WfgD9cu83ibalcyfgq9cu83ibalcafgk9cu83ibalcKfgx9cu83ibalczfgm9cu83ibal9cu83iwal9cu83ibabaefc9WfhPabcefgsaofhednaiTmbcmcsarcb9kgzEhHcbhOcbhAcbhCcbhXcbhQindnaeaP9nmbcbhvxikaQcufhvadaCcdtfgLydbhKaLcwfydbhYaLclfydbh8AcbhEdndndninalc;abfavcsGcitfgoydlh3dndndnaoydbgoaK9hmba3a8ASmekdnaoa8A9hmba3aY9hmbaEcefhExekaoaY9hmea3aK9hmeaEcdfhEkaEc870mdaXcufhvaLaEciGcx2goc;i1jjbfydbcdtfydbh3aLaoc;e1jjbfydbcdtfydbh8AaLaoc;a1jjbfydbcdtfydbhKcbhodnindnalavcsGcdtfydba39hmbaohYxdkcuhYavcufhvaocefgocz9hmbkkaOa3aOSgvaYce9iaYaH9oVgoGfhOdndndncbcsavEaYaoEgvcs9hmbarce9imba3a3aAa3cefaASgvEgAcefSmecmcsavEhvkasavaEcdtc;WeGV86bbavcs9hmea3aA9Rgvcetavc8F917hvinaeavcFb0crtavcFbGV86bbaecefheavcje6hoavcr4hvaoTmbka3hAxvkcPhvasaEcdtcPV86bba3hAkavTmiavaH9omicdhocehEaQhYxlkavcufhvaEclfgEc;ab9hmbkkdnaLceaYaOSceta8AaOSEcx2gvc;a1jjbfydbcdtfydbgKTaLavc;e1jjbfydbcdtfydbg8AceSGaLavc;i1jjbfydbcdtfydbg3cdSGaOcb9hGazGg5ce9hmbaw9cu83ibaD9cu83ibaq9cu83ibak9cu83ibax9cu83ibam9cu83ibal9cu83iwal9cu83ibcbhOkcbhEaXcufgvhodnindnalaocsGcdtfydba8A9hmbaEhYxdkcuhYaocufhoaEcefgEcz9hmbkkcbhodnindnalavcsGcdtfydba39hmbaohExdkcuhEavcufhvaocefgocz9hmbkkaOaKaOSg8EfhLdndnaYcm0mbaYcefhYxekcbcsa8AaLSgvEhYaLavfhLkdndnaEcm0mbaEcefhExekcbcsa3aLSgvEhEaLavfhLkc9:cua8EEh8FcbhvaEaYcltVgacFeGhodndndninavc:W1jjbfRbbaoSmeavcefgvcz9hmbxdkka5aKaO9havcm0VVmbasavc;WeV86bbxekasa8F86bbaeaa86bbaecefhekdna8EmbaKaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaKhAkdnaYcs9hmba8AaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka8AhAkdnaEcs9hmba3aA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka3hAkalaXcdtfaKBdbaXcefcsGhvdndnaYPzbeeeeeeeeeeeeeebekalavcdtfa8ABdbaXcdfcsGhvkdndnaEPzbeeeeeeeeeeeeeebekalavcdtfa3BdbavcefcsGhvkcihoalc;abfaQcitfgEaKBdlaEa8ABdbaQcefcsGhYcdhEavhXaLhOxekcdhoalaXcdtfa3BdbcehEaXcefcsGhXaQhYkalc;abfaYcitfgva8ABdlava3Bdbalc;abfaQaEfcsGcitfgva3BdlavaKBdbascefhsaQaofcsGhQaCcifgCai6mbkkdnaeaP9nmbcbhvxekcbhvinaeavfavc:W1jjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meceadtae6mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd;m:kjjbk:Adewu8Jjjjjbcz9Rhlcbhvdnaicvfae0mbcbhvabcbRb;m:kjjbc;qeV86bbal9cb83iwabcefhoabaefc98fhrdnaiTmbcbhwcbhDindnaoar6mbcbskadaDcdtfydbgqalcwfawaqav9Rgvavc8F91gv7av9Rc507gwcdtfgkydb9Rgvc8E91c9:Gavcdt7awVhvinaoavcFb0gecrtavcFbGV86bbavcr4hvaocefhoaembkakaqBdbaqhvaDcefgDai9hmbkkdnaoar9nmbcbskaocbBbbaoab9RclfhvkavkBeeucbhddninadcefgdc8F0meceadtae6mbkkadcwfcFeGcr9Uab2cvfk:bvli99dui99ludnaeTmbcuadcetcuftcu7:Zhvdndncuaicuftcu7:ZgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhrdndnakJbbbb9GTmbaxhqxekJbbjZar:l:tgqaq:maxJbbbb9GEhqJbbjZax:l:tgxax:marJbbbb9GEhrkdndnalcxfIdbgxJbbj:;axJbbj:;9GEgkJbbjZakJbbjZ9FEavNJbbbZJbbb:;axJbbbb9GEMgx:lJbbb9p9DTmbax:Ohmxekcjjjj94hmkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEaoNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaifgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaDfgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkalczfhlaiclfhiaDcwfhDaecufgembkkk;hlld99eud99eudnaeTmbdndncuaicuftcu7:ZgvJbbbZMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikaic;8FiGhrinabcofcicdalclfIdb:lalIdb:l9EgialcwfIdb:lalaicdtfIdb:l9EEgialcxfIdb:lalaicdtfIdb:l9EEgiarV87ebdndnJbbj:;JbbjZalaicdtfIdbJbbbb9DEgoalaicd7cdtfIdbJ;Zl:1ZNNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabcdfaq87ebdndnalaicefciGcdtfIdbJ;Zl:1ZNaoNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabaq87ebdndnaoalaicufciGcdtfIdbJ;Zl:1ZNNgoJbbj:;aoJbbj:;9GEgwJbbjZawJbbjZ9FEavNJbbbZJbbb:;aoJbbbb9GEMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikabclfai87ebabcwfhbalczfhlaecufgembkkk;3viDue99eu8Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndndnavcd9hmbadcl6meaohwarhDinawc:CuBdbawclfhwaDcufgDmbkaeTmiadcl6mdarcdthqalhkcbhxinaohwakhDarhminawawydbgPcbaDIdbgs:8cL4cFeGc:cufasJbbbb9BEgzaPaz9kEBdbaDclfhDawclfhwamcufgmmbkakaqfhkaxcefgxaeSmixbkkaeTmdxekaeTmekarcdthkavce9hhqadcl6hdcbhxindndndnaqmbadmdc:CuhDalhwarhminaDcbawIdbgs:8cL4cFeGc:cufasJbbbb9BEgPaDaP9kEhDawclfhwamcufgmmbxdkkc:CuhDdndnavPleddbdkadmdaohwalhmarhPinawcbamIdbgs:8cL4cFeGgzc;:bazc;:b0Ec:cufasJbbbb9BEBdbamclfhmawclfhwaPcufgPmbxdkkadmecbhwarhminaoawfcbalawfIdbgs:8cL4cFeGgPc8AaPc8A0Ec:cufasJbbbb9BEBdbawclfhwamcufgmmbkkadmbcbhwarhPinaDhmdnavceSmbaoawfydbhmkdndnalawfIdbgscjjj;8iamai9RcefgmcLt9R::NJbbbZJbbb:;asJbbbb9GEMgs:lJbbb9p9DTmbas:Ohzxekcjjjj94hzkabawfazcFFFrGamcKtVBdbawclfhwaPcufgPmbkkabakfhbalakfhlaxcefgxae9hmbkkaocjdf8Kjjjjbk:Ylvdud99due99iudnaeTmbceaicufgvthocuaitcu7:Zhrcuavtcu7:Zhwcbhvadcl9hhDcbhqindndnalcwfIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEarNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikdndnalIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEarNJbbbZMgk:lJbbb9p9DTmbak:Ohdxekcjjjj94hdkadai9Rcd9TgxaifhidndnalclfIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEarNJbbbZMgk:lJbbb9p9DTmbak:Ohdxekcjjjj94hdkadai9Rcd9ThddndnalcxfIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEawNJbbbZMgk:lJbbb9p9DTmbak:Ohmxekcjjjj94hmkadaifhiaoamVhmdndnaDmbabavfgPai86bbaPcifam86bbaPcdfad86bbaPcefax86bbxekabaqfgPai87ebaPcofam87ebaPclfad87ebaPcdfax87ebkalczfhlavclfhvaqcwfhqaecufgembkkk;YqdXui998Jjjjjbc:qd9Rgv8Kjjjjbavc:Sefcbc;Kbz:xjjjb8AcbhodnadTmbcbhoaiTmbdndnabaeSmbaehrxekavcuadcdtgwadcFFFFi0Ecbyd;q:kjjbHjjjjbbgrBd:SeavceBd:mdaraeawz:wjjjb8Akavc:GefcwfcbBdbav9cb83i:Geavc:Gefaradaiavc:Sefz:pjjjbavyd:GehDadci9Ugqcbyd;q:kjjbHjjjjbbheavc:Sefavyd:mdgkcdtfaeBdbavakcefgwBd:mdaecbaqz:xjjjbhxavc:SefawcdtfcuaicdtaicFFFFi0Ecbyd;q:kjjbHjjjjbbgmBdbavakcdfgPBd:mdalc;ebfhsaDheamhwinawalIdbasaeydbgzcwazcw6EcdtfIdbMUdbaeclfheawclfhwaicufgimbkavc:SefaPcdtfcuaqcdtadcFFFF970Ecbyd;q:kjjbHjjjjbbgPBdbdnadci6mbarheaPhwaqhiinawamaeydbcdtfIdbamaeclfydbcdtfIdbMamaecwfydbcdtfIdbMUdbaecxfheawclfhwaicufgimbkkakcifhoalc;ebfhHavc;qbfhOavheavyd:KehAavyd:OehCcbhzcbhwcbhXcehQinaehLcihkarawci2gKcdtfgeydbhsaeclfydbhdabaXcx2fgicwfaecwfydbgYBdbaiclfadBdbaiasBdbaxawfce86bbaOaYBdwaOadBdlaOasBdbaPawcdtfcbBdbdnazTmbcihkaLhiinaOakcdtfaiydbgeBdbakaeaY9haeas9haead9hGGfhkaiclfhiazcufgzmbkkaXcefhXcbhzinaCaAarazaKfcdtfydbcdtgifydbcdtfgYheaDaifgdydbgshidnasTmbdninaeydbawSmeaeclfheaicufgiTmdxbkkaeaYascdtfc98fydbBdbadadydbcufBdbkazcefgzci9hmbkdndnakTmbcuhwJbbbbh8Acbhdavyd:KehYavyd:OehKindndnaDaOadcdtfydbcdtgzfydbgembadcefhdxekadcs0hiamazfgsIdbhEasalcbadcefgdaiEcdtfIdbaHaecwaecw6EcdtfIdbMg3Udba3aE:th3aecdthiaKaYazfydbcdtfheinaPaeydbgzcdtfgsa3asIdbMgEUdbaEa8Aa8AaE9DgsEh8AazawasEhwaeclfheaic98fgimbkkadak9hmbkawcu9hmekaQaq9pmdindnaxaQfRbbmbaQhwxdkaqaQcefgQ9hmbxikkakczakcz6EhzaOheaLhOawcu9hmbkkaocdtavc:Seffc98fhedninaoTmeaeydbcbyd;u:kjjbH:bjjjbbaec98fheaocufhoxbkkavc:qdf8Kjjjjbk;IlevucuaicdtgvaicFFFFi0Egocbyd;q:kjjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd;q:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd;q:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavz:xjjjb8Aadci9UhDdnadTmbabydbhoaehladhrinaoalydbcdtfgvavydbcefBdbalclfhlarcufgrmbkkdnaiTmbabydbhlabydlhrcbhvaihoinaravBdbarclfhralydbavfhvalclfhlaocufgombkkdnadci6mbabydlhrabydwhvcbhlinaecwfydbhoaeclfydbhdaraeydbcdtfgwawydbgwcefBdbavawcdtfalBdbaradcdtfgdadydbgdcefBdbavadcdtfalBdbaraocdtfgoaoydbgocefBdbavaocdtfalBdbaecxfheaDalcefgl9hmbkkdnaiTmbabydlheabydbhlinaeaeydbalydb9RBdbalclfhlaeclfheaicufgimbkkkQbabaeadaic;K1jjbz:ojjjbkQbabaeadaic;m:jjjbz:ojjjbk9DeeuabcFeaicdtz:xjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk:Vvioud9:du8Jjjjjbc;Wa9Rgl8Kjjjjbcbhvalcxfcbc;Kbz:xjjjb8AalcuadcitgoadcFFFFe0Ecbyd;q:kjjbHjjjjbbgrBdxalceBd2araeadaicezNjjjbalcuaoadcjjjjoGEcbyd;q:kjjbHjjjjbbgwBdzadcdthednadTmbabhiinaiavBdbaiclfhiadavcefgv9hmbkkawaefhDalabBdwalawBdl9cbhqindnadTmbaq9cq9:hkarhvaDhiadheinaiav8Pibak1:NcFrG87ebavcwfhvaicdfhiaecufgembkkalclfaq:NceGcdtfydbhxalclfaq9ce98gq:NceGcdtfydbhmalc;Wbfcbcjaz:xjjjb8AaDhvadhidnadTmbinalc;Wbfav8VebcdtfgeaeydbcefBdbavcdfhvaicufgimbkkcbhvcbhiinalc;WbfavfgeydbhoaeaiBdbaoaifhiavclfgvcja9hmbkadhvdndnadTmbinalc;WbfaDamydbgicetf8VebcdtfgeaeydbgecefBdbaxaecdtfaiBdbamclfhmavcufgvmbkaq9cv9smdcbhvinabawydbcdtfavBdbawclfhwadavcefgv9hmbxdkkaq9cv9smekkclhvdninavc98Smealcxfavfydbcbyd;u:kjjbH:bjjjbbavc98fhvxbkkalc;Waf8Kjjjjbk:Jwliuo99iud9:cbhv8Jjjjjbca9Rgoczfcwfcbyd:8:kjjbBdbaocb8Pd:0:kjjb83izaocwfcbyd;i:kjjbBdbaocb8Pd;a:kjjb83ibaicd4hrdndnadmbJFFuFhwJFFuuhDJFFuuhqJFFuFhkJFFuuhxJFFuFhmxekarcdthPaehsincbhiinaoczfaifgzasaifIdbgwazIdbgDaDaw9EEUdbaoaifgzawazIdbgDaDaw9DEUdbaiclfgicx9hmbkasaPfhsavcefgvad9hmbkaoIdKhDaoIdwhwaoIdChqaoIdlhkaoIdzhxaoIdbhmkdnadTmbJbbbbJbFu9hJbbbbamax:tgmamJbbbb9DEgmakaq:tgkakam9DEgkawaD:tgwawak9DEgw:vawJbbbb9BEhwdnalmbarcdthoindndnaeclfIdbaq:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikai:S9cC:ghHdndnaeIdbax:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikaHai:S:ehHdndnaecwfIdbaD:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabaHai:T9cy:g:e83ibaeaofheabcwfhbadcufgdmbxdkkarcdthoindndnaeIdbax:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikai:SgH9ca:gaH9cz:g9cjjj;4s:d:eaH9cFe:d:e9cF:bj;4:pj;ar:d9c:bd9:9c:p;G:d;4j:E;ar:d9cH9:9c;d;H:W:y:m:g;d;Hb:d9cv9:9c;j:KM;j:KM;j:Kd:dhOdndnaeclfIdbaq:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikai:SgH9ca:gaH9cz:g9cjjj;4s:d:eaH9cFe:d:e9cF:bj;4:pj;ar:d9c:bd9:9c:p;G:d;4j:E;ar:d9cH9:9c;d;H:W:y:m:g;d;Hb:d9cq9:9cM;j:KM;j:KM;jl:daO:ehOdndnaecwfIdbaD:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabaOai:SgH9ca:gaH9cz:g9cjjj;4s:d:eaH9cFe:d:e9cF:bj;4:pj;ar:d9c:bd9:9c:p;G:d;4j:E;ar:d9cH9:9c;d;H:W:y:m:g;d;Hb:d9cC9:9c:KM;j:KM;j:KMD:d:e83ibaeaofheabcwfhbadcufgdmbkkk9teiucbcbyd;y:kjjbgeabcifc98GfgbBd;y:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;y:kjjbgeabcrfc94GfgbBd;y:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;y:kjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;y:kjjbfgdBd;y:kjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk;Qddbcjwk;mdbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbbbbbbbbbbbbb4:h9w9N94:P:gW:j9O:ye9Pbbbbbbebbbdbbbebbbdbbbbbbbdbbbbbbbebbbbbbb:l29hZ;69:9kZ;N;76Z;rg97Z;z;o9xZ8J;B85Z;:;u9yZ;b;k9HZ:2;Z9DZ9e:l9mZ59A8KZ:r;T3Z:A:zYZ79OHZ;j4::8::Y:D9V8:bbbb9s:49:Z8R:hBZ9M9M;M8:L;z;o8:;8:PG89q;x:J878R:hQ8::M:B;e87bbbbbbjZbbjZbbjZ:E;V;N8::Y:DsZ9i;H;68:xd;R8:;h0838:;W:NoZbbbb:WV9O8:uf888:9i;H;68:9c9G;L89;n;m9m89;D8Ko8:bbbbf:8tZ9m836ZS:2AZL;zPZZ818EZ9e:lxZ;U98F8:819E;68:FFuuFFuuFFuuFFuFFFuFFFuFbc;mqkzebbbebbbdbbb9G:vbb"),{}).then(function(i){(B=i.instance).exports.__wasm_call_ctors(),B.exports.meshopt_encodeVertexVersion(0),B.exports.meshopt_encodeIndexVersion(1)})})();var HE=function(){var B=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]),A=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var g,I=WebAssembly.validate(B)?C("b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuixkbbebeeddddilve9Weeeviebeoweuec:q:6dkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WbwY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbDl79IV9Rbqq;Ctklbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk:183lYud97dur978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxavaialfgmar9Rgoad;8qbbcj;abad9Uc;WFbGcjdadca0EhPdndndnadTmbaoadfhscbhzinaeaz9nmdamax9RaD6miabazad2fhHaxaDfhOaPaeaz9RazaPfae6EgAcsfgocl4cifcd4hCavcj;cbfaoc9WGgXcetfhQavcj;cbfaXci2fhLavcj;cbfaXfhKcbhYaoc;ab6h8AincbhodnawTmbaxaYcd4fRbbhokaocFeGhEcbh3avcj;cbfh5indndndndnaEa3cet4ciGgoc9:fPdebdkamaO9RaX6mwavcj;cbfa3aX2faOaX;8qbbaOaAfhOxdkavcj;cbfa3aX2fcbaX;8kbxekamaO9RaC6moaoclVcbawEhraOaCfhocbhidna8Ambamao9Rc;Gb6mbcbhlina5alfhidndndndndndnaOalco4fRbbgqciGarfPDbedibledibkaipxbbbbbbbbbbbbbbbbpklbxlkaiaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaiaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaiaopbbbpklbaoczfhoxekaiaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqcd4ciGarfPDbedibledibkaiczfpxbbbbbbbbbbbbbbbbpklbxlkaiczfaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaiczfaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaiczfaopbbbpklbaoczfhoxekaiczfaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqcl4ciGarfPDbedibledibkaicafpxbbbbbbbbbbbbbbbbpklbxlkaicafaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaicafaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaicafaopbbbpklbaoczfhoxekaicafaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqco4arfPDbedibledibkaic8Wfpxbbbbbbbbbbbbbbbbpklbxlkaic8Wfaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngicitc:q1jjbfpbibaic:q:yjjbfRbbgipsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaiaoclffaqc:q:yjjbfRbbfhoxikaic8Wfaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngicitc:q1jjbfpbibaic:q:yjjbfRbbgipsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaiaocwffaqc:q:yjjbfRbbfhoxdkaic8Wfaopbbbpklbaoczfhoxekaic8WfaopbbdaoRbbgicitc:q1jjbfpbibaic:q:yjjbfRbbgipsaoRbegqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaiaocdffaqc:q:yjjbfRbbfhokalc;abfhialcjefaX0meaihlamao9Rc;Fb0mbkkdnaiaX9pmbaici4hlinamao9RcK6mwa5aifhqdndndndndndnaOaico4fRbbalcoG4ciGarfPDbedibledibkaqpxbbbbbbbbbbbbbbbbpkbbxlkaqaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spkbbaaaoclffahc:q:yjjbfRbbfhoxikaqaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spkbbaaaocwffahc:q:yjjbfRbbfhoxdkaqaopbbbpkbbaoczfhoxekaqaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpkbbaaaocdffahc:q:yjjbfRbbfhokalcdfhlaiczfgiaX6mbkkaohOaoTmoka5aXfh5a3cefg3cl9hmbkdndndndnawTmbasaYcd4fRbbglciGPlbedwbkaXTmdavcjdfaYfhlavaYfpbdbhgcbhoinalavcj;cbfaofpblbg8JaKaofpblbg8KpmbzeHdOiAlCvXoQrLg8LaQaofpblbg8MaLaofpblbg8NpmbzeHdOiAlCvXoQrLgypmbezHdiOAlvCXorQLg8Ecep9Ta8Epxeeeeeeeeeeeeeeeeg8Fp9op9Hp9rg8Eagp9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8LaypmwDKYqk8AExm35Ps8E8Fg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8Ja8KpmwKDYq8AkEx3m5P8Es8Fg8Ja8Ma8NpmwKDYq8AkEx3m5P8Es8Fg8KpmbezHdiOAlvCXorQLg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8Ja8KpmwDKYqk8AExm35Ps8E8Fg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Ug8Fp9Abbbaladfgla8Fa8Ea8Epmlvorlvorlvorlvorp9Ug8Fp9Abbbaladfgla8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9Ug8Fp9Abbbaladfgla8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9AbbbaladfhlaoczfgoaX6mbxikkaXTmeavcjdfaYfhlavaYfpbdbhgcbhoinalavcj;cbfaofpblbg8JaKaofpblbg8KpmbzeHdOiAlCvXoQrLg8LaQaofpblbg8MaLaofpblbg8NpmbzeHdOiAlCvXoQrLgypmbezHdiOAlvCXorQLg8Ecep:nea8Epxebebebebebebebebg8Fp9op:bep9rg8Eagp:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8LaypmwDKYqk8AExm35Ps8E8Fg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8Ja8KpmwKDYq8AkEx3m5P8Es8Fg8Ja8Ma8NpmwKDYq8AkEx3m5P8Es8Fg8KpmbezHdiOAlvCXorQLg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8Ja8KpmwDKYqk8AExm35Ps8E8Fg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeg8Fp9Abbbaladfgla8Fa8Ea8Epmlvorlvorlvorlvorp:oeg8Fp9Abbbaladfgla8Fa8Ea8EpmwDqkwDqkwDqkwDqkp:oeg8Fp9Abbbaladfgla8Fa8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9AbbbaladfhlaoczfgoaX6mbxdkkaXTmbcbhocbalcl4gl9Rc8FGhiavcjdfaYfhravaYfpbdbh8Finaravcj;cbfaofpblbggaKaofpblbg8JpmbzeHdOiAlCvXoQrLg8KaQaofpblbg8LaLaofpblbg8MpmbzeHdOiAlCvXoQrLg8NpmbezHdiOAlvCXorQLg8Eaip:Rea8Ealp:Sep9qg8Ea8Fp9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Fa8Ka8NpmwDKYqk8AExm35Ps8E8Fg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Faga8JpmwKDYq8AkEx3m5P8Es8Fgga8La8MpmwKDYq8AkEx3m5P8Es8Fg8JpmbezHdiOAlvCXorQLg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Faga8JpmwDKYqk8AExm35Ps8E8Fg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9AbbbaradfhraoczfgoaX6mbkkaYclfgYad6mbkaHavcjdfaAad2;8qbbavavcjdfaAcufad2fad;8qbbaAazfhzc9:hoaOhxaOmbxlkkaeTmbaDalfhrcbhocuhlinaralaD9RglfaD6mdaPaeao9RaoaPfae6Eaofgoae6mbkaial9Rhxkcbc99amax9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaokwbz:bjjjbk:TseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiaPfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaOfhiazaOfhxxekaxcbalRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhAascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhzaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkaOhlxekalcefhlkaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDclfaO87ebaDcdfaz87ebxekabarcdtfgDaABdbaDcwfaOBdbaDclfazBdbkavc;abfaocitfgDazBdbaDaABdlavaicdtfaABdbavc;abfaocefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfaocdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnaecvfal9nmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk:2Pliur97eue978Jjjjjbc8W9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalaeSmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskaipxFubbFubbFubbFubbgxpklbdnalTmbcbhvabhdinadczfgmampbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraipblbaDaopmlvorxmPsCXQL358E8Fp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgPp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;MeawaqawaPp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oaoarpmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalaeSmbaiczfpxbbbbbbbbbbbbbbbbgopklbaiaopklbaiabalcitfgdaeciGglcitgv;8qbbaiaxpkladnalTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraipblaaDaopmlvorxmPsCXQL358E8Fp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgPp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;MeawaqawaPp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oaoarpmbezHdiOAlvCXorQLp9qpklbkadaiav;8qbbkk;Iwllue97euo978Jjjjjbca9Rhidnaec98GglTmbcbhvabhoinaocKfpxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81ZaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkpxibbbibbbibbbibbbp9qp;6ep;NegxaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meaxarczp:Sep;6ep;Megmamp;Meaxaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgxp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgPp9oamaxp;Mearp;Keczp:Rep9qgmaDaxp;Mearp;KeaPp9oaqaxp;Mearp;Keczp:Rep9qgrpmwDKYqk8AExm35Ps8E8FgDp5eakclp:RegxpEi:T:j83ibawaDp5baxpEd:T:j83ibaocwfamarpmbezHdiOAlvCXorQLgrp5eaxpEe:T:j83ibaoarp5baxpEb:T:j83ibaocafhoavclfgval6mbkkdnalaeSmbaiczfpxbbbbbbbbbbbbbbbbgxpklbaiaxpklbaiabalcitfgoaeciGgvcitgw;8qbbdnavTmbaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81ZaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkpxibbbibbbibbbibbbp9qp;6ep;NegxaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meaxarczp:Sep;6ep;Megmamp;Meaxaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgxp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgPp9oamaxp;Mearp;Keczp:Rep9qgmaDaxp;Mearp;KeaPp9oaqaxp;Mearp;Keczp:Rep9qgrpmwDKYqk8AExm35Ps8E8FgDp5eakclp:RegxpEi:T:j83iKaiaDp5baxpEd:T:j83izaiamarpmbezHdiOAlvCXorQLgrp5eaxpEe:T:j83iwaiarp5baxpEb:T:j83ibkaoaiaw;8qbbkk;uddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnavalSmbaic8WfpxbbbbbbbbbbbbbbbbgopklbaicafaopklbaiczfaopklbaiaopklbaiabavcdtfgdalciGgecdtgv;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkadaiav;8qbbkk:CPvdue97euw97eu8Jjjjjbc8W9Rhiaec98Ghldndnadcl9hmbaipxbbbbbbbbbbbbbbbbgvpklbdnalTmbcbhoabhdinadpbbbhradpxbbuJbbuJbbuJbbuJaipblbarcKp:Tep9qgwcep:Seawp9qgDcdp:SeaDp9qgDclp:SeaDp9qgqp;6ep;NegDarcwp:RecKp:SegkarpxFbbbFbbbFbbbFbbbgxp9ogmp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gPp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oaDamakp:Xearczp:RecKp:Segrp:Uep;6ep;MeaPp;Keaxp9op9qaDamakarp:Uep:Xep;6ep;MeaPp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qaDaqawcep:Rep9oawpxebbbebbbebbbebbbp9op9qp;6ep;MeaPp;KecKp:Rep9qpkbbadczfhdaoclfgoal6mbkkalaeSmeaiavpklaaicafabalcdtfgdaeciGglcdtgo;8qbbaiavpklbdnalTmbaipblahraipxbbuJbbuJbbuJbbuJaipblbarcKp:Tep9qgwcep:Seawp9qgDcdp:SeaDp9qgDclp:SeaDp9qgqp;6ep;NegDarcwp:RecKp:SegkarpxFbbbFbbbFbbbFbbbgxp9ogmp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gPp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oaDamakp:Xearczp:RecKp:Segrp:Uep;6ep;MeaPp;Keaxp9op9qaDamakarp:Uep:Xep;6ep;MeaPp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qaDaqawcep:Rep9oawpxebbbebbbebbbebbbp9op9qp;6ep;MeaPp;KecKp:Rep9qpklakadaicafao;8qbbskaipxbbbbbbbbbbbbbbbbgvpklbdnalTmbcbhoabhdinadczfgspxbFu9hbFu9hbFu9hbFu9hadpbbbgDaspbbbgPpmlvorxmPsCXQL358E8Fgmczp:Teaipblbp9qgrcep:Searp9qgwcdp:Seawp9qgwclp:Seawp9qgwcwp:Seawp9qgqp;6ep;NegwaDaPpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbgPp9ogkaDczp:Segxp:Ueamczp:Reczp:Segmp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gDp;KeaPp9oawakaxamp:Uep:Xep;6ep;MeaDp;Keczp:Rep9qgxawaqarcep:Rep9oarpxebbbebbbebbbebbbp9op9qp;6ep;MeaDp;Keczp:Reawamakp:Uep;6ep;MeaDp;KeaPp9op9qgrpmwDKYqk8AExm35Ps8E8FpkbbadaxarpmbezHdiOAlvCXorQLpkbbadcafhdaoclfgoal6mbkkalaeSmbaiczfpxbbbbbbbbbbbbbbbbgrpklbaiarpklbaiabalcitfgdaeciGglcitgo;8qbbaiavpkladnalTmbaipxbFu9hbFu9hbFu9hbFu9haipblbgDaipblzgPpmlvorxmPsCXQL358E8Fgmczp:Teaipblap9qgrcep:Searp9qgwcdp:Seawp9qgwclp:Seawp9qgwcwp:Seawp9qgqp;6ep;NegwaDaPpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbgPp9ogkaDczp:Segxp:Ueamczp:Reczp:Segmp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gDp;KeaPp9oawakaxamp:Uep:Xep;6ep;MeaDp;Keczp:Rep9qgxawaqarcep:Rep9oarpxebbbebbbebbbebbbp9op9qp;6ep;MeaDp;Keczp:Reawamakp:Uep;6ep;MeaDp;KeaPp9op9qgrpmwDKYqk8AExm35Ps8E8FpklzaiaxarpmbezHdiOAlvCXorQLpklbkadaiao;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz:Dbb"):C("b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuixkbeeeddddillviebeoweuec:W:Odkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WboY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbrl79IV9Rbwq;BZkdbk;jYi5ud9:du8Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxcj;abad9Uc;WFbGcjdadca0EhmaialfgPar9Rgoadfhsavaoadz:jjjjbgzceVhHcbhOdndninaeaO9nmeaPax9RaD6mdamaeaO9RaOamfgoae6EgAcsfglc9WGhCabaOad2fhXaAcethQaxaDfhiaOaeaoaeao6E9RhLalcl4cifcd4hKazcj;cbfaAfhYcbh8AazcjdfhEaHh3incbhodnawTmbaxa8Acd4fRbbhokaocFeGh5cbh8Eazcj;cbfhqinaih8Fdndndndna5a8Ecet4ciGgoc9:fPdebdkaPa8F9RaA6mrazcj;cbfa8EaA2fa8FaAz:jjjjb8Aa8FaAfhixdkazcj;cbfa8EaA2fcbaAz:kjjjb8Aa8FhixekaPa8F9RaK6mva8FaKfhidnaCTmbaPai9RcK6mbaocdtc:q1jjbfcj1jjbawEhaczhrcbhlinargoc9Wfghaqfhrdndndndndndnaaa8Fahco4fRbbalcoG4ciGcdtfydbPDbedvivvvlvkar9cb83bbarcwf9cb83bbxlkarcbaiRbdai8Xbb9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbaqaofgrcGfag9c8F1:NghcKtc8F91aicdfa8J9c8N1:Nfg8KRbbG86bbarcVfcba8KahcjeGcr4fghRbbag9cjjjjjl:dg8J9qE86bbarc7fcbaha8J9c8L1:NfghRbbag9cjjjjjd:dg8J9qE86bbarctfcbaha8J9c8K1:NfghRbbag9cjjjjje:dg8J9qE86bbarc91fcbaha8J9c8J1:NfghRbbag9cjjjj;ab:dg8J9qE86bbarc4fcbaha8J9cg1:NfghRbbag9cjjjja:dg8J9qE86bbarc93fcbaha8J9ch1:NfghRbbag9cjjjjz:dgg9qE86bbarc94fcbahag9ca1:NfghRbbai8Xbe9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbarc95fag9c8F1:NgicKtc8F91aha8J9c8N1:NfghRbbG86bbarc96fcbahaicjeGcr4fgiRbbag9cjjjjjl:dg8J9qE86bbarc97fcbaia8J9c8L1:NfgiRbbag9cjjjjjd:dg8J9qE86bbarc98fcbaia8J9c8K1:NfgiRbbag9cjjjjje:dg8J9qE86bbarc99fcbaia8J9c8J1:NfgiRbbag9cjjjj;ab:dg8J9qE86bbarc9:fcbaia8J9cg1:NfgiRbbag9cjjjja:dg8J9qE86bbarcufcbaia8J9ch1:NfgiRbbag9cjjjjz:dgg9qE86bbaiag9ca1:NfhixikaraiRblaiRbbghco4g8Ka8KciSg8KE86bbaqaofgrcGfaiclfa8Kfg8KRbbahcl4ciGg8La8LciSg8LE86bbarcVfa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc7fa8Ka8Lfg8KRbbahciGghahciSghE86bbarctfa8Kahfg8KRbbaiRbeghco4g8La8LciSg8LE86bbarc91fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc4fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc93fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc94fa8Kahfg8KRbbaiRbdghco4g8La8LciSg8LE86bbarc95fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc96fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc97fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc98fa8KahfghRbbaiRbigico4g8Ka8KciSg8KE86bbarc99faha8KfghRbbaicl4ciGg8Ka8KciSg8KE86bbarc9:faha8KfghRbbaicd4ciGg8Ka8KciSg8KE86bbarcufaha8KfgrRbbaiciGgiaiciSgiE86bbaraifhixdkaraiRbwaiRbbghcl4g8Ka8KcsSg8KE86bbaqaofgrcGfaicwfa8Kfg8KRbbahcsGghahcsSghE86bbarcVfa8KahfghRbbaiRbeg8Kcl4g8La8LcsSg8LE86bbarc7faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarctfaha8KfghRbbaiRbdg8Kcl4g8La8LcsSg8LE86bbarc91faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc4faha8KfghRbbaiRbig8Kcl4g8La8LcsSg8LE86bbarc93faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc94faha8KfghRbbaiRblg8Kcl4g8La8LcsSg8LE86bbarc95faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc96faha8KfghRbbaiRbvg8Kcl4g8La8LcsSg8LE86bbarc97faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc98faha8KfghRbbaiRbog8Kcl4g8La8LcsSg8LE86bbarc99faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc9:faha8KfghRbbaiRbrgicl4g8Ka8KcsSg8KE86bbarcufaha8KfgrRbbaicsGgiaicsSgiE86bbaraifhixekarai8Pbb83bbarcwfaicwf8Pbb83bbaiczfhikdnaoaC9pmbalcdfhlaoczfhraPai9RcL0mekkaoaC6moaimexokaCmva8FTmvkaqaAfhqa8Ecefg8Ecl9hmbkdndndndnawTmbasa8Acd4fRbbgociGPlbedrbkaATmdaza8Afh8Fazcj;cbfhhcbh8EaEhaina8FRbbhraahocbhlinaoahalfRbbgqce4cbaqceG9R7arfgr86bbaoadfhoaAalcefgl9hmbkaacefhaa8Fcefh8FahaAfhha8Ecefg8Ecl9hmbxikkaATmeaza8Afhaazcj;cbfhhcbhoceh8EaYh8FinaEaofhlaa8Vbbhrcbhoinala8FaofRbbcwtahaofRbbgqVc;:FiGce4cbaqceG9R7arfgr87bbaladfhlaLaocefgofmbka8FaQfh8FcdhoaacdfhaahaQfhha8EceGhlcbh8EalmbxdkkaATmbcbaocl49Rh8Eaza8AfRbbhqcwhoa3hlinalRbbaotaqVhqalcefhlaocwfgoca9hmbkcbhhaEh8FaYhainazcj;cbfahfRbbhrcwhoaahlinalRbbaotarVhralaAfhlaocwfgoca9hmbkara8E93aq7hqcbhoa8Fhlinalaqao486bbalcefhlaocwfgoca9hmbka8Fadfh8FaacefhaahcefghaA9hmbkkaEclfhEa3clfh3a8Aclfg8Aad6mbkaXazcjdfaAad2z:jjjjb8AazazcjdfaAcufad2fadz:jjjjb8AaAaOfhOaihxaimbkc9:hoxdkcbc99aPax9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaok:XseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:kjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiaPfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaOfhiazaOfhxxekaxcbalRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhAascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhzaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkaOhlxekalcefhlkaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDclfaO87ebaDcdfaz87ebxekabarcdtfgDaABdbaDcwfaOBdbaDclfazBdbkavc;abfaocitfgDazBdbaDaABdlavaicdtfaABdbavc;abfaocefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfaocdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnaecvfal9nmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;oiliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavciGfgkcd7cetfaD87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavcufciGfcetfaD87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohvxekcjjjj94hvkabakcetfav87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk:Tvirud99eudndnadcl9hmbaeTmeindndnabRbbgiabcefgl8Sbbgvabcdfgo8Sbbgrf9R:YJbbuJabcifgwRbbgdce4adVgDcd4aDVgDcl4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax86bbdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao86bbdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai86bbdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad86bbabclfhbaecufgembxdkkaeTmbindndnab8Vebgiabcdfgl8Uebgvabclfgo8Uebgrf9R:YJbFu9habcofgw8Vebgdce4adVgDcd4aDVgDcl4aDVgDcw4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax87ebdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao87ebdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai87ebdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad87ebabcwfhbaecufgembkkk9teiucbcbyd:K1jjbgeabcifc98GfgbBd:K1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkk81dbcjwk8Kbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbc:Kwkl8WNbb"),Q=WebAssembly.instantiate(I,{}).then(function(n){(g=n.instance).exports.__wasm_call_ctors()});function C(n){for(var r=new Uint8Array(n.length),c=0;c<n.length;++c){var D=n.charCodeAt(c);r[c]=D>96?D-97:D>64?D-39:D+4}var b=0;for(c=0;c<n.length;++c)r[b++]=r[c]<60?A[r[c]]:64*(r[c]-60)+r[++c];return r.buffer.slice(0,b)}function E(n,r,c,D,b,h,w){var f=n.exports.sbrk,p=D+3&-4,R=f(p*b),m=f(h.length),G=new Uint8Array(n.exports.memory.buffer);G.set(h,m);var k=r(R,D,b,m,h.length);if(k==0&&w&&w(R,p,b),c.set(G.subarray(R,R+D*b)),f(R-f(0)),k!=0)throw new Error("Malformed buffer data: "+k)}var a={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp",COLOR:"meshopt_decodeFilterColor"},i={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},t=[],e=0;function o(n){var r={object:new Worker(n),pending:0,requests:{}};return r.object.onmessage=function(c){var D=c.data;r.pending-=D.count,r.requests[D.id][D.action](D.value),delete r.requests[D.id]},r}function s(n){var r=n.data;if(!r.id)return self.close();self.ready.then(function(c){try{var D=new Uint8Array(r.count*r.size);E(c,c.exports[r.mode],D,r.count,r.size,r.source,c.exports[r.filter]),self.postMessage({id:r.id,count:r.count,action:"resolve",value:D},[D.buffer])}catch(b){self.postMessage({id:r.id,count:r.count,action:"reject",value:b})}})}return{ready:Q,supported:!0,useWorkers:function(n){(function(r){for(var c="self.ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(I)+"]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = "+s.name+";"+E.toString()+s.toString(),D=new Blob([c],{type:"text/javascript"}),b=URL.createObjectURL(D),h=t.length;h<r;++h)t[h]=o(b);for(h=r;h<t.length;++h)t[h].object.postMessage({});t.length=r,URL.revokeObjectURL(b)})(n)},decodeVertexBuffer:function(n,r,c,D,b){E(g,g.exports.meshopt_decodeVertexBuffer,n,r,c,D,g.exports[a[b]])},decodeIndexBuffer:function(n,r,c,D){E(g,g.exports.meshopt_decodeIndexBuffer,n,r,c,D)},decodeIndexSequence:function(n,r,c,D){E(g,g.exports.meshopt_decodeIndexSequence,n,r,c,D)},decodeGltfBuffer:function(n,r,c,D,b,h){E(g,g.exports[i[b]],n,r,c,D,g.exports[a[h]])},decodeGltfBufferAsync:function(n,r,c,D,b){return t.length>0?function(h,w,f,p,R){for(var m=t[0],G=1;G<t.length;++G)t[G].pending<m.pending&&(m=t[G]);return new Promise(function(k,U){var S=new Uint8Array(f),j=++e;m.pending+=h,m.requests[j]={resolve:k,reject:U},m.object.postMessage({id:j,count:h,size:w,source:S,mode:p,filter:R},[S.buffer])})}(n,r,c,i[D],a[b]):Q.then(function(){var h=new Uint8Array(n*r);return E(g,g.exports[i[D]],h,n,r,c,g.exports[a[b]]),h})}}}();(function(){var B,A=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var g=WebAssembly.instantiate(function(a){for(var i=new Uint8Array(a.length),t=0;t<a.length;++t){var e=a.charCodeAt(t);i[t]=e>96?e-97:e>64?e-39:e+4}var o=0;for(t=0;t<a.length;++t)i[o++]=i[t]<60?A[i[t]]:64*(i[t]-60)+i[++t];return i.buffer.slice(0,o)}("b9H79Tebbbe:Gez9Geueu9Geub9Gbb9Gsuuuuuuuuuuuu99uueu9Gvuuuuub9Gruuuuuuub9Gouuuuuue999Gvuuuuueu9Gquuuuuuu99uueu9GPuuuuuuuuuuu99uueu9Gquuuuuuuu99ueu9Gruuuuuu99eu9Gwuuuuuu99ueu9Giuuue999Gluuuueu9GiuuueuiXCdilvorlwiDqkxmPbssbelve9Weiiviebeoweuec:G:Pdkr;7eko9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95br8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bw8A9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9O9v9W9K9HtWbDQ9TW79O9V9Wt9F79P9T9W29P9M959t29V9W9W95bqX9TW79O9V9Wt9F79P9T9W29P9M959qV919UWbkQ9TW79O9V9Wt9F79P9T9W29P9M959q9V9P9Ut7bxX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbma9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbPl79IV9RbsDwebcekdOAq:d;OeCdbk:J1eo3ue99euE99Cue9:8Jjjjjbcj;sb9Rgs8Kjjjjbcbhzasc:Cefcbc;Kbz:rjjjb8AdnabaeSmbabaeadcdtz:qjjjb8AkdnamcdGTmbalcrfci4gHcbyd1:jjjbHjjjjbbheasc:Cefasyd;8egOcdtfaeBdbasaOcefBd;8eaecbaHz:rjjjbhAcbhlcbhednadTmbcbhlabheadhHinaAaeydbgOci4fgCaCRbbgCceaOcrGgOtV86bbaCcu7aO4ceGalfhlaeclfheaHcufgHmbkcualcdtalcFFFFi0Ehekaecbyd1:jjjbHjjjjbbhzasc:Cefasyd;8egecdtfazBdbasaecefBd;8ealcd4alfhOcehHinaHgecethHaeaO6mbkcbhXcuaecdtgOaecFFFFi0Ecbyd1:jjjbHjjjjbbhHasc:Cefasyd;8egCcdtfaHBdbasaCcefBd;8eaHcFeaOz:rjjjbhQdnadTmbaecufhLcbhKindndnaQabaXcdtfgYydbgCc:v;t;h;Ev2aLGgOcdtfgAydbgHcuSmbceheinazaHcdtfydbaCSmdaOaefhHaecefheaQaHaLGgOcdtfgAydbgHcu9hmbkkazaKcdtfaCBdbaAaKBdbaKhHaKcefhKkaYaHBdbaXcefgXad9hmbkkaQcbyd:m:jjjbH:bjjjbbasasyd;8ecufBd;8ekcbh8AcualcefgecdtaecFFFFi0Ecbyd1:jjjbHjjjjbbhKasc:Cefasyd;8egecdtfaKBdbasaKBdNeasaecefBd;8ecuadcitadcFFFFe0Ecbyd1:jjjbHjjjjbbhEasc:Cefasyd;8egecdtfaEBdbasaEBd:yeasaecefBd;8eascNefabadalcbz:cjjjbcualcdtgealcFFFFi0Eg3cbyd1:jjjbHjjjjbbhCasc:Cefasyd;8egHcdtfaCBdbasaHcefBd;8ea3cbyd1:jjjbHjjjjbbhYasc:Cefasyd;8egHcdtfaYBdbasaHcefBd;8eaCaYaialavazasc:Cefz:djjjbalcbyd1:jjjbHjjjjbbh5asc:Cefasyd;8egHcdtfa5BdbasaHcefBd;8ea3cbyd1:jjjbHjjjjbbhHasc:Cefasyd;8egOcdtfaHBdbasaOcefBd;8ea3cbyd1:jjjbHjjjjbbhOasc:Cefasyd;8egAcdtfaOBdbasaAcefBd;8eaHcFeaez:rjjjbh8EaOcFeaez:rjjjbh8FdnalTmbaEcwfhaindnaKa8AgOcefg8AcdtfydbgAaKaOcdtgefydbgHSmbaAaH9RhhaEaHcitfhga8Faefh8Ja8Eaefh8KcbhQindndnagaQcitfydbgLaO9hmba8KaOBdba8JaOBdbxekdnaKaLcdtg8LfgeclfydbgHaeydbgeSmbaEaecitgAfydbaOSmeaHae9Rh8Maecu7aHfhXaaaAfhHcbheinaXaeSmeaecefheaHydbhAaHcwfhHaAaO9hmbkaea8M6meka8Fa8LfgeaOaLaeydbcuSEBdba8KaLaOa8KydbcuSEBdbkaQcefgQah9hmbkka8Aal9hmbkaChHaYhOa8FhAa8EhQcbheindndnaeaHydbgL9hmbdnaeaOydbgL9hmbaQydbhLdnaAydbgXcu9hmbaLcu9hmba5aefcb86bbxikdnaXcuSmbaLcuSmbaeaXSmbaCaXcdtfydbaCaLcdtfydb9hmba5aefcd86bbxika5aefh8KdnaeaXSmbaeaLSmba8Kce86bbxika8Kcl86bbxdkdnaeaYaLcdtgXfydb9hmbdnaAydbg8KcuSmbaea8KSmbaQydbghcuSmbaeahSmba8FaXfydbggcuSmbagaLSmba8EaXfydbgXcuSmbaXaLSmbdnaCa8KcdtfydbgLaCaXcdtfydb9hmbaLaCahcdtfydbgXSmbaXaCagcdtfydb9hmba5aefcd86bbxlka5aefcl86bbxika5aefcl86bbxdka5aefcl86bbxeka5aefa5aLfRbb86bbkaHclfhHaOclfhOaAclfhAaQclfhQalaecefge9hmbkdnamcaGTmbaEcwfh8Jcbh8Nindndna5a8NfgyRbbg8Pc9:fPibebekdndndnaCa8Ncdtfydbgea8N9hmbdnaqmbcbhgxdkdnazTmbcbhga8NheinagaqazaecdtgefydbfRbbcdGce4VhgaYaefydbgea8N9hmbxikkcbhga8NheinagaqaefRbbcdGce4VhgaYaecdtfydbgea8N9hmbxdkka5aefRbbhexeka8NheindnaKaecdtgafgeclfydbgHaeydbgeSmbaHae9Rh8AaEaecitfh8MaCaafh8Lcbh8Kina8Ma8KcitfydbgXhednindnaKaecdtgLfgeclfydbgHaeydbgeSmbdnaCaEaecitgOfydbcdtfydba8LydbgQ9hmbcehexikaHae9Rhhaecu7aHfhAa8JaOfhHcbheinaAaeSmeaecefheaHydbhOaHcwfhHaCaOcdtfydbaQ9hmbkaeah6hexdkaYaLfydbgeaX9hmbkcbhekagaece7Vhga8Kcefg8Ka8A9hmbkkaYaafydbgea8N9hmbka8PciagceGEhekayae86bbka8Ncefg8Nal9hmbkkdnaqTmbdndnazTmbazheaChHalhOindnaqaeydbfRbbceGTmba5aHydbfcl86bbkaeclfheaHclfhHaOcufgOmbxdkkaChealhHindnaqRbbceGTmba5aeydbfcl86bbkaqcefhqaeclfheaHcufgHmbkkaChealhOa5hHindna5aeydbfRbbcl9hmbaHcl86bbkaeclfheaHcefhHaOcufgOmbkkamceGTmba5healhHindnaeRbbce9hmbaecl86bbkaecefheaHcufgHmbkkcbhIcualcx2alc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbhaasc:Cefasyd;8egecdtfaaBdbasaecefBd;8easc:qefcbBdbas9cb83i1eaaaialavazasc1efz:ejjjbh8RdndnaDmbcbh8Scbh8Lxekcbh8LawhecbhHindnaeIdbJbbbb9ETmbasa8LcdtfaHBdba8Lcefh8LkaeclfheaDaHcefgH9hmbkcua8Lal2gecdtaecFFFFi0Ecbyd1:jjjbHjjjjbbh8Sasc:Cefasyd;8egecdtfa8SBdbasaecefBd;8ealTmbdna8Lmbcbh8Lxekarcd4hXdnazTmba8Lcdth8KcbhLa8ShKinaoazaLcdtfydbaX2cdtfhQasheaKhHa8LhOinaHaQaeydbcdtgAfIdbawaAfIdbNUdbaeclfheaHclfhHaOcufgOmbkaKa8KfhKaLcefgLal9hmbxdkka8Lcdth8KcbhLa8ShKinaoaLaX2cdtfhQasheaKhHa8LhOinaHaQaeydbcdtgAfIdbawaAfIdbNUdbaeclfheaHclfhHaOcufgOmbkaKa8KfhKaLcefgLal9hmbkkcualc8S2gHalc;D;O;f8U0EgAcbyd1:jjjbHjjjjbbheasc:Cefasyd;8egOcdtfaeBdbasaOcefBd;8eaecbaHz:rjjjbhycbhqcbh8Ndna8LTmbcbhIaAcbyd1:jjjbHjjjjbbh8Nasc:Cefasyd;8egecdtfa8NBdbasaecefBd;8ea8NcbaHz:rjjjb8Acua8Lal2gecltgHaecFFFFb0Ecbyd1:jjjbHjjjjbbhqasc:Cefasyd;8egecdtfaqBdbasaecefBd;8eaqcbaHz:rjjjb8AamcjjjjdGTmbcualcltgealcFFFFb0Ecbyd1:jjjbHjjjjbbhIasc:Cefasyd;8egHcdtfaIBdbasaHcefBd;8eaIcbaez:rjjjb8AkdnadTmbcbhQabhHinaaaHclfydbgLcx2fgeIdbaaaHydbgKcx2fgOIdbgR:tg8UaaaHcwfydbgXcx2fgAIdlaOIdlg8V:tg8WNaAIdbaR:tg8XaeIdla8V:tg8YN:tg8Zh80aeIdwaOIdwg81:tgBa8XNaAIdwa81:tg83a8UN:tgUh8Xa8Ya83Na8WaBN:tg8Yh8Udna8Za8ZNa8Ya8YNaUaUNMM:rgBJbbbb9EgOTmba8ZaB:vh80aUaB:vh8Xa8YaB:vh8UkayaCaKcdtfydbgAc8S2fgea8UaB:rg8Wa8UNNg85aeIdbMUdbaea8Xa8Wa8XNg86Ng87aeIdlMUdlaea80a8Wa80Ng83Ng88aeIdwMUdwaea86a8UNg86aeIdxMUdxaea83a8UNg89aeIdzMUdzaea83a8XNg8:aeIdCMUdCaea8Ua8Wa80a81Na8UaRNa8Va8XNMM:mgZNg83Ng8UaeIdKMUdKaea8Xa83Ng8XaeId3MUd3aea80a83Ng80aeIdaMUdaaea83aZNg83aeId8KMUd8Kaea8WaeIdyMUdyayaCaLcdtfydbgLc8S2fgea85aeIdbMUdbaea87aeIdlMUdlaea88aeIdwMUdwaea86aeIdxMUdxaea89aeIdzMUdzaea8:aeIdCMUdCaea8UaeIdKMUdKaea8XaeId3MUd3aea80aeIdaMUdaaea83aeId8KMUd8Kaea8WaeIdyMUdyayaCaXcdtfydbgKc8S2fgea85aeIdbMUdbaea87aeIdlMUdlaea88aeIdwMUdwaea86aeIdxMUdxaea89aeIdzMUdzaea8:aeIdCMUdCaea8UaeIdKMUdKaea8XaeId3MUd3aea80aeIdaMUdaaea83aeId8KMUd8Kaea8WaeIdyMUdydnaITmbdnaOTmba8ZaB:vh8ZaUaB:vhUa8YaB:vh8YkaIaAcltfgeaBJbbbZNg8UaUNg8WaeIdlMUdlaea8Ua8ZNg8XaeIdwMUdwaea8Ua8YNg80aeIdbMUdbaea8UaR:ma8YNaUa8VN:ta81a8ZN:tNg8UaeIdxMUdxaIaLcltfgea8WaeIdlMUdlaea8XaeIdwMUdwaea80aeIdbMUdbaea8UaeIdxMUdxaIaKcltfgea8WaeIdlMUdlaea8XaeIdwMUdwaea80aeIdbMUdbaea8UaeIdxMUdxkaHcxfhHaQcifgQad6mbkkdnalTmbJ;n;m;m89J:v:;;w8ZamczGEh8YcbhOaChAaahHayheindnaOaAydb9hmbaecxfgQaQIdbJbbbbMUdbaeczfgQaQIdbJbbbbMUdbaecCfgQaQIdbJbbbbMUdbaea8YaecyfgQIdbg8ZNg8UaeIdbMUdbaeclfgLa8UaLIdbMUdbaecwfgLa8UaLIdbMUdbaecKfgLaLIdbaHIdbg8Xa8UN:tUdbaHcwfIdbh8Waec3fgLaLIdba8UaHclfIdbg80N:tUdbaecafgLaLIdba8Ua8WN:tUdbaec8KfgLIdbhUaQa8Za8UMUdbaLaUa8Ua8Wa8WNa8Xa8XNa80a80NMMNMUdbkaAclfhAaHcxfhHaec8SfhealaOcefgO9hmbkkdnadTmbcbhXabhKinabaXcdtfhLcbhHina5aLaHc:G1jjbfydbcdtfydbgOfRbbhedndna5aKaHfydbgAfRbbgQc99fcFeGcpe0mbaec99fcFeGc;:e6mekdnaQcufcFeGce0mba8EaAcdtfydbaO9hmekdnaecufcFeGce0mba8FaOcdtfydbaA9hmekJbbacJbbacJbbbZaecFeGceSEaQcFeGceSEh88aaaOcx2fgeIdwaaaAcx2fgQIdwgB:tg80:mh86aeIdlaQIdlg83:tg8Z:mh89aeIdbaQIdbgR:tgU:mh8:dnaaaLaHc:K1jjbfydbcdtfydbcx2fgeIdwaB:tg8Va80a80NaUaUNa8Za8ZNMMg8YNa8Va80NaeIdbaR:tg81aUNa8ZaeIdla83:tg85NMMg8Wa80N:tg8Xa8XNa81a8YNa8WaUN:tg8Ua8UNa85a8YNa8Wa8ZN:tg8Wa8WNMM:rg87Jbbbb9ETmba8Xa87:vh8Xa8Wa87:vh8Wa8Ua87:vh8Uka88a8Y:rNg8Ya8XaBNa8UaRNa83a8WNMM:mgZNg87aZNhZa8Xa87Nhna8Wa87Nhca8Ua87Nh9ca8Ya8XNg87a8WNhJa87a8UNh9ea8Ya8WNgTa8UNhSa8Xa87Nh87a8WaTNhTa8Ua8Ya8UNNh9hdnaUa85Na81a89NMg8Xa8XNa8Za8VNa85a86NMg8Ua8UNa80a81Na8Va8:NMg8Wa8WNMM:rg80Jbbbb9ETmba8Xa80:vh8Xa8Wa80:vh8Wa8Ua80:vh8UkayaCaAcdtfydbc8S2fgeaeIdba9ha8Ua88a80:rNg80a8UNNMgUMUdbaeaTa8Wa80a8WNg8VNMg81aeIdlMUdlaea87a8Xa80a8XNg8ZNMg85aeIdwMUdwaeaSa8Va8UNMg8VaeIdxMUdxaea9ea8Za8UNMg87aeIdzMUdzaeaJa8Za8WNMg8ZaeIdCMUdCaea9ca8Ua80a8XaBNa8UaRNa83a8WNMMgB:mNg80NMg8UaeIdKMUdKaeaca8Wa80NMg8WaeId3MUd3aeana8Xa80NMg8XaeIdaMUdaaeaZaBa80N:tg80aeId8KMUd8Kaea8YJbbbbMg8YaeIdyMUdyayaCaOcdtfydbc8S2fgeaUaeIdbMUdbaea81aeIdlMUdlaea85aeIdwMUdwaea8VaeIdxMUdxaea87aeIdzMUdzaea8ZaeIdCMUdCaea8UaeIdKMUdKaea8WaeId3MUd3aea8XaeIdaMUdaaea80aeId8KMUd8Kaea8YaeIdyMUdykaHclfgHcx9hmbkaKcxfhKaXcifgXad6mbka8LTmbcbhKinJbbbbh8YaaabaKcdtfgeclfydbgXcx2fgHIdwaaaeydbg8Kcx2fgOIdwg81:tg8Wa8WNaHIdbaOIdbg85:tg8Xa8XNaHIdlaOIdlg87:tg80a80NMMgRaaaecwfydbghcx2fgeIdwa81:tg8ZNa8Wa8Wa8ZNa8XaeIdba85:tgUNa80aeIdla87:tgBNMMg8UN:tJbbbbJbbjZaRa8Za8ZNaUaUNaBaBNMMg8VNa8Ua8UN:tg83:va83Jbbbb9BEg83Nh89a8Va8WNa8Za8UN:ta83Nh8:aRaBNa80a8UN:ta83NhZa8Va80NaBa8UN:ta83NhnaRaUNa8Xa8UN:ta83Nhca8Va8XNaUa8UN:ta83Nh9ca8XaBNaUa80N:tg8Ua8UNa80a8ZNaBa8WN:tg8Ua8UNa8WaUNa8Za8XN:tg8Ua8UNMM:rJbbbZNh8Ua8Sa8Ka8L2ggcdtfhHa8Saha8L2gEcdtfhOa8SaXa8L2g8JcdtfhAa81:mhJa87:mh9ea85:mhTcbhQa8LhLJbbbbhBJbbbbh83JbbbbhRJbbbbh8VJbbbbh81Jbbbbh85Jbbbbh87Jbbbbh88Jbbbbh86inascjdfaQfgecwfa8Ua8:aAIdbaHIdbg8Z:tg80Na89aOIdba8Z:tgUNMg8WNUdbaeclfa8Uana80NaZaUNMg8XNUdbaea8Ua9ca80NacaUNMg80NUdbaecxfa8UaJa8WNa9ea8XNa8ZaTa80NMMMg8ZNUdba8Ua8Wa8XNNa8VMh8Va8Ua8Wa80NNa81Mh81a8Ua8Xa80NNa85Mh85a8Ua8Za8ZNNa8YMh8Ya8Ua8Wa8ZNNaBMhBa8Ua8Xa8ZNNa83Mh83a8Ua80a8ZNNaRMhRa8Ua8Wa8WNNa87Mh87a8Ua8Xa8XNNa88Mh88a8Ua80a80NNa86Mh86aHclfhHaAclfhAaOclfhOaQczfhQaLcufgLmbka8Na8Kc8S2fgea86aeIdbMUdbaea88aeIdlMUdlaea87aeIdwMUdwaea85aeIdxMUdxaea81aeIdzMUdzaea8VaeIdCMUdCaeaRaeIdKMUdKaea83aeId3MUd3aeaBaeIdaMUdaaea8YaeId8KMUd8Kaea8UaeIdyMUdya8NaXc8S2fgea86aeIdbMUdbaea88aeIdlMUdlaea87aeIdwMUdwaea85aeIdxMUdxaea81aeIdzMUdzaea8VaeIdCMUdCaeaRaeIdKMUdKaea83aeId3MUd3aeaBaeIdaMUdaaea8YaeId8KMUd8Kaea8UaeIdyMUdya8Nahc8S2fgea86aeIdbMUdbaea88aeIdlMUdlaea87aeIdwMUdwaea85aeIdxMUdxaea81aeIdzMUdzaea8VaeIdCMUdCaeaRaeIdKMUdKaea83aeId3MUd3aeaBaeIdaMUdaaea8YaeId8KMUd8Kaea8UaeIdyMUdyaqagcltfhLcbhHa8LhAinaLaHfgeascjdfaHfgOIdbaeIdbMUdbaeclfgQaOclfIdbaQIdbMUdbaecwfgQaOcwfIdbaQIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbkaqa8JcltfhLcbhHa8LhAinaLaHfgeascjdfaHfgOIdbaeIdbMUdbaeclfgQaOclfIdbaQIdbMUdbaecwfgQaOcwfIdbaQIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbkaqaEcltfhLcbhHa8LhAinaLaHfgeascjdfaHfgOIdbaeIdbMUdbaeclfgQaOclfIdbaQIdbMUdbaecwfgQaOcwfIdbaQIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbkaKcifgKad6mbkkcbhOdndnamcwGg9imbJbbbbh85cbh6cbh9kcbh0xekcbh6a3cbyd1:jjjbHjjjjbbh0asc:Cefasyd;8egecdtfa0BdbasaecefBd;8ecua0alabadaCz:fjjjbgAcltaAcjjjjiGEcbyd1:jjjbHjjjjbbh9kasc:Cefasyd;8egecdtfa9kBdbasaecefBd;8ea9kaAa0aaalz:gjjjbJFFuuh85aATmba9kheaAhHinaeIdbg8Ua85a85a8U9EEh85aeclfheaHcufgHmbkaAh6kasydNeh9mdnalTmba9mclfhea9mydbhAa5hHalhQcbhOincbaeydbgLaA9RaHRbbcpeGEaOfhOaHcefhHaeclfheaLhAaQcufgQmbkaOce4hOkcuadaO9Rcifg9ncx2a9nc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbh8Pasc:Cefasyd;8egecdtfa8PBdbasaecefBd;8ecua9ncdta9ncFFFFi0Ecbyd1:jjjbHjjjjbbh9oasc:Cefasyd;8egecdtfa9oBdbasaecefBd;8ea3cbyd1:jjjbHjjjjbbhDasc:Cefasyd;8egecdtfaDBdbasaecefBd;8ealcbyd1:jjjbHjjjjbbh9pasc:Cefasyd;8egecdtfa9pBdbasaecefBd;8eaxaxNa8RJbbjZamclGEgnanN:vh88Jbbbbh86dnadak9nmbdna9nci6mbasyd:yeh9qa8Lclth9ra8Pcwfh9sJbbbbh87Jbbbbh86inascNefabadalaCz:cjjjbabh8Kcbh8Mcbh3inaba3cdtfhgcbheindnaCa8KaefydbgOcdtgXfydbgAaCagaec:W1jjbfydbcdtfydbgHcdtghfydbgQSmba5aHfRbbgKcv2a5aOfRbbgLfc;a1jjbfRbbg8JaLcv2aKfgEc;a1jjbfRbbg8AVcFeGTmbdnaQaA9nmbaEc;G1jjbfRbbcFeGmekdnaLcufcFeGce0mbaKTmba8EaXfydbaH9hmekdnaLTmbaKcufcFeGce0mba8FahfydbaO9hmeka8Pa8Mcx2fgAaHaOa8AcFeGgQEBdlaAaOaHaQEBdbaAaQa8JGcb9hBdwa8Mcefh8Mkaeclfgecx9hmbkdna3cifg3ad9pmba8Kcxfh8Ka8Mcifa9n9nmekka8MTmdcbhhinayaCa8Pahcx2fgKydbgQcdtgAfydbc8S2fgeIdwaaaKydlgLcx2fgHIdwg8XNaeIdzaHIdbg80NaeIdaMg8Ua8UMMa8XNaeIdlaHIdlg8ZNaeIdCa8XNaeId3Mg8Ua8UMMa8ZNaeIdba80NaeIdxa8ZNaeIdKMg8Ua8UMMa80NaeId8KMMM:lh8UJbbbbJbbjZaeIdyg8W:va8WJbbbb9BEh8WdndnaKydwg8KmbJFFuuh81xekJbbbbJbbjZayaCaLcdtfydbc8S2fgeIdygU:vaUJbbbb9BEaeIdwaaaQcx2fgHIdwgUNaeIdzaHIdbg8YNaeIdaMgBaBMMaUNaeIdlaHIdlgBNaeIdCaUNaeId3MgUaUMMaBNaeIdba8YNaeIdxaBNaeIdKMgUaUMMa8YNaeId8KMMM:lNh81ka8Wa8UNh8Vdna8LTmba8NaQc8S2fgHIdwa8XNaHIdza80NaHIdaMg8Ua8UMMa8XNaHIdla8ZNaHIdCa8XNaHId3Mg8Ua8UMMa8ZNaHIdba80NaHIdxa8ZNaHIdKMg8Ua8UMMa80NaHId8KMMMh8UaqaQa8L2ggcltfheaHIdyhUa8SaLa8L2gEcdtfgXhHa8LhOinaHIdbg8Wa8WaUNaecxfIdba8XaecwfIdbNa80aeIdbNa8ZaeclfIdbNMMMg8Wa8WM:tNa8UMh8UaHclfhHaeczfheaOcufgOmbkdndna8KmbJbbbbh8Wxeka8NaLc8S2fgOIdwaaaQcx2fgeIdwg8YNaOIdzaeIdbgBNaOIdaMg8Wa8WMMa8YNaOIdlaeIdlg83NaOIdCa8YNaOId3Mg8Wa8WMMa83NaOIdbaBNaOIdxa83NaOIdKMg8Wa8WMMaBNaOId8KMMMh8Wa8SagcdtfhHaqaEcltfheaOIdyhRa8LhOinaHIdbgUaUaRNaecxfIdba8YaecwfIdbNaBaeIdbNa83aeclfIdbNMMMgUaUM:tNa8WMh8WaHclfhHaeczfheaOcufgOmbka8W:lh8Wka8Va8U:lMh8Va81a8WMh81dndndna5aQfRbbc9:fPdbedkdna8Fa8Ea8EaAfydbaLSEaYaAfydbgXcdtfydbgAcu9hmbaYaLcdtfydbhAka8NaXc8S2fgOIdwaaaAcx2fgeIdwg8XNaOIdzaeIdbg80NaOIdaMg8Ua8UMMa8XNaOIdlaeIdlg8ZNaOIdCa8XNaOId3Mg8Ua8UMMa8ZNaOIdba80NaOIdxa8ZNaOIdKMg8Ua8UMMa80NaOId8KMMMh8Ua8SaAa8L2ggcdtfhHaqaXa8L2gEcltfheaOIdyhUa8LhOinaHIdbg8Wa8WaUNaecxfIdba8XaecwfIdbNa80aeIdbNa8ZaeclfIdbNMMMg8Wa8WM:tNa8UMh8UaHclfhHaeczfheaOcufgOmbkdndna8KmbJbbbbh8Wxeka8NaAc8S2fgOIdwaaaXcx2fgeIdwg80NaOIdzaeIdbg8ZNaOIdaMg8Wa8WMMa80NaOIdlaeIdlgUNaOIdCa80NaOId3Mg8Wa8WMMaUNaOIdba8ZNaOIdxaUNaOIdKMg8Wa8WMMa8ZNaOId8KMMMh8Wa8SaEcdtfhHaqagcltfheaOIdyh8Ya8LhOinaHIdbg8Xa8Xa8YNaecxfIdba80aecwfIdbNa8ZaeIdbNaUaeclfIdbNMMMg8Xa8XM:tNa8WMh8WaHclfhHaeczfheaOcufgOmbka8W:lh8Wka8Va8U:lMh8Va81a8WMh81xdkaYaAfydbgAaQSmbina8NaAc8S2fgHIdwa8XNaHIdza80NaHIdaMg8Ua8UMMa8XNaHIdla8ZNaHIdCa8XNaHId3Mg8Ua8UMMa8ZNaHIdba80NaHIdxa8ZNaHIdKMg8Ua8UMMa80NaHId8KMMMh8UaqaAa8L2cltfheaHIdyhUaXhHa8LhOinaHIdbg8Wa8WaUNaecxfIdba8XaecwfIdbNa80aeIdbNa8ZaeclfIdbNMMMg8Wa8WM:tNa8UMh8UaHclfhHaeczfheaOcufgOmbka8Va8U:lMh8VaYaAcdtfydbgAaQ9hmbkka5aLfRbbci9hmba8KTmbaYaLcdtfydbgAaLSmba8SagcdtfhXaaaQcx2fgeIdbh8XaeIdwh80aeIdlh8Zina8NaAc8S2fgHIdwa80NaHIdza8XNaHIdaMg8Ua8UMMa80NaHIdla8ZNaHIdCa80NaHId3Mg8Ua8UMMa8ZNaHIdba8XNaHIdxa8ZNaHIdKMg8Ua8UMMa8XNaHId8KMMMh8UaqaAa8L2cltfheaHIdyhUaXhHa8LhOinaHIdbg8Wa8WaUNaecxfIdba80aecwfIdbNa8XaeIdbNa8ZaeclfIdbNMMMg8Wa8WM:tNa8UMh8UaHclfhHaeczfheaOcufgOmbka81a8U:lMh81aYaAcdtfydbgAaL9hmbkkaKa81a8Va81a8V9DgeEUdwaKaQaLaea8Kcb9hGgeEBdlaKaLaQaeEBdbahcefgha8M9hmbkascjdfcbcj;qbz:rjjjb8Aa9shea8MhHinascjdfaeydbcA4cF8FGgOcFAaOcFA6EcdtfgOaOydbcefBdbaecxfheaHcufgHmbkcbhecbhHinascjdfaefgOydbhAaOaHBdbaAaHfhHaeclfgecj;qb9hmbkcbhea9shHinascjdfaHydbcA4cF8FGgOcFAaOcFA6EcdtfgOaOydbgOcefBdba9oaOcdtfaeBdbaHcxfhHa8Maecefge9hmbkadak9RgOci9Uh9tdnalTmbcbheaDhHinaHaeBdbaHclfhHalaecefge9hmbkkcbh9ua9pcbalz:rjjjbh3aOcO9Uh9va9tce4h9wcbh8Acbh8Jdnina8Pa9oa8Jcdtfydbcx2fgEIdwg8Ua889Emea8Aa9t9pmeJFFuuh8Wdna9wa8M9pmba8Pa9oa9wcdtfydbcx2fIdwJbb;aZNh8Wkdna8Ua8W9ETmba8Ua869ETmba8Aa9v0mdkdna3aCaEydlghcdtg9xfydbgAfg9yRbba3aCaEydbg8Kcdtg9zfydbgefg9ARbbVmba5a8KfRbbh9Bdna9maecdtfgHclfydbgOaHydbgHSmbaOaH9RhQaaaAcx2fhKaaaecx2fhXa9qaHcitfhecbhHcehgdnindnaDaeydbcdtfydbgOaASmbaDaeclfydbcdtfydbgLaASmbaOaLSmbaaaLcx2fgLIdbaaaOcx2fgOIdbg8X:tg8UaXIdlaOIdlg80:tg8YNaXIdba8X:tgBaLIdla80:tg8WN:tg8Za8UaKIdla80:tg83NaKIdba8X:tgRa8WN:tg80Na8WaXIdwaOIdwgU:tg8VNa8YaLIdwaU:tg8XN:tg8Ya8WaKIdwaU:tg81Na83a8XN:tg8WNa8XaBNa8Va8UN:tgUa8XaRNa81a8UN:tg8UNMMa8Za8ZNa8Ya8YNaUaUNMMa80a80Na8Wa8WNa8Ua8UNMMN:rJbbj8:N9FmdkaecwfheaHcefgHaQ6hgaQaH9hmbkkagceGTmba9wcefh9wxekdndndndna9Bc9:fPdebdka8KheinaDaecdtgefahBdbaYaefydbgea8K9hmbxikkdna8Fa8Ea8Ea9zfydbahSEaYa9zfydbg8Kcdtfydbgecu9hmbaYa9xfydbhekaDa9zfahBdbaehhkaDa8KcdtfahBdbka9Ace86bba9yce86bbaEIdwg8Ua86a86a8U9DEh86a9ucefh9ucecda9BceSEa8Afh8Aka8Jcefg8Ja8M9hmbkka9uTmddnalTmbcbhLcbhXindnaDaXcdtgefydbgOaXSmbaCaOcdtfydbh8KdnaXaCaefydb9hghmbaya8Kc8S2fgeayaXc8S2fgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdyaITmbaIa8KcltfgeaIaXcltfgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxka8LTmba8NaOc8S2fgea8NaXc8S2ggfgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdya9raO2hKaqhHa8LhAinaHaKfgeaHaLfgOIdbaeIdbMUdbaeclfgQaOclfIdbaQIdbMUdbaecwfgQaOcwfIdbaQIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbkahmbJbbbbJbbjZayagfgeIdyg8U:va8UJbbbb9BEaeIdwaaa8Kcx2fgHIdwg8UNaeIdzaHIdbg8WNaeIdaMg8Xa8XMMa8UNaeIdlaHIdlg8XNaeIdCa8UNaeId3Mg8Ua8UMMa8XNaeIdba8WNaeIdxa8XNaeIdKMg8Ua8UMMa8WNaeId8KMMM:lNg8Ua87a87a8U9DEh87kaLa9rfhLaXcefgXal9hmbkcbhHa8EheindnaeydbgOcuSmbdnaHaDaOcdtgAfydbgO9hmbcuhOa8EaAfydbgAcuSmbaDaAcdtfydbhOkaeaOBdbkaeclfhealaHcefgH9hmbkcbhHa8FheindnaeydbgOcuSmbdnaHaDaOcdtgAfydbgO9hmbcuhOa8FaAfydbgAcuSmbaDaAcdtfydbhOkaeaOBdbkaeclfhealaHcefgH9hmbkka87a86a8LEh87cbhHabhecbhOindnaCaDaeydbcdtfydbgLcdtfydbgAaCaDaeclfydbcdtfydbgKcdtfydbgQSmbaAaCaDaecwfydbcdtfydbg8KcdtfydbgXSmbaQaXSmbabaHcdtfgAaLBdbaAcwfa8KBdbaAclfaKBdbaHcifhHkaecxfheaOcifgOad6mbkdndna9imbaHhdxekdnaHak0mbaHhdxekdna85a879FmbaHhdxekJFFuuh85cbhdabhecbhOindna9ka0aeydbgAcdtfydbcdtfIdbg8Ua879ETmbaeclf8Pdbh9CabadcdtfgQaABdbaQclfa9C83dba8Ua85a85a8U9EEh85adcifhdkaecxfheaOcifgOaH6mbkkadak0mbxdkkascNefabadalaCz:cjjjbkdndnadak0mbadhOxekdna9imbadhOxekdna85a889FmbadhOxekcehLina85Jbb;aZNg8Ua88a8Ua889DEh8XJbbbbh8Udna6Tmba9khea6hHinaeIdbg8Wa8Ua8Wa8X9FEa8Ua8Wa8U9EEh8UaeclfheaHcufgHmbkkJFFuuh85cbhOabhecbhHindna9ka0aeydbgAcdtfydbcdtfIdbg8Wa8X9ETmbaeclf8Pdbh9CabaOcdtfgQaABdbaQclfa9C83dba8Wa85a85a8W9EEh85aOcifhOkaecxfheaHcifgHad6mbkdnaLaOad9hVceGmbadhOxdka8Ua86a86a8U9DEh86aOak9nmecbhLaOhda85a889FmbkkdnamcjjjjdGTmba9pcbalz:rjjjbhLdnaOTmbabheaOhHinaLaeydbgAfa5aAfRbbcl9h86bbaeclfheaHcufgHmbkkascNefabaOalaCz:cjjjbalTmbcbhQasyd:yehgindnaLaQfRbbTmbdna5aQfRbbgecl0mbceaetcQGmekdnaCaQcdtgKfydbgeaQSmbaaaQcx2fgHaaaecx2fge8Pdb83dbaHcwfaecwfydbBdbxekayaQc8S2fgeIdyg8Ua8UJL:3;rUNg8UMh88aeIdwa8UMhRaeIdla8UMh8VaeIdba8UMhUaeIdaa8UaaaQcx2fg8KIdwg89N:th81aeId3a8Ua8KIdlg8:N:th85aeIdKa8KIdbgZa8UN:th8YJbbbbhcaeIdCJbbbbMh87aeIdzJbbbbMhBaeIdxJbbbbMh83dndna8LTmbaQhAinJbbbba88a8NaAc8S2fgHIdyg8U:va8UJbbbb9BEh8UaqaAa8L2cltfheaHIdaa88Na81Mh81aHId3a88Na85Mh85aHIdKa88Na8YMh8YaHIdCa88Na87Mh87aHIdza88NaBMhBaHIdxa88Na83Mh83aHIdwa88NaRMhRaHIdla88Na8VMh8VaHIdba88NaUMhUa8LhHina81aecxfIdbg8ZaecwfIdbg8WNa8UN:th81a85a8ZaeclfIdbg8XNa8UN:th85a87a8Wa8XNa8UN:th87aUaeIdbg80a80Na8UN:thUa8Ya8Za80Na8UN:th8YaBa8Wa80Na8UN:thBa83a8Xa80Na8UN:th83aRa8Wa8WNa8UN:thRa8Va8Xa8XNa8UN:th8VaeczfheaHcufgHmbkaYaAcdtfydbgAaQ9hmbkaITmbaIaQcltfgeIdxhTaeIdwh9caeIdlhJaeIdbh8UxekJbbbbhTJbbbbh9cJbbbbhJJbbbbh8UkaBaU:vg8Xa8YNa81:ta87aBa83aU:vg8WN:tg81a8Va83a8WN:tg8Z:vg80a8Wa8YNa85:tg8VN:th85a9ca8Ua8XN:taJa8Ua8WN:tg83a80N:tg87aRaBa8XN:ta81a80N:tgB:vgR:mh81a83a8Z:vg9c:mhJdnJbbbba8Ua8UaU:vg9eN:ta83a9cN:ta87aRN:tg83:la88J:983:g81Ng8U9ETmba81a85NaJa8VNa9ea8YNaT:tMMa83:vhckaU:la8U9ETmba8Z:la8U9ETmbaB:la8U9ETmba9e:macNa8X:ma81acNa85aB:vMg85Na8W:maJacNa80:ma85Na8Va8Z:vMMg87Na8Y:maU:vMMMh88a9maKfgeclfydbgHaeydbge9RhXagaecitfhKJbbbbh8UdnaHaeSghmbJbbbbh8UaKheaXhAinaaaeclfydbcx2fgHIdwa89:tg8Wa8WNaHIdbaZ:tg8Wa8WNaHIdla8::tg8Wa8WNMMg8Waaaeydbcx2fgHIdwa89:tg8Xa8XNaHIdbaZ:tg8Xa8XNaHIdla8::tg8Xa8XNMMg8Xa8Ua8Ua8X9DEg8Ua8Ua8W9DEh8UaecwfheaAcufgAmbkka85a89:tg8Wa8WNa88aZ:tg8Wa8WNa87a8::tg8Wa8WNMMa8U:rg8Ua8UN9EmbdnahmbcbhAcehhdninaaaKclfydbcx2fgeIdbaaaKydbcx2fgHIdbg8X:tg8Ua8:aHIdlg80:tg8YNaZa8X:tgBaeIdla80:tg8WN:tg8Za8Ua87a80:tg83Na88a8X:tgRa8WN:tg80Na8Wa89aHIdwgU:tg8VNa8YaeIdwaU:tg8XN:tg8Ya8Wa85aU:tg81Na83a8XN:tg8WNa8XaBNa8Va8UN:tgUa8XaRNa81a8UN:tg8UNMMa8Za8ZNa8Ya8YNaUaUNMMa80a80Na8Wa8WNa8Ua8UNMMN:rJbbj8:N9FmeaKcwfhKaAcefgAaX6hhaXaA9hmbkkahceGmeka8Ka85Udwa8Ka87Udla8Ka88UdbkaQcefgQal9hmbkdndna8LTmba8LclthYa8Lcdth8KcbhKa8ShXindnaLaKfRbbTmba5aKfRbbclSmbJbbbbJbbjZa8NaKc8S2fIdyg8U:va8UJbbbb9BEh8UaaaCaKcdtfydbcx2fhHaqheaXhAa8LhQinaAa8UaecwfIdbaHIdwNaeIdbaHIdbNaeclfIdbaHIdlNMMaecxfIdbMNUdbaeczfheaAclfhAaQcufgQmbkkaqaYfhqaXa8KfhXaKcefgKal9hmbkarcd4hXavcd4hYasId:qeh8UasId:meh8WasId1eh8XazTmea8Lcdth8KcbhKindnaLaKfRbbTmbaiazaKcdtfydbgCaY2cdtfgeaaaKcx2fgHIdba8RNa8XMUdbaeaHIdla8RNa8WMUdlaeaHIdwa8RNa8UMUdwaoaCaX2cdtfhQashea8ShHa8LhCinaQaeydbcdtgAfaHIdbawaAfIdb:vUdbaeclfheaHclfhHaCcufgCmbkka8Sa8Kfh8SaKcefgKal9hmbxikkavcd4hCasId:qeh8UasId:meh8WasId1eh8XdnazTmbazheindna9pRbbTmbaiaeydbaC2cdtfgHaaIdba8RNa8XMUdbaHaaclfIdba8RNa8WMUdlaHaacwfIdba8RNa8UMUdwka9pcefh9paeclfheaacxfhaalcufglmbxikkaCcdtheindna9pRbbTmbaiaaIdba8RNa8XMUdbaiclfaaclfIdba8RNa8WMUdbaicwfaacwfIdba8RNa8UMUdbka9pcefh9paacxfhaaiaefhialcufglmbxdkka8Lcdth8KcbhKindnaLaKfRbbTmbaiaKaY2cdtfgeaaaKcx2fgHIdba8RNa8XMUdbaeaHIdla8RNa8WMUdlaeaHIdwa8RNa8UMUdwaoaKaX2cdtfhQashea8ShHa8LhCinaQaeydbcdtgAfaHIdbawaAfIdb:vUdbaeclfheaHclfhHaCcufgCmbkka8Sa8Kfh8SaKcefgKal9hmbkkdnamcjjjjlGTmbazmbaOTmbcbhLabheina5aeydbgAfRbbc3thKaecwfgXydbhHdndna8EaAcdtg8KfydbaeclfgYydbgCSmbcbhQa8FaCcdtfydbaA9hmekcjjjj94hQkaeaKaQVaAVBdba5aCfRbbc3thKdndna8EaCcdtfydbaHSmbcbhQa8FaHcdtfydbaC9hmekcjjjj94hQkaYaKaQVaCVBdba5aHfRbbc3thQdndna8EaHcdtfydbaASmbcbhCa8Fa8KfydbaH9hmekcjjjj94hCkaXaQaCVaHVBdbaecxfheaLcifgLaO6mbkkdnazTmbaOTmbaOheinabazabydbcdtfydbBdbabclfhbaecufgembkkdnaPTmbaPana86:rNUdbkasyd;8egecdtasc:Ceffc98fhHdninaeTmeaHydbcbyd:m:jjjbH:bjjjbbaHc98fhHaecufhexbkkascj;sbf8KjjjjbaOk;Yieouabydlhvabydbclfcbaicdtz:rjjjbhoadci9UhrdnadTmbdnalTmbaehwadhDinaoalawydbcdtfydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbxdkkaehwadhDinaoawydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbkkdnaiTmbcbhDaohwinawydbhqawaDBdbawclfhwaqaDfhDaicufgimbkkdnadci6mbinaecwfydbhwaeclfydbhDaeydbhidnalTmbalawcdtfydbhwalaDcdtfydbhDalaicdtfydbhikavaoaicdtfgqydbcitfaDBdbavaqydbcitfawBdlaqaqydbcefBdbavaoaDcdtfgqydbcitfawBdbavaqydbcitfaiBdlaqaqydbcefBdbavaoawcdtfgwydbcitfaiBdbavawydbcitfaDBdlawawydbcefBdbaecxfhearcufgrmbkkabydbcbBdbk:todDue99aicd4aifhrcehwinawgDcethwaDar6mbkcuaDcdtgraDcFFFFi0Ecbyd1:jjjbHjjjjbbhwaoaoyd9GgqcefBd9GaoaqcdtfawBdbawcFearz:rjjjbhkdnaiTmbalcd4hlaDcufhxcbhminamhDdnavTmbavamcdtfydbhDkcbadaDal2cdtfgDydlgwawcjjjj94SEgwcH4aw7c:F:b:DD2cbaDydbgwawcjjjj94SEgwcH4aw7c;D;O:B8J27cbaDydwgDaDcjjjj94SEgDcH4aD7c:3F;N8N27axGhwamcdthPdndndnavTmbakawcdtfgrydbgDcuSmeadavaPfydbal2cdtfgsIdbhzcehqinaqhrdnadavaDcdtfydbal2cdtfgqIdbaz9CmbaqIdlasIdl9CmbaqIdwasIdw9BmlkarcefhqakawarfaxGgwcdtfgrydbgDcu9hmbxdkkakawcdtfgrydbgDcuSmbadamal2cdtfgsIdbhzcehqinaqhrdnadaDal2cdtfgqIdbaz9CmbaqIdlasIdl9CmbaqIdwasIdw9BmikarcefhqakawarfaxGgwcdtfgrydbgDcu9hmbkkaramBdbamhDkabaPfaDBdbamcefgmai9hmbkkakcbyd:m:jjjbH:bjjjbbaoaoyd9GcufBd9GdnaeTmbaiTmbcbhDaehwinawaDBdbawclfhwaiaDcefgD9hmbkcbhDaehwindnaDabydbgrSmbawaearcdtfgrydbBdbaraDBdbkawclfhwabclfhbaiaDcefgD9hmbkkk:hrdvuv998Jjjjjbca9Rgoczfcwfcbyd11jjbBdbaocb8Pdj1jjb83izaocwfcbydN1jjbBdbaocb8Pd:m1jjb83ibdnadTmbaicd4hrdnabmbdnalTmbcbhwinaealawcdtfydbar2cdtfhDcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkawcefgwad9hmbxikkarcdthwcbhDincbhiinaoczfaifgqaeaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkaeawfheaDcefgDad9hmbxdkkdnalTmbcbhwinabawcx2fgiaealawcdtfydbar2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkawcefgwad9hmbxdkkarcdthlcbhwaehDinabawcx2fgiaeawar2cdtfgqIdbUdbaiaqIdlUdlaiaqIdwUdwcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkaDalfhDawcefgwad9hmbkkJbbbbaoIdbaoIdzgx:tgkakJbbbb9DEgkaoIdlaoIdCgm:tgPaPak9DEgkaoIdwaoIdKgP:tgsasak9DEhsdnabTmbadTmbJbbbbJbbjZas:vasJbbbb9BEhkinabakabIdbax:tNUdbabclfgoakaoIdbam:tNUdbabcwfgoakaoIdbaP:tNUdbabcxfhbadcufgdmbkkdnavTmbavaPUdwavamUdlavaxUdbkask:ZlewudnaeTmbcbhvabhoinaoavBdbaoclfhoaeavcefgv9hmbkkdnaiTmbcbhrinadarcdtfhwcbhDinalawaDcdtgvc:G1jjbfydbcdtfydbcdtfydbhodnabalawavfydbcdtfydbgqcdtfgkydbgvaqSmbinakabavgqcdtfgxydbgvBdbaxhkaqav9hmbkkdnabaocdtfgkydbgvaoSmbinakabavgocdtfgxydbgvBdbaxhkaoav9hmbkkdnaqaoSmbabaqaoaqao0Ecdtfaqaoaqao6EBdbkaDcefgDci9hmbkarcifgrai6mbkkdnaembcbskcbhxindnalaxcdtgvfydbax9hmbaxhodnabavfgDydbgvaxSmbaDhqinaqabavgocdtfgkydbgvBdbakhqaoav9hmbkkaDaoBdbkaxcefgxae9hmbkcbhvabhocbhkindndnavalydbgq9hmbdnavaoydbgq9hmbaoakBdbakcefhkxdkaoabaqcdtfydbBdbxekaoabaqcdtfydbBdbkaoclfhoalclfhlaeavcefgv9hmbkakk;Jiilud99duabcbaecltz:rjjjbhvdnalTmbadhoaihralhwinarcwfIdbhDarclfIdbhqavaoydbcltfgkarIdbakIdbMUdbakclfgxaqaxIdbMUdbakcwfgxaDaxIdbMUdbakcxfgkakIdbJbbjZMUdbaoclfhoarcxfhrawcufgwmbkkdnaeTmbavhraehkinarcxfgoIdbhDaocbBdbararIdbJbbbbJbbjZaD:vaDJbbbb9BEgDNUdbarclfgoaDaoIdbNUdbarcwfgoaDaoIdbNUdbarczfhrakcufgkmbkkdnalTmbinavadydbcltfgrcxfgkaicwfIdbarcwfIdb:tgDaDNaiIdbarIdb:tgDaDNaiclfIdbarclfIdb:tgDaDNMMgDakIdbgqaqaD9DEUdbadclfhdaicxfhialcufglmbkkdnaeTmbavcxfhrinabarIdbUdbarczfhrabclfhbaecufgembkkk8MbabaeadaialavcbcbcbcbcbaoarawaDz:bjjjbk8MbabaeadaialavaoarawaDaqakaxamaPz:bjjjbkRbababaeadaialavaoarawaDaqakaxcjjjjdVamz:bjjjbk:p8Koque99due99iuq998Jjjjjbc;Wb9Rgq8Kjjjjbcbhkaqcxfcbc;Kbz:rjjjb8Aaqcualcx2alc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbgxBdxaqceBd2axaialavcbcbz:ejjjb8AaqcualcdtalcFFFFi0Egmcbyd1:jjjbHjjjjbbgiBdzaqcdBd2dndnJFF959eJbbjZawJbbjZawJbbjZ9DE:vawJ9VO:d869DEgw:lJbbb9p9DTmbaw:OhPxekcjjjj94hPkadci9Uhsarco9UhzdndnaombaPcd9imekdnalTmbaPcuf:YhwdnaoTmbcbhvaihHaxhOindndnaoavfRbbceGTmbavcjjjjlVhAxekdndnaOclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcqthAdndnaOcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaAaXVhAdndnaOIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaAaXcCtVhAkaHaABdbaHclfhHaOcxfhOalavcefgv9hmbxdkkaxhvaihOalhHindndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcCthAdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaXcqtaAVhAdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaOaAaXVBdbavcxfhvaOclfhOaHcufgHmbkkadTmbcbhkaehvcbhOinakaiavclfydbcdtfydbgHaiavcwfydbcdtfydbgA9haiavydbcdtfydbgXaH9haXaA9hGGfhkavcxfhvaOcifgOad6mbkkarci9UhQdndnaz:Z:rJbbbZMgw:lJbbb9p9DTmbaw:Ohvxekcjjjj94hvkaQ:ZhLcbhKc:bwhHdndninashYaHhXaPhrakg8AaQ9pmeaXar9Rcd9imeavaXcufavaX9iEarcefavar9kEhzdnalTmbazcuf:YhwdnaoTmbcbhOaihPaxhvindndnaoaOfRbbceGTmbaOcjjjjlVhHxekdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhHxekcjjjj94hHkaHcqthHdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskaHasVhHdndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskaHascCtVhHkaPaHBdbaPclfhPavcxfhvalaOcefgO9hmbxdkkaxhvaihOalhPindndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhHxekcjjjj94hHkaHcCthHdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskascqtaHVhHdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskaOaHasVBdbavcxfhvaOclfhOaPcufgPmbkkcbhOdnadTmbaehvcbhPinaOaiavclfydbcdtfydbgHaiavcwfydbcdtfydbgs9haiavydbcdtfydbgAaH9haAas9hGGfhOavcxfhvaPcifgPad6mbkkaYhsaOhkaXhHazhPdnaOaQ9nmbaOhsa8AhkazhHarhPkdndnaKcl0mbdnaY:Zgwa8A:ZgC:taz:YgEar:Y:tg3aEaX:Y:tg5aO:Zg8EaL:tNNNawaL:ta5NaCa8E:tNaCaL:ta3Na8Eaw:tNM:vaEMJbbbZMgw:lJbbb9p9DTmbaw:Ohvxdkcjjjj94hvxekaPaHfcd9ThvkaKcefgKcs9hmbxdkka8AhkarhPkdndndnakmbJbbjZhwcbhicdhvaDmexdkalcd4alfhHcehOinaOgvcethOavaH6mbkcbhOaqcuavcdtgravcFFFFi0Ecbyd1:jjjbHjjjjbbgzBdCaqciBd2aqamcbyd1:jjjbHjjjjbbgXBdKaqclBd2dndndndnalTmbaPcuf:YhwaoTmecbhOaihHaxhPindndnaoaOfRbbceGTmbaOcjjjjlVhsxekdndnaPclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskascqthsdndnaPcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkasaAVhsdndnaPIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkasaAcCtVhskaHasBdbaHclfhHaPcxfhPalaOcefgO9hmbxikkazcFearz:rjjjb8AcbhrcbhvxdkaxhOaihPalhHindndnaOIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskascCthsdndnaOclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcqtasVhsdndnaOcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaPasaAVBdbaOcxfhOaPclfhPaHcufgHmbkkazcFearz:rjjjbhAavcufhocbhrcbhzindndndnaAaiazcdtgKfydbgHcm4aH7c:v;t;h;Ev2gvcs4av7aoGgPcdtfgsydbgOcuSmbcehvinaiaOcdtgOfydbaHSmdaPavfhOavcefhvaAaOaoGgPcdtfgsydbgOcu9hmbkkasazBdbarhvarcefhrxekaXaOfydbhvkaXaKfavBdbazcefgzal9hmbkcuarc8S2gOarc;D;O;f8U0EhvkcbhAaqavcbyd1:jjjbHjjjjbbgvBd3aqcvBd2avcbaOz:rjjjbhOdnadTmbaehiinJbbnnJbbjZaXaiydbgHcdtfydbgvaXaiclfydbgPcdtfydbgzSavaXaicwfydbgscdtfydbgKSGgoEh8FdnaxaPcx2fgPIdbaxaHcx2fgHIdbg8E:tgCaxascx2fgsIdlaHIdlg3:tgwNasIdba8E:tgEaPIdla3:tgaN:tgLaLNaaasIdwaHIdwg5:tghNawaPIdwa5:tgaN:tgwawNaaaENahaCN:tgCaCNMM:rgEJbbbb9ETmbaLaE:vhLaCaE:vhCawaE:vhwkaOavc8S2fgvavIdbawa8FaE:rNgEawNNgaMUdbavaCaEaCNghNggavIdlMUdlavaLaEaLNg8FNg8JavIdwMUdwavahawNghavIdxMUdxava8FawNg8KavIdzMUdzava8FaCNg8FavIdCMUdCavawaEaLa5Nawa8ENa3aCNMM:mg3Ng8ENgwavIdKMUdKavaCa8ENgCavId3MUd3avaLa8ENgLavIdaMUdaava8Ea3Ng8EavId8KMUd8KavaEavIdyMUdydnaombaOazc8S2fgvaaavIdbMUdbavagavIdlMUdlava8JavIdwMUdwavahavIdxMUdxava8KavIdzMUdzava8FavIdCMUdCavawavIdKMUdKavaCavId3MUd3avaLavIdaMUdaava8EavId8KMUd8KavaEavIdyMUdyaOaKc8S2fgvaaavIdbMUdbavagavIdlMUdlava8JavIdwMUdwavahavIdxMUdxava8KavIdzMUdzava8FavIdCMUdCavawavIdKMUdKavaCavId3MUd3avaLavIdaMUdaava8EavId8KMUd8KavaEavIdyMUdykaicxfhiaAcifgAad6mbkkcbhHaqcuarcdtgvarcFFFFi0Egicbyd1:jjjbHjjjjbbgPBdaaqcoBd2aqaicbyd1:jjjbHjjjjbbgiBd8KaqcrBd2aPcFeavz:rjjjbhzdnalTmbaXhPinJbbbbJbbjZaOaPydbgsc8S2fgvIdygw:vawJbbbb9BEavIdwaxcwfIdbgwNavIdzaxIdbgCNavIdaMgLaLMMawNavIdlaxclfIdbgLNavIdCawNavId3MgwawMMaLNavIdbaCNavIdxaLNavIdKMgwawMMaCNavId8KMMM:lNhwdndnazascdtgvfgsydbcuSmbaiavfIdbaw9ETmekasaHBdbaiavfawUdbkaPclfhPaxcxfhxalaHcefgH9hmbkkJbbbbhwdnarTmbinaiIdbgCawawaC9DEhwaiclfhiarcufgrmbkkakcd4akfhOcehiinaigvcethiavaO6mbkcbhiaqcuavcdtgOavcFFFFi0Ecbyd1:jjjbHjjjjbbgPBdyaPcFeaOz:rjjjbhsdnadTmbavcufhAcbhrcbhxindnaXaeaxcdtfgvydbcdtfydbgiaXavclfydbcdtfydbgOSmbaiaXavcwfydbcdtfydbgvSmbaOavSmbazavcdtfydbhHdndnazaOcdtfydbgvazaicdtfydbgi9pmbavaH9pmbaHhlaihoavhHxekdnaHai9pmbaHav9pmbaihlavhoxekavhlaHhoaihHkabarcx2fgvaHBdbavcwfaoBdbavclfalBdbdnasaoc:3F;N8N2alc:F:b:DD27aHc;D;O:B8J27aAGgOcdtfgvydbgicuSmbcehPinaPhvdnabaicx2fgiydbaH9hmbaiydlal9hmbaiydwaoSmikavcefhPasaOavfaAGgOcdtfgvydbgicu9hmbkkavarBdbarcefhrkaxcifgxad6mbkarci2hikdnaDmbcwhvxdkaw:rhwcwhvkaDawUdbkavcdthvdninavTmeavc98fgvaqcxffydbcbyd:m:jjjbH:bjjjbbxbkkaqc;Wbf8Kjjjjbaik:2ldwue9:8Jjjjjbc;Wb9Rgr8Kjjjjbcbhwarcxfcbc;Kbz:rjjjb8AdnabaeSmbabaeadcdtz:qjjjb8AkarcualcdtalcFFFFi0EgDcbyd1:jjjbHjjjjbbgqBdxarceBd2aqcbaialavcbarcxfz:djjjbcualcx2alc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbhkarcxfaryd2gxcdtgmfakBdbaraxcefgPBd2akaialavcbcbz:ejjjb8AarcxfaPcdtfaDcbyd1:jjjbHjjjjbbgvBdbaraxcdfgiBd2arcxfaicdtfcuavalaeadaqz:fjjjbgecltaecjjjjiGEcbyd1:jjjbHjjjjbbgiBdbaiaeavakalz:gjjjbdnadTmbaoaoNhocbhwabhlcbhkindnaiavalydbgecdtfydbcdtfIdbao9ETmbalclf8PdbhsabawcdtfgqaeBdbaqclfas83dbawcifhwkalcxfhlakcifgkad6mbkkaxcifhlamarcxffcwfhkdninalTmeakydbcbyd:m:jjjbH:bjjjbbakc98fhkalcufhlxbkkarc;Wbf8Kjjjjbawk:FCoDud99rue99iul998Jjjjjbc;Wb9Rgw8KjjjjbdndnarmbcbhDxekawcxfcbc;Kbz:rjjjb8Aawcuadcx2adc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbgqBdxawceBd2aqaeadaicbcbz:ejjjb8AawcuadcdtadcFFFFi0Egkcbyd1:jjjbHjjjjbbgxBdzawcdBd2adcd4adfhmceheinaegicetheaiam6mbkcbhPawcuaicdtgsaicFFFFi0Ecbyd1:jjjbHjjjjbbgzBdCawciBd2dndnar:ZgH:rJbbbZMgO:lJbbb9p9DTmbaO:Ohexekcjjjj94hekaicufhAc:bwhmcbhCadhXcbhQinaChLaeamgKcufaeaK9iEaPgDcefaeaD9kEhYdndnadTmbaYcuf:YhOaqhiaxheadhmindndnaiIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcCthCdndnaiclfIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhExekcjjjj94hEkaEcqtaCVhCdndnaicwfIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhExekcjjjj94hEkaeaCaEVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:rjjjbh3cbh5cbhPindna3axaPcdtfydbgCcm4aC7c:v;t;h;Ev2gics4ai7aAGgmcdtfgEydbgecuSmbaeaCSmbcehiina3amaifaAGgmcdtfgEydbgecuSmeaicefhiaeaC9hmbkkaEaCBdba5aecuSfh5aPcefgPad9hmbxdkkazcFeasz:rjjjb8Acbh5kaDaYa5ar0giEhPaLa5aiEhCdna5arSmbaYaKaiEgmaP9Rcd9imbdndnaQcl0mbdnaX:ZgOaL:Zg8A:taY:Yg8EaD:Y:tg8Fa8EaK:Y:tgaa5:ZghaH:tNNNaOaH:taaNa8Aah:tNa8AaH:ta8FNahaO:tNM:va8EMJbbbZMgO:lJbbb9p9DTmbaO:Ohexdkcjjjj94hexekaPamfcd9Theka5aXaiEhXaQcefgQcs9hmekkdndnaCmbcihicbhDxekcbhiawakcbyd1:jjjbHjjjjbbg5BdKawclBd2aPcuf:Yh8AdndnadTmbaqhiaxheadhmindndnaiIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhCxekcjjjj94hCkaCcCthCdndnaiclfIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaEcqtaCVhCdndnaicwfIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaeaCaEVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:rjjjbh3cbhDcbhYindndndna3axaYcdtgKfydbgCcm4aC7c:v;t;h;Ev2gics4ai7aAGgmcdtfgEydbgecuSmbcehiinaxaecdtgefydbaCSmdamaifheaicefhia3aeaAGgmcdtfgEydbgecu9hmbkkaEaYBdbaDhiaDcefhDxeka5aefydbhika5aKfaiBdbaYcefgYad9hmbkcuaDc32giaDc;j:KM;jb0EhexekazcFeasz:rjjjb8AcbhDcbhekawaecbyd1:jjjbHjjjjbbgeBd3awcvBd2aecbaiz:rjjjbhEavcd4hKdnadTmbdnalTmbaKcdth3a5hCaqhealhmadhAinaEaCydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiamIdbaiIdxMUdxaiamclfIdbaiIdzMUdzaiamcwfIdbaiIdCMUdCaiaiIdKJbbjZMUdKaCclfhCaecxfheama3fhmaAcufgAmbxdkka5hmaqheadhCinaEamydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiaiIdxJbbbbMUdxaiaiIdzJbbbbMUdzaiaiIdCJbbbbMUdCaiaiIdKJbbjZMUdKamclfhmaecxfheaCcufgCmbkkdnaDTmbaEhiaDheinaiaiIdbJbbbbJbbjZaicKfIdbgO:vaOJbbbb9BEgONUdbaiclfgmaOamIdbNUdbaicwfgmaOamIdbNUdbaicxfgmaOamIdbNUdbaiczfgmaOamIdbNUdbaicCfgmaOamIdbNUdbaic3fhiaecufgembkkcbhCawcuaDcdtgYaDcFFFFi0Egicbyd1:jjjbHjjjjbbgeBdaawcoBd2awaicbyd1:jjjbHjjjjbbg3Bd8KaecFeaYz:rjjjbhxdnadTmbJbbjZJbbjZa8A:vaPceSEaoNgOaONh8AaKcdthPalheina8Aaec;81jjbalEgmIdwaEa5ydbgAc32fgiIdC:tgOaONamIdbaiIdx:tgOaONamIdlaiIdz:tgOaONMMNaqcwfIdbaiIdw:tgOaONaqIdbaiIdb:tgOaONaqclfIdbaiIdl:tgOaONMMMhOdndnaxaAcdtgifgmydbcuSmba3aifIdbaO9ETmekamaCBdba3aifaOUdbka5clfh5aqcxfhqaeaPfheadaCcefgC9hmbkkabaxaYz:qjjjb8AcrhikaicdthiinaiTmeaic98fgiawcxffydbcbyd:m:jjjbH:bjjjbbxbkkawc;Wbf8KjjjjbaDk:Ydidui99ducbhi8Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdndnaembJbbjFhvJbbjFhoJbbjFhrxekadcd4cdthwincbhdinalczfadfgDabadfIdbgvaDIdbgoaoav9EEUdbaladfgDavaDIdbgoaoav9DEUdbadclfgdcx9hmbkabawfhbaicefgiae9hmbkalIdwalIdK:thralIdlalIdC:thoalIdbalIdz:thvkJbbbbavavJbbbb9DEgvaoaoav9DEgvararav9DEk9DeeuabcFeaicdtz:rjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd:q:jjjbgeabcifc98GfgbBd:q:jjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:q:jjjbgeabcrfc94GfgbBd:q:jjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:q:jjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:q:jjjbfgdBd:q:jjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk:Iedbcjwk1eFFuuFFuuFFuuFFuFFFuFFFuFbbbbbbbbebbbdbbbbbbbebbbebbbdbbbbbbbbbbbeeeeebebbebbebebbbeebbbbbbbbbbbbeeeeeebebbeeebeebbbbebebbbbbbbbbbbbbbbbbbc1Dkxebbbdbbb:GNbb"),{}).then(function(a){(B=a.instance).exports.__wasm_call_ctors()});function I(a){if(!a)throw new Error("Assertion failed")}function Q(a){return new Uint8Array(a.buffer,a.byteOffset,a.byteLength)}function C(a,i,t,e,o,s,n,r){var c=B.exports.sbrk,D=c(4*r),b=c(t*e),h=c(t*s),w=new Uint8Array(B.exports.memory.buffer);w.set(Q(i),b),o&&w.set(Q(o),h);var f=a(D,b,t,e,h,s,n,r);new Uint8Array(B.exports.memory.buffer);var p=new Uint32Array(f);return Q(p).set(w.subarray(D,D+4*f)),c(D-c(0)),p}var E={LockBorder:1,Sparse:2,ErrorAbsolute:4,Prune:8,Regularize:16,Permissive:32,_InternalDebug:1<<30}})(),function(){var B,A=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var g=WebAssembly.instantiate(function(E){for(var a=new Uint8Array(E.length),i=0;i<E.length;++i){var t=E.charCodeAt(i);a[i]=t>96?t-97:t>64?t-39:t+4}var e=0;for(i=0;i<E.length;++i)a[e++]=a[i]<60?A[a[i]]:64*(a[i]-60)+a[++i];return a.buffer.slice(0,e)}("b9H79TebbbeVx9Geueu9Geub9Gbb9Giuuueu9Gmuuuuuuuuuuu9999eu9Gvuuuuueu9Gwuuuuuuuub9Gxuuuuuuuuuuuueu9Gkuuuuuuuuuu99eu9Gouuuuuub9Gruuuuuuub9GluuuubiAOdilvorwDqqDkbiibeilve9Weiiviebeoweuec;G:Odkr;qeDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9I919P29K9nW79O2Wt79c9V919U9KbeX9TW79O9V9Wt9F9I919P29K9nW79O2Wt7bo39TW79O9V9Wt9F9J9V9T9W91tWJ2917tWV9c9V919U9K7br39TW79O9V9Wt9F9J9V9T9W91tW9nW79O2Wt9c9V919U9K7bDE9TW79O9V9Wt9F9J9V9T9W91tW9t9W9OWVW9c9V919U9K7bqL9TW79O9V9Wt9F9V9Wt9P9T9P96W9nW79O2Wtbkl79IV9RbxDwebcekdszq:x9DOdbkIbabaec9:fgefcufae9Ugeabci9Uadfcufad9Ugbaeab0Ek:w8KDPue99eux99dui99euo99iu8Jjjjjbc:WD9Rgm8KjjjjbdndnalmbcbhPxekamc:Cwfcbc;Kbz:ojjjb8Adndnalcb9imbaoal9nmbamcuaocdtaocFFFFi0Egscbyd;u1jjbHjjjjbbgzBd:CwamceBd;8wamascbyd;u1jjbHjjjjbbgHBd:GwamcdBd;8wamcualcdtalcFFFFi0Ecbyd;u1jjbHjjjjbbgOBd:KwamciBd;8waihsalhAinazasydbcdtfcbBdbasclfhsaAcufgAmbkaihsalhAinazasydbcdtfgCaCydbcefBdbasclfhsaAcufgAmbkaihsalhCcbhXindnazasydbcdtgQfgAydbcb9imbaHaQfaXBdbaAaAydbgQcjjjj94VBdbaQaXfhXkasclfhsaCcufgCmbkalci9UhLdnalci6mbcbhsaihAinaAcwfydbhCaAclfydbhXaHaAydbcdtfgQaQydbgQcefBdbaOaQcdtfasBdbaHaXcdtfgXaXydbgXcefBdbaOaXcdtfasBdbaHaCcdtfgCaCydbgCcefBdbaOaCcdtfasBdbaAcxfhAaLascefgs9hmbkkaihsalhAindnazasydbcdtgCfgXydbgQcu9kmbaXaQcFFFFrGgQBdbaHaCfgCaCydbaQ9RBdbkasclfhsaAcufgAmbxdkkamcuaocdtgsaocFFFFi0EgAcbyd;u1jjbHjjjjbbgzBd:CwamceBd;8wamaAcbyd;u1jjbHjjjjbbgHBd:GwamcdBd;8wamcualcdtalcFFFFi0Ecbyd;u1jjbHjjjjbbgOBd:KwamciBd;8wazcbasz:ojjjbhXalci9UhLaihsalhAinaXasydbcdtfgCaCydbcefBdbasclfhsaAcufgAmbkdnaoTmbcbhsaHhAaXhCaohQinaAasBdbaAclfhAaCydbasfhsaCclfhCaQcufgQmbkkdnalci6mbcbhsaihAinaAcwfydbhCaAclfydbhQaHaAydbcdtfgKaKydbgKcefBdbaOaKcdtfasBdbaHaQcdtfgQaQydbgQcefBdbaOaQcdtfasBdbaHaCcdtfgCaCydbgCcefBdbaOaCcdtfasBdbaAcxfhAaLascefgs9hmbkkaoTmbcbhsaohAinaHasfgCaCydbaXasfydb9RBdbasclfhsaAcufgAmbkkamaLcbyd;u1jjbHjjjjbbgsBd:OwamclBd;8wascbaLz:ojjjbhYamcuaLcK2alcjjjjd0Ecbyd;u1jjbHjjjjbbg8ABd:SwamcvBd;8wJbbbbhEdnalci6g3mbarcd4hKaihAa8AhsaLhrJbbbbh5inavaAclfydbaK2cdtfgCIdlh8EavaAydbaK2cdtfgXIdlhEavaAcwfydbaK2cdtfgQIdlh8FaCIdwhaaXIdwhhaQIdwhgasaCIdbg8JaXIdbg8KMaQIdbg8LMJbbnn:vUdbasclfaXIdlaCIdlMaQIdlMJbbnn:vUdbaQIdwh8MaCIdwh8NaXIdwhyascxfa8EaE:tg8Eagah:tggNa8FaE:tg8Faaah:tgaN:tgEJbbbbJbbjZa8Ja8K:tg8Ja8FNa8La8K:tg8Ka8EN:tghahNaEaENaaa8KNaga8JN:tgEaENMM:rg8K:va8KJbbbb9BEg8ENUdbasczfaEa8ENUdbascCfaha8ENUdbascwfa8Maya8NMMJbbnn:vUdba5a8KMh5aAcxfhAascKfhsarcufgrmbka5aL:Z:vJbbbZNhEkamcuaLcdtalcFFFF970Ecbyd;u1jjbHjjjjbbgCBd:WwamcoBd;8waEaq:ZNhEdna3mbcbhsaChAinaAasBdbaAclfhAaLascefgs9hmbkkaE:rhhcuh8PamcuaLcltalcFFFFd0Ecbyd;u1jjbHjjjjbbgIBd:0wamcrBd;8wcbaIa8AaCaLz:djjjb8AJFFuuhyJFFuuh8RJFFuuh8Sdnalci6gXmbJFFuuh8Sa8AhsaLhAJFFuuh8RJFFuuhyinascwfIdbgEayayaE9EEhyasclfIdbgEa8Ra8RaE9EEh8RasIdbgEa8Sa8SaE9EEh8SascKfhsaAcufgAmbkkahJbbbZNhgamaocetgscuaocu9kEcbyd;u1jjbHjjjjbbgABd:4waAcFeasz:ojjjbhCdnaXmbcbhAJFFuuhEa8Ahscuh8PinascwfIdbay:tghahNasIdba8S:tghahNasclfIdba8R:tghahNMM:rghaEa8PcuSahaE9DVgXEhEaAa8PaXEh8PascKfhsaLaAcefgA9hmbkkamczfcbcjwz:ojjjb8Aamcwf9cb83ibam9cb83ibagaxNhRJbbjZak:th8Ncbh8UJbbbbh8VJbbbbh8WJbbbbh8XJbbbbh8YJbbbbh8ZJbbbbh80cbh81cbhPinJbbbbhEdna8UTmbJbbjZa8U:Z:vhEkJbbbbhhdna80a80Na8Ya8YNa8Za8ZNMMg8KJbbbb9BmbJbbjZa8K:r:vhhka8XaENh5a8WaENh8Fa8VaENhaa8PhQdndndndndna8UaPVTmbamydwgBTmea80ahNh8Ja8ZahNh8La8YahNh8Maeamydbcdtfh83cbh3JFFuuhEcvhXcuhQindnaza83a3cdtfydbcdtgsfydbgvTmbaOaHasfydbcdtfhAindndnaCaiaAydbgKcx2fgsclfydbgrcetf8Vebcs4aCasydbgLcetf8Vebcs4faCascwfydbglcetf8Vebcs4fgombcbhsxekcehsazaLcdtfydbgLceSmbcehsazarcdtfydbgrceSmbcehsazalcdtfydbglceSmbdnarcdSaLcdSfalcdSfcd6mbaocefhsxekaocdfhskdnasaX9kmba8AaKcK2fgLIdwa5:thhaLIdla8F:th8KaLIdbaa:th8EdndnakJbbbb9DTmba8E:lg8Ea8K:lg8Ka8Ea8K9EEg8Kah:lgha8Kah9EEag:vJbbjZMhhxekahahNa8Ea8ENa8Ka8KNMM:rag:va8NNJbbjZMJ9VO:d86JbbjZaLIdCa8JNaLIdxa8MNa8LaLIdzNMMakN:tghahJ9VO:d869DENhhkaKaQasaX6ahaE9DVgLEhQasaXaLEhXahaEaLEhEkaAclfhAavcufgvmbkka3cefg3aB9hmbkkaQcu9hmekama5Ud:ODama8FUd:KDamaaUd:GDamcuBd:qDamcFFF;7rBdjDaIcba8AaYamc:GDfakJbbbb9Damc:qDfamcjDfz:ejjjbamyd:qDhQdndnaxJbbbb9ETmba8UaD6mbaQcuSmeceh3amIdjDaR9EmixdkaQcu9hmekdna8UTmbdnamydlgza8Uci2fgsciGTmbadasfcba8Uazcu7fciGcefz:ojjjb8AkabaPcltfgzam8Pib83dbazcwfamcwf8Pib83dbaPcefhPkc3hzinazc98Smvamc:Cwfazfydbcbyd;y1jjbH:bjjjbbazc98fhzxbkkcbh3a8Uaq9pmbamydwaCaiaQcx2fgsydbcetf8Vebcs4aCascwfydbcetf8Vebcs4faCasclfydbcetf8Vebcs4ffaw9nmekcbhscbhAdna81TmbcbhAamczfhXinamczfaAcdtfaXydbgLBdbaXclfhXaAaYaLfRbbTfhAa81cufg81mbkkamydwhlamydbhXam9cu83i:GDam9cu83i:ODam9cu83i:qDam9cu83i:yDaAc;8eaAclfc:bd6Eh81inamcjDfasfcFFF;7rBdbasclfgscz9hmbka81cdthBdnalTmbaeaXcdtfhocbhrindnazaoarcdtfydbcdtgsfydbgvTmbaOaHasfydbcdtfhAcuhLcuhsinazaiaAydbgKcx2fgXclfydbcdtfydbazaXydbcdtfydbfazaXcwfydbcdtfydbfgXasaXas6gXEhsaKaLaXEhLaAclfhAavcufgvmbkaLcuSmba8AaLcK2fgAIdway:tgEaENaAIdba8S:tgEaENaAIdla8R:tgEaENMM:rhEcbhAindndnasamc:qDfaAfgvydbgX6mbasaX9hmeaEamcjDfaAfIdb9FTmekavasBdbamc:GDfaAfaLBdbamcjDfaAfaEUdbxdkaAclfgAcz9hmbkkarcefgral9hmbkkamczfaBfhLcbhscbhAindnamc:GDfasfydbgXcuSmbaLaAcdtfaXBdbaAcefhAkasclfgscz9hmbkaAa81fg81TmbJFFuuhhcuhKamczfhsa81hvcuhLina8AasydbgXcK2fgAIdway:tgEaENaAIdba8S:tgEaENaAIdla8R:tgEaENMM:rhEdndnazaiaXcx2fgAclfydbcdtfydbazaAydbcdtfydbfazaAcwfydbcdtfydbfgAaL6mbaAaL9hmeaEah9DTmekaEhhaAhLaXhKkasclfhsavcufgvmbkaKcuSmbaKhQkdnamaiaQcx2fgrydbarclfydbarcwfydbaCabaeadaPawaqa3z:fjjjbTmbaPcefhPJbbbbh8VJbbbbh8WJbbbbh8XJbbbbh8YJbbbbh8ZJbbbbh80kcbhXinaOaHaraXcdtfydbcdtgAfydbcdtfgKhsazaAfgvydbgLhAdnaLTmbdninasydbaQSmeasclfhsaAcufgATmdxbkkasaKaLcdtfc98fydbBdbavavydbcufBdbkaXcefgXci9hmbka8AaQcK2fgsIdbhEasIdlhhasIdwh8KasIdxh8EasIdzh5asIdCh8FaYaQfce86bba80a8FMh80a8Za5Mh8Za8Ya8EMh8Ya8Xa8KMh8Xa8WahMh8Wa8VaEMh8Vamydxh8Uxbkkamc:WDf8KjjjjbaPk;Vvivuv99lu8Jjjjjbca9Rgv8Kjjjjbdndnalcw0mbaiydbhoaeabcitfgralcdtcufBdlaraoBdbdnalcd6mbaiclfhoalcufhwarcxfhrinaoydbhDarcuBdbarc98faDBdbarcwfhraoclfhoawcufgwmbkkalabfhrxekcbhDavczfcwfcbBdbav9cb83izavcwfcbBdbav9cb83ibJbbjZhqJbbjZhkinadaiaDcdtfydbcK2fhwcbhrinavczfarfgoawarfIdbgxaoIdbgm:tgPakNamMgmUdbavarfgoaPaxam:tNaoIdbMUdbarclfgrcx9hmbkJbbjZaqJbbjZMgq:vhkaDcefgDal9hmbkcbhoadcbcecdavIdlgxavIdwgm9GEgravIdbgPam9GEaraPax9GEgscdtgrfhzavczfarfIdbhxaihralhwinaiaocdtfgDydbhHaDarydbgOBdbaraHBdbarclfhraoazaOcK2fIdbax9Dfhoawcufgwmbkaeabcitfhrdndnaocv6mbaoalc98f6mekaraiydbBdbaralcdtcufBdlaiclfhoalcufhwarcxfhrinaoydbhDarcuBdbarc98faDBdbarcwfhraoclfhoawcufgwmbkalabfhrxekaraxUdbararydlc98GasVBdlabcefaeadaiaoz:djjjbhwararydlciGawabcu7fcdtVBdlawaeadaiaocdtfalao9Rz:djjjbhrkavcaf8Kjjjjbark:;idiud99dndnabaecitfgwydlgDciGgqciSmbinabcbaDcd4gDalaqcdtfIdbawIdb:tgkJbbbb9FEgwaecefgefadaialavaoarz:ejjjbak:larIdb9FTmdabawaD7aefgecitfgwydlgDciGgqci9hmbkkabaecitfgeclfhbdnavmbcuhwindnaiaeydbgDfRbbmbadaDcK2fgqIdwalIdw:tgkakNaqIdbalIdb:tgkakNaqIdlalIdl:tgkakNMM:rgkarIdb9DTmbarakUdbaoaDBdbkaecwfheawcefgwabydbcd46mbxdkkcuhwindnaiaeydbgDfRbbmbadaDcK2fgqIdbalIdb:t:lgkaqIdlalIdl:t:lgxakax9EEgkaqIdwalIdw:t:lgxakax9EEgkarIdb9DTmbarakUdbaoaDBdbkaecwfheawcefgwabydbcd46mbkkk;llevudnabydwgxaladcetfgm8Vebcs4alaecetfgP8Vebgscs4falaicetfgz8Vebcs4ffaD0abydxaq9pVakVgDce9hmbavawcltfgxab8Pdb83dbaxcwfabcwfgx8Pdb83dbdnaxydbgqTmbaoabydbcdtfhxaqhsinalaxydbcetfcFFi87ebaxclfhxascufgsmbkkdnabydxglci2gsabydlgxfgkciGTmbarakfcbalaxcu7fciGcefz:ojjjb8Aabydxci2hsabydlhxabydwhqkab9cb83dwababydbaqfBdbabascifc98GaxfBdlaP8Vebhscbhxkdnascztcz91cu9kmbabaxcefBdwaPax87ebaoabydbcdtfaxcdtfaeBdbkdnam8Uebcu9kmbababydwgxcefBdwamax87ebaoabydbcdtfaxcdtfadBdbkdnaz8Uebcu9kmbababydwgxcefBdwazax87ebaoabydbcdtfaxcdtfaiBdbkarabydlfabydxci2faPRbb86bbarabydlfabydxci2fcefamRbb86bbarabydlfabydxci2fcdfazRbb86bbababydxcefBdxaDk8LbabaeadaialavaoarawaDaDaqJbbbbz:cjjjbk;Nkovud99euv99eul998Jjjjjbc:W;ae9Rgo8KjjjjbdndnadTmbavcd4hrcbhwcbhDindnaiaeclfydbar2cdtfgvIdbaiaeydbar2cdtfgqIdbgk:tgxaiaecwfydbar2cdtfgmIdlaqIdlgP:tgsNamIdbak:tgzavIdlaP:tgPN:tgkakNaPamIdwaqIdwgH:tgONasavIdwaH:tgHN:tgPaPNaHazNaOaxN:tgxaxNMM:rgsJbbbb9Bmbaoc:W:qefawcx2fgAakas:vUdwaAaxas:vUdlaAaPas:vUdbaoc8Wfawc8K2fgAaq8Pdb83dbaAav8Pdb83dxaAam8Pdb83dKaAcwfaqcwfydbBdbaAcCfavcwfydbBdbaAcafamcwfydbBdbawcefhwkaecxfheaDcifgDad6mbkab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbawTmeaocbBd8Sao9cb83iKao9cb83izaoczfaoc8Wfawci2cxaoc8Sfcbcrz1jjjbaoIdKhCaoIdChXaoIdzhQao9cb83iwao9cb83ibaoaoc:W:qefawcxaoc8Sfcbciz1jjjbJbbjZhkaoIdwgPJbbbbJbbjZaPaPNaoIdbgPaPNaoIdlgsasNMM:rgx:vaxJbbbb9BEgzNhxasazNhsaPazNhzaoc:W:qefheawhvinaecwfIdbaxNaeIdbazNasaeclfIdbNMMgPakaPak9DEhkaecxfheavcufgvmbkabaCUdwabaXUdlabaQUdbabaoId3UdxdndnakJ;n;m;m899FmbJbbbbhPaoc:W:qefheaoc8WfhvinaCavcwfIdb:taecwfIdbgHNaQavIdb:taeIdbgONaXavclfIdb:taeclfIdbgLNMMaxaHNazaONasaLNMM:vgHaPaHaP9EEhPavc8KfhvaecxfheawcufgwmbkabaxUd8KabasUdaabazUd3abaCaxaPN:tUdKabaXasaPN:tUdCabaQazaPN:tUdzabJbbjZakakN:t:rgkUdydndnaxJbbj:;axJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;axJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohexekcjjjj94hekabae86b8UdndnasJbbj:;asJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;asJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkabav86bRdndnazJbbj:;azJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;azJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohqxekcjjjj94hqkabaq86b8SdndnaecKtcK91:YJbb;:9c:vax:t:lavcKtcK91:YJbb;:9c:vas:t:laqcKtcK91:YJbb;:9c:vaz:t:lakMMMJbb;:9cNJbbjZMgk:lJbbb9p9DTmbak:Ohexekcjjjj94hekaecFbaecFb9iEhexekabcjjj;8iBdycFbhekabae86b8Vxekab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbkaoc:W;aef8Kjjjjbk;Iwwvul99iud99eue99eul998Jjjjjbcje9Rgr8Kjjjjbavcd4hwaicd4hDdndnaoTmbarc;abfcbaocdtgvz:ojjjb8Aarc;Gbfcbavz:ojjjb8AarhvarcafhiaohqinavcFFF97BdbaicFFF;7rBdbaiclfhiavclfhvaqcufgqmbkdnadTmbcbhkinaeakaD2cdtfgvIdwhxavIdlhmavIdbhPalakaw2cdtfIdbhsarc;abfhzarhiarc;GbfhHarcafhqcj1jjbhvaohOinasavcwfIdbaxNavIdbaPNavclfIdbamNMMgAMhCakhXdnaAas:tgAaqIdbgQ9DgLmbaHydbhXkaHaXBdbakhXdnaCaiIdbgK9EmbazydbhXaKhCkazaXBdbaiaCUdbaqaAaQaLEUdbavcxfhvaqclfhqaHclfhHaiclfhiazclfhzaOcufgOmbkakcefgkad9hmbkkadThkJbbbbhCcbhXarc;abfhvarc;Gbfhicbhqinalavydbgzaw2cdtfIdbalaiydbgHaw2cdtfIdbaeazaD2cdtfgzIdwaeaHaD2cdtfgHIdw:tgsasNazIdbaHIdb:tgsasNazIdlaHIdl:tgsasNMM:rMMgsaCasaC9EgzEhCaqaXazEhXaiclfhiavclfhvaoaqcefgq9hmbkaCJbbbZNhKxekadThkcbhXJbbbbhKkJbbbbhCdnaearc;abfaXcdtgifydbgqaD2cdtfgvIdwaearc;GbfaifydbgzaD2cdtfgiIdwgm:tgsasNavIdbaiIdbgY:tgAaANavIdlaiIdlgP:tgQaQNMM:rgxJbbbb9ETmbaxalaqaw2cdtfIdbMalazaw2cdtfIdb:taxaxM:vhCkasaCNamMhmaQaCNaPMhPaAaCNaYMhYdnakmbaDcdthvawcdthiindnalIdbg8AaecwfIdbam:tgCaCNaeIdbaY:tgsasNaeclfIdbaP:tgAaANMM:rgQMgEaK9ETmbJbbbbhxdnaQJbbbb9ETmbaEaK:taQaQM:vhxkaxaCNamMhmaxaANaPMhPaxasNaYMhYa8AaKaQMMJbbbZNhKkaeavfhealaifhladcufgdmbkkabaKUdxabamUdwabaPUdlabaYUdbarcjef8Kjjjjbkjeeiu8Jjjjjbcj8W9Rgr8Kjjjjbaici2hwdnaiTmbawceawce0EhDarhiinaiaeadRbbcdtfydbBdbadcefhdaiclfhiaDcufgDmbkkabarawaladaoz:hjjjbarcj8Wf8Kjjjjbk:Reeeu8Jjjjjbca9Rgo8Kjjjjbab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbdnadTmbaocbBd3ao9cb83iwao9cb83ibaoaeadaialaoc3falEavcbalEcrz1jjjbabao8Pib83dbabao8Piw83dwkaocaf8Kjjjjbk:3lequ8JjjjjbcjP9Rgl8Kjjjjbcbhvalcjxfcbaiz:ojjjb8AdndnadTmbcjehoaehrincuhwarhDcuhqavhkdninawakaoalcjxfaDcefRbbfRbb9RcFeGci6aoalcjxfaDRbbfRbb9RcFeGci6faoalcjxfaDcdfRbbfRbb9RcFeGci6fgxaq9mgmEhwdnammbaxce0mdkaxaqaxaq9kEhqaDcifhDadakcefgk9hmbkkaeawci2fgDcdfRbbhqaDcefRbbhxaDRbbhkaeavci2fgDcifaDawav9Rci2z:rjjjb8Aakalcjxffaocefgo86bbaxalcjxffao86bbaDcdfaq86bbaDcefax86bbaDak86bbaqalcjxffao86bbarcifhravcefgvad9hmbkalcFeaicetz:ojjjbhoadci2gDceaDce0EhqcbhxindnaoaeRbbgkcetfgw8UebgDcu9kmbawax87ebaocjlfaxcdtfabakcdtfydbBdbaxhDaxcefhxkaeaD86bbaecefheaqcufgqmbkaxcdthDxekcbhDkabalcjlfaDz:njjjb8AalcjPf8Kjjjjbk9teiucbcbyd;C1jjbgeabcifc98GfgbBd;C1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;C1jjbgeabcrfc94GfgbBd;C1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;C1jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;C1jjbfgdBd;C1jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk:;Deludndndnadch9pmbabaeSmdaeabadfgi9Rcbadcet9R0mekabaead;8qbbxekaeab7ciGhldndndnabae9pmbdnalTmbadhvabhixikdnabciGmbadhvabhixdkadTmiabaeRbb86bbadcufhvdnabcefgiciGmbaecefhexdkavTmiabaeRbe86beadc9:fhvdnabcdfgiciGmbaecdfhexdkavTmiabaeRbd86bdadc99fhvdnabcifgiciGmbaecifhexdkavTmiabaeRbi86biabclfhiaeclfheadc98fhvxekdnalmbdnaiciGTmbadTmlabadcufgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc9:fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc99fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc98fgdfaeadfRbb86bbkadcl6mbdnadc98fgocd4cefciGgiTmbaec98fhlabc98fhvinavadfaladfydbBdbadc98fhdaicufgimbkkaocx6mbaec9Wfhvabc9WfhoinaoadfgicxfavadfglcxfydbBdbaicwfalcwfydbBdbaiclfalclfydbBdbaialydbBdbadc9Wfgdci0mbkkadTmdadhidnadciGglTmbaecufhvabcufhoadhiinaoaifavaifRbb86bbaicufhialcufglmbkkadcl6mdaec98fhlabc98fhvinavaifgecifalaifgdcifRbb86bbaecdfadcdfRbb86bbaecefadcefRbb86bbaeadRbb86bbaic98fgimbxikkavcl6mbdnavc98fglcd4cefcrGgdTmbavadcdt9RhvinaiaeydbBdbaeclfheaiclfhiadcufgdmbkkalc36mbinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaiaeydzBdzaiaeydCBdCaiaeydKBdKaiaeyd3Bd3aecafheaicafhiavc9Gfgvci0mbkkavTmbdndnavcrGgdmbavhlxekavc94GhlinaiaeRbb86bbaicefhiaecefheadcufgdmbkkavcw6mbinaiaeRbb86bbaiaeRbe86beaiaeRbd86bdaiaeRbi86biaiaeRbl86blaiaeRbv86bvaiaeRbo86boaiaeRbr86braicwfhiaecwfhealc94fglmbkkabkk9Tdbcjwk9ubbjZbbbbbbbbbbbbbbjZbbbbbbbbbbbbbbjZ86;nAZ86;nAZ86;nAZ86;nA:;86;nAZ86;nAZ86;nAZ86;nA:;86;nAZ86;nAZ86;nAZ86;nA:;bc;uwkxebbbdbbb9GNbb"),{}).then(function(E){(B=E.instance).exports.__wasm_call_ctors()});function I(E){if(!E)throw new Error("Assertion failed")}function Q(E){return new Uint8Array(E.buffer,E.byteOffset,E.byteLength)}function C(E){var a=new Float32Array(B.exports.memory.buffer,E,12);return{centerX:a[0],centerY:a[1],centerZ:a[2],radius:a[3],coneApexX:a[4],coneApexY:a[5],coneApexZ:a[6],coneAxisX:a[7],coneAxisY:a[8],coneAxisZ:a[9],coneCutoff:a[10]}}}();let Og=0;class KE{constructor(A){if(this.downloadParallelism=A.downloadParallelism==null?8:A.downloadParallelism,this.timeout=A.timeout!=null?A.timeout:5e3,this.renderer=A.renderer,this.zUpToYUpMatrix=new W.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1),this.maxCachedItems=100,this.proxy=A.proxy,A&&(this.meshCallback=A.meshCallback,this.pointsCallback=A.pointsCallback,A.maxCachedItems!=null&&(this.maxCachedItems=A.maxCachedItems)),this.gltfLoader=new _C,this.gltfLoader.register(g=>({name:"KHR_spz_gaussian_splats_compression"})),A&&A.dracoLoader)this.gltfLoader.setDRACOLoader(A.dracoLoader),this.hasDracoLoader=!0;else{const g=new gE;g.setDecoderPath("https://storage.googleapis.com/ogc-3d-tiles/draco/"),this.dracoLoader=g,this.gltfLoader.setDRACOLoader(g),this.gltfLoader.hasDracoLoader=!0}if(A&&A.ktx2Loader)this.gltfLoader.setKTX2Loader(A.ktx2Loader),this.hasKTX2Loader=!0;else if(A&&A.renderer){const g=new hg;g.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(A.renderer),this.ktx2loader=g,this.gltfLoader.setKTX2Loader(g),this.gltfLoader.hasKTX2Loader=!0}this.gltfLoader.setMeshoptDecoder(HE),this.hasMeshOptDecoder=!0,this.b3dmDecoder=new XC(this.gltfLoader),this.GLTFTileDecoder=new ja(this.gltfLoader,this.renderer),this.cache=new VC,this.register={},this.ready=[],this.downloads=[],this.nextReady=[],this.nextDownloads=[]}update(){const A=this;Og<A.downloadParallelism&&A._download(),A._loadBatch()}_scheduleDownload(A){this.downloads.unshift(A)}_download(){do{if(this.nextDownloads.length==0&&(this._getNextDownloads(),this.nextDownloads.length==0))return;for(;this.nextDownloads.length>0;){const A=this.nextDownloads.shift();A&&A.shouldDoDownload()&&A.doDownload()}}while(Og<this.downloadParallelism)}_meshReceived(A,g,I,Q,C,E,a){this.ready.unshift([A,g,I,Q,C,E,a])}_loadBatch(){for(this.nextReady.length==0&&this._getNextReady();this.nextReady.length>0;){const A=this.nextReady.shift();if(!A)return;const g=A[0],I=A[1],Q=A[2],C=g.get(Q);C&&I[Q]&&Object.keys(I[Q]).forEach(E=>{const a=I[Q][E];a&&(g.put(Q,a(C)),I[Q][E]=null)}),this.nextReady.length==0&&this._getNextReady()}}_getNextDownloads(){let A=Number.POSITIVE_INFINITY,g=-1;for(let a=this.downloads.length-1;a>=0;a--)this.downloads[a].shouldDoDownload()?this.downloads[a].distanceFunction||this.nextDownloads.push(this.downloads.splice(a,1)[0]):this.downloads.splice(a,1);if(this.nextDownloads.length>0)return;let I,Q=0,C=Number.MAX_SAFE_INTEGER,E=-1;for(let a=this.downloads.length-1;a>=0;a--){const i=this.downloads[a].distanceFunction();i<=A&&(A=i,g=a),Q=Math.max(this.downloads[a].level),this.downloads[a].loadingStrategy!="IMMEDIATE"&&this.downloads[a].level<C&&(C=this.downloads[a].level,E=a)}if(Q>C+4?I=this.downloads.splice(E,1).pop():g>=0&&(I=this.downloads.splice(g,1).pop()),I){this.nextDownloads.push(I);const a=I.getSiblings();for(let i=this.downloads.length-1;i>=0;i--)a.map(t=>t.uuid).includes(this.downloads[i].uuid)&&this.nextDownloads.push(this.downloads.splice(i,1).pop())}}_getNextReady(){let A=Number.POSITIVE_INFINITY,g=-1;for(let I=this.ready.length-1;I>=0;I--)this.ready[I][3]||this.nextReady.push(this.ready.splice(I,1)[0]);if(!(this.nextReady.length>0)){for(let I=this.ready.length-1;I>=0;I--){const Q=this.ready[I][3]()*this.ready[I][5];Q<=A&&(A=Q,g=I)}if(g>=0){const I=this.ready.splice(g,1).pop();this.nextReady.push(I);const Q=I[4]();for(let C=this.ready.length-1;C>=0;C--)Q.map(E=>E.uuid).includes(this.ready[C][6])&&this.nextReady.push(this.ready.splice(C,1).pop())}}}get(A,g,I,Q,C,E,a,i,t,e,o,s){const n=this,r=IC(I),c=new AbortController;if(A.signal.addEventListener("abort",()=>{n.register[r]&&Object.keys(n.register[r]).length!=0||c.abort("user abort")}),!(I.includes(".b3dm")||I.includes(".json")||I.includes(".gltf")||I.includes(".glb")))return void console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data");if(n.register[r]||(n.register[r]={}),n.register[r][g]&&console.error(" a tile should only be loaded once"),n.register[r][g]=Q,n.cache.get(r))this._meshReceived(n.cache,n.register,r,C,E,a,g);else{let D;I.includes(".b3dm")?D=()=>{var b;b=n.proxy?()=>fetch(n.proxy,{method:"POST",body:I,signal:c.signal}):()=>fetch(I,{signal:c.signal}),Og++,b().then(h=>{if(!h.ok)throw console.error("could not load tile with path : "+I),new Error(`couldn't load "${I}". Request failed with status ${h.status} : ${h.statusText}`);return h.arrayBuffer()}).then(h=>this.b3dmDecoder.parseB3DM(h,w=>{n.meshCallback(w,o)},t,e)).then(h=>{n.cache.put(r,h),this._meshReceived(n.cache,n.register,r,C,E,a,g),n._checkSize()}).catch(h=>{}).finally(()=>{Og--})}:I.includes(".glb")||I.includes(".gltf")?D=()=>{var b;b=n.proxy?()=>fetch(n.proxy,{method:"POST",body:I,signal:c.signal}):()=>fetch(I,{signal:c.signal}),Og++,b().then(h=>{if(!h.ok)throw console.error("could not load tile with path : "+I),new Error(`couldn't load "${I}". Request failed with status ${h.status} : ${h.statusText}`);return h.arrayBuffer()}).then(h=>this.GLTFTileDecoder.parseSplats(h,t,e,s)).then(h=>{h.isSplatsData||(t&&h.applyMatrix4(this.zUpToYUpMatrix),h.traverse(w=>{w.isMesh&&(e&&w.applyMatrix4(this.zUpToYUpMatrix),n.meshCallback&&n.meshCallback(w,o)),w.isPoints&&n.pointsCallback&&n.pointsCallback(w,o)})),n.cache.put(r,h),n._meshReceived(n.cache,n.register,r,C,E,a,g),n._checkSize()}).catch(h=>{}).finally(()=>{Og--})}:I.includes(".json")&&(D=()=>{var b;b=n.proxy?()=>fetch(n.proxy,{method:"POST",body:I,signal:c.signal}):()=>fetch(I,{signal:c.signal}),Og++,b().then(h=>{if(!h.ok)throw console.error("could not load tile with path : "+I),new Error(`couldn't load "${I}". Request failed with status ${h.status} : ${h.statusText}`);return h.json()}).then(h=>GQ(h,I)).then(h=>{n.cache.put(r,h),n._meshReceived(n.cache,n.register,r),n._checkSize()}).catch(h=>{console.error(h)}).finally(()=>{Og--})}),this._scheduleDownload({shouldDoDownload:()=>!A.signal.aborted&&!!n.register[r]&&Object.keys(n.register[r]).length>0&&!n.cache.get(r),doDownload:D,distanceFunction:C,getSiblings:E,level:a,loadingStrategy:i,uuid:g})}}clear(){const A=this.maxCachedItems;this.maxCachedItems=0,this._checkSize(),this.maxCachedItems=A}invalidate(A,g){const I=IC(A),Q=this;Q.register[I]&&setTimeout(()=>{Q.register&&Q.register[I]&&(delete Q.register[I][g],Q._checkSize())},Q.timeout)}dispose(){let A=this.cache.head();for(this._disposeEntryContent(A);(A=A.next()).key!=null;)this._disposeEntryContent(A);this.cache.reset(),this.cache=void 0,this.register=void 0,this.dracoLoader&&this.dracoLoader.dispose(),this.ktx2loader&&this.ktx2loader.dispose()}_checkSize(){const A=this;let g=0;for(;A.cache.size()>A.maxCachedItems&&g<A.cache.size();){g++;const I=A.cache.head(),Q=A.register[I.key];Q&&(Object.keys(Q).length>0?(A.cache.remove(I.key),A.cache.put(I.key,I.value)):(A.cache.remove(I.key),delete A.register[I.key],A._disposeEntryContent(I)))}}_disposeEntryContent(A){A.value&&(A.value.isSplatsBatch?A.value.remove():A.value.traverse&&A.value.traverse(g=>{if(g.material)if(g.material.length)for(let I=0;I<g.material.length;++I)g.material[I].dispose();else g.material.dispose();g.geometry&&g.geometry.dispose()}))}}function IC(B){for(var A=B.split("/"),g=[],I=0,Q=0;Q<A.length;Q++){var C=A[Q];C!=="."&&C!==""&&C!==".."?g[I++]=C:C===".."&&I>0&&I--}if(I===0)return"/";var E="";for(Q=0;Q<I;Q++)E+="/"+g[Q];return E}const ZA=[];for(let B=0;B<256;++B)ZA.push((B+256).toString(16).slice(1));let gQ;const Re=new Uint8Array(16),BC={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function pe(B,A,g){const I=(B=B||{}).random??B.rng?.()??function(){if(!gQ){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");gQ=crypto.getRandomValues.bind(crypto)}return gQ(Re)}();if(I.length<16)throw new Error("Random bytes length must be >= 16");return I[6]=15&I[6]|64,I[8]=63&I[8]|128,function(Q,C=0){return(ZA[Q[C+0]]+ZA[Q[C+1]]+ZA[Q[C+2]]+ZA[Q[C+3]]+"-"+ZA[Q[C+4]]+ZA[Q[C+5]]+"-"+ZA[Q[C+6]]+ZA[Q[C+7]]+"-"+ZA[Q[C+8]]+ZA[Q[C+9]]+"-"+ZA[Q[C+10]]+ZA[Q[C+11]]+ZA[Q[C+12]]+ZA[Q[C+13]]+ZA[Q[C+14]]+ZA[Q[C+15]]).toLowerCase()}(I)}function jE(B,A,g){return BC.randomUUID&&!B?BC.randomUUID():pe(B)}var QC,CC,eI=function(){if(CC)return QC;function B(I){if(typeof I!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(I))}function A(I,Q){for(var C,E="",a=0,i=-1,t=0,e=0;e<=I.length;++e){if(e<I.length)C=I.charCodeAt(e);else{if(C===47)break;C=47}if(C===47){if(!(i===e-1||t===1))if(i!==e-1&&t===2){if(E.length<2||a!==2||E.charCodeAt(E.length-1)!==46||E.charCodeAt(E.length-2)!==46){if(E.length>2){var o=E.lastIndexOf("/");if(o!==E.length-1){o===-1?(E="",a=0):a=(E=E.slice(0,o)).length-1-E.lastIndexOf("/"),i=e,t=0;continue}}else if(E.length===2||E.length===1){E="",a=0,i=e,t=0;continue}}Q&&(E.length>0?E+="/..":E="..",a=2)}else E.length>0?E+="/"+I.slice(i+1,e):E=I.slice(i+1,e),a=e-i-1;i=e,t=0}else C===46&&t!==-1?++t:t=-1}return E}CC=1;var g={resolve:function(){for(var I,Q="",C=!1,E=arguments.length-1;E>=-1&&!C;E--){var a;E>=0?a=arguments[E]:(I===void 0&&(I=process.cwd()),a=I),B(a),a.length!==0&&(Q=a+"/"+Q,C=a.charCodeAt(0)===47)}return Q=A(Q,!C),C?Q.length>0?"/"+Q:"/":Q.length>0?Q:"."},normalize:function(I){if(B(I),I.length===0)return".";var Q=I.charCodeAt(0)===47,C=I.charCodeAt(I.length-1)===47;return(I=A(I,!Q)).length!==0||Q||(I="."),I.length>0&&C&&(I+="/"),Q?"/"+I:I},isAbsolute:function(I){return B(I),I.length>0&&I.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var I,Q=0;Q<arguments.length;++Q){var C=arguments[Q];B(C),C.length>0&&(I===void 0?I=C:I+="/"+C)}return I===void 0?".":g.normalize(I)},relative:function(I,Q){if(B(I),B(Q),I===Q||(I=g.resolve(I))===(Q=g.resolve(Q)))return"";for(var C=1;C<I.length&&I.charCodeAt(C)===47;++C);for(var E=I.length,a=E-C,i=1;i<Q.length&&Q.charCodeAt(i)===47;++i);for(var t=Q.length-i,e=a<t?a:t,o=-1,s=0;s<=e;++s){if(s===e){if(t>e){if(Q.charCodeAt(i+s)===47)return Q.slice(i+s+1);if(s===0)return Q.slice(i+s)}else a>e&&(I.charCodeAt(C+s)===47?o=s:s===0&&(o=0));break}var n=I.charCodeAt(C+s);if(n!==Q.charCodeAt(i+s))break;n===47&&(o=s)}var r="";for(s=C+o+1;s<=E;++s)s!==E&&I.charCodeAt(s)!==47||(r.length===0?r+="..":r+="/..");return r.length>0?r+Q.slice(i+o):(i+=o,Q.charCodeAt(i)===47&&++i,Q.slice(i))},_makeLong:function(I){return I},dirname:function(I){if(B(I),I.length===0)return".";for(var Q=I.charCodeAt(0),C=Q===47,E=-1,a=!0,i=I.length-1;i>=1;--i)if((Q=I.charCodeAt(i))===47){if(!a){E=i;break}}else a=!1;return E===-1?C?"/":".":C&&E===1?"//":I.slice(0,E)},basename:function(I,Q){if(Q!==void 0&&typeof Q!="string")throw new TypeError('"ext" argument must be a string');B(I);var C,E=0,a=-1,i=!0;if(Q!==void 0&&Q.length>0&&Q.length<=I.length){if(Q.length===I.length&&Q===I)return"";var t=Q.length-1,e=-1;for(C=I.length-1;C>=0;--C){var o=I.charCodeAt(C);if(o===47){if(!i){E=C+1;break}}else e===-1&&(i=!1,e=C+1),t>=0&&(o===Q.charCodeAt(t)?--t==-1&&(a=C):(t=-1,a=e))}return E===a?a=e:a===-1&&(a=I.length),I.slice(E,a)}for(C=I.length-1;C>=0;--C)if(I.charCodeAt(C)===47){if(!i){E=C+1;break}}else a===-1&&(i=!1,a=C+1);return a===-1?"":I.slice(E,a)},extname:function(I){B(I);for(var Q=-1,C=0,E=-1,a=!0,i=0,t=I.length-1;t>=0;--t){var e=I.charCodeAt(t);if(e!==47)E===-1&&(a=!1,E=t+1),e===46?Q===-1?Q=t:i!==1&&(i=1):Q!==-1&&(i=-1);else if(!a){C=t+1;break}}return Q===-1||E===-1||i===0||i===1&&Q===E-1&&Q===C+1?"":I.slice(Q,E)},format:function(I){if(I===null||typeof I!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof I);return function(Q,C){var E=C.dir||C.root,a=C.base||(C.name||"")+(C.ext||"");return E?E===C.root?E+a:E+Q+a:a}("/",I)},parse:function(I){B(I);var Q={root:"",dir:"",base:"",ext:"",name:""};if(I.length===0)return Q;var C,E=I.charCodeAt(0),a=E===47;a?(Q.root="/",C=1):C=0;for(var i=-1,t=0,e=-1,o=!0,s=I.length-1,n=0;s>=C;--s)if((E=I.charCodeAt(s))!==47)e===-1&&(o=!1,e=s+1),E===46?i===-1?i=s:n!==1&&(n=1):i!==-1&&(n=-1);else if(!o){t=s+1;break}return i===-1||e===-1||n===0||n===1&&i===e-1&&i===t+1?e!==-1&&(Q.base=Q.name=t===0&&a?I.slice(1,e):I.slice(t,e)):(t===0&&a?(Q.name=I.slice(1,i),Q.base=I.slice(1,e)):(Q.name=I.slice(t,i),Q.base=I.slice(t,e)),Q.ext=I.slice(i,e)),t>0?Q.dir=I.slice(0,t-1):a&&(Q.dir="/"),Q},sep:"/",delimiter:":",win32:null,posix:null};return g.posix=g,QC=g}();function wB(){return wB=Object.assign?Object.assign.bind():function(B){for(var A=1;A<arguments.length;A++){var g=arguments[A];for(var I in g)({}).hasOwnProperty.call(g,I)&&(B[I]=g[I])}return B},wB.apply(null,arguments)}var qE={relTol:1e-12,absTol:1e-15,matrix:"Matrix",number:"number",numberFallback:"number",precision:64,predictable:!1,randomSeed:null};function Ne(B,A){if(sB(B,A))return B[A];throw typeof B[A]=="function"&&function(g,I){return g==null||typeof g[I]!="function"||lB(g,I)&&Object.getPrototypeOf&&I in Object.getPrototypeOf(g)?!1:lB(me,I)?!0:!(I in Object.prototype||I in Function.prototype)}(B,A)?new Error('Cannot access method "'+A+'" as a property'):new Error('No access to property "'+A+'"')}function sB(B,A){return!(!function(g){return typeof g=="object"&&g&&g.constructor===Object}(B)&&!Array.isArray(B))&&(!!lB(ke,A)||!(A in Object.prototype)&&!(A in Function.prototype))}var ke={length:!0,name:!0},me={toString:!0,valueOf:!0,toLocaleString:!0};class Se{constructor(A){this.wrappedObject=A,this[Symbol.iterator]=this.entries}keys(){return Object.keys(this.wrappedObject).filter(A=>this.has(A)).values()}get(A){return Ne(this.wrappedObject,A)}set(A,g){return function(I,Q,C){if(sB(I,Q))return I[Q]=C,C;throw new Error('No access to property "'+Q+'"')}(this.wrappedObject,A,g),this}has(A){return sB(this.wrappedObject,A)&&A in this.wrappedObject}entries(){return function(A,g){return{next:()=>{var I=A.next();return I.done?I:{value:g(I.value),done:!1}}}}(this.keys(),A=>[A,this.get(A)])}forEach(A){for(var g of this.keys())A(this.get(g),g,this)}delete(A){sB(this.wrappedObject,A)&&delete this.wrappedObject[A]}clear(){for(var A of this.keys())this.delete(A)}get size(){return Object.keys(this.wrappedObject).length}}function mA(B){return typeof B=="number"}function WA(B){return!(!B||typeof B!="object"||typeof B.constructor!="function")&&(B.isBigNumber===!0&&typeof B.constructor.prototype=="object"&&B.constructor.prototype.isBigNumber===!0||typeof B.constructor.isDecimal=="function"&&B.constructor.isDecimal(B)===!0)}function Ue(B){return typeof B=="bigint"}function vE(B){return B&&typeof B=="object"&&Object.getPrototypeOf(B).isComplex===!0||!1}function TE(B){return B&&typeof B=="object"&&Object.getPrototypeOf(B).isFraction===!0||!1}function OE(B){return B&&B.constructor.prototype.isUnit===!0||!1}function pg(B){return typeof B=="string"}var VA=Array.isArray;function qA(B){return B&&B.constructor.prototype.isMatrix===!0||!1}function uB(B){return Array.isArray(B)||qA(B)}function Le(B){return B&&B.isDenseMatrix&&B.constructor.prototype.isMatrix===!0||!1}function Je(B){return B&&B.isSparseMatrix&&B.constructor.prototype.isMatrix===!0||!1}function Ye(B){return B&&B.constructor.prototype.isRange===!0||!1}function RQ(B){return B&&B.constructor.prototype.isIndex===!0||!1}function xe(B){return typeof B=="boolean"}function He(B){return B&&B.constructor.prototype.isResultSet===!0||!1}function Ke(B){return B&&B.constructor.prototype.isHelp===!0||!1}function je(B){return typeof B=="function"}function qe(B){return B instanceof Date}function ve(B){return B instanceof RegExp}function pQ(B){return!(!B||typeof B!="object"||B.constructor!==Object||vE(B)||TE(B))}function Te(B){return!!B&&(B instanceof Map||B instanceof Se||typeof B.set=="function"&&typeof B.get=="function"&&typeof B.keys=="function"&&typeof B.has=="function")}function Oe(B){return B===null}function We(B){return B===void 0}function Pe(B){return B&&B.isAccessorNode===!0&&B.constructor.prototype.isNode===!0||!1}function Ve(B){return B&&B.isArrayNode===!0&&B.constructor.prototype.isNode===!0||!1}function ze(B){return B&&B.isAssignmentNode===!0&&B.constructor.prototype.isNode===!0||!1}function Xe(B){return B&&B.isBlockNode===!0&&B.constructor.prototype.isNode===!0||!1}function Ze(B){return B&&B.isConditionalNode===!0&&B.constructor.prototype.isNode===!0||!1}function _e(B){return B&&B.isConstantNode===!0&&B.constructor.prototype.isNode===!0||!1}function $e(B){return B&&B.isFunctionAssignmentNode===!0&&B.constructor.prototype.isNode===!0||!1}function Ai(B){return B&&B.isFunctionNode===!0&&B.constructor.prototype.isNode===!0||!1}function gi(B){return B&&B.isIndexNode===!0&&B.constructor.prototype.isNode===!0||!1}function Ii(B){return B&&B.isNode===!0&&B.constructor.prototype.isNode===!0||!1}function Bi(B){return B&&B.isObjectNode===!0&&B.constructor.prototype.isNode===!0||!1}function Qi(B){return B&&B.isOperatorNode===!0&&B.constructor.prototype.isNode===!0||!1}function Ci(B){return B&&B.isParenthesisNode===!0&&B.constructor.prototype.isNode===!0||!1}function Ei(B){return B&&B.isRangeNode===!0&&B.constructor.prototype.isNode===!0||!1}function ai(B){return B&&B.isRelationalNode===!0&&B.constructor.prototype.isNode===!0||!1}function ei(B){return B&&B.isSymbolNode===!0&&B.constructor.prototype.isNode===!0||!1}function ii(B){return B&&B.constructor.prototype.isChain===!0||!1}function _g(B){var A=typeof B;return A==="object"?B===null?"null":WA(B)?"BigNumber":B.constructor&&B.constructor.name?B.constructor.name:"Object":A}function jA(B){var A=typeof B;if(A==="number"||A==="bigint"||A==="string"||A==="boolean"||B==null)return B;if(typeof B.clone=="function")return B.clone();if(Array.isArray(B))return B.map(function(g){return jA(g)});if(B instanceof Date)return new Date(B.valueOf());if(WA(B))return B;if(pQ(B))return function(g,I){var Q={};for(var C in g)lB(g,C)&&(Q[C]=I(g[C]));return Q}(B,jA);if(A==="function")return B;throw new TypeError("Cannot clone: unknown type of value (value: ".concat(B,")"))}function pI(B,A){var g,I,Q;if(Array.isArray(B)){if(!Array.isArray(A)||B.length!==A.length)return!1;for(I=0,Q=B.length;I<Q;I++)if(!pI(B[I],A[I]))return!1;return!0}if(typeof B=="function")return B===A;if(B instanceof Object){if(Array.isArray(A)||!(A instanceof Object))return!1;for(g in B)if(!(g in A)||!pI(B[g],A[g]))return!1;for(g in A)if(!(g in B))return!1;return!0}return B===A}function lB(B,A){return B&&Object.hasOwnProperty.call(B,A)}var iI=function(B){if(B)throw new Error(`The global config is readonly.
949
+ `,WQ=typeof self<"u"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",Aa],{type:"text/javascript;charset=utf-8"});function vE(B){let A;try{if(A=WQ&&(self.URL||self.webkitURL).createObjectURL(WQ),!A)throw"";const g=new Worker(A,{type:"module",name:B?.name});return g.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),g}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(Aa),{type:"module",name:B?.name})}}class TE{constructor(A,g){this.gltfLoader=A,this.renderer=g,this.gltfLoader?.register&&this.gltfLoader.register(()=>({name:"KHR_spz_gaussian_splats_compression"}));try{this.worker=new vE,this.workerJobId=0,this.workerCallbacks=new Map,this.worker.onmessage=I=>{const{id:Q,pos:C,col:a,c0:E,c1:i,error:t}=I.data||{},e=this.workerCallbacks.get(Q);e&&(this.workerCallbacks.delete(Q),t?e.reject(new Error(t)):e.resolve({pos:C,col:a,c0:E,c1:i}))},this.worker.onerror=I=>{for(const[,Q]of this.workerCallbacks)Q.reject(I instanceof Error?I:new Error(String(I)));this.workerCallbacks.clear()}}catch{this.worker=void 0}}parseSplats(A,g,I,Q){return new Promise(async(C,a)=>{await this.#e(),this.gltfLoader.parse(A,"",async E=>{try{const i=await this.#B(E,Q);C(i)}catch(i){a(i)}},E=>a(E))})}async#B(A,g){if(g)return this.#A(A);const I=A.parser,Q=I.json,C=this.#Q(Q);return C?.type==="SPZ"?this.#C(I,C,A):C?.type==="KHR"?this.#a(I,Q,C,A):C?.type==="ULTRA"?this.#A(A):(A.scene||(A.scene=new x.Object3D),A.scene.asset=A.asset,A.scene)}#Q(A){if(!A?.meshes)return null;for(let g=0;g<A.meshes.length;g++){const I=A.meshes[g];for(let Q=0;Q<(I.primitives?.length||0);Q++){const C=I.primitives[Q],a=C?.extensions;if(a?.KHR_spz_gaussian_splats_compression&&Number.isInteger(a.KHR_spz_gaussian_splats_compression.bufferView))return{mesh:g,prim:Q,type:"SPZ",bv:a.KHR_spz_gaussian_splats_compression.bufferView};if(a?.KHR_gaussian_splatting)return{mesh:g,prim:Q,type:"KHR"};if(a?.ULTRA_splats)return{mesh:g,prim:Q,type:"ULTRA"}}}return null}async#C(A,g,I){let Q=await A.getDependency("bufferView",g.bv);if(Q?.buffer?.byteLength&&(Q=Q.buffer.slice(Q.byteOffset,Q.byteLength+Q.byteOffset)),this.worker){const h=this.workerJobId++,d=new Promise((X,EA)=>{this.workerCallbacks.set(h,{resolve:X,reject:EA})});try{this.worker.postMessage({id:h,op:"decodeSPZ",spz:Q},[Q])}catch(X){throw this.workerCallbacks.delete(h),X}const{pos:f,col:p,c0:R,c1:k}=await d,G=new Float32Array(f),N=new Float32Array(p),S=new Float32Array(R),U=new Float32Array(k),j=new x.BufferAttribute(G,3),z=new x.BufferAttribute(N,4),AA=new x.BufferAttribute(S,3),_=new x.BufferAttribute(U,3);return I.scene.traverse(X=>X.dispose&&X.dispose()),{isSplatsData:!0,positions:j,colors:z,cov0:AA,cov1:_}}const C=await jE(Q,{coordinateSystem:"LUF"}),a=C.numPoints??C.positions.length/3,E=new Float32Array(C.positions),i=C.colors??C.color,t=C.alphas??C.opacity??C.opacities,e=new Float32Array(4*a);for(let h=0;h<a;h++){const d=i[3*h+0],f=i[3*h+1],p=i[3*h+2],R=t?this.#E(t[h]):1,[k,G,N]=this.#I(d,f,p);e.set([k,G,N,R],4*h)}const o=C.rotations??C.quaternions,s=C.scales??C.scale,n=this.#g(o,s),r=new x.BufferAttribute(E,3),c=new x.BufferAttribute(e,4),D=new x.BufferAttribute(n.c0,3),w=new x.BufferAttribute(n.c1,3);return I.scene.traverse(h=>h.dispose&&h.dispose()),{isSplatsData:!0,positions:r,colors:c,cov0:D,cov1:w}}async#a(A,g,I,Q){const C=g.meshes[I.mesh].primitives[I.prim],a=async S=>{const U=C.attributes?.[S];return Number.isInteger(U)?A.getDependency("accessor",U):null};let E=await a("POSITION");if(!E)return this.#A(Q);let i=await a("COLOR_0"),t=await a("ROTATION")||await a("_ROTATION"),e=await a("SCALE")||await a("_SCALE");const o=E?.buffer?E.buffer.slice(E.byteOffset,E.byteOffset+E.byteLength):null,s=i?.buffer?i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength):null,n=t?.buffer?t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength):null,r=e?.buffer?e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength):null;if(this.worker){const S=this.workerJobId++,U=new Promise((eA,rA)=>{this.workerCallbacks.set(S,{resolve:eA,reject:rA})});try{const eA=[],rA={pos:o,col:s,rot:n,scl:r};o&&eA.push(o),s&&eA.push(s),n&&eA.push(n),r&&eA.push(r),this.worker.postMessage({id:S,op:"handleKHR",payload:rA},eA)}catch(eA){throw this.workerCallbacks.delete(S),eA}const{pos:j,col:z,c0:AA,c1:_}=await U,X=new Float32Array(j),EA=new Float32Array(z),cA=new Float32Array(AA),nA=new Float32Array(_),lA=new x.BufferAttribute(X,3),uA=new x.BufferAttribute(EA,4),iA=new x.BufferAttribute(cA,3),GA=new x.BufferAttribute(nA,3);return Q.scene.traverse(eA=>eA.dispose&&eA.dispose()),{isSplatsData:!0,positions:lA,colors:uA,cov0:iA,cov1:GA}}let c=E;c?.buffer&&(c=new Float32Array(c.buffer,c.byteOffset,3*c.count));let D=i;D?.buffer&&(D=new Float32Array(D.buffer,D.byteOffset,(D.itemSize||4)*D.count));let w=t,h=e;w?.buffer&&(w=new Float32Array(w.buffer,w.byteOffset,4*w.count)),h?.buffer&&(h=new Float32Array(h.buffer,h.byteOffset,3*h.count));const d=c.length/3,f=new Float32Array(4*d);if(D){const S=D.length===4*d?4:3;for(let U=0;U<d;U++){const j=D[U*S+0],z=D[U*S+1],AA=D[U*S+2],[_,X,EA]=this.#I(j,z,AA);f.set([_,X,EA,S===4?D[U*S+3]:1],4*U)}}else for(let S=0;S<d;S++)f.set([1,1,1,1],4*S);const p=this.#g(w,h),R=new x.BufferAttribute(c,3),k=new x.BufferAttribute(f,4),G=new x.BufferAttribute(p.c0,3),N=new x.BufferAttribute(p.c1,3);return Q.scene.traverse(S=>S.dispose&&S.dispose()),{isSplatsData:!0,positions:R,colors:k,cov0:G,cov1:N}}async#A(A){const g=A.scene.children[0].geometry,I=g.attributes.position,Q=g.attributes.color,C=g.attributes.cov_0||g.attributes.COV_0,a=g.attributes.cov_1||g.attributes.COV_1;return A.scene.traverse(E=>E.dispose&&E.dispose()),{isSplatsData:!0,positions:I,colors:Q,cov0:C,cov1:a}}#g(A,g){const I=(A?.length||0)/4,Q=new Float32Array(3*I),C=new Float32Array(3*I),a=new Float32Array(9);for(let E=0;E<I;E++){const i=A?A[4*E+0]:0,t=A?A[4*E+1]:0,e=A?A[4*E+2]:0,o=A?A[4*E+3]:1,s=i*i,n=t*t,r=e*e,c=i*t,D=i*e,w=t*e,h=o*i,d=o*t,f=o*e;a[0]=1-2*(n+r),a[1]=2*(c-f),a[2]=2*(D+d),a[3]=2*(c+f),a[4]=1-2*(s+r),a[5]=2*(w-h),a[6]=2*(D-d),a[7]=2*(w+h),a[8]=1-2*(s+n);const p=Math.max(1e-12,g?g[3*E+0]:0),R=Math.max(1e-12,g?g[3*E+1]:0),k=Math.max(1e-12,g?g[3*E+2]:0),G=p*p,N=R*R,S=k*k,U=a[0]*a[0]*G+a[1]*a[1]*N+a[2]*a[2]*S,j=a[3]*a[0]*G+a[4]*a[1]*N+a[5]*a[2]*S,z=a[6]*a[0]*G+a[7]*a[1]*N+a[8]*a[2]*S,AA=a[3]*a[3]*G+a[4]*a[4]*N+a[5]*a[5]*S,_=a[6]*a[3]*G+a[7]*a[4]*N+a[8]*a[5]*S,X=a[6]*a[6]*G+a[7]*a[7]*N+a[8]*a[8]*S,EA=3*E;Q[EA+0]=U,Q[EA+1]=j,Q[EA+2]=z,C[EA+0]=AA,C[EA+1]=_,C[EA+2]=X}return{c0:Q,c1:C}}#E(A){return Number.isFinite(A)?A>=0&&A<=1?A:A>=0&&A<=255&&Math.abs(A-Math.round(A))<.001?A/255:A>=0&&A<=65535&&Math.abs(A-Math.round(A))<.001?A/65535:Math.min(1,Math.max(0,A)):1}#I(A,g,I){const Q=o=>o>=0&&o<=255&&Math.abs(o-Math.round(o))<.001,C=o=>o>=0&&o<=65535&&Math.abs(o-Math.round(o))<.001,a=o=>o<=.04045?o/12.92:Math.pow((o+.055)/1.055,2.4),E=o=>Math.min(1,Math.max(0,o));let i=A,t=g,e=I;if(!(A>=0&&A<=1&&g>=0&&g<=1&&I>=0&&I<=1))if(Q(A)&&Q(g)&&Q(I))i=A/255,t=g/255,e=I/255;else if(C(A)&&C(g)&&C(I))i=A/65535,t=g/65535,e=I/65535;else{const o=s=>.5+.28209479177387814*s;i=o(A),t=o(g),e=o(I)}return i=E(i),t=E(t),e=E(e),[a(i),a(t),a(e)]}#e(){return new Promise(A=>{const g=setInterval(()=>{const I=this.gltfLoader;I.hasDracoLoader&&!I.dracoLoader||I.hasKTX2Loader&&!I.ktx2Loader||(clearInterval(g),A())},10)})}}class ga extends b.Loader{constructor(A){super(A),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(g){return new zE(g)}),this.register(function(g){return new XE(g)}),this.register(function(g){return new Ce(g)}),this.register(function(g){return new ae(g)}),this.register(function(g){return new Ee(g)}),this.register(function(g){return new _E(g)}),this.register(function(g){return new $E(g)}),this.register(function(g){return new Ae(g)}),this.register(function(g){return new ge(g)}),this.register(function(g){return new VE(g)}),this.register(function(g){return new Ie(g)}),this.register(function(g){return new ZE(g)}),this.register(function(g){return new Qe(g)}),this.register(function(g){return new Be(g)}),this.register(function(g){return new WE(g)}),this.register(function(g){return new ee(g)}),this.register(function(g){return new ie(g)})}load(A,g,I,Q){const C=this;let a;if(this.resourcePath!=="")a=this.resourcePath;else if(this.path!==""){const t=b.LoaderUtils.extractUrlBase(A);a=b.LoaderUtils.resolveURL(t,this.path)}else a=b.LoaderUtils.extractUrlBase(A);this.manager.itemStart(A);const E=function(t){Q?Q(t):console.error(t),C.manager.itemError(A),C.manager.itemEnd(A)},i=new b.FileLoader(this.manager);i.setPath(this.path),i.setResponseType("arraybuffer"),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(A,function(t){try{C.parse(t,a,function(e){g(e),C.manager.itemEnd(A)},E)}catch(e){E(e)}},I,E)}setDRACOLoader(A){return this.dracoLoader=A,this}setKTX2Loader(A){return this.ktx2Loader=A,this}setMeshoptDecoder(A){return this.meshoptDecoder=A,this}register(A){return this.pluginCallbacks.indexOf(A)===-1&&this.pluginCallbacks.push(A),this}unregister(A){return this.pluginCallbacks.indexOf(A)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(A),1),this}parse(A,g,I,Q){let C;const a={},E={},i=new TextDecoder;if(typeof A=="string")C=JSON.parse(A);else if(A instanceof ArrayBuffer)if(i.decode(new Uint8Array(A,0,4))===Ia){try{a[wA.KHR_BINARY_GLTF]=new ne(A)}catch(e){return void(Q&&Q(e))}C=JSON.parse(a[wA.KHR_BINARY_GLTF].content)}else C=JSON.parse(i.decode(A));else C=A;if(C.asset===void 0||C.asset.version[0]<2)return void(Q&&Q(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.")));const t=new ye(C,{path:g||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});t.fileLoader.setRequestHeader(this.requestHeader);for(let e=0;e<this.pluginCallbacks.length;e++){const o=this.pluginCallbacks[e](t);o.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),E[o.name]=o,a[o.name]=!0}if(C.extensionsUsed)for(let e=0;e<C.extensionsUsed.length;++e){const o=C.extensionsUsed[e],s=C.extensionsRequired||[];switch(o){case wA.KHR_MATERIALS_UNLIT:a[o]=new PE;break;case wA.KHR_DRACO_MESH_COMPRESSION:a[o]=new se(C,this.dracoLoader);break;case wA.KHR_TEXTURE_TRANSFORM:a[o]=new re;break;case wA.KHR_MESH_QUANTIZATION:a[o]=new ce;break;default:s.indexOf(o)>=0&&E[o]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+o+'".')}}t.setExtensions(a),t.setPlugins(E),t.parse(I,Q)}parseAsync(A,g){const I=this;return new Promise(function(Q,C){I.parse(A,g,Q,C)})}}function OE(){let B={};return{get:function(A){return B[A]},add:function(A,g){B[A]=g},remove:function(A){delete B[A]},removeAll:function(){B={}}}}const wA={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class WE{constructor(A){this.parser=A,this.name=wA.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const A=this.parser,g=this.parser.json.nodes||[];for(let I=0,Q=g.length;I<Q;I++){const C=g[I];C.extensions&&C.extensions[this.name]&&C.extensions[this.name].light!==void 0&&A._addNodeRef(this.cache,C.extensions[this.name].light)}}_loadLight(A){const g=this.parser,I="light:"+A;let Q=g.cache.get(I);if(Q)return Q;const C=g.json,a=((C.extensions&&C.extensions[this.name]||{}).lights||[])[A];let E;const i=new b.Color(16777215);a.color!==void 0&&i.setRGB(a.color[0],a.color[1],a.color[2],b.LinearSRGBColorSpace);const t=a.range!==void 0?a.range:0;switch(a.type){case"directional":E=new b.DirectionalLight(i),E.target.position.set(0,0,-1),E.add(E.target);break;case"point":E=new b.PointLight(i),E.distance=t;break;case"spot":E=new b.SpotLight(i),E.distance=t,a.spot=a.spot||{},a.spot.innerConeAngle=a.spot.innerConeAngle!==void 0?a.spot.innerConeAngle:0,a.spot.outerConeAngle=a.spot.outerConeAngle!==void 0?a.spot.outerConeAngle:Math.PI/4,E.angle=a.spot.outerConeAngle,E.penumbra=1-a.spot.innerConeAngle/a.spot.outerConeAngle,E.target.position.set(0,0,-1),E.add(E.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+a.type)}return E.position.set(0,0,0),Mg(E,a),a.intensity!==void 0&&(E.intensity=a.intensity),E.name=g.createUniqueName(a.name||"light_"+A),Q=Promise.resolve(E),g.cache.add(I,Q),Q}getDependency(A,g){if(A==="light")return this._loadLight(g)}createNodeAttachment(A){const g=this,I=this.parser,Q=I.json.nodes[A],C=(Q.extensions&&Q.extensions[this.name]||{}).light;return C===void 0?null:this._loadLight(C).then(function(a){return I._getNodeRef(g.cache,C,a)})}}class PE{constructor(){this.name=wA.KHR_MATERIALS_UNLIT}getMaterialType(){return b.MeshBasicMaterial}extendParams(A,g,I){const Q=[];A.color=new b.Color(1,1,1),A.opacity=1;const C=g.pbrMetallicRoughness;if(C){if(Array.isArray(C.baseColorFactor)){const a=C.baseColorFactor;A.color.setRGB(a[0],a[1],a[2],b.LinearSRGBColorSpace),A.opacity=a[3]}C.baseColorTexture!==void 0&&Q.push(I.assignTexture(A,"map",C.baseColorTexture,b.SRGBColorSpace))}return Promise.all(Q)}}class VE{constructor(A){this.parser=A,this.name=wA.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(A,g){const I=this.parser.json.materials[A];if(!I.extensions||!I.extensions[this.name])return Promise.resolve();const Q=I.extensions[this.name].emissiveStrength;return Q!==void 0&&(g.emissiveIntensity=Q),Promise.resolve()}}class zE{constructor(A){this.parser=A,this.name=wA.KHR_MATERIALS_CLEARCOAT}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?b.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser,Q=I.json.materials[A];if(!Q.extensions||!Q.extensions[this.name])return Promise.resolve();const C=[],a=Q.extensions[this.name];if(a.clearcoatFactor!==void 0&&(g.clearcoat=a.clearcoatFactor),a.clearcoatTexture!==void 0&&C.push(I.assignTexture(g,"clearcoatMap",a.clearcoatTexture)),a.clearcoatRoughnessFactor!==void 0&&(g.clearcoatRoughness=a.clearcoatRoughnessFactor),a.clearcoatRoughnessTexture!==void 0&&C.push(I.assignTexture(g,"clearcoatRoughnessMap",a.clearcoatRoughnessTexture)),a.clearcoatNormalTexture!==void 0&&(C.push(I.assignTexture(g,"clearcoatNormalMap",a.clearcoatNormalTexture)),a.clearcoatNormalTexture.scale!==void 0)){const E=a.clearcoatNormalTexture.scale;g.clearcoatNormalScale=new b.Vector2(E,E)}return Promise.all(C)}}class XE{constructor(A){this.parser=A,this.name=wA.KHR_MATERIALS_DISPERSION}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?b.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser.json.materials[A];if(!I.extensions||!I.extensions[this.name])return Promise.resolve();const Q=I.extensions[this.name];return g.dispersion=Q.dispersion!==void 0?Q.dispersion:0,Promise.resolve()}}class ZE{constructor(A){this.parser=A,this.name=wA.KHR_MATERIALS_IRIDESCENCE}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?b.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser,Q=I.json.materials[A];if(!Q.extensions||!Q.extensions[this.name])return Promise.resolve();const C=[],a=Q.extensions[this.name];return a.iridescenceFactor!==void 0&&(g.iridescence=a.iridescenceFactor),a.iridescenceTexture!==void 0&&C.push(I.assignTexture(g,"iridescenceMap",a.iridescenceTexture)),a.iridescenceIor!==void 0&&(g.iridescenceIOR=a.iridescenceIor),g.iridescenceThicknessRange===void 0&&(g.iridescenceThicknessRange=[100,400]),a.iridescenceThicknessMinimum!==void 0&&(g.iridescenceThicknessRange[0]=a.iridescenceThicknessMinimum),a.iridescenceThicknessMaximum!==void 0&&(g.iridescenceThicknessRange[1]=a.iridescenceThicknessMaximum),a.iridescenceThicknessTexture!==void 0&&C.push(I.assignTexture(g,"iridescenceThicknessMap",a.iridescenceThicknessTexture)),Promise.all(C)}}class _E{constructor(A){this.parser=A,this.name=wA.KHR_MATERIALS_SHEEN}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?b.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser,Q=I.json.materials[A];if(!Q.extensions||!Q.extensions[this.name])return Promise.resolve();const C=[];g.sheenColor=new b.Color(0,0,0),g.sheenRoughness=0,g.sheen=1;const a=Q.extensions[this.name];if(a.sheenColorFactor!==void 0){const E=a.sheenColorFactor;g.sheenColor.setRGB(E[0],E[1],E[2],b.LinearSRGBColorSpace)}return a.sheenRoughnessFactor!==void 0&&(g.sheenRoughness=a.sheenRoughnessFactor),a.sheenColorTexture!==void 0&&C.push(I.assignTexture(g,"sheenColorMap",a.sheenColorTexture,b.SRGBColorSpace)),a.sheenRoughnessTexture!==void 0&&C.push(I.assignTexture(g,"sheenRoughnessMap",a.sheenRoughnessTexture)),Promise.all(C)}}class $E{constructor(A){this.parser=A,this.name=wA.KHR_MATERIALS_TRANSMISSION}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?b.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser,Q=I.json.materials[A];if(!Q.extensions||!Q.extensions[this.name])return Promise.resolve();const C=[],a=Q.extensions[this.name];return a.transmissionFactor!==void 0&&(g.transmission=a.transmissionFactor),a.transmissionTexture!==void 0&&C.push(I.assignTexture(g,"transmissionMap",a.transmissionTexture)),Promise.all(C)}}class Ae{constructor(A){this.parser=A,this.name=wA.KHR_MATERIALS_VOLUME}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?b.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser,Q=I.json.materials[A];if(!Q.extensions||!Q.extensions[this.name])return Promise.resolve();const C=[],a=Q.extensions[this.name];g.thickness=a.thicknessFactor!==void 0?a.thicknessFactor:0,a.thicknessTexture!==void 0&&C.push(I.assignTexture(g,"thicknessMap",a.thicknessTexture)),g.attenuationDistance=a.attenuationDistance||1/0;const E=a.attenuationColor||[1,1,1];return g.attenuationColor=new b.Color().setRGB(E[0],E[1],E[2],b.LinearSRGBColorSpace),Promise.all(C)}}class ge{constructor(A){this.parser=A,this.name=wA.KHR_MATERIALS_IOR}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?b.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser.json.materials[A];if(!I.extensions||!I.extensions[this.name])return Promise.resolve();const Q=I.extensions[this.name];return g.ior=Q.ior!==void 0?Q.ior:1.5,Promise.resolve()}}class Ie{constructor(A){this.parser=A,this.name=wA.KHR_MATERIALS_SPECULAR}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?b.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser,Q=I.json.materials[A];if(!Q.extensions||!Q.extensions[this.name])return Promise.resolve();const C=[],a=Q.extensions[this.name];g.specularIntensity=a.specularFactor!==void 0?a.specularFactor:1,a.specularTexture!==void 0&&C.push(I.assignTexture(g,"specularIntensityMap",a.specularTexture));const E=a.specularColorFactor||[1,1,1];return g.specularColor=new b.Color().setRGB(E[0],E[1],E[2],b.LinearSRGBColorSpace),a.specularColorTexture!==void 0&&C.push(I.assignTexture(g,"specularColorMap",a.specularColorTexture,b.SRGBColorSpace)),Promise.all(C)}}class Be{constructor(A){this.parser=A,this.name=wA.EXT_MATERIALS_BUMP}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?b.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser,Q=I.json.materials[A];if(!Q.extensions||!Q.extensions[this.name])return Promise.resolve();const C=[],a=Q.extensions[this.name];return g.bumpScale=a.bumpFactor!==void 0?a.bumpFactor:1,a.bumpTexture!==void 0&&C.push(I.assignTexture(g,"bumpMap",a.bumpTexture)),Promise.all(C)}}class Qe{constructor(A){this.parser=A,this.name=wA.KHR_MATERIALS_ANISOTROPY}getMaterialType(A){const g=this.parser.json.materials[A];return g.extensions&&g.extensions[this.name]?b.MeshPhysicalMaterial:null}extendMaterialParams(A,g){const I=this.parser,Q=I.json.materials[A];if(!Q.extensions||!Q.extensions[this.name])return Promise.resolve();const C=[],a=Q.extensions[this.name];return a.anisotropyStrength!==void 0&&(g.anisotropy=a.anisotropyStrength),a.anisotropyRotation!==void 0&&(g.anisotropyRotation=a.anisotropyRotation),a.anisotropyTexture!==void 0&&C.push(I.assignTexture(g,"anisotropyMap",a.anisotropyTexture)),Promise.all(C)}}class Ce{constructor(A){this.parser=A,this.name=wA.KHR_TEXTURE_BASISU}loadTexture(A){const g=this.parser,I=g.json,Q=I.textures[A];if(!Q.extensions||!Q.extensions[this.name])return null;const C=Q.extensions[this.name],a=g.options.ktx2Loader;if(!a){if(I.extensionsRequired&&I.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return g.loadTextureImage(A,C.source,a)}}class ae{constructor(A){this.parser=A,this.name=wA.EXT_TEXTURE_WEBP}loadTexture(A){const g=this.name,I=this.parser,Q=I.json,C=Q.textures[A];if(!C.extensions||!C.extensions[g])return null;const a=C.extensions[g],E=Q.images[a.source];let i=I.textureLoader;if(E.uri){const t=I.options.manager.getHandler(E.uri);t!==null&&(i=t)}return I.loadTextureImage(A,a.source,i)}}class Ee{constructor(A){this.parser=A,this.name=wA.EXT_TEXTURE_AVIF}loadTexture(A){const g=this.name,I=this.parser,Q=I.json,C=Q.textures[A];if(!C.extensions||!C.extensions[g])return null;const a=C.extensions[g],E=Q.images[a.source];let i=I.textureLoader;if(E.uri){const t=I.options.manager.getHandler(E.uri);t!==null&&(i=t)}return I.loadTextureImage(A,a.source,i)}}class ee{constructor(A){this.name=wA.EXT_MESHOPT_COMPRESSION,this.parser=A}loadBufferView(A){const g=this.parser.json,I=g.bufferViews[A];if(I.extensions&&I.extensions[this.name]){const Q=I.extensions[this.name],C=this.parser.getDependency("buffer",Q.buffer),a=this.parser.options.meshoptDecoder;if(!a||!a.supported){if(g.extensionsRequired&&g.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return C.then(function(E){const i=Q.byteOffset||0,t=Q.byteLength||0,e=Q.count,o=Q.byteStride,s=new Uint8Array(E,i,t);return a.decodeGltfBufferAsync?a.decodeGltfBufferAsync(e,o,s,Q.mode,Q.filter).then(function(n){return n.buffer}):a.ready.then(function(){const n=new ArrayBuffer(e*o);return a.decodeGltfBuffer(new Uint8Array(n),e,o,s,Q.mode,Q.filter),n})})}return null}}class ie{constructor(A){this.name=wA.EXT_MESH_GPU_INSTANCING,this.parser=A}createNodeMesh(A){const g=this.parser.json,I=g.nodes[A];if(!I.extensions||!I.extensions[this.name]||I.mesh===void 0)return null;const Q=g.meshes[I.mesh];for(const i of Q.primitives)if(i.mode!==bg.TRIANGLES&&i.mode!==bg.TRIANGLE_STRIP&&i.mode!==bg.TRIANGLE_FAN&&i.mode!==void 0)return null;const C=I.extensions[this.name].attributes,a=[],E={};for(const i in C)a.push(this.parser.getDependency("accessor",C[i]).then(t=>(E[i]=t,E[i])));return a.length<1?null:(a.push(this.parser.createNodeMesh(A)),Promise.all(a).then(i=>{const t=i.pop(),e=t.isGroup?t.children:[t],o=i[0].count,s=[];for(const n of e){const r=new b.Matrix4,c=new b.Vector3,D=new b.Quaternion,w=new b.Vector3(1,1,1),h=new b.InstancedMesh(n.geometry,n.material,o);for(let d=0;d<o;d++)E.TRANSLATION&&c.fromBufferAttribute(E.TRANSLATION,d),E.ROTATION&&D.fromBufferAttribute(E.ROTATION,d),E.SCALE&&w.fromBufferAttribute(E.SCALE,d),h.setMatrixAt(d,r.compose(c,D,w));for(const d in E)if(d==="_COLOR_0"){const f=E[d];h.instanceColor=new b.InstancedBufferAttribute(f.array,f.itemSize,f.normalized)}else d!=="TRANSLATION"&&d!=="ROTATION"&&d!=="SCALE"&&n.geometry.setAttribute(d,E[d]);b.Object3D.prototype.copy.call(h,n),this.parser.assignFinalMaterial(h),s.push(h)}return t.isGroup?(t.clear(),t.add(...s),t):s[0]}))}}const Ia="glTF",te=1313821514,oe=5130562;class ne{constructor(A){this.name=wA.KHR_BINARY_GLTF,this.content=null,this.body=null;const g=new DataView(A,0,12),I=new TextDecoder;if(this.header={magic:I.decode(new Uint8Array(A.slice(0,4))),version:g.getUint32(4,!0),length:g.getUint32(8,!0)},this.header.magic!==Ia)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const Q=this.header.length-12,C=new DataView(A,12);let a=0;for(;a<Q;){const E=C.getUint32(a,!0);a+=4;const i=C.getUint32(a,!0);if(a+=4,i===te){const t=new Uint8Array(A,12+a,E);this.content=I.decode(t)}else if(i===oe){const t=12+a;this.body=A.slice(t,t+E)}a+=E}if(this.content===null)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class se{constructor(A,g){if(!g)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=wA.KHR_DRACO_MESH_COMPRESSION,this.json=A,this.dracoLoader=g,this.dracoLoader.preload()}decodePrimitive(A,g){const I=this.json,Q=this.dracoLoader,C=A.extensions[this.name].bufferView,a=A.extensions[this.name].attributes,E={},i={},t={};for(const e in a){const o=sQ[e]||e.toLowerCase();E[o]=a[e]}for(const e in A.attributes){const o=sQ[e]||e.toLowerCase();if(a[e]!==void 0){const s=I.accessors[A.attributes[e]],n=MI[s.componentType];t[o]=n.name,i[o]=s.normalized===!0}}return g.getDependency("bufferView",C).then(function(e){return new Promise(function(o,s){Q.decodeDracoFile(e,function(n){for(const r in n.attributes){const c=n.attributes[r],D=i[r];D!==void 0&&(c.normalized=D)}o(n)},E,t,b.LinearSRGBColorSpace,s)})})}}class re{constructor(){this.name=wA.KHR_TEXTURE_TRANSFORM}extendTexture(A,g){return(g.texCoord!==void 0&&g.texCoord!==A.channel||g.offset!==void 0||g.rotation!==void 0||g.scale!==void 0)&&(A=A.clone(),g.texCoord!==void 0&&(A.channel=g.texCoord),g.offset!==void 0&&A.offset.fromArray(g.offset),g.rotation!==void 0&&(A.rotation=g.rotation),g.scale!==void 0&&A.repeat.fromArray(g.scale),A.needsUpdate=!0),A}}class ce{constructor(){this.name=wA.KHR_MESH_QUANTIZATION}}class Ba extends b.Interpolant{constructor(A,g,I,Q){super(A,g,I,Q)}copySampleValue_(A){const g=this.resultBuffer,I=this.sampleValues,Q=this.valueSize,C=A*Q*3+Q;for(let a=0;a!==Q;a++)g[a]=I[C+a];return g}interpolate_(A,g,I,Q){const C=this.resultBuffer,a=this.sampleValues,E=this.valueSize,i=2*E,t=3*E,e=Q-g,o=(I-g)/e,s=o*o,n=s*o,r=A*t,c=r-t,D=-2*n+3*s,w=n-s,h=1-D,d=w-s+o;for(let f=0;f!==E;f++){const p=a[c+f+E],R=a[c+f+i]*e,k=a[r+f+E],G=a[r+f]*e;C[f]=h*p+d*R+D*k+w*G}return C}}const he=new b.Quaternion;class De extends Ba{interpolate_(A,g,I,Q){const C=super.interpolate_(A,g,I,Q);return he.fromArray(C).normalize().toArray(C),C}}const bg={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},MI={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},PQ={9728:b.NearestFilter,9729:b.LinearFilter,9984:b.NearestMipmapNearestFilter,9985:b.LinearMipmapNearestFilter,9986:b.NearestMipmapLinearFilter,9987:b.LinearMipmapLinearFilter},VQ={33071:b.ClampToEdgeWrapping,33648:b.MirroredRepeatWrapping,10497:b.RepeatWrapping},TB={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},sQ={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Tg={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},de={CUBICSPLINE:void 0,LINEAR:b.InterpolateLinear,STEP:b.InterpolateDiscrete},be="OPAQUE",we="MASK",le="BLEND";function BI(B,A,g){for(const I in g.extensions)B[I]===void 0&&(A.userData.gltfExtensions=A.userData.gltfExtensions||{},A.userData.gltfExtensions[I]=g.extensions[I])}function Mg(B,A){A.extras!==void 0&&(typeof A.extras=="object"?Object.assign(B.userData,A.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+A.extras))}function ue(B,A){if(B.updateMorphTargets(),A.weights!==void 0)for(let g=0,I=A.weights.length;g<I;g++)B.morphTargetInfluences[g]=A.weights[g];if(A.extras&&Array.isArray(A.extras.targetNames)){const g=A.extras.targetNames;if(B.morphTargetInfluences.length===g.length){B.morphTargetDictionary={};for(let I=0,Q=g.length;I<Q;I++)B.morphTargetDictionary[g[I]]=I}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function fe(B){let A;const g=B.extensions&&B.extensions[wA.KHR_DRACO_MESH_COMPRESSION];if(A=g?"draco:"+g.bufferView+":"+g.indices+":"+OB(g.attributes):B.indices+":"+OB(B.attributes)+":"+B.mode,B.targets!==void 0)for(let I=0,Q=B.targets.length;I<Q;I++)A+=":"+OB(B.targets[I]);return A}function OB(B){let A="";const g=Object.keys(B).sort();for(let I=0,Q=g.length;I<Q;I++)A+=g[I]+":"+B[g[I]]+";";return A}function rQ(B){switch(B){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}const Fe=new b.Matrix4;class ye{constructor(A={},g={}){this.json=A,this.extensions={},this.plugins={},this.options=g,this.cache=new OE,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let I=!1,Q=-1,C=!1,a=-1;if(typeof navigator<"u"){const E=navigator.userAgent;I=/^((?!chrome|android).)*safari/i.test(E)===!0;const i=E.match(/Version\/(\d+)/);Q=I&&i?parseInt(i[1],10):-1,C=E.indexOf("Firefox")>-1,a=C?E.match(/Firefox\/([0-9]+)\./)[1]:-1}typeof createImageBitmap>"u"||I&&Q<17||C&&a<98?this.textureLoader=new b.TextureLoader(this.options.manager):this.textureLoader=new b.ImageBitmapLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new b.FileLoader(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(A){this.extensions=A}setPlugins(A){this.plugins=A}parse(A,g){const I=this,Q=this.json,C=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(a){return a._markDefs&&a._markDefs()}),Promise.all(this._invokeAll(function(a){return a.beforeRoot&&a.beforeRoot()})).then(function(){return Promise.all([I.getDependencies("scene"),I.getDependencies("animation"),I.getDependencies("camera")])}).then(function(a){const E={scene:a[0][Q.scene||0],scenes:a[0],animations:a[1],cameras:a[2],asset:Q.asset,parser:I,userData:{}};return BI(C,E,Q),Mg(E,Q),Promise.all(I._invokeAll(function(i){return i.afterRoot&&i.afterRoot(E)})).then(function(){for(const i of E.scenes)i.updateMatrixWorld();A(E)})}).catch(g)}_markDefs(){const A=this.json.nodes||[],g=this.json.skins||[],I=this.json.meshes||[];for(let Q=0,C=g.length;Q<C;Q++){const a=g[Q].joints;for(let E=0,i=a.length;E<i;E++)A[a[E]].isBone=!0}for(let Q=0,C=A.length;Q<C;Q++){const a=A[Q];a.mesh!==void 0&&(this._addNodeRef(this.meshCache,a.mesh),a.skin!==void 0&&(I[a.mesh].isSkinnedMesh=!0)),a.camera!==void 0&&this._addNodeRef(this.cameraCache,a.camera)}}_addNodeRef(A,g){g!==void 0&&(A.refs[g]===void 0&&(A.refs[g]=A.uses[g]=0),A.refs[g]++)}_getNodeRef(A,g,I){if(A.refs[g]<=1)return I;const Q=I.clone(),C=(a,E)=>{const i=this.associations.get(a);i!=null&&this.associations.set(E,i);for(const[t,e]of a.children.entries())C(e,E.children[t])};return C(I,Q),Q.name+="_instance_"+A.uses[g]++,Q}_invokeOne(A){const g=Object.values(this.plugins);g.push(this);for(let I=0;I<g.length;I++){const Q=A(g[I]);if(Q)return Q}return null}_invokeAll(A){const g=Object.values(this.plugins);g.unshift(this);const I=[];for(let Q=0;Q<g.length;Q++){const C=A(g[Q]);C&&I.push(C)}return I}getDependency(A,g){const I=A+":"+g;let Q=this.cache.get(I);if(!Q){switch(A){case"scene":Q=this.loadScene(g);break;case"node":Q=this._invokeOne(function(C){return C.loadNode&&C.loadNode(g)});break;case"mesh":Q=this._invokeOne(function(C){return C.loadMesh&&C.loadMesh(g)});break;case"accessor":Q=this.loadAccessor(g);break;case"bufferView":Q=this._invokeOne(function(C){return C.loadBufferView&&C.loadBufferView(g)});break;case"buffer":Q=this.loadBuffer(g);break;case"material":Q=this._invokeOne(function(C){return C.loadMaterial&&C.loadMaterial(g)});break;case"texture":Q=this._invokeOne(function(C){return C.loadTexture&&C.loadTexture(g)});break;case"skin":Q=this.loadSkin(g);break;case"animation":Q=this._invokeOne(function(C){return C.loadAnimation&&C.loadAnimation(g)});break;case"camera":Q=this.loadCamera(g);break;default:if(Q=this._invokeOne(function(C){return C!=this&&C.getDependency&&C.getDependency(A,g)}),!Q)throw new Error("Unknown type: "+A)}this.cache.add(I,Q)}return Q}getDependencies(A){let g=this.cache.get(A);if(!g){const I=this,Q=this.json[A+(A==="mesh"?"es":"s")]||[];g=Promise.all(Q.map(function(C,a){return I.getDependency(A,a)})),this.cache.add(A,g)}return g}loadBuffer(A){const g=this.json.buffers[A],I=this.fileLoader;if(g.type&&g.type!=="arraybuffer")throw new Error("THREE.GLTFLoader: "+g.type+" buffer type is not supported.");if(g.uri===void 0&&A===0)return Promise.resolve(this.extensions[wA.KHR_BINARY_GLTF].body);const Q=this.options;return new Promise(function(C,a){I.load(b.LoaderUtils.resolveURL(g.uri,Q.path),C,void 0,function(){a(new Error('THREE.GLTFLoader: Failed to load buffer "'+g.uri+'".'))})})}loadBufferView(A){const g=this.json.bufferViews[A];return this.getDependency("buffer",g.buffer).then(function(I){const Q=g.byteLength||0,C=g.byteOffset||0;return I.slice(C,C+Q)})}loadAccessor(A){const g=this,I=this.json,Q=this.json.accessors[A];if(Q.bufferView===void 0&&Q.sparse===void 0){const a=TB[Q.type],E=MI[Q.componentType],i=Q.normalized===!0,t=new E(Q.count*a);return Promise.resolve(new b.BufferAttribute(t,a,i))}const C=[];return Q.bufferView!==void 0?C.push(this.getDependency("bufferView",Q.bufferView)):C.push(null),Q.sparse!==void 0&&(C.push(this.getDependency("bufferView",Q.sparse.indices.bufferView)),C.push(this.getDependency("bufferView",Q.sparse.values.bufferView))),Promise.all(C).then(function(a){const E=a[0],i=TB[Q.type],t=MI[Q.componentType],e=t.BYTES_PER_ELEMENT,o=e*i,s=Q.byteOffset||0,n=Q.bufferView!==void 0?I.bufferViews[Q.bufferView].byteStride:void 0,r=Q.normalized===!0;let c,D;if(n&&n!==o){const w=Math.floor(s/n),h="InterleavedBuffer:"+Q.bufferView+":"+Q.componentType+":"+w+":"+Q.count;let d=g.cache.get(h);d||(c=new t(E,w*n,Q.count*n/e),d=new b.InterleavedBuffer(c,n/e),g.cache.add(h,d)),D=new b.InterleavedBufferAttribute(d,i,s%n/e,r)}else c=E===null?new t(Q.count*i):new t(E,s,Q.count*i),D=new b.BufferAttribute(c,i,r);if(Q.sparse!==void 0){const w=TB.SCALAR,h=MI[Q.sparse.indices.componentType],d=Q.sparse.indices.byteOffset||0,f=Q.sparse.values.byteOffset||0,p=new h(a[1],d,Q.sparse.count*w),R=new t(a[2],f,Q.sparse.count*i);E!==null&&(D=new b.BufferAttribute(D.array.slice(),D.itemSize,D.normalized)),D.normalized=!1;for(let k=0,G=p.length;k<G;k++){const N=p[k];if(D.setX(N,R[k*i]),i>=2&&D.setY(N,R[k*i+1]),i>=3&&D.setZ(N,R[k*i+2]),i>=4&&D.setW(N,R[k*i+3]),i>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}D.normalized=r}return D})}loadTexture(A){const g=this.json,I=this.options,Q=g.textures[A].source,C=g.images[Q];let a=this.textureLoader;if(C.uri){const E=I.manager.getHandler(C.uri);E!==null&&(a=E)}return this.loadTextureImage(A,Q,a)}loadTextureImage(A,g,I){const Q=this,C=this.json,a=C.textures[A],E=C.images[g],i=(E.uri||E.bufferView)+":"+a.sampler;if(this.textureCache[i])return this.textureCache[i];const t=this.loadImageSource(g,I).then(function(e){e.flipY=!1,e.name=a.name||E.name||"",e.name===""&&typeof E.uri=="string"&&E.uri.startsWith("data:image/")===!1&&(e.name=E.uri);const o=(C.samplers||{})[a.sampler]||{};return e.magFilter=PQ[o.magFilter]||b.LinearFilter,e.minFilter=PQ[o.minFilter]||b.LinearMipmapLinearFilter,e.wrapS=VQ[o.wrapS]||b.RepeatWrapping,e.wrapT=VQ[o.wrapT]||b.RepeatWrapping,e.generateMipmaps=!e.isCompressedTexture&&e.minFilter!==b.NearestFilter&&e.minFilter!==b.LinearFilter,Q.associations.set(e,{textures:A}),e}).catch(function(){return null});return this.textureCache[i]=t,t}loadImageSource(A,g){const I=this,Q=this.json,C=this.options;if(this.sourceCache[A]!==void 0)return this.sourceCache[A].then(o=>o.clone());const a=Q.images[A],E=self.URL||self.webkitURL;let i=a.uri||"",t=!1;if(a.bufferView!==void 0)i=I.getDependency("bufferView",a.bufferView).then(function(o){t=!0;const s=new Blob([o],{type:a.mimeType});return i=E.createObjectURL(s),i});else if(a.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+A+" is missing URI and bufferView");const e=Promise.resolve(i).then(function(o){return new Promise(function(s,n){let r=s;g.isImageBitmapLoader===!0&&(r=function(c){const D=new b.Texture(c);D.needsUpdate=!0,s(D)}),g.load(b.LoaderUtils.resolveURL(o,C.path),r,void 0,n)})}).then(function(o){var s;return t===!0&&E.revokeObjectURL(i),Mg(o,a),o.userData.mimeType=a.mimeType||((s=a.uri).search(/\.jpe?g($|\?)/i)>0||s.search(/^data\:image\/jpeg/)===0?"image/jpeg":s.search(/\.webp($|\?)/i)>0||s.search(/^data\:image\/webp/)===0?"image/webp":s.search(/\.ktx2($|\?)/i)>0||s.search(/^data\:image\/ktx2/)===0?"image/ktx2":"image/png"),o}).catch(function(o){throw console.error("THREE.GLTFLoader: Couldn't load texture",i),o});return this.sourceCache[A]=e,e}assignTexture(A,g,I,Q){const C=this;return this.getDependency("texture",I.index).then(function(a){if(!a)return null;if(I.texCoord!==void 0&&I.texCoord>0&&((a=a.clone()).channel=I.texCoord),C.extensions[wA.KHR_TEXTURE_TRANSFORM]){const E=I.extensions!==void 0?I.extensions[wA.KHR_TEXTURE_TRANSFORM]:void 0;if(E){const i=C.associations.get(a);a=C.extensions[wA.KHR_TEXTURE_TRANSFORM].extendTexture(a,E),C.associations.set(a,i)}}return Q!==void 0&&(a.colorSpace=Q),A[g]=a,a})}assignFinalMaterial(A){const g=A.geometry;let I=A.material;const Q=g.attributes.tangent===void 0,C=g.attributes.color!==void 0,a=g.attributes.normal===void 0;if(A.isPoints){const E="PointsMaterial:"+I.uuid;let i=this.cache.get(E);i||(i=new b.PointsMaterial,b.Material.prototype.copy.call(i,I),i.color.copy(I.color),i.map=I.map,i.sizeAttenuation=!1,this.cache.add(E,i)),I=i}else if(A.isLine){const E="LineBasicMaterial:"+I.uuid;let i=this.cache.get(E);i||(i=new b.LineBasicMaterial,b.Material.prototype.copy.call(i,I),i.color.copy(I.color),i.map=I.map,this.cache.add(E,i)),I=i}if(Q||C||a){let E="ClonedMaterial:"+I.uuid+":";Q&&(E+="derivative-tangents:"),C&&(E+="vertex-colors:"),a&&(E+="flat-shading:");let i=this.cache.get(E);i||(i=I.clone(),C&&(i.vertexColors=!0),a&&(i.flatShading=!0),Q&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),this.cache.add(E,i),this.associations.set(i,this.associations.get(I))),I=i}A.material=I}getMaterialType(){return b.MeshStandardMaterial}loadMaterial(A){const g=this,I=this.json,Q=this.extensions,C=I.materials[A];let a;const E={},i=[];if((C.extensions||{})[wA.KHR_MATERIALS_UNLIT]){const e=Q[wA.KHR_MATERIALS_UNLIT];a=e.getMaterialType(),i.push(e.extendParams(E,C,g))}else{const e=C.pbrMetallicRoughness||{};if(E.color=new b.Color(1,1,1),E.opacity=1,Array.isArray(e.baseColorFactor)){const o=e.baseColorFactor;E.color.setRGB(o[0],o[1],o[2],b.LinearSRGBColorSpace),E.opacity=o[3]}e.baseColorTexture!==void 0&&i.push(g.assignTexture(E,"map",e.baseColorTexture,b.SRGBColorSpace)),E.metalness=e.metallicFactor!==void 0?e.metallicFactor:1,E.roughness=e.roughnessFactor!==void 0?e.roughnessFactor:1,e.metallicRoughnessTexture!==void 0&&(i.push(g.assignTexture(E,"metalnessMap",e.metallicRoughnessTexture)),i.push(g.assignTexture(E,"roughnessMap",e.metallicRoughnessTexture))),a=this._invokeOne(function(o){return o.getMaterialType&&o.getMaterialType(A)}),i.push(Promise.all(this._invokeAll(function(o){return o.extendMaterialParams&&o.extendMaterialParams(A,E)})))}C.doubleSided===!0&&(E.side=b.DoubleSide);const t=C.alphaMode||be;if(t===le?(E.transparent=!0,E.depthWrite=!1):(E.transparent=!1,t===we&&(E.alphaTest=C.alphaCutoff!==void 0?C.alphaCutoff:.5)),C.normalTexture!==void 0&&a!==b.MeshBasicMaterial&&(i.push(g.assignTexture(E,"normalMap",C.normalTexture)),E.normalScale=new b.Vector2(1,1),C.normalTexture.scale!==void 0)){const e=C.normalTexture.scale;E.normalScale.set(e,e)}if(C.occlusionTexture!==void 0&&a!==b.MeshBasicMaterial&&(i.push(g.assignTexture(E,"aoMap",C.occlusionTexture)),C.occlusionTexture.strength!==void 0&&(E.aoMapIntensity=C.occlusionTexture.strength)),C.emissiveFactor!==void 0&&a!==b.MeshBasicMaterial){const e=C.emissiveFactor;E.emissive=new b.Color().setRGB(e[0],e[1],e[2],b.LinearSRGBColorSpace)}return C.emissiveTexture!==void 0&&a!==b.MeshBasicMaterial&&i.push(g.assignTexture(E,"emissiveMap",C.emissiveTexture,b.SRGBColorSpace)),Promise.all(i).then(function(){const e=new a(E);return C.name&&(e.name=C.name),Mg(e,C),g.associations.set(e,{materials:A}),C.extensions&&BI(Q,e,C),e})}createUniqueName(A){const g=b.PropertyBinding.sanitizeNodeName(A||"");return g in this.nodeNamesUsed?g+"_"+ ++this.nodeNamesUsed[g]:(this.nodeNamesUsed[g]=0,g)}loadGeometries(A){const g=this,I=this.extensions,Q=this.primitiveCache;function C(E){return I[wA.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(E,g).then(function(i){return zQ(i,E,g)})}const a=[];for(let E=0,i=A.length;E<i;E++){const t=A[E],e=fe(t),o=Q[e];if(o)a.push(o.promise);else{let s;s=t.extensions&&t.extensions[wA.KHR_DRACO_MESH_COMPRESSION]?C(t):zQ(new b.BufferGeometry,t,g),Q[e]={primitive:t,promise:s},a.push(s)}}return Promise.all(a)}loadMesh(A){const g=this,I=this.json,Q=this.extensions,C=I.meshes[A],a=C.primitives,E=[];for(let t=0,e=a.length;t<e;t++){const o=a[t].material===void 0?((i=this.cache).DefaultMaterial===void 0&&(i.DefaultMaterial=new b.MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:b.FrontSide})),i.DefaultMaterial):this.getDependency("material",a[t].material);E.push(o)}var i;return E.push(g.loadGeometries(a)),Promise.all(E).then(function(t){const e=t.slice(0,t.length-1),o=t[t.length-1],s=[];for(let r=0,c=o.length;r<c;r++){const D=o[r],w=a[r];let h;const d=e[r];if(w.mode===bg.TRIANGLES||w.mode===bg.TRIANGLE_STRIP||w.mode===bg.TRIANGLE_FAN||w.mode===void 0)h=C.isSkinnedMesh===!0?new b.SkinnedMesh(D,d):new b.Mesh(D,d),h.isSkinnedMesh===!0&&h.normalizeSkinWeights(),w.mode===bg.TRIANGLE_STRIP?h.geometry=OQ(h.geometry,b.TriangleStripDrawMode):w.mode===bg.TRIANGLE_FAN&&(h.geometry=OQ(h.geometry,b.TriangleFanDrawMode));else if(w.mode===bg.LINES)h=new b.LineSegments(D,d);else if(w.mode===bg.LINE_STRIP)h=new b.Line(D,d);else if(w.mode===bg.LINE_LOOP)h=new b.LineLoop(D,d);else{if(w.mode!==bg.POINTS)throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+w.mode);h=new b.Points(D,d)}Object.keys(h.geometry.morphAttributes).length>0&&ue(h,C),h.name=g.createUniqueName(C.name||"mesh_"+A),Mg(h,C),w.extensions&&BI(Q,h,w),g.assignFinalMaterial(h),s.push(h)}for(let r=0,c=s.length;r<c;r++)g.associations.set(s[r],{meshes:A,primitives:r});if(s.length===1)return C.extensions&&BI(Q,s[0],C),s[0];const n=new b.Group;C.extensions&&BI(Q,n,C),g.associations.set(n,{meshes:A});for(let r=0,c=s.length;r<c;r++)n.add(s[r]);return n})}loadCamera(A){let g;const I=this.json.cameras[A],Q=I[I.type];if(Q)return I.type==="perspective"?g=new b.PerspectiveCamera(b.MathUtils.radToDeg(Q.yfov),Q.aspectRatio||1,Q.znear||1,Q.zfar||2e6):I.type==="orthographic"&&(g=new b.OrthographicCamera(-Q.xmag,Q.xmag,Q.ymag,-Q.ymag,Q.znear,Q.zfar)),I.name&&(g.name=this.createUniqueName(I.name)),Mg(g,I),Promise.resolve(g);console.warn("THREE.GLTFLoader: Missing camera parameters.")}loadSkin(A){const g=this.json.skins[A],I=[];for(let Q=0,C=g.joints.length;Q<C;Q++)I.push(this._loadNodeShallow(g.joints[Q]));return g.inverseBindMatrices!==void 0?I.push(this.getDependency("accessor",g.inverseBindMatrices)):I.push(null),Promise.all(I).then(function(Q){const C=Q.pop(),a=Q,E=[],i=[];for(let t=0,e=a.length;t<e;t++){const o=a[t];if(o){E.push(o);const s=new b.Matrix4;C!==null&&s.fromArray(C.array,16*t),i.push(s)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',g.joints[t])}return new b.Skeleton(E,i)})}loadAnimation(A){const g=this.json,I=this,Q=g.animations[A],C=Q.name?Q.name:"animation_"+A,a=[],E=[],i=[],t=[],e=[];for(let o=0,s=Q.channels.length;o<s;o++){const n=Q.channels[o],r=Q.samplers[n.sampler],c=n.target,D=c.node,w=Q.parameters!==void 0?Q.parameters[r.input]:r.input,h=Q.parameters!==void 0?Q.parameters[r.output]:r.output;c.node!==void 0&&(a.push(this.getDependency("node",D)),E.push(this.getDependency("accessor",w)),i.push(this.getDependency("accessor",h)),t.push(r),e.push(c))}return Promise.all([Promise.all(a),Promise.all(E),Promise.all(i),Promise.all(t),Promise.all(e)]).then(function(o){const s=o[0],n=o[1],r=o[2],c=o[3],D=o[4],w=[];for(let d=0,f=s.length;d<f;d++){const p=s[d],R=n[d],k=r[d],G=c[d],N=D[d];if(p===void 0)continue;p.updateMatrix&&p.updateMatrix();const S=I._createAnimationTracks(p,R,k,G,N);if(S)for(let U=0;U<S.length;U++)w.push(S[U])}const h=new b.AnimationClip(C,void 0,w);return Mg(h,Q),h})}createNodeMesh(A){const g=this.json,I=this,Q=g.nodes[A];return Q.mesh===void 0?null:I.getDependency("mesh",Q.mesh).then(function(C){const a=I._getNodeRef(I.meshCache,Q.mesh,C);return Q.weights!==void 0&&a.traverse(function(E){if(E.isMesh)for(let i=0,t=Q.weights.length;i<t;i++)E.morphTargetInfluences[i]=Q.weights[i]}),a})}loadNode(A){const g=this,I=this.json.nodes[A],Q=g._loadNodeShallow(A),C=[],a=I.children||[];for(let i=0,t=a.length;i<t;i++)C.push(g.getDependency("node",a[i]));const E=I.skin===void 0?Promise.resolve(null):g.getDependency("skin",I.skin);return Promise.all([Q,Promise.all(C),E]).then(function(i){const t=i[0],e=i[1],o=i[2];o!==null&&t.traverse(function(s){s.isSkinnedMesh&&s.bind(o,Fe)});for(let s=0,n=e.length;s<n;s++)t.add(e[s]);return t})}_loadNodeShallow(A){const g=this.json,I=this.extensions,Q=this;if(this.nodeCache[A]!==void 0)return this.nodeCache[A];const C=g.nodes[A],a=C.name?Q.createUniqueName(C.name):"",E=[],i=Q._invokeOne(function(t){return t.createNodeMesh&&t.createNodeMesh(A)});return i&&E.push(i),C.camera!==void 0&&E.push(Q.getDependency("camera",C.camera).then(function(t){return Q._getNodeRef(Q.cameraCache,C.camera,t)})),Q._invokeAll(function(t){return t.createNodeAttachment&&t.createNodeAttachment(A)}).forEach(function(t){E.push(t)}),this.nodeCache[A]=Promise.all(E).then(function(t){let e;if(e=C.isBone===!0?new b.Bone:t.length>1?new b.Group:t.length===1?t[0]:new b.Object3D,e!==t[0])for(let o=0,s=t.length;o<s;o++)e.add(t[o]);if(C.name&&(e.userData.name=C.name,e.name=a),Mg(e,C),C.extensions&&BI(I,e,C),C.matrix!==void 0){const o=new b.Matrix4;o.fromArray(C.matrix),e.applyMatrix4(o)}else C.translation!==void 0&&e.position.fromArray(C.translation),C.rotation!==void 0&&e.quaternion.fromArray(C.rotation),C.scale!==void 0&&e.scale.fromArray(C.scale);if(Q.associations.has(e)){if(C.mesh!==void 0&&Q.meshCache.refs[C.mesh]>1){const o=Q.associations.get(e);Q.associations.set(e,{...o})}}else Q.associations.set(e,{});return Q.associations.get(e).nodes=A,e}),this.nodeCache[A]}loadScene(A){const g=this.extensions,I=this.json.scenes[A],Q=this,C=new b.Group;I.name&&(C.name=Q.createUniqueName(I.name)),Mg(C,I),I.extensions&&BI(g,C,I);const a=I.nodes||[],E=[];for(let i=0,t=a.length;i<t;i++)E.push(Q.getDependency("node",a[i]));return Promise.all(E).then(function(i){for(let t=0,e=i.length;t<e;t++)C.add(i[t]);return Q.associations=(t=>{const e=new Map;for(const[o,s]of Q.associations)(o instanceof b.Material||o instanceof b.Texture)&&e.set(o,s);return t.traverse(o=>{const s=Q.associations.get(o);s!=null&&e.set(o,s)}),e})(C),C})}_createAnimationTracks(A,g,I,Q,C){const a=[],E=A.name?A.name:A.uuid,i=[];let t;switch(Tg[C.path]===Tg.weights?A.traverse(function(s){s.morphTargetInfluences&&i.push(s.name?s.name:s.uuid)}):i.push(E),Tg[C.path]){case Tg.weights:t=b.NumberKeyframeTrack;break;case Tg.rotation:t=b.QuaternionKeyframeTrack;break;case Tg.translation:case Tg.scale:t=b.VectorKeyframeTrack;break;default:I.itemSize===1?t=b.NumberKeyframeTrack:t=b.VectorKeyframeTrack}const e=Q.interpolation!==void 0?de[Q.interpolation]:b.InterpolateLinear,o=this._getArrayFromAccessor(I);for(let s=0,n=i.length;s<n;s++){const r=new t(i[s]+"."+Tg[C.path],g.array,o,e);Q.interpolation==="CUBICSPLINE"&&this._createCubicSplineTrackInterpolant(r),a.push(r)}return a}_getArrayFromAccessor(A){let g=A.array;if(A.normalized){const I=rQ(g.constructor),Q=new Float32Array(g.length);for(let C=0,a=g.length;C<a;C++)Q[C]=g[C]*I;g=Q}return g}_createCubicSplineTrackInterpolant(A){A.createInterpolant=function(g){return new(this instanceof b.QuaternionKeyframeTrack?De:Ba)(this.times,this.values,this.getValueSize()/3,g)},A.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function zQ(B,A,g){const I=A.attributes,Q=[];function C(a,E){return g.getDependency("accessor",a).then(function(i){B.setAttribute(E,i)})}for(const a in I){const E=sQ[a]||a.toLowerCase();E in B.attributes||Q.push(C(I[a],E))}if(A.indices!==void 0&&!B.index){const a=g.getDependency("accessor",A.indices).then(function(E){B.setIndex(E)});Q.push(a)}return b.ColorManagement.workingColorSpace!==b.LinearSRGBColorSpace&&"COLOR_0"in I&&console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${b.ColorManagement.workingColorSpace}" not supported.`),Mg(B,A),function(a,E,i){const t=E.attributes,e=new b.Box3;if(t.POSITION===void 0)return;{const n=i.json.accessors[t.POSITION],r=n.min,c=n.max;if(r===void 0||c===void 0)return void console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");if(e.set(new b.Vector3(r[0],r[1],r[2]),new b.Vector3(c[0],c[1],c[2])),n.normalized){const D=rQ(MI[n.componentType]);e.min.multiplyScalar(D),e.max.multiplyScalar(D)}}const o=E.targets;if(o!==void 0){const n=new b.Vector3,r=new b.Vector3;for(let c=0,D=o.length;c<D;c++){const w=o[c];if(w.POSITION!==void 0){const h=i.json.accessors[w.POSITION],d=h.min,f=h.max;if(d!==void 0&&f!==void 0){if(r.setX(Math.max(Math.abs(d[0]),Math.abs(f[0]))),r.setY(Math.max(Math.abs(d[1]),Math.abs(f[1]))),r.setZ(Math.max(Math.abs(d[2]),Math.abs(f[2]))),h.normalized){const p=rQ(MI[h.componentType]);r.multiplyScalar(p)}n.max(r)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}e.expandByVector(n)}a.boundingBox=e;const s=new b.Sphere;e.getCenter(s.center),s.radius=e.min.distanceTo(e.max)/2,a.boundingSphere=s}(B,A,g),Promise.all(Q).then(function(){return A.targets!==void 0?function(a,E,i){let t=!1,e=!1,o=!1;for(let c=0,D=E.length;c<D;c++){const w=E[c];if(w.POSITION!==void 0&&(t=!0),w.NORMAL!==void 0&&(e=!0),w.COLOR_0!==void 0&&(o=!0),t&&e&&o)break}if(!t&&!e&&!o)return Promise.resolve(a);const s=[],n=[],r=[];for(let c=0,D=E.length;c<D;c++){const w=E[c];if(t){const h=w.POSITION!==void 0?i.getDependency("accessor",w.POSITION):a.attributes.position;s.push(h)}if(e){const h=w.NORMAL!==void 0?i.getDependency("accessor",w.NORMAL):a.attributes.normal;n.push(h)}if(o){const h=w.COLOR_0!==void 0?i.getDependency("accessor",w.COLOR_0):a.attributes.color;r.push(h)}}return Promise.all([Promise.all(s),Promise.all(n),Promise.all(r)]).then(function(c){const D=c[0],w=c[1],h=c[2];return t&&(a.morphAttributes.position=D),e&&(a.morphAttributes.normal=w),o&&(a.morphAttributes.color=h),a.morphTargetsRelative=!0,a})}(B,A.targets,g):B})}const WB=new WeakMap;class Qa extends b.Loader{constructor(A){super(A),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(A){return this.decoderPath=A,this}setDecoderConfig(A){return this.decoderConfig=A,this}setWorkerLimit(A){return this.workerLimit=A,this}load(A,g,I,Q){const C=new b.FileLoader(this.manager);C.setPath(this.path),C.setResponseType("arraybuffer"),C.setRequestHeader(this.requestHeader),C.setWithCredentials(this.withCredentials),C.load(A,a=>{this.parse(a,g,Q)},I,Q)}parse(A,g,I=()=>{}){this.decodeDracoFile(A,g,null,null,b.SRGBColorSpace,I).catch(I)}decodeDracoFile(A,g,I,Q,C=b.LinearSRGBColorSpace,a=()=>{}){const E={attributeIDs:I||this.defaultAttributeIDs,attributeTypes:Q||this.defaultAttributeTypes,useUniqueIDs:!!I,vertexColorSpace:C};return this.decodeGeometry(A,E).then(g).catch(a)}decodeGeometry(A,g){const I=JSON.stringify(g);if(WB.has(A)){const i=WB.get(A);if(i.key===I)return i.promise;if(A.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let Q;const C=this.workerNextTaskID++,a=A.byteLength,E=this._getWorker(C,a).then(i=>(Q=i,new Promise((t,e)=>{Q._callbacks[C]={resolve:t,reject:e},Q.postMessage({type:"decode",id:C,taskConfig:g,buffer:A},[A])}))).then(i=>this._createGeometry(i.geometry));return E.catch(()=>!0).then(()=>{Q&&C&&this._releaseTask(Q,C)}),WB.set(A,{key:I,promise:E}),E}_createGeometry(A){const g=new b.BufferGeometry;A.index&&g.setIndex(new b.BufferAttribute(A.index.array,1));for(let I=0;I<A.attributes.length;I++){const Q=A.attributes[I],C=Q.name,a=Q.array,E=Q.itemSize,i=new b.BufferAttribute(a,E);C==="color"&&(this._assignVertexColorSpace(i,Q.vertexColorSpace),i.normalized=!(a instanceof Float32Array)),g.setAttribute(C,i)}return g}_assignVertexColorSpace(A,g){if(g!==b.SRGBColorSpace)return;const I=new b.Color;for(let Q=0,C=A.count;Q<C;Q++)I.fromBufferAttribute(A,Q),b.ColorManagement.colorSpaceToWorking(I,b.SRGBColorSpace),A.setXYZ(Q,I.r,I.g,I.b)}_loadLibrary(A,g){const I=new b.FileLoader(this.manager);return I.setPath(this.decoderPath),I.setResponseType(g),I.setWithCredentials(this.withCredentials),new Promise((Q,C)=>{I.load(A,Q,void 0,C)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const A=typeof WebAssembly!="object"||this.decoderConfig.type==="js",g=[];return A?g.push(this._loadLibrary("draco_decoder.js","text")):(g.push(this._loadLibrary("draco_wasm_wrapper.js","text")),g.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(g).then(I=>{const Q=I[0];A||(this.decoderConfig.wasmBinary=I[1]);const C=Me.toString(),a=["/* draco decoder */",Q,"","/* worker */",C.substring(C.indexOf("{")+1,C.lastIndexOf("}"))].join(`
950
+ `);this.workerSourceURL=URL.createObjectURL(new Blob([a]))}),this.decoderPending}_getWorker(A,g){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){const Q=new Worker(this.workerSourceURL);Q._callbacks={},Q._taskCosts={},Q._taskLoad=0,Q.postMessage({type:"init",decoderConfig:this.decoderConfig}),Q.onmessage=function(C){const a=C.data;switch(a.type){case"decode":Q._callbacks[a.id].resolve(a);break;case"error":Q._callbacks[a.id].reject(a);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+a.type+'"')}},this.workerPool.push(Q)}else this.workerPool.sort(function(Q,C){return Q._taskLoad>C._taskLoad?-1:1});const I=this.workerPool[this.workerPool.length-1];return I._taskCosts[A]=g,I._taskLoad+=g,I})}_releaseTask(A,g){A._taskLoad-=A._taskCosts[g],delete A._callbacks[g],delete A._taskCosts[g]}debug(){console.log("Task load: ",this.workerPool.map(A=>A._taskLoad))}dispose(){for(let A=0;A<this.workerPool.length;++A)this.workerPool[A].terminate();return this.workerPool.length=0,this.workerSourceURL!==""&&URL.revokeObjectURL(this.workerSourceURL),this}}function Me(){let B,A;function g(I,Q,C,a,E,i){const t=i.num_components(),e=C.num_points()*t,o=e*E.BYTES_PER_ELEMENT,s=function(c,D){switch(D){case Float32Array:return c.DT_FLOAT32;case Int8Array:return c.DT_INT8;case Int16Array:return c.DT_INT16;case Int32Array:return c.DT_INT32;case Uint8Array:return c.DT_UINT8;case Uint16Array:return c.DT_UINT16;case Uint32Array:return c.DT_UINT32}}(I,E),n=I._malloc(o);Q.GetAttributeDataArrayForAllPoints(C,i,s,o,n);const r=new E(I.HEAPF32.buffer,n,e).slice();return I._free(n),{name:a,array:r,itemSize:t}}onmessage=function(I){const Q=I.data;switch(Q.type){case"init":B=Q.decoderConfig,A=new Promise(function(E){B.onModuleLoaded=function(i){E({draco:i})},DracoDecoderModule(B)});break;case"decode":const C=Q.buffer,a=Q.taskConfig;A.then(E=>{const i=E.draco,t=new i.Decoder;try{const e=function(s,n,r,c){const D=c.attributeIDs,w=c.attributeTypes;let h,d;const f=n.GetEncodedGeometryType(r);if(f===s.TRIANGULAR_MESH)h=new s.Mesh,d=n.DecodeArrayToMesh(r,r.byteLength,h);else{if(f!==s.POINT_CLOUD)throw new Error("THREE.DRACOLoader: Unexpected geometry type.");h=new s.PointCloud,d=n.DecodeArrayToPointCloud(r,r.byteLength,h)}if(!d.ok()||h.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+d.error_msg());const p={index:null,attributes:[]};for(const R in D){const k=self[w[R]];let G,N;if(c.useUniqueIDs)N=D[R],G=n.GetAttributeByUniqueId(h,N);else{if(N=n.GetAttributeId(h,s[D[R]]),N===-1)continue;G=n.GetAttribute(h,N)}const S=g(s,n,h,R,k,G);R==="color"&&(S.vertexColorSpace=c.vertexColorSpace),p.attributes.push(S)}return f===s.TRIANGULAR_MESH&&(p.index=function(R,k,G){const N=G.num_faces(),S=3*N,U=4*S,j=R._malloc(U);k.GetTrianglesUInt32Array(G,U,j);const z=new Uint32Array(R.HEAPF32.buffer,j,S).slice();return R._free(j),{array:z,itemSize:1}}(s,n,h)),s.destroy(h),p}(i,t,new Int8Array(C),a),o=e.attributes.map(s=>s.array.buffer);e.index&&o.push(e.index.array.buffer),self.postMessage({type:"decode",id:Q.id,geometry:e},o)}catch(e){console.error(e),self.postMessage({type:"error",id:Q.id,error:e.message})}finally{i.destroy(t)}})}}}class Ge{constructor(A=4){this.pool=A,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0,this.workerCreator=null}_initWorker(A){if(!this.workers[A]){const g=this.workerCreator();g.addEventListener("message",this._onMessage.bind(this,A)),this.workers[A]=g}}_getIdleWorker(){for(let A=0;A<this.pool;A++)if(!(this.workerStatus&1<<A))return A;return-1}_onMessage(A,g){const I=this.workersResolve[A];if(I&&I(g),this.queue.length){const{resolve:Q,msg:C,transfer:a}=this.queue.shift();this.workersResolve[A]=Q,this.workers[A].postMessage(C,a)}else this.workerStatus^=1<<A}setWorkerCreator(A){this.workerCreator=A}setWorkerLimit(A){this.pool=A}postMessage(A,g){return new Promise(I=>{const Q=this._getIdleWorker();Q!==-1?(this._initWorker(Q),this.workerStatus|=1<<Q,this.workersResolve[Q]=I,this.workers[Q].postMessage(A,g)):this.queue.push({resolve:I,msg:A,transfer:g})})}dispose(){this.workers.forEach(A=>A.terminate()),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}const Ca=9,aa=15,Ea=16,ea=22,ia=37,ta=43,oa=76,na=83,sa=97,ra=100,ca=103,ha=109,Da=122,da=123,ba=131,wa=132,la=133,ua=134,fa=137,Fa=138,ya=139,Ma=140,Ga=141,Ra=142,pa=145,Na=146,ka=148,ma=152,Ua=157,Sa=158,La=165,Ja=166,Ya=1000054e3,xa=1000054001,Ha=1000054004,Ka=1000054005,GQ=1000066e3,ja=1000066004;class KI{constructor(A,g,I,Q){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(A.buffer,A.byteOffset+g,I),this._littleEndian=Q,this._offset=0}_nextUint8(){const A=this._dataView.getUint8(this._offset);return this._offset+=1,A}_nextUint16(){const A=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,A}_nextUint32(){const A=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,A}_nextUint64(){const A=this._dataView.getUint32(this._offset,this._littleEndian)+4294967296*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,A}_nextInt32(){const A=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,A}_nextUint8Array(A){const g=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,A);return this._offset+=A,g}_skip(A){return this._offset+=A,this}_scan(A,g=0){const I=this._offset;let Q=0;for(;this._dataView.getUint8(this._offset)!==g&&Q<A;)Q++,this._offset++;return Q<A&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+I,Q)}}const Bg=[171,75,84,88,32,50,48,187,13,10,26,10];function XQ(B){return new TextDecoder().decode(B)}let PB,Lg,cQ;const VB={env:{emscripten_notify_memory_growth:function(B){cQ=new Uint8Array(Lg.exports.memory.buffer)}}};class Re{init(){return PB||(PB=typeof fetch<"u"?fetch("data:application/wasm;base64,"+ZQ).then(A=>A.arrayBuffer()).then(A=>WebAssembly.instantiate(A,VB)).then(this._init):WebAssembly.instantiate(Buffer.from(ZQ,"base64"),VB).then(this._init),PB)}_init(A){Lg=A.instance,VB.env.emscripten_notify_memory_growth(0)}decode(A,g=0){if(!Lg)throw new Error("ZSTDDecoder: Await .init() before decoding.");const I=A.byteLength,Q=Lg.exports.malloc(I);cQ.set(A,Q),g=g||Number(Lg.exports.ZSTD_findDecompressedSize(Q,I));const C=Lg.exports.malloc(g),a=Lg.exports.ZSTD_decompress(C,g,Q,I),E=cQ.slice(C,C+a);return Lg.exports.free(Q),Lg.exports.free(C),E}}const ZQ="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigCACACaiAAQQZ2IgFBAnRBsB5qKAIAaiAAQSBxIgBFaiABRSAAQQV2cWoFQbh/CwsdACAAKAKQ4gEQWiAAQQA2AqDiASAAQgA3A5DiAQu1AwEFfyMAQZACayIKJABBuH8hBgJAIAVFDQAgBCwAACIIQf8BcSEHAkAgCEF/TARAIAdBgn9qQQF2IgggBU8NAkFsIQYgB0GBf2oiBUGAAk8NAiAEQQFqIQdBACEGA0AgBiAFTwRAIAUhBiAIIQcMAwUgACAGaiAHIAZBAXZqIgQtAABBBHY6AAAgACAGQQFyaiAELQAAQQ9xOgAAIAZBAmohBgwBCwAACwALIAcgBU8NASAAIARBAWogByAKEFMiBhADDQELIAYhBEEAIQYgAUEAQTQQECEJQQAhBQNAIAQgBkcEQCAAIAZqIggtAAAiAUELSwRAQWwhBgwDBSAJIAFBAnRqIgEgASgCAEEBajYCACAGQQFqIQZBASAILQAAdEEBdSAFaiEFDAILAAsLQWwhBiAFRQ0AIAUQFEEBaiIBQQxLDQAgAyABNgIAQQFBASABdCAFayIDEBQiAXQgA0cNACAAIARqIAFBAWoiADoAACAJIABBAnRqIgAgACgCAEEBajYCACAJKAIEIgBBAkkgAEEBcXINACACIARBAWo2AgAgB0EBaiEGCyAKQZACaiQAIAYLxhEBDH8jAEHwAGsiBSQAQWwhCwJAIANBCkkNACACLwAAIQogAi8AAiEJIAIvAAQhByAFQQhqIAQQDgJAIAMgByAJIApqakEGaiIMSQ0AIAUtAAohCCAFQdgAaiACQQZqIgIgChAGIgsQAw0BIAVBQGsgAiAKaiICIAkQBiILEAMNASAFQShqIAIgCWoiAiAHEAYiCxADDQEgBUEQaiACIAdqIAMgDGsQBiILEAMNASAAIAFqIg9BfWohECAEQQRqIQZBASELIAAgAUEDakECdiIDaiIMIANqIgIgA2oiDiEDIAIhBCAMIQcDQCALIAMgEElxBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgCS0AAyELIAcgBiAFQUBrIAgQAkECdGoiCS8BADsAACAFQUBrIAktAAIQASAJLQADIQogBCAGIAVBKGogCBACQQJ0aiIJLwEAOwAAIAVBKGogCS0AAhABIAktAAMhCSADIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgDS0AAyENIAAgC2oiCyAGIAVB2ABqIAgQAkECdGoiAC8BADsAACAFQdgAaiAALQACEAEgAC0AAyEAIAcgCmoiCiAGIAVBQGsgCBACQQJ0aiIHLwEAOwAAIAVBQGsgBy0AAhABIActAAMhByAEIAlqIgkgBiAFQShqIAgQAkECdGoiBC8BADsAACAFQShqIAQtAAIQASAELQADIQQgAyANaiIDIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgACALaiEAIAcgCmohByAEIAlqIQQgAyANLQADaiEDIAVB2ABqEA0gBUFAaxANciAFQShqEA1yIAVBEGoQDXJFIQsMAQsLIAQgDksgByACS3INAEFsIQsgACAMSw0BIAxBfWohCQNAQQAgACAJSSAFQdgAahAEGwRAIAAgBiAFQdgAaiAIEAJBAnRqIgovAQA7AAAgBUHYAGogCi0AAhABIAAgCi0AA2oiACAGIAVB2ABqIAgQAkECdGoiCi8BADsAACAFQdgAaiAKLQACEAEgACAKLQADaiEADAEFIAxBfmohCgNAIAVB2ABqEAQgACAKS3JFBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgACAJLQADaiEADAELCwNAIAAgCk0EQCAAIAYgBUHYAGogCBACQQJ0aiIJLwEAOwAAIAVB2ABqIAktAAIQASAAIAktAANqIQAMAQsLAkAgACAMTw0AIAAgBiAFQdgAaiAIEAIiAEECdGoiDC0AADoAACAMLQADQQFGBEAgBUHYAGogDC0AAhABDAELIAUoAlxBH0sNACAFQdgAaiAGIABBAnRqLQACEAEgBSgCXEEhSQ0AIAVBIDYCXAsgAkF9aiEMA0BBACAHIAxJIAVBQGsQBBsEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiIAIAYgBUFAayAIEAJBAnRqIgcvAQA7AAAgBUFAayAHLQACEAEgACAHLQADaiEHDAEFIAJBfmohDANAIAVBQGsQBCAHIAxLckUEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwNAIAcgDE0EQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwJAIAcgAk8NACAHIAYgBUFAayAIEAIiAEECdGoiAi0AADoAACACLQADQQFGBEAgBUFAayACLQACEAEMAQsgBSgCREEfSw0AIAVBQGsgBiAAQQJ0ai0AAhABIAUoAkRBIUkNACAFQSA2AkQLIA5BfWohAgNAQQAgBCACSSAFQShqEAQbBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2oiACAGIAVBKGogCBACQQJ0aiIELwEAOwAAIAVBKGogBC0AAhABIAAgBC0AA2ohBAwBBSAOQX5qIQIDQCAFQShqEAQgBCACS3JFBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsDQCAEIAJNBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsCQCAEIA5PDQAgBCAGIAVBKGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBKGogAi0AAhABDAELIAUoAixBH0sNACAFQShqIAYgAEECdGotAAIQASAFKAIsQSFJDQAgBUEgNgIsCwNAQQAgAyAQSSAFQRBqEAQbBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2oiACAGIAVBEGogCBACQQJ0aiICLwEAOwAAIAVBEGogAi0AAhABIAAgAi0AA2ohAwwBBSAPQX5qIQIDQCAFQRBqEAQgAyACS3JFBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsDQCADIAJNBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsCQCADIA9PDQAgAyAGIAVBEGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBEGogAi0AAhABDAELIAUoAhRBH0sNACAFQRBqIAYgAEECdGotAAIQASAFKAIUQSFJDQAgBUEgNgIUCyABQWwgBUHYAGoQCiAFQUBrEApxIAVBKGoQCnEgBUEQahAKcRshCwwJCwAACwALAAALAAsAAAsACwAACwALQWwhCwsgBUHwAGokACALC7UEAQ5/IwBBEGsiBiQAIAZBBGogABAOQVQhBQJAIARB3AtJDQAgBi0ABCEHIANB8ARqQQBB7AAQECEIIAdBDEsNACADQdwJaiIJIAggBkEIaiAGQQxqIAEgAhAxIhAQA0UEQCAGKAIMIgQgB0sNASADQdwFaiEPIANBpAVqIREgAEEEaiESIANBqAVqIQEgBCEFA0AgBSICQX9qIQUgCCACQQJ0aigCAEUNAAsgAkEBaiEOQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgASALaiAKNgIAIAVBAWohBSAKIAxqIQoMAQsLIAEgCjYCAEEAIQUgBigCCCELA0AgBSALRkUEQCABIAUgCWotAAAiDEECdGoiDSANKAIAIg1BAWo2AgAgDyANQQF0aiINIAw6AAEgDSAFOgAAIAVBAWohBQwBCwtBACEBIANBADYCqAUgBEF/cyAHaiEJQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgAyALaiABNgIAIAwgBSAJanQgAWohASAFQQFqIQUMAQsLIAcgBEEBaiIBIAJrIgRrQQFqIQgDQEEBIQUgBCAIT0UEQANAIAUgDk9FBEAgBUECdCIJIAMgBEE0bGpqIAMgCWooAgAgBHY2AgAgBUEBaiEFDAELCyAEQQFqIQQMAQsLIBIgByAPIAogESADIAIgARBkIAZBAToABSAGIAc6AAYgACAGKAIENgIACyAQIQULIAZBEGokACAFC8ENAQt/IwBB8ABrIgUkAEFsIQkCQCADQQpJDQAgAi8AACEKIAIvAAIhDCACLwAEIQYgBUEIaiAEEA4CQCADIAYgCiAMampBBmoiDUkNACAFLQAKIQcgBUHYAGogAkEGaiICIAoQBiIJEAMNASAFQUBrIAIgCmoiAiAMEAYiCRADDQEgBUEoaiACIAxqIgIgBhAGIgkQAw0BIAVBEGogAiAGaiADIA1rEAYiCRADDQEgACABaiIOQX1qIQ8gBEEEaiEGQQEhCSAAIAFBA2pBAnYiAmoiCiACaiIMIAJqIg0hAyAMIQQgCiECA0AgCSADIA9JcQRAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAACAGIAVBQGsgBxACQQF0aiIILQAAIQsgBUFAayAILQABEAEgAiALOgAAIAYgBUEoaiAHEAJBAXRqIggtAAAhCyAFQShqIAgtAAEQASAEIAs6AAAgBiAFQRBqIAcQAkEBdGoiCC0AACELIAVBEGogCC0AARABIAMgCzoAACAGIAVB2ABqIAcQAkEBdGoiCC0AACELIAVB2ABqIAgtAAEQASAAIAs6AAEgBiAFQUBrIAcQAkEBdGoiCC0AACELIAVBQGsgCC0AARABIAIgCzoAASAGIAVBKGogBxACQQF0aiIILQAAIQsgBUEoaiAILQABEAEgBCALOgABIAYgBUEQaiAHEAJBAXRqIggtAAAhCyAFQRBqIAgtAAEQASADIAs6AAEgA0ECaiEDIARBAmohBCACQQJqIQIgAEECaiEAIAkgBUHYAGoQDUVxIAVBQGsQDUVxIAVBKGoQDUVxIAVBEGoQDUVxIQkMAQsLIAQgDUsgAiAMS3INAEFsIQkgACAKSw0BIApBfWohCQNAIAVB2ABqEAQgACAJT3JFBEAgBiAFQdgAaiAHEAJBAXRqIggtAAAhCyAFQdgAaiAILQABEAEgACALOgAAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAASAAQQJqIQAMAQsLA0AgBUHYAGoQBCAAIApPckUEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCwNAIAAgCkkEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCyAMQX1qIQADQCAFQUBrEAQgAiAAT3JFBEAgBiAFQUBrIAcQAkEBdGoiCi0AACEJIAVBQGsgCi0AARABIAIgCToAACAGIAVBQGsgBxACQQF0aiIKLQAAIQkgBUFAayAKLQABEAEgAiAJOgABIAJBAmohAgwBCwsDQCAFQUBrEAQgAiAMT3JFBEAgBiAFQUBrIAcQAkEBdGoiAC0AACEKIAVBQGsgAC0AARABIAIgCjoAACACQQFqIQIMAQsLA0AgAiAMSQRAIAYgBUFAayAHEAJBAXRqIgAtAAAhCiAFQUBrIAAtAAEQASACIAo6AAAgAkEBaiECDAELCyANQX1qIQADQCAFQShqEAQgBCAAT3JFBEAgBiAFQShqIAcQAkEBdGoiAi0AACEKIAVBKGogAi0AARABIAQgCjoAACAGIAVBKGogBxACQQF0aiICLQAAIQogBUEoaiACLQABEAEgBCAKOgABIARBAmohBAwBCwsDQCAFQShqEAQgBCANT3JFBEAgBiAFQShqIAcQAkEBdGoiAC0AACECIAVBKGogAC0AARABIAQgAjoAACAEQQFqIQQMAQsLA0AgBCANSQRAIAYgBUEoaiAHEAJBAXRqIgAtAAAhAiAFQShqIAAtAAEQASAEIAI6AAAgBEEBaiEEDAELCwNAIAVBEGoQBCADIA9PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIAYgBUEQaiAHEAJBAXRqIgAtAAAhAiAFQRBqIAAtAAEQASADIAI6AAEgA0ECaiEDDAELCwNAIAVBEGoQBCADIA5PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIANBAWohAwwBCwsDQCADIA5JBEAgBiAFQRBqIAcQAkEBdGoiAC0AACECIAVBEGogAC0AARABIAMgAjoAACADQQFqIQMMAQsLIAFBbCAFQdgAahAKIAVBQGsQCnEgBUEoahAKcSAFQRBqEApxGyEJDAELQWwhCQsgBUHwAGokACAJC8oCAQR/IwBBIGsiBSQAIAUgBBAOIAUtAAIhByAFQQhqIAIgAxAGIgIQA0UEQCAEQQRqIQIgACABaiIDQX1qIQQDQCAFQQhqEAQgACAET3JFBEAgAiAFQQhqIAcQAkEBdGoiBi0AACEIIAVBCGogBi0AARABIAAgCDoAACACIAVBCGogBxACQQF0aiIGLQAAIQggBUEIaiAGLQABEAEgACAIOgABIABBAmohAAwBCwsDQCAFQQhqEAQgACADT3JFBEAgAiAFQQhqIAcQAkEBdGoiBC0AACEGIAVBCGogBC0AARABIAAgBjoAACAAQQFqIQAMAQsLA0AgACADT0UEQCACIAVBCGogBxACQQF0aiIELQAAIQYgBUEIaiAELQABEAEgACAGOgAAIABBAWohAAwBCwsgAUFsIAVBCGoQChshAgsgBUEgaiQAIAILtgMBCX8jAEEQayIGJAAgBkEANgIMIAZBADYCCEFUIQQCQAJAIANBQGsiDCADIAZBCGogBkEMaiABIAIQMSICEAMNACAGQQRqIAAQDiAGKAIMIgcgBi0ABEEBaksNASAAQQRqIQogBkEAOgAFIAYgBzoABiAAIAYoAgQ2AgAgB0EBaiEJQQEhBANAIAQgCUkEQCADIARBAnRqIgEoAgAhACABIAU2AgAgACAEQX9qdCAFaiEFIARBAWohBAwBCwsgB0EBaiEHQQAhBSAGKAIIIQkDQCAFIAlGDQEgAyAFIAxqLQAAIgRBAnRqIgBBASAEdEEBdSILIAAoAgAiAWoiADYCACAHIARrIQhBACEEAkAgC0EDTQRAA0AgBCALRg0CIAogASAEakEBdGoiACAIOgABIAAgBToAACAEQQFqIQQMAAALAAsDQCABIABPDQEgCiABQQF0aiIEIAg6AAEgBCAFOgAAIAQgCDoAAyAEIAU6AAIgBCAIOgAFIAQgBToABCAEIAg6AAcgBCAFOgAGIAFBBGohAQwAAAsACyAFQQFqIQUMAAALAAsgAiEECyAGQRBqJAAgBAutAQECfwJAQYQgKAIAIABHIAAoAgBBAXYiAyABa0F4aiICQXhxQQhHcgR/IAIFIAMQJ0UNASACQQhqC0EQSQ0AIAAgACgCACICQQFxIAAgAWpBD2pBeHEiASAAa0EBdHI2AgAgASAANgIEIAEgASgCAEEBcSAAIAJBAXZqIAFrIgJBAXRyNgIAQYQgIAEgAkH/////B3FqQQRqQYQgKAIAIABGGyABNgIAIAEQJQsLygIBBX8CQAJAAkAgAEEIIABBCEsbZ0EfcyAAaUEBR2oiAUEESSAAIAF2cg0AIAFBAnRB/B5qKAIAIgJFDQADQCACQXhqIgMoAgBBAXZBeGoiBSAATwRAIAIgBUEIIAVBCEsbZ0Efc0ECdEGAH2oiASgCAEYEQCABIAIoAgQ2AgALDAMLIARBHksNASAEQQFqIQQgAigCBCICDQALC0EAIQMgAUEgTw0BA0AgAUECdEGAH2ooAgAiAkUEQCABQR5LIQIgAUEBaiEBIAJFDQEMAwsLIAIgAkF4aiIDKAIAQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgBGBEAgASACKAIENgIACwsgAigCACIBBEAgASACKAIENgIECyACKAIEIgEEQCABIAIoAgA2AgALIAMgAygCAEEBcjYCACADIAAQNwsgAwvhCwINfwV+IwBB8ABrIgckACAHIAAoAvDhASIINgJcIAEgAmohDSAIIAAoAoDiAWohDwJAAkAgBUUEQCABIQQMAQsgACgCxOABIRAgACgCwOABIREgACgCvOABIQ4gAEEBNgKM4QFBACEIA0AgCEEDRwRAIAcgCEECdCICaiAAIAJqQazQAWooAgA2AkQgCEEBaiEIDAELC0FsIQwgB0EYaiADIAQQBhADDQEgB0EsaiAHQRhqIAAoAgAQEyAHQTRqIAdBGGogACgCCBATIAdBPGogB0EYaiAAKAIEEBMgDUFgaiESIAEhBEEAIQwDQCAHKAIwIAcoAixBA3RqKQIAIhRCEIinQf8BcSEIIAcoAkAgBygCPEEDdGopAgAiFUIQiKdB/wFxIQsgBygCOCAHKAI0QQN0aikCACIWQiCIpyEJIBVCIIghFyAUQiCIpyECAkAgFkIQiKdB/wFxIgNBAk8EQAJAIAZFIANBGUlyRQRAIAkgB0EYaiADQSAgBygCHGsiCiAKIANLGyIKEAUgAyAKayIDdGohCSAHQRhqEAQaIANFDQEgB0EYaiADEAUgCWohCQwBCyAHQRhqIAMQBSAJaiEJIAdBGGoQBBoLIAcpAkQhGCAHIAk2AkQgByAYNwNIDAELAkAgA0UEQCACBEAgBygCRCEJDAMLIAcoAkghCQwBCwJAAkAgB0EYakEBEAUgCSACRWpqIgNBA0YEQCAHKAJEQX9qIgMgA0VqIQkMAQsgA0ECdCAHaigCRCIJIAlFaiEJIANBAUYNAQsgByAHKAJINgJMCwsgByAHKAJENgJIIAcgCTYCRAsgF6chAyALBEAgB0EYaiALEAUgA2ohAwsgCCALakEUTwRAIAdBGGoQBBoLIAgEQCAHQRhqIAgQBSACaiECCyAHQRhqEAQaIAcgB0EYaiAUQhiIp0H/AXEQCCAUp0H//wNxajYCLCAHIAdBGGogFUIYiKdB/wFxEAggFadB//8DcWo2AjwgB0EYahAEGiAHIAdBGGogFkIYiKdB/wFxEAggFqdB//8DcWo2AjQgByACNgJgIAcoAlwhCiAHIAk2AmggByADNgJkAkACQAJAIAQgAiADaiILaiASSw0AIAIgCmoiEyAPSw0AIA0gBGsgC0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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";b.ColorManagement.spaces[b.SRGBColorSpace];const zB=new WeakMap;let XB,ZB=0;class hg extends b.Loader{constructor(A){super(A),this.transcoderPath="",this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new Ge,this.workerSourceURL="",this.workerConfig=null,typeof MSC_TRANSCODER<"u"&&console.warn('THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.')}setTranscoderPath(A){return this.transcoderPath=A,this}setWorkerLimit(A){return this.workerPool.setWorkerLimit(A),this}async detectSupportAsync(A){return this.workerConfig={astcSupported:await A.hasFeatureAsync("texture-compression-astc"),astcHDRSupported:!1,etc1Supported:await A.hasFeatureAsync("texture-compression-etc2"),etc2Supported:await A.hasFeatureAsync("texture-compression-etc2"),dxtSupported:await A.hasFeatureAsync("texture-compression-bc"),bptcSupported:await A.hasFeatureAsync("texture-compression-bc"),pvrtcSupported:await A.hasFeatureAsync("texture-compression-pvrtc")},this}detectSupport(A){return A.isWebGPURenderer===!0?this.workerConfig={astcSupported:A.hasFeature("texture-compression-astc"),astcHDRSupported:!1,etc1Supported:A.hasFeature("texture-compression-etc2"),etc2Supported:A.hasFeature("texture-compression-etc2"),dxtSupported:A.hasFeature("texture-compression-bc"),bptcSupported:A.hasFeature("texture-compression-bc"),pvrtcSupported:A.hasFeature("texture-compression-pvrtc")}:this.workerConfig={astcSupported:A.extensions.has("WEBGL_compressed_texture_astc"),astcHDRSupported:A.extensions.has("WEBGL_compressed_texture_astc")&&A.extensions.get("WEBGL_compressed_texture_astc").getSupportedProfiles().includes("hdr"),etc1Supported:A.extensions.has("WEBGL_compressed_texture_etc1"),etc2Supported:A.extensions.has("WEBGL_compressed_texture_etc"),dxtSupported:A.extensions.has("WEBGL_compressed_texture_s3tc"),bptcSupported:A.extensions.has("EXT_texture_compression_bptc"),pvrtcSupported:A.extensions.has("WEBGL_compressed_texture_pvrtc")||A.extensions.has("WEBKIT_WEBGL_compressed_texture_pvrtc")},this}init(){if(!this.transcoderPending){const A=new b.FileLoader(this.manager);A.setPath(this.transcoderPath),A.setWithCredentials(this.withCredentials);const g=A.loadAsync("basis_transcoder.js"),I=new b.FileLoader(this.manager);I.setPath(this.transcoderPath),I.setResponseType("arraybuffer"),I.setWithCredentials(this.withCredentials);const Q=I.loadAsync("basis_transcoder.wasm");this.transcoderPending=Promise.all([g,Q]).then(([C,a])=>{const E=hg.BasisWorker.toString(),i=["/* constants */","let _EngineFormat = "+JSON.stringify(hg.EngineFormat),"let _EngineType = "+JSON.stringify(hg.EngineType),"let _TranscoderFormat = "+JSON.stringify(hg.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(hg.BasisFormat),"/* basis_transcoder.js */",C,"/* worker */",E.substring(E.indexOf("{")+1,E.lastIndexOf("}"))].join(`
951
+ `);this.workerSourceURL=URL.createObjectURL(new Blob([i])),this.transcoderBinary=a,this.workerPool.setWorkerCreator(()=>{const t=new Worker(this.workerSourceURL),e=this.transcoderBinary.slice(0);return t.postMessage({type:"init",config:this.workerConfig,transcoderBinary:e},[e]),t})}),ZB>0&&console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."),ZB++}return this.transcoderPending}load(A,g,I,Q){if(this.workerConfig===null)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");const C=new b.FileLoader(this.manager);C.setPath(this.path),C.setCrossOrigin(this.crossOrigin),C.setWithCredentials(this.withCredentials),C.setResponseType("arraybuffer"),C.load(A,a=>{this.parse(a,g,Q)},I,Q)}parse(A,g,I){if(this.workerConfig===null)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");if(zB.has(A))return zB.get(A).promise.then(g).catch(I);this._createTexture(A).then(Q=>g?g(Q):null).catch(I)}_createTextureFrom(A,g){const{type:I,error:Q,data:{faces:C,width:a,height:E,format:i,type:t,dfdFlags:e}}=A;if(I==="error")return Promise.reject(Q);let o;if(g.faceCount===6)o=new b.CompressedCubeTexture(C,i,t);else{const s=C[0].mipmaps;o=g.layerCount>1?new b.CompressedArrayTexture(s,a,E,g.layerCount,i,t):new b.CompressedTexture(s,a,E,i,t)}return o.minFilter=C[0].mipmaps.length===1?b.LinearFilter:b.LinearMipmapLinearFilter,o.magFilter=b.LinearFilter,o.generateMipmaps=!1,o.needsUpdate=!0,o.colorSpace=_Q(g),o.premultiplyAlpha=!!(1&e),o}async _createTexture(A,g={}){const I=function(E){const i=new Uint8Array(E.buffer,E.byteOffset,Bg.length);if(i[0]!==Bg[0]||i[1]!==Bg[1]||i[2]!==Bg[2]||i[3]!==Bg[3]||i[4]!==Bg[4]||i[5]!==Bg[5]||i[6]!==Bg[6]||i[7]!==Bg[7]||i[8]!==Bg[8]||i[9]!==Bg[9]||i[10]!==Bg[10]||i[11]!==Bg[11])throw new Error("Missing KTX 2.0 identifier.");const t={vkFormat:0,typeSize:1,pixelWidth:0,pixelHeight:0,pixelDepth:0,layerCount:0,faceCount:1,levelCount:0,supercompressionScheme:0,levels:[],dataFormatDescriptor:[{vendorId:0,descriptorType:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],keyValue:{},globalData:null},e=17*Uint32Array.BYTES_PER_ELEMENT,o=new KI(E,Bg.length,e,!0);t.vkFormat=o._nextUint32(),t.typeSize=o._nextUint32(),t.pixelWidth=o._nextUint32(),t.pixelHeight=o._nextUint32(),t.pixelDepth=o._nextUint32(),t.layerCount=o._nextUint32(),t.faceCount=o._nextUint32(),t.levelCount=o._nextUint32(),t.supercompressionScheme=o._nextUint32();const s=o._nextUint32(),n=o._nextUint32(),r=o._nextUint32(),c=o._nextUint32(),D=o._nextUint64(),w=o._nextUint64(),h=3*Math.max(t.levelCount,1)*8,d=new KI(E,Bg.length+e,h,!0);for(let oA=0,hA=Math.max(t.levelCount,1);oA<hA;oA++)t.levels.push({levelData:new Uint8Array(E.buffer,E.byteOffset+d._nextUint64(),d._nextUint64()),uncompressedByteLength:d._nextUint64()});const f=new KI(E,s,n,!0);f._skip(4);const p=f._nextUint16(),R=f._nextUint16(),k=f._nextUint16(),G=f._nextUint16(),N={vendorId:p,descriptorType:R,versionNumber:k,colorModel:f._nextUint8(),colorPrimaries:f._nextUint8(),transferFunction:f._nextUint8(),flags:f._nextUint8(),texelBlockDimension:[f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8()],bytesPlane:[f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8()],samples:[]},S=(G/4-6)/4;for(let oA=0;oA<S;oA++){const hA={bitOffset:f._nextUint16(),bitLength:f._nextUint8(),channelType:f._nextUint8(),samplePosition:[f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8()],sampleLower:Number.NEGATIVE_INFINITY,sampleUpper:Number.POSITIVE_INFINITY};64&hA.channelType?(hA.sampleLower=f._nextInt32(),hA.sampleUpper=f._nextInt32()):(hA.sampleLower=f._nextUint32(),hA.sampleUpper=f._nextUint32()),N.samples[oA]=hA}t.dataFormatDescriptor.length=0,t.dataFormatDescriptor.push(N);const U=new KI(E,r,c,!0);for(;U._offset<c;){const oA=U._nextUint32(),hA=U._scan(oA),LA=XQ(hA);if(t.keyValue[LA]=U._nextUint8Array(oA-hA.byteLength-1),LA.match(/^ktx/i)){const KA=XQ(t.keyValue[LA]);t.keyValue[LA]=KA.substring(0,KA.lastIndexOf("\0"))}U._skip(oA%4?4-oA%4:0)}if(w<=0)return t;const j=new KI(E,D,w,!0),z=j._nextUint16(),AA=j._nextUint16(),_=j._nextUint32(),X=j._nextUint32(),EA=j._nextUint32(),cA=j._nextUint32(),nA=[];for(let oA=0,hA=Math.max(t.levelCount,1);oA<hA;oA++)nA.push({imageFlags:j._nextUint32(),rgbSliceByteOffset:j._nextUint32(),rgbSliceByteLength:j._nextUint32(),alphaSliceByteOffset:j._nextUint32(),alphaSliceByteLength:j._nextUint32()});const lA=D+j._offset,uA=lA+_,iA=uA+X,GA=iA+EA,eA=new Uint8Array(E.buffer,E.byteOffset+lA,_),rA=new Uint8Array(E.buffer,E.byteOffset+uA,X),FA=new Uint8Array(E.buffer,E.byteOffset+iA,EA),RA=new Uint8Array(E.buffer,E.byteOffset+GA,cA);return t.globalData={endpointCount:z,selectorCount:AA,imageDescs:nA,endpointsData:eA,selectorsData:rA,tablesData:FA,extendedData:RA},t}(new Uint8Array(A)),Q=I.vkFormat===GQ&&I.dataFormatDescriptor[0].colorModel===167;if(!(I.vkFormat===0||Q&&!this.workerConfig.astcHDRSupported))return async function(E){const{vkFormat:i}=E;if(_B[i]===void 0)throw new Error("THREE.KTX2Loader: Unsupported vkFormat: "+i);DI[i]===void 0&&console.warn('THREE.KTX2Loader: Missing ".type" for vkFormat: '+i);let t;E.supercompressionScheme===2&&(XB||(XB=new Promise(async n=>{const r=new Re;await r.init(),n(r)})),t=await XB);const e=[];for(let n=0;n<E.levels.length;n++){const r=Math.max(1,E.pixelWidth>>n),c=Math.max(1,E.pixelHeight>>n),D=E.pixelDepth?Math.max(1,E.pixelDepth>>n):0,w=E.levels[n];let h,d;if(E.supercompressionScheme===0)h=w.levelData;else{if(E.supercompressionScheme!==2)throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");h=t.decode(w.levelData,w.uncompressedByteLength)}d=DI[i]===b.FloatType?new Float32Array(h.buffer,h.byteOffset,h.byteLength/Float32Array.BYTES_PER_ELEMENT):DI[i]===b.HalfFloatType?new Uint16Array(h.buffer,h.byteOffset,h.byteLength/Uint16Array.BYTES_PER_ELEMENT):DI[i]===b.UnsignedInt5999Type||DI[i]===b.UnsignedInt101111Type?new Uint32Array(h.buffer,h.byteOffset,h.byteLength/Uint32Array.BYTES_PER_ELEMENT):h,e.push({data:d,width:r,height:c,depth:D})}const o=E.levelCount===0||e.length>1;let s;if(pe.has(_B[i]))s=E.pixelDepth===0?new b.DataTexture(e[0].data,E.pixelWidth,E.pixelHeight):new b.Data3DTexture(e[0].data,E.pixelWidth,E.pixelHeight,E.pixelDepth),s.minFilter=o?b.NearestMipmapNearestFilter:b.NearestFilter,s.magFilter=b.NearestFilter,s.generateMipmaps=E.levelCount===0;else{if(E.pixelDepth>0)throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");s=new b.CompressedTexture(e,E.pixelWidth,E.pixelHeight),s.minFilter=o?b.LinearMipmapLinearFilter:b.LinearFilter,s.magFilter=b.LinearFilter}return s.mipmaps=e,s.type=DI[i],s.format=_B[i],s.colorSpace=_Q(E),s.needsUpdate=!0,Promise.resolve(s)}(I);const C=g,a=this.init().then(()=>this.workerPool.postMessage({type:"transcode",buffer:A,taskConfig:C},[A])).then(E=>this._createTextureFrom(E.data,I));return zB.set(A,{promise:a}),a}dispose(){this.workerPool.dispose(),this.workerSourceURL&&URL.revokeObjectURL(this.workerSourceURL),ZB--}}hg.BasisFormat={ETC1S:0,UASTC:1,UASTC_HDR:2},hg.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16,BC6H:22,RGB_HALF:24,RGBA_HALF:25},hg.EngineFormat={RGBAFormat:b.RGBAFormat,RGBA_ASTC_4x4_Format:b.RGBA_ASTC_4x4_Format,RGB_BPTC_UNSIGNED_Format:b.RGB_BPTC_UNSIGNED_Format,RGBA_BPTC_Format:b.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:b.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:b.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:b.RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:b.RGB_ETC1_Format,RGB_ETC2_Format:b.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:b.RGB_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT1_Format:b.RGBA_S3TC_DXT1_Format},hg.EngineType={UnsignedByteType:b.UnsignedByteType,HalfFloatType:b.HalfFloatType,FloatType:b.FloatType},hg.BasisWorker=function(){let B,A,g;const I=_EngineFormat,Q=_EngineType,C=_TranscoderFormat,a=_BasisFormat;self.addEventListener("message",function(o){const s=o.data;switch(s.type){case"init":B=s.config,n=s.transcoderBinary,A=new Promise(r=>{g={wasmBinary:n,onRuntimeInitialized:r},BASIS(g)}).then(()=>{g.initializeBasis(),g.KTX2File===void 0&&console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.")});break;case"transcode":A.then(()=>{try{const{faces:r,buffers:c,width:D,height:w,hasAlpha:h,format:d,type:f,dfdFlags:p}=function(R){const k=new g.KTX2File(new Uint8Array(R));function G(){k.close(),k.delete()}if(!k.isValid())throw G(),new Error("THREE.KTX2Loader: Invalid or unsupported .ktx2 file");let N;if(k.isUASTC())N=a.UASTC;else if(k.isETC1S())N=a.ETC1S;else{if(!k.isHDR())throw new Error("THREE.KTX2Loader: Unknown Basis encoding");N=a.UASTC_HDR}const S=k.getWidth(),U=k.getHeight(),j=k.getLayers()||1,z=k.getLevels(),AA=k.getFaces(),_=k.getHasAlpha(),X=k.getDFDFlags(),{transcoderFormat:EA,engineFormat:cA,engineType:nA}=function(iA,GA,eA,rA){const FA=i[iA];for(let RA=0;RA<FA.length;RA++){const oA=FA[RA];if(!(oA.if&&!B[oA.if])&&oA.basisFormat.includes(iA)&&!(rA&&oA.transcoderFormat.length<2)&&!(oA.needsPowerOfTwo&&(!t(GA)||!t(eA))))return{transcoderFormat:oA.transcoderFormat[rA?1:0],engineFormat:oA.engineFormat[rA?1:0],engineType:oA.engineType[0]}}throw new Error("THREE.KTX2Loader: Failed to identify transcoding target.")}(N,S,U,_);if(!S||!U||!z)throw G(),new Error("THREE.KTX2Loader: Invalid texture");if(!k.startTranscoding())throw G(),new Error("THREE.KTX2Loader: .startTranscoding failed");const lA=[],uA=[];for(let iA=0;iA<AA;iA++){const GA=[];for(let eA=0;eA<z;eA++){const rA=[];let FA,RA;for(let hA=0;hA<j;hA++){const LA=k.getImageLevelInfo(eA,hA,iA);iA!==0||eA!==0||hA!==0||LA.origWidth%4==0&&LA.origHeight%4==0||console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."),z>1?(FA=LA.origWidth,RA=LA.origHeight):(FA=LA.width,RA=LA.height);let KA=new Uint8Array(k.getImageTranscodedSizeInBytes(eA,hA,0,EA));const tg=k.transcodeImage(KA,eA,hA,iA,EA,0,-1,-1);if(nA===Q.HalfFloatType&&(KA=new Uint16Array(KA.buffer,KA.byteOffset,KA.byteLength/Uint16Array.BYTES_PER_ELEMENT)),!tg)throw G(),new Error("THREE.KTX2Loader: .transcodeImage failed.");rA.push(KA)}const oA=e(rA);GA.push({data:oA,width:FA,height:RA}),uA.push(oA.buffer)}lA.push({mipmaps:GA,width:S,height:U,format:cA,type:nA})}return G(),{faces:lA,buffers:uA,width:S,height:U,hasAlpha:_,dfdFlags:X,format:cA,type:nA}}(s.buffer);self.postMessage({type:"transcode",id:s.id,data:{faces:r,width:D,height:w,hasAlpha:h,format:d,type:f,dfdFlags:p}},c)}catch(r){console.error(r),self.postMessage({type:"error",id:s.id,error:r.message})}})}var n});const E=[{if:"astcSupported",basisFormat:[a.UASTC],transcoderFormat:[C.ASTC_4x4,C.ASTC_4x4],engineFormat:[I.RGBA_ASTC_4x4_Format,I.RGBA_ASTC_4x4_Format],engineType:[Q.UnsignedByteType],priorityETC1S:1/0,priorityUASTC:1,needsPowerOfTwo:!1},{if:"bptcSupported",basisFormat:[a.ETC1S,a.UASTC],transcoderFormat:[C.BC7_M5,C.BC7_M5],engineFormat:[I.RGBA_BPTC_Format,I.RGBA_BPTC_Format],engineType:[Q.UnsignedByteType],priorityETC1S:3,priorityUASTC:2,needsPowerOfTwo:!1},{if:"dxtSupported",basisFormat:[a.ETC1S,a.UASTC],transcoderFormat:[C.BC1,C.BC3],engineFormat:[I.RGBA_S3TC_DXT1_Format,I.RGBA_S3TC_DXT5_Format],engineType:[Q.UnsignedByteType],priorityETC1S:4,priorityUASTC:5,needsPowerOfTwo:!1},{if:"etc2Supported",basisFormat:[a.ETC1S,a.UASTC],transcoderFormat:[C.ETC1,C.ETC2],engineFormat:[I.RGB_ETC2_Format,I.RGBA_ETC2_EAC_Format],engineType:[Q.UnsignedByteType],priorityETC1S:1,priorityUASTC:3,needsPowerOfTwo:!1},{if:"etc1Supported",basisFormat:[a.ETC1S,a.UASTC],transcoderFormat:[C.ETC1],engineFormat:[I.RGB_ETC1_Format],engineType:[Q.UnsignedByteType],priorityETC1S:2,priorityUASTC:4,needsPowerOfTwo:!1},{if:"pvrtcSupported",basisFormat:[a.ETC1S,a.UASTC],transcoderFormat:[C.PVRTC1_4_RGB,C.PVRTC1_4_RGBA],engineFormat:[I.RGB_PVRTC_4BPPV1_Format,I.RGBA_PVRTC_4BPPV1_Format],engineType:[Q.UnsignedByteType],priorityETC1S:5,priorityUASTC:6,needsPowerOfTwo:!0},{if:"bptcSupported",basisFormat:[a.UASTC_HDR],transcoderFormat:[C.BC6H],engineFormat:[I.RGB_BPTC_UNSIGNED_Format],engineType:[Q.HalfFloatType],priorityHDR:1,needsPowerOfTwo:!1},{basisFormat:[a.ETC1S,a.UASTC],transcoderFormat:[C.RGBA32,C.RGBA32],engineFormat:[I.RGBAFormat,I.RGBAFormat],engineType:[Q.UnsignedByteType,Q.UnsignedByteType],priorityETC1S:100,priorityUASTC:100,needsPowerOfTwo:!1},{basisFormat:[a.UASTC_HDR],transcoderFormat:[C.RGBA_HALF],engineFormat:[I.RGBAFormat],engineType:[Q.HalfFloatType],priorityHDR:100,needsPowerOfTwo:!1}],i={[a.ETC1S]:E.filter(o=>o.basisFormat.includes(a.ETC1S)).sort((o,s)=>o.priorityUASTC-s.priorityUASTC),[a.UASTC]:E.filter(o=>o.basisFormat.includes(a.UASTC)).sort((o,s)=>o.priorityUASTC-s.priorityUASTC),[a.UASTC_HDR]:E.filter(o=>o.basisFormat.includes(a.UASTC_HDR)).sort((o,s)=>o.priorityHDR-s.priorityHDR)};function t(o){return o<=2||!(o&o-1)&&o!==0}function e(o){if(o.length===1)return o[0];let s=0;for(let c=0;c<o.length;c++)s+=o[c].byteLength;const n=new Uint8Array(s);let r=0;for(let c=0;c<o.length;c++){const D=o[c];n.set(D,r),r+=D.byteLength}return n}};const pe=new Set([b.RGBAFormat,b.RGBFormat,b.RGFormat,b.RedFormat]),_B={[ha]:b.RGBAFormat,[ca]:b.RGFormat,[ra]:b.RedFormat,[sa]:b.RGBAFormat,[na]:b.RGFormat,[oa]:b.RedFormat,[ta]:b.RGBAFormat,[ia]:b.RGBAFormat,[ea]:b.RGFormat,[Ea]:b.RGFormat,[aa]:b.RedFormat,[Ca]:b.RedFormat,[da]:b.RGBFormat,[Da]:b.RGBFormat,[ma]:b.RGBA_ETC2_EAC_Format,[ka]:b.RGB_ETC2_Format,[GQ]:b.RGBA_ASTC_4x4_Format,[Sa]:b.RGBA_ASTC_4x4_Format,[Ua]:b.RGBA_ASTC_4x4_Format,[ja]:b.RGBA_ASTC_6x6_Format,[Ja]:b.RGBA_ASTC_6x6_Format,[La]:b.RGBA_ASTC_6x6_Format,[ua]:b.RGBA_S3TC_DXT1_Format,[la]:b.RGBA_S3TC_DXT1_Format,[wa]:b.RGB_S3TC_DXT1_Format,[ba]:b.RGB_S3TC_DXT1_Format,[Fa]:b.RGBA_S3TC_DXT3_Format,[fa]:b.RGBA_S3TC_DXT3_Format,[Ma]:b.SIGNED_RED_RGTC1_Format,[ya]:b.RED_RGTC1_Format,[Ra]:b.SIGNED_RED_GREEN_RGTC2_Format,[Ga]:b.RED_GREEN_RGTC2_Format,[Na]:b.RGBA_BPTC_Format,[pa]:b.RGBA_BPTC_Format,[Ka]:b.RGBA_PVRTC_4BPPV1_Format,[xa]:b.RGBA_PVRTC_4BPPV1_Format,[Ha]:b.RGBA_PVRTC_2BPPV1_Format,[Ya]:b.RGBA_PVRTC_2BPPV1_Format},DI={[ha]:b.FloatType,[ca]:b.FloatType,[ra]:b.FloatType,[sa]:b.HalfFloatType,[na]:b.HalfFloatType,[oa]:b.HalfFloatType,[ta]:b.UnsignedByteType,[ia]:b.UnsignedByteType,[ea]:b.UnsignedByteType,[Ea]:b.UnsignedByteType,[aa]:b.UnsignedByteType,[Ca]:b.UnsignedByteType,[da]:b.UnsignedInt5999Type,[Da]:b.UnsignedInt101111Type,[ma]:b.UnsignedByteType,[ka]:b.UnsignedByteType,[GQ]:b.HalfFloatType,[Sa]:b.UnsignedByteType,[Ua]:b.UnsignedByteType,[ja]:b.HalfFloatType,[Ja]:b.UnsignedByteType,[La]:b.UnsignedByteType,[ua]:b.UnsignedByteType,[la]:b.UnsignedByteType,[wa]:b.UnsignedByteType,[ba]:b.UnsignedByteType,[Fa]:b.UnsignedByteType,[fa]:b.UnsignedByteType,[Ma]:b.UnsignedByteType,[ya]:b.UnsignedByteType,[Ra]:b.UnsignedByteType,[Ga]:b.UnsignedByteType,[Na]:b.UnsignedByteType,[pa]:b.UnsignedByteType,[Ka]:b.UnsignedByteType,[xa]:b.UnsignedByteType,[Ha]:b.UnsignedByteType,[Ya]:b.UnsignedByteType};function _Q(B){const A=B.dataFormatDescriptor[0];return A.colorPrimaries===1?A.transferFunction===2?b.SRGBColorSpace:b.LinearSRGBColorSpace:A.colorPrimaries===10?A.transferFunction===2?"display-p3":"display-p3-linear":(A.colorPrimaries===0||console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`),b.NoColorSpace)}async function $Q(B){const A=B.split("?")[0].split(".").pop(),g=await fetch(B);if(!g.ok)throw new Error(`Failed to fetch ${B}: ${g.statusText}`);if(A==="json"){const I=await g.json();return handleJSONSubtree(I,AC(B))}if(A==="subtree")return async function(I,Q){const C=new DataView(I),a=C.getBigUint64(8,!0),E=C.getBigUint64(16,!0),i=24,t=i+Number(a),e=t+(8-t%8)%8,o=e+Number(E),s=I.slice(i,t),n=new TextDecoder().decode(s).trim(),r=JSON.parse(n);if(!r.buffers)throw new Error("subtree has no buffers");const c=r.buffers.map(async w=>{if(w.uri){const h=new URL(w.uri,Q).href,d=await fetch(h);if(!d.ok)throw new Error(`Failed to fetch binary file ${h}: ${d.statusText}`);return new Uint8Array(await d.arrayBuffer())}return new Uint8Array(I.slice(e,o))}),D=await Promise.all(c);return function(w,h){function d(G,N){if(!G)throw new Error("incomplete json subtree");if(G.constant){if(G.constant==0)return!1;if(G.constant==1)return!0}if(G.bitstream==null)throw new Error('json subtree "tileAvailability" does not specify a bitstream');if(!w.bufferViews||!w.bufferViews[G.bitstream])throw new Error('json subtree "bufferViews" does not specify a bitstream');const S=w.bufferViews[G.bitstream];return f(h[S.buffer],S.byteOffset,N)}function f(G,N,S){const U=S%8;return G[N+Math.floor(S/8)]>>U&!0}function p(G){let N=0;return N=G.z==null?$B(G.x,G.y,G.level):gQ(G.x,G.y,G.z,G.level),d(w.tileAvailability,N)}function R(G){let N=0;N=G.z==null?$B(G.x,G.y,G.level):gQ(G.x,G.y,G.z,G.level);const S=[];return w.contentAvailability.forEach(U=>{S.push(d(U,N))}),S}function k(G){let N=0;return N=G.z==null?$B(G.x,G.y):gQ(G.x,G.y,G.z),d(w.childSubtreeAvailability,N)}return{isTileAvailable:p,isContentAvailable:R,isChildSubtreeAvailable:k}}(r,D)}(await g.arrayBuffer(),AC(B));throw new Error(`Unsupported file extension: ${A}`)}function AC(B){const A=B.split("?")[0];return A.substring(0,A.lastIndexOf("/")+1)}function gC(B){return B=1431655765&((B=858993459&((B=252645135&((B=16711935&((B&=65535)^B<<8))^B<<4))^B<<2))^B<<1)}function $B(B,A,g){let I=0;return g&&(I=(Math.pow(4,g)-1)/3),I+(gC(B)|gC(A)<<1)}function AQ(B){return B=153391689&((B=51130563&((B=50393103&((B=4278190335&((B&=1023)^B<<16))^B<<8))^B<<4))^B<<2)}function gQ(B,A,g,I){let Q=0;return I&&(Q=(Math.pow(8,I)-1)/7),Q+(AQ(B)|AQ(A)<<1|AQ(g)<<2)}const jI=new Map;async function RQ(B,A){if(!B.root||!B.root.implicitTiling)return B;if(!B.root.content&&!B.root.contents)throw new Error("implicit tiling requires a Template URI");let g=!0;B.root.implicitTiling.subdivisionScheme&&(g=B.root.implicitTiling.subdivisionScheme.toUpperCase()==="QUADTREE");let I="";B.root.implicitTiling.subtrees&&(B.root.implicitTiling.subtrees.uri?I=B.root.implicitTiling.subtrees.uri:B.root.implicitTiling.subtrees.url&&(I=B.root.implicitTiling.subtrees.url));let Q=[];B.root.content?B.root.content.uri?Q.push(B.root.content.uri):B.root.content.url&&Q.push(B.root.content.url):B.root.contents&&B.root.contents.forEach(n=>{n.uri?Q.push(n.uri):n.url&&Q.push(n.url)});const C=function(n){const r=n.split("?")[0];return r.substring(0,r.lastIndexOf("/")+1)}(A);let a;g&&(a=I.replace("{level}",0).replace("{x}",0).replace("{y}",0)),g||(a=I.replace("{level}",0).replace("{x}",0).replace("{y}",0).replace("{z}",0));const E={level:0,x:0,y:0},i={level:0,x:0,y:0};g||(E.z=0,i.z=0),jI.set(a,await $Q(C+a));const t=jI.get(a),e=[];t.isContentAvailable(i)&&Q.forEach(n=>{let r;g&&(r=n.replace("{level}",E.level).replace("{x}",E.x).replace("{y}",E.y)),g||(r=n.replace("{level}",E.level).replace("{x}",E.x).replace("{y}",E.y).replace("{z}",E.z)),e.push({uri:r})});const o={geometricError:B.root.geometricError,boundingVolume:B.root.boundingVolume,refine:B.root.refine,globalAddress:E,localAddress:i,subtree:t,contents:e,getChildren:async()=>s(o)};return{root:o};async function s(n){const r=[];if(n.localAddress.level==B.root.implicitTiling.availableLevels-1)return r;if((n.localAddress.level+1)%B.root.implicitTiling.subtreeLevels==0){const c=QB(n.localAddress),D=QB(n.globalAddress),w=IC(g,B.root.boundingVolume,D);for(let h=0;h<c.length;h++){const d=c[h],f=D[h];n.subtree.isChildSubtreeAvailable(d)&&(g&&I.replace("{level}",f.level).replace("{x}",f.x).replace("{y}",f.y),g||I.replace("{level}",f.level).replace("{x}",f.x).replace("{y}",f.y).replace("{z}",f.z)),jI.has(a)||jI.set(a,await $Q(C+a));const p=jI.get(a),R={level:0,x:0,y:0};g||(R.z=0);const k=[];p.isContentAvailable(R)&&Q.forEach(N=>{let S;g&&(S=N.replace("{level}",f.level).replace("{x}",f.x).replace("{y}",f.y)),g||(S=N.replace("{level}",f.level).replace("{x}",f.x).replace("{y}",f.y).replace("{z}",f.z)),k.push({uri:S})});const G={geometricError:n.geometricError/2,boundingVolume:w[h],refine:B.root.refine,globalAddress:f,localAddress:R,subtree:p,contents:k,getChildren:async()=>s(G)};r.push(G)}}else{const c=QB(n.localAddress),D=QB(n.globalAddress),w=IC(g,B.root.boundingVolume,D);for(let h=0;h<c.length;h++){const d=c[h],f=D[h];if(!n.subtree.isTileAvailable(d))continue;const p=[],R=n.subtree.isContentAvailable(d);for(let G=0;G<Q.length;G++){if(!R[G])continue;const N=Q[G];let S;g&&(S=N.replace("{level}",f.level).replace("{x}",f.x).replace("{y}",f.y)),g||(S=N.replace("{level}",f.level).replace("{x}",f.x).replace("{y}",f.y).replace("{z}",f.z)),p.push({uri:S})}const k={geometricError:n.geometricError/2,boundingVolume:w[h],refine:B.root.refine,globalAddress:f,localAddress:d,subtree:n.subtree,contents:p,getChildren:async()=>s(k)};r.push(k)}}return r.length>0?r:void 0}}function QB(B){const{level:A,x:g,y:I,z:Q}=B,C=A+1;let a=[];return a=Q===void 0?[{level:C,x:2*g,y:2*I},{level:C,x:2*g+1,y:2*I},{level:C,x:2*g,y:2*I+1},{level:C,x:2*g+1,y:2*I+1}]:[{level:C,x:2*g,y:2*I,z:2*Q},{level:C,x:2*g+1,y:2*I,z:2*Q},{level:C,x:2*g,y:2*I+1,z:2*Q},{level:C,x:2*g+1,y:2*I+1,z:2*Q},{level:C,x:2*g,y:2*I,z:2*Q+1},{level:C,x:2*g+1,y:2*I,z:2*Q+1},{level:C,x:2*g,y:2*I+1,z:2*Q+1},{level:C,x:2*g+1,y:2*I+1,z:2*Q+1}],a}function IC(B,A,g){const I=[];for(let Q=0;Q<g.length;Q++)I.push(Ne(B,A,g[Q]));return I}function Ne(B,A,g){if(A.region)return function(I,Q,C){const[a,E,i,t,e,o]=Q,s=(i-a)/2**C.level,n=(t-E)/2**C.level,r=I?0:(o-e)/2**C.level,c=a+s*C.x,D=E+n*C.y,w=c+s,h=D+n,d=I?e:e+r*C.z,f=I?o:d+r;return{region:[c,D,w,h,d,f]}}(B,A.region,g);if(A.box)return function(I,Q,C){const a=Q.slice(0,3),E=[Q.slice(3,6),Q.slice(6,9),Q.slice(9,12)],i=1/Math.pow(2,C.level),t=[i,i,I?1:i],e=E.map((n,r)=>n.map(c=>c*t[r])),o=[a[0]-E[0][0]-E[1][0]-E[2][0],a[1]-E[0][1]-E[1][1]-E[2][1],a[2]-E[0][2]-E[1][2]-E[2][2]];return{box:[o[0]+(2*C.x+1)*(e[0][0]+e[1][0]+e[2][0]),o[1]+(2*C.y+1)*(e[0][1]+e[1][1]+e[2][1]),I?a[2]:o[2]+(2*C.z+1)*(e[0][2]+e[1][2]+e[2][2])].concat(...e)}}(B,A.box,g);throw new Error("Unsupported bounding volume type")}(function(){var B,A=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};function g(i){if(!i)throw new Error("Assertion failed")}function I(i){return new Uint8Array(i.buffer,i.byteOffset,i.byteLength)}function Q(i,t,e,o,s,n,r){var c=B.exports.sbrk,D=c(t),w=c(o*s),h=new Uint8Array(B.exports.memory.buffer);h.set(I(e),w);var d=i(D,t,w,o,s,n,r),f=new Uint8Array(d);return f.set(h.subarray(D,D+d)),c(D-c(0)),f}function C(i){for(var t=0,e=0;e<i.length;++e)var o=i[e];return t}function a(i,t){if(g(t==2||t==4),t==4)return new Uint32Array(i.buffer,i.byteOffset,i.byteLength/4);var e=new Uint16Array(i.buffer,i.byteOffset,i.byteLength/2);return new Uint32Array(e)}function E(i,t,e,o,s,n,r){var c=B.exports.sbrk,D=c(e*o),w=c(e*n),h=new Uint8Array(B.exports.memory.buffer);h.set(I(t),w),i(D,e,o,s,w,r);var d=new Uint8Array(e*o);return d.set(h.subarray(D,D+e*o)),c(D-c(0)),d}WebAssembly.instantiate(function(i){for(var t=new Uint8Array(i.length),e=0;e<i.length;++e){var o=i.charCodeAt(e);t[e]=o>96?o-97:o>64?o-39:o+4}var s=0;for(e=0;e<i.length;++e)t[s++]=t[e]<60?A[t[e]]:64*(t[e]-60)+t[++e];return t.buffer.slice(0,s)}("b9H79Tebbbe9ok9Geueu9Geub9Gbb9Gruuuuuuueu9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiE8AdilveoveovrrwrrrDDoDrbqqbelve9Weiiviebeoweuec;G:Qdkr:PlCo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9mW4W2be8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbd8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbiE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UblY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbv8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbo8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UbrE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbwa9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbDL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbqK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbkL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbxY9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVJ9V29VVbmE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbza9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9WbHa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbOK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbAl79IV9RbXDwebcekdKYq;i28Adbk:Bhdhud9:8Jjjjjbc;qw9Rgr8KjjjjbcbhwdnaeTmbabcbyd;C:kjjbaoaocb9iEgDc:GeV86bbarc;adfcbcjdz:xjjjb8AdnaiTmbarc;adfadalz:wjjjb8Akarc;abfalfcbcbcjdal9RalcFe0Ez:xjjjb8Aarc;abfarc;adfalz:wjjjb8AarcUf9cb83ibarc8Wf9cb83ibarcyf9cb83ibarcaf9cb83ibarcKf9cb83ibarczf9cb83ibar9cb83iwar9cb83ibcj;abal9Uc;WFbGcjdalca0Ehqdnaicd6mbavcd9imbaDTmbadcefhkaqci2gxal2hmarc;alfclfhParc;qlfceVhsarc;qofclVhzarc;qofcKfhHarc;qofczfhOcbhAincdhCcbhodnavci6mbaH9cb83ibaO9cb83ibar9cb83i;yoar9cb83i;qoadaAfgoybbhXcbhQincbhwcbhLdninaoalfhKaoybbgYaX7aLVhLawcP0meaKhoaYhXawcefgwaQfai6mbkkcbhXarc;qofhwincwh8AcwhEdnaLaX93gocFeGg3cs0mbclhEa3ci0mba3cb9hcethEkdnaocw4cFeGg3cs0mbclh8Aa3ci0mba3cb9hceth8Aka8AaEfh3awydbh5cwh8AcwhEdnaocz4cFeGg8Ecs0mbclhEa8Eci0mba8Ecb9hcethEka3a5fh3dnaocFFFFb0mbclh8AaocFFF8F0mbaocFFFr0ceth8Akawa3aEfa8AfBdbawclfhwaXcefgXcw9hmbkaKhoaYhXaQczfgQai6mbkcbhocehwazhLinawaoaLydbarc;qofaocdtfydb6EhoaLclfhLawcefgwcw9hmbkcihCkcbh3arc;qlfcbcjdz:xjjjb8Aarc;alfcwfcbBdbar9cb83i;alaoclth8Fadhaaqhhakh5inarc;qlfadcba3cufgoaoa30Eal2falz:wjjjb8Aaiahaiah6Ehgdnaqaia39Ra3aqfai6EgYcsfc9WGgoaY9nmbarc;qofaYfcbaoaY9Rz:xjjjb8Akada3al2fh8Jcbh8Kina8Ka8FVcl4hQarc;alfa8Kcdtfh8LaAh8Mcbh8Nina8NaAfhwdndndndndndna8KPldebidkasa8Mc98GgLfhoa5aLfh8Aarc;qlfawc98GgLfRbbhXcwhwinaoRbbawtaXVhXaocefhoawcwfgwca9hmbkaYTmla8Ncith8Ea8JaLfhEcbhKinaERbbhLcwhoa8AhwinawRbbaotaLVhLawcefhwaocwfgoca9hmbkarc;qofaKfaLaX7aQ93a8E486bba8Aalfh8AaEalfhEaLhXaKcefgKaY9hmbxlkkaYTmia8Mc9:Ghoa8NcitcwGhEarc;qlfawceVfRbbcwtarc;qlfawc9:GfRbbVhLarc;qofhwaghXinawa5aofRbbcwtaaaofRbbVg8AaL9RgLcetaLcztcz91cs47cFFiGaE486bbaoalfhoawcefhwa8AhLa3aXcufgX9hmbxikkaYTmda8Jawfhoarc;qlfawfRbbhLarc;qofhwaghXinawaoRbbg8AaL9RgLcetaLcKtcK91cr4786bbawcefhwaoalfhoa8AhLa3aXcufgX9hmbxdkkaYTmeka8LydbhEcbhKarc;qofhoincdhLcbhwinaLaoawfRbbcb9hfhLawcefgwcz9hmbkclhXcbhwinaXaoawfRbbcd0fhXawcefgwcz9hmbkcwh8Acbhwina8AaoawfRbbcP0fh8Aawcefgwcz9hmbkaLaXaLaX6Egwa8Aawa8A6Egwczawcz6EaEfhEaoczfhoaKczfgKaY6mbka8LaEBdbka8Mcefh8Ma8Ncefg8Ncl9hmbka8Kcefg8KaC9hmbkaaamfhaahaxfhha5amfh5a3axfg3ai6mbkcbhocehwaPhLinawaoaLydbarc;alfaocdtfydb6EhoaLclfhLawcefgXhwaCaX9hmbkaraAcd4fa8FcdVaoaocdSE86bbaAclfgAal6mbkkabaefh8Kabcefhoalcd4gecbaDEhkadcefhOarc;abfceVhHcbhmdndninaiam9nmearc;qofcbcjdz:xjjjb8Aa8Kao9Rak6mdadamal2gwfhxcbh8JaOawfhzaocbakz:xjjjbghakfh5aqaiam9Ramaqfai6Egscsfgocl4cifcd4hCaoc9WGg8LThPindndndndndndndndndndnaDTmbara8Jcd4fRbbgLciGPlbedlbkasTmdaxa8Jfhoarc;abfa8JfRbbhLarc;qofhwashXinawaoRbbg8AaL9RgLcetaLcKtcK91cr4786bbawcefhwaoalfhoa8AhLaXcufgXmbxikkasTmia8JcitcwGhEarc;abfa8JceVfRbbcwtarc;abfa8Jc9:GgofRbbVhLaxaofhoarc;qofhwashXinawao8Vbbg8AaL9RgLcetaLcztcz91cs47cFFiGaE486bbawcefhwaoalfhoa8AhLaXcufgXmbxdkkaHa8Jc98GgEfhoazaEfh8Aarc;abfaEfRbbhXcwhwinaoRbbawtaXVhXaocefhoawcwfgwca9hmbkasTmbaLcl4hYa8JcitcKGh3axaEfhEcbhKinaERbbhLcwhoa8AhwinawRbbaotaLVhLawcefhwaocwfgoca9hmbkarc;qofaKfaLaX7aY93a3486bba8Aalfh8AaEalfhEaLhXaKcefgKas9hmbkkaDmbcbhoxlka8LTmbcbhodninarc;qofaofgwcwf8Pibaw8Pib:e9qTmeaoczfgoa8L9pmdxbkkdnavmbcehoxikcbhEaChKaChYinarc;qofaEfgocwf8Pibhyao8Pibh8PcdhLcbhwinaLaoawfRbbcb9hfhLawcefgwcz9hmbkclhXcbhwinaXaoawfRbbcd0fhXawcefgwcz9hmbkcwh8Acbhwina8AaoawfRbbcP0fh8Aawcefgwcz9hmbkaLaXaLaX6Egoa8Aaoa8A6Egoczaocz6EaYfhYaocucbaya8P:e9cb9sEgwaoaw6EaKfhKaEczfgEa8L9pmdxbkkaha8Jcd4fgoaoRbbcda8JcetcoGtV86bbxikdnaKas6mbaYas6mbaha8Jcd4fgoaoRbbcia8JcetcoGtV86bba8Ka59Ras6mra5arc;qofasz:wjjjbasfh5xikaKaY9phokaha8Jcd4fgwawRbbaoa8JcetcoGtV86bbka8Ka59RaC6mla5cbaCz:xjjjbgAaCfhYdndna8LmbaPhoxekdna8KaY9RcK9pmbaPhoxekaocdtc:q1jjbfcj1jjbaDEg5ydxggcetc;:FFFeGh8Fcuh3cuagtcu7cFeGhacbh8Marc;qofhLinarc;qofa8MfhQczhEdndndnagPDbeeeeeeedekcucbaQcwf8PibaQ8Pib:e9cb9sEhExekcbhoa8FhEinaEaaaLaofRbb9nfhEaocefgocz9hmbkkcih8Ecbh8Ainczhwdndndna5a8AcdtfydbgKPDbeeeeeeedekcucbaQcwf8PibaQ8Pib:e9cb9sEhwxekaKcetc;:FFFeGhwcuaKtcu7cFeGhXcbhoinawaXaLaofRbb9nfhwaocefgocz9hmbkkdndnawaE6mbaKa39hmeawaE9hmea5a8EcdtfydbcwSmeka8Ah8EawhEka8Acefg8Aci9hmbkaAa8Mco4fgoaoRbba8Ea8Mci4coGtV86bbdndndna5a8Ecdtfydbg3PDdbbbbbbbebkdncwa39Tg8ETmbcua3tcu7hwdndna3ceSmbcbh8NaLhQinaQhoa8Eh8AcbhXinaoRbbgEawcFeGgKaEaK6EaXa3tVhXaocefhoa8Acufg8AmbkaYaX86bbaQa8EfhQaYcefhYa8Na8Efg8Ncz6mbxdkkcbh8NaLhQinaQhoa8Eh8AcbhXinaoRbbgEawcFeGgKaEaK6EaXcetVhXaocefhoa8Acufg8AmbkaYaX:T9cFe:d9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:9ca188bbaQa8EfhQaYcefhYa8Na8Efg8Ncz6mbkkcbhoinaYaLaofRbbgX86bbaYaXawcFeG9pfhYaocefgocz9hmbxikkdna3ceSmbinaYcb86bbaYcefhYxbkkinaYcb86bbaYcefhYxbkkaYaQ8Pbb83bbaYcwfaQcwf8Pbb83bbaYczfhYka8Mczfg8Ma8L9pgomeaLczfhLa8KaY9RcK9pmbkkaoTmlaYh5aYTmlka8Jcefg8Jal9hmbkarc;abfaxascufal2falz:wjjjb8Aasamfhma5hoa5mbkcbhwxdkdna8Kao9RakalfgwcKcaaDEgLawaL0EgX9pmbcbhwxdkdnawaL9pmbaocbaXaw9Rgwz:xjjjbawfhokaoarc;adfalz:wjjjbalfhodnaDTmbaoaraez:wjjjbaefhokaoab9Rhwxekcbhwkarc;qwf8Kjjjjbawk5babaeadaialcdcbyd;C:kjjbz:bjjjbk9reduaecd4gdaefgicaaica0Eabcj;abae9Uc;WFbGcjdaeca0Egifcufai9Uae2aiadfaicl4cifcd4f2fcefkmbcbabBd;C:kjjbk:Ese5u8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaici9UgocHfae0mbabcbyd;m:kjjbgrc;GeV86bbalc;abfcFecjez:xjjjb8AalcUfgw9cu83ibalc8WfgD9cu83ibalcyfgq9cu83ibalcafgk9cu83ibalcKfgx9cu83ibalczfgm9cu83ibal9cu83iwal9cu83ibabaefc9WfhPabcefgsaofhednaiTmbcmcsarcb9kgzEhHcbhOcbhAcbhCcbhXcbhQindnaeaP9nmbcbhvxikaQcufhvadaCcdtfgLydbhKaLcwfydbhYaLclfydbh8AcbhEdndndninalc;abfavcsGcitfgoydlh3dndndnaoydbgoaK9hmba3a8ASmekdnaoa8A9hmba3aY9hmbaEcefhExekaoaY9hmea3aK9hmeaEcdfhEkaEc870mdaXcufhvaLaEciGcx2goc;i1jjbfydbcdtfydbh3aLaoc;e1jjbfydbcdtfydbh8AaLaoc;a1jjbfydbcdtfydbhKcbhodnindnalavcsGcdtfydba39hmbaohYxdkcuhYavcufhvaocefgocz9hmbkkaOa3aOSgvaYce9iaYaH9oVgoGfhOdndndncbcsavEaYaoEgvcs9hmbarce9imba3a3aAa3cefaASgvEgAcefSmecmcsavEhvkasavaEcdtc;WeGV86bbavcs9hmea3aA9Rgvcetavc8F917hvinaeavcFb0crtavcFbGV86bbaecefheavcje6hoavcr4hvaoTmbka3hAxvkcPhvasaEcdtcPV86bba3hAkavTmiavaH9omicdhocehEaQhYxlkavcufhvaEclfgEc;ab9hmbkkdnaLceaYaOSceta8AaOSEcx2gvc;a1jjbfydbcdtfydbgKTaLavc;e1jjbfydbcdtfydbg8AceSGaLavc;i1jjbfydbcdtfydbg3cdSGaOcb9hGazGg5ce9hmbaw9cu83ibaD9cu83ibaq9cu83ibak9cu83ibax9cu83ibam9cu83ibal9cu83iwal9cu83ibcbhOkcbhEaXcufgvhodnindnalaocsGcdtfydba8A9hmbaEhYxdkcuhYaocufhoaEcefgEcz9hmbkkcbhodnindnalavcsGcdtfydba39hmbaohExdkcuhEavcufhvaocefgocz9hmbkkaOaKaOSg8EfhLdndnaYcm0mbaYcefhYxekcbcsa8AaLSgvEhYaLavfhLkdndnaEcm0mbaEcefhExekcbcsa3aLSgvEhEaLavfhLkc9:cua8EEh8FcbhvaEaYcltVgacFeGhodndndninavc:W1jjbfRbbaoSmeavcefgvcz9hmbxdkka5aKaO9havcm0VVmbasavc;WeV86bbxekasa8F86bbaeaa86bbaecefhekdna8EmbaKaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaKhAkdnaYcs9hmba8AaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka8AhAkdnaEcs9hmba3aA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka3hAkalaXcdtfaKBdbaXcefcsGhvdndnaYPzbeeeeeeeeeeeeeebekalavcdtfa8ABdbaXcdfcsGhvkdndnaEPzbeeeeeeeeeeeeeebekalavcdtfa3BdbavcefcsGhvkcihoalc;abfaQcitfgEaKBdlaEa8ABdbaQcefcsGhYcdhEavhXaLhOxekcdhoalaXcdtfa3BdbcehEaXcefcsGhXaQhYkalc;abfaYcitfgva8ABdlava3Bdbalc;abfaQaEfcsGcitfgva3BdlavaKBdbascefhsaQaofcsGhQaCcifgCai6mbkkdnaeaP9nmbcbhvxekcbhvinaeavfavc:W1jjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meceadtae6mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd;m:kjjbk:Adewu8Jjjjjbcz9Rhlcbhvdnaicvfae0mbcbhvabcbRb;m:kjjbc;qeV86bbal9cb83iwabcefhoabaefc98fhrdnaiTmbcbhwcbhDindnaoar6mbcbskadaDcdtfydbgqalcwfawaqav9Rgvavc8F91gv7av9Rc507gwcdtfgkydb9Rgvc8E91c9:Gavcdt7awVhvinaoavcFb0gecrtavcFbGV86bbavcr4hvaocefhoaembkakaqBdbaqhvaDcefgDai9hmbkkdnaoar9nmbcbskaocbBbbaoab9RclfhvkavkBeeucbhddninadcefgdc8F0meceadtae6mbkkadcwfcFeGcr9Uab2cvfk:bvli99dui99ludnaeTmbcuadcetcuftcu7:Zhvdndncuaicuftcu7:ZgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhrdndnakJbbbb9GTmbaxhqxekJbbjZar:l:tgqaq:maxJbbbb9GEhqJbbjZax:l:tgxax:marJbbbb9GEhrkdndnalcxfIdbgxJbbj:;axJbbj:;9GEgkJbbjZakJbbjZ9FEavNJbbbZJbbb:;axJbbbb9GEMgx:lJbbb9p9DTmbax:Ohmxekcjjjj94hmkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEaoNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaifgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaDfgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkalczfhlaiclfhiaDcwfhDaecufgembkkk;hlld99eud99eudnaeTmbdndncuaicuftcu7:ZgvJbbbZMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikaic;8FiGhrinabcofcicdalclfIdb:lalIdb:l9EgialcwfIdb:lalaicdtfIdb:l9EEgialcxfIdb:lalaicdtfIdb:l9EEgiarV87ebdndnJbbj:;JbbjZalaicdtfIdbJbbbb9DEgoalaicd7cdtfIdbJ;Zl:1ZNNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabcdfaq87ebdndnalaicefciGcdtfIdbJ;Zl:1ZNaoNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabaq87ebdndnaoalaicufciGcdtfIdbJ;Zl:1ZNNgoJbbj:;aoJbbj:;9GEgwJbbjZawJbbjZ9FEavNJbbbZJbbb:;aoJbbbb9GEMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikabclfai87ebabcwfhbalczfhlaecufgembkkk;3viDue99eu8Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndndnavcd9hmbadcl6meaohwarhDinawc:CuBdbawclfhwaDcufgDmbkaeTmiadcl6mdarcdthqalhkcbhxinaohwakhDarhminawawydbgPcbaDIdbgs:8cL4cFeGc:cufasJbbbb9BEgzaPaz9kEBdbaDclfhDawclfhwamcufgmmbkakaqfhkaxcefgxaeSmixbkkaeTmdxekaeTmekarcdthkavce9hhqadcl6hdcbhxindndndnaqmbadmdc:CuhDalhwarhminaDcbawIdbgs:8cL4cFeGc:cufasJbbbb9BEgPaDaP9kEhDawclfhwamcufgmmbxdkkc:CuhDdndnavPleddbdkadmdaohwalhmarhPinawcbamIdbgs:8cL4cFeGgzc;:bazc;:b0Ec:cufasJbbbb9BEBdbamclfhmawclfhwaPcufgPmbxdkkadmecbhwarhminaoawfcbalawfIdbgs:8cL4cFeGgPc8AaPc8A0Ec:cufasJbbbb9BEBdbawclfhwamcufgmmbkkadmbcbhwarhPinaDhmdnavceSmbaoawfydbhmkdndnalawfIdbgscjjj;8iamai9RcefgmcLt9R::NJbbbZJbbb:;asJbbbb9GEMgs:lJbbb9p9DTmbas:Ohzxekcjjjj94hzkabawfazcFFFrGamcKtVBdbawclfhwaPcufgPmbkkabakfhbalakfhlaxcefgxae9hmbkkaocjdf8Kjjjjbk:Ylvdud99due99iudnaeTmbceaicufgvthocuaitcu7:Zhrcuavtcu7:Zhwcbhvadcl9hhDcbhqindndnalcwfIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEarNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikdndnalIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEarNJbbbZMgk:lJbbb9p9DTmbak:Ohdxekcjjjj94hdkadai9Rcd9TgxaifhidndnalclfIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEarNJbbbZMgk:lJbbb9p9DTmbak:Ohdxekcjjjj94hdkadai9Rcd9ThddndnalcxfIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEawNJbbbZMgk:lJbbb9p9DTmbak:Ohmxekcjjjj94hmkadaifhiaoamVhmdndnaDmbabavfgPai86bbaPcifam86bbaPcdfad86bbaPcefax86bbxekabaqfgPai87ebaPcofam87ebaPclfad87ebaPcdfax87ebkalczfhlavclfhvaqcwfhqaecufgembkkk;YqdXui998Jjjjjbc:qd9Rgv8Kjjjjbavc:Sefcbc;Kbz:xjjjb8AcbhodnadTmbcbhoaiTmbdndnabaeSmbaehrxekavcuadcdtgwadcFFFFi0Ecbyd;q:kjjbHjjjjbbgrBd:SeavceBd:mdaraeawz:wjjjb8Akavc:GefcwfcbBdbav9cb83i:Geavc:Gefaradaiavc:Sefz:pjjjbavyd:GehDadci9Ugqcbyd;q:kjjbHjjjjbbheavc:Sefavyd:mdgkcdtfaeBdbavakcefgwBd:mdaecbaqz:xjjjbhxavc:SefawcdtfcuaicdtaicFFFFi0Ecbyd;q:kjjbHjjjjbbgmBdbavakcdfgPBd:mdalc;ebfhsaDheamhwinawalIdbasaeydbgzcwazcw6EcdtfIdbMUdbaeclfheawclfhwaicufgimbkavc:SefaPcdtfcuaqcdtadcFFFF970Ecbyd;q:kjjbHjjjjbbgPBdbdnadci6mbarheaPhwaqhiinawamaeydbcdtfIdbamaeclfydbcdtfIdbMamaecwfydbcdtfIdbMUdbaecxfheawclfhwaicufgimbkkakcifhoalc;ebfhHavc;qbfhOavheavyd:KehAavyd:OehCcbhzcbhwcbhXcehQinaehLcihkarawci2gKcdtfgeydbhsaeclfydbhdabaXcx2fgicwfaecwfydbgYBdbaiclfadBdbaiasBdbaxawfce86bbaOaYBdwaOadBdlaOasBdbaPawcdtfcbBdbdnazTmbcihkaLhiinaOakcdtfaiydbgeBdbakaeaY9haeas9haead9hGGfhkaiclfhiazcufgzmbkkaXcefhXcbhzinaCaAarazaKfcdtfydbcdtgifydbcdtfgYheaDaifgdydbgshidnasTmbdninaeydbawSmeaeclfheaicufgiTmdxbkkaeaYascdtfc98fydbBdbadadydbcufBdbkazcefgzci9hmbkdndnakTmbcuhwJbbbbh8Acbhdavyd:KehYavyd:OehKindndnaDaOadcdtfydbcdtgzfydbgembadcefhdxekadcs0hiamazfgsIdbhEasalcbadcefgdaiEcdtfIdbaHaecwaecw6EcdtfIdbMg3Udba3aE:th3aecdthiaKaYazfydbcdtfheinaPaeydbgzcdtfgsa3asIdbMgEUdbaEa8Aa8AaE9DgsEh8AazawasEhwaeclfheaic98fgimbkkadak9hmbkawcu9hmekaQaq9pmdindnaxaQfRbbmbaQhwxdkaqaQcefgQ9hmbxikkakczakcz6EhzaOheaLhOawcu9hmbkkaocdtavc:Seffc98fhedninaoTmeaeydbcbyd;u:kjjbH:bjjjbbaec98fheaocufhoxbkkavc:qdf8Kjjjjbk;IlevucuaicdtgvaicFFFFi0Egocbyd;q:kjjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd;q:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd;q:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavz:xjjjb8Aadci9UhDdnadTmbabydbhoaehladhrinaoalydbcdtfgvavydbcefBdbalclfhlarcufgrmbkkdnaiTmbabydbhlabydlhrcbhvaihoinaravBdbarclfhralydbavfhvalclfhlaocufgombkkdnadci6mbabydlhrabydwhvcbhlinaecwfydbhoaeclfydbhdaraeydbcdtfgwawydbgwcefBdbavawcdtfalBdbaradcdtfgdadydbgdcefBdbavadcdtfalBdbaraocdtfgoaoydbgocefBdbavaocdtfalBdbaecxfheaDalcefgl9hmbkkdnaiTmbabydlheabydbhlinaeaeydbalydb9RBdbalclfhlaeclfheaicufgimbkkkQbabaeadaic;K1jjbz:ojjjbkQbabaeadaic;m:jjjbz:ojjjbk9DeeuabcFeaicdtz:xjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk:Vvioud9:du8Jjjjjbc;Wa9Rgl8Kjjjjbcbhvalcxfcbc;Kbz:xjjjb8AalcuadcitgoadcFFFFe0Ecbyd;q:kjjbHjjjjbbgrBdxalceBd2araeadaicezNjjjbalcuaoadcjjjjoGEcbyd;q:kjjbHjjjjbbgwBdzadcdthednadTmbabhiinaiavBdbaiclfhiadavcefgv9hmbkkawaefhDalabBdwalawBdl9cbhqindnadTmbaq9cq9:hkarhvaDhiadheinaiav8Pibak1:NcFrG87ebavcwfhvaicdfhiaecufgembkkalclfaq:NceGcdtfydbhxalclfaq9ce98gq:NceGcdtfydbhmalc;Wbfcbcjaz:xjjjb8AaDhvadhidnadTmbinalc;Wbfav8VebcdtfgeaeydbcefBdbavcdfhvaicufgimbkkcbhvcbhiinalc;WbfavfgeydbhoaeaiBdbaoaifhiavclfgvcja9hmbkadhvdndnadTmbinalc;WbfaDamydbgicetf8VebcdtfgeaeydbgecefBdbaxaecdtfaiBdbamclfhmavcufgvmbkaq9cv9smdcbhvinabawydbcdtfavBdbawclfhwadavcefgv9hmbxdkkaq9cv9smekkclhvdninavc98Smealcxfavfydbcbyd;u:kjjbH:bjjjbbavc98fhvxbkkalc;Waf8Kjjjjbk:Jwliuo99iud9:cbhv8Jjjjjbca9Rgoczfcwfcbyd:8:kjjbBdbaocb8Pd:0:kjjb83izaocwfcbyd;i:kjjbBdbaocb8Pd;a:kjjb83ibaicd4hrdndnadmbJFFuFhwJFFuuhDJFFuuhqJFFuFhkJFFuuhxJFFuFhmxekarcdthPaehsincbhiinaoczfaifgzasaifIdbgwazIdbgDaDaw9EEUdbaoaifgzawazIdbgDaDaw9DEUdbaiclfgicx9hmbkasaPfhsavcefgvad9hmbkaoIdKhDaoIdwhwaoIdChqaoIdlhkaoIdzhxaoIdbhmkdnadTmbJbbbbJbFu9hJbbbbamax:tgmamJbbbb9DEgmakaq:tgkakam9DEgkawaD:tgwawak9DEgw:vawJbbbb9BEhwdnalmbarcdthoindndnaeclfIdbaq:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikai:S9cC:ghHdndnaeIdbax:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikaHai:S:ehHdndnaecwfIdbaD:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabaHai:T9cy:g:e83ibaeaofheabcwfhbadcufgdmbxdkkarcdthoindndnaeIdbax:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikai:SgH9ca:gaH9cz:g9cjjj;4s:d:eaH9cFe:d:e9cF:bj;4:pj;ar:d9c:bd9:9c:p;G:d;4j:E;ar:d9cH9:9c;d;H:W:y:m:g;d;Hb:d9cv9:9c;j:KM;j:KM;j:Kd:dhOdndnaeclfIdbaq:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikai:SgH9ca:gaH9cz:g9cjjj;4s:d:eaH9cFe:d:e9cF:bj;4:pj;ar:d9c:bd9:9c:p;G:d;4j:E;ar:d9cH9:9c;d;H:W:y:m:g;d;Hb:d9cq9:9cM;j:KM;j:KM;jl:daO:ehOdndnaecwfIdbaD:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabaOai:SgH9ca:gaH9cz:g9cjjj;4s:d:eaH9cFe:d:e9cF:bj;4:pj;ar:d9c:bd9:9c:p;G:d;4j:E;ar:d9cH9:9c;d;H:W:y:m:g;d;Hb:d9cC9:9c:KM;j:KM;j:KMD:d:e83ibaeaofheabcwfhbadcufgdmbkkk9teiucbcbyd;y:kjjbgeabcifc98GfgbBd;y:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;y:kjjbgeabcrfc94GfgbBd;y:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;y:kjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;y:kjjbfgdBd;y:kjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk;Qddbcjwk;mdbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbbbbbbbbbbbbb4:h9w9N94:P:gW:j9O:ye9Pbbbbbbebbbdbbbebbbdbbbbbbbdbbbbbbbebbbbbbb:l29hZ;69:9kZ;N;76Z;rg97Z;z;o9xZ8J;B85Z;:;u9yZ;b;k9HZ:2;Z9DZ9e:l9mZ59A8KZ:r;T3Z:A:zYZ79OHZ;j4::8::Y:D9V8:bbbb9s:49:Z8R:hBZ9M9M;M8:L;z;o8:;8:PG89q;x:J878R:hQ8::M:B;e87bbbbbbjZbbjZbbjZ:E;V;N8::Y:DsZ9i;H;68:xd;R8:;h0838:;W:NoZbbbb:WV9O8:uf888:9i;H;68:9c9G;L89;n;m9m89;D8Ko8:bbbbf:8tZ9m836ZS:2AZL;zPZZ818EZ9e:lxZ;U98F8:819E;68:FFuuFFuuFFuuFFuFFFuFFFuFbc;mqkzebbbebbbdbbb9G:vbb"),{}).then(function(i){(B=i.instance).exports.__wasm_call_ctors(),B.exports.meshopt_encodeVertexVersion(0),B.exports.meshopt_encodeIndexVersion(1)})})();var qa=function(){var B=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]),A=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var g,I=WebAssembly.validate(B)?C("b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuixkbbebeeddddilve9Weeeviebeoweuec:q:6dkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WbwY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbDl79IV9Rbqq;Ctklbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk:183lYud97dur978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxavaialfgmar9Rgoad;8qbbcj;abad9Uc;WFbGcjdadca0EhPdndndnadTmbaoadfhscbhzinaeaz9nmdamax9RaD6miabazad2fhHaxaDfhOaPaeaz9RazaPfae6EgAcsfgocl4cifcd4hCavcj;cbfaoc9WGgXcetfhQavcj;cbfaXci2fhLavcj;cbfaXfhKcbhYaoc;ab6h8AincbhodnawTmbaxaYcd4fRbbhokaocFeGhEcbh3avcj;cbfh5indndndndnaEa3cet4ciGgoc9:fPdebdkamaO9RaX6mwavcj;cbfa3aX2faOaX;8qbbaOaAfhOxdkavcj;cbfa3aX2fcbaX;8kbxekamaO9RaC6moaoclVcbawEhraOaCfhocbhidna8Ambamao9Rc;Gb6mbcbhlina5alfhidndndndndndnaOalco4fRbbgqciGarfPDbedibledibkaipxbbbbbbbbbbbbbbbbpklbxlkaiaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaiaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaiaopbbbpklbaoczfhoxekaiaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqcd4ciGarfPDbedibledibkaiczfpxbbbbbbbbbbbbbbbbpklbxlkaiczfaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaiczfaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaiczfaopbbbpklbaoczfhoxekaiczfaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqcl4ciGarfPDbedibledibkaicafpxbbbbbbbbbbbbbbbbpklbxlkaicafaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaicafaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaicafaopbbbpklbaoczfhoxekaicafaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqco4arfPDbedibledibkaic8Wfpxbbbbbbbbbbbbbbbbpklbxlkaic8Wfaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngicitc:q1jjbfpbibaic:q:yjjbfRbbgipsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaiaoclffaqc:q:yjjbfRbbfhoxikaic8Wfaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngicitc:q1jjbfpbibaic:q:yjjbfRbbgipsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaiaocwffaqc:q:yjjbfRbbfhoxdkaic8Wfaopbbbpklbaoczfhoxekaic8WfaopbbdaoRbbgicitc:q1jjbfpbibaic:q:yjjbfRbbgipsaoRbegqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaiaocdffaqc:q:yjjbfRbbfhokalc;abfhialcjefaX0meaihlamao9Rc;Fb0mbkkdnaiaX9pmbaici4hlinamao9RcK6mwa5aifhqdndndndndndnaOaico4fRbbalcoG4ciGarfPDbedibledibkaqpxbbbbbbbbbbbbbbbbpkbbxlkaqaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spkbbaaaoclffahc:q:yjjbfRbbfhoxikaqaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spkbbaaaocwffahc:q:yjjbfRbbfhoxdkaqaopbbbpkbbaoczfhoxekaqaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpkbbaaaocdffahc:q:yjjbfRbbfhokalcdfhlaiczfgiaX6mbkkaohOaoTmoka5aXfh5a3cefg3cl9hmbkdndndndnawTmbasaYcd4fRbbglciGPlbedwbkaXTmdavcjdfaYfhlavaYfpbdbhgcbhoinalavcj;cbfaofpblbg8JaKaofpblbg8KpmbzeHdOiAlCvXoQrLg8LaQaofpblbg8MaLaofpblbg8NpmbzeHdOiAlCvXoQrLgypmbezHdiOAlvCXorQLg8Ecep9Ta8Epxeeeeeeeeeeeeeeeeg8Fp9op9Hp9rg8Eagp9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8LaypmwDKYqk8AExm35Ps8E8Fg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8Ja8KpmwKDYq8AkEx3m5P8Es8Fg8Ja8Ma8NpmwKDYq8AkEx3m5P8Es8Fg8KpmbezHdiOAlvCXorQLg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8Ja8KpmwDKYqk8AExm35Ps8E8Fg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Ug8Fp9Abbbaladfgla8Fa8Ea8Epmlvorlvorlvorlvorp9Ug8Fp9Abbbaladfgla8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9Ug8Fp9Abbbaladfgla8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9AbbbaladfhlaoczfgoaX6mbxikkaXTmeavcjdfaYfhlavaYfpbdbhgcbhoinalavcj;cbfaofpblbg8JaKaofpblbg8KpmbzeHdOiAlCvXoQrLg8LaQaofpblbg8MaLaofpblbg8NpmbzeHdOiAlCvXoQrLgypmbezHdiOAlvCXorQLg8Ecep:nea8Epxebebebebebebebebg8Fp9op:bep9rg8Eagp:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8LaypmwDKYqk8AExm35Ps8E8Fg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8Ja8KpmwKDYq8AkEx3m5P8Es8Fg8Ja8Ma8NpmwKDYq8AkEx3m5P8Es8Fg8KpmbezHdiOAlvCXorQLg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8Ja8KpmwDKYqk8AExm35Ps8E8Fg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeg8Fp9Abbbaladfgla8Fa8Ea8Epmlvorlvorlvorlvorp:oeg8Fp9Abbbaladfgla8Fa8Ea8EpmwDqkwDqkwDqkwDqkp:oeg8Fp9Abbbaladfgla8Fa8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9AbbbaladfhlaoczfgoaX6mbxdkkaXTmbcbhocbalcl4gl9Rc8FGhiavcjdfaYfhravaYfpbdbh8Finaravcj;cbfaofpblbggaKaofpblbg8JpmbzeHdOiAlCvXoQrLg8KaQaofpblbg8LaLaofpblbg8MpmbzeHdOiAlCvXoQrLg8NpmbezHdiOAlvCXorQLg8Eaip:Rea8Ealp:Sep9qg8Ea8Fp9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Fa8Ka8NpmwDKYqk8AExm35Ps8E8Fg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Faga8JpmwKDYq8AkEx3m5P8Es8Fgga8La8MpmwKDYq8AkEx3m5P8Es8Fg8JpmbezHdiOAlvCXorQLg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Faga8JpmwDKYqk8AExm35Ps8E8Fg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9AbbbaradfhraoczfgoaX6mbkkaYclfgYad6mbkaHavcjdfaAad2;8qbbavavcjdfaAcufad2fad;8qbbaAazfhzc9:hoaOhxaOmbxlkkaeTmbaDalfhrcbhocuhlinaralaD9RglfaD6mdaPaeao9RaoaPfae6Eaofgoae6mbkaial9Rhxkcbc99amax9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaokwbz:bjjjbk:TseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiaPfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaOfhiazaOfhxxekaxcbalRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhAascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhzaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkaOhlxekalcefhlkaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDclfaO87ebaDcdfaz87ebxekabarcdtfgDaABdbaDcwfaOBdbaDclfazBdbkavc;abfaocitfgDazBdbaDaABdlavaicdtfaABdbavc;abfaocefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfaocdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnaecvfal9nmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk:2Pliur97eue978Jjjjjbc8W9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalaeSmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskaipxFubbFubbFubbFubbgxpklbdnalTmbcbhvabhdinadczfgmampbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraipblbaDaopmlvorxmPsCXQL358E8Fp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgPp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;MeawaqawaPp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oaoarpmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalaeSmbaiczfpxbbbbbbbbbbbbbbbbgopklbaiaopklbaiabalcitfgdaeciGglcitgv;8qbbaiaxpkladnalTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraipblaaDaopmlvorxmPsCXQL358E8Fp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgPp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;MeawaqawaPp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oaoarpmbezHdiOAlvCXorQLp9qpklbkadaiav;8qbbkk;Iwllue97euo978Jjjjjbca9Rhidnaec98GglTmbcbhvabhoinaocKfpxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81ZaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkpxibbbibbbibbbibbbp9qp;6ep;NegxaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meaxarczp:Sep;6ep;Megmamp;Meaxaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgxp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgPp9oamaxp;Mearp;Keczp:Rep9qgmaDaxp;Mearp;KeaPp9oaqaxp;Mearp;Keczp:Rep9qgrpmwDKYqk8AExm35Ps8E8FgDp5eakclp:RegxpEi:T:j83ibawaDp5baxpEd:T:j83ibaocwfamarpmbezHdiOAlvCXorQLgrp5eaxpEe:T:j83ibaoarp5baxpEb:T:j83ibaocafhoavclfgval6mbkkdnalaeSmbaiczfpxbbbbbbbbbbbbbbbbgxpklbaiaxpklbaiabalcitfgoaeciGgvcitgw;8qbbdnavTmbaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81ZaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkpxibbbibbbibbbibbbp9qp;6ep;NegxaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meaxarczp:Sep;6ep;Megmamp;Meaxaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgxp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgPp9oamaxp;Mearp;Keczp:Rep9qgmaDaxp;Mearp;KeaPp9oaqaxp;Mearp;Keczp:Rep9qgrpmwDKYqk8AExm35Ps8E8FgDp5eakclp:RegxpEi:T:j83iKaiaDp5baxpEd:T:j83izaiamarpmbezHdiOAlvCXorQLgrp5eaxpEe:T:j83iwaiarp5baxpEb:T:j83ibkaoaiaw;8qbbkk;uddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnavalSmbaic8WfpxbbbbbbbbbbbbbbbbgopklbaicafaopklbaiczfaopklbaiaopklbaiabavcdtfgdalciGgecdtgv;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkadaiav;8qbbkk:CPvdue97euw97eu8Jjjjjbc8W9Rhiaec98Ghldndnadcl9hmbaipxbbbbbbbbbbbbbbbbgvpklbdnalTmbcbhoabhdinadpbbbhradpxbbuJbbuJbbuJbbuJaipblbarcKp:Tep9qgwcep:Seawp9qgDcdp:SeaDp9qgDclp:SeaDp9qgqp;6ep;NegDarcwp:RecKp:SegkarpxFbbbFbbbFbbbFbbbgxp9ogmp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gPp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oaDamakp:Xearczp:RecKp:Segrp:Uep;6ep;MeaPp;Keaxp9op9qaDamakarp:Uep:Xep;6ep;MeaPp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qaDaqawcep:Rep9oawpxebbbebbbebbbebbbp9op9qp;6ep;MeaPp;KecKp:Rep9qpkbbadczfhdaoclfgoal6mbkkalaeSmeaiavpklaaicafabalcdtfgdaeciGglcdtgo;8qbbaiavpklbdnalTmbaipblahraipxbbuJbbuJbbuJbbuJaipblbarcKp:Tep9qgwcep:Seawp9qgDcdp:SeaDp9qgDclp:SeaDp9qgqp;6ep;NegDarcwp:RecKp:SegkarpxFbbbFbbbFbbbFbbbgxp9ogmp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gPp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oaDamakp:Xearczp:RecKp:Segrp:Uep;6ep;MeaPp;Keaxp9op9qaDamakarp:Uep:Xep;6ep;MeaPp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qaDaqawcep:Rep9oawpxebbbebbbebbbebbbp9op9qp;6ep;MeaPp;KecKp:Rep9qpklakadaicafao;8qbbskaipxbbbbbbbbbbbbbbbbgvpklbdnalTmbcbhoabhdinadczfgspxbFu9hbFu9hbFu9hbFu9hadpbbbgDaspbbbgPpmlvorxmPsCXQL358E8Fgmczp:Teaipblbp9qgrcep:Searp9qgwcdp:Seawp9qgwclp:Seawp9qgwcwp:Seawp9qgqp;6ep;NegwaDaPpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbgPp9ogkaDczp:Segxp:Ueamczp:Reczp:Segmp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gDp;KeaPp9oawakaxamp:Uep:Xep;6ep;MeaDp;Keczp:Rep9qgxawaqarcep:Rep9oarpxebbbebbbebbbebbbp9op9qp;6ep;MeaDp;Keczp:Reawamakp:Uep;6ep;MeaDp;KeaPp9op9qgrpmwDKYqk8AExm35Ps8E8FpkbbadaxarpmbezHdiOAlvCXorQLpkbbadcafhdaoclfgoal6mbkkalaeSmbaiczfpxbbbbbbbbbbbbbbbbgrpklbaiarpklbaiabalcitfgdaeciGglcitgo;8qbbaiavpkladnalTmbaipxbFu9hbFu9hbFu9hbFu9haipblbgDaipblzgPpmlvorxmPsCXQL358E8Fgmczp:Teaipblap9qgrcep:Searp9qgwcdp:Seawp9qgwclp:Seawp9qgwcwp:Seawp9qgqp;6ep;NegwaDaPpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbgPp9ogkaDczp:Segxp:Ueamczp:Reczp:Segmp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gDp;KeaPp9oawakaxamp:Uep:Xep;6ep;MeaDp;Keczp:Rep9qgxawaqarcep:Rep9oarpxebbbebbbebbbebbbp9op9qp;6ep;MeaDp;Keczp:Reawamakp:Uep;6ep;MeaDp;KeaPp9op9qgrpmwDKYqk8AExm35Ps8E8FpklzaiaxarpmbezHdiOAlvCXorQLpklbkadaiao;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz:Dbb"):C("b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuixkbeeeddddillviebeoweuec:W:Odkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WboY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbrl79IV9Rbwq;BZkdbk;jYi5ud9:du8Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxcj;abad9Uc;WFbGcjdadca0EhmaialfgPar9Rgoadfhsavaoadz:jjjjbgzceVhHcbhOdndninaeaO9nmeaPax9RaD6mdamaeaO9RaOamfgoae6EgAcsfglc9WGhCabaOad2fhXaAcethQaxaDfhiaOaeaoaeao6E9RhLalcl4cifcd4hKazcj;cbfaAfhYcbh8AazcjdfhEaHh3incbhodnawTmbaxa8Acd4fRbbhokaocFeGh5cbh8Eazcj;cbfhqinaih8Fdndndndna5a8Ecet4ciGgoc9:fPdebdkaPa8F9RaA6mrazcj;cbfa8EaA2fa8FaAz:jjjjb8Aa8FaAfhixdkazcj;cbfa8EaA2fcbaAz:kjjjb8Aa8FhixekaPa8F9RaK6mva8FaKfhidnaCTmbaPai9RcK6mbaocdtc:q1jjbfcj1jjbawEhaczhrcbhlinargoc9Wfghaqfhrdndndndndndnaaa8Fahco4fRbbalcoG4ciGcdtfydbPDbedvivvvlvkar9cb83bbarcwf9cb83bbxlkarcbaiRbdai8Xbb9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbaqaofgrcGfag9c8F1:NghcKtc8F91aicdfa8J9c8N1:Nfg8KRbbG86bbarcVfcba8KahcjeGcr4fghRbbag9cjjjjjl:dg8J9qE86bbarc7fcbaha8J9c8L1:NfghRbbag9cjjjjjd:dg8J9qE86bbarctfcbaha8J9c8K1:NfghRbbag9cjjjjje:dg8J9qE86bbarc91fcbaha8J9c8J1:NfghRbbag9cjjjj;ab:dg8J9qE86bbarc4fcbaha8J9cg1:NfghRbbag9cjjjja:dg8J9qE86bbarc93fcbaha8J9ch1:NfghRbbag9cjjjjz:dgg9qE86bbarc94fcbahag9ca1:NfghRbbai8Xbe9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbarc95fag9c8F1:NgicKtc8F91aha8J9c8N1:NfghRbbG86bbarc96fcbahaicjeGcr4fgiRbbag9cjjjjjl:dg8J9qE86bbarc97fcbaia8J9c8L1:NfgiRbbag9cjjjjjd:dg8J9qE86bbarc98fcbaia8J9c8K1:NfgiRbbag9cjjjjje:dg8J9qE86bbarc99fcbaia8J9c8J1:NfgiRbbag9cjjjj;ab:dg8J9qE86bbarc9:fcbaia8J9cg1:NfgiRbbag9cjjjja:dg8J9qE86bbarcufcbaia8J9ch1:NfgiRbbag9cjjjjz:dgg9qE86bbaiag9ca1:NfhixikaraiRblaiRbbghco4g8Ka8KciSg8KE86bbaqaofgrcGfaiclfa8Kfg8KRbbahcl4ciGg8La8LciSg8LE86bbarcVfa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc7fa8Ka8Lfg8KRbbahciGghahciSghE86bbarctfa8Kahfg8KRbbaiRbeghco4g8La8LciSg8LE86bbarc91fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc4fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc93fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc94fa8Kahfg8KRbbaiRbdghco4g8La8LciSg8LE86bbarc95fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc96fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc97fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc98fa8KahfghRbbaiRbigico4g8Ka8KciSg8KE86bbarc99faha8KfghRbbaicl4ciGg8Ka8KciSg8KE86bbarc9:faha8KfghRbbaicd4ciGg8Ka8KciSg8KE86bbarcufaha8KfgrRbbaiciGgiaiciSgiE86bbaraifhixdkaraiRbwaiRbbghcl4g8Ka8KcsSg8KE86bbaqaofgrcGfaicwfa8Kfg8KRbbahcsGghahcsSghE86bbarcVfa8KahfghRbbaiRbeg8Kcl4g8La8LcsSg8LE86bbarc7faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarctfaha8KfghRbbaiRbdg8Kcl4g8La8LcsSg8LE86bbarc91faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc4faha8KfghRbbaiRbig8Kcl4g8La8LcsSg8LE86bbarc93faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc94faha8KfghRbbaiRblg8Kcl4g8La8LcsSg8LE86bbarc95faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc96faha8KfghRbbaiRbvg8Kcl4g8La8LcsSg8LE86bbarc97faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc98faha8KfghRbbaiRbog8Kcl4g8La8LcsSg8LE86bbarc99faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc9:faha8KfghRbbaiRbrgicl4g8Ka8KcsSg8KE86bbarcufaha8KfgrRbbaicsGgiaicsSgiE86bbaraifhixekarai8Pbb83bbarcwfaicwf8Pbb83bbaiczfhikdnaoaC9pmbalcdfhlaoczfhraPai9RcL0mekkaoaC6moaimexokaCmva8FTmvkaqaAfhqa8Ecefg8Ecl9hmbkdndndndnawTmbasa8Acd4fRbbgociGPlbedrbkaATmdaza8Afh8Fazcj;cbfhhcbh8EaEhaina8FRbbhraahocbhlinaoahalfRbbgqce4cbaqceG9R7arfgr86bbaoadfhoaAalcefgl9hmbkaacefhaa8Fcefh8FahaAfhha8Ecefg8Ecl9hmbxikkaATmeaza8Afhaazcj;cbfhhcbhoceh8EaYh8FinaEaofhlaa8Vbbhrcbhoinala8FaofRbbcwtahaofRbbgqVc;:FiGce4cbaqceG9R7arfgr87bbaladfhlaLaocefgofmbka8FaQfh8FcdhoaacdfhaahaQfhha8EceGhlcbh8EalmbxdkkaATmbcbaocl49Rh8Eaza8AfRbbhqcwhoa3hlinalRbbaotaqVhqalcefhlaocwfgoca9hmbkcbhhaEh8FaYhainazcj;cbfahfRbbhrcwhoaahlinalRbbaotarVhralaAfhlaocwfgoca9hmbkara8E93aq7hqcbhoa8Fhlinalaqao486bbalcefhlaocwfgoca9hmbka8Fadfh8FaacefhaahcefghaA9hmbkkaEclfhEa3clfh3a8Aclfg8Aad6mbkaXazcjdfaAad2z:jjjjb8AazazcjdfaAcufad2fadz:jjjjb8AaAaOfhOaihxaimbkc9:hoxdkcbc99aPax9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaok:XseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:kjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiaPfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaOfhiazaOfhxxekaxcbalRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhAascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhzaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkaOhlxekalcefhlkaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDclfaO87ebaDcdfaz87ebxekabarcdtfgDaABdbaDcwfaOBdbaDclfazBdbkavc;abfaocitfgDazBdbaDaABdlavaicdtfaABdbavc;abfaocefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfaocdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnaecvfal9nmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;oiliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavciGfgkcd7cetfaD87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavcufciGfcetfaD87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohvxekcjjjj94hvkabakcetfav87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk:Tvirud99eudndnadcl9hmbaeTmeindndnabRbbgiabcefgl8Sbbgvabcdfgo8Sbbgrf9R:YJbbuJabcifgwRbbgdce4adVgDcd4aDVgDcl4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax86bbdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao86bbdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai86bbdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad86bbabclfhbaecufgembxdkkaeTmbindndnab8Vebgiabcdfgl8Uebgvabclfgo8Uebgrf9R:YJbFu9habcofgw8Vebgdce4adVgDcd4aDVgDcl4aDVgDcw4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax87ebdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao87ebdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai87ebdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad87ebabcwfhbaecufgembkkk9teiucbcbyd:K1jjbgeabcifc98GfgbBd:K1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkk81dbcjwk8Kbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbc:Kwkl8WNbb"),Q=WebAssembly.instantiate(I,{}).then(function(n){(g=n.instance).exports.__wasm_call_ctors()});function C(n){for(var r=new Uint8Array(n.length),c=0;c<n.length;++c){var D=n.charCodeAt(c);r[c]=D>96?D-97:D>64?D-39:D+4}var w=0;for(c=0;c<n.length;++c)r[w++]=r[c]<60?A[r[c]]:64*(r[c]-60)+r[++c];return r.buffer.slice(0,w)}function a(n,r,c,D,w,h,d){var f=n.exports.sbrk,p=D+3&-4,R=f(p*w),k=f(h.length),G=new Uint8Array(n.exports.memory.buffer);G.set(h,k);var N=r(R,D,w,k,h.length);if(N==0&&d&&d(R,p,w),c.set(G.subarray(R,R+D*w)),f(R-f(0)),N!=0)throw new Error("Malformed buffer data: "+N)}var E={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp",COLOR:"meshopt_decodeFilterColor"},i={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},t=[],e=0;function o(n){var r={object:new Worker(n),pending:0,requests:{}};return r.object.onmessage=function(c){var D=c.data;r.pending-=D.count,r.requests[D.id][D.action](D.value),delete r.requests[D.id]},r}function s(n){var r=n.data;if(!r.id)return self.close();self.ready.then(function(c){try{var D=new Uint8Array(r.count*r.size);a(c,c.exports[r.mode],D,r.count,r.size,r.source,c.exports[r.filter]),self.postMessage({id:r.id,count:r.count,action:"resolve",value:D},[D.buffer])}catch(w){self.postMessage({id:r.id,count:r.count,action:"reject",value:w})}})}return{ready:Q,supported:!0,useWorkers:function(n){(function(r){for(var c="self.ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(I)+"]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = "+s.name+";"+a.toString()+s.toString(),D=new Blob([c],{type:"text/javascript"}),w=URL.createObjectURL(D),h=t.length;h<r;++h)t[h]=o(w);for(h=r;h<t.length;++h)t[h].object.postMessage({});t.length=r,URL.revokeObjectURL(w)})(n)},decodeVertexBuffer:function(n,r,c,D,w){a(g,g.exports.meshopt_decodeVertexBuffer,n,r,c,D,g.exports[E[w]])},decodeIndexBuffer:function(n,r,c,D){a(g,g.exports.meshopt_decodeIndexBuffer,n,r,c,D)},decodeIndexSequence:function(n,r,c,D){a(g,g.exports.meshopt_decodeIndexSequence,n,r,c,D)},decodeGltfBuffer:function(n,r,c,D,w,h){a(g,g.exports[i[w]],n,r,c,D,g.exports[E[h]])},decodeGltfBufferAsync:function(n,r,c,D,w){return t.length>0?function(h,d,f,p,R){for(var k=t[0],G=1;G<t.length;++G)t[G].pending<k.pending&&(k=t[G]);return new Promise(function(N,S){var U=new Uint8Array(f),j=++e;k.pending+=h,k.requests[j]={resolve:N,reject:S},k.object.postMessage({id:j,count:h,size:d,source:U,mode:p,filter:R},[U.buffer])})}(n,r,c,i[D],E[w]):Q.then(function(){var h=new Uint8Array(n*r);return a(g,g.exports[i[D]],h,n,r,c,g.exports[E[w]]),h})}}}();(function(){var B,A=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var g=WebAssembly.instantiate(function(E){for(var i=new Uint8Array(E.length),t=0;t<E.length;++t){var e=E.charCodeAt(t);i[t]=e>96?e-97:e>64?e-39:e+4}var o=0;for(t=0;t<E.length;++t)i[o++]=i[t]<60?A[i[t]]:64*(i[t]-60)+i[++t];return i.buffer.slice(0,o)}("b9H79Tebbbe:Gez9Geueu9Geub9Gbb9Gsuuuuuuuuuuuu99uueu9Gvuuuuub9Gruuuuuuub9Gouuuuuue999Gvuuuuueu9Gquuuuuuu99uueu9GPuuuuuuuuuuu99uueu9Gquuuuuuuu99ueu9Gruuuuuu99eu9Gwuuuuuu99ueu9Giuuue999Gluuuueu9GiuuueuiXCdilvorlwiDqkxmPbssbelve9Weiiviebeoweuec:G:Pdkr;7eko9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95br8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bw8A9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9O9v9W9K9HtWbDQ9TW79O9V9Wt9F79P9T9W29P9M959t29V9W9W95bqX9TW79O9V9Wt9F79P9T9W29P9M959qV919UWbkQ9TW79O9V9Wt9F79P9T9W29P9M959q9V9P9Ut7bxX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbma9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbPl79IV9RbsDwebcekdOAq:d;OeCdbk:J1eo3ue99euE99Cue9:8Jjjjjbcj;sb9Rgs8Kjjjjbcbhzasc:Cefcbc;Kbz:rjjjb8AdnabaeSmbabaeadcdtz:qjjjb8AkdnamcdGTmbalcrfci4gHcbyd1:jjjbHjjjjbbheasc:Cefasyd;8egOcdtfaeBdbasaOcefBd;8eaecbaHz:rjjjbhAcbhlcbhednadTmbcbhlabheadhHinaAaeydbgOci4fgCaCRbbgCceaOcrGgOtV86bbaCcu7aO4ceGalfhlaeclfheaHcufgHmbkcualcdtalcFFFFi0Ehekaecbyd1:jjjbHjjjjbbhzasc:Cefasyd;8egecdtfazBdbasaecefBd;8ealcd4alfhOcehHinaHgecethHaeaO6mbkcbhXcuaecdtgOaecFFFFi0Ecbyd1:jjjbHjjjjbbhHasc:Cefasyd;8egCcdtfaHBdbasaCcefBd;8eaHcFeaOz:rjjjbhQdnadTmbaecufhLcbhKindndnaQabaXcdtfgYydbgCc:v;t;h;Ev2aLGgOcdtfgAydbgHcuSmbceheinazaHcdtfydbaCSmdaOaefhHaecefheaQaHaLGgOcdtfgAydbgHcu9hmbkkazaKcdtfaCBdbaAaKBdbaKhHaKcefhKkaYaHBdbaXcefgXad9hmbkkaQcbyd:m:jjjbH:bjjjbbasasyd;8ecufBd;8ekcbh8AcualcefgecdtaecFFFFi0Ecbyd1:jjjbHjjjjbbhKasc:Cefasyd;8egecdtfaKBdbasaKBdNeasaecefBd;8ecuadcitadcFFFFe0Ecbyd1:jjjbHjjjjbbhEasc:Cefasyd;8egecdtfaEBdbasaEBd:yeasaecefBd;8eascNefabadalcbz:cjjjbcualcdtgealcFFFFi0Eg3cbyd1:jjjbHjjjjbbhCasc:Cefasyd;8egHcdtfaCBdbasaHcefBd;8ea3cbyd1:jjjbHjjjjbbhYasc:Cefasyd;8egHcdtfaYBdbasaHcefBd;8eaCaYaialavazasc:Cefz:djjjbalcbyd1:jjjbHjjjjbbh5asc:Cefasyd;8egHcdtfa5BdbasaHcefBd;8ea3cbyd1:jjjbHjjjjbbhHasc:Cefasyd;8egOcdtfaHBdbasaOcefBd;8ea3cbyd1:jjjbHjjjjbbhOasc:Cefasyd;8egAcdtfaOBdbasaAcefBd;8eaHcFeaez:rjjjbh8EaOcFeaez:rjjjbh8FdnalTmbaEcwfhaindnaKa8AgOcefg8AcdtfydbgAaKaOcdtgefydbgHSmbaAaH9RhhaEaHcitfhga8Faefh8Ja8Eaefh8KcbhQindndnagaQcitfydbgLaO9hmba8KaOBdba8JaOBdbxekdnaKaLcdtg8LfgeclfydbgHaeydbgeSmbaEaecitgAfydbaOSmeaHae9Rh8Maecu7aHfhXaaaAfhHcbheinaXaeSmeaecefheaHydbhAaHcwfhHaAaO9hmbkaea8M6meka8Fa8LfgeaOaLaeydbcuSEBdba8KaLaOa8KydbcuSEBdbkaQcefgQah9hmbkka8Aal9hmbkaChHaYhOa8FhAa8EhQcbheindndnaeaHydbgL9hmbdnaeaOydbgL9hmbaQydbhLdnaAydbgXcu9hmbaLcu9hmba5aefcb86bbxikdnaXcuSmbaLcuSmbaeaXSmbaCaXcdtfydbaCaLcdtfydb9hmba5aefcd86bbxika5aefh8KdnaeaXSmbaeaLSmba8Kce86bbxika8Kcl86bbxdkdnaeaYaLcdtgXfydb9hmbdnaAydbg8KcuSmbaea8KSmbaQydbghcuSmbaeahSmba8FaXfydbggcuSmbagaLSmba8EaXfydbgXcuSmbaXaLSmbdnaCa8KcdtfydbgLaCaXcdtfydb9hmbaLaCahcdtfydbgXSmbaXaCagcdtfydb9hmba5aefcd86bbxlka5aefcl86bbxika5aefcl86bbxdka5aefcl86bbxeka5aefa5aLfRbb86bbkaHclfhHaOclfhOaAclfhAaQclfhQalaecefge9hmbkdnamcaGTmbaEcwfh8Jcbh8Nindndna5a8NfgyRbbg8Pc9:fPibebekdndndnaCa8Ncdtfydbgea8N9hmbdnaqmbcbhgxdkdnazTmbcbhga8NheinagaqazaecdtgefydbfRbbcdGce4VhgaYaefydbgea8N9hmbxikkcbhga8NheinagaqaefRbbcdGce4VhgaYaecdtfydbgea8N9hmbxdkka5aefRbbhexeka8NheindnaKaecdtgafgeclfydbgHaeydbgeSmbaHae9Rh8AaEaecitfh8MaCaafh8Lcbh8Kina8Ma8KcitfydbgXhednindnaKaecdtgLfgeclfydbgHaeydbgeSmbdnaCaEaecitgOfydbcdtfydba8LydbgQ9hmbcehexikaHae9Rhhaecu7aHfhAa8JaOfhHcbheinaAaeSmeaecefheaHydbhOaHcwfhHaCaOcdtfydbaQ9hmbkaeah6hexdkaYaLfydbgeaX9hmbkcbhekagaece7Vhga8Kcefg8Ka8A9hmbkkaYaafydbgea8N9hmbka8PciagceGEhekayae86bbka8Ncefg8Nal9hmbkkdnaqTmbdndnazTmbazheaChHalhOindnaqaeydbfRbbceGTmba5aHydbfcl86bbkaeclfheaHclfhHaOcufgOmbxdkkaChealhHindnaqRbbceGTmba5aeydbfcl86bbkaqcefhqaeclfheaHcufgHmbkkaChealhOa5hHindna5aeydbfRbbcl9hmbaHcl86bbkaeclfheaHcefhHaOcufgOmbkkamceGTmba5healhHindnaeRbbce9hmbaecl86bbkaecefheaHcufgHmbkkcbhIcualcx2alc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbhaasc:Cefasyd;8egecdtfaaBdbasaecefBd;8easc:qefcbBdbas9cb83i1eaaaialavazasc1efz:ejjjbh8RdndnaDmbcbh8Scbh8Lxekcbh8LawhecbhHindnaeIdbJbbbb9ETmbasa8LcdtfaHBdba8Lcefh8LkaeclfheaDaHcefgH9hmbkcua8Lal2gecdtaecFFFFi0Ecbyd1:jjjbHjjjjbbh8Sasc:Cefasyd;8egecdtfa8SBdbasaecefBd;8ealTmbdna8Lmbcbh8Lxekarcd4hXdnazTmba8Lcdth8KcbhLa8ShKinaoazaLcdtfydbaX2cdtfhQasheaKhHa8LhOinaHaQaeydbcdtgAfIdbawaAfIdbNUdbaeclfheaHclfhHaOcufgOmbkaKa8KfhKaLcefgLal9hmbxdkka8Lcdth8KcbhLa8ShKinaoaLaX2cdtfhQasheaKhHa8LhOinaHaQaeydbcdtgAfIdbawaAfIdbNUdbaeclfheaHclfhHaOcufgOmbkaKa8KfhKaLcefgLal9hmbkkcualc8S2gHalc;D;O;f8U0EgAcbyd1:jjjbHjjjjbbheasc:Cefasyd;8egOcdtfaeBdbasaOcefBd;8eaecbaHz:rjjjbhycbhqcbh8Ndna8LTmbcbhIaAcbyd1:jjjbHjjjjbbh8Nasc:Cefasyd;8egecdtfa8NBdbasaecefBd;8ea8NcbaHz:rjjjb8Acua8Lal2gecltgHaecFFFFb0Ecbyd1:jjjbHjjjjbbhqasc:Cefasyd;8egecdtfaqBdbasaecefBd;8eaqcbaHz:rjjjb8AamcjjjjdGTmbcualcltgealcFFFFb0Ecbyd1:jjjbHjjjjbbhIasc:Cefasyd;8egHcdtfaIBdbasaHcefBd;8eaIcbaez:rjjjb8AkdnadTmbcbhQabhHinaaaHclfydbgLcx2fgeIdbaaaHydbgKcx2fgOIdbgR:tg8UaaaHcwfydbgXcx2fgAIdlaOIdlg8V:tg8WNaAIdbaR:tg8XaeIdla8V:tg8YN:tg8Zh80aeIdwaOIdwg81:tgBa8XNaAIdwa81:tg83a8UN:tgUh8Xa8Ya83Na8WaBN:tg8Yh8Udna8Za8ZNa8Ya8YNaUaUNMM:rgBJbbbb9EgOTmba8ZaB:vh80aUaB:vh8Xa8YaB:vh8UkayaCaKcdtfydbgAc8S2fgea8UaB:rg8Wa8UNNg85aeIdbMUdbaea8Xa8Wa8XNg86Ng87aeIdlMUdlaea80a8Wa80Ng83Ng88aeIdwMUdwaea86a8UNg86aeIdxMUdxaea83a8UNg89aeIdzMUdzaea83a8XNg8:aeIdCMUdCaea8Ua8Wa80a81Na8UaRNa8Va8XNMM:mgZNg83Ng8UaeIdKMUdKaea8Xa83Ng8XaeId3MUd3aea80a83Ng80aeIdaMUdaaea83aZNg83aeId8KMUd8Kaea8WaeIdyMUdyayaCaLcdtfydbgLc8S2fgea85aeIdbMUdbaea87aeIdlMUdlaea88aeIdwMUdwaea86aeIdxMUdxaea89aeIdzMUdzaea8:aeIdCMUdCaea8UaeIdKMUdKaea8XaeId3MUd3aea80aeIdaMUdaaea83aeId8KMUd8Kaea8WaeIdyMUdyayaCaXcdtfydbgKc8S2fgea85aeIdbMUdbaea87aeIdlMUdlaea88aeIdwMUdwaea86aeIdxMUdxaea89aeIdzMUdzaea8:aeIdCMUdCaea8UaeIdKMUdKaea8XaeId3MUd3aea80aeIdaMUdaaea83aeId8KMUd8Kaea8WaeIdyMUdydnaITmbdnaOTmba8ZaB:vh8ZaUaB:vhUa8YaB:vh8YkaIaAcltfgeaBJbbbZNg8UaUNg8WaeIdlMUdlaea8Ua8ZNg8XaeIdwMUdwaea8Ua8YNg80aeIdbMUdbaea8UaR:ma8YNaUa8VN:ta81a8ZN:tNg8UaeIdxMUdxaIaLcltfgea8WaeIdlMUdlaea8XaeIdwMUdwaea80aeIdbMUdbaea8UaeIdxMUdxaIaKcltfgea8WaeIdlMUdlaea8XaeIdwMUdwaea80aeIdbMUdbaea8UaeIdxMUdxkaHcxfhHaQcifgQad6mbkkdnalTmbJ;n;m;m89J:v:;;w8ZamczGEh8YcbhOaChAaahHayheindnaOaAydb9hmbaecxfgQaQIdbJbbbbMUdbaeczfgQaQIdbJbbbbMUdbaecCfgQaQIdbJbbbbMUdbaea8YaecyfgQIdbg8ZNg8UaeIdbMUdbaeclfgLa8UaLIdbMUdbaecwfgLa8UaLIdbMUdbaecKfgLaLIdbaHIdbg8Xa8UN:tUdbaHcwfIdbh8Waec3fgLaLIdba8UaHclfIdbg80N:tUdbaecafgLaLIdba8Ua8WN:tUdbaec8KfgLIdbhUaQa8Za8UMUdbaLaUa8Ua8Wa8WNa8Xa8XNa80a80NMMNMUdbkaAclfhAaHcxfhHaec8SfhealaOcefgO9hmbkkdnadTmbcbhXabhKinabaXcdtfhLcbhHina5aLaHc:G1jjbfydbcdtfydbgOfRbbhedndna5aKaHfydbgAfRbbgQc99fcFeGcpe0mbaec99fcFeGc;:e6mekdnaQcufcFeGce0mba8EaAcdtfydbaO9hmekdnaecufcFeGce0mba8FaOcdtfydbaA9hmekJbbacJbbacJbbbZaecFeGceSEaQcFeGceSEh88aaaOcx2fgeIdwaaaAcx2fgQIdwgB:tg80:mh86aeIdlaQIdlg83:tg8Z:mh89aeIdbaQIdbgR:tgU:mh8:dnaaaLaHc:K1jjbfydbcdtfydbcx2fgeIdwaB:tg8Va80a80NaUaUNa8Za8ZNMMg8YNa8Va80NaeIdbaR:tg81aUNa8ZaeIdla83:tg85NMMg8Wa80N:tg8Xa8XNa81a8YNa8WaUN:tg8Ua8UNa85a8YNa8Wa8ZN:tg8Wa8WNMM:rg87Jbbbb9ETmba8Xa87:vh8Xa8Wa87:vh8Wa8Ua87:vh8Uka88a8Y:rNg8Ya8XaBNa8UaRNa83a8WNMM:mgZNg87aZNhZa8Xa87Nhna8Wa87Nhca8Ua87Nh9ca8Ya8XNg87a8WNhJa87a8UNh9ea8Ya8WNgTa8UNhSa8Xa87Nh87a8WaTNhTa8Ua8Ya8UNNh9hdnaUa85Na81a89NMg8Xa8XNa8Za8VNa85a86NMg8Ua8UNa80a81Na8Va8:NMg8Wa8WNMM:rg80Jbbbb9ETmba8Xa80:vh8Xa8Wa80:vh8Wa8Ua80:vh8UkayaCaAcdtfydbc8S2fgeaeIdba9ha8Ua88a80:rNg80a8UNNMgUMUdbaeaTa8Wa80a8WNg8VNMg81aeIdlMUdlaea87a8Xa80a8XNg8ZNMg85aeIdwMUdwaeaSa8Va8UNMg8VaeIdxMUdxaea9ea8Za8UNMg87aeIdzMUdzaeaJa8Za8WNMg8ZaeIdCMUdCaea9ca8Ua80a8XaBNa8UaRNa83a8WNMMgB:mNg80NMg8UaeIdKMUdKaeaca8Wa80NMg8WaeId3MUd3aeana8Xa80NMg8XaeIdaMUdaaeaZaBa80N:tg80aeId8KMUd8Kaea8YJbbbbMg8YaeIdyMUdyayaCaOcdtfydbc8S2fgeaUaeIdbMUdbaea81aeIdlMUdlaea85aeIdwMUdwaea8VaeIdxMUdxaea87aeIdzMUdzaea8ZaeIdCMUdCaea8UaeIdKMUdKaea8WaeId3MUd3aea8XaeIdaMUdaaea80aeId8KMUd8Kaea8YaeIdyMUdykaHclfgHcx9hmbkaKcxfhKaXcifgXad6mbka8LTmbcbhKinJbbbbh8YaaabaKcdtfgeclfydbgXcx2fgHIdwaaaeydbg8Kcx2fgOIdwg81:tg8Wa8WNaHIdbaOIdbg85:tg8Xa8XNaHIdlaOIdlg87:tg80a80NMMgRaaaecwfydbghcx2fgeIdwa81:tg8ZNa8Wa8Wa8ZNa8XaeIdba85:tgUNa80aeIdla87:tgBNMMg8UN:tJbbbbJbbjZaRa8Za8ZNaUaUNaBaBNMMg8VNa8Ua8UN:tg83:va83Jbbbb9BEg83Nh89a8Va8WNa8Za8UN:ta83Nh8:aRaBNa80a8UN:ta83NhZa8Va80NaBa8UN:ta83NhnaRaUNa8Xa8UN:ta83Nhca8Va8XNaUa8UN:ta83Nh9ca8XaBNaUa80N:tg8Ua8UNa80a8ZNaBa8WN:tg8Ua8UNa8WaUNa8Za8XN:tg8Ua8UNMM:rJbbbZNh8Ua8Sa8Ka8L2ggcdtfhHa8Saha8L2gEcdtfhOa8SaXa8L2g8JcdtfhAa81:mhJa87:mh9ea85:mhTcbhQa8LhLJbbbbhBJbbbbh83JbbbbhRJbbbbh8VJbbbbh81Jbbbbh85Jbbbbh87Jbbbbh88Jbbbbh86inascjdfaQfgecwfa8Ua8:aAIdbaHIdbg8Z:tg80Na89aOIdba8Z:tgUNMg8WNUdbaeclfa8Uana80NaZaUNMg8XNUdbaea8Ua9ca80NacaUNMg80NUdbaecxfa8UaJa8WNa9ea8XNa8ZaTa80NMMMg8ZNUdba8Ua8Wa8XNNa8VMh8Va8Ua8Wa80NNa81Mh81a8Ua8Xa80NNa85Mh85a8Ua8Za8ZNNa8YMh8Ya8Ua8Wa8ZNNaBMhBa8Ua8Xa8ZNNa83Mh83a8Ua80a8ZNNaRMhRa8Ua8Wa8WNNa87Mh87a8Ua8Xa8XNNa88Mh88a8Ua80a80NNa86Mh86aHclfhHaAclfhAaOclfhOaQczfhQaLcufgLmbka8Na8Kc8S2fgea86aeIdbMUdbaea88aeIdlMUdlaea87aeIdwMUdwaea85aeIdxMUdxaea81aeIdzMUdzaea8VaeIdCMUdCaeaRaeIdKMUdKaea83aeId3MUd3aeaBaeIdaMUdaaea8YaeId8KMUd8Kaea8UaeIdyMUdya8NaXc8S2fgea86aeIdbMUdbaea88aeIdlMUdlaea87aeIdwMUdwaea85aeIdxMUdxaea81aeIdzMUdzaea8VaeIdCMUdCaeaRaeIdKMUdKaea83aeId3MUd3aeaBaeIdaMUdaaea8YaeId8KMUd8Kaea8UaeIdyMUdya8Nahc8S2fgea86aeIdbMUdbaea88aeIdlMUdlaea87aeIdwMUdwaea85aeIdxMUdxaea81aeIdzMUdzaea8VaeIdCMUdCaeaRaeIdKMUdKaea83aeId3MUd3aeaBaeIdaMUdaaea8YaeId8KMUd8Kaea8UaeIdyMUdyaqagcltfhLcbhHa8LhAinaLaHfgeascjdfaHfgOIdbaeIdbMUdbaeclfgQaOclfIdbaQIdbMUdbaecwfgQaOcwfIdbaQIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbkaqa8JcltfhLcbhHa8LhAinaLaHfgeascjdfaHfgOIdbaeIdbMUdbaeclfgQaOclfIdbaQIdbMUdbaecwfgQaOcwfIdbaQIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbkaqaEcltfhLcbhHa8LhAinaLaHfgeascjdfaHfgOIdbaeIdbMUdbaeclfgQaOclfIdbaQIdbMUdbaecwfgQaOcwfIdbaQIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbkaKcifgKad6mbkkcbhOdndnamcwGg9imbJbbbbh85cbh6cbh9kcbh0xekcbh6a3cbyd1:jjjbHjjjjbbh0asc:Cefasyd;8egecdtfa0BdbasaecefBd;8ecua0alabadaCz:fjjjbgAcltaAcjjjjiGEcbyd1:jjjbHjjjjbbh9kasc:Cefasyd;8egecdtfa9kBdbasaecefBd;8ea9kaAa0aaalz:gjjjbJFFuuh85aATmba9kheaAhHinaeIdbg8Ua85a85a8U9EEh85aeclfheaHcufgHmbkaAh6kasydNeh9mdnalTmba9mclfhea9mydbhAa5hHalhQcbhOincbaeydbgLaA9RaHRbbcpeGEaOfhOaHcefhHaeclfheaLhAaQcufgQmbkaOce4hOkcuadaO9Rcifg9ncx2a9nc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbh8Pasc:Cefasyd;8egecdtfa8PBdbasaecefBd;8ecua9ncdta9ncFFFFi0Ecbyd1:jjjbHjjjjbbh9oasc:Cefasyd;8egecdtfa9oBdbasaecefBd;8ea3cbyd1:jjjbHjjjjbbhDasc:Cefasyd;8egecdtfaDBdbasaecefBd;8ealcbyd1:jjjbHjjjjbbh9pasc:Cefasyd;8egecdtfa9pBdbasaecefBd;8eaxaxNa8RJbbjZamclGEgnanN:vh88Jbbbbh86dnadak9nmbdna9nci6mbasyd:yeh9qa8Lclth9ra8Pcwfh9sJbbbbh87Jbbbbh86inascNefabadalaCz:cjjjbabh8Kcbh8Mcbh3inaba3cdtfhgcbheindnaCa8KaefydbgOcdtgXfydbgAaCagaec:W1jjbfydbcdtfydbgHcdtghfydbgQSmba5aHfRbbgKcv2a5aOfRbbgLfc;a1jjbfRbbg8JaLcv2aKfgEc;a1jjbfRbbg8AVcFeGTmbdnaQaA9nmbaEc;G1jjbfRbbcFeGmekdnaLcufcFeGce0mbaKTmba8EaXfydbaH9hmekdnaLTmbaKcufcFeGce0mba8FahfydbaO9hmeka8Pa8Mcx2fgAaHaOa8AcFeGgQEBdlaAaOaHaQEBdbaAaQa8JGcb9hBdwa8Mcefh8Mkaeclfgecx9hmbkdna3cifg3ad9pmba8Kcxfh8Ka8Mcifa9n9nmekka8MTmdcbhhinayaCa8Pahcx2fgKydbgQcdtgAfydbc8S2fgeIdwaaaKydlgLcx2fgHIdwg8XNaeIdzaHIdbg80NaeIdaMg8Ua8UMMa8XNaeIdlaHIdlg8ZNaeIdCa8XNaeId3Mg8Ua8UMMa8ZNaeIdba80NaeIdxa8ZNaeIdKMg8Ua8UMMa80NaeId8KMMM:lh8UJbbbbJbbjZaeIdyg8W:va8WJbbbb9BEh8WdndnaKydwg8KmbJFFuuh81xekJbbbbJbbjZayaCaLcdtfydbc8S2fgeIdygU:vaUJbbbb9BEaeIdwaaaQcx2fgHIdwgUNaeIdzaHIdbg8YNaeIdaMgBaBMMaUNaeIdlaHIdlgBNaeIdCaUNaeId3MgUaUMMaBNaeIdba8YNaeIdxaBNaeIdKMgUaUMMa8YNaeId8KMMM:lNh81ka8Wa8UNh8Vdna8LTmba8NaQc8S2fgHIdwa8XNaHIdza80NaHIdaMg8Ua8UMMa8XNaHIdla8ZNaHIdCa8XNaHId3Mg8Ua8UMMa8ZNaHIdba80NaHIdxa8ZNaHIdKMg8Ua8UMMa80NaHId8KMMMh8UaqaQa8L2ggcltfheaHIdyhUa8SaLa8L2gEcdtfgXhHa8LhOinaHIdbg8Wa8WaUNaecxfIdba8XaecwfIdbNa80aeIdbNa8ZaeclfIdbNMMMg8Wa8WM:tNa8UMh8UaHclfhHaeczfheaOcufgOmbkdndna8KmbJbbbbh8Wxeka8NaLc8S2fgOIdwaaaQcx2fgeIdwg8YNaOIdzaeIdbgBNaOIdaMg8Wa8WMMa8YNaOIdlaeIdlg83NaOIdCa8YNaOId3Mg8Wa8WMMa83NaOIdbaBNaOIdxa83NaOIdKMg8Wa8WMMaBNaOId8KMMMh8Wa8SagcdtfhHaqaEcltfheaOIdyhRa8LhOinaHIdbgUaUaRNaecxfIdba8YaecwfIdbNaBaeIdbNa83aeclfIdbNMMMgUaUM:tNa8WMh8WaHclfhHaeczfheaOcufgOmbka8W:lh8Wka8Va8U:lMh8Va81a8WMh81dndndna5aQfRbbc9:fPdbedkdna8Fa8Ea8EaAfydbaLSEaYaAfydbgXcdtfydbgAcu9hmbaYaLcdtfydbhAka8NaXc8S2fgOIdwaaaAcx2fgeIdwg8XNaOIdzaeIdbg80NaOIdaMg8Ua8UMMa8XNaOIdlaeIdlg8ZNaOIdCa8XNaOId3Mg8Ua8UMMa8ZNaOIdba80NaOIdxa8ZNaOIdKMg8Ua8UMMa80NaOId8KMMMh8Ua8SaAa8L2ggcdtfhHaqaXa8L2gEcltfheaOIdyhUa8LhOinaHIdbg8Wa8WaUNaecxfIdba8XaecwfIdbNa80aeIdbNa8ZaeclfIdbNMMMg8Wa8WM:tNa8UMh8UaHclfhHaeczfheaOcufgOmbkdndna8KmbJbbbbh8Wxeka8NaAc8S2fgOIdwaaaXcx2fgeIdwg80NaOIdzaeIdbg8ZNaOIdaMg8Wa8WMMa80NaOIdlaeIdlgUNaOIdCa80NaOId3Mg8Wa8WMMaUNaOIdba8ZNaOIdxaUNaOIdKMg8Wa8WMMa8ZNaOId8KMMMh8Wa8SaEcdtfhHaqagcltfheaOIdyh8Ya8LhOinaHIdbg8Xa8Xa8YNaecxfIdba80aecwfIdbNa8ZaeIdbNaUaeclfIdbNMMMg8Xa8XM:tNa8WMh8WaHclfhHaeczfheaOcufgOmbka8W:lh8Wka8Va8U:lMh8Va81a8WMh81xdkaYaAfydbgAaQSmbina8NaAc8S2fgHIdwa8XNaHIdza80NaHIdaMg8Ua8UMMa8XNaHIdla8ZNaHIdCa8XNaHId3Mg8Ua8UMMa8ZNaHIdba80NaHIdxa8ZNaHIdKMg8Ua8UMMa80NaHId8KMMMh8UaqaAa8L2cltfheaHIdyhUaXhHa8LhOinaHIdbg8Wa8WaUNaecxfIdba8XaecwfIdbNa80aeIdbNa8ZaeclfIdbNMMMg8Wa8WM:tNa8UMh8UaHclfhHaeczfheaOcufgOmbka8Va8U:lMh8VaYaAcdtfydbgAaQ9hmbkka5aLfRbbci9hmba8KTmbaYaLcdtfydbgAaLSmba8SagcdtfhXaaaQcx2fgeIdbh8XaeIdwh80aeIdlh8Zina8NaAc8S2fgHIdwa80NaHIdza8XNaHIdaMg8Ua8UMMa80NaHIdla8ZNaHIdCa80NaHId3Mg8Ua8UMMa8ZNaHIdba8XNaHIdxa8ZNaHIdKMg8Ua8UMMa8XNaHId8KMMMh8UaqaAa8L2cltfheaHIdyhUaXhHa8LhOinaHIdbg8Wa8WaUNaecxfIdba80aecwfIdbNa8XaeIdbNa8ZaeclfIdbNMMMg8Wa8WM:tNa8UMh8UaHclfhHaeczfheaOcufgOmbka81a8U:lMh81aYaAcdtfydbgAaL9hmbkkaKa81a8Va81a8V9DgeEUdwaKaQaLaea8Kcb9hGgeEBdlaKaLaQaeEBdbahcefgha8M9hmbkascjdfcbcj;qbz:rjjjb8Aa9shea8MhHinascjdfaeydbcA4cF8FGgOcFAaOcFA6EcdtfgOaOydbcefBdbaecxfheaHcufgHmbkcbhecbhHinascjdfaefgOydbhAaOaHBdbaAaHfhHaeclfgecj;qb9hmbkcbhea9shHinascjdfaHydbcA4cF8FGgOcFAaOcFA6EcdtfgOaOydbgOcefBdba9oaOcdtfaeBdbaHcxfhHa8Maecefge9hmbkadak9RgOci9Uh9tdnalTmbcbheaDhHinaHaeBdbaHclfhHalaecefge9hmbkkcbh9ua9pcbalz:rjjjbh3aOcO9Uh9va9tce4h9wcbh8Acbh8Jdnina8Pa9oa8Jcdtfydbcx2fgEIdwg8Ua889Emea8Aa9t9pmeJFFuuh8Wdna9wa8M9pmba8Pa9oa9wcdtfydbcx2fIdwJbb;aZNh8Wkdna8Ua8W9ETmba8Ua869ETmba8Aa9v0mdkdna3aCaEydlghcdtg9xfydbgAfg9yRbba3aCaEydbg8Kcdtg9zfydbgefg9ARbbVmba5a8KfRbbh9Bdna9maecdtfgHclfydbgOaHydbgHSmbaOaH9RhQaaaAcx2fhKaaaecx2fhXa9qaHcitfhecbhHcehgdnindnaDaeydbcdtfydbgOaASmbaDaeclfydbcdtfydbgLaASmbaOaLSmbaaaLcx2fgLIdbaaaOcx2fgOIdbg8X:tg8UaXIdlaOIdlg80:tg8YNaXIdba8X:tgBaLIdla80:tg8WN:tg8Za8UaKIdla80:tg83NaKIdba8X:tgRa8WN:tg80Na8WaXIdwaOIdwgU:tg8VNa8YaLIdwaU:tg8XN:tg8Ya8WaKIdwaU:tg81Na83a8XN:tg8WNa8XaBNa8Va8UN:tgUa8XaRNa81a8UN:tg8UNMMa8Za8ZNa8Ya8YNaUaUNMMa80a80Na8Wa8WNa8Ua8UNMMN:rJbbj8:N9FmdkaecwfheaHcefgHaQ6hgaQaH9hmbkkagceGTmba9wcefh9wxekdndndndna9Bc9:fPdebdka8KheinaDaecdtgefahBdbaYaefydbgea8K9hmbxikkdna8Fa8Ea8Ea9zfydbahSEaYa9zfydbg8Kcdtfydbgecu9hmbaYa9xfydbhekaDa9zfahBdbaehhkaDa8KcdtfahBdbka9Ace86bba9yce86bbaEIdwg8Ua86a86a8U9DEh86a9ucefh9ucecda9BceSEa8Afh8Aka8Jcefg8Ja8M9hmbkka9uTmddnalTmbcbhLcbhXindnaDaXcdtgefydbgOaXSmbaCaOcdtfydbh8KdnaXaCaefydb9hghmbaya8Kc8S2fgeayaXc8S2fgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdyaITmbaIa8KcltfgeaIaXcltfgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxka8LTmba8NaOc8S2fgea8NaXc8S2ggfgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdya9raO2hKaqhHa8LhAinaHaKfgeaHaLfgOIdbaeIdbMUdbaeclfgQaOclfIdbaQIdbMUdbaecwfgQaOcwfIdbaQIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbkahmbJbbbbJbbjZayagfgeIdyg8U:va8UJbbbb9BEaeIdwaaa8Kcx2fgHIdwg8UNaeIdzaHIdbg8WNaeIdaMg8Xa8XMMa8UNaeIdlaHIdlg8XNaeIdCa8UNaeId3Mg8Ua8UMMa8XNaeIdba8WNaeIdxa8XNaeIdKMg8Ua8UMMa8WNaeId8KMMM:lNg8Ua87a87a8U9DEh87kaLa9rfhLaXcefgXal9hmbkcbhHa8EheindnaeydbgOcuSmbdnaHaDaOcdtgAfydbgO9hmbcuhOa8EaAfydbgAcuSmbaDaAcdtfydbhOkaeaOBdbkaeclfhealaHcefgH9hmbkcbhHa8FheindnaeydbgOcuSmbdnaHaDaOcdtgAfydbgO9hmbcuhOa8FaAfydbgAcuSmbaDaAcdtfydbhOkaeaOBdbkaeclfhealaHcefgH9hmbkka87a86a8LEh87cbhHabhecbhOindnaCaDaeydbcdtfydbgLcdtfydbgAaCaDaeclfydbcdtfydbgKcdtfydbgQSmbaAaCaDaecwfydbcdtfydbg8KcdtfydbgXSmbaQaXSmbabaHcdtfgAaLBdbaAcwfa8KBdbaAclfaKBdbaHcifhHkaecxfheaOcifgOad6mbkdndna9imbaHhdxekdnaHak0mbaHhdxekdna85a879FmbaHhdxekJFFuuh85cbhdabhecbhOindna9ka0aeydbgAcdtfydbcdtfIdbg8Ua879ETmbaeclf8Pdbh9CabadcdtfgQaABdbaQclfa9C83dba8Ua85a85a8U9EEh85adcifhdkaecxfheaOcifgOaH6mbkkadak0mbxdkkascNefabadalaCz:cjjjbkdndnadak0mbadhOxekdna9imbadhOxekdna85a889FmbadhOxekcehLina85Jbb;aZNg8Ua88a8Ua889DEh8XJbbbbh8Udna6Tmba9khea6hHinaeIdbg8Wa8Ua8Wa8X9FEa8Ua8Wa8U9EEh8UaeclfheaHcufgHmbkkJFFuuh85cbhOabhecbhHindna9ka0aeydbgAcdtfydbcdtfIdbg8Wa8X9ETmbaeclf8Pdbh9CabaOcdtfgQaABdbaQclfa9C83dba8Wa85a85a8W9EEh85aOcifhOkaecxfheaHcifgHad6mbkdnaLaOad9hVceGmbadhOxdka8Ua86a86a8U9DEh86aOak9nmecbhLaOhda85a889FmbkkdnamcjjjjdGTmba9pcbalz:rjjjbhLdnaOTmbabheaOhHinaLaeydbgAfa5aAfRbbcl9h86bbaeclfheaHcufgHmbkkascNefabaOalaCz:cjjjbalTmbcbhQasyd:yehgindnaLaQfRbbTmbdna5aQfRbbgecl0mbceaetcQGmekdnaCaQcdtgKfydbgeaQSmbaaaQcx2fgHaaaecx2fge8Pdb83dbaHcwfaecwfydbBdbxekayaQc8S2fgeIdyg8Ua8UJL:3;rUNg8UMh88aeIdwa8UMhRaeIdla8UMh8VaeIdba8UMhUaeIdaa8UaaaQcx2fg8KIdwg89N:th81aeId3a8Ua8KIdlg8:N:th85aeIdKa8KIdbgZa8UN:th8YJbbbbhcaeIdCJbbbbMh87aeIdzJbbbbMhBaeIdxJbbbbMh83dndna8LTmbaQhAinJbbbba88a8NaAc8S2fgHIdyg8U:va8UJbbbb9BEh8UaqaAa8L2cltfheaHIdaa88Na81Mh81aHId3a88Na85Mh85aHIdKa88Na8YMh8YaHIdCa88Na87Mh87aHIdza88NaBMhBaHIdxa88Na83Mh83aHIdwa88NaRMhRaHIdla88Na8VMh8VaHIdba88NaUMhUa8LhHina81aecxfIdbg8ZaecwfIdbg8WNa8UN:th81a85a8ZaeclfIdbg8XNa8UN:th85a87a8Wa8XNa8UN:th87aUaeIdbg80a80Na8UN:thUa8Ya8Za80Na8UN:th8YaBa8Wa80Na8UN:thBa83a8Xa80Na8UN:th83aRa8Wa8WNa8UN:thRa8Va8Xa8XNa8UN:th8VaeczfheaHcufgHmbkaYaAcdtfydbgAaQ9hmbkaITmbaIaQcltfgeIdxhTaeIdwh9caeIdlhJaeIdbh8UxekJbbbbhTJbbbbh9cJbbbbhJJbbbbh8UkaBaU:vg8Xa8YNa81:ta87aBa83aU:vg8WN:tg81a8Va83a8WN:tg8Z:vg80a8Wa8YNa85:tg8VN:th85a9ca8Ua8XN:taJa8Ua8WN:tg83a80N:tg87aRaBa8XN:ta81a80N:tgB:vgR:mh81a83a8Z:vg9c:mhJdnJbbbba8Ua8UaU:vg9eN:ta83a9cN:ta87aRN:tg83:la88J:983:g81Ng8U9ETmba81a85NaJa8VNa9ea8YNaT:tMMa83:vhckaU:la8U9ETmba8Z:la8U9ETmbaB:la8U9ETmba9e:macNa8X:ma81acNa85aB:vMg85Na8W:maJacNa80:ma85Na8Va8Z:vMMg87Na8Y:maU:vMMMh88a9maKfgeclfydbgHaeydbge9RhXagaecitfhKJbbbbh8UdnaHaeSghmbJbbbbh8UaKheaXhAinaaaeclfydbcx2fgHIdwa89:tg8Wa8WNaHIdbaZ:tg8Wa8WNaHIdla8::tg8Wa8WNMMg8Waaaeydbcx2fgHIdwa89:tg8Xa8XNaHIdbaZ:tg8Xa8XNaHIdla8::tg8Xa8XNMMg8Xa8Ua8Ua8X9DEg8Ua8Ua8W9DEh8UaecwfheaAcufgAmbkka85a89:tg8Wa8WNa88aZ:tg8Wa8WNa87a8::tg8Wa8WNMMa8U:rg8Ua8UN9EmbdnahmbcbhAcehhdninaaaKclfydbcx2fgeIdbaaaKydbcx2fgHIdbg8X:tg8Ua8:aHIdlg80:tg8YNaZa8X:tgBaeIdla80:tg8WN:tg8Za8Ua87a80:tg83Na88a8X:tgRa8WN:tg80Na8Wa89aHIdwgU:tg8VNa8YaeIdwaU:tg8XN:tg8Ya8Wa85aU:tg81Na83a8XN:tg8WNa8XaBNa8Va8UN:tgUa8XaRNa81a8UN:tg8UNMMa8Za8ZNa8Ya8YNaUaUNMMa80a80Na8Wa8WNa8Ua8UNMMN:rJbbj8:N9FmeaKcwfhKaAcefgAaX6hhaXaA9hmbkkahceGmeka8Ka85Udwa8Ka87Udla8Ka88UdbkaQcefgQal9hmbkdndna8LTmba8LclthYa8Lcdth8KcbhKa8ShXindnaLaKfRbbTmba5aKfRbbclSmbJbbbbJbbjZa8NaKc8S2fIdyg8U:va8UJbbbb9BEh8UaaaCaKcdtfydbcx2fhHaqheaXhAa8LhQinaAa8UaecwfIdbaHIdwNaeIdbaHIdbNaeclfIdbaHIdlNMMaecxfIdbMNUdbaeczfheaAclfhAaQcufgQmbkkaqaYfhqaXa8KfhXaKcefgKal9hmbkarcd4hXavcd4hYasId:qeh8UasId:meh8WasId1eh8XazTmea8Lcdth8KcbhKindnaLaKfRbbTmbaiazaKcdtfydbgCaY2cdtfgeaaaKcx2fgHIdba8RNa8XMUdbaeaHIdla8RNa8WMUdlaeaHIdwa8RNa8UMUdwaoaCaX2cdtfhQashea8ShHa8LhCinaQaeydbcdtgAfaHIdbawaAfIdb:vUdbaeclfheaHclfhHaCcufgCmbkka8Sa8Kfh8SaKcefgKal9hmbxikkavcd4hCasId:qeh8UasId:meh8WasId1eh8XdnazTmbazheindna9pRbbTmbaiaeydbaC2cdtfgHaaIdba8RNa8XMUdbaHaaclfIdba8RNa8WMUdlaHaacwfIdba8RNa8UMUdwka9pcefh9paeclfheaacxfhaalcufglmbxikkaCcdtheindna9pRbbTmbaiaaIdba8RNa8XMUdbaiclfaaclfIdba8RNa8WMUdbaicwfaacwfIdba8RNa8UMUdbka9pcefh9paacxfhaaiaefhialcufglmbxdkka8Lcdth8KcbhKindnaLaKfRbbTmbaiaKaY2cdtfgeaaaKcx2fgHIdba8RNa8XMUdbaeaHIdla8RNa8WMUdlaeaHIdwa8RNa8UMUdwaoaKaX2cdtfhQashea8ShHa8LhCinaQaeydbcdtgAfaHIdbawaAfIdb:vUdbaeclfheaHclfhHaCcufgCmbkka8Sa8Kfh8SaKcefgKal9hmbkkdnamcjjjjlGTmbazmbaOTmbcbhLabheina5aeydbgAfRbbc3thKaecwfgXydbhHdndna8EaAcdtg8KfydbaeclfgYydbgCSmbcbhQa8FaCcdtfydbaA9hmekcjjjj94hQkaeaKaQVaAVBdba5aCfRbbc3thKdndna8EaCcdtfydbaHSmbcbhQa8FaHcdtfydbaC9hmekcjjjj94hQkaYaKaQVaCVBdba5aHfRbbc3thQdndna8EaHcdtfydbaASmbcbhCa8Fa8KfydbaH9hmekcjjjj94hCkaXaQaCVaHVBdbaecxfheaLcifgLaO6mbkkdnazTmbaOTmbaOheinabazabydbcdtfydbBdbabclfhbaecufgembkkdnaPTmbaPana86:rNUdbkasyd;8egecdtasc:Ceffc98fhHdninaeTmeaHydbcbyd:m:jjjbH:bjjjbbaHc98fhHaecufhexbkkascj;sbf8KjjjjbaOk;Yieouabydlhvabydbclfcbaicdtz:rjjjbhoadci9UhrdnadTmbdnalTmbaehwadhDinaoalawydbcdtfydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbxdkkaehwadhDinaoawydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbkkdnaiTmbcbhDaohwinawydbhqawaDBdbawclfhwaqaDfhDaicufgimbkkdnadci6mbinaecwfydbhwaeclfydbhDaeydbhidnalTmbalawcdtfydbhwalaDcdtfydbhDalaicdtfydbhikavaoaicdtfgqydbcitfaDBdbavaqydbcitfawBdlaqaqydbcefBdbavaoaDcdtfgqydbcitfawBdbavaqydbcitfaiBdlaqaqydbcefBdbavaoawcdtfgwydbcitfaiBdbavawydbcitfaDBdlawawydbcefBdbaecxfhearcufgrmbkkabydbcbBdbk:todDue99aicd4aifhrcehwinawgDcethwaDar6mbkcuaDcdtgraDcFFFFi0Ecbyd1:jjjbHjjjjbbhwaoaoyd9GgqcefBd9GaoaqcdtfawBdbawcFearz:rjjjbhkdnaiTmbalcd4hlaDcufhxcbhminamhDdnavTmbavamcdtfydbhDkcbadaDal2cdtfgDydlgwawcjjjj94SEgwcH4aw7c:F:b:DD2cbaDydbgwawcjjjj94SEgwcH4aw7c;D;O:B8J27cbaDydwgDaDcjjjj94SEgDcH4aD7c:3F;N8N27axGhwamcdthPdndndnavTmbakawcdtfgrydbgDcuSmeadavaPfydbal2cdtfgsIdbhzcehqinaqhrdnadavaDcdtfydbal2cdtfgqIdbaz9CmbaqIdlasIdl9CmbaqIdwasIdw9BmlkarcefhqakawarfaxGgwcdtfgrydbgDcu9hmbxdkkakawcdtfgrydbgDcuSmbadamal2cdtfgsIdbhzcehqinaqhrdnadaDal2cdtfgqIdbaz9CmbaqIdlasIdl9CmbaqIdwasIdw9BmikarcefhqakawarfaxGgwcdtfgrydbgDcu9hmbkkaramBdbamhDkabaPfaDBdbamcefgmai9hmbkkakcbyd:m:jjjbH:bjjjbbaoaoyd9GcufBd9GdnaeTmbaiTmbcbhDaehwinawaDBdbawclfhwaiaDcefgD9hmbkcbhDaehwindnaDabydbgrSmbawaearcdtfgrydbBdbaraDBdbkawclfhwabclfhbaiaDcefgD9hmbkkk:hrdvuv998Jjjjjbca9Rgoczfcwfcbyd11jjbBdbaocb8Pdj1jjb83izaocwfcbydN1jjbBdbaocb8Pd:m1jjb83ibdnadTmbaicd4hrdnabmbdnalTmbcbhwinaealawcdtfydbar2cdtfhDcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkawcefgwad9hmbxikkarcdthwcbhDincbhiinaoczfaifgqaeaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkaeawfheaDcefgDad9hmbxdkkdnalTmbcbhwinabawcx2fgiaealawcdtfydbar2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkawcefgwad9hmbxdkkarcdthlcbhwaehDinabawcx2fgiaeawar2cdtfgqIdbUdbaiaqIdlUdlaiaqIdwUdwcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkaDalfhDawcefgwad9hmbkkJbbbbaoIdbaoIdzgx:tgkakJbbbb9DEgkaoIdlaoIdCgm:tgPaPak9DEgkaoIdwaoIdKgP:tgsasak9DEhsdnabTmbadTmbJbbbbJbbjZas:vasJbbbb9BEhkinabakabIdbax:tNUdbabclfgoakaoIdbam:tNUdbabcwfgoakaoIdbaP:tNUdbabcxfhbadcufgdmbkkdnavTmbavaPUdwavamUdlavaxUdbkask:ZlewudnaeTmbcbhvabhoinaoavBdbaoclfhoaeavcefgv9hmbkkdnaiTmbcbhrinadarcdtfhwcbhDinalawaDcdtgvc:G1jjbfydbcdtfydbcdtfydbhodnabalawavfydbcdtfydbgqcdtfgkydbgvaqSmbinakabavgqcdtfgxydbgvBdbaxhkaqav9hmbkkdnabaocdtfgkydbgvaoSmbinakabavgocdtfgxydbgvBdbaxhkaoav9hmbkkdnaqaoSmbabaqaoaqao0Ecdtfaqaoaqao6EBdbkaDcefgDci9hmbkarcifgrai6mbkkdnaembcbskcbhxindnalaxcdtgvfydbax9hmbaxhodnabavfgDydbgvaxSmbaDhqinaqabavgocdtfgkydbgvBdbakhqaoav9hmbkkaDaoBdbkaxcefgxae9hmbkcbhvabhocbhkindndnavalydbgq9hmbdnavaoydbgq9hmbaoakBdbakcefhkxdkaoabaqcdtfydbBdbxekaoabaqcdtfydbBdbkaoclfhoalclfhlaeavcefgv9hmbkakk;Jiilud99duabcbaecltz:rjjjbhvdnalTmbadhoaihralhwinarcwfIdbhDarclfIdbhqavaoydbcltfgkarIdbakIdbMUdbakclfgxaqaxIdbMUdbakcwfgxaDaxIdbMUdbakcxfgkakIdbJbbjZMUdbaoclfhoarcxfhrawcufgwmbkkdnaeTmbavhraehkinarcxfgoIdbhDaocbBdbararIdbJbbbbJbbjZaD:vaDJbbbb9BEgDNUdbarclfgoaDaoIdbNUdbarcwfgoaDaoIdbNUdbarczfhrakcufgkmbkkdnalTmbinavadydbcltfgrcxfgkaicwfIdbarcwfIdb:tgDaDNaiIdbarIdb:tgDaDNaiclfIdbarclfIdb:tgDaDNMMgDakIdbgqaqaD9DEUdbadclfhdaicxfhialcufglmbkkdnaeTmbavcxfhrinabarIdbUdbarczfhrabclfhbaecufgembkkk8MbabaeadaialavcbcbcbcbcbaoarawaDz:bjjjbk8MbabaeadaialavaoarawaDaqakaxamaPz:bjjjbkRbababaeadaialavaoarawaDaqakaxcjjjjdVamz:bjjjbk:p8Koque99due99iuq998Jjjjjbc;Wb9Rgq8Kjjjjbcbhkaqcxfcbc;Kbz:rjjjb8Aaqcualcx2alc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbgxBdxaqceBd2axaialavcbcbz:ejjjb8AaqcualcdtalcFFFFi0Egmcbyd1:jjjbHjjjjbbgiBdzaqcdBd2dndnJFF959eJbbjZawJbbjZawJbbjZ9DE:vawJ9VO:d869DEgw:lJbbb9p9DTmbaw:OhPxekcjjjj94hPkadci9Uhsarco9UhzdndnaombaPcd9imekdnalTmbaPcuf:YhwdnaoTmbcbhvaihHaxhOindndnaoavfRbbceGTmbavcjjjjlVhAxekdndnaOclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcqthAdndnaOcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaAaXVhAdndnaOIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaAaXcCtVhAkaHaABdbaHclfhHaOcxfhOalavcefgv9hmbxdkkaxhvaihOalhHindndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcCthAdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaXcqtaAVhAdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaOaAaXVBdbavcxfhvaOclfhOaHcufgHmbkkadTmbcbhkaehvcbhOinakaiavclfydbcdtfydbgHaiavcwfydbcdtfydbgA9haiavydbcdtfydbgXaH9haXaA9hGGfhkavcxfhvaOcifgOad6mbkkarci9UhQdndnaz:Z:rJbbbZMgw:lJbbb9p9DTmbaw:Ohvxekcjjjj94hvkaQ:ZhLcbhKc:bwhHdndninashYaHhXaPhrakg8AaQ9pmeaXar9Rcd9imeavaXcufavaX9iEarcefavar9kEhzdnalTmbazcuf:YhwdnaoTmbcbhOaihPaxhvindndnaoaOfRbbceGTmbaOcjjjjlVhHxekdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhHxekcjjjj94hHkaHcqthHdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskaHasVhHdndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskaHascCtVhHkaPaHBdbaPclfhPavcxfhvalaOcefgO9hmbxdkkaxhvaihOalhPindndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhHxekcjjjj94hHkaHcCthHdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskascqtaHVhHdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskaOaHasVBdbavcxfhvaOclfhOaPcufgPmbkkcbhOdnadTmbaehvcbhPinaOaiavclfydbcdtfydbgHaiavcwfydbcdtfydbgs9haiavydbcdtfydbgAaH9haAas9hGGfhOavcxfhvaPcifgPad6mbkkaYhsaOhkaXhHazhPdnaOaQ9nmbaOhsa8AhkazhHarhPkdndnaKcl0mbdnaY:Zgwa8A:ZgC:taz:YgEar:Y:tg3aEaX:Y:tg5aO:Zg8EaL:tNNNawaL:ta5NaCa8E:tNaCaL:ta3Na8Eaw:tNM:vaEMJbbbZMgw:lJbbb9p9DTmbaw:Ohvxdkcjjjj94hvxekaPaHfcd9ThvkaKcefgKcs9hmbxdkka8AhkarhPkdndndnakmbJbbjZhwcbhicdhvaDmexdkalcd4alfhHcehOinaOgvcethOavaH6mbkcbhOaqcuavcdtgravcFFFFi0Ecbyd1:jjjbHjjjjbbgzBdCaqciBd2aqamcbyd1:jjjbHjjjjbbgXBdKaqclBd2dndndndnalTmbaPcuf:YhwaoTmecbhOaihHaxhPindndnaoaOfRbbceGTmbaOcjjjjlVhsxekdndnaPclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskascqthsdndnaPcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkasaAVhsdndnaPIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkasaAcCtVhskaHasBdbaHclfhHaPcxfhPalaOcefgO9hmbxikkazcFearz:rjjjb8AcbhrcbhvxdkaxhOaihPalhHindndnaOIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskascCthsdndnaOclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcqtasVhsdndnaOcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaPasaAVBdbaOcxfhOaPclfhPaHcufgHmbkkazcFearz:rjjjbhAavcufhocbhrcbhzindndndnaAaiazcdtgKfydbgHcm4aH7c:v;t;h;Ev2gvcs4av7aoGgPcdtfgsydbgOcuSmbcehvinaiaOcdtgOfydbaHSmdaPavfhOavcefhvaAaOaoGgPcdtfgsydbgOcu9hmbkkasazBdbarhvarcefhrxekaXaOfydbhvkaXaKfavBdbazcefgzal9hmbkcuarc8S2gOarc;D;O;f8U0EhvkcbhAaqavcbyd1:jjjbHjjjjbbgvBd3aqcvBd2avcbaOz:rjjjbhOdnadTmbaehiinJbbnnJbbjZaXaiydbgHcdtfydbgvaXaiclfydbgPcdtfydbgzSavaXaicwfydbgscdtfydbgKSGgoEh8FdnaxaPcx2fgPIdbaxaHcx2fgHIdbg8E:tgCaxascx2fgsIdlaHIdlg3:tgwNasIdba8E:tgEaPIdla3:tgaN:tgLaLNaaasIdwaHIdwg5:tghNawaPIdwa5:tgaN:tgwawNaaaENahaCN:tgCaCNMM:rgEJbbbb9ETmbaLaE:vhLaCaE:vhCawaE:vhwkaOavc8S2fgvavIdbawa8FaE:rNgEawNNgaMUdbavaCaEaCNghNggavIdlMUdlavaLaEaLNg8FNg8JavIdwMUdwavahawNghavIdxMUdxava8FawNg8KavIdzMUdzava8FaCNg8FavIdCMUdCavawaEaLa5Nawa8ENa3aCNMM:mg3Ng8ENgwavIdKMUdKavaCa8ENgCavId3MUd3avaLa8ENgLavIdaMUdaava8Ea3Ng8EavId8KMUd8KavaEavIdyMUdydnaombaOazc8S2fgvaaavIdbMUdbavagavIdlMUdlava8JavIdwMUdwavahavIdxMUdxava8KavIdzMUdzava8FavIdCMUdCavawavIdKMUdKavaCavId3MUd3avaLavIdaMUdaava8EavId8KMUd8KavaEavIdyMUdyaOaKc8S2fgvaaavIdbMUdbavagavIdlMUdlava8JavIdwMUdwavahavIdxMUdxava8KavIdzMUdzava8FavIdCMUdCavawavIdKMUdKavaCavId3MUd3avaLavIdaMUdaava8EavId8KMUd8KavaEavIdyMUdykaicxfhiaAcifgAad6mbkkcbhHaqcuarcdtgvarcFFFFi0Egicbyd1:jjjbHjjjjbbgPBdaaqcoBd2aqaicbyd1:jjjbHjjjjbbgiBd8KaqcrBd2aPcFeavz:rjjjbhzdnalTmbaXhPinJbbbbJbbjZaOaPydbgsc8S2fgvIdygw:vawJbbbb9BEavIdwaxcwfIdbgwNavIdzaxIdbgCNavIdaMgLaLMMawNavIdlaxclfIdbgLNavIdCawNavId3MgwawMMaLNavIdbaCNavIdxaLNavIdKMgwawMMaCNavId8KMMM:lNhwdndnazascdtgvfgsydbcuSmbaiavfIdbaw9ETmekasaHBdbaiavfawUdbkaPclfhPaxcxfhxalaHcefgH9hmbkkJbbbbhwdnarTmbinaiIdbgCawawaC9DEhwaiclfhiarcufgrmbkkakcd4akfhOcehiinaigvcethiavaO6mbkcbhiaqcuavcdtgOavcFFFFi0Ecbyd1:jjjbHjjjjbbgPBdyaPcFeaOz:rjjjbhsdnadTmbavcufhAcbhrcbhxindnaXaeaxcdtfgvydbcdtfydbgiaXavclfydbcdtfydbgOSmbaiaXavcwfydbcdtfydbgvSmbaOavSmbazavcdtfydbhHdndnazaOcdtfydbgvazaicdtfydbgi9pmbavaH9pmbaHhlaihoavhHxekdnaHai9pmbaHav9pmbaihlavhoxekavhlaHhoaihHkabarcx2fgvaHBdbavcwfaoBdbavclfalBdbdnasaoc:3F;N8N2alc:F:b:DD27aHc;D;O:B8J27aAGgOcdtfgvydbgicuSmbcehPinaPhvdnabaicx2fgiydbaH9hmbaiydlal9hmbaiydwaoSmikavcefhPasaOavfaAGgOcdtfgvydbgicu9hmbkkavarBdbarcefhrkaxcifgxad6mbkarci2hikdnaDmbcwhvxdkaw:rhwcwhvkaDawUdbkavcdthvdninavTmeavc98fgvaqcxffydbcbyd:m:jjjbH:bjjjbbxbkkaqc;Wbf8Kjjjjbaik:2ldwue9:8Jjjjjbc;Wb9Rgr8Kjjjjbcbhwarcxfcbc;Kbz:rjjjb8AdnabaeSmbabaeadcdtz:qjjjb8AkarcualcdtalcFFFFi0EgDcbyd1:jjjbHjjjjbbgqBdxarceBd2aqcbaialavcbarcxfz:djjjbcualcx2alc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbhkarcxfaryd2gxcdtgmfakBdbaraxcefgPBd2akaialavcbcbz:ejjjb8AarcxfaPcdtfaDcbyd1:jjjbHjjjjbbgvBdbaraxcdfgiBd2arcxfaicdtfcuavalaeadaqz:fjjjbgecltaecjjjjiGEcbyd1:jjjbHjjjjbbgiBdbaiaeavakalz:gjjjbdnadTmbaoaoNhocbhwabhlcbhkindnaiavalydbgecdtfydbcdtfIdbao9ETmbalclf8PdbhsabawcdtfgqaeBdbaqclfas83dbawcifhwkalcxfhlakcifgkad6mbkkaxcifhlamarcxffcwfhkdninalTmeakydbcbyd:m:jjjbH:bjjjbbakc98fhkalcufhlxbkkarc;Wbf8Kjjjjbawk:FCoDud99rue99iul998Jjjjjbc;Wb9Rgw8KjjjjbdndnarmbcbhDxekawcxfcbc;Kbz:rjjjb8Aawcuadcx2adc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbgqBdxawceBd2aqaeadaicbcbz:ejjjb8AawcuadcdtadcFFFFi0Egkcbyd1:jjjbHjjjjbbgxBdzawcdBd2adcd4adfhmceheinaegicetheaiam6mbkcbhPawcuaicdtgsaicFFFFi0Ecbyd1:jjjbHjjjjbbgzBdCawciBd2dndnar:ZgH:rJbbbZMgO:lJbbb9p9DTmbaO:Ohexekcjjjj94hekaicufhAc:bwhmcbhCadhXcbhQinaChLaeamgKcufaeaK9iEaPgDcefaeaD9kEhYdndnadTmbaYcuf:YhOaqhiaxheadhmindndnaiIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcCthCdndnaiclfIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhExekcjjjj94hEkaEcqtaCVhCdndnaicwfIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhExekcjjjj94hEkaeaCaEVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:rjjjbh3cbh5cbhPindna3axaPcdtfydbgCcm4aC7c:v;t;h;Ev2gics4ai7aAGgmcdtfgEydbgecuSmbaeaCSmbcehiina3amaifaAGgmcdtfgEydbgecuSmeaicefhiaeaC9hmbkkaEaCBdba5aecuSfh5aPcefgPad9hmbxdkkazcFeasz:rjjjb8Acbh5kaDaYa5ar0giEhPaLa5aiEhCdna5arSmbaYaKaiEgmaP9Rcd9imbdndnaQcl0mbdnaX:ZgOaL:Zg8A:taY:Yg8EaD:Y:tg8Fa8EaK:Y:tgaa5:ZghaH:tNNNaOaH:taaNa8Aah:tNa8AaH:ta8FNahaO:tNM:va8EMJbbbZMgO:lJbbb9p9DTmbaO:Ohexdkcjjjj94hexekaPamfcd9Theka5aXaiEhXaQcefgQcs9hmekkdndnaCmbcihicbhDxekcbhiawakcbyd1:jjjbHjjjjbbg5BdKawclBd2aPcuf:Yh8AdndnadTmbaqhiaxheadhmindndnaiIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhCxekcjjjj94hCkaCcCthCdndnaiclfIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaEcqtaCVhCdndnaicwfIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaeaCaEVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:rjjjbh3cbhDcbhYindndndna3axaYcdtgKfydbgCcm4aC7c:v;t;h;Ev2gics4ai7aAGgmcdtfgEydbgecuSmbcehiinaxaecdtgefydbaCSmdamaifheaicefhia3aeaAGgmcdtfgEydbgecu9hmbkkaEaYBdbaDhiaDcefhDxeka5aefydbhika5aKfaiBdbaYcefgYad9hmbkcuaDc32giaDc;j:KM;jb0EhexekazcFeasz:rjjjb8AcbhDcbhekawaecbyd1:jjjbHjjjjbbgeBd3awcvBd2aecbaiz:rjjjbhEavcd4hKdnadTmbdnalTmbaKcdth3a5hCaqhealhmadhAinaEaCydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiamIdbaiIdxMUdxaiamclfIdbaiIdzMUdzaiamcwfIdbaiIdCMUdCaiaiIdKJbbjZMUdKaCclfhCaecxfheama3fhmaAcufgAmbxdkka5hmaqheadhCinaEamydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiaiIdxJbbbbMUdxaiaiIdzJbbbbMUdzaiaiIdCJbbbbMUdCaiaiIdKJbbjZMUdKamclfhmaecxfheaCcufgCmbkkdnaDTmbaEhiaDheinaiaiIdbJbbbbJbbjZaicKfIdbgO:vaOJbbbb9BEgONUdbaiclfgmaOamIdbNUdbaicwfgmaOamIdbNUdbaicxfgmaOamIdbNUdbaiczfgmaOamIdbNUdbaicCfgmaOamIdbNUdbaic3fhiaecufgembkkcbhCawcuaDcdtgYaDcFFFFi0Egicbyd1:jjjbHjjjjbbgeBdaawcoBd2awaicbyd1:jjjbHjjjjbbg3Bd8KaecFeaYz:rjjjbhxdnadTmbJbbjZJbbjZa8A:vaPceSEaoNgOaONh8AaKcdthPalheina8Aaec;81jjbalEgmIdwaEa5ydbgAc32fgiIdC:tgOaONamIdbaiIdx:tgOaONamIdlaiIdz:tgOaONMMNaqcwfIdbaiIdw:tgOaONaqIdbaiIdb:tgOaONaqclfIdbaiIdl:tgOaONMMMhOdndnaxaAcdtgifgmydbcuSmba3aifIdbaO9ETmekamaCBdba3aifaOUdbka5clfh5aqcxfhqaeaPfheadaCcefgC9hmbkkabaxaYz:qjjjb8AcrhikaicdthiinaiTmeaic98fgiawcxffydbcbyd:m:jjjbH:bjjjbbxbkkawc;Wbf8KjjjjbaDk:Ydidui99ducbhi8Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdndnaembJbbjFhvJbbjFhoJbbjFhrxekadcd4cdthwincbhdinalczfadfgDabadfIdbgvaDIdbgoaoav9EEUdbaladfgDavaDIdbgoaoav9DEUdbadclfgdcx9hmbkabawfhbaicefgiae9hmbkalIdwalIdK:thralIdlalIdC:thoalIdbalIdz:thvkJbbbbavavJbbbb9DEgvaoaoav9DEgvararav9DEk9DeeuabcFeaicdtz:rjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd:q:jjjbgeabcifc98GfgbBd:q:jjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:q:jjjbgeabcrfc94GfgbBd:q:jjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:q:jjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:q:jjjbfgdBd:q:jjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk:Iedbcjwk1eFFuuFFuuFFuuFFuFFFuFFFuFbbbbbbbbebbbdbbbbbbbebbbebbbdbbbbbbbbbbbeeeeebebbebbebebbbeebbbbbbbbbbbbeeeeeebebbeeebeebbbbebebbbbbbbbbbbbbbbbbbc1Dkxebbbdbbb:GNbb"),{}).then(function(E){(B=E.instance).exports.__wasm_call_ctors()});function I(E){if(!E)throw new Error("Assertion failed")}function Q(E){return new Uint8Array(E.buffer,E.byteOffset,E.byteLength)}function C(E,i,t,e,o,s,n,r){var c=B.exports.sbrk,D=c(4*r),w=c(t*e),h=c(t*s),d=new Uint8Array(B.exports.memory.buffer);d.set(Q(i),w),o&&d.set(Q(o),h);var f=E(D,w,t,e,h,s,n,r);new Uint8Array(B.exports.memory.buffer);var p=new Uint32Array(f);return Q(p).set(d.subarray(D,D+4*f)),c(D-c(0)),p}var a={LockBorder:1,Sparse:2,ErrorAbsolute:4,Prune:8,Regularize:16,Permissive:32,_InternalDebug:1<<30}})(),function(){var B,A=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var g=WebAssembly.instantiate(function(a){for(var E=new Uint8Array(a.length),i=0;i<a.length;++i){var t=a.charCodeAt(i);E[i]=t>96?t-97:t>64?t-39:t+4}var e=0;for(i=0;i<a.length;++i)E[e++]=E[i]<60?A[E[i]]:64*(E[i]-60)+E[++i];return E.buffer.slice(0,e)}("b9H79TebbbeVx9Geueu9Geub9Gbb9Giuuueu9Gmuuuuuuuuuuu9999eu9Gvuuuuueu9Gwuuuuuuuub9Gxuuuuuuuuuuuueu9Gkuuuuuuuuuu99eu9Gouuuuuub9Gruuuuuuub9GluuuubiAOdilvorwDqqDkbiibeilve9Weiiviebeoweuec;G:Odkr;qeDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9I919P29K9nW79O2Wt79c9V919U9KbeX9TW79O9V9Wt9F9I919P29K9nW79O2Wt7bo39TW79O9V9Wt9F9J9V9T9W91tWJ2917tWV9c9V919U9K7br39TW79O9V9Wt9F9J9V9T9W91tW9nW79O2Wt9c9V919U9K7bDE9TW79O9V9Wt9F9J9V9T9W91tW9t9W9OWVW9c9V919U9K7bqL9TW79O9V9Wt9F9V9Wt9P9T9P96W9nW79O2Wtbkl79IV9RbxDwebcekdszq:x9DOdbkIbabaec9:fgefcufae9Ugeabci9Uadfcufad9Ugbaeab0Ek:w8KDPue99eux99dui99euo99iu8Jjjjjbc:WD9Rgm8KjjjjbdndnalmbcbhPxekamc:Cwfcbc;Kbz:ojjjb8Adndnalcb9imbaoal9nmbamcuaocdtaocFFFFi0Egscbyd;u1jjbHjjjjbbgzBd:CwamceBd;8wamascbyd;u1jjbHjjjjbbgHBd:GwamcdBd;8wamcualcdtalcFFFFi0Ecbyd;u1jjbHjjjjbbgOBd:KwamciBd;8waihsalhAinazasydbcdtfcbBdbasclfhsaAcufgAmbkaihsalhAinazasydbcdtfgCaCydbcefBdbasclfhsaAcufgAmbkaihsalhCcbhXindnazasydbcdtgQfgAydbcb9imbaHaQfaXBdbaAaAydbgQcjjjj94VBdbaQaXfhXkasclfhsaCcufgCmbkalci9UhLdnalci6mbcbhsaihAinaAcwfydbhCaAclfydbhXaHaAydbcdtfgQaQydbgQcefBdbaOaQcdtfasBdbaHaXcdtfgXaXydbgXcefBdbaOaXcdtfasBdbaHaCcdtfgCaCydbgCcefBdbaOaCcdtfasBdbaAcxfhAaLascefgs9hmbkkaihsalhAindnazasydbcdtgCfgXydbgQcu9kmbaXaQcFFFFrGgQBdbaHaCfgCaCydbaQ9RBdbkasclfhsaAcufgAmbxdkkamcuaocdtgsaocFFFFi0EgAcbyd;u1jjbHjjjjbbgzBd:CwamceBd;8wamaAcbyd;u1jjbHjjjjbbgHBd:GwamcdBd;8wamcualcdtalcFFFFi0Ecbyd;u1jjbHjjjjbbgOBd:KwamciBd;8wazcbasz:ojjjbhXalci9UhLaihsalhAinaXasydbcdtfgCaCydbcefBdbasclfhsaAcufgAmbkdnaoTmbcbhsaHhAaXhCaohQinaAasBdbaAclfhAaCydbasfhsaCclfhCaQcufgQmbkkdnalci6mbcbhsaihAinaAcwfydbhCaAclfydbhQaHaAydbcdtfgKaKydbgKcefBdbaOaKcdtfasBdbaHaQcdtfgQaQydbgQcefBdbaOaQcdtfasBdbaHaCcdtfgCaCydbgCcefBdbaOaCcdtfasBdbaAcxfhAaLascefgs9hmbkkaoTmbcbhsaohAinaHasfgCaCydbaXasfydb9RBdbasclfhsaAcufgAmbkkamaLcbyd;u1jjbHjjjjbbgsBd:OwamclBd;8wascbaLz:ojjjbhYamcuaLcK2alcjjjjd0Ecbyd;u1jjbHjjjjbbg8ABd:SwamcvBd;8wJbbbbhEdnalci6g3mbarcd4hKaihAa8AhsaLhrJbbbbh5inavaAclfydbaK2cdtfgCIdlh8EavaAydbaK2cdtfgXIdlhEavaAcwfydbaK2cdtfgQIdlh8FaCIdwhaaXIdwhhaQIdwhgasaCIdbg8JaXIdbg8KMaQIdbg8LMJbbnn:vUdbasclfaXIdlaCIdlMaQIdlMJbbnn:vUdbaQIdwh8MaCIdwh8NaXIdwhyascxfa8EaE:tg8Eagah:tggNa8FaE:tg8Faaah:tgaN:tgEJbbbbJbbjZa8Ja8K:tg8Ja8FNa8La8K:tg8Ka8EN:tghahNaEaENaaa8KNaga8JN:tgEaENMM:rg8K:va8KJbbbb9BEg8ENUdbasczfaEa8ENUdbascCfaha8ENUdbascwfa8Maya8NMMJbbnn:vUdba5a8KMh5aAcxfhAascKfhsarcufgrmbka5aL:Z:vJbbbZNhEkamcuaLcdtalcFFFF970Ecbyd;u1jjbHjjjjbbgCBd:WwamcoBd;8waEaq:ZNhEdna3mbcbhsaChAinaAasBdbaAclfhAaLascefgs9hmbkkaE:rhhcuh8PamcuaLcltalcFFFFd0Ecbyd;u1jjbHjjjjbbgIBd:0wamcrBd;8wcbaIa8AaCaLz:djjjb8AJFFuuhyJFFuuh8RJFFuuh8Sdnalci6gXmbJFFuuh8Sa8AhsaLhAJFFuuh8RJFFuuhyinascwfIdbgEayayaE9EEhyasclfIdbgEa8Ra8RaE9EEh8RasIdbgEa8Sa8SaE9EEh8SascKfhsaAcufgAmbkkahJbbbZNhgamaocetgscuaocu9kEcbyd;u1jjbHjjjjbbgABd:4waAcFeasz:ojjjbhCdnaXmbcbhAJFFuuhEa8Ahscuh8PinascwfIdbay:tghahNasIdba8S:tghahNasclfIdba8R:tghahNMM:rghaEa8PcuSahaE9DVgXEhEaAa8PaXEh8PascKfhsaLaAcefgA9hmbkkamczfcbcjwz:ojjjb8Aamcwf9cb83ibam9cb83ibagaxNhRJbbjZak:th8Ncbh8UJbbbbh8VJbbbbh8WJbbbbh8XJbbbbh8YJbbbbh8ZJbbbbh80cbh81cbhPinJbbbbhEdna8UTmbJbbjZa8U:Z:vhEkJbbbbhhdna80a80Na8Ya8YNa8Za8ZNMMg8KJbbbb9BmbJbbjZa8K:r:vhhka8XaENh5a8WaENh8Fa8VaENhaa8PhQdndndndndna8UaPVTmbamydwgBTmea80ahNh8Ja8ZahNh8La8YahNh8Maeamydbcdtfh83cbh3JFFuuhEcvhXcuhQindnaza83a3cdtfydbcdtgsfydbgvTmbaOaHasfydbcdtfhAindndnaCaiaAydbgKcx2fgsclfydbgrcetf8Vebcs4aCasydbgLcetf8Vebcs4faCascwfydbglcetf8Vebcs4fgombcbhsxekcehsazaLcdtfydbgLceSmbcehsazarcdtfydbgrceSmbcehsazalcdtfydbglceSmbdnarcdSaLcdSfalcdSfcd6mbaocefhsxekaocdfhskdnasaX9kmba8AaKcK2fgLIdwa5:thhaLIdla8F:th8KaLIdbaa:th8EdndnakJbbbb9DTmba8E:lg8Ea8K:lg8Ka8Ea8K9EEg8Kah:lgha8Kah9EEag:vJbbjZMhhxekahahNa8Ea8ENa8Ka8KNMM:rag:va8NNJbbjZMJ9VO:d86JbbjZaLIdCa8JNaLIdxa8MNa8LaLIdzNMMakN:tghahJ9VO:d869DENhhkaKaQasaX6ahaE9DVgLEhQasaXaLEhXahaEaLEhEkaAclfhAavcufgvmbkka3cefg3aB9hmbkkaQcu9hmekama5Ud:ODama8FUd:KDamaaUd:GDamcuBd:qDamcFFF;7rBdjDaIcba8AaYamc:GDfakJbbbb9Damc:qDfamcjDfz:ejjjbamyd:qDhQdndnaxJbbbb9ETmba8UaD6mbaQcuSmeceh3amIdjDaR9EmixdkaQcu9hmekdna8UTmbdnamydlgza8Uci2fgsciGTmbadasfcba8Uazcu7fciGcefz:ojjjb8AkabaPcltfgzam8Pib83dbazcwfamcwf8Pib83dbaPcefhPkc3hzinazc98Smvamc:Cwfazfydbcbyd;y1jjbH:bjjjbbazc98fhzxbkkcbh3a8Uaq9pmbamydwaCaiaQcx2fgsydbcetf8Vebcs4aCascwfydbcetf8Vebcs4faCasclfydbcetf8Vebcs4ffaw9nmekcbhscbhAdna81TmbcbhAamczfhXinamczfaAcdtfaXydbgLBdbaXclfhXaAaYaLfRbbTfhAa81cufg81mbkkamydwhlamydbhXam9cu83i:GDam9cu83i:ODam9cu83i:qDam9cu83i:yDaAc;8eaAclfc:bd6Eh81inamcjDfasfcFFF;7rBdbasclfgscz9hmbka81cdthBdnalTmbaeaXcdtfhocbhrindnazaoarcdtfydbcdtgsfydbgvTmbaOaHasfydbcdtfhAcuhLcuhsinazaiaAydbgKcx2fgXclfydbcdtfydbazaXydbcdtfydbfazaXcwfydbcdtfydbfgXasaXas6gXEhsaKaLaXEhLaAclfhAavcufgvmbkaLcuSmba8AaLcK2fgAIdway:tgEaENaAIdba8S:tgEaENaAIdla8R:tgEaENMM:rhEcbhAindndnasamc:qDfaAfgvydbgX6mbasaX9hmeaEamcjDfaAfIdb9FTmekavasBdbamc:GDfaAfaLBdbamcjDfaAfaEUdbxdkaAclfgAcz9hmbkkarcefgral9hmbkkamczfaBfhLcbhscbhAindnamc:GDfasfydbgXcuSmbaLaAcdtfaXBdbaAcefhAkasclfgscz9hmbkaAa81fg81TmbJFFuuhhcuhKamczfhsa81hvcuhLina8AasydbgXcK2fgAIdway:tgEaENaAIdba8S:tgEaENaAIdla8R:tgEaENMM:rhEdndnazaiaXcx2fgAclfydbcdtfydbazaAydbcdtfydbfazaAcwfydbcdtfydbfgAaL6mbaAaL9hmeaEah9DTmekaEhhaAhLaXhKkasclfhsavcufgvmbkaKcuSmbaKhQkdnamaiaQcx2fgrydbarclfydbarcwfydbaCabaeadaPawaqa3z:fjjjbTmbaPcefhPJbbbbh8VJbbbbh8WJbbbbh8XJbbbbh8YJbbbbh8ZJbbbbh80kcbhXinaOaHaraXcdtfydbcdtgAfydbcdtfgKhsazaAfgvydbgLhAdnaLTmbdninasydbaQSmeasclfhsaAcufgATmdxbkkasaKaLcdtfc98fydbBdbavavydbcufBdbkaXcefgXci9hmbka8AaQcK2fgsIdbhEasIdlhhasIdwh8KasIdxh8EasIdzh5asIdCh8FaYaQfce86bba80a8FMh80a8Za5Mh8Za8Ya8EMh8Ya8Xa8KMh8Xa8WahMh8Wa8VaEMh8Vamydxh8Uxbkkamc:WDf8KjjjjbaPk;Vvivuv99lu8Jjjjjbca9Rgv8Kjjjjbdndnalcw0mbaiydbhoaeabcitfgralcdtcufBdlaraoBdbdnalcd6mbaiclfhoalcufhwarcxfhrinaoydbhDarcuBdbarc98faDBdbarcwfhraoclfhoawcufgwmbkkalabfhrxekcbhDavczfcwfcbBdbav9cb83izavcwfcbBdbav9cb83ibJbbjZhqJbbjZhkinadaiaDcdtfydbcK2fhwcbhrinavczfarfgoawarfIdbgxaoIdbgm:tgPakNamMgmUdbavarfgoaPaxam:tNaoIdbMUdbarclfgrcx9hmbkJbbjZaqJbbjZMgq:vhkaDcefgDal9hmbkcbhoadcbcecdavIdlgxavIdwgm9GEgravIdbgPam9GEaraPax9GEgscdtgrfhzavczfarfIdbhxaihralhwinaiaocdtfgDydbhHaDarydbgOBdbaraHBdbarclfhraoazaOcK2fIdbax9Dfhoawcufgwmbkaeabcitfhrdndnaocv6mbaoalc98f6mekaraiydbBdbaralcdtcufBdlaiclfhoalcufhwarcxfhrinaoydbhDarcuBdbarc98faDBdbarcwfhraoclfhoawcufgwmbkalabfhrxekaraxUdbararydlc98GasVBdlabcefaeadaiaoz:djjjbhwararydlciGawabcu7fcdtVBdlawaeadaiaocdtfalao9Rz:djjjbhrkavcaf8Kjjjjbark:;idiud99dndnabaecitfgwydlgDciGgqciSmbinabcbaDcd4gDalaqcdtfIdbawIdb:tgkJbbbb9FEgwaecefgefadaialavaoarz:ejjjbak:larIdb9FTmdabawaD7aefgecitfgwydlgDciGgqci9hmbkkabaecitfgeclfhbdnavmbcuhwindnaiaeydbgDfRbbmbadaDcK2fgqIdwalIdw:tgkakNaqIdbalIdb:tgkakNaqIdlalIdl:tgkakNMM:rgkarIdb9DTmbarakUdbaoaDBdbkaecwfheawcefgwabydbcd46mbxdkkcuhwindnaiaeydbgDfRbbmbadaDcK2fgqIdbalIdb:t:lgkaqIdlalIdl:t:lgxakax9EEgkaqIdwalIdw:t:lgxakax9EEgkarIdb9DTmbarakUdbaoaDBdbkaecwfheawcefgwabydbcd46mbkkk;llevudnabydwgxaladcetfgm8Vebcs4alaecetfgP8Vebgscs4falaicetfgz8Vebcs4ffaD0abydxaq9pVakVgDce9hmbavawcltfgxab8Pdb83dbaxcwfabcwfgx8Pdb83dbdnaxydbgqTmbaoabydbcdtfhxaqhsinalaxydbcetfcFFi87ebaxclfhxascufgsmbkkdnabydxglci2gsabydlgxfgkciGTmbarakfcbalaxcu7fciGcefz:ojjjb8Aabydxci2hsabydlhxabydwhqkab9cb83dwababydbaqfBdbabascifc98GaxfBdlaP8Vebhscbhxkdnascztcz91cu9kmbabaxcefBdwaPax87ebaoabydbcdtfaxcdtfaeBdbkdnam8Uebcu9kmbababydwgxcefBdwamax87ebaoabydbcdtfaxcdtfadBdbkdnaz8Uebcu9kmbababydwgxcefBdwazax87ebaoabydbcdtfaxcdtfaiBdbkarabydlfabydxci2faPRbb86bbarabydlfabydxci2fcefamRbb86bbarabydlfabydxci2fcdfazRbb86bbababydxcefBdxaDk8LbabaeadaialavaoarawaDaDaqJbbbbz:cjjjbk;Nkovud99euv99eul998Jjjjjbc:W;ae9Rgo8KjjjjbdndnadTmbavcd4hrcbhwcbhDindnaiaeclfydbar2cdtfgvIdbaiaeydbar2cdtfgqIdbgk:tgxaiaecwfydbar2cdtfgmIdlaqIdlgP:tgsNamIdbak:tgzavIdlaP:tgPN:tgkakNaPamIdwaqIdwgH:tgONasavIdwaH:tgHN:tgPaPNaHazNaOaxN:tgxaxNMM:rgsJbbbb9Bmbaoc:W:qefawcx2fgAakas:vUdwaAaxas:vUdlaAaPas:vUdbaoc8Wfawc8K2fgAaq8Pdb83dbaAav8Pdb83dxaAam8Pdb83dKaAcwfaqcwfydbBdbaAcCfavcwfydbBdbaAcafamcwfydbBdbawcefhwkaecxfheaDcifgDad6mbkab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbawTmeaocbBd8Sao9cb83iKao9cb83izaoczfaoc8Wfawci2cxaoc8Sfcbcrz1jjjbaoIdKhCaoIdChXaoIdzhQao9cb83iwao9cb83ibaoaoc:W:qefawcxaoc8Sfcbciz1jjjbJbbjZhkaoIdwgPJbbbbJbbjZaPaPNaoIdbgPaPNaoIdlgsasNMM:rgx:vaxJbbbb9BEgzNhxasazNhsaPazNhzaoc:W:qefheawhvinaecwfIdbaxNaeIdbazNasaeclfIdbNMMgPakaPak9DEhkaecxfheavcufgvmbkabaCUdwabaXUdlabaQUdbabaoId3UdxdndnakJ;n;m;m899FmbJbbbbhPaoc:W:qefheaoc8WfhvinaCavcwfIdb:taecwfIdbgHNaQavIdb:taeIdbgONaXavclfIdb:taeclfIdbgLNMMaxaHNazaONasaLNMM:vgHaPaHaP9EEhPavc8KfhvaecxfheawcufgwmbkabaxUd8KabasUdaabazUd3abaCaxaPN:tUdKabaXasaPN:tUdCabaQazaPN:tUdzabJbbjZakakN:t:rgkUdydndnaxJbbj:;axJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;axJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohexekcjjjj94hekabae86b8UdndnasJbbj:;asJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;asJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkabav86bRdndnazJbbj:;azJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;azJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohqxekcjjjj94hqkabaq86b8SdndnaecKtcK91:YJbb;:9c:vax:t:lavcKtcK91:YJbb;:9c:vas:t:laqcKtcK91:YJbb;:9c:vaz:t:lakMMMJbb;:9cNJbbjZMgk:lJbbb9p9DTmbak:Ohexekcjjjj94hekaecFbaecFb9iEhexekabcjjj;8iBdycFbhekabae86b8Vxekab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbkaoc:W;aef8Kjjjjbk;Iwwvul99iud99eue99eul998Jjjjjbcje9Rgr8Kjjjjbavcd4hwaicd4hDdndnaoTmbarc;abfcbaocdtgvz:ojjjb8Aarc;Gbfcbavz:ojjjb8AarhvarcafhiaohqinavcFFF97BdbaicFFF;7rBdbaiclfhiavclfhvaqcufgqmbkdnadTmbcbhkinaeakaD2cdtfgvIdwhxavIdlhmavIdbhPalakaw2cdtfIdbhsarc;abfhzarhiarc;GbfhHarcafhqcj1jjbhvaohOinasavcwfIdbaxNavIdbaPNavclfIdbamNMMgAMhCakhXdnaAas:tgAaqIdbgQ9DgLmbaHydbhXkaHaXBdbakhXdnaCaiIdbgK9EmbazydbhXaKhCkazaXBdbaiaCUdbaqaAaQaLEUdbavcxfhvaqclfhqaHclfhHaiclfhiazclfhzaOcufgOmbkakcefgkad9hmbkkadThkJbbbbhCcbhXarc;abfhvarc;Gbfhicbhqinalavydbgzaw2cdtfIdbalaiydbgHaw2cdtfIdbaeazaD2cdtfgzIdwaeaHaD2cdtfgHIdw:tgsasNazIdbaHIdb:tgsasNazIdlaHIdl:tgsasNMM:rMMgsaCasaC9EgzEhCaqaXazEhXaiclfhiavclfhvaoaqcefgq9hmbkaCJbbbZNhKxekadThkcbhXJbbbbhKkJbbbbhCdnaearc;abfaXcdtgifydbgqaD2cdtfgvIdwaearc;GbfaifydbgzaD2cdtfgiIdwgm:tgsasNavIdbaiIdbgY:tgAaANavIdlaiIdlgP:tgQaQNMM:rgxJbbbb9ETmbaxalaqaw2cdtfIdbMalazaw2cdtfIdb:taxaxM:vhCkasaCNamMhmaQaCNaPMhPaAaCNaYMhYdnakmbaDcdthvawcdthiindnalIdbg8AaecwfIdbam:tgCaCNaeIdbaY:tgsasNaeclfIdbaP:tgAaANMM:rgQMgEaK9ETmbJbbbbhxdnaQJbbbb9ETmbaEaK:taQaQM:vhxkaxaCNamMhmaxaANaPMhPaxasNaYMhYa8AaKaQMMJbbbZNhKkaeavfhealaifhladcufgdmbkkabaKUdxabamUdwabaPUdlabaYUdbarcjef8Kjjjjbkjeeiu8Jjjjjbcj8W9Rgr8Kjjjjbaici2hwdnaiTmbawceawce0EhDarhiinaiaeadRbbcdtfydbBdbadcefhdaiclfhiaDcufgDmbkkabarawaladaoz:hjjjbarcj8Wf8Kjjjjbk:Reeeu8Jjjjjbca9Rgo8Kjjjjbab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbdnadTmbaocbBd3ao9cb83iwao9cb83ibaoaeadaialaoc3falEavcbalEcrz1jjjbabao8Pib83dbabao8Piw83dwkaocaf8Kjjjjbk:3lequ8JjjjjbcjP9Rgl8Kjjjjbcbhvalcjxfcbaiz:ojjjb8AdndnadTmbcjehoaehrincuhwarhDcuhqavhkdninawakaoalcjxfaDcefRbbfRbb9RcFeGci6aoalcjxfaDRbbfRbb9RcFeGci6faoalcjxfaDcdfRbbfRbb9RcFeGci6fgxaq9mgmEhwdnammbaxce0mdkaxaqaxaq9kEhqaDcifhDadakcefgk9hmbkkaeawci2fgDcdfRbbhqaDcefRbbhxaDRbbhkaeavci2fgDcifaDawav9Rci2z:rjjjb8Aakalcjxffaocefgo86bbaxalcjxffao86bbaDcdfaq86bbaDcefax86bbaDak86bbaqalcjxffao86bbarcifhravcefgvad9hmbkalcFeaicetz:ojjjbhoadci2gDceaDce0EhqcbhxindnaoaeRbbgkcetfgw8UebgDcu9kmbawax87ebaocjlfaxcdtfabakcdtfydbBdbaxhDaxcefhxkaeaD86bbaecefheaqcufgqmbkaxcdthDxekcbhDkabalcjlfaDz:njjjb8AalcjPf8Kjjjjbk9teiucbcbyd;C1jjbgeabcifc98GfgbBd;C1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;C1jjbgeabcrfc94GfgbBd;C1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;C1jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;C1jjbfgdBd;C1jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk:;Deludndndnadch9pmbabaeSmdaeabadfgi9Rcbadcet9R0mekabaead;8qbbxekaeab7ciGhldndndnabae9pmbdnalTmbadhvabhixikdnabciGmbadhvabhixdkadTmiabaeRbb86bbadcufhvdnabcefgiciGmbaecefhexdkavTmiabaeRbe86beadc9:fhvdnabcdfgiciGmbaecdfhexdkavTmiabaeRbd86bdadc99fhvdnabcifgiciGmbaecifhexdkavTmiabaeRbi86biabclfhiaeclfheadc98fhvxekdnalmbdnaiciGTmbadTmlabadcufgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc9:fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc99fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc98fgdfaeadfRbb86bbkadcl6mbdnadc98fgocd4cefciGgiTmbaec98fhlabc98fhvinavadfaladfydbBdbadc98fhdaicufgimbkkaocx6mbaec9Wfhvabc9WfhoinaoadfgicxfavadfglcxfydbBdbaicwfalcwfydbBdbaiclfalclfydbBdbaialydbBdbadc9Wfgdci0mbkkadTmdadhidnadciGglTmbaecufhvabcufhoadhiinaoaifavaifRbb86bbaicufhialcufglmbkkadcl6mdaec98fhlabc98fhvinavaifgecifalaifgdcifRbb86bbaecdfadcdfRbb86bbaecefadcefRbb86bbaeadRbb86bbaic98fgimbxikkavcl6mbdnavc98fglcd4cefcrGgdTmbavadcdt9RhvinaiaeydbBdbaeclfheaiclfhiadcufgdmbkkalc36mbinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaiaeydzBdzaiaeydCBdCaiaeydKBdKaiaeyd3Bd3aecafheaicafhiavc9Gfgvci0mbkkavTmbdndnavcrGgdmbavhlxekavc94GhlinaiaeRbb86bbaicefhiaecefheadcufgdmbkkavcw6mbinaiaeRbb86bbaiaeRbe86beaiaeRbd86bdaiaeRbi86biaiaeRbl86blaiaeRbv86bvaiaeRbo86boaiaeRbr86braicwfhiaecwfhealc94fglmbkkabkk9Tdbcjwk9ubbjZbbbbbbbbbbbbbbjZbbbbbbbbbbbbbbjZ86;nAZ86;nAZ86;nAZ86;nA:;86;nAZ86;nAZ86;nAZ86;nA:;86;nAZ86;nAZ86;nAZ86;nA:;bc;uwkxebbbdbbb9GNbb"),{}).then(function(a){(B=a.instance).exports.__wasm_call_ctors()});function I(a){if(!a)throw new Error("Assertion failed")}function Q(a){return new Uint8Array(a.buffer,a.byteOffset,a.byteLength)}function C(a){var E=new Float32Array(B.exports.memory.buffer,a,12);return{centerX:E[0],centerY:E[1],centerZ:E[2],radius:E[3],coneApexX:E[4],coneApexY:E[5],coneApexZ:E[6],coneAxisX:E[7],coneAxisY:E[8],coneAxisZ:E[9],coneCutoff:E[10]}}}();let Og=0;class va{constructor(A){if(this.downloadParallelism=A.downloadParallelism==null?8:A.downloadParallelism,this.timeout=A.timeout!=null?A.timeout:5e3,this.renderer=A.renderer,this.zUpToYUpMatrix=new x.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1),this.maxCachedItems=100,this.proxy=A.proxy,A&&(this.meshCallback=A.meshCallback,this.pointsCallback=A.pointsCallback,A.maxCachedItems!=null&&(this.maxCachedItems=A.maxCachedItems)),this.gltfLoader=new ga,this.gltfLoader.register(g=>({name:"KHR_spz_gaussian_splats_compression"})),A&&A.dracoLoader)this.gltfLoader.setDRACOLoader(A.dracoLoader),this.hasDracoLoader=!0;else{const g=new Qa;g.setDecoderPath("https://storage.googleapis.com/ogc-3d-tiles/draco/"),this.dracoLoader=g,this.gltfLoader.setDRACOLoader(g),this.gltfLoader.hasDracoLoader=!0}if(A&&A.ktx2Loader)this.gltfLoader.setKTX2Loader(A.ktx2Loader),this.hasKTX2Loader=!0;else if(A&&A.renderer){const g=new hg;g.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(A.renderer),this.ktx2loader=g,this.gltfLoader.setKTX2Loader(g),this.gltfLoader.hasKTX2Loader=!0}this.gltfLoader.setMeshoptDecoder(qa),this.hasMeshOptDecoder=!0,this.b3dmDecoder=new $C(this.gltfLoader),this.GLTFTileDecoder=new TE(this.gltfLoader,this.renderer),this.cache=new ZC,this.register={},this.ready=[],this.downloads=[],this.nextReady=[],this.nextDownloads=[]}update(){const A=this;Og<A.downloadParallelism&&A._download(),A._loadBatch()}_scheduleDownload(A){this.downloads.unshift(A)}_download(){do{if(this.nextDownloads.length==0&&(this._getNextDownloads(),this.nextDownloads.length==0))return;for(;this.nextDownloads.length>0;){const A=this.nextDownloads.shift();A&&A.shouldDoDownload()&&A.doDownload()}}while(Og<this.downloadParallelism)}_meshReceived(A,g,I,Q,C,a,E){this.ready.unshift([A,g,I,Q,C,a,E])}_loadBatch(){for(this.nextReady.length==0&&this._getNextReady();this.nextReady.length>0;){const A=this.nextReady.shift();if(!A)return;const g=A[0],I=A[1],Q=A[2],C=g.get(Q);C&&I[Q]&&Object.keys(I[Q]).forEach(a=>{const E=I[Q][a];E&&(g.put(Q,E(C)),I[Q][a]=null)})}}_getNextDownloads(){let A=Number.POSITIVE_INFINITY,g=-1;for(let E=this.downloads.length-1;E>=0;E--)this.downloads[E].shouldDoDownload()?this.downloads[E].distanceFunction||this.nextDownloads.push(this.downloads.splice(E,1)[0]):this.downloads.splice(E,1);if(this.nextDownloads.length>0)return;let I,Q=0,C=Number.MAX_SAFE_INTEGER,a=-1;for(let E=this.downloads.length-1;E>=0;E--){const i=this.downloads[E].distanceFunction();i<=A&&(A=i,g=E),Q=Math.max(this.downloads[E].level),this.downloads[E].loadingStrategy!="IMMEDIATE"&&this.downloads[E].level<C&&(C=this.downloads[E].level,a=E)}if(Q>C+4?I=this.downloads.splice(a,1).pop():g>=0&&(I=this.downloads.splice(g,1).pop()),I){this.nextDownloads.push(I);const E=I.getSiblings();for(let i=this.downloads.length-1;i>=0;i--)E.map(t=>t.uuid).includes(this.downloads[i].uuid)&&this.nextDownloads.push(this.downloads.splice(i,1).pop())}}_getNextReady(){let A=Number.POSITIVE_INFINITY,g=-1;for(let I=this.ready.length-1;I>=0;I--)this.ready[I][3]||this.nextReady.push(this.ready.splice(I,1)[0]);if(!(this.nextReady.length>0)){for(let I=this.ready.length-1;I>=0;I--){const Q=this.ready[I][3]()*this.ready[I][5];Q<=A&&(A=Q,g=I)}if(g>=0){const I=this.ready.splice(g,1).pop();this.nextReady.push(I);const Q=I[4]();for(let C=this.ready.length-1;C>=0;C--)Q.map(a=>a.uuid).includes(this.ready[C][6])&&this.nextReady.push(this.ready.splice(C,1).pop())}}}get(A,g,I,Q,C,a,E,i,t,e,o,s){const n=this,r=BC(I),c=new AbortController;if(A.signal.addEventListener("abort",()=>{n.register[r]&&Object.keys(n.register[r]).length!=0||c.abort("user abort")}),!(I.includes(".b3dm")||I.includes(".json")||I.includes(".gltf")||I.includes(".glb")))return void console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data");if(n.register[r]||(n.register[r]={}),n.register[r][g]&&console.error(" a tile should only be loaded once"),n.register[r][g]=Q,n.cache.get(r))this._meshReceived(n.cache,n.register,r,C,a,E,g);else{let D;I.includes(".b3dm")?D=()=>{var w;w=n.proxy?()=>fetch(n.proxy,{method:"POST",body:I,signal:c.signal}):()=>fetch(I,{signal:c.signal}),Og++,w().then(h=>{if(!h.ok)throw console.error("could not load tile with path : "+I),new Error(`couldn't load "${I}". Request failed with status ${h.status} : ${h.statusText}`);return h.arrayBuffer()}).then(h=>this.b3dmDecoder.parseB3DM(h,d=>{n.meshCallback(d,o)},t,e)).then(h=>{n.cache.put(r,h),this._meshReceived(n.cache,n.register,r,C,a,E,g),n._checkSize()}).catch(h=>{}).finally(()=>{Og--})}:I.includes(".glb")||I.includes(".gltf")?D=()=>{var w;w=n.proxy?()=>fetch(n.proxy,{method:"POST",body:I,signal:c.signal}):()=>fetch(I,{signal:c.signal}),Og++,w().then(h=>{if(!h.ok)throw console.error("could not load tile with path : "+I),new Error(`couldn't load "${I}". Request failed with status ${h.status} : ${h.statusText}`);return h.arrayBuffer()}).then(h=>this.GLTFTileDecoder.parseSplats(h,t,e,s)).then(h=>{h.isSplatsData||(t&&h.applyMatrix4(this.zUpToYUpMatrix),h.traverse(d=>{d.isMesh&&(e&&d.applyMatrix4(this.zUpToYUpMatrix),n.meshCallback&&n.meshCallback(d,o)),d.isPoints&&n.pointsCallback&&n.pointsCallback(d,o)})),n.cache.put(r,h),n._meshReceived(n.cache,n.register,r,C,a,E,g),n._checkSize()}).catch(h=>{}).finally(()=>{Og--})}:I.includes(".json")&&(D=()=>{var w;w=n.proxy?()=>fetch(n.proxy,{method:"POST",body:I,signal:c.signal}):()=>fetch(I,{signal:c.signal}),Og++,w().then(h=>{if(!h.ok)throw console.error("could not load tile with path : "+I),new Error(`couldn't load "${I}". Request failed with status ${h.status} : ${h.statusText}`);return h.json()}).then(h=>RQ(h,I)).then(h=>{n.cache.put(r,h),n._meshReceived(n.cache,n.register,r),n._checkSize()}).catch(h=>{console.error(h)}).finally(()=>{Og--})}),this._scheduleDownload({shouldDoDownload:()=>!A.signal.aborted&&!!n.register[r]&&Object.keys(n.register[r]).length>0&&!n.cache.get(r),doDownload:D,distanceFunction:C,getSiblings:a,level:E,loadingStrategy:i,uuid:g})}}clear(){const A=this.maxCachedItems;this.maxCachedItems=0,this._checkSize(),this.maxCachedItems=A}invalidate(A,g){const I=BC(A),Q=this;Q.register[I]&&setTimeout(()=>{Q.register&&Q.register[I]&&(delete Q.register[I][g],Q._checkSize())},Q.timeout)}dispose(){let A=this.cache.head();for(this._disposeEntryContent(A);(A=A.next()).key!=null;)this._disposeEntryContent(A);this.cache.reset(),this.cache=void 0,this.register=void 0,this.dracoLoader&&this.dracoLoader.dispose(),this.ktx2loader&&this.ktx2loader.dispose()}_checkSize(){const A=this;let g=0;for(;A.cache.size()>A.maxCachedItems&&g<A.cache.size();){g++;const I=A.cache.head(),Q=A.register[I.key];Q&&(Object.keys(Q).length>0?(A.cache.remove(I.key),A.cache.put(I.key,I.value)):(A.cache.remove(I.key),delete A.register[I.key],A._disposeEntryContent(I)))}}_disposeEntryContent(A){A.value&&(A.value.isSplatsBatch?A.value.remove():A.value.traverse&&A.value.traverse(g=>{if(g.material)if(g.material.length)for(let I=0;I<g.material.length;++I)g.material[I].dispose();else g.material.dispose();g.geometry&&g.geometry.dispose()}))}}function BC(B){for(var A=B.split("/"),g=[],I=0,Q=0;Q<A.length;Q++){var C=A[Q];C!=="."&&C!==""&&C!==".."?g[I++]=C:C===".."&&I>0&&I--}if(I===0)return"/";var a="";for(Q=0;Q<I;Q++)a+="/"+g[Q];return a}const ZA=[];for(let B=0;B<256;++B)ZA.push((B+256).toString(16).slice(1));let IQ;const ke=new Uint8Array(16),QC={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function me(B,A,g){const I=(B=B||{}).random??B.rng?.()??function(){if(!IQ){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");IQ=crypto.getRandomValues.bind(crypto)}return IQ(ke)}();if(I.length<16)throw new Error("Random bytes length must be >= 16");return I[6]=15&I[6]|64,I[8]=63&I[8]|128,function(Q,C=0){return(ZA[Q[C+0]]+ZA[Q[C+1]]+ZA[Q[C+2]]+ZA[Q[C+3]]+"-"+ZA[Q[C+4]]+ZA[Q[C+5]]+"-"+ZA[Q[C+6]]+ZA[Q[C+7]]+"-"+ZA[Q[C+8]]+ZA[Q[C+9]]+"-"+ZA[Q[C+10]]+ZA[Q[C+11]]+ZA[Q[C+12]]+ZA[Q[C+13]]+ZA[Q[C+14]]+ZA[Q[C+15]]).toLowerCase()}(I)}function Ta(B,A,g){return QC.randomUUID&&!B?QC.randomUUID():me(B)}var CC,aC,eI=function(){if(aC)return CC;function B(I){if(typeof I!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(I))}function A(I,Q){for(var C,a="",E=0,i=-1,t=0,e=0;e<=I.length;++e){if(e<I.length)C=I.charCodeAt(e);else{if(C===47)break;C=47}if(C===47){if(!(i===e-1||t===1))if(i!==e-1&&t===2){if(a.length<2||E!==2||a.charCodeAt(a.length-1)!==46||a.charCodeAt(a.length-2)!==46){if(a.length>2){var o=a.lastIndexOf("/");if(o!==a.length-1){o===-1?(a="",E=0):E=(a=a.slice(0,o)).length-1-a.lastIndexOf("/"),i=e,t=0;continue}}else if(a.length===2||a.length===1){a="",E=0,i=e,t=0;continue}}Q&&(a.length>0?a+="/..":a="..",E=2)}else a.length>0?a+="/"+I.slice(i+1,e):a=I.slice(i+1,e),E=e-i-1;i=e,t=0}else C===46&&t!==-1?++t:t=-1}return a}aC=1;var g={resolve:function(){for(var I,Q="",C=!1,a=arguments.length-1;a>=-1&&!C;a--){var E;a>=0?E=arguments[a]:(I===void 0&&(I=process.cwd()),E=I),B(E),E.length!==0&&(Q=E+"/"+Q,C=E.charCodeAt(0)===47)}return Q=A(Q,!C),C?Q.length>0?"/"+Q:"/":Q.length>0?Q:"."},normalize:function(I){if(B(I),I.length===0)return".";var Q=I.charCodeAt(0)===47,C=I.charCodeAt(I.length-1)===47;return(I=A(I,!Q)).length!==0||Q||(I="."),I.length>0&&C&&(I+="/"),Q?"/"+I:I},isAbsolute:function(I){return B(I),I.length>0&&I.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var I,Q=0;Q<arguments.length;++Q){var C=arguments[Q];B(C),C.length>0&&(I===void 0?I=C:I+="/"+C)}return I===void 0?".":g.normalize(I)},relative:function(I,Q){if(B(I),B(Q),I===Q||(I=g.resolve(I))===(Q=g.resolve(Q)))return"";for(var C=1;C<I.length&&I.charCodeAt(C)===47;++C);for(var a=I.length,E=a-C,i=1;i<Q.length&&Q.charCodeAt(i)===47;++i);for(var t=Q.length-i,e=E<t?E:t,o=-1,s=0;s<=e;++s){if(s===e){if(t>e){if(Q.charCodeAt(i+s)===47)return Q.slice(i+s+1);if(s===0)return Q.slice(i+s)}else E>e&&(I.charCodeAt(C+s)===47?o=s:s===0&&(o=0));break}var n=I.charCodeAt(C+s);if(n!==Q.charCodeAt(i+s))break;n===47&&(o=s)}var r="";for(s=C+o+1;s<=a;++s)s!==a&&I.charCodeAt(s)!==47||(r.length===0?r+="..":r+="/..");return r.length>0?r+Q.slice(i+o):(i+=o,Q.charCodeAt(i)===47&&++i,Q.slice(i))},_makeLong:function(I){return I},dirname:function(I){if(B(I),I.length===0)return".";for(var Q=I.charCodeAt(0),C=Q===47,a=-1,E=!0,i=I.length-1;i>=1;--i)if((Q=I.charCodeAt(i))===47){if(!E){a=i;break}}else E=!1;return a===-1?C?"/":".":C&&a===1?"//":I.slice(0,a)},basename:function(I,Q){if(Q!==void 0&&typeof Q!="string")throw new TypeError('"ext" argument must be a string');B(I);var C,a=0,E=-1,i=!0;if(Q!==void 0&&Q.length>0&&Q.length<=I.length){if(Q.length===I.length&&Q===I)return"";var t=Q.length-1,e=-1;for(C=I.length-1;C>=0;--C){var o=I.charCodeAt(C);if(o===47){if(!i){a=C+1;break}}else e===-1&&(i=!1,e=C+1),t>=0&&(o===Q.charCodeAt(t)?--t==-1&&(E=C):(t=-1,E=e))}return a===E?E=e:E===-1&&(E=I.length),I.slice(a,E)}for(C=I.length-1;C>=0;--C)if(I.charCodeAt(C)===47){if(!i){a=C+1;break}}else E===-1&&(i=!1,E=C+1);return E===-1?"":I.slice(a,E)},extname:function(I){B(I);for(var Q=-1,C=0,a=-1,E=!0,i=0,t=I.length-1;t>=0;--t){var e=I.charCodeAt(t);if(e!==47)a===-1&&(E=!1,a=t+1),e===46?Q===-1?Q=t:i!==1&&(i=1):Q!==-1&&(i=-1);else if(!E){C=t+1;break}}return Q===-1||a===-1||i===0||i===1&&Q===a-1&&Q===C+1?"":I.slice(Q,a)},format:function(I){if(I===null||typeof I!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof I);return function(Q,C){var a=C.dir||C.root,E=C.base||(C.name||"")+(C.ext||"");return a?a===C.root?a+E:a+Q+E:E}("/",I)},parse:function(I){B(I);var Q={root:"",dir:"",base:"",ext:"",name:""};if(I.length===0)return Q;var C,a=I.charCodeAt(0),E=a===47;E?(Q.root="/",C=1):C=0;for(var i=-1,t=0,e=-1,o=!0,s=I.length-1,n=0;s>=C;--s)if((a=I.charCodeAt(s))!==47)e===-1&&(o=!1,e=s+1),a===46?i===-1?i=s:n!==1&&(n=1):i!==-1&&(n=-1);else if(!o){t=s+1;break}return i===-1||e===-1||n===0||n===1&&i===e-1&&i===t+1?e!==-1&&(Q.base=Q.name=t===0&&E?I.slice(1,e):I.slice(t,e)):(t===0&&E?(Q.name=I.slice(1,i),Q.base=I.slice(1,e)):(Q.name=I.slice(t,i),Q.base=I.slice(t,e)),Q.ext=I.slice(i,e)),t>0?Q.dir=I.slice(0,t-1):E&&(Q.dir="/"),Q},sep:"/",delimiter:":",win32:null,posix:null};return g.posix=g,CC=g}();function lB(){return lB=Object.assign?Object.assign.bind():function(B){for(var A=1;A<arguments.length;A++){var g=arguments[A];for(var I in g)({}).hasOwnProperty.call(g,I)&&(B[I]=g[I])}return B},lB.apply(null,arguments)}var Oa={relTol:1e-12,absTol:1e-15,matrix:"Matrix",number:"number",numberFallback:"number",precision:64,predictable:!1,randomSeed:null};function Ue(B,A){if(rB(B,A))return B[A];throw typeof B[A]=="function"&&function(g,I){return g==null||typeof g[I]!="function"||fB(g,I)&&Object.getPrototypeOf&&I in Object.getPrototypeOf(g)?!1:fB(Le,I)?!0:!(I in Object.prototype||I in Function.prototype)}(B,A)?new Error('Cannot access method "'+A+'" as a property'):new Error('No access to property "'+A+'"')}function rB(B,A){return!(!function(g){return typeof g=="object"&&g&&g.constructor===Object}(B)&&!Array.isArray(B))&&(!!fB(Se,A)||!(A in Object.prototype)&&!(A in Function.prototype))}var Se={length:!0,name:!0},Le={toString:!0,valueOf:!0,toLocaleString:!0};class Je{constructor(A){this.wrappedObject=A,this[Symbol.iterator]=this.entries}keys(){return Object.keys(this.wrappedObject).filter(A=>this.has(A)).values()}get(A){return Ue(this.wrappedObject,A)}set(A,g){return function(I,Q,C){if(rB(I,Q))return I[Q]=C,C;throw new Error('No access to property "'+Q+'"')}(this.wrappedObject,A,g),this}has(A){return rB(this.wrappedObject,A)&&A in this.wrappedObject}entries(){return function(A,g){return{next:()=>{var I=A.next();return I.done?I:{value:g(I.value),done:!1}}}}(this.keys(),A=>[A,this.get(A)])}forEach(A){for(var g of this.keys())A(this.get(g),g,this)}delete(A){rB(this.wrappedObject,A)&&delete this.wrappedObject[A]}clear(){for(var A of this.keys())this.delete(A)}get size(){return Object.keys(this.wrappedObject).length}}function mA(B){return typeof B=="number"}function WA(B){return!(!B||typeof B!="object"||typeof B.constructor!="function")&&(B.isBigNumber===!0&&typeof B.constructor.prototype=="object"&&B.constructor.prototype.isBigNumber===!0||typeof B.constructor.isDecimal=="function"&&B.constructor.isDecimal(B)===!0)}function Ye(B){return typeof B=="bigint"}function Wa(B){return B&&typeof B=="object"&&Object.getPrototypeOf(B).isComplex===!0||!1}function Pa(B){return B&&typeof B=="object"&&Object.getPrototypeOf(B).isFraction===!0||!1}function Va(B){return B&&B.constructor.prototype.isUnit===!0||!1}function pg(B){return typeof B=="string"}var VA=Array.isArray;function qA(B){return B&&B.constructor.prototype.isMatrix===!0||!1}function uB(B){return Array.isArray(B)||qA(B)}function xe(B){return B&&B.isDenseMatrix&&B.constructor.prototype.isMatrix===!0||!1}function He(B){return B&&B.isSparseMatrix&&B.constructor.prototype.isMatrix===!0||!1}function Ke(B){return B&&B.constructor.prototype.isRange===!0||!1}function pQ(B){return B&&B.constructor.prototype.isIndex===!0||!1}function je(B){return typeof B=="boolean"}function qe(B){return B&&B.constructor.prototype.isResultSet===!0||!1}function ve(B){return B&&B.constructor.prototype.isHelp===!0||!1}function Te(B){return typeof B=="function"}function Oe(B){return B instanceof Date}function We(B){return B instanceof RegExp}function NQ(B){return!(!B||typeof B!="object"||B.constructor!==Object||Wa(B)||Pa(B))}function Pe(B){return!!B&&(B instanceof Map||B instanceof Je||typeof B.set=="function"&&typeof B.get=="function"&&typeof B.keys=="function"&&typeof B.has=="function")}function Ve(B){return B===null}function ze(B){return B===void 0}function Xe(B){return B&&B.isAccessorNode===!0&&B.constructor.prototype.isNode===!0||!1}function Ze(B){return B&&B.isArrayNode===!0&&B.constructor.prototype.isNode===!0||!1}function _e(B){return B&&B.isAssignmentNode===!0&&B.constructor.prototype.isNode===!0||!1}function $e(B){return B&&B.isBlockNode===!0&&B.constructor.prototype.isNode===!0||!1}function Ai(B){return B&&B.isConditionalNode===!0&&B.constructor.prototype.isNode===!0||!1}function gi(B){return B&&B.isConstantNode===!0&&B.constructor.prototype.isNode===!0||!1}function Ii(B){return B&&B.isFunctionAssignmentNode===!0&&B.constructor.prototype.isNode===!0||!1}function Bi(B){return B&&B.isFunctionNode===!0&&B.constructor.prototype.isNode===!0||!1}function Qi(B){return B&&B.isIndexNode===!0&&B.constructor.prototype.isNode===!0||!1}function Ci(B){return B&&B.isNode===!0&&B.constructor.prototype.isNode===!0||!1}function ai(B){return B&&B.isObjectNode===!0&&B.constructor.prototype.isNode===!0||!1}function Ei(B){return B&&B.isOperatorNode===!0&&B.constructor.prototype.isNode===!0||!1}function ei(B){return B&&B.isParenthesisNode===!0&&B.constructor.prototype.isNode===!0||!1}function ii(B){return B&&B.isRangeNode===!0&&B.constructor.prototype.isNode===!0||!1}function ti(B){return B&&B.isRelationalNode===!0&&B.constructor.prototype.isNode===!0||!1}function oi(B){return B&&B.isSymbolNode===!0&&B.constructor.prototype.isNode===!0||!1}function ni(B){return B&&B.constructor.prototype.isChain===!0||!1}function _g(B){var A=typeof B;return A==="object"?B===null?"null":WA(B)?"BigNumber":B.constructor&&B.constructor.name?B.constructor.name:"Object":A}function jA(B){var A=typeof B;if(A==="number"||A==="bigint"||A==="string"||A==="boolean"||B==null)return B;if(typeof B.clone=="function")return B.clone();if(Array.isArray(B))return B.map(function(g){return jA(g)});if(B instanceof Date)return new Date(B.valueOf());if(WA(B))return B;if(NQ(B))return function(g,I){var Q={};for(var C in g)fB(g,C)&&(Q[C]=I(g[C]));return Q}(B,jA);if(A==="function")return B;throw new TypeError("Cannot clone: unknown type of value (value: ".concat(B,")"))}function pI(B,A){var g,I,Q;if(Array.isArray(B)){if(!Array.isArray(A)||B.length!==A.length)return!1;for(I=0,Q=B.length;I<Q;I++)if(!pI(B[I],A[I]))return!1;return!0}if(typeof B=="function")return B===A;if(B instanceof Object){if(Array.isArray(A)||!(A instanceof Object))return!1;for(g in B)if(!(g in A)||!pI(B[g],A[g]))return!1;for(g in A)if(!(g in B))return!1;return!0}return B===A}function fB(B,A){return B&&Object.hasOwnProperty.call(B,A)}var iI=function(B){if(B)throw new Error(`The global config is readonly.
952
952
  Please create a mathjs instance if you want to change the default configuration.
953
953
  Example:
954
954
 
955
955
  import { create, all } from 'mathjs';
956
956
  const mathjs = create(all);
957
957
  mathjs.config({ number: 'BigNumber' });
958
- `);return Object.freeze(qE)};function EC(){return!0}function Dg(){return!1}function dI(){}wB(iI,qE,{MATRIX_OPTIONS:["Matrix","Array"],NUMBER_OPTIONS:["number","BigNumber","Fraction"]});const aC="Argument is not a typed-function.",fB=function B(){function A(M){return typeof M=="object"&&M!==null&&M.constructor===Object}const g=[{name:"number",test:function(M){return typeof M=="number"}},{name:"string",test:function(M){return typeof M=="string"}},{name:"boolean",test:function(M){return typeof M=="boolean"}},{name:"Function",test:function(M){return typeof M=="function"}},{name:"Array",test:Array.isArray},{name:"Date",test:function(M){return M instanceof Date}},{name:"RegExp",test:function(M){return M instanceof RegExp}},{name:"Object",test:A},{name:"null",test:function(M){return M===null}},{name:"undefined",test:function(M){return M===void 0}}],I={name:"any",test:EC,isAny:!0};let Q,C,E=0,a={createCount:0};function i(M){const N=Q.get(M);if(N)return N;let J='Unknown type "'+M+'"';const x=M.toLowerCase();let K;for(K of C)if(K.toLowerCase()===x){J+='. Did you mean "'+K+'" ?';break}throw new TypeError(J)}function t(M){let N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"any";const J=N?i(N).index:C.length,x=[];for(let O=0;O<M.length;++O){if(!M[O]||typeof M[O].name!="string"||typeof M[O].test!="function")throw new TypeError("Object with properties {name: string, test: function} expected");const Z=M[O].name;if(Q.has(Z))throw new TypeError('Duplicate type name "'+Z+'"');x.push(Z),Q.set(Z,{name:Z,test:M[O].test,isAny:M[O].isAny,index:J+O,conversionsTo:[]})}const K=C.slice(J);C=C.slice(0,J).concat(x).concat(K);for(let O=J+x.length;O<C.length;++O)Q.get(C[O]).index=O}function e(){Q=new Map,C=[],E=0,t([I],!1)}function o(M){const N=C.filter(J=>{const x=Q.get(J);return!x.isAny&&x.test(M)});return N.length?N:["any"]}function s(M){return M&&typeof M=="function"&&"_typedFunctionData"in M}function n(M,N,J){if(!s(M))throw new TypeError(aC);const x=J&&J.exact,K=h(Array.isArray(N)?N.join(","):N),O=r(K);if(!x||O in M.signatures){const V=M._typedFunctionData.signatureMap.get(O);if(V)return V}const Z=K.length;let v,AA;if(x){let V;for(V in v=[],M.signatures)v.push(M._typedFunctionData.signatureMap.get(V))}else v=M._typedFunctionData.signatures;for(let V=0;V<Z;++V){const yA=K[V],dA=[];let JA;for(JA of v){const PA=R(JA.params,V);if(PA&&(!yA.restParam||PA.restParam)){if(!PA.hasAny){const Cg=b(PA);if(yA.types.some(tg=>!Cg.has(tg.name)))continue}dA.push(JA)}}if(v=dA,v.length===0)break}for(AA of v)if(AA.params.length<=Z)return AA;throw new TypeError("Signature not found (signature: "+(M.name||"unnamed")+"("+r(K,", ")+"))")}function r(M){let N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:",";return M.map(J=>J.name).join(N)}function c(M){const N=M.indexOf("...")===0,J=(N?M.length>3?M.slice(3):"any":M).split("|").map(O=>i(O.trim()));let x=!1,K=N?"...":"";return{types:J.map(function(O){return x=O.isAny||x,K+=O.name+"|",{name:O.name,typeIndex:O.index,test:O.test,isAny:O.isAny,conversion:null,conversionIndex:-1}}),name:K.slice(0,-1),hasAny:x,hasConversion:!1,restParam:N}}function D(M){const N=M.types.map(Z=>Z.name),J=function(Z){if(Z.length===0)return[];const v=Z.map(i);Z.length>1&&v.sort((yA,dA)=>yA.index-dA.index);let AA=v[0].conversionsTo;if(Z.length===1)return AA;AA=AA.concat([]);const V=new Set(Z);for(let yA=1;yA<v.length;++yA){let dA;for(dA of v[yA].conversionsTo)V.has(dA.from)||(AA.push(dA),V.add(dA.from))}return AA}(N);let x=M.hasAny,K=M.name;const O=J.map(function(Z){const v=i(Z.from);return x=v.isAny||x,K+="|"+Z.from,{name:Z.from,typeIndex:v.index,test:v.test,isAny:v.isAny,conversion:Z,conversionIndex:Z.index}});return{types:M.types.concat(O),name:K,hasAny:x,hasConversion:O.length>0,restParam:M.restParam}}function b(M){return M.typeSet||(M.typeSet=new Set,M.types.forEach(N=>M.typeSet.add(N.name))),M.typeSet}function h(M){const N=[];if(typeof M!="string")throw new TypeError("Signatures must be strings");const J=M.trim();if(J==="")return N;const x=J.split(",");for(let K=0;K<x.length;++K){const O=c(x[K].trim());if(O.restParam&&K!==x.length-1)throw new SyntaxError('Unexpected rest parameter "'+x[K]+'": only allowed for the last parameter');if(O.types.length===0)return null;N.push(O)}return N}function w(M){const N=eA(M);return!!N&&N.restParam}function f(M){if(M&&M.types.length!==0){if(M.types.length===1)return i(M.types[0].name).test;if(M.types.length===2){const N=i(M.types[0].name).test,J=i(M.types[1].name).test;return function(x){return N(x)||J(x)}}{const N=M.types.map(function(J){return i(J.name).test});return function(J){for(let x=0;x<N.length;x++)if(N[x](J))return!0;return!1}}}return EC}function p(M){let N,J,x;if(w(M)){N=GA(M).map(f);const K=N.length,O=f(eA(M)),Z=function(v){for(let AA=K;AA<v.length;AA++)if(!O(v[AA]))return!1;return!0};return function(v){for(let AA=0;AA<N.length;AA++)if(!N[AA](v[AA]))return!1;return Z(v)&&v.length>=K+1}}return M.length===0?function(K){return K.length===0}:M.length===1?(J=f(M[0]),function(K){return J(K[0])&&K.length===1}):M.length===2?(J=f(M[0]),x=f(M[1]),function(K){return J(K[0])&&x(K[1])&&K.length===2}):(N=M.map(f),function(K){for(let O=0;O<N.length;O++)if(!N[O](K[O]))return!1;return K.length===N.length})}function R(M,N){return N<M.length?M[N]:w(M)?eA(M):null}function m(M,N){const J=R(M,N);return J?b(J):new Set}function G(M){return M.conversion===null||M.conversion===void 0}function k(M,N){const J=new Set;return M.forEach(x=>{const K=m(x.params,N);let O;for(O of K)J.add(O)}),J.has("any")?["any"]:Array.from(J)}function U(M,N,J){let x,K;const O=M||"unnamed";let Z,v=J;for(Z=0;Z<N.length;Z++){const dA=[];if(v.forEach(JA=>{const PA=f(R(JA.params,Z));(Z<JA.params.length||w(JA.params))&&PA(N[Z])&&dA.push(JA)}),dA.length===0){if(K=k(v,Z),K.length>0){const JA=o(N[Z]);return x=new TypeError("Unexpected type of argument in function "+O+" (expected: "+K.join(" or ")+", actual: "+JA.join(" | ")+", index: "+Z+")"),x.data={category:"wrongType",fn:O,index:Z,actual:JA,expected:K},x}}else v=dA}const AA=v.map(function(dA){return w(dA.params)?1/0:dA.params.length});if(N.length<Math.min.apply(null,AA))return K=k(v,Z),x=new TypeError("Too few arguments in function "+O+" (expected: "+K.join(" or ")+", index: "+N.length+")"),x.data={category:"tooFewArgs",fn:O,index:N.length,expected:K},x;const V=Math.max.apply(null,AA);if(N.length>V)return x=new TypeError("Too many arguments in function "+O+" (expected: "+V+", actual: "+N.length+")"),x.data={category:"tooManyArgs",fn:O,index:N.length,expectedLength:V},x;const yA=[];for(let dA=0;dA<N.length;++dA)yA.push(o(N[dA]).join("|"));return x=new TypeError('Arguments of type "'+yA.join(", ")+'" do not match any of the defined signatures of function '+O+"."),x.data={category:"mismatch",actual:yA},x}function S(M){let N=C.length+1;for(let J=0;J<M.types.length;J++)G(M.types[J])&&(N=Math.min(N,M.types[J].typeIndex));return N}function j(M){let N=E+1;for(let J=0;J<M.types.length;J++)G(M.types[J])||(N=Math.min(N,M.types[J].conversionIndex));return N}function z(M,N){if(M.hasAny){if(!N.hasAny)return 1}else if(N.hasAny)return-1;if(M.restParam){if(!N.restParam)return 1}else if(N.restParam)return-1;if(M.hasConversion){if(!N.hasConversion)return 1}else if(N.hasConversion)return-1;const J=S(M)-S(N);if(J<0)return-1;if(J>0)return 1;const x=j(M)-j(N);return x<0?-1:x>0?1:0}function gA(M,N){const J=M.params,x=N.params,K=eA(J),O=eA(x),Z=w(J),v=w(x);if(Z&&K.hasAny){if(!v||!O.hasAny)return 1}else if(v&&O.hasAny)return-1;let AA,V=0,yA=0;for(AA of J)AA.hasAny&&++V,AA.hasConversion&&++yA;let dA=0,JA=0;for(AA of x)AA.hasAny&&++dA,AA.hasConversion&&++JA;if(V!==dA)return V-dA;if(Z&&K.hasConversion){if(!v||!O.hasConversion)return 1}else if(v&&O.hasConversion)return-1;if(yA!==JA)return yA-JA;if(Z){if(!v)return 1}else if(v)return-1;const PA=(J.length-x.length)*(Z?-1:1);if(PA!==0)return PA;const Cg=[];let tg,ug=0;for(let Yg=0;Yg<J.length;++Yg){const AI=z(J[Yg],x[Yg]);Cg.push(AI),ug+=AI}if(ug!==0)return ug;for(tg of Cg)if(tg!==0)return tg;return 0}function $(M,N){let J=N;if(M.some(K=>K.hasConversion)){const K=w(M),O=M.map(X);J=function(){const Z=[],v=K?arguments.length-1:arguments.length;for(let AA=0;AA<v;AA++)Z[AA]=O[AA](arguments[AA]);return K&&(Z[v]=arguments[v].map(O[v])),N.apply(this,Z)}}let x=J;if(w(M)){const K=M.length-1;x=function(){return J.apply(this,rA(arguments,0,K).concat([rA(arguments,K)]))}}return x}function X(M){let N,J,x,K;const O=[],Z=[];switch(M.types.forEach(function(v){v.conversion&&(O.push(i(v.conversion.from).test),Z.push(v.conversion.convert))}),Z.length){case 0:return function(v){return v};case 1:return N=O[0],x=Z[0],function(v){return N(v)?x(v):v};case 2:return N=O[0],J=O[1],x=Z[0],K=Z[1],function(v){return N(v)?x(v):J(v)?K(v):v};default:return function(v){for(let AA=0;AA<Z.length;AA++)if(O[AA](v))return Z[AA](v);return v}}}function aA(M){return function N(J,x,K){if(x<J.length){const v=J[x];let AA=[];if(v.restParam){const V=v.types.filter(G);V.length<v.types.length&&AA.push({types:V,name:"..."+V.map(yA=>yA.name).join("|"),hasAny:V.some(yA=>yA.isAny),hasConversion:!1,restParam:!0}),AA.push(v)}else AA=v.types.map(function(V){return{types:[V],name:V.name,hasAny:V.isAny,hasConversion:V.conversion,restParam:!1}});return O=AA,Z=function(V){return N(J,x+1,K.concat([V]))},Array.prototype.concat.apply([],O.map(Z))}return[K];var O,Z}(M,0,[])}function wA(M,N){const J=Math.max(M.length,N.length);for(let v=0;v<J;v++){const AA=m(M,v),V=m(N,v);let yA,dA=!1;for(yA of V)if(AA.has(yA)){dA=!0;break}if(!dA)return!1}const x=M.length,K=N.length,O=w(M),Z=w(N);return O?Z?x===K:K>=x:Z?x>=K:x===K}function sA(M,N,J){const x=[];let K;for(K of M){let O=J[K];if(typeof O!="number")throw new TypeError('No definition for referenced signature "'+K+'"');if(O=N[O],typeof O!="function")return!1;x.push(O)}return x}function fA(M,N,J){const x=function(Z){return Z.map(v=>cA(v)?RA(v.referToSelf.callback):oA(v)?FA(v.referTo.references,v.referTo.callback):v)}(M),K=new Array(x.length).fill(!1);let O=!0;for(;O;){O=!1;let Z=!0;for(let v=0;v<x.length;++v){if(K[v])continue;const AA=x[v];if(cA(AA))x[v]=AA.referToSelf.callback(J),x[v].referToSelf=AA.referToSelf,K[v]=!0,Z=!1;else if(oA(AA)){const V=sA(AA.referTo.references,x,N);V?(x[v]=AA.referTo.callback.apply(this,V),x[v].referTo=AA.referTo,K[v]=!0,Z=!1):O=!0}}if(Z&&O)throw new SyntaxError("Circular reference detected in resolving typed.referTo")}return x}function uA(M,N){if(a.createCount++,Object.keys(N).length===0)throw new SyntaxError("No signatures provided");a.warnAgainstDeprecatedThis&&function(DA){const ng=/\bthis(\(|\.signatures\b)/;Object.keys(DA).forEach(xI=>{const Kg=DA[xI];if(ng.test(Kg.toString()))throw new SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead.")})}(N);const J=[],x=[],K={},O=[];let Z;for(Z in N){if(!Object.prototype.hasOwnProperty.call(N,Z))continue;const DA=h(Z);if(!DA)continue;J.forEach(function(II){if(wA(II,DA))throw new TypeError('Conflicting signatures "'+r(II)+'" and "'+r(DA)+'".')}),J.push(DA);const ng=x.length;x.push(N[Z]);const xI=DA.map(D);let Kg;for(Kg of aA(xI)){const II=r(Kg);O.push({params:Kg,name:II,fn:ng}),Kg.every(YB=>!YB.hasConversion)&&(K[II]=ng)}}O.sort(gA);const v=fA(x,K,gI);let AA;for(AA in K)Object.prototype.hasOwnProperty.call(K,AA)&&(K[AA]=v[K[AA]]);const V=[],yA=new Map;for(AA of O)yA.has(AA.name)||(AA.fn=v[AA.fn],V.push(AA),yA.set(AA.name,AA));const dA=V[0]&&V[0].params.length<=2&&!w(V[0].params),JA=V[1]&&V[1].params.length<=2&&!w(V[1].params),PA=V[2]&&V[2].params.length<=2&&!w(V[2].params),Cg=V[3]&&V[3].params.length<=2&&!w(V[3].params),tg=V[4]&&V[4].params.length<=2&&!w(V[4].params),ug=V[5]&&V[5].params.length<=2&&!w(V[5].params),Yg=dA&&JA&&PA&&Cg&&tg&&ug;for(let DA=0;DA<V.length;++DA)V[DA].test=p(V[DA].params);const AI=dA?f(V[0].params[0]):Dg,mB=JA?f(V[1].params[0]):Dg,oI=PA?f(V[2].params[0]):Dg,nI=Cg?f(V[3].params[0]):Dg,PI=tg?f(V[4].params[0]):Dg,VI=ug?f(V[5].params[0]):Dg,og=dA?f(V[0].params[1]):Dg,SB=JA?f(V[1].params[1]):Dg,zI=PA?f(V[2].params[1]):Dg,sI=Cg?f(V[3].params[1]):Dg,kI=tg?f(V[4].params[1]):Dg,XI=ug?f(V[5].params[1]):Dg;for(let DA=0;DA<V.length;++DA)V[DA].implementation=$(V[DA].params,V[DA].fn);const mI=dA?V[0].implementation:dI,SI=JA?V[1].implementation:dI,ZI=PA?V[2].implementation:dI,_I=Cg?V[3].implementation:dI,xg=tg?V[4].implementation:dI,UI=ug?V[5].implementation:dI,LI=dA?V[0].params.length:-1,JI=JA?V[1].params.length:-1,$I=PA?V[2].params.length:-1,UB=Cg?V[3].params.length:-1,AB=tg?V[4].params.length:-1,LB=ug?V[5].params.length:-1,JB=Yg?6:0,Hg=V.length,gB=V.map(DA=>DA.test),IB=V.map(DA=>DA.implementation),YI=function(){for(let DA=JB;DA<Hg;DA++)if(gB[DA](arguments))return IB[DA].apply(this,arguments);return a.onMismatch(M,arguments,V)};function gI(DA,ng){return arguments.length===LI&&AI(DA)&&og(ng)?mI.apply(this,arguments):arguments.length===JI&&mB(DA)&&SB(ng)?SI.apply(this,arguments):arguments.length===$I&&oI(DA)&&zI(ng)?ZI.apply(this,arguments):arguments.length===UB&&nI(DA)&&sI(ng)?_I.apply(this,arguments):arguments.length===AB&&PI(DA)&&kI(ng)?xg.apply(this,arguments):arguments.length===LB&&VI(DA)&&XI(ng)?UI.apply(this,arguments):YI.apply(this,arguments)}try{Object.defineProperty(gI,"name",{value:M})}catch{}return gI.signatures=K,gI._typedFunctionData={signatures:V,signatureMap:yA},gI}function iA(M,N,J){throw U(M,N,J)}function GA(M){return rA(M,0,M.length-1)}function eA(M){return M[M.length-1]}function rA(M,N,J){return Array.prototype.slice.call(M,N,J)}function FA(M,N){return{referTo:{references:M,callback:N}}}function RA(M){if(typeof M!="function")throw new TypeError("Callback function expected as first argument");return{referToSelf:{callback:M}}}function oA(M){return M&&typeof M.referTo=="object"&&Array.isArray(M.referTo.references)&&typeof M.referTo.callback=="function"}function cA(M){return M&&typeof M.referToSelf=="object"&&typeof M.referToSelf.callback=="function"}function LA(M,N){if(!M)return N;if(N&&N!==M){const J=new Error("Function names do not match (expected: "+M+", actual: "+N+")");throw J.data={actual:N,expected:M},J}return M}function KA(M){let N;for(const J in M)Object.prototype.hasOwnProperty.call(M,J)&&(s(M[J])||typeof M[J].signature=="string")&&(N=LA(N,M[J].name));return N}function ig(M,N){let J;for(J in N)if(Object.prototype.hasOwnProperty.call(N,J)){if(J in M&&N[J]!==M[J]){const x=new Error('Signature "'+J+'" is defined twice');throw x.data={signature:J,sourceFunction:N[J],destFunction:M[J]},x}M[J]=N[J]}}e(),t(g);const vA=a;function hA(M){if(!M||typeof M.from!="string"||typeof M.to!="string"||typeof M.convert!="function")throw new TypeError("Object with properties {from: string, to: string, convert: function} expected");if(M.to===M.from)throw new SyntaxError('Illegal to define conversion from "'+M.from+'" to itself.')}return a=function(M){const N=typeof M=="string";let J=N?M:"";const x={};for(let K=N?1:0;K<arguments.length;++K){const O=arguments[K];let Z,v={};if(typeof O=="function"?(Z=O.name,typeof O.signature=="string"?v[O.signature]=O:s(O)&&(v=O.signatures)):A(O)&&(v=O,N||(Z=KA(O))),Object.keys(v).length===0){const AA=new TypeError("Argument to 'typed' at index "+K+" is not a (typed) function, nor an object with signatures as keys and functions as values.");throw AA.data={index:K,argument:O},AA}N||(J=LA(J,Z)),ig(x,v)}return uA(J||"",x)},a.create=B,a.createCount=vA.createCount,a.onMismatch=iA,a.throwMismatchError=iA,a.createError=U,a.clear=e,a.clearConversions=function(){let M;for(M of C)Q.get(M).conversionsTo=[];E=0},a.addTypes=t,a._findType=i,a.referTo=function(){const M=GA(arguments).map(J=>r(h(J))),N=eA(arguments);if(typeof N!="function")throw new TypeError("Callback function expected as last argument");return FA(M,N)},a.referToSelf=RA,a.convert=function(M,N){const J=i(N);if(J.test(M))return M;const x=J.conversionsTo;if(x.length===0)throw new Error("There are no conversions to "+N+" defined.");for(let K=0;K<x.length;K++)if(i(x[K].from).test(M))return x[K].convert(M);throw new Error("Cannot convert "+M+" to "+N)},a.findSignature=n,a.find=function(M,N,J){return n(M,N,J).implementation},a.isTypedFunction=s,a.warnAgainstDeprecatedThis=!0,a.addType=function(M,N){let J="any";N!==!1&&Q.has("Object")&&(J="Object"),a.addTypes([M],J)},a.addConversion=function(M){let N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{override:!1};hA(M);const J=i(M.to),x=J.conversionsTo.find(K=>K.from===M.from);if(x){if(!N||!N.override)throw new Error('There is already a conversion from "'+M.from+'" to "'+J.name+'"');a.removeConversion({from:x.from,to:M.to,convert:x.convert})}J.conversionsTo.push({from:M.from,convert:M.convert,index:E++})},a.addConversions=function(M,N){M.forEach(J=>a.addConversion(J,N))},a.removeConversion=function(M){hA(M);const N=i(M.to),J=function(K,O){for(let Z=0;Z<K.length;Z++)if(O(K[Z]))return K[Z]}(N.conversionsTo,K=>K.from===M.from);if(!J)throw new Error("Attempt to remove nonexistent conversion from "+M.from+" to "+M.to);if(J.convert!==M.convert)throw new Error("Conversion to remove does not match existing conversion");const x=N.conversionsTo.indexOf(J);N.conversionsTo.splice(x,1)},a.resolve=function(M,N){if(!s(M))throw new TypeError(aC);const J=M._typedFunctionData.signatures;for(let x=0;x<J.length;++x)if(J[x].test(N))return J[x];return null},a}();function lA(B,A,g,I){function Q(C){var E=function(a,i){for(var t={},e=0;e<i.length;e++){var o=i[e],s=a[o];s!==void 0&&(t[o]=s)}return t}(C,A.map(ti));return function(a,i,t){var e=i.filter(s=>!function(n){return n&&n[0]==="?"}(s)).every(s=>t[s]!==void 0);if(!e){var o=i.filter(s=>t[s]===void 0);throw new Error('Cannot create function "'.concat(a,'", ')+"some dependencies are missing: ".concat(o.map(s=>'"'.concat(s,'"')).join(", "),"."))}}(B,A,C),g(E)}return Q.isFactory=!0,Q.fn=B,Q.dependencies=A.slice().sort(),I&&(Q.meta=I),Q}function ti(B){return B&&B[0]==="?"?B.slice(1):B}function YA(B){return typeof B=="boolean"||!!isFinite(B)&&B===Math.round(B)}function IQ(B,A,g){var I={2:"0b",8:"0o",16:"0x"}[A],Q="";if(g){if(g<1)throw new Error("size must be in greater than 0");if(!YA(g))throw new Error("size must be an integer");if(B>2**(g-1)-1||B<-(2**(g-1)))throw new Error("Value must be in range [-2^".concat(g-1,", 2^").concat(g-1,"-1]"));if(!YA(B))throw new Error("Value must be an integer");B<0&&(B+=2**g),Q="i".concat(g)}var C="";return B<0&&(B=-B,C="-"),"".concat(C).concat(I).concat(B.toString(A)).concat(Q)}function cQ(B,A){if(typeof A=="function")return A(B);if(B===1/0)return"Infinity";if(B===-1/0)return"-Infinity";if(isNaN(B))return"NaN";var{notation:g,precision:I,wordSize:Q}=WE(A);switch(g){case"fixed":return function(C,E){if(isNaN(C)||!isFinite(C))return String(C);var a=rB(C),i=typeof E=="number"?cB(a,a.exponent+1+E):a,t=i.coefficients,e=i.exponent+1,o=e+(E||0);return t.length<o&&(t=t.concat(fI(o-t.length))),e<0&&(t=fI(1-e).concat(t),e=1),e<t.length&&t.splice(e,0,e===0?"0.":"."),i.sign+t.join("")}(B,I);case"exponential":return eC(B,I);case"engineering":return function(C,E){if(isNaN(C)||!isFinite(C))return String(C);var a=rB(C),i=cB(a,E),t=i.exponent,e=i.coefficients,o=t%3==0?t:t<0?t-3-t%3:t-t%3;if(mA(E))for(;E>e.length||t-o+1>e.length;)e.push(0);else for(var s=Math.abs(t-o)-(e.length-1),n=0;n<s;n++)e.push(0);for(var r=Math.abs(t-o),c=1;r>0;)c++,r--;var D=e.slice(c).join(""),b=mA(E)&&D.length||D.match(/[1-9]/)?"."+D:"",h=e.slice(0,c).join("")+b+"e"+(t>=0?"+":"")+o.toString();return i.sign+h}(B,I);case"bin":return IQ(B,2,Q);case"oct":return IQ(B,8,Q);case"hex":return IQ(B,16,Q);case"auto":return function(C,E,a){if(isNaN(C)||!isFinite(C))return String(C);var i=tC(a?.lowerExp,-3),t=tC(a?.upperExp,5),e=rB(C),o=E?cB(e,E):e;if(o.exponent<i||o.exponent>=t)return eC(C,E);var s=o.coefficients,n=o.exponent;s.length<E&&(s=s.concat(fI(E-s.length))),s=s.concat(fI(n-s.length+1+(s.length<E?E-s.length:0)));var r=n>0?n:0;return r<(s=fI(-n).concat(s)).length-1&&s.splice(r+1,0,"."),o.sign+s.join("")}(B,I,A).replace(/((\.\d*?)(0+))($|e)/,function(){var C=arguments[2],E=arguments[4];return C!=="."?C+E:E});default:throw new Error('Unknown notation "'+g+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function WE(B){var A,g,I="auto";if(B!==void 0)if(mA(B))A=B;else if(WA(B))A=B.toNumber();else{if(!pQ(B))throw new Error("Unsupported type of options, number, BigNumber, or object expected");B.precision!==void 0&&(A=iC(B.precision,()=>{throw new Error('Option "precision" must be a number or BigNumber')})),B.wordSize!==void 0&&(g=iC(B.wordSize,()=>{throw new Error('Option "wordSize" must be a number or BigNumber')})),B.notation&&(I=B.notation)}return{notation:I,precision:A,wordSize:g}}function rB(B){var A=String(B).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!A)throw new SyntaxError("Invalid number "+B);var g=A[1],I=A[2],Q=parseFloat(A[4]||"0"),C=I.indexOf(".");Q+=C!==-1?C-1:I.length-1;var E=I.replace(".","").replace(/^0*/,function(a){return Q-=a.length,""}).replace(/0*$/,"").split("").map(function(a){return parseInt(a)});return E.length===0&&(E.push(0),Q++),{sign:g,coefficients:E,exponent:Q}}function eC(B,A){if(isNaN(B)||!isFinite(B))return String(B);var g=rB(B),I=A?cB(g,A):g,Q=I.coefficients,C=I.exponent;Q.length<A&&(Q=Q.concat(fI(A-Q.length)));var E=Q.shift();return I.sign+E+(Q.length>0?"."+Q.join(""):"")+"e"+(C>=0?"+":"")+C}function cB(B,A){for(var g={sign:B.sign,coefficients:B.coefficients,exponent:B.exponent},I=g.coefficients;A<=0;)I.unshift(0),g.exponent++,A++;if(I.length>A&&I.splice(A,I.length-A)[0]>=5){var Q=A-1;for(I[Q]++;I[Q]===10;)I.pop(),Q===0&&(I.unshift(0),g.exponent++,Q++),I[--Q]++}return g}function fI(B){for(var A=[],g=0;g<B;g++)A.push(0);return A}function hB(B,A){var g=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e-8,I=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(g<=0)throw new Error("Relative tolerance must be greater than 0");if(I<0)throw new Error("Absolute tolerance must be at least 0");return!isNaN(B)&&!isNaN(A)&&(isFinite(B)&&isFinite(A)?B===A||Math.abs(B-A)<=Math.max(g*Math.max(Math.abs(B),Math.abs(A)),I):B===A)}function iC(B,A){return mA(B)?B:WA(B)?B.toNumber():void A()}function tC(B,A){return mA(B)?B:WA(B)?B.toNumber():A}var PE=function(){return PE=fB.create,fB},oi=lA("typed",["?BigNumber","?Complex","?DenseMatrix","?Fraction"],function(B){var{BigNumber:A,Complex:g,DenseMatrix:I,Fraction:Q}=B,C=PE();return C.clear(),C.addTypes([{name:"number",test:mA},{name:"Complex",test:vE},{name:"BigNumber",test:WA},{name:"bigint",test:Ue},{name:"Fraction",test:TE},{name:"Unit",test:OE},{name:"identifier",test:E=>pg&&/^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*$/.test(E)},{name:"string",test:pg},{name:"Chain",test:ii},{name:"Array",test:VA},{name:"Matrix",test:qA},{name:"DenseMatrix",test:Le},{name:"SparseMatrix",test:Je},{name:"Range",test:Ye},{name:"Index",test:RQ},{name:"boolean",test:xe},{name:"ResultSet",test:He},{name:"Help",test:Ke},{name:"function",test:je},{name:"Date",test:qe},{name:"RegExp",test:ve},{name:"null",test:Oe},{name:"undefined",test:We},{name:"AccessorNode",test:Pe},{name:"ArrayNode",test:Ve},{name:"AssignmentNode",test:ze},{name:"BlockNode",test:Xe},{name:"ConditionalNode",test:Ze},{name:"ConstantNode",test:_e},{name:"FunctionNode",test:Ai},{name:"FunctionAssignmentNode",test:$e},{name:"IndexNode",test:gi},{name:"Node",test:Ii},{name:"ObjectNode",test:Bi},{name:"OperatorNode",test:Qi},{name:"ParenthesisNode",test:Ci},{name:"RangeNode",test:Ei},{name:"RelationalNode",test:ai},{name:"SymbolNode",test:ei},{name:"Map",test:Te},{name:"Object",test:pQ}]),C.addConversions([{from:"number",to:"BigNumber",convert:function(E){if(A||QB(E),E.toExponential().replace(/e.*$/,"").replace(/^0\.?0*|\./,"").length>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+E+"). Use function bignumber(x) to convert to BigNumber.");return new A(E)}},{from:"number",to:"Complex",convert:function(E){return g||CB(E),new g(E,0)}},{from:"BigNumber",to:"Complex",convert:function(E){return g||CB(E),new g(E.toNumber(),0)}},{from:"bigint",to:"number",convert:function(E){if(E>Number.MAX_SAFE_INTEGER)throw new TypeError("Cannot implicitly convert bigint to number: value exceeds the max safe integer value (value: "+E+")");return Number(E)}},{from:"bigint",to:"BigNumber",convert:function(E){return A||QB(E),new A(E.toString())}},{from:"bigint",to:"Fraction",convert:function(E){return Q||EB(E),new Q(E)}},{from:"Fraction",to:"BigNumber",convert:function(E){throw new TypeError("Cannot implicitly convert a Fraction to BigNumber or vice versa. Use function bignumber(x) to convert to BigNumber or fraction(x) to convert to Fraction.")}},{from:"Fraction",to:"Complex",convert:function(E){return g||CB(E),new g(E.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(E){Q||EB(E);var a=new Q(E);if(a.valueOf()!==E)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+E+"). Use function fraction(x) to convert to Fraction.");return a}},{from:"string",to:"number",convert:function(E){var a=Number(E);if(isNaN(a))throw new Error('Cannot convert "'+E+'" to a number');return a}},{from:"string",to:"BigNumber",convert:function(E){A||QB(E);try{return new A(E)}catch{throw new Error('Cannot convert "'+E+'" to BigNumber')}}},{from:"string",to:"bigint",convert:function(E){try{return BigInt(E)}catch{throw new Error('Cannot convert "'+E+'" to BigInt')}}},{from:"string",to:"Fraction",convert:function(E){Q||EB(E);try{return new Q(E)}catch{throw new Error('Cannot convert "'+E+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(E){g||CB(E);try{return new g(E)}catch{throw new Error('Cannot convert "'+E+'" to Complex')}}},{from:"boolean",to:"number",convert:function(E){return+E}},{from:"boolean",to:"BigNumber",convert:function(E){return A||QB(E),new A(+E)}},{from:"boolean",to:"bigint",convert:function(E){return BigInt(+E)}},{from:"boolean",to:"Fraction",convert:function(E){return Q||EB(E),new Q(+E)}},{from:"boolean",to:"string",convert:function(E){return String(E)}},{from:"Array",to:"Matrix",convert:function(E){return I||function(){throw new Error("Cannot convert array into a Matrix: no class 'DenseMatrix' provided")}(),new I(E)}},{from:"Matrix",to:"Array",convert:function(E){return E.valueOf()}}]),C.onMismatch=(E,a,i)=>{var t=C.createError(E,a,i);if(["wrongType","mismatch"].includes(t.data.category)&&a.length===1&&uB(a[0])&&i.some(o=>!o.params.includes(","))){var e=new TypeError("Function '".concat(E,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(E,")'."));throw e.data=t.data,e}throw t},C.onMismatch=(E,a,i)=>{var t=C.createError(E,a,i);if(["wrongType","mismatch"].includes(t.data.category)&&a.length===1&&uB(a[0])&&i.some(o=>!o.params.includes(","))){var e=new TypeError("Function '".concat(E,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(E,")'."));throw e.data=t.data,e}throw t},C});function QB(B){throw new Error("Cannot convert value ".concat(B," into a BigNumber: no class 'BigNumber' provided"))}function CB(B){throw new Error("Cannot convert value ".concat(B," into a Complex number: no class 'Complex' provided"))}function EB(B){throw new Error("Cannot convert value ".concat(B," into a Fraction, no class 'Fraction' provided."))}/*!
958
+ `);return Object.freeze(Oa)};function EC(){return!0}function Dg(){return!1}function dI(){}lB(iI,Oa,{MATRIX_OPTIONS:["Matrix","Array"],NUMBER_OPTIONS:["number","BigNumber","Fraction"]});const eC="Argument is not a typed-function.",FB=function B(){function A(M){return typeof M=="object"&&M!==null&&M.constructor===Object}const g=[{name:"number",test:function(M){return typeof M=="number"}},{name:"string",test:function(M){return typeof M=="string"}},{name:"boolean",test:function(M){return typeof M=="boolean"}},{name:"Function",test:function(M){return typeof M=="function"}},{name:"Array",test:Array.isArray},{name:"Date",test:function(M){return M instanceof Date}},{name:"RegExp",test:function(M){return M instanceof RegExp}},{name:"Object",test:A},{name:"null",test:function(M){return M===null}},{name:"undefined",test:function(M){return M===void 0}}],I={name:"any",test:EC,isAny:!0};let Q,C,a=0,E={createCount:0};function i(M){const m=Q.get(M);if(m)return m;let J='Unknown type "'+M+'"';const H=M.toLowerCase();let q;for(q of C)if(q.toLowerCase()===H){J+='. Did you mean "'+q+'" ?';break}throw new TypeError(J)}function t(M){let m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"any";const J=m?i(m).index:C.length,H=[];for(let W=0;W<M.length;++W){if(!M[W]||typeof M[W].name!="string"||typeof M[W].test!="function")throw new TypeError("Object with properties {name: string, test: function} expected");const Z=M[W].name;if(Q.has(Z))throw new TypeError('Duplicate type name "'+Z+'"');H.push(Z),Q.set(Z,{name:Z,test:M[W].test,isAny:M[W].isAny,index:J+W,conversionsTo:[]})}const q=C.slice(J);C=C.slice(0,J).concat(H).concat(q);for(let W=J+H.length;W<C.length;++W)Q.get(C[W]).index=W}function e(){Q=new Map,C=[],a=0,t([I],!1)}function o(M){const m=C.filter(J=>{const H=Q.get(J);return!H.isAny&&H.test(M)});return m.length?m:["any"]}function s(M){return M&&typeof M=="function"&&"_typedFunctionData"in M}function n(M,m,J){if(!s(M))throw new TypeError(eC);const H=J&&J.exact,q=h(Array.isArray(m)?m.join(","):m),W=r(q);if(!H||W in M.signatures){const V=M._typedFunctionData.signatureMap.get(W);if(V)return V}const Z=q.length;let T,gA;if(H){let V;for(V in T=[],M.signatures)T.push(M._typedFunctionData.signatureMap.get(V))}else T=M._typedFunctionData.signatures;for(let V=0;V<Z;++V){const yA=q[V],bA=[];let JA;for(JA of T){const PA=R(JA.params,V);if(PA&&(!yA.restParam||PA.restParam)){if(!PA.hasAny){const Cg=w(PA);if(yA.types.some(og=>!Cg.has(og.name)))continue}bA.push(JA)}}if(T=bA,T.length===0)break}for(gA of T)if(gA.params.length<=Z)return gA;throw new TypeError("Signature not found (signature: "+(M.name||"unnamed")+"("+r(q,", ")+"))")}function r(M){let m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:",";return M.map(J=>J.name).join(m)}function c(M){const m=M.indexOf("...")===0,J=(m?M.length>3?M.slice(3):"any":M).split("|").map(W=>i(W.trim()));let H=!1,q=m?"...":"";return{types:J.map(function(W){return H=W.isAny||H,q+=W.name+"|",{name:W.name,typeIndex:W.index,test:W.test,isAny:W.isAny,conversion:null,conversionIndex:-1}}),name:q.slice(0,-1),hasAny:H,hasConversion:!1,restParam:m}}function D(M){const m=M.types.map(Z=>Z.name),J=function(Z){if(Z.length===0)return[];const T=Z.map(i);Z.length>1&&T.sort((yA,bA)=>yA.index-bA.index);let gA=T[0].conversionsTo;if(Z.length===1)return gA;gA=gA.concat([]);const V=new Set(Z);for(let yA=1;yA<T.length;++yA){let bA;for(bA of T[yA].conversionsTo)V.has(bA.from)||(gA.push(bA),V.add(bA.from))}return gA}(m);let H=M.hasAny,q=M.name;const W=J.map(function(Z){const T=i(Z.from);return H=T.isAny||H,q+="|"+Z.from,{name:Z.from,typeIndex:T.index,test:T.test,isAny:T.isAny,conversion:Z,conversionIndex:Z.index}});return{types:M.types.concat(W),name:q,hasAny:H,hasConversion:W.length>0,restParam:M.restParam}}function w(M){return M.typeSet||(M.typeSet=new Set,M.types.forEach(m=>M.typeSet.add(m.name))),M.typeSet}function h(M){const m=[];if(typeof M!="string")throw new TypeError("Signatures must be strings");const J=M.trim();if(J==="")return m;const H=J.split(",");for(let q=0;q<H.length;++q){const W=c(H[q].trim());if(W.restParam&&q!==H.length-1)throw new SyntaxError('Unexpected rest parameter "'+H[q]+'": only allowed for the last parameter');if(W.types.length===0)return null;m.push(W)}return m}function d(M){const m=eA(M);return!!m&&m.restParam}function f(M){if(M&&M.types.length!==0){if(M.types.length===1)return i(M.types[0].name).test;if(M.types.length===2){const m=i(M.types[0].name).test,J=i(M.types[1].name).test;return function(H){return m(H)||J(H)}}{const m=M.types.map(function(J){return i(J.name).test});return function(J){for(let H=0;H<m.length;H++)if(m[H](J))return!0;return!1}}}return EC}function p(M){let m,J,H;if(d(M)){m=GA(M).map(f);const q=m.length,W=f(eA(M)),Z=function(T){for(let gA=q;gA<T.length;gA++)if(!W(T[gA]))return!1;return!0};return function(T){for(let gA=0;gA<m.length;gA++)if(!m[gA](T[gA]))return!1;return Z(T)&&T.length>=q+1}}return M.length===0?function(q){return q.length===0}:M.length===1?(J=f(M[0]),function(q){return J(q[0])&&q.length===1}):M.length===2?(J=f(M[0]),H=f(M[1]),function(q){return J(q[0])&&H(q[1])&&q.length===2}):(m=M.map(f),function(q){for(let W=0;W<m.length;W++)if(!m[W](q[W]))return!1;return q.length===m.length})}function R(M,m){return m<M.length?M[m]:d(M)?eA(M):null}function k(M,m){const J=R(M,m);return J?w(J):new Set}function G(M){return M.conversion===null||M.conversion===void 0}function N(M,m){const J=new Set;return M.forEach(H=>{const q=k(H.params,m);let W;for(W of q)J.add(W)}),J.has("any")?["any"]:Array.from(J)}function S(M,m,J){let H,q;const W=M||"unnamed";let Z,T=J;for(Z=0;Z<m.length;Z++){const bA=[];if(T.forEach(JA=>{const PA=f(R(JA.params,Z));(Z<JA.params.length||d(JA.params))&&PA(m[Z])&&bA.push(JA)}),bA.length===0){if(q=N(T,Z),q.length>0){const JA=o(m[Z]);return H=new TypeError("Unexpected type of argument in function "+W+" (expected: "+q.join(" or ")+", actual: "+JA.join(" | ")+", index: "+Z+")"),H.data={category:"wrongType",fn:W,index:Z,actual:JA,expected:q},H}}else T=bA}const gA=T.map(function(bA){return d(bA.params)?1/0:bA.params.length});if(m.length<Math.min.apply(null,gA))return q=N(T,Z),H=new TypeError("Too few arguments in function "+W+" (expected: "+q.join(" or ")+", index: "+m.length+")"),H.data={category:"tooFewArgs",fn:W,index:m.length,expected:q},H;const V=Math.max.apply(null,gA);if(m.length>V)return H=new TypeError("Too many arguments in function "+W+" (expected: "+V+", actual: "+m.length+")"),H.data={category:"tooManyArgs",fn:W,index:m.length,expectedLength:V},H;const yA=[];for(let bA=0;bA<m.length;++bA)yA.push(o(m[bA]).join("|"));return H=new TypeError('Arguments of type "'+yA.join(", ")+'" do not match any of the defined signatures of function '+W+"."),H.data={category:"mismatch",actual:yA},H}function U(M){let m=C.length+1;for(let J=0;J<M.types.length;J++)G(M.types[J])&&(m=Math.min(m,M.types[J].typeIndex));return m}function j(M){let m=a+1;for(let J=0;J<M.types.length;J++)G(M.types[J])||(m=Math.min(m,M.types[J].conversionIndex));return m}function z(M,m){if(M.hasAny){if(!m.hasAny)return 1}else if(m.hasAny)return-1;if(M.restParam){if(!m.restParam)return 1}else if(m.restParam)return-1;if(M.hasConversion){if(!m.hasConversion)return 1}else if(m.hasConversion)return-1;const J=U(M)-U(m);if(J<0)return-1;if(J>0)return 1;const H=j(M)-j(m);return H<0?-1:H>0?1:0}function AA(M,m){const J=M.params,H=m.params,q=eA(J),W=eA(H),Z=d(J),T=d(H);if(Z&&q.hasAny){if(!T||!W.hasAny)return 1}else if(T&&W.hasAny)return-1;let gA,V=0,yA=0;for(gA of J)gA.hasAny&&++V,gA.hasConversion&&++yA;let bA=0,JA=0;for(gA of H)gA.hasAny&&++bA,gA.hasConversion&&++JA;if(V!==bA)return V-bA;if(Z&&q.hasConversion){if(!T||!W.hasConversion)return 1}else if(T&&W.hasConversion)return-1;if(yA!==JA)return yA-JA;if(Z){if(!T)return 1}else if(T)return-1;const PA=(J.length-H.length)*(Z?-1:1);if(PA!==0)return PA;const Cg=[];let og,lg=0;for(let Yg=0;Yg<J.length;++Yg){const AI=z(J[Yg],H[Yg]);Cg.push(AI),lg+=AI}if(lg!==0)return lg;for(og of Cg)if(og!==0)return og;return 0}function _(M,m){let J=m;if(M.some(q=>q.hasConversion)){const q=d(M),W=M.map(X);J=function(){const Z=[],T=q?arguments.length-1:arguments.length;for(let gA=0;gA<T;gA++)Z[gA]=W[gA](arguments[gA]);return q&&(Z[T]=arguments[T].map(W[T])),m.apply(this,Z)}}let H=J;if(d(M)){const q=M.length-1;H=function(){return J.apply(this,rA(arguments,0,q).concat([rA(arguments,q)]))}}return H}function X(M){let m,J,H,q;const W=[],Z=[];switch(M.types.forEach(function(T){T.conversion&&(W.push(i(T.conversion.from).test),Z.push(T.conversion.convert))}),Z.length){case 0:return function(T){return T};case 1:return m=W[0],H=Z[0],function(T){return m(T)?H(T):T};case 2:return m=W[0],J=W[1],H=Z[0],q=Z[1],function(T){return m(T)?H(T):J(T)?q(T):T};default:return function(T){for(let gA=0;gA<Z.length;gA++)if(W[gA](T))return Z[gA](T);return T}}}function EA(M){return function m(J,H,q){if(H<J.length){const T=J[H];let gA=[];if(T.restParam){const V=T.types.filter(G);V.length<T.types.length&&gA.push({types:V,name:"..."+V.map(yA=>yA.name).join("|"),hasAny:V.some(yA=>yA.isAny),hasConversion:!1,restParam:!0}),gA.push(T)}else gA=T.types.map(function(V){return{types:[V],name:V.name,hasAny:V.isAny,hasConversion:V.conversion,restParam:!1}});return W=gA,Z=function(V){return m(J,H+1,q.concat([V]))},Array.prototype.concat.apply([],W.map(Z))}return[q];var W,Z}(M,0,[])}function cA(M,m){const J=Math.max(M.length,m.length);for(let T=0;T<J;T++){const gA=k(M,T),V=k(m,T);let yA,bA=!1;for(yA of V)if(gA.has(yA)){bA=!0;break}if(!bA)return!1}const H=M.length,q=m.length,W=d(M),Z=d(m);return W?Z?H===q:q>=H:Z?H>=q:H===q}function nA(M,m,J){const H=[];let q;for(q of M){let W=J[q];if(typeof W!="number")throw new TypeError('No definition for referenced signature "'+q+'"');if(W=m[W],typeof W!="function")return!1;H.push(W)}return H}function lA(M,m,J){const H=function(Z){return Z.map(T=>hA(T)?RA(T.referToSelf.callback):oA(T)?FA(T.referTo.references,T.referTo.callback):T)}(M),q=new Array(H.length).fill(!1);let W=!0;for(;W;){W=!1;let Z=!0;for(let T=0;T<H.length;++T){if(q[T])continue;const gA=H[T];if(hA(gA))H[T]=gA.referToSelf.callback(J),H[T].referToSelf=gA.referToSelf,q[T]=!0,Z=!1;else if(oA(gA)){const V=nA(gA.referTo.references,H,m);V?(H[T]=gA.referTo.callback.apply(this,V),H[T].referTo=gA.referTo,q[T]=!0,Z=!1):W=!0}}if(Z&&W)throw new SyntaxError("Circular reference detected in resolving typed.referTo")}return H}function uA(M,m){if(E.createCount++,Object.keys(m).length===0)throw new SyntaxError("No signatures provided");E.warnAgainstDeprecatedThis&&function(dA){const sg=/\bthis(\(|\.signatures\b)/;Object.keys(dA).forEach(xI=>{const Kg=dA[xI];if(sg.test(Kg.toString()))throw new SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead.")})}(m);const J=[],H=[],q={},W=[];let Z;for(Z in m){if(!Object.prototype.hasOwnProperty.call(m,Z))continue;const dA=h(Z);if(!dA)continue;J.forEach(function(II){if(cA(II,dA))throw new TypeError('Conflicting signatures "'+r(II)+'" and "'+r(dA)+'".')}),J.push(dA);const sg=H.length;H.push(m[Z]);const xI=dA.map(D);let Kg;for(Kg of EA(xI)){const II=r(Kg);W.push({params:Kg,name:II,fn:sg}),Kg.every(xB=>!xB.hasConversion)&&(q[II]=sg)}}W.sort(AA);const T=lA(H,q,gI);let gA;for(gA in q)Object.prototype.hasOwnProperty.call(q,gA)&&(q[gA]=T[q[gA]]);const V=[],yA=new Map;for(gA of W)yA.has(gA.name)||(gA.fn=T[gA.fn],V.push(gA),yA.set(gA.name,gA));const bA=V[0]&&V[0].params.length<=2&&!d(V[0].params),JA=V[1]&&V[1].params.length<=2&&!d(V[1].params),PA=V[2]&&V[2].params.length<=2&&!d(V[2].params),Cg=V[3]&&V[3].params.length<=2&&!d(V[3].params),og=V[4]&&V[4].params.length<=2&&!d(V[4].params),lg=V[5]&&V[5].params.length<=2&&!d(V[5].params),Yg=bA&&JA&&PA&&Cg&&og&&lg;for(let dA=0;dA<V.length;++dA)V[dA].test=p(V[dA].params);const AI=bA?f(V[0].params[0]):Dg,UB=JA?f(V[1].params[0]):Dg,oI=PA?f(V[2].params[0]):Dg,nI=Cg?f(V[3].params[0]):Dg,VI=og?f(V[4].params[0]):Dg,zI=lg?f(V[5].params[0]):Dg,ng=bA?f(V[0].params[1]):Dg,SB=JA?f(V[1].params[1]):Dg,XI=PA?f(V[2].params[1]):Dg,sI=Cg?f(V[3].params[1]):Dg,kI=og?f(V[4].params[1]):Dg,ZI=lg?f(V[5].params[1]):Dg;for(let dA=0;dA<V.length;++dA)V[dA].implementation=_(V[dA].params,V[dA].fn);const mI=bA?V[0].implementation:dI,UI=JA?V[1].implementation:dI,_I=PA?V[2].implementation:dI,$I=Cg?V[3].implementation:dI,xg=og?V[4].implementation:dI,SI=lg?V[5].implementation:dI,LI=bA?V[0].params.length:-1,JI=JA?V[1].params.length:-1,AB=PA?V[2].params.length:-1,LB=Cg?V[3].params.length:-1,gB=og?V[4].params.length:-1,JB=lg?V[5].params.length:-1,YB=Yg?6:0,Hg=V.length,IB=V.map(dA=>dA.test),BB=V.map(dA=>dA.implementation),YI=function(){for(let dA=YB;dA<Hg;dA++)if(IB[dA](arguments))return BB[dA].apply(this,arguments);return E.onMismatch(M,arguments,V)};function gI(dA,sg){return arguments.length===LI&&AI(dA)&&ng(sg)?mI.apply(this,arguments):arguments.length===JI&&UB(dA)&&SB(sg)?UI.apply(this,arguments):arguments.length===AB&&oI(dA)&&XI(sg)?_I.apply(this,arguments):arguments.length===LB&&nI(dA)&&sI(sg)?$I.apply(this,arguments):arguments.length===gB&&VI(dA)&&kI(sg)?xg.apply(this,arguments):arguments.length===JB&&zI(dA)&&ZI(sg)?SI.apply(this,arguments):YI.apply(this,arguments)}try{Object.defineProperty(gI,"name",{value:M})}catch{}return gI.signatures=q,gI._typedFunctionData={signatures:V,signatureMap:yA},gI}function iA(M,m,J){throw S(M,m,J)}function GA(M){return rA(M,0,M.length-1)}function eA(M){return M[M.length-1]}function rA(M,m,J){return Array.prototype.slice.call(M,m,J)}function FA(M,m){return{referTo:{references:M,callback:m}}}function RA(M){if(typeof M!="function")throw new TypeError("Callback function expected as first argument");return{referToSelf:{callback:M}}}function oA(M){return M&&typeof M.referTo=="object"&&Array.isArray(M.referTo.references)&&typeof M.referTo.callback=="function"}function hA(M){return M&&typeof M.referToSelf=="object"&&typeof M.referToSelf.callback=="function"}function LA(M,m){if(!M)return m;if(m&&m!==M){const J=new Error("Function names do not match (expected: "+M+", actual: "+m+")");throw J.data={actual:m,expected:M},J}return M}function KA(M){let m;for(const J in M)Object.prototype.hasOwnProperty.call(M,J)&&(s(M[J])||typeof M[J].signature=="string")&&(m=LA(m,M[J].name));return m}function tg(M,m){let J;for(J in m)if(Object.prototype.hasOwnProperty.call(m,J)){if(J in M&&m[J]!==M[J]){const H=new Error('Signature "'+J+'" is defined twice');throw H.data={signature:J,sourceFunction:m[J],destFunction:M[J]},H}M[J]=m[J]}}e(),t(g);const vA=E;function DA(M){if(!M||typeof M.from!="string"||typeof M.to!="string"||typeof M.convert!="function")throw new TypeError("Object with properties {from: string, to: string, convert: function} expected");if(M.to===M.from)throw new SyntaxError('Illegal to define conversion from "'+M.from+'" to itself.')}return E=function(M){const m=typeof M=="string";let J=m?M:"";const H={};for(let q=m?1:0;q<arguments.length;++q){const W=arguments[q];let Z,T={};if(typeof W=="function"?(Z=W.name,typeof W.signature=="string"?T[W.signature]=W:s(W)&&(T=W.signatures)):A(W)&&(T=W,m||(Z=KA(W))),Object.keys(T).length===0){const gA=new TypeError("Argument to 'typed' at index "+q+" is not a (typed) function, nor an object with signatures as keys and functions as values.");throw gA.data={index:q,argument:W},gA}m||(J=LA(J,Z)),tg(H,T)}return uA(J||"",H)},E.create=B,E.createCount=vA.createCount,E.onMismatch=iA,E.throwMismatchError=iA,E.createError=S,E.clear=e,E.clearConversions=function(){let M;for(M of C)Q.get(M).conversionsTo=[];a=0},E.addTypes=t,E._findType=i,E.referTo=function(){const M=GA(arguments).map(J=>r(h(J))),m=eA(arguments);if(typeof m!="function")throw new TypeError("Callback function expected as last argument");return FA(M,m)},E.referToSelf=RA,E.convert=function(M,m){const J=i(m);if(J.test(M))return M;const H=J.conversionsTo;if(H.length===0)throw new Error("There are no conversions to "+m+" defined.");for(let q=0;q<H.length;q++)if(i(H[q].from).test(M))return H[q].convert(M);throw new Error("Cannot convert "+M+" to "+m)},E.findSignature=n,E.find=function(M,m,J){return n(M,m,J).implementation},E.isTypedFunction=s,E.warnAgainstDeprecatedThis=!0,E.addType=function(M,m){let J="any";m!==!1&&Q.has("Object")&&(J="Object"),E.addTypes([M],J)},E.addConversion=function(M){let m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{override:!1};DA(M);const J=i(M.to),H=J.conversionsTo.find(q=>q.from===M.from);if(H){if(!m||!m.override)throw new Error('There is already a conversion from "'+M.from+'" to "'+J.name+'"');E.removeConversion({from:H.from,to:M.to,convert:H.convert})}J.conversionsTo.push({from:M.from,convert:M.convert,index:a++})},E.addConversions=function(M,m){M.forEach(J=>E.addConversion(J,m))},E.removeConversion=function(M){DA(M);const m=i(M.to),J=function(q,W){for(let Z=0;Z<q.length;Z++)if(W(q[Z]))return q[Z]}(m.conversionsTo,q=>q.from===M.from);if(!J)throw new Error("Attempt to remove nonexistent conversion from "+M.from+" to "+M.to);if(J.convert!==M.convert)throw new Error("Conversion to remove does not match existing conversion");const H=m.conversionsTo.indexOf(J);m.conversionsTo.splice(H,1)},E.resolve=function(M,m){if(!s(M))throw new TypeError(eC);const J=M._typedFunctionData.signatures;for(let H=0;H<J.length;++H)if(J[H].test(m))return J[H];return null},E}();function fA(B,A,g,I){function Q(C){var a=function(E,i){for(var t={},e=0;e<i.length;e++){var o=i[e],s=E[o];s!==void 0&&(t[o]=s)}return t}(C,A.map(si));return function(E,i,t){var e=i.filter(s=>!function(n){return n&&n[0]==="?"}(s)).every(s=>t[s]!==void 0);if(!e){var o=i.filter(s=>t[s]===void 0);throw new Error('Cannot create function "'.concat(E,'", ')+"some dependencies are missing: ".concat(o.map(s=>'"'.concat(s,'"')).join(", "),"."))}}(B,A,C),g(a)}return Q.isFactory=!0,Q.fn=B,Q.dependencies=A.slice().sort(),I&&(Q.meta=I),Q}function si(B){return B&&B[0]==="?"?B.slice(1):B}function YA(B){return typeof B=="boolean"||!!isFinite(B)&&B===Math.round(B)}function BQ(B,A,g){var I={2:"0b",8:"0o",16:"0x"}[A],Q="";if(g){if(g<1)throw new Error("size must be in greater than 0");if(!YA(g))throw new Error("size must be an integer");if(B>2**(g-1)-1||B<-(2**(g-1)))throw new Error("Value must be in range [-2^".concat(g-1,", 2^").concat(g-1,"-1]"));if(!YA(B))throw new Error("Value must be an integer");B<0&&(B+=2**g),Q="i".concat(g)}var C="";return B<0&&(B=-B,C="-"),"".concat(C).concat(I).concat(B.toString(A)).concat(Q)}function hQ(B,A){if(typeof A=="function")return A(B);if(B===1/0)return"Infinity";if(B===-1/0)return"-Infinity";if(isNaN(B))return"NaN";var{notation:g,precision:I,wordSize:Q}=za(A);switch(g){case"fixed":return function(C,a){if(isNaN(C)||!isFinite(C))return String(C);var E=cB(C),i=typeof a=="number"?hB(E,E.exponent+1+a):E,t=i.coefficients,e=i.exponent+1,o=e+(a||0);return t.length<o&&(t=t.concat(fI(o-t.length))),e<0&&(t=fI(1-e).concat(t),e=1),e<t.length&&t.splice(e,0,e===0?"0.":"."),i.sign+t.join("")}(B,I);case"exponential":return iC(B,I);case"engineering":return function(C,a){if(isNaN(C)||!isFinite(C))return String(C);var E=cB(C),i=hB(E,a),t=i.exponent,e=i.coefficients,o=t%3==0?t:t<0?t-3-t%3:t-t%3;if(mA(a))for(;a>e.length||t-o+1>e.length;)e.push(0);else for(var s=Math.abs(t-o)-(e.length-1),n=0;n<s;n++)e.push(0);for(var r=Math.abs(t-o),c=1;r>0;)c++,r--;var D=e.slice(c).join(""),w=mA(a)&&D.length||D.match(/[1-9]/)?"."+D:"",h=e.slice(0,c).join("")+w+"e"+(t>=0?"+":"")+o.toString();return i.sign+h}(B,I);case"bin":return BQ(B,2,Q);case"oct":return BQ(B,8,Q);case"hex":return BQ(B,16,Q);case"auto":return function(C,a,E){if(isNaN(C)||!isFinite(C))return String(C);var i=oC(E?.lowerExp,-3),t=oC(E?.upperExp,5),e=cB(C),o=a?hB(e,a):e;if(o.exponent<i||o.exponent>=t)return iC(C,a);var s=o.coefficients,n=o.exponent;s.length<a&&(s=s.concat(fI(a-s.length))),s=s.concat(fI(n-s.length+1+(s.length<a?a-s.length:0)));var r=n>0?n:0;return r<(s=fI(-n).concat(s)).length-1&&s.splice(r+1,0,"."),o.sign+s.join("")}(B,I,A).replace(/((\.\d*?)(0+))($|e)/,function(){var C=arguments[2],a=arguments[4];return C!=="."?C+a:a});default:throw new Error('Unknown notation "'+g+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function za(B){var A,g,I="auto";if(B!==void 0)if(mA(B))A=B;else if(WA(B))A=B.toNumber();else{if(!NQ(B))throw new Error("Unsupported type of options, number, BigNumber, or object expected");B.precision!==void 0&&(A=tC(B.precision,()=>{throw new Error('Option "precision" must be a number or BigNumber')})),B.wordSize!==void 0&&(g=tC(B.wordSize,()=>{throw new Error('Option "wordSize" must be a number or BigNumber')})),B.notation&&(I=B.notation)}return{notation:I,precision:A,wordSize:g}}function cB(B){var A=String(B).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!A)throw new SyntaxError("Invalid number "+B);var g=A[1],I=A[2],Q=parseFloat(A[4]||"0"),C=I.indexOf(".");Q+=C!==-1?C-1:I.length-1;var a=I.replace(".","").replace(/^0*/,function(E){return Q-=E.length,""}).replace(/0*$/,"").split("").map(function(E){return parseInt(E)});return a.length===0&&(a.push(0),Q++),{sign:g,coefficients:a,exponent:Q}}function iC(B,A){if(isNaN(B)||!isFinite(B))return String(B);var g=cB(B),I=A?hB(g,A):g,Q=I.coefficients,C=I.exponent;Q.length<A&&(Q=Q.concat(fI(A-Q.length)));var a=Q.shift();return I.sign+a+(Q.length>0?"."+Q.join(""):"")+"e"+(C>=0?"+":"")+C}function hB(B,A){for(var g={sign:B.sign,coefficients:B.coefficients,exponent:B.exponent},I=g.coefficients;A<=0;)I.unshift(0),g.exponent++,A++;if(I.length>A&&I.splice(A,I.length-A)[0]>=5){var Q=A-1;for(I[Q]++;I[Q]===10;)I.pop(),Q===0&&(I.unshift(0),g.exponent++,Q++),I[--Q]++}return g}function fI(B){for(var A=[],g=0;g<B;g++)A.push(0);return A}function DB(B,A){var g=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e-8,I=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(g<=0)throw new Error("Relative tolerance must be greater than 0");if(I<0)throw new Error("Absolute tolerance must be at least 0");return!isNaN(B)&&!isNaN(A)&&(isFinite(B)&&isFinite(A)?B===A||Math.abs(B-A)<=Math.max(g*Math.max(Math.abs(B),Math.abs(A)),I):B===A)}function tC(B,A){return mA(B)?B:WA(B)?B.toNumber():void A()}function oC(B,A){return mA(B)?B:WA(B)?B.toNumber():A}var Xa=function(){return Xa=FB.create,FB},ri=fA("typed",["?BigNumber","?Complex","?DenseMatrix","?Fraction"],function(B){var{BigNumber:A,Complex:g,DenseMatrix:I,Fraction:Q}=B,C=Xa();return C.clear(),C.addTypes([{name:"number",test:mA},{name:"Complex",test:Wa},{name:"BigNumber",test:WA},{name:"bigint",test:Ye},{name:"Fraction",test:Pa},{name:"Unit",test:Va},{name:"identifier",test:a=>pg&&/^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*$/.test(a)},{name:"string",test:pg},{name:"Chain",test:ni},{name:"Array",test:VA},{name:"Matrix",test:qA},{name:"DenseMatrix",test:xe},{name:"SparseMatrix",test:He},{name:"Range",test:Ke},{name:"Index",test:pQ},{name:"boolean",test:je},{name:"ResultSet",test:qe},{name:"Help",test:ve},{name:"function",test:Te},{name:"Date",test:Oe},{name:"RegExp",test:We},{name:"null",test:Ve},{name:"undefined",test:ze},{name:"AccessorNode",test:Xe},{name:"ArrayNode",test:Ze},{name:"AssignmentNode",test:_e},{name:"BlockNode",test:$e},{name:"ConditionalNode",test:Ai},{name:"ConstantNode",test:gi},{name:"FunctionNode",test:Bi},{name:"FunctionAssignmentNode",test:Ii},{name:"IndexNode",test:Qi},{name:"Node",test:Ci},{name:"ObjectNode",test:ai},{name:"OperatorNode",test:Ei},{name:"ParenthesisNode",test:ei},{name:"RangeNode",test:ii},{name:"RelationalNode",test:ti},{name:"SymbolNode",test:oi},{name:"Map",test:Pe},{name:"Object",test:NQ}]),C.addConversions([{from:"number",to:"BigNumber",convert:function(a){if(A||CB(a),a.toExponential().replace(/e.*$/,"").replace(/^0\.?0*|\./,"").length>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+a+"). Use function bignumber(x) to convert to BigNumber.");return new A(a)}},{from:"number",to:"Complex",convert:function(a){return g||aB(a),new g(a,0)}},{from:"BigNumber",to:"Complex",convert:function(a){return g||aB(a),new g(a.toNumber(),0)}},{from:"bigint",to:"number",convert:function(a){if(a>Number.MAX_SAFE_INTEGER)throw new TypeError("Cannot implicitly convert bigint to number: value exceeds the max safe integer value (value: "+a+")");return Number(a)}},{from:"bigint",to:"BigNumber",convert:function(a){return A||CB(a),new A(a.toString())}},{from:"bigint",to:"Fraction",convert:function(a){return Q||EB(a),new Q(a)}},{from:"Fraction",to:"BigNumber",convert:function(a){throw new TypeError("Cannot implicitly convert a Fraction to BigNumber or vice versa. Use function bignumber(x) to convert to BigNumber or fraction(x) to convert to Fraction.")}},{from:"Fraction",to:"Complex",convert:function(a){return g||aB(a),new g(a.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(a){Q||EB(a);var E=new Q(a);if(E.valueOf()!==a)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+a+"). Use function fraction(x) to convert to Fraction.");return E}},{from:"string",to:"number",convert:function(a){var E=Number(a);if(isNaN(E))throw new Error('Cannot convert "'+a+'" to a number');return E}},{from:"string",to:"BigNumber",convert:function(a){A||CB(a);try{return new A(a)}catch{throw new Error('Cannot convert "'+a+'" to BigNumber')}}},{from:"string",to:"bigint",convert:function(a){try{return BigInt(a)}catch{throw new Error('Cannot convert "'+a+'" to BigInt')}}},{from:"string",to:"Fraction",convert:function(a){Q||EB(a);try{return new Q(a)}catch{throw new Error('Cannot convert "'+a+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(a){g||aB(a);try{return new g(a)}catch{throw new Error('Cannot convert "'+a+'" to Complex')}}},{from:"boolean",to:"number",convert:function(a){return+a}},{from:"boolean",to:"BigNumber",convert:function(a){return A||CB(a),new A(+a)}},{from:"boolean",to:"bigint",convert:function(a){return BigInt(+a)}},{from:"boolean",to:"Fraction",convert:function(a){return Q||EB(a),new Q(+a)}},{from:"boolean",to:"string",convert:function(a){return String(a)}},{from:"Array",to:"Matrix",convert:function(a){return I||function(){throw new Error("Cannot convert array into a Matrix: no class 'DenseMatrix' provided")}(),new I(a)}},{from:"Matrix",to:"Array",convert:function(a){return a.valueOf()}}]),C.onMismatch=(a,E,i)=>{var t=C.createError(a,E,i);if(["wrongType","mismatch"].includes(t.data.category)&&E.length===1&&uB(E[0])&&i.some(o=>!o.params.includes(","))){var e=new TypeError("Function '".concat(a,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(a,")'."));throw e.data=t.data,e}throw t},C.onMismatch=(a,E,i)=>{var t=C.createError(a,E,i);if(["wrongType","mismatch"].includes(t.data.category)&&E.length===1&&uB(E[0])&&i.some(o=>!o.params.includes(","))){var e=new TypeError("Function '".concat(a,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(a,")'."));throw e.data=t.data,e}throw t},C});function CB(B){throw new Error("Cannot convert value ".concat(B," into a BigNumber: no class 'BigNumber' provided"))}function aB(B){throw new Error("Cannot convert value ".concat(B," into a Complex number: no class 'Complex' provided"))}function EB(B){throw new Error("Cannot convert value ".concat(B," into a Fraction, no class 'Fraction' provided."))}/*!
959
959
  * decimal.js v10.5.0
960
960
  * An arbitrary-precision Decimal type for JavaScript.
961
961
  * https://github.com/MikeMcl/decimal.js
962
962
  * Copyright (c) 2025 Michael Mclaughlin <M8ch88l@gmail.com>
963
963
  * MIT Licence
964
- */var VE,Jg,FI=9e15,Zg=1e9,hQ="0123456789abcdef",FB="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",yB="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",DQ={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-FI,maxE:FI,crypto:!1},tA=!0,NB="[DecimalError] ",$g=NB+"Invalid argument: ",zE=NB+"Precision limit exceeded",XE=NB+"crypto unavailable",ZE="[object Decimal]",Ag=Math.floor,zA=Math.pow,ni=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,si=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,ri=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,_E=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Fg=1e7,ci=FB.length-1,dQ=yB.length-1,q={toStringTag:ZE};function _A(B){var A,g,I,Q=B.length-1,C="",E=B[0];if(Q>0){for(C+=E,A=1;A<Q;A++)(g=7-(I=B[A]+"").length)&&(C+=Xg(g)),C+=I;(g=7-(I=(E=B[A])+"").length)&&(C+=Xg(g))}else if(E===0)return"0";for(;E%10==0;)E/=10;return C+E}function ag(B,A,g){if(B!==~~B||B<A||B>g)throw Error($g+B)}function vI(B,A,g,I){var Q,C,E,a;for(C=B[0];C>=10;C/=10)--A;return--A<0?(A+=7,Q=0):(Q=Math.ceil((A+1)/7),A%=7),C=zA(10,7-A),a=B[Q]%C|0,I==null?A<3?(A==0?a=a/100|0:A==1&&(a=a/10|0),E=g<4&&a==99999||g>3&&a==49999||a==5e4||a==0):E=(g<4&&a+1==C||g>3&&a+1==C/2)&&(B[Q+1]/C/100|0)==zA(10,A-2)-1||(a==C/2||a==0)&&!(B[Q+1]/C/100|0):A<4?(A==0?a=a/1e3|0:A==1?a=a/100|0:A==2&&(a=a/10|0),E=(I||g<4)&&a==9999||!I&&g>3&&a==4999):E=((I||g<4)&&a+1==C||!I&&g>3&&a+1==C/2)&&(B[Q+1]/C/1e3|0)==zA(10,A-3)-1,E}function DB(B,A,g){for(var I,Q,C=[0],E=0,a=B.length;E<a;){for(Q=C.length;Q--;)C[Q]*=A;for(C[0]+=hQ.indexOf(B.charAt(E++)),I=0;I<C.length;I++)C[I]>g-1&&(C[I+1]===void 0&&(C[I+1]=0),C[I+1]+=C[I]/g|0,C[I]%=g)}return C.reverse()}q.absoluteValue=q.abs=function(){var B=new this.constructor(this);return B.s<0&&(B.s=1),CA(B)},q.ceil=function(){return CA(new this.constructor(this),this.e+1,2)},q.clampedTo=q.clamp=function(B,A){var g=this,I=g.constructor;if(B=new I(B),A=new I(A),!B.s||!A.s)return new I(NaN);if(B.gt(A))throw Error($g+A);return g.cmp(B)<0?B:g.cmp(A)>0?A:new I(g)},q.comparedTo=q.cmp=function(B){var A,g,I,Q,C=this,E=C.d,a=(B=new C.constructor(B)).d,i=C.s,t=B.s;if(!E||!a)return i&&t?i!==t?i:E===a?0:!E^i<0?1:-1:NaN;if(!E[0]||!a[0])return E[0]?i:a[0]?-t:0;if(i!==t)return i;if(C.e!==B.e)return C.e>B.e^i<0?1:-1;for(A=0,g=(I=E.length)<(Q=a.length)?I:Q;A<g;++A)if(E[A]!==a[A])return E[A]>a[A]^i<0?1:-1;return I===Q?0:I>Q^i<0?1:-1},q.cosine=q.cos=function(){var B,A,g=this,I=g.constructor;return g.d?g.d[0]?(B=I.precision,A=I.rounding,I.precision=B+Math.max(g.e,g.sd())+7,I.rounding=1,g=function(Q,C){var E,a,i;if(C.isZero())return C;a=C.d.length,a<32?i=(1/aB(4,E=Math.ceil(a/3))).toString():(E=16,i="2.3283064365386962890625e-10"),Q.precision+=E,C=bI(Q,1,C.times(i),new Q(1));for(var t=E;t--;){var e=C.times(C);C=e.times(e).minus(e).times(8).plus(1)}return Q.precision-=E,C}(I,sC(I,g)),I.precision=B,I.rounding=A,CA(Jg==2||Jg==3?g.neg():g,B,A,!0)):new I(1):new I(NaN)},q.cubeRoot=q.cbrt=function(){var B,A,g,I,Q,C,E,a,i,t,e=this,o=e.constructor;if(!e.isFinite()||e.isZero())return new o(e);for(tA=!1,(C=e.s*zA(e.s*e,1/3))&&Math.abs(C)!=1/0?I=new o(C.toString()):(g=_A(e.d),(C=((B=e.e)-g.length+1)%3)&&(g+=C==1||C==-2?"0":"00"),C=zA(g,1/3),B=Ag((B+1)/3)-(B%3==(B<0?-1:2)),(I=new o(g=C==1/0?"5e"+B:(g=C.toExponential()).slice(0,g.indexOf("e")+1)+B)).s=e.s),E=(B=o.precision)+3;;)if(t=(i=(a=I).times(a).times(a)).plus(e),I=NA(t.plus(e).times(a),t.plus(i),E+2,1),_A(a.d).slice(0,E)===(g=_A(I.d)).slice(0,E)){if((g=g.slice(E-3,E+1))!="9999"&&(Q||g!="4999")){+g&&(+g.slice(1)||g.charAt(0)!="5")||(CA(I,B+1,1),A=!I.times(I).times(I).eq(e));break}if(!Q&&(CA(a,B+1,0),a.times(a).times(a).eq(e))){I=a;break}E+=4,Q=1}return tA=!0,CA(I,B,o.rounding,A)},q.decimalPlaces=q.dp=function(){var B,A=this.d,g=NaN;if(A){if(g=7*((B=A.length-1)-Ag(this.e/7)),B=A[B])for(;B%10==0;B/=10)g--;g<0&&(g=0)}return g},q.dividedBy=q.div=function(B){return NA(this,new this.constructor(B))},q.dividedToIntegerBy=q.divToInt=function(B){var A=this.constructor;return CA(NA(this,new A(B),0,1,1),A.precision,A.rounding)},q.equals=q.eq=function(B){return this.cmp(B)===0},q.floor=function(){return CA(new this.constructor(this),this.e+1,3)},q.greaterThan=q.gt=function(B){return this.cmp(B)>0},q.greaterThanOrEqualTo=q.gte=function(B){var A=this.cmp(B);return A==1||A===0},q.hyperbolicCosine=q.cosh=function(){var B,A,g,I,Q,C=this,E=C.constructor,a=new E(1);if(!C.isFinite())return new E(C.s?1/0:NaN);if(C.isZero())return a;g=E.precision,I=E.rounding,E.precision=g+Math.max(C.e,C.sd())+4,E.rounding=1,(Q=C.d.length)<32?A=(1/aB(4,B=Math.ceil(Q/3))).toString():(B=16,A="2.3283064365386962890625e-10"),C=bI(E,1,C.times(A),new E(1),!0);for(var i,t=B,e=new E(8);t--;)i=C.times(C),C=a.minus(i.times(e.minus(i.times(e))));return CA(C,E.precision=g,E.rounding=I,!0)},q.hyperbolicSine=q.sinh=function(){var B,A,g,I,Q=this,C=Q.constructor;if(!Q.isFinite()||Q.isZero())return new C(Q);if(A=C.precision,g=C.rounding,C.precision=A+Math.max(Q.e,Q.sd())+4,C.rounding=1,(I=Q.d.length)<3)Q=bI(C,2,Q,Q,!0);else{B=(B=1.4*Math.sqrt(I))>16?16:0|B,Q=bI(C,2,Q=Q.times(1/aB(5,B)),Q,!0);for(var E,a=new C(5),i=new C(16),t=new C(20);B--;)E=Q.times(Q),Q=Q.times(a.plus(E.times(i.times(E).plus(t))))}return C.precision=A,C.rounding=g,CA(Q,A,g,!0)},q.hyperbolicTangent=q.tanh=function(){var B,A,g=this,I=g.constructor;return g.isFinite()?g.isZero()?new I(g):(B=I.precision,A=I.rounding,I.precision=B+7,I.rounding=1,NA(g.sinh(),g.cosh(),I.precision=B,I.rounding=A)):new I(g.s)},q.inverseCosine=q.acos=function(){var B=this,A=B.constructor,g=B.abs().cmp(1),I=A.precision,Q=A.rounding;return g!==-1?g===0?B.isNeg()?Ng(A,I,Q):new A(0):new A(NaN):B.isZero()?Ng(A,I+4,Q).times(.5):(A.precision=I+6,A.rounding=1,B=new A(1).minus(B).div(B.plus(1)).sqrt().atan(),A.precision=I,A.rounding=Q,B.times(2))},q.inverseHyperbolicCosine=q.acosh=function(){var B,A,g=this,I=g.constructor;return g.lte(1)?new I(g.eq(1)?0:NaN):g.isFinite()?(B=I.precision,A=I.rounding,I.precision=B+Math.max(Math.abs(g.e),g.sd())+4,I.rounding=1,tA=!1,g=g.times(g).minus(1).sqrt().plus(g),tA=!0,I.precision=B,I.rounding=A,g.ln()):new I(g)},q.inverseHyperbolicSine=q.asinh=function(){var B,A,g=this,I=g.constructor;return!g.isFinite()||g.isZero()?new I(g):(B=I.precision,A=I.rounding,I.precision=B+2*Math.max(Math.abs(g.e),g.sd())+6,I.rounding=1,tA=!1,g=g.times(g).plus(1).sqrt().plus(g),tA=!0,I.precision=B,I.rounding=A,g.ln())},q.inverseHyperbolicTangent=q.atanh=function(){var B,A,g,I,Q=this,C=Q.constructor;return Q.isFinite()?Q.e>=0?new C(Q.abs().eq(1)?Q.s/0:Q.isZero()?Q:NaN):(B=C.precision,A=C.rounding,I=Q.sd(),Math.max(I,B)<2*-Q.e-1?CA(new C(Q),B,A,!0):(C.precision=g=I-Q.e,Q=NA(Q.plus(1),new C(1).minus(Q),g+B,1),C.precision=B+4,C.rounding=1,Q=Q.ln(),C.precision=B,C.rounding=A,Q.times(.5))):new C(NaN)},q.inverseSine=q.asin=function(){var B,A,g,I,Q=this,C=Q.constructor;return Q.isZero()?new C(Q):(A=Q.abs().cmp(1),g=C.precision,I=C.rounding,A!==-1?A===0?((B=Ng(C,g+4,I).times(.5)).s=Q.s,B):new C(NaN):(C.precision=g+6,C.rounding=1,Q=Q.div(new C(1).minus(Q.times(Q)).sqrt().plus(1)).atan(),C.precision=g,C.rounding=I,Q.times(2)))},q.inverseTangent=q.atan=function(){var B,A,g,I,Q,C,E,a,i,t=this,e=t.constructor,o=e.precision,s=e.rounding;if(t.isFinite()){if(t.isZero())return new e(t);if(t.abs().eq(1)&&o+4<=dQ)return(E=Ng(e,o+4,s).times(.25)).s=t.s,E}else{if(!t.s)return new e(NaN);if(o+4<=dQ)return(E=Ng(e,o+4,s).times(.5)).s=t.s,E}for(e.precision=a=o+10,e.rounding=1,B=g=Math.min(28,a/7+2|0);B;--B)t=t.div(t.times(t).plus(1).sqrt().plus(1));for(tA=!1,A=Math.ceil(a/7),I=1,i=t.times(t),E=new e(t),Q=t;B!==-1;)if(Q=Q.times(i),C=E.minus(Q.div(I+=2)),Q=Q.times(i),(E=C.plus(Q.div(I+=2))).d[A]!==void 0)for(B=A;E.d[B]===C.d[B]&&B--;);return g&&(E=E.times(2<<g-1)),tA=!0,CA(E,e.precision=o,e.rounding=s,!0)},q.isFinite=function(){return!!this.d},q.isInteger=q.isInt=function(){return!!this.d&&Ag(this.e/7)>this.d.length-2},q.isNaN=function(){return!this.s},q.isNegative=q.isNeg=function(){return this.s<0},q.isPositive=q.isPos=function(){return this.s>0},q.isZero=function(){return!!this.d&&this.d[0]===0},q.lessThan=q.lt=function(B){return this.cmp(B)<0},q.lessThanOrEqualTo=q.lte=function(B){return this.cmp(B)<1},q.logarithm=q.log=function(B){var A,g,I,Q,C,E,a,i,t=this,e=t.constructor,o=e.precision,s=e.rounding;if(B==null)B=new e(10),A=!0;else{if(g=(B=new e(B)).d,B.s<0||!g||!g[0]||B.eq(1))return new e(NaN);A=B.eq(10)}if(g=t.d,t.s<0||!g||!g[0]||t.eq(1))return new e(g&&!g[0]?-1/0:t.s!=1?NaN:g?0:1/0);if(A)if(g.length>1)C=!0;else{for(Q=g[0];Q%10==0;)Q/=10;C=Q!==1}if(tA=!1,E=Vg(t,a=o+5),I=A?MB(e,a+10):Vg(B,a),vI((i=NA(E,I,a,1)).d,Q=o,s))do if(E=Vg(t,a+=10),I=A?MB(e,a+10):Vg(B,a),i=NA(E,I,a,1),!C){+_A(i.d).slice(Q+1,Q+15)+1==1e14&&(i=CA(i,o+1,0));break}while(vI(i.d,Q+=10,s));return tA=!0,CA(i,o,s)},q.minus=q.sub=function(B){var A,g,I,Q,C,E,a,i,t,e,o,s,n=this,r=n.constructor;if(B=new r(B),!n.d||!B.d)return n.s&&B.s?n.d?B.s=-B.s:B=new r(B.d||n.s!==B.s?n:NaN):B=new r(NaN),B;if(n.s!=B.s)return B.s=-B.s,n.plus(B);if(t=n.d,s=B.d,a=r.precision,i=r.rounding,!t[0]||!s[0]){if(s[0])B.s=-B.s;else{if(!t[0])return new r(i===3?-0:0);B=new r(n)}return tA?CA(B,a,i):B}if(g=Ag(B.e/7),e=Ag(n.e/7),t=t.slice(),C=e-g){for((o=C<0)?(A=t,C=-C,E=s.length):(A=s,g=e,E=t.length),C>(I=Math.max(Math.ceil(a/7),E)+2)&&(C=I,A.length=1),A.reverse(),I=C;I--;)A.push(0);A.reverse()}else{for((o=(I=t.length)<(E=s.length))&&(E=I),I=0;I<E;I++)if(t[I]!=s[I]){o=t[I]<s[I];break}C=0}for(o&&(A=t,t=s,s=A,B.s=-B.s),E=t.length,I=s.length-E;I>0;--I)t[E++]=0;for(I=s.length;I>C;){if(t[--I]<s[I]){for(Q=I;Q&&t[--Q]===0;)t[Q]=Fg-1;--t[Q],t[I]+=Fg}t[I]-=s[I]}for(;t[--E]===0;)t.pop();for(;t[0]===0;t.shift())--g;return t[0]?(B.d=t,B.e=dB(t,g),tA?CA(B,a,i):B):new r(i===3?-0:0)},q.modulo=q.mod=function(B){var A,g=this,I=g.constructor;return B=new I(B),!g.d||!B.s||B.d&&!B.d[0]?new I(NaN):!B.d||g.d&&!g.d[0]?CA(new I(g),I.precision,I.rounding):(tA=!1,I.modulo==9?(A=NA(g,B.abs(),0,3,1)).s*=B.s:A=NA(g,B,0,I.modulo,1),A=A.times(B),tA=!0,g.minus(A))},q.naturalExponential=q.exp=function(){return BQ(this)},q.naturalLogarithm=q.ln=function(){return Vg(this)},q.negated=q.neg=function(){var B=new this.constructor(this);return B.s=-B.s,CA(B)},q.plus=q.add=function(B){var A,g,I,Q,C,E,a,i,t,e,o=this,s=o.constructor;if(B=new s(B),!o.d||!B.d)return o.s&&B.s?o.d||(B=new s(B.d||o.s===B.s?o:NaN)):B=new s(NaN),B;if(o.s!=B.s)return B.s=-B.s,o.minus(B);if(t=o.d,e=B.d,a=s.precision,i=s.rounding,!t[0]||!e[0])return e[0]||(B=new s(o)),tA?CA(B,a,i):B;if(C=Ag(o.e/7),I=Ag(B.e/7),t=t.slice(),Q=C-I){for(Q<0?(g=t,Q=-Q,E=e.length):(g=e,I=C,E=t.length),Q>(E=(C=Math.ceil(a/7))>E?C+1:E+1)&&(Q=E,g.length=1),g.reverse();Q--;)g.push(0);g.reverse()}for((E=t.length)-(Q=e.length)<0&&(Q=E,g=e,e=t,t=g),A=0;Q;)A=(t[--Q]=t[Q]+e[Q]+A)/Fg|0,t[Q]%=Fg;for(A&&(t.unshift(A),++I),E=t.length;t[--E]==0;)t.pop();return B.d=t,B.e=dB(t,I),tA?CA(B,a,i):B},q.precision=q.sd=function(B){var A,g=this;if(B!==void 0&&B!==!!B&&B!==1&&B!==0)throw Error($g+B);return g.d?(A=oC(g.d),B&&g.e+1>A&&(A=g.e+1)):A=NaN,A},q.round=function(){var B=this,A=B.constructor;return CA(new A(B),B.e+1,A.rounding)},q.sine=q.sin=function(){var B,A,g=this,I=g.constructor;return g.isFinite()?g.isZero()?new I(g):(B=I.precision,A=I.rounding,I.precision=B+Math.max(g.e,g.sd())+7,I.rounding=1,g=function(Q,C){var E,a=C.d.length;if(a<3)return C.isZero()?C:bI(Q,2,C,C);E=(E=1.4*Math.sqrt(a))>16?16:0|E,C=C.times(1/aB(5,E)),C=bI(Q,2,C,C);for(var i,t=new Q(5),e=new Q(16),o=new Q(20);E--;)i=C.times(C),C=C.times(t.plus(i.times(e.times(i).minus(o))));return C}(I,sC(I,g)),I.precision=B,I.rounding=A,CA(Jg>2?g.neg():g,B,A,!0)):new I(NaN)},q.squareRoot=q.sqrt=function(){var B,A,g,I,Q,C,E=this,a=E.d,i=E.e,t=E.s,e=E.constructor;if(t!==1||!a||!a[0])return new e(!t||t<0&&(!a||a[0])?NaN:a?E:1/0);for(tA=!1,(t=Math.sqrt(+E))==0||t==1/0?(((A=_A(a)).length+i)%2==0&&(A+="0"),t=Math.sqrt(A),i=Ag((i+1)/2)-(i<0||i%2),I=new e(A=t==1/0?"5e"+i:(A=t.toExponential()).slice(0,A.indexOf("e")+1)+i)):I=new e(t.toString()),g=(i=e.precision)+3;;)if(I=(C=I).plus(NA(E,C,g+2,1)).times(.5),_A(C.d).slice(0,g)===(A=_A(I.d)).slice(0,g)){if((A=A.slice(g-3,g+1))!="9999"&&(Q||A!="4999")){+A&&(+A.slice(1)||A.charAt(0)!="5")||(CA(I,i+1,1),B=!I.times(I).eq(E));break}if(!Q&&(CA(C,i+1,0),C.times(C).eq(E))){I=C;break}g+=4,Q=1}return tA=!0,CA(I,i,e.rounding,B)},q.tangent=q.tan=function(){var B,A,g=this,I=g.constructor;return g.isFinite()?g.isZero()?new I(g):(B=I.precision,A=I.rounding,I.precision=B+10,I.rounding=1,(g=g.sin()).s=1,g=NA(g,new I(1).minus(g.times(g)).sqrt(),B+10,0),I.precision=B,I.rounding=A,CA(Jg==2||Jg==4?g.neg():g,B,A,!0)):new I(NaN)},q.times=q.mul=function(B){var A,g,I,Q,C,E,a,i,t,e=this,o=e.constructor,s=e.d,n=(B=new o(B)).d;if(B.s*=e.s,!(s&&s[0]&&n&&n[0]))return new o(!B.s||s&&!s[0]&&!n||n&&!n[0]&&!s?NaN:s&&n?0*B.s:B.s/0);for(g=Ag(e.e/7)+Ag(B.e/7),(i=s.length)<(t=n.length)&&(C=s,s=n,n=C,E=i,i=t,t=E),C=[],I=E=i+t;I--;)C.push(0);for(I=t;--I>=0;){for(A=0,Q=i+I;Q>I;)a=C[Q]+n[I]*s[Q-I-1]+A,C[Q--]=a%Fg|0,A=a/Fg|0;C[Q]=(C[Q]+A)%Fg|0}for(;!C[--E];)C.pop();return A?++g:C.shift(),B.d=C,B.e=dB(C,g),tA?CA(B,o.precision,o.rounding):B},q.toBinary=function(B,A){return QQ(this,2,B,A)},q.toDecimalPlaces=q.toDP=function(B,A){var g=this,I=g.constructor;return g=new I(g),B===void 0?g:(ag(B,0,Zg),A===void 0?A=I.rounding:ag(A,0,8),CA(g,B+g.e+1,A))},q.toExponential=function(B,A){var g,I=this,Q=I.constructor;return B===void 0?g=Gg(I,!0):(ag(B,0,Zg),A===void 0?A=Q.rounding:ag(A,0,8),g=Gg(I=CA(new Q(I),B+1,A),!0,B+1)),I.isNeg()&&!I.isZero()?"-"+g:g},q.toFixed=function(B,A){var g,I,Q=this,C=Q.constructor;return B===void 0?g=Gg(Q):(ag(B,0,Zg),A===void 0?A=C.rounding:ag(A,0,8),g=Gg(I=CA(new C(Q),B+Q.e+1,A),!1,B+I.e+1)),Q.isNeg()&&!Q.isZero()?"-"+g:g},q.toFraction=function(B){var A,g,I,Q,C,E,a,i,t,e,o,s,n=this,r=n.d,c=n.constructor;if(!r)return new c(n);if(t=g=new c(1),I=i=new c(0),E=(C=(A=new c(I)).e=oC(r)-n.e-1)%7,A.d[0]=zA(10,E<0?7+E:E),B==null)B=C>0?A:t;else{if(!(a=new c(B)).isInt()||a.lt(t))throw Error($g+a);B=a.gt(A)?C>0?A:t:a}for(tA=!1,a=new c(_A(r)),e=c.precision,c.precision=C=7*r.length*2;o=NA(a,A,0,1,1),(Q=g.plus(o.times(I))).cmp(B)!=1;)g=I,I=Q,Q=t,t=i.plus(o.times(Q)),i=Q,Q=A,A=a.minus(o.times(Q)),a=Q;return Q=NA(B.minus(g),I,0,1,1),i=i.plus(Q.times(t)),g=g.plus(Q.times(I)),i.s=t.s=n.s,s=NA(t,I,C,1).minus(n).abs().cmp(NA(i,g,C,1).minus(n).abs())<1?[t,I]:[i,g],c.precision=e,tA=!0,s},q.toHexadecimal=q.toHex=function(B,A){return QQ(this,16,B,A)},q.toNearest=function(B,A){var g=this,I=g.constructor;if(g=new I(g),B==null){if(!g.d)return g;B=new I(1),A=I.rounding}else{if(B=new I(B),A===void 0?A=I.rounding:ag(A,0,8),!g.d)return B.s?g:B;if(!B.d)return B.s&&(B.s=g.s),B}return B.d[0]?(tA=!1,g=NA(g,B,0,A,1).times(B),tA=!0,CA(g)):(B.s=g.s,g=B),g},q.toNumber=function(){return+this},q.toOctal=function(B,A){return QQ(this,8,B,A)},q.toPower=q.pow=function(B){var A,g,I,Q,C,E,a=this,i=a.constructor,t=+(B=new i(B));if(!(a.d&&B.d&&a.d[0]&&B.d[0]))return new i(zA(+a,t));if((a=new i(a)).eq(1))return a;if(I=i.precision,C=i.rounding,B.eq(1))return CA(a,I,C);if((A=Ag(B.e/7))>=B.d.length-1&&(g=t<0?-t:t)<=9007199254740991)return Q=$E(i,a,g,I),B.s<0?new i(1).div(Q):CA(Q,I,C);if((E=a.s)<0){if(A<B.d.length-1)return new i(NaN);if(1&B.d[A]||(E=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=E,a}return(A=(g=zA(+a,t))!=0&&isFinite(g)?new i(g+"").e:Ag(t*(Math.log("0."+_A(a.d))/Math.LN10+a.e+1)))>i.maxE+1||A<i.minE-1?new i(A>0?E/0:0):(tA=!1,i.rounding=a.s=1,g=Math.min(12,(A+"").length),(Q=BQ(B.times(Vg(a,I+g)),I)).d&&vI((Q=CA(Q,I+5,1)).d,I,C)&&(A=I+10,+_A((Q=CA(BQ(B.times(Vg(a,A+g)),A),A+5,1)).d).slice(I+1,I+15)+1==1e14&&(Q=CA(Q,I+1,0))),Q.s=E,tA=!0,i.rounding=C,CA(Q,I,C))},q.toPrecision=function(B,A){var g,I=this,Q=I.constructor;return B===void 0?g=Gg(I,I.e<=Q.toExpNeg||I.e>=Q.toExpPos):(ag(B,1,Zg),A===void 0?A=Q.rounding:ag(A,0,8),g=Gg(I=CA(new Q(I),B,A),B<=I.e||I.e<=Q.toExpNeg,B)),I.isNeg()&&!I.isZero()?"-"+g:g},q.toSignificantDigits=q.toSD=function(B,A){var g=this.constructor;return B===void 0?(B=g.precision,A=g.rounding):(ag(B,1,Zg),A===void 0?A=g.rounding:ag(A,0,8)),CA(new g(this),B,A)},q.toString=function(){var B=this,A=B.constructor,g=Gg(B,B.e<=A.toExpNeg||B.e>=A.toExpPos);return B.isNeg()&&!B.isZero()?"-"+g:g},q.truncated=q.trunc=function(){return CA(new this.constructor(this),this.e+1,1)},q.valueOf=q.toJSON=function(){var B=this,A=B.constructor,g=Gg(B,B.e<=A.toExpNeg||B.e>=A.toExpPos);return B.isNeg()?"-"+g:g};var NA=function(){function B(I,Q,C){var E,a=0,i=I.length;for(I=I.slice();i--;)E=I[i]*Q+a,I[i]=E%C|0,a=E/C|0;return a&&I.unshift(a),I}function A(I,Q,C,E){var a,i;if(C!=E)i=C>E?1:-1;else for(a=i=0;a<C;a++)if(I[a]!=Q[a]){i=I[a]>Q[a]?1:-1;break}return i}function g(I,Q,C,E){for(var a=0;C--;)I[C]-=a,a=I[C]<Q[C]?1:0,I[C]=a*E+I[C]-Q[C];for(;!I[0]&&I.length>1;)I.shift()}return function(I,Q,C,E,a,i){var t,e,o,s,n,r,c,D,b,h,w,f,p,R,m,G,k,U,S,j,z=I.constructor,gA=I.s==Q.s?1:-1,$=I.d,X=Q.d;if(!($&&$[0]&&X&&X[0]))return new z(I.s&&Q.s&&($?!X||$[0]!=X[0]:X)?$&&$[0]==0||!X?0*gA:gA/0:NaN);for(i?(n=1,e=I.e-Q.e):(i=Fg,n=7,e=Ag(I.e/n)-Ag(Q.e/n)),S=X.length,k=$.length,h=(b=new z(gA)).d=[],o=0;X[o]==($[o]||0);o++);if(X[o]>($[o]||0)&&e--,C==null?(R=C=z.precision,E=z.rounding):R=a?C+(I.e-Q.e)+1:C,R<0)h.push(1),r=!0;else{if(R=R/n+2|0,o=0,S==1){for(s=0,X=X[0],R++;(o<k||s)&&R--;o++)m=s*i+($[o]||0),h[o]=m/X|0,s=m%X|0;r=s||o<k}else{for((s=i/(X[0]+1)|0)>1&&(X=B(X,s,i),$=B($,s,i),S=X.length,k=$.length),G=S,f=(w=$.slice(0,S)).length;f<S;)w[f++]=0;(j=X.slice()).unshift(0),U=X[0],X[1]>=i/2&&++U;do s=0,(t=A(X,w,S,f))<0?(p=w[0],S!=f&&(p=p*i+(w[1]||0)),(s=p/U|0)>1?(s>=i&&(s=i-1),(t=A(c=B(X,s,i),w,D=c.length,f=w.length))==1&&(s--,g(c,S<D?j:X,D,i))):(s==0&&(t=s=1),c=X.slice()),(D=c.length)<f&&c.unshift(0),g(w,c,f,i),t==-1&&(t=A(X,w,S,f=w.length))<1&&(s++,g(w,S<f?j:X,f,i)),f=w.length):t===0&&(s++,w=[0]),h[o++]=s,t&&w[0]?w[f++]=$[G]||0:(w=[$[G]],f=1);while((G++<k||w[0]!==void 0)&&R--);r=w[0]!==void 0}h[0]||h.shift()}if(n==1)b.e=e,VE=r;else{for(o=1,s=h[0];s>=10;s/=10)o++;b.e=o+e*n-1,CA(b,a?C+b.e+1:C,E,r)}return b}}();function CA(B,A,g,I){var Q,C,E,a,i,t,e,o,s,n=B.constructor;A:if(A!=null){if(!(o=B.d))return B;for(Q=1,a=o[0];a>=10;a/=10)Q++;if((C=A-Q)<0)C+=7,E=A,i=(e=o[s=0])/zA(10,Q-E-1)%10|0;else if((s=Math.ceil((C+1)/7))>=(a=o.length)){if(!I)break A;for(;a++<=s;)o.push(0);e=i=0,Q=1,E=(C%=7)-7+1}else{for(e=a=o[s],Q=1;a>=10;a/=10)Q++;i=(E=(C%=7)-7+Q)<0?0:e/zA(10,Q-E-1)%10|0}if(I=I||A<0||o[s+1]!==void 0||(E<0?e:e%zA(10,Q-E-1)),t=g<4?(i||I)&&(g==0||g==(B.s<0?3:2)):i>5||i==5&&(g==4||I||g==6&&(C>0?E>0?e/zA(10,Q-E):0:o[s-1])%10&1||g==(B.s<0?8:7)),A<1||!o[0])return o.length=0,t?(A-=B.e+1,o[0]=zA(10,(7-A%7)%7),B.e=-A||0):o[0]=B.e=0,B;if(C==0?(o.length=s,a=1,s--):(o.length=s+1,a=zA(10,7-C),o[s]=E>0?(e/zA(10,Q-E)%zA(10,E)|0)*a:0),t)for(;;){if(s==0){for(C=1,E=o[0];E>=10;E/=10)C++;for(E=o[0]+=a,a=1;E>=10;E/=10)a++;C!=a&&(B.e++,o[0]==Fg&&(o[0]=1));break}if(o[s]+=a,o[s]!=Fg)break;o[s--]=0,a=1}for(C=o.length;o[--C]===0;)o.pop()}return tA&&(B.e>n.maxE?(B.d=null,B.e=NaN):B.e<n.minE&&(B.e=0,B.d=[0])),B}function Gg(B,A,g){if(!B.isFinite())return ga(B);var I,Q=B.e,C=_A(B.d),E=C.length;return A?(g&&(I=g-E)>0?C=C.charAt(0)+"."+C.slice(1)+Xg(I):E>1&&(C=C.charAt(0)+"."+C.slice(1)),C=C+(B.e<0?"e":"e+")+B.e):Q<0?(C="0."+Xg(-Q-1)+C,g&&(I=g-E)>0&&(C+=Xg(I))):Q>=E?(C+=Xg(Q+1-E),g&&(I=g-Q-1)>0&&(C=C+"."+Xg(I))):((I=Q+1)<E&&(C=C.slice(0,I)+"."+C.slice(I)),g&&(I=g-E)>0&&(Q+1===E&&(C+="."),C+=Xg(I))),C}function dB(B,A){var g=B[0];for(A*=7;g>=10;g/=10)A++;return A}function MB(B,A,g){if(A>ci)throw tA=!0,g&&(B.precision=g),Error(zE);return CA(new B(FB),A,1,!0)}function Ng(B,A,g){if(A>dQ)throw Error(zE);return CA(new B(yB),A,g,!0)}function oC(B){var A=B.length-1,g=7*A+1;if(A=B[A]){for(;A%10==0;A/=10)g--;for(A=B[0];A>=10;A/=10)g++}return g}function Xg(B){for(var A="";B--;)A+="0";return A}function $E(B,A,g,I){var Q,C=new B(1),E=Math.ceil(I/7+4);for(tA=!1;;){if(g%2&&rC((C=C.times(A)).d,E)&&(Q=!0),(g=Ag(g/2))===0){g=C.d.length-1,Q&&C.d[g]===0&&++C.d[g];break}rC((A=A.times(A)).d,E)}return tA=!0,C}function nC(B){return 1&B.d[B.d.length-1]}function Aa(B,A,g){for(var I,Q,C=new B(A[0]),E=0;++E<A.length;){if(!(Q=new B(A[E])).s){C=Q;break}((I=C.cmp(Q))===g||I===0&&C.s===g)&&(C=Q)}return C}function BQ(B,A){var g,I,Q,C,E,a,i,t=0,e=0,o=0,s=B.constructor,n=s.rounding,r=s.precision;if(!B.d||!B.d[0]||B.e>17)return new s(B.d?B.d[0]?B.s<0?0:1/0:1:B.s?B.s<0?0:B:NaN);for(A==null?(tA=!1,i=r):i=A,a=new s(.03125);B.e>-2;)B=B.times(a),o+=5;for(i+=I=Math.log(zA(2,o))/Math.LN10*2+5|0,g=C=E=new s(1),s.precision=i;;){if(C=CA(C.times(B),i,1),g=g.times(++e),_A((a=E.plus(NA(C,g,i,1))).d).slice(0,i)===_A(E.d).slice(0,i)){for(Q=o;Q--;)E=CA(E.times(E),i,1);if(A!=null)return s.precision=r,E;if(!(t<3&&vI(E.d,i-I,n,t)))return CA(E,s.precision=r,n,tA=!0);s.precision=i+=10,g=C=a=new s(1),e=0,t++}E=a}}function Vg(B,A){var g,I,Q,C,E,a,i,t,e,o,s,n=1,r=B,c=r.d,D=r.constructor,b=D.rounding,h=D.precision;if(r.s<0||!c||!c[0]||!r.e&&c[0]==1&&c.length==1)return new D(c&&!c[0]?-1/0:r.s!=1?NaN:c?0:r);if(A==null?(tA=!1,e=h):e=A,D.precision=e+=10,I=(g=_A(c)).charAt(0),!(Math.abs(C=r.e)<15e14))return t=MB(D,e+2,h).times(C+""),r=Vg(new D(I+"."+g.slice(1)),e-10).plus(t),D.precision=h,A==null?CA(r,h,b,tA=!0):r;for(;I<7&&I!=1||I==1&&g.charAt(1)>3;)I=(g=_A((r=r.times(B)).d)).charAt(0),n++;for(C=r.e,I>1?(r=new D("0."+g),C++):r=new D(I+"."+g.slice(1)),o=r,i=E=r=NA(r.minus(1),r.plus(1),e,1),s=CA(r.times(r),e,1),Q=3;;){if(E=CA(E.times(s),e,1),_A((t=i.plus(NA(E,new D(Q),e,1))).d).slice(0,e)===_A(i.d).slice(0,e)){if(i=i.times(2),C!==0&&(i=i.plus(MB(D,e+2,h).times(C+""))),i=NA(i,new D(n),e,1),A!=null)return D.precision=h,i;if(!vI(i.d,e-10,b,a))return CA(i,D.precision=h,b,tA=!0);D.precision=e+=10,t=E=r=NA(o.minus(1),o.plus(1),e,1),s=CA(r.times(r),e,1),Q=a=1}i=t,Q+=2}}function ga(B){return String(B.s*B.s/0)}function bB(B,A){var g,I,Q;for((g=A.indexOf("."))>-1&&(A=A.replace(".","")),(I=A.search(/e/i))>0?(g<0&&(g=I),g+=+A.slice(I+1),A=A.substring(0,I)):g<0&&(g=A.length),I=0;A.charCodeAt(I)===48;I++);for(Q=A.length;A.charCodeAt(Q-1)===48;--Q);if(A=A.slice(I,Q)){if(Q-=I,B.e=g=g-I-1,B.d=[],I=(g+1)%7,g<0&&(I+=7),I<Q){for(I&&B.d.push(+A.slice(0,I)),Q-=7;I<Q;)B.d.push(+A.slice(I,I+=7));I=7-(A=A.slice(I)).length}else I-=Q;for(;I--;)A+="0";B.d.push(+A),tA&&(B.e>B.constructor.maxE?(B.d=null,B.e=NaN):B.e<B.constructor.minE&&(B.e=0,B.d=[0]))}else B.e=0,B.d=[0];return B}function hi(B,A){var g,I,Q,C,E,a,i,t,e;if(A.indexOf("_")>-1){if(A=A.replace(/(\d)_(?=\d)/g,"$1"),_E.test(A))return bB(B,A)}else if(A==="Infinity"||A==="NaN")return+A||(B.s=NaN),B.e=NaN,B.d=null,B;if(si.test(A))g=16,A=A.toLowerCase();else if(ni.test(A))g=2;else{if(!ri.test(A))throw Error($g+A);g=8}for((C=A.search(/p/i))>0?(i=+A.slice(C+1),A=A.substring(2,C)):A=A.slice(2),E=(C=A.indexOf("."))>=0,I=B.constructor,E&&(C=(a=(A=A.replace(".","")).length)-C,Q=$E(I,new I(g),C,2*C)),C=e=(t=DB(A,g,Fg)).length-1;t[C]===0;--C)t.pop();return C<0?new I(0*B.s):(B.e=dB(t,e),B.d=t,tA=!1,E&&(B=NA(B,Q,4*a)),i&&(B=B.times(Math.abs(i)<54?zA(2,i):NI.pow(2,i))),tA=!0,B)}function bI(B,A,g,I,Q){var C,E,a,i,t=B.precision,e=Math.ceil(t/7);for(tA=!1,i=g.times(g),a=new B(I);;){if(E=NA(a.times(i),new B(A++*A++),t,1),a=Q?I.plus(E):I.minus(E),I=NA(E.times(i),new B(A++*A++),t,1),(E=a.plus(I)).d[e]!==void 0){for(C=e;E.d[C]===a.d[C]&&C--;);if(C==-1)break}C=a,a=I,I=E,E=C}return tA=!0,E.d.length=e+1,E}function aB(B,A){for(var g=B;--A;)g*=B;return g}function sC(B,A){var g,I=A.s<0,Q=Ng(B,B.precision,1),C=Q.times(.5);if((A=A.abs()).lte(C))return Jg=I?4:1,A;if((g=A.divToInt(Q)).isZero())Jg=I?3:2;else{if((A=A.minus(g.times(Q))).lte(C))return Jg=nC(g)?I?2:3:I?4:1,A;Jg=nC(g)?I?1:4:I?3:2}return A.minus(Q).abs()}function QQ(B,A,g,I){var Q,C,E,a,i,t,e,o,s,n=B.constructor,r=g!==void 0;if(r?(ag(g,1,Zg),I===void 0?I=n.rounding:ag(I,0,8)):(g=n.precision,I=n.rounding),B.isFinite()){for(r?(Q=2,A==16?g=4*g-3:A==8&&(g=3*g-2)):Q=A,(E=(e=Gg(B)).indexOf("."))>=0&&(e=e.replace(".",""),(s=new n(1)).e=e.length-E,s.d=DB(Gg(s),10,Q),s.e=s.d.length),C=i=(o=DB(e,10,Q)).length;o[--i]==0;)o.pop();if(o[0]){if(E<0?C--:((B=new n(B)).d=o,B.e=C,o=(B=NA(B,s,g,I,0,Q)).d,C=B.e,t=VE),E=o[g],a=Q/2,t=t||o[g+1]!==void 0,t=I<4?(E!==void 0||t)&&(I===0||I===(B.s<0?3:2)):E>a||E===a&&(I===4||t||I===6&&1&o[g-1]||I===(B.s<0?8:7)),o.length=g,t)for(;++o[--g]>Q-1;)o[g]=0,g||(++C,o.unshift(1));for(i=o.length;!o[i-1];--i);for(E=0,e="";E<i;E++)e+=hQ.charAt(o[E]);if(r){if(i>1)if(A==16||A==8){for(E=A==16?4:3,--i;i%E;i++)e+="0";for(i=(o=DB(e,Q,A)).length;!o[i-1];--i);for(E=1,e="1.";E<i;E++)e+=hQ.charAt(o[E])}else e=e.charAt(0)+"."+e.slice(1);e=e+(C<0?"p":"p+")+C}else if(C<0){for(;++C;)e="0"+e;e="0."+e}else if(++C>i)for(C-=i;C--;)e+="0";else C<i&&(e=e.slice(0,C)+"."+e.slice(C))}else e=r?"0p+0":"0";e=(A==16?"0x":A==2?"0b":A==8?"0o":"")+e}else e=ga(B);return B.s<0?"-"+e:e}function rC(B,A){if(B.length>A)return B.length=A,!0}function Di(B){return new this(B).abs()}function di(B){return new this(B).acos()}function bi(B){return new this(B).acosh()}function wi(B,A){return new this(B).plus(A)}function ui(B){return new this(B).asin()}function li(B){return new this(B).asinh()}function fi(B){return new this(B).atan()}function Fi(B){return new this(B).atanh()}function yi(B,A){B=new this(B),A=new this(A);var g,I=this.precision,Q=this.rounding,C=I+4;return B.s&&A.s?B.d||A.d?!A.d||B.isZero()?(g=A.s<0?Ng(this,I,Q):new this(0)).s=B.s:!B.d||A.isZero()?(g=Ng(this,C,1).times(.5)).s=B.s:A.s<0?(this.precision=C,this.rounding=1,g=this.atan(NA(B,A,C,1)),A=Ng(this,C,1),this.precision=I,this.rounding=Q,g=B.s<0?g.minus(A):g.plus(A)):g=this.atan(NA(B,A,C,1)):(g=Ng(this,C,1).times(A.s>0?.25:.75)).s=B.s:g=new this(NaN),g}function Mi(B){return new this(B).cbrt()}function Gi(B){return CA(B=new this(B),B.e+1,2)}function Ri(B,A,g){return new this(B).clamp(A,g)}function pi(B){if(!B||typeof B!="object")throw Error(NB+"Object expected");var A,g,I,Q=B.defaults===!0,C=["precision",1,Zg,"rounding",0,8,"toExpNeg",-FI,0,"toExpPos",0,FI,"maxE",0,FI,"minE",-FI,0,"modulo",0,9];for(A=0;A<C.length;A+=3)if(g=C[A],Q&&(this[g]=DQ[g]),(I=B[g])!==void 0){if(!(Ag(I)===I&&I>=C[A+1]&&I<=C[A+2]))throw Error($g+g+": "+I);this[g]=I}if(g="crypto",Q&&(this[g]=DQ[g]),(I=B[g])!==void 0){if(I!==!0&&I!==!1&&I!==0&&I!==1)throw Error($g+g+": "+I);if(I){if(typeof crypto>"u"||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(XE);this[g]=!0}else this[g]=!1}return this}function Ni(B){return new this(B).cos()}function ki(B){return new this(B).cosh()}function mi(B,A){return new this(B).div(A)}function Si(B){return new this(B).exp()}function Ui(B){return CA(B=new this(B),B.e+1,3)}function Li(){var B,A,g=new this(0);for(tA=!1,B=0;B<arguments.length;)if((A=new this(arguments[B++])).d)g.d&&(g=g.plus(A.times(A)));else{if(A.s)return tA=!0,new this(1/0);g=A}return tA=!0,g.sqrt()}function cC(B){return B instanceof NI||B&&B.toStringTag===ZE||!1}function Ji(B){return new this(B).ln()}function Yi(B,A){return new this(B).log(A)}function xi(B){return new this(B).log(2)}function Hi(B){return new this(B).log(10)}function Ki(){return Aa(this,arguments,-1)}function ji(){return Aa(this,arguments,1)}function qi(B,A){return new this(B).mod(A)}function vi(B,A){return new this(B).mul(A)}function Ti(B,A){return new this(B).pow(A)}function Oi(B){var A,g,I,Q,C=0,E=new this(1),a=[];if(B===void 0?B=this.precision:ag(B,1,Zg),I=Math.ceil(B/7),this.crypto)if(crypto.getRandomValues)for(A=crypto.getRandomValues(new Uint32Array(I));C<I;)(Q=A[C])>=429e7?A[C]=crypto.getRandomValues(new Uint32Array(1))[0]:a[C++]=Q%1e7;else{if(!crypto.randomBytes)throw Error(XE);for(A=crypto.randomBytes(I*=4);C<I;)(Q=A[C]+(A[C+1]<<8)+(A[C+2]<<16)+((127&A[C+3])<<24))>=214e7?crypto.randomBytes(4).copy(A,C):(a.push(Q%1e7),C+=4);C=I/4}else for(;C<I;)a[C++]=1e7*Math.random()|0;for(B%=7,(I=a[--C])&&B&&(Q=zA(10,7-B),a[C]=(I/Q|0)*Q);a[C]===0;C--)a.pop();if(C<0)g=0,a=[0];else{for(g=-1;a[0]===0;g-=7)a.shift();for(I=1,Q=a[0];Q>=10;Q/=10)I++;I<7&&(g-=7-I)}return E.e=g,E.d=a,E}function Wi(B){return CA(B=new this(B),B.e+1,this.rounding)}function Pi(B){return(B=new this(B)).d?B.d[0]?B.s:0*B.s:B.s||NaN}function Vi(B){return new this(B).sin()}function zi(B){return new this(B).sinh()}function Xi(B){return new this(B).sqrt()}function Zi(B,A){return new this(B).sub(A)}function _i(){var B=0,A=arguments,g=new this(A[B]);for(tA=!1;g.s&&++B<A.length;)g=g.plus(A[B]);return tA=!0,CA(g,this.precision,this.rounding)}function $i(B){return new this(B).tan()}function At(B){return new this(B).tanh()}function gt(B){return CA(B=new this(B),B.e+1,1)}q[Symbol.for("nodejs.util.inspect.custom")]=q.toString,q[Symbol.toStringTag]="Decimal";var NI=q.constructor=function B(A){var g,I,Q;function C(E){var a,i,t,e=this;if(!(e instanceof C))return new C(E);if(e.constructor=C,cC(E))return e.s=E.s,void(tA?!E.d||E.e>C.maxE?(e.e=NaN,e.d=null):E.e<C.minE?(e.e=0,e.d=[0]):(e.e=E.e,e.d=E.d.slice()):(e.e=E.e,e.d=E.d?E.d.slice():E.d));if((t=typeof E)=="number"){if(E===0)return e.s=1/E<0?-1:1,e.e=0,void(e.d=[0]);if(E<0?(E=-E,e.s=-1):e.s=1,E===~~E&&E<1e7){for(a=0,i=E;i>=10;i/=10)a++;return void(tA?a>C.maxE?(e.e=NaN,e.d=null):a<C.minE?(e.e=0,e.d=[0]):(e.e=a,e.d=[E]):(e.e=a,e.d=[E]))}return 0*E!=0?(E||(e.s=NaN),e.e=NaN,void(e.d=null)):bB(e,E.toString())}if(t==="string")return(i=E.charCodeAt(0))===45?(E=E.slice(1),e.s=-1):(i===43&&(E=E.slice(1)),e.s=1),_E.test(E)?bB(e,E):hi(e,E);if(t==="bigint")return E<0?(E=-E,e.s=-1):e.s=1,bB(e,E.toString());throw Error($g+E)}if(C.prototype=q,C.ROUND_UP=0,C.ROUND_DOWN=1,C.ROUND_CEIL=2,C.ROUND_FLOOR=3,C.ROUND_HALF_UP=4,C.ROUND_HALF_DOWN=5,C.ROUND_HALF_EVEN=6,C.ROUND_HALF_CEIL=7,C.ROUND_HALF_FLOOR=8,C.EUCLID=9,C.config=C.set=pi,C.clone=B,C.isDecimal=cC,C.abs=Di,C.acos=di,C.acosh=bi,C.add=wi,C.asin=ui,C.asinh=li,C.atan=fi,C.atanh=Fi,C.atan2=yi,C.cbrt=Mi,C.ceil=Gi,C.clamp=Ri,C.cos=Ni,C.cosh=ki,C.div=mi,C.exp=Si,C.floor=Ui,C.hypot=Li,C.ln=Ji,C.log=Yi,C.log10=Hi,C.log2=xi,C.max=Ki,C.min=ji,C.mod=qi,C.mul=vi,C.pow=Ti,C.random=Oi,C.round=Wi,C.sign=Pi,C.sin=Vi,C.sinh=zi,C.sqrt=Xi,C.sub=Zi,C.sum=_i,C.tan=$i,C.tanh=At,C.trunc=gt,A===void 0&&(A={}),A&&A.defaults!==!0)for(Q=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],g=0;g<Q.length;)A.hasOwnProperty(I=Q[g++])||(A[I]=this[I]);return C.config(A),C}(DQ);FB=new NI(FB),yB=new NI(yB);var It=lA("BigNumber",["?on","config"],B=>{var{on:A,config:g}=B,I=NI.clone({precision:g.precision,modulo:NI.EUCLID});return I.prototype=Object.create(I.prototype),I.prototype.type="BigNumber",I.prototype.isBigNumber=!0,I.prototype.toJSON=function(){return{mathjs:"BigNumber",value:this.toString()}},I.fromJSON=function(Q){return new I(Q.value)},A&&A("config",function(Q,C){Q.precision!==C.precision&&I.config({precision:Q.precision})}),I},{isClass:!0});const $A=Math.cosh||function(B){return Math.abs(B)<1e-9?1-B:.5*(Math.exp(B)+Math.exp(-B))},dg=Math.sinh||function(B){return Math.abs(B)<1e-9?B:.5*(Math.exp(B)-Math.exp(-B))},CQ=function(B,A){return(B=Math.abs(B))<(A=Math.abs(A))&&([B,A]=[A,B]),B<1e8?Math.sqrt(B*B+A*A):(A/=B,B*Math.sqrt(1+A*A))},wI=function(){throw SyntaxError("Invalid Param")};function EQ(B,A){const g=Math.abs(B),I=Math.abs(A);return B===0?Math.log(I):A===0?Math.log(g):g<3e3&&I<3e3?.5*Math.log(B*B+A*A):(B*=.5,A*=.5,.5*Math.log(B*B+A*A)+Math.LN2)}const Bt={re:0,im:0},CI=function(B,A){const g=Bt;if(B==null)g.re=g.im=0;else if(A!==void 0)g.re=B,g.im=A;else switch(typeof B){case"object":if("im"in B&&"re"in B)g.re=B.re,g.im=B.im;else if("abs"in B&&"arg"in B){if(!isFinite(B.abs)&&isFinite(B.arg))return Y.INFINITY;g.re=B.abs*Math.cos(B.arg),g.im=B.abs*Math.sin(B.arg)}else if("r"in B&&"phi"in B){if(!isFinite(B.r)&&isFinite(B.phi))return Y.INFINITY;g.re=B.r*Math.cos(B.phi),g.im=B.r*Math.sin(B.phi)}else B.length===2?(g.re=B[0],g.im=B[1]):wI();break;case"string":g.im=g.re=0;const I=B.replace(/_/g,"").match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g);let Q=1,C=0;I===null&&wI();for(let E=0;E<I.length;E++){const a=I[E];a===" "||a===" "||a===`
965
- `||(a==="+"?Q++:a==="-"?C++:a==="i"||a==="I"?(Q+C===0&&wI(),I[E+1]===" "||isNaN(I[E+1])?g.im+=parseFloat((C%2?"-":"")+"1"):(g.im+=parseFloat((C%2?"-":"")+I[E+1]),E++),Q=C=0):((Q+C===0||isNaN(a))&&wI(),I[E+1]==="i"||I[E+1]==="I"?(g.im+=parseFloat((C%2?"-":"")+a),E++):g.re+=parseFloat((C%2?"-":"")+a),Q=C=0))}Q+C>0&&wI();break;case"number":g.im=0,g.re=B;break;default:wI()}return isNaN(g.re)||isNaN(g.im),g};function Y(B,A){if(!(this instanceof Y))return new Y(B,A);const g=CI(B,A);this.re=g.re,this.im=g.im}Y.prototype={re:0,im:0,sign:function(){const B=CQ(this.re,this.im);return new Y(this.re/B,this.im/B)},add:function(B,A){const g=CI(B,A),I=this.isInfinite(),Q=!(isFinite(g.re)&&isFinite(g.im));return I||Q?I&&Q?Y.NAN:Y.INFINITY:new Y(this.re+g.re,this.im+g.im)},sub:function(B,A){const g=CI(B,A),I=this.isInfinite(),Q=!(isFinite(g.re)&&isFinite(g.im));return I||Q?I&&Q?Y.NAN:Y.INFINITY:new Y(this.re-g.re,this.im-g.im)},mul:function(B,A){const g=CI(B,A),I=this.isInfinite(),Q=!(isFinite(g.re)&&isFinite(g.im)),C=this.re===0&&this.im===0,E=g.re===0&&g.im===0;return I&&E||Q&&C?Y.NAN:I||Q?Y.INFINITY:g.im===0&&this.im===0?new Y(this.re*g.re,0):new Y(this.re*g.re-this.im*g.im,this.re*g.im+this.im*g.re)},div:function(B,A){const g=CI(B,A),I=this.isInfinite(),Q=!(isFinite(g.re)&&isFinite(g.im)),C=this.re===0&&this.im===0,E=g.re===0&&g.im===0;if(C&&E||I&&Q)return Y.NAN;if(E||I)return Y.INFINITY;if(C||Q)return Y.ZERO;if(g.im===0)return new Y(this.re/g.re,this.im/g.re);if(Math.abs(g.re)<Math.abs(g.im)){const a=g.re/g.im,i=g.re*a+g.im;return new Y((this.re*a+this.im)/i,(this.im*a-this.re)/i)}{const a=g.im/g.re,i=g.im*a+g.re;return new Y((this.re+this.im*a)/i,(this.im-this.re*a)/i)}},pow:function(B,A){const g=CI(B,A),I=this.re===0&&this.im===0;if(g.re===0&&g.im===0)return Y.ONE;if(g.im===0){if(this.im===0&&this.re>0)return new Y(Math.pow(this.re,g.re),0);if(this.re===0)switch((g.re%4+4)%4){case 0:return new Y(Math.pow(this.im,g.re),0);case 1:return new Y(0,Math.pow(this.im,g.re));case 2:return new Y(-Math.pow(this.im,g.re),0);case 3:return new Y(0,-Math.pow(this.im,g.re))}}if(I&&g.re>0)return Y.ZERO;const Q=Math.atan2(this.im,this.re),C=EQ(this.re,this.im);let E=Math.exp(g.re*C-g.im*Q),a=g.im*C+g.re*Q;return new Y(E*Math.cos(a),E*Math.sin(a))},sqrt:function(){const B=this.re,A=this.im;if(A===0)return B>=0?new Y(Math.sqrt(B),0):new Y(0,Math.sqrt(-B));const g=CQ(B,A);let I=Math.sqrt(.5*(g+Math.abs(B))),Q=Math.abs(A)/(2*I);return B>=0?new Y(I,A<0?-Q:Q):new Y(Q,A<0?-I:I)},exp:function(){const B=Math.exp(this.re);return this.im===0?new Y(B,0):new Y(B*Math.cos(this.im),B*Math.sin(this.im))},expm1:function(){const B=this.re,A=this.im;return new Y(Math.expm1(B)*Math.cos(A)+function(g){const I=Math.PI/4;if(-I>g||g>I)return Math.cos(g)-1;const Q=g*g;return Q*(Q*(Q*(Q*(Q*(Q*(Q*(Q/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-.5)}(A),Math.exp(B)*Math.sin(A))},log:function(){const B=this.re,A=this.im;return A===0&&B>0?new Y(Math.log(B),0):new Y(EQ(B,A),Math.atan2(A,B))},abs:function(){return CQ(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){const B=this.re,A=this.im;return new Y(Math.sin(B)*$A(A),Math.cos(B)*dg(A))},cos:function(){const B=this.re,A=this.im;return new Y(Math.cos(B)*$A(A),-Math.sin(B)*dg(A))},tan:function(){const B=2*this.re,A=2*this.im,g=Math.cos(B)+$A(A);return new Y(Math.sin(B)/g,dg(A)/g)},cot:function(){const B=2*this.re,A=2*this.im,g=Math.cos(B)-$A(A);return new Y(-Math.sin(B)/g,dg(A)/g)},sec:function(){const B=this.re,A=this.im,g=.5*$A(2*A)+.5*Math.cos(2*B);return new Y(Math.cos(B)*$A(A)/g,Math.sin(B)*dg(A)/g)},csc:function(){const B=this.re,A=this.im,g=.5*$A(2*A)-.5*Math.cos(2*B);return new Y(Math.sin(B)*$A(A)/g,-Math.cos(B)*dg(A)/g)},asin:function(){const B=this.re,A=this.im,g=new Y(A*A-B*B+1,-2*B*A).sqrt(),I=new Y(g.re-A,g.im+B).log();return new Y(I.im,-I.re)},acos:function(){const B=this.re,A=this.im,g=new Y(A*A-B*B+1,-2*B*A).sqrt(),I=new Y(g.re-A,g.im+B).log();return new Y(Math.PI/2-I.im,I.re)},atan:function(){const B=this.re,A=this.im;if(B===0){if(A===1)return new Y(0,1/0);if(A===-1)return new Y(0,-1/0)}const g=B*B+(1-A)*(1-A),I=new Y((1-A*A-B*B)/g,-2*B/g).log();return new Y(-.5*I.im,.5*I.re)},acot:function(){const B=this.re,A=this.im;if(A===0)return new Y(Math.atan2(1,B),0);const g=B*B+A*A;return g!==0?new Y(B/g,-A/g).atan():new Y(B!==0?B/0:0,A!==0?-A/0:0).atan()},asec:function(){const B=this.re,A=this.im;if(B===0&&A===0)return new Y(0,1/0);const g=B*B+A*A;return g!==0?new Y(B/g,-A/g).acos():new Y(B!==0?B/0:0,A!==0?-A/0:0).acos()},acsc:function(){const B=this.re,A=this.im;if(B===0&&A===0)return new Y(Math.PI/2,1/0);const g=B*B+A*A;return g!==0?new Y(B/g,-A/g).asin():new Y(B!==0?B/0:0,A!==0?-A/0:0).asin()},sinh:function(){const B=this.re,A=this.im;return new Y(dg(B)*Math.cos(A),$A(B)*Math.sin(A))},cosh:function(){const B=this.re,A=this.im;return new Y($A(B)*Math.cos(A),dg(B)*Math.sin(A))},tanh:function(){const B=2*this.re,A=2*this.im,g=$A(B)+Math.cos(A);return new Y(dg(B)/g,Math.sin(A)/g)},coth:function(){const B=2*this.re,A=2*this.im,g=$A(B)-Math.cos(A);return new Y(dg(B)/g,-Math.sin(A)/g)},csch:function(){const B=this.re,A=this.im,g=Math.cos(2*A)-$A(2*B);return new Y(-2*dg(B)*Math.cos(A)/g,2*$A(B)*Math.sin(A)/g)},sech:function(){const B=this.re,A=this.im,g=Math.cos(2*A)+$A(2*B);return new Y(2*$A(B)*Math.cos(A)/g,-2*dg(B)*Math.sin(A)/g)},asinh:function(){let B=this.im;this.im=-this.re,this.re=B;const A=this.asin();return this.re=-this.im,this.im=B,B=A.re,A.re=-A.im,A.im=B,A},acosh:function(){const B=this.acos();if(B.im<=0){const A=B.re;B.re=-B.im,B.im=A}else{const A=B.im;B.im=-B.re,B.re=A}return B},atanh:function(){const B=this.re,A=this.im,g=B>1&&A===0,I=1-B,Q=1+B,C=I*I+A*A,E=C!==0?new Y((Q*I-A*A)/C,(A*I+Q*A)/C):new Y(B!==-1?B/0:0,A!==0?A/0:0),a=E.re;return E.re=EQ(E.re,E.im)/2,E.im=Math.atan2(E.im,a)/2,g&&(E.im=-E.im),E},acoth:function(){const B=this.re,A=this.im;if(B===0&&A===0)return new Y(0,Math.PI/2);const g=B*B+A*A;return g!==0?new Y(B/g,-A/g).atanh():new Y(B!==0?B/0:0,A!==0?-A/0:0).atanh()},acsch:function(){const B=this.re,A=this.im;if(A===0)return new Y(B!==0?Math.log(B+Math.sqrt(B*B+1)):1/0,0);const g=B*B+A*A;return g!==0?new Y(B/g,-A/g).asinh():new Y(B!==0?B/0:0,A!==0?-A/0:0).asinh()},asech:function(){const B=this.re,A=this.im;if(this.isZero())return Y.INFINITY;const g=B*B+A*A;return g!==0?new Y(B/g,-A/g).acosh():new Y(B!==0?B/0:0,A!==0?-A/0:0).acosh()},inverse:function(){if(this.isZero())return Y.INFINITY;if(this.isInfinite())return Y.ZERO;const B=this.re,A=this.im,g=B*B+A*A;return new Y(B/g,-A/g)},conjugate:function(){return new Y(this.re,-this.im)},neg:function(){return new Y(-this.re,-this.im)},ceil:function(B){return B=Math.pow(10,B||0),new Y(Math.ceil(this.re*B)/B,Math.ceil(this.im*B)/B)},floor:function(B){return B=Math.pow(10,B||0),new Y(Math.floor(this.re*B)/B,Math.floor(this.im*B)/B)},round:function(B){return B=Math.pow(10,B||0),new Y(Math.round(this.re*B)/B,Math.round(this.im*B)/B)},equals:function(B,A){const g=CI(B,A);return Math.abs(g.re-this.re)<=Y.EPSILON&&Math.abs(g.im-this.im)<=Y.EPSILON},clone:function(){return new Y(this.re,this.im)},toString:function(){let B=this.re,A=this.im,g="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(B)<Y.EPSILON&&(B=0),Math.abs(A)<Y.EPSILON&&(A=0),A===0?g+B:(B!==0?(g+=B,g+=" ",A<0?(A=-A,g+="-"):g+="+",g+=" "):A<0&&(A=-A,g+="-"),A!==1&&(g+=A),g+"i"))},toVector:function(){return[this.re,this.im]},valueOf:function(){return this.im===0?this.re:null},isNaN:function(){return isNaN(this.re)||isNaN(this.im)},isZero:function(){return this.im===0&&this.re===0},isFinite:function(){return isFinite(this.re)&&isFinite(this.im)},isInfinite:function(){return!this.isFinite()}},Y.ZERO=new Y(0,0),Y.ONE=new Y(1,0),Y.I=new Y(0,1),Y.PI=new Y(Math.PI,0),Y.E=new Y(Math.E,0),Y.INFINITY=new Y(1/0,1/0),Y.NAN=new Y(NaN,NaN),Y.EPSILON=1e-15;var Qt=lA("Complex",[],()=>(Object.defineProperty(Y,"name",{value:"Complex"}),Y.prototype.constructor=Y,Y.prototype.type="Complex",Y.prototype.isComplex=!0,Y.prototype.toJSON=function(){return{mathjs:"Complex",re:this.re,im:this.im}},Y.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},Y.prototype.format=function(B){var A=this.im,g=this.re,I=cQ(this.re,B),Q=cQ(this.im,B),C=mA(B)?B:B?B.precision:null;if(C!==null){var E=Math.pow(10,-C);Math.abs(g/A)<E&&(g=0),Math.abs(A/g)<E&&(A=0)}return A===0?I:g===0?A===1?"i":A===-1?"-i":Q+"i":A<0?A===-1?I+" - i":I+" - "+Q.substring(1)+"i":A===1?I+" + i":I+" + "+Q+"i"},Y.fromPolar=function(B){switch(arguments.length){case 1:var A=arguments[0];if(typeof A=="object")return Y(A);throw new TypeError("Input has to be an object with r and phi keys.");case 2:var g=arguments[0],I=arguments[1];if(mA(g)){if(OE(I)&&I.hasBase("ANGLE")&&(I=I.toNumber("rad")),mA(I))return new Y({r:g,phi:I});throw new TypeError("Phi is not a number nor an angle unit.")}throw new TypeError("Radius r is not a number.");default:throw new SyntaxError("Wrong number of arguments in function fromPolar")}},Y.prototype.valueOf=Y.prototype.toString,Y.fromJSON=function(B){return new Y(B)},Y.compare=function(B,A){return B.re>A.re?1:B.re<A.re?-1:B.im>A.im?1:B.im<A.im?-1:0},Y),{isClass:!0});typeof BigInt>"u"&&(BigInt=function(B){if(isNaN(B))throw new Error("");return B});const EA=BigInt(0),nA=BigInt(1),TI=BigInt(2),bQ=BigInt(5),eg=BigInt(10),_={s:nA,n:EA,d:nA};function Sg(B,A){try{B=BigInt(B)}catch{throw zg()}return B*A}function lg(B){return typeof B=="bigint"?B:Math.floor(B)}function SA(B,A){if(A===EA)throw NQ();const g=Object.create(wg.prototype);g.s=B<EA?-nA:nA;const I=EI(B=B<EA?-B:B,A);return g.n=B/I,g.d=A/I,g}function uI(B){const A={};let g=B,I=TI,Q=bQ-nA;for(;Q<=g;){for(;g%I===EA;)g/=I,A[I]=(A[I]||EA)+nA;Q+=nA+TI*I++}return g!==B?g>1&&(A[g]=(A[g]||EA)+nA):A[B]=(A[B]||EA)+nA,A}const XA=function(B,A){let g=EA,I=nA,Q=nA;if(B!=null)if(A!==void 0){if(typeof B=="bigint")g=B;else{if(isNaN(B))throw zg();if(B%1!=0)throw hC();g=BigInt(B)}if(typeof A=="bigint")I=A;else{if(isNaN(A))throw zg();if(A%1!=0)throw hC();I=BigInt(A)}Q=g*I}else if(typeof B=="object"){if("d"in B&&"n"in B)g=BigInt(B.n),I=BigInt(B.d),"s"in B&&(g*=BigInt(B.s));else if(0 in B)g=BigInt(B[0]),1 in B&&(I=BigInt(B[1]));else{if(typeof B!="bigint")throw zg();g=B}Q=g*I}else if(typeof B=="number"){if(isNaN(B))throw zg();if(B<0&&(Q=-nA,B=-B),B%1==0)g=BigInt(B);else{let C=1,E=0,a=1,i=1,t=1,e=1e7;for(B>=1&&(C=10**Math.floor(1+Math.log10(B)),B/=C);a<=e&&t<=e;){let o=(E+i)/(a+t);if(B===o){a+t<=e?(g=E+i,I=a+t):t>a?(g=i,I=t):(g=E,I=a);break}B>o?(E+=i,a+=t):(i+=E,t+=a),a>e?(g=i,I=t):(g=E,I=a)}g=BigInt(g)*BigInt(C),I=BigInt(I)}}else if(typeof B=="string"){let C=0,E=EA,a=EA,i=EA,t=nA,e=nA,o=B.replace(/_/g,"").match(/\d+|./g);if(o===null||(o[C]==="-"?(Q=-nA,C++):o[C]==="+"&&C++,o.length===C+1?a=Sg(o[C++],Q):o[C+1]==="."||o[C]==="."?(o[C]!=="."&&(E=Sg(o[C++],Q)),C++,(C+1===o.length||o[C+1]==="("&&o[C+3]===")"||o[C+1]==="'"&&o[C+3]==="'")&&(a=Sg(o[C],Q),t=eg**BigInt(o[C].length),C++),(o[C]==="("&&o[C+2]===")"||o[C]==="'"&&o[C+2]==="'")&&(i=Sg(o[C+1],Q),e=eg**BigInt(o[C+1].length)-nA,C+=3)):o[C+1]==="/"||o[C+1]===":"?(a=Sg(o[C],Q),t=Sg(o[C+2],nA),C+=3):o[C+3]==="/"&&o[C+1]===" "&&(E=Sg(o[C],Q),a=Sg(o[C+2],Q),t=Sg(o[C+4],nA),C+=5),!(o.length<=C)))throw zg();I=t*e,Q=g=i+I*E+e*a}else{if(typeof B!="bigint")throw zg();g=B,Q=B,I=nA}if(I===EA)throw NQ();_.s=Q<EA?-nA:nA,_.n=g<EA?-g:g,_.d=I<EA?-I:I};function Ct(B,A,g){let I=nA,Q=function(C,E,a){let i=nA;for(;E>EA;C=C*C%a,E>>=nA)E&nA&&(i=i*C%a);return i}(eg,g,A);for(let C=0;C<300;C++){if(I===Q)return BigInt(C);I=I*eg%A,Q=Q*eg%A}return 0}function EI(B,A){if(!B)return A;if(!A)return B;for(;;){if(!(B%=A))return A;if(!(A%=B))return B}}function wg(B,A){if(XA(B,A),!(this instanceof wg))return SA(_.s*_.n,_.d);B=EI(_.d,_.n),this.s=_.s,this.n=_.n/B,this.d=_.d/B}var NQ=function(){return new Error("Division by Zero")},zg=function(){return new Error("Invalid argument")},hC=function(){return new Error("Parameters must be integer")};wg.prototype={s:nA,n:EA,d:nA,abs:function(){return SA(this.n,this.d)},neg:function(){return SA(-this.s*this.n,this.d)},add:function(B,A){return XA(B,A),SA(this.s*this.n*_.d+_.s*this.d*_.n,this.d*_.d)},sub:function(B,A){return XA(B,A),SA(this.s*this.n*_.d-_.s*this.d*_.n,this.d*_.d)},mul:function(B,A){return XA(B,A),SA(this.s*_.s*this.n*_.n,this.d*_.d)},div:function(B,A){return XA(B,A),SA(this.s*_.s*this.n*_.d,this.d*_.n)},clone:function(){return SA(this.s*this.n,this.d)},mod:function(B,A){if(B===void 0)return SA(this.s*this.n%this.d,nA);if(XA(B,A),EA===_.n*this.d)throw NQ();return SA(this.s*(_.d*this.n)%(_.n*this.d),_.d*this.d)},gcd:function(B,A){return XA(B,A),SA(EI(_.n,this.n)*EI(_.d,this.d),_.d*this.d)},lcm:function(B,A){return XA(B,A),_.n===EA&&this.n===EA?SA(EA,nA):SA(_.n*this.n,EI(_.n,this.n)*EI(_.d,this.d))},inverse:function(){return SA(this.s*this.d,this.n)},pow:function(B,A){if(XA(B,A),_.d===nA)return _.s<EA?SA((this.s*this.d)**_.n,this.n**_.n):SA((this.s*this.n)**_.n,this.d**_.n);if(this.s<EA)return null;let g=uI(this.n),I=uI(this.d),Q=nA,C=nA;for(let E in g)if(E!=="1"){if(E==="0"){Q=EA;break}if(g[E]*=_.n,g[E]%_.d!==EA)return null;g[E]/=_.d,Q*=BigInt(E)**g[E]}for(let E in I)if(E!=="1"){if(I[E]*=_.n,I[E]%_.d!==EA)return null;I[E]/=_.d,C*=BigInt(E)**I[E]}return _.s<EA?SA(C,Q):SA(Q,C)},log:function(B,A){if(XA(B,A),this.s<=EA||_.s<=EA)return null;const g={},I=uI(_.n),Q=uI(_.d),C=uI(this.n),E=uI(this.d);for(const t in Q)I[t]=(I[t]||EA)-Q[t];for(const t in E)C[t]=(C[t]||EA)-E[t];for(const t in I)t!=="1"&&(g[t]=!0);for(const t in C)t!=="1"&&(g[t]=!0);let a=null,i=null;for(const t in g){const e=I[t]||EA,o=C[t]||EA;if(e===EA){if(o!==EA)return null;continue}let s=o,n=e;const r=EI(s,n);if(s/=r,n/=r,a===null&&i===null)a=s,i=n;else if(s*i!=a*n)return null}return a!==null&&i!==null?SA(a,i):null},equals:function(B,A){return XA(B,A),this.s*this.n*_.d==_.s*_.n*this.d},lt:function(B,A){return XA(B,A),this.s*this.n*_.d<_.s*_.n*this.d},lte:function(B,A){return XA(B,A),this.s*this.n*_.d<=_.s*_.n*this.d},gt:function(B,A){return XA(B,A),this.s*this.n*_.d>_.s*_.n*this.d},gte:function(B,A){return XA(B,A),this.s*this.n*_.d>=_.s*_.n*this.d},compare:function(B,A){XA(B,A);let g=this.s*this.n*_.d-_.s*_.n*this.d;return(EA<g)-(g<EA)},ceil:function(B){return B=eg**BigInt(B||0),SA(lg(this.s*B*this.n/this.d)+(B*this.n%this.d>EA&&this.s>=EA?nA:EA),B)},floor:function(B){return B=eg**BigInt(B||0),SA(lg(this.s*B*this.n/this.d)-(B*this.n%this.d>EA&&this.s<EA?nA:EA),B)},round:function(B){return B=eg**BigInt(B||0),SA(lg(this.s*B*this.n/this.d)+this.s*((this.s>=EA?nA:EA)+TI*(B*this.n%this.d)>this.d?nA:EA),B)},roundTo:function(B,A){XA(B,A);const g=this.n*_.d,I=this.d*_.n,Q=g%I;let C=lg(g/I);return Q+Q>=I&&C++,SA(this.s*C*_.n,_.d)},divisible:function(B,A){return XA(B,A),!(!(_.n*this.d)||this.n*_.d%(_.n*this.d))},valueOf:function(){return Number(this.s*this.n)/Number(this.d)},toString:function(B){let A=this.n,g=this.d;B=B||15;let I=function(E,a){for(;a%TI===EA;a/=TI);for(;a%bQ===EA;a/=bQ);if(a===nA)return EA;let i=eg%a,t=1;for(;i!==nA;t++)if(i=i*eg%a,t>2e3)return EA;return BigInt(t)}(0,g),Q=Ct(0,g,I),C=this.s<EA?"-":"";if(C+=lg(A/g),A%=g,A*=eg,A&&(C+="."),I){for(let E=Q;E--;)C+=lg(A/g),A%=g,A*=eg;C+="(";for(let E=I;E--;)C+=lg(A/g),A%=g,A*=eg;C+=")"}else for(let E=B;A&&E--;)C+=lg(A/g),A%=g,A*=eg;return C},toFraction:function(B){let A=this.n,g=this.d,I=this.s<EA?"-":"";if(g===nA)I+=A;else{let Q=lg(A/g);B&&Q>EA&&(I+=Q,I+=" ",A%=g),I+=A,I+="/",I+=g}return I},toLatex:function(B){let A=this.n,g=this.d,I=this.s<EA?"-":"";if(g===nA)I+=A;else{let Q=lg(A/g);B&&Q>EA&&(I+=Q,A%=g),I+="\\frac{",I+=A,I+="}{",I+=g,I+="}"}return I},toContinued:function(){let B=this.n,A=this.d,g=[];do{g.push(lg(B/A));let I=B%A;B=A,A=I}while(B!==nA);return g},simplify:function(B){const A=BigInt(1/(B||.001)|0),g=this.abs(),I=g.toContinued();for(let Q=1;Q<I.length;Q++){let C=SA(I[Q-1],nA);for(let a=Q-2;a>=0;a--)C=C.inverse().add(I[a]);let E=C.sub(g);if(E.n*A<E.d)return C.mul(this.s)}return this}};var Et=lA("Fraction",[],()=>(Object.defineProperty(wg,"name",{value:"Fraction"}),wg.prototype.constructor=wg,wg.prototype.type="Fraction",wg.prototype.isFraction=!0,wg.prototype.toJSON=function(){return{mathjs:"Fraction",n:String(this.s*this.n),d:String(this.d)}},wg.fromJSON=function(B){return new wg(B)},wg),{isClass:!0}),at=lA("Matrix",[],()=>{function B(){if(!(this instanceof B))throw new SyntaxError("Constructor must be called with the new operator")}return B.prototype.type="Matrix",B.prototype.isMatrix=!0,B.prototype.storage=function(){throw new Error("Cannot invoke storage on a Matrix interface")},B.prototype.datatype=function(){throw new Error("Cannot invoke datatype on a Matrix interface")},B.prototype.create=function(A,g){throw new Error("Cannot invoke create on a Matrix interface")},B.prototype.subset=function(A,g,I){throw new Error("Cannot invoke subset on a Matrix interface")},B.prototype.get=function(A){throw new Error("Cannot invoke get on a Matrix interface")},B.prototype.set=function(A,g,I){throw new Error("Cannot invoke set on a Matrix interface")},B.prototype.resize=function(A,g){throw new Error("Cannot invoke resize on a Matrix interface")},B.prototype.reshape=function(A,g){throw new Error("Cannot invoke reshape on a Matrix interface")},B.prototype.clone=function(){throw new Error("Cannot invoke clone on a Matrix interface")},B.prototype.size=function(){throw new Error("Cannot invoke size on a Matrix interface")},B.prototype.map=function(A,g){throw new Error("Cannot invoke map on a Matrix interface")},B.prototype.forEach=function(A){throw new Error("Cannot invoke forEach on a Matrix interface")},B.prototype[Symbol.iterator]=function(){throw new Error("Cannot iterate a Matrix interface")},B.prototype.toArray=function(){throw new Error("Cannot invoke toArray on a Matrix interface")},B.prototype.valueOf=function(){throw new Error("Cannot invoke valueOf on a Matrix interface")},B.prototype.format=function(A){throw new Error("Cannot invoke format on a Matrix interface")},B.prototype.toString=function(){throw new Error("Cannot invoke toString on a Matrix interface")},B},{isClass:!0});function aQ(B,A,g){var I=new B.constructor(2),Q="";if(g){if(g<1)throw new Error("size must be in greater than 0");if(!YA(g))throw new Error("size must be an integer");if(B.greaterThan(I.pow(g-1).sub(1))||B.lessThan(I.pow(g-1).mul(-1)))throw new Error("Value must be in range [-2^".concat(g-1,", 2^").concat(g-1,"-1]"));if(!B.isInteger())throw new Error("Value must be an integer");B.lessThan(0)&&(B=B.add(I.pow(g))),Q="i".concat(g)}switch(A){case 2:return"".concat(B.toBinary()).concat(Q);case 8:return"".concat(B.toOctal()).concat(Q);case 16:return"".concat(B.toHexadecimal()).concat(Q);default:throw new Error("Base ".concat(A," not supported "))}}function et(B,A){if(typeof A=="function")return A(B);if(!B.isFinite())return B.isNaN()?"NaN":B.gt(0)?"Infinity":"-Infinity";var{notation:g,precision:I,wordSize:Q}=WE(A);switch(g){case"fixed":return function(t,e){return t.toFixed(e)}(B,I);case"exponential":return DC(B,I);case"engineering":return function(t,e){var o=t.e,s=o%3==0?o:o<0?o-3-o%3:o-o%3,n=t.mul(Math.pow(10,-s)),r=n.toPrecision(e);return r.includes("e")&&(r=new t.constructor(r).toFixed()),r+"e"+(o>=0?"+":"")+s.toString()}(B,I);case"bin":return aQ(B,2,Q);case"oct":return aQ(B,8,Q);case"hex":return aQ(B,16,Q);case"auto":var C=dC(A?.lowerExp,-3),E=dC(A?.upperExp,5);if(B.isZero())return"0";var a=B.toSignificantDigits(I),i=a.e;return(i>=C&&i<E?a.toFixed():DC(B,I)).replace(/((\.\d*?)(0+))($|e)/,function(){var t=arguments[2],e=arguments[4];return t!=="."?t+e:e});default:throw new Error('Unknown notation "'+g+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function DC(B,A){return A!==void 0?B.toExponential(A-1):B.toExponential()}function dC(B,A){return mA(B)?B:WA(B)?B.toNumber():A}function OA(B,A){var g=function(I,Q){return typeof I=="number"?cQ(I,Q):WA(I)?et(I,Q):function(C){return C&&typeof C=="object"&&typeof C.s=="bigint"&&typeof C.n=="bigint"&&typeof C.d=="bigint"||!1}(I)?Q&&Q.fraction==="decimal"?I.toString():"".concat(I.s*I.n,"/").concat(I.d):Array.isArray(I)?Ia(I,Q):pg(I)?bC(I):typeof I=="function"?I.syntax?String(I.syntax):"function":I&&typeof I=="object"?typeof I.format=="function"?I.format(Q):I&&I.toString(Q)!=={}.toString()?I.toString(Q):"{"+Object.keys(I).map(C=>bC(C)+": "+OA(I[C],Q)).join(", ")+"}":String(I)}(B,A);return A&&typeof A=="object"&&"truncate"in A&&g.length>A.truncate?g.substring(0,A.truncate-3)+"...":g}function bC(B){for(var A=String(B),g="",I=0;I<A.length;){var Q=A.charAt(I);g+=Q in wC?wC[Q]:Q,I++}return'"'+g+'"'}var wC={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"};function Ia(B,A){if(Array.isArray(B)){for(var g="[",I=B.length,Q=0;Q<I;Q++)Q!==0&&(g+=", "),g+=Ia(B[Q],A);return g+="]"}return OA(B,A)}function UA(B,A,g){if(!(this instanceof UA))throw new SyntaxError("Constructor must be called with the new operator");this.actual=B,this.expected=A,this.relation=g,this.message="Dimension mismatch ("+(Array.isArray(B)?"["+B.join(", ")+"]":B)+" "+(this.relation||"!=")+" "+(Array.isArray(A)?"["+A.join(", ")+"]":A)+")",this.stack=new Error().stack}function yI(B,A,g){if(!(this instanceof yI))throw new SyntaxError("Constructor must be called with the new operator");this.index=B,arguments.length<3?(this.min=0,this.max=A):(this.min=A,this.max=g),this.min!==void 0&&this.index<this.min?this.message="Index out of range ("+this.index+" < "+this.min+")":this.max!==void 0&&this.index>=this.max?this.message="Index out of range ("+this.index+" > "+(this.max-1)+")":this.message="Index out of range ("+this.index+")",this.stack=new Error().stack}function Qg(B){for(var A=[];Array.isArray(B);)A.push(B.length),B=B[0];return A}function Ba(B,A,g){var I,Q=B.length;if(Q!==A[g])throw new UA(Q,A[g]);if(g<A.length-1){var C=g+1;for(I=0;I<Q;I++){var E=B[I];if(!Array.isArray(E))throw new UA(A.length-1,A.length,"<");Ba(B[I],A,C)}}else for(I=0;I<Q;I++)if(Array.isArray(B[I]))throw new UA(A.length+1,A.length,">")}function uC(B,A){if(A.length===0){if(Array.isArray(B))throw new UA(B.length,0)}else Ba(B,A,0)}function xA(B,A){if(B!==void 0){if(!mA(B)||!YA(B))throw new TypeError("Index must be an integer (value: "+B+")");if(B<0||typeof A=="number"&&B>=A)throw new yI(B,A)}}function wQ(B,A,g){if(!Array.isArray(A))throw new TypeError("Array expected");if(A.length===0)throw new Error("Resizing to scalar is not supported");return A.forEach(function(I){if(!mA(I)||!YA(I)||I<0)throw new TypeError("Invalid size, must contain positive integers (size: "+OA(A)+")")}),(mA(B)||WA(B))&&(B=[B]),uQ(B,A,0,g!==void 0?g:0),B}function uQ(B,A,g,I){var Q,C,E=B.length,a=A[g],i=Math.min(E,a);if(B.length=a,g<A.length-1){var t=g+1;for(Q=0;Q<i;Q++)C=B[Q],Array.isArray(C)||(C=[C],B[Q]=C),uQ(C,A,t,I);for(Q=i;Q<a;Q++)C=[],B[Q]=C,uQ(C,A,t,I)}else{for(Q=0;Q<i;Q++)for(;Array.isArray(B[Q]);)B[Q]=B[Q][0];for(Q=i;Q<a;Q++)B[Q]=I}}function Qa(B,A){var g=function(C){var E=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!Array.isArray(C))return C;if(typeof E!="boolean")throw new TypeError("Boolean expected for second argument of flatten");var a=[];return E?t(C):i(C),a;function i(e){for(var o=0;o<e.length;o++){var s=e[o];Array.isArray(s)?i(s):a.push(s)}}function t(e){if(Array.isArray(e[0]))for(var o=0;o<e.length;o++)t(e[o]);else for(var s=0;s<e.length;s++)a.push(e[s])}}(B,!0),I=g.length;if(!Array.isArray(B)||!Array.isArray(A))throw new TypeError("Array expected");if(A.length===0)throw new UA(0,I,"!=");var Q=Ca(A=kQ(A,I));if(I!==Q)throw new UA(Q,I,"!=");try{return function(C,E){for(var a,i=C,t=E.length-1;t>0;t--){var e=E[t];a=[];for(var o=i.length/e,s=0;s<o;s++)a.push(i.slice(s*e,(s+1)*e));i=a}return i}(g,A)}catch(C){throw C instanceof UA?new UA(Q,I,"!="):C}}function kQ(B,A){var g=Ca(B),I=B.slice(),Q=B.indexOf(-1);if(B.indexOf(-1,Q+1)>=0)throw new Error("More than one wildcard in sizes");if(Q>=0){if(A%g!=0)throw new Error("Could not replace wildcard, since "+A+" is no multiple of "+-g);I[Q]=-A/g}return I}function Ca(B){return B.reduce((A,g)=>A*g,1)}function Ea(B,A,g,I){var Q=I||Qg(B);if(g)for(var C=0;C<g;C++)B=[B],Q.unshift(1);for(B=aa(B,A,0);Q.length<A;)Q.push(1);return B}function aa(B,A,g){var I,Q;if(Array.isArray(B)){var C=g+1;for(I=0,Q=B.length;I<Q;I++)B[I]=aa(B[I],A,C)}else for(var E=g;E<A;E++)B=[B];return B}function mQ(B,A){for(var g,I=0,Q=0;Q<B.length;Q++){var C=B[Q],E=Array.isArray(C);if(Q===0&&E&&(I=C.length),E&&C.length!==I)return;var a=E?mQ(C,A):A(C);if(g===void 0)g=a;else if(g!==a)return"mixed"}return g}function ea(B,A,g,I){if(I<g){if(B.length!==A.length)throw new UA(B.length,A.length);for(var Q=[],C=0;C<B.length;C++)Q[C]=ea(B[C],A[C],g,I+1);return Q}return B.concat(A)}function it(){var B=Array.prototype.slice.call(arguments,0,-1),A=Array.prototype.slice.call(arguments,-1);if(B.length===1)return B[0];if(B.length>1)return B.slice(1).reduce(function(g,I){return ea(g,I,A,0)},B[0]);throw new Error("Wrong number of arguments in function concat")}function lC(B,A){for(var g=A.length,I=B.length,Q=0;Q<I;Q++){var C=g-I+Q;if(B[Q]<A[C]&&B[Q]>1||B[Q]>A[C])throw new Error("shape mismatch: mismatch is found in arg with shape (".concat(B,") not possible to broadcast dimension ").concat(I," with size ").concat(B[Q]," to size ").concat(A[C]))}}function fC(B,A){var g=Qg(B);if(pI(g,A))return B;lC(g,A);var I,Q,C,E=function(){for(var o=arguments.length,s=new Array(o),n=0;n<o;n++)s[n]=arguments[n];for(var r=s.map(m=>m.length),c=Math.max(...r),D=new Array(c).fill(null),b=0;b<s.length;b++)for(var h=s[b],w=r[b],f=0;f<w;f++){var p=c-w+f;h[f]>D[p]&&(D[p]=h[f])}for(var R=0;R<s.length;R++)lC(s[R],D);return D}(g,A),a=E.length,i=[...Array(a-g.length).fill(1),...g],t=function(o){return wB([],o)}(B);g.length<a&&(g=Qg(t=Qa(t,i)));for(var e=0;e<a;e++)g[e]<E[e]&&(I=t,Q=E[e],C=e,g=Qg(t=it(...Array(Q).fill(I),C)));return t}function ia(B,A){if(!Array.isArray(B))throw new Error("Array expected");var g=Qg(B);if(A.length!==g.length)throw new UA(A.length,g.length);for(var I=0;I<A.length;I++)xA(A[I],g[I]);return A.reduce((Q,C)=>Q[C],B)}function FC(B,A){var g=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(B.length===0)return[];if(g)return function Q(C){if(Array.isArray(C)){for(var E=C.length,a=Array(E),i=0;i<E;i++)a[i]=Q(C[i]);return a}return A(C)}(B);var I=[];return function Q(C,E){if(Array.isArray(C)){for(var a=C.length,i=Array(a),t=0;t<a;t++)I[E]=t,i[t]=Q(C[t],E+1);return i}return A(C,I.slice(0,E),B)}(B,0)}function GB(B,A,g){var I=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(fB.isTypedFunction(B)){var Q,C;if(I)Q=1;else{var E=(A.isMatrix?A.size():Qg(A)).map(()=>0),a=A.isMatrix?A.get(E):ia(A,E);Q=function(t,e,o,s){for(var n=[e,o,s],r=3;r>0;r--){var c=n.slice(0,r);if(fB.resolve(t,c)!==null)return r}}(B,a,E,A)}if(A.isMatrix&&A.dataType!=="mixed"&&A.dataType!==void 0){var i=function(t,e){var o=[];if(Object.entries(t.signatures).forEach(s=>{var[n,r]=s;n.split(",").length===e&&o.push(r)}),o.length===1)return o[0]}(B,Q);C=i!==void 0?i:B}else C=B;return Q>=1&&Q<=3?{isUnary:Q===1,fn:function(){for(var t=arguments.length,e=new Array(t),o=0;o<t;o++)e[o]=arguments[o];return yC(C,e.slice(0,Q),g,B.name)}}:{isUnary:!1,fn:function(){for(var t=arguments.length,e=new Array(t),o=0;o<t;o++)e[o]=arguments[o];return yC(C,e,g,B.name)}}}return I===void 0?{isUnary:tt(B),fn:B}:{isUnary:I,fn:B}}function tt(B){if(B.length!==1)return!1;var A=B.toString();if(/arguments/.test(A))return!1;var g=A.match(/\(.*?\)/);return!/\.\.\./.test(g)}function yC(B,A,g,I){try{return B(...A)}catch(Q){(function(C,E,a,i){var t;if(C instanceof TypeError&&((t=C.data)===null||t===void 0?void 0:t.category)==="wrongType"){var e=[];throw e.push("value: ".concat(_g(E[0]))),E.length>=2&&e.push("index: ".concat(_g(E[1]))),E.length>=3&&e.push("array: ".concat(_g(E[2]))),new TypeError("Function ".concat(a," cannot apply callback arguments ")+"".concat(i,"(").concat(e.join(", "),") at index ").concat(JSON.stringify(E[1])))}throw new TypeError("Function ".concat(a," cannot apply callback arguments ")+"to function ".concat(i,": ").concat(C.message))})(Q,A,g,I)}}UA.prototype=new RangeError,UA.prototype.constructor=RangeError,UA.prototype.name="DimensionError",UA.prototype.isDimensionError=!0,yI.prototype=new RangeError,yI.prototype.constructor=RangeError,yI.prototype.name="IndexError",yI.prototype.isIndexError=!0;var ot=lA("DenseMatrix",["Matrix"],B=>{var{Matrix:A}=B;function g(E,a){if(!(this instanceof g))throw new SyntaxError("Constructor must be called with the new operator");if(a&&!pg(a))throw new Error("Invalid datatype: "+a);if(qA(E))E.type==="DenseMatrix"?(this._data=jA(E._data),this._size=jA(E._size),this._datatype=a||E._datatype):(this._data=E.toArray(),this._size=E.size(),this._datatype=a||E._datatype);else if(E&&VA(E.data)&&VA(E.size))this._data=E.data,this._size=E.size,uC(this._data,this._size),this._datatype=a||E.datatype;else if(VA(E))this._data=C(E),this._size=Qg(this._data),uC(this._data,this._size),this._datatype=a;else{if(E)throw new TypeError("Unsupported type of data ("+_g(E)+")");this._data=[],this._size=[0],this._datatype=a}}function I(E,a,i){if(a.length===0){for(var t=E._data;VA(t);)t=t[0];return t}return E._size=a.slice(0),E._data=wQ(E._data,E._size,i),E}function Q(E,a,i){for(var t=E._size.slice(0),e=!1;t.length<a.length;)t.push(0),e=!0;for(var o=0,s=a.length;o<s;o++)a[o]>t[o]&&(t[o]=a[o],e=!0);e&&I(E,t,i)}function C(E){return qA(E)?C(E.valueOf()):VA(E)?E.map(C):E}return g.prototype=new A,g.prototype.createDenseMatrix=function(E,a){return new g(E,a)},Object.defineProperty(g,"name",{value:"DenseMatrix"}),g.prototype.constructor=g,g.prototype.type="DenseMatrix",g.prototype.isDenseMatrix=!0,g.prototype.getDataType=function(){return mQ(this._data,_g)},g.prototype.storage=function(){return"dense"},g.prototype.datatype=function(){return this._datatype},g.prototype.create=function(E,a){return new g(E,a)},g.prototype.subset=function(E,a,i){switch(arguments.length){case 1:return function(t,e){if(!RQ(e))throw new TypeError("Invalid index");var o=e.isScalar();if(o)return t.get(e.min());var s=e.size();if(s.length!==t._size.length)throw new UA(s.length,t._size.length);for(var n=e.min(),r=e.max(),c=0,D=t._size.length;c<D;c++)xA(n[c],t._size[c]),xA(r[c],t._size[c]);var b=new g([]),h=function(w,f){var p=f.size().length-1,R=Array(p);return{data:m(w),size:R};function m(G){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,U=f.dimension(k);return R[k]=U.size()[0],k<p?U.map(S=>(xA(S,G.length),m(G[S],k+1))).valueOf():U.map(S=>(xA(S,G.length),G[S])).valueOf()}}(t._data,e);return b._size=h.size,b._datatype=t._datatype,b._data=h.data,b}(this,E);case 2:case 3:return function(t,e,o,s){if(!e||e.isIndex!==!0)throw new TypeError("Invalid index");var n,r=e.size(),c=e.isScalar();if(qA(o)?(n=o.size(),o=o.valueOf()):n=Qg(o),c){if(n.length!==0)throw new TypeError("Scalar expected");t.set(e.min(),o,s)}else{if(!pI(n,r))try{n=Qg(o=n.length===0?fC([o],r):fC(o,r))}catch{}if(r.length<t._size.length)throw new UA(r.length,t._size.length,"<");if(n.length<r.length){for(var D=0,b=0;r[D]===1&&n[D]===1;)D++;for(;r[D]===1;)b++,D++;o=Ea(o,r.length,b,n)}if(!pI(r,n))throw new UA(r,n,">");var h=e.max().map(function(w){return w+1});Q(t,h,s),function(w,f,p){var R=f.size().length-1;function m(G,k){var U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,S=f.dimension(U);U<R?S.forEach((j,z)=>{xA(j,G.length),m(G[j],k[z[0]],U+1)}):S.forEach((j,z)=>{xA(j,G.length),G[j]=k[z[0]]})}m(w,p)}(t._data,e,o)}return t}(this,E,a,i);default:throw new SyntaxError("Wrong number of arguments")}},g.prototype.get=function(E){return ia(this._data,E)},g.prototype.set=function(E,a,i){if(!VA(E))throw new TypeError("Array expected");if(E.length<this._size.length)throw new UA(E.length,this._size.length,"<");var t,e,o,s=E.map(function(r){return r+1});Q(this,s,i);var n=this._data;for(t=0,e=E.length-1;t<e;t++)xA(o=E[t],n.length),n=n[o];return xA(o=E[E.length-1],n.length),n[o]=a,this},g.prototype.resize=function(E,a,i){if(!uB(E))throw new TypeError("Array or Matrix expected");var t=E.valueOf().map(e=>Array.isArray(e)&&e.length===1?e[0]:e);return I(i?this.clone():this,t,a)},g.prototype.reshape=function(E,a){var i=a?this.clone():this;i._data=Qa(i._data,E);var t=i._size.reduce((e,o)=>e*o);return i._size=kQ(E,t),i},g.prototype.clone=function(){return new g({data:jA(this._data),size:jA(this._size),datatype:this._datatype})},g.prototype.size=function(){return this._size.slice(0)},g.prototype.map=function(E){var a=arguments.length>2&&arguments[2]!==void 0&&arguments[2],i=this,t=i._size.length-1;if(t<0)return i.clone();var e=GB(E,i,"map",a),o=e.fn,s=i.create(void 0,i._datatype);if(s._size=i._size,a||e.isUnary)return s._data=function b(h){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,f=Array(h.length);if(w<t)for(var p=0;p<h.length;p++)f[p]=b(h[p],w+1);else for(var R=0;R<h.length;R++)f[R]=o(h[R]);return f}(i._data),s;if(t===0){for(var n=i.valueOf(),r=Array(n.length),c=0;c<n.length;c++)r[c]=o(n[c],[c],i);return s._data=r,s}var D=[];return s._data=function b(h){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,f=Array(h.length);if(w<t)for(var p=0;p<h.length;p++)D[w]=p,f[p]=b(h[p],w+1);else for(var R=0;R<h.length;R++)D[w]=R,f[R]=o(h[R],D.slice(),i);return f}(i._data),s},g.prototype.forEach=function(E){var a=arguments.length>2&&arguments[2]!==void 0&&arguments[2],i=this,t=i._size.length-1;if(!(t<0)){var e=GB(E,i,"map",a),o=e.fn;if(a||e.isUnary)(function r(c){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(D<t)for(var b=0;b<c.length;b++)r(c[b],D+1);else for(var h=0;h<c.length;h++)o(c[h])})(i._data);else if(t!==0){var s=[];(function r(c){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(D<t)for(var b=0;b<c.length;b++)s[D]=b,r(c[b],D+1);else for(var h=0;h<c.length;h++)s[D]=h,o(c[h],s.slice(),i)})(i._data)}else for(var n=0;n<i._data.length;n++)o(i._data[n],[n],i)}},g.prototype[Symbol.iterator]=function*(){var E=this._size.length-1;if(!(E<0))if(E!==0)for(var a=Array(E+1).fill(0),i=this._size.reduce((r,c)=>r*c,1),t=0;t<i;t++){for(var e=this._data,o=0;o<E;o++)e=e[a[o]];yield{value:e[a[E]],index:a.slice()};for(var s=E;s>=0&&(a[s]++,!(a[s]<this._size[s]));s--)a[s]=0}else for(var n=0;n<this._data.length;n++)yield{value:this._data[n],index:[n]}},g.prototype.rows=function(){var E=[];if(this.size().length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");var a=this._data;for(var i of a)E.push(new g([i],this._datatype));return E},g.prototype.columns=function(){var E=this,a=[],i=this.size();if(i.length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");for(var t=this._data,e=function(s){var n=t.map(r=>[r[s]]);a.push(new g(n,E._datatype))},o=0;o<i[1];o++)e(o);return a},g.prototype.toArray=function(){return jA(this._data)},g.prototype.valueOf=function(){return this._data},g.prototype.format=function(E){return OA(this._data,E)},g.prototype.toString=function(){return OA(this._data)},g.prototype.toJSON=function(){return{mathjs:"DenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},g.prototype.diagonal=function(E){if(E){if(WA(E)&&(E=E.toNumber()),!mA(E)||!YA(E))throw new TypeError("The parameter k must be an integer number")}else E=0;for(var a=E>0?E:0,i=E<0?-E:0,t=this._size[0],e=this._size[1],o=Math.min(t-i,e-a),s=[],n=0;n<o;n++)s[n]=this._data[n+i][n+a];return new g({data:s,size:[o],datatype:this._datatype})},g.diagonal=function(E,a,i,t){if(!VA(E))throw new TypeError("Array expected, size parameter");if(E.length!==2)throw new Error("Only two dimensions matrix are supported");if(E=E.map(function(w){if(WA(w)&&(w=w.toNumber()),!mA(w)||!YA(w)||w<1)throw new Error("Size values must be positive integers");return w}),i){if(WA(i)&&(i=i.toNumber()),!mA(i)||!YA(i))throw new TypeError("The parameter k must be an integer number")}else i=0;var e,o=i>0?i:0,s=i<0?-i:0,n=E[0],r=E[1],c=Math.min(n-s,r-o);if(VA(a)){if(a.length!==c)throw new Error("Invalid value array length");e=function(w){return a[w]}}else if(qA(a)){var D=a.size();if(D.length!==1||D[0]!==c)throw new Error("Invalid matrix length");e=function(w){return a.get([w])}}else e=function(){return a};t||(t=WA(e(0))?e(0).mul(0):0);var b=[];if(E.length>0){b=wQ(b,E,t);for(var h=0;h<c;h++)b[h+s][h+o]=e(h)}return new g({data:b,size:[n,r]})},g.fromJSON=function(E){return new g(E)},g.prototype.swapRows=function(E,a){if(!(mA(E)&&YA(E)&&mA(a)&&YA(a)))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return xA(E,this._size[0]),xA(a,this._size[0]),g._swapRows(E,a,this._data),this},g._swapRows=function(E,a,i){var t=i[E];i[E]=i[a],i[a]=t},g},{isClass:!0});function tI(B,A,g){if(!g)return qA(B)?B.map(Q=>A(Q),!1,!0):FC(B,A,!0);var I=Q=>Q===0?Q:A(Q);return qA(B)?B.map(Q=>I(Q),!1,!0):FC(B,I,!0)}var MC="number",eB="number, number";function ta(B){return Math.abs(B)}function oa(B,A){return B+A}function na(B,A){return B-A}function sa(B,A){return B*A}function ra(B){return-B}function ca(B,A){return B*B<1&&A===1/0||B*B>1&&A===-1/0?0:Math.pow(B,A)}function lQ(B,A){if(A<B)return 1;if(A===B)return A;var g=A+B>>1;return lQ(B,g)*lQ(g+1,A)}function RB(B){var A;if(YA(B))return B<=0?isFinite(B)?1/0:NaN:B>171?1/0:lQ(1,B-1);if(B<.5)return Math.PI/(Math.sin(Math.PI*B)*RB(1-B));if(B>=171.35)return 1/0;if(B>85){var g=B*B,I=g*B,Q=I*B,C=Q*B;return Math.sqrt(2*Math.PI/B)*Math.pow(B/Math.E,B)*(1+1/(12*B)+1/(288*g)-139/(51840*I)-571/(2488320*Q)+163879/(209018880*C)+5246819/(75246796800*C*B))}--B,A=GI[0];for(var E=1;E<GI.length;++E)A+=GI[E]/(B+E);var a=B+ha+.5;return Math.sqrt(2*Math.PI)*Math.pow(a,B+.5)*Math.exp(-a)*A}ta.signature=MC,oa.signature=eB,na.signature=eB,sa.signature=eB,ra.signature=MC,ca.signature=eB,RB.signature="number";var ha=4.7421875,GI=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22],GC="isZero",nt=lA(GC,["typed","equalScalar"],B=>{var{typed:A,equalScalar:g}=B;return A(GC,{"number | BigNumber | Complex | Fraction":I=>g(I,0),bigint:I=>I===0n,Unit:A.referToSelf(I=>Q=>A.find(I,Q.valueType())(Q.value)),"Array | Matrix":A.referToSelf(I=>Q=>tI(Q,I))})}),st=lA("compareUnits",["typed"],B=>{var{typed:A}=B;return{"Unit, Unit":A.referToSelf(g=>(I,Q)=>{if(!I.equalBase(Q))throw new Error("Cannot compare units with different base");return A.find(g,[I.valueType(),Q.valueType()])(I.value,Q.value)})}}),pB="equalScalar",rt=lA(pB,["typed","config"],B=>{var{typed:A,config:g}=B,I=st({typed:A});return A(pB,{"boolean, boolean":function(Q,C){return Q===C},"number, number":function(Q,C){return hB(Q,C,g.relTol,g.absTol)},"BigNumber, BigNumber":function(Q,C){return Q.eq(C)||function(E,a){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e-9,t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(i<=0)throw new Error("Relative tolerance must be greater than 0");if(t<0)throw new Error("Absolute tolerance must be at least 0");return!E.isNaN()&&!a.isNaN()&&(E.isFinite()&&a.isFinite()?!!E.eq(a)||E.minus(a).abs().lte(E.constructor.max(E.constructor.max(E.abs(),a.abs()).mul(i),t)):E.eq(a))}(Q,C,g.relTol,g.absTol)},"bigint, bigint":function(Q,C){return Q===C},"Fraction, Fraction":function(Q,C){return Q.equals(C)},"Complex, Complex":function(Q,C){return function(E,a,i,t){return hB(E.re,a.re,i,t)&&hB(E.im,a.im,i,t)}(Q,C,g.relTol,g.absTol)}},I)});lA(pB,["typed","config"],B=>{var{typed:A,config:g}=B;return A(pB,{"number, number":function(I,Q){return hB(I,Q,g.relTol,g.absTol)}})});var ct=lA("SparseMatrix",["typed","equalScalar","Matrix"],B=>{var{typed:A,equalScalar:g,Matrix:I}=B;function Q(e,o){if(!(this instanceof Q))throw new SyntaxError("Constructor must be called with the new operator");if(o&&!pg(o))throw new Error("Invalid datatype: "+o);if(qA(e))(function(s,n,r){n.type==="SparseMatrix"?(s._values=n._values?jA(n._values):void 0,s._index=jA(n._index),s._ptr=jA(n._ptr),s._size=jA(n._size),s._datatype=r||n._datatype):C(s,n.valueOf(),r||n._datatype)})(this,e,o);else if(e&&VA(e.index)&&VA(e.ptr)&&VA(e.size))this._values=e.values,this._index=e.index,this._ptr=e.ptr,this._size=e.size,this._datatype=o||e.datatype;else if(VA(e))C(this,e,o);else{if(e)throw new TypeError("Unsupported type of data ("+_g(e)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=o}}function C(e,o,s){e._values=[],e._index=[],e._ptr=[],e._datatype=s;var n=o.length,r=0,c=g,D=0;if(pg(s)&&(c=A.find(g,[s,s])||g,D=A.convert(0,s)),n>0){var b=0;do{e._ptr.push(e._index.length);for(var h=0;h<n;h++){var w=o[h];if(VA(w)){if(b===0&&r<w.length&&(r=w.length),b<w.length){var f=w[b];c(f,D)||(e._values.push(f),e._index.push(h))}}else b===0&&r<1&&(r=1),c(w,D)||(e._values.push(w),e._index.push(h))}b++}while(b<r)}e._ptr.push(e._index.length),e._size=[n,r]}function E(e,o,s,n){if(s-o==0)return s;for(var r=o;r<s;r++)if(n[r]===e)return r;return o}function a(e,o,s,n,r,c,D){r.splice(e,0,n),c.splice(e,0,o);for(var b=s+1;b<D.length;b++)D[b]++}function i(e,o,s,n){var r=n||0,c=g,D=0;pg(e._datatype)&&(c=A.find(g,[e._datatype,e._datatype])||g,D=A.convert(0,e._datatype),r=A.convert(r,e._datatype));var b,h,w,f=!c(r,D),p=e._size[0],R=e._size[1];if(s>R){for(h=R;h<s;h++)if(e._ptr[h]=e._values.length,f)for(b=0;b<p;b++)e._values.push(r),e._index.push(b);e._ptr[s]=e._values.length}else s<R&&(e._ptr.splice(s+1,R-s),e._values.splice(e._ptr[s],e._values.length),e._index.splice(e._ptr[s],e._index.length));if(R=s,o>p){if(f){var m=0;for(h=0;h<R;h++){e._ptr[h]=e._ptr[h]+m,w=e._ptr[h+1]+m;var G=0;for(b=p;b<o;b++,G++)e._values.splice(w+G,0,r),e._index.splice(w+G,0,b),m++}e._ptr[R]=e._values.length}}else if(o<p){var k=0;for(h=0;h<R;h++){e._ptr[h]=e._ptr[h]-k;var U=e._ptr[h],S=e._ptr[h+1]-k;for(w=U;w<S;w++)(b=e._index[w])>o-1&&(e._values.splice(w,1),e._index.splice(w,1),k++)}e._ptr[h]=e._values.length}return e._size[0]=o,e._size[1]=s,e}function t(e,o,s,n,r){var c,D,b=n[0],h=n[1],w=[];for(c=0;c<b;c++)for(w[c]=[],D=0;D<h;D++)w[c][D]=0;for(D=0;D<h;D++)for(var f=s[D],p=s[D+1],R=f;R<p;R++)w[c=o[R]][D]=e?r?jA(e[R]):e[R]:1;return w}return Q.prototype=new I,Q.prototype.createSparseMatrix=function(e,o){return new Q(e,o)},Object.defineProperty(Q,"name",{value:"SparseMatrix"}),Q.prototype.constructor=Q,Q.prototype.type="SparseMatrix",Q.prototype.isSparseMatrix=!0,Q.prototype.getDataType=function(){return mQ(this._values,_g)},Q.prototype.storage=function(){return"sparse"},Q.prototype.datatype=function(){return this._datatype},Q.prototype.create=function(e,o){return new Q(e,o)},Q.prototype.density=function(){var e=this._size[0],o=this._size[1];return e!==0&&o!==0?this._index.length/(e*o):0},Q.prototype.subset=function(e,o,s){if(!this._values)throw new Error("Cannot invoke subset on a Pattern only matrix");switch(arguments.length){case 1:return function(n,r){if(!RQ(r))throw new TypeError("Invalid index");if(r.isScalar())return n.get(r.min());var c,D,b,h,w=r.size();if(w.length!==n._size.length)throw new UA(w.length,n._size.length);var f=r.min(),p=r.max();for(c=0,D=n._size.length;c<D;c++)xA(f[c],n._size[c]),xA(p[c],n._size[c]);var R=n._values,m=n._index,G=n._ptr,k=r.dimension(0),U=r.dimension(1),S=[],j=[];k.forEach(function(X,aA){j[X]=aA[0],S[X]=!0});var z=R?[]:void 0,gA=[],$=[];return U.forEach(function(X){for($.push(gA.length),b=G[X],h=G[X+1];b<h;b++)c=m[b],S[c]===!0&&(gA.push(j[c]),z&&z.push(R[b]))}),$.push(gA.length),new Q({values:z,index:gA,ptr:$,size:w,datatype:n._datatype})}(this,e);case 2:case 3:return function(n,r,c,D){if(!r||r.isIndex!==!0)throw new TypeError("Invalid index");var b,h=r.size(),w=r.isScalar();if(qA(c)?(b=c.size(),c=c.toArray()):b=Qg(c),w){if(b.length!==0)throw new TypeError("Scalar expected");n.set(r.min(),c,D)}else{if(h.length!==1&&h.length!==2)throw new UA(h.length,n._size.length,"<");if(b.length<h.length){for(var f=0,p=0;h[f]===1&&b[f]===1;)f++;for(;h[f]===1;)p++,f++;c=Ea(c,h.length,p,b)}if(!pI(h,b))throw new UA(h,b,">");if(h.length===1)r.dimension(0).forEach(function(G,k){xA(G),n.set([G,0],c[k[0]],D)});else{var R=r.dimension(0),m=r.dimension(1);R.forEach(function(G,k){xA(G),m.forEach(function(U,S){xA(U),n.set([G,U],c[k[0]][S[0]],D)})})}}return n}(this,e,o,s);default:throw new SyntaxError("Wrong number of arguments")}},Q.prototype.get=function(e){if(!VA(e))throw new TypeError("Array expected");if(e.length!==this._size.length)throw new UA(e.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var o=e[0],s=e[1];xA(o,this._size[0]),xA(s,this._size[1]);var n=E(o,this._ptr[s],this._ptr[s+1],this._index);return n<this._ptr[s+1]&&this._index[n]===o?this._values[n]:0},Q.prototype.set=function(e,o,s){if(!VA(e))throw new TypeError("Array expected");if(e.length!==this._size.length)throw new UA(e.length,this._size.length);if(!this._values)throw new Error("Cannot invoke set on a Pattern only matrix");var n=e[0],r=e[1],c=this._size[0],D=this._size[1],b=g,h=0;pg(this._datatype)&&(b=A.find(g,[this._datatype,this._datatype])||g,h=A.convert(0,this._datatype)),(n>c-1||r>D-1)&&(i(this,Math.max(n+1,c),Math.max(r+1,D),s),c=this._size[0],D=this._size[1]),xA(n,c),xA(r,D);var w=E(n,this._ptr[r],this._ptr[r+1],this._index);return w<this._ptr[r+1]&&this._index[w]===n?b(o,h)?function(f,p,R,m,G){R.splice(f,1),m.splice(f,1);for(var k=p+1;k<G.length;k++)G[k]--}(w,r,this._values,this._index,this._ptr):this._values[w]=o:b(o,h)||a(w,n,r,o,this._values,this._index,this._ptr),this},Q.prototype.resize=function(e,o,s){if(!uB(e))throw new TypeError("Array or Matrix expected");var n=e.valueOf().map(r=>Array.isArray(r)&&r.length===1?r[0]:r);if(n.length!==2)throw new Error("Only two dimensions matrix are supported");return n.forEach(function(r){if(!mA(r)||!YA(r)||r<0)throw new TypeError("Invalid size, must contain positive integers (size: "+OA(n)+")")}),i(s?this.clone():this,n[0],n[1],o)},Q.prototype.reshape=function(e,o){if(!VA(e))throw new TypeError("Array expected");if(e.length!==2)throw new Error("Sparse matrices can only be reshaped in two dimensions");e.forEach(function(j){if(!mA(j)||!YA(j)||j<=-2||j===0)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+OA(e)+")")});var s=this._size[0]*this._size[1];if(s!==(e=kQ(e,s))[0]*e[1])throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var n=o?this.clone():this;if(this._size[0]===e[0]&&this._size[1]===e[1])return n;for(var r=[],c=0;c<n._ptr.length;c++)for(var D=0;D<n._ptr[c+1]-n._ptr[c];D++)r.push(c);for(var b=n._values.slice(),h=n._index.slice(),w=0;w<n._index.length;w++){var f=h[w],p=r[w],R=f*n._size[1]+p;r[w]=R%e[1],h[w]=Math.floor(R/e[1])}n._values.length=0,n._index.length=0,n._ptr.length=e[1]+1,n._size=e.slice();for(var m=0;m<n._ptr.length;m++)n._ptr[m]=0;for(var G=0;G<b.length;G++){var k=h[G],U=r[G],S=b[G];a(E(k,n._ptr[U],n._ptr[U+1],n._index),k,U,S,n._values,n._index,n._ptr)}return n},Q.prototype.clone=function(){return new Q({values:this._values?jA(this._values):void 0,index:jA(this._index),ptr:jA(this._ptr),size:jA(this._size),datatype:this._datatype})},Q.prototype.size=function(){return this._size.slice(0)},Q.prototype.map=function(e,o){if(!this._values)throw new Error("Cannot invoke map on a Pattern only matrix");var s=this,n=this._size[0],r=this._size[1],c=GB(e,s,"map");return function(D,b,h,w,f,p,R){var m=[],G=[],k=[],U=g,S=0;pg(D._datatype)&&(U=A.find(g,[D._datatype,D._datatype])||g,S=A.convert(0,D._datatype));for(var j=function(uA,iA,GA){var eA=p(uA,iA,GA);U(eA,S)||(m.push(eA),G.push(iA))},z=w;z<=f;z++){k.push(m.length);var gA=D._ptr[z],$=D._ptr[z+1];if(R)for(var X=gA;X<$;X++){var aA=D._index[X];aA>=b&&aA<=h&&j(D._values[X],aA-b,z-w)}else{for(var wA={},sA=gA;sA<$;sA++)wA[D._index[sA]]=D._values[sA];for(var fA=b;fA<=h;fA++)j(fA in wA?wA[fA]:0,fA-b,z-w)}}return k.push(m.length),new Q({values:m,index:G,ptr:k,size:[h-b+1,f-w+1]})}(this,0,n-1,0,r-1,function(D,b,h){return c.fn(D,[b,h],s)},o)},Q.prototype.forEach=function(e,o){if(!this._values)throw new Error("Cannot invoke forEach on a Pattern only matrix");for(var s=this,n=this._size[0],r=this._size[1],c=GB(e,s,"forEach"),D=0;D<r;D++){var b=this._ptr[D],h=this._ptr[D+1];if(o)for(var w=b;w<h;w++){var f=this._index[w];c.fn(this._values[w],[f,D],s)}else{for(var p={},R=b;R<h;R++)p[this._index[R]]=this._values[R];for(var m=0;m<n;m++){var G=m in p?p[m]:0;c.fn(G,[m,D],s)}}}},Q.prototype[Symbol.iterator]=function*(){if(!this._values)throw new Error("Cannot iterate a Pattern only matrix");for(var e=this._size[1],o=0;o<e;o++)for(var s=this._ptr[o],n=this._ptr[o+1],r=s;r<n;r++){var c=this._index[r];yield{value:this._values[r],index:[c,o]}}},Q.prototype.toArray=function(){return t(this._values,this._index,this._ptr,this._size,!0)},Q.prototype.valueOf=function(){return t(this._values,this._index,this._ptr,this._size,!1)},Q.prototype.format=function(e){for(var o=this._size[0],s=this._size[1],n=this.density(),r="Sparse Matrix ["+OA(o,e)+" x "+OA(s,e)+"] density: "+OA(n,e)+`
966
- `,c=0;c<s;c++)for(var D=this._ptr[c],b=this._ptr[c+1],h=D;h<b;h++)r+=`
967
- (`+OA(this._index[h],e)+", "+OA(c,e)+") ==> "+(this._values?OA(this._values[h],e):"X");return r},Q.prototype.toString=function(){return OA(this.toArray())},Q.prototype.toJSON=function(){return{mathjs:"SparseMatrix",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},Q.prototype.diagonal=function(e){if(e){if(WA(e)&&(e=e.toNumber()),!mA(e)||!YA(e))throw new TypeError("The parameter k must be an integer number")}else e=0;var o=e>0?e:0,s=e<0?-e:0,n=this._size[0],r=this._size[1],c=Math.min(n-s,r-o),D=[],b=[],h=[];h[0]=0;for(var w=o;w<r&&D.length<c;w++)for(var f=this._ptr[w],p=this._ptr[w+1],R=f;R<p;R++){var m=this._index[R];if(m===w-o+s){D.push(this._values[R]),b[D.length-1]=m-s;break}}return h.push(D.length),new Q({values:D,index:b,ptr:h,size:[c,1]})},Q.fromJSON=function(e){return new Q(e)},Q.diagonal=function(e,o,s,n,r){if(!VA(e))throw new TypeError("Array expected, size parameter");if(e.length!==2)throw new Error("Only two dimensions matrix are supported");if(e=e.map(function(gA){if(WA(gA)&&(gA=gA.toNumber()),!mA(gA)||!YA(gA)||gA<1)throw new Error("Size values must be positive integers");return gA}),s){if(WA(s)&&(s=s.toNumber()),!mA(s)||!YA(s))throw new TypeError("The parameter k must be an integer number")}else s=0;var c=g,D=0;pg(r)&&(c=A.find(g,[r,r])||g,D=A.convert(0,r));var b,h=s>0?s:0,w=s<0?-s:0,f=e[0],p=e[1],R=Math.min(f-w,p-h);if(VA(o)){if(o.length!==R)throw new Error("Invalid value array length");b=function(gA){return o[gA]}}else if(qA(o)){var m=o.size();if(m.length!==1||m[0]!==R)throw new Error("Invalid matrix length");b=function(gA){return o.get([gA])}}else b=function(){return o};for(var G=[],k=[],U=[],S=0;S<p;S++){U.push(G.length);var j=S-h;if(j>=0&&j<R){var z=b(j);c(z,D)||(k.push(j+w),G.push(z))}}return U.push(G.length),new Q({values:G,index:k,ptr:U,size:[f,p]})},Q.prototype.swapRows=function(e,o){if(!(mA(e)&&YA(e)&&mA(o)&&YA(o)))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return xA(e,this._size[0]),xA(o,this._size[0]),Q._swapRows(e,o,this._size[1],this._values,this._index,this._ptr),this},Q._forEachRow=function(e,o,s,n,r){for(var c=n[e],D=n[e+1],b=c;b<D;b++)r(s[b],o[b])},Q._swapRows=function(e,o,s,n,r,c){for(var D=0;D<s;D++){var b=c[D],h=c[D+1],w=E(e,b,h,r),f=E(o,b,h,r);if(w<h&&f<h&&r[w]===e&&r[f]===o){if(n){var p=n[w];n[w]=n[f],n[f]=p}}else if(w<h&&r[w]===e&&(f>=h||r[f]!==o)){var R=n?n[w]:void 0;r.splice(f,0,o),n&&n.splice(f,0,R),r.splice(f<=w?w+1:w,1),n&&n.splice(f<=w?w+1:w,1)}else if(f<h&&r[f]===o&&(w>=h||r[w]!==e)){var m=n?n[f]:void 0;r.splice(w,0,e),n&&n.splice(w,0,m),r.splice(w<=f?f+1:f,1),n&&n.splice(w<=f?f+1:f,1)}}},Q},{isClass:!0}),ht=lA("number",["typed"],B=>{var{typed:A}=B,g=A("number",{"":function(){return 0},number:function(I){return I},string:function(I){if(I==="NaN")return NaN;var Q,C,E=(C=(Q=I).match(/(0[box])([0-9a-fA-F]*)\.([0-9a-fA-F]*)/))?{input:Q,radix:{"0b":2,"0o":8,"0x":16}[C[1]],integerPart:C[2],fractionalPart:C[3]}:null;if(E)return function(e){for(var o=parseInt(e.integerPart,e.radix),s=0,n=0;n<e.fractionalPart.length;n++)s+=parseInt(e.fractionalPart[n],e.radix)/Math.pow(e.radix,n+1);var r=o+s;if(isNaN(r))throw new SyntaxError('String "'+e.input+'" is not a valid number');return r}(E);var a=0,i=I.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);i&&(a=Number(i[2]),I=i[1]);var t=Number(I);if(isNaN(t))throw new SyntaxError('String "'+I+'" is not a valid number');if(i){if(t>2**a-1)throw new SyntaxError('String "'.concat(I,'" is out of range'));t>=2**(a-1)&&(t-=2**a)}return t},BigNumber:function(I){return I.toNumber()},bigint:function(I){return Number(I)},Fraction:function(I){return I.valueOf()},Unit:A.referToSelf(I=>Q=>{var C=Q.clone();return C.value=I(Q.value),C}),null:function(I){return 0},"Unit, string | Unit":function(I,Q){return I.toNumber(Q)},"Array | Matrix":A.referToSelf(I=>Q=>tI(Q,I))});return g.fromJSON=function(I){return parseFloat(I.value)},g}),Dt=lA("bignumber",["typed","BigNumber"],B=>{var{typed:A,BigNumber:g}=B;return A("bignumber",{"":function(){return new g(0)},number:function(I){return new g(I+"")},string:function(I){var Q=I.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);if(Q){var C=Q[2],E=g(Q[1]),a=new g(2).pow(Number(C));if(E.gt(a.sub(1)))throw new SyntaxError('String "'.concat(I,'" is out of range'));var i=new g(2).pow(Number(C)-1);return E.gte(i)?E.sub(a):E}return new g(I)},BigNumber:function(I){return I},bigint:function(I){return new g(I.toString())},Unit:A.referToSelf(I=>Q=>{var C=Q.clone();return C.value=I(Q.value),C}),Fraction:function(I){return new g(String(I.n)).div(String(I.d)).times(String(I.s))},null:function(I){return new g(0)},"Array | Matrix":A.referToSelf(I=>Q=>tI(Q,I))})}),dt=lA("fraction",["typed","Fraction"],B=>{var{typed:A,Fraction:g}=B;return A("fraction",{number:function(I){if(!isFinite(I)||isNaN(I))throw new Error(I+" cannot be represented as a fraction");return new g(I)},string:function(I){return new g(I)},"number, number":function(I,Q){return new g(I,Q)},"bigint, bigint":function(I,Q){return new g(I,Q)},null:function(I){return new g(0)},BigNumber:function(I){return new g(I.toString())},bigint:function(I){return new g(I.toString())},Fraction:function(I){return I},Unit:A.referToSelf(I=>Q=>{var C=Q.clone();return C.value=I(Q.value),C}),Object:function(I){return new g(I)},"Array | Matrix":A.referToSelf(I=>Q=>tI(Q,I))})}),RC="matrix",bt=lA(RC,["typed","Matrix","DenseMatrix","SparseMatrix"],B=>{var{typed:A,Matrix:g,DenseMatrix:I,SparseMatrix:Q}=B;return A(RC,{"":function(){return C([])},string:function(E){return C([],E)},"string, string":function(E,a){return C([],E,a)},Array:function(E){return C(E)},Matrix:function(E){return C(E,E.storage())},"Array | Matrix, string":C,"Array | Matrix, string, string":C});function C(E,a,i){if(a==="dense"||a==="default"||a===void 0)return new I(E,i);if(a==="sparse")return new Q(E,i);throw new TypeError("Unknown matrix type "+JSON.stringify(a)+".")}}),pC="unaryMinus",wt=lA(pC,["typed"],B=>{var{typed:A}=B;return A(pC,{number:ra,"Complex | BigNumber | Fraction":g=>g.neg(),bigint:g=>-g,Unit:A.referToSelf(g=>I=>{var Q=I.clone();return Q.value=A.find(g,Q.valueType())(I.value),Q}),"Array | Matrix":A.referToSelf(g=>I=>tI(I,g,!0))})}),ut=lA("abs",["typed"],B=>{var{typed:A}=B;return A("abs",{number:ta,"Complex | BigNumber | Fraction | Unit":g=>g.abs(),bigint:g=>g<0n?-g:g,"Array | Matrix":A.referToSelf(g=>I=>tI(I,g,!0))})}),NC="addScalar",lt=lA(NC,["typed"],B=>{var{typed:A}=B;return A(NC,{"number, number":oa,"Complex, Complex":function(g,I){return g.add(I)},"BigNumber, BigNumber":function(g,I){return g.plus(I)},"bigint, bigint":function(g,I){return g+I},"Fraction, Fraction":function(g,I){return g.add(I)},"Unit, Unit":A.referToSelf(g=>(I,Q)=>{if(I.value===null||I.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(Q.value===null||Q.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!I.equalBase(Q))throw new Error("Units do not match");var C=I.clone();return C.value=A.find(g,[C.valueType(),Q.valueType()])(C.value,Q.value),C.fixPrefix=!1,C})})}),kC="subtractScalar",ft=lA(kC,["typed"],B=>{var{typed:A}=B;return A(kC,{"number, number":na,"Complex, Complex":function(g,I){return g.sub(I)},"BigNumber, BigNumber":function(g,I){return g.minus(I)},"bigint, bigint":function(g,I){return g-I},"Fraction, Fraction":function(g,I){return g.sub(I)},"Unit, Unit":A.referToSelf(g=>(I,Q)=>{if(I.value===null||I.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(Q.value===null||Q.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!I.equalBase(Q))throw new Error("Units do not match");var C=I.clone();return C.value=A.find(g,[C.valueType(),Q.valueType()])(C.value,Q.value),C.fixPrefix=!1,C})})}),Ft=lA("matAlgo11xS0s",["typed","equalScalar"],B=>{var{typed:A,equalScalar:g}=B;return function(I,Q,C,E){var a=I._values,i=I._index,t=I._ptr,e=I._size,o=I._datatype;if(!a)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var s,n=e[0],r=e[1],c=g,D=0,b=C;typeof o=="string"&&(s=o,c=A.find(g,[s,s]),D=A.convert(0,s),Q=A.convert(Q,s),b=A.find(C,[s,s]));for(var h=[],w=[],f=[],p=0;p<r;p++){f[p]=w.length;for(var R=t[p],m=t[p+1],G=R;G<m;G++){var k=i[G],U=E?b(Q,a[G]):b(a[G],Q);c(U,D)||(w.push(k),h.push(U))}}return f[r]=w.length,I.createSparseMatrix({values:h,index:w,ptr:f,size:[n,r],datatype:s})}}),yt=lA("matAlgo14xDs",["typed"],B=>{var{typed:A}=B;return function(I,Q,C,E){var a,i=I._data,t=I._size,e=I._datatype,o=C;typeof e=="string"&&(a=e,Q=A.convert(Q,a),o=A.find(C,[a,a]));var s=t.length>0?g(o,0,t,t[0],i,Q,E):[];return I.createDenseMatrix({data:s,size:jA(t),datatype:a})};function g(I,Q,C,E,a,i,t){var e=[];if(Q===C.length-1)for(var o=0;o<E;o++)e[o]=t?I(i,a[o]):I(a[o],i);else for(var s=0;s<E;s++)e[s]=g(I,Q+1,C,C[Q+1],a[s],i,t);return e}}),Mt=lA("multiplyScalar",["typed"],B=>{var{typed:A}=B;return A("multiplyScalar",{"number, number":sa,"Complex, Complex":function(g,I){return g.mul(I)},"BigNumber, BigNumber":function(g,I){return g.times(I)},"bigint, bigint":function(g,I){return g*I},"Fraction, Fraction":function(g,I){return g.mul(I)},"number | Fraction | BigNumber | Complex, Unit":(g,I)=>I.multiply(g),"Unit, number | Fraction | BigNumber | Complex | Unit":(g,I)=>g.multiply(I)})}),mC="multiply",Gt=lA(mC,["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],B=>{var{typed:A,matrix:g,addScalar:I,multiplyScalar:Q,equalScalar:C,dot:E}=B,a=Ft({typed:A,equalScalar:C}),i=yt({typed:A});function t(n,r){switch(n.length){case 1:switch(r.length){case 1:if(n[0]!==r[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(n[0]!==r[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+n[0]+") must match Matrix rows ("+r[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+r.length+" dimensions)")}break;case 2:switch(r.length){case 1:if(n[1]!==r[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+n[1]+") must match Vector length ("+r[0]+")");break;case 2:if(n[1]!==r[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+n[1]+") must match Matrix B rows ("+r[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+r.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+n.length+" dimensions)")}}function e(n,r){if(r.storage()!=="dense")throw new Error("Support for SparseMatrix not implemented");return function(c,D){var b,h=c._data,w=c._size,f=c._datatype||c.getDataType(),p=D._data,R=D._size,m=D._datatype||D.getDataType(),G=w[0],k=R[1],U=I,S=Q;f&&m&&f===m&&typeof f=="string"&&f!=="mixed"&&(b=f,U=A.find(I,[b,b]),S=A.find(Q,[b,b]));for(var j=[],z=0;z<k;z++){for(var gA=S(h[0],p[0][z]),$=1;$<G;$++)gA=U(gA,S(h[$],p[$][z]));j[z]=gA}return c.createDenseMatrix({data:j,size:[k],datatype:f===c._datatype&&m===D._datatype?b:void 0})}(n,r)}var o=A("_multiplyMatrixVector",{"DenseMatrix, any":function(n,r){var c,D=n._data,b=n._size,h=n._datatype||n.getDataType(),w=r._data,f=r._datatype||r.getDataType(),p=b[0],R=b[1],m=I,G=Q;h&&f&&h===f&&typeof h=="string"&&h!=="mixed"&&(c=h,m=A.find(I,[c,c]),G=A.find(Q,[c,c]));for(var k=[],U=0;U<p;U++){for(var S=D[U],j=G(S[0],w[0]),z=1;z<R;z++)j=m(j,G(S[z],w[z]));k[U]=j}return n.createDenseMatrix({data:k,size:[p],datatype:h===n._datatype&&f===r._datatype?c:void 0})},"SparseMatrix, any":function(n,r){var c=n._values,D=n._index,b=n._ptr,h=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(!c)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var w,f=r._data,p=r._datatype||r.getDataType(),R=n._size[0],m=r._size[0],G=[],k=[],U=[],S=I,j=Q,z=C,gA=0;h&&p&&h===p&&typeof h=="string"&&h!=="mixed"&&(w=h,S=A.find(I,[w,w]),j=A.find(Q,[w,w]),z=A.find(C,[w,w]),gA=A.convert(0,w));var $=[],X=[];U[0]=0;for(var aA=0;aA<m;aA++){var wA=f[aA];if(!z(wA,gA))for(var sA=b[aA],fA=b[aA+1],uA=sA;uA<fA;uA++){var iA=D[uA];X[iA]?$[iA]=S($[iA],j(wA,c[uA])):(X[iA]=!0,k.push(iA),$[iA]=j(wA,c[uA]))}}for(var GA=k.length,eA=0;eA<GA;eA++){var rA=k[eA];G[eA]=$[rA]}return U[1]=k.length,n.createSparseMatrix({values:G,index:k,ptr:U,size:[R,1],datatype:h===n._datatype&&p===r._datatype?w:void 0})}}),s=A("_multiplyMatrixMatrix",{"DenseMatrix, DenseMatrix":function(n,r){var c,D=n._data,b=n._size,h=n._datatype||n.getDataType(),w=r._data,f=r._size,p=r._datatype||r.getDataType(),R=b[0],m=b[1],G=f[1],k=I,U=Q;h&&p&&h===p&&typeof h=="string"&&h!=="mixed"&&h!=="mixed"&&(c=h,k=A.find(I,[c,c]),U=A.find(Q,[c,c]));for(var S=[],j=0;j<R;j++){var z=D[j];S[j]=[];for(var gA=0;gA<G;gA++){for(var $=U(z[0],w[0][gA]),X=1;X<m;X++)$=k($,U(z[X],w[X][gA]));S[j][gA]=$}}return n.createDenseMatrix({data:S,size:[R,G],datatype:h===n._datatype&&p===r._datatype?c:void 0})},"DenseMatrix, SparseMatrix":function(n,r){var c=n._data,D=n._size,b=n._datatype||n.getDataType(),h=r._values,w=r._index,f=r._ptr,p=r._size,R=r._datatype||r._data===void 0?r._datatype:r.getDataType();if(!h)throw new Error("Cannot multiply Dense Matrix times Pattern only Matrix");var m,G=D[0],k=p[1],U=I,S=Q,j=C,z=0;b&&R&&b===R&&typeof b=="string"&&b!=="mixed"&&(m=b,U=A.find(I,[m,m]),S=A.find(Q,[m,m]),j=A.find(C,[m,m]),z=A.convert(0,m));for(var gA=[],$=[],X=[],aA=r.createSparseMatrix({values:gA,index:$,ptr:X,size:[G,k],datatype:b===n._datatype&&R===r._datatype?m:void 0}),wA=0;wA<k;wA++){X[wA]=$.length;var sA=f[wA],fA=f[wA+1];if(fA>sA)for(var uA=0,iA=0;iA<G;iA++){for(var GA=iA+1,eA=void 0,rA=sA;rA<fA;rA++){var FA=w[rA];uA!==GA?(eA=S(c[iA][FA],h[rA]),uA=GA):eA=U(eA,S(c[iA][FA],h[rA]))}uA!==GA||j(eA,z)||($.push(iA),gA.push(eA))}}return X[k]=$.length,aA},"SparseMatrix, DenseMatrix":function(n,r){var c=n._values,D=n._index,b=n._ptr,h=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(!c)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var w,f=r._data,p=r._datatype||r.getDataType(),R=n._size[0],m=r._size[0],G=r._size[1],k=I,U=Q,S=C,j=0;h&&p&&h===p&&typeof h=="string"&&h!=="mixed"&&(w=h,k=A.find(I,[w,w]),U=A.find(Q,[w,w]),S=A.find(C,[w,w]),j=A.convert(0,w));for(var z=[],gA=[],$=[],X=n.createSparseMatrix({values:z,index:gA,ptr:$,size:[R,G],datatype:h===n._datatype&&p===r._datatype?w:void 0}),aA=[],wA=[],sA=0;sA<G;sA++){$[sA]=gA.length;for(var fA=sA+1,uA=0;uA<m;uA++){var iA=f[uA][sA];if(!S(iA,j))for(var GA=b[uA],eA=b[uA+1],rA=GA;rA<eA;rA++){var FA=D[rA];wA[FA]!==fA?(wA[FA]=fA,gA.push(FA),aA[FA]=U(iA,c[rA])):aA[FA]=k(aA[FA],U(iA,c[rA]))}}for(var RA=$[sA],oA=gA.length,cA=RA;cA<oA;cA++){var LA=gA[cA];z[cA]=aA[LA]}}return $[G]=gA.length,X},"SparseMatrix, SparseMatrix":function(n,r){var c,D=n._values,b=n._index,h=n._ptr,w=n._datatype||n._data===void 0?n._datatype:n.getDataType(),f=r._values,p=r._index,R=r._ptr,m=r._datatype||r._data===void 0?r._datatype:r.getDataType(),G=n._size[0],k=r._size[1],U=D&&f,S=I,j=Q;w&&m&&w===m&&typeof w=="string"&&w!=="mixed"&&(c=w,S=A.find(I,[c,c]),j=A.find(Q,[c,c]));for(var z,gA,$,X,aA,wA,sA,fA,uA=U?[]:void 0,iA=[],GA=[],eA=n.createSparseMatrix({values:uA,index:iA,ptr:GA,size:[G,k],datatype:w===n._datatype&&m===r._datatype?c:void 0}),rA=U?[]:void 0,FA=[],RA=0;RA<k;RA++){GA[RA]=iA.length;var oA=RA+1;for(aA=R[RA],wA=R[RA+1],X=aA;X<wA;X++)if(fA=p[X],U)for(gA=h[fA],$=h[fA+1],z=gA;z<$;z++)FA[sA=b[z]]!==oA?(FA[sA]=oA,iA.push(sA),rA[sA]=j(f[X],D[z])):rA[sA]=S(rA[sA],j(f[X],D[z]));else for(gA=h[fA],$=h[fA+1],z=gA;z<$;z++)FA[sA=b[z]]!==oA&&(FA[sA]=oA,iA.push(sA));if(U)for(var cA=GA[RA],LA=iA.length,KA=cA;KA<LA;KA++){var ig=iA[KA];uA[KA]=rA[ig]}}return GA[k]=iA.length,eA}});return A(mC,Q,{"Array, Array":A.referTo("Matrix, Matrix",n=>(r,c)=>{t(Qg(r),Qg(c));var D=n(g(r),g(c));return qA(D)?D.valueOf():D}),"Matrix, Matrix":function(n,r){var c=n.size(),D=r.size();return t(c,D),c.length===1?D.length===1?function(b,h,w){if(w===0)throw new Error("Cannot multiply two empty vectors");return E(b,h)}(n,r,c[0]):e(n,r):D.length===1?o(n,r):s(n,r)},"Matrix, Array":A.referTo("Matrix,Matrix",n=>(r,c)=>n(r,g(c))),"Array, Matrix":A.referToSelf(n=>(r,c)=>n(g(r,c.storage()),c)),"SparseMatrix, any":function(n,r){return a(n,r,Q,!1)},"DenseMatrix, any":function(n,r){return i(n,r,Q,!1)},"any, SparseMatrix":function(n,r){return a(r,n,Q,!0)},"any, DenseMatrix":function(n,r){return i(r,n,Q,!0)},"Array, any":function(n,r){return i(g(n),r,Q,!1).valueOf()},"any, Array":function(n,r){return i(g(r),n,Q,!0).valueOf()},"any, any":Q,"any, any, ...any":A.referToSelf(n=>(r,c,D)=>{for(var b=n(r,c),h=0;h<D.length;h++)b=n(b,D[h]);return b})})}),SC="conj",Rt=lA(SC,["typed"],B=>{var{typed:A}=B;return A(SC,{"number | BigNumber | Fraction":g=>g,Complex:g=>g.conjugate(),Unit:A.referToSelf(g=>I=>new I.constructor(g(I.toNumeric()),I.formatUnits())),"Array | Matrix":A.referToSelf(g=>I=>tI(I,g))})}),UC="identity",pt=lA(UC,["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],B=>{var{typed:A,config:g,matrix:I,BigNumber:Q,DenseMatrix:C,SparseMatrix:E}=B;return A(UC,{"":function(){return g.matrix==="Matrix"?I([]):[]},string:function(t){return I(t)},"number | BigNumber":function(t){return i(t,t,g.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, string":function(t,e){return i(t,t,e)},"number | BigNumber, number | BigNumber":function(t,e){return i(t,e,g.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(t,e,o){return i(t,e,o)},Array:function(t){return a(t)},"Array, string":function(t,e){return a(t,e)},Matrix:function(t){return a(t.valueOf(),t.storage())},"Matrix, string":function(t,e){return a(t.valueOf(),e)}});function a(t,e){switch(t.length){case 0:return e?I(e):[];case 1:return i(t[0],t[0],e);case 2:return i(t[0],t[1],e);default:throw new Error("Vector containing two values expected")}}function i(t,e,o){var s=WA(t)||WA(e)?Q:null;if(WA(t)&&(t=t.toNumber()),WA(e)&&(e=e.toNumber()),!YA(t)||t<1)throw new Error("Parameters in function identity must be positive integers");if(!YA(e)||e<1)throw new Error("Parameters in function identity must be positive integers");var n=s?new Q(1):1,r=s?new s(0):0,c=[t,e];if(o){if(o==="sparse")return E.diagonal(c,n,0,r);if(o==="dense")return C.diagonal(c,n,0,r);throw new TypeError('Unknown matrix type "'.concat(o,'"'))}for(var D=wQ([],c,r),b=t<e?t:e,h=0;h<b;h++)D[h][h]=n;return D}});function Nt(){throw new Error('No "bignumber" implementation available')}function kt(){throw new Error('No "fraction" implementation available')}var LC,JC="size",mt=lA(JC,["typed","config","?matrix"],B=>{var{typed:A,config:g,matrix:I}=B;return A(JC,{Matrix:function(Q){return Q.create(Q.size(),"number")},Array:Qg,string:function(Q){return g.matrix==="Array"?[Q.length]:I([Q.length],"dense","number")},"number | Complex | BigNumber | Unit | boolean | null":function(Q){return g.matrix==="Array"?[]:I?I([],"dense","number"):function(){throw new Error('No "matrix" implementation available')}()}})}),St=lA("numeric",["number","?bignumber","?fraction"],B=>{var{number:A,bignumber:g,fraction:I}=B,Q={string:!0,number:!0,BigNumber:!0,Fraction:!0},C={number:E=>A(E),BigNumber:g?E=>g(E):Nt,bigint:E=>BigInt(E),Fraction:I?E=>I(E):kt};return function(E){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"number";if((arguments.length>2?arguments[2]:void 0)!==void 0)throw new SyntaxError("numeric() takes one or two arguments");var i=_g(E);if(!(i in Q))throw new TypeError("Cannot convert "+E+' of type "'+i+'"; valid input types are '+Object.keys(Q).join(", "));if(!(a in C))throw new TypeError("Cannot convert "+E+' to type "'+a+'"; valid output types are '+Object.keys(C).join(", "));return a===i?E:C[a](E)}}),YC="divideScalar",Ut=lA(YC,["typed","numeric"],B=>{var{typed:A,numeric:g}=B;return A(YC,{"number, number":function(I,Q){return I/Q},"Complex, Complex":function(I,Q){return I.div(Q)},"BigNumber, BigNumber":function(I,Q){return I.div(Q)},"bigint, bigint":function(I,Q){return I/Q},"Fraction, Fraction":function(I,Q){return I.div(Q)},"Unit, number | Complex | Fraction | BigNumber | Unit":(I,Q)=>I.divide(Q),"number | Fraction | Complex | BigNumber, Unit":(I,Q)=>Q.divideInto(I)})}),Lt=lA("pow",["typed","config","identity","multiply","matrix","inv","fraction","number","Complex"],B=>{var{typed:A,config:g,identity:I,multiply:Q,matrix:C,inv:E,number:a,fraction:i,Complex:t}=B;return A("pow",{"number, number":e,"Complex, Complex":function(n,r){return n.pow(r)},"BigNumber, BigNumber":function(n,r){return r.isInteger()||n>=0||g.predictable?n.pow(r):new t(n.toNumber(),0).pow(r.toNumber(),0)},"bigint, bigint":(n,r)=>n**r,"Fraction, Fraction":function(n,r){var c=n.pow(r);if(c!=null)return c;if(g.predictable)throw new Error("Result of pow is non-rational and cannot be expressed as a fraction");return e(n.valueOf(),r.valueOf())},"Array, number":o,"Array, BigNumber":function(n,r){return o(n,r.toNumber())},"Matrix, number":s,"Matrix, BigNumber":function(n,r){return s(n,r.toNumber())},"Unit, number | BigNumber":function(n,r){return n.pow(r)}});function e(n,r){if(g.predictable&&!YA(r)&&n<0)try{var c=i(r),D=a(c);if((r===D||Math.abs((r-D)/r)<1e-14)&&c.d%2n===1n)return(c.n%2n===0n?1:-1)*Math.pow(-n,r)}catch{}return g.predictable&&(n<-1&&r===1/0||n>-1&&n<0&&r===-1/0)?NaN:YA(r)||n>=0||g.predictable?ca(n,r):n*n<1&&r===1/0||n*n>1&&r===-1/0?0:new t(n,0).pow(r,0)}function o(n,r){if(!YA(r))throw new TypeError("For A^b, b must be an integer (value is "+r+")");var c=Qg(n);if(c.length!==2)throw new Error("For A^b, A must be 2 dimensional (A has "+c.length+" dimensions)");if(c[0]!==c[1])throw new Error("For A^b, A must be square (size is "+c[0]+"x"+c[1]+")");if(r<0)try{return o(E(n),-r)}catch(h){throw h.message==="Cannot calculate inverse, determinant is zero"?new TypeError("For A^b, when A is not invertible, b must be a positive integer (value is "+r+")"):h}for(var D=I(c[0]).valueOf(),b=n;r>=1;)1&~r||(D=Q(b,D)),r>>=1,b=Q(b,b);return D}function s(n,r){return C(o(n.valueOf(),r))}}),Jt=lA("dot",["typed","addScalar","multiplyScalar","conj","size"],B=>{var{typed:A,addScalar:g,multiplyScalar:I,conj:Q,size:C}=B;return A("dot",{"Array | DenseMatrix, Array | DenseMatrix":function(i,t){var e=E(i,t),o=qA(i)?i._data:i,s=qA(i)?i._datatype||i.getDataType():void 0,n=qA(t)?t._data:t,r=qA(t)?t._datatype||t.getDataType():void 0,c=a(i).length===2,D=a(t).length===2,b=g,h=I;if(s&&r&&s===r&&typeof s=="string"&&s!=="mixed"){var w=s;b=A.find(g,[w,w]),h=A.find(I,[w,w])}if(!c&&!D){for(var f=h(Q(o[0]),n[0]),p=1;p<e;p++)f=b(f,h(Q(o[p]),n[p]));return f}if(!c&&D){for(var R=h(Q(o[0]),n[0][0]),m=1;m<e;m++)R=b(R,h(Q(o[m]),n[m][0]));return R}if(c&&!D){for(var G=h(Q(o[0][0]),n[0]),k=1;k<e;k++)G=b(G,h(Q(o[k][0]),n[k]));return G}if(c&&D){for(var U=h(Q(o[0][0]),n[0][0]),S=1;S<e;S++)U=b(U,h(Q(o[S][0]),n[S][0]));return U}},"SparseMatrix, SparseMatrix":function(i,t){E(i,t);for(var e=i._index,o=i._values,s=t._index,n=t._values,r=0,c=g,D=I,b=0,h=0;b<e.length&&h<s.length;){var w=e[b],f=s[h];w<f?b++:w>f?h++:w===f&&(r=c(r,D(o[b],n[h])),b++,h++)}return r}});function E(i,t){var e,o,s=a(i),n=a(t);if(s.length===1)e=s[0];else{if(s.length!==2||s[1]!==1)throw new RangeError("Expected a column vector, instead got a matrix of size ("+s.join(", ")+")");e=s[0]}if(n.length===1)o=n[0];else{if(n.length!==2||n[1]!==1)throw new RangeError("Expected a column vector, instead got a matrix of size ("+n.join(", ")+")");o=n[0]}if(e!==o)throw new RangeError("Vectors must have equal length ("+e+" != "+o+")");if(e===0)throw new RangeError("Cannot calculate the dot product of empty vectors");return e}function a(i){return qA(i)?i.size():C(i)}}),Yt=lA("det",["typed","matrix","subtractScalar","multiply","divideScalar","isZero","unaryMinus"],B=>{var{typed:A,matrix:g,subtractScalar:I,multiply:Q,divideScalar:C,isZero:E,unaryMinus:a}=B;return A("det",{any:function(i){return jA(i)},"Array | Matrix":function(i){var t;switch((t=qA(i)?i.size():Array.isArray(i)?(i=g(i)).size():[]).length){case 0:return jA(i);case 1:if(t[0]===1)return jA(i.valueOf()[0]);if(t[0]===0)return 1;throw new RangeError("Matrix must be square (size: "+OA(t)+")");case 2:var e=t[0],o=t[1];if(e===o)return function(s,n){if(n===1)return jA(s[0][0]);if(n===2)return I(Q(s[0][0],s[1][1]),Q(s[1][0],s[0][1]));for(var r=!1,c=new Array(n).fill(0).map((k,U)=>U),D=0;D<n;D++){var b=c[D];if(E(s[b][D])){var h=void 0;for(h=D+1;h<n;h++)if(!E(s[c[h]][D])){b=c[h],c[h]=c[D],c[D]=b,r=!r;break}if(h===n)return s[b][D]}for(var w=s[b][D],f=D===0?1:s[c[D-1]][D-1],p=D+1;p<n;p++)for(var R=c[p],m=D+1;m<n;m++)s[R][m]=C(I(Q(s[R][m],w),Q(s[R][D],s[b][m])),f)}var G=s[c[n-1]][n-1];return r?a(G):G}(i.clone().valueOf(),e);if(o===0)return 1;throw new RangeError("Matrix must be square (size: "+OA(t)+")");default:throw new RangeError("Matrix must be two dimensional (size: "+OA(t)+")")}}})}),xt=lA("inv",["typed","matrix","divideScalar","addScalar","multiply","unaryMinus","det","identity","abs"],B=>{var{typed:A,matrix:g,divideScalar:I,addScalar:Q,multiply:C,unaryMinus:E,det:a,identity:i,abs:t}=B;return A("inv",{"Array | Matrix":function(o){var s=qA(o)?o.size():Qg(o);switch(s.length){case 1:if(s[0]===1)return qA(o)?g([I(1,o.valueOf()[0])]):[I(1,o[0])];throw new RangeError("Matrix must be square (size: "+OA(s)+")");case 2:var n=s[0],r=s[1];if(n===r)return qA(o)?g(e(o.valueOf(),n,r),o.storage()):e(o,n,r);throw new RangeError("Matrix must be square (size: "+OA(s)+")");default:throw new RangeError("Matrix must be two dimensional (size: "+OA(s)+")")}},any:function(o){return I(1,o)}});function e(o,s,n){var r,c,D,b,h;if(s===1){if((b=o[0][0])===0)throw Error("Cannot calculate inverse, determinant is zero");return[[I(1,b)]]}if(s===2){var w=a(o);if(w===0)throw Error("Cannot calculate inverse, determinant is zero");return[[I(o[1][1],w),I(E(o[0][1]),w)],[I(E(o[1][0]),w),I(o[0][0],w)]]}var f=o.concat();for(r=0;r<s;r++)f[r]=f[r].concat();for(var p=i(s).valueOf(),R=0;R<n;R++){var m=t(f[R][R]),G=R;for(r=R+1;r<s;)t(f[r][R])>m&&(m=t(f[r][R]),G=r),r++;if(m===0)throw Error("Cannot calculate inverse, determinant is zero");(r=G)!==R&&(h=f[R],f[R]=f[r],f[r]=h,h=p[R],p[R]=p[r],p[r]=h);var k=f[R],U=p[R];for(r=0;r<s;r++){var S=f[r],j=p[r];if(r!==R){if(S[R]!==0){for(D=I(E(S[R]),k[R]),c=R;c<n;c++)S[c]=Q(S[c],C(D,k[c]));for(c=0;c<n;c++)j[c]=Q(j[c],C(D,U[c]))}}else{for(D=k[R],c=R;c<n;c++)S[c]=I(S[c],D);for(c=0;c<n;c++)j[c]=I(j[c],D)}}}return p}}),xC="gamma",Ht=lA(xC,["typed","config","multiplyScalar","pow","BigNumber","Complex"],B=>{var{typed:A,config:g,multiplyScalar:I,pow:Q,BigNumber:C,Complex:E}=B;return A(xC,{number:RB,Complex:function i(t){if(t.im===0)return RB(t.re);if(t.re<.5){var e=new E(1-t.re,-t.im),o=new E(Math.PI*t.re,Math.PI*t.im);return new E(Math.PI).div(o.sin()).div(i(e))}t=new E(t.re-1,t.im);for(var s=new E(GI[0],0),n=1;n<GI.length;++n){var r=new E(GI[n],0);s=s.add(r.div(t.add(n)))}var c=new E(t.re+ha+.5,t.im),D=Math.sqrt(2*Math.PI),b=c.pow(t.add(.5)),h=c.neg().exp();return s.mul(D).mul(b).mul(h)},BigNumber:function(i){if(i.isInteger())return i.isNegative()||i.isZero()?new C(1/0):a(i.minus(1));if(!i.isFinite())return new C(i.isNegative()?NaN:1/0);throw new Error("Integer BigNumber expected")}});function a(i){if(i<8)return new C([1,1,2,6,24,120,720,5040][i]);var t=g.precision+(0|Math.log(i.toNumber())),e=C.clone({precision:t});if(i%2==1)return i.times(a(new C(i-1)));for(var o=i,s=new e(i),n=i.toNumber();o>2;)n+=o-=2,s=s.times(n);return new C(s.toPrecision(C.precision))}}),kB=It({config:iI}),fQ=Qt({}),Da=Et({}),SQ=at({}),UQ=ot({Matrix:SQ}),HA=oi({BigNumber:kB,Complex:fQ,DenseMatrix:UQ,Fraction:Da}),Kt=ut({typed:HA}),FQ=lt({typed:HA}),jt=Rt({typed:HA}),LQ=rt({config:iI,typed:HA}),qt=nt({equalScalar:LQ,typed:HA}),yQ=Mt({typed:HA}),da=ht({typed:HA}),ba=ct({Matrix:SQ,equalScalar:LQ,typed:HA}),vt=ft({typed:HA}),Tt=Dt({BigNumber:kB,typed:HA}),RI=bt({DenseMatrix:UQ,Matrix:SQ,SparseMatrix:ba,typed:HA}),wa=dt({Fraction:Da,typed:HA}),HC=pt({BigNumber:kB,DenseMatrix:UQ,SparseMatrix:ba,config:iI,matrix:RI,typed:HA}),Ot=St({bignumber:Tt,fraction:wa,number:da}),Wt=mt({matrix:RI,config:iI,typed:HA}),KC=wt({typed:HA}),jC=Ut({numeric:Ot,typed:HA}),eQ=Gt({addScalar:FQ,dot:Jt({addScalar:FQ,conj:jt,multiplyScalar:yQ,size:Wt,typed:HA}),equalScalar:LQ,matrix:RI,multiplyScalar:yQ,typed:HA}),Pt=Ht({BigNumber:kB,Complex:fQ,config:iI,multiplyScalar:yQ,pow:Lt({Complex:fQ,config:iI,fraction:wa,identity:HC,inv:xt({abs:Kt,addScalar:FQ,det:Yt({divideScalar:jC,isZero:qt,matrix:RI,multiply:eQ,subtractScalar:vt,typed:HA,unaryMinus:KC}),divideScalar:jC,identity:HC,matrix:RI,multiply:eQ,typed:HA,unaryMinus:KC}),matrix:RI,multiply:eQ,number:da,typed:HA}),typed:HA});class Vt{constructor(A){if(A){const{toElementFn:g}=A;if(typeof g=="function")this._toElementFn=g;else if(g)throw new TypeError("toElementFn must be a function type")}}_toElementFn;get toElementFn(){return this._toElementFn}*[Symbol.iterator](...A){yield*this._getIterator(...A)}*values(){for(const A of this)yield A}every(A,g){let I=0;for(const Q of this)if(!A.call(g,Q,I++,this))return!1;return!0}some(A,g){let I=0;for(const Q of this)if(A.call(g,Q,I++,this))return!0;return!1}forEach(A,g){let I=0;for(const Q of this)A.call(g,Q,I++,this)}find(A,g){let I=0;for(const Q of this)if(A.call(g,Q,I++,this))return Q}has(A){for(const g of this)if(g===A)return!0;return!1}reduce(A,g){let I=g??0,Q=0;for(const C of this)I=A(I,C,Q++,this);return I}toArray(){return[...this]}toVisual(){return[...this]}print(){console.log(this.toVisual())}}/**
964
+ */var Za,Jg,FI=9e15,Zg=1e9,DQ="0123456789abcdef",yB="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",MB="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",dQ={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-FI,maxE:FI,crypto:!1},tA=!0,kB="[DecimalError] ",$g=kB+"Invalid argument: ",_a=kB+"Precision limit exceeded",$a=kB+"crypto unavailable",AE="[object Decimal]",Ag=Math.floor,zA=Math.pow,ci=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,hi=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Di=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,gE=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Fg=1e7,di=yB.length-1,bQ=MB.length-1,v={toStringTag:AE};function _A(B){var A,g,I,Q=B.length-1,C="",a=B[0];if(Q>0){for(C+=a,A=1;A<Q;A++)(g=7-(I=B[A]+"").length)&&(C+=Xg(g)),C+=I;(g=7-(I=(a=B[A])+"").length)&&(C+=Xg(g))}else if(a===0)return"0";for(;a%10==0;)a/=10;return C+a}function Eg(B,A,g){if(B!==~~B||B<A||B>g)throw Error($g+B)}function TI(B,A,g,I){var Q,C,a,E;for(C=B[0];C>=10;C/=10)--A;return--A<0?(A+=7,Q=0):(Q=Math.ceil((A+1)/7),A%=7),C=zA(10,7-A),E=B[Q]%C|0,I==null?A<3?(A==0?E=E/100|0:A==1&&(E=E/10|0),a=g<4&&E==99999||g>3&&E==49999||E==5e4||E==0):a=(g<4&&E+1==C||g>3&&E+1==C/2)&&(B[Q+1]/C/100|0)==zA(10,A-2)-1||(E==C/2||E==0)&&!(B[Q+1]/C/100|0):A<4?(A==0?E=E/1e3|0:A==1?E=E/100|0:A==2&&(E=E/10|0),a=(I||g<4)&&E==9999||!I&&g>3&&E==4999):a=((I||g<4)&&E+1==C||!I&&g>3&&E+1==C/2)&&(B[Q+1]/C/1e3|0)==zA(10,A-3)-1,a}function dB(B,A,g){for(var I,Q,C=[0],a=0,E=B.length;a<E;){for(Q=C.length;Q--;)C[Q]*=A;for(C[0]+=DQ.indexOf(B.charAt(a++)),I=0;I<C.length;I++)C[I]>g-1&&(C[I+1]===void 0&&(C[I+1]=0),C[I+1]+=C[I]/g|0,C[I]%=g)}return C.reverse()}v.absoluteValue=v.abs=function(){var B=new this.constructor(this);return B.s<0&&(B.s=1),CA(B)},v.ceil=function(){return CA(new this.constructor(this),this.e+1,2)},v.clampedTo=v.clamp=function(B,A){var g=this,I=g.constructor;if(B=new I(B),A=new I(A),!B.s||!A.s)return new I(NaN);if(B.gt(A))throw Error($g+A);return g.cmp(B)<0?B:g.cmp(A)>0?A:new I(g)},v.comparedTo=v.cmp=function(B){var A,g,I,Q,C=this,a=C.d,E=(B=new C.constructor(B)).d,i=C.s,t=B.s;if(!a||!E)return i&&t?i!==t?i:a===E?0:!a^i<0?1:-1:NaN;if(!a[0]||!E[0])return a[0]?i:E[0]?-t:0;if(i!==t)return i;if(C.e!==B.e)return C.e>B.e^i<0?1:-1;for(A=0,g=(I=a.length)<(Q=E.length)?I:Q;A<g;++A)if(a[A]!==E[A])return a[A]>E[A]^i<0?1:-1;return I===Q?0:I>Q^i<0?1:-1},v.cosine=v.cos=function(){var B,A,g=this,I=g.constructor;return g.d?g.d[0]?(B=I.precision,A=I.rounding,I.precision=B+Math.max(g.e,g.sd())+7,I.rounding=1,g=function(Q,C){var a,E,i;if(C.isZero())return C;E=C.d.length,E<32?i=(1/eB(4,a=Math.ceil(E/3))).toString():(a=16,i="2.3283064365386962890625e-10"),Q.precision+=a,C=bI(Q,1,C.times(i),new Q(1));for(var t=a;t--;){var e=C.times(C);C=e.times(e).minus(e).times(8).plus(1)}return Q.precision-=a,C}(I,rC(I,g)),I.precision=B,I.rounding=A,CA(Jg==2||Jg==3?g.neg():g,B,A,!0)):new I(1):new I(NaN)},v.cubeRoot=v.cbrt=function(){var B,A,g,I,Q,C,a,E,i,t,e=this,o=e.constructor;if(!e.isFinite()||e.isZero())return new o(e);for(tA=!1,(C=e.s*zA(e.s*e,1/3))&&Math.abs(C)!=1/0?I=new o(C.toString()):(g=_A(e.d),(C=((B=e.e)-g.length+1)%3)&&(g+=C==1||C==-2?"0":"00"),C=zA(g,1/3),B=Ag((B+1)/3)-(B%3==(B<0?-1:2)),(I=new o(g=C==1/0?"5e"+B:(g=C.toExponential()).slice(0,g.indexOf("e")+1)+B)).s=e.s),a=(B=o.precision)+3;;)if(t=(i=(E=I).times(E).times(E)).plus(e),I=NA(t.plus(e).times(E),t.plus(i),a+2,1),_A(E.d).slice(0,a)===(g=_A(I.d)).slice(0,a)){if((g=g.slice(a-3,a+1))!="9999"&&(Q||g!="4999")){+g&&(+g.slice(1)||g.charAt(0)!="5")||(CA(I,B+1,1),A=!I.times(I).times(I).eq(e));break}if(!Q&&(CA(E,B+1,0),E.times(E).times(E).eq(e))){I=E;break}a+=4,Q=1}return tA=!0,CA(I,B,o.rounding,A)},v.decimalPlaces=v.dp=function(){var B,A=this.d,g=NaN;if(A){if(g=7*((B=A.length-1)-Ag(this.e/7)),B=A[B])for(;B%10==0;B/=10)g--;g<0&&(g=0)}return g},v.dividedBy=v.div=function(B){return NA(this,new this.constructor(B))},v.dividedToIntegerBy=v.divToInt=function(B){var A=this.constructor;return CA(NA(this,new A(B),0,1,1),A.precision,A.rounding)},v.equals=v.eq=function(B){return this.cmp(B)===0},v.floor=function(){return CA(new this.constructor(this),this.e+1,3)},v.greaterThan=v.gt=function(B){return this.cmp(B)>0},v.greaterThanOrEqualTo=v.gte=function(B){var A=this.cmp(B);return A==1||A===0},v.hyperbolicCosine=v.cosh=function(){var B,A,g,I,Q,C=this,a=C.constructor,E=new a(1);if(!C.isFinite())return new a(C.s?1/0:NaN);if(C.isZero())return E;g=a.precision,I=a.rounding,a.precision=g+Math.max(C.e,C.sd())+4,a.rounding=1,(Q=C.d.length)<32?A=(1/eB(4,B=Math.ceil(Q/3))).toString():(B=16,A="2.3283064365386962890625e-10"),C=bI(a,1,C.times(A),new a(1),!0);for(var i,t=B,e=new a(8);t--;)i=C.times(C),C=E.minus(i.times(e.minus(i.times(e))));return CA(C,a.precision=g,a.rounding=I,!0)},v.hyperbolicSine=v.sinh=function(){var B,A,g,I,Q=this,C=Q.constructor;if(!Q.isFinite()||Q.isZero())return new C(Q);if(A=C.precision,g=C.rounding,C.precision=A+Math.max(Q.e,Q.sd())+4,C.rounding=1,(I=Q.d.length)<3)Q=bI(C,2,Q,Q,!0);else{B=(B=1.4*Math.sqrt(I))>16?16:0|B,Q=bI(C,2,Q=Q.times(1/eB(5,B)),Q,!0);for(var a,E=new C(5),i=new C(16),t=new C(20);B--;)a=Q.times(Q),Q=Q.times(E.plus(a.times(i.times(a).plus(t))))}return C.precision=A,C.rounding=g,CA(Q,A,g,!0)},v.hyperbolicTangent=v.tanh=function(){var B,A,g=this,I=g.constructor;return g.isFinite()?g.isZero()?new I(g):(B=I.precision,A=I.rounding,I.precision=B+7,I.rounding=1,NA(g.sinh(),g.cosh(),I.precision=B,I.rounding=A)):new I(g.s)},v.inverseCosine=v.acos=function(){var B=this,A=B.constructor,g=B.abs().cmp(1),I=A.precision,Q=A.rounding;return g!==-1?g===0?B.isNeg()?Ng(A,I,Q):new A(0):new A(NaN):B.isZero()?Ng(A,I+4,Q).times(.5):(A.precision=I+6,A.rounding=1,B=new A(1).minus(B).div(B.plus(1)).sqrt().atan(),A.precision=I,A.rounding=Q,B.times(2))},v.inverseHyperbolicCosine=v.acosh=function(){var B,A,g=this,I=g.constructor;return g.lte(1)?new I(g.eq(1)?0:NaN):g.isFinite()?(B=I.precision,A=I.rounding,I.precision=B+Math.max(Math.abs(g.e),g.sd())+4,I.rounding=1,tA=!1,g=g.times(g).minus(1).sqrt().plus(g),tA=!0,I.precision=B,I.rounding=A,g.ln()):new I(g)},v.inverseHyperbolicSine=v.asinh=function(){var B,A,g=this,I=g.constructor;return!g.isFinite()||g.isZero()?new I(g):(B=I.precision,A=I.rounding,I.precision=B+2*Math.max(Math.abs(g.e),g.sd())+6,I.rounding=1,tA=!1,g=g.times(g).plus(1).sqrt().plus(g),tA=!0,I.precision=B,I.rounding=A,g.ln())},v.inverseHyperbolicTangent=v.atanh=function(){var B,A,g,I,Q=this,C=Q.constructor;return Q.isFinite()?Q.e>=0?new C(Q.abs().eq(1)?Q.s/0:Q.isZero()?Q:NaN):(B=C.precision,A=C.rounding,I=Q.sd(),Math.max(I,B)<2*-Q.e-1?CA(new C(Q),B,A,!0):(C.precision=g=I-Q.e,Q=NA(Q.plus(1),new C(1).minus(Q),g+B,1),C.precision=B+4,C.rounding=1,Q=Q.ln(),C.precision=B,C.rounding=A,Q.times(.5))):new C(NaN)},v.inverseSine=v.asin=function(){var B,A,g,I,Q=this,C=Q.constructor;return Q.isZero()?new C(Q):(A=Q.abs().cmp(1),g=C.precision,I=C.rounding,A!==-1?A===0?((B=Ng(C,g+4,I).times(.5)).s=Q.s,B):new C(NaN):(C.precision=g+6,C.rounding=1,Q=Q.div(new C(1).minus(Q.times(Q)).sqrt().plus(1)).atan(),C.precision=g,C.rounding=I,Q.times(2)))},v.inverseTangent=v.atan=function(){var B,A,g,I,Q,C,a,E,i,t=this,e=t.constructor,o=e.precision,s=e.rounding;if(t.isFinite()){if(t.isZero())return new e(t);if(t.abs().eq(1)&&o+4<=bQ)return(a=Ng(e,o+4,s).times(.25)).s=t.s,a}else{if(!t.s)return new e(NaN);if(o+4<=bQ)return(a=Ng(e,o+4,s).times(.5)).s=t.s,a}for(e.precision=E=o+10,e.rounding=1,B=g=Math.min(28,E/7+2|0);B;--B)t=t.div(t.times(t).plus(1).sqrt().plus(1));for(tA=!1,A=Math.ceil(E/7),I=1,i=t.times(t),a=new e(t),Q=t;B!==-1;)if(Q=Q.times(i),C=a.minus(Q.div(I+=2)),Q=Q.times(i),(a=C.plus(Q.div(I+=2))).d[A]!==void 0)for(B=A;a.d[B]===C.d[B]&&B--;);return g&&(a=a.times(2<<g-1)),tA=!0,CA(a,e.precision=o,e.rounding=s,!0)},v.isFinite=function(){return!!this.d},v.isInteger=v.isInt=function(){return!!this.d&&Ag(this.e/7)>this.d.length-2},v.isNaN=function(){return!this.s},v.isNegative=v.isNeg=function(){return this.s<0},v.isPositive=v.isPos=function(){return this.s>0},v.isZero=function(){return!!this.d&&this.d[0]===0},v.lessThan=v.lt=function(B){return this.cmp(B)<0},v.lessThanOrEqualTo=v.lte=function(B){return this.cmp(B)<1},v.logarithm=v.log=function(B){var A,g,I,Q,C,a,E,i,t=this,e=t.constructor,o=e.precision,s=e.rounding;if(B==null)B=new e(10),A=!0;else{if(g=(B=new e(B)).d,B.s<0||!g||!g[0]||B.eq(1))return new e(NaN);A=B.eq(10)}if(g=t.d,t.s<0||!g||!g[0]||t.eq(1))return new e(g&&!g[0]?-1/0:t.s!=1?NaN:g?0:1/0);if(A)if(g.length>1)C=!0;else{for(Q=g[0];Q%10==0;)Q/=10;C=Q!==1}if(tA=!1,a=Vg(t,E=o+5),I=A?GB(e,E+10):Vg(B,E),TI((i=NA(a,I,E,1)).d,Q=o,s))do if(a=Vg(t,E+=10),I=A?GB(e,E+10):Vg(B,E),i=NA(a,I,E,1),!C){+_A(i.d).slice(Q+1,Q+15)+1==1e14&&(i=CA(i,o+1,0));break}while(TI(i.d,Q+=10,s));return tA=!0,CA(i,o,s)},v.minus=v.sub=function(B){var A,g,I,Q,C,a,E,i,t,e,o,s,n=this,r=n.constructor;if(B=new r(B),!n.d||!B.d)return n.s&&B.s?n.d?B.s=-B.s:B=new r(B.d||n.s!==B.s?n:NaN):B=new r(NaN),B;if(n.s!=B.s)return B.s=-B.s,n.plus(B);if(t=n.d,s=B.d,E=r.precision,i=r.rounding,!t[0]||!s[0]){if(s[0])B.s=-B.s;else{if(!t[0])return new r(i===3?-0:0);B=new r(n)}return tA?CA(B,E,i):B}if(g=Ag(B.e/7),e=Ag(n.e/7),t=t.slice(),C=e-g){for((o=C<0)?(A=t,C=-C,a=s.length):(A=s,g=e,a=t.length),C>(I=Math.max(Math.ceil(E/7),a)+2)&&(C=I,A.length=1),A.reverse(),I=C;I--;)A.push(0);A.reverse()}else{for((o=(I=t.length)<(a=s.length))&&(a=I),I=0;I<a;I++)if(t[I]!=s[I]){o=t[I]<s[I];break}C=0}for(o&&(A=t,t=s,s=A,B.s=-B.s),a=t.length,I=s.length-a;I>0;--I)t[a++]=0;for(I=s.length;I>C;){if(t[--I]<s[I]){for(Q=I;Q&&t[--Q]===0;)t[Q]=Fg-1;--t[Q],t[I]+=Fg}t[I]-=s[I]}for(;t[--a]===0;)t.pop();for(;t[0]===0;t.shift())--g;return t[0]?(B.d=t,B.e=bB(t,g),tA?CA(B,E,i):B):new r(i===3?-0:0)},v.modulo=v.mod=function(B){var A,g=this,I=g.constructor;return B=new I(B),!g.d||!B.s||B.d&&!B.d[0]?new I(NaN):!B.d||g.d&&!g.d[0]?CA(new I(g),I.precision,I.rounding):(tA=!1,I.modulo==9?(A=NA(g,B.abs(),0,3,1)).s*=B.s:A=NA(g,B,0,I.modulo,1),A=A.times(B),tA=!0,g.minus(A))},v.naturalExponential=v.exp=function(){return QQ(this)},v.naturalLogarithm=v.ln=function(){return Vg(this)},v.negated=v.neg=function(){var B=new this.constructor(this);return B.s=-B.s,CA(B)},v.plus=v.add=function(B){var A,g,I,Q,C,a,E,i,t,e,o=this,s=o.constructor;if(B=new s(B),!o.d||!B.d)return o.s&&B.s?o.d||(B=new s(B.d||o.s===B.s?o:NaN)):B=new s(NaN),B;if(o.s!=B.s)return B.s=-B.s,o.minus(B);if(t=o.d,e=B.d,E=s.precision,i=s.rounding,!t[0]||!e[0])return e[0]||(B=new s(o)),tA?CA(B,E,i):B;if(C=Ag(o.e/7),I=Ag(B.e/7),t=t.slice(),Q=C-I){for(Q<0?(g=t,Q=-Q,a=e.length):(g=e,I=C,a=t.length),Q>(a=(C=Math.ceil(E/7))>a?C+1:a+1)&&(Q=a,g.length=1),g.reverse();Q--;)g.push(0);g.reverse()}for((a=t.length)-(Q=e.length)<0&&(Q=a,g=e,e=t,t=g),A=0;Q;)A=(t[--Q]=t[Q]+e[Q]+A)/Fg|0,t[Q]%=Fg;for(A&&(t.unshift(A),++I),a=t.length;t[--a]==0;)t.pop();return B.d=t,B.e=bB(t,I),tA?CA(B,E,i):B},v.precision=v.sd=function(B){var A,g=this;if(B!==void 0&&B!==!!B&&B!==1&&B!==0)throw Error($g+B);return g.d?(A=nC(g.d),B&&g.e+1>A&&(A=g.e+1)):A=NaN,A},v.round=function(){var B=this,A=B.constructor;return CA(new A(B),B.e+1,A.rounding)},v.sine=v.sin=function(){var B,A,g=this,I=g.constructor;return g.isFinite()?g.isZero()?new I(g):(B=I.precision,A=I.rounding,I.precision=B+Math.max(g.e,g.sd())+7,I.rounding=1,g=function(Q,C){var a,E=C.d.length;if(E<3)return C.isZero()?C:bI(Q,2,C,C);a=(a=1.4*Math.sqrt(E))>16?16:0|a,C=C.times(1/eB(5,a)),C=bI(Q,2,C,C);for(var i,t=new Q(5),e=new Q(16),o=new Q(20);a--;)i=C.times(C),C=C.times(t.plus(i.times(e.times(i).minus(o))));return C}(I,rC(I,g)),I.precision=B,I.rounding=A,CA(Jg>2?g.neg():g,B,A,!0)):new I(NaN)},v.squareRoot=v.sqrt=function(){var B,A,g,I,Q,C,a=this,E=a.d,i=a.e,t=a.s,e=a.constructor;if(t!==1||!E||!E[0])return new e(!t||t<0&&(!E||E[0])?NaN:E?a:1/0);for(tA=!1,(t=Math.sqrt(+a))==0||t==1/0?(((A=_A(E)).length+i)%2==0&&(A+="0"),t=Math.sqrt(A),i=Ag((i+1)/2)-(i<0||i%2),I=new e(A=t==1/0?"5e"+i:(A=t.toExponential()).slice(0,A.indexOf("e")+1)+i)):I=new e(t.toString()),g=(i=e.precision)+3;;)if(I=(C=I).plus(NA(a,C,g+2,1)).times(.5),_A(C.d).slice(0,g)===(A=_A(I.d)).slice(0,g)){if((A=A.slice(g-3,g+1))!="9999"&&(Q||A!="4999")){+A&&(+A.slice(1)||A.charAt(0)!="5")||(CA(I,i+1,1),B=!I.times(I).eq(a));break}if(!Q&&(CA(C,i+1,0),C.times(C).eq(a))){I=C;break}g+=4,Q=1}return tA=!0,CA(I,i,e.rounding,B)},v.tangent=v.tan=function(){var B,A,g=this,I=g.constructor;return g.isFinite()?g.isZero()?new I(g):(B=I.precision,A=I.rounding,I.precision=B+10,I.rounding=1,(g=g.sin()).s=1,g=NA(g,new I(1).minus(g.times(g)).sqrt(),B+10,0),I.precision=B,I.rounding=A,CA(Jg==2||Jg==4?g.neg():g,B,A,!0)):new I(NaN)},v.times=v.mul=function(B){var A,g,I,Q,C,a,E,i,t,e=this,o=e.constructor,s=e.d,n=(B=new o(B)).d;if(B.s*=e.s,!(s&&s[0]&&n&&n[0]))return new o(!B.s||s&&!s[0]&&!n||n&&!n[0]&&!s?NaN:s&&n?0*B.s:B.s/0);for(g=Ag(e.e/7)+Ag(B.e/7),(i=s.length)<(t=n.length)&&(C=s,s=n,n=C,a=i,i=t,t=a),C=[],I=a=i+t;I--;)C.push(0);for(I=t;--I>=0;){for(A=0,Q=i+I;Q>I;)E=C[Q]+n[I]*s[Q-I-1]+A,C[Q--]=E%Fg|0,A=E/Fg|0;C[Q]=(C[Q]+A)%Fg|0}for(;!C[--a];)C.pop();return A?++g:C.shift(),B.d=C,B.e=bB(C,g),tA?CA(B,o.precision,o.rounding):B},v.toBinary=function(B,A){return CQ(this,2,B,A)},v.toDecimalPlaces=v.toDP=function(B,A){var g=this,I=g.constructor;return g=new I(g),B===void 0?g:(Eg(B,0,Zg),A===void 0?A=I.rounding:Eg(A,0,8),CA(g,B+g.e+1,A))},v.toExponential=function(B,A){var g,I=this,Q=I.constructor;return B===void 0?g=Gg(I,!0):(Eg(B,0,Zg),A===void 0?A=Q.rounding:Eg(A,0,8),g=Gg(I=CA(new Q(I),B+1,A),!0,B+1)),I.isNeg()&&!I.isZero()?"-"+g:g},v.toFixed=function(B,A){var g,I,Q=this,C=Q.constructor;return B===void 0?g=Gg(Q):(Eg(B,0,Zg),A===void 0?A=C.rounding:Eg(A,0,8),g=Gg(I=CA(new C(Q),B+Q.e+1,A),!1,B+I.e+1)),Q.isNeg()&&!Q.isZero()?"-"+g:g},v.toFraction=function(B){var A,g,I,Q,C,a,E,i,t,e,o,s,n=this,r=n.d,c=n.constructor;if(!r)return new c(n);if(t=g=new c(1),I=i=new c(0),a=(C=(A=new c(I)).e=nC(r)-n.e-1)%7,A.d[0]=zA(10,a<0?7+a:a),B==null)B=C>0?A:t;else{if(!(E=new c(B)).isInt()||E.lt(t))throw Error($g+E);B=E.gt(A)?C>0?A:t:E}for(tA=!1,E=new c(_A(r)),e=c.precision,c.precision=C=7*r.length*2;o=NA(E,A,0,1,1),(Q=g.plus(o.times(I))).cmp(B)!=1;)g=I,I=Q,Q=t,t=i.plus(o.times(Q)),i=Q,Q=A,A=E.minus(o.times(Q)),E=Q;return Q=NA(B.minus(g),I,0,1,1),i=i.plus(Q.times(t)),g=g.plus(Q.times(I)),i.s=t.s=n.s,s=NA(t,I,C,1).minus(n).abs().cmp(NA(i,g,C,1).minus(n).abs())<1?[t,I]:[i,g],c.precision=e,tA=!0,s},v.toHexadecimal=v.toHex=function(B,A){return CQ(this,16,B,A)},v.toNearest=function(B,A){var g=this,I=g.constructor;if(g=new I(g),B==null){if(!g.d)return g;B=new I(1),A=I.rounding}else{if(B=new I(B),A===void 0?A=I.rounding:Eg(A,0,8),!g.d)return B.s?g:B;if(!B.d)return B.s&&(B.s=g.s),B}return B.d[0]?(tA=!1,g=NA(g,B,0,A,1).times(B),tA=!0,CA(g)):(B.s=g.s,g=B),g},v.toNumber=function(){return+this},v.toOctal=function(B,A){return CQ(this,8,B,A)},v.toPower=v.pow=function(B){var A,g,I,Q,C,a,E=this,i=E.constructor,t=+(B=new i(B));if(!(E.d&&B.d&&E.d[0]&&B.d[0]))return new i(zA(+E,t));if((E=new i(E)).eq(1))return E;if(I=i.precision,C=i.rounding,B.eq(1))return CA(E,I,C);if((A=Ag(B.e/7))>=B.d.length-1&&(g=t<0?-t:t)<=9007199254740991)return Q=IE(i,E,g,I),B.s<0?new i(1).div(Q):CA(Q,I,C);if((a=E.s)<0){if(A<B.d.length-1)return new i(NaN);if(1&B.d[A]||(a=1),E.e==0&&E.d[0]==1&&E.d.length==1)return E.s=a,E}return(A=(g=zA(+E,t))!=0&&isFinite(g)?new i(g+"").e:Ag(t*(Math.log("0."+_A(E.d))/Math.LN10+E.e+1)))>i.maxE+1||A<i.minE-1?new i(A>0?a/0:0):(tA=!1,i.rounding=E.s=1,g=Math.min(12,(A+"").length),(Q=QQ(B.times(Vg(E,I+g)),I)).d&&TI((Q=CA(Q,I+5,1)).d,I,C)&&(A=I+10,+_A((Q=CA(QQ(B.times(Vg(E,A+g)),A),A+5,1)).d).slice(I+1,I+15)+1==1e14&&(Q=CA(Q,I+1,0))),Q.s=a,tA=!0,i.rounding=C,CA(Q,I,C))},v.toPrecision=function(B,A){var g,I=this,Q=I.constructor;return B===void 0?g=Gg(I,I.e<=Q.toExpNeg||I.e>=Q.toExpPos):(Eg(B,1,Zg),A===void 0?A=Q.rounding:Eg(A,0,8),g=Gg(I=CA(new Q(I),B,A),B<=I.e||I.e<=Q.toExpNeg,B)),I.isNeg()&&!I.isZero()?"-"+g:g},v.toSignificantDigits=v.toSD=function(B,A){var g=this.constructor;return B===void 0?(B=g.precision,A=g.rounding):(Eg(B,1,Zg),A===void 0?A=g.rounding:Eg(A,0,8)),CA(new g(this),B,A)},v.toString=function(){var B=this,A=B.constructor,g=Gg(B,B.e<=A.toExpNeg||B.e>=A.toExpPos);return B.isNeg()&&!B.isZero()?"-"+g:g},v.truncated=v.trunc=function(){return CA(new this.constructor(this),this.e+1,1)},v.valueOf=v.toJSON=function(){var B=this,A=B.constructor,g=Gg(B,B.e<=A.toExpNeg||B.e>=A.toExpPos);return B.isNeg()?"-"+g:g};var NA=function(){function B(I,Q,C){var a,E=0,i=I.length;for(I=I.slice();i--;)a=I[i]*Q+E,I[i]=a%C|0,E=a/C|0;return E&&I.unshift(E),I}function A(I,Q,C,a){var E,i;if(C!=a)i=C>a?1:-1;else for(E=i=0;E<C;E++)if(I[E]!=Q[E]){i=I[E]>Q[E]?1:-1;break}return i}function g(I,Q,C,a){for(var E=0;C--;)I[C]-=E,E=I[C]<Q[C]?1:0,I[C]=E*a+I[C]-Q[C];for(;!I[0]&&I.length>1;)I.shift()}return function(I,Q,C,a,E,i){var t,e,o,s,n,r,c,D,w,h,d,f,p,R,k,G,N,S,U,j,z=I.constructor,AA=I.s==Q.s?1:-1,_=I.d,X=Q.d;if(!(_&&_[0]&&X&&X[0]))return new z(I.s&&Q.s&&(_?!X||_[0]!=X[0]:X)?_&&_[0]==0||!X?0*AA:AA/0:NaN);for(i?(n=1,e=I.e-Q.e):(i=Fg,n=7,e=Ag(I.e/n)-Ag(Q.e/n)),U=X.length,N=_.length,h=(w=new z(AA)).d=[],o=0;X[o]==(_[o]||0);o++);if(X[o]>(_[o]||0)&&e--,C==null?(R=C=z.precision,a=z.rounding):R=E?C+(I.e-Q.e)+1:C,R<0)h.push(1),r=!0;else{if(R=R/n+2|0,o=0,U==1){for(s=0,X=X[0],R++;(o<N||s)&&R--;o++)k=s*i+(_[o]||0),h[o]=k/X|0,s=k%X|0;r=s||o<N}else{for((s=i/(X[0]+1)|0)>1&&(X=B(X,s,i),_=B(_,s,i),U=X.length,N=_.length),G=U,f=(d=_.slice(0,U)).length;f<U;)d[f++]=0;(j=X.slice()).unshift(0),S=X[0],X[1]>=i/2&&++S;do s=0,(t=A(X,d,U,f))<0?(p=d[0],U!=f&&(p=p*i+(d[1]||0)),(s=p/S|0)>1?(s>=i&&(s=i-1),(t=A(c=B(X,s,i),d,D=c.length,f=d.length))==1&&(s--,g(c,U<D?j:X,D,i))):(s==0&&(t=s=1),c=X.slice()),(D=c.length)<f&&c.unshift(0),g(d,c,f,i),t==-1&&(t=A(X,d,U,f=d.length))<1&&(s++,g(d,U<f?j:X,f,i)),f=d.length):t===0&&(s++,d=[0]),h[o++]=s,t&&d[0]?d[f++]=_[G]||0:(d=[_[G]],f=1);while((G++<N||d[0]!==void 0)&&R--);r=d[0]!==void 0}h[0]||h.shift()}if(n==1)w.e=e,Za=r;else{for(o=1,s=h[0];s>=10;s/=10)o++;w.e=o+e*n-1,CA(w,E?C+w.e+1:C,a,r)}return w}}();function CA(B,A,g,I){var Q,C,a,E,i,t,e,o,s,n=B.constructor;A:if(A!=null){if(!(o=B.d))return B;for(Q=1,E=o[0];E>=10;E/=10)Q++;if((C=A-Q)<0)C+=7,a=A,i=(e=o[s=0])/zA(10,Q-a-1)%10|0;else if((s=Math.ceil((C+1)/7))>=(E=o.length)){if(!I)break A;for(;E++<=s;)o.push(0);e=i=0,Q=1,a=(C%=7)-7+1}else{for(e=E=o[s],Q=1;E>=10;E/=10)Q++;i=(a=(C%=7)-7+Q)<0?0:e/zA(10,Q-a-1)%10|0}if(I=I||A<0||o[s+1]!==void 0||(a<0?e:e%zA(10,Q-a-1)),t=g<4?(i||I)&&(g==0||g==(B.s<0?3:2)):i>5||i==5&&(g==4||I||g==6&&(C>0?a>0?e/zA(10,Q-a):0:o[s-1])%10&1||g==(B.s<0?8:7)),A<1||!o[0])return o.length=0,t?(A-=B.e+1,o[0]=zA(10,(7-A%7)%7),B.e=-A||0):o[0]=B.e=0,B;if(C==0?(o.length=s,E=1,s--):(o.length=s+1,E=zA(10,7-C),o[s]=a>0?(e/zA(10,Q-a)%zA(10,a)|0)*E:0),t)for(;;){if(s==0){for(C=1,a=o[0];a>=10;a/=10)C++;for(a=o[0]+=E,E=1;a>=10;a/=10)E++;C!=E&&(B.e++,o[0]==Fg&&(o[0]=1));break}if(o[s]+=E,o[s]!=Fg)break;o[s--]=0,E=1}for(C=o.length;o[--C]===0;)o.pop()}return tA&&(B.e>n.maxE?(B.d=null,B.e=NaN):B.e<n.minE&&(B.e=0,B.d=[0])),B}function Gg(B,A,g){if(!B.isFinite())return QE(B);var I,Q=B.e,C=_A(B.d),a=C.length;return A?(g&&(I=g-a)>0?C=C.charAt(0)+"."+C.slice(1)+Xg(I):a>1&&(C=C.charAt(0)+"."+C.slice(1)),C=C+(B.e<0?"e":"e+")+B.e):Q<0?(C="0."+Xg(-Q-1)+C,g&&(I=g-a)>0&&(C+=Xg(I))):Q>=a?(C+=Xg(Q+1-a),g&&(I=g-Q-1)>0&&(C=C+"."+Xg(I))):((I=Q+1)<a&&(C=C.slice(0,I)+"."+C.slice(I)),g&&(I=g-a)>0&&(Q+1===a&&(C+="."),C+=Xg(I))),C}function bB(B,A){var g=B[0];for(A*=7;g>=10;g/=10)A++;return A}function GB(B,A,g){if(A>di)throw tA=!0,g&&(B.precision=g),Error(_a);return CA(new B(yB),A,1,!0)}function Ng(B,A,g){if(A>bQ)throw Error(_a);return CA(new B(MB),A,g,!0)}function nC(B){var A=B.length-1,g=7*A+1;if(A=B[A]){for(;A%10==0;A/=10)g--;for(A=B[0];A>=10;A/=10)g++}return g}function Xg(B){for(var A="";B--;)A+="0";return A}function IE(B,A,g,I){var Q,C=new B(1),a=Math.ceil(I/7+4);for(tA=!1;;){if(g%2&&cC((C=C.times(A)).d,a)&&(Q=!0),(g=Ag(g/2))===0){g=C.d.length-1,Q&&C.d[g]===0&&++C.d[g];break}cC((A=A.times(A)).d,a)}return tA=!0,C}function sC(B){return 1&B.d[B.d.length-1]}function BE(B,A,g){for(var I,Q,C=new B(A[0]),a=0;++a<A.length;){if(!(Q=new B(A[a])).s){C=Q;break}((I=C.cmp(Q))===g||I===0&&C.s===g)&&(C=Q)}return C}function QQ(B,A){var g,I,Q,C,a,E,i,t=0,e=0,o=0,s=B.constructor,n=s.rounding,r=s.precision;if(!B.d||!B.d[0]||B.e>17)return new s(B.d?B.d[0]?B.s<0?0:1/0:1:B.s?B.s<0?0:B:NaN);for(A==null?(tA=!1,i=r):i=A,E=new s(.03125);B.e>-2;)B=B.times(E),o+=5;for(i+=I=Math.log(zA(2,o))/Math.LN10*2+5|0,g=C=a=new s(1),s.precision=i;;){if(C=CA(C.times(B),i,1),g=g.times(++e),_A((E=a.plus(NA(C,g,i,1))).d).slice(0,i)===_A(a.d).slice(0,i)){for(Q=o;Q--;)a=CA(a.times(a),i,1);if(A!=null)return s.precision=r,a;if(!(t<3&&TI(a.d,i-I,n,t)))return CA(a,s.precision=r,n,tA=!0);s.precision=i+=10,g=C=E=new s(1),e=0,t++}a=E}}function Vg(B,A){var g,I,Q,C,a,E,i,t,e,o,s,n=1,r=B,c=r.d,D=r.constructor,w=D.rounding,h=D.precision;if(r.s<0||!c||!c[0]||!r.e&&c[0]==1&&c.length==1)return new D(c&&!c[0]?-1/0:r.s!=1?NaN:c?0:r);if(A==null?(tA=!1,e=h):e=A,D.precision=e+=10,I=(g=_A(c)).charAt(0),!(Math.abs(C=r.e)<15e14))return t=GB(D,e+2,h).times(C+""),r=Vg(new D(I+"."+g.slice(1)),e-10).plus(t),D.precision=h,A==null?CA(r,h,w,tA=!0):r;for(;I<7&&I!=1||I==1&&g.charAt(1)>3;)I=(g=_A((r=r.times(B)).d)).charAt(0),n++;for(C=r.e,I>1?(r=new D("0."+g),C++):r=new D(I+"."+g.slice(1)),o=r,i=a=r=NA(r.minus(1),r.plus(1),e,1),s=CA(r.times(r),e,1),Q=3;;){if(a=CA(a.times(s),e,1),_A((t=i.plus(NA(a,new D(Q),e,1))).d).slice(0,e)===_A(i.d).slice(0,e)){if(i=i.times(2),C!==0&&(i=i.plus(GB(D,e+2,h).times(C+""))),i=NA(i,new D(n),e,1),A!=null)return D.precision=h,i;if(!TI(i.d,e-10,w,E))return CA(i,D.precision=h,w,tA=!0);D.precision=e+=10,t=a=r=NA(o.minus(1),o.plus(1),e,1),s=CA(r.times(r),e,1),Q=E=1}i=t,Q+=2}}function QE(B){return String(B.s*B.s/0)}function wB(B,A){var g,I,Q;for((g=A.indexOf("."))>-1&&(A=A.replace(".","")),(I=A.search(/e/i))>0?(g<0&&(g=I),g+=+A.slice(I+1),A=A.substring(0,I)):g<0&&(g=A.length),I=0;A.charCodeAt(I)===48;I++);for(Q=A.length;A.charCodeAt(Q-1)===48;--Q);if(A=A.slice(I,Q)){if(Q-=I,B.e=g=g-I-1,B.d=[],I=(g+1)%7,g<0&&(I+=7),I<Q){for(I&&B.d.push(+A.slice(0,I)),Q-=7;I<Q;)B.d.push(+A.slice(I,I+=7));I=7-(A=A.slice(I)).length}else I-=Q;for(;I--;)A+="0";B.d.push(+A),tA&&(B.e>B.constructor.maxE?(B.d=null,B.e=NaN):B.e<B.constructor.minE&&(B.e=0,B.d=[0]))}else B.e=0,B.d=[0];return B}function bi(B,A){var g,I,Q,C,a,E,i,t,e;if(A.indexOf("_")>-1){if(A=A.replace(/(\d)_(?=\d)/g,"$1"),gE.test(A))return wB(B,A)}else if(A==="Infinity"||A==="NaN")return+A||(B.s=NaN),B.e=NaN,B.d=null,B;if(hi.test(A))g=16,A=A.toLowerCase();else if(ci.test(A))g=2;else{if(!Di.test(A))throw Error($g+A);g=8}for((C=A.search(/p/i))>0?(i=+A.slice(C+1),A=A.substring(2,C)):A=A.slice(2),a=(C=A.indexOf("."))>=0,I=B.constructor,a&&(C=(E=(A=A.replace(".","")).length)-C,Q=IE(I,new I(g),C,2*C)),C=e=(t=dB(A,g,Fg)).length-1;t[C]===0;--C)t.pop();return C<0?new I(0*B.s):(B.e=bB(t,e),B.d=t,tA=!1,a&&(B=NA(B,Q,4*E)),i&&(B=B.times(Math.abs(i)<54?zA(2,i):NI.pow(2,i))),tA=!0,B)}function bI(B,A,g,I,Q){var C,a,E,i,t=B.precision,e=Math.ceil(t/7);for(tA=!1,i=g.times(g),E=new B(I);;){if(a=NA(E.times(i),new B(A++*A++),t,1),E=Q?I.plus(a):I.minus(a),I=NA(a.times(i),new B(A++*A++),t,1),(a=E.plus(I)).d[e]!==void 0){for(C=e;a.d[C]===E.d[C]&&C--;);if(C==-1)break}C=E,E=I,I=a,a=C}return tA=!0,a.d.length=e+1,a}function eB(B,A){for(var g=B;--A;)g*=B;return g}function rC(B,A){var g,I=A.s<0,Q=Ng(B,B.precision,1),C=Q.times(.5);if((A=A.abs()).lte(C))return Jg=I?4:1,A;if((g=A.divToInt(Q)).isZero())Jg=I?3:2;else{if((A=A.minus(g.times(Q))).lte(C))return Jg=sC(g)?I?2:3:I?4:1,A;Jg=sC(g)?I?1:4:I?3:2}return A.minus(Q).abs()}function CQ(B,A,g,I){var Q,C,a,E,i,t,e,o,s,n=B.constructor,r=g!==void 0;if(r?(Eg(g,1,Zg),I===void 0?I=n.rounding:Eg(I,0,8)):(g=n.precision,I=n.rounding),B.isFinite()){for(r?(Q=2,A==16?g=4*g-3:A==8&&(g=3*g-2)):Q=A,(a=(e=Gg(B)).indexOf("."))>=0&&(e=e.replace(".",""),(s=new n(1)).e=e.length-a,s.d=dB(Gg(s),10,Q),s.e=s.d.length),C=i=(o=dB(e,10,Q)).length;o[--i]==0;)o.pop();if(o[0]){if(a<0?C--:((B=new n(B)).d=o,B.e=C,o=(B=NA(B,s,g,I,0,Q)).d,C=B.e,t=Za),a=o[g],E=Q/2,t=t||o[g+1]!==void 0,t=I<4?(a!==void 0||t)&&(I===0||I===(B.s<0?3:2)):a>E||a===E&&(I===4||t||I===6&&1&o[g-1]||I===(B.s<0?8:7)),o.length=g,t)for(;++o[--g]>Q-1;)o[g]=0,g||(++C,o.unshift(1));for(i=o.length;!o[i-1];--i);for(a=0,e="";a<i;a++)e+=DQ.charAt(o[a]);if(r){if(i>1)if(A==16||A==8){for(a=A==16?4:3,--i;i%a;i++)e+="0";for(i=(o=dB(e,Q,A)).length;!o[i-1];--i);for(a=1,e="1.";a<i;a++)e+=DQ.charAt(o[a])}else e=e.charAt(0)+"."+e.slice(1);e=e+(C<0?"p":"p+")+C}else if(C<0){for(;++C;)e="0"+e;e="0."+e}else if(++C>i)for(C-=i;C--;)e+="0";else C<i&&(e=e.slice(0,C)+"."+e.slice(C))}else e=r?"0p+0":"0";e=(A==16?"0x":A==2?"0b":A==8?"0o":"")+e}else e=QE(B);return B.s<0?"-"+e:e}function cC(B,A){if(B.length>A)return B.length=A,!0}function wi(B){return new this(B).abs()}function li(B){return new this(B).acos()}function ui(B){return new this(B).acosh()}function fi(B,A){return new this(B).plus(A)}function Fi(B){return new this(B).asin()}function yi(B){return new this(B).asinh()}function Mi(B){return new this(B).atan()}function Gi(B){return new this(B).atanh()}function Ri(B,A){B=new this(B),A=new this(A);var g,I=this.precision,Q=this.rounding,C=I+4;return B.s&&A.s?B.d||A.d?!A.d||B.isZero()?(g=A.s<0?Ng(this,I,Q):new this(0)).s=B.s:!B.d||A.isZero()?(g=Ng(this,C,1).times(.5)).s=B.s:A.s<0?(this.precision=C,this.rounding=1,g=this.atan(NA(B,A,C,1)),A=Ng(this,C,1),this.precision=I,this.rounding=Q,g=B.s<0?g.minus(A):g.plus(A)):g=this.atan(NA(B,A,C,1)):(g=Ng(this,C,1).times(A.s>0?.25:.75)).s=B.s:g=new this(NaN),g}function pi(B){return new this(B).cbrt()}function Ni(B){return CA(B=new this(B),B.e+1,2)}function ki(B,A,g){return new this(B).clamp(A,g)}function mi(B){if(!B||typeof B!="object")throw Error(kB+"Object expected");var A,g,I,Q=B.defaults===!0,C=["precision",1,Zg,"rounding",0,8,"toExpNeg",-FI,0,"toExpPos",0,FI,"maxE",0,FI,"minE",-FI,0,"modulo",0,9];for(A=0;A<C.length;A+=3)if(g=C[A],Q&&(this[g]=dQ[g]),(I=B[g])!==void 0){if(!(Ag(I)===I&&I>=C[A+1]&&I<=C[A+2]))throw Error($g+g+": "+I);this[g]=I}if(g="crypto",Q&&(this[g]=dQ[g]),(I=B[g])!==void 0){if(I!==!0&&I!==!1&&I!==0&&I!==1)throw Error($g+g+": "+I);if(I){if(typeof crypto>"u"||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error($a);this[g]=!0}else this[g]=!1}return this}function Ui(B){return new this(B).cos()}function Si(B){return new this(B).cosh()}function Li(B,A){return new this(B).div(A)}function Ji(B){return new this(B).exp()}function Yi(B){return CA(B=new this(B),B.e+1,3)}function xi(){var B,A,g=new this(0);for(tA=!1,B=0;B<arguments.length;)if((A=new this(arguments[B++])).d)g.d&&(g=g.plus(A.times(A)));else{if(A.s)return tA=!0,new this(1/0);g=A}return tA=!0,g.sqrt()}function hC(B){return B instanceof NI||B&&B.toStringTag===AE||!1}function Hi(B){return new this(B).ln()}function Ki(B,A){return new this(B).log(A)}function ji(B){return new this(B).log(2)}function qi(B){return new this(B).log(10)}function vi(){return BE(this,arguments,-1)}function Ti(){return BE(this,arguments,1)}function Oi(B,A){return new this(B).mod(A)}function Wi(B,A){return new this(B).mul(A)}function Pi(B,A){return new this(B).pow(A)}function Vi(B){var A,g,I,Q,C=0,a=new this(1),E=[];if(B===void 0?B=this.precision:Eg(B,1,Zg),I=Math.ceil(B/7),this.crypto)if(crypto.getRandomValues)for(A=crypto.getRandomValues(new Uint32Array(I));C<I;)(Q=A[C])>=429e7?A[C]=crypto.getRandomValues(new Uint32Array(1))[0]:E[C++]=Q%1e7;else{if(!crypto.randomBytes)throw Error($a);for(A=crypto.randomBytes(I*=4);C<I;)(Q=A[C]+(A[C+1]<<8)+(A[C+2]<<16)+((127&A[C+3])<<24))>=214e7?crypto.randomBytes(4).copy(A,C):(E.push(Q%1e7),C+=4);C=I/4}else for(;C<I;)E[C++]=1e7*Math.random()|0;for(B%=7,(I=E[--C])&&B&&(Q=zA(10,7-B),E[C]=(I/Q|0)*Q);E[C]===0;C--)E.pop();if(C<0)g=0,E=[0];else{for(g=-1;E[0]===0;g-=7)E.shift();for(I=1,Q=E[0];Q>=10;Q/=10)I++;I<7&&(g-=7-I)}return a.e=g,a.d=E,a}function zi(B){return CA(B=new this(B),B.e+1,this.rounding)}function Xi(B){return(B=new this(B)).d?B.d[0]?B.s:0*B.s:B.s||NaN}function Zi(B){return new this(B).sin()}function _i(B){return new this(B).sinh()}function $i(B){return new this(B).sqrt()}function At(B,A){return new this(B).sub(A)}function gt(){var B=0,A=arguments,g=new this(A[B]);for(tA=!1;g.s&&++B<A.length;)g=g.plus(A[B]);return tA=!0,CA(g,this.precision,this.rounding)}function It(B){return new this(B).tan()}function Bt(B){return new this(B).tanh()}function Qt(B){return CA(B=new this(B),B.e+1,1)}v[Symbol.for("nodejs.util.inspect.custom")]=v.toString,v[Symbol.toStringTag]="Decimal";var NI=v.constructor=function B(A){var g,I,Q;function C(a){var E,i,t,e=this;if(!(e instanceof C))return new C(a);if(e.constructor=C,hC(a))return e.s=a.s,void(tA?!a.d||a.e>C.maxE?(e.e=NaN,e.d=null):a.e<C.minE?(e.e=0,e.d=[0]):(e.e=a.e,e.d=a.d.slice()):(e.e=a.e,e.d=a.d?a.d.slice():a.d));if((t=typeof a)=="number"){if(a===0)return e.s=1/a<0?-1:1,e.e=0,void(e.d=[0]);if(a<0?(a=-a,e.s=-1):e.s=1,a===~~a&&a<1e7){for(E=0,i=a;i>=10;i/=10)E++;return void(tA?E>C.maxE?(e.e=NaN,e.d=null):E<C.minE?(e.e=0,e.d=[0]):(e.e=E,e.d=[a]):(e.e=E,e.d=[a]))}return 0*a!=0?(a||(e.s=NaN),e.e=NaN,void(e.d=null)):wB(e,a.toString())}if(t==="string")return(i=a.charCodeAt(0))===45?(a=a.slice(1),e.s=-1):(i===43&&(a=a.slice(1)),e.s=1),gE.test(a)?wB(e,a):bi(e,a);if(t==="bigint")return a<0?(a=-a,e.s=-1):e.s=1,wB(e,a.toString());throw Error($g+a)}if(C.prototype=v,C.ROUND_UP=0,C.ROUND_DOWN=1,C.ROUND_CEIL=2,C.ROUND_FLOOR=3,C.ROUND_HALF_UP=4,C.ROUND_HALF_DOWN=5,C.ROUND_HALF_EVEN=6,C.ROUND_HALF_CEIL=7,C.ROUND_HALF_FLOOR=8,C.EUCLID=9,C.config=C.set=mi,C.clone=B,C.isDecimal=hC,C.abs=wi,C.acos=li,C.acosh=ui,C.add=fi,C.asin=Fi,C.asinh=yi,C.atan=Mi,C.atanh=Gi,C.atan2=Ri,C.cbrt=pi,C.ceil=Ni,C.clamp=ki,C.cos=Ui,C.cosh=Si,C.div=Li,C.exp=Ji,C.floor=Yi,C.hypot=xi,C.ln=Hi,C.log=Ki,C.log10=qi,C.log2=ji,C.max=vi,C.min=Ti,C.mod=Oi,C.mul=Wi,C.pow=Pi,C.random=Vi,C.round=zi,C.sign=Xi,C.sin=Zi,C.sinh=_i,C.sqrt=$i,C.sub=At,C.sum=gt,C.tan=It,C.tanh=Bt,C.trunc=Qt,A===void 0&&(A={}),A&&A.defaults!==!0)for(Q=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],g=0;g<Q.length;)A.hasOwnProperty(I=Q[g++])||(A[I]=this[I]);return C.config(A),C}(dQ);yB=new NI(yB),MB=new NI(MB);var Ct=fA("BigNumber",["?on","config"],B=>{var{on:A,config:g}=B,I=NI.clone({precision:g.precision,modulo:NI.EUCLID});return I.prototype=Object.create(I.prototype),I.prototype.type="BigNumber",I.prototype.isBigNumber=!0,I.prototype.toJSON=function(){return{mathjs:"BigNumber",value:this.toString()}},I.fromJSON=function(Q){return new I(Q.value)},A&&A("config",function(Q,C){Q.precision!==C.precision&&I.config({precision:Q.precision})}),I},{isClass:!0});const $A=Math.cosh||function(B){return Math.abs(B)<1e-9?1-B:.5*(Math.exp(B)+Math.exp(-B))},dg=Math.sinh||function(B){return Math.abs(B)<1e-9?B:.5*(Math.exp(B)-Math.exp(-B))},aQ=function(B,A){return(B=Math.abs(B))<(A=Math.abs(A))&&([B,A]=[A,B]),B<1e8?Math.sqrt(B*B+A*A):(A/=B,B*Math.sqrt(1+A*A))},wI=function(){throw SyntaxError("Invalid Param")};function EQ(B,A){const g=Math.abs(B),I=Math.abs(A);return B===0?Math.log(I):A===0?Math.log(g):g<3e3&&I<3e3?.5*Math.log(B*B+A*A):(B*=.5,A*=.5,.5*Math.log(B*B+A*A)+Math.LN2)}const at={re:0,im:0},CI=function(B,A){const g=at;if(B==null)g.re=g.im=0;else if(A!==void 0)g.re=B,g.im=A;else switch(typeof B){case"object":if("im"in B&&"re"in B)g.re=B.re,g.im=B.im;else if("abs"in B&&"arg"in B){if(!isFinite(B.abs)&&isFinite(B.arg))return Y.INFINITY;g.re=B.abs*Math.cos(B.arg),g.im=B.abs*Math.sin(B.arg)}else if("r"in B&&"phi"in B){if(!isFinite(B.r)&&isFinite(B.phi))return Y.INFINITY;g.re=B.r*Math.cos(B.phi),g.im=B.r*Math.sin(B.phi)}else B.length===2?(g.re=B[0],g.im=B[1]):wI();break;case"string":g.im=g.re=0;const I=B.replace(/_/g,"").match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g);let Q=1,C=0;I===null&&wI();for(let a=0;a<I.length;a++){const E=I[a];E===" "||E===" "||E===`
965
+ `||(E==="+"?Q++:E==="-"?C++:E==="i"||E==="I"?(Q+C===0&&wI(),I[a+1]===" "||isNaN(I[a+1])?g.im+=parseFloat((C%2?"-":"")+"1"):(g.im+=parseFloat((C%2?"-":"")+I[a+1]),a++),Q=C=0):((Q+C===0||isNaN(E))&&wI(),I[a+1]==="i"||I[a+1]==="I"?(g.im+=parseFloat((C%2?"-":"")+E),a++):g.re+=parseFloat((C%2?"-":"")+E),Q=C=0))}Q+C>0&&wI();break;case"number":g.im=0,g.re=B;break;default:wI()}return isNaN(g.re)||isNaN(g.im),g};function Y(B,A){if(!(this instanceof Y))return new Y(B,A);const g=CI(B,A);this.re=g.re,this.im=g.im}Y.prototype={re:0,im:0,sign:function(){const B=aQ(this.re,this.im);return new Y(this.re/B,this.im/B)},add:function(B,A){const g=CI(B,A),I=this.isInfinite(),Q=!(isFinite(g.re)&&isFinite(g.im));return I||Q?I&&Q?Y.NAN:Y.INFINITY:new Y(this.re+g.re,this.im+g.im)},sub:function(B,A){const g=CI(B,A),I=this.isInfinite(),Q=!(isFinite(g.re)&&isFinite(g.im));return I||Q?I&&Q?Y.NAN:Y.INFINITY:new Y(this.re-g.re,this.im-g.im)},mul:function(B,A){const g=CI(B,A),I=this.isInfinite(),Q=!(isFinite(g.re)&&isFinite(g.im)),C=this.re===0&&this.im===0,a=g.re===0&&g.im===0;return I&&a||Q&&C?Y.NAN:I||Q?Y.INFINITY:g.im===0&&this.im===0?new Y(this.re*g.re,0):new Y(this.re*g.re-this.im*g.im,this.re*g.im+this.im*g.re)},div:function(B,A){const g=CI(B,A),I=this.isInfinite(),Q=!(isFinite(g.re)&&isFinite(g.im)),C=this.re===0&&this.im===0,a=g.re===0&&g.im===0;if(C&&a||I&&Q)return Y.NAN;if(a||I)return Y.INFINITY;if(C||Q)return Y.ZERO;if(g.im===0)return new Y(this.re/g.re,this.im/g.re);if(Math.abs(g.re)<Math.abs(g.im)){const E=g.re/g.im,i=g.re*E+g.im;return new Y((this.re*E+this.im)/i,(this.im*E-this.re)/i)}{const E=g.im/g.re,i=g.im*E+g.re;return new Y((this.re+this.im*E)/i,(this.im-this.re*E)/i)}},pow:function(B,A){const g=CI(B,A),I=this.re===0&&this.im===0;if(g.re===0&&g.im===0)return Y.ONE;if(g.im===0){if(this.im===0&&this.re>0)return new Y(Math.pow(this.re,g.re),0);if(this.re===0)switch((g.re%4+4)%4){case 0:return new Y(Math.pow(this.im,g.re),0);case 1:return new Y(0,Math.pow(this.im,g.re));case 2:return new Y(-Math.pow(this.im,g.re),0);case 3:return new Y(0,-Math.pow(this.im,g.re))}}if(I&&g.re>0)return Y.ZERO;const Q=Math.atan2(this.im,this.re),C=EQ(this.re,this.im);let a=Math.exp(g.re*C-g.im*Q),E=g.im*C+g.re*Q;return new Y(a*Math.cos(E),a*Math.sin(E))},sqrt:function(){const B=this.re,A=this.im;if(A===0)return B>=0?new Y(Math.sqrt(B),0):new Y(0,Math.sqrt(-B));const g=aQ(B,A);let I=Math.sqrt(.5*(g+Math.abs(B))),Q=Math.abs(A)/(2*I);return B>=0?new Y(I,A<0?-Q:Q):new Y(Q,A<0?-I:I)},exp:function(){const B=Math.exp(this.re);return this.im===0?new Y(B,0):new Y(B*Math.cos(this.im),B*Math.sin(this.im))},expm1:function(){const B=this.re,A=this.im;return new Y(Math.expm1(B)*Math.cos(A)+function(g){const I=Math.PI/4;if(-I>g||g>I)return Math.cos(g)-1;const Q=g*g;return Q*(Q*(Q*(Q*(Q*(Q*(Q*(Q/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-.5)}(A),Math.exp(B)*Math.sin(A))},log:function(){const B=this.re,A=this.im;return A===0&&B>0?new Y(Math.log(B),0):new Y(EQ(B,A),Math.atan2(A,B))},abs:function(){return aQ(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){const B=this.re,A=this.im;return new Y(Math.sin(B)*$A(A),Math.cos(B)*dg(A))},cos:function(){const B=this.re,A=this.im;return new Y(Math.cos(B)*$A(A),-Math.sin(B)*dg(A))},tan:function(){const B=2*this.re,A=2*this.im,g=Math.cos(B)+$A(A);return new Y(Math.sin(B)/g,dg(A)/g)},cot:function(){const B=2*this.re,A=2*this.im,g=Math.cos(B)-$A(A);return new Y(-Math.sin(B)/g,dg(A)/g)},sec:function(){const B=this.re,A=this.im,g=.5*$A(2*A)+.5*Math.cos(2*B);return new Y(Math.cos(B)*$A(A)/g,Math.sin(B)*dg(A)/g)},csc:function(){const B=this.re,A=this.im,g=.5*$A(2*A)-.5*Math.cos(2*B);return new Y(Math.sin(B)*$A(A)/g,-Math.cos(B)*dg(A)/g)},asin:function(){const B=this.re,A=this.im,g=new Y(A*A-B*B+1,-2*B*A).sqrt(),I=new Y(g.re-A,g.im+B).log();return new Y(I.im,-I.re)},acos:function(){const B=this.re,A=this.im,g=new Y(A*A-B*B+1,-2*B*A).sqrt(),I=new Y(g.re-A,g.im+B).log();return new Y(Math.PI/2-I.im,I.re)},atan:function(){const B=this.re,A=this.im;if(B===0){if(A===1)return new Y(0,1/0);if(A===-1)return new Y(0,-1/0)}const g=B*B+(1-A)*(1-A),I=new Y((1-A*A-B*B)/g,-2*B/g).log();return new Y(-.5*I.im,.5*I.re)},acot:function(){const B=this.re,A=this.im;if(A===0)return new Y(Math.atan2(1,B),0);const g=B*B+A*A;return g!==0?new Y(B/g,-A/g).atan():new Y(B!==0?B/0:0,A!==0?-A/0:0).atan()},asec:function(){const B=this.re,A=this.im;if(B===0&&A===0)return new Y(0,1/0);const g=B*B+A*A;return g!==0?new Y(B/g,-A/g).acos():new Y(B!==0?B/0:0,A!==0?-A/0:0).acos()},acsc:function(){const B=this.re,A=this.im;if(B===0&&A===0)return new Y(Math.PI/2,1/0);const g=B*B+A*A;return g!==0?new Y(B/g,-A/g).asin():new Y(B!==0?B/0:0,A!==0?-A/0:0).asin()},sinh:function(){const B=this.re,A=this.im;return new Y(dg(B)*Math.cos(A),$A(B)*Math.sin(A))},cosh:function(){const B=this.re,A=this.im;return new Y($A(B)*Math.cos(A),dg(B)*Math.sin(A))},tanh:function(){const B=2*this.re,A=2*this.im,g=$A(B)+Math.cos(A);return new Y(dg(B)/g,Math.sin(A)/g)},coth:function(){const B=2*this.re,A=2*this.im,g=$A(B)-Math.cos(A);return new Y(dg(B)/g,-Math.sin(A)/g)},csch:function(){const B=this.re,A=this.im,g=Math.cos(2*A)-$A(2*B);return new Y(-2*dg(B)*Math.cos(A)/g,2*$A(B)*Math.sin(A)/g)},sech:function(){const B=this.re,A=this.im,g=Math.cos(2*A)+$A(2*B);return new Y(2*$A(B)*Math.cos(A)/g,-2*dg(B)*Math.sin(A)/g)},asinh:function(){let B=this.im;this.im=-this.re,this.re=B;const A=this.asin();return this.re=-this.im,this.im=B,B=A.re,A.re=-A.im,A.im=B,A},acosh:function(){const B=this.acos();if(B.im<=0){const A=B.re;B.re=-B.im,B.im=A}else{const A=B.im;B.im=-B.re,B.re=A}return B},atanh:function(){const B=this.re,A=this.im,g=B>1&&A===0,I=1-B,Q=1+B,C=I*I+A*A,a=C!==0?new Y((Q*I-A*A)/C,(A*I+Q*A)/C):new Y(B!==-1?B/0:0,A!==0?A/0:0),E=a.re;return a.re=EQ(a.re,a.im)/2,a.im=Math.atan2(a.im,E)/2,g&&(a.im=-a.im),a},acoth:function(){const B=this.re,A=this.im;if(B===0&&A===0)return new Y(0,Math.PI/2);const g=B*B+A*A;return g!==0?new Y(B/g,-A/g).atanh():new Y(B!==0?B/0:0,A!==0?-A/0:0).atanh()},acsch:function(){const B=this.re,A=this.im;if(A===0)return new Y(B!==0?Math.log(B+Math.sqrt(B*B+1)):1/0,0);const g=B*B+A*A;return g!==0?new Y(B/g,-A/g).asinh():new Y(B!==0?B/0:0,A!==0?-A/0:0).asinh()},asech:function(){const B=this.re,A=this.im;if(this.isZero())return Y.INFINITY;const g=B*B+A*A;return g!==0?new Y(B/g,-A/g).acosh():new Y(B!==0?B/0:0,A!==0?-A/0:0).acosh()},inverse:function(){if(this.isZero())return Y.INFINITY;if(this.isInfinite())return Y.ZERO;const B=this.re,A=this.im,g=B*B+A*A;return new Y(B/g,-A/g)},conjugate:function(){return new Y(this.re,-this.im)},neg:function(){return new Y(-this.re,-this.im)},ceil:function(B){return B=Math.pow(10,B||0),new Y(Math.ceil(this.re*B)/B,Math.ceil(this.im*B)/B)},floor:function(B){return B=Math.pow(10,B||0),new Y(Math.floor(this.re*B)/B,Math.floor(this.im*B)/B)},round:function(B){return B=Math.pow(10,B||0),new Y(Math.round(this.re*B)/B,Math.round(this.im*B)/B)},equals:function(B,A){const g=CI(B,A);return Math.abs(g.re-this.re)<=Y.EPSILON&&Math.abs(g.im-this.im)<=Y.EPSILON},clone:function(){return new Y(this.re,this.im)},toString:function(){let B=this.re,A=this.im,g="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(B)<Y.EPSILON&&(B=0),Math.abs(A)<Y.EPSILON&&(A=0),A===0?g+B:(B!==0?(g+=B,g+=" ",A<0?(A=-A,g+="-"):g+="+",g+=" "):A<0&&(A=-A,g+="-"),A!==1&&(g+=A),g+"i"))},toVector:function(){return[this.re,this.im]},valueOf:function(){return this.im===0?this.re:null},isNaN:function(){return isNaN(this.re)||isNaN(this.im)},isZero:function(){return this.im===0&&this.re===0},isFinite:function(){return isFinite(this.re)&&isFinite(this.im)},isInfinite:function(){return!this.isFinite()}},Y.ZERO=new Y(0,0),Y.ONE=new Y(1,0),Y.I=new Y(0,1),Y.PI=new Y(Math.PI,0),Y.E=new Y(Math.E,0),Y.INFINITY=new Y(1/0,1/0),Y.NAN=new Y(NaN,NaN),Y.EPSILON=1e-15;var Et=fA("Complex",[],()=>(Object.defineProperty(Y,"name",{value:"Complex"}),Y.prototype.constructor=Y,Y.prototype.type="Complex",Y.prototype.isComplex=!0,Y.prototype.toJSON=function(){return{mathjs:"Complex",re:this.re,im:this.im}},Y.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},Y.prototype.format=function(B){var A=this.im,g=this.re,I=hQ(this.re,B),Q=hQ(this.im,B),C=mA(B)?B:B?B.precision:null;if(C!==null){var a=Math.pow(10,-C);Math.abs(g/A)<a&&(g=0),Math.abs(A/g)<a&&(A=0)}return A===0?I:g===0?A===1?"i":A===-1?"-i":Q+"i":A<0?A===-1?I+" - i":I+" - "+Q.substring(1)+"i":A===1?I+" + i":I+" + "+Q+"i"},Y.fromPolar=function(B){switch(arguments.length){case 1:var A=arguments[0];if(typeof A=="object")return Y(A);throw new TypeError("Input has to be an object with r and phi keys.");case 2:var g=arguments[0],I=arguments[1];if(mA(g)){if(Va(I)&&I.hasBase("ANGLE")&&(I=I.toNumber("rad")),mA(I))return new Y({r:g,phi:I});throw new TypeError("Phi is not a number nor an angle unit.")}throw new TypeError("Radius r is not a number.");default:throw new SyntaxError("Wrong number of arguments in function fromPolar")}},Y.prototype.valueOf=Y.prototype.toString,Y.fromJSON=function(B){return new Y(B)},Y.compare=function(B,A){return B.re>A.re?1:B.re<A.re?-1:B.im>A.im?1:B.im<A.im?-1:0},Y),{isClass:!0});typeof BigInt>"u"&&(BigInt=function(B){if(isNaN(B))throw new Error("");return B});const aA=BigInt(0),sA=BigInt(1),OI=BigInt(2),wQ=BigInt(5),eg=BigInt(10),$={s:sA,n:aA,d:sA};function Ug(B,A){try{B=BigInt(B)}catch{throw zg()}return B*A}function ug(B){return typeof B=="bigint"?B:Math.floor(B)}function UA(B,A){if(A===aA)throw kQ();const g=Object.create(wg.prototype);g.s=B<aA?-sA:sA;const I=aI(B=B<aA?-B:B,A);return g.n=B/I,g.d=A/I,g}function lI(B){const A={};let g=B,I=OI,Q=wQ-sA;for(;Q<=g;){for(;g%I===aA;)g/=I,A[I]=(A[I]||aA)+sA;Q+=sA+OI*I++}return g!==B?g>1&&(A[g]=(A[g]||aA)+sA):A[B]=(A[B]||aA)+sA,A}const XA=function(B,A){let g=aA,I=sA,Q=sA;if(B!=null)if(A!==void 0){if(typeof B=="bigint")g=B;else{if(isNaN(B))throw zg();if(B%1!=0)throw DC();g=BigInt(B)}if(typeof A=="bigint")I=A;else{if(isNaN(A))throw zg();if(A%1!=0)throw DC();I=BigInt(A)}Q=g*I}else if(typeof B=="object"){if("d"in B&&"n"in B)g=BigInt(B.n),I=BigInt(B.d),"s"in B&&(g*=BigInt(B.s));else if(0 in B)g=BigInt(B[0]),1 in B&&(I=BigInt(B[1]));else{if(typeof B!="bigint")throw zg();g=B}Q=g*I}else if(typeof B=="number"){if(isNaN(B))throw zg();if(B<0&&(Q=-sA,B=-B),B%1==0)g=BigInt(B);else{let C=1,a=0,E=1,i=1,t=1,e=1e7;for(B>=1&&(C=10**Math.floor(1+Math.log10(B)),B/=C);E<=e&&t<=e;){let o=(a+i)/(E+t);if(B===o){E+t<=e?(g=a+i,I=E+t):t>E?(g=i,I=t):(g=a,I=E);break}B>o?(a+=i,E+=t):(i+=a,t+=E),E>e?(g=i,I=t):(g=a,I=E)}g=BigInt(g)*BigInt(C),I=BigInt(I)}}else if(typeof B=="string"){let C=0,a=aA,E=aA,i=aA,t=sA,e=sA,o=B.replace(/_/g,"").match(/\d+|./g);if(o===null||(o[C]==="-"?(Q=-sA,C++):o[C]==="+"&&C++,o.length===C+1?E=Ug(o[C++],Q):o[C+1]==="."||o[C]==="."?(o[C]!=="."&&(a=Ug(o[C++],Q)),C++,(C+1===o.length||o[C+1]==="("&&o[C+3]===")"||o[C+1]==="'"&&o[C+3]==="'")&&(E=Ug(o[C],Q),t=eg**BigInt(o[C].length),C++),(o[C]==="("&&o[C+2]===")"||o[C]==="'"&&o[C+2]==="'")&&(i=Ug(o[C+1],Q),e=eg**BigInt(o[C+1].length)-sA,C+=3)):o[C+1]==="/"||o[C+1]===":"?(E=Ug(o[C],Q),t=Ug(o[C+2],sA),C+=3):o[C+3]==="/"&&o[C+1]===" "&&(a=Ug(o[C],Q),E=Ug(o[C+2],Q),t=Ug(o[C+4],sA),C+=5),!(o.length<=C)))throw zg();I=t*e,Q=g=i+I*a+e*E}else{if(typeof B!="bigint")throw zg();g=B,Q=B,I=sA}if(I===aA)throw kQ();$.s=Q<aA?-sA:sA,$.n=g<aA?-g:g,$.d=I<aA?-I:I};function et(B,A,g){let I=sA,Q=function(C,a,E){let i=sA;for(;a>aA;C=C*C%E,a>>=sA)a&sA&&(i=i*C%E);return i}(eg,g,A);for(let C=0;C<300;C++){if(I===Q)return BigInt(C);I=I*eg%A,Q=Q*eg%A}return 0}function aI(B,A){if(!B)return A;if(!A)return B;for(;;){if(!(B%=A))return A;if(!(A%=B))return B}}function wg(B,A){if(XA(B,A),!(this instanceof wg))return UA($.s*$.n,$.d);B=aI($.d,$.n),this.s=$.s,this.n=$.n/B,this.d=$.d/B}var kQ=function(){return new Error("Division by Zero")},zg=function(){return new Error("Invalid argument")},DC=function(){return new Error("Parameters must be integer")};wg.prototype={s:sA,n:aA,d:sA,abs:function(){return UA(this.n,this.d)},neg:function(){return UA(-this.s*this.n,this.d)},add:function(B,A){return XA(B,A),UA(this.s*this.n*$.d+$.s*this.d*$.n,this.d*$.d)},sub:function(B,A){return XA(B,A),UA(this.s*this.n*$.d-$.s*this.d*$.n,this.d*$.d)},mul:function(B,A){return XA(B,A),UA(this.s*$.s*this.n*$.n,this.d*$.d)},div:function(B,A){return XA(B,A),UA(this.s*$.s*this.n*$.d,this.d*$.n)},clone:function(){return UA(this.s*this.n,this.d)},mod:function(B,A){if(B===void 0)return UA(this.s*this.n%this.d,sA);if(XA(B,A),aA===$.n*this.d)throw kQ();return UA(this.s*($.d*this.n)%($.n*this.d),$.d*this.d)},gcd:function(B,A){return XA(B,A),UA(aI($.n,this.n)*aI($.d,this.d),$.d*this.d)},lcm:function(B,A){return XA(B,A),$.n===aA&&this.n===aA?UA(aA,sA):UA($.n*this.n,aI($.n,this.n)*aI($.d,this.d))},inverse:function(){return UA(this.s*this.d,this.n)},pow:function(B,A){if(XA(B,A),$.d===sA)return $.s<aA?UA((this.s*this.d)**$.n,this.n**$.n):UA((this.s*this.n)**$.n,this.d**$.n);if(this.s<aA)return null;let g=lI(this.n),I=lI(this.d),Q=sA,C=sA;for(let a in g)if(a!=="1"){if(a==="0"){Q=aA;break}if(g[a]*=$.n,g[a]%$.d!==aA)return null;g[a]/=$.d,Q*=BigInt(a)**g[a]}for(let a in I)if(a!=="1"){if(I[a]*=$.n,I[a]%$.d!==aA)return null;I[a]/=$.d,C*=BigInt(a)**I[a]}return $.s<aA?UA(C,Q):UA(Q,C)},log:function(B,A){if(XA(B,A),this.s<=aA||$.s<=aA)return null;const g={},I=lI($.n),Q=lI($.d),C=lI(this.n),a=lI(this.d);for(const t in Q)I[t]=(I[t]||aA)-Q[t];for(const t in a)C[t]=(C[t]||aA)-a[t];for(const t in I)t!=="1"&&(g[t]=!0);for(const t in C)t!=="1"&&(g[t]=!0);let E=null,i=null;for(const t in g){const e=I[t]||aA,o=C[t]||aA;if(e===aA){if(o!==aA)return null;continue}let s=o,n=e;const r=aI(s,n);if(s/=r,n/=r,E===null&&i===null)E=s,i=n;else if(s*i!=E*n)return null}return E!==null&&i!==null?UA(E,i):null},equals:function(B,A){return XA(B,A),this.s*this.n*$.d==$.s*$.n*this.d},lt:function(B,A){return XA(B,A),this.s*this.n*$.d<$.s*$.n*this.d},lte:function(B,A){return XA(B,A),this.s*this.n*$.d<=$.s*$.n*this.d},gt:function(B,A){return XA(B,A),this.s*this.n*$.d>$.s*$.n*this.d},gte:function(B,A){return XA(B,A),this.s*this.n*$.d>=$.s*$.n*this.d},compare:function(B,A){XA(B,A);let g=this.s*this.n*$.d-$.s*$.n*this.d;return(aA<g)-(g<aA)},ceil:function(B){return B=eg**BigInt(B||0),UA(ug(this.s*B*this.n/this.d)+(B*this.n%this.d>aA&&this.s>=aA?sA:aA),B)},floor:function(B){return B=eg**BigInt(B||0),UA(ug(this.s*B*this.n/this.d)-(B*this.n%this.d>aA&&this.s<aA?sA:aA),B)},round:function(B){return B=eg**BigInt(B||0),UA(ug(this.s*B*this.n/this.d)+this.s*((this.s>=aA?sA:aA)+OI*(B*this.n%this.d)>this.d?sA:aA),B)},roundTo:function(B,A){XA(B,A);const g=this.n*$.d,I=this.d*$.n,Q=g%I;let C=ug(g/I);return Q+Q>=I&&C++,UA(this.s*C*$.n,$.d)},divisible:function(B,A){return XA(B,A),!(!($.n*this.d)||this.n*$.d%($.n*this.d))},valueOf:function(){return Number(this.s*this.n)/Number(this.d)},toString:function(B){let A=this.n,g=this.d;B=B||15;let I=function(a,E){for(;E%OI===aA;E/=OI);for(;E%wQ===aA;E/=wQ);if(E===sA)return aA;let i=eg%E,t=1;for(;i!==sA;t++)if(i=i*eg%E,t>2e3)return aA;return BigInt(t)}(0,g),Q=et(0,g,I),C=this.s<aA?"-":"";if(C+=ug(A/g),A%=g,A*=eg,A&&(C+="."),I){for(let a=Q;a--;)C+=ug(A/g),A%=g,A*=eg;C+="(";for(let a=I;a--;)C+=ug(A/g),A%=g,A*=eg;C+=")"}else for(let a=B;A&&a--;)C+=ug(A/g),A%=g,A*=eg;return C},toFraction:function(B){let A=this.n,g=this.d,I=this.s<aA?"-":"";if(g===sA)I+=A;else{let Q=ug(A/g);B&&Q>aA&&(I+=Q,I+=" ",A%=g),I+=A,I+="/",I+=g}return I},toLatex:function(B){let A=this.n,g=this.d,I=this.s<aA?"-":"";if(g===sA)I+=A;else{let Q=ug(A/g);B&&Q>aA&&(I+=Q,A%=g),I+="\\frac{",I+=A,I+="}{",I+=g,I+="}"}return I},toContinued:function(){let B=this.n,A=this.d,g=[];do{g.push(ug(B/A));let I=B%A;B=A,A=I}while(B!==sA);return g},simplify:function(B){const A=BigInt(1/(B||.001)|0),g=this.abs(),I=g.toContinued();for(let Q=1;Q<I.length;Q++){let C=UA(I[Q-1],sA);for(let E=Q-2;E>=0;E--)C=C.inverse().add(I[E]);let a=C.sub(g);if(a.n*A<a.d)return C.mul(this.s)}return this}};var it=fA("Fraction",[],()=>(Object.defineProperty(wg,"name",{value:"Fraction"}),wg.prototype.constructor=wg,wg.prototype.type="Fraction",wg.prototype.isFraction=!0,wg.prototype.toJSON=function(){return{mathjs:"Fraction",n:String(this.s*this.n),d:String(this.d)}},wg.fromJSON=function(B){return new wg(B)},wg),{isClass:!0}),tt=fA("Matrix",[],()=>{function B(){if(!(this instanceof B))throw new SyntaxError("Constructor must be called with the new operator")}return B.prototype.type="Matrix",B.prototype.isMatrix=!0,B.prototype.storage=function(){throw new Error("Cannot invoke storage on a Matrix interface")},B.prototype.datatype=function(){throw new Error("Cannot invoke datatype on a Matrix interface")},B.prototype.create=function(A,g){throw new Error("Cannot invoke create on a Matrix interface")},B.prototype.subset=function(A,g,I){throw new Error("Cannot invoke subset on a Matrix interface")},B.prototype.get=function(A){throw new Error("Cannot invoke get on a Matrix interface")},B.prototype.set=function(A,g,I){throw new Error("Cannot invoke set on a Matrix interface")},B.prototype.resize=function(A,g){throw new Error("Cannot invoke resize on a Matrix interface")},B.prototype.reshape=function(A,g){throw new Error("Cannot invoke reshape on a Matrix interface")},B.prototype.clone=function(){throw new Error("Cannot invoke clone on a Matrix interface")},B.prototype.size=function(){throw new Error("Cannot invoke size on a Matrix interface")},B.prototype.map=function(A,g){throw new Error("Cannot invoke map on a Matrix interface")},B.prototype.forEach=function(A){throw new Error("Cannot invoke forEach on a Matrix interface")},B.prototype[Symbol.iterator]=function(){throw new Error("Cannot iterate a Matrix interface")},B.prototype.toArray=function(){throw new Error("Cannot invoke toArray on a Matrix interface")},B.prototype.valueOf=function(){throw new Error("Cannot invoke valueOf on a Matrix interface")},B.prototype.format=function(A){throw new Error("Cannot invoke format on a Matrix interface")},B.prototype.toString=function(){throw new Error("Cannot invoke toString on a Matrix interface")},B},{isClass:!0});function eQ(B,A,g){var I=new B.constructor(2),Q="";if(g){if(g<1)throw new Error("size must be in greater than 0");if(!YA(g))throw new Error("size must be an integer");if(B.greaterThan(I.pow(g-1).sub(1))||B.lessThan(I.pow(g-1).mul(-1)))throw new Error("Value must be in range [-2^".concat(g-1,", 2^").concat(g-1,"-1]"));if(!B.isInteger())throw new Error("Value must be an integer");B.lessThan(0)&&(B=B.add(I.pow(g))),Q="i".concat(g)}switch(A){case 2:return"".concat(B.toBinary()).concat(Q);case 8:return"".concat(B.toOctal()).concat(Q);case 16:return"".concat(B.toHexadecimal()).concat(Q);default:throw new Error("Base ".concat(A," not supported "))}}function ot(B,A){if(typeof A=="function")return A(B);if(!B.isFinite())return B.isNaN()?"NaN":B.gt(0)?"Infinity":"-Infinity";var{notation:g,precision:I,wordSize:Q}=za(A);switch(g){case"fixed":return function(t,e){return t.toFixed(e)}(B,I);case"exponential":return dC(B,I);case"engineering":return function(t,e){var o=t.e,s=o%3==0?o:o<0?o-3-o%3:o-o%3,n=t.mul(Math.pow(10,-s)),r=n.toPrecision(e);return r.includes("e")&&(r=new t.constructor(r).toFixed()),r+"e"+(o>=0?"+":"")+s.toString()}(B,I);case"bin":return eQ(B,2,Q);case"oct":return eQ(B,8,Q);case"hex":return eQ(B,16,Q);case"auto":var C=bC(A?.lowerExp,-3),a=bC(A?.upperExp,5);if(B.isZero())return"0";var E=B.toSignificantDigits(I),i=E.e;return(i>=C&&i<a?E.toFixed():dC(B,I)).replace(/((\.\d*?)(0+))($|e)/,function(){var t=arguments[2],e=arguments[4];return t!=="."?t+e:e});default:throw new Error('Unknown notation "'+g+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function dC(B,A){return A!==void 0?B.toExponential(A-1):B.toExponential()}function bC(B,A){return mA(B)?B:WA(B)?B.toNumber():A}function OA(B,A){var g=function(I,Q){return typeof I=="number"?hQ(I,Q):WA(I)?ot(I,Q):function(C){return C&&typeof C=="object"&&typeof C.s=="bigint"&&typeof C.n=="bigint"&&typeof C.d=="bigint"||!1}(I)?Q&&Q.fraction==="decimal"?I.toString():"".concat(I.s*I.n,"/").concat(I.d):Array.isArray(I)?CE(I,Q):pg(I)?wC(I):typeof I=="function"?I.syntax?String(I.syntax):"function":I&&typeof I=="object"?typeof I.format=="function"?I.format(Q):I&&I.toString(Q)!=={}.toString()?I.toString(Q):"{"+Object.keys(I).map(C=>wC(C)+": "+OA(I[C],Q)).join(", ")+"}":String(I)}(B,A);return A&&typeof A=="object"&&"truncate"in A&&g.length>A.truncate?g.substring(0,A.truncate-3)+"...":g}function wC(B){for(var A=String(B),g="",I=0;I<A.length;){var Q=A.charAt(I);g+=Q in lC?lC[Q]:Q,I++}return'"'+g+'"'}var lC={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"};function CE(B,A){if(Array.isArray(B)){for(var g="[",I=B.length,Q=0;Q<I;Q++)Q!==0&&(g+=", "),g+=CE(B[Q],A);return g+="]"}return OA(B,A)}function SA(B,A,g){if(!(this instanceof SA))throw new SyntaxError("Constructor must be called with the new operator");this.actual=B,this.expected=A,this.relation=g,this.message="Dimension mismatch ("+(Array.isArray(B)?"["+B.join(", ")+"]":B)+" "+(this.relation||"!=")+" "+(Array.isArray(A)?"["+A.join(", ")+"]":A)+")",this.stack=new Error().stack}function yI(B,A,g){if(!(this instanceof yI))throw new SyntaxError("Constructor must be called with the new operator");this.index=B,arguments.length<3?(this.min=0,this.max=A):(this.min=A,this.max=g),this.min!==void 0&&this.index<this.min?this.message="Index out of range ("+this.index+" < "+this.min+")":this.max!==void 0&&this.index>=this.max?this.message="Index out of range ("+this.index+" > "+(this.max-1)+")":this.message="Index out of range ("+this.index+")",this.stack=new Error().stack}function Qg(B){for(var A=[];Array.isArray(B);)A.push(B.length),B=B[0];return A}function aE(B,A,g){var I,Q=B.length;if(Q!==A[g])throw new SA(Q,A[g]);if(g<A.length-1){var C=g+1;for(I=0;I<Q;I++){var a=B[I];if(!Array.isArray(a))throw new SA(A.length-1,A.length,"<");aE(B[I],A,C)}}else for(I=0;I<Q;I++)if(Array.isArray(B[I]))throw new SA(A.length+1,A.length,">")}function uC(B,A){if(A.length===0){if(Array.isArray(B))throw new SA(B.length,0)}else aE(B,A,0)}function xA(B,A){if(B!==void 0){if(!mA(B)||!YA(B))throw new TypeError("Index must be an integer (value: "+B+")");if(B<0||typeof A=="number"&&B>=A)throw new yI(B,A)}}function lQ(B,A,g){if(!Array.isArray(A))throw new TypeError("Array expected");if(A.length===0)throw new Error("Resizing to scalar is not supported");return A.forEach(function(I){if(!mA(I)||!YA(I)||I<0)throw new TypeError("Invalid size, must contain positive integers (size: "+OA(A)+")")}),(mA(B)||WA(B))&&(B=[B]),uQ(B,A,0,g!==void 0?g:0),B}function uQ(B,A,g,I){var Q,C,a=B.length,E=A[g],i=Math.min(a,E);if(B.length=E,g<A.length-1){var t=g+1;for(Q=0;Q<i;Q++)C=B[Q],Array.isArray(C)||(C=[C],B[Q]=C),uQ(C,A,t,I);for(Q=i;Q<E;Q++)C=[],B[Q]=C,uQ(C,A,t,I)}else{for(Q=0;Q<i;Q++)for(;Array.isArray(B[Q]);)B[Q]=B[Q][0];for(Q=i;Q<E;Q++)B[Q]=I}}function EE(B,A){var g=function(C){var a=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!Array.isArray(C))return C;if(typeof a!="boolean")throw new TypeError("Boolean expected for second argument of flatten");var E=[];return a?t(C):i(C),E;function i(e){for(var o=0;o<e.length;o++){var s=e[o];Array.isArray(s)?i(s):E.push(s)}}function t(e){if(Array.isArray(e[0]))for(var o=0;o<e.length;o++)t(e[o]);else for(var s=0;s<e.length;s++)E.push(e[s])}}(B,!0),I=g.length;if(!Array.isArray(B)||!Array.isArray(A))throw new TypeError("Array expected");if(A.length===0)throw new SA(0,I,"!=");var Q=eE(A=mQ(A,I));if(I!==Q)throw new SA(Q,I,"!=");try{return function(C,a){for(var E,i=C,t=a.length-1;t>0;t--){var e=a[t];E=[];for(var o=i.length/e,s=0;s<o;s++)E.push(i.slice(s*e,(s+1)*e));i=E}return i}(g,A)}catch(C){throw C instanceof SA?new SA(Q,I,"!="):C}}function mQ(B,A){var g=eE(B),I=B.slice(),Q=B.indexOf(-1);if(B.indexOf(-1,Q+1)>=0)throw new Error("More than one wildcard in sizes");if(Q>=0){if(A%g!=0)throw new Error("Could not replace wildcard, since "+A+" is no multiple of "+-g);I[Q]=-A/g}return I}function eE(B){return B.reduce((A,g)=>A*g,1)}function iE(B,A,g,I){var Q=I||Qg(B);if(g)for(var C=0;C<g;C++)B=[B],Q.unshift(1);for(B=tE(B,A,0);Q.length<A;)Q.push(1);return B}function tE(B,A,g){var I,Q;if(Array.isArray(B)){var C=g+1;for(I=0,Q=B.length;I<Q;I++)B[I]=tE(B[I],A,C)}else for(var a=g;a<A;a++)B=[B];return B}function UQ(B,A){for(var g,I=0,Q=0;Q<B.length;Q++){var C=B[Q],a=Array.isArray(C);if(Q===0&&a&&(I=C.length),a&&C.length!==I)return;var E=a?UQ(C,A):A(C);if(g===void 0)g=E;else if(g!==E)return"mixed"}return g}function oE(B,A,g,I){if(I<g){if(B.length!==A.length)throw new SA(B.length,A.length);for(var Q=[],C=0;C<B.length;C++)Q[C]=oE(B[C],A[C],g,I+1);return Q}return B.concat(A)}function nt(){var B=Array.prototype.slice.call(arguments,0,-1),A=Array.prototype.slice.call(arguments,-1);if(B.length===1)return B[0];if(B.length>1)return B.slice(1).reduce(function(g,I){return oE(g,I,A,0)},B[0]);throw new Error("Wrong number of arguments in function concat")}function fC(B,A){for(var g=A.length,I=B.length,Q=0;Q<I;Q++){var C=g-I+Q;if(B[Q]<A[C]&&B[Q]>1||B[Q]>A[C])throw new Error("shape mismatch: mismatch is found in arg with shape (".concat(B,") not possible to broadcast dimension ").concat(I," with size ").concat(B[Q]," to size ").concat(A[C]))}}function FC(B,A){var g=Qg(B);if(pI(g,A))return B;fC(g,A);var I,Q,C,a=function(){for(var o=arguments.length,s=new Array(o),n=0;n<o;n++)s[n]=arguments[n];for(var r=s.map(k=>k.length),c=Math.max(...r),D=new Array(c).fill(null),w=0;w<s.length;w++)for(var h=s[w],d=r[w],f=0;f<d;f++){var p=c-d+f;h[f]>D[p]&&(D[p]=h[f])}for(var R=0;R<s.length;R++)fC(s[R],D);return D}(g,A),E=a.length,i=[...Array(E-g.length).fill(1),...g],t=function(o){return lB([],o)}(B);g.length<E&&(g=Qg(t=EE(t,i)));for(var e=0;e<E;e++)g[e]<a[e]&&(I=t,Q=a[e],C=e,g=Qg(t=nt(...Array(Q).fill(I),C)));return t}function nE(B,A){if(!Array.isArray(B))throw new Error("Array expected");var g=Qg(B);if(A.length!==g.length)throw new SA(A.length,g.length);for(var I=0;I<A.length;I++)xA(A[I],g[I]);return A.reduce((Q,C)=>Q[C],B)}function yC(B,A){var g=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(B.length===0)return[];if(g)return function Q(C){if(Array.isArray(C)){for(var a=C.length,E=Array(a),i=0;i<a;i++)E[i]=Q(C[i]);return E}return A(C)}(B);var I=[];return function Q(C,a){if(Array.isArray(C)){for(var E=C.length,i=Array(E),t=0;t<E;t++)I[a]=t,i[t]=Q(C[t],a+1);return i}return A(C,I.slice(0,a),B)}(B,0)}function RB(B,A,g){var I=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(FB.isTypedFunction(B)){var Q,C;if(I)Q=1;else{var a=(A.isMatrix?A.size():Qg(A)).map(()=>0),E=A.isMatrix?A.get(a):nE(A,a);Q=function(t,e,o,s){for(var n=[e,o,s],r=3;r>0;r--){var c=n.slice(0,r);if(FB.resolve(t,c)!==null)return r}}(B,E,a,A)}if(A.isMatrix&&A.dataType!=="mixed"&&A.dataType!==void 0){var i=function(t,e){var o=[];if(Object.entries(t.signatures).forEach(s=>{var[n,r]=s;n.split(",").length===e&&o.push(r)}),o.length===1)return o[0]}(B,Q);C=i!==void 0?i:B}else C=B;return Q>=1&&Q<=3?{isUnary:Q===1,fn:function(){for(var t=arguments.length,e=new Array(t),o=0;o<t;o++)e[o]=arguments[o];return MC(C,e.slice(0,Q),g,B.name)}}:{isUnary:!1,fn:function(){for(var t=arguments.length,e=new Array(t),o=0;o<t;o++)e[o]=arguments[o];return MC(C,e,g,B.name)}}}return I===void 0?{isUnary:st(B),fn:B}:{isUnary:I,fn:B}}function st(B){if(B.length!==1)return!1;var A=B.toString();if(/arguments/.test(A))return!1;var g=A.match(/\(.*?\)/);return!/\.\.\./.test(g)}function MC(B,A,g,I){try{return B(...A)}catch(Q){(function(C,a,E,i){var t;if(C instanceof TypeError&&((t=C.data)===null||t===void 0?void 0:t.category)==="wrongType"){var e=[];throw e.push("value: ".concat(_g(a[0]))),a.length>=2&&e.push("index: ".concat(_g(a[1]))),a.length>=3&&e.push("array: ".concat(_g(a[2]))),new TypeError("Function ".concat(E," cannot apply callback arguments ")+"".concat(i,"(").concat(e.join(", "),") at index ").concat(JSON.stringify(a[1])))}throw new TypeError("Function ".concat(E," cannot apply callback arguments ")+"to function ".concat(i,": ").concat(C.message))})(Q,A,g,I)}}SA.prototype=new RangeError,SA.prototype.constructor=RangeError,SA.prototype.name="DimensionError",SA.prototype.isDimensionError=!0,yI.prototype=new RangeError,yI.prototype.constructor=RangeError,yI.prototype.name="IndexError",yI.prototype.isIndexError=!0;var rt=fA("DenseMatrix",["Matrix"],B=>{var{Matrix:A}=B;function g(a,E){if(!(this instanceof g))throw new SyntaxError("Constructor must be called with the new operator");if(E&&!pg(E))throw new Error("Invalid datatype: "+E);if(qA(a))a.type==="DenseMatrix"?(this._data=jA(a._data),this._size=jA(a._size),this._datatype=E||a._datatype):(this._data=a.toArray(),this._size=a.size(),this._datatype=E||a._datatype);else if(a&&VA(a.data)&&VA(a.size))this._data=a.data,this._size=a.size,uC(this._data,this._size),this._datatype=E||a.datatype;else if(VA(a))this._data=C(a),this._size=Qg(this._data),uC(this._data,this._size),this._datatype=E;else{if(a)throw new TypeError("Unsupported type of data ("+_g(a)+")");this._data=[],this._size=[0],this._datatype=E}}function I(a,E,i){if(E.length===0){for(var t=a._data;VA(t);)t=t[0];return t}return a._size=E.slice(0),a._data=lQ(a._data,a._size,i),a}function Q(a,E,i){for(var t=a._size.slice(0),e=!1;t.length<E.length;)t.push(0),e=!0;for(var o=0,s=E.length;o<s;o++)E[o]>t[o]&&(t[o]=E[o],e=!0);e&&I(a,t,i)}function C(a){return qA(a)?C(a.valueOf()):VA(a)?a.map(C):a}return g.prototype=new A,g.prototype.createDenseMatrix=function(a,E){return new g(a,E)},Object.defineProperty(g,"name",{value:"DenseMatrix"}),g.prototype.constructor=g,g.prototype.type="DenseMatrix",g.prototype.isDenseMatrix=!0,g.prototype.getDataType=function(){return UQ(this._data,_g)},g.prototype.storage=function(){return"dense"},g.prototype.datatype=function(){return this._datatype},g.prototype.create=function(a,E){return new g(a,E)},g.prototype.subset=function(a,E,i){switch(arguments.length){case 1:return function(t,e){if(!pQ(e))throw new TypeError("Invalid index");var o=e.isScalar();if(o)return t.get(e.min());var s=e.size();if(s.length!==t._size.length)throw new SA(s.length,t._size.length);for(var n=e.min(),r=e.max(),c=0,D=t._size.length;c<D;c++)xA(n[c],t._size[c]),xA(r[c],t._size[c]);var w=new g([]),h=function(d,f){var p=f.size().length-1,R=Array(p);return{data:k(d),size:R};function k(G){var N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,S=f.dimension(N);return R[N]=S.size()[0],N<p?S.map(U=>(xA(U,G.length),k(G[U],N+1))).valueOf():S.map(U=>(xA(U,G.length),G[U])).valueOf()}}(t._data,e);return w._size=h.size,w._datatype=t._datatype,w._data=h.data,w}(this,a);case 2:case 3:return function(t,e,o,s){if(!e||e.isIndex!==!0)throw new TypeError("Invalid index");var n,r=e.size(),c=e.isScalar();if(qA(o)?(n=o.size(),o=o.valueOf()):n=Qg(o),c){if(n.length!==0)throw new TypeError("Scalar expected");t.set(e.min(),o,s)}else{if(!pI(n,r))try{n=Qg(o=n.length===0?FC([o],r):FC(o,r))}catch{}if(r.length<t._size.length)throw new SA(r.length,t._size.length,"<");if(n.length<r.length){for(var D=0,w=0;r[D]===1&&n[D]===1;)D++;for(;r[D]===1;)w++,D++;o=iE(o,r.length,w,n)}if(!pI(r,n))throw new SA(r,n,">");var h=e.max().map(function(d){return d+1});Q(t,h,s),function(d,f,p){var R=f.size().length-1;function k(G,N){var S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,U=f.dimension(S);S<R?U.forEach((j,z)=>{xA(j,G.length),k(G[j],N[z[0]],S+1)}):U.forEach((j,z)=>{xA(j,G.length),G[j]=N[z[0]]})}k(d,p)}(t._data,e,o)}return t}(this,a,E,i);default:throw new SyntaxError("Wrong number of arguments")}},g.prototype.get=function(a){return nE(this._data,a)},g.prototype.set=function(a,E,i){if(!VA(a))throw new TypeError("Array expected");if(a.length<this._size.length)throw new SA(a.length,this._size.length,"<");var t,e,o,s=a.map(function(r){return r+1});Q(this,s,i);var n=this._data;for(t=0,e=a.length-1;t<e;t++)xA(o=a[t],n.length),n=n[o];return xA(o=a[a.length-1],n.length),n[o]=E,this},g.prototype.resize=function(a,E,i){if(!uB(a))throw new TypeError("Array or Matrix expected");var t=a.valueOf().map(e=>Array.isArray(e)&&e.length===1?e[0]:e);return I(i?this.clone():this,t,E)},g.prototype.reshape=function(a,E){var i=E?this.clone():this;i._data=EE(i._data,a);var t=i._size.reduce((e,o)=>e*o);return i._size=mQ(a,t),i},g.prototype.clone=function(){return new g({data:jA(this._data),size:jA(this._size),datatype:this._datatype})},g.prototype.size=function(){return this._size.slice(0)},g.prototype.map=function(a){var E=arguments.length>2&&arguments[2]!==void 0&&arguments[2],i=this,t=i._size.length-1;if(t<0)return i.clone();var e=RB(a,i,"map",E),o=e.fn,s=i.create(void 0,i._datatype);if(s._size=i._size,E||e.isUnary)return s._data=function w(h){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,f=Array(h.length);if(d<t)for(var p=0;p<h.length;p++)f[p]=w(h[p],d+1);else for(var R=0;R<h.length;R++)f[R]=o(h[R]);return f}(i._data),s;if(t===0){for(var n=i.valueOf(),r=Array(n.length),c=0;c<n.length;c++)r[c]=o(n[c],[c],i);return s._data=r,s}var D=[];return s._data=function w(h){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,f=Array(h.length);if(d<t)for(var p=0;p<h.length;p++)D[d]=p,f[p]=w(h[p],d+1);else for(var R=0;R<h.length;R++)D[d]=R,f[R]=o(h[R],D.slice(),i);return f}(i._data),s},g.prototype.forEach=function(a){var E=arguments.length>2&&arguments[2]!==void 0&&arguments[2],i=this,t=i._size.length-1;if(!(t<0)){var e=RB(a,i,"map",E),o=e.fn;if(E||e.isUnary)(function r(c){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(D<t)for(var w=0;w<c.length;w++)r(c[w],D+1);else for(var h=0;h<c.length;h++)o(c[h])})(i._data);else if(t!==0){var s=[];(function r(c){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(D<t)for(var w=0;w<c.length;w++)s[D]=w,r(c[w],D+1);else for(var h=0;h<c.length;h++)s[D]=h,o(c[h],s.slice(),i)})(i._data)}else for(var n=0;n<i._data.length;n++)o(i._data[n],[n],i)}},g.prototype[Symbol.iterator]=function*(){var a=this._size.length-1;if(!(a<0))if(a!==0)for(var E=Array(a+1).fill(0),i=this._size.reduce((r,c)=>r*c,1),t=0;t<i;t++){for(var e=this._data,o=0;o<a;o++)e=e[E[o]];yield{value:e[E[a]],index:E.slice()};for(var s=a;s>=0&&(E[s]++,!(E[s]<this._size[s]));s--)E[s]=0}else for(var n=0;n<this._data.length;n++)yield{value:this._data[n],index:[n]}},g.prototype.rows=function(){var a=[];if(this.size().length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");var E=this._data;for(var i of E)a.push(new g([i],this._datatype));return a},g.prototype.columns=function(){var a=this,E=[],i=this.size();if(i.length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");for(var t=this._data,e=function(s){var n=t.map(r=>[r[s]]);E.push(new g(n,a._datatype))},o=0;o<i[1];o++)e(o);return E},g.prototype.toArray=function(){return jA(this._data)},g.prototype.valueOf=function(){return this._data},g.prototype.format=function(a){return OA(this._data,a)},g.prototype.toString=function(){return OA(this._data)},g.prototype.toJSON=function(){return{mathjs:"DenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},g.prototype.diagonal=function(a){if(a){if(WA(a)&&(a=a.toNumber()),!mA(a)||!YA(a))throw new TypeError("The parameter k must be an integer number")}else a=0;for(var E=a>0?a:0,i=a<0?-a:0,t=this._size[0],e=this._size[1],o=Math.min(t-i,e-E),s=[],n=0;n<o;n++)s[n]=this._data[n+i][n+E];return new g({data:s,size:[o],datatype:this._datatype})},g.diagonal=function(a,E,i,t){if(!VA(a))throw new TypeError("Array expected, size parameter");if(a.length!==2)throw new Error("Only two dimensions matrix are supported");if(a=a.map(function(d){if(WA(d)&&(d=d.toNumber()),!mA(d)||!YA(d)||d<1)throw new Error("Size values must be positive integers");return d}),i){if(WA(i)&&(i=i.toNumber()),!mA(i)||!YA(i))throw new TypeError("The parameter k must be an integer number")}else i=0;var e,o=i>0?i:0,s=i<0?-i:0,n=a[0],r=a[1],c=Math.min(n-s,r-o);if(VA(E)){if(E.length!==c)throw new Error("Invalid value array length");e=function(d){return E[d]}}else if(qA(E)){var D=E.size();if(D.length!==1||D[0]!==c)throw new Error("Invalid matrix length");e=function(d){return E.get([d])}}else e=function(){return E};t||(t=WA(e(0))?e(0).mul(0):0);var w=[];if(a.length>0){w=lQ(w,a,t);for(var h=0;h<c;h++)w[h+s][h+o]=e(h)}return new g({data:w,size:[n,r]})},g.fromJSON=function(a){return new g(a)},g.prototype.swapRows=function(a,E){if(!(mA(a)&&YA(a)&&mA(E)&&YA(E)))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return xA(a,this._size[0]),xA(E,this._size[0]),g._swapRows(a,E,this._data),this},g._swapRows=function(a,E,i){var t=i[a];i[a]=i[E],i[E]=t},g},{isClass:!0});function tI(B,A,g){if(!g)return qA(B)?B.map(Q=>A(Q),!1,!0):yC(B,A,!0);var I=Q=>Q===0?Q:A(Q);return qA(B)?B.map(Q=>I(Q),!1,!0):yC(B,I,!0)}var GC="number",iB="number, number";function sE(B){return Math.abs(B)}function rE(B,A){return B+A}function cE(B,A){return B-A}function hE(B,A){return B*A}function DE(B){return-B}function dE(B,A){return B*B<1&&A===1/0||B*B>1&&A===-1/0?0:Math.pow(B,A)}function fQ(B,A){if(A<B)return 1;if(A===B)return A;var g=A+B>>1;return fQ(B,g)*fQ(g+1,A)}function pB(B){var A;if(YA(B))return B<=0?isFinite(B)?1/0:NaN:B>171?1/0:fQ(1,B-1);if(B<.5)return Math.PI/(Math.sin(Math.PI*B)*pB(1-B));if(B>=171.35)return 1/0;if(B>85){var g=B*B,I=g*B,Q=I*B,C=Q*B;return Math.sqrt(2*Math.PI/B)*Math.pow(B/Math.E,B)*(1+1/(12*B)+1/(288*g)-139/(51840*I)-571/(2488320*Q)+163879/(209018880*C)+5246819/(75246796800*C*B))}--B,A=GI[0];for(var a=1;a<GI.length;++a)A+=GI[a]/(B+a);var E=B+bE+.5;return Math.sqrt(2*Math.PI)*Math.pow(E,B+.5)*Math.exp(-E)*A}sE.signature=GC,rE.signature=iB,cE.signature=iB,hE.signature=iB,DE.signature=GC,dE.signature=iB,pB.signature="number";var bE=4.7421875,GI=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22],RC="isZero",ct=fA(RC,["typed","equalScalar"],B=>{var{typed:A,equalScalar:g}=B;return A(RC,{"number | BigNumber | Complex | Fraction":I=>g(I,0),bigint:I=>I===0n,Unit:A.referToSelf(I=>Q=>A.find(I,Q.valueType())(Q.value)),"Array | Matrix":A.referToSelf(I=>Q=>tI(Q,I))})}),ht=fA("compareUnits",["typed"],B=>{var{typed:A}=B;return{"Unit, Unit":A.referToSelf(g=>(I,Q)=>{if(!I.equalBase(Q))throw new Error("Cannot compare units with different base");return A.find(g,[I.valueType(),Q.valueType()])(I.value,Q.value)})}}),NB="equalScalar",Dt=fA(NB,["typed","config"],B=>{var{typed:A,config:g}=B,I=ht({typed:A});return A(NB,{"boolean, boolean":function(Q,C){return Q===C},"number, number":function(Q,C){return DB(Q,C,g.relTol,g.absTol)},"BigNumber, BigNumber":function(Q,C){return Q.eq(C)||function(a,E){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e-9,t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(i<=0)throw new Error("Relative tolerance must be greater than 0");if(t<0)throw new Error("Absolute tolerance must be at least 0");return!a.isNaN()&&!E.isNaN()&&(a.isFinite()&&E.isFinite()?!!a.eq(E)||a.minus(E).abs().lte(a.constructor.max(a.constructor.max(a.abs(),E.abs()).mul(i),t)):a.eq(E))}(Q,C,g.relTol,g.absTol)},"bigint, bigint":function(Q,C){return Q===C},"Fraction, Fraction":function(Q,C){return Q.equals(C)},"Complex, Complex":function(Q,C){return function(a,E,i,t){return DB(a.re,E.re,i,t)&&DB(a.im,E.im,i,t)}(Q,C,g.relTol,g.absTol)}},I)});fA(NB,["typed","config"],B=>{var{typed:A,config:g}=B;return A(NB,{"number, number":function(I,Q){return DB(I,Q,g.relTol,g.absTol)}})});var dt=fA("SparseMatrix",["typed","equalScalar","Matrix"],B=>{var{typed:A,equalScalar:g,Matrix:I}=B;function Q(e,o){if(!(this instanceof Q))throw new SyntaxError("Constructor must be called with the new operator");if(o&&!pg(o))throw new Error("Invalid datatype: "+o);if(qA(e))(function(s,n,r){n.type==="SparseMatrix"?(s._values=n._values?jA(n._values):void 0,s._index=jA(n._index),s._ptr=jA(n._ptr),s._size=jA(n._size),s._datatype=r||n._datatype):C(s,n.valueOf(),r||n._datatype)})(this,e,o);else if(e&&VA(e.index)&&VA(e.ptr)&&VA(e.size))this._values=e.values,this._index=e.index,this._ptr=e.ptr,this._size=e.size,this._datatype=o||e.datatype;else if(VA(e))C(this,e,o);else{if(e)throw new TypeError("Unsupported type of data ("+_g(e)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=o}}function C(e,o,s){e._values=[],e._index=[],e._ptr=[],e._datatype=s;var n=o.length,r=0,c=g,D=0;if(pg(s)&&(c=A.find(g,[s,s])||g,D=A.convert(0,s)),n>0){var w=0;do{e._ptr.push(e._index.length);for(var h=0;h<n;h++){var d=o[h];if(VA(d)){if(w===0&&r<d.length&&(r=d.length),w<d.length){var f=d[w];c(f,D)||(e._values.push(f),e._index.push(h))}}else w===0&&r<1&&(r=1),c(d,D)||(e._values.push(d),e._index.push(h))}w++}while(w<r)}e._ptr.push(e._index.length),e._size=[n,r]}function a(e,o,s,n){if(s-o==0)return s;for(var r=o;r<s;r++)if(n[r]===e)return r;return o}function E(e,o,s,n,r,c,D){r.splice(e,0,n),c.splice(e,0,o);for(var w=s+1;w<D.length;w++)D[w]++}function i(e,o,s,n){var r=n||0,c=g,D=0;pg(e._datatype)&&(c=A.find(g,[e._datatype,e._datatype])||g,D=A.convert(0,e._datatype),r=A.convert(r,e._datatype));var w,h,d,f=!c(r,D),p=e._size[0],R=e._size[1];if(s>R){for(h=R;h<s;h++)if(e._ptr[h]=e._values.length,f)for(w=0;w<p;w++)e._values.push(r),e._index.push(w);e._ptr[s]=e._values.length}else s<R&&(e._ptr.splice(s+1,R-s),e._values.splice(e._ptr[s],e._values.length),e._index.splice(e._ptr[s],e._index.length));if(R=s,o>p){if(f){var k=0;for(h=0;h<R;h++){e._ptr[h]=e._ptr[h]+k,d=e._ptr[h+1]+k;var G=0;for(w=p;w<o;w++,G++)e._values.splice(d+G,0,r),e._index.splice(d+G,0,w),k++}e._ptr[R]=e._values.length}}else if(o<p){var N=0;for(h=0;h<R;h++){e._ptr[h]=e._ptr[h]-N;var S=e._ptr[h],U=e._ptr[h+1]-N;for(d=S;d<U;d++)(w=e._index[d])>o-1&&(e._values.splice(d,1),e._index.splice(d,1),N++)}e._ptr[h]=e._values.length}return e._size[0]=o,e._size[1]=s,e}function t(e,o,s,n,r){var c,D,w=n[0],h=n[1],d=[];for(c=0;c<w;c++)for(d[c]=[],D=0;D<h;D++)d[c][D]=0;for(D=0;D<h;D++)for(var f=s[D],p=s[D+1],R=f;R<p;R++)d[c=o[R]][D]=e?r?jA(e[R]):e[R]:1;return d}return Q.prototype=new I,Q.prototype.createSparseMatrix=function(e,o){return new Q(e,o)},Object.defineProperty(Q,"name",{value:"SparseMatrix"}),Q.prototype.constructor=Q,Q.prototype.type="SparseMatrix",Q.prototype.isSparseMatrix=!0,Q.prototype.getDataType=function(){return UQ(this._values,_g)},Q.prototype.storage=function(){return"sparse"},Q.prototype.datatype=function(){return this._datatype},Q.prototype.create=function(e,o){return new Q(e,o)},Q.prototype.density=function(){var e=this._size[0],o=this._size[1];return e!==0&&o!==0?this._index.length/(e*o):0},Q.prototype.subset=function(e,o,s){if(!this._values)throw new Error("Cannot invoke subset on a Pattern only matrix");switch(arguments.length){case 1:return function(n,r){if(!pQ(r))throw new TypeError("Invalid index");if(r.isScalar())return n.get(r.min());var c,D,w,h,d=r.size();if(d.length!==n._size.length)throw new SA(d.length,n._size.length);var f=r.min(),p=r.max();for(c=0,D=n._size.length;c<D;c++)xA(f[c],n._size[c]),xA(p[c],n._size[c]);var R=n._values,k=n._index,G=n._ptr,N=r.dimension(0),S=r.dimension(1),U=[],j=[];N.forEach(function(X,EA){j[X]=EA[0],U[X]=!0});var z=R?[]:void 0,AA=[],_=[];return S.forEach(function(X){for(_.push(AA.length),w=G[X],h=G[X+1];w<h;w++)c=k[w],U[c]===!0&&(AA.push(j[c]),z&&z.push(R[w]))}),_.push(AA.length),new Q({values:z,index:AA,ptr:_,size:d,datatype:n._datatype})}(this,e);case 2:case 3:return function(n,r,c,D){if(!r||r.isIndex!==!0)throw new TypeError("Invalid index");var w,h=r.size(),d=r.isScalar();if(qA(c)?(w=c.size(),c=c.toArray()):w=Qg(c),d){if(w.length!==0)throw new TypeError("Scalar expected");n.set(r.min(),c,D)}else{if(h.length!==1&&h.length!==2)throw new SA(h.length,n._size.length,"<");if(w.length<h.length){for(var f=0,p=0;h[f]===1&&w[f]===1;)f++;for(;h[f]===1;)p++,f++;c=iE(c,h.length,p,w)}if(!pI(h,w))throw new SA(h,w,">");if(h.length===1)r.dimension(0).forEach(function(G,N){xA(G),n.set([G,0],c[N[0]],D)});else{var R=r.dimension(0),k=r.dimension(1);R.forEach(function(G,N){xA(G),k.forEach(function(S,U){xA(S),n.set([G,S],c[N[0]][U[0]],D)})})}}return n}(this,e,o,s);default:throw new SyntaxError("Wrong number of arguments")}},Q.prototype.get=function(e){if(!VA(e))throw new TypeError("Array expected");if(e.length!==this._size.length)throw new SA(e.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var o=e[0],s=e[1];xA(o,this._size[0]),xA(s,this._size[1]);var n=a(o,this._ptr[s],this._ptr[s+1],this._index);return n<this._ptr[s+1]&&this._index[n]===o?this._values[n]:0},Q.prototype.set=function(e,o,s){if(!VA(e))throw new TypeError("Array expected");if(e.length!==this._size.length)throw new SA(e.length,this._size.length);if(!this._values)throw new Error("Cannot invoke set on a Pattern only matrix");var n=e[0],r=e[1],c=this._size[0],D=this._size[1],w=g,h=0;pg(this._datatype)&&(w=A.find(g,[this._datatype,this._datatype])||g,h=A.convert(0,this._datatype)),(n>c-1||r>D-1)&&(i(this,Math.max(n+1,c),Math.max(r+1,D),s),c=this._size[0],D=this._size[1]),xA(n,c),xA(r,D);var d=a(n,this._ptr[r],this._ptr[r+1],this._index);return d<this._ptr[r+1]&&this._index[d]===n?w(o,h)?function(f,p,R,k,G){R.splice(f,1),k.splice(f,1);for(var N=p+1;N<G.length;N++)G[N]--}(d,r,this._values,this._index,this._ptr):this._values[d]=o:w(o,h)||E(d,n,r,o,this._values,this._index,this._ptr),this},Q.prototype.resize=function(e,o,s){if(!uB(e))throw new TypeError("Array or Matrix expected");var n=e.valueOf().map(r=>Array.isArray(r)&&r.length===1?r[0]:r);if(n.length!==2)throw new Error("Only two dimensions matrix are supported");return n.forEach(function(r){if(!mA(r)||!YA(r)||r<0)throw new TypeError("Invalid size, must contain positive integers (size: "+OA(n)+")")}),i(s?this.clone():this,n[0],n[1],o)},Q.prototype.reshape=function(e,o){if(!VA(e))throw new TypeError("Array expected");if(e.length!==2)throw new Error("Sparse matrices can only be reshaped in two dimensions");e.forEach(function(j){if(!mA(j)||!YA(j)||j<=-2||j===0)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+OA(e)+")")});var s=this._size[0]*this._size[1];if(s!==(e=mQ(e,s))[0]*e[1])throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var n=o?this.clone():this;if(this._size[0]===e[0]&&this._size[1]===e[1])return n;for(var r=[],c=0;c<n._ptr.length;c++)for(var D=0;D<n._ptr[c+1]-n._ptr[c];D++)r.push(c);for(var w=n._values.slice(),h=n._index.slice(),d=0;d<n._index.length;d++){var f=h[d],p=r[d],R=f*n._size[1]+p;r[d]=R%e[1],h[d]=Math.floor(R/e[1])}n._values.length=0,n._index.length=0,n._ptr.length=e[1]+1,n._size=e.slice();for(var k=0;k<n._ptr.length;k++)n._ptr[k]=0;for(var G=0;G<w.length;G++){var N=h[G],S=r[G],U=w[G];E(a(N,n._ptr[S],n._ptr[S+1],n._index),N,S,U,n._values,n._index,n._ptr)}return n},Q.prototype.clone=function(){return new Q({values:this._values?jA(this._values):void 0,index:jA(this._index),ptr:jA(this._ptr),size:jA(this._size),datatype:this._datatype})},Q.prototype.size=function(){return this._size.slice(0)},Q.prototype.map=function(e,o){if(!this._values)throw new Error("Cannot invoke map on a Pattern only matrix");var s=this,n=this._size[0],r=this._size[1],c=RB(e,s,"map");return function(D,w,h,d,f,p,R){var k=[],G=[],N=[],S=g,U=0;pg(D._datatype)&&(S=A.find(g,[D._datatype,D._datatype])||g,U=A.convert(0,D._datatype));for(var j=function(uA,iA,GA){var eA=p(uA,iA,GA);S(eA,U)||(k.push(eA),G.push(iA))},z=d;z<=f;z++){N.push(k.length);var AA=D._ptr[z],_=D._ptr[z+1];if(R)for(var X=AA;X<_;X++){var EA=D._index[X];EA>=w&&EA<=h&&j(D._values[X],EA-w,z-d)}else{for(var cA={},nA=AA;nA<_;nA++)cA[D._index[nA]]=D._values[nA];for(var lA=w;lA<=h;lA++)j(lA in cA?cA[lA]:0,lA-w,z-d)}}return N.push(k.length),new Q({values:k,index:G,ptr:N,size:[h-w+1,f-d+1]})}(this,0,n-1,0,r-1,function(D,w,h){return c.fn(D,[w,h],s)},o)},Q.prototype.forEach=function(e,o){if(!this._values)throw new Error("Cannot invoke forEach on a Pattern only matrix");for(var s=this,n=this._size[0],r=this._size[1],c=RB(e,s,"forEach"),D=0;D<r;D++){var w=this._ptr[D],h=this._ptr[D+1];if(o)for(var d=w;d<h;d++){var f=this._index[d];c.fn(this._values[d],[f,D],s)}else{for(var p={},R=w;R<h;R++)p[this._index[R]]=this._values[R];for(var k=0;k<n;k++){var G=k in p?p[k]:0;c.fn(G,[k,D],s)}}}},Q.prototype[Symbol.iterator]=function*(){if(!this._values)throw new Error("Cannot iterate a Pattern only matrix");for(var e=this._size[1],o=0;o<e;o++)for(var s=this._ptr[o],n=this._ptr[o+1],r=s;r<n;r++){var c=this._index[r];yield{value:this._values[r],index:[c,o]}}},Q.prototype.toArray=function(){return t(this._values,this._index,this._ptr,this._size,!0)},Q.prototype.valueOf=function(){return t(this._values,this._index,this._ptr,this._size,!1)},Q.prototype.format=function(e){for(var o=this._size[0],s=this._size[1],n=this.density(),r="Sparse Matrix ["+OA(o,e)+" x "+OA(s,e)+"] density: "+OA(n,e)+`
966
+ `,c=0;c<s;c++)for(var D=this._ptr[c],w=this._ptr[c+1],h=D;h<w;h++)r+=`
967
+ (`+OA(this._index[h],e)+", "+OA(c,e)+") ==> "+(this._values?OA(this._values[h],e):"X");return r},Q.prototype.toString=function(){return OA(this.toArray())},Q.prototype.toJSON=function(){return{mathjs:"SparseMatrix",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},Q.prototype.diagonal=function(e){if(e){if(WA(e)&&(e=e.toNumber()),!mA(e)||!YA(e))throw new TypeError("The parameter k must be an integer number")}else e=0;var o=e>0?e:0,s=e<0?-e:0,n=this._size[0],r=this._size[1],c=Math.min(n-s,r-o),D=[],w=[],h=[];h[0]=0;for(var d=o;d<r&&D.length<c;d++)for(var f=this._ptr[d],p=this._ptr[d+1],R=f;R<p;R++){var k=this._index[R];if(k===d-o+s){D.push(this._values[R]),w[D.length-1]=k-s;break}}return h.push(D.length),new Q({values:D,index:w,ptr:h,size:[c,1]})},Q.fromJSON=function(e){return new Q(e)},Q.diagonal=function(e,o,s,n,r){if(!VA(e))throw new TypeError("Array expected, size parameter");if(e.length!==2)throw new Error("Only two dimensions matrix are supported");if(e=e.map(function(AA){if(WA(AA)&&(AA=AA.toNumber()),!mA(AA)||!YA(AA)||AA<1)throw new Error("Size values must be positive integers");return AA}),s){if(WA(s)&&(s=s.toNumber()),!mA(s)||!YA(s))throw new TypeError("The parameter k must be an integer number")}else s=0;var c=g,D=0;pg(r)&&(c=A.find(g,[r,r])||g,D=A.convert(0,r));var w,h=s>0?s:0,d=s<0?-s:0,f=e[0],p=e[1],R=Math.min(f-d,p-h);if(VA(o)){if(o.length!==R)throw new Error("Invalid value array length");w=function(AA){return o[AA]}}else if(qA(o)){var k=o.size();if(k.length!==1||k[0]!==R)throw new Error("Invalid matrix length");w=function(AA){return o.get([AA])}}else w=function(){return o};for(var G=[],N=[],S=[],U=0;U<p;U++){S.push(G.length);var j=U-h;if(j>=0&&j<R){var z=w(j);c(z,D)||(N.push(j+d),G.push(z))}}return S.push(G.length),new Q({values:G,index:N,ptr:S,size:[f,p]})},Q.prototype.swapRows=function(e,o){if(!(mA(e)&&YA(e)&&mA(o)&&YA(o)))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return xA(e,this._size[0]),xA(o,this._size[0]),Q._swapRows(e,o,this._size[1],this._values,this._index,this._ptr),this},Q._forEachRow=function(e,o,s,n,r){for(var c=n[e],D=n[e+1],w=c;w<D;w++)r(s[w],o[w])},Q._swapRows=function(e,o,s,n,r,c){for(var D=0;D<s;D++){var w=c[D],h=c[D+1],d=a(e,w,h,r),f=a(o,w,h,r);if(d<h&&f<h&&r[d]===e&&r[f]===o){if(n){var p=n[d];n[d]=n[f],n[f]=p}}else if(d<h&&r[d]===e&&(f>=h||r[f]!==o)){var R=n?n[d]:void 0;r.splice(f,0,o),n&&n.splice(f,0,R),r.splice(f<=d?d+1:d,1),n&&n.splice(f<=d?d+1:d,1)}else if(f<h&&r[f]===o&&(d>=h||r[d]!==e)){var k=n?n[f]:void 0;r.splice(d,0,e),n&&n.splice(d,0,k),r.splice(d<=f?f+1:f,1),n&&n.splice(d<=f?f+1:f,1)}}},Q},{isClass:!0}),bt=fA("number",["typed"],B=>{var{typed:A}=B,g=A("number",{"":function(){return 0},number:function(I){return I},string:function(I){if(I==="NaN")return NaN;var Q,C,a=(C=(Q=I).match(/(0[box])([0-9a-fA-F]*)\.([0-9a-fA-F]*)/))?{input:Q,radix:{"0b":2,"0o":8,"0x":16}[C[1]],integerPart:C[2],fractionalPart:C[3]}:null;if(a)return function(e){for(var o=parseInt(e.integerPart,e.radix),s=0,n=0;n<e.fractionalPart.length;n++)s+=parseInt(e.fractionalPart[n],e.radix)/Math.pow(e.radix,n+1);var r=o+s;if(isNaN(r))throw new SyntaxError('String "'+e.input+'" is not a valid number');return r}(a);var E=0,i=I.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);i&&(E=Number(i[2]),I=i[1]);var t=Number(I);if(isNaN(t))throw new SyntaxError('String "'+I+'" is not a valid number');if(i){if(t>2**E-1)throw new SyntaxError('String "'.concat(I,'" is out of range'));t>=2**(E-1)&&(t-=2**E)}return t},BigNumber:function(I){return I.toNumber()},bigint:function(I){return Number(I)},Fraction:function(I){return I.valueOf()},Unit:A.referToSelf(I=>Q=>{var C=Q.clone();return C.value=I(Q.value),C}),null:function(I){return 0},"Unit, string | Unit":function(I,Q){return I.toNumber(Q)},"Array | Matrix":A.referToSelf(I=>Q=>tI(Q,I))});return g.fromJSON=function(I){return parseFloat(I.value)},g}),wt=fA("bignumber",["typed","BigNumber"],B=>{var{typed:A,BigNumber:g}=B;return A("bignumber",{"":function(){return new g(0)},number:function(I){return new g(I+"")},string:function(I){var Q=I.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);if(Q){var C=Q[2],a=g(Q[1]),E=new g(2).pow(Number(C));if(a.gt(E.sub(1)))throw new SyntaxError('String "'.concat(I,'" is out of range'));var i=new g(2).pow(Number(C)-1);return a.gte(i)?a.sub(E):a}return new g(I)},BigNumber:function(I){return I},bigint:function(I){return new g(I.toString())},Unit:A.referToSelf(I=>Q=>{var C=Q.clone();return C.value=I(Q.value),C}),Fraction:function(I){return new g(String(I.n)).div(String(I.d)).times(String(I.s))},null:function(I){return new g(0)},"Array | Matrix":A.referToSelf(I=>Q=>tI(Q,I))})}),lt=fA("fraction",["typed","Fraction"],B=>{var{typed:A,Fraction:g}=B;return A("fraction",{number:function(I){if(!isFinite(I)||isNaN(I))throw new Error(I+" cannot be represented as a fraction");return new g(I)},string:function(I){return new g(I)},"number, number":function(I,Q){return new g(I,Q)},"bigint, bigint":function(I,Q){return new g(I,Q)},null:function(I){return new g(0)},BigNumber:function(I){return new g(I.toString())},bigint:function(I){return new g(I.toString())},Fraction:function(I){return I},Unit:A.referToSelf(I=>Q=>{var C=Q.clone();return C.value=I(Q.value),C}),Object:function(I){return new g(I)},"Array | Matrix":A.referToSelf(I=>Q=>tI(Q,I))})}),pC="matrix",ut=fA(pC,["typed","Matrix","DenseMatrix","SparseMatrix"],B=>{var{typed:A,Matrix:g,DenseMatrix:I,SparseMatrix:Q}=B;return A(pC,{"":function(){return C([])},string:function(a){return C([],a)},"string, string":function(a,E){return C([],a,E)},Array:function(a){return C(a)},Matrix:function(a){return C(a,a.storage())},"Array | Matrix, string":C,"Array | Matrix, string, string":C});function C(a,E,i){if(E==="dense"||E==="default"||E===void 0)return new I(a,i);if(E==="sparse")return new Q(a,i);throw new TypeError("Unknown matrix type "+JSON.stringify(E)+".")}}),NC="unaryMinus",ft=fA(NC,["typed"],B=>{var{typed:A}=B;return A(NC,{number:DE,"Complex | BigNumber | Fraction":g=>g.neg(),bigint:g=>-g,Unit:A.referToSelf(g=>I=>{var Q=I.clone();return Q.value=A.find(g,Q.valueType())(I.value),Q}),"Array | Matrix":A.referToSelf(g=>I=>tI(I,g,!0))})}),Ft=fA("abs",["typed"],B=>{var{typed:A}=B;return A("abs",{number:sE,"Complex | BigNumber | Fraction | Unit":g=>g.abs(),bigint:g=>g<0n?-g:g,"Array | Matrix":A.referToSelf(g=>I=>tI(I,g,!0))})}),kC="addScalar",yt=fA(kC,["typed"],B=>{var{typed:A}=B;return A(kC,{"number, number":rE,"Complex, Complex":function(g,I){return g.add(I)},"BigNumber, BigNumber":function(g,I){return g.plus(I)},"bigint, bigint":function(g,I){return g+I},"Fraction, Fraction":function(g,I){return g.add(I)},"Unit, Unit":A.referToSelf(g=>(I,Q)=>{if(I.value===null||I.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(Q.value===null||Q.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!I.equalBase(Q))throw new Error("Units do not match");var C=I.clone();return C.value=A.find(g,[C.valueType(),Q.valueType()])(C.value,Q.value),C.fixPrefix=!1,C})})}),mC="subtractScalar",Mt=fA(mC,["typed"],B=>{var{typed:A}=B;return A(mC,{"number, number":cE,"Complex, Complex":function(g,I){return g.sub(I)},"BigNumber, BigNumber":function(g,I){return g.minus(I)},"bigint, bigint":function(g,I){return g-I},"Fraction, Fraction":function(g,I){return g.sub(I)},"Unit, Unit":A.referToSelf(g=>(I,Q)=>{if(I.value===null||I.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(Q.value===null||Q.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!I.equalBase(Q))throw new Error("Units do not match");var C=I.clone();return C.value=A.find(g,[C.valueType(),Q.valueType()])(C.value,Q.value),C.fixPrefix=!1,C})})}),Gt=fA("matAlgo11xS0s",["typed","equalScalar"],B=>{var{typed:A,equalScalar:g}=B;return function(I,Q,C,a){var E=I._values,i=I._index,t=I._ptr,e=I._size,o=I._datatype;if(!E)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var s,n=e[0],r=e[1],c=g,D=0,w=C;typeof o=="string"&&(s=o,c=A.find(g,[s,s]),D=A.convert(0,s),Q=A.convert(Q,s),w=A.find(C,[s,s]));for(var h=[],d=[],f=[],p=0;p<r;p++){f[p]=d.length;for(var R=t[p],k=t[p+1],G=R;G<k;G++){var N=i[G],S=a?w(Q,E[G]):w(E[G],Q);c(S,D)||(d.push(N),h.push(S))}}return f[r]=d.length,I.createSparseMatrix({values:h,index:d,ptr:f,size:[n,r],datatype:s})}}),Rt=fA("matAlgo14xDs",["typed"],B=>{var{typed:A}=B;return function(I,Q,C,a){var E,i=I._data,t=I._size,e=I._datatype,o=C;typeof e=="string"&&(E=e,Q=A.convert(Q,E),o=A.find(C,[E,E]));var s=t.length>0?g(o,0,t,t[0],i,Q,a):[];return I.createDenseMatrix({data:s,size:jA(t),datatype:E})};function g(I,Q,C,a,E,i,t){var e=[];if(Q===C.length-1)for(var o=0;o<a;o++)e[o]=t?I(i,E[o]):I(E[o],i);else for(var s=0;s<a;s++)e[s]=g(I,Q+1,C,C[Q+1],E[s],i,t);return e}}),pt=fA("multiplyScalar",["typed"],B=>{var{typed:A}=B;return A("multiplyScalar",{"number, number":hE,"Complex, Complex":function(g,I){return g.mul(I)},"BigNumber, BigNumber":function(g,I){return g.times(I)},"bigint, bigint":function(g,I){return g*I},"Fraction, Fraction":function(g,I){return g.mul(I)},"number | Fraction | BigNumber | Complex, Unit":(g,I)=>I.multiply(g),"Unit, number | Fraction | BigNumber | Complex | Unit":(g,I)=>g.multiply(I)})}),UC="multiply",Nt=fA(UC,["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],B=>{var{typed:A,matrix:g,addScalar:I,multiplyScalar:Q,equalScalar:C,dot:a}=B,E=Gt({typed:A,equalScalar:C}),i=Rt({typed:A});function t(n,r){switch(n.length){case 1:switch(r.length){case 1:if(n[0]!==r[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(n[0]!==r[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+n[0]+") must match Matrix rows ("+r[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+r.length+" dimensions)")}break;case 2:switch(r.length){case 1:if(n[1]!==r[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+n[1]+") must match Vector length ("+r[0]+")");break;case 2:if(n[1]!==r[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+n[1]+") must match Matrix B rows ("+r[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+r.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+n.length+" dimensions)")}}function e(n,r){if(r.storage()!=="dense")throw new Error("Support for SparseMatrix not implemented");return function(c,D){var w,h=c._data,d=c._size,f=c._datatype||c.getDataType(),p=D._data,R=D._size,k=D._datatype||D.getDataType(),G=d[0],N=R[1],S=I,U=Q;f&&k&&f===k&&typeof f=="string"&&f!=="mixed"&&(w=f,S=A.find(I,[w,w]),U=A.find(Q,[w,w]));for(var j=[],z=0;z<N;z++){for(var AA=U(h[0],p[0][z]),_=1;_<G;_++)AA=S(AA,U(h[_],p[_][z]));j[z]=AA}return c.createDenseMatrix({data:j,size:[N],datatype:f===c._datatype&&k===D._datatype?w:void 0})}(n,r)}var o=A("_multiplyMatrixVector",{"DenseMatrix, any":function(n,r){var c,D=n._data,w=n._size,h=n._datatype||n.getDataType(),d=r._data,f=r._datatype||r.getDataType(),p=w[0],R=w[1],k=I,G=Q;h&&f&&h===f&&typeof h=="string"&&h!=="mixed"&&(c=h,k=A.find(I,[c,c]),G=A.find(Q,[c,c]));for(var N=[],S=0;S<p;S++){for(var U=D[S],j=G(U[0],d[0]),z=1;z<R;z++)j=k(j,G(U[z],d[z]));N[S]=j}return n.createDenseMatrix({data:N,size:[p],datatype:h===n._datatype&&f===r._datatype?c:void 0})},"SparseMatrix, any":function(n,r){var c=n._values,D=n._index,w=n._ptr,h=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(!c)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var d,f=r._data,p=r._datatype||r.getDataType(),R=n._size[0],k=r._size[0],G=[],N=[],S=[],U=I,j=Q,z=C,AA=0;h&&p&&h===p&&typeof h=="string"&&h!=="mixed"&&(d=h,U=A.find(I,[d,d]),j=A.find(Q,[d,d]),z=A.find(C,[d,d]),AA=A.convert(0,d));var _=[],X=[];S[0]=0;for(var EA=0;EA<k;EA++){var cA=f[EA];if(!z(cA,AA))for(var nA=w[EA],lA=w[EA+1],uA=nA;uA<lA;uA++){var iA=D[uA];X[iA]?_[iA]=U(_[iA],j(cA,c[uA])):(X[iA]=!0,N.push(iA),_[iA]=j(cA,c[uA]))}}for(var GA=N.length,eA=0;eA<GA;eA++){var rA=N[eA];G[eA]=_[rA]}return S[1]=N.length,n.createSparseMatrix({values:G,index:N,ptr:S,size:[R,1],datatype:h===n._datatype&&p===r._datatype?d:void 0})}}),s=A("_multiplyMatrixMatrix",{"DenseMatrix, DenseMatrix":function(n,r){var c,D=n._data,w=n._size,h=n._datatype||n.getDataType(),d=r._data,f=r._size,p=r._datatype||r.getDataType(),R=w[0],k=w[1],G=f[1],N=I,S=Q;h&&p&&h===p&&typeof h=="string"&&h!=="mixed"&&h!=="mixed"&&(c=h,N=A.find(I,[c,c]),S=A.find(Q,[c,c]));for(var U=[],j=0;j<R;j++){var z=D[j];U[j]=[];for(var AA=0;AA<G;AA++){for(var _=S(z[0],d[0][AA]),X=1;X<k;X++)_=N(_,S(z[X],d[X][AA]));U[j][AA]=_}}return n.createDenseMatrix({data:U,size:[R,G],datatype:h===n._datatype&&p===r._datatype?c:void 0})},"DenseMatrix, SparseMatrix":function(n,r){var c=n._data,D=n._size,w=n._datatype||n.getDataType(),h=r._values,d=r._index,f=r._ptr,p=r._size,R=r._datatype||r._data===void 0?r._datatype:r.getDataType();if(!h)throw new Error("Cannot multiply Dense Matrix times Pattern only Matrix");var k,G=D[0],N=p[1],S=I,U=Q,j=C,z=0;w&&R&&w===R&&typeof w=="string"&&w!=="mixed"&&(k=w,S=A.find(I,[k,k]),U=A.find(Q,[k,k]),j=A.find(C,[k,k]),z=A.convert(0,k));for(var AA=[],_=[],X=[],EA=r.createSparseMatrix({values:AA,index:_,ptr:X,size:[G,N],datatype:w===n._datatype&&R===r._datatype?k:void 0}),cA=0;cA<N;cA++){X[cA]=_.length;var nA=f[cA],lA=f[cA+1];if(lA>nA)for(var uA=0,iA=0;iA<G;iA++){for(var GA=iA+1,eA=void 0,rA=nA;rA<lA;rA++){var FA=d[rA];uA!==GA?(eA=U(c[iA][FA],h[rA]),uA=GA):eA=S(eA,U(c[iA][FA],h[rA]))}uA!==GA||j(eA,z)||(_.push(iA),AA.push(eA))}}return X[N]=_.length,EA},"SparseMatrix, DenseMatrix":function(n,r){var c=n._values,D=n._index,w=n._ptr,h=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(!c)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var d,f=r._data,p=r._datatype||r.getDataType(),R=n._size[0],k=r._size[0],G=r._size[1],N=I,S=Q,U=C,j=0;h&&p&&h===p&&typeof h=="string"&&h!=="mixed"&&(d=h,N=A.find(I,[d,d]),S=A.find(Q,[d,d]),U=A.find(C,[d,d]),j=A.convert(0,d));for(var z=[],AA=[],_=[],X=n.createSparseMatrix({values:z,index:AA,ptr:_,size:[R,G],datatype:h===n._datatype&&p===r._datatype?d:void 0}),EA=[],cA=[],nA=0;nA<G;nA++){_[nA]=AA.length;for(var lA=nA+1,uA=0;uA<k;uA++){var iA=f[uA][nA];if(!U(iA,j))for(var GA=w[uA],eA=w[uA+1],rA=GA;rA<eA;rA++){var FA=D[rA];cA[FA]!==lA?(cA[FA]=lA,AA.push(FA),EA[FA]=S(iA,c[rA])):EA[FA]=N(EA[FA],S(iA,c[rA]))}}for(var RA=_[nA],oA=AA.length,hA=RA;hA<oA;hA++){var LA=AA[hA];z[hA]=EA[LA]}}return _[G]=AA.length,X},"SparseMatrix, SparseMatrix":function(n,r){var c,D=n._values,w=n._index,h=n._ptr,d=n._datatype||n._data===void 0?n._datatype:n.getDataType(),f=r._values,p=r._index,R=r._ptr,k=r._datatype||r._data===void 0?r._datatype:r.getDataType(),G=n._size[0],N=r._size[1],S=D&&f,U=I,j=Q;d&&k&&d===k&&typeof d=="string"&&d!=="mixed"&&(c=d,U=A.find(I,[c,c]),j=A.find(Q,[c,c]));for(var z,AA,_,X,EA,cA,nA,lA,uA=S?[]:void 0,iA=[],GA=[],eA=n.createSparseMatrix({values:uA,index:iA,ptr:GA,size:[G,N],datatype:d===n._datatype&&k===r._datatype?c:void 0}),rA=S?[]:void 0,FA=[],RA=0;RA<N;RA++){GA[RA]=iA.length;var oA=RA+1;for(EA=R[RA],cA=R[RA+1],X=EA;X<cA;X++)if(lA=p[X],S)for(AA=h[lA],_=h[lA+1],z=AA;z<_;z++)FA[nA=w[z]]!==oA?(FA[nA]=oA,iA.push(nA),rA[nA]=j(f[X],D[z])):rA[nA]=U(rA[nA],j(f[X],D[z]));else for(AA=h[lA],_=h[lA+1],z=AA;z<_;z++)FA[nA=w[z]]!==oA&&(FA[nA]=oA,iA.push(nA));if(S)for(var hA=GA[RA],LA=iA.length,KA=hA;KA<LA;KA++){var tg=iA[KA];uA[KA]=rA[tg]}}return GA[N]=iA.length,eA}});return A(UC,Q,{"Array, Array":A.referTo("Matrix, Matrix",n=>(r,c)=>{t(Qg(r),Qg(c));var D=n(g(r),g(c));return qA(D)?D.valueOf():D}),"Matrix, Matrix":function(n,r){var c=n.size(),D=r.size();return t(c,D),c.length===1?D.length===1?function(w,h,d){if(d===0)throw new Error("Cannot multiply two empty vectors");return a(w,h)}(n,r,c[0]):e(n,r):D.length===1?o(n,r):s(n,r)},"Matrix, Array":A.referTo("Matrix,Matrix",n=>(r,c)=>n(r,g(c))),"Array, Matrix":A.referToSelf(n=>(r,c)=>n(g(r,c.storage()),c)),"SparseMatrix, any":function(n,r){return E(n,r,Q,!1)},"DenseMatrix, any":function(n,r){return i(n,r,Q,!1)},"any, SparseMatrix":function(n,r){return E(r,n,Q,!0)},"any, DenseMatrix":function(n,r){return i(r,n,Q,!0)},"Array, any":function(n,r){return i(g(n),r,Q,!1).valueOf()},"any, Array":function(n,r){return i(g(r),n,Q,!0).valueOf()},"any, any":Q,"any, any, ...any":A.referToSelf(n=>(r,c,D)=>{for(var w=n(r,c),h=0;h<D.length;h++)w=n(w,D[h]);return w})})}),SC="conj",kt=fA(SC,["typed"],B=>{var{typed:A}=B;return A(SC,{"number | BigNumber | Fraction":g=>g,Complex:g=>g.conjugate(),Unit:A.referToSelf(g=>I=>new I.constructor(g(I.toNumeric()),I.formatUnits())),"Array | Matrix":A.referToSelf(g=>I=>tI(I,g))})}),LC="identity",mt=fA(LC,["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],B=>{var{typed:A,config:g,matrix:I,BigNumber:Q,DenseMatrix:C,SparseMatrix:a}=B;return A(LC,{"":function(){return g.matrix==="Matrix"?I([]):[]},string:function(t){return I(t)},"number | BigNumber":function(t){return i(t,t,g.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, string":function(t,e){return i(t,t,e)},"number | BigNumber, number | BigNumber":function(t,e){return i(t,e,g.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(t,e,o){return i(t,e,o)},Array:function(t){return E(t)},"Array, string":function(t,e){return E(t,e)},Matrix:function(t){return E(t.valueOf(),t.storage())},"Matrix, string":function(t,e){return E(t.valueOf(),e)}});function E(t,e){switch(t.length){case 0:return e?I(e):[];case 1:return i(t[0],t[0],e);case 2:return i(t[0],t[1],e);default:throw new Error("Vector containing two values expected")}}function i(t,e,o){var s=WA(t)||WA(e)?Q:null;if(WA(t)&&(t=t.toNumber()),WA(e)&&(e=e.toNumber()),!YA(t)||t<1)throw new Error("Parameters in function identity must be positive integers");if(!YA(e)||e<1)throw new Error("Parameters in function identity must be positive integers");var n=s?new Q(1):1,r=s?new s(0):0,c=[t,e];if(o){if(o==="sparse")return a.diagonal(c,n,0,r);if(o==="dense")return C.diagonal(c,n,0,r);throw new TypeError('Unknown matrix type "'.concat(o,'"'))}for(var D=lQ([],c,r),w=t<e?t:e,h=0;h<w;h++)D[h][h]=n;return D}});function Ut(){throw new Error('No "bignumber" implementation available')}function St(){throw new Error('No "fraction" implementation available')}var JC,YC="size",Lt=fA(YC,["typed","config","?matrix"],B=>{var{typed:A,config:g,matrix:I}=B;return A(YC,{Matrix:function(Q){return Q.create(Q.size(),"number")},Array:Qg,string:function(Q){return g.matrix==="Array"?[Q.length]:I([Q.length],"dense","number")},"number | Complex | BigNumber | Unit | boolean | null":function(Q){return g.matrix==="Array"?[]:I?I([],"dense","number"):function(){throw new Error('No "matrix" implementation available')}()}})}),Jt=fA("numeric",["number","?bignumber","?fraction"],B=>{var{number:A,bignumber:g,fraction:I}=B,Q={string:!0,number:!0,BigNumber:!0,Fraction:!0},C={number:a=>A(a),BigNumber:g?a=>g(a):Ut,bigint:a=>BigInt(a),Fraction:I?a=>I(a):St};return function(a){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"number";if((arguments.length>2?arguments[2]:void 0)!==void 0)throw new SyntaxError("numeric() takes one or two arguments");var i=_g(a);if(!(i in Q))throw new TypeError("Cannot convert "+a+' of type "'+i+'"; valid input types are '+Object.keys(Q).join(", "));if(!(E in C))throw new TypeError("Cannot convert "+a+' to type "'+E+'"; valid output types are '+Object.keys(C).join(", "));return E===i?a:C[E](a)}}),xC="divideScalar",Yt=fA(xC,["typed","numeric"],B=>{var{typed:A,numeric:g}=B;return A(xC,{"number, number":function(I,Q){return I/Q},"Complex, Complex":function(I,Q){return I.div(Q)},"BigNumber, BigNumber":function(I,Q){return I.div(Q)},"bigint, bigint":function(I,Q){return I/Q},"Fraction, Fraction":function(I,Q){return I.div(Q)},"Unit, number | Complex | Fraction | BigNumber | Unit":(I,Q)=>I.divide(Q),"number | Fraction | Complex | BigNumber, Unit":(I,Q)=>Q.divideInto(I)})}),xt=fA("pow",["typed","config","identity","multiply","matrix","inv","fraction","number","Complex"],B=>{var{typed:A,config:g,identity:I,multiply:Q,matrix:C,inv:a,number:E,fraction:i,Complex:t}=B;return A("pow",{"number, number":e,"Complex, Complex":function(n,r){return n.pow(r)},"BigNumber, BigNumber":function(n,r){return r.isInteger()||n>=0||g.predictable?n.pow(r):new t(n.toNumber(),0).pow(r.toNumber(),0)},"bigint, bigint":(n,r)=>n**r,"Fraction, Fraction":function(n,r){var c=n.pow(r);if(c!=null)return c;if(g.predictable)throw new Error("Result of pow is non-rational and cannot be expressed as a fraction");return e(n.valueOf(),r.valueOf())},"Array, number":o,"Array, BigNumber":function(n,r){return o(n,r.toNumber())},"Matrix, number":s,"Matrix, BigNumber":function(n,r){return s(n,r.toNumber())},"Unit, number | BigNumber":function(n,r){return n.pow(r)}});function e(n,r){if(g.predictable&&!YA(r)&&n<0)try{var c=i(r),D=E(c);if((r===D||Math.abs((r-D)/r)<1e-14)&&c.d%2n===1n)return(c.n%2n===0n?1:-1)*Math.pow(-n,r)}catch{}return g.predictable&&(n<-1&&r===1/0||n>-1&&n<0&&r===-1/0)?NaN:YA(r)||n>=0||g.predictable?dE(n,r):n*n<1&&r===1/0||n*n>1&&r===-1/0?0:new t(n,0).pow(r,0)}function o(n,r){if(!YA(r))throw new TypeError("For A^b, b must be an integer (value is "+r+")");var c=Qg(n);if(c.length!==2)throw new Error("For A^b, A must be 2 dimensional (A has "+c.length+" dimensions)");if(c[0]!==c[1])throw new Error("For A^b, A must be square (size is "+c[0]+"x"+c[1]+")");if(r<0)try{return o(a(n),-r)}catch(h){throw h.message==="Cannot calculate inverse, determinant is zero"?new TypeError("For A^b, when A is not invertible, b must be a positive integer (value is "+r+")"):h}for(var D=I(c[0]).valueOf(),w=n;r>=1;)1&~r||(D=Q(w,D)),r>>=1,w=Q(w,w);return D}function s(n,r){return C(o(n.valueOf(),r))}}),Ht=fA("dot",["typed","addScalar","multiplyScalar","conj","size"],B=>{var{typed:A,addScalar:g,multiplyScalar:I,conj:Q,size:C}=B;return A("dot",{"Array | DenseMatrix, Array | DenseMatrix":function(i,t){var e=a(i,t),o=qA(i)?i._data:i,s=qA(i)?i._datatype||i.getDataType():void 0,n=qA(t)?t._data:t,r=qA(t)?t._datatype||t.getDataType():void 0,c=E(i).length===2,D=E(t).length===2,w=g,h=I;if(s&&r&&s===r&&typeof s=="string"&&s!=="mixed"){var d=s;w=A.find(g,[d,d]),h=A.find(I,[d,d])}if(!c&&!D){for(var f=h(Q(o[0]),n[0]),p=1;p<e;p++)f=w(f,h(Q(o[p]),n[p]));return f}if(!c&&D){for(var R=h(Q(o[0]),n[0][0]),k=1;k<e;k++)R=w(R,h(Q(o[k]),n[k][0]));return R}if(c&&!D){for(var G=h(Q(o[0][0]),n[0]),N=1;N<e;N++)G=w(G,h(Q(o[N][0]),n[N]));return G}if(c&&D){for(var S=h(Q(o[0][0]),n[0][0]),U=1;U<e;U++)S=w(S,h(Q(o[U][0]),n[U][0]));return S}},"SparseMatrix, SparseMatrix":function(i,t){a(i,t);for(var e=i._index,o=i._values,s=t._index,n=t._values,r=0,c=g,D=I,w=0,h=0;w<e.length&&h<s.length;){var d=e[w],f=s[h];d<f?w++:d>f?h++:d===f&&(r=c(r,D(o[w],n[h])),w++,h++)}return r}});function a(i,t){var e,o,s=E(i),n=E(t);if(s.length===1)e=s[0];else{if(s.length!==2||s[1]!==1)throw new RangeError("Expected a column vector, instead got a matrix of size ("+s.join(", ")+")");e=s[0]}if(n.length===1)o=n[0];else{if(n.length!==2||n[1]!==1)throw new RangeError("Expected a column vector, instead got a matrix of size ("+n.join(", ")+")");o=n[0]}if(e!==o)throw new RangeError("Vectors must have equal length ("+e+" != "+o+")");if(e===0)throw new RangeError("Cannot calculate the dot product of empty vectors");return e}function E(i){return qA(i)?i.size():C(i)}}),Kt=fA("det",["typed","matrix","subtractScalar","multiply","divideScalar","isZero","unaryMinus"],B=>{var{typed:A,matrix:g,subtractScalar:I,multiply:Q,divideScalar:C,isZero:a,unaryMinus:E}=B;return A("det",{any:function(i){return jA(i)},"Array | Matrix":function(i){var t;switch((t=qA(i)?i.size():Array.isArray(i)?(i=g(i)).size():[]).length){case 0:return jA(i);case 1:if(t[0]===1)return jA(i.valueOf()[0]);if(t[0]===0)return 1;throw new RangeError("Matrix must be square (size: "+OA(t)+")");case 2:var e=t[0],o=t[1];if(e===o)return function(s,n){if(n===1)return jA(s[0][0]);if(n===2)return I(Q(s[0][0],s[1][1]),Q(s[1][0],s[0][1]));for(var r=!1,c=new Array(n).fill(0).map((N,S)=>S),D=0;D<n;D++){var w=c[D];if(a(s[w][D])){var h=void 0;for(h=D+1;h<n;h++)if(!a(s[c[h]][D])){w=c[h],c[h]=c[D],c[D]=w,r=!r;break}if(h===n)return s[w][D]}for(var d=s[w][D],f=D===0?1:s[c[D-1]][D-1],p=D+1;p<n;p++)for(var R=c[p],k=D+1;k<n;k++)s[R][k]=C(I(Q(s[R][k],d),Q(s[R][D],s[w][k])),f)}var G=s[c[n-1]][n-1];return r?E(G):G}(i.clone().valueOf(),e);if(o===0)return 1;throw new RangeError("Matrix must be square (size: "+OA(t)+")");default:throw new RangeError("Matrix must be two dimensional (size: "+OA(t)+")")}}})}),jt=fA("inv",["typed","matrix","divideScalar","addScalar","multiply","unaryMinus","det","identity","abs"],B=>{var{typed:A,matrix:g,divideScalar:I,addScalar:Q,multiply:C,unaryMinus:a,det:E,identity:i,abs:t}=B;return A("inv",{"Array | Matrix":function(o){var s=qA(o)?o.size():Qg(o);switch(s.length){case 1:if(s[0]===1)return qA(o)?g([I(1,o.valueOf()[0])]):[I(1,o[0])];throw new RangeError("Matrix must be square (size: "+OA(s)+")");case 2:var n=s[0],r=s[1];if(n===r)return qA(o)?g(e(o.valueOf(),n,r),o.storage()):e(o,n,r);throw new RangeError("Matrix must be square (size: "+OA(s)+")");default:throw new RangeError("Matrix must be two dimensional (size: "+OA(s)+")")}},any:function(o){return I(1,o)}});function e(o,s,n){var r,c,D,w,h;if(s===1){if((w=o[0][0])===0)throw Error("Cannot calculate inverse, determinant is zero");return[[I(1,w)]]}if(s===2){var d=E(o);if(d===0)throw Error("Cannot calculate inverse, determinant is zero");return[[I(o[1][1],d),I(a(o[0][1]),d)],[I(a(o[1][0]),d),I(o[0][0],d)]]}var f=o.concat();for(r=0;r<s;r++)f[r]=f[r].concat();for(var p=i(s).valueOf(),R=0;R<n;R++){var k=t(f[R][R]),G=R;for(r=R+1;r<s;)t(f[r][R])>k&&(k=t(f[r][R]),G=r),r++;if(k===0)throw Error("Cannot calculate inverse, determinant is zero");(r=G)!==R&&(h=f[R],f[R]=f[r],f[r]=h,h=p[R],p[R]=p[r],p[r]=h);var N=f[R],S=p[R];for(r=0;r<s;r++){var U=f[r],j=p[r];if(r!==R){if(U[R]!==0){for(D=I(a(U[R]),N[R]),c=R;c<n;c++)U[c]=Q(U[c],C(D,N[c]));for(c=0;c<n;c++)j[c]=Q(j[c],C(D,S[c]))}}else{for(D=N[R],c=R;c<n;c++)U[c]=I(U[c],D);for(c=0;c<n;c++)j[c]=I(j[c],D)}}}return p}}),HC="gamma",qt=fA(HC,["typed","config","multiplyScalar","pow","BigNumber","Complex"],B=>{var{typed:A,config:g,multiplyScalar:I,pow:Q,BigNumber:C,Complex:a}=B;return A(HC,{number:pB,Complex:function i(t){if(t.im===0)return pB(t.re);if(t.re<.5){var e=new a(1-t.re,-t.im),o=new a(Math.PI*t.re,Math.PI*t.im);return new a(Math.PI).div(o.sin()).div(i(e))}t=new a(t.re-1,t.im);for(var s=new a(GI[0],0),n=1;n<GI.length;++n){var r=new a(GI[n],0);s=s.add(r.div(t.add(n)))}var c=new a(t.re+bE+.5,t.im),D=Math.sqrt(2*Math.PI),w=c.pow(t.add(.5)),h=c.neg().exp();return s.mul(D).mul(w).mul(h)},BigNumber:function(i){if(i.isInteger())return i.isNegative()||i.isZero()?new C(1/0):E(i.minus(1));if(!i.isFinite())return new C(i.isNegative()?NaN:1/0);throw new Error("Integer BigNumber expected")}});function E(i){if(i<8)return new C([1,1,2,6,24,120,720,5040][i]);var t=g.precision+(0|Math.log(i.toNumber())),e=C.clone({precision:t});if(i%2==1)return i.times(E(new C(i-1)));for(var o=i,s=new e(i),n=i.toNumber();o>2;)n+=o-=2,s=s.times(n);return new C(s.toPrecision(C.precision))}}),mB=Ct({config:iI}),FQ=Et({}),wE=it({}),SQ=tt({}),LQ=rt({Matrix:SQ}),HA=ri({BigNumber:mB,Complex:FQ,DenseMatrix:LQ,Fraction:wE}),vt=Ft({typed:HA}),yQ=yt({typed:HA}),Tt=kt({typed:HA}),JQ=Dt({config:iI,typed:HA}),Ot=ct({equalScalar:JQ,typed:HA}),MQ=pt({typed:HA}),lE=bt({typed:HA}),uE=dt({Matrix:SQ,equalScalar:JQ,typed:HA}),Wt=Mt({typed:HA}),Pt=wt({BigNumber:mB,typed:HA}),RI=ut({DenseMatrix:LQ,Matrix:SQ,SparseMatrix:uE,typed:HA}),fE=lt({Fraction:wE,typed:HA}),KC=mt({BigNumber:mB,DenseMatrix:LQ,SparseMatrix:uE,config:iI,matrix:RI,typed:HA}),Vt=Jt({bignumber:Pt,fraction:fE,number:lE}),zt=Lt({matrix:RI,config:iI,typed:HA}),jC=ft({typed:HA}),qC=Yt({numeric:Vt,typed:HA}),iQ=Nt({addScalar:yQ,dot:Ht({addScalar:yQ,conj:Tt,multiplyScalar:MQ,size:zt,typed:HA}),equalScalar:JQ,matrix:RI,multiplyScalar:MQ,typed:HA}),Xt=qt({BigNumber:mB,Complex:FQ,config:iI,multiplyScalar:MQ,pow:xt({Complex:FQ,config:iI,fraction:fE,identity:KC,inv:jt({abs:vt,addScalar:yQ,det:Kt({divideScalar:qC,isZero:Ot,matrix:RI,multiply:iQ,subtractScalar:Wt,typed:HA,unaryMinus:jC}),divideScalar:qC,identity:KC,matrix:RI,multiply:iQ,typed:HA,unaryMinus:jC}),matrix:RI,multiply:iQ,number:lE,typed:HA}),typed:HA});class Zt{constructor(A){if(A){const{toElementFn:g}=A;if(typeof g=="function")this._toElementFn=g;else if(g)throw new TypeError("toElementFn must be a function type")}}_toElementFn;get toElementFn(){return this._toElementFn}*[Symbol.iterator](...A){yield*this._getIterator(...A)}*values(){for(const A of this)yield A}every(A,g){let I=0;for(const Q of this)if(!A.call(g,Q,I++,this))return!1;return!0}some(A,g){let I=0;for(const Q of this)if(A.call(g,Q,I++,this))return!0;return!1}forEach(A,g){let I=0;for(const Q of this)A.call(g,Q,I++,this)}find(A,g){let I=0;for(const Q of this)if(A.call(g,Q,I++,this))return Q}has(A){for(const g of this)if(g===A)return!0;return!1}reduce(A,g){let I=g??0,Q=0;for(const C of this)I=A(I,C,Q++,this);return I}toArray(){return[...this]}toVisual(){return[...this]}print(){console.log(this.toVisual())}}/**
968
968
  * data-structure-typed
969
969
  * @author Kirk Qi
970
970
  * @copyright Copyright (c) 2022 Kirk Qi <qilinaus@gmail.com>
971
971
  * @license MIT License
972
- */class aI extends Vt{constructor(A=[],g){if(super(g),g){const{comparator:I}=g;I&&(this._comparator=I)}this.addMany(A)}_elements=[];get elements(){return this._elements}get size(){return this.elements.length}get leaf(){return this.elements[this.size-1]??void 0}static heapify(A,g){return new aI(A,g)}add(A){return this._elements.push(A),this._bubbleUp(this.elements.length-1)}addMany(A){const g=[];for(const I of A)this._toElementFn?g.push(this.add(this._toElementFn(I))):g.push(this.add(I));return g}poll(){if(this.elements.length===0)return;const A=this.elements[0],g=this.elements.pop();return this.elements.length&&(this.elements[0]=g,this._sinkDown(0,this.elements.length>>1)),A}peek(){return this.elements[0]}isEmpty(){return this.size===0}clear(){this._elements=[]}refill(A){return this._elements=A,this.fix()}has(A){return this.elements.includes(A)}delete(A){const g=this.elements.indexOf(A);return!(g<0)&&(g===0?this.poll():g===this.elements.length-1?this.elements.pop():(this.elements.splice(g,1,this.elements.pop()),this._bubbleUp(g),this._sinkDown(g,this.elements.length>>1)),!0)}dfs(A="PRE"){const g=[],I=Q=>{const C=2*Q+1,E=C+1;Q<this.size&&(A==="IN"?(I(C),g.push(this.elements[Q]),I(E)):A==="PRE"?(g.push(this.elements[Q]),I(C),I(E)):A==="POST"&&(I(C),I(E),g.push(this.elements[Q])))};return I(0),g}clone(){return new aI(this,{comparator:this.comparator,toElementFn:this.toElementFn})}sort(){const A=[],g=new aI(this,{comparator:this.comparator});for(;g.size!==0;){const I=g.poll();I!==void 0&&A.push(I)}return A}fix(){const A=[];for(let g=Math.floor(this.size/2);g>=0;g--)A.push(this._sinkDown(g,this.elements.length>>1));return A}filter(A,g){const I=new aI([],{toElementFn:this.toElementFn,comparator:this.comparator});let Q=0;for(const C of this)A.call(g,C,Q,this)&&I.add(C),Q++;return I}map(A,g,I,Q){const C=new aI([],{comparator:g,toElementFn:I});let E=0;for(const a of this)C.add(A.call(Q,a,E,this)),E++;return C}_DEFAULT_COMPARATOR=(A,g)=>{if(typeof A=="object"||typeof g=="object")throw TypeError("When comparing object types, a custom comparator must be defined in the constructor's options parameter.");return A>g?1:A<g?-1:0};_comparator=this._DEFAULT_COMPARATOR;get comparator(){return this._comparator}*_getIterator(){for(const A of this.elements)yield A}_bubbleUp(A){const g=this.elements[A];for(;A>0;){const I=A-1>>1,Q=this.elements[I];if(this.comparator(Q,g)<=0)break;this.elements[A]=Q,A=I}return this.elements[A]=g,!0}_sinkDown(A,g){const I=this.elements[A];for(;A<g;){let Q=A<<1|1;const C=Q+1;let E=this.elements[Q];if(C<this.elements.length&&this.comparator(E,this.elements[C])>0&&(Q=C,E=this.elements[C]),this.comparator(E,I)>=0)break;this.elements[A]=E,A=Q}return this.elements[A]=I,!0}}(function(B){B[B.VISIT=0]="VISIT",B[B.PROCESS=1]="PROCESS"})(LC||(LC={}));class OI extends aI{constructor(A=[],g){super(A,g)}clone(){return new OI(this,{comparator:this.comparator,toElementFn:this.toElementFn})}filter(A,g){const I=new OI([],{toElementFn:this.toElementFn,comparator:this.comparator});let Q=0;for(const C of this)A.call(g,C,Q,this)&&I.add(C),Q++;return I}map(A,g,I,Q){const C=new OI([],{comparator:g,toElementFn:I});let E=0;for(const a of this)C.add(A.call(Q,a,E,this)),E++;return C}}class WI extends OI{constructor(A=[],g){super(A,g)}clone(){return new WI(this,{comparator:this.comparator,toElementFn:this.toElementFn})}filter(A,g){const I=new WI([],{toElementFn:this.toElementFn,comparator:this.comparator});let Q=0;for(const C of this)A.call(g,C,Q,this)&&I.add(C),Q++;return I}map(A,g,I,Q){const C=new WI([],{comparator:g,toElementFn:I});let E=0;for(const a of this)C.add(A.call(Q,a,E,this)),E++;return C}}new d.Box3,new d.Vector3,new d.Vector3,new d.Vector3,new d.Vector3;const ua=`let D, y = null;
972
+ */class EI extends Zt{constructor(A=[],g){if(super(g),g){const{comparator:I}=g;I&&(this._comparator=I)}this.addMany(A)}_elements=[];get elements(){return this._elements}get size(){return this.elements.length}get leaf(){return this.elements[this.size-1]??void 0}static heapify(A,g){return new EI(A,g)}add(A){return this._elements.push(A),this._bubbleUp(this.elements.length-1)}addMany(A){const g=[];for(const I of A)this._toElementFn?g.push(this.add(this._toElementFn(I))):g.push(this.add(I));return g}poll(){if(this.elements.length===0)return;const A=this.elements[0],g=this.elements.pop();return this.elements.length&&(this.elements[0]=g,this._sinkDown(0,this.elements.length>>1)),A}peek(){return this.elements[0]}isEmpty(){return this.size===0}clear(){this._elements=[]}refill(A){return this._elements=A,this.fix()}has(A){return this.elements.includes(A)}delete(A){const g=this.elements.indexOf(A);return!(g<0)&&(g===0?this.poll():g===this.elements.length-1?this.elements.pop():(this.elements.splice(g,1,this.elements.pop()),this._bubbleUp(g),this._sinkDown(g,this.elements.length>>1)),!0)}dfs(A="PRE"){const g=[],I=Q=>{const C=2*Q+1,a=C+1;Q<this.size&&(A==="IN"?(I(C),g.push(this.elements[Q]),I(a)):A==="PRE"?(g.push(this.elements[Q]),I(C),I(a)):A==="POST"&&(I(C),I(a),g.push(this.elements[Q])))};return I(0),g}clone(){return new EI(this,{comparator:this.comparator,toElementFn:this.toElementFn})}sort(){const A=[],g=new EI(this,{comparator:this.comparator});for(;g.size!==0;){const I=g.poll();I!==void 0&&A.push(I)}return A}fix(){const A=[];for(let g=Math.floor(this.size/2);g>=0;g--)A.push(this._sinkDown(g,this.elements.length>>1));return A}filter(A,g){const I=new EI([],{toElementFn:this.toElementFn,comparator:this.comparator});let Q=0;for(const C of this)A.call(g,C,Q,this)&&I.add(C),Q++;return I}map(A,g,I,Q){const C=new EI([],{comparator:g,toElementFn:I});let a=0;for(const E of this)C.add(A.call(Q,E,a,this)),a++;return C}_DEFAULT_COMPARATOR=(A,g)=>{if(typeof A=="object"||typeof g=="object")throw TypeError("When comparing object types, a custom comparator must be defined in the constructor's options parameter.");return A>g?1:A<g?-1:0};_comparator=this._DEFAULT_COMPARATOR;get comparator(){return this._comparator}*_getIterator(){for(const A of this.elements)yield A}_bubbleUp(A){const g=this.elements[A];for(;A>0;){const I=A-1>>1,Q=this.elements[I];if(this.comparator(Q,g)<=0)break;this.elements[A]=Q,A=I}return this.elements[A]=g,!0}_sinkDown(A,g){const I=this.elements[A];for(;A<g;){let Q=A<<1|1;const C=Q+1;let a=this.elements[Q];if(C<this.elements.length&&this.comparator(a,this.elements[C])>0&&(Q=C,a=this.elements[C]),this.comparator(a,I)>=0)break;this.elements[A]=a,A=Q}return this.elements[A]=I,!0}}(function(B){B[B.VISIT=0]="VISIT",B[B.PROCESS=1]="PROCESS"})(JC||(JC={}));class WI extends EI{constructor(A=[],g){super(A,g)}clone(){return new WI(this,{comparator:this.comparator,toElementFn:this.toElementFn})}filter(A,g){const I=new WI([],{toElementFn:this.toElementFn,comparator:this.comparator});let Q=0;for(const C of this)A.call(g,C,Q,this)&&I.add(C),Q++;return I}map(A,g,I,Q){const C=new WI([],{comparator:g,toElementFn:I});let a=0;for(const E of this)C.add(A.call(Q,E,a,this)),a++;return C}}class PI extends WI{constructor(A=[],g){super(A,g)}clone(){return new PI(this,{comparator:this.comparator,toElementFn:this.toElementFn})}filter(A,g){const I=new PI([],{toElementFn:this.toElementFn,comparator:this.comparator});let Q=0;for(const C of this)A.call(g,C,Q,this)&&I.add(C),Q++;return I}map(A,g,I,Q){const C=new PI([],{comparator:g,toElementFn:I});let a=0;for(const E of this)C.add(A.call(Q,E,a,this)),a++;return C}}new b.Box3,new b.Vector3,new b.Vector3,new b.Vector3,new b.Vector3;const FE=`let D, y = null;
973
973
  function J() {
974
974
  return (y === null || y.byteLength === 0) && (y = new Uint32Array(D.memory.buffer)), y;
975
975
  }
@@ -1190,7 +1190,7 @@ self.onmessage = function(I) {
1190
1190
  }
1191
1191
  };
1192
1192
  //# sourceMappingURL=PointsManager.worker-CsuBSjAh.js.map
1193
- `,qC=typeof self<"u"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",ua],{type:"text/javascript;charset=utf-8"});function zt(B){let A;try{if(A=qC&&(self.URL||self.webkitURL).createObjectURL(qC),!A)throw"";const g=new Worker(A,{type:"module",name:B?.name});return g.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),g}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(ua),{type:"module",name:B?.name})}}new d.Vector3,new d.Vector3;const la=new d.Matrix3;la.set(1,0,0,0,0,1,0,-1,0);const Xt=new d.Matrix4().set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1);function qI(B,A){return(d.DataUtils.toHalfFloat(B)|d.DataUtils.toHalfFloat(A)<<16)>>>0}class fa extends d.Mesh{constructor(A,g,I,Q){const E=Math.min(Math.ceil(4)*1024,Math.pow(1024,2));let a=1*Math.pow(1024,2);a=Math.floor(a/E)*E;const i=new d.WebGL3DRenderTarget(1024,1024,1,{magFilter:d.NearestFilter,minFilter:d.NearestFilter,type:d.FloatType,format:d.RGBAFormat,anisotropy:0,depthBuffer:!1,resolveDepthBuffer:!1});i.texture.type=d.FloatType,i.texture.format=d.RGBAFormat,i.texture.internalFormat="RGBA32F",A.initRenderTarget(i);const t=new d.WebGL3DRenderTarget(1024,1024,1,{magFilter:d.NearestFilter,minFilter:d.NearestFilter,anisotropy:0,type:d.FloatType,format:d.RGBAFormat,depthBuffer:!1,resolveDepthBuffer:!1});t.texture.type=d.FloatType,t.texture.format=d.RGBAFormat,t.texture.internalFormat="RGBA32F",A.initRenderTarget(t);const e=new d.ShaderMaterial({glslVersion:d.GLSL3,uniforms:{textureSize:{value:1024},numSlices:{value:1},covarianceTexture:{value:t.texture},positionColorTexture:{value:i.texture},zUpToYUpMatrix3x3:{value:la},sizeMultiplier:{value:1*(Q||1)},cropRadius:{value:Number.MAX_VALUE},viewportPixelSize:{value:new d.Vector2},k:{value:2},beta_k:{value:2},minSplatPixelSize:{value:0},minOpacity:{value:.01},culling:{value:!1},antialiasingFactor:{value:2},depthBias:{value:0},exposureEV:{value:0},saturation:{value:1},contrast:{value:1},tempTint:{value:new d.Vector2(0,0)}},vertexShader:Fa(),fragmentShader:I||ya(),transparent:!0,side:d.FrontSide,depthTest:!0,depthWrite:!1,blending:d.NormalBlending}),o=new d.InstancedBufferGeometry,s=new Float32Array([-.5,.5,0,.5,.5,0,-.5,-.5,0,.5,-.5,0]);o.setIndex([0,2,1,2,3,1]),o.setAttribute("position",new d.BufferAttribute(s,3));const n=new Uint32Array(a),r=new d.InstancedBufferAttribute(n,1,!1);r.needsUpdate=!0,r.setUsage(d.DynamicDrawUsage),o.setAttribute("order",r),o.instanceCount=0,super(o,e),this.scaleMultiplier=Q,this.matrixAutoUpdate=!1,this.numBatches=0,this.numVisibleBatches=0,this.orderAttribute=r,this.textureSize=1024,this.numTextures=1,this.batchSize=E,this.maxSplats=a,this.numSplatsRendered=0,this.positionColorRenderTarget=i,this.covarianceRenderTarget=t,this.renderer=A,this.sortID=0,this.freeAddresses=new WI;for(let D=0;D<this.maxSplats;D+=E)this.freeAddresses.add(D);this.worker=new zt,this.sortListeners=[],this._pendingOrder=null,this._pendingInstanceCount=0,this._pendingSortIDs=[],this._pendingTextureCopies=[],this._pendingGrowOperations=[],this.worker.onmessage=D=>{try{this._pendingOrder=new Uint32Array(D.data.order)}catch{this._pendingOrder=D.data.order}this._pendingInstanceCount=D.data.count||0,D.data.id!==void 0&&this._pendingSortIDs.push(D.data.id)},this.cameraPosition=new d.Vector3(0,0,0),this.viewProjModel,this.rotateOnAxis(new d.Vector3(1,0,0),.5*Math.PI),this.frustumCulled=!1,this.copyMaterial2D=new d.ShaderMaterial({glslVersion:d.GLSL3,uniforms:{sourceTexture:{}},vertexShader:vC(),fragmentShader:`
1193
+ `,vC=typeof self<"u"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",FE],{type:"text/javascript;charset=utf-8"});function _t(B){let A;try{if(A=vC&&(self.URL||self.webkitURL).createObjectURL(vC),!A)throw"";const g=new Worker(A,{type:"module",name:B?.name});return g.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),g}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(FE),{type:"module",name:B?.name})}}new b.Vector3,new b.Vector3;const yE=new b.Matrix3;yE.set(1,0,0,0,0,1,0,-1,0);const $t=new b.Matrix4().set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1);function qI(B,A){return(b.DataUtils.toHalfFloat(B)|b.DataUtils.toHalfFloat(A)<<16)>>>0}class ME extends b.Mesh{constructor(A,g,I,Q){const a=Math.min(Math.ceil(4)*1024,Math.pow(1024,2));let E=1*Math.pow(1024,2);E=Math.floor(E/a)*a;const i=new b.WebGL3DRenderTarget(1024,1024,1,{magFilter:b.NearestFilter,minFilter:b.NearestFilter,type:b.FloatType,format:b.RGBAFormat,anisotropy:0,depthBuffer:!1,resolveDepthBuffer:!1});i.texture.type=b.FloatType,i.texture.format=b.RGBAFormat,i.texture.internalFormat="RGBA32F",A.initRenderTarget(i);const t=new b.WebGL3DRenderTarget(1024,1024,1,{magFilter:b.NearestFilter,minFilter:b.NearestFilter,anisotropy:0,type:b.FloatType,format:b.RGBAFormat,depthBuffer:!1,resolveDepthBuffer:!1});t.texture.type=b.FloatType,t.texture.format=b.RGBAFormat,t.texture.internalFormat="RGBA32F",A.initRenderTarget(t);const e=new b.ShaderMaterial({glslVersion:b.GLSL3,uniforms:{textureSize:{value:1024},numSlices:{value:1},covarianceTexture:{value:t.texture},positionColorTexture:{value:i.texture},zUpToYUpMatrix3x3:{value:yE},sizeMultiplier:{value:1*(Q||1)},cropRadius:{value:Number.MAX_VALUE},viewportPixelSize:{value:new b.Vector2},k:{value:2},beta_k:{value:2},minSplatPixelSize:{value:0},minOpacity:{value:.01},culling:{value:!1},antialiasingFactor:{value:2},depthBias:{value:0},exposureEV:{value:0},saturation:{value:1},contrast:{value:1},tempTint:{value:new b.Vector2(0,0)}},vertexShader:GE(),fragmentShader:I||RE(),transparent:!0,side:b.FrontSide,depthTest:!0,depthWrite:!1,blending:b.NormalBlending}),o=new b.InstancedBufferGeometry,s=new Float32Array([-.5,.5,0,.5,.5,0,-.5,-.5,0,.5,-.5,0]);o.setIndex([0,2,1,2,3,1]),o.setAttribute("position",new b.BufferAttribute(s,3));const n=new Uint32Array(E),r=new b.InstancedBufferAttribute(n,1,!1);r.needsUpdate=!0,r.setUsage(b.DynamicDrawUsage),o.setAttribute("order",r),o.instanceCount=0,super(o,e),this.scaleMultiplier=Q,this.matrixAutoUpdate=!1,this.numBatches=0,this.numVisibleBatches=0,this.orderAttribute=r,this.textureSize=1024,this.numTextures=1,this.batchSize=a,this.maxSplats=E,this.numSplatsRendered=0,this.positionColorRenderTarget=i,this.covarianceRenderTarget=t,this.renderer=A,this.sortID=0,this.freeAddresses=new PI;for(let D=0;D<this.maxSplats;D+=a)this.freeAddresses.add(D);this.worker=new _t,this.sortListeners=[],this._pendingOrder=null,this._pendingInstanceCount=0,this._pendingSortIDs=[],this._pendingTextureCopies=[],this._pendingGrowOperations=[],this.worker.onmessage=D=>{try{this._pendingOrder=new Uint32Array(D.data.order)}catch{this._pendingOrder=D.data.order}this._pendingInstanceCount=D.data.count||0,D.data.id!==void 0&&this._pendingSortIDs.push(D.data.id)},this.cameraPosition=new b.Vector3(0,0,0),this.viewProjModel,this.rotateOnAxis(new b.Vector3(1,0,0),.5*Math.PI),this.frustumCulled=!1,this.copyMaterial2D=new b.ShaderMaterial({glslVersion:b.GLSL3,uniforms:{sourceTexture:{}},vertexShader:TC(),fragmentShader:`
1194
1194
  precision highp float;
1195
1195
  precision highp int;
1196
1196
  precision highp sampler2D;
@@ -1202,7 +1202,7 @@ in vec2 vUv;
1202
1202
 
1203
1203
  void main() {
1204
1204
  fragColor = texture( sourceTexture, vUv );
1205
- }`,transparent:!1,side:d.FrontSide,depthTest:!1,depthWrite:!1}),this.copyMaterial3D=new d.ShaderMaterial({glslVersion:d.GLSL3,uniforms:{sourceTexture:{},w:{value:0}},vertexShader:vC(),fragmentShader:`
1205
+ }`,transparent:!1,side:b.FrontSide,depthTest:!1,depthWrite:!1}),this.copyMaterial3D=new b.ShaderMaterial({glslVersion:b.GLSL3,uniforms:{sourceTexture:{},w:{value:0}},vertexShader:TC(),fragmentShader:`
1206
1206
  precision highp float;
1207
1207
  precision highp int;
1208
1208
  precision highp sampler3D;
@@ -1215,7 +1215,7 @@ in vec2 vUv;
1215
1215
 
1216
1216
  void main() {
1217
1217
  fragColor = texture( sourceTexture, vec3(vUv, w) );
1218
- }`,transparent:!1,side:d.FrontSide,depthTest:!1,depthWrite:!1}),this.copyCamera=new d.OrthographicCamera(-.5,.5,.5,-.5,.1,10),this.copyCamera.position.z=1,this.copyScene=new d.Scene;const c=new d.PlaneGeometry(1,1);this.copyQuad=new d.Mesh(c,this.copyMaterial2D),this.copyScene.add(this.copyQuad),this.copyScene.matrixAutoUpdate=!1,this.copyQuad.matrixAutoUpdate=!1,this.splatsCPUCuling=!1}setQuality(A){const g=2+2*(A=Math.max(0,Math.min(1,1-A)));this.material.uniforms.k.value=g,this.material.uniforms.beta_k.value=Math.pow(4*Pt(2/g)/g,g/2),this.material.uniforms.minSplatPixelSize.value=5*A,this.material.uniforms.minOpacity.value=.01}setSplatsCPUCulling(A){this.splatsCPUCuling=A,this.material.uniforms.culling.value=A}setDepthBias(A){this.depthBias=A,this.material.uniforms.depthBias.value=this.depthBias}setExposureEV(A){this.material&&this.material.uniforms&&this.material.uniforms.exposureEV!==void 0&&(this.material.uniforms.exposureEV.value=A)}setSaturation(A){this.material&&this.material.uniforms&&this.material.uniforms.saturation!==void 0&&(this.material.uniforms.saturation.value=A)}setContrast(A){this.material&&this.material.uniforms&&this.material.uniforms.contrast!==void 0&&(this.material.uniforms.contrast.value=A)}setTempTint(A,g){this.material&&this.material.uniforms&&this.material.uniforms.tempTint!==void 0&&this.material.uniforms.tempTint.value.set(A,g)}updateShaderParams(A){A.projectionMatrix.elements,this.renderer.getSize(this.material.uniforms.viewportPixelSize.value);const g=this.renderer.getPixelRatio();this.material.uniforms.viewportPixelSize.value.multiplyScalar(g),this.material.uniforms.antialiasingFactor.value=2}dispose(){this.material.dispose(),this.copyMaterial2D.dispose(),this.copyMaterial3D.dispose(),this.covarianceRenderTarget.dispose(),this.positionColorRenderTarget.dispose(),this.worker.terminate(),this.worker=null,this.orderAttribute.array=void 0,this.geometry.dispose()}copyTex2D(A,g,I,Q){this.copyMaterial2D.uniforms.sourceTexture.value=A;const C=this.renderer.autoClear,E=this.renderer.getRenderTarget();this.renderer.autoClear=!1;const a=I[2]-I[0],i=I[3]-I[1];g.viewport.set(I[0],I[1],a,i),this.renderer.setRenderTarget(g,Q),this.renderer.render(this.copyScene,this.copyCamera),this.renderer.setRenderTarget(E),this.renderer.autoClear=C}copyTex3D(A,g,I){this.copyMaterial3D.uniforms.sourceTexture.value=A;const Q=this.renderer.autoClear,C=this.renderer.getRenderTarget();this.renderer.autoClear=!1,this.copyQuad.material=this.copyMaterial3D;for(let E=0;E<I;E++)this.renderer.setRenderTarget(g,E),this.copyMaterial3D.uniforms.w.value=(E+.5)/I,this.renderer.render(this.copyScene,this.copyCamera);this.copyQuad.material=this.copyMaterial2D,this.renderer.setRenderTarget(C),this.renderer.autoClear=Q}setSplatsSizeMultiplier(A){this.material.uniforms.sizeMultiplier.value=A*(this.scaleMultiplier||1)}setSplatsCropRadius(A){this.material.uniforms.cropRadius.value=A}sort(A,g){this.worker&&(A?this.cameraPosition&&A.equals(this.cameraPosition)||(this.cameraPosition.copy(A),g?(this.viewProjModel||(this.viewProjModel=new d.Matrix4),this.viewProjModel.copy(g),this.viewProjModel.multiply(Xt)):this.viewProjModel=void 0,this.worker.postMessage({method:"sort",xyz:[this.cameraPosition.x,this.cameraPosition.z,-this.cameraPosition.y],vpm:this.viewProjModel&&this.splatsCPUCuling?this.viewProjModel.toArray():void 0,id:this.sortID++})):this.worker.postMessage({method:"sort",xyz:[this.cameraPosition.x,this.cameraPosition.z,-this.cameraPosition.y],vpm:this.viewProjModel&&this.splatsCPUCuling?this.viewProjModel.toArray():void 0,id:this.sortID++}))}update(){if(this._pendingOrder||this._pendingTextureCopies.length!==0||this._pendingGrowOperations.length!==0){for(;this._pendingGrowOperations.length>0;){const A=this._pendingGrowOperations.shift(),g=A.oldNumTextures;this.renderer.initRenderTarget(A.newPositionColorRenderTarget),this.copyTex3D(A.oldPositionColorRenderTarget.texture,A.newPositionColorRenderTarget,g),A.oldPositionColorRenderTarget.dispose(),this.positionColorRenderTarget=A.newPositionColorRenderTarget,this.material.uniforms.positionColorTexture.value=this.positionColorRenderTarget.texture,this.renderer.initRenderTarget(A.newCovarianceRenderTarget),this.copyTex3D(A.oldCovarianceRenderTarget.texture,A.newCovarianceRenderTarget,g),A.oldCovarianceRenderTarget.dispose(),this.covarianceRenderTarget=A.newCovarianceRenderTarget,this.material.uniforms.covarianceTexture.value=this.covarianceRenderTarget.texture,this.numTextures=A.newNumTextures,this.material.uniforms.numSlices.value=this.numTextures}for(;this._pendingTextureCopies.length>0;){const A=this._pendingTextureCopies.shift(),g=new d.DataTexture(A.array,A.textureSize,A.srcHeight,d.RGBAFormat,d.FloatType);g.internalFormat="RGBA32F",g.generateMipmaps=!1,g.magFilter=d.NearestFilter,g.minFilter=d.NearestFilter,g.anisotropy=0,g.needsUpdate=!0,this.renderer.initTexture(g);const I=A.kind==="positionColor"?this.positionColorRenderTarget:this.covarianceRenderTarget;this.copyTex2D(g,I,A.scissor,A.destTextureLayer),g.dispose()}if(this._pendingOrder){const A=this._pendingOrder;if(this.numSplatsRendered=A.length,A.length>this.orderAttribute.count){const g=new d.InstancedBufferGeometry,I=new Float32Array([-.5,.5,0,.5,.5,0,-.5,-.5,0,.5,-.5,0]),Q=[0,2,1,2,3,1];g.setIndex(Q),g.setAttribute("position",new d.BufferAttribute(I,3));const C=new Uint32Array(this.maxSplats),E=new d.InstancedBufferAttribute(C,1,!1);E.needsUpdate=!0,E.setUsage(d.DynamicDrawUsage),g.setAttribute("order",E),g.instanceCount=0,this.geometry.dispose(),this.geometry=g,this.orderAttribute=E}this.orderAttribute.clearUpdateRanges(),this.orderAttribute.set(A),this.orderAttribute.addUpdateRange(0,A.length),this.orderAttribute.needsUpdate=!0,this.geometry.instanceCount=this._pendingInstanceCount,this.geometry.needsUpdate=!0;for(const g of this._pendingSortIDs)for(let I=this.sortListeners.length-1;I>=0;I--)this.sortListeners[I](g)&&this.sortListeners.splice(I,1);this._pendingOrder=null,this._pendingInstanceCount=0,this._pendingSortIDs.length=0}}}raycast(A,g){}addSplatsTile(A,g,I,Q){if(!this.worker)return;const C=this,E=A.data?A.data.array:A.array,a=A.data&&A.data.isInterleavedBuffer?A.data.stride:3,i=A.data&&A.data.isInterleavedBuffer?A.offset:0,t=Math.ceil(E.length/(this.batchSize*a)),e=[],o=[];let s=()=>{};const n=new Float32Array(E.length/a*3),r=new Uint32Array(n.buffer,n.byteOffset,n.length);for(let D=0;D<E.length/3;D++)n[3*D]=E[D*a+i],n[3*D+1]=E[D*a+i+1],n[3*D+2]=E[D*a+i+2];s=(D,b,h)=>{const w=h*h,f=Math.pow(C.material.uniforms.cropRadius.value,2),p=new d.Matrix3,R=new d.Vector3,m=new d.Vector3,G=new d.Vector3,k=new d.Vector3,U=n.length/3;for(let S=0;S<U;S++){if(R.set(n[3*S],-n[3*S+2],n[3*S+1]),R.lengthSq()>f||D.distanceSqToPoint(R)>w)continue;Zt(I,Q,S,p);const j=m.copy(R).sub(D.origin).dot(D.direction);if(j<0)continue;k.copy(D.direction).multiplyScalar(j).add(D.origin);const z=m.copy(k).sub(R);_t(p,z,G);const gA=z.dot(G),$=g.getW(S)*Math.exp(-.5*gA);$>.01&&b.push({distance:j,point:k.clone(),opacity:$,type:"splat",object:this})}},t>this.freeAddresses.size&&this.growTextures();for(let D=0;D<t;D++){const b=this.freeAddresses.poll();isNaN(b)&&console.log("insuficient texture size to store splats info"),e.push(b),o.push(3*b);const h=D*this.batchSize;this.addSplatsBatch(h,b,r,g,I,Q)}C.worker.postMessage({method:"addBatches",insertionIndexes:o,positions:E.buffer,offset:i,stride:a,batchSize:C.batchSize},[E.buffer]);let c=!1;return{hide:()=>{c==1&&C.worker&&(C.numVisibleBatches--,c=!1,C.worker.postMessage({method:"hideBatches",insertionIndexes:o,xyz:[C.cameraPosition.x,C.cameraPosition.z,-C.cameraPosition.y],vpm:this.viewProjModel&&this.splatsCPUCuling?this.viewProjModel.toArray():void 0,id:C.sortID++}))},show:D=>{if(c==0&&C.worker){C.numVisibleBatches--,c=!0;const b=C.sortID,h=w=>w>=b&&(D(),!0);C.sortListeners.push(h),C.worker.postMessage({method:"showBatches",insertionIndexes:o,xyz:[C.cameraPosition.x,C.cameraPosition.z,-C.cameraPosition.y],vpm:this.viewProjModel&&this.splatsCPUCuling?this.viewProjModel.toArray():void 0,id:C.sortID++})}},remove:()=>{C.worker&&(s=void 0,C.worker.postMessage({method:"removeBatches",insertionIndexes:o,xyz:[C.cameraPosition.x,C.cameraPosition.z,-C.cameraPosition.y],vpm:this.viewProjModel&&this.splatsCPUCuling?this.viewProjModel.toArray():void 0,id:C.sortID++}),e.forEach(D=>C.freeAddresses.add(D)))},sort:this.sort,raycast:s,isSplatsBatch:!0}}addSplatsBatch(A,g,I,Q,C,E){const a=new Float32Array(4*this.batchSize),i=new Float32Array(4*this.batchSize),t=new ArrayBuffer(4),e=new Uint32Array(t),o=new Float32Array(t),s=h=>(e[0]=h>>>0,o[0]),n=new Float32Array(I.buffer,I.byteOffset,I.length),r=I.length/3;for(let h=g;h<g+this.batchSize;h++){const w=h-g,f=4*w,p=A+w,R=3*(A+w);if(p>=r)break;const m=n[R],G=n[R+1],k=n[R+2],U=Q.getX(p),S=Q.getY(p),j=Q.getZ(p),z=Q.getW(p),gA=qI(C.getX(p),C.getY(p)),$=qI(C.getZ(p),E.getX(p)),X=qI(E.getY(p),E.getZ(p));i[f]=s(gA),i[f+1]=s($),i[f+2]=s(X),i[f+3]=m,a[f]=G,a[f+1]=k;const aA=qI(U,S),wA=qI(j,z);a[f+2]=s(aA),a[f+3]=s(wA)}const c=Math.floor(g/Math.pow(this.textureSize,2)),D=Math.ceil(this.batchSize/this.textureSize),b=[0,g/this.textureSize-c*this.textureSize,this.textureSize];b.push(b[1]+D),this._pendingTextureCopies.push({kind:"positionColor",array:a,textureSize:this.textureSize,srcHeight:D,scissor:b,destTextureLayer:c}),this._pendingTextureCopies.push({kind:"covariance",array:i,textureSize:this.textureSize,srcHeight:D,scissor:b,destTextureLayer:c})}growTextures(){for(let Q=this.maxSplats;Q<this.maxSplats+this.textureSize*this.textureSize;Q+=this.batchSize)this.freeAddresses.add(Q);this.maxSplats+=this.textureSize*this.textureSize;const A=this.numTextures+1,g=new d.WebGL3DRenderTarget(this.textureSize,this.textureSize,A,{magFilter:d.NearestFilter,minFilter:d.NearestFilter,type:d.FloatType,format:d.RGBAFormat,anisotropy:0,depthBuffer:!1,resolveDepthBuffer:!1});g.texture.type=d.FloatType,g.texture.internalFormat="RGBA32F",g.texture.format=d.RGBAFormat;const I=new d.WebGL3DRenderTarget(this.textureSize,this.textureSize,A,{magFilter:d.NearestFilter,minFilter:d.NearestFilter,anisotropy:0,type:d.FloatType,format:d.RGBAFormat,depthBuffer:!1,resolveDepthBuffer:!1});I.texture.type=d.FloatType,I.texture.internalFormat="RGBA32F",I.texture.format=d.RGBAFormat,this._pendingGrowOperations.push({newPositionColorRenderTarget:g,newCovarianceRenderTarget:I,oldPositionColorRenderTarget:this.positionColorRenderTarget,oldCovarianceRenderTarget:this.covarianceRenderTarget,oldNumTextures:this.numTextures,newNumTextures:A})}}function Fa(){return`
1218
+ }`,transparent:!1,side:b.FrontSide,depthTest:!1,depthWrite:!1}),this.copyCamera=new b.OrthographicCamera(-.5,.5,.5,-.5,.1,10),this.copyCamera.position.z=1,this.copyScene=new b.Scene;const c=new b.PlaneGeometry(1,1);this.copyQuad=new b.Mesh(c,this.copyMaterial2D),this.copyScene.add(this.copyQuad),this.copyScene.matrixAutoUpdate=!1,this.copyQuad.matrixAutoUpdate=!1,this.splatsCPUCuling=!1}setQuality(A){const g=2+2*(A=Math.max(0,Math.min(1,1-A)));this.material.uniforms.k.value=g,this.material.uniforms.beta_k.value=Math.pow(4*Xt(2/g)/g,g/2),this.material.uniforms.minSplatPixelSize.value=5*A,this.material.uniforms.minOpacity.value=.01}setSplatsCPUCulling(A){this.splatsCPUCuling=A,this.material.uniforms.culling.value=A}setDepthBias(A){this.depthBias=A,this.material.uniforms.depthBias.value=this.depthBias}setExposureEV(A){this.material&&this.material.uniforms&&this.material.uniforms.exposureEV!==void 0&&(this.material.uniforms.exposureEV.value=A)}setSaturation(A){this.material&&this.material.uniforms&&this.material.uniforms.saturation!==void 0&&(this.material.uniforms.saturation.value=A)}setContrast(A){this.material&&this.material.uniforms&&this.material.uniforms.contrast!==void 0&&(this.material.uniforms.contrast.value=A)}setTempTint(A,g){this.material&&this.material.uniforms&&this.material.uniforms.tempTint!==void 0&&this.material.uniforms.tempTint.value.set(A,g)}updateShaderParams(A){A.projectionMatrix.elements,this.renderer.getSize(this.material.uniforms.viewportPixelSize.value);const g=this.renderer.getPixelRatio();this.material.uniforms.viewportPixelSize.value.multiplyScalar(g),this.material.uniforms.antialiasingFactor.value=2}dispose(){this.material.dispose(),this.copyMaterial2D.dispose(),this.copyMaterial3D.dispose(),this.covarianceRenderTarget.dispose(),this.positionColorRenderTarget.dispose(),this.worker.terminate(),this.worker=null,this.orderAttribute.array=void 0,this.geometry.dispose()}copyTex2D(A,g,I,Q){this.copyMaterial2D.uniforms.sourceTexture.value=A;const C=this.renderer.autoClear,a=this.renderer.getRenderTarget();this.renderer.autoClear=!1;const E=I[2]-I[0],i=I[3]-I[1];g.viewport.set(I[0],I[1],E,i),this.renderer.setRenderTarget(g,Q),this.renderer.render(this.copyScene,this.copyCamera),this.renderer.setRenderTarget(a),this.renderer.autoClear=C}copyTex3D(A,g,I){this.copyMaterial3D.uniforms.sourceTexture.value=A;const Q=this.renderer.autoClear,C=this.renderer.getRenderTarget();this.renderer.autoClear=!1,this.copyQuad.material=this.copyMaterial3D;for(let a=0;a<I;a++)this.renderer.setRenderTarget(g,a),this.copyMaterial3D.uniforms.w.value=(a+.5)/I,this.renderer.render(this.copyScene,this.copyCamera);this.copyQuad.material=this.copyMaterial2D,this.renderer.setRenderTarget(C),this.renderer.autoClear=Q}setSplatsSizeMultiplier(A){this.material.uniforms.sizeMultiplier.value=A*(this.scaleMultiplier||1)}setSplatsCropRadius(A){this.material.uniforms.cropRadius.value=A}sort(A,g){this.worker&&(A?this.cameraPosition&&A.equals(this.cameraPosition)||(this.cameraPosition.copy(A),g?(this.viewProjModel||(this.viewProjModel=new b.Matrix4),this.viewProjModel.copy(g),this.viewProjModel.multiply($t)):this.viewProjModel=void 0,this.worker.postMessage({method:"sort",xyz:[this.cameraPosition.x,this.cameraPosition.z,-this.cameraPosition.y],vpm:this.viewProjModel&&this.splatsCPUCuling?this.viewProjModel.toArray():void 0,id:this.sortID++})):this.worker.postMessage({method:"sort",xyz:[this.cameraPosition.x,this.cameraPosition.z,-this.cameraPosition.y],vpm:this.viewProjModel&&this.splatsCPUCuling?this.viewProjModel.toArray():void 0,id:this.sortID++}))}update(){if(this._pendingOrder||this._pendingTextureCopies.length!==0||this._pendingGrowOperations.length!==0){for(;this._pendingGrowOperations.length>0;){const A=this._pendingGrowOperations.shift(),g=A.oldNumTextures;this.renderer.initRenderTarget(A.newPositionColorRenderTarget),this.copyTex3D(A.oldPositionColorRenderTarget.texture,A.newPositionColorRenderTarget,g),A.oldPositionColorRenderTarget.dispose(),this.positionColorRenderTarget=A.newPositionColorRenderTarget,this.material.uniforms.positionColorTexture.value=this.positionColorRenderTarget.texture,this.renderer.initRenderTarget(A.newCovarianceRenderTarget),this.copyTex3D(A.oldCovarianceRenderTarget.texture,A.newCovarianceRenderTarget,g),A.oldCovarianceRenderTarget.dispose(),this.covarianceRenderTarget=A.newCovarianceRenderTarget,this.material.uniforms.covarianceTexture.value=this.covarianceRenderTarget.texture,this.numTextures=A.newNumTextures,this.material.uniforms.numSlices.value=this.numTextures}for(;this._pendingTextureCopies.length>0;){const A=this._pendingTextureCopies.shift(),g=new b.DataTexture(A.array,A.textureSize,A.srcHeight,b.RGBAFormat,b.FloatType);g.internalFormat="RGBA32F",g.generateMipmaps=!1,g.magFilter=b.NearestFilter,g.minFilter=b.NearestFilter,g.anisotropy=0,g.needsUpdate=!0,this.renderer.initTexture(g);const I=A.kind==="positionColor"?this.positionColorRenderTarget:this.covarianceRenderTarget;this.copyTex2D(g,I,A.scissor,A.destTextureLayer),g.dispose()}if(this._pendingOrder){const A=this._pendingOrder;if(this.numSplatsRendered=A.length,A.length>this.orderAttribute.count){const g=new b.InstancedBufferGeometry,I=new Float32Array([-.5,.5,0,.5,.5,0,-.5,-.5,0,.5,-.5,0]),Q=[0,2,1,2,3,1];g.setIndex(Q),g.setAttribute("position",new b.BufferAttribute(I,3));const C=new Uint32Array(this.maxSplats),a=new b.InstancedBufferAttribute(C,1,!1);a.needsUpdate=!0,a.setUsage(b.DynamicDrawUsage),g.setAttribute("order",a),g.instanceCount=0,this.geometry.dispose(),this.geometry=g,this.orderAttribute=a}this.orderAttribute.clearUpdateRanges(),this.orderAttribute.set(A),this.orderAttribute.addUpdateRange(0,A.length),this.orderAttribute.needsUpdate=!0,this.geometry.instanceCount=this._pendingInstanceCount,this.geometry.needsUpdate=!0;for(const g of this._pendingSortIDs)for(let I=this.sortListeners.length-1;I>=0;I--)this.sortListeners[I](g)&&this.sortListeners.splice(I,1);this._pendingOrder=null,this._pendingInstanceCount=0,this._pendingSortIDs.length=0}}}raycast(A,g){}addSplatsTile(A,g,I,Q){if(!this.worker)return;const C=this,a=A.data?A.data.array:A.array,E=A.data&&A.data.isInterleavedBuffer?A.data.stride:3,i=A.data&&A.data.isInterleavedBuffer?A.offset:0,t=Math.ceil(a.length/(this.batchSize*E)),e=[],o=[];let s=()=>{};const n=new Float32Array(a.length/E*3),r=new Uint32Array(n.buffer,n.byteOffset,n.length);for(let D=0;D<a.length/3;D++)n[3*D]=a[D*E+i],n[3*D+1]=a[D*E+i+1],n[3*D+2]=a[D*E+i+2];s=(D,w,h)=>{const d=h*h,f=Math.pow(C.material.uniforms.cropRadius.value,2),p=new b.Matrix3,R=new b.Vector3,k=new b.Vector3,G=new b.Vector3,N=new b.Vector3,S=n.length/3;for(let U=0;U<S;U++){if(R.set(n[3*U],-n[3*U+2],n[3*U+1]),R.lengthSq()>f||D.distanceSqToPoint(R)>d)continue;Ao(I,Q,U,p);const j=k.copy(R).sub(D.origin).dot(D.direction);if(j<0)continue;N.copy(D.direction).multiplyScalar(j).add(D.origin);const z=k.copy(N).sub(R);go(p,z,G);const AA=z.dot(G),_=g.getW(U)*Math.exp(-.5*AA);_>.01&&w.push({distance:j,point:N.clone(),opacity:_,type:"splat",object:this})}},t>this.freeAddresses.size&&this.growTextures();for(let D=0;D<t;D++){const w=this.freeAddresses.poll();isNaN(w)&&console.log("insuficient texture size to store splats info"),e.push(w),o.push(3*w);const h=D*this.batchSize;this.addSplatsBatch(h,w,r,g,I,Q)}C.worker.postMessage({method:"addBatches",insertionIndexes:o,positions:a.buffer,offset:i,stride:E,batchSize:C.batchSize},[a.buffer]);let c=!1;return{hide:()=>{c==1&&C.worker&&(C.numVisibleBatches--,c=!1,C.worker.postMessage({method:"hideBatches",insertionIndexes:o,xyz:[C.cameraPosition.x,C.cameraPosition.z,-C.cameraPosition.y],vpm:this.viewProjModel&&this.splatsCPUCuling?this.viewProjModel.toArray():void 0,id:C.sortID++}))},show:D=>{if(c==0&&C.worker){C.numVisibleBatches--,c=!0;const w=C.sortID,h=d=>d>=w&&(D(),!0);C.sortListeners.push(h),C.worker.postMessage({method:"showBatches",insertionIndexes:o,xyz:[C.cameraPosition.x,C.cameraPosition.z,-C.cameraPosition.y],vpm:this.viewProjModel&&this.splatsCPUCuling?this.viewProjModel.toArray():void 0,id:C.sortID++})}},remove:()=>{C.worker&&(s=void 0,C.worker.postMessage({method:"removeBatches",insertionIndexes:o,xyz:[C.cameraPosition.x,C.cameraPosition.z,-C.cameraPosition.y],vpm:this.viewProjModel&&this.splatsCPUCuling?this.viewProjModel.toArray():void 0,id:C.sortID++}),e.forEach(D=>C.freeAddresses.add(D)))},sort:this.sort,raycast:s,isSplatsBatch:!0}}addSplatsBatch(A,g,I,Q,C,a){const E=new Float32Array(4*this.batchSize),i=new Float32Array(4*this.batchSize),t=new ArrayBuffer(4),e=new Uint32Array(t),o=new Float32Array(t),s=h=>(e[0]=h>>>0,o[0]),n=new Float32Array(I.buffer,I.byteOffset,I.length),r=I.length/3;for(let h=g;h<g+this.batchSize;h++){const d=h-g,f=4*d,p=A+d,R=3*(A+d);if(p>=r)break;const k=n[R],G=n[R+1],N=n[R+2],S=Q.getX(p),U=Q.getY(p),j=Q.getZ(p),z=Q.getW(p),AA=qI(C.getX(p),C.getY(p)),_=qI(C.getZ(p),a.getX(p)),X=qI(a.getY(p),a.getZ(p));i[f]=s(AA),i[f+1]=s(_),i[f+2]=s(X),i[f+3]=k,E[f]=G,E[f+1]=N;const EA=qI(S,U),cA=qI(j,z);E[f+2]=s(EA),E[f+3]=s(cA)}const c=Math.floor(g/Math.pow(this.textureSize,2)),D=Math.ceil(this.batchSize/this.textureSize),w=[0,g/this.textureSize-c*this.textureSize,this.textureSize];w.push(w[1]+D),this._pendingTextureCopies.push({kind:"positionColor",array:E,textureSize:this.textureSize,srcHeight:D,scissor:w,destTextureLayer:c}),this._pendingTextureCopies.push({kind:"covariance",array:i,textureSize:this.textureSize,srcHeight:D,scissor:w,destTextureLayer:c})}growTextures(){for(let Q=this.maxSplats;Q<this.maxSplats+this.textureSize*this.textureSize;Q+=this.batchSize)this.freeAddresses.add(Q);this.maxSplats+=this.textureSize*this.textureSize;const A=this.numTextures+1,g=new b.WebGL3DRenderTarget(this.textureSize,this.textureSize,A,{magFilter:b.NearestFilter,minFilter:b.NearestFilter,type:b.FloatType,format:b.RGBAFormat,anisotropy:0,depthBuffer:!1,resolveDepthBuffer:!1});g.texture.type=b.FloatType,g.texture.internalFormat="RGBA32F",g.texture.format=b.RGBAFormat;const I=new b.WebGL3DRenderTarget(this.textureSize,this.textureSize,A,{magFilter:b.NearestFilter,minFilter:b.NearestFilter,anisotropy:0,type:b.FloatType,format:b.RGBAFormat,depthBuffer:!1,resolveDepthBuffer:!1});I.texture.type=b.FloatType,I.texture.internalFormat="RGBA32F",I.texture.format=b.RGBAFormat,this._pendingGrowOperations.push({newPositionColorRenderTarget:g,newCovarianceRenderTarget:I,oldPositionColorRenderTarget:this.positionColorRenderTarget,oldCovarianceRenderTarget:this.covarianceRenderTarget,oldNumTextures:this.numTextures,newNumTextures:A})}}function GE(){return`
1219
1219
  precision highp float;
1220
1220
  precision highp int;
1221
1221
  precision highp sampler3D;
@@ -1456,7 +1456,7 @@ void main() {
1456
1456
  // Contrast (linear, pivot around 0.5)
1457
1457
  adjustedColor = (adjustedColor - 0.5) * contrast + 0.5;
1458
1458
  }
1459
- `}function ya(){return`
1459
+ `}function RE(){return`
1460
1460
  precision highp float;
1461
1461
  precision highp int;
1462
1462
 
@@ -1489,7 +1489,7 @@ void main() {
1489
1489
  fragColor = vec4(display, alpha);
1490
1490
  gl_FragDepth = splatDepthWithBias;
1491
1491
 
1492
- }`}function vC(){return`
1492
+ }`}function TC(){return`
1493
1493
 
1494
1494
  precision highp float;
1495
1495
  precision highp int;
@@ -1499,5 +1499,5 @@ out vec2 vUv;
1499
1499
  void main() {
1500
1500
  vUv = uv;
1501
1501
  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
1502
- }`}function Zt(B,A,g,I){const Q=B.getX(g),C=B.getY(g),E=B.getZ(g),a=A.getX(g),i=A.getY(g),t=A.getZ(g);I.set(Q,C,E,C,a,i,E,i,t)}function _t(B,A,g){const I=B.determinant();if(Math.abs(I)<1e-12)return void g.set(0,0,0);const Q=1/I,C=new d.Matrix3().copy(B);C.elements[0]=A.x,C.elements[3]=A.y,C.elements[6]=A.z;const E=new d.Matrix3().copy(B);E.elements[1]=A.x,E.elements[4]=A.y,E.elements[7]=A.z;const a=new d.Matrix3().copy(B);a.elements[2]=A.x,a.elements[5]=A.y,a.elements[8]=A.z,g.set(C.determinant()*Q,E.determinant()*Q,a.determinant()*Q)}var MA;const fg=new W.Sphere(new W.Vector3(0,0,0),1),Ug=new cg([0,0,0,1,0,0,0,1,0,0,0,1]);new W.Box3;const Wg=new W.Vector3(0,0,0),lI=new W.Vector3(0,0,0),$t=new W.Vector3(0,1,0),iB=new W.Ray,tB=new W.Matrix4;new W.Matrix4,new W.Frustum;const oB=new W.Vector3,nB=[],TC=new W.Quaternion,Rg={};function Ma(){var B=[];for(let A in Rg)Rg.hasOwnProperty(A)&&Rg[A]>0&&B.push(A);return B}class JQ extends W.Object3D{constructor(A){super();const g=this;if(g.splatsMesh=A.splatsMesh,g.oldUltraMeshSplats=A.oldUltraMeshSplats,g.iosCompatibility=A.iosCompatibility,g.splatsQuality=A.splatsQuality!=null?A.splatsQuality:.75,g.splatsCPUCulling=A.splatsCPUCulling!=null&&A.splatsCPUCulling,this.contentURL=[],A.domWidth&&A.domHeight?this.rendererSize=new W.Vector2(A.domWidth,A.domHeight):this.rendererSize=new W.Vector2(1e3,1e3),this.setClipShape(A.clipShape),this.loadingStrategy=A.loadingStrategy?A.loadingStrategy.toUpperCase():"INCREMENTAL",this.distanceBias=Math.max(1e-4,A.distanceBias?A.distanceBias:1),this.proxy=A.proxy,this.drawBoundingVolume=!!A.drawBoundingVolume&&A.drawBoundingVolume,this.displayErrors=A.displayErrors,this.displayCopyright=A.displayCopyright,A.queryParams&&(this.queryParams={...A.queryParams}),this.uuid=jE(),A.tileLoader)this.tileLoader=A.tileLoader;else{const E={};E.meshCallback=A.meshCallback?A.meshCallback:(i,t)=>{i.material.wireframe=!1,i.material.side=W.DoubleSide},E.pointsCallback=A.pointsCallback?A.pointsCallback:(i,t)=>{i.material.size=Math.pow(t,.33),i.material.sizeAttenuation=!0},E.proxy=this.proxy,E.renderer=A.renderer,E.dracoLoader=A.dracoLoader,E.ktx2Loader=A.ktx2Loader,g.tileLoader=new KE(E);const a=this.update;this.update=i=>{a.call(g,i),g.tileLoader.update()}}this.displayCopyright=!!A.displayCopyright,this.geometricErrorMultiplier=A.geometricErrorMultiplier?A.geometricErrorMultiplier:1,this.splatsCropRadius=Number.MAX_VALUE,this.splatsSizeMultiplier=1,this.splatsExposureEV=A&&A.splatsExposureEV!==void 0?A.splatsExposureEV:0,this.splatsSaturation=A&&A.splatsSaturation!==void 0?A.splatsSaturation:1,this.splatsContrast=A&&A.splatsContrast!==void 0?A.splatsContrast:1;const I=A&&A.splatsTempTint!==void 0?A.splatsTempTint:[0,0];if(this.splatsTempTint=Array.isArray(I)?[Number(I[0]||0),Number(I[1]||0)]:[Number(I.temp||0),Number(I.tint||0)],this.renderer=A.renderer,this.meshCallback=A.meshCallback,this.loadOutsideView=A.loadOutsideView,this.cameraOnLoad=A.cameraOnLoad,this.parentTile=A.parentTile,this.occlusionCullingService=A.occlusionCullingService,this.static=A.static,this.occlusionCullingService&&(this.color=new W.Color,this.color.setHex(16777215*Math.random()),this.colorID=W.MathUtils.clamp(255*g.color.r,0,255)<<16^W.MathUtils.clamp(255*g.color.g,0,255)<<8^W.MathUtils.clamp(255*g.color.b,0,255)),this.static&&(this.matrixAutoUpdate=!1,this.matrixWorldAutoUpdate=!1),this.childrenTiles=[],this.meshContent=[],this.tileContent,this.refine,this.rootPath,this.geometricError,this.boundingVolume,this.json,this.materialVisibility=!1,this.level=A.level?A.level:0,this.hasMeshContent=0,this.hasUnloadedJSONContent=0,this.centerModel=A.centerModel,this.abortController=new AbortController,this.onLoadCallback=A.onLoadCallback,A.json)g._setup(A);else if(A.url){var Q=A.url;if(g.queryParams){var C="";for(let E in g.queryParams)g.queryParams.hasOwnProperty(E)&&(C+="&"+E+"="+g.queryParams[E]);Q.includes("?")?Q+=C:Q+="?"+C.substring(1)}(g.proxy?()=>fetch(g.proxy,{method:"POST",body:Q,signal:g.abortController.signal}):()=>fetch(Q,{signal:g.abortController.signal}))().then(E=>{if(!E.ok)throw new Error(`couldn't load "${A.url}". Request failed with status ${E.status} : ${E.statusText}`);E.json().then(a=>GQ(a,Q)).then(a=>{g._setup({rootPath:eI.dirname(A.url),json:a})})}).catch(E=>{g.displayErrors&&OC(E)})}}setClipShape(A){if(A instanceof cg||A instanceof W.Sphere)this.clipShape=A;else if(A instanceof W.Box3){const g=new W.Vector3,I=new W.Vector3;A.getCenter(g),A.getSize(I).multiplyScalar(.5),this.clipShape=new cg([g.x,g.y,g.z,I.x,0,0,0,I.y,0,0,0,I.z])}else A=void 0;this.childrenTiles&&this.childrenTiles.forEach(g=>{g._setClipShape(this.clipShape)})}_setClipShape(A){this.clipShape=A,this.childrenTiles&&this.childrenTiles.forEach(g=>{g._setClipShape(this.clipShape)})}setSplatsSizeMultiplier(A){this.splatsSizeMultiplier=A,this.splatsMesh&&this.splatsMesh.setSplatsSizeMultiplier(this.splatsSizeMultiplier)}setSplatsCropRadius(A){this.splatsCropRadius=A,this.splatsMesh&&this.splatsMesh.setSplatsCropRadius(this.splatsCropRadius)}setSplatsDepthBias(A){this.splatsDepthBias=A,this.splatsMesh&&this.splatsMesh.setDepthBias(this.splatsDepthBias)}setSplatsCPUCulling(A){this.splatsCPUCulling=A,this.splatsMesh&&this.splatsMesh.setSplatsCPUCulling(A)}setSplatsQuality(A){this.splatsQuality=A,this.splatsMesh&&this.splatsMesh.setQuality(A)}setSplatsExposureEV(A){this.splatsExposureEV=A,this.splatsMesh&&typeof this.splatsMesh.setExposureEV=="function"&&this.splatsMesh.setExposureEV(A)}setSplatsSaturation(A){this.splatsSaturation=A,this.splatsMesh&&typeof this.splatsMesh.setSaturation=="function"&&this.splatsMesh.setSaturation(A)}setSplatsContrast(A){this.splatsContrast=A,this.splatsMesh&&typeof this.splatsMesh.setContrast=="function"&&this.splatsMesh.setContrast(A)}setSplatsTempTint(A,g){this.splatsTempTint=[A,g],this.splatsMesh&&typeof this.splatsMesh.setTempTint=="function"&&this.splatsMesh.setTempTint(A,g)}updateMatrices(){this.updateMatrix(),this.splatsMesh&&this.splatsMesh.updateMatrix(),this.static&&(this.traverse(A=>{A.isObject3D&&(A.matrixWorldAutoUpdate=!0)}),this.splatsMesh&&(this.splatsMesh.matrixWorldAutoUpdate=!0)),this.updateMatrixWorld(!0),this.static&&(this.traverse(A=>{A.isObject3D&&(A.matrixWorldAutoUpdate=!1)}),this.splatsMesh&&(this.splatsMesh.matrixWorldAutoUpdate=!1))}setCanvasSize(A,g){this.rendererSize.set(A,g)}async _setup(A){const g=this;if(A.json.extensionsRequired&&(A.json.extensionsRequired.includes("JDULTRA_gaussian_splats")||A.json.extensionsRequired.includes("JDULTRA_gaussian_splats_V2"))&&(g.oldUltraMeshSplats=!0),A.json.root?(g.json=A.json.root,g.json.refine||(g.json.refine=A.json.refine),g.json.geometricError||(g.json.geometricError=A.json.geometricError),g.json.transform||(g.json.transform=A.json.transform),g.json.boundingVolume||(g.json.boundingVolume=A.json.boundingVolume)):g.json=A.json,g.json.children||(g.json.getChildren?g.json.children=await g.json.getChildren():g.json.children=[]),g.rootPath=A.json.rootPath?A.json.rootPath:A.rootPath,g.json.refine?g.refine=g.json.refine:g.refine=A.parentRefine,g.json.geometricError?g.geometricError=g.json.geometricError:g.geometricError=A.parentGeometricError,g.json.transform){let Q=new W.Matrix4;Q.elements=g.json.transform,g.applyMatrix4(Q)}if(g.json.boundingVolume)if(g.json.boundingVolume.box)g.boundingVolume=new cg(g.json.boundingVolume.box);else if(g.json.boundingVolume.region){const Q=g.json.boundingVolume.region;g._transformWGS84ToCartesian(Q[0],Q[1],Q[4],Wg),g._transformWGS84ToCartesian(Q[2],Q[3],Q[5],lI),Wg.lerp(lI,.5),g.boundingVolume=new W.Sphere(new W.Vector3(Wg.x,Wg.y,Wg.z),Wg.distanceTo(lI))}else if(g.json.boundingVolume.sphere){const Q=g.json.boundingVolume.sphere;g.boundingVolume=new W.Sphere(new W.Vector3(Q[0],Q[1],Q[2]),Q[3])}else g.boundingVolume=A.parentBoundingVolume;else g.boundingVolume=A.parentBoundingVolume;function I(Q){Q.uri&&Q.uri.includes("json")||Q.url&&Q.url.includes("json")?g.hasUnloadedJSONContent++:g.hasMeshContent++}if(g.json.content?(I(g.json.content),g.hasMeshContent==0&&(g.level=Math.max(0,g.parentTile?g.parentTile.level+.01:0)),g._load()):g.json.contents&&(g.json.contents.forEach(Q=>I(Q)),g.hasMeshContent==0&&(g.level=Math.max(0,g.parentTile?g.parentTile.level+.01:0))),g.centerModel&&(lI.copy(g.boundingVolume.center),this.json.boundingVolume.region&&(this._transformWGS84ToCartesian(.5*(this.json.boundingVolume.region[0]+this.json.boundingVolume.region[2]),.5*(this.json.boundingVolume.region[1]+this.json.boundingVolume.region[3]),.5*(this.json.boundingVolume.region[4]+this.json.boundingVolume.region[5]),Wg),TC.setFromUnitVectors(Wg.normalize(),$t.normalize()),g.applyQuaternion(TC)),lI.applyMatrix4(g.matrix),g.position.sub(lI),g.updateMatrices()),g.onLoadCallback&&g.onLoadCallback(g),g.isSetup=!0,g.level>0&&g.drawBoundingVolume)if(g.bbox&&console.log("double setup"),this.boundingVolume.aabb){let Q=this.boundingVolume.aabb.clone();Q.applyMatrix4(this.matrixWorld),g.bbox=new W.Box3Helper(Q,new W.Color(Math.random(),Math.random(),Math.random())),g.add(g.bbox),g.bbox.material.visible=!1}else g.boundingVolume instanceof cg&&(g.bbox=g.boundingVolume.helper(),g.add(g.bbox),g.bbox.material.visible=!1)}_assembleURL(A,g){A.endsWith("/")||(A+="/");try{const I=new URL(A);let Q=I.pathname.split("/").filter(E=>E!==""),C=g.split("/").filter(E=>E!=="");for(let E=1;E<=Q.length&&!(E>=C.length);E++)if(Q.slice(Q.length-E,Q.length).join("/")===C.slice(0,E).join("/")){for(let i=0;i<E;i++)Q.pop();break}for(;C.length>0&&C[0]==="..";)Q.pop(),C.shift();return`${I.protocol}//${I.host}/${[...Q,...C].join("/")}`}catch{return A.endsWith("/")||g.startsWith("/")?A+g:A+"/"+g}}_extractQueryParams(A,g){try{const I=new URL(A);for(let[Q,C]of I.searchParams)g[Q]=C;return I.search="",I.toString()}catch{return A}}async _load(A=!0,g=!0){var I=this;if(!I.deleted||!g){if(I.json.content)await Q(I.json.content,null,A,g);else if(I.json.contents){let C=I.json.contents.map((E,a)=>Q(E,a,A,g));Promise.all(C)}}async function Q(C,E,a,i){let t;C.uri?t=C.uri:C.url&&(t=C.url);const e=/^(?:http|https|ftp|tcp|udp):\/\/\S+/;if(e.test(I.rootPath)?e.test(t)||(t=I._assembleURL(I.rootPath,t)):t=I.rootPath+eI.sep+t,t.startsWith("/local-tiles")||(t=I._extractQueryParams(t,I.queryParams)),I.queryParams){var o="";for(let s in I.queryParams)I.queryParams.hasOwnProperty(s)&&(o+="&"+s+"="+I.queryParams[s]);t.includes("?")?t+=o:t+="?"+o.substring(1)}if(t)if(I.contentURL.push(t),i&&(t.includes(".b3dm")||t.includes(".glb")||t.includes(".gltf")))try{I.tileLoader.get(I.abortController,I.uuid,t,s=>{if(!I.deleted){if(s.asset&&s.asset.copyright&&(s.asset.copyright.split(";").forEach(n=>{Rg[n]?Rg[n]++:Rg[n]=1}),I.displayCopyright&&iQ()),s.isSplatsData){if(!I.splatsMesh){if(I.splatsMesh=new fa(I.tileLoader.renderer,void 0,void 0,I.oldUltraMeshSplats?.25:1),I.splatsMesh.setQuality(I.splatsQuality),I.splatsMesh.setSplatsCPUCulling(I.splatsCPUCulling),I.splatsMesh.setSplatsCropRadius(I.splatsCropRadius),I.splatsMesh.setSplatsSizeMultiplier(I.splatsSizeMultiplier),I.splatsExposureEV!==void 0&&typeof I.splatsMesh.setExposureEV=="function"&&I.splatsMesh.setExposureEV(I.splatsExposureEV),I.splatsSaturation!==void 0&&typeof I.splatsMesh.setSaturation=="function"&&I.splatsMesh.setSaturation(I.splatsSaturation),I.splatsContrast!==void 0&&typeof I.splatsMesh.setContrast=="function"&&I.splatsMesh.setContrast(I.splatsContrast),I.splatsTempTint!==void 0&&typeof I.splatsMesh.setTempTint=="function"){const n=I.splatsTempTint||[0,0];I.splatsMesh.setTempTint(n[0],n[1])}I.static&&(I.splatsMesh.matrixAutoUpdate=!1,I.splatsMesh.matrixWorldAutoUpdate=!1),I.add(I.splatsMesh),I.updateMatrices()}s=I.splatsMesh.addSplatsTile(s.positions,s.colors,s.cov0,s.cov1)}return s.isSplatsBatch||(s.traverse(n=>{if((n.isMesh||n.isPoints)&&n.layers.disable(0),n.isMesh&&I.occlusionCullingService){const r=n.geometry.attributes.position,c=[];for(let D=0;D<r.count;D++)c.push(I.color.r,I.color.g,I.color.b);n.geometry.setAttribute("color",new W.Float32BufferAttribute(c,3))}}),I.add(s),I.updateMatrices()),I.meshContent.push(s),s}},I.cameraOnLoad?()=>I.loadingStrategy=="IMMEDIATE"?I._calculateDistanceToCamera(I.cameraOnLoad):I.loadingStrategy=="INCREMENTAL"?I.parentTile?I.parentTile._calculateDistanceToCamera(I.cameraOnLoad)/Math.max(1,I.parentTile.level):I._calculateDistanceToCamera(I.cameraOnLoad)/Math.max(1,I.level):I.loadingStrategy=="PERLEVEL"?I.parentTile?I.level+I.parentTile._calculateDistanceToCamera(I.cameraOnLoad):I.level+I._calculateDistanceToCamera(I.cameraOnLoad):0:()=>0,()=>I._getSiblings(),I.level,I.loadingStrategy,!I.json.boundingVolume.region,!!I.json.boundingVolume.region,I.geometricError,I.oldUltraMeshSplats)}catch(s){I.displayErrors&&OC(s)}else a&&t.includes(".json")&&(I.jsonRequested=t,I.tileLoader.get(I.abortController,I.uuid,t,async s=>{I.jsonReceived=!0,s.rootPath=eI.dirname(t),I.json.children.push(s),E==null?delete I.json.content:I.json.contents.splice(E,1),I.hasUnloadedJSONContent--}))}}dispose(){const A=this;A.meshContent.forEach(g=>{g&&g.asset&&g.asset.copyright&&(g.asset.copyright.split(";").forEach(I=>{Rg[I]&&Rg[I]--}),A.displayCopyright&&iQ())}),A.childrenTiles.forEach(g=>g.dispose()),A.deleted=!0,A.splatsMesh&&(A.meshContent.forEach(g=>g.hide()),A.parentTile||(A.splatsMesh.dispose(),A.splatsMesh=void 0)),A.contentURL&&(A.contentURL.forEach(g=>{A.tileLoader.invalidate(g,A.uuid)}),A.contentURL=[]),A.abortController&&!A.jsonRequested&&A.abortController.abort("tile not needed"),this.parent=null,A.meshContent=[],A.bbox&&A.bbox.dispose(),this.dispatchEvent({type:"removed"})}_disposeMeshContent(){const A=this;if(!A.deleted){A.deleted=!0,A.abortController&&(A.abortController.abort("tile not needed"),A.abortController=new AbortController);for(let g=A.meshContent.length-1;g>=0;g--){const I=A.meshContent[g];I&&I.asset&&I.asset.copyright&&(I.asset.copyright.split(";").forEach(Q=>{Rg[Q]&&Rg[Q]--}),A.displayCopyright&&iQ()),A.remove(I)}A.splatsMesh&&A.meshContent.forEach(g=>g.hide()),A.meshContent=[],A.contentURL.forEach(g=>{A.tileLoader.invalidate(g,A.uuid)}),A.contentURL=[]}}_disposeChildren(){var A=this;A.childrenTiles.forEach(g=>{g.dispose(),A.remove(g)}),A.childrenTiles=[]}raycast(A,g){if(this.splatsMesh){iB.copy(A.ray),tB.copy(this.matrixWorld).invert(),iB.applyMatrix4(tB);let I=!1;if(this.boundingVolume instanceof cg)I=this.boundingVolume.intersectsRay(iB);else{if(!(this.boundingVolume instanceof W.Sphere))return!1;I=ray.intersectsSphere(this.boundingVolume)}return I&&this.materialVisibility&&this.splatsReady&&(nB.length=0,this.meshContent.forEach(Q=>{Q.isSplatsBatch&&(Q.raycast(iB,nB,A.params.Points.threshold),nB.forEach(C=>{C.point.applyMatrix4(this.matrixWorld)}),g.push(...nB))})),I}return super.raycast(A,g)}update(A){this.splatsMesh&&this.splatsMesh.updateShaderParams(A,this.renderer);const g=new W.Frustum;g.setFromProjectionMatrix(new W.Matrix4().multiplyMatrices(A.projectionMatrix,A.matrixWorldInverse));let I=[0],Q=[0],C=[0],E=[0];if(this.refine=="REPLACE"?this.loadingStrategy==="IMMEDIATE"?(this._updateImmediate(A,g),this._statsImmediate(C,I,E,Q)):(this._update(A,g),this._stats(C,I,E,Q)):(this._update(A,g),this._stats(C,I,E,Q)),I>0&&(E[0]/=I[0]),this.splatsMesh)if(oB.copy(A.position),tB.copy(this.matrixWorld).invert(),oB.applyMatrix4(tB),this.splatsCPUCulling){const a=new W.Matrix4().multiplyMatrices(A.projectionMatrix,A.matrixWorldInverse).multiply(this.matrixWorld);this.splatsMesh.sort(oB,a)}else this.splatsMesh.sort(oB);return this.splatsMesh&&this.splatsMesh.update(),{numTilesLoaded:I[0],numTilesRendered:Q[0],maxLOD:C[0],percentageLoaded:E[0]}}_updateImmediate(A,g){this._computeMetricRecursive(A,g),this._updateNodeVisibilityImmediate(),this._expandTreeImmediate(A),this.shouldBeVisible=this.metric>0||!!this.loadOutsideView,this._shouldBeVisibleUpdateImmediate(),this._trimTreeImmediate(),this._loadMeshImmediate()}_statsImmediate(A,g,I,Q){A[0]=Math.max(A[0],this.level),(this.shouldBeVisible||this.materialVisibility)&&(g[0]++,this.materialVisibility&&I[0]++),this.materialVisibility&&Q[0]++,this.childrenTiles.forEach(C=>{C._statsImmediate(A,g,I,Q)})}_stats(A,g,I,Q){A[0]=Math.max(A[0],this.level),this.hasMeshContent&&(g[0]++,this.meshContent.length==this.hasMeshContent&&I[0]++,this.materialVisibility&&Q[0]++),this.childrenTiles.forEach(C=>{C._stats(A,g,I,Q)})}_trimTreeImmediate(){const A=this;if(A.metric!=null)if(A.hasMeshContent&&A.shouldBeVisible&&A.materialVisibility){if(A.splatsMesh&&!A.splatsReady)return;A._disposeChildren()}else A.childrenTiles.forEach(g=>{g._trimTreeImmediate()})}_updateNodeVisibilityImmediate(A=!1){const g=this;if(g.hasMeshContent)if(g.shouldBeVisible)g.meshContent.length==g.hasMeshContent?g.materialVisibility?g.childrenTiles.forEach(I=>{I._updateNodeVisibilityImmediate(!0)}):(g._changeContentVisibility(!0),g.childrenTiles.forEach(I=>{I._updateNodeVisibilityImmediate(A)})):g.childrenTiles.forEach(I=>{I._updateNodeVisibilityImmediate(A)});else{if(!g.loadOutsideView&&g.metric<0)return g._changeContentVisibility(!1),g.meshContent.length>0&&g._disposeMeshContent(),void g.childrenTiles.forEach(I=>{I._updateNodeVisibilityImmediate(!0)});if(!g.materialVisibility||g.splatsMesh&&!g.splatsReady)g.childrenTiles.forEach(I=>{I._updateNodeVisibilityImmediate(A)});else if(A)g._changeContentVisibility(!1),g.meshContent.length>0&&g._disposeMeshContent(),g.childrenTiles.forEach(I=>{I._updateNodeVisibilityImmediate(A)});else{let I=!0;g.childrenTiles.every(Q=>!!Q._isReadyImmediate()||(I=!1,!1)),I&&g.childrenTiles.length>0?(g._changeContentVisibility(!1),g.meshContent.length>0&&g._disposeMeshContent(),g.childrenTiles.forEach(Q=>{Q._updateNodeVisibilityImmediate(A)})):g.childrenTiles.forEach(Q=>{Q._updateNodeVisibilityImmediate(!g.splatsMesh||!!g.splatsReady)})}}else g.childrenTiles.forEach(I=>{I._updateNodeVisibilityImmediate(A)})}_shouldBeVisibleUpdateImmediate(){const A=this;A.hasMeshContent?A.metric==null?A.shouldBeVisible=!1:A.metric<0?(A.shouldBeVisible=!!A.loadOutsideView,A.childrenTiles.forEach(g=>{g._setShouldNotBeVisibleRecursive()})):A.metric<A.geometricErrorMultiplier*A.geometricError?A.hasUnloadedJSONContent||(A.json&&A.json.children&&A.json.children.length>0?(A.shouldBeVisible=!1,A.childrenTiles.forEach(g=>{g.shouldBeVisible=!0,g._shouldBeVisibleUpdateImmediate()})):A.shouldBeVisible=!0):A.childrenTiles.forEach(g=>{g._setShouldNotBeVisibleRecursive()}):(A.childrenTiles.forEach(g=>{g.shouldBeVisible=!0,g._shouldBeVisibleUpdateImmediate()}),A.shouldBeVisible=!1)}_setShouldNotBeVisibleRecursive(){this.shouldBeVisible=!1,this.childrenTiles.forEach(A=>{A._setShouldNotBeVisibleRecursive()})}_loadMeshImmediate(){const A=this;A.hasMeshContent&&A.shouldBeVisible?A.meshContent.length<A.hasMeshContent&&A.contentURL.length==0&&(A.deleted=!1,A._load(!1,!0)):A.childrenTiles.forEach(g=>{g._loadMeshImmediate()})}_computeMetricRecursive(A,g){const I=this;I.metric=-1,I.isSetup&&(I.boundingVolume&&I.geometricError&&(I.metric=I._calculateUpdateMetric(A,g)),I.childrenTiles.forEach(Q=>Q._computeMetricRecursive(A,g)))}_expandTreeImmediate(A){const g=this;g.hasUnloadedJSONContent||(g.hasMeshContent?g.occlusionCullingService&&g.hasMeshContent&&!g.occlusionCullingService.hasID(g.colorID)||g.metric>=0&&g.metric<g.geometricErrorMultiplier*g.geometricError&&g.json&&g.json.children&&g.childrenTiles.length<g.json.children.length&&g._loadJsonChildren(A):g.json&&g.json.children&&g.childrenTiles.length<g.json.children.length&&g._loadJsonChildren(A)),g.childrenTiles.forEach(I=>I._expandTreeImmediate(A))}_update(A,g){const I=this;if(!I.isSetup)return;const Q=I.materialVisibility;I.boundingVolume&&I.geometricError&&(I.metric=I._calculateUpdateMetric(A,g)),I.childrenTiles.forEach(C=>C._update(A,g)),function(C){if(C<0)return I.inFrustum=!1,void I._changeContentVisibility(!!I.loadOutsideView);if(I.inFrustum=!0,!!I.hasMeshContent&&!(I.meshContent.length<I.hasMeshContent)){if(I.childrenTiles.length==0)return void I._changeContentVisibility(!0);if(C>=I.geometricErrorMultiplier*I.geometricError)I._changeContentVisibility(!0);else if(C<I.geometricErrorMultiplier*I.geometricError&&I.refine=="REPLACE"){let E=!0;I.childrenTiles.every(a=>!!a._isReady()||(E=!1,!1)),E?I._changeContentVisibility(!1):I._changeContentVisibility(!0)}}}(I.metric),function(C){C<0&&I.hasMeshContent||I.occlusionCullingService&&I.hasMeshContent&&!I.occlusionCullingService.hasID(I.colorID)||(!I.hasMeshContent||C<=I.geometricErrorMultiplier*I.geometricError&&(I.meshContent.length>0||I.splatsMesh))&&I.json&&I.json.children&&I.childrenTiles.length!=I.json.children.length&&I._loadJsonChildren(A)}(I.metric),function(C,E){if(I.hasMeshContent){if(!I.inFrustum)return void I._disposeChildren();if(I.occlusionCullingService&&!E&&I.hasMeshContent&&I.meshContent.length>0&&I.materialVisibility&&I._areAllChildrenLoadedAndHidden())return I.splatsMesh&&I.materialVisibility&&!I.splatsReady?void 0:void I._disposeChildren();if(C>=I.geometricErrorMultiplier*I.geometricError){if(I.splatsMesh&&I.materialVisibility&&!I.splatsReady)return;I._disposeChildren()}}}(I.metric,Q)}_loadJsonChildren(A){const g=this;for(let I=g.json.children.length-1;I>=0;I--)g.json.children[I].root||g.json.children[I].children||g.json.children[I].getChildren||g.json.children[I].content||g.json.children[I].contents||g.json.children.splice(I,1);g.json.children.forEach(I=>{let Q=new JQ({parentTile:g,queryParams:g.queryParams,parentGeometricError:g.geometricError,parentBoundingVolume:g.boundingVolume,parentRefine:g.refine,json:I,rootPath:g.rootPath,geometricErrorMultiplier:g.geometricErrorMultiplier,loadOutsideView:g.loadOutsideView,level:Math.floor(g.level)+1,tileLoader:g.tileLoader,cameraOnLoad:A,occlusionCullingService:g.occlusionCullingService,renderer:g.renderer,static:g.static,centerModel:!1,displayErrors:g.displayErrors,displayCopyright:g.displayCopyright,distanceBias:g.distanceBias,loadingStrategy:g.loadingStrategy,drawBoundingVolume:g.drawBoundingVolume,splatsMesh:g.splatsMesh,clipShape:g.clipShape,oldUltraMeshSplats:g.oldUltraMeshSplats});g.childrenTiles.push(Q),g.add(Q)}),g.updateMatrices(!0)}_areAllChildrenLoadedAndHidden(){let A=!0;const g=this;return this.childrenTiles.every(I=>{if(I.hasMeshContent){if(I.childrenTiles.length>0)return A=!1,!1;if(I.metric<0)return!0;if(I.materialVisibility&&(!g.splatsMesh||g.splatsReady)||g.occlusionCullingService.hasID(I.colorID))return A=!1,!1}else if(!I._areAllChildrenLoadedAndHidden())return A=!1,!1;return!0}),A}_isReady(){if(this.metric==null)return!1;if(this.metric<0)return!0;if(this.hasUnloadedJSONContent)return!1;if(!this.hasMeshContent&&this.json.children.length==0&&!this.hasUnloadedJSONContent)return!0;if(!this.hasMeshContent||this.meshContent.length==0||!this.materialVisibility){if(this.children.length>0){var A=!0;return this.childrenTiles.every(g=>!!g._isReady()||(A=!1,!1)),A}return!1}return!this.hasMeshContent||!(this.meshContent.length<this.hasMeshContent)&&!!this.materialVisibility}_isReadyImmediate(){if(this.materialVisibility||!this.loadOutsideView&&this.metric<0)return!0;if(this.childrenTiles.length>0){var A=!0;return this.childrenTiles.every(g=>!!g._isReadyImmediate()||(A=!1,!1)),A}return!1}_changeContentVisibility(A){const g=this;if(g.bbox&&(g.bbox.material.visible=A),g.splatsMesh)A!=g.materialVisibility&&(g.meshContent.forEach(I=>{A&&I.isSplatsBatch?I.show(()=>{g.materialVisibility&&(g.splatsReady=!0)}):(I.hide(),g.splatsReady=!1)}),g.materialVisibility=A);else{if(g.hasMeshContent&&g.meshContent.length>0&&(A?g.meshContent.forEach(I=>{I.traverse(Q=>{(Q.isMesh||Q.isPoints)&&Q.layers.enable(0)})}):g.meshContent.forEach(I=>{I.traverse(Q=>{(Q.isMesh||Q.isPoints)&&Q.layers.disable(0)})})),g.materialVisibility==A)return;g.materialVisibility=A}}_calculateUpdateMetric(A,g){let I=0;if(this.boundingVolume instanceof cg){if(Ug.copy(this.boundingVolume),Ug.applyMatrix4(this.matrixWorld),!Ug.inFrustum(g))return-1;if(this.clipShape!=null&&(this.clipShape.isSphere&&!Ug.intersectsSphere(this.clipShape)||this.clipShape.isOBB&&!Ug.intersectsOBB(this.clipShape)))return Number.MAX_VALUE;I=Math.max(0,Ug.distanceToPoint(A.position)-A.near)}else{if(!(this.boundingVolume instanceof W.Sphere))return console.error("unsupported shape"),-1;if(fg.copy(this.boundingVolume),fg.applyMatrix4(this.matrixWorld),this.clipShape!=null&&(this.clipShape.isOBB&&!this.clipShape.intersectsSphere(fg)||this.clipShape.isSphere&&!this.clipShape.intersectsSphere(fg)))return Number.MAX_VALUE;if(!g.intersectsSphere(fg))return-1;I=Math.max(0,A.position.distanceTo(fg.center)-fg.radius-A.near)}if(I=Math.pow(I,this.distanceBias),I==0)return 0;const Q=this.matrixWorld.getMaxScaleOnAxis();this.renderer&&this.renderer.getDrawingBufferSize(this.rendererSize);let C=this.rendererSize.y,E=A.fov;return A.aspect<1&&(E*=A.aspect,C=this.rendererSize.x),16*(2*Math.tan(.5*E*.017453292519943295)*I)/(C*Q)}_getSiblings(){const A=this,g=[];if(!A.parentTile)return g;let I=A.parentTile;for(;!I.hasMeshContent&&I.parentTile;)I=I.parentTile;return I.childrenTiles.forEach(Q=>{if(Q&&Q!=A){for(;!Q.hasMeshContent&&Q.childrenTiles[0];)Q=Q.childrenTiles[0];g.push(Q)}}),g}_calculateDistanceToCamera(A){return this.boundingVolume instanceof cg?(Ug.copy(this.boundingVolume),Ug.applyMatrix4(this.matrixWorld),Math.max(0,Ug.distanceToPoint(A.position))):this.boundingVolume instanceof W.Sphere?(fg.copy(this.boundingVolume),fg.applyMatrix4(this.matrixWorld),Math.max(0,A.position.distanceTo(fg.center)-fg.radius)):(console.error("unsupported shape"),-1)}setGeometricErrorMultiplier(A){this.geometricErrorMultiplier=A,this.childrenTiles.forEach(g=>g.setGeometricErrorMultiplier(A))}setDistanceBias(A){this.distanceBias=A,this.childrenTiles.forEach(g=>g.setDistanceBias(A))}_transformWGS84ToCartesian(A,g,I,Q){const C=6378137/Math.sqrt(1-.006694384442042*Math.pow(Math.sin(g),2)),E=Math.cos(g),a=Math.cos(A),i=Math.sin(g),t=C+I,e=t*E*a,o=t*E*Math.sin(A),s=(.993305615557957*C+I)*i;Q.set(e,o,s)}hideCopyright(){(function(){MA||((MA=document.createElement("div")).style.position="fixed",MA.style.bottom="20px",MA.style.left="20px",MA.style.color="white",MA.style.textShadow="2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000",MA.style.padding="10px",MA.style.backgroundColor="rgba(0, 0, 0, 0.1)",document.body.appendChild(MA)),MA.style.opacity=0})()}showCopyright(){(function(){MA||((MA=document.createElement("div")).style.position="fixed",MA.style.bottom="20px",MA.style.left="20px",MA.style.color="white",MA.style.textShadow="2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000",MA.style.padding="10px",MA.style.backgroundColor="rgba(0, 0, 0, 0.1)",document.body.appendChild(MA)),MA.style.opacity=1})()}}function OC(B){var A=document.createElement("div");A.textContent=B,A.style.position="fixed",A.style.top="10px",A.style.left="50%",A.style.transform="translateX(-50%)",A.style.padding="10px",A.style.backgroundColor="#ff8800",A.style.color="#ffffff",A.style.zIndex="9999",document.body.appendChild(A),setTimeout(function(){A.remove()},8e3)}function iQ(){MA||((MA=document.createElement("div")).style.position="fixed",MA.style.bottom="20px",MA.style.left="20px",MA.style.color="white",MA.style.textShadow="2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000",MA.style.padding="10px",MA.style.backgroundColor="rgba(0, 0, 0, 0.1)",document.body.appendChild(MA));const B=Ma();let A="";B.forEach(g=>{A+=g+", "}),A=A.slice(0,-2),MA.textContent=A}const Eg=new W.Sphere(new W.Vector3(0,0,0),1),Pg=new W.Vector3(0,0,0),tQ=new W.Vector3(0,0,0),Ao=new W.Vector3(0,1,0),oQ=new W.Vector2,WC=new W.Quaternion,PC=new W.Matrix4;class YQ extends W.Object3D{constructor(A){super();const g=this;if(A.queryParams&&(this.queryParams={...A.queryParams}),this.uuid=jE(),A.tileLoader?this.tileLoader=A.tileLoader:console.error("an instanced tileset must be provided an InstancedTilesetLoader"),this.master=A.master,this.loadOutsideView=A.loadOutsideView,this.cameraOnLoad=A.cameraOnLoad,this.parentTile=A.parentTile,this.distanceBias=Math.max(1e-4,A.distanceBias?A.distanceBias:1),this.childrenTiles=[],this.jsonChildren=[],this.meshContent=new Set,this.static=A.static,this.static&&(this.matrixAutoUpdate=!1,this.matrixWorldAutoUpdate=!1),this.tileContent,this.refinement,this.rootPath,this.geometricError,this.boundingVolume,this.json,this.materialVisibility=!1,this.inFrustum=!0,this.level=A.level?A.level:0,this.hasMeshContent=0,this.hasUnloadedJSONContent=0,this.centerModel=A.centerModel,this.deleted=!1,this.abortController=new AbortController,A.json)this.rootPath=A.json.rootPath?A.json.rootPath:A.rootPath,A.json.children&&(this.jsonChildren=A.json.children),g.setup(A);else if(A.url){this.loadJson=(C,E)=>{const a=eI.dirname(E);g.setup({rootPath:a,json:C,onLoadCallback:A.onLoadCallback})};var I=A.url;if(g.queryParams){var Q="";for(let C in g.queryParams)g.queryParams.hasOwnProperty(C)&&(Q+="&"+C+"="+g.queryParams[C]);I.includes("?")?I+=Q:I+="?"+Q.substring(1)}g.tileLoader.get(g.abortController,I,g.uuid,g)}}async setup(A){const g=this;A.json.root?(g.json=A.json.root,!g.json.children&&g.json.getChildren&&(g.json.children=await g.json.getChildren()),g.jsonChildren=g.json.children,g.json.refinement||(g.json.refinement=A.json.refinement),g.json.geometricError||(g.json.geometricError=A.json.geometricError),g.json.transform||(g.json.transform=A.json.transform),g.json.boundingVolume||(g.json.boundingVolume=A.json.boundingVolume)):(g.json=A.json,!g.json.children&&g.json.getChildren&&(g.json.children=await g.json.getChildren(),g.jsonChildren=g.json.children)),g.rootPath=A.json.rootPath?A.json.rootPath:A.rootPath,g.json.refinement?g.refinement=g.json.refinement:g.refinement=A.parentRefinement,g.json.geometricError?g.geometricError=g.json.geometricError:g.geometricError=A.parentGeometricError;let I=new W.Matrix4;if(g.json.transform&&!g.centerModel&&(I.elements=g.json.transform),g.applyMatrix4(I),g.parentTile&&g.parentTile.matrix&&(g.matrix.premultiply(g.parentTile.matrix),g.matrix.decompose(g.position,g.quaternion,g.scale)),g.matrixWorldNeedsUpdate=!0,g.updateWorldMatrix(!0,!0),g.json.boundingVolume)if(g.json.boundingVolume.box)g.boundingVolume=new cg(g.json.boundingVolume.box);else if(g.json.boundingVolume.region){const C=g.json.boundingVolume.region;g.transformWGS84ToCartesian(C[0],C[1],C[4],Pg),g.transformWGS84ToCartesian(C[2],C[3],C[5],tQ),Pg.lerp(tQ,.5),g.boundingVolume=new W.Sphere(new W.Vector3(Pg.x,Pg.y,Pg.z),Pg.distanceTo(tQ))}else if(g.json.boundingVolume.sphere){const C=g.json.boundingVolume.sphere;g.boundingVolume=new W.Sphere(new W.Vector3(C[0],C[1],C[2]),C[3])}else g.boundingVolume=A.parentBoundingVolume;else g.boundingVolume=A.parentBoundingVolume;function Q(C){C.uri&&C.uri.includes("json")||C.url&&C.url.includes("json")?g.hasUnloadedJSONContent++:g.hasMeshContent++}if(g.json.content?(Q(g.json.content),g.load()):g.json.contents&&(g.json.contents.forEach(C=>Q(C)),g.load()),g.centerModel){const C=new W.Sphere;g.boundingVolume instanceof cg?C.copy(g.boundingVolume.sphere):g.boundingVolume instanceof W.Sphere&&C.copy(g.boundingVolume),this.json.boundingVolume.region&&(g.transformWGS84ToCartesian(.5*(g.json.boundingVolume.region[0]+g.json.boundingVolume.region[2]),.5*(g.json.boundingVolume.region[1]+g.json.boundingVolume.region[3]),.5*(g.json.boundingVolume.region[4]+g.json.boundingVolume.region[5]),Pg),WC.setFromUnitVectors(Pg.normalize(),Ao.normalize()),g.master.applyQuaternion(WC),g.master.updateWorldMatrix(!1,!1)),PC.makeTranslation(-C.center.x*g.scale.x,-C.center.y*g.scale.y,-C.center.z*g.scale.z),g.master.matrix.multiply(PC),g.master.matrix.decompose(g.master.position,g.master.quaternion,g.master.scale)}g.isSetup=!0,A.onLoadCallback&&A.onLoadCallback(g)}isAbsolutePathOrURL(A){const g=/^(?:http|https|ftp|tcp|udp):\/\/\S+/.test(A),I=A.startsWith("/")&&!A.startsWith("//");return g||I}assembleURL(A,g){A.endsWith("/")||(A+="/");const I=new URL(A);let Q=I.pathname.split("/").filter(E=>E!==""),C=g.split("/").filter(E=>E!=="");for(let E=1;E<=Q.length&&!(E>=C.length);E++)if(Q.slice(Q.length-E,Q.length).join("/")===C.slice(0,E).join("/")){for(let a=0;a<E;a++)Q.pop();break}for(;C.length>0&&C[0]==="..";)Q.pop(),C.shift();return`${I.protocol}//${I.host}/${[...Q,...C].join("/")}`}extractQueryParams(A,g){const I=new URL(A);for(let[Q,C]of I.searchParams)g[Q]=C;return I.search="",I.toString()}load(){var A=this;function g(I){let Q;I.uri?Q=I.uri:I.url&&(Q=I.url);const C=/^(?:http|https|ftp|tcp|udp):\/\/\S+/;if(C.test(A.rootPath)?C.test(Q)||(Q=A.assembleURL(A.rootPath,Q)):eI.isAbsolute(A.rootPath)&&(Q=A.rootPath+eI.sep+Q),Q=A.extractQueryParams(Q,A.queryParams),A.queryParams){var E="";for(let a in A.queryParams)A.queryParams.hasOwnProperty(a)&&(E+="&"+a+"="+A.queryParams[a]);Q.includes("?")?Q+=E:Q+="?"+E.substring(1)}Q&&(Q.includes(".b3dm")||Q.includes(".glb")||Q.includes(".gltf")?(A.contentURL=Q,A.tileLoader.get(A.abortController,Q,A.uuid,A,A.cameraOnLoad?()=>A.calculateDistanceToCamera(A.cameraOnLoad):()=>0,()=>A.getSiblings(),A.level,!A.json.boundingVolume.region,!!A.json.boundingVolume.region,A.geometricError)):Q.includes(".json")&&A.tileLoader.get(A.abortController,Q,A.uuid,A))}A.deleted||(A.json.content?g(A.json.content):A.json.contents&&A.json.contents.forEach(I=>g(I)))}loadMesh(A){this.deleted||this.meshContent.add(A)}loadJson(A,g){this.deleted||(this.json.children&&(this.jsonChildren=this.json.children),A.rootPath=eI.dirname(g),this.jsonChildren.push(A),this.hasUnloadedJSONContent--)}dispose(){const A=this;A.childrenTiles.forEach(g=>g.dispose()),A.deleted=!0,A.abortController&&A.abortController.abort(),this.parent=null,this.parentTile=null,this.dispatchEvent({type:"removed"})}disposeChildren(){this.childrenTiles.forEach(A=>A.dispose()),this.childrenTiles=[]}_update(A,g){const I=this;function Q(C){if(I.hasMeshContent&&!(I.meshContent.size<I.hasMeshContent)){if(C<0)return I.inFrustum=!1,void I.changeContentVisibility(!!I.loadOutsideView);if(I.inFrustum=!0,I.childrenTiles.length!=0){if(C>=I.master.geometricErrorMultiplier*I.geometricError)I.changeContentVisibility(!0);else if(C<I.master.geometricErrorMultiplier*I.geometricError){let E=!0;I.childrenTiles.every(a=>!!a.isReady()||(E=!1,!1)),E&&I.changeContentVisibility(!1)}}else I.changeContentVisibility(!0)}}I.isSetup&&(I.materialVisibility,I.boundingVolume&&I.geometricError&&(I.metric=I.calculateUpdateMetric(A,g)),I.childrenTiles.forEach(C=>C._update(A,g)),Q(I.metric),function(C){C<0&&I.hasMeshContent||(!I.hasMeshContent&&I.rootPath||C<I.master.geometricErrorMultiplier*I.geometricError&&I.meshContent.size>0)&&I.json&&I.jsonChildren&&I.childrenTiles.length!=I.jsonChildren.length&&I.jsonChildren.forEach(E=>{if(!(E.root||E.children||E.getChildren||E.content||E.contents))return;let a=new YQ({parentTile:I,queryParams:I.queryParams,parentGeometricError:I.geometricError,parentBoundingVolume:I.boundingVolume,parentRefinement:I.refinement,json:E,rootPath:I.rootPath,loadOutsideView:I.loadOutsideView,level:I.level+1,tileLoader:I.tileLoader,cameraOnLoad:A,master:I.master,centerModel:!1});I.childrenTiles.push(a)})}(I.metric),function(C){if(I.hasMeshContent){if(!I.inFrustum)return I.disposeChildren(),void Q(C);C>=I.master.geometricErrorMultiplier*I.geometricError&&(I.disposeChildren(),Q(C))}}(I.metric))}areAllChildrenLoadedAndHidden(){let A=!0;return this.childrenTiles.every(g=>{if(g.hasMeshContent){if(g.childrenTiles.length>0)return A=!1,!1;if(!g.inFrustum)return!0;if(!g.materialVisibility||g.meshesToDisplay!=g.meshesDisplayed)return A=!1,!1}else if(!g.areAllChildrenLoadedAndHidden())return A=!1,!1;return!0}),A}isReady(){if(!this.inFrustum)return!0;if(this.hasUnloadedJSONContent)return!1;if(!this.hasMeshContent||this.meshContent.size==0||!this.materialVisibility){if(this.childrenTiles.length>0){var A=!0;return this.childrenTiles.every(g=>!!g.isReady()||(A=!1,!1)),A}return!1}return!this.hasMeshContent||!(this.meshContent.size<this.hasMeshContent)&&!!this.materialVisibility}changeContentVisibility(A){this.materialVisibility=A}calculateUpdateMetric(A,g){if(this.boundingVolume instanceof cg){if(Eg.copy(this.boundingVolume.sphere),Eg.applyMatrix4(this.matrixWorld),!g.intersectsSphere(Eg))return-1}else{if(!(this.boundingVolume instanceof W.Sphere))return console.error("unsupported shape"),-1;if(Eg.copy(this.boundingVolume),Eg.applyMatrix4(this.matrixWorld),!g.intersectsSphere(Eg))return-1}let I=Math.max(0,A.position.distanceTo(Eg.center)-Eg.radius);if(I=Math.pow(I,this.distanceBias),I==0)return 0;const Q=this.matrixWorld.getMaxScaleOnAxis();this.master._renderSize(oQ);let C=oQ.y,E=A.fov;A.aspect<1&&(E*=A.aspect,C=oQ.x);let a=2*Math.tan(.5*E*.017453292519943295)*I;return 16*window.devicePixelRatio*a/(C*Q)}getSiblings(){const A=this,g=[];if(!A.parentTile)return g;let I=A.parentTile;for(;!I.hasMeshContent&&I.parentTile;)I=I.parentTile;return I.childrenTiles.forEach(Q=>{if(Q&&Q!=A){for(;!Q.hasMeshContent&&Q.childrenTiles[0];)Q=Q.childrenTiles[0];g.push(Q)}}),g}calculateDistanceToCamera(A){return this.boundingVolume instanceof cg?(Eg.copy(this.boundingVolume.sphere),Eg.applyMatrix4(this.matrixWorld)):this.boundingVolume instanceof W.Sphere?(Eg.copy(this.boundingVolume),Eg.applyMatrix4(this.matrixWorld)):console.error("unsupported shape"),Math.max(0,A.position.distanceTo(Eg.center)-Eg.radius)}getWorldMatrix(){return this.matrixWorld}transformWGS84ToCartesian(A,g,I,Q){const C=6378137/Math.sqrt(1-.006694384442042*Math.pow(Math.sin(g),2)),E=Math.cos(g),a=Math.cos(A),i=Math.sin(g),t=C+I,e=t*E*a,o=t*E*Math.sin(A),s=(.993305615557957*C+I)*i;Q.set(e,o,s)}}class go extends W.Object3D{constructor(A){super(),A.master=this,A.domWidth&&A.domHeight?this.rendererSize=new W.Vector2(A.domWidth,A.domHeight):this.rendererSize=new W.Vector2(1e3,1e3),this.renderer=A.renderer,this.distanceBias=Math.max(1e-4,A.distanceBias?A.distanceBias:1),this.geometricErrorMultiplier=A.geometricErrorMultiplier?A.geometricErrorMultiplier:1,this.tileset=new YQ(A),A.static&&(this.matrixAutoUpdate=!1),this.tileLoader=A.tileLoader}_renderSize(A){this.renderer?this.renderer.getDrawingBufferSize(A):A.copy(this.rendererSize)}setCanvasSize(A,g){this.rendererSize.set(A,g)}update(A,g){if(g)this.tileset._update(A,g);else{const I=new W.Frustum;I.setFromProjectionMatrix(new W.Matrix4().multiplyMatrices(A.projectionMatrix,A.matrixWorldInverse)),this.tileset._update(A,I)}}setGeometricErrorMultiplier(A){this.geometricErrorMultiplier=A||1}}class Io{constructor(A){const g=this;g.scene=A,g.instancedTiles=[],g.instancedMesh,g.reuseableMatrix=new W.Matrix4}addInstance(A){const g=this;A.added=!0,A.listOMesh=g.instancedTiles,g.instancedTiles.push(A),g.instancedMesh&&A.loadMesh(g.instancedMesh)}addToScene(){const A=this;A.instancedMesh.setMatrixAt(0,new W.Matrix4),A.instancedMesh.instanceMatrix.needsUpdate=!0,A.instancedMesh.count=1,A.scene.add(A.instancedMesh),A.instancedMesh.onAfterRender=()=>{delete A.instancedMesh.onAfterRender,A.instancedMesh.displayedOnce=!0}}setObject(A){const g=this;g.instancedMesh=A,g.instancedMesh.matrixAutoUpdate=!1,g.instancedMesh.matrixWorldAutoUpdate=!1,g.scene.children.includes(A)||this.addToScene();for(let I=0;I<g.instancedTiles.length;I++)g.instancedTiles[I].loadMesh(g.instancedMesh)}update(){const A=this;for(let g=A.instancedTiles.length-1;g>=0;g--)A.instancedTiles[g].deleted&&A.instancedTiles.splice(g,1);if(A.instancedMesh){A.instancedMesh.count=0,A.instancedMesh.instancedTiles=[];for(let g=0;g<A.instancedTiles.length;g++)A.instancedTiles[g].meshContent.add(A.instancedMesh),A.instancedTiles[g].materialVisibility&&(A.instancedMesh.count++,A.reuseableMatrix.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),A.reuseableMatrix.multiply(A.instancedTiles[g].matrixWorld),A.reuseableMatrix.multiply(A.instancedMesh.baseMatrix),A.instancedMesh.setMatrixAt(A.instancedMesh.count-1,A.reuseableMatrix),A.instancedMesh.instancedTiles.push(A.instancedTiles[g]));A.instancedMesh.instanceMatrix.needsUpdate=!0,A.instancedMesh.needsUpdate=!0,A.instancedMesh.computeBoundingSphere()}}getCount(){return this.instancedTiles.length}dispose(){const A=this;return!(A.instancedTiles.length>0)&&!!A.instancedMesh&&(A.scene.remove(A.instancedMesh),A.instancedMesh.traverse(g=>{if(g.dispose&&g.dispose(),g.material)if(g.material.length)for(let I=0;I<g.material.length;++I)g.material[I].dispose();else g.material.dispose();g.geometry&&g.geometry.dispose()}),A.instancedMesh.dispose(),!0)}}class Bo{constructor(){const A=this;A.count=0,A.json,A.instancedTiles=[]}addInstance(A){this.instancedTiles.push(A),this.json&&A.loadJson(this.json,this.url)}setObject(A,g){const I=this;I.json=A,I.url=g;for(let Q=0;Q<I.instancedTiles.length;Q++)I.instancedTiles[Q].loadJson(I.json,I.url)}getCount(){return this.instancedTiles.length}update(){const A=this;for(let g=A.instancedTiles.length-1;g>=0;g--)A.instancedTiles[g].deleted&&A.instancedTiles.splice(g,1)}dispose(){return!(!this.json||this.instancedTiles.length!=0)}}let QI=0;async function Qo(B){return new Promise(A=>{const g=setInterval(()=>{B.hasDracoLoader&&!B.dracoLoader||B.hasKTX2Loader&&!B.ktx2Loader||(clearInterval(g),A())},10)})}exports.InstancedOGC3DTile=go,exports.InstancedTileLoader=class{constructor(B,A){if(this.zUpToYUpMatrix=new W.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1),this.maxCachedItems=100,this.maxInstances=1,this.proxy=A.proxy,A&&(this.meshCallback=A.meshCallback,this.pointsCallback=A.pointsCallback,A.maxCachedItems&&(this.maxCachedItems=A.maxCachedItems),A.maxInstances&&(this.maxInstances=A.maxInstances)),this.gltfLoader=new _C,A&&A.dracoLoader)this.gltfLoader.setDRACOLoader(A.dracoLoader),this.hasDracoLoader=!0;else{const g=new gE;g.setDecoderPath("https://www.gstatic.com/draco/versioned/decoders/1.4.3/"),this.gltfLoader.setDRACOLoader(g),this.gltfLoader.hasDracoLoader=!0}if(A&&A.ktx2Loader)this.gltfLoader.setKTX2Loader(A.ktx2Loader),this.hasKTX2Loader=!0;else if(A&&A.renderer){const g=new hg;g.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(A.renderer),this.gltfLoader.setKTX2Loader(g),this.gltfLoader.hasKTX2Loader=!0}this.gltfLoader.setMeshoptDecoder(HE),this.hasMeshOptDecoder=!0,this.b3dmDecoder=new XC(this.gltfLoader),this.cache=new VC,this.scene=B,this.ready=[],this.downloads=[],this.nextReady=[],this.nextDownloads=[]}update(){const B=this;B._checkSize(),B.cache._data.forEach(A=>{A.update()}),QI<8&&B._download(),B._loadBatch()}_download(){const B=this;if(B.nextDownloads.length!=0||(B._getNextDownloads(),B.nextDownloads.length!=0))for(;B.nextDownloads.length>0;){const g=B.nextDownloads.shift();if(g){if(g.path.includes(".b3dm")&&(A=B.proxy?()=>fetch(B.proxy,{method:"POST",body:g.path}):()=>fetch(g.path),QI++,A().then(I=>{if(!I.ok)throw console.error("could not load tile with path : "+g.path),new Error(`couldn't load "${g.path}". Request failed with status ${I.status} : ${I.statusText}`);return I.arrayBuffer()}).then(I=>this.b3dmDecoder.parseB3DMInstanced(I,Q=>{B.meshCallback(Q,g.geometricError)},B.maxInstances,g.sceneZupToYup,g.meshZupToYup)).then(I=>{I.frustumCulled=!1,g.tile.setObject(I),B.ready.unshift(g)}).catch(I=>console.error(I)).finally(()=>{QI--})),g.path.includes(".glb")||g.path.includes(".gltf"))A=B.proxy?()=>fetch(B.proxy,{method:"POST",body:g.path}):()=>fetch(g.path),QI++,A().then(I=>{if(!I.ok)throw new Error("missing content");return I.arrayBuffer()}).then(async I=>{await Qo(this.gltfLoader),this.gltfLoader.parse(I,null,Q=>{let C;Q.scene.asset=Q.asset,g.sceneZupToYup&&Q.scene.applyMatrix4(this.zUpToYUpMatrix),Q.scene.traverse(E=>{E.geometricError=g.geometricError,E.isMesh&&(g.meshZupToYup&&E.applyMatrix4(this.zUpToYUpMatrix),B.meshCallback&&B.meshCallback(E,E.geometricError)),E.isPoints&&console.error("instanced point cloud is not supported")}),Q.scene.updateWorldMatrix(!1,!0),Q.scene.traverse(E=>{E.isMesh&&(C=new W.InstancedMesh(E.geometry,E.material,B.maxInstances),C.baseMatrix=E.matrixWorld)}),B.ready.unshift(g),C?(C.frustumCulled=!1,g.tile.setObject(C)):Q.scene.traverse(E=>{E.dispose&&E.dispose(),E.material&&E.material.dispose()})})},I=>{console.error("could not load tile : "+g.path)}).finally(()=>{QI--});else if(g.path.includes(".json")){var A;A=B.proxy?()=>fetch(B.proxy,{method:"POST",body:g.path}):()=>fetch(g.path),QI++,A().then(I=>{if(!I.ok)throw console.error("could not load tile with path : "+g.path),new Error(`couldn't load "${g.path}". Request failed with status ${I.status} : ${I.statusText}`);return I.json()}).then(I=>GQ(I,g.path)).then(I=>{g.tile.setObject(I,g.path),B.ready.unshift(g)}).catch(I=>console.error(I)).finally(()=>{QI--})}}}}_loadBatch(){return this.nextReady.length==0&&(this._getNextReady(),this.nextReady.length==0)?0:this.nextReady.shift()?1:0}_getNextReady(){let B=Number.MAX_VALUE,A=-1;for(let g=this.ready.length-1;g>=0;g--)this.ready[g].distanceFunction||this.nextReady.push(this.ready.splice(g,1)[0]);if(!(this.nextReady.length>0)){for(let g=this.ready.length-1;g>=0;g--){const I=this.ready[g].distanceFunction()*this.ready[g].level;I<B&&(B=I,A=g)}if(A>=0){const g=this.ready.splice(A,1).pop();this.nextReady.push(g);const I=g.getSiblings();for(let Q=this.ready.length-1;Q>=0;Q--)I.includes(this.ready[Q].uuid)&&this.nextready.push(this.ready.splice(Q,1).pop())}}}get(B,A,g,I,Q,C,E,a,i,t){const e=this,o=function(n){for(var r=n.split("/"),c=[],D=0,b=0;b<r.length;b++){var h=r[b];h!=="."&&h!==""&&h!==".."?c[D++]=h:h===".."&&D>0&&D--}if(D===0)return"/";var w="";for(b=0;b<D;b++)w+="/"+c[b];return w}(A);if(!(A.includes(".b3dm")||A.includes(".json")||A.includes(".glb")||A.includes(".gltf")))return void console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data");const s=e.cache.get(o);if(s)s.addInstance(I);else if(A.includes(".b3dm")||A.includes(".glb")||A.includes(".gltf")){const n=new Io(e.scene);n.addInstance(I),e.cache.put(o,n);const r=new AbortController;B.signal.addEventListener("abort",()=>{n.getCount()==0&&r.abort()}),this.downloads.push({abortController:r,tile:n,key:o,path:A,distanceFunction:Q,getSiblings:C,level:E,uuid:g,sceneZupToYup:a,meshZupToYup:i,geometricError:t,shouldDoDownload:()=>!0})}else if(A.includes(".json")){const n=new Bo;n.addInstance(I),e.cache.put(o,n);const r=new AbortController;B.signal.addEventListener("abort",()=>{n.getCount()==0&&r.abort()}),this.downloads.push({abortController:r,tile:n,key:o,path:A,distanceFunction:Q,getSiblings:C,level:E,shouldDoDownload:()=>!0})}}_getNextDownloads(){let B=Number.MAX_VALUE,A=-1;for(let g=this.downloads.length-1;g>=0;g--){const I=this.downloads[g];I.shouldDoDownload()?I.distanceFunction||this.nextDownloads.push(this.downloads.splice(g,1)[0]):this.downloads.splice(g,1)}if(!(this.nextDownloads.length>0)){for(let g=this.downloads.length-1;g>=0;g--){const I=this.downloads[g],Q=I.distanceFunction()*I.level;Q<B&&(B=Q,A=g)}if(A>=0){const g=this.downloads.splice(A,1).pop();this.nextDownloads.push(g);const I=g.getSiblings();for(let Q=this.downloads.length-1;Q>=0;Q--)I.includes(this.downloads[Q].uuid)&&this.nextDownloads.push(this.downloads.splice(Q,1).pop())}}}_checkSize(){const B=this;let A=0;for(;B.cache.size()>B.maxCachedItems&&A<B.cache.size();){A++;const g=B.cache.head();B.cache.remove(g.key),g.value.dispose()||B.cache.put(g.key,g.value)}}},exports.OBB=cg,exports.OGC3DTile=JQ,exports.OcclusionCullingService=class{constructor(){this.cullMap=[],this.cullMaterial=new W.MeshBasicMaterial({vertexColors:!0}),this.cullMaterial.side=W.FrontSide,this.cullTarget=this._createCullTarget(),this.cullPixels=new Uint8Array(4*this.cullTarget.width*this.cullTarget.height)}setSide(B){this.cullMaterial.side=B}_createCullTarget(){const B=new W.WebGLRenderTarget(Math.floor(.05*window.innerWidth),Math.floor(.05*window.innerHeight));return B.texture.format=W.RGBAFormat,B.texture.colorSpace=W.LinearSRGBColorSpace,B.texture.minFilter=W.NearestFilter,B.texture.magFilter=W.NearestFilter,B.texture.generateMipmaps=!1,B.stencilBuffer=!1,B.depthBuffer=!0,B.depthTexture=new W.DepthTexture,B.depthTexture.format=W.DepthFormat,B.depthTexture.type=W.UnsignedShortType,B}update(B,A,g){let I=A.getRenderTarget(),Q=B.overrideMaterial;B.overrideMaterial=this.cullMaterial,A.setRenderTarget(this.cullTarget),A.render(B,g),B.overrideMaterial=Q,A.setRenderTarget(I),A.readRenderTargetPixels(this.cullTarget,0,0,this.cullTarget.width,this.cullTarget.height,this.cullPixels),this.cullMap=[];for(let C=0;C<this.cullPixels.length;C+=4){const E=W.MathUtils.clamp(this.cullPixels[C],0,255)<<16^W.MathUtils.clamp(this.cullPixels[C+1],0,255)<<8^W.MathUtils.clamp(this.cullPixels[C+2],0,255);this.cullMap[E]=!0}}hasID(B){return this.cullMap[B]}},exports.SplatsMesh=fa,exports.TileLoader=KE,exports.getOGC3DTilesCopyrightInfo=Ma,exports.splatsFragmentShader=ya,exports.splatsVertexShader=Fa;
1502
+ }`}function Ao(B,A,g,I){const Q=B.getX(g),C=B.getY(g),a=B.getZ(g),E=A.getX(g),i=A.getY(g),t=A.getZ(g);I.set(Q,C,a,C,E,i,a,i,t)}function go(B,A,g){const I=B.determinant();if(Math.abs(I)<1e-12)return void g.set(0,0,0);const Q=1/I,C=new b.Matrix3().copy(B);C.elements[0]=A.x,C.elements[3]=A.y,C.elements[6]=A.z;const a=new b.Matrix3().copy(B);a.elements[1]=A.x,a.elements[4]=A.y,a.elements[7]=A.z;const E=new b.Matrix3().copy(B);E.elements[2]=A.x,E.elements[5]=A.y,E.elements[8]=A.z,g.set(C.determinant()*Q,a.determinant()*Q,E.determinant()*Q)}function vI(B,A){if(!A||Array.isArray(A)&&A.length!==3)throw new Error(`${B} must be a length-3 array [x,y,z]`);return A}function OC(B,A,g){return{kind:"cuboid",params:{hx:Number(B),hy:Number(A),hz:Number(g)}}}const WC={createBall:function(B){return{kind:"ball",params:{radius:Number(B)}}},createCuboid:OC,createBox:function(B,A,g){return OC(B,A,g)},createRoundCuboid:function(B,A,g,I){return{kind:"roundCuboid",params:{hx:Number(B),hy:Number(A),hz:Number(g),radius:Number(I)}}},createCapsule:function(B,A){return{kind:"capsule",params:{halfHeight:Number(B),radius:Number(A)}}},createCone:function(B,A){return{kind:"cone",params:{halfHeight:Number(B),radius:Number(A)}}},createCylinder:function(B,A){return{kind:"cylinder",params:{halfHeight:Number(B),radius:Number(A)}}},createSegment:function(B,A){return{kind:"segment",params:{a:vI("a",B),b:vI("b",A)}}},createTriangle:function(B,A,g){return{kind:"triangle",params:{a:vI("a",B),b:vI("b",A),c:vI("c",g)}}},createPolyline:function(B,A){return{kind:"polyline",params:{vertices:B,indices:A||null}}},createConvexHull:function(B){return{kind:"convexHull",params:{vertices:B}}},createHeightfield:function(B,A,g,I={x:1,y:1,z:1}){return{kind:"heightfield",params:{rows:Number(B),cols:Number(A),heights:g,scale:I}}}};var MA;const fg=new x.Sphere(new x.Vector3(0,0,0),1),Sg=new ig([0,0,0,1,0,0,0,1,0,0,0,1]);new x.Box3;const Wg=new x.Vector3(0,0,0),uI=new x.Vector3(0,0,0),Io=new x.Vector3(0,1,0),tB=new x.Ray,oB=new x.Matrix4;new x.Matrix4,new x.Frustum;const nB=new x.Vector3,sB=[],PC=new x.Quaternion,Rg={};function pE(){var B=[];for(let A in Rg)Rg.hasOwnProperty(A)&&Rg[A]>0&&B.push(A);return B}class YQ extends x.Object3D{constructor(A){super();const g=this;if(g.physics=A.physics,g.splatsMesh=A.splatsMesh,g.oldUltraMeshSplats=A.oldUltraMeshSplats,g.iosCompatibility=A.iosCompatibility,g.splatsQuality=A.splatsQuality!=null?A.splatsQuality:.75,g.splatsCPUCulling=A.splatsCPUCulling!=null&&A.splatsCPUCulling,this.contentURL=[],A.domWidth&&A.domHeight?this.rendererSize=new x.Vector2(A.domWidth,A.domHeight):this.rendererSize=new x.Vector2(1e3,1e3),this.setClipShape(A.clipShape),this.loadingStrategy=A.loadingStrategy?A.loadingStrategy.toUpperCase():"INCREMENTAL",this.distanceBias=Math.max(1e-4,A.distanceBias?A.distanceBias:1),this.proxy=A.proxy,this.drawBoundingVolume=!!A.drawBoundingVolume&&A.drawBoundingVolume,this.displayErrors=A.displayErrors,this.displayCopyright=A.displayCopyright,A.queryParams&&(this.queryParams={...A.queryParams}),this.uuid=Ta(),A.tileLoader)this.tileLoader=A.tileLoader;else{const a={};a.meshCallback=A.meshCallback?A.meshCallback:(i,t)=>{i.material.wireframe=!1,i.material.side=x.DoubleSide},a.pointsCallback=A.pointsCallback?A.pointsCallback:(i,t)=>{i.material.size=Math.pow(t,.33),i.material.sizeAttenuation=!0},a.proxy=this.proxy,a.renderer=A.renderer,a.dracoLoader=A.dracoLoader,a.ktx2Loader=A.ktx2Loader,g.tileLoader=new va(a);const E=this.update;this.update=i=>{E.call(g,i),g.tileLoader.update()}}this.displayCopyright=!!A.displayCopyright,this.geometricErrorMultiplier=A.geometricErrorMultiplier?A.geometricErrorMultiplier:1,this.splatsCropRadius=Number.MAX_VALUE,this.splatsSizeMultiplier=1,this.splatsExposureEV=A&&A.splatsExposureEV!==void 0?A.splatsExposureEV:0,this.splatsSaturation=A&&A.splatsSaturation!==void 0?A.splatsSaturation:1,this.splatsContrast=A&&A.splatsContrast!==void 0?A.splatsContrast:1;const I=A&&A.splatsTempTint!==void 0?A.splatsTempTint:[0,0];if(this.splatsTempTint=Array.isArray(I)?[Number(I[0]||0),Number(I[1]||0)]:[Number(I.temp||0),Number(I.tint||0)],this.renderer=A.renderer,this.meshCallback=A.meshCallback,this.loadOutsideView=A.loadOutsideView,this.cameraOnLoad=A.cameraOnLoad,this.parentTile=A.parentTile,this.occlusionCullingService=A.occlusionCullingService,this.static=A.static,this.occlusionCullingService&&(this.color=new x.Color,this.color.setHex(16777215*Math.random()),this.colorID=x.MathUtils.clamp(255*g.color.r,0,255)<<16^x.MathUtils.clamp(255*g.color.g,0,255)<<8^x.MathUtils.clamp(255*g.color.b,0,255)),this.static&&(this.matrixAutoUpdate=!1,this.matrixWorldAutoUpdate=!1),this.childrenTiles=[],this.meshContent=[],this.tileContent,this.refine,this.rootPath,this.geometricError,this.boundingVolume,this.json,this.materialVisibility=!1,this.level=A.level?A.level:0,this.hasMeshContent=0,this.hasUnloadedJSONContent=0,this.centerModel=A.centerModel,this.abortController=new AbortController,this.onLoadCallback=A.onLoadCallback,A.json)g._setup(A);else if(A.url){var Q=A.url;if(g.queryParams){var C="";for(let a in g.queryParams)g.queryParams.hasOwnProperty(a)&&(C+="&"+a+"="+g.queryParams[a]);Q.includes("?")?Q+=C:Q+="?"+C.substring(1)}(g.proxy?()=>fetch(g.proxy,{method:"POST",body:Q,signal:g.abortController.signal}):()=>fetch(Q,{signal:g.abortController.signal}))().then(a=>{if(!a.ok)throw new Error(`couldn't load "${A.url}". Request failed with status ${a.status} : ${a.statusText}`);a.json().then(E=>RQ(E,Q)).then(E=>{g._setup({rootPath:eI.dirname(A.url),json:E})})}).catch(a=>{g.displayErrors&&VC(a)})}}setClipShape(A){if(A instanceof ig||A instanceof x.Sphere)this.clipShape=A;else if(A instanceof x.Box3){const g=new x.Vector3,I=new x.Vector3;A.getCenter(g),A.getSize(I).multiplyScalar(.5),this.clipShape=new ig([g.x,g.y,g.z,I.x,0,0,0,I.y,0,0,0,I.z])}else A=void 0;this.childrenTiles&&this.childrenTiles.forEach(g=>{g._setClipShape(this.clipShape)})}_setClipShape(A){this.clipShape=A,this.childrenTiles&&this.childrenTiles.forEach(g=>{g._setClipShape(this.clipShape)})}setSplatsSizeMultiplier(A){this.splatsSizeMultiplier=A,this.splatsMesh&&this.splatsMesh.setSplatsSizeMultiplier(this.splatsSizeMultiplier)}setSplatsCropRadius(A){this.splatsCropRadius=A,this.splatsMesh&&this.splatsMesh.setSplatsCropRadius(this.splatsCropRadius)}setSplatsDepthBias(A){this.splatsDepthBias=A,this.splatsMesh&&this.splatsMesh.setDepthBias(this.splatsDepthBias)}setSplatsCPUCulling(A){this.splatsCPUCulling=A,this.splatsMesh&&this.splatsMesh.setSplatsCPUCulling(A)}setSplatsQuality(A){this.splatsQuality=A,this.splatsMesh&&this.splatsMesh.setQuality(A)}setSplatsExposureEV(A){this.splatsExposureEV=A,this.splatsMesh&&typeof this.splatsMesh.setExposureEV=="function"&&this.splatsMesh.setExposureEV(A)}setSplatsSaturation(A){this.splatsSaturation=A,this.splatsMesh&&typeof this.splatsMesh.setSaturation=="function"&&this.splatsMesh.setSaturation(A)}setSplatsContrast(A){this.splatsContrast=A,this.splatsMesh&&typeof this.splatsMesh.setContrast=="function"&&this.splatsMesh.setContrast(A)}setSplatsTempTint(A,g){this.splatsTempTint=[A,g],this.splatsMesh&&typeof this.splatsMesh.setTempTint=="function"&&this.splatsMesh.setTempTint(A,g)}updateMatrices(){this.updateMatrix(),this.splatsMesh&&this.splatsMesh.updateMatrix(),this.static&&(this.traverse(A=>{A.isObject3D&&(A.matrixWorldAutoUpdate=!0)}),this.splatsMesh&&(this.splatsMesh.matrixWorldAutoUpdate=!0)),this.updateMatrixWorld(!0),this.static&&(this.traverse(A=>{A.isObject3D&&(A.matrixWorldAutoUpdate=!1)}),this.splatsMesh&&(this.splatsMesh.matrixWorldAutoUpdate=!1))}setCanvasSize(A,g){this.rendererSize.set(A,g)}async _setup(A){const g=this;if(A.json.extensionsRequired&&(A.json.extensionsRequired.includes("JDULTRA_gaussian_splats")||A.json.extensionsRequired.includes("JDULTRA_gaussian_splats_V2"))&&(g.oldUltraMeshSplats=!0),A.json.root?(g.json=A.json.root,g.json.refine||(g.json.refine=A.json.refine),g.json.geometricError||(g.json.geometricError=A.json.geometricError),g.json.transform||(g.json.transform=A.json.transform),g.json.boundingVolume||(g.json.boundingVolume=A.json.boundingVolume)):g.json=A.json,g.json.children||(g.json.getChildren?g.json.children=await g.json.getChildren():g.json.children=[]),g.rootPath=A.json.rootPath?A.json.rootPath:A.rootPath,g.json.refine?g.refine=g.json.refine:g.refine=A.parentRefine,g.json.geometricError?g.geometricError=g.json.geometricError:g.geometricError=A.parentGeometricError,g.json.transform){let Q=new x.Matrix4;Q.elements=g.json.transform,g.applyMatrix4(Q)}if(g.json.boundingVolume)if(g.json.boundingVolume.box)g.boundingVolume=new ig(g.json.boundingVolume.box);else if(g.json.boundingVolume.region){const Q=g.json.boundingVolume.region;g._transformWGS84ToCartesian(Q[0],Q[1],Q[4],Wg),g._transformWGS84ToCartesian(Q[2],Q[3],Q[5],uI),Wg.lerp(uI,.5),g.boundingVolume=new x.Sphere(new x.Vector3(Wg.x,Wg.y,Wg.z),Wg.distanceTo(uI))}else if(g.json.boundingVolume.sphere){const Q=g.json.boundingVolume.sphere;g.boundingVolume=new x.Sphere(new x.Vector3(Q[0],Q[1],Q[2]),Q[3])}else g.boundingVolume=A.parentBoundingVolume;else g.boundingVolume=A.parentBoundingVolume;function I(Q){Q.uri&&Q.uri.includes("json")||Q.url&&Q.url.includes("json")?g.hasUnloadedJSONContent++:g.hasMeshContent++}if(g.json.content?(I(g.json.content),g.hasMeshContent==0&&(g.level=Math.max(0,g.parentTile?g.parentTile.level+.01:0)),g._load()):g.json.contents&&(g.json.contents.forEach(Q=>I(Q)),g.hasMeshContent==0&&(g.level=Math.max(0,g.parentTile?g.parentTile.level+.01:0))),g.centerModel&&(uI.copy(g.boundingVolume.center),this.json.boundingVolume.region&&(this._transformWGS84ToCartesian(.5*(this.json.boundingVolume.region[0]+this.json.boundingVolume.region[2]),.5*(this.json.boundingVolume.region[1]+this.json.boundingVolume.region[3]),.5*(this.json.boundingVolume.region[4]+this.json.boundingVolume.region[5]),Wg),PC.setFromUnitVectors(Wg.normalize(),Io.normalize()),g.applyQuaternion(PC)),uI.applyMatrix4(g.matrix),g.position.sub(uI),g.updateMatrices()),g.onLoadCallback&&g.onLoadCallback(g),!g.parentTile&&g.physics&&g.physics.sim&&(g.physics.rigidBodyID=g.physics.sim.addObject({object:g,type:g.physics.type,mass:g.physics.mass,position:g.position,rotation:g.quaternion,velocity:g.physics.velocity,angularVelocity:g.physics.angularVelocity})),g.isSetup=!0,g.level>0&&g.drawBoundingVolume)if(g.bbox&&console.log("double setup"),this.boundingVolume.aabb){let Q=this.boundingVolume.aabb.clone();Q.applyMatrix4(this.matrixWorld),g.bbox=new x.Box3Helper(Q,new x.Color(Math.random(),Math.random(),Math.random())),g.add(g.bbox),g.bbox.material.visible=!1}else g.boundingVolume instanceof ig&&(g.bbox=g.boundingVolume.helper(),g.add(g.bbox),g.bbox.material.visible=!1)}_assembleURL(A,g){A.endsWith("/")||(A+="/");try{const I=new URL(A);let Q=I.pathname.split("/").filter(a=>a!==""),C=g.split("/").filter(a=>a!=="");for(let a=1;a<=Q.length&&!(a>=C.length);a++)if(Q.slice(Q.length-a,Q.length).join("/")===C.slice(0,a).join("/")){for(let i=0;i<a;i++)Q.pop();break}for(;C.length>0&&C[0]==="..";)Q.pop(),C.shift();return`${I.protocol}//${I.host}/${[...Q,...C].join("/")}`}catch{return A.endsWith("/")||g.startsWith("/")?A+g:A+"/"+g}}_extractQueryParams(A,g){try{const I=new URL(A);for(let[Q,C]of I.searchParams)g[Q]=C;return I.search="",I.toString()}catch{return A}}async _load(A=!0,g=!0){var I=this;if(!I.deleted||!g){if(I.json.content)await Q(I.json.content,null,A,g);else if(I.json.contents){let C=I.json.contents.map((a,E)=>Q(a,E,A,g));Promise.all(C)}}async function Q(C,a,E,i){let t;C.uri?t=C.uri:C.url&&(t=C.url);const e=/^(?:http|https|ftp|tcp|udp):\/\/\S+/;if(e.test(I.rootPath)?e.test(t)||(t=I._assembleURL(I.rootPath,t)):t=I.rootPath+eI.sep+t,t.startsWith("/local-tiles")||(t=I._extractQueryParams(t,I.queryParams)),I.queryParams){var o="";for(let s in I.queryParams)I.queryParams.hasOwnProperty(s)&&(o+="&"+s+"="+I.queryParams[s]);t.includes("?")?t+=o:t+="?"+o.substring(1)}if(t)if(I.contentURL.push(t),i&&(t.includes(".b3dm")||t.includes(".glb")||t.includes(".gltf")))try{I.tileLoader.get(I.abortController,I.uuid,t,s=>{if(!I.deleted){if(s.asset&&s.asset.copyright&&(s.asset.copyright.split(";").forEach(n=>{Rg[n]?Rg[n]++:Rg[n]=1}),I.displayCopyright&&tQ()),s.isSplatsData){if(!I.splatsMesh){if(I.splatsMesh=new ME(I.tileLoader.renderer,void 0,void 0,I.oldUltraMeshSplats?.25:1),I.splatsMesh.setQuality(I.splatsQuality),I.splatsMesh.setSplatsCPUCulling(I.splatsCPUCulling),I.splatsMesh.setSplatsCropRadius(I.splatsCropRadius),I.splatsMesh.setSplatsSizeMultiplier(I.splatsSizeMultiplier),I.splatsExposureEV!==void 0&&typeof I.splatsMesh.setExposureEV=="function"&&I.splatsMesh.setExposureEV(I.splatsExposureEV),I.splatsSaturation!==void 0&&typeof I.splatsMesh.setSaturation=="function"&&I.splatsMesh.setSaturation(I.splatsSaturation),I.splatsContrast!==void 0&&typeof I.splatsMesh.setContrast=="function"&&I.splatsMesh.setContrast(I.splatsContrast),I.splatsTempTint!==void 0&&typeof I.splatsMesh.setTempTint=="function"){const n=I.splatsTempTint||[0,0];I.splatsMesh.setTempTint(n[0],n[1])}I.static&&(I.splatsMesh.matrixAutoUpdate=!1,I.splatsMesh.matrixWorldAutoUpdate=!1),I.add(I.splatsMesh),I.updateMatrices()}s=I.splatsMesh.addSplatsTile(s.positions,s.colors,s.cov0,s.cov1)}return s.isSplatsBatch||(s.traverse(n=>{if((n.isMesh||n.isPoints)&&n.layers.disable(0),n.isMesh&&I.occlusionCullingService){const r=n.geometry.attributes.position,c=[];for(let D=0;D<r.count;D++)c.push(I.color.r,I.color.g,I.color.b);n.geometry.setAttribute("color",new x.Float32BufferAttribute(c,3))}}),I.add(s),I.updateMatrices()),I.meshContent.push(s),s}},I.cameraOnLoad?()=>I.loadingStrategy=="IMMEDIATE"?I._calculateDistanceToCamera(I.cameraOnLoad):I.loadingStrategy=="INCREMENTAL"?I.parentTile?I.parentTile._calculateDistanceToCamera(I.cameraOnLoad)/Math.max(1,I.parentTile.level):I._calculateDistanceToCamera(I.cameraOnLoad)/Math.max(1,I.level):I.loadingStrategy=="PERLEVEL"?I.parentTile?I.level+I.parentTile._calculateDistanceToCamera(I.cameraOnLoad):I.level+I._calculateDistanceToCamera(I.cameraOnLoad):0:()=>0,()=>I._getSiblings(),I.level,I.loadingStrategy,!I.json.boundingVolume.region,!!I.json.boundingVolume.region,I.geometricError,I.oldUltraMeshSplats)}catch(s){I.displayErrors&&VC(s)}else E&&t.includes(".json")&&(I.jsonRequested=t,I.tileLoader.get(I.abortController,I.uuid,t,async s=>{I.jsonReceived=!0,s.rootPath=eI.dirname(t),I.json.children.push(s),a==null?delete I.json.content:I.json.contents.splice(a,1),I.hasUnloadedJSONContent--}))}}dispose(){const A=this;if(A.physics&&A.physics.sim&&(A.colliderUUID&&(A.physics.sim.detachCollider({colliderId:A.colliderUUID}),A.colliderUUID=void 0),Array.isArray(A.colliderUUIDs)&&A.colliderUUIDs.length)){for(const g of A.colliderUUIDs)A.physics.sim.detachCollider({colliderId:g});A.colliderUUIDs=[]}A.meshContent.forEach(g=>{g&&g.asset&&g.asset.copyright&&(g.asset.copyright.split(";").forEach(I=>{Rg[I]&&Rg[I]--}),A.displayCopyright&&tQ())}),A.childrenTiles.forEach(g=>g.dispose()),A.deleted=!0,A.splatsMesh&&(A.meshContent.forEach(g=>g.hide()),A.parentTile||(A.splatsMesh.dispose(),A.splatsMesh=void 0)),A.contentURL&&(A.contentURL.forEach(g=>{A.tileLoader.invalidate(g,A.uuid)}),A.contentURL=[]),A.abortController&&!A.jsonRequested&&A.abortController.abort("tile not needed"),this.parent=null,A.meshContent=[],A.bbox&&A.bbox.dispose(),this.dispatchEvent({type:"removed"})}_disposeMeshContent(){const A=this;if(!A.deleted){A.deleted=!0,A.abortController&&(A.abortController.abort("tile not needed"),A.abortController=new AbortController);for(let g=A.meshContent.length-1;g>=0;g--){const I=A.meshContent[g];I&&I.asset&&I.asset.copyright&&(I.asset.copyright.split(";").forEach(Q=>{Rg[Q]&&Rg[Q]--}),A.displayCopyright&&tQ()),A.remove(I)}A.splatsMesh&&A.meshContent.forEach(g=>g.hide()),A.meshContent=[],A.contentURL.forEach(g=>{A.tileLoader.invalidate(g,A.uuid)}),A.contentURL=[]}}_disposeChildren(){var A=this;A.childrenTiles.forEach(g=>{g.dispose(),A.remove(g)}),A.childrenTiles=[]}raycast(A,g){if(this.splatsMesh){tB.copy(A.ray),oB.copy(this.matrixWorld).invert(),tB.applyMatrix4(oB);let I=!1;if(this.boundingVolume instanceof ig)I=this.boundingVolume.intersectsRay(tB);else{if(!(this.boundingVolume instanceof x.Sphere))return!1;I=ray.intersectsSphere(this.boundingVolume)}return I&&this.materialVisibility&&this.splatsReady&&(sB.length=0,this.meshContent.forEach(Q=>{Q.isSplatsBatch&&(Q.raycast(tB,sB,A.params.Points.threshold),sB.forEach(C=>{C.point.applyMatrix4(this.matrixWorld)}),g.push(...sB))})),I}return super.raycast(A,g)}update(A){this.splatsMesh&&this.splatsMesh.updateShaderParams(A,this.renderer);const g=new x.Frustum;g.setFromProjectionMatrix(new x.Matrix4().multiplyMatrices(A.projectionMatrix,A.matrixWorldInverse));let I=[0],Q=[0],C=[0],a=[0];if(this.refine=="REPLACE"?this.loadingStrategy==="IMMEDIATE"?(this._updateImmediate(A,g),this._statsImmediate(C,I,a,Q)):(this._update(A,g),this._stats(C,I,a,Q)):(this._update(A,g),this._stats(C,I,a,Q)),I>0&&(a[0]/=I[0]),this.splatsMesh)if(nB.copy(A.position),oB.copy(this.matrixWorld).invert(),nB.applyMatrix4(oB),this.splatsCPUCulling){const E=new x.Matrix4().multiplyMatrices(A.projectionMatrix,A.matrixWorldInverse).multiply(this.matrixWorld);this.splatsMesh.sort(nB,E)}else this.splatsMesh.sort(nB);return this.splatsMesh&&this.splatsMesh.update(),{numTilesLoaded:I[0],numTilesRendered:Q[0],maxLOD:C[0],percentageLoaded:a[0]}}_updateImmediate(A,g){this._computeMetricRecursive(A,g),this._updateNodeVisibilityImmediate(),this._expandTreeImmediate(A),this.shouldBeVisible=this.metric>0||!!this.loadOutsideView,this._shouldBeVisibleUpdateImmediate(),this._trimTreeImmediate(),this._loadMeshImmediate()}_statsImmediate(A,g,I,Q){A[0]=Math.max(A[0],this.level),(this.shouldBeVisible||this.materialVisibility)&&(g[0]++,this.materialVisibility&&I[0]++),this.materialVisibility&&Q[0]++,this.childrenTiles.forEach(C=>{C._statsImmediate(A,g,I,Q)})}_stats(A,g,I,Q){A[0]=Math.max(A[0],this.level),this.hasMeshContent&&(g[0]++,this.meshContent.length==this.hasMeshContent&&I[0]++,this.materialVisibility&&Q[0]++),this.childrenTiles.forEach(C=>{C._stats(A,g,I,Q)})}_trimTreeImmediate(){const A=this;if(A.metric!=null)if(A.hasMeshContent&&A.shouldBeVisible&&A.materialVisibility){if(A.splatsMesh&&!A.splatsReady)return;A._disposeChildren()}else A.childrenTiles.forEach(g=>{g._trimTreeImmediate()})}_updateNodeVisibilityImmediate(A=!1){const g=this;if(g.hasMeshContent)if(g.shouldBeVisible)g.meshContent.length==g.hasMeshContent?g.materialVisibility?g.childrenTiles.forEach(I=>{I._updateNodeVisibilityImmediate(!0)}):(g._changeContentVisibility(!0),g.childrenTiles.forEach(I=>{I._updateNodeVisibilityImmediate(A)})):g.childrenTiles.forEach(I=>{I._updateNodeVisibilityImmediate(A)});else{if(!g.loadOutsideView&&g.metric<0)return g._changeContentVisibility(!1),g.meshContent.length>0&&g._disposeMeshContent(),void g.childrenTiles.forEach(I=>{I._updateNodeVisibilityImmediate(!0)});if(!g.materialVisibility||g.splatsMesh&&!g.splatsReady)g.childrenTiles.forEach(I=>{I._updateNodeVisibilityImmediate(A)});else if(A)g._changeContentVisibility(!1),g.meshContent.length>0&&g._disposeMeshContent(),g.childrenTiles.forEach(I=>{I._updateNodeVisibilityImmediate(A)});else{let I=!0;g.childrenTiles.every(Q=>!!Q._isReadyImmediate()||(I=!1,!1)),I&&g.childrenTiles.length>0?(g._changeContentVisibility(!1),g.meshContent.length>0&&g._disposeMeshContent(),g.childrenTiles.forEach(Q=>{Q._updateNodeVisibilityImmediate(A)})):g.childrenTiles.forEach(Q=>{Q._updateNodeVisibilityImmediate(!g.splatsMesh||!!g.splatsReady)})}}else g.childrenTiles.forEach(I=>{I._updateNodeVisibilityImmediate(A)})}_shouldBeVisibleUpdateImmediate(){const A=this;A.hasMeshContent?A.metric==null?A.shouldBeVisible=!1:A.metric<0?(A.shouldBeVisible=!!A.loadOutsideView,A.childrenTiles.forEach(g=>{g._setShouldNotBeVisibleRecursive()})):A.metric<A.geometricErrorMultiplier*A.geometricError?A.hasUnloadedJSONContent||(A.json&&A.json.children&&A.json.children.length>0?(A.shouldBeVisible=!1,A.childrenTiles.forEach(g=>{g.shouldBeVisible=!0,g._shouldBeVisibleUpdateImmediate()})):A.shouldBeVisible=!0):A.childrenTiles.forEach(g=>{g._setShouldNotBeVisibleRecursive()}):(A.childrenTiles.forEach(g=>{g.shouldBeVisible=!0,g._shouldBeVisibleUpdateImmediate()}),A.shouldBeVisible=!1)}_setShouldNotBeVisibleRecursive(){this.shouldBeVisible=!1,this.childrenTiles.forEach(A=>{A._setShouldNotBeVisibleRecursive()})}_loadMeshImmediate(){const A=this;A.hasMeshContent&&A.shouldBeVisible?A.meshContent.length<A.hasMeshContent&&A.contentURL.length==0&&(A.deleted=!1,A._load(!1,!0)):A.childrenTiles.forEach(g=>{g._loadMeshImmediate()})}_computeMetricRecursive(A,g){const I=this;I.metric=-1,I.isSetup&&(I.boundingVolume&&I.geometricError&&(I.metric=I._calculateUpdateMetric(A,g)),I.childrenTiles.forEach(Q=>Q._computeMetricRecursive(A,g)))}_expandTreeImmediate(A){const g=this;g.hasUnloadedJSONContent||(g.hasMeshContent?g.occlusionCullingService&&g.hasMeshContent&&!g.occlusionCullingService.hasID(g.colorID)||g.metric>=0&&g.metric<g.geometricErrorMultiplier*g.geometricError&&g.json&&g.json.children&&g.childrenTiles.length<g.json.children.length&&g._loadJsonChildren(A):g.json&&g.json.children&&g.childrenTiles.length<g.json.children.length&&g._loadJsonChildren(A)),g.childrenTiles.forEach(I=>I._expandTreeImmediate(A))}_update(A,g){const I=this;if(!I.isSetup)return;const Q=I.materialVisibility;I.boundingVolume&&I.geometricError&&(I.metric=I._calculateUpdateMetric(A,g)),I.childrenTiles.forEach(C=>C._update(A,g)),function(C){if(C<0)return I.inFrustum=!1,void I._changeContentVisibility(!!I.loadOutsideView);if(I.inFrustum=!0,!!I.hasMeshContent&&!(I.meshContent.length<I.hasMeshContent)){if(I.childrenTiles.length==0)return void I._changeContentVisibility(!0);if(C>=I.geometricErrorMultiplier*I.geometricError)I._changeContentVisibility(!0);else if(C<I.geometricErrorMultiplier*I.geometricError&&I.refine=="REPLACE"){let a=!0;I.childrenTiles.every(E=>!!E._isReady()||(a=!1,!1)),a?I._changeContentVisibility(!1):I._changeContentVisibility(!0)}}}(I.metric),function(C){C<0&&I.hasMeshContent||I.occlusionCullingService&&I.hasMeshContent&&!I.occlusionCullingService.hasID(I.colorID)||(!I.hasMeshContent||C<=I.geometricErrorMultiplier*I.geometricError&&(I.meshContent.length>0||I.splatsMesh))&&I.json&&I.json.children&&I.childrenTiles.length!=I.json.children.length&&I._loadJsonChildren(A)}(I.metric),function(C,a){if(I.hasMeshContent){if(!I.inFrustum)return void I._disposeChildren();if(I.occlusionCullingService&&!a&&I.hasMeshContent&&I.meshContent.length>0&&I.materialVisibility&&I._areAllChildrenLoadedAndHidden())return I.splatsMesh&&I.materialVisibility&&!I.splatsReady?void 0:void I._disposeChildren();if(C>=I.geometricErrorMultiplier*I.geometricError){if(I.splatsMesh&&I.materialVisibility&&!I.splatsReady)return;I._disposeChildren()}}}(I.metric,Q)}_loadJsonChildren(A){const g=this;for(let I=g.json.children.length-1;I>=0;I--)g.json.children[I].root||g.json.children[I].children||g.json.children[I].getChildren||g.json.children[I].content||g.json.children[I].contents||g.json.children.splice(I,1);g.json.children.forEach(I=>{let Q=new YQ({parentTile:g,queryParams:g.queryParams,parentGeometricError:g.geometricError,parentBoundingVolume:g.boundingVolume,parentRefine:g.refine,json:I,rootPath:g.rootPath,geometricErrorMultiplier:g.geometricErrorMultiplier,loadOutsideView:g.loadOutsideView,level:Math.floor(g.level)+1,tileLoader:g.tileLoader,cameraOnLoad:A,occlusionCullingService:g.occlusionCullingService,renderer:g.renderer,static:g.static,centerModel:!1,displayErrors:g.displayErrors,displayCopyright:g.displayCopyright,distanceBias:g.distanceBias,loadingStrategy:g.loadingStrategy,drawBoundingVolume:g.drawBoundingVolume,splatsMesh:g.splatsMesh,clipShape:g.clipShape,oldUltraMeshSplats:g.oldUltraMeshSplats,physics:g.physics});g.childrenTiles.push(Q),g.add(Q)}),g.updateMatrices(!0)}_areAllChildrenLoadedAndHidden(){let A=!0;const g=this;return this.childrenTiles.every(I=>{if(I.hasMeshContent){if(I.childrenTiles.length>0)return A=!1,!1;if(I.metric<0)return!0;if(I.materialVisibility&&(!g.splatsMesh||g.splatsReady)||g.occlusionCullingService.hasID(I.colorID))return A=!1,!1}else if(!I._areAllChildrenLoadedAndHidden())return A=!1,!1;return!0}),A}_isReady(){if(this.metric==null)return!1;if(this.metric<0)return!0;if(this.hasUnloadedJSONContent)return!1;if(!this.hasMeshContent&&this.json.children.length==0&&!this.hasUnloadedJSONContent)return!0;if(!this.hasMeshContent||this.meshContent.length==0||!this.materialVisibility){if(this.children.length>0){var A=!0;return this.childrenTiles.every(g=>!!g._isReady()||(A=!1,!1)),A}return!1}return!this.hasMeshContent||!(this.meshContent.length<this.hasMeshContent)&&!!this.materialVisibility}_isReadyImmediate(){if(this.materialVisibility||!this.loadOutsideView&&this.metric<0)return!0;if(this.childrenTiles.length>0){var A=!0;return this.childrenTiles.every(g=>!!g._isReadyImmediate()||(A=!1,!1)),A}return!1}_changeContentVisibility(A){const g=this;if(g.materialVisibility!=A){if(g.bbox&&(g.bbox.material.visible=A),g.splatsMesh)A!=g.materialVisibility&&(g.meshContent.forEach(I=>{A&&I.isSplatsBatch?I.show(()=>{g.materialVisibility&&(g.splatsReady=!0)}):(I.hide(),g.splatsReady=!1)}),g.materialVisibility=A);else{if(g.hasMeshContent&&g.meshContent.length>0&&(A?g.meshContent.forEach(I=>{I.traverse(Q=>{(Q.isMesh||Q.isPoints)&&Q.layers.enable(0)})}):g.meshContent.forEach(I=>{I.traverse(Q=>{(Q.isMesh||Q.isPoints)&&Q.layers.disable(0)})})),g.materialVisibility==A)return;g.materialVisibility=A}g._updateCollider()}}setPose(A,g,I){if(!A.isVector3)throw new TypeError("OGC3DTile.setPose: 'position' must be an instance of THREE.Vector3");if(!I.isVector3)throw new TypeError("OGC3DTile.setPose: 'scale' must be an instance of THREE.Vector3");if(!g.isEuler&&!g.isQuaternion)throw new TypeError("OGC3DTile.setPose: 'rotation' must be a THREE.Euler or THREE.Quaternion");this.physics&&this.physics.sim&&this.physics.rigidBodyID?(this.physics.sim.setPose({bodyId:this.physics.rigidBodyID,position:A,rotation:g}),I&&!I.equals(this.scale)&&(this.scale.copy(I),this.updateMatrices(),this.traverse(Q=>{Q._updateCollider&&Q._updateCollider()}))):(this.scale.copy(I),g.isQuaternion?this.setRotationFromQuaternion(g):this.setRotationFromEuler(g),this.position.copy(A),this.updateMatrices())}_updateCollider(){const A=this;if(!A.physics||!A.physics.sim)return;const g=A.physics.rigidBodyID,I=A.physics.shape,Q=Number.isFinite(A.physics.maxLOD)?A.physics.maxLOD:1/0,C=Math.floor(A.level||0),a=!!A.materialVisibility,E=Array.isArray(A.childrenTiles)&&A.childrenTiles.length>0,i=()=>{A.colliderUUID&&(A.physics.sim.detachCollider({colliderId:A.colliderUUID}),A.colliderUUID=void 0)},t=()=>{if(Array.isArray(A.colliderUUIDs)&&A.colliderUUIDs.length){for(const h of A.colliderUUIDs)A.physics.sim.detachCollider({colliderId:h});A.colliderUUIDs=[]}},e=()=>{i(),t()};if(!g||!I||I==="none"||C>Q)return void e();const o=a&&C<=Q;let s=A;for(;s&&s.parentTile;)s=s.parentTile;const n=new x.Vector3,r=new x.Quaternion,c=new x.Vector3;s&&s.matrixWorld&&s.matrixWorld.decompose(n,r,c);const D=new x.Matrix4().compose(n,r,new x.Vector3(1,1,1)),w=new x.Matrix4().copy(D).invert();if(I!=="bounds"){if(I==="mesh")if(i(),o){if(!A.hasMeshContent||A.meshContent.length!==A.hasMeshContent)return;if(!Array.isArray(A.colliderUUIDs)||A.colliderUUIDs.length===0){A.colliderUUIDs=[];const h=d=>{if(!(d&&d.isMesh&&d.geometry&&d.geometry.isBufferGeometry))return;const f=new x.Matrix4().multiplyMatrices(w,d.matrixWorld),p=new x.Vector3,R=new x.Quaternion,k=new x.Vector3;f.decompose(p,R,k);const G=new x.Vector3;d.getWorldScale(G),G.set(Math.abs(G.x),Math.abs(G.y),Math.abs(G.z)),A.physics.sim.attachTrimeshCollider({bodyId:g,geometry:d.geometry,localPosition:[p.x,p.y,p.z],localRotation:R,localScale:[G.x,G.y,G.z]}).then(N=>{const S=!A.deleted&&A.physics.shape==="mesh",U=Math.floor(A.level||0)<=Q,j=Math.floor(A.level||0)===Q&&Array.isArray(A.childrenTiles)&&A.childrenTiles.length>0;S&&(A.materialVisibility?U:U&&j)?N&&A.colliderUUIDs.push(N):N&&A.physics.sim.detachCollider({colliderId:N})}).catch(()=>{})};for(const d of A.meshContent)d&&!d.isSplatsBatch&&(d.isMesh&&h(d),d.traverse&&d.traverse(f=>{f.isMesh&&h(f)}))}}else C===Q&&E||t()}else if(t(),o){if(!A.colliderUUID){if(A.boundingVolume instanceof ig||A.boundingVolume?.isOBB){const h=A.localToWorld(A.boundingVolume.center.clone()).clone().applyMatrix4(w),d=A.localToWorld(new x.Vector3(0,0,0)).clone().applyMatrix4(w),f=A.boundingVolume.e1.clone().multiplyScalar(A.boundingVolume.halfSize.x),p=A.boundingVolume.e2.clone().multiplyScalar(A.boundingVolume.halfSize.y),R=A.boundingVolume.e3.clone().multiplyScalar(A.boundingVolume.halfSize.z),k=A.localToWorld(f.clone()).applyMatrix4(w),G=A.localToWorld(p.clone()).applyMatrix4(w),N=A.localToWorld(R.clone()).applyMatrix4(w),S=k.clone().sub(d),U=G.clone().sub(d),j=N.clone().sub(d),z=S.length(),AA=U.length(),_=j.length(),X=z>0?S.clone().multiplyScalar(1/z):new x.Vector3(1,0,0),EA=AA>0?U.clone().multiplyScalar(1/AA):new x.Vector3(0,1,0),cA=_>0?j.clone().multiplyScalar(1/_):new x.Vector3(0,0,1),nA=new x.Matrix4().makeBasis(X,EA,cA),lA=new x.Quaternion().setFromRotationMatrix(nA);A.colliderUUID=A.physics.sim.attachShapeCollider({bodyId:g,shape:WC.createBox(z,AA,_),localPosition:[h.x,h.y,h.z],localRotation:lA})}else if(A.boundingVolume instanceof x.Sphere||A.boundingVolume?.isSphere){const h=A.localToWorld(A.boundingVolume.center.clone()).clone().applyMatrix4(w),d=A.localToWorld(new x.Vector3(0,0,0)).clone().applyMatrix4(w),f=A.localToWorld(new x.Vector3(1,0,0)).applyMatrix4(w).sub(d).length(),p=A.localToWorld(new x.Vector3(0,1,0)).applyMatrix4(w).sub(d).length(),R=A.localToWorld(new x.Vector3(0,0,1)).applyMatrix4(w).sub(d).length(),k=Math.max(f,p,R),G=A.boundingVolume.radius*k;A.colliderUUID=A.physics.sim.attachShapeCollider({bodyId:g,shape:WC.createBall(G),localPosition:[h.x,h.y,h.z]})}}}else C===Q&&E||i()}_calculateUpdateMetric(A,g){let I=0;if(this.boundingVolume instanceof ig){if(Sg.copy(this.boundingVolume),Sg.applyMatrix4(this.matrixWorld),!Sg.inFrustum(g))return-1;if(this.clipShape!=null&&(this.clipShape.isSphere&&!Sg.intersectsSphere(this.clipShape)||this.clipShape.isOBB&&!Sg.intersectsOBB(this.clipShape)))return Number.MAX_VALUE;I=Math.max(0,Sg.distanceToPoint(A.position)-A.near)}else{if(!(this.boundingVolume instanceof x.Sphere))return console.error("unsupported shape"),-1;if(fg.copy(this.boundingVolume),fg.applyMatrix4(this.matrixWorld),this.clipShape!=null&&(this.clipShape.isOBB&&!this.clipShape.intersectsSphere(fg)||this.clipShape.isSphere&&!this.clipShape.intersectsSphere(fg)))return Number.MAX_VALUE;if(!g.intersectsSphere(fg))return-1;I=Math.max(0,A.position.distanceTo(fg.center)-fg.radius-A.near)}if(I=Math.pow(I,this.distanceBias),I==0)return 0;const Q=this.matrixWorld.getMaxScaleOnAxis();this.renderer&&this.renderer.getDrawingBufferSize(this.rendererSize);let C=this.rendererSize.y,a=A.fov;return A.aspect<1&&(a*=A.aspect,C=this.rendererSize.x),16*(2*Math.tan(.5*a*.017453292519943295)*I)/(C*Q)}_getSiblings(){const A=this,g=[];if(!A.parentTile)return g;let I=A.parentTile;for(;!I.hasMeshContent&&I.parentTile;)I=I.parentTile;return I.childrenTiles.forEach(Q=>{if(Q&&Q!=A){for(;!Q.hasMeshContent&&Q.childrenTiles[0];)Q=Q.childrenTiles[0];g.push(Q)}}),g}_calculateDistanceToCamera(A){return this.boundingVolume instanceof ig?(Sg.copy(this.boundingVolume),Sg.applyMatrix4(this.matrixWorld),Math.max(0,Sg.distanceToPoint(A.position))):this.boundingVolume instanceof x.Sphere?(fg.copy(this.boundingVolume),fg.applyMatrix4(this.matrixWorld),Math.max(0,A.position.distanceTo(fg.center)-fg.radius)):(console.error("unsupported shape"),-1)}setGeometricErrorMultiplier(A){this.geometricErrorMultiplier=A,this.childrenTiles.forEach(g=>g.setGeometricErrorMultiplier(A))}setDistanceBias(A){this.distanceBias=A,this.childrenTiles.forEach(g=>g.setDistanceBias(A))}_transformWGS84ToCartesian(A,g,I,Q){const C=6378137/Math.sqrt(1-.006694384442042*Math.pow(Math.sin(g),2)),a=Math.cos(g),E=Math.cos(A),i=Math.sin(g),t=C+I,e=t*a*E,o=t*a*Math.sin(A),s=(.993305615557957*C+I)*i;Q.set(e,o,s)}hideCopyright(){(function(){MA||((MA=document.createElement("div")).style.position="fixed",MA.style.bottom="20px",MA.style.left="20px",MA.style.color="white",MA.style.textShadow="2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000",MA.style.padding="10px",MA.style.backgroundColor="rgba(0, 0, 0, 0.1)",document.body.appendChild(MA)),MA.style.opacity=0})()}showCopyright(){(function(){MA||((MA=document.createElement("div")).style.position="fixed",MA.style.bottom="20px",MA.style.left="20px",MA.style.color="white",MA.style.textShadow="2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000",MA.style.padding="10px",MA.style.backgroundColor="rgba(0, 0, 0, 0.1)",document.body.appendChild(MA)),MA.style.opacity=1})()}}function VC(B){var A=document.createElement("div");A.textContent=B,A.style.position="fixed",A.style.top="10px",A.style.left="50%",A.style.transform="translateX(-50%)",A.style.padding="10px",A.style.backgroundColor="#ff8800",A.style.color="#ffffff",A.style.zIndex="9999",document.body.appendChild(A),setTimeout(function(){A.remove()},8e3)}function tQ(){MA||((MA=document.createElement("div")).style.position="fixed",MA.style.bottom="20px",MA.style.left="20px",MA.style.color="white",MA.style.textShadow="2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000",MA.style.padding="10px",MA.style.backgroundColor="rgba(0, 0, 0, 0.1)",document.body.appendChild(MA));const B=pE();let A="";B.forEach(g=>{A+=g+", "}),A=A.slice(0,-2),MA.textContent=A}const ag=new x.Sphere(new x.Vector3(0,0,0),1),Pg=new x.Vector3(0,0,0),oQ=new x.Vector3(0,0,0),Bo=new x.Vector3(0,1,0),nQ=new x.Vector2,zC=new x.Quaternion,XC=new x.Matrix4;class xQ extends x.Object3D{constructor(A){super();const g=this;if(A.queryParams&&(this.queryParams={...A.queryParams}),this.uuid=Ta(),A.tileLoader?this.tileLoader=A.tileLoader:console.error("an instanced tileset must be provided an InstancedTilesetLoader"),this.master=A.master,this.loadOutsideView=A.loadOutsideView,this.cameraOnLoad=A.cameraOnLoad,this.parentTile=A.parentTile,this.distanceBias=Math.max(1e-4,A.distanceBias?A.distanceBias:1),this.childrenTiles=[],this.jsonChildren=[],this.meshContent=new Set,this.static=A.static,this.static&&(this.matrixAutoUpdate=!1,this.matrixWorldAutoUpdate=!1),this.tileContent,this.refinement,this.rootPath,this.geometricError,this.boundingVolume,this.json,this.materialVisibility=!1,this.inFrustum=!0,this.level=A.level?A.level:0,this.hasMeshContent=0,this.hasUnloadedJSONContent=0,this.centerModel=A.centerModel,this.deleted=!1,this.abortController=new AbortController,A.json)this.rootPath=A.json.rootPath?A.json.rootPath:A.rootPath,A.json.children&&(this.jsonChildren=A.json.children),g.setup(A);else if(A.url){this.loadJson=(C,a)=>{const E=eI.dirname(a);g.setup({rootPath:E,json:C,onLoadCallback:A.onLoadCallback})};var I=A.url;if(g.queryParams){var Q="";for(let C in g.queryParams)g.queryParams.hasOwnProperty(C)&&(Q+="&"+C+"="+g.queryParams[C]);I.includes("?")?I+=Q:I+="?"+Q.substring(1)}g.tileLoader.get(g.abortController,I,g.uuid,g)}}async setup(A){const g=this;A.json.root?(g.json=A.json.root,!g.json.children&&g.json.getChildren&&(g.json.children=await g.json.getChildren()),g.jsonChildren=g.json.children,g.json.refinement||(g.json.refinement=A.json.refinement),g.json.geometricError||(g.json.geometricError=A.json.geometricError),g.json.transform||(g.json.transform=A.json.transform),g.json.boundingVolume||(g.json.boundingVolume=A.json.boundingVolume)):(g.json=A.json,!g.json.children&&g.json.getChildren&&(g.json.children=await g.json.getChildren(),g.jsonChildren=g.json.children)),g.rootPath=A.json.rootPath?A.json.rootPath:A.rootPath,g.json.refinement?g.refinement=g.json.refinement:g.refinement=A.parentRefinement,g.json.geometricError?g.geometricError=g.json.geometricError:g.geometricError=A.parentGeometricError;let I=new x.Matrix4;if(g.json.transform&&!g.centerModel&&(I.elements=g.json.transform),g.applyMatrix4(I),g.parentTile&&g.parentTile.matrix&&(g.matrix.premultiply(g.parentTile.matrix),g.matrix.decompose(g.position,g.quaternion,g.scale)),g.matrixWorldNeedsUpdate=!0,g.updateWorldMatrix(!0,!0),g.json.boundingVolume)if(g.json.boundingVolume.box)g.boundingVolume=new ig(g.json.boundingVolume.box);else if(g.json.boundingVolume.region){const C=g.json.boundingVolume.region;g.transformWGS84ToCartesian(C[0],C[1],C[4],Pg),g.transformWGS84ToCartesian(C[2],C[3],C[5],oQ),Pg.lerp(oQ,.5),g.boundingVolume=new x.Sphere(new x.Vector3(Pg.x,Pg.y,Pg.z),Pg.distanceTo(oQ))}else if(g.json.boundingVolume.sphere){const C=g.json.boundingVolume.sphere;g.boundingVolume=new x.Sphere(new x.Vector3(C[0],C[1],C[2]),C[3])}else g.boundingVolume=A.parentBoundingVolume;else g.boundingVolume=A.parentBoundingVolume;function Q(C){C.uri&&C.uri.includes("json")||C.url&&C.url.includes("json")?g.hasUnloadedJSONContent++:g.hasMeshContent++}if(g.json.content?(Q(g.json.content),g.load()):g.json.contents&&(g.json.contents.forEach(C=>Q(C)),g.load()),g.centerModel){const C=new x.Sphere;g.boundingVolume instanceof ig?C.copy(g.boundingVolume.sphere):g.boundingVolume instanceof x.Sphere&&C.copy(g.boundingVolume),this.json.boundingVolume.region&&(g.transformWGS84ToCartesian(.5*(g.json.boundingVolume.region[0]+g.json.boundingVolume.region[2]),.5*(g.json.boundingVolume.region[1]+g.json.boundingVolume.region[3]),.5*(g.json.boundingVolume.region[4]+g.json.boundingVolume.region[5]),Pg),zC.setFromUnitVectors(Pg.normalize(),Bo.normalize()),g.master.applyQuaternion(zC),g.master.updateWorldMatrix(!1,!1)),XC.makeTranslation(-C.center.x*g.scale.x,-C.center.y*g.scale.y,-C.center.z*g.scale.z),g.master.matrix.multiply(XC),g.master.matrix.decompose(g.master.position,g.master.quaternion,g.master.scale)}g.isSetup=!0,A.onLoadCallback&&A.onLoadCallback(g)}isAbsolutePathOrURL(A){const g=/^(?:http|https|ftp|tcp|udp):\/\/\S+/.test(A),I=A.startsWith("/")&&!A.startsWith("//");return g||I}assembleURL(A,g){A.endsWith("/")||(A+="/");const I=new URL(A);let Q=I.pathname.split("/").filter(a=>a!==""),C=g.split("/").filter(a=>a!=="");for(let a=1;a<=Q.length&&!(a>=C.length);a++)if(Q.slice(Q.length-a,Q.length).join("/")===C.slice(0,a).join("/")){for(let E=0;E<a;E++)Q.pop();break}for(;C.length>0&&C[0]==="..";)Q.pop(),C.shift();return`${I.protocol}//${I.host}/${[...Q,...C].join("/")}`}extractQueryParams(A,g){const I=new URL(A);for(let[Q,C]of I.searchParams)g[Q]=C;return I.search="",I.toString()}load(){var A=this;function g(I){let Q;I.uri?Q=I.uri:I.url&&(Q=I.url);const C=/^(?:http|https|ftp|tcp|udp):\/\/\S+/;if(C.test(A.rootPath)?C.test(Q)||(Q=A.assembleURL(A.rootPath,Q)):eI.isAbsolute(A.rootPath)&&(Q=A.rootPath+eI.sep+Q),Q=A.extractQueryParams(Q,A.queryParams),A.queryParams){var a="";for(let E in A.queryParams)A.queryParams.hasOwnProperty(E)&&(a+="&"+E+"="+A.queryParams[E]);Q.includes("?")?Q+=a:Q+="?"+a.substring(1)}Q&&(Q.includes(".b3dm")||Q.includes(".glb")||Q.includes(".gltf")?(A.contentURL=Q,A.tileLoader.get(A.abortController,Q,A.uuid,A,A.cameraOnLoad?()=>A.calculateDistanceToCamera(A.cameraOnLoad):()=>0,()=>A.getSiblings(),A.level,!A.json.boundingVolume.region,!!A.json.boundingVolume.region,A.geometricError)):Q.includes(".json")&&A.tileLoader.get(A.abortController,Q,A.uuid,A))}A.deleted||(A.json.content?g(A.json.content):A.json.contents&&A.json.contents.forEach(I=>g(I)))}loadMesh(A){this.deleted||this.meshContent.add(A)}loadJson(A,g){this.deleted||(this.json.children&&(this.jsonChildren=this.json.children),A.rootPath=eI.dirname(g),this.jsonChildren.push(A),this.hasUnloadedJSONContent--)}dispose(){const A=this;A.childrenTiles.forEach(g=>g.dispose()),A.deleted=!0,A.abortController&&A.abortController.abort(),this.parent=null,this.parentTile=null,this.dispatchEvent({type:"removed"})}disposeChildren(){this.childrenTiles.forEach(A=>A.dispose()),this.childrenTiles=[]}_update(A,g){const I=this;function Q(C){if(I.hasMeshContent&&!(I.meshContent.size<I.hasMeshContent)){if(C<0)return I.inFrustum=!1,void I.changeContentVisibility(!!I.loadOutsideView);if(I.inFrustum=!0,I.childrenTiles.length!=0){if(C>=I.master.geometricErrorMultiplier*I.geometricError)I.changeContentVisibility(!0);else if(C<I.master.geometricErrorMultiplier*I.geometricError){let a=!0;I.childrenTiles.every(E=>!!E.isReady()||(a=!1,!1)),a&&I.changeContentVisibility(!1)}}else I.changeContentVisibility(!0)}}I.isSetup&&(I.materialVisibility,I.boundingVolume&&I.geometricError&&(I.metric=I.calculateUpdateMetric(A,g)),I.childrenTiles.forEach(C=>C._update(A,g)),Q(I.metric),function(C){C<0&&I.hasMeshContent||(!I.hasMeshContent&&I.rootPath||C<I.master.geometricErrorMultiplier*I.geometricError&&I.meshContent.size>0)&&I.json&&I.jsonChildren&&I.childrenTiles.length!=I.jsonChildren.length&&I.jsonChildren.forEach(a=>{if(!(a.root||a.children||a.getChildren||a.content||a.contents))return;let E=new xQ({parentTile:I,queryParams:I.queryParams,parentGeometricError:I.geometricError,parentBoundingVolume:I.boundingVolume,parentRefinement:I.refinement,json:a,rootPath:I.rootPath,loadOutsideView:I.loadOutsideView,level:I.level+1,tileLoader:I.tileLoader,cameraOnLoad:A,master:I.master,centerModel:!1});I.childrenTiles.push(E)})}(I.metric),function(C){if(I.hasMeshContent){if(!I.inFrustum)return I.disposeChildren(),void Q(C);C>=I.master.geometricErrorMultiplier*I.geometricError&&(I.disposeChildren(),Q(C))}}(I.metric))}areAllChildrenLoadedAndHidden(){let A=!0;return this.childrenTiles.every(g=>{if(g.hasMeshContent){if(g.childrenTiles.length>0)return A=!1,!1;if(!g.inFrustum)return!0;if(!g.materialVisibility||g.meshesToDisplay!=g.meshesDisplayed)return A=!1,!1}else if(!g.areAllChildrenLoadedAndHidden())return A=!1,!1;return!0}),A}isReady(){if(!this.inFrustum)return!0;if(this.hasUnloadedJSONContent)return!1;if(!this.hasMeshContent||this.meshContent.size==0||!this.materialVisibility){if(this.childrenTiles.length>0){var A=!0;return this.childrenTiles.every(g=>!!g.isReady()||(A=!1,!1)),A}return!1}return!this.hasMeshContent||!(this.meshContent.size<this.hasMeshContent)&&!!this.materialVisibility}changeContentVisibility(A){this.materialVisibility=A}calculateUpdateMetric(A,g){if(this.boundingVolume instanceof ig){if(ag.copy(this.boundingVolume.sphere),ag.applyMatrix4(this.matrixWorld),!g.intersectsSphere(ag))return-1}else{if(!(this.boundingVolume instanceof x.Sphere))return console.error("unsupported shape"),-1;if(ag.copy(this.boundingVolume),ag.applyMatrix4(this.matrixWorld),!g.intersectsSphere(ag))return-1}let I=Math.max(0,A.position.distanceTo(ag.center)-ag.radius);if(I=Math.pow(I,this.distanceBias),I==0)return 0;const Q=this.matrixWorld.getMaxScaleOnAxis();this.master._renderSize(nQ);let C=nQ.y,a=A.fov;A.aspect<1&&(a*=A.aspect,C=nQ.x);let E=2*Math.tan(.5*a*.017453292519943295)*I;return 16*window.devicePixelRatio*E/(C*Q)}getSiblings(){const A=this,g=[];if(!A.parentTile)return g;let I=A.parentTile;for(;!I.hasMeshContent&&I.parentTile;)I=I.parentTile;return I.childrenTiles.forEach(Q=>{if(Q&&Q!=A){for(;!Q.hasMeshContent&&Q.childrenTiles[0];)Q=Q.childrenTiles[0];g.push(Q)}}),g}calculateDistanceToCamera(A){return this.boundingVolume instanceof ig?(ag.copy(this.boundingVolume.sphere),ag.applyMatrix4(this.matrixWorld)):this.boundingVolume instanceof x.Sphere?(ag.copy(this.boundingVolume),ag.applyMatrix4(this.matrixWorld)):console.error("unsupported shape"),Math.max(0,A.position.distanceTo(ag.center)-ag.radius)}getWorldMatrix(){return this.matrixWorld}transformWGS84ToCartesian(A,g,I,Q){const C=6378137/Math.sqrt(1-.006694384442042*Math.pow(Math.sin(g),2)),a=Math.cos(g),E=Math.cos(A),i=Math.sin(g),t=C+I,e=t*a*E,o=t*a*Math.sin(A),s=(.993305615557957*C+I)*i;Q.set(e,o,s)}}class Qo extends x.Object3D{constructor(A){super(),A.master=this,A.domWidth&&A.domHeight?this.rendererSize=new x.Vector2(A.domWidth,A.domHeight):this.rendererSize=new x.Vector2(1e3,1e3),this.renderer=A.renderer,this.distanceBias=Math.max(1e-4,A.distanceBias?A.distanceBias:1),this.geometricErrorMultiplier=A.geometricErrorMultiplier?A.geometricErrorMultiplier:1,this.tileset=new xQ(A),A.static&&(this.matrixAutoUpdate=!1),this.tileLoader=A.tileLoader}_renderSize(A){this.renderer?this.renderer.getDrawingBufferSize(A):A.copy(this.rendererSize)}setCanvasSize(A,g){this.rendererSize.set(A,g)}update(A,g){if(g)this.tileset._update(A,g);else{const I=new x.Frustum;I.setFromProjectionMatrix(new x.Matrix4().multiplyMatrices(A.projectionMatrix,A.matrixWorldInverse)),this.tileset._update(A,I)}}setGeometricErrorMultiplier(A){this.geometricErrorMultiplier=A||1}}class Co{constructor(A){const g=this;g.scene=A,g.instancedTiles=[],g.instancedMesh,g.reuseableMatrix=new x.Matrix4}addInstance(A){const g=this;A.added=!0,A.listOMesh=g.instancedTiles,g.instancedTiles.push(A),g.instancedMesh&&A.loadMesh(g.instancedMesh)}addToScene(){const A=this;A.instancedMesh.setMatrixAt(0,new x.Matrix4),A.instancedMesh.instanceMatrix.needsUpdate=!0,A.instancedMesh.count=1,A.scene.add(A.instancedMesh),A.instancedMesh.onAfterRender=()=>{delete A.instancedMesh.onAfterRender,A.instancedMesh.displayedOnce=!0}}setObject(A){const g=this;g.instancedMesh=A,g.instancedMesh.matrixAutoUpdate=!1,g.instancedMesh.matrixWorldAutoUpdate=!1,g.scene.children.includes(A)||this.addToScene();for(let I=0;I<g.instancedTiles.length;I++)g.instancedTiles[I].loadMesh(g.instancedMesh)}update(){const A=this;for(let g=A.instancedTiles.length-1;g>=0;g--)A.instancedTiles[g].deleted&&A.instancedTiles.splice(g,1);if(A.instancedMesh){A.instancedMesh.count=0,A.instancedMesh.instancedTiles=[];for(let g=0;g<A.instancedTiles.length;g++)A.instancedTiles[g].meshContent.add(A.instancedMesh),A.instancedTiles[g].materialVisibility&&(A.instancedMesh.count++,A.reuseableMatrix.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),A.reuseableMatrix.multiply(A.instancedTiles[g].matrixWorld),A.reuseableMatrix.multiply(A.instancedMesh.baseMatrix),A.instancedMesh.setMatrixAt(A.instancedMesh.count-1,A.reuseableMatrix),A.instancedMesh.instancedTiles.push(A.instancedTiles[g]));A.instancedMesh.instanceMatrix.needsUpdate=!0,A.instancedMesh.needsUpdate=!0,A.instancedMesh.computeBoundingSphere()}}getCount(){return this.instancedTiles.length}dispose(){const A=this;return!(A.instancedTiles.length>0)&&!!A.instancedMesh&&(A.scene.remove(A.instancedMesh),A.instancedMesh.traverse(g=>{if(g.dispose&&g.dispose(),g.material)if(g.material.length)for(let I=0;I<g.material.length;++I)g.material[I].dispose();else g.material.dispose();g.geometry&&g.geometry.dispose()}),A.instancedMesh.dispose(),!0)}}class ao{constructor(){const A=this;A.count=0,A.json,A.instancedTiles=[]}addInstance(A){this.instancedTiles.push(A),this.json&&A.loadJson(this.json,this.url)}setObject(A,g){const I=this;I.json=A,I.url=g;for(let Q=0;Q<I.instancedTiles.length;Q++)I.instancedTiles[Q].loadJson(I.json,I.url)}getCount(){return this.instancedTiles.length}update(){const A=this;for(let g=A.instancedTiles.length-1;g>=0;g--)A.instancedTiles[g].deleted&&A.instancedTiles.splice(g,1)}dispose(){return!(!this.json||this.instancedTiles.length!=0)}}let QI=0;async function Eo(B){return new Promise(A=>{const g=setInterval(()=>{B.hasDracoLoader&&!B.dracoLoader||B.hasKTX2Loader&&!B.ktx2Loader||(clearInterval(g),A())},10)})}exports.InstancedOGC3DTile=Qo,exports.InstancedTileLoader=class{constructor(B,A){if(this.zUpToYUpMatrix=new x.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1),this.maxCachedItems=100,this.maxInstances=1,this.proxy=A.proxy,A&&(this.meshCallback=A.meshCallback,this.pointsCallback=A.pointsCallback,A.maxCachedItems&&(this.maxCachedItems=A.maxCachedItems),A.maxInstances&&(this.maxInstances=A.maxInstances)),this.gltfLoader=new ga,A&&A.dracoLoader)this.gltfLoader.setDRACOLoader(A.dracoLoader),this.hasDracoLoader=!0;else{const g=new Qa;g.setDecoderPath("https://www.gstatic.com/draco/versioned/decoders/1.4.3/"),this.gltfLoader.setDRACOLoader(g),this.gltfLoader.hasDracoLoader=!0}if(A&&A.ktx2Loader)this.gltfLoader.setKTX2Loader(A.ktx2Loader),this.hasKTX2Loader=!0;else if(A&&A.renderer){const g=new hg;g.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(A.renderer),this.gltfLoader.setKTX2Loader(g),this.gltfLoader.hasKTX2Loader=!0}this.gltfLoader.setMeshoptDecoder(qa),this.hasMeshOptDecoder=!0,this.b3dmDecoder=new $C(this.gltfLoader),this.cache=new ZC,this.scene=B,this.ready=[],this.downloads=[],this.nextReady=[],this.nextDownloads=[]}update(){const B=this;B._checkSize(),B.cache._data.forEach(A=>{A.update()}),QI<8&&B._download(),B._loadBatch()}_download(){const B=this;if(B.nextDownloads.length!=0||(B._getNextDownloads(),B.nextDownloads.length!=0))for(;B.nextDownloads.length>0;){const g=B.nextDownloads.shift();if(g){if(g.path.includes(".b3dm")&&(A=B.proxy?()=>fetch(B.proxy,{method:"POST",body:g.path}):()=>fetch(g.path),QI++,A().then(I=>{if(!I.ok)throw console.error("could not load tile with path : "+g.path),new Error(`couldn't load "${g.path}". Request failed with status ${I.status} : ${I.statusText}`);return I.arrayBuffer()}).then(I=>this.b3dmDecoder.parseB3DMInstanced(I,Q=>{B.meshCallback(Q,g.geometricError)},B.maxInstances,g.sceneZupToYup,g.meshZupToYup)).then(I=>{I.frustumCulled=!1,g.tile.setObject(I),B.ready.unshift(g)}).catch(I=>console.error(I)).finally(()=>{QI--})),g.path.includes(".glb")||g.path.includes(".gltf"))A=B.proxy?()=>fetch(B.proxy,{method:"POST",body:g.path}):()=>fetch(g.path),QI++,A().then(I=>{if(!I.ok)throw new Error("missing content");return I.arrayBuffer()}).then(async I=>{await Eo(this.gltfLoader),this.gltfLoader.parse(I,null,Q=>{let C;Q.scene.asset=Q.asset,g.sceneZupToYup&&Q.scene.applyMatrix4(this.zUpToYUpMatrix),Q.scene.traverse(a=>{a.geometricError=g.geometricError,a.isMesh&&(g.meshZupToYup&&a.applyMatrix4(this.zUpToYUpMatrix),B.meshCallback&&B.meshCallback(a,a.geometricError)),a.isPoints&&console.error("instanced point cloud is not supported")}),Q.scene.updateWorldMatrix(!1,!0),Q.scene.traverse(a=>{a.isMesh&&(C=new x.InstancedMesh(a.geometry,a.material,B.maxInstances),C.baseMatrix=a.matrixWorld)}),B.ready.unshift(g),C?(C.frustumCulled=!1,g.tile.setObject(C)):Q.scene.traverse(a=>{a.dispose&&a.dispose(),a.material&&a.material.dispose()})})},I=>{console.error("could not load tile : "+g.path)}).finally(()=>{QI--});else if(g.path.includes(".json")){var A;A=B.proxy?()=>fetch(B.proxy,{method:"POST",body:g.path}):()=>fetch(g.path),QI++,A().then(I=>{if(!I.ok)throw console.error("could not load tile with path : "+g.path),new Error(`couldn't load "${g.path}". Request failed with status ${I.status} : ${I.statusText}`);return I.json()}).then(I=>RQ(I,g.path)).then(I=>{g.tile.setObject(I,g.path),B.ready.unshift(g)}).catch(I=>console.error(I)).finally(()=>{QI--})}}}}_loadBatch(){return this.nextReady.length==0&&(this._getNextReady(),this.nextReady.length==0)?0:this.nextReady.shift()?1:0}_getNextReady(){let B=Number.MAX_VALUE,A=-1;for(let g=this.ready.length-1;g>=0;g--)this.ready[g].distanceFunction||this.nextReady.push(this.ready.splice(g,1)[0]);if(!(this.nextReady.length>0)){for(let g=this.ready.length-1;g>=0;g--){const I=this.ready[g].distanceFunction()*this.ready[g].level;I<B&&(B=I,A=g)}if(A>=0){const g=this.ready.splice(A,1).pop();this.nextReady.push(g);const I=g.getSiblings();for(let Q=this.ready.length-1;Q>=0;Q--)I.includes(this.ready[Q].uuid)&&this.nextready.push(this.ready.splice(Q,1).pop())}}}get(B,A,g,I,Q,C,a,E,i,t){const e=this,o=function(n){for(var r=n.split("/"),c=[],D=0,w=0;w<r.length;w++){var h=r[w];h!=="."&&h!==""&&h!==".."?c[D++]=h:h===".."&&D>0&&D--}if(D===0)return"/";var d="";for(w=0;w<D;w++)d+="/"+c[w];return d}(A);if(!(A.includes(".b3dm")||A.includes(".json")||A.includes(".glb")||A.includes(".gltf")))return void console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data");const s=e.cache.get(o);if(s)s.addInstance(I);else if(A.includes(".b3dm")||A.includes(".glb")||A.includes(".gltf")){const n=new Co(e.scene);n.addInstance(I),e.cache.put(o,n);const r=new AbortController;B.signal.addEventListener("abort",()=>{n.getCount()==0&&r.abort()}),this.downloads.push({abortController:r,tile:n,key:o,path:A,distanceFunction:Q,getSiblings:C,level:a,uuid:g,sceneZupToYup:E,meshZupToYup:i,geometricError:t,shouldDoDownload:()=>!0})}else if(A.includes(".json")){const n=new ao;n.addInstance(I),e.cache.put(o,n);const r=new AbortController;B.signal.addEventListener("abort",()=>{n.getCount()==0&&r.abort()}),this.downloads.push({abortController:r,tile:n,key:o,path:A,distanceFunction:Q,getSiblings:C,level:a,shouldDoDownload:()=>!0})}}_getNextDownloads(){let B=Number.MAX_VALUE,A=-1;for(let g=this.downloads.length-1;g>=0;g--){const I=this.downloads[g];I.shouldDoDownload()?I.distanceFunction||this.nextDownloads.push(this.downloads.splice(g,1)[0]):this.downloads.splice(g,1)}if(!(this.nextDownloads.length>0)){for(let g=this.downloads.length-1;g>=0;g--){const I=this.downloads[g],Q=I.distanceFunction()*I.level;Q<B&&(B=Q,A=g)}if(A>=0){const g=this.downloads.splice(A,1).pop();this.nextDownloads.push(g);const I=g.getSiblings();for(let Q=this.downloads.length-1;Q>=0;Q--)I.includes(this.downloads[Q].uuid)&&this.nextDownloads.push(this.downloads.splice(Q,1).pop())}}}_checkSize(){const B=this;let A=0;for(;B.cache.size()>B.maxCachedItems&&A<B.cache.size();){A++;const g=B.cache.head();B.cache.remove(g.key),g.value.dispose()||B.cache.put(g.key,g.value)}}},exports.OBB=ig,exports.OGC3DTile=YQ,exports.OcclusionCullingService=class{constructor(){this.cullMap=[],this.cullMaterial=new x.MeshBasicMaterial({vertexColors:!0}),this.cullMaterial.side=x.FrontSide,this.cullTarget=this._createCullTarget(),this.cullPixels=new Uint8Array(4*this.cullTarget.width*this.cullTarget.height)}setSide(B){this.cullMaterial.side=B}_createCullTarget(){const B=new x.WebGLRenderTarget(Math.floor(.05*window.innerWidth),Math.floor(.05*window.innerHeight));return B.texture.format=x.RGBAFormat,B.texture.colorSpace=x.LinearSRGBColorSpace,B.texture.minFilter=x.NearestFilter,B.texture.magFilter=x.NearestFilter,B.texture.generateMipmaps=!1,B.stencilBuffer=!1,B.depthBuffer=!0,B.depthTexture=new x.DepthTexture,B.depthTexture.format=x.DepthFormat,B.depthTexture.type=x.UnsignedShortType,B}update(B,A,g){let I=A.getRenderTarget(),Q=B.overrideMaterial;B.overrideMaterial=this.cullMaterial,A.setRenderTarget(this.cullTarget),A.render(B,g),B.overrideMaterial=Q,A.setRenderTarget(I),A.readRenderTargetPixels(this.cullTarget,0,0,this.cullTarget.width,this.cullTarget.height,this.cullPixels),this.cullMap=[];for(let C=0;C<this.cullPixels.length;C+=4){const a=x.MathUtils.clamp(this.cullPixels[C],0,255)<<16^x.MathUtils.clamp(this.cullPixels[C+1],0,255)<<8^x.MathUtils.clamp(this.cullPixels[C+2],0,255);this.cullMap[a]=!0}}hasID(B){return this.cullMap[B]}},exports.SplatsMesh=ME,exports.TileLoader=va,exports.getOGC3DTilesCopyrightInfo=pE,exports.splatsFragmentShader=RE,exports.splatsVertexShader=GE;
1503
1503
  //# sourceMappingURL=threedtiles.cjs.js.map