{"version":3,"file":"shared.DYAwKmnc.mjs","names":["t","i","s","a","r","l","c","e","n","u","h","p","f","m","o","d","g","_","x","y","M","S","b","T","w","E","A","C","R","P","L","I","D","U","K","Z","N","B","O","V","F","z","G","k","H","W","X","j","q","Y","J","$","tt","et","nt","it","rt","st","lt","ct","ht","ut","dt","ft","mt","gt","vt","_t","yt","Q","pt","St","bt","wt","ae","le","ue","pe","fe","ye","useRef","THREE.Scene","THREE.OrthographicCamera","THREE.WebGLRenderer","THREE.Vector2","THREE.Color","THREE.ShaderMaterial","THREE.PlaneGeometry","THREE.Mesh","THREE.Clock","useReducer","defaultConsent","useState","useState","_Fragment","Suspense","Banner","Button","useState","_Fragment","Suspense","fonts","css","className","fonts","css","className","fonts","css","className","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","Component","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","className","css","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","t","d","r","i","l","h","b","e","className","useId","useState","locale","fonts","css","className","css","LocaleSelector","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","sharedStyle.className","sharedStyle1.className","className","Image","sharedStyle.css","sharedStyle1.css","sharedStyle.fonts","sharedStyle1.fonts"],"sources":["https:/ga.jspm.io/npm:three@0.166.1/build/three.module.js","https:/framerusercontent.com/modules/UTNrCTBIpmm6bMgbKI1b/HEuL5JE4Jcg7V9fl9H4k/Plasma.js","https:/framerusercontent.com/modules/RFM6zI5MxOiqwwNiQep4/2CcJhEanvh9oX5JHRkd8/send.js","https:/framerusercontent.com/modules/tfq8EDfrazNLXzc9LJte/hLcdFz4t8UjInDMvzq41/utils.js","https:/framerusercontent.com/modules/zvf2WTzc98u6EX2y7YDj/dsQTNWNk09IMnZEHMfzP/consent.js","https:/framerusercontent.com/modules/HKzIAGtbudIGLRAteuFH/Nhaar5CYKIbxxEaVvTJs/inEU.js","https:/framerusercontent.com/modules/0oeZpJVursioGAbwgB9e/atthcI0SmGvO4HAxG9e5/region.js","https:/framerusercontent.com/modules/EkwkxVF9vkTs720qqBC8/6ViXEDlSyuNyc0Na4Rzv/Banner.js","https:/framerusercontent.com/modules/GbX8S6ghmyszcS2GLR2F/LJki37UjB5KBVYI60fjt/Cookies.js","https:/framerusercontent.com/modules/w23o7DjbVjRsNUwTqd6B/sbjIl2stsP5hQBG2U8rZ/kN_hHiZH1.js","https:/framerusercontent.com/modules/1HwjKIqf4AbqZhtXXfBk/7jOI1VrFaDvvD1ZEr79o/luPMJwNSZ.js","https:/framerusercontent.com/modules/xfnErJvUfkLJm3U3sU6O/HRP9IFkx9BLpOxWhW9Ti/zq2Nqyop2.js","https:/framerusercontent.com/modules/O5ZSMmQKfMP1eANgfUfV/GR61VDbyx2qcic1sk8Ie/gfyN1cptQ.js","https:/framerusercontent.com/modules/cuKUFdzXlhvw8OVOBeAc/T08RxQJ4qrs7LLc8wx4E/border.js","https:/framerusercontent.com/modules/9muYaW1MvHoRQJ0P7dkP/V2GVvLqiMxXRSxszkCSa/focus.js","https:/framerusercontent.com/modules/YfmtnpWjJrP37sQ18QUZ/9Y2P24U2SBIbf2fPVsOX/hover.js","https:/framerusercontent.com/modules/wjZLfSMaP1TvJDu5PCwr/6SPClu354QJPCp6Xj5C0/padding.js","https:/framerusercontent.com/modules/N6MwtHbWoiZJNn1xpqxu/58OHv7BfCzgeBhiv1TYu/radius.js","https:/framerusercontent.com/modules/57FhkldN9P7x88MqAEaR/UfMN9oeTJKQqVQHIwZ5z/LocaleSelector.js","https:/framerusercontent.com/modules/1qvOCjgY01R7twm8rbry/hN4mSgQvyy4ZQ3Gv635c/pDqqW5ZZG.js","https:/framerusercontent.com/modules/uJKQwxTowSJKe2nymVd2/wIoEtcCVB4V1zudYB0nn/WcWyvIRZz.js","https:/framerusercontent.com/modules/ymS3t6vwfv499TMVLHH0/FctbOyMwlk34A5kdU2mg/rtlaFBExe.js"],"sourcesContent":["/**\n * @license\n * Copyright 2010-2024 Three.js Authors\n * SPDX-License-Identifier: MIT\n */\nconst t=\"166\";const e={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2};const n={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3};const i=0;const r=1;const s=2;const a=3;const o=0;const l=1;const c=2;const h=3;const u=0;const d=1;const p=2;const f=0;const m=1;const g=2;const _=3;const x=4;const y=5;const M=100;const S=101;const b=102;const T=103;const w=104;const E=200;const A=201;const C=202;const R=203;const P=204;const L=205;const I=206;const U=207;const D=208;const N=209;const B=210;const O=211;const V=212;const F=213;const z=214;const G=0;const k=1;const H=2;const W=3;const X=4;const j=5;const q=6;const Y=7;const K=0;const Z=1;const J=2;const Q=0;const $=1;const tt=2;const et=3;const nt=4;const it=5;const rt=6;const st=7;const at=\"attached\";const ot=\"detached\";const lt=300;const ct=301;const ht=302;const ut=303;const dt=304;const pt=306;const ft=1e3;const mt=1001;const gt=1002;const vt=1003;const _t=1004;const xt=1004;const yt=1005;const Mt=1005;const St=1006;const bt=1007;const Tt=1007;const wt=1008;const Et=1008;const At=1009;const Ct=1010;const Rt=1011;const Pt=1012;const Lt=1013;const It=1014;const Ut=1015;const Dt=1016;const Nt=1017;const Bt=1018;const Ot=1020;const Vt=35902;const Ft=1021;const zt=1022;const Gt=1023;const kt=1024;const Ht=1025;const Wt=1026;const Xt=1027;const jt=1028;const qt=1029;const Yt=1030;const Kt=1031;const Zt=1032;const Jt=1033;const Qt=33776;const $t=33777;const te=33778;const ee=33779;const ne=35840;const ie=35841;const re=35842;const se=35843;const ae=36196;const oe=37492;const le=37496;const ce=37808;const he=37809;const ue=37810;const de=37811;const pe=37812;const fe=37813;const me=37814;const ge=37815;const ve=37816;const _e=37817;const xe=37818;const ye=37819;const Me=37820;const Se=37821;const be=36492;const Te=36494;const we=36495;const Ee=36283;const Ae=36284;const Ce=36285;const Re=36286;const Pe=2200;const Le=2201;const Ie=2202;const Ue=2300;const De=2301;const Ne=2302;const Be=2400;const Oe=2401;const Ve=2402;const Fe=2500;const ze=2501;const Ge=0;const ke=1;const He=2;const We=3200;const Xe=3201;const je=0;const qe=1;const Ye=\"\";const Ke=\"srgb\";const Ze=\"srgb-linear\";const Je=\"display-p3\";const Qe=\"display-p3-linear\";const $e=\"linear\";const tn=\"srgb\";const en=\"rec709\";const nn=\"p3\";const rn=0;const sn=7680;const an=7681;const on=7682;const ln=7683;const cn=34055;const hn=34056;const un=5386;const dn=512;const pn=513;const fn=514;const mn=515;const gn=516;const vn=517;const _n=518;const xn=519;const yn=512;const Mn=513;const Sn=514;const bn=515;const Tn=516;const wn=517;const En=518;const An=519;const Cn=35044;const Rn=35048;const Pn=35040;const Ln=35045;const In=35049;const Un=35041;const Dn=35046;const Nn=35050;const Bn=35042;const On=\"100\";const Vn=\"300 es\";const Fn=2e3;const zn=2001;class EventDispatcher{addEventListener(t,e){this._listeners===void 0&&(this._listeners={});const n=this._listeners;n[t]===void 0&&(n[t]=[]);n[t].indexOf(e)===-1&&n[t].push(e)}hasEventListener(t,e){if(this._listeners===void 0)return false;const n=this._listeners;return n[t]!==void 0&&n[t].indexOf(e)!==-1}removeEventListener(t,e){if(this._listeners===void 0)return;const n=this._listeners;const i=n[t];if(i!==void 0){const t=i.indexOf(e);t!==-1&&i.splice(t,1)}}dispatchEvent(t){if(this._listeners===void 0)return;const e=this._listeners;const n=e[t.type];if(n!==void 0){t.target=this;const e=n.slice(0);for(let n=0,i=e.length;n<i;n++)e[n].call(this,t);t.target=null}}}const Gn=[\"00\",\"01\",\"02\",\"03\",\"04\",\"05\",\"06\",\"07\",\"08\",\"09\",\"0a\",\"0b\",\"0c\",\"0d\",\"0e\",\"0f\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"1a\",\"1b\",\"1c\",\"1d\",\"1e\",\"1f\",\"20\",\"21\",\"22\",\"23\",\"24\",\"25\",\"26\",\"27\",\"28\",\"29\",\"2a\",\"2b\",\"2c\",\"2d\",\"2e\",\"2f\",\"30\",\"31\",\"32\",\"33\",\"34\",\"35\",\"36\",\"37\",\"38\",\"39\",\"3a\",\"3b\",\"3c\",\"3d\",\"3e\",\"3f\",\"40\",\"41\",\"42\",\"43\",\"44\",\"45\",\"46\",\"47\",\"48\",\"49\",\"4a\",\"4b\",\"4c\",\"4d\",\"4e\",\"4f\",\"50\",\"51\",\"52\",\"53\",\"54\",\"55\",\"56\",\"57\",\"58\",\"59\",\"5a\",\"5b\",\"5c\",\"5d\",\"5e\",\"5f\",\"60\",\"61\",\"62\",\"63\",\"64\",\"65\",\"66\",\"67\",\"68\",\"69\",\"6a\",\"6b\",\"6c\",\"6d\",\"6e\",\"6f\",\"70\",\"71\",\"72\",\"73\",\"74\",\"75\",\"76\",\"77\",\"78\",\"79\",\"7a\",\"7b\",\"7c\",\"7d\",\"7e\",\"7f\",\"80\",\"81\",\"82\",\"83\",\"84\",\"85\",\"86\",\"87\",\"88\",\"89\",\"8a\",\"8b\",\"8c\",\"8d\",\"8e\",\"8f\",\"90\",\"91\",\"92\",\"93\",\"94\",\"95\",\"96\",\"97\",\"98\",\"99\",\"9a\",\"9b\",\"9c\",\"9d\",\"9e\",\"9f\",\"a0\",\"a1\",\"a2\",\"a3\",\"a4\",\"a5\",\"a6\",\"a7\",\"a8\",\"a9\",\"aa\",\"ab\",\"ac\",\"ad\",\"ae\",\"af\",\"b0\",\"b1\",\"b2\",\"b3\",\"b4\",\"b5\",\"b6\",\"b7\",\"b8\",\"b9\",\"ba\",\"bb\",\"bc\",\"bd\",\"be\",\"bf\",\"c0\",\"c1\",\"c2\",\"c3\",\"c4\",\"c5\",\"c6\",\"c7\",\"c8\",\"c9\",\"ca\",\"cb\",\"cc\",\"cd\",\"ce\",\"cf\",\"d0\",\"d1\",\"d2\",\"d3\",\"d4\",\"d5\",\"d6\",\"d7\",\"d8\",\"d9\",\"da\",\"db\",\"dc\",\"dd\",\"de\",\"df\",\"e0\",\"e1\",\"e2\",\"e3\",\"e4\",\"e5\",\"e6\",\"e7\",\"e8\",\"e9\",\"ea\",\"eb\",\"ec\",\"ed\",\"ee\",\"ef\",\"f0\",\"f1\",\"f2\",\"f3\",\"f4\",\"f5\",\"f6\",\"f7\",\"f8\",\"f9\",\"fa\",\"fb\",\"fc\",\"fd\",\"fe\",\"ff\"];let kn=1234567;const Hn=Math.PI/180;const Wn=180/Math.PI;function generateUUID(){const t=Math.random()*4294967295|0;const e=Math.random()*4294967295|0;const n=Math.random()*4294967295|0;const i=Math.random()*4294967295|0;const r=Gn[t&255]+Gn[t>>8&255]+Gn[t>>16&255]+Gn[t>>24&255]+\"-\"+Gn[e&255]+Gn[e>>8&255]+\"-\"+Gn[e>>16&15|64]+Gn[e>>24&255]+\"-\"+Gn[n&63|128]+Gn[n>>8&255]+\"-\"+Gn[n>>16&255]+Gn[n>>24&255]+Gn[i&255]+Gn[i>>8&255]+Gn[i>>16&255]+Gn[i>>24&255];return r.toLowerCase()}function clamp(t,e,n){return Math.max(e,Math.min(n,t))}function euclideanModulo(t,e){return(t%e+e)%e}function mapLinear(t,e,n,i,r){return i+(t-e)*(r-i)/(n-e)}function inverseLerp(t,e,n){return t!==e?(n-t)/(e-t):0}function lerp(t,e,n){return(1-n)*t+n*e}function damp(t,e,n,i){return lerp(t,e,1-Math.exp(-n*i))}function pingpong(t,e=1){return e-Math.abs(euclideanModulo(t,e*2)-e)}function smoothstep(t,e,n){if(t<=e)return 0;if(t>=n)return 1;t=(t-e)/(n-e);return t*t*(3-2*t)}function smootherstep(t,e,n){if(t<=e)return 0;if(t>=n)return 1;t=(t-e)/(n-e);return t*t*t*(t*(t*6-15)+10)}function randInt(t,e){return t+Math.floor(Math.random()*(e-t+1))}function randFloat(t,e){return t+Math.random()*(e-t)}function randFloatSpread(t){return t*(.5-Math.random())}function seededRandom(t){t!==void 0&&(kn=t);let e=kn+=1831565813;e=Math.imul(e^e>>>15,e|1);e^=e+Math.imul(e^e>>>7,e|61);return((e^e>>>14)>>>0)/4294967296}function degToRad(t){return t*Hn}function radToDeg(t){return t*Wn}function isPowerOfTwo(t){return(t&t-1)===0&&t!==0}function ceilPowerOfTwo(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function floorPowerOfTwo(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}function setQuaternionFromProperEuler(t,e,n,i,r){const s=Math.cos;const a=Math.sin;const o=s(n/2);const l=a(n/2);const c=s((e+i)/2);const h=a((e+i)/2);const u=s((e-i)/2);const d=a((e-i)/2);const p=s((i-e)/2);const f=a((i-e)/2);switch(r){case\"XYX\":t.set(o*h,l*u,l*d,o*c);break;case\"YZY\":t.set(l*d,o*h,l*u,o*c);break;case\"ZXZ\":t.set(l*u,l*d,o*h,o*c);break;case\"XZX\":t.set(o*h,l*f,l*p,o*c);break;case\"YXY\":t.set(l*p,o*h,l*f,o*c);break;case\"ZYZ\":t.set(l*f,l*p,o*h,o*c);break;default:console.warn(\"THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: \"+r)}}function denormalize(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error(\"Invalid component type.\")}}function normalize(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(t*4294967295);case Uint16Array:return Math.round(t*65535);case Uint8Array:return Math.round(t*255);case Int32Array:return Math.round(t*2147483647);case Int16Array:return Math.round(t*32767);case Int8Array:return Math.round(t*127);default:throw new Error(\"Invalid component type.\")}}const Xn={DEG2RAD:Hn,RAD2DEG:Wn,generateUUID:generateUUID,clamp:clamp,euclideanModulo:euclideanModulo,mapLinear:mapLinear,inverseLerp:inverseLerp,lerp:lerp,damp:damp,pingpong:pingpong,smoothstep:smoothstep,smootherstep:smootherstep,randInt:randInt,randFloat:randFloat,randFloatSpread:randFloatSpread,seededRandom:seededRandom,degToRad:degToRad,radToDeg:radToDeg,isPowerOfTwo:isPowerOfTwo,ceilPowerOfTwo:ceilPowerOfTwo,floorPowerOfTwo:floorPowerOfTwo,setQuaternionFromProperEuler:setQuaternionFromProperEuler,normalize:normalize,denormalize:denormalize};class Vector2{constructor(t=0,e=0){Vector2.prototype.isVector2=true;this.x=t;this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){this.x=t;this.y=e;return this}setScalar(t){this.x=t;this.y=t;return this}setX(t){this.x=t;return this}setY(t){this.y=t;return this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error(\"index is out of range: \"+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error(\"index is out of range: \"+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){this.x=t.x;this.y=t.y;return this}add(t){this.x+=t.x;this.y+=t.y;return this}addScalar(t){this.x+=t;this.y+=t;return this}addVectors(t,e){this.x=t.x+e.x;this.y=t.y+e.y;return this}addScaledVector(t,e){this.x+=t.x*e;this.y+=t.y*e;return this}sub(t){this.x-=t.x;this.y-=t.y;return this}subScalar(t){this.x-=t;this.y-=t;return this}subVectors(t,e){this.x=t.x-e.x;this.y=t.y-e.y;return this}multiply(t){this.x*=t.x;this.y*=t.y;return this}multiplyScalar(t){this.x*=t;this.y*=t;return this}divide(t){this.x/=t.x;this.y/=t.y;return this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,n=this.y;const i=t.elements;this.x=i[0]*e+i[3]*n+i[6];this.y=i[1]*e+i[4]*n+i[7];return this}min(t){this.x=Math.min(this.x,t.x);this.y=Math.min(this.y,t.y);return this}max(t){this.x=Math.max(this.x,t.x);this.y=Math.max(this.y,t.y);return this}clamp(t,e){this.x=Math.max(t.x,Math.min(e.x,this.x));this.y=Math.max(t.y,Math.min(e.y,this.y));return this}clampScalar(t,e){this.x=Math.max(t,Math.min(e,this.x));this.y=Math.max(t,Math.min(e,this.y));return this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this}ceil(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this}round(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this}roundToZero(){this.x=Math.trunc(this.x);this.y=Math.trunc(this.y);return this}negate(){this.x=-this.x;this.y=-this.y;return this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){const t=Math.atan2(-this.y,-this.x)+Math.PI;return t}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(e===0)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(clamp(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y;return e*e+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){this.x+=(t.x-this.x)*e;this.y+=(t.y-this.y)*e;return this}lerpVectors(t,e,n){this.x=t.x+(e.x-t.x)*n;this.y=t.y+(e.y-t.y)*n;return this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){this.x=t[e];this.y=t[e+1];return this}toArray(t=[],e=0){t[e]=this.x;t[e+1]=this.y;return t}fromBufferAttribute(t,e){this.x=t.getX(e);this.y=t.getY(e);return this}rotateAround(t,e){const n=Math.cos(e),i=Math.sin(e);const r=this.x-t.x;const s=this.y-t.y;this.x=r*n-s*i+t.x;this.y=r*i+s*n+t.y;return this}random(){this.x=Math.random();this.y=Math.random();return this}*[Symbol.iterator](){yield this.x;yield this.y}}class Matrix3{constructor(t,e,n,i,r,s,a,o,l){Matrix3.prototype.isMatrix3=true;this.elements=[1,0,0,0,1,0,0,0,1];t!==void 0&&this.set(t,e,n,i,r,s,a,o,l)}set(t,e,n,i,r,s,a,o,l){const c=this.elements;c[0]=t;c[1]=i;c[2]=a;c[3]=e;c[4]=r;c[5]=o;c[6]=n;c[7]=s;c[8]=l;return this}identity(){this.set(1,0,0,0,1,0,0,0,1);return this}copy(t){const e=this.elements;const n=t.elements;e[0]=n[0];e[1]=n[1];e[2]=n[2];e[3]=n[3];e[4]=n[4];e[5]=n[5];e[6]=n[6];e[7]=n[7];e[8]=n[8];return this}extractBasis(t,e,n){t.setFromMatrix3Column(this,0);e.setFromMatrix3Column(this,1);n.setFromMatrix3Column(this,2);return this}setFromMatrix4(t){const e=t.elements;this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]);return this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements;const i=e.elements;const r=this.elements;const s=n[0],a=n[3],o=n[6];const l=n[1],c=n[4],h=n[7];const u=n[2],d=n[5],p=n[8];const f=i[0],m=i[3],g=i[6];const _=i[1],x=i[4],y=i[7];const M=i[2],S=i[5],b=i[8];r[0]=s*f+a*_+o*M;r[3]=s*m+a*x+o*S;r[6]=s*g+a*y+o*b;r[1]=l*f+c*_+h*M;r[4]=l*m+c*x+h*S;r[7]=l*g+c*y+h*b;r[2]=u*f+d*_+p*M;r[5]=u*m+d*x+p*S;r[8]=u*g+d*y+p*b;return this}multiplyScalar(t){const e=this.elements;e[0]*=t;e[3]*=t;e[6]*=t;e[1]*=t;e[4]*=t;e[7]*=t;e[2]*=t;e[5]*=t;e[8]*=t;return this}determinant(){const t=this.elements;const e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8];return e*s*c-e*a*l-n*r*c+n*a*o+i*r*l-i*s*o}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8],h=c*s-a*l,u=a*o-c*r,d=l*r-s*o,p=e*h+n*u+i*d;if(p===0)return this.set(0,0,0,0,0,0,0,0,0);const f=1/p;t[0]=h*f;t[1]=(i*l-c*n)*f;t[2]=(a*n-i*s)*f;t[3]=u*f;t[4]=(c*e-i*o)*f;t[5]=(i*r-a*e)*f;t[6]=d*f;t[7]=(n*o-l*e)*f;t[8]=(s*e-n*r)*f;return this}transpose(){let t;const e=this.elements;t=e[1];e[1]=e[3];e[3]=t;t=e[2];e[2]=e[6];e[6]=t;t=e[5];e[5]=e[7];e[7]=t;return this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){const e=this.elements;t[0]=e[0];t[1]=e[3];t[2]=e[6];t[3]=e[1];t[4]=e[4];t[5]=e[7];t[6]=e[2];t[7]=e[5];t[8]=e[8];return this}setUvTransform(t,e,n,i,r,s,a){const o=Math.cos(r);const l=Math.sin(r);this.set(n*o,n*l,-n*(o*s+l*a)+s+t,-i*l,i*o,-i*(-l*s+o*a)+a+e,0,0,1);return this}scale(t,e){this.premultiply(jn.makeScale(t,e));return this}rotate(t){this.premultiply(jn.makeRotation(-t));return this}translate(t,e){this.premultiply(jn.makeTranslation(t,e));return this}makeTranslation(t,e){t.isVector2?this.set(1,0,t.x,0,1,t.y,0,0,1):this.set(1,0,t,0,1,e,0,0,1);return this}makeRotation(t){const e=Math.cos(t);const n=Math.sin(t);this.set(e,-n,0,n,e,0,0,0,1);return this}makeScale(t,e){this.set(t,0,0,0,e,0,0,0,1);return this}equals(t){const e=this.elements;const n=t.elements;for(let t=0;t<9;t++)if(e[t]!==n[t])return false;return true}fromArray(t,e=0){for(let n=0;n<9;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;t[e]=n[0];t[e+1]=n[1];t[e+2]=n[2];t[e+3]=n[3];t[e+4]=n[4];t[e+5]=n[5];t[e+6]=n[6];t[e+7]=n[7];t[e+8]=n[8];return t}clone(){return(new this.constructor).fromArray(this.elements)}}const jn=new Matrix3;function arrayNeedsUint32(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return true;return false}const qn={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function getTypedArray(t,e){return new qn[t](e)}function createElementNS(t){return document.createElementNS(\"http://www.w3.org/1999/xhtml\",t)}function createCanvasElement(){const t=createElementNS(\"canvas\");t.style.display=\"block\";return t}const Yn={};function warnOnce(t){if(!(t in Yn)){Yn[t]=true;console.warn(t)}}function probeAsync(t,e,n){return new Promise((function(i,r){function probe(){switch(t.clientWaitSync(e,t.SYNC_FLUSH_COMMANDS_BIT,0)){case t.WAIT_FAILED:r();break;case t.TIMEOUT_EXPIRED:setTimeout(probe,n);break;default:i()}}setTimeout(probe,n)}))}const Kn=(new Matrix3).set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199);const Zn=(new Matrix3).set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735);const Jn={[Ze]:{transfer:$e,primaries:en,toReference:t=>t,fromReference:t=>t},[Ke]:{transfer:tn,primaries:en,toReference:t=>t.convertSRGBToLinear(),fromReference:t=>t.convertLinearToSRGB()},[Qe]:{transfer:$e,primaries:nn,toReference:t=>t.applyMatrix3(Zn),fromReference:t=>t.applyMatrix3(Kn)},[Je]:{transfer:tn,primaries:nn,toReference:t=>t.convertSRGBToLinear().applyMatrix3(Zn),fromReference:t=>t.applyMatrix3(Kn).convertLinearToSRGB()}};const Qn=new Set([Ze,Qe]);const $n={enabled:true,_workingColorSpace:Ze,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(t){if(!Qn.has(t))throw new Error(`Unsupported working color space, \"${t}\".`);this._workingColorSpace=t},convert:function(t,e,n){if(this.enabled===false||e===n||!e||!n)return t;const i=Jn[e].toReference;const r=Jn[n].fromReference;return r(i(t))},fromWorkingColorSpace:function(t,e){return this.convert(t,this._workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this._workingColorSpace)},getPrimaries:function(t){return Jn[t].primaries},getTransfer:function(t){return t===Ye?$e:Jn[t].transfer}};function SRGBToLinear(t){return t<.04045?t*.0773993808:Math.pow(t*.9478672986+.0521327014,2.4)}function LinearToSRGB(t){return t<.0031308?t*12.92:1.055*Math.pow(t,.41666)-.055}let ti;class ImageUtils{static getDataURL(t){if(/^data:/i.test(t.src))return t.src;if(typeof HTMLCanvasElement===\"undefined\")return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{ti===void 0&&(ti=createElementNS(\"canvas\"));ti.width=t.width;ti.height=t.height;const n=ti.getContext(\"2d\");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height);e=ti}if(e.width>2048||e.height>2048){console.warn(\"THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons\",t);return e.toDataURL(\"image/jpeg\",.6)}return e.toDataURL(\"image/png\")}static sRGBToLinear(t){if(typeof HTMLImageElement!==\"undefined\"&&t instanceof HTMLImageElement||typeof HTMLCanvasElement!==\"undefined\"&&t instanceof HTMLCanvasElement||typeof ImageBitmap!==\"undefined\"&&t instanceof ImageBitmap){const e=createElementNS(\"canvas\");e.width=t.width;e.height=t.height;const n=e.getContext(\"2d\");n.drawImage(t,0,0,t.width,t.height);const i=n.getImageData(0,0,t.width,t.height);const r=i.data;for(let t=0;t<r.length;t++)r[t]=SRGBToLinear(r[t]/255)*255;n.putImageData(i,0,0);return e}if(t.data){const e=t.data.slice(0);for(let t=0;t<e.length;t++)e instanceof Uint8Array||e instanceof Uint8ClampedArray?e[t]=Math.floor(SRGBToLinear(e[t]/255)*255):e[t]=SRGBToLinear(e[t]);return{data:e,width:t.width,height:t.height}}console.warn(\"THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied.\");return t}}let ei=0;class Source{constructor(t=null){this.isSource=true;Object.defineProperty(this,\"id\",{value:ei++});this.uuid=generateUUID();this.data=t;this.dataReady=true;this.version=0}set needsUpdate(t){t===true&&this.version++}toJSON(t){const e=t===void 0||typeof t===\"string\";if(!e&&t.images[this.uuid]!==void 0)return t.images[this.uuid];const n={uuid:this.uuid,url:\"\"};const i=this.data;if(i!==null){let t;if(Array.isArray(i)){t=[];for(let e=0,n=i.length;e<n;e++)i[e].isDataTexture?t.push(serializeImage(i[e].image)):t.push(serializeImage(i[e]))}else t=serializeImage(i);n.url=t}e||(t.images[this.uuid]=n);return n}}function serializeImage(t){if(typeof HTMLImageElement!==\"undefined\"&&t instanceof HTMLImageElement||typeof HTMLCanvasElement!==\"undefined\"&&t instanceof HTMLCanvasElement||typeof ImageBitmap!==\"undefined\"&&t instanceof ImageBitmap)return ImageUtils.getDataURL(t);if(t.data)return{data:Array.from(t.data),width:t.width,height:t.height,type:t.data.constructor.name};console.warn(\"THREE.Texture: Unable to serialize Texture.\");return{}}let ni=0;class Texture extends EventDispatcher{constructor(t=Texture.DEFAULT_IMAGE,e=Texture.DEFAULT_MAPPING,n=mt,i=mt,r=St,s=wt,a=Gt,o=At,l=Texture.DEFAULT_ANISOTROPY,c=Ye){super();this.isTexture=true;Object.defineProperty(this,\"id\",{value:ni++});this.uuid=generateUUID();this.name=\"\";this.source=new Source(t);this.mipmaps=[];this.mapping=e;this.channel=0;this.wrapS=n;this.wrapT=i;this.magFilter=r;this.minFilter=s;this.anisotropy=l;this.format=a;this.internalFormat=null;this.type=o;this.offset=new Vector2(0,0);this.repeat=new Vector2(1,1);this.center=new Vector2(0,0);this.rotation=0;this.matrixAutoUpdate=true;this.matrix=new Matrix3;this.generateMipmaps=true;this.premultiplyAlpha=false;this.flipY=true;this.unpackAlignment=4;this.colorSpace=c;this.userData={};this.version=0;this.onUpdate=null;this.isRenderTargetTexture=false;this.pmremVersion=0}get image(){return this.source.data}set image(t=null){this.source.data=t}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(t){this.name=t.name;this.source=t.source;this.mipmaps=t.mipmaps.slice(0);this.mapping=t.mapping;this.channel=t.channel;this.wrapS=t.wrapS;this.wrapT=t.wrapT;this.magFilter=t.magFilter;this.minFilter=t.minFilter;this.anisotropy=t.anisotropy;this.format=t.format;this.internalFormat=t.internalFormat;this.type=t.type;this.offset.copy(t.offset);this.repeat.copy(t.repeat);this.center.copy(t.center);this.rotation=t.rotation;this.matrixAutoUpdate=t.matrixAutoUpdate;this.matrix.copy(t.matrix);this.generateMipmaps=t.generateMipmaps;this.premultiplyAlpha=t.premultiplyAlpha;this.flipY=t.flipY;this.unpackAlignment=t.unpackAlignment;this.colorSpace=t.colorSpace;this.userData=JSON.parse(JSON.stringify(t.userData));this.needsUpdate=true;return this}toJSON(t){const e=t===void 0||typeof t===\"string\";if(!e&&t.textures[this.uuid]!==void 0)return t.textures[this.uuid];const n={metadata:{version:4.6,type:\"Texture\",generator:\"Texture.toJSON\"},uuid:this.uuid,name:this.name,image:this.source.toJSON(t).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};Object.keys(this.userData).length>0&&(n.userData=this.userData);e||(t.textures[this.uuid]=n);return n}dispose(){this.dispatchEvent({type:\"dispose\"})}transformUv(t){if(this.mapping!==lt)return t;t.applyMatrix3(this.matrix);if(t.x<0||t.x>1)switch(this.wrapS){case ft:t.x=t.x-Math.floor(t.x);break;case mt:t.x=t.x<0?0:1;break;case gt:Math.abs(Math.floor(t.x)%2)===1?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x);break}if(t.y<0||t.y>1)switch(this.wrapT){case ft:t.y=t.y-Math.floor(t.y);break;case mt:t.y=t.y<0?0:1;break;case gt:Math.abs(Math.floor(t.y)%2)===1?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y);break}this.flipY&&(t.y=1-t.y);return t}set needsUpdate(t){if(t===true){this.version++;this.source.needsUpdate=true}}set needsPMREMUpdate(t){t===true&&this.pmremVersion++}}Texture.DEFAULT_IMAGE=null;Texture.DEFAULT_MAPPING=lt;Texture.DEFAULT_ANISOTROPY=1;class Vector4{constructor(t=0,e=0,n=0,i=1){Vector4.prototype.isVector4=true;this.x=t;this.y=e;this.z=n;this.w=i}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,n,i){this.x=t;this.y=e;this.z=n;this.w=i;return this}setScalar(t){this.x=t;this.y=t;this.z=t;this.w=t;return this}setX(t){this.x=t;return this}setY(t){this.y=t;return this}setZ(t){this.z=t;return this}setW(t){this.w=t;return this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error(\"index is out of range: \"+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error(\"index is out of range: \"+t)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){this.x=t.x;this.y=t.y;this.z=t.z;this.w=t.w!==void 0?t.w:1;return this}add(t){this.x+=t.x;this.y+=t.y;this.z+=t.z;this.w+=t.w;return this}addScalar(t){this.x+=t;this.y+=t;this.z+=t;this.w+=t;return this}addVectors(t,e){this.x=t.x+e.x;this.y=t.y+e.y;this.z=t.z+e.z;this.w=t.w+e.w;return this}addScaledVector(t,e){this.x+=t.x*e;this.y+=t.y*e;this.z+=t.z*e;this.w+=t.w*e;return this}sub(t){this.x-=t.x;this.y-=t.y;this.z-=t.z;this.w-=t.w;return this}subScalar(t){this.x-=t;this.y-=t;this.z-=t;this.w-=t;return this}subVectors(t,e){this.x=t.x-e.x;this.y=t.y-e.y;this.z=t.z-e.z;this.w=t.w-e.w;return this}multiply(t){this.x*=t.x;this.y*=t.y;this.z*=t.z;this.w*=t.w;return this}multiplyScalar(t){this.x*=t;this.y*=t;this.z*=t;this.w*=t;return this}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=this.w;const s=t.elements;this.x=s[0]*e+s[4]*n+s[8]*i+s[12]*r;this.y=s[1]*e+s[5]*n+s[9]*i+s[13]*r;this.z=s[2]*e+s[6]*n+s[10]*i+s[14]*r;this.w=s[3]*e+s[7]*n+s[11]*i+s[15]*r;return this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);if(e<1e-4){this.x=1;this.y=0;this.z=0}else{this.x=t.x/e;this.y=t.y/e;this.z=t.z/e}return this}setAxisAngleFromRotationMatrix(t){let e,n,i,r;const s=.01,a=.1,o=t.elements,l=o[0],c=o[4],h=o[8],u=o[1],d=o[5],p=o[9],f=o[2],m=o[6],g=o[10];if(Math.abs(c-u)<s&&Math.abs(h-f)<s&&Math.abs(p-m)<s){if(Math.abs(c+u)<a&&Math.abs(h+f)<a&&Math.abs(p+m)<a&&Math.abs(l+d+g-3)<a){this.set(1,0,0,0);return this}e=Math.PI;const t=(l+1)/2;const o=(d+1)/2;const _=(g+1)/2;const x=(c+u)/4;const y=(h+f)/4;const M=(p+m)/4;if(t>o&&t>_)if(t<s){n=0;i=.707106781;r=.707106781}else{n=Math.sqrt(t);i=x/n;r=y/n}else if(o>_)if(o<s){n=.707106781;i=0;r=.707106781}else{i=Math.sqrt(o);n=x/i;r=M/i}else if(_<s){n=.707106781;i=.707106781;r=0}else{r=Math.sqrt(_);n=y/r;i=M/r}this.set(n,i,r,e);return this}let _=Math.sqrt((m-p)*(m-p)+(h-f)*(h-f)+(u-c)*(u-c));Math.abs(_)<.001&&(_=1);this.x=(m-p)/_;this.y=(h-f)/_;this.z=(u-c)/_;this.w=Math.acos((l+d+g-1)/2);return this}setFromMatrixPosition(t){const e=t.elements;this.x=e[12];this.y=e[13];this.z=e[14];this.w=e[15];return this}min(t){this.x=Math.min(this.x,t.x);this.y=Math.min(this.y,t.y);this.z=Math.min(this.z,t.z);this.w=Math.min(this.w,t.w);return this}max(t){this.x=Math.max(this.x,t.x);this.y=Math.max(this.y,t.y);this.z=Math.max(this.z,t.z);this.w=Math.max(this.w,t.w);return this}clamp(t,e){this.x=Math.max(t.x,Math.min(e.x,this.x));this.y=Math.max(t.y,Math.min(e.y,this.y));this.z=Math.max(t.z,Math.min(e.z,this.z));this.w=Math.max(t.w,Math.min(e.w,this.w));return this}clampScalar(t,e){this.x=Math.max(t,Math.min(e,this.x));this.y=Math.max(t,Math.min(e,this.y));this.z=Math.max(t,Math.min(e,this.z));this.w=Math.max(t,Math.min(e,this.w));return this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);this.w=Math.floor(this.w);return this}ceil(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);this.w=Math.ceil(this.w);return this}round(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);this.w=Math.round(this.w);return this}roundToZero(){this.x=Math.trunc(this.x);this.y=Math.trunc(this.y);this.z=Math.trunc(this.z);this.w=Math.trunc(this.w);return this}negate(){this.x=-this.x;this.y=-this.y;this.z=-this.z;this.w=-this.w;return this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){this.x+=(t.x-this.x)*e;this.y+=(t.y-this.y)*e;this.z+=(t.z-this.z)*e;this.w+=(t.w-this.w)*e;return this}lerpVectors(t,e,n){this.x=t.x+(e.x-t.x)*n;this.y=t.y+(e.y-t.y)*n;this.z=t.z+(e.z-t.z)*n;this.w=t.w+(e.w-t.w)*n;return this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w}fromArray(t,e=0){this.x=t[e];this.y=t[e+1];this.z=t[e+2];this.w=t[e+3];return this}toArray(t=[],e=0){t[e]=this.x;t[e+1]=this.y;t[e+2]=this.z;t[e+3]=this.w;return t}fromBufferAttribute(t,e){this.x=t.getX(e);this.y=t.getY(e);this.z=t.getZ(e);this.w=t.getW(e);return this}random(){this.x=Math.random();this.y=Math.random();this.z=Math.random();this.w=Math.random();return this}*[Symbol.iterator](){yield this.x;yield this.y;yield this.z;yield this.w}}class RenderTarget extends EventDispatcher{constructor(t=1,e=1,n={}){super();this.isRenderTarget=true;this.width=t;this.height=e;this.depth=1;this.scissor=new Vector4(0,0,t,e);this.scissorTest=false;this.viewport=new Vector4(0,0,t,e);const i={width:t,height:e,depth:1};n=Object.assign({generateMipmaps:false,internalFormat:null,minFilter:St,depthBuffer:true,stencilBuffer:false,resolveDepthBuffer:true,resolveStencilBuffer:true,depthTexture:null,samples:0,count:1},n);const r=new Texture(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace);r.flipY=false;r.generateMipmaps=n.generateMipmaps;r.internalFormat=n.internalFormat;this.textures=[];const s=n.count;for(let t=0;t<s;t++){this.textures[t]=r.clone();this.textures[t].isRenderTargetTexture=true}this.depthBuffer=n.depthBuffer;this.stencilBuffer=n.stencilBuffer;this.resolveDepthBuffer=n.resolveDepthBuffer;this.resolveStencilBuffer=n.resolveStencilBuffer;this.depthTexture=n.depthTexture;this.samples=n.samples}get texture(){return this.textures[0]}set texture(t){this.textures[0]=t}setSize(t,e,n=1){if(this.width!==t||this.height!==e||this.depth!==n){this.width=t;this.height=e;this.depth=n;for(let i=0,r=this.textures.length;i<r;i++){this.textures[i].image.width=t;this.textures[i].image.height=e;this.textures[i].image.depth=n}this.dispose()}this.viewport.set(0,0,t,e);this.scissor.set(0,0,t,e)}clone(){return(new this.constructor).copy(this)}copy(t){this.width=t.width;this.height=t.height;this.depth=t.depth;this.scissor.copy(t.scissor);this.scissorTest=t.scissorTest;this.viewport.copy(t.viewport);this.textures.length=0;for(let e=0,n=t.textures.length;e<n;e++){this.textures[e]=t.textures[e].clone();this.textures[e].isRenderTargetTexture=true}const e=Object.assign({},t.texture.image);this.texture.source=new Source(e);this.depthBuffer=t.depthBuffer;this.stencilBuffer=t.stencilBuffer;this.resolveDepthBuffer=t.resolveDepthBuffer;this.resolveStencilBuffer=t.resolveStencilBuffer;t.depthTexture!==null&&(this.depthTexture=t.depthTexture.clone());this.samples=t.samples;return this}dispose(){this.dispatchEvent({type:\"dispose\"})}}class WebGLRenderTarget extends RenderTarget{constructor(t=1,e=1,n={}){super(t,e,n);this.isWebGLRenderTarget=true}}class DataArrayTexture extends Texture{constructor(t=null,e=1,n=1,i=1){super(null);this.isDataArrayTexture=true;this.image={data:t,width:e,height:n,depth:i};this.magFilter=vt;this.minFilter=vt;this.wrapR=mt;this.generateMipmaps=false;this.flipY=false;this.unpackAlignment=1;this.layerUpdates=new Set}addLayerUpdate(t){this.layerUpdates.add(t)}clearLayerUpdates(){this.layerUpdates.clear()}}class WebGLArrayRenderTarget extends WebGLRenderTarget{constructor(t=1,e=1,n=1,i={}){super(t,e,i);this.isWebGLArrayRenderTarget=true;this.depth=n;this.texture=new DataArrayTexture(null,t,e,n);this.texture.isRenderTargetTexture=true}}class Data3DTexture extends Texture{constructor(t=null,e=1,n=1,i=1){super(null);this.isData3DTexture=true;this.image={data:t,width:e,height:n,depth:i};this.magFilter=vt;this.minFilter=vt;this.wrapR=mt;this.generateMipmaps=false;this.flipY=false;this.unpackAlignment=1}}class WebGL3DRenderTarget extends WebGLRenderTarget{constructor(t=1,e=1,n=1,i={}){super(t,e,i);this.isWebGL3DRenderTarget=true;this.depth=n;this.texture=new Data3DTexture(null,t,e,n);this.texture.isRenderTargetTexture=true}}class Quaternion{constructor(t=0,e=0,n=0,i=1){this.isQuaternion=true;this._x=t;this._y=e;this._z=n;this._w=i}static slerpFlat(t,e,n,i,r,s,a){let o=n[i+0],l=n[i+1],c=n[i+2],h=n[i+3];const u=r[s+0],d=r[s+1],p=r[s+2],f=r[s+3];if(a!==0)if(a!==1){if(h!==f||o!==u||l!==d||c!==p){let t=1-a;const e=o*u+l*d+c*p+h*f,n=e>=0?1:-1,i=1-e*e;if(i>Number.EPSILON){const r=Math.sqrt(i),s=Math.atan2(r,e*n);t=Math.sin(t*s)/r;a=Math.sin(a*s)/r}const r=a*n;o=o*t+u*r;l=l*t+d*r;c=c*t+p*r;h=h*t+f*r;if(t===1-a){const t=1/Math.sqrt(o*o+l*l+c*c+h*h);o*=t;l*=t;c*=t;h*=t}}t[e]=o;t[e+1]=l;t[e+2]=c;t[e+3]=h}else{t[e+0]=u;t[e+1]=d;t[e+2]=p;t[e+3]=f}else{t[e+0]=o;t[e+1]=l;t[e+2]=c;t[e+3]=h}}static multiplyQuaternionsFlat(t,e,n,i,r,s){const a=n[i];const o=n[i+1];const l=n[i+2];const c=n[i+3];const h=r[s];const u=r[s+1];const d=r[s+2];const p=r[s+3];t[e]=a*p+c*h+o*d-l*u;t[e+1]=o*p+c*u+l*h-a*d;t[e+2]=l*p+c*d+a*u-o*h;t[e+3]=c*p-a*h-o*u-l*d;return t}get x(){return this._x}set x(t){this._x=t;this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t;this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t;this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t;this._onChangeCallback()}set(t,e,n,i){this._x=t;this._y=e;this._z=n;this._w=i;this._onChangeCallback();return this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){this._x=t.x;this._y=t.y;this._z=t.z;this._w=t.w;this._onChangeCallback();return this}setFromEuler(t,e=true){const n=t._x,i=t._y,r=t._z,s=t._order;const a=Math.cos;const o=Math.sin;const l=a(n/2);const c=a(i/2);const h=a(r/2);const u=o(n/2);const d=o(i/2);const p=o(r/2);switch(s){case\"XYZ\":this._x=u*c*h+l*d*p;this._y=l*d*h-u*c*p;this._z=l*c*p+u*d*h;this._w=l*c*h-u*d*p;break;case\"YXZ\":this._x=u*c*h+l*d*p;this._y=l*d*h-u*c*p;this._z=l*c*p-u*d*h;this._w=l*c*h+u*d*p;break;case\"ZXY\":this._x=u*c*h-l*d*p;this._y=l*d*h+u*c*p;this._z=l*c*p+u*d*h;this._w=l*c*h-u*d*p;break;case\"ZYX\":this._x=u*c*h-l*d*p;this._y=l*d*h+u*c*p;this._z=l*c*p-u*d*h;this._w=l*c*h+u*d*p;break;case\"YZX\":this._x=u*c*h+l*d*p;this._y=l*d*h+u*c*p;this._z=l*c*p-u*d*h;this._w=l*c*h-u*d*p;break;case\"XZY\":this._x=u*c*h-l*d*p;this._y=l*d*h-u*c*p;this._z=l*c*p+u*d*h;this._w=l*c*h+u*d*p;break;default:console.warn(\"THREE.Quaternion: .setFromEuler() encountered an unknown order: \"+s)}e===true&&this._onChangeCallback();return this}setFromAxisAngle(t,e){const n=e/2,i=Math.sin(n);this._x=t.x*i;this._y=t.y*i;this._z=t.z*i;this._w=Math.cos(n);this._onChangeCallback();return this}setFromRotationMatrix(t){const e=t.elements,n=e[0],i=e[4],r=e[8],s=e[1],a=e[5],o=e[9],l=e[2],c=e[6],h=e[10],u=n+a+h;if(u>0){const t=.5/Math.sqrt(u+1);this._w=.25/t;this._x=(c-o)*t;this._y=(r-l)*t;this._z=(s-i)*t}else if(n>a&&n>h){const t=2*Math.sqrt(1+n-a-h);this._w=(c-o)/t;this._x=.25*t;this._y=(i+s)/t;this._z=(r+l)/t}else if(a>h){const t=2*Math.sqrt(1+a-n-h);this._w=(r-l)/t;this._x=(i+s)/t;this._y=.25*t;this._z=(o+c)/t}else{const t=2*Math.sqrt(1+h-n-a);this._w=(s-i)/t;this._x=(r+l)/t;this._y=(o+c)/t;this._z=.25*t}this._onChangeCallback();return this}setFromUnitVectors(t,e){let n=t.dot(e)+1;if(n<Number.EPSILON){n=0;if(Math.abs(t.x)>Math.abs(t.z)){this._x=-t.y;this._y=t.x;this._z=0;this._w=n}else{this._x=0;this._y=-t.z;this._z=t.y;this._w=n}}else{this._x=t.y*e.z-t.z*e.y;this._y=t.z*e.x-t.x*e.z;this._z=t.x*e.y-t.y*e.x;this._w=n}return this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(clamp(this.dot(t),-1,1)))}rotateTowards(t,e){const n=this.angleTo(t);if(n===0)return this;const i=Math.min(1,e/n);this.slerp(t,i);return this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){this._x*=-1;this._y*=-1;this._z*=-1;this._onChangeCallback();return this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();if(t===0){this._x=0;this._y=0;this._z=0;this._w=1}else{t=1/t;this._x=this._x*t;this._y=this._y*t;this._z=this._z*t;this._w=this._w*t}this._onChangeCallback();return this}multiply(t){return this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const n=t._x,i=t._y,r=t._z,s=t._w;const a=e._x,o=e._y,l=e._z,c=e._w;this._x=n*c+s*a+i*l-r*o;this._y=i*c+s*o+r*a-n*l;this._z=r*c+s*l+n*o-i*a;this._w=s*c-n*a-i*o-r*l;this._onChangeCallback();return this}slerp(t,e){if(e===0)return this;if(e===1)return this.copy(t);const n=this._x,i=this._y,r=this._z,s=this._w;let a=s*t._w+n*t._x+i*t._y+r*t._z;if(a<0){this._w=-t._w;this._x=-t._x;this._y=-t._y;this._z=-t._z;a=-a}else this.copy(t);if(a>=1){this._w=s;this._x=n;this._y=i;this._z=r;return this}const o=1-a*a;if(o<=Number.EPSILON){const t=1-e;this._w=t*s+e*this._w;this._x=t*n+e*this._x;this._y=t*i+e*this._y;this._z=t*r+e*this._z;this.normalize();return this}const l=Math.sqrt(o);const c=Math.atan2(l,a);const h=Math.sin((1-e)*c)/l,u=Math.sin(e*c)/l;this._w=s*h+this._w*u;this._x=n*h+this._x*u;this._y=i*h+this._y*u;this._z=r*h+this._z*u;this._onChangeCallback();return this}slerpQuaternions(t,e,n){return this.copy(t).slerp(e,n)}random(){const t=2*Math.PI*Math.random();const e=2*Math.PI*Math.random();const n=Math.random();const i=Math.sqrt(1-n);const r=Math.sqrt(n);return this.set(i*Math.sin(t),i*Math.cos(t),r*Math.sin(e),r*Math.cos(e))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){this._x=t[e];this._y=t[e+1];this._z=t[e+2];this._w=t[e+3];this._onChangeCallback();return this}toArray(t=[],e=0){t[e]=this._x;t[e+1]=this._y;t[e+2]=this._z;t[e+3]=this._w;return t}fromBufferAttribute(t,e){this._x=t.getX(e);this._y=t.getY(e);this._z=t.getZ(e);this._w=t.getW(e);this._onChangeCallback();return this}toJSON(){return this.toArray()}_onChange(t){this._onChangeCallback=t;return this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x;yield this._y;yield this._z;yield this._w}}class Vector3{constructor(t=0,e=0,n=0){Vector3.prototype.isVector3=true;this.x=t;this.y=e;this.z=n}set(t,e,n){n===void 0&&(n=this.z);this.x=t;this.y=e;this.z=n;return this}setScalar(t){this.x=t;this.y=t;this.z=t;return this}setX(t){this.x=t;return this}setY(t){this.y=t;return this}setZ(t){this.z=t;return this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error(\"index is out of range: \"+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error(\"index is out of range: \"+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){this.x=t.x;this.y=t.y;this.z=t.z;return this}add(t){this.x+=t.x;this.y+=t.y;this.z+=t.z;return this}addScalar(t){this.x+=t;this.y+=t;this.z+=t;return this}addVectors(t,e){this.x=t.x+e.x;this.y=t.y+e.y;this.z=t.z+e.z;return this}addScaledVector(t,e){this.x+=t.x*e;this.y+=t.y*e;this.z+=t.z*e;return this}sub(t){this.x-=t.x;this.y-=t.y;this.z-=t.z;return this}subScalar(t){this.x-=t;this.y-=t;this.z-=t;return this}subVectors(t,e){this.x=t.x-e.x;this.y=t.y-e.y;this.z=t.z-e.z;return this}multiply(t){this.x*=t.x;this.y*=t.y;this.z*=t.z;return this}multiplyScalar(t){this.x*=t;this.y*=t;this.z*=t;return this}multiplyVectors(t,e){this.x=t.x*e.x;this.y=t.y*e.y;this.z=t.z*e.z;return this}applyEuler(t){return this.applyQuaternion(ri.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(ri.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,n=this.y,i=this.z;const r=t.elements;this.x=r[0]*e+r[3]*n+r[6]*i;this.y=r[1]*e+r[4]*n+r[7]*i;this.z=r[2]*e+r[5]*n+r[8]*i;return this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,n=this.y,i=this.z;const r=t.elements;const s=1/(r[3]*e+r[7]*n+r[11]*i+r[15]);this.x=(r[0]*e+r[4]*n+r[8]*i+r[12])*s;this.y=(r[1]*e+r[5]*n+r[9]*i+r[13])*s;this.z=(r[2]*e+r[6]*n+r[10]*i+r[14])*s;return this}applyQuaternion(t){const e=this.x,n=this.y,i=this.z;const r=t.x,s=t.y,a=t.z,o=t.w;const l=2*(s*i-a*n);const c=2*(a*e-r*i);const h=2*(r*n-s*e);this.x=e+o*l+s*h-a*c;this.y=n+o*c+a*l-r*h;this.z=i+o*h+r*c-s*l;return this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,n=this.y,i=this.z;const r=t.elements;this.x=r[0]*e+r[4]*n+r[8]*i;this.y=r[1]*e+r[5]*n+r[9]*i;this.z=r[2]*e+r[6]*n+r[10]*i;return this.normalize()}divide(t){this.x/=t.x;this.y/=t.y;this.z/=t.z;return this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){this.x=Math.min(this.x,t.x);this.y=Math.min(this.y,t.y);this.z=Math.min(this.z,t.z);return this}max(t){this.x=Math.max(this.x,t.x);this.y=Math.max(this.y,t.y);this.z=Math.max(this.z,t.z);return this}clamp(t,e){this.x=Math.max(t.x,Math.min(e.x,this.x));this.y=Math.max(t.y,Math.min(e.y,this.y));this.z=Math.max(t.z,Math.min(e.z,this.z));return this}clampScalar(t,e){this.x=Math.max(t,Math.min(e,this.x));this.y=Math.max(t,Math.min(e,this.y));this.z=Math.max(t,Math.min(e,this.z));return this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);return this}ceil(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);return this}round(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);return this}roundToZero(){this.x=Math.trunc(this.x);this.y=Math.trunc(this.y);this.z=Math.trunc(this.z);return this}negate(){this.x=-this.x;this.y=-this.y;this.z=-this.z;return this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){this.x+=(t.x-this.x)*e;this.y+=(t.y-this.y)*e;this.z+=(t.z-this.z)*e;return this}lerpVectors(t,e,n){this.x=t.x+(e.x-t.x)*n;this.y=t.y+(e.y-t.y)*n;this.z=t.z+(e.z-t.z)*n;return this}cross(t){return this.crossVectors(this,t)}crossVectors(t,e){const n=t.x,i=t.y,r=t.z;const s=e.x,a=e.y,o=e.z;this.x=i*o-r*a;this.y=r*s-n*o;this.z=n*a-i*s;return this}projectOnVector(t){const e=t.lengthSq();if(e===0)return this.set(0,0,0);const n=t.dot(this)/e;return this.copy(t).multiplyScalar(n)}projectOnPlane(t){ii.copy(this).projectOnVector(t);return this.sub(ii)}reflect(t){return this.sub(ii.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(e===0)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(clamp(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,n){const i=Math.sin(e)*t;this.x=i*Math.sin(n);this.y=Math.cos(e)*t;this.z=i*Math.cos(n);return this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,n){this.x=t*Math.sin(e);this.y=n;this.z=t*Math.cos(e);return this}setFromMatrixPosition(t){const e=t.elements;this.x=e[12];this.y=e[13];this.z=e[14];return this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length();const n=this.setFromMatrixColumn(t,1).length();const i=this.setFromMatrixColumn(t,2).length();this.x=e;this.y=n;this.z=i;return this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,e*4)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,e*3)}setFromEuler(t){this.x=t._x;this.y=t._y;this.z=t._z;return this}setFromColor(t){this.x=t.r;this.y=t.g;this.z=t.b;return this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){this.x=t[e];this.y=t[e+1];this.z=t[e+2];return this}toArray(t=[],e=0){t[e]=this.x;t[e+1]=this.y;t[e+2]=this.z;return t}fromBufferAttribute(t,e){this.x=t.getX(e);this.y=t.getY(e);this.z=t.getZ(e);return this}random(){this.x=Math.random();this.y=Math.random();this.z=Math.random();return this}randomDirection(){const t=Math.random()*Math.PI*2;const e=Math.random()*2-1;const n=Math.sqrt(1-e*e);this.x=n*Math.cos(t);this.y=e;this.z=n*Math.sin(t);return this}*[Symbol.iterator](){yield this.x;yield this.y;yield this.z}}const ii=new Vector3;const ri=new Quaternion;class Box3{constructor(t=new Vector3(Infinity,Infinity,Infinity),e=new Vector3(-Infinity,-Infinity,-Infinity)){this.isBox3=true;this.min=t;this.max=e}set(t,e){this.min.copy(t);this.max.copy(e);return this}setFromArray(t){this.makeEmpty();for(let e=0,n=t.length;e<n;e+=3)this.expandByPoint(ai.fromArray(t,e));return this}setFromBufferAttribute(t){this.makeEmpty();for(let e=0,n=t.count;e<n;e++)this.expandByPoint(ai.fromBufferAttribute(t,e));return this}setFromPoints(t){this.makeEmpty();for(let e=0,n=t.length;e<n;e++)this.expandByPoint(t[e]);return this}setFromCenterAndSize(t,e){const n=ai.copy(e).multiplyScalar(.5);this.min.copy(t).sub(n);this.max.copy(t).add(n);return this}setFromObject(t,e=false){this.makeEmpty();return this.expandByObject(t,e)}clone(){return(new this.constructor).copy(this)}copy(t){this.min.copy(t.min);this.max.copy(t.max);return this}makeEmpty(){this.min.x=this.min.y=this.min.z=Infinity;this.max.x=this.max.y=this.max.z=-Infinity;return this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(t){return this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(t){return this.isEmpty()?t.set(0,0,0):t.subVectors(this.max,this.min)}expandByPoint(t){this.min.min(t);this.max.max(t);return this}expandByVector(t){this.min.sub(t);this.max.add(t);return this}expandByScalar(t){this.min.addScalar(-t);this.max.addScalar(t);return this}expandByObject(t,e=false){t.updateWorldMatrix(false,false);const n=t.geometry;if(n!==void 0){const i=n.getAttribute(\"position\");if(e===true&&i!==void 0&&t.isInstancedMesh!==true)for(let e=0,n=i.count;e<n;e++){t.isMesh===true?t.getVertexPosition(e,ai):ai.fromBufferAttribute(i,e);ai.applyMatrix4(t.matrixWorld);this.expandByPoint(ai)}else{if(t.boundingBox!==void 0){t.boundingBox===null&&t.computeBoundingBox();oi.copy(t.boundingBox)}else{n.boundingBox===null&&n.computeBoundingBox();oi.copy(n.boundingBox)}oi.applyMatrix4(t.matrixWorld);this.union(oi)}}const i=t.children;for(let t=0,n=i.length;t<n;t++)this.expandByObject(i[t],e);return this}containsPoint(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y||t.z<this.min.z||t.z>this.max.z)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y||t.max.z<this.min.z||t.min.z>this.max.z)}intersectsSphere(t){this.clampPoint(t.center,ai);return ai.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,n;if(t.normal.x>0){e=t.normal.x*this.min.x;n=t.normal.x*this.max.x}else{e=t.normal.x*this.max.x;n=t.normal.x*this.min.x}if(t.normal.y>0){e+=t.normal.y*this.min.y;n+=t.normal.y*this.max.y}else{e+=t.normal.y*this.max.y;n+=t.normal.y*this.min.y}if(t.normal.z>0){e+=t.normal.z*this.min.z;n+=t.normal.z*this.max.z}else{e+=t.normal.z*this.max.z;n+=t.normal.z*this.min.z}return e<=-t.constant&&n>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return false;this.getCenter(fi);mi.subVectors(this.max,fi);li.subVectors(t.a,fi);ci.subVectors(t.b,fi);hi.subVectors(t.c,fi);ui.subVectors(ci,li);di.subVectors(hi,ci);pi.subVectors(li,hi);let e=[0,-ui.z,ui.y,0,-di.z,di.y,0,-pi.z,pi.y,ui.z,0,-ui.x,di.z,0,-di.x,pi.z,0,-pi.x,-ui.y,ui.x,0,-di.y,di.x,0,-pi.y,pi.x,0];if(!satForAxes(e,li,ci,hi,mi))return false;e=[1,0,0,0,1,0,0,0,1];if(!satForAxes(e,li,ci,hi,mi))return false;gi.crossVectors(ui,di);e=[gi.x,gi.y,gi.z];return satForAxes(e,li,ci,hi,mi)}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,ai).distanceTo(t)}getBoundingSphere(t){if(this.isEmpty())t.makeEmpty();else{this.getCenter(t.center);t.radius=this.getSize(ai).length()*.5}return t}intersect(t){this.min.max(t.min);this.max.min(t.max);this.isEmpty()&&this.makeEmpty();return this}union(t){this.min.min(t.min);this.max.max(t.max);return this}applyMatrix4(t){if(this.isEmpty())return this;si[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t);si[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t);si[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t);si[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t);si[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t);si[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t);si[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t);si[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t);this.setFromPoints(si);return this}translate(t){this.min.add(t);this.max.add(t);return this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}const si=[new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3];const ai=new Vector3;const oi=new Box3;const li=new Vector3;const ci=new Vector3;const hi=new Vector3;const ui=new Vector3;const di=new Vector3;const pi=new Vector3;const fi=new Vector3;const mi=new Vector3;const gi=new Vector3;const vi=new Vector3;function satForAxes(t,e,n,i,r){for(let s=0,a=t.length-3;s<=a;s+=3){vi.fromArray(t,s);const a=r.x*Math.abs(vi.x)+r.y*Math.abs(vi.y)+r.z*Math.abs(vi.z);const o=e.dot(vi);const l=n.dot(vi);const c=i.dot(vi);if(Math.max(-Math.max(o,l,c),Math.min(o,l,c))>a)return false}return true}const _i=new Box3;const xi=new Vector3;const yi=new Vector3;class Sphere{constructor(t=new Vector3,e=-1){this.isSphere=true;this.center=t;this.radius=e}set(t,e){this.center.copy(t);this.radius=e;return this}setFromPoints(t,e){const n=this.center;e!==void 0?n.copy(e):_i.setFromPoints(t).getCenter(n);let i=0;for(let e=0,r=t.length;e<r;e++)i=Math.max(i,n.distanceToSquared(t[e]));this.radius=Math.sqrt(i);return this}copy(t){this.center.copy(t.center);this.radius=t.radius;return this}isEmpty(){return this.radius<0}makeEmpty(){this.center.set(0,0,0);this.radius=-1;return this}containsPoint(t){return t.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(t){return t.distanceTo(this.center)-this.radius}intersectsSphere(t){const e=this.radius+t.radius;return t.center.distanceToSquared(this.center)<=e*e}intersectsBox(t){return t.intersectsSphere(this)}intersectsPlane(t){return Math.abs(t.distanceToPoint(this.center))<=this.radius}clampPoint(t,e){const n=this.center.distanceToSquared(t);e.copy(t);if(n>this.radius*this.radius){e.sub(this.center).normalize();e.multiplyScalar(this.radius).add(this.center)}return e}getBoundingBox(t){if(this.isEmpty()){t.makeEmpty();return t}t.set(this.center,this.center);t.expandByScalar(this.radius);return t}applyMatrix4(t){this.center.applyMatrix4(t);this.radius=this.radius*t.getMaxScaleOnAxis();return this}translate(t){this.center.add(t);return this}expandByPoint(t){if(this.isEmpty()){this.center.copy(t);this.radius=0;return this}xi.subVectors(t,this.center);const e=xi.lengthSq();if(e>this.radius*this.radius){const t=Math.sqrt(e);const n=.5*(t-this.radius);this.center.addScaledVector(xi,n/t);this.radius+=n}return this}union(t){if(t.isEmpty())return this;if(this.isEmpty()){this.copy(t);return this}if(this.center.equals(t.center)===true)this.radius=Math.max(this.radius,t.radius);else{yi.subVectors(t.center,this.center).setLength(t.radius);this.expandByPoint(xi.copy(t.center).add(yi));this.expandByPoint(xi.copy(t.center).sub(yi))}return this}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const Mi=new Vector3;const Si=new Vector3;const bi=new Vector3;const Ti=new Vector3;const wi=new Vector3;const Ei=new Vector3;const Ai=new Vector3;class Ray{constructor(t=new Vector3,e=new Vector3(0,0,-1)){this.origin=t;this.direction=e}set(t,e){this.origin.copy(t);this.direction.copy(e);return this}copy(t){this.origin.copy(t.origin);this.direction.copy(t.direction);return this}at(t,e){return e.copy(this.origin).addScaledVector(this.direction,t)}lookAt(t){this.direction.copy(t).sub(this.origin).normalize();return this}recast(t){this.origin.copy(this.at(t,Mi));return this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const n=e.dot(this.direction);return n<0?e.copy(this.origin):e.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=Mi.subVectors(t,this.origin).dot(this.direction);if(e<0)return this.origin.distanceToSquared(t);Mi.copy(this.origin).addScaledVector(this.direction,e);return Mi.distanceToSquared(t)}distanceSqToSegment(t,e,n,i){Si.copy(t).add(e).multiplyScalar(.5);bi.copy(e).sub(t).normalize();Ti.copy(this.origin).sub(Si);const r=t.distanceTo(e)*.5;const s=-this.direction.dot(bi);const a=Ti.dot(this.direction);const o=-Ti.dot(bi);const l=Ti.lengthSq();const c=Math.abs(1-s*s);let h,u,d,p;if(c>0){h=s*o-a;u=s*a-o;p=r*c;if(h>=0)if(u>=-p)if(u<=p){const t=1/c;h*=t;u*=t;d=h*(h+s*u+2*a)+u*(s*h+u+2*o)+l}else{u=r;h=Math.max(0,-(s*u+a));d=-h*h+u*(u+2*o)+l}else{u=-r;h=Math.max(0,-(s*u+a));d=-h*h+u*(u+2*o)+l}else if(u<=-p){h=Math.max(0,-(-s*r+a));u=h>0?-r:Math.min(Math.max(-r,-o),r);d=-h*h+u*(u+2*o)+l}else if(u<=p){h=0;u=Math.min(Math.max(-r,-o),r);d=u*(u+2*o)+l}else{h=Math.max(0,-(s*r+a));u=h>0?r:Math.min(Math.max(-r,-o),r);d=-h*h+u*(u+2*o)+l}}else{u=s>0?-r:r;h=Math.max(0,-(s*u+a));d=-h*h+u*(u+2*o)+l}n&&n.copy(this.origin).addScaledVector(this.direction,h);i&&i.copy(Si).addScaledVector(bi,u);return d}intersectSphere(t,e){Mi.subVectors(t.center,this.origin);const n=Mi.dot(this.direction);const i=Mi.dot(Mi)-n*n;const r=t.radius*t.radius;if(i>r)return null;const s=Math.sqrt(r-i);const a=n-s;const o=n+s;return o<0?null:a<0?this.at(o,e):this.at(a,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(e===0)return t.distanceToPoint(this.origin)===0?0:null;const n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null}intersectPlane(t,e){const n=this.distanceToPlane(t);return n===null?null:this.at(n,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);if(e===0)return true;const n=t.normal.dot(this.direction);return n*e<0}intersectBox(t,e){let n,i,r,s,a,o;const l=1/this.direction.x,c=1/this.direction.y,h=1/this.direction.z;const u=this.origin;if(l>=0){n=(t.min.x-u.x)*l;i=(t.max.x-u.x)*l}else{n=(t.max.x-u.x)*l;i=(t.min.x-u.x)*l}if(c>=0){r=(t.min.y-u.y)*c;s=(t.max.y-u.y)*c}else{r=(t.max.y-u.y)*c;s=(t.min.y-u.y)*c}if(n>s||r>i)return null;(r>n||isNaN(n))&&(n=r);(s<i||isNaN(i))&&(i=s);if(h>=0){a=(t.min.z-u.z)*h;o=(t.max.z-u.z)*h}else{a=(t.max.z-u.z)*h;o=(t.min.z-u.z)*h}if(n>o||a>i)return null;(a>n||n!==n)&&(n=a);(o<i||i!==i)&&(i=o);return i<0?null:this.at(n>=0?n:i,e)}intersectsBox(t){return this.intersectBox(t,Mi)!==null}intersectTriangle(t,e,n,i,r){wi.subVectors(e,t);Ei.subVectors(n,t);Ai.crossVectors(wi,Ei);let s=this.direction.dot(Ai);let a;if(s>0){if(i)return null;a=1}else{if(!(s<0))return null;a=-1;s=-s}Ti.subVectors(this.origin,t);const o=a*this.direction.dot(Ei.crossVectors(Ti,Ei));if(o<0)return null;const l=a*this.direction.dot(wi.cross(Ti));if(l<0)return null;if(o+l>s)return null;const c=-a*Ti.dot(Ai);return c<0?null:this.at(c/s,r)}applyMatrix4(t){this.origin.applyMatrix4(t);this.direction.transformDirection(t);return this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class Matrix4{constructor(t,e,n,i,r,s,a,o,l,c,h,u,d,p,f,m){Matrix4.prototype.isMatrix4=true;this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];t!==void 0&&this.set(t,e,n,i,r,s,a,o,l,c,h,u,d,p,f,m)}set(t,e,n,i,r,s,a,o,l,c,h,u,d,p,f,m){const g=this.elements;g[0]=t;g[4]=e;g[8]=n;g[12]=i;g[1]=r;g[5]=s;g[9]=a;g[13]=o;g[2]=l;g[6]=c;g[10]=h;g[14]=u;g[3]=d;g[7]=p;g[11]=f;g[15]=m;return this}identity(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this}clone(){return(new Matrix4).fromArray(this.elements)}copy(t){const e=this.elements;const n=t.elements;e[0]=n[0];e[1]=n[1];e[2]=n[2];e[3]=n[3];e[4]=n[4];e[5]=n[5];e[6]=n[6];e[7]=n[7];e[8]=n[8];e[9]=n[9];e[10]=n[10];e[11]=n[11];e[12]=n[12];e[13]=n[13];e[14]=n[14];e[15]=n[15];return this}copyPosition(t){const e=this.elements,n=t.elements;e[12]=n[12];e[13]=n[13];e[14]=n[14];return this}setFromMatrix3(t){const e=t.elements;this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1);return this}extractBasis(t,e,n){t.setFromMatrixColumn(this,0);e.setFromMatrixColumn(this,1);n.setFromMatrixColumn(this,2);return this}makeBasis(t,e,n){this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1);return this}extractRotation(t){const e=this.elements;const n=t.elements;const i=1/Ci.setFromMatrixColumn(t,0).length();const r=1/Ci.setFromMatrixColumn(t,1).length();const s=1/Ci.setFromMatrixColumn(t,2).length();e[0]=n[0]*i;e[1]=n[1]*i;e[2]=n[2]*i;e[3]=0;e[4]=n[4]*r;e[5]=n[5]*r;e[6]=n[6]*r;e[7]=0;e[8]=n[8]*s;e[9]=n[9]*s;e[10]=n[10]*s;e[11]=0;e[12]=0;e[13]=0;e[14]=0;e[15]=1;return this}makeRotationFromEuler(t){const e=this.elements;const n=t.x,i=t.y,r=t.z;const s=Math.cos(n),a=Math.sin(n);const o=Math.cos(i),l=Math.sin(i);const c=Math.cos(r),h=Math.sin(r);if(t.order===\"XYZ\"){const t=s*c,n=s*h,i=a*c,r=a*h;e[0]=o*c;e[4]=-o*h;e[8]=l;e[1]=n+i*l;e[5]=t-r*l;e[9]=-a*o;e[2]=r-t*l;e[6]=i+n*l;e[10]=s*o}else if(t.order===\"YXZ\"){const t=o*c,n=o*h,i=l*c,r=l*h;e[0]=t+r*a;e[4]=i*a-n;e[8]=s*l;e[1]=s*h;e[5]=s*c;e[9]=-a;e[2]=n*a-i;e[6]=r+t*a;e[10]=s*o}else if(t.order===\"ZXY\"){const t=o*c,n=o*h,i=l*c,r=l*h;e[0]=t-r*a;e[4]=-s*h;e[8]=i+n*a;e[1]=n+i*a;e[5]=s*c;e[9]=r-t*a;e[2]=-s*l;e[6]=a;e[10]=s*o}else if(t.order===\"ZYX\"){const t=s*c,n=s*h,i=a*c,r=a*h;e[0]=o*c;e[4]=i*l-n;e[8]=t*l+r;e[1]=o*h;e[5]=r*l+t;e[9]=n*l-i;e[2]=-l;e[6]=a*o;e[10]=s*o}else if(t.order===\"YZX\"){const t=s*o,n=s*l,i=a*o,r=a*l;e[0]=o*c;e[4]=r-t*h;e[8]=i*h+n;e[1]=h;e[5]=s*c;e[9]=-a*c;e[2]=-l*c;e[6]=n*h+i;e[10]=t-r*h}else if(t.order===\"XZY\"){const t=s*o,n=s*l,i=a*o,r=a*l;e[0]=o*c;e[4]=-h;e[8]=l*c;e[1]=t*h+r;e[5]=s*c;e[9]=n*h-i;e[2]=i*h-n;e[6]=a*c;e[10]=r*h+t}e[3]=0;e[7]=0;e[11]=0;e[12]=0;e[13]=0;e[14]=0;e[15]=1;return this}makeRotationFromQuaternion(t){return this.compose(Pi,t,Li)}lookAt(t,e,n){const i=this.elements;Di.subVectors(t,e);Di.lengthSq()===0&&(Di.z=1);Di.normalize();Ii.crossVectors(n,Di);if(Ii.lengthSq()===0){Math.abs(n.z)===1?Di.x+=1e-4:Di.z+=1e-4;Di.normalize();Ii.crossVectors(n,Di)}Ii.normalize();Ui.crossVectors(Di,Ii);i[0]=Ii.x;i[4]=Ui.x;i[8]=Di.x;i[1]=Ii.y;i[5]=Ui.y;i[9]=Di.y;i[2]=Ii.z;i[6]=Ui.z;i[10]=Di.z;return this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements;const i=e.elements;const r=this.elements;const s=n[0],a=n[4],o=n[8],l=n[12];const c=n[1],h=n[5],u=n[9],d=n[13];const p=n[2],f=n[6],m=n[10],g=n[14];const _=n[3],x=n[7],y=n[11],M=n[15];const S=i[0],b=i[4],T=i[8],w=i[12];const E=i[1],A=i[5],C=i[9],R=i[13];const P=i[2],L=i[6],I=i[10],U=i[14];const D=i[3],N=i[7],B=i[11],O=i[15];r[0]=s*S+a*E+o*P+l*D;r[4]=s*b+a*A+o*L+l*N;r[8]=s*T+a*C+o*I+l*B;r[12]=s*w+a*R+o*U+l*O;r[1]=c*S+h*E+u*P+d*D;r[5]=c*b+h*A+u*L+d*N;r[9]=c*T+h*C+u*I+d*B;r[13]=c*w+h*R+u*U+d*O;r[2]=p*S+f*E+m*P+g*D;r[6]=p*b+f*A+m*L+g*N;r[10]=p*T+f*C+m*I+g*B;r[14]=p*w+f*R+m*U+g*O;r[3]=_*S+x*E+y*P+M*D;r[7]=_*b+x*A+y*L+M*N;r[11]=_*T+x*C+y*I+M*B;r[15]=_*w+x*R+y*U+M*O;return this}multiplyScalar(t){const e=this.elements;e[0]*=t;e[4]*=t;e[8]*=t;e[12]*=t;e[1]*=t;e[5]*=t;e[9]*=t;e[13]*=t;e[2]*=t;e[6]*=t;e[10]*=t;e[14]*=t;e[3]*=t;e[7]*=t;e[11]*=t;e[15]*=t;return this}determinant(){const t=this.elements;const e=t[0],n=t[4],i=t[8],r=t[12];const s=t[1],a=t[5],o=t[9],l=t[13];const c=t[2],h=t[6],u=t[10],d=t[14];const p=t[3],f=t[7],m=t[11],g=t[15];return p*(+r*o*h-i*l*h-r*a*u+n*l*u+i*a*d-n*o*d)+f*(+e*o*d-e*l*u+r*s*u-i*s*d+i*l*c-r*o*c)+m*(+e*l*h-e*a*d-r*s*h+n*s*d+r*a*c-n*l*c)+g*(-i*a*c-e*o*h+e*a*u+i*s*h-n*s*u+n*o*c)}transpose(){const t=this.elements;let e;e=t[1];t[1]=t[4];t[4]=e;e=t[2];t[2]=t[8];t[8]=e;e=t[6];t[6]=t[9];t[9]=e;e=t[3];t[3]=t[12];t[12]=e;e=t[7];t[7]=t[13];t[13]=e;e=t[11];t[11]=t[14];t[14]=e;return this}setPosition(t,e,n){const i=this.elements;if(t.isVector3){i[12]=t.x;i[13]=t.y;i[14]=t.z}else{i[12]=t;i[13]=e;i[14]=n}return this}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8],h=t[9],u=t[10],d=t[11],p=t[12],f=t[13],m=t[14],g=t[15],_=h*m*l-f*u*l+f*o*d-a*m*d-h*o*g+a*u*g,x=p*u*l-c*m*l-p*o*d+s*m*d+c*o*g-s*u*g,y=c*f*l-p*h*l+p*a*d-s*f*d-c*a*g+s*h*g,M=p*h*o-c*f*o-p*a*u+s*f*u+c*a*m-s*h*m;const S=e*_+n*x+i*y+r*M;if(S===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const b=1/S;t[0]=_*b;t[1]=(f*u*r-h*m*r-f*i*d+n*m*d+h*i*g-n*u*g)*b;t[2]=(a*m*r-f*o*r+f*i*l-n*m*l-a*i*g+n*o*g)*b;t[3]=(h*o*r-a*u*r-h*i*l+n*u*l+a*i*d-n*o*d)*b;t[4]=x*b;t[5]=(c*m*r-p*u*r+p*i*d-e*m*d-c*i*g+e*u*g)*b;t[6]=(p*o*r-s*m*r-p*i*l+e*m*l+s*i*g-e*o*g)*b;t[7]=(s*u*r-c*o*r+c*i*l-e*u*l-s*i*d+e*o*d)*b;t[8]=y*b;t[9]=(p*h*r-c*f*r-p*n*d+e*f*d+c*n*g-e*h*g)*b;t[10]=(s*f*r-p*a*r+p*n*l-e*f*l-s*n*g+e*a*g)*b;t[11]=(c*a*r-s*h*r-c*n*l+e*h*l+s*n*d-e*a*d)*b;t[12]=M*b;t[13]=(c*f*i-p*h*i+p*n*u-e*f*u-c*n*m+e*h*m)*b;t[14]=(p*a*i-s*f*i-p*n*o+e*f*o+s*n*m-e*a*m)*b;t[15]=(s*h*i-c*a*i+c*n*o-e*h*o-s*n*u+e*a*u)*b;return this}scale(t){const e=this.elements;const n=t.x,i=t.y,r=t.z;e[0]*=n;e[4]*=i;e[8]*=r;e[1]*=n;e[5]*=i;e[9]*=r;e[2]*=n;e[6]*=i;e[10]*=r;e[3]*=n;e[7]*=i;e[11]*=r;return this}getMaxScaleOnAxis(){const t=this.elements;const e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2];const n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6];const i=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,i))}makeTranslation(t,e,n){t.isVector3?this.set(1,0,0,t.x,0,1,0,t.y,0,0,1,t.z,0,0,0,1):this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1);return this}makeRotationX(t){const e=Math.cos(t),n=Math.sin(t);this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1);return this}makeRotationY(t){const e=Math.cos(t),n=Math.sin(t);this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1);return this}makeRotationZ(t){const e=Math.cos(t),n=Math.sin(t);this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1);return this}makeRotationAxis(t,e){const n=Math.cos(e);const i=Math.sin(e);const r=1-n;const s=t.x,a=t.y,o=t.z;const l=r*s,c=r*a;this.set(l*s+n,l*a-i*o,l*o+i*a,0,l*a+i*o,c*a+n,c*o-i*s,0,l*o-i*a,c*o+i*s,r*o*o+n,0,0,0,0,1);return this}makeScale(t,e,n){this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1);return this}makeShear(t,e,n,i,r,s){this.set(1,n,r,0,t,1,s,0,e,i,1,0,0,0,0,1);return this}compose(t,e,n){const i=this.elements;const r=e._x,s=e._y,a=e._z,o=e._w;const l=r+r,c=s+s,h=a+a;const u=r*l,d=r*c,p=r*h;const f=s*c,m=s*h,g=a*h;const _=o*l,x=o*c,y=o*h;const M=n.x,S=n.y,b=n.z;i[0]=(1-(f+g))*M;i[1]=(d+y)*M;i[2]=(p-x)*M;i[3]=0;i[4]=(d-y)*S;i[5]=(1-(u+g))*S;i[6]=(m+_)*S;i[7]=0;i[8]=(p+x)*b;i[9]=(m-_)*b;i[10]=(1-(u+f))*b;i[11]=0;i[12]=t.x;i[13]=t.y;i[14]=t.z;i[15]=1;return this}decompose(t,e,n){const i=this.elements;let r=Ci.set(i[0],i[1],i[2]).length();const s=Ci.set(i[4],i[5],i[6]).length();const a=Ci.set(i[8],i[9],i[10]).length();const o=this.determinant();o<0&&(r=-r);t.x=i[12];t.y=i[13];t.z=i[14];Ri.copy(this);const l=1/r;const c=1/s;const h=1/a;Ri.elements[0]*=l;Ri.elements[1]*=l;Ri.elements[2]*=l;Ri.elements[4]*=c;Ri.elements[5]*=c;Ri.elements[6]*=c;Ri.elements[8]*=h;Ri.elements[9]*=h;Ri.elements[10]*=h;e.setFromRotationMatrix(Ri);n.x=r;n.y=s;n.z=a;return this}makePerspective(t,e,n,i,r,s,a=Fn){const o=this.elements;const l=2*r/(e-t);const c=2*r/(n-i);const h=(e+t)/(e-t);const u=(n+i)/(n-i);let d,p;if(a===Fn){d=-(s+r)/(s-r);p=-2*s*r/(s-r)}else{if(a!==zn)throw new Error(\"THREE.Matrix4.makePerspective(): Invalid coordinate system: \"+a);d=-s/(s-r);p=-s*r/(s-r)}o[0]=l;o[4]=0;o[8]=h;o[12]=0;o[1]=0;o[5]=c;o[9]=u;o[13]=0;o[2]=0;o[6]=0;o[10]=d;o[14]=p;o[3]=0;o[7]=0;o[11]=-1;o[15]=0;return this}makeOrthographic(t,e,n,i,r,s,a=Fn){const o=this.elements;const l=1/(e-t);const c=1/(n-i);const h=1/(s-r);const u=(e+t)*l;const d=(n+i)*c;let p,f;if(a===Fn){p=(s+r)*h;f=-2*h}else{if(a!==zn)throw new Error(\"THREE.Matrix4.makeOrthographic(): Invalid coordinate system: \"+a);p=r*h;f=-1*h}o[0]=2*l;o[4]=0;o[8]=0;o[12]=-u;o[1]=0;o[5]=2*c;o[9]=0;o[13]=-d;o[2]=0;o[6]=0;o[10]=f;o[14]=-p;o[3]=0;o[7]=0;o[11]=0;o[15]=1;return this}equals(t){const e=this.elements;const n=t.elements;for(let t=0;t<16;t++)if(e[t]!==n[t])return false;return true}fromArray(t,e=0){for(let n=0;n<16;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;t[e]=n[0];t[e+1]=n[1];t[e+2]=n[2];t[e+3]=n[3];t[e+4]=n[4];t[e+5]=n[5];t[e+6]=n[6];t[e+7]=n[7];t[e+8]=n[8];t[e+9]=n[9];t[e+10]=n[10];t[e+11]=n[11];t[e+12]=n[12];t[e+13]=n[13];t[e+14]=n[14];t[e+15]=n[15];return t}}const Ci=new Vector3;const Ri=new Matrix4;const Pi=new Vector3(0,0,0);const Li=new Vector3(1,1,1);const Ii=new Vector3;const Ui=new Vector3;const Di=new Vector3;const Ni=new Matrix4;const Bi=new Quaternion;class Euler{constructor(t=0,e=0,n=0,i=Euler.DEFAULT_ORDER){this.isEuler=true;this._x=t;this._y=e;this._z=n;this._order=i}get x(){return this._x}set x(t){this._x=t;this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t;this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t;this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t;this._onChangeCallback()}set(t,e,n,i=this._order){this._x=t;this._y=e;this._z=n;this._order=i;this._onChangeCallback();return this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){this._x=t._x;this._y=t._y;this._z=t._z;this._order=t._order;this._onChangeCallback();return this}setFromRotationMatrix(t,e=this._order,n=true){const i=t.elements;const r=i[0],s=i[4],a=i[8];const o=i[1],l=i[5],c=i[9];const h=i[2],u=i[6],d=i[10];switch(e){case\"XYZ\":this._y=Math.asin(clamp(a,-1,1));if(Math.abs(a)<.9999999){this._x=Math.atan2(-c,d);this._z=Math.atan2(-s,r)}else{this._x=Math.atan2(u,l);this._z=0}break;case\"YXZ\":this._x=Math.asin(-clamp(c,-1,1));if(Math.abs(c)<.9999999){this._y=Math.atan2(a,d);this._z=Math.atan2(o,l)}else{this._y=Math.atan2(-h,r);this._z=0}break;case\"ZXY\":this._x=Math.asin(clamp(u,-1,1));if(Math.abs(u)<.9999999){this._y=Math.atan2(-h,d);this._z=Math.atan2(-s,l)}else{this._y=0;this._z=Math.atan2(o,r)}break;case\"ZYX\":this._y=Math.asin(-clamp(h,-1,1));if(Math.abs(h)<.9999999){this._x=Math.atan2(u,d);this._z=Math.atan2(o,r)}else{this._x=0;this._z=Math.atan2(-s,l)}break;case\"YZX\":this._z=Math.asin(clamp(o,-1,1));if(Math.abs(o)<.9999999){this._x=Math.atan2(-c,l);this._y=Math.atan2(-h,r)}else{this._x=0;this._y=Math.atan2(a,d)}break;case\"XZY\":this._z=Math.asin(-clamp(s,-1,1));if(Math.abs(s)<.9999999){this._x=Math.atan2(u,l);this._y=Math.atan2(a,r)}else{this._x=Math.atan2(-c,d);this._y=0}break;default:console.warn(\"THREE.Euler: .setFromRotationMatrix() encountered an unknown order: \"+e)}this._order=e;n===true&&this._onChangeCallback();return this}setFromQuaternion(t,e,n){Ni.makeRotationFromQuaternion(t);return this.setFromRotationMatrix(Ni,e,n)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){Bi.setFromEuler(this);return this.setFromQuaternion(Bi,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){this._x=t[0];this._y=t[1];this._z=t[2];t[3]!==void 0&&(this._order=t[3]);this._onChangeCallback();return this}toArray(t=[],e=0){t[e]=this._x;t[e+1]=this._y;t[e+2]=this._z;t[e+3]=this._order;return t}_onChange(t){this._onChangeCallback=t;return this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x;yield this._y;yield this._z;yield this._order}}Euler.DEFAULT_ORDER=\"XYZ\";class Layers{constructor(){this.mask=1}set(t){this.mask=(1<<t|0)>>>0}enable(t){this.mask|=1<<t|0}enableAll(){this.mask=-1}toggle(t){this.mask^=1<<t|0}disable(t){this.mask&=~(1<<t|0)}disableAll(){this.mask=0}test(t){return(this.mask&t.mask)!==0}isEnabled(t){return(this.mask&(1<<t|0))!==0}}let Oi=0;const Vi=new Vector3;const Fi=new Quaternion;const zi=new Matrix4;const Gi=new Vector3;const ki=new Vector3;const Hi=new Vector3;const Wi=new Quaternion;const Xi=new Vector3(1,0,0);const ji=new Vector3(0,1,0);const qi=new Vector3(0,0,1);const Yi={type:\"added\"};const Ki={type:\"removed\"};const Zi={type:\"childadded\",child:null};const Ji={type:\"childremoved\",child:null};class Object3D extends EventDispatcher{constructor(){super();this.isObject3D=true;Object.defineProperty(this,\"id\",{value:Oi++});this.uuid=generateUUID();this.name=\"\";this.type=\"Object3D\";this.parent=null;this.children=[];this.up=Object3D.DEFAULT_UP.clone();const t=new Vector3;const e=new Euler;const n=new Quaternion;const i=new Vector3(1,1,1);function onRotationChange(){n.setFromEuler(e,false)}function onQuaternionChange(){e.setFromQuaternion(n,void 0,false)}e._onChange(onRotationChange);n._onChange(onQuaternionChange);Object.defineProperties(this,{position:{configurable:true,enumerable:true,value:t},rotation:{configurable:true,enumerable:true,value:e},quaternion:{configurable:true,enumerable:true,value:n},scale:{configurable:true,enumerable:true,value:i},modelViewMatrix:{value:new Matrix4},normalMatrix:{value:new Matrix3}});this.matrix=new Matrix4;this.matrixWorld=new Matrix4;this.matrixAutoUpdate=Object3D.DEFAULT_MATRIX_AUTO_UPDATE;this.matrixWorldAutoUpdate=Object3D.DEFAULT_MATRIX_WORLD_AUTO_UPDATE;this.matrixWorldNeedsUpdate=false;this.layers=new Layers;this.visible=true;this.castShadow=false;this.receiveShadow=false;this.frustumCulled=true;this.renderOrder=0;this.animations=[];this.userData={}}onBeforeShadow(){}onAfterShadow(){}onBeforeRender(){}onAfterRender(){}applyMatrix4(t){this.matrixAutoUpdate&&this.updateMatrix();this.matrix.premultiply(t);this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(t){this.quaternion.premultiply(t);return this}setRotationFromAxisAngle(t,e){this.quaternion.setFromAxisAngle(t,e)}setRotationFromEuler(t){this.quaternion.setFromEuler(t,true)}setRotationFromMatrix(t){this.quaternion.setFromRotationMatrix(t)}setRotationFromQuaternion(t){this.quaternion.copy(t)}rotateOnAxis(t,e){Fi.setFromAxisAngle(t,e);this.quaternion.multiply(Fi);return this}rotateOnWorldAxis(t,e){Fi.setFromAxisAngle(t,e);this.quaternion.premultiply(Fi);return this}rotateX(t){return this.rotateOnAxis(Xi,t)}rotateY(t){return this.rotateOnAxis(ji,t)}rotateZ(t){return this.rotateOnAxis(qi,t)}translateOnAxis(t,e){Vi.copy(t).applyQuaternion(this.quaternion);this.position.add(Vi.multiplyScalar(e));return this}translateX(t){return this.translateOnAxis(Xi,t)}translateY(t){return this.translateOnAxis(ji,t)}translateZ(t){return this.translateOnAxis(qi,t)}localToWorld(t){this.updateWorldMatrix(true,false);return t.applyMatrix4(this.matrixWorld)}worldToLocal(t){this.updateWorldMatrix(true,false);return t.applyMatrix4(zi.copy(this.matrixWorld).invert())}lookAt(t,e,n){t.isVector3?Gi.copy(t):Gi.set(t,e,n);const i=this.parent;this.updateWorldMatrix(true,false);ki.setFromMatrixPosition(this.matrixWorld);this.isCamera||this.isLight?zi.lookAt(ki,Gi,this.up):zi.lookAt(Gi,ki,this.up);this.quaternion.setFromRotationMatrix(zi);if(i){zi.extractRotation(i.matrixWorld);Fi.setFromRotationMatrix(zi);this.quaternion.premultiply(Fi.invert())}}add(t){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.add(arguments[t]);return this}if(t===this){console.error(\"THREE.Object3D.add: object can't be added as a child of itself.\",t);return this}if(t&&t.isObject3D){t.removeFromParent();t.parent=this;this.children.push(t);t.dispatchEvent(Yi);Zi.child=t;this.dispatchEvent(Zi);Zi.child=null}else console.error(\"THREE.Object3D.add: object not an instance of THREE.Object3D.\",t);return this}remove(t){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.remove(arguments[t]);return this}const e=this.children.indexOf(t);if(e!==-1){t.parent=null;this.children.splice(e,1);t.dispatchEvent(Ki);Ji.child=t;this.dispatchEvent(Ji);Ji.child=null}return this}removeFromParent(){const t=this.parent;t!==null&&t.remove(this);return this}clear(){return this.remove(...this.children)}attach(t){this.updateWorldMatrix(true,false);zi.copy(this.matrixWorld).invert();if(t.parent!==null){t.parent.updateWorldMatrix(true,false);zi.multiply(t.parent.matrixWorld)}t.applyMatrix4(zi);t.removeFromParent();t.parent=this;this.children.push(t);t.updateWorldMatrix(false,true);t.dispatchEvent(Yi);Zi.child=t;this.dispatchEvent(Zi);Zi.child=null;return this}getObjectById(t){return this.getObjectByProperty(\"id\",t)}getObjectByName(t){return this.getObjectByProperty(\"name\",t)}getObjectByProperty(t,e){if(this[t]===e)return this;for(let n=0,i=this.children.length;n<i;n++){const i=this.children[n];const r=i.getObjectByProperty(t,e);if(r!==void 0)return r}}getObjectsByProperty(t,e,n=[]){this[t]===e&&n.push(this);const i=this.children;for(let r=0,s=i.length;r<s;r++)i[r].getObjectsByProperty(t,e,n);return n}getWorldPosition(t){this.updateWorldMatrix(true,false);return t.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(t){this.updateWorldMatrix(true,false);this.matrixWorld.decompose(ki,t,Hi);return t}getWorldScale(t){this.updateWorldMatrix(true,false);this.matrixWorld.decompose(ki,Wi,t);return t}getWorldDirection(t){this.updateWorldMatrix(true,false);const e=this.matrixWorld.elements;return t.set(e[8],e[9],e[10]).normalize()}raycast(){}traverse(t){t(this);const e=this.children;for(let n=0,i=e.length;n<i;n++)e[n].traverse(t)}traverseVisible(t){if(this.visible===false)return;t(this);const e=this.children;for(let n=0,i=e.length;n<i;n++)e[n].traverseVisible(t)}traverseAncestors(t){const e=this.parent;if(e!==null){t(e);e.traverseAncestors(t)}}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale);this.matrixWorldNeedsUpdate=true}updateMatrixWorld(t){this.matrixAutoUpdate&&this.updateMatrix();if(this.matrixWorldNeedsUpdate||t){this.matrixWorldAutoUpdate===true&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix));this.matrixWorldNeedsUpdate=false;t=true}const e=this.children;for(let n=0,i=e.length;n<i;n++){const i=e[n];i.updateMatrixWorld(t)}}updateWorldMatrix(t,e){const n=this.parent;t===true&&n!==null&&n.updateWorldMatrix(true,false);this.matrixAutoUpdate&&this.updateMatrix();this.matrixWorldAutoUpdate===true&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix));if(e===true){const t=this.children;for(let e=0,n=t.length;e<n;e++){const n=t[e];n.updateWorldMatrix(false,true)}}}toJSON(t){const e=t===void 0||typeof t===\"string\";const n={};if(e){t={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}};n.metadata={version:4.6,type:\"Object\",generator:\"Object3D.toJSON\"}}const i={};i.uuid=this.uuid;i.type=this.type;this.name!==\"\"&&(i.name=this.name);this.castShadow===true&&(i.castShadow=true);this.receiveShadow===true&&(i.receiveShadow=true);this.visible===false&&(i.visible=false);this.frustumCulled===false&&(i.frustumCulled=false);this.renderOrder!==0&&(i.renderOrder=this.renderOrder);Object.keys(this.userData).length>0&&(i.userData=this.userData);i.layers=this.layers.mask;i.matrix=this.matrix.toArray();i.up=this.up.toArray();this.matrixAutoUpdate===false&&(i.matrixAutoUpdate=false);if(this.isInstancedMesh){i.type=\"InstancedMesh\";i.count=this.count;i.instanceMatrix=this.instanceMatrix.toJSON();this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON())}if(this.isBatchedMesh){i.type=\"BatchedMesh\";i.perObjectFrustumCulled=this.perObjectFrustumCulled;i.sortObjects=this.sortObjects;i.drawRanges=this._drawRanges;i.reservedRanges=this._reservedRanges;i.visibility=this._visibility;i.active=this._active;i.bounds=this._bounds.map((t=>({boxInitialized:t.boxInitialized,boxMin:t.box.min.toArray(),boxMax:t.box.max.toArray(),sphereInitialized:t.sphereInitialized,sphereRadius:t.sphere.radius,sphereCenter:t.sphere.center.toArray()})));i.maxInstanceCount=this._maxInstanceCount;i.maxVertexCount=this._maxVertexCount;i.maxIndexCount=this._maxIndexCount;i.geometryInitialized=this._geometryInitialized;i.geometryCount=this._geometryCount;i.matricesTexture=this._matricesTexture.toJSON(t);this._colorsTexture!==null&&(i.colorsTexture=this._colorsTexture.toJSON(t));this.boundingSphere!==null&&(i.boundingSphere={center:i.boundingSphere.center.toArray(),radius:i.boundingSphere.radius});this.boundingBox!==null&&(i.boundingBox={min:i.boundingBox.min.toArray(),max:i.boundingBox.max.toArray()})}function serialize(e,n){e[n.uuid]===void 0&&(e[n.uuid]=n.toJSON(t));return n.uuid}if(this.isScene){this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(t).uuid));this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==true&&(i.environment=this.environment.toJSON(t).uuid)}else if(this.isMesh||this.isLine||this.isPoints){i.geometry=serialize(t.geometries,this.geometry);const e=this.geometry.parameters;if(e!==void 0&&e.shapes!==void 0){const n=e.shapes;if(Array.isArray(n))for(let e=0,i=n.length;e<i;e++){const i=n[e];serialize(t.shapes,i)}else serialize(t.shapes,n)}}if(this.isSkinnedMesh){i.bindMode=this.bindMode;i.bindMatrix=this.bindMatrix.toArray();if(this.skeleton!==void 0){serialize(t.skeletons,this.skeleton);i.skeleton=this.skeleton.uuid}}if(this.material!==void 0)if(Array.isArray(this.material)){const e=[];for(let n=0,i=this.material.length;n<i;n++)e.push(serialize(t.materials,this.material[n]));i.material=e}else i.material=serialize(t.materials,this.material);if(this.children.length>0){i.children=[];for(let e=0;e<this.children.length;e++)i.children.push(this.children[e].toJSON(t).object)}if(this.animations.length>0){i.animations=[];for(let e=0;e<this.animations.length;e++){const n=this.animations[e];i.animations.push(serialize(t.animations,n))}}if(e){const e=extractFromCache(t.geometries);const i=extractFromCache(t.materials);const r=extractFromCache(t.textures);const s=extractFromCache(t.images);const a=extractFromCache(t.shapes);const o=extractFromCache(t.skeletons);const l=extractFromCache(t.animations);const c=extractFromCache(t.nodes);e.length>0&&(n.geometries=e);i.length>0&&(n.materials=i);r.length>0&&(n.textures=r);s.length>0&&(n.images=s);a.length>0&&(n.shapes=a);o.length>0&&(n.skeletons=o);l.length>0&&(n.animations=l);c.length>0&&(n.nodes=c)}n.object=i;return n;function extractFromCache(t){const e=[];for(const n in t){const i=t[n];delete i.metadata;e.push(i)}return e}}clone(t){return(new this.constructor).copy(this,t)}copy(t,e=true){this.name=t.name;this.up.copy(t.up);this.position.copy(t.position);this.rotation.order=t.rotation.order;this.quaternion.copy(t.quaternion);this.scale.copy(t.scale);this.matrix.copy(t.matrix);this.matrixWorld.copy(t.matrixWorld);this.matrixAutoUpdate=t.matrixAutoUpdate;this.matrixWorldAutoUpdate=t.matrixWorldAutoUpdate;this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate;this.layers.mask=t.layers.mask;this.visible=t.visible;this.castShadow=t.castShadow;this.receiveShadow=t.receiveShadow;this.frustumCulled=t.frustumCulled;this.renderOrder=t.renderOrder;this.animations=t.animations.slice();this.userData=JSON.parse(JSON.stringify(t.userData));if(e===true)for(let e=0;e<t.children.length;e++){const n=t.children[e];this.add(n.clone())}return this}}Object3D.DEFAULT_UP=new Vector3(0,1,0);Object3D.DEFAULT_MATRIX_AUTO_UPDATE=true;Object3D.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=true;const Qi=new Vector3;const $i=new Vector3;const tr=new Vector3;const er=new Vector3;const nr=new Vector3;const ir=new Vector3;const rr=new Vector3;const sr=new Vector3;const ar=new Vector3;const or=new Vector3;class Triangle{constructor(t=new Vector3,e=new Vector3,n=new Vector3){this.a=t;this.b=e;this.c=n}static getNormal(t,e,n,i){i.subVectors(n,e);Qi.subVectors(t,e);i.cross(Qi);const r=i.lengthSq();return r>0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(t,e,n,i,r){Qi.subVectors(i,e);$i.subVectors(n,e);tr.subVectors(t,e);const s=Qi.dot(Qi);const a=Qi.dot($i);const o=Qi.dot(tr);const l=$i.dot($i);const c=$i.dot(tr);const h=s*l-a*a;if(h===0){r.set(0,0,0);return null}const u=1/h;const d=(l*o-a*c)*u;const p=(s*c-a*o)*u;return r.set(1-d-p,p,d)}static containsPoint(t,e,n,i){return this.getBarycoord(t,e,n,i,er)!==null&&(er.x>=0&&er.y>=0&&er.x+er.y<=1)}static getInterpolation(t,e,n,i,r,s,a,o){if(this.getBarycoord(t,e,n,i,er)===null){o.x=0;o.y=0;\"z\"in o&&(o.z=0);\"w\"in o&&(o.w=0);return null}o.setScalar(0);o.addScaledVector(r,er.x);o.addScaledVector(s,er.y);o.addScaledVector(a,er.z);return o}static isFrontFacing(t,e,n,i){Qi.subVectors(n,e);$i.subVectors(t,e);return Qi.cross($i).dot(i)<0}set(t,e,n){this.a.copy(t);this.b.copy(e);this.c.copy(n);return this}setFromPointsAndIndices(t,e,n,i){this.a.copy(t[e]);this.b.copy(t[n]);this.c.copy(t[i]);return this}setFromAttributeAndIndices(t,e,n,i){this.a.fromBufferAttribute(t,e);this.b.fromBufferAttribute(t,n);this.c.fromBufferAttribute(t,i);return this}clone(){return(new this.constructor).copy(this)}copy(t){this.a.copy(t.a);this.b.copy(t.b);this.c.copy(t.c);return this}getArea(){Qi.subVectors(this.c,this.b);$i.subVectors(this.a,this.b);return Qi.cross($i).length()*.5}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return Triangle.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return Triangle.getBarycoord(t,this.a,this.b,this.c,e)}getInterpolation(t,e,n,i,r){return Triangle.getInterpolation(t,this.a,this.b,this.c,e,n,i,r)}containsPoint(t){return Triangle.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return Triangle.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const n=this.a,i=this.b,r=this.c;let s,a;nr.subVectors(i,n);ir.subVectors(r,n);sr.subVectors(t,n);const o=nr.dot(sr);const l=ir.dot(sr);if(o<=0&&l<=0)return e.copy(n);ar.subVectors(t,i);const c=nr.dot(ar);const h=ir.dot(ar);if(c>=0&&h<=c)return e.copy(i);const u=o*h-c*l;if(u<=0&&o>=0&&c<=0){s=o/(o-c);return e.copy(n).addScaledVector(nr,s)}or.subVectors(t,r);const d=nr.dot(or);const p=ir.dot(or);if(p>=0&&d<=p)return e.copy(r);const f=d*l-o*p;if(f<=0&&l>=0&&p<=0){a=l/(l-p);return e.copy(n).addScaledVector(ir,a)}const m=c*p-d*h;if(m<=0&&h-c>=0&&d-p>=0){rr.subVectors(r,i);a=(h-c)/(h-c+(d-p));return e.copy(i).addScaledVector(rr,a)}const g=1/(m+f+u);s=f*g;a=u*g;return e.copy(n).addScaledVector(nr,s).addScaledVector(ir,a)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}const lr={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};const cr={h:0,s:0,l:0};const hr={h:0,s:0,l:0};function hue2rgb(t,e,n){n<0&&(n+=1);n>1&&(n-=1);return n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+6*(e-t)*(2/3-n):t}class Color{constructor(t,e,n){this.isColor=true;this.r=1;this.g=1;this.b=1;return this.set(t,e,n)}set(t,e,n){if(e===void 0&&n===void 0){const e=t;e&&e.isColor?this.copy(e):typeof e===\"number\"?this.setHex(e):typeof e===\"string\"&&this.setStyle(e)}else this.setRGB(t,e,n);return this}setScalar(t){this.r=t;this.g=t;this.b=t;return this}setHex(t,e=Ke){t=Math.floor(t);this.r=(t>>16&255)/255;this.g=(t>>8&255)/255;this.b=(t&255)/255;$n.toWorkingColorSpace(this,e);return this}setRGB(t,e,n,i=$n.workingColorSpace){this.r=t;this.g=e;this.b=n;$n.toWorkingColorSpace(this,i);return this}setHSL(t,e,n,i=$n.workingColorSpace){t=euclideanModulo(t,1);e=clamp(e,0,1);n=clamp(n,0,1);if(e===0)this.r=this.g=this.b=n;else{const i=n<=.5?n*(1+e):n+e-n*e;const r=2*n-i;this.r=hue2rgb(r,i,t+1/3);this.g=hue2rgb(r,i,t);this.b=hue2rgb(r,i,t-1/3)}$n.toWorkingColorSpace(this,i);return this}setStyle(t,e=Ke){function handleAlpha(e){e!==void 0&&parseFloat(e)<1&&console.warn(\"THREE.Color: Alpha component of \"+t+\" will be ignored.\")}let n;if(n=/^(\\w+)\\(([^\\)]*)\\)/.exec(t)){let i;const r=n[1];const s=n[2];switch(r){case\"rgb\":case\"rgba\":if(i=/^\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(s)){handleAlpha(i[4]);return this.setRGB(Math.min(255,parseInt(i[1],10))/255,Math.min(255,parseInt(i[2],10))/255,Math.min(255,parseInt(i[3],10))/255,e)}if(i=/^\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(s)){handleAlpha(i[4]);return this.setRGB(Math.min(100,parseInt(i[1],10))/100,Math.min(100,parseInt(i[2],10))/100,Math.min(100,parseInt(i[3],10))/100,e)}break;case\"hsl\":case\"hsla\":if(i=/^\\s*(\\d*\\.?\\d+)\\s*,\\s*(\\d*\\.?\\d+)\\%\\s*,\\s*(\\d*\\.?\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(s)){handleAlpha(i[4]);return this.setHSL(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,e)}break;default:console.warn(\"THREE.Color: Unknown color model \"+t)}}else if(n=/^\\#([A-Fa-f\\d]+)$/.exec(t)){const i=n[1];const r=i.length;if(r===3)return this.setRGB(parseInt(i.charAt(0),16)/15,parseInt(i.charAt(1),16)/15,parseInt(i.charAt(2),16)/15,e);if(r===6)return this.setHex(parseInt(i,16),e);console.warn(\"THREE.Color: Invalid hex color \"+t)}else if(t&&t.length>0)return this.setColorName(t,e);return this}setColorName(t,e=Ke){const n=lr[t.toLowerCase()];n!==void 0?this.setHex(n,e):console.warn(\"THREE.Color: Unknown color \"+t);return this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){this.r=t.r;this.g=t.g;this.b=t.b;return this}copySRGBToLinear(t){this.r=SRGBToLinear(t.r);this.g=SRGBToLinear(t.g);this.b=SRGBToLinear(t.b);return this}copyLinearToSRGB(t){this.r=LinearToSRGB(t.r);this.g=LinearToSRGB(t.g);this.b=LinearToSRGB(t.b);return this}convertSRGBToLinear(){this.copySRGBToLinear(this);return this}convertLinearToSRGB(){this.copyLinearToSRGB(this);return this}getHex(t=Ke){$n.fromWorkingColorSpace(ur.copy(this),t);return Math.round(clamp(ur.r*255,0,255))*65536+Math.round(clamp(ur.g*255,0,255))*256+Math.round(clamp(ur.b*255,0,255))}getHexString(t=Ke){return(\"000000\"+this.getHex(t).toString(16)).slice(-6)}getHSL(t,e=$n.workingColorSpace){$n.fromWorkingColorSpace(ur.copy(this),e);const n=ur.r,i=ur.g,r=ur.b;const s=Math.max(n,i,r);const a=Math.min(n,i,r);let o,l;const c=(a+s)/2;if(a===s){o=0;l=0}else{const t=s-a;l=c<=.5?t/(s+a):t/(2-s-a);switch(s){case n:o=(i-r)/t+(i<r?6:0);break;case i:o=(r-n)/t+2;break;case r:o=(n-i)/t+4;break}o/=6}t.h=o;t.s=l;t.l=c;return t}getRGB(t,e=$n.workingColorSpace){$n.fromWorkingColorSpace(ur.copy(this),e);t.r=ur.r;t.g=ur.g;t.b=ur.b;return t}getStyle(t=Ke){$n.fromWorkingColorSpace(ur.copy(this),t);const e=ur.r,n=ur.g,i=ur.b;return t!==Ke?`color(${t} ${e.toFixed(3)} ${n.toFixed(3)} ${i.toFixed(3)})`:`rgb(${Math.round(e*255)},${Math.round(n*255)},${Math.round(i*255)})`}offsetHSL(t,e,n){this.getHSL(cr);return this.setHSL(cr.h+t,cr.s+e,cr.l+n)}add(t){this.r+=t.r;this.g+=t.g;this.b+=t.b;return this}addColors(t,e){this.r=t.r+e.r;this.g=t.g+e.g;this.b=t.b+e.b;return this}addScalar(t){this.r+=t;this.g+=t;this.b+=t;return this}sub(t){this.r=Math.max(0,this.r-t.r);this.g=Math.max(0,this.g-t.g);this.b=Math.max(0,this.b-t.b);return this}multiply(t){this.r*=t.r;this.g*=t.g;this.b*=t.b;return this}multiplyScalar(t){this.r*=t;this.g*=t;this.b*=t;return this}lerp(t,e){this.r+=(t.r-this.r)*e;this.g+=(t.g-this.g)*e;this.b+=(t.b-this.b)*e;return this}lerpColors(t,e,n){this.r=t.r+(e.r-t.r)*n;this.g=t.g+(e.g-t.g)*n;this.b=t.b+(e.b-t.b)*n;return this}lerpHSL(t,e){this.getHSL(cr);t.getHSL(hr);const n=lerp(cr.h,hr.h,e);const i=lerp(cr.s,hr.s,e);const r=lerp(cr.l,hr.l,e);this.setHSL(n,i,r);return this}setFromVector3(t){this.r=t.x;this.g=t.y;this.b=t.z;return this}applyMatrix3(t){const e=this.r,n=this.g,i=this.b;const r=t.elements;this.r=r[0]*e+r[3]*n+r[6]*i;this.g=r[1]*e+r[4]*n+r[7]*i;this.b=r[2]*e+r[5]*n+r[8]*i;return this}equals(t){return t.r===this.r&&t.g===this.g&&t.b===this.b}fromArray(t,e=0){this.r=t[e];this.g=t[e+1];this.b=t[e+2];return this}toArray(t=[],e=0){t[e]=this.r;t[e+1]=this.g;t[e+2]=this.b;return t}fromBufferAttribute(t,e){this.r=t.getX(e);this.g=t.getY(e);this.b=t.getZ(e);return this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r;yield this.g;yield this.b}}const ur=new Color;Color.NAMES=lr;let dr=0;class Material extends EventDispatcher{constructor(){super();this.isMaterial=true;Object.defineProperty(this,\"id\",{value:dr++});this.uuid=generateUUID();this.name=\"\";this.type=\"Material\";this.blending=m;this.side=u;this.vertexColors=false;this.opacity=1;this.transparent=false;this.alphaHash=false;this.blendSrc=P;this.blendDst=L;this.blendEquation=M;this.blendSrcAlpha=null;this.blendDstAlpha=null;this.blendEquationAlpha=null;this.blendColor=new Color(0,0,0);this.blendAlpha=0;this.depthFunc=W;this.depthTest=true;this.depthWrite=true;this.stencilWriteMask=255;this.stencilFunc=xn;this.stencilRef=0;this.stencilFuncMask=255;this.stencilFail=sn;this.stencilZFail=sn;this.stencilZPass=sn;this.stencilWrite=false;this.clippingPlanes=null;this.clipIntersection=false;this.clipShadows=false;this.shadowSide=null;this.colorWrite=true;this.precision=null;this.polygonOffset=false;this.polygonOffsetFactor=0;this.polygonOffsetUnits=0;this.dithering=false;this.alphaToCoverage=false;this.premultipliedAlpha=false;this.forceSinglePass=false;this.visible=true;this.toneMapped=true;this.userData={};this.version=0;this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(t){this._alphaTest>0!==t>0&&this.version++;this._alphaTest=t}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(t!==void 0)for(const e in t){const n=t[e];if(n===void 0){console.warn(`THREE.Material: parameter '${e}' has value of undefined.`);continue}const i=this[e];i!==void 0?i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[e]=n:console.warn(`THREE.Material: '${e}' is not a property of THREE.${this.type}.`)}}toJSON(t){const e=t===void 0||typeof t===\"string\";e&&(t={textures:{},images:{}});const n={metadata:{version:4.6,type:\"Material\",generator:\"Material.toJSON\"}};n.uuid=this.uuid;n.type=this.type;this.name!==\"\"&&(n.name=this.name);this.color&&this.color.isColor&&(n.color=this.color.getHex());this.roughness!==void 0&&(n.roughness=this.roughness);this.metalness!==void 0&&(n.metalness=this.metalness);this.sheen!==void 0&&(n.sheen=this.sheen);this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex());this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness);this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex());this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity);this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex());this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity);this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex());this.shininess!==void 0&&(n.shininess=this.shininess);this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat);this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness);this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(t).uuid);this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid);if(this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture){n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid;n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()}this.dispersion!==void 0&&(n.dispersion=this.dispersion);this.iridescence!==void 0&&(n.iridescence=this.iridescence);this.iridescenceIOR!==void 0&&(n.iridescenceIOR=this.iridescenceIOR);this.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange);this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(t).uuid);this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(t).uuid);this.anisotropy!==void 0&&(n.anisotropy=this.anisotropy);this.anisotropyRotation!==void 0&&(n.anisotropyRotation=this.anisotropyRotation);this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(t).uuid);this.map&&this.map.isTexture&&(n.map=this.map.toJSON(t).uuid);this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(t).uuid);this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(t).uuid);if(this.lightMap&&this.lightMap.isTexture){n.lightMap=this.lightMap.toJSON(t).uuid;n.lightMapIntensity=this.lightMapIntensity}if(this.aoMap&&this.aoMap.isTexture){n.aoMap=this.aoMap.toJSON(t).uuid;n.aoMapIntensity=this.aoMapIntensity}if(this.bumpMap&&this.bumpMap.isTexture){n.bumpMap=this.bumpMap.toJSON(t).uuid;n.bumpScale=this.bumpScale}if(this.normalMap&&this.normalMap.isTexture){n.normalMap=this.normalMap.toJSON(t).uuid;n.normalMapType=this.normalMapType;n.normalScale=this.normalScale.toArray()}if(this.displacementMap&&this.displacementMap.isTexture){n.displacementMap=this.displacementMap.toJSON(t).uuid;n.displacementScale=this.displacementScale;n.displacementBias=this.displacementBias}this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(t).uuid);this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(t).uuid);this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(t).uuid);this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(t).uuid);this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid);this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(t).uuid);if(this.envMap&&this.envMap.isTexture){n.envMap=this.envMap.toJSON(t).uuid;this.combine!==void 0&&(n.combine=this.combine)}this.envMapRotation!==void 0&&(n.envMapRotation=this.envMapRotation.toArray());this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity);this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity);this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio);this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(t).uuid);this.transmission!==void 0&&(n.transmission=this.transmission);this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(t).uuid);this.thickness!==void 0&&(n.thickness=this.thickness);this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(t).uuid);this.attenuationDistance!==void 0&&this.attenuationDistance!==Infinity&&(n.attenuationDistance=this.attenuationDistance);this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex());this.size!==void 0&&(n.size=this.size);this.shadowSide!==null&&(n.shadowSide=this.shadowSide);this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation);this.blending!==m&&(n.blending=this.blending);this.side!==u&&(n.side=this.side);this.vertexColors===true&&(n.vertexColors=true);this.opacity<1&&(n.opacity=this.opacity);this.transparent===true&&(n.transparent=true);this.blendSrc!==P&&(n.blendSrc=this.blendSrc);this.blendDst!==L&&(n.blendDst=this.blendDst);this.blendEquation!==M&&(n.blendEquation=this.blendEquation);this.blendSrcAlpha!==null&&(n.blendSrcAlpha=this.blendSrcAlpha);this.blendDstAlpha!==null&&(n.blendDstAlpha=this.blendDstAlpha);this.blendEquationAlpha!==null&&(n.blendEquationAlpha=this.blendEquationAlpha);this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex());this.blendAlpha!==0&&(n.blendAlpha=this.blendAlpha);this.depthFunc!==W&&(n.depthFunc=this.depthFunc);this.depthTest===false&&(n.depthTest=this.depthTest);this.depthWrite===false&&(n.depthWrite=this.depthWrite);this.colorWrite===false&&(n.colorWrite=this.colorWrite);this.stencilWriteMask!==255&&(n.stencilWriteMask=this.stencilWriteMask);this.stencilFunc!==xn&&(n.stencilFunc=this.stencilFunc);this.stencilRef!==0&&(n.stencilRef=this.stencilRef);this.stencilFuncMask!==255&&(n.stencilFuncMask=this.stencilFuncMask);this.stencilFail!==sn&&(n.stencilFail=this.stencilFail);this.stencilZFail!==sn&&(n.stencilZFail=this.stencilZFail);this.stencilZPass!==sn&&(n.stencilZPass=this.stencilZPass);this.stencilWrite===true&&(n.stencilWrite=this.stencilWrite);this.rotation!==void 0&&this.rotation!==0&&(n.rotation=this.rotation);this.polygonOffset===true&&(n.polygonOffset=true);this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor);this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits);this.linewidth!==void 0&&this.linewidth!==1&&(n.linewidth=this.linewidth);this.dashSize!==void 0&&(n.dashSize=this.dashSize);this.gapSize!==void 0&&(n.gapSize=this.gapSize);this.scale!==void 0&&(n.scale=this.scale);this.dithering===true&&(n.dithering=true);this.alphaTest>0&&(n.alphaTest=this.alphaTest);this.alphaHash===true&&(n.alphaHash=true);this.alphaToCoverage===true&&(n.alphaToCoverage=true);this.premultipliedAlpha===true&&(n.premultipliedAlpha=true);this.forceSinglePass===true&&(n.forceSinglePass=true);this.wireframe===true&&(n.wireframe=true);this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth);this.wireframeLinecap!==\"round\"&&(n.wireframeLinecap=this.wireframeLinecap);this.wireframeLinejoin!==\"round\"&&(n.wireframeLinejoin=this.wireframeLinejoin);this.flatShading===true&&(n.flatShading=true);this.visible===false&&(n.visible=false);this.toneMapped===false&&(n.toneMapped=false);this.fog===false&&(n.fog=false);Object.keys(this.userData).length>0&&(n.userData=this.userData);function extractFromCache(t){const e=[];for(const n in t){const i=t[n];delete i.metadata;e.push(i)}return e}if(e){const e=extractFromCache(t.textures);const i=extractFromCache(t.images);e.length>0&&(n.textures=e);i.length>0&&(n.images=i)}return n}clone(){return(new this.constructor).copy(this)}copy(t){this.name=t.name;this.blending=t.blending;this.side=t.side;this.vertexColors=t.vertexColors;this.opacity=t.opacity;this.transparent=t.transparent;this.blendSrc=t.blendSrc;this.blendDst=t.blendDst;this.blendEquation=t.blendEquation;this.blendSrcAlpha=t.blendSrcAlpha;this.blendDstAlpha=t.blendDstAlpha;this.blendEquationAlpha=t.blendEquationAlpha;this.blendColor.copy(t.blendColor);this.blendAlpha=t.blendAlpha;this.depthFunc=t.depthFunc;this.depthTest=t.depthTest;this.depthWrite=t.depthWrite;this.stencilWriteMask=t.stencilWriteMask;this.stencilFunc=t.stencilFunc;this.stencilRef=t.stencilRef;this.stencilFuncMask=t.stencilFuncMask;this.stencilFail=t.stencilFail;this.stencilZFail=t.stencilZFail;this.stencilZPass=t.stencilZPass;this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let n=null;if(e!==null){const t=e.length;n=new Array(t);for(let i=0;i!==t;++i)n[i]=e[i].clone()}this.clippingPlanes=n;this.clipIntersection=t.clipIntersection;this.clipShadows=t.clipShadows;this.shadowSide=t.shadowSide;this.colorWrite=t.colorWrite;this.precision=t.precision;this.polygonOffset=t.polygonOffset;this.polygonOffsetFactor=t.polygonOffsetFactor;this.polygonOffsetUnits=t.polygonOffsetUnits;this.dithering=t.dithering;this.alphaTest=t.alphaTest;this.alphaHash=t.alphaHash;this.alphaToCoverage=t.alphaToCoverage;this.premultipliedAlpha=t.premultipliedAlpha;this.forceSinglePass=t.forceSinglePass;this.visible=t.visible;this.toneMapped=t.toneMapped;this.userData=JSON.parse(JSON.stringify(t.userData));return this}dispose(){this.dispatchEvent({type:\"dispose\"})}set needsUpdate(t){t===true&&this.version++}onBuild(){console.warn(\"Material: onBuild() has been removed.\")}onBeforeRender(){console.warn(\"Material: onBeforeRender() has been removed.\")}}class MeshBasicMaterial extends Material{constructor(t){super();this.isMeshBasicMaterial=true;this.type=\"MeshBasicMaterial\";this.color=new Color(16777215);this.map=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.specularMap=null;this.alphaMap=null;this.envMap=null;this.envMapRotation=new Euler;this.combine=K;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.fog=true;this.setValues(t)}copy(t){super.copy(t);this.color.copy(t.color);this.map=t.map;this.lightMap=t.lightMap;this.lightMapIntensity=t.lightMapIntensity;this.aoMap=t.aoMap;this.aoMapIntensity=t.aoMapIntensity;this.specularMap=t.specularMap;this.alphaMap=t.alphaMap;this.envMap=t.envMap;this.envMapRotation.copy(t.envMapRotation);this.combine=t.combine;this.reflectivity=t.reflectivity;this.refractionRatio=t.refractionRatio;this.wireframe=t.wireframe;this.wireframeLinewidth=t.wireframeLinewidth;this.wireframeLinecap=t.wireframeLinecap;this.wireframeLinejoin=t.wireframeLinejoin;this.fog=t.fog;return this}}const pr=_generateTables();function _generateTables(){const t=new ArrayBuffer(4);const e=new Float32Array(t);const n=new Uint32Array(t);const i=new Uint32Array(512);const r=new Uint32Array(512);for(let t=0;t<256;++t){const e=t-127;if(e<-27){i[t]=0;i[t|256]=32768;r[t]=24;r[t|256]=24}else if(e<-14){i[t]=1024>>-e-14;i[t|256]=1024>>-e-14|32768;r[t]=-e-1;r[t|256]=-e-1}else if(e<=15){i[t]=e+15<<10;i[t|256]=e+15<<10|32768;r[t]=13;r[t|256]=13}else if(e<128){i[t]=31744;i[t|256]=64512;r[t]=24;r[t|256]=24}else{i[t]=31744;i[t|256]=64512;r[t]=13;r[t|256]=13}}const s=new Uint32Array(2048);const a=new Uint32Array(64);const o=new Uint32Array(64);for(let t=1;t<1024;++t){let e=t<<13;let n=0;while((e&8388608)===0){e<<=1;n-=8388608}e&=-8388609;n+=947912704;s[t]=e|n}for(let t=1024;t<2048;++t)s[t]=939524096+(t-1024<<13);for(let t=1;t<31;++t)a[t]=t<<23;a[31]=1199570944;a[32]=2147483648;for(let t=33;t<63;++t)a[t]=2147483648+(t-32<<23);a[63]=3347054592;for(let t=1;t<64;++t)t!==32&&(o[t]=1024);return{floatView:e,uint32View:n,baseTable:i,shiftTable:r,mantissaTable:s,exponentTable:a,offsetTable:o}}function toHalfFloat(t){Math.abs(t)>65504&&console.warn(\"THREE.DataUtils.toHalfFloat(): Value out of range.\");t=clamp(t,-65504,65504);pr.floatView[0]=t;const e=pr.uint32View[0];const n=e>>23&511;return pr.baseTable[n]+((e&8388607)>>pr.shiftTable[n])}function fromHalfFloat(t){const e=t>>10;pr.uint32View[0]=pr.mantissaTable[pr.offsetTable[e]+(t&1023)]+pr.exponentTable[e];return pr.floatView[0]}const fr={toHalfFloat:toHalfFloat,fromHalfFloat:fromHalfFloat};const mr=new Vector3;const gr=new Vector2;class BufferAttribute{constructor(t,e,n=false){if(Array.isArray(t))throw new TypeError(\"THREE.BufferAttribute: array should be a Typed Array.\");this.isBufferAttribute=true;this.name=\"\";this.array=t;this.itemSize=e;this.count=t!==void 0?t.length/e:0;this.normalized=n;this.usage=Cn;this._updateRange={offset:0,count:-1};this.updateRanges=[];this.gpuType=Ut;this.version=0}onUploadCallback(){}set needsUpdate(t){t===true&&this.version++}get updateRange(){warnOnce(\"THREE.BufferAttribute: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead.\");return this._updateRange}setUsage(t){this.usage=t;return this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){this.name=t.name;this.array=new t.array.constructor(t.array);this.itemSize=t.itemSize;this.count=t.count;this.normalized=t.normalized;this.usage=t.usage;this.gpuType=t.gpuType;return this}copyAt(t,e,n){t*=this.itemSize;n*=e.itemSize;for(let i=0,r=this.itemSize;i<r;i++)this.array[t+i]=e.array[n+i];return this}copyArray(t){this.array.set(t);return this}applyMatrix3(t){if(this.itemSize===2)for(let e=0,n=this.count;e<n;e++){gr.fromBufferAttribute(this,e);gr.applyMatrix3(t);this.setXY(e,gr.x,gr.y)}else if(this.itemSize===3)for(let e=0,n=this.count;e<n;e++){mr.fromBufferAttribute(this,e);mr.applyMatrix3(t);this.setXYZ(e,mr.x,mr.y,mr.z)}return this}applyMatrix4(t){for(let e=0,n=this.count;e<n;e++){mr.fromBufferAttribute(this,e);mr.applyMatrix4(t);this.setXYZ(e,mr.x,mr.y,mr.z)}return this}applyNormalMatrix(t){for(let e=0,n=this.count;e<n;e++){mr.fromBufferAttribute(this,e);mr.applyNormalMatrix(t);this.setXYZ(e,mr.x,mr.y,mr.z)}return this}transformDirection(t){for(let e=0,n=this.count;e<n;e++){mr.fromBufferAttribute(this,e);mr.transformDirection(t);this.setXYZ(e,mr.x,mr.y,mr.z)}return this}set(t,e=0){this.array.set(t,e);return this}getComponent(t,e){let n=this.array[t*this.itemSize+e];this.normalized&&(n=denormalize(n,this.array));return n}setComponent(t,e,n){this.normalized&&(n=normalize(n,this.array));this.array[t*this.itemSize+e]=n;return this}getX(t){let e=this.array[t*this.itemSize];this.normalized&&(e=denormalize(e,this.array));return e}setX(t,e){this.normalized&&(e=normalize(e,this.array));this.array[t*this.itemSize]=e;return this}getY(t){let e=this.array[t*this.itemSize+1];this.normalized&&(e=denormalize(e,this.array));return e}setY(t,e){this.normalized&&(e=normalize(e,this.array));this.array[t*this.itemSize+1]=e;return this}getZ(t){let e=this.array[t*this.itemSize+2];this.normalized&&(e=denormalize(e,this.array));return e}setZ(t,e){this.normalized&&(e=normalize(e,this.array));this.array[t*this.itemSize+2]=e;return this}getW(t){let e=this.array[t*this.itemSize+3];this.normalized&&(e=denormalize(e,this.array));return e}setW(t,e){this.normalized&&(e=normalize(e,this.array));this.array[t*this.itemSize+3]=e;return this}setXY(t,e,n){t*=this.itemSize;if(this.normalized){e=normalize(e,this.array);n=normalize(n,this.array)}this.array[t+0]=e;this.array[t+1]=n;return this}setXYZ(t,e,n,i){t*=this.itemSize;if(this.normalized){e=normalize(e,this.array);n=normalize(n,this.array);i=normalize(i,this.array)}this.array[t+0]=e;this.array[t+1]=n;this.array[t+2]=i;return this}setXYZW(t,e,n,i,r){t*=this.itemSize;if(this.normalized){e=normalize(e,this.array);n=normalize(n,this.array);i=normalize(i,this.array);r=normalize(r,this.array)}this.array[t+0]=e;this.array[t+1]=n;this.array[t+2]=i;this.array[t+3]=r;return this}onUpload(t){this.onUploadCallback=t;return this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const t={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};this.name!==\"\"&&(t.name=this.name);this.usage!==Cn&&(t.usage=this.usage);return t}}class Int8BufferAttribute extends BufferAttribute{constructor(t,e,n){super(new Int8Array(t),e,n)}}class Uint8BufferAttribute extends BufferAttribute{constructor(t,e,n){super(new Uint8Array(t),e,n)}}class Uint8ClampedBufferAttribute extends BufferAttribute{constructor(t,e,n){super(new Uint8ClampedArray(t),e,n)}}class Int16BufferAttribute extends BufferAttribute{constructor(t,e,n){super(new Int16Array(t),e,n)}}class Uint16BufferAttribute extends BufferAttribute{constructor(t,e,n){super(new Uint16Array(t),e,n)}}class Int32BufferAttribute extends BufferAttribute{constructor(t,e,n){super(new Int32Array(t),e,n)}}class Uint32BufferAttribute extends BufferAttribute{constructor(t,e,n){super(new Uint32Array(t),e,n)}}class Float16BufferAttribute extends BufferAttribute{constructor(t,e,n){super(new Uint16Array(t),e,n);this.isFloat16BufferAttribute=true}getX(t){let e=fromHalfFloat(this.array[t*this.itemSize]);this.normalized&&(e=denormalize(e,this.array));return e}setX(t,e){this.normalized&&(e=normalize(e,this.array));this.array[t*this.itemSize]=toHalfFloat(e);return this}getY(t){let e=fromHalfFloat(this.array[t*this.itemSize+1]);this.normalized&&(e=denormalize(e,this.array));return e}setY(t,e){this.normalized&&(e=normalize(e,this.array));this.array[t*this.itemSize+1]=toHalfFloat(e);return this}getZ(t){let e=fromHalfFloat(this.array[t*this.itemSize+2]);this.normalized&&(e=denormalize(e,this.array));return e}setZ(t,e){this.normalized&&(e=normalize(e,this.array));this.array[t*this.itemSize+2]=toHalfFloat(e);return this}getW(t){let e=fromHalfFloat(this.array[t*this.itemSize+3]);this.normalized&&(e=denormalize(e,this.array));return e}setW(t,e){this.normalized&&(e=normalize(e,this.array));this.array[t*this.itemSize+3]=toHalfFloat(e);return this}setXY(t,e,n){t*=this.itemSize;if(this.normalized){e=normalize(e,this.array);n=normalize(n,this.array)}this.array[t+0]=toHalfFloat(e);this.array[t+1]=toHalfFloat(n);return this}setXYZ(t,e,n,i){t*=this.itemSize;if(this.normalized){e=normalize(e,this.array);n=normalize(n,this.array);i=normalize(i,this.array)}this.array[t+0]=toHalfFloat(e);this.array[t+1]=toHalfFloat(n);this.array[t+2]=toHalfFloat(i);return this}setXYZW(t,e,n,i,r){t*=this.itemSize;if(this.normalized){e=normalize(e,this.array);n=normalize(n,this.array);i=normalize(i,this.array);r=normalize(r,this.array)}this.array[t+0]=toHalfFloat(e);this.array[t+1]=toHalfFloat(n);this.array[t+2]=toHalfFloat(i);this.array[t+3]=toHalfFloat(r);return this}}class Float32BufferAttribute extends BufferAttribute{constructor(t,e,n){super(new Float32Array(t),e,n)}}let vr=0;const _r=new Matrix4;const xr=new Object3D;const yr=new Vector3;const Mr=new Box3;const Sr=new Box3;const br=new Vector3;class BufferGeometry extends EventDispatcher{constructor(){super();this.isBufferGeometry=true;Object.defineProperty(this,\"id\",{value:vr++});this.uuid=generateUUID();this.name=\"\";this.type=\"BufferGeometry\";this.index=null;this.attributes={};this.morphAttributes={};this.morphTargetsRelative=false;this.groups=[];this.boundingBox=null;this.boundingSphere=null;this.drawRange={start:0,count:Infinity};this.userData={}}getIndex(){return this.index}setIndex(t){Array.isArray(t)?this.index=new(arrayNeedsUint32(t)?Uint32BufferAttribute:Uint16BufferAttribute)(t,1):this.index=t;return this}getAttribute(t){return this.attributes[t]}setAttribute(t,e){this.attributes[t]=e;return this}deleteAttribute(t){delete this.attributes[t];return this}hasAttribute(t){return this.attributes[t]!==void 0}addGroup(t,e,n=0){this.groups.push({start:t,count:e,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(t,e){this.drawRange.start=t;this.drawRange.count=e}applyMatrix4(t){const e=this.attributes.position;if(e!==void 0){e.applyMatrix4(t);e.needsUpdate=true}const n=this.attributes.normal;if(n!==void 0){const e=(new Matrix3).getNormalMatrix(t);n.applyNormalMatrix(e);n.needsUpdate=true}const i=this.attributes.tangent;if(i!==void 0){i.transformDirection(t);i.needsUpdate=true}this.boundingBox!==null&&this.computeBoundingBox();this.boundingSphere!==null&&this.computeBoundingSphere();return this}applyQuaternion(t){_r.makeRotationFromQuaternion(t);this.applyMatrix4(_r);return this}rotateX(t){_r.makeRotationX(t);this.applyMatrix4(_r);return this}rotateY(t){_r.makeRotationY(t);this.applyMatrix4(_r);return this}rotateZ(t){_r.makeRotationZ(t);this.applyMatrix4(_r);return this}translate(t,e,n){_r.makeTranslation(t,e,n);this.applyMatrix4(_r);return this}scale(t,e,n){_r.makeScale(t,e,n);this.applyMatrix4(_r);return this}lookAt(t){xr.lookAt(t);xr.updateMatrix();this.applyMatrix4(xr.matrix);return this}center(){this.computeBoundingBox();this.boundingBox.getCenter(yr).negate();this.translate(yr.x,yr.y,yr.z);return this}setFromPoints(t){const e=[];for(let n=0,i=t.length;n<i;n++){const i=t[n];e.push(i.x,i.y,i.z||0)}this.setAttribute(\"position\",new Float32BufferAttribute(e,3));return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Box3);const t=this.attributes.position;const e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute){console.error(\"THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.\",this);this.boundingBox.set(new Vector3(-Infinity,-Infinity,-Infinity),new Vector3(Infinity,Infinity,Infinity))}else{if(t!==void 0){this.boundingBox.setFromBufferAttribute(t);if(e)for(let t=0,n=e.length;t<n;t++){const n=e[t];Mr.setFromBufferAttribute(n);if(this.morphTargetsRelative){br.addVectors(this.boundingBox.min,Mr.min);this.boundingBox.expandByPoint(br);br.addVectors(this.boundingBox.max,Mr.max);this.boundingBox.expandByPoint(br)}else{this.boundingBox.expandByPoint(Mr.min);this.boundingBox.expandByPoint(Mr.max)}}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The \"position\" attribute is likely to have NaN values.',this)}}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new Sphere);const t=this.attributes.position;const e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute){console.error(\"THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere.\",this);this.boundingSphere.set(new Vector3,Infinity)}else if(t){const n=this.boundingSphere.center;Mr.setFromBufferAttribute(t);if(e)for(let t=0,n=e.length;t<n;t++){const n=e[t];Sr.setFromBufferAttribute(n);if(this.morphTargetsRelative){br.addVectors(Mr.min,Sr.min);Mr.expandByPoint(br);br.addVectors(Mr.max,Sr.max);Mr.expandByPoint(br)}else{Mr.expandByPoint(Sr.min);Mr.expandByPoint(Sr.max)}}Mr.getCenter(n);let i=0;for(let e=0,r=t.count;e<r;e++){br.fromBufferAttribute(t,e);i=Math.max(i,n.distanceToSquared(br))}if(e)for(let r=0,s=e.length;r<s;r++){const s=e[r];const a=this.morphTargetsRelative;for(let e=0,r=s.count;e<r;e++){br.fromBufferAttribute(s,e);if(a){yr.fromBufferAttribute(t,e);br.add(yr)}i=Math.max(i,n.distanceToSquared(br))}}this.boundingSphere.radius=Math.sqrt(i);isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The \"position\" attribute is likely to have NaN values.',this)}}computeTangents(){const t=this.index;const e=this.attributes;if(t===null||e.position===void 0||e.normal===void 0||e.uv===void 0){console.error(\"THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)\");return}const n=e.position;const i=e.normal;const r=e.uv;this.hasAttribute(\"tangent\")===false&&this.setAttribute(\"tangent\",new BufferAttribute(new Float32Array(4*n.count),4));const s=this.getAttribute(\"tangent\");const a=[],o=[];for(let t=0;t<n.count;t++){a[t]=new Vector3;o[t]=new Vector3}const l=new Vector3,c=new Vector3,h=new Vector3,u=new Vector2,d=new Vector2,p=new Vector2,f=new Vector3,m=new Vector3;function handleTriangle(t,e,i){l.fromBufferAttribute(n,t);c.fromBufferAttribute(n,e);h.fromBufferAttribute(n,i);u.fromBufferAttribute(r,t);d.fromBufferAttribute(r,e);p.fromBufferAttribute(r,i);c.sub(l);h.sub(l);d.sub(u);p.sub(u);const s=1/(d.x*p.y-p.x*d.y);if(isFinite(s)){f.copy(c).multiplyScalar(p.y).addScaledVector(h,-d.y).multiplyScalar(s);m.copy(h).multiplyScalar(d.x).addScaledVector(c,-p.x).multiplyScalar(s);a[t].add(f);a[e].add(f);a[i].add(f);o[t].add(m);o[e].add(m);o[i].add(m)}}let g=this.groups;g.length===0&&(g=[{start:0,count:t.count}]);for(let e=0,n=g.length;e<n;++e){const n=g[e];const i=n.start;const r=n.count;for(let e=i,n=i+r;e<n;e+=3)handleTriangle(t.getX(e+0),t.getX(e+1),t.getX(e+2))}const _=new Vector3,x=new Vector3;const y=new Vector3,M=new Vector3;function handleVertex(t){y.fromBufferAttribute(i,t);M.copy(y);const e=a[t];_.copy(e);_.sub(y.multiplyScalar(y.dot(e))).normalize();x.crossVectors(M,e);const n=x.dot(o[t]);const r=n<0?-1:1;s.setXYZW(t,_.x,_.y,_.z,r)}for(let e=0,n=g.length;e<n;++e){const n=g[e];const i=n.start;const r=n.count;for(let e=i,n=i+r;e<n;e+=3){handleVertex(t.getX(e+0));handleVertex(t.getX(e+1));handleVertex(t.getX(e+2))}}}computeVertexNormals(){const t=this.index;const e=this.getAttribute(\"position\");if(e!==void 0){let n=this.getAttribute(\"normal\");if(n===void 0){n=new BufferAttribute(new Float32Array(e.count*3),3);this.setAttribute(\"normal\",n)}else for(let t=0,e=n.count;t<e;t++)n.setXYZ(t,0,0,0);const i=new Vector3,r=new Vector3,s=new Vector3;const a=new Vector3,o=new Vector3,l=new Vector3;const c=new Vector3,h=new Vector3;if(t)for(let u=0,d=t.count;u<d;u+=3){const d=t.getX(u+0);const p=t.getX(u+1);const f=t.getX(u+2);i.fromBufferAttribute(e,d);r.fromBufferAttribute(e,p);s.fromBufferAttribute(e,f);c.subVectors(s,r);h.subVectors(i,r);c.cross(h);a.fromBufferAttribute(n,d);o.fromBufferAttribute(n,p);l.fromBufferAttribute(n,f);a.add(c);o.add(c);l.add(c);n.setXYZ(d,a.x,a.y,a.z);n.setXYZ(p,o.x,o.y,o.z);n.setXYZ(f,l.x,l.y,l.z)}else for(let t=0,a=e.count;t<a;t+=3){i.fromBufferAttribute(e,t+0);r.fromBufferAttribute(e,t+1);s.fromBufferAttribute(e,t+2);c.subVectors(s,r);h.subVectors(i,r);c.cross(h);n.setXYZ(t+0,c.x,c.y,c.z);n.setXYZ(t+1,c.x,c.y,c.z);n.setXYZ(t+2,c.x,c.y,c.z)}this.normalizeNormals();n.needsUpdate=true}}normalizeNormals(){const t=this.attributes.normal;for(let e=0,n=t.count;e<n;e++){br.fromBufferAttribute(t,e);br.normalize();t.setXYZ(e,br.x,br.y,br.z)}}toNonIndexed(){function convertBufferAttribute(t,e){const n=t.array;const i=t.itemSize;const r=t.normalized;const s=new n.constructor(e.length*i);let a=0,o=0;for(let r=0,l=e.length;r<l;r++){a=t.isInterleavedBufferAttribute?e[r]*t.data.stride+t.offset:e[r]*i;for(let t=0;t<i;t++)s[o++]=n[a++]}return new BufferAttribute(s,i,r)}if(this.index===null){console.warn(\"THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed.\");return this}const t=new BufferGeometry;const e=this.index.array;const n=this.attributes;for(const i in n){const r=n[i];const s=convertBufferAttribute(r,e);t.setAttribute(i,s)}const i=this.morphAttributes;for(const n in i){const r=[];const s=i[n];for(let t=0,n=s.length;t<n;t++){const n=s[t];const i=convertBufferAttribute(n,e);r.push(i)}t.morphAttributes[n]=r}t.morphTargetsRelative=this.morphTargetsRelative;const r=this.groups;for(let e=0,n=r.length;e<n;e++){const n=r[e];t.addGroup(n.start,n.count,n.materialIndex)}return t}toJSON(){const t={metadata:{version:4.6,type:\"BufferGeometry\",generator:\"BufferGeometry.toJSON\"}};t.uuid=this.uuid;t.type=this.type;this.name!==\"\"&&(t.name=this.name);Object.keys(this.userData).length>0&&(t.userData=this.userData);if(this.parameters!==void 0){const e=this.parameters;for(const n in e)e[n]!==void 0&&(t[n]=e[n]);return t}t.data={attributes:{}};const e=this.index;e!==null&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const n=this.attributes;for(const e in n){const i=n[e];t.data.attributes[e]=i.toJSON(t.data)}const i={};let r=false;for(const e in this.morphAttributes){const n=this.morphAttributes[e];const s=[];for(let e=0,i=n.length;e<i;e++){const i=n[e];s.push(i.toJSON(t.data))}if(s.length>0){i[e]=s;r=true}}if(r){t.data.morphAttributes=i;t.data.morphTargetsRelative=this.morphTargetsRelative}const s=this.groups;s.length>0&&(t.data.groups=JSON.parse(JSON.stringify(s)));const a=this.boundingSphere;a!==null&&(t.data.boundingSphere={center:a.center.toArray(),radius:a.radius});return t}clone(){return(new this.constructor).copy(this)}copy(t){this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingBox=null;this.boundingSphere=null;const e={};this.name=t.name;const n=t.index;n!==null&&this.setIndex(n.clone(e));const i=t.attributes;for(const t in i){const n=i[t];this.setAttribute(t,n.clone(e))}const r=t.morphAttributes;for(const t in r){const n=[];const i=r[t];for(let t=0,r=i.length;t<r;t++)n.push(i[t].clone(e));this.morphAttributes[t]=n}this.morphTargetsRelative=t.morphTargetsRelative;const s=t.groups;for(let t=0,e=s.length;t<e;t++){const e=s[t];this.addGroup(e.start,e.count,e.materialIndex)}const a=t.boundingBox;a!==null&&(this.boundingBox=a.clone());const o=t.boundingSphere;o!==null&&(this.boundingSphere=o.clone());this.drawRange.start=t.drawRange.start;this.drawRange.count=t.drawRange.count;this.userData=t.userData;return this}dispose(){this.dispatchEvent({type:\"dispose\"})}}const Tr=new Matrix4;const wr=new Ray;const Er=new Sphere;const Ar=new Vector3;const Cr=new Vector3;const Rr=new Vector3;const Pr=new Vector3;const Lr=new Vector3;const Ir=new Vector3;const Ur=new Vector2;const Dr=new Vector2;const Nr=new Vector2;const Br=new Vector3;const Or=new Vector3;const Vr=new Vector3;const Fr=new Vector3;const zr=new Vector3;class Mesh extends Object3D{constructor(t=new BufferGeometry,e=new MeshBasicMaterial){super();this.isMesh=true;this.type=\"Mesh\";this.geometry=t;this.material=e;this.updateMorphTargets()}copy(t,e){super.copy(t,e);t.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=t.morphTargetInfluences.slice());t.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},t.morphTargetDictionary));this.material=Array.isArray(t.material)?t.material.slice():t.material;this.geometry=t.geometry;return this}updateMorphTargets(){const t=this.geometry;const e=t.morphAttributes;const n=Object.keys(e);if(n.length>0){const t=e[n[0]];if(t!==void 0){this.morphTargetInfluences=[];this.morphTargetDictionary={};for(let e=0,n=t.length;e<n;e++){const n=t[e].name||String(e);this.morphTargetInfluences.push(0);this.morphTargetDictionary[n]=e}}}}getVertexPosition(t,e){const n=this.geometry;const i=n.attributes.position;const r=n.morphAttributes.position;const s=n.morphTargetsRelative;e.fromBufferAttribute(i,t);const a=this.morphTargetInfluences;if(r&&a){Ir.set(0,0,0);for(let n=0,i=r.length;n<i;n++){const i=a[n];const o=r[n];if(i!==0){Lr.fromBufferAttribute(o,t);s?Ir.addScaledVector(Lr,i):Ir.addScaledVector(Lr.sub(e),i)}}e.add(Ir)}return e}raycast(t,e){const n=this.geometry;const i=this.material;const r=this.matrixWorld;if(i!==void 0){n.boundingSphere===null&&n.computeBoundingSphere();Er.copy(n.boundingSphere);Er.applyMatrix4(r);wr.copy(t.ray).recast(t.near);if(Er.containsPoint(wr.origin)===false){if(wr.intersectSphere(Er,Ar)===null)return;if(wr.origin.distanceToSquared(Ar)>(t.far-t.near)**2)return}Tr.copy(r).invert();wr.copy(t.ray).applyMatrix4(Tr);n.boundingBox!==null&&wr.intersectsBox(n.boundingBox)===false||this._computeIntersections(t,e,wr)}}_computeIntersections(t,e,n){let i;const r=this.geometry;const s=this.material;const a=r.index;const o=r.attributes.position;const l=r.attributes.uv;const c=r.attributes.uv1;const h=r.attributes.normal;const u=r.groups;const d=r.drawRange;if(a!==null)if(Array.isArray(s))for(let r=0,o=u.length;r<o;r++){const o=u[r];const p=s[o.materialIndex];const f=Math.max(o.start,d.start);const m=Math.min(a.count,Math.min(o.start+o.count,d.start+d.count));for(let r=f,s=m;r<s;r+=3){const s=a.getX(r);const u=a.getX(r+1);const d=a.getX(r+2);i=checkGeometryIntersection(this,p,t,n,l,c,h,s,u,d);if(i){i.faceIndex=Math.floor(r/3);i.face.materialIndex=o.materialIndex;e.push(i)}}}else{const r=Math.max(0,d.start);const o=Math.min(a.count,d.start+d.count);for(let u=r,d=o;u<d;u+=3){const r=a.getX(u);const o=a.getX(u+1);const d=a.getX(u+2);i=checkGeometryIntersection(this,s,t,n,l,c,h,r,o,d);if(i){i.faceIndex=Math.floor(u/3);e.push(i)}}}else if(o!==void 0)if(Array.isArray(s))for(let r=0,a=u.length;r<a;r++){const a=u[r];const p=s[a.materialIndex];const f=Math.max(a.start,d.start);const m=Math.min(o.count,Math.min(a.start+a.count,d.start+d.count));for(let r=f,s=m;r<s;r+=3){const s=r;const o=r+1;const u=r+2;i=checkGeometryIntersection(this,p,t,n,l,c,h,s,o,u);if(i){i.faceIndex=Math.floor(r/3);i.face.materialIndex=a.materialIndex;e.push(i)}}}else{const r=Math.max(0,d.start);const a=Math.min(o.count,d.start+d.count);for(let o=r,u=a;o<u;o+=3){const r=o;const a=o+1;const u=o+2;i=checkGeometryIntersection(this,s,t,n,l,c,h,r,a,u);if(i){i.faceIndex=Math.floor(o/3);e.push(i)}}}}}function checkIntersection$1(t,e,n,i,r,s,a,o){let l;l=e.side===d?i.intersectTriangle(a,s,r,true,o):i.intersectTriangle(r,s,a,e.side===u,o);if(l===null)return null;zr.copy(o);zr.applyMatrix4(t.matrixWorld);const c=n.ray.origin.distanceTo(zr);return c<n.near||c>n.far?null:{distance:c,point:zr.clone(),object:t}}function checkGeometryIntersection(t,e,n,i,r,s,a,o,l,c){t.getVertexPosition(o,Cr);t.getVertexPosition(l,Rr);t.getVertexPosition(c,Pr);const h=checkIntersection$1(t,e,n,i,Cr,Rr,Pr,Fr);if(h){if(r){Ur.fromBufferAttribute(r,o);Dr.fromBufferAttribute(r,l);Nr.fromBufferAttribute(r,c);h.uv=Triangle.getInterpolation(Fr,Cr,Rr,Pr,Ur,Dr,Nr,new Vector2)}if(s){Ur.fromBufferAttribute(s,o);Dr.fromBufferAttribute(s,l);Nr.fromBufferAttribute(s,c);h.uv1=Triangle.getInterpolation(Fr,Cr,Rr,Pr,Ur,Dr,Nr,new Vector2)}if(a){Br.fromBufferAttribute(a,o);Or.fromBufferAttribute(a,l);Vr.fromBufferAttribute(a,c);h.normal=Triangle.getInterpolation(Fr,Cr,Rr,Pr,Br,Or,Vr,new Vector3);h.normal.dot(i.direction)>0&&h.normal.multiplyScalar(-1)}const t={a:o,b:l,c:c,normal:new Vector3,materialIndex:0};Triangle.getNormal(Cr,Rr,Pr,t.normal);h.face=t}return h}class BoxGeometry extends BufferGeometry{constructor(t=1,e=1,n=1,i=1,r=1,s=1){super();this.type=\"BoxGeometry\";this.parameters={width:t,height:e,depth:n,widthSegments:i,heightSegments:r,depthSegments:s};const a=this;i=Math.floor(i);r=Math.floor(r);s=Math.floor(s);const o=[];const l=[];const c=[];const h=[];let u=0;let d=0;buildPlane(\"z\",\"y\",\"x\",-1,-1,n,e,t,s,r,0);buildPlane(\"z\",\"y\",\"x\",1,-1,n,e,-t,s,r,1);buildPlane(\"x\",\"z\",\"y\",1,1,t,n,e,i,s,2);buildPlane(\"x\",\"z\",\"y\",1,-1,t,n,-e,i,s,3);buildPlane(\"x\",\"y\",\"z\",1,-1,t,e,n,i,r,4);buildPlane(\"x\",\"y\",\"z\",-1,-1,t,e,-n,i,r,5);this.setIndex(o);this.setAttribute(\"position\",new Float32BufferAttribute(l,3));this.setAttribute(\"normal\",new Float32BufferAttribute(c,3));this.setAttribute(\"uv\",new Float32BufferAttribute(h,2));function buildPlane(t,e,n,i,r,s,p,f,m,g,_){const x=s/m;const y=p/g;const M=s/2;const S=p/2;const b=f/2;const T=m+1;const w=g+1;let E=0;let A=0;const C=new Vector3;for(let s=0;s<w;s++){const a=s*y-S;for(let o=0;o<T;o++){const u=o*x-M;C[t]=u*i;C[e]=a*r;C[n]=b;l.push(C.x,C.y,C.z);C[t]=0;C[e]=0;C[n]=f>0?1:-1;c.push(C.x,C.y,C.z);h.push(o/m);h.push(1-s/g);E+=1}}for(let t=0;t<g;t++)for(let e=0;e<m;e++){const n=u+e+T*t;const i=u+e+T*(t+1);const r=u+(e+1)+T*(t+1);const s=u+(e+1)+T*t;o.push(n,i,s);o.push(i,r,s);A+=6}a.addGroup(d,A,_);d+=A;u+=E}}copy(t){super.copy(t);this.parameters=Object.assign({},t.parameters);return this}static fromJSON(t){return new BoxGeometry(t.width,t.height,t.depth,t.widthSegments,t.heightSegments,t.depthSegments)}}function cloneUniforms(t){const e={};for(const n in t){e[n]={};for(const i in t[n]){const r=t[n][i];if(r&&(r.isColor||r.isMatrix3||r.isMatrix4||r.isVector2||r.isVector3||r.isVector4||r.isTexture||r.isQuaternion))if(r.isRenderTargetTexture){console.warn(\"UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms().\");e[n][i]=null}else e[n][i]=r.clone();else Array.isArray(r)?e[n][i]=r.slice():e[n][i]=r}}return e}function mergeUniforms(t){const e={};for(let n=0;n<t.length;n++){const i=cloneUniforms(t[n]);for(const t in i)e[t]=i[t]}return e}function cloneUniformsGroups(t){const e=[];for(let n=0;n<t.length;n++)e.push(t[n].clone());return e}function getUnlitUniformColorSpace(t){const e=t.getRenderTarget();return e===null?t.outputColorSpace:e.isXRRenderTarget===true?e.texture.colorSpace:$n.workingColorSpace}const Gr={clone:cloneUniforms,merge:mergeUniforms};var kr=\"void main() {\\n\\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\\n}\";var Hr=\"void main() {\\n\\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\\n}\";class ShaderMaterial extends Material{constructor(t){super();this.isShaderMaterial=true;this.type=\"ShaderMaterial\";this.defines={};this.uniforms={};this.uniformsGroups=[];this.vertexShader=kr;this.fragmentShader=Hr;this.linewidth=1;this.wireframe=false;this.wireframeLinewidth=1;this.fog=false;this.lights=false;this.clipping=false;this.forceSinglePass=true;this.extensions={clipCullDistance:false,multiDraw:false};this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]};this.index0AttributeName=void 0;this.uniformsNeedUpdate=false;this.glslVersion=null;t!==void 0&&this.setValues(t)}copy(t){super.copy(t);this.fragmentShader=t.fragmentShader;this.vertexShader=t.vertexShader;this.uniforms=cloneUniforms(t.uniforms);this.uniformsGroups=cloneUniformsGroups(t.uniformsGroups);this.defines=Object.assign({},t.defines);this.wireframe=t.wireframe;this.wireframeLinewidth=t.wireframeLinewidth;this.fog=t.fog;this.lights=t.lights;this.clipping=t.clipping;this.extensions=Object.assign({},t.extensions);this.glslVersion=t.glslVersion;return this}toJSON(t){const e=super.toJSON(t);e.glslVersion=this.glslVersion;e.uniforms={};for(const n in this.uniforms){const i=this.uniforms[n];const r=i.value;r&&r.isTexture?e.uniforms[n]={type:\"t\",value:r.toJSON(t).uuid}:r&&r.isColor?e.uniforms[n]={type:\"c\",value:r.getHex()}:r&&r.isVector2?e.uniforms[n]={type:\"v2\",value:r.toArray()}:r&&r.isVector3?e.uniforms[n]={type:\"v3\",value:r.toArray()}:r&&r.isVector4?e.uniforms[n]={type:\"v4\",value:r.toArray()}:r&&r.isMatrix3?e.uniforms[n]={type:\"m3\",value:r.toArray()}:r&&r.isMatrix4?e.uniforms[n]={type:\"m4\",value:r.toArray()}:e.uniforms[n]={value:r}}Object.keys(this.defines).length>0&&(e.defines=this.defines);e.vertexShader=this.vertexShader;e.fragmentShader=this.fragmentShader;e.lights=this.lights;e.clipping=this.clipping;const n={};for(const t in this.extensions)this.extensions[t]===true&&(n[t]=true);Object.keys(n).length>0&&(e.extensions=n);return e}}class Camera extends Object3D{constructor(){super();this.isCamera=true;this.type=\"Camera\";this.matrixWorldInverse=new Matrix4;this.projectionMatrix=new Matrix4;this.projectionMatrixInverse=new Matrix4;this.coordinateSystem=Fn}copy(t,e){super.copy(t,e);this.matrixWorldInverse.copy(t.matrixWorldInverse);this.projectionMatrix.copy(t.projectionMatrix);this.projectionMatrixInverse.copy(t.projectionMatrixInverse);this.coordinateSystem=t.coordinateSystem;return this}getWorldDirection(t){return super.getWorldDirection(t).negate()}updateMatrixWorld(t){super.updateMatrixWorld(t);this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e);this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}const Wr=new Vector3;const Xr=new Vector2;const jr=new Vector2;class PerspectiveCamera extends Camera{constructor(t=50,e=1,n=.1,i=2e3){super();this.isPerspectiveCamera=true;this.type=\"PerspectiveCamera\";this.fov=t;this.zoom=1;this.near=n;this.far=i;this.focus=10;this.aspect=e;this.view=null;this.filmGauge=35;this.filmOffset=0;this.updateProjectionMatrix()}copy(t,e){super.copy(t,e);this.fov=t.fov;this.zoom=t.zoom;this.near=t.near;this.far=t.far;this.focus=t.focus;this.aspect=t.aspect;this.view=t.view===null?null:Object.assign({},t.view);this.filmGauge=t.filmGauge;this.filmOffset=t.filmOffset;return this}setFocalLength(t){const e=.5*this.getFilmHeight()/t;this.fov=Wn*2*Math.atan(e);this.updateProjectionMatrix()}getFocalLength(){const t=Math.tan(Hn*.5*this.fov);return.5*this.getFilmHeight()/t}getEffectiveFOV(){return Wn*2*Math.atan(Math.tan(Hn*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(t,e,n){Wr.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse);e.set(Wr.x,Wr.y).multiplyScalar(-t/Wr.z);Wr.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse);n.set(Wr.x,Wr.y).multiplyScalar(-t/Wr.z)}getViewSize(t,e){this.getViewBounds(t,Xr,jr);return e.subVectors(jr,Xr)}setViewOffset(t,e,n,i,r,s){this.aspect=t/e;this.view===null&&(this.view={enabled:true,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1});this.view.enabled=true;this.view.fullWidth=t;this.view.fullHeight=e;this.view.offsetX=n;this.view.offsetY=i;this.view.width=r;this.view.height=s;this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=false);this.updateProjectionMatrix()}updateProjectionMatrix(){const t=this.near;let e=t*Math.tan(Hn*.5*this.fov)/this.zoom;let n=2*e;let i=this.aspect*n;let r=-.5*i;const s=this.view;if(this.view!==null&&this.view.enabled){const t=s.fullWidth,a=s.fullHeight;r+=s.offsetX*i/t;e-=s.offsetY*n/a;i*=s.width/t;n*=s.height/a}const a=this.filmOffset;a!==0&&(r+=t*a/this.getFilmWidth());this.projectionMatrix.makePerspective(r,r+i,e,e-n,t,this.far,this.coordinateSystem);this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);e.object.fov=this.fov;e.object.zoom=this.zoom;e.object.near=this.near;e.object.far=this.far;e.object.focus=this.focus;e.object.aspect=this.aspect;this.view!==null&&(e.object.view=Object.assign({},this.view));e.object.filmGauge=this.filmGauge;e.object.filmOffset=this.filmOffset;return e}}const qr=-90;const Yr=1;class CubeCamera extends Object3D{constructor(t,e,n){super();this.type=\"CubeCamera\";this.renderTarget=n;this.coordinateSystem=null;this.activeMipmapLevel=0;const i=new PerspectiveCamera(qr,Yr,t,e);i.layers=this.layers;this.add(i);const r=new PerspectiveCamera(qr,Yr,t,e);r.layers=this.layers;this.add(r);const s=new PerspectiveCamera(qr,Yr,t,e);s.layers=this.layers;this.add(s);const a=new PerspectiveCamera(qr,Yr,t,e);a.layers=this.layers;this.add(a);const o=new PerspectiveCamera(qr,Yr,t,e);o.layers=this.layers;this.add(o);const l=new PerspectiveCamera(qr,Yr,t,e);l.layers=this.layers;this.add(l)}updateCoordinateSystem(){const t=this.coordinateSystem;const e=this.children.concat();const[n,i,r,s,a,o]=e;for(const t of e)this.remove(t);if(t===Fn){n.up.set(0,1,0);n.lookAt(1,0,0);i.up.set(0,1,0);i.lookAt(-1,0,0);r.up.set(0,0,-1);r.lookAt(0,1,0);s.up.set(0,0,1);s.lookAt(0,-1,0);a.up.set(0,1,0);a.lookAt(0,0,1);o.up.set(0,1,0);o.lookAt(0,0,-1)}else{if(t!==zn)throw new Error(\"THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: \"+t);n.up.set(0,-1,0);n.lookAt(-1,0,0);i.up.set(0,-1,0);i.lookAt(1,0,0);r.up.set(0,0,1);r.lookAt(0,1,0);s.up.set(0,0,-1);s.lookAt(0,-1,0);a.up.set(0,-1,0);a.lookAt(0,0,1);o.up.set(0,-1,0);o.lookAt(0,0,-1)}for(const t of e){this.add(t);t.updateMatrixWorld()}}update(t,e){this.parent===null&&this.updateMatrixWorld();const{renderTarget:n,activeMipmapLevel:i}=this;if(this.coordinateSystem!==t.coordinateSystem){this.coordinateSystem=t.coordinateSystem;this.updateCoordinateSystem()}const[r,s,a,o,l,c]=this.children;const h=t.getRenderTarget();const u=t.getActiveCubeFace();const d=t.getActiveMipmapLevel();const p=t.xr.enabled;t.xr.enabled=false;const f=n.texture.generateMipmaps;n.texture.generateMipmaps=false;t.setRenderTarget(n,0,i);t.render(e,r);t.setRenderTarget(n,1,i);t.render(e,s);t.setRenderTarget(n,2,i);t.render(e,a);t.setRenderTarget(n,3,i);t.render(e,o);t.setRenderTarget(n,4,i);t.render(e,l);n.texture.generateMipmaps=f;t.setRenderTarget(n,5,i);t.render(e,c);t.setRenderTarget(h,u,d);t.xr.enabled=p;n.texture.needsPMREMUpdate=true}}class CubeTexture extends Texture{constructor(t,e,n,i,r,s,a,o,l,c){t=t!==void 0?t:[];e=e!==void 0?e:ct;super(t,e,n,i,r,s,a,o,l,c);this.isCubeTexture=true;this.flipY=false}get images(){return this.image}set images(t){this.image=t}}class WebGLCubeRenderTarget extends WebGLRenderTarget{constructor(t=1,e={}){super(t,t,e);this.isWebGLCubeRenderTarget=true;const n={width:t,height:t,depth:1};const i=[n,n,n,n,n,n];this.texture=new CubeTexture(i,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.colorSpace);this.texture.isRenderTargetTexture=true;this.texture.generateMipmaps=e.generateMipmaps!==void 0&&e.generateMipmaps;this.texture.minFilter=e.minFilter!==void 0?e.minFilter:St}fromEquirectangularTexture(t,e){this.texture.type=e.type;this.texture.colorSpace=e.colorSpace;this.texture.generateMipmaps=e.generateMipmaps;this.texture.minFilter=e.minFilter;this.texture.magFilter=e.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:\"\\n\\n\\t\\t\\t\\tvarying vec3 vWorldDirection;\\n\\n\\t\\t\\t\\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\n\\t\\t\\t\\t\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\t\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\n\\t\\t\\t\\t\\t#include <begin_vertex>\\n\\t\\t\\t\\t\\t#include <project_vertex>\\n\\n\\t\\t\\t\\t}\\n\\t\\t\\t\",fragmentShader:\"\\n\\n\\t\\t\\t\\tuniform sampler2D tEquirect;\\n\\n\\t\\t\\t\\tvarying vec3 vWorldDirection;\\n\\n\\t\\t\\t\\t#include <common>\\n\\n\\t\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\t\\tvec3 direction = normalize( vWorldDirection );\\n\\n\\t\\t\\t\\t\\tvec2 sampleUV = equirectUv( direction );\\n\\n\\t\\t\\t\\t\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n\\n\\t\\t\\t\\t}\\n\\t\\t\\t\"};const i=new BoxGeometry(5,5,5);const r=new ShaderMaterial({name:\"CubemapFromEquirect\",uniforms:cloneUniforms(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:d,blending:f});r.uniforms.tEquirect.value=e;const s=new Mesh(i,r);const a=e.minFilter;e.minFilter===wt&&(e.minFilter=St);const o=new CubeCamera(1,10,this);o.update(t,s);e.minFilter=a;s.geometry.dispose();s.material.dispose();return this}clear(t,e,n,i){const r=t.getRenderTarget();for(let r=0;r<6;r++){t.setRenderTarget(this,r);t.clear(e,n,i)}t.setRenderTarget(r)}}const Kr=new Vector3;const Zr=new Vector3;const Jr=new Matrix3;class Plane{constructor(t=new Vector3(1,0,0),e=0){this.isPlane=true;this.normal=t;this.constant=e}set(t,e){this.normal.copy(t);this.constant=e;return this}setComponents(t,e,n,i){this.normal.set(t,e,n);this.constant=i;return this}setFromNormalAndCoplanarPoint(t,e){this.normal.copy(t);this.constant=-e.dot(this.normal);return this}setFromCoplanarPoints(t,e,n){const i=Kr.subVectors(n,e).cross(Zr.subVectors(t,e)).normalize();this.setFromNormalAndCoplanarPoint(i,t);return this}copy(t){this.normal.copy(t.normal);this.constant=t.constant;return this}normalize(){const t=1/this.normal.length();this.normal.multiplyScalar(t);this.constant*=t;return this}negate(){this.constant*=-1;this.normal.negate();return this}distanceToPoint(t){return this.normal.dot(t)+this.constant}distanceToSphere(t){return this.distanceToPoint(t.center)-t.radius}projectPoint(t,e){return e.copy(t).addScaledVector(this.normal,-this.distanceToPoint(t))}intersectLine(t,e){const n=t.delta(Kr);const i=this.normal.dot(n);if(i===0)return this.distanceToPoint(t.start)===0?e.copy(t.start):null;const r=-(t.start.dot(this.normal)+this.constant)/i;return r<0||r>1?null:e.copy(t.start).addScaledVector(n,r)}intersectsLine(t){const e=this.distanceToPoint(t.start);const n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const n=e||Jr.getNormalMatrix(t);const i=this.coplanarPoint(Kr).applyMatrix4(t);const r=this.normal.applyMatrix3(n).normalize();this.constant=-i.dot(r);return this}translate(t){this.constant-=t.dot(this.normal);return this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return(new this.constructor).copy(this)}}const Qr=new Sphere;const $r=new Vector3;class Frustum{constructor(t=new Plane,e=new Plane,n=new Plane,i=new Plane,r=new Plane,s=new Plane){this.planes=[t,e,n,i,r,s]}set(t,e,n,i,r,s){const a=this.planes;a[0].copy(t);a[1].copy(e);a[2].copy(n);a[3].copy(i);a[4].copy(r);a[5].copy(s);return this}copy(t){const e=this.planes;for(let n=0;n<6;n++)e[n].copy(t.planes[n]);return this}setFromProjectionMatrix(t,e=Fn){const n=this.planes;const i=t.elements;const r=i[0],s=i[1],a=i[2],o=i[3];const l=i[4],c=i[5],h=i[6],u=i[7];const d=i[8],p=i[9],f=i[10],m=i[11];const g=i[12],_=i[13],x=i[14],y=i[15];n[0].setComponents(o-r,u-l,m-d,y-g).normalize();n[1].setComponents(o+r,u+l,m+d,y+g).normalize();n[2].setComponents(o+s,u+c,m+p,y+_).normalize();n[3].setComponents(o-s,u-c,m-p,y-_).normalize();n[4].setComponents(o-a,u-h,m-f,y-x).normalize();if(e===Fn)n[5].setComponents(o+a,u+h,m+f,y+x).normalize();else{if(e!==zn)throw new Error(\"THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: \"+e);n[5].setComponents(a,h,f,x).normalize()}return this}intersectsObject(t){if(t.boundingSphere!==void 0){t.boundingSphere===null&&t.computeBoundingSphere();Qr.copy(t.boundingSphere).applyMatrix4(t.matrixWorld)}else{const e=t.geometry;e.boundingSphere===null&&e.computeBoundingSphere();Qr.copy(e.boundingSphere).applyMatrix4(t.matrixWorld)}return this.intersectsSphere(Qr)}intersectsSprite(t){Qr.center.set(0,0,0);Qr.radius=.7071067811865476;Qr.applyMatrix4(t.matrixWorld);return this.intersectsSphere(Qr)}intersectsSphere(t){const e=this.planes;const n=t.center;const i=-t.radius;for(let t=0;t<6;t++){const r=e[t].distanceToPoint(n);if(r<i)return false}return true}intersectsBox(t){const e=this.planes;for(let n=0;n<6;n++){const i=e[n];$r.x=i.normal.x>0?t.max.x:t.min.x;$r.y=i.normal.y>0?t.max.y:t.min.y;$r.z=i.normal.z>0?t.max.z:t.min.z;if(i.distanceToPoint($r)<0)return false}return true}containsPoint(t){const e=this.planes;for(let n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return false;return true}clone(){return(new this.constructor).copy(this)}}function WebGLAnimation(){let t=null;let e=false;let n=null;let i=null;function onAnimationFrame(e,r){n(e,r);i=t.requestAnimationFrame(onAnimationFrame)}return{start:function(){if(e!==true&&n!==null){i=t.requestAnimationFrame(onAnimationFrame);e=true}},stop:function(){t.cancelAnimationFrame(i);e=false},setAnimationLoop:function(t){n=t},setContext:function(e){t=e}}}function WebGLAttributes(t){const e=new WeakMap;function createBuffer(e,n){const i=e.array;const r=e.usage;const s=i.byteLength;const a=t.createBuffer();t.bindBuffer(n,a);t.bufferData(n,i,r);e.onUploadCallback();let o;if(i instanceof Float32Array)o=t.FLOAT;else if(i instanceof Uint16Array)o=e.isFloat16BufferAttribute?t.HALF_FLOAT:t.UNSIGNED_SHORT;else if(i instanceof Int16Array)o=t.SHORT;else if(i instanceof Uint32Array)o=t.UNSIGNED_INT;else if(i instanceof Int32Array)o=t.INT;else if(i instanceof Int8Array)o=t.BYTE;else if(i instanceof Uint8Array)o=t.UNSIGNED_BYTE;else{if(!(i instanceof Uint8ClampedArray))throw new Error(\"THREE.WebGLAttributes: Unsupported buffer data format: \"+i);o=t.UNSIGNED_BYTE}return{buffer:a,type:o,bytesPerElement:i.BYTES_PER_ELEMENT,version:e.version,size:s}}function updateBuffer(e,n,i){const r=n.array;const s=n._updateRange;const a=n.updateRanges;t.bindBuffer(i,e);s.count===-1&&a.length===0&&t.bufferSubData(i,0,r);if(a.length!==0){for(let e=0,n=a.length;e<n;e++){const n=a[e];t.bufferSubData(i,n.start*r.BYTES_PER_ELEMENT,r,n.start,n.count)}n.clearUpdateRanges()}if(s.count!==-1){t.bufferSubData(i,s.offset*r.BYTES_PER_ELEMENT,r,s.offset,s.count);s.count=-1}n.onUploadCallback()}function get(t){t.isInterleavedBufferAttribute&&(t=t.data);return e.get(t)}function remove(n){n.isInterleavedBufferAttribute&&(n=n.data);const i=e.get(n);if(i){t.deleteBuffer(i.buffer);e.delete(n)}}function update(t,n){if(t.isGLBufferAttribute){const n=e.get(t);(!n||n.version<t.version)&&e.set(t,{buffer:t.buffer,type:t.type,bytesPerElement:t.elementSize,version:t.version});return}t.isInterleavedBufferAttribute&&(t=t.data);const i=e.get(t);if(i===void 0)e.set(t,createBuffer(t,n));else if(i.version<t.version){if(i.size!==t.array.byteLength)throw new Error(\"THREE.WebGLAttributes: The size of the buffer attribute's array buffer does not match the original size. Resizing buffer attributes is not supported.\");updateBuffer(i.buffer,t,n);i.version=t.version}}return{get:get,remove:remove,update:update}}class PlaneGeometry extends BufferGeometry{constructor(t=1,e=1,n=1,i=1){super();this.type=\"PlaneGeometry\";this.parameters={width:t,height:e,widthSegments:n,heightSegments:i};const r=t/2;const s=e/2;const a=Math.floor(n);const o=Math.floor(i);const l=a+1;const c=o+1;const h=t/a;const u=e/o;const d=[];const p=[];const f=[];const m=[];for(let t=0;t<c;t++){const e=t*u-s;for(let n=0;n<l;n++){const i=n*h-r;p.push(i,-e,0);f.push(0,0,1);m.push(n/a);m.push(1-t/o)}}for(let t=0;t<o;t++)for(let e=0;e<a;e++){const n=e+l*t;const i=e+l*(t+1);const r=e+1+l*(t+1);const s=e+1+l*t;d.push(n,i,s);d.push(i,r,s)}this.setIndex(d);this.setAttribute(\"position\",new Float32BufferAttribute(p,3));this.setAttribute(\"normal\",new Float32BufferAttribute(f,3));this.setAttribute(\"uv\",new Float32BufferAttribute(m,2))}copy(t){super.copy(t);this.parameters=Object.assign({},t.parameters);return this}static fromJSON(t){return new PlaneGeometry(t.width,t.height,t.widthSegments,t.heightSegments)}}var ts=\"#ifdef USE_ALPHAHASH\\n\\tif ( diffuseColor.a < getAlphaHashThreshold( vPosition ) ) discard;\\n#endif\";var es=\"#ifdef USE_ALPHAHASH\\n\\tconst float ALPHA_HASH_SCALE = 0.05;\\n\\tfloat hash2D( vec2 value ) {\\n\\t\\treturn fract( 1.0e4 * sin( 17.0 * value.x + 0.1 * value.y ) * ( 0.1 + abs( sin( 13.0 * value.y + value.x ) ) ) );\\n\\t}\\n\\tfloat hash3D( vec3 value ) {\\n\\t\\treturn hash2D( vec2( hash2D( value.xy ), value.z ) );\\n\\t}\\n\\tfloat getAlphaHashThreshold( vec3 position ) {\\n\\t\\tfloat maxDeriv = max(\\n\\t\\t\\tlength( dFdx( position.xyz ) ),\\n\\t\\t\\tlength( dFdy( position.xyz ) )\\n\\t\\t);\\n\\t\\tfloat pixScale = 1.0 / ( ALPHA_HASH_SCALE * maxDeriv );\\n\\t\\tvec2 pixScales = vec2(\\n\\t\\t\\texp2( floor( log2( pixScale ) ) ),\\n\\t\\t\\texp2( ceil( log2( pixScale ) ) )\\n\\t\\t);\\n\\t\\tvec2 alpha = vec2(\\n\\t\\t\\thash3D( floor( pixScales.x * position.xyz ) ),\\n\\t\\t\\thash3D( floor( pixScales.y * position.xyz ) )\\n\\t\\t);\\n\\t\\tfloat lerpFactor = fract( log2( pixScale ) );\\n\\t\\tfloat x = ( 1.0 - lerpFactor ) * alpha.x + lerpFactor * alpha.y;\\n\\t\\tfloat a = min( lerpFactor, 1.0 - lerpFactor );\\n\\t\\tvec3 cases = vec3(\\n\\t\\t\\tx * x / ( 2.0 * a * ( 1.0 - a ) ),\\n\\t\\t\\t( x - 0.5 * a ) / ( 1.0 - a ),\\n\\t\\t\\t1.0 - ( ( 1.0 - x ) * ( 1.0 - x ) / ( 2.0 * a * ( 1.0 - a ) ) )\\n\\t\\t);\\n\\t\\tfloat threshold = ( x < ( 1.0 - a ) )\\n\\t\\t\\t? ( ( x < a ) ? cases.x : cases.y )\\n\\t\\t\\t: cases.z;\\n\\t\\treturn clamp( threshold , 1.0e-6, 1.0 );\\n\\t}\\n#endif\";var ns=\"#ifdef USE_ALPHAMAP\\n\\tdiffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g;\\n#endif\";var is=\"#ifdef USE_ALPHAMAP\\n\\tuniform sampler2D alphaMap;\\n#endif\";var rs=\"#ifdef USE_ALPHATEST\\n\\t#ifdef ALPHA_TO_COVERAGE\\n\\tdiffuseColor.a = smoothstep( alphaTest, alphaTest + fwidth( diffuseColor.a ), diffuseColor.a );\\n\\tif ( diffuseColor.a == 0.0 ) discard;\\n\\t#else\\n\\tif ( diffuseColor.a < alphaTest ) discard;\\n\\t#endif\\n#endif\";var ss=\"#ifdef USE_ALPHATEST\\n\\tuniform float alphaTest;\\n#endif\";var as=\"#ifdef USE_AOMAP\\n\\tfloat ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0;\\n\\treflectedLight.indirectDiffuse *= ambientOcclusion;\\n\\t#if defined( USE_CLEARCOAT ) \\n\\t\\tclearcoatSpecularIndirect *= ambientOcclusion;\\n\\t#endif\\n\\t#if defined( USE_SHEEN ) \\n\\t\\tsheenSpecularIndirect *= ambientOcclusion;\\n\\t#endif\\n\\t#if defined( USE_ENVMAP ) && defined( STANDARD )\\n\\t\\tfloat dotNV = saturate( dot( geometryNormal, geometryViewDir ) );\\n\\t\\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\\n\\t#endif\\n#endif\";var os=\"#ifdef USE_AOMAP\\n\\tuniform sampler2D aoMap;\\n\\tuniform float aoMapIntensity;\\n#endif\";var ls=\"#ifdef USE_BATCHING\\n\\t#if ! defined( GL_ANGLE_multi_draw )\\n\\t#define gl_DrawID _gl_DrawID\\n\\tuniform int _gl_DrawID;\\n\\t#endif\\n\\tuniform highp sampler2D batchingTexture;\\n\\tuniform highp usampler2D batchingIdTexture;\\n\\tmat4 getBatchingMatrix( const in float i ) {\\n\\t\\tint size = textureSize( batchingTexture, 0 ).x;\\n\\t\\tint j = int( i ) * 4;\\n\\t\\tint x = j % size;\\n\\t\\tint y = j / size;\\n\\t\\tvec4 v1 = texelFetch( batchingTexture, ivec2( x, y ), 0 );\\n\\t\\tvec4 v2 = texelFetch( batchingTexture, ivec2( x + 1, y ), 0 );\\n\\t\\tvec4 v3 = texelFetch( batchingTexture, ivec2( x + 2, y ), 0 );\\n\\t\\tvec4 v4 = texelFetch( batchingTexture, ivec2( x + 3, y ), 0 );\\n\\t\\treturn mat4( v1, v2, v3, v4 );\\n\\t}\\n\\tfloat getIndirectIndex( const in int i ) {\\n\\t\\tint size = textureSize( batchingIdTexture, 0 ).x;\\n\\t\\tint x = i % size;\\n\\t\\tint y = i / size;\\n\\t\\treturn float( texelFetch( batchingIdTexture, ivec2( x, y ), 0 ).r );\\n\\t}\\n#endif\\n#ifdef USE_BATCHING_COLOR\\n\\tuniform sampler2D batchingColorTexture;\\n\\tvec3 getBatchingColor( const in float i ) {\\n\\t\\tint size = textureSize( batchingColorTexture, 0 ).x;\\n\\t\\tint j = int( i );\\n\\t\\tint x = j % size;\\n\\t\\tint y = j / size;\\n\\t\\treturn texelFetch( batchingColorTexture, ivec2( x, y ), 0 ).rgb;\\n\\t}\\n#endif\";var cs=\"#ifdef USE_BATCHING\\n\\tmat4 batchingMatrix = getBatchingMatrix( getIndirectIndex( gl_DrawID ) );\\n#endif\";var hs=\"vec3 transformed = vec3( position );\\n#ifdef USE_ALPHAHASH\\n\\tvPosition = vec3( position );\\n#endif\";var us=\"vec3 objectNormal = vec3( normal );\\n#ifdef USE_TANGENT\\n\\tvec3 objectTangent = vec3( tangent.xyz );\\n#endif\";var ds=\"float G_BlinnPhong_Implicit( ) {\\n\\treturn 0.25;\\n}\\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\\n\\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\\n}\\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\\n\\tfloat G = G_BlinnPhong_Implicit( );\\n\\tfloat D = D_BlinnPhong( shininess, dotNH );\\n\\treturn F * ( G * D );\\n} // validated\";var ps=\"#ifdef USE_IRIDESCENCE\\n\\tconst mat3 XYZ_TO_REC709 = mat3(\\n\\t\\t 3.2404542, -0.9692660,  0.0556434,\\n\\t\\t-1.5371385,  1.8760108, -0.2040259,\\n\\t\\t-0.4985314,  0.0415560,  1.0572252\\n\\t);\\n\\tvec3 Fresnel0ToIor( vec3 fresnel0 ) {\\n\\t\\tvec3 sqrtF0 = sqrt( fresnel0 );\\n\\t\\treturn ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );\\n\\t}\\n\\tvec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {\\n\\t\\treturn pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );\\n\\t}\\n\\tfloat IorToFresnel0( float transmittedIor, float incidentIor ) {\\n\\t\\treturn pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));\\n\\t}\\n\\tvec3 evalSensitivity( float OPD, vec3 shift ) {\\n\\t\\tfloat phase = 2.0 * PI * OPD * 1.0e-9;\\n\\t\\tvec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );\\n\\t\\tvec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );\\n\\t\\tvec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );\\n\\t\\tvec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var );\\n\\t\\txyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) );\\n\\t\\txyz /= 1.0685e-7;\\n\\t\\tvec3 rgb = XYZ_TO_REC709 * xyz;\\n\\t\\treturn rgb;\\n\\t}\\n\\tvec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {\\n\\t\\tvec3 I;\\n\\t\\tfloat iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );\\n\\t\\tfloat sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );\\n\\t\\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\\n\\t\\tif ( cosTheta2Sq < 0.0 ) {\\n\\t\\t\\treturn vec3( 1.0 );\\n\\t\\t}\\n\\t\\tfloat cosTheta2 = sqrt( cosTheta2Sq );\\n\\t\\tfloat R0 = IorToFresnel0( iridescenceIOR, outsideIOR );\\n\\t\\tfloat R12 = F_Schlick( R0, 1.0, cosTheta1 );\\n\\t\\tfloat T121 = 1.0 - R12;\\n\\t\\tfloat phi12 = 0.0;\\n\\t\\tif ( iridescenceIOR < outsideIOR ) phi12 = PI;\\n\\t\\tfloat phi21 = PI - phi12;\\n\\t\\tvec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) );\\t\\tvec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );\\n\\t\\tvec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );\\n\\t\\tvec3 phi23 = vec3( 0.0 );\\n\\t\\tif ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI;\\n\\t\\tif ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI;\\n\\t\\tif ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI;\\n\\t\\tfloat OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;\\n\\t\\tvec3 phi = vec3( phi21 ) + phi23;\\n\\t\\tvec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );\\n\\t\\tvec3 r123 = sqrt( R123 );\\n\\t\\tvec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );\\n\\t\\tvec3 C0 = R12 + Rs;\\n\\t\\tI = C0;\\n\\t\\tvec3 Cm = Rs - T121;\\n\\t\\tfor ( int m = 1; m <= 2; ++ m ) {\\n\\t\\t\\tCm *= r123;\\n\\t\\t\\tvec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );\\n\\t\\t\\tI += Cm * Sm;\\n\\t\\t}\\n\\t\\treturn max( I, vec3( 0.0 ) );\\n\\t}\\n#endif\";var fs=\"#ifdef USE_BUMPMAP\\n\\tuniform sampler2D bumpMap;\\n\\tuniform float bumpScale;\\n\\tvec2 dHdxy_fwd() {\\n\\t\\tvec2 dSTdx = dFdx( vBumpMapUv );\\n\\t\\tvec2 dSTdy = dFdy( vBumpMapUv );\\n\\t\\tfloat Hll = bumpScale * texture2D( bumpMap, vBumpMapUv ).x;\\n\\t\\tfloat dBx = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdx ).x - Hll;\\n\\t\\tfloat dBy = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdy ).x - Hll;\\n\\t\\treturn vec2( dBx, dBy );\\n\\t}\\n\\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\\n\\t\\tvec3 vSigmaX = normalize( dFdx( surf_pos.xyz ) );\\n\\t\\tvec3 vSigmaY = normalize( dFdy( surf_pos.xyz ) );\\n\\t\\tvec3 vN = surf_norm;\\n\\t\\tvec3 R1 = cross( vSigmaY, vN );\\n\\t\\tvec3 R2 = cross( vN, vSigmaX );\\n\\t\\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\\n\\t\\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\\n\\t\\treturn normalize( abs( fDet ) * surf_norm - vGrad );\\n\\t}\\n#endif\";var ms=\"#if NUM_CLIPPING_PLANES > 0\\n\\tvec4 plane;\\n\\t#ifdef ALPHA_TO_COVERAGE\\n\\t\\tfloat distanceToPlane, distanceGradient;\\n\\t\\tfloat clipOpacity = 1.0;\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\\n\\t\\t\\tplane = clippingPlanes[ i ];\\n\\t\\t\\tdistanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;\\n\\t\\t\\tdistanceGradient = fwidth( distanceToPlane ) / 2.0;\\n\\t\\t\\tclipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane );\\n\\t\\t\\tif ( clipOpacity == 0.0 ) discard;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t\\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\\n\\t\\t\\tfloat unionClipOpacity = 1.0;\\n\\t\\t\\t#pragma unroll_loop_start\\n\\t\\t\\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\\n\\t\\t\\t\\tplane = clippingPlanes[ i ];\\n\\t\\t\\t\\tdistanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;\\n\\t\\t\\t\\tdistanceGradient = fwidth( distanceToPlane ) / 2.0;\\n\\t\\t\\t\\tunionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane );\\n\\t\\t\\t}\\n\\t\\t\\t#pragma unroll_loop_end\\n\\t\\t\\tclipOpacity *= 1.0 - unionClipOpacity;\\n\\t\\t#endif\\n\\t\\tdiffuseColor.a *= clipOpacity;\\n\\t\\tif ( diffuseColor.a == 0.0 ) discard;\\n\\t#else\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\\n\\t\\t\\tplane = clippingPlanes[ i ];\\n\\t\\t\\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t\\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\\n\\t\\t\\tbool clipped = true;\\n\\t\\t\\t#pragma unroll_loop_start\\n\\t\\t\\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\\n\\t\\t\\t\\tplane = clippingPlanes[ i ];\\n\\t\\t\\t\\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\\n\\t\\t\\t}\\n\\t\\t\\t#pragma unroll_loop_end\\n\\t\\t\\tif ( clipped ) discard;\\n\\t\\t#endif\\n\\t#endif\\n#endif\";var gs=\"#if NUM_CLIPPING_PLANES > 0\\n\\tvarying vec3 vClipPosition;\\n\\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\\n#endif\";var vs=\"#if NUM_CLIPPING_PLANES > 0\\n\\tvarying vec3 vClipPosition;\\n#endif\";var _s=\"#if NUM_CLIPPING_PLANES > 0\\n\\tvClipPosition = - mvPosition.xyz;\\n#endif\";var xs=\"#if defined( USE_COLOR_ALPHA )\\n\\tdiffuseColor *= vColor;\\n#elif defined( USE_COLOR )\\n\\tdiffuseColor.rgb *= vColor;\\n#endif\";var ys=\"#if defined( USE_COLOR_ALPHA )\\n\\tvarying vec4 vColor;\\n#elif defined( USE_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\";var Ms=\"#if defined( USE_COLOR_ALPHA )\\n\\tvarying vec4 vColor;\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\";var Ss=\"#if defined( USE_COLOR_ALPHA )\\n\\tvColor = vec4( 1.0 );\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )\\n\\tvColor = vec3( 1.0 );\\n#endif\\n#ifdef USE_COLOR\\n\\tvColor *= color;\\n#endif\\n#ifdef USE_INSTANCING_COLOR\\n\\tvColor.xyz *= instanceColor.xyz;\\n#endif\\n#ifdef USE_BATCHING_COLOR\\n\\tvec3 batchingColor = getBatchingColor( getIndirectIndex( gl_DrawID ) );\\n\\tvColor.xyz *= batchingColor.xyz;\\n#endif\";var bs=\"#define PI 3.141592653589793\\n#define PI2 6.283185307179586\\n#define PI_HALF 1.5707963267948966\\n#define RECIPROCAL_PI 0.3183098861837907\\n#define RECIPROCAL_PI2 0.15915494309189535\\n#define EPSILON 1e-6\\n#ifndef saturate\\n#define saturate( a ) clamp( a, 0.0, 1.0 )\\n#endif\\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\\nfloat pow2( const in float x ) { return x*x; }\\nvec3 pow2( const in vec3 x ) { return x*x; }\\nfloat pow3( const in float x ) { return x*x*x; }\\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\\nhighp float rand( const in vec2 uv ) {\\n\\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n\\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\\n\\treturn fract( sin( sn ) * c );\\n}\\n#ifdef HIGH_PRECISION\\n\\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\\n#else\\n\\tfloat precisionSafeLength( vec3 v ) {\\n\\t\\tfloat maxComponent = max3( abs( v ) );\\n\\t\\treturn length( v / maxComponent ) * maxComponent;\\n\\t}\\n#endif\\nstruct IncidentLight {\\n\\tvec3 color;\\n\\tvec3 direction;\\n\\tbool visible;\\n};\\nstruct ReflectedLight {\\n\\tvec3 directDiffuse;\\n\\tvec3 directSpecular;\\n\\tvec3 indirectDiffuse;\\n\\tvec3 indirectSpecular;\\n};\\n#ifdef USE_ALPHAHASH\\n\\tvarying vec3 vPosition;\\n#endif\\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n}\\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\\n}\\nmat3 transposeMat3( const in mat3 m ) {\\n\\tmat3 tmp;\\n\\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\\n\\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\\n\\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\\n\\treturn tmp;\\n}\\nfloat luminance( const in vec3 rgb ) {\\n\\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\\n\\treturn dot( weights, rgb );\\n}\\nbool isPerspectiveMatrix( mat4 m ) {\\n\\treturn m[ 2 ][ 3 ] == - 1.0;\\n}\\nvec2 equirectUv( in vec3 dir ) {\\n\\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\\n\\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\\n\\treturn vec2( u, v );\\n}\\nvec3 BRDF_Lambert( const in vec3 diffuseColor ) {\\n\\treturn RECIPROCAL_PI * diffuseColor;\\n}\\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\\n\\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\\n\\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\\n}\\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\\n\\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\\n\\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\\n} // validated\";var Ts=\"#ifdef ENVMAP_TYPE_CUBE_UV\\n\\t#define cubeUV_minMipLevel 4.0\\n\\t#define cubeUV_minTileSize 16.0\\n\\tfloat getFace( vec3 direction ) {\\n\\t\\tvec3 absDirection = abs( direction );\\n\\t\\tfloat face = - 1.0;\\n\\t\\tif ( absDirection.x > absDirection.z ) {\\n\\t\\t\\tif ( absDirection.x > absDirection.y )\\n\\t\\t\\t\\tface = direction.x > 0.0 ? 0.0 : 3.0;\\n\\t\\t\\telse\\n\\t\\t\\t\\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\\t\\t} else {\\n\\t\\t\\tif ( absDirection.z > absDirection.y )\\n\\t\\t\\t\\tface = direction.z > 0.0 ? 2.0 : 5.0;\\n\\t\\t\\telse\\n\\t\\t\\t\\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\\t\\t}\\n\\t\\treturn face;\\n\\t}\\n\\tvec2 getUV( vec3 direction, float face ) {\\n\\t\\tvec2 uv;\\n\\t\\tif ( face == 0.0 ) {\\n\\t\\t\\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\\n\\t\\t} else if ( face == 1.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\\n\\t\\t} else if ( face == 2.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\\n\\t\\t} else if ( face == 3.0 ) {\\n\\t\\t\\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\\n\\t\\t} else if ( face == 4.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\\n\\t\\t} else {\\n\\t\\t\\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\\n\\t\\t}\\n\\t\\treturn 0.5 * ( uv + 1.0 );\\n\\t}\\n\\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\\n\\t\\tfloat face = getFace( direction );\\n\\t\\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\\n\\t\\tmipInt = max( mipInt, cubeUV_minMipLevel );\\n\\t\\tfloat faceSize = exp2( mipInt );\\n\\t\\thighp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\\n\\t\\tif ( face > 2.0 ) {\\n\\t\\t\\tuv.y += faceSize;\\n\\t\\t\\tface -= 3.0;\\n\\t\\t}\\n\\t\\tuv.x += face * faceSize;\\n\\t\\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\\n\\t\\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\\n\\t\\tuv.x *= CUBEUV_TEXEL_WIDTH;\\n\\t\\tuv.y *= CUBEUV_TEXEL_HEIGHT;\\n\\t\\t#ifdef texture2DGradEXT\\n\\t\\t\\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\\n\\t\\t#else\\n\\t\\t\\treturn texture2D( envMap, uv ).rgb;\\n\\t\\t#endif\\n\\t}\\n\\t#define cubeUV_r0 1.0\\n\\t#define cubeUV_m0 - 2.0\\n\\t#define cubeUV_r1 0.8\\n\\t#define cubeUV_m1 - 1.0\\n\\t#define cubeUV_r4 0.4\\n\\t#define cubeUV_m4 2.0\\n\\t#define cubeUV_r5 0.305\\n\\t#define cubeUV_m5 3.0\\n\\t#define cubeUV_r6 0.21\\n\\t#define cubeUV_m6 4.0\\n\\tfloat roughnessToMip( float roughness ) {\\n\\t\\tfloat mip = 0.0;\\n\\t\\tif ( roughness >= cubeUV_r1 ) {\\n\\t\\t\\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\\n\\t\\t} else if ( roughness >= cubeUV_r4 ) {\\n\\t\\t\\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\\n\\t\\t} else if ( roughness >= cubeUV_r5 ) {\\n\\t\\t\\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\\n\\t\\t} else if ( roughness >= cubeUV_r6 ) {\\n\\t\\t\\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\\n\\t\\t} else {\\n\\t\\t\\tmip = - 2.0 * log2( 1.16 * roughness );\\t\\t}\\n\\t\\treturn mip;\\n\\t}\\n\\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\\n\\t\\tfloat mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\\n\\t\\tfloat mipF = fract( mip );\\n\\t\\tfloat mipInt = floor( mip );\\n\\t\\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\\n\\t\\tif ( mipF == 0.0 ) {\\n\\t\\t\\treturn vec4( color0, 1.0 );\\n\\t\\t} else {\\n\\t\\t\\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\\n\\t\\t\\treturn vec4( mix( color0, color1, mipF ), 1.0 );\\n\\t\\t}\\n\\t}\\n#endif\";var ws=\"vec3 transformedNormal = objectNormal;\\n#ifdef USE_TANGENT\\n\\tvec3 transformedTangent = objectTangent;\\n#endif\\n#ifdef USE_BATCHING\\n\\tmat3 bm = mat3( batchingMatrix );\\n\\ttransformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) );\\n\\ttransformedNormal = bm * transformedNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\ttransformedTangent = bm * transformedTangent;\\n\\t#endif\\n#endif\\n#ifdef USE_INSTANCING\\n\\tmat3 im = mat3( instanceMatrix );\\n\\ttransformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) );\\n\\ttransformedNormal = im * transformedNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\ttransformedTangent = im * transformedTangent;\\n\\t#endif\\n#endif\\ntransformedNormal = normalMatrix * transformedNormal;\\n#ifdef FLIP_SIDED\\n\\ttransformedNormal = - transformedNormal;\\n#endif\\n#ifdef USE_TANGENT\\n\\ttransformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz;\\n\\t#ifdef FLIP_SIDED\\n\\t\\ttransformedTangent = - transformedTangent;\\n\\t#endif\\n#endif\";var Es=\"#ifdef USE_DISPLACEMENTMAP\\n\\tuniform sampler2D displacementMap;\\n\\tuniform float displacementScale;\\n\\tuniform float displacementBias;\\n#endif\";var As=\"#ifdef USE_DISPLACEMENTMAP\\n\\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias );\\n#endif\";var Cs=\"#ifdef USE_EMISSIVEMAP\\n\\tvec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\\n\\ttotalEmissiveRadiance *= emissiveColor.rgb;\\n#endif\";var Rs=\"#ifdef USE_EMISSIVEMAP\\n\\tuniform sampler2D emissiveMap;\\n#endif\";var Ps=\"gl_FragColor = linearToOutputTexel( gl_FragColor );\";var Ls=\"\\nconst mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3(\\n\\tvec3( 0.8224621, 0.177538, 0.0 ),\\n\\tvec3( 0.0331941, 0.9668058, 0.0 ),\\n\\tvec3( 0.0170827, 0.0723974, 0.9105199 )\\n);\\nconst mat3 LINEAR_DISPLAY_P3_TO_LINEAR_SRGB = mat3(\\n\\tvec3( 1.2249401, - 0.2249404, 0.0 ),\\n\\tvec3( - 0.0420569, 1.0420571, 0.0 ),\\n\\tvec3( - 0.0196376, - 0.0786361, 1.0982735 )\\n);\\nvec4 LinearSRGBToLinearDisplayP3( in vec4 value ) {\\n\\treturn vec4( value.rgb * LINEAR_SRGB_TO_LINEAR_DISPLAY_P3, value.a );\\n}\\nvec4 LinearDisplayP3ToLinearSRGB( in vec4 value ) {\\n\\treturn vec4( value.rgb * LINEAR_DISPLAY_P3_TO_LINEAR_SRGB, value.a );\\n}\\nvec4 LinearTransferOETF( in vec4 value ) {\\n\\treturn value;\\n}\\nvec4 sRGBTransferOETF( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\\n}\\nvec4 LinearToLinear( in vec4 value ) {\\n\\treturn value;\\n}\\nvec4 LinearTosRGB( in vec4 value ) {\\n\\treturn sRGBTransferOETF( value );\\n}\";var Is=\"#ifdef USE_ENVMAP\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvec3 cameraToFrag;\\n\\t\\tif ( isOrthographic ) {\\n\\t\\t\\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\\t\\t} else {\\n\\t\\t\\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\\n\\t\\t}\\n\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#else\\n\\t\\tvec3 reflectVec = vReflect;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 envColor = textureCube( envMap, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n\\t#else\\n\\t\\tvec4 envColor = vec4( 0.0 );\\n\\t#endif\\n\\t#ifdef ENVMAP_BLENDING_MULTIPLY\\n\\t\\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_MIX )\\n\\t\\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_ADD )\\n\\t\\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\\n\\t#endif\\n#endif\";var Us=\"#ifdef USE_ENVMAP\\n\\tuniform float envMapIntensity;\\n\\tuniform float flipEnvMap;\\n\\tuniform mat3 envMapRotation;\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tuniform samplerCube envMap;\\n\\t#else\\n\\t\\tuniform sampler2D envMap;\\n\\t#endif\\n\\t\\n#endif\";var Ds=\"#ifdef USE_ENVMAP\\n\\tuniform float reflectivity;\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\\n\\t\\t#define ENV_WORLDPOS\\n\\t#endif\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t\\tuniform float refractionRatio;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t#endif\\n#endif\";var Ns=\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\\n\\t\\t#define ENV_WORLDPOS\\n\\t#endif\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\t\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n#endif\";var Bs=\"#ifdef USE_ENVMAP\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvWorldPosition = worldPosition.xyz;\\n\\t#else\\n\\t\\tvec3 cameraToVertex;\\n\\t\\tif ( isOrthographic ) {\\n\\t\\t\\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\\t\\t} else {\\n\\t\\t\\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\\n\\t\\t}\\n\\t\\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvReflect = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#endif\\n#endif\";var Os=\"#ifdef USE_FOG\\n\\tvFogDepth = - mvPosition.z;\\n#endif\";var Vs=\"#ifdef USE_FOG\\n\\tvarying float vFogDepth;\\n#endif\";var Fs=\"#ifdef USE_FOG\\n\\t#ifdef FOG_EXP2\\n\\t\\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\\n\\t#else\\n\\t\\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\\n\\t#endif\\n\\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\";var zs=\"#ifdef USE_FOG\\n\\tuniform vec3 fogColor;\\n\\tvarying float vFogDepth;\\n\\t#ifdef FOG_EXP2\\n\\t\\tuniform float fogDensity;\\n\\t#else\\n\\t\\tuniform float fogNear;\\n\\t\\tuniform float fogFar;\\n\\t#endif\\n#endif\";var Gs=\"#ifdef USE_GRADIENTMAP\\n\\tuniform sampler2D gradientMap;\\n#endif\\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\\n\\tfloat dotNL = dot( normal, lightDirection );\\n\\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\\n\\t#ifdef USE_GRADIENTMAP\\n\\t\\treturn vec3( texture2D( gradientMap, coord ).r );\\n\\t#else\\n\\t\\tvec2 fw = fwidth( coord ) * 0.5;\\n\\t\\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\\n\\t#endif\\n}\";var ks=\"#ifdef USE_LIGHTMAP\\n\\tuniform sampler2D lightMap;\\n\\tuniform float lightMapIntensity;\\n#endif\";var Hs=\"LambertMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularStrength = specularStrength;\";var Ws=\"varying vec3 vViewPosition;\\nstruct LambertMaterial {\\n\\tvec3 diffuseColor;\\n\\tfloat specularStrength;\\n};\\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Lambert\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Lambert\";var Xs=\"uniform bool receiveShadow;\\nuniform vec3 ambientLightColor;\\n#if defined( USE_LIGHT_PROBES )\\n\\tuniform vec3 lightProbe[ 9 ];\\n#endif\\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\\n\\tfloat x = normal.x, y = normal.y, z = normal.z;\\n\\tvec3 result = shCoefficients[ 0 ] * 0.886227;\\n\\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\\n\\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\\n\\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\\n\\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\\n\\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\\n\\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\\n\\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\\n\\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\\n\\treturn result;\\n}\\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\\n\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\\n\\treturn irradiance;\\n}\\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\\n\\tvec3 irradiance = ambientLightColor;\\n\\treturn irradiance;\\n}\\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\\n\\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\\n\\tif ( cutoffDistance > 0.0 ) {\\n\\t\\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\\n\\t}\\n\\treturn distanceFalloff;\\n}\\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\\n\\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\\n}\\n#if NUM_DIR_LIGHTS > 0\\n\\tstruct DirectionalLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t};\\n\\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\\n\\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) {\\n\\t\\tlight.color = directionalLight.color;\\n\\t\\tlight.direction = directionalLight.direction;\\n\\t\\tlight.visible = true;\\n\\t}\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\tstruct PointLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t};\\n\\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\\n\\tvoid getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) {\\n\\t\\tvec3 lVector = pointLight.position - geometryPosition;\\n\\t\\tlight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tlight.color = pointLight.color;\\n\\t\\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\\n\\t\\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tstruct SpotLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tfloat coneCos;\\n\\t\\tfloat penumbraCos;\\n\\t};\\n\\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\\n\\tvoid getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) {\\n\\t\\tvec3 lVector = spotLight.position - geometryPosition;\\n\\t\\tlight.direction = normalize( lVector );\\n\\t\\tfloat angleCos = dot( light.direction, spotLight.direction );\\n\\t\\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\\n\\t\\tif ( spotAttenuation > 0.0 ) {\\n\\t\\t\\tfloat lightDistance = length( lVector );\\n\\t\\t\\tlight.color = spotLight.color * spotAttenuation;\\n\\t\\t\\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\\n\\t\\t\\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\\t\\t} else {\\n\\t\\t\\tlight.color = vec3( 0.0 );\\n\\t\\t\\tlight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tstruct RectAreaLight {\\n\\t\\tvec3 color;\\n\\t\\tvec3 position;\\n\\t\\tvec3 halfWidth;\\n\\t\\tvec3 halfHeight;\\n\\t};\\n\\tuniform sampler2D ltc_1;\\tuniform sampler2D ltc_2;\\n\\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tstruct HemisphereLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 skyColor;\\n\\t\\tvec3 groundColor;\\n\\t};\\n\\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\\n\\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\\n\\t\\tfloat dotNL = dot( normal, hemiLight.direction );\\n\\t\\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\\n\\t\\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\\n\\t\\treturn irradiance;\\n\\t}\\n#endif\";var js=\"#ifdef USE_ENVMAP\\n\\tvec3 getIBLIrradiance( const in vec3 normal ) {\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE_UV\\n\\t\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, envMapRotation * worldNormal, 1.0 );\\n\\t\\t\\treturn PI * envMapColor.rgb * envMapIntensity;\\n\\t\\t#else\\n\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t#endif\\n\\t}\\n\\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE_UV\\n\\t\\t\\tvec3 reflectVec = reflect( - viewDir, normal );\\n\\t\\t\\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\\n\\t\\t\\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, envMapRotation * reflectVec, roughness );\\n\\t\\t\\treturn envMapColor.rgb * envMapIntensity;\\n\\t\\t#else\\n\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t#endif\\n\\t}\\n\\t#ifdef USE_ANISOTROPY\\n\\t\\tvec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {\\n\\t\\t\\t#ifdef ENVMAP_TYPE_CUBE_UV\\n\\t\\t\\t\\tvec3 bentNormal = cross( bitangent, viewDir );\\n\\t\\t\\t\\tbentNormal = normalize( cross( bentNormal, bitangent ) );\\n\\t\\t\\t\\tbentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );\\n\\t\\t\\t\\treturn getIBLRadiance( viewDir, bentNormal, roughness );\\n\\t\\t\\t#else\\n\\t\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t\\t#endif\\n\\t\\t}\\n\\t#endif\\n#endif\";var qs=\"ToonMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\";var Ys=\"varying vec3 vViewPosition;\\nstruct ToonMaterial {\\n\\tvec3 diffuseColor;\\n};\\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tvec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Toon\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Toon\";var Ks=\"BlinnPhongMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularColor = specular;\\nmaterial.specularShininess = shininess;\\nmaterial.specularStrength = specularStrength;\";var Zs=\"varying vec3 vViewPosition;\\nstruct BlinnPhongMaterial {\\n\\tvec3 diffuseColor;\\n\\tvec3 specularColor;\\n\\tfloat specularShininess;\\n\\tfloat specularStrength;\\n};\\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n\\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength;\\n}\\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_BlinnPhong\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_BlinnPhong\";var Js=\"PhysicalMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\\nvec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) );\\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\\nmaterial.roughness = min( material.roughness, 1.0 );\\n#ifdef IOR\\n\\tmaterial.ior = ior;\\n\\t#ifdef USE_SPECULAR\\n\\t\\tfloat specularIntensityFactor = specularIntensity;\\n\\t\\tvec3 specularColorFactor = specularColor;\\n\\t\\t#ifdef USE_SPECULAR_COLORMAP\\n\\t\\t\\tspecularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\\n\\t\\t#endif\\n\\t\\t#ifdef USE_SPECULAR_INTENSITYMAP\\n\\t\\t\\tspecularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\\n\\t\\t#endif\\n\\t\\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\\n\\t#else\\n\\t\\tfloat specularIntensityFactor = 1.0;\\n\\t\\tvec3 specularColorFactor = vec3( 1.0 );\\n\\t\\tmaterial.specularF90 = 1.0;\\n\\t#endif\\n\\tmaterial.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\\n#else\\n\\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\\n\\tmaterial.specularF90 = 1.0;\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tmaterial.clearcoat = clearcoat;\\n\\tmaterial.clearcoatRoughness = clearcoatRoughness;\\n\\tmaterial.clearcoatF0 = vec3( 0.04 );\\n\\tmaterial.clearcoatF90 = 1.0;\\n\\t#ifdef USE_CLEARCOATMAP\\n\\t\\tmaterial.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\t\\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;\\n\\t#endif\\n\\tmaterial.clearcoat = saturate( material.clearcoat );\\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\\n\\tmaterial.clearcoatRoughness += geometryRoughness;\\n\\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\\n#endif\\n#ifdef USE_DISPERSION\\n\\tmaterial.dispersion = dispersion;\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\\tmaterial.iridescence = iridescence;\\n\\tmaterial.iridescenceIOR = iridescenceIOR;\\n\\t#ifdef USE_IRIDESCENCEMAP\\n\\t\\tmaterial.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;\\n\\t#endif\\n\\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\t\\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;\\n\\t#else\\n\\t\\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\\n\\t#endif\\n#endif\\n#ifdef USE_SHEEN\\n\\tmaterial.sheenColor = sheenColor;\\n\\t#ifdef USE_SHEEN_COLORMAP\\n\\t\\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\\n\\t#endif\\n\\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\\n\\t#ifdef USE_SHEEN_ROUGHNESSMAP\\n\\t\\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\\n\\t#endif\\n#endif\\n#ifdef USE_ANISOTROPY\\n\\t#ifdef USE_ANISOTROPYMAP\\n\\t\\tmat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x );\\n\\t\\tvec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb;\\n\\t\\tvec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b;\\n\\t#else\\n\\t\\tvec2 anisotropyV = anisotropyVector;\\n\\t#endif\\n\\tmaterial.anisotropy = length( anisotropyV );\\n\\tif( material.anisotropy == 0.0 ) {\\n\\t\\tanisotropyV = vec2( 1.0, 0.0 );\\n\\t} else {\\n\\t\\tanisotropyV /= material.anisotropy;\\n\\t\\tmaterial.anisotropy = saturate( material.anisotropy );\\n\\t}\\n\\tmaterial.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );\\n\\tmaterial.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y;\\n\\tmaterial.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y;\\n#endif\";var Qs=\"struct PhysicalMaterial {\\n\\tvec3 diffuseColor;\\n\\tfloat roughness;\\n\\tvec3 specularColor;\\n\\tfloat specularF90;\\n\\tfloat dispersion;\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat clearcoat;\\n\\t\\tfloat clearcoatRoughness;\\n\\t\\tvec3 clearcoatF0;\\n\\t\\tfloat clearcoatF90;\\n\\t#endif\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tfloat iridescence;\\n\\t\\tfloat iridescenceIOR;\\n\\t\\tfloat iridescenceThickness;\\n\\t\\tvec3 iridescenceFresnel;\\n\\t\\tvec3 iridescenceF0;\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tvec3 sheenColor;\\n\\t\\tfloat sheenRoughness;\\n\\t#endif\\n\\t#ifdef IOR\\n\\t\\tfloat ior;\\n\\t#endif\\n\\t#ifdef USE_TRANSMISSION\\n\\t\\tfloat transmission;\\n\\t\\tfloat transmissionAlpha;\\n\\t\\tfloat thickness;\\n\\t\\tfloat attenuationDistance;\\n\\t\\tvec3 attenuationColor;\\n\\t#endif\\n\\t#ifdef USE_ANISOTROPY\\n\\t\\tfloat anisotropy;\\n\\t\\tfloat alphaT;\\n\\t\\tvec3 anisotropyT;\\n\\t\\tvec3 anisotropyB;\\n\\t#endif\\n};\\nvec3 clearcoatSpecularDirect = vec3( 0.0 );\\nvec3 clearcoatSpecularIndirect = vec3( 0.0 );\\nvec3 sheenSpecularDirect = vec3( 0.0 );\\nvec3 sheenSpecularIndirect = vec3(0.0 );\\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\\n    float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\\n    float x2 = x * x;\\n    float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\\n    return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\\n}\\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\treturn 0.5 / max( gv + gl, EPSILON );\\n}\\nfloat D_GGX( const in float alpha, const in float dotNH ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\\n\\treturn RECIPROCAL_PI * a2 / pow2( denom );\\n}\\n#ifdef USE_ANISOTROPY\\n\\tfloat V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) {\\n\\t\\tfloat gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) );\\n\\t\\tfloat gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) );\\n\\t\\tfloat v = 0.5 / ( gv + gl );\\n\\t\\treturn saturate(v);\\n\\t}\\n\\tfloat D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) {\\n\\t\\tfloat a2 = alphaT * alphaB;\\n\\t\\thighp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH );\\n\\t\\thighp float v2 = dot( v, v );\\n\\t\\tfloat w2 = a2 / v2;\\n\\t\\treturn RECIPROCAL_PI * a2 * pow2 ( w2 );\\n\\t}\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tvec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\\n\\t\\tvec3 f0 = material.clearcoatF0;\\n\\t\\tfloat f90 = material.clearcoatF90;\\n\\t\\tfloat roughness = material.clearcoatRoughness;\\n\\t\\tfloat alpha = pow2( roughness );\\n\\t\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\t\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\t\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\t\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\t\\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\\t\\tvec3 F = F_Schlick( f0, f90, dotVH );\\n\\t\\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\t\\tfloat D = D_GGX( alpha, dotNH );\\n\\t\\treturn F * ( V * D );\\n\\t}\\n#endif\\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\\n\\tvec3 f0 = material.specularColor;\\n\\tfloat f90 = material.specularF90;\\n\\tfloat roughness = material.roughness;\\n\\tfloat alpha = pow2( roughness );\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\\tvec3 F = F_Schlick( f0, f90, dotVH );\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tF = mix( F, material.iridescenceFresnel, material.iridescence );\\n\\t#endif\\n\\t#ifdef USE_ANISOTROPY\\n\\t\\tfloat dotTL = dot( material.anisotropyT, lightDir );\\n\\t\\tfloat dotTV = dot( material.anisotropyT, viewDir );\\n\\t\\tfloat dotTH = dot( material.anisotropyT, halfDir );\\n\\t\\tfloat dotBL = dot( material.anisotropyB, lightDir );\\n\\t\\tfloat dotBV = dot( material.anisotropyB, viewDir );\\n\\t\\tfloat dotBH = dot( material.anisotropyB, halfDir );\\n\\t\\tfloat V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL );\\n\\t\\tfloat D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH );\\n\\t#else\\n\\t\\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\t\\tfloat D = D_GGX( alpha, dotNH );\\n\\t#endif\\n\\treturn F * ( V * D );\\n}\\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\\n\\tconst float LUT_SIZE = 64.0;\\n\\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\\n\\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\\n\\tfloat dotNV = saturate( dot( N, V ) );\\n\\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\\n\\tuv = uv * LUT_SCALE + LUT_BIAS;\\n\\treturn uv;\\n}\\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\\n\\tfloat l = length( f );\\n\\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\\n}\\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\\n\\tfloat x = dot( v1, v2 );\\n\\tfloat y = abs( x );\\n\\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\\n\\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\\n\\tfloat v = a / b;\\n\\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\\n\\treturn cross( v1, v2 ) * theta_sintheta;\\n}\\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\\n\\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\\n\\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\\n\\tvec3 lightNormal = cross( v1, v2 );\\n\\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\\n\\tvec3 T1, T2;\\n\\tT1 = normalize( V - N * dot( V, N ) );\\n\\tT2 = - cross( N, T1 );\\n\\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\\n\\tvec3 coords[ 4 ];\\n\\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\\n\\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\\n\\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\\n\\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\\n\\tcoords[ 0 ] = normalize( coords[ 0 ] );\\n\\tcoords[ 1 ] = normalize( coords[ 1 ] );\\n\\tcoords[ 2 ] = normalize( coords[ 2 ] );\\n\\tcoords[ 3 ] = normalize( coords[ 3 ] );\\n\\tvec3 vectorFormFactor = vec3( 0.0 );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\\n\\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\\n\\treturn vec3( result );\\n}\\n#if defined( USE_SHEEN )\\nfloat D_Charlie( float roughness, float dotNH ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tfloat invAlpha = 1.0 / alpha;\\n\\tfloat cos2h = dotNH * dotNH;\\n\\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\\n\\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\\n}\\nfloat V_Neubelt( float dotNV, float dotNL ) {\\n\\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\\n}\\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat D = D_Charlie( sheenRoughness, dotNH );\\n\\tfloat V = V_Neubelt( dotNV, dotNL );\\n\\treturn sheenColor * ( D * V );\\n}\\n#endif\\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat r2 = roughness * roughness;\\n\\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\\n\\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\\n\\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\\n\\treturn saturate( DG * RECIPROCAL_PI );\\n}\\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\\n\\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\\n\\tvec4 r = roughness * c0 + c1;\\n\\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\\n\\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\\n\\treturn fab;\\n}\\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\\n\\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\\treturn specularColor * fab.x + specularF90 * fab.y;\\n}\\n#ifdef USE_IRIDESCENCE\\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\\n#else\\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\\n#endif\\n\\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\\n\\t#else\\n\\t\\tvec3 Fr = specularColor;\\n\\t#endif\\n\\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\\n\\tfloat Ess = fab.x + fab.y;\\n\\tfloat Ems = 1.0 - Ess;\\n\\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\\n\\tsingleScatter += FssEss;\\n\\tmultiScatter += Fms * Ems;\\n}\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t\\tvec3 normal = geometryNormal;\\n\\t\\tvec3 viewDir = geometryViewDir;\\n\\t\\tvec3 position = geometryPosition;\\n\\t\\tvec3 lightPos = rectAreaLight.position;\\n\\t\\tvec3 halfWidth = rectAreaLight.halfWidth;\\n\\t\\tvec3 halfHeight = rectAreaLight.halfHeight;\\n\\t\\tvec3 lightColor = rectAreaLight.color;\\n\\t\\tfloat roughness = material.roughness;\\n\\t\\tvec3 rectCoords[ 4 ];\\n\\t\\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\\t\\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\\n\\t\\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\\n\\t\\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\\n\\t\\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\\n\\t\\tvec4 t1 = texture2D( ltc_1, uv );\\n\\t\\tvec4 t2 = texture2D( ltc_2, uv );\\n\\t\\tmat3 mInv = mat3(\\n\\t\\t\\tvec3( t1.x, 0, t1.y ),\\n\\t\\t\\tvec3(    0, 1,    0 ),\\n\\t\\t\\tvec3( t1.z, 0, t1.w )\\n\\t\\t);\\n\\t\\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\\n\\t\\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\\n\\t\\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\\n\\t}\\n#endif\\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) );\\n\\t\\tvec3 ccIrradiance = dotNLcc * directLight.color;\\n\\t\\tclearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material );\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tsheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness );\\n\\t#endif\\n\\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material );\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tclearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tsheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness );\\n\\t#endif\\n\\tvec3 singleScattering = vec3( 0.0 );\\n\\tvec3 multiScattering = vec3( 0.0 );\\n\\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tcomputeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\\n\\t#else\\n\\t\\tcomputeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\\n\\t#endif\\n\\tvec3 totalScattering = singleScattering + multiScattering;\\n\\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\\n\\treflectedLight.indirectSpecular += radiance * singleScattering;\\n\\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\\n\\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Physical\\n#define RE_Direct_RectArea\\t\\tRE_Direct_RectArea_Physical\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Physical\\n#define RE_IndirectSpecular\\t\\tRE_IndirectSpecular_Physical\\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\\n\\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\\n}\";var $s=\"\\nvec3 geometryPosition = - vViewPosition;\\nvec3 geometryNormal = normal;\\nvec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\\nvec3 geometryClearcoatNormal = vec3( 0.0 );\\n#ifdef USE_CLEARCOAT\\n\\tgeometryClearcoatNormal = clearcoatNormal;\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\\tfloat dotNVi = saturate( dot( normal, geometryViewDir ) );\\n\\tif ( material.iridescenceThickness == 0.0 ) {\\n\\t\\tmaterial.iridescence = 0.0;\\n\\t} else {\\n\\t\\tmaterial.iridescence = saturate( material.iridescence );\\n\\t}\\n\\tif ( material.iridescence > 0.0 ) {\\n\\t\\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\\n\\t\\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\\n\\t}\\n#endif\\nIncidentLight directLight;\\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tPointLight pointLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tgetPointLightInfo( pointLight, geometryPosition, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\\n\\t\\tpointLightShadow = pointLightShadows[ i ];\\n\\t\\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowIntensity, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tSpotLight spotLight;\\n\\tvec4 spotColor;\\n\\tvec3 spotLightCoord;\\n\\tbool inSpotLightMap;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tgetSpotLightInfo( spotLight, geometryPosition, directLight );\\n\\t\\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\\n\\t\\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\\n\\t\\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\\n\\t\\t#else\\n\\t\\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\\n\\t\\t#endif\\n\\t\\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\\n\\t\\t\\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\\n\\t\\t\\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\\n\\t\\t\\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\\n\\t\\t\\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\\n\\t\\t#endif\\n\\t\\t#undef SPOT_LIGHT_MAP_INDEX\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\tspotLightShadow = spotLightShadows[ i ];\\n\\t\\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowIntensity, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tDirectionalLight directionalLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tgetDirectionalLightInfo( directionalLight, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\\n\\t\\tdirectionalLightShadow = directionalLightShadows[ i ];\\n\\t\\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowIntensity, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\\n\\tRectAreaLight rectAreaLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\\n\\t\\trectAreaLight = rectAreaLights[ i ];\\n\\t\\tRE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if defined( RE_IndirectDiffuse )\\n\\tvec3 iblIrradiance = vec3( 0.0 );\\n\\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\\n\\t#if defined( USE_LIGHT_PROBES )\\n\\t\\tirradiance += getLightProbeIrradiance( lightProbe, geometryNormal );\\n\\t#endif\\n\\t#if ( NUM_HEMI_LIGHTS > 0 )\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\t\\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal );\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tvec3 radiance = vec3( 0.0 );\\n\\tvec3 clearcoatRadiance = vec3( 0.0 );\\n#endif\";var ta=\"#if defined( RE_IndirectDiffuse )\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\\n\\t\\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\\n\\t\\tirradiance += lightMapIrradiance;\\n\\t#endif\\n\\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tiblIrradiance += getIBLIrradiance( geometryNormal );\\n\\t#endif\\n#endif\\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\\n\\t#ifdef USE_ANISOTROPY\\n\\t\\tradiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy );\\n\\t#else\\n\\t\\tradiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness );\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tclearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness );\\n\\t#endif\\n#endif\";var ea=\"#if defined( RE_IndirectDiffuse )\\n\\tRE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\\n#endif\";var na=\"#if defined( USE_LOGDEPTHBUF )\\n\\tgl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\\n#endif\";var ia=\"#if defined( USE_LOGDEPTHBUF )\\n\\tuniform float logDepthBufFC;\\n\\tvarying float vFragDepth;\\n\\tvarying float vIsPerspective;\\n#endif\";var ra=\"#ifdef USE_LOGDEPTHBUF\\n\\tvarying float vFragDepth;\\n\\tvarying float vIsPerspective;\\n#endif\";var sa=\"#ifdef USE_LOGDEPTHBUF\\n\\tvFragDepth = 1.0 + gl_Position.w;\\n\\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\\n#endif\";var aa=\"#ifdef USE_MAP\\n\\tvec4 sampledDiffuseColor = texture2D( map, vMapUv );\\n\\t#ifdef DECODE_VIDEO_TEXTURE\\n\\t\\tsampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );\\n\\t\\n\\t#endif\\n\\tdiffuseColor *= sampledDiffuseColor;\\n#endif\";var oa=\"#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\";var la=\"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\\t#if defined( USE_POINTS_UV )\\n\\t\\tvec2 uv = vUv;\\n\\t#else\\n\\t\\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\\n\\t#endif\\n#endif\\n#ifdef USE_MAP\\n\\tdiffuseColor *= texture2D( map, uv );\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\\n#endif\";var ca=\"#if defined( USE_POINTS_UV )\\n\\tvarying vec2 vUv;\\n#else\\n\\t#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\\t\\tuniform mat3 uvTransform;\\n\\t#endif\\n#endif\\n#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tuniform sampler2D alphaMap;\\n#endif\";var ha=\"float metalnessFactor = metalness;\\n#ifdef USE_METALNESSMAP\\n\\tvec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );\\n\\tmetalnessFactor *= texelMetalness.b;\\n#endif\";var ua=\"#ifdef USE_METALNESSMAP\\n\\tuniform sampler2D metalnessMap;\\n#endif\";var da=\"#ifdef USE_INSTANCING_MORPH\\n\\tfloat morphTargetInfluences[ MORPHTARGETS_COUNT ];\\n\\tfloat morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r;\\n\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\tmorphTargetInfluences[i] =  texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r;\\n\\t}\\n#endif\";var pa=\"#if defined( USE_MORPHCOLORS )\\n\\tvColor *= morphTargetBaseInfluence;\\n\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\t#if defined( USE_COLOR_ALPHA )\\n\\t\\t\\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\\n\\t\\t#elif defined( USE_COLOR )\\n\\t\\t\\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\\n\\t\\t#endif\\n\\t}\\n#endif\";var fa=\"#ifdef USE_MORPHNORMALS\\n\\tobjectNormal *= morphTargetBaseInfluence;\\n\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\\n\\t}\\n#endif\";var ma=\"#ifdef USE_MORPHTARGETS\\n\\t#ifndef USE_INSTANCING_MORPH\\n\\t\\tuniform float morphTargetBaseInfluence;\\n\\t\\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\\n\\t#endif\\n\\tuniform sampler2DArray morphTargetsTexture;\\n\\tuniform ivec2 morphTargetsTextureSize;\\n\\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\\n\\t\\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\\n\\t\\tint y = texelIndex / morphTargetsTextureSize.x;\\n\\t\\tint x = texelIndex - y * morphTargetsTextureSize.x;\\n\\t\\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\\n\\t\\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\\n\\t}\\n#endif\";var ga=\"#ifdef USE_MORPHTARGETS\\n\\ttransformed *= morphTargetBaseInfluence;\\n\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\\n\\t}\\n#endif\";var va=\"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\\n#ifdef FLAT_SHADED\\n\\tvec3 fdx = dFdx( vViewPosition );\\n\\tvec3 fdy = dFdy( vViewPosition );\\n\\tvec3 normal = normalize( cross( fdx, fdy ) );\\n#else\\n\\tvec3 normal = normalize( vNormal );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal *= faceDirection;\\n\\t#endif\\n#endif\\n#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )\\n\\t#ifdef USE_TANGENT\\n\\t\\tmat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\\n\\t#else\\n\\t\\tmat3 tbn = getTangentFrame( - vViewPosition, normal,\\n\\t\\t#if defined( USE_NORMALMAP )\\n\\t\\t\\tvNormalMapUv\\n\\t\\t#elif defined( USE_CLEARCOAT_NORMALMAP )\\n\\t\\t\\tvClearcoatNormalMapUv\\n\\t\\t#else\\n\\t\\t\\tvUv\\n\\t\\t#endif\\n\\t\\t);\\n\\t#endif\\n\\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\\n\\t\\ttbn[0] *= faceDirection;\\n\\t\\ttbn[1] *= faceDirection;\\n\\t#endif\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\t#ifdef USE_TANGENT\\n\\t\\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\\n\\t#else\\n\\t\\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\\n\\t#endif\\n\\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\\n\\t\\ttbn2[0] *= faceDirection;\\n\\t\\ttbn2[1] *= faceDirection;\\n\\t#endif\\n#endif\\nvec3 nonPerturbedNormal = normal;\";var _a=\"#ifdef USE_NORMALMAP_OBJECTSPACE\\n\\tnormal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\\n\\t#ifdef FLIP_SIDED\\n\\t\\tnormal = - normal;\\n\\t#endif\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal = normal * faceDirection;\\n\\t#endif\\n\\tnormal = normalize( normalMatrix * normal );\\n#elif defined( USE_NORMALMAP_TANGENTSPACE )\\n\\tvec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\\n\\tmapN.xy *= normalScale;\\n\\tnormal = normalize( tbn * mapN );\\n#elif defined( USE_BUMPMAP )\\n\\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\\n#endif\";var xa=\"#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\";var ya=\"#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\";var Ma=\"#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n\\t#ifdef USE_TANGENT\\n\\t\\tvTangent = normalize( transformedTangent );\\n\\t\\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\\n\\t#endif\\n#endif\";var Sa=\"#ifdef USE_NORMALMAP\\n\\tuniform sampler2D normalMap;\\n\\tuniform vec2 normalScale;\\n#endif\\n#ifdef USE_NORMALMAP_OBJECTSPACE\\n\\tuniform mat3 normalMatrix;\\n#endif\\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) )\\n\\tmat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\\n\\t\\tvec3 q0 = dFdx( eye_pos.xyz );\\n\\t\\tvec3 q1 = dFdy( eye_pos.xyz );\\n\\t\\tvec2 st0 = dFdx( uv.st );\\n\\t\\tvec2 st1 = dFdy( uv.st );\\n\\t\\tvec3 N = surf_norm;\\n\\t\\tvec3 q1perp = cross( q1, N );\\n\\t\\tvec3 q0perp = cross( N, q0 );\\n\\t\\tvec3 T = q1perp * st0.x + q0perp * st1.x;\\n\\t\\tvec3 B = q1perp * st0.y + q0perp * st1.y;\\n\\t\\tfloat det = max( dot( T, T ), dot( B, B ) );\\n\\t\\tfloat scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );\\n\\t\\treturn mat3( T * scale, B * scale, N );\\n\\t}\\n#endif\";var ba=\"#ifdef USE_CLEARCOAT\\n\\tvec3 clearcoatNormal = nonPerturbedNormal;\\n#endif\";var Ta=\"#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\\n\\tclearcoatMapN.xy *= clearcoatNormalScale;\\n\\tclearcoatNormal = normalize( tbn2 * clearcoatMapN );\\n#endif\";var wa=\"#ifdef USE_CLEARCOATMAP\\n\\tuniform sampler2D clearcoatMap;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tuniform sampler2D clearcoatNormalMap;\\n\\tuniform vec2 clearcoatNormalScale;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tuniform sampler2D clearcoatRoughnessMap;\\n#endif\";var Ea=\"#ifdef USE_IRIDESCENCEMAP\\n\\tuniform sampler2D iridescenceMap;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\tuniform sampler2D iridescenceThicknessMap;\\n#endif\";var Aa=\"#ifdef OPAQUE\\ndiffuseColor.a = 1.0;\\n#endif\\n#ifdef USE_TRANSMISSION\\ndiffuseColor.a *= material.transmissionAlpha;\\n#endif\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\";var Ca=\"vec3 packNormalToRGB( const in vec3 normal ) {\\n\\treturn normalize( normal ) * 0.5 + 0.5;\\n}\\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\\n\\treturn 2.0 * rgb.xyz - 1.0;\\n}\\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\\nconst float ShiftRight8 = 1. / 256.;\\nvec4 packDepthToRGBA( const in float v ) {\\n\\tvec4 r = vec4( fract( v * PackFactors ), v );\\n\\tr.yzw -= r.xyz * ShiftRight8;\\treturn r * PackUpscale;\\n}\\nfloat unpackRGBAToDepth( const in vec4 v ) {\\n\\treturn dot( v, UnpackFactors );\\n}\\nvec2 packDepthToRG( in highp float v ) {\\n\\treturn packDepthToRGBA( v ).yx;\\n}\\nfloat unpackRGToDepth( const in highp vec2 v ) {\\n\\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\\n}\\nvec4 pack2HalfToRGBA( vec2 v ) {\\n\\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\\n\\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\\n}\\nvec2 unpackRGBATo2Half( vec4 v ) {\\n\\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\\n}\\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( viewZ + near ) / ( near - far );\\n}\\nfloat orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) {\\n\\treturn depth * ( near - far ) - near;\\n}\\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\\n}\\nfloat perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {\\n\\treturn ( near * far ) / ( ( far - near ) * depth - far );\\n}\";var Ra=\"#ifdef PREMULTIPLIED_ALPHA\\n\\tgl_FragColor.rgb *= gl_FragColor.a;\\n#endif\";var Pa=\"vec4 mvPosition = vec4( transformed, 1.0 );\\n#ifdef USE_BATCHING\\n\\tmvPosition = batchingMatrix * mvPosition;\\n#endif\\n#ifdef USE_INSTANCING\\n\\tmvPosition = instanceMatrix * mvPosition;\\n#endif\\nmvPosition = modelViewMatrix * mvPosition;\\ngl_Position = projectionMatrix * mvPosition;\";var La=\"#ifdef DITHERING\\n\\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\\n#endif\";var Ia=\"#ifdef DITHERING\\n\\tvec3 dithering( vec3 color ) {\\n\\t\\tfloat grid_position = rand( gl_FragCoord.xy );\\n\\t\\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\\n\\t\\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\\n\\t\\treturn color + dither_shift_RGB;\\n\\t}\\n#endif\";var Ua=\"float roughnessFactor = roughness;\\n#ifdef USE_ROUGHNESSMAP\\n\\tvec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );\\n\\troughnessFactor *= texelRoughness.g;\\n#endif\";var Da=\"#ifdef USE_ROUGHNESSMAP\\n\\tuniform sampler2D roughnessMap;\\n#endif\";var Na=\"#if NUM_SPOT_LIGHT_COORDS > 0\\n\\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\\n#endif\\n#if NUM_SPOT_LIGHT_MAPS > 0\\n\\tuniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\\n#endif\\n#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat shadowIntensity;\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tstruct SpotLightShadow {\\n\\t\\t\\tfloat shadowIntensity;\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tstruct PointLightShadow {\\n\\t\\t\\tfloat shadowIntensity;\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t\\tfloat shadowCameraNear;\\n\\t\\t\\tfloat shadowCameraFar;\\n\\t\\t};\\n\\t\\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\\n\\t\\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\\n\\t}\\n\\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\\n\\t\\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\\n\\t}\\n\\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\\n\\t\\tfloat occlusion = 1.0;\\n\\t\\tvec2 distribution = texture2DDistribution( shadow, uv );\\n\\t\\tfloat hard_shadow = step( compare , distribution.x );\\n\\t\\tif (hard_shadow != 1.0 ) {\\n\\t\\t\\tfloat distance = compare - distribution.x ;\\n\\t\\t\\tfloat variance = max( 0.00000, distribution.y * distribution.y );\\n\\t\\t\\tfloat softness_probability = variance / (variance + distance * distance );\\t\\t\\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\\t\\t\\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\\n\\t\\t}\\n\\t\\treturn occlusion;\\n\\t}\\n\\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tfloat shadow = 1.0;\\n\\t\\tshadowCoord.xyz /= shadowCoord.w;\\n\\t\\tshadowCoord.z += shadowBias;\\n\\t\\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\\n\\t\\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\\n\\t\\tif ( frustumTest ) {\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx2 = dx0 / 2.0;\\n\\t\\t\\tfloat dy2 = dy0 / 2.0;\\n\\t\\t\\tfloat dx3 = dx1 / 2.0;\\n\\t\\t\\tfloat dy3 = dy1 / 2.0;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 17.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx = texelSize.x;\\n\\t\\t\\tfloat dy = texelSize.y;\\n\\t\\t\\tvec2 uv = shadowCoord.xy;\\n\\t\\t\\tvec2 f = fract( uv * shadowMapSize + 0.5 );\\n\\t\\t\\tuv -= f * texelSize;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t  f.x ),\\n\\t\\t\\t\\t\\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t  f.x ),\\n\\t\\t\\t\\t\\t f.y )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#else\\n\\t\\t\\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn mix( 1.0, shadow, shadowIntensity );\\n\\t}\\n\\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\\n\\t\\tvec3 absV = abs( v );\\n\\t\\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\\n\\t\\tabsV *= scaleToCube;\\n\\t\\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\\n\\t\\tvec2 planar = v.xy;\\n\\t\\tfloat almostATexel = 1.5 * texelSizeY;\\n\\t\\tfloat almostOne = 1.0 - almostATexel;\\n\\t\\tif ( absV.z >= almostOne ) {\\n\\t\\t\\tif ( v.z > 0.0 )\\n\\t\\t\\t\\tplanar.x = 4.0 - v.x;\\n\\t\\t} else if ( absV.x >= almostOne ) {\\n\\t\\t\\tfloat signX = sign( v.x );\\n\\t\\t\\tplanar.x = v.z * signX + 2.0 * signX;\\n\\t\\t} else if ( absV.y >= almostOne ) {\\n\\t\\t\\tfloat signY = sign( v.y );\\n\\t\\t\\tplanar.x = v.x + 2.0 * signY + 2.0;\\n\\t\\t\\tplanar.y = v.z * signY - 2.0;\\n\\t\\t}\\n\\t\\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\\n\\t}\\n\\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\\n\\t\\tfloat shadow = 1.0;\\n\\t\\tvec3 lightToPosition = shadowCoord.xyz;\\n\\t\\t\\n\\t\\tfloat lightToPositionLength = length( lightToPosition );\\n\\t\\tif ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) {\\n\\t\\t\\tfloat dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\\t\\t\\tdp += shadowBias;\\n\\t\\t\\tvec3 bd3D = normalize( lightToPosition );\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\\n\\t\\t\\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\t\\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\\n\\t\\t\\t\\tshadow = (\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\\n\\t\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tshadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\\n\\t\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn mix( 1.0, shadow, shadowIntensity );\\n\\t}\\n#endif\";var Ba=\"#if NUM_SPOT_LIGHT_COORDS > 0\\n\\tuniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\\n\\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\\n#endif\\n#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat shadowIntensity;\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t\\tstruct SpotLightShadow {\\n\\t\\t\\tfloat shadowIntensity;\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tstruct PointLightShadow {\\n\\t\\t\\tfloat shadowIntensity;\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t\\tfloat shadowCameraNear;\\n\\t\\t\\tfloat shadowCameraFar;\\n\\t\\t};\\n\\t\\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t#endif\\n#endif\";var Oa=\"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\\n\\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\tvec4 shadowWorldPosition;\\n#endif\\n#if defined( USE_SHADOWMAP )\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\t\\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\t\\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\\n#if NUM_SPOT_LIGHT_COORDS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition;\\n\\t\\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\t\\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\\n\\t\\t#endif\\n\\t\\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\";var Va=\"float getShadowMask() {\\n\\tfloat shadow = 1.0;\\n\\t#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowIntensity, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tspotLight = spotLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowIntensity, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tpointLight = pointLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowIntensity, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#endif\\n\\treturn shadow;\\n}\";var Fa=\"#ifdef USE_SKINNING\\n\\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\\n\\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\\n\\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\\n\\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\\n#endif\";var za=\"#ifdef USE_SKINNING\\n\\tuniform mat4 bindMatrix;\\n\\tuniform mat4 bindMatrixInverse;\\n\\tuniform highp sampler2D boneTexture;\\n\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\tint size = textureSize( boneTexture, 0 ).x;\\n\\t\\tint j = int( i ) * 4;\\n\\t\\tint x = j % size;\\n\\t\\tint y = j / size;\\n\\t\\tvec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 );\\n\\t\\tvec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 );\\n\\t\\tvec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 );\\n\\t\\tvec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 );\\n\\t\\treturn mat4( v1, v2, v3, v4 );\\n\\t}\\n#endif\";var Ga=\"#ifdef USE_SKINNING\\n\\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\\n\\tvec4 skinned = vec4( 0.0 );\\n\\tskinned += boneMatX * skinVertex * skinWeight.x;\\n\\tskinned += boneMatY * skinVertex * skinWeight.y;\\n\\tskinned += boneMatZ * skinVertex * skinWeight.z;\\n\\tskinned += boneMatW * skinVertex * skinWeight.w;\\n\\ttransformed = ( bindMatrixInverse * skinned ).xyz;\\n#endif\";var ka=\"#ifdef USE_SKINNING\\n\\tmat4 skinMatrix = mat4( 0.0 );\\n\\tskinMatrix += skinWeight.x * boneMatX;\\n\\tskinMatrix += skinWeight.y * boneMatY;\\n\\tskinMatrix += skinWeight.z * boneMatZ;\\n\\tskinMatrix += skinWeight.w * boneMatW;\\n\\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\\n\\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\\n\\t#ifdef USE_TANGENT\\n\\t\\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\\n\\t#endif\\n#endif\";var Ha=\"float specularStrength;\\n#ifdef USE_SPECULARMAP\\n\\tvec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );\\n\\tspecularStrength = texelSpecular.r;\\n#else\\n\\tspecularStrength = 1.0;\\n#endif\";var Wa=\"#ifdef USE_SPECULARMAP\\n\\tuniform sampler2D specularMap;\\n#endif\";var Xa=\"#if defined( TONE_MAPPING )\\n\\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\\n#endif\";var ja=\"#ifndef saturate\\n#define saturate( a ) clamp( a, 0.0, 1.0 )\\n#endif\\nuniform float toneMappingExposure;\\nvec3 LinearToneMapping( vec3 color ) {\\n\\treturn saturate( toneMappingExposure * color );\\n}\\nvec3 ReinhardToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\treturn saturate( color / ( vec3( 1.0 ) + color ) );\\n}\\nvec3 OptimizedCineonToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\tcolor = max( vec3( 0.0 ), color - 0.004 );\\n\\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\\n}\\nvec3 RRTAndODTFit( vec3 v ) {\\n\\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\\n\\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\\n\\treturn a / b;\\n}\\nvec3 ACESFilmicToneMapping( vec3 color ) {\\n\\tconst mat3 ACESInputMat = mat3(\\n\\t\\tvec3( 0.59719, 0.07600, 0.02840 ),\\t\\tvec3( 0.35458, 0.90834, 0.13383 ),\\n\\t\\tvec3( 0.04823, 0.01566, 0.83777 )\\n\\t);\\n\\tconst mat3 ACESOutputMat = mat3(\\n\\t\\tvec3(  1.60475, -0.10208, -0.00327 ),\\t\\tvec3( -0.53108,  1.10813, -0.07276 ),\\n\\t\\tvec3( -0.07367, -0.00605,  1.07602 )\\n\\t);\\n\\tcolor *= toneMappingExposure / 0.6;\\n\\tcolor = ACESInputMat * color;\\n\\tcolor = RRTAndODTFit( color );\\n\\tcolor = ACESOutputMat * color;\\n\\treturn saturate( color );\\n}\\nconst mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3(\\n\\tvec3( 1.6605, - 0.1246, - 0.0182 ),\\n\\tvec3( - 0.5876, 1.1329, - 0.1006 ),\\n\\tvec3( - 0.0728, - 0.0083, 1.1187 )\\n);\\nconst mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3(\\n\\tvec3( 0.6274, 0.0691, 0.0164 ),\\n\\tvec3( 0.3293, 0.9195, 0.0880 ),\\n\\tvec3( 0.0433, 0.0113, 0.8956 )\\n);\\nvec3 agxDefaultContrastApprox( vec3 x ) {\\n\\tvec3 x2 = x * x;\\n\\tvec3 x4 = x2 * x2;\\n\\treturn + 15.5 * x4 * x2\\n\\t\\t- 40.14 * x4 * x\\n\\t\\t+ 31.96 * x4\\n\\t\\t- 6.868 * x2 * x\\n\\t\\t+ 0.4298 * x2\\n\\t\\t+ 0.1191 * x\\n\\t\\t- 0.00232;\\n}\\nvec3 AgXToneMapping( vec3 color ) {\\n\\tconst mat3 AgXInsetMatrix = mat3(\\n\\t\\tvec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ),\\n\\t\\tvec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ),\\n\\t\\tvec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 )\\n\\t);\\n\\tconst mat3 AgXOutsetMatrix = mat3(\\n\\t\\tvec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ),\\n\\t\\tvec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ),\\n\\t\\tvec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 )\\n\\t);\\n\\tconst float AgxMinEv = - 12.47393;\\tconst float AgxMaxEv = 4.026069;\\n\\tcolor *= toneMappingExposure;\\n\\tcolor = LINEAR_SRGB_TO_LINEAR_REC2020 * color;\\n\\tcolor = AgXInsetMatrix * color;\\n\\tcolor = max( color, 1e-10 );\\tcolor = log2( color );\\n\\tcolor = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv );\\n\\tcolor = clamp( color, 0.0, 1.0 );\\n\\tcolor = agxDefaultContrastApprox( color );\\n\\tcolor = AgXOutsetMatrix * color;\\n\\tcolor = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) );\\n\\tcolor = LINEAR_REC2020_TO_LINEAR_SRGB * color;\\n\\tcolor = clamp( color, 0.0, 1.0 );\\n\\treturn color;\\n}\\nvec3 NeutralToneMapping( vec3 color ) {\\n\\tconst float StartCompression = 0.8 - 0.04;\\n\\tconst float Desaturation = 0.15;\\n\\tcolor *= toneMappingExposure;\\n\\tfloat x = min( color.r, min( color.g, color.b ) );\\n\\tfloat offset = x < 0.08 ? x - 6.25 * x * x : 0.04;\\n\\tcolor -= offset;\\n\\tfloat peak = max( color.r, max( color.g, color.b ) );\\n\\tif ( peak < StartCompression ) return color;\\n\\tfloat d = 1. - StartCompression;\\n\\tfloat newPeak = 1. - d * d / ( peak + d - StartCompression );\\n\\tcolor *= newPeak / peak;\\n\\tfloat g = 1. - 1. / ( Desaturation * ( peak - newPeak ) + 1. );\\n\\treturn mix( color, vec3( newPeak ), g );\\n}\\nvec3 CustomToneMapping( vec3 color ) { return color; }\";var qa=\"#ifdef USE_TRANSMISSION\\n\\tmaterial.transmission = transmission;\\n\\tmaterial.transmissionAlpha = 1.0;\\n\\tmaterial.thickness = thickness;\\n\\tmaterial.attenuationDistance = attenuationDistance;\\n\\tmaterial.attenuationColor = attenuationColor;\\n\\t#ifdef USE_TRANSMISSIONMAP\\n\\t\\tmaterial.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\\n\\t#endif\\n\\t#ifdef USE_THICKNESSMAP\\n\\t\\tmaterial.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\\n\\t#endif\\n\\tvec3 pos = vWorldPosition;\\n\\tvec3 v = normalize( cameraPosition - pos );\\n\\tvec3 n = inverseTransformDirection( normal, viewMatrix );\\n\\tvec4 transmitted = getIBLVolumeRefraction(\\n\\t\\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\\n\\t\\tpos, modelMatrix, viewMatrix, projectionMatrix, material.dispersion, material.ior, material.thickness,\\n\\t\\tmaterial.attenuationColor, material.attenuationDistance );\\n\\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );\\n\\ttotalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission );\\n#endif\";var Ya=\"#ifdef USE_TRANSMISSION\\n\\tuniform float transmission;\\n\\tuniform float thickness;\\n\\tuniform float attenuationDistance;\\n\\tuniform vec3 attenuationColor;\\n\\t#ifdef USE_TRANSMISSIONMAP\\n\\t\\tuniform sampler2D transmissionMap;\\n\\t#endif\\n\\t#ifdef USE_THICKNESSMAP\\n\\t\\tuniform sampler2D thicknessMap;\\n\\t#endif\\n\\tuniform vec2 transmissionSamplerSize;\\n\\tuniform sampler2D transmissionSamplerMap;\\n\\tuniform mat4 modelMatrix;\\n\\tuniform mat4 projectionMatrix;\\n\\tvarying vec3 vWorldPosition;\\n\\tfloat w0( float a ) {\\n\\t\\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\\n\\t}\\n\\tfloat w1( float a ) {\\n\\t\\treturn ( 1.0 / 6.0 ) * ( a *  a * ( 3.0 * a - 6.0 ) + 4.0 );\\n\\t}\\n\\tfloat w2( float a ){\\n\\t\\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\\n\\t}\\n\\tfloat w3( float a ) {\\n\\t\\treturn ( 1.0 / 6.0 ) * ( a * a * a );\\n\\t}\\n\\tfloat g0( float a ) {\\n\\t\\treturn w0( a ) + w1( a );\\n\\t}\\n\\tfloat g1( float a ) {\\n\\t\\treturn w2( a ) + w3( a );\\n\\t}\\n\\tfloat h0( float a ) {\\n\\t\\treturn - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\\n\\t}\\n\\tfloat h1( float a ) {\\n\\t\\treturn 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\\n\\t}\\n\\tvec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {\\n\\t\\tuv = uv * texelSize.zw + 0.5;\\n\\t\\tvec2 iuv = floor( uv );\\n\\t\\tvec2 fuv = fract( uv );\\n\\t\\tfloat g0x = g0( fuv.x );\\n\\t\\tfloat g1x = g1( fuv.x );\\n\\t\\tfloat h0x = h0( fuv.x );\\n\\t\\tfloat h1x = h1( fuv.x );\\n\\t\\tfloat h0y = h0( fuv.y );\\n\\t\\tfloat h1y = h1( fuv.y );\\n\\t\\tvec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\\n\\t\\tvec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\\n\\t\\tvec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\\n\\t\\tvec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\\n\\t\\treturn g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\\n\\t\\t\\tg1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\\n\\t}\\n\\tvec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\\n\\t\\tvec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\\n\\t\\tvec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\\n\\t\\tvec2 fLodSizeInv = 1.0 / fLodSize;\\n\\t\\tvec2 cLodSizeInv = 1.0 / cLodSize;\\n\\t\\tvec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );\\n\\t\\tvec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );\\n\\t\\treturn mix( fSample, cSample, fract( lod ) );\\n\\t}\\n\\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\\n\\t\\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\\n\\t\\tvec3 modelScale;\\n\\t\\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\\n\\t\\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\\n\\t\\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\\n\\t\\treturn normalize( refractionVector ) * thickness * modelScale;\\n\\t}\\n\\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\\n\\t\\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\\n\\t}\\n\\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\\n\\t\\tfloat lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\\n\\t\\treturn textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\\n\\t}\\n\\tvec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\\n\\t\\tif ( isinf( attenuationDistance ) ) {\\n\\t\\t\\treturn vec3( 1.0 );\\n\\t\\t} else {\\n\\t\\t\\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\\n\\t\\t\\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\\t\\t\\treturn transmittance;\\n\\t\\t}\\n\\t}\\n\\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\\n\\t\\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\\n\\t\\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float dispersion, const in float ior, const in float thickness,\\n\\t\\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\\n\\t\\tvec4 transmittedLight;\\n\\t\\tvec3 transmittance;\\n\\t\\t#ifdef USE_DISPERSION\\n\\t\\t\\tfloat halfSpread = ( ior - 1.0 ) * 0.025 * dispersion;\\n\\t\\t\\tvec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread );\\n\\t\\t\\tfor ( int i = 0; i < 3; i ++ ) {\\n\\t\\t\\t\\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix );\\n\\t\\t\\t\\tvec3 refractedRayExit = position + transmissionRay;\\n\\t\\t\\n\\t\\t\\t\\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\\n\\t\\t\\t\\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\\n\\t\\t\\t\\trefractionCoords += 1.0;\\n\\t\\t\\t\\trefractionCoords /= 2.0;\\n\\t\\t\\n\\t\\t\\t\\tvec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] );\\n\\t\\t\\t\\ttransmittedLight[ i ] = transmissionSample[ i ];\\n\\t\\t\\t\\ttransmittedLight.a += transmissionSample.a;\\n\\t\\t\\t\\ttransmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ];\\n\\t\\t\\t}\\n\\t\\t\\ttransmittedLight.a /= 3.0;\\n\\t\\t\\n\\t\\t#else\\n\\t\\t\\n\\t\\t\\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\\n\\t\\t\\tvec3 refractedRayExit = position + transmissionRay;\\n\\t\\t\\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\\n\\t\\t\\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\\n\\t\\t\\trefractionCoords += 1.0;\\n\\t\\t\\trefractionCoords /= 2.0;\\n\\t\\t\\ttransmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\\n\\t\\t\\ttransmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance );\\n\\t\\t\\n\\t\\t#endif\\n\\t\\tvec3 attenuatedColor = transmittance * transmittedLight.rgb;\\n\\t\\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\\n\\t\\tfloat transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0;\\n\\t\\treturn vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor );\\n\\t}\\n#endif\";var Ka=\"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\\n\\tvarying vec2 vUv;\\n#endif\\n#ifdef USE_MAP\\n\\tvarying vec2 vMapUv;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tvarying vec2 vAlphaMapUv;\\n#endif\\n#ifdef USE_LIGHTMAP\\n\\tvarying vec2 vLightMapUv;\\n#endif\\n#ifdef USE_AOMAP\\n\\tvarying vec2 vAoMapUv;\\n#endif\\n#ifdef USE_BUMPMAP\\n\\tvarying vec2 vBumpMapUv;\\n#endif\\n#ifdef USE_NORMALMAP\\n\\tvarying vec2 vNormalMapUv;\\n#endif\\n#ifdef USE_EMISSIVEMAP\\n\\tvarying vec2 vEmissiveMapUv;\\n#endif\\n#ifdef USE_METALNESSMAP\\n\\tvarying vec2 vMetalnessMapUv;\\n#endif\\n#ifdef USE_ROUGHNESSMAP\\n\\tvarying vec2 vRoughnessMapUv;\\n#endif\\n#ifdef USE_ANISOTROPYMAP\\n\\tvarying vec2 vAnisotropyMapUv;\\n#endif\\n#ifdef USE_CLEARCOATMAP\\n\\tvarying vec2 vClearcoatMapUv;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tvarying vec2 vClearcoatNormalMapUv;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tvarying vec2 vClearcoatRoughnessMapUv;\\n#endif\\n#ifdef USE_IRIDESCENCEMAP\\n\\tvarying vec2 vIridescenceMapUv;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\tvarying vec2 vIridescenceThicknessMapUv;\\n#endif\\n#ifdef USE_SHEEN_COLORMAP\\n\\tvarying vec2 vSheenColorMapUv;\\n#endif\\n#ifdef USE_SHEEN_ROUGHNESSMAP\\n\\tvarying vec2 vSheenRoughnessMapUv;\\n#endif\\n#ifdef USE_SPECULARMAP\\n\\tvarying vec2 vSpecularMapUv;\\n#endif\\n#ifdef USE_SPECULAR_COLORMAP\\n\\tvarying vec2 vSpecularColorMapUv;\\n#endif\\n#ifdef USE_SPECULAR_INTENSITYMAP\\n\\tvarying vec2 vSpecularIntensityMapUv;\\n#endif\\n#ifdef USE_TRANSMISSIONMAP\\n\\tuniform mat3 transmissionMapTransform;\\n\\tvarying vec2 vTransmissionMapUv;\\n#endif\\n#ifdef USE_THICKNESSMAP\\n\\tuniform mat3 thicknessMapTransform;\\n\\tvarying vec2 vThicknessMapUv;\\n#endif\";var Za=\"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\\n\\tvarying vec2 vUv;\\n#endif\\n#ifdef USE_MAP\\n\\tuniform mat3 mapTransform;\\n\\tvarying vec2 vMapUv;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tuniform mat3 alphaMapTransform;\\n\\tvarying vec2 vAlphaMapUv;\\n#endif\\n#ifdef USE_LIGHTMAP\\n\\tuniform mat3 lightMapTransform;\\n\\tvarying vec2 vLightMapUv;\\n#endif\\n#ifdef USE_AOMAP\\n\\tuniform mat3 aoMapTransform;\\n\\tvarying vec2 vAoMapUv;\\n#endif\\n#ifdef USE_BUMPMAP\\n\\tuniform mat3 bumpMapTransform;\\n\\tvarying vec2 vBumpMapUv;\\n#endif\\n#ifdef USE_NORMALMAP\\n\\tuniform mat3 normalMapTransform;\\n\\tvarying vec2 vNormalMapUv;\\n#endif\\n#ifdef USE_DISPLACEMENTMAP\\n\\tuniform mat3 displacementMapTransform;\\n\\tvarying vec2 vDisplacementMapUv;\\n#endif\\n#ifdef USE_EMISSIVEMAP\\n\\tuniform mat3 emissiveMapTransform;\\n\\tvarying vec2 vEmissiveMapUv;\\n#endif\\n#ifdef USE_METALNESSMAP\\n\\tuniform mat3 metalnessMapTransform;\\n\\tvarying vec2 vMetalnessMapUv;\\n#endif\\n#ifdef USE_ROUGHNESSMAP\\n\\tuniform mat3 roughnessMapTransform;\\n\\tvarying vec2 vRoughnessMapUv;\\n#endif\\n#ifdef USE_ANISOTROPYMAP\\n\\tuniform mat3 anisotropyMapTransform;\\n\\tvarying vec2 vAnisotropyMapUv;\\n#endif\\n#ifdef USE_CLEARCOATMAP\\n\\tuniform mat3 clearcoatMapTransform;\\n\\tvarying vec2 vClearcoatMapUv;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tuniform mat3 clearcoatNormalMapTransform;\\n\\tvarying vec2 vClearcoatNormalMapUv;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tuniform mat3 clearcoatRoughnessMapTransform;\\n\\tvarying vec2 vClearcoatRoughnessMapUv;\\n#endif\\n#ifdef USE_SHEEN_COLORMAP\\n\\tuniform mat3 sheenColorMapTransform;\\n\\tvarying vec2 vSheenColorMapUv;\\n#endif\\n#ifdef USE_SHEEN_ROUGHNESSMAP\\n\\tuniform mat3 sheenRoughnessMapTransform;\\n\\tvarying vec2 vSheenRoughnessMapUv;\\n#endif\\n#ifdef USE_IRIDESCENCEMAP\\n\\tuniform mat3 iridescenceMapTransform;\\n\\tvarying vec2 vIridescenceMapUv;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\tuniform mat3 iridescenceThicknessMapTransform;\\n\\tvarying vec2 vIridescenceThicknessMapUv;\\n#endif\\n#ifdef USE_SPECULARMAP\\n\\tuniform mat3 specularMapTransform;\\n\\tvarying vec2 vSpecularMapUv;\\n#endif\\n#ifdef USE_SPECULAR_COLORMAP\\n\\tuniform mat3 specularColorMapTransform;\\n\\tvarying vec2 vSpecularColorMapUv;\\n#endif\\n#ifdef USE_SPECULAR_INTENSITYMAP\\n\\tuniform mat3 specularIntensityMapTransform;\\n\\tvarying vec2 vSpecularIntensityMapUv;\\n#endif\\n#ifdef USE_TRANSMISSIONMAP\\n\\tuniform mat3 transmissionMapTransform;\\n\\tvarying vec2 vTransmissionMapUv;\\n#endif\\n#ifdef USE_THICKNESSMAP\\n\\tuniform mat3 thicknessMapTransform;\\n\\tvarying vec2 vThicknessMapUv;\\n#endif\";var Ja=\"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\\n\\tvUv = vec3( uv, 1 ).xy;\\n#endif\\n#ifdef USE_MAP\\n\\tvMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tvAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_LIGHTMAP\\n\\tvLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_AOMAP\\n\\tvAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_BUMPMAP\\n\\tvBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_NORMALMAP\\n\\tvNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_DISPLACEMENTMAP\\n\\tvDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_EMISSIVEMAP\\n\\tvEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_METALNESSMAP\\n\\tvMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_ROUGHNESSMAP\\n\\tvRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_ANISOTROPYMAP\\n\\tvAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_CLEARCOATMAP\\n\\tvClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tvClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tvClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_IRIDESCENCEMAP\\n\\tvIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\tvIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SHEEN_COLORMAP\\n\\tvSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SHEEN_ROUGHNESSMAP\\n\\tvSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SPECULARMAP\\n\\tvSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SPECULAR_COLORMAP\\n\\tvSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SPECULAR_INTENSITYMAP\\n\\tvSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_TRANSMISSIONMAP\\n\\tvTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_THICKNESSMAP\\n\\tvThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\\n#endif\";var Qa=\"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\\n\\tvec4 worldPosition = vec4( transformed, 1.0 );\\n\\t#ifdef USE_BATCHING\\n\\t\\tworldPosition = batchingMatrix * worldPosition;\\n\\t#endif\\n\\t#ifdef USE_INSTANCING\\n\\t\\tworldPosition = instanceMatrix * worldPosition;\\n\\t#endif\\n\\tworldPosition = modelMatrix * worldPosition;\\n#endif\";const $a=\"varying vec2 vUv;\\nuniform mat3 uvTransform;\\nvoid main() {\\n\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n\\tgl_Position = vec4( position.xy, 1.0, 1.0 );\\n}\";const to=\"uniform sampler2D t2D;\\nuniform float backgroundIntensity;\\nvarying vec2 vUv;\\nvoid main() {\\n\\tvec4 texColor = texture2D( t2D, vUv );\\n\\t#ifdef DECODE_VIDEO_TEXTURE\\n\\t\\ttexColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w );\\n\\t#endif\\n\\ttexColor.rgb *= backgroundIntensity;\\n\\tgl_FragColor = texColor;\\n\\t#include <tonemapping_fragment>\\n\\t#include <colorspace_fragment>\\n}\";const eo=\"varying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include <begin_vertex>\\n\\t#include <project_vertex>\\n\\tgl_Position.z = gl_Position.w;\\n}\";const no=\"#ifdef ENVMAP_TYPE_CUBE\\n\\tuniform samplerCube envMap;\\n#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\tuniform sampler2D envMap;\\n#endif\\nuniform float flipEnvMap;\\nuniform float backgroundBlurriness;\\nuniform float backgroundIntensity;\\nuniform mat3 backgroundRotation;\\nvarying vec3 vWorldDirection;\\n#include <cube_uv_reflection_fragment>\\nvoid main() {\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 texColor = textureCube( envMap, backgroundRotation * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\\n\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tvec4 texColor = textureCubeUV( envMap, backgroundRotation * vWorldDirection, backgroundBlurriness );\\n\\t#else\\n\\t\\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\t#endif\\n\\ttexColor.rgb *= backgroundIntensity;\\n\\tgl_FragColor = texColor;\\n\\t#include <tonemapping_fragment>\\n\\t#include <colorspace_fragment>\\n}\";const io=\"varying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include <begin_vertex>\\n\\t#include <project_vertex>\\n\\tgl_Position.z = gl_Position.w;\\n}\";const ro=\"uniform samplerCube tCube;\\nuniform float tFlip;\\nuniform float opacity;\\nvarying vec3 vWorldDirection;\\nvoid main() {\\n\\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\\n\\tgl_FragColor = texColor;\\n\\tgl_FragColor.a *= opacity;\\n\\t#include <tonemapping_fragment>\\n\\t#include <colorspace_fragment>\\n}\";const so=\"#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <batching_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <morphinstance_vertex>\\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include <beginnormal_vertex>\\n\\t\\t#include <morphnormal_vertex>\\n\\t\\t#include <skinnormal_vertex>\\n\\t#endif\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvHighPrecisionZW = gl_Position.zw;\\n}\";const ao=\"#if DEPTH_PACKING == 3200\\n\\tuniform float opacity;\\n#endif\\n#include <common>\\n#include <packing>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#include <clipping_planes_fragment>\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tdiffuseColor.a = opacity;\\n\\t#endif\\n\\t#include <map_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <alphahash_fragment>\\n\\t#include <logdepthbuf_fragment>\\n\\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\\n\\t#elif DEPTH_PACKING == 3201\\n\\t\\tgl_FragColor = packDepthToRGBA( fragCoordZ );\\n\\t#endif\\n}\";const oo=\"#define DISTANCE\\nvarying vec3 vWorldPosition;\\n#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <batching_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <morphinstance_vertex>\\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include <beginnormal_vertex>\\n\\t\\t#include <morphnormal_vertex>\\n\\t\\t#include <skinnormal_vertex>\\n\\t#endif\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvWorldPosition = worldPosition.xyz;\\n}\";const lo=\"#define DISTANCE\\nuniform vec3 referencePosition;\\nuniform float nearDistance;\\nuniform float farDistance;\\nvarying vec3 vWorldPosition;\\n#include <common>\\n#include <packing>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main () {\\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#include <clipping_planes_fragment>\\n\\t#include <map_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <alphahash_fragment>\\n\\tfloat dist = length( vWorldPosition - referencePosition );\\n\\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\\n\\tdist = saturate( dist );\\n\\tgl_FragColor = packDepthToRGBA( dist );\\n}\";const co=\"varying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include <begin_vertex>\\n\\t#include <project_vertex>\\n}\";const ho=\"uniform sampler2D tEquirect;\\nvarying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\\tvec3 direction = normalize( vWorldDirection );\\n\\tvec2 sampleUV = equirectUv( direction );\\n\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n\\t#include <tonemapping_fragment>\\n\\t#include <colorspace_fragment>\\n}\";const uo=\"uniform float scale;\\nattribute float lineDistance;\\nvarying float vLineDistance;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\tvLineDistance = scale * lineDistance;\\n\\t#include <uv_vertex>\\n\\t#include <color_vertex>\\n\\t#include <morphinstance_vertex>\\n\\t#include <morphcolor_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <fog_vertex>\\n}\";const po=\"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float dashSize;\\nuniform float totalSize;\\nvarying float vLineDistance;\\n#include <common>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <clipping_planes_fragment>\\n\\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\\n\\t\\tdiscard;\\n\\t}\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include <opaque_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <colorspace_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n}\";const fo=\"#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <envmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <color_vertex>\\n\\t#include <morphinstance_vertex>\\n\\t#include <morphcolor_vertex>\\n\\t#include <batching_vertex>\\n\\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\\n\\t\\t#include <beginnormal_vertex>\\n\\t\\t#include <morphnormal_vertex>\\n\\t\\t#include <skinbase_vertex>\\n\\t\\t#include <skinnormal_vertex>\\n\\t\\t#include <defaultnormal_vertex>\\n\\t#endif\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <envmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const mo=\"uniform vec3 diffuse;\\nuniform float opacity;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include <common>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <specularmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <clipping_planes_fragment>\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <alphahash_fragment>\\n\\t#include <specularmap_fragment>\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\\n\\t\\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vec3( 1.0 );\\n\\t#endif\\n\\t#include <aomap_fragment>\\n\\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\\n\\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\\n\\t#include <envmap_fragment>\\n\\t#include <opaque_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <colorspace_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const go=\"#define LAMBERT\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <envmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <color_vertex>\\n\\t#include <morphinstance_vertex>\\n\\t#include <morphcolor_vertex>\\n\\t#include <batching_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include <worldpos_vertex>\\n\\t#include <envmap_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const vo=\"#define LAMBERT\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_lambert_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <specularmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <clipping_planes_fragment>\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <alphahash_fragment>\\n\\t#include <specularmap_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\t#include <emissivemap_fragment>\\n\\t#include <lights_lambert_fragment>\\n\\t#include <lights_fragment_begin>\\n\\t#include <lights_fragment_maps>\\n\\t#include <lights_fragment_end>\\n\\t#include <aomap_fragment>\\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include <envmap_fragment>\\n\\t#include <opaque_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <colorspace_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const _o=\"#define MATCAP\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <color_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <color_vertex>\\n\\t#include <morphinstance_vertex>\\n\\t#include <morphcolor_vertex>\\n\\t#include <batching_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <fog_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n}\";const xo=\"#define MATCAP\\nuniform vec3 diffuse;\\nuniform float opacity;\\nuniform sampler2D matcap;\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <normal_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <clipping_planes_fragment>\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <alphahash_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\tvec3 viewDir = normalize( vViewPosition );\\n\\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\\n\\tvec3 y = cross( viewDir, x );\\n\\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\\n\\t#ifdef USE_MATCAP\\n\\t\\tvec4 matcapColor = texture2D( matcap, uv );\\n\\t#else\\n\\t\\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\\n\\t#endif\\n\\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\\n\\t#include <opaque_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <colorspace_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const yo=\"#define NORMAL\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <batching_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphinstance_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n}\";const Mo=\"#define NORMAL\\nuniform float opacity;\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#include <packing>\\n#include <uv_pars_fragment>\\n#include <normal_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\tvec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity );\\n\\t#include <clipping_planes_fragment>\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\tgl_FragColor = vec4( packNormalToRGB( normal ), diffuseColor.a );\\n\\t#ifdef OPAQUE\\n\\t\\tgl_FragColor.a = 1.0;\\n\\t#endif\\n}\";const So=\"#define PHONG\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <envmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <color_vertex>\\n\\t#include <morphcolor_vertex>\\n\\t#include <batching_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphinstance_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include <worldpos_vertex>\\n\\t#include <envmap_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const bo=\"#define PHONG\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_phong_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <specularmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <clipping_planes_fragment>\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <alphahash_fragment>\\n\\t#include <specularmap_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\t#include <emissivemap_fragment>\\n\\t#include <lights_phong_fragment>\\n\\t#include <lights_fragment_begin>\\n\\t#include <lights_fragment_maps>\\n\\t#include <lights_fragment_end>\\n\\t#include <aomap_fragment>\\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\t#include <envmap_fragment>\\n\\t#include <opaque_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <colorspace_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const To=\"#define STANDARD\\nvarying vec3 vViewPosition;\\n#ifdef USE_TRANSMISSION\\n\\tvarying vec3 vWorldPosition;\\n#endif\\n#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <color_vertex>\\n\\t#include <morphinstance_vertex>\\n\\t#include <morphcolor_vertex>\\n\\t#include <batching_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include <worldpos_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n#ifdef USE_TRANSMISSION\\n\\tvWorldPosition = worldPosition.xyz;\\n#endif\\n}\";const wo=\"#define STANDARD\\n#ifdef PHYSICAL\\n\\t#define IOR\\n\\t#define USE_SPECULAR\\n#endif\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifdef IOR\\n\\tuniform float ior;\\n#endif\\n#ifdef USE_SPECULAR\\n\\tuniform float specularIntensity;\\n\\tuniform vec3 specularColor;\\n\\t#ifdef USE_SPECULAR_COLORMAP\\n\\t\\tuniform sampler2D specularColorMap;\\n\\t#endif\\n\\t#ifdef USE_SPECULAR_INTENSITYMAP\\n\\t\\tuniform sampler2D specularIntensityMap;\\n\\t#endif\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tuniform float clearcoat;\\n\\tuniform float clearcoatRoughness;\\n#endif\\n#ifdef USE_DISPERSION\\n\\tuniform float dispersion;\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\\tuniform float iridescence;\\n\\tuniform float iridescenceIOR;\\n\\tuniform float iridescenceThicknessMinimum;\\n\\tuniform float iridescenceThicknessMaximum;\\n#endif\\n#ifdef USE_SHEEN\\n\\tuniform vec3 sheenColor;\\n\\tuniform float sheenRoughness;\\n\\t#ifdef USE_SHEEN_COLORMAP\\n\\t\\tuniform sampler2D sheenColorMap;\\n\\t#endif\\n\\t#ifdef USE_SHEEN_ROUGHNESSMAP\\n\\t\\tuniform sampler2D sheenRoughnessMap;\\n\\t#endif\\n#endif\\n#ifdef USE_ANISOTROPY\\n\\tuniform vec2 anisotropyVector;\\n\\t#ifdef USE_ANISOTROPYMAP\\n\\t\\tuniform sampler2D anisotropyMap;\\n\\t#endif\\n#endif\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <iridescence_fragment>\\n#include <cube_uv_reflection_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_physical_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_physical_pars_fragment>\\n#include <transmission_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <clearcoat_pars_fragment>\\n#include <iridescence_pars_fragment>\\n#include <roughnessmap_pars_fragment>\\n#include <metalnessmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <clipping_planes_fragment>\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <alphahash_fragment>\\n\\t#include <roughnessmap_fragment>\\n\\t#include <metalnessmap_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\t#include <clearcoat_normal_fragment_begin>\\n\\t#include <clearcoat_normal_fragment_maps>\\n\\t#include <emissivemap_fragment>\\n\\t#include <lights_physical_fragment>\\n\\t#include <lights_fragment_begin>\\n\\t#include <lights_fragment_maps>\\n\\t#include <lights_fragment_end>\\n\\t#include <aomap_fragment>\\n\\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\\n\\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\\n\\t#include <transmission_fragment>\\n\\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\\n\\t#ifdef USE_SHEEN\\n\\t\\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\\n\\t\\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect;\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) );\\n\\t\\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\\n\\t\\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat;\\n\\t#endif\\n\\t#include <opaque_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <colorspace_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const Eo=\"#define TOON\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <color_vertex>\\n\\t#include <morphinstance_vertex>\\n\\t#include <morphcolor_vertex>\\n\\t#include <batching_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include <worldpos_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Ao=\"#define TOON\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <gradientmap_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_toon_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <clipping_planes_fragment>\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <alphahash_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\t#include <emissivemap_fragment>\\n\\t#include <lights_toon_fragment>\\n\\t#include <lights_fragment_begin>\\n\\t#include <lights_fragment_maps>\\n\\t#include <lights_fragment_end>\\n\\t#include <aomap_fragment>\\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include <opaque_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <colorspace_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const Co=\"uniform float size;\\nuniform float scale;\\n#include <common>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\n#ifdef USE_POINTS_UV\\n\\tvarying vec2 vUv;\\n\\tuniform mat3 uvTransform;\\n#endif\\nvoid main() {\\n\\t#ifdef USE_POINTS_UV\\n\\t\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n\\t#endif\\n\\t#include <color_vertex>\\n\\t#include <morphinstance_vertex>\\n\\t#include <morphcolor_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <project_vertex>\\n\\tgl_PointSize = size;\\n\\t#ifdef USE_SIZEATTENUATION\\n\\t\\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\\t\\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\\n\\t#endif\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <fog_vertex>\\n}\";const Ro=\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include <common>\\n#include <color_pars_fragment>\\n#include <map_particle_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <clipping_planes_fragment>\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_particle_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <alphahash_fragment>\\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include <opaque_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <colorspace_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n}\";const Po=\"#include <common>\\n#include <batching_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <shadowmap_pars_vertex>\\nvoid main() {\\n\\t#include <batching_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphinstance_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Lo=\"uniform vec3 color;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <logdepthbuf_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <shadowmask_pars_fragment>\\nvoid main() {\\n\\t#include <logdepthbuf_fragment>\\n\\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\\n\\t#include <tonemapping_fragment>\\n\\t#include <colorspace_fragment>\\n\\t#include <fog_fragment>\\n}\";const Io=\"uniform float rotation;\\nuniform vec2 center;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\tvec2 scale;\\n\\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\\n\\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\\n\\t#ifndef USE_SIZEATTENUATION\\n\\t\\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\\t\\tif ( isPerspective ) scale *= - mvPosition.z;\\n\\t#endif\\n\\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\\n\\tvec2 rotatedPosition;\\n\\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\\n\\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\\n\\tmvPosition.xy += rotatedPosition;\\n\\tgl_Position = projectionMatrix * mvPosition;\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <fog_vertex>\\n}\";const Uo=\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include <common>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <clipping_planes_fragment>\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <alphahash_fragment>\\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include <opaque_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <colorspace_fragment>\\n\\t#include <fog_fragment>\\n}\";const Do={alphahash_fragment:ts,alphahash_pars_fragment:es,alphamap_fragment:ns,alphamap_pars_fragment:is,alphatest_fragment:rs,alphatest_pars_fragment:ss,aomap_fragment:as,aomap_pars_fragment:os,batching_pars_vertex:ls,batching_vertex:cs,begin_vertex:hs,beginnormal_vertex:us,bsdfs:ds,iridescence_fragment:ps,bumpmap_pars_fragment:fs,clipping_planes_fragment:ms,clipping_planes_pars_fragment:gs,clipping_planes_pars_vertex:vs,clipping_planes_vertex:_s,color_fragment:xs,color_pars_fragment:ys,color_pars_vertex:Ms,color_vertex:Ss,common:bs,cube_uv_reflection_fragment:Ts,defaultnormal_vertex:ws,displacementmap_pars_vertex:Es,displacementmap_vertex:As,emissivemap_fragment:Cs,emissivemap_pars_fragment:Rs,colorspace_fragment:Ps,colorspace_pars_fragment:Ls,envmap_fragment:Is,envmap_common_pars_fragment:Us,envmap_pars_fragment:Ds,envmap_pars_vertex:Ns,envmap_physical_pars_fragment:js,envmap_vertex:Bs,fog_vertex:Os,fog_pars_vertex:Vs,fog_fragment:Fs,fog_pars_fragment:zs,gradientmap_pars_fragment:Gs,lightmap_pars_fragment:ks,lights_lambert_fragment:Hs,lights_lambert_pars_fragment:Ws,lights_pars_begin:Xs,lights_toon_fragment:qs,lights_toon_pars_fragment:Ys,lights_phong_fragment:Ks,lights_phong_pars_fragment:Zs,lights_physical_fragment:Js,lights_physical_pars_fragment:Qs,lights_fragment_begin:$s,lights_fragment_maps:ta,lights_fragment_end:ea,logdepthbuf_fragment:na,logdepthbuf_pars_fragment:ia,logdepthbuf_pars_vertex:ra,logdepthbuf_vertex:sa,map_fragment:aa,map_pars_fragment:oa,map_particle_fragment:la,map_particle_pars_fragment:ca,metalnessmap_fragment:ha,metalnessmap_pars_fragment:ua,morphinstance_vertex:da,morphcolor_vertex:pa,morphnormal_vertex:fa,morphtarget_pars_vertex:ma,morphtarget_vertex:ga,normal_fragment_begin:va,normal_fragment_maps:_a,normal_pars_fragment:xa,normal_pars_vertex:ya,normal_vertex:Ma,normalmap_pars_fragment:Sa,clearcoat_normal_fragment_begin:ba,clearcoat_normal_fragment_maps:Ta,clearcoat_pars_fragment:wa,iridescence_pars_fragment:Ea,opaque_fragment:Aa,packing:Ca,premultiplied_alpha_fragment:Ra,project_vertex:Pa,dithering_fragment:La,dithering_pars_fragment:Ia,roughnessmap_fragment:Ua,roughnessmap_pars_fragment:Da,shadowmap_pars_fragment:Na,shadowmap_pars_vertex:Ba,shadowmap_vertex:Oa,shadowmask_pars_fragment:Va,skinbase_vertex:Fa,skinning_pars_vertex:za,skinning_vertex:Ga,skinnormal_vertex:ka,specularmap_fragment:Ha,specularmap_pars_fragment:Wa,tonemapping_fragment:Xa,tonemapping_pars_fragment:ja,transmission_fragment:qa,transmission_pars_fragment:Ya,uv_pars_fragment:Ka,uv_pars_vertex:Za,uv_vertex:Ja,worldpos_vertex:Qa,background_vert:$a,background_frag:to,backgroundCube_vert:eo,backgroundCube_frag:no,cube_vert:io,cube_frag:ro,depth_vert:so,depth_frag:ao,distanceRGBA_vert:oo,distanceRGBA_frag:lo,equirect_vert:co,equirect_frag:ho,linedashed_vert:uo,linedashed_frag:po,meshbasic_vert:fo,meshbasic_frag:mo,meshlambert_vert:go,meshlambert_frag:vo,meshmatcap_vert:_o,meshmatcap_frag:xo,meshnormal_vert:yo,meshnormal_frag:Mo,meshphong_vert:So,meshphong_frag:bo,meshphysical_vert:To,meshphysical_frag:wo,meshtoon_vert:Eo,meshtoon_frag:Ao,points_vert:Co,points_frag:Ro,shadow_vert:Po,shadow_frag:Lo,sprite_vert:Io,sprite_frag:Uo};const No={common:{diffuse:{value:new Color(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Matrix3},alphaMap:{value:null},alphaMapTransform:{value:new Matrix3},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Matrix3}},envmap:{envMap:{value:null},envMapRotation:{value:new Matrix3},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Matrix3}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Matrix3}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Matrix3},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Matrix3},normalScale:{value:new Vector2(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Matrix3},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Matrix3}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Matrix3}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Matrix3}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Color(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Color(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Matrix3},alphaTest:{value:0},uvTransform:{value:new Matrix3}},sprite:{diffuse:{value:new Color(16777215)},opacity:{value:1},center:{value:new Vector2(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Matrix3},alphaMap:{value:null},alphaMapTransform:{value:new Matrix3},alphaTest:{value:0}}};const Bo={basic:{uniforms:mergeUniforms([No.common,No.specularmap,No.envmap,No.aomap,No.lightmap,No.fog]),vertexShader:Do.meshbasic_vert,fragmentShader:Do.meshbasic_frag},lambert:{uniforms:mergeUniforms([No.common,No.specularmap,No.envmap,No.aomap,No.lightmap,No.emissivemap,No.bumpmap,No.normalmap,No.displacementmap,No.fog,No.lights,{emissive:{value:new Color(0)}}]),vertexShader:Do.meshlambert_vert,fragmentShader:Do.meshlambert_frag},phong:{uniforms:mergeUniforms([No.common,No.specularmap,No.envmap,No.aomap,No.lightmap,No.emissivemap,No.bumpmap,No.normalmap,No.displacementmap,No.fog,No.lights,{emissive:{value:new Color(0)},specular:{value:new Color(1118481)},shininess:{value:30}}]),vertexShader:Do.meshphong_vert,fragmentShader:Do.meshphong_frag},standard:{uniforms:mergeUniforms([No.common,No.envmap,No.aomap,No.lightmap,No.emissivemap,No.bumpmap,No.normalmap,No.displacementmap,No.roughnessmap,No.metalnessmap,No.fog,No.lights,{emissive:{value:new Color(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Do.meshphysical_vert,fragmentShader:Do.meshphysical_frag},toon:{uniforms:mergeUniforms([No.common,No.aomap,No.lightmap,No.emissivemap,No.bumpmap,No.normalmap,No.displacementmap,No.gradientmap,No.fog,No.lights,{emissive:{value:new Color(0)}}]),vertexShader:Do.meshtoon_vert,fragmentShader:Do.meshtoon_frag},matcap:{uniforms:mergeUniforms([No.common,No.bumpmap,No.normalmap,No.displacementmap,No.fog,{matcap:{value:null}}]),vertexShader:Do.meshmatcap_vert,fragmentShader:Do.meshmatcap_frag},points:{uniforms:mergeUniforms([No.points,No.fog]),vertexShader:Do.points_vert,fragmentShader:Do.points_frag},dashed:{uniforms:mergeUniforms([No.common,No.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Do.linedashed_vert,fragmentShader:Do.linedashed_frag},depth:{uniforms:mergeUniforms([No.common,No.displacementmap]),vertexShader:Do.depth_vert,fragmentShader:Do.depth_frag},normal:{uniforms:mergeUniforms([No.common,No.bumpmap,No.normalmap,No.displacementmap,{opacity:{value:1}}]),vertexShader:Do.meshnormal_vert,fragmentShader:Do.meshnormal_frag},sprite:{uniforms:mergeUniforms([No.sprite,No.fog]),vertexShader:Do.sprite_vert,fragmentShader:Do.sprite_frag},background:{uniforms:{uvTransform:{value:new Matrix3},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Do.background_vert,fragmentShader:Do.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new Matrix3}},vertexShader:Do.backgroundCube_vert,fragmentShader:Do.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Do.cube_vert,fragmentShader:Do.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Do.equirect_vert,fragmentShader:Do.equirect_frag},distanceRGBA:{uniforms:mergeUniforms([No.common,No.displacementmap,{referencePosition:{value:new Vector3},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Do.distanceRGBA_vert,fragmentShader:Do.distanceRGBA_frag},shadow:{uniforms:mergeUniforms([No.lights,No.fog,{color:{value:new Color(0)},opacity:{value:1}}]),vertexShader:Do.shadow_vert,fragmentShader:Do.shadow_frag}};Bo.physical={uniforms:mergeUniforms([Bo.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Matrix3},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Matrix3},clearcoatNormalScale:{value:new Vector2(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Matrix3},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Matrix3},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Matrix3},sheen:{value:0},sheenColor:{value:new Color(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Matrix3},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Matrix3},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Matrix3},transmissionSamplerSize:{value:new Vector2},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Matrix3},attenuationDistance:{value:0},attenuationColor:{value:new Color(0)},specularColor:{value:new Color(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Matrix3},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Matrix3},anisotropyVector:{value:new Vector2},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Matrix3}}]),vertexShader:Do.meshphysical_vert,fragmentShader:Do.meshphysical_frag};const Oo={r:0,b:0,g:0};const Vo=new Euler;const Fo=new Matrix4;function WebGLBackground(t,e,n,i,r,s,a){const o=new Color(0);let l=s===true?0:1;let c;let h;let p=null;let f=0;let m=null;function getBackground(t){let i=t.isScene===true?t.background:null;if(i&&i.isTexture){const r=t.backgroundBlurriness>0;i=(r?n:e).get(i)}return i}function render(e){let n=false;const r=getBackground(e);if(r===null)setClear(o,l);else if(r&&r.isColor){setClear(r,1);n=true}const s=t.xr.getEnvironmentBlendMode();s===\"additive\"?i.buffers.color.setClear(0,0,0,1,a):s===\"alpha-blend\"&&i.buffers.color.setClear(0,0,0,0,a);if(t.autoClear||n){i.buffers.depth.setTest(true);i.buffers.depth.setMask(true);i.buffers.color.setMask(true);t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil)}}function addToRenderList(e,n){const i=getBackground(n);if(i&&(i.isCubeTexture||i.mapping===pt)){if(h===void 0){h=new Mesh(new BoxGeometry(1,1,1),new ShaderMaterial({name:\"BackgroundCubeMaterial\",uniforms:cloneUniforms(Bo.backgroundCube.uniforms),vertexShader:Bo.backgroundCube.vertexShader,fragmentShader:Bo.backgroundCube.fragmentShader,side:d,depthTest:false,depthWrite:false,fog:false}));h.geometry.deleteAttribute(\"normal\");h.geometry.deleteAttribute(\"uv\");h.onBeforeRender=function(t,e,n){this.matrixWorld.copyPosition(n.matrixWorld)};Object.defineProperty(h.material,\"envMap\",{get:function(){return this.uniforms.envMap.value}});r.update(h)}Vo.copy(n.backgroundRotation);Vo.x*=-1;Vo.y*=-1;Vo.z*=-1;if(i.isCubeTexture&&i.isRenderTargetTexture===false){Vo.y*=-1;Vo.z*=-1}h.material.uniforms.envMap.value=i;h.material.uniforms.flipEnvMap.value=i.isCubeTexture&&i.isRenderTargetTexture===false?-1:1;h.material.uniforms.backgroundBlurriness.value=n.backgroundBlurriness;h.material.uniforms.backgroundIntensity.value=n.backgroundIntensity;h.material.uniforms.backgroundRotation.value.setFromMatrix4(Fo.makeRotationFromEuler(Vo));h.material.toneMapped=$n.getTransfer(i.colorSpace)!==tn;if(p!==i||f!==i.version||m!==t.toneMapping){h.material.needsUpdate=true;p=i;f=i.version;m=t.toneMapping}h.layers.enableAll();e.unshift(h,h.geometry,h.material,0,0,null)}else if(i&&i.isTexture){if(c===void 0){c=new Mesh(new PlaneGeometry(2,2),new ShaderMaterial({name:\"BackgroundMaterial\",uniforms:cloneUniforms(Bo.background.uniforms),vertexShader:Bo.background.vertexShader,fragmentShader:Bo.background.fragmentShader,side:u,depthTest:false,depthWrite:false,fog:false}));c.geometry.deleteAttribute(\"normal\");Object.defineProperty(c.material,\"map\",{get:function(){return this.uniforms.t2D.value}});r.update(c)}c.material.uniforms.t2D.value=i;c.material.uniforms.backgroundIntensity.value=n.backgroundIntensity;c.material.toneMapped=$n.getTransfer(i.colorSpace)!==tn;i.matrixAutoUpdate===true&&i.updateMatrix();c.material.uniforms.uvTransform.value.copy(i.matrix);if(p!==i||f!==i.version||m!==t.toneMapping){c.material.needsUpdate=true;p=i;f=i.version;m=t.toneMapping}c.layers.enableAll();e.unshift(c,c.geometry,c.material,0,0,null)}}function setClear(e,n){e.getRGB(Oo,getUnlitUniformColorSpace(t));i.buffers.color.setClear(Oo.r,Oo.g,Oo.b,n,a)}return{getClearColor:function(){return o},setClearColor:function(t,e=1){o.set(t);l=e;setClear(o,l)},getClearAlpha:function(){return l},setClearAlpha:function(t){l=t;setClear(o,l)},render:render,addToRenderList:addToRenderList}}function WebGLBindingStates(t,e){const n=t.getParameter(t.MAX_VERTEX_ATTRIBS);const i={};const r=createBindingState(null);let s=r;let a=false;function setup(n,i,r,o,l){let c=false;const h=getBindingState(o,r,i);if(s!==h){s=h;bindVertexArrayObject(s.object)}c=needsUpdate(n,o,r,l);c&&saveCache(n,o,r,l);l!==null&&e.update(l,t.ELEMENT_ARRAY_BUFFER);if(c||a){a=false;setupVertexAttributes(n,i,r,o);l!==null&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e.get(l).buffer)}}function createVertexArrayObject(){return t.createVertexArray()}function bindVertexArrayObject(e){return t.bindVertexArray(e)}function deleteVertexArrayObject(e){return t.deleteVertexArray(e)}function getBindingState(t,e,n){const r=n.wireframe===true;let s=i[t.id];if(s===void 0){s={};i[t.id]=s}let a=s[e.id];if(a===void 0){a={};s[e.id]=a}let o=a[r];if(o===void 0){o=createBindingState(createVertexArrayObject());a[r]=o}return o}function createBindingState(t){const e=[];const i=[];const r=[];for(let t=0;t<n;t++){e[t]=0;i[t]=0;r[t]=0}return{geometry:null,program:null,wireframe:false,newAttributes:e,enabledAttributes:i,attributeDivisors:r,object:t,attributes:{},index:null}}function needsUpdate(t,e,n,i){const r=s.attributes;const a=e.attributes;let o=0;const l=n.getAttributes();for(const e in l){const n=l[e];if(n.location>=0){const n=r[e];let i=a[e];if(i===void 0){e===\"instanceMatrix\"&&t.instanceMatrix&&(i=t.instanceMatrix);e===\"instanceColor\"&&t.instanceColor&&(i=t.instanceColor)}if(n===void 0)return true;if(n.attribute!==i)return true;if(i&&n.data!==i.data)return true;o++}}return s.attributesNum!==o||s.index!==i}function saveCache(t,e,n,i){const r={};const a=e.attributes;let o=0;const l=n.getAttributes();for(const e in l){const n=l[e];if(n.location>=0){let n=a[e];if(n===void 0){e===\"instanceMatrix\"&&t.instanceMatrix&&(n=t.instanceMatrix);e===\"instanceColor\"&&t.instanceColor&&(n=t.instanceColor)}const i={};i.attribute=n;n&&n.data&&(i.data=n.data);r[e]=i;o++}}s.attributes=r;s.attributesNum=o;s.index=i}function initAttributes(){const t=s.newAttributes;for(let e=0,n=t.length;e<n;e++)t[e]=0}function enableAttribute(t){enableAttributeAndDivisor(t,0)}function enableAttributeAndDivisor(e,n){const i=s.newAttributes;const r=s.enabledAttributes;const a=s.attributeDivisors;i[e]=1;if(r[e]===0){t.enableVertexAttribArray(e);r[e]=1}if(a[e]!==n){t.vertexAttribDivisor(e,n);a[e]=n}}function disableUnusedAttributes(){const e=s.newAttributes;const n=s.enabledAttributes;for(let i=0,r=n.length;i<r;i++)if(n[i]!==e[i]){t.disableVertexAttribArray(i);n[i]=0}}function vertexAttribPointer(e,n,i,r,s,a,o){o===true?t.vertexAttribIPointer(e,n,i,s,a):t.vertexAttribPointer(e,n,i,r,s,a)}function setupVertexAttributes(n,i,r,s){initAttributes();const a=s.attributes;const o=r.getAttributes();const l=i.defaultAttributeValues;for(const i in o){const r=o[i];if(r.location>=0){let o=a[i];if(o===void 0){i===\"instanceMatrix\"&&n.instanceMatrix&&(o=n.instanceMatrix);i===\"instanceColor\"&&n.instanceColor&&(o=n.instanceColor)}if(o!==void 0){const i=o.normalized;const a=o.itemSize;const l=e.get(o);if(l===void 0)continue;const c=l.buffer;const h=l.type;const u=l.bytesPerElement;const d=h===t.INT||h===t.UNSIGNED_INT||o.gpuType===Lt;if(o.isInterleavedBufferAttribute){const e=o.data;const l=e.stride;const p=o.offset;if(e.isInstancedInterleavedBuffer){for(let t=0;t<r.locationSize;t++)enableAttributeAndDivisor(r.location+t,e.meshPerAttribute);n.isInstancedMesh!==true&&s._maxInstanceCount===void 0&&(s._maxInstanceCount=e.meshPerAttribute*e.count)}else for(let t=0;t<r.locationSize;t++)enableAttribute(r.location+t);t.bindBuffer(t.ARRAY_BUFFER,c);for(let t=0;t<r.locationSize;t++)vertexAttribPointer(r.location+t,a/r.locationSize,h,i,l*u,(p+a/r.locationSize*t)*u,d)}else{if(o.isInstancedBufferAttribute){for(let t=0;t<r.locationSize;t++)enableAttributeAndDivisor(r.location+t,o.meshPerAttribute);n.isInstancedMesh!==true&&s._maxInstanceCount===void 0&&(s._maxInstanceCount=o.meshPerAttribute*o.count)}else for(let t=0;t<r.locationSize;t++)enableAttribute(r.location+t);t.bindBuffer(t.ARRAY_BUFFER,c);for(let t=0;t<r.locationSize;t++)vertexAttribPointer(r.location+t,a/r.locationSize,h,i,a*u,a/r.locationSize*t*u,d)}}else if(l!==void 0){const e=l[i];if(e!==void 0)switch(e.length){case 2:t.vertexAttrib2fv(r.location,e);break;case 3:t.vertexAttrib3fv(r.location,e);break;case 4:t.vertexAttrib4fv(r.location,e);break;default:t.vertexAttrib1fv(r.location,e)}}}}disableUnusedAttributes()}function dispose(){reset();for(const t in i){const e=i[t];for(const t in e){const n=e[t];for(const t in n){deleteVertexArrayObject(n[t].object);delete n[t]}delete e[t]}delete i[t]}}function releaseStatesOfGeometry(t){if(i[t.id]===void 0)return;const e=i[t.id];for(const t in e){const n=e[t];for(const t in n){deleteVertexArrayObject(n[t].object);delete n[t]}delete e[t]}delete i[t.id]}function releaseStatesOfProgram(t){for(const e in i){const n=i[e];if(n[t.id]===void 0)continue;const r=n[t.id];for(const t in r){deleteVertexArrayObject(r[t].object);delete r[t]}delete n[t.id]}}function reset(){resetDefaultState();a=true;if(s!==r){s=r;bindVertexArrayObject(s.object)}}function resetDefaultState(){r.geometry=null;r.program=null;r.wireframe=false}return{setup:setup,reset:reset,resetDefaultState:resetDefaultState,dispose:dispose,releaseStatesOfGeometry:releaseStatesOfGeometry,releaseStatesOfProgram:releaseStatesOfProgram,initAttributes:initAttributes,enableAttribute:enableAttribute,disableUnusedAttributes:disableUnusedAttributes}}function WebGLBufferRenderer(t,e,n){let i;function setMode(t){i=t}function render(e,r){t.drawArrays(i,e,r);n.update(r,i,1)}function renderInstances(e,r,s){if(s!==0){t.drawArraysInstanced(i,e,r,s);n.update(r,i,s)}}function renderMultiDraw(t,r,s){if(s===0)return;const a=e.get(\"WEBGL_multi_draw\");a.multiDrawArraysWEBGL(i,t,0,r,0,s);let o=0;for(let t=0;t<s;t++)o+=r[t];n.update(o,i,1)}function renderMultiDrawInstances(t,r,s,a){if(s===0)return;const o=e.get(\"WEBGL_multi_draw\");if(o===null)for(let e=0;e<t.length;e++)renderInstances(t[e],r[e],a[e]);else{o.multiDrawArraysInstancedWEBGL(i,t,0,r,0,a,0,s);let e=0;for(let t=0;t<s;t++)e+=r[t];for(let t=0;t<a.length;t++)n.update(e,i,a[t])}}this.setMode=setMode;this.render=render;this.renderInstances=renderInstances;this.renderMultiDraw=renderMultiDraw;this.renderMultiDrawInstances=renderMultiDrawInstances}function WebGLCapabilities(t,e,n,i){let r;function getMaxAnisotropy(){if(r!==void 0)return r;if(e.has(\"EXT_texture_filter_anisotropic\")===true){const n=e.get(\"EXT_texture_filter_anisotropic\");r=t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else r=0;return r}function textureFormatReadable(e){return e===Gt||i.convert(e)===t.getParameter(t.IMPLEMENTATION_COLOR_READ_FORMAT)}function textureTypeReadable(n){const r=n===Dt&&(e.has(\"EXT_color_buffer_half_float\")||e.has(\"EXT_color_buffer_float\"));return!(n!==At&&i.convert(n)!==t.getParameter(t.IMPLEMENTATION_COLOR_READ_TYPE)&&n!==Ut&&!r)}function getMaxPrecision(e){if(e===\"highp\"){if(t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.HIGH_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return\"highp\";e=\"mediump\"}return e===\"mediump\"&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?\"mediump\":\"lowp\"}let s=n.precision!==void 0?n.precision:\"highp\";const a=getMaxPrecision(s);if(a!==s){console.warn(\"THREE.WebGLRenderer:\",s,\"not supported, using\",a,\"instead.\");s=a}const o=n.logarithmicDepthBuffer===true;const l=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);const c=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS);const h=t.getParameter(t.MAX_TEXTURE_SIZE);const u=t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE);const d=t.getParameter(t.MAX_VERTEX_ATTRIBS);const p=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS);const f=t.getParameter(t.MAX_VARYING_VECTORS);const m=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS);const g=c>0;const _=t.getParameter(t.MAX_SAMPLES);return{isWebGL2:true,getMaxAnisotropy:getMaxAnisotropy,getMaxPrecision:getMaxPrecision,textureFormatReadable:textureFormatReadable,textureTypeReadable:textureTypeReadable,precision:s,logarithmicDepthBuffer:o,maxTextures:l,maxVertexTextures:c,maxTextureSize:h,maxCubemapSize:u,maxAttributes:d,maxVertexUniforms:p,maxVaryings:f,maxFragmentUniforms:m,vertexTextures:g,maxSamples:_}}function WebGLClipping(t){const e=this;let n=null,i=0,r=false,s=false;const a=new Plane,o=new Matrix3,l={value:null,needsUpdate:false};this.uniform=l;this.numPlanes=0;this.numIntersection=0;this.init=function(t,e){const n=t.length!==0||e||i!==0||r;r=e;i=t.length;return n};this.beginShadows=function(){s=true;projectPlanes(null)};this.endShadows=function(){s=false};this.setGlobalState=function(t,e){n=projectPlanes(t,e,0)};this.setState=function(e,a,o){const c=e.clippingPlanes,h=e.clipIntersection,u=e.clipShadows;const d=t.get(e);if(!r||c===null||c.length===0||s&&!u)s?projectPlanes(null):resetGlobalState();else{const t=s?0:i,e=t*4;let r=d.clippingState||null;l.value=r;r=projectPlanes(c,a,e,o);for(let t=0;t!==e;++t)r[t]=n[t];d.clippingState=r;this.numIntersection=h?this.numPlanes:0;this.numPlanes+=t}};function resetGlobalState(){if(l.value!==n){l.value=n;l.needsUpdate=i>0}e.numPlanes=i;e.numIntersection=0}function projectPlanes(t,n,i,r){const s=t!==null?t.length:0;let c=null;if(s!==0){c=l.value;if(r!==true||c===null){const e=i+s*4,r=n.matrixWorldInverse;o.getNormalMatrix(r);(c===null||c.length<e)&&(c=new Float32Array(e));for(let e=0,n=i;e!==s;++e,n+=4){a.copy(t[e]).applyMatrix4(r,o);a.normal.toArray(c,n);c[n+3]=a.constant}}l.value=c;l.needsUpdate=true}e.numPlanes=s;e.numIntersection=0;return c}}function WebGLCubeMaps(t){let e=new WeakMap;function mapTextureMapping(t,e){e===ut?t.mapping=ct:e===dt&&(t.mapping=ht);return t}function get(n){if(n&&n.isTexture){const i=n.mapping;if(i===ut||i===dt){if(e.has(n)){const t=e.get(n).texture;return mapTextureMapping(t,n.mapping)}{const i=n.image;if(i&&i.height>0){const r=new WebGLCubeRenderTarget(i.height);r.fromEquirectangularTexture(t,n);e.set(n,r);n.addEventListener(\"dispose\",onTextureDispose);return mapTextureMapping(r.texture,n.mapping)}return null}}}return n}function onTextureDispose(t){const n=t.target;n.removeEventListener(\"dispose\",onTextureDispose);const i=e.get(n);if(i!==void 0){e.delete(n);i.dispose()}}function dispose(){e=new WeakMap}return{get:get,dispose:dispose}}class OrthographicCamera extends Camera{constructor(t=-1,e=1,n=1,i=-1,r=.1,s=2e3){super();this.isOrthographicCamera=true;this.type=\"OrthographicCamera\";this.zoom=1;this.view=null;this.left=t;this.right=e;this.top=n;this.bottom=i;this.near=r;this.far=s;this.updateProjectionMatrix()}copy(t,e){super.copy(t,e);this.left=t.left;this.right=t.right;this.top=t.top;this.bottom=t.bottom;this.near=t.near;this.far=t.far;this.zoom=t.zoom;this.view=t.view===null?null:Object.assign({},t.view);return this}setViewOffset(t,e,n,i,r,s){this.view===null&&(this.view={enabled:true,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1});this.view.enabled=true;this.view.fullWidth=t;this.view.fullHeight=e;this.view.offsetX=n;this.view.offsetY=i;this.view.width=r;this.view.height=s;this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=false);this.updateProjectionMatrix()}updateProjectionMatrix(){const t=(this.right-this.left)/(2*this.zoom);const e=(this.top-this.bottom)/(2*this.zoom);const n=(this.right+this.left)/2;const i=(this.top+this.bottom)/2;let r=n-t;let s=n+t;let a=i+e;let o=i-e;if(this.view!==null&&this.view.enabled){const t=(this.right-this.left)/this.view.fullWidth/this.zoom;const e=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=t*this.view.offsetX;s=r+t*this.view.width;a-=e*this.view.offsetY;o=a-e*this.view.height}this.projectionMatrix.makeOrthographic(r,s,a,o,this.near,this.far,this.coordinateSystem);this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);e.object.zoom=this.zoom;e.object.left=this.left;e.object.right=this.right;e.object.top=this.top;e.object.bottom=this.bottom;e.object.near=this.near;e.object.far=this.far;this.view!==null&&(e.object.view=Object.assign({},this.view));return e}}const zo=4;const Go=[.125,.215,.35,.446,.526,.582];const ko=20;const Ho=new OrthographicCamera;const Wo=new Color;let Xo=null;let jo=0;let qo=0;let Yo=false;const Ko=(1+Math.sqrt(5))/2;const Zo=1/Ko;const Jo=[new Vector3(-Ko,Zo,0),new Vector3(Ko,Zo,0),new Vector3(-Zo,0,Ko),new Vector3(Zo,0,Ko),new Vector3(0,Ko,-Zo),new Vector3(0,Ko,Zo),new Vector3(-1,1,-1),new Vector3(1,1,-1),new Vector3(-1,1,1),new Vector3(1,1,1)];class PMREMGenerator{constructor(t){this._renderer=t;this._pingPongRenderTarget=null;this._lodMax=0;this._cubeSize=0;this._lodPlanes=[];this._sizeLods=[];this._sigmas=[];this._blurMaterial=null;this._cubemapMaterial=null;this._equirectMaterial=null;this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,n=.1,i=100){Xo=this._renderer.getRenderTarget();jo=this._renderer.getActiveCubeFace();qo=this._renderer.getActiveMipmapLevel();Yo=this._renderer.xr.enabled;this._renderer.xr.enabled=false;this._setSize(256);const r=this._allocateTargets();r.depthBuffer=true;this._sceneToCubeUV(t,n,i,r);e>0&&this._blur(r,0,0,e);this._applyPMREM(r);this._cleanup(r);return r}fromEquirectangular(t,e=null){return this._fromTexture(t,e)}fromCubemap(t,e=null){return this._fromTexture(t,e)}compileCubemapShader(){if(this._cubemapMaterial===null){this._cubemapMaterial=_getCubemapMaterial();this._compileMaterial(this._cubemapMaterial)}}compileEquirectangularShader(){if(this._equirectMaterial===null){this._equirectMaterial=_getEquirectMaterial();this._compileMaterial(this._equirectMaterial)}}dispose(){this._dispose();this._cubemapMaterial!==null&&this._cubemapMaterial.dispose();this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(t){this._lodMax=Math.floor(Math.log2(t));this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose();this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let t=0;t<this._lodPlanes.length;t++)this._lodPlanes[t].dispose()}_cleanup(t){this._renderer.setRenderTarget(Xo,jo,qo);this._renderer.xr.enabled=Yo;t.scissorTest=false;_setViewport(t,0,0,t.width,t.height)}_fromTexture(t,e){t.mapping===ct||t.mapping===ht?this._setSize(t.image.length===0?16:t.image[0].width||t.image[0].image.width):this._setSize(t.image.width/4);Xo=this._renderer.getRenderTarget();jo=this._renderer.getActiveCubeFace();qo=this._renderer.getActiveMipmapLevel();Yo=this._renderer.xr.enabled;this._renderer.xr.enabled=false;const n=e||this._allocateTargets();this._textureToCubeUV(t,n);this._applyPMREM(n);this._cleanup(n);return n}_allocateTargets(){const t=3*Math.max(this._cubeSize,112);const e=4*this._cubeSize;const n={magFilter:St,minFilter:St,generateMipmaps:false,type:Dt,format:Gt,colorSpace:Ze,depthBuffer:false};const i=_createRenderTarget(t,e,n);if(this._pingPongRenderTarget===null||this._pingPongRenderTarget.width!==t||this._pingPongRenderTarget.height!==e){this._pingPongRenderTarget!==null&&this._dispose();this._pingPongRenderTarget=_createRenderTarget(t,e,n);const{_lodMax:i}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=_createPlanes(i));this._blurMaterial=_getBlurShader(i,t,e)}return i}_compileMaterial(t){const e=new Mesh(this._lodPlanes[0],t);this._renderer.compile(e,Ho)}_sceneToCubeUV(t,e,n,i){const r=90;const s=1;const a=new PerspectiveCamera(r,s,e,n);const o=[1,-1,1,1,1,1];const l=[1,1,1,-1,-1,-1];const c=this._renderer;const h=c.autoClear;const u=c.toneMapping;c.getClearColor(Wo);c.toneMapping=Q;c.autoClear=false;const p=new MeshBasicMaterial({name:\"PMREM.Background\",side:d,depthWrite:false,depthTest:false});const f=new Mesh(new BoxGeometry,p);let m=false;const g=t.background;if(g){if(g.isColor){p.color.copy(g);t.background=null;m=true}}else{p.color.copy(Wo);m=true}for(let e=0;e<6;e++){const n=e%3;if(n===0){a.up.set(0,o[e],0);a.lookAt(l[e],0,0)}else if(n===1){a.up.set(0,0,o[e]);a.lookAt(0,l[e],0)}else{a.up.set(0,o[e],0);a.lookAt(0,0,l[e])}const r=this._cubeSize;_setViewport(i,n*r,e>2?r:0,r,r);c.setRenderTarget(i);m&&c.render(f,a);c.render(t,a)}f.geometry.dispose();f.material.dispose();c.toneMapping=u;c.autoClear=h;t.background=g}_textureToCubeUV(t,e){const n=this._renderer;const i=t.mapping===ct||t.mapping===ht;if(i){this._cubemapMaterial===null&&(this._cubemapMaterial=_getCubemapMaterial());this._cubemapMaterial.uniforms.flipEnvMap.value=t.isRenderTargetTexture===false?-1:1}else this._equirectMaterial===null&&(this._equirectMaterial=_getEquirectMaterial());const r=i?this._cubemapMaterial:this._equirectMaterial;const s=new Mesh(this._lodPlanes[0],r);const a=r.uniforms;a.envMap.value=t;const o=this._cubeSize;_setViewport(e,0,0,3*o,2*o);n.setRenderTarget(e);n.render(s,Ho)}_applyPMREM(t){const e=this._renderer;const n=e.autoClear;e.autoClear=false;const i=this._lodPlanes.length;for(let e=1;e<i;e++){const n=Math.sqrt(this._sigmas[e]*this._sigmas[e]-this._sigmas[e-1]*this._sigmas[e-1]);const r=Jo[(i-e-1)%Jo.length];this._blur(t,e-1,e,n,r)}e.autoClear=n}_blur(t,e,n,i,r){const s=this._pingPongRenderTarget;this._halfBlur(t,s,e,n,i,\"latitudinal\",r);this._halfBlur(s,t,n,n,i,\"longitudinal\",r)}_halfBlur(t,e,n,i,r,s,a){const o=this._renderer;const l=this._blurMaterial;s!==\"latitudinal\"&&s!==\"longitudinal\"&&console.error(\"blur direction must be either latitudinal or longitudinal!\");const c=3;const h=new Mesh(this._lodPlanes[i],l);const u=l.uniforms;const d=this._sizeLods[n]-1;const p=isFinite(r)?Math.PI/(2*d):2*Math.PI/(2*ko-1);const f=r/p;const m=isFinite(r)?1+Math.floor(c*f):ko;m>ko&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${m} samples when the maximum is set to ${ko}`);const g=[];let _=0;for(let t=0;t<ko;++t){const e=t/f;const n=Math.exp(-e*e/2);g.push(n);t===0?_+=n:t<m&&(_+=2*n)}for(let t=0;t<g.length;t++)g[t]=g[t]/_;u.envMap.value=t.texture;u.samples.value=m;u.weights.value=g;u.latitudinal.value=s===\"latitudinal\";a&&(u.poleAxis.value=a);const{_lodMax:x}=this;u.dTheta.value=p;u.mipInt.value=x-n;const y=this._sizeLods[i];const M=3*y*(i>x-zo?i-x+zo:0);const S=4*(this._cubeSize-y);_setViewport(e,M,S,3*y,2*y);o.setRenderTarget(e);o.render(h,Ho)}}function _createPlanes(t){const e=[];const n=[];const i=[];let r=t;const s=t-zo+1+Go.length;for(let a=0;a<s;a++){const s=Math.pow(2,r);n.push(s);let o=1/s;a>t-zo?o=Go[a-t+zo-1]:a===0&&(o=0);i.push(o);const l=1/(s-2);const c=-l;const h=1+l;const u=[c,c,h,c,h,h,c,c,h,h,c,h];const d=6;const p=6;const f=3;const m=2;const g=1;const _=new Float32Array(f*p*d);const x=new Float32Array(m*p*d);const y=new Float32Array(g*p*d);for(let t=0;t<d;t++){const e=t%3*2/3-1;const n=t>2?0:-1;const i=[e,n,0,e+2/3,n,0,e+2/3,n+1,0,e,n,0,e+2/3,n+1,0,e,n+1,0];_.set(i,f*p*t);x.set(u,m*p*t);const r=[t,t,t,t,t,t];y.set(r,g*p*t)}const M=new BufferGeometry;M.setAttribute(\"position\",new BufferAttribute(_,f));M.setAttribute(\"uv\",new BufferAttribute(x,m));M.setAttribute(\"faceIndex\",new BufferAttribute(y,g));e.push(M);r>zo&&r--}return{lodPlanes:e,sizeLods:n,sigmas:i}}function _createRenderTarget(t,e,n){const i=new WebGLRenderTarget(t,e,n);i.texture.mapping=pt;i.texture.name=\"PMREM.cubeUv\";i.scissorTest=true;return i}function _setViewport(t,e,n,i,r){t.viewport.set(e,n,i,r);t.scissor.set(e,n,i,r)}function _getBlurShader(t,e,n){const i=new Float32Array(ko);const r=new Vector3(0,1,0);const s=new ShaderMaterial({name:\"SphericalGaussianBlur\",defines:{n:ko,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:false},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:_getCommonVertexShader(),fragmentShader:\"\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform sampler2D envMap;\\n\\t\\t\\tuniform int samples;\\n\\t\\t\\tuniform float weights[ n ];\\n\\t\\t\\tuniform bool latitudinal;\\n\\t\\t\\tuniform float dTheta;\\n\\t\\t\\tuniform float mipInt;\\n\\t\\t\\tuniform vec3 poleAxis;\\n\\n\\t\\t\\t#define ENVMAP_TYPE_CUBE_UV\\n\\t\\t\\t#include <cube_uv_reflection_fragment>\\n\\n\\t\\t\\tvec3 getSample( float theta, vec3 axis ) {\\n\\n\\t\\t\\t\\tfloat cosTheta = cos( theta );\\n\\t\\t\\t\\t// Rodrigues' axis-angle rotation\\n\\t\\t\\t\\tvec3 sampleDirection = vOutputDirection * cosTheta\\n\\t\\t\\t\\t\\t+ cross( axis, vOutputDirection ) * sin( theta )\\n\\t\\t\\t\\t\\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\\n\\n\\t\\t\\t\\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\\n\\n\\t\\t\\t\\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\\n\\n\\t\\t\\t\\t\\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\taxis = normalize( axis );\\n\\n\\t\\t\\t\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\t\\t\\t\\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\\n\\n\\t\\t\\t\\tfor ( int i = 1; i < n; i++ ) {\\n\\n\\t\\t\\t\\t\\tif ( i >= samples ) {\\n\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tfloat theta = dTheta * float( i );\\n\\t\\t\\t\\t\\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\\n\\t\\t\\t\\t\\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t}\\n\\t\\t\",blending:f,depthTest:false,depthWrite:false});return s}function _getEquirectMaterial(){return new ShaderMaterial({name:\"EquirectangularToCubeUV\",uniforms:{envMap:{value:null}},vertexShader:_getCommonVertexShader(),fragmentShader:\"\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform sampler2D envMap;\\n\\n\\t\\t\\t#include <common>\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tvec3 outputDirection = normalize( vOutputDirection );\\n\\t\\t\\t\\tvec2 uv = equirectUv( outputDirection );\\n\\n\\t\\t\\t\\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\\n\\n\\t\\t\\t}\\n\\t\\t\",blending:f,depthTest:false,depthWrite:false})}function _getCubemapMaterial(){return new ShaderMaterial({name:\"CubemapToCubeUV\",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:_getCommonVertexShader(),fragmentShader:\"\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tuniform float flipEnvMap;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform samplerCube envMap;\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\\n\\n\\t\\t\\t}\\n\\t\\t\",blending:f,depthTest:false,depthWrite:false})}function _getCommonVertexShader(){return\"\\n\\n\\t\\tprecision mediump float;\\n\\t\\tprecision mediump int;\\n\\n\\t\\tattribute float faceIndex;\\n\\n\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t// RH coordinate system; PMREM face-indexing convention\\n\\t\\tvec3 getDirection( vec2 uv, float face ) {\\n\\n\\t\\t\\tuv = 2.0 * uv - 1.0;\\n\\n\\t\\t\\tvec3 direction = vec3( uv, 1.0 );\\n\\n\\t\\t\\tif ( face == 0.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx; // ( 1, v, u ) pos x\\n\\n\\t\\t\\t} else if ( face == 1.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\\n\\n\\t\\t\\t} else if ( face == 2.0 ) {\\n\\n\\t\\t\\t\\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\\n\\n\\t\\t\\t} else if ( face == 3.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\\n\\n\\t\\t\\t} else if ( face == 4.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\\n\\n\\t\\t\\t} else if ( face == 5.0 ) {\\n\\n\\t\\t\\t\\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn direction;\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvOutputDirection = getDirection( uv, faceIndex );\\n\\t\\t\\tgl_Position = vec4( position, 1.0 );\\n\\n\\t\\t}\\n\\t\"}function WebGLCubeUVMaps(t){let e=new WeakMap;let n=null;function get(i){if(i&&i.isTexture){const r=i.mapping;const s=r===ut||r===dt;const a=r===ct||r===ht;if(s||a){let r=e.get(i);const o=r!==void 0?r.texture.pmremVersion:0;if(i.isRenderTargetTexture&&i.pmremVersion!==o){n===null&&(n=new PMREMGenerator(t));r=s?n.fromEquirectangular(i,r):n.fromCubemap(i,r);r.texture.pmremVersion=i.pmremVersion;e.set(i,r);return r.texture}if(r!==void 0)return r.texture;{const o=i.image;if(s&&o&&o.height>0||a&&o&&isCubeTextureComplete(o)){n===null&&(n=new PMREMGenerator(t));r=s?n.fromEquirectangular(i):n.fromCubemap(i);r.texture.pmremVersion=i.pmremVersion;e.set(i,r);i.addEventListener(\"dispose\",onTextureDispose);return r.texture}return null}}}return i}function isCubeTextureComplete(t){let e=0;const n=6;for(let i=0;i<n;i++)t[i]!==void 0&&e++;return e===n}function onTextureDispose(t){const n=t.target;n.removeEventListener(\"dispose\",onTextureDispose);const i=e.get(n);if(i!==void 0){e.delete(n);i.dispose()}}function dispose(){e=new WeakMap;if(n!==null){n.dispose();n=null}}return{get:get,dispose:dispose}}function WebGLExtensions(t){const e={};function getExtension(n){if(e[n]!==void 0)return e[n];let i;switch(n){case\"WEBGL_depth_texture\":i=t.getExtension(\"WEBGL_depth_texture\")||t.getExtension(\"MOZ_WEBGL_depth_texture\")||t.getExtension(\"WEBKIT_WEBGL_depth_texture\");break;case\"EXT_texture_filter_anisotropic\":i=t.getExtension(\"EXT_texture_filter_anisotropic\")||t.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||t.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\");break;case\"WEBGL_compressed_texture_s3tc\":i=t.getExtension(\"WEBGL_compressed_texture_s3tc\")||t.getExtension(\"MOZ_WEBGL_compressed_texture_s3tc\")||t.getExtension(\"WEBKIT_WEBGL_compressed_texture_s3tc\");break;case\"WEBGL_compressed_texture_pvrtc\":i=t.getExtension(\"WEBGL_compressed_texture_pvrtc\")||t.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\");break;default:i=t.getExtension(n)}e[n]=i;return i}return{has:function(t){return getExtension(t)!==null},init:function(){getExtension(\"EXT_color_buffer_float\");getExtension(\"WEBGL_clip_cull_distance\");getExtension(\"OES_texture_float_linear\");getExtension(\"EXT_color_buffer_half_float\");getExtension(\"WEBGL_multisampled_render_to_texture\");getExtension(\"WEBGL_render_shared_exponent\")},get:function(t){const e=getExtension(t);e===null&&warnOnce(\"THREE.WebGLRenderer: \"+t+\" extension not supported.\");return e}}}function WebGLGeometries(t,e,n,i){const r={};const s=new WeakMap;function onGeometryDispose(t){const a=t.target;a.index!==null&&e.remove(a.index);for(const t in a.attributes)e.remove(a.attributes[t]);for(const t in a.morphAttributes){const n=a.morphAttributes[t];for(let t=0,i=n.length;t<i;t++)e.remove(n[t])}a.removeEventListener(\"dispose\",onGeometryDispose);delete r[a.id];const o=s.get(a);if(o){e.remove(o);s.delete(a)}i.releaseStatesOfGeometry(a);a.isInstancedBufferGeometry===true&&delete a._maxInstanceCount;n.memory.geometries--}function get(t,e){if(r[e.id]===true)return e;e.addEventListener(\"dispose\",onGeometryDispose);r[e.id]=true;n.memory.geometries++;return e}function update(n){const i=n.attributes;for(const n in i)e.update(i[n],t.ARRAY_BUFFER);const r=n.morphAttributes;for(const n in r){const i=r[n];for(let n=0,r=i.length;n<r;n++)e.update(i[n],t.ARRAY_BUFFER)}}function updateWireframeAttribute(t){const n=[];const i=t.index;const r=t.attributes.position;let a=0;if(i!==null){const t=i.array;a=i.version;for(let e=0,i=t.length;e<i;e+=3){const i=t[e+0];const r=t[e+1];const s=t[e+2];n.push(i,r,r,s,s,i)}}else{if(r===void 0)return;{const t=r.array;a=r.version;for(let e=0,i=t.length/3-1;e<i;e+=3){const t=e+0;const i=e+1;const r=e+2;n.push(t,i,i,r,r,t)}}}const o=new(arrayNeedsUint32(n)?Uint32BufferAttribute:Uint16BufferAttribute)(n,1);o.version=a;const l=s.get(t);l&&e.remove(l);s.set(t,o)}function getWireframeAttribute(t){const e=s.get(t);if(e){const n=t.index;n!==null&&e.version<n.version&&updateWireframeAttribute(t)}else updateWireframeAttribute(t);return s.get(t)}return{get:get,update:update,getWireframeAttribute:getWireframeAttribute}}function WebGLIndexedBufferRenderer(t,e,n){let i;function setMode(t){i=t}let r,s;function setIndex(t){r=t.type;s=t.bytesPerElement}function render(e,a){t.drawElements(i,a,r,e*s);n.update(a,i,1)}function renderInstances(e,a,o){if(o!==0){t.drawElementsInstanced(i,a,r,e*s,o);n.update(a,i,o)}}function renderMultiDraw(t,s,a){if(a===0)return;const o=e.get(\"WEBGL_multi_draw\");o.multiDrawElementsWEBGL(i,s,0,r,t,0,a);let l=0;for(let t=0;t<a;t++)l+=s[t];n.update(l,i,1)}function renderMultiDrawInstances(t,a,o,l){if(o===0)return;const c=e.get(\"WEBGL_multi_draw\");if(c===null)for(let e=0;e<t.length;e++)renderInstances(t[e]/s,a[e],l[e]);else{c.multiDrawElementsInstancedWEBGL(i,a,0,r,t,0,l,0,o);let e=0;for(let t=0;t<o;t++)e+=a[t];for(let t=0;t<l.length;t++)n.update(e,i,l[t])}}this.setMode=setMode;this.setIndex=setIndex;this.render=render;this.renderInstances=renderInstances;this.renderMultiDraw=renderMultiDraw;this.renderMultiDrawInstances=renderMultiDrawInstances}function WebGLInfo(t){const e={geometries:0,textures:0};const n={frame:0,calls:0,triangles:0,points:0,lines:0};function update(e,i,r){n.calls++;switch(i){case t.TRIANGLES:n.triangles+=r*(e/3);break;case t.LINES:n.lines+=r*(e/2);break;case t.LINE_STRIP:n.lines+=r*(e-1);break;case t.LINE_LOOP:n.lines+=r*e;break;case t.POINTS:n.points+=r*e;break;default:console.error(\"THREE.WebGLInfo: Unknown draw mode:\",i);break}}function reset(){n.calls=0;n.triangles=0;n.points=0;n.lines=0}return{memory:e,render:n,programs:null,autoReset:true,reset:reset,update:update}}function WebGLMorphtargets(t,e,n){const i=new WeakMap;const r=new Vector4;function update(s,a,o){const l=s.morphTargetInfluences;const c=a.morphAttributes.position||a.morphAttributes.normal||a.morphAttributes.color;const h=c!==void 0?c.length:0;let u=i.get(a);if(u===void 0||u.count!==h){u!==void 0&&u.texture.dispose();const d=a.morphAttributes.position!==void 0;const p=a.morphAttributes.normal!==void 0;const f=a.morphAttributes.color!==void 0;const m=a.morphAttributes.position||[];const g=a.morphAttributes.normal||[];const _=a.morphAttributes.color||[];let x=0;d===true&&(x=1);p===true&&(x=2);f===true&&(x=3);let y=a.attributes.position.count*x;let M=1;if(y>e.maxTextureSize){M=Math.ceil(y/e.maxTextureSize);y=e.maxTextureSize}const S=new Float32Array(y*M*4*h);const b=new DataArrayTexture(S,y,M,h);b.type=Ut;b.needsUpdate=true;const T=x*4;for(let w=0;w<h;w++){const E=m[w];const A=g[w];const C=_[w];const R=y*M*4*w;for(let P=0;P<E.count;P++){const L=P*T;if(d===true){r.fromBufferAttribute(E,P);S[R+L+0]=r.x;S[R+L+1]=r.y;S[R+L+2]=r.z;S[R+L+3]=0}if(p===true){r.fromBufferAttribute(A,P);S[R+L+4]=r.x;S[R+L+5]=r.y;S[R+L+6]=r.z;S[R+L+7]=0}if(f===true){r.fromBufferAttribute(C,P);S[R+L+8]=r.x;S[R+L+9]=r.y;S[R+L+10]=r.z;S[R+L+11]=C.itemSize===4?r.w:1}}}u={count:h,texture:b,size:new Vector2(y,M)};i.set(a,u);function disposeTexture(){b.dispose();i.delete(a);a.removeEventListener(\"dispose\",disposeTexture)}a.addEventListener(\"dispose\",disposeTexture)}if(s.isInstancedMesh===true&&s.morphTexture!==null)o.getUniforms().setValue(t,\"morphTexture\",s.morphTexture,n);else{let I=0;for(let D=0;D<l.length;D++)I+=l[D];const U=a.morphTargetsRelative?1:1-I;o.getUniforms().setValue(t,\"morphTargetBaseInfluence\",U);o.getUniforms().setValue(t,\"morphTargetInfluences\",l)}o.getUniforms().setValue(t,\"morphTargetsTexture\",u.texture,n);o.getUniforms().setValue(t,\"morphTargetsTextureSize\",u.size)}return{update:update}}function WebGLObjects(t,e,n,i){let r=new WeakMap;function update(s){const a=i.render.frame;const o=s.geometry;const l=e.get(s,o);if(r.get(l)!==a){e.update(l);r.set(l,a)}if(s.isInstancedMesh){s.hasEventListener(\"dispose\",onInstancedMeshDispose)===false&&s.addEventListener(\"dispose\",onInstancedMeshDispose);if(r.get(s)!==a){n.update(s.instanceMatrix,t.ARRAY_BUFFER);s.instanceColor!==null&&n.update(s.instanceColor,t.ARRAY_BUFFER);r.set(s,a)}}if(s.isSkinnedMesh){const t=s.skeleton;if(r.get(t)!==a){t.update();r.set(t,a)}}return l}function dispose(){r=new WeakMap}function onInstancedMeshDispose(t){const e=t.target;e.removeEventListener(\"dispose\",onInstancedMeshDispose);n.remove(e.instanceMatrix);e.instanceColor!==null&&n.remove(e.instanceColor)}return{update:update,dispose:dispose}}class DepthTexture extends Texture{constructor(t,e,n,i,r,s,a,o,l,c=Wt){if(c!==Wt&&c!==Xt)throw new Error(\"DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat\");n===void 0&&c===Wt&&(n=It);n===void 0&&c===Xt&&(n=Ot);super(null,i,r,s,a,o,c,n,l);this.isDepthTexture=true;this.image={width:t,height:e};this.magFilter=a!==void 0?a:vt;this.minFilter=o!==void 0?o:vt;this.flipY=false;this.generateMipmaps=false;this.compareFunction=null}copy(t){super.copy(t);this.compareFunction=t.compareFunction;return this}toJSON(t){const e=super.toJSON(t);this.compareFunction!==null&&(e.compareFunction=this.compareFunction);return e}}const Qo=new Texture;const $o=new DepthTexture(1,1);const tl=new DataArrayTexture;const el=new Data3DTexture;const nl=new CubeTexture;const il=[];const rl=[];const sl=new Float32Array(16);const al=new Float32Array(9);const ol=new Float32Array(4);function flatten(t,e,n){const i=t[0];if(i<=0||i>0)return t;const r=e*n;let s=il[r];if(s===void 0){s=new Float32Array(r);il[r]=s}if(e!==0){i.toArray(s,0);for(let i=1,r=0;i!==e;++i){r+=n;t[i].toArray(s,r)}}return s}function arraysEqual(t,e){if(t.length!==e.length)return false;for(let n=0,i=t.length;n<i;n++)if(t[n]!==e[n])return false;return true}function copyArray(t,e){for(let n=0,i=e.length;n<i;n++)t[n]=e[n]}function allocTexUnits(t,e){let n=rl[e];if(n===void 0){n=new Int32Array(e);rl[e]=n}for(let i=0;i!==e;++i)n[i]=t.allocateTextureUnit();return n}function setValueV1f(t,e){const n=this.cache;if(n[0]!==e){t.uniform1f(this.addr,e);n[0]=e}}function setValueV2f(t,e){const n=this.cache;if(e.x!==void 0){if(n[0]!==e.x||n[1]!==e.y){t.uniform2f(this.addr,e.x,e.y);n[0]=e.x;n[1]=e.y}}else{if(arraysEqual(n,e))return;t.uniform2fv(this.addr,e);copyArray(n,e)}}function setValueV3f(t,e){const n=this.cache;if(e.x!==void 0){if(n[0]!==e.x||n[1]!==e.y||n[2]!==e.z){t.uniform3f(this.addr,e.x,e.y,e.z);n[0]=e.x;n[1]=e.y;n[2]=e.z}}else if(e.r!==void 0){if(n[0]!==e.r||n[1]!==e.g||n[2]!==e.b){t.uniform3f(this.addr,e.r,e.g,e.b);n[0]=e.r;n[1]=e.g;n[2]=e.b}}else{if(arraysEqual(n,e))return;t.uniform3fv(this.addr,e);copyArray(n,e)}}function setValueV4f(t,e){const n=this.cache;if(e.x!==void 0){if(n[0]!==e.x||n[1]!==e.y||n[2]!==e.z||n[3]!==e.w){t.uniform4f(this.addr,e.x,e.y,e.z,e.w);n[0]=e.x;n[1]=e.y;n[2]=e.z;n[3]=e.w}}else{if(arraysEqual(n,e))return;t.uniform4fv(this.addr,e);copyArray(n,e)}}function setValueM2(t,e){const n=this.cache;const i=e.elements;if(i===void 0){if(arraysEqual(n,e))return;t.uniformMatrix2fv(this.addr,false,e);copyArray(n,e)}else{if(arraysEqual(n,i))return;ol.set(i);t.uniformMatrix2fv(this.addr,false,ol);copyArray(n,i)}}function setValueM3(t,e){const n=this.cache;const i=e.elements;if(i===void 0){if(arraysEqual(n,e))return;t.uniformMatrix3fv(this.addr,false,e);copyArray(n,e)}else{if(arraysEqual(n,i))return;al.set(i);t.uniformMatrix3fv(this.addr,false,al);copyArray(n,i)}}function setValueM4(t,e){const n=this.cache;const i=e.elements;if(i===void 0){if(arraysEqual(n,e))return;t.uniformMatrix4fv(this.addr,false,e);copyArray(n,e)}else{if(arraysEqual(n,i))return;sl.set(i);t.uniformMatrix4fv(this.addr,false,sl);copyArray(n,i)}}function setValueV1i(t,e){const n=this.cache;if(n[0]!==e){t.uniform1i(this.addr,e);n[0]=e}}function setValueV2i(t,e){const n=this.cache;if(e.x!==void 0){if(n[0]!==e.x||n[1]!==e.y){t.uniform2i(this.addr,e.x,e.y);n[0]=e.x;n[1]=e.y}}else{if(arraysEqual(n,e))return;t.uniform2iv(this.addr,e);copyArray(n,e)}}function setValueV3i(t,e){const n=this.cache;if(e.x!==void 0){if(n[0]!==e.x||n[1]!==e.y||n[2]!==e.z){t.uniform3i(this.addr,e.x,e.y,e.z);n[0]=e.x;n[1]=e.y;n[2]=e.z}}else{if(arraysEqual(n,e))return;t.uniform3iv(this.addr,e);copyArray(n,e)}}function setValueV4i(t,e){const n=this.cache;if(e.x!==void 0){if(n[0]!==e.x||n[1]!==e.y||n[2]!==e.z||n[3]!==e.w){t.uniform4i(this.addr,e.x,e.y,e.z,e.w);n[0]=e.x;n[1]=e.y;n[2]=e.z;n[3]=e.w}}else{if(arraysEqual(n,e))return;t.uniform4iv(this.addr,e);copyArray(n,e)}}function setValueV1ui(t,e){const n=this.cache;if(n[0]!==e){t.uniform1ui(this.addr,e);n[0]=e}}function setValueV2ui(t,e){const n=this.cache;if(e.x!==void 0){if(n[0]!==e.x||n[1]!==e.y){t.uniform2ui(this.addr,e.x,e.y);n[0]=e.x;n[1]=e.y}}else{if(arraysEqual(n,e))return;t.uniform2uiv(this.addr,e);copyArray(n,e)}}function setValueV3ui(t,e){const n=this.cache;if(e.x!==void 0){if(n[0]!==e.x||n[1]!==e.y||n[2]!==e.z){t.uniform3ui(this.addr,e.x,e.y,e.z);n[0]=e.x;n[1]=e.y;n[2]=e.z}}else{if(arraysEqual(n,e))return;t.uniform3uiv(this.addr,e);copyArray(n,e)}}function setValueV4ui(t,e){const n=this.cache;if(e.x!==void 0){if(n[0]!==e.x||n[1]!==e.y||n[2]!==e.z||n[3]!==e.w){t.uniform4ui(this.addr,e.x,e.y,e.z,e.w);n[0]=e.x;n[1]=e.y;n[2]=e.z;n[3]=e.w}}else{if(arraysEqual(n,e))return;t.uniform4uiv(this.addr,e);copyArray(n,e)}}function setValueT1(t,e,n){const i=this.cache;const r=n.allocateTextureUnit();if(i[0]!==r){t.uniform1i(this.addr,r);i[0]=r}let s;if(this.type===t.SAMPLER_2D_SHADOW){$o.compareFunction=bn;s=$o}else s=Qo;n.setTexture2D(e||s,r)}function setValueT3D1(t,e,n){const i=this.cache;const r=n.allocateTextureUnit();if(i[0]!==r){t.uniform1i(this.addr,r);i[0]=r}n.setTexture3D(e||el,r)}function setValueT6(t,e,n){const i=this.cache;const r=n.allocateTextureUnit();if(i[0]!==r){t.uniform1i(this.addr,r);i[0]=r}n.setTextureCube(e||nl,r)}function setValueT2DArray1(t,e,n){const i=this.cache;const r=n.allocateTextureUnit();if(i[0]!==r){t.uniform1i(this.addr,r);i[0]=r}n.setTexture2DArray(e||tl,r)}function getSingularSetter(t){switch(t){case 5126:return setValueV1f;case 35664:return setValueV2f;case 35665:return setValueV3f;case 35666:return setValueV4f;case 35674:return setValueM2;case 35675:return setValueM3;case 35676:return setValueM4;case 5124:case 35670:return setValueV1i;case 35667:case 35671:return setValueV2i;case 35668:case 35672:return setValueV3i;case 35669:case 35673:return setValueV4i;case 5125:return setValueV1ui;case 36294:return setValueV2ui;case 36295:return setValueV3ui;case 36296:return setValueV4ui;case 35678:case 36198:case 36298:case 36306:case 35682:return setValueT1;case 35679:case 36299:case 36307:return setValueT3D1;case 35680:case 36300:case 36308:case 36293:return setValueT6;case 36289:case 36303:case 36311:case 36292:return setValueT2DArray1}}function setValueV1fArray(t,e){t.uniform1fv(this.addr,e)}function setValueV2fArray(t,e){const n=flatten(e,this.size,2);t.uniform2fv(this.addr,n)}function setValueV3fArray(t,e){const n=flatten(e,this.size,3);t.uniform3fv(this.addr,n)}function setValueV4fArray(t,e){const n=flatten(e,this.size,4);t.uniform4fv(this.addr,n)}function setValueM2Array(t,e){const n=flatten(e,this.size,4);t.uniformMatrix2fv(this.addr,false,n)}function setValueM3Array(t,e){const n=flatten(e,this.size,9);t.uniformMatrix3fv(this.addr,false,n)}function setValueM4Array(t,e){const n=flatten(e,this.size,16);t.uniformMatrix4fv(this.addr,false,n)}function setValueV1iArray(t,e){t.uniform1iv(this.addr,e)}function setValueV2iArray(t,e){t.uniform2iv(this.addr,e)}function setValueV3iArray(t,e){t.uniform3iv(this.addr,e)}function setValueV4iArray(t,e){t.uniform4iv(this.addr,e)}function setValueV1uiArray(t,e){t.uniform1uiv(this.addr,e)}function setValueV2uiArray(t,e){t.uniform2uiv(this.addr,e)}function setValueV3uiArray(t,e){t.uniform3uiv(this.addr,e)}function setValueV4uiArray(t,e){t.uniform4uiv(this.addr,e)}function setValueT1Array(t,e,n){const i=this.cache;const r=e.length;const s=allocTexUnits(n,r);if(!arraysEqual(i,s)){t.uniform1iv(this.addr,s);copyArray(i,s)}for(let t=0;t!==r;++t)n.setTexture2D(e[t]||Qo,s[t])}function setValueT3DArray(t,e,n){const i=this.cache;const r=e.length;const s=allocTexUnits(n,r);if(!arraysEqual(i,s)){t.uniform1iv(this.addr,s);copyArray(i,s)}for(let t=0;t!==r;++t)n.setTexture3D(e[t]||el,s[t])}function setValueT6Array(t,e,n){const i=this.cache;const r=e.length;const s=allocTexUnits(n,r);if(!arraysEqual(i,s)){t.uniform1iv(this.addr,s);copyArray(i,s)}for(let t=0;t!==r;++t)n.setTextureCube(e[t]||nl,s[t])}function setValueT2DArrayArray(t,e,n){const i=this.cache;const r=e.length;const s=allocTexUnits(n,r);if(!arraysEqual(i,s)){t.uniform1iv(this.addr,s);copyArray(i,s)}for(let t=0;t!==r;++t)n.setTexture2DArray(e[t]||tl,s[t])}function getPureArraySetter(t){switch(t){case 5126:return setValueV1fArray;case 35664:return setValueV2fArray;case 35665:return setValueV3fArray;case 35666:return setValueV4fArray;case 35674:return setValueM2Array;case 35675:return setValueM3Array;case 35676:return setValueM4Array;case 5124:case 35670:return setValueV1iArray;case 35667:case 35671:return setValueV2iArray;case 35668:case 35672:return setValueV3iArray;case 35669:case 35673:return setValueV4iArray;case 5125:return setValueV1uiArray;case 36294:return setValueV2uiArray;case 36295:return setValueV3uiArray;case 36296:return setValueV4uiArray;case 35678:case 36198:case 36298:case 36306:case 35682:return setValueT1Array;case 35679:case 36299:case 36307:return setValueT3DArray;case 35680:case 36300:case 36308:case 36293:return setValueT6Array;case 36289:case 36303:case 36311:case 36292:return setValueT2DArrayArray}}class SingleUniform{constructor(t,e,n){this.id=t;this.addr=n;this.cache=[];this.type=e.type;this.setValue=getSingularSetter(e.type)}}class PureArrayUniform{constructor(t,e,n){this.id=t;this.addr=n;this.cache=[];this.type=e.type;this.size=e.size;this.setValue=getPureArraySetter(e.type)}}class StructuredUniform{constructor(t){this.id=t;this.seq=[];this.map={}}setValue(t,e,n){const i=this.seq;for(let r=0,s=i.length;r!==s;++r){const s=i[r];s.setValue(t,e[s.id],n)}}}const ll=/(\\w+)(\\])?(\\[|\\.)?/g;function addUniform(t,e){t.seq.push(e);t.map[e.id]=e}function parseUniform(t,e,n){const i=t.name,r=i.length;ll.lastIndex=0;while(true){const s=ll.exec(i),a=ll.lastIndex;let o=s[1];const l=s[2]===\"]\",c=s[3];l&&(o|=0);if(c===void 0||c===\"[\"&&a+2===r){addUniform(n,c===void 0?new SingleUniform(o,t,e):new PureArrayUniform(o,t,e));break}{const t=n.map;let e=t[o];if(e===void 0){e=new StructuredUniform(o);addUniform(n,e)}n=e}}}class WebGLUniforms{constructor(t,e){this.seq=[];this.map={};const n=t.getProgramParameter(e,t.ACTIVE_UNIFORMS);for(let i=0;i<n;++i){const n=t.getActiveUniform(e,i),r=t.getUniformLocation(e,n.name);parseUniform(n,r,this)}}setValue(t,e,n,i){const r=this.map[e];r!==void 0&&r.setValue(t,n,i)}setOptional(t,e,n){const i=e[n];i!==void 0&&this.setValue(t,n,i)}static upload(t,e,n,i){for(let r=0,s=e.length;r!==s;++r){const s=e[r],a=n[s.id];a.needsUpdate!==false&&s.setValue(t,a.value,i)}}static seqWithValue(t,e){const n=[];for(let i=0,r=t.length;i!==r;++i){const r=t[i];r.id in e&&n.push(r)}return n}}function WebGLShader(t,e,n){const i=t.createShader(e);t.shaderSource(i,n);t.compileShader(i);return i}const cl=37297;let hl=0;function handleSource(t,e){const n=t.split(\"\\n\");const i=[];const r=Math.max(e-6,0);const s=Math.min(e+6,n.length);for(let t=r;t<s;t++){const r=t+1;i.push(`${r===e?\">\":\" \"} ${r}: ${n[t]}`)}return i.join(\"\\n\")}function getEncodingComponents(t){const e=$n.getPrimaries($n.workingColorSpace);const n=$n.getPrimaries(t);let i;e===n?i=\"\":e===nn&&n===en?i=\"LinearDisplayP3ToLinearSRGB\":e===en&&n===nn&&(i=\"LinearSRGBToLinearDisplayP3\");switch(t){case Ze:case Qe:return[i,\"LinearTransferOETF\"];case Ke:case Je:return[i,\"sRGBTransferOETF\"];default:console.warn(\"THREE.WebGLProgram: Unsupported color space:\",t);return[i,\"LinearTransferOETF\"]}}function getShaderErrors(t,e,n){const i=t.getShaderParameter(e,t.COMPILE_STATUS);const r=t.getShaderInfoLog(e).trim();if(i&&r===\"\")return\"\";const s=/ERROR: 0:(\\d+)/.exec(r);if(s){const i=parseInt(s[1]);return n.toUpperCase()+\"\\n\\n\"+r+\"\\n\\n\"+handleSource(t.getShaderSource(e),i)}return r}function getTexelEncodingFunction(t,e){const n=getEncodingComponents(e);return`vec4 ${t}( vec4 value ) { return ${n[0]}( ${n[1]}( value ) ); }`}function getToneMappingFunction(t,e){let n;switch(e){case $:n=\"Linear\";break;case tt:n=\"Reinhard\";break;case et:n=\"OptimizedCineon\";break;case nt:n=\"ACESFilmic\";break;case rt:n=\"AgX\";break;case st:n=\"Neutral\";break;case it:n=\"Custom\";break;default:console.warn(\"THREE.WebGLProgram: Unsupported toneMapping:\",e);n=\"Linear\"}return\"vec3 \"+t+\"( vec3 color ) { return \"+n+\"ToneMapping( color ); }\"}function generateVertexExtensions(t){const e=[t.extensionClipCullDistance?\"#extension GL_ANGLE_clip_cull_distance : require\":\"\",t.extensionMultiDraw?\"#extension GL_ANGLE_multi_draw : require\":\"\"];return e.filter(filterEmptyLine).join(\"\\n\")}function generateDefines(t){const e=[];for(const n in t){const i=t[n];i!==false&&e.push(\"#define \"+n+\" \"+i)}return e.join(\"\\n\")}function fetchAttributeLocations(t,e){const n={};const i=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES);for(let r=0;r<i;r++){const i=t.getActiveAttrib(e,r);const s=i.name;let a=1;i.type===t.FLOAT_MAT2&&(a=2);i.type===t.FLOAT_MAT3&&(a=3);i.type===t.FLOAT_MAT4&&(a=4);n[s]={type:i.type,location:t.getAttribLocation(e,s),locationSize:a}}return n}function filterEmptyLine(t){return t!==\"\"}function replaceLightNums(t,e){const n=e.numSpotLightShadows+e.numSpotLightMaps-e.numSpotLightShadowsWithMaps;return t.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,e.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,n).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,e.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function replaceClippingPlaneNums(t,e){return t.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const ul=/^[ \\t]*#include +<([\\w\\d./]+)>/gm;function resolveIncludes(t){return t.replace(ul,includeReplacer)}const dl=new Map;function includeReplacer(t,e){let n=Do[e];if(n===void 0){const t=dl.get(e);if(t===void 0)throw new Error(\"Can not resolve #include <\"+e+\">\");n=Do[t];console.warn('THREE.WebGLRenderer: Shader chunk \"%s\" has been deprecated. Use \"%s\" instead.',e,t)}return resolveIncludes(n)}const pl=/#pragma unroll_loop_start\\s+for\\s*\\(\\s*int\\s+i\\s*=\\s*(\\d+)\\s*;\\s*i\\s*<\\s*(\\d+)\\s*;\\s*i\\s*\\+\\+\\s*\\)\\s*{([\\s\\S]+?)}\\s+#pragma unroll_loop_end/g;function unrollLoops(t){return t.replace(pl,loopReplacer)}function loopReplacer(t,e,n,i){let r=\"\";for(let t=parseInt(e);t<parseInt(n);t++)r+=i.replace(/\\[\\s*i\\s*\\]/g,\"[ \"+t+\" ]\").replace(/UNROLLED_LOOP_INDEX/g,t);return r}function generatePrecision(t){let e=`precision ${t.precision} float;\\n\\tprecision ${t.precision} int;\\n\\tprecision ${t.precision} sampler2D;\\n\\tprecision ${t.precision} samplerCube;\\n\\tprecision ${t.precision} sampler3D;\\n\\tprecision ${t.precision} sampler2DArray;\\n\\tprecision ${t.precision} sampler2DShadow;\\n\\tprecision ${t.precision} samplerCubeShadow;\\n\\tprecision ${t.precision} sampler2DArrayShadow;\\n\\tprecision ${t.precision} isampler2D;\\n\\tprecision ${t.precision} isampler3D;\\n\\tprecision ${t.precision} isamplerCube;\\n\\tprecision ${t.precision} isampler2DArray;\\n\\tprecision ${t.precision} usampler2D;\\n\\tprecision ${t.precision} usampler3D;\\n\\tprecision ${t.precision} usamplerCube;\\n\\tprecision ${t.precision} usampler2DArray;\\n\\t`;t.precision===\"highp\"?e+=\"\\n#define HIGH_PRECISION\":t.precision===\"mediump\"?e+=\"\\n#define MEDIUM_PRECISION\":t.precision===\"lowp\"&&(e+=\"\\n#define LOW_PRECISION\");return e}function generateShadowMapTypeDefine(t){let e=\"SHADOWMAP_TYPE_BASIC\";t.shadowMapType===l?e=\"SHADOWMAP_TYPE_PCF\":t.shadowMapType===c?e=\"SHADOWMAP_TYPE_PCF_SOFT\":t.shadowMapType===h&&(e=\"SHADOWMAP_TYPE_VSM\");return e}function generateEnvMapTypeDefine(t){let e=\"ENVMAP_TYPE_CUBE\";if(t.envMap)switch(t.envMapMode){case ct:case ht:e=\"ENVMAP_TYPE_CUBE\";break;case pt:e=\"ENVMAP_TYPE_CUBE_UV\";break}return e}function generateEnvMapModeDefine(t){let e=\"ENVMAP_MODE_REFLECTION\";if(t.envMap)switch(t.envMapMode){case ht:e=\"ENVMAP_MODE_REFRACTION\";break}return e}function generateEnvMapBlendingDefine(t){let e=\"ENVMAP_BLENDING_NONE\";if(t.envMap)switch(t.combine){case K:e=\"ENVMAP_BLENDING_MULTIPLY\";break;case Z:e=\"ENVMAP_BLENDING_MIX\";break;case J:e=\"ENVMAP_BLENDING_ADD\";break}return e}function generateCubeUVSize(t){const e=t.envMapCubeUVHeight;if(e===null)return null;const n=Math.log2(e)-2;const i=1/e;const r=1/(3*Math.max(Math.pow(2,n),112));return{texelWidth:r,texelHeight:i,maxMip:n}}function WebGLProgram(t,e,n,i){const r=t.getContext();const s=n.defines;let a=n.vertexShader;let o=n.fragmentShader;const l=generateShadowMapTypeDefine(n);const c=generateEnvMapTypeDefine(n);const h=generateEnvMapModeDefine(n);const u=generateEnvMapBlendingDefine(n);const d=generateCubeUVSize(n);const p=generateVertexExtensions(n);const f=generateDefines(s);const m=r.createProgram();let g,_;let x=n.glslVersion?\"#version \"+n.glslVersion+\"\\n\":\"\";if(n.isRawShaderMaterial){g=[\"#define SHADER_TYPE \"+n.shaderType,\"#define SHADER_NAME \"+n.shaderName,f].filter(filterEmptyLine).join(\"\\n\");g.length>0&&(g+=\"\\n\");_=[\"#define SHADER_TYPE \"+n.shaderType,\"#define SHADER_NAME \"+n.shaderName,f].filter(filterEmptyLine).join(\"\\n\");_.length>0&&(_+=\"\\n\")}else{g=[generatePrecision(n),\"#define SHADER_TYPE \"+n.shaderType,\"#define SHADER_NAME \"+n.shaderName,f,n.extensionClipCullDistance?\"#define USE_CLIP_DISTANCE\":\"\",n.batching?\"#define USE_BATCHING\":\"\",n.batchingColor?\"#define USE_BATCHING_COLOR\":\"\",n.instancing?\"#define USE_INSTANCING\":\"\",n.instancingColor?\"#define USE_INSTANCING_COLOR\":\"\",n.instancingMorph?\"#define USE_INSTANCING_MORPH\":\"\",n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp2?\"#define FOG_EXP2\":\"\",n.map?\"#define USE_MAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+h:\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.normalMapObjectSpace?\"#define USE_NORMALMAP_OBJECTSPACE\":\"\",n.normalMapTangentSpace?\"#define USE_NORMALMAP_TANGENTSPACE\":\"\",n.displacementMap?\"#define USE_DISPLACEMENTMAP\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.anisotropy?\"#define USE_ANISOTROPY\":\"\",n.anisotropyMap?\"#define USE_ANISOTROPYMAP\":\"\",n.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",n.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",n.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",n.iridescenceMap?\"#define USE_IRIDESCENCEMAP\":\"\",n.iridescenceThicknessMap?\"#define USE_IRIDESCENCE_THICKNESSMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.specularColorMap?\"#define USE_SPECULAR_COLORMAP\":\"\",n.specularIntensityMap?\"#define USE_SPECULAR_INTENSITYMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.alphaHash?\"#define USE_ALPHAHASH\":\"\",n.transmission?\"#define USE_TRANSMISSION\":\"\",n.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",n.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",n.sheenColorMap?\"#define USE_SHEEN_COLORMAP\":\"\",n.sheenRoughnessMap?\"#define USE_SHEEN_ROUGHNESSMAP\":\"\",n.mapUv?\"#define MAP_UV \"+n.mapUv:\"\",n.alphaMapUv?\"#define ALPHAMAP_UV \"+n.alphaMapUv:\"\",n.lightMapUv?\"#define LIGHTMAP_UV \"+n.lightMapUv:\"\",n.aoMapUv?\"#define AOMAP_UV \"+n.aoMapUv:\"\",n.emissiveMapUv?\"#define EMISSIVEMAP_UV \"+n.emissiveMapUv:\"\",n.bumpMapUv?\"#define BUMPMAP_UV \"+n.bumpMapUv:\"\",n.normalMapUv?\"#define NORMALMAP_UV \"+n.normalMapUv:\"\",n.displacementMapUv?\"#define DISPLACEMENTMAP_UV \"+n.displacementMapUv:\"\",n.metalnessMapUv?\"#define METALNESSMAP_UV \"+n.metalnessMapUv:\"\",n.roughnessMapUv?\"#define ROUGHNESSMAP_UV \"+n.roughnessMapUv:\"\",n.anisotropyMapUv?\"#define ANISOTROPYMAP_UV \"+n.anisotropyMapUv:\"\",n.clearcoatMapUv?\"#define CLEARCOATMAP_UV \"+n.clearcoatMapUv:\"\",n.clearcoatNormalMapUv?\"#define CLEARCOAT_NORMALMAP_UV \"+n.clearcoatNormalMapUv:\"\",n.clearcoatRoughnessMapUv?\"#define CLEARCOAT_ROUGHNESSMAP_UV \"+n.clearcoatRoughnessMapUv:\"\",n.iridescenceMapUv?\"#define IRIDESCENCEMAP_UV \"+n.iridescenceMapUv:\"\",n.iridescenceThicknessMapUv?\"#define IRIDESCENCE_THICKNESSMAP_UV \"+n.iridescenceThicknessMapUv:\"\",n.sheenColorMapUv?\"#define SHEEN_COLORMAP_UV \"+n.sheenColorMapUv:\"\",n.sheenRoughnessMapUv?\"#define SHEEN_ROUGHNESSMAP_UV \"+n.sheenRoughnessMapUv:\"\",n.specularMapUv?\"#define SPECULARMAP_UV \"+n.specularMapUv:\"\",n.specularColorMapUv?\"#define SPECULAR_COLORMAP_UV \"+n.specularColorMapUv:\"\",n.specularIntensityMapUv?\"#define SPECULAR_INTENSITYMAP_UV \"+n.specularIntensityMapUv:\"\",n.transmissionMapUv?\"#define TRANSMISSIONMAP_UV \"+n.transmissionMapUv:\"\",n.thicknessMapUv?\"#define THICKNESSMAP_UV \"+n.thicknessMapUv:\"\",n.vertexTangents&&n.flatShading===false?\"#define USE_TANGENT\":\"\",n.vertexColors?\"#define USE_COLOR\":\"\",n.vertexAlphas?\"#define USE_COLOR_ALPHA\":\"\",n.vertexUv1s?\"#define USE_UV1\":\"\",n.vertexUv2s?\"#define USE_UV2\":\"\",n.vertexUv3s?\"#define USE_UV3\":\"\",n.pointsUvs?\"#define USE_POINTS_UV\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.skinning?\"#define USE_SKINNING\":\"\",n.morphTargets?\"#define USE_MORPHTARGETS\":\"\",n.morphNormals&&n.flatShading===false?\"#define USE_MORPHNORMALS\":\"\",n.morphColors?\"#define USE_MORPHCOLORS\":\"\",n.morphTargetsCount>0?\"#define MORPHTARGETS_TEXTURE_STRIDE \"+n.morphTextureStride:\"\",n.morphTargetsCount>0?\"#define MORPHTARGETS_COUNT \"+n.morphTargetsCount:\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+l:\"\",n.sizeAttenuation?\"#define USE_SIZEATTENUATION\":\"\",n.numLightProbes>0?\"#define USE_LIGHT_PROBES\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",\"uniform mat4 modelMatrix;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform mat4 viewMatrix;\",\"uniform mat3 normalMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",\"#ifdef USE_INSTANCING\",\"\\tattribute mat4 instanceMatrix;\",\"#endif\",\"#ifdef USE_INSTANCING_COLOR\",\"\\tattribute vec3 instanceColor;\",\"#endif\",\"#ifdef USE_INSTANCING_MORPH\",\"\\tuniform sampler2D morphTexture;\",\"#endif\",\"attribute vec3 position;\",\"attribute vec3 normal;\",\"attribute vec2 uv;\",\"#ifdef USE_UV1\",\"\\tattribute vec2 uv1;\",\"#endif\",\"#ifdef USE_UV2\",\"\\tattribute vec2 uv2;\",\"#endif\",\"#ifdef USE_UV3\",\"\\tattribute vec2 uv3;\",\"#endif\",\"#ifdef USE_TANGENT\",\"\\tattribute vec4 tangent;\",\"#endif\",\"#if defined( USE_COLOR_ALPHA )\",\"\\tattribute vec4 color;\",\"#elif defined( USE_COLOR )\",\"\\tattribute vec3 color;\",\"#endif\",\"#ifdef USE_SKINNING\",\"\\tattribute vec4 skinIndex;\",\"\\tattribute vec4 skinWeight;\",\"#endif\",\"\\n\"].filter(filterEmptyLine).join(\"\\n\");_=[generatePrecision(n),\"#define SHADER_TYPE \"+n.shaderType,\"#define SHADER_NAME \"+n.shaderName,f,n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp2?\"#define FOG_EXP2\":\"\",n.alphaToCoverage?\"#define ALPHA_TO_COVERAGE\":\"\",n.map?\"#define USE_MAP\":\"\",n.matcap?\"#define USE_MATCAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+c:\"\",n.envMap?\"#define \"+h:\"\",n.envMap?\"#define \"+u:\"\",d?\"#define CUBEUV_TEXEL_WIDTH \"+d.texelWidth:\"\",d?\"#define CUBEUV_TEXEL_HEIGHT \"+d.texelHeight:\"\",d?\"#define CUBEUV_MAX_MIP \"+d.maxMip+\".0\":\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.normalMapObjectSpace?\"#define USE_NORMALMAP_OBJECTSPACE\":\"\",n.normalMapTangentSpace?\"#define USE_NORMALMAP_TANGENTSPACE\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.anisotropy?\"#define USE_ANISOTROPY\":\"\",n.anisotropyMap?\"#define USE_ANISOTROPYMAP\":\"\",n.clearcoat?\"#define USE_CLEARCOAT\":\"\",n.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",n.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",n.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",n.dispersion?\"#define USE_DISPERSION\":\"\",n.iridescence?\"#define USE_IRIDESCENCE\":\"\",n.iridescenceMap?\"#define USE_IRIDESCENCEMAP\":\"\",n.iridescenceThicknessMap?\"#define USE_IRIDESCENCE_THICKNESSMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.specularColorMap?\"#define USE_SPECULAR_COLORMAP\":\"\",n.specularIntensityMap?\"#define USE_SPECULAR_INTENSITYMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.alphaTest?\"#define USE_ALPHATEST\":\"\",n.alphaHash?\"#define USE_ALPHAHASH\":\"\",n.sheen?\"#define USE_SHEEN\":\"\",n.sheenColorMap?\"#define USE_SHEEN_COLORMAP\":\"\",n.sheenRoughnessMap?\"#define USE_SHEEN_ROUGHNESSMAP\":\"\",n.transmission?\"#define USE_TRANSMISSION\":\"\",n.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",n.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",n.vertexTangents&&n.flatShading===false?\"#define USE_TANGENT\":\"\",n.vertexColors||n.instancingColor||n.batchingColor?\"#define USE_COLOR\":\"\",n.vertexAlphas?\"#define USE_COLOR_ALPHA\":\"\",n.vertexUv1s?\"#define USE_UV1\":\"\",n.vertexUv2s?\"#define USE_UV2\":\"\",n.vertexUv3s?\"#define USE_UV3\":\"\",n.pointsUvs?\"#define USE_POINTS_UV\":\"\",n.gradientMap?\"#define USE_GRADIENTMAP\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+l:\"\",n.premultipliedAlpha?\"#define PREMULTIPLIED_ALPHA\":\"\",n.numLightProbes>0?\"#define USE_LIGHT_PROBES\":\"\",n.decodeVideoTexture?\"#define DECODE_VIDEO_TEXTURE\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",\"uniform mat4 viewMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",n.toneMapping!==Q?\"#define TONE_MAPPING\":\"\",n.toneMapping!==Q?Do.tonemapping_pars_fragment:\"\",n.toneMapping!==Q?getToneMappingFunction(\"toneMapping\",n.toneMapping):\"\",n.dithering?\"#define DITHERING\":\"\",n.opaque?\"#define OPAQUE\":\"\",Do.colorspace_pars_fragment,getTexelEncodingFunction(\"linearToOutputTexel\",n.outputColorSpace),n.useDepthPacking?\"#define DEPTH_PACKING \"+n.depthPacking:\"\",\"\\n\"].filter(filterEmptyLine).join(\"\\n\")}a=resolveIncludes(a);a=replaceLightNums(a,n);a=replaceClippingPlaneNums(a,n);o=resolveIncludes(o);o=replaceLightNums(o,n);o=replaceClippingPlaneNums(o,n);a=unrollLoops(a);o=unrollLoops(o);if(n.isRawShaderMaterial!==true){x=\"#version 300 es\\n\";g=[p,\"#define attribute in\",\"#define varying out\",\"#define texture2D texture\"].join(\"\\n\")+\"\\n\"+g;_=[\"#define varying in\",n.glslVersion===Vn?\"\":\"layout(location = 0) out highp vec4 pc_fragColor;\",n.glslVersion===Vn?\"\":\"#define gl_FragColor pc_fragColor\",\"#define gl_FragDepthEXT gl_FragDepth\",\"#define texture2D texture\",\"#define textureCube texture\",\"#define texture2DProj textureProj\",\"#define texture2DLodEXT textureLod\",\"#define texture2DProjLodEXT textureProjLod\",\"#define textureCubeLodEXT textureLod\",\"#define texture2DGradEXT textureGrad\",\"#define texture2DProjGradEXT textureProjGrad\",\"#define textureCubeGradEXT textureGrad\"].join(\"\\n\")+\"\\n\"+_}const y=x+g+a;const M=x+_+o;const S=WebGLShader(r,r.VERTEX_SHADER,y);const b=WebGLShader(r,r.FRAGMENT_SHADER,M);r.attachShader(m,S);r.attachShader(m,b);n.index0AttributeName!==void 0?r.bindAttribLocation(m,0,n.index0AttributeName):n.morphTargets===true&&r.bindAttribLocation(m,0,\"position\");r.linkProgram(m);function onFirstUse(e){if(t.debug.checkShaderErrors){const n=r.getProgramInfoLog(m).trim();const i=r.getShaderInfoLog(S).trim();const s=r.getShaderInfoLog(b).trim();let a=true;let o=true;if(r.getProgramParameter(m,r.LINK_STATUS)===false){a=false;if(typeof t.debug.onShaderError===\"function\")t.debug.onShaderError(r,m,S,b);else{const t=getShaderErrors(r,S,\"vertex\");const i=getShaderErrors(r,b,\"fragment\");console.error(\"THREE.WebGLProgram: Shader Error \"+r.getError()+\" - VALIDATE_STATUS \"+r.getProgramParameter(m,r.VALIDATE_STATUS)+\"\\n\\nMaterial Name: \"+e.name+\"\\nMaterial Type: \"+e.type+\"\\n\\nProgram Info Log: \"+n+\"\\n\"+t+\"\\n\"+i)}}else n!==\"\"?console.warn(\"THREE.WebGLProgram: Program Info Log:\",n):i!==\"\"&&s!==\"\"||(o=false);o&&(e.diagnostics={runnable:a,programLog:n,vertexShader:{log:i,prefix:g},fragmentShader:{log:s,prefix:_}})}r.deleteShader(S);r.deleteShader(b);T=new WebGLUniforms(r,m);w=fetchAttributeLocations(r,m)}let T;this.getUniforms=function(){T===void 0&&onFirstUse(this);return T};let w;this.getAttributes=function(){w===void 0&&onFirstUse(this);return w};let E=n.rendererExtensionParallelShaderCompile===false;this.isReady=function(){E===false&&(E=r.getProgramParameter(m,cl));return E};this.destroy=function(){i.releaseStatesOfProgram(this);r.deleteProgram(m);this.program=void 0};this.type=n.shaderType;this.name=n.shaderName;this.id=hl++;this.cacheKey=e;this.usedTimes=1;this.program=m;this.vertexShader=S;this.fragmentShader=b;return this}let fl=0;class WebGLShaderCache{constructor(){this.shaderCache=new Map;this.materialCache=new Map}update(t){const e=t.vertexShader;const n=t.fragmentShader;const i=this._getShaderStage(e);const r=this._getShaderStage(n);const s=this._getShaderCacheForMaterial(t);if(s.has(i)===false){s.add(i);i.usedTimes++}if(s.has(r)===false){s.add(r);r.usedTimes++}return this}remove(t){const e=this.materialCache.get(t);for(const t of e){t.usedTimes--;t.usedTimes===0&&this.shaderCache.delete(t.code)}this.materialCache.delete(t);return this}getVertexShaderID(t){return this._getShaderStage(t.vertexShader).id}getFragmentShaderID(t){return this._getShaderStage(t.fragmentShader).id}dispose(){this.shaderCache.clear();this.materialCache.clear()}_getShaderCacheForMaterial(t){const e=this.materialCache;let n=e.get(t);if(n===void 0){n=new Set;e.set(t,n)}return n}_getShaderStage(t){const e=this.shaderCache;let n=e.get(t);if(n===void 0){n=new WebGLShaderStage(t);e.set(t,n)}return n}}class WebGLShaderStage{constructor(t){this.id=fl++;this.code=t;this.usedTimes=0}}function WebGLPrograms(t,e,n,i,r,s,a){const o=new Layers;const l=new WebGLShaderCache;const c=new Set;const h=[];const u=r.logarithmicDepthBuffer;const f=r.vertexTextures;let g=r.precision;const _={MeshDepthMaterial:\"depth\",MeshDistanceMaterial:\"distanceRGBA\",MeshNormalMaterial:\"normal\",MeshBasicMaterial:\"basic\",MeshLambertMaterial:\"lambert\",MeshPhongMaterial:\"phong\",MeshToonMaterial:\"toon\",MeshStandardMaterial:\"physical\",MeshPhysicalMaterial:\"physical\",MeshMatcapMaterial:\"matcap\",LineBasicMaterial:\"basic\",LineDashedMaterial:\"dashed\",PointsMaterial:\"points\",ShadowMaterial:\"shadow\",SpriteMaterial:\"sprite\"};function getChannel(t){c.add(t);return t===0?\"uv\":`uv${t}`}function getParameters(s,o,h,x,y){const M=x.fog;const S=y.geometry;const b=s.isMeshStandardMaterial?x.environment:null;const T=(s.isMeshStandardMaterial?n:e).get(s.envMap||b);const w=!T||T.mapping!==pt?null:T.image.height;const E=_[s.type];if(s.precision!==null){g=r.getMaxPrecision(s.precision);g!==s.precision&&console.warn(\"THREE.WebGLProgram.getParameters:\",s.precision,\"not supported, using\",g,\"instead.\")}const A=S.morphAttributes.position||S.morphAttributes.normal||S.morphAttributes.color;const C=A!==void 0?A.length:0;let R=0;S.morphAttributes.position!==void 0&&(R=1);S.morphAttributes.normal!==void 0&&(R=2);S.morphAttributes.color!==void 0&&(R=3);let P,L;let I,U;if(E){const t=Bo[E];P=t.vertexShader;L=t.fragmentShader}else{P=s.vertexShader;L=s.fragmentShader;l.update(s);I=l.getVertexShaderID(s);U=l.getFragmentShaderID(s)}const D=t.getRenderTarget();const N=y.isInstancedMesh===true;const B=y.isBatchedMesh===true;const O=!!s.map;const V=!!s.matcap;const F=!!T;const z=!!s.aoMap;const G=!!s.lightMap;const k=!!s.bumpMap;const H=!!s.normalMap;const W=!!s.displacementMap;const X=!!s.emissiveMap;const j=!!s.metalnessMap;const q=!!s.roughnessMap;const Y=s.anisotropy>0;const K=s.clearcoat>0;const Z=s.dispersion>0;const J=s.iridescence>0;const $=s.sheen>0;const tt=s.transmission>0;const et=Y&&!!s.anisotropyMap;const nt=K&&!!s.clearcoatMap;const it=K&&!!s.clearcoatNormalMap;const rt=K&&!!s.clearcoatRoughnessMap;const st=J&&!!s.iridescenceMap;const at=J&&!!s.iridescenceThicknessMap;const ot=$&&!!s.sheenColorMap;const lt=$&&!!s.sheenRoughnessMap;const ct=!!s.specularMap;const ht=!!s.specularColorMap;const ut=!!s.specularIntensityMap;const dt=tt&&!!s.transmissionMap;const ft=tt&&!!s.thicknessMap;const mt=!!s.gradientMap;const gt=!!s.alphaMap;const vt=s.alphaTest>0;const _t=!!s.alphaHash;const xt=!!s.extensions;let yt=Q;s.toneMapped&&(D!==null&&D.isXRRenderTarget!==true||(yt=t.toneMapping));const Mt={shaderID:E,shaderType:s.type,shaderName:s.name,vertexShader:P,fragmentShader:L,defines:s.defines,customVertexShaderID:I,customFragmentShaderID:U,isRawShaderMaterial:s.isRawShaderMaterial===true,glslVersion:s.glslVersion,precision:g,batching:B,batchingColor:B&&y._colorsTexture!==null,instancing:N,instancingColor:N&&y.instanceColor!==null,instancingMorph:N&&y.morphTexture!==null,supportsVertexTextures:f,outputColorSpace:D===null?t.outputColorSpace:D.isXRRenderTarget===true?D.texture.colorSpace:Ze,alphaToCoverage:!!s.alphaToCoverage,map:O,matcap:V,envMap:F,envMapMode:F&&T.mapping,envMapCubeUVHeight:w,aoMap:z,lightMap:G,bumpMap:k,normalMap:H,displacementMap:f&&W,emissiveMap:X,normalMapObjectSpace:H&&s.normalMapType===qe,normalMapTangentSpace:H&&s.normalMapType===je,metalnessMap:j,roughnessMap:q,anisotropy:Y,anisotropyMap:et,clearcoat:K,clearcoatMap:nt,clearcoatNormalMap:it,clearcoatRoughnessMap:rt,dispersion:Z,iridescence:J,iridescenceMap:st,iridescenceThicknessMap:at,sheen:$,sheenColorMap:ot,sheenRoughnessMap:lt,specularMap:ct,specularColorMap:ht,specularIntensityMap:ut,transmission:tt,transmissionMap:dt,thicknessMap:ft,gradientMap:mt,opaque:s.transparent===false&&s.blending===m&&s.alphaToCoverage===false,alphaMap:gt,alphaTest:vt,alphaHash:_t,combine:s.combine,mapUv:O&&getChannel(s.map.channel),aoMapUv:z&&getChannel(s.aoMap.channel),lightMapUv:G&&getChannel(s.lightMap.channel),bumpMapUv:k&&getChannel(s.bumpMap.channel),normalMapUv:H&&getChannel(s.normalMap.channel),displacementMapUv:W&&getChannel(s.displacementMap.channel),emissiveMapUv:X&&getChannel(s.emissiveMap.channel),metalnessMapUv:j&&getChannel(s.metalnessMap.channel),roughnessMapUv:q&&getChannel(s.roughnessMap.channel),anisotropyMapUv:et&&getChannel(s.anisotropyMap.channel),clearcoatMapUv:nt&&getChannel(s.clearcoatMap.channel),clearcoatNormalMapUv:it&&getChannel(s.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:rt&&getChannel(s.clearcoatRoughnessMap.channel),iridescenceMapUv:st&&getChannel(s.iridescenceMap.channel),iridescenceThicknessMapUv:at&&getChannel(s.iridescenceThicknessMap.channel),sheenColorMapUv:ot&&getChannel(s.sheenColorMap.channel),sheenRoughnessMapUv:lt&&getChannel(s.sheenRoughnessMap.channel),specularMapUv:ct&&getChannel(s.specularMap.channel),specularColorMapUv:ht&&getChannel(s.specularColorMap.channel),specularIntensityMapUv:ut&&getChannel(s.specularIntensityMap.channel),transmissionMapUv:dt&&getChannel(s.transmissionMap.channel),thicknessMapUv:ft&&getChannel(s.thicknessMap.channel),alphaMapUv:gt&&getChannel(s.alphaMap.channel),vertexTangents:!!S.attributes.tangent&&(H||Y),vertexColors:s.vertexColors,vertexAlphas:s.vertexColors===true&&!!S.attributes.color&&S.attributes.color.itemSize===4,pointsUvs:y.isPoints===true&&!!S.attributes.uv&&(O||gt),fog:!!M,useFog:s.fog===true,fogExp2:!!M&&M.isFogExp2,flatShading:s.flatShading===true,sizeAttenuation:s.sizeAttenuation===true,logarithmicDepthBuffer:u,skinning:y.isSkinnedMesh===true,morphTargets:S.morphAttributes.position!==void 0,morphNormals:S.morphAttributes.normal!==void 0,morphColors:S.morphAttributes.color!==void 0,morphTargetsCount:C,morphTextureStride:R,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numSpotLightMaps:o.spotLightMap.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numSpotLightShadowsWithMaps:o.numSpotLightShadowsWithMaps,numLightProbes:o.numLightProbes,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:s.dithering,shadowMapEnabled:t.shadowMap.enabled&&h.length>0,shadowMapType:t.shadowMap.type,toneMapping:yt,decodeVideoTexture:O&&s.map.isVideoTexture===true&&$n.getTransfer(s.map.colorSpace)===tn,premultipliedAlpha:s.premultipliedAlpha,doubleSided:s.side===p,flipSided:s.side===d,useDepthPacking:s.depthPacking>=0,depthPacking:s.depthPacking||0,index0AttributeName:s.index0AttributeName,extensionClipCullDistance:xt&&s.extensions.clipCullDistance===true&&i.has(\"WEBGL_clip_cull_distance\"),extensionMultiDraw:(xt&&s.extensions.multiDraw===true||B)&&i.has(\"WEBGL_multi_draw\"),rendererExtensionParallelShaderCompile:i.has(\"KHR_parallel_shader_compile\"),customProgramCacheKey:s.customProgramCacheKey()};Mt.vertexUv1s=c.has(1);Mt.vertexUv2s=c.has(2);Mt.vertexUv3s=c.has(3);c.clear();return Mt}function getProgramCacheKey(e){const n=[];if(e.shaderID)n.push(e.shaderID);else{n.push(e.customVertexShaderID);n.push(e.customFragmentShaderID)}if(e.defines!==void 0)for(const t in e.defines){n.push(t);n.push(e.defines[t])}if(e.isRawShaderMaterial===false){getProgramCacheKeyParameters(n,e);getProgramCacheKeyBooleans(n,e);n.push(t.outputColorSpace)}n.push(e.customProgramCacheKey);return n.join()}function getProgramCacheKeyParameters(t,e){t.push(e.precision);t.push(e.outputColorSpace);t.push(e.envMapMode);t.push(e.envMapCubeUVHeight);t.push(e.mapUv);t.push(e.alphaMapUv);t.push(e.lightMapUv);t.push(e.aoMapUv);t.push(e.bumpMapUv);t.push(e.normalMapUv);t.push(e.displacementMapUv);t.push(e.emissiveMapUv);t.push(e.metalnessMapUv);t.push(e.roughnessMapUv);t.push(e.anisotropyMapUv);t.push(e.clearcoatMapUv);t.push(e.clearcoatNormalMapUv);t.push(e.clearcoatRoughnessMapUv);t.push(e.iridescenceMapUv);t.push(e.iridescenceThicknessMapUv);t.push(e.sheenColorMapUv);t.push(e.sheenRoughnessMapUv);t.push(e.specularMapUv);t.push(e.specularColorMapUv);t.push(e.specularIntensityMapUv);t.push(e.transmissionMapUv);t.push(e.thicknessMapUv);t.push(e.combine);t.push(e.fogExp2);t.push(e.sizeAttenuation);t.push(e.morphTargetsCount);t.push(e.morphAttributeCount);t.push(e.numDirLights);t.push(e.numPointLights);t.push(e.numSpotLights);t.push(e.numSpotLightMaps);t.push(e.numHemiLights);t.push(e.numRectAreaLights);t.push(e.numDirLightShadows);t.push(e.numPointLightShadows);t.push(e.numSpotLightShadows);t.push(e.numSpotLightShadowsWithMaps);t.push(e.numLightProbes);t.push(e.shadowMapType);t.push(e.toneMapping);t.push(e.numClippingPlanes);t.push(e.numClipIntersection);t.push(e.depthPacking)}function getProgramCacheKeyBooleans(t,e){o.disableAll();e.supportsVertexTextures&&o.enable(0);e.instancing&&o.enable(1);e.instancingColor&&o.enable(2);e.instancingMorph&&o.enable(3);e.matcap&&o.enable(4);e.envMap&&o.enable(5);e.normalMapObjectSpace&&o.enable(6);e.normalMapTangentSpace&&o.enable(7);e.clearcoat&&o.enable(8);e.iridescence&&o.enable(9);e.alphaTest&&o.enable(10);e.vertexColors&&o.enable(11);e.vertexAlphas&&o.enable(12);e.vertexUv1s&&o.enable(13);e.vertexUv2s&&o.enable(14);e.vertexUv3s&&o.enable(15);e.vertexTangents&&o.enable(16);e.anisotropy&&o.enable(17);e.alphaHash&&o.enable(18);e.batching&&o.enable(19);e.dispersion&&o.enable(20);e.batchingColor&&o.enable(21);t.push(o.mask);o.disableAll();e.fog&&o.enable(0);e.useFog&&o.enable(1);e.flatShading&&o.enable(2);e.logarithmicDepthBuffer&&o.enable(3);e.skinning&&o.enable(4);e.morphTargets&&o.enable(5);e.morphNormals&&o.enable(6);e.morphColors&&o.enable(7);e.premultipliedAlpha&&o.enable(8);e.shadowMapEnabled&&o.enable(9);e.doubleSided&&o.enable(10);e.flipSided&&o.enable(11);e.useDepthPacking&&o.enable(12);e.dithering&&o.enable(13);e.transmission&&o.enable(14);e.sheen&&o.enable(15);e.opaque&&o.enable(16);e.pointsUvs&&o.enable(17);e.decodeVideoTexture&&o.enable(18);e.alphaToCoverage&&o.enable(19);t.push(o.mask)}function getUniforms(t){const e=_[t.type];let n;if(e){const t=Bo[e];n=Gr.clone(t.uniforms)}else n=t.uniforms;return n}function acquireProgram(e,n){let i;for(let t=0,e=h.length;t<e;t++){const e=h[t];if(e.cacheKey===n){i=e;++i.usedTimes;break}}if(i===void 0){i=new WebGLProgram(t,n,e,s);h.push(i)}return i}function releaseProgram(t){if(--t.usedTimes===0){const e=h.indexOf(t);h[e]=h[h.length-1];h.pop();t.destroy()}}function releaseShaderCache(t){l.remove(t)}function dispose(){l.dispose()}return{getParameters:getParameters,getProgramCacheKey:getProgramCacheKey,getUniforms:getUniforms,acquireProgram:acquireProgram,releaseProgram:releaseProgram,releaseShaderCache:releaseShaderCache,programs:h,dispose:dispose}}function WebGLProperties(){let t=new WeakMap;function get(e){let n=t.get(e);if(n===void 0){n={};t.set(e,n)}return n}function remove(e){t.delete(e)}function update(e,n,i){t.get(e)[n]=i}function dispose(){t=new WeakMap}return{get:get,remove:remove,update:update,dispose:dispose}}function painterSortStable(t,e){return t.groupOrder!==e.groupOrder?t.groupOrder-e.groupOrder:t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.material.id!==e.material.id?t.material.id-e.material.id:t.z!==e.z?t.z-e.z:t.id-e.id}function reversePainterSortStable(t,e){return t.groupOrder!==e.groupOrder?t.groupOrder-e.groupOrder:t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.z!==e.z?e.z-t.z:t.id-e.id}function WebGLRenderList(){const t=[];let e=0;const n=[];const i=[];const r=[];function init(){e=0;n.length=0;i.length=0;r.length=0}function getNextRenderItem(n,i,r,s,a,o){let l=t[e];if(l===void 0){l={id:n.id,object:n,geometry:i,material:r,groupOrder:s,renderOrder:n.renderOrder,z:a,group:o};t[e]=l}else{l.id=n.id;l.object=n;l.geometry=i;l.material=r;l.groupOrder=s;l.renderOrder=n.renderOrder;l.z=a;l.group=o}e++;return l}function push(t,e,s,a,o,l){const c=getNextRenderItem(t,e,s,a,o,l);s.transmission>0?i.push(c):s.transparent===true?r.push(c):n.push(c)}function unshift(t,e,s,a,o,l){const c=getNextRenderItem(t,e,s,a,o,l);s.transmission>0?i.unshift(c):s.transparent===true?r.unshift(c):n.unshift(c)}function sort(t,e){n.length>1&&n.sort(t||painterSortStable);i.length>1&&i.sort(e||reversePainterSortStable);r.length>1&&r.sort(e||reversePainterSortStable)}function finish(){for(let n=e,i=t.length;n<i;n++){const e=t[n];if(e.id===null)break;e.id=null;e.object=null;e.geometry=null;e.material=null;e.group=null}}return{opaque:n,transmissive:i,transparent:r,init:init,push:push,unshift:unshift,finish:finish,sort:sort}}function WebGLRenderLists(){let t=new WeakMap;function get(e,n){const i=t.get(e);let r;if(i===void 0){r=new WebGLRenderList;t.set(e,[r])}else if(n>=i.length){r=new WebGLRenderList;i.push(r)}else r=i[n];return r}function dispose(){t=new WeakMap}return{get:get,dispose:dispose}}function UniformsCache(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case\"DirectionalLight\":n={direction:new Vector3,color:new Color};break;case\"SpotLight\":n={position:new Vector3,direction:new Vector3,color:new Color,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case\"PointLight\":n={position:new Vector3,color:new Color,distance:0,decay:0};break;case\"HemisphereLight\":n={direction:new Vector3,skyColor:new Color,groundColor:new Color};break;case\"RectAreaLight\":n={color:new Color,position:new Vector3,halfWidth:new Vector3,halfHeight:new Vector3};break}t[e.id]=n;return n}}}function ShadowUniformsCache(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case\"DirectionalLight\":n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2};break;case\"SpotLight\":n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2};break;case\"PointLight\":n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2,shadowCameraNear:1,shadowCameraFar:1e3};break}t[e.id]=n;return n}}}let ml=0;function shadowCastingAndTexturingLightsFirst(t,e){return(e.castShadow?2:0)-(t.castShadow?2:0)+(e.map?1:0)-(t.map?1:0)}function WebGLLights(t){const e=new UniformsCache;const n=ShadowUniformsCache();const i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let t=0;t<9;t++)i.probe.push(new Vector3);const r=new Vector3;const s=new Matrix4;const a=new Matrix4;function setup(r){let s=0,a=0,o=0;for(let t=0;t<9;t++)i.probe[t].set(0,0,0);let l=0;let c=0;let h=0;let u=0;let d=0;let p=0;let f=0;let m=0;let g=0;let _=0;let x=0;r.sort(shadowCastingAndTexturingLightsFirst);for(let t=0,y=r.length;t<y;t++){const y=r[t];const M=y.color;const S=y.intensity;const b=y.distance;const T=y.shadow&&y.shadow.map?y.shadow.map.texture:null;if(y.isAmbientLight){s+=M.r*S;a+=M.g*S;o+=M.b*S}else if(y.isLightProbe){for(let t=0;t<9;t++)i.probe[t].addScaledVector(y.sh.coefficients[t],S);x++}else if(y.isDirectionalLight){const t=e.get(y);t.color.copy(y.color).multiplyScalar(y.intensity);if(y.castShadow){const t=y.shadow;const e=n.get(y);e.shadowIntensity=t.intensity;e.shadowBias=t.bias;e.shadowNormalBias=t.normalBias;e.shadowRadius=t.radius;e.shadowMapSize=t.mapSize;i.directionalShadow[l]=e;i.directionalShadowMap[l]=T;i.directionalShadowMatrix[l]=y.shadow.matrix;p++}i.directional[l]=t;l++}else if(y.isSpotLight){const t=e.get(y);t.position.setFromMatrixPosition(y.matrixWorld);t.color.copy(M).multiplyScalar(S);t.distance=b;t.coneCos=Math.cos(y.angle);t.penumbraCos=Math.cos(y.angle*(1-y.penumbra));t.decay=y.decay;i.spot[h]=t;const r=y.shadow;if(y.map){i.spotLightMap[g]=y.map;g++;r.updateMatrices(y);y.castShadow&&_++}i.spotLightMatrix[h]=r.matrix;if(y.castShadow){const t=n.get(y);t.shadowIntensity=r.intensity;t.shadowBias=r.bias;t.shadowNormalBias=r.normalBias;t.shadowRadius=r.radius;t.shadowMapSize=r.mapSize;i.spotShadow[h]=t;i.spotShadowMap[h]=T;m++}h++}else if(y.isRectAreaLight){const t=e.get(y);t.color.copy(M).multiplyScalar(S);t.halfWidth.set(y.width*.5,0,0);t.halfHeight.set(0,y.height*.5,0);i.rectArea[u]=t;u++}else if(y.isPointLight){const t=e.get(y);t.color.copy(y.color).multiplyScalar(y.intensity);t.distance=y.distance;t.decay=y.decay;if(y.castShadow){const t=y.shadow;const e=n.get(y);e.shadowIntensity=t.intensity;e.shadowBias=t.bias;e.shadowNormalBias=t.normalBias;e.shadowRadius=t.radius;e.shadowMapSize=t.mapSize;e.shadowCameraNear=t.camera.near;e.shadowCameraFar=t.camera.far;i.pointShadow[c]=e;i.pointShadowMap[c]=T;i.pointShadowMatrix[c]=y.shadow.matrix;f++}i.point[c]=t;c++}else if(y.isHemisphereLight){const t=e.get(y);t.skyColor.copy(y.color).multiplyScalar(S);t.groundColor.copy(y.groundColor).multiplyScalar(S);i.hemi[d]=t;d++}}if(u>0)if(t.has(\"OES_texture_float_linear\")===true){i.rectAreaLTC1=No.LTC_FLOAT_1;i.rectAreaLTC2=No.LTC_FLOAT_2}else{i.rectAreaLTC1=No.LTC_HALF_1;i.rectAreaLTC2=No.LTC_HALF_2}i.ambient[0]=s;i.ambient[1]=a;i.ambient[2]=o;const y=i.hash;if(y.directionalLength!==l||y.pointLength!==c||y.spotLength!==h||y.rectAreaLength!==u||y.hemiLength!==d||y.numDirectionalShadows!==p||y.numPointShadows!==f||y.numSpotShadows!==m||y.numSpotMaps!==g||y.numLightProbes!==x){i.directional.length=l;i.spot.length=h;i.rectArea.length=u;i.point.length=c;i.hemi.length=d;i.directionalShadow.length=p;i.directionalShadowMap.length=p;i.pointShadow.length=f;i.pointShadowMap.length=f;i.spotShadow.length=m;i.spotShadowMap.length=m;i.directionalShadowMatrix.length=p;i.pointShadowMatrix.length=f;i.spotLightMatrix.length=m+g-_;i.spotLightMap.length=g;i.numSpotLightShadowsWithMaps=_;i.numLightProbes=x;y.directionalLength=l;y.pointLength=c;y.spotLength=h;y.rectAreaLength=u;y.hemiLength=d;y.numDirectionalShadows=p;y.numPointShadows=f;y.numSpotShadows=m;y.numSpotMaps=g;y.numLightProbes=x;i.version=ml++}}function setupView(t,e){let n=0;let o=0;let l=0;let c=0;let h=0;const u=e.matrixWorldInverse;for(let e=0,d=t.length;e<d;e++){const d=t[e];if(d.isDirectionalLight){const t=i.directional[n];t.direction.setFromMatrixPosition(d.matrixWorld);r.setFromMatrixPosition(d.target.matrixWorld);t.direction.sub(r);t.direction.transformDirection(u);n++}else if(d.isSpotLight){const t=i.spot[l];t.position.setFromMatrixPosition(d.matrixWorld);t.position.applyMatrix4(u);t.direction.setFromMatrixPosition(d.matrixWorld);r.setFromMatrixPosition(d.target.matrixWorld);t.direction.sub(r);t.direction.transformDirection(u);l++}else if(d.isRectAreaLight){const t=i.rectArea[c];t.position.setFromMatrixPosition(d.matrixWorld);t.position.applyMatrix4(u);a.identity();s.copy(d.matrixWorld);s.premultiply(u);a.extractRotation(s);t.halfWidth.set(d.width*.5,0,0);t.halfHeight.set(0,d.height*.5,0);t.halfWidth.applyMatrix4(a);t.halfHeight.applyMatrix4(a);c++}else if(d.isPointLight){const t=i.point[o];t.position.setFromMatrixPosition(d.matrixWorld);t.position.applyMatrix4(u);o++}else if(d.isHemisphereLight){const t=i.hemi[h];t.direction.setFromMatrixPosition(d.matrixWorld);t.direction.transformDirection(u);h++}}}return{setup:setup,setupView:setupView,state:i}}function WebGLRenderState(t){const e=new WebGLLights(t);const n=[];const i=[];function init(t){r.camera=t;n.length=0;i.length=0}function pushLight(t){n.push(t)}function pushShadow(t){i.push(t)}function setupLights(){e.setup(n)}function setupLightsView(t){e.setupView(n,t)}const r={lightsArray:n,shadowsArray:i,camera:null,lights:e,transmissionRenderTarget:{}};return{init:init,state:r,setupLights:setupLights,setupLightsView:setupLightsView,pushLight:pushLight,pushShadow:pushShadow}}function WebGLRenderStates(t){let e=new WeakMap;function get(n,i=0){const r=e.get(n);let s;if(r===void 0){s=new WebGLRenderState(t);e.set(n,[s])}else if(i>=r.length){s=new WebGLRenderState(t);r.push(s)}else s=r[i];return s}function dispose(){e=new WeakMap}return{get:get,dispose:dispose}}class MeshDepthMaterial extends Material{constructor(t){super();this.isMeshDepthMaterial=true;this.type=\"MeshDepthMaterial\";this.depthPacking=We;this.map=null;this.alphaMap=null;this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=false;this.wireframeLinewidth=1;this.setValues(t)}copy(t){super.copy(t);this.depthPacking=t.depthPacking;this.map=t.map;this.alphaMap=t.alphaMap;this.displacementMap=t.displacementMap;this.displacementScale=t.displacementScale;this.displacementBias=t.displacementBias;this.wireframe=t.wireframe;this.wireframeLinewidth=t.wireframeLinewidth;return this}}class MeshDistanceMaterial extends Material{constructor(t){super();this.isMeshDistanceMaterial=true;this.type=\"MeshDistanceMaterial\";this.map=null;this.alphaMap=null;this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.setValues(t)}copy(t){super.copy(t);this.map=t.map;this.alphaMap=t.alphaMap;this.displacementMap=t.displacementMap;this.displacementScale=t.displacementScale;this.displacementBias=t.displacementBias;return this}}const gl=\"void main() {\\n\\tgl_Position = vec4( position, 1.0 );\\n}\";const vl=\"uniform sampler2D shadow_pass;\\nuniform vec2 resolution;\\nuniform float radius;\\n#include <packing>\\nvoid main() {\\n\\tconst float samples = float( VSM_SAMPLES );\\n\\tfloat mean = 0.0;\\n\\tfloat squared_mean = 0.0;\\n\\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\\n\\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\\n\\tfor ( float i = 0.0; i < samples; i ++ ) {\\n\\t\\tfloat uvOffset = uvStart + i * uvStride;\\n\\t\\t#ifdef HORIZONTAL_PASS\\n\\t\\t\\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\\n\\t\\t\\tmean += distribution.x;\\n\\t\\t\\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\\n\\t\\t#else\\n\\t\\t\\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\\n\\t\\t\\tmean += depth;\\n\\t\\t\\tsquared_mean += depth * depth;\\n\\t\\t#endif\\n\\t}\\n\\tmean = mean / samples;\\n\\tsquared_mean = squared_mean / samples;\\n\\tfloat std_dev = sqrt( squared_mean - mean * mean );\\n\\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\\n}\";function WebGLShadowMap(t,e,n){let i=new Frustum;const r=new Vector2,s=new Vector2,a=new Vector4,o=new MeshDepthMaterial({depthPacking:Xe}),c=new MeshDistanceMaterial,m={},g=n.maxTextureSize;const _={[u]:d,[d]:u,[p]:p};const x=new ShaderMaterial({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Vector2},radius:{value:4}},vertexShader:gl,fragmentShader:vl});const y=x.clone();y.defines.HORIZONTAL_PASS=1;const M=new BufferGeometry;M.setAttribute(\"position\",new BufferAttribute(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const S=new Mesh(M,x);const b=this;this.enabled=false;this.autoUpdate=true;this.needsUpdate=false;this.type=l;let T=this.type;this.render=function(e,n,o){if(b.enabled===false)return;if(b.autoUpdate===false&&b.needsUpdate===false)return;if(e.length===0)return;const l=t.getRenderTarget();const c=t.getActiveCubeFace();const u=t.getActiveMipmapLevel();const d=t.state;d.setBlending(f);d.buffers.color.setClear(1,1,1,1);d.buffers.depth.setTest(true);d.setScissorTest(false);const p=T!==h&&this.type===h;const m=T===h&&this.type!==h;for(let l=0,c=e.length;l<c;l++){const c=e[l];const u=c.shadow;if(u===void 0){console.warn(\"THREE.WebGLShadowMap:\",c,\"has no shadow.\");continue}if(u.autoUpdate===false&&u.needsUpdate===false)continue;r.copy(u.mapSize);const f=u.getFrameExtents();r.multiply(f);s.copy(u.mapSize);if(r.x>g||r.y>g){if(r.x>g){s.x=Math.floor(g/f.x);r.x=s.x*f.x;u.mapSize.x=s.x}if(r.y>g){s.y=Math.floor(g/f.y);r.y=s.y*f.y;u.mapSize.y=s.y}}if(u.map===null||p===true||m===true){const t=this.type!==h?{minFilter:vt,magFilter:vt}:{};u.map!==null&&u.map.dispose();u.map=new WebGLRenderTarget(r.x,r.y,t);u.map.texture.name=c.name+\".shadowMap\";u.camera.updateProjectionMatrix()}t.setRenderTarget(u.map);t.clear();const _=u.getViewportCount();for(let t=0;t<_;t++){const e=u.getViewport(t);a.set(s.x*e.x,s.y*e.y,s.x*e.z,s.y*e.w);d.viewport(a);u.updateMatrices(c,t);i=u.getFrustum();renderObject(n,o,u.camera,c,this.type)}u.isPointLightShadow!==true&&this.type===h&&VSMPass(u,o);u.needsUpdate=false}T=this.type;b.needsUpdate=false;t.setRenderTarget(l,c,u)};function VSMPass(n,i){const s=e.update(S);if(x.defines.VSM_SAMPLES!==n.blurSamples){x.defines.VSM_SAMPLES=n.blurSamples;y.defines.VSM_SAMPLES=n.blurSamples;x.needsUpdate=true;y.needsUpdate=true}n.mapPass===null&&(n.mapPass=new WebGLRenderTarget(r.x,r.y));x.uniforms.shadow_pass.value=n.map.texture;x.uniforms.resolution.value=n.mapSize;x.uniforms.radius.value=n.radius;t.setRenderTarget(n.mapPass);t.clear();t.renderBufferDirect(i,null,s,x,S,null);y.uniforms.shadow_pass.value=n.mapPass.texture;y.uniforms.resolution.value=n.mapSize;y.uniforms.radius.value=n.radius;t.setRenderTarget(n.map);t.clear();t.renderBufferDirect(i,null,s,y,S,null)}function getDepthMaterial(e,n,i,r){let s=null;const a=i.isPointLight===true?e.customDistanceMaterial:e.customDepthMaterial;if(a!==void 0)s=a;else{s=i.isPointLight===true?c:o;if(t.localClippingEnabled&&n.clipShadows===true&&Array.isArray(n.clippingPlanes)&&n.clippingPlanes.length!==0||n.displacementMap&&n.displacementScale!==0||n.alphaMap&&n.alphaTest>0||n.map&&n.alphaTest>0){const t=s.uuid,e=n.uuid;let i=m[t];if(i===void 0){i={};m[t]=i}let r=i[e];if(r===void 0){r=s.clone();i[e]=r;n.addEventListener(\"dispose\",onMaterialDispose)}s=r}}s.visible=n.visible;s.wireframe=n.wireframe;s.side=r===h?n.shadowSide!==null?n.shadowSide:n.side:n.shadowSide!==null?n.shadowSide:_[n.side];s.alphaMap=n.alphaMap;s.alphaTest=n.alphaTest;s.map=n.map;s.clipShadows=n.clipShadows;s.clippingPlanes=n.clippingPlanes;s.clipIntersection=n.clipIntersection;s.displacementMap=n.displacementMap;s.displacementScale=n.displacementScale;s.displacementBias=n.displacementBias;s.wireframeLinewidth=n.wireframeLinewidth;s.linewidth=n.linewidth;if(i.isPointLight===true&&s.isMeshDistanceMaterial===true){const e=t.properties.get(s);e.light=i}return s}function renderObject(n,r,s,a,o){if(n.visible===false)return;const l=n.layers.test(r.layers);if(l&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&o===h)&&(!n.frustumCulled||i.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(s.matrixWorldInverse,n.matrixWorld);const i=e.update(n);const l=n.material;if(Array.isArray(l)){const e=i.groups;for(let c=0,h=e.length;c<h;c++){const h=e[c];const u=l[h.materialIndex];if(u&&u.visible){const e=getDepthMaterial(n,u,a,o);n.onBeforeShadow(t,n,r,s,i,e,h);t.renderBufferDirect(s,null,i,e,n,h);n.onAfterShadow(t,n,r,s,i,e,h)}}}else if(l.visible){const e=getDepthMaterial(n,l,a,o);n.onBeforeShadow(t,n,r,s,i,e,null);t.renderBufferDirect(s,null,i,e,n,null);n.onAfterShadow(t,n,r,s,i,e,null)}}const c=n.children;for(let t=0,e=c.length;t<e;t++)renderObject(c[t],r,s,a,o)}function onMaterialDispose(t){const e=t.target;e.removeEventListener(\"dispose\",onMaterialDispose);for(const e in m){const n=m[e];const i=t.target.uuid;if(i in n){const t=n[i];t.dispose();delete n[i]}}}}function WebGLState(t){function ColorBuffer(){let e=false;const n=new Vector4;let i=null;const r=new Vector4(0,0,0,0);return{setMask:function(n){if(i!==n&&!e){t.colorMask(n,n,n,n);i=n}},setLocked:function(t){e=t},setClear:function(e,i,s,a,o){if(o===true){e*=a;i*=a;s*=a}n.set(e,i,s,a);if(r.equals(n)===false){t.clearColor(e,i,s,a);r.copy(n)}},reset:function(){e=false;i=null;r.set(-1,0,0,0)}}}function DepthBuffer(){let e=false;let n=null;let i=null;let r=null;return{setTest:function(e){e?enable(t.DEPTH_TEST):disable(t.DEPTH_TEST)},setMask:function(i){if(n!==i&&!e){t.depthMask(i);n=i}},setFunc:function(e){if(i!==e){switch(e){case G:t.depthFunc(t.NEVER);break;case k:t.depthFunc(t.ALWAYS);break;case H:t.depthFunc(t.LESS);break;case W:t.depthFunc(t.LEQUAL);break;case X:t.depthFunc(t.EQUAL);break;case j:t.depthFunc(t.GEQUAL);break;case q:t.depthFunc(t.GREATER);break;case Y:t.depthFunc(t.NOTEQUAL);break;default:t.depthFunc(t.LEQUAL)}i=e}},setLocked:function(t){e=t},setClear:function(e){if(r!==e){t.clearDepth(e);r=e}},reset:function(){e=false;n=null;i=null;r=null}}}function StencilBuffer(){let e=false;let n=null;let i=null;let r=null;let s=null;let a=null;let o=null;let l=null;let c=null;return{setTest:function(n){e||(n?enable(t.STENCIL_TEST):disable(t.STENCIL_TEST))},setMask:function(i){if(n!==i&&!e){t.stencilMask(i);n=i}},setFunc:function(e,n,a){if(i!==e||r!==n||s!==a){t.stencilFunc(e,n,a);i=e;r=n;s=a}},setOp:function(e,n,i){if(a!==e||o!==n||l!==i){t.stencilOp(e,n,i);a=e;o=n;l=i}},setLocked:function(t){e=t},setClear:function(e){if(c!==e){t.clearStencil(e);c=e}},reset:function(){e=false;n=null;i=null;r=null;s=null;a=null;o=null;l=null;c=null}}}const e=new ColorBuffer;const n=new DepthBuffer;const a=new StencilBuffer;const o=new WeakMap;const l=new WeakMap;let c={};let h={};let u=new WeakMap;let K=[];let Z=null;let J=false;let Q=null;let $=null;let tt=null;let et=null;let nt=null;let it=null;let rt=null;let st=new Color(0,0,0);let at=0;let ot=false;let lt=null;let ct=null;let ht=null;let ut=null;let dt=null;const pt=t.getParameter(t.MAX_COMBINED_TEXTURE_IMAGE_UNITS);let ft=false;let mt=0;const gt=t.getParameter(t.VERSION);if(gt.indexOf(\"WebGL\")!==-1){mt=parseFloat(/^WebGL (\\d)/.exec(gt)[1]);ft=mt>=1}else if(gt.indexOf(\"OpenGL ES\")!==-1){mt=parseFloat(/^OpenGL ES (\\d)/.exec(gt)[1]);ft=mt>=2}let vt=null;let _t={};const xt=t.getParameter(t.SCISSOR_BOX);const yt=t.getParameter(t.VIEWPORT);const Mt=(new Vector4).fromArray(xt);const St=(new Vector4).fromArray(yt);function createTexture(e,n,i,r){const s=new Uint8Array(4);const a=t.createTexture();t.bindTexture(e,a);t.texParameteri(e,t.TEXTURE_MIN_FILTER,t.NEAREST);t.texParameteri(e,t.TEXTURE_MAG_FILTER,t.NEAREST);for(let a=0;a<i;a++)e===t.TEXTURE_3D||e===t.TEXTURE_2D_ARRAY?t.texImage3D(n,0,t.RGBA,1,1,r,0,t.RGBA,t.UNSIGNED_BYTE,s):t.texImage2D(n+a,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,s);return a}const bt={};bt[t.TEXTURE_2D]=createTexture(t.TEXTURE_2D,t.TEXTURE_2D,1);bt[t.TEXTURE_CUBE_MAP]=createTexture(t.TEXTURE_CUBE_MAP,t.TEXTURE_CUBE_MAP_POSITIVE_X,6);bt[t.TEXTURE_2D_ARRAY]=createTexture(t.TEXTURE_2D_ARRAY,t.TEXTURE_2D_ARRAY,1,1);bt[t.TEXTURE_3D]=createTexture(t.TEXTURE_3D,t.TEXTURE_3D,1,1);e.setClear(0,0,0,1);n.setClear(1);a.setClear(0);enable(t.DEPTH_TEST);n.setFunc(W);setFlipSided(false);setCullFace(r);enable(t.CULL_FACE);setBlending(f);function enable(e){if(c[e]!==true){t.enable(e);c[e]=true}}function disable(e){if(c[e]!==false){t.disable(e);c[e]=false}}function bindFramebuffer(e,n){if(h[e]!==n){t.bindFramebuffer(e,n);h[e]=n;e===t.DRAW_FRAMEBUFFER&&(h[t.FRAMEBUFFER]=n);e===t.FRAMEBUFFER&&(h[t.DRAW_FRAMEBUFFER]=n);return true}return false}function drawBuffers(e,n){let i=K;let r=false;if(e){i=u.get(n);if(i===void 0){i=[];u.set(n,i)}const s=e.textures;if(i.length!==s.length||i[0]!==t.COLOR_ATTACHMENT0){for(let e=0,n=s.length;e<n;e++)i[e]=t.COLOR_ATTACHMENT0+e;i.length=s.length;r=true}}else if(i[0]!==t.BACK){i[0]=t.BACK;r=true}r&&t.drawBuffers(i)}function useProgram(e){if(Z!==e){t.useProgram(e);Z=e;return true}return false}const Tt={[M]:t.FUNC_ADD,[S]:t.FUNC_SUBTRACT,[b]:t.FUNC_REVERSE_SUBTRACT};Tt[T]=t.MIN;Tt[w]=t.MAX;const wt={[E]:t.ZERO,[A]:t.ONE,[C]:t.SRC_COLOR,[P]:t.SRC_ALPHA,[B]:t.SRC_ALPHA_SATURATE,[D]:t.DST_COLOR,[I]:t.DST_ALPHA,[R]:t.ONE_MINUS_SRC_COLOR,[L]:t.ONE_MINUS_SRC_ALPHA,[N]:t.ONE_MINUS_DST_COLOR,[U]:t.ONE_MINUS_DST_ALPHA,[O]:t.CONSTANT_COLOR,[V]:t.ONE_MINUS_CONSTANT_COLOR,[F]:t.CONSTANT_ALPHA,[z]:t.ONE_MINUS_CONSTANT_ALPHA};function setBlending(e,n,i,r,s,a,o,l,c,h){if(e!==f){if(J===false){enable(t.BLEND);J=true}if(e===y){s=s||n;a=a||i;o=o||r;if(n!==$||s!==nt){t.blendEquationSeparate(Tt[n],Tt[s]);$=n;nt=s}if(i!==tt||r!==et||a!==it||o!==rt){t.blendFuncSeparate(wt[i],wt[r],wt[a],wt[o]);tt=i;et=r;it=a;rt=o}if(l.equals(st)===false||c!==at){t.blendColor(l.r,l.g,l.b,c);st.copy(l);at=c}Q=e;ot=false}else if(e!==Q||h!==ot){if($!==M||nt!==M){t.blendEquation(t.FUNC_ADD);$=M;nt=M}if(h)switch(e){case m:t.blendFuncSeparate(t.ONE,t.ONE_MINUS_SRC_ALPHA,t.ONE,t.ONE_MINUS_SRC_ALPHA);break;case g:t.blendFunc(t.ONE,t.ONE);break;case _:t.blendFuncSeparate(t.ZERO,t.ONE_MINUS_SRC_COLOR,t.ZERO,t.ONE);break;case x:t.blendFuncSeparate(t.ZERO,t.SRC_COLOR,t.ZERO,t.SRC_ALPHA);break;default:console.error(\"THREE.WebGLState: Invalid blending: \",e);break}else switch(e){case m:t.blendFuncSeparate(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA,t.ONE,t.ONE_MINUS_SRC_ALPHA);break;case g:t.blendFunc(t.SRC_ALPHA,t.ONE);break;case _:t.blendFuncSeparate(t.ZERO,t.ONE_MINUS_SRC_COLOR,t.ZERO,t.ONE);break;case x:t.blendFunc(t.ZERO,t.SRC_COLOR);break;default:console.error(\"THREE.WebGLState: Invalid blending: \",e);break}tt=null;et=null;it=null;rt=null;st.set(0,0,0);at=0;Q=e;ot=h}}else if(J===true){disable(t.BLEND);J=false}}function setMaterial(i,r){i.side===p?disable(t.CULL_FACE):enable(t.CULL_FACE);let s=i.side===d;r&&(s=!s);setFlipSided(s);i.blending===m&&i.transparent===false?setBlending(f):setBlending(i.blending,i.blendEquation,i.blendSrc,i.blendDst,i.blendEquationAlpha,i.blendSrcAlpha,i.blendDstAlpha,i.blendColor,i.blendAlpha,i.premultipliedAlpha);n.setFunc(i.depthFunc);n.setTest(i.depthTest);n.setMask(i.depthWrite);e.setMask(i.colorWrite);const o=i.stencilWrite;a.setTest(o);if(o){a.setMask(i.stencilWriteMask);a.setFunc(i.stencilFunc,i.stencilRef,i.stencilFuncMask);a.setOp(i.stencilFail,i.stencilZFail,i.stencilZPass)}setPolygonOffset(i.polygonOffset,i.polygonOffsetFactor,i.polygonOffsetUnits);i.alphaToCoverage===true?enable(t.SAMPLE_ALPHA_TO_COVERAGE):disable(t.SAMPLE_ALPHA_TO_COVERAGE)}function setFlipSided(e){if(lt!==e){e?t.frontFace(t.CW):t.frontFace(t.CCW);lt=e}}function setCullFace(e){if(e!==i){enable(t.CULL_FACE);e!==ct&&(e===r?t.cullFace(t.BACK):e===s?t.cullFace(t.FRONT):t.cullFace(t.FRONT_AND_BACK))}else disable(t.CULL_FACE);ct=e}function setLineWidth(e){if(e!==ht){ft&&t.lineWidth(e);ht=e}}function setPolygonOffset(e,n,i){if(e){enable(t.POLYGON_OFFSET_FILL);if(ut!==n||dt!==i){t.polygonOffset(n,i);ut=n;dt=i}}else disable(t.POLYGON_OFFSET_FILL)}function setScissorTest(e){e?enable(t.SCISSOR_TEST):disable(t.SCISSOR_TEST)}function activeTexture(e){e===void 0&&(e=t.TEXTURE0+pt-1);if(vt!==e){t.activeTexture(e);vt=e}}function bindTexture(e,n,i){i===void 0&&(i=vt===null?t.TEXTURE0+pt-1:vt);let r=_t[i];if(r===void 0){r={type:void 0,texture:void 0};_t[i]=r}if(r.type!==e||r.texture!==n){if(vt!==i){t.activeTexture(i);vt=i}t.bindTexture(e,n||bt[e]);r.type=e;r.texture=n}}function unbindTexture(){const e=_t[vt];if(e!==void 0&&e.type!==void 0){t.bindTexture(e.type,null);e.type=void 0;e.texture=void 0}}function compressedTexImage2D(){try{t.compressedTexImage2D.apply(t,arguments)}catch(t){console.error(\"THREE.WebGLState:\",t)}}function compressedTexImage3D(){try{t.compressedTexImage3D.apply(t,arguments)}catch(t){console.error(\"THREE.WebGLState:\",t)}}function texSubImage2D(){try{t.texSubImage2D.apply(t,arguments)}catch(t){console.error(\"THREE.WebGLState:\",t)}}function texSubImage3D(){try{t.texSubImage3D.apply(t,arguments)}catch(t){console.error(\"THREE.WebGLState:\",t)}}function compressedTexSubImage2D(){try{t.compressedTexSubImage2D.apply(t,arguments)}catch(t){console.error(\"THREE.WebGLState:\",t)}}function compressedTexSubImage3D(){try{t.compressedTexSubImage3D.apply(t,arguments)}catch(t){console.error(\"THREE.WebGLState:\",t)}}function texStorage2D(){try{t.texStorage2D.apply(t,arguments)}catch(t){console.error(\"THREE.WebGLState:\",t)}}function texStorage3D(){try{t.texStorage3D.apply(t,arguments)}catch(t){console.error(\"THREE.WebGLState:\",t)}}function texImage2D(){try{t.texImage2D.apply(t,arguments)}catch(t){console.error(\"THREE.WebGLState:\",t)}}function texImage3D(){try{t.texImage3D.apply(t,arguments)}catch(t){console.error(\"THREE.WebGLState:\",t)}}function scissor(e){if(Mt.equals(e)===false){t.scissor(e.x,e.y,e.z,e.w);Mt.copy(e)}}function viewport(e){if(St.equals(e)===false){t.viewport(e.x,e.y,e.z,e.w);St.copy(e)}}function updateUBOMapping(e,n){let i=l.get(n);if(i===void 0){i=new WeakMap;l.set(n,i)}let r=i.get(e);if(r===void 0){r=t.getUniformBlockIndex(n,e.name);i.set(e,r)}}function uniformBlockBinding(e,n){const i=l.get(n);const r=i.get(e);if(o.get(n)!==r){t.uniformBlockBinding(n,r,e.__bindingPointIndex);o.set(n,r)}}function reset(){t.disable(t.BLEND);t.disable(t.CULL_FACE);t.disable(t.DEPTH_TEST);t.disable(t.POLYGON_OFFSET_FILL);t.disable(t.SCISSOR_TEST);t.disable(t.STENCIL_TEST);t.disable(t.SAMPLE_ALPHA_TO_COVERAGE);t.blendEquation(t.FUNC_ADD);t.blendFunc(t.ONE,t.ZERO);t.blendFuncSeparate(t.ONE,t.ZERO,t.ONE,t.ZERO);t.blendColor(0,0,0,0);t.colorMask(true,true,true,true);t.clearColor(0,0,0,0);t.depthMask(true);t.depthFunc(t.LESS);t.clearDepth(1);t.stencilMask(4294967295);t.stencilFunc(t.ALWAYS,0,4294967295);t.stencilOp(t.KEEP,t.KEEP,t.KEEP);t.clearStencil(0);t.cullFace(t.BACK);t.frontFace(t.CCW);t.polygonOffset(0,0);t.activeTexture(t.TEXTURE0);t.bindFramebuffer(t.FRAMEBUFFER,null);t.bindFramebuffer(t.DRAW_FRAMEBUFFER,null);t.bindFramebuffer(t.READ_FRAMEBUFFER,null);t.useProgram(null);t.lineWidth(1);t.scissor(0,0,t.canvas.width,t.canvas.height);t.viewport(0,0,t.canvas.width,t.canvas.height);c={};vt=null;_t={};h={};u=new WeakMap;K=[];Z=null;J=false;Q=null;$=null;tt=null;et=null;nt=null;it=null;rt=null;st=new Color(0,0,0);at=0;ot=false;lt=null;ct=null;ht=null;ut=null;dt=null;Mt.set(0,0,t.canvas.width,t.canvas.height);St.set(0,0,t.canvas.width,t.canvas.height);e.reset();n.reset();a.reset()}return{buffers:{color:e,depth:n,stencil:a},enable:enable,disable:disable,bindFramebuffer:bindFramebuffer,drawBuffers:drawBuffers,useProgram:useProgram,setBlending:setBlending,setMaterial:setMaterial,setFlipSided:setFlipSided,setCullFace:setCullFace,setLineWidth:setLineWidth,setPolygonOffset:setPolygonOffset,setScissorTest:setScissorTest,activeTexture:activeTexture,bindTexture:bindTexture,unbindTexture:unbindTexture,compressedTexImage2D:compressedTexImage2D,compressedTexImage3D:compressedTexImage3D,texImage2D:texImage2D,texImage3D:texImage3D,updateUBOMapping:updateUBOMapping,uniformBlockBinding:uniformBlockBinding,texStorage2D:texStorage2D,texStorage3D:texStorage3D,texSubImage2D:texSubImage2D,texSubImage3D:texSubImage3D,compressedTexSubImage2D:compressedTexSubImage2D,compressedTexSubImage3D:compressedTexSubImage3D,scissor:scissor,viewport:viewport,reset:reset}}function contain(t,e){const n=t.image&&t.image.width?t.image.width/t.image.height:1;if(n>e){t.repeat.x=1;t.repeat.y=n/e;t.offset.x=0;t.offset.y=(1-t.repeat.y)/2}else{t.repeat.x=e/n;t.repeat.y=1;t.offset.x=(1-t.repeat.x)/2;t.offset.y=0}return t}function cover(t,e){const n=t.image&&t.image.width?t.image.width/t.image.height:1;if(n>e){t.repeat.x=e/n;t.repeat.y=1;t.offset.x=(1-t.repeat.x)/2;t.offset.y=0}else{t.repeat.x=1;t.repeat.y=n/e;t.offset.x=0;t.offset.y=(1-t.repeat.y)/2}return t}function fill(t){t.repeat.x=1;t.repeat.y=1;t.offset.x=0;t.offset.y=0;return t}function getByteLength(t,e,n,i){const r=getTextureTypeByteLength(i);switch(n){case Ft:return t*e;case kt:return t*e;case Ht:return t*e*2;case jt:return t*e/r.components*r.byteLength;case qt:return t*e/r.components*r.byteLength;case Yt:return t*e*2/r.components*r.byteLength;case Kt:return t*e*2/r.components*r.byteLength;case zt:return t*e*3/r.components*r.byteLength;case Gt:return t*e*4/r.components*r.byteLength;case Jt:return t*e*4/r.components*r.byteLength;case Qt:case $t:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*8;case te:case ee:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*16;case ie:case se:return Math.max(t,16)*Math.max(e,8)/4;case ne:case re:return Math.max(t,8)*Math.max(e,8)/2;case ae:case oe:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*8;case le:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*16;case ce:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*16;case he:return Math.floor((t+4)/5)*Math.floor((e+3)/4)*16;case ue:return Math.floor((t+4)/5)*Math.floor((e+4)/5)*16;case de:return Math.floor((t+5)/6)*Math.floor((e+4)/5)*16;case pe:return Math.floor((t+5)/6)*Math.floor((e+5)/6)*16;case fe:return Math.floor((t+7)/8)*Math.floor((e+4)/5)*16;case me:return Math.floor((t+7)/8)*Math.floor((e+5)/6)*16;case ge:return Math.floor((t+7)/8)*Math.floor((e+7)/8)*16;case ve:return Math.floor((t+9)/10)*Math.floor((e+4)/5)*16;case _e:return Math.floor((t+9)/10)*Math.floor((e+5)/6)*16;case xe:return Math.floor((t+9)/10)*Math.floor((e+7)/8)*16;case ye:return Math.floor((t+9)/10)*Math.floor((e+9)/10)*16;case Me:return Math.floor((t+11)/12)*Math.floor((e+9)/10)*16;case Se:return Math.floor((t+11)/12)*Math.floor((e+11)/12)*16;case be:case Te:case we:return Math.ceil(t/4)*Math.ceil(e/4)*16;case Ee:case Ae:return Math.ceil(t/4)*Math.ceil(e/4)*8;case Ce:case Re:return Math.ceil(t/4)*Math.ceil(e/4)*16}throw new Error(`Unable to determine texture byte length for ${n} format.`)}function getTextureTypeByteLength(t){switch(t){case At:case Ct:return{byteLength:1,components:1};case Pt:case Rt:case Dt:return{byteLength:2,components:1};case Nt:case Bt:return{byteLength:2,components:4};case It:case Lt:case Ut:return{byteLength:4,components:1};case Vt:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${t}.`)}const _l={contain:contain,cover:cover,fill:fill,getByteLength:getByteLength};function WebGLTextures(t,e,n,i,r,s,a){const o=e.has(\"WEBGL_multisampled_render_to_texture\")?e.get(\"WEBGL_multisampled_render_to_texture\"):null;const l=typeof navigator!==\"undefined\"&&/OculusBrowser/g.test(navigator.userAgent);const c=new Vector2;const h=new WeakMap;let u;const d=new WeakMap;let p=false;try{p=typeof OffscreenCanvas!==\"undefined\"&&new OffscreenCanvas(1,1).getContext(\"2d\")!==null}catch(t){}function createCanvas(t,e){return p?new OffscreenCanvas(t,e):createElementNS(\"canvas\")}function resizeImage(t,e,n){let i=1;const r=getDimensions(t);(r.width>n||r.height>n)&&(i=n/Math.max(r.width,r.height));if(i<1){if(typeof HTMLImageElement!==\"undefined\"&&t instanceof HTMLImageElement||typeof HTMLCanvasElement!==\"undefined\"&&t instanceof HTMLCanvasElement||typeof ImageBitmap!==\"undefined\"&&t instanceof ImageBitmap||typeof VideoFrame!==\"undefined\"&&t instanceof VideoFrame){const n=Math.floor(i*r.width);const s=Math.floor(i*r.height);u===void 0&&(u=createCanvas(n,s));const a=e?createCanvas(n,s):u;a.width=n;a.height=s;const o=a.getContext(\"2d\");o.drawImage(t,0,0,n,s);console.warn(\"THREE.WebGLRenderer: Texture has been resized from (\"+r.width+\"x\"+r.height+\") to (\"+n+\"x\"+s+\").\");return a}\"data\"in t&&console.warn(\"THREE.WebGLRenderer: Image in DataTexture is too big (\"+r.width+\"x\"+r.height+\").\");return t}return t}function textureNeedsGenerateMipmaps(t){return t.generateMipmaps&&t.minFilter!==vt&&t.minFilter!==St}function generateMipmap(e){t.generateMipmap(e)}function getInternalFormat(n,i,r,s,a=false){if(n!==null){if(t[n]!==void 0)return t[n];console.warn(\"THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '\"+n+\"'\")}let o=i;if(i===t.RED){r===t.FLOAT&&(o=t.R32F);r===t.HALF_FLOAT&&(o=t.R16F);r===t.UNSIGNED_BYTE&&(o=t.R8)}if(i===t.RED_INTEGER){r===t.UNSIGNED_BYTE&&(o=t.R8UI);r===t.UNSIGNED_SHORT&&(o=t.R16UI);r===t.UNSIGNED_INT&&(o=t.R32UI);r===t.BYTE&&(o=t.R8I);r===t.SHORT&&(o=t.R16I);r===t.INT&&(o=t.R32I)}if(i===t.RG){r===t.FLOAT&&(o=t.RG32F);r===t.HALF_FLOAT&&(o=t.RG16F);r===t.UNSIGNED_BYTE&&(o=t.RG8)}if(i===t.RG_INTEGER){r===t.UNSIGNED_BYTE&&(o=t.RG8UI);r===t.UNSIGNED_SHORT&&(o=t.RG16UI);r===t.UNSIGNED_INT&&(o=t.RG32UI);r===t.BYTE&&(o=t.RG8I);r===t.SHORT&&(o=t.RG16I);r===t.INT&&(o=t.RG32I)}i===t.RGB&&r===t.UNSIGNED_INT_5_9_9_9_REV&&(o=t.RGB9_E5);if(i===t.RGBA){const e=a?$e:$n.getTransfer(s);r===t.FLOAT&&(o=t.RGBA32F);r===t.HALF_FLOAT&&(o=t.RGBA16F);r===t.UNSIGNED_BYTE&&(o=e===tn?t.SRGB8_ALPHA8:t.RGBA8);r===t.UNSIGNED_SHORT_4_4_4_4&&(o=t.RGBA4);r===t.UNSIGNED_SHORT_5_5_5_1&&(o=t.RGB5_A1)}o!==t.R16F&&o!==t.R32F&&o!==t.RG16F&&o!==t.RG32F&&o!==t.RGBA16F&&o!==t.RGBA32F||e.get(\"EXT_color_buffer_float\");return o}function getInternalDepthFormat(e,n){let i;if(e){if(n===null||n===It||n===Ot)i=t.DEPTH24_STENCIL8;else if(n===Ut)i=t.DEPTH32F_STENCIL8;else if(n===Pt){i=t.DEPTH24_STENCIL8;console.warn(\"DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.\")}}else n===null||n===It||n===Ot?i=t.DEPTH_COMPONENT24:n===Ut?i=t.DEPTH_COMPONENT32F:n===Pt&&(i=t.DEPTH_COMPONENT16);return i}function getMipLevels(t,e){return textureNeedsGenerateMipmaps(t)===true||t.isFramebufferTexture&&t.minFilter!==vt&&t.minFilter!==St?Math.log2(Math.max(e.width,e.height))+1:t.mipmaps!==void 0&&t.mipmaps.length>0?t.mipmaps.length:t.isCompressedTexture&&Array.isArray(t.image)?e.mipmaps.length:1}function onTextureDispose(t){const e=t.target;e.removeEventListener(\"dispose\",onTextureDispose);deallocateTexture(e);e.isVideoTexture&&h.delete(e)}function onRenderTargetDispose(t){const e=t.target;e.removeEventListener(\"dispose\",onRenderTargetDispose);deallocateRenderTarget(e)}function deallocateTexture(t){const e=i.get(t);if(e.__webglInit===void 0)return;const n=t.source;const r=d.get(n);if(r){const i=r[e.__cacheKey];i.usedTimes--;i.usedTimes===0&&deleteTexture(t);Object.keys(r).length===0&&d.delete(n)}i.remove(t)}function deleteTexture(e){const n=i.get(e);t.deleteTexture(n.__webglTexture);const r=e.source;const s=d.get(r);delete s[n.__cacheKey];a.memory.textures--}function deallocateRenderTarget(e){const n=i.get(e);e.depthTexture&&e.depthTexture.dispose();if(e.isWebGLCubeRenderTarget)for(let e=0;e<6;e++){if(Array.isArray(n.__webglFramebuffer[e]))for(let i=0;i<n.__webglFramebuffer[e].length;i++)t.deleteFramebuffer(n.__webglFramebuffer[e][i]);else t.deleteFramebuffer(n.__webglFramebuffer[e]);n.__webglDepthbuffer&&t.deleteRenderbuffer(n.__webglDepthbuffer[e])}else{if(Array.isArray(n.__webglFramebuffer))for(let e=0;e<n.__webglFramebuffer.length;e++)t.deleteFramebuffer(n.__webglFramebuffer[e]);else t.deleteFramebuffer(n.__webglFramebuffer);n.__webglDepthbuffer&&t.deleteRenderbuffer(n.__webglDepthbuffer);n.__webglMultisampledFramebuffer&&t.deleteFramebuffer(n.__webglMultisampledFramebuffer);if(n.__webglColorRenderbuffer)for(let e=0;e<n.__webglColorRenderbuffer.length;e++)n.__webglColorRenderbuffer[e]&&t.deleteRenderbuffer(n.__webglColorRenderbuffer[e]);n.__webglDepthRenderbuffer&&t.deleteRenderbuffer(n.__webglDepthRenderbuffer)}const r=e.textures;for(let e=0,n=r.length;e<n;e++){const n=i.get(r[e]);if(n.__webglTexture){t.deleteTexture(n.__webglTexture);a.memory.textures--}i.remove(r[e])}i.remove(e)}let f=0;function resetTextureUnits(){f=0}function allocateTextureUnit(){const t=f;t>=r.maxTextures&&console.warn(\"THREE.WebGLTextures: Trying to use \"+t+\" texture units while this GPU supports only \"+r.maxTextures);f+=1;return t}function getTextureCacheKey(t){const e=[];e.push(t.wrapS);e.push(t.wrapT);e.push(t.wrapR||0);e.push(t.magFilter);e.push(t.minFilter);e.push(t.anisotropy);e.push(t.internalFormat);e.push(t.format);e.push(t.type);e.push(t.generateMipmaps);e.push(t.premultiplyAlpha);e.push(t.flipY);e.push(t.unpackAlignment);e.push(t.colorSpace);return e.join()}function setTexture2D(e,r){const s=i.get(e);e.isVideoTexture&&updateVideoTexture(e);if(e.isRenderTargetTexture===false&&e.version>0&&s.__version!==e.version){const t=e.image;if(t===null)console.warn(\"THREE.WebGLRenderer: Texture marked for update but no image data found.\");else{if(t.complete!==false){uploadTexture(s,e,r);return}console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is incomplete\")}}n.bindTexture(t.TEXTURE_2D,s.__webglTexture,t.TEXTURE0+r)}function setTexture2DArray(e,r){const s=i.get(e);e.version>0&&s.__version!==e.version?uploadTexture(s,e,r):n.bindTexture(t.TEXTURE_2D_ARRAY,s.__webglTexture,t.TEXTURE0+r)}function setTexture3D(e,r){const s=i.get(e);e.version>0&&s.__version!==e.version?uploadTexture(s,e,r):n.bindTexture(t.TEXTURE_3D,s.__webglTexture,t.TEXTURE0+r)}function setTextureCube(e,r){const s=i.get(e);e.version>0&&s.__version!==e.version?uploadCubeTexture(s,e,r):n.bindTexture(t.TEXTURE_CUBE_MAP,s.__webglTexture,t.TEXTURE0+r)}const m={[ft]:t.REPEAT,[mt]:t.CLAMP_TO_EDGE,[gt]:t.MIRRORED_REPEAT};const g={[vt]:t.NEAREST,[_t]:t.NEAREST_MIPMAP_NEAREST,[yt]:t.NEAREST_MIPMAP_LINEAR,[St]:t.LINEAR,[bt]:t.LINEAR_MIPMAP_NEAREST,[wt]:t.LINEAR_MIPMAP_LINEAR};const _={[yn]:t.NEVER,[An]:t.ALWAYS,[Mn]:t.LESS,[bn]:t.LEQUAL,[Sn]:t.EQUAL,[En]:t.GEQUAL,[Tn]:t.GREATER,[wn]:t.NOTEQUAL};function setTextureParameters(n,s){s.type!==Ut||e.has(\"OES_texture_float_linear\")!==false||s.magFilter!==St&&s.magFilter!==bt&&s.magFilter!==yt&&s.magFilter!==wt&&s.minFilter!==St&&s.minFilter!==bt&&s.minFilter!==yt&&s.minFilter!==wt||console.warn(\"THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device.\");t.texParameteri(n,t.TEXTURE_WRAP_S,m[s.wrapS]);t.texParameteri(n,t.TEXTURE_WRAP_T,m[s.wrapT]);n!==t.TEXTURE_3D&&n!==t.TEXTURE_2D_ARRAY||t.texParameteri(n,t.TEXTURE_WRAP_R,m[s.wrapR]);t.texParameteri(n,t.TEXTURE_MAG_FILTER,g[s.magFilter]);t.texParameteri(n,t.TEXTURE_MIN_FILTER,g[s.minFilter]);if(s.compareFunction){t.texParameteri(n,t.TEXTURE_COMPARE_MODE,t.COMPARE_REF_TO_TEXTURE);t.texParameteri(n,t.TEXTURE_COMPARE_FUNC,_[s.compareFunction])}if(e.has(\"EXT_texture_filter_anisotropic\")===true){if(s.magFilter===vt)return;if(s.minFilter!==yt&&s.minFilter!==wt)return;if(s.type===Ut&&e.has(\"OES_texture_float_linear\")===false)return;if(s.anisotropy>1||i.get(s).__currentAnisotropy){const a=e.get(\"EXT_texture_filter_anisotropic\");t.texParameterf(n,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(s.anisotropy,r.getMaxAnisotropy()));i.get(s).__currentAnisotropy=s.anisotropy}}}function initTexture(e,n){let i=false;if(e.__webglInit===void 0){e.__webglInit=true;n.addEventListener(\"dispose\",onTextureDispose)}const r=n.source;let s=d.get(r);if(s===void 0){s={};d.set(r,s)}const o=getTextureCacheKey(n);if(o!==e.__cacheKey){if(s[o]===void 0){s[o]={texture:t.createTexture(),usedTimes:0};a.memory.textures++;i=true}s[o].usedTimes++;const r=s[e.__cacheKey];if(r!==void 0){s[e.__cacheKey].usedTimes--;r.usedTimes===0&&deleteTexture(n)}e.__cacheKey=o;e.__webglTexture=s[o].texture}return i}function uploadTexture(e,a,o){let l=t.TEXTURE_2D;(a.isDataArrayTexture||a.isCompressedArrayTexture)&&(l=t.TEXTURE_2D_ARRAY);a.isData3DTexture&&(l=t.TEXTURE_3D);const c=initTexture(e,a);const h=a.source;n.bindTexture(l,e.__webglTexture,t.TEXTURE0+o);const u=i.get(h);if(h.version!==u.__version||c===true){n.activeTexture(t.TEXTURE0+o);const e=$n.getPrimaries($n.workingColorSpace);const i=a.colorSpace===Ye?null:$n.getPrimaries(a.colorSpace);const d=a.colorSpace===Ye||e===i?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,a.flipY);t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,a.premultiplyAlpha);t.pixelStorei(t.UNPACK_ALIGNMENT,a.unpackAlignment);t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,d);let p=resizeImage(a.image,false,r.maxTextureSize);p=verifyColorSpace(a,p);const f=s.convert(a.format,a.colorSpace);const m=s.convert(a.type);let g=getInternalFormat(a.internalFormat,f,m,a.colorSpace,a.isVideoTexture);setTextureParameters(l,a);let _;const x=a.mipmaps;const y=a.isVideoTexture!==true;const M=u.__version===void 0||c===true;const S=h.dataReady;const b=getMipLevels(a,p);if(a.isDepthTexture){g=getInternalDepthFormat(a.format===Xt,a.type);M&&(y?n.texStorage2D(t.TEXTURE_2D,1,g,p.width,p.height):n.texImage2D(t.TEXTURE_2D,0,g,p.width,p.height,0,f,m,null))}else if(a.isDataTexture)if(x.length>0){y&&M&&n.texStorage2D(t.TEXTURE_2D,b,g,x[0].width,x[0].height);for(let e=0,i=x.length;e<i;e++){_=x[e];y?S&&n.texSubImage2D(t.TEXTURE_2D,e,0,0,_.width,_.height,f,m,_.data):n.texImage2D(t.TEXTURE_2D,e,g,_.width,_.height,0,f,m,_.data)}a.generateMipmaps=false}else if(y){M&&n.texStorage2D(t.TEXTURE_2D,b,g,p.width,p.height);S&&n.texSubImage2D(t.TEXTURE_2D,0,0,0,p.width,p.height,f,m,p.data)}else n.texImage2D(t.TEXTURE_2D,0,g,p.width,p.height,0,f,m,p.data);else if(a.isCompressedTexture)if(a.isCompressedArrayTexture){y&&M&&n.texStorage3D(t.TEXTURE_2D_ARRAY,b,g,x[0].width,x[0].height,p.depth);for(let e=0,i=x.length;e<i;e++){_=x[e];if(a.format!==Gt)if(f!==null)if(y){if(S)if(a.layerUpdates.size>0){const i=getByteLength(_.width,_.height,a.format,a.type);for(const r of a.layerUpdates){const s=_.data.subarray(r*i/_.data.BYTES_PER_ELEMENT,(r+1)*i/_.data.BYTES_PER_ELEMENT);n.compressedTexSubImage3D(t.TEXTURE_2D_ARRAY,e,0,0,r,_.width,_.height,1,f,s,0,0)}a.clearLayerUpdates()}else n.compressedTexSubImage3D(t.TEXTURE_2D_ARRAY,e,0,0,0,_.width,_.height,p.depth,f,_.data,0,0)}else n.compressedTexImage3D(t.TEXTURE_2D_ARRAY,e,g,_.width,_.height,p.depth,0,_.data,0,0);else console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()\");else y?S&&n.texSubImage3D(t.TEXTURE_2D_ARRAY,e,0,0,0,_.width,_.height,p.depth,f,m,_.data):n.texImage3D(t.TEXTURE_2D_ARRAY,e,g,_.width,_.height,p.depth,0,f,m,_.data)}}else{y&&M&&n.texStorage2D(t.TEXTURE_2D,b,g,x[0].width,x[0].height);for(let e=0,i=x.length;e<i;e++){_=x[e];a.format!==Gt?f!==null?y?S&&n.compressedTexSubImage2D(t.TEXTURE_2D,e,0,0,_.width,_.height,f,_.data):n.compressedTexImage2D(t.TEXTURE_2D,e,g,_.width,_.height,0,_.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()\"):y?S&&n.texSubImage2D(t.TEXTURE_2D,e,0,0,_.width,_.height,f,m,_.data):n.texImage2D(t.TEXTURE_2D,e,g,_.width,_.height,0,f,m,_.data)}}else if(a.isDataArrayTexture)if(y){M&&n.texStorage3D(t.TEXTURE_2D_ARRAY,b,g,p.width,p.height,p.depth);if(S)if(a.layerUpdates.size>0){const e=getByteLength(p.width,p.height,a.format,a.type);for(const i of a.layerUpdates){const r=p.data.subarray(i*e/p.data.BYTES_PER_ELEMENT,(i+1)*e/p.data.BYTES_PER_ELEMENT);n.texSubImage3D(t.TEXTURE_2D_ARRAY,0,0,0,i,p.width,p.height,1,f,m,r)}a.clearLayerUpdates()}else n.texSubImage3D(t.TEXTURE_2D_ARRAY,0,0,0,0,p.width,p.height,p.depth,f,m,p.data)}else n.texImage3D(t.TEXTURE_2D_ARRAY,0,g,p.width,p.height,p.depth,0,f,m,p.data);else if(a.isData3DTexture)if(y){M&&n.texStorage3D(t.TEXTURE_3D,b,g,p.width,p.height,p.depth);S&&n.texSubImage3D(t.TEXTURE_3D,0,0,0,0,p.width,p.height,p.depth,f,m,p.data)}else n.texImage3D(t.TEXTURE_3D,0,g,p.width,p.height,p.depth,0,f,m,p.data);else if(a.isFramebufferTexture){if(M)if(y)n.texStorage2D(t.TEXTURE_2D,b,g,p.width,p.height);else{let e=p.width,i=p.height;for(let r=0;r<b;r++){n.texImage2D(t.TEXTURE_2D,r,g,e,i,0,f,m,null);e>>=1;i>>=1}}}else if(x.length>0){if(y&&M){const e=getDimensions(x[0]);n.texStorage2D(t.TEXTURE_2D,b,g,e.width,e.height)}for(let e=0,i=x.length;e<i;e++){_=x[e];y?S&&n.texSubImage2D(t.TEXTURE_2D,e,0,0,f,m,_):n.texImage2D(t.TEXTURE_2D,e,g,f,m,_)}a.generateMipmaps=false}else if(y){if(M){const e=getDimensions(p);n.texStorage2D(t.TEXTURE_2D,b,g,e.width,e.height)}S&&n.texSubImage2D(t.TEXTURE_2D,0,0,0,f,m,p)}else n.texImage2D(t.TEXTURE_2D,0,g,f,m,p);textureNeedsGenerateMipmaps(a)&&generateMipmap(l);u.__version=h.version;a.onUpdate&&a.onUpdate(a)}e.__version=a.version}function uploadCubeTexture(e,a,o){if(a.image.length!==6)return;const l=initTexture(e,a);const c=a.source;n.bindTexture(t.TEXTURE_CUBE_MAP,e.__webglTexture,t.TEXTURE0+o);const h=i.get(c);if(c.version!==h.__version||l===true){n.activeTexture(t.TEXTURE0+o);const e=$n.getPrimaries($n.workingColorSpace);const i=a.colorSpace===Ye?null:$n.getPrimaries(a.colorSpace);const u=a.colorSpace===Ye||e===i?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,a.flipY);t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,a.premultiplyAlpha);t.pixelStorei(t.UNPACK_ALIGNMENT,a.unpackAlignment);t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,u);const d=a.isCompressedTexture||a.image[0].isCompressedTexture;const p=a.image[0]&&a.image[0].isDataTexture;const f=[];for(let t=0;t<6;t++){f[t]=d||p?p?a.image[t].image:a.image[t]:resizeImage(a.image[t],true,r.maxCubemapSize);f[t]=verifyColorSpace(a,f[t])}const m=f[0],g=s.convert(a.format,a.colorSpace),_=s.convert(a.type),x=getInternalFormat(a.internalFormat,g,_,a.colorSpace);const y=a.isVideoTexture!==true;const M=h.__version===void 0||l===true;const S=c.dataReady;let b=getMipLevels(a,m);setTextureParameters(t.TEXTURE_CUBE_MAP,a);let T;if(d){y&&M&&n.texStorage2D(t.TEXTURE_CUBE_MAP,b,x,m.width,m.height);for(let e=0;e<6;e++){T=f[e].mipmaps;for(let i=0;i<T.length;i++){const r=T[i];a.format!==Gt?g!==null?y?S&&n.compressedTexSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,i,0,0,r.width,r.height,g,r.data):n.compressedTexImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,i,x,r.width,r.height,0,r.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()\"):y?S&&n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,i,0,0,r.width,r.height,g,_,r.data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,i,x,r.width,r.height,0,g,_,r.data)}}}else{T=a.mipmaps;if(y&&M){T.length>0&&b++;const e=getDimensions(f[0]);n.texStorage2D(t.TEXTURE_CUBE_MAP,b,x,e.width,e.height)}for(let e=0;e<6;e++)if(p){y?S&&n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,0,0,f[e].width,f[e].height,g,_,f[e].data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,x,f[e].width,f[e].height,0,g,_,f[e].data);for(let i=0;i<T.length;i++){const r=T[i];const s=r.image[e].image;y?S&&n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,i+1,0,0,s.width,s.height,g,_,s.data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,i+1,x,s.width,s.height,0,g,_,s.data)}}else{y?S&&n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,0,0,g,_,f[e]):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,x,g,_,f[e]);for(let i=0;i<T.length;i++){const r=T[i];y?S&&n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,i+1,0,0,g,_,r.image[e]):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,i+1,x,g,_,r.image[e])}}}textureNeedsGenerateMipmaps(a)&&generateMipmap(t.TEXTURE_CUBE_MAP);h.__version=c.version;a.onUpdate&&a.onUpdate(a)}e.__version=a.version}function setupFrameBufferTexture(e,r,a,l,c,h){const u=s.convert(a.format,a.colorSpace);const d=s.convert(a.type);const p=getInternalFormat(a.internalFormat,u,d,a.colorSpace);const f=i.get(r);if(!f.__hasExternalTextures){const e=Math.max(1,r.width>>h);const i=Math.max(1,r.height>>h);c===t.TEXTURE_3D||c===t.TEXTURE_2D_ARRAY?n.texImage3D(c,h,p,e,i,r.depth,0,u,d,null):n.texImage2D(c,h,p,e,i,0,u,d,null)}n.bindFramebuffer(t.FRAMEBUFFER,e);useMultisampledRTT(r)?o.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,l,c,i.get(a).__webglTexture,0,getRenderTargetSamples(r)):(c===t.TEXTURE_2D||c>=t.TEXTURE_CUBE_MAP_POSITIVE_X&&c<=t.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&t.framebufferTexture2D(t.FRAMEBUFFER,l,c,i.get(a).__webglTexture,h);n.bindFramebuffer(t.FRAMEBUFFER,null)}function setupRenderBufferStorage(e,n,i){t.bindRenderbuffer(t.RENDERBUFFER,e);if(n.depthBuffer){const r=n.depthTexture;const s=r&&r.isDepthTexture?r.type:null;const a=getInternalDepthFormat(n.stencilBuffer,s);const l=n.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT;const c=getRenderTargetSamples(n);const h=useMultisampledRTT(n);h?o.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,c,a,n.width,n.height):i?t.renderbufferStorageMultisample(t.RENDERBUFFER,c,a,n.width,n.height):t.renderbufferStorage(t.RENDERBUFFER,a,n.width,n.height);t.framebufferRenderbuffer(t.FRAMEBUFFER,l,t.RENDERBUFFER,e)}else{const e=n.textures;for(let r=0;r<e.length;r++){const a=e[r];const l=s.convert(a.format,a.colorSpace);const c=s.convert(a.type);const h=getInternalFormat(a.internalFormat,l,c,a.colorSpace);const u=getRenderTargetSamples(n);i&&useMultisampledRTT(n)===false?t.renderbufferStorageMultisample(t.RENDERBUFFER,u,h,n.width,n.height):useMultisampledRTT(n)?o.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,u,h,n.width,n.height):t.renderbufferStorage(t.RENDERBUFFER,h,n.width,n.height)}}t.bindRenderbuffer(t.RENDERBUFFER,null)}function setupDepthTexture(e,r){const s=r&&r.isWebGLCubeRenderTarget;if(s)throw new Error(\"Depth Texture with cube render targets is not supported\");n.bindFramebuffer(t.FRAMEBUFFER,e);if(!(r.depthTexture&&r.depthTexture.isDepthTexture))throw new Error(\"renderTarget.depthTexture must be an instance of THREE.DepthTexture\");if(!i.get(r.depthTexture).__webglTexture||r.depthTexture.image.width!==r.width||r.depthTexture.image.height!==r.height){r.depthTexture.image.width=r.width;r.depthTexture.image.height=r.height;r.depthTexture.needsUpdate=true}setTexture2D(r.depthTexture,0);const a=i.get(r.depthTexture).__webglTexture;const l=getRenderTargetSamples(r);if(r.depthTexture.format===Wt)useMultisampledRTT(r)?o.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.TEXTURE_2D,a,0,l):t.framebufferTexture2D(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.TEXTURE_2D,a,0);else{if(r.depthTexture.format!==Xt)throw new Error(\"Unknown depthTexture format\");useMultisampledRTT(r)?o.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.TEXTURE_2D,a,0,l):t.framebufferTexture2D(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.TEXTURE_2D,a,0)}}function setupDepthRenderbuffer(e){const r=i.get(e);const s=e.isWebGLCubeRenderTarget===true;if(e.depthTexture&&!r.__autoAllocateDepthBuffer){if(s)throw new Error(\"target.depthTexture not supported in Cube render targets\");setupDepthTexture(r.__webglFramebuffer,e)}else if(s){r.__webglDepthbuffer=[];for(let i=0;i<6;i++){n.bindFramebuffer(t.FRAMEBUFFER,r.__webglFramebuffer[i]);r.__webglDepthbuffer[i]=t.createRenderbuffer();setupRenderBufferStorage(r.__webglDepthbuffer[i],e,false)}}else{n.bindFramebuffer(t.FRAMEBUFFER,r.__webglFramebuffer);r.__webglDepthbuffer=t.createRenderbuffer();setupRenderBufferStorage(r.__webglDepthbuffer,e,false)}n.bindFramebuffer(t.FRAMEBUFFER,null)}function rebindTextures(e,n,r){const s=i.get(e);n!==void 0&&setupFrameBufferTexture(s.__webglFramebuffer,e,e.texture,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,0);r!==void 0&&setupDepthRenderbuffer(e)}function setupRenderTarget(e){const r=e.texture;const o=i.get(e);const l=i.get(r);e.addEventListener(\"dispose\",onRenderTargetDispose);const c=e.textures;const h=e.isWebGLCubeRenderTarget===true;const u=c.length>1;if(!u){l.__webglTexture===void 0&&(l.__webglTexture=t.createTexture());l.__version=r.version;a.memory.textures++}if(h){o.__webglFramebuffer=[];for(let e=0;e<6;e++)if(r.mipmaps&&r.mipmaps.length>0){o.__webglFramebuffer[e]=[];for(let n=0;n<r.mipmaps.length;n++)o.__webglFramebuffer[e][n]=t.createFramebuffer()}else o.__webglFramebuffer[e]=t.createFramebuffer()}else{if(r.mipmaps&&r.mipmaps.length>0){o.__webglFramebuffer=[];for(let e=0;e<r.mipmaps.length;e++)o.__webglFramebuffer[e]=t.createFramebuffer()}else o.__webglFramebuffer=t.createFramebuffer();if(u)for(let e=0,n=c.length;e<n;e++){const n=i.get(c[e]);if(n.__webglTexture===void 0){n.__webglTexture=t.createTexture();a.memory.textures++}}if(e.samples>0&&useMultisampledRTT(e)===false){o.__webglMultisampledFramebuffer=t.createFramebuffer();o.__webglColorRenderbuffer=[];n.bindFramebuffer(t.FRAMEBUFFER,o.__webglMultisampledFramebuffer);for(let n=0;n<c.length;n++){const i=c[n];o.__webglColorRenderbuffer[n]=t.createRenderbuffer();t.bindRenderbuffer(t.RENDERBUFFER,o.__webglColorRenderbuffer[n]);const r=s.convert(i.format,i.colorSpace);const a=s.convert(i.type);const l=getInternalFormat(i.internalFormat,r,a,i.colorSpace,e.isXRRenderTarget===true);const h=getRenderTargetSamples(e);t.renderbufferStorageMultisample(t.RENDERBUFFER,h,l,e.width,e.height);t.framebufferRenderbuffer(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0+n,t.RENDERBUFFER,o.__webglColorRenderbuffer[n])}t.bindRenderbuffer(t.RENDERBUFFER,null);if(e.depthBuffer){o.__webglDepthRenderbuffer=t.createRenderbuffer();setupRenderBufferStorage(o.__webglDepthRenderbuffer,e,true)}n.bindFramebuffer(t.FRAMEBUFFER,null)}}if(h){n.bindTexture(t.TEXTURE_CUBE_MAP,l.__webglTexture);setTextureParameters(t.TEXTURE_CUBE_MAP,r);for(let n=0;n<6;n++)if(r.mipmaps&&r.mipmaps.length>0)for(let i=0;i<r.mipmaps.length;i++)setupFrameBufferTexture(o.__webglFramebuffer[n][i],e,r,t.COLOR_ATTACHMENT0,t.TEXTURE_CUBE_MAP_POSITIVE_X+n,i);else setupFrameBufferTexture(o.__webglFramebuffer[n],e,r,t.COLOR_ATTACHMENT0,t.TEXTURE_CUBE_MAP_POSITIVE_X+n,0);textureNeedsGenerateMipmaps(r)&&generateMipmap(t.TEXTURE_CUBE_MAP);n.unbindTexture()}else if(u){for(let r=0,s=c.length;r<s;r++){const s=c[r];const a=i.get(s);n.bindTexture(t.TEXTURE_2D,a.__webglTexture);setTextureParameters(t.TEXTURE_2D,s);setupFrameBufferTexture(o.__webglFramebuffer,e,s,t.COLOR_ATTACHMENT0+r,t.TEXTURE_2D,0);textureNeedsGenerateMipmaps(s)&&generateMipmap(t.TEXTURE_2D)}n.unbindTexture()}else{let i=t.TEXTURE_2D;(e.isWebGL3DRenderTarget||e.isWebGLArrayRenderTarget)&&(i=e.isWebGL3DRenderTarget?t.TEXTURE_3D:t.TEXTURE_2D_ARRAY);n.bindTexture(i,l.__webglTexture);setTextureParameters(i,r);if(r.mipmaps&&r.mipmaps.length>0)for(let n=0;n<r.mipmaps.length;n++)setupFrameBufferTexture(o.__webglFramebuffer[n],e,r,t.COLOR_ATTACHMENT0,i,n);else setupFrameBufferTexture(o.__webglFramebuffer,e,r,t.COLOR_ATTACHMENT0,i,0);textureNeedsGenerateMipmaps(r)&&generateMipmap(i);n.unbindTexture()}e.depthBuffer&&setupDepthRenderbuffer(e)}function updateRenderTargetMipmap(e){const r=e.textures;for(let s=0,a=r.length;s<a;s++){const a=r[s];if(textureNeedsGenerateMipmaps(a)){const r=e.isWebGLCubeRenderTarget?t.TEXTURE_CUBE_MAP:t.TEXTURE_2D;const s=i.get(a).__webglTexture;n.bindTexture(r,s);generateMipmap(r);n.unbindTexture()}}}const x=[];const y=[];function updateMultisampleRenderTarget(e){if(e.samples>0)if(useMultisampledRTT(e)===false){const r=e.textures;const s=e.width;const a=e.height;let o=t.COLOR_BUFFER_BIT;const c=e.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT;const h=i.get(e);const u=r.length>1;if(u)for(let e=0;e<r.length;e++){n.bindFramebuffer(t.FRAMEBUFFER,h.__webglMultisampledFramebuffer);t.framebufferRenderbuffer(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0+e,t.RENDERBUFFER,null);n.bindFramebuffer(t.FRAMEBUFFER,h.__webglFramebuffer);t.framebufferTexture2D(t.DRAW_FRAMEBUFFER,t.COLOR_ATTACHMENT0+e,t.TEXTURE_2D,null,0)}n.bindFramebuffer(t.READ_FRAMEBUFFER,h.__webglMultisampledFramebuffer);n.bindFramebuffer(t.DRAW_FRAMEBUFFER,h.__webglFramebuffer);for(let n=0;n<r.length;n++){if(e.resolveDepthBuffer){e.depthBuffer&&(o|=t.DEPTH_BUFFER_BIT);e.stencilBuffer&&e.resolveStencilBuffer&&(o|=t.STENCIL_BUFFER_BIT)}if(u){t.framebufferRenderbuffer(t.READ_FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.RENDERBUFFER,h.__webglColorRenderbuffer[n]);const e=i.get(r[n]).__webglTexture;t.framebufferTexture2D(t.DRAW_FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0)}t.blitFramebuffer(0,0,s,a,0,0,s,a,o,t.NEAREST);if(l===true){x.length=0;y.length=0;x.push(t.COLOR_ATTACHMENT0+n);if(e.depthBuffer&&e.resolveDepthBuffer===false){x.push(c);y.push(c);t.invalidateFramebuffer(t.DRAW_FRAMEBUFFER,y)}t.invalidateFramebuffer(t.READ_FRAMEBUFFER,x)}}n.bindFramebuffer(t.READ_FRAMEBUFFER,null);n.bindFramebuffer(t.DRAW_FRAMEBUFFER,null);if(u)for(let e=0;e<r.length;e++){n.bindFramebuffer(t.FRAMEBUFFER,h.__webglMultisampledFramebuffer);t.framebufferRenderbuffer(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0+e,t.RENDERBUFFER,h.__webglColorRenderbuffer[e]);const s=i.get(r[e]).__webglTexture;n.bindFramebuffer(t.FRAMEBUFFER,h.__webglFramebuffer);t.framebufferTexture2D(t.DRAW_FRAMEBUFFER,t.COLOR_ATTACHMENT0+e,t.TEXTURE_2D,s,0)}n.bindFramebuffer(t.DRAW_FRAMEBUFFER,h.__webglMultisampledFramebuffer)}else if(e.depthBuffer&&e.resolveDepthBuffer===false&&l){const n=e.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT;t.invalidateFramebuffer(t.DRAW_FRAMEBUFFER,[n])}}function getRenderTargetSamples(t){return Math.min(r.maxSamples,t.samples)}function useMultisampledRTT(t){const n=i.get(t);return t.samples>0&&e.has(\"WEBGL_multisampled_render_to_texture\")===true&&n.__useRenderToTexture!==false}function updateVideoTexture(t){const e=a.render.frame;if(h.get(t)!==e){h.set(t,e);t.update()}}function verifyColorSpace(t,e){const n=t.colorSpace;const i=t.format;const r=t.type;if(t.isCompressedTexture===true||t.isVideoTexture===true)return e;n!==Ze&&n!==Ye&&($n.getTransfer(n)===tn?i===Gt&&r===At||console.warn(\"THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType.\"):console.error(\"THREE.WebGLTextures: Unsupported texture color space:\",n));return e}function getDimensions(t){if(typeof HTMLImageElement!==\"undefined\"&&t instanceof HTMLImageElement){c.width=t.naturalWidth||t.width;c.height=t.naturalHeight||t.height}else if(typeof VideoFrame!==\"undefined\"&&t instanceof VideoFrame){c.width=t.displayWidth;c.height=t.displayHeight}else{c.width=t.width;c.height=t.height}return c}this.allocateTextureUnit=allocateTextureUnit;this.resetTextureUnits=resetTextureUnits;this.setTexture2D=setTexture2D;this.setTexture2DArray=setTexture2DArray;this.setTexture3D=setTexture3D;this.setTextureCube=setTextureCube;this.rebindTextures=rebindTextures;this.setupRenderTarget=setupRenderTarget;this.updateRenderTargetMipmap=updateRenderTargetMipmap;this.updateMultisampleRenderTarget=updateMultisampleRenderTarget;this.setupDepthRenderbuffer=setupDepthRenderbuffer;this.setupFrameBufferTexture=setupFrameBufferTexture;this.useMultisampledRTT=useMultisampledRTT}function WebGLUtils(t,e){function convert(n,i=Ye){let r;const s=$n.getTransfer(i);if(n===At)return t.UNSIGNED_BYTE;if(n===Nt)return t.UNSIGNED_SHORT_4_4_4_4;if(n===Bt)return t.UNSIGNED_SHORT_5_5_5_1;if(n===Vt)return t.UNSIGNED_INT_5_9_9_9_REV;if(n===Ct)return t.BYTE;if(n===Rt)return t.SHORT;if(n===Pt)return t.UNSIGNED_SHORT;if(n===Lt)return t.INT;if(n===It)return t.UNSIGNED_INT;if(n===Ut)return t.FLOAT;if(n===Dt)return t.HALF_FLOAT;if(n===Ft)return t.ALPHA;if(n===zt)return t.RGB;if(n===Gt)return t.RGBA;if(n===kt)return t.LUMINANCE;if(n===Ht)return t.LUMINANCE_ALPHA;if(n===Wt)return t.DEPTH_COMPONENT;if(n===Xt)return t.DEPTH_STENCIL;if(n===jt)return t.RED;if(n===qt)return t.RED_INTEGER;if(n===Yt)return t.RG;if(n===Kt)return t.RG_INTEGER;if(n===Jt)return t.RGBA_INTEGER;if(n===Qt||n===$t||n===te||n===ee)if(s===tn){r=e.get(\"WEBGL_compressed_texture_s3tc_srgb\");if(r===null)return null;if(n===Qt)return r.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===$t)return r.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===te)return r.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===ee)return r.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else{r=e.get(\"WEBGL_compressed_texture_s3tc\");if(r===null)return null;if(n===Qt)return r.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===$t)return r.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===te)return r.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===ee)return r.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(n===ne||n===ie||n===re||n===se){r=e.get(\"WEBGL_compressed_texture_pvrtc\");if(r===null)return null;if(n===ne)return r.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===ie)return r.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===re)return r.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===se)return r.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(n===ae||n===oe||n===le){r=e.get(\"WEBGL_compressed_texture_etc\");if(r===null)return null;if(n===ae||n===oe)return s===tn?r.COMPRESSED_SRGB8_ETC2:r.COMPRESSED_RGB8_ETC2;if(n===le)return s===tn?r.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:r.COMPRESSED_RGBA8_ETC2_EAC}if(n===ce||n===he||n===ue||n===de||n===pe||n===fe||n===me||n===ge||n===ve||n===_e||n===xe||n===ye||n===Me||n===Se){r=e.get(\"WEBGL_compressed_texture_astc\");if(r===null)return null;if(n===ce)return s===tn?r.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:r.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===he)return s===tn?r.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:r.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===ue)return s===tn?r.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:r.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===de)return s===tn?r.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:r.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===pe)return s===tn?r.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:r.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===fe)return s===tn?r.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:r.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===me)return s===tn?r.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:r.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===ge)return s===tn?r.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:r.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===ve)return s===tn?r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:r.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===_e)return s===tn?r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:r.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===xe)return s===tn?r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:r.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===ye)return s===tn?r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:r.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===Me)return s===tn?r.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:r.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===Se)return s===tn?r.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:r.COMPRESSED_RGBA_ASTC_12x12_KHR}if(n===be||n===Te||n===we){r=e.get(\"EXT_texture_compression_bptc\");if(r===null)return null;if(n===be)return s===tn?r.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:r.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(n===Te)return r.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(n===we)return r.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}if(n===Ee||n===Ae||n===Ce||n===Re){r=e.get(\"EXT_texture_compression_rgtc\");if(r===null)return null;if(n===be)return r.COMPRESSED_RED_RGTC1_EXT;if(n===Ae)return r.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===Ce)return r.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===Re)return r.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}return n===Ot?t.UNSIGNED_INT_24_8:t[n]!==void 0?t[n]:null}return{convert:convert}}class ArrayCamera extends PerspectiveCamera{constructor(t=[]){super();this.isArrayCamera=true;this.cameras=t}}class Group extends Object3D{constructor(){super();this.isGroup=true;this.type=\"Group\"}}const xl={type:\"move\"};class WebXRController{constructor(){this._targetRay=null;this._grip=null;this._hand=null}getHandSpace(){if(this._hand===null){this._hand=new Group;this._hand.matrixAutoUpdate=false;this._hand.visible=false;this._hand.joints={};this._hand.inputState={pinching:false}}return this._hand}getTargetRaySpace(){if(this._targetRay===null){this._targetRay=new Group;this._targetRay.matrixAutoUpdate=false;this._targetRay.visible=false;this._targetRay.hasLinearVelocity=false;this._targetRay.linearVelocity=new Vector3;this._targetRay.hasAngularVelocity=false;this._targetRay.angularVelocity=new Vector3}return this._targetRay}getGripSpace(){if(this._grip===null){this._grip=new Group;this._grip.matrixAutoUpdate=false;this._grip.visible=false;this._grip.hasLinearVelocity=false;this._grip.linearVelocity=new Vector3;this._grip.hasAngularVelocity=false;this._grip.angularVelocity=new Vector3}return this._grip}dispatchEvent(t){this._targetRay!==null&&this._targetRay.dispatchEvent(t);this._grip!==null&&this._grip.dispatchEvent(t);this._hand!==null&&this._hand.dispatchEvent(t);return this}connect(t){if(t&&t.hand){const e=this._hand;if(e)for(const n of t.hand.values())this._getHandJoint(e,n)}this.dispatchEvent({type:\"connected\",data:t});return this}disconnect(t){this.dispatchEvent({type:\"disconnected\",data:t});this._targetRay!==null&&(this._targetRay.visible=false);this._grip!==null&&(this._grip.visible=false);this._hand!==null&&(this._hand.visible=false);return this}update(t,e,n){let i=null;let r=null;let s=null;const a=this._targetRay;const o=this._grip;const l=this._hand;if(t&&e.session.visibilityState!==\"visible-blurred\"){if(l&&t.hand){s=true;for(const i of t.hand.values()){const t=e.getJointPose(i,n);const r=this._getHandJoint(l,i);if(t!==null){r.matrix.fromArray(t.transform.matrix);r.matrix.decompose(r.position,r.rotation,r.scale);r.matrixWorldNeedsUpdate=true;r.jointRadius=t.radius}r.visible=t!==null}const i=l.joints[\"index-finger-tip\"];const r=l.joints[\"thumb-tip\"];const a=i.position.distanceTo(r.position);const o=.02;const c=.005;if(l.inputState.pinching&&a>o+c){l.inputState.pinching=false;this.dispatchEvent({type:\"pinchend\",handedness:t.handedness,target:this})}else if(!l.inputState.pinching&&a<=o-c){l.inputState.pinching=true;this.dispatchEvent({type:\"pinchstart\",handedness:t.handedness,target:this})}}else if(o!==null&&t.gripSpace){r=e.getPose(t.gripSpace,n);if(r!==null){o.matrix.fromArray(r.transform.matrix);o.matrix.decompose(o.position,o.rotation,o.scale);o.matrixWorldNeedsUpdate=true;if(r.linearVelocity){o.hasLinearVelocity=true;o.linearVelocity.copy(r.linearVelocity)}else o.hasLinearVelocity=false;if(r.angularVelocity){o.hasAngularVelocity=true;o.angularVelocity.copy(r.angularVelocity)}else o.hasAngularVelocity=false}}if(a!==null){i=e.getPose(t.targetRaySpace,n);i===null&&r!==null&&(i=r);if(i!==null){a.matrix.fromArray(i.transform.matrix);a.matrix.decompose(a.position,a.rotation,a.scale);a.matrixWorldNeedsUpdate=true;if(i.linearVelocity){a.hasLinearVelocity=true;a.linearVelocity.copy(i.linearVelocity)}else a.hasLinearVelocity=false;if(i.angularVelocity){a.hasAngularVelocity=true;a.angularVelocity.copy(i.angularVelocity)}else a.hasAngularVelocity=false;this.dispatchEvent(xl)}}}a!==null&&(a.visible=i!==null);o!==null&&(o.visible=r!==null);l!==null&&(l.visible=s!==null);return this}_getHandJoint(t,e){if(t.joints[e.jointName]===void 0){const n=new Group;n.matrixAutoUpdate=false;n.visible=false;t.joints[e.jointName]=n;t.add(n)}return t.joints[e.jointName]}}const yl=\"\\nvoid main() {\\n\\n\\tgl_Position = vec4( position, 1.0 );\\n\\n}\";const Ml=\"\\nuniform sampler2DArray depthColor;\\nuniform float depthWidth;\\nuniform float depthHeight;\\n\\nvoid main() {\\n\\n\\tvec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight );\\n\\n\\tif ( coord.x >= 1.0 ) {\\n\\n\\t\\tgl_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r;\\n\\n\\t} else {\\n\\n\\t\\tgl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r;\\n\\n\\t}\\n\\n}\";class WebXRDepthSensing{constructor(){this.texture=null;this.mesh=null;this.depthNear=0;this.depthFar=0}init(t,e,n){if(this.texture===null){const i=new Texture;const r=t.properties.get(i);r.__webglTexture=e.texture;if(e.depthNear!=n.depthNear||e.depthFar!=n.depthFar){this.depthNear=e.depthNear;this.depthFar=e.depthFar}this.texture=i}}getMesh(t){if(this.texture!==null&&this.mesh===null){const e=t.cameras[0].viewport;const n=new ShaderMaterial({vertexShader:yl,fragmentShader:Ml,uniforms:{depthColor:{value:this.texture},depthWidth:{value:e.z},depthHeight:{value:e.w}}});this.mesh=new Mesh(new PlaneGeometry(20,20),n)}return this.mesh}reset(){this.texture=null;this.mesh=null}getDepthTexture(){return this.texture}}class WebXRManager extends EventDispatcher{constructor(t,e){super();const n=this;let i=null;let r=1;let s=null;let a=\"local-floor\";let o=1;let l=null;let c=null;let h=null;let u=null;let d=null;let p=null;const f=new WebXRDepthSensing;const m=e.getContextAttributes();let g=null;let _=null;const x=[];const y=[];const M=new Vector2;let S=null;const b=new PerspectiveCamera;b.layers.enable(1);b.viewport=new Vector4;const T=new PerspectiveCamera;T.layers.enable(2);T.viewport=new Vector4;const w=[b,T];const E=new ArrayCamera;E.layers.enable(1);E.layers.enable(2);let A=null;let C=null;this.cameraAutoUpdate=true;this.enabled=false;this.isPresenting=false;this.getController=function(t){let e=x[t];if(e===void 0){e=new WebXRController;x[t]=e}return e.getTargetRaySpace()};this.getControllerGrip=function(t){let e=x[t];if(e===void 0){e=new WebXRController;x[t]=e}return e.getGripSpace()};this.getHand=function(t){let e=x[t];if(e===void 0){e=new WebXRController;x[t]=e}return e.getHandSpace()};function onSessionEvent(t){const e=y.indexOf(t.inputSource);if(e===-1)return;const n=x[e];if(n!==void 0){n.update(t.inputSource,t.frame,l||s);n.dispatchEvent({type:t.type,data:t.inputSource})}}function onSessionEnd(){i.removeEventListener(\"select\",onSessionEvent);i.removeEventListener(\"selectstart\",onSessionEvent);i.removeEventListener(\"selectend\",onSessionEvent);i.removeEventListener(\"squeeze\",onSessionEvent);i.removeEventListener(\"squeezestart\",onSessionEvent);i.removeEventListener(\"squeezeend\",onSessionEvent);i.removeEventListener(\"end\",onSessionEnd);i.removeEventListener(\"inputsourceschange\",onInputSourcesChange);for(let t=0;t<x.length;t++){const e=y[t];if(e!==null){y[t]=null;x[t].disconnect(e)}}A=null;C=null;f.reset();t.setRenderTarget(g);d=null;u=null;h=null;i=null;_=null;I.stop();n.isPresenting=false;t.setPixelRatio(S);t.setSize(M.width,M.height,false);n.dispatchEvent({type:\"sessionend\"})}this.setFramebufferScaleFactor=function(t){r=t;n.isPresenting===true&&console.warn(\"THREE.WebXRManager: Cannot change framebuffer scale while presenting.\")};this.setReferenceSpaceType=function(t){a=t;n.isPresenting===true&&console.warn(\"THREE.WebXRManager: Cannot change reference space type while presenting.\")};this.getReferenceSpace=function(){return l||s};this.setReferenceSpace=function(t){l=t};this.getBaseLayer=function(){return u!==null?u:d};this.getBinding=function(){return h};this.getFrame=function(){return p};this.getSession=function(){return i};this.setSession=async function(c){i=c;if(i!==null){g=t.getRenderTarget();i.addEventListener(\"select\",onSessionEvent);i.addEventListener(\"selectstart\",onSessionEvent);i.addEventListener(\"selectend\",onSessionEvent);i.addEventListener(\"squeeze\",onSessionEvent);i.addEventListener(\"squeezestart\",onSessionEvent);i.addEventListener(\"squeezeend\",onSessionEvent);i.addEventListener(\"end\",onSessionEnd);i.addEventListener(\"inputsourceschange\",onInputSourcesChange);m.xrCompatible!==true&&await e.makeXRCompatible();S=t.getPixelRatio();t.getSize(M);if(i.renderState.layers===void 0){const n={antialias:m.antialias,alpha:true,depth:m.depth,stencil:m.stencil,framebufferScaleFactor:r};d=new XRWebGLLayer(i,e,n);i.updateRenderState({baseLayer:d});t.setPixelRatio(1);t.setSize(d.framebufferWidth,d.framebufferHeight,false);_=new WebGLRenderTarget(d.framebufferWidth,d.framebufferHeight,{format:Gt,type:At,colorSpace:t.outputColorSpace,stencilBuffer:m.stencil})}else{let n=null;let s=null;let a=null;if(m.depth){a=m.stencil?e.DEPTH24_STENCIL8:e.DEPTH_COMPONENT24;n=m.stencil?Xt:Wt;s=m.stencil?Ot:It}const o={colorFormat:e.RGBA8,depthFormat:a,scaleFactor:r};h=new XRWebGLBinding(i,e);u=h.createProjectionLayer(o);i.updateRenderState({layers:[u]});t.setPixelRatio(1);t.setSize(u.textureWidth,u.textureHeight,false);_=new WebGLRenderTarget(u.textureWidth,u.textureHeight,{format:Gt,type:At,depthTexture:new DepthTexture(u.textureWidth,u.textureHeight,s,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:m.stencil,colorSpace:t.outputColorSpace,samples:m.antialias?4:0,resolveDepthBuffer:u.ignoreDepthValues===false})}_.isXRRenderTarget=true;this.setFoveation(o);l=null;s=await i.requestReferenceSpace(a);I.setContext(i);I.start();n.isPresenting=true;n.dispatchEvent({type:\"sessionstart\"})}};this.getEnvironmentBlendMode=function(){if(i!==null)return i.environmentBlendMode};this.getDepthTexture=function(){return f.getDepthTexture()};function onInputSourcesChange(t){for(let e=0;e<t.removed.length;e++){const n=t.removed[e];const i=y.indexOf(n);if(i>=0){y[i]=null;x[i].disconnect(n)}}for(let e=0;e<t.added.length;e++){const n=t.added[e];let i=y.indexOf(n);if(i===-1){for(let t=0;t<x.length;t++){if(t>=y.length){y.push(n);i=t;break}if(y[t]===null){y[t]=n;i=t;break}}if(i===-1)break}const r=x[i];r&&r.connect(n)}}const R=new Vector3;const P=new Vector3;function setProjectionFromUnion(t,e,n){R.setFromMatrixPosition(e.matrixWorld);P.setFromMatrixPosition(n.matrixWorld);const i=R.distanceTo(P);const r=e.projectionMatrix.elements;const s=n.projectionMatrix.elements;const a=r[14]/(r[10]-1);const o=r[14]/(r[10]+1);const l=(r[9]+1)/r[5];const c=(r[9]-1)/r[5];const h=(r[8]-1)/r[0];const u=(s[8]+1)/s[0];const d=a*h;const p=a*u;const f=i/(-h+u);const m=f*-h;e.matrixWorld.decompose(t.position,t.quaternion,t.scale);t.translateX(m);t.translateZ(f);t.matrixWorld.compose(t.position,t.quaternion,t.scale);t.matrixWorldInverse.copy(t.matrixWorld).invert();const g=a+f;const _=o+f;const x=d-m;const y=p+(i-m);const M=l*o/_*g;const S=c*o/_*g;t.projectionMatrix.makePerspective(x,y,M,S,g,_);t.projectionMatrixInverse.copy(t.projectionMatrix).invert()}function updateCamera(t,e){e===null?t.matrixWorld.copy(t.matrix):t.matrixWorld.multiplyMatrices(e.matrixWorld,t.matrix);t.matrixWorldInverse.copy(t.matrixWorld).invert()}this.updateCamera=function(t){if(i===null)return;if(f.texture!==null){t.near=f.depthNear;t.far=f.depthFar}E.near=T.near=b.near=t.near;E.far=T.far=b.far=t.far;if(A!==E.near||C!==E.far){i.updateRenderState({depthNear:E.near,depthFar:E.far});A=E.near;C=E.far;b.near=A;b.far=C;T.near=A;T.far=C;b.updateProjectionMatrix();T.updateProjectionMatrix();t.updateProjectionMatrix()}const e=t.parent;const n=E.cameras;updateCamera(E,e);for(let t=0;t<n.length;t++)updateCamera(n[t],e);n.length===2?setProjectionFromUnion(E,b,T):E.projectionMatrix.copy(b.projectionMatrix);updateUserCamera(t,E,e)};function updateUserCamera(t,e,n){if(n===null)t.matrix.copy(e.matrixWorld);else{t.matrix.copy(n.matrixWorld);t.matrix.invert();t.matrix.multiply(e.matrixWorld)}t.matrix.decompose(t.position,t.quaternion,t.scale);t.updateMatrixWorld(true);t.projectionMatrix.copy(e.projectionMatrix);t.projectionMatrixInverse.copy(e.projectionMatrixInverse);if(t.isPerspectiveCamera){t.fov=Wn*2*Math.atan(1/t.projectionMatrix.elements[5]);t.zoom=1}}this.getCamera=function(){return E};this.getFoveation=function(){if(u!==null||d!==null)return o};this.setFoveation=function(t){o=t;u!==null&&(u.fixedFoveation=t);d!==null&&d.fixedFoveation!==void 0&&(d.fixedFoveation=t)};this.hasDepthSensing=function(){return f.texture!==null};this.getDepthSensingMesh=function(){return f.getMesh(E)};let L=null;function onAnimationFrame(e,r){c=r.getViewerPose(l||s);p=r;if(c!==null){const e=c.views;if(d!==null){t.setRenderTargetFramebuffer(_,d.framebuffer);t.setRenderTarget(_)}let n=false;if(e.length!==E.cameras.length){E.cameras.length=0;n=true}for(let i=0;i<e.length;i++){const r=e[i];let s=null;if(d!==null)s=d.getViewport(r);else{const e=h.getViewSubImage(u,r);s=e.viewport;if(i===0){t.setRenderTargetTextures(_,e.colorTexture,u.ignoreDepthValues?void 0:e.depthStencilTexture);t.setRenderTarget(_)}}let a=w[i];if(a===void 0){a=new PerspectiveCamera;a.layers.enable(i);a.viewport=new Vector4;w[i]=a}a.matrix.fromArray(r.transform.matrix);a.matrix.decompose(a.position,a.quaternion,a.scale);a.projectionMatrix.fromArray(r.projectionMatrix);a.projectionMatrixInverse.copy(a.projectionMatrix).invert();a.viewport.set(s.x,s.y,s.width,s.height);if(i===0){E.matrix.copy(a.matrix);E.matrix.decompose(E.position,E.quaternion,E.scale)}n===true&&E.cameras.push(a)}const r=i.enabledFeatures;if(r&&r.includes(\"depth-sensing\")){const n=h.getDepthInformation(e[0]);n&&n.isValid&&n.texture&&f.init(t,n,i.renderState)}}for(let t=0;t<x.length;t++){const e=y[t];const n=x[t];e!==null&&n!==void 0&&n.update(e,r,l||s)}L&&L(e,r);r.detectedPlanes&&n.dispatchEvent({type:\"planesdetected\",data:r});p=null}const I=new WebGLAnimation;I.setAnimationLoop(onAnimationFrame);this.setAnimationLoop=function(t){L=t};this.dispose=function(){}}}const Sl=new Euler;const bl=new Matrix4;function WebGLMaterials(t,e){function refreshTransformUniform(t,e){t.matrixAutoUpdate===true&&t.updateMatrix();e.value.copy(t.matrix)}function refreshFogUniforms(e,n){n.color.getRGB(e.fogColor.value,getUnlitUniformColorSpace(t));if(n.isFog){e.fogNear.value=n.near;e.fogFar.value=n.far}else n.isFogExp2&&(e.fogDensity.value=n.density)}function refreshMaterialUniforms(t,e,n,i,r){if(e.isMeshBasicMaterial)refreshUniformsCommon(t,e);else if(e.isMeshLambertMaterial)refreshUniformsCommon(t,e);else if(e.isMeshToonMaterial){refreshUniformsCommon(t,e);refreshUniformsToon(t,e)}else if(e.isMeshPhongMaterial){refreshUniformsCommon(t,e);refreshUniformsPhong(t,e)}else if(e.isMeshStandardMaterial){refreshUniformsCommon(t,e);refreshUniformsStandard(t,e);e.isMeshPhysicalMaterial&&refreshUniformsPhysical(t,e,r)}else if(e.isMeshMatcapMaterial){refreshUniformsCommon(t,e);refreshUniformsMatcap(t,e)}else if(e.isMeshDepthMaterial)refreshUniformsCommon(t,e);else if(e.isMeshDistanceMaterial){refreshUniformsCommon(t,e);refreshUniformsDistance(t,e)}else if(e.isMeshNormalMaterial)refreshUniformsCommon(t,e);else if(e.isLineBasicMaterial){refreshUniformsLine(t,e);e.isLineDashedMaterial&&refreshUniformsDash(t,e)}else if(e.isPointsMaterial)refreshUniformsPoints(t,e,n,i);else if(e.isSpriteMaterial)refreshUniformsSprites(t,e);else if(e.isShadowMaterial){t.color.value.copy(e.color);t.opacity.value=e.opacity}else e.isShaderMaterial&&(e.uniformsNeedUpdate=false)}function refreshUniformsCommon(t,n){t.opacity.value=n.opacity;n.color&&t.diffuse.value.copy(n.color);n.emissive&&t.emissive.value.copy(n.emissive).multiplyScalar(n.emissiveIntensity);if(n.map){t.map.value=n.map;refreshTransformUniform(n.map,t.mapTransform)}if(n.alphaMap){t.alphaMap.value=n.alphaMap;refreshTransformUniform(n.alphaMap,t.alphaMapTransform)}if(n.bumpMap){t.bumpMap.value=n.bumpMap;refreshTransformUniform(n.bumpMap,t.bumpMapTransform);t.bumpScale.value=n.bumpScale;n.side===d&&(t.bumpScale.value*=-1)}if(n.normalMap){t.normalMap.value=n.normalMap;refreshTransformUniform(n.normalMap,t.normalMapTransform);t.normalScale.value.copy(n.normalScale);n.side===d&&t.normalScale.value.negate()}if(n.displacementMap){t.displacementMap.value=n.displacementMap;refreshTransformUniform(n.displacementMap,t.displacementMapTransform);t.displacementScale.value=n.displacementScale;t.displacementBias.value=n.displacementBias}if(n.emissiveMap){t.emissiveMap.value=n.emissiveMap;refreshTransformUniform(n.emissiveMap,t.emissiveMapTransform)}if(n.specularMap){t.specularMap.value=n.specularMap;refreshTransformUniform(n.specularMap,t.specularMapTransform)}n.alphaTest>0&&(t.alphaTest.value=n.alphaTest);const i=e.get(n);const r=i.envMap;const s=i.envMapRotation;if(r){t.envMap.value=r;Sl.copy(s);Sl.x*=-1;Sl.y*=-1;Sl.z*=-1;if(r.isCubeTexture&&r.isRenderTargetTexture===false){Sl.y*=-1;Sl.z*=-1}t.envMapRotation.value.setFromMatrix4(bl.makeRotationFromEuler(Sl));t.flipEnvMap.value=r.isCubeTexture&&r.isRenderTargetTexture===false?-1:1;t.reflectivity.value=n.reflectivity;t.ior.value=n.ior;t.refractionRatio.value=n.refractionRatio}if(n.lightMap){t.lightMap.value=n.lightMap;t.lightMapIntensity.value=n.lightMapIntensity;refreshTransformUniform(n.lightMap,t.lightMapTransform)}if(n.aoMap){t.aoMap.value=n.aoMap;t.aoMapIntensity.value=n.aoMapIntensity;refreshTransformUniform(n.aoMap,t.aoMapTransform)}}function refreshUniformsLine(t,e){t.diffuse.value.copy(e.color);t.opacity.value=e.opacity;if(e.map){t.map.value=e.map;refreshTransformUniform(e.map,t.mapTransform)}}function refreshUniformsDash(t,e){t.dashSize.value=e.dashSize;t.totalSize.value=e.dashSize+e.gapSize;t.scale.value=e.scale}function refreshUniformsPoints(t,e,n,i){t.diffuse.value.copy(e.color);t.opacity.value=e.opacity;t.size.value=e.size*n;t.scale.value=i*.5;if(e.map){t.map.value=e.map;refreshTransformUniform(e.map,t.uvTransform)}if(e.alphaMap){t.alphaMap.value=e.alphaMap;refreshTransformUniform(e.alphaMap,t.alphaMapTransform)}e.alphaTest>0&&(t.alphaTest.value=e.alphaTest)}function refreshUniformsSprites(t,e){t.diffuse.value.copy(e.color);t.opacity.value=e.opacity;t.rotation.value=e.rotation;if(e.map){t.map.value=e.map;refreshTransformUniform(e.map,t.mapTransform)}if(e.alphaMap){t.alphaMap.value=e.alphaMap;refreshTransformUniform(e.alphaMap,t.alphaMapTransform)}e.alphaTest>0&&(t.alphaTest.value=e.alphaTest)}function refreshUniformsPhong(t,e){t.specular.value.copy(e.specular);t.shininess.value=Math.max(e.shininess,1e-4)}function refreshUniformsToon(t,e){e.gradientMap&&(t.gradientMap.value=e.gradientMap)}function refreshUniformsStandard(t,e){t.metalness.value=e.metalness;if(e.metalnessMap){t.metalnessMap.value=e.metalnessMap;refreshTransformUniform(e.metalnessMap,t.metalnessMapTransform)}t.roughness.value=e.roughness;if(e.roughnessMap){t.roughnessMap.value=e.roughnessMap;refreshTransformUniform(e.roughnessMap,t.roughnessMapTransform)}e.envMap&&(t.envMapIntensity.value=e.envMapIntensity)}function refreshUniformsPhysical(t,e,n){t.ior.value=e.ior;if(e.sheen>0){t.sheenColor.value.copy(e.sheenColor).multiplyScalar(e.sheen);t.sheenRoughness.value=e.sheenRoughness;if(e.sheenColorMap){t.sheenColorMap.value=e.sheenColorMap;refreshTransformUniform(e.sheenColorMap,t.sheenColorMapTransform)}if(e.sheenRoughnessMap){t.sheenRoughnessMap.value=e.sheenRoughnessMap;refreshTransformUniform(e.sheenRoughnessMap,t.sheenRoughnessMapTransform)}}if(e.clearcoat>0){t.clearcoat.value=e.clearcoat;t.clearcoatRoughness.value=e.clearcoatRoughness;if(e.clearcoatMap){t.clearcoatMap.value=e.clearcoatMap;refreshTransformUniform(e.clearcoatMap,t.clearcoatMapTransform)}if(e.clearcoatRoughnessMap){t.clearcoatRoughnessMap.value=e.clearcoatRoughnessMap;refreshTransformUniform(e.clearcoatRoughnessMap,t.clearcoatRoughnessMapTransform)}if(e.clearcoatNormalMap){t.clearcoatNormalMap.value=e.clearcoatNormalMap;refreshTransformUniform(e.clearcoatNormalMap,t.clearcoatNormalMapTransform);t.clearcoatNormalScale.value.copy(e.clearcoatNormalScale);e.side===d&&t.clearcoatNormalScale.value.negate()}}e.dispersion>0&&(t.dispersion.value=e.dispersion);if(e.iridescence>0){t.iridescence.value=e.iridescence;t.iridescenceIOR.value=e.iridescenceIOR;t.iridescenceThicknessMinimum.value=e.iridescenceThicknessRange[0];t.iridescenceThicknessMaximum.value=e.iridescenceThicknessRange[1];if(e.iridescenceMap){t.iridescenceMap.value=e.iridescenceMap;refreshTransformUniform(e.iridescenceMap,t.iridescenceMapTransform)}if(e.iridescenceThicknessMap){t.iridescenceThicknessMap.value=e.iridescenceThicknessMap;refreshTransformUniform(e.iridescenceThicknessMap,t.iridescenceThicknessMapTransform)}}if(e.transmission>0){t.transmission.value=e.transmission;t.transmissionSamplerMap.value=n.texture;t.transmissionSamplerSize.value.set(n.width,n.height);if(e.transmissionMap){t.transmissionMap.value=e.transmissionMap;refreshTransformUniform(e.transmissionMap,t.transmissionMapTransform)}t.thickness.value=e.thickness;if(e.thicknessMap){t.thicknessMap.value=e.thicknessMap;refreshTransformUniform(e.thicknessMap,t.thicknessMapTransform)}t.attenuationDistance.value=e.attenuationDistance;t.attenuationColor.value.copy(e.attenuationColor)}if(e.anisotropy>0){t.anisotropyVector.value.set(e.anisotropy*Math.cos(e.anisotropyRotation),e.anisotropy*Math.sin(e.anisotropyRotation));if(e.anisotropyMap){t.anisotropyMap.value=e.anisotropyMap;refreshTransformUniform(e.anisotropyMap,t.anisotropyMapTransform)}}t.specularIntensity.value=e.specularIntensity;t.specularColor.value.copy(e.specularColor);if(e.specularColorMap){t.specularColorMap.value=e.specularColorMap;refreshTransformUniform(e.specularColorMap,t.specularColorMapTransform)}if(e.specularIntensityMap){t.specularIntensityMap.value=e.specularIntensityMap;refreshTransformUniform(e.specularIntensityMap,t.specularIntensityMapTransform)}}function refreshUniformsMatcap(t,e){e.matcap&&(t.matcap.value=e.matcap)}function refreshUniformsDistance(t,n){const i=e.get(n).light;t.referencePosition.value.setFromMatrixPosition(i.matrixWorld);t.nearDistance.value=i.shadow.camera.near;t.farDistance.value=i.shadow.camera.far}return{refreshFogUniforms:refreshFogUniforms,refreshMaterialUniforms:refreshMaterialUniforms}}function WebGLUniformsGroups(t,e,n,i){let r={};let s={};let a=[];const o=t.getParameter(t.MAX_UNIFORM_BUFFER_BINDINGS);function bind(t,e){const n=e.program;i.uniformBlockBinding(t,n)}function update(t,n){let a=r[t.id];if(a===void 0){prepareUniformsGroup(t);a=createBuffer(t);r[t.id]=a;t.addEventListener(\"dispose\",onUniformsGroupsDispose)}const o=n.program;i.updateUBOMapping(t,o);const l=e.render.frame;if(s[t.id]!==l){updateBufferData(t);s[t.id]=l}}function createBuffer(e){const n=allocateBindingPointIndex();e.__bindingPointIndex=n;const i=t.createBuffer();const r=e.__size;const s=e.usage;t.bindBuffer(t.UNIFORM_BUFFER,i);t.bufferData(t.UNIFORM_BUFFER,r,s);t.bindBuffer(t.UNIFORM_BUFFER,null);t.bindBufferBase(t.UNIFORM_BUFFER,n,i);return i}function allocateBindingPointIndex(){for(let t=0;t<o;t++)if(a.indexOf(t)===-1){a.push(t);return t}console.error(\"THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached.\");return 0}function updateBufferData(e){const n=r[e.id];const i=e.uniforms;const s=e.__cache;t.bindBuffer(t.UNIFORM_BUFFER,n);for(let e=0,n=i.length;e<n;e++){const n=Array.isArray(i[e])?i[e]:[i[e]];for(let i=0,r=n.length;i<r;i++){const r=n[i];if(hasUniformChanged(r,e,i,s)===true){const e=r.__offset;const n=Array.isArray(r.value)?r.value:[r.value];let i=0;for(let s=0;s<n.length;s++){const a=n[s];const o=getUniformSize(a);if(typeof a===\"number\"||typeof a===\"boolean\"){r.__data[0]=a;t.bufferSubData(t.UNIFORM_BUFFER,e+i,r.__data)}else if(a.isMatrix3){r.__data[0]=a.elements[0];r.__data[1]=a.elements[1];r.__data[2]=a.elements[2];r.__data[3]=0;r.__data[4]=a.elements[3];r.__data[5]=a.elements[4];r.__data[6]=a.elements[5];r.__data[7]=0;r.__data[8]=a.elements[6];r.__data[9]=a.elements[7];r.__data[10]=a.elements[8];r.__data[11]=0}else{a.toArray(r.__data,i);i+=o.storage/Float32Array.BYTES_PER_ELEMENT}}t.bufferSubData(t.UNIFORM_BUFFER,e,r.__data)}}}t.bindBuffer(t.UNIFORM_BUFFER,null)}function hasUniformChanged(t,e,n,i){const r=t.value;const s=e+\"_\"+n;if(i[s]===void 0){i[s]=typeof r===\"number\"||typeof r===\"boolean\"?r:r.clone();return true}{const t=i[s];if(typeof r===\"number\"||typeof r===\"boolean\"){if(t!==r){i[s]=r;return true}}else if(t.equals(r)===false){t.copy(r);return true}}return false}function prepareUniformsGroup(t){const e=t.uniforms;let n=0;const i=16;for(let t=0,r=e.length;t<r;t++){const r=Array.isArray(e[t])?e[t]:[e[t]];for(let t=0,e=r.length;t<e;t++){const e=r[t];const s=Array.isArray(e.value)?e.value:[e.value];for(let t=0,r=s.length;t<r;t++){const r=s[t];const a=getUniformSize(r);const o=n%i;o!==0&&i-o<a.boundary&&(n+=i-o);e.__data=new Float32Array(a.storage/Float32Array.BYTES_PER_ELEMENT);e.__offset=n;n+=a.storage}}}const r=n%i;r>0&&(n+=i-r);t.__size=n;t.__cache={};return this}function getUniformSize(t){const e={boundary:0,storage:0};if(typeof t===\"number\"||typeof t===\"boolean\"){e.boundary=4;e.storage=4}else if(t.isVector2){e.boundary=8;e.storage=8}else if(t.isVector3||t.isColor){e.boundary=16;e.storage=12}else if(t.isVector4){e.boundary=16;e.storage=16}else if(t.isMatrix3){e.boundary=48;e.storage=48}else if(t.isMatrix4){e.boundary=64;e.storage=64}else t.isTexture?console.warn(\"THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group.\"):console.warn(\"THREE.WebGLRenderer: Unsupported uniform value type.\",t);return e}function onUniformsGroupsDispose(e){const n=e.target;n.removeEventListener(\"dispose\",onUniformsGroupsDispose);const i=a.indexOf(n.__bindingPointIndex);a.splice(i,1);t.deleteBuffer(r[n.id]);delete r[n.id];delete s[n.id]}function dispose(){for(const e in r)t.deleteBuffer(r[e]);a=[];r={};s={}}return{bind:bind,update:update,dispose:dispose}}class WebGLRenderer{constructor(e={}){const{canvas:n=createCanvasElement(),context:i=null,depth:r=true,stencil:s=false,alpha:a=false,antialias:o=false,premultipliedAlpha:l=true,preserveDrawingBuffer:c=false,powerPreference:h=\"default\",failIfMajorPerformanceCaveat:f=false}=e;this.isWebGLRenderer=true;let m;if(i!==null){if(typeof WebGLRenderingContext!==\"undefined\"&&i instanceof WebGLRenderingContext)throw new Error(\"THREE.WebGLRenderer: WebGL 1 is not supported since r163.\");m=i.getContextAttributes().alpha}else m=a;const g=new Uint32Array(4);const _=new Int32Array(4);let x=null;let y=null;const M=[];const S=[];this.domElement=n;this.debug={\n/**\n\t\t\t * Enables error checking and reporting when shader programs are being compiled\n\t\t\t * @type {boolean}\n\t\t\t */\ncheckShaderErrors:true,\n/**\n\t\t\t * Callback for custom error reporting.\n\t\t\t * @type {?Function}\n\t\t\t */\nonShaderError:null};this.autoClear=true;this.autoClearColor=true;this.autoClearDepth=true;this.autoClearStencil=true;this.sortObjects=true;this.clippingPlanes=[];this.localClippingEnabled=false;this._outputColorSpace=Ke;this.toneMapping=Q;this.toneMappingExposure=1;const b=this;let T=false;let w=0;let E=0;let A=null;let C=-1;let R=null;const P=new Vector4;const L=new Vector4;let I=null;const U=new Color(0);let D=0;let N=n.width;let B=n.height;let O=1;let V=null;let F=null;const z=new Vector4(0,0,N,B);const G=new Vector4(0,0,N,B);let k=false;const H=new Frustum;let W=false;let X=false;const j=new Matrix4;const q=new Vector3;const Y=new Vector4;const K={background:null,fog:null,environment:null,overrideMaterial:null,isScene:true};let Z=false;function getTargetPixelRatio(){return A===null?O:1}let J=i;function getContext(t,e){return n.getContext(t,e)}try{const e={alpha:true,depth:r,stencil:s,antialias:o,premultipliedAlpha:l,preserveDrawingBuffer:c,powerPreference:h,failIfMajorPerformanceCaveat:f};\"setAttribute\"in n&&n.setAttribute(\"data-engine\",`three.js r${t}`);n.addEventListener(\"webglcontextlost\",onContextLost,false);n.addEventListener(\"webglcontextrestored\",onContextRestore,false);n.addEventListener(\"webglcontextcreationerror\",onContextCreationError,false);if(J===null){const t=\"webgl2\";J=getContext(t,e);if(J===null)throw getContext(t)?new Error(\"Error creating WebGL context with your selected attributes.\"):new Error(\"Error creating WebGL context.\")}}catch(t){console.error(\"THREE.WebGLRenderer: \"+t.message);throw t}let $,tt,et,nt;let it,rt,st,at,ot,lt,ct;let ht,ut,dt,pt,ft,mt;let gt,vt,_t,xt;let yt,Mt,St;function initGLContext(){$=new WebGLExtensions(J);$.init();yt=new WebGLUtils(J,$);tt=new WebGLCapabilities(J,$,e,yt);et=new WebGLState(J);nt=new WebGLInfo(J);it=new WebGLProperties;rt=new WebGLTextures(J,$,et,it,tt,yt,nt);st=new WebGLCubeMaps(b);at=new WebGLCubeUVMaps(b);ot=new WebGLAttributes(J);Mt=new WebGLBindingStates(J,ot);lt=new WebGLGeometries(J,ot,nt,Mt);ct=new WebGLObjects(J,lt,ot,nt);vt=new WebGLMorphtargets(J,tt,rt);ft=new WebGLClipping(it);ht=new WebGLPrograms(b,st,at,$,tt,Mt,ft);ut=new WebGLMaterials(b,it);dt=new WebGLRenderLists;pt=new WebGLRenderStates($);gt=new WebGLBackground(b,st,at,et,ct,m,l);mt=new WebGLShadowMap(b,ct,tt);St=new WebGLUniformsGroups(J,nt,tt,et);_t=new WebGLBufferRenderer(J,$,nt);xt=new WebGLIndexedBufferRenderer(J,$,nt);nt.programs=ht.programs;b.capabilities=tt;b.extensions=$;b.properties=it;b.renderLists=dt;b.shadowMap=mt;b.state=et;b.info=nt}initGLContext();const bt=new WebXRManager(b,J);this.xr=bt;this.getContext=function(){return J};this.getContextAttributes=function(){return J.getContextAttributes()};this.forceContextLoss=function(){const t=$.get(\"WEBGL_lose_context\");t&&t.loseContext()};this.forceContextRestore=function(){const t=$.get(\"WEBGL_lose_context\");t&&t.restoreContext()};this.getPixelRatio=function(){return O};this.setPixelRatio=function(t){if(t!==void 0){O=t;this.setSize(N,B,false)}};this.getSize=function(t){return t.set(N,B)};this.setSize=function(t,e,i=true){if(bt.isPresenting)console.warn(\"THREE.WebGLRenderer: Can't change size while VR device is presenting.\");else{N=t;B=e;n.width=Math.floor(t*O);n.height=Math.floor(e*O);if(i===true){n.style.width=t+\"px\";n.style.height=e+\"px\"}this.setViewport(0,0,t,e)}};this.getDrawingBufferSize=function(t){return t.set(N*O,B*O).floor()};this.setDrawingBufferSize=function(t,e,i){N=t;B=e;O=i;n.width=Math.floor(t*i);n.height=Math.floor(e*i);this.setViewport(0,0,t,e)};this.getCurrentViewport=function(t){return t.copy(P)};this.getViewport=function(t){return t.copy(z)};this.setViewport=function(t,e,n,i){t.isVector4?z.set(t.x,t.y,t.z,t.w):z.set(t,e,n,i);et.viewport(P.copy(z).multiplyScalar(O).round())};this.getScissor=function(t){return t.copy(G)};this.setScissor=function(t,e,n,i){t.isVector4?G.set(t.x,t.y,t.z,t.w):G.set(t,e,n,i);et.scissor(L.copy(G).multiplyScalar(O).round())};this.getScissorTest=function(){return k};this.setScissorTest=function(t){et.setScissorTest(k=t)};this.setOpaqueSort=function(t){V=t};this.setTransparentSort=function(t){F=t};this.getClearColor=function(t){return t.copy(gt.getClearColor())};this.setClearColor=function(){gt.setClearColor.apply(gt,arguments)};this.getClearAlpha=function(){return gt.getClearAlpha()};this.setClearAlpha=function(){gt.setClearAlpha.apply(gt,arguments)};this.clear=function(t=true,e=true,n=true){let i=0;if(t){let t=false;if(A!==null){const e=A.texture.format;t=e===Jt||e===Kt||e===qt}if(t){const t=A.texture.type;const e=t===At||t===It||t===Pt||t===Ot||t===Nt||t===Bt;const n=gt.getClearColor();const i=gt.getClearAlpha();const r=n.r;const s=n.g;const a=n.b;if(e){g[0]=r;g[1]=s;g[2]=a;g[3]=i;J.clearBufferuiv(J.COLOR,0,g)}else{_[0]=r;_[1]=s;_[2]=a;_[3]=i;J.clearBufferiv(J.COLOR,0,_)}}else i|=J.COLOR_BUFFER_BIT}e&&(i|=J.DEPTH_BUFFER_BIT);if(n){i|=J.STENCIL_BUFFER_BIT;this.state.buffers.stencil.setMask(4294967295)}J.clear(i)};this.clearColor=function(){this.clear(true,false,false)};this.clearDepth=function(){this.clear(false,true,false)};this.clearStencil=function(){this.clear(false,false,true)};this.dispose=function(){n.removeEventListener(\"webglcontextlost\",onContextLost,false);n.removeEventListener(\"webglcontextrestored\",onContextRestore,false);n.removeEventListener(\"webglcontextcreationerror\",onContextCreationError,false);dt.dispose();pt.dispose();it.dispose();st.dispose();at.dispose();ct.dispose();Mt.dispose();St.dispose();ht.dispose();bt.dispose();bt.removeEventListener(\"sessionstart\",onXRSessionStart);bt.removeEventListener(\"sessionend\",onXRSessionEnd);Et.stop()};function onContextLost(t){t.preventDefault();console.log(\"THREE.WebGLRenderer: Context Lost.\");T=true}function onContextRestore(){console.log(\"THREE.WebGLRenderer: Context Restored.\");T=false;const t=nt.autoReset;const e=mt.enabled;const n=mt.autoUpdate;const i=mt.needsUpdate;const r=mt.type;initGLContext();nt.autoReset=t;mt.enabled=e;mt.autoUpdate=n;mt.needsUpdate=i;mt.type=r}function onContextCreationError(t){console.error(\"THREE.WebGLRenderer: A WebGL context could not be created. Reason: \",t.statusMessage)}function onMaterialDispose(t){const e=t.target;e.removeEventListener(\"dispose\",onMaterialDispose);deallocateMaterial(e)}function deallocateMaterial(t){releaseMaterialProgramReferences(t);it.remove(t)}function releaseMaterialProgramReferences(t){const e=it.get(t).programs;if(e!==void 0){e.forEach((function(t){ht.releaseProgram(t)}));t.isShaderMaterial&&ht.releaseShaderCache(t)}}this.renderBufferDirect=function(t,e,n,i,r,s){e===null&&(e=K);const a=r.isMesh&&r.matrixWorld.determinant()<0;const o=setProgram(t,e,n,i,r);et.setMaterial(i,a);let l=n.index;let c=1;if(i.wireframe===true){l=lt.getWireframeAttribute(n);if(l===void 0)return;c=2}const h=n.drawRange;const u=n.attributes.position;let d=h.start*c;let p=(h.start+h.count)*c;if(s!==null){d=Math.max(d,s.start*c);p=Math.min(p,(s.start+s.count)*c)}if(l!==null){d=Math.max(d,0);p=Math.min(p,l.count)}else if(u!==void 0&&u!==null){d=Math.max(d,0);p=Math.min(p,u.count)}const f=p-d;if(f<0||f===Infinity)return;Mt.setup(r,i,o,n,l);let m;let g=_t;if(l!==null){m=ot.get(l);g=xt;g.setIndex(m)}if(r.isMesh)if(i.wireframe===true){et.setLineWidth(i.wireframeLinewidth*getTargetPixelRatio());g.setMode(J.LINES)}else g.setMode(J.TRIANGLES);else if(r.isLine){let t=i.linewidth;t===void 0&&(t=1);et.setLineWidth(t*getTargetPixelRatio());r.isLineSegments?g.setMode(J.LINES):r.isLineLoop?g.setMode(J.LINE_LOOP):g.setMode(J.LINE_STRIP)}else r.isPoints?g.setMode(J.POINTS):r.isSprite&&g.setMode(J.TRIANGLES);if(r.isBatchedMesh)if(r._multiDrawInstances!==null)g.renderMultiDrawInstances(r._multiDrawStarts,r._multiDrawCounts,r._multiDrawCount,r._multiDrawInstances);else if($.get(\"WEBGL_multi_draw\"))g.renderMultiDraw(r._multiDrawStarts,r._multiDrawCounts,r._multiDrawCount);else{const t=r._multiDrawStarts;const e=r._multiDrawCounts;const n=r._multiDrawCount;const s=l?ot.get(l).bytesPerElement:1;const a=it.get(i).currentProgram.getUniforms();for(let i=0;i<n;i++){a.setValue(J,\"_gl_DrawID\",i);g.render(t[i]/s,e[i])}}else if(r.isInstancedMesh)g.renderInstances(d,f,r.count);else if(n.isInstancedBufferGeometry){const t=n._maxInstanceCount!==void 0?n._maxInstanceCount:Infinity;const e=Math.min(n.instanceCount,t);g.renderInstances(d,f,e)}else g.render(d,f)};function prepareMaterial(t,e,n){if(t.transparent===true&&t.side===p&&t.forceSinglePass===false){t.side=d;t.needsUpdate=true;getProgram(t,e,n);t.side=u;t.needsUpdate=true;getProgram(t,e,n);t.side=p}else getProgram(t,e,n)}this.compile=function(t,e,n=null){n===null&&(n=t);y=pt.get(n);y.init(e);S.push(y);n.traverseVisible((function(t){if(t.isLight&&t.layers.test(e.layers)){y.pushLight(t);t.castShadow&&y.pushShadow(t)}}));t!==n&&t.traverseVisible((function(t){if(t.isLight&&t.layers.test(e.layers)){y.pushLight(t);t.castShadow&&y.pushShadow(t)}}));y.setupLights();const i=new Set;t.traverse((function(t){const e=t.material;if(e)if(Array.isArray(e))for(let r=0;r<e.length;r++){const s=e[r];prepareMaterial(s,n,t);i.add(s)}else{prepareMaterial(e,n,t);i.add(e)}}));S.pop();y=null;return i};this.compileAsync=function(t,e,n=null){const i=this.compile(t,e,n);return new Promise((e=>{function checkMaterialsReady(){i.forEach((function(t){const e=it.get(t);const n=e.currentProgram;n.isReady()&&i.delete(t)}));i.size!==0?setTimeout(checkMaterialsReady,10):e(t)}$.get(\"KHR_parallel_shader_compile\")!==null?checkMaterialsReady():setTimeout(checkMaterialsReady,10)}))};let Tt=null;function onAnimationFrame(t){Tt&&Tt(t)}function onXRSessionStart(){Et.stop()}function onXRSessionEnd(){Et.start()}const Et=new WebGLAnimation;Et.setAnimationLoop(onAnimationFrame);typeof self!==\"undefined\"&&Et.setContext(self);this.setAnimationLoop=function(t){Tt=t;bt.setAnimationLoop(t);t===null?Et.stop():Et.start()};bt.addEventListener(\"sessionstart\",onXRSessionStart);bt.addEventListener(\"sessionend\",onXRSessionEnd);this.render=function(t,e){if(e!==void 0&&e.isCamera!==true){console.error(\"THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.\");return}if(T===true)return;t.matrixWorldAutoUpdate===true&&t.updateMatrixWorld();e.parent===null&&e.matrixWorldAutoUpdate===true&&e.updateMatrixWorld();if(bt.enabled===true&&bt.isPresenting===true){bt.cameraAutoUpdate===true&&bt.updateCamera(e);e=bt.getCamera()}t.isScene===true&&t.onBeforeRender(b,t,e,A);y=pt.get(t,S.length);y.init(e);S.push(y);j.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse);H.setFromProjectionMatrix(j);X=this.localClippingEnabled;W=ft.init(this.clippingPlanes,X);x=dt.get(t,M.length);x.init();M.push(x);if(bt.enabled===true&&bt.isPresenting===true){const t=b.xr.getDepthSensingMesh();t!==null&&projectObject(t,e,-Infinity,b.sortObjects)}projectObject(t,e,0,b.sortObjects);x.finish();b.sortObjects===true&&x.sort(V,F);Z=bt.enabled===false||bt.isPresenting===false||bt.hasDepthSensing()===false;Z&&gt.addToRenderList(x,t);this.info.render.frame++;W===true&&ft.beginShadows();const n=y.state.shadowsArray;mt.render(n,t,e);W===true&&ft.endShadows();this.info.autoReset===true&&this.info.reset();const i=x.opaque;const r=x.transmissive;y.setupLights();if(e.isArrayCamera){const n=e.cameras;if(r.length>0)for(let e=0,s=n.length;e<s;e++){const s=n[e];renderTransmissionPass(i,r,t,s)}Z&&gt.render(t);for(let e=0,i=n.length;e<i;e++){const i=n[e];renderScene(x,t,i,i.viewport)}}else{r.length>0&&renderTransmissionPass(i,r,t,e);Z&&gt.render(t);renderScene(x,t,e)}if(A!==null){rt.updateMultisampleRenderTarget(A);rt.updateRenderTargetMipmap(A)}t.isScene===true&&t.onAfterRender(b,t,e);Mt.resetDefaultState();C=-1;R=null;S.pop();if(S.length>0){y=S[S.length-1];W===true&&ft.setGlobalState(b.clippingPlanes,y.state.camera)}else y=null;M.pop();x=M.length>0?M[M.length-1]:null};function projectObject(t,e,n,i){if(t.visible===false)return;const r=t.layers.test(e.layers);if(r)if(t.isGroup)n=t.renderOrder;else if(t.isLOD)t.autoUpdate===true&&t.update(e);else if(t.isLight){y.pushLight(t);t.castShadow&&y.pushShadow(t)}else if(t.isSprite){if(!t.frustumCulled||H.intersectsSprite(t)){i&&Y.setFromMatrixPosition(t.matrixWorld).applyMatrix4(j);const e=ct.update(t);const r=t.material;r.visible&&x.push(t,e,r,n,Y.z,null)}}else if((t.isMesh||t.isLine||t.isPoints)&&(!t.frustumCulled||H.intersectsObject(t))){const e=ct.update(t);const r=t.material;if(i){if(t.boundingSphere!==void 0){t.boundingSphere===null&&t.computeBoundingSphere();Y.copy(t.boundingSphere.center)}else{e.boundingSphere===null&&e.computeBoundingSphere();Y.copy(e.boundingSphere.center)}Y.applyMatrix4(t.matrixWorld).applyMatrix4(j)}if(Array.isArray(r)){const i=e.groups;for(let s=0,a=i.length;s<a;s++){const a=i[s];const o=r[a.materialIndex];o&&o.visible&&x.push(t,e,o,n,Y.z,a)}}else r.visible&&x.push(t,e,r,n,Y.z,null)}const s=t.children;for(let t=0,r=s.length;t<r;t++)projectObject(s[t],e,n,i)}function renderScene(t,e,n,i){const r=t.opaque;const s=t.transmissive;const a=t.transparent;y.setupLightsView(n);W===true&&ft.setGlobalState(b.clippingPlanes,n);i&&et.viewport(P.copy(i));r.length>0&&renderObjects(r,e,n);s.length>0&&renderObjects(s,e,n);a.length>0&&renderObjects(a,e,n);et.buffers.depth.setTest(true);et.buffers.depth.setMask(true);et.buffers.color.setMask(true);et.setPolygonOffset(false)}function renderTransmissionPass(t,e,n,i){const r=n.isScene===true?n.overrideMaterial:null;if(r!==null)return;y.state.transmissionRenderTarget[i.id]===void 0&&(y.state.transmissionRenderTarget[i.id]=new WebGLRenderTarget(1,1,{generateMipmaps:true,type:$.has(\"EXT_color_buffer_half_float\")||$.has(\"EXT_color_buffer_float\")?Dt:At,minFilter:wt,samples:4,stencilBuffer:s,resolveDepthBuffer:false,resolveStencilBuffer:false,colorSpace:$n.workingColorSpace}));const a=y.state.transmissionRenderTarget[i.id];const o=i.viewport||P;a.setSize(o.z,o.w);const l=b.getRenderTarget();b.setRenderTarget(a);b.getClearColor(U);D=b.getClearAlpha();D<1&&b.setClearColor(16777215,.5);Z?gt.render(n):b.clear();const c=b.toneMapping;b.toneMapping=Q;const h=i.viewport;i.viewport!==void 0&&(i.viewport=void 0);y.setupLightsView(i);W===true&&ft.setGlobalState(b.clippingPlanes,i);renderObjects(t,n,i);rt.updateMultisampleRenderTarget(a);rt.updateRenderTargetMipmap(a);if($.has(\"WEBGL_multisampled_render_to_texture\")===false){let t=false;for(let r=0,s=e.length;r<s;r++){const s=e[r];const a=s.object;const o=s.geometry;const l=s.material;const c=s.group;if(l.side===p&&a.layers.test(i.layers)){const e=l.side;l.side=d;l.needsUpdate=true;renderObject(a,n,i,o,l,c);l.side=e;l.needsUpdate=true;t=true}}if(t===true){rt.updateMultisampleRenderTarget(a);rt.updateRenderTargetMipmap(a)}}b.setRenderTarget(l);b.setClearColor(U,D);h!==void 0&&(i.viewport=h);b.toneMapping=c}function renderObjects(t,e,n){const i=e.isScene===true?e.overrideMaterial:null;for(let r=0,s=t.length;r<s;r++){const s=t[r];const a=s.object;const o=s.geometry;const l=i===null?s.material:i;const c=s.group;a.layers.test(n.layers)&&renderObject(a,e,n,o,l,c)}}function renderObject(t,e,n,i,r,s){t.onBeforeRender(b,e,n,i,r,s);t.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,t.matrixWorld);t.normalMatrix.getNormalMatrix(t.modelViewMatrix);if(r.transparent===true&&r.side===p&&r.forceSinglePass===false){r.side=d;r.needsUpdate=true;b.renderBufferDirect(n,e,i,r,t,s);r.side=u;r.needsUpdate=true;b.renderBufferDirect(n,e,i,r,t,s);r.side=p}else b.renderBufferDirect(n,e,i,r,t,s);t.onAfterRender(b,e,n,i,r,s)}function getProgram(t,e,n){e.isScene!==true&&(e=K);const i=it.get(t);const r=y.state.lights;const s=y.state.shadowsArray;const a=r.state.version;const o=ht.getParameters(t,r.state,s,e,n);const l=ht.getProgramCacheKey(o);let c=i.programs;i.environment=t.isMeshStandardMaterial?e.environment:null;i.fog=e.fog;i.envMap=(t.isMeshStandardMaterial?at:st).get(t.envMap||i.environment);i.envMapRotation=i.environment!==null&&t.envMap===null?e.environmentRotation:t.envMapRotation;if(c===void 0){t.addEventListener(\"dispose\",onMaterialDispose);c=new Map;i.programs=c}let h=c.get(l);if(h!==void 0){if(i.currentProgram===h&&i.lightsStateVersion===a){updateCommonMaterialProperties(t,o);return h}}else{o.uniforms=ht.getUniforms(t);t.onBeforeCompile(o,b);h=ht.acquireProgram(o,l);c.set(l,h);i.uniforms=o.uniforms}const u=i.uniforms;(t.isShaderMaterial||t.isRawShaderMaterial)&&t.clipping!==true||(u.clippingPlanes=ft.uniform);updateCommonMaterialProperties(t,o);i.needsLights=materialNeedsLights(t);i.lightsStateVersion=a;if(i.needsLights){u.ambientLightColor.value=r.state.ambient;u.lightProbe.value=r.state.probe;u.directionalLights.value=r.state.directional;u.directionalLightShadows.value=r.state.directionalShadow;u.spotLights.value=r.state.spot;u.spotLightShadows.value=r.state.spotShadow;u.rectAreaLights.value=r.state.rectArea;u.ltc_1.value=r.state.rectAreaLTC1;u.ltc_2.value=r.state.rectAreaLTC2;u.pointLights.value=r.state.point;u.pointLightShadows.value=r.state.pointShadow;u.hemisphereLights.value=r.state.hemi;u.directionalShadowMap.value=r.state.directionalShadowMap;u.directionalShadowMatrix.value=r.state.directionalShadowMatrix;u.spotShadowMap.value=r.state.spotShadowMap;u.spotLightMatrix.value=r.state.spotLightMatrix;u.spotLightMap.value=r.state.spotLightMap;u.pointShadowMap.value=r.state.pointShadowMap;u.pointShadowMatrix.value=r.state.pointShadowMatrix}i.currentProgram=h;i.uniformsList=null;return h}function getUniformList(t){if(t.uniformsList===null){const e=t.currentProgram.getUniforms();t.uniformsList=WebGLUniforms.seqWithValue(e.seq,t.uniforms)}return t.uniformsList}function updateCommonMaterialProperties(t,e){const n=it.get(t);n.outputColorSpace=e.outputColorSpace;n.batching=e.batching;n.batchingColor=e.batchingColor;n.instancing=e.instancing;n.instancingColor=e.instancingColor;n.instancingMorph=e.instancingMorph;n.skinning=e.skinning;n.morphTargets=e.morphTargets;n.morphNormals=e.morphNormals;n.morphColors=e.morphColors;n.morphTargetsCount=e.morphTargetsCount;n.numClippingPlanes=e.numClippingPlanes;n.numIntersection=e.numClipIntersection;n.vertexAlphas=e.vertexAlphas;n.vertexTangents=e.vertexTangents;n.toneMapping=e.toneMapping}function setProgram(t,e,n,i,r){e.isScene!==true&&(e=K);rt.resetTextureUnits();const s=e.fog;const a=i.isMeshStandardMaterial?e.environment:null;const o=A===null?b.outputColorSpace:A.isXRRenderTarget===true?A.texture.colorSpace:Ze;const l=(i.isMeshStandardMaterial?at:st).get(i.envMap||a);const c=i.vertexColors===true&&!!n.attributes.color&&n.attributes.color.itemSize===4;const h=!!n.attributes.tangent&&(!!i.normalMap||i.anisotropy>0);const u=!!n.morphAttributes.position;const d=!!n.morphAttributes.normal;const p=!!n.morphAttributes.color;let f=Q;i.toneMapped&&(A!==null&&A.isXRRenderTarget!==true||(f=b.toneMapping));const m=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color;const g=m!==void 0?m.length:0;const _=it.get(i);const x=y.state.lights;if(W===true&&(X===true||t!==R)){const e=t===R&&i.id===C;ft.setState(i,t,e)}let M=false;if(i.version===_.__version)_.needsLights&&_.lightsStateVersion!==x.state.version||_.outputColorSpace!==o||r.isBatchedMesh&&_.batching===false?M=true:r.isBatchedMesh||_.batching!==true?r.isBatchedMesh&&_.batchingColor===true&&r.colorTexture===null||r.isBatchedMesh&&_.batchingColor===false&&r.colorTexture!==null||r.isInstancedMesh&&_.instancing===false?M=true:r.isInstancedMesh||_.instancing!==true?r.isSkinnedMesh&&_.skinning===false?M=true:r.isSkinnedMesh||_.skinning!==true?r.isInstancedMesh&&_.instancingColor===true&&r.instanceColor===null||r.isInstancedMesh&&_.instancingColor===false&&r.instanceColor!==null||r.isInstancedMesh&&_.instancingMorph===true&&r.morphTexture===null||r.isInstancedMesh&&_.instancingMorph===false&&r.morphTexture!==null||_.envMap!==l||i.fog===true&&_.fog!==s?M=true:_.numClippingPlanes===void 0||_.numClippingPlanes===ft.numPlanes&&_.numIntersection===ft.numIntersection?(_.vertexAlphas!==c||_.vertexTangents!==h||_.morphTargets!==u||_.morphNormals!==d||_.morphColors!==p||_.toneMapping!==f||_.morphTargetsCount!==g)&&(M=true):M=true:M=true:M=true:M=true;else{M=true;_.__version=i.version}let S=_.currentProgram;M===true&&(S=getProgram(i,e,r));let T=false;let w=false;let E=false;const P=S.getUniforms(),L=_.uniforms;if(et.useProgram(S.program)){T=true;w=true;E=true}if(i.id!==C){C=i.id;w=true}if(T||R!==t){P.setValue(J,\"projectionMatrix\",t.projectionMatrix);P.setValue(J,\"viewMatrix\",t.matrixWorldInverse);const e=P.map.cameraPosition;e!==void 0&&e.setValue(J,q.setFromMatrixPosition(t.matrixWorld));tt.logarithmicDepthBuffer&&P.setValue(J,\"logDepthBufFC\",2/(Math.log(t.far+1)/Math.LN2));(i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial)&&P.setValue(J,\"isOrthographic\",t.isOrthographicCamera===true);if(R!==t){R=t;w=true;E=true}}if(r.isSkinnedMesh){P.setOptional(J,r,\"bindMatrix\");P.setOptional(J,r,\"bindMatrixInverse\");const t=r.skeleton;if(t){t.boneTexture===null&&t.computeBoneTexture();P.setValue(J,\"boneTexture\",t.boneTexture,rt)}}if(r.isBatchedMesh){P.setOptional(J,r,\"batchingTexture\");P.setValue(J,\"batchingTexture\",r._matricesTexture,rt);P.setOptional(J,r,\"batchingIdTexture\");P.setValue(J,\"batchingIdTexture\",r._indirectTexture,rt);P.setOptional(J,r,\"batchingColorTexture\");r._colorsTexture!==null&&P.setValue(J,\"batchingColorTexture\",r._colorsTexture,rt)}const I=n.morphAttributes;I.position===void 0&&I.normal===void 0&&I.color===void 0||vt.update(r,n,S);if(w||_.receiveShadow!==r.receiveShadow){_.receiveShadow=r.receiveShadow;P.setValue(J,\"receiveShadow\",r.receiveShadow)}if(i.isMeshGouraudMaterial&&i.envMap!==null){L.envMap.value=l;L.flipEnvMap.value=l.isCubeTexture&&l.isRenderTargetTexture===false?-1:1}i.isMeshStandardMaterial&&i.envMap===null&&e.environment!==null&&(L.envMapIntensity.value=e.environmentIntensity);if(w){P.setValue(J,\"toneMappingExposure\",b.toneMappingExposure);_.needsLights&&markUniformsLightsNeedsUpdate(L,E);s&&i.fog===true&&ut.refreshFogUniforms(L,s);ut.refreshMaterialUniforms(L,i,O,B,y.state.transmissionRenderTarget[t.id]);WebGLUniforms.upload(J,getUniformList(_),L,rt)}if(i.isShaderMaterial&&i.uniformsNeedUpdate===true){WebGLUniforms.upload(J,getUniformList(_),L,rt);i.uniformsNeedUpdate=false}i.isSpriteMaterial&&P.setValue(J,\"center\",r.center);P.setValue(J,\"modelViewMatrix\",r.modelViewMatrix);P.setValue(J,\"normalMatrix\",r.normalMatrix);P.setValue(J,\"modelMatrix\",r.matrixWorld);if(i.isShaderMaterial||i.isRawShaderMaterial){const t=i.uniformsGroups;for(let e=0,n=t.length;e<n;e++){const n=t[e];St.update(n,S);St.bind(n,S)}}return S}function markUniformsLightsNeedsUpdate(t,e){t.ambientLightColor.needsUpdate=e;t.lightProbe.needsUpdate=e;t.directionalLights.needsUpdate=e;t.directionalLightShadows.needsUpdate=e;t.pointLights.needsUpdate=e;t.pointLightShadows.needsUpdate=e;t.spotLights.needsUpdate=e;t.spotLightShadows.needsUpdate=e;t.rectAreaLights.needsUpdate=e;t.hemisphereLights.needsUpdate=e}function materialNeedsLights(t){return t.isMeshLambertMaterial||t.isMeshToonMaterial||t.isMeshPhongMaterial||t.isMeshStandardMaterial||t.isShadowMaterial||t.isShaderMaterial&&t.lights===true}this.getActiveCubeFace=function(){return w};this.getActiveMipmapLevel=function(){return E};this.getRenderTarget=function(){return A};this.setRenderTargetTextures=function(t,e,n){it.get(t.texture).__webglTexture=e;it.get(t.depthTexture).__webglTexture=n;const i=it.get(t);i.__hasExternalTextures=true;i.__autoAllocateDepthBuffer=n===void 0;if(!i.__autoAllocateDepthBuffer&&$.has(\"WEBGL_multisampled_render_to_texture\")===true){console.warn(\"THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided\");i.__useRenderToTexture=false}};this.setRenderTargetFramebuffer=function(t,e){const n=it.get(t);n.__webglFramebuffer=e;n.__useDefaultFramebuffer=e===void 0};this.setRenderTarget=function(t,e=0,n=0){A=t;w=e;E=n;let i=true;let r=null;let s=false;let a=false;if(t){const o=it.get(t);if(o.__useDefaultFramebuffer!==void 0){et.bindFramebuffer(J.FRAMEBUFFER,null);i=false}else o.__webglFramebuffer===void 0?rt.setupRenderTarget(t):o.__hasExternalTextures&&rt.rebindTextures(t,it.get(t.texture).__webglTexture,it.get(t.depthTexture).__webglTexture);const l=t.texture;(l.isData3DTexture||l.isDataArrayTexture||l.isCompressedArrayTexture)&&(a=true);const c=it.get(t).__webglFramebuffer;if(t.isWebGLCubeRenderTarget){r=Array.isArray(c[e])?c[e][n]:c[e];s=true}else r=t.samples>0&&rt.useMultisampledRTT(t)===false?it.get(t).__webglMultisampledFramebuffer:Array.isArray(c)?c[n]:c;P.copy(t.viewport);L.copy(t.scissor);I=t.scissorTest}else{P.copy(z).multiplyScalar(O).floor();L.copy(G).multiplyScalar(O).floor();I=k}const o=et.bindFramebuffer(J.FRAMEBUFFER,r);o&&i&&et.drawBuffers(t,r);et.viewport(P);et.scissor(L);et.setScissorTest(I);if(s){const i=it.get(t.texture);J.framebufferTexture2D(J.FRAMEBUFFER,J.COLOR_ATTACHMENT0,J.TEXTURE_CUBE_MAP_POSITIVE_X+e,i.__webglTexture,n)}else if(a){const i=it.get(t.texture);const r=e||0;J.framebufferTextureLayer(J.FRAMEBUFFER,J.COLOR_ATTACHMENT0,i.__webglTexture,n||0,r)}C=-1};this.readRenderTargetPixels=function(t,e,n,i,r,s,a){if(!(t&&t.isWebGLRenderTarget)){console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");return}let o=it.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget&&a!==void 0&&(o=o[a]);if(o){et.bindFramebuffer(J.FRAMEBUFFER,o);try{const a=t.texture;const o=a.format;const l=a.type;if(!tt.textureFormatReadable(o)){console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.\");return}if(!tt.textureTypeReadable(l)){console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.\");return}e>=0&&e<=t.width-i&&n>=0&&n<=t.height-r&&J.readPixels(e,n,i,r,yt.convert(o),yt.convert(l),s)}finally{const t=A!==null?it.get(A).__webglFramebuffer:null;et.bindFramebuffer(J.FRAMEBUFFER,t)}}};this.readRenderTargetPixelsAsync=async function(t,e,n,i,r,s,a){if(!(t&&t.isWebGLRenderTarget))throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");let o=it.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget&&a!==void 0&&(o=o[a]);if(o){et.bindFramebuffer(J.FRAMEBUFFER,o);try{const a=t.texture;const o=a.format;const l=a.type;if(!tt.textureFormatReadable(o))throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.\");if(!tt.textureTypeReadable(l))throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.\");if(e>=0&&e<=t.width-i&&n>=0&&n<=t.height-r){const t=J.createBuffer();J.bindBuffer(J.PIXEL_PACK_BUFFER,t);J.bufferData(J.PIXEL_PACK_BUFFER,s.byteLength,J.STREAM_READ);J.readPixels(e,n,i,r,yt.convert(o),yt.convert(l),0);J.flush();const a=J.fenceSync(J.SYNC_GPU_COMMANDS_COMPLETE,0);await probeAsync(J,a,4);try{J.bindBuffer(J.PIXEL_PACK_BUFFER,t);J.getBufferSubData(J.PIXEL_PACK_BUFFER,0,s)}finally{J.deleteBuffer(t);J.deleteSync(a)}return s}}finally{const t=A!==null?it.get(A).__webglFramebuffer:null;et.bindFramebuffer(J.FRAMEBUFFER,t)}}};this.copyFramebufferToTexture=function(t,e=null,n=0){if(t.isTexture!==true){console.warn(\"WebGLRenderer: copyFramebufferToTexture function signature has changed.\");e=arguments[0]||null;t=arguments[1]}const i=Math.pow(2,-n);const r=Math.floor(t.image.width*i);const s=Math.floor(t.image.height*i);const a=e!==null?e.x:0;const o=e!==null?e.y:0;rt.setTexture2D(t,0);J.copyTexSubImage2D(J.TEXTURE_2D,n,0,0,a,o,r,s);et.unbindTexture()};this.copyTextureToTexture=function(t,e,n=null,i=null,r=0){if(t.isTexture!==true){console.warn(\"WebGLRenderer: copyTextureToTexture function signature has changed.\");i=arguments[0]||null;t=arguments[1];e=arguments[2];r=arguments[3]||0;n=null}let s,a,o,l;let c,h;if(n!==null){s=n.max.x-n.min.x;a=n.max.y-n.min.y;o=n.min.x;l=n.min.y}else{s=t.image.width;a=t.image.height;o=0;l=0}if(i!==null){c=i.x;h=i.y}else{c=0;h=0}const u=yt.convert(e.format);const d=yt.convert(e.type);rt.setTexture2D(e,0);J.pixelStorei(J.UNPACK_FLIP_Y_WEBGL,e.flipY);J.pixelStorei(J.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e.premultiplyAlpha);J.pixelStorei(J.UNPACK_ALIGNMENT,e.unpackAlignment);const p=J.getParameter(J.UNPACK_ROW_LENGTH);const f=J.getParameter(J.UNPACK_IMAGE_HEIGHT);const m=J.getParameter(J.UNPACK_SKIP_PIXELS);const g=J.getParameter(J.UNPACK_SKIP_ROWS);const _=J.getParameter(J.UNPACK_SKIP_IMAGES);const x=t.isCompressedTexture?t.mipmaps[r]:t.image;J.pixelStorei(J.UNPACK_ROW_LENGTH,x.width);J.pixelStorei(J.UNPACK_IMAGE_HEIGHT,x.height);J.pixelStorei(J.UNPACK_SKIP_PIXELS,o);J.pixelStorei(J.UNPACK_SKIP_ROWS,l);t.isDataTexture?J.texSubImage2D(J.TEXTURE_2D,r,c,h,s,a,u,d,x.data):t.isCompressedTexture?J.compressedTexSubImage2D(J.TEXTURE_2D,r,c,h,x.width,x.height,u,x.data):J.texSubImage2D(J.TEXTURE_2D,r,c,h,s,a,u,d,x);J.pixelStorei(J.UNPACK_ROW_LENGTH,p);J.pixelStorei(J.UNPACK_IMAGE_HEIGHT,f);J.pixelStorei(J.UNPACK_SKIP_PIXELS,m);J.pixelStorei(J.UNPACK_SKIP_ROWS,g);J.pixelStorei(J.UNPACK_SKIP_IMAGES,_);r===0&&e.generateMipmaps&&J.generateMipmap(J.TEXTURE_2D);et.unbindTexture()};this.copyTextureToTexture3D=function(t,e,n=null,i=null,r=0){if(t.isTexture!==true){console.warn(\"WebGLRenderer: copyTextureToTexture3D function signature has changed.\");n=arguments[0]||null;i=arguments[1]||null;t=arguments[2];e=arguments[3];r=arguments[4]||0}let s,a,o,l,c,h;let u,d,p;const f=t.isCompressedTexture?t.mipmaps[r]:t.image;if(n!==null){s=n.max.x-n.min.x;a=n.max.y-n.min.y;o=n.max.z-n.min.z;l=n.min.x;c=n.min.y;h=n.min.z}else{s=f.width;a=f.height;o=f.depth;l=0;c=0;h=0}if(i!==null){u=i.x;d=i.y;p=i.z}else{u=0;d=0;p=0}const m=yt.convert(e.format);const g=yt.convert(e.type);let _;if(e.isData3DTexture){rt.setTexture3D(e,0);_=J.TEXTURE_3D}else{if(!e.isDataArrayTexture&&!e.isCompressedArrayTexture){console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.\");return}rt.setTexture2DArray(e,0);_=J.TEXTURE_2D_ARRAY}J.pixelStorei(J.UNPACK_FLIP_Y_WEBGL,e.flipY);J.pixelStorei(J.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e.premultiplyAlpha);J.pixelStorei(J.UNPACK_ALIGNMENT,e.unpackAlignment);const x=J.getParameter(J.UNPACK_ROW_LENGTH);const y=J.getParameter(J.UNPACK_IMAGE_HEIGHT);const M=J.getParameter(J.UNPACK_SKIP_PIXELS);const S=J.getParameter(J.UNPACK_SKIP_ROWS);const b=J.getParameter(J.UNPACK_SKIP_IMAGES);J.pixelStorei(J.UNPACK_ROW_LENGTH,f.width);J.pixelStorei(J.UNPACK_IMAGE_HEIGHT,f.height);J.pixelStorei(J.UNPACK_SKIP_PIXELS,l);J.pixelStorei(J.UNPACK_SKIP_ROWS,c);J.pixelStorei(J.UNPACK_SKIP_IMAGES,h);t.isDataTexture||t.isData3DTexture?J.texSubImage3D(_,r,u,d,p,s,a,o,m,g,f.data):e.isCompressedArrayTexture?J.compressedTexSubImage3D(_,r,u,d,p,s,a,o,m,f.data):J.texSubImage3D(_,r,u,d,p,s,a,o,m,g,f);J.pixelStorei(J.UNPACK_ROW_LENGTH,x);J.pixelStorei(J.UNPACK_IMAGE_HEIGHT,y);J.pixelStorei(J.UNPACK_SKIP_PIXELS,M);J.pixelStorei(J.UNPACK_SKIP_ROWS,S);J.pixelStorei(J.UNPACK_SKIP_IMAGES,b);r===0&&e.generateMipmaps&&J.generateMipmap(_);et.unbindTexture()};this.initRenderTarget=function(t){it.get(t).__webglFramebuffer===void 0&&rt.setupRenderTarget(t)};this.initTexture=function(t){t.isCubeTexture?rt.setTextureCube(t,0):t.isData3DTexture?rt.setTexture3D(t,0):t.isDataArrayTexture||t.isCompressedArrayTexture?rt.setTexture2DArray(t,0):rt.setTexture2D(t,0);et.unbindTexture()};this.resetState=function(){w=0;E=0;A=null;et.reset();Mt.reset()};typeof __THREE_DEVTOOLS__!==\"undefined\"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}get coordinateSystem(){return Fn}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(t){this._outputColorSpace=t;const e=this.getContext();e.drawingBufferColorSpace=t===Je?\"display-p3\":\"srgb\";e.unpackColorSpace=$n.workingColorSpace===Qe?\"display-p3\":\"srgb\"}}class FogExp2{constructor(t,e=25e-5){this.isFogExp2=true;this.name=\"\";this.color=new Color(t);this.density=e}clone(){return new FogExp2(this.color,this.density)}toJSON(){return{type:\"FogExp2\",name:this.name,color:this.color.getHex(),density:this.density}}}class Fog{constructor(t,e=1,n=1e3){this.isFog=true;this.name=\"\";this.color=new Color(t);this.near=e;this.far=n}clone(){return new Fog(this.color,this.near,this.far)}toJSON(){return{type:\"Fog\",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class Scene extends Object3D{constructor(){super();this.isScene=true;this.type=\"Scene\";this.background=null;this.environment=null;this.fog=null;this.backgroundBlurriness=0;this.backgroundIntensity=1;this.backgroundRotation=new Euler;this.environmentIntensity=1;this.environmentRotation=new Euler;this.overrideMaterial=null;typeof __THREE_DEVTOOLS__!==\"undefined\"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}copy(t,e){super.copy(t,e);t.background!==null&&(this.background=t.background.clone());t.environment!==null&&(this.environment=t.environment.clone());t.fog!==null&&(this.fog=t.fog.clone());this.backgroundBlurriness=t.backgroundBlurriness;this.backgroundIntensity=t.backgroundIntensity;this.backgroundRotation.copy(t.backgroundRotation);this.environmentIntensity=t.environmentIntensity;this.environmentRotation.copy(t.environmentRotation);t.overrideMaterial!==null&&(this.overrideMaterial=t.overrideMaterial.clone());this.matrixAutoUpdate=t.matrixAutoUpdate;return this}toJSON(t){const e=super.toJSON(t);this.fog!==null&&(e.object.fog=this.fog.toJSON());this.backgroundBlurriness>0&&(e.object.backgroundBlurriness=this.backgroundBlurriness);this.backgroundIntensity!==1&&(e.object.backgroundIntensity=this.backgroundIntensity);e.object.backgroundRotation=this.backgroundRotation.toArray();this.environmentIntensity!==1&&(e.object.environmentIntensity=this.environmentIntensity);e.object.environmentRotation=this.environmentRotation.toArray();return e}}class InterleavedBuffer{constructor(t,e){this.isInterleavedBuffer=true;this.array=t;this.stride=e;this.count=t!==void 0?t.length/e:0;this.usage=Cn;this._updateRange={offset:0,count:-1};this.updateRanges=[];this.version=0;this.uuid=generateUUID()}onUploadCallback(){}set needsUpdate(t){t===true&&this.version++}get updateRange(){warnOnce(\"THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead.\");return this._updateRange}setUsage(t){this.usage=t;return this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){this.array=new t.array.constructor(t.array);this.count=t.count;this.stride=t.stride;this.usage=t.usage;return this}copyAt(t,e,n){t*=this.stride;n*=e.stride;for(let i=0,r=this.stride;i<r;i++)this.array[t+i]=e.array[n+i];return this}set(t,e=0){this.array.set(t,e);return this}clone(t){t.arrayBuffers===void 0&&(t.arrayBuffers={});this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=generateUUID());t.arrayBuffers[this.array.buffer._uuid]===void 0&&(t.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const e=new this.array.constructor(t.arrayBuffers[this.array.buffer._uuid]);const n=new this.constructor(e,this.stride);n.setUsage(this.usage);return n}onUpload(t){this.onUploadCallback=t;return this}toJSON(t){t.arrayBuffers===void 0&&(t.arrayBuffers={});this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=generateUUID());t.arrayBuffers[this.array.buffer._uuid]===void 0&&(t.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer)));return{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}}const Tl=new Vector3;class InterleavedBufferAttribute{constructor(t,e,n,i=false){this.isInterleavedBufferAttribute=true;this.name=\"\";this.data=t;this.itemSize=e;this.offset=n;this.normalized=i}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(t){this.data.needsUpdate=t}applyMatrix4(t){for(let e=0,n=this.data.count;e<n;e++){Tl.fromBufferAttribute(this,e);Tl.applyMatrix4(t);this.setXYZ(e,Tl.x,Tl.y,Tl.z)}return this}applyNormalMatrix(t){for(let e=0,n=this.count;e<n;e++){Tl.fromBufferAttribute(this,e);Tl.applyNormalMatrix(t);this.setXYZ(e,Tl.x,Tl.y,Tl.z)}return this}transformDirection(t){for(let e=0,n=this.count;e<n;e++){Tl.fromBufferAttribute(this,e);Tl.transformDirection(t);this.setXYZ(e,Tl.x,Tl.y,Tl.z)}return this}getComponent(t,e){let n=this.array[t*this.data.stride+this.offset+e];this.normalized&&(n=denormalize(n,this.array));return n}setComponent(t,e,n){this.normalized&&(n=normalize(n,this.array));this.data.array[t*this.data.stride+this.offset+e]=n;return this}setX(t,e){this.normalized&&(e=normalize(e,this.array));this.data.array[t*this.data.stride+this.offset]=e;return this}setY(t,e){this.normalized&&(e=normalize(e,this.array));this.data.array[t*this.data.stride+this.offset+1]=e;return this}setZ(t,e){this.normalized&&(e=normalize(e,this.array));this.data.array[t*this.data.stride+this.offset+2]=e;return this}setW(t,e){this.normalized&&(e=normalize(e,this.array));this.data.array[t*this.data.stride+this.offset+3]=e;return this}getX(t){let e=this.data.array[t*this.data.stride+this.offset];this.normalized&&(e=denormalize(e,this.array));return e}getY(t){let e=this.data.array[t*this.data.stride+this.offset+1];this.normalized&&(e=denormalize(e,this.array));return e}getZ(t){let e=this.data.array[t*this.data.stride+this.offset+2];this.normalized&&(e=denormalize(e,this.array));return e}getW(t){let e=this.data.array[t*this.data.stride+this.offset+3];this.normalized&&(e=denormalize(e,this.array));return e}setXY(t,e,n){t=t*this.data.stride+this.offset;if(this.normalized){e=normalize(e,this.array);n=normalize(n,this.array)}this.data.array[t+0]=e;this.data.array[t+1]=n;return this}setXYZ(t,e,n,i){t=t*this.data.stride+this.offset;if(this.normalized){e=normalize(e,this.array);n=normalize(n,this.array);i=normalize(i,this.array)}this.data.array[t+0]=e;this.data.array[t+1]=n;this.data.array[t+2]=i;return this}setXYZW(t,e,n,i,r){t=t*this.data.stride+this.offset;if(this.normalized){e=normalize(e,this.array);n=normalize(n,this.array);i=normalize(i,this.array);r=normalize(r,this.array)}this.data.array[t+0]=e;this.data.array[t+1]=n;this.data.array[t+2]=i;this.data.array[t+3]=r;return this}clone(t){if(t===void 0){console.log(\"THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.\");const t=[];for(let e=0;e<this.count;e++){const n=e*this.data.stride+this.offset;for(let e=0;e<this.itemSize;e++)t.push(this.data.array[n+e])}return new BufferAttribute(new this.array.constructor(t),this.itemSize,this.normalized)}t.interleavedBuffers===void 0&&(t.interleavedBuffers={});t.interleavedBuffers[this.data.uuid]===void 0&&(t.interleavedBuffers[this.data.uuid]=this.data.clone(t));return new InterleavedBufferAttribute(t.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(t){if(t===void 0){console.log(\"THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.\");const t=[];for(let e=0;e<this.count;e++){const n=e*this.data.stride+this.offset;for(let e=0;e<this.itemSize;e++)t.push(this.data.array[n+e])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:t,normalized:this.normalized}}t.interleavedBuffers===void 0&&(t.interleavedBuffers={});t.interleavedBuffers[this.data.uuid]===void 0&&(t.interleavedBuffers[this.data.uuid]=this.data.toJSON(t));return{isInterleavedBufferAttribute:true,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}class SpriteMaterial extends Material{constructor(t){super();this.isSpriteMaterial=true;this.type=\"SpriteMaterial\";this.color=new Color(16777215);this.map=null;this.alphaMap=null;this.rotation=0;this.sizeAttenuation=true;this.transparent=true;this.fog=true;this.setValues(t)}copy(t){super.copy(t);this.color.copy(t.color);this.map=t.map;this.alphaMap=t.alphaMap;this.rotation=t.rotation;this.sizeAttenuation=t.sizeAttenuation;this.fog=t.fog;return this}}let wl;const El=new Vector3;const Al=new Vector3;const Cl=new Vector3;const Rl=new Vector2;const Pl=new Vector2;const Ll=new Matrix4;const Il=new Vector3;const Ul=new Vector3;const Dl=new Vector3;const Nl=new Vector2;const Bl=new Vector2;const Ol=new Vector2;class Sprite extends Object3D{constructor(t=new SpriteMaterial){super();this.isSprite=true;this.type=\"Sprite\";if(wl===void 0){wl=new BufferGeometry;const t=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]);const e=new InterleavedBuffer(t,5);wl.setIndex([0,1,2,0,2,3]);wl.setAttribute(\"position\",new InterleavedBufferAttribute(e,3,0,false));wl.setAttribute(\"uv\",new InterleavedBufferAttribute(e,2,3,false))}this.geometry=wl;this.material=t;this.center=new Vector2(.5,.5)}raycast(t,e){t.camera===null&&console.error('THREE.Sprite: \"Raycaster.camera\" needs to be set in order to raycast against sprites.');Al.setFromMatrixScale(this.matrixWorld);Ll.copy(t.camera.matrixWorld);this.modelViewMatrix.multiplyMatrices(t.camera.matrixWorldInverse,this.matrixWorld);Cl.setFromMatrixPosition(this.modelViewMatrix);t.camera.isPerspectiveCamera&&this.material.sizeAttenuation===false&&Al.multiplyScalar(-Cl.z);const n=this.material.rotation;let i,r;if(n!==0){r=Math.cos(n);i=Math.sin(n)}const s=this.center;transformVertex(Il.set(-.5,-.5,0),Cl,s,Al,i,r);transformVertex(Ul.set(.5,-.5,0),Cl,s,Al,i,r);transformVertex(Dl.set(.5,.5,0),Cl,s,Al,i,r);Nl.set(0,0);Bl.set(1,0);Ol.set(1,1);let a=t.ray.intersectTriangle(Il,Ul,Dl,false,El);if(a===null){transformVertex(Ul.set(-.5,.5,0),Cl,s,Al,i,r);Bl.set(0,1);a=t.ray.intersectTriangle(Il,Dl,Ul,false,El);if(a===null)return}const o=t.ray.origin.distanceTo(El);o<t.near||o>t.far||e.push({distance:o,point:El.clone(),uv:Triangle.getInterpolation(El,Il,Ul,Dl,Nl,Bl,Ol,new Vector2),face:null,object:this})}copy(t,e){super.copy(t,e);t.center!==void 0&&this.center.copy(t.center);this.material=t.material;return this}}function transformVertex(t,e,n,i,r,s){Rl.subVectors(t,n).addScalar(.5).multiply(i);if(r!==void 0){Pl.x=s*Rl.x-r*Rl.y;Pl.y=r*Rl.x+s*Rl.y}else Pl.copy(Rl);t.copy(e);t.x+=Pl.x;t.y+=Pl.y;t.applyMatrix4(Ll)}const Vl=new Vector3;const Fl=new Vector3;class LOD extends Object3D{constructor(){super();this._currentLevel=0;this.type=\"LOD\";Object.defineProperties(this,{levels:{enumerable:true,value:[]},isLOD:{value:true}});this.autoUpdate=true}copy(t){super.copy(t,false);const e=t.levels;for(let t=0,n=e.length;t<n;t++){const n=e[t];this.addLevel(n.object.clone(),n.distance,n.hysteresis)}this.autoUpdate=t.autoUpdate;return this}addLevel(t,e=0,n=0){e=Math.abs(e);const i=this.levels;let r;for(r=0;r<i.length;r++)if(e<i[r].distance)break;i.splice(r,0,{distance:e,hysteresis:n,object:t});this.add(t);return this}getCurrentLevel(){return this._currentLevel}getObjectForDistance(t){const e=this.levels;if(e.length>0){let n,i;for(n=1,i=e.length;n<i;n++){let i=e[n].distance;e[n].object.visible&&(i-=i*e[n].hysteresis);if(t<i)break}return e[n-1].object}return null}raycast(t,e){const n=this.levels;if(n.length>0){Vl.setFromMatrixPosition(this.matrixWorld);const n=t.ray.origin.distanceTo(Vl);this.getObjectForDistance(n).raycast(t,e)}}update(t){const e=this.levels;if(e.length>1){Vl.setFromMatrixPosition(t.matrixWorld);Fl.setFromMatrixPosition(this.matrixWorld);const n=Vl.distanceTo(Fl)/t.zoom;e[0].object.visible=true;let i,r;for(i=1,r=e.length;i<r;i++){let t=e[i].distance;e[i].object.visible&&(t-=t*e[i].hysteresis);if(!(n>=t))break;e[i-1].object.visible=false;e[i].object.visible=true}this._currentLevel=i-1;for(;i<r;i++)e[i].object.visible=false}}toJSON(t){const e=super.toJSON(t);this.autoUpdate===false&&(e.object.autoUpdate=false);e.object.levels=[];const n=this.levels;for(let t=0,i=n.length;t<i;t++){const i=n[t];e.object.levels.push({object:i.object.uuid,distance:i.distance,hysteresis:i.hysteresis})}return e}}const zl=new Vector3;const Gl=new Vector4;const kl=new Vector4;const Hl=new Vector3;const Wl=new Matrix4;const Xl=new Vector3;const jl=new Sphere;const ql=new Matrix4;const Yl=new Ray;class SkinnedMesh extends Mesh{constructor(t,e){super(t,e);this.isSkinnedMesh=true;this.type=\"SkinnedMesh\";this.bindMode=at;this.bindMatrix=new Matrix4;this.bindMatrixInverse=new Matrix4;this.boundingBox=null;this.boundingSphere=null}computeBoundingBox(){const t=this.geometry;this.boundingBox===null&&(this.boundingBox=new Box3);this.boundingBox.makeEmpty();const e=t.getAttribute(\"position\");for(let t=0;t<e.count;t++){this.getVertexPosition(t,Xl);this.boundingBox.expandByPoint(Xl)}}computeBoundingSphere(){const t=this.geometry;this.boundingSphere===null&&(this.boundingSphere=new Sphere);this.boundingSphere.makeEmpty();const e=t.getAttribute(\"position\");for(let t=0;t<e.count;t++){this.getVertexPosition(t,Xl);this.boundingSphere.expandByPoint(Xl)}}copy(t,e){super.copy(t,e);this.bindMode=t.bindMode;this.bindMatrix.copy(t.bindMatrix);this.bindMatrixInverse.copy(t.bindMatrixInverse);this.skeleton=t.skeleton;t.boundingBox!==null&&(this.boundingBox=t.boundingBox.clone());t.boundingSphere!==null&&(this.boundingSphere=t.boundingSphere.clone());return this}raycast(t,e){const n=this.material;const i=this.matrixWorld;if(n!==void 0){this.boundingSphere===null&&this.computeBoundingSphere();jl.copy(this.boundingSphere);jl.applyMatrix4(i);if(t.ray.intersectsSphere(jl)!==false){ql.copy(i).invert();Yl.copy(t.ray).applyMatrix4(ql);this.boundingBox!==null&&Yl.intersectsBox(this.boundingBox)===false||this._computeIntersections(t,e,Yl)}}}getVertexPosition(t,e){super.getVertexPosition(t,e);this.applyBoneTransform(t,e);return e}bind(t,e){this.skeleton=t;if(e===void 0){this.updateMatrixWorld(true);this.skeleton.calculateInverses();e=this.matrixWorld}this.bindMatrix.copy(e);this.bindMatrixInverse.copy(e).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){const t=new Vector4;const e=this.geometry.attributes.skinWeight;for(let n=0,i=e.count;n<i;n++){t.fromBufferAttribute(e,n);const i=1/t.manhattanLength();i!==Infinity?t.multiplyScalar(i):t.set(1,0,0,0);e.setXYZW(n,t.x,t.y,t.z,t.w)}}updateMatrixWorld(t){super.updateMatrixWorld(t);this.bindMode===at?this.bindMatrixInverse.copy(this.matrixWorld).invert():this.bindMode===ot?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn(\"THREE.SkinnedMesh: Unrecognized bindMode: \"+this.bindMode)}applyBoneTransform(t,e){const n=this.skeleton;const i=this.geometry;Gl.fromBufferAttribute(i.attributes.skinIndex,t);kl.fromBufferAttribute(i.attributes.skinWeight,t);zl.copy(e).applyMatrix4(this.bindMatrix);e.set(0,0,0);for(let t=0;t<4;t++){const i=kl.getComponent(t);if(i!==0){const r=Gl.getComponent(t);Wl.multiplyMatrices(n.bones[r].matrixWorld,n.boneInverses[r]);e.addScaledVector(Hl.copy(zl).applyMatrix4(Wl),i)}}return e.applyMatrix4(this.bindMatrixInverse)}}class Bone extends Object3D{constructor(){super();this.isBone=true;this.type=\"Bone\"}}class DataTexture extends Texture{constructor(t=null,e=1,n=1,i,r,s,a,o,l=vt,c=vt,h,u){super(null,s,a,o,l,c,i,r,h,u);this.isDataTexture=true;this.image={data:t,width:e,height:n};this.generateMipmaps=false;this.flipY=false;this.unpackAlignment=1}}const Kl=new Matrix4;const Zl=new Matrix4;class Skeleton{constructor(t=[],e=[]){this.uuid=generateUUID();this.bones=t.slice(0);this.boneInverses=e;this.boneMatrices=null;this.boneTexture=null;this.init()}init(){const t=this.bones;const e=this.boneInverses;this.boneMatrices=new Float32Array(t.length*16);if(e.length===0)this.calculateInverses();else if(t.length!==e.length){console.warn(\"THREE.Skeleton: Number of inverse bone matrices does not match amount of bones.\");this.boneInverses=[];for(let t=0,e=this.bones.length;t<e;t++)this.boneInverses.push(new Matrix4)}}calculateInverses(){this.boneInverses.length=0;for(let t=0,e=this.bones.length;t<e;t++){const e=new Matrix4;this.bones[t]&&e.copy(this.bones[t].matrixWorld).invert();this.boneInverses.push(e)}}pose(){for(let t=0,e=this.bones.length;t<e;t++){const e=this.bones[t];e&&e.matrixWorld.copy(this.boneInverses[t]).invert()}for(let t=0,e=this.bones.length;t<e;t++){const e=this.bones[t];if(e){if(e.parent&&e.parent.isBone){e.matrix.copy(e.parent.matrixWorld).invert();e.matrix.multiply(e.matrixWorld)}else e.matrix.copy(e.matrixWorld);e.matrix.decompose(e.position,e.quaternion,e.scale)}}}update(){const t=this.bones;const e=this.boneInverses;const n=this.boneMatrices;const i=this.boneTexture;for(let i=0,r=t.length;i<r;i++){const r=t[i]?t[i].matrixWorld:Zl;Kl.multiplyMatrices(r,e[i]);Kl.toArray(n,i*16)}i!==null&&(i.needsUpdate=true)}clone(){return new Skeleton(this.bones,this.boneInverses)}computeBoneTexture(){let t=Math.sqrt(this.bones.length*4);t=Math.ceil(t/4)*4;t=Math.max(t,4);const e=new Float32Array(t*t*4);e.set(this.boneMatrices);const n=new DataTexture(e,t,t,Gt,Ut);n.needsUpdate=true;this.boneMatrices=e;this.boneTexture=n;return this}getBoneByName(t){for(let e=0,n=this.bones.length;e<n;e++){const n=this.bones[e];if(n.name===t)return n}}dispose(){if(this.boneTexture!==null){this.boneTexture.dispose();this.boneTexture=null}}fromJSON(t,e){this.uuid=t.uuid;for(let n=0,i=t.bones.length;n<i;n++){const i=t.bones[n];let r=e[i];if(r===void 0){console.warn(\"THREE.Skeleton: No bone found with UUID:\",i);r=new Bone}this.bones.push(r);this.boneInverses.push((new Matrix4).fromArray(t.boneInverses[n]))}this.init();return this}toJSON(){const t={metadata:{version:4.6,type:\"Skeleton\",generator:\"Skeleton.toJSON\"},bones:[],boneInverses:[]};t.uuid=this.uuid;const e=this.bones;const n=this.boneInverses;for(let i=0,r=e.length;i<r;i++){const r=e[i];t.bones.push(r.uuid);const s=n[i];t.boneInverses.push(s.toArray())}return t}}class InstancedBufferAttribute extends BufferAttribute{constructor(t,e,n,i=1){super(t,e,n);this.isInstancedBufferAttribute=true;this.meshPerAttribute=i}copy(t){super.copy(t);this.meshPerAttribute=t.meshPerAttribute;return this}toJSON(){const t=super.toJSON();t.meshPerAttribute=this.meshPerAttribute;t.isInstancedBufferAttribute=true;return t}}const Jl=new Matrix4;const Ql=new Matrix4;const $l=[];const tc=new Box3;const ec=new Matrix4;const nc=new Mesh;const ic=new Sphere;class InstancedMesh extends Mesh{constructor(t,e,n){super(t,e);this.isInstancedMesh=true;this.instanceMatrix=new InstancedBufferAttribute(new Float32Array(n*16),16);this.instanceColor=null;this.morphTexture=null;this.count=n;this.boundingBox=null;this.boundingSphere=null;for(let t=0;t<n;t++)this.setMatrixAt(t,ec)}computeBoundingBox(){const t=this.geometry;const e=this.count;this.boundingBox===null&&(this.boundingBox=new Box3);t.boundingBox===null&&t.computeBoundingBox();this.boundingBox.makeEmpty();for(let n=0;n<e;n++){this.getMatrixAt(n,Jl);tc.copy(t.boundingBox).applyMatrix4(Jl);this.boundingBox.union(tc)}}computeBoundingSphere(){const t=this.geometry;const e=this.count;this.boundingSphere===null&&(this.boundingSphere=new Sphere);t.boundingSphere===null&&t.computeBoundingSphere();this.boundingSphere.makeEmpty();for(let n=0;n<e;n++){this.getMatrixAt(n,Jl);ic.copy(t.boundingSphere).applyMatrix4(Jl);this.boundingSphere.union(ic)}}copy(t,e){super.copy(t,e);this.instanceMatrix.copy(t.instanceMatrix);t.morphTexture!==null&&(this.morphTexture=t.morphTexture.clone());t.instanceColor!==null&&(this.instanceColor=t.instanceColor.clone());this.count=t.count;t.boundingBox!==null&&(this.boundingBox=t.boundingBox.clone());t.boundingSphere!==null&&(this.boundingSphere=t.boundingSphere.clone());return this}getColorAt(t,e){e.fromArray(this.instanceColor.array,t*3)}getMatrixAt(t,e){e.fromArray(this.instanceMatrix.array,t*16)}getMorphAt(t,e){const n=e.morphTargetInfluences;const i=this.morphTexture.source.data.data;const r=n.length+1;const s=t*r+1;for(let t=0;t<n.length;t++)n[t]=i[s+t]}raycast(t,e){const n=this.matrixWorld;const i=this.count;nc.geometry=this.geometry;nc.material=this.material;if(nc.material!==void 0){this.boundingSphere===null&&this.computeBoundingSphere();ic.copy(this.boundingSphere);ic.applyMatrix4(n);if(t.ray.intersectsSphere(ic)!==false)for(let r=0;r<i;r++){this.getMatrixAt(r,Jl);Ql.multiplyMatrices(n,Jl);nc.matrixWorld=Ql;nc.raycast(t,$l);for(let t=0,n=$l.length;t<n;t++){const n=$l[t];n.instanceId=r;n.object=this;e.push(n)}$l.length=0}}}setColorAt(t,e){this.instanceColor===null&&(this.instanceColor=new InstancedBufferAttribute(new Float32Array(this.instanceMatrix.count*3),3));e.toArray(this.instanceColor.array,t*3)}setMatrixAt(t,e){e.toArray(this.instanceMatrix.array,t*16)}setMorphAt(t,e){const n=e.morphTargetInfluences;const i=n.length+1;this.morphTexture===null&&(this.morphTexture=new DataTexture(new Float32Array(i*this.count),i,this.count,jt,Ut));const r=this.morphTexture.source.data.data;let s=0;for(let t=0;t<n.length;t++)s+=n[t];const a=this.geometry.morphTargetsRelative?1:1-s;const o=i*t;r[o]=a;r.set(n,o+1)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:\"dispose\"});if(this.morphTexture!==null){this.morphTexture.dispose();this.morphTexture=null}return this}}function sortOpaque(t,e){return t.z-e.z}function sortTransparent(t,e){return e.z-t.z}class MultiDrawRenderList{constructor(){this.index=0;this.pool=[];this.list=[]}push(t,e,n){const i=this.pool;const r=this.list;this.index>=i.length&&i.push({start:-1,count:-1,z:-1,index:-1});const s=i[this.index];r.push(s);this.index++;s.start=t.start;s.count=t.count;s.z=e;s.index=n}reset(){this.list.length=0;this.index=0}}const rc=new Matrix4;const sc=new Matrix4;const ac=new Matrix4;const oc=new Color(1,1,1);const lc=new Matrix4;const cc=new Frustum;const hc=new Box3;const uc=new Sphere;const dc=new Vector3;const pc=new Vector3;const fc=new Vector3;const mc=new MultiDrawRenderList;const gc=new Mesh;const vc=[];function copyAttributeData(t,e,n=0){const i=e.itemSize;if(t.isInterleavedBufferAttribute||t.array.constructor!==e.array.constructor){const r=t.count;for(let s=0;s<r;s++)for(let r=0;r<i;r++)e.setComponent(s+n,r,t.getComponent(s,r))}else e.array.set(t.array,n*i);e.needsUpdate=true}class BatchedMesh extends Mesh{get maxInstanceCount(){return this._maxInstanceCount}constructor(t,e,n=e*2,i){super(new BufferGeometry,i);this.isBatchedMesh=true;this.perObjectFrustumCulled=true;this.sortObjects=true;this.boundingBox=null;this.boundingSphere=null;this.customSort=null;this._drawInfo=[];this._drawRanges=[];this._reservedRanges=[];this._bounds=[];this._maxInstanceCount=t;this._maxVertexCount=e;this._maxIndexCount=n;this._geometryInitialized=false;this._geometryCount=0;this._multiDrawCounts=new Int32Array(t);this._multiDrawStarts=new Int32Array(t);this._multiDrawCount=0;this._multiDrawInstances=null;this._visibilityChanged=true;this._matricesTexture=null;this._indirectTexture=null;this._colorsTexture=null;this._initMatricesTexture();this._initIndirectTexture()}_initMatricesTexture(){let t=Math.sqrt(this._maxInstanceCount*4);t=Math.ceil(t/4)*4;t=Math.max(t,4);const e=new Float32Array(t*t*4);const n=new DataTexture(e,t,t,Gt,Ut);this._matricesTexture=n}_initIndirectTexture(){let t=Math.sqrt(this._maxInstanceCount);t=Math.ceil(t);const e=new Uint32Array(t*t);const n=new DataTexture(e,t,t,qt,It);this._indirectTexture=n}_initColorsTexture(){let t=Math.sqrt(this._maxIndexCount);t=Math.ceil(t);const e=new Float32Array(t*t*4).fill(1);const n=new DataTexture(e,t,t,Gt,Ut);n.colorSpace=$n.workingColorSpace;this._colorsTexture=n}_initializeGeometry(t){const e=this.geometry;const n=this._maxVertexCount;const i=this._maxIndexCount;if(this._geometryInitialized===false){for(const i in t.attributes){const r=t.getAttribute(i);const{array:s,itemSize:a,normalized:o}=r;const l=new s.constructor(n*a);const c=new BufferAttribute(l,a,o);e.setAttribute(i,c)}if(t.getIndex()!==null){const t=n>65535?new Uint32Array(i):new Uint16Array(i);e.setIndex(new BufferAttribute(t,1))}this._geometryInitialized=true}}_validateGeometry(t){const e=this.geometry;if(Boolean(t.getIndex())!==Boolean(e.getIndex()))throw new Error('BatchedMesh: All geometries must consistently have \"index\".');for(const n in e.attributes){if(!t.hasAttribute(n))throw new Error(`BatchedMesh: Added geometry missing \"${n}\". All geometries must have consistent attributes.`);const i=t.getAttribute(n);const r=e.getAttribute(n);if(i.itemSize!==r.itemSize||i.normalized!==r.normalized)throw new Error(\"BatchedMesh: All attributes must have a consistent itemSize and normalized value.\")}}setCustomSort(t){this.customSort=t;return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Box3);const t=this._geometryCount;const e=this.boundingBox;const n=this._drawInfo;e.makeEmpty();for(let i=0;i<t;i++){if(n[i].active===false)continue;const t=n[i].geometryIndex;this.getMatrixAt(i,rc);this.getBoundingBoxAt(t,hc).applyMatrix4(rc);e.union(hc)}}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new Sphere);const t=this.boundingSphere;const e=this._drawInfo;t.makeEmpty();for(let n=0,i=e.length;n<i;n++){if(e[n].active===false)continue;const i=e[n].geometryIndex;this.getMatrixAt(n,rc);this.getBoundingSphereAt(i,uc).applyMatrix4(rc);t.union(uc)}}addInstance(t){if(this._drawInfo.length>=this._maxInstanceCount)throw new Error(\"BatchedMesh: Maximum item count reached.\");this._drawInfo.push({visible:true,active:true,geometryIndex:t});const e=this._drawInfo.length-1;const n=this._matricesTexture;const i=n.image.data;ac.toArray(i,e*16);n.needsUpdate=true;const r=this._colorsTexture;if(r){oc.toArray(r.image.data,e*4);r.needsUpdate=true}return e}addGeometry(t,e=-1,n=-1){this._initializeGeometry(t);this._validateGeometry(t);if(this._drawInfo.length>=this._maxInstanceCount)throw new Error(\"BatchedMesh: Maximum item count reached.\");const i={vertexStart:-1,vertexCount:-1,indexStart:-1,indexCount:-1};let r=null;const s=this._reservedRanges;const a=this._drawRanges;const o=this._bounds;this._geometryCount!==0&&(r=s[s.length-1]);i.vertexCount=e===-1?t.getAttribute(\"position\").count:e;i.vertexStart=r===null?0:r.vertexStart+r.vertexCount;const l=t.getIndex();const c=l!==null;if(c){i.indexCount=n===-1?l.count:n;i.indexStart=r===null?0:r.indexStart+r.indexCount}if(i.indexStart!==-1&&i.indexStart+i.indexCount>this._maxIndexCount||i.vertexStart+i.vertexCount>this._maxVertexCount)throw new Error(\"BatchedMesh: Reserved space request exceeds the maximum buffer size.\");const h=this._geometryCount;this._geometryCount++;s.push(i);a.push({start:c?i.indexStart:i.vertexStart,count:-1});o.push({boxInitialized:false,box:new Box3,sphereInitialized:false,sphere:new Sphere});this.setGeometryAt(h,t);return h}setGeometryAt(t,e){if(t>=this._geometryCount)throw new Error(\"BatchedMesh: Maximum geometry count reached.\");this._validateGeometry(e);const n=this.geometry;const i=n.getIndex()!==null;const r=n.getIndex();const s=e.getIndex();const a=this._reservedRanges[t];if(i&&s.count>a.indexCount||e.attributes.position.count>a.vertexCount)throw new Error(\"BatchedMesh: Reserved space not large enough for provided geometry.\");const o=a.vertexStart;const l=a.vertexCount;for(const t in n.attributes){const i=e.getAttribute(t);const r=n.getAttribute(t);copyAttributeData(i,r,o);const s=i.itemSize;for(let t=i.count,e=l;t<e;t++){const e=o+t;for(let t=0;t<s;t++)r.setComponent(e,t,0)}r.needsUpdate=true;r.addUpdateRange(o*s,l*s)}if(i){const t=a.indexStart;for(let e=0;e<s.count;e++)r.setX(t+e,o+s.getX(e));for(let e=s.count,n=a.indexCount;e<n;e++)r.setX(t+e,o);r.needsUpdate=true;r.addUpdateRange(t,a.indexCount)}const c=this._bounds[t];if(e.boundingBox!==null){c.box.copy(e.boundingBox);c.boxInitialized=true}else c.boxInitialized=false;if(e.boundingSphere!==null){c.sphere.copy(e.boundingSphere);c.sphereInitialized=true}else c.sphereInitialized=false;const h=this._drawRanges[t];const u=e.getAttribute(\"position\");h.count=i?s.count:u.count;this._visibilityChanged=true;return t}getBoundingBoxAt(t,e){if(t>=this._geometryCount)return null;const n=this._bounds[t];const i=n.box;const r=this.geometry;if(n.boxInitialized===false){i.makeEmpty();const e=r.index;const s=r.attributes.position;const a=this._drawRanges[t];for(let t=a.start,n=a.start+a.count;t<n;t++){let n=t;e&&(n=e.getX(n));i.expandByPoint(dc.fromBufferAttribute(s,n))}n.boxInitialized=true}e.copy(i);return e}getBoundingSphereAt(t,e){if(t>=this._geometryCount)return null;const n=this._bounds[t];const i=n.sphere;const r=this.geometry;if(n.sphereInitialized===false){i.makeEmpty();this.getBoundingBoxAt(t,hc);hc.getCenter(i.center);const e=r.index;const s=r.attributes.position;const a=this._drawRanges[t];let o=0;for(let t=a.start,n=a.start+a.count;t<n;t++){let n=t;e&&(n=e.getX(n));dc.fromBufferAttribute(s,n);o=Math.max(o,i.center.distanceToSquared(dc))}i.radius=Math.sqrt(o);n.sphereInitialized=true}e.copy(i);return e}setMatrixAt(t,e){const n=this._drawInfo;const i=this._matricesTexture;const r=this._matricesTexture.image.data;if(t>=n.length||n[t].active===false)return this;e.toArray(r,t*16);i.needsUpdate=true;return this}getMatrixAt(t,e){const n=this._drawInfo;const i=this._matricesTexture.image.data;return t>=n.length||n[t].active===false?null:e.fromArray(i,t*16)}setColorAt(t,e){this._colorsTexture===null&&this._initColorsTexture();const n=this._colorsTexture;const i=this._colorsTexture.image.data;const r=this._drawInfo;if(t>=r.length||r[t].active===false)return this;e.toArray(i,t*4);n.needsUpdate=true;return this}getColorAt(t,e){const n=this._colorsTexture.image.data;const i=this._drawInfo;return t>=i.length||i[t].active===false?null:e.fromArray(n,t*4)}setVisibleAt(t,e){const n=this._drawInfo;if(t>=n.length||n[t].active===false||n[t].visible===e)return this;n[t].visible=e;this._visibilityChanged=true;return this}getVisibleAt(t){const e=this._drawInfo;return!(t>=e.length||e[t].active===false)&&e[t].visible}raycast(t,e){const n=this._drawInfo;const i=this._drawRanges;const r=this.matrixWorld;const s=this.geometry;gc.material=this.material;gc.geometry.index=s.index;gc.geometry.attributes=s.attributes;gc.geometry.boundingBox===null&&(gc.geometry.boundingBox=new Box3);gc.geometry.boundingSphere===null&&(gc.geometry.boundingSphere=new Sphere);for(let s=0,a=n.length;s<a;s++){if(!n[s].visible||!n[s].active)continue;const a=n[s].geometryIndex;const o=i[a];gc.geometry.setDrawRange(o.start,o.count);this.getMatrixAt(s,gc.matrixWorld).premultiply(r);this.getBoundingBoxAt(a,gc.geometry.boundingBox);this.getBoundingSphereAt(a,gc.geometry.boundingSphere);gc.raycast(t,vc);for(let t=0,n=vc.length;t<n;t++){const n=vc[t];n.object=this;n.batchId=s;e.push(n)}vc.length=0}gc.material=null;gc.geometry.index=null;gc.geometry.attributes={};gc.geometry.setDrawRange(0,Infinity)}copy(t){super.copy(t);this.geometry=t.geometry.clone();this.perObjectFrustumCulled=t.perObjectFrustumCulled;this.sortObjects=t.sortObjects;this.boundingBox=t.boundingBox!==null?t.boundingBox.clone():null;this.boundingSphere=t.boundingSphere!==null?t.boundingSphere.clone():null;this._drawRanges=t._drawRanges.map((t=>({...t})));this._reservedRanges=t._reservedRanges.map((t=>({...t})));this._drawInfo=t._drawInfo.map((t=>({...t})));this._bounds=t._bounds.map((t=>({boxInitialized:t.boxInitialized,box:t.box.clone(),sphereInitialized:t.sphereInitialized,sphere:t.sphere.clone()})));this._maxInstanceCount=t._maxInstanceCount;this._maxVertexCount=t._maxVertexCount;this._maxIndexCount=t._maxIndexCount;this._geometryInitialized=t._geometryInitialized;this._geometryCount=t._geometryCount;this._multiDrawCounts=t._multiDrawCounts.slice();this._multiDrawStarts=t._multiDrawStarts.slice();this._matricesTexture=t._matricesTexture.clone();this._matricesTexture.image.data=this._matricesTexture.image.slice();if(this._colorsTexture!==null){this._colorsTexture=t._colorsTexture.clone();this._colorsTexture.image.data=this._colorsTexture.image.slice()}return this}dispose(){this.geometry.dispose();this._matricesTexture.dispose();this._matricesTexture=null;this._indirectTexture.dispose();this._indirectTexture=null;if(this._colorsTexture!==null){this._colorsTexture.dispose();this._colorsTexture=null}return this}onBeforeRender(t,e,n,i,r){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const s=i.getIndex();const a=s===null?1:s.array.BYTES_PER_ELEMENT;const o=this._drawInfo;const l=this._multiDrawStarts;const c=this._multiDrawCounts;const h=this._drawRanges;const u=this.perObjectFrustumCulled;const d=this._indirectTexture;const p=d.image.data;if(u){lc.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse).multiply(this.matrixWorld);cc.setFromProjectionMatrix(lc,t.coordinateSystem)}let f=0;if(this.sortObjects){sc.copy(this.matrixWorld).invert();dc.setFromMatrixPosition(n.matrixWorld).applyMatrix4(sc);pc.set(0,0,-1).transformDirection(n.matrixWorld).transformDirection(sc);for(let t=0,e=o.length;t<e;t++)if(o[t].visible&&o[t].active){const e=o[t].geometryIndex;this.getMatrixAt(t,rc);this.getBoundingSphereAt(e,uc).applyMatrix4(rc);let n=false;u&&(n=!cc.intersectsSphere(uc));if(!n){const n=fc.subVectors(uc.center,dc).dot(pc);mc.push(h[e],n,t)}}const t=mc.list;const e=this.customSort;e===null?t.sort(r.transparent?sortTransparent:sortOpaque):e.call(this,t,n);for(let e=0,n=t.length;e<n;e++){const n=t[e];l[f]=n.start*a;c[f]=n.count;p[f]=n.index;f++}mc.reset()}else for(let t=0,e=o.length;t<e;t++)if(o[t].visible&&o[t].active){const e=o[t].geometryIndex;let n=false;if(u){this.getMatrixAt(t,rc);this.getBoundingSphereAt(e,uc).applyMatrix4(rc);n=!cc.intersectsSphere(uc)}if(!n){const n=h[e];l[f]=n.start*a;c[f]=n.count;p[f]=t;f++}}d.needsUpdate=true;this._multiDrawCount=f;this._visibilityChanged=false}onBeforeShadow(t,e,n,i,r,s){this.onBeforeRender(t,null,i,r,s)}}class LineBasicMaterial extends Material{constructor(t){super();this.isLineBasicMaterial=true;this.type=\"LineBasicMaterial\";this.color=new Color(16777215);this.map=null;this.linewidth=1;this.linecap=\"round\";this.linejoin=\"round\";this.fog=true;this.setValues(t)}copy(t){super.copy(t);this.color.copy(t.color);this.map=t.map;this.linewidth=t.linewidth;this.linecap=t.linecap;this.linejoin=t.linejoin;this.fog=t.fog;return this}}const _c=new Vector3;const xc=new Vector3;const yc=new Matrix4;const Mc=new Ray;const Sc=new Sphere;const bc=new Vector3;const Tc=new Vector3;class Line extends Object3D{constructor(t=new BufferGeometry,e=new LineBasicMaterial){super();this.isLine=true;this.type=\"Line\";this.geometry=t;this.material=e;this.updateMorphTargets()}copy(t,e){super.copy(t,e);this.material=Array.isArray(t.material)?t.material.slice():t.material;this.geometry=t.geometry;return this}computeLineDistances(){const t=this.geometry;if(t.index===null){const e=t.attributes.position;const n=[0];for(let t=1,i=e.count;t<i;t++){_c.fromBufferAttribute(e,t-1);xc.fromBufferAttribute(e,t);n[t]=n[t-1];n[t]+=_c.distanceTo(xc)}t.setAttribute(\"lineDistance\",new Float32BufferAttribute(n,1))}else console.warn(\"THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.\");return this}raycast(t,e){const n=this.geometry;const i=this.matrixWorld;const r=t.params.Line.threshold;const s=n.drawRange;n.boundingSphere===null&&n.computeBoundingSphere();Sc.copy(n.boundingSphere);Sc.applyMatrix4(i);Sc.radius+=r;if(t.ray.intersectsSphere(Sc)===false)return;yc.copy(i).invert();Mc.copy(t.ray).applyMatrix4(yc);const a=r/((this.scale.x+this.scale.y+this.scale.z)/3);const o=a*a;const l=this.isLineSegments?2:1;const c=n.index;const h=n.attributes;const u=h.position;if(c!==null){const n=Math.max(0,s.start);const i=Math.min(c.count,s.start+s.count);for(let r=n,s=i-1;r<s;r+=l){const n=c.getX(r);const i=c.getX(r+1);const s=checkIntersection(this,t,Mc,o,n,i);s&&e.push(s)}if(this.isLineLoop){const r=c.getX(i-1);const s=c.getX(n);const a=checkIntersection(this,t,Mc,o,r,s);a&&e.push(a)}}else{const n=Math.max(0,s.start);const i=Math.min(u.count,s.start+s.count);for(let r=n,s=i-1;r<s;r+=l){const n=checkIntersection(this,t,Mc,o,r,r+1);n&&e.push(n)}if(this.isLineLoop){const r=checkIntersection(this,t,Mc,o,i-1,n);r&&e.push(r)}}}updateMorphTargets(){const t=this.geometry;const e=t.morphAttributes;const n=Object.keys(e);if(n.length>0){const t=e[n[0]];if(t!==void 0){this.morphTargetInfluences=[];this.morphTargetDictionary={};for(let e=0,n=t.length;e<n;e++){const n=t[e].name||String(e);this.morphTargetInfluences.push(0);this.morphTargetDictionary[n]=e}}}}}function checkIntersection(t,e,n,i,r,s){const a=t.geometry.attributes.position;_c.fromBufferAttribute(a,r);xc.fromBufferAttribute(a,s);const o=n.distanceSqToSegment(_c,xc,bc,Tc);if(o>i)return;bc.applyMatrix4(t.matrixWorld);const l=e.ray.origin.distanceTo(bc);return l<e.near||l>e.far?void 0:{distance:l,point:Tc.clone().applyMatrix4(t.matrixWorld),index:r,face:null,faceIndex:null,object:t}}const wc=new Vector3;const Ec=new Vector3;class LineSegments extends Line{constructor(t,e){super(t,e);this.isLineSegments=true;this.type=\"LineSegments\"}computeLineDistances(){const t=this.geometry;if(t.index===null){const e=t.attributes.position;const n=[];for(let t=0,i=e.count;t<i;t+=2){wc.fromBufferAttribute(e,t);Ec.fromBufferAttribute(e,t+1);n[t]=t===0?0:n[t-1];n[t+1]=n[t]+wc.distanceTo(Ec)}t.setAttribute(\"lineDistance\",new Float32BufferAttribute(n,1))}else console.warn(\"THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.\");return this}}class LineLoop extends Line{constructor(t,e){super(t,e);this.isLineLoop=true;this.type=\"LineLoop\"}}class PointsMaterial extends Material{constructor(t){super();this.isPointsMaterial=true;this.type=\"PointsMaterial\";this.color=new Color(16777215);this.map=null;this.alphaMap=null;this.size=1;this.sizeAttenuation=true;this.fog=true;this.setValues(t)}copy(t){super.copy(t);this.color.copy(t.color);this.map=t.map;this.alphaMap=t.alphaMap;this.size=t.size;this.sizeAttenuation=t.sizeAttenuation;this.fog=t.fog;return this}}const Ac=new Matrix4;const Cc=new Ray;const Rc=new Sphere;const Pc=new Vector3;class Points extends Object3D{constructor(t=new BufferGeometry,e=new PointsMaterial){super();this.isPoints=true;this.type=\"Points\";this.geometry=t;this.material=e;this.updateMorphTargets()}copy(t,e){super.copy(t,e);this.material=Array.isArray(t.material)?t.material.slice():t.material;this.geometry=t.geometry;return this}raycast(t,e){const n=this.geometry;const i=this.matrixWorld;const r=t.params.Points.threshold;const s=n.drawRange;n.boundingSphere===null&&n.computeBoundingSphere();Rc.copy(n.boundingSphere);Rc.applyMatrix4(i);Rc.radius+=r;if(t.ray.intersectsSphere(Rc)===false)return;Ac.copy(i).invert();Cc.copy(t.ray).applyMatrix4(Ac);const a=r/((this.scale.x+this.scale.y+this.scale.z)/3);const o=a*a;const l=n.index;const c=n.attributes;const h=c.position;if(l!==null){const n=Math.max(0,s.start);const r=Math.min(l.count,s.start+s.count);for(let s=n,a=r;s<a;s++){const n=l.getX(s);Pc.fromBufferAttribute(h,n);testPoint(Pc,n,o,i,t,e,this)}}else{const n=Math.max(0,s.start);const r=Math.min(h.count,s.start+s.count);for(let s=n,a=r;s<a;s++){Pc.fromBufferAttribute(h,s);testPoint(Pc,s,o,i,t,e,this)}}}updateMorphTargets(){const t=this.geometry;const e=t.morphAttributes;const n=Object.keys(e);if(n.length>0){const t=e[n[0]];if(t!==void 0){this.morphTargetInfluences=[];this.morphTargetDictionary={};for(let e=0,n=t.length;e<n;e++){const n=t[e].name||String(e);this.morphTargetInfluences.push(0);this.morphTargetDictionary[n]=e}}}}}function testPoint(t,e,n,i,r,s,a){const o=Cc.distanceSqToPoint(t);if(o<n){const n=new Vector3;Cc.closestPointToPoint(t,n);n.applyMatrix4(i);const l=r.ray.origin.distanceTo(n);if(l<r.near||l>r.far)return;s.push({distance:l,distanceToRay:Math.sqrt(o),point:n,index:e,face:null,object:a})}}class VideoTexture extends Texture{constructor(t,e,n,i,r,s,a,o,l){super(t,e,n,i,r,s,a,o,l);this.isVideoTexture=true;this.minFilter=s!==void 0?s:St;this.magFilter=r!==void 0?r:St;this.generateMipmaps=false;const c=this;function updateVideo(){c.needsUpdate=true;t.requestVideoFrameCallback(updateVideo)}\"requestVideoFrameCallback\"in t&&t.requestVideoFrameCallback(updateVideo)}clone(){return new this.constructor(this.image).copy(this)}update(){const t=this.image;const e=\"requestVideoFrameCallback\"in t;e===false&&t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=true)}}class FramebufferTexture extends Texture{constructor(t,e){super({width:t,height:e});this.isFramebufferTexture=true;this.magFilter=vt;this.minFilter=vt;this.generateMipmaps=false;this.needsUpdate=true}}class CompressedTexture extends Texture{constructor(t,e,n,i,r,s,a,o,l,c,h,u){super(null,s,a,o,l,c,i,r,h,u);this.isCompressedTexture=true;this.image={width:e,height:n};this.mipmaps=t;this.flipY=false;this.generateMipmaps=false}}class CompressedArrayTexture extends CompressedTexture{constructor(t,e,n,i,r,s){super(t,e,n,r,s);this.isCompressedArrayTexture=true;this.image.depth=i;this.wrapR=mt;this.layerUpdates=new Set}addLayerUpdate(t){this.layerUpdates.add(t)}clearLayerUpdates(){this.layerUpdates.clear()}}class CompressedCubeTexture extends CompressedTexture{constructor(t,e,n){super(void 0,t[0].width,t[0].height,e,n,ct);this.isCompressedCubeTexture=true;this.isCubeTexture=true;this.image=t}}class CanvasTexture extends Texture{constructor(t,e,n,i,r,s,a,o,l){super(t,e,n,i,r,s,a,o,l);this.isCanvasTexture=true;this.needsUpdate=true}}class Curve{constructor(){this.type=\"Curve\";this.arcLengthDivisions=200}getPoint(){console.warn(\"THREE.Curve: .getPoint() not implemented.\");return null}getPointAt(t,e){const n=this.getUtoTmapping(t);return this.getPoint(n,e)}getPoints(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPoint(n/t));return e}getSpacedPoints(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPointAt(n/t));return e}getLength(){const t=this.getLengths();return t[t.length-1]}getLengths(t=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=false;const e=[];let n,i=this.getPoint(0);let r=0;e.push(0);for(let s=1;s<=t;s++){n=this.getPoint(s/t);r+=n.distanceTo(i);e.push(r);i=n}this.cacheArcLengths=e;return e}updateArcLengths(){this.needsUpdate=true;this.getLengths()}getUtoTmapping(t,e){const n=this.getLengths();let i=0;const r=n.length;let s;s=e||t*n[r-1];let a,o=0,l=r-1;while(o<=l){i=Math.floor(o+(l-o)/2);a=n[i]-s;if(a<0)o=i+1;else{if(!(a>0)){l=i;break}l=i-1}}i=l;if(n[i]===s)return i/(r-1);const c=n[i];const h=n[i+1];const u=h-c;const d=(s-c)/u;const p=(i+d)/(r-1);return p}getTangent(t,e){const n=1e-4;let i=t-n;let r=t+n;i<0&&(i=0);r>1&&(r=1);const s=this.getPoint(i);const a=this.getPoint(r);const o=e||(s.isVector2?new Vector2:new Vector3);o.copy(a).sub(s).normalize();return o}getTangentAt(t,e){const n=this.getUtoTmapping(t);return this.getTangent(n,e)}computeFrenetFrames(t,e){const n=new Vector3;const i=[];const r=[];const s=[];const a=new Vector3;const o=new Matrix4;for(let e=0;e<=t;e++){const n=e/t;i[e]=this.getTangentAt(n,new Vector3)}r[0]=new Vector3;s[0]=new Vector3;let l=Number.MAX_VALUE;const c=Math.abs(i[0].x);const h=Math.abs(i[0].y);const u=Math.abs(i[0].z);if(c<=l){l=c;n.set(1,0,0)}if(h<=l){l=h;n.set(0,1,0)}u<=l&&n.set(0,0,1);a.crossVectors(i[0],n).normalize();r[0].crossVectors(i[0],a);s[0].crossVectors(i[0],r[0]);for(let e=1;e<=t;e++){r[e]=r[e-1].clone();s[e]=s[e-1].clone();a.crossVectors(i[e-1],i[e]);if(a.length()>Number.EPSILON){a.normalize();const t=Math.acos(clamp(i[e-1].dot(i[e]),-1,1));r[e].applyMatrix4(o.makeRotationAxis(a,t))}s[e].crossVectors(i[e],r[e])}if(e===true){let e=Math.acos(clamp(r[0].dot(r[t]),-1,1));e/=t;i[0].dot(a.crossVectors(r[0],r[t]))>0&&(e=-e);for(let n=1;n<=t;n++){r[n].applyMatrix4(o.makeRotationAxis(i[n],e*n));s[n].crossVectors(i[n],r[n])}}return{tangents:i,normals:r,binormals:s}}clone(){return(new this.constructor).copy(this)}copy(t){this.arcLengthDivisions=t.arcLengthDivisions;return this}toJSON(){const t={metadata:{version:4.6,type:\"Curve\",generator:\"Curve.toJSON\"}};t.arcLengthDivisions=this.arcLengthDivisions;t.type=this.type;return t}fromJSON(t){this.arcLengthDivisions=t.arcLengthDivisions;return this}}class EllipseCurve extends Curve{constructor(t=0,e=0,n=1,i=1,r=0,s=Math.PI*2,a=false,o=0){super();this.isEllipseCurve=true;this.type=\"EllipseCurve\";this.aX=t;this.aY=e;this.xRadius=n;this.yRadius=i;this.aStartAngle=r;this.aEndAngle=s;this.aClockwise=a;this.aRotation=o}getPoint(t,e=new Vector2){const n=e;const i=Math.PI*2;let r=this.aEndAngle-this.aStartAngle;const s=Math.abs(r)<Number.EPSILON;while(r<0)r+=i;while(r>i)r-=i;r<Number.EPSILON&&(r=s?0:i);this.aClockwise!==true||s||(r===i?r=-i:r-=i);const a=this.aStartAngle+t*r;let o=this.aX+this.xRadius*Math.cos(a);let l=this.aY+this.yRadius*Math.sin(a);if(this.aRotation!==0){const t=Math.cos(this.aRotation);const e=Math.sin(this.aRotation);const n=o-this.aX;const i=l-this.aY;o=n*t-i*e+this.aX;l=n*e+i*t+this.aY}return n.set(o,l)}copy(t){super.copy(t);this.aX=t.aX;this.aY=t.aY;this.xRadius=t.xRadius;this.yRadius=t.yRadius;this.aStartAngle=t.aStartAngle;this.aEndAngle=t.aEndAngle;this.aClockwise=t.aClockwise;this.aRotation=t.aRotation;return this}toJSON(){const t=super.toJSON();t.aX=this.aX;t.aY=this.aY;t.xRadius=this.xRadius;t.yRadius=this.yRadius;t.aStartAngle=this.aStartAngle;t.aEndAngle=this.aEndAngle;t.aClockwise=this.aClockwise;t.aRotation=this.aRotation;return t}fromJSON(t){super.fromJSON(t);this.aX=t.aX;this.aY=t.aY;this.xRadius=t.xRadius;this.yRadius=t.yRadius;this.aStartAngle=t.aStartAngle;this.aEndAngle=t.aEndAngle;this.aClockwise=t.aClockwise;this.aRotation=t.aRotation;return this}}class ArcCurve extends EllipseCurve{constructor(t,e,n,i,r,s){super(t,e,n,n,i,r,s);this.isArcCurve=true;this.type=\"ArcCurve\"}}function CubicPoly(){let t=0,e=0,n=0,i=0;function init(r,s,a,o){t=r;e=a;n=-3*r+3*s-2*a-o;i=2*r-2*s+a+o}return{initCatmullRom:function(t,e,n,i,r){init(e,n,r*(n-t),r*(i-e))},initNonuniformCatmullRom:function(t,e,n,i,r,s,a){let o=(e-t)/r-(n-t)/(r+s)+(n-e)/s;let l=(n-e)/s-(i-e)/(s+a)+(i-n)/a;o*=s;l*=s;init(e,n,o,l)},calc:function(r){const s=r*r;const a=s*r;return t+e*r+n*s+i*a}}}const Lc=new Vector3;const Ic=new CubicPoly;const Uc=new CubicPoly;const Dc=new CubicPoly;class CatmullRomCurve3 extends Curve{constructor(t=[],e=false,n=\"centripetal\",i=.5){super();this.isCatmullRomCurve3=true;this.type=\"CatmullRomCurve3\";this.points=t;this.closed=e;this.curveType=n;this.tension=i}getPoint(t,e=new Vector3){const n=e;const i=this.points;const r=i.length;const s=(r-(this.closed?0:1))*t;let a=Math.floor(s);let o=s-a;if(this.closed)a+=a>0?0:(Math.floor(Math.abs(a)/r)+1)*r;else if(o===0&&a===r-1){a=r-2;o=1}let l,c;if(this.closed||a>0)l=i[(a-1)%r];else{Lc.subVectors(i[0],i[1]).add(i[0]);l=Lc}const h=i[a%r];const u=i[(a+1)%r];if(this.closed||a+2<r)c=i[(a+2)%r];else{Lc.subVectors(i[r-1],i[r-2]).add(i[r-1]);c=Lc}if(this.curveType===\"centripetal\"||this.curveType===\"chordal\"){const t=this.curveType===\"chordal\"?.5:.25;let e=Math.pow(l.distanceToSquared(h),t);let n=Math.pow(h.distanceToSquared(u),t);let i=Math.pow(u.distanceToSquared(c),t);n<1e-4&&(n=1);e<1e-4&&(e=n);i<1e-4&&(i=n);Ic.initNonuniformCatmullRom(l.x,h.x,u.x,c.x,e,n,i);Uc.initNonuniformCatmullRom(l.y,h.y,u.y,c.y,e,n,i);Dc.initNonuniformCatmullRom(l.z,h.z,u.z,c.z,e,n,i)}else if(this.curveType===\"catmullrom\"){Ic.initCatmullRom(l.x,h.x,u.x,c.x,this.tension);Uc.initCatmullRom(l.y,h.y,u.y,c.y,this.tension);Dc.initCatmullRom(l.z,h.z,u.z,c.z,this.tension)}n.set(Ic.calc(o),Uc.calc(o),Dc.calc(o));return n}copy(t){super.copy(t);this.points=[];for(let e=0,n=t.points.length;e<n;e++){const n=t.points[e];this.points.push(n.clone())}this.closed=t.closed;this.curveType=t.curveType;this.tension=t.tension;return this}toJSON(){const t=super.toJSON();t.points=[];for(let e=0,n=this.points.length;e<n;e++){const n=this.points[e];t.points.push(n.toArray())}t.closed=this.closed;t.curveType=this.curveType;t.tension=this.tension;return t}fromJSON(t){super.fromJSON(t);this.points=[];for(let e=0,n=t.points.length;e<n;e++){const n=t.points[e];this.points.push((new Vector3).fromArray(n))}this.closed=t.closed;this.curveType=t.curveType;this.tension=t.tension;return this}}function CatmullRom(t,e,n,i,r){const s=.5*(i-e);const a=.5*(r-n);const o=t*t;const l=t*o;return(2*n-2*i+s+a)*l+(-3*n+3*i-2*s-a)*o+s*t+n}function QuadraticBezierP0(t,e){const n=1-t;return n*n*e}function QuadraticBezierP1(t,e){return 2*(1-t)*t*e}function QuadraticBezierP2(t,e){return t*t*e}function QuadraticBezier(t,e,n,i){return QuadraticBezierP0(t,e)+QuadraticBezierP1(t,n)+QuadraticBezierP2(t,i)}function CubicBezierP0(t,e){const n=1-t;return n*n*n*e}function CubicBezierP1(t,e){const n=1-t;return 3*n*n*t*e}function CubicBezierP2(t,e){return 3*(1-t)*t*t*e}function CubicBezierP3(t,e){return t*t*t*e}function CubicBezier(t,e,n,i,r){return CubicBezierP0(t,e)+CubicBezierP1(t,n)+CubicBezierP2(t,i)+CubicBezierP3(t,r)}class CubicBezierCurve extends Curve{constructor(t=new Vector2,e=new Vector2,n=new Vector2,i=new Vector2){super();this.isCubicBezierCurve=true;this.type=\"CubicBezierCurve\";this.v0=t;this.v1=e;this.v2=n;this.v3=i}getPoint(t,e=new Vector2){const n=e;const i=this.v0,r=this.v1,s=this.v2,a=this.v3;n.set(CubicBezier(t,i.x,r.x,s.x,a.x),CubicBezier(t,i.y,r.y,s.y,a.y));return n}copy(t){super.copy(t);this.v0.copy(t.v0);this.v1.copy(t.v1);this.v2.copy(t.v2);this.v3.copy(t.v3);return this}toJSON(){const t=super.toJSON();t.v0=this.v0.toArray();t.v1=this.v1.toArray();t.v2=this.v2.toArray();t.v3=this.v3.toArray();return t}fromJSON(t){super.fromJSON(t);this.v0.fromArray(t.v0);this.v1.fromArray(t.v1);this.v2.fromArray(t.v2);this.v3.fromArray(t.v3);return this}}class CubicBezierCurve3 extends Curve{constructor(t=new Vector3,e=new Vector3,n=new Vector3,i=new Vector3){super();this.isCubicBezierCurve3=true;this.type=\"CubicBezierCurve3\";this.v0=t;this.v1=e;this.v2=n;this.v3=i}getPoint(t,e=new Vector3){const n=e;const i=this.v0,r=this.v1,s=this.v2,a=this.v3;n.set(CubicBezier(t,i.x,r.x,s.x,a.x),CubicBezier(t,i.y,r.y,s.y,a.y),CubicBezier(t,i.z,r.z,s.z,a.z));return n}copy(t){super.copy(t);this.v0.copy(t.v0);this.v1.copy(t.v1);this.v2.copy(t.v2);this.v3.copy(t.v3);return this}toJSON(){const t=super.toJSON();t.v0=this.v0.toArray();t.v1=this.v1.toArray();t.v2=this.v2.toArray();t.v3=this.v3.toArray();return t}fromJSON(t){super.fromJSON(t);this.v0.fromArray(t.v0);this.v1.fromArray(t.v1);this.v2.fromArray(t.v2);this.v3.fromArray(t.v3);return this}}class LineCurve extends Curve{constructor(t=new Vector2,e=new Vector2){super();this.isLineCurve=true;this.type=\"LineCurve\";this.v1=t;this.v2=e}getPoint(t,e=new Vector2){const n=e;if(t===1)n.copy(this.v2);else{n.copy(this.v2).sub(this.v1);n.multiplyScalar(t).add(this.v1)}return n}getPointAt(t,e){return this.getPoint(t,e)}getTangent(t,e=new Vector2){return e.subVectors(this.v2,this.v1).normalize()}getTangentAt(t,e){return this.getTangent(t,e)}copy(t){super.copy(t);this.v1.copy(t.v1);this.v2.copy(t.v2);return this}toJSON(){const t=super.toJSON();t.v1=this.v1.toArray();t.v2=this.v2.toArray();return t}fromJSON(t){super.fromJSON(t);this.v1.fromArray(t.v1);this.v2.fromArray(t.v2);return this}}class LineCurve3 extends Curve{constructor(t=new Vector3,e=new Vector3){super();this.isLineCurve3=true;this.type=\"LineCurve3\";this.v1=t;this.v2=e}getPoint(t,e=new Vector3){const n=e;if(t===1)n.copy(this.v2);else{n.copy(this.v2).sub(this.v1);n.multiplyScalar(t).add(this.v1)}return n}getPointAt(t,e){return this.getPoint(t,e)}getTangent(t,e=new Vector3){return e.subVectors(this.v2,this.v1).normalize()}getTangentAt(t,e){return this.getTangent(t,e)}copy(t){super.copy(t);this.v1.copy(t.v1);this.v2.copy(t.v2);return this}toJSON(){const t=super.toJSON();t.v1=this.v1.toArray();t.v2=this.v2.toArray();return t}fromJSON(t){super.fromJSON(t);this.v1.fromArray(t.v1);this.v2.fromArray(t.v2);return this}}class QuadraticBezierCurve extends Curve{constructor(t=new Vector2,e=new Vector2,n=new Vector2){super();this.isQuadraticBezierCurve=true;this.type=\"QuadraticBezierCurve\";this.v0=t;this.v1=e;this.v2=n}getPoint(t,e=new Vector2){const n=e;const i=this.v0,r=this.v1,s=this.v2;n.set(QuadraticBezier(t,i.x,r.x,s.x),QuadraticBezier(t,i.y,r.y,s.y));return n}copy(t){super.copy(t);this.v0.copy(t.v0);this.v1.copy(t.v1);this.v2.copy(t.v2);return this}toJSON(){const t=super.toJSON();t.v0=this.v0.toArray();t.v1=this.v1.toArray();t.v2=this.v2.toArray();return t}fromJSON(t){super.fromJSON(t);this.v0.fromArray(t.v0);this.v1.fromArray(t.v1);this.v2.fromArray(t.v2);return this}}class QuadraticBezierCurve3 extends Curve{constructor(t=new Vector3,e=new Vector3,n=new Vector3){super();this.isQuadraticBezierCurve3=true;this.type=\"QuadraticBezierCurve3\";this.v0=t;this.v1=e;this.v2=n}getPoint(t,e=new Vector3){const n=e;const i=this.v0,r=this.v1,s=this.v2;n.set(QuadraticBezier(t,i.x,r.x,s.x),QuadraticBezier(t,i.y,r.y,s.y),QuadraticBezier(t,i.z,r.z,s.z));return n}copy(t){super.copy(t);this.v0.copy(t.v0);this.v1.copy(t.v1);this.v2.copy(t.v2);return this}toJSON(){const t=super.toJSON();t.v0=this.v0.toArray();t.v1=this.v1.toArray();t.v2=this.v2.toArray();return t}fromJSON(t){super.fromJSON(t);this.v0.fromArray(t.v0);this.v1.fromArray(t.v1);this.v2.fromArray(t.v2);return this}}class SplineCurve extends Curve{constructor(t=[]){super();this.isSplineCurve=true;this.type=\"SplineCurve\";this.points=t}getPoint(t,e=new Vector2){const n=e;const i=this.points;const r=(i.length-1)*t;const s=Math.floor(r);const a=r-s;const o=i[s===0?s:s-1];const l=i[s];const c=i[s>i.length-2?i.length-1:s+1];const h=i[s>i.length-3?i.length-1:s+2];n.set(CatmullRom(a,o.x,l.x,c.x,h.x),CatmullRom(a,o.y,l.y,c.y,h.y));return n}copy(t){super.copy(t);this.points=[];for(let e=0,n=t.points.length;e<n;e++){const n=t.points[e];this.points.push(n.clone())}return this}toJSON(){const t=super.toJSON();t.points=[];for(let e=0,n=this.points.length;e<n;e++){const n=this.points[e];t.points.push(n.toArray())}return t}fromJSON(t){super.fromJSON(t);this.points=[];for(let e=0,n=t.points.length;e<n;e++){const n=t.points[e];this.points.push((new Vector2).fromArray(n))}return this}}var Nc=Object.freeze({__proto__:null,ArcCurve:ArcCurve,CatmullRomCurve3:CatmullRomCurve3,CubicBezierCurve:CubicBezierCurve,CubicBezierCurve3:CubicBezierCurve3,EllipseCurve:EllipseCurve,LineCurve:LineCurve,LineCurve3:LineCurve3,QuadraticBezierCurve:QuadraticBezierCurve,QuadraticBezierCurve3:QuadraticBezierCurve3,SplineCurve:SplineCurve});class CurvePath extends Curve{constructor(){super();this.type=\"CurvePath\";this.curves=[];this.autoClose=false}add(t){this.curves.push(t)}closePath(){const t=this.curves[0].getPoint(0);const e=this.curves[this.curves.length-1].getPoint(1);if(!t.equals(e)){const n=t.isVector2===true?\"LineCurve\":\"LineCurve3\";this.curves.push(new Nc[n](e,t))}return this}getPoint(t,e){const n=t*this.getLength();const i=this.getCurveLengths();let r=0;while(r<i.length){if(i[r]>=n){const t=i[r]-n;const s=this.curves[r];const a=s.getLength();const o=a===0?0:1-t/a;return s.getPointAt(o,e)}r++}return null}getLength(){const t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=true;this.cacheLengths=null;this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const t=[];let e=0;for(let n=0,i=this.curves.length;n<i;n++){e+=this.curves[n].getLength();t.push(e)}this.cacheLengths=t;return t}getSpacedPoints(t=40){const e=[];for(let n=0;n<=t;n++)e.push(this.getPoint(n/t));this.autoClose&&e.push(e[0]);return e}getPoints(t=12){const e=[];let n;for(let i=0,r=this.curves;i<r.length;i++){const s=r[i];const a=s.isEllipseCurve?t*2:s.isLineCurve||s.isLineCurve3?1:s.isSplineCurve?t*s.points.length:t;const o=s.getPoints(a);for(let t=0;t<o.length;t++){const i=o[t];if(!n||!n.equals(i)){e.push(i);n=i}}}this.autoClose&&e.length>1&&!e[e.length-1].equals(e[0])&&e.push(e[0]);return e}copy(t){super.copy(t);this.curves=[];for(let e=0,n=t.curves.length;e<n;e++){const n=t.curves[e];this.curves.push(n.clone())}this.autoClose=t.autoClose;return this}toJSON(){const t=super.toJSON();t.autoClose=this.autoClose;t.curves=[];for(let e=0,n=this.curves.length;e<n;e++){const n=this.curves[e];t.curves.push(n.toJSON())}return t}fromJSON(t){super.fromJSON(t);this.autoClose=t.autoClose;this.curves=[];for(let e=0,n=t.curves.length;e<n;e++){const n=t.curves[e];this.curves.push((new Nc[n.type]).fromJSON(n))}return this}}class Path extends CurvePath{constructor(t){super();this.type=\"Path\";this.currentPoint=new Vector2;t&&this.setFromPoints(t)}setFromPoints(t){this.moveTo(t[0].x,t[0].y);for(let e=1,n=t.length;e<n;e++)this.lineTo(t[e].x,t[e].y);return this}moveTo(t,e){this.currentPoint.set(t,e);return this}lineTo(t,e){const n=new LineCurve(this.currentPoint.clone(),new Vector2(t,e));this.curves.push(n);this.currentPoint.set(t,e);return this}quadraticCurveTo(t,e,n,i){const r=new QuadraticBezierCurve(this.currentPoint.clone(),new Vector2(t,e),new Vector2(n,i));this.curves.push(r);this.currentPoint.set(n,i);return this}bezierCurveTo(t,e,n,i,r,s){const a=new CubicBezierCurve(this.currentPoint.clone(),new Vector2(t,e),new Vector2(n,i),new Vector2(r,s));this.curves.push(a);this.currentPoint.set(r,s);return this}splineThru(t){const e=[this.currentPoint.clone()].concat(t);const n=new SplineCurve(e);this.curves.push(n);this.currentPoint.copy(t[t.length-1]);return this}arc(t,e,n,i,r,s){const a=this.currentPoint.x;const o=this.currentPoint.y;this.absarc(t+a,e+o,n,i,r,s);return this}absarc(t,e,n,i,r,s){this.absellipse(t,e,n,n,i,r,s);return this}ellipse(t,e,n,i,r,s,a,o){const l=this.currentPoint.x;const c=this.currentPoint.y;this.absellipse(t+l,e+c,n,i,r,s,a,o);return this}absellipse(t,e,n,i,r,s,a,o){const l=new EllipseCurve(t,e,n,i,r,s,a,o);if(this.curves.length>0){const t=l.getPoint(0);t.equals(this.currentPoint)||this.lineTo(t.x,t.y)}this.curves.push(l);const c=l.getPoint(1);this.currentPoint.copy(c);return this}copy(t){super.copy(t);this.currentPoint.copy(t.currentPoint);return this}toJSON(){const t=super.toJSON();t.currentPoint=this.currentPoint.toArray();return t}fromJSON(t){super.fromJSON(t);this.currentPoint.fromArray(t.currentPoint);return this}}class LatheGeometry extends BufferGeometry{constructor(t=[new Vector2(0,-.5),new Vector2(.5,0),new Vector2(0,.5)],e=12,n=0,i=Math.PI*2){super();this.type=\"LatheGeometry\";this.parameters={points:t,segments:e,phiStart:n,phiLength:i};e=Math.floor(e);i=clamp(i,0,Math.PI*2);const r=[];const s=[];const a=[];const o=[];const l=[];const c=1/e;const h=new Vector3;const u=new Vector2;const d=new Vector3;const p=new Vector3;const f=new Vector3;let m=0;let g=0;for(let e=0;e<=t.length-1;e++)switch(e){case 0:m=t[e+1].x-t[e].x;g=t[e+1].y-t[e].y;d.x=g*1;d.y=-m;d.z=g*0;f.copy(d);d.normalize();o.push(d.x,d.y,d.z);break;case t.length-1:o.push(f.x,f.y,f.z);break;default:m=t[e+1].x-t[e].x;g=t[e+1].y-t[e].y;d.x=g*1;d.y=-m;d.z=g*0;p.copy(d);d.x+=f.x;d.y+=f.y;d.z+=f.z;d.normalize();o.push(d.x,d.y,d.z);f.copy(p)}for(let r=0;r<=e;r++){const d=n+r*c*i;const p=Math.sin(d);const f=Math.cos(d);for(let n=0;n<=t.length-1;n++){h.x=t[n].x*p;h.y=t[n].y;h.z=t[n].x*f;s.push(h.x,h.y,h.z);u.x=r/e;u.y=n/(t.length-1);a.push(u.x,u.y);const i=o[3*n+0]*p;const c=o[3*n+1];const d=o[3*n+0]*f;l.push(i,c,d)}}for(let n=0;n<e;n++)for(let e=0;e<t.length-1;e++){const i=e+n*t.length;const s=i;const a=i+t.length;const o=i+t.length+1;const l=i+1;r.push(s,a,l);r.push(o,l,a)}this.setIndex(r);this.setAttribute(\"position\",new Float32BufferAttribute(s,3));this.setAttribute(\"uv\",new Float32BufferAttribute(a,2));this.setAttribute(\"normal\",new Float32BufferAttribute(l,3))}copy(t){super.copy(t);this.parameters=Object.assign({},t.parameters);return this}static fromJSON(t){return new LatheGeometry(t.points,t.segments,t.phiStart,t.phiLength)}}class CapsuleGeometry extends LatheGeometry{constructor(t=1,e=1,n=4,i=8){const r=new Path;r.absarc(0,-e/2,t,Math.PI*1.5,0);r.absarc(0,e/2,t,0,Math.PI*.5);super(r.getPoints(n),i);this.type=\"CapsuleGeometry\";this.parameters={radius:t,length:e,capSegments:n,radialSegments:i}}static fromJSON(t){return new CapsuleGeometry(t.radius,t.length,t.capSegments,t.radialSegments)}}class CircleGeometry extends BufferGeometry{constructor(t=1,e=32,n=0,i=Math.PI*2){super();this.type=\"CircleGeometry\";this.parameters={radius:t,segments:e,thetaStart:n,thetaLength:i};e=Math.max(3,e);const r=[];const s=[];const a=[];const o=[];const l=new Vector3;const c=new Vector2;s.push(0,0,0);a.push(0,0,1);o.push(.5,.5);for(let r=0,h=3;r<=e;r++,h+=3){const u=n+r/e*i;l.x=t*Math.cos(u);l.y=t*Math.sin(u);s.push(l.x,l.y,l.z);a.push(0,0,1);c.x=(s[h]/t+1)/2;c.y=(s[h+1]/t+1)/2;o.push(c.x,c.y)}for(let t=1;t<=e;t++)r.push(t,t+1,0);this.setIndex(r);this.setAttribute(\"position\",new Float32BufferAttribute(s,3));this.setAttribute(\"normal\",new Float32BufferAttribute(a,3));this.setAttribute(\"uv\",new Float32BufferAttribute(o,2))}copy(t){super.copy(t);this.parameters=Object.assign({},t.parameters);return this}static fromJSON(t){return new CircleGeometry(t.radius,t.segments,t.thetaStart,t.thetaLength)}}class CylinderGeometry extends BufferGeometry{constructor(t=1,e=1,n=1,i=32,r=1,s=false,a=0,o=Math.PI*2){super();this.type=\"CylinderGeometry\";this.parameters={radiusTop:t,radiusBottom:e,height:n,radialSegments:i,heightSegments:r,openEnded:s,thetaStart:a,thetaLength:o};const l=this;i=Math.floor(i);r=Math.floor(r);const c=[];const h=[];const u=[];const d=[];let p=0;const f=[];const m=n/2;let g=0;generateTorso();if(s===false){t>0&&generateCap(true);e>0&&generateCap(false)}this.setIndex(c);this.setAttribute(\"position\",new Float32BufferAttribute(h,3));this.setAttribute(\"normal\",new Float32BufferAttribute(u,3));this.setAttribute(\"uv\",new Float32BufferAttribute(d,2));function generateTorso(){const s=new Vector3;const _=new Vector3;let x=0;const y=(e-t)/n;for(let l=0;l<=r;l++){const c=[];const g=l/r;const x=g*(e-t)+t;for(let t=0;t<=i;t++){const e=t/i;const r=e*o+a;const l=Math.sin(r);const f=Math.cos(r);_.x=x*l;_.y=-g*n+m;_.z=x*f;h.push(_.x,_.y,_.z);s.set(l,y,f).normalize();u.push(s.x,s.y,s.z);d.push(e,1-g);c.push(p++)}f.push(c)}for(let t=0;t<i;t++)for(let e=0;e<r;e++){const n=f[e][t];const i=f[e+1][t];const r=f[e+1][t+1];const s=f[e][t+1];c.push(n,i,s);c.push(i,r,s);x+=6}l.addGroup(g,x,0);g+=x}function generateCap(n){const r=p;const s=new Vector2;const f=new Vector3;let _=0;const x=n===true?t:e;const y=n===true?1:-1;for(let t=1;t<=i;t++){h.push(0,m*y,0);u.push(0,y,0);d.push(.5,.5);p++}const M=p;for(let t=0;t<=i;t++){const e=t/i;const n=e*o+a;const r=Math.cos(n);const l=Math.sin(n);f.x=x*l;f.y=m*y;f.z=x*r;h.push(f.x,f.y,f.z);u.push(0,y,0);s.x=r*.5+.5;s.y=l*.5*y+.5;d.push(s.x,s.y);p++}for(let t=0;t<i;t++){const e=r+t;const i=M+t;n===true?c.push(i,i+1,e):c.push(i+1,i,e);_+=3}l.addGroup(g,_,n===true?1:2);g+=_}}copy(t){super.copy(t);this.parameters=Object.assign({},t.parameters);return this}static fromJSON(t){return new CylinderGeometry(t.radiusTop,t.radiusBottom,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class ConeGeometry extends CylinderGeometry{constructor(t=1,e=1,n=32,i=1,r=false,s=0,a=Math.PI*2){super(0,t,e,n,i,r,s,a);this.type=\"ConeGeometry\";this.parameters={radius:t,height:e,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:s,thetaLength:a}}static fromJSON(t){return new ConeGeometry(t.radius,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class PolyhedronGeometry extends BufferGeometry{constructor(t=[],e=[],n=1,i=0){super();this.type=\"PolyhedronGeometry\";this.parameters={vertices:t,indices:e,radius:n,detail:i};const r=[];const s=[];subdivide(i);applyRadius(n);generateUVs();this.setAttribute(\"position\",new Float32BufferAttribute(r,3));this.setAttribute(\"normal\",new Float32BufferAttribute(r.slice(),3));this.setAttribute(\"uv\",new Float32BufferAttribute(s,2));i===0?this.computeVertexNormals():this.normalizeNormals();function subdivide(t){const n=new Vector3;const i=new Vector3;const r=new Vector3;for(let s=0;s<e.length;s+=3){getVertexByIndex(e[s+0],n);getVertexByIndex(e[s+1],i);getVertexByIndex(e[s+2],r);subdivideFace(n,i,r,t)}}function subdivideFace(t,e,n,i){const r=i+1;const s=[];for(let i=0;i<=r;i++){s[i]=[];const a=t.clone().lerp(n,i/r);const o=e.clone().lerp(n,i/r);const l=r-i;for(let t=0;t<=l;t++)s[i][t]=t===0&&i===r?a:a.clone().lerp(o,t/l)}for(let t=0;t<r;t++)for(let e=0;e<2*(r-t)-1;e++){const n=Math.floor(e/2);if(e%2===0){pushVertex(s[t][n+1]);pushVertex(s[t+1][n]);pushVertex(s[t][n])}else{pushVertex(s[t][n+1]);pushVertex(s[t+1][n+1]);pushVertex(s[t+1][n])}}}function applyRadius(t){const e=new Vector3;for(let n=0;n<r.length;n+=3){e.x=r[n+0];e.y=r[n+1];e.z=r[n+2];e.normalize().multiplyScalar(t);r[n+0]=e.x;r[n+1]=e.y;r[n+2]=e.z}}function generateUVs(){const t=new Vector3;for(let e=0;e<r.length;e+=3){t.x=r[e+0];t.y=r[e+1];t.z=r[e+2];const n=azimuth(t)/2/Math.PI+.5;const i=inclination(t)/Math.PI+.5;s.push(n,1-i)}correctUVs();correctSeam()}function correctSeam(){for(let t=0;t<s.length;t+=6){const e=s[t+0];const n=s[t+2];const i=s[t+4];const r=Math.max(e,n,i);const a=Math.min(e,n,i);if(r>.9&&a<.1){e<.2&&(s[t+0]+=1);n<.2&&(s[t+2]+=1);i<.2&&(s[t+4]+=1)}}}function pushVertex(t){r.push(t.x,t.y,t.z)}function getVertexByIndex(e,n){const i=e*3;n.x=t[i+0];n.y=t[i+1];n.z=t[i+2]}function correctUVs(){const t=new Vector3;const e=new Vector3;const n=new Vector3;const i=new Vector3;const a=new Vector2;const o=new Vector2;const l=new Vector2;for(let c=0,h=0;c<r.length;c+=9,h+=6){t.set(r[c+0],r[c+1],r[c+2]);e.set(r[c+3],r[c+4],r[c+5]);n.set(r[c+6],r[c+7],r[c+8]);a.set(s[h+0],s[h+1]);o.set(s[h+2],s[h+3]);l.set(s[h+4],s[h+5]);i.copy(t).add(e).add(n).divideScalar(3);const u=azimuth(i);correctUV(a,h+0,t,u);correctUV(o,h+2,e,u);correctUV(l,h+4,n,u)}}function correctUV(t,e,n,i){i<0&&t.x===1&&(s[e]=t.x-1);n.x===0&&n.z===0&&(s[e]=i/2/Math.PI+.5)}function azimuth(t){return Math.atan2(t.z,-t.x)}function inclination(t){return Math.atan2(-t.y,Math.sqrt(t.x*t.x+t.z*t.z))}}copy(t){super.copy(t);this.parameters=Object.assign({},t.parameters);return this}static fromJSON(t){return new PolyhedronGeometry(t.vertices,t.indices,t.radius,t.details)}}class DodecahedronGeometry extends PolyhedronGeometry{constructor(t=1,e=0){const n=(1+Math.sqrt(5))/2;const i=1/n;const r=[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-i,-n,0,-i,n,0,i,-n,0,i,n,-i,-n,0,-i,n,0,i,-n,0,i,n,0,-n,0,-i,n,0,-i,-n,0,i,n,0,i];const s=[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9];super(r,s,t,e);this.type=\"DodecahedronGeometry\";this.parameters={radius:t,detail:e}}static fromJSON(t){return new DodecahedronGeometry(t.radius,t.detail)}}const Bc=new Vector3;const Oc=new Vector3;const Vc=new Vector3;const Fc=new Triangle;class EdgesGeometry extends BufferGeometry{constructor(t=null,e=1){super();this.type=\"EdgesGeometry\";this.parameters={geometry:t,thresholdAngle:e};if(t!==null){const n=4;const i=Math.pow(10,n);const r=Math.cos(Hn*e);const s=t.getIndex();const a=t.getAttribute(\"position\");const o=s?s.count:a.count;const l=[0,0,0];const c=[\"a\",\"b\",\"c\"];const h=new Array(3);const u={};const d=[];for(let t=0;t<o;t+=3){if(s){l[0]=s.getX(t);l[1]=s.getX(t+1);l[2]=s.getX(t+2)}else{l[0]=t;l[1]=t+1;l[2]=t+2}const{a:e,b:n,c:o}=Fc;e.fromBufferAttribute(a,l[0]);n.fromBufferAttribute(a,l[1]);o.fromBufferAttribute(a,l[2]);Fc.getNormal(Vc);h[0]=`${Math.round(e.x*i)},${Math.round(e.y*i)},${Math.round(e.z*i)}`;h[1]=`${Math.round(n.x*i)},${Math.round(n.y*i)},${Math.round(n.z*i)}`;h[2]=`${Math.round(o.x*i)},${Math.round(o.y*i)},${Math.round(o.z*i)}`;if(h[0]!==h[1]&&h[1]!==h[2]&&h[2]!==h[0])for(let t=0;t<3;t++){const e=(t+1)%3;const n=h[t];const i=h[e];const s=Fc[c[t]];const a=Fc[c[e]];const o=`${n}_${i}`;const p=`${i}_${n}`;if(p in u&&u[p]){if(Vc.dot(u[p].normal)<=r){d.push(s.x,s.y,s.z);d.push(a.x,a.y,a.z)}u[p]=null}else o in u||(u[o]={index0:l[t],index1:l[e],normal:Vc.clone()})}}for(const t in u)if(u[t]){const{index0:e,index1:n}=u[t];Bc.fromBufferAttribute(a,e);Oc.fromBufferAttribute(a,n);d.push(Bc.x,Bc.y,Bc.z);d.push(Oc.x,Oc.y,Oc.z)}this.setAttribute(\"position\",new Float32BufferAttribute(d,3))}}copy(t){super.copy(t);this.parameters=Object.assign({},t.parameters);return this}}class Shape extends Path{constructor(t){super(t);this.uuid=generateUUID();this.type=\"Shape\";this.holes=[]}getPointsHoles(t){const e=[];for(let n=0,i=this.holes.length;n<i;n++)e[n]=this.holes[n].getPoints(t);return e}extractPoints(t){return{shape:this.getPoints(t),holes:this.getPointsHoles(t)}}copy(t){super.copy(t);this.holes=[];for(let e=0,n=t.holes.length;e<n;e++){const n=t.holes[e];this.holes.push(n.clone())}return this}toJSON(){const t=super.toJSON();t.uuid=this.uuid;t.holes=[];for(let e=0,n=this.holes.length;e<n;e++){const n=this.holes[e];t.holes.push(n.toJSON())}return t}fromJSON(t){super.fromJSON(t);this.uuid=t.uuid;this.holes=[];for(let e=0,n=t.holes.length;e<n;e++){const n=t.holes[e];this.holes.push((new Path).fromJSON(n))}return this}}const zc={triangulate:function(t,e,n=2){const i=e&&e.length;const r=i?e[0]*n:t.length;let s=linkedList(t,0,r,n,true);const a=[];if(!s||s.next===s.prev)return a;let o,l,c,h,u,d,p;i&&(s=eliminateHoles(t,e,s,n));if(t.length>80*n){o=c=t[0];l=h=t[1];for(let e=n;e<r;e+=n){u=t[e];d=t[e+1];u<o&&(o=u);d<l&&(l=d);u>c&&(c=u);d>h&&(h=d)}p=Math.max(c-o,h-l);p=p!==0?32767/p:0}earcutLinked(s,a,n,o,l,p,0);return a}};function linkedList(t,e,n,i,r){let s,a;if(r===signedArea(t,e,n,i)>0)for(s=e;s<n;s+=i)a=insertNode(s,t[s],t[s+1],a);else for(s=n-i;s>=e;s-=i)a=insertNode(s,t[s],t[s+1],a);if(a&&equals(a,a.next)){removeNode(a);a=a.next}return a}function filterPoints(t,e){if(!t)return t;e||(e=t);let n,i=t;do{n=false;if(i.steiner||!equals(i,i.next)&&area(i.prev,i,i.next)!==0)i=i.next;else{removeNode(i);i=e=i.prev;if(i===i.next)break;n=true}}while(n||i!==e);return e}function earcutLinked(t,e,n,i,r,s,a){if(!t)return;!a&&s&&indexCurve(t,i,r,s);let o,l,c=t;while(t.prev!==t.next){o=t.prev;l=t.next;if(s?isEarHashed(t,i,r,s):isEar(t)){e.push(o.i/n|0);e.push(t.i/n|0);e.push(l.i/n|0);removeNode(t);t=l.next;c=l.next}else{t=l;if(t===c){if(a)if(a===1){t=cureLocalIntersections(filterPoints(t),e,n);earcutLinked(t,e,n,i,r,s,2)}else a===2&&splitEarcut(t,e,n,i,r,s);else earcutLinked(filterPoints(t),e,n,i,r,s,1);break}}}}function isEar(t){const e=t.prev,n=t,i=t.next;if(area(e,n,i)>=0)return false;const r=e.x,s=n.x,a=i.x,o=e.y,l=n.y,c=i.y;const h=r<s?r<a?r:a:s<a?s:a,u=o<l?o<c?o:c:l<c?l:c,d=r>s?r>a?r:a:s>a?s:a,p=o>l?o>c?o:c:l>c?l:c;let f=i.next;while(f!==e){if(f.x>=h&&f.x<=d&&f.y>=u&&f.y<=p&&pointInTriangle(r,o,s,l,a,c,f.x,f.y)&&area(f.prev,f,f.next)>=0)return false;f=f.next}return true}function isEarHashed(t,e,n,i){const r=t.prev,s=t,a=t.next;if(area(r,s,a)>=0)return false;const o=r.x,l=s.x,c=a.x,h=r.y,u=s.y,d=a.y;const p=o<l?o<c?o:c:l<c?l:c,f=h<u?h<d?h:d:u<d?u:d,m=o>l?o>c?o:c:l>c?l:c,g=h>u?h>d?h:d:u>d?u:d;const _=zOrder(p,f,e,n,i),x=zOrder(m,g,e,n,i);let y=t.prevZ,M=t.nextZ;while(y&&y.z>=_&&M&&M.z<=x){if(y.x>=p&&y.x<=m&&y.y>=f&&y.y<=g&&y!==r&&y!==a&&pointInTriangle(o,h,l,u,c,d,y.x,y.y)&&area(y.prev,y,y.next)>=0)return false;y=y.prevZ;if(M.x>=p&&M.x<=m&&M.y>=f&&M.y<=g&&M!==r&&M!==a&&pointInTriangle(o,h,l,u,c,d,M.x,M.y)&&area(M.prev,M,M.next)>=0)return false;M=M.nextZ}while(y&&y.z>=_){if(y.x>=p&&y.x<=m&&y.y>=f&&y.y<=g&&y!==r&&y!==a&&pointInTriangle(o,h,l,u,c,d,y.x,y.y)&&area(y.prev,y,y.next)>=0)return false;y=y.prevZ}while(M&&M.z<=x){if(M.x>=p&&M.x<=m&&M.y>=f&&M.y<=g&&M!==r&&M!==a&&pointInTriangle(o,h,l,u,c,d,M.x,M.y)&&area(M.prev,M,M.next)>=0)return false;M=M.nextZ}return true}function cureLocalIntersections(t,e,n){let i=t;do{const r=i.prev,s=i.next.next;if(!equals(r,s)&&intersects(r,i,i.next,s)&&locallyInside(r,s)&&locallyInside(s,r)){e.push(r.i/n|0);e.push(i.i/n|0);e.push(s.i/n|0);removeNode(i);removeNode(i.next);i=t=s}i=i.next}while(i!==t);return filterPoints(i)}function splitEarcut(t,e,n,i,r,s){let a=t;do{let t=a.next.next;while(t!==a.prev){if(a.i!==t.i&&isValidDiagonal(a,t)){let o=splitPolygon(a,t);a=filterPoints(a,a.next);o=filterPoints(o,o.next);earcutLinked(a,e,n,i,r,s,0);earcutLinked(o,e,n,i,r,s,0);return}t=t.next}a=a.next}while(a!==t)}function eliminateHoles(t,e,n,i){const r=[];let s,a,o,l,c;for(s=0,a=e.length;s<a;s++){o=e[s]*i;l=s<a-1?e[s+1]*i:t.length;c=linkedList(t,o,l,i,false);c===c.next&&(c.steiner=true);r.push(getLeftmost(c))}r.sort(compareX);for(s=0;s<r.length;s++)n=eliminateHole(r[s],n);return n}function compareX(t,e){return t.x-e.x}function eliminateHole(t,e){const n=findHoleBridge(t,e);if(!n)return e;const i=splitPolygon(n,t);filterPoints(i,i.next);return filterPoints(n,n.next)}function findHoleBridge(t,e){let n,i=e,r=-Infinity;const s=t.x,a=t.y;do{if(a<=i.y&&a>=i.next.y&&i.next.y!==i.y){const t=i.x+(a-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(t<=s&&t>r){r=t;n=i.x<i.next.x?i:i.next;if(t===s)return n}}i=i.next}while(i!==e);if(!n)return null;const o=n,l=n.x,c=n.y;let h,u=Infinity;i=n;do{if(s>=i.x&&i.x>=l&&s!==i.x&&pointInTriangle(a<c?s:r,a,l,c,a<c?r:s,a,i.x,i.y)){h=Math.abs(a-i.y)/(s-i.x);if(locallyInside(i,t)&&(h<u||h===u&&(i.x>n.x||i.x===n.x&&sectorContainsSector(n,i)))){n=i;u=h}}i=i.next}while(i!==o);return n}function sectorContainsSector(t,e){return area(t.prev,t,e.prev)<0&&area(e.next,t,t.next)<0}function indexCurve(t,e,n,i){let r=t;do{r.z===0&&(r.z=zOrder(r.x,r.y,e,n,i));r.prevZ=r.prev;r.nextZ=r.next;r=r.next}while(r!==t);r.prevZ.nextZ=null;r.prevZ=null;sortLinked(r)}function sortLinked(t){let e,n,i,r,s,a,o,l,c=1;do{n=t;t=null;s=null;a=0;while(n){a++;i=n;o=0;for(e=0;e<c;e++){o++;i=i.nextZ;if(!i)break}l=c;while(o>0||l>0&&i){if(o!==0&&(l===0||!i||n.z<=i.z)){r=n;n=n.nextZ;o--}else{r=i;i=i.nextZ;l--}s?s.nextZ=r:t=r;r.prevZ=s;s=r}n=i}s.nextZ=null;c*=2}while(a>1);return t}function zOrder(t,e,n,i,r){t=(t-n)*r|0;e=(e-i)*r|0;t=16711935&(t|t<<8);t=252645135&(t|t<<4);t=858993459&(t|t<<2);t=1431655765&(t|t<<1);e=16711935&(e|e<<8);e=252645135&(e|e<<4);e=858993459&(e|e<<2);e=1431655765&(e|e<<1);return t|e<<1}function getLeftmost(t){let e=t,n=t;do{(e.x<n.x||e.x===n.x&&e.y<n.y)&&(n=e);e=e.next}while(e!==t);return n}function pointInTriangle(t,e,n,i,r,s,a,o){return(r-a)*(e-o)>=(t-a)*(s-o)&&(t-a)*(i-o)>=(n-a)*(e-o)&&(n-a)*(s-o)>=(r-a)*(i-o)}function isValidDiagonal(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!intersectsPolygon(t,e)&&(locallyInside(t,e)&&locallyInside(e,t)&&middleInside(t,e)&&(area(t.prev,t,e.prev)||area(t,e.prev,e))||equals(t,e)&&area(t.prev,t,t.next)>0&&area(e.prev,e,e.next)>0)}function area(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function equals(t,e){return t.x===e.x&&t.y===e.y}function intersects(t,e,n,i){const r=sign(area(t,e,n));const s=sign(area(t,e,i));const a=sign(area(n,i,t));const o=sign(area(n,i,e));return r!==s&&a!==o||(!(r!==0||!onSegment(t,n,e))||(!(s!==0||!onSegment(t,i,e))||(!(a!==0||!onSegment(n,t,i))||!(o!==0||!onSegment(n,e,i)))))}function onSegment(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function sign(t){return t>0?1:t<0?-1:0}function intersectsPolygon(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&intersects(n,n.next,t,e))return true;n=n.next}while(n!==t);return false}function locallyInside(t,e){return area(t.prev,t,t.next)<0?area(t,e,t.next)>=0&&area(t,t.prev,e)>=0:area(t,e,t.prev)<0||area(t,t.next,e)<0}function middleInside(t,e){let n=t,i=false;const r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{n.y>s!==n.next.y>s&&n.next.y!==n.y&&r<(n.next.x-n.x)*(s-n.y)/(n.next.y-n.y)+n.x&&(i=!i);n=n.next}while(n!==t);return i}function splitPolygon(t,e){const n=new Node(t.i,t.x,t.y),i=new Node(e.i,e.x,e.y),r=t.next,s=e.prev;t.next=e;e.prev=t;n.next=r;r.prev=n;i.next=n;n.prev=i;s.next=i;i.prev=s;return i}function insertNode(t,e,n,i){const r=new Node(t,e,n);if(i){r.next=i.next;r.prev=i;i.next.prev=r;i.next=r}else{r.prev=r;r.next=r}return r}function removeNode(t){t.next.prev=t.prev;t.prev.next=t.next;t.prevZ&&(t.prevZ.nextZ=t.nextZ);t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Node(t,e,n){this.i=t;this.x=e;this.y=n;this.prev=null;this.next=null;this.z=0;this.prevZ=null;this.nextZ=null;this.steiner=false}function signedArea(t,e,n,i){let r=0;for(let s=e,a=n-i;s<n;s+=i){r+=(t[a]-t[s])*(t[s+1]+t[a+1]);a=s}return r}class ShapeUtils{static area(t){const e=t.length;let n=0;for(let i=e-1,r=0;r<e;i=r++)n+=t[i].x*t[r].y-t[r].x*t[i].y;return n*.5}static isClockWise(t){return ShapeUtils.area(t)<0}static triangulateShape(t,e){const n=[];const i=[];const r=[];removeDupEndPts(t);addContour(n,t);let s=t.length;e.forEach(removeDupEndPts);for(let t=0;t<e.length;t++){i.push(s);s+=e[t].length;addContour(n,e[t])}const a=zc.triangulate(n,i);for(let t=0;t<a.length;t+=3)r.push(a.slice(t,t+3));return r}}function removeDupEndPts(t){const e=t.length;e>2&&t[e-1].equals(t[0])&&t.pop()}function addContour(t,e){for(let n=0;n<e.length;n++){t.push(e[n].x);t.push(e[n].y)}}class ExtrudeGeometry extends BufferGeometry{constructor(t=new Shape([new Vector2(.5,.5),new Vector2(-.5,.5),new Vector2(-.5,-.5),new Vector2(.5,-.5)]),e={}){super();this.type=\"ExtrudeGeometry\";this.parameters={shapes:t,options:e};t=Array.isArray(t)?t:[t];const n=this;const i=[];const r=[];for(let e=0,n=t.length;e<n;e++){const n=t[e];addShape(n)}this.setAttribute(\"position\",new Float32BufferAttribute(i,3));this.setAttribute(\"uv\",new Float32BufferAttribute(r,2));this.computeVertexNormals();function addShape(t){const s=[];const a=e.curveSegments!==void 0?e.curveSegments:12;const o=e.steps!==void 0?e.steps:1;const l=e.depth!==void 0?e.depth:1;let c=e.bevelEnabled===void 0||e.bevelEnabled;let h=e.bevelThickness!==void 0?e.bevelThickness:.2;let u=e.bevelSize!==void 0?e.bevelSize:h-.1;let d=e.bevelOffset!==void 0?e.bevelOffset:0;let p=e.bevelSegments!==void 0?e.bevelSegments:3;const f=e.extrudePath;const m=e.UVGenerator!==void 0?e.UVGenerator:Gc;let g,_=false;let x,y,M,S;if(f){g=f.getSpacedPoints(o);_=true;c=false;x=f.computeFrenetFrames(o,false);y=new Vector3;M=new Vector3;S=new Vector3}if(!c){p=0;h=0;u=0;d=0}const b=t.extractPoints(a);let T=b.shape;const w=b.holes;const E=!ShapeUtils.isClockWise(T);if(E){T=T.reverse();for(let t=0,e=w.length;t<e;t++){const e=w[t];ShapeUtils.isClockWise(e)&&(w[t]=e.reverse())}}const A=ShapeUtils.triangulateShape(T,w);const C=T;for(let t=0,e=w.length;t<e;t++){const e=w[t];T=T.concat(e)}function scalePt2(t,e,n){e||console.error(\"THREE.ExtrudeGeometry: vec does not exist\");return t.clone().addScaledVector(e,n)}const R=T.length,P=A.length;function getBevelVec(t,e,n){let i,r,s;const a=t.x-e.x,o=t.y-e.y;const l=n.x-t.x,c=n.y-t.y;const h=a*a+o*o;const u=a*c-o*l;if(Math.abs(u)>Number.EPSILON){const u=Math.sqrt(h);const d=Math.sqrt(l*l+c*c);const p=e.x-o/u;const f=e.y+a/u;const m=n.x-c/d;const g=n.y+l/d;const _=((m-p)*c-(g-f)*l)/(a*c-o*l);i=p+a*_-t.x;r=f+o*_-t.y;const x=i*i+r*r;if(x<=2)return new Vector2(i,r);s=Math.sqrt(x/2)}else{let t=false;a>Number.EPSILON?l>Number.EPSILON&&(t=true):a<-Number.EPSILON?l<-Number.EPSILON&&(t=true):Math.sign(o)===Math.sign(c)&&(t=true);if(t){i=-o;r=a;s=Math.sqrt(h)}else{i=a;r=o;s=Math.sqrt(h/2)}}return new Vector2(i/s,r/s)}const L=[];for(let t=0,e=C.length,n=e-1,i=t+1;t<e;t++,n++,i++){n===e&&(n=0);i===e&&(i=0);L[t]=getBevelVec(C[t],C[n],C[i])}const I=[];let U,D=L.concat();for(let t=0,e=w.length;t<e;t++){const e=w[t];U=[];for(let t=0,n=e.length,i=n-1,r=t+1;t<n;t++,i++,r++){i===n&&(i=0);r===n&&(r=0);U[t]=getBevelVec(e[t],e[i],e[r])}I.push(U);D=D.concat(U)}for(let t=0;t<p;t++){const e=t/p;const n=h*Math.cos(e*Math.PI/2);const i=u*Math.sin(e*Math.PI/2)+d;for(let t=0,e=C.length;t<e;t++){const e=scalePt2(C[t],L[t],i);v(e.x,e.y,-n)}for(let t=0,e=w.length;t<e;t++){const e=w[t];U=I[t];for(let t=0,r=e.length;t<r;t++){const r=scalePt2(e[t],U[t],i);v(r.x,r.y,-n)}}}const N=u+d;for(let t=0;t<R;t++){const e=c?scalePt2(T[t],D[t],N):T[t];if(_){M.copy(x.normals[0]).multiplyScalar(e.x);y.copy(x.binormals[0]).multiplyScalar(e.y);S.copy(g[0]).add(M).add(y);v(S.x,S.y,S.z)}else v(e.x,e.y,0)}for(let t=1;t<=o;t++)for(let e=0;e<R;e++){const n=c?scalePt2(T[e],D[e],N):T[e];if(_){M.copy(x.normals[t]).multiplyScalar(n.x);y.copy(x.binormals[t]).multiplyScalar(n.y);S.copy(g[t]).add(M).add(y);v(S.x,S.y,S.z)}else v(n.x,n.y,l/o*t)}for(let t=p-1;t>=0;t--){const e=t/p;const n=h*Math.cos(e*Math.PI/2);const i=u*Math.sin(e*Math.PI/2)+d;for(let t=0,e=C.length;t<e;t++){const e=scalePt2(C[t],L[t],i);v(e.x,e.y,l+n)}for(let t=0,e=w.length;t<e;t++){const e=w[t];U=I[t];for(let t=0,r=e.length;t<r;t++){const r=scalePt2(e[t],U[t],i);_?v(r.x,r.y+g[o-1].y,g[o-1].x+n):v(r.x,r.y,l+n)}}}buildLidFaces();buildSideFaces();function buildLidFaces(){const t=i.length/3;if(c){let t=0;let e=R*t;for(let t=0;t<P;t++){const n=A[t];f3(n[2]+e,n[1]+e,n[0]+e)}t=o+p*2;e=R*t;for(let t=0;t<P;t++){const n=A[t];f3(n[0]+e,n[1]+e,n[2]+e)}}else{for(let t=0;t<P;t++){const e=A[t];f3(e[2],e[1],e[0])}for(let t=0;t<P;t++){const e=A[t];f3(e[0]+R*o,e[1]+R*o,e[2]+R*o)}}n.addGroup(t,i.length/3-t,0)}function buildSideFaces(){const t=i.length/3;let e=0;sidewalls(C,e);e+=C.length;for(let t=0,n=w.length;t<n;t++){const n=w[t];sidewalls(n,e);e+=n.length}n.addGroup(t,i.length/3-t,1)}function sidewalls(t,e){let n=t.length;while(--n>=0){const i=n;let r=n-1;r<0&&(r=t.length-1);for(let t=0,n=o+p*2;t<n;t++){const n=R*t;const s=R*(t+1);const a=e+i+n,o=e+r+n,l=e+r+s,c=e+i+s;f4(a,o,l,c)}}}function v(t,e,n){s.push(t);s.push(e);s.push(n)}function f3(t,e,r){addVertex(t);addVertex(e);addVertex(r);const s=i.length/3;const a=m.generateTopUV(n,i,s-3,s-2,s-1);addUV(a[0]);addUV(a[1]);addUV(a[2])}function f4(t,e,r,s){addVertex(t);addVertex(e);addVertex(s);addVertex(e);addVertex(r);addVertex(s);const a=i.length/3;const o=m.generateSideWallUV(n,i,a-6,a-3,a-2,a-1);addUV(o[0]);addUV(o[1]);addUV(o[3]);addUV(o[1]);addUV(o[2]);addUV(o[3])}function addVertex(t){i.push(s[t*3+0]);i.push(s[t*3+1]);i.push(s[t*3+2])}function addUV(t){r.push(t.x);r.push(t.y)}}}copy(t){super.copy(t);this.parameters=Object.assign({},t.parameters);return this}toJSON(){const t=super.toJSON();const e=this.parameters.shapes;const n=this.parameters.options;return toJSON$1(e,n,t)}static fromJSON(t,e){const n=[];for(let i=0,r=t.shapes.length;i<r;i++){const r=e[t.shapes[i]];n.push(r)}const i=t.options.extrudePath;i!==void 0&&(t.options.extrudePath=(new Nc[i.type]).fromJSON(i));return new ExtrudeGeometry(n,t.options)}}const Gc={generateTopUV:function(t,e,n,i,r){const s=e[n*3];const a=e[n*3+1];const o=e[i*3];const l=e[i*3+1];const c=e[r*3];const h=e[r*3+1];return[new Vector2(s,a),new Vector2(o,l),new Vector2(c,h)]},generateSideWallUV:function(t,e,n,i,r,s){const a=e[n*3];const o=e[n*3+1];const l=e[n*3+2];const c=e[i*3];const h=e[i*3+1];const u=e[i*3+2];const d=e[r*3];const p=e[r*3+1];const f=e[r*3+2];const m=e[s*3];const g=e[s*3+1];const _=e[s*3+2];return Math.abs(o-h)<Math.abs(a-c)?[new Vector2(a,1-l),new Vector2(c,1-u),new Vector2(d,1-f),new Vector2(m,1-_)]:[new Vector2(o,1-l),new Vector2(h,1-u),new Vector2(p,1-f),new Vector2(g,1-_)]}};function toJSON$1(t,e,n){n.shapes=[];if(Array.isArray(t))for(let e=0,i=t.length;e<i;e++){const i=t[e];n.shapes.push(i.uuid)}else n.shapes.push(t.uuid);n.options=Object.assign({},e);e.extrudePath!==void 0&&(n.options.extrudePath=e.extrudePath.toJSON());return n}class IcosahedronGeometry extends PolyhedronGeometry{constructor(t=1,e=0){const n=(1+Math.sqrt(5))/2;const i=[-1,n,0,1,n,0,-1,-n,0,1,-n,0,0,-1,n,0,1,n,0,-1,-n,0,1,-n,n,0,-1,n,0,1,-n,0,-1,-n,0,1];const r=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1];super(i,r,t,e);this.type=\"IcosahedronGeometry\";this.parameters={radius:t,detail:e}}static fromJSON(t){return new IcosahedronGeometry(t.radius,t.detail)}}class OctahedronGeometry extends PolyhedronGeometry{constructor(t=1,e=0){const n=[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1];const i=[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2];super(n,i,t,e);this.type=\"OctahedronGeometry\";this.parameters={radius:t,detail:e}}static fromJSON(t){return new OctahedronGeometry(t.radius,t.detail)}}class RingGeometry extends BufferGeometry{constructor(t=.5,e=1,n=32,i=1,r=0,s=Math.PI*2){super();this.type=\"RingGeometry\";this.parameters={innerRadius:t,outerRadius:e,thetaSegments:n,phiSegments:i,thetaStart:r,thetaLength:s};n=Math.max(3,n);i=Math.max(1,i);const a=[];const o=[];const l=[];const c=[];let h=t;const u=(e-t)/i;const d=new Vector3;const p=new Vector2;for(let t=0;t<=i;t++){for(let t=0;t<=n;t++){const i=r+t/n*s;d.x=h*Math.cos(i);d.y=h*Math.sin(i);o.push(d.x,d.y,d.z);l.push(0,0,1);p.x=(d.x/e+1)/2;p.y=(d.y/e+1)/2;c.push(p.x,p.y)}h+=u}for(let t=0;t<i;t++){const e=t*(n+1);for(let t=0;t<n;t++){const i=t+e;const r=i;const s=i+n+1;const o=i+n+2;const l=i+1;a.push(r,s,l);a.push(s,o,l)}}this.setIndex(a);this.setAttribute(\"position\",new Float32BufferAttribute(o,3));this.setAttribute(\"normal\",new Float32BufferAttribute(l,3));this.setAttribute(\"uv\",new Float32BufferAttribute(c,2))}copy(t){super.copy(t);this.parameters=Object.assign({},t.parameters);return this}static fromJSON(t){return new RingGeometry(t.innerRadius,t.outerRadius,t.thetaSegments,t.phiSegments,t.thetaStart,t.thetaLength)}}class ShapeGeometry extends BufferGeometry{constructor(t=new Shape([new Vector2(0,.5),new Vector2(-.5,-.5),new Vector2(.5,-.5)]),e=12){super();this.type=\"ShapeGeometry\";this.parameters={shapes:t,curveSegments:e};const n=[];const i=[];const r=[];const s=[];let a=0;let o=0;if(Array.isArray(t)===false)addShape(t);else for(let e=0;e<t.length;e++){addShape(t[e]);this.addGroup(a,o,e);a+=o;o=0}this.setIndex(n);this.setAttribute(\"position\",new Float32BufferAttribute(i,3));this.setAttribute(\"normal\",new Float32BufferAttribute(r,3));this.setAttribute(\"uv\",new Float32BufferAttribute(s,2));function addShape(t){const a=i.length/3;const l=t.extractPoints(e);let c=l.shape;const h=l.holes;ShapeUtils.isClockWise(c)===false&&(c=c.reverse());for(let t=0,e=h.length;t<e;t++){const e=h[t];ShapeUtils.isClockWise(e)===true&&(h[t]=e.reverse())}const u=ShapeUtils.triangulateShape(c,h);for(let t=0,e=h.length;t<e;t++){const e=h[t];c=c.concat(e)}for(let t=0,e=c.length;t<e;t++){const e=c[t];i.push(e.x,e.y,0);r.push(0,0,1);s.push(e.x,e.y)}for(let t=0,e=u.length;t<e;t++){const e=u[t];const i=e[0]+a;const r=e[1]+a;const s=e[2]+a;n.push(i,r,s);o+=3}}}copy(t){super.copy(t);this.parameters=Object.assign({},t.parameters);return this}toJSON(){const t=super.toJSON();const e=this.parameters.shapes;return toJSON(e,t)}static fromJSON(t,e){const n=[];for(let i=0,r=t.shapes.length;i<r;i++){const r=e[t.shapes[i]];n.push(r)}return new ShapeGeometry(n,t.curveSegments)}}function toJSON(t,e){e.shapes=[];if(Array.isArray(t))for(let n=0,i=t.length;n<i;n++){const i=t[n];e.shapes.push(i.uuid)}else e.shapes.push(t.uuid);return e}class SphereGeometry extends BufferGeometry{constructor(t=1,e=32,n=16,i=0,r=Math.PI*2,s=0,a=Math.PI){super();this.type=\"SphereGeometry\";this.parameters={radius:t,widthSegments:e,heightSegments:n,phiStart:i,phiLength:r,thetaStart:s,thetaLength:a};e=Math.max(3,Math.floor(e));n=Math.max(2,Math.floor(n));const o=Math.min(s+a,Math.PI);let l=0;const c=[];const h=new Vector3;const u=new Vector3;const d=[];const p=[];const f=[];const m=[];for(let d=0;d<=n;d++){const g=[];const _=d/n;let x=0;d===0&&s===0?x=.5/e:d===n&&o===Math.PI&&(x=-.5/e);for(let n=0;n<=e;n++){const o=n/e;h.x=-t*Math.cos(i+o*r)*Math.sin(s+_*a);h.y=t*Math.cos(s+_*a);h.z=t*Math.sin(i+o*r)*Math.sin(s+_*a);p.push(h.x,h.y,h.z);u.copy(h).normalize();f.push(u.x,u.y,u.z);m.push(o+x,1-_);g.push(l++)}c.push(g)}for(let t=0;t<n;t++)for(let i=0;i<e;i++){const e=c[t][i+1];const r=c[t][i];const a=c[t+1][i];const l=c[t+1][i+1];(t!==0||s>0)&&d.push(e,r,l);(t!==n-1||o<Math.PI)&&d.push(r,a,l)}this.setIndex(d);this.setAttribute(\"position\",new Float32BufferAttribute(p,3));this.setAttribute(\"normal\",new Float32BufferAttribute(f,3));this.setAttribute(\"uv\",new Float32BufferAttribute(m,2))}copy(t){super.copy(t);this.parameters=Object.assign({},t.parameters);return this}static fromJSON(t){return new SphereGeometry(t.radius,t.widthSegments,t.heightSegments,t.phiStart,t.phiLength,t.thetaStart,t.thetaLength)}}class TetrahedronGeometry extends PolyhedronGeometry{constructor(t=1,e=0){const n=[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1];const i=[2,1,0,0,3,2,1,3,0,2,3,1];super(n,i,t,e);this.type=\"TetrahedronGeometry\";this.parameters={radius:t,detail:e}}static fromJSON(t){return new TetrahedronGeometry(t.radius,t.detail)}}class TorusGeometry extends BufferGeometry{constructor(t=1,e=.4,n=12,i=48,r=Math.PI*2){super();this.type=\"TorusGeometry\";this.parameters={radius:t,tube:e,radialSegments:n,tubularSegments:i,arc:r};n=Math.floor(n);i=Math.floor(i);const s=[];const a=[];const o=[];const l=[];const c=new Vector3;const h=new Vector3;const u=new Vector3;for(let s=0;s<=n;s++)for(let d=0;d<=i;d++){const p=d/i*r;const f=s/n*Math.PI*2;h.x=(t+e*Math.cos(f))*Math.cos(p);h.y=(t+e*Math.cos(f))*Math.sin(p);h.z=e*Math.sin(f);a.push(h.x,h.y,h.z);c.x=t*Math.cos(p);c.y=t*Math.sin(p);u.subVectors(h,c).normalize();o.push(u.x,u.y,u.z);l.push(d/i);l.push(s/n)}for(let t=1;t<=n;t++)for(let e=1;e<=i;e++){const n=(i+1)*t+e-1;const r=(i+1)*(t-1)+e-1;const a=(i+1)*(t-1)+e;const o=(i+1)*t+e;s.push(n,r,o);s.push(r,a,o)}this.setIndex(s);this.setAttribute(\"position\",new Float32BufferAttribute(a,3));this.setAttribute(\"normal\",new Float32BufferAttribute(o,3));this.setAttribute(\"uv\",new Float32BufferAttribute(l,2))}copy(t){super.copy(t);this.parameters=Object.assign({},t.parameters);return this}static fromJSON(t){return new TorusGeometry(t.radius,t.tube,t.radialSegments,t.tubularSegments,t.arc)}}class TorusKnotGeometry extends BufferGeometry{constructor(t=1,e=.4,n=64,i=8,r=2,s=3){super();this.type=\"TorusKnotGeometry\";this.parameters={radius:t,tube:e,tubularSegments:n,radialSegments:i,p:r,q:s};n=Math.floor(n);i=Math.floor(i);const a=[];const o=[];const l=[];const c=[];const h=new Vector3;const u=new Vector3;const d=new Vector3;const p=new Vector3;const f=new Vector3;const m=new Vector3;const g=new Vector3;for(let a=0;a<=n;++a){const _=a/n*r*Math.PI*2;calculatePositionOnCurve(_,r,s,t,d);calculatePositionOnCurve(_+.01,r,s,t,p);m.subVectors(p,d);g.addVectors(p,d);f.crossVectors(m,g);g.crossVectors(f,m);f.normalize();g.normalize();for(let t=0;t<=i;++t){const r=t/i*Math.PI*2;const s=-e*Math.cos(r);const p=e*Math.sin(r);h.x=d.x+(s*g.x+p*f.x);h.y=d.y+(s*g.y+p*f.y);h.z=d.z+(s*g.z+p*f.z);o.push(h.x,h.y,h.z);u.subVectors(h,d).normalize();l.push(u.x,u.y,u.z);c.push(a/n);c.push(t/i)}}for(let t=1;t<=n;t++)for(let e=1;e<=i;e++){const n=(i+1)*(t-1)+(e-1);const r=(i+1)*t+(e-1);const s=(i+1)*t+e;const o=(i+1)*(t-1)+e;a.push(n,r,o);a.push(r,s,o)}this.setIndex(a);this.setAttribute(\"position\",new Float32BufferAttribute(o,3));this.setAttribute(\"normal\",new Float32BufferAttribute(l,3));this.setAttribute(\"uv\",new Float32BufferAttribute(c,2));function calculatePositionOnCurve(t,e,n,i,r){const s=Math.cos(t);const a=Math.sin(t);const o=n/e*t;const l=Math.cos(o);r.x=i*(2+l)*.5*s;r.y=i*(2+l)*a*.5;r.z=i*Math.sin(o)*.5}}copy(t){super.copy(t);this.parameters=Object.assign({},t.parameters);return this}static fromJSON(t){return new TorusKnotGeometry(t.radius,t.tube,t.tubularSegments,t.radialSegments,t.p,t.q)}}class TubeGeometry extends BufferGeometry{constructor(t=new QuadraticBezierCurve3(new Vector3(-1,-1,0),new Vector3(-1,1,0),new Vector3(1,1,0)),e=64,n=1,i=8,r=false){super();this.type=\"TubeGeometry\";this.parameters={path:t,tubularSegments:e,radius:n,radialSegments:i,closed:r};const s=t.computeFrenetFrames(e,r);this.tangents=s.tangents;this.normals=s.normals;this.binormals=s.binormals;const a=new Vector3;const o=new Vector3;const l=new Vector2;let c=new Vector3;const h=[];const u=[];const d=[];const p=[];generateBufferData();this.setIndex(p);this.setAttribute(\"position\",new Float32BufferAttribute(h,3));this.setAttribute(\"normal\",new Float32BufferAttribute(u,3));this.setAttribute(\"uv\",new Float32BufferAttribute(d,2));function generateBufferData(){for(let t=0;t<e;t++)generateSegment(t);generateSegment(r===false?e:0);generateUVs();generateIndices()}function generateSegment(r){c=t.getPointAt(r/e,c);const l=s.normals[r];const d=s.binormals[r];for(let t=0;t<=i;t++){const e=t/i*Math.PI*2;const r=Math.sin(e);const s=-Math.cos(e);o.x=s*l.x+r*d.x;o.y=s*l.y+r*d.y;o.z=s*l.z+r*d.z;o.normalize();u.push(o.x,o.y,o.z);a.x=c.x+n*o.x;a.y=c.y+n*o.y;a.z=c.z+n*o.z;h.push(a.x,a.y,a.z)}}function generateIndices(){for(let t=1;t<=e;t++)for(let e=1;e<=i;e++){const n=(i+1)*(t-1)+(e-1);const r=(i+1)*t+(e-1);const s=(i+1)*t+e;const a=(i+1)*(t-1)+e;p.push(n,r,a);p.push(r,s,a)}}function generateUVs(){for(let t=0;t<=e;t++)for(let n=0;n<=i;n++){l.x=t/e;l.y=n/i;d.push(l.x,l.y)}}}copy(t){super.copy(t);this.parameters=Object.assign({},t.parameters);return this}toJSON(){const t=super.toJSON();t.path=this.parameters.path.toJSON();return t}static fromJSON(t){return new TubeGeometry((new Nc[t.path.type]).fromJSON(t.path),t.tubularSegments,t.radius,t.radialSegments,t.closed)}}class WireframeGeometry extends BufferGeometry{constructor(t=null){super();this.type=\"WireframeGeometry\";this.parameters={geometry:t};if(t!==null){const e=[];const n=new Set;const i=new Vector3;const r=new Vector3;if(t.index!==null){const s=t.attributes.position;const a=t.index;let o=t.groups;o.length===0&&(o=[{start:0,count:a.count,materialIndex:0}]);for(let t=0,l=o.length;t<l;++t){const l=o[t];const c=l.start;const h=l.count;for(let t=c,o=c+h;t<o;t+=3)for(let o=0;o<3;o++){const l=a.getX(t+o);const c=a.getX(t+(o+1)%3);i.fromBufferAttribute(s,l);r.fromBufferAttribute(s,c);if(isUniqueEdge(i,r,n)===true){e.push(i.x,i.y,i.z);e.push(r.x,r.y,r.z)}}}}else{const s=t.attributes.position;for(let t=0,a=s.count/3;t<a;t++)for(let a=0;a<3;a++){const o=3*t+a;const l=3*t+(a+1)%3;i.fromBufferAttribute(s,o);r.fromBufferAttribute(s,l);if(isUniqueEdge(i,r,n)===true){e.push(i.x,i.y,i.z);e.push(r.x,r.y,r.z)}}}this.setAttribute(\"position\",new Float32BufferAttribute(e,3))}}copy(t){super.copy(t);this.parameters=Object.assign({},t.parameters);return this}}function isUniqueEdge(t,e,n){const i=`${t.x},${t.y},${t.z}-${e.x},${e.y},${e.z}`;const r=`${e.x},${e.y},${e.z}-${t.x},${t.y},${t.z}`;if(n.has(i)===true||n.has(r)===true)return false;n.add(i);n.add(r);return true}var kc=Object.freeze({__proto__:null,BoxGeometry:BoxGeometry,CapsuleGeometry:CapsuleGeometry,CircleGeometry:CircleGeometry,ConeGeometry:ConeGeometry,CylinderGeometry:CylinderGeometry,DodecahedronGeometry:DodecahedronGeometry,EdgesGeometry:EdgesGeometry,ExtrudeGeometry:ExtrudeGeometry,IcosahedronGeometry:IcosahedronGeometry,LatheGeometry:LatheGeometry,OctahedronGeometry:OctahedronGeometry,PlaneGeometry:PlaneGeometry,PolyhedronGeometry:PolyhedronGeometry,RingGeometry:RingGeometry,ShapeGeometry:ShapeGeometry,SphereGeometry:SphereGeometry,TetrahedronGeometry:TetrahedronGeometry,TorusGeometry:TorusGeometry,TorusKnotGeometry:TorusKnotGeometry,TubeGeometry:TubeGeometry,WireframeGeometry:WireframeGeometry});class ShadowMaterial extends Material{constructor(t){super();this.isShadowMaterial=true;this.type=\"ShadowMaterial\";this.color=new Color(0);this.transparent=true;this.fog=true;this.setValues(t)}copy(t){super.copy(t);this.color.copy(t.color);this.fog=t.fog;return this}}class RawShaderMaterial extends ShaderMaterial{constructor(t){super(t);this.isRawShaderMaterial=true;this.type=\"RawShaderMaterial\"}}class MeshStandardMaterial extends Material{constructor(t){super();this.isMeshStandardMaterial=true;this.defines={STANDARD:\"\"};this.type=\"MeshStandardMaterial\";this.color=new Color(16777215);this.roughness=1;this.metalness=0;this.map=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new Color(0);this.emissiveIntensity=1;this.emissiveMap=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=je;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.roughnessMap=null;this.metalnessMap=null;this.alphaMap=null;this.envMap=null;this.envMapRotation=new Euler;this.envMapIntensity=1;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.flatShading=false;this.fog=true;this.setValues(t)}copy(t){super.copy(t);this.defines={STANDARD:\"\"};this.color.copy(t.color);this.roughness=t.roughness;this.metalness=t.metalness;this.map=t.map;this.lightMap=t.lightMap;this.lightMapIntensity=t.lightMapIntensity;this.aoMap=t.aoMap;this.aoMapIntensity=t.aoMapIntensity;this.emissive.copy(t.emissive);this.emissiveMap=t.emissiveMap;this.emissiveIntensity=t.emissiveIntensity;this.bumpMap=t.bumpMap;this.bumpScale=t.bumpScale;this.normalMap=t.normalMap;this.normalMapType=t.normalMapType;this.normalScale.copy(t.normalScale);this.displacementMap=t.displacementMap;this.displacementScale=t.displacementScale;this.displacementBias=t.displacementBias;this.roughnessMap=t.roughnessMap;this.metalnessMap=t.metalnessMap;this.alphaMap=t.alphaMap;this.envMap=t.envMap;this.envMapRotation.copy(t.envMapRotation);this.envMapIntensity=t.envMapIntensity;this.wireframe=t.wireframe;this.wireframeLinewidth=t.wireframeLinewidth;this.wireframeLinecap=t.wireframeLinecap;this.wireframeLinejoin=t.wireframeLinejoin;this.flatShading=t.flatShading;this.fog=t.fog;return this}}class MeshPhysicalMaterial extends MeshStandardMaterial{constructor(t){super();this.isMeshPhysicalMaterial=true;this.defines={STANDARD:\"\",PHYSICAL:\"\"};this.type=\"MeshPhysicalMaterial\";this.anisotropyRotation=0;this.anisotropyMap=null;this.clearcoatMap=null;this.clearcoatRoughness=0;this.clearcoatRoughnessMap=null;this.clearcoatNormalScale=new Vector2(1,1);this.clearcoatNormalMap=null;this.ior=1.5;Object.defineProperty(this,\"reflectivity\",{get:function(){return clamp(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(t){this.ior=(1+.4*t)/(1-.4*t)}});this.iridescenceMap=null;this.iridescenceIOR=1.3;this.iridescenceThicknessRange=[100,400];this.iridescenceThicknessMap=null;this.sheenColor=new Color(0);this.sheenColorMap=null;this.sheenRoughness=1;this.sheenRoughnessMap=null;this.transmissionMap=null;this.thickness=0;this.thicknessMap=null;this.attenuationDistance=Infinity;this.attenuationColor=new Color(1,1,1);this.specularIntensity=1;this.specularIntensityMap=null;this.specularColor=new Color(1,1,1);this.specularColorMap=null;this._anisotropy=0;this._clearcoat=0;this._dispersion=0;this._iridescence=0;this._sheen=0;this._transmission=0;this.setValues(t)}get anisotropy(){return this._anisotropy}set anisotropy(t){this._anisotropy>0!==t>0&&this.version++;this._anisotropy=t}get clearcoat(){return this._clearcoat}set clearcoat(t){this._clearcoat>0!==t>0&&this.version++;this._clearcoat=t}get iridescence(){return this._iridescence}set iridescence(t){this._iridescence>0!==t>0&&this.version++;this._iridescence=t}get dispersion(){return this._dispersion}set dispersion(t){this._dispersion>0!==t>0&&this.version++;this._dispersion=t}get sheen(){return this._sheen}set sheen(t){this._sheen>0!==t>0&&this.version++;this._sheen=t}get transmission(){return this._transmission}set transmission(t){this._transmission>0!==t>0&&this.version++;this._transmission=t}copy(t){super.copy(t);this.defines={STANDARD:\"\",PHYSICAL:\"\"};this.anisotropy=t.anisotropy;this.anisotropyRotation=t.anisotropyRotation;this.anisotropyMap=t.anisotropyMap;this.clearcoat=t.clearcoat;this.clearcoatMap=t.clearcoatMap;this.clearcoatRoughness=t.clearcoatRoughness;this.clearcoatRoughnessMap=t.clearcoatRoughnessMap;this.clearcoatNormalMap=t.clearcoatNormalMap;this.clearcoatNormalScale.copy(t.clearcoatNormalScale);this.dispersion=t.dispersion;this.ior=t.ior;this.iridescence=t.iridescence;this.iridescenceMap=t.iridescenceMap;this.iridescenceIOR=t.iridescenceIOR;this.iridescenceThicknessRange=[...t.iridescenceThicknessRange];this.iridescenceThicknessMap=t.iridescenceThicknessMap;this.sheen=t.sheen;this.sheenColor.copy(t.sheenColor);this.sheenColorMap=t.sheenColorMap;this.sheenRoughness=t.sheenRoughness;this.sheenRoughnessMap=t.sheenRoughnessMap;this.transmission=t.transmission;this.transmissionMap=t.transmissionMap;this.thickness=t.thickness;this.thicknessMap=t.thicknessMap;this.attenuationDistance=t.attenuationDistance;this.attenuationColor.copy(t.attenuationColor);this.specularIntensity=t.specularIntensity;this.specularIntensityMap=t.specularIntensityMap;this.specularColor.copy(t.specularColor);this.specularColorMap=t.specularColorMap;return this}}class MeshPhongMaterial extends Material{constructor(t){super();this.isMeshPhongMaterial=true;this.type=\"MeshPhongMaterial\";this.color=new Color(16777215);this.specular=new Color(1118481);this.shininess=30;this.map=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new Color(0);this.emissiveIntensity=1;this.emissiveMap=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=je;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.specularMap=null;this.alphaMap=null;this.envMap=null;this.envMapRotation=new Euler;this.combine=K;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.flatShading=false;this.fog=true;this.setValues(t)}copy(t){super.copy(t);this.color.copy(t.color);this.specular.copy(t.specular);this.shininess=t.shininess;this.map=t.map;this.lightMap=t.lightMap;this.lightMapIntensity=t.lightMapIntensity;this.aoMap=t.aoMap;this.aoMapIntensity=t.aoMapIntensity;this.emissive.copy(t.emissive);this.emissiveMap=t.emissiveMap;this.emissiveIntensity=t.emissiveIntensity;this.bumpMap=t.bumpMap;this.bumpScale=t.bumpScale;this.normalMap=t.normalMap;this.normalMapType=t.normalMapType;this.normalScale.copy(t.normalScale);this.displacementMap=t.displacementMap;this.displacementScale=t.displacementScale;this.displacementBias=t.displacementBias;this.specularMap=t.specularMap;this.alphaMap=t.alphaMap;this.envMap=t.envMap;this.envMapRotation.copy(t.envMapRotation);this.combine=t.combine;this.reflectivity=t.reflectivity;this.refractionRatio=t.refractionRatio;this.wireframe=t.wireframe;this.wireframeLinewidth=t.wireframeLinewidth;this.wireframeLinecap=t.wireframeLinecap;this.wireframeLinejoin=t.wireframeLinejoin;this.flatShading=t.flatShading;this.fog=t.fog;return this}}class MeshToonMaterial extends Material{constructor(t){super();this.isMeshToonMaterial=true;this.defines={TOON:\"\"};this.type=\"MeshToonMaterial\";this.color=new Color(16777215);this.map=null;this.gradientMap=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new Color(0);this.emissiveIntensity=1;this.emissiveMap=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=je;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.alphaMap=null;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.fog=true;this.setValues(t)}copy(t){super.copy(t);this.color.copy(t.color);this.map=t.map;this.gradientMap=t.gradientMap;this.lightMap=t.lightMap;this.lightMapIntensity=t.lightMapIntensity;this.aoMap=t.aoMap;this.aoMapIntensity=t.aoMapIntensity;this.emissive.copy(t.emissive);this.emissiveMap=t.emissiveMap;this.emissiveIntensity=t.emissiveIntensity;this.bumpMap=t.bumpMap;this.bumpScale=t.bumpScale;this.normalMap=t.normalMap;this.normalMapType=t.normalMapType;this.normalScale.copy(t.normalScale);this.displacementMap=t.displacementMap;this.displacementScale=t.displacementScale;this.displacementBias=t.displacementBias;this.alphaMap=t.alphaMap;this.wireframe=t.wireframe;this.wireframeLinewidth=t.wireframeLinewidth;this.wireframeLinecap=t.wireframeLinecap;this.wireframeLinejoin=t.wireframeLinejoin;this.fog=t.fog;return this}}class MeshNormalMaterial extends Material{constructor(t){super();this.isMeshNormalMaterial=true;this.type=\"MeshNormalMaterial\";this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=je;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=false;this.wireframeLinewidth=1;this.flatShading=false;this.setValues(t)}copy(t){super.copy(t);this.bumpMap=t.bumpMap;this.bumpScale=t.bumpScale;this.normalMap=t.normalMap;this.normalMapType=t.normalMapType;this.normalScale.copy(t.normalScale);this.displacementMap=t.displacementMap;this.displacementScale=t.displacementScale;this.displacementBias=t.displacementBias;this.wireframe=t.wireframe;this.wireframeLinewidth=t.wireframeLinewidth;this.flatShading=t.flatShading;return this}}class MeshLambertMaterial extends Material{constructor(t){super();this.isMeshLambertMaterial=true;this.type=\"MeshLambertMaterial\";this.color=new Color(16777215);this.map=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new Color(0);this.emissiveIntensity=1;this.emissiveMap=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=je;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.specularMap=null;this.alphaMap=null;this.envMap=null;this.envMapRotation=new Euler;this.combine=K;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.flatShading=false;this.fog=true;this.setValues(t)}copy(t){super.copy(t);this.color.copy(t.color);this.map=t.map;this.lightMap=t.lightMap;this.lightMapIntensity=t.lightMapIntensity;this.aoMap=t.aoMap;this.aoMapIntensity=t.aoMapIntensity;this.emissive.copy(t.emissive);this.emissiveMap=t.emissiveMap;this.emissiveIntensity=t.emissiveIntensity;this.bumpMap=t.bumpMap;this.bumpScale=t.bumpScale;this.normalMap=t.normalMap;this.normalMapType=t.normalMapType;this.normalScale.copy(t.normalScale);this.displacementMap=t.displacementMap;this.displacementScale=t.displacementScale;this.displacementBias=t.displacementBias;this.specularMap=t.specularMap;this.alphaMap=t.alphaMap;this.envMap=t.envMap;this.envMapRotation.copy(t.envMapRotation);this.combine=t.combine;this.reflectivity=t.reflectivity;this.refractionRatio=t.refractionRatio;this.wireframe=t.wireframe;this.wireframeLinewidth=t.wireframeLinewidth;this.wireframeLinecap=t.wireframeLinecap;this.wireframeLinejoin=t.wireframeLinejoin;this.flatShading=t.flatShading;this.fog=t.fog;return this}}class MeshMatcapMaterial extends Material{constructor(t){super();this.isMeshMatcapMaterial=true;this.defines={MATCAP:\"\"};this.type=\"MeshMatcapMaterial\";this.color=new Color(16777215);this.matcap=null;this.map=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=je;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.alphaMap=null;this.flatShading=false;this.fog=true;this.setValues(t)}copy(t){super.copy(t);this.defines={MATCAP:\"\"};this.color.copy(t.color);this.matcap=t.matcap;this.map=t.map;this.bumpMap=t.bumpMap;this.bumpScale=t.bumpScale;this.normalMap=t.normalMap;this.normalMapType=t.normalMapType;this.normalScale.copy(t.normalScale);this.displacementMap=t.displacementMap;this.displacementScale=t.displacementScale;this.displacementBias=t.displacementBias;this.alphaMap=t.alphaMap;this.flatShading=t.flatShading;this.fog=t.fog;return this}}class LineDashedMaterial extends LineBasicMaterial{constructor(t){super();this.isLineDashedMaterial=true;this.type=\"LineDashedMaterial\";this.scale=1;this.dashSize=3;this.gapSize=1;this.setValues(t)}copy(t){super.copy(t);this.scale=t.scale;this.dashSize=t.dashSize;this.gapSize=t.gapSize;return this}}function convertArray(t,e,n){return!t||!n&&t.constructor===e?t:typeof e.BYTES_PER_ELEMENT===\"number\"?new e(t):Array.prototype.slice.call(t)}function isTypedArray(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function getKeyframeOrder(t){function compareTime(e,n){return t[e]-t[n]}const e=t.length;const n=new Array(e);for(let t=0;t!==e;++t)n[t]=t;n.sort(compareTime);return n}function sortedArray(t,e,n){const i=t.length;const r=new t.constructor(i);for(let s=0,a=0;a!==i;++s){const i=n[s]*e;for(let n=0;n!==e;++n)r[a++]=t[i+n]}return r}function flattenJSON(t,e,n,i){let r=1,s=t[0];while(s!==void 0&&s[i]===void 0)s=t[r++];if(s===void 0)return;let a=s[i];if(a!==void 0)if(Array.isArray(a))do{a=s[i];if(a!==void 0){e.push(s.time);n.push.apply(n,a)}s=t[r++]}while(s!==void 0);else if(a.toArray!==void 0)do{a=s[i];if(a!==void 0){e.push(s.time);a.toArray(n,n.length)}s=t[r++]}while(s!==void 0);else do{a=s[i];if(a!==void 0){e.push(s.time);n.push(a)}s=t[r++]}while(s!==void 0)}function subclip(t,e,n,i,r=30){const s=t.clone();s.name=e;const a=[];for(let t=0;t<s.tracks.length;++t){const e=s.tracks[t];const o=e.getValueSize();const l=[];const c=[];for(let t=0;t<e.times.length;++t){const s=e.times[t]*r;if(!(s<n||s>=i)){l.push(e.times[t]);for(let n=0;n<o;++n)c.push(e.values[t*o+n])}}if(l.length!==0){e.times=convertArray(l,e.times.constructor);e.values=convertArray(c,e.values.constructor);a.push(e)}}s.tracks=a;let o=Infinity;for(let t=0;t<s.tracks.length;++t)o>s.tracks[t].times[0]&&(o=s.tracks[t].times[0]);for(let t=0;t<s.tracks.length;++t)s.tracks[t].shift(-1*o);s.resetDuration();return s}function makeClipAdditive(t,e=0,n=t,i=30){i<=0&&(i=30);const r=n.tracks.length;const s=e/i;for(let e=0;e<r;++e){const i=n.tracks[e];const r=i.ValueTypeName;if(r===\"bool\"||r===\"string\")continue;const a=t.tracks.find((function(t){return t.name===i.name&&t.ValueTypeName===r}));if(a===void 0)continue;let o=0;const l=i.getValueSize();i.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(o=l/3);let c=0;const h=a.getValueSize();a.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(c=h/3);const u=i.times.length-1;let d;if(s<=i.times[0]){const t=o;const e=l-o;d=i.values.slice(t,e)}else if(s>=i.times[u]){const t=u*l+o;const e=t+l-o;d=i.values.slice(t,e)}else{const t=i.createInterpolant();const e=o;const n=l-o;t.evaluate(s);d=t.resultBuffer.slice(e,n)}if(r===\"quaternion\"){const t=(new Quaternion).fromArray(d).normalize().conjugate();t.toArray(d)}const p=a.times.length;for(let t=0;t<p;++t){const e=t*h+c;if(r===\"quaternion\")Quaternion.multiplyQuaternionsFlat(a.values,e,d,0,a.values,e);else{const t=h-c*2;for(let n=0;n<t;++n)a.values[e+n]-=d[n]}}}t.blendMode=ze;return t}const Hc={convertArray:convertArray,isTypedArray:isTypedArray,getKeyframeOrder:getKeyframeOrder,sortedArray:sortedArray,flattenJSON:flattenJSON,subclip:subclip,makeClipAdditive:makeClipAdditive};class Interpolant{constructor(t,e,n,i){this.parameterPositions=t;this._cachedIndex=0;this.resultBuffer=i!==void 0?i:new e.constructor(n);this.sampleValues=e;this.valueSize=n;this.settings=null;this.DefaultSettings_={}}evaluate(t){const e=this.parameterPositions;let n=this._cachedIndex,i=e[n],r=e[n-1];t:{e:{let s;n:{i:if(!(t<i)){for(let s=n+2;;){if(i===void 0){if(t<r)break i;n=e.length;this._cachedIndex=n;return this.copySampleValue_(n-1)}if(n===s)break;r=i;i=e[++n];if(t<i)break e}s=e.length;break n}if(t>=r)break t;{const a=e[1];if(t<a){n=2;r=a}for(let s=n-2;;){if(r===void 0){this._cachedIndex=0;return this.copySampleValue_(0)}if(n===s)break;i=r;r=e[--n-1];if(t>=r)break e}s=n;n=0}}while(n<s){const i=n+s>>>1;t<e[i]?s=i:n=i+1}i=e[n];r=e[n-1];if(r===void 0){this._cachedIndex=0;return this.copySampleValue_(0)}if(i===void 0){n=e.length;this._cachedIndex=n;return this.copySampleValue_(n-1)}}this._cachedIndex=n;this.intervalChanged_(n,r,i)}return this.interpolate_(n,r,t,i)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(t){const e=this.resultBuffer,n=this.sampleValues,i=this.valueSize,r=t*i;for(let t=0;t!==i;++t)e[t]=n[r+t];return e}interpolate_(){throw new Error(\"call to abstract method\")}intervalChanged_(){}}class CubicInterpolant extends Interpolant{constructor(t,e,n,i){super(t,e,n,i);this._weightPrev=-0;this._offsetPrev=-0;this._weightNext=-0;this._offsetNext=-0;this.DefaultSettings_={endingStart:Be,endingEnd:Be}}intervalChanged_(t,e,n){const i=this.parameterPositions;let r=t-2,s=t+1,a=i[r],o=i[s];if(a===void 0)switch(this.getSettings_().endingStart){case Oe:r=t;a=2*e-n;break;case Ve:r=i.length-2;a=e+i[r]-i[r+1];break;default:r=t;a=n}if(o===void 0)switch(this.getSettings_().endingEnd){case Oe:s=t;o=2*n-e;break;case Ve:s=1;o=n+i[1]-i[0];break;default:s=t-1;o=e}const l=.5*(n-e),c=this.valueSize;this._weightPrev=l/(e-a);this._weightNext=l/(o-n);this._offsetPrev=r*c;this._offsetNext=s*c}interpolate_(t,e,n,i){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=t*a,l=o-a,c=this._offsetPrev,h=this._offsetNext,u=this._weightPrev,d=this._weightNext,p=(n-e)/(i-e),f=p*p,m=f*p;const g=-u*m+2*u*f-u*p;const _=(1+u)*m+(-1.5-2*u)*f+(-.5+u)*p+1;const x=(-1-d)*m+(1.5+d)*f+.5*p;const y=d*m-d*f;for(let t=0;t!==a;++t)r[t]=g*s[c+t]+_*s[l+t]+x*s[o+t]+y*s[h+t];return r}}class LinearInterpolant extends Interpolant{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t,e,n,i){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=t*a,l=o-a,c=(n-e)/(i-e),h=1-c;for(let t=0;t!==a;++t)r[t]=s[l+t]*h+s[o+t]*c;return r}}class DiscreteInterpolant extends Interpolant{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t){return this.copySampleValue_(t-1)}}class KeyframeTrack{constructor(t,e,n,i){if(t===void 0)throw new Error(\"THREE.KeyframeTrack: track name is undefined\");if(e===void 0||e.length===0)throw new Error(\"THREE.KeyframeTrack: no keyframes in track named \"+t);this.name=t;this.times=convertArray(e,this.TimeBufferType);this.values=convertArray(n,this.ValueBufferType);this.setInterpolation(i||this.DefaultInterpolation)}static toJSON(t){const e=t.constructor;let n;if(e.toJSON!==this.toJSON)n=e.toJSON(t);else{n={name:t.name,times:convertArray(t.times,Array),values:convertArray(t.values,Array)};const e=t.getInterpolation();e!==t.DefaultInterpolation&&(n.interpolation=e)}n.type=t.ValueTypeName;return n}InterpolantFactoryMethodDiscrete(t){return new DiscreteInterpolant(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodLinear(t){return new LinearInterpolant(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodSmooth(t){return new CubicInterpolant(this.times,this.values,this.getValueSize(),t)}setInterpolation(t){let e;switch(t){case Ue:e=this.InterpolantFactoryMethodDiscrete;break;case De:e=this.InterpolantFactoryMethodLinear;break;case Ne:e=this.InterpolantFactoryMethodSmooth;break}if(e===void 0){const e=\"unsupported interpolation for \"+this.ValueTypeName+\" keyframe track named \"+this.name;if(this.createInterpolant===void 0){if(t===this.DefaultInterpolation)throw new Error(e);this.setInterpolation(this.DefaultInterpolation)}console.warn(\"THREE.KeyframeTrack:\",e);return this}this.createInterpolant=e;return this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return Ue;case this.InterpolantFactoryMethodLinear:return De;case this.InterpolantFactoryMethodSmooth:return Ne}}getValueSize(){return this.values.length/this.times.length}shift(t){if(t!==0){const e=this.times;for(let n=0,i=e.length;n!==i;++n)e[n]+=t}return this}scale(t){if(t!==1){const e=this.times;for(let n=0,i=e.length;n!==i;++n)e[n]*=t}return this}trim(t,e){const n=this.times,i=n.length;let r=0,s=i-1;while(r!==i&&n[r]<t)++r;while(s!==-1&&n[s]>e)--s;++s;if(r!==0||s!==i){if(r>=s){s=Math.max(s,1);r=s-1}const t=this.getValueSize();this.times=n.slice(r,s);this.values=this.values.slice(r*t,s*t)}return this}validate(){let t=true;const e=this.getValueSize();if(e-Math.floor(e)!==0){console.error(\"THREE.KeyframeTrack: Invalid value size in track.\",this);t=false}const n=this.times,i=this.values,r=n.length;if(r===0){console.error(\"THREE.KeyframeTrack: Track is empty.\",this);t=false}let s=null;for(let e=0;e!==r;e++){const i=n[e];if(typeof i===\"number\"&&isNaN(i)){console.error(\"THREE.KeyframeTrack: Time is not a valid number.\",this,e,i);t=false;break}if(s!==null&&s>i){console.error(\"THREE.KeyframeTrack: Out of order keys.\",this,e,i,s);t=false;break}s=i}if(i!==void 0&&isTypedArray(i))for(let e=0,n=i.length;e!==n;++e){const n=i[e];if(isNaN(n)){console.error(\"THREE.KeyframeTrack: Value is not a valid number.\",this,e,n);t=false;break}}return t}optimize(){const t=this.times.slice(),e=this.values.slice(),n=this.getValueSize(),i=this.getInterpolation()===Ne,r=t.length-1;let s=1;for(let a=1;a<r;++a){let r=false;const o=t[a];const l=t[a+1];if(o!==l&&(a!==1||o!==t[0]))if(i)r=true;else{const t=a*n,i=t-n,s=t+n;for(let a=0;a!==n;++a){const n=e[t+a];if(n!==e[i+a]||n!==e[s+a]){r=true;break}}}if(r){if(a!==s){t[s]=t[a];const i=a*n,r=s*n;for(let t=0;t!==n;++t)e[r+t]=e[i+t]}++s}}if(r>0){t[s]=t[r];for(let t=r*n,i=s*n,a=0;a!==n;++a)e[i+a]=e[t+a];++s}if(s!==t.length){this.times=t.slice(0,s);this.values=e.slice(0,s*n)}else{this.times=t;this.values=e}return this}clone(){const t=this.times.slice();const e=this.values.slice();const n=this.constructor;const i=new n(this.name,t,e);i.createInterpolant=this.createInterpolant;return i}}KeyframeTrack.prototype.TimeBufferType=Float32Array;KeyframeTrack.prototype.ValueBufferType=Float32Array;KeyframeTrack.prototype.DefaultInterpolation=De;class BooleanKeyframeTrack extends KeyframeTrack{constructor(t,e,n){super(t,e,n)}}BooleanKeyframeTrack.prototype.ValueTypeName=\"bool\";BooleanKeyframeTrack.prototype.ValueBufferType=Array;BooleanKeyframeTrack.prototype.DefaultInterpolation=Ue;BooleanKeyframeTrack.prototype.InterpolantFactoryMethodLinear=void 0;BooleanKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;class ColorKeyframeTrack extends KeyframeTrack{}ColorKeyframeTrack.prototype.ValueTypeName=\"color\";class NumberKeyframeTrack extends KeyframeTrack{}NumberKeyframeTrack.prototype.ValueTypeName=\"number\";class QuaternionLinearInterpolant extends Interpolant{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t,e,n,i){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=(n-e)/(i-e);let l=t*a;for(let t=l+a;l!==t;l+=4)Quaternion.slerpFlat(r,0,s,l-a,s,l,o);return r}}class QuaternionKeyframeTrack extends KeyframeTrack{InterpolantFactoryMethodLinear(t){return new QuaternionLinearInterpolant(this.times,this.values,this.getValueSize(),t)}}QuaternionKeyframeTrack.prototype.ValueTypeName=\"quaternion\";QuaternionKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;class StringKeyframeTrack extends KeyframeTrack{constructor(t,e,n){super(t,e,n)}}StringKeyframeTrack.prototype.ValueTypeName=\"string\";StringKeyframeTrack.prototype.ValueBufferType=Array;StringKeyframeTrack.prototype.DefaultInterpolation=Ue;StringKeyframeTrack.prototype.InterpolantFactoryMethodLinear=void 0;StringKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;class VectorKeyframeTrack extends KeyframeTrack{}VectorKeyframeTrack.prototype.ValueTypeName=\"vector\";class AnimationClip{constructor(t=\"\",e=-1,n=[],i=Fe){this.name=t;this.tracks=n;this.duration=e;this.blendMode=i;this.uuid=generateUUID();this.duration<0&&this.resetDuration()}static parse(t){const e=[],n=t.tracks,i=1/(t.fps||1);for(let t=0,r=n.length;t!==r;++t)e.push(parseKeyframeTrack(n[t]).scale(i));const r=new this(t.name,t.duration,e,t.blendMode);r.uuid=t.uuid;return r}static toJSON(t){const e=[],n=t.tracks;const i={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode};for(let t=0,i=n.length;t!==i;++t)e.push(KeyframeTrack.toJSON(n[t]));return i}static CreateFromMorphTargetSequence(t,e,n,i){const r=e.length;const s=[];for(let t=0;t<r;t++){let a=[];let o=[];a.push((t+r-1)%r,t,(t+1)%r);o.push(0,1,0);const l=getKeyframeOrder(a);a=sortedArray(a,1,l);o=sortedArray(o,1,l);if(!i&&a[0]===0){a.push(r);o.push(o[0])}s.push(new NumberKeyframeTrack(\".morphTargetInfluences[\"+e[t].name+\"]\",a,o).scale(1/n))}return new this(t,-1,s)}static findByName(t,e){let n=t;if(!Array.isArray(t)){const e=t;n=e.geometry&&e.geometry.animations||e.animations}for(let t=0;t<n.length;t++)if(n[t].name===e)return n[t];return null}static CreateClipsFromMorphTargetSequences(t,e,n){const i={};const r=/^([\\w-]*?)([\\d]+)$/;for(let e=0,n=t.length;e<n;e++){const n=t[e];const s=n.name.match(r);if(s&&s.length>1){const t=s[1];let e=i[t];e||(i[t]=e=[]);e.push(n)}}const s=[];for(const t in i)s.push(this.CreateFromMorphTargetSequence(t,i[t],e,n));return s}static parseAnimation(t,e){if(!t){console.error(\"THREE.AnimationClip: No animation in JSONLoader data.\");return null}const addNonemptyTrack=function(t,e,n,i,r){if(n.length!==0){const s=[];const a=[];flattenJSON(n,s,a,i);s.length!==0&&r.push(new t(e,s,a))}};const n=[];const i=t.name||\"default\";const r=t.fps||30;const s=t.blendMode;let a=t.length||-1;const o=t.hierarchy||[];for(let t=0;t<o.length;t++){const i=o[t].keys;if(i&&i.length!==0)if(i[0].morphTargets){const t={};let e;for(e=0;e<i.length;e++)if(i[e].morphTargets)for(let n=0;n<i[e].morphTargets.length;n++)t[i[e].morphTargets[n]]=-1;for(const r in t){const t=[];const s=[];for(let n=0;n!==i[e].morphTargets.length;++n){const n=i[e];t.push(n.time);s.push(n.morphTarget===r?1:0)}n.push(new NumberKeyframeTrack(\".morphTargetInfluence[\"+r+\"]\",t,s))}a=t.length*r}else{const r=\".bones[\"+e[t].name+\"]\";addNonemptyTrack(VectorKeyframeTrack,r+\".position\",i,\"pos\",n);addNonemptyTrack(QuaternionKeyframeTrack,r+\".quaternion\",i,\"rot\",n);addNonemptyTrack(VectorKeyframeTrack,r+\".scale\",i,\"scl\",n)}}if(n.length===0)return null;const l=new this(i,a,n,s);return l}resetDuration(){const t=this.tracks;let e=0;for(let n=0,i=t.length;n!==i;++n){const t=this.tracks[n];e=Math.max(e,t.times[t.times.length-1])}this.duration=e;return this}trim(){for(let t=0;t<this.tracks.length;t++)this.tracks[t].trim(0,this.duration);return this}validate(){let t=true;for(let e=0;e<this.tracks.length;e++)t=t&&this.tracks[e].validate();return t}optimize(){for(let t=0;t<this.tracks.length;t++)this.tracks[t].optimize();return this}clone(){const t=[];for(let e=0;e<this.tracks.length;e++)t.push(this.tracks[e].clone());return new this.constructor(this.name,this.duration,t,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}}function getTrackTypeForValueTypeName(t){switch(t.toLowerCase()){case\"scalar\":case\"double\":case\"float\":case\"number\":case\"integer\":return NumberKeyframeTrack;case\"vector\":case\"vector2\":case\"vector3\":case\"vector4\":return VectorKeyframeTrack;case\"color\":return ColorKeyframeTrack;case\"quaternion\":return QuaternionKeyframeTrack;case\"bool\":case\"boolean\":return BooleanKeyframeTrack;case\"string\":return StringKeyframeTrack}throw new Error(\"THREE.KeyframeTrack: Unsupported typeName: \"+t)}function parseKeyframeTrack(t){if(t.type===void 0)throw new Error(\"THREE.KeyframeTrack: track type undefined, can not parse\");const e=getTrackTypeForValueTypeName(t.type);if(t.times===void 0){const e=[],n=[];flattenJSON(t.keys,e,n,\"value\");t.times=e;t.values=n}return e.parse!==void 0?e.parse(t):new e(t.name,t.times,t.values,t.interpolation)}const Wc={enabled:false,files:{},add:function(t,e){this.enabled!==false&&(this.files[t]=e)},get:function(t){if(this.enabled!==false)return this.files[t]},remove:function(t){delete this.files[t]},clear:function(){this.files={}}};class LoadingManager{constructor(t,e,n){const i=this;let r=false;let s=0;let a=0;let o;const l=[];this.onStart=void 0;this.onLoad=t;this.onProgress=e;this.onError=n;this.itemStart=function(t){a++;r===false&&i.onStart!==void 0&&i.onStart(t,s,a);r=true};this.itemEnd=function(t){s++;i.onProgress!==void 0&&i.onProgress(t,s,a);if(s===a){r=false;i.onLoad!==void 0&&i.onLoad()}};this.itemError=function(t){i.onError!==void 0&&i.onError(t)};this.resolveURL=function(t){return o?o(t):t};this.setURLModifier=function(t){o=t;return this};this.addHandler=function(t,e){l.push(t,e);return this};this.removeHandler=function(t){const e=l.indexOf(t);e!==-1&&l.splice(e,2);return this};this.getHandler=function(t){for(let e=0,n=l.length;e<n;e+=2){const n=l[e];const i=l[e+1];n.global&&(n.lastIndex=0);if(n.test(t))return i}return null}}}const Xc=new LoadingManager;class Loader{constructor(t){this.manager=t!==void 0?t:Xc;this.crossOrigin=\"anonymous\";this.withCredentials=false;this.path=\"\";this.resourcePath=\"\";this.requestHeader={}}load(){}loadAsync(t,e){const n=this;return new Promise((function(i,r){n.load(t,i,e,r)}))}parse(){}setCrossOrigin(t){this.crossOrigin=t;return this}setWithCredentials(t){this.withCredentials=t;return this}setPath(t){this.path=t;return this}setResourcePath(t){this.resourcePath=t;return this}setRequestHeader(t){this.requestHeader=t;return this}}Loader.DEFAULT_MATERIAL_NAME=\"__DEFAULT\";const jc={};class HttpError extends Error{constructor(t,e){super(t);this.response=e}}class FileLoader extends Loader{constructor(t){super(t)}load(t,e,n,i){t===void 0&&(t=\"\");this.path!==void 0&&(t=this.path+t);t=this.manager.resolveURL(t);const r=Wc.get(t);if(r!==void 0){this.manager.itemStart(t);setTimeout((()=>{e&&e(r);this.manager.itemEnd(t)}),0);return r}if(jc[t]!==void 0){jc[t].push({onLoad:e,onProgress:n,onError:i});return}jc[t]=[];jc[t].push({onLoad:e,onProgress:n,onError:i});const s=new Request(t,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?\"include\":\"same-origin\"});const a=this.mimeType;const o=this.responseType;fetch(s).then((e=>{if(e.status===200||e.status===0){e.status===0&&console.warn(\"THREE.FileLoader: HTTP Status 0 received.\");if(typeof ReadableStream===\"undefined\"||e.body===void 0||e.body.getReader===void 0)return e;const n=jc[t];const i=e.body.getReader();const r=e.headers.get(\"X-File-Size\")||e.headers.get(\"Content-Length\");const s=r?parseInt(r):0;const a=s!==0;let o=0;const l=new ReadableStream({start(t){readData();function readData(){i.read().then((({done:e,value:i})=>{if(e)t.close();else{o+=i.byteLength;const e=new ProgressEvent(\"progress\",{lengthComputable:a,loaded:o,total:s});for(let t=0,i=n.length;t<i;t++){const i=n[t];i.onProgress&&i.onProgress(e)}t.enqueue(i);readData()}}),(e=>{t.error(e)}))}}});return new Response(l)}throw new HttpError(`fetch for \"${e.url}\" responded with ${e.status}: ${e.statusText}`,e)})).then((t=>{switch(o){case\"arraybuffer\":return t.arrayBuffer();case\"blob\":return t.blob();case\"document\":return t.text().then((t=>{const e=new DOMParser;return e.parseFromString(t,a)}));case\"json\":return t.json();default:if(a===void 0)return t.text();{const e=/charset=\"?([^;\"\\s]*)\"?/i;const n=e.exec(a);const i=n&&n[1]?n[1].toLowerCase():void 0;const r=new TextDecoder(i);return t.arrayBuffer().then((t=>r.decode(t)))}}})).then((e=>{Wc.add(t,e);const n=jc[t];delete jc[t];for(let t=0,i=n.length;t<i;t++){const i=n[t];i.onLoad&&i.onLoad(e)}})).catch((e=>{const n=jc[t];if(n===void 0){this.manager.itemError(t);throw e}delete jc[t];for(let t=0,i=n.length;t<i;t++){const i=n[t];i.onError&&i.onError(e)}this.manager.itemError(t)})).finally((()=>{this.manager.itemEnd(t)}));this.manager.itemStart(t)}setResponseType(t){this.responseType=t;return this}setMimeType(t){this.mimeType=t;return this}}class AnimationLoader extends Loader{constructor(t){super(t)}load(t,e,n,i){const r=this;const s=new FileLoader(this.manager);s.setPath(this.path);s.setRequestHeader(this.requestHeader);s.setWithCredentials(this.withCredentials);s.load(t,(function(n){try{e(r.parse(JSON.parse(n)))}catch(e){i?i(e):console.error(e);r.manager.itemError(t)}}),n,i)}parse(t){const e=[];for(let n=0;n<t.length;n++){const i=AnimationClip.parse(t[n]);e.push(i)}return e}}class CompressedTextureLoader extends Loader{constructor(t){super(t)}load(t,e,n,i){const r=this;const s=[];const a=new CompressedTexture;const o=new FileLoader(this.manager);o.setPath(this.path);o.setResponseType(\"arraybuffer\");o.setRequestHeader(this.requestHeader);o.setWithCredentials(r.withCredentials);let l=0;function loadTexture(c){o.load(t[c],(function(t){const n=r.parse(t,true);s[c]={width:n.width,height:n.height,format:n.format,mipmaps:n.mipmaps};l+=1;if(l===6){n.mipmapCount===1&&(a.minFilter=St);a.image=s;a.format=n.format;a.needsUpdate=true;e&&e(a)}}),n,i)}if(Array.isArray(t))for(let e=0,n=t.length;e<n;++e)loadTexture(e);else o.load(t,(function(t){const n=r.parse(t,true);if(n.isCubemap){const t=n.mipmaps.length/n.mipmapCount;for(let e=0;e<t;e++){s[e]={mipmaps:[]};for(let t=0;t<n.mipmapCount;t++){s[e].mipmaps.push(n.mipmaps[e*n.mipmapCount+t]);s[e].format=n.format;s[e].width=n.width;s[e].height=n.height}}a.image=s}else{a.image.width=n.width;a.image.height=n.height;a.mipmaps=n.mipmaps}n.mipmapCount===1&&(a.minFilter=St);a.format=n.format;a.needsUpdate=true;e&&e(a)}),n,i);return a}}class ImageLoader extends Loader{constructor(t){super(t)}load(t,e,n,i){this.path!==void 0&&(t=this.path+t);t=this.manager.resolveURL(t);const r=this;const s=Wc.get(t);if(s!==void 0){r.manager.itemStart(t);setTimeout((function(){e&&e(s);r.manager.itemEnd(t)}),0);return s}const a=createElementNS(\"img\");function onImageLoad(){removeEventListeners();Wc.add(t,this);e&&e(this);r.manager.itemEnd(t)}function onImageError(e){removeEventListeners();i&&i(e);r.manager.itemError(t);r.manager.itemEnd(t)}function removeEventListeners(){a.removeEventListener(\"load\",onImageLoad,false);a.removeEventListener(\"error\",onImageError,false)}a.addEventListener(\"load\",onImageLoad,false);a.addEventListener(\"error\",onImageError,false);t.slice(0,5)!==\"data:\"&&this.crossOrigin!==void 0&&(a.crossOrigin=this.crossOrigin);r.manager.itemStart(t);a.src=t;return a}}class CubeTextureLoader extends Loader{constructor(t){super(t)}load(t,e,n,i){const r=new CubeTexture;r.colorSpace=Ke;const s=new ImageLoader(this.manager);s.setCrossOrigin(this.crossOrigin);s.setPath(this.path);let a=0;function loadTexture(n){s.load(t[n],(function(t){r.images[n]=t;a++;if(a===6){r.needsUpdate=true;e&&e(r)}}),void 0,i)}for(let e=0;e<t.length;++e)loadTexture(e);return r}}class DataTextureLoader extends Loader{constructor(t){super(t)}load(t,e,n,i){const r=this;const s=new DataTexture;const a=new FileLoader(this.manager);a.setResponseType(\"arraybuffer\");a.setRequestHeader(this.requestHeader);a.setPath(this.path);a.setWithCredentials(r.withCredentials);a.load(t,(function(t){let n;try{n=r.parse(t)}catch(t){if(i===void 0){console.error(t);return}i(t)}if(n.image!==void 0)s.image=n.image;else if(n.data!==void 0){s.image.width=n.width;s.image.height=n.height;s.image.data=n.data}s.wrapS=n.wrapS!==void 0?n.wrapS:mt;s.wrapT=n.wrapT!==void 0?n.wrapT:mt;s.magFilter=n.magFilter!==void 0?n.magFilter:St;s.minFilter=n.minFilter!==void 0?n.minFilter:St;s.anisotropy=n.anisotropy!==void 0?n.anisotropy:1;n.colorSpace!==void 0&&(s.colorSpace=n.colorSpace);n.flipY!==void 0&&(s.flipY=n.flipY);n.format!==void 0&&(s.format=n.format);n.type!==void 0&&(s.type=n.type);if(n.mipmaps!==void 0){s.mipmaps=n.mipmaps;s.minFilter=wt}n.mipmapCount===1&&(s.minFilter=St);n.generateMipmaps!==void 0&&(s.generateMipmaps=n.generateMipmaps);s.needsUpdate=true;e&&e(s,n)}),n,i);return s}}class TextureLoader extends Loader{constructor(t){super(t)}load(t,e,n,i){const r=new Texture;const s=new ImageLoader(this.manager);s.setCrossOrigin(this.crossOrigin);s.setPath(this.path);s.load(t,(function(t){r.image=t;r.needsUpdate=true;e!==void 0&&e(r)}),n,i);return r}}class Light extends Object3D{constructor(t,e=1){super();this.isLight=true;this.type=\"Light\";this.color=new Color(t);this.intensity=e}dispose(){}copy(t,e){super.copy(t,e);this.color.copy(t.color);this.intensity=t.intensity;return this}toJSON(t){const e=super.toJSON(t);e.object.color=this.color.getHex();e.object.intensity=this.intensity;this.groundColor!==void 0&&(e.object.groundColor=this.groundColor.getHex());this.distance!==void 0&&(e.object.distance=this.distance);this.angle!==void 0&&(e.object.angle=this.angle);this.decay!==void 0&&(e.object.decay=this.decay);this.penumbra!==void 0&&(e.object.penumbra=this.penumbra);this.shadow!==void 0&&(e.object.shadow=this.shadow.toJSON());this.target!==void 0&&(e.object.target=this.target.uuid);return e}}class HemisphereLight extends Light{constructor(t,e,n){super(t,n);this.isHemisphereLight=true;this.type=\"HemisphereLight\";this.position.copy(Object3D.DEFAULT_UP);this.updateMatrix();this.groundColor=new Color(e)}copy(t,e){super.copy(t,e);this.groundColor.copy(t.groundColor);return this}}const qc=new Matrix4;const Yc=new Vector3;const Kc=new Vector3;class LightShadow{constructor(t){this.camera=t;this.intensity=1;this.bias=0;this.normalBias=0;this.radius=1;this.blurSamples=8;this.mapSize=new Vector2(512,512);this.map=null;this.mapPass=null;this.matrix=new Matrix4;this.autoUpdate=true;this.needsUpdate=false;this._frustum=new Frustum;this._frameExtents=new Vector2(1,1);this._viewportCount=1;this._viewports=[new Vector4(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(t){const e=this.camera;const n=this.matrix;Yc.setFromMatrixPosition(t.matrixWorld);e.position.copy(Yc);Kc.setFromMatrixPosition(t.target.matrixWorld);e.lookAt(Kc);e.updateMatrixWorld();qc.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse);this._frustum.setFromProjectionMatrix(qc);n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);n.multiply(qc)}getViewport(t){return this._viewports[t]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose();this.mapPass&&this.mapPass.dispose()}copy(t){this.camera=t.camera.clone();this.intensity=t.intensity;this.bias=t.bias;this.radius=t.radius;this.mapSize.copy(t.mapSize);return this}clone(){return(new this.constructor).copy(this)}toJSON(){const t={};this.intensity!==1&&(t.intensity=this.intensity);this.bias!==0&&(t.bias=this.bias);this.normalBias!==0&&(t.normalBias=this.normalBias);this.radius!==1&&(t.radius=this.radius);this.mapSize.x===512&&this.mapSize.y===512||(t.mapSize=this.mapSize.toArray());t.camera=this.camera.toJSON(false).object;delete t.camera.matrix;return t}}class SpotLightShadow extends LightShadow{constructor(){super(new PerspectiveCamera(50,1,.5,500));this.isSpotLightShadow=true;this.focus=1}updateMatrices(t){const e=this.camera;const n=Wn*2*t.angle*this.focus;const i=this.mapSize.width/this.mapSize.height;const r=t.distance||e.far;if(n!==e.fov||i!==e.aspect||r!==e.far){e.fov=n;e.aspect=i;e.far=r;e.updateProjectionMatrix()}super.updateMatrices(t)}copy(t){super.copy(t);this.focus=t.focus;return this}}class SpotLight extends Light{constructor(t,e,n=0,i=Math.PI/3,r=0,s=2){super(t,e);this.isSpotLight=true;this.type=\"SpotLight\";this.position.copy(Object3D.DEFAULT_UP);this.updateMatrix();this.target=new Object3D;this.distance=n;this.angle=i;this.penumbra=r;this.decay=s;this.map=null;this.shadow=new SpotLightShadow}get power(){return this.intensity*Math.PI}set power(t){this.intensity=t/Math.PI}dispose(){this.shadow.dispose()}copy(t,e){super.copy(t,e);this.distance=t.distance;this.angle=t.angle;this.penumbra=t.penumbra;this.decay=t.decay;this.target=t.target.clone();this.shadow=t.shadow.clone();return this}}const Zc=new Matrix4;const Jc=new Vector3;const Qc=new Vector3;class PointLightShadow extends LightShadow{constructor(){super(new PerspectiveCamera(90,1,.5,500));this.isPointLightShadow=true;this._frameExtents=new Vector2(4,2);this._viewportCount=6;this._viewports=[new Vector4(2,1,1,1),new Vector4(0,1,1,1),new Vector4(3,1,1,1),new Vector4(1,1,1,1),new Vector4(3,0,1,1),new Vector4(1,0,1,1)];this._cubeDirections=[new Vector3(1,0,0),new Vector3(-1,0,0),new Vector3(0,0,1),new Vector3(0,0,-1),new Vector3(0,1,0),new Vector3(0,-1,0)];this._cubeUps=[new Vector3(0,1,0),new Vector3(0,1,0),new Vector3(0,1,0),new Vector3(0,1,0),new Vector3(0,0,1),new Vector3(0,0,-1)]}updateMatrices(t,e=0){const n=this.camera;const i=this.matrix;const r=t.distance||n.far;if(r!==n.far){n.far=r;n.updateProjectionMatrix()}Jc.setFromMatrixPosition(t.matrixWorld);n.position.copy(Jc);Qc.copy(n.position);Qc.add(this._cubeDirections[e]);n.up.copy(this._cubeUps[e]);n.lookAt(Qc);n.updateMatrixWorld();i.makeTranslation(-Jc.x,-Jc.y,-Jc.z);Zc.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse);this._frustum.setFromProjectionMatrix(Zc)}}class PointLight extends Light{constructor(t,e,n=0,i=2){super(t,e);this.isPointLight=true;this.type=\"PointLight\";this.distance=n;this.decay=i;this.shadow=new PointLightShadow}get power(){return this.intensity*4*Math.PI}set power(t){this.intensity=t/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(t,e){super.copy(t,e);this.distance=t.distance;this.decay=t.decay;this.shadow=t.shadow.clone();return this}}class DirectionalLightShadow extends LightShadow{constructor(){super(new OrthographicCamera(-5,5,5,-5,.5,500));this.isDirectionalLightShadow=true}}class DirectionalLight extends Light{constructor(t,e){super(t,e);this.isDirectionalLight=true;this.type=\"DirectionalLight\";this.position.copy(Object3D.DEFAULT_UP);this.updateMatrix();this.target=new Object3D;this.shadow=new DirectionalLightShadow}dispose(){this.shadow.dispose()}copy(t){super.copy(t);this.target=t.target.clone();this.shadow=t.shadow.clone();return this}}class AmbientLight extends Light{constructor(t,e){super(t,e);this.isAmbientLight=true;this.type=\"AmbientLight\"}}class RectAreaLight extends Light{constructor(t,e,n=10,i=10){super(t,e);this.isRectAreaLight=true;this.type=\"RectAreaLight\";this.width=n;this.height=i}get power(){return this.intensity*this.width*this.height*Math.PI}set power(t){this.intensity=t/(this.width*this.height*Math.PI)}copy(t){super.copy(t);this.width=t.width;this.height=t.height;return this}toJSON(t){const e=super.toJSON(t);e.object.width=this.width;e.object.height=this.height;return e}}class SphericalHarmonics3{constructor(){this.isSphericalHarmonics3=true;this.coefficients=[];for(let t=0;t<9;t++)this.coefficients.push(new Vector3)}set(t){for(let e=0;e<9;e++)this.coefficients[e].copy(t[e]);return this}zero(){for(let t=0;t<9;t++)this.coefficients[t].set(0,0,0);return this}getAt(t,e){const n=t.x,i=t.y,r=t.z;const s=this.coefficients;e.copy(s[0]).multiplyScalar(.282095);e.addScaledVector(s[1],.488603*i);e.addScaledVector(s[2],.488603*r);e.addScaledVector(s[3],.488603*n);e.addScaledVector(s[4],n*i*1.092548);e.addScaledVector(s[5],i*r*1.092548);e.addScaledVector(s[6],.315392*(3*r*r-1));e.addScaledVector(s[7],n*r*1.092548);e.addScaledVector(s[8],.546274*(n*n-i*i));return e}getIrradianceAt(t,e){const n=t.x,i=t.y,r=t.z;const s=this.coefficients;e.copy(s[0]).multiplyScalar(.886227);e.addScaledVector(s[1],1.023328*i);e.addScaledVector(s[2],1.023328*r);e.addScaledVector(s[3],1.023328*n);e.addScaledVector(s[4],.858086*n*i);e.addScaledVector(s[5],.858086*i*r);e.addScaledVector(s[6],.743125*r*r-.247708);e.addScaledVector(s[7],.858086*n*r);e.addScaledVector(s[8],.429043*(n*n-i*i));return e}add(t){for(let e=0;e<9;e++)this.coefficients[e].add(t.coefficients[e]);return this}addScaledSH(t,e){for(let n=0;n<9;n++)this.coefficients[n].addScaledVector(t.coefficients[n],e);return this}scale(t){for(let e=0;e<9;e++)this.coefficients[e].multiplyScalar(t);return this}lerp(t,e){for(let n=0;n<9;n++)this.coefficients[n].lerp(t.coefficients[n],e);return this}equals(t){for(let e=0;e<9;e++)if(!this.coefficients[e].equals(t.coefficients[e]))return false;return true}copy(t){return this.set(t.coefficients)}clone(){return(new this.constructor).copy(this)}fromArray(t,e=0){const n=this.coefficients;for(let i=0;i<9;i++)n[i].fromArray(t,e+i*3);return this}toArray(t=[],e=0){const n=this.coefficients;for(let i=0;i<9;i++)n[i].toArray(t,e+i*3);return t}static getBasisAt(t,e){const n=t.x,i=t.y,r=t.z;e[0]=.282095;e[1]=.488603*i;e[2]=.488603*r;e[3]=.488603*n;e[4]=1.092548*n*i;e[5]=1.092548*i*r;e[6]=.315392*(3*r*r-1);e[7]=1.092548*n*r;e[8]=.546274*(n*n-i*i)}}class LightProbe extends Light{constructor(t=new SphericalHarmonics3,e=1){super(void 0,e);this.isLightProbe=true;this.sh=t}copy(t){super.copy(t);this.sh.copy(t.sh);return this}fromJSON(t){this.intensity=t.intensity;this.sh.fromArray(t.sh);return this}toJSON(t){const e=super.toJSON(t);e.object.sh=this.sh.toArray();return e}}class MaterialLoader extends Loader{constructor(t){super(t);this.textures={}}load(t,e,n,i){const r=this;const s=new FileLoader(r.manager);s.setPath(r.path);s.setRequestHeader(r.requestHeader);s.setWithCredentials(r.withCredentials);s.load(t,(function(n){try{e(r.parse(JSON.parse(n)))}catch(e){i?i(e):console.error(e);r.manager.itemError(t)}}),n,i)}parse(t){const e=this.textures;function getTexture(t){e[t]===void 0&&console.warn(\"THREE.MaterialLoader: Undefined texture\",t);return e[t]}const n=MaterialLoader.createMaterialFromType(t.type);t.uuid!==void 0&&(n.uuid=t.uuid);t.name!==void 0&&(n.name=t.name);t.color!==void 0&&n.color!==void 0&&n.color.setHex(t.color);t.roughness!==void 0&&(n.roughness=t.roughness);t.metalness!==void 0&&(n.metalness=t.metalness);t.sheen!==void 0&&(n.sheen=t.sheen);t.sheenColor!==void 0&&(n.sheenColor=(new Color).setHex(t.sheenColor));t.sheenRoughness!==void 0&&(n.sheenRoughness=t.sheenRoughness);t.emissive!==void 0&&n.emissive!==void 0&&n.emissive.setHex(t.emissive);t.specular!==void 0&&n.specular!==void 0&&n.specular.setHex(t.specular);t.specularIntensity!==void 0&&(n.specularIntensity=t.specularIntensity);t.specularColor!==void 0&&n.specularColor!==void 0&&n.specularColor.setHex(t.specularColor);t.shininess!==void 0&&(n.shininess=t.shininess);t.clearcoat!==void 0&&(n.clearcoat=t.clearcoat);t.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=t.clearcoatRoughness);t.dispersion!==void 0&&(n.dispersion=t.dispersion);t.iridescence!==void 0&&(n.iridescence=t.iridescence);t.iridescenceIOR!==void 0&&(n.iridescenceIOR=t.iridescenceIOR);t.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=t.iridescenceThicknessRange);t.transmission!==void 0&&(n.transmission=t.transmission);t.thickness!==void 0&&(n.thickness=t.thickness);t.attenuationDistance!==void 0&&(n.attenuationDistance=t.attenuationDistance);t.attenuationColor!==void 0&&n.attenuationColor!==void 0&&n.attenuationColor.setHex(t.attenuationColor);t.anisotropy!==void 0&&(n.anisotropy=t.anisotropy);t.anisotropyRotation!==void 0&&(n.anisotropyRotation=t.anisotropyRotation);t.fog!==void 0&&(n.fog=t.fog);t.flatShading!==void 0&&(n.flatShading=t.flatShading);t.blending!==void 0&&(n.blending=t.blending);t.combine!==void 0&&(n.combine=t.combine);t.side!==void 0&&(n.side=t.side);t.shadowSide!==void 0&&(n.shadowSide=t.shadowSide);t.opacity!==void 0&&(n.opacity=t.opacity);t.transparent!==void 0&&(n.transparent=t.transparent);t.alphaTest!==void 0&&(n.alphaTest=t.alphaTest);t.alphaHash!==void 0&&(n.alphaHash=t.alphaHash);t.depthFunc!==void 0&&(n.depthFunc=t.depthFunc);t.depthTest!==void 0&&(n.depthTest=t.depthTest);t.depthWrite!==void 0&&(n.depthWrite=t.depthWrite);t.colorWrite!==void 0&&(n.colorWrite=t.colorWrite);t.blendSrc!==void 0&&(n.blendSrc=t.blendSrc);t.blendDst!==void 0&&(n.blendDst=t.blendDst);t.blendEquation!==void 0&&(n.blendEquation=t.blendEquation);t.blendSrcAlpha!==void 0&&(n.blendSrcAlpha=t.blendSrcAlpha);t.blendDstAlpha!==void 0&&(n.blendDstAlpha=t.blendDstAlpha);t.blendEquationAlpha!==void 0&&(n.blendEquationAlpha=t.blendEquationAlpha);t.blendColor!==void 0&&n.blendColor!==void 0&&n.blendColor.setHex(t.blendColor);t.blendAlpha!==void 0&&(n.blendAlpha=t.blendAlpha);t.stencilWriteMask!==void 0&&(n.stencilWriteMask=t.stencilWriteMask);t.stencilFunc!==void 0&&(n.stencilFunc=t.stencilFunc);t.stencilRef!==void 0&&(n.stencilRef=t.stencilRef);t.stencilFuncMask!==void 0&&(n.stencilFuncMask=t.stencilFuncMask);t.stencilFail!==void 0&&(n.stencilFail=t.stencilFail);t.stencilZFail!==void 0&&(n.stencilZFail=t.stencilZFail);t.stencilZPass!==void 0&&(n.stencilZPass=t.stencilZPass);t.stencilWrite!==void 0&&(n.stencilWrite=t.stencilWrite);t.wireframe!==void 0&&(n.wireframe=t.wireframe);t.wireframeLinewidth!==void 0&&(n.wireframeLinewidth=t.wireframeLinewidth);t.wireframeLinecap!==void 0&&(n.wireframeLinecap=t.wireframeLinecap);t.wireframeLinejoin!==void 0&&(n.wireframeLinejoin=t.wireframeLinejoin);t.rotation!==void 0&&(n.rotation=t.rotation);t.linewidth!==void 0&&(n.linewidth=t.linewidth);t.dashSize!==void 0&&(n.dashSize=t.dashSize);t.gapSize!==void 0&&(n.gapSize=t.gapSize);t.scale!==void 0&&(n.scale=t.scale);t.polygonOffset!==void 0&&(n.polygonOffset=t.polygonOffset);t.polygonOffsetFactor!==void 0&&(n.polygonOffsetFactor=t.polygonOffsetFactor);t.polygonOffsetUnits!==void 0&&(n.polygonOffsetUnits=t.polygonOffsetUnits);t.dithering!==void 0&&(n.dithering=t.dithering);t.alphaToCoverage!==void 0&&(n.alphaToCoverage=t.alphaToCoverage);t.premultipliedAlpha!==void 0&&(n.premultipliedAlpha=t.premultipliedAlpha);t.forceSinglePass!==void 0&&(n.forceSinglePass=t.forceSinglePass);t.visible!==void 0&&(n.visible=t.visible);t.toneMapped!==void 0&&(n.toneMapped=t.toneMapped);t.userData!==void 0&&(n.userData=t.userData);t.vertexColors!==void 0&&(typeof t.vertexColors===\"number\"?n.vertexColors=t.vertexColors>0:n.vertexColors=t.vertexColors);if(t.uniforms!==void 0)for(const e in t.uniforms){const i=t.uniforms[e];n.uniforms[e]={};switch(i.type){case\"t\":n.uniforms[e].value=getTexture(i.value);break;case\"c\":n.uniforms[e].value=(new Color).setHex(i.value);break;case\"v2\":n.uniforms[e].value=(new Vector2).fromArray(i.value);break;case\"v3\":n.uniforms[e].value=(new Vector3).fromArray(i.value);break;case\"v4\":n.uniforms[e].value=(new Vector4).fromArray(i.value);break;case\"m3\":n.uniforms[e].value=(new Matrix3).fromArray(i.value);break;case\"m4\":n.uniforms[e].value=(new Matrix4).fromArray(i.value);break;default:n.uniforms[e].value=i.value}}t.defines!==void 0&&(n.defines=t.defines);t.vertexShader!==void 0&&(n.vertexShader=t.vertexShader);t.fragmentShader!==void 0&&(n.fragmentShader=t.fragmentShader);t.glslVersion!==void 0&&(n.glslVersion=t.glslVersion);if(t.extensions!==void 0)for(const e in t.extensions)n.extensions[e]=t.extensions[e];t.lights!==void 0&&(n.lights=t.lights);t.clipping!==void 0&&(n.clipping=t.clipping);t.size!==void 0&&(n.size=t.size);t.sizeAttenuation!==void 0&&(n.sizeAttenuation=t.sizeAttenuation);t.map!==void 0&&(n.map=getTexture(t.map));t.matcap!==void 0&&(n.matcap=getTexture(t.matcap));t.alphaMap!==void 0&&(n.alphaMap=getTexture(t.alphaMap));t.bumpMap!==void 0&&(n.bumpMap=getTexture(t.bumpMap));t.bumpScale!==void 0&&(n.bumpScale=t.bumpScale);t.normalMap!==void 0&&(n.normalMap=getTexture(t.normalMap));t.normalMapType!==void 0&&(n.normalMapType=t.normalMapType);if(t.normalScale!==void 0){let e=t.normalScale;Array.isArray(e)===false&&(e=[e,e]);n.normalScale=(new Vector2).fromArray(e)}t.displacementMap!==void 0&&(n.displacementMap=getTexture(t.displacementMap));t.displacementScale!==void 0&&(n.displacementScale=t.displacementScale);t.displacementBias!==void 0&&(n.displacementBias=t.displacementBias);t.roughnessMap!==void 0&&(n.roughnessMap=getTexture(t.roughnessMap));t.metalnessMap!==void 0&&(n.metalnessMap=getTexture(t.metalnessMap));t.emissiveMap!==void 0&&(n.emissiveMap=getTexture(t.emissiveMap));t.emissiveIntensity!==void 0&&(n.emissiveIntensity=t.emissiveIntensity);t.specularMap!==void 0&&(n.specularMap=getTexture(t.specularMap));t.specularIntensityMap!==void 0&&(n.specularIntensityMap=getTexture(t.specularIntensityMap));t.specularColorMap!==void 0&&(n.specularColorMap=getTexture(t.specularColorMap));t.envMap!==void 0&&(n.envMap=getTexture(t.envMap));t.envMapRotation!==void 0&&n.envMapRotation.fromArray(t.envMapRotation);t.envMapIntensity!==void 0&&(n.envMapIntensity=t.envMapIntensity);t.reflectivity!==void 0&&(n.reflectivity=t.reflectivity);t.refractionRatio!==void 0&&(n.refractionRatio=t.refractionRatio);t.lightMap!==void 0&&(n.lightMap=getTexture(t.lightMap));t.lightMapIntensity!==void 0&&(n.lightMapIntensity=t.lightMapIntensity);t.aoMap!==void 0&&(n.aoMap=getTexture(t.aoMap));t.aoMapIntensity!==void 0&&(n.aoMapIntensity=t.aoMapIntensity);t.gradientMap!==void 0&&(n.gradientMap=getTexture(t.gradientMap));t.clearcoatMap!==void 0&&(n.clearcoatMap=getTexture(t.clearcoatMap));t.clearcoatRoughnessMap!==void 0&&(n.clearcoatRoughnessMap=getTexture(t.clearcoatRoughnessMap));t.clearcoatNormalMap!==void 0&&(n.clearcoatNormalMap=getTexture(t.clearcoatNormalMap));t.clearcoatNormalScale!==void 0&&(n.clearcoatNormalScale=(new Vector2).fromArray(t.clearcoatNormalScale));t.iridescenceMap!==void 0&&(n.iridescenceMap=getTexture(t.iridescenceMap));t.iridescenceThicknessMap!==void 0&&(n.iridescenceThicknessMap=getTexture(t.iridescenceThicknessMap));t.transmissionMap!==void 0&&(n.transmissionMap=getTexture(t.transmissionMap));t.thicknessMap!==void 0&&(n.thicknessMap=getTexture(t.thicknessMap));t.anisotropyMap!==void 0&&(n.anisotropyMap=getTexture(t.anisotropyMap));t.sheenColorMap!==void 0&&(n.sheenColorMap=getTexture(t.sheenColorMap));t.sheenRoughnessMap!==void 0&&(n.sheenRoughnessMap=getTexture(t.sheenRoughnessMap));return n}setTextures(t){this.textures=t;return this}static createMaterialFromType(t){const e={ShadowMaterial:ShadowMaterial,SpriteMaterial:SpriteMaterial,RawShaderMaterial:RawShaderMaterial,ShaderMaterial:ShaderMaterial,PointsMaterial:PointsMaterial,MeshPhysicalMaterial:MeshPhysicalMaterial,MeshStandardMaterial:MeshStandardMaterial,MeshPhongMaterial:MeshPhongMaterial,MeshToonMaterial:MeshToonMaterial,MeshNormalMaterial:MeshNormalMaterial,MeshLambertMaterial:MeshLambertMaterial,MeshDepthMaterial:MeshDepthMaterial,MeshDistanceMaterial:MeshDistanceMaterial,MeshBasicMaterial:MeshBasicMaterial,MeshMatcapMaterial:MeshMatcapMaterial,LineDashedMaterial:LineDashedMaterial,LineBasicMaterial:LineBasicMaterial,Material:Material};return new e[t]}}class LoaderUtils{static decodeText(t){console.warn(\"THREE.LoaderUtils: decodeText() has been deprecated with r165 and will be removed with r175. Use TextDecoder instead.\");if(typeof TextDecoder!==\"undefined\")return(new TextDecoder).decode(t);let e=\"\";for(let n=0,i=t.length;n<i;n++)e+=String.fromCharCode(t[n]);try{return decodeURIComponent(escape(e))}catch(t){return e}}static extractUrlBase(t){const e=t.lastIndexOf(\"/\");return e===-1?\"./\":t.slice(0,e+1)}static resolveURL(t,e){if(typeof t!==\"string\"||t===\"\")return\"\";/^https?:\\/\\//i.test(e)&&/^\\//.test(t)&&(e=e.replace(/(^https?:\\/\\/[^\\/]+).*/i,\"$1\"));return/^(https?:)?\\/\\//i.test(t)||/^data:.*,.*$/i.test(t)||/^blob:.*$/i.test(t)?t:e+t}}class InstancedBufferGeometry extends BufferGeometry{constructor(){super();this.isInstancedBufferGeometry=true;this.type=\"InstancedBufferGeometry\";this.instanceCount=Infinity}copy(t){super.copy(t);this.instanceCount=t.instanceCount;return this}toJSON(){const t=super.toJSON();t.instanceCount=this.instanceCount;t.isInstancedBufferGeometry=true;return t}}class BufferGeometryLoader extends Loader{constructor(t){super(t)}load(t,e,n,i){const r=this;const s=new FileLoader(r.manager);s.setPath(r.path);s.setRequestHeader(r.requestHeader);s.setWithCredentials(r.withCredentials);s.load(t,(function(n){try{e(r.parse(JSON.parse(n)))}catch(e){i?i(e):console.error(e);r.manager.itemError(t)}}),n,i)}parse(t){const e={};const n={};function getInterleavedBuffer(t,n){if(e[n]!==void 0)return e[n];const i=t.interleavedBuffers;const r=i[n];const s=getArrayBuffer(t,r.buffer);const a=getTypedArray(r.type,s);const o=new InterleavedBuffer(a,r.stride);o.uuid=r.uuid;e[n]=o;return o}function getArrayBuffer(t,e){if(n[e]!==void 0)return n[e];const i=t.arrayBuffers;const r=i[e];const s=new Uint32Array(r).buffer;n[e]=s;return s}const i=t.isInstancedBufferGeometry?new InstancedBufferGeometry:new BufferGeometry;const r=t.data.index;if(r!==void 0){const t=getTypedArray(r.type,r.array);i.setIndex(new BufferAttribute(t,1))}const s=t.data.attributes;for(const e in s){const n=s[e];let r;if(n.isInterleavedBufferAttribute){const e=getInterleavedBuffer(t.data,n.data);r=new InterleavedBufferAttribute(e,n.itemSize,n.offset,n.normalized)}else{const t=getTypedArray(n.type,n.array);const e=n.isInstancedBufferAttribute?InstancedBufferAttribute:BufferAttribute;r=new e(t,n.itemSize,n.normalized)}n.name!==void 0&&(r.name=n.name);n.usage!==void 0&&r.setUsage(n.usage);i.setAttribute(e,r)}const a=t.data.morphAttributes;if(a)for(const e in a){const n=a[e];const r=[];for(let e=0,i=n.length;e<i;e++){const i=n[e];let s;if(i.isInterleavedBufferAttribute){const e=getInterleavedBuffer(t.data,i.data);s=new InterleavedBufferAttribute(e,i.itemSize,i.offset,i.normalized)}else{const t=getTypedArray(i.type,i.array);s=new BufferAttribute(t,i.itemSize,i.normalized)}i.name!==void 0&&(s.name=i.name);r.push(s)}i.morphAttributes[e]=r}const o=t.data.morphTargetsRelative;o&&(i.morphTargetsRelative=true);const l=t.data.groups||t.data.drawcalls||t.data.offsets;if(l!==void 0)for(let t=0,e=l.length;t!==e;++t){const e=l[t];i.addGroup(e.start,e.count,e.materialIndex)}const c=t.data.boundingSphere;if(c!==void 0){const t=new Vector3;c.center!==void 0&&t.fromArray(c.center);i.boundingSphere=new Sphere(t,c.radius)}t.name&&(i.name=t.name);t.userData&&(i.userData=t.userData);return i}}class ObjectLoader extends Loader{constructor(t){super(t)}load(t,e,n,i){const r=this;const s=this.path===\"\"?LoaderUtils.extractUrlBase(t):this.path;this.resourcePath=this.resourcePath||s;const a=new FileLoader(this.manager);a.setPath(this.path);a.setRequestHeader(this.requestHeader);a.setWithCredentials(this.withCredentials);a.load(t,(function(n){let s=null;try{s=JSON.parse(n)}catch(e){i!==void 0&&i(e);console.error(\"THREE:ObjectLoader: Can't parse \"+t+\".\",e.message);return}const a=s.metadata;if(a!==void 0&&a.type!==void 0&&a.type.toLowerCase()!==\"geometry\")r.parse(s,e);else{i!==void 0&&i(new Error(\"THREE.ObjectLoader: Can't load \"+t));console.error(\"THREE.ObjectLoader: Can't load \"+t)}}),n,i)}async loadAsync(t,e){const n=this;const i=this.path===\"\"?LoaderUtils.extractUrlBase(t):this.path;this.resourcePath=this.resourcePath||i;const r=new FileLoader(this.manager);r.setPath(this.path);r.setRequestHeader(this.requestHeader);r.setWithCredentials(this.withCredentials);const s=await r.loadAsync(t,e);const a=JSON.parse(s);const o=a.metadata;if(o===void 0||o.type===void 0||o.type.toLowerCase()===\"geometry\")throw new Error(\"THREE.ObjectLoader: Can't load \"+t);return await n.parseAsync(a)}parse(t,e){const n=this.parseAnimations(t.animations);const i=this.parseShapes(t.shapes);const r=this.parseGeometries(t.geometries,i);const s=this.parseImages(t.images,(function(){e!==void 0&&e(l)}));const a=this.parseTextures(t.textures,s);const o=this.parseMaterials(t.materials,a);const l=this.parseObject(t.object,r,o,a,n);const c=this.parseSkeletons(t.skeletons,l);this.bindSkeletons(l,c);this.bindLightTargets(l);if(e!==void 0){let t=false;for(const e in s)if(s[e].data instanceof HTMLImageElement){t=true;break}t===false&&e(l)}return l}async parseAsync(t){const e=this.parseAnimations(t.animations);const n=this.parseShapes(t.shapes);const i=this.parseGeometries(t.geometries,n);const r=await this.parseImagesAsync(t.images);const s=this.parseTextures(t.textures,r);const a=this.parseMaterials(t.materials,s);const o=this.parseObject(t.object,i,a,s,e);const l=this.parseSkeletons(t.skeletons,o);this.bindSkeletons(o,l);this.bindLightTargets(o);return o}parseShapes(t){const e={};if(t!==void 0)for(let n=0,i=t.length;n<i;n++){const i=(new Shape).fromJSON(t[n]);e[i.uuid]=i}return e}parseSkeletons(t,e){const n={};const i={};e.traverse((function(t){t.isBone&&(i[t.uuid]=t)}));if(t!==void 0)for(let e=0,r=t.length;e<r;e++){const r=(new Skeleton).fromJSON(t[e],i);n[r.uuid]=r}return n}parseGeometries(t,e){const n={};if(t!==void 0){const i=new BufferGeometryLoader;for(let r=0,s=t.length;r<s;r++){let s;const a=t[r];switch(a.type){case\"BufferGeometry\":case\"InstancedBufferGeometry\":s=i.parse(a);break;default:a.type in kc?s=kc[a.type].fromJSON(a,e):console.warn(`THREE.ObjectLoader: Unsupported geometry type \"${a.type}\"`)}s.uuid=a.uuid;a.name!==void 0&&(s.name=a.name);a.userData!==void 0&&(s.userData=a.userData);n[a.uuid]=s}}return n}parseMaterials(t,e){const n={};const i={};if(t!==void 0){const r=new MaterialLoader;r.setTextures(e);for(let e=0,s=t.length;e<s;e++){const s=t[e];n[s.uuid]===void 0&&(n[s.uuid]=r.parse(s));i[s.uuid]=n[s.uuid]}}return i}parseAnimations(t){const e={};if(t!==void 0)for(let n=0;n<t.length;n++){const i=t[n];const r=AnimationClip.parse(i);e[r.uuid]=r}return e}parseImages(t,e){const n=this;const i={};let r;function loadImage(t){n.manager.itemStart(t);return r.load(t,(function(){n.manager.itemEnd(t)}),void 0,(function(){n.manager.itemError(t);n.manager.itemEnd(t)}))}function deserializeImage(t){if(typeof t===\"string\"){const e=t;const i=/^(\\/\\/)|([a-z]+:(\\/\\/)?)/i.test(e)?e:n.resourcePath+e;return loadImage(i)}return t.data?{data:getTypedArray(t.type,t.data),width:t.width,height:t.height}:null}if(t!==void 0&&t.length>0){const n=new LoadingManager(e);r=new ImageLoader(n);r.setCrossOrigin(this.crossOrigin);for(let e=0,n=t.length;e<n;e++){const n=t[e];const r=n.url;if(Array.isArray(r)){const t=[];for(let e=0,n=r.length;e<n;e++){const n=r[e];const i=deserializeImage(n);i!==null&&(i instanceof HTMLImageElement?t.push(i):t.push(new DataTexture(i.data,i.width,i.height)))}i[n.uuid]=new Source(t)}else{const t=deserializeImage(n.url);i[n.uuid]=new Source(t)}}}return i}async parseImagesAsync(t){const e=this;const n={};let i;async function deserializeImage(t){if(typeof t===\"string\"){const n=t;const r=/^(\\/\\/)|([a-z]+:(\\/\\/)?)/i.test(n)?n:e.resourcePath+n;return await i.loadAsync(r)}return t.data?{data:getTypedArray(t.type,t.data),width:t.width,height:t.height}:null}if(t!==void 0&&t.length>0){i=new ImageLoader(this.manager);i.setCrossOrigin(this.crossOrigin);for(let e=0,i=t.length;e<i;e++){const i=t[e];const r=i.url;if(Array.isArray(r)){const t=[];for(let e=0,n=r.length;e<n;e++){const n=r[e];const i=await deserializeImage(n);i!==null&&(i instanceof HTMLImageElement?t.push(i):t.push(new DataTexture(i.data,i.width,i.height)))}n[i.uuid]=new Source(t)}else{const t=await deserializeImage(i.url);n[i.uuid]=new Source(t)}}}return n}parseTextures(t,e){function parseConstant(t,e){if(typeof t===\"number\")return t;console.warn(\"THREE.ObjectLoader.parseTexture: Constant should be in numeric form.\",t);return e[t]}const n={};if(t!==void 0)for(let i=0,r=t.length;i<r;i++){const r=t[i];r.image===void 0&&console.warn('THREE.ObjectLoader: No \"image\" specified for',r.uuid);e[r.image]===void 0&&console.warn(\"THREE.ObjectLoader: Undefined image\",r.image);const s=e[r.image];const a=s.data;let o;if(Array.isArray(a)){o=new CubeTexture;a.length===6&&(o.needsUpdate=true)}else{o=a&&a.data?new DataTexture:new Texture;a&&(o.needsUpdate=true)}o.source=s;o.uuid=r.uuid;r.name!==void 0&&(o.name=r.name);r.mapping!==void 0&&(o.mapping=parseConstant(r.mapping,$c));r.channel!==void 0&&(o.channel=r.channel);r.offset!==void 0&&o.offset.fromArray(r.offset);r.repeat!==void 0&&o.repeat.fromArray(r.repeat);r.center!==void 0&&o.center.fromArray(r.center);r.rotation!==void 0&&(o.rotation=r.rotation);if(r.wrap!==void 0){o.wrapS=parseConstant(r.wrap[0],th);o.wrapT=parseConstant(r.wrap[1],th)}r.format!==void 0&&(o.format=r.format);r.internalFormat!==void 0&&(o.internalFormat=r.internalFormat);r.type!==void 0&&(o.type=r.type);r.colorSpace!==void 0&&(o.colorSpace=r.colorSpace);r.minFilter!==void 0&&(o.minFilter=parseConstant(r.minFilter,eh));r.magFilter!==void 0&&(o.magFilter=parseConstant(r.magFilter,eh));r.anisotropy!==void 0&&(o.anisotropy=r.anisotropy);r.flipY!==void 0&&(o.flipY=r.flipY);r.generateMipmaps!==void 0&&(o.generateMipmaps=r.generateMipmaps);r.premultiplyAlpha!==void 0&&(o.premultiplyAlpha=r.premultiplyAlpha);r.unpackAlignment!==void 0&&(o.unpackAlignment=r.unpackAlignment);r.compareFunction!==void 0&&(o.compareFunction=r.compareFunction);r.userData!==void 0&&(o.userData=r.userData);n[r.uuid]=o}return n}parseObject(t,e,n,i,r){let s;function getGeometry(t){e[t]===void 0&&console.warn(\"THREE.ObjectLoader: Undefined geometry\",t);return e[t]}function getMaterial(t){if(t!==void 0){if(Array.isArray(t)){const e=[];for(let i=0,r=t.length;i<r;i++){const r=t[i];n[r]===void 0&&console.warn(\"THREE.ObjectLoader: Undefined material\",r);e.push(n[r])}return e}n[t]===void 0&&console.warn(\"THREE.ObjectLoader: Undefined material\",t);return n[t]}}function getTexture(t){i[t]===void 0&&console.warn(\"THREE.ObjectLoader: Undefined texture\",t);return i[t]}let a,o;switch(t.type){case\"Scene\":s=new Scene;t.background!==void 0&&(Number.isInteger(t.background)?s.background=new Color(t.background):s.background=getTexture(t.background));t.environment!==void 0&&(s.environment=getTexture(t.environment));if(t.fog!==void 0){t.fog.type===\"Fog\"?s.fog=new Fog(t.fog.color,t.fog.near,t.fog.far):t.fog.type===\"FogExp2\"&&(s.fog=new FogExp2(t.fog.color,t.fog.density));t.fog.name!==\"\"&&(s.fog.name=t.fog.name)}t.backgroundBlurriness!==void 0&&(s.backgroundBlurriness=t.backgroundBlurriness);t.backgroundIntensity!==void 0&&(s.backgroundIntensity=t.backgroundIntensity);t.backgroundRotation!==void 0&&s.backgroundRotation.fromArray(t.backgroundRotation);t.environmentIntensity!==void 0&&(s.environmentIntensity=t.environmentIntensity);t.environmentRotation!==void 0&&s.environmentRotation.fromArray(t.environmentRotation);break;case\"PerspectiveCamera\":s=new PerspectiveCamera(t.fov,t.aspect,t.near,t.far);t.focus!==void 0&&(s.focus=t.focus);t.zoom!==void 0&&(s.zoom=t.zoom);t.filmGauge!==void 0&&(s.filmGauge=t.filmGauge);t.filmOffset!==void 0&&(s.filmOffset=t.filmOffset);t.view!==void 0&&(s.view=Object.assign({},t.view));break;case\"OrthographicCamera\":s=new OrthographicCamera(t.left,t.right,t.top,t.bottom,t.near,t.far);t.zoom!==void 0&&(s.zoom=t.zoom);t.view!==void 0&&(s.view=Object.assign({},t.view));break;case\"AmbientLight\":s=new AmbientLight(t.color,t.intensity);break;case\"DirectionalLight\":s=new DirectionalLight(t.color,t.intensity);s.target=t.target||\"\";break;case\"PointLight\":s=new PointLight(t.color,t.intensity,t.distance,t.decay);break;case\"RectAreaLight\":s=new RectAreaLight(t.color,t.intensity,t.width,t.height);break;case\"SpotLight\":s=new SpotLight(t.color,t.intensity,t.distance,t.angle,t.penumbra,t.decay);s.target=t.target||\"\";break;case\"HemisphereLight\":s=new HemisphereLight(t.color,t.groundColor,t.intensity);break;case\"LightProbe\":s=(new LightProbe).fromJSON(t);break;case\"SkinnedMesh\":a=getGeometry(t.geometry);o=getMaterial(t.material);s=new SkinnedMesh(a,o);t.bindMode!==void 0&&(s.bindMode=t.bindMode);t.bindMatrix!==void 0&&s.bindMatrix.fromArray(t.bindMatrix);t.skeleton!==void 0&&(s.skeleton=t.skeleton);break;case\"Mesh\":a=getGeometry(t.geometry);o=getMaterial(t.material);s=new Mesh(a,o);break;case\"InstancedMesh\":a=getGeometry(t.geometry);o=getMaterial(t.material);const e=t.count;const n=t.instanceMatrix;const i=t.instanceColor;s=new InstancedMesh(a,o,e);s.instanceMatrix=new InstancedBufferAttribute(new Float32Array(n.array),16);i!==void 0&&(s.instanceColor=new InstancedBufferAttribute(new Float32Array(i.array),i.itemSize));break;case\"BatchedMesh\":a=getGeometry(t.geometry);o=getMaterial(t.material);s=new BatchedMesh(t.maxInstanceCount,t.maxVertexCount,t.maxIndexCount,o);s.geometry=a;s.perObjectFrustumCulled=t.perObjectFrustumCulled;s.sortObjects=t.sortObjects;s._drawRanges=t.drawRanges;s._reservedRanges=t.reservedRanges;s._visibility=t.visibility;s._active=t.active;s._bounds=t.bounds.map((t=>{const e=new Box3;e.min.fromArray(t.boxMin);e.max.fromArray(t.boxMax);const n=new Sphere;n.radius=t.sphereRadius;n.center.fromArray(t.sphereCenter);return{boxInitialized:t.boxInitialized,box:e,sphereInitialized:t.sphereInitialized,sphere:n}}));s._maxInstanceCount=t.maxInstanceCount;s._maxVertexCount=t.maxVertexCount;s._maxIndexCount=t.maxIndexCount;s._geometryInitialized=t.geometryInitialized;s._geometryCount=t.geometryCount;s._matricesTexture=getTexture(t.matricesTexture.uuid);t.colorsTexture!==void 0&&(s._colorsTexture=getTexture(t.colorsTexture.uuid));break;case\"LOD\":s=new LOD;break;case\"Line\":s=new Line(getGeometry(t.geometry),getMaterial(t.material));break;case\"LineLoop\":s=new LineLoop(getGeometry(t.geometry),getMaterial(t.material));break;case\"LineSegments\":s=new LineSegments(getGeometry(t.geometry),getMaterial(t.material));break;case\"PointCloud\":case\"Points\":s=new Points(getGeometry(t.geometry),getMaterial(t.material));break;case\"Sprite\":s=new Sprite(getMaterial(t.material));break;case\"Group\":s=new Group;break;case\"Bone\":s=new Bone;break;default:s=new Object3D}s.uuid=t.uuid;t.name!==void 0&&(s.name=t.name);if(t.matrix!==void 0){s.matrix.fromArray(t.matrix);t.matrixAutoUpdate!==void 0&&(s.matrixAutoUpdate=t.matrixAutoUpdate);s.matrixAutoUpdate&&s.matrix.decompose(s.position,s.quaternion,s.scale)}else{t.position!==void 0&&s.position.fromArray(t.position);t.rotation!==void 0&&s.rotation.fromArray(t.rotation);t.quaternion!==void 0&&s.quaternion.fromArray(t.quaternion);t.scale!==void 0&&s.scale.fromArray(t.scale)}t.up!==void 0&&s.up.fromArray(t.up);t.castShadow!==void 0&&(s.castShadow=t.castShadow);t.receiveShadow!==void 0&&(s.receiveShadow=t.receiveShadow);if(t.shadow){t.shadow.intensity!==void 0&&(s.shadow.intensity=t.shadow.intensity);t.shadow.bias!==void 0&&(s.shadow.bias=t.shadow.bias);t.shadow.normalBias!==void 0&&(s.shadow.normalBias=t.shadow.normalBias);t.shadow.radius!==void 0&&(s.shadow.radius=t.shadow.radius);t.shadow.mapSize!==void 0&&s.shadow.mapSize.fromArray(t.shadow.mapSize);t.shadow.camera!==void 0&&(s.shadow.camera=this.parseObject(t.shadow.camera))}t.visible!==void 0&&(s.visible=t.visible);t.frustumCulled!==void 0&&(s.frustumCulled=t.frustumCulled);t.renderOrder!==void 0&&(s.renderOrder=t.renderOrder);t.userData!==void 0&&(s.userData=t.userData);t.layers!==void 0&&(s.layers.mask=t.layers);if(t.children!==void 0){const a=t.children;for(let t=0;t<a.length;t++)s.add(this.parseObject(a[t],e,n,i,r))}if(t.animations!==void 0){const e=t.animations;for(let t=0;t<e.length;t++){const n=e[t];s.animations.push(r[n])}}if(t.type===\"LOD\"){t.autoUpdate!==void 0&&(s.autoUpdate=t.autoUpdate);const e=t.levels;for(let t=0;t<e.length;t++){const n=e[t];const i=s.getObjectByProperty(\"uuid\",n.object);i!==void 0&&s.addLevel(i,n.distance,n.hysteresis)}}return s}bindSkeletons(t,e){Object.keys(e).length!==0&&t.traverse((function(t){if(t.isSkinnedMesh===true&&t.skeleton!==void 0){const n=e[t.skeleton];n===void 0?console.warn(\"THREE.ObjectLoader: No skeleton found with UUID:\",t.skeleton):t.bind(n,t.bindMatrix)}}))}bindLightTargets(t){t.traverse((function(e){if(e.isDirectionalLight||e.isSpotLight){const n=e.target;const i=t.getObjectByProperty(\"uuid\",n);e.target=i!==void 0?i:new Object3D}}))}}const $c={UVMapping:lt,CubeReflectionMapping:ct,CubeRefractionMapping:ht,EquirectangularReflectionMapping:ut,EquirectangularRefractionMapping:dt,CubeUVReflectionMapping:pt};const th={RepeatWrapping:ft,ClampToEdgeWrapping:mt,MirroredRepeatWrapping:gt};const eh={NearestFilter:vt,NearestMipmapNearestFilter:_t,NearestMipmapLinearFilter:yt,LinearFilter:St,LinearMipmapNearestFilter:bt,LinearMipmapLinearFilter:wt};class ImageBitmapLoader extends Loader{constructor(t){super(t);this.isImageBitmapLoader=true;typeof createImageBitmap===\"undefined\"&&console.warn(\"THREE.ImageBitmapLoader: createImageBitmap() not supported.\");typeof fetch===\"undefined\"&&console.warn(\"THREE.ImageBitmapLoader: fetch() not supported.\");this.options={premultiplyAlpha:\"none\"}}setOptions(t){this.options=t;return this}load(t,e,n,i){t===void 0&&(t=\"\");this.path!==void 0&&(t=this.path+t);t=this.manager.resolveURL(t);const r=this;const s=Wc.get(t);if(s!==void 0){r.manager.itemStart(t);if(s.then){s.then((n=>{e&&e(n);r.manager.itemEnd(t)})).catch((t=>{i&&i(t)}));return}setTimeout((function(){e&&e(s);r.manager.itemEnd(t)}),0);return s}const a={};a.credentials=this.crossOrigin===\"anonymous\"?\"same-origin\":\"include\";a.headers=this.requestHeader;const o=fetch(t,a).then((function(t){return t.blob()})).then((function(t){return createImageBitmap(t,Object.assign(r.options,{colorSpaceConversion:\"none\"}))})).then((function(n){Wc.add(t,n);e&&e(n);r.manager.itemEnd(t);return n})).catch((function(e){i&&i(e);Wc.remove(t);r.manager.itemError(t);r.manager.itemEnd(t)}));Wc.add(t,o);r.manager.itemStart(t)}}let nh;class AudioContext{static getContext(){nh===void 0&&(nh=new(window.AudioContext||window.webkitAudioContext));return nh}static setContext(t){nh=t}}class AudioLoader extends Loader{constructor(t){super(t)}load(t,e,n,i){const r=this;const s=new FileLoader(this.manager);s.setResponseType(\"arraybuffer\");s.setPath(this.path);s.setRequestHeader(this.requestHeader);s.setWithCredentials(this.withCredentials);s.load(t,(function(t){try{const n=t.slice(0);const i=AudioContext.getContext();i.decodeAudioData(n,(function(t){e(t)})).catch(handleError)}catch(t){handleError(t)}}),n,i);function handleError(e){i?i(e):console.error(e);r.manager.itemError(t)}}}const ih=new Matrix4;const rh=new Matrix4;const sh=new Matrix4;class StereoCamera{constructor(){this.type=\"StereoCamera\";this.aspect=1;this.eyeSep=.064;this.cameraL=new PerspectiveCamera;this.cameraL.layers.enable(1);this.cameraL.matrixAutoUpdate=false;this.cameraR=new PerspectiveCamera;this.cameraR.layers.enable(2);this.cameraR.matrixAutoUpdate=false;this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(t){const e=this._cache;const n=e.focus!==t.focus||e.fov!==t.fov||e.aspect!==t.aspect*this.aspect||e.near!==t.near||e.far!==t.far||e.zoom!==t.zoom||e.eyeSep!==this.eyeSep;if(n){e.focus=t.focus;e.fov=t.fov;e.aspect=t.aspect*this.aspect;e.near=t.near;e.far=t.far;e.zoom=t.zoom;e.eyeSep=this.eyeSep;sh.copy(t.projectionMatrix);const n=e.eyeSep/2;const i=n*e.near/e.focus;const r=e.near*Math.tan(Hn*e.fov*.5)/e.zoom;let s,a;rh.elements[12]=-n;ih.elements[12]=n;s=-r*e.aspect+i;a=r*e.aspect+i;sh.elements[0]=2*e.near/(a-s);sh.elements[8]=(a+s)/(a-s);this.cameraL.projectionMatrix.copy(sh);s=-r*e.aspect-i;a=r*e.aspect-i;sh.elements[0]=2*e.near/(a-s);sh.elements[8]=(a+s)/(a-s);this.cameraR.projectionMatrix.copy(sh)}this.cameraL.matrixWorld.copy(t.matrixWorld).multiply(rh);this.cameraR.matrixWorld.copy(t.matrixWorld).multiply(ih)}}class Clock{constructor(t=true){this.autoStart=t;this.startTime=0;this.oldTime=0;this.elapsedTime=0;this.running=false}start(){this.startTime=now();this.oldTime=this.startTime;this.elapsedTime=0;this.running=true}stop(){this.getElapsedTime();this.running=false;this.autoStart=false}getElapsedTime(){this.getDelta();return this.elapsedTime}getDelta(){let t=0;if(this.autoStart&&!this.running){this.start();return 0}if(this.running){const e=now();t=(e-this.oldTime)/1e3;this.oldTime=e;this.elapsedTime+=t}return t}}function now(){return(typeof performance===\"undefined\"?Date:performance).now()}const ah=new Vector3;const oh=new Quaternion;const lh=new Vector3;const ch=new Vector3;class AudioListener extends Object3D{constructor(){super();this.type=\"AudioListener\";this.context=AudioContext.getContext();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=null;this.timeDelta=0;this._clock=new Clock}getInput(){return this.gain}removeFilter(){if(this.filter!==null){this.gain.disconnect(this.filter);this.filter.disconnect(this.context.destination);this.gain.connect(this.context.destination);this.filter=null}return this}getFilter(){return this.filter}setFilter(t){if(this.filter!==null){this.gain.disconnect(this.filter);this.filter.disconnect(this.context.destination)}else this.gain.disconnect(this.context.destination);this.filter=t;this.gain.connect(this.filter);this.filter.connect(this.context.destination);return this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(t){this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01);return this}updateMatrixWorld(t){super.updateMatrixWorld(t);const e=this.context.listener;const n=this.up;this.timeDelta=this._clock.getDelta();this.matrixWorld.decompose(ah,oh,lh);ch.set(0,0,-1).applyQuaternion(oh);if(e.positionX){const t=this.context.currentTime+this.timeDelta;e.positionX.linearRampToValueAtTime(ah.x,t);e.positionY.linearRampToValueAtTime(ah.y,t);e.positionZ.linearRampToValueAtTime(ah.z,t);e.forwardX.linearRampToValueAtTime(ch.x,t);e.forwardY.linearRampToValueAtTime(ch.y,t);e.forwardZ.linearRampToValueAtTime(ch.z,t);e.upX.linearRampToValueAtTime(n.x,t);e.upY.linearRampToValueAtTime(n.y,t);e.upZ.linearRampToValueAtTime(n.z,t)}else{e.setPosition(ah.x,ah.y,ah.z);e.setOrientation(ch.x,ch.y,ch.z,n.x,n.y,n.z)}}}class Audio extends Object3D{constructor(t){super();this.type=\"Audio\";this.listener=t;this.context=t.context;this.gain=this.context.createGain();this.gain.connect(t.getInput());this.autoplay=false;this.buffer=null;this.detune=0;this.loop=false;this.loopStart=0;this.loopEnd=0;this.offset=0;this.duration=void 0;this.playbackRate=1;this.isPlaying=false;this.hasPlaybackControl=true;this.source=null;this.sourceType=\"empty\";this._startedAt=0;this._progress=0;this._connected=false;this.filters=[]}getOutput(){return this.gain}setNodeSource(t){this.hasPlaybackControl=false;this.sourceType=\"audioNode\";this.source=t;this.connect();return this}setMediaElementSource(t){this.hasPlaybackControl=false;this.sourceType=\"mediaNode\";this.source=this.context.createMediaElementSource(t);this.connect();return this}setMediaStreamSource(t){this.hasPlaybackControl=false;this.sourceType=\"mediaStreamNode\";this.source=this.context.createMediaStreamSource(t);this.connect();return this}setBuffer(t){this.buffer=t;this.sourceType=\"buffer\";this.autoplay&&this.play();return this}play(t=0){if(this.isPlaying===true){console.warn(\"THREE.Audio: Audio is already playing.\");return}if(this.hasPlaybackControl===false){console.warn(\"THREE.Audio: this Audio has no playback control.\");return}this._startedAt=this.context.currentTime+t;const e=this.context.createBufferSource();e.buffer=this.buffer;e.loop=this.loop;e.loopStart=this.loopStart;e.loopEnd=this.loopEnd;e.onended=this.onEnded.bind(this);e.start(this._startedAt,this._progress+this.offset,this.duration);this.isPlaying=true;this.source=e;this.setDetune(this.detune);this.setPlaybackRate(this.playbackRate);return this.connect()}pause(){if(this.hasPlaybackControl!==false){if(this.isPlaying===true){this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate;this.loop===true&&(this._progress=this._progress%(this.duration||this.buffer.duration));this.source.stop();this.source.onended=null;this.isPlaying=false}return this}console.warn(\"THREE.Audio: this Audio has no playback control.\")}stop(){if(this.hasPlaybackControl!==false){this._progress=0;if(this.source!==null){this.source.stop();this.source.onended=null}this.isPlaying=false;return this}console.warn(\"THREE.Audio: this Audio has no playback control.\")}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let t=1,e=this.filters.length;t<e;t++)this.filters[t-1].connect(this.filters[t]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());this._connected=true;return this}disconnect(){if(this._connected!==false){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(let t=1,e=this.filters.length;t<e;t++)this.filters[t-1].disconnect(this.filters[t]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());this._connected=false;return this}}getFilters(){return this.filters}setFilters(t){t||(t=[]);if(this._connected===true){this.disconnect();this.filters=t.slice();this.connect()}else this.filters=t.slice();return this}setDetune(t){this.detune=t;this.isPlaying===true&&this.source.detune!==void 0&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01);return this}getDetune(){return this.detune}getFilter(){return this.getFilters()[0]}setFilter(t){return this.setFilters(t?[t]:[])}setPlaybackRate(t){if(this.hasPlaybackControl!==false){this.playbackRate=t;this.isPlaying===true&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01);return this}console.warn(\"THREE.Audio: this Audio has no playback control.\")}getPlaybackRate(){return this.playbackRate}onEnded(){this.isPlaying=false}getLoop(){if(this.hasPlaybackControl===false){console.warn(\"THREE.Audio: this Audio has no playback control.\");return false}return this.loop}setLoop(t){if(this.hasPlaybackControl!==false){this.loop=t;this.isPlaying===true&&(this.source.loop=this.loop);return this}console.warn(\"THREE.Audio: this Audio has no playback control.\")}setLoopStart(t){this.loopStart=t;return this}setLoopEnd(t){this.loopEnd=t;return this}getVolume(){return this.gain.gain.value}setVolume(t){this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01);return this}}const hh=new Vector3;const uh=new Quaternion;const dh=new Vector3;const ph=new Vector3;class PositionalAudio extends Audio{constructor(t){super(t);this.panner=this.context.createPanner();this.panner.panningModel=\"HRTF\";this.panner.connect(this.gain)}connect(){super.connect();this.panner.connect(this.gain)}disconnect(){super.disconnect();this.panner.disconnect(this.gain)}getOutput(){return this.panner}getRefDistance(){return this.panner.refDistance}setRefDistance(t){this.panner.refDistance=t;return this}getRolloffFactor(){return this.panner.rolloffFactor}setRolloffFactor(t){this.panner.rolloffFactor=t;return this}getDistanceModel(){return this.panner.distanceModel}setDistanceModel(t){this.panner.distanceModel=t;return this}getMaxDistance(){return this.panner.maxDistance}setMaxDistance(t){this.panner.maxDistance=t;return this}setDirectionalCone(t,e,n){this.panner.coneInnerAngle=t;this.panner.coneOuterAngle=e;this.panner.coneOuterGain=n;return this}updateMatrixWorld(t){super.updateMatrixWorld(t);if(this.hasPlaybackControl===true&&this.isPlaying===false)return;this.matrixWorld.decompose(hh,uh,dh);ph.set(0,0,1).applyQuaternion(uh);const e=this.panner;if(e.positionX){const t=this.context.currentTime+this.listener.timeDelta;e.positionX.linearRampToValueAtTime(hh.x,t);e.positionY.linearRampToValueAtTime(hh.y,t);e.positionZ.linearRampToValueAtTime(hh.z,t);e.orientationX.linearRampToValueAtTime(ph.x,t);e.orientationY.linearRampToValueAtTime(ph.y,t);e.orientationZ.linearRampToValueAtTime(ph.z,t)}else{e.setPosition(hh.x,hh.y,hh.z);e.setOrientation(ph.x,ph.y,ph.z)}}}class AudioAnalyser{constructor(t,e=2048){this.analyser=t.context.createAnalyser();this.analyser.fftSize=e;this.data=new Uint8Array(this.analyser.frequencyBinCount);t.getOutput().connect(this.analyser)}getFrequencyData(){this.analyser.getByteFrequencyData(this.data);return this.data}getAverageFrequency(){let t=0;const e=this.getFrequencyData();for(let n=0;n<e.length;n++)t+=e[n];return t/e.length}}class PropertyMixer{constructor(t,e,n){this.binding=t;this.valueSize=n;let i,r,s;switch(e){case\"quaternion\":i=this._slerp;r=this._slerpAdditive;s=this._setAdditiveIdentityQuaternion;this.buffer=new Float64Array(n*6);this._workIndex=5;break;case\"string\":case\"bool\":i=this._select;r=this._select;s=this._setAdditiveIdentityOther;this.buffer=new Array(n*5);break;default:i=this._lerp;r=this._lerpAdditive;s=this._setAdditiveIdentityNumeric;this.buffer=new Float64Array(n*5)}this._mixBufferRegion=i;this._mixBufferRegionAdditive=r;this._setIdentity=s;this._origIndex=3;this._addIndex=4;this.cumulativeWeight=0;this.cumulativeWeightAdditive=0;this.useCount=0;this.referenceCount=0}accumulate(t,e){const n=this.buffer,i=this.valueSize,r=t*i+i;let s=this.cumulativeWeight;if(s===0){for(let t=0;t!==i;++t)n[r+t]=n[t];s=e}else{s+=e;const t=e/s;this._mixBufferRegion(n,r,0,t,i)}this.cumulativeWeight=s}accumulateAdditive(t){const e=this.buffer,n=this.valueSize,i=n*this._addIndex;this.cumulativeWeightAdditive===0&&this._setIdentity();this._mixBufferRegionAdditive(e,i,0,t,n);this.cumulativeWeightAdditive+=t}apply(t){const e=this.valueSize,n=this.buffer,i=t*e+e,r=this.cumulativeWeight,s=this.cumulativeWeightAdditive,a=this.binding;this.cumulativeWeight=0;this.cumulativeWeightAdditive=0;if(r<1){const t=e*this._origIndex;this._mixBufferRegion(n,i,t,1-r,e)}s>0&&this._mixBufferRegionAdditive(n,i,this._addIndex*e,1,e);for(let t=e,r=e+e;t!==r;++t)if(n[t]!==n[t+e]){a.setValue(n,i);break}}saveOriginalState(){const t=this.binding;const e=this.buffer,n=this.valueSize,i=n*this._origIndex;t.getValue(e,i);for(let t=n,r=i;t!==r;++t)e[t]=e[i+t%n];this._setIdentity();this.cumulativeWeight=0;this.cumulativeWeightAdditive=0}restoreOriginalState(){const t=this.valueSize*3;this.binding.setValue(this.buffer,t)}_setAdditiveIdentityNumeric(){const t=this._addIndex*this.valueSize;const e=t+this.valueSize;for(let n=t;n<e;n++)this.buffer[n]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric();this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){const t=this._origIndex*this.valueSize;const e=this._addIndex*this.valueSize;for(let n=0;n<this.valueSize;n++)this.buffer[e+n]=this.buffer[t+n]}_select(t,e,n,i,r){if(i>=.5)for(let i=0;i!==r;++i)t[e+i]=t[n+i]}_slerp(t,e,n,i){Quaternion.slerpFlat(t,e,t,e,t,n,i)}_slerpAdditive(t,e,n,i,r){const s=this._workIndex*r;Quaternion.multiplyQuaternionsFlat(t,s,t,e,t,n);Quaternion.slerpFlat(t,e,t,e,t,s,i)}_lerp(t,e,n,i,r){const s=1-i;for(let a=0;a!==r;++a){const r=e+a;t[r]=t[r]*s+t[n+a]*i}}_lerpAdditive(t,e,n,i,r){for(let s=0;s!==r;++s){const r=e+s;t[r]=t[r]+t[n+s]*i}}}const fh=\"\\\\[\\\\]\\\\.:\\\\/\";const mh=new RegExp(\"[\"+fh+\"]\",\"g\");const gh=\"[^\"+fh+\"]\";const vh=\"[^\"+fh.replace(\"\\\\.\",\"\")+\"]\";const _h=/((?:WC+[\\/:])*)/.source.replace(\"WC\",gh);const xh=/(WCOD+)?/.source.replace(\"WCOD\",vh);const yh=/(?:\\.(WC+)(?:\\[(.+)\\])?)?/.source.replace(\"WC\",gh);const Mh=/\\.(WC+)(?:\\[(.+)\\])?/.source.replace(\"WC\",gh);const Sh=new RegExp(\"^\"+_h+xh+yh+Mh+\"$\");const bh=[\"material\",\"materials\",\"bones\",\"map\"];class Composite{constructor(t,e,n){const i=n||PropertyBinding.parseTrackName(e);this._targetGroup=t;this._bindings=t.subscribe_(e,i)}getValue(t,e){this.bind();const n=this._targetGroup.nCachedObjects_,i=this._bindings[n];i!==void 0&&i.getValue(t,e)}setValue(t,e){const n=this._bindings;for(let i=this._targetGroup.nCachedObjects_,r=n.length;i!==r;++i)n[i].setValue(t,e)}bind(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].bind()}unbind(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].unbind()}}class PropertyBinding{constructor(t,e,n){this.path=e;this.parsedPath=n||PropertyBinding.parseTrackName(e);this.node=PropertyBinding.findNode(t,this.parsedPath.nodeName);this.rootNode=t;this.getValue=this._getValue_unbound;this.setValue=this._setValue_unbound}static create(t,e,n){return t&&t.isAnimationObjectGroup?new PropertyBinding.Composite(t,e,n):new PropertyBinding(t,e,n)}\n/**\n\t * Replaces spaces with underscores and removes unsupported characters from\n\t * node names, to ensure compatibility with parseTrackName().\n\t *\n\t * @param {string} name Node name to be sanitized.\n\t * @return {string}\n\t */static sanitizeNodeName(t){return t.replace(/\\s/g,\"_\").replace(mh,\"\")}static parseTrackName(t){const e=Sh.exec(t);if(e===null)throw new Error(\"PropertyBinding: Cannot parse trackName: \"+t);const n={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]};const i=n.nodeName&&n.nodeName.lastIndexOf(\".\");if(i!==void 0&&i!==-1){const t=n.nodeName.substring(i+1);if(bh.indexOf(t)!==-1){n.nodeName=n.nodeName.substring(0,i);n.objectName=t}}if(n.propertyName===null||n.propertyName.length===0)throw new Error(\"PropertyBinding: can not parse propertyName from trackName: \"+t);return n}static findNode(t,e){if(e===void 0||e===\"\"||e===\".\"||e===-1||e===t.name||e===t.uuid)return t;if(t.skeleton){const n=t.skeleton.getBoneByName(e);if(n!==void 0)return n}if(t.children){const searchNodeSubtree=function(t){for(let n=0;n<t.length;n++){const i=t[n];if(i.name===e||i.uuid===e)return i;const r=searchNodeSubtree(i.children);if(r)return r}return null};const n=searchNodeSubtree(t.children);if(n)return n}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(t,e){t[e]=this.targetObject[this.propertyName]}_getValue_array(t,e){const n=this.resolvedProperty;for(let i=0,r=n.length;i!==r;++i)t[e++]=n[i]}_getValue_arrayElement(t,e){t[e]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(t,e){this.resolvedProperty.toArray(t,e)}_setValue_direct(t,e){this.targetObject[this.propertyName]=t[e]}_setValue_direct_setNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e];this.targetObject.needsUpdate=true}_setValue_direct_setMatrixWorldNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e];this.targetObject.matrixWorldNeedsUpdate=true}_setValue_array(t,e){const n=this.resolvedProperty;for(let i=0,r=n.length;i!==r;++i)n[i]=t[e++]}_setValue_array_setNeedsUpdate(t,e){const n=this.resolvedProperty;for(let i=0,r=n.length;i!==r;++i)n[i]=t[e++];this.targetObject.needsUpdate=true}_setValue_array_setMatrixWorldNeedsUpdate(t,e){const n=this.resolvedProperty;for(let i=0,r=n.length;i!==r;++i)n[i]=t[e++];this.targetObject.matrixWorldNeedsUpdate=true}_setValue_arrayElement(t,e){this.resolvedProperty[this.propertyIndex]=t[e]}_setValue_arrayElement_setNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e];this.targetObject.needsUpdate=true}_setValue_arrayElement_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e];this.targetObject.matrixWorldNeedsUpdate=true}_setValue_fromArray(t,e){this.resolvedProperty.fromArray(t,e)}_setValue_fromArray_setNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e);this.targetObject.needsUpdate=true}_setValue_fromArray_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e);this.targetObject.matrixWorldNeedsUpdate=true}_getValue_unbound(t,e){this.bind();this.getValue(t,e)}_setValue_unbound(t,e){this.bind();this.setValue(t,e)}bind(){let t=this.node;const e=this.parsedPath;const n=e.objectName;const i=e.propertyName;let r=e.propertyIndex;if(!t){t=PropertyBinding.findNode(this.rootNode,e.nodeName);this.node=t}this.getValue=this._getValue_unavailable;this.setValue=this._setValue_unavailable;if(!t){console.warn(\"THREE.PropertyBinding: No target node found for track: \"+this.path+\".\");return}if(n){let i=e.objectIndex;switch(n){case\"materials\":if(!t.material){console.error(\"THREE.PropertyBinding: Can not bind to material as node does not have a material.\",this);return}if(!t.material.materials){console.error(\"THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.\",this);return}t=t.material.materials;break;case\"bones\":if(!t.skeleton){console.error(\"THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.\",this);return}t=t.skeleton.bones;for(let e=0;e<t.length;e++)if(t[e].name===i){i=e;break}break;case\"map\":if(\"map\"in t){t=t.map;break}if(!t.material){console.error(\"THREE.PropertyBinding: Can not bind to material as node does not have a material.\",this);return}if(!t.material.map){console.error(\"THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.\",this);return}t=t.material.map;break;default:if(t[n]===void 0){console.error(\"THREE.PropertyBinding: Can not bind to objectName of node undefined.\",this);return}t=t[n]}if(i!==void 0){if(t[i]===void 0){console.error(\"THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.\",this,t);return}t=t[i]}}const s=t[i];if(s===void 0){const n=e.nodeName;console.error(\"THREE.PropertyBinding: Trying to update property for track: \"+n+\".\"+i+\" but it wasn't found.\",t);return}let a=this.Versioning.None;this.targetObject=t;t.needsUpdate!==void 0?a=this.Versioning.NeedsUpdate:t.matrixWorldNeedsUpdate!==void 0&&(a=this.Versioning.MatrixWorldNeedsUpdate);let o=this.BindingType.Direct;if(r!==void 0){if(i===\"morphTargetInfluences\"){if(!t.geometry){console.error(\"THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.\",this);return}if(!t.geometry.morphAttributes){console.error(\"THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.\",this);return}t.morphTargetDictionary[r]!==void 0&&(r=t.morphTargetDictionary[r])}o=this.BindingType.ArrayElement;this.resolvedProperty=s;this.propertyIndex=r}else if(s.fromArray!==void 0&&s.toArray!==void 0){o=this.BindingType.HasFromToArray;this.resolvedProperty=s}else if(Array.isArray(s)){o=this.BindingType.EntireArray;this.resolvedProperty=s}else this.propertyName=i;this.getValue=this.GetterByBindingType[o];this.setValue=this.SetterByBindingTypeAndVersioning[o][a]}unbind(){this.node=null;this.getValue=this._getValue_unbound;this.setValue=this._setValue_unbound}}PropertyBinding.Composite=Composite;PropertyBinding.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};PropertyBinding.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};PropertyBinding.prototype.GetterByBindingType=[PropertyBinding.prototype._getValue_direct,PropertyBinding.prototype._getValue_array,PropertyBinding.prototype._getValue_arrayElement,PropertyBinding.prototype._getValue_toArray];PropertyBinding.prototype.SetterByBindingTypeAndVersioning=[[PropertyBinding.prototype._setValue_direct,PropertyBinding.prototype._setValue_direct_setNeedsUpdate,PropertyBinding.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[PropertyBinding.prototype._setValue_array,PropertyBinding.prototype._setValue_array_setNeedsUpdate,PropertyBinding.prototype._setValue_array_setMatrixWorldNeedsUpdate],[PropertyBinding.prototype._setValue_arrayElement,PropertyBinding.prototype._setValue_arrayElement_setNeedsUpdate,PropertyBinding.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[PropertyBinding.prototype._setValue_fromArray,PropertyBinding.prototype._setValue_fromArray_setNeedsUpdate,PropertyBinding.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];class AnimationObjectGroup{constructor(){this.isAnimationObjectGroup=true;this.uuid=generateUUID();this._objects=Array.prototype.slice.call(arguments);this.nCachedObjects_=0;const t={};this._indicesByUUID=t;for(let e=0,n=arguments.length;e!==n;++e)t[arguments[e].uuid]=e;this._paths=[];this._parsedPaths=[];this._bindings=[];this._bindingsIndicesByPath={};const e=this;this.stats={objects:{get total(){return e._objects.length},get inUse(){return this.total-e.nCachedObjects_}},get bindingsPerObject(){return e._bindings.length}}}add(){const t=this._objects,e=this._indicesByUUID,n=this._paths,i=this._parsedPaths,r=this._bindings,s=r.length;let a,o=t.length,l=this.nCachedObjects_;for(let c=0,h=arguments.length;c!==h;++c){const h=arguments[c],u=h.uuid;let d=e[u];if(d===void 0){d=o++;e[u]=d;t.push(h);for(let t=0,e=s;t!==e;++t)r[t].push(new PropertyBinding(h,n[t],i[t]))}else if(d<l){a=t[d];const o=--l,c=t[o];e[c.uuid]=d;t[d]=c;e[u]=o;t[o]=h;for(let t=0,e=s;t!==e;++t){const e=r[t],s=e[o];let a=e[d];e[d]=s;a===void 0&&(a=new PropertyBinding(h,n[t],i[t]));e[o]=a}}else t[d]!==a&&console.error(\"THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.\")}this.nCachedObjects_=l}remove(){const t=this._objects,e=this._indicesByUUID,n=this._bindings,i=n.length;let r=this.nCachedObjects_;for(let s=0,a=arguments.length;s!==a;++s){const a=arguments[s],o=a.uuid,l=e[o];if(l!==void 0&&l>=r){const s=r++,c=t[s];e[c.uuid]=l;t[l]=c;e[o]=s;t[s]=a;for(let t=0,e=i;t!==e;++t){const e=n[t],i=e[s],r=e[l];e[l]=i;e[s]=r}}}this.nCachedObjects_=r}uncache(){const t=this._objects,e=this._indicesByUUID,n=this._bindings,i=n.length;let r=this.nCachedObjects_,s=t.length;for(let a=0,o=arguments.length;a!==o;++a){const o=arguments[a],l=o.uuid,c=e[l];if(c!==void 0){delete e[l];if(c<r){const a=--r,o=t[a],l=--s,h=t[l];e[o.uuid]=c;t[c]=o;e[h.uuid]=a;t[a]=h;t.pop();for(let t=0,e=i;t!==e;++t){const e=n[t],i=e[a],r=e[l];e[c]=i;e[a]=r;e.pop()}}else{const r=--s,a=t[r];r>0&&(e[a.uuid]=c);t[c]=a;t.pop();for(let t=0,e=i;t!==e;++t){const e=n[t];e[c]=e[r];e.pop()}}}}this.nCachedObjects_=r}subscribe_(t,e){const n=this._bindingsIndicesByPath;let i=n[t];const r=this._bindings;if(i!==void 0)return r[i];const s=this._paths,a=this._parsedPaths,o=this._objects,l=o.length,c=this.nCachedObjects_,h=new Array(l);i=r.length;n[t]=i;s.push(t);a.push(e);r.push(h);for(let n=c,i=o.length;n!==i;++n){const i=o[n];h[n]=new PropertyBinding(i,t,e)}return h}unsubscribe_(t){const e=this._bindingsIndicesByPath,n=e[t];if(n!==void 0){const i=this._paths,r=this._parsedPaths,s=this._bindings,a=s.length-1,o=s[a],l=t[a];e[l]=n;s[n]=o;s.pop();r[n]=r[a];r.pop();i[n]=i[a];i.pop()}}}class AnimationAction{constructor(t,e,n=null,i=e.blendMode){this._mixer=t;this._clip=e;this._localRoot=n;this.blendMode=i;const r=e.tracks,s=r.length,a=new Array(s);const o={endingStart:Be,endingEnd:Be};for(let t=0;t!==s;++t){const e=r[t].createInterpolant(null);a[t]=e;e.settings=o}this._interpolantSettings=o;this._interpolants=a;this._propertyBindings=new Array(s);this._cacheIndex=null;this._byClipCacheIndex=null;this._timeScaleInterpolant=null;this._weightInterpolant=null;this.loop=Le;this._loopCount=-1;this._startTime=null;this.time=0;this.timeScale=1;this._effectiveTimeScale=1;this.weight=1;this._effectiveWeight=1;this.repetitions=Infinity;this.paused=false;this.enabled=true;this.clampWhenFinished=false;this.zeroSlopeAtStart=true;this.zeroSlopeAtEnd=true}play(){this._mixer._activateAction(this);return this}stop(){this._mixer._deactivateAction(this);return this.reset()}reset(){this.paused=false;this.enabled=true;this.time=0;this._loopCount=-1;this._startTime=null;return this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(t){this._startTime=t;return this}setLoop(t,e){this.loop=t;this.repetitions=e;return this}setEffectiveWeight(t){this.weight=t;this._effectiveWeight=this.enabled?t:0;return this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(t){return this._scheduleFading(t,0,1)}fadeOut(t){return this._scheduleFading(t,1,0)}crossFadeFrom(t,e,n){t.fadeOut(e);this.fadeIn(e);if(n){const n=this._clip.duration,i=t._clip.duration,r=i/n,s=n/i;t.warp(1,r,e);this.warp(s,1,e)}return this}crossFadeTo(t,e,n){return t.crossFadeFrom(this,e,n)}stopFading(){const t=this._weightInterpolant;if(t!==null){this._weightInterpolant=null;this._mixer._takeBackControlInterpolant(t)}return this}setEffectiveTimeScale(t){this.timeScale=t;this._effectiveTimeScale=this.paused?0:t;return this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(t){this.timeScale=this._clip.duration/t;return this.stopWarping()}syncWith(t){this.time=t.time;this.timeScale=t.timeScale;return this.stopWarping()}halt(t){return this.warp(this._effectiveTimeScale,0,t)}warp(t,e,n){const i=this._mixer,r=i.time,s=this.timeScale;let a=this._timeScaleInterpolant;if(a===null){a=i._lendControlInterpolant();this._timeScaleInterpolant=a}const o=a.parameterPositions,l=a.sampleValues;o[0]=r;o[1]=r+n;l[0]=t/s;l[1]=e/s;return this}stopWarping(){const t=this._timeScaleInterpolant;if(t!==null){this._timeScaleInterpolant=null;this._mixer._takeBackControlInterpolant(t)}return this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(t,e,n,i){if(!this.enabled){this._updateWeight(t);return}const r=this._startTime;if(r!==null){const i=(t-r)*n;if(i<0||n===0)e=0;else{this._startTime=null;e=n*i}}e*=this._updateTimeScale(t);const s=this._updateTime(e);const a=this._updateWeight(t);if(a>0){const t=this._interpolants;const e=this._propertyBindings;switch(this.blendMode){case ze:for(let n=0,i=t.length;n!==i;++n){t[n].evaluate(s);e[n].accumulateAdditive(a)}break;case Fe:default:for(let n=0,r=t.length;n!==r;++n){t[n].evaluate(s);e[n].accumulate(i,a)}}}}_updateWeight(t){let e=0;if(this.enabled){e=this.weight;const n=this._weightInterpolant;if(n!==null){const i=n.evaluate(t)[0];e*=i;if(t>n.parameterPositions[1]){this.stopFading();i===0&&(this.enabled=false)}}}this._effectiveWeight=e;return e}_updateTimeScale(t){let e=0;if(!this.paused){e=this.timeScale;const n=this._timeScaleInterpolant;if(n!==null){const i=n.evaluate(t)[0];e*=i;if(t>n.parameterPositions[1]){this.stopWarping();e===0?this.paused=true:this.timeScale=e}}}this._effectiveTimeScale=e;return e}_updateTime(t){const e=this._clip.duration;const n=this.loop;let i=this.time+t;let r=this._loopCount;const s=n===Ie;if(t===0)return r===-1?i:s&&(r&1)===1?e-i:i;if(n===Pe){if(r===-1){this._loopCount=0;this._setEndings(true,true,false)}t:{if(i>=e)i=e;else{if(!(i<0)){this.time=i;break t}i=0}this.clampWhenFinished?this.paused=true:this.enabled=false;this.time=i;this._mixer.dispatchEvent({type:\"finished\",action:this,direction:t<0?-1:1})}}else{if(r===-1)if(t>=0){r=0;this._setEndings(true,this.repetitions===0,s)}else this._setEndings(this.repetitions===0,true,s);if(i>=e||i<0){const n=Math.floor(i/e);i-=e*n;r+=Math.abs(n);const a=this.repetitions-r;if(a<=0){this.clampWhenFinished?this.paused=true:this.enabled=false;i=t>0?e:0;this.time=i;this._mixer.dispatchEvent({type:\"finished\",action:this,direction:t>0?1:-1})}else{if(a===1){const e=t<0;this._setEndings(e,!e,s)}else this._setEndings(false,false,s);this._loopCount=r;this.time=i;this._mixer.dispatchEvent({type:\"loop\",action:this,loopDelta:n})}}else this.time=i;if(s&&(r&1)===1)return e-i}return i}_setEndings(t,e,n){const i=this._interpolantSettings;if(n){i.endingStart=Oe;i.endingEnd=Oe}else{i.endingStart=t?this.zeroSlopeAtStart?Oe:Be:Ve;i.endingEnd=e?this.zeroSlopeAtEnd?Oe:Be:Ve}}_scheduleFading(t,e,n){const i=this._mixer,r=i.time;let s=this._weightInterpolant;if(s===null){s=i._lendControlInterpolant();this._weightInterpolant=s}const a=s.parameterPositions,o=s.sampleValues;a[0]=r;o[0]=e;a[1]=r+t;o[1]=n;return this}}const Th=new Float32Array(1);class AnimationMixer extends EventDispatcher{constructor(t){super();this._root=t;this._initMemoryManager();this._accuIndex=0;this.time=0;this.timeScale=1}_bindAction(t,e){const n=t._localRoot||this._root,i=t._clip.tracks,r=i.length,s=t._propertyBindings,a=t._interpolants,o=n.uuid,l=this._bindingsByRootAndName;let c=l[o];if(c===void 0){c={};l[o]=c}for(let t=0;t!==r;++t){const r=i[t],l=r.name;let h=c[l];if(h!==void 0){++h.referenceCount;s[t]=h}else{h=s[t];if(h!==void 0){if(h._cacheIndex===null){++h.referenceCount;this._addInactiveBinding(h,o,l)}continue}const i=e&&e._propertyBindings[t].binding.parsedPath;h=new PropertyMixer(PropertyBinding.create(n,l,i),r.ValueTypeName,r.getValueSize());++h.referenceCount;this._addInactiveBinding(h,o,l);s[t]=h}a[t].resultBuffer=h.buffer}}_activateAction(t){if(!this._isActiveAction(t)){if(t._cacheIndex===null){const e=(t._localRoot||this._root).uuid,n=t._clip.uuid,i=this._actionsByClip[n];this._bindAction(t,i&&i.knownActions[0]);this._addInactiveAction(t,n,e)}const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];if(n.useCount++===0){this._lendBinding(n);n.saveOriginalState()}}this._lendAction(t)}}_deactivateAction(t){if(this._isActiveAction(t)){const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];if(--n.useCount===0){n.restoreOriginalState();this._takeBackBinding(n)}}this._takeBackAction(t)}}_initMemoryManager(){this._actions=[];this._nActiveActions=0;this._actionsByClip={};this._bindings=[];this._nActiveBindings=0;this._bindingsByRootAndName={};this._controlInterpolants=[];this._nActiveControlInterpolants=0;const t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}}_isActiveAction(t){const e=t._cacheIndex;return e!==null&&e<this._nActiveActions}_addInactiveAction(t,e,n){const i=this._actions,r=this._actionsByClip;let s=r[e];if(s===void 0){s={knownActions:[t],actionByRoot:{}};t._byClipCacheIndex=0;r[e]=s}else{const e=s.knownActions;t._byClipCacheIndex=e.length;e.push(t)}t._cacheIndex=i.length;i.push(t);s.actionByRoot[n]=t}_removeInactiveAction(t){const e=this._actions,n=e[e.length-1],i=t._cacheIndex;n._cacheIndex=i;e[i]=n;e.pop();t._cacheIndex=null;const r=t._clip.uuid,s=this._actionsByClip,a=s[r],o=a.knownActions,l=o[o.length-1],c=t._byClipCacheIndex;l._byClipCacheIndex=c;o[c]=l;o.pop();t._byClipCacheIndex=null;const h=a.actionByRoot,u=(t._localRoot||this._root).uuid;delete h[u];o.length===0&&delete s[r];this._removeInactiveBindingsForAction(t)}_removeInactiveBindingsForAction(t){const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];--n.referenceCount===0&&this._removeInactiveBinding(n)}}_lendAction(t){const e=this._actions,n=t._cacheIndex,i=this._nActiveActions++,r=e[i];t._cacheIndex=i;e[i]=t;r._cacheIndex=n;e[n]=r}_takeBackAction(t){const e=this._actions,n=t._cacheIndex,i=--this._nActiveActions,r=e[i];t._cacheIndex=i;e[i]=t;r._cacheIndex=n;e[n]=r}_addInactiveBinding(t,e,n){const i=this._bindingsByRootAndName,r=this._bindings;let s=i[e];if(s===void 0){s={};i[e]=s}s[n]=t;t._cacheIndex=r.length;r.push(t)}_removeInactiveBinding(t){const e=this._bindings,n=t.binding,i=n.rootNode.uuid,r=n.path,s=this._bindingsByRootAndName,a=s[i],o=e[e.length-1],l=t._cacheIndex;o._cacheIndex=l;e[l]=o;e.pop();delete a[r];Object.keys(a).length===0&&delete s[i]}_lendBinding(t){const e=this._bindings,n=t._cacheIndex,i=this._nActiveBindings++,r=e[i];t._cacheIndex=i;e[i]=t;r._cacheIndex=n;e[n]=r}_takeBackBinding(t){const e=this._bindings,n=t._cacheIndex,i=--this._nActiveBindings,r=e[i];t._cacheIndex=i;e[i]=t;r._cacheIndex=n;e[n]=r}_lendControlInterpolant(){const t=this._controlInterpolants,e=this._nActiveControlInterpolants++;let n=t[e];if(n===void 0){n=new LinearInterpolant(new Float32Array(2),new Float32Array(2),1,Th);n.__cacheIndex=e;t[e]=n}return n}_takeBackControlInterpolant(t){const e=this._controlInterpolants,n=t.__cacheIndex,i=--this._nActiveControlInterpolants,r=e[i];t.__cacheIndex=i;e[i]=t;r.__cacheIndex=n;e[n]=r}clipAction(t,e,n){const i=e||this._root,r=i.uuid;let s=typeof t===\"string\"?AnimationClip.findByName(i,t):t;const a=s!==null?s.uuid:t;const o=this._actionsByClip[a];let l=null;n===void 0&&(n=s!==null?s.blendMode:Fe);if(o!==void 0){const t=o.actionByRoot[r];if(t!==void 0&&t.blendMode===n)return t;l=o.knownActions[0];s===null&&(s=l._clip)}if(s===null)return null;const c=new AnimationAction(this,s,e,n);this._bindAction(c,l);this._addInactiveAction(c,a,r);return c}existingAction(t,e){const n=e||this._root,i=n.uuid,r=typeof t===\"string\"?AnimationClip.findByName(n,t):t,s=r?r.uuid:t,a=this._actionsByClip[s];return a!==void 0&&a.actionByRoot[i]||null}stopAllAction(){const t=this._actions,e=this._nActiveActions;for(let n=e-1;n>=0;--n)t[n].stop();return this}update(t){t*=this.timeScale;const e=this._actions,n=this._nActiveActions,i=this.time+=t,r=Math.sign(t),s=this._accuIndex^=1;for(let a=0;a!==n;++a){const n=e[a];n._update(i,t,r,s)}const a=this._bindings,o=this._nActiveBindings;for(let t=0;t!==o;++t)a[t].apply(s);return this}setTime(t){this.time=0;for(let t=0;t<this._actions.length;t++)this._actions[t].time=0;return this.update(t)}getRoot(){return this._root}uncacheClip(t){const e=this._actions,n=t.uuid,i=this._actionsByClip,r=i[n];if(r!==void 0){const t=r.knownActions;for(let n=0,i=t.length;n!==i;++n){const i=t[n];this._deactivateAction(i);const r=i._cacheIndex,s=e[e.length-1];i._cacheIndex=null;i._byClipCacheIndex=null;s._cacheIndex=r;e[r]=s;e.pop();this._removeInactiveBindingsForAction(i)}delete i[n]}}uncacheRoot(t){const e=t.uuid,n=this._actionsByClip;for(const t in n){const i=n[t].actionByRoot,r=i[e];if(r!==void 0){this._deactivateAction(r);this._removeInactiveAction(r)}}const i=this._bindingsByRootAndName,r=i[e];if(r!==void 0)for(const t in r){const e=r[t];e.restoreOriginalState();this._removeInactiveBinding(e)}}uncacheAction(t,e){const n=this.existingAction(t,e);if(n!==null){this._deactivateAction(n);this._removeInactiveAction(n)}}}class Uniform{constructor(t){this.value=t}clone(){return new Uniform(this.value.clone===void 0?this.value:this.value.clone())}}let wh=0;class UniformsGroup extends EventDispatcher{constructor(){super();this.isUniformsGroup=true;Object.defineProperty(this,\"id\",{value:wh++});this.name=\"\";this.usage=Cn;this.uniforms=[]}add(t){this.uniforms.push(t);return this}remove(t){const e=this.uniforms.indexOf(t);e!==-1&&this.uniforms.splice(e,1);return this}setName(t){this.name=t;return this}setUsage(t){this.usage=t;return this}dispose(){this.dispatchEvent({type:\"dispose\"});return this}copy(t){this.name=t.name;this.usage=t.usage;const e=t.uniforms;this.uniforms.length=0;for(let t=0,n=e.length;t<n;t++){const n=Array.isArray(e[t])?e[t]:[e[t]];for(let t=0;t<n.length;t++)this.uniforms.push(n[t].clone())}return this}clone(){return(new this.constructor).copy(this)}}class InstancedInterleavedBuffer extends InterleavedBuffer{constructor(t,e,n=1){super(t,e);this.isInstancedInterleavedBuffer=true;this.meshPerAttribute=n}copy(t){super.copy(t);this.meshPerAttribute=t.meshPerAttribute;return this}clone(t){const e=super.clone(t);e.meshPerAttribute=this.meshPerAttribute;return e}toJSON(t){const e=super.toJSON(t);e.isInstancedInterleavedBuffer=true;e.meshPerAttribute=this.meshPerAttribute;return e}}class GLBufferAttribute{constructor(t,e,n,i,r){this.isGLBufferAttribute=true;this.name=\"\";this.buffer=t;this.type=e;this.itemSize=n;this.elementSize=i;this.count=r;this.version=0}set needsUpdate(t){t===true&&this.version++}setBuffer(t){this.buffer=t;return this}setType(t,e){this.type=t;this.elementSize=e;return this}setItemSize(t){this.itemSize=t;return this}setCount(t){this.count=t;return this}}const Eh=new Matrix4;class Raycaster{constructor(t,e,n=0,i=Infinity){this.ray=new Ray(t,e);this.near=n;this.far=i;this.camera=null;this.layers=new Layers;this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(t,e){this.ray.set(t,e)}setFromCamera(t,e){if(e.isPerspectiveCamera){this.ray.origin.setFromMatrixPosition(e.matrixWorld);this.ray.direction.set(t.x,t.y,.5).unproject(e).sub(this.ray.origin).normalize();this.camera=e}else if(e.isOrthographicCamera){this.ray.origin.set(t.x,t.y,(e.near+e.far)/(e.near-e.far)).unproject(e);this.ray.direction.set(0,0,-1).transformDirection(e.matrixWorld);this.camera=e}else console.error(\"THREE.Raycaster: Unsupported camera type: \"+e.type)}setFromXRController(t){Eh.identity().extractRotation(t.matrixWorld);this.ray.origin.setFromMatrixPosition(t.matrixWorld);this.ray.direction.set(0,0,-1).applyMatrix4(Eh);return this}intersectObject(t,e=true,n=[]){intersect(t,this,n,e);n.sort(ascSort);return n}intersectObjects(t,e=true,n=[]){for(let i=0,r=t.length;i<r;i++)intersect(t[i],this,n,e);n.sort(ascSort);return n}}function ascSort(t,e){return t.distance-e.distance}function intersect(t,e,n,i){let r=true;if(t.layers.test(e.layers)){const i=t.raycast(e,n);i===false&&(r=false)}if(r===true&&i===true){const i=t.children;for(let t=0,r=i.length;t<r;t++)intersect(i[t],e,n,true)}}class Spherical{constructor(t=1,e=0,n=0){this.radius=t;this.phi=e;this.theta=n;return this}set(t,e,n){this.radius=t;this.phi=e;this.theta=n;return this}copy(t){this.radius=t.radius;this.phi=t.phi;this.theta=t.theta;return this}makeSafe(){const t=1e-6;this.phi=Math.max(t,Math.min(Math.PI-t,this.phi));return this}setFromVector3(t){return this.setFromCartesianCoords(t.x,t.y,t.z)}setFromCartesianCoords(t,e,n){this.radius=Math.sqrt(t*t+e*e+n*n);if(this.radius===0){this.theta=0;this.phi=0}else{this.theta=Math.atan2(t,n);this.phi=Math.acos(clamp(e/this.radius,-1,1))}return this}clone(){return(new this.constructor).copy(this)}}class Cylindrical{constructor(t=1,e=0,n=0){this.radius=t;this.theta=e;this.y=n;return this}set(t,e,n){this.radius=t;this.theta=e;this.y=n;return this}copy(t){this.radius=t.radius;this.theta=t.theta;this.y=t.y;return this}setFromVector3(t){return this.setFromCartesianCoords(t.x,t.y,t.z)}setFromCartesianCoords(t,e,n){this.radius=Math.sqrt(t*t+n*n);this.theta=Math.atan2(t,n);this.y=e;return this}clone(){return(new this.constructor).copy(this)}}const Ah=new Vector2;class Box2{constructor(t=new Vector2(Infinity,Infinity),e=new Vector2(-Infinity,-Infinity)){this.isBox2=true;this.min=t;this.max=e}set(t,e){this.min.copy(t);this.max.copy(e);return this}setFromPoints(t){this.makeEmpty();for(let e=0,n=t.length;e<n;e++)this.expandByPoint(t[e]);return this}setFromCenterAndSize(t,e){const n=Ah.copy(e).multiplyScalar(.5);this.min.copy(t).sub(n);this.max.copy(t).add(n);return this}clone(){return(new this.constructor).copy(this)}copy(t){this.min.copy(t.min);this.max.copy(t.max);return this}makeEmpty(){this.min.x=this.min.y=Infinity;this.max.x=this.max.y=-Infinity;return this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}getCenter(t){return this.isEmpty()?t.set(0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(t){return this.isEmpty()?t.set(0,0):t.subVectors(this.max,this.min)}expandByPoint(t){this.min.min(t);this.max.max(t);return this}expandByVector(t){this.min.sub(t);this.max.add(t);return this}expandByScalar(t){this.min.addScalar(-t);this.max.addScalar(t);return this}containsPoint(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y)}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,Ah).distanceTo(t)}intersect(t){this.min.max(t.min);this.max.min(t.max);this.isEmpty()&&this.makeEmpty();return this}union(t){this.min.min(t.min);this.max.max(t.max);return this}translate(t){this.min.add(t);this.max.add(t);return this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}const Ch=new Vector3;const Rh=new Vector3;class Line3{constructor(t=new Vector3,e=new Vector3){this.start=t;this.end=e}set(t,e){this.start.copy(t);this.end.copy(e);return this}copy(t){this.start.copy(t.start);this.end.copy(t.end);return this}getCenter(t){return t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){Ch.subVectors(t,this.start);Rh.subVectors(this.end,this.start);const n=Rh.dot(Rh);const i=Rh.dot(Ch);let r=i/n;e&&(r=clamp(r,0,1));return r}closestPointToPoint(t,e,n){const i=this.closestPointToPointParameter(t,e);return this.delta(n).multiplyScalar(i).add(this.start)}applyMatrix4(t){this.start.applyMatrix4(t);this.end.applyMatrix4(t);return this}equals(t){return t.start.equals(this.start)&&t.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}const Ph=new Vector3;class SpotLightHelper extends Object3D{constructor(t,e){super();this.light=t;this.matrixAutoUpdate=false;this.color=e;this.type=\"SpotLightHelper\";const n=new BufferGeometry;const i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let t=0,e=1,n=32;t<n;t++,e++){const r=t/n*Math.PI*2;const s=e/n*Math.PI*2;i.push(Math.cos(r),Math.sin(r),1,Math.cos(s),Math.sin(s),1)}n.setAttribute(\"position\",new Float32BufferAttribute(i,3));const r=new LineBasicMaterial({fog:false,toneMapped:false});this.cone=new LineSegments(n,r);this.add(this.cone);this.update()}dispose(){this.cone.geometry.dispose();this.cone.material.dispose()}update(){this.light.updateWorldMatrix(true,false);this.light.target.updateWorldMatrix(true,false);if(this.parent){this.parent.updateWorldMatrix(true);this.matrix.copy(this.parent.matrixWorld).invert().multiply(this.light.matrixWorld)}else this.matrix.copy(this.light.matrixWorld);this.matrixWorld.copy(this.light.matrixWorld);const t=this.light.distance?this.light.distance:1e3;const e=t*Math.tan(this.light.angle);this.cone.scale.set(e,e,t);Ph.setFromMatrixPosition(this.light.target.matrixWorld);this.cone.lookAt(Ph);this.color!==void 0?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}}const Lh=new Vector3;const Ih=new Matrix4;const Uh=new Matrix4;class SkeletonHelper extends LineSegments{constructor(t){const e=getBoneList(t);const n=new BufferGeometry;const i=[];const r=[];const s=new Color(0,0,1);const a=new Color(0,1,0);for(let t=0;t<e.length;t++){const n=e[t];if(n.parent&&n.parent.isBone){i.push(0,0,0);i.push(0,0,0);r.push(s.r,s.g,s.b);r.push(a.r,a.g,a.b)}}n.setAttribute(\"position\",new Float32BufferAttribute(i,3));n.setAttribute(\"color\",new Float32BufferAttribute(r,3));const o=new LineBasicMaterial({vertexColors:true,depthTest:false,depthWrite:false,toneMapped:false,transparent:true});super(n,o);this.isSkeletonHelper=true;this.type=\"SkeletonHelper\";this.root=t;this.bones=e;this.matrix=t.matrixWorld;this.matrixAutoUpdate=false}updateMatrixWorld(t){const e=this.bones;const n=this.geometry;const i=n.getAttribute(\"position\");Uh.copy(this.root.matrixWorld).invert();for(let t=0,n=0;t<e.length;t++){const r=e[t];if(r.parent&&r.parent.isBone){Ih.multiplyMatrices(Uh,r.matrixWorld);Lh.setFromMatrixPosition(Ih);i.setXYZ(n,Lh.x,Lh.y,Lh.z);Ih.multiplyMatrices(Uh,r.parent.matrixWorld);Lh.setFromMatrixPosition(Ih);i.setXYZ(n+1,Lh.x,Lh.y,Lh.z);n+=2}}n.getAttribute(\"position\").needsUpdate=true;super.updateMatrixWorld(t)}dispose(){this.geometry.dispose();this.material.dispose()}}function getBoneList(t){const e=[];t.isBone===true&&e.push(t);for(let n=0;n<t.children.length;n++)e.push.apply(e,getBoneList(t.children[n]));return e}class PointLightHelper extends Mesh{constructor(t,e,n){const i=new SphereGeometry(e,4,2);const r=new MeshBasicMaterial({wireframe:true,fog:false,toneMapped:false});super(i,r);this.light=t;this.color=n;this.type=\"PointLightHelper\";this.matrix=this.light.matrixWorld;this.matrixAutoUpdate=false;this.update()}dispose(){this.geometry.dispose();this.material.dispose()}update(){this.light.updateWorldMatrix(true,false);this.color!==void 0?this.material.color.set(this.color):this.material.color.copy(this.light.color)}}const Dh=new Vector3;const Nh=new Color;const Bh=new Color;class HemisphereLightHelper extends Object3D{constructor(t,e,n){super();this.light=t;this.matrix=t.matrixWorld;this.matrixAutoUpdate=false;this.color=n;this.type=\"HemisphereLightHelper\";const i=new OctahedronGeometry(e);i.rotateY(Math.PI*.5);this.material=new MeshBasicMaterial({wireframe:true,fog:false,toneMapped:false});this.color===void 0&&(this.material.vertexColors=true);const r=i.getAttribute(\"position\");const s=new Float32Array(r.count*3);i.setAttribute(\"color\",new BufferAttribute(s,3));this.add(new Mesh(i,this.material));this.update()}dispose(){this.children[0].geometry.dispose();this.children[0].material.dispose()}update(){const t=this.children[0];if(this.color!==void 0)this.material.color.set(this.color);else{const e=t.geometry.getAttribute(\"color\");Nh.copy(this.light.color);Bh.copy(this.light.groundColor);for(let t=0,n=e.count;t<n;t++){const i=t<n/2?Nh:Bh;e.setXYZ(t,i.r,i.g,i.b)}e.needsUpdate=true}this.light.updateWorldMatrix(true,false);t.lookAt(Dh.setFromMatrixPosition(this.light.matrixWorld).negate())}}class GridHelper extends LineSegments{constructor(t=10,e=10,n=4473924,i=8947848){n=new Color(n);i=new Color(i);const r=e/2;const s=t/e;const a=t/2;const o=[],l=[];for(let t=0,c=0,h=-a;t<=e;t++,h+=s){o.push(-a,0,h,a,0,h);o.push(h,0,-a,h,0,a);const e=t===r?n:i;e.toArray(l,c);c+=3;e.toArray(l,c);c+=3;e.toArray(l,c);c+=3;e.toArray(l,c);c+=3}const c=new BufferGeometry;c.setAttribute(\"position\",new Float32BufferAttribute(o,3));c.setAttribute(\"color\",new Float32BufferAttribute(l,3));const h=new LineBasicMaterial({vertexColors:true,toneMapped:false});super(c,h);this.type=\"GridHelper\"}dispose(){this.geometry.dispose();this.material.dispose()}}class PolarGridHelper extends LineSegments{constructor(t=10,e=16,n=8,i=64,r=4473924,s=8947848){r=new Color(r);s=new Color(s);const a=[];const o=[];if(e>1)for(let n=0;n<e;n++){const i=n/e*(Math.PI*2);const l=Math.sin(i)*t;const c=Math.cos(i)*t;a.push(0,0,0);a.push(l,0,c);const h=n&1?r:s;o.push(h.r,h.g,h.b);o.push(h.r,h.g,h.b)}for(let e=0;e<n;e++){const l=e&1?r:s;const c=t-t/n*e;for(let t=0;t<i;t++){let e=t/i*(Math.PI*2);let n=Math.sin(e)*c;let r=Math.cos(e)*c;a.push(n,0,r);o.push(l.r,l.g,l.b);e=(t+1)/i*(Math.PI*2);n=Math.sin(e)*c;r=Math.cos(e)*c;a.push(n,0,r);o.push(l.r,l.g,l.b)}}const l=new BufferGeometry;l.setAttribute(\"position\",new Float32BufferAttribute(a,3));l.setAttribute(\"color\",new Float32BufferAttribute(o,3));const c=new LineBasicMaterial({vertexColors:true,toneMapped:false});super(l,c);this.type=\"PolarGridHelper\"}dispose(){this.geometry.dispose();this.material.dispose()}}const Oh=new Vector3;const Vh=new Vector3;const Fh=new Vector3;class DirectionalLightHelper extends Object3D{constructor(t,e,n){super();this.light=t;this.matrix=t.matrixWorld;this.matrixAutoUpdate=false;this.color=n;this.type=\"DirectionalLightHelper\";e===void 0&&(e=1);let i=new BufferGeometry;i.setAttribute(\"position\",new Float32BufferAttribute([-e,e,0,e,e,0,e,-e,0,-e,-e,0,-e,e,0],3));const r=new LineBasicMaterial({fog:false,toneMapped:false});this.lightPlane=new Line(i,r);this.add(this.lightPlane);i=new BufferGeometry;i.setAttribute(\"position\",new Float32BufferAttribute([0,0,0,0,0,1],3));this.targetLine=new Line(i,r);this.add(this.targetLine);this.update()}dispose(){this.lightPlane.geometry.dispose();this.lightPlane.material.dispose();this.targetLine.geometry.dispose();this.targetLine.material.dispose()}update(){this.light.updateWorldMatrix(true,false);this.light.target.updateWorldMatrix(true,false);Oh.setFromMatrixPosition(this.light.matrixWorld);Vh.setFromMatrixPosition(this.light.target.matrixWorld);Fh.subVectors(Vh,Oh);this.lightPlane.lookAt(Vh);if(this.color!==void 0){this.lightPlane.material.color.set(this.color);this.targetLine.material.color.set(this.color)}else{this.lightPlane.material.color.copy(this.light.color);this.targetLine.material.color.copy(this.light.color)}this.targetLine.lookAt(Vh);this.targetLine.scale.z=Fh.length()}}const zh=new Vector3;const Gh=new Camera;class CameraHelper extends LineSegments{constructor(t){const e=new BufferGeometry;const n=new LineBasicMaterial({color:16777215,vertexColors:true,toneMapped:false});const i=[];const r=[];const s={};addLine(\"n1\",\"n2\");addLine(\"n2\",\"n4\");addLine(\"n4\",\"n3\");addLine(\"n3\",\"n1\");addLine(\"f1\",\"f2\");addLine(\"f2\",\"f4\");addLine(\"f4\",\"f3\");addLine(\"f3\",\"f1\");addLine(\"n1\",\"f1\");addLine(\"n2\",\"f2\");addLine(\"n3\",\"f3\");addLine(\"n4\",\"f4\");addLine(\"p\",\"n1\");addLine(\"p\",\"n2\");addLine(\"p\",\"n3\");addLine(\"p\",\"n4\");addLine(\"u1\",\"u2\");addLine(\"u2\",\"u3\");addLine(\"u3\",\"u1\");addLine(\"c\",\"t\");addLine(\"p\",\"c\");addLine(\"cn1\",\"cn2\");addLine(\"cn3\",\"cn4\");addLine(\"cf1\",\"cf2\");addLine(\"cf3\",\"cf4\");function addLine(t,e){addPoint(t);addPoint(e)}function addPoint(t){i.push(0,0,0);r.push(0,0,0);s[t]===void 0&&(s[t]=[]);s[t].push(i.length/3-1)}e.setAttribute(\"position\",new Float32BufferAttribute(i,3));e.setAttribute(\"color\",new Float32BufferAttribute(r,3));super(e,n);this.type=\"CameraHelper\";this.camera=t;this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix();this.matrix=t.matrixWorld;this.matrixAutoUpdate=false;this.pointMap=s;this.update();const a=new Color(16755200);const o=new Color(16711680);const l=new Color(43775);const c=new Color(16777215);const h=new Color(3355443);this.setColors(a,o,l,c,h)}setColors(t,e,n,i,r){const s=this.geometry;const a=s.getAttribute(\"color\");a.setXYZ(0,t.r,t.g,t.b);a.setXYZ(1,t.r,t.g,t.b);a.setXYZ(2,t.r,t.g,t.b);a.setXYZ(3,t.r,t.g,t.b);a.setXYZ(4,t.r,t.g,t.b);a.setXYZ(5,t.r,t.g,t.b);a.setXYZ(6,t.r,t.g,t.b);a.setXYZ(7,t.r,t.g,t.b);a.setXYZ(8,t.r,t.g,t.b);a.setXYZ(9,t.r,t.g,t.b);a.setXYZ(10,t.r,t.g,t.b);a.setXYZ(11,t.r,t.g,t.b);a.setXYZ(12,t.r,t.g,t.b);a.setXYZ(13,t.r,t.g,t.b);a.setXYZ(14,t.r,t.g,t.b);a.setXYZ(15,t.r,t.g,t.b);a.setXYZ(16,t.r,t.g,t.b);a.setXYZ(17,t.r,t.g,t.b);a.setXYZ(18,t.r,t.g,t.b);a.setXYZ(19,t.r,t.g,t.b);a.setXYZ(20,t.r,t.g,t.b);a.setXYZ(21,t.r,t.g,t.b);a.setXYZ(22,t.r,t.g,t.b);a.setXYZ(23,t.r,t.g,t.b);a.setXYZ(24,e.r,e.g,e.b);a.setXYZ(25,e.r,e.g,e.b);a.setXYZ(26,e.r,e.g,e.b);a.setXYZ(27,e.r,e.g,e.b);a.setXYZ(28,e.r,e.g,e.b);a.setXYZ(29,e.r,e.g,e.b);a.setXYZ(30,e.r,e.g,e.b);a.setXYZ(31,e.r,e.g,e.b);a.setXYZ(32,n.r,n.g,n.b);a.setXYZ(33,n.r,n.g,n.b);a.setXYZ(34,n.r,n.g,n.b);a.setXYZ(35,n.r,n.g,n.b);a.setXYZ(36,n.r,n.g,n.b);a.setXYZ(37,n.r,n.g,n.b);a.setXYZ(38,i.r,i.g,i.b);a.setXYZ(39,i.r,i.g,i.b);a.setXYZ(40,r.r,r.g,r.b);a.setXYZ(41,r.r,r.g,r.b);a.setXYZ(42,r.r,r.g,r.b);a.setXYZ(43,r.r,r.g,r.b);a.setXYZ(44,r.r,r.g,r.b);a.setXYZ(45,r.r,r.g,r.b);a.setXYZ(46,r.r,r.g,r.b);a.setXYZ(47,r.r,r.g,r.b);a.setXYZ(48,r.r,r.g,r.b);a.setXYZ(49,r.r,r.g,r.b);a.needsUpdate=true}update(){const t=this.geometry;const e=this.pointMap;const n=1,i=1;Gh.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse);setPoint(\"c\",e,t,Gh,0,0,-1);setPoint(\"t\",e,t,Gh,0,0,1);setPoint(\"n1\",e,t,Gh,-n,-i,-1);setPoint(\"n2\",e,t,Gh,n,-i,-1);setPoint(\"n3\",e,t,Gh,-n,i,-1);setPoint(\"n4\",e,t,Gh,n,i,-1);setPoint(\"f1\",e,t,Gh,-n,-i,1);setPoint(\"f2\",e,t,Gh,n,-i,1);setPoint(\"f3\",e,t,Gh,-n,i,1);setPoint(\"f4\",e,t,Gh,n,i,1);setPoint(\"u1\",e,t,Gh,n*.7,i*1.1,-1);setPoint(\"u2\",e,t,Gh,.7*-n,i*1.1,-1);setPoint(\"u3\",e,t,Gh,0,i*2,-1);setPoint(\"cf1\",e,t,Gh,-n,0,1);setPoint(\"cf2\",e,t,Gh,n,0,1);setPoint(\"cf3\",e,t,Gh,0,-i,1);setPoint(\"cf4\",e,t,Gh,0,i,1);setPoint(\"cn1\",e,t,Gh,-n,0,-1);setPoint(\"cn2\",e,t,Gh,n,0,-1);setPoint(\"cn3\",e,t,Gh,0,-i,-1);setPoint(\"cn4\",e,t,Gh,0,i,-1);t.getAttribute(\"position\").needsUpdate=true}dispose(){this.geometry.dispose();this.material.dispose()}}function setPoint(t,e,n,i,r,s,a){zh.set(r,s,a).unproject(i);const o=e[t];if(o!==void 0){const t=n.getAttribute(\"position\");for(let e=0,n=o.length;e<n;e++)t.setXYZ(o[e],zh.x,zh.y,zh.z)}}const kh=new Box3;class BoxHelper extends LineSegments{constructor(t,e=16776960){const n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]);const i=new Float32Array(24);const r=new BufferGeometry;r.setIndex(new BufferAttribute(n,1));r.setAttribute(\"position\",new BufferAttribute(i,3));super(r,new LineBasicMaterial({color:e,toneMapped:false}));this.object=t;this.type=\"BoxHelper\";this.matrixAutoUpdate=false;this.update()}update(t){t!==void 0&&console.warn(\"THREE.BoxHelper: .update() has no longer arguments.\");this.object!==void 0&&kh.setFromObject(this.object);if(kh.isEmpty())return;const e=kh.min;const n=kh.max;const i=this.geometry.attributes.position;const r=i.array;r[0]=n.x;r[1]=n.y;r[2]=n.z;r[3]=e.x;r[4]=n.y;r[5]=n.z;r[6]=e.x;r[7]=e.y;r[8]=n.z;r[9]=n.x;r[10]=e.y;r[11]=n.z;r[12]=n.x;r[13]=n.y;r[14]=e.z;r[15]=e.x;r[16]=n.y;r[17]=e.z;r[18]=e.x;r[19]=e.y;r[20]=e.z;r[21]=n.x;r[22]=e.y;r[23]=e.z;i.needsUpdate=true;this.geometry.computeBoundingSphere()}setFromObject(t){this.object=t;this.update();return this}copy(t,e){super.copy(t,e);this.object=t.object;return this}dispose(){this.geometry.dispose();this.material.dispose()}}class Box3Helper extends LineSegments{constructor(t,e=16776960){const n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]);const i=[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1];const r=new BufferGeometry;r.setIndex(new BufferAttribute(n,1));r.setAttribute(\"position\",new Float32BufferAttribute(i,3));super(r,new LineBasicMaterial({color:e,toneMapped:false}));this.box=t;this.type=\"Box3Helper\";this.geometry.computeBoundingSphere()}updateMatrixWorld(t){const e=this.box;if(!e.isEmpty()){e.getCenter(this.position);e.getSize(this.scale);this.scale.multiplyScalar(.5);super.updateMatrixWorld(t)}}dispose(){this.geometry.dispose();this.material.dispose()}}class PlaneHelper extends Line{constructor(t,e=1,n=16776960){const i=n;const r=[1,-1,0,-1,1,0,-1,-1,0,1,1,0,-1,1,0,-1,-1,0,1,-1,0,1,1,0];const s=new BufferGeometry;s.setAttribute(\"position\",new Float32BufferAttribute(r,3));s.computeBoundingSphere();super(s,new LineBasicMaterial({color:i,toneMapped:false}));this.type=\"PlaneHelper\";this.plane=t;this.size=e;const a=[1,1,0,-1,1,0,-1,-1,0,1,1,0,-1,-1,0,1,-1,0];const o=new BufferGeometry;o.setAttribute(\"position\",new Float32BufferAttribute(a,3));o.computeBoundingSphere();this.add(new Mesh(o,new MeshBasicMaterial({color:i,opacity:.2,transparent:true,depthWrite:false,toneMapped:false})))}updateMatrixWorld(t){this.position.set(0,0,0);this.scale.set(.5*this.size,.5*this.size,1);this.lookAt(this.plane.normal);this.translateZ(-this.plane.constant);super.updateMatrixWorld(t)}dispose(){this.geometry.dispose();this.material.dispose();this.children[0].geometry.dispose();this.children[0].material.dispose()}}const Hh=new Vector3;let Wh,Xh;class ArrowHelper extends Object3D{constructor(t=new Vector3(0,0,1),e=new Vector3(0,0,0),n=1,i=16776960,r=n*.2,s=r*.2){super();this.type=\"ArrowHelper\";if(Wh===void 0){Wh=new BufferGeometry;Wh.setAttribute(\"position\",new Float32BufferAttribute([0,0,0,0,1,0],3));Xh=new CylinderGeometry(0,.5,1,5,1);Xh.translate(0,-.5,0)}this.position.copy(e);this.line=new Line(Wh,new LineBasicMaterial({color:i,toneMapped:false}));this.line.matrixAutoUpdate=false;this.add(this.line);this.cone=new Mesh(Xh,new MeshBasicMaterial({color:i,toneMapped:false}));this.cone.matrixAutoUpdate=false;this.add(this.cone);this.setDirection(t);this.setLength(n,r,s)}setDirection(t){if(t.y>.99999)this.quaternion.set(0,0,0,1);else if(t.y<-.99999)this.quaternion.set(1,0,0,0);else{Hh.set(t.z,0,-t.x).normalize();const e=Math.acos(t.y);this.quaternion.setFromAxisAngle(Hh,e)}}setLength(t,e=t*.2,n=e*.2){this.line.scale.set(1,Math.max(1e-4,t-e),1);this.line.updateMatrix();this.cone.scale.set(n,e,n);this.cone.position.y=t;this.cone.updateMatrix()}setColor(t){this.line.material.color.set(t);this.cone.material.color.set(t)}copy(t){super.copy(t,false);this.line.copy(t.line);this.cone.copy(t.cone);return this}dispose(){this.line.geometry.dispose();this.line.material.dispose();this.cone.geometry.dispose();this.cone.material.dispose()}}class AxesHelper extends LineSegments{constructor(t=1){const e=[0,0,0,t,0,0,0,0,0,0,t,0,0,0,0,0,0,t];const n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1];const i=new BufferGeometry;i.setAttribute(\"position\",new Float32BufferAttribute(e,3));i.setAttribute(\"color\",new Float32BufferAttribute(n,3));const r=new LineBasicMaterial({vertexColors:true,toneMapped:false});super(i,r);this.type=\"AxesHelper\"}setColors(t,e,n){const i=new Color;const r=this.geometry.attributes.color.array;i.set(t);i.toArray(r,0);i.toArray(r,3);i.set(e);i.toArray(r,6);i.toArray(r,9);i.set(n);i.toArray(r,12);i.toArray(r,15);this.geometry.attributes.color.needsUpdate=true;return this}dispose(){this.geometry.dispose();this.material.dispose()}}class ShapePath{constructor(){this.type=\"ShapePath\";this.color=new Color;this.subPaths=[];this.currentPath=null}moveTo(t,e){this.currentPath=new Path;this.subPaths.push(this.currentPath);this.currentPath.moveTo(t,e);return this}lineTo(t,e){this.currentPath.lineTo(t,e);return this}quadraticCurveTo(t,e,n,i){this.currentPath.quadraticCurveTo(t,e,n,i);return this}bezierCurveTo(t,e,n,i,r,s){this.currentPath.bezierCurveTo(t,e,n,i,r,s);return this}splineThru(t){this.currentPath.splineThru(t);return this}toShapes(t){function toShapesNoHoles(t){const e=[];for(let n=0,i=t.length;n<i;n++){const i=t[n];const r=new Shape;r.curves=i.curves;e.push(r)}return e}function isPointInsidePolygon(t,e){const n=e.length;let i=false;for(let r=n-1,s=0;s<n;r=s++){let n=e[r];let a=e[s];let o=a.x-n.x;let l=a.y-n.y;if(Math.abs(l)>Number.EPSILON){if(l<0){n=e[s];o=-o;a=e[r];l=-l}if(t.y<n.y||t.y>a.y)continue;if(t.y===n.y){if(t.x===n.x)return true}else{const e=l*(t.x-n.x)-o*(t.y-n.y);if(e===0)return true;if(e<0)continue;i=!i}}else{if(t.y!==n.y)continue;if(a.x<=t.x&&t.x<=n.x||n.x<=t.x&&t.x<=a.x)return true}}return i}const e=ShapeUtils.isClockWise;const n=this.subPaths;if(n.length===0)return[];let i,r,s;const a=[];if(n.length===1){r=n[0];s=new Shape;s.curves=r.curves;a.push(s);return a}let o=!e(n[0].getPoints());o=t?!o:o;const l=[];const c=[];let h=[];let u=0;let d;c[u]=void 0;h[u]=[];for(let s=0,a=n.length;s<a;s++){r=n[s];d=r.getPoints();i=e(d);i=t?!i:i;if(i){!o&&c[u]&&u++;c[u]={s:new Shape,p:d};c[u].s.curves=r.curves;o&&u++;h[u]=[]}else h[u].push({h:r,p:d[0]})}if(!c[0])return toShapesNoHoles(n);if(c.length>1){let t=false;let e=0;for(let t=0,e=c.length;t<e;t++)l[t]=[];for(let n=0,i=c.length;n<i;n++){const i=h[n];for(let r=0;r<i.length;r++){const s=i[r];let a=true;for(let i=0;i<c.length;i++)if(isPointInsidePolygon(s.p,c[i].p)){n!==i&&e++;if(a){a=false;l[i].push(s)}else t=true}a&&l[n].push(s)}}e>0&&t===false&&(h=l)}let p;for(let t=0,e=c.length;t<e;t++){s=c[t].s;a.push(s);p=h[t];for(let t=0,e=p.length;t<e;t++)s.holes.push(p[t].h)}return a}}class WebGLMultipleRenderTargets extends WebGLRenderTarget{constructor(t=1,e=1,n=1,i={}){console.warn('THREE.WebGLMultipleRenderTargets has been deprecated and will be removed in r172. Use THREE.WebGLRenderTarget and set the \"count\" parameter to enable MRT.');super(t,e,{...i,count:n});this.isWebGLMultipleRenderTargets=true}get texture(){return this.textures}}typeof __THREE_DEVTOOLS__!==\"undefined\"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"register\",{detail:{revision:t}}));typeof window!==\"undefined\"&&(window.__THREE__?console.warn(\"WARNING: Multiple instances of Three.js being imported.\"):window.__THREE__=t);export{nt as ACESFilmicToneMapping,M as AddEquation,J as AddOperation,ze as AdditiveAnimationBlendMode,g as AdditiveBlending,rt as AgXToneMapping,Ft as AlphaFormat,An as AlwaysCompare,k as AlwaysDepth,xn as AlwaysStencilFunc,AmbientLight,AnimationAction,AnimationClip,AnimationLoader,AnimationMixer,AnimationObjectGroup,Hc as AnimationUtils,ArcCurve,ArrayCamera,ArrowHelper,at as AttachedBindMode,Audio,AudioAnalyser,AudioContext,AudioListener,AudioLoader,AxesHelper,d as BackSide,We as BasicDepthPacking,o as BasicShadowMap,BatchedMesh,Bone,BooleanKeyframeTrack,Box2,Box3,Box3Helper,BoxGeometry,BoxHelper,BufferAttribute,BufferGeometry,BufferGeometryLoader,Ct as ByteType,Wc as Cache,Camera,CameraHelper,CanvasTexture,CapsuleGeometry,CatmullRomCurve3,et as CineonToneMapping,CircleGeometry,mt as ClampToEdgeWrapping,Clock,Color,ColorKeyframeTrack,$n as ColorManagement,CompressedArrayTexture,CompressedCubeTexture,CompressedTexture,CompressedTextureLoader,ConeGeometry,F as ConstantAlphaFactor,O as ConstantColorFactor,CubeCamera,ct as CubeReflectionMapping,ht as CubeRefractionMapping,CubeTexture,CubeTextureLoader,pt as CubeUVReflectionMapping,CubicBezierCurve,CubicBezierCurve3,CubicInterpolant,r as CullFaceBack,s as CullFaceFront,a as CullFaceFrontBack,i as CullFaceNone,Curve,CurvePath,y as CustomBlending,it as CustomToneMapping,CylinderGeometry,Cylindrical,Data3DTexture,DataArrayTexture,DataTexture,DataTextureLoader,fr as DataUtils,ln as DecrementStencilOp,hn as DecrementWrapStencilOp,Xc as DefaultLoadingManager,Wt as DepthFormat,Xt as DepthStencilFormat,DepthTexture,ot as DetachedBindMode,DirectionalLight,DirectionalLightHelper,DiscreteInterpolant,Je as DisplayP3ColorSpace,DodecahedronGeometry,p as DoubleSide,I as DstAlphaFactor,D as DstColorFactor,Nn as DynamicCopyUsage,Rn as DynamicDrawUsage,In as DynamicReadUsage,EdgesGeometry,EllipseCurve,Sn as EqualCompare,X as EqualDepth,fn as EqualStencilFunc,ut as EquirectangularReflectionMapping,dt as EquirectangularRefractionMapping,Euler,EventDispatcher,ExtrudeGeometry,FileLoader,Float16BufferAttribute,Float32BufferAttribute,Ut as FloatType,Fog,FogExp2,FramebufferTexture,u as FrontSide,Frustum,GLBufferAttribute,On as GLSL1,Vn as GLSL3,Tn as GreaterCompare,q as GreaterDepth,En as GreaterEqualCompare,j as GreaterEqualDepth,_n as GreaterEqualStencilFunc,gn as GreaterStencilFunc,GridHelper,Group,Dt as HalfFloatType,HemisphereLight,HemisphereLightHelper,IcosahedronGeometry,ImageBitmapLoader,ImageLoader,ImageUtils,on as IncrementStencilOp,cn as IncrementWrapStencilOp,InstancedBufferAttribute,InstancedBufferGeometry,InstancedInterleavedBuffer,InstancedMesh,Int16BufferAttribute,Int32BufferAttribute,Int8BufferAttribute,Lt as IntType,InterleavedBuffer,InterleavedBufferAttribute,Interpolant,Ue as InterpolateDiscrete,De as InterpolateLinear,Ne as InterpolateSmooth,un as InvertStencilOp,sn as KeepStencilOp,KeyframeTrack,LOD,LatheGeometry,Layers,Mn as LessCompare,H as LessDepth,bn as LessEqualCompare,W as LessEqualDepth,mn as LessEqualStencilFunc,pn as LessStencilFunc,Light,LightProbe,Line,Line3,LineBasicMaterial,LineCurve,LineCurve3,LineDashedMaterial,LineLoop,LineSegments,Qe as LinearDisplayP3ColorSpace,St as LinearFilter,LinearInterpolant,Et as LinearMipMapLinearFilter,Tt as LinearMipMapNearestFilter,wt as LinearMipmapLinearFilter,bt as LinearMipmapNearestFilter,Ze as LinearSRGBColorSpace,$ as LinearToneMapping,$e as LinearTransfer,Loader,LoaderUtils,LoadingManager,Pe as LoopOnce,Ie as LoopPingPong,Le as LoopRepeat,Ht as LuminanceAlphaFormat,kt as LuminanceFormat,e as MOUSE,Material,MaterialLoader,Xn as MathUtils,Matrix3,Matrix4,w as MaxEquation,Mesh,MeshBasicMaterial,MeshDepthMaterial,MeshDistanceMaterial,MeshLambertMaterial,MeshMatcapMaterial,MeshNormalMaterial,MeshPhongMaterial,MeshPhysicalMaterial,MeshStandardMaterial,MeshToonMaterial,T as MinEquation,gt as MirroredRepeatWrapping,Z as MixOperation,x as MultiplyBlending,K as MultiplyOperation,vt as NearestFilter,Mt as NearestMipMapLinearFilter,xt as NearestMipMapNearestFilter,yt as NearestMipmapLinearFilter,_t as NearestMipmapNearestFilter,st as NeutralToneMapping,yn as NeverCompare,G as NeverDepth,dn as NeverStencilFunc,f as NoBlending,Ye as NoColorSpace,Q as NoToneMapping,Fe as NormalAnimationBlendMode,m as NormalBlending,wn as NotEqualCompare,Y as NotEqualDepth,vn as NotEqualStencilFunc,NumberKeyframeTrack,Object3D,ObjectLoader,qe as ObjectSpaceNormalMap,OctahedronGeometry,A as OneFactor,z as OneMinusConstantAlphaFactor,V as OneMinusConstantColorFactor,U as OneMinusDstAlphaFactor,N as OneMinusDstColorFactor,L as OneMinusSrcAlphaFactor,R as OneMinusSrcColorFactor,OrthographicCamera,nn as P3Primaries,l as PCFShadowMap,c as PCFSoftShadowMap,PMREMGenerator,Path,PerspectiveCamera,Plane,PlaneGeometry,PlaneHelper,PointLight,PointLightHelper,Points,PointsMaterial,PolarGridHelper,PolyhedronGeometry,PositionalAudio,PropertyBinding,PropertyMixer,QuadraticBezierCurve,QuadraticBezierCurve3,Quaternion,QuaternionKeyframeTrack,QuaternionLinearInterpolant,Ce as RED_GREEN_RGTC2_Format,Ee as RED_RGTC1_Format,t as REVISION,Xe as RGBADepthPacking,Gt as RGBAFormat,Jt as RGBAIntegerFormat,ye as RGBA_ASTC_10x10_Format,ve as RGBA_ASTC_10x5_Format,_e as RGBA_ASTC_10x6_Format,xe as RGBA_ASTC_10x8_Format,Me as RGBA_ASTC_12x10_Format,Se as RGBA_ASTC_12x12_Format,ce as RGBA_ASTC_4x4_Format,he as RGBA_ASTC_5x4_Format,ue as RGBA_ASTC_5x5_Format,de as RGBA_ASTC_6x5_Format,pe as RGBA_ASTC_6x6_Format,fe as RGBA_ASTC_8x5_Format,me as RGBA_ASTC_8x6_Format,ge as RGBA_ASTC_8x8_Format,be as RGBA_BPTC_Format,le as RGBA_ETC2_EAC_Format,se as RGBA_PVRTC_2BPPV1_Format,re as RGBA_PVRTC_4BPPV1_Format,$t as RGBA_S3TC_DXT1_Format,te as RGBA_S3TC_DXT3_Format,ee as RGBA_S3TC_DXT5_Format,zt as RGBFormat,Zt as RGBIntegerFormat,Te as RGB_BPTC_SIGNED_Format,we as RGB_BPTC_UNSIGNED_Format,ae as RGB_ETC1_Format,oe as RGB_ETC2_Format,ie as RGB_PVRTC_2BPPV1_Format,ne as RGB_PVRTC_4BPPV1_Format,Qt as RGB_S3TC_DXT1_Format,Yt as RGFormat,Kt as RGIntegerFormat,RawShaderMaterial,Ray,Raycaster,en as Rec709Primaries,RectAreaLight,jt as RedFormat,qt as RedIntegerFormat,tt as ReinhardToneMapping,RenderTarget,ft as RepeatWrapping,an as ReplaceStencilOp,b as ReverseSubtractEquation,RingGeometry,Re as SIGNED_RED_GREEN_RGTC2_Format,Ae as SIGNED_RED_RGTC1_Format,Ke as SRGBColorSpace,tn as SRGBTransfer,Scene,Do as ShaderChunk,Bo as ShaderLib,ShaderMaterial,ShadowMaterial,Shape,ShapeGeometry,ShapePath,ShapeUtils,Rt as ShortType,Skeleton,SkeletonHelper,SkinnedMesh,Source,Sphere,SphereGeometry,Spherical,SphericalHarmonics3,SplineCurve,SpotLight,SpotLightHelper,Sprite,SpriteMaterial,P as SrcAlphaFactor,B as SrcAlphaSaturateFactor,C as SrcColorFactor,Dn as StaticCopyUsage,Cn as StaticDrawUsage,Ln as StaticReadUsage,StereoCamera,Bn as StreamCopyUsage,Pn as StreamDrawUsage,Un as StreamReadUsage,StringKeyframeTrack,S as SubtractEquation,_ as SubtractiveBlending,n as TOUCH,je as TangentSpaceNormalMap,TetrahedronGeometry,Texture,TextureLoader,_l as TextureUtils,TorusGeometry,TorusKnotGeometry,Triangle,He as TriangleFanDrawMode,ke as TriangleStripDrawMode,Ge as TrianglesDrawMode,TubeGeometry,lt as UVMapping,Uint16BufferAttribute,Uint32BufferAttribute,Uint8BufferAttribute,Uint8ClampedBufferAttribute,Uniform,UniformsGroup,No as UniformsLib,Gr as UniformsUtils,At as UnsignedByteType,Ot as UnsignedInt248Type,Vt as UnsignedInt5999Type,It as UnsignedIntType,Nt as UnsignedShort4444Type,Bt as UnsignedShort5551Type,Pt as UnsignedShortType,h as VSMShadowMap,Vector2,Vector3,Vector4,VectorKeyframeTrack,VideoTexture,WebGL3DRenderTarget,WebGLArrayRenderTarget,Fn as WebGLCoordinateSystem,WebGLCubeRenderTarget,WebGLMultipleRenderTargets,WebGLRenderTarget,WebGLRenderer,WebGLUtils,zn as WebGPUCoordinateSystem,WireframeGeometry,Ve as WrapAroundEnding,Be as ZeroCurvatureEnding,E as ZeroFactor,Oe as ZeroSlopeEnding,rn as ZeroStencilOp,createCanvasElement};\n//# sourceMappingURL=three.module.js.map\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import*as THREE from\"three\";const vertexShader=`\n  varying vec2 vUv;\n  void main() {\n    vUv = uv;\n    gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n  }\n`;const fragmentShader=`\n  #ifdef GL_ES\n  precision mediump float;\n  #endif\n\n  uniform vec2 iResolution;\n  uniform float iTime;\n  uniform vec3 iColor;\n  uniform float iGlow;\n  uniform float iLayer;\n  uniform float iSize;\n  uniform vec3 iBackgroundColor;\n\n  #define t iTime\n  mat2 m(float a) {\n    float c = cos(a), s = sin(a);\n    return mat2(c, -s, s, c);\n  }\n\n  float map(vec3 p) {\n    p.xz *= m(t * 0.4);\n    p.xy *= m(t * 0.3);\n    vec3 q = p * 2.0 + t;\n    return length(p + vec3(sin(t * 0.7))) * log(length(p) / iSize) + sin(q.x + sin(q.z + sin(q.y))) * 0.5 - 2.0;\n  }\n\n  void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n    vec2 p = fragCoord.xy / iResolution.y - vec2(1, 1);\n    vec3 cl = iBackgroundColor;\n    float d = 2.5;\n    for (int i = 0; i <= int(iLayer); i++) {\n      vec3 p = vec3(0.0, 0.0, 5.0) + normalize(vec3(p, -1.0)) * d;\n      float rz = map(p);\n      float f = clamp((rz - map(p + 0.1)) * 0.7, -0.1, 1.0);\n      vec3 l = (iColor/3.0) + vec3(5.0, 2.5, 3.0) * f;\n      cl += smoothstep(iGlow, 0.0, rz) * 0.2 * l;\n      d += min(rz, 1.0);\n    }\n    fragColor = vec4(cl, 1.0);\n  }\n\n  void main() {\n    mainImage(gl_FragColor, gl_FragCoord.xy);\n  }\n`;const useShader=(shader,containerRef,color,backgroundColor,speed,glow,layers,size)=>{useEffect(()=>{const container=containerRef.current;if(!container)return;const width=container.clientWidth;const height=container.clientHeight;const scene=new THREE.Scene;const camera=new THREE.OrthographicCamera(-1,1,1,-1,.1,10);camera.position.z=1;const renderer=new THREE.WebGLRenderer({alpha:true});renderer.setSize(width,height);renderer.setPixelRatio(window.devicePixelRatio);container.appendChild(renderer.domElement);const uniforms={iResolution:{value:new THREE.Vector2(width,height)},iTime:{value:0},iColor:{value:new THREE.Color(color)},iBackgroundColor:{value:new THREE.Color(backgroundColor)},iGlow:{value:glow},iLayer:{value:layers},iSize:{value:size}};const material=new THREE.ShaderMaterial({uniforms:uniforms,vertexShader:shader.vertex,fragmentShader:shader.fragment,transparent:true});const plane=new THREE.PlaneGeometry(2,2);const mesh=new THREE.Mesh(plane,material);scene.add(mesh);const clock=new THREE.Clock;const animate=()=>{requestAnimationFrame(animate);uniforms.iTime.value+=clock.getDelta()*speed;renderer.render(scene,camera);};animate();const handleResize=()=>{const newWidth=container.clientWidth;const newHeight=container.clientHeight;renderer.setSize(newWidth,newHeight);uniforms.iResolution.value.set(newWidth,newHeight);};const resizeObserver=new ResizeObserver(handleResize);resizeObserver.observe(container);return()=>{resizeObserver.disconnect();if(container){container.removeChild(renderer.domElement);}};},[shader,color,backgroundColor,speed,glow,layers,size]);};/**\n * Plasma Shader\n * Converted By Maharram Hasanli\n * Made By nimitz\n * Source: https://www.shadertoy.com/view/MsjSW3\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 200\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * MIT License\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */export default function Plasma(props){const containerRef=useRef(null);useShader({vertex:vertexShader,fragment:fragmentShader},containerRef,props.color,props.background,props.speed,props.glow,props.layer,props.size);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",position:\"relative\"}});}Plasma.defaultProps={color:\"#ff0000\",background:\"#000000\",speed:1,glow:2.5,layers:5,size:.5};addPropertyControls(Plasma,{color:{type:ControlType.Color,title:\"Color\"},background:{type:ControlType.Color,title:\"Background Color\"},speed:{type:ControlType.Number,title:\"Speed\",min:.1,max:10,step:.1,defaultValue:1},glow:{type:ControlType.Number,title:\"Glow amount\",min:.01,max:5,step:.01,defaultValue:2.5},layer:{type:ControlType.Number,title:\"Layers\",min:.1,max:15,step:.1,defaultValue:5},size:{type:ControlType.Number,title:\"Size\",min:.1,max:2,step:.01,defaultValue:.5}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Plasma\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"200\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Plasma.map","import{isBrowser}from\"framer-motion\";export const DEFAULT_DOMAIN=\"https://www.googletagmanager.com\";export const DEFAULT_SCRIPT_NAME=\"gtm.js\";/**\n * Function to get and set dataLayer\n * @param dataLayer - The dataLayer\n * @param dataLayerName - The dataLayer name\n */const getDataLayerSnippet=(dataLayer,dataLayerName=\"dataLayer\")=>`window['${dataLayerName}']=window['${dataLayerName}']||[];`+(dataLayer?`window['${dataLayerName}'].push(${JSON.stringify(dataLayer)});`:\"\")+`window['${dataLayerName}'].push({'gtm.start':new Date().getTime(),event:'gtm.js'})`;/**\n * Function to get the GTM script\n * @param dataLayerName - The name of the dataLayer\n * @param customDomain - Custom domain for gtm\n * @param customScriptName - Custom script file name for gtm\n * @param environment - The parameters to use a custom environment\n * @param id - The id of the container\n */const getGTMScript=(dataLayerName,id,environment,customDomain=DEFAULT_DOMAIN,customScriptName=DEFAULT_SCRIPT_NAME)=>{let params=\"\";if(environment){const{gtm_auth,gtm_preview}=environment;params=`&gtm_auth=${gtm_auth}&gtm_preview=${gtm_preview}&gtm_cookies_win=x`;}return`${customDomain}/${customScriptName}?id=${id}${dataLayerName===\"dataLayer\"?\"\":`&l=${dataLayerName}`}${params}`;};/**\n * Function to setup the Google Tag Manager\n * @param params - The snippets params\n */const setupGTM=params=>{const getDataLayerScript=()=>{const dataLayerScript=document.createElement(\"script\");if(params.nonce){dataLayerScript.setAttribute(\"nonce\",params.nonce);}dataLayerScript.innerHTML=getDataLayerSnippet(params.dataLayer,params.dataLayerName);return dataLayerScript;};const getScript=()=>{const script=document.createElement(\"script\");if(params.nonce){script.setAttribute(\"nonce\",params.nonce);}script.src=getGTMScript(params.dataLayerName,params.id,params.environment,params.customDomain,params.customScriptName);script.crossOrigin=\"anonymous\"// allows for more detailed INP collection\n;return script;};return{getDataLayerScript,getScript};};/**\n * Function to init the GTM\n * @param dataLayer - The dataLayer\n * @param dataLayerName - The dataLayer name\n * @param environment - Specify the custom environment to use\n * @param nonce - Server-generated nonce\n * @param id - The ID of the GTM\n */export const initGTM=({dataLayer,dataLayerName,environment,nonce,id,customDomain,customScriptName})=>{const gtm=setupGTM({dataLayer,dataLayerName,environment,nonce,id,customDomain,customScriptName});const dataLayerScript=gtm.getDataLayerScript();const script=gtm.getScript();document.head.append(dataLayerScript,script);};export function sendToGTM(){if(isBrowser){window[\"dataLayer\"]=window[\"dataLayer\"]||[];window[\"dataLayer\"].push(arguments);}}\nexport const __FramerMetadata__ = {\"exports\":{\"DEFAULT_DOMAIN\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_SCRIPT_NAME\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"initGTM\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"sendToGTM\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./send.map","import{isBrowser}from\"framer-motion\";import{useLayoutEffect}from\"react\";export const DEFAULT_FONT_FAMILY=`\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;export function getFlexboxValues(position){const positionParts=position.split(\"-\");let justifyContent,alignItems;switch(positionParts[0]){case\"top\":alignItems=\"flex-start\";break;case\"bottom\":alignItems=\"flex-end\";break;case\"center\":alignItems=\"center\";break;default:alignItems=\"initial\";break;}switch(positionParts[1]){case\"left\":justifyContent=\"flex-start\";break;case\"right\":justifyContent=\"flex-end\";break;case\"center\":justifyContent=\"center\";break;default:justifyContent=\"initial\";break;}return{justifyContent,alignItems};}export function getMultipleShadows(...shadows){const output=[];shadows.forEach(shadow=>{return shadow&&output.push(shadow);});return output.join(\", \");}export function getShadow(shadow){if(shadow){return`${shadow.shadowX}px ${shadow.shadowY}px ${shadow.shadowBlur}px ${shadow.shadowColor}`;}else return null;}export function safeJSONParse(jsonString,onError){try{return JSON.parse(jsonString);}catch{if(onError)onError();}}export const getCookie=(name,cookies)=>{cookies=cookies?cookies:isBrowser?document.cookie:\"\";var _cookies_match;const[,,cookie]=(_cookies_match=cookies.match(`(^|;) ?${name}=([^;]*)(;|$)`))!==null&&_cookies_match!==void 0?_cookies_match:[null,null,null];return cookie;};/**\n * Yields to main thread before continuing execution, which might allow the browser to paint.\n * If `options.priority` is 'user-blocking', it will asynchronously resolve in older browsers.\n * @param {object} options - see https://github.com/WICG/scheduling-apis/blob/main/explainers/yield-and-continuation.md\n * @see interactionResponse for guaranteeing execution after a paint\n */export function yieldToMain(options){if(\"scheduler\"in window){if(\"yield\"in scheduler)return scheduler.yield(options);if(\"postTask\"in scheduler)return scheduler.postTask(()=>{},options);}if((options===null||options===void 0?void 0:options.priority)===\"user-blocking\"){// `setTimeout` could suffer from being delayed for longer: https://developer.chrome.com/blog/introducing-scheduler-yield-origin-trial#the_problem_with_current_yielding_strategies\n// so for browsers not supporting yield, we guarantee execution for high priority actions, but this does not create space for a paint opportunity as trade-off.\nreturn Promise.resolve();}return new Promise(resolve=>{setTimeout(resolve);});}/**\n * Helper function for `yieldToMain`, which yields before calling `fn`.\n * @see yieldToMain\n */export async function yieldBeforeCb(fn,options){await yieldToMain(options);return fn();}/**\n * Similar to `yieldToMain`, but also waits for the next animation frame before yielding (with a fallback of 100ms if the animation frame never fires).\n * Compared to `yieldToMain`, it guarantees improved INP, but might make processing a little slower. Use only if necessary.\n * @see yieldToMain\n */export function interactionResponse(options){return new Promise(resolve=>{setTimeout(resolve,200)// Fallback for the case where the animation frame never fires.\n;requestAnimationFrame(()=>{void yieldBeforeCb(resolve,options);});});}/**\n * Runs `fn` after the next paint. Similar to `useEffect`, but *guarantees* that the function is run after the next paint.\n * @important Does not support a cleanup fn.\n * @see https://thoughtspile.github.io/2021/11/15/unintentional-layout-effect/\n */export function useAfterPaintEffect(fn,deps,options){useLayoutEffect(()=>{const runAfterPaint=async()=>{await interactionResponse(options);fn();};void runAfterPaint();// eslint-disable-next-line react-hooks/exhaustive-deps -- deps are passed in\n},deps);}\nexport const __FramerMetadata__ = {\"exports\":{\"useAfterPaintEffect\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCookie\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"safeJSONParse\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFlexboxValues\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"yieldBeforeCb\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getShadow\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMultipleShadows\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FlexboxPosition\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"yieldToMain\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"interactionResponse\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_FONT_FAMILY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","import{useIsOnFramerCanvas}from\"framer\";import{isBrowser}from\"framer-motion\";import{useEffect,useReducer,useState,startTransition}from\"react\";import{initGTM,sendToGTM}from\"https://framerusercontent.com/modules/RFM6zI5MxOiqwwNiQep4/2CcJhEanvh9oX5JHRkd8/send.js\";import{safeJSONParse,yieldBeforeCb}from\"https://framerusercontent.com/modules/tfq8EDfrazNLXzc9LJte/hLcdFz4t8UjInDMvzq41/utils.js\";function toGTMConsent(consent){return{functionality_storage:consent.necessary?\"granted\":\"denied\",security_storage:consent.necessary?\"granted\":\"denied\",ad_storage:consent.marketing?\"granted\":\"denied\",ad_user_data:consent.marketing?\"granted\":\"denied\",ad_personalization:consent.marketing?\"granted\":\"denied\",analytics_storage:consent.analytics?\"granted\":\"denied\",personalization_storage:consent.preferences?\"granted\":\"denied\"};}function fromGTMConsent(consent){return{necessary:consent.functionality_storage===\"granted\"&&consent.security_storage===\"granted\",marketing:consent.ad_storage===\"granted\"&&consent.ad_user_data===\"granted\"&&consent.ad_personalization===\"granted\",analytics:consent.analytics_storage===\"granted\",preferences:consent.personalization_storage===\"granted\"};}function reducer(state,action){switch(action.type){case\"autoAccept\":return{...state,sync:true,autoAccepted:true,modes:{analytics:true,marketing:true,necessary:true,preferences:true}};case\"acceptAll\":return{...state,sync:true,dismissed:true,modes:{analytics:true,marketing:true,necessary:true,preferences:true}};case\"rejectAll\":return{...state,sync:true,dismissed:true,modes:{analytics:false,marketing:false,necessary:false,preferences:false}};case\"acceptCurrent\":return{...state,dismissed:true,sync:true};case\"update\":return{...state,modes:{...state.modes,...action.modes},sync:action.sync};case\"toggle\":return{...state,modes:{...state.modes,[action.mode]:!state.modes[action.mode]}};case\"initFromLocalStorage\":return{...state,modes:action.modes,dismissed:action.dismissed,autoAccepted:action.autoAccepted,initializedFromLocalStorage:true,sync:true};case\"initFromGTM\":return{...state,modes:action.modes,initializedFromGTM:true};case\"dismiss\":return{...state,dismissed:true};case\"synced\":return{...state,sync:false,hasSynced:state.hasSynced||action.success};default:return state;}}const initialState={dismissed:false,autoAccepted:false,modes:null,sync:false,initializedFromLocalStorage:false,initializedFromGTM:false,hasSynced:false};export const defaultConsent={necessary:false,analytics:false,marketing:false,preferences:false};// Keep track of if GTM has been loaded as a script and default consent has been set,\n// to ensure the script does not keep appending between page switches.\nlet hasInitializedGTM=false;export function useConsent({gtmId,defaultConsent,gtmLoadedExternally=false,defaultsFromGTM=false}){const[state,dispatch]=useReducer(reducer,initialState);const isOnFramerCanvas=useIsOnFramerCanvas();const consentModeLocalStorageKey=\"framerCookiesConsentMode\";const dismissedLocalStorageKey=\"framerCookiesDismissed\";const autoAcceptedLocalStorageKey=\"framerCookiesAutoAccepted\";function getStateFromLocalStorage(){const consentFromLocalStorage=localStorage.getItem(consentModeLocalStorageKey);const dismissedFromLocalStorage=localStorage.getItem(dismissedLocalStorageKey);const autoAcceptedFromLocalStorage=localStorage.getItem(autoAcceptedLocalStorageKey);const isDismissed=dismissedFromLocalStorage!==null;const isAutoAccepted=autoAcceptedFromLocalStorage!==null;const hasConsentInLocalStorage=consentFromLocalStorage!==null;const consentInLocalStorageIsNotDefault=isDismissed||isAutoAccepted;const shouldLoadConsentFromLocalStorage=hasConsentInLocalStorage&&consentInLocalStorageIsNotDefault;dispatch({type:\"initFromLocalStorage\",dismissed:isDismissed,autoAccepted:isAutoAccepted,modes:shouldLoadConsentFromLocalStorage?safeJSONParse(consentFromLocalStorage,()=>localStorage.removeItem(consentModeLocalStorageKey)):defaultConsent});}function syncToGTM(){if(gtmId){if(!hasInitializedGTM&&!gtmLoadedExternally&&!defaultsFromGTM){// This is the first time we sync consent, so we save it as \"default\" and initialize tag manager.\n// This order is important, because we need to have set the default consent BEFORE we initialize\n// GTM. See https://developers.google.com/tag-platform/devguides/consent?tab=tag-manager&sjid=11348191096952324675-EU#implementation_example\n// It might seem weird that we're \"sending\" before initializing, but \"sending\" here means building up\n// the \"dataLayer\" object that GTM picks up when it initializes.\nsendToGTM(\"consent\",\"default\",toGTMConsent(state.modes));initGTM({dataLayer:undefined,dataLayerName:\"dataLayer\",environment:undefined,nonce:undefined,injectScript:true,id:gtmId});hasInitializedGTM=true;}else{hasInitializedGTM=true;sendToGTM(\"consent\",\"update\",toGTMConsent(state.modes));// must be sent like this or else GTM doesn't act on it(?)\n// Publically documented: https://www.framer.com/academy/lessons/cookie-banner-component#:~:text=Run%20a%20Tag%20After%20The%20Consent%20Update\nwindow.dataLayer.push({event:\"cookie_consent_update\"});}}}useEffect(()=>{if(isOnFramerCanvas)return;if(!defaultsFromGTM)return;if(defaultConsent===null)return;if(state.initializedFromGTM)return;if(state.modes!==null)return;// State was already set (from localStorage)\nyieldBeforeCb(()=>{dispatch({type:\"initFromGTM\",modes:defaultConsent});},{priority:\"user-blocking\"});},[defaultsFromGTM,defaultConsent,state.initializedFromGTM,state.modes]);useEffect(()=>{if(isOnFramerCanvas)return;yieldBeforeCb(()=>getStateFromLocalStorage(),{priority:\"user-blocking\"});},[]);// Anytime the dismissed value is updated, we need to persist it in local storage.\nuseEffect(()=>{if(isOnFramerCanvas)return;if(state.dismissed){localStorage.setItem(dismissedLocalStorageKey,\"true\");}},[state.dismissed]);// Anytime consent is auto accepted, we need to persist it in local storage.\nuseEffect(()=>{if(isOnFramerCanvas)return;if(state.autoAccepted){localStorage.setItem(autoAcceptedLocalStorageKey,\"true\");}},[state.autoAccepted]);// Sync data to dataLayer and localStorage.\nuseEffect(()=>{if(isOnFramerCanvas)return;if(!state.sync)return;const shouldSync=isBrowser&&state.modes!==null;yieldBeforeCb(()=>{if(!shouldSync){dispatch({type:\"synced\",success:false});return;}// else\nsyncToGTM();// Save locally\nlocalStorage.setItem(consentModeLocalStorageKey,JSON.stringify(state.modes));dispatch({type:\"synced\",success:true});},{priority:\"user-blocking\"});},[state.sync,state.modes]);function dismiss(){dispatch({type:\"dismiss\"});localStorage.setItem(dismissedLocalStorageKey,\"true\");}function autoAccept(){dispatch({type:\"autoAccept\"});}function acceptAll(){dispatch({type:\"acceptAll\"});}function rejectAll(){dispatch({type:\"rejectAll\"});}function acceptCurrent(){dispatch({type:\"acceptCurrent\"});}function toggleMode(mode){dispatch({type:\"toggle\",mode});}return{modes:state.modes,isInitialized:state.hasSynced||state.initializedFromGTM,isDismissed:state.dismissed,isAutoAccepted:state.autoAccepted,dismiss,autoAccept,acceptAll,rejectAll,acceptCurrent,toggleMode};}////////////////////////////////////////////////////////////////////////////////\nconst PROMISE_NAME=\"__framer_cookieBannerDefaultConsentPromise\";// NOTE: Error can be ignored, because of `isBrowser`\nconst gtmSetsDefaultConsent=isBrowser&&!!window[PROMISE_NAME];export function useGTMDefaultConsent(){const[consent,setConsent]=useState(null);useEffect(()=>{if(!gtmSetsDefaultConsent)return;window[PROMISE_NAME].then(result=>{startTransition(()=>{setConsent(result);});});},[]);// Simplified region to use for the cookie banner\nlet region;if(consent){region=Object.values(consent).every(v=>v===\"granted\")?\"World\":\"EU\";}return{available:gtmSetsDefaultConsent,consent:consent?fromGTMConsent(consent):null,region};}\nexport const __FramerMetadata__ = {\"exports\":{\"ConsentModeName\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useGTMDefaultConsent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ConsentModes\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useConsent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultConsent\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./consent.map","// Check if visitor is in EU\nconst countries=[\"BE\",\"EL\",\"LT\",\"PT\",\"BG\",\"ES\",\"LU\",\"RO\",\"CZ\",\"FR\",\"RE\",\"GP\",\"MQ\",\"GF\",\"YT\",\"BL\",\"MF\",\"PM\",\"WF\",\"PF\",\"NC\",\"HU\",\"SI\",\"DK\",\"FO\",\"GL\",\"HR\",\"MT\",\"SK\",\"DE\",\"IT\",\"NL\",\"AW\",\"CW\",\"SX\",\"FI\",\"AX\",\"EE\",\"CY\",\"AT\",\"SE\",\"IE\",\"LV\",\"PL\",\"UK\",\"GB\",\"AI\",\"BM\",\"IO\",\"VG\",\"KY\",\"FK\",\"GI\",\"MS\",\"PN\",\"SH\",\"TC\",\"GG\",\"JE\",\"IM\"];const isInEUTimezone=()=>{return Intl?.DateTimeFormat()?.resolvedOptions()?.timeZone?.startsWith(\"Europe\");};const isEULocale=()=>{const locale=navigator.language??navigator.languages?.[0];return countries.some(country=>locale?.toUpperCase()?.includes(country));};let _inEU=null;export const inEU=()=>{if(_inEU===null)_inEU=isInEUTimezone()||isEULocale();return _inEU;};\nexport const __FramerMetadata__ = {\"exports\":{\"inEU\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./inEU.map","import{isBrowser}from\"framer-motion\";import{inEU}from\"https://framerusercontent.com/modules/HKzIAGtbudIGLRAteuFH/Nhaar5CYKIbxxEaVvTJs/inEU.js\";export function useRegion({content,useRegionFromProps,skipEUCheck,regionFromGTM}){const isInEUBasedOnLocation=isBrowser&&!skipEUCheck&&!regionFromGTM?inEU():false;const regionBasedOnLocation=isInEUBasedOnLocation?\"EU\":\"World\";const regionFromProps=content.isEU?\"EU\":\"World\";const regionContent={EU:{title:content.euTitle,description:content.euDescription,type:content.euType,defaults:content.euDefaults,policy:content.euPolicy,blocking:content.euBlocking,showReject:content.euType===\"advanced\"?content.euShowReject:true},World:{title:content.worldTitle,description:content.worldDescription,type:content.worldType,defaults:content.worldDefaults,policy:content.worldPolicy,blocking:content.worldBlocking,showReject:content.worldType===\"advanced\"?content.worldShowReject:true}};return regionContent[regionFromGTM?regionFromGTM:useRegionFromProps?regionFromProps:regionBasedOnLocation];}\nexport const __FramerMetadata__ = {\"exports\":{\"RegionContent\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RegionType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRegion\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./region.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,lazy,Suspense}from\"react\";import{withCSS}from\"framer\";import{AnimatePresence,motion}from\"framer-motion\";import{DEFAULT_FONT_FAMILY,getMultipleShadows,getShadow}from\"https://framerusercontent.com/modules/tfq8EDfrazNLXzc9LJte/hLcdFz4t8UjInDMvzq41/utils.js\";const SPACING=20;// if you update the Toggle component inside this project, copy the new URL to here:\nconst Toggle=/*#__PURE__*/lazy(()=>import(\"https://framerusercontent.com/modules/QDCSmi7dYWSK5AcRSFyX/iWVjq9atvKQLvxgv6qiM/Blf0sjosZ.js\"));export const Banner=withCSS(function Banner({banner,button,region,options,previewOptions,consentModes,onDismiss,onAcceptAll,onRejectAll,onAcceptCurrent,onToggleConsent,animateOnMount}){const maxHeightReduction=banner.insetPerSide?banner.insetTop+banner.insetBottom:banner.inset*2;const linkColor=banner.style.link||button.primary.fill;const paddingValue=banner.paddingPerSide?`${banner.paddingTop}px ${banner.paddingRight}px ${banner.paddingBottom}px ${banner.paddingLeft}px`:`${banner.padding}px`;const bannerShadow=getShadow(banner.style.shadow);const borderShadow=banner.style.border?.width?`inset 0 0 0 ${banner.style.border.width}px ${banner.style.border.color}`:null;const bannerStyle={background:banner.style.fill,boxShadow:getMultipleShadows(bannerShadow,borderShadow),overflow:\"hidden\",borderRadius:banner.style.border.radius};return /*#__PURE__*/_jsx(motion.div,{initial:animateOnMount&&{x:banner.animation.x,y:banner.animation.y,scale:banner.animation.scale,opacity:0},animate:{y:0,x:0,scale:1,opacity:1},exit:{x:banner.animation.x,y:banner.animation.y,scale:banner.animation.scale,opacity:0},transition:animateOnMount?banner.animation.transition:{duration:0},style:{fontFamily:DEFAULT_FONT_FAMILY,maxHeight:`calc(100vh - ${maxHeightReduction}px)`,flexDirection:\"column\",gap:12,position:\"relative\",display:\"flex\",zIndex:100,pointerEvents:\"auto\"},children:/*#__PURE__*/_jsx(\"div\",{style:{...bannerStyle,overflow:\"scroll\",width:\"100%\",maxWidth:banner.width},className:`--framer-cookie-banner-container --framer-cookie-banner-type-${region.type}`,children:region.type===\"simple\"?/*#__PURE__*/_jsx(SimpleBanner,{banner:banner,button:button,linkColor:linkColor,description:region.description,policy:region.policy,onDismiss:onDismiss}):region.type===\"medium\"?/*#__PURE__*/_jsx(AcceptRejectBanner,{banner:banner,button:button,linkColor:linkColor,title:region.title,description:region.description,policy:region.policy,onAccept:onAcceptAll,onReject:onRejectAll}):/*#__PURE__*/_jsx(OptionsBanner,{banner:banner,button:button,options:options,previewOptions:previewOptions,linkColor:linkColor,title:region.title,description:region.description,showReject:region.showReject,policy:region.policy,onOptionToggle:onToggleConsent,consent:consentModes,onAcceptAll:onAcceptAll,onRejectAll:onRejectAll,onAcceptCurrent:onAcceptCurrent})})});},[`.--framer-cookie-banner-container::-webkit-scrollbar { display: none; }`,`.--framer-cookie-banner-container { \n            -ms-overflow-style: none; \n            scrollbar-width: none;  \n        }`],\"framer-lib-cookie-banner\");function SimpleBanner({banner,button,description,policy,onDismiss,linkColor}){const padding=banner.paddingPerSide?`${banner.paddingTop}px ${banner.paddingRight}px ${banner.paddingBottom}px ${banner.paddingLeft}px`:`${banner.padding}px`;return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"row\",padding,gap:SPACING},children:[/*#__PURE__*/_jsx(Description,{style:{...banner.style.fontBody,flex:1,alignItems:\"center\",color:banner.style.colorBody},linkColor:linkColor,description:description,policy:policy}),/*#__PURE__*/_jsx(motion.div,{style:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\"},children:/*#__PURE__*/_jsx(Button,{onClick:onDismiss,settings:{...button,fluid:false},id:\"dismiss\",children:button.labels.confirm})})]});}function AcceptRejectBanner({banner,button,title,linkColor,description,policy,onAccept,onReject}){const padding=banner.paddingPerSide?`${banner.paddingTop}px ${banner.paddingRight}px ${banner.paddingBottom}px ${banner.paddingLeft}px`:`${banner.padding}px`;return /*#__PURE__*/_jsxs(\"div\",{style:{padding},children:[/*#__PURE__*/_jsxs(\"div\",{children:[title&&/*#__PURE__*/_jsx(Headline,{style:{...banner.style.fontTitle,color:banner.style.colorTitle},children:title}),/*#__PURE__*/_jsx(Description,{style:{...banner.style.fontBody,color:banner.style.colorBody},linkColor:linkColor,description:description,policy:policy})]}),/*#__PURE__*/_jsxs(Buttons,{direction:button.direction,children:[/*#__PURE__*/_jsx(Button,{settings:button,onClick:onReject,id:\"reject\",children:button.labels.reject}),/*#__PURE__*/_jsx(Button,{settings:button,primary:true,onClick:onAccept,id:\"accept\",children:button.labels.accept})]})]});}function OptionsBanner({banner,button,options,previewOptions,title,description,policy,showReject=true,linkColor,consent,onAcceptCurrent,onAcceptAll,onRejectAll,onOptionToggle}){const[showOptions,setShowOptions]=useState(false);const optionTheme={...options.style,color:banner.style.colorBody};const padding=banner.paddingPerSide?`${banner.paddingTop}px ${banner.paddingRight}px ${banner.paddingBottom}px ${banner.paddingLeft}px`:`${banner.padding}px`;// const optionNames = consent && Object.keys(consent)\nconst optionNames=[\"necessary\",\"preferences\",\"analytics\",\"marketing\"];const shouldShowOptions=showOptions||previewOptions;return /*#__PURE__*/_jsxs(\"div\",{style:{padding},children:[/*#__PURE__*/_jsxs(\"div\",{children:[title&&/*#__PURE__*/_jsx(Headline,{style:{...banner.style.fontTitle,color:banner.style.colorTitle},children:title}),/*#__PURE__*/_jsx(Description,{style:{...banner.style.fontBody,color:banner.style.colorBody},linkColor:linkColor,description:description,policy:policy}),/*#__PURE__*/_jsx(AnimatePresence,{children:shouldShowOptions&&/*#__PURE__*/_jsx(motion.div,{initial:previewOptions?null:{opacity:0,height:0},animate:{opacity:1,height:\"auto\"},exit:{opacity:0,height:0},style:{display:\"flex\",flexDirection:\"column\",gap:10,marginTop:SPACING,overflow:\"hidden\"},children:optionNames&&optionNames.map(option=>/*#__PURE__*/_jsx(Option,{title:options[option].title,description:options[option].description,titleColor:banner.style.colorTitle,descriptionColor:banner.style.colorBody,showDescription:options.descriptions,enabled:consent[option],onClick:()=>onOptionToggle(option),theme:optionTheme,optional:option===\"necessary\"?options[option].optional:true}))},\"modal\")})]}),/*#__PURE__*/_jsx(Buttons,{direction:button.direction,children:shouldShowOptions?/*#__PURE__*/_jsx(Button,{settings:button,primary:true,onClick:onAcceptCurrent,id:\"accept\",children:button.labels.save}):/*#__PURE__*/_jsxs(_Fragment,{children:[showReject&&/*#__PURE__*/_jsx(Button,{settings:button,onClick:onRejectAll,id:\"reject\",children:button.labels.rejectAll}),/*#__PURE__*/_jsx(Button,{settings:button,onClick:()=>{setShowOptions(true);},id:\"customize\",children:button.labels.customize}),/*#__PURE__*/_jsx(Button,{settings:button,primary:true,onClick:onAcceptAll,id:\"accept\",children:button.labels.acceptAll})]})})]});}function Option({title,titleColor,description,descriptionColor,showDescription,enabled,optional,onClick,theme}){const paddingValue=theme.paddingPerSide?`${theme.paddingTop}px ${theme.paddingRight}px ${theme.paddingBottom}px ${theme.paddingLeft}px`:`${theme.padding}px`;const borderShadow=theme.border?`inset 0 0 0 ${theme.border.width}px ${theme.border.color}`:null;return /*#__PURE__*/_jsxs(motion.div,{style:{boxShadow:borderShadow,background:theme.background,borderRadius:theme.border.radius,padding:paddingValue,cursor:\"pointer\",userSelect:\"none\",pointerEvents:\"all\"},onClick:onClick,whileHover:{opacity:.5},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\"},children:[/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontWeight:600,fontSize:12,color:titleColor,...theme.fontTitle},children:title}),optional?/*#__PURE__*/_jsx(Suspense,{children:/*#__PURE__*/_jsx(Toggle,{variant:enabled?\"On\":\"Off\",background:theme.toggleColor,backgroundInactive:theme.toggleColorInactive})}):/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontSize:12,color:theme.toggleColor,...theme.fontTitle,fontWeight:400},children:\"Always active\"})]}),description&&/*#__PURE__*/_jsx(\"p\",{style:{margin:0,marginTop:10,fontSize:12,lineHeight:1.5,color:descriptionColor,...theme.fontBody},children:description})]});}function Headline({children,style}){return /*#__PURE__*/_jsx(\"p\",{style:{fontSize:14,margin:\"0px 0px 10px 0px\",fontWeight:\"bold\",padding:0,...style},children:children});}function Description({style,description,policy,linkColor}){const shouldShow=description||policy?.link;if(!shouldShow)return null;if(!description){return /*#__PURE__*/_jsx(DescriptionParagraph,{policy:policy,style:style,linkColor:linkColor});}// @ivan: Support rendering the description in multiple paragraphs.\n// This is a site speed optimization: it allows to split a single\n// huge <p> into several smaller ones, which prevents the huge <p>\n// from becoming an LCP element.\nconst descriptionParagraphs=description?.split(\"\\n\\n\");return description.split(\"\\n\\n\").map((line,index)=>/*#__PURE__*/_jsx(DescriptionParagraph,{line:line,// Only render the policy in the last paragraph\n    policy:index===descriptionParagraphs.length-1?policy:null,style:{// Add a spacing between paragraphs\n    marginTop:index>0?4:0,...style},linkColor:linkColor},index));}function DescriptionParagraph({line,policy,style,linkColor}){return /*#__PURE__*/_jsxs(\"p\",{style:{lineHeight:1.5,margin:0,padding:0,fontSize:14,...style},children:[line,line&&policy?.link?\" \":null,policy?.link&&/*#__PURE__*/_jsxs(\"span\",{children:[policy?.prefix,\" \",/*#__PURE__*/_jsx(\"a\",{href:policy?.link,target:\"_blank\",style:{color:linkColor,textDecoration:\"none\"},children:policy?.label}),\".\"]})]});}function Buttons({children,direction}){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:direction,gap:10,marginTop:16},children:children});}const Button=withCSS(function Button({id,children,primary,settings,onClick}){const paddingValue=settings.paddingPerSide?`${settings.paddingTop}px ${settings.paddingRight}px ${settings.paddingBottom}px ${settings.paddingLeft}px`:`${settings.padding}px`;const theme=primary?settings.primary:settings.secondary;return /*#__PURE__*/_jsx(motion.input,{className:\"__framer-cookie-component-button\",id:`__framer-cookie-component-button-${id}`,onClick:onClick,type:\"button\",value:`${children}`,whileHover:{opacity:settings.hoverOpacity??.6},whileTap:{opacity:settings.tapOpacity??.4},style:{WebkitAppearance:\"none\",appearance:\"none\",width:settings.fluid?\"100%\":\"auto\",height:\"auto\",border:\"none\",padding:paddingValue,borderRadius:settings.borderRadius,boxShadow:getShadow(theme.shadow),background:theme.fill,color:theme.color,fontSize:14,lineHeight:1,cursor:\"pointer\",fontWeight:settings.font?\"unset\":600,...settings.font}});},\".__framer-cookie-component-button:focus:not(:focus-visible){outline-color:transparent}\");\nexport const __FramerMetadata__ = {\"exports\":{\"BannerComponentProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Banner\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Banner.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsOnFramerCanvas,withCSS}from\"framer\";import{AnimatePresence,isBrowser,motion}from\"framer-motion\";import{lazy,Suspense,useEffect,useState}from\"react\";import{createPortal}from\"react-dom\";import{defaultConsent,useConsent,useGTMDefaultConsent}from\"https://framerusercontent.com/modules/zvf2WTzc98u6EX2y7YDj/dsQTNWNk09IMnZEHMfzP/consent.js\";import{useRegion}from\"https://framerusercontent.com/modules/0oeZpJVursioGAbwgB9e/atthcI0SmGvO4HAxG9e5/region.js\";import{Banner}from\"https://framerusercontent.com/modules/EkwkxVF9vkTs720qqBC8/6ViXEDlSyuNyc0Na4Rzv/Banner.js\";import{inEU}from\"https://framerusercontent.com/modules/HKzIAGtbudIGLRAteuFH/Nhaar5CYKIbxxEaVvTJs/inEU.js\";import{DEFAULT_FONT_FAMILY,getFlexboxValues,interactionResponse,yieldBeforeCb}from\"https://framerusercontent.com/modules/tfq8EDfrazNLXzc9LJte/hLcdFz4t8UjInDMvzq41/utils.js\";// Keep track of open state between page reloads\nlet initiallyOpen=false;/**\n * COOKIE BANNER\n * By Floris Verloop\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n *\n */export default function CookieBanner({gtmId,preview,trigger,banner,button,content,options,style,gtmLoadedExternally,onShown,onConsentChange,onAccept,onDismiss,onReject,onSavePreferences}){const isOnFramerCanvas=useIsOnFramerCanvas();const isPreview=preview&&isOnFramerCanvas;const skipLogic=!preview&&isOnFramerCanvas;const isInEU=isBrowser?inEU():false;const gtmDefaults=useGTMDefaultConsent();const region=useRegion({content,useRegionFromProps:isPreview,// skip EU check (expensive) if we are on the canvas and don't want a preview\nskipEUCheck:skipLogic,regionFromGTM:gtmDefaults.region});const consent=useConsent({gtmId,defaultConsent:gtmDefaults.available?gtmDefaults.consent:region.defaults,gtmLoadedExternally,defaultsFromGTM:gtmDefaults.available});const[isOpen,setIsOpen]=useState(initiallyOpen);// On page switch, disable all transitions so the banner shows up as fast as possible.\nconst[instantlyShowOnMount,setInstantlyShowOnMount]=useState(initiallyOpen);useEffect(()=>{if(skipLogic)return;// Save open state between page switches\ninitiallyOpen=isOpen;// Disable instantly show on mount after first open\nif(isOpen){setInstantlyShowOnMount(false);}// Track shown event\nif(isOpen&&!isPreview&&onShown){yieldBeforeCb(()=>onShown({isInEU}),{priority:\"user-blocking\"});}},[isOpen,skipLogic]);// Check if user should be prompted\nuseEffect(()=>{if(skipLogic)return;const noConsentGiven=consent.isInitialized&&!consent.isDismissed;const shouldAutoAccept=region.type===\"simple\"&&!consent.isAutoAccepted;if(noConsentGiven){performance.mark(\"framer-cookie-open\");setIsOpen(true);/** Automatically accept all cookies for simple banner. */if(shouldAutoAccept){consent.autoAccept();// Fire callback\nif(onAccept){yieldBeforeCb(()=>onAccept({isInEU}));}}}if(consent.isDismissed){setIsOpen(false);}},[consent.isInitialized,consent.isDismissed,skipLogic]);useEffect(()=>{if(skipLogic)return;if(onConsentChange){yieldBeforeCb(()=>onConsentChange({isInEU,consent:consent.modes}));}},[consent.modes,skipLogic]);async function handleDismiss(){await interactionResponse();consent.dismiss();setIsOpen(false);// Fire callback\nif(onDismiss){yieldBeforeCb(()=>onDismiss({isInEU}));}}async function handleAcceptAll(){await interactionResponse();consent.acceptAll();setIsOpen(false);// Fire callback\nif(onAccept){yieldBeforeCb(()=>onAccept({isInEU}));}}async function handleRejectAll(){await interactionResponse();consent.rejectAll();setIsOpen(false);// Fire callback\nif(onReject){yieldBeforeCb(()=>onReject({isInEU}));}}async function handleAcceptCurrent(){await interactionResponse();consent.acceptCurrent();setIsOpen(false);// Fire callbacks\nyieldBeforeCb(()=>{if(onAccept){onAccept({isInEU});}});yieldBeforeCb(()=>{if(onSavePreferences){onSavePreferences({isInEU});}});}if(isPreview){return /*#__PURE__*/_jsx(\"div\",{style:{...style,width:banner.width},children:/*#__PURE__*/_jsx(Banner,{banner:banner,button:button,region:region,options:options,previewOptions:isPreview&&options.preview,consentModes:{...defaultConsent,necessary:true},animateOnMount:false})});}return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Trigger,{style:style,trigger:trigger,onClick:()=>setIsOpen(true)}),!skipLogic&&/*#__PURE__*/_jsx(Overlay,{banner:banner,button:button,region:region,options:options,consentModes:consent.modes,animateOnMount:!instantlyShowOnMount,onAcceptAll:handleAcceptAll,onAcceptCurrent:handleAcceptCurrent,onRejectAll:handleRejectAll,onDismiss:handleDismiss,onToggleConsent:consent.toggleMode,isOpen:isOpen})]});}const IconCookie=/*#__PURE__*/lazy(()=>import(\"https://framerusercontent.com/modules/80EyUU0Nk6u7skW3IlHH/qKhU3oZiLDe4R0LcF3Tp/Icons.js\"));function Overlay(props){const insetValue=props.banner.insetPerSide?`${props.banner.insetTop}px ${props.banner.insetRight}px ${props.banner.insetBottom}px ${props.banner.insetLeft}px`:`${props.banner.inset}px`;const{justifyContent,alignItems}=getFlexboxValues(props.banner.position);const isOpen=props.isOpen;const[shouldRenderPortal,setShouldRenderPortal]=useState(isOpen);// if the portal has previously been rendered, we want to keep rendering the portal, which ensures:\n// - that AnimatePresence works (fade out effect)\n// - we don't cause body style recalc/reflow when the DOM node is removed\nif(!shouldRenderPortal&&isOpen)setShouldRenderPortal(isOpen);if(!shouldRenderPortal)return null;const blocking=props.region.blocking;return /*#__PURE__*/createPortal(/*#__PURE__*/_jsx(\"div\",{style:{display:\"contents\"},children:/*#__PURE__*/_jsx(AnimatePresence,{children:isOpen?/*#__PURE__*/_jsxs(motion.div,{style:{// We only need to span to the full viewport width if the overlay is blocking.\n// Otherwise, we optimize for a smaller layer size. see: https://framer-team.slack.com/archives/C05V49Q4NJ2/p1709820207863249\ntop:blocking||alignItems===\"flex-start\"?0:undefined,left:blocking||justifyContent===\"flex-start\"?0:undefined,right:blocking||justifyContent===\"flex-end\"?0:undefined,height:blocking?\"100%\":undefined,width:blocking||justifyContent===\"center\"?\"100%\":undefined,bottom:blocking||alignItems===\"flex-end\"?0:undefined,boxSizing:\"border-box\",position:\"fixed\",touchAction:\"none\",padding:insetValue,zIndex:props.banner.zIndex,display:\"flex\",flexDirection:\"row\",gap:20,justifyContent:\"center\",pointerEvents:blocking?\"all\":\"none\"},children:[blocking&&/*#__PURE__*/_jsx(Backdrop,{color:props.banner.style?.backdrop}),/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",justifyContent,alignItems,pointerEvents:\"none\",maxWidth:props.banner.containerWidth>0?props.banner.containerWidth:\"unset\"},children:/*#__PURE__*/_jsx(Banner,{...props})})]}):null})}),document.body);}const Trigger=withCSS(({trigger,style,onClick})=>{const isOnFramerCanvas=useIsOnFramerCanvas();if(trigger.type!==\"none\"){return /*#__PURE__*/_jsx(\"button\",{className:\"__framer-cookie-component-button\",\"aria-label\":\"Cookie Trigger\",style:{width:\"100%\",height:\"100%\",background:\"none\",display:\"flex\",border:\"none\",padding:0,color:trigger.color,fontSize:16,cursor:\"pointer\",...trigger.textFont},onClick:onClick,children:trigger.type===\"icon\"?/*#__PURE__*/_jsx(_Fragment,{children:trigger.iconType===\"custom\"&&trigger.iconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon entry point for Site Search\",src:trigger.iconImage.src,width:trigger.iconSize,height:trigger.iconSize}):/*#__PURE__*/_jsx(Suspense,{children:/*#__PURE__*/_jsx(IconCookie,{width:trigger.iconSize,height:trigger.iconSize,color:trigger.color})})}):/*#__PURE__*/_jsx(\"span\",{style:{whiteSpace:\"nowrap\"},children:trigger.text})});}if(isOnFramerCanvas){return /*#__PURE__*/_jsxs(\"div\",{style:{borderRadius:8,color:\"#09F\",border:\"1px dashed #09F\",background:\"rgba(0, 153, 255, 0.1)\",padding:20,display:\"flex\",flexDirection:\"column\",gap:5,fontFamily:DEFAULT_FONT_FAMILY,textAlign:\"center\",justifyContent:\"center\",width:164,...style},children:[/*#__PURE__*/_jsx(\"p\",{style:{fontSize:12,fontWeight:600,lineHeight:1,margin:0},children:\"Cookie Banner\"}),/*#__PURE__*/_jsx(\"p\",{style:{fontSize:12,lineHeight:1.5,margin:0},children:\"Put on a page to add a Cookie Banner.\"})]});}},\".__framer-cookie-component-button:focus:not(:focus-visible){outline-color:transparent}\",\"framer-lib-cookie-trigger\");function Backdrop({color}){return /*#__PURE__*/_jsx(motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},style:{position:\"absolute\",top:0,left:0,right:0,bottom:0,width:\"100%\",height:\"100%\",backgroundColor:color,pointerEvents:\"none\"}});}addPropertyControls(CookieBanner,{gtmId:{title:\"GTM ID\",type:ControlType.String,placeholder:\"GTM-AAAAAAA\",description:\"Your GTM container ID.\\n[Learn more](https://www.framer.com/learn/cookie-banner/)\"},preview:{type:ControlType.Boolean,defaultValue:true,description:\"Lets you preview the banner on the Canvas.\"},trigger:{type:ControlType.Object,buttonTitle:\"Icon, Text\",controls:{type:{title:\"Type\",type:ControlType.Enum,options:[\"text\",\"icon\",\"none\"],optionTitles:[\"Text\",\"Icon\",\"None\"],defaultValue:\"text\",displaySegmentedControl:true},iconType:{title:\"Icon\",type:ControlType.Enum,options:[\"default\",\"custom\"],optionTitles:[\"Default\",\"Custom\"],displaySegmentedControl:true,hidden:props=>props.type!==\"icon\"},text:{title:\"Label\",type:ControlType.String,defaultValue:\"Cookie Settings\",hidden:props=>props.type!==\"text\"},textFont:{// @ts-ignore - internal\ntype:ControlType.Font,title:\" \",controls:\"extended\",hidden:props=>props.type!==\"text\"},iconSize:{title:\"Size\",type:ControlType.Number,displayStepper:true,defaultValue:24,hidden:props=>props.type!==\"icon\"},color:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\",hidden:props=>props.type===\"none\"||props.type===\"icon\"&&props.iconType===\"custom\"},iconImage:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:props=>props.iconType===\"default\"}}},banner:{title:\"Banner\",type:ControlType.Object,buttonTitle:\"Font, Styles\",controls:{position:{type:ControlType.Enum,title:\"Position\",options:[\"top-left\",\"top-center\",\"top-right\",\"bottom-right\",\"bottom-center\",\"bottom-left\"],optionTitles:[\"Top Left\",\"Top Center\",\"Top Right\",\"Bottom Right\",\"Bottom Center\",\"Bottom Left\"],defaultValue:\"bottom-right\"},zIndex:{title:\"Z Index\",type:ControlType.Number,defaultValue:10,displayStepper:true,min:0,max:10},width:{title:\"Width\",type:ControlType.Number,defaultValue:360,min:200,max:1e3,displayStepper:true,step:5},containerWidth:{title:\"Wrapping\",type:ControlType.Number,defaultValue:0,min:0},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],defaultValue:20,valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},inset:{title:\"Inset\",type:ControlType.FusedNumber,toggleKey:\"insetPerSide\",toggleTitles:[\"Inset\",\"Inset per side\"],defaultValue:20,valueKeys:[\"insetTop\",\"insetRight\",\"insetBottom\",\"insetLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},style:{type:ControlType.Object,title:\"Style\",buttonTitle:\"Fonts, Colors, Shadow\",controls:{fontTitle:{// @ts-ignore - internal\ntype:ControlType.Font,title:\"Title\",controls:\"extended\"},colorTitle:{title:\" \",type:ControlType.Color,defaultValue:\"#000\"},fontBody:{// @ts-ignore - internal\ntype:ControlType.Font,title:\"Body\",controls:\"extended\"},colorBody:{title:\" \",type:ControlType.Color,defaultValue:\"#444\"},fill:{title:\"Fill\",type:ControlType.Color,defaultValue:\"#FFF\"},link:{title:\"Link\",type:ControlType.Color,optional:true,defaultValue:\"#999\"},border:{type:ControlType.Object,title:\"Border\",buttonTitle:\"Radius, Width\",controls:{radius:{title:\"Radius\",type:ControlType.Number,displayStepper:true,min:0,defaultValue:14},width:{title:\"Width\",type:ControlType.Number,displayStepper:true,min:0,defaultValue:1},color:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.05)\"}}},shadow:{type:ControlType.Object,title:\"Shadow\",optional:true,controls:{shadowColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.25)\"},shadowX:{title:\"X\",type:ControlType.Number,min:-100,max:100,defaultValue:0},shadowY:{title:\"Y\",type:ControlType.Number,min:-100,max:100,defaultValue:2},shadowBlur:{title:\"Blur\",type:ControlType.Number,min:0,max:100,defaultValue:4}}},backdrop:{title:\"Backdrop\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.1)\",hidden:(_,props)=>!props.content.euBlocking&&!props.content.worldBlocking}}},animation:{icon:\"effect\",buttonTitle:\"Options\",type:ControlType.Object,controls:{x:{type:ControlType.Number,displayStepper:true,defaultValue:0},y:{type:ControlType.Number,displayStepper:true,defaultValue:10},scale:{type:ControlType.Number,min:0,step:.1,defaultValue:1},transition:{type:ControlType.Transition}}}}},button:{title:\"Buttons\",type:ControlType.Object,buttonTitle:\"Variants, Style\",controls:{primary:{title:\"Primary\",type:ControlType.Object,buttonTitle:\"Colors, Shadow\",controls:{fill:{title:\"Fill\",type:ControlType.Color,defaultValue:\"#000\"},color:{title:\"Color\",type:ControlType.Color,defaultValue:\"#FFF\"},shadow:{type:ControlType.Object,title:\"Shadow\",optional:true,controls:{shadowColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.25)\"},shadowX:{title:\"X\",type:ControlType.Number,min:-100,max:100},shadowY:{title:\"Y\",type:ControlType.Number,min:-100,max:100},shadowBlur:{title:\"Blur\",type:ControlType.Number,min:0,max:100}}}}},secondary:{title:\"Secondary\",type:ControlType.Object,buttonTitle:\"Colors, Shadow\",controls:{fill:{title:\"Fill\",type:ControlType.Color,defaultValue:\"#EEE\"},color:{title:\"Color\",type:ControlType.Color,defaultValue:\"#444\"},shadow:{type:ControlType.Object,title:\"Shadow\",optional:true,controls:{shadowColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.25)\"},shadowX:{title:\"X\",type:ControlType.Number,min:-100,max:100},shadowY:{title:\"Y\",type:ControlType.Number,min:-100,max:100},shadowBlur:{title:\"Blur\",type:ControlType.Number,min:0,max:100}}}}},labels:{type:ControlType.Object,controls:{accept:{type:ControlType.String,defaultValue:\"Accept\"},reject:{type:ControlType.String,defaultValue:\"Reject\"},acceptAll:{type:ControlType.String,defaultValue:\"Accept all\"},rejectAll:{type:ControlType.String,defaultValue:\"Reject all\"},customize:{type:ControlType.String,defaultValue:\"Customize\"},save:{type:ControlType.String,defaultValue:\"Save Preferences\"},confirm:{type:ControlType.String,defaultValue:\"Okay\"}}},font:{// @ts-ignore - internal\ntype:ControlType.Font,title:\"Font\",controls:\"extended\"},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],defaultValue:10,valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},borderRadius:{title:\"Radius\",type:ControlType.Number,displayStepper:true,min:0,defaultValue:8},tapOpacity:{title:\"Tap Opacity\",type:ControlType.Number,step:.1,displayStepper:true,max:1,min:0,defaultValue:.4},hoverOpacity:{title:\"Hover Opacity\",type:ControlType.Number,step:.1,displayStepper:true,max:1,min:0,defaultValue:.6},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"row\",\"column\"],// @ts-ignore - internal\noptionIcons:[\"direction-horizontal\",\"direction-vertical\"],defaultValue:\"row\",displaySegmentedControl:true},fluid:{title:\"Fluid\",type:ControlType.Boolean,defaultValue:true}}},content:{title:\"Regions\",type:ControlType.Object,buttonTitle:\"World, EU\",controls:{isEU:{title:\" \",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"EU\",disabledTitle:\"World\"},euType:{title:\"Choices\",type:ControlType.Enum,options:[\"simple\",\"medium\",\"advanced\"],optionTitles:[\"None\",\"Accept/Reject\",\"Customizable\"],defaultValue:\"medium\",hidden:props=>!props.isEU},euTitle:{title:\"Title\",type:ControlType.String,defaultValue:\"Cookie Settings\",hidden:props=>props.euType===\"simple\"||!props.isEU},euDescription:{title:\"Description\",type:ControlType.String,defaultValue:\"We use cookies to enhance your experience, analyze site traffic and deliver personalized content.\",displayTextArea:true,hidden:props=>!props.isEU},euPolicy:{title:\"Policy\",type:ControlType.Object,buttonTitle:\"Link, Prefix\",controls:{link:{title:\"Link\",type:ControlType.Link,defaultValue:\"https://www.framer.com/legal/policy/\"},prefix:{title:\"Prefix\",type:ControlType.String,defaultValue:\"Read our\"},label:{title:\"Label\",type:ControlType.String,defaultValue:\"Cookie Policy\"}},hidden:props=>!props.isEU},euDefaults:{title:\"Defaults\",buttonTitle:\"Options\",type:ControlType.Object,controls:{necessary:{type:ControlType.Boolean,enabledTitle:\"Granted\",disabledTitle:\"Denied\",defaultValue:true},preferences:{type:ControlType.Boolean,enabledTitle:\"Granted\",disabledTitle:\"Denied\",defaultValue:false},analytics:{type:ControlType.Boolean,enabledTitle:\"Granted\",disabledTitle:\"Denied\",defaultValue:false},marketing:{type:ControlType.Boolean,enabledTitle:\"Granted\",disabledTitle:\"Denied\",defaultValue:false,description:\"The default consent when the user hasn’t provided any yet.\"}},hidden:props=>!props.isEU},euShowReject:{title:\"Reject All\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",hidden:props=>props.euType!==\"advanced\"},euBlocking:{title:\"Blocking\",type:ControlType.Boolean,defaultValue:false,description:\"Renders a content blocking backdrop.\",hidden:props=>!props.isEU},worldType:{title:\"Choices\",type:ControlType.Enum,options:[\"simple\",\"medium\",\"advanced\"],optionTitles:[\"None\",\"Accept/Reject\",\"Customizable\"],defaultValue:\"simple\",hidden:props=>props.isEU},worldTitle:{title:\"Title\",type:ControlType.String,defaultValue:\"Cookie Settings\",hidden:props=>props.worldType===\"simple\"||props.isEU},worldDescription:{title:\"Description\",type:ControlType.String,defaultValue:\"We use cookies to personalize content, run ads, and analyze traffic.\",displayTextArea:true,hidden:props=>props.isEU},worldPolicy:{title:\"Policy\",type:ControlType.Object,buttonTitle:\"Link, Prefix\",controls:{link:{title:\"Link\",type:ControlType.Link},prefix:{title:\"Prefix\",type:ControlType.String,defaultValue:\"Read our\"},label:{title:\"Label\",type:ControlType.String,defaultValue:\"Cookie Policy\"}},hidden:props=>props.isEU},worldDefaults:{title:\"Defaults\",buttonTitle:\"Options\",type:ControlType.Object,controls:{necessary:{type:ControlType.Boolean,enabledTitle:\"Granted\",disabledTitle:\"Denied\",defaultValue:true},preferences:{type:ControlType.Boolean,enabledTitle:\"Granted\",disabledTitle:\"Denied\",defaultValue:true},analytics:{type:ControlType.Boolean,enabledTitle:\"Granted\",disabledTitle:\"Denied\",defaultValue:true},marketing:{type:ControlType.Boolean,enabledTitle:\"Granted\",disabledTitle:\"Denied\",defaultValue:true,description:\"The default consent when the user hasn’t provided any yet.\"}},hidden:props=>props.isEU},worldShowReject:{title:\"Reject All\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",hidden:props=>props.worldType!==\"advanced\"},worldBlocking:{title:\"Blocking\",type:ControlType.Boolean,defaultValue:false,description:\"Renders a content blocking backdrop.\",hidden:props=>props.isEU}}},options:{type:ControlType.Object,buttonTitle:\"Content, Styles\",hidden:(_,props)=>props.content.euType!==\"advanced\"&&props.content.worldType!==\"advanced\",controls:{preview:{type:ControlType.Boolean,defaultValue:false,description:\"Open when previewing banner on the canvas.\",hidden:(_,props)=>!props.preview},necessary:{title:\"Necessary\",type:ControlType.Object,buttonTitle:\"Content\",controls:{title:{title:\"Title\",type:ControlType.String,defaultValue:\"Necessary\"},description:{title:\"Description\",type:ControlType.String,defaultValue:\"Enables security and basic functionality.\",displayTextArea:true},optional:{title:\"Optional\",type:ControlType.Boolean,defaultValue:true}}},preferences:{title:\"Preferences\",type:ControlType.Object,buttonTitle:\"Content\",controls:{title:{title:\"Title\",type:ControlType.String,defaultValue:\"Preferences\"},description:{title:\"Description\",type:ControlType.String,defaultValue:\"Enables personalized content and settings.\",displayTextArea:true,optional:true}}},analytics:{title:\"Analytics\",type:ControlType.Object,buttonTitle:\"Content\",controls:{title:{title:\"Title\",type:ControlType.String,defaultValue:\"Analytics\"},description:{title:\"Description\",type:ControlType.String,defaultValue:\"Enables tracking of performance.\",displayTextArea:true}}},marketing:{title:\"Marketing\",type:ControlType.Object,buttonTitle:\"Content\",controls:{title:{title:\"Title\",type:ControlType.String,defaultValue:\"Marketing\"},description:{title:\"Description\",type:ControlType.String,defaultValue:\"Enables ads personalization and tracking.\",displayTextArea:true}}},style:{type:ControlType.Object,title:\"Style\",buttonTitle:\"Fonts, Colors\",controls:{fontTitle:{// @ts-ignore - internal\ntype:ControlType.Font,title:\"Title\",controls:\"basic\"},fontBody:{// @ts-ignore - internal\ntype:ControlType.Font,title:\"Body\",controls:\"basic\"},background:{title:\"Background\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.02)\"},border:{type:ControlType.Object,title:\"Border\",buttonTitle:\"Radius, Width\",controls:{radius:{title:\"Radius\",type:ControlType.Number,displayStepper:true,min:0,defaultValue:8},width:{title:\"Width\",type:ControlType.Number,displayStepper:true},color:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.02)\"}}},toggleColor:{title:\"On\",type:ControlType.Color,defaultValue:\"#000\"},toggleColorInactive:{title:\"Off\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.1)\"},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],defaultValue:12,valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0}}}}}});CookieBanner.displayName=\"Cookie Banner\";\nexport const __FramerMetadata__ = {\"exports\":{\"ContentType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PolicyProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CookieBannerProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ButtonsProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"CookieBanner\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\"}},\"OptionsStyle\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ContentProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (af04cc1)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Inter-Medium\",\"Inter-Bold\",\"Inter-BoldItalic\",\"Inter-MediumItalic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/d3tHnaQIAeqiE5hGcRw4mmgWYU.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/DolVirEGb34pEXEp8t8FQBSK4.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/DXD0Q7LSl7HEvDzucnyLnGBHM.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/QxmhnWTzLtyjIiZcfaLIJ8EFBXU.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/khkJkwSL66WFg8SX6Wa726c.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/0E7IMbDzcGABpBwwqNEt60wU0w.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/NTJ0nQgIF0gcDelS14zQ9NR9Q.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/QrcNhgEPfRl0LS8qz5Ln8olanl8.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JEXmejW8mXOYMtt0hyRg811kHac.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/ksvR4VsLksjpSwnC2fPgHRNMw.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/uy9s0iWuxiNnVt8EpTI3gzohpwo.woff2\",weight:\"500\"}]}];export const css=['.framer-4R4cK .framer-styles-preset-tztfoz:not(.rich-text-wrapper), .framer-4R4cK .framer-styles-preset-tztfoz.rich-text-wrapper h2 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv09\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv11\\' on; --framer-font-size: 10px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: -0.04em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #000000; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; }'];export const className=\"framer-4R4cK\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (44d7d2d)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;DM Sans-500\",\"GF;DM Sans-700\",\"GF;DM Sans-700italic\",\"GF;DM Sans-500italic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"DM Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/dmsans/v15/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAkJxhS2f3ZGMZpg.woff2\",weight:\"500\"},{family:\"DM Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/dmsans/v15/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwARZthS2f3ZGMZpg.woff2\",weight:\"700\"},{family:\"DM Sans\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/dmsans/v15/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat9uCm32RmYJpso5.woff2\",weight:\"700\"},{family:\"DM Sans\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/dmsans/v15/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-7DW32RmYJpso5.woff2\",weight:\"500\"}]}];export const css=['.framer-OuAKB .framer-styles-preset-1jotagw:not(.rich-text-wrapper), .framer-OuAKB .framer-styles-preset-1jotagw.rich-text-wrapper h2 { --framer-font-family: \"DM Sans\", \"DM Sans Placeholder\", sans-serif; --framer-font-family-bold: \"DM Sans\", \"DM Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"DM Sans\", \"DM Sans Placeholder\", sans-serif; --framer-font-family-italic: \"DM Sans\", \"DM Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 11px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0.1em; --framer-line-height: 17px; --framer-paragraph-spacing: 40px; --framer-text-alignment: center; --framer-text-color: var(--token-27bed0d5-1fc6-4b74-a61d-c8d2de1cd0ca, #f6b589); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; }'];export const className=\"framer-OuAKB\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (552ec80)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=['.framer-QAM7m .framer-styles-preset-131gen3:not(.rich-text-wrapper), .framer-QAM7m .framer-styles-preset-131gen3.rich-text-wrapper a { --framer-link-current-text-color: var(--token-27bed0d5-1fc6-4b74-a61d-c8d2de1cd0ca, #f6b589) /* {\"name\":\"Gold\"} */; --framer-link-current-text-decoration: none; --framer-link-hover-text-color: var(--token-adda58c1-f4a1-4958-81c9-30fac7f78dd8, #ffffff) /* {\"name\":\"White\"} */; --framer-link-hover-text-decoration: none; --framer-link-text-color: var(--token-684a608d-0e0a-4937-bd5b-90c5fce3cac9, #f6b589); --framer-link-text-decoration: none; }'];export const className=\"framer-QAM7m\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (1b27997)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,Link,ResolveLinks,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import CookieBanner from\"https://framerusercontent.com/modules/GbX8S6ghmyszcS2GLR2F/LJki37UjB5KBVYI60fjt/Cookies.js\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/w23o7DjbVjRsNUwTqd6B/sbjIl2stsP5hQBG2U8rZ/kN_hHiZH1.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/1HwjKIqf4AbqZhtXXfBk/7jOI1VrFaDvvD1ZEr79o/luPMJwNSZ.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/xfnErJvUfkLJm3U3sU6O/HRP9IFkx9BLpOxWhW9Ti/zq2Nqyop2.js\";const CookieBannerFonts=getFonts(CookieBanner);const cycleOrder=[\"QodA5V85I\",\"l08GXTvEI\"];const serializationHash=\"framer-nnCoi\";const variantClassNames={l08GXTvEI:\"framer-v-1jnqv6z\",QodA5V85I:\"framer-v-1t2nm4d\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Desktop:\"QodA5V85I\",Phone:\"l08GXTvEI\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"QodA5V85I\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"QodA5V85I\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const router=useRouter();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1t2nm4d\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"QodA5V85I\",ref:refBinding,style:{...style},...addPropertyOverrides({l08GXTvEI:{\"data-framer-name\":\"Phone\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1pr3acc\",layoutDependency:layoutDependency,layoutId:\"Shyby8l7o\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1j1qk90\",layoutDependency:layoutDependency,layoutId:\"BjzpyU_yC\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1jotagw\",\"data-styles-preset\":\"luPMJwNSZ\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"veM6a_GeW\"},motionChild:true,nodeId:\"l_cQnSELr\",openInNewTab:false,relValues:[],scopeId:\"gfyN1cptQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-131gen3\",\"data-styles-preset\":\"zq2Nqyop2\",children:\"Contact\"})})})}),className:\"framer-r3jets\",\"data-framer-name\":\"Imprint\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"l_cQnSELr\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({l08GXTvEI:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-tztfoz\",\"data-styles-preset\":\"kN_hHiZH1\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"veM6a_GeW\"},motionChild:true,nodeId:\"l_cQnSELr\",openInNewTab:false,relValues:[],scopeId:\"gfyN1cptQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-131gen3\",\"data-styles-preset\":\"zq2Nqyop2\",children:\"Contact\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1jotagw\",\"data-styles-preset\":\"luPMJwNSZ\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"ky0iTeLK3\"},motionChild:true,nodeId:\"boe1SvINF\",openInNewTab:false,relValues:[],scopeId:\"gfyN1cptQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-131gen3\",\"data-styles-preset\":\"zq2Nqyop2\",children:\"Imprint\"})})})}),className:\"framer-idpwpc\",\"data-framer-name\":\"Imprint\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"boe1SvINF\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({l08GXTvEI:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-tztfoz\",\"data-styles-preset\":\"kN_hHiZH1\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"ky0iTeLK3\"},motionChild:true,nodeId:\"boe1SvINF\",openInNewTab:false,relValues:[],scopeId:\"gfyN1cptQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-131gen3\",\"data-styles-preset\":\"zq2Nqyop2\",children:\"Imprint\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"Kl38K86qf\"},implicitPathVariables:undefined},{href:{webPageId:\"Kl38K86qf\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-op78kk-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"TV3gjtK_E-container\",nodeId:\"TV3gjtK_E\",rendersWithMotion:true,scopeId:\"gfyN1cptQ\",children:/*#__PURE__*/_jsx(CookieBanner,{banner:{animation:{scale:1,transition:{damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"},x:0,y:10},containerWidth:0,inset:20,insetBottom:20,insetLeft:20,insetPerSide:false,insetRight:20,insetTop:20,padding:20,paddingBottom:20,paddingLeft:20,paddingPerSide:false,paddingRight:20,paddingTop:20,position:\"bottom-left\",style:{backdrop:\"rgba(0, 0, 0, 0.1)\",border:{color:\"rgba(0, 0, 0, 0.05)\",radius:14,width:1},colorBody:\"rgb(68, 68, 68)\",colorTitle:\"rgb(0, 0, 0)\",fill:\"rgb(255, 255, 255)\",fontBody:{},fontTitle:{fontFamily:'\"Inter\", sans-serif',fontSize:\"16px\",fontStyle:\"normal\",letterSpacing:\"0em\",lineHeight:\"1em\"},link:\"rgb(153, 153, 153)\"},width:360,zIndex:10},button:{borderRadius:8,direction:\"row\",fluid:true,font:{},hoverOpacity:.6,labels:{accept:\"Accept\",acceptAll:\"Accept all\",confirm:\"Okay\",customize:\"Customize\",reject:\"Reject\",rejectAll:\"Reject all\",save:\"Save Preferences\"},padding:10,paddingBottom:10,paddingLeft:10,paddingPerSide:false,paddingRight:10,paddingTop:10,primary:{color:\"rgb(255, 255, 255)\",fill:\"var(--token-42ec22d7-9824-4b00-a4fb-724407248eb8, rgb(178, 136, 194))\"},secondary:{color:\"rgb(68, 68, 68)\",fill:\"rgb(238, 238, 238)\"},tapOpacity:.4},content:{euBlocking:false,euDefaults:{analytics:false,marketing:false,necessary:true,preferences:true},euDescription:\"We use cookies to enhance your experience, analyze site traffic and deliver personalized content.\",euPolicy:{label:\"Policy\",link:resolvedLinks[0],prefix:\"Read our\"},euShowReject:true,euTitle:\"Cookie Settings\",euType:\"medium\",isEU:false,worldBlocking:false,worldDefaults:{analytics:true,marketing:true,necessary:true,preferences:true},worldDescription:\"We use cookies to personalize content, run ads, and analyze traffic.\",worldPolicy:{label:\"Cookie Policy\",prefix:\"Read our\"},worldShowReject:true,worldTitle:\"Cookie Settings\",worldType:\"medium\"},gtmId:\"\",height:\"100%\",id:\"TV3gjtK_E\",layoutId:\"TV3gjtK_E\",options:{analytics:{description:\"Enables tracking of performance.\",title:\"Analytics\"},marketing:{description:\"Enables ads personalization and tracking.\",title:\"Marketing\"},necessary:{description:\"Enables security and basic functionality.\",optional:true,title:\"Necessary\"},preferences:{description:\"Enables personalized content and settings.\",title:\"Preferences\"},preview:false,style:{background:\"rgba(0, 0, 0, 0.02)\",border:{color:\"rgba(0, 0, 0, 0.02)\",radius:8,width:0},fontBody:{},fontTitle:{},padding:12,paddingBottom:12,paddingLeft:12,paddingPerSide:false,paddingRight:12,paddingTop:12,toggleColor:\"rgb(0, 0, 0)\",toggleColorInactive:\"rgba(0, 0, 0, 0.1)\"}},preview:false,trigger:{color:\"var(--token-27bed0d5-1fc6-4b74-a61d-c8d2de1cd0ca, rgb(246, 181, 137))\",iconSize:24,iconType:\"default\",text:\"COOKIES\",textFont:{fontFamily:'\"DM Sans\", \"DM Sans Placeholder\", sans-serif',fontSize:\"11px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"0em\",lineHeight:\"1em\"},type:\"text\"},width:\"100%\",...addPropertyOverrides({l08GXTvEI:{content:{euBlocking:false,euDefaults:{analytics:false,marketing:false,necessary:true,preferences:true},euDescription:\"We use cookies to enhance your experience, analyze site traffic and deliver personalized content.\",euPolicy:{label:\"Policy\",link:resolvedLinks[1],prefix:\"Read our\"},euShowReject:true,euTitle:\"Cookie Settings\",euType:\"medium\",isEU:false,worldBlocking:false,worldDefaults:{analytics:true,marketing:true,necessary:true,preferences:true},worldDescription:\"We use cookies to personalize content, run ads, and analyze traffic.\",worldPolicy:{label:\"Cookie Policy\",prefix:\"Read our\"},worldShowReject:true,worldTitle:\"Cookie Settings\",worldType:\"medium\"}}},baseVariant,gestureVariant)})})})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-a8s7t9\",layoutDependency:layoutDependency,layoutId:\"SfLhNgLJA\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1jotagw\",\"data-styles-preset\":\"luPMJwNSZ\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Kl38K86qf\"},motionChild:true,nodeId:\"wjcGfWvo5\",openInNewTab:false,relValues:[],scopeId:\"gfyN1cptQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-131gen3\",\"data-styles-preset\":\"zq2Nqyop2\",children:\"Privacy\"})})})}),className:\"framer-x8l9mg\",\"data-framer-name\":\"Privacy\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"wjcGfWvo5\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({l08GXTvEI:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-tztfoz\",\"data-styles-preset\":\"kN_hHiZH1\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Kl38K86qf\"},motionChild:true,nodeId:\"wjcGfWvo5\",openInNewTab:false,relValues:[],scopeId:\"gfyN1cptQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-131gen3\",\"data-styles-preset\":\"zq2Nqyop2\",children:\"Privacy\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1jotagw\",\"data-styles-preset\":\"luPMJwNSZ\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"RjQ6IxNst\"},motionChild:true,nodeId:\"fXwvwlDaW\",openInNewTab:false,relValues:[],scopeId:\"gfyN1cptQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-131gen3\",\"data-styles-preset\":\"zq2Nqyop2\",children:\"Newsletter\"})})})}),className:\"framer-1ums3o\",\"data-framer-name\":\"Newsletter\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"fXwvwlDaW\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({l08GXTvEI:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-tztfoz\",\"data-styles-preset\":\"kN_hHiZH1\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"RjQ6IxNst\"},motionChild:true,nodeId:\"fXwvwlDaW\",openInNewTab:false,relValues:[],scopeId:\"gfyN1cptQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-131gen3\",\"data-styles-preset\":\"zq2Nqyop2\",children:\"Newsletter\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1jotagw\",\"data-styles-preset\":\"luPMJwNSZ\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"SNwJPLsow\"},motionChild:true,nodeId:\"HIZ_Jwk7D\",openInNewTab:false,relValues:[],scopeId:\"gfyN1cptQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-131gen3\",\"data-styles-preset\":\"zq2Nqyop2\",children:\"jobs\"})})})}),className:\"framer-14oayna\",\"data-framer-name\":\"Newsletter\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"HIZ_Jwk7D\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({l08GXTvEI:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-tztfoz\",\"data-styles-preset\":\"kN_hHiZH1\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"SNwJPLsow\"},motionChild:true,nodeId:\"HIZ_Jwk7D\",openInNewTab:false,relValues:[],scopeId:\"gfyN1cptQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-131gen3\",\"data-styles-preset\":\"zq2Nqyop2\",children:\"jobs\"})})})})}},baseVariant,gestureVariant)})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-nnCoi.framer-xpane9, .framer-nnCoi .framer-xpane9 { display: block; }\",\".framer-nnCoi.framer-1t2nm4d { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: wrap; gap: 40px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 800px; }\",\".framer-nnCoi .framer-1pr3acc { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: min-content; }\",\".framer-nnCoi .framer-1j1qk90, .framer-nnCoi .framer-a8s7t9 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-nnCoi .framer-r3jets, .framer-nnCoi .framer-idpwpc, .framer-nnCoi .framer-x8l9mg, .framer-nnCoi .framer-1ums3o, .framer-nnCoi .framer-14oayna { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-nnCoi .framer-op78kk-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-nnCoi.framer-v-1jnqv6z.framer-1t2nm4d { gap: 20px; width: 177px; }\",\".framer-nnCoi.framer-v-1jnqv6z .framer-1pr3acc { flex-direction: column; gap: 4px; order: 0; }\",\".framer-nnCoi.framer-v-1jnqv6z .framer-1j1qk90 { height: 14px; width: 172px; }\",\".framer-nnCoi.framer-v-1jnqv6z .framer-a8s7t9 { height: 14px; width: 168px; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 17\n * @framerIntrinsicWidth 800\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"l08GXTvEI\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramergfyN1cptQ=withCSS(Component,css,\"framer-nnCoi\");export default FramergfyN1cptQ;FramergfyN1cptQ.displayName=\"Footer\";FramergfyN1cptQ.defaultProps={height:17,width:800};addPropertyControls(FramergfyN1cptQ,{variant:{options:[\"QodA5V85I\",\"l08GXTvEI\"],optionTitles:[\"Desktop\",\"Phone\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramergfyN1cptQ,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{family:\"DM Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/dmsans/v16/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAkJxhS2f3ZGMZpg.woff2\",weight:\"500\"}]},...CookieBannerFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramergfyN1cptQ\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"l08GXTvEI\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"800\",\"framerIntrinsicHeight\":\"17\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./gfyN1cptQ.map","import{ControlType as e}from\"framer\";export function getBorderStyle({color:e,width:t=0,widthPerSide:o=!1,widthTop:d=0,widthRight:r=0,widthBottom:i=0,widthLeft:l=0,style:h=\"none\"}={}){let b={};return e?(b[\"--framer-border-color\"]=e,b.borderStyle=h,o?(b.borderTopWidth=d,b.borderRightWidth=r,b.borderBottomWidth=i,b.borderLeftWidth=l):(b.borderTopWidth=t,b.borderRightWidth=t,b.borderBottomWidth=t,b.borderLeftWidth=t)):b.border=\"none\",b;}export const borderControls={color:{type:e.Color,defaultValue:\"#444\"},width:{type:e.FusedNumber,toggleKey:\"widthPerSide\",toggleTitles:[\"Width\",\"Width per side\"],valueKeys:[\"widthTop\",\"widthRight\",\"widthBottom\",\"widthLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],defaultValue:1,min:0},style:{type:e.Enum,options:[\"solid\",\"dashed\",\"dotted\",\"double\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\",\"double\"],defaultValue:\"solid\"}};\nexport const __FramerMetadata__ = {\"exports\":{\"borderControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getBorderStyle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BorderOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./border.map","import{ControlType}from\"framer\";export function getFocusStyle({color,width,style,offset}={}){const result={};if(color){result[\"--framer-focus-outline\"]=`${width}px ${style} ${color}`;result[\"--framer-focus-outline-offset\"]=`${offset}px`;}return result;}export const focusControls={color:{type:ControlType.Color,defaultValue:\"#09f\"},width:{type:ControlType.Number,displayStepper:true,defaultValue:1,min:0},style:{type:ControlType.Enum,options:[\"solid\",\"dashed\",\"dotted\",\"double\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\",\"double\"],defaultValue:\"solid\"},offset:{type:ControlType.Number,displayStepper:true}};\nexport const __FramerMetadata__ = {\"exports\":{\"focusControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFocusStyle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FocusOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./focus.map","import{ControlType}from\"framer\";export function getHoverStyle({fillColor,textColor,borderColor}={}){return{\"--framer-hover-background-color\":fillColor,\"--framer-hover-color\":textColor,\"--framer-hover-border-color\":borderColor};}export const hoverControls={fillColor:{type:ControlType.Color,title:\"Fill\",optional:true},textColor:{type:ControlType.Color,title:\"Text\",optional:true},borderColor:{type:ControlType.Color,title:\"Border\",optional:true}};\nexport const __FramerMetadata__ = {\"exports\":{\"HoverOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getHoverStyle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hoverControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./hover.map","import{ControlType}from\"framer\";export function getPaddingStyle({padding=0,paddingPerSide=false,paddingTop=0,paddingRight=0,paddingBottom=0,paddingLeft=0}={}){if(paddingPerSide){return{paddingTop:paddingTop,paddingRight:paddingRight,paddingBottom:paddingBottom,paddingLeft:paddingLeft};}else{return{paddingTop:padding,paddingRight:padding,paddingBottom:padding,paddingLeft:padding};}}export const paddingControls={padding:{type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\",],valueLabels:[\"T\",\"R\",\"B\",\"L\"],defaultValue:10,min:0}};\nexport const __FramerMetadata__ = {\"exports\":{\"getPaddingStyle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./padding.map","import{ControlType}from\"framer\";export function getRadiusStyle({radius=0,radiusPerCorner=false,radiusTopLeft=0,radiusTopRight=0,radiusBottomRight=0,radiusBottomLeft=0}={}){const result={};if(radiusPerCorner){result.borderTopLeftRadius=radiusTopLeft;result.borderTopRightRadius=radiusTopRight;result.borderBottomRightRadius=radiusBottomRight;result.borderBottomLeftRadius=radiusBottomLeft;}else{result.borderTopLeftRadius=radius;result.borderTopRightRadius=radius;result.borderBottomRightRadius=radius;result.borderBottomLeftRadius=radius;}return result;}export const radiusControls={radius:{type:ControlType.FusedNumber,toggleKey:\"radiusPerConrner\",toggleTitles:[\"Radius\",\"Radius per side\"],valueKeys:[\"radiusTopLeft\",\"radiusTopRight\",\"radiusBottomRight\",\"radiusBottomLeft\",],valueLabels:[\"TL\",\"TR\",\"BR\",\"BL\"],defaultValue:10,min:0}};\nexport const __FramerMetadata__ = {\"exports\":{\"getRadiusStyle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"radiusControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./radius.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,// @ts-ignore Internal function\nuseLocaleInfo,withCSS}from\"framer\";import{useId,useState}from\"react\";import{getBorderStyle,borderControls}from\"https://framerusercontent.com/modules/cuKUFdzXlhvw8OVOBeAc/T08RxQJ4qrs7LLc8wx4E/border.js\";import{getFocusStyle,focusControls}from\"https://framerusercontent.com/modules/9muYaW1MvHoRQJ0P7dkP/V2GVvLqiMxXRSxszkCSa/focus.js\";import{getHoverStyle,hoverControls}from\"https://framerusercontent.com/modules/YfmtnpWjJrP37sQ18QUZ/9Y2P24U2SBIbf2fPVsOX/hover.js\";import{getPaddingStyle,paddingControls}from\"https://framerusercontent.com/modules/wjZLfSMaP1TvJDu5PCwr/6SPClu354QJPCp6Xj5C0/padding.js\";import{getRadiusStyle,radiusControls}from\"https://framerusercontent.com/modules/N6MwtHbWoiZJNn1xpqxu/58OHv7BfCzgeBhiv1TYu/radius.js\";const className=\"framer-locale-picker\";function addPixel(value){if(typeof value===\"number\"){return`${value}px`;}return value;}var IconType;(function(IconType){IconType[\"Default\"]=\"default\";IconType[\"Custom\"]=\"custom\";})(IconType||(IconType={}));function Icon({type,color,image,size}){if(type===\"custom\"&&image){return /*#__PURE__*/_jsx(\"img\",{...image,width:size,height:size});}return /*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",width:size,height:size,fill:color,children:/*#__PURE__*/_jsx(\"path\",{d:\"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm87.63,96H175.8c-1.41-28.46-10.27-55.47-25.12-77A88.2,88.2,0,0,1,215.63,120ZM128,215.89c-18.73-20.27-30.09-49-31.77-79.89h63.54C158.09,166.87,146.73,195.62,128,215.89ZM96.23,120c1.68-30.87,13-59.62,31.77-79.89,18.73,20.27,30.09,49,31.77,79.89Zm9.09-77C90.47,64.53,81.61,91.54,80.2,120H40.37A88.2,88.2,0,0,1,105.32,43ZM40.37,136H80.2c1.41,28.46,10.27,55.47,25.12,77A88.2,88.2,0,0,1,40.37,136Zm110.31,77c14.85-21.56,23.71-48.57,25.12-77h39.83A88.2,88.2,0,0,1,150.68,213Z\"})});}var CaretType;(function(CaretType){CaretType[\"Default\"]=\"default\";CaretType[\"Custom\"]=\"custom\";})(CaretType||(CaretType={}));function Caret({type,color,image,size}){if(type===\"custom\"&&image){return /*#__PURE__*/_jsx(\"img\",{...image,width:size,height:size});}return /*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 12 12\",width:size,height:size,children:/*#__PURE__*/_jsx(\"path\",{d:\"M 2 4.5 L 6 8.5 L 10 4.5\",fill:\"none\",stroke:color,strokeWidth:1.5,strokeLinecap:\"round\",strokeLinejoin:\"round\"})});}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n * @framerIntrinsicWidth 120\n * @framerIntrinsicHeight 34\n */const LocaleSelector=withCSS(({font,fillColor,textColor,icon,caret,options:{title,gap,border,hover,focus},style,...props})=>{const id=useId();const{activeLocale,locales,setLocale}=useLocaleInfo();var _activeLocale_id;const activeLocaleId=(_activeLocale_id=activeLocale===null||activeLocale===void 0?void 0:activeLocale.id)!==null&&_activeLocale_id!==void 0?_activeLocale_id:\"default\";const[lastActiveLocaleId,setLastActiveLocaleId]=useState(activeLocaleId);// The useLocaleInfo hook updates the activeLocale variable inside\n// a startTransition to load the translations with Suspense. To make\n// the component feel responsive we update our own state without Suspense.\nconst[selectedLocaleId,setSelectedLocaleId]=useState(activeLocaleId);const selectedLocale=locales.find(locale=>locale.id===selectedLocaleId);// The active locale was updated. Ensure we update our internal state as well.\nif(lastActiveLocaleId!==activeLocaleId){setLastActiveLocaleId(activeLocaleId);if(selectedLocaleId!==activeLocaleId){setSelectedLocaleId(activeLocaleId);}}function handleChange(event){const localeId=event.target.value;setSelectedLocaleId(localeId);const locale=locales.find(locale=>locale.id===localeId);setLocale(locale);}var _selectedLocale_name;return /*#__PURE__*/_jsxs(\"div\",{className:className,style:style,children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:id,children:\"Select Language\"}),/*#__PURE__*/_jsx(\"select\",{id:id,value:selectedLocaleId,onChange:handleChange,// If a navigation occurs from switching locales\n// the browser can attempt to autofill the select to the last value\n// when you use browser back navigation. We don't want that.\nautoComplete:\"off\",children:locales.map(locale=>/*#__PURE__*/_jsx(\"option\",{value:locale.id,children:locale.name},locale.id))}),/*#__PURE__*/_jsxs(\"div\",{className:\"input\",style:{...font,\"--framer-background-color\":fillColor,\"--framer-color\":textColor,...getPaddingStyle(props),...getRadiusStyle(props),...getBorderStyle(border),...getHoverStyle(hover),...getFocusStyle(focus),gap},children:[icon&&/*#__PURE__*/_jsx(\"div\",{className:\"icon\",children:/*#__PURE__*/_jsx(Icon,{...icon})}),title&&/*#__PURE__*/_jsx(\"div\",{className:\"title\",children:(_selectedLocale_name=selectedLocale===null||selectedLocale===void 0?void 0:selectedLocale.name)!==null&&_selectedLocale_name!==void 0?_selectedLocale_name:\"English\"}),caret&&/*#__PURE__*/_jsx(\"div\",{className:\"caret\",children:/*#__PURE__*/_jsx(Caret,{...caret})})]})]});},[`\n            .${className} {\n                position: relative;\n            }\n        `,`\n            .${className} label {\n                position: absolute;\n                width: 1px;\n                height: 1px;\n                margin: -1px;\n                overflow: hidden;\n                white-space: nowrap;\n                clip: rect(0 0 0 0);\n                clip-path: inset(50%);\n            }\n        `,`\n            .${className} select {\n                appearance: none;\n                position: absolute;\n                opacity: 0;\n                top: 0;\n                right: 0;\n                bottom: 0;\n                left: 0;\n                cursor: inherit;\n                width: 100%;\n            }\n        `,`\n            .${className} .input {\n                display: flex;\n                justify-content: center;\n                align-items: center;\n                height: 100%;\n                pointer-events: none;\n                overflow: hidden;\n                background-color: var(--framer-background-color);\n                color: var(--framer-color);\n                border-color: var(--framer-border-color);\n            }\n        `,`\n            .${className} select:focus-visible + .input  {\n                outline: var(--framer-focus-outline, none);\n                outline-offset: var(--framer-focus-outline-offset);\n            }\n        `,`\n            .${className}:hover .input {\n                background-color: var(--framer-hover-background-color, var(--framer-background-color));\n                color: var(--framer-hover-color, var(--framer-color));\n                border-color: var(--framer-hover-border-color, var(--framer-border-color));\n            }\n        `,`\n            .${className} .title {\n                flex: 1 1 auto;\n                white-space: nowrap;\n                text-overflow: ellipsis;\n                overflow: hidden;\n            }\n        `,`\n            .${className} .icon, .${className} .caret {\n                display: flex;\n                align-items: center;\n            }\n        `]);LocaleSelector.displayName=\"Locale Selector\";addPropertyControls(LocaleSelector,{font:{// @ts-ignore\ntype:ControlType.Font,controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:\"1.5em\"}},fillColor:{type:ControlType.Color,title:\"Fill\",optional:true,defaultValue:\"#eee\"},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#000\"},...paddingControls,...radiusControls,icon:{type:ControlType.Object,buttonTitle:\"Size, Color\",optional:true,controls:{type:{type:ControlType.Enum,title:\"Icon\",options:Object.values(IconType),optionTitles:[\"Default\",\"Custom\"],displaySegmentedControl:true,defaultValue:\"default\"},color:{type:ControlType.Color,displaySegmentedControl:true,defaultValue:\"#000\",hidden:props=>props.type!==\"default\"},image:{type:ControlType.ResponsiveImage,title:\"File\",allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:props=>props.type!==\"custom\"},size:{type:ControlType.Number,displayStepper:true,defaultValue:18}}},caret:{type:ControlType.Object,buttonTitle:\"Size, Color\",optional:true,controls:{type:{type:ControlType.Enum,title:\"Icon\",options:Object.values(CaretType),optionTitles:[\"Default\",\"Custom\"],displaySegmentedControl:true,defaultValue:\"default\"},color:{type:ControlType.Color,displaySegmentedControl:true,defaultValue:\"#000\",hidden:props=>props.type!==\"default\"},image:{type:ControlType.ResponsiveImage,title:\"File\",allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:props=>props.type!==\"custom\"},size:{type:ControlType.Number,displayStepper:true,defaultValue:12}},defaultValue:{}},options:{type:ControlType.Object,title:\"Options\",buttonTitle:\"Border, Hover\",controls:{title:{type:ControlType.Boolean,defaultValue:true},gap:{type:ControlType.Number,displayStepper:true,defaultValue:5},border:{type:ControlType.Object,buttonTitle:\"Color, Width\",optional:true,controls:borderControls},hover:{type:ControlType.Object,buttonTitle:\"Fill, Border\",optional:true,controls:hoverControls},focus:{type:ControlType.Object,buttonTitle:\"Color, Width\",controls:focusControls}}}});export default LocaleSelector;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LocaleSelector\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any\",\"framerDisableUnlink\":\"* @framerIntrinsicWidth 120\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"34\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LocaleSelector.map","// Generated by Framer (df7882f)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-ve5c2 .framer-styles-preset-10cgnjp:not(.rich-text-wrapper), .framer-ve5c2 .framer-styles-preset-10cgnjp.rich-text-wrapper a { --framer-link-current-text-color: var(--token-42ec22d7-9824-4b00-a4fb-724407248eb8, #b288c2); --framer-link-current-text-decoration: none; --framer-link-hover-text-color: var(--token-27bed0d5-1fc6-4b74-a61d-c8d2de1cd0ca, #f6b589); --framer-link-hover-text-decoration: none; --framer-link-text-color: var(--token-79d95031-87a4-4091-849f-9cb782afcf1f, #ffffff); --framer-link-text-decoration: none; }\"];export const className=\"framer-ve5c2\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (df7882f)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;DM Sans-500\",\"Inter-Black\",\"Inter-BlackItalic\",\"Inter-BoldItalic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"DM Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/dmsans/v16/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAkJxhS2f3ZGMZpg.woff2\",weight:\"500\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/mkY5Sgyq51ik0AMrSBwhm9DJg.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/X5hj6qzcHUYv7h1390c8Rhm6550.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/gQhNpS3tN86g8RcVKYUUaKt2oMQ.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cugnVhSraaRyANCaUtI5FV17wk.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/5HcVoGak8k5agFJSaKa4floXVu0.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/jn4BtSPLlS0NDp1KiFAtFKiiY0o.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/P2Bw01CtL0b9wqygO0sSVogWbo.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/05KsVHGDmqXSBXM4yRZ65P8i0s.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/ky8ovPukK4dJ1Pxq74qGhOqCYI.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/vvNSqIj42qeQ2bvCRBIWKHscrc.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/3ZmXbBKToJifDV9gwcifVd1tEY.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/FNfhX3dt4ChuLJq2PwdlxHO7PU.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/g0c8vEViiXNlKAgI4Ymmk3Ig.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/efTfQcBJ53kM2pB1hezSZ3RDUFs.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/QxmhnWTzLtyjIiZcfaLIJ8EFBXU.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"}]}];export const css=['.framer-CHQqM .framer-styles-preset-3di3qk:not(.rich-text-wrapper), .framer-CHQqM .framer-styles-preset-3di3qk.rich-text-wrapper h2 { --framer-font-family: \"DM Sans\", \"DM Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", sans-serif; --framer-font-family-bold-italic: \"Inter\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: 0.06em; --framer-line-height: 17px; --framer-paragraph-spacing: 40px; --framer-text-alignment: center; --framer-text-color: var(--token-42ec22d7-9824-4b00-a4fb-724407248eb8, #b288c2); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; }'];export const className=\"framer-CHQqM\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (4cdda18)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,getLoadingLazyAtYPosition,Image,Link,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import LocaleSelector from\"https://framerusercontent.com/modules/57FhkldN9P7x88MqAEaR/UfMN9oeTJKQqVQHIwZ5z/LocaleSelector.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/1qvOCjgY01R7twm8rbry/hN4mSgQvyy4ZQ3Gv635c/pDqqW5ZZG.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/uJKQwxTowSJKe2nymVd2/wIoEtcCVB4V1zudYB0nn/WcWyvIRZz.js\";const LocaleSelectorFonts=getFonts(LocaleSelector);const cycleOrder=[\"ArvDRJ_oH\",\"yFAaKUvzV\",\"cLZthsWuy\"];const serializationHash=\"framer-xXR6Y\";const variantClassNames={ArvDRJ_oH:\"framer-v-1ll4mzm\",cLZthsWuy:\"framer-v-mhgj1t\",yFAaKUvzV:\"framer-v-1qgt1xb\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={duration:0,type:\"tween\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Phone Open\":\"cLZthsWuy\",Desktop:\"ArvDRJ_oH\",Phone:\"yFAaKUvzV\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"ArvDRJ_oH\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"ArvDRJ_oH\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTapiwbhej=activeVariantCallback(async(...args)=>{setVariant(\"cLZthsWuy\");});const onTap1y0a1jw=activeVariantCallback(async(...args)=>{setVariant(\"yFAaKUvzV\");});const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"yFAaKUvzV\",\"cLZthsWuy\"].includes(baseVariant))return true;return false;};const isDisplayed1=()=>{if(baseVariant===\"yFAaKUvzV\")return false;return true;};const isDisplayed2=()=>{if(baseVariant===\"cLZthsWuy\")return false;return true;};const isDisplayed3=()=>{if(baseVariant===\"cLZthsWuy\")return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.nav,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1ll4mzm\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"ArvDRJ_oH\",ref:refBinding,style:{backgroundColor:\"rgba(0, 0, 0, 0)\",...style},variants:{cLZthsWuy:{backgroundColor:\"rgba(28, 0, 38, 0)\"}},...addPropertyOverrides({cLZthsWuy:{\"data-framer-name\":\"Phone Open\"},yFAaKUvzV:{\"data-framer-name\":\"Phone\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-1t9bbvw\",\"data-framer-name\":\"Top\",layoutDependency:layoutDependency,layoutId:\"vvP2e_Yws\",children:isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-k73vko\",\"data-framer-name\":\"Icon\",layoutDependency:layoutDependency,layoutId:\"VXzcDcytZ\",...addPropertyOverrides({cLZthsWuy:{\"data-highlight\":true,onTap:onTap1y0a1jw},yFAaKUvzV:{\"data-highlight\":true,onTap:onTapiwbhej}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1di37i5\",\"data-framer-name\":\"Bottom\",layoutDependency:layoutDependency,layoutId:\"r7oQMSl_C\",style:{backgroundColor:\"rgb(153, 153, 153)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,rotate:0},variants:{cLZthsWuy:{backgroundColor:\"var(--token-79d95031-87a4-4091-849f-9cb782afcf1f, rgb(255, 255, 255))\",rotate:-45},yFAaKUvzV:{backgroundColor:\"var(--token-79d95031-87a4-4091-849f-9cb782afcf1f, rgb(255, 255, 255))\"}}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-6irrut\",\"data-framer-name\":\"Top\",layoutDependency:layoutDependency,layoutId:\"kq2Uczj_P\",style:{backgroundColor:\"rgb(153, 153, 153)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,rotate:0},variants:{cLZthsWuy:{backgroundColor:\"var(--token-79d95031-87a4-4091-849f-9cb782afcf1f, rgb(255, 255, 255))\",rotate:45},yFAaKUvzV:{backgroundColor:\"var(--token-79d95031-87a4-4091-849f-9cb782afcf1f, rgb(255, 255, 255))\"}}})]})}),isDisplayed1()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-czc5av\",layoutDependency:layoutDependency,layoutId:\"c5dF9Hyrl\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1kjir6e\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"n9QRbPZnK\",style:{backdropFilter:\"blur(10px)\",backgroundColor:\"rgba(255, 255, 255, 0.1)\",borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100,WebkitBackdropFilter:\"blur(10px)\"},variants:{cLZthsWuy:{backgroundColor:\"rgba(28, 0, 38, 0.99)\",borderBottomLeftRadius:22,borderBottomRightRadius:22,borderTopLeftRadius:22,borderTopRightRadius:22}},children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1bvde8q\",\"data-framer-name\":\"Nav Item\",layoutDependency:layoutDependency,layoutId:\"jJp28ocyh\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-3di3qk\",\"data-styles-preset\":\"WcWyvIRZz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"ourRHKHur\"},motionChild:true,nodeId:\"Qhg0O7W5n\",openInNewTab:false,relValues:[],scopeId:\"rtlaFBExe\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-10cgnjp\",\"data-styles-preset\":\"pDqqW5ZZG\",children:\"Home\"})})})}),className:\"framer-13kq6y9\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Qhg0O7W5n\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-126mnu0\",\"data-framer-name\":\"Nav Item\",layoutDependency:layoutDependency,layoutId:\"eWDJ0IwMp\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-3di3qk\",\"data-styles-preset\":\"WcWyvIRZz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"v8bKNkH14\"},motionChild:true,nodeId:\"xBHkiprt4\",openInNewTab:false,relValues:[],scopeId:\"rtlaFBExe\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-10cgnjp\",\"data-styles-preset\":\"pDqqW5ZZG\",children:\"About\"})})})}),className:\"framer-1fcednz\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"xBHkiprt4\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-9tn5dm\",\"data-framer-name\":\"Nav Item\",layoutDependency:layoutDependency,layoutId:\"zCaBu_8X7\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-3di3qk\",\"data-styles-preset\":\"WcWyvIRZz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"ZT1fzY9BA\"},motionChild:true,nodeId:\"eRLe8wXJa\",openInNewTab:false,relValues:[],scopeId:\"rtlaFBExe\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-10cgnjp\",\"data-styles-preset\":\"pDqqW5ZZG\",children:\"Screenings & News\"})})})}),className:\"framer-rmcwid\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"eRLe8wXJa\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-3di3qk\",\"data-styles-preset\":\"WcWyvIRZz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"sEH1hU54P\"},motionChild:true,nodeId:\"MRA4ZI5N8\",openInNewTab:false,relValues:[],scopeId:\"rtlaFBExe\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-10cgnjp\",\"data-styles-preset\":\"pDqqW5ZZG\",children:\"Memories\"})})})}),className:\"framer-1mlhfr0\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"MRA4ZI5N8\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1d28ez9\",\"data-framer-name\":\"Nav Item\",layoutDependency:layoutDependency,layoutId:\"cix6fDQaO\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-3di3qk\",\"data-styles-preset\":\"WcWyvIRZz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"wsGY5iXHm\"},motionChild:true,nodeId:\"ixPHudp6A\",openInNewTab:false,relValues:[],scopeId:\"rtlaFBExe\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-10cgnjp\",\"data-styles-preset\":\"pDqqW5ZZG\",children:\"Press\"})})})}),className:\"framer-14zwvyf\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"ixPHudp6A\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true})}),isDisplayed2()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-3nhtyq\",\"data-framer-name\":\"Nav Item\",layoutDependency:layoutDependency,layoutId:\"CJkIMrJAj\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-3di3qk\",\"data-styles-preset\":\"WcWyvIRZz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"VLk6eole6\"},motionChild:true,nodeId:\"aok78442b\",openInNewTab:false,relValues:[],scopeId:\"rtlaFBExe\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-10cgnjp\",\"data-styles-preset\":\"pDqqW5ZZG\",children:\"SUPPORT\"})})})}),className:\"framer-nvknbh\",\"data-framer-name\":\"Donate\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"aok78442b\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true})}),isDisplayed3()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-356beo-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"kPfcpyQLK-container\",nodeId:\"kPfcpyQLK\",rendersWithMotion:true,scopeId:\"rtlaFBExe\",children:/*#__PURE__*/_jsx(LocaleSelector,{fillColor:\"rgba(237, 237, 237, 0)\",font:{fontFamily:'\"DM Sans\", \"DM Sans Placeholder\", sans-serif',fontSize:\"17px\",fontStyle:\"normal\",fontWeight:800,letterSpacing:\"0em\",lineHeight:\"1.5em\"},height:\"100%\",id:\"kPfcpyQLK\",layoutId:\"kPfcpyQLK\",options:{focus:{color:\"rgb(0, 153, 255)\",offset:0,style:\"solid\",width:1},gap:5,title:true},padding:0,paddingBottom:0,paddingLeft:0,paddingPerSide:false,paddingRight:0,paddingTop:0,radius:10,radiusBottomLeft:10,radiusBottomRight:10,radiusPerConrner:false,radiusTopLeft:10,radiusTopRight:10,style:{width:\"100%\"},textColor:\"var(--token-27bed0d5-1fc6-4b74-a61d-c8d2de1cd0ca, rgb(246, 181, 137))\",width:\"100%\"})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-je1qw1\",layoutDependency:layoutDependency,layoutId:\"bCFwaa4vS\",children:[/*#__PURE__*/_jsx(Link,{href:\"https://www.facebook.com/wisdomofhappiness.movie\",motionChild:true,nodeId:\"xiI9zsnS_\",openInNewTab:true,scopeId:\"rtlaFBExe\",children:/*#__PURE__*/_jsx(Image,{as:\"a\",background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(0+((componentViewport?.height||59)-0-59)/2)+0+13+5.5),pixelHeight:500,pixelWidth:500,src:\"https://framerusercontent.com/images/9S9XBiPSmvndRuXY2rpCDcCUaA.png\"},className:\"framer-iszscu framer-te035c\",layoutDependency:layoutDependency,layoutId:\"xiI9zsnS_\",...addPropertyOverrides({cLZthsWuy:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+64+0+-4+36+360+5.5),pixelHeight:500,pixelWidth:500,src:\"https://framerusercontent.com/images/9S9XBiPSmvndRuXY2rpCDcCUaA.png\"}}},baseVariant,gestureVariant)})}),/*#__PURE__*/_jsx(Link,{href:\"https://www.instagram.com/wisdomofhappiness.movie/\",motionChild:true,nodeId:\"ifpb9WAGM\",scopeId:\"rtlaFBExe\",children:/*#__PURE__*/_jsx(Image,{as:\"a\",background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(0+((componentViewport?.height||59)-0-59)/2)+0+13+5),pixelHeight:1e3,pixelWidth:1e3,sizes:\"23px\",src:\"https://framerusercontent.com/images/xIMSf0sHz5XQLjqsD6q0qUQ0g.png\",srcSet:\"https://framerusercontent.com/images/xIMSf0sHz5XQLjqsD6q0qUQ0g.png?scale-down-to=512 512w,https://framerusercontent.com/images/xIMSf0sHz5XQLjqsD6q0qUQ0g.png 1000w\"},className:\"framer-1rpq2bb framer-te035c\",layoutDependency:layoutDependency,layoutId:\"ifpb9WAGM\",...addPropertyOverrides({cLZthsWuy:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+64+0+-4+36+360+5),pixelHeight:1e3,pixelWidth:1e3,sizes:\"23px\",src:\"https://framerusercontent.com/images/xIMSf0sHz5XQLjqsD6q0qUQ0g.png\",srcSet:\"https://framerusercontent.com/images/xIMSf0sHz5XQLjqsD6q0qUQ0g.png?scale-down-to=512 512w,https://framerusercontent.com/images/xIMSf0sHz5XQLjqsD6q0qUQ0g.png 1000w\"}}},baseVariant,gestureVariant)})}),/*#__PURE__*/_jsx(Link,{href:\"https://x.com/woh_movie\",motionChild:true,nodeId:\"Ea4l40mcy\",scopeId:\"rtlaFBExe\",children:/*#__PURE__*/_jsx(Image,{as:\"a\",background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(0+((componentViewport?.height||59)-0-59)/2)+0+13+5),pixelHeight:1e3,pixelWidth:1e3,sizes:\"23px\",src:\"https://framerusercontent.com/images/8lBujespGTBzUyGiG2Irjdk4O4.png\",srcSet:\"https://framerusercontent.com/images/8lBujespGTBzUyGiG2Irjdk4O4.png?scale-down-to=512 512w,https://framerusercontent.com/images/8lBujespGTBzUyGiG2Irjdk4O4.png 1000w\"},className:\"framer-1fdoi6j framer-te035c\",layoutDependency:layoutDependency,layoutId:\"Ea4l40mcy\",...addPropertyOverrides({cLZthsWuy:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+64+0+-4+36+360+5),pixelHeight:1e3,pixelWidth:1e3,sizes:\"23px\",src:\"https://framerusercontent.com/images/8lBujespGTBzUyGiG2Irjdk4O4.png\",srcSet:\"https://framerusercontent.com/images/8lBujespGTBzUyGiG2Irjdk4O4.png?scale-down-to=512 512w,https://framerusercontent.com/images/8lBujespGTBzUyGiG2Irjdk4O4.png 1000w\"}}},baseVariant,gestureVariant)})}),/*#__PURE__*/_jsx(Link,{href:\"https://www.youtube.com/@WisdomofHappiness_Movie\",motionChild:true,nodeId:\"T0O_4X3bp\",openInNewTab:true,scopeId:\"rtlaFBExe\",children:/*#__PURE__*/_jsx(Image,{as:\"a\",background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(0+((componentViewport?.height||59)-0-59)/2)+0+13+5),pixelHeight:1e3,pixelWidth:1e3,sizes:\"23px\",src:\"https://framerusercontent.com/images/KpUq6GIc4xfb15xlNyQRg6wroWc.png\",srcSet:\"https://framerusercontent.com/images/KpUq6GIc4xfb15xlNyQRg6wroWc.png?scale-down-to=512 512w,https://framerusercontent.com/images/KpUq6GIc4xfb15xlNyQRg6wroWc.png 1000w\"},className:\"framer-1qpvhzw framer-te035c\",layoutDependency:layoutDependency,layoutId:\"T0O_4X3bp\",...addPropertyOverrides({cLZthsWuy:{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+64+0+-4+36+360+5),pixelHeight:1e3,pixelWidth:1e3,sizes:\"23px\",src:\"https://framerusercontent.com/images/KpUq6GIc4xfb15xlNyQRg6wroWc.png\",srcSet:\"https://framerusercontent.com/images/KpUq6GIc4xfb15xlNyQRg6wroWc.png?scale-down-to=512 512w,https://framerusercontent.com/images/KpUq6GIc4xfb15xlNyQRg6wroWc.png 1000w\"}}},baseVariant,gestureVariant)})})]}),isDisplayed3()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-3di3qk\",\"data-styles-preset\":\"WcWyvIRZz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"jrFlMyhPk\"},motionChild:true,nodeId:\"DD5XhTLt_\",openInNewTab:false,relValues:[],scopeId:\"rtlaFBExe\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-10cgnjp\",\"data-styles-preset\":\"pDqqW5ZZG\",children:\"Support\"})})})}),className:\"framer-ilkqmj\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"DD5XhTLt_\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true})]})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-xXR6Y.framer-te035c, .framer-xXR6Y .framer-te035c { display: block; }\",\".framer-xXR6Y.framer-1ll4mzm { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: min-content; }\",\".framer-xXR6Y .framer-1t9bbvw { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; min-height: 64px; min-width: 390px; overflow: visible; padding: 10px 0px 10px 10px; position: relative; width: min-content; }\",\".framer-xXR6Y .framer-k73vko { flex: none; height: 40px; overflow: hidden; position: relative; width: 40px; }\",\".framer-xXR6Y .framer-1di37i5 { flex: none; height: 2px; left: calc(50.00000000000002% - 20px / 2); overflow: hidden; position: absolute; top: calc(62.50000000000002% - 2px / 2); width: 20px; will-change: var(--framer-will-change-override, transform); }\",\".framer-xXR6Y .framer-6irrut { flex: none; height: 2px; left: calc(50.00000000000002% - 20px / 2); overflow: hidden; position: absolute; top: calc(37.50000000000002% - 2px / 2); width: 20px; will-change: var(--framer-will-change-override, transform); }\",\".framer-xXR6Y .framer-czc5av { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-xXR6Y .framer-1kjir6e { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 59px; height: min-content; justify-content: center; overflow: visible; padding: 13px 40px 13px 40px; position: relative; width: min-content; }\",\".framer-xXR6Y .framer-1bvde8q, .framer-xXR6Y .framer-3nhtyq { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 17px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 46px; }\",\".framer-xXR6Y .framer-13kq6y9, .framer-xXR6Y .framer-1fcednz, .framer-xXR6Y .framer-rmcwid, .framer-xXR6Y .framer-1mlhfr0, .framer-xXR6Y .framer-14zwvyf, .framer-xXR6Y .framer-nvknbh, .framer-xXR6Y .framer-ilkqmj { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre; width: auto; }\",\".framer-xXR6Y .framer-126mnu0, .framer-xXR6Y .framer-9tn5dm, .framer-xXR6Y .framer-1d28ez9 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-xXR6Y .framer-356beo-container { flex: none; height: auto; position: relative; width: 56px; }\",\".framer-xXR6Y .framer-je1qw1 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; overflow: hidden; padding: 5px 0px 5px 0px; position: relative; width: min-content; }\",\".framer-xXR6Y .framer-iszscu { flex: none; height: 22px; position: relative; text-decoration: none; width: 22px; }\",\".framer-xXR6Y .framer-1rpq2bb, .framer-xXR6Y .framer-1fdoi6j, .framer-xXR6Y .framer-1qpvhzw { flex: none; height: 23px; position: relative; text-decoration: none; width: 23px; }\",\".framer-xXR6Y.framer-v-1qgt1xb.framer-1ll4mzm { justify-content: flex-start; width: 390px; }\",\".framer-xXR6Y.framer-v-1qgt1xb .framer-1t9bbvw { align-content: flex-start; align-items: flex-start; justify-content: flex-start; min-height: unset; min-width: unset; padding: 10px; }\",\".framer-xXR6Y.framer-v-1qgt1xb .framer-k73vko, .framer-xXR6Y.framer-v-mhgj1t .framer-k73vko { cursor: pointer; height: 44px; width: 44px; }\",\".framer-xXR6Y.framer-v-mhgj1t.framer-1ll4mzm { align-content: flex-start; align-items: flex-start; flex-direction: column; justify-content: flex-start; }\",\".framer-xXR6Y.framer-v-mhgj1t .framer-1t9bbvw { gap: unset; justify-content: space-between; min-height: unset; min-width: unset; order: 0; padding: 10px; width: 270px; }\",\".framer-xXR6Y.framer-v-mhgj1t .framer-1di37i5, .framer-xXR6Y.framer-v-mhgj1t .framer-6irrut { top: calc(47.72727272727275% - 2px / 2); }\",\".framer-xXR6Y.framer-v-mhgj1t .framer-czc5av { align-content: flex-start; align-items: flex-start; flex-direction: column; height: 457px; order: 1; padding: 0px 0px 0px 16px; }\",\".framer-xXR6Y.framer-v-mhgj1t .framer-1kjir6e { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 32px; justify-content: flex-start; padding: 36px 50px 36px 50px; z-index: 1; }\",\".framer-xXR6Y.framer-v-mhgj1t .framer-1bvde8q, .framer-xXR6Y.framer-v-mhgj1t .framer-rmcwid { order: 0; }\",\".framer-xXR6Y.framer-v-mhgj1t .framer-126mnu0 { order: 1; }\",\".framer-xXR6Y.framer-v-mhgj1t .framer-9tn5dm { order: 2; }\",\".framer-xXR6Y.framer-v-mhgj1t .framer-1mlhfr0 { order: 3; }\",\".framer-xXR6Y.framer-v-mhgj1t .framer-1d28ez9 { order: 4; }\",\".framer-xXR6Y.framer-v-mhgj1t .framer-356beo-container { order: 7; }\",\".framer-xXR6Y.framer-v-mhgj1t .framer-je1qw1 { order: 8; }\",\".framer-xXR6Y.framer-v-mhgj1t .framer-ilkqmj { order: 6; }\",...sharedStyle.css,...sharedStyle1.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 59\n * @framerIntrinsicWidth 1042\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"yFAaKUvzV\":{\"layout\":[\"fixed\",\"auto\"]},\"cLZthsWuy\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerrtlaFBExe=withCSS(Component,css,\"framer-xXR6Y\");export default FramerrtlaFBExe;FramerrtlaFBExe.displayName=\"Navigation Pill\";FramerrtlaFBExe.defaultProps={height:59,width:1042};addPropertyControls(FramerrtlaFBExe,{variant:{options:[\"ArvDRJ_oH\",\"yFAaKUvzV\",\"cLZthsWuy\"],optionTitles:[\"Desktop\",\"Phone\",\"Phone Open\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerrtlaFBExe,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{family:\"DM Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/dmsans/v16/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAIpthS2f3ZGMZpg.woff2\",weight:\"800\"}]},...LocaleSelectorFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerrtlaFBExe\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"yFAaKUvzV\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"cLZthsWuy\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"1042\",\"framerIntrinsicHeight\":\"59\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./rtlaFBExe.map"],"mappings":"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"}