PageSourceSearch

https://blueyard.com/_nuxt/DMtH1R3f.js

js blueyard.com collected 2026-10-03 19:17:57 UTC 1,989,806 bytes, 25,647 lines download raw bytes

vendor: 9,351 bytes, lines 1-10
1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DNrMv7f2.js","./BXE0ir2_.js","./C4gYN_lE.js","./LogoTile.B-K2MDYy.css","./index.CW0f_zsU.css","./BBifSB1m.js","./VFwqfNyr.js","./tWjw8LgI.js","./Dqy6o86G.js","./legal-notice.Czn4C2L1.css","./CipGBpuf.js","./Bmypm-7x.js","./error-404.C3V-3Mc4.css","./C9iO1Kq3.js","./error-500.dGVH929u.css"])))=>i.map(i=>d[i]);
2var rz=Object.defineProperty;var P5=n=>{throw TypeError(n)};var sz=(n,e,t)=>e in n?rz(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var he=(n,e,t)=>sz(n,typeof e!="symbol"?e+"":e,t),R5=(n,e,t)=>e.has(n)||P5("Cannot "+t);var Ne=(n,e,t)=>(R5(n,e,"read from private field"),t?t.call(n):e.get(n)),sn=(n,e,t)=>e.has(n)?P5("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),tn=(n,e,t,i)=>(R5(n,e,"write to private field"),i?i.call(n,t):e.set(n,t),t);/**
3* @vue/shared v3.5.13
4* (c) 2018-present Yuxi (Evan) You and Vue contributors
5* @license MIT
6**//*! #__NO_SIDE_EFFECTS__ */function Hb(n){const e=Object.create(null);for(const t of n.split(","))e[t]=1;return t=>t in e}const Rn={},Hf=[],bo=()=>{},oz=()=>!1,yp=n=>n.charCodeAt(0)===111&&n.charCodeAt(1)===110&&(n.charCodeAt(2)>122||n.charCodeAt(2)<97),Vb=n=>n.startsWith("onUpdate:"),Ji=Object.assign,Gb=(n,e)=>{const t=n.indexOf(e);t>-1&&n.splice(t,1)},az=Object.prototype.hasOwnProperty,mn=(n,e)=>az.call(n,e),Tt=Array.isArray,Vf=n=>_p(n)==="[object Map]",v6=n=>_p(n)==="[object Set]",lz=n=>_p(n)==="[object RegExp]",Et=n=>typeof n=="function",Kn=n=>typeof n=="string",Za=n=>typeof n=="symbol",zn=n=>n!==null&&typeof n=="object",Qb=n=>(zn(n)||Et(n))&&Et(n.then)&&Et(n.catch),y6=Object.prototype.toString,_p=n=>y6.call(n),cz=n=>_p(n).slice(8,-1),_6=n=>_p(n)==="[object Object]",Wb=n=>Kn(n)&&n!=="NaN"&&n[0]!=="-"&&""+parseInt(n,10)===n,Gf=Hb(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),eA=n=>{const e=Object.create(null);return t=>e[t]||(e[t]=n(t))},uz=/-(\w)/g,ro=eA(n=>n.replace(uz,(e,t)=>t?t.toUpperCase():"")),fz=/\B([A-Z])/g,Ru=eA(n=>n.replace(fz,"-$1").toLowerCase()),tA=eA(n=>n.charAt(0).toUpperCase()+n.slice(1)),A2=eA(n=>n?`on${tA(n)}`:""),Vl=(n,e)=>!Object.is(n,e),Jh=(n,...e)=>{for(let t=0;t<n.length;t++)n[t](...e)},b6=(n,e,t,i=!1)=>{Object.defineProperty(n,e,{configurable:!0,enumerable:!1,writable:i,value:t})},dz=n=>{const e=parseFloat(n);return isNaN(e)?n:e},x6=n=>{const e=Kn(n)?Number(n):NaN;return isNaN(e)?n:e};let B5;const nA=()=>B5||(B5=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function iA(n){if(Tt(n)){const e={};for(let t=0;t<n.length;t++){const i=n[t],r=Kn(i)?gz(i):iA(i);if(r)for(const s in r)e[s]=r[s]}return e}else if(Kn(n)||zn(n))return n}const hz=/;(?![^(]*\))/g,pz=/:([^]+)/,mz=/\/\*[^]*?\*\//g;function gz(n){const e={};return n.replace(mz,"").split(hz).forEach(t=>{if(t){const i=t.split(pz);i.length>1&&(e[i[0].trim()]=i[1].trim())}}),e}function bp(n){let e="";if(Kn(n))e=n;else if(Tt(n))for(let t=0;t<n.length;t++){const i=bp(n[t]);i&&(e+=i+" ")}else if(zn(n))for(const t in n)n[t]&&(e+=t+" ");return e.trim()}function Az(n){if(!n)return null;let{class:e,style:t}=n;return e&&!Kn(e)&&(n.class=bp(e)),t&&(n.style=iA(t)),n}const vz="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",yz=Hb(vz);function C6(n){return!!n||n===""}const w6=n=>!!(n&&n.__v_isRef===!0),Pf=n=>Kn(n)?n:n==null?"":Tt(n)||zn(n)&&(n.toString===y6||!Et(n.toString))?w6(n)?Pf(n.value):JSON.stringify(n,S6,2):String(n),S6=(n,e)=>w6(e)?S6(n,e.value):Vf(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((t,[i,r],s)=>(t[v2(i,s)+" =>"]=r,t),{})}:v6(e)?{[`Set(${e.size})`]:[...e.values()].map(t=>v2(t))}:Za(e)?v2(e):zn(e)&&!Tt(e)&&!_6(e)?String(e):e,v2=(n,e="")=>{var t;return Za(n)?`Symbol(${(t=n.description)!=null?t:e})`:n};/**
7* @vue/reactivity v3.5.13
8* (c) 2018-present Yuxi (Evan) You and Vue contributors
9* @license MIT
10**/let Wr;class E6{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Wr,!e&&Wr&&(this.index=(Wr.scopes||(Wr.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].pause();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].resume();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].resume()}}run(e){if(this._active){const t=Wr;try{return Wr=this,e()}finally{Wr=t}}}on(){Wr=this}off(){Wr=this.parent}stop(e){if(this._active){this._active=!1;let t,i;for(t=0,i=this.effects.length;t<i;t++)this.effects[t].stop();for(this.effects.length=0,t=0,i=this.cleanups.length;t<i;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){for(t=0,i=this.scopes.length;t<i;t++)this.scopes[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function _z(n){return new E6(n)}function rA(){return Wr}function Fy(n,e=!1){Wr&&Wr.cleanups.push(n)}let kn;const y2=new WeakSet;class T6{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Wr&&Wr.active&&Wr.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,y2.has(this)&&(y2.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||I6(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,D5(this),P6(this);const e=kn,t=xo;kn=this,xo=!0;try{return this.fn()}finally{R6(this),kn=e,xo=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)Xb(e);this.deps=this.depsTail=void 0,D5(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?y2.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Uy(this)&&this.run()}get dirty(){return Uy(this)}}let M6=0,e0,t0;function I6(n,e=!1){if(n.flags|=8,e){n.next=t0,t0=n;return}n.next=e0,e0=n}function jb(){M6++}function qb(){if(--M6>0)return;if(t0){let e=t0;for(t0=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let n;for(;e0;){let e=e0;for(e0=void 0;e;){const t=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(i){n||(n=i)}e=t}}if(n)throw n}function P6(n){for(let e=n.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function R6(n){let e,t=n.depsTail,i=t;for(;i;){const r=i.prevDep;i.version===-1?(i===t&&(t=r),Xb(i),bz(i)):e=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=r}n.deps=e,n.depsTail=t}function Uy(n){for(let e=n.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(B6(e.dep.computed)||e.dep.version!==e.version))return!0;return!!n._dirty}function B6(n){if(n.flags&4&&!(n.flags&16)||(n.flags&=-17,n.globalVersion===P0))return;n.globalVersion=P0;const e=n.dep;if(n.flags|=2,e.version>0&&!n.isSSR&&n.deps&&!Uy(n)){n.flags&=-3;return}const t=kn,i=xo;kn=n,xo=!0;try{P6(n);const r=n.fn(n._value);(e.version===0||Vl(r,n._value))&&(n._value=r,e.version++)}catch(r){throw e.version++,r}finally{kn=t,xo=i,R6(n),n.flags&=-3}}function Xb(n,e=!1){const{dep:t,prevSub:i,nextSub:r}=n;if(i&&(i.nextSub=r,n.prevSub=void 0),r&&(r.prevSub=i,n.nextSub=void 0),t.subs===n&&(t.subs=i,!i&&t.computed)){t.computed.flags&=-5;for(let s=t.computed.deps;s;s=s.nextDep)Xb(s,!0)}!e&&!--t.sc&&t.map&&t.map.delete(t.key)}function bz(n){const{prevDep:e,nextDep:t}=n;e&&(e.nextDep=t,n.prevDep=void 0),t&&(t.prevDep=e,n.nextDep=void 0)}let xo=!0;const D6=[];function ic(){D6.push(xo),xo=!1}function rc(){const n=D6.pop();xo=n===void 0?!0:n}function D5(n){const{cleanup:e}=n;if(n.cleanup=void 0,e){const t=kn;kn=void 0;try{e()}finally{kn=t}}}let P0=0;class xz{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Yb{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(e){if(!kn||!xo||kn===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==kn)t=this.activeLink=new xz(kn,this),kn.deps?(t.prevDep=kn.depsTail,kn.depsTail.nextDep=t,kn.depsTail=t):kn.deps=kn.depsTail=t,L6(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){const i=t.nextDep;i.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=i),t.prevDep=kn.depsTail,t.nextDep=void 0,kn.depsTail.nextDep=t,kn.depsTail=t,kn.deps===t&&(kn.deps=i)}return t}trigger(e){this.version++,P0++,this.notify(e)}notify(e){jb();try{for(let t=this.subs;t;t=t.prevSub)t.sub.notify()&&t.sub.dep.notify()}finally{qb()}}}function L6(n){if(n.dep.sc++,n.sub.flags&4){const e=n.dep.computed;if(e&&!n.dep.subs){e.flags|=20;for(let i=e.deps;i;i=i.nextDep)L6(i)}const t=n.dep.subs;t!==n&&(n.prevSub=t,t&&(t.nextSub=n)),n.dep.subs=n}}const ng=new WeakMap,uu=Symbol(""),Ny=Symbol(""),R0=Symbol("");function Cr(n,e,t){if(xo&&kn){let i=ng.get(n);i||ng.set(n,i=new Map);let r=i.get(t);r||(i.set(t,r=new Yb),r.map=i,r.key=t),r.track()}}function Ba(n,e,t,i,r,s){const o=ng.get(n);if(!o){P0++;return}const a=l=>{l&&l.trigger()};
vendor: 6,686 bytes, line 10
10if(jb(),e==="clear")o.forEach(a);else{const l=Tt(n),c=l&&Wb(t);if(l&&t==="length"){const u=Number(i);o.forEach((f,h)=>{(h==="length"||h===R0||!Za(h)&&h>=u)&&a(f)})}else switch((t!==void 0||o.has(void 0))&&a(o.get(t)),c&&a(o.get(R0)),e){case"add":l?c&&a(o.get("length")):(a(o.get(uu)),Vf(n)&&a(o.get(Ny)));break;case"delete":l||(a(o.get(uu)),Vf(n)&&a(o.get(Ny)));break;case"set":Vf(n)&&a(o.get(uu));break}}qb()}function Cz(n,e){const t=ng.get(n);return t&&t.get(e)}function Yu(n){const e=an(n);return e===n?e:(Cr(e,"iterate",R0),no(n)?e:e.map(wr))}function sA(n){return Cr(n=an(n),"iterate",R0),n}const wz={__proto__:null,[Symbol.iterator](){return _2(this,Symbol.iterator,wr)},concat(...n){return Yu(this).concat(...n.map(e=>Tt(e)?Yu(e):e))},entries(){return _2(this,"entries",n=>(n[1]=wr(n[1]),n))},every(n,e){return pa(this,"every",n,e,void 0,arguments)},filter(n,e){return pa(this,"filter",n,e,t=>t.map(wr),arguments)},find(n,e){return pa(this,"find",n,e,wr,arguments)},findIndex(n,e){return pa(this,"findIndex",n,e,void 0,arguments)},findLast(n,e){return pa(this,"findLast",n,e,wr,arguments)},findLastIndex(n,e){return pa(this,"findLastIndex",n,e,void 0,arguments)},forEach(n,e){return pa(this,"forEach",n,e,void 0,arguments)},includes(...n){return b2(this,"includes",n)},indexOf(...n){return b2(this,"indexOf",n)},join(n){return Yu(this).join(n)},lastIndexOf(...n){return b2(this,"lastIndexOf",n)},map(n,e){return pa(this,"map",n,e,void 0,arguments)},pop(){return dh(this,"pop")},push(...n){return dh(this,"push",n)},reduce(n,...e){return L5(this,"reduce",n,e)},reduceRight(n,...e){return L5(this,"reduceRight",n,e)},shift(){return dh(this,"shift")},some(n,e){return pa(this,"some",n,e,void 0,arguments)},splice(...n){return dh(this,"splice",n)},toReversed(){return Yu(this).toReversed()},toSorted(n){return Yu(this).toSorted(n)},toSpliced(...n){return Yu(this).toSpliced(...n)},unshift(...n){return dh(this,"unshift",n)},values(){return _2(this,"values",wr)}};function _2(n,e,t){const i=sA(n),r=i[e]();return i!==n&&!no(n)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.value&&(s.value=t(s.value)),s}),r}const Sz=Array.prototype;function pa(n,e,t,i,r,s){const o=sA(n),a=o!==n&&!no(n),l=o[e];if(l!==Sz[e]){const f=l.apply(n,s);return a?wr(f):f}let c=t;o!==n&&(a?c=function(f,h){return t.call(this,wr(f),h,n)}:t.length>2&&(c=function(f,h){return t.call(this,f,h,n)}));const u=l.call(o,c,i);return a&&r?r(u):u}function L5(n,e,t,i){const r=sA(n);let s=t;return r!==n&&(no(n)?t.length>3&&(s=function(o,a,l){return t.call(this,o,a,l,n)}):s=function(o,a,l){return t.call(this,o,wr(a),l,n)}),r[e](s,...i)}function b2(n,e,t){const i=an(n);Cr(i,"iterate",R0);const r=i[e](...t);return(r===-1||r===!1)&&Zb(t[0])?(t[0]=an(t[0]),i[e](...t)):r}function dh(n,e,t=[]){ic(),jb();const i=an(n)[e].apply(n,t);return qb(),rc(),i}const Ez=Hb("__proto__,__v_isRef,__isVue"),O6=new Set(Object.getOwnPropertyNames(Symbol).filter(n=>n!=="arguments"&&n!=="caller").map(n=>Symbol[n]).filter(Za));function Tz(n){Za(n)||(n=String(n));const e=an(this);return Cr(e,"has",n),e.hasOwnProperty(n)}class F6{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,i){if(t==="__v_skip")return e.__v_skip;const r=this._isReadonly,s=this._isShallow;if(t==="__v_isReactive")return!r;if(t==="__v_isReadonly")return r;if(t==="__v_isShallow")return s;if(t==="__v_raw")return i===(r?s?Uz:z6:s?k6:N6).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(i)?e:void 0;const o=Tt(e);if(!r){let l;if(o&&(l=wz[t]))return l;if(t==="hasOwnProperty")return Tz}const a=Reflect.get(e,t,Vi(e)?e:i);return(Za(t)?O6.has(t):Ez(t))||(r||Cr(e,"get",t),s)?a:Vi(a)?o&&Wb(t)?a:a.value:zn(a)?r?H6(a):so(a):a}}class U6 extends F6{constructor(e=!1){super(!1,e)}set(e,t,i,r){let s=e[t];if(!this._isShallow){const l=$l(s);if(!no(i)&&!$l(i)&&(s=an(s),i=an(i)),!Tt(e)&&Vi(s)&&!Vi(i))return l?!1:(s.value=i,!0)}const o=Tt(e)&&Wb(t)?Number(t)<e.length:mn(e,t),a=Reflect.set(e,t,i,Vi(e)?e:r);return e===an(r)&&(o?Vl(i,s)&&Ba(e,"set",t,i):Ba(e,"add",t,i)),a}deleteProperty(e,t){const i=mn(e,t);e[t];const r=Reflect.deleteProperty(e,t);return r&&i&&Ba(e,"delete",t,void 0),r}has(e,t){const i=Reflect.has(e,t);return(!Za(t)||!O6.has(t))&&Cr(e,"has",t),i}ownKeys(e){return Cr(e,"iterate",Tt(e)?"length":uu),Reflect.ownKeys(e)}}class Mz extends F6{constructor(e=!1){super(!0,e)}set(e,t){return!0}deleteProperty(e,t){return!0}}const Iz=new U6,Pz=new Mz,Rz=new U6(!0);const ky=n=>n,vm=n=>Reflect.getPrototypeOf(n);function Bz(n,e,t){return function(...i){const r=this.__v_raw,s=an(r),o=Vf(s),a=n==="entries"||n===Symbol.iterator&&o,l=n==="keys"&&o,c=r[n](...i),u=t?ky:e?zy:wr;return!e&&Cr(s,"iterate",l?Ny:uu),{next(){const{value:f,done:h}=c.next();return h?{value:f,done:h}:{value:a?[u(f[0]),u(f[1])]:u(f),done:h}},[Symbol.iterator](){return this}}}}function ym(n){return function(...e){return n==="delete"?!1:n==="clear"?void 0:this}}function Dz(n,e){const t={get(r){const s=this.__v_raw,o=an(s),a=an(r);n||(Vl(r,a)&&Cr(o,"get",r),Cr(o,"get",a));const{has:l}=vm(o),c=e?ky:n?zy:wr;if(l.call(o,r))return c(s.get(r));if(l.call(o,a))return c(s.get(a));s!==o&&s.get(r)},get size(){const r=this.__v_raw;return!n&&Cr(an(r),"iterate",uu),Reflect.get(r,"size",r)},has(r){const s=this.__v_raw,o=an(s),a=an(r);return n||(Vl(r,a)&&Cr(o,"has",r),Cr(o,"has",a)),r===a?s.has(r):s.has(r)||s.has(a)},forEach(r,s){const o=this,a=o.__v_raw,l=an(a),c=e?ky:n?zy:wr;return!n&&Cr(l,"iterate",uu),a.forEach((u,f)=>r.call(s,c(u),c(f),o))}};return Ji(t,n?{add:ym("add"),set:ym("set"),delete:ym("delete"),clear:ym("clear")}:{add(r){!e&&!no(r)&&!$l(r)&&(r=an(r));const s=an(this);return vm(s).has.call(s,r)||(s.add(r),Ba(s,"add",r,r)),this},set(r,s){!e&&!no(s)&&!$l(s)&&(s=an(s));const o=an(this),{has:a,get:l}=vm(o);let c=a.call(o,r);c||(r=an(r),c=a.call(o,r));const u=l.call(o,r);return o.set(r,s),c?Vl(s,u)&&Ba(o,"set",r,s):Ba(o,"add",r,s),this},delete(r){const s=an(this),{has:o,get:a}=vm(s);let l=o.call(s,r);l||(r=an(r),l=o.call(s,r)),a&&a.call(s,r);const c=s.delete(r);return l&&Ba(s,"delete",r,void 0),c},clear(){const r=an(this),s=r.size!==0,o=r.clear();return s&&Ba(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{t[r]=Bz(r,n,e)}),t}function $b(n,e){const t=Dz(n,e);return(i,r,s)=>r==="__v_isReactive"?!n:r==="__v_isReadonly"?n:r==="__v_raw"?i:Reflect.get(mn(t,r)&&r in i?t:i,r,s)}const Lz={get:$b(!1,!1)},Oz={get:$b(!1,!0)},Fz={get:$b(!0,!1)};const N6=new WeakMap,k6=new WeakMap,z6=new WeakMap,Uz=new WeakMap;function Nz(n){switch(n){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function kz(n){return n.__v_skip||!Object.isExtensible(n)?0:Nz(cz(n))}
vendor: 29,106 bytes, lines 10-15
10function so(n){return $l(n)?n:Kb(n,!1,Iz,Lz,N6)}function Fa(n){return Kb(n,!1,Rz,Oz,k6)}function H6(n){return Kb(n,!0,Pz,Fz,z6)}function Kb(n,e,t,i,r){if(!zn(n)||n.__v_raw&&!(e&&n.__v_isReactive))return n;const s=r.get(n);if(s)return s;const o=kz(n);if(o===0)return n;const a=new Proxy(n,o===2?i:t);return r.set(n,a),a}function fu(n){return $l(n)?fu(n.__v_raw):!!(n&&n.__v_isReactive)}function $l(n){return!!(n&&n.__v_isReadonly)}function no(n){return!!(n&&n.__v_isShallow)}function Zb(n){return n?!!n.__v_raw:!1}function an(n){const e=n&&n.__v_raw;return e?an(e):n}function si(n){return!mn(n,"__v_skip")&&Object.isExtensible(n)&&b6(n,"__v_skip",!0),n}const wr=n=>zn(n)?so(n):n,zy=n=>zn(n)?H6(n):n;function Vi(n){return n?n.__v_isRef===!0:!1}function gt(n){return V6(n,!1)}function ds(n){return V6(n,!0)}function V6(n,e){return Vi(n)?n:new zz(n,e)}class zz{constructor(e,t){this.dep=new Yb,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:an(e),this._value=t?e:wr(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,i=this.__v_isShallow||no(e)||$l(e);e=i?e:an(e),Vl(e,t)&&(this._rawValue=e,this._value=i?e:wr(e),this.dep.trigger())}}function qt(n){return Vi(n)?n.value:n}function Co(n){return Et(n)?n():qt(n)}const Hz={get:(n,e,t)=>e==="__v_raw"?n:qt(Reflect.get(n,e,t)),set:(n,e,t,i)=>{const r=n[e];return Vi(r)&&!Vi(t)?(r.value=t,!0):Reflect.set(n,e,t,i)}};function G6(n){return fu(n)?n:new Proxy(n,Hz)}class Vz{constructor(e,t,i){this._object=e,this._key=t,this._defaultValue=i,this.__v_isRef=!0,this._value=void 0}get value(){const e=this._object[this._key];return this._value=e===void 0?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return Cz(an(this._object),this._key)}}class Gz{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Jb(n,e,t){return Vi(n)?n:Et(n)?new Gz(n):zn(n)&&arguments.length>1?Qz(n,e,t):gt(n)}function Qz(n,e,t){const i=n[e];return Vi(i)?i:new Vz(n,e,t)}class Wz{constructor(e,t,i){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Yb(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=P0-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=i}notify(){if(this.flags|=16,!(this.flags&8)&&kn!==this)return I6(this,!0),!0}get value(){const e=this.dep.track();return B6(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function jz(n,e,t=!1){let i,r;return Et(n)?i=n:(i=n.get,r=n.set),new Wz(i,r,t)}const _m={},ig=new WeakMap;let qc;function Hy(n,e=!1,t=qc){if(t){let i=ig.get(t);i||ig.set(t,i=[]),i.push(n)}}function qz(n,e,t=Rn){const{immediate:i,deep:r,once:s,scheduler:o,augmentJob:a,call:l}=t,c=_=>r?_:no(_)||r===!1||r===0?Da(_,1):Da(_);let u,f,h,p,m=!1,v=!1;if(Vi(n)?(f=()=>n.value,m=no(n)):fu(n)?(f=()=>c(n),m=!0):Tt(n)?(v=!0,m=n.some(_=>fu(_)||no(_)),f=()=>n.map(_=>{if(Vi(_))return _.value;if(fu(_))return c(_);if(Et(_))return l?l(_,2):_()})):Et(n)?e?f=l?()=>l(n,2):n:f=()=>{if(h){ic();try{h()}finally{rc()}}const _=qc;qc=u;try{return l?l(n,3,[p]):n(p)}finally{qc=_}}:f=bo,e&&r){const _=f,T=r===!0?1/0:r;f=()=>Da(_(),T)}const A=rA(),y=()=>{u.stop(),A&&A.active&&Gb(A.effects,u)};if(s&&e){const _=e;e=(...T)=>{_(...T),y()}}let x=v?new Array(n.length).fill(_m):_m;const b=_=>{if(!(!(u.flags&1)||!u.dirty&&!_))if(e){const T=u.run();if(r||m||(v?T.some((M,I)=>Vl(M,x[I])):Vl(T,x))){h&&h();const M=qc;qc=u;try{const I=[T,x===_m?void 0:v&&x[0]===_m?[]:x,p];l?l(e,3,I):e(...I),x=T}finally{qc=M}}}else u.run()};return a&&a(b),u=new T6(f),u.scheduler=o?()=>o(b,!1):b,p=_=>Hy(_,!1,u),h=u.onStop=()=>{const _=ig.get(u);if(_){if(l)l(_,4);else for(const T of _)T();ig.delete(u)}},e?i?b(!0):x=u.run():o?o(b.bind(null,!0),!0):u.run(),y.pause=u.pause.bind(u),y.resume=u.resume.bind(u),y.stop=y,y}function Da(n,e=1/0,t){if(e<=0||!zn(n)||n.__v_skip||(t=t||new Set,t.has(n)))return n;if(t.add(n),e--,Vi(n))Da(n.value,e,t);else if(Tt(n))for(let i=0;i<n.length;i++)Da(n[i],e,t);else if(v6(n)||Vf(n))n.forEach(i=>{Da(i,e,t)});else if(_6(n)){for(const i in n)Da(n[i],e,t);for(const i of Object.getOwnPropertySymbols(n))Object.prototype.propertyIsEnumerable.call(n,i)&&Da(n[i],e,t)}return n}/**
11* @vue/runtime-core v3.5.13
12* (c) 2018-present Yuxi (Evan) You and Vue contributors
13* @license MIT
14**/function xp(n,e,t,i){try{return i?n(...i):n()}catch(r){Ud(r,e,t)}}function To(n,e,t,i){if(Et(n)){const r=xp(n,e,t,i);return r&&Qb(r)&&r.catch(s=>{Ud(s,e,t)}),r}if(Tt(n)){const r=[];for(let s=0;s<n.length;s++)r.push(To(n[s],e,t,i));return r}}function Ud(n,e,t,i=!0){const r=e?e.vnode:null,{errorHandler:s,throwUnhandledErrorInProduction:o}=e&&e.appContext.config||Rn;if(e){let a=e.parent;const l=e.proxy,c=`https://vuejs.org/error-reference/#runtime-${t}`;for(;a;){const u=a.ec;if(u){for(let f=0;f<u.length;f++)if(u[f](n,l,c)===!1)return}a=a.parent}if(s){ic(),xp(s,null,10,[n,l,c]),rc();return}}Xz(n,t,r,i,o)}function Xz(n,e,t,i=!0,r=!1){if(r)throw n;console.error(n)}const Xr=[];let ko=-1;const Qf=[];let _l=null,wf=0;const Q6=Promise.resolve();let rg=null;function Ja(n){const e=rg||Q6;return n?e.then(this?n.bind(this):n):e}function Yz(n){let e=ko+1,t=Xr.length;for(;e<t;){const i=e+t>>>1,r=Xr[i],s=B0(r);s<n||s===n&&r.flags&2?e=i+1:t=i}return e}function ex(n){if(!(n.flags&1)){const e=B0(n),t=Xr[Xr.length-1];!t||!(n.flags&2)&&e>=B0(t)?Xr.push(n):Xr.splice(Yz(e),0,n),n.flags|=1,W6()}}function W6(){rg||(rg=Q6.then(j6))}function sg(n){Tt(n)?Qf.push(...n):_l&&n.id===-1?_l.splice(wf+1,0,n):n.flags&1||(Qf.push(n),n.flags|=1),W6()}function O5(n,e,t=ko+1){for(;t<Xr.length;t++){const i=Xr[t];if(i&&i.flags&2){if(n&&i.id!==n.uid)continue;Xr.splice(t,1),t--,i.flags&4&&(i.flags&=-2),i(),i.flags&4||(i.flags&=-2)}}}function og(n){if(Qf.length){const e=[...new Set(Qf)].sort((t,i)=>B0(t)-B0(i));if(Qf.length=0,_l){_l.push(...e);return}for(_l=e,wf=0;wf<_l.length;wf++){const t=_l[wf];t.flags&4&&(t.flags&=-2),t.flags&8||t(),t.flags&=-2}_l=null,wf=0}}const B0=n=>n.id==null?n.flags&2?-1:1/0:n.id;function j6(n){try{for(ko=0;ko<Xr.length;ko++){const e=Xr[ko];e&&!(e.flags&8)&&(e.flags&4&&(e.flags&=-2),xp(e,e.i,e.i?15:14),e.flags&4||(e.flags&=-2))}}finally{for(;ko<Xr.length;ko++){const e=Xr[ko];e&&(e.flags&=-2)}ko=-1,Xr.length=0,og(),rg=null,(Xr.length||Qf.length)&&j6()}}let Hi=null,q6=null;function ag(n){const e=Hi;return Hi=n,q6=n&&n.type.__scopeId||null,e}function Ua(n,e=Hi,t){if(!e||n._n)return n;const i=(...r)=>{i._d&&$5(-1);const s=ag(e);let o;try{o=n(...r)}finally{ag(s),i._d&&$5(1)}return o};return i._n=!0,i._c=!0,i._d=!0,i}function $z(n,e){if(Hi===null)return n;const t=uA(Hi),i=n.dirs||(n.dirs=[]);for(let r=0;r<e.length;r++){let[s,o,a,l=Rn]=e[r];s&&(Et(s)&&(s={mounted:s,updated:s}),s.deep&&Da(o),i.push({dir:s,instance:t,value:o,oldValue:void 0,arg:a,modifiers:l}))}return n}function Ho(n,e,t,i){const r=n.dirs,s=e&&e.dirs;for(let o=0;o<r.length;o++){const a=r[o];s&&(a.oldValue=s[o].value);let l=a.dir[i];l&&(ic(),To(l,t,8,[n.el,a,n,e]),rc())}}const Kz=Symbol("_vte"),X6=n=>n.__isTeleport,bl=Symbol("_leaveCb"),bm=Symbol("_enterCb");function Zz(){const n={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return zs(()=>{n.isMounted=!0}),wp(()=>{n.isUnmounting=!0}),n}const Qs=[Function,Array],Y6={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Qs,onEnter:Qs,onAfterEnter:Qs,onEnterCancelled:Qs,onBeforeLeave:Qs,onLeave:Qs,onAfterLeave:Qs,onLeaveCancelled:Qs,onBeforeAppear:Qs,onAppear:Qs,onAfterAppear:Qs,onAppearCancelled:Qs},$6=n=>{const e=n.subTree;return e.component?$6(e.component):e},Jz={name:"BaseTransition",props:Y6,setup(n,{slots:e}){const t=Do(),i=Zz();return()=>{const r=e.default&&J6(e.default(),!0);if(!r||!r.length)return;const s=K6(r),o=an(n),{mode:a}=o;if(i.isLeaving)return x2(s);const l=F5(s);if(!l)return x2(s);let c=Vy(l,o,i,t,f=>c=f);l.type!==ki&&fd(l,c);let u=t.subTree&&F5(t.subTree);if(u&&u.type!==ki&&!yo(l,u)&&$6(t).type!==ki){let f=Vy(u,o,i,t);if(fd(u,f),a==="out-in"&&l.type!==ki)return i.isLeaving=!0,f.afterLeave=()=>{i.isLeaving=!1,t.job.flags&8||t.update(),delete f.afterLeave,u=void 0},x2(s);a==="in-out"&&l.type!==ki?f.delayLeave=(h,p,m)=>{const v=Z6(i,u);v[String(u.key)]=u,h[bl]=()=>{p(),h[bl]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{m(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return s}}};function K6(n){let e=n[0];if(n.length>1){for(const t of n)if(t.type!==ki){e=t;break}}return e}const eH=Jz;function Z6(n,e){const{leavingVNodes:t}=n;let i=t.get(e.type);return i||(i=Object.create(null),t.set(e.type,i)),i}function Vy(n,e,t,i,r){const{appear:s,mode:o,persisted:a=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:h,onLeave:p,onAfterLeave:m,onLeaveCancelled:v,onBeforeAppear:A,onAppear:y,onAfterAppear:x,onAppearCancelled:b}=e,_=String(n.key),T=Z6(t,n),M=(w,E)=>{w&&To(w,i,9,E)},I=(w,E)=>{const F=E[1];M(w,E),Tt(w)?w.every(L=>L.length<=1)&&F():w.length<=1&&F()},R={mode:o,persisted:a,beforeEnter(w){let E=l;if(!t.isMounted)if(s)E=A||l;else return;w[bl]&&w[bl](!0);const F=T[_];F&&yo(n,F)&&F.el[bl]&&F.el[bl](),M(E,[w])},enter(w){let E=c,F=u,L=f;if(!t.isMounted)if(s)E=y||c,F=x||u,L=b||f;else return;let z=!1;const V=w[bm]=j=>{z||(z=!0,j?M(L,[w]):M(F,[w]),R.delayedLeave&&R.delayedLeave(),w[bm]=void 0)};E?I(E,[w,V]):V()},leave(w,E){const F=String(n.key);if(w[bm]&&w[bm](!0),t.isUnmounting)return E();M(h,[w]);let L=!1;const z=w[bl]=V=>{L||(L=!0,E(),V?M(v,[w]):M(m,[w]),w[bl]=void 0,T[F]===n&&delete T[F])};T[F]=n,p?I(p,[w,z]):z()},clone(w){const E=Vy(w,e,t,i,r);return r&&r(E),E}};return R}function x2(n){if(Cp(n))return n=ja(n),n.children=null,n}function F5(n){if(!Cp(n))return X6(n.type)&&n.children?K6(n.children):n;const{shapeFlag:e,children:t}=n;if(t){if(e&16)return t[0];if(e&32&&Et(t.default))return t.default()}}function fd(n,e){n.shapeFlag&6&&n.component?(n.transition=e,fd(n.component.subTree,e)):n.shapeFlag&128?(n.ssContent.transition=e.clone(n.ssContent),n.ssFallback.transition=e.clone(n.ssFallback)):n.transition=e}function J6(n,e=!1,t){let i=[],r=0;for(let s=0;s<n.length;s++){let o=n[s];const a=t==null?o.key:String(t)+String(o.key!=null?o.key:s);o.type===Ii?(o.patchFlag&128&&r++,i=i.concat(J6(o.children,e,a))):(e||o.type!==ki)&&i.push(a!=null?ja(o,{key:a}):o)}if(r>1)for(let s=0;s<i.length;s++)i[s].patchFlag=-2;return i}/*! #__NO_SIDE_EFFECTS__ */function vs(n,e){return Et(n)?Ji({name:n.name},e,{setup:n}):n}function tH(){const n=Do();return n?(n.appContext.config.idPrefix||"v")+"-"+n.ids[0]+n.ids[1]++:""}function tx(n){n.ids=[n.ids[0]+n.ids[2]+++"-",0,0]}function D0(n,e,t,i,r=!1){if(Tt(n)){n.forEach((m,v)=>D0(m,e&&(Tt(e)?e[v]:e),t,i,r));return}if(Gl(i)&&!r){i.shapeFlag&512&&i.type.__asyncResolved&&i.component.subTree.component&&D0(n,e,t,i.component.subTree);return}const s=i.shapeFlag&4?uA(i.component):i.el,o=r?null:s,{i:a,r:l}=n,c=e&&e.r,u=a.refs===Rn?a.refs={}:a.refs,f=a.setupState,h=an(f),p=f===Rn?()=>!1:m=>mn(h,m);if(c!=null&&c!==l&&(Kn(c)?(u[c]=null,p(c)&&(f[c]=null)):Vi(c)&&(c.value=null)),Et(l))xp(l,a,12,[o,u]);else{const m=Kn(l),v=Vi(l);if(m||v){const A=()=>{if(n.f){const y=m?p(l)?f[l]:u[l]:l.value;r?Tt(y)&&Gb(y,s):Tt(y)?y.includes(s)||y.push(s):m?(u[l]=[s],p(l)&&(f[l]=u[l])):(l.value=[s],n.k&&(u[n.k]=l.value))}else m?(u[l]=o,p(l)&&(f[l]=o)):v&&(l.value=o,n.k&&(u[n.k]=o))};o?(A.id=-1,cr(A,t)):A()}}}let U5=!1;const $u=()=>{U5||(console.error("Hydration completed but contains mismatches."),U5=!0)},nH=n=>n.namespaceURI.includes("svg")&&n.tagName!=="foreignObject",iH=n=>n.namespaceURI.includes("MathML"),xm=n=>{if(n.nodeType===1){if(nH(n))return"svg";if(iH(n))return"mathml"}},Rf=n=>n.nodeType===8;function rH(n){const{mt:e,p:t,o:{patchProp:i,createText:r,nextSibling:s,parentNode:o,remove:a,insert:l,createComment:c}}=n,u=(b,_)=>{if(!_.hasChildNodes()){t(null,b,_),og(),_._vnode=b;return}f(_.firstChild,b,null,null,null),og(),_._vnode=b},f=(b,_,T,M,I,R=!1)=>{R=R||!!_.dynamicChildren;const w=Rf(b)&&b.data==="[",E=()=>v(b,_,T,M,I,w),{type:F,ref:L,shapeFlag:z,patchFlag:V}=_;let j=b.nodeType;_.el=b,V===-2&&(R=!1,_.dynamicChildren=null);let N=null;switch(F){case hu:j!==3?_.children===""?(l(_.el=r(""),o(b),b),N=b):N=E():(b.data!==_.children&&($u(),b.data=_.children),N=s(b));break;case ki:x(b)?(N=s(b),y(_.el=b.content.firstChild,b,T)):j!==8||w?N=E():N=s(b);break;case jf:if(w&&(b=s(b),j=b.nodeType),j===1||j===3){N=b;const Q=!_.children.length;for(let W=0;W<_.staticCount;W++)Q&&(_.children+=N.nodeType===1?N.outerHTML:N.data),W===_.staticCount-1&&(_.anchor=N),N=s(N);return w?s(N):N}else E();break;case Ii:w?N=m(b,_,T,M,I,R):N=E();break;default:if(z&1)(j!==1||_.type.toLowerCase()!==b.tagName.toLowerCase())&&!x(b)?N=E():N=h(b,_,T,M,I,R);else if(z&6){_.slotScopeIds=I;const Q=o(b);if(w?N=A(b):Rf(b)&&b.data==="teleport start"?N=A(b,b.data,"teleport end"):N=s(b),e(_,Q,null,T,M,xm(Q),R),Gl(_)&&!_.type.__asyncResolved){let W;w?(W=dn(Ii),W.anchor=N?N.previousSibling:Q.lastChild):W=b.nodeType===3?ox(""):dn("div"),W.el=b,_.component.subTree=W}}else z&64?j!==8?N=E():N=_.type.hydrate(b,_,T,M,I,R,n,p):z&128&&(N=_.type.hydrate(b,_,T,M,xm(o(b)),I,R,n,f))}return L!=null&&D0(L,null,M,_),N},h=(b,_,T,M,I,R)=>{R=R||!!_.dynamicChildren;const{type:w,props:E,patchFlag:F,shapeFlag:L,dirs:z,transition:V}=_,j=w==="input"||w==="option";if(j||F!==-1){z&&Ho(_,null,T,"created");let N=!1;if(x(b)){N=E7(null,V)&&T&&T.vnode.props&&T.vnode.props.appear;const W=b.content.firstChild;N&&V.beforeEnter(W),y(W,b,T),_.el=b=W}if(L&16&&!(E&&(E.innerHTML||E.textContent))){let W=p(b.firstChild,_,b,T,M,I,R);for(;W;){Cm(b,1)||$u();const ee=W;W=W.nextSibling,a(ee)}}else if(L&8){let W=_.children;W[0]===`
15`&&(b.tagName==="PRE"||b.tagName==="TEXTAREA")&&(W=W.slice(1)),b.textContent!==W&&(Cm(b,0)||$u(),b.textContent=_.children)}if(E){if(j||!R||F&48){const W=b.tagName.includes("-");for(const ee in E)(j&&(ee.endsWith("value")||ee==="indeterminate")||yp(ee)&&!Gf(ee)||ee[0]==="."||W)&&i(b,ee,null,E[ee],void 0,T)}else if(E.onClick)i(b,"onClick",null,E.onClick,void 0,T);else if(F&4&&fu(E.style))for(const W in E.style)E.style[W]}let Q;(Q=E&&E.onVnodeBeforeMount)&&as(Q,T,_),z&&Ho(_,null,T,"beforeMount"),((Q=E&&E.onVnodeMounted)||z||N)&&D7(()=>{Q&&as(Q,T,_),N&&V.enter(b),z&&Ho(_,null,T,"mounted")},M)}return b.nextSibling},p=(b,_,T,M,I,R,w)=>{w=w||!!_.dynamicChildren;const E=_.children,F=E.length;for(let L=0;L<F;L++){const z=w?E[L]:E[L]=Ps(E[L]),V=z.type===hu;b?(V&&!w&&L+1<F&&Ps(E[L+1]).type===hu&&(l(r(b.data.slice(z.children.length)),T,s(b)),b.data=z.children),b=f(b,z,M,I,R,w)):V&&!z.children?l(z.el=r(""),T):(Cm(T,1)||$u(),t(null,z,T,null,M,I,xm(T),R))}return b},m=(b,_,T,M,I,R)=>{const{slotScopeIds:w}=_;w&&(I=I?I.concat(w):w);const E=o(b),F=p(s(b),_,E,T,M,I,R);return F&&Rf(F)&&F.data==="]"?s(_.anchor=F):($u(),l(_.anchor=c("]"),E,F),F)},v=(b,_,T,M,I,R)=>{if(Cm(b.parentElement,1)||$u(),_.el=null,R){const F=A(b);for(;;){const L=s(b);if(L&&L!==F)a(L);else break}}const w=s(b),E=o(b);return a(b),t(null,_,E,w,T,M,xm(E),I),T&&(T.vnode.el=_.el,cA(T,_.el)),w},A=(b,_="[",T="]")=>{let M=0;for(;b;)if(b=s(b),b&&Rf(b)&&(b.data===_&&M++,b.data===T)){if(M===0)return s(b);M--}return b},y=(b,_,T)=>{const M=_.parentNode;M&&M.replaceChild(b,_);let I=T;for(;I;)I.vnode.el===_&&(I.vnode.el=I.subTree.el=b),I=I.parent},x=b=>b.nodeType===1&&b.tagName==="TEMPLATE";return[u,f]}const N5="data-allow-mismatch",sH={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function Cm(n,e){if(e===0||e===1)for(;n&&!n.hasAttribute(N5);)n=n.parentElement;const t=n&&n.getAttribute(N5);if(t==null)return!1;if(t==="")return!0;{const i=t.split(",");return e===0&&i.includes("children")?!0:t.split(",").includes(sH[e])}}nA().requestIdleCallback;nA().cancelIdleCallback;function oH(n,e){if(Rf(n)&&n.data==="["){let t=1,i=n.nextSibling;for(;i;){if(i.nodeType===1){if(e(i)===!1)break}else if(Rf(i))if(i.data==="]"){if(--t===0)break}else i.data==="["&&t++;i=i.nextSibling}}else e(n)}const Gl=n=>!!n.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function k5(n){Et(n)&&(n={loader:n});const{loader:e,loadingComponent:t,errorComponent:i,delay:r=200,hydrate:s,timeout:o,suspensible:a=!0,onError:l}=n;let c=null,u,f=0;const h=()=>(f++,c=null,p()),p=()=>{let m;return c||(m=c=e().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),l)return new Promise((A,y)=>{l(v,()=>A(h()),()=>y(v),f+1)});throw v}).then(v=>m!==c&&c?c:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),u=v,v)))};return vs({name:"AsyncComponentWrapper",__asyncLoader:p,__asyncHydrate(m,v,A){const y=s?()=>{const x=s(A,b=>oH(m,b));x&&(v.bum||(v.bum=[])).push(x)}:A;u?y():p().then(()=>!v.isUnmounted&&y())},get __asyncResolved(){return u},setup(){const m=zi;if(tx(m),u)return()=>C2(u,m);const v=b=>{c=null,Ud(b,m,13,!i)};if(a&&m.suspense||hd)return p().then(b=>()=>C2(b,m)).catch(b=>(v(b),()=>i?dn(i,{error:b}):null));const A=gt(!1),y=gt(),x=gt(!!r);return r&&setTimeout(()=>{x.value=!1},r),o!=null&&setTimeout(()=>{if(!A.value&&!y.value){const b=new Error(`Async component timed out after ${o}ms.`);v(b),y.value=b}},o),p().then(()=>{A.value=!0,m.parent&&Cp(m.parent.vnode)&&m.parent.update()}).catch(b=>{v(b),y.value=b}),()=>{if(A.value&&u)return C2(u,m);if(y.value&&i)return dn(i,{error:y.value});if(t&&!x.value)return dn(t)}}})}function C2(n,e){const{ref:t,props:i,children:r,ce:s}=e.vnode,o=dn(n,i,r);return o.ref=t,o.ce=s,delete e.vnode.ce,o}const Cp=n=>n.type.__isKeepAlive,aH={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(n,{slots:e}){const t=Do(),i=t.ctx;if(!i.renderer)return()=>{const x=e.default&&e.default();return x&&x.length===1?x[0]:x};const r=new Map,s=new Set;let o=null;const a=t.suspense,{renderer:{p:l,m:c,um:u,o:{createElement:f}}}=i,h=f("div");i.activate=(x,b,_,T,M)=>{const I=x.component;c(x,b,_,0,a),l(I.vnode,x,b,_,I,a,T,x.slotScopeIds,M),cr(()=>{I.isDeactivated=!1,I.a&&Jh(I.a);const R=x.props&&x.props.onVnodeMounted;R&&as(R,I.parent,x)},a)},i.deactivate=x=>{const b=x.component;cg(b.m),cg(b.a),c(x,h,null,1,a),cr(()=>{b.da&&Jh(b.da);const _=x.props&&x.props.onVnodeUnmounted;_&&as(_,b.parent,x),b.isDeactivated=!0},a)};function p(x){w2(x),u(x,t,a,!0)}function m(x){r.forEach((b,_)=>{const T=Ky(b.type);T&&!x(T)&&v(_)})}function v(x){const b=r.get(x);b&&(!o||!yo(b,o))?p(b):o&&w2(o),r.delete(x),s.delete(x)}ai(()=>[n.include,n.exclude],([x,b])=>{x&&m(_=>Nh(x,_)),b&&m(_=>!Nh(b,_))},{flush:"post",deep:!0});let A=null;const y=()=>{A!=null&&(ug(t.subTree.type)?cr(()=>{r.set(A,wm(t.subTree))},t.subTree.suspense):r.set(A,wm(t.subTree)))};return zs(y),r7(y),wp(()=>{r.forEach(x=>{const{subTree:b,suspense:_}=t,T=wm(b);if(x.type===T.type&&x.key===T.key){w2(T);const M=T.component.da;M&&cr(M,_);return}p(x)})}),()=>{if(A=null,!e.default)return o=null;const x=e.default(),b=x[0];if(x.length>1)return o=null,x;if(!Su(b)||!(b.shapeFlag&4)&&!(b.shapeFlag&128))return o=null,b;let _=wm(b);if(_.type===ki)return o=null,_;const T=_.type,M=Ky(Gl(_)?_.type.__asyncResolved||{}:T),{include:I,exclude:R,max:w}=n;if(I&&(!M||!Nh(I,M))||R&&M&&Nh(R,M))return _.shapeFlag&=-257,o=_,b;const E=_.key==null?T:_.key,F=r.get(E);return _.el&&(_=ja(_),b.shapeFlag&128&&(b.ssContent=_)),A=E,F?(_.el=F.el,_.component=F.component,_.transition&&fd(_,_.transition),_.shapeFlag|=512,s.delete(E),s.add(E)):(s.add(E),w&&s.size>parseInt(w,10)&&v(s.values().next().value)),_.shapeFlag|=256,o=_,ug(b.type)?b:_}}},lH=aH;function Nh(n,e){return Tt(n)?n.some(t=>Nh(t,e)):Kn(n)?n.split(",").includes(e):lz(n)?(n.lastIndex=0,n.test(e)):!1}function e7(n,e){n7(n,"a",e)}function t7(n,e){n7(n,"da",e)}function n7(n,e,t=zi){const i=n.__wdc||(n.__wdc=()=>{let r=t;for(;r;){if(r.isDeactivated)return;r=r.parent}return n()});if(oA(e,i,t),t){let r=t.parent;for(;r&&r.parent;)Cp(r.parent.vnode)&&cH(i,e,t,r),r=r.parent}}function cH(n,e,t,i){const r=oA(e,n,i,!0);tl(()=>{Gb(i[e],r)},t)}function w2(n){n.shapeFlag&=-257,n.shapeFlag&=-513}function wm(n){return n.shapeFlag&128?n.ssContent:n}function oA(n,e,t=zi,i=!1){if(t){const r=t[n]||(t[n]=[]),s=e.__weh||(e.__weh=(...o)=>{ic();const a=Eu(t),l=To(e,t,n,o);return a(),rc(),l});return i?r.unshift(s):r.push(s),s}}const el=n=>(e,t=zi)=>{(!hd||n==="sp")&&oA(n,(...i)=>e(...i),t)},nx=el("bm"),zs=el("m"),i7=el("bu"),r7=el("u"),wp=el("bum"),tl=el("um"),uH=el("sp"),fH=el("rtg"),dH=el("rtc");function s7(n,e=zi){oA("ec",n,e)}const o7="components";function z5(n,e){return c7(o7,n,!0,e)||n}const a7=Symbol.for("v-ndc");function l7(n){return Kn(n)?c7(o7,n,!1)||n:n||a7}function c7(n,e,t=!0,i=!1){const r=Hi||zi;if(r){const s=r.type;{const a=Ky(s,!1);if(a&&(a===e||a===ro(e)||a===tA(ro(e))))return s}const o=H5(r[n]||s[n],e)||H5(r.appContext[n],e);return!o&&i?s:o}}function H5(n,e){return n&&(n[e]||n[ro(e)]||n[tA(ro(e))])}function V5(n,e,t,i){let r;const s=t,o=Tt(n);if(o||Kn(n)){const a=o&&fu(n);let l=!1;a&&(l=!no(n),n=sA(n)),r=new Array(n.length);for(let c=0,u=n.length;c<u;c++)r[c]=e(l?wr(n[c]):n[c],c,void 0,s)}else if(typeof n=="number"){r=new Array(n);for(let a=0;a<n;a++)r[a]=e(a+1,a,void 0,s)}else if(zn(n))if(n[Symbol.iterator])r=Array.from(n,(a,l)=>e(a,l,void 0,s));else{const a=Object.keys(n);r=new Array(a.length);for(let l=0,c=a.length;l<c;l++){const u=a[l];r[l]=e(n[u],u,l,s)}}else r=[];return r}function ix(n,e,t={},i,r){if(Hi.ce||Hi.parent&&Gl(Hi.parent)&&Hi.parent.ce)return di(),Ks(Ii,null,[dn("slot",t,i)],64);let s=n[e];s&&s._c&&(s._d=!1),di();const o=s&&u7(s(t)),a=t.key||o&&o.key,l=Ks(Ii,{key:(a&&!Za(a)?a:`_${e}`)+""},o||[],o&&n._===1?64:-2);return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),s&&s._c&&(s._d=!0),l}function u7(n){return n.some(e=>Su(e)?!(e.type===ki||e.type===Ii&&!u7(e.children)):!0)?n:null}const Gy=n=>n?N7(n)?uA(n):Gy(n.parent):null,n0=Ji(Object.create(null),{$:n=>n,$el:n=>n.vnode.el,$data:n=>n.data,$props:n=>n.props,$attrs:n=>n.attrs,$slots:n=>n.slots,$refs:n=>n.refs,$parent:n=>Gy(n.parent),$root:n=>Gy(n.root),$host:n=>n.ce,$emit:n=>n.emit,$options:n=>h7(n),$forceUpdate:n=>n.f||(n.f=()=>{ex(n.update)}),$nextTick:n=>n.n||(n.n=Ja.bind(n.proxy)),$watch:n=>DH.bind(n)}),S2=(n,e)=>n!==Rn&&!n.__isScriptSetup&&mn(n,e),hH={get({_:n},e){if(e==="__v_skip")return!0;const{ctx:t,setupState:i,data:r,props:s,accessCache:o,type:a,appContext:l}=n;let c;if(e[0]!=="$"){const p=o[e];if(p!==void 0)switch(p){case 1:return i[e];case 2:return r[e];case 4:return t[e];case 3:return s[e]}else{if(S2(i,e))return o[e]=1,i[e];if(r!==Rn&&mn(r,e))return o[e]=2,r[e];if((c=n.propsOptions[0])&&mn(c,e))return o[e]=3,s[e];if(t!==Rn&&mn(t,e))return o[e]=4,t[e];Qy&&(o[e]=0)}}const u=n0[e];let f,h;if(u)return e==="$attrs"&&Cr(n.attrs,"get",""),u(n);if((f=a.__cssModules)&&(f=f[e]))return f;if(t!==Rn&&mn(t,e))return o[e]=4,t[e];if(h=l.config.globalProperties,mn(h,e))return h[e]},set({_:n},e,t){const{data:i,setupState:r,ctx:s}=n;return S2(r,e)?(r[e]=t,!0):i!==Rn&&mn(i,e)?(i[e]=t,!0):mn(n.props,e)||e[0]==="$"&&e.slice(1)in n?!1:(s[e]=t,!0)},has({_:{data:n,setupState:e,accessCache:t,ctx:i,appContext:r,propsOptions:s}},o){let a;return!!t[o]||n!==Rn&&mn(n,o)||S2(e,o)||(a=s[0])&&mn(a,o)||mn(i,o)||mn(n0,o)||mn(r.config.globalProperties,o)},defineProperty(n,e,t){return t.get!=null?n._.accessCache[e]=0:mn(t,"value")&&this.set(n,e,t.value,null),Reflect.defineProperty(n,e,t)}};function ufe(){return pH().attrs}function pH(){const n=Do();return n.setupContext||(n.setupContext=z7(n))}function G5(n){return Tt(n)?n.reduce((e,t)=>(e[t]=null,e),{}):n}function f7(n){const e=Do();let t=n();return Yy(),Qb(t)&&(t=t.catch(i=>{throw Eu(e),i})),[t,()=>Eu(e)]}let Qy=!0;function mH(n){const e=h7(n),t=n.proxy,i=n.ctx;Qy=!1,e.beforeCreate&&Q5(e.beforeCreate,n,"bc");const{data:r,computed:s,methods:o,watch:a,provide:l,inject:c,created:u,beforeMount:f,mounted:h,beforeUpdate:p,updated:m,activated:v,deactivated:A,beforeDestroy:y,beforeUnmount:x,destroyed:b,unmounted:_,render:T,renderTracked:M,renderTriggered:I,errorCaptured:R,serverPrefetch:w,expose:E,inheritAttrs:F,components:L,directives:z,filters:V}=e;if(c&&gH(c,i,null),o)for(const Q in o){const W=o[Q];Et(W)&&(i[Q]=W.bind(t))}if(r){const Q=r.call(t,t);zn(Q)&&(n.data=so(Q))}if(Qy=!0,s)for(const Q in s){const W=s[Q],ee=Et(W)?W.bind(t,t):Et(W.get)?W.get.bind(t,t):bo,H=!Et(W)&&Et(W.set)?W.set.bind(t):bo,ye=ii({get:ee,set:H});Object.defineProperty(i,Q,{enumerable:!0,configurable:!0,get:()=>ye.value,set:Ie=>ye.value=Ie})}if(a)for(const Q in a)d7(a[Q],i,t,Q);if(l){const Q=Et(l)?l.call(t):l;Reflect.ownKeys(Q).forEach(W=>{Va(W,Q[W])})}u&&Q5(u,n,"c");function N(Q,W){Tt(W)?W.forEach(ee=>Q(ee.bind(t))):W&&Q(W.bind(t))}if(N(nx,f),N(zs,h),N(i7,p),N(r7,m),N(e7,v),N(t7,A),N(s7,R),N(dH,M),N(fH,I),N(wp,x),N(tl,_),N(uH,w),Tt(E))if(E.length){const Q=n.exposed||(n.exposed={});E.forEach(W=>{Object.defineProperty(Q,W,{get:()=>t[W],set:ee=>t[W]=ee})})}else n.exposed||(n.exposed={});T&&n.render===bo&&(n.render=T),F!=null&&(n.inheritAttrs=F),L&&(n.components=L),z&&(n.directives=z),w&&tx(n)}function gH(n,e,t=bo){Tt(n)&&(n=Wy(n));for(const i in n){const r=n[i];let s;zn(r)?"default"in r?s=es(r.from||i,r.default,!0):s=es(r.from||i):s=es(r),Vi(s)?Object.defineProperty(e,i,{enumerable:!0,configurable:!0,get:()=>s.value,set:o=>s.value=o}):e[i]=s}}function Q5(n,e,t){To(Tt(n)?n.map(i=>i.bind(e.proxy)):n.bind(e.proxy),e,t)}function d7(n,e,t,i){let r=i.includes(".")?I7(t,i):()=>t[i];if(Kn(n)){const s=e[n];Et(s)&&ai(r,s)}else if(Et(n))ai(r,n.bind(t));else if(zn(n))if(Tt(n))n.forEach(s=>d7(s,e,t,i));else{const s=Et(n.handler)?n.handler.bind(t):e[n.handler];Et(s)&&ai(r,s,n)}}function h7(n){const e=n.type,{mixins:t,extends:i}=e,{mixins:r,optionsCache:s,config:{optionMergeStrategies:o}}=n.appContext,a=s.get(e);let l;return a?l=a:!r.length&&!t&&!i?l=e:(l={},r.length&&r.forEach(c=>lg(l,c,o,!0)),lg(l,e,o)),zn(e)&&s.set(e,l),l}function lg(n,e,t,i=!1){const{mixins:r,extends:s}=e;s&&lg(n,s,t,!0),r&&r.forEach(o=>lg(n,o,t,!0));for(const o in e)if(!(i&&o==="expose")){const a=AH[o]||t&&t[o];n[o]=a?a(n[o],e[o]):e[o]}return n}const AH={data:W5,props:j5,emits:j5,methods:kh,computed:kh,beforeCreate:zr,created:zr,beforeMount:zr,mounted:zr,beforeUpdate:zr,updated:zr,beforeDestroy:zr,beforeUnmount:zr,destroyed:zr,unmounted:zr,activated:zr,deactivated:zr,errorCaptured:zr,serverPrefetch:zr,components:kh,directives:kh,watch:yH,provide:W5,inject:vH};function W5(n,e){return e?n?function(){return Ji(Et(n)?n.call(this,this):n,Et(e)?e.call(this,this):e)}:e:n}function vH(n,e){return kh(Wy(n),Wy(e))}function Wy(n){if(Tt(n)){const e={};for(let t=0;t<n.length;t++)e[n[t]]=n[t];return e}return n}function zr(n,e){return n?[...new Set([].concat(n,e))]:e}function kh(n,e){return n?Ji(Object.create(null),n,e):e}function j5(n,e){return n?Tt(n)&&Tt(e)?[...new Set([...n,...e])]:Ji(Object.create(null),G5(n),G5(e??{})):e}function yH(n,e){if(!n)return e;if(!e)return n;const t=Ji(Object.create(null),n);for(const i in e)t[i]=zr(n[i],e[i]);return t}function p7(){return{app:null,config:{isNativeTag:oz,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let _H=0;function bH(n,e){return function(i,r=null){Et(i)||(i=Ji({},i)),r!=null&&!zn(r)&&(r=null);const s=p7(),o=new WeakSet,a=[];let l=!1;const c=s.app={_uid:_H++,_component:i,_props:r,_container:null,_context:s,_instance:null,version:H7,get config(){return s.config},set config(u){},use(u,...f){return o.has(u)||(u&&Et(u.install)?(o.add(u),u.install(c,...f)):Et(u)&&(o.add(u),u(c,...f))),c},mixin(u){return s.mixins.includes(u)||s.mixins.push(u),c},component(u,f){return f?(s.components[u]=f,c):s.components[u]},directive(u,f){return f?(s.directives[u]=f,c):s.directives[u]},mount(u,f,h){if(!l){const p=c._ceVNode||dn(i,r);return p.appContext=s,h===!0?h="svg":h===!1&&(h=void 0),f&&e?e(p,u):n(p,u,h),l=!0,c._container=u,u.__vue_app__=c,uA(p.component)}},onUnmount(u){a.push(u)},unmount(){l&&(To(a,c._instance,16),n(null,c._container),delete c._container.__vue_app__)},provide(u,f){return s.provides[u]=f,c},runWithContext(u){const f=du;du=c;try{return u()}finally{du=f}}};return c}}let du=null;function Va(n,e){if(zi){let t=zi.provides;const i=zi.parent&&zi.parent.provides;i===t&&(t=zi.provides=Object.create(i)),t[n]=e}}function es(n,e,t=!1){const i=zi||Hi;if(i||du){const r=du?du._context.provides:i?i.parent==null?i.vnode.appContext&&i.vnode.appContext.provides:i.parent.provides:void 0;if(r&&n in r)return r[n];if(arguments.length>1)return t&&Et(e)?e.call(i&&i.proxy):e}}function m7(){return!!(zi||Hi||du)}const g7={},A7=()=>Object.create(g7),v7=n=>Object.getPrototypeOf(n)===g7;function xH(n,e,t,i=!1){const r={},s=A7();n.propsDefaults=Object.create(null),y7(n,e,r,s);for(const o in n.propsOptions[0])o in r||(r[o]=void 0);t?n.props=i?r:Fa(r):n.type.props?n.props=r:n.props=s,n.attrs=s}function CH(n,e,t,i){const{props:r,attrs:s,vnode:{patchFlag:o}}=n,a=an(r),[l]=n.propsOptions;let c=!1;if((i||o>0)&&!(o&16)){if(o&8){const u=n.vnode.dynamicProps;for(let f=0;f<u.length;f++){let h=u[f];if(lA(n.emitsOptions,h))continue;const p=e[h];if(l)if(mn(s,h))p!==s[h]&&(s[h]=p,c=!0);
vendor: 3,407 bytes, line 15
15else{const m=ro(h);r[m]=jy(l,a,m,p,n,!1)}else p!==s[h]&&(s[h]=p,c=!0)}}}else{y7(n,e,r,s)&&(c=!0);let u;for(const f in a)(!e||!mn(e,f)&&((u=Ru(f))===f||!mn(e,u)))&&(l?t&&(t[f]!==void 0||t[u]!==void 0)&&(r[f]=jy(l,a,f,void 0,n,!0)):delete r[f]);if(s!==a)for(const f in s)(!e||!mn(e,f))&&(delete s[f],c=!0)}c&&Ba(n.attrs,"set","")}function y7(n,e,t,i){const[r,s]=n.propsOptions;let o=!1,a;if(e)for(let l in e){if(Gf(l))continue;const c=e[l];let u;r&&mn(r,u=ro(l))?!s||!s.includes(u)?t[u]=c:(a||(a={}))[u]=c:lA(n.emitsOptions,l)||(!(l in i)||c!==i[l])&&(i[l]=c,o=!0)}if(s){const l=an(t),c=a||Rn;for(let u=0;u<s.length;u++){const f=s[u];t[f]=jy(r,l,f,c[f],n,!mn(c,f))}}return o}function jy(n,e,t,i,r,s){const o=n[t];if(o!=null){const a=mn(o,"default");if(a&&i===void 0){const l=o.default;if(o.type!==Function&&!o.skipFactory&&Et(l)){const{propsDefaults:c}=r;if(t in c)i=c[t];else{const u=Eu(r);i=c[t]=l.call(null,e),u()}}else i=l;r.ce&&r.ce._setProp(t,i)}o[0]&&(s&&!a?i=!1:o[1]&&(i===""||i===Ru(t))&&(i=!0))}return i}const wH=new WeakMap;function _7(n,e,t=!1){const i=t?wH:e.propsCache,r=i.get(n);if(r)return r;const s=n.props,o={},a=[];let l=!1;if(!Et(n)){const u=f=>{l=!0;const[h,p]=_7(f,e,!0);Ji(o,h),p&&a.push(...p)};!t&&e.mixins.length&&e.mixins.forEach(u),n.extends&&u(n.extends),n.mixins&&n.mixins.forEach(u)}if(!s&&!l)return zn(n)&&i.set(n,Hf),Hf;if(Tt(s))for(let u=0;u<s.length;u++){const f=ro(s[u]);q5(f)&&(o[f]=Rn)}else if(s)for(const u in s){const f=ro(u);if(q5(f)){const h=s[u],p=o[f]=Tt(h)||Et(h)?{type:h}:Ji({},h),m=p.type;let v=!1,A=!0;if(Tt(m))for(let y=0;y<m.length;++y){const x=m[y],b=Et(x)&&x.name;if(b==="Boolean"){v=!0;break}else b==="String"&&(A=!1)}else v=Et(m)&&m.name==="Boolean";p[0]=v,p[1]=A,(v||mn(p,"default"))&&a.push(f)}}const c=[o,a];return zn(n)&&i.set(n,c),c}function q5(n){return n[0]!=="$"&&!Gf(n)}const b7=n=>n[0]==="_"||n==="$stable",rx=n=>Tt(n)?n.map(Ps):[Ps(n)],SH=(n,e,t)=>{if(e._n)return e;const i=Ua((...r)=>rx(e(...r)),t);return i._c=!1,i},x7=(n,e,t)=>{const i=n._ctx;for(const r in n){if(b7(r))continue;const s=n[r];if(Et(s))e[r]=SH(r,s,i);else if(s!=null){const o=rx(s);e[r]=()=>o}}},C7=(n,e)=>{const t=rx(e);n.slots.default=()=>t},w7=(n,e,t)=>{for(const i in e)(t||i!=="_")&&(n[i]=e[i])},EH=(n,e,t)=>{const i=n.slots=A7();if(n.vnode.shapeFlag&32){const r=e._;r?(w7(i,e,t),t&&b6(i,"_",r,!0)):x7(e,i)}else e&&C7(n,e)},TH=(n,e,t)=>{const{vnode:i,slots:r}=n;let s=!0,o=Rn;if(i.shapeFlag&32){const a=e._;a?t&&a===1?s=!1:w7(r,e,t):(s=!e.$stable,x7(e,r)),o=e}else e&&(C7(n,e),o={default:1});if(s)for(const a in r)!b7(a)&&o[a]==null&&delete r[a]},cr=D7;function MH(n){return S7(n)}function IH(n){return S7(n,rH)}function S7(n,e){const t=nA();t.__VUE__=!0;const{insert:i,remove:r,patchProp:s,createElement:o,createText:a,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:h,setScopeId:p=bo,insertStaticContent:m}=n,v=(q,B,le,ve=null,$=null,de=null,De=void 0,xe=null,k=!!B.dynamicChildren)=>{if(q===B)return;q&&!yo(q,B)&&(ve=Z(q),Ie(q,$,de,!0),q=null),B.patchFlag===-2&&(k=!1,B.dynamicChildren=null);const{type:D,ref:ne,shapeFlag:re}=B;switch(D){case hu:A(q,B,le,ve);break;case ki:y(q,B,le,ve);break;case jf:q==null&&x(B,le,ve,De);break;case Ii:L(q,B,le,ve,$,de,De,xe,k);break;default:re&1?T(q,B,le,ve,$,de,De,xe,k):re&6?z(q,B,le,ve,$,de,De,xe,k):(re&64||re&128)&&D.process(q,B,le,ve,$,de,De,xe,k,be)}ne!=null&&$&&D0(ne,q&&q.ref,de,B||q,!B)},A=(q,B,le,ve)=>
vendor: 4,201 bytes, line 15
15{if(q==null)i(B.el=a(B.children),le,ve);else{const $=B.el=q.el;B.children!==q.children&&c($,B.children)}},y=(q,B,le,ve)=>{q==null?i(B.el=l(B.children||""),le,ve):B.el=q.el},x=(q,B,le,ve)=>{[q.el,q.anchor]=m(q.children,B,le,ve,q.el,q.anchor)},b=({el:q,anchor:B},le,ve)=>{let $;for(;q&&q!==B;)$=h(q),i(q,le,ve),q=$;i(B,le,ve)},_=({el:q,anchor:B})=>{let le;for(;q&&q!==B;)le=h(q),r(q),q=le;r(B)},T=(q,B,le,ve,$,de,De,xe,k)=>{B.type==="svg"?De="svg":B.type==="math"&&(De="mathml"),q==null?M(B,le,ve,$,de,De,xe,k):w(q,B,$,de,De,xe,k)},M=(q,B,le,ve,$,de,De,xe)=>{let k,D;const{props:ne,shapeFlag:re,transition:ce,dirs:fe}=q;if(k=q.el=o(q.type,de,ne&&ne.is,ne),re&8?u(k,q.children):re&16&&R(q.children,k,null,ve,$,E2(q,de),De,xe),fe&&Ho(q,null,ve,"created"),I(k,q,q.scopeId,De,ve),ne){for(const Le in ne)Le!=="value"&&!Gf(Le)&&s(k,Le,null,ne[Le],de,ve);"value"in ne&&s(k,"value",null,ne.value,de),(D=ne.onVnodeBeforeMount)&&as(D,ve,q)}fe&&Ho(q,null,ve,"beforeMount");const Pe=E7($,ce);Pe&&ce.beforeEnter(k),i(k,B,le),((D=ne&&ne.onVnodeMounted)||Pe||fe)&&cr(()=>{D&&as(D,ve,q),Pe&&ce.enter(k),fe&&Ho(q,null,ve,"mounted")},$)},I=(q,B,le,ve,$)=>{if(le&&p(q,le),ve)for(let de=0;de<ve.length;de++)p(q,ve[de]);if($){let de=$.subTree;if(B===de||ug(de.type)&&(de.ssContent===B||de.ssFallback===B)){const De=$.vnode;I(q,De,De.scopeId,De.slotScopeIds,$.parent)}}},R=(q,B,le,ve,$,de,De,xe,k=0)=>{for(let D=k;D<q.length;D++){const ne=q[D]=xe?xl(q[D]):Ps(q[D]);v(null,ne,B,le,ve,$,de,De,xe)}},w=(q,B,le,ve,$,de,De)=>{const xe=B.el=q.el;let{patchFlag:k,dynamicChildren:D,dirs:ne}=B;k|=q.patchFlag&16;const re=q.props||Rn,ce=B.props||Rn;let fe;if(le&&Bc(le,!1),(fe=ce.onVnodeBeforeUpdate)&&as(fe,le,B,q),ne&&Ho(B,q,le,"beforeUpdate"),le&&Bc(le,!0),(re.innerHTML&&ce.innerHTML==null||re.textContent&&ce.textContent==null)&&u(xe,""),D?E(q.dynamicChildren,D,xe,le,ve,E2(B,$),de):De||W(q,B,xe,null,le,ve,E2(B,$),de,!1),k>0){if(k&16)F(xe,re,ce,le,$);else if(k&2&&re.class!==ce.class&&s(xe,"class",null,ce.class,$),k&4&&s(xe,"style",re.style,ce.style,$),k&8){const Pe=B.dynamicProps;for(let Le=0;Le<Pe.length;Le++){const Oe=Pe[Le],dt=re[Oe],Be=ce[Oe];(Be!==dt||Oe==="value")&&s(xe,Oe,dt,Be,$,le)}}k&1&&q.children!==B.children&&u(xe,B.children)}else!De&&D==null&&F(xe,re,ce,le,$);((fe=ce.onVnodeUpdated)||ne)&&cr(()=>{fe&&as(fe,le,B,q),ne&&Ho(B,q,le,"updated")},ve)},E=(q,B,le,ve,$,de,De)=>{for(let xe=0;xe<B.length;xe++){const k=q[xe],D=B[xe],ne=k.el&&(k.type===Ii||!yo(k,D)||k.shapeFlag&70)?f(k.el):le;v(k,D,ne,null,ve,$,de,De,!0)}},F=(q,B,le,ve,$)=>{if(B!==le){if(B!==Rn)for(const de in B)!Gf(de)&&!(de in le)&&s(q,de,B[de],null,$,ve);for(const de in le){if(Gf(de))continue;const De=le[de],xe=B[de];De!==xe&&de!=="value"&&s(q,de,xe,De,$,ve)}"value"in le&&s(q,"value",B.value,le.value,$)}},L=(q,B,le,ve,$,de,De,xe,k)=>{const D=B.el=q?q.el:a(""),ne=B.anchor=q?q.anchor:a("");let{patchFlag:re,dynamicChildren:ce,slotScopeIds:fe}=B;fe&&(xe=xe?xe.concat(fe):fe),q==null?(i(D,le,ve),i(ne,le,ve),R(B.children||[],le,ne,$,de,De,xe,k)):re>0&&re&64&&ce&&q.dynamicChildren?(E(q.dynamicChildren,ce,le,$,de,De,xe),(B.key!=null||$&&B===$.subTree)&&T7(q,B,!0)):W(q,B,le,ne,$,de,De,xe,k)},z=(q,B,le,ve,$,de,De,xe,k)=>{B.slotScopeIds=xe,q==null?B.shapeFlag&512?$.ctx.activate(B,le,ve,De,k):V(B,le,ve,$,de,De,k):j(q,B,k)},V=(q,B,le,ve,$,de,De)=>{const xe=q.component=KH(q,ve,$);if(Cp(q)&&(xe.ctx.renderer=be),ZH(xe,!1,De),xe.asyncDep){if($&&$.registerDep(xe,N,De),!q.el){const k=xe.subTree=dn(ki);y(null,k,B,le)}}else N(xe,q,B,le,$,de,De)},j=(q,B,le)=>{const ve=B.component=q.component;if(kH(q,B,le))if(ve.asyncDep&&!ve.asyncResolved){Q(ve,B,le);return}else ve.next=B,ve.update();else B.el=q.el,ve.vnode=B},N=(q,B,le,ve,$,de,De)=>{const xe=()=>{if(q.isMounted){let{next:re,bu:ce,u:fe,parent:Pe,vnode:Le}=q;{const Xe=M7(q);if(Xe){re&&(re.el=Le.el,Q(q,re,De)),Xe.asyncDep.then(()=>{q.isUnmounted||xe()});return}}let Oe=re,dt;Bc(q,!1),re?(re.el=Le.el,Q(q,re,De)):re=Le,ce&&Jh(ce),(dt=re.props&&re.props.onVnodeBeforeUpdate)&&as(dt,Pe,re,Le),Bc(q,!0);const Be=T2(q),He=q.subTree;q.subTree=Be,v(He,Be,f(He.el),Z(He),q,$,de),re.el=Be.el,Oe===null&&cA(q,Be.el),fe&&cr(fe,$),(dt=re.props&&re.props.onVnodeUpdated)&&cr(()=>as(dt,Pe,re,Le),$)}else{let re;
vendor: 19,290 bytes, line 15
15const{el:ce,props:fe}=B,{bm:Pe,m:Le,parent:Oe,root:dt,type:Be}=q,He=Gl(B);if(Bc(q,!1),Pe&&Jh(Pe),!He&&(re=fe&&fe.onVnodeBeforeMount)&&as(re,Oe,B),Bc(q,!0),ce&&rt){const Xe=()=>{q.subTree=T2(q),rt(ce,q.subTree,q,$,null)};He&&Be.__asyncHydrate?Be.__asyncHydrate(ce,q,Xe):Xe()}else{dt.ce&&dt.ce._injectChildStyle(Be);const Xe=q.subTree=T2(q);v(null,Xe,le,ve,q,$,de),B.el=Xe.el}if(Le&&cr(Le,$),!He&&(re=fe&&fe.onVnodeMounted)){const Xe=B;cr(()=>as(re,Oe,Xe),$)}(B.shapeFlag&256||Oe&&Gl(Oe.vnode)&&Oe.vnode.shapeFlag&256)&&q.a&&cr(q.a,$),q.isMounted=!0,B=le=ve=null}};q.scope.on();const k=q.effect=new T6(xe);q.scope.off();const D=q.update=k.run.bind(k),ne=q.job=k.runIfDirty.bind(k);ne.i=q,ne.id=q.uid,k.scheduler=()=>ex(ne),Bc(q,!0),D()},Q=(q,B,le)=>{B.component=q;const ve=q.vnode.props;q.vnode=B,q.next=null,CH(q,B.props,ve,le),TH(q,B.children,le),ic(),O5(q),rc()},W=(q,B,le,ve,$,de,De,xe,k=!1)=>{const D=q&&q.children,ne=q?q.shapeFlag:0,re=B.children,{patchFlag:ce,shapeFlag:fe}=B;if(ce>0){if(ce&128){H(D,re,le,ve,$,de,De,xe,k);return}else if(ce&256){ee(D,re,le,ve,$,de,De,xe,k);return}}fe&8?(ne&16&&Fe(D,$,de),re!==D&&u(le,re)):ne&16?fe&16?H(D,re,le,ve,$,de,De,xe,k):Fe(D,$,de,!0):(ne&8&&u(le,""),fe&16&&R(re,le,ve,$,de,De,xe,k))},ee=(q,B,le,ve,$,de,De,xe,k)=>{q=q||Hf,B=B||Hf;const D=q.length,ne=B.length,re=Math.min(D,ne);let ce;for(ce=0;ce<re;ce++){const fe=B[ce]=k?xl(B[ce]):Ps(B[ce]);v(q[ce],fe,le,null,$,de,De,xe,k)}D>ne?Fe(q,$,de,!0,!1,re):R(B,le,ve,$,de,De,xe,k,re)},H=(q,B,le,ve,$,de,De,xe,k)=>{let D=0;const ne=B.length;let re=q.length-1,ce=ne-1;for(;D<=re&&D<=ce;){const fe=q[D],Pe=B[D]=k?xl(B[D]):Ps(B[D]);if(yo(fe,Pe))v(fe,Pe,le,null,$,de,De,xe,k);else break;D++}for(;D<=re&&D<=ce;){const fe=q[re],Pe=B[ce]=k?xl(B[ce]):Ps(B[ce]);if(yo(fe,Pe))v(fe,Pe,le,null,$,de,De,xe,k);else break;re--,ce--}if(D>re){if(D<=ce){const fe=ce+1,Pe=fe<ne?B[fe].el:ve;for(;D<=ce;)v(null,B[D]=k?xl(B[D]):Ps(B[D]),le,Pe,$,de,De,xe,k),D++}}else if(D>ce)for(;D<=re;)Ie(q[D],$,de,!0),D++;else{const fe=D,Pe=D,Le=new Map;for(D=Pe;D<=ce;D++){const mt=B[D]=k?xl(B[D]):Ps(B[D]);mt.key!=null&&Le.set(mt.key,D)}let Oe,dt=0;const Be=ce-Pe+1;let He=!1,Xe=0;const st=new Array(Be);for(D=0;D<Be;D++)st[D]=0;for(D=fe;D<=re;D++){const mt=q[D];if(dt>=Be){Ie(mt,$,de,!0);continue}let lt;if(mt.key!=null)lt=Le.get(mt.key);else for(Oe=Pe;Oe<=ce;Oe++)if(st[Oe-Pe]===0&&yo(mt,B[Oe])){lt=Oe;break}lt===void 0?Ie(mt,$,de,!0):(st[lt-Pe]=D+1,lt>=Xe?Xe=lt:He=!0,v(mt,B[lt],le,null,$,de,De,xe,k),dt++)}const et=He?PH(st):Hf;for(Oe=et.length-1,D=Be-1;D>=0;D--){const mt=Pe+D,lt=B[mt],Rt=mt+1<ne?B[mt+1].el:ve;st[D]===0?v(null,lt,le,Rt,$,de,De,xe,k):He&&(Oe<0||D!==et[Oe]?ye(lt,le,Rt,2):Oe--)}}},ye=(q,B,le,ve,$=null)=>{const{el:de,type:De,transition:xe,children:k,shapeFlag:D}=q;if(D&6){ye(q.component.subTree,B,le,ve);return}if(D&128){q.suspense.move(B,le,ve);return}if(D&64){De.move(q,B,le,be);return}if(De===Ii){i(de,B,le);for(let re=0;re<k.length;re++)ye(k[re],B,le,ve);i(q.anchor,B,le);return}if(De===jf){b(q,B,le);return}if(ve!==2&&D&1&&xe)if(ve===0)xe.beforeEnter(de),i(de,B,le),cr(()=>xe.enter(de),$);else{const{leave:re,delayLeave:ce,afterLeave:fe}=xe,Pe=()=>i(de,B,le),Le=()=>{re(de,()=>{Pe(),fe&&fe()})};ce?ce(de,Pe,Le):Le()}else i(de,B,le)},Ie=(q,B,le,ve=!1,$=!1)=>{const{type:de,props:De,ref:xe,children:k,dynamicChildren:D,shapeFlag:ne,patchFlag:re,dirs:ce,cacheIndex:fe}=q;if(re===-2&&($=!1),xe!=null&&D0(xe,null,le,q,!0),fe!=null&&(B.renderCache[fe]=void 0),ne&256){B.ctx.deactivate(q);return}const Pe=ne&1&&ce,Le=!Gl(q);let Oe;if(Le&&(Oe=De&&De.onVnodeBeforeUnmount)&&as(Oe,B,q),ne&6)_e(q.component,le,ve);else{if(ne&128){q.suspense.unmount(le,ve);return}Pe&&Ho(q,null,B,"beforeUnmount"),ne&64?q.type.remove(q,B,le,be,ve):D&&!D.hasOnce&&(de!==Ii||re>0&&re&64)?Fe(D,B,le,!1,!0):(de===Ii&&re&384||!$&&ne&16)&&Fe(k,B,le),ve&&ze(q)}(Le&&(Oe=De&&De.onVnodeUnmounted)||Pe)&&cr(()=>{Oe&&as(Oe,B,q),Pe&&Ho(q,null,B,"unmounted")},le)},ze=q=>{const{type:B,el:le,anchor:ve,transition:$}=q;if(B===Ii){oe(le,ve);return}if(B===jf){_(q);return}const de=()=>{r(le),$&&!$.persisted&&$.afterLeave&&$.afterLeave()};if(q.shapeFlag&1&&$&&!$.persisted){const{leave:De,delayLeave:xe}=$,k=()=>De(le,de);xe?xe(q.el,de,k):k()}else de()},oe=(q,B)=>{let le;for(;q!==B;)le=h(q),r(q),q=le;r(B)},_e=(q,B,le)=>{const{bum:ve,scope:$,job:de,subTree:De,um:xe,m:k,a:D}=q;cg(k),cg(D),ve&&Jh(ve),$.stop(),de&&(de.flags|=8,Ie(De,q,B,le)),xe&&cr(xe,B),cr(()=>{q.isUnmounted=!0},B),B&&B.pendingBranch&&!B.isUnmounted&&q.asyncDep&&!q.asyncResolved&&q.suspenseId===B.pendingId&&(B.deps--,B.deps===0&&B.resolve())},Fe=(q,B,le,ve=!1,$=!1,de=0)=>{for(let De=de;De<q.length;De++)Ie(q[De],B,le,ve,$)},Z=q=>{if(q.shapeFlag&6)return Z(q.component.subTree);if(q.shapeFlag&128)return q.suspense.next();const B=h(q.anchor||q.el),le=B&&B[Kz];return le?h(le):B};let Ae=!1;const we=(q,B,le)=>{q==null?B._vnode&&Ie(B._vnode,null,null,!0):v(B._vnode||null,q,B,null,null,null,le),B._vnode=q,Ae||(Ae=!0,O5(),og(),Ae=!1)},be={p:v,um:Ie,m:ye,r:ze,mt:V,mc:R,pc:W,pbc:E,n:Z,o:n};let qe,rt;return e&&([qe,rt]=e(be)),{render:we,hydrate:qe,createApp:bH(we,qe)}}function E2({type:n,props:e},t){return t==="svg"&&n==="foreignObject"||t==="mathml"&&n==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:t}function Bc({effect:n,job:e},t){t?(n.flags|=32,e.flags|=4):(n.flags&=-33,e.flags&=-5)}function E7(n,e){return(!n||n&&!n.pendingBranch)&&e&&!e.persisted}function T7(n,e,t=!1){const i=n.children,r=e.children;if(Tt(i)&&Tt(r))for(let s=0;s<i.length;s++){const o=i[s];let a=r[s];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=r[s]=xl(r[s]),a.el=o.el),!t&&a.patchFlag!==-2&&T7(o,a)),a.type===hu&&(a.el=o.el)}}function PH(n){const e=n.slice(),t=[0];let i,r,s,o,a;const l=n.length;for(i=0;i<l;i++){const c=n[i];if(c!==0){if(r=t[t.length-1],n[r]<c){e[i]=r,t.push(i);continue}for(s=0,o=t.length-1;s<o;)a=s+o>>1,n[t[a]]<c?s=a+1:o=a;c<n[t[s]]&&(s>0&&(e[i]=t[s-1]),t[s]=i)}}for(s=t.length,o=t[s-1];s-- >0;)t[s]=o,o=e[o];return t}function M7(n){const e=n.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:M7(e)}function cg(n){if(n)for(let e=0;e<n.length;e++)n[e].flags|=8}const RH=Symbol.for("v-scx"),BH=()=>es(RH);function aA(n,e){return sx(n,null,e)}function ai(n,e,t){return sx(n,e,t)}function sx(n,e,t=Rn){const{immediate:i,deep:r,flush:s,once:o}=t,a=Ji({},t),l=e&&i||!e&&s!=="post";let c;if(hd){if(s==="sync"){const p=BH();c=p.__watcherHandles||(p.__watcherHandles=[])}else if(!l){const p=()=>{};return p.stop=bo,p.resume=bo,p.pause=bo,p}}const u=zi;a.call=(p,m,v)=>To(p,u,m,v);let f=!1;s==="post"?a.scheduler=p=>{cr(p,u&&u.suspense)}:s!=="sync"&&(f=!0,a.scheduler=(p,m)=>{m?p():ex(p)}),a.augmentJob=p=>{e&&(p.flags|=4),f&&(p.flags|=2,u&&(p.id=u.uid,p.i=u))};const h=qz(n,e,a);return hd&&(c?c.push(h):l&&h()),h}function DH(n,e,t){const i=this.proxy,r=Kn(n)?n.includes(".")?I7(i,n):()=>i[n]:n.bind(i,i);let s;Et(e)?s=e:(s=e.handler,t=e);const o=Eu(this),a=sx(r,s.bind(i),t);return o(),a}function I7(n,e){const t=e.split(".");return()=>{let i=n;for(let r=0;r<t.length&&i;r++)i=i[t[r]];return i}}const LH=(n,e)=>e==="modelValue"||e==="model-value"?n.modelModifiers:n[`${e}Modifiers`]||n[`${ro(e)}Modifiers`]||n[`${Ru(e)}Modifiers`];function OH(n,e,...t){if(n.isUnmounted)return;const i=n.vnode.props||Rn;let r=t;const s=e.startsWith("update:"),o=s&&LH(i,e.slice(7));o&&(o.trim&&(r=t.map(u=>Kn(u)?u.trim():u)),o.number&&(r=t.map(dz)));let a,l=i[a=A2(e)]||i[a=A2(ro(e))];!l&&s&&(l=i[a=A2(Ru(e))]),l&&To(l,n,6,r);const c=i[a+"Once"];if(c){if(!n.emitted)n.emitted={};else if(n.emitted[a])return;n.emitted[a]=!0,To(c,n,6,r)}}function P7(n,e,t=!1){const i=e.emitsCache,r=i.get(n);if(r!==void 0)return r;const s=n.emits;let o={},a=!1;if(!Et(n)){const l=c=>{const u=P7(c,e,!0);u&&(a=!0,Ji(o,u))};!t&&e.mixins.length&&e.mixins.forEach(l),n.extends&&l(n.extends),n.mixins&&n.mixins.forEach(l)}return!s&&!a?(zn(n)&&i.set(n,null),null):(Tt(s)?s.forEach(l=>o[l]=null):Ji(o,s),zn(n)&&i.set(n,o),o)}function lA(n,e){return!n||!yp(e)?!1:(e=e.slice(2).replace(/Once$/,""),mn(n,e[0].toLowerCase()+e.slice(1))||mn(n,Ru(e))||mn(n,e))}function T2(n){const{type:e,vnode:t,proxy:i,withProxy:r,propsOptions:[s],slots:o,attrs:a,emit:l,render:c,renderCache:u,props:f,data:h,setupState:p,ctx:m,inheritAttrs:v}=n,A=ag(n);let y,x;try{if(t.shapeFlag&4){const _=r||i,T=_;y=Ps(c.call(T,_,u,f,p,h,m)),x=a}else{const _=e;y=Ps(_.length>1?_(f,{attrs:a,slots:o,emit:l}):_(f,null)),x=e.props?a:UH(a)}}catch(_){i0.length=0,Ud(_,n,1),y=dn(ki)}let b=y;if(x&&v!==!1){const _=Object.keys(x),{shapeFlag:T}=b;_.length&&T&7&&(s&&_.some(Vb)&&(x=NH(x,s)),b=ja(b,x,!1,!0))}return t.dirs&&(b=ja(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(t.dirs):t.dirs),t.transition&&fd(b,t.transition),y=b,ag(A),y}function FH(n,e=!0){let t;for(let i=0;i<n.length;i++){const r=n[i];if(Su(r)){if(r.type!==ki||r.children==="v-if"){if(t)return;t=r}}else return}return t}const UH=n=>{let e;for(const t in n)(t==="class"||t==="style"||yp(t))&&((e||(e={}))[t]=n[t]);return e},NH=(n,e)=>{const t={};for(const i in n)(!Vb(i)||!(i.slice(9)in e))&&(t[i]=n[i]);return t};function kH(n,e,t){const{props:i,children:r,component:s}=n,{props:o,children:a,patchFlag:l}=e,c=s.emitsOptions;if(e.dirs||e.transition)return!0;if(t&&l>=0){if(l&1024)return!0;if(l&16)return i?X5(i,o,c):!!o;if(l&8){const u=e.dynamicProps;for(let f=0;f<u.length;f++){const h=u[f];if(o[h]!==i[h]&&!lA(c,h))return!0}}}else return(r||a)&&(!a||!a.$stable)?!0:i===o?!1:i?o?X5(i,o,c):!0:!!o;return!1}function X5(n,e,t){const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!0;for(let r=0;r<i.length;r++){const s=i[r];if(e[s]!==n[s]&&!lA(t,s))return!0}return!1}function cA({vnode:n,parent:e},t){for(;e;){const i=e.subTree;if(i.suspense&&i.suspense.activeBranch===n&&(i.el=n.el),i===n)(n=e.vnode).el=t,e=e.parent;else break}}const ug=n=>n.__isSuspense;let qy=0;const zH={name:"Suspense",__isSuspense:!0,process(n,e,t,i,r,s,o,a,l,c){if(n==null)HH(e,t,i,r,s,o,a,l,c);else{if(s&&s.deps>0&&!n.suspense.isInFallback){e.suspense=n.suspense,e.suspense.vnode=e,e.el=n.el;return}VH(n,e,t,i,r,o,a,l,c)}},hydrate:GH,normalize:QH},R7=zH;function L0(n,e){const t=n.props&&n.props[e];Et(t)&&t()}function HH(n,e,t,i,r,s,o,a,l){const{p:c,o:{createElement:u}}=l,f=u("div"),h=n.suspense=B7(n,r,i,e,f,t,s,o,a,l);c(null,h.pendingBranch=n.ssContent,f,null,i,h,s,o),h.deps>0?(L0(n,"onPending"),L0(n,"onFallback"),c(null,n.ssFallback,e,t,i,null,s,o),Wf(h,n.ssFallback)):h.resolve(!1,!0)}function VH(n,e,t,i,r,s,o,a,{p:l,um:c,o:{createElement:u}}){const f=e.suspense=n.suspense;f.vnode=e,e.el=n.el;const h=e.ssContent,p=e.ssFallback,{activeBranch:m,pendingBranch:v,isInFallback:A,isHydrating:y}=f;if(v)f.pendingBranch=h,yo(h,v)?(l(v,h,f.hiddenContainer,null,r,f,s,o,a),f.deps<=0?f.resolve():A&&(y||(l(m,p,t,i,r,null,s,o,a),Wf(f,p)))):(f.pendingId=qy++,y?(f.isHydrating=!1,f.activeBranch=v):c(v,r,f),f.deps=0,f.effects.length=0,f.hiddenContainer=u("div"),A?(l(null,h,f.hiddenContainer,null,r,f,s,o,a),f.deps<=0?f.resolve():(l(m,p,t,i,r,null,s,o,a),Wf(f,p))):m&&yo(h,m)?(l(m,h,t,i,r,f,s,o,a),f.resolve(!0)):(l(null,h,f.hiddenContainer,null,r,f,s,o,a),f.deps<=0&&f.resolve()));else if(m&&yo(h,m))l(m,h,t,i,r,f,s,o,a),Wf(f,h);else if(L0(e,"onPending"),f.pendingBranch=h,h.shapeFlag&512?f.pendingId=h.component.suspenseId:f.pendingId=qy++,l(null,h,f.hiddenContainer,null,r,f,s,o,a),f.deps<=0)f.resolve();else{const{timeout:x,pendingId:b}=f;x>0?setTimeout(()=>{f.pendingId===b&&f.fallback(p)},x):x===0&&f.fallback(p)}}function B7(n,e,t,i,r,s,o,a,l,c,u=!1){const{p:f,m:h,um:p,n:m,o:{parentNode:v,remove:A}}=c;let y;const x=WH(n);x&&e&&e.pendingBranch&&(y=e.pendingId,e.deps++);const b=n.props?x6(n.props.timeout):void 0,_=s,T={vnode:n,parent:e,parentComponent:t,namespace:o,container:i,hiddenContainer:r,deps:0,pendingId:qy++,timeout:typeof b=="number"?b:-1,activeBranch:null,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:!1,effects:[],resolve(M=!1,I=!1){const{vnode:R,activeBranch:w,pendingBranch:E,pendingId:F,effects:L,parentComponent:z,container:V}=T;let j=!1;T.isHydrating?T.isHydrating=!1:M||(j=w&&E.transition&&E.transition.mode==="out-in",j&&(w.transition.afterLeave=()=>{F===T.pendingId&&(h(E,V,s===_?m(w):s,0),sg(L))}),w&&(v(w.el)===V&&(s=m(w)),p(w,z,T,!0)),j||h(E,V,s,0)),Wf(T,E),T.pendingBranch=null,T.isInFallback=!1;let N=T.parent,Q=!1;for(;N;){if(N.pendingBranch){N.effects.push(...L),Q=!0;break}N=N.parent}!Q&&!j&&sg(L),T.effects=[],x&&e&&e.pendingBranch&&y===e.pendingId&&(e.deps--,e.deps===0&&!I&&e.resolve()),L0(R,"onResolve")},fallback(M){if(!T.pendingBranch)return;const{vnode:I,activeBranch:R,parentComponent:w,container:E,namespace:F}=T;L0(I,"onFallback");const L=m(R),z=()=>{T.isInFallback&&(f(null,M,E,L,w,null,F,a,l),Wf(T,M))},V=M.transition&&M.transition.mode==="out-in";V&&(R.transition.afterLeave=z),T.isInFallback=!0,p(R,w,null,!0),V||z()},move(M,I,R){T.activeBranch&&h(T.activeBranch,M,I,R),T.container=M},next(){return T.activeBranch&&m(T.activeBranch)},registerDep(M,I,R){const w=!!T.pendingBranch;w&&T.deps++;const E=M.vnode.el;M.asyncDep.catch(F=>{Ud(F,M,0)}).then(F=>{if(M.isUnmounted||T.isUnmounted||T.pendingId!==M.suspenseId)return;M.asyncResolved=!0;const{vnode:L}=M;$y(M,F),E&&(L.el=E);const z=!E&&M.subTree.el;I(M,L,v(E||M.subTree.el),E?null:m(M.subTree),T,o,R),z&&A(z),cA(M,L.el),w&&--T.deps===0&&T.resolve()})},unmount(M,I){T.isUnmounted=!0,T.activeBranch&&p(T.activeBranch,t,M,I),T.pendingBranch&&p(T.pendingBranch,t,M,I)}};return T}function GH(n,e,t,i,r,s,o,a,l){const c=e.suspense=B7(e,i,t,n.parentNode,document.createElement("div"),null,r,s,o,a,!0),u=l(n,c.pendingBranch=e.ssContent,t,c,s,o);return c.deps===0&&c.resolve(!1,!0),u}function QH(n){const{shapeFlag:e,children:t}=n,i=e&32;n.ssContent=Y5(i?t.default:t),n.ssFallback=i?Y5(t.fallback):dn(ki)}function Y5(n){let e;if(Et(n)){const t=dd&&n._c;t&&(n._d=!1,di()),n=n(),t&&(n._d=!0,e=fs,L7())}return Tt(n)&&(n=FH(n)),n=Ps(n),e&&!n.dynamicChildren&&(n.dynamicChildren=e.filter(t=>t!==n)),n}function D7(n,e){e&&e.pendingBranch?Tt(n)?e.effects.push(...n):e.effects.push(n):sg(n)}function Wf(n,e){n.activeBranch=e;const{vnode:t,parentComponent:i}=n;let r=e.el;for(;!r&&e.component;)e=e.component.subTree,r=e.el;t.el=r,i&&i.subTree===t&&(i.vnode.el=r,cA(i,r))}function WH(n){const e=n.props&&n.props.suspensible;return e!=null&&e!==!1}const Ii=Symbol.for("v-fgt"),hu=Symbol.for("v-txt"),ki=Symbol.for("v-cmt"),jf=Symbol.for("v-stc"),i0=[];let fs=null;function di(n=!1){i0.push(fs=n?null:[])}function L7(){i0.pop(),fs=i0[i0.length-1]||null}let dd=1;function $5(n,e=!1){dd+=n,n<0&&fs&&e&&(fs.hasOnce=!0)}function O7(n){return n.dynamicChildren=dd>0?fs||Hf:null,L7(),dd>0&&fs&&fs.push(n),n}function Na(n,e,t,i,r,s){return O7(ei(n,e,t,i,r,s,!0))}function Ks(n,e,t,i,r){return O7(dn(n,e,t,i,r,!0))}function Su(n){return n?n.__v_isVNode===!0:!1}function yo(n,e){return n.type===e.type&&n.key===e.key}const F7=({key:n})=>n??null,O1=({ref:n,ref_key:e,ref_for:t})=>(typeof n=="number"&&(n=""+n),n!=null?Kn(n)||Vi(n)||Et(n)?{i:Hi,r:n,k:e,f:!!t}:n:null);function ei(n,e=null,t=null,i=0,r=null,s=n===Ii?0:1,o=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:n,props:e,key:e&&F7(e),ref:e&&O1(e),scopeId:q6,slotScopeIds:null,children:t,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:i,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Hi};return a?(ax(l,t),s&128&&n.normalize(l)):t&&(l.shapeFlag|=Kn(t)?8:16),dd>0&&!o&&fs&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&fs.push(l),l}const dn=jH;function jH(n,e=null,t=null,i=0,r=null,s=!1){if((!n||n===a7)&&(n=ki),Su(n)){const a=ja(n,e,!0);return t&&ax(a,t),dd>0&&!s&&fs&&(a.shapeFlag&6?fs[fs.indexOf(n)]=a:fs.push(a)),a.patchFlag=-2,a}if(tV(n)&&(n=n.__vccOpts),e){e=U7(e);let{class:a,style:l}=e;a&&!Kn(a)&&(e.class=bp(a)),zn(l)&&(Zb(l)&&!Tt(l)&&(l=Ji({},l)),e.style=iA(l))}const o=Kn(n)?1:ug(n)?128:X6(n)?64:zn(n)?4:Et(n)?2:0;return ei(n,e,t,i,r,o,s,!0)}function U7(n){return n?Zb(n)||v7(n)?Ji({},n):n:null}function ja(n,e,t=!1,i=!1){const{props:r,ref:s,patchFlag:o,children:a,transition:l}=n,c=e?XH(r||{},e):r,u={__v_isVNode:!0,__v_skip:!0,type:n.type,props:c,key:c&&F7(c),ref:e&&e.ref?t&&s?Tt(s)?s.concat(O1(e)):[s,O1(e)]:O1(e):s,scopeId:n.scopeId,slotScopeIds:n.slotScopeIds,children:a,target:n.target,targetStart:n.targetStart,targetAnchor:n.targetAnchor,staticCount:n.staticCount,shapeFlag:n.shapeFlag,patchFlag:e&&n.type!==Ii?o===-1?16:o|16:o,dynamicProps:n.dynamicProps,dynamicChildren:n.dynamicChildren,appContext:n.appContext,dirs:n.dirs,transition:l,component:n.component,suspense:n.suspense,ssContent:n.ssContent&&ja(n.ssContent),ssFallback:n.ssFallback&&ja(n.ssFallback),el:n.el,anchor:n.anchor,ctx:n.ctx,ce:n.ce};return l&&i&&fd(u,l.clone(u)),u}function ox(n=" ",e=0){return dn(hu,null,n,e)}function qH(n,e){const t=dn(jf,null,n);return t.staticCount=e,t}function ffe(n="",e=!1){return e?(di(),Ks(ki,null,n)):dn(ki,null,n)}function Ps(n){return n==null||typeof n=="boolean"?dn(ki):Tt(n)?dn(Ii,null,n.slice()):Su(n)?xl(n):dn(hu,null,String(n))}function xl(n){return n.el===null&&n.patchFlag!==-1||n.memo?n:ja(n)}function ax(n,e){let t=0;const{shapeFlag:i}=n;if(e==null)e=null;else if(Tt(e))t=16;else if(typeof e=="object")if(i&65){const r=e.default;r&&(r._c&&(r._d=!1),ax(n,r()),r._c&&(r._d=!0));return}else{t=32;const r=e._;!r&&!v7(e)?e._ctx=Hi:r===3&&Hi&&(Hi.slots._===1?e._=1:(e._=2,n.patchFlag|=1024))}else Et(e)?(e={default:e,_ctx:Hi},t=32):(e=String(e),i&64?(t=16,e=[ox(e)]):t=8);n.children=e,n.shapeFlag|=t}function XH(...n){const e={};for(let t=0;t<n.length;t++){const i=n[t];for(const r in i)if(r==="class")e.class!==i.class&&(e.class=bp([e.class,i.class]));else if(r==="style")e.style=iA([e.style,i.style]);else if(yp(r)){const s=e[r],o=i[r];o&&s!==o&&!(Tt(s)&&s.includes(o))&&(e[r]=s?[].concat(s,o):o)}else r!==""&&(e[r]=i[r])}return e}function as(n,e,t,i=null){To(n,e,7,[t,i])}const YH=p7();let $H=0;function KH(n,e,t){const i=n.type,r=(e?e.appContext:n.appContext)||YH,s={uid:$H++,vnode:n,type:i,parent:e,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new E6(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:e?e.provides:Object.create(r.provides),ids:e?e.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:_7(i,r),emitsOptions:P7(i,r),emit:null,emitted:null,propsDefaults:Rn,inheritAttrs:i.inheritAttrs,ctx:Rn,data:Rn,props:Rn,attrs:Rn,slots:Rn,refs:Rn,setupState:Rn,setupContext:null,suspense:t,suspenseId:t?t.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return s.ctx={_:s},s.root=e?e.root:s,s.emit=OH.bind(null,s),n.ce&&n.ce(s),s}let zi=null;const Do=()=>zi||Hi;let fg,Xy;{const n=nA(),e=(t,i)=>{let r;return(r=n[t])||(r=n[t]=[]),r.push(i),s=>{r.length>1?r.forEach(o=>o(s)):r[0](s)}};fg=e("__VUE_INSTANCE_SETTERS__",t=>zi=t),Xy=e("__VUE_SSR_SETTERS__",t=>hd=t)}const Eu=n=>{const e=zi;return fg(n),n.scope.on(),()=>{n.scope.off(),fg(e)}},Yy=()=>{zi&&zi.scope.off(),fg(null)};function N7(n){return n.vnode.shapeFlag&4}let hd=!1;function ZH(n,e=!1,t=!1){e&&Xy(e);const{props:i,children:r}
vendor: 1,479 bytes, lines 15-18
15=n.vnode,s=N7(n);xH(n,i,s,e),EH(n,r,t);const o=s?JH(n,e):void 0;return e&&Xy(!1),o}function JH(n,e){const t=n.type;n.accessCache=Object.create(null),n.proxy=new Proxy(n.ctx,hH);const{setup:i}=t;if(i){ic();const r=n.setupContext=i.length>1?z7(n):null,s=Eu(n),o=xp(i,n,0,[n.props,r]),a=Qb(o);if(rc(),s(),(a||n.sp)&&!Gl(n)&&tx(n),a){if(o.then(Yy,Yy),e)return o.then(l=>{$y(n,l)}).catch(l=>{Ud(l,n,0)});n.asyncDep=o}else $y(n,o)}else k7(n)}function $y(n,e,t){Et(e)?n.type.__ssrInlineRender?n.ssrRender=e:n.render=e:zn(e)&&(n.setupState=G6(e)),k7(n)}function k7(n,e,t){const i=n.type;n.render||(n.render=i.render||bo);{const r=Eu(n);ic();try{mH(n)}finally{rc(),r()}}}const eV={get(n,e){return Cr(n,"get",""),n[e]}};function z7(n){const e=t=>{n.exposed=t||{}};return{attrs:new Proxy(n.attrs,eV),slots:n.slots,emit:n.emit,expose:e}}function uA(n){return n.exposed?n.exposeProxy||(n.exposeProxy=new Proxy(G6(si(n.exposed)),{get(e,t){if(t in e)return e[t];if(t in n0)return n0[t](n)},has(e,t){return t in e||t in n0}})):n.proxy}function Ky(n,e=!0){return Et(n)?n.displayName||n.name:n.name||e&&n.__name}function tV(n){return Et(n)&&"__vccOpts"in n}const ii=(n,e)=>jz(n,e,hd);function Mr(n,e,t){const i=arguments.length;return i===2?zn(e)&&!Tt(e)?Su(e)?dn(n,null,[e]):dn(n,e):dn(n,null,e):(i>3?t=Array.prototype.slice.call(arguments,2):i===3&&Su(t)&&(t=[t]),dn(n,e,t))}const H7="3.5.13";/**
16* @vue/runtime-dom v3.5.13
17* (c) 2018-present Yuxi (Evan) You and Vue contributors
18* @license MIT
19**/let Zy;const K5=typeof window<"u"&&window.trustedTypes;if(K5)try{Zy=K5.createPolicy("vue",{createHTML:n=>n})}catch{}const V7=Zy?n=>Zy.createHTML(n):n=>n,nV="http://www.w3.org/2000/svg",iV="http://www.w3.org/1998/Math/MathML",wa=typeof document<"u"?document:null,Z5=wa&&wa.createElement("template"),rV={insert:(n,e,t)=>{e.insertBefore(n,t||null)},remove:n=>{const e=n.parentNode;e&&e.removeChild(n)},createElement:(n,e,t,i)=>{const r=e==="svg"?wa.createElementNS(nV,n):e==="mathml"?wa.createElementNS(iV,n):t?wa.createElement(n,{is:t}):wa.createElement(n);return n==="select"&&i&&i.multiple!=null&&r.setAttribute("multiple",i.multiple),r},createText:n=>wa.createTextNode(n),createComment:n=>wa.createComment(n),setText:(n,e)=>{n.nodeValue=e},setElementText:(n,e)=>{n.textContent=e},parentNode:n=>n.parentNode,nextSibling:n=>n.nextSibling,querySelector:n=>wa.querySelector(n),setScopeId(n,e){n.setAttribute(e,"")},insertStaticContent(n,e,t,i,r,s){const o=t?t.previousSibling:e.lastChild;if(r&&(r===s||r.nextSibling))for(;e.insertBefore(r.cloneNode(!0),t),!(r===s||!(r=r.nextSibling)););else{Z5.innerHTML=V7(i==="svg"?`<svg>${n}</svg>`:i==="mathml"?`<math>${n}</math>`:n);const a=Z5.content;if(i==="svg"||i==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}e.insertBefore(a,t)}return[o?o.nextSibling:e.firstChild,t?t.previousSibling:e.lastChild]}},al="transition",hh="animation",O0=Symbol("_vtc"),G7={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},sV=Ji({},Y6,G7),oV=n=>(n.displayName="Transition",n.props=sV,n),aV=oV((n,{slots:e})=>Mr(eH,lV(n),e)),Dc=(n,e=[])=>{Tt(n)?n.forEach(t=>t(...e)):n&&n(...e)},J5=n=>n?Tt(n)?n.some(e=>e.length>1):n.length>1:!1;function lV(n){const e={};for(const L in n)L in G7||(e[L]=n[L]);if(n.css===!1)return e;const{name:t="v",type:i,duration:r,enterFromClass:s=`${t}-enter-from`,enterActiveClass:o=`${t}-enter-active`,enterToClass:a=`${t}-enter-to`,appearFromClass:l=s,appearActiveClass:c=o,appearToClass:u=a,leaveFromClass:f=`${t}-leave-from`,leaveActiveClass:h=`${t}-leave-active`,leaveToClass:p=`${t}-leave-to`}=n,m=cV(r),v=m&&m[0],A=m&&m[1],{onBeforeEnter:y,onEnter:x,onEnterCancelled:b,onLeave:_,onLeaveCancelled:T,onBeforeAppear:M=y,onAppear:I=x,onAppearCancelled:R=b}=e,w=(L,z,V,j)=>{L._enterCancelled=j,Lc(L,z?u:a),Lc(L,z?c:o),V&&V()},E=(L,z)=>{L._isLeaving=!1,Lc(L,f),Lc(L,p),Lc(L,h),z&&z()},F=L=>(z,V)=>{const j=L?I:x,N=()=>w(z,L,V);Dc(j,[z,N]),eC(()=>{Lc(z,L?l:s),ma(z,L?u:a),J5(j)||tC(z,i,v,N)})};return Ji(e,{onBeforeEnter(L){Dc(y,[L]),ma(L,s),ma(L,o)},onBeforeAppear(L){Dc(M,[L]),ma(L,l),ma(L,c)},onEnter:F(!1),onAppear:F(!0),onLeave(L,z){L._isLeaving=!0;const V=()=>E(L,z);ma(L,f),L._enterCancelled?(ma(L,h),rC()):(rC(),ma(L,h)),eC(()=>{L._isLeaving&&(Lc(L,f),ma(L,p),J5(_)||tC(L,i,A,V))}),Dc(_,[L,V])},onEnterCancelled(L){w(L,!1,void 0,!0),Dc(b,[L])},onAppearCancelled(L){w(L,!0,void 0,!0),Dc(R,[L])},onLeaveCancelled(L){E(L),Dc(T,[L])}})}function cV(n){if(n==null)return null;if(zn(n))return[M2(n.enter),M2(n.leave)];{const e=M2(n);return[e,e]}}function M2(n){return x6(n)}function ma(n,e){e.split(/\s+/).forEach(t=>t&&n.classList.add(t)),(n[O0]||(n[O0]=new Set)).add(e)}function Lc(n,e){e.split(/\s+/).forEach(i=>i&&n.classList.remove(i));const t=n[O0];t&&(t.delete(e),t.size||(n[O0]=void 0))}function eC(n){requestAnimationFrame(()=>{requestAnimationFrame(n)})}let uV=0;function tC(n,e,t,i){const r=n._endId=++uV,s=()=>{r===n._endId&&i()};if(t!=null)return setTimeout(s,t);const{type:o,timeout:a,propCount:l}=fV(n,e);if(!o)return i();const c=o+"end";let u=0;const f=()=>{n.removeEventListener(c,h),s()},h=p=>{p.target===n&&++u>=l&&f()};setTimeout(()=>{u<l&&f()},a+1),n.addEventListener(c,h)}function fV(n,e){const t=window.getComputedStyle(n),i=m=>(t[m]||"").split(", "),r=i(`${al}Delay`),s=i(`${al}Duration`),o=nC(r,s),a=i(`${hh}Delay`),l=i(`${hh}Duration`),c=nC(a,l);let u=null,f=0,h=0;e===al?o>0&&(u=al,f=o,h=s.length):e===hh?c>0&&(u=hh,f=c,h=l.length):(f=Math.max(o,c),u=f>0?o>c?al:hh:null,h=u?u===al?s.length:l.length:0);const p=u===al&&/\b(transform|all)(,|$)/.test(i(`${al}Property`).toString());return{type:u,timeout:f,propCount:h,hasTransform:p}}function nC(n,e){for(;n.length<e.length;)n=n.concat(n);return Math.max(...e.map((t,i)=>iC(t)+iC(n[i])))}function iC(n){return n==="auto"?0:Number(n.slice(0,-1).replace(",","."))*1e3}function rC(){return document.body.offsetHeight}function dV(n,e,t){const i=n[O0];i&&(e=(e?[e,...i]:[...i]).join(" ")),e==null?n.removeAttribute("class"):t?n.setAttribute("class",e):n.className=e}const dg=Symbol("_vod"),Q7=Symbol("_vsh"),hV={beforeMount(n,{value:e},{transition:t}){n[dg]=n.style.display==="none"?"":n.style.display,t&&e?t.beforeEnter(n):ph(n,e)},mounted(n,{value:e},{transition:t}){t&&e&&t.enter(n)},updated(n,{value:e,oldValue:t},{transition:i}){!e!=!t&&(i?e?(i.beforeEnter(n),ph(n,!0),i.enter(n)):i.leave(n,()=>{ph(n,!1)}):ph(n,e))},beforeUnmount(n,{value:e}){ph(n,e)}};function ph(n,e){n.style.display=e?n[dg]:"none",n[Q7]=!e}const W7=Symbol("");function dfe(n){const e=Do();if(!e)return;const t=e.ut=(r=n(e.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${e.uid}
19"]`)).forEach(s=>hg(s,r))},i=()=>{const r=n(e.proxy);e.ce?hg(e.ce,r):Jy(e.subTree,r),t(r)};i7(()=>{sg(i)}),zs(()=>{ai(i,bo,{flush:"post"});const r=new MutationObserver(i);r.observe(e.subTree.el.parentNode,{childList:!0}),tl(()=>r.disconnect())})}function Jy(n,e){if(n.shapeFlag&128){const t=n.suspense;n=t.activeBranch,t.pendingBranch&&!t.isHydrating&&t.effects.push(()=>{Jy(t.activeBranch,e)})}for(;n.component;)n=n.component.subTree;if(n.shapeFlag&1&&n.el)hg(n.el,e);else if(n.type===Ii)n.children.forEach(t=>Jy(t,e));else if(n.type===jf){let{el:t,anchor:i}=n;for(;t&&(hg(t,e),t!==i);)t=t.nextSibling}}function hg(n,e){if(n.nodeType===1){const t=n.style;let i="";for(const r in e)t.setProperty(`--${r}`,e[r]),i+=`--${r}: ${e[r]};`;t[W7]=i}}const pV=/(^|;)\s*display\s*:/;function mV(n,e,t){const i=n.style,r=Kn(t);let s=!1;if(t&&!r){if(e)if(Kn(e))for(const o of e.split(";")){const a=o.slice(0,o.indexOf(":")).trim();t[a]==null&&F1(i,a,"")}else for(const o in e)t[o]==null&&F1(i,o,"");for(const o in t)o==="display"&&(s=!0),F1(i,o,t[o])}else if(r){if(e!==t){const o=i[W7];o&&(t+=";"+o),i.cssText=t,s=pV.test(t)}}else e&&n.removeAttribute("style");dg in n&&(n[dg]=s?i.display:"",n[Q7]&&(i.display="none"))}const sC=/\s*!important$/;function F1(n,e,t){if(Tt(t))t.forEach(i=>F1(n,e,i));else if(t==null&&(t=""),e.startsWith("--"))n.setProperty(e,t);else{const i=gV(n,e);sC.test(t)?n.setProperty(Ru(i),t.replace(sC,""),"important"):n[i]=t}}const oC=["Webkit","Moz","ms"],I2={};function gV(n,e){const t=I2[e];if(t)return t;let i=ro(e);if(i!=="filter"&&i in n)return I2[e]=i;i=tA(i);for(let r=0;r<oC.length;r++){const s=oC[r]+i;if(s in n)return I2[e]=s}return e}const aC="http://www.w3.org/1999/xlink";function lC(n,e,t,i,r,s=yz(e)){i&&e.startsWith("xlink:")?t==null?n.removeAttributeNS(aC,e.slice(6,e.length)):n.setAttributeNS(aC,e,t):t==null||s&&!C6(t)?n.removeAttribute(e):n.setAttribute(e,s?"":Za(t)?String(t):t)}function cC(n,e,t,i,r){if(e==="innerHTML"||e==="textContent"){t!=null&&(n[e]=e==="innerHTML"?V7(t):t);return}const s=n.tagName;if(e==="value"&&s!=="PROGRESS"&&!s.includes("-")){const a=s==="OPTION"?n.getAttribute("value")||"":n.value,l=t==null?n.type==="checkbox"?"on":"":String(t);(a!==l||!("_value"in n))&&(n.value=l),t==null&&n.removeAttribute(e),n._value=t;return}let o=!1;if(t===""||t==null){const a=typeof n[e];a==="boolean"?t=C6(t):t==null&&a==="string"?(t="",o=!0):a==="number"&&(t=0,o=!0)}try{n[e]=t}catch{}o&&n.removeAttribute(r||e)}function AV(n,e,t,i){n.addEventListener(e,t,i)}function vV(n,e,t,i){n.removeEventListener(e,t,i)}const uC=Symbol("_vei");function yV(n,e,t,i,r=null){const s=n[uC]||(n[uC]={}),o=s[e];if(i&&o)o.value=i;else{const[a,l]=_V(e);if(i){const c=s[e]=CV(i,r);AV(n,a,c,l)}else o&&(vV(n,a,o,l),s[e]=void 0)}}const fC=/(?:Once|Passive|Capture)$/;function _V(n){let e;if(fC.test(n)){e={};let i;for(;i=n.match(fC);)n=n.slice(0,n.length-i[0].length),e[i[0].toLowerCase()]=!0}return[n[2]===":"?n.slice(3):Ru(n.slice(2)),e]}let P2=0;const bV=Promise.resolve(),xV=()=>P2||(bV.then(()=>P2=0),P2=Date.now());function CV(n,e){const t=i=>{if(!i._vts)i._vts=Date.now();else if(i._vts<=t.attached)return;To(wV(i,t.value),e,5,[i])};return t.value=n,t.attached=xV(),t}function wV(n,e){if(Tt(e)){const t=n.stopImmediatePropagation;return n.stopImmediatePropagation=()=>{t.call(n),n._stopped=!0},e.map(i=>r=>!r._stopped&&i&&i(r))}else return e}const dC=n=>n.charCodeAt(0)===111&&n.charCodeAt(1)===110&&n.charCodeAt(2)>96&&n.charCodeAt(2)<123,SV=(n,e,t,i,r,s)=>{const o=r==="svg";e==="class"?dV(n,i,o):e==="style"?mV(n,t,i):yp(e)?Vb(e)||yV(n,e,t,i,s):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):EV(n,e,i,o))?(cC(n,e,i),!n.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&lC(n,e,i,o,s,e!=="value")):n._isVueCE&&(/[A-Z]/.test(e)||!Kn(i))?cC(n,ro(e),i,s,e):(e==="true-value"?n._trueValue=i:e==="false-value"&&(n._falseValue=i),lC(n,e,i,o))};function EV(n,e,t,i){if(i)return!!(e==="innerHTML"||e==="textContent"||e in n&&dC(e)&&Et(t));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&n.tagName==="INPUT"||e==="type"&&n.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const r=n.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return dC(e)&&Kn(t)?!1:e in n}const j7=Ji({patchProp:SV},rV);let r0,hC=!1;function TV(){return r0||(r0=MH(j7))}function MV(){return r0=hC?r0:IH(j7),hC=!0,r0}const IV=(...n)=>{const e=TV().createApp(...n),{mount:t}=e;return e.mount=i=>{const r=X7(i);if(!r)return;const s=e._component;!Et(s)&&!s.render&&!s.template&&(s.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=t(r,!1,q7(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},e},PV=(...n)=>{const e=MV().createApp(...n),{mount:t}=e;return e.mount=i=>{const r=X7(i);if(r)return t(r,!0,q7(r))},e};function q7(n){if(n instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&n instanceof MathMLElement)return"mathml"}function X7(n){return Kn(n)?document.querySelector(n):n}const RV=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,BV=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,DV=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function LV(n,e){if(n==="__proto__"||n==="constructor"&&e&&typeof e=="object"&&"prototype"in e){OV(n);return}return e}function OV(n){console.warn(`[destr] Dropping "${n}" key to prevent prototype pollution.`)}function pg(n,e={}
19){if(typeof n!="string")return n;const t=n.trim();if(n[0]==='"'&&n.endsWith('"')&&!n.includes("\\"))return t.slice(1,-1);if(t.length<=9){const i=t.toLowerCase();if(i==="true")return!0;if(i==="false")return!1;if(i==="undefined")return;if(i==="null")return null;if(i==="nan")return Number.NaN;if(i==="infinity")return Number.POSITIVE_INFINITY;if(i==="-infinity")return Number.NEGATIVE_INFINITY}if(!DV.test(n)){if(e.strict)throw new SyntaxError("[destr] Invalid JSON");return n}try{if(RV.test(n)||BV.test(n)){if(e.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(n,LV)}return JSON.parse(n)}catch(i){if(e.strict)throw i;return n}}const FV=/#/g,UV=/&/g,NV=/\//g,kV=/=/g,lx=/\+/g,zV=/%5e/gi,HV=/%60/gi,VV=/%7c/gi,GV=/%20/gi;function QV(n){return encodeURI(""+n).replace(VV,"|")}function e_(n){return QV(typeof n=="string"?n:JSON.stringify(n)).replace(lx,"%2B").replace(GV,"+").replace(FV,"%23").replace(UV,"%26").replace(HV,"`").replace(zV,"^").replace(NV,"%2F")}function R2(n){return e_(n).replace(kV,"%3D")}function mg(n=""){try{return decodeURIComponent(""+n)}catch{return""+n}}function WV(n){return mg(n.replace(lx," "))}function jV(n){return mg(n.replace(lx," "))}function Y7(n=""){const e={};n[0]==="?"&&(n=n.slice(1));for(const t of n.split("&")){const i=t.match(/([^=]+)=?(.*)/)||[];if(i.length<2)continue;const r=WV(i[1]);if(r==="__proto__"||r==="constructor")continue;const s=jV(i[2]||"");e[r]===void 0?e[r]=s:Array.isArray(e[r])?e[r].push(s):e[r]=[e[r],s]}return e}function qV(n,e){return(typeof e=="number"||typeof e=="boolean")&&(e=String(e)),e?Array.isArray(e)?e.map(t=>`${R2(n)}=${e_(t)}`).join("&"):`${R2(n)}=${e_(e)}`:R2(n)}function XV(n){return Object.keys(n).filter(e=>n[e]!==void 0).map(e=>qV(e,n[e])).filter(Boolean).join("&")}const YV=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,$7=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,$V=/^([/\\]\s*){2,}[^/\\]/,KV=/^[\s\0]*(blob|data|javascript|vbscript):$/i,ZV=/\/$|\/\?|\/#/,JV=/^\.?\//;function ta(n,e={}){return typeof e=="boolean"&&(e={acceptRelative:e}),e.strict?YV.test(n):$7.test(n)||(e.acceptRelative?$V.test(n):!1)}function eG(n){return!!n&&KV.test(n)}function t_(n="",e){return e?ZV.test(n):n.endsWith("/")}function fA(n="",e){if(!e)return(t_(n)?n.slice(0,-1):n)||"/";if(!t_(n,!0))return n||"/";let t=n,i="";const r=n.indexOf("#");r>=0&&(t=n.slice(0,r),i=n.slice(r));const[s,...o]=t.split("?");return((s.endsWith("/")?s.slice(0,-1):s)||"/")+(o.length>0?`?${o.join("?")}`:"")+i}function gg(n="",e){if(!e)return n.endsWith("/")?n:n+"/";if(t_(n,!0))return n||"/";let t=n,i="";const r=n.indexOf("#");if(r>=0&&(t=n.slice(0,r),i=n.slice(r),!t))return i;const[s,...o]=t.split("?");return s+"/"+(o.length>0?`?${o.join("?")}`:"")+i}function tG(n=""){return n.startsWith("/")}function pC(n=""){return tG(n)?n:"/"+n}function nG(n,e){if(Z7(e)||ta(n))return n;const t=fA(e);return n.startsWith(t)?n:dA(t,n)}function mC(n,e){if(Z7(e))return n;const t=fA(e);if(!n.startsWith(t))return n;const i=n.slice(t.length);return i[0]==="/"?i:"/"+i}function K7(n,e){const t=aG(n),i={...Y7(t.search),...e};return t.search=XV(i),lG(t)}function Z7(n){return!n||n==="/"}function iG(n){return n&&n!=="/"}function dA(n,...e){let t=n||"";for(const i of e.filter(r=>iG(r)))if(t){const r=i.replace(JV,"");t=gg(t)+r}else t=i;return t}function J7(...n){var o,a,l,c;const e=/\/(?!\/)/,t=n.filter(Boolean),i=[];let r=0;for(const u of t)if(!(!u||u==="/")){for(const[f,h]of u.split(e).entries())if(!(!h||h===".")){if(h===".."){if(i.length===1&&ta(i[0]))continue;i.pop(),r--;continue}if(f===1&&((o=i[i.length-1])!=null&&o.endsWith(":/"))){i[i.length-1]+="/"+h;continue}i.push(h),r++}}let s=i.join("/");return r>=0?(a=t[0])!=null&&a.startsWith("/")&&!s.startsWith("/")?s="/"+s:(l=t[0])!=null&&l.startsWith("./")&&!s.startsWith("./")&&(s="./"+s):s="../".repeat(-1*r)+s,(c=t[t.length-1])!=null&&c.endsWith("/")&&!s.endsWith("/")&&(s+="/"),s}function rG(n){return sG(n,"https://")}function sG(n,e){let t=n.match($7);return t||(t=n.match(/^\/{2,}/)),t?e+n.slice(t[0].length):e+n}function oG(n,e,t={}){return t.trailingSlash||(n=gg(n),e=gg(e)),t.leadingSlash||(n=pC(n),e=pC(e)),t.encoding||(n=mg(n),e=mg(e)),n===e}const eT=Symbol.for("ufo:protocolRelative");function aG(n="",e){const t=n.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(t){const[,f,h=""]=t;return{protocol:f.toLowerCase(),pathname:h,href:f+h,auth:"",host:"",search:"",hash:""}}if(!ta(n,{acceptRelative:!0}))return gC(n);const[,i="",r,s=""]=n.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,o="",a=""]=s.match(/([^#/?]*)(.*)?/)||[];i==="file:"&&(a=a.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:l,search:c,hash:u}=gC(a);return{protocol:i.toLowerCase(),auth:r?r.slice(0,Math.max(0,r.length-1)):"",host:o,pathname:l,search:c,hash:u,[eT]:!i}}function gC(n=""){const[e="",t="",i=""]=(n.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:e,search:t,hash:i}}function lG(n){const e=n.pathname||"",t=n.search?(n.search.startsWith("?")?""
19:"?")+n.search:"",i=n.hash||"",r=n.auth?n.auth+"@":"",s=n.host||"";return(n.protocol||n[eT]?(n.protocol||"")+"//":"")+r+s+e+t+i}class cG extends Error{constructor(e,t){super(e,t),this.name="FetchError",t!=null&&t.cause&&!this.cause&&(this.cause=t.cause)}}function uG(n){var l,c,u,f,h;const e=((l=n.error)==null?void 0:l.message)||((c=n.error)==null?void 0:c.toString())||"",t=((u=n.request)==null?void 0:u.method)||((f=n.options)==null?void 0:f.method)||"GET",i=((h=n.request)==null?void 0:h.url)||String(n.request)||"/",r=`[${t}] ${JSON.stringify(i)}`,s=n.response?`${n.response.status} ${n.response.statusText}`:"<no response>",o=`${r}: ${s}${e?` ${e}`:""}`,a=new cG(o,n.error?{cause:n.error}:void 0);for(const p of["request","options","response"])Object.defineProperty(a,p,{get(){return n[p]}});for(const[p,m]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(a,p,{get(){return n.response&&n.response[m]}});return a}const fG=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function AC(n="GET"){return fG.has(n.toUpperCase())}function dG(n){if(n===void 0)return!1;const e=typeof n;return e==="string"||e==="number"||e==="boolean"||e===null?!0:e!=="object"?!1:Array.isArray(n)?!0:n.buffer?!1:n.constructor&&n.constructor.name==="Object"||typeof n.toJSON=="function"}const hG=new Set(["image/svg","application/xml","application/xhtml","application/html"]),pG=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function mG(n=""){if(!n)return"json";const e=n.split(";").shift()||"";return pG.test(e)?"json":hG.has(e)||e.startsWith("text/")?"text":"blob"}function gG(n,e,t,i){const r=AG((e==null?void 0:e.headers)??(n==null?void 0:n.headers),t==null?void 0:t.headers,i);let s;return(t!=null&&t.query||t!=null&&t.params||e!=null&&e.params||e!=null&&e.query)&&(s={...t==null?void 0:t.params,...t==null?void 0:t.query,...e==null?void 0:e.params,...e==null?void 0:e.query}),{...t,...e,query:s,params:s,headers:r}}function AG(n,e,t){if(!e)return new t(n);const i=new t(e);if(n)for(const[r,s]of Symbol.iterator in n||Array.isArray(n)?n:new t(n))i.set(r,s);return i}async function Sm(n,e){if(e)if(Array.isArray(e))for(const t of e)await t(n);else await e(n)}const vG=new Set([408,409,425,429,500,502,503,504]),yG=new Set([101,204,205,304]);function tT(n={}){const{fetch:e=globalThis.fetch,Headers:t=globalThis.Headers,AbortController:i=globalThis.AbortController}=n;async function r(a){const l=a.error&&a.error.name==="AbortError"&&!a.options.timeout||!1;if(a.options.retry!==!1&&!l){let u;typeof a.options.retry=="number"?u=a.options.retry:u=AC(a.options.method)?0:1;const f=a.response&&a.response.status||500;if(u>0&&(Array.isArray(a.options.retryStatusCodes)?a.options.retryStatusCodes.includes(f):vG.has(f))){const h=typeof a.options.retryDelay=="function"?a.options.retryDelay(a):a.options.retryDelay||0;return h>0&&await new Promise(p=>setTimeout(p,h)),s(a.request,{...a.options,retry:u-1})}}const c=uG(a);throw Error.captureStackTrace&&Error.captureStackTrace(c,s),c}const s=async function(l,c={}){const u={request:l,options:gG(l,c,n.defaults,t),response:void 0,error:void 0};u.options.method&&(u.options.method=u.options.method.toUpperCase()),u.options.onRequest&&await Sm(u,u.options.onRequest),typeof u.request=="string"&&(u.options.baseURL&&(u.request=nG(u.request,u.options.baseURL)),u.options.query&&(u.request=K7(u.request,u.options.query),delete u.options.query),"query"in u.options&&delete u.options.query,"params"in u.options&&delete u.options.params),u.options.body&&AC(u.options.method)&&(dG(u.options.body)?(u.options.body=typeof u.options.body=="string"?u.options.body:JSON.stringify(u.options.body),u.options.headers=new t(u.options.headers||{}),u.options.headers.has("content-type")||u.options.headers.set("content-type","application/json"),u.options.headers.has("accept")||u.options.headers.set("accept","application/json")):("pipeTo"in u.options.body&&typeof u.options.body.pipeTo=="function"||typeof u.options.body.pipe=="function")&&("duplex"in u.options||(u.options.duplex="half")));let f;if(!u.options.signal&&u.options.timeout){const p=new i;f=setTimeout(()=>{const m=new Error("[TimeoutError]: The operation was aborted due to timeout");m.name="TimeoutError",m.code=23,p.abort(m)},u.options.timeout),u.options.signal=p.signal}try{u.response=await e(u.request,u.options)}catch(p){return u.error=p,u.options.onRequestError&&await Sm(u,u.options.onRequestError),await r(u)}finally{f&&clearTimeout(f)}if((u.response.body||u.response._bodyInit)&&!yG.has(u.response.status)&&u.options.method!=="HEAD"){const p=(u.options.parseResponse?"json":u.options.responseType)||mG(u.response.headers.get("content-type")||"");switch(p){case"json":{const m=await u.response.text(),v=u.options.parseResponse||pg;u.response._data=v(m);break}case"stream":{u.response._data=u.response.body||u.response._bodyInit;break}default:u.response._data=await u.response[p]()}}return u.options.onResponse&&await Sm(u,u.options.onResponse),!u.options.ignoreResponseError&&u.response.status>=400&&u.response.status<600?(u.options.onResponseError&&await Sm(u,u.options.onResponseError),await r(u)):u.response},o=async function(l,c){return(await s(l,c))._data};return o.raw=s,o.native=(...a)=>e(...a),o.create=(a={},l={})=>tT({...n,...l,defaults:{...n.defaults,...l.defaults,...a}}),o}const Ag=function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")}(),_G=Ag.fetch?(...n)=>Ag.fetch(...n):()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!")),bG=Ag.Headers,xG=Ag.AbortController,CG=tT({fetch:_G,Headers:bG,AbortController:xG}),wG=CG,SG=()=>{var n;return((n=window==null?void 0:window.__NUXT__)==null?void 0:n.config)||{}},vg=SG().app,EG=()=>vg.baseURL,TG=()=>
19vg.buildAssetsDir,cx=(...n)=>J7(nT(),TG(),...n),nT=(...n)=>{const e=vg.cdnURL||vg.baseURL;return n.length?J7(e,...n):e};globalThis.__buildAssetsURL=cx,globalThis.__publicAssetsURL=nT;globalThis.$fetch||(globalThis.$fetch=wG.create({baseURL:EG()}));function n_(n,e={},t){for(const i in n){const r=n[i],s=t?`${t}:${i}`:i;typeof r=="object"&&r!==null?n_(r,e,s):typeof r=="function"&&(e[s]=r)}return e}const MG={run:n=>n()},IG=()=>MG,iT=typeof console.createTask<"u"?console.createTask:IG;function PG(n,e){const t=e.shift(),i=iT(t);return n.reduce((r,s)=>r.then(()=>i.run(()=>s(...e))),Promise.resolve())}function RG(n,e){const t=e.shift(),i=iT(t);return Promise.all(n.map(r=>i.run(()=>r(...e))))}function B2(n,e){for(const t of[...n])t(e)}class BG{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,i={}){if(!e||typeof t!="function")return()=>{};const r=e;let s;for(;this._deprecatedHooks[e];)s=this._deprecatedHooks[e],e=s.to;if(s&&!i.allowDeprecated){let o=s.message;o||(o=`${r} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(o)||(console.warn(o),this._deprecatedMessages.add(o))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>"_"+e.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&(this.removeHook(e,t),t=void 0)}}hookOnce(e,t){let i,r=(...s)=>(typeof i=="function"&&i(),i=void 0,r=void 0,t(...s));return i=this.hook(e,r),i}removeHook(e,t){if(this._hooks[e]){const i=this._hooks[e].indexOf(t);i!==-1&&this._hooks[e].splice(i,1),this._hooks[e].length===0&&delete this._hooks[e]}}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t=="string"?{to:t}:t;const i=this._hooks[e]||[];delete this._hooks[e];for(const r of i)this.hook(e,r)}deprecateHooks(e){Object.assign(this._deprecatedHooks,e);for(const t in e)this.deprecateHook(t,e[t])}addHooks(e){const t=n_(e),i=Object.keys(t).map(r=>this.hook(r,t[r]));return()=>{for(const r of i.splice(0,i.length))r()}}removeHooks(e){const t=n_(e);for(const i in t)this.removeHook(i,t[i])}removeAllHooks(){for(const e in this._hooks)delete this._hooks[e]}callHook(e,...t){return t.unshift(e),this.callHookWith(PG,e,...t)}callHookParallel(e,...t){return t.unshift(e),this.callHookWith(RG,e,...t)}callHookWith(e,t,...i){const r=this._before||this._after?{name:t,args:i,context:{}}:void 0;this._before&&B2(this._before,r);const s=e(t in this._hooks?[...this._hooks[t]]:[],i);return s instanceof Promise?s.finally(()=>{this._after&&r&&B2(this._after,r)}):(this._after&&r&&B2(this._after,r),s)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){const t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){const t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}}function rT(){return new BG}function DG(n={}){let e,t=!1;const i=o=>{if(e&&e!==o)throw new Error("Context conflict")};let r;if(n.asyncContext){const o=n.AsyncLocalStorage||globalThis.AsyncLocalStorage;o?r=new o:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const s=()=>
19{if(r){const o=r.getStore();if(o!==void 0)return o}return e};return{use:()=>{const o=s();if(o===void 0)throw new Error("Context is not available");return o},tryUse:()=>s(),set:(o,a)=>{a||i(o),e=o,t=!0},unset:()=>{e=void 0,t=!1},call:(o,a)=>{i(o),e=o;try{return r?r.run(o,a):a()}finally{t||(e=void 0)}},async callAsync(o,a){e=o;const l=()=>{e=o},c=()=>e===o?l:void 0;i_.add(c);try{const u=r?r.run(o,a):a();return t||(e=void 0),await u}finally{i_.delete(c)}}}}function LG(n={}){const e={};return{get(t,i={}){return e[t]||(e[t]=DG({...n,...i})),e[t]}}}const yg=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},vC="__unctx__",OG=yg[vC]||(yg[vC]=LG()),FG=(n,e={})=>OG.get(n,e),yC="__unctx_async_handlers__",i_=yg[yC]||(yg[yC]=new Set);function qf(n){const e=[];for(const r of i_){const s=r();s&&e.push(s)}const t=()=>{for(const r of e)r()};let i=n();return i&&typeof i=="object"&&"catch"in i&&(i=i.catch(r=>{throw t(),r})),[i,t]}const r_=!1,UG=!1,NG={componentName:"NuxtLink",prefetch:!0,prefetchOn:{visibility:!0}},Bf={value:null,errorValue:null,deep:!0},kG=null,zG="#__nuxt",sT="nuxt-app",_C=36e5,HG="vite:preloadError";function oT(n=sT){return FG(n,{asyncContext:!1})}const VG="__nuxt_plugin";function GG(n){var r;let e=0;const t={_id:n.id||sT||"nuxt-app",_scope:_z(),provide:void 0,globalName:"nuxt",versions:{get nuxt(){return"3.15.4"},get vue(){return t.vueApp.version}},payload:Fa({...((r=n.ssrContext)==null?void 0:r.payload)||{},data:Fa({}),state:so({}),once:new Set,_errors:Fa({})}),static:{data:{}},runWithContext(s){return t._scope.active&&!rA()?t._scope.run(()=>bC(t,s)):bC(t,s)},isHydrating:!0,deferHydration(){if(!t.isHydrating)return()=>{};e++;let s=!1;return()=>{if(!s&&(s=!0,e--,e===0))return t.isHydrating=!1,t.callHook("app:suspense:resolve")}},_asyncDataPromises:{},_asyncData:Fa({}),_payloadRevivers:{},...n};{const s=window.__NUXT__;if(s)for(const o in s)switch(o){case"data":case"state":case"_errors":Object.assign(t.payload[o],s[o]);break;default:t.payload[o]=s[o]}}t.hooks=rT(),t.hook=t.hooks.hook,t.callHook=t.hooks.callHook,t.provide=(s,o)=>{const a="$"+s;Em(t,a,o),Em(t.vueApp.config.globalProperties,a,o)},Em(t.vueApp,"$nuxt",t),Em(t.vueApp.config.globalProperties,"$nuxt",t);{window.addEventListener(HG,o=>{t.callHook("app:chunkError",{error:o.payload}),(t.isHydrating||o.payload.message.includes("Unable to preload CSS"))&&o.preventDefault()}),window.useNuxtApp=window.useNuxtApp||Tn;const s=t.hook("app:error",(...o)=>{console.error("[nuxt] error caught during app initialization",...o)});t.hook("app:mounted",s)}const i=t.payload.config;return t.provide("config",i),t}function QG(n,e){e.hooks&&n.hooks.addHooks(e.hooks)}async function WG(n,e){if(typeof e=="function"){const{provide:t}=await n.runWithContext(()=>e(n))||{};if(t&&typeof t=="object")for(const i in t)n.provide(i,t[i])}}async function jG(n,e){const t=[],i=[],r=[],s=[];let o=0;async function a(l){var u;const c=((u=l.dependsOn)==null?void 0:u.filter(f=>e.some(h=>h._name===f)&&!t.includes(f)))??[];if(c.length>0)i.push([new Set(c),l]);else{const f=WG(n,l).then(async()=>{l._name&&(t.push(l._name),await Promise.all(i.map(async([h,p])=>{h.has(l._name)&&(h.delete(l._name),h.size===0&&(o++,await a(p)))})))});l.parallel?r.push(f.catch(h=>s.push(h))):await f}}for(const l of e)QG(n,l);for(const l of e)await a(l);if(await Promise.all(r),o)for(let l=0;l<o;l++)await Promise.all(r);if(s.length)throw s[0]}function oo(n){if(typeof n=="function")return n;const e=n._name||n.name;return delete n.name,Object.assign(n.setup||(()=>{}),n,{[VG]:!0,_name:e})}function bC(n,e,t){const i=()=>e();return oT(n._id).set(n),n.vueApp.runWithContext(i)}function qG(n){var t;let e;return m7()&&(e=(t=Do())==null?void 0:t.appContext.app.$nuxt),e=e||oT(n).tryUse(),e||null}function Tn(n){const e=qG(n);if(!e)throw new Error("[nuxt] instance unavailable");return e}function Bu(n){return Tn().$config}function Em(n,e,t){Object.defineProperty(n,e,{get:()=>t})}function XG(n,e){return{ctx:{table:n},matchAll:t=>lT(t,n)}}function aT(n){const e={};for(const t in n)e[t]=t==="dynamic"?new Map(Object.entries(n[t]).map(([i,r])=>[i,aT(r)])):new Map(Object.entries(n[t]));return e}function YG(n){return XG(aT(n))}function lT(n,e,t){n.endsWith("/")&&(n=n.slice(0,-1)||"/");const i=[];for(const[s,o]of xC(e.wildcard))(n===s||n.startsWith(s+"/"))&&i.push(o);for(const[s,o]of xC(e.dynamic))if(n.startsWith(s+"/")){const a="/"+n.slice(s.length).split("/").splice(2).join("/");i.push(...lT(a,o))}const r=e.static.get(n);
19return r&&i.push(r),i.filter(Boolean)}function xC(n){return[...n.entries()].sort((e,t)=>e[0].length-t[0].length)}function D2(n){if(n===null||typeof n!="object")return!1;const e=Object.getPrototypeOf(n);return e!==null&&e!==Object.prototype&&Object.getPrototypeOf(e)!==null||Symbol.iterator in n?!1:Symbol.toStringTag in n?Object.prototype.toString.call(n)==="[object Module]":!0}function s_(n,e,t=".",i){if(!D2(e))return s_(n,{},t,i);const r=Object.assign({},e);for(const s in n){if(s==="__proto__"||s==="constructor")continue;const o=n[s];o!=null&&(i&&i(r,s,o,t)||(Array.isArray(o)&&Array.isArray(r[s])?r[s]=[...o,...r[s]]:D2(o)&&D2(r[s])?r[s]=s_(o,r[s],(t?`${t}.`:"")+s.toString(),i):r[s]=o))}return r}function $G(n){return(...e)=>e.reduce((t,i)=>s_(t,i,"",n),{})}const hA=$G();function KG(n,e){try{return e in n}catch{return!1}}class o_ extends Error{constructor(t,i={}){super(t,i);he(this,"statusCode",500);he(this,"fatal",!1);he(this,"unhandled",!1);he(this,"statusMessage");he(this,"data");he(this,"cause");i.cause&&!this.cause&&(this.cause=i.cause)}toJSON(){const t={message:this.message,statusCode:l_(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=cT(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}he(o_,"__h3_error__",!0);function a_(n){if(typeof n=="string")return new o_(n);if(ZG(n))return n;const e=new o_(n.message??n.statusMessage??"",{cause:n.cause||n});if(KG(n,"stack"))try{Object.defineProperty(e,"stack",{get(){return n.stack}})}catch{try{e.stack=n.stack}catch{}}if(n.data&&(e.data=n.data),n.statusCode?e.statusCode=l_(n.statusCode,e.statusCode):n.status&&(e.statusCode=l_(n.status,e.statusCode)),n.statusMessage?e.statusMessage=n.statusMessage:n.statusText&&(e.statusMessage=n.statusText),e.statusMessage){const t=e.statusMessage;cT(e.statusMessage)!==t&&console.warn("[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default.")}return n.fatal!==void 0&&(e.fatal=n.fatal),n.unhandled!==void 0&&(e.unhandled=n.unhandled),e}function ZG(n){var e;return((e=n==null?void 0:n.constructor)==null?void 0:e.__h3_error__)===!0}const JG=/[^\u0009\u0020-\u007E]/g;function cT(n=""){return n.replace(JG,"")}function l_(n,e=200){return!n||(typeof n=="string"&&(n=Number.parseInt(n,10)),n<100||n>999)?e:n}const eQ=Symbol("layout-meta"),pA=Symbol("route"),As=()=>{var n;return(n=Tn())==null?void 0:n.$router},mA=()=>m7()?es(pA,Tn()._route):Tn()._route;const tQ=()=>{try{if(Tn()._processingMiddleware)return!0}catch{return!1}return!1},nQ=(n,e)=>{n||(n="/");const t=typeof n=="string"?n:"path"in n?c_(n):As().resolve(n).href;if(e!=null&&e.open){const{target:l="_blank",windowFeatures:c={}}=e.open,u=Object.entries(c).filter(([f,h])=>h!==void 0).map(([f,h])=>`${f.toLowerCase()}=${h}`).join(", ");return open(t,l,u),Promise.resolve()}const i=ta(t,{acceptRelative:!0}),r=(e==null?void 0:e.external)||i;if(r){if(!(e!=null&&e.external))throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const{protocol:l}=new URL(t,window.location.href);if(l&&eG(l))throw new Error(`Cannot navigate to a URL with '${l}' protocol.`)}const s=tQ();if(!r&&s)return e!=null&&e.replace?typeof n=="string"?{path:n,replace:!0}:{...n,replace:!0}:n;const o=As(),a=Tn();return r?(a._scope.stop(),e!=null&&e.replace?location.replace(t):location.href=t,s?a.isHydrating?new Promise(()=>{}):!1:Promise.resolve()):e!=null&&e.replace?o.replace(n):o.push(n)};function c_(n){return K7(n.path||"",n.query||{})+(n.hash||"")}const uT="__nuxt_error",gA=()=>Jb(Tn().payload,"error"),Df=n=>{const e=Sp(n);try{const t=Tn(),i=gA();t.hooks.callHook("app:error",e),i.value=i.value||e}catch{throw e}return e},iQ=async(n={})=>{const e=Tn(),t=gA();e.callHook("app:error:cleared",n),n.redirect&&await As().replace(n.redirect),t.value=kG},rQ=n=>!!n&&typeof n=="object"&&uT in n,Sp=n=>{const e=a_(n);return Object.defineProperty(e,uT,{value:!0,configurable:!1,writable:!1}),e};function CC(n){const e=oQ(n),t=new ArrayBuffer(e.length),i=new DataView(t);for(let r=0;r<t.byteLength;r++)i.setUint8(r,e.charCodeAt(r));return t}const sQ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
19+/";function oQ(n){n.length%4===0&&(n=n.replace(/==?$/,""));let e="",t=0,i=0;for(let r=0;r<n.length;r++)t<<=6,t|=sQ.indexOf(n[r]),i+=6,i===24&&(e+=String.fromCharCode((t&16711680)>>16),e+=String.fromCharCode((t&65280)>>8),e+=String.fromCharCode(t&255),t=i=0);return i===12?(t>>=4,e+=String.fromCharCode(t)):i===18&&(t>>=2,e+=String.fromCharCode((t&65280)>>8),e+=String.fromCharCode(t&255)),e}const aQ=-1,lQ=-2,cQ=-3,uQ=-4,fQ=-5,dQ=-6;function hQ(n,e){return pQ(JSON.parse(n),e)}function pQ(n,e){if(typeof n=="number")return r(n,!0);if(!Array.isArray(n)||n.length===0)throw new Error("Invalid input");const t=n,i=Array(t.length);function r(s,o=!1){if(s===aQ)return;if(s===cQ)return NaN;if(s===uQ)return 1/0;if(s===fQ)return-1/0;if(s===dQ)return-0;if(o)throw new Error("Invalid input");if(s in i)return i[s];const a=t[s];if(!a||typeof a!="object")i[s]=a;else if(Array.isArray(a))if(typeof a[0]=="string"){const l=a[0],c=e==null?void 0:e[l];if(c)return i[s]=c(r(a[1]));switch(l){case"Date":i[s]=new Date(a[1]);break;case"Set":const u=new Set;i[s]=u;for(let p=1;p<a.length;p+=1)u.add(r(a[p]));break;case"Map":const f=new Map;i[s]=f;for(let p=1;p<a.length;p+=2)f.set(r(a[p]),r(a[p+1]));break;case"RegExp":i[s]=new RegExp(a[1],a[2]);break;case"Object":i[s]=Object(a[1]);break;case"BigInt":i[s]=BigInt(a[1]);break;case"null":const h=Object.create(null);i[s]=h;for(let p=1;p<a.length;p+=2)h[a[p]]=r(a[p+1]);break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":{const p=globalThis[l],m=a[1],v=CC(m),A=new p(v);i[s]=A;break}case"ArrayBuffer":{const p=a[1],m=CC(p);i[s]=m;break}default:throw new Error(`Unknown type ${l}`)}}else{const l=new Array(a.length);i[s]=l;for(let c=0;c<a.length;c+=1){const u=a[c];u!==lQ&&(l[c]=r(u))}}else{const l={};i[s]=l;for(const c in a){const u=a[c];l[c]=r(u)}}return i[s]}return r(0)}function fT(n,e){const t=[],i=e.resolveKeyData||(s=>s.key),r=e.resolveValueData||(s=>s.value);for(const[s,o]of Object.entries(n))t.push(...(Array.isArray(o)?o:[o]).map(a=>{const l={key:s,value:a},c=r(l);return typeof c=="object"?fT(c,e):Array.isArray(c)?c:{[typeof e.key=="function"?e.key(l):e.key]:i(l),[typeof e.value=="function"?e.value(l):e.value]:c}}).flat());return t}function dT(n,e){return Object.entries(n).map(([t,i])=>{if(typeof i=="object"&&(i=dT(i,e)),e.resolve){const r=e.resolve({key:t,value:i});if(typeof r<"u")return r}return typeof i=="number"&&(i=i.toString()),typeof i=="string"&&e.wrapValue&&(i=i.replace(new RegExp(e.wrapValue,"g"),`\\${e.wrapValue}`),i=`${e.wrapValue}${i}${e.wrapValue}`),`${t}${e.keyValueSeparator||""}${i}`}).join(e.entrySeparator||"")}const mQ=new Set(["title","titleTemplate","script","style","noscript"]),U1=new Set(["base","meta","link","style","script","noscript"]),gQ=new Set(["title","titleTemplate","templateParams","base","htmlAttrs","bodyAttrs","meta","link","style","script","noscript"]),AQ=new Set(["base","title","titleTemplate","bodyAttrs","htmlAttrs","templateParams"]),hT=new Set(["tagPosition","tagPriority","tagDuplicateStrategy","children","innerHTML","textContent","processTemplateParams"]),vQ=typeof window<"u";function _g(n){let e=9;for(let t=0;t<n.length;)e=Math.imul(e^n.charCodeAt(t++),9**9);return((e^e>>>9)+65536).toString(16).substring(1,8).toLowerCase()}function u_(n){if(n._h)return n._h;if(n._d)return _g(n._d);let e=`${n.tag}:${n.textContent||n.innerHTML||""}:`;for(const t in n.props)e+=`${t}:${String(n.props[t])},`;return _g(e)}const Fr=n=>({keyValue:n,metaKey:"property"}),L2=n=>({keyValue:n}),ux={appleItunesApp:{unpack:{entrySeparator:", ",resolve({key:n,value:e}){return`${ka(n)}=${e}`}}},articleExpirationTime:Fr("article:expiration_time"),articleModifiedTime:Fr("article:modified_time"),articlePublishedTime:Fr("article:published_time"),bookReleaseDate:Fr("book:release_date"),charset:{metaKey:"charset"},contentSecurityPolicy:{unpack:{entrySeparator:"; ",resolve({key:n,value:e}){return`${ka(n)} ${e}`}},metaKey:"http-equiv"},contentType:{metaKey:"http-equiv"},defaultStyle:{metaKey:"http-equiv"},fbAppId:Fr("fb:app_id"),msapplicationConfig:L2("msapplication-Config"),msapplicationTileColor:L2("msapplication-TileColor"),msapplicationTileImage:L2("msapplication-TileImage"),ogAudioSecureUrl:Fr("og:audio:secure_url"),ogAudioUrl:Fr("og:audio"),ogImageSecureUrl:Fr("og:image:secure_url"),ogImageUrl:Fr("og:image"),ogSiteName:Fr("og:site_name"),ogVideoSecureUrl:Fr("og:video:secure_url"),ogVideoUrl:Fr("og:video"),profileFirstName:Fr("profile:first_name"),profileLastName:Fr("profile:last_name"),profileUsername:Fr("profile:username"),refresh:{metaKey:"http-equiv",unpack:{entrySeparator:";",resolve({key:n,value:e}){if(n==="seconds")return`${e}`}}},robots:{unpack:{entrySeparator:", ",resolve({key:n,value:e}){return typeof e=="boolean"?`${ka(n)}`:`${ka(n)}:${e}`}}},xUaCompatible:{metaKey:"http-equiv"}},pT=new Set(["og","book","article","profile"]);function mT(n){var i;const e=ka(n),t=e.indexOf(":");return pT.has(e.substring(0,t))?"property":((i=ux[n])==null?void 0:i.metaKey)||"name"}function yQ(n){var e;return((e=ux[n])==null?void 0:e.keyValue)||ka(n)}function ka(n){const e=n.replace(/([A-Z])/g,"-$1").toLowerCase(),t=e.indexOf("-"),i=e.substring(0,t);return i==="twitter"||pT.has(i)?n.replace(/([A-Z])/g,":$1").toLowerCase():e}function f_(n){if(Array.isArray(n))return n.map(t=>f_(t));if(typeof n!="object"||Array.isArray(n))return n;const e={};for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[ka(t)]=f_(n[t]));return e}function _Q(n,e){const t=ux[e];return e==="refresh"?`${n.seconds};url=${n.url}`:dT(f_(n),{keyValueSeparator:"=",entrySeparator:", ",resolve({value:i,key:r}){if(i===null)return"";if(typeof i=="boolean")return`${r}`},...t==null?void 0:t.unpack})}const gT=new Set(["og:image","og:video","og:audio","twitter:image"]);function AT(n){const e={};for(const t in n){if(!Object.prototype.hasOwnProperty.call(n,t))continue;const i=n[t];String(i)!=="false"&&t&&(e[t]=i)}return e}function wC(n,e){const t=AT(e),i=ka(n),r=mT(i);if(gT.has(i)){const s={};for(const o in t)Object.prototype.hasOwnProperty.call(t,o)&&(s[`${n}${o==="url"?"":`${o[0].toUpperCase()}${o.slice(1)}`}`]=t[o]);return fx(s).sort((o,a)=>{var l,c;return(((l=o[r])==null?void 0:l.length)||0)-(((c=a[r])==null?void 0:c.length)||0)})}return[{[r]:i,...t}]}function fx(n){const e=[],t={};for(const r in n){if(!Object.prototype.hasOwnProperty.call(n,r))continue;const s=n[r];if(!Array.isArray(s)){if(typeof s=="object"&&s){if(gT.has(ka(r))){e.push(...wC(r,s));continue}t[r]=AT(s)}else t[r]=s;continue}
19for(const o of s)e.push(...typeof o=="string"?fx({[r]:o}):wC(r,o))}const i=fT(t,{key({key:r}){return mT(r)},value({key:r}){return r==="charset"?"charset":"content"},resolveKeyData({key:r}){return yQ(r)},resolveValueData({value:r,key:s}){return r===null?"_null":typeof r=="object"?_Q(r,s):typeof r=="number"?r.toString():r}});return[...e,...i].map(r=>(r.content==="_null"&&(r.content=null),r))}function bQ(n,e){return n instanceof Promise?n.then(e):e(n)}function d_(n,e,t,i){const r=i||yT(typeof e=="object"&&typeof e!="function"&&!(e instanceof Promise)?{...e}:{[n==="script"||n==="noscript"||n==="style"?"innerHTML":"textContent"]:e},n==="templateParams"||n==="titleTemplate");if(r instanceof Promise)return r.then(o=>d_(n,e,t,o));const s={tag:n,props:r};for(const o of hT){const a=s.props[o]!==void 0?s.props[o]:t[o];a!==void 0&&((!(o==="innerHTML"||o==="textContent"||o==="children")||mQ.has(s.tag))&&(s[o==="children"?"innerHTML":o]=a),delete s.props[o])}return s.props.body&&(s.tagPosition="bodyClose",delete s.props.body),s.tag==="script"&&typeof s.innerHTML=="object"&&(s.innerHTML=JSON.stringify(s.innerHTML),s.props.type=s.props.type||"application/json"),Array.isArray(s.props.content)?s.props.content.map(o=>({...s,props:{...s.props,content:o}})):s}function xQ(n,e){var i;const t=n==="class"?" ":";";return e&&typeof e=="object"&&!Array.isArray(e)&&(e=Object.entries(e).filter(([,r])=>r).map(([r,s])=>n==="style"?`${r}:${s}`:r)),(i=String(Array.isArray(e)?e.join(t):e))==null?void 0:i.split(t).filter(r=>!!r.trim()).join(t)}function vT(n,e,t,i){for(let r=i;r<t.length;r+=1){const s=t[r];if(s==="class"||s==="style"){n[s]=xQ(s,n[s]);continue}if(n[s]instanceof Promise)return n[s].then(o=>(n[s]=o,vT(n,e,t,r)));if(!e&&!hT.has(s)){const o=String(n[s]),a=s.startsWith("data-");o==="true"||o===""?n[s]=a?"true":!0:n[s]||(a&&o==="false"?n[s]="false":delete n[s])}}}function yT(n,e=!1){const t=vT(n,e,Object.keys(n),0);return t instanceof Promise?t.then(()=>n):n}const CQ=10;function _T(n,e,t){for(let i=t;i<e.length;i+=1){const r=e[i];if(r instanceof Promise)return r.then(s=>(e[i]=s,_T(n,e,i)));Array.isArray(r)?n.push(...r):n.push(r)}}function wQ(n){const e=[],t=n.resolvedInput;for(const r in t){if(!Object.prototype.hasOwnProperty.call(t,r))continue;const s=t[r];
19if(!(s===void 0||!gQ.has(r))){if(Array.isArray(s)){for(const o of s)e.push(d_(r,o,n));continue}e.push(d_(r,s,n))}}if(e.length===0)return[];const i=[];return bQ(_T(i,e,0),()=>i.map((r,s)=>(r._e=n._i,n.mode&&(r._m=n.mode),r._p=(n._i<<CQ)+s,r)))}const SC=new Set(["onload","onerror","onabort","onprogress","onloadstart"]),EC={base:-10,title:10},TC={critical:-80,high:-10,low:20};function bg(n){const e=n.tagPriority;if(typeof e=="number")return e;let t=100;return n.tag==="meta"?n.props["http-equiv"]==="content-security-policy"?t=-30:n.props.charset?t=-20:n.props.name==="viewport"&&(t=-15):n.tag==="link"&&n.props.rel==="preconnect"?t=20:n.tag in EC&&(t=EC[n.tag]),e&&e in TC?t+TC[e]:t}const SQ=[{prefix:"before:",offset:-1},{prefix:"after:",offset:1}],EQ=["name","property","http-equiv"];function bT(n){const{props:e,tag:t}=n;if(AQ.has(t))return t;if(t==="link"&&e.rel==="canonical")return"canonical";if(e.charset)return"charset";if(e.id)return`${t}:id:${e.id}`;for(const i of EQ)if(e[i]!==void 0)return`${t}:${i}:${e[i]}`;return!1}const Cl="%separator";function TQ(n,e,t=!1){var r;let i;if(e==="s"||e==="pageTitle")i=n.pageTitle;else if(e.includes(".")){const s=e.indexOf(".");i=(r=n[e.substring(0,s)])==null?void 0:r[e.substring(s+1)]}else i=n[e];if(i!==void 0)return t?(i||"").replace(/"/g,'\\"'):i||""}const MQ=new RegExp(`${Cl}(?:\\s*${Cl})*`,"g");function Tm(n,e,t,i=!1){if(typeof n!="string"||!n.includes("%"))return n;let r=n;try{r=decodeURI(n)}catch{}const s=r.match(/%\w+(?:\.\w+)?/g);if(!s)return n;const o=n.includes(Cl);return n=n.replace(/%\w+(?:\.\w+)?/g,a=>{if(a===Cl||!s.includes(a))return a;const l=TQ(e,a.slice(1),i);return l!==void 0?l:a}).trim(),o&&(n.endsWith(Cl)&&(n=n.slice(0,-Cl.length)),n.startsWith(Cl)&&(n=n.slice(Cl.length)),n=n.replace(MQ,t).trim()),n}function MC(n,e){return n==null?e||null:typeof n=="function"?n(e):n}async function xT(n,e={}){const t=e.document||n.resolvedOptions.document;if(!t||!n.dirty)return;const i={shouldRender:!0,tags:[]};if(await n.hooks.callHook("dom:beforeRender",i),!!i.shouldRender)return n._domUpdatePromise||(n._domUpdatePromise=new Promise(async r=>{var f;const s=(await n.resolveTags()).map(h=>({tag:h,id:U1.has(h.tag)?u_(h):h.tag,shouldRender:!0}));let o=n._dom;if(!o){o={elMap:{htmlAttrs:t.documentElement,bodyAttrs:t.body}};const h=new Set;for(const p of["body","head"]){const m=(f=t[p])==null?void 0:f.children;for(const v of m){const A=v.tagName.toLowerCase();if(!U1.has(A))continue;const y={tag:A,props:await yT(v.getAttributeNames().reduce((T,M)=>({...T,[M]:v.getAttribute(M)}),{})),innerHTML:v.innerHTML},x=bT(y);let b=x,_=1;for(;b&&h.has(b);)b=`${x}:${_++}`;b&&(y._d=b,h.add(b)),o.elMap[v.getAttribute("data-hid")||u_(y)]=v}}}o.pendingSideEffects={...o.sideEffects},o.sideEffects={};function a(h,p,m){const v=`${h}:${p}`;o.sideEffects[v]=m,delete o.pendingSideEffects[v]}function l({id:h,$el:p,tag:m}){const v=m.tag.endsWith("Attrs");if(o.elMap[h]=p,v||(m.textContent&&m.textContent!==p.textContent&&(p.textContent=m.textContent),m.innerHTML&&m.innerHTML!==p.innerHTML&&(p.innerHTML=m.innerHTML),a(h,"el",()=>{var A;(A=o.elMap[h])==null||A.remove(),delete o.elMap[h]})),m._eventHandlers)for(const A in m._eventHandlers)Object.prototype.hasOwnProperty.call(m._eventHandlers,A)&&p.getAttribute(`data-${A}`)!==""&&((m.tag==="bodyAttrs"?t.defaultView:p).addEventListener(A.substring(2),m._eventHandlers[A].bind(p)),p.setAttribute(`data-${A}`,""));for(const A in m.props){if(!Object.prototype.hasOwnProperty.call(m.props,A))continue;const y=m.props[A],x=`attr:${A}`;if(A==="class"){if(!y)continue;for(const b of y.split(" "))v&&a(h,`${x}:${b}`,()=>p.classList.remove(b)),!p.classList.contains(b)&&p.classList.add(b)}else if(A==="style"){if(!y)continue;for(const b of y.split(";")){const _=b.indexOf(":"),T=b.substring(0,_).trim(),M=b.substring(_+1).trim();a(h,`${x}:${T}`,()=>{p.style.removeProperty(T)}),p.style.setProperty(T,M)}}else p.getAttribute(A)!==y&&p.setAttribute(A,y===!0?"":String(y)),v&&a(h,x,()=>p.removeAttribute(A))}}const c=[],u={bodyClose:void 0,bodyOpen:void 0,head:void 0};for(const h of s){const{tag:p,shouldRender:m,id:v}=h;if(m){if(p.tag==="title"){t.title=p.textContent;continue}
19h.$el=h.$el||o.elMap[v],h.$el?l(h):U1.has(p.tag)&&c.push(h)}}for(const h of c){const p=h.tag.tagPosition||"head";h.$el=t.createElement(h.tag.tag),l(h),u[p]=u[p]||t.createDocumentFragment(),u[p].appendChild(h.$el)}for(const h of s)await n.hooks.callHook("dom:renderTag",h,t,a);u.head&&t.head.appendChild(u.head),u.bodyOpen&&t.body.insertBefore(u.bodyOpen,t.body.firstChild),u.bodyClose&&t.body.appendChild(u.bodyClose);for(const h in o.pendingSideEffects)o.pendingSideEffects[h]();n._dom=o,await n.hooks.callHook("dom:rendered",{renders:s}),r()}).finally(()=>{n._domUpdatePromise=void 0,n.dirty=!1})),n._domUpdatePromise}function IQ(n,e={}){const t=e.delayFn||(i=>setTimeout(i,10));return n._domDebouncedUpdatePromise=n._domDebouncedUpdatePromise||new Promise(i=>t(()=>xT(n,e).then(()=>{delete n._domDebouncedUpdatePromise,i()})))}function PQ(n){return e=>{var i,r;const t=((r=(i=e.resolvedOptions.document)==null?void 0:i.head.querySelector('script[id="unhead:payload"]'))==null?void 0:r.innerHTML)||!1;return t&&e.push(JSON.parse(t)),{mode:"client",hooks:{"entries:updated":s=>{IQ(s,n)}}}}}const RQ=new Set(["templateParams","htmlAttrs","bodyAttrs"]),BQ={hooks:{"tag:normalise":({tag:n})=>{n.props.hid&&(n.key=n.props.hid,delete n.props.hid),n.props.vmid&&(n.key=n.props.vmid,delete n.props.vmid),n.props.key&&(n.key=n.props.key,delete n.props.key);const e=bT(n);e&&!e.startsWith("meta:og:")&&!e.startsWith("meta:twitter:")&&delete n.key;const t=e||(n.key?`${n.tag}:${n.key}`:!1);t&&(n._d=t)},"tags:resolve":n=>{const e=Object.create(null);for(const i of n.tags){const r=(i.key?`${i.tag}:${i.key}`:i._d)||u_(i),s=e[r];if(s){let a=i==null?void 0:i.tagDuplicateStrategy;if(!a&&RQ.has(i.tag)&&(a="merge"),a==="merge"){const l=s.props;l.style&&i.props.style&&(l.style[l.style.length-1]!==";"&&(l.style+=";"),i.props.style=`${l.style} ${i.props.style}`),l.class&&i.props.class?i.props.class=`${l.class} ${i.props.class}`:l.class&&(i.props.class=l.class),e[r].props={...l,...i.props};continue}else if(i._e===s._e){s._duped=s._duped||[],i._d=`${s._d}:${s._duped.length+1}`,s._duped.push(i);continue}else if(bg(i)>bg(s))continue}if(!(i.innerHTML||i.textContent||Object.keys(i.props).length!==0)&&U1.has(i.tag)){delete e[r];continue}e[r]=i}const t=[];for(const i in e){const r=e[i],s=r._duped;t.push(r),s&&(delete r._duped,t.push(...s))}n.tags=t,n.tags=n.tags.filter(i=>!(i.tag==="meta"&&(i.props.name||i.props.property)&&!i.props.content))}}},DQ=new Set(["script","link","bodyAttrs"]),LQ=n=>({hooks:{"tags:resolve":e=>{for(const t of e.tags){if(!DQ.has(t.tag))continue;const i=t.props;for(const r in i){if(r[0]!=="o"||r[1]!=="n"||!Object.prototype.hasOwnProperty.call(i,r))continue;const s=i[r];typeof s=="function"&&(n.ssr&&SC.has(r)?i[r]=`this.dataset.${r}fired = true`:delete i[r],t._eventHandlers=t._eventHandlers||{},t._eventHandlers[r]=s)}n.ssr&&t._eventHandlers&&(t.props.src||t.props.href)&&(t.key=t.key||_g(t.props.src||t.props.href))}},"dom:renderTag":({$el:e,tag:t})=>{var r,s;const i=e==null?void 0:e.dataset;if(i)for(const o in i){if(!o.endsWith("fired"))continue;const a=o.slice(0,-5);SC.has(a)&&((s=(r=t._eventHandlers)==null?void 0:r[a])==null||s.call(e,new Event(a.substring(2))))}}}}),OQ=new Set(["link","style","script","noscript"]),FQ={hooks:{"tag:normalise":({tag:n})=>{n.key&&OQ.has(n.tag)&&(n.props["data-hid"]=n._h=_g(n.key))}}},UQ={mode:"server",hooks:{"tags:beforeResolve":n=>{const e={};let t=!1;for(const i of n.tags)i._m!=="server"||i.tag!=="titleTemplate"&&i.tag!=="templateParams"&&i.tag!=="title"||(e[i.tag]=i.tag==="title"||i.tag==="titleTemplate"?i.textContent:i.props,t=!0);t&&n.tags.push({tag:"script",innerHTML:JSON.stringify(e),props:{id:"unhead:payload",type:"application/json"}})}}},NQ={hooks:{"tags:resolve":n=>{var e;for(const t of n.tags)if(typeof t.tagPriority=="string")for(const{prefix:i,offset:r}of SQ){if(!t.tagPriority.startsWith(i))continue;const s=t.tagPriority.substring(i.length),o=(e=n.tags.find(a=>a._d===s))==null?void 0:e._p;if(o!==void 0){t._p=o+r;break}}n.tags.sort((t,i)=>{const r=bg(t),s=bg(i);return r<s?-1:r>s?1:t._p-i._p})}}},kQ={meta:"content",link:"href",htmlAttrs:"lang"},zQ=["innerHTML","textContent"],HQ=n=>({hooks:{"tags:resolve":e=>{var o;const{tags:t}=e;let i;for(let a=0;a<t.length;a+=1)t[a].tag==="templateParams"&&(i=e.tags.splice(a,1)[0].props,a-=1);const r=i||{},s=r.separator||"|";delete r.separator,r.pageTitle=Tm(r.pageTitle||((o=t.find(a=>a.tag==="title"))==null?void 0:o.textContent)||"",r,s);for(const a of t){if(a.processTemplateParams===!1)continue;const l=kQ[a.tag];if(l&&typeof a.props[l]=="string")a.props[l]=Tm(a.props[l],r,s);else if(a.processTemplateParams||a.tag==="titleTemplate"||a.tag==="title")for(const c of zQ)typeof a[c]=="string"&&(a[c]=Tm(a[c],r,s,a.tag==="script"&&a.props.type.endsWith("json")))}n._templateParams=r,n._separator=s},"tags:afterResolve":({tags:e})=>{let t;for(let i=0;i<e.length;i+=1){const r=e[i];r.tag==="title"&&r.processTemplateParams!==!1&&(t=r)}t!=null&&t.textContent&&(t.textContent=Tm(t.textContent,n._templateParams,n._separator))}}}),VQ={hooks:{"tags:resolve":n=>{const{tags:e}=n;let t,i;for(let r=0;r<e.length;r+=1){const s=e[r];s.tag==="title"?t=s:s.tag==="titleTemplate"&&(i=s)}if(i&&t){const r=MC(i.textContent,t.textContent);r!==null?t.textContent=r||t.textContent:n.tags.splice(n.tags.indexOf(t),1)}else if(i){const r=MC(i.textContent);r!==null&&(i.textContent=r,i.tag="title",i=void 0)}i&&n.tags.splice(n.tags.indexOf(i),1)}}},GQ={hooks:{"tags:afterResolve":n=>{for(const e of n.tags)typeof e.innerHTML=="string"&&(e.innerHTML&&(e.props.type==="application/ld+json"||e.props.type==="application/json")?e.innerHTML=e.innerHTML.replace(/</g,"\\u003C"):e.innerHTML=e.innerHTML.replace(new RegExp(`</${e.tag}`,"g"),`<\\/${e.tag}`))}}};let CT;function QQ(n={}){const e=WQ(n);return e.use(PQ()),CT=e}function IC(n,e){return!n||n==="server"&&e||n==="client"&&!e}function WQ(n={}){const e=rT();e.addHooks(n.hooks||{}),n.document=n.document||(vQ?document:void 0);const t=!n.document,i=()=>{a.dirty=!0,e.callHook("entries:updated",a)};let r=0,s=[];const o=[],a={plugins:o,dirty:!1,resolvedOptions:n,hooks:e,headEntries(){return s},use(l){const c=typeof l=="function"?l(a):l;(!c.key||!o.some(u=>u.key===c.key))&&(o.push(c),IC(c.mode,t)&&e.addHooks(c.hooks||{}))},push(l,c){c==null||delete c.head;const u={_i:r++,input:l,...c};return IC(u.mode,t)&&(s.push(u),i()),{dispose(){s=s.filter(f=>f._i!==u._i),i()},patch(f){for(const h of s)h._i===u._i&&(h.input=u.input=f);i()}}},async resolveTags(){const l={tags:[],entries:[...s]};await e.callHook("entries:resolve",l);for(const c of l.entries){const u=c.resolvedInput||c.input;if(c.resolvedInput=await(c.transform?c.transform(u):u),c.resolvedInput)for(const f of await wQ(c)){const h={tag:f,entry:c,resolvedOptions:a.resolvedOptions};await e.callHook("tag:normalise",h),l.tags.push(h.tag)}}return await e.callHook("tags:beforeResolve",l),await e.callHook("tags:resolve",l),await e.callHook("tags:afterResolve",l),l.tags},ssr:t};return[BQ,UQ,LQ,FQ,NQ,HQ,VQ,GQ,...(n==null?void 0:n.plugins)||[]].forEac
19h(l=>a.use(l)),a.hooks.callHook("init",a),a}function jQ(){return CT}const qQ=H7[0]==="3";function XQ(n){return typeof n=="function"?n():qt(n)}function xg(n){if(n instanceof Promise||n instanceof Date||n instanceof RegExp)return n;const e=XQ(n);if(!n||!e)return e;if(Array.isArray(e))return e.map(t=>xg(t));if(typeof e=="object"){const t={};for(const i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(i==="titleTemplate"||i[0]==="o"&&i[1]==="n"){t[i]=qt(e[i]);continue}t[i]=xg(e[i])}return t}return e}const YQ={hooks:{"entries:resolve":n=>{for(const e of n.entries)e.resolvedInput=xg(e.input)}}},wT="usehead";function $Q(n){return{install(t){qQ&&(t.config.globalProperties.$unhead=n,t.config.globalProperties.$head=n,t.provide(wT,n))}}.install}function KQ(n={}){n.domDelayFn=n.domDelayFn||(t=>Ja(()=>setTimeout(()=>t(),0)));const e=QQ(n);return e.use(YQ),e.install=$Q(e),e}const h_=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},p_="__unhead_injection_handler__";function ZQ(n){h_[p_]=n}function JQ(){return p_ in h_?h_[p_]():es(wT)||jQ()}function ST(n,e={}){const t=e.head||JQ();if(t)return t.ssr?t.push(n,e):eW(t,n,e)}function eW(n,e,t={}){const i=gt(!1),r=gt({});aA(()=>{r.value=i.value?{}:xg(e)});const s=n.push(r.value,t);return ai(r,a=>{s.patch(a)}),Do()&&(wp(()=>{s.dispose()}),t7(()=>{i.value=!0}),e7(()=>{i.value=!1})),s}function tW(n,e){const{title:t,titleTemplate:i,...r}=n;return ST({title:t,titleTemplate:i,_flatMeta:r},{...e,transform(s){const o=fx({...s._flatMeta});return delete s._flatMeta,{...s,meta:o}}})}const nW="modulepreload",iW=function(n,e){return new URL(n,e).href},PC={},Sr=function(e,t,i){let r=Promise.resolve();if(t&&t.length>0){const o=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),l=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));r=Promise.allSettled(t.map(c=>{if(c=iW(c,i),c in PC)return;PC[c]=!0;const u=c.endsWith(".css"),f=u?'[rel="stylesheet"]':"";if(!!i)for(let m=o.length-1;m>=0;m--){const v=o[m];if(v.href===c&&(!u||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${f}`))return;const p=document.createElement("link");if(p.rel=u?"stylesheet":nW,u||(p.as="script"),p.crossOrigin="",p.href=c,l&&p.setAttribute("nonce",l),document.head.appendChild(p),u)return new Promise((m,v)=>{p.addEventListener("load",m),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${c}`)))})}))}function s(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return r.then(o=>{for(const a of o||[])a.status==="rejected"&&s(a.reason);return e().catch(s)})};let N1,k1;function rW(){return N1=$fetch(cx(`builds/meta/${Bu().app.buildId}.json`),{responseType:"json"}),N1.then(n=>{k1=YG(n.matcher)}).catch(n=>{console.error("[nuxt] Error fetching app manifest.",n)}),N1}function AA(){return N1||rW()}async function dx(n){const e=typeof n=="string"?n:n.path;if(await AA(),!k1)return console.error("[nuxt] Error creating app manifest matcher.",k1),{};try{return hA({},...k1.matchAll(e).reverse())}catch(t){return console.error("[nuxt] Error matching route rules.",t),{}}}async function RC(n,e={}){const t=await oW(n,e),i=Tn(),r=i._payloadCache=i._payloadCache||{};return t in r?r[t]||null:(r[t]=TT(n).then(s=>s?ET(t).then(o=>o||(delete r[t],null)):(r[t]=null,null)),r[t])}const sW="_payload.json";async function oW(n,e={}){const t=new URL(n,"http://localhost");if(t.host!=="localhost"||ta(t.pathname,{acceptRelative:!0}))throw new Error("Payload URL must not include hostname: "+n);const i=Bu(),r=e.hash||(e.fresh?Date.now():i.app.buildId),s=i.app.cdnURL,o=s&&await TT(n)?s:i.app.baseURL;return dA(o,t.pathname,sW+(r?`?${r}`:""))}async function ET(n){const e=fetch(n).then(t=>t.text().then(MT));try{return await e}catch(t){console.warn("[nuxt] Cannot load payload ",n,t)}return null}async function TT(n=mA().path){const e=Tn();return n=fA(n),(await AA()).prerendered.includes(n)?!0:e.runWithContext(async()=>{const i=await dx({path:n});return!!i.prerender&&!i.redirect})}let Oc=null;async function aW(){var i;if(Oc)return Oc;const n=document.getElementById("__NUXT_DATA__");if(!n)return{};const e=await MT(n.textContent||""),t=n.dataset.src?await ET(n.dataset.src):void 0;return Oc={...e,...t,...window.__NUXT__},(i=Oc.config)!=null&&i.public&&(Oc.config.public=so(Oc.config.public)),Oc}async function MT(n){return await hQ(n,Tn()._payloadRevivers)}function lW(n,e){Tn()._payloadRevivers[n]=e}const cW=[["NuxtError",n=>Sp(n)],["EmptyShallowRef",n=>ds(n==="_"?void 0:n==="0n"?BigInt(0):pg(n))],["EmptyRef",n=>gt(n==="_"?void 0:n==="0n"?BigInt(0):pg(n))],["ShallowRef",n=>ds(n)],["ShallowReactive",n=>Fa(n)],["Ref",n=>gt(n)],["Reactive",n=>so(n)]],uW=oo({name:"nuxt:revive-payload:client",order:-30,async setup(n){let e,t;for(const[i,r]of cW)lW(i,r);Object.assign(n.payload,([e,t]=qf(()=>n.runWithContext(aW)),e=await e,t(),e)),window.__NUXT__=n.payload}}),fW=[],dW=oo({name:"nuxt:head",enforce:"pre",setup(n){const e=KQ({plugins:fW});ZQ(()=>Tn().vueApp._context.provides.usehead),n.vueApp.use(e);{let t=!0;const i=async()=>{t=!1,await xT(e)};e.hooks.hook("dom:beforeRender",r=>{r.shouldRender=!t}),n.hooks.hook("page:start",()=>{t=!0}),n.hooks.hook("page:finish",()=>{n.isHydrating||i()}),n.hooks.hook("app:error",i),n.hooks.hook("app:suspense:resolve",i)}}});/*!
20  * vue-router v4.5.0
21  * (c) 2024 Eduardo San Martin Morote
22  * @license MIT
23  */const Sf=typeof document<"u";function IT(n){return typeof n=="object"||"displayName"in n||"props"in n||"__vccOpts"in n}function hW(n){return n.__esModule||n[Symbol.toStringTag]==="Module"||n.default&&IT(n.default)}const hn=Object.assign;function O2(n,e){const t={};for(const i in e){const r=e[i];t[i]=Mo(r)?r.map(n):n(r)}return t}const s0=()=>{},Mo=Array.isArray,PT=/#/g,pW=/&/g,mW=/\//g,gW=/=/g,AW=/\?/g,RT=/\+/g,vW=/%5B/g,yW=/%5D/g,BT=/%5E/g,_W=/%60/g,DT=/%7B/g,bW=/%7C/g,LT=/%7D/g,xW=/%20/g;function hx(n){return encodeURI(""+n).replace(bW,"|").replace(vW,"[").replace(yW,"]")}function CW(n){return hx(n).replace(DT,"{").replace(LT,"}").replace(BT,"^")}function m_(n){return hx(n).replace(RT,"%2B").replace(xW,"+").replace(PT,"%23").replace(pW,"%26").replace(_W,"`").replace(DT,"{").replace(LT,"}").replace(BT,"^")}function wW(n){return m_(n).replace(gW,"%3D")}function SW(n){return hx(n).replace(PT,"%23").replace(AW,"%3F")}function EW(n){return n==null?"":SW(n).replace(mW,"%2F")}function F0(n){try{return decodeURIComponent(""+n)}catch{}return""+n}const TW=/\/$/,MW=n=>n.replace(TW,"");function F2(n,e,t="/"){let i,r={},s="",o="";const a=e.indexOf("#");let l=e.indexOf("?");return a<l&&a>=0&&(l=-1),l>-1&&(i=e.slice(0,l),s=e.slice(l+1,a>-1?a:e.length),r=n(s)),a>-1&&(i=i||e.slice(0,a),o=e.slice(a,e.length)),i=BW(i??e,t),{fullPath:i+(s&&"?")+s+o,path:i,query:r,hash:F0(o)}}function IW(n,e){const t=e.query?n(e.query):"";return e.path+(t&&"?")+t+(e.hash||"")}function BC(n,e){return!e||!n.toLowerCase().startsWith(e.toLowerCase())?n:n.slice(e.length)||"/"}function PW(n,e,t){const i=e.matched.length-1,r=t.matched.length-1;return i>-1&&i===r&&pd(e.matched[i],t.matched[r])&&OT(e.params,t.params)&&n(e.query)===n(t.query)&&e.hash===t.hash}function pd(n,e){return(n.aliasOf||n)===(e.aliasOf||e)}function OT(n,e){if(Object.keys(n).length!==Object.keys(e).length)return!1;for(const t in n)if(!RW(n[t],e[t]))return!1;return!0}function RW(n,e){return Mo(n)?DC(n,e):Mo(e)?DC(e,n):n===e}function DC(n,e){return Mo(e)?n.length===e.length&&n.every((t,i)=>t===e[i]):n.length===1&&n[0]===e}function BW(n,e){if(n.startsWith("/"))return n;if(!n)return e;const t=e.split("/"),i=n.split("/"),r=i[i.length-1];(r===".."||r===".")&&i.push("");let s=t.length-1,o,a;for(o=0;o<i.length;o++)if(a=i[o],a!==".")if(a==="..")s>1&&s--;else break;return t.slice(0,s).join("/")+"/"+i.slice(o).join("/")}const Ao={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var U0;(function(n){n.pop="pop",n.push="push"})(U0||(U0={}));var o0;
vendor: 9,773 bytes, line 23
23(function(n){n.back="back",n.forward="forward",n.unknown=""})(o0||(o0={}));function DW(n){if(!n)if(Sf){const e=document.querySelector("base");n=e&&e.getAttribute("href")||"/",n=n.replace(/^\w+:\/\/[^\/]+/,"")}else n="/";return n[0]!=="/"&&n[0]!=="#"&&(n="/"+n),MW(n)}const LW=/^[^#]+#/;function OW(n,e){return n.replace(LW,"#")+e}function FW(n,e){const t=document.documentElement.getBoundingClientRect(),i=n.getBoundingClientRect();return{behavior:e.behavior,left:i.left-t.left-(e.left||0),top:i.top-t.top-(e.top||0)}}const vA=()=>({left:window.scrollX,top:window.scrollY});function UW(n){let e;if("el"in n){const t=n.el,i=typeof t=="string"&&t.startsWith("#"),r=typeof t=="string"?i?document.getElementById(t.slice(1)):document.querySelector(t):t;if(!r)return;e=FW(r,n)}else e=n;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.scrollX,e.top!=null?e.top:window.scrollY)}function LC(n,e){return(history.state?history.state.position-e:-1)+n}const g_=new Map;function NW(n,e){g_.set(n,e)}function kW(n){const e=g_.get(n);return g_.delete(n),e}let zW=()=>location.protocol+"//"+location.host;function FT(n,e){const{pathname:t,search:i,hash:r}=e,s=n.indexOf("#");if(s>-1){let a=r.includes(n.slice(s))?n.slice(s).length:1,l=r.slice(a);return l[0]!=="/"&&(l="/"+l),BC(l,"")}return BC(t,n)+i+r}function HW(n,e,t,i){let r=[],s=[],o=null;const a=({state:h})=>{const p=FT(n,location),m=t.value,v=e.value;let A=0;if(h){if(t.value=p,e.value=h,o&&o===m){o=null;return}A=v?h.position-v.position:0}else i(p);r.forEach(y=>{y(t.value,m,{delta:A,type:U0.pop,direction:A?A>0?o0.forward:o0.back:o0.unknown})})};function l(){o=t.value}function c(h){r.push(h);const p=()=>{const m=r.indexOf(h);m>-1&&r.splice(m,1)};return s.push(p),p}function u(){const{history:h}=window;h.state&&h.replaceState(hn({},h.state,{scroll:vA()}),"")}function f(){for(const h of s)h();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:l,listen:c,destroy:f}}function OC(n,e,t,i=!1,r=!1){return{back:n,current:e,forward:t,replaced:i,position:window.history.length,scroll:r?vA():null}}function VW(n){const{history:e,location:t}=window,i={value:FT(n,t)},r={value:e.state};r.value||s(i.value,{back:null,current:i.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function s(l,c,u){const f=n.indexOf("#"),h=f>-1?(t.host&&document.querySelector("base")?n:n.slice(f))+l:zW()+n+l;try{e[u?"replaceState":"pushState"](c,"",h),r.value=c}catch(p){console.error(p),t[u?"replace":"assign"](h)}}function o(l,c){const u=hn({},e.state,OC(r.value.back,l,r.value.forward,!0),c,{position:r.value.position});s(l,u,!0),i.value=l}function a(l,c){const u=hn({},r.value,e.state,{forward:l,scroll:vA()});s(u.current,u,!0);const f=hn({},OC(i.value,l,null),{position:u.position+1},c);s(l,f,!1),i.value=l}return{location:i,state:r,push:a,replace:o}}function GW(n){n=DW(n);const e=VW(n),t=HW(n,e.state,e.location,e.replace);function i(s,o=!0){o||t.pauseListeners(),history.go(s)}const r=hn({location:"",base:n,go:i,createHref:OW.bind(null,n)},e,t);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>e.state.value}),r}function QW(n){return typeof n=="string"||n&&typeof n=="object"}function UT(n){return typeof n=="string"||typeof n=="symbol"}const NT=Symbol("");var FC;(function(n){n[n.aborted=4]="aborted",n[n.cancelled=8]="cancelled",n[n.duplicated=16]="duplicated"})(FC||(FC={}));function md(n,e){return hn(new Error,{type:n,[NT]:!0},e)}function ga(n,e){return n instanceof Error&&NT in n&&(e==null||!!(n.type&e))}const UC="[^/]+?",WW={sensitive:!1,strict:!1,start:!0,end:!0},jW=/[.+*?^${}()[\]/\\]/g;function qW(n,e){const t=hn({},WW,e),i=[];let r=t.start?"^":"";const s=[];for(const c of n){const u=c.length?[]:[90];t.strict&&!c.length&&(r+="/");for(let f=0;f<c.length;f++){const h=c[f];let p=40+(t.sensitive?.25:0);if(h.type===0)f||(r+="/"),r+=h.value.replace(jW,"\\$&"),p+=40;else if(h.type===1){const{value:m,repeatable:v,optional:A,regexp:y}=h;s.push({name:m,repeatable:v,optional:A});const x=y||UC;if(x!==UC){p+=10;try{new RegExp(`(${x})`)}catch(_){throw new Error(`Invalid custom RegExp for param "${m}" (${x}): `+_.message)}}let b=v?`((?:${x})(?:/(?:${x}))*)`:`(${x})`;f||(b=A&&c.length<2?`(?:/${b})`:"/"+b),A&&(b+="?"),r+=b,p+=20,A&&(p+=-8),v&&(p+=-20),x===".*"&&(p+=-50)}u.push(p)}i.push(u)}if(t.strict&&t.end){const c=i.length-1;i[c][i[c].length-1]+=.7000000000000001}t.strict||(r+="/?"),t.end?r+="$":t.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const o=new RegExp(r,t.sensitive?"":"i");function a(c){const u=c.match(o),f={};if(!u)return null;for(let h=1;h<u.length;h++){const p=u[h]||"",m=s[h-1];f[m.name]=p&&m.repeatable?p.split("/"):p}return f}function l(c){let u="",f=!1;for(const h of n){(!f||!u.endsWith("/"))&&(u+="/"),f=!1;for(const p of h)if(p.type===0)u+=p.value;else if(p.type===1){const{value:m,repeatable:v,optional:A}=p,y=m in c?c[m]:"";if(Mo(y)&&!v)throw new Error(`Provided param "${m}" is an array but it is not repeatable (* or + modifiers)`);const x=Mo(y)?y.join("/"):y;if(!x)if(A)h.length<2&&(u.endsWith("/")?u=u.slice(0,-1):f=!0);else throw new Error(`Missing required param "${m}"`);u+=x}}return u||"/"}return{re:o,score:i,keys:s,parse:a,stringify:l}}function XW(n,e){let t=0;for(;t<n.length&&t<e.length;){const i=e[t]-n[t];if(i)return i;t++}return n.length<e.length?n.length===1&&n[0]===80?-1:1:n.length>e.length?e.length===1&&e[0]===80?1:-1:0}function kT(n,e){let t=0;const i=n.score,r=e.score;for(;t<i.length&&t<r.length;){const s=XW(i[t],r[t]);if(s)return s;t++}if(Math.abs(r.length-i.length)===1){if(NC(i))return 1;if(NC(r))return-1}return r.length-i.length}function NC(n){const e=n[n.length-1];return n.length>0&&e[e.length-1]<0}const YW={type:0,value:""},$W=/[a-zA-Z0-9_]/;function KW(n){if(!n)return[[]];if(n==="/")return[[YW]];if(!n.startsWith("/"))throw new Error(`Invalid path "${n}"`);function e(p){throw new Error(`ERR (${t})/"${c}": ${p}`)}let t=0,i=t;const r=[];let s;function o(){s&&r.push(s),s=[]}let a=0,l,c="",u="";function f(){c&&(t===0?s.push({type:0,value:c}):t===1||t===2||t===3?(s.length>1&&(l==="*"||l==="+")&&e(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:c,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):e("Invalid state to consume buffer"),c="")}function h(){c+=l}for(;a<n.length;){if(l=n[a++],l==="\\"&&t!==2){i=t,t=4;continue}switch(t){case 0:l==="/"?(c&&f(),o()):l===":"?(f(),t=1):h();break;case 4:h(),t=i;break;case 1:l==="("?t=2:$W.test(l)?h():(f(),t=0,l!=="*"&&l!=="?"&&l!=="+"&&a--);break;case 2:l===")"?u[u.length-1]=="\\"?u=u.slice(0,-1)+l:t=3:u+=l;break;case 3:f(),t=0,l!=="*"&&l!=="?"&&l!=="+"&&a--,u="";break;default:e("Unknown state");break}}return t===2&&e(`Unfinished custom RegExp for param "${c}"`),f(),o(),r}function ZW(n,e,t){const i=qW(KW(n.path),t),r=hn(i,{record:n,parent:e,children:[],alias:[]});return e&&!r.record.aliasOf==!e.record.aliasOf&&e.children.push(r),r}function JW(n,e){const t=[],i=new Map;e=VC({strict:!1,end:!0,sensitive:!1},e);function r(f){return i.get(f)}function s(f,h,p){const m=!p,v=zC(f);v.aliasOf=p&&p.record;const A=VC(e,f),y=[v];if("alias"in f){const _=typeof f.alias=="string"?[f.alias]:f.alias;for(const T of _)y.push(zC(hn({},v,{components:p?p.record.components:v.components,path:T,aliasOf:p?p.record:v})))}let x,b;for(const _ of y){const{path:T}=_;if(h&&T[0]!=="/"){const M=h.record.path,I=M[M.length-1]==="/"?"":"/";_.path=h.record.path+(T&&I+T)}if(x=ZW(_,h,A),p?p.alias.push(x):(b=b||x,b!==x&&b.alias.push(x),m&&f.name&&!HC(x)&&o(f.name)),zT(x)&&l(x),v.children){const M=v.children;for(let I=0;I<M.length;I++)s(M[I],x,p&&p.children[I])}p=p||x}return b?()=>{o(b)}:s0}function o(f){if(UT(f)){const h=i.get(f);h&&(i.delete(f),t.splice(t.indexOf(h),1),h.children.forEach(o),h.alias.forEach(o))}else{const h=t.indexOf(f);h>-1&&(t.splice(h,1),f.record.name&&i.delete(f.record.name),f.children.forEach(o),f.alias.forEach(o))}}function a(){return t}function l(f){const h=nj(f,t);t.splice(h,0,f),f.record.name&&!HC(f)&&i.set(f.record.name,f)}function c(f,h){let p,m={},v,A;if("name"in f&&f.name){if(p=i.get(f.name),!p)throw md(1,{location:f});A=p.record.name,m=hn(kC(h.params,p.keys.filter(b=>!b.optional).concat(p.parent?p.parent.keys.filter(b=>b.optional):[]).map(b=>b.name)),f.params&&kC(f.params,p.keys.map(b=>b.name))),v=p.stringify(m)}else if(f.path!=null)v=f.path,p=t.find(b=>b.re.test(v)),p&&(m=p.parse(v),A=p.record.name);else{if(p=h.name?i.get(h.name):t.find(b=>b.re.test(h.path)),!p)throw md(1,{location:f,currentLocation:h});A=p.record.name,m=hn({},h.params,f.params),v=p.stringify(m)}const y=[];let x=p;for(;x;)y.unshift(x.record),x=x.parent;return{name:A,path:v,params:m,matched:y,meta:tj(y)}}n.forEach(f=>s(f));function u(){t.length=0,i.clear()}return{addRoute:s,resolve:c,removeRoute:o,clearRoutes:u,getRoutes:a,getRecordMatcher:r}}function kC(n,e){const t={};for(const i of e)i in n&&(t[i]=n[i]);return t}function zC(n){const e={path:n.path,redirect:n.redirect,name:n.name,meta:n.meta||{},aliasOf:n.aliasOf,beforeEnter:n.beforeEnter,props:ej(n),children:n.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in n?n.components||null:n.component&&{default:n.component}};return Object.defineProperty(e,"mods",{value:{}}),e}function ej(n){const e={},t=n.props||!1;if("component"in n)e.default=t;else for(const i in n.components)e[i]=typeof t=="object"?t[i]:t;return e}function HC(n){for(;n;){if(n.record.aliasOf)return!0;n=n.parent}return!1}function tj(n){return n.reduce((e,t)=>
vendor: 4,592 bytes, line 23
23hn(e,t.meta),{})}function VC(n,e){const t={};for(const i in n)t[i]=i in e?e[i]:n[i];return t}function nj(n,e){let t=0,i=e.length;for(;t!==i;){const s=t+i>>1;kT(n,e[s])<0?i=s:t=s+1}const r=ij(n);return r&&(i=e.lastIndexOf(r,i-1)),i}function ij(n){let e=n;for(;e=e.parent;)if(zT(e)&&kT(n,e)===0)return e}function zT({record:n}){return!!(n.name||n.components&&Object.keys(n.components).length||n.redirect)}function rj(n){const e={};if(n===""||n==="?")return e;const i=(n[0]==="?"?n.slice(1):n).split("&");for(let r=0;r<i.length;++r){const s=i[r].replace(RT," "),o=s.indexOf("="),a=F0(o<0?s:s.slice(0,o)),l=o<0?null:F0(s.slice(o+1));if(a in e){let c=e[a];Mo(c)||(c=e[a]=[c]),c.push(l)}else e[a]=l}return e}function GC(n){let e="";for(let t in n){const i=n[t];if(t=wW(t),i==null){i!==void 0&&(e+=(e.length?"&":"")+t);continue}(Mo(i)?i.map(s=>s&&m_(s)):[i&&m_(i)]).forEach(s=>{s!==void 0&&(e+=(e.length?"&":"")+t,s!=null&&(e+="="+s))})}return e}function sj(n){const e={};for(const t in n){const i=n[t];i!==void 0&&(e[t]=Mo(i)?i.map(r=>r==null?null:""+r):i==null?i:""+i)}return e}const oj=Symbol(""),QC=Symbol(""),px=Symbol(""),HT=Symbol(""),A_=Symbol("");function mh(){let n=[];function e(i){return n.push(i),()=>{const r=n.indexOf(i);r>-1&&n.splice(r,1)}}function t(){n=[]}return{add:e,list:()=>n.slice(),reset:t}}function wl(n,e,t,i,r,s=o=>o()){const o=i&&(i.enterCallbacks[r]=i.enterCallbacks[r]||[]);return()=>new Promise((a,l)=>{const c=h=>{h===!1?l(md(4,{from:t,to:e})):h instanceof Error?l(h):QW(h)?l(md(2,{from:e,to:h})):(o&&i.enterCallbacks[r]===o&&typeof h=="function"&&o.push(h),a())},u=s(()=>n.call(i&&i.instances[r],e,t,c));let f=Promise.resolve(u);n.length<3&&(f=f.then(c)),f.catch(h=>l(h))})}function U2(n,e,t,i,r=s=>s()){const s=[];for(const o of n)for(const a in o.components){let l=o.components[a];if(!(e!=="beforeRouteEnter"&&!o.instances[a]))if(IT(l)){const u=(l.__vccOpts||l)[e];u&&s.push(wl(u,t,i,o,a,r))}else{let c=l();s.push(()=>c.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${a}" at "${o.path}"`);const f=hW(u)?u.default:u;o.mods[a]=u,o.components[a]=f;const p=(f.__vccOpts||f)[e];return p&&wl(p,t,i,o,a,r)()}))}}return s}function WC(n){const e=es(px),t=es(HT),i=ii(()=>{const l=qt(n.to);return e.resolve(l)}),r=ii(()=>{const{matched:l}=i.value,{length:c}=l,u=l[c-1],f=t.matched;if(!u||!f.length)return-1;const h=f.findIndex(pd.bind(null,u));if(h>-1)return h;const p=jC(l[c-2]);return c>1&&jC(u)===p&&f[f.length-1].path!==p?f.findIndex(pd.bind(null,l[c-2])):h}),s=ii(()=>r.value>-1&&fj(t.params,i.value.params)),o=ii(()=>r.value>-1&&r.value===t.matched.length-1&&OT(t.params,i.value.params));function a(l={}){if(uj(l)){const c=e[qt(n.replace)?"replace":"push"](qt(n.to)).catch(s0);return n.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:i,href:ii(()=>i.value.href),isActive:s,isExactActive:o,navigate:a}}function aj(n){return n.length===1?n[0]:n}const lj=vs({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:WC,setup(n,{slots:e}){const t=so(WC(n)),{options:i}=es(px),r=ii(()=>({[qC(n.activeClass,i.linkActiveClass,"router-link-active")]:t.isActive,[qC(n.exactActiveClass,i.linkExactActiveClass,"router-link-exact-active")]:t.isExactActive}));return()=>{const s=e.default&&aj(e.default(t));return n.custom?s:Mr("a",{"aria-current":t.isExactActive?n.ariaCurrentValue:null,href:t.href,onClick:t.navigate,class:r.value},s)}}}),cj=lj;function uj(n){if(!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)&&!n.defaultPrevented&&!(n.button!==void 0&&n.button!==0)){if(n.currentTarget&&n.currentTarget.getAttribute){const e=n.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return n.preventDefault&&n.preventDefault(),!0}}function fj(n,e){for(const t in e){const i=e[t],r=n[t];if(typeof i=="string"){if(i!==r)return!1}else if(!Mo(r)||r.length!==i.length||i.some((s,o)=>s!==r[o]))return!1}return!0}function jC(n){return n?n.aliasOf?n.aliasOf.path:n.path:""}const qC=(n,e,t)=>n??e??t,dj=vs({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(n,{attrs:e,slots:t}){const i=es(A_),r=ii(()=>n.route||i.value),s=es(QC,0),o=ii(()=>{let c=qt(s);const{matched:u}=r.value;let f;for(;(f=u[c])&&!f.components;)c++;return c}),a=ii(()=>r.value.matched[o.value]);Va(QC,ii(()=>o.value+1)),Va(oj,a),Va(A_,r);const l=gt();return ai(()=>
vendor: 4,112 bytes, line 23
23[l.value,a.value,n.name],([c,u,f],[h,p,m])=>{u&&(u.instances[f]=c,p&&p!==u&&c&&c===h&&(u.leaveGuards.size||(u.leaveGuards=p.leaveGuards),u.updateGuards.size||(u.updateGuards=p.updateGuards))),c&&u&&(!p||!pd(u,p)||!h)&&(u.enterCallbacks[f]||[]).forEach(v=>v(c))},{flush:"post"}),()=>{const c=r.value,u=n.name,f=a.value,h=f&&f.components[u];if(!h)return XC(t.default,{Component:h,route:c});const p=f.props[u],m=p?p===!0?c.params:typeof p=="function"?p(c):p:null,A=Mr(h,hn({},m,e,{onVnodeUnmounted:y=>{y.component.isUnmounted&&(f.instances[u]=null)},ref:l}));return XC(t.default,{Component:A,route:c})||A}}});function XC(n,e){if(!n)return null;const t=n(e);return t.length===1?t[0]:t}const VT=dj;function hj(n){const e=JW(n.routes,n),t=n.parseQuery||rj,i=n.stringifyQuery||GC,r=n.history,s=mh(),o=mh(),a=mh(),l=ds(Ao);let c=Ao;Sf&&n.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=O2.bind(null,Z=>""+Z),f=O2.bind(null,EW),h=O2.bind(null,F0);function p(Z,Ae){let we,be;return UT(Z)?(we=e.getRecordMatcher(Z),be=Ae):be=Z,e.addRoute(be,we)}function m(Z){const Ae=e.getRecordMatcher(Z);Ae&&e.removeRoute(Ae)}function v(){return e.getRoutes().map(Z=>Z.record)}function A(Z){return!!e.getRecordMatcher(Z)}function y(Z,Ae){if(Ae=hn({},Ae||l.value),typeof Z=="string"){const B=F2(t,Z,Ae.path),le=e.resolve({path:B.path},Ae),ve=r.createHref(B.fullPath);return hn(B,le,{params:h(le.params),hash:F0(B.hash),redirectedFrom:void 0,href:ve})}let we;if(Z.path!=null)we=hn({},Z,{path:F2(t,Z.path,Ae.path).path});else{const B=hn({},Z.params);for(const le in B)B[le]==null&&delete B[le];we=hn({},Z,{params:f(B)}),Ae.params=f(Ae.params)}const be=e.resolve(we,Ae),qe=Z.hash||"";be.params=u(h(be.params));const rt=IW(i,hn({},Z,{hash:CW(qe),path:be.path})),q=r.createHref(rt);return hn({fullPath:rt,hash:qe,query:i===GC?sj(Z.query):Z.query||{}},be,{redirectedFrom:void 0,href:q})}function x(Z){return typeof Z=="string"?F2(t,Z,l.value.path):hn({},Z)}function b(Z,Ae){if(c!==Z)return md(8,{from:Ae,to:Z})}function _(Z){return I(Z)}function T(Z){return _(hn(x(Z),{replace:!0}))}function M(Z){const Ae=Z.matched[Z.matched.length-1];if(Ae&&Ae.redirect){const{redirect:we}=Ae;let be=typeof we=="function"?we(Z):we;return typeof be=="string"&&(be=be.includes("?")||be.includes("#")?be=x(be):{path:be},be.params={}),hn({query:Z.query,hash:Z.hash,params:be.path!=null?{}:Z.params},be)}}function I(Z,Ae){const we=c=y(Z),be=l.value,qe=Z.state,rt=Z.force,q=Z.replace===!0,B=M(we);if(B)return I(hn(x(B),{state:typeof B=="object"?hn({},qe,B.state):qe,force:rt,replace:q}),Ae||we);const le=we;le.redirectedFrom=Ae;let ve;return!rt&&PW(i,be,we)&&(ve=md(16,{to:le,from:be}),ye(be,be,!0,!1)),(ve?Promise.resolve(ve):E(le,be)).catch($=>ga($)?ga($,2)?$:H($):W($,le,be)).then($=>{if($){if(ga($,2))return I(hn({replace:q},x($.to),{state:typeof $.to=="object"?hn({},qe,$.to.state):qe,force:rt}),Ae||le)}else $=L(le,be,!0,q,qe);return F(le,be,$),$})}function R(Z,Ae){const we=b(Z,Ae);return we?Promise.reject(we):Promise.resolve()}function w(Z){const Ae=oe.values().next().value;return Ae&&typeof Ae.runWithContext=="function"?Ae.runWithContext(Z):Z()}function E(Z,Ae){let we;const[be,qe,rt]=pj(Z,Ae);we=U2(be.reverse(),"beforeRouteLeave",Z,Ae);for(const B of be)B.leaveGuards.forEach(le=>{we.push(wl(le,Z,Ae))});const q=R.bind(null,Z,Ae);return we.push(q),Fe(we).then(()=>{we=[];for(const B of s.list())we.push(wl(B,Z,Ae));return we.push(q),Fe(we)}).then(()=>{we=U2(qe,"beforeRouteUpdate",Z,Ae);for(const B of qe)B.updateGuards.forEach(le=>{we.push(wl(le,Z,Ae))});return we.push(q),Fe(we)}).then(()=>{we=[];for(const B of rt)if(B.beforeEnter)if(Mo(B.beforeEnter))for(const le of B.beforeEnter)we.push(wl(le,Z,Ae));else we.push(wl(B.beforeEnter,Z,Ae));return we.push(q),Fe(we)}).then(()=>(Z.matched.forEach(B=>B.enterCallbacks={}),we=U2(rt,"beforeRouteEnter",Z,Ae,w),we.push(q),Fe(we))).then(()=>{we=[];for(const B of o.list())we.push(wl(B,Z,Ae));return we.push(q),Fe(we)}).catch(B=>ga(B,8)?B:Promise.reject(B))}function F(Z,Ae,we){a.list().forEach(be=>w(()=>be(Z,Ae,we)))}function L(Z,Ae,we,be,qe){const rt=b(Z,Ae);
23if(rt)return rt;const q=Ae===Ao,B=Sf?history.state:{};we&&(be||q?r.replace(Z.fullPath,hn({scroll:q&&B&&B.scroll},qe)):r.push(Z.fullPath,qe)),l.value=Z,ye(Z,Ae,we,q),H()}let z;function V(){z||(z=r.listen((Z,Ae,we)=>{if(!_e.listening)return;const be=y(Z),qe=M(be);if(qe){I(hn(qe,{replace:!0,force:!0}),be).catch(s0);return}c=be;const rt=l.value;Sf&&NW(LC(rt.fullPath,we.delta),vA()),E(be,rt).catch(q=>ga(q,12)?q:ga(q,2)?(I(hn(x(q.to),{force:!0}),be).then(B=>{ga(B,20)&&!we.delta&&we.type===U0.pop&&r.go(-1,!1)}).catch(s0),Promise.reject()):(we.delta&&r.go(-we.delta,!1),W(q,be,rt))).then(q=>{q=q||L(be,rt,!1),q&&(we.delta&&!ga(q,8)?r.go(-we.delta,!1):we.type===U0.pop&&ga(q,20)&&r.go(-1,!1)),F(be,rt,q)}).catch(s0)}))}let j=mh(),N=mh(),Q;function W(Z,Ae,we){H(Z);const be=N.list();return be.length?be.forEach(qe=>qe(Z,Ae,we)):console.error(Z),Promise.reject(Z)}function ee(){return Q&&l.value!==Ao?Promise.resolve():new Promise((Z,Ae)=>{j.add([Z,Ae])})}function H(Z){return Q||(Q=!Z,V(),j.list().forEach(([Ae,we])=>Z?we(Z):Ae()),j.reset()),Z}function ye(Z,Ae,we,be){const{scrollBehavior:qe}=n;if(!Sf||!qe)return Promise.resolve();const rt=!we&&kW(LC(Z.fullPath,0))||(be||!we)&&history.state&&history.state.scroll||null;return Ja().then(()=>qe(Z,Ae,rt)).then(q=>q&&UW(q)).catch(q=>W(q,Z,Ae))}const Ie=Z=>r.go(Z);let ze;const oe=new Set,_e={currentRoute:l,listening:!0,addRoute:p,removeRoute:m,clearRoutes:e.clearRoutes,hasRoute:A,getRoutes:v,resolve:y,options:n,push:_,replace:T,go:Ie,back:()=>Ie(-1),forward:()=>Ie(1),beforeEach:s.add,beforeResolve:o.add,afterEach:a.add,onError:N.add,isReady:ee,install(Z){const Ae=this;Z.component("RouterLink",cj),Z.component("RouterView",VT),Z.config.globalProperties.$router=Ae,Object.defineProperty(Z.config.globalProperties,"$route",{enumerable:!0,get:()=>qt(l)}),Sf&&!ze&&l.value===Ao&&(ze=!0,_(r.location).catch(qe=>{}));const we={};for(const qe in Ao)Object.defineProperty(we,qe,{get:()=>l.value[qe],enumerable:!0});Z.provide(px,Ae),Z.provide(HT,Fa(we)),Z.provide(A_,l);const be=Z.unmount;oe.add(Z),Z.unmount=function(){oe.delete(Z),oe.size<1&&(c=Ao,z&&z(),z=null,l.value=Ao,ze=!1,Q=!1),be()}}};function Fe(Z){return Z.reduce((Ae,we)=>Ae.then(()=>w(we)),Promise.resolve())}return _e}function pj(n,e){const t=[],i=[],r=[],s=Math.max(e.matched.length,n.matched.length);for(let o=0;o<s;o++){const a=e.matched[o];a&&(n.matched.find(c=>pd(c,a))?i.push(a):t.push(a));const l=n.matched[o];l&&(e.matched.find(c=>pd(c,l))||r.push(l))}return[t,i,r]}const mj=/(:\w+)\([^)]+\)/g,gj=/(:\w+)[?+*]/g,Aj=/:\w+/g,vj=(n,e)=>e.path.replace(mj,"$1").replace(gj,"$1").replace(Aj,t=>{var i;return((i=n.params[t.slice(1)])==null?void 0:i.toString())||""}),v_=(n,e)=>{const t=n.route.matched.find(r=>{var s;return((s=r.components)==null?void 0:s.default)===n.Component.type}),i=e??(t==null?void 0:t.meta.key)??(t&&vj(n.route,t));return typeof i=="function"?i(n.route):i},yj=(n,e)=>({default:()=>n?Mr(lH,n===!0?{}:n,e):e});function mx(n){return Array.isArray(n)?n:[n]}const N2=[{name:"index",path:"/",component:()=>Sr(()=>import("./DNrMv7f2.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url)},{name:"kitchen-sink",path:"/kitchen-sink",component:()=>Sr(()=>import("./BBifSB1m.js"),__vite__mapDeps([5,2,3,1,6]),import.meta.url)},{name:"legal-notice",path:"/legal-notice",component:()=>Sr(()=>import("./tWjw8LgI.js"),__vite__mapDeps([7,6,1,8,9]),import.meta.url)},{name:"put-your-hand-in-the-box-the-spirit-of-blueyard",path:"/put-your-hand-in-the-box-the-spirit-of-blueyard",component:()=>Sr(()=>import("./CipGBpuf.js"),__vite__mapDeps([10,6,1,8]),import.meta.url)}],_j=(n,e)=>({default:()=>{var t;return n?Mr(aV,n===!0?{}:n,e):(t=e.default)==null?void 0:t.call(e)}}),bj=/(:\w+)\([^)]+\)/g,xj=/(:\w+)[?+*]/g,Cj=/:\w+/g;function YC(n){const e=(n==null?void 0:n.meta.key)??n.path.replace(bj,"$1").replace(xj,"$1").replace(Cj,t=>{var i;return((i=n.params[t.slice(1)])==null?void 0:i.toString())||""});return typeof e=="function"?e(n):e}function wj(n,e){return n===e||e===Ao?!1:YC(n)!==YC(e)?!0:!n.matched.every((i,r)=>{var s,o;return i.components&&i.components.default===((o=(s=e.matched[r])==null?void 0:s.components)==null?void 0:o.default)})}const Sj={scrollBehavior(n,e,t){var c;const i=Tn(),r=((c=As().options)==null?void 0:c.scrollBehaviorType)??"auto";let s=t||void 0;const o=typeof n.meta.scrollToTop=="function"?n.meta.scrollToTop(n,e):n.meta.scrollToTop;if(!s&&e&&n&&o!==!1&&wj(n,e)&&(s={left:0,top:0}),n.path===e.path)return e.hash&&!n.hash?{left:0,top:0}:n.hash?{el:n.hash,top:$C(n.hash),behavior:r}:!1;const a=u=>!!(u.meta.pageTransition??r_),l=a(e)&&a(n)?"page:transition:finish":"page:finish";return new Promise(u=>{i.hooks.hookOnce(l,async()=>{await new Promise(f=>setTimeout(f,0)),n.hash&&(s={el:n.hash,top:$C(n.hash),behavior:r}),u(s)})})}};function $C(n){try{const e=document.querySelector(n);if(e)return(Number.parseFloat(getComputedStyle(e).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}const Ej={hashMode:!1,scrollBehaviorType:"auto"},Ws={...Ej,...Sj},Tj=async n=>{var l;let e,t;if(!((l=n.meta)!=null&&l.validate))return;const i=Tn(),r=As(),s=([e,t]=qf(()=>Promise.resolve(n.meta.validate(n))),e=await e,t(),e);if(s===!0)return;const o=Sp({statusCode:s&&s.statusCode||404,statusMessage:s&&s.statusMessage||`Page Not Found: ${n.fullPath}`,data:{path:n.fullPath}}),a=r.beforeResolve(c=>{if(a(),c===n){const u=r.afterEach(async()=>{u(),await i.runWithContext(()=>Df(o)),window==null||window.history.pushState({},"",n.fullPath)});return!1}})};function Sa(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function GT(n,e){n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.__proto__=e}/*!
24 * GSAP 3.14.2
25 * https://gsap.com
26 *
27 * @license Copyright 2008-2025, GreenSock. All rights reserved.
28 * Subject to the terms at https://gsap.com/standard-license
29 * @author: Jack Doyle, [email protected]
30*/var Us={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},gd={duration:.5,overwrite:!1,delay:0},gx,fr,Yn,Zo=1e8,Ir=1/Zo,y_=Math.PI*2,Mj=y_/4,Ij=0,QT=Math.sqrt,Pj=Math.cos,Rj=Math.sin,er=function(e){return typeof e=="string"},hi=function(e){return typeof e=="function"},qa=function(e){return typeof e=="number"},Ax=function(e){return typeof e>"u"},ea=function(e){return typeof e=="object"},hs=function(e){return e!==!1},vx=function(){return typeof window<"u"},Mm=function(e){return hi(e)||er(e)},WT=typeof ArrayBuffer=="function"&&ArrayBuffer.isView||function(){},Pr=Array.isArray,Bj=/random\([^)]+\)/g,Dj=/,\s*/g,KC=/(?:-?\.?\d|\.)+/gi,jT=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,Lf=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,k2=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,qT=/[+-]=-?[.\d]+/,Lj=/[^,'"\[\]\s]+/gi,Oj=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,ri,Vo,__,yx,Ns={},Cg={},XT,YT=function(e){return(Cg=Ad(e,Ns))&&Dr},_x=function(e,t){return console.warn("Invalid property",e,"set to",t,"Missing plugin? gsap.registerPlugin()")},N0=function(e,t){return!t&&console.warn(e)},$T=function(e,t){return e&&(Ns[e]=t)&&Cg&&(Cg[e]=t)||Ns},k0=function(){return 0},Fj={suppressEvents:!0,isStart:!0,kill:!1},z1={suppressEvents:!0,kill:!1},Uj={suppressEvents:!0},bx={},Ql=[],b_={},KT,Is={},z2={},ZC=30,H1=[],xx="",Cx=function(e){var t=e[0],i,r;if(ea(t)||hi(t)||(e=[e]),!(i=(t._gsap||{}).harness)){for(r=H1.length;r--&&!H1[r].targetTest(t););i=H1[r]}for(r=e.length;r--;)e[r]&&(e[r]._gsap||(e[r]._gsap=new bM(e[r],i)))||e.splice(r,1);return e},pu=function(e){return e._gsap||Cx(to(e))[0]._gsap},ZT=function(e,t,i){return(i=e[t])&&hi(i)?e[t]():Ax(i)&&e.getAttribute&&e.getAttribute(t)||i}
vendor: 4,134 bytes, line 30
30,ps=function(e,t){return(e=e.split(",")).forEach(t)||e},bi=function(e){return Math.round(e*1e5)/1e5||0},ni=function(e){return Math.round(e*1e7)/1e7||0},Xf=function(e,t){var i=t.charAt(0),r=parseFloat(t.substr(2));return e=parseFloat(e),i==="+"?e+r:i==="-"?e-r:i==="*"?e*r:e/r},Nj=function(e,t){for(var i=t.length,r=0;e.indexOf(t[r])<0&&++r<i;);return r<i},wg=function(){var e=Ql.length,t=Ql.slice(0),i,r;for(b_={},Ql.length=0,i=0;i<e;i++)r=t[i],r&&r._lazy&&(r.render(r._lazy[0],r._lazy[1],!0)._lazy=0)},wx=function(e){return!!(e._initted||e._startAt||e.add)},JT=function(e,t,i,r){Ql.length&&!fr&&wg(),e.render(t,i,!!(fr&&t<0&&wx(e))),Ql.length&&!fr&&wg()},eM=function(e){var t=parseFloat(e);return(t||t===0)&&(e+"").match(Lj).length<2?t:er(e)?e.trim():e},tM=function(e){return e},ks=function(e,t){for(var i in t)i in e||(e[i]=t[i]);return e},kj=function(e){return function(t,i){for(var r in i)r in t||r==="duration"&&e||r==="ease"||(t[r]=i[r])}},Ad=function(e,t){for(var i in t)e[i]=t[i];return e},JC=function n(e,t){for(var i in t)i!=="__proto__"&&i!=="constructor"&&i!=="prototype"&&(e[i]=ea(t[i])?n(e[i]||(e[i]={}),t[i]):t[i]);return e},Sg=function(e,t){var i={},r;for(r in e)r in t||(i[r]=e[r]);return i},a0=function(e){var t=e.parent||ri,i=e.keyframes?kj(Pr(e.keyframes)):ks;if(hs(e.inherit))for(;t;)i(e,t.vars.defaults),t=t.parent||t._dp;return e},zj=function(e,t){for(var i=e.length,r=i===t.length;r&&i--&&e[i]===t[i];);return i<0},nM=function(e,t,i,r,s){var o=e[r],a;if(s)for(a=t[s];o&&o[s]>a;)o=o._prev;return o?(t._next=o._next,o._next=t):(t._next=e[i],e[i]=t),t._next?t._next._prev=t:e[r]=t,t._prev=o,t.parent=t._dp=e,t},yA=function(e,t,i,r){i===void 0&&(i="_first"),r===void 0&&(r="_last");var s=t._prev,o=t._next;s?s._next=o:e[i]===t&&(e[i]=o),o?o._prev=s:e[r]===t&&(e[r]=s),t._next=t._prev=t.parent=null},Kl=function(e,t){e.parent&&(!t||e.parent.autoRemoveChildren)&&e.parent.remove&&e.parent.remove(e),e._act=0},mu=function(e,t){if(e&&(!t||t._end>e._dur||t._start<0))for(var i=e;i;)i._dirty=1,i=i.parent;return e},Hj=function(e){for(var t=e.parent;t&&t.parent;)t._dirty=1,t.totalDuration(),t=t.parent;return e},x_=function(e,t,i,r){return e._startAt&&(fr?e._startAt.revert(z1):e.vars.immediateRender&&!e.vars.autoRevert||e._startAt.render(t,!0,r))},Vj=function n(e){return!e||e._ts&&n(e.parent)},ew=function(e){return e._repeat?vd(e._tTime,e=e.duration()+e._rDelay)*e:0},vd=function(e,t){var i=Math.floor(e=ni(e/t));return e&&i===e?i-1:i},Eg=function(e,t){return(e-t._start)*t._ts+(t._ts>=0?0:t._dirty?t.totalDuration():t._tDur)},_A=function(e){return e._end=ni(e._start+(e._tDur/Math.abs(e._ts||e._rts||Ir)||0))},bA=function(e,t){var i=e._dp;return i&&i.smoothChildTiming&&e._ts&&(e._start=ni(i._time-(e._ts>0?t/e._ts:((e._dirty?e.totalDuration():e._tDur)-t)/-e._ts)),_A(e),i._dirty||mu(i,e)),e},iM=function(e,t){var i;if((t._time||!t._dur&&t._initted||t._start<e._time&&(t._dur||!t.add))&&(i=Eg(e.rawTime(),t),(!t._dur||Ep(0,t.totalDuration(),i)-t._tTime>Ir)&&t.render(i,!0)),mu(e,t)._dp&&e._initted&&e._time>=e._dur&&e._ts){if(e._dur<e.duration())for(i=e;i._dp;)i.rawTime()>=0&&i.totalTime(i._tTime),i=i._dp;e._zTime=-1e-8}},Wo=function(e,t,i,r){return t.parent&&Kl(t),t._start=ni((qa(i)?i:i||e!==ri?qs(e,i,t):e._time)+t._delay),t._end=ni(t._start+(t.totalDuration()/Math.abs(t.timeScale())||0)),nM(e,t,"_first","_last",e._sort?"_start":0),C_(t)||(e._recent=t),r||iM(e,t),e._ts<0&&bA(e,e._tTime),e},rM=function(e,t){return(Ns.ScrollTrigger||_x("scrollTrigger",t))&&Ns.ScrollTrigger.create(t,e)},sM=function(e,t,i,r,s){if(Ex(e,t,s),!e._initted)return 1;if(!i&&e._pt&&!fr&&(e._dur&&e.vars.lazy!==!1||!e._dur&&e.vars.lazy)&&KT!==Bs.frame)return Ql.push(e),e._lazy=[s,r],1},Gj=function n(e){var t=e.parent;return t&&t._ts&&t._initted&&!t._lock&&(t.rawTime()<0||n(t))},C_=function(e){var t=e.data;return t==="isFromStart"||t==="isStart"},Qj=function(e,t,i,r){var s=e.ratio,o=t<0||!t&&(!e._start&&Gj(e)&&!(!e._initted&&C_(e))||(e._ts<0||e._dp._ts<0)&&!C_(e))?0:1,a=e._rDelay,l=0,c,u,f;if(a&&e._repeat&&(l=Ep(0,e._tDur,t),u=vd(l,a),e._yoyo&&u&1&&(o=1-o),u!==vd(e._tTime,a)&&(s=1-o,e.vars.repeatRefresh&&e._initted&&e.invali
vendor: 4,926 bytes, line 30
30date())),o!==s||fr||r||e._zTime===Ir||!t&&e._zTime){if(!e._initted&&sM(e,t,r,i,l))return;for(f=e._zTime,e._zTime=t||(i?Ir:0),i||(i=t&&!f),e.ratio=o,e._from&&(o=1-o),e._time=0,e._tTime=l,c=e._pt;c;)c.r(o,c.d),c=c._next;t<0&&x_(e,t,i,!0),e._onUpdate&&!i&&Ls(e,"onUpdate"),l&&e._repeat&&!i&&e.parent&&Ls(e,"onRepeat"),(t>=e._tDur||t<0)&&e.ratio===o&&(o&&Kl(e,1),!i&&!fr&&(Ls(e,o?"onComplete":"onReverseComplete",!0),e._prom&&e._prom()))}else e._zTime||(e._zTime=t)},Wj=function(e,t,i){var r;if(i>t)for(r=e._first;r&&r._start<=i;){if(r.data==="isPause"&&r._start>t)return r;r=r._next}else for(r=e._last;r&&r._start>=i;){if(r.data==="isPause"&&r._start<t)return r;r=r._prev}},yd=function(e,t,i,r){var s=e._repeat,o=ni(t)||0,a=e._tTime/e._tDur;return a&&!r&&(e._time*=o/e._dur),e._dur=o,e._tDur=s?s<0?1e10:ni(o*(s+1)+e._rDelay*s):o,a>0&&!r&&bA(e,e._tTime=e._tDur*a),e.parent&&_A(e),i||mu(e.parent,e),e},tw=function(e){return e instanceof $r?mu(e):yd(e,e._dur)},jj={_start:0,endTime:k0,totalDuration:k0},qs=function n(e,t,i){var r=e.labels,s=e._recent||jj,o=e.duration()>=Zo?s.endTime(!1):e._dur,a,l,c;return er(t)&&(isNaN(t)||t in r)?(l=t.charAt(0),c=t.substr(-1)==="%",a=t.indexOf("="),l==="<"||l===">"?(a>=0&&(t=t.replace(/=/,"")),(l==="<"?s._start:s.endTime(s._repeat>=0))+(parseFloat(t.substr(1))||0)*(c?(a<0?s:i).totalDuration()/100:1)):a<0?(t in r||(r[t]=o),r[t]):(l=parseFloat(t.charAt(a-1)+t.substr(a+1)),c&&i&&(l=l/100*(Pr(i)?i[0]:i).totalDuration()),a>1?n(e,t.substr(0,a-1),i)+l:o+l)):t==null?o:+t},l0=function(e,t,i){var r=qa(t[1]),s=(r?2:1)+(e<2?0:1),o=t[s],a,l;if(r&&(o.duration=t[1]),o.parent=i,e){for(a=o,l=i;l&&!("immediateRender"in a);)a=l.vars.defaults||{},l=hs(l.vars.inherit)&&l.parent;o.immediateRender=hs(a.immediateRender),e<2?o.runBackwards=1:o.startAt=t[s-1]}return new Mi(t[0],o,t[s+1])},sc=function(e,t){return e||e===0?t(e):t},Ep=function(e,t,i){return i<e?e:i>t?t:i},Er=function(e,t){return!er(e)||!(t=Oj.exec(e))?"":t[1]},qj=function(e,t,i){return sc(i,function(r){return Ep(e,t,r)})},w_=[].slice,oM=function(e,t){return e&&ea(e)&&"length"in e&&(!t&&!e.length||e.length-1 in e&&ea(e[0]))&&!e.nodeType&&e!==Vo},Xj=function(e,t,i){return i===void 0&&(i=[]),e.forEach(function(r){var s;return er(r)&&!t||oM(r,1)?(s=i).push.apply(s,to(r)):i.push(r)})||i},to=function(e,t,i){return Yn&&!t&&Yn.selector?Yn.selector(e):er(e)&&!i&&(__||!_d())?w_.call((t||yx).querySelectorAll(e),0):Pr(e)?Xj(e,i):oM(e)?w_.call(e,0):e?[e]:[]},S_=function(e){return e=to(e)[0]||N0("Invalid scope")||{},function(t){var i=e.current||e.nativeElement||e;return to(t,i.querySelectorAll?i:i===e?N0("Invalid scope")||yx.createElement("div"):e)}},aM=function(e){return e.sort(function(){return .5-Math.random()})},lM=function(e){if(hi(e))return e;var t=ea(e)?e:{each:e},i=gu(t.ease),r=t.from||0,s=parseFloat(t.base)||0,o={},a=r>0&&r<1,l=isNaN(r)||a,c=t.axis,u=r,f=r;return er(r)?u=f={center:.5,edges:.5,end:1}[r]||0:!a&&l&&(u=r[0],f=r[1]),function(h,p,m){var v=(m||t).length,A=o[v],y,x,b,_,T,M,I,R,w;if(!A){if(w=t.grid==="auto"?0:(t.grid||[1,Zo])[1],!w){for(I=-1e8;I<(I=m[w++].getBoundingClientRect().left)&&w<v;);w<v&&w--}for(A=o[v]=[],y=l?Math.min(w,v)*u-.5:r%w,x=w===Zo?0:l?v*f/w-.5:r/w|0,I=0,R=Zo,M=0;M<v;M++)b=M%w-y,_=x-(M/w|0),A[M]=T=c?Math.abs(c==="y"?_:b):QT(b*b+_*_),T>I&&(I=T),T<R&&(R=T);r==="random"&&aM(A),A.max=I-R,A.min=R,A.v=v=(parseFloat(t.amount)||parseFloat(t.each)*(w>v?v-1:c?c==="y"?v/w:w:Math.max(w,v/w))||0)*(r==="edges"?-1:1),A.b=v<0?s-v:s,A.u=Er(t.amount||t.each)||0,i=i&&v<0?vM(i):i}return v=(A[h]-A.min)/A.max||0,ni(A.b+(i?i(v):v)*A.v)+A.u}},E_=function(e){var t=Math.pow(10,((e+"").split(".")[1]||"").length);return function(i){var r=ni(Math.round(parseFloat(i)/e)*e*t);return(r-r%1)/t+(qa(i)?0:Er(i))}},cM=function(e,t){var i=Pr(e),r,s;return!i&&ea(e)&&(r=i=e.radius||Zo,e.values?(e=to(e.values),(s=!qa(e[0]))&&(r*=r)):e=E_(e.increment)),sc(t,i?hi(e)?function(o){return s=e(o),Math.abs(s-o)<=r?s:o}:function(o){for(var a=parseFloat(s?o.x:o),l=parseFloat(s?o.y:0),c=Zo,u=0,f=e.length,h,p;f--;)s?(h=e[f].x-a,p=e[f].y-l,h=h*h+p*p):h=Math.abs(e[f]-a),h<c&&(c=h,u=f);return u=!r||c<=r?e[u]:o,s||u===o||qa(o)?u:u+Er(o)}:E_(e))},uM=function(e,t,i,r){return sc(Pr(e)?!t:i===!0?!!(i=0):!r,function(){return Pr(e)?e[~~(Math.random()*e.length)]:(i=i||1e-5)&&(r=i<1?Math.pow(10,(i+"").length-2):1)&&Math.floor(Math.round((e-i/2+Math.random()*(t-e+i*.99))/i)*i*r)/r})},Yj=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return function(r){return t.reduce(function(s,o){return o(s)},r)}},$j=function(e,t){return function(i){return e(parseFloat(i))+(t||Er(i))}},Kj=function(e,t,i){return dM(e,t,0,1,i)},fM=function(e,t,i){return sc(i,function(r){return e[~~t(r)]})},Zj=function n(e,t,i){var r=t-e;return Pr(e)?fM(e,n(0,e.length),t):sc(i,function(s){return(r+(s-e)%r)%r+e})},Jj=function n(e,t,i){var r=t-e,s=r*2;return Pr(e)?fM(e,n(0,e.length-1),t):sc(i,function(o){return o=(s+(o-e)%s)%s||
vendor: 4,137 bytes, line 30
300,e+(o>r?s-o:o)})},z0=function(e){return e.replace(Bj,function(t){var i=t.indexOf("[")+1,r=t.substring(i||7,i?t.indexOf("]"):t.length-1).split(Dj);return uM(i?r:+r[0],i?0:+r[1],+r[2]||1e-5)})},dM=function(e,t,i,r,s){var o=t-e,a=r-i;return sc(s,function(l){return i+((l-e)/o*a||0)})},eq=function n(e,t,i,r){var s=isNaN(e+t)?0:function(p){return(1-p)*e+p*t};if(!s){var o=er(e),a={},l,c,u,f,h;if(i===!0&&(r=1)&&(i=null),o)e={p:e},t={p:t};else if(Pr(e)&&!Pr(t)){for(u=[],f=e.length,h=f-2,c=1;c<f;c++)u.push(n(e[c-1],e[c]));f--,s=function(m){m*=f;var v=Math.min(h,~~m);return u[v](m-v)},i=t}else r||(e=Ad(Pr(e)?[]:{},e));if(!u){for(l in t)Sx.call(a,e,l,"get",t[l]);s=function(m){return Ix(m,a)||(o?e.p:e)}}}return sc(i,s)},nw=function(e,t,i){var r=e.labels,s=Zo,o,a,l;for(o in r)a=r[o]-t,a<0==!!i&&a&&s>(a=Math.abs(a))&&(l=o,s=a);return l},Ls=function(e,t,i){var r=e.vars,s=r[t],o=Yn,a=e._ctx,l,c,u;if(s)return l=r[t+"Params"],c=r.callbackScope||e,i&&Ql.length&&wg(),a&&(Yn=a),u=l?s.apply(c,l):s.call(c),Yn=o,u},zh=function(e){return Kl(e),e.scrollTrigger&&e.scrollTrigger.kill(!!fr),e.progress()<1&&Ls(e,"onInterrupt"),e},Of,hM=[],pM=function(e){if(e)if(e=!e.name&&e.default||e,vx()||e.headless){var t=e.name,i=hi(e),r=t&&!i&&e.init?function(){this._props=[]}:e,s={init:k0,render:Ix,add:Sx,kill:gq,modifier:mq,rawVars:0},o={targetTest:0,get:0,getSetter:Mx,aliases:{},register:0};if(_d(),e!==r){if(Is[t])return;ks(r,ks(Sg(e,s),o)),Ad(r.prototype,Ad(s,Sg(e,o))),Is[r.prop=t]=r,e.targetTest&&(H1.push(r),bx[t]=1),t=(t==="css"?"CSS":t.charAt(0).toUpperCase()+t.substr(1))+"Plugin"}$T(t,r),e.register&&e.register(Dr,r,ms)}else hM.push(e)},Pn=255,Hh={aqua:[0,Pn,Pn],lime:[0,Pn,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,Pn],navy:[0,0,128],white:[Pn,Pn,Pn],olive:[128,128,0],yellow:[Pn,Pn,0],orange:[Pn,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[Pn,0,0],pink:[Pn,192,203],cyan:[0,Pn,Pn],transparent:[Pn,Pn,Pn,0]},H2=function(e,t,i){return e+=e<0?1:e>1?-1:0,(e*6<1?t+(i-t)*e*6:e<.5?i:e*3<2?t+(i-t)*(2/3-e)*6:t)*Pn+.5|0},mM=function(e,t,i){var r=e?qa(e)?[e>>16,e>>8&Pn,e&Pn]:0:Hh.black,s,o,a,l,c,u,f,h,p,m;if(!r){if(e.substr(-1)===","&&(e=e.substr(0,e.length-1)),Hh[e])r=Hh[e];else if(e.charAt(0)==="#"){if(e.length<6&&(s=e.charAt(1),o=e.charAt(2),a=e.charAt(3),e="#"+s+s+o+o+a+a+(e.length===5?e.charAt(4)+e.charAt(4):"")),e.length===9)return r=parseInt(e.substr(1,6),16),[r>>16,r>>8&Pn,r&Pn,parseInt(e.substr(7),16)/255];e=parseInt(e.substr(1),16),r=[e>>16,e>>8&Pn,e&Pn]}else if(e.substr(0,3)==="hsl"){if(r=m=e.match(KC),!t)l=+r[0]%360/360,c=+r[1]/100,u=+r[2]/100,o=u<=.5?u*(c+1):u+c-u*c,s=u*2-o,r.length>3&&(r[3]*=1),r[0]=H2(l+1/3,s,o),r[1]=H2(l,s,o),r[2]=H2(l-1/3,s,o);else if(~e.indexOf("="))return r=e.match(jT),i&&r.length<4&&(r[3]=1),r}else r=e.match(KC)||Hh.transparent;r=r.map(Number)}return t&&!m&&(s=r[0]/Pn,o=r[1]/Pn,a=r[2]/Pn,f=Math.max(s,o,a),h=Math.min(s,o,a),u=(f+h)/2,f===h?l=c=0:(p=f-h,c=u>.5?p/(2-f-h):p/(f+h),l=f===s?(o-a)/p+(o<a?6:0):f===o?(a-s)/p+2:(s-o)/p+4,l*=60),r[0]=~~(l+.5),r[1]=~~(c*100+.5),r[2]=~~(u*100+.5)),i&&r.length<4&&(r[3]=1),r},gM=function(e){var t=[],i=[],r=-1;return e.split(Wl).forEach(function(s){var o=s.match(Lf)||[];t.push.apply(t,o),i.push(r+=o.length+1)}),t.c=i,t},iw=function(e,t,i){var r="",s=(e+r).match(Wl),o=t?"hsla(":"rgba(",a=0,l,c,u,f;if(!s)return e;if(s=s.map(function(h){return(h=mM(h,t,1))&&o+(t?h[0]+","+h[1]+"%,"+h[2]+"%,"+h[3]:h.join(","))+")"}),i&&(u=gM(e),l=i.c,l.join(r)!==u.c.join(r)))for(c=e.replace(Wl,"1").split(Lf),f=c.length-1;a<f;a++)r+=c[a]+(~l.indexOf(a)?s.shift()||o+"0,0,0,0)":(u.length?u:s.length?s:i).shift());if(!c)for(c=e.split(Wl),f=c.length-1;a<f;a++)r+=c[a]+s[a];return r+c[f]},Wl=function(){var n="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b",e;for(e in Hh)n+="|"+e+"\\b";return new RegExp(n+")","gi")}(),tq=/hsl[a]?\(/,AM=function(e){var t=e.join(" "),i;if(Wl.lastIndex=0,Wl.test(t))return i=tq.test(t),e[1]=iw(e[1],i),e[0]=iw(e[0],i,gM(e[1])),!0},H0,Bs=function(){var n=Date.now,e=500,t=33,i=n(),r=i,s=1e3/240,o=s,a=[],l,c,u,f,h,p,m=function v(A){var y=n()-r,x=A===!0,b,_,T,M;
vendor: 8,661 bytes, line 30
30if((y>e||y<0)&&(i+=y-t),r+=y,T=r-i,b=T-o,(b>0||x)&&(M=++f.frame,h=T-f.time*1e3,f.time=T=T/1e3,o+=b+(b>=s?4:s-b),_=1),x||(l=c(v)),_)for(p=0;p<a.length;p++)a[p](T,h,M,A)};return f={time:0,frame:0,tick:function(){m(!0)},deltaRatio:function(A){return h/(1e3/(A||60))},wake:function(){XT&&(!__&&vx()&&(Vo=__=window,yx=Vo.document||{},Ns.gsap=Dr,(Vo.gsapVersions||(Vo.gsapVersions=[])).push(Dr.version),YT(Cg||Vo.GreenSockGlobals||!Vo.gsap&&Vo||{}),hM.forEach(pM)),u=typeof requestAnimationFrame<"u"&&requestAnimationFrame,l&&f.sleep(),c=u||function(A){return setTimeout(A,o-f.time*1e3+1|0)},H0=1,m(2))},sleep:function(){(u?cancelAnimationFrame:clearTimeout)(l),H0=0,c=k0},lagSmoothing:function(A,y){e=A||1/0,t=Math.min(y||33,e)},fps:function(A){s=1e3/(A||240),o=f.time*1e3+s},add:function(A,y,x){var b=y?function(_,T,M,I){A(_,T,M,I),f.remove(b)}:A;return f.remove(A),a[x?"unshift":"push"](b),_d(),b},remove:function(A,y){~(y=a.indexOf(A))&&a.splice(y,1)&&p>=y&&p--},_listeners:a},f}(),_d=function(){return!H0&&Bs.wake()},Jt={},nq=/^[\d.\-M][\d.\-,\s]/,iq=/["']/g,rq=function(e){for(var t={},i=e.substr(1,e.length-3).split(":"),r=i[0],s=1,o=i.length,a,l,c;s<o;s++)l=i[s],a=s!==o-1?l.lastIndexOf(","):l.length,c=l.substr(0,a),t[r]=isNaN(c)?c.replace(iq,"").trim():+c,r=l.substr(a+1).trim();return t},sq=function(e){var t=e.indexOf("(")+1,i=e.indexOf(")"),r=e.indexOf("(",t);return e.substring(t,~r&&r<i?e.indexOf(")",i+1):i)},oq=function(e){var t=(e+"").split("("),i=Jt[t[0]];return i&&t.length>1&&i.config?i.config.apply(null,~e.indexOf("{")?[rq(t[1])]:sq(e).split(",").map(eM)):Jt._CE&&nq.test(e)?Jt._CE("",e):i},vM=function(e){return function(t){return 1-e(1-t)}},yM=function n(e,t){for(var i=e._first,r;i;)i instanceof $r?n(i,t):i.vars.yoyoEase&&(!i._yoyo||!i._repeat)&&i._yoyo!==t&&(i.timeline?n(i.timeline,t):(r=i._ease,i._ease=i._yEase,i._yEase=r,i._yoyo=t)),i=i._next},gu=function(e,t){return e&&(hi(e)?e:Jt[e]||oq(e))||t},Du=function(e,t,i,r){i===void 0&&(i=function(l){return 1-t(1-l)}),r===void 0&&(r=function(l){return l<.5?t(l*2)/2:1-t((1-l)*2)/2});var s={easeIn:t,easeOut:i,easeInOut:r},o;return ps(e,function(a){Jt[a]=Ns[a]=s,Jt[o=a.toLowerCase()]=i;for(var l in s)Jt[o+(l==="easeIn"?".in":l==="easeOut"?".out":".inOut")]=Jt[a+"."+l]=s[l]}),s},_M=function(e){return function(t){return t<.5?(1-e(1-t*2))/2:.5+e((t-.5)*2)/2}},V2=function n(e,t,i){var r=t>=1?t:1,s=(i||(e?.3:.45))/(t<1?t:1),o=s/y_*(Math.asin(1/r)||0),a=function(u){return u===1?1:r*Math.pow(2,-10*u)*Rj((u-o)*s)+1},l=e==="out"?a:e==="in"?function(c){return 1-a(1-c)}:_M(a);return s=y_/s,l.config=function(c,u){return n(e,c,u)},l},G2=function n(e,t){t===void 0&&(t=1.70158);var i=function(o){return o?--o*o*((t+1)*o+t)+1:0},r=e==="out"?i:e==="in"?function(s){return 1-i(1-s)}:_M(i);return r.config=function(s){return n(e,s)},r};ps("Linear,Quad,Cubic,Quart,Quint,Strong",function(n,e){var t=e<5?e+1:e;Du(n+",Power"+(t-1),e?function(i){return Math.pow(i,t)}:function(i){return i},function(i){return 1-Math.pow(1-i,t)},function(i){return i<.5?Math.pow(i*2,t)/2:1-Math.pow((1-i)*2,t)/2})});Jt.Linear.easeNone=Jt.none=Jt.Linear.easeIn;Du("Elastic",V2("in"),V2("out"),V2());(function(n,e){var t=1/e,i=2*t,r=2.5*t,s=function(a){return a<t?n*a*a:a<i?n*Math.pow(a-1.5/e,2)+.75:a<r?n*(a-=2.25/e)*a+.9375:n*Math.pow(a-2.625/e,2)+.984375};Du("Bounce",function(o){return 1-s(1-o)},s)})(7.5625,2.75);Du("Expo",function(n){return Math.pow(2,10*(n-1))*n+n*n*n*n*n*n*(1-n)});Du("Circ",function(n){return-(QT(1-n*n)-1)});Du("Sine",function(n){return n===1?1:-Pj(n*Mj)+1});Du("Back",G2("in"),G2("out"),G2());Jt.SteppedEase=Jt.steps=Ns.SteppedEase={config:function(e,t){e===void 0&&(e=1);var i=1/e,r=e+(t?0:1),s=t?1:0,o=1-Ir;return function(a){return((r*Ep(0,o,a)|0)+s)*i}}};gd.ease=Jt["quad.out"];ps("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt",function(n){return xx+=n+","+n+"Params,"});var bM=function(e,t){this.id=Ij++,e._gsap=this,this.target=e,this.harness=t,this.get=t?t.get:ZT,this.set=t?t.getSetter:Mx},V0=function(){function n(t){this.vars=t,this._delay=+t.delay||0,(this._repeat=t.repeat===1/0?-2:t.repeat||0)&&(this._rDelay=t.repeatDelay||0,this._yoyo=!!t.yoyo||!!t.yoyoEase),this._ts=1,yd(this,+t.duration,1,1),this.data=t.data,Yn&&(this._ctx=Yn,Yn.data.push(this)),H0||Bs.wake()}var e=n.prototype;return e.delay=function(i){return i||i===0?(this.parent&&this.parent.smoothChildTiming&&this.startTime(this._start+i-this._delay),this._delay=i,this):this._delay},e.duration=function(i){return arguments.length?this.totalDuration(this._repeat>0?i+(i+this._rDelay)*this._repeat:i):this.totalDuration()&&this._dur},e.totalDuration=function(i){return arguments.length?(this._dirty=0,yd(this,this._repeat<0?i:(i-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},e.totalTime=function(i,r){if(_d(),!arguments.length)return this._tTime;var s=this._dp;if(s&&s.smoothChildTiming&&this._ts){for(bA(this,i),!s._dp||s.parent||iM(s,this);s&&s.parent;)s.parent._time!==s._start+(s._ts>=0?s._tTime/s._ts:(s.totalDuration()-s._tTime)/-s._ts)&&s.totalTime(s._tTime,!0),s=s.parent;!this.parent&&this._dp.autoRemoveChildren&&(this._ts>0&&i<this._tDur||this._ts<0&&i>0||!this._tDur&&!i)&&Wo(this._dp,this,this._start-this._delay)}return(this._tTime!==i||!this._dur&&!r||this._initted&&Math.abs(this._zTime)===Ir||!this._initted&&this._dur&&i||!i&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=i),JT(this,i,r)),this},e.time=function(i,r){return arguments.length?this.totalTime(Math.min(this.totalDuration(),i+ew(this))%(this._dur+this._rDelay)||(i?this._dur:0),r):this._time},e.totalProgress=function(i,r){return arguments.length?this.totalTime(this.totalDuration()*i,r):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.rawTime()>=0&&this._initted?1:0},e.progress=function(i,r){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&!(this.iteration()&1)?1-i:i)+ew(this),r):this.duration()?Math.min(1,this._time/this._dur):this.rawTime()>0?1:0},e.iteration=function(i,r){var s=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(i-1)*s,r):this._repeat?vd(this._tTime,s)+1:1},e.timeScale=function(i,r){if(!arguments.length)return this._rts===-1e-8?0:this._rts;if(this._rts===i)return this;var s=this.parent&&this._ts?Eg(this.parent._time,this):this._tTime;return this._rts=+i||0,this._ts=this._ps||i===-1e-8?0:this._rts,this.totalTime(Ep(-Math.abs(this._delay),this.totalDuration(),s),r!==!1),_A(this),Hj(this)},e.paused=function(i){return arguments.length?(this._ps!==i&&(this._ps=i,i?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(_d(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,this.progress()===1&&Math.abs(this._zTime)!==Ir&&(this._tTime-=Ir)))),this):this._ps},e.startTime=function(i){if(arguments.length){this._start=ni(i);var r=this.parent||this._dp;return r&&(r._sort||!this.parent)&&Wo(r,this,this._start-this._delay),this}return this._start},e.endTime=function(i){return this._start+(hs(i)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},e.rawTime=function(i){var r=this.parent||this._dp;return r?i&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?Eg(r.rawTime(i),this):this._tTime:this._tTime},e.revert=function(i){i===void 0&&(i=Uj);var r=fr;return fr=i,wx(this)&&(this.timeline&&this.timeline.revert(i),this.totalTime(-.01,i.suppressEvents)),this.data!=="nested"&&i.kill!==!1&&this.kill(),fr=r,this},e.globalTime=function(i){for(var r=this,s=arguments.length?i:r.rawTime();r;)s=r._start+s/(Math.abs(r._ts)||1),r=r._dp;return!this.parent&&this._sat?this._sat.globalTime(i):s},e.repeat=function(i){return arguments.length?(this._repeat=i===1/0?-2:i,tw(this)):this._repeat===-2?1/0:this._repeat},e.repeatDelay=function(i){if(arguments.length){var r=this._time;return this._rDelay=i,tw(this),r?this.time(r):this}return this._rDelay},e.yoyo=function(i){return arguments.length?(this._yoyo=i,this):this._yoyo},e.seek=function(i,r){return this.totalTime(qs(this,i),hs(r))},e.restart=function(i,r){return this.play().totalTime(i?-this._delay:0,hs(r)),this._dur||(this._zTime=-1e-8),this},e.play=function(i,r){return i!=null&&this.seek(i,r),this.reversed(!1).paused(!1)},e.reverse=function(i,r){return i!=null&&this.seek(i||this.totalDuration(),r),this.reversed(!0).paused(!1)},e.pause=function(i,r){return i!=null&&this.seek(i,r),this.paused(!0)},e.resume=function(){return this.paused(!1)},e.reversed=function(i){return arguments.length?(!!i!==this.reversed()&&this.timeScale(-this._rts||(i?-1e-8:0)),this):this._rts<0}
vendor: 9,032 bytes, line 30
30,e.invalidate=function(){return this._initted=this._act=0,this._zTime=-1e-8,this},e.isActive=function(){var i=this.parent||this._dp,r=this._start,s;return!!(!i||this._ts&&this._initted&&i.isActive()&&(s=i.rawTime(!0))>=r&&s<this.endTime(!0)-Ir)},e.eventCallback=function(i,r,s){var o=this.vars;return arguments.length>1?(r?(o[i]=r,s&&(o[i+"Params"]=s),i==="onUpdate"&&(this._onUpdate=r)):delete o[i],this):o[i]},e.then=function(i){var r=this,s=r._prom;return new Promise(function(o){var a=hi(i)?i:tM,l=function(){var u=r.then;r.then=null,s&&s(),hi(a)&&(a=a(r))&&(a.then||a===r)&&(r.then=u),o(a),r.then=u};r._initted&&r.totalProgress()===1&&r._ts>=0||!r._tTime&&r._ts<0?l():r._prom=l})},e.kill=function(){zh(this)},n}();ks(V0.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-1e-8,_prom:0,_ps:!1,_rts:1});var $r=function(n){GT(e,n);function e(i,r){var s;return i===void 0&&(i={}),s=n.call(this,i)||this,s.labels={},s.smoothChildTiming=!!i.smoothChildTiming,s.autoRemoveChildren=!!i.autoRemoveChildren,s._sort=hs(i.sortChildren),ri&&Wo(i.parent||ri,Sa(s),r),i.reversed&&s.reverse(),i.paused&&s.paused(!0),i.scrollTrigger&&rM(Sa(s),i.scrollTrigger),s}var t=e.prototype;return t.to=function(r,s,o){return l0(0,arguments,this),this},t.from=function(r,s,o){return l0(1,arguments,this),this},t.fromTo=function(r,s,o,a){return l0(2,arguments,this),this},t.set=function(r,s,o){return s.duration=0,s.parent=this,a0(s).repeatDelay||(s.repeat=0),s.immediateRender=!!s.immediateRender,new Mi(r,s,qs(this,o),1),this},t.call=function(r,s,o){return Wo(this,Mi.delayedCall(0,r,s),o)},t.staggerTo=function(r,s,o,a,l,c,u){return o.duration=s,o.stagger=o.stagger||a,o.onComplete=c,o.onCompleteParams=u,o.parent=this,new Mi(r,o,qs(this,l)),this},t.staggerFrom=function(r,s,o,a,l,c,u){return o.runBackwards=1,a0(o).immediateRender=hs(o.immediateRender),this.staggerTo(r,s,o,a,l,c,u)},t.staggerFromTo=function(r,s,o,a,l,c,u,f){return a.startAt=o,a0(a).immediateRender=hs(a.immediateRender),this.staggerTo(r,s,a,l,c,u,f)},t.render=function(r,s,o){var a=this._time,l=this._dirty?this.totalDuration():this._tDur,c=this._dur,u=r<=0?0:ni(r),f=this._zTime<0!=r<0&&(this._initted||!c),h,p,m,v,A,y,x,b,_,T,M,I;if(this!==ri&&u>l&&r>=0&&(u=l),u!==this._tTime||o||f){if(a!==this._time&&c&&(u+=this._time-a,r+=this._time-a),h=u,_=this._start,b=this._ts,y=!b,f&&(c||(a=this._zTime),(r||!s)&&(this._zTime=r)),this._repeat){if(M=this._yoyo,A=c+this._rDelay,this._repeat<-1&&r<0)return this.totalTime(A*100+r,s,o);if(h=ni(u%A),u===l?(v=this._repeat,h=c):(T=ni(u/A),v=~~T,v&&v===T&&(h=c,v--),h>c&&(h=c)),T=vd(this._tTime,A),!a&&this._tTime&&T!==v&&this._tTime-T*A-this._dur<=0&&(T=v),M&&v&1&&(h=c-h,I=1),v!==T&&!this._lock){var R=M&&T&1,w=R===(M&&v&1);if(v<T&&(R=!R),a=R?0:u%c?c:u,this._lock=1,this.render(a||(I?0:ni(v*A)),s,!c)._lock=0,this._tTime=u,!s&&this.parent&&Ls(this,"onRepeat"),this.vars.repeatRefresh&&!I&&(this.invalidate()._lock=1,T=v),a&&a!==this._time||y!==!this._ts||this.vars.onRepeat&&!this.parent&&!this._act)return this;if(c=this._dur,l=this._tDur,w&&(this._lock=2,a=R?c:-1e-4,this.render(a,!0),this.vars.repeatRefresh&&!I&&this.invalidate()),this._lock=0,!this._ts&&!y)return this;yM(this,I)}}if(this._hasPause&&!this._forcing&&this._lock<2&&(x=Wj(this,ni(a),ni(h)),x&&(u-=h-(h=x._start))),this._tTime=u,this._time=h,this._act=!b,this._initted||(this._onUpdate=this.vars.onUpdate,this._initted=1,this._zTime=r,a=0),!a&&u&&c&&!s&&!T&&(Ls(this,"onStart"),this._tTime!==u))return this;if(h>=a&&r>=0)for(p=this._first;p;){if(m=p._next,(p._act||h>=p._start)&&p._ts&&x!==p){if(p.parent!==this)return this.render(r,s,o);if(p.render(p._ts>0?(h-p._start)*p._ts:(p._dirty?p.totalDuration():p._tDur)+(h-p._start)*p._ts,s,o),h!==this._time||!this._ts&&!y){x=0,m&&(u+=this._zTime=-1e-8);break}}p=m}else{p=this._last;for(var E=r<0?r:h;p;){if(m=p._prev,(p._act||E<=p._end)&&p._ts&&x!==p){if(p.parent!==this)return this.render(r,s,o);if(p.render(p._ts>0?(E-p._start)*p._ts:(p._dirty?p.totalDuration():p._tDur)+(E-p._start)*p._ts,s,o||fr&&wx(p)),h!==this._time||!this._ts&&!y){x=0,m&&(u+=this._zTime=E?-1e-8:Ir);break}}p=m}}if(x&&!s&&(this.pause(),x.render(h>=a?0:-1e-8)._zTime=h>=a?1:-1,this._ts))return this._start=_,_A(this),this.render(r,s,o);this._onUpdate&&!s&&Ls(this,"onUpdate",!0),(u===l&&this._tTime>=this.totalDuration()||!u&&a)&&(_===this._start||Math.abs(b)!==Math.abs(this._ts))&&(this._lock||((r||!c)&&(u===l&&this._ts>0||!u&&this._ts<0)&&Kl(this,1),!s&&!(r<0&&!a)&&(u||a||!l)&&(Ls(this,u===l&&r>=0?"onComplete":"onReverseComplete",!0),this._prom&&!(u<l&&this.timeScale()>0)&&this._prom())))}return this},t.add=function(r,s){var o=this;if(qa(s)||(s=qs(this,s,r)),!(r instanceof V0)){if(Pr(r))return r.forEach(function(a){return o.add(a,s)}),this;if(er(r))return this.addLabel(r,s);if(hi(r))r=Mi.delayedCall(0,r);else return this}return this!==r?Wo(this,r,s):this},t.getChildren=function(r,s,o,a){r===void 0&&(r=!0),s===void 0&&(s=!0),o===void 0&&(o=!0),a===void 0&&(a=-1e8);for(var l=[],c=this._first;c;)c._start>=a&&(c instanceof Mi?s&&l.push(c):(o&&l.push(c),r&&l.push.apply(l,c.getChildren(!0,s,o)))),c=c._next;return l},t.getById=function(r){for(var s=this.getChildren(1,1,1),o=s.length;o--;)if(s[o].vars.id===r)return s[o]},t.remove=function(r){return er(r)?this.removeLabel(r):hi(r)?this.killTweensOf(r):(r.parent===this&&yA(this,r),r===this._recent&&(this._recent=this._last),mu(this))},t.totalTime=function(r,s){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=ni(Bs.time-(this._ts>0?r/this._ts:(this.totalDuration()-r)/-this._ts))),n.prototype.totalTime.call(this,r,s),this._forcing=0,this):this._tTime},t.addLabel=function(r,s){return this.labels[r]=qs(this,s),this},t.removeLabel=function(r){return delete this.labels[r],this},t.addPause=function(r,s,o){var a=Mi.delayedCall(0,s||k0,o);return a.data="isPause",this._hasPause=1,Wo(this,a,qs(this,r))},t.removePause=function(r){var s=this._first;for(r=qs(this,r);s;)s._start===r&&s.data==="isPause"&&Kl(s),s=s._next},t.killTweensOf=function(r,s,o){for(var a=this.getTweensOf(r,o),l=a.length;l--;)Bl!==a[l]&&a[l].kill(r,s);return this},t.getTweensOf=function(r,s){for(var o=[],a=to(r),l=this._first,c=qa(s),u;l;)l instanceof Mi?Nj(l._targets,a)&&(c?(!Bl||l._initted&&l._ts)&&l.globalTime(0)<=s&&l.globalTime(l.totalDuration())>s:!s||l.isActive())&&o.push(l):(u=l.getTweensOf(a,s)).length&&o.push.apply(o,u),l=l._next;return o},t.tweenTo=function(r,s){s=s||{};var o=this,a=qs(o,r),l=s,c=l.startAt,u=l.onStart,f=l.onStartParams,h=l.immediateRender,p,m=Mi.to(o,ks({ease:s.ease||"none",lazy:!1,immediateRender:!1,time:a,overwrite:"auto",duration:s.duration||Math.abs((a-(c&&"time"in c?c.time:o._time))/o.timeScale())||Ir,onStart:function(){if(o.pause(),!p){var A=s.duration||Math.abs((a-(c&&"time"in c?c.time:o._time))/o.timeScale());m._dur!==A&&yd(m,A,0,1).render(m._time,!0,!0),p=1}u&&u.apply(m,f||[])}},s));return h?m.render(0):m},t.tweenFromTo=function(r,s,o){return this.tweenTo(s,ks({startAt:{time:qs(this,r)}},o))},t.recent=function(){return this._recent},t.nextLabel=function(r){return r===void 0&&(r=this._time),nw(this,qs(this,r))},t.previousLabel=function(r){return r===void 0&&(r=this._time),nw(this,qs(this,r),1)},t.currentLabel=function(r){return arguments.length?this.seek(r,!0):this.previousLabel(this._time+Ir)},t.shiftChildren=function(r,s,o){o===void 0&&(o=0);var a=this._first,l=this.labels,c;for(r=ni(r);a;)a._start>=o&&(a._start+=r,a._end+=r),a=a._next;if(s)for(c in l)l[c]>=o&&(l[c]+=r);return mu(this)},t.invalidate=function(r){var s=this._first;for(this._lock=0;s;)s.invalidate(r),s=s._next;return n.prototype.invalidate.call(this,r)},t.clear=function(r){r===void 0&&(r=!0);for(var s=this._first,o;s;)o=s._next,this.remove(s),s=o;return this._dp&&(this._time=this._tTime=this._pTime=0),r&&(this.labels={}),mu(this)},t.totalDuration=function(r){var s=0,o=this,a=o._last,l=Zo,c,u,f;if(arguments.length)return o.timeScale((o._repeat<0?o.duration():o.totalDuration())/(o.reversed()?-r:r));if(o._dirty){for(f=o.parent;a;)c=a._prev,a._dirty&&a.totalDuration(),u=a._start,u>l&&o._sort&&a._ts&&!o._lock?(o._lock=1,Wo(o,a,u-a._delay,1)._lock=0):l=u,u<0&&a._ts&&(s-=u,(!f&&!o._dp||f&&f.smoothChildTiming)&&(o._start+=ni(u/o._ts),o._time-=u,o._tTime-=u),o.shiftChildren(-u,!1,-1/0),l=0),a._end>s&&a._ts&&(s=a._end),a=c;yd(o,o===ri&&o._time>s?o._time:s,1,1),o._dirty=0}return o._tDur},e.updateRoot=function(r){if(ri._ts&&(JT(ri,Eg(r,ri)),KT=Bs.frame),Bs.frame>=ZC){ZC+=Us.autoSleep||120;var s=ri._first;if((!s||!s._ts)&&Us.autoSleep&&Bs._listeners.length<2){for(;s&&!s._ts;)s=s._next;s||Bs.sleep()}}},e}(V0);ks($r.prototype,{_lock:0,_hasPause:0,_forcing:0});var aq=function(e,t,i,r,s,o,a){var l=new ms(this._pt,e,t,0,1,TM,null,s),c=0,u=0,f,h,p,m,v,A,y,x;for(l.b=i,l.e=r,i+="",r+="",(y=~r.indexOf("random("))&&(r=z0(r)),o&&(x=[i,r],o(x,e,t),i=x[0],r=x[1]),h=i.match(k2)||[];f=k2.exec(r);)m=f[0],v=r.substring(c,f.index),p?p=(p+1)%5:v.substr(-5)==="rgba("&&(p=1),m!==h[u
vendor: 3,403 bytes, line 30
30++]&&(A=parseFloat(h[u-1])||0,l._pt={_next:l._pt,p:v||u===1?v:",",s:A,c:m.charAt(1)==="="?Xf(A,m)-A:parseFloat(m)-A,m:p&&p<4?Math.round:0},c=k2.lastIndex);return l.c=c<r.length?r.substring(c,r.length):"",l.fp=a,(qT.test(r)||y)&&(l.e=0),this._pt=l,l},Sx=function(e,t,i,r,s,o,a,l,c,u){hi(r)&&(r=r(s||0,e,o));var f=e[t],h=i!=="get"?i:hi(f)?c?e[t.indexOf("set")||!hi(e["get"+t.substr(3)])?t:"get"+t.substr(3)](c):e[t]():f,p=hi(f)?c?dq:SM:Tx,m;if(er(r)&&(~r.indexOf("random(")&&(r=z0(r)),r.charAt(1)==="="&&(m=Xf(h,r)+(Er(h)||0),(m||m===0)&&(r=m))),!u||h!==r||T_)return!isNaN(h*r)&&r!==""?(m=new ms(this._pt,e,t,+h||0,r-(h||0),typeof f=="boolean"?pq:EM,0,p),c&&(m.fp=c),a&&m.modifier(a,this,e),this._pt=m):(!f&&!(t in e)&&_x(t,r),aq.call(this,e,t,h,r,p,l||Us.stringFilter,c))},lq=function(e,t,i,r,s){if(hi(e)&&(e=c0(e,s,t,i,r)),!ea(e)||e.style&&e.nodeType||Pr(e)||WT(e))return er(e)?c0(e,s,t,i,r):e;var o={},a;for(a in e)o[a]=c0(e[a],s,t,i,r);return o},xM=function(e,t,i,r,s,o){var a,l,c,u;if(Is[e]&&(a=new Is[e]).init(s,a.rawVars?t[e]:lq(t[e],r,s,o,i),i,r,o)!==!1&&(i._pt=l=new ms(i._pt,s,e,0,1,a.render,a,0,a.priority),i!==Of))for(c=i._ptLookup[i._targets.indexOf(s)],u=a._props.length;u--;)c[a._props[u]]=l;return a},Bl,T_,Ex=function n(e,t,i){var r=e.vars,s=r.ease,o=r.startAt,a=r.immediateRender,l=r.lazy,c=r.onUpdate,u=r.runBackwards,f=r.yoyoEase,h=r.keyframes,p=r.autoRevert,m=e._dur,v=e._startAt,A=e._targets,y=e.parent,x=y&&y.data==="nested"?y.vars.targets:A,b=e._overwrite==="auto"&&!gx,_=e.timeline,T,M,I,R,w,E,F,L,z,V,j,N,Q;if(_&&(!h||!s)&&(s="none"),e._ease=gu(s,gd.ease),e._yEase=f?vM(gu(f===!0?s:f,gd.ease)):0,f&&e._yoyo&&!e._repeat&&(f=e._yEase,e._yEase=e._ease,e._ease=f),e._from=!_&&!!r.runBackwards,!_||h&&!r.stagger){if(L=A[0]?pu(A[0]).harness:0,N=L&&r[L.prop],T=Sg(r,bx),v&&(v._zTime<0&&v.progress(1),t<0&&u&&a&&!p?v.render(-1,!0):v.revert(u&&m?z1:Fj),v._lazy=0),o){if(Kl(e._startAt=Mi.set(A,ks({data:"isStart",overwrite:!1,parent:y,immediateRender:!0,lazy:!v&&hs(l),startAt:null,delay:0,onUpdate:c&&function(){return Ls(e,"onUpdate")},stagger:0},o))),e._startAt._dp=0,e._startAt._sat=e,t<0&&(fr||!a&&!p)&&e._startAt.revert(z1),a&&m&&t<=0&&i<=0){t&&(e._zTime=t);return}}else if(u&&m&&!v){if(t&&(a=!1),I=ks({overwrite:!1,data:"isFromStart",lazy:a&&!v&&hs(l),immediateRender:a,stagger:0,parent:y},T),N&&(I[L.prop]=N),Kl(e._startAt=Mi.set(A,I)),e._startAt._dp=0,e._startAt._sat=e,t<0&&(fr?e._startAt.revert(z1):e._startAt.render(-1,!0)),e._zTime=t,!a)n(e._startAt,Ir,Ir);else if(!t)return}for(e._pt=e._ptCache=0,l=m&&hs(l)||l&&!m,M=0;M<A.length;M++){if(w=A[M],F=w._gsap||Cx(A)[M]._gsap,e._ptLookup[M]=V={},b_[F.id]&&Ql.length&&wg(),j=x===A?M:x.indexOf(w),L&&(z=new L).init(w,N||T,e,j,x)!==!1&&(e._pt=R=new ms(e._pt,w,z.name,0,1,z.render,z,0,z.priority),z._props.forEach(function(W){V[W]=R}),z.priority&&(E=1)),!L||N)for(I in T)Is[I]&&(z=xM(I,T,e,j,w,x))?z.priority&&(E=1):V[I]=R=Sx.call(e,w,I,"get",T[I],j,x,0,r.stringFilter);e._op&&e._op[M]&&e.kill(w,e._op[M]),b&&e._pt&&(Bl=e,ri.killTweensOf(w,V,e.globalTime(t)),Q=!e.parent,Bl=0),e._pt&&l&&(b_[F.id]=1)}E&&MM(e),e._onInit&&e._onInit(e)}e._onUpdate=c,e._initted=(!e._op||e._pt)&&!Q,h&&t<=0&&_.render(Zo,!0,!0)},cq=function(e,t,i,r,s,o,a,l){var c=(e._pt&&e._ptCache||(e._ptCache={}))[t],u,f,h,p;if(!c)for(c=e._ptCache[t]=[],h=e._ptLookup,p=e._targets.length;p--;){if(u=h[p][t],u&&u.d&&u.d._pt)for(u=u.d._pt;u&&u.p!==t&&u.fp!==t;)u=u._next;
vendor: 4,714 bytes, line 30
30if(!u)return T_=1,e.vars[t]="+=0",Ex(e,a),T_=0,l?N0(t+" not eligible for reset"):1;c.push(u)}for(p=c.length;p--;)f=c[p],u=f._pt||f,u.s=(r||r===0)&&!s?r:u.s+(r||0)+o*u.c,u.c=i-u.s,f.e&&(f.e=bi(i)+Er(f.e)),f.b&&(f.b=u.s+Er(f.b))},uq=function(e,t){var i=e[0]?pu(e[0]).harness:0,r=i&&i.aliases,s,o,a,l;if(!r)return t;s=Ad({},t);for(o in r)if(o in s)for(l=r[o].split(","),a=l.length;a--;)s[l[a]]=s[o];return s},fq=function(e,t,i,r){var s=t.ease||r||"power1.inOut",o,a;if(Pr(t))a=i[e]||(i[e]=[]),t.forEach(function(l,c){return a.push({t:c/(t.length-1)*100,v:l,e:s})});else for(o in t)a=i[o]||(i[o]=[]),o==="ease"||a.push({t:parseFloat(e),v:t[o],e:s})},c0=function(e,t,i,r,s){return hi(e)?e.call(t,i,r,s):er(e)&&~e.indexOf("random(")?z0(e):e},CM=xx+"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert",wM={};ps(CM+",id,stagger,delay,duration,paused,scrollTrigger",function(n){return wM[n]=1});var Mi=function(n){GT(e,n);function e(i,r,s,o){var a;typeof r=="number"&&(s.duration=r,r=s,s=null),a=n.call(this,o?r:a0(r))||this;var l=a.vars,c=l.duration,u=l.delay,f=l.immediateRender,h=l.stagger,p=l.overwrite,m=l.keyframes,v=l.defaults,A=l.scrollTrigger,y=l.yoyoEase,x=r.parent||ri,b=(Pr(i)||WT(i)?qa(i[0]):"length"in r)?[i]:to(i),_,T,M,I,R,w,E,F;if(a._targets=b.length?Cx(b):N0("GSAP target "+i+" not found. https://gsap.com",!Us.nullTargetWarn)||[],a._ptLookup=[],a._overwrite=p,m||h||Mm(c)||Mm(u)){if(r=a.vars,_=a.timeline=new $r({data:"nested",defaults:v||{},targets:x&&x.data==="nested"?x.vars.targets:b}),_.kill(),_.parent=_._dp=Sa(a),_._start=0,h||Mm(c)||Mm(u)){if(I=b.length,E=h&&lM(h),ea(h))for(R in h)~CM.indexOf(R)&&(F||(F={}),F[R]=h[R]);for(T=0;T<I;T++)M=Sg(r,wM),M.stagger=0,y&&(M.yoyoEase=y),F&&Ad(M,F),w=b[T],M.duration=+c0(c,Sa(a),T,w,b),M.delay=(+c0(u,Sa(a),T,w,b)||0)-a._delay,!h&&I===1&&M.delay&&(a._delay=u=M.delay,a._start+=u,M.delay=0),_.to(w,M,E?E(T,w,b):0),_._ease=Jt.none;_.duration()?c=u=0:a.timeline=0}else if(m){a0(ks(_.vars.defaults,{ease:"none"})),_._ease=gu(m.ease||r.ease||"none");var L=0,z,V,j;if(Pr(m))m.forEach(function(N){return _.to(b,N,">")}),_.duration();else{M={};for(R in m)R==="ease"||R==="easeEach"||fq(R,m[R],M,m.easeEach);for(R in M)for(z=M[R].sort(function(N,Q){return N.t-Q.t}),L=0,T=0;T<z.length;T++)V=z[T],j={ease:V.e,duration:(V.t-(T?z[T-1].t:0))/100*c},j[R]=V.v,_.to(b,j,L),L+=j.duration;_.duration()<c&&_.to({},{duration:c-_.duration()})}}c||a.duration(c=_.duration())}else a.timeline=0;return p===!0&&!gx&&(Bl=Sa(a),ri.killTweensOf(b),Bl=0),Wo(x,Sa(a),s),r.reversed&&a.reverse(),r.paused&&a.paused(!0),(f||!c&&!m&&a._start===ni(x._time)&&hs(f)&&Vj(Sa(a))&&x.data!=="nested")&&(a._tTime=-1e-8,a.render(Math.max(0,-u)||0)),A&&rM(Sa(a),A),a}var t=e.prototype;return t.render=function(r,s,o){var a=this._time,l=this._tDur,c=this._dur,u=r<0,f=r>l-Ir&&!u?l:r<Ir?0:r,h,p,m,v,A,y,x,b,_;if(!c)Qj(this,r,s,o);else if(f!==this._tTime||!r||o||!this._initted&&this._tTime||this._startAt&&this._zTime<0!==u||this._lazy){if(h=f,b=this.timeline,this._repeat){if(v=c+this._rDelay,this._repeat<-1&&u)return this.totalTime(v*100+r,s,o);if(h=ni(f%v),f===l?(m=this._repeat,h=c):(A=ni(f/v),m=~~A,m&&m===A?(h=c,m--):h>c&&(h=c)),y=this._yoyo&&m&1,y&&(_=this._yEase,h=c-h),A=vd(this._tTime,v),h===a&&!o&&this._initted&&m===A)return this._tTime=f,this;m!==A&&(b&&this._yEase&&yM(b,y),this.vars.repeatRefresh&&!y&&!this._lock&&h!==v&&this._initted&&(this._lock=o=1,this.render(ni(v*m),!0).invalidate()._lock=0))}if(!this._initted){if(sM(this,u?r:h,o,s,f))return this._tTime=0,this;if(a!==this._time&&!(o&&this.vars.repeatRefresh&&m!==A))return this;if(c!==this._dur)return this.render(r,s,o)}if(this._tTime=f,this._time=h,!this._act&&this._ts&&(this._act=1,this._lazy=0),this.ratio=x=(_||this._ease)(h/c),this._from&&(this.ratio=x=1-x),!a&&f&&!s&&!A&&(Ls(this,"onStart"),this._tTime!==f))return this;for(p=this._pt;p;)p.r(x,p.d),p=p._next;b&&b.render(r<0?r:b._dur*b._ease(h/this._dur),s,o)||this._startAt&&(this._zTime=r),this._onUpdate&&!s&&(u&&x_(this,r,s,o),Ls(this,"onUpdate")),this._repeat&&m!==A&&this.vars.onRepeat&&!s&&this.parent&&Ls(this,"onRepeat"),(f===this._tDur||!f)&&this._tTime===f&&(u&&!this._onUpdate&&x_(this,r,!0,!0),(r||!c)&&(f===this._tDur&&this._ts>0||!f&&this._ts<0)&&Kl(this,1),!s&&!(u&&!a)&&(f||a||y)&&(Ls(this,f===l?"onComplete":"onReverseComplete",!0),this._prom&&!(f<l&&this.timeScale()>0)&&this._prom()))}return this},t.targets=function(){return this._targets},t.invalidate=function(r){return(!r||!this.vars.runBackwards)&&(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(r),n.prototype.invalidate.call(this,r)},t.resetTo=function(r,s,o,a,l){H0||Bs.wake(),this._ts||this.play();
vendor: 6,269 bytes, line 30
30var c=Math.min(this._dur,(this._dp._time-this._start)*this._ts),u;return this._initted||Ex(this,c),u=this._ease(c/this._dur),cq(this,r,s,o,a,u,c,l)?this.resetTo(r,s,o,a,1):(bA(this,0),this.parent||nM(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},t.kill=function(r,s){if(s===void 0&&(s="all"),!r&&(!s||s==="all"))return this._lazy=this._pt=0,this.parent?zh(this):this.scrollTrigger&&this.scrollTrigger.kill(!!fr),this;if(this.timeline){var o=this.timeline.totalDuration();return this.timeline.killTweensOf(r,s,Bl&&Bl.vars.overwrite!==!0)._first||zh(this),this.parent&&o!==this.timeline.totalDuration()&&yd(this,this._dur*this.timeline._tDur/o,0,1),this}var a=this._targets,l=r?to(r):a,c=this._ptLookup,u=this._pt,f,h,p,m,v,A,y;if((!s||s==="all")&&zj(a,l))return s==="all"&&(this._pt=0),zh(this);for(f=this._op=this._op||[],s!=="all"&&(er(s)&&(v={},ps(s,function(x){return v[x]=1}),s=v),s=uq(a,s)),y=a.length;y--;)if(~l.indexOf(a[y])){h=c[y],s==="all"?(f[y]=s,m=h,p={}):(p=f[y]=f[y]||{},m=s);for(v in m)A=h&&h[v],A&&((!("kill"in A.d)||A.d.kill(v)===!0)&&yA(this,A,"_pt"),delete h[v]),p!=="all"&&(p[v]=1)}return this._initted&&!this._pt&&u&&zh(this),this},e.to=function(r,s){return new e(r,s,arguments[2])},e.from=function(r,s){return l0(1,arguments)},e.delayedCall=function(r,s,o,a){return new e(s,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:r,onComplete:s,onReverseComplete:s,onCompleteParams:o,onReverseCompleteParams:o,callbackScope:a})},e.fromTo=function(r,s,o){return l0(2,arguments)},e.set=function(r,s){return s.duration=0,s.repeatDelay||(s.repeat=0),new e(r,s)},e.killTweensOf=function(r,s,o){return ri.killTweensOf(r,s,o)},e}(V0);ks(Mi.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0});ps("staggerTo,staggerFrom,staggerFromTo",function(n){Mi[n]=function(){var e=new $r,t=w_.call(arguments,0);return t.splice(n==="staggerFromTo"?5:4,0,0),e[n].apply(e,t)}});var Tx=function(e,t,i){return e[t]=i},SM=function(e,t,i){return e[t](i)},dq=function(e,t,i,r){return e[t](r.fp,i)},hq=function(e,t,i){return e.setAttribute(t,i)},Mx=function(e,t){return hi(e[t])?SM:Ax(e[t])&&e.setAttribute?hq:Tx},EM=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e6)/1e6,t)},pq=function(e,t){return t.set(t.t,t.p,!!(t.s+t.c*e),t)},TM=function(e,t){var i=t._pt,r="";if(!e&&t.b)r=t.b;else if(e===1&&t.e)r=t.e;else{for(;i;)r=i.p+(i.m?i.m(i.s+i.c*e):Math.round((i.s+i.c*e)*1e4)/1e4)+r,i=i._next;r+=t.c}t.set(t.t,t.p,r,t)},Ix=function(e,t){for(var i=t._pt;i;)i.r(e,i.d),i=i._next},mq=function(e,t,i,r){for(var s=this._pt,o;s;)o=s._next,s.p===r&&s.modifier(e,t,i),s=o},gq=function(e){for(var t=this._pt,i,r;t;)r=t._next,t.p===e&&!t.op||t.op===e?yA(this,t,"_pt"):t.dep||(i=1),t=r;return!i},Aq=function(e,t,i,r){r.mSet(e,t,r.m.call(r.tween,i,r.mt),r)},MM=function(e){for(var t=e._pt,i,r,s,o;t;){for(i=t._next,r=s;r&&r.pr>t.pr;)r=r._next;(t._prev=r?r._prev:o)?t._prev._next=t:s=t,(t._next=r)?r._prev=t:o=t,t=i}e._pt=s},ms=function(){function n(t,i,r,s,o,a,l,c,u){this.t=i,this.s=s,this.c=o,this.p=r,this.r=a||EM,this.d=l||this,this.set=c||Tx,this.pr=u||0,this._next=t,t&&(t._prev=this)}var e=n.prototype;return e.modifier=function(i,r,s){this.mSet=this.mSet||this.set,this.set=Aq,this.m=i,this.mt=s,this.tween=r},n}();ps(xx+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",function(n){return bx[n]=1});Ns.TweenMax=Ns.TweenLite=Mi;Ns.TimelineLite=Ns.TimelineMax=$r;ri=new $r({sortChildren:!1,defaults:gd,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0});Us.stringFilter=AM;var Au=[],V1={},vq=[],rw=0,yq=0,Q2=function(e){return(V1[e]||vq).map(function(t){return t()})},M_=function(){var e=Date.now(),t=[];e-rw>2&&(Q2("matchMediaInit"),Au.forEach(function(i){var r=i.queries,s=i.conditions,o,a,l,c;for(a in r)o=Vo.matchMedia(r[a]).matches,o&&(l=1),o!==s[a]&&(s[a]=o,c=1);c&&(i.revert(),l&&t.push(i))}),Q2("matchMediaRevert"),t.forEach(function(i){return i.onMatch(i,function(r){return i.add(null,r)})}),rw=e,Q2("matchMedia"))},IM=function(){function n(t,i){this.selector=i&&S_(i),this.data=[],this._r=[],this.isReverted=!1,this.id=yq++,t&&this.add(t)}var e=n.prototype;return e.add=function(i,r,s){hi(i)&&(s=r,r=i,i=hi);var o=this,a=function(){var c=Yn,u=o.selector,f;return c&&c!==o&&c.data.push(o),s&&(o.selector=S_(s)),Yn=o,f=r.apply(o,arguments),hi(f)&&o._r.push(f),Yn=c,o.selector=u,o.isReverted=!1,f};return o.last=a,i===hi?a(o,function(l){return o.add(null,l)}):i?o[i]=a:a},e.ignore=function(i){var r=Yn;Yn=null,i(this),Yn=r},e.getTweens=function(){var i=[];return this.data.forEach(function(r){return r instanceof n?i.push.apply(i,r.getTweens()):r instanceof Mi&&!(r.parent&&r.parent.data==="nested")&&i.push(r)}),i},e.clear=function(){this._r.length=this.data.length=0},e.kill=function(i,r){var s=this;if(i?function(){for(var a=s.getTweens(),l=s.data.length,c;l--;)c=s.data[l],c.data==="isFlip"&&(c.revert(),c.getChildren(!0,!0,!1).forEach(function(u){return a.splice(a.indexOf(u),1)}));for(a.map(function(u){return{g:u._dur||u._delay||u._sat&&!u._sat.vars.immediateRender?u.globalTime(0):-1/0,t:u}}).sort(function(u,f){return f.g-u.g||-1/0}).forEach(function(u){return u.t.revert(i)}),l=s.data.length;l--;)c=s.data[l],c instanceof $r?c.data!=="nested"&&(c.scrollTrigger&&c.scrollTrigger.revert(),c.kill()):!(c instanceof Mi)&&c.revert&&c.revert(i);s._r.forEach(function(u){return u(i,s)}),s.isReverted=!0}():this.data.forEach(function(a){return a.kill&&a.kill()}),this.clear(),r)for(var o=Au.length;o--;)Au[o].id===this.id&&Au.splice(o,1)},e.revert=function(i){this.kill(i||{})},n}(),_q=function(){function n(t){this.contexts=[],this.scope=t,Yn&&Yn.data.push(this)}var e=n.prototype;return e.add=function(i,r,s){ea(i)||(i={matches:i});var o=new IM(0,s||this.scope),a=o.conditions={},l,c,u;Yn&&!o.selector&&(o.selector=Yn.selector),this.contexts.push(o),r=o.add("onMatch",r),o.queries=i;for(c in i)c==="all"?u=1:(l=Vo.matchMedia(i[c]),l&&(Au.indexOf(o)<0&&Au.push(o),(a[c]=l.matches)&&(u=1),l.addListener?l.addListener(M_):l.addEventListener("change",M_)));return u&&r(o,function(f){return o.add(null,f)}),this},e.revert=function(i){this.kill(i||{})}
vendor: 6,081 bytes, lines 30-37
30,e.kill=function(i){this.contexts.forEach(function(r){return r.kill(i,!0)})},n}(),Tg={registerPlugin:function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];t.forEach(function(r){return pM(r)})},timeline:function(e){return new $r(e)},getTweensOf:function(e,t){return ri.getTweensOf(e,t)},getProperty:function(e,t,i,r){er(e)&&(e=to(e)[0]);var s=pu(e||{}).get,o=i?tM:eM;return i==="native"&&(i=""),e&&(t?o((Is[t]&&Is[t].get||s)(e,t,i,r)):function(a,l,c){return o((Is[a]&&Is[a].get||s)(e,a,l,c))})},quickSetter:function(e,t,i){if(e=to(e),e.length>1){var r=e.map(function(u){return Dr.quickSetter(u,t,i)}),s=r.length;return function(u){for(var f=s;f--;)r[f](u)}}e=e[0]||{};var o=Is[t],a=pu(e),l=a.harness&&(a.harness.aliases||{})[t]||t,c=o?function(u){var f=new o;Of._pt=0,f.init(e,i?u+i:u,Of,0,[e]),f.render(1,f),Of._pt&&Ix(1,Of)}:a.set(e,l);return o?c:function(u){return c(e,l,i?u+i:u,a,1)}},quickTo:function(e,t,i){var r,s=Dr.to(e,ks((r={},r[t]="+=0.1",r.paused=!0,r.stagger=0,r),i||{})),o=function(l,c,u){return s.resetTo(t,l,c,u)};return o.tween=s,o},isTweening:function(e){return ri.getTweensOf(e,!0).length>0},defaults:function(e){return e&&e.ease&&(e.ease=gu(e.ease,gd.ease)),JC(gd,e||{})},config:function(e){return JC(Us,e||{})},registerEffect:function(e){var t=e.name,i=e.effect,r=e.plugins,s=e.defaults,o=e.extendTimeline;(r||"").split(",").forEach(function(a){return a&&!Is[a]&&!Ns[a]&&N0(t+" effect requires "+a+" plugin.")}),z2[t]=function(a,l,c){return i(to(a),ks(l||{},s),c)},o&&($r.prototype[t]=function(a,l,c){return this.add(z2[t](a,ea(l)?l:(c=l)&&{},this),c)})},registerEase:function(e,t){Jt[e]=gu(t)},parseEase:function(e,t){return arguments.length?gu(e,t):Jt},getById:function(e){return ri.getById(e)},exportRoot:function(e,t){e===void 0&&(e={});var i=new $r(e),r,s;for(i.smoothChildTiming=hs(e.smoothChildTiming),ri.remove(i),i._dp=0,i._time=i._tTime=ri._time,r=ri._first;r;)s=r._next,(t||!(!r._dur&&r instanceof Mi&&r.vars.onComplete===r._targets[0]))&&Wo(i,r,r._start-r._delay),r=s;return Wo(ri,i,0),i},context:function(e,t){return e?new IM(e,t):Yn},matchMedia:function(e){return new _q(e)},matchMediaRefresh:function(){return Au.forEach(function(e){var t=e.conditions,i,r;for(r in t)t[r]&&(t[r]=!1,i=1);i&&e.revert()})||M_()},addEventListener:function(e,t){var i=V1[e]||(V1[e]=[]);~i.indexOf(t)||i.push(t)},removeEventListener:function(e,t){var i=V1[e],r=i&&i.indexOf(t);r>=0&&i.splice(r,1)},utils:{wrap:Zj,wrapYoyo:Jj,distribute:lM,random:uM,snap:cM,normalize:Kj,getUnit:Er,clamp:qj,splitColor:mM,toArray:to,selector:S_,mapRange:dM,pipe:Yj,unitize:$j,interpolate:eq,shuffle:aM},install:YT,effects:z2,ticker:Bs,updateRoot:$r.updateRoot,plugins:Is,globalTimeline:ri,core:{PropTween:ms,globals:$T,Tween:Mi,Timeline:$r,Animation:V0,getCache:pu,_removeLinkedListItem:yA,reverting:function(){return fr},context:function(e){return e&&Yn&&(Yn.data.push(e),e._ctx=Yn),Yn},suppressOverwrites:function(e){return gx=e}}};ps("to,from,fromTo,delayedCall,set,killTweensOf",function(n){return Tg[n]=Mi[n]});Bs.add($r.updateRoot);Of=Tg.to({},{duration:0});var bq=function(e,t){for(var i=e._pt;i&&i.p!==t&&i.op!==t&&i.fp!==t;)i=i._next;return i},xq=function(e,t){var i=e._targets,r,s,o;for(r in t)for(s=i.length;s--;)o=e._ptLookup[s][r],o&&(o=o.d)&&(o._pt&&(o=bq(o,r)),o&&o.modifier&&o.modifier(t[r],e,i[s],r))},W2=function(e,t){return{name:e,headless:1,rawVars:1,init:function(r,s,o){o._onInit=function(a){var l,c;if(er(s)&&(l={},ps(s,function(u){return l[u]=1}),s=l),t){l={};for(c in s)l[c]=t(s[c]);s=l}xq(a,s)}}}},Dr=Tg.registerPlugin({name:"attr",init:function(e,t,i,r,s){var o,a,l;this.tween=i;for(o in t)l=e.getAttribute(o)||"",a=this.add(e,"setAttribute",(l||0)+"",t[o],r,s,0,0,o),a.op=o,a.b=l,this._props.push(o)},render:function(e,t){for(var i=t._pt;i;)fr?i.set(i.t,i.p,i.b,i):i.r(e,i.d),i=i._next}},{name:"endArray",headless:1,init:function(e,t){for(var i=t.length;i--;)this.add(e,i,e[i]||0,t[i],0,0,0,0,0,1)}},W2("roundProps",E_),W2("modifiers"),W2("snap",cM))||Tg;Mi.version=$r.version=Dr.version="3.14.2";XT=1;vx()&&_d();Jt.Power0;Jt.Power1;Jt.Power2;Jt.Power3;Jt.Power4;Jt.Linear;Jt.Quad;Jt.Cubic;Jt.Quart;Jt.Quint;Jt.Strong;Jt.Elastic;Jt.Back;Jt.SteppedEase;Jt.Bounce;Jt.Sine;Jt.Expo;Jt.Circ;/*!
31 * CSSPlugin 3.14.2
32 * https://gsap.com
33 *
34 * Copyright 2008-2025, GreenSock. All rights reserved.
35 * Subject to the terms at https://gsap.com/standard-license
36 * @author: Jack Doyle, [email protected]
37*/var sw,Dl,Yf,Px,iu,ow,Rx,Cq=function(){return typeof window<"u"},Xa={},Xc=180/Math.PI,$f=Math.PI/180,Ku=Math.atan2,aw=1e8,Bx=/([A-Z])/g,wq=/(left|right|width|margin|padding|x)/i,Sq=/[\s,\(]\S/,Yo={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},I_=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},Eq=function(e,t){return t.set(t.t,t.p,e===1?t.e:Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},Tq=function(e,t){return t.set(t.t,t.p,e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},Mq=function(e,t){return t.set(t.t,t.p,e===1?t.e:e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},Iq=function(e,t){var i=t.s+t.c*e;t.set(t.t,t.p,~~(i+(i<0?-.5:.5))+t.u,t)},PM=function(e,t){return t.set(t.t,t.p,e?t.e:t.b,t)},RM=function(e,t){return t.set(t.t,t.p,e!==1?t.b:t.e,t)},Pq=function(e,t,i){return e.style[t]=i},Rq=function(e,t,i){return e.style.setProperty(t,i)},Bq=function(e,t,i){return e._gsap[t]=i},Dq=function(e,t,i){return e._gsap.scaleX=e._gsap.scaleY=i},Lq=function(e,t,i,r,s){var o=e._gsap;o.scaleX=o.scaleY=i,o.renderTransform(s,o)},Oq=function(e,t,i,r,s){var o=e._gsap;o[t]=i,o.renderTransform(s,o)},oi="transform",gs=oi+"Origin",Fq=function n(e,t){var i=this,r=this.target,s=r.style,o=r._gsap;if(e in Xa&&s){if(this.tfm=this.tfm||{},e!=="transform")e=Yo[e]||e,~e.indexOf(",")?e.split(",").forEach(function(a){return i.tfm[a]=Ta(r,a)}):this.tfm[e]=o.x?o[e]:Ta(r,e),e===gs&&(this.tfm.zOrigin=o.zOrigin);else return Yo.transform.split(",").forEach(function(a){return n.call(i,a,t)});if(this.props.indexOf(oi)>=0)return;o.svg&&(this.svgo=r.getAttribute("data-svg-origin"),this.props.push(gs,t,"")),e=oi}
vendor: 3,444 bytes, line 37
37(s||t)&&this.props.push(e,t,s[e])},BM=function(e){e.translate&&(e.removeProperty("translate"),e.removeProperty("scale"),e.removeProperty("rotate"))},Uq=function(){var e=this.props,t=this.target,i=t.style,r=t._gsap,s,o;for(s=0;s<e.length;s+=3)e[s+1]?e[s+1]===2?t[e[s]](e[s+2]):t[e[s]]=e[s+2]:e[s+2]?i[e[s]]=e[s+2]:i.removeProperty(e[s].substr(0,2)==="--"?e[s]:e[s].replace(Bx,"-$1").toLowerCase());if(this.tfm){for(o in this.tfm)r[o]=this.tfm[o];r.svg&&(r.renderTransform(),t.setAttribute("data-svg-origin",this.svgo||"")),s=Rx(),(!s||!s.isStart)&&!i[oi]&&(BM(i),r.zOrigin&&i[gs]&&(i[gs]+=" "+r.zOrigin+"px",r.zOrigin=0,r.renderTransform()),r.uncache=1)}},DM=function(e,t){var i={target:e,props:[],revert:Uq,save:Fq};return e._gsap||Dr.core.getCache(e),t&&e.style&&e.nodeType&&t.split(",").forEach(function(r){return i.save(r)}),i},LM,P_=function(e,t){var i=Dl.createElementNS?Dl.createElementNS((t||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),e):Dl.createElement(e);return i&&i.style?i:Dl.createElement(e)},Os=function n(e,t,i){var r=getComputedStyle(e);return r[t]||r.getPropertyValue(t.replace(Bx,"-$1").toLowerCase())||r.getPropertyValue(t)||!i&&n(e,bd(t)||t,1)||""},lw="O,Moz,ms,Ms,Webkit".split(","),bd=function(e,t,i){var r=t||iu,s=r.style,o=5;if(e in s&&!i)return e;for(e=e.charAt(0).toUpperCase()+e.substr(1);o--&&!(lw[o]+e in s););return o<0?null:(o===3?"ms":o>=0?lw[o]:"")+e},R_=function(){Cq()&&window.document&&(sw=window,Dl=sw.document,Yf=Dl.documentElement,iu=P_("div")||{style:{}},P_("div"),oi=bd(oi),gs=oi+"Origin",iu.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",LM=!!bd("perspective"),Rx=Dr.core.reverting,Px=1)},cw=function(e){var t=e.ownerSVGElement,i=P_("svg",t&&t.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),r=e.cloneNode(!0),s;r.style.display="block",i.appendChild(r),Yf.appendChild(i);try{s=r.getBBox()}catch{}return i.removeChild(r),Yf.removeChild(i),s},uw=function(e,t){for(var i=t.length;i--;)if(e.hasAttribute(t[i]))return e.getAttribute(t[i])},OM=function(e){var t,i;try{t=e.getBBox()}catch{t=cw(e),i=1}return t&&(t.width||t.height)||i||(t=cw(e)),t&&!t.width&&!t.x&&!t.y?{x:+uw(e,["x","cx","x1"])||0,y:+uw(e,["y","cy","y1"])||0,width:0,height:0}:t},FM=function(e){return!!(e.getCTM&&(!e.parentNode||e.ownerSVGElement)&&OM(e))},Zl=function(e,t){if(t){var i=e.style,r;t in Xa&&t!==gs&&(t=oi),i.removeProperty?(r=t.substr(0,2),(r==="ms"||t.substr(0,6)==="webkit")&&(t="-"+t),i.removeProperty(r==="--"?t:t.replace(Bx,"-$1").toLowerCase())):i.removeAttribute(t)}},Ll=function(e,t,i,r,s,o){var a=new ms(e._pt,t,i,0,1,o?RM:PM);return e._pt=a,a.b=r,a.e=s,e._props.push(i),a},fw={deg:1,rad:1,turn:1},Nq={grid:1,flex:1},Jl=function n(e,t,i,r){var s=parseFloat(i)||0,o=(i+"").trim().substr((s+"").length)||"px",a=iu.style,l=wq.test(t),c=e.tagName.toLowerCase()==="svg",u=(c?"client":"offset")+(l?"Width":"Height"),f=100,h=r==="px",p=r==="%",m,v,A,y;if(r===o||!s||fw[r]||fw[o])return s;if(o!=="px"&&!h&&(s=n(e,t,i,"px")),y=e.getCTM&&FM(e),(p||o==="%")&&(Xa[t]||~t.indexOf("adius")))return m=y?e.getBBox()[l?"width":"height"]:e[u],bi(p?s/m*f:s/100*m);if(a[l?"width":"height"]=f+(h?o:r),v=r!=="rem"&&~t.indexOf("adius")||r==="em"&&e.appendChild&&!c?e:e.parentNode,y&&(v=(e.ownerSVGElement||{}).parentNode),(!v||v===Dl||!v.appendChild)&&(v=Dl.body),A=v._gsap,A&&p&&A.width&&l&&A.time===Bs.time&&!A.uncache)return bi(s/A.width*f);if(p&&(t==="height"||t==="width")){var x=e.style[t];
vendor: 4,904 bytes, line 37
37e.style[t]=f+r,m=e[u],x?e.style[t]=x:Zl(e,t)}else(p||o==="%")&&!Nq[Os(v,"display")]&&(a.position=Os(e,"position")),v===e&&(a.position="static"),v.appendChild(iu),m=iu[u],v.removeChild(iu),a.position="absolute";return l&&p&&(A=pu(v),A.time=Bs.time,A.width=v[u]),bi(h?m*s/f:m&&s?f/m*s:0)},Ta=function(e,t,i,r){var s;return Px||R_(),t in Yo&&t!=="transform"&&(t=Yo[t],~t.indexOf(",")&&(t=t.split(",")[0])),Xa[t]&&t!=="transform"?(s=Q0(e,r),s=t!=="transformOrigin"?s[t]:s.svg?s.origin:Ig(Os(e,gs))+" "+s.zOrigin+"px"):(s=e.style[t],(!s||s==="auto"||r||~(s+"").indexOf("calc("))&&(s=Mg[t]&&Mg[t](e,t,i)||Os(e,t)||ZT(e,t)||(t==="opacity"?1:0))),i&&!~(s+"").trim().indexOf(" ")?Jl(e,t,s,i)+i:s},kq=function(e,t,i,r){if(!i||i==="none"){var s=bd(t,e,1),o=s&&Os(e,s,1);o&&o!==i?(t=s,i=o):t==="borderColor"&&(i=Os(e,"borderTopColor"))}var a=new ms(this._pt,e.style,t,0,1,TM),l=0,c=0,u,f,h,p,m,v,A,y,x,b,_,T;if(a.b=i,a.e=r,i+="",r+="",r.substring(0,6)==="var(--"&&(r=Os(e,r.substring(4,r.indexOf(")")))),r==="auto"&&(v=e.style[t],e.style[t]=r,r=Os(e,t)||r,v?e.style[t]=v:Zl(e,t)),u=[i,r],AM(u),i=u[0],r=u[1],h=i.match(Lf)||[],T=r.match(Lf)||[],T.length){for(;f=Lf.exec(r);)A=f[0],x=r.substring(l,f.index),m?m=(m+1)%5:(x.substr(-5)==="rgba("||x.substr(-5)==="hsla(")&&(m=1),A!==(v=h[c++]||"")&&(p=parseFloat(v)||0,_=v.substr((p+"").length),A.charAt(1)==="="&&(A=Xf(p,A)+_),y=parseFloat(A),b=A.substr((y+"").length),l=Lf.lastIndex-b.length,b||(b=b||Us.units[t]||_,l===r.length&&(r+=b,a.e+=b)),_!==b&&(p=Jl(e,t,v,b)||0),a._pt={_next:a._pt,p:x||c===1?x:",",s:p,c:y-p,m:m&&m<4||t==="zIndex"?Math.round:0});a.c=l<r.length?r.substring(l,r.length):""}else a.r=t==="display"&&r==="none"?RM:PM;return qT.test(r)&&(a.e=0),this._pt=a,a},dw={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},zq=function(e){var t=e.split(" "),i=t[0],r=t[1]||"50%";return(i==="top"||i==="bottom"||r==="left"||r==="right")&&(e=i,i=r,r=e),t[0]=dw[i]||i,t[1]=dw[r]||r,t.join(" ")},Hq=function(e,t){if(t.tween&&t.tween._time===t.tween._dur){var i=t.t,r=i.style,s=t.u,o=i._gsap,a,l,c;if(s==="all"||s===!0)r.cssText="",l=1;else for(s=s.split(","),c=s.length;--c>-1;)a=s[c],Xa[a]&&(l=1,a=a==="transformOrigin"?gs:oi),Zl(i,a);l&&(Zl(i,oi),o&&(o.svg&&i.removeAttribute("transform"),r.scale=r.rotate=r.translate="none",Q0(i,1),o.uncache=1,BM(r)))}},Mg={clearProps:function(e,t,i,r,s){if(s.data!=="isFromStart"){var o=e._pt=new ms(e._pt,t,i,0,0,Hq);return o.u=r,o.pr=-10,o.tween=s,e._props.push(i),1}}},G0=[1,0,0,1,0,0],UM={},NM=function(e){return e==="matrix(1, 0, 0, 1, 0, 0)"||e==="none"||!e},hw=function(e){var t=Os(e,oi);return NM(t)?G0:t.substr(7).match(jT).map(bi)},Dx=function(e,t){var i=e._gsap||pu(e),r=e.style,s=hw(e),o,a,l,c;return i.svg&&e.getAttribute("transform")?(l=e.transform.baseVal.consolidate().matrix,s=[l.a,l.b,l.c,l.d,l.e,l.f],s.join(",")==="1,0,0,1,0,0"?G0:s):(s===G0&&!e.offsetParent&&e!==Yf&&!i.svg&&(l=r.display,r.display="block",o=e.parentNode,(!o||!e.offsetParent&&!e.getBoundingClientRect().width)&&(c=1,a=e.nextElementSibling,Yf.appendChild(e)),s=hw(e),l?r.display=l:Zl(e,"display"),c&&(a?o.insertBefore(e,a):o?o.appendChild(e):Yf.removeChild(e))),t&&s.length>6?[s[0],s[1],s[4],s[5],s[12],s[13]]:s)},B_=function(e,t,i,r,s,o){var a=e._gsap,l=s||Dx(e,!0),c=a.xOrigin||0,u=a.yOrigin||0,f=a.xOffset||0,h=a.yOffset||0,p=l[0],m=l[1],v=l[2],A=l[3],y=l[4],x=l[5],b=t.split(" "),_=parseFloat(b[0])||0,T=parseFloat(b[1])||0,M,I,R,w;i?l!==G0&&(I=p*A-m*v)&&(R=_*(A/I)+T*(-v/I)+(v*x-A*y)/I,w=_*(-m/I)+T*(p/I)-(p*x-m*y)/I,_=R,T=w):(M=OM(e),_=M.x+(~b[0].indexOf("%")?_/100*M.width:_),T=M.y+(~(b[1]||b[0]).indexOf("%")?T/100*M.height:T)),r||r!==!1&&a.smooth?(y=_-c,x=T-u,a.xOffset=f+(y*p+x*v)-y,a.yOffset=h+(y*m+x*A)-x):a.xOffset=a.yOffset=0,a.xOrigin=_,a.yOrigin=T,a.smooth=!!r,a.origin=t,a.originIsAbsolute=!!i,e.style[gs]="0px 0px",o&&(Ll(o,a,"xOrigin",c,_),Ll(o,a,"yOrigin",u,T),Ll(o,a,"xOffset",f,a.xOffset),Ll(o,a,"yOffset",h,a.yOffset)),e.setAttribute("data-svg-origin",_+" "+T)},Q0=function(e,t){var i=e._gsap||new bM(e);if("x"in i&&!t&&!i.uncache)return i;var r=e.style,s=i.scaleX<0,o="px",a="deg",l=getComputedStyle(e),c=Os(e,gs)||"0",u,f,h,p,m,v,A,y,x,b,_,T,M,I,R,w,E,F,L,z,V,j,N,Q,W,ee,H,ye,Ie,ze,oe,_e;return u=f=h=v=A=y=x=b=_=0,p=m=1,i.svg=!!(e.getCTM&&FM(e)),l.translate&&((l.translate!=="none"||l.scale!=="none"||l.rotate!=="none")&&(r[oi]=(l.translate!=="none"?"translate3d("+(l.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+(l.rotate!=="none"?"rotate("+l.rotate+") ":"")+(l.scale!=="none"?"scale("+l.scale.split(" ").join(",")+") ":"")+(l[oi]!=="none"?l[oi]:"")),r.scale=r.rotate=r.translate="none"),I=Dx(e,i.svg),i.svg&&(i.uncache?(W=e.getBBox(),c=i.xOrigin-W.x+"px "+(i.yOrigin-W.y)+"px",Q=""):Q=!t&&e.getAttribute("data-svg-origin"),B_(e,Q||c,!!Q||i.originIsAbsolute,i.smooth!==!1,I)),T=i.xOrigin||0,M=i.yOrigin||0,I!==G0&&(F=I[0],L=I[1],z=I[2],V=I[3],u=j=I[4],f=N=I[5],I.length===6?(p=Math.sqrt(F
vendor: 4,291 bytes, line 37
37*F+L*L),m=Math.sqrt(V*V+z*z),v=F||L?Ku(L,F)*Xc:0,x=z||V?Ku(z,V)*Xc+v:0,x&&(m*=Math.abs(Math.cos(x*$f))),i.svg&&(u-=T-(T*F+M*z),f-=M-(T*L+M*V))):(_e=I[6],ze=I[7],H=I[8],ye=I[9],Ie=I[10],oe=I[11],u=I[12],f=I[13],h=I[14],R=Ku(_e,Ie),A=R*Xc,R&&(w=Math.cos(-R),E=Math.sin(-R),Q=j*w+H*E,W=N*w+ye*E,ee=_e*w+Ie*E,H=j*-E+H*w,ye=N*-E+ye*w,Ie=_e*-E+Ie*w,oe=ze*-E+oe*w,j=Q,N=W,_e=ee),R=Ku(-z,Ie),y=R*Xc,R&&(w=Math.cos(-R),E=Math.sin(-R),Q=F*w-H*E,W=L*w-ye*E,ee=z*w-Ie*E,oe=V*E+oe*w,F=Q,L=W,z=ee),R=Ku(L,F),v=R*Xc,R&&(w=Math.cos(R),E=Math.sin(R),Q=F*w+L*E,W=j*w+N*E,L=L*w-F*E,N=N*w-j*E,F=Q,j=W),A&&Math.abs(A)+Math.abs(v)>359.9&&(A=v=0,y=180-y),p=bi(Math.sqrt(F*F+L*L+z*z)),m=bi(Math.sqrt(N*N+_e*_e)),R=Ku(j,N),x=Math.abs(R)>2e-4?R*Xc:0,_=oe?1/(oe<0?-oe:oe):0),i.svg&&(Q=e.getAttribute("transform"),i.forceCSS=e.setAttribute("transform","")||!NM(Os(e,oi)),Q&&e.setAttribute("transform",Q))),Math.abs(x)>90&&Math.abs(x)<270&&(s?(p*=-1,x+=v<=0?180:-180,v+=v<=0?180:-180):(m*=-1,x+=x<=0?180:-180)),t=t||i.uncache,i.x=u-((i.xPercent=u&&(!t&&i.xPercent||(Math.round(e.offsetWidth/2)===Math.round(-u)?-50:0)))?e.offsetWidth*i.xPercent/100:0)+o,i.y=f-((i.yPercent=f&&(!t&&i.yPercent||(Math.round(e.offsetHeight/2)===Math.round(-f)?-50:0)))?e.offsetHeight*i.yPercent/100:0)+o,i.z=h+o,i.scaleX=bi(p),i.scaleY=bi(m),i.rotation=bi(v)+a,i.rotationX=bi(A)+a,i.rotationY=bi(y)+a,i.skewX=x+a,i.skewY=b+a,i.transformPerspective=_+o,(i.zOrigin=parseFloat(c.split(" ")[2])||!t&&i.zOrigin||0)&&(r[gs]=Ig(c)),i.xOffset=i.yOffset=0,i.force3D=Us.force3D,i.renderTransform=i.svg?Gq:LM?kM:Vq,i.uncache=0,i},Ig=function(e){return(e=e.split(" "))[0]+" "+e[1]},j2=function(e,t,i){var r=Er(t);return bi(parseFloat(t)+parseFloat(Jl(e,"x",i+"px",r)))+r},Vq=function(e,t){t.z="0px",t.rotationY=t.rotationX="0deg",t.force3D=0,kM(e,t)},Fc="0deg",gh="0px",Uc=") ",kM=function(e,t){var i=t||this,r=i.xPercent,s=i.yPercent,o=i.x,a=i.y,l=i.z,c=i.rotation,u=i.rotationY,f=i.rotationX,h=i.skewX,p=i.skewY,m=i.scaleX,v=i.scaleY,A=i.transformPerspective,y=i.force3D,x=i.target,b=i.zOrigin,_="",T=y==="auto"&&e&&e!==1||y===!0;if(b&&(f!==Fc||u!==Fc)){var M=parseFloat(u)*$f,I=Math.sin(M),R=Math.cos(M),w;M=parseFloat(f)*$f,w=Math.cos(M),o=j2(x,o,I*w*-b),a=j2(x,a,-Math.sin(M)*-b),l=j2(x,l,R*w*-b+b)}A!==gh&&(_+="perspective("+A+Uc),(r||s)&&(_+="translate("+r+"%, "+s+"%) "),(T||o!==gh||a!==gh||l!==gh)&&(_+=l!==gh||T?"translate3d("+o+", "+a+", "+l+") ":"translate("+o+", "+a+Uc),c!==Fc&&(_+="rotate("+c+Uc),u!==Fc&&(_+="rotateY("+u+Uc),f!==Fc&&(_+="rotateX("+f+Uc),(h!==Fc||p!==Fc)&&(_+="skew("+h+", "+p+Uc),(m!==1||v!==1)&&(_+="scale("+m+", "+v+Uc),x.style[oi]=_||"translate(0, 0)"},Gq=function(e,t){var i=t||this,r=i.xPercent,s=i.yPercent,o=i.x,a=i.y,l=i.rotation,c=i.skewX,u=i.skewY,f=i.scaleX,h=i.scaleY,p=i.target,m=i.xOrigin,v=i.yOrigin,A=i.xOffset,y=i.yOffset,x=i.forceCSS,b=parseFloat(o),_=parseFloat(a),T,M,I,R,w;l=parseFloat(l),c=parseFloat(c),u=parseFloat(u),u&&(u=parseFloat(u),c+=u,l+=u),l||c?(l*=$f,c*=$f,T=Math.cos(l)*f,M=Math.sin(l)*f,I=Math.sin(l-c)*-h,R=Math.cos(l-c)*h,c&&(u*=$f,w=Math.tan(c-u),w=Math.sqrt(1+w*w),I*=w,R*=w,u&&(w=Math.tan(u),w=Math.sqrt(1+w*w),T*=w,M*=w)),T=bi(T),M=bi(M),I=bi(I),R=bi(R)):(T=f,R=h,M=I=0),(b&&!~(o+"").indexOf("px")||_&&!~(a+"").indexOf("px"))&&(b=Jl(p,"x",o,"px"),_=Jl(p,"y",a,"px")),(m||v||A||y)&&(b=bi(b+m-(m*T+v*I)+A),_=bi(_+v-(m*M+v*R)+y)),(r||s)&&(w=p.getBBox(),b=bi(b+r/100*w.width),_=bi(_+s/100*w.height)),w="matrix("+T+","+M+","+I+","+R+","+b+","+_+")",p.setAttribute("transform",w),x&&(p.style[oi]=w)},Qq=function(e,t,i,r,s){var o=360,a=er(s),l=parseFloat(s)*(a&&~s.indexOf("rad")?Xc:1),c=l-r,u=r+c+"deg",f,h;return a&&(f=s.split("_")[1],f==="short"&&(c%=o,c!==c%(o/2)&&(c+=c<0?o:-360)),f==="cw"&&c<0?c=(c+o*aw)%o-~~(c/o)*o:f==="ccw"&&c>0&&(c=(c-o*aw)%o-~~(c/o)*o)),e._pt=h=new ms(e._pt,t,i,r,c,Eq),h.e=u,h.u="deg",e._props.push(i),h},pw=function(e,t){for(var i in t)e[i]=t[i];return e},Wq=function(e,t,i){var r=pw({},i._gsap),s="perspective,force3D,transformOrigin,svgOrigin",o=i.style,a,l,c,u,f,h,p,m;r.svg?(c=i.getAttribute("transform"),i.setAttribute("transform",""),o[oi]=t,a=Q0(i,1),Zl(i,oi),i.setAttribute("transform",c)):(c=getComputedStyle(i)[oi],o[oi]=t,a=Q0(i,1),o[oi]=c);for(l in Xa)c=r[l],u=a[l],c!==u&&s.indexOf(l)<0&&(p=Er(c),m=Er(u),f=p!==m?Jl(i,l,c,m):parseFloat(c),h=
vendor: 4,633 bytes, line 37
37parseFloat(u),e._pt=new ms(e._pt,a,l,f,h-f,I_),e._pt.u=m||0,e._props.push(l));pw(a,r)};ps("padding,margin,Width,Radius",function(n,e){var t="Top",i="Right",r="Bottom",s="Left",o=(e<3?[t,i,r,s]:[t+s,t+i,r+i,r+s]).map(function(a){return e<2?n+a:"border"+a+n});Mg[e>1?"border"+n:n]=function(a,l,c,u,f){var h,p;if(arguments.length<4)return h=o.map(function(m){return Ta(a,m,c)}),p=h.join(" "),p.split(h[0]).length===5?h[0]:p;h=(u+"").split(" "),p={},o.forEach(function(m,v){return p[m]=h[v]=h[v]||h[(v-1)/2|0]}),a.init(l,p,f)}});var Lx={name:"css",register:R_,targetTest:function(e){return e.style&&e.nodeType},init:function(e,t,i,r,s){var o=this._props,a=e.style,l=i.vars.startAt,c,u,f,h,p,m,v,A,y,x,b,_,T,M,I,R,w;Px||R_(),this.styles=this.styles||DM(e),R=this.styles.props,this.tween=i;for(v in t)if(v!=="autoRound"&&(u=t[v],!(Is[v]&&xM(v,t,i,r,e,s)))){if(p=typeof u,m=Mg[v],p==="function"&&(u=u.call(i,r,e,s),p=typeof u),p==="string"&&~u.indexOf("random(")&&(u=z0(u)),m)m(this,e,v,u,i)&&(I=1);else if(v.substr(0,2)==="--")c=(getComputedStyle(e).getPropertyValue(v)+"").trim(),u+="",Wl.lastIndex=0,Wl.test(c)||(A=Er(c),y=Er(u),y?A!==y&&(c=Jl(e,v,c,y)+y):A&&(u+=A)),this.add(a,"setProperty",c,u,r,s,0,0,v),o.push(v),R.push(v,0,a[v]);else if(p!=="undefined"){if(l&&v in l?(c=typeof l[v]=="function"?l[v].call(i,r,e,s):l[v],er(c)&&~c.indexOf("random(")&&(c=z0(c)),Er(c+"")||c==="auto"||(c+=Us.units[v]||Er(Ta(e,v))||""),(c+"").charAt(1)==="="&&(c=Ta(e,v))):c=Ta(e,v),h=parseFloat(c),x=p==="string"&&u.charAt(1)==="="&&u.substr(0,2),x&&(u=u.substr(2)),f=parseFloat(u),v in Yo&&(v==="autoAlpha"&&(h===1&&Ta(e,"visibility")==="hidden"&&f&&(h=0),R.push("visibility",0,a.visibility),Ll(this,a,"visibility",h?"inherit":"hidden",f?"inherit":"hidden",!f)),v!=="scale"&&v!=="transform"&&(v=Yo[v],~v.indexOf(",")&&(v=v.split(",")[0]))),b=v in Xa,b){if(this.styles.save(v),w=u,p==="string"&&u.substring(0,6)==="var(--"){if(u=Os(e,u.substring(4,u.indexOf(")"))),u.substring(0,5)==="calc("){var E=e.style.perspective;e.style.perspective=u,u=Os(e,"perspective"),E?e.style.perspective=E:Zl(e,"perspective")}f=parseFloat(u)}if(_||(T=e._gsap,T.renderTransform&&!t.parseTransform||Q0(e,t.parseTransform),M=t.smoothOrigin!==!1&&T.smooth,_=this._pt=new ms(this._pt,a,oi,0,1,T.renderTransform,T,0,-1),_.dep=1),v==="scale")this._pt=new ms(this._pt,T,"scaleY",T.scaleY,(x?Xf(T.scaleY,x+f):f)-T.scaleY||0,I_),this._pt.u=0,o.push("scaleY",v),v+="X";else if(v==="transformOrigin"){R.push(gs,0,a[gs]),u=zq(u),T.svg?B_(e,u,0,M,0,this):(y=parseFloat(u.split(" ")[2])||0,y!==T.zOrigin&&Ll(this,T,"zOrigin",T.zOrigin,y),Ll(this,a,v,Ig(c),Ig(u)));continue}else if(v==="svgOrigin"){B_(e,u,1,M,0,this);continue}else if(v in UM){Qq(this,T,v,h,x?Xf(h,x+u):u);continue}else if(v==="smoothOrigin"){Ll(this,T,"smooth",T.smooth,u);continue}else if(v==="force3D"){T[v]=u;continue}else if(v==="transform"){Wq(this,u,e);continue}}else v in a||(v=bd(v)||v);if(b||(f||f===0)&&(h||h===0)&&!Sq.test(u)&&v in a)A=(c+"").substr((h+"").length),f||(f=0),y=Er(u)||(v in Us.units?Us.units[v]:A),A!==y&&(h=Jl(e,v,c,y)),this._pt=new ms(this._pt,b?T:a,v,h,(x?Xf(h,x+f):f)-h,!b&&(y==="px"||v==="zIndex")&&t.autoRound!==!1?Iq:I_),this._pt.u=y||0,b&&w!==u?(this._pt.b=c,this._pt.e=w,this._pt.r=Mq):A!==y&&y!=="%"&&(this._pt.b=c,this._pt.r=Tq);else if(v in a)kq.call(this,e,v,c,x?x+u:u);else if(v in e)this.add(e,v,c||e[v],x?x+u:u,r,s);else if(v!=="parseTransform"){_x(v,u);continue}b||(v in a?R.push(v,0,a[v]):typeof e[v]=="function"?R.push(v,2,e[v]()):R.push(v,1,c||e[v])),o.push(v)}}I&&MM(this)},render:function(e,t){if(t.tween._time||!Rx())for(var i=t._pt;i;)i.r(e,i.d),i=i._next;else t.styles.revert()},get:Ta,aliases:Yo,getSetter:function(e,t,i){var r=Yo[t];return r&&r.indexOf(",")<0&&(t=r),t in Xa&&t!==gs&&(e._gsap.x||Ta(e,"x"))?i&&ow===i?t==="scale"?Dq:Bq:(ow=i||{})&&(t==="scale"?Lq:Oq):e.style&&!Ax(e.style[t])?Pq:~t.indexOf("-")?Rq:Mx(e,t)},core:{_removeProperty:Zl,_getMatrix:Dx}};Dr.utils.checkPrefix=bd;Dr.core.getStyleSaver=DM;(function(n,e,t,i){var r=ps(n+","+e+","+t,function(s){Xa[s]=1});ps(e,function(s){Us.units[s]="deg",UM[s]=1}),Yo[r[13]]=n+","+e,ps(i,function(s){var o=s.split(":");Yo[o[1]]=r[o[0]]})})("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY","transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective","0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY");ps("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(n){Us.units[n]="px"});Dr.registerPlugin(Lx);var dr=Dr.registerPlugin(Lx)||Dr;dr.core.Tween;const jq={onLeave:(n,e)=>
37{dr.to(n,{opacity:0,duration:.5}).then(e)},onBeforeEnter:n=>{n.style.opacity="0"},onEnter:n=>dr.to(n,{opacity:1,duration:.5})};var qq=0;function Xq(){return qq++}var Sl=typeof window<"u",mw=Sl&&window.requestAnimationFrame,gw=Sl&&window.cancelAnimationFrame,Yq=class{constructor(n=Number.POSITIVE_INFINITY){he(this,"callbacks");he(this,"fps");he(this,"time");he(this,"lastTickDate");this.callbacks=[],this.fps=n,this.time=0,this.lastTickDate=performance.now()}get executionTime(){return 1e3/this.fps}dispatch(n,e){var t;for(let i=0;i<this.callbacks.length;i++)(t=this.callbacks[i])==null||t.callback(n,e)}raf(n,e){if(this.time+=e,this.fps===Number.POSITIVE_INFINITY)this.dispatch(n,e);else if(this.time>=this.executionTime){this.time=this.time%this.executionTime;const t=n-this.lastTickDate;this.lastTickDate=n,this.dispatch(n,t)}}add({callback:n,priority:e}){typeof n!="function"&&console.error("Tempus.add: callback is not a function");const t=Xq();return this.callbacks.push({callback:n,priority:e,uid:t}),this.callbacks.sort((i,r)=>i.priority-r.priority),()=>this.remove(t)}remove(n){this.callbacks=this.callbacks.filter(({uid:e})=>n!==e)}},$q=class{constructor(){he(this,"framerates");he(this,"time");he(this,"raf",n=>{if(!Sl)return;requestAnimationFrame(this.raf,!0);const e=n-this.time;this.time=n;for(const t of Object.values(this.framerates))t.raf(n,e)});this.framerates={},this.time=Sl?performance.now():0,Sl&&requestAnimationFrame(this.raf)}add(n,{priority:e=0,fps:t=Number.POSITIVE_INFINITY}={}){if(Sl&&typeof t=="number")return this.framerates[t]||(this.framerates[t]=new Yq(t)),this.framerates[t].add({callback:n,priority:e})}patch(){Sl&&(window.requestAnimationFrame=(n,{priority:e=0,fps:t=Number.POSITIVE_INFINITY}={})=>n===this.raf||!n.toString().includes("requestAnimationFrame(")?mw(n):(n.__tempusPatched||(n.__tempusPatched=!0,n.__tempusUnsubscribe=this.add(n,{priority:e,fps:t})),n.__tempusUnsubscribe),window.cancelAnimationFrame=n=>{if(typeof n=="function"){n==null||n();return}return gw(n)})}unpatch(){Sl&&(window.requestAnimationFrame=mw,window.cancelAnimationFrame=gw)}},zM=new $q;function Ox(n){return rA()?(Fy(n),!0):!1}const HM=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Kq=n=>n!=null,Zq=Object.prototype.toString,Jq=n=>Zq.call(n)==="[object Object]",Yc=()=>{},eX=tX();function tX(){var n,e;return HM&&((n=window==null?void 0:window.navigator)==null?void 0:n.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((e=window==null?void 0:window.navigator)==null?void 0:e.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function VM(n){return Do()}function G1(n){return Array.isArray(n)?n:[n]}function xA(n,e=!0,t){VM()?zs(n,t):e?n():Ja(n)}function nX(n,e){VM()&&tl(n,e)}function iX(n,e,t){return ai(n,e,{...t,immediate:!0})}const Nd=HM?window:void 0;function ru(n){var e;const t=Co(n);return(e=t==null?void 0:t.$el)!=null?e:t}function Kr(...n){const e=[],t=()=>{e.forEach(a=>a()),e.length=0},i=(a,l,c,u)=>(a.addEventListener(l,c,u),()=>a.removeEventListener(l,c,u)),r=ii(()=>{const a=G1(Co(n[0])).filter(l=>l!=null);return a.every(l=>typeof l!="string")?a:void 0}),s=iX(()=>{var a,l;return[(l=(a=r.value)==null?void 0:a.map(c=>ru(c)))!=null?l:[Nd].filter(c=>c!=null),G1(Co(r.value?n[1]:n[0])),G1(qt(r.value?n[2]:n[1])),Co(r.value?n[3]:n[2])]},([a,l,c,u])=>{if(t(),!(a!=null&&a.length)||!(l!=null&&l.length)||!(c!=null&&c.length))return;const f=Jq(u)?{...u}:u;e.push(...a.flatMap(h=>l.flatMap(p=>c.map(m=>i(h,p,m,f)))))},{flush:"post"}),o=()=>{s(),t()};return Ox(t),o}let Aw=!1;function rX(n,e,t={}){const{window:i=Nd,ignore:r=[],capture:s=!0,detectIframe:o=!1,controls:a=!1}=t;if(!i)return a?{stop:Yc,cancel:Yc,trigger:Yc}:Yc;if(eX&&!Aw){Aw=!0;const A={passive:!0};Array.from(i.document.body.children).forEach(y=>Kr(y,"click",Yc,A)),Kr(i.document.documentElement,"click",Yc,A)}let l=!0;const c=A=>Co(r).some(y=>{if(typeof y=="string")return Array.from(i.document.querySelectorAll(y)).some(x=>x===A.target||A.composedPath().includes(x));{const x=ru(y);return x&&(A.target===x||A.composedPath().includes(x))}});function u(A){const y=Co(A);return y&&y.$.subTree.shapeFlag===16}function f(A,y){const x=Co(A),b=x.$.subTree&&x.$.subTree.children;return b==null||!Array.isArray(b)?!1:b.some(_=>_.el===y.target||y.composedPath().includes(_.el))}const h=A=>{const y=ru(n);if(A.target!=null&&!(!(y instanceof Element)&&u(n)&&f(n,A))&&!(!y||y===A.target||A.composedPath().includes(y))){if("detail"in A&&A.detail===0&&(l=!c(A)),!l){l=!0;return}e(A)}};let p=!1;const m=[Kr(i,"click",A=>{p||(p=!0,setTimeout(()=>{p=!1},0),h(A))},{passive:!0,capture:s}),Kr(i,"pointerdown",A=>{const y=ru(n);l=!c(A)&&!!(y&&!A.composedPath().includes(y))},{passive:!0}),o&&Kr(i,"blur",A=>{setTimeout(()=>{var y;const x=ru(n);((y=i.document.activeElement)==null?void 0:y.tagName)==="IFRAME"&&!(x!=null&&x.contains(i.document.activeElement))&&e(A)},0)},{passive:!0}
37)].filter(Boolean),v=()=>m.forEach(A=>A());return a?{stop:v,cancel:()=>{l=!1},trigger:A=>{l=!0,h(A),l=!1}}:v}function sX(){const n=ds(!1),e=Do();return e&&zs(()=>{n.value=!0},e),n}function oX(n){const e=sX();return ii(()=>(e.value,!!n()))}function aX(n,e,t={}){const{window:i=Nd,...r}=t;let s;const o=oX(()=>i&&"MutationObserver"in i),a=()=>{s&&(s.disconnect(),s=void 0)},l=ii(()=>{const h=Co(n),p=G1(h).map(ru).filter(Kq);return new Set(p)}),c=ai(()=>l.value,h=>{a(),o.value&&h.size&&(s=new MutationObserver(e),h.forEach(p=>s.observe(p,r)))},{immediate:!0,flush:"post"}),u=()=>s==null?void 0:s.takeRecords(),f=()=>{c(),a()};return Ox(f),{isSupported:o,stop:f,takeRecords:u}}function lX(n,e,t={}){const{window:i=Nd,document:r=i==null?void 0:i.document,flush:s="sync"}=t;if(!i||!r)return Yc;let o;const a=u=>{o==null||o(),o=u},l=aA(()=>{const u=ru(n);if(u){const{stop:f}=aX(r,h=>{h.map(m=>[...m.removedNodes]).flat().some(m=>m===u||m.contains(u))&&e(h)},{window:i,childList:!0,subtree:!0});a(f)}},{flush:s}),c=()=>{l(),a()};return Ox(c),c}function cX(n={}){var e;const{window:t=Nd,deep:i=!0,triggerOnRemoval:r=!1}=n,s=(e=n.document)!=null?e:t==null?void 0:t.document,o=()=>{var c;let u=s==null?void 0:s.activeElement;if(i)for(;u!=null&&u.shadowRoot;)u=(c=u==null?void 0:u.shadowRoot)==null?void 0:c.activeElement;return u},a=gt(),l=()=>{a.value=o()};if(t){const c={capture:!0,passive:!0};Kr(t,"blur",u=>{u.relatedTarget===null&&l()},c),Kr(t,"focus",l,c)}return r&&lX(a,l,{document:s}),l(),a}const uX={page:n=>[n.pageX,n.pageY],client:n=>[n.clientX,n.clientY],screen:n=>[n.screenX,n.screenY],movement:n=>n instanceof MouseEvent?[n.movementX,n.movementY]:null};function fX(n={}){const{type:e="page",touch:t=!0,resetOnTouchEnds:i=!1,initialValue:r={x:0,y:0},window:s=Nd,target:o=s,scroll:a=!0,eventFilter:l}=n;let c=null,u=0,f=0;const h=ds(r.x),p=ds(r.y),m=ds(null),v=typeof e=="function"?e:uX[e],A=I=>{const R=v(I);c=I,R&&([h.value,p.value]=R,m.value="mouse"),s&&(u=s.scrollX,f=s.scrollY)},y=I=>{if(I.touches.length>0){const R=v(I.touches[0]);R&&([h.value,p.value]=R,m.value="touch")}},x=()=>{if(!c||!s)return;const I=v(c);c instanceof MouseEvent&&I&&(h.value=I[0]+s.scrollX-u,p.value=I[1]+s.scrollY-f)},b=()=>{h.value=r.x,p.value=r.y},_=l?I=>l(()=>A(I),{}):I=>A(I),T=l?I=>l(()=>y(I),{}):I=>y(I),M=l?()=>l(()=>x(),{}):()=>x();if(o){const I={passive:!0};Kr(o,["mousemove","dragover"],_,I),t&&e!=="movement"&&(Kr(o,["touchstart","touchmove"],T,I),i&&Kr(o,"touchend",b,I)),a&&e==="page"&&Kr(s,"scroll",M,I)}return{x:h,y:p,sourceType:m}}/*!
38 * paths 3.14.2
39 * https://gsap.com
40 *
41 * Copyright 2008-2025, GreenSock. All rights reserved.
42 * Subject to the terms at https://gsap.com/standard-license
43 * @author: Jack Doyle, [email protected]
44*/var dX=/[achlmqstvz]|(-?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/ig,hX=/[\+\-]?\d*\.?\d+e[\+\-]?\d+/ig,pX=Math.PI/180,Im=Math.sin,Pm=Math.cos,u0=Math.abs,Ah=Math.sqrt,mX=function(e){return typeof e=="number"},vw=1e5,ll=function(e){return Math.round(e*vw)/vw||0},yw=function(e){return e.closed=Math.abs(e[0]-e[e.length-2])<.001&&Math.abs(e[1]-e[e.length-1])<.001};function gX(n,e,t,i,r,s,o){for(var a=n.length,l,c,u,f,h;--a>-1;)for(l=n[a],c=l.length,u=0;u<c;u+=2)f=l[u],h=l[u+1],l[u]=f*e+h*i+s,l[u+1]=f*t+h*r+o;return n._dirty=1,n}function AX(n,e,t,i,r,s,o,a,l){if(!(n===a&&e===l)){t=u0(t),i=u0(i);var c=r%360*pX,u=Pm(c),f=Im(c),h=Math.PI,p=h*2,m=(n-a)/2,v=(e-l)/2,A=u*m+f*v,y=-f*m+u*v,x=A*A,b=y*y,_=x/(t*t)+b/(i*i);_>1&&(t=Ah(_)*t,i=Ah(_)*i);var T=t*t,M=i*i,I=(T*M-T*b-M*x)/(T*b+M*x);I<0&&(I=0);var R=(s===o?-1:1)*Ah(I),w=R*(t*y/i),E=R*-(i*A/t),F=(n+a)/2,L=(e+l)/2,z=F+(u*w-f*E),V=L+(f*w+u*E),j=(A-w)/t,N=(y-E)/i,Q=(-A-w)/t,W=(-y-E)/i,ee=j*j+N*N,H=(N<0?-1:1)*Math.acos(j/Ah(ee)),ye=(j*W-N*Q<0?-1:1)*Math.acos((j*Q+N*W)/Ah(ee*(Q*Q+W*W)));isNaN(ye)&&(ye=h),!o&&ye>0?ye-=p:o&&ye<0&&(ye+=p),H%=p,ye%=p;var Ie=Math.ceil(u0(ye)/(p/4)),ze=[],oe=ye/Ie,_e=4/3*Im(oe/2)/(1+Pm(oe/2)),Fe=u*t,Z=f*t,Ae=f*-i,we=u*i,be;for(be=0;be<Ie;be++)r=H+be*oe,A=Pm(r),y=Im(r),j=Pm(r+=oe),N=Im(r),ze.push(A-_e*y,y+_e*A,j+_e*N,N-_e*j,j,N);for(be=0;be<ze.length;be+=2)A=ze[be],y=ze[be+1],ze[be]=A*Fe+y*Ae+z,ze[be+1]=A*Z+y*we+V;return ze[be-2]=a,ze[be-1]=l,ze}}function vX(n){var e=(n+"").replace(hX,function(w){var E=+w;return E<1e-4&&E>-1e-4?0:E}).match(dX)||[],t=[],i=0,r=0,s=2/3,o=e.length,a=0,l="ERROR: malformed path: "+n,c,u,f,h,p,m,v,A,y,x,b,_,T,M,I,R=function(E,F,L,z){x=(L-E)/3,b=(z-F)/3,v.push(E+x,F+b,L-x,z-b,L,z)};if(!n||!isNaN(e[0])||isNaN(e[1]))return console.log(l),t;for(c=0;c<o;c++)if(T=p,isNaN(e[c])?(p=e[c].toUpperCase(),m=p!==e[c]):c--,f=+e[c+1],h=+e[c+2],m&&(f+=i,h+=r),c||(A=f,y=h),p==="M")v&&(v.length<8?t.length-=1:a+=v.length,yw(v)),i=A=f,r=y=h,v=[f,h],t.push(v),c+=2,p="L";else if(p==="C")v||(v=[0,0]),m||(i=r=0),v.push(f,h,i+e[c+3]*1,r+e[c+4]*1,i+=e[c+5]*1,r+=e[c+6]*1),c+=6;else if(p==="S")x=i,b=r,(T==="C"||T==="S")&&(x+=i-v[v.length-4],b+=r-v[v.length-3]),m||(i=r=0),v.push(x,b,f,h,i+=e[c+3]*1,r+=e[c+4]*1),c+=4;else if(p==="Q")x=i+(f-i)*s,b=r+(h-r)*s,m||(i=r=0),i+=e[c+3]*1,r+=e[c+4]*1,v.push(x,b,i+(f-i)*s,r+(h-r)*s,i,r),c+=4;else if(p==="T")x=i-v[v.length-4],b=r-v[v.length-3],v.push(i+x,r+b,f+(i+x*1.5-f)*s,h+(r+b*1.5-h)*s,i=f,r=h),c+=2;else if(p==="H")R(i,r,i=f,r),c+=1;
44else if(p==="V")R(i,r,i,r=f+(m?r-i:0)),c+=1;else if(p==="L"||p==="Z")p==="Z"&&(f=A,h=y,v.closed=!0),(p==="L"||u0(i-f)>.5||u0(r-h)>.5)&&(R(i,r,f,h),p==="L"&&(c+=2)),i=f,r=h;else if(p==="A"){if(M=e[c+4],I=e[c+5],x=e[c+6],b=e[c+7],u=7,M.length>1&&(M.length<3?(b=x,x=I,u--):(b=I,x=M.substr(2),u-=2),I=M.charAt(1),M=M.charAt(0)),_=AX(i,r,+e[c+1],+e[c+2],+e[c+3],+M,+I,(m?i:0)+x*1,(m?r:0)+b*1),c+=u,_)for(u=0;u<_.length;u++)v.push(_[u]);i=v[v.length-2],r=v[v.length-1]}else console.log(l);return c=v.length,c<6?(t.pop(),c=0):yw(v),t.totalPoints=a+c,t}function yX(n){mX(n[0])&&(n=[n]);var e="",t=n.length,i,r,s,o;for(r=0;r<t;r++){for(o=n[r],e+="M"+ll(o[0])+","+ll(o[1])+" C",i=o.length,s=2;s<i;s++)e+=ll(o[s++])+","+ll(o[s++])+" "+ll(o[s++])+","+ll(o[s++])+" "+ll(o[s++])+","+ll(o[s])+" ";o.closed&&(e+="z")}return e}/*!
45 * CustomEase 3.14.2
46 * https://gsap.com
47 *
48 * @license Copyright 2008-2025, GreenSock. All rights reserved.
49 * Subject to the terms at https://gsap.com/standard-license
50 * @author: Jack Doyle, [email protected]
51*/var cs,GM,QM=function(){return cs||typeof window<"u"&&(cs=window.gsap)&&cs.registerPlugin&&cs},_w=function(){cs=QM(),cs?(cs.registerEase("_CE",Ol.create),GM=1):console.warn("Please gsap.registerPlugin(CustomEase)")},_X=1e20,Rm=function(e){return~~(e*1e3+(e<0?-.5:.5))/1e3},bX=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/gi,xX=/[cLlsSaAhHvVtTqQ]/g,CX=function(e){var t=e.length,i=_X,r;for(r=1;r<t;r+=6)+e[r]<i&&(i=+e[r]);return i},wX=function(e,t,i){!i&&i!==0&&(i=Math.max(+e[e.length-1],+e[1]));var r=+e[0]*-1,s=-i,o=e.length,a=1/(+e[o-2]+r),l=-t||(Math.abs(+e[o-1]-+e[1])<.01*(+e[o-2]-+e[0])?CX(e)+s:+e[o-1]+s),c;for(l?l=1/l:l=-a,c=0;c<o;c+=2)e[c]=(+e[c]+r)*a,e[c+1]=(+e[c+1]+s)*l},SX=function n(e,t,i,r,s,o,a,l,c,u,f){var h=(e+i)/2,p=(t+r)/2,m=(i+s)/2,v=(r+o)/2,A=(s+a)/2,y=(o+l)/2,x=(h+m)/2,b=(
51p+v)/2,_=(m+A)/2,T=(v+y)/2,M=(x+_)/2,I=(b+T)/2,R=a-e,w=l-t,E=Math.abs((i-a)*w-(r-l)*R),F=Math.abs((s-a)*w-(o-l)*R),L;return u||(u=[{x:e,y:t},{x:a,y:l}],f=1),u.splice(f||u.length-1,0,{x:M,y:I}),(E+F)*(E+F)>c*(R*R+w*w)&&(L=u.length,n(e,t,h,p,x,b,M,I,c,u,f),n(M,I,_,T,A,y,a,l,c,u,f+1+(u.length-L))),u},Ol=function(){function n(t,i,r){GM||_w(),this.id=t,this.setData(i,r)}var e=n.prototype;return e.setData=function(i,r){r=r||{},i=i||"0,0,1,1";var s=i.match(bX),o=1,a=[],l=[],c=r.precision||1,u=c<=1,f,h,p,m,v,A,y,x,b;if(this.data=i,(xX.test(i)||~i.indexOf("M")&&i.indexOf("C")<0)&&(s=vX(i)[0]),f=s.length,f===4)s.unshift(0,0),s.push(1,1),f=8;else if((f-2)%6)throw"Invalid CustomEase";for((+s[0]!=0||+s[f-2]!=1)&&wX(s,r.height,r.originY),this.segment=s,m=2;m<f;m+=6)h={x:+s[m-2],y:+s[m-1]},p={x:+s[m+4],y:+s[m+5]},a.push(h,p),SX(h.x,h.y,+s[m],+s[m+1],+s[m+2],+s[m+3],p.x,p.y,1/(c*2e5),a,a.length-1);for(f=a.length,m=0;m<f;m++)y=a[m],x=a[m-1]||y,(y.x>x.x||x.y!==y.y&&x.x===y.x||y===x)&&y.x<=1?(x.cx=y.x-x.x,x.cy=y.y-x.y,x.n=y,x.nx=y.x,u&&m>1&&Math.abs(x.cy/x.cx-a[m-2].cy/a[m-2].cx)>2&&(u=0),x.cx<o&&(x.cx?o=x.cx:(x.cx=.001,m===f-1&&(x.x-=.001,o=Math.min(o,.001),u=0)))):(a.splice(m--,1),f--);if(f=1/o+1|0,v=1/f,A=0,y=a[0],u){for(m=0;m<f;m++)b=m*v,y.nx<b&&(y=a[++A]),h=y.y+(b-y.x)/y.cx*y.cy,l[m]={x:b,cx:v,y:h,cy:0,nx:9},m&&(l[m-1].cy=h-l[m-1].y);A=a[a.length-1],l[f-1].cy=A.y-h,l[f-1].cx=A.x-l[l.length-1].x}else{for(m=0;m<f;m++)y.nx<m*v&&(y=a[++A]),l[m]=y;A<a.length-1&&(l[m-1]=a[a.length-2])}return this.ease=function(_){var T=l[_*f|0]||l[f-1];return T.nx<_&&(T=T.n),T.y+(_-T.x)/T.cx*T.cy},this.ease.custom=this,this.id&&cs&&cs.registerEase(this.id,this.ease),this},e.getSVGData=function(i){return n.getSVGData(this,i)},n.create=function(i,r,s){return new n(i,r,s).ease},n.register=function(i){cs=i,_w()},n.get=function(i){return cs.parseEase(i)},n.getSVGData=function(i,r){r=r||{};var s=r.width||100,o=r.height||100,a=r.x||0,l=(r.y||0)+o,c=cs.utils.toArray(r.path)[0],u,f,h,p,m,v,A,y,x,b;if(r.invert&&(o=-o,l=0),typeof i=="string"&&(i=cs.parseEase(i)),i.custom&&(i=i.custom),i instanceof n)u=yX(gX([i.segment.slice(0)],s,0,0,-o,a,l));else{for(u=[a,l],A=Math.max(5,(r.precision||1)*200),p=1/A,A+=2,y=5/A,x=Rm(a+p*s),b=Rm(l+i(p)*-o),f=(b-l)/(x-a),h=2;h<A;h++)m=Rm(a+h*p*s),v=Rm(l+i(h*p)*-o),(Math.abs((v-b)/(m-x)-f)>y||h===A-1)&&(u.push(x,b),f=(v-b)/(m-x)),x=m,b=v;u="M"+u.join(",")}return c&&c.setAttribute("d",u),u},n}();Ol.version="3.14.2";Ol.headless=!0;QM()&&cs.registerPlugin(Ol);function EX(n,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}}function TX(n,e,t){return e&&EX(n.prototype,e),n}/*!
52 * Observer 3.14.2
53 * https://gsap.com
54 *
55 * @license Copyright 2008-2025, GreenSock. All rights reserved.
56 * Subject to the terms at https://gsap.com/standard-license
57 * @author: Jack Doyle, [email protected]
58*/var ur,Q1,Ds,Fl,Ul,Kf,WM,$c,f0,jM,za,go,qM,XM=function(){return ur||typeof window<"u"&&(ur=window.gsap)&&ur.registerPlugin&&ur},YM=1,Ff=[],Ht=[],Jo=[],d0=Date.now,D_=function(e,t){return t},MX=function(){var e=f0.core,t=e.bridge||{},i=e._scrollers,r=e._proxies;i.push.apply(i,Ht),r.push.apply(r,Jo),Ht=i,Jo=r,D_=function(o,a){return t[o](a)}},jl=function(e,t){return~Jo.indexOf(e)&&Jo[Jo.indexOf(e)+1][t]},h0=function(e){return!!~jM.indexOf(e)},Hr=function(e,t,i,r,s){return e.addEventListener(t,i,{passive:r!==!1,capture:!!s})},Ur=function(e,t,i,r){return e.removeEventListener(t,i,!!r)},Bm="scrollLeft",Dm="scrollTop",L_=function(){return za&&za.isPressed||Ht.cache++},Pg=function(e,t){var i=function r(s){if(s||s===0){YM&&(Ds.history.scrollRestoration="manual");var o=za&&za.isPressed;s=r.v=Math.round(s)||(za&&za.iOS?1:0),e(s),r.cacheID=Ht.cache,o&&D_("ss",s)}else(t||Ht.cache!==r.cacheID||D_("ref"))&&(r.cacheID=Ht.cache,r.v=e());return r.v+r.offset};return i.offset=0,e&&i},Zr={s:Bm,p:"left",p2:"Left",os:"right",os2:"Right",d:"width",d2:"Width",a:"x",sc:Pg(function(n){return arguments.length?Ds.scrollTo(n,Ni.sc()):Ds.pageXOffset||Fl[Bm]||Ul[Bm]||Kf[Bm]||0})},Ni={s:Dm,p:"top",p2:"Top",os:"bottom",os2:"Bottom",d:"height",d2:"Height",a:"y",op:Zr,
vendor: 8,688 bytes, lines 58-65
58sc:Pg(function(n){return arguments.length?Ds.scrollTo(Zr.sc(),n):Ds.pageYOffset||Fl[Dm]||Ul[Dm]||Kf[Dm]||0})},ls=function(e,t){return(t&&t._ctx&&t._ctx.selector||ur.utils.toArray)(e)[0]||(typeof e=="string"&&ur.config().nullTargetWarn!==!1?console.warn("Element not found:",e):null)},IX=function(e,t){for(var i=t.length;i--;)if(t[i]===e||t[i].contains(e))return!0;return!1},ec=function(e,t){var i=t.s,r=t.sc;h0(e)&&(e=Fl.scrollingElement||Ul);var s=Ht.indexOf(e),o=r===Ni.sc?1:2;!~s&&(s=Ht.push(e)-1),Ht[s+o]||Hr(e,"scroll",L_);var a=Ht[s+o],l=a||(Ht[s+o]=Pg(jl(e,i),!0)||(h0(e)?r:Pg(function(c){return arguments.length?e[i]=c:e[i]})));return l.target=e,a||(l.smooth=ur.getProperty(e,"scrollBehavior")==="smooth"),l},O_=function(e,t,i){var r=e,s=e,o=d0(),a=o,l=t||50,c=Math.max(500,l*3),u=function(m,v){var A=d0();v||A-o>l?(s=r,r=m,a=o,o=A):i?r+=m:r=s+(m-s)/(A-a)*(o-a)},f=function(){s=r=i?0:r,a=o=0},h=function(m){var v=a,A=s,y=d0();return(m||m===0)&&m!==r&&u(m),o===a||y-a>c?0:(r+(i?A:-A))/((i?y:o)-v)*1e3};return{update:u,reset:f,getVelocity:h}},vh=function(e,t){return t&&!e._gsapAllow&&e.preventDefault(),e.changedTouches?e.changedTouches[0]:e},bw=function(e){var t=Math.max.apply(Math,e),i=Math.min.apply(Math,e);return Math.abs(t)>=Math.abs(i)?t:i},$M=function(){f0=ur.core.globals().ScrollTrigger,f0&&f0.core&&MX()},KM=function(e){return ur=e||XM(),!Q1&&ur&&typeof document<"u"&&document.body&&(Ds=window,Fl=document,Ul=Fl.documentElement,Kf=Fl.body,jM=[Ds,Fl,Ul,Kf],ur.utils.clamp,qM=ur.core.context||function(){},$c="onpointerenter"in Kf?"pointer":"mouse",WM=xi.isTouch=Ds.matchMedia&&Ds.matchMedia("(hover: none), (pointer: coarse)").matches?1:"ontouchstart"in Ds||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0?2:0,go=xi.eventTypes=("ontouchstart"in Ul?"touchstart,touchmove,touchcancel,touchend":"onpointerdown"in Ul?"pointerdown,pointermove,pointercancel,pointerup":"mousedown,mousemove,mouseup,mouseup").split(","),setTimeout(function(){return YM=0},500),$M(),Q1=1),Q1};Zr.op=Ni;Ht.cache=0;var xi=function(){function n(t){this.init(t)}var e=n.prototype;return e.init=function(i){Q1||KM(ur)||console.warn("Please gsap.registerPlugin(Observer)"),f0||$M();var r=i.tolerance,s=i.dragMinimum,o=i.type,a=i.target,l=i.lineHeight,c=i.debounce,u=i.preventDefault,f=i.onStop,h=i.onStopDelay,p=i.ignore,m=i.wheelSpeed,v=i.event,A=i.onDragStart,y=i.onDragEnd,x=i.onDrag,b=i.onPress,_=i.onRelease,T=i.onRight,M=i.onLeft,I=i.onUp,R=i.onDown,w=i.onChangeX,E=i.onChangeY,F=i.onChange,L=i.onToggleX,z=i.onToggleY,V=i.onHover,j=i.onHoverEnd,N=i.onMove,Q=i.ignoreCheck,W=i.isNormalizer,ee=i.onGestureStart,H=i.onGestureEnd,ye=i.onWheel,Ie=i.onEnable,ze=i.onDisable,oe=i.onClick,_e=i.scrollSpeed,Fe=i.capture,Z=i.allowClicks,Ae=i.lockAxis,we=i.onLockAxis;this.target=a=ls(a)||Ul,this.vars=i,p&&(p=ur.utils.toArray(p)),r=r||1e-9,s=s||0,m=m||1,_e=_e||1,o=o||"wheel,touch,pointer",c=c!==!1,l||(l=parseFloat(Ds.getComputedStyle(Kf).lineHeight)||22);var be,qe,rt,q,B,le,ve,$=this,de=0,De=0,xe=i.passive||!u&&i.passive!==!1,k=ec(a,Zr),D=ec(a,Ni),ne=k(),re=D(),ce=~o.indexOf("touch")&&!~o.indexOf("pointer")&&go[0]==="pointerdown",fe=h0(a),Pe=a.ownerDocument||Fl,Le=[0,0,0],Oe=[0,0,0],dt=0,Be=function(){return dt=d0()},He=function(ot,Mt){return($.event=ot)&&p&&IX(ot.target,p)||Mt&&ce&&ot.pointerType!=="touch"||Q&&Q(ot,Mt)},Xe=function(){$._vx.reset(),$._vy.reset(),qe.pause(),f&&f($)},st=function(){var ot=$.deltaX=bw(Le),Mt=$.deltaY=bw(Oe),Ze=Math.abs(ot)>=r,wt=Math.abs(Mt)>=r;F&&(Ze||wt)&&F($,ot,Mt,Le,Oe),Ze&&(T&&$.deltaX>0&&T($),M&&$.deltaX<0&&M($),w&&w($),L&&$.deltaX<0!=de<0&&L($),de=$.deltaX,Le[0]=Le[1]=Le[2]=0),wt&&(R&&$.deltaY>0&&R($),I&&$.deltaY<0&&I($),E&&E($),z&&$.deltaY<0!=De<0&&z($),De=$.deltaY,Oe[0]=Oe[1]=Oe[2]=0),(q||rt)&&(N&&N($),rt&&(A&&rt===1&&A($),x&&x($),rt=0),q=!1),le&&!(le=!1)&&we&&we($),B&&(ye($),B=!1),be=0},et=function(ot,Mt,Ze){Le[Ze]+=ot,Oe[Ze]+=Mt,$._vx.update(ot),$._vy.update(Mt),c?be||(be=requestAnimationFrame(st)):st()},mt=function(ot,Mt){Ae&&!ve&&($.axis=ve=Math.abs(ot)>Math.abs(Mt)?"x":"y",le=!0),ve!=="y"&&(Le[2]+=ot,$._vx.update(ot,!0)),ve!=="x"&&(Oe[2]+=Mt,$._vy.update(Mt,!0)),c?be||(be=requestAnimationFrame(st)):st()},lt=function(ot){if(!He(ot,1)){ot=vh(ot,u);var Mt=ot.clientX,Ze=ot.clientY,wt=Mt-$.x,ct=Ze-$.y,bt=$.isDragging;$.x=Mt,$.y=Ze,(bt||(wt||ct)&&(Math.abs($.startX-Mt)>=s||Math.abs($.startY-Ze)>=s))&&(rt||(rt=bt?2:1),bt||($.isDragging=!0),mt(wt,ct))}},Rt=$.onPress=function($e){He($e,1)||$e&&$e.button||($.axis=ve=null,qe.pause(),$.isPressed=!0,$e=vh($e),de=De=0,$.startX=$.x=$e.clientX,$.startY=$.y=$e.clientY,$._vx.reset(),$._vy.reset(),Hr(W?a:Pe,go[1],lt,xe,!0),$.deltaX=$.deltaY=0,b&&b($))},te=$.onRelease=function($e){if(!He($e,1)){Ur(W?a:Pe,go[1],lt,!0);var ot=!isNaN($.y-$.startY),Mt=$.isDragging,Ze=Mt&&(Math.abs($.x-$.startX)>3||Math.abs($.y-$.startY)>3),wt=vh($e);!Ze&&ot&&($._vx.reset(),$._vy.reset(),u&&Z&&ur.delayedCall(.08,function(){if(d0()-dt>300&&!$e.defaultPrevented){if($e.target.click)$e.target.click();else if(Pe.createEvent){var ct=Pe.createEvent("MouseEvents");ct.initMouseEvent("click",!0,!0,Ds,1,wt.screenX,wt.screenY,wt.clientX,wt.clientY,!1,!1,!1,!1,0,null),$e.target.dispatchEvent(ct)}}})),$.isDragging=$.isGesturing=$.isPressed=!1,f&&Mt&&!W&&qe.restart(!0),rt&&st(),y&&Mt&&y($),_&&_($,Ze)}},We=function(ot){return ot.touches&&ot.touches.length>1&&($.isGesturing=!0)&&ee(ot,$.isDragging)},Ce=function(){return($.isGesturing=!1)||H($)},Me=function(ot){if(!He(ot)){var Mt=k(),Ze=D();et((Mt-ne)*_e,(Ze-re)*_e,1),ne=Mt,re=Ze,f&&qe.restart(!0)}},je=function(ot){if(!He(ot)){ot=vh(ot,u),ye&&(B=!0);var Mt=(ot.deltaMode===1?l:ot.deltaMode===2?Ds.innerHeight:1)*m;et(ot.deltaX*Mt,ot.deltaY*Mt,0),f&&!W&&qe.restart(!0)}},Ye=function(ot){if(!He(ot)){var Mt=ot.clientX,Ze=ot.clientY,wt=Mt-$.x,ct=Ze-$.y;$.x=Mt,$.y=Ze,q=!0,f&&qe.restart(!0),(wt||ct)&&mt(wt,ct)}},_t=function(ot){$.event=ot,V($)},jt=function(ot){$.event=ot,j($)},Bn=function(ot){return He(ot)||vh(ot,u)&&oe($)};qe=$._dc=ur.delayedCall(h||.25,Xe).pause(),$.deltaX=$.deltaY=0,$._vx=O_(0,50,!0),$._vy=O_(0,50,!0),$.scrollX=k,$.scrollY=D,$.isDragging=$.isGesturing=$.isPressed=!1,qM(this),$.enable=function($e){return $.isEnabled||(Hr(fe?Pe:a,"scroll",L_),o.indexOf("scroll")>=0&&Hr(fe?Pe:a,"scroll",Me,xe,Fe),o.indexOf("wheel")>=0&&Hr(a,"wheel",je,xe,Fe),(o.indexOf("touch")>=0&&WM||o.indexOf("pointer")>=0)&&(Hr(a,go[0],Rt,xe,Fe),Hr(Pe,go[2],te),Hr(Pe,go[3],te),Z&&Hr(a,"click",Be,!0,!0),oe&&Hr(a,"click",Bn),ee&&Hr(Pe,"gesturestart",We),H&&Hr(Pe,"gestureend",Ce),V&&Hr(a,$c+"enter",_t),j&&Hr(a,$c+"leave",jt),N&&Hr(a,$c+"move",Ye)),$.isEnabled=!0,$.isDragging=$.isGesturing=$.isPressed=q=rt=!1,$._vx.reset(),$._vy.reset(),ne=k(),re=D(),$e&&$e.type&&Rt($e),Ie&&Ie($)),$},$.disable=function(){$.isEnabled&&(Ff.filter(function($e){return $e!==$&&h0($e.target)}).length||Ur(fe?Pe:a,"scroll",L_),$.isPressed&&($._vx.reset(),$._vy.reset(),Ur(W?a:Pe,go[1],lt,!0)),Ur(fe?Pe:a,"scroll",Me,Fe),Ur(a,"wheel",je,Fe),Ur(a,go[0],Rt,Fe),Ur(Pe,go[2],te),Ur(Pe,go[3],te),Ur(a,"click",Be,!0),Ur(a,"click",Bn),Ur(Pe,"gesturestart",We),Ur(Pe,"gestureend",Ce),Ur(a,$c+"enter",_t),Ur(a,$c+"leave",jt),Ur(a,$c+"move",Ye),$.isEnabled=$.isPressed=$.isDragging=!1,ze&&ze($))},$.kill=$.revert=function(){$.disable();var $e=Ff.indexOf($);$e>=0&&Ff.splice($e,1),za===$&&(za=0)},Ff.push($),W&&h0(a)&&(za=$),$.enable(v)},TX(n,[{key:"velocityX",get:function(){return this._vx.getVelocity()}},{key:"velocityY",get:function(){return this._vy.getVelocity()}}]),n}();xi.version="3.14.2";xi.create=function(n){return new xi(n)};xi.register=KM;xi.getAll=function(){return Ff.slice()};xi.getById=function(n){return Ff.filter(function(e){return e.vars.id===n})[0]};XM()&&ur.registerPlugin(xi);/*!
59 * ScrollTrigger 3.14.2
60 * https://gsap.com
61 *
62 * @license Copyright 2008-2025, GreenSock. All rights reserved.
63 * Subject to the terms at https://gsap.com/standard-license
64 * @author: Jack Doyle, [email protected]
65*/var at,Ef,zt,Nn,Rs,pn,Fx,Rg,W0,p0,Vh,Lm,_r,CA,F_,jr,xw,Cw,Tf,ZM,q2,JM,Gr,U_,eI,tI,vl,N_,Ux,Zf,Nx,m0,k_,X2,Om=1,xr=Date.now,Y2=xr(),io=0,Gh=0,ww=function(e,t,i){var r=Ts(e)&&(e.substr(0,6)==="clamp("||e.indexOf("max")>-1);return i["_"+t+"Clamp"]=r,r?e.substr(6,e.length-7):e},Sw=function(e,t){return t&&(!Ts(e)||e.substr(0,6)!=="clamp(")?"clamp("+e+")":e},PX=function n(){return Gh&&requestAnimationFrame(n)},Ew=function(){return CA=1},Tw=function(){return CA=0},Go=function(e){return e},Qh=function(e){return Math.round(e*1e5)/1e5||0},nI=function(){return typeof window<"u"},iI=function(){return at||nI()&&(at=window.gsap)&&at.registerPlugin&&at},Tu=function(e){return!!~Fx.indexOf(e)},rI=function(e){return(e==="Height"?Nx:zt["inner"+e])||Rs["client"+e]||pn["client"+e]}
vendor: 4,310 bytes, line 65
65,sI=function(e){return jl(e,"getBoundingClientRect")||(Tu(e)?function(){return Y1.width=zt.innerWidth,Y1.height=Nx,Y1}:function(){return La(e)})},RX=function(e,t,i){var r=i.d,s=i.d2,o=i.a;return(o=jl(e,"getBoundingClientRect"))?function(){return o()[r]}:function(){return(t?rI(s):e["client"+s])||0}},BX=function(e,t){return!t||~Jo.indexOf(e)?sI(e):function(){return Y1}},$o=function(e,t){var i=t.s,r=t.d2,s=t.d,o=t.a;return Math.max(0,(i="scroll"+r)&&(o=jl(e,i))?o()-sI(e)()[s]:Tu(e)?(Rs[i]||pn[i])-rI(r):e[i]-e["offset"+r])},Fm=function(e,t){for(var i=0;i<Tf.length;i+=3)(!t||~t.indexOf(Tf[i+1]))&&e(Tf[i],Tf[i+1],Tf[i+2])},Ts=function(e){return typeof e=="string"},Tr=function(e){return typeof e=="function"},Wh=function(e){return typeof e=="number"},Kc=function(e){return typeof e=="object"},yh=function(e,t,i){return e&&e.progress(t?0:1)&&i&&e.pause()},$2=function(e,t){if(e.enabled){var i=e._ctx?e._ctx.add(function(){return t(e)}):t(e);i&&i.totalTime&&(e.callbackAnimation=i)}},Zu=Math.abs,oI="left",aI="top",kx="right",zx="bottom",vu="width",yu="height",g0="Right",A0="Left",v0="Top",y0="Bottom",Ti="padding",Ys="margin",xd="Width",Hx="Height",Fi="px",$s=function(e){return zt.getComputedStyle(e)},DX=function(e){var t=$s(e).position;e.style.position=t==="absolute"||t==="fixed"?t:"relative"},Mw=function(e,t){for(var i in t)i in e||(e[i]=t[i]);return e},La=function(e,t){var i=t&&$s(e)[F_]!=="matrix(1, 0, 0, 1, 0, 0)"&&at.to(e,{x:0,y:0,xPercent:0,yPercent:0,rotation:0,rotationX:0,rotationY:0,scale:1,skewX:0,skewY:0}).progress(1),r=e.getBoundingClientRect();return i&&i.progress(0).kill(),r},Bg=function(e,t){var i=t.d2;return e["offset"+i]||e["client"+i]||0},lI=function(e){var t=[],i=e.labels,r=e.duration(),s;for(s in i)t.push(i[s]/r);return t},LX=function(e){return function(t){return at.utils.snap(lI(e),t)}},Vx=function(e){var t=at.utils.snap(e),i=Array.isArray(e)&&e.slice(0).sort(function(r,s){return r-s});return i?function(r,s,o){o===void 0&&(o=.001);var a;if(!s)return t(r);if(s>0){for(r-=o,a=0;a<i.length;a++)if(i[a]>=r)return i[a];return i[a-1]}else for(a=i.length,r+=o;a--;)if(i[a]<=r)return i[a];return i[0]}:function(r,s,o){o===void 0&&(o=.001);var a=t(r);return!s||Math.abs(a-r)<o||a-r<0==s<0?a:t(s<0?r-e:r+e)}},OX=function(e){return function(t,i){return Vx(lI(e))(t,i.direction)}},Um=function(e,t,i,r){return i.split(",").forEach(function(s){return e(t,s,r)})},$i=function(e,t,i,r,s){return e.addEventListener(t,i,{passive:!r,capture:!!s})},Yi=function(e,t,i,r){return e.removeEventListener(t,i,!!r)},Nm=function(e,t,i){i=i&&i.wheelHandler,i&&(e(t,"wheel",i),e(t,"touchmove",i))},Iw={startColor:"green",endColor:"red",indent:0,fontSize:"16px",fontWeight:"normal"},km={toggleActions:"play",anticipatePin:0},Dg={top:0,left:0,center:.5,bottom:1,right:1},W1=function(e,t){if(Ts(e)){var i=e.indexOf("="),r=~i?+(e.charAt(i-1)+1)*parseFloat(e.substr(i+1)):0;~i&&(e.indexOf("%")>i&&(r*=t/100),e=e.substr(0,i-1)),e=r+(e in Dg?Dg[e]*t:~e.indexOf("%")?parseFloat(e)*t/100:parseFloat(e)||0)}return e},zm=function(e,t,i,r,s,o,a,l){var c=s.startColor,u=s.endColor,f=s.fontSize,h=s.indent,p=s.fontWeight,m=Nn.createElement("div"),v=Tu(i)||jl(i,"pinType")==="fixed",A=e.indexOf("scroller")!==-1,y=v?pn:i,x=e.indexOf("start")!==-1,b=x?c:u,_="border-color:"+b+";font-size:"+f+";color:"+b+";font-weight:"+p+";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;";return _+="position:"+((A||l)&&v?"fixed;":"absolute;"),(A||l||!v)&&(_+=(r===Ni?kx:zx)+":"+(o+parseFloat(h))+"px;"),a&&(_+="box-sizing:border-box;text-align:left;width:"+a.offsetWidth+"px;"),m._isStart=x,m.setAttribute("class","gsap-marker-"+e+(t?" marker-"+t:"")),m.style.cssText=_,m.innerText=t||t===0?e+"-"+t:e,y.children[0]?y.insertBefore(m,y.children[0]):y.appendChild(m),m._offset=m["offset"+r.op.d2],j1(m,0,r,x),m},j1=function(e,t,i,r){var s={display:"block"},o=i[r?"os2":"p2"],a=i[r?"p2":"os2"];e._isFlipped=r,s[i.a+"Percent"]=r?-100:0,s[i.a]=r?"1px":0,s["border"+o+xd]=1,s["border"+a+xd]=0,s[i.p]=t+"px",at.set(e,s)},Nt=[],z_={},j0,Pw=function(){return xr()-io>34&&(j0||(j0=requestAnimationFrame(Ga)))},Ju=function(){(!Gr||!Gr.isPressed||Gr.startX>pn.clientWidth)&&(Ht.cache++,Gr?j0||(j0=requestAnimationFrame(Ga)):Ga(),io||Iu("scrollStart"),io=xr())}
vendor: 4,142 bytes, line 65
65,K2=function(){tI=zt.innerWidth,eI=zt.innerHeight},jh=function(e){Ht.cache++,(e===!0||!_r&&!JM&&!Nn.fullscreenElement&&!Nn.webkitFullscreenElement&&(!U_||tI!==zt.innerWidth||Math.abs(zt.innerHeight-eI)>zt.innerHeight*.25))&&Rg.restart(!0)},Mu={},FX=[],cI=function n(){return Yi(Pt,"scrollEnd",n)||su(!0)},Iu=function(e){return Mu[e]&&Mu[e].map(function(t){return t()})||FX},Es=[],uI=function(e){for(var t=0;t<Es.length;t+=5)(!e||Es[t+4]&&Es[t+4].query===e)&&(Es[t].style.cssText=Es[t+1],Es[t].getBBox&&Es[t].setAttribute("transform",Es[t+2]||""),Es[t+3].uncache=1)},fI=function(){return Ht.forEach(function(e){return Tr(e)&&++e.cacheID&&(e.rec=e())})},Gx=function(e,t){var i;for(jr=0;jr<Nt.length;jr++)i=Nt[jr],i&&(!t||i._ctx===t)&&(e?i.kill(1):i.revert(!0,!0));m0=!0,t&&uI(t),t||Iu("revert")},dI=function(e,t){Ht.cache++,(t||!qr)&&Ht.forEach(function(i){return Tr(i)&&i.cacheID++&&(i.rec=0)}),Ts(e)&&(zt.history.scrollRestoration=Ux=e)},qr,_u=0,Rw,UX=function(){if(Rw!==_u){var e=Rw=_u;requestAnimationFrame(function(){return e===_u&&su(!0)})}},hI=function(){pn.appendChild(Zf),Nx=!Gr&&Zf.offsetHeight||zt.innerHeight,pn.removeChild(Zf)},Bw=function(e){return W0(".gsap-marker-start, .gsap-marker-end, .gsap-marker-scroller-start, .gsap-marker-scroller-end").forEach(function(t){return t.style.display=e?"none":"block"})},su=function(e,t){if(Rs=Nn.documentElement,pn=Nn.body,Fx=[zt,Nn,Rs,pn],io&&!e&&!m0){$i(Pt,"scrollEnd",cI);return}hI(),qr=Pt.isRefreshing=!0,m0||fI();var i=Iu("refreshInit");ZM&&Pt.sort(),t||Gx(),Ht.forEach(function(r){Tr(r)&&(r.smooth&&(r.target.style.scrollBehavior="auto"),r(0))}),Nt.slice(0).forEach(function(r){return r.refresh()}),m0=!1,Nt.forEach(function(r){if(r._subPinOffset&&r.pin){var s=r.vars.horizontal?"offsetWidth":"offsetHeight",o=r.pin[s];r.revert(!0,1),r.adjustPinSpacing(r.pin[s]-o),r.refresh()}}),k_=1,Bw(!0),Nt.forEach(function(r){var s=$o(r.scroller,r._dir),o=r.vars.end==="max"||r._endClamp&&r.end>s,a=r._startClamp&&r.start>=s;(o||a)&&r.setPositions(a?s-1:r.start,o?Math.max(a?s:r.start+1,s):r.end,!0)}),Bw(!1),k_=0,i.forEach(function(r){return r&&r.render&&r.render(-1)}),Ht.forEach(function(r){Tr(r)&&(r.smooth&&requestAnimationFrame(function(){return r.target.style.scrollBehavior="smooth"}),r.rec&&r(r.rec))}),dI(Ux,1),Rg.pause(),_u++,qr=2,Ga(2),Nt.forEach(function(r){return Tr(r.vars.onRefresh)&&r.vars.onRefresh(r)}),qr=Pt.isRefreshing=!1,Iu("refresh")},H_=0,q1=1,_0,Ga=function(e){if(e===2||!qr&&!m0){Pt.isUpdating=!0,_0&&_0.update(0);var t=Nt.length,i=xr(),r=i-Y2>=50,s=t&&Nt[0].scroll();if(q1=H_>s?-1:1,qr||(H_=s),r&&(io&&!CA&&i-io>200&&(io=0,Iu("scrollEnd")),Vh=Y2,Y2=i),q1<0){for(jr=t;jr-- >0;)Nt[jr]&&Nt[jr].update(0,r);q1=1}else for(jr=0;jr<t;jr++)Nt[jr]&&Nt[jr].update(0,r);Pt.isUpdating=!1}j0=0},V_=[oI,aI,zx,kx,Ys+y0,Ys+g0,Ys+v0,Ys+A0,"display","flexShrink","float","zIndex","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","gridArea","justifySelf","alignSelf","placeSelf","order"],X1=V_.concat([vu,yu,"boxSizing","max"+xd,"max"+Hx,"position",Ys,Ti,Ti+v0,Ti+g0,Ti+y0,Ti+A0]),NX=function(e,t,i){Jf(i);var r=e._gsap;if(r.spacerIsNative)Jf(r.spacerState);else if(e._gsap.swappedIn){var s=t.parentNode;s&&(s.insertBefore(e,t),s.removeChild(t))}e._gsap.swappedIn=!1},Z2=function(e,t,i,r){if(!e._gsap.swappedIn){for(var s=V_.length,o=t.style,a=e.style,l;s--;)l=V_[s],o[l]=i[l];o.position=i.position==="absolute"?"absolute":"relative",i.display==="inline"&&(o.display="inline-block"),a[zx]=a[kx]="auto",o.flexBasis=i.flexBasis||"auto",o.overflow="visible",o.boxSizing="border-box",o[vu]=Bg(e,Zr)+Fi,o[yu]=Bg(e,Ni)+Fi,o[Ti]=a[Ys]=a[aI]=a[oI]="0",Jf(r),a[vu]=a["max"+xd]=i[vu],a[yu]=a["max"+Hx]=i[yu],a[Ti]=i[Ti],e.parentNode!==t&&(e.parentNode.insertBefore(t,e),t.appendChild(e)),e._gsap.swappedIn=!0}},kX=/([A-Z])/g,Jf=function(e){if(e){var t=e.t.style,i=e.length,r=0,s,o;for((e.t._gsap||at.core.getCache(e.t)).uncache=1;r<i;r+=2)o=e[r+1],s=e[r],o?t[s]=o:t[s]&&t.removeProperty(s.replace(kX,"-$1").toLowerCase())}},Hm=function(e){for(var t=X1.length,i=e.style,r=[],s=0;s<t;s++)r.push(X1[s],i[X1[s]]);return r.t=e,r},zX=function(e,t,i){for(var r=[],s=e.length,o=i?8:0,a;o<s;
vendor: 4,617 bytes, line 65
65o+=2)a=e[o],r.push(a,a in t?t[a]:e[o+1]);return r.t=e.t,r},Y1={left:0,top:0},Dw=function(e,t,i,r,s,o,a,l,c,u,f,h,p,m){Tr(e)&&(e=e(l)),Ts(e)&&e.substr(0,3)==="max"&&(e=h+(e.charAt(4)==="="?W1("0"+e.substr(3),i):0));var v=p?p.time():0,A,y,x;if(p&&p.seek(0),isNaN(e)||(e=+e),Wh(e))p&&(e=at.utils.mapRange(p.scrollTrigger.start,p.scrollTrigger.end,0,h,e)),a&&j1(a,i,r,!0);else{Tr(t)&&(t=t(l));var b=(e||"0").split(" "),_,T,M,I;x=ls(t,l)||pn,_=La(x)||{},(!_||!_.left&&!_.top)&&$s(x).display==="none"&&(I=x.style.display,x.style.display="block",_=La(x),I?x.style.display=I:x.style.removeProperty("display")),T=W1(b[0],_[r.d]),M=W1(b[1]||"0",i),e=_[r.p]-c[r.p]-u+T+s-M,a&&j1(a,M,r,i-M<20||a._isStart&&M>20),i-=i-M}if(m&&(l[m]=e||-.001,e<0&&(e=0)),o){var R=e+i,w=o._isStart;A="scroll"+r.d2,j1(o,R,r,w&&R>20||!w&&(f?Math.max(pn[A],Rs[A]):o.parentNode[A])<=R+1),f&&(c=La(a),f&&(o.style[r.op.p]=c[r.op.p]-r.op.m-o._offset+Fi))}return p&&x&&(A=La(x),p.seek(h),y=La(x),p._caScrollDist=A[r.p]-y[r.p],e=e/p._caScrollDist*h),p&&p.seek(v),p?e:Math.round(e)},HX=/(webkit|moz|length|cssText|inset)/i,Lw=function(e,t,i,r){if(e.parentNode!==t){var s=e.style,o,a;if(t===pn){e._stOrig=s.cssText,a=$s(e);for(o in a)!+o&&!HX.test(o)&&a[o]&&typeof s[o]=="string"&&o!=="0"&&(s[o]=a[o]);s.top=i,s.left=r}else s.cssText=e._stOrig;at.core.getCache(e).uncache=1,t.appendChild(e)}},pI=function(e,t,i){var r=t,s=r;return function(o){var a=Math.round(e());return a!==r&&a!==s&&Math.abs(a-r)>3&&Math.abs(a-s)>3&&(o=a,i&&i()),s=r,r=Math.round(o),r}},Vm=function(e,t,i){var r={};r[t.p]="+="+i,at.set(e,r)},Ow=function(e,t){var i=ec(e,t),r="_scroll"+t.p2,s=function o(a,l,c,u,f){var h=o.tween,p=l.onComplete,m={};c=c||i();var v=pI(i,c,function(){h.kill(),o.tween=0});return f=u&&f||0,u=u||a-c,h&&h.kill(),l[r]=a,l.inherit=!1,l.modifiers=m,m[r]=function(){return v(c+u*h.ratio+f*h.ratio*h.ratio)},l.onUpdate=function(){Ht.cache++,o.tween&&Ga()},l.onComplete=function(){o.tween=0,p&&p.call(h)},h=o.tween=at.to(e,l),h};return e[r]=i,i.wheelHandler=function(){return s.tween&&s.tween.kill()&&(s.tween=0)},$i(e,"wheel",i.wheelHandler),Pt.isTouch&&$i(e,"touchmove",i.wheelHandler),s},Pt=function(){function n(t,i){Ef||n.register(at)||console.warn("Please gsap.registerPlugin(ScrollTrigger)"),N_(this),this.init(t,i)}var e=n.prototype;return e.init=function(i,r){if(this.progress=this.start=0,this.vars&&this.kill(!0,!0),!Gh){this.update=this.refresh=this.kill=Go;return}i=Mw(Ts(i)||Wh(i)||i.nodeType?{trigger:i}:i,km);var s=i,o=s.onUpdate,a=s.toggleClass,l=s.id,c=s.onToggle,u=s.onRefresh,f=s.scrub,h=s.trigger,p=s.pin,m=s.pinSpacing,v=s.invalidateOnRefresh,A=s.anticipatePin,y=s.onScrubComplete,x=s.onSnapComplete,b=s.once,_=s.snap,T=s.pinReparent,M=s.pinSpacer,I=s.containerAnimation,R=s.fastScrollEnd,w=s.preventOverlaps,E=i.horizontal||i.containerAnimation&&i.horizontal!==!1?Zr:Ni,F=!f&&f!==0,L=ls(i.scroller||zt),z=at.core.getCache(L),V=Tu(L),j=("pinType"in i?i.pinType:jl(L,"pinType")||V&&"fixed")==="fixed",N=[i.onEnter,i.onLeave,i.onEnterBack,i.onLeaveBack],Q=F&&i.toggleActions.split(" "),W="markers"in i?i.markers:km.markers,ee=V?0:parseFloat($s(L)["border"+E.p2+xd])||0,H=this,ye=i.onRefreshInit&&function(){return i.onRefreshInit(H)},Ie=RX(L,V,E),ze=BX(L,V),oe=0,_e=0,Fe=0,Z=ec(L,E),Ae,we,be,qe,rt,q,B,le,ve,$,de,De,xe,k,D,ne,re,ce,fe,Pe,Le,Oe,dt,Be,He,Xe,st,et,mt,lt,Rt,te,We,Ce,Me,je,Ye,_t,jt;if(H._startClamp=H._endClamp=!1,H._dir=E,A*=45,H.scroller=L,H.scroll=I?I.time.bind(I):Z,qe=Z(),H.vars=i,r=r||i.animation,"refreshPriority"in i&&(ZM=1,i.refreshPriority===-9999&&(_0=H)),z.tweenScroll=z.tweenScroll||{top:Ow(L,Ni),left:Ow(L,Zr)},H.tweenTo=Ae=z.tweenScroll[E.p],H.scrubDuration=function(Ze){We=Wh(Ze)&&Ze,We?te?te.duration(Ze):te=at.to(r,{ease:"expo",totalProgress:"+=0",inherit:!1,duration:We,paused:!0,onComplete:function(){return y&&y(H)}}):(te&&te.progress(1).kill(),te=0)},r&&(r.vars.lazy=!1,r._initted&&!H.isReverted||r.vars.immediateRender!==!1&&i.immediateRender!==!1&&r.duration()&&r.render(0,!0,!0),H.animation=r.pause(),r.scrollTrigger=H,H.scrubDuration(f),lt=0,l||(l=r.vars.id)),_&&((!Kc(_)||_.push)&&(_={snapTo:_}),"scrollBehavior"in pn.style&&at.set(V?[pn,Rs]:L,{scrollBehavior:"auto"}),Ht.forEach(function(Ze){return Tr(Ze)&&Ze.target===(V?Nn.scrollingElement||Rs:L)&&(Ze.smooth=!1)}),be=Tr(_.snapTo)?_.snapTo:_.snapTo==="labels"?LX(r):_.snapTo==="labelsDirectional"?OX(r):_.directional!==!1?function(Ze,wt){return Vx(_.snapTo)(Ze,xr()-_e<500?0:wt.direction)}:at.utils.snap(_.snapTo),Ce=_.duration||{min:.1,max:2},Ce=Kc(Ce)?p0(Ce.min,Ce.max):p0(Ce,Ce),Me=at.delayedCall(_.delay||We/2||.1,function(){var Ze=Z(),wt=xr()-_e<500,
vendor: 6,290 bytes, line 65
65ct=Ae.tween;if((wt||Math.abs(H.getVelocity())<10)&&!ct&&!CA&&oe!==Ze){var bt=(Ze-q)/k,Vn=r&&!F?r.totalProgress():bt,Bt=wt?0:(Vn-Rt)/(xr()-Vh)*1e3||0,$t=at.utils.clamp(-bt,1-bt,Zu(Bt/2)*Bt/.185),Qn=bt+(_.inertia===!1?0:$t),ln,cn,Ft=_,tr=Ft.onStart,rn=Ft.onInterrupt,ci=Ft.onComplete;if(ln=be(Qn,H),Wh(ln)||(ln=Qn),cn=Math.max(0,Math.round(q+ln*k)),Ze<=B&&Ze>=q&&cn!==Ze){if(ct&&!ct._initted&&ct.data<=Zu(cn-Ze))return;_.inertia===!1&&($t=ln-bt),Ae(cn,{duration:Ce(Zu(Math.max(Zu(Qn-Vn),Zu(ln-Vn))*.185/Bt/.05||0)),ease:_.ease||"power3",data:Zu(cn-Ze),onInterrupt:function(){return Me.restart(!0)&&rn&&rn(H)},onComplete:function(){H.update(),oe=Z(),r&&!F&&(te?te.resetTo("totalProgress",ln,r._tTime/r._tDur):r.progress(ln)),lt=Rt=r&&!F?r.totalProgress():H.progress,x&&x(H),ci&&ci(H)}},Ze,$t*k,cn-Ze-$t*k),tr&&tr(H,Ae.tween)}}else H.isActive&&oe!==Ze&&Me.restart(!0)}).pause()),l&&(z_[l]=H),h=H.trigger=ls(h||p!==!0&&p),jt=h&&h._gsap&&h._gsap.stRevert,jt&&(jt=jt(H)),p=p===!0?h:ls(p),Ts(a)&&(a={targets:h,className:a}),p&&(m===!1||m===Ys||(m=!m&&p.parentNode&&p.parentNode.style&&$s(p.parentNode).display==="flex"?!1:Ti),H.pin=p,we=at.core.getCache(p),we.spacer?D=we.pinState:(M&&(M=ls(M),M&&!M.nodeType&&(M=M.current||M.nativeElement),we.spacerIsNative=!!M,M&&(we.spacerState=Hm(M))),we.spacer=ce=M||Nn.createElement("div"),ce.classList.add("pin-spacer"),l&&ce.classList.add("pin-spacer-"+l),we.pinState=D=Hm(p)),i.force3D!==!1&&at.set(p,{force3D:!0}),H.spacer=ce=we.spacer,mt=$s(p),Be=mt[m+E.os2],Pe=at.getProperty(p),Le=at.quickSetter(p,E.a,Fi),Z2(p,ce,mt),re=Hm(p)),W){De=Kc(W)?Mw(W,Iw):Iw,$=zm("scroller-start",l,L,E,De,0),de=zm("scroller-end",l,L,E,De,0,$),fe=$["offset"+E.op.d2];var Bn=ls(jl(L,"content")||L);le=this.markerStart=zm("start",l,Bn,E,De,fe,0,I),ve=this.markerEnd=zm("end",l,Bn,E,De,fe,0,I),I&&(_t=at.quickSetter([le,ve],E.a,Fi)),!j&&!(Jo.length&&jl(L,"fixedMarkers")===!0)&&(DX(V?pn:L),at.set([$,de],{force3D:!0}),Xe=at.quickSetter($,E.a,Fi),et=at.quickSetter(de,E.a,Fi))}if(I){var $e=I.vars.onUpdate,ot=I.vars.onUpdateParams;I.eventCallback("onUpdate",function(){H.update(0,0,1),$e&&$e.apply(I,ot||[])})}if(H.previous=function(){return Nt[Nt.indexOf(H)-1]},H.next=function(){return Nt[Nt.indexOf(H)+1]},H.revert=function(Ze,wt){if(!wt)return H.kill(!0);var ct=Ze!==!1||!H.enabled,bt=_r;ct!==H.isReverted&&(ct&&(je=Math.max(Z(),H.scroll.rec||0),Fe=H.progress,Ye=r&&r.progress()),le&&[le,ve,$,de].forEach(function(Vn){return Vn.style.display=ct?"none":"block"}),ct&&(_r=H,H.update(ct)),p&&(!T||!H.isActive)&&(ct?NX(p,ce,D):Z2(p,ce,$s(p),He)),ct||H.update(ct),_r=bt,H.isReverted=ct)},H.refresh=function(Ze,wt,ct,bt){if(!((_r||!H.enabled)&&!wt)){if(p&&Ze&&io){$i(n,"scrollEnd",cI);return}!qr&&ye&&ye(H),_r=H,Ae.tween&&!ct&&(Ae.tween.kill(),Ae.tween=0),te&&te.pause(),v&&r&&(r.revert({kill:!1}).invalidate(),r.getChildren?r.getChildren(!0,!0,!1).forEach(function(xt){return xt.vars.immediateRender&&xt.render(0,!0,!0)}):r.vars.immediateRender&&r.render(0,!0,!0)),H.isReverted||H.revert(!0,!0),H._subPinOffset=!1;var Vn=Ie(),Bt=ze(),$t=I?I.duration():$o(L,E),Qn=k<=.01||!k,ln=0,cn=bt||0,Ft=Kc(ct)?ct.end:i.end,tr=i.endTrigger||h,rn=Kc(ct)?ct.start:i.start||(i.start===0||!h?0:p?"0 0":"0 100%"),ci=H.pinnedContainer=i.pinnedContainer&&ls(i.pinnedContainer,H),hr=h&&Math.max(0,Nt.indexOf(H))||0,Zn=hr,Jn,G,ae,ge,pe,se,Ue,Je,tt,it,pt,yt,ht;for(W&&Kc(ct)&&(yt=at.getProperty($,E.p),ht=at.getProperty(de,E.p));Zn-- >0;)se=Nt[Zn],se.end||se.refresh(0,1)||(_r=H),Ue=se.pin,Ue&&(Ue===h||Ue===p||Ue===ci)&&!se.isReverted&&(it||(it=[]),it.unshift(se),se.revert(!0,!0)),se!==Nt[Zn]&&(hr--,Zn--);for(Tr(rn)&&(rn=rn(H)),rn=ww(rn,"start",H),q=Dw(rn,h,Vn,E,Z(),le,$,H,Bt,ee,j,$t,I,H._startClamp&&"_startClamp")||(p?-.001:0),Tr(Ft)&&(Ft=Ft(H)),Ts(Ft)&&!Ft.indexOf("+=")&&(~Ft.indexOf(" ")?Ft=(Ts(rn)?rn.split(" ")[0]:"")+Ft:(ln=W1(Ft.substr(2),Vn),Ft=Ts(rn)?rn:(I?at.utils.mapRange(0,I.duration(),I.scrollTrigger.start,I.scrollTrigger.end,q):q)+ln,tr=h)),Ft=ww(Ft,"end",H),B=Math.max(q,Dw(Ft||(tr?"100% 0":$t),tr,Vn,E,Z()+ln,ve,de,H,Bt,ee,j,$t,I,H._endClamp&&"_endClamp"))||-.001,ln=0,Zn=hr;Zn--;)se=Nt[Zn]||{},Ue=se.pin,Ue&&se.start-se._pinPush<=q&&!I&&se.end>0&&(Jn=se.end-(H._startClamp?Math.max(0,se.start):se.start),(Ue===h&&se.start-se._pinPush<q||Ue===ci)&&isNaN(rn)&&(ln+=Jn*(1-se.progress)),Ue===p&&(cn+=Jn));if(q+=ln,B+=ln,H._startClamp&&(H._startClamp+=ln),H._endClamp&&!qr&&(H._endClamp=B||-.001,B=Math.min(B,$o(L,E))),k=B-q||(q-=.01)&&.001,Qn&&(Fe=at.utils.clamp(0,1,at.utils.normalize(q,B,je))),H._pinPush=cn,le&&ln&&(Jn={},Jn[E.a]="+="+ln,ci&&(Jn[E.p]="-="+Z()),at.set([le,ve],Jn)),p&&!(k_&&H.end>=$o(L,E)))Jn=$s(p),ge=E===Ni,ae=Z(),Oe=parseFloat(Pe(E.a))+cn,!$t&&B>1&&(pt=(V?Nn.scrollingElement||Rs:L).style,pt={style:pt,value:pt["overflow"+E.a.toUpperCase()]},V&&$s(pn)["overflow"+E.a.toUpperCase()]!=="scroll"&&(pt.style["overflow"+E.a.toUpperCase()]="scroll")),Z2(p,ce,Jn),re=Hm(p),G=La(p,!0),Je=j&&ec(L,ge?Zr:Ni)(),m?(He=[m+E.os2,k+cn+Fi],He.t=ce,Zn=m===Ti?Bg(p,E)+k+cn:0,Zn&&(He.push(E.d,Zn+Fi),ce.style.flexBasis!=="auto"&&(ce.style.flexBasis=Zn+Fi)),Jf(He),ci&&Nt.forEach(function(xt){xt.pin===ci&&xt.vars.pinSpacing!==!1&&(xt._subPinOffset=!0)}),j&&Z(je)):(Zn=Bg(p,E),Zn&&ce.style.flexBasis!=="auto"&&(ce.style.flexBasis=Zn+Fi)),j&&(pe={top:G.top+(ge?ae-q:Je)+Fi,left:G.left+(ge?Je:ae-q)+Fi,boxSizing:"border-box",position:"fixed"},pe[vu]=pe["max"+xd]=Math.ceil(G.width)+Fi,pe[yu]=pe["max"+Hx]=Math.ceil(G.height)+Fi,pe[Ys]=pe[Ys+v0]=pe[Ys+g0]=pe[Ys+y0]=pe[Ys+A0]="0",pe[Ti]=Jn[Ti],pe[Ti+v0]=Jn[Ti+v0],pe[Ti+g0]=Jn[Ti+g0],pe[Ti+y0]=Jn[Ti+y0],pe[Ti+A0]=Jn[Ti+A0],ne=zX(D,pe,T),qr&&Z(0)),r?(tt=r._initted,q2(1),r.render(r.duration(),!0,!0),dt=Pe(E.a)-Oe+k+cn,st=Math.abs(k-dt)>1,j&&st&&ne.splice(ne.length-2,2),r.render(0,!0,!0),tt||r.invalidate(!0),r.parent||r.totalTime(r.totalTime()),q2(0)):dt=k,pt&&(pt.value?pt.style["overflow"+E.a.toUpperCase()]=pt.value:pt.style.removeProperty("overflow-"+E.a));else if(h&&Z()&&!I)for(G=h.parentNode;G&&G!==pn;)G._pinOffset&&(q-=G._pinOffset,B-=G._pinOffset),G=G.parentNode;it&&it.forEach(function(xt){return xt.revert(!1,!0)}),H.start=q,H.end=B,qe=rt=qr?je:Z(),!I&&!qr&&(qe<je&&Z(je),H.scroll.rec=0),H.revert(!1,!0),_e=xr(),Me&&(oe=-1,Me.restart(!0)),_r=0,r&&F&&(r._initted||Ye)&&r.progress()!==Ye&&r.progress(Ye||0,!0).render(r.t
vendor: 9,613 bytes, line 65
65ime(),!0,!0),(Qn||Fe!==H.progress||I||v||r&&!r._initted)&&(r&&!F&&(r._initted||Fe||r.vars.immediateRender!==!1)&&r.totalProgress(I&&q<-.001&&!Fe?at.utils.normalize(q,B,0):Fe,!0),H.progress=Qn||(qe-q)/k===Fe?0:Fe),p&&m&&(ce._pinOffset=Math.round(H.progress*dt)),te&&te.invalidate(),isNaN(yt)||(yt-=at.getProperty($,E.p),ht-=at.getProperty(de,E.p),Vm($,E,yt),Vm(le,E,yt-(bt||0)),Vm(de,E,ht),Vm(ve,E,ht-(bt||0))),Qn&&!qr&&H.update(),u&&!qr&&!xe&&(xe=!0,u(H),xe=!1)}},H.getVelocity=function(){return(Z()-rt)/(xr()-Vh)*1e3||0},H.endAnimation=function(){yh(H.callbackAnimation),r&&(te?te.progress(1):r.paused()?F||yh(r,H.direction<0,1):yh(r,r.reversed()))},H.labelToScroll=function(Ze){return r&&r.labels&&(q||H.refresh()||q)+r.labels[Ze]/r.duration()*k||0},H.getTrailing=function(Ze){var wt=Nt.indexOf(H),ct=H.direction>0?Nt.slice(0,wt).reverse():Nt.slice(wt+1);return(Ts(Ze)?ct.filter(function(bt){return bt.vars.preventOverlaps===Ze}):ct).filter(function(bt){return H.direction>0?bt.end<=q:bt.start>=B})},H.update=function(Ze,wt,ct){if(!(I&&!ct&&!Ze)){var bt=qr===!0?je:H.scroll(),Vn=Ze?0:(bt-q)/k,Bt=Vn<0?0:Vn>1?1:Vn||0,$t=H.progress,Qn,ln,cn,Ft,tr,rn,ci,hr;if(wt&&(rt=qe,qe=I?Z():bt,_&&(Rt=lt,lt=r&&!F?r.totalProgress():Bt)),A&&p&&!_r&&!Om&&io&&(!Bt&&q<bt+(bt-rt)/(xr()-Vh)*A?Bt=1e-4:Bt===1&&B>bt+(bt-rt)/(xr()-Vh)*A&&(Bt=.9999)),Bt!==$t&&H.enabled){if(Qn=H.isActive=!!Bt&&Bt<1,ln=!!$t&&$t<1,rn=Qn!==ln,tr=rn||!!Bt!=!!$t,H.direction=Bt>$t?1:-1,H.progress=Bt,tr&&!_r&&(cn=Bt&&!$t?0:Bt===1?1:$t===1?2:3,F&&(Ft=!rn&&Q[cn+1]!=="none"&&Q[cn+1]||Q[cn],hr=r&&(Ft==="complete"||Ft==="reset"||Ft in r))),w&&(rn||hr)&&(hr||f||!r)&&(Tr(w)?w(H):H.getTrailing(w).forEach(function(ae){return ae.endAnimation()})),F||(te&&!_r&&!Om?(te._dp._time-te._start!==te._time&&te.render(te._dp._time-te._start),te.resetTo?te.resetTo("totalProgress",Bt,r._tTime/r._tDur):(te.vars.totalProgress=Bt,te.invalidate().restart())):r&&r.totalProgress(Bt,!!(_r&&(_e||Ze)))),p){if(Ze&&m&&(ce.style[m+E.os2]=Be),!j)Le(Qh(Oe+dt*Bt));else if(tr){if(ci=!Ze&&Bt>$t&&B+1>bt&&bt+1>=$o(L,E),T)if(!Ze&&(Qn||ci)){var Zn=La(p,!0),Jn=bt-q;Lw(p,pn,Zn.top+(E===Ni?Jn:0)+Fi,Zn.left+(E===Ni?0:Jn)+Fi)}else Lw(p,ce);Jf(Qn||ci?ne:re),st&&Bt<1&&Qn||Le(Oe+(Bt===1&&!ci?dt:0))}}_&&!Ae.tween&&!_r&&!Om&&Me.restart(!0),a&&(rn||b&&Bt&&(Bt<1||!X2))&&W0(a.targets).forEach(function(ae){return ae.classList[Qn||b?"add":"remove"](a.className)}),o&&!F&&!Ze&&o(H),tr&&!_r?(F&&(hr&&(Ft==="complete"?r.pause().totalProgress(1):Ft==="reset"?r.restart(!0).pause():Ft==="restart"?r.restart(!0):r[Ft]()),o&&o(H)),(rn||!X2)&&(c&&rn&&$2(H,c),N[cn]&&$2(H,N[cn]),b&&(Bt===1?H.kill(!1,1):N[cn]=0),rn||(cn=Bt===1?1:3,N[cn]&&$2(H,N[cn]))),R&&!Qn&&Math.abs(H.getVelocity())>(Wh(R)?R:2500)&&(yh(H.callbackAnimation),te?te.progress(1):yh(r,Ft==="reverse"?1:!Bt,1))):F&&o&&!_r&&o(H)}if(et){var G=I?bt/I.duration()*(I._caScrollDist||0):bt;Xe(G+($._isFlipped?1:0)),et(G)}_t&&_t(-bt/I.duration()*(I._caScrollDist||0))}},H.enable=function(Ze,wt){H.enabled||(H.enabled=!0,$i(L,"resize",jh),V||$i(L,"scroll",Ju),ye&&$i(n,"refreshInit",ye),Ze!==!1&&(H.progress=Fe=0,qe=rt=oe=Z()),wt!==!1&&H.refresh())},H.getTween=function(Ze){return Ze&&Ae?Ae.tween:te},H.setPositions=function(Ze,wt,ct,bt){if(I){var Vn=I.scrollTrigger,Bt=I.duration(),$t=Vn.end-Vn.start;Ze=Vn.start+$t*Ze/Bt,wt=Vn.start+$t*wt/Bt}H.refresh(!1,!1,{start:Sw(Ze,ct&&!!H._startClamp),end:Sw(wt,ct&&!!H._endClamp)},bt),H.update()},H.adjustPinSpacing=function(Ze){if(He&&Ze){var wt=He.indexOf(E.d)+1;He[wt]=parseFloat(He[wt])+Ze+Fi,He[1]=parseFloat(He[1])+Ze+Fi,Jf(He)}},H.disable=function(Ze,wt){if(Ze!==!1&&H.revert(!0,!0),H.enabled&&(H.enabled=H.isActive=!1,wt||te&&te.pause(),je=0,we&&(we.uncache=1),ye&&Yi(n,"refreshInit",ye),Me&&(Me.pause(),Ae.tween&&Ae.tween.kill()&&(Ae.tween=0)),!V)){for(var ct=Nt.length;ct--;)if(Nt[ct].scroller===L&&Nt[ct]!==H)return;Yi(L,"resize",jh),V||Yi(L,"scroll",Ju)}},H.kill=function(Ze,wt){H.disable(Ze,wt),te&&!wt&&te.kill(),l&&delete z_[l];var ct=Nt.indexOf(H);ct>=0&&Nt.splice(ct,1),ct===jr&&q1>0&&jr--,ct=0,Nt.forEach(function(bt){return bt.scroller===H.scroller&&(ct=1)}),ct||qr||(H.scroll.rec=0),r&&(r.scrollTrigger=null,Ze&&r.revert({kill:!1}),wt||r.kill()),le&&[le,ve,$,de].forEach(function(bt){return bt.parentNode&&bt.parentNode.removeChild(bt)}),_0===H&&(_0=0),p&&(we&&(we.uncache=1),ct=0,Nt.forEach(function(bt){return bt.pin===p&&ct++}),ct||(we.spacer=0)),i.onKill&&i.onKill(H)},Nt.push(H),H.enable(!1,!1),jt&&jt(H),r&&r.add&&!k){var Mt=H.update;H.update=function(){H.update=Mt,Ht.cache++,q||B||H.refresh()},at.delayedCall(.01,H.update),k=.01,q=B=0}else H.refresh();p&&UX()},n.register=function(i){return Ef||(at=i||iI(),nI()&&window.document&&n.enable(),Ef=Gh),Ef},n.defaults=function(i){if(i)for(var r in i)km[r]=i[r];return km},n.disable=function(i,r){Gh=0,Nt.forEach(function(o){return o[r?"kill":"disable"](i)}),Yi(zt,"wheel",Ju),Yi(Nn,"scroll",Ju),clearInterval(Lm),Yi(Nn,"touchcancel",Go),Yi(pn,"touchstart",Go),Um(Yi,Nn,"pointerdown,touchstart,mousedown",Ew),Um(Yi,Nn,"pointerup,touchend,mouseup",Tw),Rg.kill(),Fm(Yi);for(var s=0;s<Ht.length;s+=3)Nm(Yi,Ht[s],Ht[s+1]),Nm(Yi,Ht[s],Ht[s+2])},n.enable=function(){if(zt=window,Nn=document,Rs=Nn.documentElement,pn=Nn.body,at&&(W0=at.utils.toArray,p0=at.utils.clamp,N_=at.core.context||Go,q2=at.core.suppressOverwrites||Go,Ux=zt.history.scrollRestoration||"auto",H_=zt.pageYOffset||0,at.core.globals("ScrollTrigger",n),pn)){Gh=1,Zf=document.createElement("div"),Zf.style.height="100vh",Zf.style.position="absolute",hI(),PX(),xi.register(at),n.isTouch=xi.isTouch,vl=xi.isTouch&&/(iPad|iPhone|iPod|Mac)/g.test(navigator.userAgent),U_=xi.isTouch===1,$i(zt,"wheel",Ju),Fx=[zt,Nn,Rs,pn],at.matchMedia?(n.matchMedia=function(c){var u=at.matchMedia(),f;for(f in c)u.add(f,c[f]);return u},at.addEventListener("matchMediaInit",function(){fI(),Gx()}),at.addEventListener("matchMediaRevert",function(){return uI()}),at.addEventListener("matchMedia",function(){su(0,1),Iu("matchMedia")}),at.matchMedia().add("(orientation: portrait)",function(){return K2(),K2})):console.warn("Requires GSAP 3.11.0 or later"),K2(),$i(Nn,"scroll",Ju);var i=pn.hasAttribute("style"),r=pn.style,s=r.borderTopStyle,o=at.core.Animation.prototype,a,l;for(o.revert||Object.defineProperty(o,"revert",{value:function(){return this.time(-.01,!0)}}),r.borderTopStyle="solid",a=La(pn),Ni.m=Math.round(a.top+Ni.sc())||0,Zr.m=Math.round(a.left+Zr.sc())||0,s?r.borderTopStyle=s:r.removeProperty("border-top-style"),i||(pn.setAttribute("style",""),pn.removeAttribute("style")),Lm=setInterval(Pw,250),at.delayedCall(.5,function(){return Om=0}),$i(Nn,"touchcancel",Go),$i(pn,"touchstart",Go),Um($i,Nn,"pointerdown,touchstart,mousedown",Ew),Um($i,Nn,"pointerup,touchend,mouseup",Tw),F_=at.utils.checkPrefix("transform"),X1.push(F_),Ef=xr(),Rg=at.delayedCall(.2,su).pause(),Tf=[Nn,"visibilitychange",function(){var c=zt.innerWidth,u=zt.innerHeight;Nn.hidden?(xw=c,Cw=u):(xw!==c||Cw!==u)&&jh()},Nn,"DOMContentLoaded",su,zt,"load",su,zt,"resize",jh],Fm($i),Nt.forEach(function(c){return c.enable(0,1)}),l=0;l<Ht.length;l+=3)Nm(Yi,Ht[l],Ht[l+1]),Nm(Yi,Ht[l],Ht[l+2])}},n.config=function(i){"limitCallbacks"in i&&(X2=!!i.limitCallbacks);var r=i.syncInterval;r&&clearInterval(Lm)||(Lm=r)&&setInterval(Pw,r),"ignoreMobileResize"in i&&(U_=n.isTouch===1&&i.ignoreMobileResize),"autoRefreshEvents"in i&&(Fm(Yi)||Fm($i,i.autoRefreshEvents||"none"),JM=(i.autoRefreshEvents+"").indexOf("resize")===-1)},n.scrollerProxy=function(i,r){var s=ls(i),o=Ht.indexOf(s),a=Tu(s);~o&&Ht.splice(o,a?6:2),r&&(a?Jo.unshift(zt,r,pn,r,Rs,r):Jo.unshift(s,r))},n.clearMatchMedia=function(i){Nt.forEach(function(r){return r._ctx&&r._ctx.query===i&&r._ctx.kill(!0,!0)})},n.isInViewport=function(i,r,s){var o=(Ts(i)?ls(i):i).getBoundingClientRect(),a=o[s?vu:yu]*r||0;return s?o.right-a>0&&o.left+a<zt.innerWidth:o.bottom-a>0&&o.top+a<zt.innerHeight},n.positionInViewport=function(i,r,s){Ts(i)&&(i=ls(i));var o=i.getBoundingClientRect(),a=o[s?vu:yu],l=r==null?a/2:r in Dg?Dg[r]*a:~r.indexOf("%")?parseFloat(r)*a/100:parseFloat(r)||0;return s?(o.left+l)/zt.innerWidth:(o.top+l)/zt.innerHeight},n.killAll=function(i){if(Nt.slice(0).forEach(function(s){return s.vars.id!=="ScrollSmoother"&&s.kill()}),i!==!0){var r=Mu.killAll||[];Mu={},r.forEach(function(s){return s()})}},n}();Pt.version="3.14.2";Pt.saveStyles=function(n){return n?W0(n).forEach(function(e){if(e&&e.style){var t=Es.indexOf(e);t>=0&&Es.splice(t,5),Es.push(e,e.style.cssText,e.getBBox&&e.getAttribute("transform"),at.core.getCache(e),N_())}}):Es};Pt.revert=function(n,e){return Gx(!n,e)};Pt.create=function(n,e){return new Pt(n,e)};Pt.refresh=function(n){return n?jh(!0):(Ef||Pt.register())&&su(!0)};Pt.update=function(n){return++Ht.cache&&Ga(n===!0?2:0)};Pt.clearScrollMemory=dI;Pt.maxScroll=function(n,e){return $o(n,e?Zr:Ni)};Pt.getScrollFunc=function(n,e){return ec(ls(n),e?Zr:Ni)};Pt.getById=function(n){return z_[n]};Pt.getAll=function(){return Nt.filter(function(n){return n.vars.id!=="ScrollSmoother"})};Pt.isScrolling=function(){return!!io};Pt.snapDirectional=Vx;Pt.addEventListener=function(n,e){var t=Mu[n]||(Mu[n]=[]);~t.indexOf(e)||t.push(e)};Pt.removeEventListener=function(n,e){var t=Mu[n],i=t&&t.indexOf(e);i>=0&&t.splice(i,1)};Pt.batch=function(n,e){var t=[],i={},r=e.interval||.016,s=e.batchMax||1e9,o=function(c,u){var f=[],h=[],p=at.delayedCall(r,function(){u(f,h),f=[],h=[]}).pause();return function(m){f.length||p.restart(!0),f.push(m.trigger),h.push(m),s<=f.length&&p.progress(1)}},a;for(a in e)i[a]=a.substr(0,2)==="on"&&Tr(e[a])&&a!=="onRefreshInit"?o(a,e[a]):e[a];return Tr(s)&&(s=s(),$i(Pt,"refresh",function(){return s=e.batchMax()}
vendor: 2,740 bytes, line 65
65)),W0(n).forEach(function(l){var c={};for(a in i)c[a]=i[a];c.trigger=l,t.push(Pt.create(c))}),t};var Fw=function(e,t,i,r){return t>r?e(r):t<0&&e(0),i>r?(r-t)/(i-t):i<0?t/(t-i):1},J2=function n(e,t){t===!0?e.style.removeProperty("touch-action"):e.style.touchAction=t===!0?"auto":t?"pan-"+t+(xi.isTouch?" pinch-zoom":""):"none",e===Rs&&n(pn,t)},Gm={auto:1,scroll:1},VX=function(e){var t=e.event,i=e.target,r=e.axis,s=(t.changedTouches?t.changedTouches[0]:t).target,o=s._gsap||at.core.getCache(s),a=xr(),l;if(!o._isScrollT||a-o._isScrollT>2e3){for(;s&&s!==pn&&(s.scrollHeight<=s.clientHeight&&s.scrollWidth<=s.clientWidth||!(Gm[(l=$s(s)).overflowY]||Gm[l.overflowX]));)s=s.parentNode;o._isScroll=s&&s!==i&&!Tu(s)&&(Gm[(l=$s(s)).overflowY]||Gm[l.overflowX]),o._isScrollT=a}(o._isScroll||r==="x")&&(t.stopPropagation(),t._gsapAllow=!0)},mI=function(e,t,i,r){return xi.create({target:e,capture:!0,debounce:!1,lockAxis:!0,type:t,onWheel:r=r&&VX,onPress:r,onDrag:r,onScroll:r,onEnable:function(){return i&&$i(Nn,xi.eventTypes[0],Nw,!1,!0)},onDisable:function(){return Yi(Nn,xi.eventTypes[0],Nw,!0)}})},GX=/(input|label|select|textarea)/i,Uw,Nw=function(e){var t=GX.test(e.target.tagName);(t||Uw)&&(e._gsapAllow=!0,Uw=t)},QX=function(e){Kc(e)||(e={}),e.preventDefault=e.isNormalizer=e.allowClicks=!0,e.type||(e.type="wheel,touch"),e.debounce=!!e.debounce,e.id=e.id||"normalizer";var t=e,i=t.normalizeScrollX,r=t.momentum,s=t.allowNestedScroll,o=t.onRelease,a,l,c=ls(e.target)||Rs,u=at.core.globals().ScrollSmoother,f=u&&u.get(),h=vl&&(e.content&&ls(e.content)||f&&e.content!==!1&&!f.smooth()&&f.content()),p=ec(c,Ni),m=ec(c,Zr),v=1,A=(xi.isTouch&&zt.visualViewport?zt.visualViewport.scale*zt.visualViewport.width:zt.outerWidth)/zt.innerWidth,y=0,x=Tr(r)?function(){return r(a)}:function(){return r||2.8},b,_,T=mI(c,e.type,!0,s),M=function(){return _=!1},I=Go,R=Go,w=function(){l=$o(c,Ni),R=p0(vl?1:0,l),i&&(I=p0(0,$o(c,Zr))),b=_u},E=function(){h._gsap.y=Qh(parseFloat(h._gsap.y)+p.offset)+"px",h.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+parseFloat(h._gsap.y)+", 0, 1)",p.offset=p.cacheID=0},F=function(){if(_){requestAnimationFrame(M);var W=Qh(a.deltaY/2),ee=R(p.v-W);if(h&&ee!==p.v+p.offset){p.offset=ee-p.v;var H=Qh((parseFloat(h&&h._gsap.y)||0)-p.offset);h.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+H+", 0, 1)",h._gsap.y=H+"px",p.cacheID=Ht.cache,Ga()}return!0}p.offset&&E(),_=!0},L,z,V,j,N=function(){w(),L.isActive()&&L.vars.scrollY>l&&(p()>l?L.progress(1)&&p(l):L.resetTo("scrollY",l))};return h&&at.set(h,{y:"+=0"}),e.ignoreCheck=function(Q){return vl&&Q.type==="touchmove"&&F()||v>1.05&&Q.type!=="touchstart"||a.isGesturing||Q.touches&&Q.touches.length>1},e.onPress=function(){_=!1;var Q=v;
65v=Qh((zt.visualViewport&&zt.visualViewport.scale||1)/A),L.pause(),Q!==v&&J2(c,v>1.01?!0:i?!1:"x"),z=m(),V=p(),w(),b=_u},e.onRelease=e.onGestureStart=function(Q,W){if(p.offset&&E(),!W)j.restart(!0);else{Ht.cache++;var ee=x(),H,ye;i&&(H=m(),ye=H+ee*.05*-Q.velocityX/.227,ee*=Fw(m,H,ye,$o(c,Zr)),L.vars.scrollX=I(ye)),H=p(),ye=H+ee*.05*-Q.velocityY/.227,ee*=Fw(p,H,ye,$o(c,Ni)),L.vars.scrollY=R(ye),L.invalidate().duration(ee).play(.01),(vl&&L.vars.scrollY>=l||H>=l-1)&&at.to({},{onUpdate:N,duration:ee})}o&&o(Q)},e.onWheel=function(){L._ts&&L.pause(),xr()-y>1e3&&(b=0,y=xr())},e.onChange=function(Q,W,ee,H,ye){if(_u!==b&&w(),W&&i&&m(I(H[2]===W?z+(Q.startX-Q.x):m()+W-H[1])),ee){p.offset&&E();var Ie=ye[2]===ee,ze=Ie?V+Q.startY-Q.y:p()+ee-ye[1],oe=R(ze);Ie&&ze!==oe&&(V+=oe-ze),p(oe)}(ee||W)&&Ga()},e.onEnable=function(){J2(c,i?!1:"x"),Pt.addEventListener("refresh",N),$i(zt,"resize",N),p.smooth&&(p.target.style.scrollBehavior="auto",p.smooth=m.smooth=!1),T.enable()},e.onDisable=function(){J2(c,!0),Yi(zt,"resize",N),Pt.removeEventListener("refresh",N),T.kill()},e.lockAxis=e.lockAxis!==!1,a=new xi(e),a.iOS=vl,vl&&!p()&&p(1),vl&&at.ticker.add(Go),j=a._dc,L=at.to(a,{ease:"power4",paused:!0,inherit:!1,scrollX:i?"+=0.1":"+=0",scrollY:"+=0.1",modifiers:{scrollY:pI(p,p(),function(){return L.pause()})},onUpdate:Ga,onComplete:j.vars.onComplete}),a};Pt.sort=function(n){if(Tr(n))return Nt.sort(n);var e=zt.pageYOffset||0;return Pt.getAll().forEach(function(t){return t._sortY=t.trigger?e+t.trigger.getBoundingClientRect().top:t.start+zt.innerHeight}),Nt.sort(n||function(t,i){return(t.vars.refreshPriority||0)*-1e6+(t.vars.containerAnimation?1e6:t._sortY)-((i.vars.containerAnimation?1e6:i._sortY)+(i.vars.refreshPriority||0)*-1e6)})};Pt.observe=function(n){return new xi(n)};Pt.normalizeScroll=function(n){if(typeof n>"u")return Gr;if(n===!0&&Gr)return Gr.enable();if(n===!1){Gr&&Gr.kill(),Gr=n;return}var e=n instanceof xi?n:QX(n);return Gr&&Gr.target===e.target&&Gr.kill(),Tu(e.target)&&(Gr=e),e};Pt.core={_getVelocityProp:O_,_inputObserver:mI,_scrollers:Ht,_proxies:Jo,bridge:{ss:function(){io||Iu("scrollStart"),io=xr()},ref:function(){return _r}}};iI()&&at.registerPlugin(Pt);/*!
66 * SplitText 3.14.2
67 * https://gsap.com
68 *
69 * @license Copyright 2025, GreenSock. All rights reserved. Subject to the terms at https://gsap.com/standard-license.
70 * @author: Jack Doyle
71 */let _h,ef,kw=typeof Symbol=="function"?Symbol():"_split",G_,WX=()=>G_||X0.register(window.gsap),zw=typeof Intl<"u"&&"Segmenter"in Intl?new Intl.Segmenter:0,q0=n=>typeof n=="string"?q0(document.querySelectorAll(n)):"length"in n?Array.from(n).reduce((e,t)=>(typeof t=="string"?e.push(...q0(t)):e.push(t),e),[]):[n],Hw=n=>q0(n).filter(e=>e instanceof HTMLElement),Q_=[],e3=function(){},jX={add:n=>n()},qX=/\s+/g,Vw=new RegExp("\\p{RI}\\p{RI}|\\p{Emoji}(\\p{EMod}|\\u{FE0F}\\u{20E3}?|[\\u{E0020}-\\u{E007E}]+\\u{E007F})?(\\u{200D}\\p{Emoji}(\\p{EMod}|\\u{FE0F}\\u{20E3}?|[\\u{E0020}-\\u{E007E}]+\\u{E007F})?)*|.","gu"),Lg={left:0,top:0,width:0,height:0},XX=(n,e)=>{for(;++e<n.length&&n[e]===Lg;);return n[e]||Lg},Gw=({element:n,html:e,ariaL:t,ariaH:i})=>{n.innerHTML=e,t?n.setAttribute("aria-label",t):n.removeAttribute("aria-label"),i?n.setAttribute("aria-hidden",i):n.removeAttribute("aria-hidden")},Qw=(n,e)=>{if(e){let t=new Set(n.join("").match(e)||Q_),i=n.length,r,s,o,a;if(t.size)for(;--i>-1;){s=n[i];for(o of t)if(o.startsWith(s)&&o.length>s.length){for(r=0,a=s;o.startsWith(a+=n[i+ ++r])&&a.length<o.length;);if(r&&a.length===o.length){n[i]=o,n.splice(i+1,r);break}}}}return n},Ww=n=>window.getComputedStyle(n).display==="inline"&&(n.style.display="inline-block"),tf=(n,e,t)=>e.insertBefore(typeof n=="string"?document.createTextNode(n):n,t),W_=(n,e,t)=>{let i=e[n+"sClass"]||"",{tag:r="div",aria:s="auto",propIndex:o=!1}=e,a=n==="line"?"block":"inline-block",l=i.indexOf("++")>-1,c=u=>{let f=document.createElement(r),h=t.length+1;return i&&(f.className=i+(l?" "+i+h:"")),o&&f.style.setProperty("--"+n,h+""),s!=="none"&&f.setAttribute("aria-hidden","true"),r!=="span"&&(f.style.position="relative",f.style.display=a),f.textContent=u,t.push(f),f};return l&&(i=i.replace("++","")),c.collection=t,c},YX=(n,e,t,i)=>{let r=W_("line",t,i),s=window.getComputedStyle(n).textAlign||"left";return(o,a)=>{let l=r("");for(l.style.textAlign=s,n.insertBefore(l,e[o]);o<a;o++)l.appendChild(e[o]);l.normalize()}},gI=(n,e,t,i,r,s,o,a,l,c)=>{var u;let f=Array.from(n.childNodes),h=0,{wordDelimiter:p,reduceWhiteSpace:m=!0,prepareText:v}=e,A=n.getBoundingClientRect(),y=A,x=!m&&window.getComputedStyle(n).whiteSpace.substring(0,3)==="pre",b=0,_=t.collection,T,M,I,R,w,E,F,L,z,V,j,N,Q,W,ee,H,ye,Ie;for(typeof p=="object"?(I=p.delimiter||p,M=p.replaceWith||""):M=p===""?"":p||" ",T=M!==" ";h<f.length;h++)if(R=f[h],R.nodeType===3){for(ee=R.textContent||"",m?ee=ee.replace(qX," "):x&&(ee=ee.replace(/\n/g,M+`
72`)),v&&(ee=v(ee,n)),R.textContent=ee,w=M||I?ee.split(I||M):ee.match(a)||Q_,ye=w[w.length-1],L=T?ye.slice(-1)===" ":!ye,ye||w.pop(),y=A,F=T?w[0].charAt(0)===" ":!w[0],F&&tf(" ",n,R),w[0]||w.shift(),Qw(w,l),s&&c||(R.textContent=""),z=1;z<=w.length;z++)if(H=w[z-1],!m&&x&&H.charAt(0)===`
73`&&((u=R.previousSibling)==null||u.remove(),tf(document.createElement("br"),n,R),H=H.slice(1)),!m&&H==="")tf(M,n,R);else if(H===" ")n.insertBefore(document.createTextNode(" "),R);else{if(T&&H.charAt(0)===" "&&tf(" ",n,R),b&&z===1&&!F&&_.indexOf(b.parentNode)>-1?(E=_[_.length-1],E.appendChild(document.createTextNode(i?"":H))):(E=t(i?"":H),tf(E,n,R),b&&z===1&&!F&&E.insertBefore(b,E.firstChild)),i)for(j=zw?Qw([...zw.segment(H)].map(ze=>ze.segment),l):H.match(a)||Q_,Ie=0;Ie<j.length;Ie++)E.appendChild(j[Ie]===" "?document.createTextNode(" "):i(j[Ie]));if(s&&c){if(ee=R.textContent=ee.substring(H.length+1,ee.length),V=E.getBoundingClientRect(),V.top>y.top&&V.left<=y.left){for(N=n.cloneNode(),Q=n.childNodes[0];Q&&Q!==E;)W=Q,Q=Q.nextSibling,N.appendChild(W);n.parentNode.insertBefore(N,n),r&&Ww(N)}y=V}(z<w.length||L)&&tf(z>=w.length?" ":T&&H.slice(-1)===" "?" "+M:M,n,R)}n.removeChild(R),b=0}else R.nodeType===1&&(o&&o.indexOf(R)>-1?(_.indexOf(R.previousSibling)>-1&&_[_.length-1].appendChild(R),b=R):(gI(R,e,t,i,r,s,o,a,l,!0),b=0),r&&Ww(R))};const AI=class vI{constructor(e,t){this.isSplit=!1,WX(),this.elements=Hw(e),this.chars=[],this.words=[],this.lines=[],this.masks=[],this.vars=t,this.elements.forEach(o=>{var a;t.overwrite!==!1&&((a=o[kw])==null||a._data.orig.filter(({element:l})=>l===o).forEach(Gw)),o[kw]=this}),this._split=()=>this.isSplit&&this.split(this.vars);let i=[],r,s=()=>{let o=i.length,a;for(;o--;){a=i[o];let l=a.element.offsetWidth;if(l!==a.width){a.width=l,this._split();return}}};this._data={orig:i,obs:typeof ResizeObserver<"u"&&new ResizeObserver(()=>{clearTimeout(r),r=setTimeout(s,200)})},e3(this),this.split(t)}split(e){return(this._ctx||jX).add(()=>{this.isSplit&&this.revert(),this.vars=e=e||this.vars||{};let{type:t="chars,words,lines",aria:i="auto",deepSlice:r=!0,smartWrap:s,onSplit:o,autoSplit:a=!1,specialChars:l,mask:c}=this.vars,u=t.indexOf("lines")>-1,f=t.indexOf("chars")>-1,h=t.indexOf("words")>-1,p=f&&!h&&!u,m=l&&("push"in l?new RegExp("(?:"+l.join("|")+")","gu"):l),v=m?new RegExp(m.source+"|"+Vw.source,"gu"):Vw,A=!!e.ignore&&Hw(e.ignore),{orig:y,animTime:x,obs:b}=this._data,_;(f||h||u)&&(this.elements.forEach((T,M)=>{y[M]={element:T,html:T.innerHTML,ariaL:T.getAttribute("aria-label"),ariaH:T.getAttribute("aria-hidden")},i==="auto"?T.setAttribute("aria-label",(T.textContent||"").trim()):i==="hidden"&&T.setAttribute("aria-hidden","true");let I=[],R=[],w=[],E=f?W_("char",e,I):null,F=W_("word",e,R),L,z,V,j;if(gI(T,e,F,E,p,r&&(u||p),A,v,m,!1),u){let N=q0(T.childNodes),Q=YX(T,N,e,w),W,ee=[],H=0,ye=N.map(oe=>oe.nodeType===1?oe.getBoundingClientRect():Lg),Ie=Lg,ze;for(L=0;L<N.length;L++)W=N[L],W.nodeType===1&&(W.nodeName==="BR"?((!L||N[L-1].nodeName!=="BR")&&(ee.push(W),Q(H,L+1)),H=L+1,Ie=XX(ye,L)):(ze=ye[L],L&&ze.top>Ie.top&&ze.left<Ie.left+Ie.width-1&&(Q(H,L),H=L),Ie=ze));H<L&&Q(H,L),ee.forEach(oe=>{var _e;return(_e=oe.parentNode)==null?void 0:_e.removeChild(oe)})}if(!h){for(L=0;L<R.length;L++)if(z=R[L],f||!z.nextSibling||z.nextSibling.nodeType!==3)if(s&&!u){for(V=document.createElement("span"),V.style.whiteSpace="nowrap";z.firstChild;)V.appendChild(z.firstChild);z.replaceWith(V)}else z.replaceWith(...z.childNodes);else j=z.nextSibling,j&&j.nodeType===3&&(j.textContent=(z.textContent||"")+(j.textContent||""),z.remove());R.length=0,T.normalize()}this.lines.push(...w),this.words.push(...R),this.chars.push(...I)}),c&&this[c]&&this.masks.push(...this[c].map(T=>{let M=T.cloneNode();return T.replaceWith(M),M.appendChild(T),T.className&&(M.className=T.className.trim()+"-mask"),M.style.overflow="clip",M}))),this.isSplit=!0,ef&&u&&(a?ef.addEventListener("loadingdone",this._split):ef.status==="loading"&&console.warn("SplitText c
73alled before fonts loaded")),(_=o&&o(this))&&_.totalTime&&(this._data.anim=x?_.totalTime(x):_),u&&a&&this.elements.forEach((T,M)=>{y[M].width=T.offsetWidth,b&&b.observe(T)})}),this}kill(){let{obs:e}=this._data;e&&e.disconnect(),ef==null||ef.removeEventListener("loadingdone",this._split)}revert(){var e,t;if(this.isSplit){let{orig:i,anim:r}=this._data;this.kill(),i.forEach(Gw),this.chars.length=this.words.length=this.lines.length=i.length=this.masks.length=0,this.isSplit=!1,r&&(this._data.animTime=r.totalTime(),r.revert()),(t=(e=this.vars).onRevert)==null||t.call(e,this)}return this}static create(e,t){return new vI(e,t)}static register(e){_h=_h||e||window.gsap,_h&&(q0=_h.utils.toArray,e3=_h.core.context||e3),!G_&&window.innerWidth>0&&(ef=document.fonts,G_=!0)}};AI.version="3.14.2";let X0=AI;var vo=Dr.registerPlugin(Lx)||Dr;vo.core.Tween;function j_(n){n.forEach(e=>{e()})}function $X(n,e=300){let t;return function(...i){clearTimeout(t),t=setTimeout(function(){n(...i)},e)}}let jw=!1;const Nl=new Set;function oc(n,e){return Nl.add(n),e&&n(),xA(()=>{jw||(window.addEventListener("resize",$X(()=>j_(Nl),100)),jw=!0)}),nX(()=>{Nl.delete(n)}),{remove:()=>{Nl.delete(n)}}}const yI=gt(0),_I=gt(0);let q_=!1;const qw=()=>{yI.value=window.innerWidth,_I.value=window.innerHeight,q_=!0};function bI(){return q_||oc(qw),xA(()=>{q_||qw()}),{width:yI,height:_I}}function KX(n,e){const t=gt(document.createElement("div")),i=gt(document.createElement("div")),{height:r}=bI(),s=gt(0),o=gt(0),a=gt(40),l=gt(0),c=gt(0),u=gt(0),f=gt(!1),h=()=>{if(s.value=(n.limit+r.value)/r.value,s.value<=1){i.value.style.height="0";return}a.value=Math.max(r.value/s.value,40),i.value.style.height=`${a.value}px`,o.value=r.value-a.value},p=()=>{var I;return(I=t.value)==null?void 0:I.classList.replace("opacity-0","opacity-30")},m=()=>{var I;return(I=t.value)==null?void 0:I.classList.replace("opacity-30","opacity-0")},v=()=>{n.on("scroll",()=>{l.value=n.scroll/n.limit*(r.value-a.value)});const I=n.dimensions.onWrapperResize;n.dimensions.onWrapperResize=()=>{I(),setTimeout(h,1)}},A=()=>{t.value.classList.add("fixed","top-0","right-0","h-full","w-[20px]","z-[999]","opacity-0","transition-opacity","duration-100","hover:opacity-30","has-[:hover]:!opacity-80","touch:!hidden"),i.value.classList.add("py-6","mx-auto","w-[10px]","cursor-grab"),i.value.innerHTML='<div class="bg-scrollbar roun
73ded-[10px] w-full h-full"></div>',t.value.appendChild(i.value),document.body.appendChild(t.value)},y=()=>{i.value.style.transform=`translate(0px, ${l.value}px)`,Math.abs(n.velocity)>0?p():m()},x=()=>{ai(e,I=>t.value.style.display=I?"none":"block"),ai(l,y),ai(f,()=>{document.body.style.userSelect=f.value?"none":"",document.body.classList.toggle("cursor-grabbing",f.value),i.value.classList.toggle("cursor-grabbing",f.value)})},b=I=>{c.value=I.clientY,u.value=I.clientY,f.value=!0,t.value.classList.add("!opacity-80")},_=I=>{!f.value||n.isStopped||(c.value=I.clientY,l.value-=u.value-c.value,l.value=Math.min(Math.max(l.value,0),o.value),u.value=c.value,n.scrollTo(l.value/o.value*n.limit,{immediate:!0}))},T=()=>{f.value=!1,t.value.classList.remove("!opacity-80")},M=()=>{Kr(i,"mousedown",b),Kr(window,"mousemove",_),Kr(window,"mouseup",T)};v(),A(),x(),M()}let Xw=!1;const X_=gt(!1),yl=gt();ai(yl,n=>{Xw||!n||(n.on("scroll",Pt.update),zM.add(e=>{n&&n.raf(e)},{priority:-1}),Pt.defaults({scroller:n==null?void 0:n.options.wrapper}),n.options.wrapper&&Pt.scrollerProxy(n.options.wrapper,{scrollTop:e=>(e&&n.scrollTo(e,{immediate:!0}),n.options.wrapper.scrollTop),getBoundingClientRect(){const{width:e,height:t}=bI();return{top:0,left:0,width:e.value,height:t.value}}}),KX(n,X_),Xw=!0)});function wA(n){return yl.value,{Lenis:yl,lockScroll:()=>{var e;(e=yl.value)==null||e.stop(),X_.value=!0},unlockScroll:()=>{var e;(e=yl.value)==null||e.start(),X_.value=!1},scrollTo:(e,t)=>{var i;(i=yl.value)==null||i.scrollTo(qt(e),t)},setLenisInstance:e=>{yl.value||(yl.value=e)}}}const bh=gt([]),t3=gt(!1),n3=gt(0),i3=gt(0),ZX=()=>{document!=null&&document.fonts&&jo(document.fonts.ready);const n=document==null?void 0:document.querySelectorAll('img:not([loading="lazy"])');n&&n.forEach(e=>{jo(new Promise((t,i)=>{e.complete?e.naturalWidth!==0?t(e):i(new Error("Image not loaded",{cause:e})):(e.addEventListener("load",()=>{t(e)},{once:!0}),e.addEventListener("error",r=>{i(new Error("Image not loaded",{cause:r}))},{once:!0}))}))})};function jo(n){return n&&bh.value.push(n),{promise:n,isLoaded:t3,progress:i3,checkIfLoaded:()=>(t3.value=!1,n3.value=0,i3.value=0,ZX(),bh.value.forEach(e=>{e.then(()=>{n3.value++,i3.value=Math.floor(n3.value/bh.value.length*100)})}),Promise.allSettled(bh.value).then(()=>{t3.value=!0,bh.value=[]}))}}const{scrollTo:Yw,lockScroll:JX,unlockScroll:eY,Lenis:tY}=wA(),{checkIfLoaded:nY}=jo(),iY=(n,e)=>{const t={css:!1,name:"default",mode:"out-in"},i=jq;t.onBeforeLeave=r=>{typeof(i==null?void 0:i.onBeforeLeave)<"u"&&(i==null||i.onBeforeLeave(r))},t.onLeave=(r,s)=>{JX(),i==null||i.onLeave(r,s)},t.onBeforeEnter=r=>{typeof(i==null?void 0:i.onBeforeEnter)<"u"&&(i==null||i.onBeforeEnter(r))},t.onEnter=(r,s)=>{Yw("top",{force:!0,immediate:!0}),nY().then(()=>{eY(),i==null||i.onEnter(r).then(()=>{Ja().then(()=>{const o=window.location.hash;o&&setTimeout(()=>{const a=Number(o.replace("#section-","")),l=document.querySelector(`[data-section="${a}"]`);l&&tY.value&&Yw(l,{duration:2,force:!0})},50)}),s()})})},e.meta.pageTransition=t,n.meta.pageTransition=t},rY=async n=>{let e,t;const i=([e,t]=qf(()=>dx({path:n.path})),e=await e,t(),e);if(i.redirect)return ta(i.redirect,{acceptRelative:!0})?(window.location.href=i.redirect,!1):i.redirect},sY=[Tj,iY,rY],b0={};function oY(n,e,t){const{pathname:i,search:r,hash:s}=e,o=n.indexOf("#");if(o>-1){const c=s.includes(n.slice(o))?n.slice(o).length:1;let u=s.slice(c);return u[0]!=="/"&&(u="/"+u),mC(u,"")}const a=mC(i,n),l=!t||oG(a,t,{trailingSlash:!0})?a:t;return l+(l.includes("?")?"":r)+s}const aY=oo({name:"nuxt:router",enforce:"pre",async setup(n){var A;let e,t,i=Bu().app.baseURL;const r=((A=Ws.history)==null?void 0:A.call(Ws,i))??GW(i),s=Ws.routes?([e,t]=qf(()=>Ws.routes(N2)),e=await e,t(),e??N2):N2;let o;const a=hj({...Ws,scrollBehavior:(y,x,b)=>{if(x===Ao){o=b;return}if(Ws.scrollBehavior){if(a.options.scrollBehavior=Ws.scrollBehavior,"scrollRestoration"in window.history){const _=a.beforeEach(()=>{_(),window.history.scrollRestoration="manual"})}return Ws.scrollBehavior(y,Ao,o||b)}},history:r,routes:s});Ws.routes&&Ws.routes,"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),n.vueApp.use(a);const l=ds(a.currentRoute.value);
73a.afterEach((y,x)=>{l.value=x}),Object.defineProperty(n.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const c=oY(i,window.location,n.payload.path),u=ds(a.currentRoute.value),f=()=>{u.value=a.currentRoute.value};n.hook("page:finish",f),a.afterEach((y,x)=>{var b,_,T,M;((_=(b=y.matched[0])==null?void 0:b.components)==null?void 0:_.default)===((M=(T=x.matched[0])==null?void 0:T.components)==null?void 0:M.default)&&f()});const h={};for(const y in u.value)Object.defineProperty(h,y,{get:()=>u.value[y],enumerable:!0});n._route=Fa(h),n._middleware=n._middleware||{global:[],named:{}};const p=gA();a.afterEach(async(y,x,b)=>{delete n._processingMiddleware,!n.isHydrating&&p.value&&await n.runWithContext(iQ),b&&await n.callHook("page:loading:end")});try{[e,t]=qf(()=>a.isReady()),await e,t()}catch(y){[e,t]=qf(()=>n.runWithContext(()=>Df(y))),await e,t()}const m=c!==a.currentRoute.value.fullPath?a.resolve(c):a.currentRoute.value;f();const v=n.payload.state._layout;return a.beforeEach(async(y,x)=>{var b;await n.callHook("page:loading:start"),y.meta=so(y.meta),n.isHydrating&&v&&!$l(y.meta.layout)&&(y.meta.layout=v),n._processingMiddleware=!0;{const _=new Set([...sY,...n._middleware.global]);for(const T of y.matched){const M=T.meta.middleware;if(M)for(const I of mx(M))_.add(I)}{const T=await n.runWithContext(()=>dx({path:y.path}));if(T.appMiddleware)for(const M in T.appMiddleware)T.appMiddleware[M]?_.add(M):_.delete(M)}for(const T of _){const M=typeof T=="string"?n._middleware.named[T]||await((b=b0[T])==null?void 0:b.call(b0).then(R=>R.default||R)):T;if(!M)throw new Error(`Unknown route middleware: '${T}'.`);const I=await n.runWithContext(()=>M(y,x));if(!n.payload.serverRendered&&n.isHydrating&&(I===!1||I instanceof Error)){const R=I||a_({statusCode:404,statusMessage:`Page Not Found: ${c}`});return await n.runWithContext(()=>Df(R)),!1}if(I!==!0&&(I||I===!1))return I}}}),a.onError(async()=>{delete n._processingMiddleware,await n.callHook("page:loading:end")}),a.afterEach(async(y,x)=>{y.matched.length===0&&await n.runWithContext(()=>Df(a_({statusCode:404,fatal:!1,statusMessage:`Page not found: ${y.fullPath}`,data:{path:y.fullPath}})))}),n.hooks.hookOnce("app:created",async()=>{try{"name"in m&&(m.name=void 0),await a.replace({...m,force:!0}),a.options.scrollBehavior=Ws.scrollBehavior}catch(y){await n.runWithContext(()=>Df(y))}}),{provide:{router:a}}}}),Y_=globalThis.requestIdleCallback||(n=>{const e=Date.now(),t={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-e))};return setTimeout(()=>{n(t)},1)}),lY=globalThis.cancelIdleCallback||(n=>{clearTimeout(n)}),SA=n=>{const e=Tn();e.isHydrating?e.hooks.hookOnce("app:suspense:resolve",()=>{Y_(()=>n())}):Y_(()=>n())},cY=n=>n==="defer"||n===!1;function uY(...n){var v;const e=typeof n[n.length-1]=="string"?n.pop():void 0;typeof n[0]!="string"&&n.unshift(e);let[t,i,r={}]=n;if(typeof t!="string")throw new TypeError("[nuxt] [asyncData] key must be a string.");if(typeof i!="function")throw new TypeError("[nuxt] [asyncData] handler must be a function.");const s=Tn(),o=i,a=()=>Bf.value,l=()=>s.isHydrating?s.payload.data[t]:s.static.data[t];r.server=r.server??!0,r.default=r.default??a,r.getCachedData=r.getCachedData??l,r.lazy=r.lazy??!1,r.immediate=r.immediate??!0,r.deep=r.deep??Bf.deep,r.dedupe=r.dedupe??"cancel";const c=r.getCachedData(t,s),u=c!=null;if(!s._asyncData[t]||!r.immediate){(v=s.payload._errors)[t]??(v[t]=Bf.errorValue);const A=r.deep?gt:ds;s._asyncData[t]={data:A(u?c:r.default()),pending:gt(!u),error:Jb(s.payload._errors,t),status:gt("idle"),_default:r.default}}const f={...s._asyncData[t]};delete f._default,f.refresh=f.execute=(A={})=>{if(s._asyncDataPromises[t]){if(cY(A.dedupe??r.dedupe))return s._asyncDataPromises[t];s._asyncDataPromises[t].cancelled=!0}if(A._initial||s.isHydrating&&A._initial!==!1){const x=A._initial?c:r.getCachedData(t,s);if(x!=null)return Promise.resolve(x)}f.pending.value=!0,f.status.value="pending";const y=new Promise((x,b)=>{try{x(o(s))}catch(_){b(_)}}).then(async x=>{if(y.cancelled)return s._asyncDataPromises[t];let b=x;r.transform&&(b=await r.transform(x)),r.pick&&(b=dY(b,r.pick)),s.payload.data[t]=b,f.data.value=b,f.error.value=Bf.errorValue,f.status.value="success"}).catch(x=>
73{if(y.cancelled)return s._asyncDataPromises[t];f.error.value=Sp(x),f.data.value=qt(r.default()),f.status.value="error"}).finally(()=>{y.cancelled||(f.pending.value=!1,delete s._asyncDataPromises[t])});return s._asyncDataPromises[t]=y,s._asyncDataPromises[t]},f.clear=()=>fY(s,t);const h=()=>f.refresh({_initial:!0}),p=r.server!==!1&&s.payload.serverRendered;{const A=Do();if(A&&p&&r.immediate&&!A.sp&&(A.sp=[]),A&&!A._nuxtOnBeforeMountCbs){A._nuxtOnBeforeMountCbs=[];const b=A._nuxtOnBeforeMountCbs;nx(()=>{b.forEach(_=>{_()}),b.splice(0,b.length)}),tl(()=>b.splice(0,b.length))}p&&s.isHydrating&&(f.error.value||c!=null)?(f.pending.value=!1,f.status.value=f.error.value?"error":"success"):A&&(s.payload.serverRendered&&s.isHydrating||r.lazy)&&r.immediate?A._nuxtOnBeforeMountCbs.push(h):r.immediate&&h();const y=rA();if(r.watch){const b=ai(r.watch,()=>f.refresh());y&&Fy(b)}const x=s.hook("app:data:refresh",async b=>{(!b||b.includes(t))&&await f.refresh()});y&&Fy(x)}const m=Promise.resolve(s._asyncDataPromises[t]).then(()=>f);return Object.assign(m,f),m}function fY(n,e){e in n.payload.data&&(n.payload.data[e]=void 0),e in n.payload._errors&&(n.payload._errors[e]=Bf.errorValue),n._asyncData[e]&&(n._asyncData[e].data.value=void 0,n._asyncData[e].error.value=Bf.errorValue,n._asyncData[e].pending.value=!1,n._asyncData[e].status.value="idle"),e in n._asyncDataPromises&&(n._asyncDataPromises[e]&&(n._asyncDataPromises[e].cancelled=!0),n._asyncDataPromises[e]=void 0)}function dY(n,e){const t={};for(const i of e)t[i]=n[i];return t}const hY="$s";function pY(...n){const e=typeof n[n.length-1]=="string"?n.pop():void 0;typeof n[0]!="string"&&n.unshift(e);const[t,i]=n;if(!t||typeof t!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+t);if(i!==void 0&&typeof i!="function")throw new Error("[nuxt] [useState] init must be a function: "+i);const r=hY+t,s=Tn(),o=Jb(s.payload.state,r);if(o.value===void 0&&i){const a=i();if(Vi(a))return s.payload.state[r]=a,a;o.value=a}return o}const $w=Object.freeze({ignoreUnknown:!1,respectType:!1,respectFunctionNames:!1,respectFunctionProperties:!1,unorderedObjects:!0,unorderedArrays:!1,unorderedSets:!1,excludeKeys:void 0,excludeValues:void 0,replacer:void 0});function mY(n,e){e?e={...$w,...e}:e=$w;const t=xI(e);return t.dispatch(n),t.toString()}const gY=Object.freeze(["prototype","__proto__","constructor"]);function xI(n){let e="",t=new Map;const i=r=>{e+=r};return{toString(){return e},getContext(){return t},dispatch(r){return n.replacer&&(r=n.replacer(r)),this[r===null?"null":typeof r](r)},object(r){if(r&&typeof r.toJSON=="function")return this.object(r.toJSON());const s=Object.prototype.toString.call(r);let o="";const a=s.length;a<10?o="unknown:["+s+"]":o=s.slice(8,a-1),o=o.toLowerCase();let l=null;if((l=t.get(r))===void 0)t.set(r,t.size);else return this.dispatch("[CIRCULAR:"+l+"]");if(typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(r))return i("buffer:"),i(r.toString("utf8"));if(o!=="object"&&o!=="function"&&o!=="asyncfunction")this[o]?this[o](r):n.ignoreUnknown||this.unkown(r,o);else{let c=Object.keys(r);n.unorderedObjects&&(c=c.sort());let u=[];n.respectType!==!1&&!Kw(r)&&(u=gY),n.excludeKeys&&(c=c.filter(h=>!n.excludeKeys(h)),u=u.filter(h=>!n.excludeKeys(h))),i("object:"+(c.length+u.length)+":");const f=h=>{this.dispatch(h),i(":"),n.excludeValues||this.dispatch(r[h]),i(",")};for(const h of c)f(h);for(const h of u)f(h)}},array(r,s){if(s=s===void 0?n.unorderedArrays!==!1:s,i("array:"+r.length+":"),!s||r.length<=1){for(const l of r)this.dispatch(l);return}const o=new Map,a=r.map(l=>{const c=xI(n);c.dispatch(l);for(const[u,f]of c.getContext())o.set(u,f);return c.toString()});return t=o,a.sort(),this.array(a,!1)},date(r){return i("date:"+r.toJSON())},symbol(r){return i("symbol:"+r.toString())},unkown(r,s){if(i(s),!!r&&(i(":"),r&&typeof r.entries=="function"))return this.array(Array.from(r.entries()),!0)},error(r){return i("error:"+r.toString())},boolean(r){return i("bool:"+r)},string(r){i("string:"+r.length+":"),i(r)},function(r){i("fn:"),Kw(r)?this.dispatch("[native]"):this.dispatch(r.toString()),n.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(r.name)),n.respectFunctionProperties&&this.object(r)},number(r){return i("number:"+r)},xml(r){return i("xml:"+r.toString())},null(){return i("Null")},undefined(){return i("Undefined")},regexp(r){return i("regex:"+r.toString())},uint8array(r){return i("uint8array:"),this.dispatch(Array.prototype.slice.call(r))},uint8clampedarray(r){return i("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(r))},int8array(r){return i("int8array:"),this.dispatch(Array.prototype.slice.call(r))},uint16array(r){return i("uint16array:"),this.dispatch(Array.prototype.slice.call(r))},int16array(r){return i("int16array:"),this.dispatch(Array.prototype.slice.call(r))},uint32array(r){return i("uint32array:"),this.dispatch(Array.prototype.slice.call(r))},int32array(r){return i("int32array:"),this.dispatch(Array.prototype.slice.call(r))},float32array(r){return i("float32array:"),this.dispatch(Array.prototype.slice.call(r))},float64array(r){return i("float64array:"),this.dispatch(Array.prototype.slice.call(r))},arraybuffer(r){return i("arraybuffer:"),this.dispatch(new Uint8Array(r))},url(r){return i("url:"+r.toString())},map(r){i("map:");const s=[...r];return this.array(s,n.unorderedSets!==!1)},set(r){i("set:");const s=[...r];return this.array(s,n.unorderedSets!==!1)},file(r){return i("file:"),this.dispatch([r.name,r.size,r.type,r.lastModfied])},blob(){if(n.ignoreUnknown)return i("[blob]");throw new Error(`Hashing Blob objects is currently not supported
74Use "options.replacer" or "options.ignoreUnknown"
75`)},domwindow(){return i("domwindow")},bigint(r){return i("bigint:"+r.toString())},process(){return i("process")},timer(){return i("timer")},pipe(){return i("pipe")},tcp(){return i("tcp")},udp(){return i("udp")},tty(){return i("tty")},statwatcher(){return i("statwatcher")},securecontext(){return i("securecontext")},connection(){return i("connection")},zlib(){return i("zlib")}
75,context(){return i("context")},nodescript(){return i("nodescript")},httpparser(){return i("httpparser")},dataview(){return i("dataview")},signal(){return i("signal")},fsevent(){return i("fsevent")},tlswrap(){return i("tlswrap")}}}const CI="[native code] }",AY=CI.length;function Kw(n){return typeof n!="function"?!1:Function.prototype.toString.call(n).slice(-AY)===CI}var vY=Object.defineProperty,yY=(n,e,t)=>e in n?vY(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Uf=(n,e,t)=>(yY(n,typeof e!="symbol"?e+"":e,t),t);class ql{constructor(e,t){Uf(this,"words"),Uf(this,"sigBytes"),e=this.words=e||[],this.sigBytes=t===void 0?e.length*4:t}toString(e){return(e||_Y).stringify(this)}concat(e){if(this.clamp(),this.sigBytes%4)for(let t=0;t<e.sigBytes;t++){const i=e.words[t>>>2]>>>24-t%4*8&255;this.words[this.sigBytes+t>>>2]|=i<<24-(this.sigBytes+t)%4*8}else for(let t=0;t<e.sigBytes;t+=4)this.words[this.sigBytes+t>>>2]=e.words[t>>>2];return this.sigBytes+=e.sigBytes,this}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new ql([...this.words])}}const _Y={stringify(n){const e=[];for(let t=0;t<n.sigBytes;t++){const i=n.words[t>>>2]>>>24-t%4*8&255;e.push((i>>>4).toString(16),(i&15).toString(16))}return e.join("")}},bY={stringify(n){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=[];for(let i=0;i<n.sigBytes;i+=3){const r=n.words[i>>>2]>>>24-i%4*8&255,s=n.words[i+1>>>2]>>>24-(i+1)%4*8&255,o=n.words[i+2>>>2]>>>24-(i+2)%4*8&255,a=r<<16|s<<8|o;for(let l=0;l<4&&i*8+l*6<n.sigBytes*8;l++)t.push(e.charAt(a>>>6*(3-l)&63))}return t.join("")}},xY={parse(n){const e=n.length,t=[];for(let i=0;i<e;i++)t[i>>>2]|=(n.charCodeAt(i)&255)<<24-i%4*8;return new ql(t,e)}},CY={parse(n){return xY.parse(unescape(encodeURIComponent(n)))}};class wY{constructor(){Uf(this,"_data",new ql),Uf(this,"_nDataBytes",0),Uf(this,"_minBufferSize",0),Uf(this,"blockSize",512/32)}reset(){this._data=new ql,this._nDataBytes=0}_append(e){typeof e=="string"&&(e=CY.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_doProcessBlock(e,t){}_process(e){let t,i=this._data.sigBytes/(this.blockSize*4);e?i=Math.ceil(i):i=Math.max((i|0)-this._minBufferSize,0);const r=i*this.blockSize,s=Math.min(r*4,this._data.sigBytes);if(r){for(let o=0;o<r;o+=this.blockSize)this._doProcessBlock(this._data.words,o);t=this._data.words.splice(0,r),this._data.sigBytes-=s}return new ql(t,s)}}class SY extends wY{update(e){return this._append(e),this._process(),this}finalize(e){e&&this._append(e)}}var EY=Object.defineProperty,TY=(n,e,t)=>e in n?EY(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,MY=(n,e,t)=>(TY(n,e+"",t),t);const Zw=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],IY=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],Nc=[];class PY extends SY{constructor(){super(...arguments),MY(this,"_hash",new ql([...Zw]))}reset(){super.reset(),this._hash=new ql([...Zw])}_doProcessBlock(e,t){const i=this._hash.words;let r=i[0],s=i[1],o=i[2],a=i[3],l=i[4],c=i[5],u=i[6],f=i[7];for(let h=0;h<64;h++){if(h<16)Nc[h]=e[t+h]|0;else{const b=Nc[h-15],_=(b<<25|b>>>7)^(b<<14|b>>>18)^b>>>3,T=Nc[h-2],M=(T<<15|T>>>17)^(T<<13|T>>>19)^T>>>10;Nc[h]=_+Nc[h-7]+M+Nc[h-16]}const p=l&c^~l&u,m=r&s^r&o^s&o,v=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),A=(l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25),y=f+A+p+IY[h]+Nc[h],x=v+m;f=u,u=c,c=l,l=a+y|0,a=o,o=s,s=r,r=y+x|0}i[0]=i[0]+r|0,i[1]=i[1]+s|0,i[2]=i[2]+o|0,i[3]=i[3]+a|0,i[4]=i[4]+l|0,i[5]=i[5]+c|0,i[6]=i[6]+u|
750,i[7]=i[7]+f|0}finalize(e){super.finalize(e);const t=this._nDataBytes*8,i=this._data.sigBytes*8;return this._data.words[i>>>5]|=128<<24-i%32,this._data.words[(i+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(i+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}}function RY(n){return new PY().finalize(n).toString(bY)}function BY(n,e={}){const t=typeof n=="string"?n:mY(n,e);return RY(t).slice(0,10)}async function wI(n,e=As()){const{path:t,matched:i}=e.resolve(n);if(!i.length||(e._routePreloaded||(e._routePreloaded=new Set),e._routePreloaded.has(t)))return;const r=e._preloadPromises=e._preloadPromises||[];if(r.length>4)return Promise.all(r).then(()=>wI(n,e));e._routePreloaded.add(t);const s=i.map(o=>{var a;return(a=o.components)==null?void 0:a.default}).filter(o=>typeof o=="function");for(const o of s){const a=Promise.resolve(o()).catch(()=>{}).finally(()=>r.splice(r.indexOf(a)));r.push(a)}await Promise.all(r)}function DY(n={}){const e=n.path||window.location.pathname;let t={};try{t=pg(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(n.force||(t==null?void 0:t.path)!==e||(t==null?void 0:t.expires)<Date.now()){try{sessionStorage.setItem("nuxt:reload",JSON.stringify({path:e,expires:Date.now()+(n.ttl??1e4)}))}catch{}if(n.persistState)try{sessionStorage.setItem("nuxt:reload:state",JSON.stringify({state:Tn().payload.state}))}catch{}window.location.pathname!==e?window.location.href=e:window.location.reload()}}const LY=(...n)=>n.find(e=>e!==void 0);function OY(n){const e=n.componentName||"NuxtLink";function t(s){return typeof s=="string"&&s.startsWith("#")}function i(s,o){if(!s||n.trailingSlash!=="append"&&n.trailingSlash!=="remove")return s;if(typeof s=="string")return Jw(s,n.trailingSlash);const a="path"in s&&s.path!==void 0?s.path:o(s).path;return{...s,name:void 0,path:Jw(a,n.trailingSlash)}}function r(s){const o=As(),a=Bu(),l=ii(()=>!!s.target&&s.target!=="_self"),c=ii(()=>{const A=s.to||s.href||"";return typeof A=="string"&&ta(A,{acceptRelative:!0})}),u=z5("RouterLink"),f=typeof u!="string"?u.useLink:void 0,h=ii(()=>{if(s.external)return!0;const A=s.to||s.href||"";return typeof A=="object"?!1:A===""||c.value}),p=ii(()=>{const A=s.to||s.href||"";return h.value?A:i(A,o.resolve)}),m=h.value||f==null?void 0:f({...s,to:p}),v=ii(()=>{var A;if(!p.value||c.value||t(p.value))return p.value;if(h.value){const y=typeof p.value=="object"&&"path"in p.value?c_(p.value):p.value,x=typeof y=="object"?o.resolve(y).href:y;return i(x,o.resolve)}return typeof p.value=="object"?((A=o.resolve(p.value))==null?void 0:A.href)??null:i(dA(a.app.baseURL,p.value),o.resolve)});return{to:p,hasTarget:l,isAbsoluteUrl:c,isExternal:h,href:v,isActive:(m==null?void 0:m.isActive)??ii(()=>p.value===o.currentRoute.value.path),isExactActive:(m==null?void 0:m.isExactActive)??ii(()=>p.value===o.currentRoute.value.path),route:(m==null?void 0:m.route)??ii(()=>o.resolve(p.value)),async navigate(){await nQ(v.value,{replace:s.replace,external:h.value||l.value})}}}return vs({name:e,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},useLink:r,setup(s,{slots:o}){const a=As(),{to:l,href:c,navigate:u,isExternal:f,hasTarget:h,isAbsoluteUrl:p}=r(s),m=gt(!1),v=gt(null),A=b=>{var _;v.value=s.custom?(_=b==null?void 0:b.$el)==null?void 0:_.nextElementSibling:b==null?void 0:b.$el};function y(b){var _,T;return!m.value&&(typeof s.prefetchOn=="string"?s.prefetchOn===b:((_=s.prefetchOn)==null?void 0:_[b])??((T=n.prefetchOn)==null?void 0:T[b]))&&(s.prefetch??n.prefetch)!==!1&&s.noPrefetch!==!0&&s.target!=="_blank"&&!NY()}async function x(b=Tn()){if(m.value)return;m.value=!0;const _=typeof l.value=="string"?l.value:f.value?c_(l.value):a.resolve(l.value).fullPath,T=f.value?new URL(_,window.location.href).href:_;await Promise.all([b.hooks.callHook("link:prefetch",T).catch(()=>{}),!f.value&&!h.value&&wI(l.value,a).catch(()=>{})])}if(y("visibility")){const b=Tn();let _,T=null;zs(()=>{const M=FY();SA(()=>
75{_=Y_(()=>{var I;(I=v==null?void 0:v.value)!=null&&I.tagName&&(T=M.observe(v.value,async()=>{T==null||T(),T=null,await x(b)}))})})}),wp(()=>{_&&lY(_),T==null||T(),T=null})}return()=>{var T;if(!f.value&&!h.value&&!t(l.value)){const M={ref:A,to:l.value,activeClass:s.activeClass||n.activeClass,exactActiveClass:s.exactActiveClass||n.exactActiveClass,replace:s.replace,ariaCurrentValue:s.ariaCurrentValue,custom:s.custom};return s.custom||(y("interaction")&&(M.onPointerenter=x.bind(null,void 0),M.onFocus=x.bind(null,void 0)),m.value&&(M.class=s.prefetchedClass||n.prefetchedClass),M.rel=s.rel||void 0),Mr(z5("RouterLink"),M,o.default)}const b=s.target||null,_=LY(s.noRel?"":s.rel,n.externalRelAttribute,p.value||h.value?"noopener noreferrer":"")||null;return s.custom?o.default?o.default({href:c.value,navigate:u,prefetch:x,get route(){if(!c.value)return;const M=new URL(c.value,window.location.href);return{path:M.pathname,fullPath:M.pathname,get query(){return Y7(M.search)},hash:M.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:c.value}},rel:_,target:b,isExternal:f.value||h.value,isActive:!1,isExactActive:!1}):null:Mr("a",{ref:v,href:c.value||null,rel:_,target:b},(T=o.default)==null?void 0:T.call(o))}}})}const SI=OY(NG);function Jw(n,e){const t=e==="append"?gg:fA;return ta(n)&&!n.startsWith("http")?n:t(n,!0)}function FY(){const n=Tn();if(n._observer)return n._observer;let e=null;const t=new Map,i=(s,o)=>(e||(e=new IntersectionObserver(a=>{for(const l of a){const c=t.get(l.target);(l.isIntersecting||l.intersectionRatio>0)&&c&&c()}})),t.set(s,o),e.observe(s),()=>{t.delete(s),e==null||e.unobserve(s),t.size===0&&(e==null||e.disconnect(),e=null)});return n._observer={observe:i}}const UY=/2g/;function NY(){const n=navigator.connection;return!!(n&&(n.saveData||UY.test(n.effectiveType)))}function kY(n){typeof n.indexable<"u"&&(n.indexable=String(n.indexable)!=="false"),typeof n.trailingSlash<"u"&&!n.trailingSlash&&(n.trailingSlash=String(n.trailingSlash)!=="false"),n.url&&!ta(String(n.url),{acceptRelative:!0,strict:!1})&&(n.url=rG(String(n.url)));const e=Object.keys(n).sort((i,r)=>i.localeCompare(r)),t={};for(const i of e)t[i]=n[i];return t}function zY(n){const t=[];function i(s){if(!s||typeof s!="object"||Object.keys(s).length===0)return()=>{};s._context;const o={};for(const l in s){const c=s[l];typeof c<"u"&&c!==""&&(o[l]=c)}let a;return Object.keys(o).filter(l=>!l.startsWith("_")).length>0&&(a=t.push(o)),()=>{typeof a<"u"&&t.splice(a-1,1)}}function r(s){var a;const o={};s!=null&&s.debug&&(o._context={}),o._priority={};for(const l in t.sort((c,u)=>(c._priority||0)-(u._priority||0)))for(const c in t[l]){const u=c,f=s!=null&&s.resolveRefs?Co(t[l][c]):t[l][c];!c.startsWith("_")&&typeof f<"u"&&(o[c]=f,typeof t[l]._priority<"u"&&t[l]._priority!==-1&&(o._priority[u]=t[l]._priority),s!=null&&s.debug&&(o._context[u]=((a=t[l]._context)==null?void 0:a[u])||t[l]._context||"anonymous"))}return s!=null&&s.skipNormalize?o:kY(o)}return{stack:t,push:i,get:r}}const HY=oo({name:"nuxt-site-config:init",enforce:"pre",async setup(n){var i;const e=zY(),t=pY("site-config");{const r=t.value||window.__NUXT_SITE_CONFIG__||{};for(const s in r)s[0]!=="_"&&e.push({[s]:r[s],_priority:((i=r._priority)==null?void 0:i[s])||-1})}return{provide:{nuxtSiteConfig:e}}}}),VY=oo({name:"nuxt:payload",setup(n){As().beforeResolve(async(e,t)=>{if(e.path===t.path)return;const i=await RC(e.path);i&&Object.assign(n.static.data,i.data)}),SA(()=>{var e;n.hooks.hook("link:prefetch",async t=>{const{hostname:i}=new URL(t,window.location.href);i===window.location.hostname&&await RC(t)}),((e=navigator.connection)==null?void 0:e.effectiveType)!=="slow-2g"&&setTimeout(AA,1e3)})}}),GY=oo(()=>{const n=As();SA(()=>{n.beforeResolve(async()=>{await new Promise(e=>{setTimeout(e,100),requestAnimationFrame(()=>{setTimeout(e,0)})})})})}),QY=oo(n=>{let e;async function t(){const i=await AA();e&&clearTimeout(e),e=setTimeout(t,_C);try{const r=await $fetch(cx("builds/latest.json")+`?${Date.now()}`);r.id!==i.id&&n.hooks.callHook("app:manifest:update",r)}catch{}}SA(()=>{e=setTimeout(t,_C)})}),WY=oo({name:"nuxt:chunk-reload",setup(n){const e=As(),t=Bu(),i=new Set;e.beforeEach(()=>{i.clear()}),n.hook("app:chunkError",({error:s})=>{i.add(s)});function r(s){const a="href"in s&&s.href[0]==="#"?t.app.baseURL+s.href:dA(t.app.baseURL,s.fullPath);DY({path:a,persistState:!0})}n.hook("app:manifest:update",()=>{e.beforeResolve(r)}),e.onError((s,o)=>{i.has(s)&&r(o)})}}),jY=oo({name:"nuxt:global-components"}),Qm={},qY=oo({name:"nuxt:prefetch",setup(n){const e=As();n.hooks.hook("app:mounted",()=>{e.beforeEach(async t=>{var r;const i=(r=t==null?void 0:t.meta)==null?void 0:r.layout;i&&typeof Qm[i]=="function"&&await Qm[i]()})}),n.hooks.hook("link:prefetch",t=>{if(ta(t))return;const i=e.resolve(t);if(!i)return;const r=i.meta.layout;let s=mx(i.meta.middleware);s=s.filter(o=>
vendor: 7,267 bytes, lines 75-79
75typeof o=="string");for(const o of s)typeof b0[o]=="function"&&b0[o]();r&&typeof Qm[r]=="function"&&Qm[r]()})}});/**
76 * @license
77 * Copyright 2010-2025 Three.js Authors
78 * SPDX-License-Identifier: MIT
79 */const Qx="173",ed={ROTATE:0,DOLLY:1,PAN:2},Nf={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},XY=0,eS=1,YY=2,EI=1,$Y=2,zo=3,Io=0,Rr=1,Zs=2,wo=0,bu=1,Y0=2,$_=3,K_=4,TI=5,eu=100,KY=101,ZY=102,JY=103,e$=104,t$=200,n$=201,i$=202,r$=203,Z_=204,J_=205,s$=206,o$=207,a$=208,l$=209,c$=210,u$=211,f$=212,d$=213,h$=214,eb=0,tb=1,nb=2,Cd=3,ib=4,rb=5,sb=6,ob=7,MI=0,p$=1,m$=2,Xl=0,II=1,PI=2,RI=3,BI=4,DI=5,LI=6,OI=7,tS="attached",g$="detached",Wx=300,tc=301,wd=302,Ya=303,ab=304,EA=306,ts=1e3,ti=1001,Sd=1002,Br=1003,FI=1004,qh=1005,Yt=1006,$1=1007,Fs=1008,jx=1008,Ki=1009,UI=1010,NI=1011,$0=1012,qx=1013,Pu=1014,Zt=1015,nn=1016,Xx=1017,Yx=1018,Ed=1020,kI=35902,zI=1021,HI=1022,pi=1023,VI=1024,GI=1025,td=1026,Td=1027,kl=1028,$x=1029,ou=1030,Kx=1031,Zx=1033,K1=33776,x0=33777,Z1=33778,C0=33779,Og=35840,lb=35841,Fg=35842,cb=35843,Ug=36196,Ng=37492,kg=37496,K0=37808,ub=37809,fb=37810,db=37811,Z0=37812,hb=37813,pb=37814,mb=37815,gb=37816,Ab=37817,vb=37818,yb=37819,_b=37820,bb=37821,w0=36492,xb=36494,zg=36495,QI=36283,Cb=36284,wb=36285,Sb=36286,J0=2300,ep=2301,r3=2302,nS=2400,iS=2401,rS=2402,A$=2500,v$=0,WI=1,Eb=2,y$=3200,Jx=3201,jI=0,_$=1,qo="",En="srgb",mi="srgb-linear",Hg="linear",yn="srgb",nf=7680,sS=519,b$=512,x$=513,C$=514,qI=515,w$=516,S$=517,E$=518,T$=519,Tb=35044,oS="300 es",Ko=2e3,Vg=2001;class ac{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const i=this._listeners;i[e]===void 0&&(i[e]=[]),i[e].indexOf(t)===-1&&i[e].push(t)}hasEventListener(e,t){const i=this._listeners;return i===void 0?!1:i[e]!==void 0&&i[e].indexOf(t)!==-1}removeEventListener(e,t){const i=this._listeners;if(i===void 0)return;const r=i[e];if(r!==void 0){const s=r.indexOf(t);s!==-1&&r.splice(s,1)}}dispatchEvent(e){const t=this._listeners;if(t===void 0)return;const i=t[e.type];if(i!==void 0){e.target=this;const r=i.slice(0);for(let s=0,o=r.length;s<o;s++)r[s].call(this,e);e.target=null}}}const vr=["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 aS=1234567;const S0=Math.PI/180,Md=180/Math.PI;function So(){const n=Math.random()*4294967295|0,e=Math.random()*4294967295|0,t=Math.random()*4294967295|0,i=Math.random()*4294967295|0;return(vr[n&255]+vr[n>>8&255]+vr[n>>16&255]+vr[n>>24&255]+"-"+vr[e&255]+vr[e>>8&255]+"-"+vr[e>>16&15|64]+vr[e>>24&255]+"-"+vr[t&63|128]+vr[t>>8&255]+"-"+vr[t>>16&255]+vr[t>>24&255]+vr[i&255]+vr[i>>8&255]+vr[i>>16&255]+vr[i>>24&255]).toLowerCase()}function Ot(n,e,t){return Math.max(e,Math.min(t,n))}function e4(n,e){return(n%e+e)%e}function M$(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function I$(n,e,t){return n!==e?(t-n)/(e-n):0}function E0(n,e,t){return(1-t)*n+t*e}function P$(n,e,t,i){return E0(n,e,1-Math.exp(-t*i))}function R$(n,e=1){return e-Math.abs(e4(n,e*2)-e)}function B$(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function D$(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function L$(n,e){return n+Math.floor(Math.random()*(e-n+1))}function O$(n,e){return n+Math.random()*(e-n)}function F$(n){return n*(.5-Math.random())}function U$(n){n!==void 0&&(aS=n);let e=aS+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function N$(n){return n*S0}function k$(n){return n*Md}function z$(n){return(n&n-1)===0&&n!==0}function H$(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function V$(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function G$(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),c=s((e+i)/2),u=o((e+i)/2),f=s((e-i)/2),h=o((e-i)/2),p=s((i-e)/2),m=o((i-e)/2);switch(r){case"XYX":n.set(a*u,l*f,l*h,a*c);break;case"YZY":n.set(l*h,a*u,l*f,a*c);break;case"ZXZ":n.set(l*f,l*h,a*u,a*c);break;case"XZX":n.set(a*u,l*m,l*p,a*c);break;case"YXY":n.set(l*p,a*u,l*m,a*c);break;case"ZYZ":n.set(l*m,l*p,a*u,a*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function _o(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return n/4294967295;case Uint16Array:return n/65535;case Uint8Array:return n/255;case Int32Array:return Math.max(n/2147483647,-1);case Int16Array:return Math.max(n/32767,-1);case Int8Array:return Math.max(n/127,-1);default:throw new Error("Invalid component type.")}}function _n(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return Math.round(n*4294967295);case Uint16Array:return Math.round(n*65535);case Uint8Array:return Math.round(n*255);case Int32Array:return Math.round(n*2147483647);case Int16Array:return Math.round(n*32767);case Int8Array:return Math.round(n*127);default:throw new Error("Invalid component type.")}}const gn={DEG2RAD:S0,RAD2DEG:Md,generateUUID:So,clamp:Ot,euclideanModulo:e4,mapLinear:M$,inverseLerp:I$,lerp:E0,damp:P$,pingpong:R$,smoothstep:B$,smootherstep:D$,randInt:L$,randFloat:O$,randFloatSpread:F$,seededRandom:U$,degToRad:N$,radToDeg:k$,isPowerOfTwo:z$,ceilPowerOfTwo:H$,floorPowerOfTwo:V$,setQuaternionFromProperEuler:G$,normalize:_n,denormalize:_o};class Re{constructor(e=0,t=0){Re.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}
vendor: 7,575 bytes, line 79
79sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6],this.y=r[1]*t+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Ot(this.x,e.x,t.x),this.y=Ot(this.y,e.y,t.y),this}clampScalar(e,t){return this.x=Ot(this.x,e,t),this.y=Ot(this.y,e,t),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Ot(i,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.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(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(Ot(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y;return t*t+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const i=Math.cos(t),r=Math.sin(t),s=this.x-e.x,o=this.y-e.y;return this.x=s*i-o*r+e.x,this.y=s*r+o*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Lt{constructor(e,t,i,r,s,o,a,l,c){Lt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,c)}set(e,t,i,r,s,o,a,l,c){const u=this.elements;return u[0]=e,u[1]=r,u[2]=a,u[3]=t,u[4]=s,u[5]=l,u[6]=i,u[7]=o,u[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this}extractBasis(e,t,i){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[3],l=i[6],c=i[1],u=i[4],f=i[7],h=i[2],p=i[5],m=i[8],v=r[0],A=r[3],y=r[6],x=r[1],b=r[4],_=r[7],T=r[2],M=r[5],I=r[8];return s[0]=o*v+a*x+l*T,s[3]=o*A+a*b+l*M,s[6]=o*y+a*_+l*I,s[1]=c*v+u*x+f*T,s[4]=c*A+u*b+f*M,s[7]=c*y+u*_+f*I,s[2]=h*v+p*x+m*T,s[5]=h*A+p*b+m*M,s[8]=h*y+p*_+m*I,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8];return t*o*u-t*a*c-i*s*u+i*a*l+r*s*c-r*o*l}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],f=u*o-a*c,h=a*l-u*s,p=c*s-o*l,m=t*f+i*h+r*p;if(m===0)return this.set(0,0,0,0,0,0,0,0,0);const v=1/m;return e[0]=f*v,e[1]=(r*c-u*i)*v,e[2]=(a*i-r*o)*v,e[3]=h*v,e[4]=(u*t-r*l)*v,e[5]=(r*s-a*t)*v,e[6]=p*v,e[7]=(i*l-c*t)*v,e[8]=(o*t-i*s)*v,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,i,r,s,o,a){const l=Math.cos(s),c=Math.sin(s);return this.set(i*l,i*c,-i*(l*o+c*a)+o+e,-r*c,r*l,-r*(-c*o+l*a)+a+t,0,0,1),this}scale(e,t){return this.premultiply(s3.makeScale(e,t)),this}rotate(e){return this.premultiply(s3.makeRotation(-e)),this}translate(e,t){return this.premultiply(s3.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,i,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<9;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<9;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const s3=new Lt;function XI(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}function tp(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function Q$(){const n=tp("canvas");return n.style.display="block",n}const lS={};function Mf(n){n in lS||(lS[n]=!0,console.warn(n))}function W$(n,e,t){return new Promise(function(i,r){function s(){switch(n.clientWaitSync(e,n.SYNC_FLUSH_COMMANDS_BIT,0)){case n.WAIT_FAILED:r();break;case n.TIMEOUT_EXPIRED:setTimeout(s,t);break;default:i()}}setTimeout(s,t)})}function j$(n){const e=n.elements;e[2]=.5*e[2]+.5*e[3],e[6]=.5*e[6]+.5*e[7],e[10]=.5*e[10]+.5*e[11],e[14]=.5*e[14]+.5*e[15]}function q$(n){const e=n.elements;e[11]===-1?(e[10]=-e[10]-1,e[14]=-e[14]):(e[10]=-e[10],e[14]=-e[14]+1)}const cS=new Lt().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),uS=new Lt().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function X$(){const n={enabled:!0,workingColorSpace:mi,spaces:{},convert:function(r,s,o){return this.enabled===!1||s===o||!s||!o||(this.spaces[s].transfer===yn&&(r.r=Qa(r.r),r.g=Qa(r.g),r.b=Qa(r.b)),this.spaces[s].primaries!==this.spaces[o].primaries&&(r.applyMatrix3(this.spaces[s].toXYZ),r.applyMatrix3(this.spaces[o].fromXYZ)),this.spaces[o].transfer===yn&&(r.r=nd(r.r),r.g=nd(r.g),r.b=nd(r.b))),r},fromWorkingColorSpace:function(r,s){return this.convert(r,this.workingColorSpace,s)},toWorkingColorSpace:function(r,s){return this.convert(r,s,this.workingColorSpace)},getPrimaries:function(r){return this.spaces[r].primaries},getTransfer:function(r){return r===qo?Hg:this.spaces[r].transfer},getLuminanceCoefficients:function(r,s=this.workingColorSpace){return r.fromArray(this.spaces[s].luminanceCoefficients)},define:function(r){Object.assign(this.spaces,r)},_getMatrix:function(r,s,o){return r.copy(this.spaces[s].toXYZ).multiply(this.spaces[o].fromXYZ)},_getDrawingBufferColorSpace:function(r){return this.space
vendor: 4,544 bytes, line 79
79s[r].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(r=this.workingColorSpace){return this.spaces[r].workingColorSpaceConfig.unpackColorSpace}},e=[.64,.33,.3,.6,.15,.06],t=[.2126,.7152,.0722],i=[.3127,.329];return n.define({[mi]:{primaries:e,whitePoint:i,transfer:Hg,toXYZ:cS,fromXYZ:uS,luminanceCoefficients:t,workingColorSpaceConfig:{unpackColorSpace:En},outputColorSpaceConfig:{drawingBufferColorSpace:En}},[En]:{primaries:e,whitePoint:i,transfer:yn,toXYZ:cS,fromXYZ:uS,luminanceCoefficients:t,outputColorSpaceConfig:{drawingBufferColorSpace:En}}}),n}const Xt=X$();function Qa(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function nd(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let rf;class Y${static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{rf===void 0&&(rf=tp("canvas")),rf.width=e.width,rf.height=e.height;const i=rf.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=rf}return t.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const t=tp("canvas");t.width=e.width,t.height=e.height;const i=t.getContext("2d");i.drawImage(e,0,0,e.width,e.height);const r=i.getImageData(0,0,e.width,e.height),s=r.data;for(let o=0;o<s.length;o++)s[o]=Qa(s[o]/255)*255;return i.putImageData(r,0,0),t}else if(e.data){const t=e.data.slice(0);for(let i=0;i<t.length;i++)t instanceof Uint8Array||t instanceof Uint8ClampedArray?t[i]=Math.floor(Qa(t[i]/255)*255):t[i]=Qa(t[i]);return{data:t,width:e.width,height:e.height}}else return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),e}}let $$=0;class YI{constructor(e=null){this.isSource=!0,Object.defineProperty(this,"id",{value:$$++}),this.uuid=So(),this.data=e,this.dataReady=!0,this.version=0}set needsUpdate(e){e===!0&&this.version++}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.images[this.uuid]!==void 0)return e.images[this.uuid];const i={uuid:this.uuid,url:""},r=this.data;if(r!==null){let s;if(Array.isArray(r)){s=[];for(let o=0,a=r.length;o<a;o++)r[o].isDataTexture?s.push(o3(r[o].image)):s.push(o3(r[o]))}else s=o3(r);i.url=s}return t||(e.images[this.uuid]=i),i}}function o3(n){return typeof HTMLImageElement<"u"&&n instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&n instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&n instanceof ImageBitmap?Y$.getDataURL(n):n.data?{data:Array.from(n.data),width:n.width,height:n.height,type:n.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}let K$=0;class xn extends ac{constructor(e=xn.DEFAULT_IMAGE,t=xn.DEFAULT_MAPPING,i=ti,r=ti,s=Yt,o=Fs,a=pi,l=Ki,c=xn.DEFAULT_ANISOTROPY,u=qo){super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:K$++}),this.uuid=So(),this.name="",this.source=new YI(e),this.mipmaps=[],this.mapping=t,this.channel=0,this.wrapS=i,this.wrapT=r,this.magFilter=s,this.minFilter=o,this.anisotropy=c,this.format=a,this.internalFormat=null,this.type=l,this.offset=new Re(0,0),this.repeat=new Re(1,1),this.center=new Re(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Lt,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.colorSpace=u,this.userData={},this.version=0,this.onUpdate=null,this.renderTarget=null,this.isRenderTargetTexture=!1,this.pmremVersion=0}get image(){return this.source.data}set image(e=null){this.source.data=e}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(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace
vendor: 5,622 bytes, line 79
79=e.colorSpace,this.renderTarget=e.renderTarget,this.isRenderTargetTexture=e.isRenderTargetTexture,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];const i={metadata:{version:4.6,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).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};return Object.keys(this.userData).length>0&&(i.userData=this.userData),t||(e.textures[this.uuid]=i),i}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==Wx)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case ts:e.x=e.x-Math.floor(e.x);break;case ti:e.x=e.x<0?0:1;break;case Sd:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case ts:e.y=e.y-Math.floor(e.y);break;case ti:e.y=e.y<0?0:1;break;case Sd:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}}xn.DEFAULT_IMAGE=null;xn.DEFAULT_MAPPING=Wx;xn.DEFAULT_ANISOTROPY=1;class Vt{constructor(e=0,t=0,i=0,r=1){Vt.prototype.isVector4=!0,this.x=e,this.y=t,this.z=i,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){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: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=this.w,o=e.elements;return this.x=o[0]*t+o[4]*i+o[8]*r+o[12]*s,this.y=o[1]*t+o[5]*i+o[9]*r+o[13]*s,this.z=o[2]*t+o[6]*i+o[10]*r+o[14]*s,this.w=o[3]*t+o[7]*i+o[11]*r+o[15]*s,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,i,r,s;const l=e.elements,c=l[0],u=l[4],f=l[8],h=l[1],p=l[5],m=l[9],v=l[2],A=l[6],y=l[10];if(Math.abs(u-h)<.01&&Math.abs(f-v)<.01&&Math.abs(m-A)<.01){if(Math.abs(u+h)<.1&&Math.abs(f+v)<.1&&Math.abs(m+A)<.1&&Math.abs(c+p+y-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const b=(c+1)/2,_=(p+1)/2,T=(y+1)/2,M=(u+h)/4,I=(f+v)/4,R=(m+A)/4;return b>_&&b>T?b<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(b),r=M/i,s=I/i):_>T?_<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(_),i=M/r,s=R/r):T<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(T),i=I/s,r=R/s),this.set(i,r,s,t),this}let x=Math.sqrt((A-m)*(A-m)+(f-v)*(f-v)+(h-u)*(h-u));return Math.abs(x)<.001&&(x=1),this.x=(A-m)/x,this.y=(f-v)/x,this.z=(h-u)/x,this.w=Math.acos((c+p+y-1)/2),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this.w=t[15],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Ot(this.x,e.x,t.x),this.y=Ot(this.y,e.y,t.y),this.z=Ot(this.z,e.z,t.z),this.w=Ot(this.w,e.w,t.w),this}clampScalar(e,t){return this.x=Ot(this.x,e,t),this.y=Ot(this.y,e,t),this.z=Ot(this.z,e,t),this.w=Ot(this.w,e,t),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Ot(i,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}
vendor: 5,152 bytes, line 79
79round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.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(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this.w=e.w+(t.w-e.w)*i,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class Z$ extends ac{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new Vt(0,0,e,t),this.scissorTest=!1,this.viewport=new Vt(0,0,e,t);const r={width:e,height:t,depth:1};i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:Yt,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1},i);const s=new xn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace);s.flipY=!1,s.generateMipmaps=i.generateMipmaps,s.internalFormat=i.internalFormat,this.textures=[];const o=i.count;for(let a=0;a<o;a++)this.textures[a]=s.clone(),this.textures[a].isRenderTargetTexture=!0,this.textures[a].renderTarget=this;this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.resolveDepthBuffer=i.resolveDepthBuffer,this.resolveStencilBuffer=i.resolveStencilBuffer,this._depthTexture=null,this.depthTexture=i.depthTexture,this.samples=i.samples}get texture(){return this.textures[0]}set texture(e){this.textures[0]=e}set depthTexture(e){this._depthTexture!==null&&(this._depthTexture.renderTarget=null),e!==null&&(e.renderTarget=this),this._depthTexture=e}get depthTexture(){return this._depthTexture}setSize(e,t,i=1){if(this.width!==e||this.height!==t||this.depth!==i){this.width=e,this.height=t,this.depth=i;for(let r=0,s=this.textures.length;r<s;r++)this.textures[r].image.width=e,this.textures[r].image.height=t,this.textures[r].image.depth=i;this.dispose()}this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.textures.length=0;for(let i=0,r=e.textures.length;i<r;i++)this.textures[i]=e.textures[i].clone(),this.textures[i].isRenderTargetTexture=!0,this.textures[i].renderTarget=this;const t=Object.assign({},e.texture.image);return this.texture.source=new YI(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,this.resolveDepthBuffer=e.resolveDepthBuffer,this.resolveStencilBuffer=e.resolveStencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class li extends Z${constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class $I extends xn{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=Br,this.minFilter=Br,this.wrapR=ti,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}}class KI extends xn{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=Br,this.minFilter=Br,this.wrapR=ti,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Xn{constructor(e=0,t=0,i=0,r=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=i,this._w=r}static slerpFlat(e,t,i,r,s,o,a){let l=i[r+0],c=i[r+1],u=i[r+2],f=i[r+3];const h=s[o+0],p=s[o+1],m=s[o+2],v=s[o+3];if(a===0){e[t+0]=l,e[t+1]=c,e[t+2]=u,e[t+3]=f;return}if(a===1){e[t+0]=h,e[t+1]=p,e[t+2]=m,e[t+3]=v;return}if(f!==v||l!==h||c!==p||u!==m){let A=1-a;const y=l*h+c*p+u*m+f*v,x=y>=0?1:-1,b=1-y*y;if(b>Number.EPSILON){const T=Math.sqrt(b),M=Math.atan2(T,y*x);A=Math.sin(A*M)/T,a=Math.sin(a*M)/T}const _=a*x;if(l=l*A+h*_,c=c*A+p*_,u=u*A+m*_,f=f*A+v*_,A===1-a){const T=1/Math.sqrt(l*l+c*c+u*u+f*f);
vendor: 4,532 bytes, line 79
79l*=T,c*=T,u*=T,f*=T}}e[t]=l,e[t+1]=c,e[t+2]=u,e[t+3]=f}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],c=i[r+2],u=i[r+3],f=s[o],h=s[o+1],p=s[o+2],m=s[o+3];return e[t]=a*m+u*f+l*p-c*h,e[t+1]=l*m+u*h+c*f-a*p,e[t+2]=c*m+u*p+a*h-l*f,e[t+3]=u*m-a*f-l*h-c*p,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,i,r){return this._x=e,this._y=t,this._z=i,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const i=e._x,r=e._y,s=e._z,o=e._order,a=Math.cos,l=Math.sin,c=a(i/2),u=a(r/2),f=a(s/2),h=l(i/2),p=l(r/2),m=l(s/2);switch(o){case"XYZ":this._x=h*u*f+c*p*m,this._y=c*p*f-h*u*m,this._z=c*u*m+h*p*f,this._w=c*u*f-h*p*m;break;case"YXZ":this._x=h*u*f+c*p*m,this._y=c*p*f-h*u*m,this._z=c*u*m-h*p*f,this._w=c*u*f+h*p*m;break;case"ZXY":this._x=h*u*f-c*p*m,this._y=c*p*f+h*u*m,this._z=c*u*m+h*p*f,this._w=c*u*f-h*p*m;break;case"ZYX":this._x=h*u*f-c*p*m,this._y=c*p*f+h*u*m,this._z=c*u*m-h*p*f,this._w=c*u*f+h*p*m;break;case"YZX":this._x=h*u*f+c*p*m,this._y=c*p*f+h*u*m,this._z=c*u*m-h*p*f,this._w=c*u*f-h*p*m;break;case"XZY":this._x=h*u*f-c*p*m,this._y=c*p*f-h*u*m,this._z=c*u*m+h*p*f,this._w=c*u*f+h*p*m;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const i=t/2,r=Math.sin(i);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,i=t[0],r=t[4],s=t[8],o=t[1],a=t[5],l=t[9],c=t[2],u=t[6],f=t[10],h=i+a+f;if(h>0){const p=.5/Math.sqrt(h+1);this._w=.25/p,this._x=(u-l)*p,this._y=(s-c)*p,this._z=(o-r)*p}else if(i>a&&i>f){const p=2*Math.sqrt(1+i-a-f);this._w=(u-l)/p,this._x=.25*p,this._y=(r+o)/p,this._z=(s+c)/p}else if(a>f){const p=2*Math.sqrt(1+a-i-f);this._w=(s-c)/p,this._x=(r+o)/p,this._y=.25*p,this._z=(l+u)/p}else{const p=2*Math.sqrt(1+f-i-a);this._w=(o-r)/p,this._x=(s+c)/p,this._y=(l+u)/p,this._z=.25*p}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let i=e.dot(t)+1;return i<Number.EPSILON?(i=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=i):(this._x=0,this._y=-e.z,this._z=e.y,this._w=i)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=i),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Ot(this.dot(e),-1,1)))}rotateTowards(e,t){const i=this.angleTo(e);if(i===0)return this;const r=Math.min(1,t/i);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._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 e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const i=e._x,r=e._y,s=e._z,o=e._w,a=t._x,l=t._y,c=t._z,u=t._w;return this._x=i*u+o*a+r*c-s*l,this._y=r*u+o*l+s*a-i*c,this._z=s*u+o*c+i*l-r*a,this._w=o*u-i*a-r*l-s*c,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const i=this._x,r=this._y,s=this._z,o=this._w;let a=o*e._w+i*e._x+r*e._y+s*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=i,this._y=r,this._z=s,this;const l=1-a*a;if(l<=Number.EPSILON){const p=1-t;return this._w=p*o+t*this._w,this._x=p*i+t*this._x,this._y=p*r+t*this._y,this._z=p*s+t*this._z,this.normalize(),this}const c=Math.sqrt(l),u=Math.atan2(c,a),f=Math.sin((1-t)*u)/c,h=Math.sin(t*u)/c;return this._w=o*f+this._w*h,this._x=i*f+this._x*h,this._y=r*f+this._y*h,this._z=s*f+this._z*h,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),i=Math.random(),r
vendor: 9,794 bytes, line 79
79=Math.sqrt(1-i),s=Math.sqrt(i);return this.set(r*Math.sin(e),r*Math.cos(e),s*Math.sin(t),s*Math.cos(t))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class K{constructor(e=0,t=0,i=0){K.prototype.isVector3=!0,this.x=e,this.y=t,this.z=i}set(e,t,i){return i===void 0&&(i=this.z),this.x=e,this.y=t,this.z=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(fS.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(fS.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[3]*i+s[6]*r,this.y=s[1]*t+s[4]*i+s[7]*r,this.z=s[2]*t+s[5]*i+s[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=e.elements,o=1/(s[3]*t+s[7]*i+s[11]*r+s[15]);return this.x=(s[0]*t+s[4]*i+s[8]*r+s[12])*o,this.y=(s[1]*t+s[5]*i+s[9]*r+s[13])*o,this.z=(s[2]*t+s[6]*i+s[10]*r+s[14])*o,this}applyQuaternion(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z,l=e.w,c=2*(o*r-a*i),u=2*(a*t-s*r),f=2*(s*i-o*t);return this.x=t+l*c+o*f-a*u,this.y=i+l*u+a*c-s*f,this.z=r+l*f+s*u-o*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[4]*i+s[8]*r,this.y=s[1]*t+s[5]*i+s[9]*r,this.z=s[2]*t+s[6]*i+s[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Ot(this.x,e.x,t.x),this.y=Ot(this.y,e.y,t.y),this.z=Ot(this.z,e.z,t.z),this}clampScalar(e,t){return this.x=Ot(this.x,e,t),this.y=Ot(this.y,e,t),this.z=Ot(this.z,e,t),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Ot(i,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.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(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const i=e.x,r=e.y,s=e.z,o=t.x,a=t.y,l=t.z;return this.x=r*l-s*a,this.y=s*o-i*l,this.z=i*a-r*o,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const i=e.dot(this)/t;return this.copy(e).multiplyScalar(i)}projectOnPlane(e){return a3.copy(this).projectOnVector(e),this.sub(a3)}reflect(e){return this.sub(a3.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(Ot(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y,r=this.z-e.z;return t*t+i*i+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,i){const r=Math.sin(t)*e;return this.x=r*Math.sin(i),this.y=Math.cos(t)*e,this.z=r*Math.cos(i),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,i){return this.x=e*Math.sin(t),this.y=i,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),i=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=i,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=Math.random()*Math.PI*2,t=Math.random()*2-1,i=Math.sqrt(1-t*t);return this.x=i*Math.cos(e),this.y=t,this.z=i*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const a3=new K,fS=new Xn;class Hs{constructor(e=new K(1/0,1/0,1/0),t=new K(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,i=e.length;t<i;t+=3)this.expandByPoint(ho.fromArray(e,t));return this}setFromBufferAttribute(e){this.makeEmpty();for(let t=0,i=e.count;t<i;t++)this.expandByPoint(ho.fromBufferAttribute(e,t));return this}setFromPoints(e){this.makeEmpty();for(let t=0,i=e.length;t<i;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){const i=ho.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(i),this.max.copy(e).add(i),this}setFromObject(e,t=!1){return this.makeEmpty(),this.expandByObject(e,t)}clone(){return new this.constructor().copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(e){return this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}expandByObject(e,t=!1){e.updateWorldMatrix(!1,!1);const i=e.geometry;if(i!==void 0){const s=i.getAttribute("position");if(t===!0&&s!==void 0&&e.isInstancedMesh!==!0)for(let o=0,a=s.count;o<a;o++)e.isMesh===!0?e.getVertexPosition(o,ho):ho.fromBufferAttribute(s,o),ho.applyMatrix4(e.matrixWorld),this.expandByPoint(ho);else e.boundingBox!==void 0?(e.boundingBox===null&&e.computeBoundingBox(),Wm.copy(e.boundingBox)):(i.boundingBox===null&&i.computeBoundingBox(),Wm.copy(i.boundingBox)),Wm.applyMatrix4(e.matrixWorld),this.union(Wm)}const r=e.children;for(let s=0,o=r.length;s<o;s++)this.expandByObject(r[s],t);return this}containsPoint(e){return e.x>=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,ho),ho.distanceToSquared(e.center)<=e.radius*e.radiu
vendor: 19,829 bytes, line 79
79s}intersectsPlane(e){let t,i;return e.normal.x>0?(t=e.normal.x*this.min.x,i=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,i=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,i+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,i+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,i+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,i+=e.normal.z*this.min.z),t<=-e.constant&&i>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(xh),jm.subVectors(this.max,xh),sf.subVectors(e.a,xh),of.subVectors(e.b,xh),af.subVectors(e.c,xh),cl.subVectors(of,sf),ul.subVectors(af,of),kc.subVectors(sf,af);let t=[0,-cl.z,cl.y,0,-ul.z,ul.y,0,-kc.z,kc.y,cl.z,0,-cl.x,ul.z,0,-ul.x,kc.z,0,-kc.x,-cl.y,cl.x,0,-ul.y,ul.x,0,-kc.y,kc.x,0];return!l3(t,sf,of,af,jm)||(t=[1,0,0,0,1,0,0,0,1],!l3(t,sf,of,af,jm))?!1:(qm.crossVectors(cl,ul),t=[qm.x,qm.y,qm.z],l3(t,sf,of,af,jm))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,ho).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(ho).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Aa[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Aa[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Aa[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Aa[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Aa[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Aa[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Aa[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Aa[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Aa),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const Aa=[new K,new K,new K,new K,new K,new K,new K,new K],ho=new K,Wm=new Hs,sf=new K,of=new K,af=new K,cl=new K,ul=new K,kc=new K,xh=new K,jm=new K,qm=new K,zc=new K;function l3(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){zc.fromArray(n,s);const a=r.x*Math.abs(zc.x)+r.y*Math.abs(zc.y)+r.z*Math.abs(zc.z),l=e.dot(zc),c=t.dot(zc),u=i.dot(zc);if(Math.max(-Math.max(l,c,u),Math.min(l,c,u))>a)return!1}return!0}const J$=new Hs,Ch=new K,c3=new K;class ao{constructor(e=new K,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const i=this.center;t!==void 0?i.copy(t):J$.setFromPoints(e).getCenter(i);let r=0;for(let s=0,o=e.length;s<o;s++)r=Math.max(r,i.distanceToSquared(e[s]));return this.radius=Math.sqrt(r),this}copy(e){return this.center.copy(e.center),this.radius=e.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(e){return e.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(e){return e.distanceTo(this.center)-this.radius}intersectsSphere(e){const t=this.radius+e.radius;return e.center.distanceToSquared(this.center)<=t*t}intersectsBox(e){return e.intersectsSphere(this)}intersectsPlane(e){return Math.abs(e.distanceToPoint(this.center))<=this.radius}clampPoint(e,t){const i=this.center.distanceToSquared(e);return t.copy(e),i>this.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;Ch.subVectors(e,this.center);const t=Ch.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(Ch,r/i),this.radius+=r}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(c3.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(Ch.copy(e.center).add(c3)),this.expandByPoint(Ch.copy(e.center).sub(c3))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const va=new K,u3=new K,Xm=new K,fl=new K,f3=new K,Ym=new K,d3=new K;class kd{constructor(e=new K,t=new K(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,va)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const i=t.dot(this.direction);return i<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,i)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=va.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(va.copy(this.origin).addScaledVector(this.direction,t),va.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){u3.copy(e).add(t).multiplyScalar(.5),Xm.copy(t).sub(e).normalize(),fl.copy(this.origin).sub(u3);const s=e.distanceTo(t)*.5,o=-this.direction.dot(Xm),a=fl.dot(this.direction),l=-fl.dot(Xm),c=fl.lengthSq(),u=Math.abs(1-o*o);let f,h,p,m;if(u>0)if(f=o*l-a,h=o*a-l,m=s*u,f>=0)if(h>=-m)if(h<=m){const v=1/u;f*=v,h*=v,p=f*(f+o*h+2*a)+h*(o*f+h+2*l)+c}else h=s,f=Math.max(0,-(o*h+a)),p=-f*f+h*(h+2*l)+c;else h=-s,f=Math.max(0,-(o*h+a)),p=-f*f+h*(h+2*l)+c;else h<=-m?(f=Math.max(0,-(-o*s+a)),h=f>0?-s:Math.min(Math.max(-s,-l),s),p=-f*f+h*(h+2*l)+c):h<=m?(f=0,h=Math.min(Math.max(-s,-l),s),p=h*(h+2*l)+c):(f=Math.max(0,-(o*s+a)),h=f>0?s:Math.min(Math.max(-s,-l),s),p=-f*f+h*(h+2*l)+c);else h=o>0?-s:s,f=Math.max(0,-(o*h+a)),p=-f*f+h*(h+2*l)+c;return i&&i.copy(this.origin).addScaledVector(this.direction,f),r&&r.copy(u3).addScaledVector(Xm,h),p}intersectSphere(e,t){va.subVectors(e.center,this.origin);const i=va.dot(this.direction),r=va.dot(va)-i*i,s=e.radius*e.radius;if(r>s)return null;const o=Math.sqrt(s-r),a=i-o,l=i+o;return l<0?null:a<0?this.at(l,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){const i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,r,s,o,a,l;const c=1/this.direction.x,u=1/this.direction.y,f=1/this.direction.z,h=this.origin;return c>=0?(i=(e.min.x-h.x)*c,r=(e.max.x-h.x)*c):(i=(e.max.x-h.x)*c,r=(e.min.x-h.x)*c),u>=0?(s=(e.min.y-h.y)*u,o=(e.max.y-h.y)*u):(s=(e.max.y-h.y)*u,o=(e.min.y-h.y)*u),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o<r||isNaN(r))&&(r=o),f>=0?(a=(e.min.z-h.z)*f,l=(e.max.z-h.z)*f):(a=(e.max.z-h.z)*f,l=(e.min.z-h.z)*f),i>l||a>r)||((a>i||i!==i)&&(i=a),(l<r||r!==r)&&(r=l),r<0)?null:this.at(i>=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,va)!==null}intersectTriangle(e,t,i,r,s){f3.subVectors(t,e),Ym.subVectors(i,e),d3.crossVectors(f3,Ym);let o=this.direction.dot(d3),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;fl.subVectors(this.origin,e);const l=a*this.direction.dot(Ym.crossVectors(fl,Ym));if(l<0)return null;const c=a*this.direction.dot(f3.cross(fl));if(c<0||l+c>o)return null;const u=-a*fl.dot(d3);return u<0?null:this.at(u/o,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class Ct{constructor(e,t,i,r,s,o,a,l,c,u,f,h,p,m,v,A){Ct.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,c,u,f,h,p,m,v,A)}set(e,t,i,r,s,o,a,l,c,u,f,h,p,m,v,A){const y=this.elements;return y[0]=e,y[4]=t,y[8]=i,y[12]=r,y[1]=s,y[5]=o,y[9]=a,y[13]=l,y[2]=c,y[6]=u,y[10]=f,y[14]=h,y[3]=p,y[7]=m,y[11]=v,y[15]=A,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new Ct().fromArray(this.elements)}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){const t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,i=e.elements,r=1/lf.setFromMatrixColumn(e,0).length(),s=1/lf.setFromMatrixColumn(e,1).length(),o=1/lf.setFromMatrixColumn(e,2).length();return t[0]=i[0]*r,t[1]=i[1]*r,t[2]=i[2]*r,t[3]=0,t[4]=i[4]*s,t[5]=i[5]*s,t[6]=i[6]*s,t[7]=0,t[8]=i[8]*o,t[9]=i[9]*o,t[10]=i[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,i=e.x,r=e.y,s=e.z,o=Math.cos(i),a=Math.sin(i),l=Math.cos(r),c=Math.sin(r),u=Math.cos(s),f=Math.sin(s);if(e.order==="XYZ"){const h=o*u,p=o*f,m=a*u,v=a*f;t[0]=l*u,t[4]=-l*f,t[8]=c,t[1]=p+m*c,t[5]=h-v*c,t[9]=-a*l,t[2]=v-h*c,t[6]=m+p*c,t[10]=o*l}else if(e.order==="YXZ"){const h=l*u,p=l*f,m=c*u,v=c*f;t[0]=h+v*a,t[4]=m*a-p,t[8]=o*c,t[1]=o*f,t[5]=o*u,t[9]=-a,t[2]=p*a-m,t[6]=v+h*a,t[10]=o*l}else if(e.order==="ZXY"){const h=l*u,p=l*f,m=c*u,v=c*f;t[0]=h-v*a,t[4]=-o*f,t[8]=m+p*a,t[1]=p+m*a,t[5]=o*u,t[9]=v-h*a,t[2]=-o*c,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const h=o*u,p=o*f,m=a*u,v=a*f;t[0]=l*u,t[4]=m*c-p,t[8]=h*c+v,t[1]=l*f,t[5]=v*c+h,t[9]=p*c-m,t[2]=-c,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const h=o*l,p=o*c,m=a*l,v=a*c;t[0]=l*u,t[4]=v-h*f,t[8]=m*f+p,t[1]=f,t[5]=o*u,t[9]=-a*u,t[2]=-c*u,t[6]=p*f+m,t[10]=h-v*f}else if(e.order==="XZY"){const h=o*l,p=o*c,m=a*l,v=a*c;t[0]=l*u,t[4]=-f,t[8]=c*u,t[1]=h*f+v,t[5]=o*u,t[9]=p*f-m,t[2]=m*f-p,t[6]=a*u,t[10]=v*f+h}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(eK,e,tK)}lookAt(e,t,i){const r=this.elements;return ws.subVectors(e,t),ws.lengthSq()===0&&(ws.z=1),ws.normalize(),dl.crossVectors(i,ws),dl.lengthSq()===0&&(Math.abs(i.z)===1?ws.x+=1e-4:ws.z+=1e-4,ws.normalize(),dl.crossVectors(i,ws)),dl.normalize(),$m.crossVectors(ws,dl),r[0]=dl.x,r[4]=$m.x,r[8]=ws.x,r[1]=dl.y,r[5]=$m.y,r[9]=ws.y,r[2]=dl.z,r[6]=$m.z,r[10]=ws.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[4],l=i[8],c=i[12],u=i[1],f=i[5],h=i[9],p=i[13],m=i[2],v=i[6],A=i[10],y=i[14],x=i[3],b=i[7],_=i[11],T=i[15],M=r[0],I=r[4],R=r[8],w=r[12],E=r[1],F=r[5],L=r[9],z=r[13],V=r[2],j=r[6],N=r[10],Q=r[14],W=r[3],ee=r[7],H=r[11],ye=r[15];return s[0]=o*M+a*E+l*V+c*W,s[4]=o*I+a*F+l*j+c*ee,s[8]=o*R+a*L+l*N+c*H,s[12]=o*w+a*z+l*Q+c*ye,s[1]=u*M+f*E+h*V+p*W,s[5]=u*I+f*F+h*j+p*ee,s[9]=u*R+f*L+h*N+p*H,s[13]=u*w+f*z+h*Q+p*ye,s[2]=m*M+v*E+A*V+y*W,s[6]=m*I+v*F+A*j+y*ee,s[10]=m*R+v*L+A*N+y*H,s[14]=m*w+v*z+A*Q+y*ye,s[3]=x*M+b*E+_*V+T*W,s[7]=x*I+b*F+_*j+T*ee,s[11]=x*R+b*L+_*N+T*H,s[15]=x*w+b*z+_*Q+T*ye,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[4],r=e[8],s=e[12],o=e[1],a=e[5],l=e[9],c=e[13],u=e[2],f=e[6],h=e[10],p=e[14],m=e[3],v=e[7],A=e[11],y=e[15];return m*(+s*l*f-r*c*f-s*a*h+i*c*h+r*a*p-i*l*p)+v*(+t*l*p-t*c*h+s*o*h-r*o*p+r*c*u-s*l*u)+A*(+t*c*f-t*a*p-s*o*f+i*o*p+s*a*u-i*c*u)+y*(-r*a*u-t*l*f+t*a*h+r*o*f-i*o*h+i*l*u)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=i),this}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=e[10],p=e[11],m=e[12],v=e[13],A=e[14],y=e[15],x=f*A*c-v*h*c+v*l*p-a*A*p-f*l*y+a*h*y,b=m*h*c-u*A*c-m*l*p+o*A*p+u*l*y-o*h*y,_=u*v*c-m*f*c+m*a*p-o*v*p-u*a*y+o*f*y,T=m*f*l-u*v*l-m*a*h+o*v*h+u*a*A-o*f*A,M=t*x+i*b+r*_+s*T;if(M===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const I=1/M;return e[0]=x*I,e[1]=(v*h*s-f*A*s-v*r*p+i*A*p+f*r*y-i*h*y)*I,e[2]=(a*A*s-v*l*s+v*r*c-i*A*c-a*r*y+i*l*y)*I,e[3]=(f*l*s-a*h*s-f*r*c+i*h*c+a*r*p-i*l*p)*I,e[4]=b*I,e[5]=(u*A*s-m*h*s+m*r*p-t*A*p-u*r*y+t*h*y)*I,e[6]=(m*l*s-o*A*s-m*r*c+t*A*c+o*r*y-t*l*y)*I,e[7]=(o*h*s-u*l*s+u*r*c-t*h*c-o*r*p+t*l*p)*I,e[8]=_*I,e[9]=(m*f*s-u*v*s-m*i*p+t*v*p+u*i*y-t*f*y)*I,e[10]=(o*v*s-m*a*s+m*i*c-t*v*c-o*i*y+t*a*y)*I,e[11]=(u*a*s-o*f*s-u*i*c+t*f*c+o*i*p-t*a*p)*I,e[12]=T*I,e[13]=(u*v*r-m*f*r+m*i*h-t*v*h-u*i*A+t*f*A)*I,e[14]=(m*a*r-o*v*r-m*i*l+t*v*l+o*i*A-t*a*A)*I,e[15]=(o*f*r-u*a*r+u*i*l-t*f*l-o*i*h+t*a*h)*I,this}scale(e){const t=this.elements,i=e.x,r=e.y,s=e.z;return t[0]*=i,t[4]*=r,t[8]*=s,t[1]*=i,t[5]*=r,t[9]*=s,t[2]*=i,t[6]*=r,t[10]*=s,t[3]*=i,t[7]*=r,t[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,i,r))}makeTranslation(e,t,i){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const i=Math.cos(t),r=Math.sin(t),s=1-i,o=e.x,a=e.y,l=e.z,c=s*o,u=s*a;return this.set(c*o+i,c*a-r*l,c*l+r*a,0,c*a+r*l,u*a+i,u*l-r*o,0,c*l-r*a,u*l+r*o,s*l*l+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,r,s,o){return this.set(1,i,s,0,e,1,o,0,t,r,1,0,0,0,0,1),this}compose(e,t,i){const r=this.elements,s=t._x,o=t._y,a=t._z,l=t._w,c=s+s,u=o+o,f=a+a,h=s*c,p=s*u,m=s*f,v=o*u,A=o*f,y=a*f,x=l*c,b=l*u,_=l*f,T=i.x,M=i.y,I=i.z;return r[0]=(1-(v+y))*T,r[1]=(p+_)*T,r[2]=(m-b)*T,r[3]=0,r[4]=(p-_)*M,r[5]=(1-(h+y))*M,r[6]=(A+x)*M,r[7]=0,r[8]=(m+b)*I,r[9]=(A-x)*I,r[10]=(1-(h+v))*I,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,i){const r=this.elements;let s=lf.set(r[0],r[1],r[2]).length();const o=lf.set(r[4],r[5],r[6]).length(),a=lf.set(r[8],r[9],r[10]).length();this.determinant()<0&&(s=-s),e.x=r[12],e.y=r[13],e.z=r[14],po.copy(this);const c=1/s,u=1/o,f=1/a;return po.elements[0]*=c,po.elements[1]*=c,po.elements[2]*=c,po.elements[4]*=u,po.elements[5]*=u,po.elements[6]*=u,po.elements[8]*=f,po.elements[9]*=f,po.elements[10]*=f,t.setFromRotationMatrix(po),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=Ko){const l=this.elements,c=2*s/(t-e),u=2*s/(i-r),f=(t+e)/(t-e),h=(i+r)/(i-r);let p,m;if(a===Ko)p=-(o+s)/(o-s),m=-2*o*s/(o-s);else if(a===Vg)p=-o/(o-s),m=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=c,l[4]=0,l[8]=f,l[12]=0,l[1]=0,l[5]=u,l[9]=h,l[13]=0,l[2]=0,l[6]=0,l[10]=p,l[14]=m,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,o,a=Ko){const l=this.elements,c=1/(t-e),u=1/(i-r),f=1/(o-s),h=(t+e)*c,p=(i+r)*u;let m,v;if(a===Ko)m=(o+s)*f,v=-2*f;else if(a===Vg)m=s*f,v=-1*f;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*c,l[4]=0,l[8]=0,l[12]=-h,l[1]=0,l[5]=2*u,l[9]=0,l[13]=-p,l[2]=0,l[6]=0,l[10]=v,l[14]=-m,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<16;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<16;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e[t+9]=i[9],e[t+10]=i[10],e[t+11]=i[11],e[t+12]=i[12],e[t+13]=i[13],e[t+14]=i[14],e[t+15]=i[15],e}}const lf=new K,po=new Ct,eK=new K(0,0,0),tK=new K(1,1,1),dl=new K,$m=new K,ws=new K,dS=new Ct,hS=new Xn;class Pi{constructor(e=0,t=0,i=0,r=Pi.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=i,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,i,r=this._order){return this._x=e,this._y=t,this._z=i,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,i=!0){const r=e.elements,s=r[0],o=r[4],a=r[8],l=r[1],c=r[5],u=r[9],f=r[2],h=r[6],p=r[10];switch(t){case"XYZ":this._y=Math.asin(Ot(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-u,p),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(h,c),this._z=0);break;case"YXZ":this._x=Math.asin(-Ot(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(a,p),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-f,s),this._z=0);break;case"ZXY":this._x=Math.asin(Ot(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(-f,p),this._z=Math.atan2(-o,c)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Ot(f,-1,1)),Math.abs(f)<.9999999?(this._x=Math.atan2(h,p),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,c));break;case"YZX":this._z=Math.asin(Ot(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-u,c),this._y=Math.atan2(-f,s)):(this._x=0,this._y=Math.atan2(a,p));break;case"XZY":this._z=Math.asin(-Ot(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(h,c),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-u,p),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,i===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,i){return dS.makeRotationFromQuaternion(e),this.setFromRotationMatrix(dS,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return hS.setFromEuler(this),this.setFromQuaternion(hS,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Pi.DEFAULT_ORDER="XYZ";class t4{constructor(){this.mask=1}set(e){this.mask=(1<<e|0)>>>0}enable(e){this.mask|=1<<e|0}enableAll(){this.mask=-1}toggle(e){this.mask^=1<<e|0}disable(e){this.mask&=~(1<<e|0)}disableAll(){this.mask=0}test(e){return(this.mask&e.mask)!==0}
vendor: 5,575 bytes, line 79
79isEnabled(e){return(this.mask&(1<<e|0))!==0}}let nK=0;const pS=new K,cf=new Xn,ya=new Ct,Km=new K,wh=new K,iK=new K,rK=new Xn,mS=new K(1,0,0),gS=new K(0,1,0),AS=new K(0,0,1),vS={type:"added"},sK={type:"removed"},uf={type:"childadded",child:null},h3={type:"childremoved",child:null};class Wt extends ac{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:nK++}),this.uuid=So(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=Wt.DEFAULT_UP.clone();const e=new K,t=new Pi,i=new Xn,r=new K(1,1,1);function s(){i.setFromEuler(t,!1)}function o(){t.setFromQuaternion(i,void 0,!1)}t._onChange(s),i._onChange(o),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:e},rotation:{configurable:!0,enumerable:!0,value:t},quaternion:{configurable:!0,enumerable:!0,value:i},scale:{configurable:!0,enumerable:!0,value:r},modelViewMatrix:{value:new Ct},normalMatrix:{value:new Lt}}),this.matrix=new Ct,this.matrixWorld=new Ct,this.matrixAutoUpdate=Wt.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldAutoUpdate=Wt.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.layers=new t4,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeShadow(){}onAfterShadow(){}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(e),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){return this.quaternion.premultiply(e),this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,!0)}setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){return cf.setFromAxisAngle(e,t),this.quaternion.multiply(cf),this}rotateOnWorldAxis(e,t){return cf.setFromAxisAngle(e,t),this.quaternion.premultiply(cf),this}rotateX(e){return this.rotateOnAxis(mS,e)}rotateY(e){return this.rotateOnAxis(gS,e)}rotateZ(e){return this.rotateOnAxis(AS,e)}translateOnAxis(e,t){return pS.copy(e).applyQuaternion(this.quaternion),this.position.add(pS.multiplyScalar(t)),this}translateX(e){return this.translateOnAxis(mS,e)}translateY(e){return this.translateOnAxis(gS,e)}translateZ(e){return this.translateOnAxis(AS,e)}localToWorld(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(ya.copy(this.matrixWorld).invert())}lookAt(e,t,i){e.isVector3?Km.copy(e):Km.set(e,t,i);const r=this.parent;this.updateWorldMatrix(!0,!1),wh.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?ya.lookAt(wh,Km,this.up):ya.lookAt(Km,wh,this.up),this.quaternion.setFromRotationMatrix(ya),r&&(ya.extractRotation(r.matrixWorld),cf.setFromRotationMatrix(ya),this.quaternion.premultiply(cf.invert()))}add(e){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.add(arguments[t]);return this}return e===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",e),this):(e&&e.isObject3D?(e.removeFromParent(),e.parent=this,this.children.push(e),e.dispatchEvent(vS),uf.child=e,this.dispatchEvent(uf),uf.child=null):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",e),this)}remove(e){if(arguments.length>1){for(let i=0;i<arguments.length;i++)this.remove(arguments[i]);return this}const t=this.children.indexOf(e);return t!==-1&&(e.parent=null,this.children.splice(t,1),e.dispatchEvent(sK),h3.child=e,this.dispatchEvent(h3),h3.child=null),this}removeFromParent(){const e=this.parent;return e!==null&&e.remove(this),this}clear(){return this.remove(...this.children)}attach(e){return this.updateWorldMatrix(!0,!1),ya.copy(this.matrixWorld).invert(),e.parent!==null&&(e.parent.updateWorldMatrix(!0,!1),ya.multiply(e.parent.matrixWorld)),e.applyMatrix4(ya),e.removeFromParent(),e.parent=this,this.children.push(e),e.updateWorldMatrix(!1,!0),e.dispatchEvent(vS),uf.child=e,this.dispatchEvent(uf),uf.child=null,this}getObjectById(e){return this.getObjectByProperty("id",e)}getObjectByName(e){return this.getObjectByProperty("name",e)}getObjectByProperty(e,t){if(this[e]===t)return this;for(let i=0,r=this.children.length;i<r;i++){const o=this.children[i].getObjectByProperty(e,t);if(o!==void 0)return o}}getObjectsByProperty(e,t,i=[]){this[e]===t&&i.push(this);const r=this.children;for(let s=0,o=r.length;s<o;s++)r[s].getObjectsByProperty(e,t,i);return i}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(wh,e,iK),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(wh,rK,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);const t=this.children;for(let i=0,r=t.length;i<r;i++)t[i].traverse(e)}traverseVisible(e){if(this.visible===!1)return;e(this);const t=this.children;for(let i=0,r=t.length;i<r;i++)t[i].traverseVisible(e)}traverseAncestors(e){const t=this.parent;t!==null&&(e(t),t.traverseAncestors(e))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(e){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||e)&&(this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix
vendor: 7,437 bytes, line 79
79):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),this.matrixWorldNeedsUpdate=!1,e=!0);const t=this.children;for(let i=0,r=t.length;i<r;i++)t[i].updateMatrixWorld(e)}updateWorldMatrix(e,t){const i=this.parent;if(e===!0&&i!==null&&i.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),t===!0){const r=this.children;for(let s=0,o=r.length;s<o;s++)r[s].updateWorldMatrix(!1,!0)}}toJSON(e){const t=e===void 0||typeof e=="string",i={};t&&(e={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},i.metadata={version:4.6,type:"Object",generator:"Object3D.toJSON"});const r={};r.uuid=this.uuid,r.type=this.type,this.name!==""&&(r.name=this.name),this.castShadow===!0&&(r.castShadow=!0),this.receiveShadow===!0&&(r.receiveShadow=!0),this.visible===!1&&(r.visible=!1),this.frustumCulled===!1&&(r.frustumCulled=!1),this.renderOrder!==0&&(r.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type="BatchedMesh",r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.visibility=this._visibility,r.active=this._active,r.bounds=this._bounds.map(a=>({boxInitialized:a.boxInitialized,boxMin:a.box.min.toArray(),boxMax:a.box.max.toArray(),sphereInitialized:a.sphereInitialized,sphereRadius:a.sphere.radius,sphereCenter:a.sphere.center.toArray()})),r.maxInstanceCount=this._maxInstanceCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.geometryCount=this._geometryCount,r.matricesTexture=this._matricesTexture.toJSON(e),this._colorsTexture!==null&&(r.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(r.boundingSphere={center:r.boundingSphere.center.toArray(),radius:r.boundingSphere.radius}),this.boundingBox!==null&&(r.boundingBox={min:r.boundingBox.min.toArray(),max:r.boundingBox.max.toArray()}));function s(a,l){return a[l.uuid]===void 0&&(a[l.uuid]=l.toJSON(e)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=s(e.geometries,this.geometry);const a=this.geometry.parameters;if(a!==void 0&&a.shapes!==void 0){const l=a.shapes;if(Array.isArray(l))for(let c=0,u=l.length;c<u;c++){const f=l[c];s(e.shapes,f)}else s(e.shapes,l)}}if(this.isSkinnedMesh&&(r.bindMode=this.bindMode,r.bindMatrix=this.bindMatrix.toArray(),this.skeleton!==void 0&&(s(e.skeletons,this.skeleton),r.skeleton=this.skeleton.uuid)),this.material!==void 0)if(Array.isArray(this.material)){const a=[];for(let l=0,c=this.material.length;l<c;l++)a.push(s(e.materials,this.material[l]));r.material=a}else r.material=s(e.materials,this.material);if(this.children.length>0){r.children=[];for(let a=0;a<this.children.length;a++)r.children.push(this.children[a].toJSON(e).object)}if(this.animations.length>0){r.animations=[];for(let a=0;a<this.animations.length;a++){const l=this.animations[a];r.animations.push(s(e.animations,l))}}if(t){const a=o(e.geometries),l=o(e.materials),c=o(e.textures),u=o(e.images),f=o(e.shapes),h=o(e.skeletons),p=o(e.animations),m=o(e.nodes);a.length>0&&(i.geometries=a),l.length>0&&(i.materials=l),c.length>0&&(i.textures=c),u.length>0&&(i.images=u),f.length>0&&(i.shapes=f),h.length>0&&(i.skeletons=h),p.length>0&&(i.animations=p),m.length>0&&(i.nodes=m)}return i.object=r,i;function o(a){const l=[];for(const c in a){const u=a[c];delete u.metadata,l.push(u)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let i=0;i<e.children.length;i++){const r=e.children[i];this.add(r.clone())}return this}}Wt.DEFAULT_UP=new K(0,1,0);Wt.DEFAULT_MATRIX_AUTO_UPDATE=!0;Wt.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;const mo=new K,_a=new K,p3=new K,ba=new K,ff=new K,df=new K,yS=new K,m3=new K,g3=new K,A3=new K,v3=new Vt,y3=new Vt,_3=new Vt;class Js{constructor(e=new K,t=new K,i=new K){this.a=e,this.b=t,this.c=i}static getNormal(e,t,i,r){r.subVectors(i,t),mo.subVectors(e,t),r.cross(mo);const s=r.lengthSq();return s>0?r.multiplyScalar(1/Math.sqrt(s)):r.set(0,0,0)}static getBarycoord(e,t,i,r,s){mo.subVectors(r,t),_a.subVectors(i,t),p3.subVectors(e,t);const o=mo.dot(mo),a=mo.dot(_a),l=mo.dot(p3),c=_a.dot(_a),u=_a.dot(p3),f=o*c-a*a;if(f===0)return s.set(0,0,0),null;const h=1/f,p=(c*l-a*u)*h,m=(o*u-a*l)*h;return s.set(1-p-m,m,p)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,ba)===null?!1:ba.x>=0&&ba.y>=0&&ba.x+ba.y<=1}static getInterpolation(e,t,i,r,s,o,a,l){return this.getBarycoord(e,t,i,r,ba)===null?(l.x=0,l.y=0,"z"in l&&(l.z=0),"w"in l&&(l.w=0),null):(l.setScalar(0),l.addScaledVector(s,ba.x),l.addScaledVector(o,ba.y),l.addScaledVector(a,ba.z),l)}static getInterpolatedAttribute(e,t,i,r,s,o){return v3.setScalar(0),y3.setScalar(0),_3.setScalar(0),v3.fromBufferAttribute(e,t),y3.fromBufferAttribute(e,i),_3.fromBufferAttribute(e,r),o.setScalar(0),o.addScaledVector(v3,s.x),o.addScaledVector(y3,s.y),o.addScaledVector(_3,s.z),o}static isFrontFacing(e,t,i,r){return mo.subVectors(i,t),_a.subVectors(e,t),mo.cross(_a).dot(r)<0}set(e,t,i){return this.a.copy(e),this.b.copy(t),this.c.copy(i),this}setFromPointsAndIndices(e,t,i,r){return this.a.copy(e[t]),this.b.copy(e[i]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,i,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,i),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return mo.subVectors(this.c,this.b),_a.subVectors(this.a,this.b),mo.cross(_a).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return Js.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return Js.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return Js.getInterpolation(e,this.a,this.b,this.c,t,i,r,s
vendor: 7,150 bytes, line 79
79)}containsPoint(e){return Js.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return Js.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const i=this.a,r=this.b,s=this.c;let o,a;ff.subVectors(r,i),df.subVectors(s,i),m3.subVectors(e,i);const l=ff.dot(m3),c=df.dot(m3);if(l<=0&&c<=0)return t.copy(i);g3.subVectors(e,r);const u=ff.dot(g3),f=df.dot(g3);if(u>=0&&f<=u)return t.copy(r);const h=l*f-u*c;if(h<=0&&l>=0&&u<=0)return o=l/(l-u),t.copy(i).addScaledVector(ff,o);A3.subVectors(e,s);const p=ff.dot(A3),m=df.dot(A3);if(m>=0&&p<=m)return t.copy(s);const v=p*c-l*m;if(v<=0&&c>=0&&m<=0)return a=c/(c-m),t.copy(i).addScaledVector(df,a);const A=u*m-p*f;if(A<=0&&f-u>=0&&p-m>=0)return yS.subVectors(s,r),a=(f-u)/(f-u+(p-m)),t.copy(r).addScaledVector(yS,a);const y=1/(A+v+h);return o=v*y,a=h*y,t.copy(i).addScaledVector(ff,o).addScaledVector(df,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const ZI={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},hl={h:0,s:0,l:0},Zm={h:0,s:0,l:0};function b3(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*6*(2/3-t):n}class ke{constructor(e,t,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,i)}set(e,t,i){if(t===void 0&&i===void 0){const r=e;r&&r.isColor?this.copy(r):typeof r=="number"?this.setHex(r):typeof r=="string"&&this.setStyle(r)}else this.setRGB(e,t,i);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=En){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,Xt.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=Xt.workingColorSpace){return this.r=e,this.g=t,this.b=i,Xt.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=Xt.workingColorSpace){if(e=e4(e,1),t=Ot(t,0,1),i=Ot(i,0,1),t===0)this.r=this.g=this.b=i;else{const s=i<=.5?i*(1+t):i+t-i*t,o=2*i-s;this.r=b3(o,s,e+1/3),this.g=b3(o,s,e),this.b=b3(o,s,e-1/3)}return Xt.toWorkingColorSpace(this,r),this}setStyle(e,t=En){function i(s){s!==void 0&&parseFloat(s)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let s;const o=r[1],a=r[2];switch(o){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,t);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,t);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){const s=r[1],o=s.length;if(o===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,t);if(o===6)return this.setHex(parseInt(s,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=En){const i=ZI[e.toLowerCase()];return i!==void 0?this.setHex(i,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Qa(e.r),this.g=Qa(e.g),this.b=Qa(e.b),this}copyLinearToSRGB(e){return this.r=nd(e.r),this.g=nd(e.g),this.b=nd(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=En){return Xt.fromWorkingColorSpace(yr.copy(this),e),Math.round(Ot(yr.r*255,0,255))*65536+Math.round(Ot(yr.g*255,0,255))*256+Math.round(Ot(yr.b*255,0,255))}getHexString(e=En){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=Xt.workingColorSpace){Xt.fromWorkingColorSpace(yr.copy(this),t);const i=yr.r,r=yr.g,s=yr.b,o=Math.max(i,r,s),a=Math.min(i,r,s);let l,c;const u=(a+o)/2;if(a===o)l=0,c=0;else{const f=o-a;switch(c=u<=.5?f/(o+a):f/(2-o-a),o){case i:l=(r-s)/f+(r<s?6:0);break;case r:l=(s-i)/f+2;break;case s:l=(i-r)/f+4;break}l/=6}return e.h=l,e.s=c,e.l=u,e}getRGB(e,t=Xt.workingColorSpace){return Xt.fromWorkingColorSpace(yr.copy(this),t),e.r=yr.r,e.g=yr.g,e.b
vendor: 3,447 bytes, line 79
79=yr.b,e}getStyle(e=En){Xt.fromWorkingColorSpace(yr.copy(this),e);const t=yr.r,i=yr.g,r=yr.b;return e!==En?`color(${e} ${t.toFixed(3)} ${i.toFixed(3)} ${r.toFixed(3)})`:`rgb(${Math.round(t*255)},${Math.round(i*255)},${Math.round(r*255)})`}offsetHSL(e,t,i){return this.getHSL(hl),this.setHSL(hl.h+e,hl.s+t,hl.l+i)}add(e){return this.r+=e.r,this.g+=e.g,this.b+=e.b,this}addColors(e,t){return this.r=e.r+t.r,this.g=e.g+t.g,this.b=e.b+t.b,this}addScalar(e){return this.r+=e,this.g+=e,this.b+=e,this}sub(e){return this.r=Math.max(0,this.r-e.r),this.g=Math.max(0,this.g-e.g),this.b=Math.max(0,this.b-e.b),this}multiply(e){return this.r*=e.r,this.g*=e.g,this.b*=e.b,this}multiplyScalar(e){return this.r*=e,this.g*=e,this.b*=e,this}lerp(e,t){return this.r+=(e.r-this.r)*t,this.g+=(e.g-this.g)*t,this.b+=(e.b-this.b)*t,this}lerpColors(e,t,i){return this.r=e.r+(t.r-e.r)*i,this.g=e.g+(t.g-e.g)*i,this.b=e.b+(t.b-e.b)*i,this}lerpHSL(e,t){this.getHSL(hl),e.getHSL(Zm);const i=E0(hl.h,Zm.h,t),r=E0(hl.s,Zm.s,t),s=E0(hl.l,Zm.l,t);return this.setHSL(i,r,s),this}setFromVector3(e){return this.r=e.x,this.g=e.y,this.b=e.z,this}applyMatrix3(e){const t=this.r,i=this.g,r=this.b,s=e.elements;return this.r=s[0]*t+s[3]*i+s[6]*r,this.g=s[1]*t+s[4]*i+s[7]*r,this.b=s[2]*t+s[5]*i+s[8]*r,this}equals(e){return e.r===this.r&&e.g===this.g&&e.b===this.b}fromArray(e,t=0){return this.r=e[t],this.g=e[t+1],this.b=e[t+2],this}toArray(e=[],t=0){return e[t]=this.r,e[t+1]=this.g,e[t+2]=this.b,e}fromBufferAttribute(e,t){return this.r=e.getX(t),this.g=e.getY(t),this.b=e.getZ(t),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}}const yr=new ke;ke.NAMES=ZI;let oK=0;class Eo extends ac{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:oK++}),this.uuid=So(),this.name="",this.type="Material",this.blending=bu,this.side=Io,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.alphaHash=!1,this.blendSrc=Z_,this.blendDst=J_,this.blendEquation=eu,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.blendColor=new ke(0,0,0),this.blendAlpha=0,this.depthFunc=Cd,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=sS,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=nf,this.stencilZFail=nf,this.stencilZPass=nf,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const i=e[t];if(i===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(i):r&&r.isVector3&&i&&i.isVector3?r.copy(i):this[t]=i}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const i={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};
vendor: 8,832 bytes, line 79
79i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(i.dispersion=this.dispersion),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapRotation!==void 0&&(i.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==bu&&(i.blending=this.blending),this.side!==Io&&(i.side=this.side),this.vertexColors===!0&&(i.vertexColors=!0),this.opacity<1&&(i.opacity=this.opacity),this.transparent===!0&&(i.transparent=!0),this.blendSrc!==Z_&&(i.blendSrc=this.blendSrc),this.blendDst!==J_&&(i.blendDst=this.blendDst),this.blendEquation!==eu&&(i.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(i.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(i.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(i.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(i.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(i.blendAlpha=this.blendAlpha),this.depthFunc!==Cd&&(i.depthFunc=this.depthFunc),this.depthTest===!1&&(i.depthTest=this.depthTest),this.depthWrite===!1&&(i.depthWrite=this.depthWrite),this.colorWrite===!1&&(i.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(i.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==sS&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==nf&&(i.stencilFail=this.stencilFail),this.stencilZFail!==nf&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==nf&&(i.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(i.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(i.rotation=this.rotation),this.polygonOffset===!0&&(i.polygonOffset=!0),this.polygonOffsetFactor!==0&&(i.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(i.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(i.linewidth=this.linewidth),this.dashSize!==void 0&&(i.dashSize=this.dashSize),this.gapSize!==void 0&&(i.gapSize=this.gapSize),this.scale!==void 0&&(i.scale=this.scale),this.dithering===!0&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),this.alphaHash===!0&&(i.alphaHash=!0),this.alphaToCoverage===!0&&(i.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(i.premultipliedAlpha=!0),this.forceSinglePass===!0&&(i.forceSinglePass=!0),this.wireframe===!0&&(i.wireframe=!0),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(i.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(i.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(i.flatShading=!0),this.visible===!1&&(i.visible=!1),this.toneMapped===!1&&(i.toneMapped=!1),this.fog===!1&&(i.fog=!1),Object.keys(this.userData).length>0&&(i.userData=this.userData);function r(s){const o=[];for(const a in s){const l=s[a];delete l.metadata,o.push(l)}return o}if(t){const s=r(e.textures),o=r(e.images);s.length>0&&(i.textures=s),o.length>0&&(i.images=o)}return i}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let i=null;if(t!==null){const r=t.length;i=new Array(r);for(let s=0;s!==r;++s)i[s]=t[s].clone()}return this.clippingPlanes=i,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipSh
vendor: 11,037 bytes, line 79
79adows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}onBuild(){console.warn("Material: onBuild() has been removed.")}}class Jr extends Eo{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new ke(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 Pi,this.combine=MI,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const Oa=aK();function aK(){const n=new ArrayBuffer(4),e=new Float32Array(n),t=new Uint32Array(n),i=new Uint32Array(512),r=new Uint32Array(512);for(let l=0;l<256;++l){const c=l-127;c<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):c<-14?(i[l]=1024>>-c-14,i[l|256]=1024>>-c-14|32768,r[l]=-c-1,r[l|256]=-c-1):c<=15?(i[l]=c+15<<10,i[l|256]=c+15<<10|32768,r[l]=13,r[l|256]=13):c<128?(i[l]=31744,i[l|256]=64512,r[l]=24,r[l|256]=24):(i[l]=31744,i[l|256]=64512,r[l]=13,r[l|256]=13)}const s=new Uint32Array(2048),o=new Uint32Array(64),a=new Uint32Array(64);for(let l=1;l<1024;++l){let c=l<<13,u=0;for(;(c&8388608)===0;)c<<=1,u-=8388608;c&=-8388609,u+=947912704,s[l]=c|u}for(let l=1024;l<2048;++l)s[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)o[l]=l<<23;o[31]=1199570944,o[32]=2147483648;for(let l=33;l<63;++l)o[l]=2147483648+(l-32<<23);o[63]=3347054592;for(let l=1;l<64;++l)l!==32&&(a[l]=1024);return{floatView:e,uint32View:t,baseTable:i,shiftTable:r,mantissaTable:s,exponentTable:o,offsetTable:a}}function lK(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=Ot(n,-65504,65504),Oa.floatView[0]=n;const e=Oa.uint32View[0],t=e>>23&511;return Oa.baseTable[t]+((e&8388607)>>Oa.shiftTable[t])}function cK(n){const e=n>>10;return Oa.uint32View[0]=Oa.mantissaTable[Oa.offsetTable[e]+(n&1023)]+Oa.exponentTable[e],Oa.floatView[0]}const Jm={toHalfFloat:lK,fromHalfFloat:cK},Si=new K,e1=new Re;let uK=0;class Gi{constructor(e,t,i=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:uK++}),this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=i,this.usage=Tb,this.updateRanges=[],this.gpuType=Zt,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,i){e*=this.itemSize,i*=t.itemSize;for(let r=0,s=this.itemSize;r<s;r++)this.array[e+r]=t.array[i+r];return this}copyArray(e){return this.array.set(e),this}applyMatrix3(e){if(this.itemSize===2)for(let t=0,i=this.count;t<i;t++)e1.fromBufferAttribute(this,t),e1.applyMatrix3(e),this.setXY(t,e1.x,e1.y);else if(this.itemSize===3)for(let t=0,i=this.count;t<i;t++)Si.fromBufferAttribute(this,t),Si.applyMatrix3(e),this.setXYZ(t,Si.x,Si.y,Si.z);return this}applyMatrix4(e){for(let t=0,i=this.count;t<i;t++)Si.fromBufferAttribute(this,t),Si.applyMatrix4(e),this.setXYZ(t,Si.x,Si.y,Si.z);return this}applyNormalMatrix(e){for(let t=0,i=this.count;t<i;t++)Si.fromBufferAttribute(this,t),Si.applyNormalMatrix(e),this.setXYZ(t,Si.x,Si.y,Si.z);return this}transformDirection(e){for(let t=0,i=this.count;t<i;t++)Si.fromBufferAttribute(this,t),Si.transformDirection(e),this.setXYZ(t,Si.x,Si.y,Si.z);return this}set(e,t=0){return this.array.set(e,t),this}getComponent(e,t){let i=this.array[e*this.itemSize+t];return this.normalized&&(i=_o(i,this.array)),i}setComponent(e,t,i){return this.normalized&&(i=_n(i,this.array)),this.array[e*this.itemSize+t]=i,this}getX(e){let t=this.array[e*this.itemSize];return this.normalized&&(t=_o(t,this.array)),t}setX(e,t){return this.normalized&&(t=_n(t,this.array)),this.array[e*this.itemSize]=t,this}getY(e){let t=this.array[e*this.itemSize+1];return this.normalized&&(t=_o(t,this.array)),t}setY(e,t){return this.normalized&&(t=_n(t,this.array)),this.array[e*this.itemSize+1]=t,this}getZ(e){let t=this.array[e*this.itemSize+2];return this.normalized&&(t=_o(t,this.array)),t}setZ(e,t){return this.normalized&&(t=_n(t,this.array)),this.array[e*this.itemSize+2]=t,this}getW(e){let t=this.array[e*this.itemSize+3];return this.normalized&&(t=_o(t,this.array)),t}setW(e,t){return this.normalized&&(t=_n(t,this.array)),this.array[e*this.itemSize+3]=t,this}setXY(e,t,i){return e*=this.itemSize,this.normalized&&(t=_n(t,this.array),i=_n(i,this.array)),this.array[e+0]=t,this.array[e+1]=i,this}setXYZ(e,t,i,r){return e*=this.itemSize,this.normalized&&(t=_n(t,this.array),i=_n(i,this.array),r=_n(r,this.array)),this.array[e+0]=t,this.array[e+1]=i,this.array[e+2]=r,this}setXYZW(e,t,i,r,s){return e*=this.itemSize,this.normalized&&(t=_n(t,this.array),i=_n(i,this.array),r=_n(r,this.array),s=_n(s,this.array)),this.array[e+0]=t,this.array[e+1]=i,this.array[e+2]=r,this.array[e+3]=s,this}onUpload(e){return this.onUploadCallback=e,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const e={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};return this.name!==""&&(e.name=this.name),this.usage!==Tb&&(e.usage=this.usage),e}}class JI extends Gi{constructor(e,t,i){super(new Uint16Array(e),t,i)}}class eP extends Gi{constructor(e,t,i){super(new Uint32Array(e),t,i)}}class en extends Gi{constructor(e,t,i){super(new Float32Array(e),t,i)}}let fK=0;const js=new Ct,x3=new Wt,hf=new K,Ss=new Hs,Sh=new Hs,Xi=new K;class Hn extends ac{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,"id",{value:fK++}),this.uuid=So(),this.name="",this.type="BufferGeometry",this.index=null,this.indirect=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(e){return Array.isArray(e)?this.index=new(XI(e)?eP:JI)(e,1):this.index=e,this}setIndirect(e){return this.indirect=e,this}getIndirect(){return this.indirect}getAttribute(e){return this.attributes[e]}setAttribute(e,t){return this.attributes[e]=t,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return this.attributes[e]!==void 0}addGroup(e,t,i=0){this.groups.push({start:e,count:t,materialIndex:i})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e,this.drawRange.count=t}applyMatrix4(e){const t=this.attributes.position;t!==void 0&&(t.applyMatrix4(e),t.needsUpdate=!0);const i=this.attributes.normal;if(i!==void 0){const s=new Lt().getNormalMatrix(e);i.applyNormalMatrix(s),i.needsUpdate=!0}const r=this.attributes.tangent;return r!==void 0&&(r.transformDirection(e),r.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}applyQuaternion(e){return js.makeRotationFromQuaternion(e),this.applyMatrix4(js),this}rotateX(e){return js.makeRotationX(e),this.applyMatrix4(js),this}rotateY(e){return js.makeRotationY(e),this.applyMatrix4(js),this}rotateZ(e){return js.makeRotationZ(e),this.applyMatrix4(js),this}translate(e,t,i){return js.makeTranslation(e,t,i),this.applyMatrix4(js),this}scale(e,t,i){return js.makeScale(e,t,i),this.applyMatrix4(js),this}lookAt(e){return x3.lookAt(e),x3.updateMatrix(),this.applyMatrix4(x3.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(hf).negate(),this.translate(hf.x,hf.y,hf.z),this}setFromPoints(e){const t=this.getAttribute("position");if(t===void 0){const i=[];for(let r=0,s=e.length;r<s;r++){const o=e[r];i.push(o.x,o.y,o.z||0)}this.setAttribute("position",new en(i,3))}else{const i=Math.min(e.length,t.count);for(let r=0;r<i;r++){const s=e[r];t.setXYZ(r,s.x,s.y,s.z||0)}e.length>t.count&&console.warn("THREE.BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),t.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Hs);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error("THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),this.boundingBox.set(new K(-1/0,-1/0,-1/0),new K(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let i=0,r=t.length;i<r;i++){const s=t[i];Ss.setFromBufferAttribute(s),this.morphTargetsRelative?(Xi.addVectors(this.boundingBox.min,Ss.min),this.boundingBox.expandByPoint(Xi),Xi.addVectors(this.boundingBox.max,Ss.max),this.boundingBox.expandByPoint(Xi)):(this.boundingBox.expandByPoint(Ss.min),this.boundingBox.expandByPoint(Ss.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 ao);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error("THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere.",this),this.boundingSphere.set(new K,1/0);return}if(e){const i=this.boundingSphere.center;if(Ss.setFromBufferAttribute(e),t)for(let s=0,o=t.length;s<o;s++){const a=t[s];Sh.setFromBufferAttribute(a),this.morphTargetsRelative?(Xi.addVectors(Ss.min,Sh.min),Ss.exp
vendor: 7,661 bytes, line 79
79andByPoint(Xi),Xi.addVectors(Ss.max,Sh.max),Ss.expandByPoint(Xi)):(Ss.expandByPoint(Sh.min),Ss.expandByPoint(Sh.max))}Ss.getCenter(i);let r=0;for(let s=0,o=e.count;s<o;s++)Xi.fromBufferAttribute(e,s),r=Math.max(r,i.distanceToSquared(Xi));if(t)for(let s=0,o=t.length;s<o;s++){const a=t[s],l=this.morphTargetsRelative;for(let c=0,u=a.count;c<u;c++)Xi.fromBufferAttribute(a,c),l&&(hf.fromBufferAttribute(e,c),Xi.add(hf)),r=Math.max(r,i.distanceToSquared(Xi))}this.boundingSphere.radius=Math.sqrt(r),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 e=this.index,t=this.attributes;if(e===null||t.position===void 0||t.normal===void 0||t.uv===void 0){console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");return}const i=t.position,r=t.normal,s=t.uv;this.hasAttribute("tangent")===!1&&this.setAttribute("tangent",new Gi(new Float32Array(4*i.count),4));const o=this.getAttribute("tangent"),a=[],l=[];for(let R=0;R<i.count;R++)a[R]=new K,l[R]=new K;const c=new K,u=new K,f=new K,h=new Re,p=new Re,m=new Re,v=new K,A=new K;function y(R,w,E){c.fromBufferAttribute(i,R),u.fromBufferAttribute(i,w),f.fromBufferAttribute(i,E),h.fromBufferAttribute(s,R),p.fromBufferAttribute(s,w),m.fromBufferAttribute(s,E),u.sub(c),f.sub(c),p.sub(h),m.sub(h);const F=1/(p.x*m.y-m.x*p.y);isFinite(F)&&(v.copy(u).multiplyScalar(m.y).addScaledVector(f,-p.y).multiplyScalar(F),A.copy(f).multiplyScalar(p.x).addScaledVector(u,-m.x).multiplyScalar(F),a[R].add(v),a[w].add(v),a[E].add(v),l[R].add(A),l[w].add(A),l[E].add(A))}let x=this.groups;x.length===0&&(x=[{start:0,count:e.count}]);for(let R=0,w=x.length;R<w;++R){const E=x[R],F=E.start,L=E.count;for(let z=F,V=F+L;z<V;z+=3)y(e.getX(z+0),e.getX(z+1),e.getX(z+2))}const b=new K,_=new K,T=new K,M=new K;function I(R){T.fromBufferAttribute(r,R),M.copy(T);const w=a[R];b.copy(w),b.sub(T.multiplyScalar(T.dot(w))).normalize(),_.crossVectors(M,w);const F=_.dot(l[R])<0?-1:1;o.setXYZW(R,b.x,b.y,b.z,F)}for(let R=0,w=x.length;R<w;++R){const E=x[R],F=E.start,L=E.count;for(let z=F,V=F+L;z<V;z+=3)I(e.getX(z+0)),I(e.getX(z+1)),I(e.getX(z+2))}}computeVertexNormals(){const e=this.index,t=this.getAttribute("position");if(t!==void 0){let i=this.getAttribute("normal");if(i===void 0)i=new Gi(new Float32Array(t.count*3),3),this.setAttribute("normal",i);else for(let h=0,p=i.count;h<p;h++)i.setXYZ(h,0,0,0);const r=new K,s=new K,o=new K,a=new K,l=new K,c=new K,u=new K,f=new K;if(e)for(let h=0,p=e.count;h<p;h+=3){const m=e.getX(h+0),v=e.getX(h+1),A=e.getX(h+2);r.fromBufferAttribute(t,m),s.fromBufferAttribute(t,v),o.fromBufferAttribute(t,A),u.subVectors(o,s),f.subVectors(r,s),u.cross(f),a.fromBufferAttribute(i,m),l.fromBufferAttribute(i,v),c.fromBufferAttribute(i,A),a.add(u),l.add(u),c.add(u),i.setXYZ(m,a.x,a.y,a.z),i.setXYZ(v,l.x,l.y,l.z),i.setXYZ(A,c.x,c.y,c.z)}else for(let h=0,p=t.count;h<p;h+=3)r.fromBufferAttribute(t,h+0),s.fromBufferAttribute(t,h+1),o.fromBufferAttribute(t,h+2),u.subVectors(o,s),f.subVectors(r,s),u.cross(f),i.setXYZ(h+0,u.x,u.y,u.z),i.setXYZ(h+1,u.x,u.y,u.z),i.setXYZ(h+2,u.x,u.y,u.z);this.normalizeNormals(),i.needsUpdate=!0}}normalizeNormals(){const e=this.attributes.normal;for(let t=0,i=e.count;t<i;t++)Xi.fromBufferAttribute(e,t),Xi.normalize(),e.setXYZ(t,Xi.x,Xi.y,Xi.z)}toNonIndexed(){function e(a,l){const c=a.array,u=a.itemSize,f=a.normalized,h=new c.constructor(l.length*u);let p=0,m=0;for(let v=0,A=l.length;v<A;v++){a.isInterleavedBufferAttribute?p=l[v]*a.data.stride+a.offset:p=l[v]*u;for(let y=0;y<u;y++)h[m++]=c[p++]}return new Gi(h,u,f)}if(this.index===null)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;const t=new Hn,i=this.index.array,r=this.attributes;for(const a in r){const l=r[a],c=e(l,i);t.setAttribute(a,c)}const s=this.morphAttributes;for(const a in s){const l=[],c=s[a];for(let u=0,f=c.length;u<f;u++){const h=c[u],p=e(h,i);l.push(p)}t.morphAttributes[a]=l}t.morphTargetsRelative=this.morphTargetsRelative;const o=this.groups;for(let a=0,l=o.length;a<l;a++){const c=o[a];t.addGroup(c.start,c.count,c.materialIndex)}return t}toJSON(){const e={metadata:{version:4.6,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(e.uuid=this.uuid,e.type=this.type,this.name!==""&&(e.name=this.name),Object.keys(this.userData).length>0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const c in l)l[c]!==void 0&&(e[c]=l[c]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const i=this.attributes;for(const l in i){const c=i[l];e.data.attributes[l]=c.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const c=this.morphAttributes[l],u=[];for(let f=0,h=c.length;f<h;f++){const p=c[f];u.push(p.toJSON(e.data))}u.length>0&&(r[l]=u,s=!0)}s&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const i=e.index;i!==null&&this.setIndex(i.clone(t));const r=e.attributes;for(const c in r){const u=r[c];this.setAttribute(c,u.clone(t))}const s=e.morphAttributes;for(const c in s){const u=[],f=s[c];for(let h=0,p=f.length;h<p;h++)u.push(f[h].clone(t));this.morphAttributes[c]=u}this.morphTargetsRelative=e.morphTargetsRelative;const o=e.groups;for(let c=0,u=o.length;c<u;c++){const f=o[c];this.addGroup(f.start,f.count,f.materialIndex)}const a=e.boundingBox;a!==null&&(this.boundingBox=a.clone());const l=e.boundingSphere;return l!==null&&(this.boundingSphere=l.clone()),this.drawRange.start=e.drawRange.start,this.drawRange.count=e.drawRange.count,this.userData=e.userData,this}dispose(){this.dispatchEvent({type:"dispose"})}}const _S=new Ct,Hc=new kd,t1=new ao,bS=new K,n1=new K,i1=new K,r1=new K,C3=new K,s1=new K,xS=new K,o1=new K;class Qe extends Wt{constructor(e=new Hn,t=new Jr){super(),this.isMesh=!0,this.type="Mesh",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),e.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=e.morphTargetInfluences.slice()),e.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary)),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s<o;s++){const a=r[s].name||String(s);this.morphTargetInfluences.push(0),this.morphTargetDictionary[a]=s}}}}getVertexPosition(e,t){const i=this.geometry,r=i.attributes.position,s=i.morphAttributes.position,o=i.morphTargetsRelative;t.fromBufferAttribute(r,e);const a=this.morphTargetInfluences;if(s&&a){s1.set(0,0,0);for(let l=0,c=s.length;l<c;l++){const u=a[l],f=s[l];u!==0&&(C3.fromBufferAttribute(f,e),o?s1.addScaledVector(C3,u):s1.addScaledVector(C3.sub(t),u))}t.add(s1)}return t}raycast(e,t){const i=this.geometry,r=this.material,s=this.matrixWorld;r!==void 0&&(i.boundingSphere===null&&i.computeBoundingSphere(),t1.c
vendor: 4,758 bytes, lines 79-83
79opy(i.boundingSphere),t1.applyMatrix4(s),Hc.copy(e.ray).recast(e.near),!(t1.containsPoint(Hc.origin)===!1&&(Hc.intersectSphere(t1,bS)===null||Hc.origin.distanceToSquared(bS)>(e.far-e.near)**2))&&(_S.copy(s).invert(),Hc.copy(e.ray).applyMatrix4(_S),!(i.boundingBox!==null&&Hc.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,Hc)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,c=s.attributes.uv,u=s.attributes.uv1,f=s.attributes.normal,h=s.groups,p=s.drawRange;if(a!==null)if(Array.isArray(o))for(let m=0,v=h.length;m<v;m++){const A=h[m],y=o[A.materialIndex],x=Math.max(A.start,p.start),b=Math.min(a.count,Math.min(A.start+A.count,p.start+p.count));for(let _=x,T=b;_<T;_+=3){const M=a.getX(_),I=a.getX(_+1),R=a.getX(_+2);r=a1(this,y,e,i,c,u,f,M,I,R),r&&(r.faceIndex=Math.floor(_/3),r.face.materialIndex=A.materialIndex,t.push(r))}}else{const m=Math.max(0,p.start),v=Math.min(a.count,p.start+p.count);for(let A=m,y=v;A<y;A+=3){const x=a.getX(A),b=a.getX(A+1),_=a.getX(A+2);r=a1(this,o,e,i,c,u,f,x,b,_),r&&(r.faceIndex=Math.floor(A/3),t.push(r))}}else if(l!==void 0)if(Array.isArray(o))for(let m=0,v=h.length;m<v;m++){const A=h[m],y=o[A.materialIndex],x=Math.max(A.start,p.start),b=Math.min(l.count,Math.min(A.start+A.count,p.start+p.count));for(let _=x,T=b;_<T;_+=3){const M=_,I=_+1,R=_+2;r=a1(this,y,e,i,c,u,f,M,I,R),r&&(r.faceIndex=Math.floor(_/3),r.face.materialIndex=A.materialIndex,t.push(r))}}else{const m=Math.max(0,p.start),v=Math.min(l.count,p.start+p.count);for(let A=m,y=v;A<y;A+=3){const x=A,b=A+1,_=A+2;r=a1(this,o,e,i,c,u,f,x,b,_),r&&(r.faceIndex=Math.floor(A/3),t.push(r))}}}}function dK(n,e,t,i,r,s,o,a){let l;if(e.side===Rr?l=i.intersectTriangle(o,s,r,!0,a):l=i.intersectTriangle(r,s,o,e.side===Io,a),l===null)return null;o1.copy(a),o1.applyMatrix4(n.matrixWorld);const c=t.ray.origin.distanceTo(o1);return c<t.near||c>t.far?null:{distance:c,point:o1.clone(),object:n}}function a1(n,e,t,i,r,s,o,a,l,c){n.getVertexPosition(a,n1),n.getVertexPosition(l,i1),n.getVertexPosition(c,r1);const u=dK(n,e,t,i,n1,i1,r1,xS);if(u){const f=new K;Js.getBarycoord(xS,n1,i1,r1,f),r&&(u.uv=Js.getInterpolatedAttribute(r,a,l,c,f,new Re)),s&&(u.uv1=Js.getInterpolatedAttribute(s,a,l,c,f,new Re)),o&&(u.normal=Js.getInterpolatedAttribute(o,a,l,c,f,new K),u.normal.dot(i.direction)>0&&u.normal.multiplyScalar(-1));const h={a,b:l,c,normal:new K,materialIndex:0};Js.getNormal(n1,i1,r1,h.normal),u.face=h,u.barycoord=f}return u}class fi extends Hn{constructor(e=1,t=1,i=1,r=1,s=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:i,widthSegments:r,heightSegments:s,depthSegments:o};const a=this;r=Math.floor(r),s=Math.floor(s),o=Math.floor(o);const l=[],c=[],u=[],f=[];let h=0,p=0;m("z","y","x",-1,-1,i,t,e,o,s,0),m("z","y","x",1,-1,i,t,-e,o,s,1),m("x","z","y",1,1,e,i,t,r,o,2),m("x","z","y",1,-1,e,i,-t,r,o,3),m("x","y","z",1,-1,e,t,i,r,s,4),m("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new en(c,3)),this.setAttribute("normal",new en(u,3)),this.setAttribute("uv",new en(f,2));function m(v,A,y,x,b,_,T,M,I,R,w){const E=_/I,F=T/R,L=_/2,z=T/2,V=M/2,j=I+1,N=R+1;let Q=0,W=0;const ee=new K;for(let H=0;H<N;H++){const ye=H*F-z;for(let Ie=0;Ie<j;Ie++){const ze=Ie*E-L;ee[v]=ze*x,ee[A]=ye*b,ee[y]=V,c.push(ee.x,ee.y,ee.z),ee[v]=0,ee[A]=0,ee[y]=M>0?1:-1,u.push(ee.x,ee.y,ee.z),f.push(Ie/I),f.push(1-H/R),Q+=1}}for(let H=0;H<R;H++)for(let ye=0;ye<I;ye++){const Ie=h+ye+j*H,ze=h+ye+j*(H+1),oe=h+(ye+1)+j*(H+1),_e=h+(ye+1)+j*H;l.push(Ie,ze,_e),l.push(ze,oe,_e),W+=6}a.addGroup(p,W,w),p+=W,h+=Q}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new fi(e.width,e.height,e.depth,e.widthSegments,e.heightSegments,e.depthSegments)}}function Id(n){const e={};for(const t in n){e[t]={};for(const i in n[t]){const r=n[t][i];r&&(r.isColor||r.isMatrix3||r.isMatrix4||r.isVector2||r.isVector3||r.isVector4||r.isTexture||r.isQuaternion)?r.isRenderTargetTexture?(console.warn("UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms()."),e[t][i]=null):e[t][i]=r.clone():Array.isArray(r)?e[t][i]=r.slice():e[t][i]=r}}return e}function Vr(n){const e={};for(let t=0;t<n.length;t++){const i=Id(n[t]);for(const r in i)e[r]=i[r]}return e}function hK(n){const e=[];for(let t=0;t<n.length;t++)e.push(n[t].clone());return e}function tP(n){const e=n.getRenderTarget();return e===null?n.outputColorSpace:e.isXRRenderTarget===!0?e.texture.colorSpace:Xt.workingColorSpace}const Po={clone:Id,merge:Vr};var pK=`void main() {
80	gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
81}`,mK=`void main() {
82	gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );
83}`;
vendor: 7,294 bytes, line 83
83class Cn extends Eo{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=pK,this.fragmentShader=mK,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=Id(e.uniforms),this.uniformsGroups=hK(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(const r in this.uniforms){const o=this.uniforms[r].value;o&&o.isTexture?t.uniforms[r]={type:"t",value:o.toJSON(e).uuid}:o&&o.isColor?t.uniforms[r]={type:"c",value:o.getHex()}:o&&o.isVector2?t.uniforms[r]={type:"v2",value:o.toArray()}:o&&o.isVector3?t.uniforms[r]={type:"v3",value:o.toArray()}:o&&o.isVector4?t.uniforms[r]={type:"v4",value:o.toArray()}:o&&o.isMatrix3?t.uniforms[r]={type:"m3",value:o.toArray()}:o&&o.isMatrix4?t.uniforms[r]={type:"m4",value:o.toArray()}:t.uniforms[r]={value:o}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const i={};for(const r in this.extensions)this.extensions[r]===!0&&(i[r]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}}class TA extends Wt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Ct,this.projectionMatrix=new Ct,this.projectionMatrixInverse=new Ct,this.coordinateSystem=Ko}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const pl=new K,CS=new Re,wS=new Re;class Zi extends TA{constructor(e=50,t=1,i=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=i,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=Md*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(S0*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Md*2*Math.atan(Math.tan(S0*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,i){pl.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(pl.x,pl.y).multiplyScalar(-e/pl.z),pl.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(pl.x,pl.y).multiplyScalar(-e/pl.z)}getViewSize(e,t){return this.getViewBounds(e,CS,wS),t.subVectors(wS,CS)}setViewOffset(e,t,i,r,s,o){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(S0*.5*this.fov)/this.zoom,i=2*t,r=this.aspect*i,s=-.5*r;const o=this.view;if(this.view!==null&&this.view.enabled){const l=o.fullWidth,c=o.fullHeight;s+=o.offsetX*r/l,t-=o.offsetY*i/c,r*=o.width/l,i*=o.height/c}const a=this.filmOffset;a!==0&&(s+=e*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+r,t,t-i,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const pf=-90,mf=1;class nP extends Wt{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new Zi(pf,mf,e,t);r.layers=this.layers,this.add(r);const s=new Zi(pf,mf,e,t);s.layers=this.layers,this.add(s);const o=new Zi(pf,mf,e,t);o.layers=this.layers,this.add(o);const a=new Zi(pf,mf,e,t);a.layers=this.layers,this.add(a);const l=new Zi(pf,mf,e,t);l.layers=this.layers,this.add(l);const c=new Zi(pf,mf,e,t);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,s,o,a,l]=t;for(const c of t)this.remove(c);if(e===Ko)i.up.set(0,1,0),i.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),s.up.set(0,0,-1),s.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),a.up.set(0,1,0),a.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===Vg)i.up.set(0,-1,0),i.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const c of t)this.add(c),c.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:i,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,o,a,l,c,u]=this.children,f=e.getRenderTarget(),h=e.getActiveCubeFace(),p=e.getActiveMipmapLevel(),m=e.xr.enabled;e.xr.enabled=!1;const v=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,e.setRenderTarget(i,0,r),e.render(t,s),e.setRenderTarget(i,1,r),e.render(t,o),e.setRenderTarget(i,2,r),e.render(t,a),e.setRenderTarget(i,3,r),e.render(t,l),e.setRenderTarget(i,4,r),e.render(t,c),i.texture.generateMipmaps=v,e.setRenderTarget(i,5,r),e.render(t,u),e.setRenderTarget(f,h,p),e.xr.enabled=m,i.texture.needsPMREMUpdate=!0}}class np extends xn{constructor(e,t,i,r,s,o,a,l,c,u){e=e!==void 0?e:[],t=t!==void 0?t:tc,super(e,t,i,r,s,o,a,l,c,u),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class Gg extends li{constructor(e=1,t={}
vendor: 8,226 bytes, lines 83-118
83){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const i={width:e,height:e,depth:1},r=[i,i,i,i,i,i];this.texture=new np(r,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:Yt}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const i={uniforms:{tEquirect:{value:null}},vertexShader:`
84
85				varying vec3 vWorldDirection;
86
87				vec3 transformDirection( in vec3 dir, in mat4 matrix ) {
88
89					return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );
90
91				}
92
93				void main() {
94
95					vWorldDirection = transformDirection( position, modelMatrix );
96
97					#include <begin_vertex>
98					#include <project_vertex>
99
100				}
101			`,fragmentShader:`
102
103				uniform sampler2D tEquirect;
104
105				varying vec3 vWorldDirection;
106
107				#include <common>
108
109				void main() {
110
111					vec3 direction = normalize( vWorldDirection );
112
113					vec2 sampleUV = equirectUv( direction );
114
115					gl_FragColor = texture2D( tEquirect, sampleUV );
116
117				}
118			`},r=new fi(5,5,5),s=new Cn({name:"CubemapFromEquirect",uniforms:Id(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:Rr,blending:wo});s.uniforms.tEquirect.value=t;const o=new Qe(r,s),a=t.minFilter;return t.minFilter===Fs&&(t.minFilter=Yt),new nP(1,10,this).update(e,o),t.minFilter=a,o.geometry.dispose(),o.material.dispose(),this}clear(e,t,i,r){const s=e.getRenderTarget();for(let o=0;o<6;o++)e.setRenderTarget(this,o),e.clear(t,i,r);e.setRenderTarget(s)}}class Ha extends Wt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const gK={type:"move"};class w3{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Ha,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new Ha,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new K,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new K),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Ha,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new K,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new K),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const i of e.hand.values())this._getHandJoint(t,i)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,i){let r=null,s=null,o=null;const a=this._targetRay,l=this._grip,c=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(c&&e.hand){o=!0;for(const v of e.hand.values()){const A=t.getJointPose(v,i),y=this._getHandJoint(c,v);A!==null&&(y.matrix.fromArray(A.transform.matrix),y.matrix.decompose(y.position,y.rotation,y.scale),y.matrixWorldNeedsUpdate=!0,y.jointRadius=A.radius),y.visible=A!==null}const u=c.joints["index-finger-tip"],f=c.joints["thumb-tip"],h=u.position.distanceTo(f.position),p=.02,m=.005;c.inputState.pinching&&h>p+m?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&h<=p-m&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,i),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));a!==null&&(r=t.getPose(e.targetRaySpace,i),r===null&&s!==null&&(r=s),r!==null&&(a.matrix.fromArray(r.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,r.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(r.linearVelocity)):a.hasLinearVelocity=!1,r.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(r.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(gK)))}return a!==null&&(a.visible=r!==null),l!==null&&(l.visible=s!==null),c!==null&&(c.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new Ha;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}class Wa extends Wt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new Pi,this.environmentIntensity=1,this.environmentRotation=new Pi,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class n4{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=Tb,this.updateRanges=[],this.version=0,this.uuid=So()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,i){e*=this.stride,i*=t.stride;for(let r=0,s=this.stride;r<s;r++)this.array[e+r]=t.array[i+r];return this}set(e,t=0){return this.array.set(e,t),this}clone(e){e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=So()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),i=new this.constructor(t,this.stride);return i.setUsage(this.usage),i}onUpload(e){return this.onUploadCallback=e,this}toJSON(e){return e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=So()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}}const Nr=new K;class fn{constructor(e,t,i,r=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=e,this.itemSize=t,this.offset=i,this.normalized=r}
vendor: 10,732 bytes, line 118
118get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,i=this.data.count;t<i;t++)Nr.fromBufferAttribute(this,t),Nr.applyMatrix4(e),this.setXYZ(t,Nr.x,Nr.y,Nr.z);return this}applyNormalMatrix(e){for(let t=0,i=this.count;t<i;t++)Nr.fromBufferAttribute(this,t),Nr.applyNormalMatrix(e),this.setXYZ(t,Nr.x,Nr.y,Nr.z);return this}transformDirection(e){for(let t=0,i=this.count;t<i;t++)Nr.fromBufferAttribute(this,t),Nr.transformDirection(e),this.setXYZ(t,Nr.x,Nr.y,Nr.z);return this}getComponent(e,t){let i=this.array[e*this.data.stride+this.offset+t];return this.normalized&&(i=_o(i,this.array)),i}setComponent(e,t,i){return this.normalized&&(i=_n(i,this.array)),this.data.array[e*this.data.stride+this.offset+t]=i,this}setX(e,t){return this.normalized&&(t=_n(t,this.array)),this.data.array[e*this.data.stride+this.offset]=t,this}setY(e,t){return this.normalized&&(t=_n(t,this.array)),this.data.array[e*this.data.stride+this.offset+1]=t,this}setZ(e,t){return this.normalized&&(t=_n(t,this.array)),this.data.array[e*this.data.stride+this.offset+2]=t,this}setW(e,t){return this.normalized&&(t=_n(t,this.array)),this.data.array[e*this.data.stride+this.offset+3]=t,this}getX(e){let t=this.data.array[e*this.data.stride+this.offset];return this.normalized&&(t=_o(t,this.array)),t}getY(e){let t=this.data.array[e*this.data.stride+this.offset+1];return this.normalized&&(t=_o(t,this.array)),t}getZ(e){let t=this.data.array[e*this.data.stride+this.offset+2];return this.normalized&&(t=_o(t,this.array)),t}getW(e){let t=this.data.array[e*this.data.stride+this.offset+3];return this.normalized&&(t=_o(t,this.array)),t}setXY(e,t,i){return e=e*this.data.stride+this.offset,this.normalized&&(t=_n(t,this.array),i=_n(i,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this}setXYZ(e,t,i,r){return e=e*this.data.stride+this.offset,this.normalized&&(t=_n(t,this.array),i=_n(i,this.array),r=_n(r,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this.data.array[e+2]=r,this}setXYZW(e,t,i,r,s){return e=e*this.data.stride+this.offset,this.normalized&&(t=_n(t,this.array),i=_n(i,this.array),r=_n(r,this.array),s=_n(s,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this.data.array[e+2]=r,this.data.array[e+3]=s,this}clone(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let i=0;i<this.count;i++){const r=i*this.data.stride+this.offset;for(let s=0;s<this.itemSize;s++)t.push(this.data.array[r+s])}return new Gi(new this.array.constructor(t),this.itemSize,this.normalized)}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.clone(e)),new fn(e.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let i=0;i<this.count;i++){const r=i*this.data.stride+this.offset;for(let s=0;s<this.itemSize;s++)t.push(this.data.array[r+s])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:t,normalized:this.normalized}}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}class iP extends Eo{constructor(e){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new ke(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.rotation=e.rotation,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}}let gf;const Eh=new K,Af=new K,vf=new K,yf=new Re,Th=new Re,rP=new Ct,l1=new K,Mh=new K,c1=new K,SS=new Re,S3=new Re,ES=new Re;class _f extends Wt{constructor(e=new iP){if(super(),this.isSprite=!0,this.type="Sprite",gf===void 0){gf=new Hn;const t=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),i=new n4(t,5);gf.setIndex([0,1,2,0,2,3]),gf.setAttribute("position",new fn(i,3,0,!1)),gf.setAttribute("uv",new fn(i,2,3,!1))}this.geometry=gf,this.material=e,this.center=new Re(.5,.5)}raycast(e,t){e.camera===null&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),Af.setFromMatrixScale(this.matrixWorld),rP.copy(e.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld),vf.setFromMatrixPosition(this.modelViewMatrix),e.camera.isPerspectiveCamera&&this.material.sizeAttenuation===!1&&Af.multiplyScalar(-vf.z);const i=this.material.rotation;let r,s;i!==0&&(s=Math.cos(i),r=Math.sin(i));const o=this.center;u1(l1.set(-.5,-.5,0),vf,o,Af,r,s),u1(Mh.set(.5,-.5,0),vf,o,Af,r,s),u1(c1.set(.5,.5,0),vf,o,Af,r,s),SS.set(0,0),S3.set(1,0),ES.set(1,1);let a=e.ray.intersectTriangle(l1,Mh,c1,!1,Eh);if(a===null&&(u1(Mh.set(-.5,.5,0),vf,o,Af,r,s),S3.set(0,1),a=e.ray.intersectTriangle(l1,c1,Mh,!1,Eh),a===null))return;const l=e.ray.origin.distanceTo(Eh);l<e.near||l>e.far||t.push({distance:l,point:Eh.clone(),uv:Js.getInterpolation(Eh,l1,Mh,c1,SS,S3,ES,new Re),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function u1(n,e,t,i,r,s){yf.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(Th.x=s*yf.x-r*yf.y,Th.y=r*yf.x+s*yf.y):Th.copy(yf),n.copy(e),n.x+=Th.x,n.y+=Th.y,n.applyMatrix4(rP)}const TS=new K,MS=new Vt,IS=new Vt,AK=new K,PS=new Ct,f1=new K,E3=new ao,RS=new Ct,T3=new kd;class vK extends Qe{constructor(e,t){super(e,t),this.isSkinnedMesh=!0,this.type="SkinnedMesh",this.bindMode=tS,this.bindMatrix=new Ct,this.bindMatrixInverse=new Ct,this.boundingBox=null,this.boundingSphere=null}computeBoundingBox(){const e=this.geometry;this.boundingBox===null&&(this.boundingBox=new Hs),this.boundingBox.makeEmpty();const t=e.getAttribute("position");for(let i=0;i<t.count;i++)this.getVertexPosition(i,f1),this.boundingBox.expandByPoint(f1)}computeBoundingSphere(){const e=this.geometry;this.boundingSphere===null&&(this.boundingSphere=new ao),this.boundingSphere.makeEmpty();const t=e.getAttribute("position");for(let i=0;i<t.count;i++)this.getVertexPosition(i,f1),this.boundingSphere.expandByPoint(f1)}copy(e,t){return super.copy(e,t),this.bindMode=e.bindMode,this.bindMatrix.copy(e.bindMatrix),this.bindMatrixInverse.copy(e.bindMatrixInverse),this.skeleton=e.skeleton,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this}raycast(e,t){const i=this.material,r=this.matrixWorld;i!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),E3.copy(this.boundingSphere),E3.applyMatrix4(r),e.ray.intersectsSphere(E3)!==!1&&(RS.copy(r).invert(),T3.copy(e.ray).applyMatrix4(RS),!(this.boundingBox!==null&&T3.intersectsBox(this.boundingBox)===!1)&&this._computeIntersections(e,t,T3)))}getVertexPosition(e,t){return super.getVertexPosition(e,t),this.applyBoneTransform(e,t),t}bind(e,t){this.skeleton=e,t===void 0&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),t=this.matrixWorld),this.bindMatrix.copy(t),this.bindMatrixInverse.copy(t).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){const e=new Vt,t=this.geometry.attributes.skinWeight;for(let i=0,r=t.count;i<r;i++){e.fromBufferAttribute(t,i);const s=1/e.manhattanLength();s!==1/0?e.multiplyScalar(s):e.set(1,0,0,0),t.setXYZW(i,e.x,e.y,e.z,e.w)}}updateMatrixWorld(e){super.updateMatrixWorld(e),this.bindMode===tS?this.bindMatrixInverse.copy(this.matrixWorld).invert():this.bindMode===g$?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)}applyBoneTransform(e,t){const i=this.skeleton,r=this.geometry;MS.fromBufferAttribute(r.attributes.skinIndex,e),IS.fromBufferAttribute(r.attributes.skinWeight,e),TS.copy(t).applyMatrix4(this.bindMatrix),t.set(0,0,0);for(let s=0;s<4;s++){const o=IS.getComponent(s);if(o!==0){const a=MS.getComponent(s);PS.multiplyMatrices(i.bones[a].matrixWorld,i.boneInverses[a]),t.addScaledVector(AK.copy(TS).applyMatrix4(PS),o)}}return t.applyMatrix4(this.bindMatrixInverse)}}class sP extends Wt{constructor(){super(),this.isBone=!0,this.type="Bone"}}class zd extends xn{constructor(e=null,t=1,i=1,r,s,o,a,l,c=Br,u=Br,f,h){super(null,o,a,l,c,u,r,s,f,h),this.isDataTexture=!0,this.image={data:e,width:t,height:i},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}const BS=new Ct,yK=new Ct;class i4{constructor(e=[],t=[]){this.uuid=So(),this.bones=e.slice(0),this.boneInverses=t,this.boneMatrices=null,this.boneTexture=null,this.init()}init(){const e=this.bones,t=this.boneInverses;if(this.boneMatrices=new Float32Array(e.length*16),t.length===0)this.calculateInverses();else if(e.length!==t.length){console.warn("THREE.Skeleton: Number of inverse bone matrices does not match amount of bones."),this.boneInverses=[];for(let i=0,r=this.bones.length;i<r;i++)this.boneInverses.push(new Ct)}}calculateInverses(){this.boneInverses.length=0;for(let e=0,t=this.bones.length;e<t;e++){const i=new Ct;this.bones[e]&&i.copy(this.bones[e].matrixWorld).invert(),this.boneInverses.push(i)}}pose(){for(let e=0,t=this.bones.length;e<t;e++){const i=this.bones[e];i&&i.matrixWorld.copy(this.boneInverses[e]).invert()}for(let e=0,t=this.bones.length;e<t;e++){const i=this.bones[e];i&&(i.parent&&i.parent.isBone?(i.matrix.copy(i.parent.matrixWorld).invert(),i.matrix.multiply(i.matrixWorld)):i.matrix.copy(i.matrixWorld),i.matrix.decompose(i.position,i.quaternion,i.scale))}}update(){const e=this.bones,t=this.boneInverses,i=this.boneMatrices,r=this.boneTexture;for(let s=0,o=e.length;s<o;s++){const a=e[s]?e[s].matrixWorld:yK;BS.multiplyMatrices(a,t[s]),BS.toArray(i,s*16)}r!==null&&(r.needsUpdate=!0)}clone(){return new i4(this.bones,this.boneInverses)}computeBoneTexture(){let e=Math.sqrt(this.bones.length*4);e=Math.ceil(e/4)*4,e=Math.max(e,4);const t=new Float32Array(e*e*4);t.set(this.boneMatrices);const i=new zd(t,e,e,pi,Zt);return i.needsUpdate=!0,this.boneMatrices=t,this.boneTexture=i,this}getBoneByName(e){for(let t=0,i=this.bones.length;t<i;t++){const r=this.bones[t];if(r.name===e)return r}}dispose(){this.boneTexture!==null&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(e,t){this.uuid=e.uuid;
vendor: 9,199 bytes, line 118
118for(let i=0,r=e.bones.length;i<r;i++){const s=e.bones[i];let o=t[s];o===void 0&&(console.warn("THREE.Skeleton: No bone found with UUID:",s),o=new sP),this.bones.push(o),this.boneInverses.push(new Ct().fromArray(e.boneInverses[i]))}return this.init(),this}toJSON(){const e={metadata:{version:4.6,type:"Skeleton",generator:"Skeleton.toJSON"},bones:[],boneInverses:[]};e.uuid=this.uuid;const t=this.bones,i=this.boneInverses;for(let r=0,s=t.length;r<s;r++){const o=t[r];e.bones.push(o.uuid);const a=i[r];e.boneInverses.push(a.toArray())}return e}}class Ro extends Gi{constructor(e,t,i,r=1){super(e,t,i),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=r}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){const e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}}const bf=new Ct,DS=new Ct,d1=[],LS=new Hs,_K=new Ct,Ih=new Qe,Ph=new ao;class Tp extends Qe{constructor(e,t,i){super(e,t),this.isInstancedMesh=!0,this.instanceMatrix=new Ro(new Float32Array(i*16),16),this.instanceColor=null,this.morphTexture=null,this.count=i,this.boundingBox=null,this.boundingSphere=null;for(let r=0;r<i;r++)this.setMatrixAt(r,_K)}computeBoundingBox(){const e=this.geometry,t=this.count;this.boundingBox===null&&(this.boundingBox=new Hs),e.boundingBox===null&&e.computeBoundingBox(),this.boundingBox.makeEmpty();for(let i=0;i<t;i++)this.getMatrixAt(i,bf),LS.copy(e.boundingBox).applyMatrix4(bf),this.boundingBox.union(LS)}computeBoundingSphere(){const e=this.geometry,t=this.count;this.boundingSphere===null&&(this.boundingSphere=new ao),e.boundingSphere===null&&e.computeBoundingSphere(),this.boundingSphere.makeEmpty();for(let i=0;i<t;i++)this.getMatrixAt(i,bf),Ph.copy(e.boundingSphere).applyMatrix4(bf),this.boundingSphere.union(Ph)}copy(e,t){return super.copy(e,t),this.instanceMatrix.copy(e.instanceMatrix),e.morphTexture!==null&&(this.morphTexture=e.morphTexture.clone()),e.instanceColor!==null&&(this.instanceColor=e.instanceColor.clone()),this.count=e.count,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this}getColorAt(e,t){t.fromArray(this.instanceColor.array,e*3)}getMatrixAt(e,t){t.fromArray(this.instanceMatrix.array,e*16)}getMorphAt(e,t){const i=t.morphTargetInfluences,r=this.morphTexture.source.data.data,s=i.length+1,o=e*s+1;for(let a=0;a<i.length;a++)i[a]=r[o+a]}raycast(e,t){const i=this.matrixWorld,r=this.count;if(Ih.geometry=this.geometry,Ih.material=this.material,Ih.material!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),Ph.copy(this.boundingSphere),Ph.applyMatrix4(i),e.ray.intersectsSphere(Ph)!==!1))for(let s=0;s<r;s++){this.getMatrixAt(s,bf),DS.multiplyMatrices(i,bf),Ih.matrixWorld=DS,Ih.raycast(e,d1);for(let o=0,a=d1.length;o<a;o++){const l=d1[o];l.instanceId=s,l.object=this,t.push(l)}d1.length=0}}setColorAt(e,t){this.instanceColor===null&&(this.instanceColor=new Ro(new Float32Array(this.instanceMatrix.count*3).fill(1),3)),t.toArray(this.instanceColor.array,e*3)}setMatrixAt(e,t){t.toArray(this.instanceMatrix.array,e*16)}setMorphAt(e,t){const i=t.morphTargetInfluences,r=i.length+1;this.morphTexture===null&&(this.morphTexture=new zd(new Float32Array(r*this.count),r,this.count,kl,Zt));const s=this.morphTexture.source.data.data;let o=0;for(let c=0;c<i.length;c++)o+=i[c];const a=this.geometry.morphTargetsRelative?1:1-o,l=r*e;s[l]=a,s.set(i,l+1)}updateMorphTargets(){}dispose(){return this.dispatchEvent({type:"dispose"}),this.morphTexture!==null&&(this.morphTexture.dispose(),this.morphTexture=null),this}}const M3=new K,bK=new K,xK=new Lt;class El{constructor(e=new K(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,i,r){return this.normal.set(e,t,i),this.constant=r,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,i){const r=M3.subVectors(i,t).cross(bK.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(r,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){const i=e.delta(M3),r=this.normal.dot(i);if(r===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;const s=-(e.start.dot(this.normal)+this.constant)/r;return s<0||s>1?null:t.copy(e.start).addScaledVector(i,s)}intersectsLine(e){const t=this.distanceToPoint(e.start),i=this.distanceToPoint(e.end);return t<0&&i>0||i<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const i=t||xK.getNormalMatrix(e),r=this.coplanarPoint(M3).applyMatrix4(e),s=this.normal.applyMatrix3(i).normalize();return this.constant=-r.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Vc=new ao,h1=new K;class r4{constructor(e=new El,t=new El,i=new El,r=new El,s=new El,o=new El){this.planes=[e,t,i,r,s,o]}set(e,t,i,r,s,o){const a=this.planes;return a[0].copy(e),a[1].copy(t),a[2].copy(i),a[3].copy(r),a[4].copy(s),a[5].copy(o),this}copy(e){const t=this.planes;for(let i=0;i<6;i++)t[i].copy(e.planes[i]);return this}setFromProjectionMatrix(e,t=Ko){const i=this.planes,r=e.elements,s=r[0],o=r[1],a=r[2],l=r[3],c=r[4],u=r[5],f=r[6],h=r[7],p=r[8],m=r[9],v=r[10],A=r[11],y=r[12],x=r[13],b=r[14],_=r[15];if(i[0].setComponents(l-s,h-c,A-p,_-y).normalize(),i[1].setComponents(l+s,h+c,A+p,_+y).normalize(),i[2].setComponents(l+o,h+u,A+m,_+x).normalize(),i[3].setComponents(l-o,h-u,A-m,_-x).normalize(),i[4].setComponents(l-a,h-f,A-v,_-b).normalize(),t===Ko)i[5].setComponents(l+a,h+f,A+v,_+b).normalize();else if(t===Vg)i[5].setComponents(a,f,v,b).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Vc.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Vc.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Vc)}intersectsSprite(e){return Vc.center.set(0,0,0),Vc.radius=.7071067811865476,Vc.applyMatrix4(e.matrixWorld),this.intersectsSphere(Vc)}intersectsSphere(e){const t=this.planes,i=e.center,r=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(i)<r)return!1;return!0}intersectsBox(e){const t=this.planes;for(let i=0;i<6;i++){const r=t[i];if(h1.x=r.normal.x>0?e.max.x:e.min.x,h1.y=r.normal.y>0?e.max.y:e.min.y,h1.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(h1)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let i=0;i<6;i++)if(t[i].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}class Lu extends Eo{constructor(e){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new ke(16777215),this.map=null,this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}}const Qg=new K,Wg=new K,OS=new Ct,Rh=new kd,p1=new ao,I3=new K,FS=new K;class Ms extends Wt{constructor(e=new Hn,t=new Lu){super(),this.isLine=!0,this.type="Line",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,i=[0];for(let r=1,s=t.count;r<s;r++)Qg.fromBufferAttribute(t,r-1),Wg.fromBufferAttribute(t,r),i[r]=i[r-1],i[r]+=Qg.distanceTo(Wg);e.setAttribute("lineDistance",new en(i,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}raycast(e,t){const i=this.geometry,r=this.matrixWorld,s=e.params.Line.threshold,o=i.drawRange;if(i.boundingSphere===null&&i.computeBoundingSphere(),p1.copy(i.boundingSphere),p1.applyMatrix4(r),p1.radius+=s,e.ray.intersectsSphere(p1)===!1)return;OS.copy(r).invert(),Rh.copy(e.ray).applyMatrix4(OS);const a=s/((this.scale.x+this.scale.y+this.scale.z)/3),l=a*a,c=this.isLineSegments?2:1,u=i.index,h=i.attributes.position;if(u!==null){const p=Math.max(0,o.start),m=Math.min(u.count,o.start+o.count);for(let v=p,A=m-1;v<A;v+=c){const y=u.getX(v),x=u.getX(v+1),b=m1(this,e,Rh,l,y,x,v);b&&t.push(b)}if(this.isLineLoop){const v=u.getX(m-1),A=u.getX(p),y=m1(this,e,Rh,l,v,A,m-1);
vendor: 5,068 bytes, line 118
118y&&t.push(y)}}else{const p=Math.max(0,o.start),m=Math.min(h.count,o.start+o.count);for(let v=p,A=m-1;v<A;v+=c){const y=m1(this,e,Rh,l,v,v+1,v);y&&t.push(y)}if(this.isLineLoop){const v=m1(this,e,Rh,l,m-1,p,m-1);v&&t.push(v)}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s<o;s++){const a=r[s].name||String(s);this.morphTargetInfluences.push(0),this.morphTargetDictionary[a]=s}}}}}function m1(n,e,t,i,r,s,o){const a=n.geometry.attributes.position;if(Qg.fromBufferAttribute(a,r),Wg.fromBufferAttribute(a,s),t.distanceSqToSegment(Qg,Wg,I3,FS)>i)return;I3.applyMatrix4(n.matrixWorld);const c=e.ray.origin.distanceTo(I3);if(!(c<e.near||c>e.far))return{distance:c,point:FS.clone().applyMatrix4(n.matrixWorld),index:o,face:null,faceIndex:null,barycoord:null,object:n}}const US=new K,NS=new K;class MA extends Ms{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,i=[];for(let r=0,s=t.count;r<s;r+=2)US.fromBufferAttribute(t,r),NS.fromBufferAttribute(t,r+1),i[r]=r===0?0:i[r-1],i[r+1]=i[r]+US.distanceTo(NS);e.setAttribute("lineDistance",new en(i,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}}class CK extends Ms{constructor(e,t){super(e,t),this.isLineLoop=!0,this.type="LineLoop"}}class oP extends Eo{constructor(e){super(),this.isPointsMaterial=!0,this.type="PointsMaterial",this.color=new ke(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.size=e.size,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}}const kS=new Ct,Mb=new kd,g1=new ao,A1=new K;class wK extends Wt{constructor(e=new Hn,t=new oP){super(),this.isPoints=!0,this.type="Points",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}raycast(e,t){const i=this.geometry,r=this.matrixWorld,s=e.params.Points.threshold,o=i.drawRange;if(i.boundingSphere===null&&i.computeBoundingSphere(),g1.copy(i.boundingSphere),g1.applyMatrix4(r),g1.radius+=s,e.ray.intersectsSphere(g1)===!1)return;kS.copy(r).invert(),Mb.copy(e.ray).applyMatrix4(kS);const a=s/((this.scale.x+this.scale.y+this.scale.z)/3),l=a*a,c=i.index,f=i.attributes.position;if(c!==null){const h=Math.max(0,o.start),p=Math.min(c.count,o.start+o.count);for(let m=h,v=p;m<v;m++){const A=c.getX(m);A1.fromBufferAttribute(f,A),zS(A1,A,l,r,e,t,this)}}else{const h=Math.max(0,o.start),p=Math.min(f.count,o.start+o.count);for(let m=h,v=p;m<v;m++)A1.fromBufferAttribute(f,m),zS(A1,m,l,r,e,t,this)}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s<o;s++){const a=r[s].name||String(s);this.morphTargetInfluences.push(0),this.morphTargetDictionary[a]=s}}}}}function zS(n,e,t,i,r,s,o){const a=Mb.distanceSqToPoint(n);if(a<t){const l=new K;Mb.closestPointToPoint(n,l),l.applyMatrix4(i);const c=r.ray.origin.distanceTo(l);if(c<r.near||c>r.far)return;s.push({distance:c,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,faceIndex:null,barycoord:null,object:o})}}class IA extends xn{constructor(e,t,i,r,s,o,a,l,c,u,f,h){super(null,o,a,l,c,u,r,s,f,h),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class SK extends IA{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=ti,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}}class EK extends IA{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,tc),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class TK extends xn{constructor(e,t,i,r,s,o,a,l,c){super(e,t,i,r,s,o,a,l,c),this.isCanvasTexture=!0,this.needsUpdate=!0}}class aP extends xn{constructor(e,t,i,r,s,o,a,l,c,u=td){if(u!==td&&u!==Td)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");i===void 0&&u===td&&(i=Pu),i===void 0&&u===Td&&(i=Ed),super(null,r,s,o,a,l,u,i,c),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=a!==void 0?a:Br,this.minFilter=l!==void 0?l:Br,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.compareFunction=e.compareFunction,this}toJSON(e){const t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}}class ar extends Hn{constructor(e=1,t=1,i=1,r=32,s=1,o=!1,a=0,l=Math.PI*2){super(),this.type="CylinderGeometry",this.parameters={radiu
vendor: 28,599 bytes, line 118
118sTop:e,radiusBottom:t,height:i,radialSegments:r,heightSegments:s,openEnded:o,thetaStart:a,thetaLength:l};const c=this;r=Math.floor(r),s=Math.floor(s);const u=[],f=[],h=[],p=[];let m=0;const v=[],A=i/2;let y=0;x(),o===!1&&(e>0&&b(!0),t>0&&b(!1)),this.setIndex(u),this.setAttribute("position",new en(f,3)),this.setAttribute("normal",new en(h,3)),this.setAttribute("uv",new en(p,2));function x(){const _=new K,T=new K;let M=0;const I=(t-e)/i;for(let R=0;R<=s;R++){const w=[],E=R/s,F=E*(t-e)+e;for(let L=0;L<=r;L++){const z=L/r,V=z*l+a,j=Math.sin(V),N=Math.cos(V);T.x=F*j,T.y=-E*i+A,T.z=F*N,f.push(T.x,T.y,T.z),_.set(j,I,N).normalize(),h.push(_.x,_.y,_.z),p.push(z,1-E),w.push(m++)}v.push(w)}for(let R=0;R<r;R++)for(let w=0;w<s;w++){const E=v[w][R],F=v[w+1][R],L=v[w+1][R+1],z=v[w][R+1];(e>0||w!==0)&&(u.push(E,F,z),M+=3),(t>0||w!==s-1)&&(u.push(F,L,z),M+=3)}c.addGroup(y,M,0),y+=M}function b(_){const T=m,M=new Re,I=new K;let R=0;const w=_===!0?e:t,E=_===!0?1:-1;for(let L=1;L<=r;L++)f.push(0,A*E,0),h.push(0,E,0),p.push(.5,.5),m++;const F=m;for(let L=0;L<=r;L++){const V=L/r*l+a,j=Math.cos(V),N=Math.sin(V);I.x=w*N,I.y=A*E,I.z=w*j,f.push(I.x,I.y,I.z),h.push(0,E,0),M.x=j*.5+.5,M.y=N*.5*E+.5,p.push(M.x,M.y),m++}for(let L=0;L<r;L++){const z=T+L,V=F+L;_===!0?u.push(V,V+1,z):u.push(V+1,V,z),R+=3}c.addGroup(y,R,_===!0?1:2),y+=R}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new ar(e.radiusTop,e.radiusBottom,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}}class s4 extends Hn{constructor(e=[],t=[],i=1,r=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:e,indices:t,radius:i,detail:r};const s=[],o=[];a(r),c(i),u(),this.setAttribute("position",new en(s,3)),this.setAttribute("normal",new en(s.slice(),3)),this.setAttribute("uv",new en(o,2)),r===0?this.computeVertexNormals():this.normalizeNormals();function a(x){const b=new K,_=new K,T=new K;for(let M=0;M<t.length;M+=3)p(t[M+0],b),p(t[M+1],_),p(t[M+2],T),l(b,_,T,x)}function l(x,b,_,T){const M=T+1,I=[];for(let R=0;R<=M;R++){I[R]=[];const w=x.clone().lerp(_,R/M),E=b.clone().lerp(_,R/M),F=M-R;for(let L=0;L<=F;L++)L===0&&R===M?I[R][L]=w:I[R][L]=w.clone().lerp(E,L/F)}for(let R=0;R<M;R++)for(let w=0;w<2*(M-R)-1;w++){const E=Math.floor(w/2);w%2===0?(h(I[R][E+1]),h(I[R+1][E]),h(I[R][E])):(h(I[R][E+1]),h(I[R+1][E+1]),h(I[R+1][E]))}}function c(x){const b=new K;for(let _=0;_<s.length;_+=3)b.x=s[_+0],b.y=s[_+1],b.z=s[_+2],b.normalize().multiplyScalar(x),s[_+0]=b.x,s[_+1]=b.y,s[_+2]=b.z}function u(){const x=new K;for(let b=0;b<s.length;b+=3){x.x=s[b+0],x.y=s[b+1],x.z=s[b+2];const _=A(x)/2/Math.PI+.5,T=y(x)/Math.PI+.5;o.push(_,1-T)}m(),f()}function f(){for(let x=0;x<o.length;x+=6){const b=o[x+0],_=o[x+2],T=o[x+4],M=Math.max(b,_,T),I=Math.min(b,_,T);M>.9&&I<.1&&(b<.2&&(o[x+0]+=1),_<.2&&(o[x+2]+=1),T<.2&&(o[x+4]+=1))}}function h(x){s.push(x.x,x.y,x.z)}function p(x,b){const _=x*3;b.x=e[_+0],b.y=e[_+1],b.z=e[_+2]}function m(){const x=new K,b=new K,_=new K,T=new K,M=new Re,I=new Re,R=new Re;for(let w=0,E=0;w<s.length;w+=9,E+=6){x.set(s[w+0],s[w+1],s[w+2]),b.set(s[w+3],s[w+4],s[w+5]),_.set(s[w+6],s[w+7],s[w+8]),M.set(o[E+0],o[E+1]),I.set(o[E+2],o[E+3]),R.set(o[E+4],o[E+5]),T.copy(x).add(b).add(_).divideScalar(3);const F=A(T);v(M,E+0,x,F),v(I,E+2,b,F),v(R,E+4,_,F)}}function v(x,b,_,T){T<0&&x.x===1&&(o[b]=x.x-1),_.x===0&&_.z===0&&(o[b]=T/2/Math.PI+.5)}function A(x){return Math.atan2(x.z,-x.x)}function y(x){return Math.atan2(-x.y,Math.sqrt(x.x*x.x+x.z*x.z))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new s4(e.vertices,e.indices,e.radius,e.details)}}class kf extends s4{constructor(e=1,t=0){const i=[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],r=[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(i,r,e,t),this.type="OctahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(e){return new kf(e.radius,e.detail)}}class lo extends Hn{constructor(e=1,t=1,i=1,r=1){super(),this.type="PlaneGeometry",this.parameters={width:e,height:t,widthSegments:i,heightSegments:r};const s=e/2,o=t/2,a=Math.floor(i),l=Math.floor(r),c=a+1,u=l+1,f=e/a,h=t/l,p=[],m=[],v=[],A=[];for(let y=0;y<u;y++){const x=y*h-o;for(let b=0;b<c;b++){const _=b*f-s;m.push(_,-x,0),v.push(0,0,1),A.push(b/a),A.push(1-y/l)}}for(let y=0;y<l;y++)for(let x=0;x<a;x++){const b=x+c*y,_=x+c*(y+1),T=x+1+c*(y+1),M=x+1+c*y;p.push(b,_,M),p.push(_,T,M)}this.setIndex(p),this.setAttribute("position",new en(m,3)),this.setAttribute("normal",new en(v,3)),this.setAttribute("uv",new en(A,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new lo(e.width,e.height,e.widthSegments,e.heightSegments)}}class Hd extends Hn{constructor(e=1,t=32,i=16,r=0,s=Math.PI*2,o=0,a=Math.PI){super(),this.type="SphereGeometry",this.parameters={radius:e,widthSegments:t,heightSegments:i,phiStart:r,phiLength:s,thetaStart:o,thetaLength:a},t=Math.max(3,Math.floor(t)),i=Math.max(2,Math.floor(i));const l=Math.min(o+a,Math.PI);let c=0;const u=[],f=new K,h=new K,p=[],m=[],v=[],A=[];for(let y=0;y<=i;y++){const x=[],b=y/i;let _=0;y===0&&o===0?_=.5/t:y===i&&l===Math.PI&&(_=-.5/t);for(let T=0;T<=t;T++){const M=T/t;f.x=-e*Math.cos(r+M*s)*Math.sin(o+b*a),f.y=e*Math.cos(o+b*a),f.z=e*Math.sin(r+M*s)*Math.sin(o+b*a),m.push(f.x,f.y,f.z),h.copy(f).normalize(),v.push(h.x,h.y,h.z),A.push(M+_,1-b),x.push(c++)}u.push(x)}for(let y=0;y<i;y++)for(let x=0;x<t;x++){const b=u[y][x+1],_=u[y][x],T=u[y+1][x],M=u[y+1][x+1];(y!==0||o>0)&&p.push(b,_,M),(y!==i-1||l<Math.PI)&&p.push(_,T,M)}this.setIndex(p),this.setAttribute("position",new en(m,3)),this.setAttribute("normal",new en(v,3)),this.setAttribute("uv",new en(A,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new Hd(e.radius,e.widthSegments,e.heightSegments,e.phiStart,e.phiLength,e.thetaStart,e.thetaLength)}}class tu extends Hn{constructor(e=1,t=.4,i=12,r=48,s=Math.PI*2){super(),this.type="TorusGeometry",this.parameters={radius:e,tube:t,radialSegments:i,tubularSegments:r,arc:s},i=Math.floor(i),r=Math.floor(r);const o=[],a=[],l=[],c=[],u=new K,f=new K,h=new K;for(let p=0;p<=i;p++)for(let m=0;m<=r;m++){const v=m/r*s,A=p/i*Math.PI*2;f.x=(e+t*Math.cos(A))*Math.cos(v),f.y=(e+t*Math.cos(A))*Math.sin(v),f.z=t*Math.sin(A),a.push(f.x,f.y,f.z),u.x=e*Math.cos(v),u.y=e*Math.sin(v),h.subVectors(f,u).normalize(),l.push(h.x,h.y,h.z),c.push(m/r),c.push(p/i)}for(let p=1;p<=i;p++)for(let m=1;m<=r;m++){const v=(r+1)*p+m-1,A=(r+1)*(p-1)+m-1,y=(r+1)*(p-1)+m,x=(r+1)*p+m;o.push(v,A,x),o.push(A,y,x)}this.setIndex(o),this.setAttribute("position",new en(a,3)),this.setAttribute("normal",new en(l,3)),this.setAttribute("uv",new en(c,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new tu(e.radius,e.tube,e.radialSegments,e.tubularSegments,e.arc)}}class MK extends Hn{constructor(e=null){if(super(),this.type="WireframeGeometry",this.parameters={geometry:e},e!==null){const t=[],i=new Set,r=new K,s=new K;if(e.index!==null){const o=e.attributes.position,a=e.index;let l=e.groups;l.length===0&&(l=[{start:0,count:a.count,materialIndex:0}]);for(let c=0,u=l.length;c<u;++c){const f=l[c],h=f.start,p=f.count;for(let m=h,v=h+p;m<v;m+=3)for(let A=0;A<3;A++){const y=a.getX(m+A),x=a.getX(m+(A+1)%3);r.fromBufferAttribute(o,y),s.fromBufferAttribute(o,x),HS(r,s,i)===!0&&(t.push(r.x,r.y,r.z),t.push(s.x,s.y,s.z))}}}else{const o=e.attributes.position;for(let a=0,l=o.count/3;a<l;a++)for(let c=0;c<3;c++){const u=3*a+c,f=3*a+(c+1)%3;r.fromBufferAttribute(o,u),s.fromBufferAttribute(o,f),HS(r,s,i)===!0&&(t.push(r.x,r.y,r.z),t.push(s.x,s.y,s.z))}}this.setAttribute("position",new en(t,3))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}}function HS(n,e,t){const i=`${n.x},${n.y},${n.z}-${e.x},${e.y},${e.z}`,r=`${e.x},${e.y},${e.z}-${n.x},${n.y},${n.z}`;return t.has(i)===!0||t.has(r)===!0?!1:(t.add(i),t.add(r),!0)}class IK extends Cn{constructor(e){super(e),this.isRawShaderMaterial=!0,this.type="RawShaderMaterial"}}class o4 extends Eo{constructor(e){super(),this.isMeshStandardMaterial=!0,this.type="MeshStandardMaterial",this.defines={STANDARD:""},this.color=new ke(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 ke(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=jI,this.normalScale=new Re(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 Pi,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={STANDARD:""},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.envMapIntensity=e.envMapIntensity,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class co extends o4{constructor(e){super(),this.isMeshPhysicalMaterial=!0,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 Re(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return Ot(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 ke(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new ke(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new ke(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(e)}get anisotropy(){return this._anisotropy}set anisotropy(e){this._anisotropy>0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class PK extends Eo{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=y$,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class RK extends Eo{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}function v1(n,e,t){return!n||!t&&n.constructor===e?n:typeof e.BYTES_PER_ELEMENT=="number"?new e(n):Array.prototype.slice.call(n)}function BK(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function DK(n){function e(r,s){return n[r]-n[s]}const t=n.length,i=new Array(t);for(let r=0;r!==t;++r)i[r]=r;return i.sort(e),i}function VS(n,e,t){const i=n.length,r=new n.constructor(i);for(let s=0,o=0;o!==i;++s){const a=t[s]*e;for(let l=0;l!==e;++l)r[o++]=n[a+l]}return r}function lP(n,e,t,i){let r=1,s=n[0];for(;s!==void 0&&s[i]===void 0;)s=n[r++];if(s===void 0)return;let o=s[i];if(o!==void 0)if(Array.isArray(o))do o=s[i],o!==void 0&&(e.push(s.time),t.push.apply(t,o)),s=n[r++];while(s!==void 0);else if(o.toArray!==void 0)do o=s[i],o!==void 0&&(e.push(s.time),o.toArray(t,t.length)),s=n[r++];while(s!==void 0);else do o=s[i],o!==void 0&&(e.push(s.time),t.push(o)),s=n[r++];while(s!==void 0)}class Mp{constructor(e,t,i,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=r!==void 0?r:new t.constructor(i),this.sampleValues=t,this.valueSize=i,this.settings=null,this.DefaultSettings_={}}evaluate(e){const t=this.parameterPositions;let i=this._cachedIndex,r=t[i],s=t[i-1];n:{e:{let o;t:{i:if(!(e<r)){for(let a=i+2;;){if(r===void 0){if(e<s)break i;return i=t.length,this._cachedIndex=i,this.copySampleValue_(i-1)}if(i===a)break;if(s=r,r=t[++i],e<r)break e}o=t.length;break t}if(!(e>=s)){const a=t[1];e<a&&(i=2,s=a);for(let l=i-2;;){if(s===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(i===l)break;if(r=s,s=t[--i-1],e>=s)break e}o=i,i=0;break t}break n}for(;i<o;){const a=i+o>>>1;e<t[a]?o=a:i=a+1}if(r=t[i],s=t[i-1],s===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(r===void 0)return i=t.length,this._cachedIndex=i,this.copySampleValue_(i-1)}this._cachedIndex=i,this.intervalChanged_(i,s,r)}return this.interpolate_(i,s,e,r)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){const t=this.resultBuffer,i=this.sampleValues,r=this.valueSize,s=e*r;for(let o=0;o!==r;++o)t[o]=i[s+o];return t}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}}class LK extends Mp{constructor(e,t,i,r){super(e,t,i,r),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:nS,endingEnd:nS}}intervalChanged_(e,t,i){const r=this.parameterPositions;let s=e-2,o=e+1,a=r[s],l=r[o];if(a===void 0)switch(this.getSettings_().endingStart){case iS:s=e,a=2*t-i;break;case rS:s=r.length-2,a=t+r[s]-r[s+1];break;default:s=e,a=i}if(l===void 0)switch(this.getSettings_().endingEnd){case iS:o=e,l=2*i-t;break;case rS:o=1,l=i+r[1]-r[0];break;default:o=e-1,l=t}const c=(i-t)*.5,u=this.valueSize;this._weightPrev=c/(t-a),this._weightNext=c/(l-i),this._offsetPrev=s*u,this._offsetNext=o*u}interpolate_(e,t,i,r){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=e*a,c=l-a,u=this._offsetPrev,f=this._offsetNext,h=this._weightPrev,p=this._weightNext,m=(i-t)/(r-t),v=m*m,A=v*m,y=-h*A+2*h*v-h*m,x=(1+h)*A+(-1.5-2*h)*v+(-.5+h)*m+1,b=(-1-p)*A+(1.5+p)*v+.5*m,_=p*A-p*v;for(let T=0;T!==a;++T)s[T]=y*o[u+T]+x*o[c+T]+b*o[l+T]+_*o[f+T];return s}}class OK extends Mp{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=e*a,c=l-a,u=(i-t)/(r-t),f=1-u;for(let h=0;h!==a;++h)s[h]=o[c+h]*f+o[l+h]*u;return s}}class FK extends Mp{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e){return this.copySampleValue_(e-1)}}class na{constructor(e,t,i,r){if(e===void 0)throw new Error("THREE.KeyframeTrack: track name is undefined");if(t===void 0||t.length===0)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+e);this.name=e,this.times=v1(t,this.TimeBufferType),this.values=v1(i,this.ValueBufferType),this.setInterpolation(r||this.DefaultInterpolation)}static toJSON(e){const t=e.constructor;let i;if(t.toJSON!==this.toJSON)i=t.toJSON(e);else{i={name:e.name,times:v1(e.times,Array),values:v1(e.values,Array)};const r=e.getInterpolation();r!==e.DefaultInterpolation&&(i.interpolation=r)}return i.type=e.ValueTypeName,i}InterpolantFactoryMethodDiscrete(e){return new FK(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new OK(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new LK(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case J0:t=this.InterpolantFactoryMethodDiscrete;break;case ep:t=this.InterpolantFactoryMethodLinear;break;case r3:t=this.InterpolantFactoryMethodSmooth;break}if(t===void 0){const i="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(this.createInterpolant===void 0)if(e!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw new Error(i);return console.warn("THREE.KeyframeTrack:",i),this}return this.createInterpolant=t,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return J0;case this.InterpolantFactoryMethodLinear:return ep;case this.InterpolantFactoryMethodSmooth:return r3}}getValueSize(){return this.values.length/this.times.length}shift(e){if(e!==0){const t=this.times;for(let i=0,r=t.length;i!==r;++i)t[i]+=e}return this}scale(e){if(e!==1){const t=this.times;for(let i=0,r=t.length;i!==r;++i)t[i]*=e}return this}trim(e,t){const i=this.times,r=i.length;let s=0,o=r-1;for(;s!==r&&i[s]<e;)++s;for(;o!==-1&&i[o]>t;)--o;if(++o,s!==0||o!==r){s>=o&&(o=Math.max(o,1),s=o-1);const a=this.getValueSize();this.times=i.slice(s,o),this.values=this.values.slice(s*a,o*a)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const i=this.times,r=this.values,s=i.length;s===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let a=0;a!==s;a++){const l=i[a];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,l),e=!1;break}if(o!==null&&o>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,l,o),e=!1;break}o=l}if(r!==void 0&&BK(r))for(let a=0,l=r.length;a!==l;++a){const c=r[a];if(isNaN(c)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,c),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===r3,s=e.length-1;let o=1;for(let a=1;a<s;++a){let l=!1;const c=e[a],u=e[a+1];if(c!==u&&(a!==1||c!==e[0]))if(r)l=!0;else{const f=a*i,h=f-i,p=f+i;for(let m=0;m!==i;++m){const v=t[f+m];if(v!==t[h+m]||v!==t[p+m]){l=!0;break}}}if(l){if(a!==o){e[o]=e[a];const f=a*i,h=o*i;for(let p=0;p!==i;++p)t[h+p]=t[f+p]}++o}}if(s>0){e[o]=e[s];for(let a=s*i,l=o*i,c=0;c!==i;++c)t[l+c]=t[a+c];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=t.slice(0,o*i)):(this.times=e,this.values=t),this}clone(){const e=this.times.slice(),t=this.values.slice(),i=this.constructor,r=new i(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}}na.prototype.TimeBufferType=Float32Array;na.prototype.ValueBufferType=Float32Array;na.prototype.DefaultInterpolation=ep;class Vd extends na{constructor(e,t,i){super(e,t,i)}}Vd.prototype.ValueTypeName="bool";Vd.prototype.ValueBufferType=Array;Vd.prototype.DefaultInterpolation=J0;Vd.prototype.InterpolantFactoryMethodLinear=void 0;Vd.prototype.InterpolantFactoryMethodSmooth=void 0;class cP extends na{}cP.prototype.ValueTypeName="color";class Pd extends na{}Pd.prototype.ValueTypeName="number";class UK extends Mp{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=(i-t)/(r-t);let c=e*a;for(let u=c+a;c!==u;c+=4)Xn.slerpFlat(s,0,o,c-a,o,c,l);return s}}class Rd extends na{InterpolantFactoryMethodLinear(e){return new UK(this.times,this.values,this.getValueSize(),e)}}Rd.prototype.ValueTypeName="quaternion";Rd.prototype.InterpolantFactoryMethodSmooth=void 0;class Gd extends na{constructor(e,t,i){super(e,t,i)}}Gd.prototype.ValueTypeName="string";Gd.prototype.ValueBufferType=Array;Gd.prototype.DefaultInterpolation=J0;Gd.prototype.InterpolantFactoryMethodLinear=void 0;Gd.prototype.InterpolantFactoryMethodSmooth=void 0;class Bd extends na{}Bd.prototype.ValueTypeName="vector";class NK{constructor(e="",t=-1,i=[],r=A$){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=So(),this.duration<0&&this.resetDuration()}static parse(e){const t=[],i=e.tracks,r=1/(e.fps||1);for(let o=0,a=i.length;o!==a;++o)t.push(zK(i[o]).scale(r));const s=new this(e.name,e.duration,t,e.blendMode);return s.uuid=e.uuid,s}static toJSON(e){const t=[],i=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let s=0,o=i.length;s!==o;++s)t.push(na.toJSON(i[s]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const s=t.length,o=[];for(let a=0;a<s;a++){let l=[],c=[];l.push((a+s-1)%s,a,(a+1)%s),c.push(0,1,0);const u=DK(l);l=VS(l,1,u),c=VS(c,1,u),!r&&l[0]===0&&(l.push(s),c.push(c[0])),o.push(new Pd(".morphTargetInfluences["+t[a].name+"]",l,c).scale(1/i))}return new this(e,-1,o)}static findByName(e,t){let i=e;if(!Array.isArray(e)){const r=e;i=r.geometry&&r.geometry.animations||r.animations}for(let r=0;r<i.length;r++)if(i[r].name===t)return i[r];return null}static CreateClipsFromMorphTargetSequences(e,t,i){const r={},s=/^([\w-]*?)([\d]+)$/;for(let a=0,l=e.length;a<l;a++){const c=e[a],u=c.name.match(s);if(u&&u.length>1){const f=u[1];let h=r[f];h||(r[f]=h=[]),h.push(c)}}const o=[];for(const a in r)o.push(this.CreateFromMorphTargetSequence(a,r[a],t,i));return o}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(f,h,p,m,v){if(p.length!==0){const A=[],y=[];lP(p,A,y,m),A.length!==0&&v.push(new f(h,A,y))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const c=e.hierarchy||[];for(let f=0;f<c.length;f++){const h=c[f].keys;if(!(!h||h.length===0))if(h[0].morphTargets){const p={};let m;for(m=0;m<h.length;m++)if(h[m].morphTargets)for(let v=0;v<h[m].morphTargets.length;v++)p[h[m].morphTargets[v]]=-1;for(const v in p){const A=[],y=[];for(let x=0;x!==h[m].morphTargets.length;++x){const b=h[m];A.push(b.time),y.push(b.morphTarget===v?1:0)}r.push(new Pd(".morphTargetInfluence["+v+"]",A,y))}l=p.length*o}else{const p=".bones["+t[f].name+"]";i(Bd,p+".position",h,"pos",r),i(Rd,p+".quaternion",h,"rot",r),i(Bd,p+".scale",h,"scl",r)}}return r.length===0?null:new this(s,l,r,a)}resetDuration(){const e=this.tracks;let t=0;for(let i=0,r=e.length;i!==r;++i){const s=this.tracks[i];t=Math.max(t,s.times[s.times.length-1])}return this.duration=t,this}trim(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].trim(0,this.duration);return this}validate(){let e=!0;for(let t=0;t<this.tracks.length;t++)e=e&&this.tracks[t].validate();return e}optimize(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].optimize();return this}clone(){const e=[];for(let t=0;t<this.tracks.length;t++)e.push(this.tracks[t].clone());return new this.constructor(this.name,this.duration,e,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}}function kK(n){switch(n.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return Pd;case"vector":case"vector2":case"vector3":case"vector4":return Bd;case"color":return cP;case"quaternion":return Rd;case"bool":case"boolean":return Vd;case"string":return Gd}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+n)}function zK(n){if(n.type===void 0)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");const e=kK(n.type);if(n.times===void 0){const t=[],i=[];lP(n.keys,t,i,"value"),n.times=t,n.values=i}return e.parse!==void 0?e.parse(n):new e(n.name,n.times,n.values,n.interpolation)}const zl={enabled:!1,files:{},add:function(n,e){this.enabled!==!1&&(this.files[n]=e)},get:function(n){if(this.enabled!==!1)return this.files[n]},remove:function(n){delete this.files[n]},clear:function(){this.files={}}};class HK{constructor(e,t,i){const r=this;let s=!1,o=0,a=0,l;const c=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=i,this.itemStart=function(u){a++,s===!1&&r.onStart!==void 0&&r.onStart(u,o,a),s=!0},this.itemEnd=function(u){o++,r.onProgress!==void 0&&r.onProgress(u,o,a),o===a&&(s=!1,r.onLoad!==void 0&&r.onLoad())},this.itemError=function(u){r.onError!==void 0&&r.onError(u)},this.resolveURL=function(u){return l?l(u):u},this.setURLModifier=function(u){return l=u,this},this.addHandler=function(u,f){return c.push(u,f),this},this.removeHandler=function(u){const f=c.indexOf(u);return f!==-1&&c.splice(f,2),this},this.getHandler=function(u){for(let f=0,h=c.length;f<h;f+=2){const p=c[f],m=c[f+1];if(p.global&&(p.lastIndex=0),p.test(u))return m}return null}}}const VK=new HK;class ia{constructor(e){this.manager=e!==void 0?e:VK,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(e,t){const i=this;return new Promise(function(r,s){i.load(e,r,t,s)})}parse(){}setCrossOrigin(e){return this.crossOrigin=e,this}setWithCredentials(e){return this.withCredentials=e,this}setPath(e){return this.path=e,this}setResourcePath(e){return this.resourcePath=e,this}setRequestHeader(e){return this.requestHeader=e,this}}ia.DEFAULT_MATERIAL_NAME="__DEFAULT";const xa={};class GK extends Error{constructor(e,t){super(e),this.response=t}}class Yl extends ia{constructor(e){super(e)}load(e,t,i,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=zl.get(e);if(s!==void 0)return this.manager.itemStart(e),setTimeout(()=>{t&&t(s),this.manager.itemEnd(e)},0),s;if(xa[e]!==void 0){xa[e].push({onLoad:t,onProgress:i,onError:r});return}xa[e]=[],xa[e].push({onLoad:t,onProgress:i,onError:r});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,l=this.responseType;fetch(o).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||c.body===void 0||c.body.getReader===void 0)return c;const u=xa[e],f=c.body.getReader(),h=c.headers.get("X-File-Size")||c.headers.get("Content-Length"),p=h?parseInt(h):0,m=p!==0;let v=0;const A=new ReadableStream({start(y){x();function x(){f.read().then(({done:b,value:_})=>
vendor: 1,926 bytes, line 118
118{if(b)y.close();else{v+=_.byteLength;const T=new ProgressEvent("progress",{lengthComputable:m,loaded:v,total:p});for(let M=0,I=u.length;M<I;M++){const R=u[M];R.onProgress&&R.onProgress(T)}y.enqueue(_),x()}},b=>{y.error(b)})}}});return new Response(A)}else throw new GK(`fetch for "${c.url}" responded with ${c.status}: ${c.statusText}`,c)}).then(c=>{switch(l){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(u=>new DOMParser().parseFromString(u,a));case"json":return c.json();default:if(a===void 0)return c.text();{const f=/charset="?([^;"\s]*)"?/i.exec(a),h=f&&f[1]?f[1].toLowerCase():void 0,p=new TextDecoder(h);return c.arrayBuffer().then(m=>p.decode(m))}}}).then(c=>{zl.add(e,c);const u=xa[e];delete xa[e];for(let f=0,h=u.length;f<h;f++){const p=u[f];p.onLoad&&p.onLoad(c)}}).catch(c=>{const u=xa[e];if(u===void 0)throw this.manager.itemError(e),c;delete xa[e];for(let f=0,h=u.length;f<h;f++){const p=u[f];p.onError&&p.onError(c)}this.manager.itemError(e)}).finally(()=>{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class uP extends ia{constructor(e){super(e)}load(e,t,i,r){this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,o=zl.get(e);if(o!==void 0)return s.manager.itemStart(e),setTimeout(function(){t&&t(o),s.manager.itemEnd(e)},0),o;const a=tp("img");function l(){u(),zl.add(e,this),t&&t(this),s.manager.itemEnd(e)}function c(f){u(),r&&r(f),s.manager.itemError(e),s.manager.itemEnd(e)}function u(){a.removeEventListener("load",l,!1),a.removeEventListener("error",c,!1)}return a.addEventListener("load",l,!1),a.addEventListener("error",c,!1),e.slice(0,5)!=="data:"&&this.crossOrigin!==void 0&&(a.crossOrigin=this.crossOrigin),s.manager.itemStart(e),a.src=e,a}}class QK extends ia{constructor(e){super(e)}load(e,t,i,r){const s=new np;
vendor: 6,174 bytes, line 118
118s.colorSpace=En;const o=new uP(this.manager);o.setCrossOrigin(this.crossOrigin),o.setPath(this.path);let a=0;function l(c){o.load(e[c],function(u){s.images[c]=u,a++,a===6&&(s.needsUpdate=!0,t&&t(s))},void 0,r)}for(let c=0;c<e.length;++c)l(c);return s}}class WK extends ia{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new zd,a=new Yl(this.manager);return a.setResponseType("arraybuffer"),a.setRequestHeader(this.requestHeader),a.setPath(this.path),a.setWithCredentials(s.withCredentials),a.load(e,function(l){let c;try{c=s.parse(l)}catch(u){if(r!==void 0)r(u);else{console.error(u);return}}c.image!==void 0?o.image=c.image:c.data!==void 0&&(o.image.width=c.width,o.image.height=c.height,o.image.data=c.data),o.wrapS=c.wrapS!==void 0?c.wrapS:ti,o.wrapT=c.wrapT!==void 0?c.wrapT:ti,o.magFilter=c.magFilter!==void 0?c.magFilter:Yt,o.minFilter=c.minFilter!==void 0?c.minFilter:Yt,o.anisotropy=c.anisotropy!==void 0?c.anisotropy:1,c.colorSpace!==void 0&&(o.colorSpace=c.colorSpace),c.flipY!==void 0&&(o.flipY=c.flipY),c.format!==void 0&&(o.format=c.format),c.type!==void 0&&(o.type=c.type),c.mipmaps!==void 0&&(o.mipmaps=c.mipmaps,o.minFilter=Fs),c.mipmapCount===1&&(o.minFilter=Yt),c.generateMipmaps!==void 0&&(o.generateMipmaps=c.generateMipmaps),o.needsUpdate=!0,t&&t(o,c)},i,r),o}}class fP extends ia{constructor(e){super(e)}load(e,t,i,r){const s=new xn,o=new uP(this.manager);return o.setCrossOrigin(this.crossOrigin),o.setPath(this.path),o.load(e,function(a){s.image=a,s.needsUpdate=!0,t!==void 0&&t(s)},i,r),s}}class PA extends Wt{constructor(e,t=1){super(),this.isLight=!0,this.type="Light",this.color=new ke(e),this.intensity=t}dispose(){}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){const t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),this.target!==void 0&&(t.object.target=this.target.uuid),t}}const P3=new Ct,GS=new K,QS=new K;class a4{constructor(e){this.camera=e,this.intensity=1,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new Re(512,512),this.map=null,this.mapPass=null,this.matrix=new Ct,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new r4,this._frameExtents=new Re(1,1),this._viewportCount=1,this._viewports=[new Vt(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const t=this.camera,i=this.matrix;GS.setFromMatrixPosition(e.matrixWorld),t.position.copy(GS),QS.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(QS),t.updateMatrixWorld(),P3.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(P3),i.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),i.multiply(P3)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.intensity=e.intensity,this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const e={};return this.intensity!==1&&(e.intensity=this.intensity),this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}class jK extends a4{constructor(){super(new Zi(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(e){const t=this.camera,i=Md*2*e.angle*this.focus,r=this.mapSize.width/this.mapSize.height,s=e.distance||t.far;(i!==t.fov||r!==t.aspect||s!==t.far)&&(t.fov=i,t.aspect=r,t.far=s,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}}class qK extends PA{constructor(e,t,i=0,r=Math.PI/3,s=0,o=2){super(e,t),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(Wt.DEFAULT_UP),this.updateMatrix(),this.target=new Wt,this.distance=i,this.angle=r,this.penumbra=s,this.decay=o,this.map=null,this.shadow=new jK}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}const WS=new Ct,Bh=new K,R3=new K;class XK extends a4{constructor(){super(new Zi(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new Re(4,2),this._viewportCount=6,this._viewports=[new Vt(2,1,1,1),new Vt(0,1,1,1),new Vt(3,1,1,1),new Vt(1,1,1,1),new Vt(3,0,1,1),new Vt(1,0,1,1)],this._cubeDirections=[new K(1,0,0),new K(-1,0,0),new K(0,0,1),new K(0,0,-1),new K(0,1,0),new K(0,-1,0)],this._cubeUps=[new K(0,1,0),new K(0,1,0),new K(0,1,0),new K(0,1,0),new K(0,0,1),new K(0,0,-1)]}updateMatrices(e,t=0){const i=this.camera,r=this.matrix,s=e.distance||i.far;s!==i.far&&(i.far=s,i.updateProjectionMatrix()),Bh.setFromMatrixPosition(e.matrixWorld),i.position.copy(Bh),R3.copy(i.position),R3.add(this._cubeDirections[t]),i.up.copy(this._cubeUps[t]),i.lookAt(R3),i.updateMatrixWorld(),r.makeTranslation(-Bh.x,-Bh.y,-Bh.z),WS.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse),this._frustum.setFromProjectionMatrix(WS)}}class YK extends PA{constructor(e,t,i=0,r=2){super(e,t),this.isPointLight=!0,this.type="PointLight",this.distance=i,this.decay=r,this.shadow=new XK}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}class Ou extends TA{constructor(e=-1,t=1,i=1,r=-1,s=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="Orthogra
118phicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=i,this.bottom=r,this.near=s,this.far=o,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,i,r,s,o){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,r=(this.top+this.bottom)/2;let s=i-e,o=i+e,a=r+t,l=r-t;if(this.view!==null&&this.view.enabled){const c=(this.right-this.left)/this.view.fullWidth/this.zoom,u=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=c*this.view.offsetX,o=s+c*this.view.width,a-=u*this.view.offsetY,l=a-u*this.view.height}this.projectionMatrix.makeOrthographic(s,o,a,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}class $K extends a4{constructor(){super(new Ou(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class jg extends PA{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(Wt.DEFAULT_UP),this.updateMatrix(),this.target=new Wt,this.shadow=new $K}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}class KK extends PA{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type="AmbientLight"}}class T0{static decodeText(e){if(console.warn("THREE.LoaderUtils: decodeText() has been deprecated with r165 and will be removed with r175. Use TextDecoder instead."),typeof TextDecoder<"u")return new TextDecoder().decode(e);let t="";for(let i=0,r=e.length;i<r;i++)t+=String.fromCharCode(e[i]);try{return decodeURIComponent(escape(t))}catch{return t}}static extractUrlBase(e){const t=e.lastIndexOf("/");return t===-1?"./":e.slice(0,t+1)}static resolveURL(e,t){return typeof e!="string"||e===""?"":(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}}class ZK extends Hn{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(e){return super.copy(e),this.instanceCount=e.instanceCount,this}toJSON(){const e=super.toJSON();return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}}class JK extends ia{constructor(e){super(e),this.isImageBitmapLoader=!0,typeof createImageBitmap>"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,i,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,o=zl.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(c=>{t&&t(c),s.manager.itemEnd(e)}).catch(c=>{r&&r(c)});return}return setTimeout(function(){t&&t(o),s.manager.itemEnd(e)},0),o}const a={};a.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",a.headers=this.requestHeader;const l=fetch(e,a).then(function(c){return c.blob()}).then(function(c){return createImageBitmap(c,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(c){return zl.add(e,c),t&&t(c),s.manager.itemEnd(e),c}).catch(function(c){r&&r(c),zl.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});zl.add(e,l),s.manager.itemStart(e)}}class eZ extends Zi{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e,this.index=0}}class dP{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=jS(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=jS();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function jS(){return performance.now()}const l4="\\[\\]\\.:\\/",tZ=new RegExp("["+l4+"]","g"),c4="[^"+l4+"]",nZ="[^"+l4.replace("\\.","")+"]",iZ=/((?:WC+[\/:])*)/.source.replace("WC",c4),rZ=/(WCOD+)?/.source.replace("WCOD",nZ),sZ=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",c4),oZ=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",c4),aZ=new RegExp("^"+iZ+rZ+sZ+oZ+"$"),lZ=["material","materials","bones","map"];class cZ{constructor(e,t,i){const r=i||bn.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();const i=this._targetGroup.nCachedObjects_,r=this._bindings[i];r!==void 0&&r.getValue(e,t)}setValue(e,t){const i=this._bindings;for(let r=this._targetGroup.nCachedObjects_,s=i.length;r!==s;++r)i[r].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].unbind()}}class bn{constructor(e,t,i){this.path=t,this.parsedPath=i||bn.parseTrackName(t),this.node=bn.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,i){return e&&e.isAnimationObjectGroup?new bn.Composite(e,t,i):new bn(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(tZ,"")}static parseTrackName(e){const t=aZ.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const i={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=i.nodeName&&i.nodeName.lastIndexOf(".");if(r!==void 0&&r!==-1){const s=i.nodeName.substring(r+1);lZ.indexOf(s)!==-1&&(i.nodeName=i.nodeName.substring(0,r),i.objectName=s)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return i}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const i=e.skeleton.getBoneByName(t);if(i!==void 0)return i}if(e.children){const i=function(s){for(let o=0;o<s.length;o++){const a=s[o];if(a.name===t||a.uuid===t)return a;const l=i(a.children);if(l)return l}return null},r=i(e.children);if(r)return r}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(e,t){e[t]=this.targetObject[this.propertyName]}_getValue_array(e,t){const i=this.resolvedProperty;for(let r=0,s=i.length;r!==s;++r)e[t++]=i[r]}_getValue_arrayElement(e,t){e[t]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(e,t){this.resolvedProperty.toArray(e,t)}_setValue_direct(e,t){this.targetObject[this.propertyName]=e[t]}_setValue_direct_setNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(e,t){const i=this.resolvedProperty;for(let r=0,s=i.length;r!==s;++r)i[r]=e[t++]}_setValue_array_setNeedsUpdate(e,t){const i=this.resolvedProperty;for(let r=0,s=i.length;r!==s;++r)i[r]=e[t++];this.targetObject.needsUpdate=!0}
vendor: 9,581 bytes, line 118
118_setValue_array_setMatrixWorldNeedsUpdate(e,t){const i=this.resolvedProperty;for(let r=0,s=i.length;r!==s;++r)i[r]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(e,t){this.resolvedProperty[this.propertyIndex]=e[t]}_setValue_arrayElement_setNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(e,t){this.resolvedProperty.fromArray(e,t)}_setValue_fromArray_setNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(e,t){this.bind(),this.getValue(e,t)}_setValue_unbound(e,t){this.bind(),this.setValue(e,t)}bind(){let e=this.node;const t=this.parsedPath,i=t.objectName,r=t.propertyName;let s=t.propertyIndex;if(e||(e=bn.findNode(this.rootNode,t.nodeName),this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!e){console.warn("THREE.PropertyBinding: No target node found for track: "+this.path+".");return}if(i){let c=t.objectIndex;switch(i){case"materials":if(!e.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!e.material.materials){console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);return}e=e.material.materials;break;case"bones":if(!e.skeleton){console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);return}e=e.skeleton.bones;for(let u=0;u<e.length;u++)if(e[u].name===c){c=u;break}break;case"map":if("map"in e){e=e.map;break}if(!e.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!e.material.map){console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);return}e=e.material.map;break;default:if(e[i]===void 0){console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);return}e=e[i]}if(c!==void 0){if(e[c]===void 0){console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,e);return}e=e[c]}}const o=e[r];if(o===void 0){const c=t.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+c+"."+r+" but it wasn't found.",e);return}let a=this.Versioning.None;this.targetObject=e,e.isMaterial===!0?a=this.Versioning.NeedsUpdate:e.isObject3D===!0&&(a=this.Versioning.MatrixWorldNeedsUpdate);let l=this.BindingType.Direct;if(s!==void 0){if(r==="morphTargetInfluences"){if(!e.geometry){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);return}if(!e.geometry.morphAttributes){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);return}e.morphTargetDictionary[s]!==void 0&&(s=e.morphTargetDictionary[s])}l=this.BindingType.ArrayElement,this.resolvedProperty=o,this.propertyIndex=s}else o.fromArray!==void 0&&o.toArray!==void 0?(l=this.BindingType.HasFromToArray,this.resolvedProperty=o):Array.isArray(o)?(l=this.BindingType.EntireArray,this.resolvedProperty=o):this.propertyName=r;this.getValue=this.GetterByBindingType[l],this.setValue=this.SetterByBindingTypeAndVersioning[l][a]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}bn.Composite=cZ;bn.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};bn.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};bn.prototype.GetterByBindingType=[bn.prototype._getValue_direct,bn.prototype._getValue_array,bn.prototype._getValue_arrayElement,bn.prototype._getValue_toArray];bn.prototype.SetterByBindingTypeAndVersioning=[[bn.prototype._setValue_direct,bn.prototype._setValue_direct_setNeedsUpdate,bn.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[bn.prototype._setValue_array,bn.prototype._setValue_array_setNeedsUpdate,bn.prototype._setValue_array_setMatrixWorldNeedsUpdate],[bn.prototype._setValue_arrayElement,bn.prototype._setValue_arrayElement_setNeedsUpdate,bn.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[bn.prototype._setValue_fromArray,bn.prototype._setValue_fromArray_setNeedsUpdate,bn.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];class Yr extends n4{constructor(e,t,i=1){super(e,t),this.isInstancedInterleavedBuffer=!0,this.meshPerAttribute=i}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}clone(e){const t=super.clone(e);return t.meshPerAttribute=this.meshPerAttribute,t}toJSON(e){const t=super.toJSON(e);return t.isInstancedInterleavedBuffer=!0,t.meshPerAttribute=this.meshPerAttribute,t}}const qS=new Ct;class u4{constructor(e,t,i=0,r=1/0){this.ray=new kd(e,t),this.near=i,this.far=r,this.camera=null,this.layers=new t4,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,t){t.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize(),this.camera=t):t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld),this.camera=t):console.error("THREE.Raycaster: Unsupported camera type: "+t.type)}setFromXRController(e){return qS.identity().extractRotation(e.matrixWorld),this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(0,0,-1).applyMatrix4(qS),this}intersectObject(e,t=!0,i=[]){return Ib(e,this,i,t),i.sort(XS),i}intersectObjects(e,t=!0,i=[]){for(let r=0,s=e.length;r<s;r++)Ib(e[r],this,i,t);return i.sort(XS),i}}function XS(n,e){return n.distance-e.distance}function Ib(n,e,t,i){let r=!0;if(n.layers.test(e.layers)&&n.raycast(e,t)===!1&&(r=!1),r===!0&&i===!0){const s=n.children;for(let o=0,a=s.length;o<a;o++)Ib(s[o],e,t,!0)}}class YS{constructor(e=1,t=0,i=0){return this.radius=e,this.phi=t,this.theta=i,this}set(e,t,i){return this.radius=e,this.phi=t,this.theta=i,this}copy(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this}makeSafe(){return this.phi=Ot(this.phi,1e-6,Math.PI-1e-6),this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,i){return this.radius=Math.sqrt(e*e+t*t+i*i),this.radius===0?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e,i),this.phi=Math.acos(Ot(t/this.radius,-1,1))),this}clone(){return new this.constructor().copy(this)}}const $S=new K,y1=new K;class uZ{constructor(e=new K,t=new K){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){$S.subVectors(e,this.start),y1.subVectors(this.end,this.start);const i=y1.dot(y1);let s=y1.dot($S)/i;return t&&(s=Ot(s,0,1)),s}closestPointToPoint(e,t,i){const r=this.closestPointToPointParameter(e,t);return this.delta(i).multiplyScalar(r).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}class hP extends MA{constructor(e=10,t=10,i=4473924,r=8947848){i=new ke(i),r=new ke(r);const s=t/2,o=e/t,a=e/2,l=[],c=[];for(let h=0,p=0,m=-a;h<=t;h++,m+=o){l.push(-a,0,m,a,0,m),l.push(m,0,-a,m,0,a);const v=h===s?i:r;v.toArray(c,p),p+=3,v.toArray(c,p),p+=3,v.toArray(c,p),p+=3,v.toArray(c,p),p+=3}const u=new Hn;u.setAttribute("position",new en(l,3)),u.setAttribute("color",new en(c,3));const f=new Lu({vertexColors:!0,toneMapped:!1});super(u,f),this.type="GridHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}}const KS=new K,_1=new K,ZS=new K;class JS extends Wt{constructor(e,t,i){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=i,this.type="DirectionalLightHelper",t===void 0&&(t=1);let r=new Hn;r.setAttribute("position",new en([-t,t,0,t,t,0,t,-t,0,-t,-t,0,-t,t,0],3));const s=new Lu({fog:!1,toneMapped:!1});this.lightPlane=new Ms(r,s),this.add(this.lightPlane),r=new Hn,r.setAttribute("position",new en([0,0,0,0,0,1],3)),this.targetLine=new Ms(r,s),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(!0,!1),this.light.target.updateWorldMatrix(!0,!1),KS.setFromMatrixPosition(this.light.matrixWorld),_1.setFromMatrixPosition(this.light.target.matrixWorld),ZS.subVectors(_1,KS),this.lightPlane.lookAt(_1),this.color!==void 0?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(_1),this.targetLine.scale.z
118=ZS.length()}}const b1=new K,ui=new TA;class f4 extends MA{constructor(e){const t=new Hn,i=new Lu({color:16777215,vertexColors:!0,toneMapped:!1}),r=[],s=[],o={};a("n1","n2"),a("n2","n4"),a("n4","n3"),a("n3","n1"),a("f1","f2"),a("f2","f4"),a("f4","f3"),a("f3","f1"),a("n1","f1"),a("n2","f2"),a("n3","f3"),a("n4","f4"),a("p","n1"),a("p","n2"),a("p","n3"),a("p","n4"),a("u1","u2"),a("u2","u3"),a("u3","u1"),a("c","t"),a("p","c"),a("cn1","cn2"),a("cn3","cn4"),a("cf1","cf2"),a("cf3","cf4");function a(m,v){l(m),l(v)}function l(m){r.push(0,0,0),s.push(0,0,0),o[m]===void 0&&(o[m]=[]),o[m].push(r.length/3-1)}t.setAttribute("position",new en(r,3)),t.setAttribute("color",new en(s,3)),super(t,i),this.type="CameraHelper",this.camera=e,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=o,this.update();const c=new ke(16755200),u=new ke(16711680),f=new ke(43775),h=new ke(16777215),p=new ke(3355443);this.setColors(c,u,f,h,p)}setColors(e,t,i,r,s){const a=this.geometry.getAttribute("color");a.setXYZ(0,e.r,e.g,e.b),a.setXYZ(1,e.r,e.g,e.b),a.setXYZ(2,e.r,e.g,e.b),a.setXYZ(3,e.r,e.g,e.b),a.setXYZ(4,e.r,e.g,e.b),a.setXYZ(5,e.r,e.g,e.b),a.setXYZ(6,e.r,e.g,e.b),a.setXYZ(7,e.r,e.g,e.b),a.setXYZ(8,e.r,e.g,e.b),a.setXYZ(9,e.r,e.g,e.b),a.setXYZ(10,e.r,e.g,e.b),a.setXYZ(11,e.r,e.g,e.b),a.setXYZ(12,e.r,e.g,e.b),a.setXYZ(13,e.r,e.g,e.b),a.setXYZ(14,e.r,e.g,e.b),a.setXYZ(15,e.r,e.g,e.b),a.setXYZ(16,e.r,e.g,e.b),a.setXYZ(17,e.r,e.g,e.b),a.setXYZ(18,e.r,e.g,e.b),a.setXYZ(19,e.r,e.g,e.b),a.setXYZ(20,e.r,e.g,e.b),a.setXYZ(21,e.r,e.g,e.b),a.setXYZ(22,e.r,e.g,e.b),a.setXYZ(23,e.r,e.g,e.b),a.setXYZ(24,t.r,t.g,t.b),a.setXYZ(25,t.r,t.g,t.b),a.setXYZ(26,t.r,t.g,t.b),a.setXYZ(27,t.r,t.g,t.b),a.setXYZ(28,t.r,t.g,t.b),a.setXYZ(29,t.r,t.g,t.b),a.setXYZ(30,t.r,t.g,t.b),a.setXYZ(31,t.r,t.g,t.b),a.setXYZ(32,i.r,i.g,i.b),a.setXYZ(33,i.r,i.g,i.b),a.setXYZ(34,i.r,i.g,i.b),a.setXYZ(35,i.r,i.g,i.b),a.setXYZ(36,i.r,i.g,i.b),a.setXYZ(37,i.r,i.g,i.b),a.setXYZ(38,r.r,r.g,r.b),a.setXYZ(39,r.r,r.g,r.b),a.setXYZ(40,s.r,s.g,s.b),a.setXYZ(41,s.r,s.g,s.b),a.setXYZ(42,s.r,s.g,s.b),a.setXYZ(43,s.r,s.g,s.b),a.setXYZ(44,s.r,s.g,s.b),a.setXYZ(45,s.r,s.g,s.b),a.setXYZ(46,s.r,s.g,s.b),a.setXYZ(47,s.r,s.g,s.b),a.setXYZ(48,s.r,s.g,s.b),a.setXYZ(49,s.r,s.g,s.b),a.needsUpdate=!0}update(){const e=this.geometry,t=this.pointMap,i=1,r=1;ui.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse);const s=this.camera.coordinateSystem===Ko?-1:0;yi("c",t,e,ui,0,0,s),yi("t",t,e,ui,0,0,1),yi("n1",t,e,ui,-1,-1,s),yi("n2",t,e,ui,i,-1,s),yi("n3",t,e,ui,-1,r,s),yi("n4",t,e,ui,i,r,s),yi("f1",t,e,ui,-1,-1,1),yi("f2",t,e,ui,i,-1,1),yi("f3",t,e,ui,-1,r,1),yi("f4",t,e,ui,i,r,1),yi("u1",t,e,ui,i*.7,r*1.1,s),yi("u2",t,e,ui,-1*.7,r*1.1,s),yi("u3",t,e,ui,0,r*2,s),yi("cf1",t,e,ui,-1,0,1),yi("cf2",t,e,ui,i,0,1),yi("cf3",t,e,ui,0,-1,1),yi("cf4",t,e,ui,0,r,1),yi("cn1",t,e,ui,-1,0,s),yi("cn2",t,e,ui,i,0,s),yi("cn3",t,e,ui,0,-1,s),yi("cn4",t,e,ui,0,r,s),e.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}}function yi(n,e,t,i,r,s,o){b1.set(r,s,o).unproject(i);const a=e[n];if(a!==void 0){const l=t.getAttribute("position");for(let c=0,u=a.length;c<u;c++)l.setXYZ(a[c],b1.x,b1.y,b1.z)}}class fZ extends MA{constructor(e,t=16776960){const i=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]),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],s=new Hn;s.setIndex(new Gi(i,1)),s.setAttribute("position",new en(r,3)),super(s,new Lu({color:t,toneMapped:!1})),this.box=e,this.type="Box3Helper",this.geometry.computeBoundingSphere()}updateMatrixWorld(e){const t=this.box;t.isEmpty()||(t.getCenter(this.position),t.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(e))}dispose(){this.geometry.dispose(),this.material.dispose()}}class pP extends ac{constructor(e,t=null){super(),this.object=e,this.domElement=t,this.enabled=!0,this.state=-1,this.keys={},this.mouseButtons={LEFT:null,MIDDLE:null,RIGHT:null},this.touches={ONE:null,TWO:null}}connect(){}disconnect(){}dispose(){}update(){}}function e8(n,e,t,i){const r=dZ(i);switch(t){case zI:return n*e;case VI:return n*e;case GI:return n*e*2;case kl:return n*e/r.components*r.byteLength;case $x:return n*e/r.components*r.byteLength;case ou:return n*e*2/r.components*r.byteLength;case Kx:return n*e*2/r.components*r.byteLength;case HI:return n*e*3/r.components*r.byteLength;case pi:return n*e*4/r.components*r.byteLength;case Zx:return n*e*4/r.components*r.byteLength;case K1:case x0:return Math.floor((n+3)/4)*Math.floor((e+3)/4)*8;case Z1:case C0:return Math.floor((n+3)/4)*Math.floor((e+3)/4)*16;case lb:case cb:return Math.max(n,16)*Math.max(e,8)/4;case Og:case Fg:return Math.max(n,8)*Math.max(e,8)/2;case Ug:case Ng:return Math.floor((n+3)/4)*Math.floor((e+3)/4)*8;case kg:return Math.floor((n+3)/4)*Math.floor((e+3)/4)*16;case K0:return Math.floor((n+3)/4)*Math.floor((e+3)/4)*16;case ub:return Math.floor((n+4)/5)*Math.floor((e+3)/4)*16;case fb:return Math.floor((n+4)/5)*Math.floor((e+4)/5)*16;case db:return Math.floor((n+5)/6)*Math.floor((e+4)/5)*16;case Z0:return Math.floor((n+5)/6)*Math.floor((e+5)/6)*16;case hb:return Math.floor((n+7)/8)*Math.floor((e+4)/5)*16;case pb:return Math.floor((n+7)/8)*Math.floor((e+5)/6)*16;case mb:return Math.floor((n+7)/8)*Math.floor((e+7)/8)*16;case gb:return Math.floor((n+9)/10)*Math.floor((e+4)/5)*16;case Ab:return Math.floor((n+9)/10)*Math.floor((e+5)/6)*16;case vb:return Math.floor((n+9)/10)*Math.floor((e+7)/8)*16;case yb:return Math.floor((n+9)/10)*Math.floor((e+9)/10)*16;case _b:return Math.floor((n+11)/12)*Math.floor((e+9)/10)*16;case bb:return Math.floor((n+11)/12)*Math.floor((e+11)/12)*16;case w0:case xb:case zg:return Math.ceil(n/4)*Math.ceil(e/4)*16;case QI:case Cb:return Math.ceil(n/4)*Math.ceil(e/4)*8;case wb:case Sb:return Math.ceil(n/4)*Math.ceil(e/4)*16}throw new Error(`Unable to determine texture byte length for ${t} format.`)}function dZ(n){switch(n){case Ki:case UI:return{byteLength:1,components:1};case $0:case NI:case nn:return{byteLength:2,components:1};case Xx:case Yx:return{byteLength:2,components:4};case Pu:case qx:case Zt:return{byteLength:4,components:1};case kI:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${n}.`)}typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:Qx}}));typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=Qx);/**
119 * @license
120 * Copyright 2010-2025 Three.js Authors
121 * SPDX-License-Identifier: MIT
122 */function mP(){let n=null,e=!1,t=null,i=null;function r(s,o){t(s,o),i=n.requestAnimationFrame(r)}return{start:function(){e!==!0&&t!==null&&(i=n.requestAnimationFrame(r),e=!0)},stop:function(){n.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(s){t=s},setContext:function(s){n=s}}}function hZ(n){const e=new WeakMap;function t(a,l){const c=a.array,u=a.usage,f=c.byteLength,h=n.createBuffer();n.bindBuffer(l,h),n.bufferData(l,c,u),a.onUploadCallback();let p;if(c instanceof Float32Array)p=n.FLOAT;else if(c instanceof Uint16Array)a.isFloat16BufferAttribute?p=n.HALF_FLOAT:p=n.UNSIGNED_SHORT;else if(c instanceof Int16Array)p=n.SHORT;else if(c instanceof Uint32Array)p=n.UNSIGNED_INT;else if(c instanceof Int32Array)p=n.INT;else if(c instanceof Int8Array)p=n.BYTE;else if(c instanceof Uint8Array)p=n.UNSIGNED_BYTE;else if(c instanceof Uint8ClampedArray)p=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+c);return{buffer:h,type:p,bytesPerElement:c.BYTES_PER_ELEMENT,version:a.version,size:f}}function i(a,l,c){const u=l.array,f=l.updateRanges;if(n.bindBuffer(c,a),f.length===0)n.bufferSubData(c,0,u);else{f.sort((p,m)=>p.start-m.start);let h=0;for(let p=1;p<f.length;p++){const m=f[h],v=f[p];v.start<=m.start+m.count+1?m.count=Math.max(m.count,v.start+v.count-m.start):(++h,f[h]=v)}f.length=h+1;for(let p=0,m=f.length;p<m;p++){const v=f[p];n.bufferSubData(c,v.start*u.BYTES_PER_ELEMENT,u,v.start,v.count)}l.clearUpdateRanges()}l.onUploadCallback()}function r(a){return a.isInterleavedBufferAttribute&&(a=a.data),e.get(a)}function s(a){a.isInterleavedBufferAttribute&&(a=a.data);const l=e.get(a);l&&(n.deleteBuffer(l.buffer),e.delete(a))}function o(a,l){if(a.isInterleavedBufferAttribute&&(a=a.data),a.isGLBufferAttribute){const u=e.get(a);(!u||u.version<a.version)&&e.set(a,{buffer:a.buffer,type:a.type,bytesPerElement:a.elementSize,version:a.version});return}const c=e.get(a);if(c===void 0)e.set(a,t(a,l));else if(c.version<a.version){if(c.size!==a.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.");i(c.buffer,a,l),c.version=a.version}}return{get:r,remove:s,update:o}}var pZ=`#ifdef USE_ALPHAHASH
123	if ( diffuseColor.a < getAlphaHashThreshold( vPosition ) ) discard;
124#endif`,mZ=`#ifdef USE_ALPHAHASH
125	const float ALPHA_HASH_SCALE = 0.05;
126	float hash2D( vec2 value ) {
127		return fract( 1.0e4 * sin( 17.0 * value.x + 0.1 * value.y ) * ( 0.1 + abs( sin( 13.0 * value.y + value.x ) ) ) );
128	}
129	float hash3D( vec3 value ) {
130		return hash2D( vec2( hash2D( value.xy ), value.z ) );
131	}
132	float getAlphaHashThreshold( vec3 position ) {
133		float maxDeriv = max(
134			length( dFdx( position.xyz ) ),
135			length( dFdy( position.xyz ) )
136		);
137		float pixScale = 1.0 / ( ALPHA_HASH_SCALE * maxDeriv );
138		vec2 pixScales = vec2(
139			exp2( floor( log2( pixScale ) ) ),
140			exp2( ceil( log2( pixScale ) ) )
141		);
142		vec2 alpha = vec2(
143			hash3D( floor( pixScales.x * position.xyz ) ),
144			hash3D( floor( pixScales.y * position.xyz ) )
145		);
146		float lerpFactor = fract( log2( pixScale ) );
147		float x = ( 1.0 - lerpFactor ) * alpha.x + lerpFactor * alpha.y;
148		float a = min( lerpFactor, 1.0 - lerpFactor );
149		vec3 cases = vec3(
150			x * x / ( 2.0 * a * ( 1.0 - a ) ),
151			( x - 0.5 * a ) / ( 1.0 - a ),
152			1.0 - ( ( 1.0 - x ) * ( 1.0 - x ) / ( 2.0 * a * ( 1.0 - a ) ) )
153		);
154		float threshold = ( x < ( 1.0 - a ) )
155			? ( ( x < a ) ? cases.x : cases.y )
156			: cases.z;
157		return clamp( threshold , 1.0e-6, 1.0 );
158	}
159#endif`,gZ=`#ifdef USE_ALPHAMAP
160	diffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g;
161#endif`,AZ=`#ifdef USE_ALPHAMAP
162	uniform sampler2D alphaMap;
163#endif`,vZ=`#ifdef USE_ALPHATEST
164	#ifdef ALPHA_TO_COVERAGE
165	diffuseColor.a = smoothstep( alphaTest, alphaTest + fwidth( diffuseColor.a ), diffuseColor.a );
166	if ( diffuseColor.a == 0.0 ) discard;
167	#else
168	if ( diffuseColor.a < alphaTest ) discard;
169	#endif
170#endif`,yZ=`#ifdef USE_ALPHATEST
171	uniform float alphaTest;
172#endif`,_Z=`#ifdef USE_AOMAP
173	float ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0;
174	reflectedLight.indirectDiffuse *= ambientOcclusion;
175	#if defined( USE_CLEARCOAT ) 
176		clearcoatSpecularIndirect *= ambientOcclusion;
177	#endif
178	#if defined( USE_SHEEN ) 
179		sheenSpecularIndirect *= ambientOcclusion;
180	#endif
181	#if defined( USE_ENVMAP ) && defined( STANDARD )
182		float dotNV = saturate( dot( geometryNormal, geometryViewDir ) );
183		reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );
184	#endif
185#endif`,bZ=`#ifdef USE_AOMAP
186	uniform sampler2D aoMap;
187	uniform float aoMapIntensity;
188#endif`,xZ=`#ifdef USE_BATCHING
189	#if ! defined( GL_ANGLE_multi_draw )
190	#define gl_DrawID _gl_DrawID
191	uniform int _gl_DrawID;
192	#endif
193	uniform highp sampler2D batchingTexture;
194	uniform highp usampler2D batchingIdTexture;
195	mat4 getBatchingMatrix( const in float i ) {
196		int size = textureSize( batchingTexture, 0 ).x;
197		int j = int( i ) * 4;
198		int x = j % size;
199		int y = j / size;
200		vec4 v1 = texelFetch( batchingTexture, ivec2( x, y ), 0 );
201		vec4 v2 = texelFetch( batchingTexture, ivec2( x + 1, y ), 0 );
202		vec4 v3 = texelFetch( batchingTexture, ivec2( x + 2, y ), 0 );
203		vec4 v4 = texelFetch( batchingTexture, ivec2( x + 3, y ), 0 );
204		return mat4( v1, v2, v3, v4 );
205	}
206	float getIndirectIndex( const in int i ) {
207		int size = textureSize( batchingIdTexture, 0 ).x;
208		int x = i % size;
209		int y = i / size;
210		return float( texelFetch( batchingIdTexture, ivec2( x, y ), 0 ).r );
211	}
212#endif
213#ifdef USE_BATCHING_COLOR
214	uniform sampler2D batchingColorTexture;
215	vec3 getBatchingColor( const in float i ) {
216		int size = textureSize( batchingColorTexture, 0 ).x;
217		int j = int( i );
218		int x = j % size;
219		int y = j / size;
220		return texelFetch( batchingColorTexture, ivec2( x, y ), 0 ).rgb;
221	}
222#endif`,CZ=`#ifdef USE_BATCHING
223	mat4 batchingMatrix = getBatchingMatrix( getIndirectIndex( gl_DrawID ) );
224#endif`,wZ=`vec3 transformed = vec3( position );
225#ifdef USE_ALPHAHASH
226	vPosition = vec3( position );
227#endif`,SZ=`vec3 objectNormal = vec3( normal );
228#ifdef USE_TANGENT
229	vec3 objectTangent = vec3( tangent.xyz );
230#endif`,EZ=`float G_BlinnPhong_Implicit( ) {
231	return 0.25;
232}
233float D_BlinnPhong( const in float shininess, const in float dotNH ) {
234	return RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );
235}
236vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {
237	vec3 halfDir = normalize( lightDir + viewDir );
238	float dotNH = saturate( dot( normal, halfDir ) );
239	float dotVH = saturate( dot( viewDir, halfDir ) );
240	vec3 F = F_Schlick( specularColor, 1.0, dotVH );
241	float G = G_BlinnPhong_Implicit( );
242	float D = D_BlinnPhong( shininess, dotNH );
243	return F * ( G * D );
244} // validated`,TZ=`#ifdef USE_IRIDESCENCE
245	const mat3 XYZ_TO_REC709 = mat3(
246		 3.2404542, -0.9692660,  0.0556434,
247		-1.5371385,  1.8760108, -0.2040259,
248		-0.4985314,  0.0415560,  1.0572252
249	);
250	vec3 Fresnel0ToIor( vec3 fresnel0 ) {
251		vec3 sqrtF0 = sqrt( fresnel0 );
252		return ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );
253	}
254	vec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {
255		return pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );
256	}
257	float IorToFresnel0( float transmittedIor, float incidentIor ) {
258		return pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));
259	}
260	vec3 evalSensitivity( float OPD, vec3 shift ) {
261		float phase = 2.0 * PI * OPD * 1.0e-9;
262		vec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );
263		vec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );
264		vec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );
265		vec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var );
266		xyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) );
267		xyz /= 1.0685e-7;
268		vec3 rgb = XYZ_TO_REC709 * xyz;
269		return rgb;
270	}
271	vec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {
272		vec3 I;
273		float iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );
274		float sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );
275		float cosTheta2Sq = 1.0 - sinTheta2Sq;
276		if ( cosTheta2Sq < 0.0 ) {
277			return vec3( 1.0 );
278		}
279		float cosTheta2 = sqrt( cosTheta2Sq );
280		float R0 = IorToFresnel0( iridescenceIOR, outsideIOR );
281		float R12 = F_Schlick( R0, 1.0, cosTheta1 );
282		float T121 = 1.0 - R12;
283		float phi12 = 0.0;
284		if ( iridescenceIOR < outsideIOR ) phi12 = PI;
285		float phi21 = PI - phi12;
286		vec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) );		vec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );
287		vec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );
288		vec3 phi23 = vec3( 0.0 );
289		if ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI;
290		if ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI;
291		if ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI;
292		float OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;
293		vec3 phi = vec3( phi21 ) + phi23;
294		vec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );
295		vec3 r123 = sqrt( R123 );
296		vec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );
297		vec3 C0 = R12 + Rs;
298		I = C0;
299		vec3 Cm = Rs - T121;
300		for ( int m = 1; m <= 2; ++ m ) {
301			Cm *= r123;
302			vec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );
303			I += Cm * Sm;
304		}
305		return max( I, vec3( 0.0 ) );
306	}
307#endif`,MZ=`#ifdef USE_BUMPMAP
308	uniform sampler2D bumpMap;
309	uniform float bumpScale;
310	vec2 dHdxy_fwd() {
311		vec2 dSTdx = dFdx( vBumpMapUv );
312		vec2 dSTdy = dFdy( vBumpMapUv );
313		float Hll = bumpScale * texture2D( bumpMap, vBumpMapUv ).x;
314		float dBx = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdx ).x - Hll;
315		float dBy = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdy ).x - Hll;
316		return vec2( dBx, dBy );
317	}
318	vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {
319		vec3 vSigmaX = normalize( dFdx( surf_pos.xyz ) );
320		vec3 vSigmaY = normalize( dFdy( surf_pos.xyz ) );
321		vec3 vN = surf_norm;
322		vec3 R1 = cross( vSigmaY, vN );
323		vec3 R2 = cross( vN, vSigmaX );
324		float fDet = dot( vSigmaX, R1 ) * faceDirection;
325		vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );
326		return normalize( abs( fDet ) * surf_norm - vGrad );
327	}
328#endif`,IZ=`#if NUM_CLIPPING_PLANES > 0
329	vec4 plane;
330	#ifdef ALPHA_TO_COVERAGE
331		float distanceToPlane, distanceGradient;
332		float clipOpacity = 1.0;
333		#pragma unroll_loop_start
334		for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {
335			plane = clippingPlanes[ i ];
336			distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;
337			distanceGradient = fwidth( distanceToPlane ) / 2.0;
338			clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane );
339			if ( clipOpacity == 0.0 ) discard;
340		}
341		#pragma unroll_loop_end
342		#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES
343			float unionClipOpacity = 1.0;
344			#pragma unroll_loop_start
345			for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {
346				plane = clippingPlanes[ i ];
347				distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;
348				distanceGradient = fwidth( distanceToPlane ) / 2.0;
349				unionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane );
350			}
351			#pragma unroll_loop_end
352			clipOpacity *= 1.0 - unionClipOpacity;
353		#endif
354		diffuseColor.a *= clipOpacity;
355		if ( diffuseColor.a == 0.0 ) discard;
356	#else
357		#pragma unroll_loop_start
358		for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {
359			plane = clippingPlanes[ i ];
360			if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;
361		}
362		#pragma unroll_loop_end
363		#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES
364			bool clipped = true;
365			#pragma unroll_loop_start
366			for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {
367				plane = clippingPlanes[ i ];
368				clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;
369			}
370			#pragma unroll_loop_end
371			if ( clipped ) discard;
372		#endif
373	#endif
374#endif`,PZ=`#if NUM_CLIPPING_PLANES > 0
375	varying vec3 vClipPosition;
376	uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];
377#endif`,RZ=`#if NUM_CLIPPING_PLANES > 0
378	varying vec3 vClipPosition;
379#endif`,BZ=`#if NUM_CLIPPING_PLANES > 0
380	vClipPosition = - mvPosition.xyz;
381#endif`,DZ=`#if defined( USE_COLOR_ALPHA )
382	diffuseColor *= vColor;
383#elif defined( USE_COLOR )
384	diffuseColor.rgb *= vColor;
385#endif`,LZ=`#if defined( USE_COLOR_ALPHA )
386	varying vec4 vColor;
387#elif defined( USE_COLOR )
388	varying vec3 vColor;
389#endif`,OZ=`#if defined( USE_COLOR_ALPHA )
390	varying vec4 vColor;
391#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )
392	varying vec3 vColor;
393#endif`,FZ=`#if defined( USE_COLOR_ALPHA )
394	vColor = vec4( 1.0 );
395#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )
396	vColor = vec3( 1.0 );
397#endif
398#ifdef USE_COLOR
399	vColor *= color;
400#endif
401#ifdef USE_INSTANCING_COLOR
402	vColor.xyz *= instanceColor.xyz;
403#endif
404#ifdef USE_BATCHING_COLOR
405	vec3 batchingColor = getBatchingColor( getIndirectIndex( gl_DrawID ) );
406	vColor.xyz *= batchingColor.xyz;
407#endif`,UZ=`#define PI 3.141592653589793
408#define PI2 6.283185307179586
409#define PI_HALF 1.5707963267948966
410#define RECIPROCAL_PI 0.3183098861837907
411#define RECIPROCAL_PI2 0.15915494309189535
412#define EPSILON 1e-6
413#ifndef saturate
414#define saturate( a ) clamp( a, 0.0, 1.0 )
415#endif
416#define whiteComplement( a ) ( 1.0 - saturate( a ) )
417float pow2( const in float x ) { return x*x; }
418vec3 pow2( const in vec3 x ) { return x*x; }
419float pow3( const in float x ) { return x*x*x; }
420float pow4( const in float x ) { float x2 = x*x; return x2*x2; }
421float max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }
422float average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }
423highp float rand( const in vec2 uv ) {
424	const highp float a = 12.9898, b = 78.233, c = 43758.5453;
425	highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );
426	return fract( sin( sn ) * c );
427}
428#ifdef HIGH_PRECISION
429	float precisionSafeLength( vec3 v ) { return length( v ); }
430#else
431	float precisionSafeLength( vec3 v ) {
432		float maxComponent = max3( abs( v ) );
433		return length( v / maxComponent ) * maxComponent;
434	}
435#endif
436struct IncidentLight {
437	vec3 color;
438	vec3 direction;
439	bool visible;
440};
441struct ReflectedLight {
442	vec3 directDiffuse;
443	vec3 directSpecular;
444	vec3 indirectDiffuse;
445	vec3 indirectSpecular;
446};
447#ifdef USE_ALPHAHASH
448	varying vec3 vPosition;
449#endif
450vec3 transformDirection( in vec3 dir, in mat4 matrix ) {
451	return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );
452}
453vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {
454	return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );
455}
456mat3 transposeMat3( const in mat3 m ) {
457	mat3 tmp;
458	tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );
459	tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );
460	tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );
461	return tmp;
462}
463bool isPerspectiveMatrix( mat4 m ) {
464	return m[ 2 ][ 3 ] == - 1.0;
465}
466vec2 equirectUv( in vec3 dir ) {
467	float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;
468	float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;
469	return vec2( u, v );
470}
471vec3 BRDF_Lambert( const in vec3 diffuseColor ) {
472	return RECIPROCAL_PI * diffuseColor;
473}
474vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {
475	float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );
476	return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );
477}
478float F_Schlick( const in float f0, const in float f90, const in float dotVH ) {
479	float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );
480	return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );
481} // validated`,NZ=`#ifdef ENVMAP_TYPE_CUBE_UV
482	#define cubeUV_minMipLevel 4.0
483	#define cubeUV_minTileSize 16.0
484	float getFace( vec3 direction ) {
485		vec3 absDirection = abs( direction );
486		float face = - 1.0;
487		if ( absDirection.x > absDirection.z ) {
488			if ( absDirection.x > absDirection.y )
489				face = direction.x > 0.0 ? 0.0 : 3.0;
490			else
491				face = direction.y > 0.0 ? 1.0 : 4.0;
492		} else {
493			if ( absDirection.z > absDirection.y )
494				face = direction.z > 0.0 ? 2.0 : 5.0;
495			else
496				face = direction.y > 0.0 ? 1.0 : 4.0;
497		}
498		return face;
499	}
500	vec2 getUV( vec3 direction, float face ) {
501		vec2 uv;
502		if ( face == 0.0 ) {
503			uv = vec2( direction.z, direction.y ) / abs( direction.x );
504		} else if ( face == 1.0 ) {
505			uv = vec2( - direction.x, - direction.z ) / abs( direction.y );
506		} else if ( face == 2.0 ) {
507			uv = vec2( - direction.x, direction.y ) / abs( direction.z );
508		} else if ( face == 3.0 ) {
509			uv = vec2( - direction.z, direction.y ) / abs( direction.x );
510		} else if ( face == 4.0 ) {
511			uv = vec2( - direction.x, direction.z ) / abs( direction.y );
512		} else {
513			uv = vec2( direction.x, direction.y ) / abs( direction.z );
514		}
515		return 0.5 * ( uv + 1.0 );
516	}
517	vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {
518		float face = getFace( direction );
519		float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );
520		mipInt = max( mipInt, cubeUV_minMipLevel );
521		float faceSize = exp2( mipInt );
522		highp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;
523		if ( face > 2.0 ) {
524			uv.y += faceSize;
525			face -= 3.0;
526		}
527		uv.x += face * faceSize;
528		uv.x += filterInt * 3.0 * cubeUV_minTileSize;
529		uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );
530		uv.x *= CUBEUV_TEXEL_WIDTH;
531		uv.y *= CUBEUV_TEXEL_HEIGHT;
532		#ifdef texture2DGradEXT
533			return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;
534		#else
535			return texture2D( envMap, uv ).rgb;
536		#endif
537	}
538	#define cubeUV_r0 1.0
539	#define cubeUV_m0 - 2.0
540	#define cubeUV_r1 0.8
541	#define cubeUV_m1 - 1.0
542	#define cubeUV_r4 0.4
543	#define cubeUV_m4 2.0
544	#define cubeUV_r5 0.305
545	#define cubeUV_m5 3.0
546	#define cubeUV_r6 0.21
547	#define cubeUV_m6 4.0
548	float roughnessToMip( float roughness ) {
549		float mip = 0.0;
550		if ( roughness >= cubeUV_r1 ) {
551			mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;
552		} else if ( roughness >= cubeUV_r4 ) {
553			mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;
554		} else if ( roughness >= cubeUV_r5 ) {
555			mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;
556		} else if ( roughness >= cubeUV_r6 ) {
557			mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;
558		} else {
559			mip = - 2.0 * log2( 1.16 * roughness );		}
560		return mip;
561	}
562	vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {
563		float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );
564		float mipF = fract( mip );
565		float mipInt = floor( mip );
566		vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );
567		if ( mipF == 0.0 ) {
568			return vec4( color0, 1.0 );
569		} else {
570			vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );
571			return vec4( mix( color0, color1, mipF ), 1.0 );
572		}
573	}
574#endif`,kZ=`vec3 transformedNormal = objectNormal;
575#ifdef USE_TANGENT
576	vec3 transformedTangent = objectTangent;
577#endif
578#ifdef USE_BATCHING
579	mat3 bm = mat3( batchingMatrix );
580	transformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) );
581	transformedNormal = bm * transformedNormal;
582	#ifdef USE_TANGENT
583		transformedTangent = bm * transformedTangent;
584	#endif
585#endif
586#ifdef USE_INSTANCING
587	mat3 im = mat3( instanceMatrix );
588	transformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) );
589	transformedNormal = im * transformedNormal;
590	#ifdef USE_TANGENT
591		transformedTangent = im * transformedTangent;
592	#endif
593#endif
594transformedNormal = normalMatrix * transformedNormal;
595#ifdef FLIP_SIDED
596	transformedNormal = - transformedNormal;
597#endif
598#ifdef USE_TANGENT
599	transformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz;
600	#ifdef FLIP_SIDED
601		transformedTangent = - transformedTangent;
602	#endif
603#endif`,zZ=`#ifdef USE_DISPLACEMENTMAP
604	uniform sampler2D displacementMap;
605	uniform float displacementScale;
606	uniform float displacementBias;
607#endif`,HZ=`#ifdef USE_DISPLACEMENTMAP
608	transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + dis
608placementBias );
609#endif`,VZ=`#ifdef USE_EMISSIVEMAP
610	vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );
611	#ifdef DECODE_VIDEO_TEXTURE_EMISSIVE
612		emissiveColor = sRGBTransferEOTF( emissiveColor );
613	#endif
614	totalEmissiveRadiance *= emissiveColor.rgb;
615#endif`,GZ=`#ifdef USE_EMISSIVEMAP
616	uniform sampler2D emissiveMap;
617#endif`,QZ="gl_FragColor = linearToOutputTexel( gl_FragColor );",WZ=`vec4 LinearTransferOETF( in vec4 value ) {
618	return value;
619}
620vec4 sRGBTransferEOTF( in vec4 value ) {
621	return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );
622}
623vec4 sRGBTransferOETF( in vec4 value ) {
624	return 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 );
625}`,jZ=`#ifdef USE_ENVMAP
626	#ifdef ENV_WORLDPOS
627		vec3 cameraToFrag;
628		if ( isOrthographic ) {
629			cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );
630		} else {
631			cameraToFrag = normalize( vWorldPosition - cameraPosition );
632		}
633		vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );
634		#ifdef ENVMAP_MODE_REFLECTION
635			vec3 reflectVec = reflect( cameraToFrag, worldNormal );
636		#else
637			vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );
638		#endif
639	#else
640		vec3 reflectVec = vReflect;
641	#endif
642	#ifdef ENVMAP_TYPE_CUBE
643		vec4 envColor = textureCube( envMap, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );
644	#else
645		vec4 envColor = vec4( 0.0 );
646	#endif
647	#ifdef ENVMAP_BLENDING_MULTIPLY
648		outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );
649	#elif defined( ENVMAP_BLENDING_MIX )
650		outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );
651	#elif defined( ENVMAP_BLENDING_ADD )
652		outgoingLight += envColor.xyz * specularStrength * reflectivity;
653	#endif
654#endif`,qZ=`#ifdef USE_ENVMAP
655	uniform float envMapIntensity;
656	uniform float flipEnvMap;
657	uniform mat3 envMapRotation;
658	#ifdef ENVMAP_TYPE_CUBE
659		uniform samplerCube envMap;
660	#else
661		uniform sampler2D envMap;
662	#endif
663	
664#endif`,XZ=`#ifdef USE_ENVMAP
665	uniform float reflectivity;
666	#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )
667		#define ENV_WORLDPOS
668	#endif
669	#ifdef ENV_WORLDPOS
670		varying vec3 vWorldPosition;
671		uniform float refractionRatio;
672	#else
673		varying vec3 vReflect;
674	#endif
675#endif`,YZ=`#ifdef USE_ENVMAP
676	#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )
677		#define ENV_WORLDPOS
678	#endif
679	#ifdef ENV_WORLDPOS
680		
681		varying vec3 vWorldPosition;
682	#else
683		varying vec3 vReflect;
684		uniform float refractionRatio;
685	#endif
686#endif`,$Z=`#ifdef USE_ENVMAP
687	#ifdef ENV_WORLDPOS
688		vWorldPosition = worldPosition.xyz;
689	#else
690		vec3 cameraToVertex;
691		if ( isOrthographic ) {
692			cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );
693		} else {
694			cameraToVertex = normalize( worldPosition.xyz - cameraPosition );
695		}
696		vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );
697		#ifdef ENVMAP_MODE_REFLECTION
698			vReflect = reflect( cameraToVertex, worldNormal );
699		#else
700			vReflect = refract( cameraToVertex, worldNormal, refractionRatio );
701		#endif
702	#endif
703#endif`,KZ=`#ifdef USE_FOG
704	vFogDepth = - mvPosition.z;
705#endif`,ZZ=`#ifdef USE_FOG
706	varying float vFogDepth;
707#endif`,JZ=`#ifdef USE_FOG
708	#ifdef FOG_EXP2
709		float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );
710	#else
711		float fogFactor = smoothstep( fogNear, fogFar, vFogDepth );
712	#endif
713	gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );
714#endif`,eJ=`#ifdef USE_FOG
715	uniform vec3 fogColor;
716	varying float vFogDepth;
717	#ifdef FOG_EXP2
718		uniform float fogDensity;
719	#else
720		uniform float fogNear;
721		uniform float fogFar;
722	#endif
723#endif`,tJ=`#ifdef USE_GRADIENTMAP
724	uniform sampler2D gradientMap;
725#endif
726vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {
727	float dotNL = dot( normal, lightDirection );
728	vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );
729	#ifdef USE_GRADIENTMAP
730		return vec3( texture2D( gradientMap, coord ).r );
731	#else
732		vec2 fw = fwidth( coord ) * 0.5;
733		return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );
734	#endif
735}`,nJ=`#ifdef USE_LIGHTMAP
736	uniform sampler2D lightMap;
737	uniform float lightMapIntensity;
738#endif`,iJ=`LambertMaterial material;
739material.diffuseColor = diffuseColor.rgb;
740material.specularStrength = specularStrength;`,rJ=`varying vec3 vViewPosition;
741struct LambertMaterial {
742	vec3 diffuseColor;
743	float specularStrength;
744};
745void 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 ) {
746	float dotNL = saturate( dot( geometryNormal, directLight.direction ) );
747	vec3 irradiance = dotNL * directLight.color;
748	reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
749}
750void 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 ) {
751	reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
752}
753#define RE_Direct				RE_Direct_Lambert
754#define RE_IndirectDiffuse		RE_IndirectDiffuse_Lambert`,sJ=`uniform bool receiveShadow;
755uniform vec3 ambientLightColor;
756#if defined( USE_LIGHT_PROBES )
757	uniform vec3 lightProbe[ 9 ];
758#endif
759vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {
760	float x = normal.x, y = normal.y, z = normal.z;
761	vec3 result = shCoefficients[ 0 ] * 0.886227;
762	result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;
763	result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;
764	result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;
765	result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;
766	result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;
767	result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );
768	result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;
769	result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );
770	return result;
771}
772vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {
773	vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );
774	vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );
775	return irradiance;
776}
777vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
778	vec3 irradiance = ambientLightColor;
779	return irradiance;
780}
781float getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {
782	float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );
783	if ( cutoffDistance > 0.0 ) {
784		distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );
785	}
786	return distanceFalloff;
787}
788float getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {
789	return smoothstep( coneCosine, penumbraCosine, angleCosine );
790}
791#if NUM_DIR_LIGHTS > 0
792	struct DirectionalLight {
793		vec3 direction;
794		vec3 color;
795	};
796	uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];
797	void getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) {
798		light.color = directionalLight.color;
799		light.direction = directionalLight.direction;
800		light.visible = true;
801	}
802#endif
803#if NUM_POINT_LIGHTS > 0
804	struct PointLight {
805		vec3 position;
806		vec3 color;
807		float distance;
808		float decay;
809	};
810	uniform PointLight pointLights[ NUM_POINT_LIGHTS ];
811	void getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) {
812		vec3 lVector = pointLight.position - geometryPosition;
813		light.direction = normalize( lVector );
814		float lightDistance = length( lVector );
815		light.color = pointLight.color;
816		light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );
817		light.visible = ( light.color != vec3( 0.0 ) );
818	}
819#endif
820#if NUM_SPOT_LIGHTS > 0
821	struct SpotLight {
822		vec3 position;
823		vec3 direction;
824		vec3 color;
825		float distance;
826		float decay;
827		float coneCos;
828		float penumbraCos;
829	};
830	uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];
831	void getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) {
832		vec3 lVector = spotLight.position - geometryPosition;
833		light.direction = normalize( lVector );
834		float angleCos = dot( light.direction, spotLight.direction );
835		float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );
836		if ( spotAttenuation > 0.0 ) {
837			float lightDistance = length( lVector );
838			light.color = spotLight.color * spotAttenuation;
839			light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );
840			light.visible = ( light.color != vec3( 0.0 ) );
841		} else {
842			light.color = vec3( 0.0 );
843			light.visible = false;
844		}
845	}
846#endif
847#if NUM_RECT_AREA_LIGHTS > 0
848	struct RectAreaLight {
849		vec3 color;
850		vec3 position;
851		vec3 halfWidth;
852		vec3 halfHeight;
853	};
854	uniform sampler2D ltc_1;	uniform sampler2D ltc_2;
855	uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];
856#endif
857#if NUM_HEMI_LIGHTS > 0
858	struct HemisphereLight {
859		vec3 direction;
860		vec3 skyColor;
861		vec3 groundColor;
862	};
863	uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];
864	vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {
865		float dotNL = dot( normal, hemiLight.direction );
866		float hemiDiffuseWeight = 0.5 * dotNL + 0.5;
867		vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );
868		return irradiance;
869	}
870#endif`,oJ=`#ifdef USE_ENVMAP
871	vec3 getIBLIrradiance( const in vec3 normal ) {
872		#ifdef ENVMAP_TYPE_CUBE_UV
873			vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );
874			vec4 envMapColor = textureCubeUV( envMap, envMapRotation * worldNormal, 1.0 );
875			return PI * envMapColor.rgb * envMapIntensity;
876		#else
877			return vec3( 0.0 );
878		#endif
879	}
880	vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {
881		#ifdef ENVMAP_TYPE_CUBE_UV
882			vec3 reflectVec = reflect( - viewDir, normal );
883			reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );
884			reflectVec = inverseTransformDirection( reflectVec, viewMatrix );
885			vec4 envMapColor = textureCubeUV( envMap, envMapRotation * reflectVec, roughness );
886			return envMapColor.rgb * envMapIntensity;
887		#else
888			return vec3( 0.0 );
889		#endif
890	}
891	#ifdef USE_ANISOTROPY
892		vec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {
893			#ifdef ENVMAP_TYPE_CUBE_UV
894				vec3 bentNormal = cross( bitangent, viewDir );
895				bentNormal = normalize( cross( bentNormal, bitangent ) );
896				bentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );
897				return getIBLRadiance( viewDir, bentNormal, roughness );
898			#else
899				return vec3( 0.0 );
900			#endif
901		}
902	#endif
903#endif`,aJ=`ToonMaterial material;
904material.diffuseColor = diffuseColor.rgb;`,lJ=`varying vec3 vViewPosition;
905struct ToonMaterial {
906	vec3 diffuseColor;
907};
908void 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 ) {
909	vec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color;
910	reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
911}
912void 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 ) {
913	reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
914}
915#define RE_Direct				RE_Direct_Toon
916#define RE_IndirectDiffuse		RE_IndirectDiffuse_Toon`,cJ=`BlinnPhongMaterial material;
917material.diffuseColor = diffuseColor.rgb;
918material.specularColor = specular;
919material.specularShininess = shininess;
920material.specularStrength = specularStrength;`,uJ=`varying vec3 vViewPosition;
921struct BlinnPhongMaterial {
922	vec3 diffuseColor;
923	vec3 specularColor;
924	float specularShininess;
925	float specularStrength;
926};
927void 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 ) {
928	float dotNL = saturate( dot( geometryNormal, directLight.direction ) );
929	vec3 irradiance = dotNL * directLight.color;
930	reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
931	reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength;
932}
933void 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 ) {
934	reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
935}
936#define RE_Direct				RE_Direct_BlinnPhong
937#define RE_IndirectDiffuse		RE_IndirectDiffuse_BlinnPhong`,fJ=`PhysicalMaterial material;
938material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );
939vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) );
940float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );
941material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;
942material.roughness = min( material.roughness, 1.0 );
943#ifdef IOR
944	material.ior = ior;
945	#ifdef USE_SPECULAR
946		float specularIntensityFactor = specularIntensity;
947		vec3 specularColorFactor = specularColor;
948		#ifdef USE_SPECULAR_COLORMAP
949			specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;
950		#endif
951		#ifdef USE_SPECULAR_INTENSITYMAP
952			specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;
953		#endif
954		material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );
955	#else
956		float specularIntensityFactor = 1.0;
957		vec3 specularColorFactor = vec3( 1.0 );
958		material.specularF90 = 1.0;
959	#endif
960	material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );
961#else
962	material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );
963	material.specularF90 = 1.0;
964#endif
965#ifdef USE_CLEARCOAT
966	material.clearcoat = clearcoat;
967	material.clearcoatRoughness = clearcoatRoughness;
968	material.clearcoatF0 = vec3( 0.04 );
969	material.clearcoatF90 = 1.0;
970	#ifdef USE_CLEARCOATMAP
971		material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;
972	#endif
973	#ifdef USE_CLEARCOAT_ROUGHNESSMAP
974		material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;
975	#endif
976	material.clearcoat = saturate( material.clearcoat );	material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );
977	material.clearcoatRoughness += geometryRoughness;
978	material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );
979#endif
980#ifdef USE_DISPERSION
981	material.dispersion = dispersion;
982#endif
983#ifdef USE_IRIDESCENCE
984	material.iridescence = iridescence;
985	material.iridescenceIOR = iridescenceIOR;
986	#ifdef USE_IRIDESCENCEMAP
987		material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;
988	#endif
989	#ifdef USE_IRIDESCENCE_THICKNESSMAP
990		material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;
991	#else
992		material.iridescenceThickness = iridescenceThicknessMaximum;
993	#endif
994#endif
995#ifdef USE_SHEEN
996	material.sheenColor = sheenColor;
997	#ifdef USE_SHEEN_COLORMAP
998		material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;
999	#endif
1000	material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );
1001	#ifdef USE_SHEEN_ROUGHNESSMAP
1002		material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;
1003	#endif
1004#endif
1005#ifdef USE_ANISOTROPY
1006	#ifdef USE_ANISOTROPYMAP
1007		mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x );
1008		vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb;
1009		vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b;
1010	#else
1011		vec2 anisotropyV = anisotropyVector;
1012	#endif
1013	material.anisotropy = length( anisotropyV );
1014	if( material.anisotropy == 0.0 ) {
1015		anisotropyV = vec2( 1.0, 0.0 );
1016	} else {
1017		anisotropyV /= material.anisotropy;
1018		material.anisotropy = saturate( material.anisotropy );
1019	}
1020	material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );
1021	material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y;
1022	material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y;
1023#endif`,dJ
vendor: 14,687 bytes, lines 1023-1324
1023=`struct PhysicalMaterial {
1024	vec3 diffuseColor;
1025	float roughness;
1026	vec3 specularColor;
1027	float specularF90;
1028	float dispersion;
1029	#ifdef USE_CLEARCOAT
1030		float clearcoat;
1031		float clearcoatRoughness;
1032		vec3 clearcoatF0;
1033		float clearcoatF90;
1034	#endif
1035	#ifdef USE_IRIDESCENCE
1036		float iridescence;
1037		float iridescenceIOR;
1038		float iridescenceThickness;
1039		vec3 iridescenceFresnel;
1040		vec3 iridescenceF0;
1041	#endif
1042	#ifdef USE_SHEEN
1043		vec3 sheenColor;
1044		float sheenRoughness;
1045	#endif
1046	#ifdef IOR
1047		float ior;
1048	#endif
1049	#ifdef USE_TRANSMISSION
1050		float transmission;
1051		float transmissionAlpha;
1052		float thickness;
1053		float attenuationDistance;
1054		vec3 attenuationColor;
1055	#endif
1056	#ifdef USE_ANISOTROPY
1057		float anisotropy;
1058		float alphaT;
1059		vec3 anisotropyT;
1060		vec3 anisotropyB;
1061	#endif
1062};
1063vec3 clearcoatSpecularDirect = vec3( 0.0 );
1064vec3 clearcoatSpecularIndirect = vec3( 0.0 );
1065vec3 sheenSpecularDirect = vec3( 0.0 );
1066vec3 sheenSpecularIndirect = vec3(0.0 );
1067vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {
1068    float x = clamp( 1.0 - dotVH, 0.0, 1.0 );
1069    float x2 = x * x;
1070    float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );
1071    return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );
1072}
1073float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {
1074	float a2 = pow2( alpha );
1075	float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );
1076	float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );
1077	return 0.5 / max( gv + gl, EPSILON );
1078}
1079float D_GGX( const in float alpha, const in float dotNH ) {
1080	float a2 = pow2( alpha );
1081	float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;
1082	return RECIPROCAL_PI * a2 / pow2( denom );
1083}
1084#ifdef USE_ANISOTROPY
1085	float 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 ) {
1086		float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) );
1087		float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) );
1088		float v = 0.5 / ( gv + gl );
1089		return saturate(v);
1090	}
1091	float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) {
1092		float a2 = alphaT * alphaB;
1093		highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH );
1094		highp float v2 = dot( v, v );
1095		float w2 = a2 / v2;
1096		return RECIPROCAL_PI * a2 * pow2 ( w2 );
1097	}
1098#endif
1099#ifdef USE_CLEARCOAT
1100	vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {
1101		vec3 f0 = material.clearcoatF0;
1102		float f90 = material.clearcoatF90;
1103		float roughness = material.clearcoatRoughness;
1104		float alpha = pow2( roughness );
1105		vec3 halfDir = normalize( lightDir + viewDir );
1106		float dotNL = saturate( dot( normal, lightDir ) );
1107		float dotNV = saturate( dot( normal, viewDir ) );
1108		float dotNH = saturate( dot( normal, halfDir ) );
1109		float dotVH = saturate( dot( viewDir, halfDir ) );
1110		vec3 F = F_Schlick( f0, f90, dotVH );
1111		float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );
1112		float D = D_GGX( alpha, dotNH );
1113		return F * ( V * D );
1114	}
1115#endif
1116vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {
1117	vec3 f0 = material.specularColor;
1118	float f90 = material.specularF90;
1119	float roughness = material.roughness;
1120	float alpha = pow2( roughness );
1121	vec3 halfDir = normalize( lightDir + viewDir );
1122	float dotNL = saturate( dot( normal, lightDir ) );
1123	float dotNV = saturate( dot( normal, viewDir ) );
1124	float dotNH = saturate( dot( normal, halfDir ) );
1125	float dotVH = saturate( dot( viewDir, halfDir ) );
1126	vec3 F = F_Schlick( f0, f90, dotVH );
1127	#ifdef USE_IRIDESCENCE
1128		F = mix( F, material.iridescenceFresnel, material.iridescence );
1129	#endif
1130	#ifdef USE_ANISOTROPY
1131		float dotTL = dot( material.anisotropyT, lightDir );
1132		float dotTV = dot( material.anisotropyT, viewDir );
1133		float dotTH = dot( material.anisotropyT, halfDir );
1134		float dotBL = dot( material.anisotropyB, lightDir );
1135		float dotBV = dot( material.anisotropyB, viewDir );
1136		float dotBH = dot( material.anisotropyB, halfDir );
1137		float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL );
1138		float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH );
1139	#else
1140		float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );
1141		float D = D_GGX( alpha, dotNH );
1142	#endif
1143	return F * ( V * D );
1144}
1145vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {
1146	const float LUT_SIZE = 64.0;
1147	const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;
1148	const float LUT_BIAS = 0.5 / LUT_SIZE;
1149	float dotNV = saturate( dot( N, V ) );
1150	vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );
1151	uv = uv * LUT_SCALE + LUT_BIAS;
1152	return uv;
1153}
1154float LTC_ClippedSphereFormFactor( const in vec3 f ) {
1155	float l = length( f );
1156	return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );
1157}
1158vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {
1159	float x = dot( v1, v2 );
1160	float y = abs( x );
1161	float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;
1162	float b = 3.4175940 + ( 4.1616724 + y ) * y;
1163	float v = a / b;
1164	float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;
1165	return cross( v1, v2 ) * theta_sintheta;
1166}
1167vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {
1168	vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];
1169	vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];
1170	vec3 lightNormal = cross( v1, v2 );
1171	if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );
1172	vec3 T1, T2;
1173	T1 = normalize( V - N * dot( V, N ) );
1174	T2 = - cross( N, T1 );
1175	mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );
1176	vec3 coords[ 4 ];
1177	coords[ 0 ] = mat * ( rectCoords[ 0 ] - P );
1178	coords[ 1 ] = mat * ( rectCoords[ 1 ] - P );
1179	coords[ 2 ] = mat * ( rectCoords[ 2 ] - P );
1180	coords[ 3 ] = mat * ( rectCoords[ 3 ] - P );
1181	coords[ 0 ] = normalize( coords[ 0 ] );
1182	coords[ 1 ] = normalize( coords[ 1 ] );
1183	coords[ 2 ] = normalize( coords[ 2 ] );
1184	coords[ 3 ] = normalize( coords[ 3 ] );
1185	vec3 vectorFormFactor = vec3( 0.0 );
1186	vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );
1187	vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );
1188	vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );
1189	vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );
1190	float result = LTC_ClippedSphereFormFactor( vectorFormFactor );
1191	return vec3( result );
1192}
1193#if defined( USE_SHEEN )
1194float D_Charlie( float roughness, float dotNH ) {
1195	float alpha = pow2( roughness );
1196	float invAlpha = 1.0 / alpha;
1197	float cos2h = dotNH * dotNH;
1198	float sin2h = max( 1.0 - cos2h, 0.0078125 );
1199	return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );
1200}
1201float V_Neubelt( float dotNV, float dotNL ) {
1202	return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );
1203}
1204vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {
1205	vec3 halfDir = normalize( lightDir + viewDir );
1206	float dotNL = saturate( dot( normal, lightDir ) );
1207	float dotNV = saturate( dot( normal, viewDir ) );
1208	float dotNH = saturate( dot( normal, halfDir ) );
1209	float D = D_Charlie( sheenRoughness, dotNH );
1210	float V = V_Neubelt( dotNV, dotNL );
1211	return sheenColor * ( D * V );
1212}
1213#endif
1214float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {
1215	float dotNV = saturate( dot( normal, viewDir ) );
1216	float r2 = roughness * roughness;
1217	float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;
1218	float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;
1219	float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );
1220	return saturate( DG * RECIPROCAL_PI );
1221}
1222vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {
1223	float dotNV = saturate( dot( normal, viewDir ) );
1224	const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );
1225	const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );
1226	vec4 r = roughness * c0 + c1;
1227	float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;
1228	vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;
1229	return fab;
1230}
1231vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {
1232	vec2 fab = DFGApprox( normal, viewDir, roughness );
1233	return specularColor * fab.x + specularF90 * fab.y;
1234}
1235#ifdef USE_IRIDESCENCE
1236void 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 ) {
1237#else
1238void 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 ) {
1239#endif
1240	vec2 fab = DFGApprox( normal, viewDir, roughness );
1241	#ifdef USE_IRIDESCENCE
1242		vec3 Fr = mix( specularColor, iridescenceF0, iridescence );
1243	#else
1244		vec3 Fr = specularColor;
1245	#endif
1246	vec3 FssEss = Fr * fab.x + specularF90 * fab.y;
1247	float Ess = fab.x + fab.y;
1248	float Ems = 1.0 - Ess;
1249	vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;	vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );
1250	singleScatter += FssEss;
1251	multiScatter += Fms * Ems;
1252}
1253#if NUM_RECT_AREA_LIGHTS > 0
1254	void 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 ) {
1255		vec3 normal = geometryNormal;
1256		vec3 viewDir = geometryViewDir;
1257		vec3 position = geometryPosition;
1258		vec3 lightPos = rectAreaLight.position;
1259		vec3 halfWidth = rectAreaLight.halfWidth;
1260		vec3 halfHeight = rectAreaLight.halfHeight;
1261		vec3 lightColor = rectAreaLight.color;
1262		float roughness = material.roughness;
1263		vec3 rectCoords[ 4 ];
1264		rectCoords[ 0 ] = lightPos + halfWidth - halfHeight;		rectCoords[ 1 ] = lightPos - halfWidth - halfHeight;
1265		rectCoords[ 2 ] = lightPos - halfWidth + halfHeight;
1266		rectCoords[ 3 ] = lightPos + halfWidth + halfHeight;
1267		vec2 uv = LTC_Uv( normal, viewDir, roughness );
1268		vec4 t1 = texture2D( ltc_1, uv );
1269		vec4 t2 = texture2D( ltc_2, uv );
1270		mat3 mInv = mat3(
1271			vec3( t1.x, 0, t1.y ),
1272			vec3(    0, 1,    0 ),
1273			vec3( t1.z, 0, t1.w )
1274		);
1275		vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );
1276		reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );
1277		reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );
1278	}
1279#endif
1280void 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 ) {
1281	float dotNL = saturate( dot( geometryNormal, directLight.direction ) );
1282	vec3 irradiance = dotNL * directLight.color;
1283	#ifdef USE_CLEARCOAT
1284		float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) );
1285		vec3 ccIrradiance = dotNLcc * directLight.color;
1286		clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material );
1287	#endif
1288	#ifdef USE_SHEEN
1289		sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness );
1290	#endif
1291	reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material );
1292	reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
1293}
1294void 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 ) {
1295	reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
1296}
1297void 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) {
1298	#ifdef USE_CLEARCOAT
1299		clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );
1300	#endif
1301	#ifdef USE_SHEEN
1302		sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness );
1303	#endif
1304	vec3 singleScattering = vec3( 0.0 );
1305	vec3 multiScattering = vec3( 0.0 );
1306	vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;
1307	#ifdef USE_IRIDESCENCE
1308		computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );
1309	#else
1310		computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );
1311	#endif
1312	vec3 totalScattering = singleScattering + multiScattering;
1313	vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );
1314	reflectedLight.indirectSpecular += radiance * singleScattering;
1315	reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;
1316	reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;
1317}
1318#define RE_Direct				RE_Direct_Physical
1319#define RE_Direct_RectArea		RE_Direct_RectArea_Physical
1320#define RE_IndirectDiffuse		RE_IndirectDiffuse_Physical
1321#define RE_IndirectSpecular		RE_IndirectSpecular_Physical
1322float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {
1323	return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );
1324}`,
1324hJ=`
1325vec3 geometryPosition = - vViewPosition;
1326vec3 geometryNormal = normal;
1327vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );
1328vec3 geometryClearcoatNormal = vec3( 0.0 );
1329#ifdef USE_CLEARCOAT
1330	geometryClearcoatNormal = clearcoatNormal;
1331#endif
1332#ifdef USE_IRIDESCENCE
1333	float dotNVi = saturate( dot( normal, geometryViewDir ) );
1334	if ( material.iridescenceThickness == 0.0 ) {
1335		material.iridescence = 0.0;
1336	} else {
1337		material.iridescence = saturate( material.iridescence );
1338	}
1339	if ( material.iridescence > 0.0 ) {
1340		material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );
1341		material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );
1342	}
1343#endif
1344IncidentLight directLight;
1345#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )
1346	PointLight pointLight;
1347	#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0
1348	PointLightShadow pointLightShadow;
1349	#endif
1350	#pragma unroll_loop_start
1351	for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {
1352		pointLight = pointLights[ i ];
1353		getPointLightInfo( pointLight, geometryPosition, directLight );
1354		#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )
1355		pointLightShadow = pointLightShadows[ i ];
1356		directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowIntensity, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;
1357		#endif
1358		RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );
1359	}
1360	#pragma unroll_loop_end
1361#endif
1362#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )
1363	SpotLight spotLight;
1364	vec4 spotColor;
1365	vec3 spotLightCoord;
1366	bool inSpotLightMap;
1367	#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0
1368	SpotLightShadow spotLightShadow;
1369	#endif
1370	#pragma unroll_loop_start
1371	for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {
1372		spotLight = spotLights[ i ];
1373		getSpotLightInfo( spotLight, geometryPosition, directLight );
1374		#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )
1375		#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX
1376		#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )
1377		#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS
1378		#else
1379		#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )
1380		#endif
1381		#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )
1382			spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;
1383			inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );
1384			spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );
1385			directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;
1386		#endif
1387		#undef SPOT_LIGHT_MAP_INDEX
1388		#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )
1389		spotLightShadow = spotLightShadows[ i ];
1390		directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowIntensity, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;
1391		#endif
1392		RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );
1393	}
1394	#pragma unroll_loop_end
1395#endif
1396#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )
1397	DirectionalLight directionalLight;
1398	#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0
1399	DirectionalLightShadow directionalLightShadow;
1400	#endif
1401	#pragma unroll_loop_start
1402	for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {
1403		directionalLight = directionalLights[ i ];
1404		getDirectionalLightInfo( directionalLight, directLight );
1405		#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )
1406		directionalLightShadow = directionalLightShadows[ i ];
1407		directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowIntensity, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
1408		#endif
1409		RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );
1410	}
1411	#pragma unroll_loop_end
1412#endif
1413#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )
1414	RectAreaLight rectAreaLight;
1415	#pragma unroll_loop_start
1416	for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {
1417		rectAreaLight = rectAreaLights[ i ];
1418		RE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );
1419	}
1420	#pragma unroll_loop_end
1421#endif
1422#if defined( RE_IndirectDiffuse )
1423	vec3 iblIrradiance = vec3( 0.0 );
1424	vec3 irradiance = getAmbientLightIrradiance( ambientLightColor );
1425	#if defined( USE_LIGHT_PROBES )
1426		irradiance += getLightProbeIrradiance( lightProbe, geometryNormal );
1427	#endif
1428	#if ( NUM_HEMI_LIGHTS > 0 )
1429		#pragma unroll_loop_start
1430		for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {
1431			irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal );
1432		}
1433		#pragma unroll_loop_end
1434	#endif
1435#endif
1436#if defined( RE_IndirectSpecular )
1437	vec3 radiance = vec3( 0.0 );
1438	vec3 clearcoatRadiance = vec3( 0.0 );
1439#endif`,pJ=`#if defined( RE_IndirectDiffuse )
1440	#ifdef USE_LIGHTMAP
1441		vec4 lightMapTexel = texture2D( lightMap, vLightMapUv );
1442		vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;
1443		irradiance += lightMapIrradiance;
1444	#endif
1445	#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )
1446		iblIrradiance += getIBLIrradiance( geometryNormal );
1447	#endif
1448#endif
1449#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )
1450	#ifdef USE_ANISOTROPY
1451		radiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy );
1452	#else
1453		radiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness );
1454	#endif
1455	#ifdef USE_CLEARCOAT
1456		clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness );
1457	#endif
1458#endif`,mJ=`#if defined( RE_IndirectDiffuse )
1459	RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );
1460#endif
1461#if defined( RE_IndirectSpecular )
1462	RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );
1463#endif`,gJ=`#if defined( USE_LOGDEPTHBUF )
1464	gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;
1465#endif`,AJ=`#if defined( USE_LOGDEPTHBUF )
1466	uniform float logDepthBufFC;
1467	varying float vFragDepth;
1468	varying float vIsPerspective;
1469#endif`,vJ=`#ifdef USE_LOGDEPTHBUF
1470	varying float vFragDepth;
1471	varying float vIsPerspective;
1472#endif`,yJ=`#ifdef USE_LOGDEPTHBUF
1473	vFragDepth = 1.0 + gl_Position.w;
1474	vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );
1475#endif`,_J=`#ifdef USE_MAP
1476	vec4 sampledDiffuseColor = texture2D( map, vMapUv );
1477	#ifdef DECODE_VIDEO_TEXTURE
1478		sampledDiffuseColor = sRGBTransferEOTF( sampledDiffuseColor );
1479	#endif
1480	diffuseColor *= sampledDiffuseColor;
1481#endif`,bJ=`#ifdef USE_MAP
1482	uniform sampler2D map;
1483#endif`,xJ=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP )
1484	#if defined( USE_POINTS_UV )
1485		vec2 uv = vUv;
1486	#else
1487		vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;
1488	#endif
1489#endif
1490#ifdef USE_MAP
1491	diffuseColor *= texture2D( map, uv );
1492#endif
1493#ifdef USE_ALPHAMAP
1494	diffuseColor.a *= texture2D( alphaMap, uv ).g;
1495#endif`,CJ=`#if defined( USE_POINTS_UV )
1496	varying vec2 vUv;
1497#else
1498	#if defined( USE_MAP ) || defined( USE_ALPHAMAP )
1499		uniform mat3 uvTransform;
1500	#endif
1501#endif
1502#ifdef USE_MAP
1503	uniform sampler2D map;
1504#endif
1505#ifdef USE_ALPHAMAP
1506	uniform sampler2D alphaMap;
1507#endif`,wJ=`float metalnessFactor = metalness;
1508#ifdef USE_METALNESSMAP
1509	vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );
1510	metalnessFactor *= texelMetalness.b;
1511#endif`,SJ=`#ifdef USE_METALNESSMAP
1512	uniform sampler2D metalnessMap;
1513#endif`,EJ=`#ifdef USE_INSTANCING_MORPH
1514	float morphTargetInfluences[ MORPHTARGETS_COUNT ];
1515	float morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r;
1516	for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {
1517		morphTargetInfluences[i] =  texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r;
1518	}
1519#endif`,TJ=`#if defined( USE_MORPHCOLORS )
1520	vColor *= morphTargetBaseInfluence;
1521	for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {
1522		#if defined( USE_COLOR_ALPHA )
1523			if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];
1524		#elif defined( USE_COLOR )
1525			if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];
1526		#endif
1527	}
1528#endif`,MJ=`#ifdef USE_MORPHNORMALS
1529	objectNormal *= morphTargetBaseInfluence;
1530	for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {
1531		if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];
1532	}
1533#endif`,IJ=`#ifdef USE_MORPHTARGETS
1534	#ifndef USE_INSTANCING_MORPH
1535		uniform float morphTargetBaseInfluence;
1536		uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];
1537	#endif
1538	uniform sampler2DArray morphTargetsTexture;
1539	uniform ivec2 morphTargetsTextureSize;
1540	vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {
1541		int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;
1542		int y = texelIndex / morphTargetsTextureSize.x;
1543		int x = texelIndex - y * morphTargetsTextureSize.x;
1544		ivec3 morphUV = ivec3( x, y, morphTargetIndex );
1545		return texelFetch( morphTargetsTexture, morphUV, 0 );
1546	}
1547#endif`,PJ=`#ifdef USE_MORPHTARGETS
1548	transformed *= morphTargetBaseInfluence;
1549	for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {
1550		if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];
1551	}
1552#endif`,RJ=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;
1553#ifdef FLAT_SHADED
1554	vec3 fdx = dFdx( vViewPosition );
1555	vec3 fdy = dFdy( vViewPosition );
1556	vec3 normal = normalize( cross( fdx, fdy ) );
1557#else
1558	vec3 normal = normalize( vNormal );
1559	#ifdef DOUBLE_SIDED
1560		normal *= faceDirection;
1561	#endif
1562#endif
1563#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )
1564	#ifdef USE_TANGENT
1565		mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );
1566	#else
1567		mat3 tbn = getTangentFrame( - vViewPosition, normal,
1568		#if defined( USE_NORMALMAP )
1569			vNormalMapUv
1570		#elif defined( USE_CLEARCOAT_NORMALMAP )
1571			vClearcoatNormalMapUv
1572		#else
1573			vUv
1574		#endif
1575		);
1576	#endif
1577	#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )
1578		tbn[0] *= faceDirection;
1579		tbn[1] *= faceDirection;
1580	#endif
1581#endif
1582#ifdef USE_CLEARCOAT_NORMALMAP
1583	#ifdef USE_TANGENT
1584		mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );
1585	#else
1586		mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );
1587	#endif
1588	#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )
1589		tbn2[0] *= faceDirection;
1590		tbn2[1] *= faceDirection;
1591	#endif
1592#endif
1593vec3 nonPerturbedNormal = normal;`,BJ=`#ifdef USE_NORMALMAP_OBJECTSPACE
1594	normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;
1595	#ifdef FLIP_SIDED
1596		normal = - normal;
1597	#endif
1598	#ifdef DOUBLE_SIDED
1599		normal = normal * faceDirection;
1600	#endif
1601	normal = normalize( normalMatrix * normal );
1602#elif defined( USE_NORMALMAP_TANGENTSPACE )
1603	vec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;
1604	mapN.xy *= normalScale;
1605	normal = normalize( tbn * mapN );
1606#elif defined( USE_BUMPMAP )
1607	normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );
1608#endif`,DJ=`#ifndef FLAT_SHADED
1609	varying vec3 vNormal;
1610	#ifdef USE_TANGENT
1611		varying vec3 vTangent;
1612		varying vec3 vBitangent;
1613	#endif
1614#endif`,LJ=`#ifndef FLAT_SHADED
1615	varying vec3 vNormal;
1616	#ifdef USE_TANGENT
1617		varying vec3 vTangent;
1618		varying vec3 vBitangent;
1619	#endif
1620#endif`,OJ=`#ifndef FLAT_SHADED
1621	vNormal = normalize( transformedNormal );
1622	#ifdef USE_TANGENT
1623		vTangent = normalize( transformedTangent );
1624		vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );
1625	#endif
1626#endif`,FJ=`#ifdef USE_NORMALMAP
1627	uniform sampler2D normalMap;
1628	uniform vec2 normalScale;
1629#endif
1630#ifdef USE_NORMALMAP_OBJECTSPACE
1631	uniform mat3 normalMatrix;
1632#endif
1633#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) )
1634	mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {
1635		vec3 q0 = dFdx( eye_pos.xyz );
1636		vec3 q1 = dFdy( eye_pos.xyz );
1637		vec2 st0 = dFdx( uv.st );
1638		vec2 st1 = dFdy( uv.st );
1639		vec3 N = surf_norm;
1640		vec3 q1perp = cross( q1, N );
1641		vec3 q0perp = cross( N, q0 );
1642		vec3 T = q1perp * st0.x + q0perp * st1.x;
1643		vec3 B = q1perp * st0.y + q0perp * st1.y;
1644		float det = max( dot( T, T ), dot( B, B ) );
1645		float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );
1646		return mat3( T * scale, B * scale, N );
1647	}
1648#endif`,UJ=`#ifdef USE_CLEARCOAT
1649	vec3 clearcoatNormal = nonPerturbedNormal;
1650#endif`,NJ=`#ifdef USE_CLEARCOAT_NORMALMAP
1651	vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;
1652	clearcoatMapN.xy *= clearcoatNormalScale;
1653	clearcoatNormal = normalize( tbn2 * clearcoatMapN );
1654#endif`,kJ=`#ifdef USE_CLEARCOATMAP
1655	uniform sampler2D clearcoatMap;
1656#endif
1657#ifdef USE_CLEARCOAT_NORMALMAP
1658	uniform sampler2D clearcoatNormalMap;
1659	uniform vec2 clearcoatNormalScale;
1660#endif
1661#ifdef USE_CLEARCOAT_ROUGHNESSMAP
1662	uniform sampler2D clearcoatRoughnessMap;
1663#endif`,zJ=`#ifdef USE_IRIDESCENCEMAP
1664	uniform sampler2D iridescenceMap;
1665#endif
1666#ifdef USE_IRIDESCENCE_THICKNESSMAP
1667	uniform sampler2D iridescenceThicknessMap;
1668#endif`,HJ=`#ifdef OPAQUE
1669diffuseColor.a = 1.0;
1670#endif
1671#ifdef USE_TRANSMISSION
1672diffuseColor.a *= material.transmissionAlpha;
1673#endif
1674gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,VJ=`vec3 packNormalToRGB( const in vec3 normal ) {
1675	return normalize( normal ) * 0.5 + 0.5;
1676}
1677vec3 unpackRGBToNormal( const in vec3 rgb ) {
1678	return 2.0 * rgb.xyz - 1.0;
1679}
1680const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;const float ShiftRight8 = 1. / 256.;
1681const float Inv255 = 1. / 255.;
1682const vec4 PackFactors = vec4( 1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0 );
1683const vec2 UnpackFactors2 = vec2( UnpackDownscale, 1.0 / PackFactors.g );
1684const vec3 UnpackFactors3 = vec3( UnpackDownscale / PackFactors.rg, 1.0 / PackFactors.b );
1685const vec4 UnpackFactors4 = vec4( UnpackDownscale / PackFactors.rgb, 1.0 / PackFactors.a );
1686vec4 packDepthToRGBA( const in float v ) {
1687	if( v <= 0.0 )
1688		return vec4( 0., 0., 0., 0. );
1689	if( v >= 1.0 )
1690		return vec4( 1., 1., 1., 1. );
1691	float vuf;
1692	float af = modf( v * PackFactors.a, vuf );
1693	float bf = modf( vuf * ShiftRight8, vuf );
1694	float gf = modf( vuf * ShiftRight8, vuf );
1695	return vec4( vuf * Inv255, gf * PackUpscale, bf * PackUpscale, af );
1696}
1697vec3 packDepthToRGB( const in float v ) {
1698	if( v <= 0.0 )
1699		return vec3( 0., 0., 0. );
1700	if( v >= 1.0 )
1701		return vec3( 1., 1., 1. );
1702	float vuf;
1703	float bf = modf( v * PackFactors.b, vuf );
1704	float gf = modf( vuf * ShiftRight8, vuf );
1705	return vec3( vuf * Inv255, gf * PackUpscale, bf );
1706}
1707vec2 packDepthToRG( const in float v ) {
1708	if( v <= 0.0 )
1709		return vec2( 0., 0. );
1710	if( v >= 1.0 )
1711		return vec2( 1., 1. );
1712	float vuf;
1713	float gf = modf( v * 256., vuf );
1714	return vec2( vuf * Inv255, gf );
1715}
1716float unpackRGBAToDepth( const in vec4 v ) {
1717	return dot( v, UnpackFactors4 );
1718}
1719float unpackRGBToDepth( const in vec3 v ) {
1720	return dot( v, UnpackFactors3 );
1721}
1722float unpackRGToDepth( const in vec2 v ) {
1723	return v.r * UnpackFactors2.r + v.g * UnpackFactors2.g;
1724}
1725vec4 pack2HalfToRGBA( const in vec2 v ) {
1726	vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );
1727	return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );
1728}
1729vec2 unpackRGBATo2Half( const in vec4 v ) {
1730	return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );
1731}
1732float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {
1733	return ( viewZ + near ) / ( near - far );
1734}
1735float orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) {
1736	return depth * ( near - far ) - near;
1737}
1738float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {
1739	return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );
1740}
1741float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {
1742	return ( near * far ) / ( ( far - near ) * depth - far );
1743}`,GJ=`#ifdef PREMULTIPLIED_ALPHA
1744	gl_FragColor.rgb *= gl_FragColor.a;
1745#endif`,QJ=`vec4 mvPosition = vec4( transformed, 1.0 );
1746#ifdef USE_BATCHING
1747	mvPosition = batchingMatrix * mvPosition;
1748#endif
1749#ifdef USE_INSTANCING
1750	mvPosition = instanceMatrix * mvPosition;
1751#endif
1752mvPosition = modelViewMatrix * mvPosition;
1753gl_Position = projectionMatrix * mvPosition;`,WJ=`#ifdef DITHERING
1754	gl_FragColor.rgb = dithering( gl_FragColor.rgb );
1755#endif`,jJ=`#ifdef DITHERING
1756	vec3 dithering( vec3 color ) {
1757		float grid_position = rand( gl_FragCoord.xy );
1758		vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );
1759		dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );
1760		return color + dither_shift_RGB;
1761	}
1762#endif`,qJ=`float roughnessFactor = roughness;
1763#ifdef USE_ROUGHNESSMAP
1764	vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );
1765	roughnessFactor *= texelRoughness.g;
1766#endif`,XJ=`#ifdef USE_ROUGHNESSMAP
1767	uniform sampler2D roughnessMap;
1768#endif`,YJ=
vendor: 8,887 bytes, lines 1768-1954
1768`#if NUM_SPOT_LIGHT_COORDS > 0
1769	varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];
1770#endif
1771#if NUM_SPOT_LIGHT_MAPS > 0
1772	uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];
1773#endif
1774#ifdef USE_SHADOWMAP
1775	#if NUM_DIR_LIGHT_SHADOWS > 0
1776		uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];
1777		varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];
1778		struct DirectionalLightShadow {
1779			float shadowIntensity;
1780			float shadowBias;
1781			float shadowNormalBias;
1782			float shadowRadius;
1783			vec2 shadowMapSize;
1784		};
1785		uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];
1786	#endif
1787	#if NUM_SPOT_LIGHT_SHADOWS > 0
1788		uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];
1789		struct SpotLightShadow {
1790			float shadowIntensity;
1791			float shadowBias;
1792			float shadowNormalBias;
1793			float shadowRadius;
1794			vec2 shadowMapSize;
1795		};
1796		uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];
1797	#endif
1798	#if NUM_POINT_LIGHT_SHADOWS > 0
1799		uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];
1800		varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];
1801		struct PointLightShadow {
1802			float shadowIntensity;
1803			float shadowBias;
1804			float shadowNormalBias;
1805			float shadowRadius;
1806			vec2 shadowMapSize;
1807			float shadowCameraNear;
1808			float shadowCameraFar;
1809		};
1810		uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];
1811	#endif
1812	float texture2DCompare( sampler2D depths, vec2 uv, float compare ) {
1813		return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );
1814	}
1815	vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {
1816		return unpackRGBATo2Half( texture2D( shadow, uv ) );
1817	}
1818	float VSMShadow (sampler2D shadow, vec2 uv, float compare ){
1819		float occlusion = 1.0;
1820		vec2 distribution = texture2DDistribution( shadow, uv );
1821		float hard_shadow = step( compare , distribution.x );
1822		if (hard_shadow != 1.0 ) {
1823			float distance = compare - distribution.x ;
1824			float variance = max( 0.00000, distribution.y * distribution.y );
1825			float softness_probability = variance / (variance + distance * distance );			softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );			occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );
1826		}
1827		return occlusion;
1828	}
1829	float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) {
1830		float shadow = 1.0;
1831		shadowCoord.xyz /= shadowCoord.w;
1832		shadowCoord.z += shadowBias;
1833		bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;
1834		bool frustumTest = inFrustum && shadowCoord.z <= 1.0;
1835		if ( frustumTest ) {
1836		#if defined( SHADOWMAP_TYPE_PCF )
1837			vec2 texelSize = vec2( 1.0 ) / shadowMapSize;
1838			float dx0 = - texelSize.x * shadowRadius;
1839			float dy0 = - texelSize.y * shadowRadius;
1840			float dx1 = + texelSize.x * shadowRadius;
1841			float dy1 = + texelSize.y * shadowRadius;
1842			float dx2 = dx0 / 2.0;
1843			float dy2 = dy0 / 2.0;
1844			float dx3 = dx1 / 2.0;
1845			float dy3 = dy1 / 2.0;
1846			shadow = (
1847				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +
1848				texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +
1849				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +
1850				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +
1851				texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +
1852				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +
1853				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +
1854				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +
1855				texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +
1856				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +
1857				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +
1858				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +
1859				texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +
1860				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +
1861				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +
1862				texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +
1863				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )
1864			) * ( 1.0 / 17.0 );
1865		#elif defined( SHADOWMAP_TYPE_PCF_SOFT )
1866			vec2 texelSize = vec2( 1.0 ) / shadowMapSize;
1867			float dx = texelSize.x;
1868			float dy = texelSize.y;
1869			vec2 uv = shadowCoord.xy;
1870			vec2 f = fract( uv * shadowMapSize + 0.5 );
1871			uv -= f * texelSize;
1872			shadow = (
1873				texture2DCompare( shadowMap, uv, shadowCoord.z ) +
1874				texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +
1875				texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +
1876				texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +
1877				mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),
1878					 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),
1879					 f.x ) +
1880				mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),
1881					 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),
1882					 f.x ) +
1883				mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),
1884					 texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),
1885					 f.y ) +
1886				mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),
1887					 texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),
1888					 f.y ) +
1889				mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),
1890						  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),
1891						  f.x ),
1892					 mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),
1893						  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),
1894						  f.x ),
1895					 f.y )
1896			) * ( 1.0 / 9.0 );
1897		#elif defined( SHADOWMAP_TYPE_VSM )
1898			shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );
1899		#else
1900			shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );
1901		#endif
1902		}
1903		return mix( 1.0, shadow, shadowIntensity );
1904	}
1905	vec2 cubeToUV( vec3 v, float texelSizeY ) {
1906		vec3 absV = abs( v );
1907		float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );
1908		absV *= scaleToCube;
1909		v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );
1910		vec2 planar = v.xy;
1911		float almostATexel = 1.5 * texelSizeY;
1912		float almostOne = 1.0 - almostATexel;
1913		if ( absV.z >= almostOne ) {
1914			if ( v.z > 0.0 )
1915				planar.x = 4.0 - v.x;
1916		} else if ( absV.x >= almostOne ) {
1917			float signX = sign( v.x );
1918			planar.x = v.z * signX + 2.0 * signX;
1919		} else if ( absV.y >= almostOne ) {
1920			float signY = sign( v.y );
1921			planar.x = v.x + 2.0 * signY + 2.0;
1922			planar.y = v.z * signY - 2.0;
1923		}
1924		return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );
1925	}
1926	float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {
1927		float shadow = 1.0;
1928		vec3 lightToPosition = shadowCoord.xyz;
1929		
1930		float lightToPositionLength = length( lightToPosition );
1931		if ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) {
1932			float dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );			dp += shadowBias;
1933			vec3 bd3D = normalize( lightToPosition );
1934			vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );
1935			#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )
1936				vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;
1937				shadow = (
1938					texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +
1939					texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +
1940					texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +
1941					texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +
1942					texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +
1943					texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +
1944					texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +
1945					texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +
1946					texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )
1947				) * ( 1.0 / 9.0 );
1948			#else
1949				shadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );
1950			#endif
1951		}
1952		return mix( 1.0, shadow, shadowIntensity );
1953	}
1954#endif`,
1954$J=`#if NUM_SPOT_LIGHT_COORDS > 0
1955	uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];
1956	varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];
1957#endif
1958#ifdef USE_SHADOWMAP
1959	#if NUM_DIR_LIGHT_SHADOWS > 0
1960		uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];
1961		varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];
1962		struct DirectionalLightShadow {
1963			float shadowIntensity;
1964			float shadowBias;
1965			float shadowNormalBias;
1966			float shadowRadius;
1967			vec2 shadowMapSize;
1968		};
1969		uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];
1970	#endif
1971	#if NUM_SPOT_LIGHT_SHADOWS > 0
1972		struct SpotLightShadow {
1973			float shadowIntensity;
1974			float shadowBias;
1975			float shadowNormalBias;
1976			float shadowRadius;
1977			vec2 shadowMapSize;
1978		};
1979		uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];
1980	#endif
1981	#if NUM_POINT_LIGHT_SHADOWS > 0
1982		uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];
1983		varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];
1984		struct PointLightShadow {
1985			float shadowIntensity;
1986			float shadowBias;
1987			float shadowNormalBias;
1988			float shadowRadius;
1989			vec2 shadowMapSize;
1990			float shadowCameraNear;
1991			float shadowCameraFar;
1992		};
1993		uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];
1994	#endif
1995#endif`,KJ=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )
1996	vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );
1997	vec4 shadowWorldPosition;
1998#endif
1999#if defined( USE_SHADOWMAP )
2000	#if NUM_DIR_LIGHT_SHADOWS > 0
2001		#pragma unroll_loop_start
2002		for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {
2003			shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );
2004			vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;
2005		}
2006		#pragma unroll_loop_end
2007	#endif
2008	#if NUM_POINT_LIGHT_SHADOWS > 0
2009		#pragma unroll_loop_start
2010		for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {
2011			shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );
2012			vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;
2013		}
2014		#pragma unroll_loop_end
2015	#endif
2016#endif
2017#if NUM_SPOT_LIGHT_COORDS > 0
2018	#pragma unroll_loop_start
2019	for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {
2020		shadowWorldPosition = worldPosition;
2021		#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )
2022			shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;
2023		#endif
2024		vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;
2025	}
2026	#pragma unroll_loop_end
2027#endif`,ZJ=`float getShadowMask() {
2028	float shadow = 1.0;
2029	#ifdef USE_SHADOWMAP
2030	#if NUM_DIR_LIGHT_SHADOWS > 0
2031	DirectionalLightShadow directionalLight;
2032	#pragma unroll_loop_start
2033	for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {
2034		directionalLight = directionalLightShadows[ i ];
2035		shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowIntensity, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
2036	}
2037	#pragma unroll_loop_end
2038	#endif
2039	#if NUM_SPOT_LIGHT_SHADOWS > 0
2040	SpotLightShadow spotLight;
2041	#pragma unroll_loop_start
2042	for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {
2043		spotLight = spotLightShadows[ i ];
2044		shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowIntensity, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;
2045	}
2046	#pragma unroll_loop_end
2047	#endif
2048	#if NUM_POINT_LIGHT_SHADOWS > 0
2049	PointLightShadow pointLight;
2050	#pragma unroll_loop_start
2051	for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {
2052		pointLight = pointLightShadows[ i ];
2053		shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowIntensity, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;
2054	}
2055	#pragma unroll_loop_end
2056	#endif
2057	#endif
2058	return shadow;
2059}`,JJ=`#ifdef USE_SKINNING
2060	mat4 boneMatX = getBoneMatrix( skinIndex.x );
2061	mat4 boneMatY = getBoneMatrix( skinIndex.y );
2062	mat4 boneMatZ = getBoneMatrix( skinIndex.z );
2063	mat4 boneMatW = getBoneMatrix( skinIndex.w );
2064#endif`,eee=`#ifdef USE_SKINNING
2065	uniform mat4 bindMatrix;
2066	uniform mat4 bindMatrixInverse;
2067	uniform highp sampler2D boneTexture;
2068	mat4 getBoneMatrix( const in float i ) {
2069		int size = textureSize( boneTexture, 0 ).x;
2070		int j = int( i ) * 4;
2071		int x = j % size;
2072		int y = j / size;
2073		vec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 );
2074		vec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 );
2075		vec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 );
2076		vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 );
2077		return mat4( v1, v2, v3, v4 );
2078	}
2079#endif`,tee=`#ifdef USE_SKINNING
2080	vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );
2081	vec4 skinned = vec4( 0.0 );
2082	skinned += boneMatX * skinVertex * skinWeight.x;
2083	skinned += boneMatY * skinVertex * skinWeight.y;
2084	skinned += boneMatZ * skinVertex * skinWeight.z;
2085	skinned += boneMatW * skinVertex * skinWeight.w;
2086	transformed = ( bindMatrixInverse * skinned ).xyz;
2087#endif`,nee=`#ifdef USE_SKINNING
2088	mat4 skinMatrix = mat4( 0.0 );
2089	skinMatrix += skinWeight.x * boneMatX;
2090	skinMatrix += skinWeight.y * boneMatY;
2091	skinMatrix += skinWeight.z * boneMatZ;
2092	skinMatrix += skinWeight.w * boneMatW;
2093	skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;
2094	objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;
2095	#ifdef USE_TANGENT
2096		objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;
2097	#endif
2098#endif`,iee=`float specularStrength;
2099#ifdef USE_SPECULARMAP
2100	vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );
2101	specularStrength = texelSpecular.r;
2102#else
2103	specularStrength = 1.0;
2104#endif`,ree=`#ifdef USE_SPECULARMAP
2105	uniform sampler2D specularMap;
2106#endif`,see=`#if defined( TONE_MAPPING )
2107	gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );
2108#endif`,oee=`#ifndef saturate
2109#define saturate( a ) clamp( a, 0.0, 1.0 )
2110#endif
2111uniform float toneMappingExposure;
2112vec3 LinearToneMapping( vec3 color ) {
2113	return saturate( toneMappingExposure * color );
2114}
2115vec3 ReinhardToneMapping( vec3 color ) {
2116	color *= toneMappingExposure;
2117	return saturate( color / ( vec3( 1.0 ) + color ) );
2118}
2119vec3 CineonToneMapping( vec3 color ) {
2120	color *= toneMappingExposure;
2121	color = max( vec3( 0.0 ), color - 0.004 );
2122	return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );
2123}
2124vec3 RRTAndODTFit( vec3 v ) {
2125	vec3 a = v * ( v + 0.0245786 ) - 0.000090537;
2126	vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;
2127	return a / b;
2128}
2129vec3 ACESFilmicToneMapping( vec3 color ) {
2130	const mat3 ACESInputMat = mat3(
2131		vec3( 0.59719, 0.07600, 0.02840 ),		vec3( 0.35458, 0.90834, 0.13383 ),
2132		vec3( 0.04823, 0.01566, 0.83777 )
2133	);
2134	const mat3 ACESOutputMat = mat3(
2135		vec3(  1.60475, -0.10208, -0.00327 ),		vec3( -0.53108,  1.10813, -0.07276 ),
2136		vec3( -0.07367, -0.00605,  1.07602 )
2137	);
2138	color *= toneMappingExposure / 0.6;
2139	color = ACESInputMat * color;
2140	color = RRTAndODTFit( color );
2141	color = ACESOutputMat * color;
2142	return saturate( color );
2143}
2144const mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3(
2145	vec3( 1.6605, - 0.1246, - 0.0182 ),
2146	vec3( - 0.5876, 1.1329, - 0.1006 ),
2147	vec3( - 0.0728, - 0.0083, 1.1187 )
2148);
2149const mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3(
2150	vec3( 0.6274, 0.0691, 0.0164 ),
2151	vec3( 0.3293, 0.9195, 0.0880 ),
2152	vec3( 0.0433, 0.0113, 0.8956 )
2153);
2154vec3 agxDefaultContrastApprox( vec3 x ) {
2155	vec3 x2 = x * x;
2156	vec3 x4 = x2 * x2;
2157	return + 15.5 * x4 * x2
2158		- 40.14 * x4 * x
2159		+ 31.96 * x4
2160		- 6.868 * x2 * x
2161		+ 0.4298 * x2
2162		+ 0.1191 * x
2163		- 0.00232;
2164}
2165vec3 AgXToneMapping( vec3 color ) {
2166	const mat3 AgXInsetMatrix = mat3(
2167		vec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ),
2168		vec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ),
2169		vec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 )
2170	);
2171	const mat3 AgXOutsetMatrix = mat3(
2172		vec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ),
2173		vec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ),
2174		vec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 )
2175	);
2176	const float AgxMinEv = - 12.47393;	const float AgxMaxEv = 4.026069;
2177	color *= toneMappingExposure;
2178	color = LINEAR_SRGB_TO_LINEAR_REC2020 * color;
2179	color = AgXInsetMatrix * color;
2180	color = max( color, 1e-10 );	color = log2( color );
2181	color = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv );
2182	color = clamp( color, 0.0, 1.0 );
2183	color = agxDefaultContrastApprox( color );
2184	color = AgXOutsetMatrix * color;
2185	color = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) );
2186	color = LINEAR_REC2020_TO_LINEAR_SRGB * color;
2187	color = clamp( color, 0.0, 1.0 );
2188	return color;
2189}
2190vec3 NeutralToneMapping( vec3 color ) {
2191	const float StartCompression = 0.8 - 0.04;
2192	const float Desaturation = 0.15;
2193	color *= toneMappingExposure;
2194	float x = min( color.r, min( color.g, color.b ) );
2195	float offset = x < 0.08 ? x - 6.25 * x * x : 0.04;
2196	color -= offset;
2197	float peak = max( color.r, max( color.g, color.b ) );
2198	if ( peak < StartCompression ) return color;
2199	float d = 1. - StartCompression;
2200	float newPeak = 1. - d * d / ( peak + d - StartCompression );
2201	color *= newPeak / peak;
2202	float g = 1. - 1. / ( Desaturation * ( peak - newPeak ) + 1. );
2203	return mix( color, vec3( newPeak ), g );
2204}
2205vec3 CustomToneMapping( vec3 color ) { return color; }`,aee=`#ifdef USE_TRANSMISSION
2206	material.transmission = transmission;
2207	material.transmissionAlpha = 1.0;
2208	material.thickness = thickness;
2209	material.attenuationDistance = attenuationDistance;
2210	material.attenuationColor = attenuationColor;
2211	#ifdef USE_TRANSMISSIONMAP
2212		material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;
2213	#endif
2214	#ifdef USE_THICKNESSMAP
2215		material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;
2216	#endif
2217	vec3 pos = vWorldPosition;
2218	vec3 v = normalize( cameraPosition - pos );
2219	vec3 n = inverseTransformDirection( normal, viewMatrix );
2220	vec4 transmitted = getIBLVolumeRefraction(
2221		n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,
2222		pos, modelMatrix, viewMatrix, projectionMatrix, material.dispersion, material.ior, material.thickness,
2223		material.attenuationColor, material.attenuationDistance );
2224	material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );
2225	totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission );
2226#endif`,lee=`#ifdef USE_TRANSMISSION
2227	uniform float transmission;
2228	uniform float thickness;
2229	uniform float attenuationDistance;
2230	uniform vec3 attenuationColor;
2231	#ifdef USE_TRANSMISSIONMAP
2232		uniform sampler2D transmissionMap;
2233	#endif
2234	#ifdef USE_THICKNESSMAP
2235		uniform sampler2D thicknessMap;
2236	#endif
2237	uniform vec2 transmissionSamplerSize;
2238	uniform sampler2D transmissionSamplerMap;
2239	uniform mat4 modelMatrix;
2240	uniform mat4 projectionMatrix;
2241	varying vec3 vWorldPosition;
2242	float w0( float a ) {
2243		return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );
2244	}
2245	float w1( float a ) {
2246		return ( 1.0 / 6.0 ) * ( a *  a * ( 3.0 * a - 6.0 ) + 4.0 );
2247	}
2248	float w2( float a ){
2249		return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );
2250	}
2251	float w3( float a ) {
2252		return ( 1.0 / 6.0 ) * ( a * a * a );
2253	}
2254	float g0( float a ) {
2255		return w0( a ) + w1( a );
2256	}
2257	float g1( float a ) {
2258		return w2( a ) + w3( a );
2259	}
2260	float h0( float a ) {
2261		return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );
2262	}
2263	float h1( float a ) {
2264		return 1.0 + w3( a ) / ( w2( a ) + w3( a ) );
2265	}
2266	vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {
2267		uv = uv * texelSize.zw + 0.5;
2268		vec2 iuv = floor( uv );
2269		vec2 fuv = fract( uv );
2270		float g0x = g0( fuv.x );
2271		float g1x = g1( fuv.x );
2272		float h0x = h0( fuv.x );
2273		float h1x = h1( fuv.x );
2274		float h0y = h0( fuv.y );
2275		float h1y = h1( fuv.y );
2276		vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;
2277		vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;
2278		vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;
2279		vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;
2280		return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +
2281			g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );
2282	}
2283	vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {
2284		vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );
2285		vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );
2286		vec2 fLodSizeInv = 1.0 / fLodSize;
2287		vec2 cLodSizeInv = 1.0 / cLodSize;
2288		vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );
2289		vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );
2290		return mix( fSample, cSample, fract( lod ) );
2291	}
2292	vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {
2293		vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );
2294		vec3 modelScale;
2295		modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );
2296		modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );
2297		modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );
2298		return normalize( refractionVector ) * thickness * modelScale;
2299	}
2300	float applyIorToRoughness( const in float roughness, const in float ior ) {
2301		return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );
2302	}
2303	vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {
2304		float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );
2305		return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );
2306	}
2307	vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {
2308		if ( isinf( attenuationDistance ) ) {
2309			return vec3( 1.0 );
2310		} else {
2311			vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;
2312			vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );			return transmittance;
2313		}
2314	}
2315	vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,
2316		const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,
2317		const in mat4 viewMatrix, const in mat4 projMatrix, const in float dispersion, const in float ior, const in float thickness,
2318		const in vec3 attenuationColor, const in float attenuationDistance ) {
2319		vec4 transmittedLight;
2320		vec3 transmittance;
2321		#ifdef USE_DISPERSION
2322			float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion;
2323			vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread );
2324			for ( int i = 0; i < 3; i ++ ) {
2325				vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix );
2326				vec3 refractedRayExit = position + transmissionRay;
2327				vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );
2328				vec2 refractionCoords = ndcPos.xy / ndcPos.w;
2329				refractionCoords += 1.0;
2330				refractionCoords /= 2.0;
2331				vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] );
2332				transmittedLight[ i ] = transmissionSample[ i ];
2333				transmittedLight.a += transmissionSample.a;
2334				transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ];
2335			}
2336			transmittedLight.a /= 3.0;
2337		#else
2338			vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );
2339			vec3 refractedRayExit = position + transmissionRay;
2340			vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );
2341			vec2 refractionCoords = ndcPos.xy / ndcPos.w;
2342			refractionCoords += 1.0;
2343			refractionCoords /= 2.0;
2344			transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );
2345			transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance );
2346		#endif
2347		vec3 attenuatedColor = transmittance * transmittedLight.rgb;
2348		vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );
2349		float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0;
2350		return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor );
2351	}
2352#endif`,cee=`#if defined( USE_UV ) || defined( USE_ANISOTROPY )
2353	varying vec2 vUv;
2354#endif
2355#ifdef USE_MAP
2356	varying vec2 vMapUv;
2357#endif
2358#ifdef USE_ALPHAMAP
2359	varying vec2 vAlphaMapUv;
2360#endif
2361#ifdef USE_LIGHTMAP
2362	varying vec2 vLightMapUv;
2363#endif
2364#ifdef USE_AOMAP
2365	varying vec2 vAoMapUv;
2366#endif
2367#ifdef USE_BUMPMAP
2368	varying vec2 vBumpMapUv;
2369#endif
2370#ifdef USE_NORMALMAP
2371	varying vec2 vNormalMapUv;
2372#endif
2373#ifdef USE_EMISSIVEMAP
2374	varying vec2 vEmissiveMapUv;
2375#endif
2376#ifdef USE_METALNESSMAP
2377	varying vec2 vMetalnessMapUv;
2378#endif
2379#ifdef USE_ROUGHNESSMAP
2380	varying vec2 vRoughnessMapUv;
2381#endif
2382#ifdef USE_ANISOTROPYMAP
2383	varying vec2 vAnisotropyMapUv;
2384#endif
2385#ifdef USE_CLEARCOATMAP
2386	varying vec2 vClearcoatMapUv;
2387#endif
2388#ifdef USE_CLEARCOAT_NORMALMAP
2389	varying vec2 vClearcoatNormalMapUv;
2390#endif
2391#ifdef USE_CLEARCOAT_ROUGHNESSMAP
2392	varying vec2 vClearcoatRoughnessMapUv;
2393#endif
2394#ifdef USE_IRIDESCENCEMAP
2395	varying vec2 vIridescenceMapUv;
2396#endif
2397#ifdef USE_IRIDESCENCE_THICKNESSMAP
2398	varying vec2 vIridescenceThicknessMapUv;
2399#endif
2400#ifdef USE_SHEEN_COLORMAP
2401	varying vec2 vSheenColorMapUv;
2402#endif
2403#ifdef USE_SHEEN_ROUGHNESSMAP
2404	varying vec2 vSheenRoughnessMapUv;
2405#endif
2406#ifdef USE_SPECULARMAP
2407	varying vec2 vSpecularMapUv;
2408#endif
2409#ifdef USE_SPECULAR_COLORMAP
2410	varying vec2 vSpecularColorMapUv;
2411#endif
2412#ifdef USE_SPECULAR_INTENSITYMAP
2413	varying vec2 vSpecularIntensityMapUv;
2414#endif
2415#ifdef USE_TRANSMISSIONMAP
2416	uniform mat3 transmissionMapTransform;
2417	varying vec2 vTransmissionMapUv;
2418#endif
2419#ifdef USE_THICKNESSMAP
2420	uniform mat3 thicknessMapTransform;
2421	varying vec2 vThicknessMapUv;
2422#endif`,uee=`#if defined( USE_UV ) || defined( USE_ANISOTROPY )
2423	varying vec2 vUv;
2424#endif
2425#ifdef USE_MAP
2426	uniform mat3 mapTransform;
2427	varying vec2 vMapUv;
2428#endif
2429#ifdef USE_ALPHAMAP
2430	uniform mat3 alphaMapTransform;
2431	varying vec2 vAlphaMapUv;
2432#endif
2433#ifdef USE_LIGHTMAP
2434	uniform mat3 lightMapTransform;
2435	varying vec2 vLightMapUv;
2436#endif
2437#ifdef USE_AOMAP
2438	uniform mat3 aoMapTransform;
2439	varying vec2 vAoMapUv;
2440#endif
2441#ifdef USE_BUMPMAP
2442	uniform mat3 bumpMapTransform;
2443	varying vec2 vBumpMapUv;
2444#endif
2445#ifdef USE_NORMALMAP
2446	uniform mat3 normalMapTransform;
2447	varying vec2 vNormalMapUv;
2448#endif
2449#ifdef USE_DISPLACEMENTMAP
2450	uniform mat3 displacementMapTransform;
2451	varying vec2 vDisplacementMapUv;
2452#endif
2453#ifdef USE_EMISSIVEMAP
2454	uniform mat3 emissiveMapTransform;
2455	varying vec2 vEmissiveMapUv;
2456#endif
2457#ifdef USE_METALNESSMAP
2458	uniform mat3 metalnessMapTransform;
2459	varying vec2 vMetalnessMapUv;
2460#endif
2461#ifdef USE_ROUGHNESSMAP
2462	uniform mat3 roughnessMapTransform;
2463	varying vec2 vRoughnessMapUv;
2464#endif
2465#ifdef USE_ANISOTROPYMAP
2466	uniform mat3 anisotropyMapTransform;
2467	varying vec2 vAnisotropyMapUv;
2468#endif
2469#ifdef USE_CLEARCOATMAP
2470	uniform mat3 clearcoatMapTransform;
2471	varying vec2 vClearcoatMapUv;
2472#endif
2473#ifdef USE_CLEARCOAT_NORMALMAP
2474	uniform mat3 clearcoatNormalMapTransform;
2475	varying vec2 vClearcoatNormalMapUv;
2476#endif
2477#ifdef USE_CLEARCOAT_ROUGHNESSMAP
2478	uniform mat3 clearcoatRoughnessMapTransform;
2479	varying vec2 vClearcoatRoughnessMapUv;
2480#endif
2481#ifdef USE_SHEEN_COLORMAP
2482	uniform mat3 sheenColorMapTransform;
2483	varying vec2 vSheenColorMapUv;
2484#endif
2485#ifdef USE_SHEEN_ROUGHNESSMAP
2486	uniform mat3 sheenRoughnessMapTransform;
2487	varying vec2 vSheenRoughnessMapUv;
2488#endif
2489#ifdef USE_IRIDESCENCEMAP
2490	uniform mat3 iridescenceMapTransform;
2491	varying vec2 vIridescenceMapUv;
2492#endif
2493#ifdef USE_IRIDESCENCE_THICKNESSMAP
2494	uniform mat3 iridescenceThicknessMapTransform;
2495	varying vec2 vIridescenceThicknessMapUv;
2496#endif
2497#ifdef USE_SPECULARMAP
2498	uniform mat3 specularMapTransform;
2499	varying vec2 vSpecularMapUv;
2500#endif
2501#ifdef USE_SPECULAR_COLORMAP
2502	uniform mat3 specularColorMapTransform;
2503	varying vec2 vSpecularColorMapUv;
2504#endif
2505#ifdef USE_SPECULAR_INTENSITYMAP
2506	uniform mat3 specularIntensityMapTransform;
2507	varying vec2 vSpecularIntensityMapUv;
2508#endif
2509#ifdef USE_TRANSMISSIONMAP
2510	uniform mat3 transmissionMapTransform;
2511	varying vec2 vTransmissionMapUv;
2512#endif
2513#ifdef USE_THICKNESSMAP
2514	uniform mat3 thicknessMapTransform;
2515	varying vec2 vThicknessMapUv;
2516#endif`,fee=`#if defined( USE_UV ) || defined( USE_ANISOTROPY )
2517	vUv = vec3( uv, 1 ).xy;
2518#endif
2519#ifdef USE_MAP
2520	vMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;
2521#endif
2522#ifdef USE_ALPHAMAP
2523	vAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;
2524#endif
2525#ifdef USE_LIGHTMAP
2526	vLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;
2527#endif
2528#ifdef USE_AOMAP
2529	vAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;
2530#endif
2531#ifdef USE_BUMPMAP
2532	vBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;
2533#endif
2534#ifdef USE_NORMALMAP
2535	vNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;
2536#endif
2537#ifdef USE_DISPLACEMENTMAP
2538	vDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;
2539#endif
2540#ifdef USE_EMISSIVEMAP
2541	vEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;
2542#endif
2543#ifdef USE_METALNESSMAP
2544	vMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;
2545#endif
2546#ifdef USE_ROUGHNESSMAP
2547	vRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;
2548#endif
2549#ifdef USE_ANISOTROPYMAP
2550	vAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy;
2551#endif
2552#ifdef USE_CLEARCOATMAP
2553	vClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;
2554#endif
2555#ifdef USE_CLEARCOAT_NORMALMAP
2556	vClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;
2557#endif
2558#ifdef USE_CLEARCOAT_ROUGHNESSMAP
2559	vClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;
2560#endif
2561#ifdef USE_IRIDESCENCEMAP
2562	vIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;
2563#endif
2564#ifdef USE_IRIDESCENCE_THICKNESSMAP
2565	vIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;
2566#endif
2567#ifdef USE_SHEEN_COLORMAP
2568	vSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;
2569#endif
2570#ifdef USE_SHEEN_ROUGHNESSMAP
2571	vSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;
2572#endif
2573#ifdef USE_SPECULARMAP
2574	vSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;
2575#endif
2576#ifdef USE_SPECULAR_COLORMAP
2577	vSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;
2578#endif
2579#ifdef USE_SPECULAR_INTENSITYMAP
2580	vSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;
2581#endif
2582#ifdef USE_TRANSMISSIONMAP
2583	vTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;
2584#endif
2585#ifdef USE_THICKNESSMAP
2586	vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;
2587#endif`,dee=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0
2588	vec4 worldPosition = vec4( transformed, 1.0 );
2589	#ifdef USE_BATCHING
2590		worldPosition = batchingMatrix * worldPosition;
2591	#endif
2592	#ifdef USE_INSTANCING
2593		worldPosition = instanceMatrix * worldPosition;
2594	#endif
2595	worldPosition = modelMatrix * worldPosition;
2596#endif`;const hee=`varying vec2 vUv;
2597uniform mat3 uvTransform;
2598void main() {
2599	vUv = ( uvTransform * vec3( uv, 1 ) ).xy;
2600	gl_Position = vec4( position.xy, 1.0, 1.0 );
2601}`,pee=`uniform sampler2D t2D;
2602uniform float backgroundIntensity;
2603varying vec2 vUv;
2604void main() {
2605	vec4 texColor = texture2D( t2D, vUv );
2606	#ifdef DECODE_VIDEO_TEXTURE
2607		texColor = 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 );
2608	#endif
2609	texColor.rgb *= backgroundIntensity;
2610	gl_FragColor = texColor;
2611	#include <tonemapping_fragment>
2612	#include <colorspace_fragment>
2613}`,mee=`varying vec3 vWorldDirection;
2614#include <common>
2615void main() {
2616	vWorldDirection = transformDirection( position, modelMatrix );
2617	#include <begin_vertex>
2618	#include <project_vertex>
2619	gl_Position.z = gl_Position.w;
2620}`,gee=`#ifdef ENVMAP_TYPE_CUBE
2621	uniform samplerCube envMap;
2622#elif defined( ENVMAP_TYPE_CUBE_UV )
2623	uniform sampler2D envMap;
2624#endif
2625uniform float flipEnvMap;
2626uniform float backgroundBlurriness;
2627uniform float backgroundIntensity;
2628uniform mat3 backgroundRotation;
2629varying vec3 vWorldDirection;
2630#include <cube_uv_reflection_fragment>
2631void main() {
2632	#ifdef ENVMAP_TYPE_CUBE
2633		vec4 texColor = textureCube( envMap, backgroundRotation * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );
2634	#elif defined( ENVMAP_TYPE_CUBE_UV )
2635		vec4 texColor = textureCubeUV( envMap, backgroundRotation * vWorldDirection, backgroundBlurriness );
2636	#else
2637		vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );
2638	#endif
2639	texColor.rgb *= backgroundIntensity;
2640	gl_FragColor = texColor;
2641	#include <tonemapping_fragment>
2642	#include <colorspace_fragment>
2643}`,Aee=`varying vec3 vWorldDirection;
2644#include <common>
2645void main() {
2646	vWorldDirection = transformDirection( position, modelMatrix );
2647	#include <begin_vertex>
2648	#include <project_vertex>
2649	gl_Position.z = gl_Position.w;
2650}`,vee=`uniform samplerCube tCube;
2651uniform float tFlip;
2652uniform float opacity;
2653varying vec3 vWorldDirection;
2654void main() {
2655	vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );
2656	gl_FragColor = texColor;
2657	gl_FragColor.a *= opacity;
2658	#include <tonemapping_fragment>
2659	#include <colorspace_fragment>
2660}`,yee=`#include <common>
2661#include <batching_pars_vertex>
2662#include <uv_pars_vertex>
2663#include <displacementmap_pars_vertex>
2664#include <morphtarget_pars_vertex>
2665#include <skinning_pars_vertex>
2666#include <logdepthbuf_pars_vertex>
2667#include <clipping_planes_pars_vertex>
2668varying vec2 vHighPrecisionZW;
2669void main() {
2670	#include <uv_vertex>
2671	#include <batching_vertex>
2672	#include <skinbase_vertex>
2673	#include <morphinstance_vertex>
2674	#ifdef USE_DISPLACEMENTMAP
2675		#include <beginnormal_vertex>
2676		#include <morphnormal_vertex>
2677		#include <skinnormal_vertex>
2678	#endif
2679	#include <begin_vertex>
2680	#include <morphtarget_vertex>
2681	#include <skinning_vertex>
2682	#include <displacementmap_vertex>
2683	#include <project_vertex>
2684	#include <logdepthbuf_vertex>
2685	#include <clipping_planes_vertex>
2686	vHighPrecisionZW = gl_Position.zw;
2687}`,_ee=`#if DEPTH_PACKING == 3200
2688	uniform float opacity;
2689#endif
2690#include <common>
2691#include <packing>
2692#include <uv_pars_fragment>
2693#include <map_pars_fragment>
2694#include <alphamap_pars_fragment>
2695#include <alphatest_pars_fragment>
2696#include <alphahash_pars_fragment>
2697#include <logdepthbuf_pars_fragment>
2698#include <clipping_planes_pars_fragment>
2699varying vec2 vHighPrecisionZW;
2700void main() {
2701	vec4 diffuseColor = vec4( 1.0 );
2702	#include <clipping_planes_fragment>
2703	#if DEPTH_PACKING == 3200
2704		diffuseColor.a = opacity;
2705	#endif
2706	#include <map_fragment>
2707	#include <alphamap_fragment>
2708	#include <alphatest_fragment>
2709	#include <alphahash_fragment>
2710	#include <logdepthbuf_fragment>
2711	float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;
2712	#if DEPTH_PACKING == 3200
2713		gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );
2714	#elif DEPTH_PACKING == 3201
2715		gl_FragColor = packDepthToRGBA( fragCoordZ );
2716	#elif DEPTH_PACKING == 3202
2717		gl_FragColor = vec4( packDepthToRGB( fragCoordZ ), 1.0 );
2718	#elif DEPTH_PACKING == 3203
2719		gl_FragColor = vec4( packDepthToRG( fragCoordZ ), 0.0, 1.0 );
2720	#endif
2721}`,bee=`#define DISTANCE
2722varying vec3 vWorldPosition;
2723#include <common>
2724#include <batching_pars_vertex>
2725#include <uv_pars_vertex>
2726#include <displacementmap_pars_vertex>
2727#include <morphtarget_pars_vertex>
2728#include <skinning_pars_vertex>
2729#include <clipping_planes_pars_vertex>
2730void main() {
2731	#include <uv_vertex>
2732	#include <batching_vertex>
2733	#include <skinbase_vertex>
2734	#include <morphinstance_vertex>
2735	#ifdef USE_DISPLACEMENTMAP
2736		#include <beginnormal_vertex>
2737		#include <morphnormal_vertex>
2738		#include <skinnormal_vertex>
2739	#endif
2740	#include <begin_vertex>
2741	#include <morphtarget_vertex>
2742	#include <skinning_vertex>
2743	#include <displacementmap_vertex>
2744	#include <project_vertex>
2745	#include <worldpos_vertex>
2746	#include <clipping_planes_vertex>
2747	vWorldPosition = worldPosition.xyz;
2748}`,xee=`#define DISTANCE
2749uniform vec3 referencePosition;
2750uniform float nearDistance;
2751uniform float farDistance;
2752varying vec3 vWorldPosition;
2753#include <common>
2754#include <packing>
2755#include <uv_pars_fragment>
2756#include <map_pars_fragment>
2757#include <alphamap_pars_fragment>
2758#include <alphatest_pars_fragment>
2759#include <alphahash_pars_fragment>
2760#include <clipping_planes_pars_fragment>
2761void main () {
2762	vec4 diffuseColor = vec4( 1.0 );
2763	#include <clipping_planes_fragment>
2764	#include <map_fragment>
2765	#include <alphamap_fragment>
2766	#include <alphatest_fragment>
2767	#include <alphahash_fragment>
2768	float dist = length( vWorldPosition - referencePosition );
2769	dist = ( dist - nearDistance ) / ( farDistance - nearDistance );
2770	dist = saturate( dist );
2771	gl_FragColor = packDepthToRGBA( dist );
2772}`,Cee=`varying vec3 vWorldDirection;
2773#include <common>
2774void main() {
2775	vWorldDirection = transformDirection( position, modelMatrix );
2776	#include <begin_vertex>
2777	#include <project_vertex>
2778}`,wee=`uniform sampler2D tEquirect;
2779varying vec3 vWorldDirection;
2780#include <common>
2781void main() {
2782	vec3 direction = normalize( vWorldDirection );
2783	vec2 sampleUV = equirectUv( direction );
2784	gl_FragColor = texture2D( tEquirect, sampleUV );
2785	#include <tonemapping_fragment>
2786	#include <colorspace_fragment>
2787}`,See=`uniform float scale;
2788attribute float lineDistance;
2789varying float vLineDistance;
2790#include <common>
2791#include <uv_pars_vertex>
2792#include <color_pars_vertex>
2793#include <fog_pars_vertex>
2794#include <morphtarget_pars_vertex>
2795#include <logdepthbuf_pars_vertex>
2796#include <clipping_planes_pars_vertex>
2797void main() {
2798	vLineDistance = scale * lineDistance;
2799	#include <uv_vertex>
2800	#include <color_vertex>
2801	#include <morphinstance_vertex>
2802	#include <morphcolor_vertex>
2803	#include <begin_vertex>
2804	#include <morphtarget_vertex>
2805	#include <project_vertex>
2806	#include <logdepthbuf_vertex>
2807	#include <clipping_planes_vertex>
2808	#include <fog_vertex>
2809}`,Eee=`uniform vec3 diffuse;
2810uniform float opacity;
2811uniform float dashSize;
2812uniform float totalSize;
2813varying float vLineDistance;
2814#include <common>
2815#include <color_pars_fragment>
2816#include <uv_pars_fragment>
2817#include <map_pars_fragment>
2818#include <fog_pars_fragment>
2819#include <logdepthbuf_pars_fragment>
2820#include <clipping_planes_pars_fragment>
2821void main() {
2822	vec4 diffuseColor = vec4( diffuse, opacity );
2823	#include <clipping_planes_fragment>
2824	if ( mod( vLineDistance, totalSize ) > dashSize ) {
2825		discard;
2826	}
2827	vec3 outgoingLight = vec3( 0.0 );
2828	#include <logdepthbuf_fragment>
2829	#include <map_fragment>
2830	#include <color_fragment>
2831	outgoingLight = diffuseColor.rgb;
2832	#include <opaque_fragment>
2833	#include <tonemapping_fragment>
2834	#include <colorspace_fragment>
2835	#include <fog_fragment>
2836	#include <premultiplied_alpha_fragment>
2837}`,Tee=`#include <common>
2838#include <batching_pars_vertex>
2839#include <uv_pars_vertex>
2840#include <envmap_pars_vertex>
2841#include <color_pars_vertex>
2842#include <fog_pars_vertex>
2843#include <morphtarget_pars_vertex>
2844#include <skinning_pars_vertex>
2845#include <logdepthbuf_pars_vertex>
2846#include <clipping_planes_pars_vertex>
2847void main() {
2848	#include <uv_vertex>
2849	#include <color_vertex>
2850	#include <morphinstance_vertex>
2851	#include <morphcolor_vertex>
2852	#include <batching_vertex>
2853	#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )
2854		#include <beginnormal_vertex>
2855		#include <morphnormal_vertex>
2856		#include <skinbase_vertex>
2857		#include <skinnormal_vertex>
2858		#include <defaultnormal_vertex>
2859	#endif
2860	#include <begin_vertex>
2861	#include <morphtarget_vertex>
2862	#include <skinning_vertex>
2863	#include <project_vertex>
2864	#include <logdepthbuf_vertex>
2865	#include <clipping_planes_vertex>
2866	#include <worldpos_vertex>
2867	#include <envmap_vertex>
2868	#include <fog_vertex>
2869}`,Mee=`uniform vec3 diffuse;
2870uniform float opacity;
2871#ifndef FLAT_SHADED
2872	varying vec3 vNormal;
2873#endif
2874#include <common>
2875#include <dithering_pars_fragment>
2876#include <color_pars_fragment>
2877#include <uv_pars_fragment>
2878#include <map_pars_fragment>
2879#include <alphamap_pars_fragment>
2880#include <alphatest_pars_fragment>
2881#include <alphahash_pars_fragment>
2882#include <aomap_pars_fragment>
2883#include <lightmap_pars_fragment>
2884#include <envmap_common_pars_fragment>
2885#include <envmap_pars_fragment>
2886#include <fog_pars_fragment>
2887#include <specularmap_pars_fragment>
2888#include <logdepthbuf_pars_fragment>
2889#include <clipping_planes_pars_fragment>
2890void main() {
2891	vec4 diffuseColor = vec4( diffuse, opacity );
2892	#include <clipping_planes_fragment>
2893	#include <logdepthbuf_fragment>
2894	#include <map_fragment>
2895	#include <color_fragment>
2896	#include <alphamap_fragment>
2897	#include <alphatest_fragment>
2898	#include <alphahash_fragment>
2899	#include <specularmap_fragment>
2900	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
2901	#ifdef USE_LIGHTMAP
2902		vec4 lightMapTexel = texture2D( lightMap, vLightMapUv );
2903		reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;
2904	#else
2905		reflectedLight.indirectDiffuse += vec3( 1.0 );
2906	#endif
2907	#include <aomap_fragment>
2908	reflectedLight.indirectDiffuse *= diffuseColor.rgb;
2909	vec3 outgoingLight = reflectedLight.indirectDiffuse;
2910	#include <envmap_fragment>
2911	#include <opaque_fragment>
2912	#include <tonemapping_fragment>
2913	#include <colorspace_fragment>
2914	#include <fog_fragment>
2915	#include <premultiplied_alpha_fragment>
2916	#include <dithering_fragment>
2917}`,Iee=`#define LAMBERT
2918varying vec3 vViewPosition;
2919#include <common>
2920#include <batching_pars_vertex>
2921#include <uv_pars_vertex>
2922#include <displacementmap_pars_vertex>
2923#include <envmap_pars_vertex>
2924#include <color_pars_vertex>
2925#include <fog_pars_vertex>
2926#include <normal_pars_vertex>
2927#include <morphtarget_pars_vertex>
2928#include <skinning_pars_vertex>
2929#include <shadowmap_pars_vertex>
2930#include <logdepthbuf_pars_vertex>
2931#include <clipping_planes_pars_vertex>
2932void main() {
2933	#include <uv_vertex>
2934	#include <color_vertex>
2935	#include <morphinstance_vertex>
2936	#include <morphcolor_vertex>
2937	#include <batching_vertex>
2938	#include <beginnormal_vertex>
2939	#include <morphnormal_vertex>
2940	#include <skinbase_vertex>
2941	#include <skinnormal_vertex>
2942	#include <defaultnormal_vertex>
2943	#include <normal_vertex>
2944	#include <begin_vertex>
2945	#include <morphtarget_vertex>
2946	#include <skinning_vertex>
2947	#include <displacementmap_vertex>
2948	#include <project_vertex>
2949	#include <logdepthbuf_vertex>
2950	#include <clipping_planes_vertex>
2951	vViewPosition = - mvPosition.xyz;
2952	#include <worldpos_vertex>
2953	#include <envmap_vertex>
2954	#include <shadowmap_vertex>
2955	#include <fog_vertex>
2956}`,Pee=`#define LAMBERT
2957uniform vec3 diffuse;
2958uniform vec3 emissive;
2959uniform float opacity;
2960#include <common>
2961#include <packing>
2962#include <dithering_pars_fragment>
2963#include <color_pars_fragment>
2964#include <uv_pars_fragment>
2965#include <map_pars_fragment>
2966#include <alphamap_pars_fragment>
2967#include <alphatest_pars_fragment>
2968#include <alphahash_pars_fragment>
2969#include <aomap_pars_fragment>
2970#include <lightmap_pars_fragment>
2971#include <emissivemap_pars_fragment>
2972#include <envmap_common_pars_fragment>
2973#include <envmap_pars_fragment>
2974#include <fog_pars_fragment>
2975#include <bsdfs>
2976#include <lights_pars_begin>
2977#include <normal_pars_fragment>
2978#include <lights_lambert_pars_fragment>
2979#include <shadowmap_pars_fragment>
2980#include <bumpmap_pars_fragment>
2981#include <normalmap_pars_fragment>
2982#include <specularmap_pars_fragment>
2983#include <logdepthbuf_pars_fragment>
2984#include <clipping_planes_pars_fragment>
2985void main() {
2986	vec4 diffuseColor = vec4( diffuse, opacity );
2987	#include <clipping_planes_fragment>
2988	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
2989	vec3 totalEmissiveRadiance = emissive;
2990	#include <logdepthbuf_fragment>
2991	#include <map_fragment>
2992	#include <color_fragment>
2993	#include <alphamap_fragment>
2994	#include <alphatest_fragment>
2995	#include <alphahash_fragment>
2996	#include <specularmap_fragment>
2997	#include <normal_fragment_begin>
2998	#include <normal_fragment_maps>
2999	#include <emissivemap_fragment>
3000	#include <lights_lambert_fragment>
3001	#include <lights_fragment_begin>
3002	#include <lights_fragment_maps>
3003	#include <lights_fragment_end>
3004	#include <aomap_fragment>
3005	vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;
3006	#include <envmap_fragment>
3007	#include <opaque_fragment>
3008	#include <tonemapping_fragment>
3009	#include <colorspace_fragment>
3010	#include <fog_fragment>
3011	#include <premultiplied_alpha_fragment>
3012	#include <dithering_fragment>
3013}`,Ree=`#define MATCAP
3014varying vec3 vViewPosition;
3015#include <common>
3016#include <batching_pars_vertex>
3017#include <uv_pars_vertex>
3018#include <color_pars_vertex>
3019#include <displacementmap_pars_vertex>
3020#include <fog_pars_vertex>
3021#include <normal_pars_vertex>
3022#include <morphtarget_pars_vertex>
3023#include <skinning_pars_vertex>
3024#include <logdepthbuf_pars_vertex>
3025#include <clipping_planes_pars_vertex>
3026void main() {
3027	#include <uv_vertex>
3028	#include <color_vertex>
3029	#include <morphinstance_vertex>
3030	#include <morphcolor_vertex>
3031	#include <batching_vertex>
3032	#include <beginnormal_vertex>
3033	#include <morphnormal_vertex>
3034	#include <skinbase_vertex>
3035	#include <skinnormal_vertex>
3036	#include <defaultnormal_vertex>
3037	#include <normal_vertex>
3038	#include <begin_vertex>
3039	#include <morphtarget_vertex>
3040	#include <skinning_vertex>
3041	#include <displacementmap_vertex>
3042	#include <project_vertex>
3043	#include <logdepthbuf_vertex>
3044	#include <clipping_planes_vertex>
3045	#include <fog_vertex>
3046	vViewPosition = - mvPosition.xyz;
3047}`,Bee=`#define MATCAP
3048uniform vec3 diffuse;
3049uniform float opacity;
3050uniform sampler2D matcap;
3051varying vec3 vViewPosition;
3052#include <common>
3053#include <dithering_pars_fragment>
3054#include <color_pars_fragment>
3055#include <uv_pars_fragment>
3056#include <map_pars_fragment>
3057#include <alphamap_pars_fragment>
3058#include <alphatest_pars_fragment>
3059#include <alphahash_pars_fragment>
3060#include <fog_pars_fragment>
3061#include <normal_pars_fragment>
3062#include <bumpmap_pars_fragment>
3063#include <normalmap_pars_fragment>
3064#include <logdepthbuf_pars_fragment>
3065#include <clipping_planes_pars_fragme
3065nt>
3066void main() {
3067	vec4 diffuseColor = vec4( diffuse, opacity );
3068	#include <clipping_planes_fragment>
3069	#include <logdepthbuf_fragment>
3070	#include <map_fragment>
3071	#include <color_fragment>
3072	#include <alphamap_fragment>
3073	#include <alphatest_fragment>
3074	#include <alphahash_fragment>
3075	#include <normal_fragment_begin>
3076	#include <normal_fragment_maps>
3077	vec3 viewDir = normalize( vViewPosition );
3078	vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );
3079	vec3 y = cross( viewDir, x );
3080	vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;
3081	#ifdef USE_MATCAP
3082		vec4 matcapColor = texture2D( matcap, uv );
3083	#else
3084		vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );
3085	#endif
3086	vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;
3087	#include <opaque_fragment>
3088	#include <tonemapping_fragment>
3089	#include <colorspace_fragment>
3090	#include <fog_fragment>
3091	#include <premultiplied_alpha_fragment>
3092	#include <dithering_fragment>
3093}`,Dee=`#define NORMAL
3094#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )
3095	varying vec3 vViewPosition;
3096#endif
3097#include <common>
3098#include <batching_pars_vertex>
3099#include <uv_pars_vertex>
3100#include <displacementmap_pars_vertex>
3101#include <normal_pars_vertex>
3102#include <morphtarget_pars_vertex>
3103#include <skinning_pars_vertex>
3104#include <logdepthbuf_pars_vertex>
3105#include <clipping_planes_pars_vertex>
3106void main() {
3107	#include <uv_vertex>
3108	#include <batching_vertex>
3109	#include <beginnormal_vertex>
3110	#include <morphinstance_vertex>
3111	#include <morphnormal_vertex>
3112	#include <skinbase_vertex>
3113	#include <skinnormal_vertex>
3114	#include <defaultnormal_vertex>
3115	#include <normal_vertex>
3116	#include <begin_vertex>
3117	#include <morphtarget_vertex>
3118	#include <skinning_vertex>
3119	#include <displacementmap_vertex>
3120	#include <project_vertex>
3121	#include <logdepthbuf_vertex>
3122	#include <clipping_planes_vertex>
3123#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )
3124	vViewPosition = - mvPosition.xyz;
3125#endif
3126}`,Lee=`#define NORMAL
3127uniform float opacity;
3128#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )
3129	varying vec3 vViewPosition;
3130#endif
3131#include <packing>
3132#include <uv_pars_fragment>
3133#include <normal_pars_fragment>
3134#include <bumpmap_pars_fragment>
3135#include <normalmap_pars_fragment>
3136#include <logdepthbuf_pars_fragment>
3137#include <clipping_planes_pars_fragment>
3138void main() {
3139	vec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity );
3140	#include <clipping_planes_fragment>
3141	#include <logdepthbuf_fragment>
3142	#include <normal_fragment_begin>
3143	#include <normal_fragment_maps>
3144	gl_FragColor = vec4( packNormalToRGB( normal ), diffuseColor.a );
3145	#ifdef OPAQUE
3146		gl_FragColor.a = 1.0;
3147	#endif
3148}`,Oee=`#define PHONG
3149varying vec3 vViewPosition;
3150#include <common>
3151#include <batching_pars_vertex>
3152#include <uv_pars_vertex>
3153#include <displacementmap_pars_vertex>
3154#include <envmap_pars_vertex>
3155#include <color_pars_vertex>
3156#include <fog_pars_vertex>
3157#include <normal_pars_vertex>
3158#include <morphtarget_pars_vertex>
3159#include <skinning_pars_vertex>
3160#include <shadowmap_pars_vertex>
3161#include <logdepthbuf_pars_vertex>
3162#include <clipping_planes_pars_vertex>
3163void main() {
3164	#include <uv_vertex>
3165	#include <color_vertex>
3166	#include <morphcolor_vertex>
3167	#include <batching_vertex>
3168	#include <beginnormal_vertex>
3169	#include <morphinstance_vertex>
3170	#include <morphnormal_vertex>
3171	#include <skinbase_vertex>
3172	#include <skinnormal_vertex>
3173	#include <defaultnormal_vertex>
3174	#include <normal_vertex>
3175	#include <begin_vertex>
3176	#include <morphtarget_vertex>
3177	#include <skinning_vertex>
3178	#include <displacementmap_vertex>
3179	#include <project_vertex>
3180	#include <logdepthbuf_vertex>
3181	#include <clipping_planes_vertex>
3182	vViewPosition = - mvPosition.xyz;
3183	#include <worldpos_vertex>
3184	#include <envmap_vertex>
3185	#include <shadowmap_vertex>
3186	#include <fog_vertex>
3187}`,Fee=`#define PHONG
3188uniform vec3 diffuse;
3189uniform vec3 emissive;
3190uniform vec3 specular;
3191uniform float shininess;
3192uniform float opacity;
3193#include <common>
3194#include <packing>
3195#include <dithering_pars_fragment>
3196#include <color_pars_fragment>
3197#include <uv_pars_fragment>
3198#include <map_pars_fragment>
3199#include <alphamap_pars_fragment>
3200#include <alphatest_pars_fragment>
3201#include <alphahash_pars_fragment>
3202#include <aomap_pars_fragment>
3203#include <lightmap_pars_fragment>
3204#include <emissivemap_pars_fragment>
3205#include <envmap_common_pars_fragment>
3206#include <envmap_pars_fragment>
3207#include <fog_pars_fragment>
3208#include <bsdfs>
3209#include <lights_pars_begin>
3210#include <normal_pars_fragment>
3211#include <lights_phong_pars_fragment>
3212#include <shadowmap_pars_fragment>
3213#include <bumpmap_pars_fragment>
3214#include <normalmap_pars_fragment>
3215#include <specularmap_pars_fragment>
3216#include <logdepthbuf_pars_fragment>
3217#include <clipping_planes_pars_fragment>
3218void main() {
3219	vec4 diffuseColor = vec4( diffuse, opacity );
3220	#include <clipping_planes_fragment>
3221	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
3222	vec3 totalEmissiveRadiance = emissive;
3223	#include <logdepthbuf_fragment>
3224	#include <map_fragment>
3225	#include <color_fragment>
3226	#include <alphamap_fragment>
3227	#include <alphatest_fragment>
3228	#include <alphahash_fragment>
3229	#include <specularmap_fragment>
3230	#include <normal_fragment_begin>
3231	#include <normal_fragment_maps>
3232	#include <emissivemap_fragment>
3233	#include <lights_phong_fragment>
3234	#include <lights_fragment_begin>
3235	#include <lights_fragment_maps>
3236	#include <lights_fragment_end>
3237	#include <aomap_fragment>
3238	vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;
3239	#include <envmap_fragment>
3240	#include <opaque_fragment>
3241	#include <tonemapping_fragment>
3242	#include <colorspace_fragment>
3243	#include <fog_fragment>
3244	#include <premultiplied_alpha_fragment>
3245	#include <dithering_fragment>
3246}`,Uee=`#define STANDARD
3247varying vec3 vViewPosition;
3248#ifdef USE_TRANSMISSION
3249	varying vec3 vWorldPosition;
3250#endif
3251#include <common>
3252#include <batching_pars_vertex>
3253#include <uv_pars_vertex>
3254#include <displacementmap_pars_vertex>
3255#include <color_pars_vertex>
3256#include <fog_pars_vertex>
3257#include <normal_pars_vertex>
3258#include <morphtarget_pars_vertex>
3259#include <skinning_pars_vertex>
3260#include <shadowmap_pars_vertex>
3261#include <logdepthbuf_pars_vertex>
3262#include <clipping_planes_pars_vertex>
3263void main() {
3264	#include <uv_vertex>
3265	#include <color_vertex>
3266	#include <morphinstance_vertex>
3267	#include <morphcolor_vertex>
3268	#include <batching_vertex>
3269	#include <beginnormal_vertex>
3270	#include <morphnormal_vertex>
3271	#include <skinbase_vertex>
3272	#include <skinnormal_vertex>
3273	#include <defaultnormal_vertex>
3274	#include <normal_vertex>
3275	#include <begin_vertex>
3276	#include <morphtarget_vertex>
3277	#include <skinning_vertex>
3278	#include <displacementmap_vertex>
3279	#include <project_vertex>
3280	#include <logdepthbuf_vertex>
3281	#include <clipping_planes_vertex>
3282	vViewPosition = - mvPosition.xyz;
3283	#include <worldpos_vertex>
3284	#include <shadowmap_vertex>
3285	#include <fog_vertex>
3286#ifdef USE_TRANSMISSION
3287	vWorldPosition = worldPosition.xyz;
3288#endif
3289}`,Nee=`#define STANDARD
3290#ifdef PHYSICAL
3291	#define IOR
3292	#define USE_SPECULAR
3293#endif
3294uniform vec3 diffuse;
3295uniform vec3 emissive;
3296uniform float roughness;
3297uniform float metalness;
3298uniform float opacity;
3299#ifdef IOR
3300	uniform float ior;
3301#endif
3302#ifdef USE_SPECULAR
3303	uniform float specularIntensity;
3304	uniform vec3 specularColor;
3305	#ifdef USE_SPECULAR_COLORMAP
3306		uniform sampler2D specularColorMap;
3307	#endif
3308	#ifdef USE_SPECULAR_INTENSITYMAP
3309		uniform sampler2D specularIntensityMap;
3310	#endif
3311#endif
3312#ifdef USE_CLEARCOAT
3313	uniform float clearcoat;
3314	uniform float clearcoatRoughness;
3315#endif
3316#ifdef USE_DISPERSION
3317	uniform float dispersion;
3318#endif
3319#ifdef USE_IRIDESCENCE
3320	uniform float iridescence;
3321	uniform float iridescenceIOR;
3322	uniform float iridescenceThicknessMinimum;
3323	uniform float iridescenceThicknessMaximum;
3324#endif
3325#ifdef USE_SHEEN
3326	uniform vec3 sheenColor;
3327	uniform float sheenRoughness;
3328	#ifdef USE_SHEEN_COLORMAP
3329		uniform sampler2D sheenColorMap;
3330	#endif
3331	#ifdef USE_SHEEN_ROUGHNESSMAP
3332		uniform sampler2D sheenRoughnessMap;
3333	#endif
3334#endif
3335#ifdef USE_ANISOTROPY
3336	uniform vec2 anisotropyVector;
3337	#ifdef USE_ANISOTROPYMAP
3338		uniform sampler2D anisotropyMap;
3339	#endif
3340#endif
3341varying vec3 vViewPosition;
3342#include <common>
3343#include <packing>
3344#include <dithering_pars_fragment>
3345#include <color_pars_fragment>
3346#include <uv_pars_fragment>
3347#include <map_pars_fragment>
3348#include <alphamap_pars_fragment>
3349#include <alphatest_pars_fragment>
3350#include <alphahash_pars_fragment>
3351#include <aomap_pars_fragment>
3352#include <lightmap_pars_fragment>
3353#include <emissivemap_pars_fragment>
3354#include <iridescence_fragment>
3355#include <cube_uv_reflection_fragment>
3356#include <envmap_common_pars_fragment>
3357#include <envmap_physical_pars_fragment>
3358#include <fog_pars_fragment>
3359#include <lights_pars_begin>
3360#include <normal_pars_fragment>
3361#include <lights_physical_pars_fragment>
3362#include <transmission_pars_fragment>
3363#include <shadowmap_pars_fragment>
3364#include <bumpmap_pars_fragment>
3365#include <normalmap_pars_fragment>
3366#include <clearcoat_pars_fragment>
3367#include <iridescence_pars_fragment>
3368#include <roughnessmap_pars_fragment>
3369#include <metalnessmap_pars_fragment>
3370#include <logdepthbuf_pars_fragment>
3371#include <clipping_planes_pars_fragment>
3372void main() {
3373	vec4 diffuseColor = vec4( diffuse, opacity );
3374	#include <clipping_planes_fragment>
3375	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
3376	vec3 totalEmissiveRadiance = emissive;
3377	#include <logdepthbuf_fragment>
3378	#include <map_fragment>
3379	#include <color_fragment>
3380	#include <alphamap_fragment>
3381	#include <alphatest_fragment>
3382	#include <alphahash_fragment>
3383	#include <roughnessmap_fragment>
3384	#include <metalnessmap_fragment>
3385	#include <normal_fragment_begin>
3386	#include <normal_fragment_maps>
3387	#include <clearcoat_normal_fragment_begin>
3388	#include <clearcoat_normal_fragment_maps>
3389	#include <emissivemap_fragment>
3390	#include <lights_physical_fragment>
3391	#include <lights_fragment_begin>
3392	#include <lights_fragment_maps>
3393	#include <lights_fragment_end>
3394	#include <aomap_fragment>
3395	vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;
3396	vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;
3397	#include <transmission_fragment>
3398	vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;
3399	#ifdef USE_SHEEN
3400		float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );
3401		outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect;
3402	#endif
3403	#ifdef USE_CLEARCOAT
3404		float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) );
3405		vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );
3406		outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat;
3407	#endif
3408	#include <opaque_fragment>
3409	#include <tonemapping_fragment>
3410	#include <colorspace_fragment>
3411	#include <fog_fragment>
3412	#include <premultiplied_alpha_fragment>
3413	#include <dithering_fragment>
3414}`,kee=`#define TOON
3415varying vec3 vViewPosition;
3416#include <common>
3417#include <batching_pars_vertex>
3418#include <uv_pars_vertex>
3419#include <displacementmap_pars_vertex>
3420#include <color_pars_vertex>
3421#include <fog_pars_vertex>
3422#include <normal_pars_vertex>
3423#include <morphtarget_pars_vertex>
3424#include <skinning_pars_vertex>
3425#include <shadowmap_pars_vertex>
3426#include <logdepthbuf_pars_vertex>
3427#include <clipping_planes_pars_vertex>
3428void main() {
3429	#include <uv_vertex>
3430	#include <color_vertex>
3431	#include <morphinstance_vertex>
3432	#include <morphcolor_vertex>
3433	#include <batching_vertex>
3434	#include <beginnormal_vertex>
3435	#include <morphnormal_vertex>
3436	#include <skinbase_vertex>
3437	#include <skinnormal_vertex>
3438	#include <defaultnormal_vertex>
3439	#include <normal_vertex>
3440	#include <begin_vertex>
3441	#include <morphtarget_vertex>
3442	#include <skinning_vertex>
3443	#include <displacementmap_vertex>
3444	#include <project_vertex>
3445	#include <logdepthbuf_vertex>
3446	#include <clipping_planes_vertex>
3447	vViewPosition = - mvPosition.xyz;
3448	#include <worldpos_vertex>
3449	#include <shadowmap_vertex>
3450	#include <fog_vertex>
3451}`,zee=`#define TOON
3452uniform vec3 diffuse;
3453uniform vec3 emissive;
3454uniform float opacity;
3455#include <common>
3456#include <packing>
3457#include <dithering_pars_fragment>
3458#include <color_pars_fragment>
3459#include <uv_pars_fragment>
3460#include <map_pars_fragment>
3461#include <alphamap_pars_fragment>
3462#include <alphatest_pars_fragment>
3463#include <alphahash_pars_fragment>
3464#include <aomap_pars_fragment>
3465#include <lightmap_pars_fragment>
3466#include <emissivemap_pars_fragment>
3467#include <gradientmap_pars_fragment>
3468#include <fog_pars_fragment>
3469#include <bsdfs>
3470#include <lights_pars_begin>
3471#include <normal_pars_fragment>
3472#include <lights_toon_pars_fragment>
3473#include <shadowmap_pars_fragment>
3474#include <bumpmap_pars_fragment>
3475#include <normalmap_pars_fragment>
3476#include <logdepthbuf_pars_fragment>
3477#include <clipping_planes_pars_fragment>
3478void main() {
3479	vec4 diffuseColor = vec4( diffuse, opacity );
3480	#include <clipping_planes_fragment>
3481	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
3482	vec3 totalEmissiveRadiance = emissive;
3483	#include <logdepthbuf_fragment>
3484	#include <map_fragment>
3485	#include <color_fragment>
3486	#include <alphamap_fragment>
3487	#include <alphatest_fragment>
3488	#include <alphahash_fragment>
3489	#include <normal_fragment_begin>
3490	#include <normal_fragment_maps>
3491	#include <emissivemap_fragment>
3492	#include <lights_toon_fragment>
3493	#include <lights_fragment_begin>
3494	#include <lights_fragment_maps>
3495	#include <lights_fragment_end>
3496	#include <aomap_fragment>
3497	vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;
3498	#include <opaque_fragment>
3499	#include <tonemapping_fragment>
3500	#include <colorspace_fragment>
3501	#include <fog_fragment>
3502	#include <premultiplied_alpha_fragment>
3503	#include <dithering_fragment>
3504}`,Hee=`uniform float size;
3505uniform float scale;
3506#include <common>
3507#include <color_pars_vertex>
3508#include <fog_pars_vertex>
3509#include <morphtarget_pars_vertex>
3510#include <logdepthbuf_pars_vertex>
3511#include <clipping_planes_pars_vertex>
3512#ifdef USE_POINTS_UV
3513	varying vec2 vUv;
3514	uniform mat3 uvTransform;
3515#endif
3516void main() {
3517	#ifdef USE_POINTS_UV
3518		vUv = ( uvTransform * vec3( uv, 1 ) ).xy;
3519	#endif
3520	#include <color_vertex>
3521	#include <morphinstance_vertex>
3522	#include <morphcolor_vertex>
3523	#include <begin_vertex>
3524	#include <morphtarget_vertex>
3525	#include <project_vertex>
3526	gl_PointSize = size;
3527	#ifdef USE_SIZEATTENUATION
3528		bool isPerspective = isPerspectiveMatrix( projectionMatrix );
3529		if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );
3530	#endif
3531	#include <logdepthbuf_vertex>
3532	#include <clipping_planes_vertex>
3533	#include <worldpos_vertex>
3534	#include <fog_vertex>
3535}`,Vee=`uniform vec3 diffuse;
3536uniform float opacity;
3537#include <common>
3538#include <color_pars_fragment>
3539#include <map_particle_pars_fragment>
3540#include <alphatest_pars_fragment>
3541#include <alphahash_pars_fragment>
3542#include <fog_pars_fragment>
3543#include <logdepthbuf_pars_fragment>
3544#include <clipping_planes_pars_fragment>
3545void main() {
3546	vec4 diffuseColor = vec4( diffuse, opacity );
3547	#include <clipping_planes_fragment>
3548	vec3 outgoingLight = vec3( 0.0 );
3549	#include <logdepthbuf_fragment>
3550	#include <map_particle_fragment>
3551	#include <color_fragment>
3552	#include <alphatest_fragment>
3553	#include <alphahash_fragment>
3554	outgoingLight = diffuseColor.rgb;
3555	#include <opaque_fragment>
3556	#include <tonemapping_fragment>
3557	#include <colorspace_fragment>
3558	#include <fog_fragment>
3559	#include <premultiplied_alpha_fragment>
3560}`,Gee=`#include <common>
3561#include <batching_pars_vertex>
3562#include <fog_pars_vertex>
3563#include <morphtarget_pars_vertex>
3564#include <skinning_pars_vertex>
3565#include <logdepthbuf_pars_vertex>
3566#include <shadowmap_pars_vertex>
3567void main() {
3568	#include <batching_vertex>
3569	#include <beginnormal_vertex>
3570	#include <morphinstance_vertex>
3571	#include <morphnormal_vertex>
3572	#include <skinbase_vertex>
3573	#include <skinnormal_vertex>
3574	#include <defaultnormal_vertex>
3575	#include <begin_vertex>
3576	#include <morphtarget_vertex>
3577	#include <skinning_vertex>
3578	#include <project_vertex>
3579	#include <logdepthbuf_vertex>
3580	#include <worldpos_vertex>
3581	#include <shadowmap_vertex>
3582	#include <fog_vertex>
3583}`,Qee=`uniform vec3 color;
3584uniform float opacity;
3585#include <common>
3586#include <packing>
3587#include <fog_pars_fragment>
3588#include <bsdfs>
3589#include <lights_pars_begin>
3590#include <logdepthbuf_pars_fragment>
3591#include <shadowmap_pars_fragment>
3592#include <shadowmask_pars_fragment>
3593void main() {
3594	#include <logdepthbuf_fragment>
3595	gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );
3596	#include <tonemapping_fragment>
3597	#include <colorspace_fragment>
3598	#include <fog_fragment>
3599}`,Wee=`uniform float rotation;
3600uniform vec2 center;
3601#include <common>
3602#include <uv_pars_vertex>
3603#include <fog_pars_vertex>
3604#include <logdepthbuf_pars_vertex>
3605#include <clipping_planes_pars_vertex>
3606void main() {
3607	#include <uv_vertex>
3608	vec4 mvPosition = modelViewMatrix[ 3 ];
3609	vec2 scale = vec2( length( modelMatrix[ 0 ].xyz ), length( modelMatrix[ 1 ].xyz ) );
3610	#ifndef USE_SIZEATTENUATION
3611		bool isPerspective = isPerspectiveMatrix( projectionMatrix );
3612		if ( isPerspective ) scale *= - mvPosition.z;
3613	#endif
3614	vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;
3615	vec2 rotatedPosition;
3616	rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;
3617	rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;
3618	mvPosition.xy += rotatedPosition;
3619	gl_Position = projectionMatrix * mvPosition;
3620	#include <logdepthbuf_vertex>
3621	#include <clipping_planes_vertex>
3622	#include <fog_vertex>
3623}`,jee=`uniform vec3 diffuse;
3624uniform float opacity;
3625#include <common>
3626#include <uv_pars_fragment>
3627#include <map_pars_fragment>
3628#include <alphamap_pars_fragment>
3629#include <alphatest_pars_fragment>
3630#include <alphahash_pars_fragment>
3631#include <fog_pars_fragment>
3632#include <logdepthbuf_pars_fragment>
3633#include <clipping_planes_pars_fragment>
3634void main() {
3635	vec4 diffuseColor = vec4( diffuse, opacity );
3636	#include <clipping_planes_fragment>
3637	vec3 outgoingLight = vec3( 0.0 );
3638	#include <logdepthbuf_fragment>
3639	#include <map_fragment>
3640	#include <alphamap_fragment>
3641	#include <alphatest_fragment>
3642	#include <alphahash_fragment>
3643	outgoingLight = diffuseColor.rgb;
3644	#include <opaque_fragment>
3645	#include <tonemapping_fragment>
3646	#include <colorspace_fragment>
3647	#include <fog_fragment>
3648}
3648`,ut={alphahash_fragment:pZ,alphahash_pars_fragment:mZ,alphamap_fragment:gZ,alphamap_pars_fragment:AZ,alphatest_fragment:vZ,alphatest_pars_fragment:yZ,aomap_fragment:_Z,aomap_pars_fragment:bZ,batching_pars_vertex:xZ,batching_vertex:CZ,begin_vertex:wZ,beginnormal_vertex:SZ,bsdfs:EZ,iridescence_fragment:TZ,bumpmap_pars_fragment:MZ,clipping_planes_fragment:IZ,clipping_planes_pars_fragment:PZ,clipping_planes_pars_vertex:RZ,clipping_planes_vertex:BZ,color_fragment:DZ,color_pars_fragment:LZ,color_pars_vertex:OZ,color_vertex:FZ,common:UZ,cube_uv_reflection_fragment:NZ,defaultnormal_vertex:kZ,displacementmap_pars_vertex:zZ,displacementmap_vertex:HZ,emissivemap_fragment:VZ,emissivemap_pars_fragment:GZ,colorspace_fragment:QZ,colorspace_pars_fragment:WZ,envmap_fragment:jZ,envmap_common_pars_fragment:qZ,envmap_pars_fragment:XZ,envmap_pars_vertex:YZ,envmap_physical_pars_fragment:oJ,envmap_vertex:$Z,fog_vertex:KZ,fog_pars_vertex:ZZ,fog_fragment:JZ,fog_pars_fragment:eJ,gradientmap_pars_fragment:tJ,lightmap_pars_fragment:nJ,lights_lambert_fragment:iJ,lights_lambert_pars_fragment:rJ,lights_pars_begin:sJ,lights_toon_fragment:aJ,lights_toon_pars_fragment:lJ,lights_phong_fragment:cJ,lights_phong_pars_fragment:uJ,lights_physical_fragment:fJ,lights_physical_pars_fragment:dJ,lights_fragment_begin:hJ,lights_fragment_maps:pJ,lights_fragment_end:mJ,logdepthbuf_fragment:gJ,logdepthbuf_pars_fragment:AJ,logdepthbuf_pars_vertex:vJ,logdepthbuf_vertex:yJ,map_fragment:_J,map_pars_fragment:bJ,map_particle_fragment:xJ,map_particle_pars_fragment:CJ,metalnessmap_fragment:wJ,metalnessmap_pars_fragment:SJ,morphinstance_vertex:EJ,morphcolor_vertex:TJ,morphnormal_vertex:MJ,morphtarget_pars_vertex:IJ,morphtarget_vertex:PJ,normal_fragment_begin:RJ,normal_fragment_maps:BJ,normal_pars_fragment:DJ,normal_pars_vertex:LJ,normal_vertex:OJ,normalmap_pars_fragment:FJ,clearcoat_normal_fragment_begin:UJ,clearcoat_normal_fragment_maps:NJ,clearcoat_pars_fragment:kJ,iridescence_pars_fragment:zJ,opaque_fragment:HJ,packing:VJ,premultiplied_alpha_fragment:GJ,project_vertex:QJ,dithering_fragment:WJ,dithering_pars_fragment:jJ,roughnessmap_fragment:qJ,roughnessmap_pars_fragment:XJ,shadowmap_pars_fragment:YJ,shadowmap_pars_vertex:$J,shadowmap_vertex:KJ,shadowmask_pars_fragment:ZJ,skinbase_vertex:JJ,skinning_pars_vertex:eee,skinning_vertex:tee,skinnormal_vertex:nee,specularmap_fragment:iee,specularmap_pars_fragment:ree,tonemapping_fragment:see,tonemapping_pars_fragment:oee,transmission_fragment:aee,transmission_pars_fragment:lee,uv_pars_fragment:cee,uv_pars_vertex:uee,uv_vertex:fee,worldpos_vertex:dee,background_vert:hee,background_frag:pee,backgroundCube_vert:mee,backgroundCube_frag:gee,cube_vert:Aee,cube_frag:vee,depth_vert:yee,depth_frag:_ee,distanceRGBA_vert:bee,distanceRGBA_frag:xee,equirect_vert:Cee,equirect_frag:wee,linedashed_vert:See,linedashed_frag:Eee,meshbasic_vert:Tee,meshbasic_frag:Mee,meshlambert_vert:Iee,meshlambert_frag:Pee,meshmatcap_vert:Ree,meshmatcap_frag:Bee,meshnormal_vert:Dee,meshnormal_frag:Lee,meshphong_vert:Oee,meshphong_frag:Fee,meshphysical_vert:Uee,meshphysical_frag:Nee,meshtoon_vert:kee,meshtoon_frag:zee,points_vert:Hee,points_frag:Vee,shadow_vert:Gee,shadow_frag:Qee,sprite_vert:Wee,sprite_frag:jee},Ke={common:{diffuse:{value:new ke(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Lt},alphaMap:{value:null},alphaMapTransform:{value:new Lt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Lt}},envmap:{envMap:{value:null},envMapRotation:{value:new Lt},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Lt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Lt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Lt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Lt},normalScale:{value:new Re(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Lt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Lt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Lt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Lt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new ke(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 ke(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Lt},alphaTest:{value:0},uvTransform:{value:new Lt}},sprite:{diffuse:{value:new ke(16777215)},opacity:{value:1},center:{value:new Re(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Lt},alphaMap:{value:null},alphaMapTransform:{value:new Lt},alphaTest:{value:0}}},us={basic:{uniforms:Vr([Ke.common,Ke.specularmap,Ke.envmap,Ke.aomap,Ke.lightmap,Ke.fog]),vertexShader:ut.meshbasic_vert,fragmentShader:ut.meshbasic_frag},lambert:{uniforms:Vr([Ke.common,Ke.specularmap,Ke.envmap,Ke.aomap,Ke.lightmap,Ke.emissivemap,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,Ke.fog,Ke.lights,{emissive:{value:new ke(0)}}]),vertexShader:ut.meshlambert_vert,fragmentShader:ut.meshlambert_frag},phong:{uniforms:Vr([Ke.common,Ke.specularmap,Ke.envmap,Ke.aomap,Ke.lightmap,Ke.emissivemap,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,Ke.fog,Ke.lights,{emissive:{value:new ke(0)},specular:{value:new ke(1118481)},shininess:{value:30}}]),vertexShader:ut.meshphong_vert,fragmentShader:ut.meshphong_frag},standard:{uniforms:Vr([Ke.common,Ke.envmap,Ke.aomap,Ke.lightmap,Ke.emissivemap,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,Ke.roughnessmap,Ke.metalnessmap,Ke.fog,Ke.lights,{emissive:{value:new ke(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:ut.meshphysical_vert,fragmentShader:ut.meshphysical_frag},toon:{uniforms:Vr([Ke.common,Ke.aomap,Ke.lightmap,Ke.emissivemap,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,Ke.gradientmap,Ke.fog,Ke.lights,{emissive:{value:new ke(0)}}]),vertexShader:ut.meshtoon_vert,fragmentShader:ut.meshtoon_frag},matcap:{uniforms:Vr([Ke.common,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,Ke.fog,{matc
vendor: 5,266 bytes, line 3648
3648ap:{value:null}}]),vertexShader:ut.meshmatcap_vert,fragmentShader:ut.meshmatcap_frag},points:{uniforms:Vr([Ke.points,Ke.fog]),vertexShader:ut.points_vert,fragmentShader:ut.points_frag},dashed:{uniforms:Vr([Ke.common,Ke.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:ut.linedashed_vert,fragmentShader:ut.linedashed_frag},depth:{uniforms:Vr([Ke.common,Ke.displacementmap]),vertexShader:ut.depth_vert,fragmentShader:ut.depth_frag},normal:{uniforms:Vr([Ke.common,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,{opacity:{value:1}}]),vertexShader:ut.meshnormal_vert,fragmentShader:ut.meshnormal_frag},sprite:{uniforms:Vr([Ke.sprite,Ke.fog]),vertexShader:ut.sprite_vert,fragmentShader:ut.sprite_frag},background:{uniforms:{uvTransform:{value:new Lt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:ut.background_vert,fragmentShader:ut.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new Lt}},vertexShader:ut.backgroundCube_vert,fragmentShader:ut.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:ut.cube_vert,fragmentShader:ut.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:ut.equirect_vert,fragmentShader:ut.equirect_frag},distanceRGBA:{uniforms:Vr([Ke.common,Ke.displacementmap,{referencePosition:{value:new K},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:ut.distanceRGBA_vert,fragmentShader:ut.distanceRGBA_frag},shadow:{uniforms:Vr([Ke.lights,Ke.fog,{color:{value:new ke(0)},opacity:{value:1}}]),vertexShader:ut.shadow_vert,fragmentShader:ut.shadow_frag}};us.physical={uniforms:Vr([us.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Lt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Lt},clearcoatNormalScale:{value:new Re(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Lt},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Lt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Lt},sheen:{value:0},sheenColor:{value:new ke(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Lt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Lt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Lt},transmissionSamplerSize:{value:new Re},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Lt},attenuationDistance:{value:0},attenuationColor:{value:new ke(0)},specularColor:{value:new ke(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Lt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Lt},anisotropyVector:{value:new Re},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Lt}}]),vertexShader:ut.meshphysical_vert,fragmentShader:ut.meshphysical_frag};const x1={r:0,b:0,g:0},Gc=new Pi,qee=new Ct;function Xee(n,e,t,i,r,s,o){const a=new ke(0);let l=s===!0?0:1,c,u,f=null,h=0,p=null;function m(b){let _=b.isScene===!0?b.background:null;return _&&_.isTexture&&(_=(b.backgroundBlurriness>0?t:e).get(_)),_}function v(b){let _=!1;const T=m(b);T===null?y(a,l):T&&T.isColor&&(y(T,1),_=!0);const M=n.xr.getEnvironmentBlendMode();M==="additive"?i.buffers.color.setClear(0,0,0,1,o):M==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||_)&&(i.buffers.depth.setTest(!0),i.buffers.depth.setMask(!0),i.buffers.color.setMask(!0),n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil))}function A(b,_){const T=m(_);T&&(T.isCubeTexture||T.mapping===EA)?(u===void 0&&(u=new Qe(new fi(1,1,1),new Cn({name:"BackgroundCubeMaterial",uniforms:Id(us.backgroundCube.uniforms),vertexShader:us.backgroundCube.vertexShader,fragmentShader:us.backgroundCube.fragmentShader,side:Rr,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),u.geometry.deleteAttribute("uv"),u.onBeforeRender=function(M,I,R){this.matrixWorld.copyPosition(R.matrixWorld)},Object.defineProperty(u.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(u)),Gc.copy(_.backgroundRotation),Gc.x*=-1,Gc.y*=-1,Gc.z*=-1,T.isCubeTexture&&T.isRenderTargetTexture===!1&&(Gc.y*=-1,Gc.z*=-1),u.material.uniforms.envMap.value=T,u.material.uniforms.flipEnvMap.value=T.isCubeTexture&&T.isRenderTargetTexture===!1?-1:1,u.material.uniforms.backgroundBlurriness.value=_.backgroundBlurriness,u.material.uniforms.backgroundIntensity.value=_.backgroundIntensity,u.material.uniforms.backgroundRotation.value.setFromMatrix4(qee.makeRotationFromEuler(Gc)),u.material.toneMapped=Xt.getTransfer(T.colorSpace)!==yn,(f!==T||h!==T.version||p!==n.toneMapping)&&(u.material.needsUpdate=!0,f=T,h=T.version,p=n.toneMapping),u.layers.enableAll(),b.unshift(u,u.geometry,u.material,0,0,null)):T&&T.isTexture&&(c===void 0&&(c=new Qe(new lo(2,2),new Cn({name:"Backgroun
3648dMaterial",uniforms:Id(us.background.uniforms),vertexShader:us.background.vertexShader,fragmentShader:us.background.fragmentShader,side:Io,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),Object.defineProperty(c.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(c)),c.material.uniforms.t2D.value=T,c.material.uniforms.backgroundIntensity.value=_.backgroundIntensity,c.material.toneMapped=Xt.getTransfer(T.colorSpace)!==yn,T.matrixAutoUpdate===!0&&T.updateMatrix(),c.material.uniforms.uvTransform.value.copy(T.matrix),(f!==T||h!==T.version||p!==n.toneMapping)&&(c.material.needsUpdate=!0,f=T,h=T.version,p=n.toneMapping),c.layers.enableAll(),b.unshift(c,c.geometry,c.material,0,0,null))}function y(b,_){b.getRGB(x1,tP(n)),i.buffers.color.setClear(x1.r,x1.g,x1.b,_,o)}function x(){u!==void 0&&(u.geometry.dispose(),u.material.dispose(),u=void 0),c!==void 0&&(c.geometry.dispose(),c.material.dispose(),c=void 0)}return{getClearColor:function(){return a},setClearColor:function(b,_=1){a.set(b),l=_,y(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(b){l=b,y(a,l)},render:v,addToRenderList:A,dispose:x}}function Yee(n,e){const t=n.getParameter(n.MAX_VERTEX_ATTRIBS),i={},r=h(null);let s=r,o=!1;function a(E,F,L,z,V){let j=!1;const N=f(z,L,F);s!==N&&(s=N,c(s.object)),j=p(E,z,L,V),j&&m(E,z,L,V),V!==null&&e.update(V,n.ELEMENT_ARRAY_BUFFER),(j||o)&&(o=!1,_(E,F,L,z),V!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,e.get(V).buffer))}function l(){return n.createVertexArray()}function c(E){return n.bindVertexArray(E)}function u(E){return n.deleteVertexArray(E)}function f(E,F,L){const z=L.wireframe===!0;let V=i[E.id];V===void 0&&(V={},i[E.id]=V);let j=V[F.id];j===void 0&&(j={},V[F.id]=j);let N=j[z];return N===void 0&&(N=h(l()),j[z]=N),N}function h(E){const F=[],L=[],z=[];for(let V=0;V<t;V++)F[V]=0,L[V]=0,z[V]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:F,enabledAttributes:L,attributeDivisors:z,object:E,attributes:{},index:null}}function p(E,F,L,z){const V=s.attributes,j=F.attributes;let N=0;const Q=L.getAttributes();for(const W in Q)if(Q[W].location>=0){const H=V[W];let ye=j[W];if(ye===void 0&&(W==="instanceMatrix"&&E.instanceMatrix&&(ye=E.instanceMatrix),W==="instanceColor"&&E.instanceColor&&(ye=E.instanceColor)),H===void 0||H.attribute!==ye||ye&&H.data!==ye.data)return!0;N++}return s.attributesNum!==N||s.index!==z}function m(E,F,L,z){const V={},j=F.attributes;let N=0;const Q=L.getAttributes();for(const W in Q)if(Q[W].location>=0){let H=j[W];H===void 0&&(W==="instanceMatrix"&&E.instanceMatrix&&(H=E.instanceMatrix),W==="instanceColor"&&E.instanceColor&&(H=E.instanceColor));const ye={};ye.attribute=H,H&&H.data&&(ye.data=H.data),V[W]=ye,N++}s.attributes=V,s.attributesNum=N,s.index=z}function v(){const E=s.newAttributes;for(let F=0,L=E.length;F<L;F++)E[F]=0}function A(E){y(E,0)}function y(E,F){const L=s.newAttributes,z=s.enabledAttributes,V=s.attributeDivisors;L[E]=1,z[E]===0&&(n.enableVertexAttribArray(E),z[E]=1),V[E]!==F&&(n.vertexAttribDivisor(E,F),V[E]=F)}function x(){const E=s.newAttributes,F=s.enabledAttributes;for(let L=0,z=F.length;L<z;L++)F[L]!==E[L]&&(n.disableVertexAttribArray(L),F[L]=0)}function b(E,F,L,z,V,j,N){N===!0?n.vertexAttribIPointer(E,F,L,V,j):n.vertexAttribPointer(E,F,L,z,V,j)}function _(E,F,L,z){v();const V=z.attributes,j=L.getAttributes(),N=F.defaultAttributeValues;for(const Q in j){const W=j[Q];if(W.location>=0){let ee=V[Q];if(ee===void 0&&(Q==="instanceMatrix"&&E.instanceMatrix&&(ee=E.instanceMatrix),Q==="instanceColor"&&E.instanceColor&&(ee=E.instanceColor)),ee!==void 0){const H=ee.normalized,ye=ee.itemSize,Ie=e.get(ee);if(Ie===void 0)continue;const ze=Ie.buffer,oe=Ie.type,_e=Ie.bytesPerElement,Fe=oe===n.INT||oe===n.UNSIGNED_INT||ee.gpuType===qx;if(ee.isInterleavedBufferAttribute){const Z=ee.data,Ae=Z.stride,we=ee.offset;if(Z.isInstancedInterleavedBuffer){for(let be=0;be<W.locationSize;be++)y(W.location+be,Z.meshPerAttribute);E.isInstancedMesh!==!0&&z._maxInstanceCount===void 0&&(z._maxInstanceCount=Z.meshPerAttribute*Z.count)}else for(let be=0;be<W.locationSize;be++)A(W.location+be);n.bindBuffer(n.ARRAY_BUFFER,ze);for(let be=0;be<W.locationSize;be++)b(W.location+be,ye/W.locationSize,oe,H,Ae*_e,(we+ye/W.locationSize*be)*_e,Fe)}else{if(ee.isInstancedBufferAttribute){for(let Z=0;Z<W.locationSize;Z++)y(W.location+Z,ee.meshPerAttribute);E.isInstancedMesh!==!0&&z._maxInstanceCount===void 0&&(z._maxInstanceCount=ee.meshPerAttribute*ee.count)}else for(let Z=0;Z<W.locationSize;Z++)A(W.location+Z);n.bindBuffer(n.ARRAY_BUFFER,ze);for(let Z=0;Z<W.locationSize;Z++)b(W.location+Z,ye/W.locationSize,oe,H,ye*_e,ye/W.locationSize*Z*_e,Fe)}}else if(N!==void 0){const H=N[Q];if(H!==void 0)switch(H.length){case 2:n.vertexAttrib2fv(W.location,H);break;case 3:n.vertexAttrib3fv(W.location,H);break;case 4:n.vertexAttrib4fv(W.location,H);break;default:n.vertexAttrib1fv(W.location,H)}}}}x()}function T(){R();for(const E in i){const F=i[E];for(const L in F){const z=F[L];for(const V in z)u(z[V].object),delete z[V];delete F[L]}delete i[E]}}function M(E){if(i[E.id]===void 0)return;const F=i[E.id];for(const L in F){const z=F[L];for(const V in z)u(z[V].object),delete z[V];delete F[L]}delete i[E.id]}function I(E){for(const F in i){const L=i[F];if(L[E.id]===void 0)continue;const z=L[E.id];for(const V in z)u(z[V].object),delete z[V];delete L[E.id]}}function R(){w(),o=!0,s!==r&&(s=r,c(s.object))}function w(){r.geometry=null,r.program=null,r.wireframe=!1}return{setup:a,reset:R,resetDefaultState:w,dispose:T,releaseStatesOfGeometry:M,releaseStatesOfProgram:I,initAttributes:v,enableAttribute:A,disableUnusedAttributes:x}}function $ee(n,e,t){let i;function r(c){i=c}function s(c,u){n.drawArrays(i,c,u),t.update(u,i,1)}function o(c,u,f){f!==0&&(n.drawArraysInstanced(i,c,u,f),t.update(u,i,f))}function a(c,u,f){if(f===0)return;e.get("WEBGL_multi_draw").multiDrawArraysWEBGL(i,c,0,u,0,f);let p=0;for(let m=0;m<f;m++)p+=u[m];t.update(p,i,1)}function l(c,u,f,h){if(f===0)return;const p=e.get("WEBGL_multi_draw");if(p===null)for(let m=0;m<c.length;m++)o(c[m],u[m],h[m]);
vendor: 12,416 bytes, lines 3648-3723
3648else{p.multiDrawArraysInstancedWEBGL(i,c,0,u,0,h,0,f);let m=0;for(let v=0;v<f;v++)m+=u[v]*h[v];t.update(m,i,1)}}this.setMode=r,this.render=s,this.renderInstances=o,this.renderMultiDraw=a,this.renderMultiDrawInstances=l}function Kee(n,e,t,i){let r;function s(){if(r!==void 0)return r;if(e.has("EXT_texture_filter_anisotropic")===!0){const I=e.get("EXT_texture_filter_anisotropic");r=n.getParameter(I.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else r=0;return r}function o(I){return!(I!==pi&&i.convert(I)!==n.getParameter(n.IMPLEMENTATION_COLOR_READ_FORMAT))}function a(I){const R=I===nn&&(e.has("EXT_color_buffer_half_float")||e.has("EXT_color_buffer_float"));return!(I!==Ki&&i.convert(I)!==n.getParameter(n.IMPLEMENTATION_COLOR_READ_TYPE)&&I!==Zt&&!R)}function l(I){if(I==="highp"){if(n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.HIGH_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";I="mediump"}return I==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let c=t.precision!==void 0?t.precision:"highp";const u=l(c);u!==c&&(console.warn("THREE.WebGLRenderer:",c,"not supported, using",u,"instead."),c=u);const f=t.logarithmicDepthBuffer===!0,h=t.reverseDepthBuffer===!0&&e.has("EXT_clip_control"),p=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),m=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),v=n.getParameter(n.MAX_TEXTURE_SIZE),A=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),y=n.getParameter(n.MAX_VERTEX_ATTRIBS),x=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),b=n.getParameter(n.MAX_VARYING_VECTORS),_=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),T=m>0,M=n.getParameter(n.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:s,getMaxPrecision:l,textureFormatReadable:o,textureTypeReadable:a,precision:c,logarithmicDepthBuffer:f,reverseDepthBuffer:h,maxTextures:p,maxVertexTextures:m,maxTextureSize:v,maxCubemapSize:A,maxAttributes:y,maxVertexUniforms:x,maxVaryings:b,maxFragmentUniforms:_,vertexTextures:T,maxSamples:M}}function Zee(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new El,a=new Lt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(f,h){const p=f.length!==0||h||i!==0||r;return r=h,i=f.length,p},this.beginShadows=function(){s=!0,u(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(f,h){t=u(f,h,0)},this.setState=function(f,h,p){const m=f.clippingPlanes,v=f.clipIntersection,A=f.clipShadows,y=n.get(f);if(!r||m===null||m.length===0||s&&!A)s?u(null):c();else{const x=s?0:i,b=x*4;let _=y.clippingState||null;l.value=_,_=u(m,h,b,p);for(let T=0;T!==b;++T)_[T]=t[T];y.clippingState=_,this.numIntersection=v?this.numPlanes:0,this.numPlanes+=x}};function c(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function u(f,h,p,m){const v=f!==null?f.length:0;let A=null;if(v!==0){if(A=l.value,m!==!0||A===null){const y=p+v*4,x=h.matrixWorldInverse;a.getNormalMatrix(x),(A===null||A.length<y)&&(A=new Float32Array(y));for(let b=0,_=p;b!==v;++b,_+=4)o.copy(f[b]).applyMatrix4(x,a),o.normal.toArray(A,_),A[_+3]=o.constant}l.value=A,l.needsUpdate=!0}return e.numPlanes=v,e.numIntersection=0,A}}function Jee(n){let e=new WeakMap;function t(o,a){return a===Ya?o.mapping=tc:a===ab&&(o.mapping=wd),o}function i(o){if(o&&o.isTexture){const a=o.mapping;if(a===Ya||a===ab)if(e.has(o)){const l=e.get(o).texture;return t(l,o.mapping)}else{const l=o.image;if(l&&l.height>0){const c=new Gg(l.height);return c.fromEquirectangularTexture(n,o),e.set(o,c),o.addEventListener("dispose",r),t(c.texture,o.mapping)}else return null}}return o}function r(o){const a=o.target;a.removeEventListener("dispose",r);const l=e.get(a);l!==void 0&&(e.delete(a),l.dispose())}function s(){e=new WeakMap}return{get:i,dispose:s}}const zf=4,t8=[.125,.215,.35,.446,.526,.582],nu=20,B3=new Ou,n8=new ke;let D3=null,L3=0,O3=0,F3=!1;const Zc=(1+Math.sqrt(5))/2,xf=1/Zc,i8=[new K(-Zc,xf,0),new K(Zc,xf,0),new K(-xf,0,Zc),new K(xf,0,Zc),new K(0,Zc,-xf),new K(0,Zc,xf),new K(-1,1,-1),new K(1,1,-1),new K(-1,1,1),new K(1,1,1)];class Pb{constructor(e){this._renderer=e,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(e,t=0,i=.1,r=100){D3=this._renderer.getRenderTarget(),L3=this._renderer.getActiveCubeFace(),O3=this._renderer.getActiveMipmapLevel(),F3=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=o8(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=s8(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e<this._lodPlanes.length;e++)this._lodPlanes[e].dispose()}_cleanup(e){this._renderer.setRenderTarget(D3,L3,O3),this._renderer.xr.enabled=F3,e.scissorTest=!1,C1(e,0,0,e.width,e.height)}_fromTexture(e,t){e.mapping===tc||e.mapping===wd?this._setSize(e.image.length===0?16:e.image[0].width||e.image[0].image.width):this._setSize(e.image.width/4),D3=this._renderer.getRenderTarget(),L3=this._renderer.getActiveCubeFace(),O3=this._renderer.getActiveMipmapLevel(),F3=this._renderer.xr.enabled,this._renderer.xr.enabled=!1;const i=t||this._allocateTargets();return this._textureToCubeUV(e,i),this._applyPMREM(i),this._cleanup(i),i}_allocateTargets(){const e=3*Math.max(this._cubeSize,112),t=4*this._cubeSize,i={magFilter:Yt,minFilter:Yt,generateMipmaps:!1,type:nn,format:pi,colorSpace:mi,depthBuffer:!1},r=r8(e,t,i);if(this._pingPongRenderTarget===null||this._pingPongRenderTarget.width!==e||this._pingPongRenderTarget.height!==t){this._pingPongRenderTarget!==null&&this._dispose(),this._pingPongRenderTarget=r8(e,t,i);const{_lodMax:s}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=ete(s)),this._blurMaterial=tte(s,e,t)}return r}_compileMaterial(e){const t=new Qe(this._lodPlanes[0],e);this._renderer.compile(t,B3)}_sceneToCubeUV(e,t,i,r){const a=new Zi(90,1,t,i),l=[1,-1,1,1,1,1],c=[1,1,1,-1,-1,-1],u=this._renderer,f=u.autoClear,h=u.toneMapping;u.getClearColor(n8),u.toneMapping=Xl,u.autoClear=!1;const p=new Jr({name:"PMREM.Background",side:Rr,depthWrite:!1,depthTest:!1}),m=new Qe(new fi,p);let v=!1;const A=e.background;A?A.isColor&&(p.color.copy(A),e.background=null,v=!0):(p.color.copy(n8),v=!0);for(let y=0;y<6;y++){const x=y%3;x===0?(a.up.set(0,l[y],0),a.lookAt(c[y],0,0)):x===1?(a.up.set(0,0,l[y]),a.lookAt(0,c[y],0)):(a.up.set(0,l[y],0),a.lookAt(0,0,c[y]));const b=this._cubeSize;C1(r,x*b,y>2?b:0,b,b),u.setRenderTarget(r),v&&u.render(m,a),u.render(e,a)}m.geometry.dispose(),m.material.dispose(),u.toneMapping=h,u.autoClear=f,e.background=A}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===tc||e.mapping===wd;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=o8()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=s8());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new Qe(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;C1(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,B3)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;const r=this._lodPlanes.length;for(let s=1;s<r;s++){const o=Math.sqrt(this._sigmas[s]*this._sigmas[s]-this._sigmas[s-1]*this._sigmas[s-1]),a=i8[(r-s-1)%i8.length];this._blur(e,s-1,s,o,a)}t.autoClear=i}_blur(e,t,i,r,s){const o=this._pingPongRenderTarget;this._halfBlur(e,o,t,i,r,"latitudinal",s),this._halfBlur(o,e,i,i,r,"longitudinal",s)}_halfBlur(e,t,i,r,s,o,a){const l=this._renderer,c=this._blurMaterial;o!=="latitudinal"&&o!=="longitudinal"&&console.error("blur direction must be either latitudinal or longitudinal!");const u=3,f=new Qe(this._lodPlanes[r],c),h=c.uniforms,p=this._sizeLods[i]-1,m=isFinite(s)?Math.PI/(2*p):2*Math.PI/(2*nu-1),v=s/m,A=isFinite(s)?1+Math.floor(u*v):nu;A>nu&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${A} samples when the maximum is set to ${nu}`);const y=[];let x=0;for(let I=0;I<nu;++I){const R=I/v,w=Math.exp(-R*R/2);y.push(w),I===0?x+=w:I<A&&(x+=2*w)}for(let I=0;I<y.length;I++)y[I]=y[I]/x;h.envMap.value=e.texture,h.samples.value=A,h.weights.value=y,h.latitudinal.value=o==="latitudinal",a&&(h.poleAxis.value=a);const{_lodMax:b}=this;h.dTheta.value=m,h.mipInt.value=b-i;const _=this._sizeLods[r],T=3*_*(r>b-zf?r-b+zf:0),M=4*(this._cubeSize-_);C1(t,T,M,3*_,2*_),l.setRenderTarget(t),l.render(f,B3)}}function ete(n){const e=[],t=[],i=[];let r=n;const s=n-zf+1+t8.length;for(let o=0;o<s;o++){const a=Math.pow(2,r);t.push(a);let l=1/a;o>n-zf?l=t8[o-n+zf-1]:o===0&&(l=0),i.push(l);const c=1/(a-2),u=-c,f=1+c,h=[u,u,f,u,f,f,u,u,f,f,u,f],p=6,m=6,v=3,A=2,y=1,x=new Float32Array(v*m*p),b=new Float32Array(A*m*p),_=new Float32Array(y*m*p);for(let M=0;M<p;M++){const I=M%3*2/3-1,R=M>2?0:-1,w=[I,R,0,I+2/3,R,0,I+2/3,R+1,0,I,R,0,I+2/3,R+1,0,I,R+1,0];x.set(w,v*m*M),b.set(h,A*m*M);const E=[M,M,M,M,M,M];_.set(E,y*m*M)}const T=new Hn;T.setAttribute("position",new Gi(x,v)),T.setAttribute("uv",new Gi(b,A)),T.setAttribute("faceIndex",new Gi(_,y)),e.push(T),r>zf&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function r8(n,e,t){const i=new li(n,e,t);return i.texture.mapping=EA,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function C1(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function tte(n,e,t){const i=new Float32Array(nu),r=new K(0,1,0);return new Cn({name:"SphericalGaussianBlur",defines:{n:nu,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${n}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:d4(),fragmentShader:`
3649
3650			precision mediump float;
3651			precision mediump int;
3652
3653			varying vec3 vOutputDirection;
3654
3655			uniform sampler2D envMap;
3656			uniform int samples;
3657			uniform float weights[ n ];
3658			uniform bool latitudinal;
3659			uniform float dTheta;
3660			uniform float mipInt;
3661			uniform vec3 poleAxis;
3662
3663			#define ENVMAP_TYPE_CUBE_UV
3664			#include <cube_uv_reflection_fragment>
3665
3666			vec3 getSample( float theta, vec3 axis ) {
3667
3668				float cosTheta = cos( theta );
3669				// Rodrigues' axis-angle rotation
3670				vec3 sampleDirection = vOutputDirection * cosTheta
3671					+ cross( axis, vOutputDirection ) * sin( theta )
3672					+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );
3673
3674				return bilinearCubeUV( envMap, sampleDirection, mipInt );
3675
3676			}
3677
3678			void main() {
3679
3680				vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );
3681
3682				if ( all( equal( axis, vec3( 0.0 ) ) ) ) {
3683
3684					axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );
3685
3686				}
3687
3688				axis = normalize( axis );
3689
3690				gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );
3691				gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );
3692
3693				for ( int i = 1; i < n; i++ ) {
3694
3695					if ( i >= samples ) {
3696
3697						break;
3698
3699					}
3700
3701					float theta = dTheta * float( i );
3702					gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );
3703					gl_FragColor.rgb += weights[ i ] * getSample( theta, axis );
3704
3705				}
3706
3707			}
3708		`,blending:wo,depthTest:!1,depthWrite:!1})}function s8(){return new Cn({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:d4(),fragmentShader:`
3709
3710			precision mediump float;
3711			precision mediump int;
3712
3713			varying vec3 vOutputDirection;
3714
3715			uniform sampler2D envMap;
3716
3717			#include <common>
3718
3719			void main() {
3720
3721				vec3 outputDirection = normalize( vOutputDirection );
3722				vec2 uv = equirectUv( outputDirection );
3723
3724				gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );
3725
3726			}
3727		`,blending:wo,depthTest:!1,depthWrite:!1})}function o8(){return new Cn({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:d4(),fragmentShader:`
3728
3729			precision mediump float;
3730			precision mediump int;
3731
3732			uniform float flipEnvMap;
3733
3734			varying vec3 vOutputDirection;
3735
3736			uniform samplerCube envMap;
3737
3738			void main() {
3739
3740				gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );
3741
3742			}
3743		`,blending:wo,depthTest:!1,depthWrite:!1})}function d4(){return`
3744
3745		precision mediump float;
3746		precision mediump int;
3747
3748		attribute float faceIndex;
3749
3750		varying vec3 vOutputDirection;
3751
3752		// RH coordinate system; PMREM face-indexing convention
3753		vec3 getDirection( vec2 uv, float face ) {
3754
3755			uv = 2.0 * uv - 1.0;
3756
3757			vec3 direction = vec3( uv, 1.0 );
3758
3759			if ( face == 0.0 ) {
3760
3761				direction = direction.zyx; // ( 1, v, u ) pos x
3762
3763			} else if ( face == 1.0 ) {
3764
3765				direction = direction.xzy;
3766				direction.xz *= -1.0; // ( -u, 1, -v ) pos y
3767
3768			} else if ( face == 2.0 ) {
3769
3770				direction.x *= -1.0; // ( -u, v, 1 ) pos z
3771
3772			} else if ( face == 3.0 ) {
3773
3774				direction = direction.zyx;
3775				direction.xz *= -1.0; // ( -1, v, -u ) neg x
3776
3777			} else if ( face == 4.0 ) {
3778
3779				direction = direction.xzy;
3780				direction.xy *= -1.0; // ( -u, -1, v ) neg y
3781
3782			} else if ( face == 5.0 ) {
3783
3784				direction.z *= -1.0; // ( u, v, -1 ) neg z
3785
3786			}
3787
3788			return direction;
3789
3790		}
3791
3792		void main() {
3793
3794			vOutputDirection = getDirection( uv, faceIndex );
3795			gl_Position = vec4( position, 1.0 );
3796
3797		}
3798	`}function nte(n){let e=new WeakMap,t=null;function i(a){if(a&&a.isTexture){const l=a.mapping,c=l===Ya||l===ab,u=l===tc||l===wd;if(c||u){let f=e.get(a);const h=f!==void 0?f.texture.pmremVersion:0;if(a.isRenderTargetTexture&&a.pmremVersion!==h)return t===null&&(t=new Pb(n)),f=c?t.fromEquirectangular(a,f):t.fromCubemap(a,f),f.texture.pmremVersion=a.pmremVersion,e.set(a,f),f.texture;if(f!==void 0)return f.texture;{const p=a.image;return c&&p&&p.height>0||u&&p&&r(p)?(t===null&&(t=new Pb(n)),f=c?t.fromEquirectangular(a):t.fromCubemap(a),f.texture.pmremVersion=a.pmremVersion,e.set(a,f),a.addEventListener("dispose",s),f.texture):null}}}return a}function r(a){let l=0;const c=6;for(let u=0;u<c;u++)a[u]!==void 0&&l++;return l===c}function s(a){const l=a.target;l.removeEventListener("dispose",s);const c=e.get(l);c!==void 0&&(e.delete(l),c.dispose())}function o(){e=new WeakMap,t!==null&&(t.dispose(),t=null)}return{get:i,dispose:o}}function ite(n){const e={};function t(i){if(e[i]!==void 0)return e[i];let r;switch(i){case"WEBGL_depth_texture":r=n.getExtension("WEBGL_depth_texture")||n.getExtension("MOZ_WEBGL_depth_texture")||n.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":r=n.getExtension("EXT_texture_filter_anisotropic")||n.getExtension("MOZ_EXT_texture_filter_anisotropic")||n.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":r=n.getExtension("WEBGL_compressed_texture_s3tc")||n.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||n.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":r=n.getExtension("WEBGL_compressed_texture_pvrtc")||n.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:r=n.getExtension(i)}return e[i]=r,r}return{has:function(i){return t(i)!==null},init:function(){t("EXT_color_buffer_float"),t("WEBGL_clip_cull_distance"),t("OES_texture_float_linear"),t("EXT_color_buffer_half_float"),t("WEBGL_multisampled_render_to_texture"),t("WEBGL_render_shared_exponent")},get:function(i){const r=t(i);return r===null&&Mf("THREE.WebGLRenderer: "+i+" extension not supported."),r}}}function rte(n,e,t,i){const r={},s=new WeakMap;function o(f){const h=f.target;h.index!==null&&e.remove(h.index);for(const m in h.attributes)e.remove(h.attributes[m]);h.removeEventListener("dispose",o),delete r[h.id];const p=s.get(h);p&&(e.remove(p),s.delete(h)),i.releaseStatesOfGeometry(h),h.isInstancedBufferGeometry===!0&&delete h._maxInstanceCount,t.memory.geometries--}function a(f,h){return r[h.id]===!0||(h.addEventListener("dispose",o),r[h.id]=!0,t.memory.geometries++),h}function l(f){const h=f.attributes;for(const p in h)e.update(h[p],n.ARRAY_BUFFER)}function c(f){const h=[],p=f.index,m=f.attributes.position;let v=0;if(p!==null){const x=p.array;v=p.version;for(let b=0,_=x.length;b<_;b+=3){const T=x[b+0],M=x[b+1],I=x[b+2];h.push(T,M,M,I,I,T)}}else if(m!==void 0){const x=m.array;v=m.version;for(let b=0,_=x.length/3-1;b<_;b+=3){const T=b+0,M=b+1,I=b+2;h.push(T,M,M,I,I,T)}}else return;const A=new(XI(h)?eP:JI)(h,1);A.version=v;const y=s.get(f);y&&e.remove(y),s.set(f,A)}function u(f){const h=s.get(f);if(h){const p=f.index;p!==null&&h.version<p.version&&c(f)}else c(f);return s.get(f)}return{get:a,update:l,getWireframeAttribute:u}}function ste(n,e,t){let i;function r(h){i=h}let s,o;function a(h){s=h.type,o=h.bytesPerElement}function l(h,p){n.drawElements(i,p,s,h*o),t.update(p,i,1)}function c(h,p,m){m!==0&&(n.drawElementsInstanced(i,p,s,h*o,m),t.update(p,i,m))}function u(h,p,m){if(m===0)return;e.get("WEBGL_multi_draw").multiDrawElementsWEBGL(i,p,0,s,h,0,m);let A=0;for(let y=0;y<m;y++)A+=p[y];t.update(A,i,1)}function f(h,p,m,v){if(m===0)return;const A=e.get("WEBGL_multi_draw");if(A===null)for(let y=0;y<h.length;y++)c(h[y]/o,p[y],v[y]);
vendor: 18,630 bytes, lines 3798-3833
3798else{A.multiDrawElementsInstancedWEBGL(i,p,0,s,h,0,v,0,m);let y=0;for(let x=0;x<m;x++)y+=p[x]*v[x];t.update(y,i,1)}}this.setMode=r,this.setIndex=a,this.render=l,this.renderInstances=c,this.renderMultiDraw=u,this.renderMultiDrawInstances=f}function ote(n){const e={geometries:0,textures:0},t={frame:0,calls:0,triangles:0,points:0,lines:0};function i(s,o,a){switch(t.calls++,o){case n.TRIANGLES:t.triangles+=a*(s/3);break;case n.LINES:t.lines+=a*(s/2);break;case n.LINE_STRIP:t.lines+=a*(s-1);break;case n.LINE_LOOP:t.lines+=a*s;break;case n.POINTS:t.points+=a*s;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",o);break}}function r(){t.calls=0,t.triangles=0,t.points=0,t.lines=0}return{memory:e,render:t,programs:null,autoReset:!0,reset:r,update:i}}function ate(n,e,t){const i=new WeakMap,r=new Vt;function s(o,a,l){const c=o.morphTargetInfluences,u=a.morphAttributes.position||a.morphAttributes.normal||a.morphAttributes.color,f=u!==void 0?u.length:0;let h=i.get(a);if(h===void 0||h.count!==f){let w=function(){I.dispose(),i.delete(a),a.removeEventListener("dispose",w)};h!==void 0&&h.texture.dispose();const p=a.morphAttributes.position!==void 0,m=a.morphAttributes.normal!==void 0,v=a.morphAttributes.color!==void 0,A=a.morphAttributes.position||[],y=a.morphAttributes.normal||[],x=a.morphAttributes.color||[];let b=0;p===!0&&(b=1),m===!0&&(b=2),v===!0&&(b=3);let _=a.attributes.position.count*b,T=1;_>e.maxTextureSize&&(T=Math.ceil(_/e.maxTextureSize),_=e.maxTextureSize);const M=new Float32Array(_*T*4*f),I=new $I(M,_,T,f);I.type=Zt,I.needsUpdate=!0;const R=b*4;for(let E=0;E<f;E++){const F=A[E],L=y[E],z=x[E],V=_*T*4*E;for(let j=0;j<F.count;j++){const N=j*R;p===!0&&(r.fromBufferAttribute(F,j),M[V+N+0]=r.x,M[V+N+1]=r.y,M[V+N+2]=r.z,M[V+N+3]=0),m===!0&&(r.fromBufferAttribute(L,j),M[V+N+4]=r.x,M[V+N+5]=r.y,M[V+N+6]=r.z,M[V+N+7]=0),v===!0&&(r.fromBufferAttribute(z,j),M[V+N+8]=r.x,M[V+N+9]=r.y,M[V+N+10]=r.z,M[V+N+11]=z.itemSize===4?r.w:1)}}h={count:f,texture:I,size:new Re(_,T)},i.set(a,h),a.addEventListener("dispose",w)}if(o.isInstancedMesh===!0&&o.morphTexture!==null)l.getUniforms().setValue(n,"morphTexture",o.morphTexture,t);else{let p=0;for(let v=0;v<c.length;v++)p+=c[v];const m=a.morphTargetsRelative?1:1-p;l.getUniforms().setValue(n,"morphTargetBaseInfluence",m),l.getUniforms().setValue(n,"morphTargetInfluences",c)}l.getUniforms().setValue(n,"morphTargetsTexture",h.texture,t),l.getUniforms().setValue(n,"morphTargetsTextureSize",h.size)}return{update:s}}function lte(n,e,t,i){let r=new WeakMap;function s(l){const c=i.render.frame,u=l.geometry,f=e.get(l,u);if(r.get(f)!==c&&(e.update(f),r.set(f,c)),l.isInstancedMesh&&(l.hasEventListener("dispose",a)===!1&&l.addEventListener("dispose",a),r.get(l)!==c&&(t.update(l.instanceMatrix,n.ARRAY_BUFFER),l.instanceColor!==null&&t.update(l.instanceColor,n.ARRAY_BUFFER),r.set(l,c))),l.isSkinnedMesh){const h=l.skeleton;r.get(h)!==c&&(h.update(),r.set(h,c))}return f}function o(){r=new WeakMap}function a(l){const c=l.target;c.removeEventListener("dispose",a),t.remove(c.instanceMatrix),c.instanceColor!==null&&t.remove(c.instanceColor)}return{update:s,dispose:o}}const gP=new xn,a8=new aP(1,1),AP=new $I,vP=new KI,yP=new np,l8=[],c8=[],u8=new Float32Array(16),f8=new Float32Array(9),d8=new Float32Array(4);function Qd(n,e,t){const i=n[0];if(i<=0||i>0)return n;const r=e*t;let s=l8[r];if(s===void 0&&(s=new Float32Array(r),l8[r]=s),e!==0){i.toArray(s,0);for(let o=1,a=0;o!==e;++o)a+=t,n[o].toArray(s,a)}return s}function Qi(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t<i;t++)if(n[t]!==e[t])return!1;return!0}function Wi(n,e){for(let t=0,i=e.length;t<i;t++)n[t]=e[t]}function RA(n,e){let t=c8[e];t===void 0&&(t=new Int32Array(e),c8[e]=t);for(let i=0;i!==e;++i)t[i]=n.allocateTextureUnit();return t}function cte(n,e){const t=this.cache;t[0]!==e&&(n.uniform1f(this.addr,e),t[0]=e)}function ute(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(n.uniform2f(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Qi(t,e))return;n.uniform2fv(this.addr,e),Wi(t,e)}}function fte(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(n.uniform3f(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else if(e.r!==void 0)(t[0]!==e.r||t[1]!==e.g||t[2]!==e.b)&&(n.uniform3f(this.addr,e.r,e.g,e.b),t[0]=e.r,t[1]=e.g,t[2]=e.b);else{if(Qi(t,e))return;n.uniform3fv(this.addr,e),Wi(t,e)}}function dte(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(n.uniform4f(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Qi(t,e))return;n.uniform4fv(this.addr,e),Wi(t,e)}}function hte(n,e){const t=this.cache,i=e.elements;if(i===void 0){if(Qi(t,e))return;n.uniformMatrix2fv(this.addr,!1,e),Wi(t,e)}else{if(Qi(t,i))return;d8.set(i),n.uniformMatrix2fv(this.addr,!1,d8),Wi(t,i)}}function pte(n,e){const t=this.cache,i=e.elements;if(i===void 0){if(Qi(t,e))return;n.uniformMatrix3fv(this.addr,!1,e),Wi(t,e)}else{if(Qi(t,i))return;f8.set(i),n.uniformMatrix3fv(this.addr,!1,f8),Wi(t,i)}}function mte(n,e){const t=this.cache,i=e.elements;if(i===void 0){if(Qi(t,e))return;n.uniformMatrix4fv(this.addr,!1,e),Wi(t,e)}else{if(Qi(t,i))return;u8.set(i),n.uniformMatrix4fv(this.addr,!1,u8),Wi(t,i)}}function gte(n,e){const t=this.cache;t[0]!==e&&(n.uniform1i(this.addr,e),t[0]=e)}function Ate(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(n.uniform2i(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Qi(t,e))return;n.uniform2iv(this.addr,e),Wi(t,e)}}function vte(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(n.uniform3i(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else{if(Qi(t,e))return;n.uniform3iv(this.addr,e),Wi(t,e)}}function yte(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(n.uniform4i(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Qi(t,e))return;n.uniform4iv(this.addr,e),Wi(t,e)}}function _te(n,e){const t=this.cache;t[0]!==e&&(n.uniform1ui(this.addr,e),t[0]=e)}function bte(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(n.uniform2ui(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Qi(t,e))return;n.uniform2uiv(this.addr,e),Wi(t,e)}}function xte(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(n.uniform3ui(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else{if(Qi(t,e))return;n.uniform3uiv(this.addr,e),Wi(t,e)}}function Cte(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(n.uniform4ui(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Qi(t,e))return;n.uniform4uiv(this.addr,e),Wi(t,e)}}function wte(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r);let s;this.type===n.SAMPLER_2D_SHADOW?(a8.compareFunction=qI,s=a8):s=gP,t.setTexture2D(e||s,r)}function Ste(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r),t.setTexture3D(e||vP,r)}function Ete(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r),t.setTextureCube(e||yP,r)}function Tte(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r),t.setTexture2DArray(e||AP,r)}function Mte(n){switch(n){case 5126:return cte;case 35664:return ute;case 35665:return fte;case 35666:return dte;case 35674:return hte;case 35675:return pte;case 35676:return mte;case 5124:case 35670:return gte;case 35667:case 35671:return Ate;case 35668:case 35672:return vte;case 35669:case 35673:return yte;case 5125:return _te;case 36294:return bte;case 36295:return xte;case 36296:return Cte;case 35678:case 36198:case 36298:case 36306:case 35682:return wte;case 35679:case 36299:case 36307:return Ste;case 35680:case 36300:case 36308:case 36293:return Ete;case 36289:case 36303:case 36311:case 36292:return Tte}}function Ite(n,e){n.uniform1fv(this.addr,e)}function Pte(n,e){const t=Qd(e,this.size,2);n.uniform2fv(this.addr,t)}function Rte(n,e){const t=Qd(e,this.size,3);n.uniform3fv(this.addr,t)}function Bte(n,e){const t=Qd(e,this.size,4);n.uniform4fv(this.addr,t)}function Dte(n,e){const t=Qd(e,this.size,4);n.uniformMatrix2fv(this.addr,!1,t)}function Lte(n,e){const t=Qd(e,this.size,9);n.uniformMatrix3fv(this.addr,!1,t)}function Ote(n,e){const t=Qd(e,this.size,16);n.uniformMatrix4fv(this.addr,!1,t)}function Fte(n,e){n.uniform1iv(this.addr,e)}function Ute(n,e){n.uniform2iv(this.addr,e)}function Nte(n,e){n.uniform3iv(this.addr,e)}function kte(n,e){n.uniform4iv(this.addr,e)}function zte(n,e){n.uniform1uiv(this.addr,e)}function Hte(n,e){n.uniform2uiv(this.addr,e)}function Vte(n,e){n.uniform3uiv(this.addr,e)}function Gte(n,e){n.uniform4uiv(this.addr,e)}function Qte(n,e,t){const i=this.cache,r=e.length,s=RA(t,r);Qi(i,s)||(n.uniform1iv(this.addr,s),Wi(i,s));for(let o=0;o!==r;++o)t.setTexture2D(e[o]||gP,s[o])}function Wte(n,e,t){const i=this.cache,r=e.length,s=RA(t,r);Qi(i,s)||(n.uniform1iv(this.addr,s),Wi(i,s));for(let o=0;o!==r;++o)t.setTexture3D(e[o]||vP,s[o])}function jte(n,e,t){const i=this.cache,r=e.length,s=RA(t,r);Qi(i,s)||(n.uniform1iv(this.addr,s),Wi(i,s));for(let o=0;o!==r;++o)t.setTextureCube(e[o]||yP,s[o])}function qte(n,e,t){const i=this.cache,r=e.length,s=RA(t,r);Qi(i,s)||(n.uniform1iv(this.addr,s),Wi(i,s));for(let o=0;o!==r;++o)t.setTexture2DArray(e[o]||AP,s[o])}function Xte(n){switch(n){case 5126:return Ite;case 35664:return Pte;case 35665:return Rte;case 35666:return Bte;case 35674:return Dte;case 35675:return Lte;case 35676:return Ote;case 5124:case 35670:return Fte;case 35667:case 35671:return Ute;case 35668:case 35672:return Nte;case 35669:case 35673:return kte;case 5125:return zte;case 36294:return Hte;case 36295:return Vte;case 36296:return Gte;case 35678:case 36198:case 36298:case 36306:case 35682:return Qte;case 35679:case 36299:case 36307:return Wte;case 35680:case 36300:case 36308:case 36293:return jte;case 36289:case 36303:case 36311:case 36292:return qte}}class Yte{constructor(e,t,i){this.id=e,this.addr=i,this.cache=[],this.type=t.type,this.setValue=Mte(t.type)}}class $te{constructor(e,t,i){this.id=e,this.addr=i,this.cache=[],this.type=t.type,this.size=t.size,this.setValue=Xte(t.type)}}class Kte{constructor(e){this.id=e,this.seq=[],this.map={}}setValue(e,t,i){const r=this.seq;for(let s=0,o=r.length;s!==o;++s){const a=r[s];a.setValue(e,t[a.id],i)}}}const U3=/(\w+)(\])?(\[|\.)?/g;function h8(n,e){n.seq.push(e),n.map[e.id]=e}function Zte(n,e,t){const i=n.name,r=i.length;for(U3.lastIndex=0;;){const s=U3.exec(i),o=U3.lastIndex;let a=s[1];const l=s[2]==="]",c=s[3];if(l&&(a=a|0),c===void 0||c==="["&&o+2===r){h8(t,c===void 0?new Yte(a,n,e):new $te(a,n,e));break}else{let f=t.map[a];f===void 0&&(f=new Kte(a),h8(t,f)),t=f}}}class J1{constructor(e,t){this.seq=[],this.map={};const i=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let r=0;r<i;++r){const s=e.getActiveUniform(t,r),o=e.getUniformLocation(t,s.name);Zte(s,o,this)}}setValue(e,t,i,r){const s=this.map[t];s!==void 0&&s.setValue(e,i,r)}setOptional(e,t,i){const r=t[i];r!==void 0&&this.setValue(e,i,r)}static upload(e,t,i,r){for(let s=0,o=t.length;s!==o;++s){const a=t[s],l=i[a.id];l.needsUpdate!==!1&&a.setValue(e,l.value,r)}}static seqWithValue(e,t){const i=[];for(let r=0,s=e.length;r!==s;++r){const o=e[r];o.id in t&&i.push(o)}return i}}function p8(n,e,t){const i=n.createShader(e);return n.shaderSource(i,t),n.compileShader(i),i}const Jte=37297;let ene=0;function tne(n,e){const t=n.split(`
3799`),i=[],r=Math.max(e-6,0),s=Math.min(e+6,t.length);for(let o=r;o<s;o++){const a=o+1;i.push(`${a===e?">":" "} ${a}: ${t[o]}`)}return i.join(`
3800`)}const m8=new Lt;function nne(n){Xt._getMatrix(m8,Xt.workingColorSpace,n);const e=`mat3( ${m8.elements.map(t=>t.toFixed(4))} )`;switch(Xt.getTransfer(n)){case Hg:return[e,"LinearTransferOETF"];case yn:return[e,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space: ",n),[e,"LinearTransferOETF"]}}function g8(n,e,t){const i=n.getShaderParameter(e,n.COMPILE_STATUS),r=n.getShaderInfoLog(e).trim();if(i&&r==="")return"";const s=/ERROR: 0:(\d+)/.exec(r);if(s){const o=parseInt(s[1]);return t.toUpperCase()+`
3801
3802`+r+`
3803
3804`+tne(n.getShaderSource(e),o)}else return r}function ine(n,e){const t=nne(e);return[`vec4 ${n}( vec4 value ) {`,`	return ${t[1]}( vec4( value.rgb * ${t[0]}, value.a ) );`,"}"].join(`
3805`)}function rne(n,e){let t;switch(e){case II:t="Linear";break;case PI:t="Reinhard";break;case RI:t="Cineon";break;case BI:t="ACESFilmic";break;case LI:t="AgX";break;case OI:t="Neutral";break;case DI:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}const w1=new K;function sne(){Xt.getLuminanceCoefficients(w1);const n=w1.x.toFixed(4),e=w1.y.toFixed(4),t=w1.z.toFixed(4);return["float luminance( const in vec3 rgb ) {",`	const vec3 weights = vec3( ${n}, ${e}, ${t} );`,"	return dot( weights, rgb );","}"].join(`
3806`)}function one(n){return[n.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",n.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(Xh).join(`
3807`)}function ane(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(`
3808`)}function lne(n,e){const t={},i=n.getProgramParameter(e,n.ACTIVE_ATTRIBUTES);for(let r=0;r<i;r++){const s=n.getActiveAttrib(e,r),o=s.name;let a=1;s.type===n.FLOAT_MAT2&&(a=2),s.type===n.FLOAT_MAT3&&(a=3),s.type===n.FLOAT_MAT4&&(a=4),t[o]={type:s.type,location:n.getAttribLocation(e,o),locationSize:a}}return t}function Xh(n){return n!==""}function A8(n,e){const t=e.numSpotLightShadows+e.numSpotLightMaps-e.numSpotLightShadowsWithMaps;return n.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,t).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 v8(n,e){return n.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const cne=/^[ \t]*#include +<([\w\d./]+)>/gm;function Rb(n){return n.replace(cne,fne)}const une=new Map;function fne(n,e){let t=ut[e];if(t===void 0){const i=une.get(e);if(i!==void 0)t=ut[i],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,i);else throw new Error("Can not resolve #include <"+e+">")}return Rb(t)}const dne=/#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 y8(n){return n.replace(dne,hne)}function hne(n,e,t,i){let r="";for(let s=parseInt(e);s<parseInt(t);s++)r+=i.replace(/\[\s*i\s*\]/g,"[ "+s+" ]").replace(/UNROLLED_LOOP_INDEX/g,s);return r}function _8(n){let e=`precision ${n.precision} float;
3809	precision ${n.precision} int;
3810	precision ${n.precision} sampler2D;
3811	precision ${n.precision} samplerCube;
3812	precision ${n.precision} sampler3D;
3813	precision ${n.precision} sampler2DArray;
3814	precision ${n.precision} sampler2DShadow;
3815	precision ${n.precision} samplerCubeShadow;
3816	precision ${n.precision} sampler2DArrayShadow;
3817	precision ${n.precision} isampler2D;
3818	precision ${n.precision} isampler3D;
3819	precision ${n.precision} isamplerCube;
3820	precision ${n.precision} isampler2DArray;
3821	precision ${n.precision} usampler2D;
3822	precision ${n.precision} usampler3D;
3823	precision ${n.precision} usamplerCube;
3824	precision ${n.precision} usampler2DArray;
3825	`;return n.precision==="highp"?e+=`
3826#define HIGH_PRECISION`:n.precision==="mediump"?e+=`
3827#define MEDIUM_PRECISION`:n.precision==="lowp"&&(e+=`
3828#define LOW_PRECISION`),e}function pne(n){let e="SHADOWMAP_TYPE_BASIC";return n.shadowMapType===EI?e="SHADOWMAP_TYPE_PCF":n.shadowMapType===$Y?e="SHADOWMAP_TYPE_PCF_SOFT":n.shadowMapType===zo&&(e="SHADOWMAP_TYPE_VSM"),e}function mne(n){let e="ENVMAP_TYPE_CUBE";if(n.envMap)switch(n.envMapMode){case tc:case wd:e="ENVMAP_TYPE_CUBE";break;case EA:e="ENVMAP_TYPE_CUBE_UV";break}return e}function gne(n){let e="ENVMAP_MODE_REFLECTION";if(n.envMap)switch(n.envMapMode){case wd:e="ENVMAP_MODE_REFRACTION";break}return e}function Ane(n){let e="ENVMAP_BLENDING_NONE";if(n.envMap)switch(n.combine){case MI:e="ENVMAP_BLENDING_MULTIPLY";break;case p$:e="ENVMAP_BLENDING_MIX";break;case m$:e="ENVMAP_BLENDING_ADD";break}return e}function vne(n){const e=n.envMapCubeUVHeight;if(e===null)return null;const t=Math.log2(e)-2,i=1/e;return{texelWidth:1/(3*Math.max(Math.pow(2,t),7*16)),texelHeight:i,maxMip:t}}function yne(n,e,t,i){const r=n.getContext(),s=t.defines;let o=t.vertexShader,a=t.fragmentShader;const l=pne(t),c=mne(t),u=gne(t),f=Ane(t),h=vne(t),p=one(t),m=ane(s),v=r.createProgram();let A,y,x=t.glslVersion?"#version "+t.glslVersion+`
3829`:"";t.isRawShaderMaterial?(A=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,m].filter(Xh).join(`
3830`),A.length>0&&(A+=`
3831`),y=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,m].filter(Xh).join(`
3832`),y.length>0&&(y+=`
3833`)):(A=[_8(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,m,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.batchingColor?"#define USE_BATCHING_COLOR":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.instancingMorph?"#define USE_INSTANCING_MORPH":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+u:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IR
3833IDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.reverseDepthBuffer?"#define USE_REVERSEDEPTHBUF":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","	attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","	attribute vec3 instanceColor;","#endif","#ifdef USE_INSTANCING_MORPH","	uniform sampler2D morphTexture;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1","	attribute vec2 uv1;","#endif","#ifdef USE_UV2","	attribute vec2 uv2;","#endif","#ifdef USE_UV3","	attribute vec2 uv3;","#endif","#ifdef USE_TANGENT","	attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","	attribute vec4 color;","#elif defined( USE_COLOR )","	attribute vec3 color;","#endif","#ifdef USE_SKINNING","	attribute vec4 skinIndex;","	attribute vec4 skinWeight;","#endif",`
3834`].filter(Xh).join(`
3835`),y=[_8(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,m,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+c:"",t.envMap?"#define "+u:"",t.envMap?"#define "+f:"",h?"#define CUBEUV_TEXEL_WIDTH "+h.texelWidth:"",h?"#define CUBEUV_TEXEL_HEIGHT "+h.texelHeight:"",h?"#define CUBEUV_MAX_MIP "+h.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.dispersion?"#define USE_DISPERSION":"",t.iridescence?"#define USE_IR
3835IDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor||t.batchingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.decodeVideoTextureEmissive?"#define DECODE_VIDEO_TEXTURE_EMISSIVE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.reverseDepthBuffer?"#define USE_REVERSEDEPTHBUF":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==Xl?"#define TONE_MAPPING":"",t.toneMapping!==Xl?ut.tonemapping_pars_fragment:"",t.toneMapping!==Xl?rne("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",ut.colorspace_pars_fragment,ine("linearToOutputTexel",t.outputColorSpace),sne(),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",`
3836`].filter(Xh).join(`
3837`)),o=Rb(o),o=A8(o,t),o=v8(o,t),a=Rb(a),a=A8(a,t),a=v8(a,t),o=y8(o),a=y8(a),t.isRawShaderMaterial!==!0&&(x=`#version 300 es
3838`,A=[p,"#define attribute in","#define varying out","#define texture2D texture"].join(`
3839`)+`
3840`+A,y=["#define varying in",t.glslVersion===oS?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===oS?"":"#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(`
3841`)+`
3842`+y);const b=x+A+o,_=x+y+a,T=p8(r,r.VERTEX_SHADER,b),M=p8(r,r.FRAGMENT_SHADER,_);r.attachShader(v,T),r.attachShader(v,M),t.index0AttributeName!==void 0?r.bindAttribLocation(v,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(v,0,"position"),r.linkProgram(v);function I(F){if(n.debug.checkShaderErrors){const L=r.getProgramInfoLog(v).trim(),z=r.getShaderInfoLog(T).trim(),V=r.getShaderInfoLog(M).trim();let j=!0,N=!0;if(r.getProgramParameter(v,r.LINK_STATUS)===!1)if(j=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,v,T,M);else{const Q=g8(r,T,"vertex"),W=g8(r,M,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(v,r.VALIDATE_STATUS)+`
3843
3844Material Name: `+F.name+`
3845Material Type: `+F.type+`
3846
3847Program Info Log: `+L+`
3848`+Q+`
3849`+W)}else L!==""?console.warn("THREE.WebGLProgram: Program Info Log:",L):(z===""||V==="")&&(N=!1);N&&(F.diagnostics={runnable:j,programLog:L,vertexShader:{log:z,prefix:A},fragmentShader:{log:V,prefix:y}})}r.deleteShader(T),r.deleteShader(M),R=new J1(r,v),w=lne(r,v)}let R;this.getUniforms=function(){return R===void 0&&I(this),R};let w;this.getAttributes=function(){return w===void 0&&I(this),w};let E=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return E===!1&&(E=r.getProgramParameter(v,Jte)),E},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(v),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=ene++,this.cacheKey=e,this.usedTimes=1,this.program=v,this.vertexShader=T,this.fragmentShader=M,this}let _ne=0;class bne{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,i=e.fragmentShader,r=this._getShaderStage(t),s=this._getShaderStage(i),o=this._getShaderCacheForMaterial(e);return o.has(r)===!1&&(o.add(r),r.usedTimes++),o.has(s)===!1&&(o.add(s),s.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const i of t)i.usedTimes--,i.usedTimes===0&&this.shaderCache.delete(i.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;let i=t.get(e);return i===void 0&&(i=new Set,t.set(e,i)),i}_getShaderStage(e){const t=this.shaderCache;let i=t.get(e);return i===void 0&&(i=new xne(e),t.set(e,i)),i}}class xne{constructor(e){this.id=_ne++,this.code=e,this.usedTimes=0}}function Cne(n,e,t,i,r,s,o){const a=new t4,l=new bne,c=new Set,u=[],f=r.logarithmicDepthBuffer,h=r.vertexTextures;let p=r.precision;const m={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 v(w){return c.add(w),w===0?"uv":`uv${w}`}function A(w,E,F,L,z){const V=L.fog,j=z.geometry,N=w.isMeshStandardMaterial?L.environment:null,Q=(w.isMeshStandardMaterial?t:e).get(w.envMap||N),W=Q&&Q.mapping===EA?Q.image.height:null,ee=m[w.type];w.precision!==null&&(p=r.getMaxPrecision(w.precision),p!==w.precision&&console.warn("THREE.WebGLProgram.getParameters:",w.precision,"not supported, using",p,"instead."));const H=j.morphAttributes.position||j.morphAttributes.normal||j.morphAttributes.color,ye=H!==void 0?H.length:0;let Ie=0;j.morphAttributes.position!==void 0&&(Ie=1),j.morphAttributes.normal!==void 0&&(Ie=2),j.morphAttributes.color!==void 0&&(Ie=3);let ze,oe,_e,Fe;if(ee){const $e=us[ee];ze=$e.vertexShader,oe=$e.fragmentShader}else ze=w.vertexShader,oe=w.fragmentShader,l.update(w),_e=l.getVertexShaderID(w),Fe=l.getFragmentShaderID(w);const Z=n.getRenderTarget(),Ae=n.state.buffers.depth.getReversed(),we=z.isInstancedMesh===!0,be=z.isBatchedMesh===!0,qe=!!w.map,rt=!!w.matcap,q=!!Q,B=!!w.aoMap,le=!!w.lightMap,ve=!!w.bumpMap,$=!!w.normalMap,de=!!w.displacementMap,De=!!w.emissiveMap,xe=!!w.metalnessMap,k=!!w.roughnessMap,D=w.anisotropy>0,ne=w.clearcoat>0,re=w.dispersion>0,ce=w.iridescence>0,fe=w.sheen>0,Pe=w.transmission>0,Le=D&&!!w.anisotropyMap,Oe=ne&&!!w.clearcoatMap,dt=ne&&!!w.clearcoatNormalMap,Be=ne&&!!w.clearcoatRoughnessMap,He=ce&&!!w.iridescenceMap,Xe=ce&&!!w.iridescenceThicknessMap,st=fe&&!!w.sheenColorMap,et=fe&&!!w.sheenRoughnessMap,mt=!!w.specularMap,lt=!!w.specularColorMap,Rt=!!w.specularIntensityMap,te=Pe&&!!w.transmissionMap,We=Pe&&!!w.thicknessMap,Ce=!!w.gradientMap,Me=!!w.alphaMap,je=w.alphaTest>0,Ye=!!w.alphaHash,_t=!!w.extensions;let jt=Xl;w.toneMapped&&(Z===null||Z.isXRRenderTarget===!0)&&(jt=n.toneMapping);const Bn={shaderID:ee,shaderType:w.type,shaderName:w.name,vertexShader:ze,fragmentShader:oe,defines:w.defines,customVertexShaderID:_e,customFragmentShaderID:Fe,isRawShaderMaterial:w.isRawShaderMaterial===!0,glslVersion:w.glslVersion,precision:p,batching:be,batchingColor:be&&z._colorsTexture!==null,instancing:we,instancingColor:we&&z.instanceColor!==null,instancingMorph:we&&z.morphTexture!==null,supportsVertexTextures:h,outputColorSpace:Z===null?n.outputColorSpace:Z.isXRRenderTarget===!0?Z.texture.colorSpace:mi,alphaToCoverage:!!w.alphaToCoverage,map:qe,matcap:rt,envMap:q,envMapMode:q&&Q.mapping,envMapCubeUVHeight:W,aoMap:B,lightMap:le,bumpMap:ve,normalMap:$,displacementMap:h&&de,emissiveMap:De,normalMapObjectSpace:$&&w.normalMapType===_$,normalMapTangentSpace:$&&w.normalMapType===jI,metalnessMap:xe,roughnessMap:k,anisotropy:D,anisotropyMap:Le,clearcoat:ne,clearcoatMap:Oe,clearcoatNormalMap:dt,clearcoatRoughnessMap:Be,dispersion:re,iridescence:ce,iridescenceMap:He,iridescenceThicknessMap:Xe,sheen:fe,sheenColorMap:st,sheenRoughnessMap:et,specularMap:mt,specularColorMap:lt,specularIntensityMap:Rt,transmission:Pe,transmissionMap:te,thicknessMap:We,gradientMap:Ce,opaque:w.transparent===!1&&w.blending===bu&&w.alphaToCoverage===!1,alphaMap:Me,alphaTest:je,alphaHash:Ye,combine:w.combine,mapUv:qe&&v(w.map.channel),aoMapUv:B&&v(w.aoMap.channel),lightMapUv:le&&v(w.lightMap.channel),bumpMapUv:ve&&v(w.bumpMap.channel),normalMapUv:$&&v(w.normalMap.channel),displacementMapUv:de&&v(w.displacementMap.channel),emissiveMapUv:De&&v(w.emissiveMap.channel),metalnessMapUv:xe&&v(w.metalnessMap.channel),roughnessMapUv:k&&v(w.roughnessMap.channel),anisotropyMapUv:Le&&v(w.anisotropyMap.channel),clearcoatMapUv:Oe&&v(w.clearcoatMap.channel),clearcoatNormalMapUv:dt&&v(w.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Be&&v(w.clearcoatRoughnessMap.channel),iridescenceMapUv:He&&v(w.iridescenceMap.channel),iridescenceThicknessMapUv:Xe&&v(w.iridescenceThicknessMap.channel),sheenColorMapUv:st&&v(w.sheenColorMap.channel),sheenRoughnessMapUv:et&&v(w.sheenRoughnessMap.channel),specularMapUv:mt&&v(w.specularMap.channel),specularColorMapUv:lt&&v(w.specularColorMap.channel),specularIntensityMapUv:Rt&&v(w.specularIntensityMap.channel),transmissionMapUv:te&&v(w.transmissionMap.channel),thicknessMapUv:We&&v(w.thicknessMap.channel),alphaMapUv:Me&&v(w.alphaMap.channel),vertexTangents:!!j.attributes.tangent&&($||D),vertexColors:w.vertexColors,vertexAlphas:w.vertexColors===!0&&!!j.attributes.color&&j.attributes.color.itemSize===4,pointsUvs:z.isPoints===!0&&!!j.attributes.uv&&(qe||Me),fog:!!V,useFog:w.fog===!0,fogExp2:!!V&&V.isFogExp2,flatShading:w.flatShading===!0,sizeAttenuation:w.sizeAttenuation===!0,logarithmicDepthBuffer:f,reverseDepthBuffer:Ae,skinning:z.isSkinnedMesh===!0,morphTargets:j.morphAttributes.position!==void 0,morphNormals:j.morphAttributes.normal!==void 0,morphColors:j.morphAttributes.color!==void 0,morphTargetsCount:ye,morphTextureStride:Ie,numDirLights:E.directional.length,numPointLights:E.point.length,numSpotLights:E.spot.length,numSpotLightMaps:E.spotLightMap.length,numRectAreaLights:E.rectArea.length,numHemiLights:E.hemi.length,numDirLightShadows:E.directionalShadowMap.length,numPointLightShadows:E.pointShadowMap.length,numSpotLightShadows:E.spotShadowMap.length,numSpotLightShadowsWithMaps:E.numSpotLightShadowsWithMaps,numLightProbes:E.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:w.dithering,shadowMapEnabled:n.shadowMap.enabled&&F.length>0,shadowMapType:n.shadowMap.type,toneMapping:jt,decodeVideoTexture:qe&&w.map.isVideoTexture===!0&&Xt.getTransfer(w.map.colorSpace)===yn,decodeVideoTextureEmissive:De&&w.emissiveMap.isVideoTexture===!0&&Xt.getTransfer(w.emissiveMap.colorSpace)===yn,premultipliedAlpha:w.premultipliedAlpha,doubleSided:w.side===Zs,flipSided:w.side===Rr,useDepthPacking:w.depthPacking>=0,depthPacking:w.depthPacking||0,index0AttributeName:w.index0AttributeName,extensionCl
vendor: 20,373 bytes, lines 3849-3877
3849ipCullDistance:_t&&w.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:(_t&&w.extensions.multiDraw===!0||be)&&i.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:w.customProgramCacheKey()};return Bn.vertexUv1s=c.has(1),Bn.vertexUv2s=c.has(2),Bn.vertexUv3s=c.has(3),c.clear(),Bn}function y(w){const E=[];if(w.shaderID?E.push(w.shaderID):(E.push(w.customVertexShaderID),E.push(w.customFragmentShaderID)),w.defines!==void 0)for(const F in w.defines)E.push(F),E.push(w.defines[F]);return w.isRawShaderMaterial===!1&&(x(E,w),b(E,w),E.push(n.outputColorSpace)),E.push(w.customProgramCacheKey),E.join()}function x(w,E){w.push(E.precision),w.push(E.outputColorSpace),w.push(E.envMapMode),w.push(E.envMapCubeUVHeight),w.push(E.mapUv),w.push(E.alphaMapUv),w.push(E.lightMapUv),w.push(E.aoMapUv),w.push(E.bumpMapUv),w.push(E.normalMapUv),w.push(E.displacementMapUv),w.push(E.emissiveMapUv),w.push(E.metalnessMapUv),w.push(E.roughnessMapUv),w.push(E.anisotropyMapUv),w.push(E.clearcoatMapUv),w.push(E.clearcoatNormalMapUv),w.push(E.clearcoatRoughnessMapUv),w.push(E.iridescenceMapUv),w.push(E.iridescenceThicknessMapUv),w.push(E.sheenColorMapUv),w.push(E.sheenRoughnessMapUv),w.push(E.specularMapUv),w.push(E.specularColorMapUv),w.push(E.specularIntensityMapUv),w.push(E.transmissionMapUv),w.push(E.thicknessMapUv),w.push(E.combine),w.push(E.fogExp2),w.push(E.sizeAttenuation),w.push(E.morphTargetsCount),w.push(E.morphAttributeCount),w.push(E.numDirLights),w.push(E.numPointLights),w.push(E.numSpotLights),w.push(E.numSpotLightMaps),w.push(E.numHemiLights),w.push(E.numRectAreaLights),w.push(E.numDirLightShadows),w.push(E.numPointLightShadows),w.push(E.numSpotLightShadows),w.push(E.numSpotLightShadowsWithMaps),w.push(E.numLightProbes),w.push(E.shadowMapType),w.push(E.toneMapping),w.push(E.numClippingPlanes),w.push(E.numClipIntersection),w.push(E.depthPacking)}function b(w,E){a.disableAll(),E.supportsVertexTextures&&a.enable(0),E.instancing&&a.enable(1),E.instancingColor&&a.enable(2),E.instancingMorph&&a.enable(3),E.matcap&&a.enable(4),E.envMap&&a.enable(5),E.normalMapObjectSpace&&a.enable(6),E.normalMapTangentSpace&&a.enable(7),E.clearcoat&&a.enable(8),E.iridescence&&a.enable(9),E.alphaTest&&a.enable(10),E.vertexColors&&a.enable(11),E.vertexAlphas&&a.enable(12),E.vertexUv1s&&a.enable(13),E.vertexUv2s&&a.enable(14),E.vertexUv3s&&a.enable(15),E.vertexTangents&&a.enable(16),E.anisotropy&&a.enable(17),E.alphaHash&&a.enable(18),E.batching&&a.enable(19),E.dispersion&&a.enable(20),E.batchingColor&&a.enable(21),w.push(a.mask),a.disableAll(),E.fog&&a.enable(0),E.useFog&&a.enable(1),E.flatShading&&a.enable(2),E.logarithmicDepthBuffer&&a.enable(3),E.reverseDepthBuffer&&a.enable(4),E.skinning&&a.enable(5),E.morphTargets&&a.enable(6),E.morphNormals&&a.enable(7),E.morphColors&&a.enable(8),E.premultipliedAlpha&&a.enable(9),E.shadowMapEnabled&&a.enable(10),E.doubleSided&&a.enable(11),E.flipSided&&a.enable(12),E.useDepthPacking&&a.enable(13),E.dithering&&a.enable(14),E.transmission&&a.enable(15),E.sheen&&a.enable(16),E.opaque&&a.enable(17),E.pointsUvs&&a.enable(18),E.decodeVideoTexture&&a.enable(19),E.decodeVideoTextureEmissive&&a.enable(20),E.alphaToCoverage&&a.enable(21),w.push(a.mask)}function _(w){const E=m[w.type];let F;if(E){const L=us[E];F=Po.clone(L.uniforms)}else F=w.uniforms;return F}function T(w,E){let F;for(let L=0,z=u.length;L<z;L++){const V=u[L];if(V.cacheKey===E){F=V,++F.usedTimes;break}}return F===void 0&&(F=new yne(n,E,w,s),u.push(F)),F}function M(w){if(--w.usedTimes===0){const E=u.indexOf(w);u[E]=u[u.length-1],u.pop(),w.destroy()}}function I(w){l.remove(w)}function R(){l.dispose()}return{getParameters:A,getProgramCacheKey:y,getUniforms:_,acquireProgram:T,releaseProgram:M,releaseShaderCache:I,programs:u,dispose:R}}function wne(){let n=new WeakMap;function e(o){return n.has(o)}function t(o){let a=n.get(o);return a===void 0&&(a={},n.set(o,a)),a}function i(o){n.delete(o)}function r(o,a,l){n.get(o)[a]=l}function s(){n=new WeakMap}return{has:e,get:t,remove:i,update:r,dispose:s}}function Sne(n,e){return n.groupOrder!==e.groupOrder?n.groupOrder-e.groupOrder:n.renderOrder!==e.renderOrder?n.renderOrder-e.renderOrder:n.material.id!==e.material.id?n.material.id-e.material.id:n.z!==e.z?n.z-e.z:n.id-e.id}function b8(n,e){return n.groupOrder!==e.groupOrder?n.groupOrder-e.groupOrder:n.renderOrder!==e.renderOrder?n.renderOrder-e.renderOrder:n.z!==e.z?e.z-n.z:n.id-e.id}function x8(){const n=[];let e=0;const t=[],i=[],r=[];function s(){e=0,t.length=0,i.length=0,r.length=0}function o(f,h,p,m,v,A){let y=n[e];return y===void 0?(y={id:f.id,object:f,geometry:h,material:p,groupOrder:m,renderOrder:f.renderOrder,z:v,group:A},n[e]=y):(y.id=f.id,y.object=f,y.geometry=h,y.material=p,y.groupOrder=m,y.renderOrder=f.renderOrder,y.z=v,y.group=A),e++,y}function a(f,h,p,m,v,A){const y=o(f,h,p,m,v,A);p.transmission>0?i.push(y):p.transparent===!0?r.push(y):t.push(y)}function l(f,h,p,m,v,A){const y=o(f,h,p,m,v,A);p.transmission>0?i.unshift(y):p.transparent===!0?r.unshift(y):t.unshift(y)}function c(f,h){t.length>1&&t.sort(f||Sne),i.length>1&&i.sort(h||b8),r.length>1&&r.sort(h||b8)}function u(){for(let f=e,h=n.length;f<h;f++){const p=n[f];if(p.id===null)break;p.id=null,p.object=null,p.geometry=null,p.material=null,p.group=null}}return{opaque:t,transmissive:i,transparent:r,init:s,push:a,unshift:l,finish:u,sort:c}}function Ene(){let n=new WeakMap;function e(i,r){const s=n.get(i);let o;return s===void 0?(o=new x8,n.set(i,[o])):r>=s.length?(o=new x8,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function Tne(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new K,color:new ke};break;case"SpotLight":t={position:new K,direction:new K,color:new ke,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new K,color:new ke,distance:0,decay:0};break;case"HemisphereLight":t={direction:new K,skyColor:new ke,groundColor:new ke};break;case"RectAreaLight":t={color:new ke,position:new K,halfWidth:new K,halfHeight:new K};break}return n[e.id]=t,t}}}function Mne(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Re};break;case"SpotLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Re};break;case"PointLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Re,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let Ine=0;function Pne(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function Rne(n){const e=new Tne,t=Mne(),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 c=0;c<9;c++)i.probe.push(new K);const r=new K,s=new Ct,o=new Ct;function a(c){let u=0,f=0,h=0;for(let w=0;w<9;w++)i.probe[w].set(0,0,0);let p=0,m=0,v=0,A=0,y=0,x=0,b=0,_=0,T=0,M=0,I=0;c.sort(Pne);for(let w=0,E=c.length;w<E;w++){const F=c[w],L=F.color,z=F.intensity,V=F.distance,j=F.shadow&&F.shadow.map?F.shadow.map.texture:null;if(F.isAmbientLight)u+=L.r*z,f+=L.g*z,h+=L.b*z;else if(F.isLightProbe){for(let N=0;N<9;N++)i.probe[N].addScaledVector(F.sh.coefficients[N],z);I++}else if(F.isDirectionalLight){const N=e.get(F);if(N.color.copy(F.color).multiplyScalar(F.intensity),F.castShadow){const Q=F.shadow,W=t.get(F);W.shadowIntensity=Q.intensity,W.shadowBias=Q.bias,W.shadowNormalBias=Q.normalBias,W.shadowRadius=Q.radius,W.shadowMapSize=Q.mapSize,i.directionalShadow[p]=W,i.directionalShadowMap[p]=j,i.directionalShadowMatrix[p]=F.shadow.matrix,x++}i.directional[p]=N,p++}else if(F.isSpotLight){const N=e.get(F);N.position.setFromMatrixPosition(F.matrixWorld),N.color.copy(L).multiplyScalar(z),N.distance=V,N.coneCos=Math.cos(F.angle),N.penumbraCos=Math.cos(F.angle*(1-F.penumbra)),N.decay=F.decay,i.spot[v]=N;const Q=F.shadow;if(F.map&&(i.spotLightMap[T]=F.map,T++,Q.updateMatrices(F),F.castShadow&&M++),i.spotLightMatrix[v]=Q.matrix,F.castShadow){const W=t.get(F);W.shadowIntensity=Q.intensity,W.shadowBias=Q.bias,W.shadowNormalBias=Q.normalBias,W.shadowRadius=Q.radius,W.shadowMapSize=Q.mapSize,i.spotShadow[v]=W,i.spotShadowMap[v]=j,_++}v++}else if(F.isRectAreaLight){const N=e.get(F);N.color.copy(L).multiplyScalar(z),N.halfWidth.set(F.width*.5,0,0),N.halfHeight.set(0,F.height*.5,0),i.rectArea[A]=N,A++}else if(F.isPointLight){const N=e.get(F);if(N.color.copy(F.color).multiplyScalar(F.intensity),N.distance=F.distance,N.decay=F.decay,F.castShadow){const Q=F.shadow,W=t.get(F);W.shadowIntensity=Q.intensity,W.shadowBias=Q.bias,W.shadowNormalBias=Q.normalBias,W.shadowRadius=Q.radius,W.shadowMapSize=Q.mapSize,W.shadowCameraNear=Q.camera.near,W.shadowCameraFar=Q.camera.far,i.pointShadow[m]=W,i.pointShadowMap[m]=j,i.pointShadowMatrix[m]=F.shadow.matrix,b++}i.point[m]=N,m++}else if(F.isHemisphereLight){const N=e.get(F);N.skyColor.copy(F.color).multiplyScalar(z),N.groundColor.copy(F.groundColor).multiplyScalar(z),i.hemi[y]=N,y++}}A>0&&(n.has("OES_texture_float_linear")===!0?(i.rectAreaLTC1=Ke.LTC_FLOAT_1,i.rectAreaLTC2=Ke.LTC_FLOAT_2):(i.rectAreaLTC1=Ke.LTC_HALF_1,i.rectAreaLTC2=Ke.LTC_HALF_2)),i.ambient[0]=u,i.ambient[1]=f,i.ambient[2]=h;const R=i.hash;(R.directionalLength!==p||R.pointLength!==m||R.spotLength!==v||R.rectAreaLength!==A||R.hemiLength!==y||R.numDirectionalShadows!==x||R.numPointShadows!==b||R.numSpotShadows!==_||R.numSpotMaps!==T||R.numLightProbes!==I)&&(i.directional.length=p,i.spot.length=v,i.rectArea.length=A,i.point.length=m,i.hemi.length=y,i.directionalShadow.length=x,i.directionalShadowMap.length=x,i.pointShadow.length=b,i.pointShadowMap.length=b,i.spotShadow.length=_,i.spotShadowMap.length=_,i.directionalShadowMatrix.length=x,i.pointShadowMatrix.length=b,i.spotLightMatrix.length=_+T-M,i.spotLightMap.length=T,i.numSpotLightShadowsWithMaps=M,i.numLightProbes=I,R.directionalLength=p,R.pointLength=m,R.spotLength=v,R.rectAreaLength=A,R.hemiLength=y,R.numDirectionalShadows=x,R.numPointShadows=b,R.numSpotShadows=_,R.numSpotMaps=T,R.numLightProbes=I,i.version=Ine++)}function l(c,u){let f=0,h=0,p=0,m=0,v=0;const A=u.matrixWorldInverse;for(let y=0,x=c.length;y<x;y++){const b=c[y];if(b.isDirectionalLight){const _=i.directional[f];_.direction.setFromMatrixPosition(b.matrixWorld),r.setFromMatrixPosition(b.target.matrixWorld),_.direction.sub(r),_.direction.transformDirection(A),f++}else if(b.isSpotLight){const _=i.spot[p];_.position.setFromMatrixPosition(b.matrixWorld),_.position.applyMatrix4(A),_.direction.setFromMatrixPosition(b.matrixWorld),r.setFromMatrixPosition(b.target.matrixWorld),_.direction.sub(r),_.direction.transformDirection(A),p++}else if(b.isRectAreaLight){const _=i.rectArea[m];_.position.setFromMatrixPosition(b.matrixWorld),_.position.applyMatrix4(A),o.identity(),s.copy(b.matrixWorld),s.premultiply(A),o.extractRotation(s),_.halfWidth.set(b.width*.5,0,0),_.halfHeight.set(0,b.height*.5,0),_.halfWidth.applyMatrix4(o),_.halfHeight.applyMatrix4(o),m++}else if(b.isPointLight){const _=i.point[h];_.position.setFromMatrixPosition(b.matrixWorld),_.position.applyMatrix4(A),h++}else if(b.isHemisphereLight){const _=i.hemi[v];_.direction.setFromMatrixPosition(b.matrixWorld),_.direction.transformDirection(A),v++}}}return{setup:a,setupView:l,state:i}}function C8(n){const e=new Rne(n),t=[],i=[];function r(u){c.camera=u,t.length=0,i.length=0}function s(u){t.push(u)}function o(u){i.push(u)}function a(){e.setup(t)}function l(u){e.setupView(t,u)}const c={lightsArray:t,shadowsArray:i,camera:null,lights:e,transmissionRenderTarget:{}};return{init:r,state:c,setupLights:a,setupLightsView:l,pushLight:s,pushShadow:o}}function Bne(n){let e=new WeakMap;function t(r,s=0){const o=e.get(r);let a;return o===void 0?(a=new C8(n),e.set(r,[a])):s>=o.length?(a=new C8(n),o.push(a)):a=o[s],a}function i(){e=new WeakMap}return{get:t,dispose:i}}const Dne=`void main() {
3850	gl_Position = vec4( position, 1.0 );
3851}`,Lne=`uniform sampler2D shadow_pass;
3852uniform vec2 resolution;
3853uniform float radius;
3854#include <packing>
3855void main() {
3856	const float samples = float( VSM_SAMPLES );
3857	float mean = 0.0;
3858	float squared_mean = 0.0;
3859	float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );
3860	float uvStart = samples <= 1.0 ? 0.0 : - 1.0;
3861	for ( float i = 0.0; i < samples; i ++ ) {
3862		float uvOffset = uvStart + i * uvStride;
3863		#ifdef HORIZONTAL_PASS
3864			vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );
3865			mean += distribution.x;
3866			squared_mean += distribution.y * distribution.y + distribution.x * distribution.x;
3867		#else
3868			float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );
3869			mean += depth;
3870			squared_mean += depth * depth;
3871		#endif
3872	}
3873	mean = mean / samples;
3874	squared_mean = squared_mean / samples;
3875	float std_dev = sqrt( squared_mean - mean * mean );
3876	gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );
3877}`;function One(n,e,t){let i=new r4;const r=new Re,s=new Re,o=new Vt,a=new PK({depthPacking:Jx}),l=new RK,c={},u=t.maxTextureSize,f={[Io]:Rr,[Rr]:Io,[Zs]:Zs},h=new Cn({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Re},radius:{value:4}},vertexShader:Dne,fragmentShader:Lne}),p=h.clone();p.defines.HORIZONTAL_PASS=1;const m=new Hn;m.setAttribute("position",new Gi(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const v=new Qe(m,h),A=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=EI;let y=this.type;this.render=function(M,I,R){if(A.enabled===!1||A.autoUpdate===!1&&A.needsUpdate===!1||M.length===0)return;const w=n.getRenderTarget(),E=n.getActiveCubeFace(),F=n.getActiveMipmapLevel(),L=n.state;L.setBlending(wo),L.buffers.color.setClear(1,1,1,1),L.buffers.depth.setTest(!0),L.setScissorTest(!1);const z=y!==zo&&this.type===zo,V=y===zo&&this.type!==zo;for(let j=0,N=M.length;j<N;j++){const Q=M[j],W=Q.shadow;if(W===void 0){console.warn("THREE.WebGLShadowMap:",Q,"has no shadow.");continue}if(W.autoUpdate===!1&&W.needsUpdate===!1)continue;r.copy(W.mapSize);const ee=W.getFrameExtents();if(r.multiply(ee),s.copy(W.mapSize),(r.x>u||r.y>u)&&(r.x>u&&(s.x=Math.floor(u/ee.x),r.x=s.x*ee.x,W.mapSize.x=s.x),r.y>u&&(s.y=Math.floor(u/ee.y),r.y=s.y*ee.y,W.mapSize.y=s.y)),W.map===null||z===!0||V===!0){const ye=this.type!==zo?{minFilter:Br,magFilter:Br}:{};W.map!==null&&W.map.dispose(),W.map=new li(r.x,r.y,ye),W.map.texture.name=Q.name+".shadowMap",W.camera.updateProjectionMatrix()}n.setRenderTarget(W.map),n.clear();const H=W.getViewportCount();for(let ye=0;ye<H;ye++){const Ie=W.getViewport(ye);o.set(s.x*Ie.x,s.y*Ie.y,s.x*Ie.z,s.y*Ie.w),L.viewport(o),W.updateMatrices(Q,ye),i=W.getFrustum(),_(I,R,W.camera,Q,this.type)}W.isPointLightShadow!==!0&&this.type===zo&&x(W,R),W.needsUpdate=!1}y=this.type,A.needsUpdate=!1,n.setRenderTarget(w,E,F)};function x(M,I){const R=e.update(v);h.defines.VSM_SAMPLES!==M.blurSamples&&(h.defines.VSM_SAMPLES=M.blurSamples,p.defines.VSM_SAMPLES=M.blurSamples,h.needsUpdate=!0,p.needsUpdate=!0),M.mapPass===null&&(M.mapPass=new li(r.x,r.y)),h.uniforms.shadow_pass.value=M.map.texture,h.uniforms.resolution.value=M.mapSize,h.uniforms.radius.value=M.radius,n.setRenderTarget(M.mapPass),n.clear(),n.renderBufferDirect(I,null,R,h,v,null),p.uniforms.shadow_pass.value=M.mapPass.texture,p.uniforms.resolution.value=M.mapSize,p.uniforms.radius.value=M.radius,n.setRenderTarget(M.map),n.clear(),n.renderBufferDirect(I,null,R,p,v,null)}function b(M,I,R,w){let E=null;const F=R.isPointLight===!0?M.customDistanceMaterial:M.customDepthMaterial;if(F!==void 0)E=F;else if(E=R.isPointLight===!0?l:a,n.localClippingEnabled&&I.clipShadows===!0&&Array.isArray(I.clippingPlanes)&&I.clippingPlanes.length!==0||I.displacementMap&&I.displacementScale!==0||I.alphaMap&&I.alphaTest>0||I.map&&I.alphaTest>0){const L=E.uuid,z=I.uuid;let V=c[L];V===void 0&&(V={},c[L]=V);let j=V[z];j===void 0&&(j=E.clone(),V[z]=j,I.addEventListener("dispose",T)),E=j}if(E.visible=I.visible,E.wireframe=I.wireframe,w===zo?E.side=I.shadowSide!==null?I.shadowSide:I.side:E.side=I.shadowSide!==null?I.shadowSide:f[I.side],E.alphaMap=I.alphaMap,E.alphaTest=I.alphaTest,E.map=I.map,E.clipShadows=I.clipShadows,E.clippingPlanes=I.clippingPlanes,E.clipIntersection=I.clipIntersection,E.displacementMap=I.displacementMap,E.displacementScale=I.displacementScale,E.displacementBias=I.displacementBias,E.wireframeLinewidth=I.wireframeLinewidth,E.linewidth=I.linewidth,R.isPointLight===!0&&E.isMeshDistanceMaterial===!0){const L=n.properties.get(E);L.light=R}return E}function _(M,I,R,w,E){if(M.visible===!1)return;if(M.layers.test(I.layers)&&(M.isMesh||M.isLine||M.isPoints)&&(M.castShadow||M.receiveShadow&&E===zo)&&(!M.frustumCulled||i.intersectsObject(M))){M.modelViewMatrix.multiplyMatrices(R.matrixWorldInverse,M.matrixWorld);const z=e.update(M),V=M.material;if(Array.isArray(V)){const j=z.groups;for(let N=0,Q=j.length;N<Q;N++){const W=j[N],ee=V[W.materialIndex];if(ee&&ee.visible){const H=b(M,ee,w,E);M.onBeforeShadow(n,M,I,R,z,H,W),n.renderBufferDirect(R,null,z,H,M,W),M.onAfterShadow(n,M,I,R,z,H,W)}}}else if(V.visible){const j=b(M,V,w,E);M.onBeforeShadow(n,M,I,R,z,j,null),n.renderBufferDirect(R,null,z,j,M,null),M.onAfterShadow(n,M,I,R,z,j,null)}}const L=M.children;for(let z=0,V=L.length;z<V;z++)_(L[z],I,R,w,E)}function T(M){M.target.removeEventListener("dispose",T);for(const R in c){const w=c[R],E=M.target.uuid;E in w&&(w[E].dispose(),delete w[E])}}}const Fne={[eb]:tb,[nb]:sb,[ib]:ob,[Cd]:rb,[tb]:eb,[sb]:nb,[ob]:ib,[rb]:Cd};function Une(n,e){function t(){let te=!1;const We=new Vt;let Ce=null;const Me=new Vt(0,0,0,0);return{setMask:function(je){Ce!==je&&!te&&(n.colorMask(je,je,je,je),Ce=je)},setLocked:function(je){te=je},setClear:function(je,Ye,_t,jt,Bn){Bn===!0&&(je*=jt,Ye*=jt,_t*=jt),We.set(je,Ye,_t,jt),Me.equals(We)===!1&&(n.clearColor(je,Ye,_t,jt),Me.copy(We))},reset:function(){te=!1,Ce=null,Me.set(-1,0,0,0)}}}function i(){let te=!1,We=!1,Ce=null,Me=null,je=null;return{setReversed:function(Ye){if(We!==Ye){const _t=e.get("EXT_clip_control");We?_t.clipControlEXT(_t.LOWER_LEFT_EXT,_t.ZERO_TO_ONE_EXT):_t.clipControlEXT(_t.LOWER_LEFT_EXT,_t.NEGATIVE_ONE_TO_ONE_EXT);const jt=je;je=null,this.setClear(jt)}We=Ye},getReversed:function(){return We},setTest:function(Ye){Ye?Z(n.DEPTH_TEST):Ae(n.DEPTH_TEST)},setMask:function(Ye){Ce!==Ye&&!te&&(n.depthMask(Ye),Ce=Ye)},setFunc:function(Ye){if(We&&(Ye=Fne[Ye]),Me!==Ye){switch(Ye){case eb:n.depthFunc(n.NEVER);break;case tb:n.depthFunc(n.ALWAYS);break;case nb:n.depthFunc(n.LESS);break;case Cd:n.depthFunc(n.LEQUAL);break;case ib:n.depthFunc(n.EQUAL);break;case rb:n.depthFunc(n.GEQUAL);break;case sb:n.depthFunc(n.GREATER);break;case ob:n.depthFunc(n.NOTEQUAL);break;default:n.depthFunc(n.LEQUAL)}Me=Ye}},setLocked:function(Ye){te=Ye},setClear:function(Ye){je!==Ye&&(We&&(Ye=1-Ye),n.clearDepth(Ye),je=Ye)},reset:function(){te=!1,Ce=null,Me=null,je=null,We=!1}}}function r(){let te=!1,We=null,Ce=null,Me=null,je=null,Ye=null,_t=null,jt=null,Bn=null;return{setTest:function($e){te||($e?Z(n.STENCIL_TEST):Ae(n.STENCIL_TEST))},setMask:function($e){We!==$e&&!te&&(n.stencilMask($e),We=$e)},setFunc:function($e,ot,Mt){(Ce!==$e||Me!==ot||je!==Mt)&&(n.stencilFunc($e,ot,Mt),Ce=$e,Me=ot,je=Mt)},setOp:function($e,ot,Mt){(Ye!==$e||_t!==ot||jt!==Mt)&&(n.stencilOp($e,ot,Mt),Ye=$e,_t=ot,jt=Mt)},setLocked:function($e){te=$e},setClear:function($e){Bn!==$e&&(n.clearStencil($e),Bn=$e)},reset:function(){te=!1,We=null,Ce=null,Me=null,je=null,Ye=null,_t=null,jt=null,Bn=null}}}const s=new t,o=new i,a=new r,l=new WeakMap,c=new WeakMap;let u={},f={},h=new WeakMap,p=[],m=null,v=!1,A=null,y=null,x=null,b=null,_=null,T=null,M=null,I=new ke(0,0,0),R=0,w=!1,E=null,F=null,
vendor: 6,750 bytes, line 3877
3877L=null,z=null,V=null;const j=n.getParameter(n.MAX_COMBINED_TEXTURE_IMAGE_UNITS);let N=!1,Q=0;const W=n.getParameter(n.VERSION);W.indexOf("WebGL")!==-1?(Q=parseFloat(/^WebGL (\d)/.exec(W)[1]),N=Q>=1):W.indexOf("OpenGL ES")!==-1&&(Q=parseFloat(/^OpenGL ES (\d)/.exec(W)[1]),N=Q>=2);let ee=null,H={};const ye=n.getParameter(n.SCISSOR_BOX),Ie=n.getParameter(n.VIEWPORT),ze=new Vt().fromArray(ye),oe=new Vt().fromArray(Ie);function _e(te,We,Ce,Me){const je=new Uint8Array(4),Ye=n.createTexture();n.bindTexture(te,Ye),n.texParameteri(te,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(te,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let _t=0;_t<Ce;_t++)te===n.TEXTURE_3D||te===n.TEXTURE_2D_ARRAY?n.texImage3D(We,0,n.RGBA,1,1,Me,0,n.RGBA,n.UNSIGNED_BYTE,je):n.texImage2D(We+_t,0,n.RGBA,1,1,0,n.RGBA,n.UNSIGNED_BYTE,je);return Ye}const Fe={};Fe[n.TEXTURE_2D]=_e(n.TEXTURE_2D,n.TEXTURE_2D,1),Fe[n.TEXTURE_CUBE_MAP]=_e(n.TEXTURE_CUBE_MAP,n.TEXTURE_CUBE_MAP_POSITIVE_X,6),Fe[n.TEXTURE_2D_ARRAY]=_e(n.TEXTURE_2D_ARRAY,n.TEXTURE_2D_ARRAY,1,1),Fe[n.TEXTURE_3D]=_e(n.TEXTURE_3D,n.TEXTURE_3D,1,1),s.setClear(0,0,0,1),o.setClear(1),a.setClear(0),Z(n.DEPTH_TEST),o.setFunc(Cd),ve(!1),$(eS),Z(n.CULL_FACE),B(wo);function Z(te){u[te]!==!0&&(n.enable(te),u[te]=!0)}function Ae(te){u[te]!==!1&&(n.disable(te),u[te]=!1)}function we(te,We){return f[te]!==We?(n.bindFramebuffer(te,We),f[te]=We,te===n.DRAW_FRAMEBUFFER&&(f[n.FRAMEBUFFER]=We),te===n.FRAMEBUFFER&&(f[n.DRAW_FRAMEBUFFER]=We),!0):!1}function be(te,We){let Ce=p,Me=!1;if(te){Ce=h.get(We),Ce===void 0&&(Ce=[],h.set(We,Ce));const je=te.textures;if(Ce.length!==je.length||Ce[0]!==n.COLOR_ATTACHMENT0){for(let Ye=0,_t=je.length;Ye<_t;Ye++)Ce[Ye]=n.COLOR_ATTACHMENT0+Ye;Ce.length=je.length,Me=!0}}else Ce[0]!==n.BACK&&(Ce[0]=n.BACK,Me=!0);Me&&n.drawBuffers(Ce)}function qe(te){return m!==te?(n.useProgram(te),m=te,!0):!1}const rt={[eu]:n.FUNC_ADD,[KY]:n.FUNC_SUBTRACT,[ZY]:n.FUNC_REVERSE_SUBTRACT};rt[JY]=n.MIN,rt[e$]=n.MAX;const q={[t$]:n.ZERO,[n$]:n.ONE,[i$]:n.SRC_COLOR,[Z_]:n.SRC_ALPHA,[c$]:n.SRC_ALPHA_SATURATE,[a$]:n.DST_COLOR,[s$]:n.DST_ALPHA,[r$]:n.ONE_MINUS_SRC_COLOR,[J_]:n.ONE_MINUS_SRC_ALPHA,[l$]:n.ONE_MINUS_DST_COLOR,[o$]:n.ONE_MINUS_DST_ALPHA,[u$]:n.CONSTANT_COLOR,[f$]:n.ONE_MINUS_CONSTANT_COLOR,[d$]:n.CONSTANT_ALPHA,[h$]:n.ONE_MINUS_CONSTANT_ALPHA};function B(te,We,Ce,Me,je,Ye,_t,jt,Bn,$e){if(te===wo){v===!0&&(Ae(n.BLEND),v=!1);return}if(v===!1&&(Z(n.BLEND),v=!0),te!==TI){if(te!==A||$e!==w){if((y!==eu||_!==eu)&&(n.blendEquation(n.FUNC_ADD),y=eu,_=eu),$e)switch(te){case bu:n.blendFuncSeparate(n.ONE,n.ONE_MINUS_SRC_ALPHA,n.ONE,n.ONE_MINUS_SRC_ALPHA);break;case Y0:n.blendFunc(n.ONE,n.ONE);break;case $_:n.blendFuncSeparate(n.ZERO,n.ONE_MINUS_SRC_COLOR,n.ZERO,n.ONE);break;case K_:n.blendFuncSeparate(n.ZERO,n.SRC_COLOR,n.ZERO,n.SRC_ALPHA);break;default:console.error("THREE.WebGLState: Invalid blending: ",te);break}else switch(te){case bu:n.blendFuncSeparate(n.SRC_ALPHA,n.ONE_MINUS_SRC_ALPHA,n.ONE,n.ONE_MINUS_SRC_ALPHA);break;case Y0:n.blendFunc(n.SRC_ALPHA,n.ONE);break;case $_:n.blendFuncSeparate(n.ZERO,n.ONE_MINUS_SRC_COLOR,n.ZERO,n.ONE);break;case K_:n.blendFunc(n.ZERO,n.SRC_COLOR);break;default:console.error("THREE.WebGLState: Invalid blending: ",te);break}x=null,b=null,T=null,M=null,I.set(0,0,0),R=0,A=te,w=$e}return}je=je||We,Ye=Ye||Ce,_t=_t||Me,(We!==y||je!==_)&&(n.blendEquationSeparate(rt[We],rt[je]),y=We,_=je),(Ce!==x||Me!==b||Ye!==T||_t!==M)&&(n.blendFuncSeparate(q[Ce],q[Me],q[Ye],q[_t]),x=Ce,b=Me,T=Ye,M=_t),(jt.equals(I)===!1||Bn!==R)&&(n.blendColor(jt.r,jt.g,jt.b,Bn),I.copy(jt),R=Bn),A=te,w=!1}function le(te,We){te.side===Zs?Ae(n.CULL_FACE):Z(n.CULL_FACE);let Ce=te.side===Rr;We&&(Ce=!Ce),ve(Ce),te.blending===bu&&te.transparent===!1?B(wo):B(te.blending,te.blendEquation,te.blendSrc,te.blendDst,te.blendEquationAlpha,te.blendSrcAlpha,te.blendDstAlpha,te.blendColor,te.blendAlpha,te.premultipliedAlpha),o.setFunc(te.depthFunc),o.setTest(te.depthTest),o.setMask(te.depthWrite),s.setMask(te.colorWrite);const Me=te.stencilWrite;a.setTest(Me),Me&&(a.setMask(te.stencilWriteMask),a.setFunc(te.stencilFunc,te.stencilRef,te.stencilFuncMask),a.setOp(te.stencilFail,te.stencilZFail,te.stencilZPass)),De(te.polygonOffset,te.polygonOffsetFactor,te.polygonOffsetUnits),te.alphaToCoverage===!0?Z(n.SAMPLE_ALPHA_TO_COVERAGE):Ae(n.SAMPLE_ALPHA_TO_COVERAGE)}function ve(te){E!==te&&(te?n.frontFace(n.CW):n.frontFace(n.CCW),E=te)}function $(te){te!==XY?(Z(n.CULL_FACE),te!==F&&(te===eS?n.cullFace(n.BACK):te===YY?n.cullFace(n.FRONT):n.cullFace(n.FRONT_AND_BACK))):Ae(n.CULL_FACE),F=te}function de(te){te!==L&&(N&&n.lineWidth(te),L=te)}function De(te,We,Ce){te?(Z(n.POLYGON_OFFSET_FILL),(z!==We||V!==Ce)&&(n.polygonOffset(We,Ce),z=We,V=Ce)):Ae(n.POLYGON_OFFSET_FILL)}function xe(te){te?Z(n.SCISSOR_TEST):Ae(n.SCISSOR_TEST)}function k(te){te===void 0&&(te=n.TEXTURE0+j-1),ee!==te&&(n.activeTexture(te),ee=te)}function D(te,We,Ce){Ce===void 0&&(ee===null?Ce=n.TEXTURE0+j-1:Ce=ee);let Me=H[Ce];Me===void 0&&(Me={type:void 0,texture:void 0},H[Ce]=Me),(Me.type!==te||Me.texture!==We)&&(ee!==Ce&&(n.activeTexture(Ce),ee=Ce),n.bindTexture(te,We||Fe[te]),Me.type=te,Me.texture=We)}function ne(){const te=H[ee];te!==void 0&&te.type!==void 0&&(n.bindTexture(te.type,null),te.type=void 0,te.texture=void 0)}function re(){try{n.compressedTexImage2D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function ce(){try{n.compressedTexImage3D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function fe(){try{n.texSubImage2D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function Pe(){try{n.texSubImage3D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function Le(){try{n.compressedTexSubImage2D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function Oe(){try{n.compressedTexSubImage3D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function dt(){try{n.texStorage2D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function Be(){try{n.texStorage3D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function He(){try{n.texImage2D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function Xe(){try{n.texImage3D.apply(n,arguments)}catch(te){console.error("THREE.WebGLState:",te)}}function st(te){ze.equals(te)===!1&&(n.scissor(te.x,te.y,te.z,te.w),ze.copy(te))}function et(te){oe.equals(te)===!1&&(n.viewport(te.x,te.y,te.z,te.w),oe.copy(te))}function mt(te,We){let Ce=c.get(We);Ce===void 0&&(Ce=new WeakMap,c.set(We,Ce));let Me=Ce.get(te);Me===void 0&&(Me=n.getUniformBlockIndex(We,te.name),Ce.set(te,Me))}function lt(te,We){const Me=c.get(We).get(te);l.get(We)!==Me&&(n.uniformBlockBinding(We,Me,te.__bindingPointIndex),l.set(We,Me))}
vendor: 7,725 bytes, line 3877
3877function Rt(){n.disable(n.BLEND),n.disable(n.CULL_FACE),n.disable(n.DEPTH_TEST),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SCISSOR_TEST),n.disable(n.STENCIL_TEST),n.disable(n.SAMPLE_ALPHA_TO_COVERAGE),n.blendEquation(n.FUNC_ADD),n.blendFunc(n.ONE,n.ZERO),n.blendFuncSeparate(n.ONE,n.ZERO,n.ONE,n.ZERO),n.blendColor(0,0,0,0),n.colorMask(!0,!0,!0,!0),n.clearColor(0,0,0,0),n.depthMask(!0),n.depthFunc(n.LESS),o.setReversed(!1),n.clearDepth(1),n.stencilMask(4294967295),n.stencilFunc(n.ALWAYS,0,4294967295),n.stencilOp(n.KEEP,n.KEEP,n.KEEP),n.clearStencil(0),n.cullFace(n.BACK),n.frontFace(n.CCW),n.polygonOffset(0,0),n.activeTexture(n.TEXTURE0),n.bindFramebuffer(n.FRAMEBUFFER,null),n.bindFramebuffer(n.DRAW_FRAMEBUFFER,null),n.bindFramebuffer(n.READ_FRAMEBUFFER,null),n.useProgram(null),n.lineWidth(1),n.scissor(0,0,n.canvas.width,n.canvas.height),n.viewport(0,0,n.canvas.width,n.canvas.height),u={},ee=null,H={},f={},h=new WeakMap,p=[],m=null,v=!1,A=null,y=null,x=null,b=null,_=null,T=null,M=null,I=new ke(0,0,0),R=0,w=!1,E=null,F=null,L=null,z=null,V=null,ze.set(0,0,n.canvas.width,n.canvas.height),oe.set(0,0,n.canvas.width,n.canvas.height),s.reset(),o.reset(),a.reset()}return{buffers:{color:s,depth:o,stencil:a},enable:Z,disable:Ae,bindFramebuffer:we,drawBuffers:be,useProgram:qe,setBlending:B,setMaterial:le,setFlipSided:ve,setCullFace:$,setLineWidth:de,setPolygonOffset:De,setScissorTest:xe,activeTexture:k,bindTexture:D,unbindTexture:ne,compressedTexImage2D:re,compressedTexImage3D:ce,texImage2D:He,texImage3D:Xe,updateUBOMapping:mt,uniformBlockBinding:lt,texStorage2D:dt,texStorage3D:Be,texSubImage2D:fe,texSubImage3D:Pe,compressedTexSubImage2D:Le,compressedTexSubImage3D:Oe,scissor:st,viewport:et,reset:Rt}}function Nne(n,e,t,i,r,s,o){const a=e.has("WEBGL_multisampled_render_to_texture")?e.get("WEBGL_multisampled_render_to_texture"):null,l=typeof navigator>"u"?!1:/OculusBrowser/g.test(navigator.userAgent),c=new Re,u=new WeakMap;let f;const h=new WeakMap;let p=!1;try{p=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function m(k,D){return p?new OffscreenCanvas(k,D):tp("canvas")}function v(k,D,ne){let re=1;const ce=xe(k);if((ce.width>ne||ce.height>ne)&&(re=ne/Math.max(ce.width,ce.height)),re<1)if(typeof HTMLImageElement<"u"&&k instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&k instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&k instanceof ImageBitmap||typeof VideoFrame<"u"&&k instanceof VideoFrame){const fe=Math.floor(re*ce.width),Pe=Math.floor(re*ce.height);f===void 0&&(f=m(fe,Pe));const Le=D?m(fe,Pe):f;return Le.width=fe,Le.height=Pe,Le.getContext("2d").drawImage(k,0,0,fe,Pe),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+ce.width+"x"+ce.height+") to ("+fe+"x"+Pe+")."),Le}else return"data"in k&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+ce.width+"x"+ce.height+")."),k;return k}function A(k){return k.generateMipmaps}function y(k){n.generateMipmap(k)}function x(k){return k.isWebGLCubeRenderTarget?n.TEXTURE_CUBE_MAP:k.isWebGL3DRenderTarget?n.TEXTURE_3D:k.isWebGLArrayRenderTarget||k.isCompressedArrayTexture?n.TEXTURE_2D_ARRAY:n.TEXTURE_2D}function b(k,D,ne,re,ce=!1){if(k!==null){if(n[k]!==void 0)return n[k];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+k+"'")}let fe=D;if(D===n.RED&&(ne===n.FLOAT&&(fe=n.R32F),ne===n.HALF_FLOAT&&(fe=n.R16F),ne===n.UNSIGNED_BYTE&&(fe=n.R8)),D===n.RED_INTEGER&&(ne===n.UNSIGNED_BYTE&&(fe=n.R8UI),ne===n.UNSIGNED_SHORT&&(fe=n.R16UI),ne===n.UNSIGNED_INT&&(fe=n.R32UI),ne===n.BYTE&&(fe=n.R8I),ne===n.SHORT&&(fe=n.R16I),ne===n.INT&&(fe=n.R32I)),D===n.RG&&(ne===n.FLOAT&&(fe=n.RG32F),ne===n.HALF_FLOAT&&(fe=n.RG16F),ne===n.UNSIGNED_BYTE&&(fe=n.RG8)),D===n.RG_INTEGER&&(ne===n.UNSIGNED_BYTE&&(fe=n.RG8UI),ne===n.UNSIGNED_SHORT&&(fe=n.RG16UI),ne===n.UNSIGNED_INT&&(fe=n.RG32UI),ne===n.BYTE&&(fe=n.RG8I),ne===n.SHORT&&(fe=n.RG16I),ne===n.INT&&(fe=n.RG32I)),D===n.RGB_INTEGER&&(ne===n.UNSIGNED_BYTE&&(fe=n.RGB8UI),ne===n.UNSIGNED_SHORT&&(fe=n.RGB16UI),ne===n.UNSIGNED_INT&&(fe=n.RGB32UI),ne===n.BYTE&&(fe=n.RGB8I),ne===n.SHORT&&(fe=n.RGB16I),ne===n.INT&&(fe=n.RGB32I)),D===n.RGBA_INTEGER&&(ne===n.UNSIGNED_BYTE&&(fe=n.RGBA8UI),ne===n.UNSIGNED_SHORT&&(fe=n.RGBA16UI),ne===n.UNSIGNED_INT&&(fe=n.RGBA32UI),ne===n.BYTE&&(fe=n.RGBA8I),ne===n.SHORT&&(fe=n.RGBA16I),ne===n.INT&&(fe=n.RGBA32I)),D===n.RGB&&ne===n.UNSIGNED_INT_5_9_9_9_REV&&(fe=n.RGB9_E5),D===n.RGBA){const Pe=ce?Hg:Xt.getTransfer(re);ne===n.FLOAT&&(fe=n.RGBA32F),ne===n.HALF_FLOAT&&(fe=n.RGBA16F),ne===n.UNSIGNED_BYTE&&(fe=Pe===yn?n.SRGB8_ALPHA8:n.RGBA8),ne===n.UNSIGNED_SHORT_4_4_4_4&&(fe=n.RGBA4),ne===n.UNSIGNED_SHORT_5_5_5_1&&(fe=n.RGB5_A1)}return(fe===n.R16F||fe===n.R32F||fe===n.RG16F||fe===n.RG32F||fe===n.RGBA16F||fe===n.RGBA32F)&&e.get("EXT_color_buffer_float"),fe}function _(k,D){let ne;return k?D===null||D===Pu||D===Ed?ne=n.DEPTH24_STENCIL8:D===Zt?ne=n.DEPTH32F_STENCIL8:D===$0&&(ne=n.DEPTH24_STENCIL8,console.warn("DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.")):D===null||D===Pu||D===Ed?ne=n.DEPTH_COMPONENT24:D===Zt?ne=n.DEPTH_COMPONENT32F:D===$0&&(ne=n.DEPTH_COMPONENT16),ne}function T(k,D){return A(k)===!0||k.isFramebufferTexture&&k.minFilter!==Br&&k.minFilter!==Yt?Math.log2(Math.max(D.width,D.height))+1:k.mipmaps!==void 0&&k.mipmaps.length>0?k.mipmaps.length:k.isCompressedTexture&&Array.isArray(k.image)?D.mipmaps.length:1}function M(k){const D=k.target;D.removeEventListener("dispose",M),R(D),D.isVideoTexture&&u.delete(D)}function I(k){const D=k.target;D.removeEventListener("dispose",I),E(D)}function R(k){const D=i.get(k);if(D.__webglInit===void 0)return;const ne=k.source,re=h.get(ne);if(re){const ce=re[D.__cacheKey];ce.usedTimes--,ce.usedTimes===0&&w(k),Object.keys(re).length===0&&h.delete(ne)}i.remove(k)}function w(k){const D=i.get(k);n.deleteTexture(D.__webglTexture);const ne=k.source,re=h.get(ne);delete re[D.__cacheKey],o.memory.textures--}function E(k){const D=i.get(k);if(k.depthTexture&&(k.depthTexture.dispose(),i.remove(k.depthTexture)),k.isWebGLCubeRenderTarget)for(let re=0;re<6;re++){if(Array.isArray(D.__webglFramebuffer[re]))for(let ce=0;ce<D.__webglFramebuffer[re].length;ce++)n.deleteFramebuffer(D.__webglFramebuffer[re][ce]);else n.deleteFramebuffer(D.__webglFramebuffer[re]);D.__webglDepthbuffer&&n.deleteRenderbuffer(D.__webglDepthbuffer[re])}else{if(Array.isArray(D.__webglFramebuffer))for(let re=0;re<D.__webglFramebuffer.length;re++)n.deleteFramebuffer(D.__webglFramebuffer[re]);else n.deleteFramebuffer(D.__webglFramebuffer);if(D.__webglDepthbuffer&&n.deleteRenderbuffer(D.__webglDepthbuffer),D.__webglMultisampledFramebuffer&&n.deleteFramebuffer(D.__webglMultisampledFramebuffer),D.__webglColorRenderbuffer)for(let re=0;re<D.__webglColorRenderbuffer.length;re++)D.__webglColorRenderbuffer[re]&&n.deleteRenderbuffer(D.__webglColorRenderbuffer[re]);D.__webglDepthRenderbuffer&&n.deleteRenderbuffer(D.__webglDepthRenderbuffer)}const ne=k.textures;for(let re=0,ce=ne.length;re<ce;re++){const fe=i.get(ne[re]);fe.__webglTexture&&(n.deleteTexture(fe.__webglTexture),o.memory.textures--),i.remove(ne[re])}i.remove(k)}let F=0;function L(){F=0}function z(){const k=F;return k>=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+k+" texture units while this GPU supports only "+r.maxTextures),F+=1,k}function V(k){const D=[];return D.push(k.wrapS),D.push(k.wrapT),D.push(k.wrapR||0),D.push(k.magFilter),D.push(k.minFilter),D.push(k.anisotropy),D.push(k.internalFormat),D.push(k.format),D.push(k.type),D.push(k.generateMipmaps),D.push(k.premultiplyAlpha),D.push(k.flipY),D.push(k.unpackAlignment),D.push(k.colorSpace),D.join()}function j(k,D){const ne=i.get(k);
vendor: 3,222 bytes, line 3877
3877if(k.isVideoTexture&&de(k),k.isRenderTargetTexture===!1&&k.version>0&&ne.__version!==k.version){const re=k.image;if(re===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(re.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{oe(ne,k,D);return}}t.bindTexture(n.TEXTURE_2D,ne.__webglTexture,n.TEXTURE0+D)}function N(k,D){const ne=i.get(k);if(k.version>0&&ne.__version!==k.version){oe(ne,k,D);return}t.bindTexture(n.TEXTURE_2D_ARRAY,ne.__webglTexture,n.TEXTURE0+D)}function Q(k,D){const ne=i.get(k);if(k.version>0&&ne.__version!==k.version){oe(ne,k,D);return}t.bindTexture(n.TEXTURE_3D,ne.__webglTexture,n.TEXTURE0+D)}function W(k,D){const ne=i.get(k);if(k.version>0&&ne.__version!==k.version){_e(ne,k,D);return}t.bindTexture(n.TEXTURE_CUBE_MAP,ne.__webglTexture,n.TEXTURE0+D)}const ee={[ts]:n.REPEAT,[ti]:n.CLAMP_TO_EDGE,[Sd]:n.MIRRORED_REPEAT},H={[Br]:n.NEAREST,[FI]:n.NEAREST_MIPMAP_NEAREST,[qh]:n.NEAREST_MIPMAP_LINEAR,[Yt]:n.LINEAR,[$1]:n.LINEAR_MIPMAP_NEAREST,[Fs]:n.LINEAR_MIPMAP_LINEAR},ye={[b$]:n.NEVER,[T$]:n.ALWAYS,[x$]:n.LESS,[qI]:n.LEQUAL,[C$]:n.EQUAL,[E$]:n.GEQUAL,[w$]:n.GREATER,[S$]:n.NOTEQUAL};function Ie(k,D){if(D.type===Zt&&e.has("OES_texture_float_linear")===!1&&(D.magFilter===Yt||D.magFilter===$1||D.magFilter===qh||D.magFilter===Fs||D.minFilter===Yt||D.minFilter===$1||D.minFilter===qh||D.minFilter===Fs)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),n.texParameteri(k,n.TEXTURE_WRAP_S,ee[D.wrapS]),n.texParameteri(k,n.TEXTURE_WRAP_T,ee[D.wrapT]),(k===n.TEXTURE_3D||k===n.TEXTURE_2D_ARRAY)&&n.texParameteri(k,n.TEXTURE_WRAP_R,ee[D.wrapR]),n.texParameteri(k,n.TEXTURE_MAG_FILTER,H[D.magFilter]),n.texParameteri(k,n.TEXTURE_MIN_FILTER,H[D.minFilter]),D.compareFunction&&(n.texParameteri(k,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(k,n.TEXTURE_COMPARE_FUNC,ye[D.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if(D.magFilter===Br||D.minFilter!==qh&&D.minFilter!==Fs||D.type===Zt&&e.has("OES_texture_float_linear")===!1)return;if(D.anisotropy>1||i.get(D).__currentAnisotropy){const ne=e.get("EXT_texture_filter_anisotropic");n.texParameterf(k,ne.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(D.anisotropy,r.getMaxAnisotropy())),i.get(D).__currentAnisotropy=D.anisotropy}}}function ze(k,D){let ne=!1;k.__webglInit===void 0&&(k.__webglInit=!0,D.addEventListener("dispose",M));const re=D.source;let ce=h.get(re);ce===void 0&&(ce={},h.set(re,ce));const fe=V(D);if(fe!==k.__cacheKey){ce[fe]===void 0&&(ce[fe]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,ne=!0),ce[fe].usedTimes++;const Pe=ce[k.__cacheKey];Pe!==void 0&&(ce[k.__cacheKey].usedTimes--,Pe.usedTimes===0&&w(D)),k.__cacheKey=fe,k.__webglTexture=ce[fe].texture}return ne}function oe(k,D,ne){let re=n.TEXTURE_2D;(D.isDataArrayTexture||D.isCompressedArrayTexture)&&(re=n.TEXTURE_2D_ARRAY),D.isData3DTexture&&(re=n.TEXTURE_3D);const ce=ze(k,D),fe=D.source;t.bindTexture(re,k.__webglTexture,n.TEXTURE0+ne);const Pe=i.get(fe);if(fe.version!==Pe.__version||ce===!0){t.activeTexture(n.TEXTURE0+ne);
vendor: 21,998 bytes, line 3877
3877const Le=Xt.getPrimaries(Xt.workingColorSpace),Oe=D.colorSpace===qo?null:Xt.getPrimaries(D.colorSpace),dt=D.colorSpace===qo||Le===Oe?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,D.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,D.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,D.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,dt);let Be=v(D.image,!1,r.maxTextureSize);Be=De(D,Be);const He=s.convert(D.format,D.colorSpace),Xe=s.convert(D.type);let st=b(D.internalFormat,He,Xe,D.colorSpace,D.isVideoTexture);Ie(re,D);let et;const mt=D.mipmaps,lt=D.isVideoTexture!==!0,Rt=Pe.__version===void 0||ce===!0,te=fe.dataReady,We=T(D,Be);if(D.isDepthTexture)st=_(D.format===Td,D.type),Rt&&(lt?t.texStorage2D(n.TEXTURE_2D,1,st,Be.width,Be.height):t.texImage2D(n.TEXTURE_2D,0,st,Be.width,Be.height,0,He,Xe,null));else if(D.isDataTexture)if(mt.length>0){lt&&Rt&&t.texStorage2D(n.TEXTURE_2D,We,st,mt[0].width,mt[0].height);for(let Ce=0,Me=mt.length;Ce<Me;Ce++)et=mt[Ce],lt?te&&t.texSubImage2D(n.TEXTURE_2D,Ce,0,0,et.width,et.height,He,Xe,et.data):t.texImage2D(n.TEXTURE_2D,Ce,st,et.width,et.height,0,He,Xe,et.data);D.generateMipmaps=!1}else lt?(Rt&&t.texStorage2D(n.TEXTURE_2D,We,st,Be.width,Be.height),te&&t.texSubImage2D(n.TEXTURE_2D,0,0,0,Be.width,Be.height,He,Xe,Be.data)):t.texImage2D(n.TEXTURE_2D,0,st,Be.width,Be.height,0,He,Xe,Be.data);else if(D.isCompressedTexture)if(D.isCompressedArrayTexture){lt&&Rt&&t.texStorage3D(n.TEXTURE_2D_ARRAY,We,st,mt[0].width,mt[0].height,Be.depth);for(let Ce=0,Me=mt.length;Ce<Me;Ce++)if(et=mt[Ce],D.format!==pi)if(He!==null)if(lt){if(te)if(D.layerUpdates.size>0){const je=e8(et.width,et.height,D.format,D.type);for(const Ye of D.layerUpdates){const _t=et.data.subarray(Ye*je/et.data.BYTES_PER_ELEMENT,(Ye+1)*je/et.data.BYTES_PER_ELEMENT);t.compressedTexSubImage3D(n.TEXTURE_2D_ARRAY,Ce,0,0,Ye,et.width,et.height,1,He,_t)}D.clearLayerUpdates()}else t.compressedTexSubImage3D(n.TEXTURE_2D_ARRAY,Ce,0,0,0,et.width,et.height,Be.depth,He,et.data)}else t.compressedTexImage3D(n.TEXTURE_2D_ARRAY,Ce,st,et.width,et.height,Be.depth,0,et.data,0,0);else console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()");else lt?te&&t.texSubImage3D(n.TEXTURE_2D_ARRAY,Ce,0,0,0,et.width,et.height,Be.depth,He,Xe,et.data):t.texImage3D(n.TEXTURE_2D_ARRAY,Ce,st,et.width,et.height,Be.depth,0,He,Xe,et.data)}else{lt&&Rt&&t.texStorage2D(n.TEXTURE_2D,We,st,mt[0].width,mt[0].height);for(let Ce=0,Me=mt.length;Ce<Me;Ce++)et=mt[Ce],D.format!==pi?He!==null?lt?te&&t.compressedTexSubImage2D(n.TEXTURE_2D,Ce,0,0,et.width,et.height,He,et.data):t.compressedTexImage2D(n.TEXTURE_2D,Ce,st,et.width,et.height,0,et.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):lt?te&&t.texSubImage2D(n.TEXTURE_2D,Ce,0,0,et.width,et.height,He,Xe,et.data):t.texImage2D(n.TEXTURE_2D,Ce,st,et.width,et.height,0,He,Xe,et.data)}else if(D.isDataArrayTexture)if(lt){if(Rt&&t.texStorage3D(n.TEXTURE_2D_ARRAY,We,st,Be.width,Be.height,Be.depth),te)if(D.layerUpdates.size>0){const Ce=e8(Be.width,Be.height,D.format,D.type);for(const Me of D.layerUpdates){const je=Be.data.subarray(Me*Ce/Be.data.BYTES_PER_ELEMENT,(Me+1)*Ce/Be.data.BYTES_PER_ELEMENT);t.texSubImage3D(n.TEXTURE_2D_ARRAY,0,0,0,Me,Be.width,Be.height,1,He,Xe,je)}D.clearLayerUpdates()}else t.texSubImage3D(n.TEXTURE_2D_ARRAY,0,0,0,0,Be.width,Be.height,Be.depth,He,Xe,Be.data)}else t.texImage3D(n.TEXTURE_2D_ARRAY,0,st,Be.width,Be.height,Be.depth,0,He,Xe,Be.data);else if(D.isData3DTexture)lt?(Rt&&t.texStorage3D(n.TEXTURE_3D,We,st,Be.width,Be.height,Be.depth),te&&t.texSubImage3D(n.TEXTURE_3D,0,0,0,0,Be.width,Be.height,Be.depth,He,Xe,Be.data)):t.texImage3D(n.TEXTURE_3D,0,st,Be.width,Be.height,Be.depth,0,He,Xe,Be.data);else if(D.isFramebufferTexture){if(Rt)if(lt)t.texStorage2D(n.TEXTURE_2D,We,st,Be.width,Be.height);else{let Ce=Be.width,Me=Be.height;for(let je=0;je<We;je++)t.texImage2D(n.TEXTURE_2D,je,st,Ce,Me,0,He,Xe,null),Ce>>=1,Me>>=1}}else if(mt.length>0){if(lt&&Rt){const Ce=xe(mt[0]);t.texStorage2D(n.TEXTURE_2D,We,st,Ce.width,Ce.height)}for(let Ce=0,Me=mt.length;Ce<Me;Ce++)et=mt[Ce],lt?te&&t.texSubImage2D(n.TEXTURE_2D,Ce,0,0,He,Xe,et):t.texImage2D(n.TEXTURE_2D,Ce,st,He,Xe,et);D.generateMipmaps=!1}else if(lt){if(Rt){const Ce=xe(Be);t.texStorage2D(n.TEXTURE_2D,We,st,Ce.width,Ce.height)}te&&t.texSubImage2D(n.TEXTURE_2D,0,0,0,He,Xe,Be)}else t.texImage2D(n.TEXTURE_2D,0,st,He,Xe,Be);A(D)&&y(re),Pe.__version=fe.version,D.onUpdate&&D.onUpdate(D)}k.__version=D.version}function _e(k,D,ne){if(D.image.length!==6)return;const re=ze(k,D),ce=D.source;t.bindTexture(n.TEXTURE_CUBE_MAP,k.__webglTexture,n.TEXTURE0+ne);const fe=i.get(ce);if(ce.version!==fe.__version||re===!0){t.activeTexture(n.TEXTURE0+ne);const Pe=Xt.getPrimaries(Xt.workingColorSpace),Le=D.colorSpace===qo?null:Xt.getPrimaries(D.colorSpace),Oe=D.colorSpace===qo||Pe===Le?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,D.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,D.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,D.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,Oe);const dt=D.isCompressedTexture||D.image[0].isCompressedTexture,Be=D.image[0]&&D.image[0].isDataTexture,He=[];for(let Me=0;Me<6;Me++)!dt&&!Be?He[Me]=v(D.image[Me],!0,r.maxCubemapSize):He[Me]=Be?D.image[Me].image:D.image[Me],He[Me]=De(D,He[Me]);const Xe=He[0],st=s.convert(D.format,D.colorSpace),et=s.convert(D.type),mt=b(D.internalFormat,st,et,D.colorSpace),lt=D.isVideoTexture!==!0,Rt=fe.__version===void 0||re===!0,te=ce.dataReady;let We=T(D,Xe);Ie(n.TEXTURE_CUBE_MAP,D);let Ce;if(dt){lt&&Rt&&t.texStorage2D(n.TEXTURE_CUBE_MAP,We,mt,Xe.width,Xe.height);for(let Me=0;Me<6;Me++){Ce=He[Me].mipmaps;for(let je=0;je<Ce.length;je++){const Ye=Ce[je];D.format!==pi?st!==null?lt?te&&t.compressedTexSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,je,0,0,Ye.width,Ye.height,st,Ye.data):t.compressedTexImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,je,mt,Ye.width,Ye.height,0,Ye.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):lt?te&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,je,0,0,Ye.width,Ye.height,st,et,Ye.data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,je,mt,Ye.width,Ye.height,0,st,et,Ye.data)}}}else{if(Ce=D.mipmaps,lt&&Rt){Ce.length>0&&We++;const Me=xe(He[0]);t.texStorage2D(n.TEXTURE_CUBE_MAP,We,mt,Me.width,Me.height)}for(let Me=0;Me<6;Me++)if(Be){lt?te&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,0,0,0,He[Me].width,He[Me].height,st,et,He[Me].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,0,mt,He[Me].width,He[Me].height,0,st,et,He[Me].data);for(let je=0;je<Ce.length;je++){const _t=Ce[je].image[Me].image;lt?te&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,je+1,0,0,_t.width,_t.height,st,et,_t.data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,je+1,mt,_t.width,_t.height,0,st,et,_t.data)}}else{lt?te&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,0,0,0,st,et,He[Me]):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,0,mt,st,et,He[Me]);for(let je=0;je<Ce.length;je++){const Ye=Ce[je];lt?te&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,je+1,0,0,st,et,Ye.image[Me]):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,je+1,mt,st,et,Ye.image[Me])}}}A(D)&&y(n.TEXTURE_CUBE_MAP),fe.__version=ce.version,D.onUpdate&&D.onUpdate(D)}k.__version=D.version}function Fe(k,D,ne,re,ce,fe){const Pe=s.convert(ne.format,ne.colorSpace),Le=s.convert(ne.type),Oe=b(ne.internalFormat,Pe,Le,ne.colorSpace),dt=i.get(D),Be=i.get(ne);if(Be.__renderTarget=D,!dt.__hasExternalTextures){const He=Math.max(1,D.width>>fe),Xe=Math.max(1,D.height>>fe);ce===n.TEXTURE_3D||ce===n.TEXTURE_2D_ARRAY?t.texImage3D(ce,fe,Oe,He,Xe,D.depth,0,Pe,Le,null):t.texImage2D(ce,fe,Oe,He,Xe,0,Pe,Le,null)}t.bindFramebuffer(n.FRAMEBUFFER,k),$(D)?a.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,re,ce,Be.__webglTexture,0,ve(D)):(ce===n.TEXTURE_2D||ce>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&ce<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,re,ce,Be.__webglTexture,fe),t.bindFramebuffer(n.FRAMEBUFFER,null)}function Z(k,D,ne){if(n.bindRenderbuffer(n.RENDERBUFFER,k),D.depthBuffer){const re=D.depthTexture,ce=re&&re.isDepthTexture?re.type:null,fe=_(D.stencilBuffer,ce),Pe=D.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Le=ve(D);$(D)?a.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Le,fe,D.width,D.height):ne?n.renderbufferStorageMultisample(n.RENDERBUFFER,Le,fe,D.width,D.height):n.renderbufferStorage(n.RENDERBUFFER,fe,D.width,D.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,Pe,n.RENDERBUFFER,k)}else{const re=D.textures;for(let ce=0;ce<re.length;ce++){const fe=re[ce],Pe=s.convert(fe.format,fe.colorSpace),Le=s.convert(fe.type),Oe=b(fe.internalFormat,Pe,Le,fe.colorSpace),dt=ve(D);ne&&$(D)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,dt,Oe,D.width,D.height):$(D)?a.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,dt,Oe,D.width,D.height):n.renderbufferStorage(n.RENDERBUFFER,Oe,D.width,D.height)}}n.bindRenderbuffer(n.RENDERBUFFER,null)}function Ae(k,D){if(D&&D.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(t.bindFramebuffer(n.FRAMEBUFFER,k),!(D.depthTexture&&D.depthTexture.isDepthTexture))throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");const re=i.get(D.depthTexture);re.__renderTarget=D,(!re.__webglTexture||D.depthTexture.image.width!==D.width||D.depthTexture.image.height!==D.height)&&(D.depthTexture.image.width=D.width,D.depthTexture.image.height=D.height,D.depthTexture.needsUpdate=!0),j(D.depthTexture,0);const ce=re.__webglTexture,fe=ve(D);if(D.depthTexture.format===td)$(D)?a.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,ce,0,fe):n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,ce,0);else if(D.depthTexture.format===Td)$(D)?a.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.TEXTURE_2D,ce,0,fe):n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.TEXTURE_2D,ce,0);else throw new Error("Unknown depthTexture format")}function we(k){const D=i.get(k),ne=k.isWebGLCubeRenderTarget===!0;if(D.__boundDepthTexture!==k.depthTexture){const re=k.depthTexture;if(D.__depthDisposeCallback&&D.__depthDisposeCallback(),re){const ce=()=>{delete D.__boundDepthTexture,delete D.__depthDisposeCallback,re.removeEventListener("dispose",ce)};re.addEventListener("dispose",ce),D.__depthDisposeCallback=ce}D.__boundDepthTexture=re}if(k.depthTexture&&!D.__autoAllocateDepthBuffer){if(ne)throw new Error("target.depthTexture not supported in Cube render targets");Ae(D.__webglFramebuffer,k)}else if(ne){D.__webglDepthbuffer=[];for(let re=0;re<6;re++)if(t.bindFramebuffer(n.FRAMEBUFFER,D.__webglFramebuffer[re]),D.__webglDepthbuffer[re]===void 0)D.__webglDepthbuffer[re]=n.createRenderbuffer(),Z(D.__webglDepthbuffer[re],k,!1);else{const ce=k.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,fe=D.__webglDepthbuffer[re];n.bindRenderbuffer(n.RENDERBUFFER,fe),n.framebufferRenderbuffer(n.FRAMEBUFFER,ce,n.RENDERBUFFER,fe)}}else if(t.bindFramebuffer(n.FRAMEBUFFER,D.__webglFramebuffer),D.__webglDepthbuffer===void 0)D.__webglDepthbuffer=n.createRenderbuffer(),Z(D.__webglDepthbuffer,k,!1);else{const re=k.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,ce=D.__webglDepthbuffer;n.bindRenderbuffer(n.RENDERBUFFER,ce),n.framebufferRenderbuffer(n.FRAMEBUFFER,re,n.RENDERBUFFER,ce)}t.bindFramebuffer(n.FRAMEBUFFER,null)}function be(k,D,ne){const re=i.get(k);D!==void 0&&Fe(re.__webglFramebuffer,k,k.texture,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,0),ne!==void 0&&we(k)}function qe(k){const D=k.texture,ne=i.get(k),re=i.get(D);k.addEventListener("dispose",I);const ce=k.textures,fe=k.isWebGLCubeRenderTarget===!0,Pe=ce.length>1;if(Pe||(re.__webglTexture===void 0&&(re.__webglTexture=n.createTexture()),re.__version=D.version,o.memory.textures++),fe){ne.__webglFramebuffer=[];for(let Le=0;Le<6;Le++)if(D.mipmaps&&D.mipmaps.length>0){ne.__webglFramebuffer[Le]=[];for(let Oe=0;Oe<D.mipmaps.length;Oe++)ne.__webglFramebuffer[Le][Oe]=n.createFramebuffer()}else ne.__webglFramebuffer[Le]=n.createFramebuffer()}else{if(D.mipmaps&&D.mipmaps.length>0){ne.__webglFramebuffer=[];for(let Le=0;Le<D.mipmaps.length;Le++)ne.__webglFramebuffer[Le]=n.createFramebuffer()}else ne.__webglFramebuffer=n.createFramebuffer();if(Pe)for(let Le=0,Oe=ce.length;Le<Oe;Le++){const dt=i.get(ce[Le]);dt.__webglTexture===void 0&&(dt.__webglTexture=n.createTexture(),o.memory.textures++)}if(k.samples>0&&$(k)===!1){ne.__webglMultisampledFramebuffer=n.createFramebuffer(),ne.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,ne.__webglMultisampledFramebuffer);for(let Le=0;Le<ce.length;Le++){const Oe=ce[Le];ne.__webglColorRenderbuffer[Le]=n.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,ne.__webglColorRenderbuffer[Le]);const dt=s.convert(Oe.format,Oe.colorSpace),Be=s.convert(Oe.type),He=b(Oe.internalFormat,dt,Be,Oe.colorSpace,k.isXRRenderTarget===!0),Xe=ve(k);n.renderbufferStorageMultisample(n.RENDERBUFFER,Xe,He,k.width,k.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+Le,n.RENDERBUFFER,ne.__webglColorRenderbuffer[Le])}n.bindRenderbuffer(n.RENDERBUFFER,null),k.depthBuffer&&(ne.__webglDepthRenderbuffer=n.createRenderbuffer(),Z(ne.__webglDepthRenderbuffer,k,!0)),t.bindFramebuffer(n.FRAMEBUFFER,null)}}if(fe){t.bindTexture(n.TEXTURE_CUBE_MAP,re.__webglTexture),Ie(n.TEXTURE_CUBE_MAP,D);for(let Le=0;Le<6;Le++)if(D.mipmaps&&D.mipmaps.length>0)for(let Oe=0;Oe<D.mipmaps.length;Oe++)Fe(ne.__webglFramebuffer[Le][Oe],k,D,n.COLOR_ATTACHMENT0,n.TEXTURE_CUBE_MAP_POSITIVE_X+Le,Oe);else Fe(ne.__webglFramebuffer[Le],k,D,n.COLOR_ATTACHMENT0,n.TEXTURE_CUBE_MAP_POSITIVE_X+Le,0);A(D)&&y(n.TEXTURE_CUBE_MAP),t.unbindTexture()}else if(Pe){for(let Le=0,Oe=ce.length;Le<Oe;Le++){const dt=ce[Le],Be=i.get(dt);t.bindTexture(n.TEXTURE_2D,Be.__webglTexture),Ie(n.TEXTURE_2D,dt),Fe(ne.__webglFramebuffer,k,dt,n.COLOR_ATTACHMENT0+Le,n.TEXTURE_2D,0),A(dt)&&y(n.TEXTURE_2D)}t.unbindTexture()}else{let Le=n.TEXTURE_2D;if((k.isWebGL3DRenderTarget||k.isWebGLArrayRenderTarget)&&(Le=k.isWebGL3DRenderTarget?n.TEXTURE_3D:n.TEXTURE_2D_ARRAY),t.bindTexture(Le,re.__webglTexture),Ie(Le,D),D.mipmaps&&D.mipmaps.length>0)for(let Oe=0;Oe<D.mipmaps.length;Oe++)Fe(ne.__webglFramebuffer[Oe],k,D,n.COLOR_ATTACHMENT0,Le,Oe);else Fe(ne.__webglFramebuffer,k,D,n.COLOR_ATTACHMENT0,Le,0);A(D)&&y(Le),t.unbindTexture()}k.depthBuffer&&we(k)}function rt(k){const D=k.textures;for(let ne=0,re=D.length;ne<re;ne++){const ce=D[ne];if(A(ce)){const fe=x(k),Pe=i.get(ce).__webglTexture;t.bindTexture(fe,Pe),y(fe),t.unbindTexture()}}}const q=[],B=[];function le(k){if(k.samples>0){if($(k)===!1){const D=k.textures,ne=k.width,re=k.height;let ce=n.COLOR_BUFFER_BIT;const fe=k.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Pe=i.get(k),Le=D.length>1;if(Le)for(let Oe=0;Oe<D.length;Oe++)t.bindFramebuffer(n.FRAMEBUFFER,Pe.__webglMultisampledFramebuffer),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+Oe,n.RENDERBUFFER,null),t.bindFramebuffer(n.FRAMEBUFFER,Pe.__webglFramebuffer),n.framebufferTexture2D(n.DRAW_FRAMEBUFFER,n.COLOR_ATTACHMENT0+Oe,n.TEXTURE_2D,null,0);t.bindFramebuffer(n.READ_FRAMEBUFFER,Pe.__webglMultisampledFramebuffer),t.bindFramebuffer(n.DRAW_FRAMEBUFFER,Pe.__webglFramebuffer);for(let Oe=0;Oe<D.length;Oe++){if(k.resolveDepthBuffer&&(k.depthBuffer&&(ce|=n.DEPTH_BUFFER_BIT),k.stencilBuffer&&k.resolveStencilBuffer&&(ce|=n.STENCIL_BUFFER_BIT)),Le){n.framebufferRenderbuffer(n.READ_FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.RENDERBUFFER,Pe.__webglColorRenderbuffer[Oe]);const dt=i.get(D[Oe]).__webglTexture;n.framebufferTexture2D(n.DRAW_FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,dt,0)}n.blitFramebuffer(0,0,ne,re,0,0,ne,re,ce,n.NEAREST),l===!0&&(q.length=0,B.length=0,q.push(n.COLOR_ATTACHMENT0+Oe),k.depthBuffer&&k.resolveDepthBuffer===!1&&(q.push(fe),B.push(fe),n.invalidateFramebuffer(n.DRAW_FRAMEBUFFER,B)),n.invalidateFramebuffer(n.READ_FRAMEBUFFER,q))}if(t.bindFramebuffer(n.READ_FRAMEBUFFER,null),t.bindFramebuffer(n.DRAW_FRAMEBUFFER,null),Le)for(let Oe=0;Oe<D.length;Oe++){t.bindFramebuffer(n.FRAMEBUFFER,Pe.__webglMultisampledFramebuffer),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+Oe,n.RENDERBUFFER,Pe.__webglColorRenderbuffer[Oe]);const dt=i.get(D[Oe]).__webglTexture;t.bindFramebuffer(n.FRAMEBUFFER,Pe.__webglFramebuffer),n.framebufferTexture2D(n.DRAW_FRAMEBUFFER,n.COLOR_ATTACHMENT0+Oe,n.TEXTURE_2D,dt,0)}t.bindFramebuffer(n.DRAW_FRAMEBUFFER,Pe.__webglMultisampledFramebuffer)}else if(k.depthBuffer&&k.resolveDepthBuffer===!1&&l){const D=k.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT;n.invalidateFramebuffer(n.DRAW_FRAMEBUFFER,[D])}}}function ve(k){return Math.min(r.maxSamples,k.samples)}function $(k){const D=i.get(k);return k.samples>0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&D.__useRenderToTexture!==!1}function de(k){const D=o.render.frame;u.get(k)!==D&&(u.set(k,D),k.update())}function De(k,D){const ne=k.colorSpace,re=k.format,ce=k.type;return k.isCompressedTexture===!0||k.isVideoTexture===!0||ne!==mi&&ne!==qo&&(Xt.getTransfer(ne)===yn?(re!==pi||ce!==Ki)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",ne)),D}function xe(k){return typeof HTMLImageElement<"u"&&k instanceof HTMLImageElement?(c.width=k.naturalWidth||k.width,c.height=k.naturalHeight||k.height):typeof VideoFrame<"u"&&k instanceof VideoFrame?(c.width=k.displayWidth,c.height=k.displayHeight):(c.width=k.width,c.height=k.height),c}this.allocateTextureUnit=z,this.resetTextureUnits=L,this.setTexture2D=j,this.setTexture2DArray=N,this.setTexture3D=Q,this.setTextureCube=W,this.rebindTextures=be,this.setupRenderTarget=qe,this.updateRenderTargetMipmap=rt,this.updateMultisampleRenderTarget=le,this.setupDepthRenderbuffer=we,this.setupFrameBufferTexture=Fe,this.useMultisampledRTT=$}function kne(n,e){function t(i,r=qo){let s;const o=Xt.getTransfer(r);if(i===Ki)return n.UNSIGNED_BYTE;if(i===Xx)return n.UNSIGNED_SHORT_4_4_4_4;if(i===Yx)return n.UNSIGNED_SHORT_5_5_5_1;if(i===kI)return n.UNSIGNED_INT_5_9_9_9_REV;if(i===UI)return n.BYTE;if(i===NI)return n.SHORT;if(i===$0)return n.UNSIGNED_SHORT;if(i===qx)return n.INT;if(i===Pu)return n.UNSIGNED_INT;if(i===Zt)return n.FLOAT;if(i===nn)return n.HALF_FLOAT;if(i===zI)return n.ALPHA;if(i===HI)return n.RGB;if(i===pi)return n.RGBA;if(i===VI)return n.LUMINANCE;if(i===GI)return n.LUMINANCE_ALPHA;if(i===td)return n.DEPTH_COMPONENT;if(i===Td)return n.DEPTH_STENCIL;if(i===kl)return n.RED;if(i===$x)return n.RED_INTEGER;if(i===ou)return n.RG;if(i===Kx)return n.RG_INTEGER;if(i===Zx)return n.RGBA_INTEGER;if(i===K1||i===x0||i===Z1||i===C0)if(o===yn)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(i===K1)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(i===x0)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(i===Z1)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(i===C0)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(i===K1)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(i===x0)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(i===Z1)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(i===C0)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(i===Og||i===lb||i===Fg||i===cb)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(i===Og)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(i===lb)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(i===Fg)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(i===cb)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(i===Ug||i===Ng||i===kg)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(i===Ug||i===Ng)return o===yn?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(i===kg)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(i===K0||i===ub||i===fb||i===db||i===Z0||i===hb||i===pb||i===mb||i===gb||i===Ab||i===vb||i===yb||i===_b||i===bb)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(i===K0)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(i===ub)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(i===fb)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(i===db)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(i===Z0)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(i===hb)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(i===pb)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(i===mb)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(i===gb)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(i===Ab)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(i===vb)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(i===yb)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(i===_b)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(i===bb)return o===yn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(i===w0||i===xb||i===zg)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(i===w0)return o===yn?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(i===xb)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(i===zg)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(i===QI||i===Cb||i===wb||i===Sb)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(i===w0)return s.COMPRESSED_RED_RGT
vendor: 9,995 bytes, lines 3877-3901
3877C1_EXT;if(i===Cb)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(i===wb)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(i===Sb)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return i===Ed?n.UNSIGNED_INT_24_8:n[i]!==void 0?n[i]:null}return{convert:t}}const zne=`
3878void main() {
3879
3880	gl_Position = vec4( position, 1.0 );
3881
3882}`,Hne=`
3883uniform sampler2DArray depthColor;
3884uniform float depthWidth;
3885uniform float depthHeight;
3886
3887void main() {
3888
3889	vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight );
3890
3891	if ( coord.x >= 1.0 ) {
3892
3893		gl_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r;
3894
3895	} else {
3896
3897		gl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r;
3898
3899	}
3900
3901}`;class Vne{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,i){if(this.texture===null){const r=new xn,s=e.properties.get(r);s.__webglTexture=t.texture,(t.depthNear!==i.depthNear||t.depthFar!==i.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=r}}getMesh(e){if(this.texture!==null&&this.mesh===null){const t=e.cameras[0].viewport,i=new Cn({vertexShader:zne,fragmentShader:Hne,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new Qe(new lo(20,20),i)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}}class Gne extends ac{constructor(e,t){super();const i=this;let r=null,s=1,o=null,a="local-floor",l=1,c=null,u=null,f=null,h=null,p=null,m=null;const v=new Vne,A=t.getContextAttributes();let y=null,x=null;const b=[],_=[],T=new Re;let M=null;const I=new Zi;I.viewport=new Vt;const R=new Zi;R.viewport=new Vt;const w=[I,R],E=new eZ;let F=null,L=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(oe){let _e=b[oe];return _e===void 0&&(_e=new w3,b[oe]=_e),_e.getTargetRaySpace()},this.getControllerGrip=function(oe){let _e=b[oe];return _e===void 0&&(_e=new w3,b[oe]=_e),_e.getGripSpace()},this.getHand=function(oe){let _e=b[oe];return _e===void 0&&(_e=new w3,b[oe]=_e),_e.getHandSpace()};function z(oe){const _e=_.indexOf(oe.inputSource);if(_e===-1)return;const Fe=b[_e];Fe!==void 0&&(Fe.update(oe.inputSource,oe.frame,c||o),Fe.dispatchEvent({type:oe.type,data:oe.inputSource}))}function V(){r.removeEventListener("select",z),r.removeEventListener("selectstart",z),r.removeEventListener("selectend",z),r.removeEventListener("squeeze",z),r.removeEventListener("squeezestart",z),r.removeEventListener("squeezeend",z),r.removeEventListener("end",V),r.removeEventListener("inputsourceschange",j);for(let oe=0;oe<b.length;oe++){const _e=_[oe];_e!==null&&(_[oe]=null,b[oe].disconnect(_e))}F=null,L=null,v.reset(),e.setRenderTarget(y),p=null,h=null,f=null,r=null,x=null,ze.stop(),i.isPresenting=!1,e.setPixelRatio(M),e.setSize(T.width,T.height,!1),i.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(oe){s=oe,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(oe){a=oe,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return c||o},this.setReferenceSpace=function(oe){c=oe},this.getBaseLayer=function(){return h!==null?h:p},this.getBinding=function(){return f},this.getFrame=function(){return m},this.getSession=function(){return r},this.setSession=async function(oe){if(r=oe,r!==null){if(y=e.getRenderTarget(),r.addEventListener("select",z),r.addEventListener("selectstart",z),r.addEventListener("selectend",z),r.addEventListener("squeeze",z),r.addEventListener("squeezestart",z),r.addEventListener("squeezeend",z),r.addEventListener("end",V),r.addEventListener("inputsourceschange",j),A.xrCompatible!==!0&&await t.makeXRCompatible(),M=e.getPixelRatio(),e.getSize(T),typeof XRWebGLBinding<"u"&&"createProjectionLayer"in XRWebGLBinding.prototype){let Fe=null,Z=null,Ae=null;A.depth&&(Ae=A.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,Fe=A.stencil?Td:td,Z=A.stencil?Ed:Pu);const we={colorFormat:t.RGBA8,depthFormat:Ae,scaleFactor:s};f=new XRWebGLBinding(r,t),h=f.createProjectionLayer(we),r.updateRenderState({layers:[h]}),e.setPixelRatio(1),e.setSize(h.textureWidth,h.textureHeight,!1),x=new li(h.textureWidth,h.textureHeight,{format:pi,type:Ki,depthTexture:new aP(h.textureWidth,h.textureHeight,Z,void 0,void 0,void 0,void 0,void 0,void 0,Fe),stencilBuffer:A.stencil,colorSpace:e.outputColorSpace,samples:A.antialias?4:0,resolveDepthBuffer:h.ignoreDepthValues===!1})}else{const Fe={antialias:A.antialias,alpha:!0,depth:A.depth,stencil:A.stencil,framebufferScaleFactor:s};p=new XRWebGLLayer(r,t,Fe),r.updateRenderState({baseLayer:p}),e.setPixelRatio(1),e.setSize(p.framebufferWidth,p.framebufferHeight,!1),x=new li(p.framebufferWidth,p.framebufferHeight,{format:pi,type:Ki,colorSpace:e.outputColorSpace,stencilBuffer:A.stencil})}x.isXRRenderTarget=!0,this.setFoveation(l),c=null,o=await r.requestReferenceSpace(a),ze.setContext(r),ze.start(),i.isPresenting=!0,i.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(r!==null)return r.environmentBlendMode},this.getDepthTexture=function(){return v.getDepthTexture()};function j(oe){for(let _e=0;_e<oe.removed.length;_e++){const Fe=oe.removed[_e],Z=_.indexOf(Fe);Z>=0&&(_[Z]=null,b[Z].disconnect(Fe))}for(let _e=0;_e<oe.added.length;_e++){const Fe=oe.added[_e];let Z=_.indexOf(Fe);if(Z===-1){for(let we=0;we<b.length;we++)if(we>=_.length){_.push(Fe),Z=we;break}else if(_[we]===null){_[we]=Fe,Z=we;break}if(Z===-1)break}const Ae=b[Z];Ae&&Ae.connect(Fe)}}const N=new K,Q=new K;function W(oe,_e,Fe){N.setFromMatrixPosition(_e.matrixWorld),Q.setFromMatrixPosition(Fe.matrixWorld);const Z=N.distanceTo(Q),Ae=_e.projectionMatrix.elements,we=Fe.projectionMatrix.elements,be=Ae[14]/(Ae[10]-1),qe=Ae[14]/(Ae[10]+1),rt=(Ae[9]+1)/Ae[5],q=(Ae[9]-1)/Ae[5],B=(Ae[8]-1)/Ae[0],le=(we[8]+1)/we[0],ve=be*B,$=be*le,de=Z/(-B+le),De=de*-B;if(_e.matrixWorld.decompose(oe.position,oe.quaternion,oe.scale),oe.translateX(De),oe.translateZ(de),oe.matrixWorld.compose(oe.position,oe.quaternion,oe.scale),oe.matrixWorldInverse.copy(oe.matrixWorld).invert(),Ae[10]===-1)oe.projectionMatrix.copy(_e.projectionMatrix),oe.projectionMatrixInverse.copy(_e.projectionMatrixInverse);else{const xe=be+de,k=qe+de,D=ve-De,ne=$+(Z-De),re=rt*qe/k*xe,ce=q*qe/k*xe;oe.projectionMatrix.makePerspective(D,ne,re,ce,xe,k),oe.projectionMatrixInverse.copy(oe.projectionMatrix).invert()}}function ee(oe,_e){_e===null?oe.matrixWorld.copy(oe.matrix):oe.matrixWorld.multiplyMatrices(_e.matrixWorld,oe.matrix),oe.matrixWorldInverse.copy(oe.matrixWorld).invert()}this.updateCamera=function(oe){if(r===null)return;let _e=oe.near,Fe=oe.far;v.texture!==null&&(v.depthNear>0&&(_e=v.depthNear),v.depthFar>0&&(Fe=v.depthFar)),E.near=R.near=I.near=_e,E.far=R.far=I.far=Fe,(F!==E.near||L!==E.far)&&(r.updateRenderState({depthNear:E.near,depthFar:E.far}),F=E.near,L=E.far),I.layers.mask=oe.layers.mask|2,R.layers.mask=oe.layers.mask|4,E.layers.mask=I.layers.mask|R.layers.mask;const Z=oe.parent,Ae=E.cameras;ee(E,Z);for(let we=0;we<Ae.length;we++)ee(Ae[we],Z);Ae.length===2?W(E,I,R):E.projectionMatrix.copy(I.projectionMatrix),H(oe,E,Z)};function H(oe,_e,Fe){Fe===null?oe.matrix.copy(_e.matrixWorld):(oe.matrix.copy(Fe.matrixWorld),oe.matrix.invert(),oe.matrix.multiply(_e.matrixWorld)),oe.matrix.decompose(oe.position,oe.quaternion,oe.scale),oe.updateMatrixWorld(!0),oe.projectionMatrix.copy(_e.projectionMatrix),oe.projectionMatrixInverse.copy(_e.projectionMatrixInverse),oe.isPerspectiveCamera&&(oe.fov=Md*2*Math.atan(1/oe.projectionMatrix.elements[5]),oe.zoom=1)}this.getCamera=function(){return E},this.getFoveation=function(){if(!(h===null&&p===null))return l},this.setFoveation=function(oe){l=oe,h!==null&&(h.fixedFoveation=oe),p!==null&&p.fixedFoveation!==void 0&&(p.fixedFoveation=oe)},this.hasDepthSensing=function(){return v.texture!==null},this.getDepthSensingMesh=function(){return v.getMesh(E)};let ye=null;function Ie(oe,_e){if(u=_e.getViewerPose(c||o),m=_e,u!==null){const Fe=u.views;p!==null&&(e.setRenderTargetFramebuffer(x,p.framebuffer),e.setRenderTarget(x));let Z=!1;Fe.length!==E.cameras.length&&(E.cameras.length=0,Z=!0);for(let be=0;be<Fe.length;be++){const qe=Fe[be];let rt=null;if(p!==null)rt=p.getViewport(qe);else{const B=f.getViewSubImage(h,qe);rt=B.viewport,be===0&&(e.setRenderTargetTextures(x,B.colorTexture,h.ignoreDepthValues?void 0:B.depthStencilTexture),e.setRenderTarget(x))}let q=w[be];q===void 0&&(q=new Zi,q.layers.enable(be),q.viewport=new Vt,w[be]=q),q.matrix.fromArray(qe.transform.matrix),q.matrix.decompose(q.position,q.quaternion,q.scale),q.projectionMatrix.fromArray(qe.projectionMatrix),q.projectionMatrixInverse.copy(q.projectionMatrix).invert(),q.viewport.set(rt.x,rt.y,rt.width,rt.height),be===0&&(E.matrix.copy(q.matrix),E.matrix.decompose(E.position,E.quaternion,E.scale)),Z===!0&&E.cameras.push(q)}const Ae=r.enabledFeatures;if(Ae&&Ae.includes("depth-sensing")&&r.depthUsage=="gpu-optimized"&&f){const be=f.getDepthInformation(Fe[0]);be&&be.isValid&&be.texture&&v.init(e,be,r.renderState)}}for(let Fe=0;Fe<b.length;Fe++){const Z=_[Fe],Ae=b[Fe];Z!==null&&Ae!==void 0&&Ae.update(Z,_e,c||o)}ye&&ye(oe,_e),_e.detectedPlanes&&i.dispatchEvent({type:"planesdetected",data:_e}),m=null}const ze=new mP;ze.setAnimationLoop(Ie),this.setAnimationLoop=function(oe){ye=oe},this.dispose=function(){}}}const Qc=new Pi,Qne=new Ct;function Wne(n,e){function t(A,y){A.matrixAutoUpdate===!0&&A.updateMatrix(),y.value.copy(A.matrix)}function i(A,y){y.color.getRGB(A.fogColor.value,tP(n)),y.isFog?(A.fogNear.value=y.near,A.fogFar.value=y.far):y.isFogExp2&&(A.fogDensity.value=y.density)}function r(A,y,x,b,_){y.isMeshBasicMaterial||y.isMeshLambertMaterial?s(A,y):y.isMeshToonMaterial?(s(A,y),f(A,y)):y.isMeshPhongMaterial?(s(A,y),u(A,y)):y.isMeshStandardMaterial?(s(A,y),h(A,y),y.isMeshPhysicalMaterial&&p(A,y,_)):y.isMeshMat
vendor: 42,236 bytes, line 3901
3901capMaterial?(s(A,y),m(A,y)):y.isMeshDepthMaterial?s(A,y):y.isMeshDistanceMaterial?(s(A,y),v(A,y)):y.isMeshNormalMaterial?s(A,y):y.isLineBasicMaterial?(o(A,y),y.isLineDashedMaterial&&a(A,y)):y.isPointsMaterial?l(A,y,x,b):y.isSpriteMaterial?c(A,y):y.isShadowMaterial?(A.color.value.copy(y.color),A.opacity.value=y.opacity):y.isShaderMaterial&&(y.uniformsNeedUpdate=!1)}function s(A,y){A.opacity.value=y.opacity,y.color&&A.diffuse.value.copy(y.color),y.emissive&&A.emissive.value.copy(y.emissive).multiplyScalar(y.emissiveIntensity),y.map&&(A.map.value=y.map,t(y.map,A.mapTransform)),y.alphaMap&&(A.alphaMap.value=y.alphaMap,t(y.alphaMap,A.alphaMapTransform)),y.bumpMap&&(A.bumpMap.value=y.bumpMap,t(y.bumpMap,A.bumpMapTransform),A.bumpScale.value=y.bumpScale,y.side===Rr&&(A.bumpScale.value*=-1)),y.normalMap&&(A.normalMap.value=y.normalMap,t(y.normalMap,A.normalMapTransform),A.normalScale.value.copy(y.normalScale),y.side===Rr&&A.normalScale.value.negate()),y.displacementMap&&(A.displacementMap.value=y.displacementMap,t(y.displacementMap,A.displacementMapTransform),A.displacementScale.value=y.displacementScale,A.displacementBias.value=y.displacementBias),y.emissiveMap&&(A.emissiveMap.value=y.emissiveMap,t(y.emissiveMap,A.emissiveMapTransform)),y.specularMap&&(A.specularMap.value=y.specularMap,t(y.specularMap,A.specularMapTransform)),y.alphaTest>0&&(A.alphaTest.value=y.alphaTest);const x=e.get(y),b=x.envMap,_=x.envMapRotation;b&&(A.envMap.value=b,Qc.copy(_),Qc.x*=-1,Qc.y*=-1,Qc.z*=-1,b.isCubeTexture&&b.isRenderTargetTexture===!1&&(Qc.y*=-1,Qc.z*=-1),A.envMapRotation.value.setFromMatrix4(Qne.makeRotationFromEuler(Qc)),A.flipEnvMap.value=b.isCubeTexture&&b.isRenderTargetTexture===!1?-1:1,A.reflectivity.value=y.reflectivity,A.ior.value=y.ior,A.refractionRatio.value=y.refractionRatio),y.lightMap&&(A.lightMap.value=y.lightMap,A.lightMapIntensity.value=y.lightMapIntensity,t(y.lightMap,A.lightMapTransform)),y.aoMap&&(A.aoMap.value=y.aoMap,A.aoMapIntensity.value=y.aoMapIntensity,t(y.aoMap,A.aoMapTransform))}function o(A,y){A.diffuse.value.copy(y.color),A.opacity.value=y.opacity,y.map&&(A.map.value=y.map,t(y.map,A.mapTransform))}function a(A,y){A.dashSize.value=y.dashSize,A.totalSize.value=y.dashSize+y.gapSize,A.scale.value=y.scale}function l(A,y,x,b){A.diffuse.value.copy(y.color),A.opacity.value=y.opacity,A.size.value=y.size*x,A.scale.value=b*.5,y.map&&(A.map.value=y.map,t(y.map,A.uvTransform)),y.alphaMap&&(A.alphaMap.value=y.alphaMap,t(y.alphaMap,A.alphaMapTransform)),y.alphaTest>0&&(A.alphaTest.value=y.alphaTest)}function c(A,y){A.diffuse.value.copy(y.color),A.opacity.value=y.opacity,A.rotation.value=y.rotation,y.map&&(A.map.value=y.map,t(y.map,A.mapTransform)),y.alphaMap&&(A.alphaMap.value=y.alphaMap,t(y.alphaMap,A.alphaMapTransform)),y.alphaTest>0&&(A.alphaTest.value=y.alphaTest)}function u(A,y){A.specular.value.copy(y.specular),A.shininess.value=Math.max(y.shininess,1e-4)}function f(A,y){y.gradientMap&&(A.gradientMap.value=y.gradientMap)}function h(A,y){A.metalness.value=y.metalness,y.metalnessMap&&(A.metalnessMap.value=y.metalnessMap,t(y.metalnessMap,A.metalnessMapTransform)),A.roughness.value=y.roughness,y.roughnessMap&&(A.roughnessMap.value=y.roughnessMap,t(y.roughnessMap,A.roughnessMapTransform)),y.envMap&&(A.envMapIntensity.value=y.envMapIntensity)}function p(A,y,x){A.ior.value=y.ior,y.sheen>0&&(A.sheenColor.value.copy(y.sheenColor).multiplyScalar(y.sheen),A.sheenRoughness.value=y.sheenRoughness,y.sheenColorMap&&(A.sheenColorMap.value=y.sheenColorMap,t(y.sheenColorMap,A.sheenColorMapTransform)),y.sheenRoughnessMap&&(A.sheenRoughnessMap.value=y.sheenRoughnessMap,t(y.sheenRoughnessMap,A.sheenRoughnessMapTransform))),y.clearcoat>0&&(A.clearcoat.value=y.clearcoat,A.clearcoatRoughness.value=y.clearcoatRoughness,y.clearcoatMap&&(A.clearcoatMap.value=y.clearcoatMap,t(y.clearcoatMap,A.clearcoatMapTransform)),y.clearcoatRoughnessMap&&(A.clearcoatRoughnessMap.value=y.clearcoatRoughnessMap,t(y.clearcoatRoughnessMap,A.clearcoatRoughnessMapTransform)),y.clearcoatNormalMap&&(A.clearcoatNormalMap.value=y.clearcoatNormalMap,t(y.clearcoatNormalMap,A.clearcoatNormalMapTransform),A.clearcoatNormalScale.value.copy(y.clearcoatNormalScale),y.side===Rr&&A.clearcoatNormalScale.value.negate())),y.dispersion>0&&(A.dispersion.value=y.dispersion),y.iridescence>0&&(A.iridescence.value=y.iridescence,A.iridescenceIOR.value=y.iridescenceIOR,A.iridescenceThicknessMinimum.value=y.iridescenceThicknessRange[0],A.iridescenceThicknessMaximum.value=y.iridescenceThicknessRange[1],y.iridescenceMap&&(A.iridescenceMap.value=y.iridescenceMap,t(y.iridescenceMap,A.iridescenceMapTransform)),y.iridescenceThicknessMap&&(A.iridescenceThicknessMap.value=y.iridescenceThicknessMap,t(y.iridescenceThicknessMap,A.iridescenceThicknessMapTransform))),y.transmission>0&&(A.transmission.value=y.transmission,A.transmissionSamplerMap.value=x.texture,A.transmissionSamplerSize.value.set(x.width,x.height),y.transmissionMap&&(A.transmissionMap.value=y.transmissionMap,t(y.transmissionMap,A.transmissionMapTransform)),A.thickness.value=y.thickness,y.thicknessMap&&(A.thicknessMap.value=y.thicknessMap,t(y.thicknessMap,A.thicknessMapTransform)),A.attenuationDistance.value=y.attenuationDistance,A.attenuationColor.value.copy(y.attenuationColor)),y.anisotropy>0&&(A.anisotropyVector.value.set(y.anisotropy*Math.cos(y.anisotropyRotation),y.anisotropy*Math.sin(y.anisotropyRotation)),y.anisotropyMap&&(A.anisotropyMap.value=y.anisotropyMap,t(y.anisotropyMap,A.anisotropyMapTransform))),A.specularIntensity.value=y.specularIntensity,A.specularColor.value.copy(y.specularColor),y.specularColorMap&&(A.specularColorMap.value=y.specularColorMap,t(y.specularColorMap,A.specularColorMapTransform)),y.specularIntensityMap&&(A.specularIntensityMap.value=y.specularIntensityMap,t(y.specularIntensityMap,A.specularIntensityMapTransform))}function m(A,y){y.matcap&&(A.matcap.value=y.matcap)}function v(A,y){const x=e.get(y).light;A.referencePosition.value.setFromMatrixPosition(x.matrixWorld),A.nearDistance.value=x.shadow.camera.near,A.farDistance.value=x.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function jne(n,e,t,i){let r={},s={},o=[];const a=n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS);function l(x,b){const _=b.program;i.uniformBlockBinding(x,_)}function c(x,b){let _=r[x.id];_===void 0&&(m(x),_=u(x),r[x.id]=_,x.addEventListener("dispose",A));const T=b.program;i.updateUBOMapping(x,T);const M=e.render.frame;s[x.id]!==M&&(h(x),s[x.id]=M)}function u(x){const b=f();x.__bindingPointIndex=b;const _=n.createBuffer(),T=x.__size,M=x.usage;return n.bindBuffer(n.UNIFORM_BUFFER,_),n.bufferData(n.UNIFORM_BUFFER,T,M),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,b,_),_}function f(){for(let x=0;x<a;x++)if(o.indexOf(x)===-1)return o.push(x),x;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}function h(x){const b=r[x.id],_=x.uniforms,T=x.__cache;n.bindBuffer(n.UNIFORM_BUFFER,b);for(let M=0,I=_.length;M<I;M++){const R=Array.isArray(_[M])?_[M]:[_[M]];for(let w=0,E=R.length;w<E;w++){const F=R[w];if(p(F,M,w,T)===!0){const L=F.__offset,z=Array.isArray(F.value)?F.value:[F.value];let V=0;for(let j=0;j<z.length;j++){const N=z[j],Q=v(N);typeof N=="number"||typeof N=="boolean"?(F.__data[0]=N,n.bufferSubData(n.UNIFORM_BUFFER,L+V,F.__data)):N.isMatrix3?(F.__data[0]=N.elements[0],F.__data[1]=N.elements[1],F.__data[2]=N.elements[2],F.__data[3]=0,F.__data[4]=N.elements[3],F.__data[5]=N.elements[4],F.__data[6]=N.elements[5],F.__data[7]=0,F.__data[8]=N.elements[6],F.__data[9]=N.elements[7],F.__data[10]=N.elements[8],F.__data[11]=0):(N.toArray(F.__data,V),V+=Q.storage/Float32Array.BYTES_PER_ELEMENT)}n.bufferSubData(n.UNIFORM_BUFFER,L,F.__data)}}}n.bindBuffer(n.UNIFORM_BUFFER,null)}function p(x,b,_,T){const M=x.value,I=b+"_"+_;if(T[I]===void 0)return typeof M=="number"||typeof M=="boolean"?T[I]=M:T[I]=M.clone(),!0;{const R=T[I];if(typeof M=="number"||typeof M=="boolean"){if(R!==M)return T[I]=M,!0}else if(R.equals(M)===!1)return R.copy(M),!0}return!1}function m(x){const b=x.uniforms;let _=0;const T=16;for(let I=0,R=b.length;I<R;I++){const w=Array.isArray(b[I])?b[I]:[b[I]];for(let E=0,F=w.length;E<F;E++){const L=w[E],z=Array.isArray(L.value)?L.value:[L.value];for(let V=0,j=z.length;V<j;V++){const N=z[V],Q=v(N),W=_%T,ee=W%Q.boundary,H=W+ee;_+=ee,H!==0&&T-H<Q.storage&&(_+=T-H),L.__data=new Float32Array(Q.storage/Float32Array.BYTES_PER_ELEMENT),L.__offset=_,_+=Q.storage}}}const M=_%T;return M>0&&(_+=T-M),x.__size=_,x.__cache={},this}function v(x){const b={boundary:0,storage:0};return typeof x=="number"||typeof x=="boolean"?(b.boundary=4,b.storage=4):x.isVector2?(b.boundary=8,b.storage=8):x.isVector3||x.isColor?(b.boundary=16,b.storage=12):x.isVector4?(b.boundary=16,b.storage=16):x.isMatrix3?(b.boundary=48,b.storage=48):x.isMatrix4?(b.boundary=64,b.storage=64):x.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",x),b}function A(x){const b=x.target;b.removeEventListener("dispose",A);const _=o.indexOf(b.__bindingPointIndex);o.splice(_,1),n.deleteBuffer(r[b.id]),delete r[b.id],delete s[b.id]}function y(){for(const x in r)n.deleteBuffer(r[x]);o=[],r={},s={}}return{bind:l,update:c,dispose:y}}class qne{constructor(e={}){const{canvas:t=Q$(),context:i=null,depth:r=!0,stencil:s=!1,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:c=!1,powerPreference:u="default",failIfMajorPerformanceCaveat:f=!1,reverseDepthBuffer:h=!1}=e;this.isWebGLRenderer=!0;let p;if(i!==null){if(typeof WebGLRenderingContext<"u"&&i instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");p=i.getContextAttributes().alpha}else p=o;const m=new Uint32Array(4),v=new Int32Array(4);let A=null,y=null;const x=[],b=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=En,this.toneMapping=Xl,this.toneMappingExposure=1;const _=this;let T=!1,M=0,I=0,R=null,w=-1,E=null;const F=new Vt,L=new Vt;let z=null;const V=new ke(0);let j=0,N=t.width,Q=t.height,W=1,ee=null,H=null;const ye=new Vt(0,0,N,Q),Ie=new Vt(0,0,N,Q);let ze=!1;const oe=new r4;let _e=!1,Fe=!1;this.transmissionResolutionScale=1;const Z=new Ct,Ae=new Ct,we=new K,be=new Vt,qe={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let rt=!1;function q(){return R===null?W:1}let B=i;function le(G,ae){return t.getContext(G,ae)}try{const G={alpha:!0,depth:r,stencil:s,antialias:a,premultipliedAlpha:l,preserveDrawingBuffer:c,powerPreference:u,failIfMajorPerformanceCaveat:f};if("setAttribute"in t&&t.setAttribute("data-engine",`three.js r${Qx}`),t.addEventListener("webglcontextlost",Me,!1),t.addEventListener("webglcontextrestored",je,!1),t.addEventListener("webglcontextcreationerror",Ye,!1),B===null){const ae="webgl2";if(B=le(ae,G),B===null)throw le(ae)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(G){throw console.error("THREE.WebGLRenderer: "+G.message),G}let ve,$,de,De,xe,k,D,ne,re,ce,fe,Pe,Le,Oe,dt,Be,He,Xe,st,et,mt,lt,Rt,te;function We(){ve=new ite(B),ve.init(),lt=new kne(B,ve),$=new Kee(B,ve,e,lt),de=new Une(B,ve),$.reverseDepthBuffer&&h&&de.buffers.depth.setReversed(!0),De=new ote(B),xe=new wne,k=new Nne(B,ve,de,xe,$,lt,De),D=new Jee(_),ne=new nte(_),re=new hZ(B),Rt=new Yee(B,re),ce=new rte(B,re,De,Rt),fe=new lte(B,ce,re,De),st=new ate(B,$,k),Be=new Zee(xe),Pe=new Cne(_,D,ne,ve,$,Rt,Be),Le=new Wne(_,xe),Oe=new Ene,dt=new Bne(ve),Xe=new Xee(_,D,ne,de,fe,p,l),He=new One(_,fe,$),te=new jne(B,De,$,de),et=new $ee(B,ve,De),mt=new ste(B,ve,De),De.programs=Pe.programs,_.capabilities=$,_.extensions=ve,_.properties=xe,_.renderLists=Oe,_.shadowMap=He,_.state=de,_.info=De}We();const Ce=new Gne(_,B);this.xr=Ce,this.getContext=function(){return B},this.getContextAttributes=function(){return B.getContextAttributes()},this.forceContextLoss=function(){const G=ve.get("WEBGL_lose_context");G&&G.loseContext()},this.forceContextRestore=function(){const G=ve.get("WEBGL_lose_context");G&&G.restoreContext()},this.getPixelRatio=function(){return W},this.setPixelRatio=function(G){G!==void 0&&(W=G,this.setSize(N,Q,!1))},this.getSize=function(G){return G.set(N,Q)},this.setSize=function(G,ae,ge=!0){if(Ce.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}N=G,Q=ae,t.width=Math.floor(G*W),t.height=Math.floor(ae*W),ge===!0&&(t.style.width=G+"px",t.style.height=ae+"px"),this.setViewport(0,0,G,ae)},this.getDrawingBufferSize=function(G){return G.set(N*W,Q*W).floor()},this.setDrawingBufferSize=function(G,ae,ge){N=G,Q=ae,W=ge,t.width=Math.floor(G*ge),t.height=Math.floor(ae*ge),this.setViewport(0,0,G,ae)},this.getCurrentViewport=function(G){return G.copy(F)},this.getViewport=function(G){return G.copy(ye)},this.setViewport=function(G,ae,ge,pe){G.isVector4?ye.set(G.x,G.y,G.z,G.w):ye.set(G,ae,ge,pe),de.viewport(F.copy(ye).multiplyScalar(W).round())},this.getScissor=function(G){return G.copy(Ie)},this.setScissor=function(G,ae,ge,pe){G.isVector4?Ie.set(G.x,G.y,G.z,G.w):Ie.set(G,ae,ge,pe),de.scissor(L.copy(Ie).multiplyScalar(W).round())},this.getScissorTest=function(){return ze},this.setScissorTest=function(G){de.setScissorTest(ze=G)},this.setOpaqueSort=function(G){ee=G},this.setTransparentSort=function(G){H=G},this.getClearColor=function(G){return G.copy(Xe.getClearColor())},this.setClearColor=function(){Xe.setClearColor.apply(Xe,arguments)},this.getClearAlpha=function(){return Xe.getClearAlpha()},this.setClearAlpha=function(){Xe.setClearAlpha.apply(Xe,arguments)},this.clear=function(G=!0,ae=!0,ge=!0){let pe=0;if(G){let se=!1;if(R!==null){const Ue=R.texture.format;se=Ue===Zx||Ue===Kx||Ue===$x}if(se){const Ue=R.texture.type,Je=Ue===Ki||Ue===Pu||Ue===$0||Ue===Ed||Ue===Xx||Ue===Yx,tt=Xe.getClearColor(),it=Xe.getClearAlpha(),pt=tt.r,yt=tt.g,ht=tt.b;Je?(m[0]=pt,m[1]=yt,m[2]=ht,m[3]=it,B.clearBufferuiv(B.COLOR,0,m)):(v[0]=pt,v[1]=yt,v[2]=ht,v[3]=it,B.clearBufferiv(B.COLOR,0,v))}else pe|=B.COLOR_BUFFER_BIT}ae&&(pe|=B.DEPTH_BUFFER_BIT),ge&&(pe|=B.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),B.clear(pe)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener("webglcontextlost",Me,!1),t.removeEventListener("webglcontextrestored",je,!1),t.removeEventListener("webglcontextcreationerror",Ye,!1),Xe.dispose(),Oe.dispose(),dt.dispose(),xe.dispose(),D.dispose(),ne.dispose(),fe.dispose(),Rt.dispose(),te.dispose(),Pe.dispose(),Ce.dispose(),Ce.removeEventListener("sessionstart",Ze),Ce.removeEventListener("sessionend",wt),ct.stop()};function Me(G){G.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),T=!0}function je(){console.log("THREE.WebGLRenderer: Context Restored."),T=!1;const G=De.autoReset,ae=He.enabled,ge=He.autoUpdate,pe=He.needsUpdate,se=He.type;We(),De.autoReset=G,He.enabled=ae,He.autoUpdate=ge,He.needsUpdate=pe,He.type=se}function Ye(G){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",G.statusMessage)}function _t(G){const ae=G.target;ae.removeEventListener("dispose",_t),jt(ae)}function jt(G){Bn(G),xe.remove(G)}function Bn(G){const ae=xe.get(G).programs;ae!==void 0&&(ae.forEach(function(ge){Pe.releaseProgram(ge)}),G.isShaderMaterial&&Pe.releaseShaderCache(G))}this.renderBufferDirect=function(G,ae,ge,pe,se,Ue){ae===null&&(ae=qe);const Je=se.isMesh&&se.matrixWorld.determinant()<0,tt=tr(G,ae,ge,pe,se);de.setMaterial(pe,Je);let it=ge.index,pt=1;if(pe.wireframe===!0){if(it=ce.getWireframeAttribute(ge),it===void 0)return;pt=2}const yt=ge.drawRange,ht=ge.attributes.position;let xt=yt.start*pt,Kt=(yt.start+yt.count)*pt;Ue!==null&&(xt=Math.max(xt,Ue.start*pt),Kt=Math.min(Kt,(Ue.start+Ue.count)*pt)),it!==null?(xt=Math.max(xt,0),Kt=Math.min(Kt,it.count)):ht!=null&&(xt=Math.max(xt,0),Kt=Math.min(Kt,ht.count));const Wn=Kt-xt;if(Wn<0||Wn===1/0)return;Rt.setup(se,pe,tt,ge,it);let Dn,Ut=et;if(it!==null&&(Dn=re.get(it),Ut=mt,Ut.setIndex(Dn)),se.isMesh)pe.wireframe===!0?(de.setLineWidth(pe.wireframeLinewidth*q()),Ut.setMode(B.LINES)):Ut.setMode(B.TRIANGLES);else if(se.isLine){let At=pe.linewidth;At===void 0&&(At=1),de.setLineWidth(At*q()),se.isLineSegments?Ut.setMode(B.LINES):se.isLineLoop?Ut.setMode(B.LINE_LOOP):Ut.setMode(B.LINE_STRIP)}else se.isPoints?Ut.setMode(B.POINTS):se.isSprite&&Ut.setMode(B.TRIANGLES);if(se.isBatchedMesh)if(se._multiDrawInstances!==null)Ut.renderMultiDrawInstances(se._multiDrawStarts,se._multiDrawCounts,se._multiDrawCount,se._multiDrawInstances);else if(ve.get("WEBGL_multi_draw"))Ut.renderMultiDraw(se._multiDrawStarts,se._multiDrawCounts,se._multiDrawCount);else{const At=se._multiDrawStarts,Ai=se._multiDrawCounts,Gt=se._multiDrawCount,Lr=it?re.get(it).bytesPerElement:1,Lo=xe.get(pe).currentProgram.getUniforms();for(let nr=0;nr<Gt;nr++)Lo.setValue(B,"_gl_DrawID",nr),Ut.render(At[nr]/Lr,Ai[nr])}else if(se.isInstancedMesh)Ut.renderInstances(xt,Wn,se.count);else if(ge.isInstancedBufferGeometry){const At=ge._maxInstanceCount!==void 0?ge._maxInstanceCount:1/0,Ai=Math.min(ge.instanceCount,At);Ut.renderInstances(xt,Wn,Ai)}else Ut.render(xt,Wn)};function $e(G,ae,ge){G.transparent===!0&&G.side===Zs&&G.forceSinglePass===!1?(G.side=Rr,G.needsUpdate=!0,ln(G,ae,ge),G.side=Io,G.needsUpdate=!0,ln(G,ae,ge),G.side=Zs):ln(G,ae,ge)}this.compile=function(G,ae,ge=null){ge===null&&(ge=G),y=dt.get(ge),y.init(ae),b.push(y),ge.traverseVisible(function(se){se.isLight&&se.layers.test(ae.layers)&&(y.pushLight(se),se.castShadow&&y.pushShadow(se))}),G!==ge&&G.traverseVisible(function(se){se.isLight&&se.layers.test(ae.layers)&&(y.pushLight(se),se.castShadow&&y.pushShadow(se))}),y.setupLights();const pe=new Set;return G.traverse(function(se){if(!(se.isMesh||se.isPoints||se.isLine||se.isSprite))return;const Ue=se.material;if(Ue)if(Array.isArray(Ue))for(let Je=0;Je<Ue.length;Je++){const tt=Ue[Je];$e(tt,ge,se),pe.add(tt)}else $e(Ue,ge,se),pe.add(Ue)}),b.pop(),y=null,pe},this.compileAsync=function(G,ae,ge=null){const pe=this.compile(G,ae,ge);return new Promise(se=>{function Ue(){if(pe.forEach(function(Je){xe.get(Je).currentProgram.isReady()&&pe.delete(Je)}),pe.size===0){se(G);return}setTimeout(Ue,10)}ve.get("KHR_parallel_shader_compile")!==null?Ue():setTimeout(Ue,10)})};let ot=null;function Mt(G){ot&&ot(G)}function Ze(){ct.stop()}function wt(){ct.start()}const ct=new mP;ct.setAnimationLoop(Mt),typeof self<"u"&&ct.setContext(self),this.setAnimationLoop=function(G){ot=G,Ce.setAnimationLoop(G),G===null?ct.stop():ct.start()},Ce.addEventListener("sessionstart",Ze),Ce.addEventListener("sessionend",wt),this.render=function(G,ae){if(ae!==void 0&&ae.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(T===!0)return;if(G.matrixWorldAutoUpdate===!0&&G.updateMatrixWorld(),ae.parent===null&&ae.matrixWorldAutoUpdate===!0&&ae.updateMatrixWorld(),Ce.enabled===!0&&Ce.isPresenting===!0&&(Ce.cameraAutoUpdate===!0&&Ce.updateCamera(ae),ae=Ce.getCamera()),G.isScene===!0&&G.onBeforeRender(_,G,ae,R),y=dt.get(G,b.length),y.init(ae),b.push(y),Ae.multiplyMatrices(ae.projectionMatrix,ae.matrixWorldInverse),oe.setFromProjectionMatrix(Ae),Fe=this.localClippingEnabled,_e=Be.init(this.clippingPlanes,Fe),A=Oe.get(G,x.length),A.init(),x.push(A),Ce.enabled===!0&&Ce.isPresenting===!0){const Ue=_.xr.getDepthSensingMesh();Ue!==null&&bt(Ue,ae,-1/0,_.sortObjects)}bt(G,ae,0,_.sortObjects),A.finish(),_.sortObjects===!0&&A.sort(ee,H),rt=Ce.enabled===!1||Ce.isPresenting===!1||Ce.hasDepthSensing()===!1,rt&&Xe.addToRenderList(A,G),this.info.render.frame++,_e===!0&&Be.beginShadows();const ge=y.state.shadowsArray;He.render(ge,G,ae),_e===!0&&Be.endShadows(),this.info.autoReset===!0&&this.info.reset();const pe=A.opaque,se=A.transmissive;if(y.setupLights(),ae.isArrayCamera){const Ue=ae.cameras;if(se.length>0)for(let Je=0,tt=Ue.length;Je<tt;Je++){const it=Ue[Je];Bt(pe,se,G,it)}rt&&Xe.render(G);for(let Je=0,tt=Ue.length;Je<tt;Je++){const it=Ue[Je];Vn(A,G,it,it.viewport)}}else se.length>0&&Bt(pe,se,G,ae),rt&&Xe.render(G),Vn(A,G,ae);R!==null&&I===0&&(k.updateMultisampleRenderTarget(R),k.updateRenderTargetMipmap(R)),G.isScene===!0&&G.onAfterRender(_,G,ae),Rt.resetDefaultState(),w=-1,E=null,b.pop(),b.length>0?(y=b[b.length-1],_e===!0&&Be.setGlobalState(_.clippingPlanes,y.state.camera)):y=null,x.pop(),x.length>0?A=x[x.length-1]:A=null};function bt(G,ae,ge,pe){if(G.visible===!1)return;if(G.layers.test(ae.layers)){if(G.isGroup)ge=G.renderOrder;else if(G.isLOD)G.autoUpdate===!0&&G.update(ae);else if(G.isLight)y.pushLight(G),G.castShadow&&y.pushShadow(G);else if(G.isSprite){if(!G.frustumCulled||oe.intersectsSprite(G)){pe&&be.setFromMatrixPosition(G.matrixWorld).applyMatrix4(Ae);const Je=fe.update(G),tt=G.material;tt.visible&&A.push(G,Je,tt,ge,be.z,null)}}else if((G.isMesh||G.isLine||G.isPoints)&&(!G.frustumCulled||oe.intersectsObject(G))){const Je=fe.update(G),tt=G.material;if(pe&&(G.boundingSphere!==void 0?(G.boundingSphere===null&&G.computeBoundingSphere(),be.copy(G.boundingSphere.center)):(Je.boundingSphere===null&&Je.computeBoundingSphere(),be.copy(Je.boundingSphere.center)),be.applyMatrix4(G.matrixWorld).applyMatrix4(Ae)),Array.isArray(tt)){const it=Je.groups;for(let pt=0,yt=it.length;pt<yt;pt++){const ht=it[pt],xt=tt[ht.materialIndex];xt&&xt.visible&&A.push(G,Je,xt,ge,be.z,ht)}}else tt.visible&&A.push(G,Je,tt,ge,be.z,null)}}const Ue=G.children;for(let Je=0,tt=Ue.length;Je<tt;Je++)bt(Ue[Je],ae,ge,pe)}function Vn(G,ae,ge,pe){const se=G.opaque,Ue=G.transmissive,Je=G.transparent;y.setupLightsView(ge),_e===!0&&Be.setGlobalState(_.clippingPlanes,ge),pe&&de.viewport(F.copy(pe)),se.length>0&&$t(se,ae,ge),Ue.length>0&&$t(Ue,ae,ge),Je.length>0&&$t(Je,ae,ge),de.buffers.depth.setTest(!0),de.buffers.depth.setMask(!0),de.buffers.color.setMask(!0),de.setPolygonOffset(!1)}function Bt(G,ae,ge,pe){if((ge.isScene===!0?ge.overrideMaterial:null)!==null)return;y.state.transmissionRenderTarget[pe.id]===void 0&&(y.state.transmissionRenderTarget[pe.id]=new li(1,1,{generateMipmaps:!0,type:ve.has("EXT_color_buffer_half_float")||ve.has("EXT_color_buffer_float")?nn:Ki,minFilter:Fs,samples:4,stencilBuffer:s,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:Xt.workingColorSpace}));const Ue=y.state.transmissionRenderTarget[pe.id],Je=pe.viewport||F;Ue.setSize(Je.z*_.transmissionResolutionScale,Je.w*_.transmissionResolutionScale);const tt=_.getRenderTarget();_.setRenderTarget(Ue),_.getClearColor(V),j=_.getClearAlpha(),j<1&&_.setClearColor(16777215,.5),_.clear(),rt&&Xe.render(ge);const it=_.toneMapping;_.toneMapping=Xl;const pt=pe.viewport;if(pe.viewport!==void 0&&(pe.viewport=void 0),y.setupLightsView(pe),_e===!0&&Be.setGlobalState(_.clippingPlanes,pe),$t(G,ge,pe),k.updateMultisampleRenderTarget(Ue),k.updateRenderTargetMipmap(Ue),ve.has("WEBGL_multisampled_render_to_texture")===!1){let yt=!1;for(let ht=0,xt=ae.length;ht<xt;ht++){const Kt=ae[ht],Wn=Kt.object,Dn=Kt.geometry,Ut=Kt.material,At=Kt.group;if(Ut.side===Zs&&Wn.layers.test(pe.layers)){const Ai=Ut.side;Ut.side=Rr,Ut.needsUpdate=!0,Qn(Wn,ge,pe,Dn,Ut,At),Ut.side=Ai,Ut.needsUpdate=!0,yt=!0}}yt===!0&&(k.updateMultisampleRenderTarget(Ue),k.updateRenderTargetMipmap(Ue))}_.setRenderTarget(tt),_.setClearColor(V,j),pt!==void 0&&(pe.viewport=pt),_.toneMapping=it}function $t(G,ae,ge){const pe=ae.isScene===!0?ae.overrideMaterial:null;for(let se=0,Ue=G.length;se<Ue;se++){const Je=G[se],tt=Je.object,it=Je.geometry,pt=pe===null?Je.material:pe,yt=Je.group;tt.layers.test(ge.layers)&&Qn(tt,ae,ge,it,pt,yt)}}function Qn(G,ae,ge,pe,se,Ue){G.onBeforeRender(_,ae,ge,pe,se,Ue),G.modelViewMatrix.multiplyMatrices(ge.matrixWorldInverse,G.matrixWorld),G.normalMatrix.getNormalMatrix(G.modelViewMatrix),se.onBeforeRender(_,ae,ge,pe,G,Ue),se.transparent===!0&&se.side===Zs&&se.forceSinglePass===!1?(se.side=Rr,se.needsUpdate=!0,_.renderBufferDirect(ge,ae,pe,se,G,Ue),se.side=Io,se.needsUpdate=!0,_.renderBufferDirect(ge,ae,pe,se,G,Ue),se.side=Zs):_.renderBufferDirect(ge,ae,pe,se,G,Ue),G.onAfterRender(_,ae,ge,pe,se,Ue)}function ln(G,ae,ge){ae.isScene!==!0&&(ae=qe);const pe=xe.get(G),se=y.state.lights,Ue=y.state.shadowsArray,Je=se.state.version,tt=Pe.getParameters(G,se.state,Ue,ae,ge),it=Pe.getProgramCacheKey(tt);let pt=pe.programs;pe.environment=G.isMeshStandardMaterial?ae.environment:null,pe.fog=ae.fog,pe.envMap=(G.isMeshStandardMaterial?ne:D).get(G.envMap||pe.environment),pe.envMapRotation=pe.environment!==null&&G.envMap===null?ae.environmentRotation:G.envMapRotation,pt===void 0&&(G.addEventListener("dispose",_t),pt=new Map,pe.programs=pt);let yt=pt.get(it);if(yt!==void 0){if(pe.currentProgram===yt&&pe.lightsStateVersion===Je)return Ft(G,tt),yt}else tt.uniforms=Pe.getUniforms(G),G.onBeforeCompile(tt,_),yt=Pe.acquireProgram(tt,it),pt.set(it,yt),pe.uniforms=tt.uniforms;const ht=pe.uniforms;return(!G.isShaderMaterial&&!G.isRawShaderMaterial||G.clipping===!0)&&(ht.clippingPlanes=Be.uniform),Ft(G,tt),pe.needsLights=ci(G),pe.lightsStateVersion=Je,pe.needsLights&&(ht.ambientLightColor.value=se.state.ambient,ht.lightProbe.value=se.state.probe,ht.directionalLights.value=se.state.directional,ht.directionalLightShadows.value=se.state.directionalShadow,ht.spotLights.value=se.state.spot,ht.spotLightShadows.value=se.state.spotShadow,ht.rectAreaLights.value=se.state.rectArea,ht.ltc_1.value=se.state.rectAreaLTC1,ht.ltc_2.value=se.state.rectAreaLTC2,ht.pointLights.value=se.state.point,ht.pointLightShadows.value=se.state.pointShadow,ht.hemisphereLights.value=se.state.hemi,ht.directionalShadowMap.value=se.state.directionalShadowMap,ht.directionalShadowMatrix.value=se.state.directionalShadowMatrix,ht.spotShadowMap.value=se.state.spotShadowMap,ht.spotLightMatrix.value=se.state.spotLightMatrix,ht.spotLightMap.value=se.state.spotLightMap,ht.pointShadowMap.value=se.state.pointShadowMap,ht.pointShadowMatrix.value=se.state.pointShadowMatrix),pe.currentProgram=yt,pe.uniformsList=null,yt}function cn(G){if(G.uniformsList===null){const ae=G.currentProgram.getUniforms();G.uniformsList=J1.seqWithValue(ae.seq,G.uniforms)}return G.uniformsList}function Ft(G,ae){const ge=xe.get(G);ge.outputColorSpace=ae.outputColorSpace,ge.batching=ae.batching,ge.batchingColor=ae.batchingColor,ge.instancing=ae.instancing,ge.instancingColor=ae.instancingColor,ge.instancingMorph=ae.instancingMorph,ge.skinning=ae.skinning,ge.morphTargets=ae.morphTargets,ge.morphNormals=ae.morphNormals,ge.morphColors=ae.morphColors,ge.morphTargetsCount=ae.morphTargetsCount,ge.numClippingPlanes=ae.numClippingPlanes,ge.numIntersection=ae.numClipIntersection,ge.vertexAlphas=ae.vertexAlphas,ge.vertexTangents=ae.vertexTangents,ge.toneMapping=ae.toneMapping}function tr(G,ae,ge,pe,se){ae.isScene!==!0&&(ae=qe),k.resetTextureUnits();const Ue=ae.fog,Je=pe.isMeshStandardMaterial?ae.environment:null,tt=R===null?_.outputColorSpace:R.isXRRenderTarget===!0?R.texture.colorSpace:mi,it=(pe.isMeshStandardMaterial?ne:D).get(pe.envMap||Je),pt=pe.vertexColors===!0&&!!ge.attributes.color&&ge.attributes.color.itemSize===4,yt=!!ge.attributes.tangent&&(!!pe.normalMap||pe.anisotropy>0),ht=!!ge.morphAttributes.position,xt=!!ge.morphAttributes.normal,Kt=!!ge.morphAttributes.color;let Wn=Xl;pe.toneMapped&&(R===null||R.isXRRenderTarget===!0)&&(Wn=_.toneMapping);const Dn=ge.morphAttributes.position||ge.morphAttributes.normal||ge.morphAttributes.color,Ut=Dn!==void 0?Dn.length:0,At=xe.get(pe),Ai=y.state.lights;if(_e===!0&&(Fe===!0||G!==E)){const Ri=G===E&&pe.id===w;Be.setState(pe,G,Ri)}let Gt=!1;pe.version===At.__version?(At.needsLights&&At.lightsStateVersion!==Ai.state.version||At.outputColorSpace!==tt||se.isBatchedMesh&&At.batching===!1||!se.isBatchedMesh&&At.batching===!0||se.isBatchedMesh&&At.batchingColor===!0&&se.colorTexture===null||se.isBatchedMesh&&At.batchingColor===!1&&se.colorTexture!==null||se.isInstancedMesh&&At.instancing===!1||!se.isInstancedMesh&&At.instancing===!0||se.isSkinnedMesh&&At.skinning===!1||!se.isSkinnedMesh&&At.skinning===!0||se.isInstancedMesh&&At.instancingColor===!0&&se.instanceColor===null||se.isInstancedMesh&&At.instancingColor===!1&&se.instanceColor!==null||se.isInstancedMesh&&At.instancingMorph===!0&&se.morphTexture===null||se.isInstancedMesh&&At.instancingMorph===!1&&se.morphTexture!==null||At.envMap!==it||pe.fog===!0&&At.fog!==Ue||At.numClippingPlanes!==void 0&&(At.numClippingPlanes!==Be.numPlanes||At.numIntersection!==Be.numIntersection)||At.vertexAlphas!==pt||At.vertexTangents!==yt||At.morphTargets!==ht||At.morphNormals!==xt||At.morphColors!==Kt||At.toneMapping!==Wn||At.morphTargetsCount!==Ut)&&(Gt=!0):(Gt=!0,At.__version=pe.version);let Lr=At.currentProgram;Gt===!0&&(Lr=ln(pe,ae,se));let Lo=!1,nr=!1,oa=!1;const wn=Lr.getUniforms(),vi=At.uniforms;if(de.useProgram(Lr.program)&&(Lo=!0,nr=!0,oa=!0),pe.id!==w&&(w=pe.id,nr=!0),Lo||E!==G){de.buffers.depth.getReversed()?(Z.copy(G.projectionMatrix),j$(Z),q$(Z),wn.setValue(B,"projectionMatrix",Z)):wn.setValue(B,"projectionMatrix",G.projectionMatrix),wn.setValue(B,"viewMatrix",G.matrixWorldInverse);const Ci=wn.map.cameraPosition;Ci!==void 0&&Ci.setValue(B,we.setFromMatrixPosition(G.matrixWorld)),$.logarithmicDepthBuffer&&wn.setValue(B,"logDepthBufFC",2/(Math.log(G.far+1)/Math.LN2)),(pe.isMeshPhongMaterial||pe.isMeshToonMaterial||pe.isMeshLambertMaterial||pe.isMeshBasicMaterial||pe.isMeshStandardMaterial||pe.isShaderMaterial)&&wn.setValue(B,"isOrthographic",G.isOrthographicCamera===!0),E!==G&&(E=G,nr=!0,oa=!0)}if(se.isSkinnedMesh){wn.setOptional(B,se,"bindMatrix"),wn.setOptional(B,se,"bindMatrixInverse");const Ri=se.skeleton;Ri&&(Ri.boneTexture===null&&Ri.computeBoneTexture(),wn.setValue(B,"boneTexture",Ri.boneTexture,k))}se.isBatchedMesh&&(wn.setOptional(B,se,"batchingTexture"),wn.setValue(B,"batchingTexture",se._matricesTexture,k),wn.setOptional(B,se,"batchingIdTexture"),wn.setValue(B,"batchingIdTexture",se._indirectTexture,k),wn.setOptional(B,se,"batchingColorTexture"),se._colorsTexture!==null&&wn.setValue(B,"batchingColorTexture",se._colorsTexture,k));const ir=ge.morphAttributes;if((ir.position!==void 0||ir.normal!==void 0||ir.color!==void 0)&&st.update(se,ge,Lr),(nr||At.receiveShadow!==se.receiveShadow)&&(At.receiveShadow=se.receiveShadow,wn.setValue(B,"receiveShadow",se.receiveShadow)),pe.isMeshGouraudMaterial&&pe.envMap!==null&&(vi.envMap.value=it,vi.flipEnvMap.value=it.isCubeTexture&&it.isRenderTargetTexture===!1?-1:1),pe.isMeshStandardMaterial&&pe.envMap===null&&ae.environment!==null&&(vi.envMapIntensity.value=ae.environmentIntensity),nr&&(wn.setValue(B,"toneMappingExposure",_.toneMappingExposure),At.needsLights&&rn(vi,oa),Ue&&pe.fog===!0&&Le.refreshFogUniforms(vi,Ue),Le.refreshMaterialUniforms(vi,pe,W,Q,y.state.transmissionRenderTarget[G.id]),J1.upload(B,cn(At),vi,k)),pe.isShaderMaterial&&pe.uniformsNeedUpdate===!0&&(J1.upload(B,cn(At),vi,k),pe.uniformsNeedUpdate=!1),pe.isSpriteMaterial&&wn.setValue(B,"center",se.center),wn.setValue(B,"modelViewMatrix",se.modelViewMatrix),wn.setValue(B,"normalMatrix",se.normalMatrix),wn.setValue(B,"modelMatrix",se.matrixWorld),pe.isShaderMaterial||pe.isRawShaderMaterial){const Ri=pe.uniformsGroups;for(let Ci=0,uc=Ri.length;Ci<uc;Ci++){const pr=Ri[Ci];te.update(pr,Lr),te.bind(pr,Lr)}}return Lr}function rn(G,ae){G.ambientLightColor.needsUpdate=ae,G.lightProbe.needsUpdate=ae,G.directionalLights.needsUpdate=ae,G.directionalLightShadows.needsUpdate=ae,G.pointLights.needsUpdate=ae,G.pointLightShadows.needsUpdate=ae,G.spotLights.needsUpdate=ae,G.spotLightShadows.needsUpdate=ae,G.rectAreaLights.needsUpdate=ae,G.hemisphereLights.needsUpdate=ae}function ci(G){return G.isMeshLambertMaterial||G.isMeshToonMaterial||G.isMeshPhongMaterial||G.isMeshStandardMaterial||G.isShadowMaterial||G.isShaderMaterial&&G.lights===!0}this.getActiveCubeFace=function(){return M},this.getActiveMipmapLevel=function(){return I},this.getRenderTarget=function(){return R},this.setRenderTargetTextures=function(G,ae,ge){xe.get(G.texture).__webglTexture=ae,xe.get(G.depthTexture).__webglTexture=ge;const pe=xe.get(G);pe.__hasExternalTextures=!0,pe.__autoAllocateDepthBuffer=ge===void 0,pe.__autoAllocateDepthBuffer||ve.has("WEBGL_multisampled_render_to_texture")===!0&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),pe.__useRenderToTexture=!1)},this.setRenderTargetFramebuffer=function(G,ae){const ge=xe.get(G);ge.__webglFramebuffer=ae,ge.__useDefaultFramebuffer=ae===void 0};const hr=B.createFramebuffer();this.setRenderTarget=function(G,ae=0,ge=0){R=G,M=ae,I=ge;let pe=!0,se=null,Ue=!1,Je=!1;if(G){const it=xe.get(G);if(it.__useDefaultFramebuffer!==void 0)de.bindFramebuffer(B.FRAMEBUFFER,null),pe=!1;else if(it.__webglFramebuffer===void 0)k.setupRenderTarget(G);else if(it.__hasExternalTextures)k.rebindTextures(G,xe.get(G.texture).__webglTexture,xe.get(G.depthTexture).__webglTexture);else if(G.depthBuffer){const ht=G.depthTexture;if(it.__boundDepthTexture!==ht){if(ht!==null&&xe.has(ht)&&(G.width!==ht.image.width||G.height!==ht.image.height))throw new Error("WebGLRenderTarget: Attached DepthTexture is initialized to the incorrect size.");k.setupDepthRenderbuffer(G)}}const pt=G.texture;(pt.isData3DTexture||pt.isDataArrayTexture||pt.isCompressedArrayTexture)&&(Je=!0);const yt=xe.get(G).__webglFramebuffer;G.isWebGLCubeRenderTarget?(Array.isArray(yt[ae])?se=yt[ae][ge]:se=yt[ae],Ue=!0):G.samples>0&&k.useMultisampledRTT(G)===!1?se=xe.get(G).__webglMultisampledFramebuffer:Array.isArray(yt)?se=yt[ge]:se=yt,F.copy(G.viewport),L.copy(G.scissor),z=G.scissorTest}else F.copy(ye).multiplyScalar(W).floor(),L.copy(Ie).multiplyScalar(W).floor(),z=ze;if(ge!==0&&(se=hr),de.bindFramebuffer(B.FRAMEBUFFER,se)&&pe&&de.drawBuffers(G,se),de.viewport(F),de.scissor(L),de.setScissorTest(z),Ue){const it=xe.get(G.texture);B.framebufferTexture2D(B.FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.TEXTURE_CUBE_MAP_POSITIVE_X+ae,it.__webglTexture,ge)}else if(Je){const it=xe.get(G.texture),pt=ae;B.framebufferTextureLayer(B.FRAMEBUFFER,B.COLOR_ATTACHMENT0,it.__webglTexture,ge,pt)}else if(G!==null&&ge!==0){const it=xe.get(G.texture);B.framebufferTexture2D(B.FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.TEXTURE_2D,it.__webglTexture,ge)}w=-1},this.readRenderTargetPixels=function(G,ae,ge,pe,se,Ue,Je){if(!(G&&G.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let tt=xe.get(G).__webglFramebuffer;if(G.isWebGLCubeRenderTarget&&Je!==void 0&&(tt=tt[Je]),tt){de.bindFramebuffer(B.FRAMEBUFFER,tt);try{const it=G.texture,pt=it.format,yt=it.type;if(!$.textureFormatReadable(pt)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!$.textureTypeReadable(yt)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ae>=0&&ae<=G.width-pe&&ge>=0&&ge<=G.height-se&&B.readPixels(ae,ge,pe,se,lt.convert(pt),lt.convert(yt),Ue)}finally{const it=R!==null?xe.get(R).__webglFramebuffer:null;de.bindFramebuffer(B.FRAMEBUFFER,it)}}},this.readRenderTargetPixelsAsync=async function(G,ae,ge,pe,se,Ue,Je){if(!(G&&G.isWebGLRenderTarget))throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let tt=xe.get(G).__webglFramebuffer;if(G.isWebGLCubeRenderTarget&&Je!==void 0&&(tt=tt[Je]),tt){const it=G.texture,pt=it.format,yt=it.type;if(!$.textureFormatReadable(pt))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(!$.textureTypeReadable(yt))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");if(ae>=0&&ae<=G.width-pe&&ge>=0&&ge<=G.height-se){de.bindFramebuffer(B.FRAMEBUFFER,tt);const ht=B.createBuffer();B.bindBuffer(B.PIXEL_PACK_BUFFER,ht),B.bufferData(B.PIXEL_PACK_BUFFER,Ue.byteLength,B.STREAM_READ),B.readPixels(ae,ge,pe,se,lt.convert(pt),lt.convert(yt),0);const xt=R!==null?xe.get(R).__webglFramebuffer:null;de.bindFramebuffer(B.FRAMEBUFFER,xt);const Kt=B.fenceSync(B.SYNC_GPU_COMMANDS_COMPLETE,0);return B.flush(),await W$(B,Kt,4),B.bindBuffer(B.PIXEL_PACK_BUFFER,ht),B.getBufferSubData(B.PIXEL_PACK_BUFFER,0,Ue),B.deleteBuffer(ht),B.deleteSync(Kt),Ue}else throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")}},this.copyFramebufferToTexture=function(G,ae=null,ge=0){G.isTexture!==!0&&(Mf("WebGLRenderer: copyFramebufferToTexture function signature has changed."),ae=arguments[0]||null,G=arguments[1]);const pe=Math.pow(2,-ge),se=Math.floor(G.image.width*pe),Ue=Math.floor(G.image.height*pe),Je=ae!==null?ae.x:0,tt=ae!==null?ae.y:0;k.setTexture2D(G,0),B.copyTexSubImage2D(B.TEXTURE_2D,ge,0,0,Je,tt,se,Ue),de.unbindTexture()};const Zn=B.createFramebuffer(),Jn=B.createFramebuffer();this.copyTextureToTexture=function(G,ae,ge=null,pe=null,se=0,Ue=null){G.isTexture!==!0&&(Mf("WebGLRenderer: copyTextureToTexture function signature has changed."),pe=arguments[0]||null,G=arguments[1],ae=arguments[2],Ue=arguments[3]||0,ge=null),Ue===null&&(se!==0?(Mf("WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels."),Ue=se,se=0):Ue=0);let Je,tt,it,pt,yt,ht,xt,Kt,Wn;const Dn=G.isCompressedTexture?G.mipmaps[Ue]:G.image;if(ge!==null)Je=ge.max.x-ge.min.x,tt=ge.max.y-ge.min.y,it=ge.isBox3?ge.max.z-ge.min.z:1,pt=ge.min.x,yt=ge.min.y,ht=ge.isBox3?ge.min.z:0;else{const ir=Math.pow(2,-se);Je=Math.floor(Dn.width*ir),tt=Math.floor(Dn.height*ir),G.isDataArrayTexture?it=Dn.depth:G.isData3DTexture?it=Math.floor(Dn.depth*ir):it=1,pt=0,yt=0,ht=0}pe!==null?(xt=pe.x,Kt=pe.y,Wn=pe.z):(xt=0,Kt=0,Wn=0);const Ut=lt.convert(ae.format),At=lt.convert(ae.type);let Ai;ae.isData3DTexture?(k.setTexture3D(ae,0),Ai=B.TEXTURE_3D):ae.isDataArrayTexture||ae.isCompressedArrayTexture?(k.setTexture2DArray(ae,0),Ai=B.TEXTURE_2D_ARRAY):(k.setTexture2D(ae,0),Ai=B.TEXTURE_2D),B.pixelStorei(B.UNPACK_FLIP_Y_WEBGL,ae.flipY),B.pixelStorei(B.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ae.premultiplyAlpha),B.pixelStorei(B.UNPACK_ALIGNMENT,ae.unpackAlignment);const Gt=B.getParameter(B.UNPACK_ROW_LENGTH),Lr=B.getParameter(B.UNPACK_IMAGE_HEIGHT),Lo=B.getParameter(B.UNPACK_SKIP_PIXELS),nr=B.getParameter(B.UNPACK_SKIP_ROWS),oa=B.getParameter(B.UNPACK_SKIP_IMAGES);B.pixelStorei(B.UNPACK_ROW_LENGTH,Dn.width),B.pixelStorei(B.UNPACK_IMAGE_HEIGHT,Dn.height),B.pixelStorei(B.UNPACK_SKIP_PIXELS,pt),B.pixelStorei(B.UNPACK_SKIP_ROWS,yt),B.pixelStorei(B.UNPACK_SKIP_IMAGES,ht);const wn=G.isDataArrayTexture||G.isData3DTexture,vi=ae.isDataArrayTexture||ae.isData3DTexture;if(G.isDepthTexture){const ir=xe.get(G),Ri=xe.get(ae),Ci=xe.get(ir.__renderTarget),uc=xe.get(Ri.__renderTarget);de.bindFramebuffer(B.READ_FRAMEBUFFER,Ci.__webglFramebuffer),de.bindFramebuffer(B.DRAW_FRAMEBUFFER,uc.__webglFramebuffer);for(let pr=0;pr<it;pr++)wn&&(B.framebufferTextureLayer(B.READ_FRAMEBUFFER,B.COLOR_ATTACHMENT0,xe.get(G).__webglTexture,se,ht+pr),B.framebufferTextureLayer(B.DRAW_FRAMEBUFFER,B.COLOR_ATTACHMENT0,xe.get(ae).__webglTexture,Ue,Wn+pr)),B.blitFramebuffer(pt,yt,Je,tt,xt,Kt,Je,tt,B.DEPTH_BUFFER_BIT,B.NEAREST);de.bindFramebuffer(B.READ_FRAMEBUFFER,null),de.bindFramebuffer(B.DRAW_FRAMEBUFFER,null)}else if(se!==0||G.isRenderTargetTexture||xe.has(G)){const ir=xe.get(G),Ri=xe.get(ae);de.bindFramebuffer(B.READ_FRAMEBUFFER,Zn),de.bindFramebuffer(B.DRAW_FRAMEBUFFER,Jn);for(let Ci=0;Ci<it;Ci++)wn?B.framebufferTextureLayer(B.READ_FRAMEBUFFER,B.COLOR_ATTACHMENT0,ir.__webglTexture,se,ht+Ci):B.framebufferTexture2D(B.READ_FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.TEXTURE_2D,ir.__webglTexture,se),vi?B.framebufferTextureLayer(B.DRAW_FRAMEBUFFER,B.COLOR_ATTACHMENT0,Ri.__webglTexture,Ue,Wn+Ci):B.framebufferTexture2D(B.DRAW_FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.TEXTURE_2D,Ri.__webglTexture,Ue),se!==0?B.blitFramebuffer(pt,yt,Je,tt,xt,Kt,Je,tt,B.COLOR_BUFFER_BIT,B.NEAREST):vi?B.copyTexSubImage3D(Ai,Ue,xt,Kt,Wn+Ci,pt,yt,Je,tt):B.copyTexSubImage2D(Ai,Ue,xt,Kt,pt,yt,Je,tt);de.bindFramebuffer(B.READ_FRAMEBUFFER,null),de.bindFramebuffer(B.DRAW_FRAMEBUFFER,null)}else vi?G.isDataTexture||G.isData3DTexture?B.texSubImage3D(Ai,Ue,xt,Kt,Wn,Je,tt,it,Ut,At,Dn.data):ae.isCompressedArrayTexture?B.compressedTexSubImage3D(Ai,Ue,xt,Kt,Wn,Je,tt,it,Ut,Dn.data):B.texSubImage3D(Ai,Ue,xt,Kt,Wn,Je,tt,it,Ut,At,Dn):G.isDataTexture?B.texSubImage2D(B.TEXTURE_2D,Ue,xt,Kt,Je,tt,Ut,At,Dn.data):G.isCompressedTexture?B.compressedTexSubImage2D(B.TEXTURE_2D,Ue,xt,Kt,Dn.width,Dn.height,Ut,Dn.data):B.texSubImage2D(B.TEXTURE_2D,Ue,xt,Kt,Je,tt,Ut,At,Dn);B.pixelStorei(B.UNPACK_ROW_LENGTH,Gt),B.pixelStorei(B.UNPACK_IMAGE_HEIGHT,Lr),B.pixelStorei(B.UNPACK_SKIP_PIXELS,Lo),B.pixelStorei(B.UNPACK_SKIP_ROWS,nr),B.pixelStorei(B.UNPACK_SKIP_IMAGES,oa),Ue===0&&ae.generateMipmaps&&B.generateMipmap(Ai),de.unbindTexture()},this.copyTextureToTexture3D=function(G,ae,ge=null,pe=null,se=0){return G.isTexture!==!0&&(Mf("WebGLRenderer: copyTextureToTexture3D function signature has changed."),ge=arguments[0]||null,pe=arguments[1]||null,G=arguments[2],ae=arguments[3],se=arguments[4]||0),Mf('WebGLRenderer: copyTextureToTexture3D function has been deprecated. Use "copyTextureToTexture" instead.'),this.copyTextureToTexture(G,ae,ge,pe,se)},this.initRenderTarget=function(G){xe.get(G).__webglFramebuffer===void 0&&k.setupRenderTarget(G)},this.initTexture=function(G){G.isCubeTexture?k.setTextureCube(G,0):G.isData3DTexture?k.setTexture3D(G,0):G.isDataArrayTexture||G.isCompressedArrayTexture?k.setTexture2DArray(G,0):k.setTexture2D(G,0),de.unbindTexture()},this.resetState=function(){M=0,I=0,R=null,de.reset(),Rt.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Ko}get outputColorSpace(){return this._outputColorSpace}
vendor: 17,234 bytes, line 3901
3901set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorspace=Xt._getDrawingBufferColorSpace(e),t.unpackColorSpace=Xt._getUnpackColorSpace()}}class Xne{add(e,t=0,i=1/0){const r=zM.add(e,{priority:t,fps:i});return e._remove=r,r}remove(e){e._remove&&e._remove()}}function w8(n,e){if(e===v$)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),n;if(e===Eb||e===WI){let t=n.getIndex();if(t===null){const o=[],a=n.getAttribute("position");if(a!==void 0){for(let l=0;l<a.count;l++)o.push(l);n.setIndex(o),t=n.getIndex()}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),n}const i=t.count-2,r=[];if(e===Eb)for(let o=1;o<=i;o++)r.push(t.getX(0)),r.push(t.getX(o)),r.push(t.getX(o+1));else for(let o=0;o<i;o++)o%2===0?(r.push(t.getX(o)),r.push(t.getX(o+1)),r.push(t.getX(o+2))):(r.push(t.getX(o+2)),r.push(t.getX(o+1)),r.push(t.getX(o)));r.length/3!==i&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const s=n.clone();return s.setIndex(r),s.clearGroups(),s}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",e),n}class Yne extends ia{constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(t){return new eie(t)}),this.register(function(t){return new tie(t)}),this.register(function(t){return new uie(t)}),this.register(function(t){return new fie(t)}),this.register(function(t){return new die(t)}),this.register(function(t){return new iie(t)}),this.register(function(t){return new rie(t)}),this.register(function(t){return new sie(t)}),this.register(function(t){return new oie(t)}),this.register(function(t){return new Jne(t)}),this.register(function(t){return new aie(t)}),this.register(function(t){return new nie(t)}),this.register(function(t){return new cie(t)}),this.register(function(t){return new lie(t)}),this.register(function(t){return new Kne(t)}),this.register(function(t){return new hie(t)}),this.register(function(t){return new pie(t)})}load(e,t,i,r){const s=this;let o;if(this.resourcePath!=="")o=this.resourcePath;else if(this.path!==""){const c=T0.extractUrlBase(e);o=T0.resolveURL(c,this.path)}else o=T0.extractUrlBase(e);this.manager.itemStart(e);const a=function(c){r?r(c):console.error(c),s.manager.itemError(e),s.manager.itemEnd(e)},l=new Yl(this.manager);l.setPath(this.path),l.setResponseType("arraybuffer"),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(e,function(c){try{s.parse(c,o,function(u){t(u),s.manager.itemEnd(e)},a)}catch(u){a(u)}},i,a)}setDRACOLoader(e){return this.dracoLoader=e,this}setKTX2Loader(e){return this.ktx2Loader=e,this}setMeshoptDecoder(e){return this.meshoptDecoder=e,this}register(e){return this.pluginCallbacks.indexOf(e)===-1&&this.pluginCallbacks.push(e),this}unregister(e){return this.pluginCallbacks.indexOf(e)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,i,r){let s;const o={},a={},l=new TextDecoder;if(typeof e=="string")s=JSON.parse(e);else if(e instanceof ArrayBuffer)if(l.decode(new Uint8Array(e,0,4))===_P){try{o[Qt.KHR_BINARY_GLTF]=new mie(e)}catch(f){r&&r(f);return}s=JSON.parse(o[Qt.KHR_BINARY_GLTF].content)}else s=JSON.parse(l.decode(e));else s=e;if(s.asset===void 0||s.asset.version[0]<2){r&&r(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}const c=new Mie(s,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});c.fileLoader.setRequestHeader(this.requestHeader);for(let u=0;u<this.pluginCallbacks.length;u++){const f=this.pluginCallbacks[u](c);f.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),a[f.name]=f,o[f.name]=!0}if(s.extensionsUsed)for(let u=0;u<s.extensionsUsed.length;++u){const f=s.extensionsUsed[u],h=s.extensionsRequired||[];switch(f){case Qt.KHR_MATERIALS_UNLIT:o[f]=new Zne;break;case Qt.KHR_DRACO_MESH_COMPRESSION:o[f]=new gie(s,this.dracoLoader);break;case Qt.KHR_TEXTURE_TRANSFORM:o[f]=new Aie;break;case Qt.KHR_MESH_QUANTIZATION:o[f]=new vie;break;default:h.indexOf(f)>=0&&a[f]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+f+'".')}}c.setExtensions(o),c.setPlugins(a),c.parse(i,r)}parseAsync(e,t){const i=this;return new Promise(function(r,s){i.parse(e,t,r,s)})}}function $ne(){let n={};return{get:function(e){return n[e]},add:function(e,t){n[e]=t},remove:function(e){delete n[e]},removeAll:function(){n={}}}}const Qt={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class Kne{constructor(e){this.parser=e,this.name=Qt.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let i=0,r=t.length;i<r;i++){const s=t[i];s.extensions&&s.extensions[this.name]&&s.extensions[this.name].light!==void 0&&e._addNodeRef(this.cache,s.extensions[this.name].light)}}_loadLight(e){const t=this.parser,i="light:"+e;let r=t.cache.get(i);if(r)return r;const s=t.json,l=((s.extensions&&s.extensions[this.name]||{}).lights||[])[e];let c;const u=new ke(16777215);l.color!==void 0&&u.setRGB(l.color[0],l.color[1],l.color[2],mi);const f=l.range!==void 0?l.range:0;switch(l.type){case"directional":c=new jg(u),c.target.position.set(0,0,-1),c.add(c.target);break;case"point":c=new YK(u),c.distance=f;break;case"spot":c=new qK(u),c.distance=f,l.spot=l.spot||{},l.spot.innerConeAngle=l.spot.innerConeAngle!==void 0?l.spot.innerConeAngle:0,l.spot.outerConeAngle=l.spot.outerConeAngle!==void 0?l.spot.outerConeAngle:Math.PI/4,c.angle=l.spot.outerConeAngle,c.penumbra=1-l.spot.innerConeAngle/l.spot.outerConeAngle,c.target.position.set(0,0,-1),c.add(c.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+l.type)}return c.position.set(0,0,0),Ea(c,l),l.intensity!==void 0&&(c.intensity=l.intensity),c.name=t.createUniqueName(l.name||"light_"+e),r=Promise.resolve(c),t.cache.add(i,r),r}getDependency(e,t){if(e==="light")return this._loadLight(t)}createNodeAttachment(e){const t=this,i=this.parser,s=i.json.nodes[e],a=(s.extensions&&s.extensions[this.name]||{}).light;return a===void 0?null:this._loadLight(a).then(function(l){return i._getNodeRef(t.cache,a,l)})}}class Zne{constructor(){this.name=Qt.KHR_MATERIALS_UNLIT}getMaterialType(){return Jr}extendParams(e,t,i){const r=[];e.color=new ke(1,1,1),e.opacity=1;const s=t.pbrMetallicRoughness;if(s){if(Array.isArray(s.baseColorFactor)){const o=s.baseColorFactor;e.color.setRGB(o[0],o[1],o[2],mi),e.opacity=o[3]}s.baseColorTexture!==void 0&&r.push(i.assignTexture(e,"map",s.baseColorTexture,En))}return Promise.all(r)}}class Jne{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(e,t){const r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=r.extensions[this.name].emissiveStrength;return s!==void 0&&(t.emissiveIntensity=s),Promise.resolve()}}class eie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_CLEARCOAT}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=[],o=r.extensions[this.name];if(o.clearcoatFactor!==void 0&&(t.clearcoat=o.clearcoatFactor),o.clearcoatTexture!==void 0&&s.push(i.assignTexture(t,"clearcoatMap",o.clearcoatTexture)),o.clearcoatRoughnessFactor!==void 0&&(t.clearcoatRoughness=o.clearcoatRoughnessFactor),o.clearcoatRoughnessTexture!==void 0&&s.push(i.assignTexture(t,"clearcoatRoughnessMap",o.clearcoatRoughnessTexture)),o.clearcoatNormalTexture!==void 0&&(s.push(i.assignTexture(t,"clearcoatNormalMap",o.clearcoatNormalTexture)),o.clearcoatNormalTexture.scale!==void 0)){const a=o.clearcoatNormalTexture.scale;t.clearcoatNormalScale=new Re(a,a)}return Promise.all(s)}}class tie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_DISPERSION}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=r.extensions[this.name];return t.dispersion=s.dispersion!==void 0?s.dispersion:0,Promise.resolve()}}class nie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_IRIDESCENCE}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=[],o=r.extensions[this.name];return o.iridescenceFactor!==void 0&&(t.iridescence=o.iridescenceFactor),o.iridescenceTexture!==void 0&&s.push(i.assignTexture(t,"iridescenceMap",o.iridescenceTexture)),o.iridescenceIor!==void 0&&(t.iridescenceIOR=o.iridescenceIor),t.iridescenceThicknessRange===void 0&&(t.iridescenceThicknessRange=[100,400]),o.iridescenceThicknessMinimum!==void 0&&(t.iridescenceThicknessRange[0]=o.iridescenceThicknessMinimum),o.iridescenceThicknessMaximum!==void 0&&(t.iridescenceThicknessRange[1]=o.iridescenceThicknessMaximum),o.iridescenceThicknessTexture!==void 0&&s.push(i.assignTexture(t,"iridescenceThicknessMap",o.iridescenceThicknessTexture)),Promise.all(s)}}class iie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_SHEEN}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=[];t.sheenColor=new ke(0,0,0),t.sheenRoughness=0,t.sheen=1;const o=r.extensions[this.name];if(o.sheenColorFactor!==void 0){const a=o.sheenColorFactor;t.sheenColor.setRGB(a[0],a[1],a[2],mi)}return o.sheenRoughnessFactor!==void 0&&(t.sheenRoughness=o.sheenRoughnessFactor),o.sheenColorTexture!==void 0&&s.push(i.assignTexture(t,"sheenColorMap",o.sheenColorTexture,En)),o.sheenRoughnessTexture!==void 0&&s.push(i.assignTexture(t,"sheenRoughnessMap",o.sheenRoughnessTexture)),Promise.all(s)}}class rie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_TRANSMISSION}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=[],o=r.extensions[this.name];return o.transmissionFactor!==void 0&&(t.transmission=o.transmissionFactor),o.transmissionTexture!==void 0&&s.push(i.assignTexture(t,"transmissionMap",o.transmissionTexture)),Promise.all(s)}}class sie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_VOLUME}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=[],o=r.extensions[this.name];t.thickness=o.thicknessFactor!==void 0?o.thicknessFactor:0,o.thicknessTexture!==void 0&&s.push(i.assignTexture(t,"thicknessMap",o.thicknessTexture)),t.attenuationDistance=o.attenuationDistance||1/0;const a=o.attenuationColor||[1,1,1];return t.attenuationColor=new ke().setRGB(a[0],a[1],a[2],mi),Promise.all(s)}}class oie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_IOR}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=r.extensions[this.name];return t.ior=s.ior!==void 0?s.ior:1.5,Promise.resolve()}}class aie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_SPECULAR}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=[],o=r.extensions[this.name];t.specularIntensity=o.specularFactor!==void 0?o.specularFactor:1,o.specularTexture!==void 0&&s.push(i.assignTexture(t,"specularIntensityMap",o.specularTexture));const a=o.specularColorFactor||[1,1,1];return t.specularColor=new ke().setRGB(a[0],a[1],a[2],mi),o.specularColorTexture!==void 0&&s.push(i.assignTexture(t,"specularColorMap",o.specularColorTexture,En)),Promise.all(s)}}class lie{constructor(e){this.parser=e,this.name=Qt.EXT_MATERIALS_BUMP}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=[],o=r.extensions[this.name];return t.bumpScale=o.bumpFactor!==void 0?o.bumpFactor:1,o.bumpTexture!==void 0&&s.push(i.assignTexture(t,"bumpMap",o.bumpTexture)),Promise.all(s)}}class cie{constructor(e){this.parser=e,this.name=Qt.KHR_MATERIALS_ANISOTROPY}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:co}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const s=[],o=r.extensions[this.name];return o.anisotropyStrength!==void 0&&(t.anisotropy=o.anisotropyStrength),o.anisotropyRotation!==void 0&&(t.anisotropyRotation=o.anisotropyRotation),o.anisotropyTexture!==void 0&&s.push(i.assignTexture(t,"anisotropyMap",o.anisotropyTexture)),Promise.all(s)}}class uie{constructor(e){this.parser=e,this.name=Qt.KHR_TEXTURE_BASISU}loadTexture(e){const t=this.parser,i=t.json,r=i.textures[e];if(!r.extensions||!r.extensions[this.name])return null;const s=r.extensions[this.name],o=t.options.ktx2Loader;if(!o){if(i.extensionsRequired&&i.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,s.source,o)}}class fie{constructor(e){this.parser=e,this.name=Qt.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,s=r.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],a=r.images[o.source];let l=i.textureLoader;if(a.uri){const c=i.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class die{constructor(e){this.parser=e,this.name=Qt.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,s=r.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],a=r.images[o.source];let l=i.textureLoader;if(a.uri){const c=i.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdj
3901FDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class hie{constructor(e){this.name=Qt.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,i=t.bufferViews[e];if(i.extensions&&i.extensions[this.name]){const r=i.extensions[this.name],s=this.parser.getDependency("buffer",r.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return s.then(function(a){const l=r.byteOffset||0,c=r.byteLength||0,u=r.count,f=r.byteStride,h=new Uint8Array(a,l,c);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(u,f,h,r.mode,r.filter).then(function(p){return p.buffer}):o.ready.then(function(){const p=new ArrayBuffer(u*f);return o.decodeGltfBuffer(new Uint8Array(p),u,f,h,r.mode,r.filter),p})})}else return null}}class pie{constructor(e){this.name=Qt.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,i=t.nodes[e];if(!i.extensions||!i.extensions[this.name]||i.mesh===void 0)return null;const r=t.meshes[i.mesh];for(const c of r.primitives)if(c.mode!==Xs.TRIANGLES&&c.mode!==Xs.TRIANGLE_STRIP&&c.mode!==Xs.TRIANGLE_FAN&&c.mode!==void 0)return null;const o=i.extensions[this.name].attributes,a=[],l={};for(const c in o)a.push(this.parser.getDependency("accessor",o[c]).then(u=>(l[c]=u,l[c])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(c=>{const u=c.pop(),f=u.isGroup?u.children:[u],h=c[0].count,p=[];for(const m of f){const v=new Ct,A=new K,y=new Xn,x=new K(1,1,1),b=new Tp(m.geometry,m.material,h);for(let _=0;_<h;_++)l.TRANSLATION&&A.fromBufferAttribute(l.TRANSLATION,_),l.ROTATION&&y.fromBufferAttribute(l.ROTATION,_),l.SCALE&&x.fromBufferAttribute(l.SCALE,_),b.setMatrixAt(_,v.compose(A,y,x));for(const _ in l)if(_==="_COLOR_0"){const T=l[_];b.instanceColor=new Ro(T.array,T.itemSize,T.normalized)}else _!=="TRANSLATION"&&_!=="ROTATION"&&_!=="SCALE"&&m.geometry.setAttribute(_,l[_]);Wt.prototype.copy.call(b,m),this.parser.assignFinalMaterial(b),p.push(b)}return u.isGroup?(u.clear(),u.add(...p),u):p[0]}))}}const _P="glTF",Dh=12,S8={JSON:1313821514,BIN:5130562};class mie{constructor(e){this.name=Qt.KHR_BINARY_GLTF,this.content=null,this.body=null;const t=new DataView(e,0,Dh),i=new TextDecoder;if(this.header={magic:i.decode(new Uint8Array(e.slice(0,4))),version:t.getUint32(4,!0),length:t.getUint32(8,!0)},this.header.magic!==_P)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const r=this.header.length-Dh,s=new DataView(e,Dh);let o=0;for(;o<r;){const a=s.getUint32(o,!0);o+=4;const l=s.getUint32(o,!0);if(o+=4,l===S8.JSON){const c=new Uint8Array(e,Dh+o,a);this.content=i.decode(c)}else if(l===S8.BIN){const c=Dh+o;this.body=e.slice(c,c+a)}o+=a}if(this.content===null)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class gie{constructor(e,t){if(!t)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=Qt.KHR_DRACO_MESH_COMPRESSION,this.json=e,this.dracoLoader=t,this.dracoLoader.preload()}decodePrimitive(e,t){const i=this.json,r=this.dracoLoader,s=e.extensions[this.name].bufferView,o=e.extensions[this.name].attributes,a={},l={},c={};for(const u in o){const f=Bb[u]||u.toLowerCase();a[f]=o[u]}for(const u in e.attributes){const f=Bb[u]||u.toLowerCase();if(o[u]!==void 0){const h=i.accessors[e.attributes[u]],p=id[h.componentType];c[f]=p.name,l[f]=h.normalized===!0}}return t.getDependency("bufferView",s).then(function(u){return new Promise(function(f,h){r.decodeDracoFile(u,function(p){for(const m in p.attributes){const v=p.attributes[m],A=l[m];A!==void 0&&(v.normalized=A)}f(p)},a,c,mi,h)})})}}class Aie{constructor(){this.name=Qt.KHR_TEXTURE_TRANSFORM}extendTexture(e,t){return(t.texCoord===void 0||t.texCoord===e.channel)&&t.offset===void 0&&t.rotation===void 0&&t.scale===void 0||(e=e.clone(),t.texCoord!==void 0&&(e.channel=t.texCoord),t.offset!==void 0&&e.offset.fromArray(t.offset),t.rotation!==void 0&&(e.rotation=t.rotation),t.scale!==void 0&&e.repeat.fromArray(t.scale),e.needsUpdate=!0),e}}class vie{constructor(){this.name=Qt.KHR_MESH_QUANTIZATION}}class bP extends Mp{constructor(e,t,i,r){super(e,t,i,r)}copySampleValue_(e){const t=this.resultBuffer,i=this.sampleValues,r=this.valueSize,s=e*r*3+r;for(let o=0;o!==r;o++)t[o]=i[s+o];return t}interpolate_(e,t,i,r){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=a*2,c=a*3,u=r-t,f=(i-t)/u,h=f*f,p=h*f,m=e*c,v=m-c,A=-2*p+3*h,y=p-h,x=1-A,b=y-h+f;
vendor: 23,791 bytes, line 3901
3901for(let _=0;_!==a;_++){const T=o[v+_+a],M=o[v+_+l]*u,I=o[m+_+a],R=o[m+_]*u;s[_]=x*T+b*M+A*I+y*R}return s}}const yie=new Xn;class _ie extends bP{interpolate_(e,t,i,r){const s=super.interpolate_(e,t,i,r);return yie.fromArray(s).normalize().toArray(s),s}}const Xs={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},id={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},E8={9728:Br,9729:Yt,9984:FI,9985:$1,9986:qh,9987:Fs},T8={33071:ti,33648:Sd,10497:ts},N3={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Bb={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},ml={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},bie={CUBICSPLINE:void 0,LINEAR:ep,STEP:J0},k3={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function xie(n){return n.DefaultMaterial===void 0&&(n.DefaultMaterial=new o4({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:Io})),n.DefaultMaterial}function Wc(n,e,t){for(const i in t.extensions)n[i]===void 0&&(e.userData.gltfExtensions=e.userData.gltfExtensions||{},e.userData.gltfExtensions[i]=t.extensions[i])}function Ea(n,e){e.extras!==void 0&&(typeof e.extras=="object"?Object.assign(n.userData,e.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+e.extras))}function Cie(n,e,t){let i=!1,r=!1,s=!1;for(let c=0,u=e.length;c<u;c++){const f=e[c];if(f.POSITION!==void 0&&(i=!0),f.NORMAL!==void 0&&(r=!0),f.COLOR_0!==void 0&&(s=!0),i&&r&&s)break}if(!i&&!r&&!s)return Promise.resolve(n);const o=[],a=[],l=[];for(let c=0,u=e.length;c<u;c++){const f=e[c];if(i){const h=f.POSITION!==void 0?t.getDependency("accessor",f.POSITION):n.attributes.position;o.push(h)}if(r){const h=f.NORMAL!==void 0?t.getDependency("accessor",f.NORMAL):n.attributes.normal;a.push(h)}if(s){const h=f.COLOR_0!==void 0?t.getDependency("accessor",f.COLOR_0):n.attributes.color;l.push(h)}}return Promise.all([Promise.all(o),Promise.all(a),Promise.all(l)]).then(function(c){const u=c[0],f=c[1],h=c[2];return i&&(n.morphAttributes.position=u),r&&(n.morphAttributes.normal=f),s&&(n.morphAttributes.color=h),n.morphTargetsRelative=!0,n})}function wie(n,e){if(n.updateMorphTargets(),e.weights!==void 0)for(let t=0,i=e.weights.length;t<i;t++)n.morphTargetInfluences[t]=e.weights[t];if(e.extras&&Array.isArray(e.extras.targetNames)){const t=e.extras.targetNames;if(n.morphTargetInfluences.length===t.length){n.morphTargetDictionary={};for(let i=0,r=t.length;i<r;i++)n.morphTargetDictionary[t[i]]=i}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function Sie(n){let e;const t=n.extensions&&n.extensions[Qt.KHR_DRACO_MESH_COMPRESSION];if(t?e="draco:"+t.bufferView+":"+t.indices+":"+z3(t.attributes):e=n.indices+":"+z3(n.attributes)+":"+n.mode,n.targets!==void 0)for(let i=0,r=n.targets.length;i<r;i++)e+=":"+z3(n.targets[i]);return e}function z3(n){let e="";const t=Object.keys(n).sort();for(let i=0,r=t.length;i<r;i++)e+=t[i]+":"+n[t[i]]+";";return e}function Db(n){switch(n){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}function Eie(n){return n.search(/\.jpe?g($|\?)/i)>0||n.search(/^data\:image\/jpeg/)===0?"image/jpeg":n.search(/\.webp($|\?)/i)>0||n.search(/^data\:image\/webp/)===0?"image/webp":n.search(/\.ktx2($|\?)/i)>0||n.search(/^data\:image\/ktx2/)===0?"image/ktx2":"image/png"}const Tie=new Ct;class Mie{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new $ne,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let i=!1,r=-1,s=!1,o=-1;if(typeof navigator<"u"){const a=navigator.userAgent;i=/^((?!chrome|android).)*safari/i.test(a)===!0;const l=a.match(/Version\/(\d+)/);r=i&&l?parseInt(l[1],10):-1,s=a.indexOf("Firefox")>-1,o=s?a.match(/Firefox\/([0-9]+)\./)[1]:-1}typeof createImageBitmap>"u"||i&&r<17||s&&o<98?this.textureLoader=new fP(this.options.manager):this.textureLoader=new JK(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Yl(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const i=this,r=this.json,s=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([i.getDependencies("scene"),i.getDependencies("animation"),i.getDependencies("camera")])}).then(function(o){const a={scene:o[0][r.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:r.asset,parser:i,userData:{}};return Wc(s,a,r),Ea(a,r),Promise.all(i._invokeAll(function(l){return l.afterRoot&&l.afterRoot(a)})).then(function(){for(const l of a.scenes)l.updateMatrixWorld();e(a)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],i=this.json.meshes||[];for(let r=0,s=t.length;r<s;r++){const o=t[r].joints;for(let a=0,l=o.length;a<l;a++)e[o[a]].isBone=!0}for(let r=0,s=e.length;r<s;r++){const o=e[r];o.mesh!==void 0&&(this._addNodeRef(this.meshCache,o.mesh),o.skin!==void 0&&(i[o.mesh].isSkinnedMesh=!0)),o.camera!==void 0&&this._addNodeRef(this.cameraCache,o.camera)}}_addNodeRef(e,t){t!==void 0&&(e.refs[t]===void 0&&(e.refs[t]=e.uses[t]=0),e.refs[t]++)}_getNodeRef(e,t,i){if(e.refs[t]<=1)return i;const r=i.clone(),s=(o,a)=>{const l=this.associations.get(o);l!=null&&this.associations.set(a,l);for(const[c,u]of o.children.entries())s(u,a.children[c])};return s(i,r),r.name+="_instance_"+e.uses[t]++,r}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let i=0;i<t.length;i++){const r=e(t[i]);if(r)return r}return null}_invokeAll(e){const t=Object.values(this.plugins);t.unshift(this);const i=[];for(let r=0;r<t.length;r++){const s=e(t[r]);s&&i.push(s)}return i}getDependency(e,t){const i=e+":"+t;let r=this.cache.get(i);if(!r){switch(e){case"scene":r=this.loadScene(t);break;case"node":r=this._invokeOne(function(s){return s.loadNode&&s.loadNode(t)});break;case"mesh":r=this._invokeOne(function(s){return s.loadMesh&&s.loadMesh(t)});break;case"accessor":r=this.loadAccessor(t);break;case"bufferView":r=this._invokeOne(function(s){return s.loadBufferView&&s.loadBufferView(t)});break;case"buffer":r=this.loadBuffer(t);break;case"material":r=this._invokeOne(function(s){return s.loadMaterial&&s.loadMaterial(t)});break;case"texture":r=this._invokeOne(function(s){return s.loadTexture&&s.loadTexture(t)});break;case"skin":r=this.loadSkin(t);break;case"animation":r=this._invokeOne(function(s){return s.loadAnimation&&s.loadAnimation(t)});break;case"camera":r=this.loadCamera(t);break;default:if(r=this._invokeOne(function(s){return s!=this&&s.getDependency&&s.getDependency(e,t)}),!r)throw new Error("Unknown type: "+e);break}this.cache.add(i,r)}return r}getDependencies(e){let t=this.cache.get(e);if(!t){const i=this,r=this.json[e+(e==="mesh"?"es":"s")]||[];t=Promise.all(r.map(function(s,o){return i.getDependency(e,o)})),this.cache.add(e,t)}return t}loadBuffer(e){const t=this.json.buffers[e],i=this.fileLoader;if(t.type&&t.type!=="arraybuffer")throw new Error("THREE.GLTFLoader: "+t.type+" buffer type is not supported.");if(t.uri===void 0&&e===0)return Promise.resolve(this.extensions[Qt.KHR_BINARY_GLTF].body);const r=this.options;return new Promise(function(s,o){i.load(T0.resolveURL(t.uri,r.path),s,void 0,function(){o(new Error('THREE.GLTFLoader: Failed to load buffer "'+t.uri+'".'))})})}loadBufferView(e){const t=this.json.bufferViews[e];return this.getDependency("buffer",t.buffer).then(function(i){const r=t.byteLength||0,s=t.byteOffset||0;return i.slice(s,s+r)})}loadAccessor(e){const t=this,i=this.json,r=this.json.accessors[e];if(r.bufferView===void 0&&r.sparse===void 0){const o=N3[r.type],a=id[r.componentType],l=r.normalized===!0,c=new a(r.count*o);return Promise.resolve(new Gi(c,o,l))}const s=[];return r.bufferView!==void 0?s.push(this.getDependency("bufferView",r.bufferView)):s.push(null),r.sparse!==void 0&&(s.push(this.getDependency("bufferView",r.sparse.indices.bufferView)),s.push(this.getDependency("bufferView",r.sparse.values.bufferView))),Promise.all(s).then(function(o){const a=o[0],l=N3[r.type],c=id[r.componentType],u=c.BYTES_PER_ELEMENT,f=u*l,h=r.byteOffset||0,p=r.bufferView!==void 0?i.bufferViews[r.bufferView].byteStride:void 0,m=r.normalized===!0;let v,A;if(p&&p!==f){const y=Math.floor(h/p),x="InterleavedBuffer:"+r.bufferView+":"+r.componentType+":"+y+":"+r.count;let b=t.cache.get(x);b||(v=new c(a,y*p,r.count*p/u),b=new n4(v,p/u),t.cache.add(x,b)),A=new fn(b,l,h%p/u,m)}else a===null?v=new c(r.count*l):v=new c(a,h,r.count*l),A=new Gi(v,l,m);if(r.sparse!==void 0){const y=N3.SCALAR,x=id[r.sparse.indices.componentType],b=r.sparse.indices.byteOffset||0,_=r.sparse.values.byteOffset||0,T=new x(o[1],b,r.sparse.count*y),M=new c(o[2],_,r.sparse.count*l);a!==null&&(A=new Gi(A.array.slice(),A.itemSize,A.normalized)),A.normalized=!1;for(let I=0,R=T.length;I<R;I++){const w=T[I];if(A.setX(w,M[I*l]),l>=2&&A.setY(w,M[I*l+1]),l>=3&&A.setZ(w,M[I*l+2]),l>=4&&A.setW(w,M[I*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}A.normalized=m}return A})}loadTexture(e){const t=this.json,i=this.options,s=t.textures[e].source,o=t.images[s];let a=this.textureLoader;if(o.uri){const l=i.manager.getHandler(o.uri);l!==null&&(a=l)}return this.loadTextureImage(e,s,a)}loadTextureImage(e,t,i){const r=this,s=this.json,o=s.textures[e],a=s.images[t],l=(a.uri||a.bufferView)+":"+o.sampler;if(this.textureCache[l])return this.textureCache[l];const c=this.loadImageSource(t,i).then(function(u){u.flipY=!1,u.name=o.name||a.name||"",u.name===""&&typeof a.uri=="string"&&a.uri.startsWith("data:image/")===!1&&(u.name=a.uri);const h=(s.samplers||{})[o.sampler]||{};return u.magFilter=E8[h.magFilter]||Yt,u.minFilter=E8[h.minFilter]||Fs,u.wrapS=T8[h.wrapS]||ts,u.wrapT=T8[h.wrapT]||ts,u.generateMipmaps=!u.isCompressedTexture&&u.minFilter!==Br&&u.minFilter!==Yt,r.associations.set(u,{textures:e}),u}).catch(function(){return null});return this.textureCache[l]=c,c}loadImageSource(e,t){const i=this,r=this.json,s=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(f=>f.clone());const o=r.images[e],a=self.URL||self.webkitURL;let l=o.uri||"",c=!1;if(o.bufferView!==void 0)l=i.getDependency("bufferView",o.bufferView).then(function(f){c=!0;const h=new Blob([f],{type:o.mimeType});return l=a.createObjectURL(h),l});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const u=Promise.resolve(l).then(function(f){return new Promise(function(h,p){let m=h;t.isImageBitmapLoader===!0&&(m=function(v){const A=new xn(v);A.needsUpdate=!0,h(A)}),t.load(T0.resolveURL(f,s.path),m,void 0,p)})}).then(function(f){return c===!0&&a.revokeObjectURL(l),Ea(f,o),f.userData.mimeType=o.mimeType||Eie(o.uri),f}).catch(function(f){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),f});return this.sourceCache[e]=u,u}assignTexture(e,t,i,r){const s=this;return this.getDependency("texture",i.index).then(function(o){if(!o)return null;if(i.texCoord!==void 0&&i.texCoord>0&&(o=o.clone(),o.channel=i.texCoord),s.extensions[Qt.KHR_TEXTURE_TRANSFORM]){const a=i.extensions!==void 0?i.extensions[Qt.KHR_TEXTURE_TRANSFORM]:void 0;if(a){const l=s.associations.get(o);o=s.extensions[Qt.KHR_TEXTURE_TRANSFORM].extendTexture(o,a),s.associations.set(o,l)}}return r!==void 0&&(o.colorSpace=r),e[t]=o,o})}assignFinalMaterial(e){const t=e.geometry;let i=e.material;const r=t.attributes.tangent===void 0,s=t.attributes.color!==void 0,o=t.attributes.normal===void 0;if(e.isPoints){const a="PointsMaterial:"+i.uuid;let l=this.cache.get(a);l||(l=new oP,Eo.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,l.sizeAttenuation=!1,this.cache.add(a,l)),i=l}else if(e.isLine){const a="LineBasicMaterial:"+i.uuid;let l=this.cache.get(a);l||(l=new Lu,Eo.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,this.cache.add(a,l)),i=l}if(r||s||o){let a="ClonedMaterial:"+i.uuid+":";r&&(a+="derivative-tangents:"),s&&(a+="vertex-colors:"),o&&(a+="flat-shading:");let l=this.cache.get(a);l||(l=i.clone(),s&&(l.vertexColors=!0),o&&(l.flatShading=!0),r&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(a,l),this.associations.set(l,this.associations.get(i))),i=l}e.material=i}getMaterialType(){return o4}loadMaterial(e){const t=this,i=this.json,r=this.extensions,s=i.materials[e];let o;const a={},l=s.extensions||{},c=[];if(l[Qt.KHR_MATERIALS_UNLIT]){const f=r[Qt.KHR_MATERIALS_UNLIT];o=f.getMaterialType(),c.push(f.extendParams(a,s,t))}else{const f=s.pbrMetallicRoughness||{};if(a.color=new ke(1,1,1),a.opacity=1,Array.isArray(f.baseColorFactor)){const h=f.baseColorFactor;a.color.setRGB(h[0],h[1],h[2],mi),a.opacity=h[3]}f.baseColorTexture!==void 0&&c.push(t.assignTexture(a,"map",f.baseColorTexture,En)),a.metalness=f.metallicFactor!==void 0?f.metallicFactor:1,a.roughness=f.roughnessFactor!==void 0?f.roughnessFactor:1,f.metallicRoughnessTexture!==void 0&&(c.push(t.assignTexture(a,"metalnessMap",f.metallicRoughnessTexture)),c.push(t.assignTexture(a,"roughnessMap",f.metallicRoughnessTexture))),o=this._invokeOne(function(h){return h.getMaterialType&&h.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(h){return h.extendMaterialParams&&h.extendMaterialParams(e,a)})))}s.doubleSided===!0&&(a.side=Zs);const u=s.alphaMode||k3.OPAQUE;if(u===k3.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,u===k3.MASK&&(a.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.normalTexture!==void 0&&o!==Jr&&(c.push(t.assignTexture(a,"normalMap",s.normalTexture)),a.normalScale=new Re(1,1),s.normalTexture.scale!==void 0)){const f=s.normalTexture.scale;a.normalScale.set(f,f)}if(s.occlusionTexture!==void 0&&o!==Jr&&(c.push(t.assignTexture(a,"aoMap",s.occlusionTexture)),s.occlusionTexture.strength!==void 0&&(a.aoMapIntensity=s.occlusionTexture.strength)),s.emissiveFactor!==void 0&&o!==Jr){const f=s.emissiveFactor;a.emissive=new ke().setRGB(f[0],f[1],f[2],mi)}return s.emissiveTexture!==void 0&&o!==Jr&&c.push(t.assignTexture(a,"emissiveMap",s.emissiveTexture,En)),Promise.all(c).then(function(){const f=new o(a);return s.name&&(f.name=s.name),Ea(f,s),t.associations.set(f,{materials:e}),s.extensions&&Wc(r,f,s),f})}createUniqueName(e){const t=bn.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,i=this.extensions,r=this.primitiveCache;function s(a){return i[Qt.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a,t).then(function(l){return M8(l,a,t)})}const o=[];for(let a=0,l=e.length;a<l;a++){const c=e[a],u=Sie(c),f=r[u];if(f)o.push(f.promise);else{let h;c.extensions&&c.extensions[Qt.KHR_DRACO_MESH_COMPRESSION]?h=s(c):h=M8(new Hn,c,t),r[u]={primitive:c,promise:h},o.push(h)}}return Promise.all(o)}loadMesh(e){const t=this,i=this.json,r=this.extensions,s=i.meshes[e],o=s.primitives,a=[];for(let l=0,c=o.length;l<c;l++){const u=o[l].material===void 0?xie(this.cache):this.getDependency("material",o[l].material);a.push(u)}return a.push(t.loadGeometries(o)),Promise.all(a).then(function(l){const c=l.slice(0,l.length-1),u=l[l.length-1],f=[];for(let p=0,m=u.length;p<m;p++){const v=u[p],A=o[p];let y;const x=c[p];if(A.mode===Xs.TRIANGLES||A.mode===Xs.TRIANGLE_STRIP||A.mode===Xs.TRIANGLE_FAN||A.mode===void 0)y=s.isSkinnedMesh===!0?new vK(v,x):new Qe(v,x),y.isSkinnedMesh===!0&&y.normalizeSkinWeights(),A.mode===Xs.TRIANGLE_STRIP?y.geometry=w8(y.geometry,WI):A.mode===Xs.TRIANGLE_FAN&&(y.geometry=w8(y.geometry,Eb));else if(A.mode===Xs.LINES)y=new MA(v,x);else if(A.mode===Xs.LINE_STRIP)y=new Ms(v,x);else if(A.mode===Xs.LINE_LOOP)y=new CK(v,x);else if(A.mode===Xs.POINTS)y=new wK(v,x);else throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+A.mode);Object.keys(y.geometry.morphAttributes).length>0&&wie(y,s),y.name=t.createUniqueName(s.name||"mesh_"+e),Ea(y,s),A.extensions&&Wc(r,y,A),t.assignFinalMaterial(y),f.push(y)}for(let p=0,m=f.length;p<m;p++)t.associations.set(f[p],{meshes:e,primitives:p});if(f.length===1)return s.extensions&&Wc(r,f[0],s),f[0];const h=new Ha;s.extensions&&Wc(r,h,s),t.associations.set(h,{meshes:e});for(let p=0,m=f.length;p<m;p++)h.add(f[p]);return h})}loadCamera(e){let t;const i=this.json.cameras[e],r=i[i.type];if(!r){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}return i.type==="perspective"?t=new Zi(gn.radToDeg(r.yfov),r.aspectRatio||1,r.znear||1,r.zfar||2e6):i.type==="orthographic"&&(t=new Ou(-r.xmag,r.xmag,r.ymag,-r.ymag,r.znear,r.zfar)),i.name&&(t.name=this.createUniqueName(i.name)),Ea(t,i),Promise.resolve(t)}loadSkin(e){const t=this.json.skins[e],i=[];for(let r=0,s=t.joints.length;r<s;r++)i.push(this._loadNodeShallow(t.joints[r]));return t.inverseBindMatrices!==void 0?i.push(this.getDependency("accessor",t.inverseBindMatrices)):i.push(null),Promise.all(i).then(function(r){const s=r.pop(),o=r,a=[],l=[];for(let c=0,u=o.length;c<u;c++){const f=o[c];if(f){a.push(f);const h=new Ct;s!==null&&h.fromArray(s.array,c*16),l.push(h)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',t.joints[c])}return new i4(a,l)})}loadAnimation(e){const t=this.json,i=this,r=t.animations[e],s=r.name?r.name:"animation_"+e,o=[],a=[],l=[],c=[],u=[];for(let f=0,h=r.channels.length;f<h;f++){const p=r.channels[f],m=r.samplers[p.sampler],v=p.target,A=v.node,y=r.parameters!==void 0?r.parameters[m.input]:m.input,x=r.parameters!==void 0?r.parameters[m.output]:m.output;v.node!==void 0&&(o.push(this.getDependency("node",A)),a.push(this.getDependency("accessor",y)),l.push(this.getDependency("accessor",x)),c.push(m),u.push(v))}return Promise.all([Promise.all(o),Promise.all(a),Promise.all(l),Promise.all(c),Promise.all(u)]).then(function(f){const h=f[0],p=f[1],m=f[2],v=f[3],A=f[4],y=[];for(let x=0,b=h.length;x<b;x++){const _=h[x],T=p[x],M=m[x],I=v[x],R=A[x];if(_===void 0)continue;_.updateMatrix&&_.updateMatrix();const w=i._createAnimationTracks(_,T,M,I,R);if(w)for(let E=0;E<w.length;E++)y.push(w[E])}return new NK(s,void 0,y)})}createNodeMesh(e){const t=this.json,i=this,r=t.nodes[e];return r.mesh===void 0?null:i.getDependency("mesh",r.mesh).then(function(s){const o=i._getNodeRef(i.meshCache,r.mesh,s);return r.weights!==void 0&&o.traverse(function(a){if(a.isMesh)for(let l=0,c=r.weights.length;l<c;l++)a.morphTargetInfluences[l]=r.weights[l]}),o})}loadNode(e){const t=this.json,i=this,r=t.nodes[e],s=i._loadNodeShallow(e),o=[],a=r.children||[];for(let c=0,u=a.length;c<u;c++)o.push(i.getDependency("node",a[c]));const l=r.skin===void 0?Promise.resolve(null):i.getDependency("skin",r.skin);return Promise.all([s,Promise.all(o),l]).then(function(c){const u=c[0],f=c[1],h=c[2];h!==null&&u.traverse(function(p){p.isSkinnedMesh&&p.bind(h,Tie)});for(let p=0,m=f.length;p<m;p++)u.add(f[p]);return u})}_loadNodeShallow(e){const t=this.json,i=this.extensions,r=this;if(this.nodeCache[e]!==void 0)return this.nodeCache[e];const s=t.nodes[e],o=s.name?r.createUniqueName(s.name):"",a=[],l=r._invokeOne(function(c){return c.createNodeMesh&&c.createNodeMesh(e)});return l&&a.push(l),s.camera!==void 0&&a.push(r.getDependency("camera",s.camera).then(function(c){return r._getNodeRef(r.cameraCache,s.camera,c)})),r._invokeAll(function(c){return c.createNodeAttachment&&c.createNodeAttachment(e)}).forEach(function(c){a.push(c)}),this.nodeCache[e]=Promise.all(a).then(function(c){let u;if(s.isBone===!0?u=new sP:c.length>1?u=new Ha:c.length===1?u=c[0]:u=new Wt,u!==c[0])for(let f=0,h=c.length;f<h;f++)u.add(c[f]);if(s.name&&(u.userData.name=s.name,u.name=o),Ea(u,s),s.extensions&&Wc(i,u,s),s.matrix!==void 0){const f=new Ct;f.fromArray(s.matrix),u.applyMatrix4(f)}else s.translation!==void 0&&u.position.fromArray(s.translation),s.rotation!==void 0&&u.quaternion.fromArray(s.rotation),s.scale!==void 0&&u.scale.fromArray(s.scale);return r.associations.has(u)||r.associations.set(u,{}),r.associations.get(u).nodes=e,u}),this.nodeCache[e]}loadScene(e){const t=this.extensions,i=this.json.scenes[e],r=this,s=new Ha;i.name&&(s.name=r.createUniqueName(i.name)),Ea(s,i),i.extensions&&Wc(t,s,i);const o=i.nodes||[],a=[];for(let l=0,c=o.length;l<c;l++)a.push(r.getDependency("node",o[l]));return Promise.all(a).then(function(l){for(let u=0,f=l.length;u<f;u++)s.add(l[u]);const c=u=>{const f=new Map;for(const[h,p]of r.associations)(h instanceof Eo||h instanceof xn)&&f.set(h,p);return u.traverse(h=>{const p=r.associations.get(h);p!=null&&f.set(h,p)}),f};return r.associations=c(s),s})}_createAnimationTracks(e,t,i,r,s){const o=[],a=e.name?e.name:e.uuid,l=[];ml[s.path]===ml.weights?e.traverse(function(h){h.morphTargetInfluences&&l.push(h.name?h.name:h.uuid)}):l.push(a);let c;switch(ml[s.path]){case ml.weights:c=Pd;break;case ml.rotation:c=Rd;break;case ml.position:case ml.scale:c=Bd;break;default:switch(i.itemSize){case 1:c=Pd;break;case 2:case 3:default:c=Bd;break}break}const u=r.interpolation!==void 0?bie[r.interpolation]:ep,f=this._getArrayFromAccessor(i);for(let h=0,p=l.length;h<p;h++){const m=new c(l[h]+"."+ml[s.path],t.array,f,u);r.interpolation==="CUBICSPLINE"&&this._createCubicSplineTrackInterpolant(m),o.push(m)}return o}_getArrayFromAccessor(e){let t=e.array;if(e.normalized){const i=Db(t.constructor),r=new Float32Array(t.length);for(let s=0,o=t.length;s<o;s++)r[s]=t[s]*i;t=r}return t}_createCubicSplineTrackInterpolant(e){e.createInterpolant=function(i){const r=this instanceof Rd?_ie:bP;return new r(this.times,this.values,this.getValueSize()/3,i)},e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function Iie(n,e,t){const i=e.attributes,r=new Hs;if(i.POSITION!==void 0){const a=t.json.accessors[i.POSITION],l=a.min,c=a.max;if(l!==void 0&&c!==void 0){if(r.set(new K(l[0],l[1],l[2]),new K(c[0],c[1],c[2])),a.normalized){const u=Db(id[a.componentType]);r.min.multiplyScalar(u),r.max.multiplyScalar(u)}}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else return;const s=e.targets;if(s!==void 0){const a=new K,l=new K;for(let c=0,u=s.length;c<u;c++){const f=s[c];if(f.POSITION!==void 0){const h=t.json.accessors[f.POSITION],p=h.min,m=h.max;if(p!==void 0&&m!==void 0){if(l.setX(Math.max(Math.abs(p[0]),Math.abs(m[0]))),l.setY(Math.max(Math.abs(p[1]),Math.abs(m[1]))),l.setZ(Math.max(Math.abs(p[2]),Math.abs(m[2]))),h.normalized){const v=Db(id[h.componentType]);l.multiplyScalar(v)}a.max(l)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}r.expandByVector(a)}n.boundingBox=r;const o=new ao;r.getCenter(o.center),o.radius=r.min.distanceTo(r.max)/2,n.boundingSphere=o}function M8(n,e,t){const i=e.attributes,r=[];function s(o,a){return t.getDependency("accessor",o).then(function(l){n.setAttribute(a,l)})}for(const o in i){const a=Bb[o]||o.toLowerCase();a in n.attributes||r.push(s(i[o],a))}if(e.indices!==void 0&&!n.index){const o=t.getDependency("accessor",e.indices).then(function(a){n.setIndex(a)});r.push(o)}return Xt.workingColorSpace!==mi&&"COLOR_0"in i&&console.warn(`THREE.GLTFLoader: Convert
3901ing vertex colors from "srgb-linear" to "${Xt.workingColorSpace}" not supported.`),Ea(n,e),Iie(n,e,t),Promise.all(r).then(function(){return e.targets!==void 0?Cie(n,e.targets,t):n})}const I8={type:"change"},h4={type:"start"},xP={type:"end"},S1=new kd,P8=new El,Pie=Math.cos(70*gn.DEG2RAD),Li=new K,os=2*Math.PI,Sn={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},H3=1e-6;class CP extends pP{constructor(e,t=null){super(e,t),this.state=Sn.NONE,this.enabled=!0,this.target=new K,this.cursor=new K,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:ed.ROTATE,MIDDLE:ed.DOLLY,RIGHT:ed.PAN},this.touches={ONE:Nf.ROTATE,TWO:Nf.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this._lastPosition=new K,this._lastQuaternion=new Xn,this._lastTargetPosition=new K,this._quat=new Xn().setFromUnitVectors(e.up,new K(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new YS,this._sphericalDelta=new YS,this._scale=1,this._panOffset=new K,this._rotateStart=new Re,this._rotateEnd=new Re,this._rotateDelta=new Re,this._panStart=new Re,this._panEnd=new Re,this._panDelta=new Re,this._dollyStart=new Re,this._dollyEnd=new Re,this._dollyDelta=new Re,this._dollyDirection=new K,this._mouse=new Re,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=Bie.bind(this),this._onPointerDown=Rie.bind(this),this._onPointerUp=Die.bind(this),this._onContextMenu=zie.bind(this),this._onMouseWheel=Fie.bind(this),this._onKeyDown=Uie.bind(this),this._onTouchStart=Nie.bind(this),this._onTouchMove=kie.bind(this),this._onMouseDown=Lie.bind(this),this._onMouseMove=Oie.bind(this),this._interceptControlDown=Hie.bind(this),this._interceptControlUp=Vie.bind(this),this.domElement!==null&&this.connect(),this.update()}connect(){this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener("keydown",this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener("keydown",this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction="auto"}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(e){e.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=e}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(I8),this.update(),this.state=Sn.NONE}update(e=null){const t=this.object.position;Li.copy(t).sub(this.target),Li.applyQuaternion(this._quat),this._spherical.setFromVector3(Li),this.autoRotate&&this.state===Sn.NONE&&this._rotateLeft(this._getAutoRotationAngle(e)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let i=this.minAzimuthAngle,r=this.maxAzimuthAngle;isFinite(i)&&isFinite(r)&&(i<-Math.PI?i+=os:i>Math.PI&&(i-=os),r<-Math.PI?r+=os:r>Math.PI&&(r-=os),i<=r?this._spherical.theta=Math.max(i,Math.min(r,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(i+r)/2?Math.max(i,this._spherical.theta):Math.min(r,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let s=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radiu
vendor: 15,390 bytes, line 3901
3901s=this._clampDistance(this._spherical.radius);else{const o=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),s=o!=this._spherical.radius}if(Li.setFromSpherical(this._spherical),Li.applyQuaternion(this._quatInverse),t.copy(this.target).add(Li),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let o=null;if(this.object.isPerspectiveCamera){const a=Li.length();o=this._clampDistance(a*this._scale);const l=a-o;this.object.position.addScaledVector(this._dollyDirection,l),this.object.updateMatrixWorld(),s=!!l}else if(this.object.isOrthographicCamera){const a=new K(this._mouse.x,this._mouse.y,0);a.unproject(this.object);const l=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),s=l!==this.object.zoom;const c=new K(this._mouse.x,this._mouse.y,0);c.unproject(this.object),this.object.position.sub(c).add(a),this.object.updateMatrixWorld(),o=Li.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;o!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position):(S1.origin.copy(this.object.position),S1.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(S1.direction))<Pie?this.object.lookAt(this.target):(P8.setFromNormalAndCoplanarPoint(this.object.up,this.target),S1.intersectPlane(P8,this.target))))}else if(this.object.isOrthographicCamera){const o=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),o!==this.object.zoom&&(this.object.updateProjectionMatrix(),s=!0)}return this._scale=1,this._performCursorZoom=!1,s||this._lastPosition.distanceToSquared(this.object.position)>H3||8*(1-this._lastQuaternion.dot(this.object.quaternion))>H3||this._lastTargetPosition.distanceToSquared(this.target)>H3?(this.dispatchEvent(I8),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e!==null?os/60*this.autoRotateSpeed*e:os/60/60*this.autoRotateSpeed}_getZoomScale(e){const t=Math.abs(e*.01);return Math.pow(.95,this.zoomSpeed*t)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,t){Li.setFromMatrixColumn(t,0),Li.multiplyScalar(-e),this._panOffset.add(Li)}_panUp(e,t){this.screenSpacePanning===!0?Li.setFromMatrixColumn(t,1):(Li.setFromMatrixColumn(t,0),Li.crossVectors(this.object.up,Li)),Li.multiplyScalar(e),this._panOffset.add(Li)}_pan(e,t){const i=this.domElement;if(this.object.isPerspectiveCamera){const r=this.object.position;Li.copy(r).sub(this.target);let s=Li.length();s*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*s/i.clientHeight,this.object.matrix),this._panUp(2*t*s/i.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/i.clientWidth,this.object.matrix),this._panUp(t*(this.object.top-this.object.bottom)/this.object.zoom/i.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(e,t){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const i=this.domElement.getBoundingClientRect(),r=e-i.left,s=t-i.top,o=i.width,a=i.height;this._mouse.x=r/o*2-1,this._mouse.y=-(s/a)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const t=this.domElement;this._rotateLeft(os*this._rotateDelta.x/t.clientHeight),this._rotateUp(os*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let t=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(os*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),t=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(-os*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),t=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(os*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),t=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(-os*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),t=!0;break}t&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),i=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._rotateStart.set(i,r)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),i=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panStart.set(i,r)}}_handleTouchStartDolly(e){const t=this._getSecondPointerPosition(e),i=e.pageX-t.x,r=e.pageY-t.y,s=Math.sqrt(i*i+r*r);this._dollyStart.set(0,s)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{const i=this._getSecondPointerPosition(e),r=.5*(e.pageX+i.x),s=.5*(e.pageY+i.y);this._rotateEnd.set(r,s)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const t=this.domElement;this._rotateLeft(os*this._rotateDelta.x/t.clientHeight),this._rotateUp(os*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),i=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panEnd.set(i,r)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){const t=this._getSecondPointerPosition(e),i=e.pageX-t.x,r=e.pageY-t.y,s=Math.sqrt(i*i+r*r);this._dollyEnd.set(0,s),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const o=(e.pageX+t.x)*.5,a=(e.pageY+t.y)*.5;this._updateZoomParameters(o,a)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let t=0;t<this._pointers.length;t++)if(this._pointers[t]==e.pointerId){this._pointers.splice(t,1);return}}_isTrackingPointer(e){for(let t=0;t<this._pointers.length;t++)if(this._pointers[t]==e.pointerId)return!0;return!1}_trackPointer(e){let t=this._pointerPositions[e.pointerId];t===void 0&&(t=new Re,this._pointerPositions[e.pointerId]=t),t.set(e.pageX,e.pageY)}_getSecondPointerPosition(e){const t=e.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[t]}_customWheelEvent(e){const t=e.deltaMode,i={clientX:e.clientX,clientY:e.clientY,deltaY:e.deltaY};switch(t){case 1:i.deltaY*=16;break;case 2:i.deltaY*=100;break}return e.ctrlKey&&!this._controlActive&&(i.deltaY*=10),i}}function Rie(n){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(n.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerup",this._onPointerUp)),!this._isTrackingPointer(n)&&(this._addPointer(n),n.pointerType==="touch"?this._onTouchStart(n):this._onMouseDown(n)))}function Bie(n){this.enabled!==!1&&(n.pointerType==="touch"?this._onTouchMove(n):this._onMouseMove(n))}function Die(n){switch(this._removePointer(n),this._pointers.length){case 0:this.domElement.releasePointerCapture(n.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(xP),this.state=Sn.NONE;break;case 1:const e=this._pointers[0],t=this._pointerPositions[e];this._onTouchStart({pointerId:e,pageX:t.x,pageY:t.y});break}}function Lie(n){let e;switch(n.button){case 0:e=this.mouseButtons.LEFT;break;case 1:e=this.mouseButtons.MIDDLE;break;case 2:e=this.mouseButtons.RIGHT;break;default:e=-1}switch(e){case ed.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(n),this.state=Sn.DOLLY;break;case ed.ROTATE:if(n.ctrlKey||n.metaKey||n.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(n),this.state=Sn.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(n),this.state=Sn.ROTATE}break;case ed.PAN:if(n.ctrlKey||n.metaKey||n.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(n),this.state=Sn.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(n),this.state=Sn.PAN}break;default:this.state=Sn.NONE}this.state!==Sn.NONE&&this.dispatchEvent(h4)}function Oie(n){switch(this.state){case Sn.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(n);break;case Sn.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(n);break;case Sn.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(n);break}}function Fie(n){this.enabled===!1||this.enableZoom===!1||this.state!==Sn.NONE||(n.preventDefault(),this.dispatchEvent(h4),this._handleMouseWheel(this._customWheelEvent(n)),this.dispatchEvent(xP))}function Uie(n){this.enabled!==!1&&this._handleKeyDown(n)}function Nie(n){switch(this._trackPointer(n),this._pointers.length){case 1:switch(this.touches.ONE){case Nf.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(n),this.state=Sn.TOUCH_ROTATE;break;case Nf.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(n),this.state=Sn.TOUCH_PAN;break;default:this.state=Sn.NONE}break;case 2:switch(this.touches.TWO){case Nf.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(n),this.state=Sn.TOUCH_DOLLY_PAN;break;case Nf.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(n),this.state=Sn.TOUCH_DOLLY_ROTATE;break;default:this.state=Sn.NONE}break;default:this.state=Sn.NONE}this.state!==Sn.NONE&&this.dispatchEvent(h4)}function kie(n){switch(this._trackPointer(n),this.state){case Sn.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(n),this.update();break;case Sn.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(n),this.update();break;case Sn.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(n),this.update();break;case Sn.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(n),this.update();break;default:this.state=Sn.NONE}}function zie(n){this.enabled!==!1&&n.preventDefault()}function Hie(n){n.key==="Control"&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function Vie(n){n.key==="Control"&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}const jc=new u4,br=new K,gl=new K,qn=new Xn,R8={X:new K(1,0,0),Y:new K(0,1,0),Z:new K(0,0,1)},V3={type:"change"},B8={type:"mouseDown",mode:null},D8={type:"mouseUp",mode:null},L8={type:"objectChange"};class Gie extends pP{constructor(e,t=null){super(void 0,t);const i=new Yie(this);this._root=i;const r=new $ie;this._gizmo=r,i.add(r);const s=new Kie;this._plane=s,i.add(s);const o=this;function a(b,_){let T=_;Object.defineProperty(o,b,{get:function(){return T!==void 0?T:_},set:function(M){T!==M&&(T=M,s[b]=M,r[b]=M,o.dispatchEvent({type:b+"-changed",value:M}),o.dispatchEvent(V3))}}),o[b]=_,s[b]=_,r[b]=_}a("camera",e),a("object",void 0),a("enabled",!0),a("axis",null),a("mode","translate"),a("translationSnap",null),a("rotationSnap",null),a("scaleSnap",null),a("space","world"),a("size",1),a("dragging",!1),a("showX",!0),a("showY",!0),a("showZ",!0),a("minX",-1/0),a("maxX",1/0),a("minY",-1/0),a("maxY",1/0),a("minZ",-1/0),a("maxZ",1/0);const l=new K,c=new K,u=new Xn,f=new Xn,h=new K,p=new Xn,m=new K,v=new K,A=new K,y=0,x=new K;a("worldPosition",l),a("worldPositionStart",c),a("worldQuaternion",u),a("worldQuaternionStart",f),a("cameraPosition",h),a("cameraQuaternion",p),a("pointStart",m),a("pointEnd",v),a("rotationAxis",A),a("rotationAngle",y),a("eye",x),this._offset=new K,this._startNorm=new K,this._endNorm=new K,this._cameraScale=new K,this._parentPosition=new K,this._parentQuaternion=new Xn,this._parentQuaternionInv=new Xn,this._parentScale=new K,this._worldScaleStart=new K,this._worldQuaternionInv=new Xn,this._worldScale=new K,this._positionStart=new K,this._quaternionStart=new Xn,this._scaleStart=new K,this._getPointer=Qie.b
3901ind(this),this._onPointerDown=jie.bind(this),this._onPointerHover=Wie.bind(this),this._onPointerMove=qie.bind(this),this._onPointerUp=Xie.bind(this),t!==null&&this.connect()}connect(){this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointermove",this._onPointerHover),this.domElement.addEventListener("pointerup",this._onPointerUp),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointermove",this._onPointerHover),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.domElement.style.touchAction="auto"}getHelper(){return this._root}pointerHover(e){if(this.object===void 0||this.dragging===!0)return;e!==null&&jc.setFromCamera(e,this.camera);const t=G3(this._gizmo.picker[this.mode],jc);t?this.axis=t.object.name:this.axis=null}pointerDown(e){if(!(this.object===void 0||this.dragging===!0||e!=null&&e.button!==0)&&this.axis!==null){e!==null&&jc.setFromCamera(e,this.camera);const t=G3(this._plane,jc,!0);t&&(this.object.updateMatrixWorld(),this.object.parent.updateMatrixWorld(),this._positionStart.copy(this.object.position),this._quaternionStart.copy(this.object.quaternion),this._scaleStart.copy(this.object.scale),this.object.matrixWorld.decompose(this.worldPositionStart,this.worldQuaternionStart,this._worldScaleStart),this.pointStart.copy(t.point).sub(this.worldPositionStart)),this.dragging=!0,B8.mode=this.mode,this.dispatchEvent(B8)}}pointerMove(e){const t=this.axis,i=this.mode,r=this.object;let s=this.space;if(i==="scale"?s="local":(t==="E"||t==="XYZE"||t==="XYZ")&&(s="world"),r===void 0||t===null||this.dragging===!1||e!==null&&e.button!==-1)return;e!==null&&jc.setFromCamera(e,this.camera);const o=G3(this._plane,jc,!0);if(o){if(this.pointEnd.copy(o.point).sub(this.worldPositionStart),i==="translate")this._offset.copy(this.pointEnd).sub(this.pointStart),s==="local"&&t!=="XYZ"&&this._offset.applyQuaternion(this._worldQuaternionInv),t.indexOf("X")===-1&&(this._offset.x=0),t.indexOf("Y")===-1&&(this._offset.y=0),t.indexOf("Z")===-1&&(this._offset.z=0),s==="local"&&t!=="XYZ"?this._offset.applyQuaternion(this._quaternionStart).divide(this._parentScale):this._offset.applyQuaternion(this._parentQuaternionInv).divide(this._parentScale),r.position.copy(this._offset).add(this._positionStart),this.translationSnap&&(s==="local"&&(r.position.applyQuaternion(qn.copy(this._quaternionStart).invert()),t.search("X")!==-1&&(r.position.x=Math.round(r.position.x/this.translationSnap)*this.translationSnap),t.search("Y")!==-1&&(r.position.y=Math.round(r.position.y/this.translationSnap)*this.translationSnap),t.search("Z")!==-1&&(r.position.z=Math.round(r.position.z/this.translationSnap)*this.translationSnap),r.position.applyQuaternion(this._quaternionStart)),s==="world"&&(r.parent&&r.position.add(br.setFromMatrixPosition(r.parent.matrixWorld)),t.search("X")!==-1&&(r.position.x=Math.round(r.position.x/this.translationSnap)*this.translationSnap),t.search("Y")!==-1&&(r.position.y=Math.round(r.position.y/this.translationSnap)*this.translationSnap),t.search("Z")!==-1&&(r.position.z=Math.round(r.position.z/this.translationSnap)*this.translationSnap),r.parent&&r.position.sub(br.setFromMatrixPosition(r.parent.matrixWorld)))),r.position.x=Math.max(this.minX,Math.min(this.maxX,r.position.x)),r.position.y=Math.max(this.minY,Math.min(this.maxY,r.position.y)),r.position.z=Math.max(this.minZ,Math.min(this.maxZ,r.position.z));else if(i==="scale"){if(t.search("XYZ")!==-1){let a=this.pointEnd.length()/this.pointStart.length();this.pointEnd.dot(this.pointStart)<0&&(a*=-1),gl.set(a,a,a)}else br.copy(this.pointStart),gl.copy(this.pointEnd),br.applyQuaternion(this._worldQuaternionInv),gl.applyQuaternion(this._worldQuaternionInv),gl.divide(br),t.search("X")===-1&&(gl.x=1),t.search("Y")===-1&&(gl.y=1),t.search("Z")===-1&&(gl.z=1);r.scale.copy(this._scaleStart).multiply(gl),this.scaleSnap&&(t.search("X")!==-1&&(r.scale.x=Math.round(r.
3901scale.x/this.scaleSnap)*this.scaleSnap||this.scaleSnap),t.search("Y")!==-1&&(r.scale.y=Math.round(r.scale.y/this.scaleSnap)*this.scaleSnap||this.scaleSnap),t.search("Z")!==-1&&(r.scale.z=Math.round(r.scale.z/this.scaleSnap)*this.scaleSnap||this.scaleSnap))}else if(i==="rotate"){this._offset.copy(this.pointEnd).sub(this.pointStart);const a=20/this.worldPosition.distanceTo(br.setFromMatrixPosition(this.camera.matrixWorld));let l=!1;t==="XYZE"?(this.rotationAxis.copy(this._offset).cross(this.eye).normalize(),this.rotationAngle=this._offset.dot(br.copy(this.rotationAxis).cross(this.eye))*a):(t==="X"||t==="Y"||t==="Z")&&(this.rotationAxis.copy(R8[t]),br.copy(R8[t]),s==="local"&&br.applyQuaternion(this.worldQuaternion),br.cross(this.eye),br.length()===0?l=!0:this.rotationAngle=this._offset.dot(br.normalize())*a),(t==="E"||l)&&(this.rotationAxis.copy(this.eye),this.rotationAngle=this.pointEnd.angleTo(this.pointStart),this._startNorm.copy(this.pointStart).normalize(),this._endNorm.copy(this.pointEnd).normalize(),this.rotationAngle*=this._endNorm.cross(this._startNorm).dot(this.eye)<0?1:-1),this.rotationSnap&&(this.rotationAngle=Math.round(this.rotationAngle/this.rotationSnap)*this.rotationSnap),s==="local"&&t!=="E"&&t!=="XYZE"?(r.quaternion.copy(this._quaternionStart),r.quaternion.multiply(qn.setFromAxisAngle(this.rotationAxis,this.rotationAngle)).normalize()):(this.rotationAxis.applyQuaternion(this._parentQuaternionInv),r.quaternion.copy(qn.setFromAxisAngle(this.rotationAxis,this.rotationAngle)),r.quaternion.multiply(this._quaternionStart).normalize())}this.dispatchEvent(V3),this.dispatchEvent(L8)}}pointerUp(e){e!==null&&e.button!==0||(this.dragging&&this.axis!==null&&(D8.mode=this.mode,this.dispatchEvent(D8)),this.dragging=!1,this.axis=null)}dispose(){this.disconnect(),this._root.dispose()}attach(e){return this.object=e,this._root.visible=!0,this}detach(){return this.object=void 0,this.axis=null,this._root.visible=!1,this}reset(){this.enabled&&this.dragging&&(this.object.position.copy(this._positionStart),this.object.quaternion.copy(this._quaternionStart),this.object.scale.copy(this._scaleStart),this.dispatchEvent(V3),this.dispatchEvent(L8),this.pointStart.copy(this.pointEnd))}getRaycaster(){return jc}getMode(){return this.mode}setMode(e){this.mode=e}setTranslationSnap(e){this.translationSnap=e}setRotationSnap(e){this.rotationSnap=e}setScaleSnap(e){this.scaleSnap=e}setSize(e){this.size=e}setSpace(e){this.space=e}}function Qie(n){if(this.domElement.ownerDocument.pointerLockElement)return{x:0,y:0,button:n.button};{const e=this.domElement.getBoundingClientRect();return{x:(n.clientX-e.left)/e.width*2-1,y:-(n.clientY-e.top)/e.height*2+1,button:n.button}}}function Wie(n){if(this.enabled)switch(n.pointerType){case"mouse":case"pen":this.pointerHover(this._getPointer(n));break}}function jie(n){this.enabled&&(document.pointerLockElement||this.domElement.setPointerCapture(n.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.pointerHover(this._getPointer(n)),this.pointerDown(this._getPointer(n)))}function qie(n){this.enabled&&this.pointerMove(this._getPointer(n))}function Xie(n){this.enabled&&(this.domElement.releasePointerCapture(n.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.pointerUp(this._getPointer(n)))}function G3(n,e,t){const i=e.intersectObject(n,!0);for(let r=0;r<i.length;r++)if(i[r].object.visible||t)return i[r];return!1}const E1=new Pi,In=new K(0,1,0),O8=new K(0,0,0),F8=new Ct,T1=new Xn,eg=new Xn,Fo=new K,U8=new Ct,Yh=new K(1,0,0),Jc=new K(0,1,0),$h=new K(0,0,1),M1=new K,Lh=new K,Oh=new K;class Yie extends Wt{constructor(e){super(),this.isTransformControlsRoot=!0,this.controls=e,this.visible=!1}updateMatrixWorld(e){const t=this.controls;t.object!==void 0&&(t.object.updateMatrixWorld(),t.object.parent===null?console.error("TransformControls: The attached 3D object must be a part of the scene graph."):t.object.parent.matrixWorld.decompose(t._parentPosition,t._parentQuaternion,t._parentScale),t.object.matrixWorld.decompose(t.worldPosition,t.worldQuaternion,t._worldScale),t._parentQuaternionInv.copy(t._parentQuaternion).invert(),t._worldQuaternionInv.copy(t.worldQuaternion).invert()),t.camera.updateMatrixWorld(),t.camera.matrixWorld.decompose(t.cameraPosition,t.cameraQuaternion,t._cameraScale),t.camera.isOrthographicCamera?t.camera.getWorldDirection(t.eye).negate():t.eye.copy(t.cameraPosition).sub(t.worldPosition).normalize(),super.updateMatrixWorld(e)}dispose(){this.traverse(function(e){e.geometry&&e.geometry.dispose(),e.material&&e.material.dispose()})}}class $ie extends Wt{constructor(){super(),this.isTransformControlsGizmo=!0,this.type="TransformControlsGizmo";const e=new Jr({depthTest:!1,depthWrite:!1,fog:!1,toneMapped:!1,transparent:!0}),t=new Lu({depthTest:!1,depthWrite:!1,fog:!1,toneMapped:!1,transparent:!0}),i=e.clone();i.opacity=.15;const r=t.clone();r.opacity=.5;const s=e.clone();s.color.setHex(16711680);const o=e.clone();o.color.setHex(65280);const a=e.clone();a.color.setHex(255);const l=e.clone();l.color.setHex(16711680),l.opacity=.5;const c=e.clone();c.color.setHex(65280),c.opacity=.5;const u=e.clone();u.color.setHex(255),u.opacity=.5;const f=e.clone();f.opacity=.25;const h=e.clone();h.color.setHex(16776960),h.opacity=.25,e.clone().color.setHex(16776960);const m=e.clone();m.color.setHex(7895160);const v=new ar(0,.04,.1,12);v.translate(0,.05,0);const A=new fi(.08,.08,.08);A.translate(0,.04,0);const y=new Hn;y.setAttribute("position",new en([0,0,0,1,0,0],3));const x=new ar(.0075,.0075,.5,3);x.translate(0,.25,0);function b(j,N){const Q=new tu(j,.0075,3,64,N*Math.PI*2);return Q.rotateY(Math.PI/2),Q.rotateX(Math.PI/2),Q}function _(){const j=new Hn;return j.setAttribute("position",new en([0,0,0,1,1,1],3)),j}const T={X:[[new Qe(v,s),[.5,0,0],[0,0,-Math.PI/2]],[new Qe(v,s),[-.5,0,0],[0,0,Math.PI/2]],[new Qe(x,s),[0,0,0],[0,0,-Math.PI/2]]],Y:[[new Qe(v,o),[0,.5,0]],[new Qe(v,o),[0,-.5,0],[Math.PI,0,0]],[new Qe(x,o)]],Z:[[new Qe(v,a),[0,0,.5],[Math.PI/2,0,0]],[new Qe(v,a),[0,0,-.5],[-Math.PI/2,0,0]],[new Qe(x,a),null,[Math.PI/2,0,0]]],XYZ:[[new Qe(new kf(.1,0),f.clone()),[0,0,0]]],XY:[[new Qe(new fi(.15,.15,.01),u.clone()),[.15,.15,0]]],YZ:[[new Qe(new fi(.15,.15,.01),l.clone()),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new Qe(new fi(.15,.15,.01),c.clone()),[.15,0,.15],[-Math.PI/2,0,0]]]},M={X:[[new Qe(new ar(.2,0,.6,4),i),[.3,0,0],[0,0,-Math.PI/2]],[new Qe(new ar(.2,0,.6,4),i),[-.3,0,0],[0,0,Math.PI/2]]],Y:[[new Qe(new ar(.2,0,.6,4),i),[0,.3,0]],[new Qe(new ar(.2,0,.6,4),i),[0,-.3,0],[0,0,Math.PI]]],Z:[[new Qe(new ar(.2,0,.6,4),i),[0,0,.3],[Math.PI/2,0,0]],[new Qe(new ar(.2,0,.6,4),i),[0,0,-.3],[-Math.PI/2,0,0]]],XYZ:[[new Qe(new kf(.2,0),i)]],XY:[[new Qe(new fi(.2,.2,.01),i),[.15,.15,0]]],YZ:[[new Qe(new fi(.2,.2,.01),i),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new Qe(new fi(.2,.2,.01),i),[.15,0,.15],[-Math.PI/2,0,0]]]},I={START:[[new Qe(new kf(.01,2),r),null,null,null,"helper"]],END:[[new Qe(new kf(.01,2),r),null,null,null,"helper"]],DELTA:[[new Ms(_(),r),null,null,null,"helper"]],X:[[new Ms(y,r.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new Ms(y,r.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new Ms(y,r.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]},R={XYZE:[[new Qe(b(.5,1),m),null,[0,Math.PI/2,0]]],X:[[new Qe(b(.5,.5),s)]],Y:[[new Qe(b(.5,.5),o),null,[0,0,-Math.PI/2]]],Z:[[new Qe(b(.5,.5),a),null,[0,Math.PI/2,0]]],E:[[new Qe(b(.75,1),h),null,[0,Math.PI/2,0]]]},w={AXIS:[[new Ms(y,r.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]]},E={XYZE:[[new Qe(new Hd(.25,10,8),i)]],X:[[new Qe(new tu(.5,.1,4,24),i),[0,0,0],[0,-Math.PI/2,-Math.PI/2]]],Y:[[new Qe(new tu(.5,.1,4,24),i),[0,0,0],[Math.PI/2,0,0]]],Z:[[new Qe(new tu(.5,.1,4,24),i),[0,0,0],[0,0,-Math.PI/2]]],E:[[new Qe(new tu(.75,.1,2,24),i)]]},F={X:[[new Qe(A,s),[.5,0,0],[0,0,-Math.PI/2]],[new Qe(x,s),[0,0,0],[0,0,-Math.PI/2]],[new Qe(A,s),[-.5,0,0],[0,0,Math.PI/2]]],Y:[[new Qe(A,o),[0,.5,0]],[new Qe(x,o)],[new Qe(A,o),[0,-.5,0],[0,0,Math.PI]]],Z:[[new Qe(A,a),[0,0,.5],[Math.PI/2,0,0]],[new Qe(x,a),[0,0,0],[Math.PI/2,0,0]],[new Qe(A,a),[0,0,-.5],[-Math.PI/2,0,0]]],XY:[[new Qe(new fi(.15,.15,.01),u),[.15,.15,0]]],YZ:[[new Qe(new fi(.15,.15,.01),l),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new Qe(new fi(.15,.15,.01),c),[.15,0,.15],[-Math.PI/2,0,0]]],XYZ:[[new Qe(new fi(.1,.1,.1),f.clone())]]},L={X:[[new Qe(new ar(.2,0,.6,4),i),[.3,0,0],[0,0,-Math.PI/2]],[new Qe(new ar(.2,0,.6,4),i),[-.3,0,0],[0,0,Math.PI/2]]],Y:[[new Qe(new ar(.2,0,.6,4),i),[0,.3,0]],[new Qe(new ar(.2,0,.6,4),i),[0,-.3,0],[0,0,Math.PI]]],Z:[[new Qe(new ar(.2,0,.6,4),i),[0,0,.3],[Math.PI/2,0,0]],[new Qe(new ar(.2,0,.6,4),i),[0,0,-.3],[-Math.PI/2,0,0]]],XY:[[new Qe(new fi(.2,.2,.01),i),[.15,.15,0]]],YZ:[[new Qe(new fi(.2,.2,.01),i),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new Qe(new fi(.2,.2,.01),i),[.15,0,.15],[-Math.PI/2,0,0]]],XYZ:[[new Qe(new fi(.2,.2,.2),i),[0,0,0]]]},z={X:[[new Ms(y,r.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new Ms(y,r.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new Ms(y,r.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]};function V(j){const N=new Wt;for(const Q in j)for(let W=j[Q].length;W--;
3901){const ee=j[Q][W][0].clone(),H=j[Q][W][1],ye=j[Q][W][2],Ie=j[Q][W][3],ze=j[Q][W][4];ee.name=Q,ee.tag=ze,H&&ee.position.set(H[0],H[1],H[2]),ye&&ee.rotation.set(ye[0],ye[1],ye[2]),Ie&&ee.scale.set(Ie[0],Ie[1],Ie[2]),ee.updateMatrix();const oe=ee.geometry.clone();oe.applyMatrix4(ee.matrix),ee.geometry=oe,ee.renderOrder=1/0,ee.position.set(0,0,0),ee.rotation.set(0,0,0),ee.scale.set(1,1,1),N.add(ee)}return N}this.gizmo={},this.picker={},this.helper={},this.add(this.gizmo.translate=V(T)),this.add(this.gizmo.rotate=V(R)),this.add(this.gizmo.scale=V(F)),this.add(this.picker.translate=V(M)),this.add(this.picker.rotate=V(E)),this.add(this.picker.scale=V(L)),this.add(this.helper.translate=V(I)),this.add(this.helper.rotate=V(w)),this.add(this.helper.scale=V(z)),this.picker.translate.visible=!1,this.picker.rotate.visible=!1,this.picker.scale.visible=!1}updateMatrixWorld(e){const i=(this.mode==="scale"?"local":this.space)==="local"?this.worldQuaternion:eg;this.gizmo.translate.visible=this.mode==="translate",this.gizmo.rotate.visible=this.mode==="rotate",this.gizmo.scale.visible=this.mode==="scale",this.helper.translate.visible=this.mode==="translate",this.helper.rotate.visible=this.mode==="rotate",this.helper.scale.visible=this.mode==="scale";let r=[];r=r.concat(this.picker[this.mode].children),r=r.concat(this.gizmo[this.mode].children),r=r.concat(this.helper[this.mode].children);for(let s=0;s<r.length;s++){const o=r[s];o.visible=!0,o.rotation.set(0,0,0),o.position.copy(this.worldPosition);let a;if(this.camera.isOrthographicCamera?a=(this.camera.top-this.camera.bottom)/this.camera.zoom:a=this.worldPosition.distanceTo(this.cameraPosition)*Math.min(1.9*Math.tan(Math.PI*this.camera.fov/360)/this.camera.zoom,7),o.scale.set(1,1,1).multiplyScalar(a*this.size/4),o.tag==="helper"){o.visible=!1,o.name==="AXIS"?(o.visible=!!this.axis,this.axis==="X"&&(qn.setFromEuler(E1.set(0,0,0)),o.quaternion.copy(i).multiply(qn),Math.abs(In.copy(Yh).applyQuaternion(i).dot(this.eye))>.9&&(o.visible=!1)),this.axis==="Y"&&(qn.setFromEuler(E1.set(0,0,Math.PI/2)),o.quaternion.copy(i).multiply(qn),Math.abs(In.copy(Jc).applyQuaternion(i).dot(this.eye))>.9&&(o.visible=!1)),this.axis==="Z"&&(qn.setFromEuler(E1.set(0,Math.PI/2,0)),o.quaternion.copy(i).multiply(qn),Math.abs(In.copy($h).applyQuaternion(i).dot(this.eye))>.9&&(o.visible=!1)),this.axis==="XYZE"&&(qn.setFromEuler(E1.set(0,Math.PI/2,0)),In.copy(this.rotationAxis),o.quaternion.setFromRotationMatrix(F8.lookAt(O8,In,Jc)),o.quaternion.multiply(qn),o.visible=this.dragging),this.axis==="E"&&(o.visible=!1)):o.name==="START"?(o.position.copy(this.worldPositionStart),o.visible=this.dragging):o.name==="END"?(o.position.copy(this.worldPosition),o.visible=this.dragging):o.name==="DELTA"?(o.position.copy(this.worldPositionStart),o.quaternion.copy(this.worldQuaternionStart),br.set(1e-10,1e-10,1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1),br.applyQuaternion(this.worldQuaternionStart.clone().invert()),o.scale.copy(br),o.visible=this.dragging):(o.quaternion.copy(i),this.dragging?o.position.copy(this.worldPositionStart):o.position.copy(this.worldPosition),this.axis&&(o.visible=this.axis.search(o.name)!==-1));continue}o.quaternion.copy(i),this.mode==="translate"||this.mode==="scale"?(o.name==="X"&&Math.abs(In.copy(Yh).applyQuaternion(i).dot(this.eye))>
3901.99&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),o.name==="Y"&&Math.abs(In.copy(Jc).applyQuaternion(i).dot(this.eye))>.99&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),o.name==="Z"&&Math.abs(In.copy($h).applyQuaternion(i).dot(this.eye))>.99&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),o.name==="XY"&&Math.abs(In.copy($h).applyQuaternion(i).dot(this.eye))<.2&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),o.name==="YZ"&&Math.abs(In.copy(Yh).applyQuaternion(i).dot(this.eye))<.2&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),o.name==="XZ"&&Math.abs(In.copy(Jc).applyQuaternion(i).dot(this.eye))<.2&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1)):this.mode==="rotate"&&(T1.copy(i),In.copy(this.eye).applyQuaternion(qn.copy(i).invert()),o.name.search("E")!==-1&&o.quaternion.setFromRotationMatrix(F8.lookAt(this.eye,O8,Jc)),o.name==="X"&&(qn.setFromAxisAngle(Yh,Math.atan2(-In.y,In.z)),qn.multiplyQuaternions(T1,qn),o.quaternion.copy(qn)),o.name==="Y"&&(qn.setFromAxisAngle(Jc,Math.atan2(In.x,In.z)),qn.multiplyQuaternions(T1,qn),o.quaternion.copy(qn)),o.name==="Z"&&(qn.setFromAxisAngle($h,Math.atan2(In.y,In.x)),qn.multiplyQuaternions(T1,qn),o.quaternion.copy(qn))),o.visible=o.visible&&(o.name.indexOf("X")===-1||this.showX),o.visible=o.visible&&(o.name.indexOf("Y")===-1||this.showY),o.visible=o.visible&&(o.name.indexOf("Z")===-1||this.showZ),o.visible=o.visible&&(o.name.indexOf("E")===-1||this.showX&&this.showY&&this.showZ),o.material._color=o.material._color||o.material.color.clone(),o.material._opacity=o.material._opacity||o.material.opacity,o.material.color.copy(o.material._color),o.material.opacity=o.material._opacity,this.enabled&&this.axis&&(o.name===this.axis||this.axis.split("").some(function(l){return o.name===l}))&&(o.material.color.setHex(16776960),o.material.opacity=1)}super.updateMatrixWorld(e)}}class Kie extends Qe{constructor(){super(new lo(1e5,1e5,2,2),new Jr({visible:!1,wireframe:!0,side:Zs,transparent:!0,opacity:.1,toneMapped:!1})),this.isTransformControlsPlane=!0,this.type="TransformControlsPlane"}updateMatrixWorld(e){let t=this.space;switch(this.position.copy(this.worldPosition),this.mode==="scale"&&(t="local"),M1.copy(Yh).applyQuaternion(t==="local"?this.worldQuaternion:eg),Lh.copy(Jc).applyQuaternion(t==="local"?this.worldQuaternion:eg),Oh.copy($h).applyQuaternion(t==="local"?this.worldQuaternion:eg),In.copy(Lh),this.mode){case"translate":case"scale":switch(this.axis){case"X":In.copy(this.eye).cross(M1),Fo.copy(M1).cross(In);break;case"Y":In.copy(this.eye).cross(Lh),Fo.copy(Lh).cross(In);break;case"Z":In.copy(this.eye).cross(Oh),Fo.copy(Oh).cross(In);break;case"XY":Fo.copy(Oh);break;case"YZ":Fo.copy(M1);break;case"XZ":In.copy(Oh),Fo.copy(Lh);break;case"XYZ":case"E":Fo.set(0,0,0);break}break;case"rotate":default:Fo.set(0,0,0)}Fo.length()===0?this.quaternion.copy(this.cameraQuaternion):(U8.lookAt(br.set(0,0,0),Fo,In),this.quaternion.setFromRotationMatrix(U8)),super.updateMatrixWorld(e)}}class lc{constructor(){this.isPass=!0,this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}dispose(){}}const Zie=new Ou(-1,1,1,-1,0,1);class Jie extends Hn{constructor(){super(),this.setAttribute("position",new en([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new en([0,2,0,0,2,0],2))}}const ere=new Jie;class Ip{constructor(e){this._mesh=new Qe(ere,e)}dispose(){this._mesh.geometry.dispose()}render(e){e.render(this._mesh,Zie)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}}const tre=0,N8=2,nre=1,k8=2,ire=0,rre=1,sre=10,ore=0,wP=9,SP=15,EP=16,TP=22,MP=37,IP=43,PP=76,RP=83,BP=97,DP=100,LP=103,OP=109,FP=165,UP=166,p4=1000066e3;class are{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}}class Fh{constructor(e,t,i,r){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(e.buffer,e.byteOffset+t,i),this._littleEndian=r,this._offset=0}_nextUint8(){const e=this._dataView.getUint8(this._offset);return this._offset+=1,e}_nextUint16(){const e=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,e}_nextUint32(){const e=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,e}_nextUint64(){const e=this._dataView.getUint32(this._offset,this._littleEndian)+4294967296*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,e}
3901_nextInt32(){const e=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,e}_nextUint8Array(e){const t=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,e);return this._offset+=e,t}_skip(e){return this._offset+=e,this}_scan(e,t){t===void 0&&(t=0);const i=this._offset;let r=0;for(;this._dataView.getUint8(this._offset)!==t&&r<e;)r++,this._offset++;return r<e&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+i,r)}}const kr=[171,75,84,88,32,50,48,187,13,10,26,10];function z8(n){return new TextDecoder().decode(n)}function lre(n){const e=new Uint8Array(n.buffer,n.byteOffset,kr.length);if(e[0]!==kr[0]||e[1]!==kr[1]||e[2]!==kr[2]||e[3]!==kr[3]||e[4]!==kr[4]||e[5]!==kr[5]||e[6]!==kr[6]||e[7]!==kr[7]||e[8]!==kr[8]||e[9]!==kr[9]||e[10]!==kr[10]||e[11]!==kr[11])throw new Error("Missing KTX 2.0 identifier.");const t=new are,i=17*Uint32Array.BYTES_PER_ELEMENT,r=new Fh(n,kr.length,i,!0);t.vkFormat=r._nextUint32(),t.typeSize=r._nextUint32(),t.pixelWidth=r._nextUint32(),t.pixelHeight=r._nextUint32(),t.pixelDepth=r._nextUint32(),t.layerCount=r._nextUint32(),t.faceCount=r._nextUint32();const s=r._nextUint32();t.supercompressionScheme=r._nextUint32();const o=r._nextUint32(),a=r._nextUint32(),l=r._nextUint32(),c=r._nextUint32(),u=r._nextUint64(),f=r._nextUint64(),h=new Fh(n,kr.length+i,3*s*8,!0);for(let Q=0;Q<s;Q++)t.levels.push({levelData:new Uint8Array(n.buffer,n.byteOffset+h._nextUint64(),h._nextUint64()),uncompressedByteLength:h._nextUint64()});const p=new Fh(n,o,a,!0),m={vendorId:p._skip(4)._nextUint16(),descriptorType:p._nextUint16(),versionNumber:p._nextUint16(),descriptorBlockSize:p._nextUint16(),colorModel:p._nextUint8(),colorPrimaries:p._nextUint8(),transferFunction:p._nextUint8(),flags:p._nextUint8(),texelBlockDimension:[p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8()],bytesPlane:[p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8()],samples:[]},v=(m.descriptorBlockSize/4-6)/4;for(let Q=0;Q<v;Q++){const W={bitOffset:p._nextUint16(),bitLength:p._nextUint8(),channelType:p._nextUint8(),samplePosition:[p._nextUint8(),p._nextUint8(),p._nextUint8(),p._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};64&W.channelType?(W.sampleLower=p._nextInt32(),W.sampleUpper=p._nextInt32()):(W.sampleLower=p._nextUint32(),W.sampleUpper=p._nextUint32()),m.samples[Q]=W}t.dataFormatDescriptor.length=0,t.dataFormatDescriptor.push(m);const A=new Fh(n,l,c,!0);for(;A._offset<c;){const Q=A._nextUint32(),W=A._scan(Q),ee=z8(W);if(t.keyValue[ee]=A._nextUint8Array(Q-W.byteLength-1),ee.match(/^ktx/i)){const H=z8(t.keyValue[ee]);t.keyValue[ee]=H.substring(0,H.lastIndexOf("\0"))}A._skip(Q%4?4-Q%4:0)}if(f<=0)return t;const y=new Fh(n,u,f,!0),x=y._nextUint16(),b=y._nextUint16(),_=y._nextUint32(),T=y._nextUint32(),M=y._nextUint32(),I=y._nextUint32(),R=[];for(let Q=0;Q<s;Q++)R.push({imageFlags:y._nextUint32(),rgbSliceByteOffset:y._nextUint32(),rgbSliceByteLength:y._nextUint32(),alphaSliceByteOffset:y._nextUint32(),alphaSliceByteLength:y._nextUint32()});const w=u+y._offset,E=w+_,F=E+T,L=F+M,z=new Uint8Array(n.buffer,n.byteOffset+w,_),V=new Uint8Array(n.buffer,n.byteOffset+E,T),j=new Uint8Array(n.buffer,n.byteOffset+F,M),N=new Uint8Array(n.buffer,n.byteOffset+L,I);return t.globalData={endpointCount:x,selectorCount:b,imageDescs:R,endpointsData:z,selectorsData:V,tablesData:j,extendedData:N},t}class cre extends Wt{constructor(e,t){super(),this.isViewHelper=!0,this.animating=!1,this.center=new K;const i=new ke("#ff4466"),r=new ke("#88ff44"),s=new ke("#4488ff"),o=new ke("#000000"),a={},l=[],c=new u4,u=new Re,f=new Wt,h=new Ou(-2,2,2,-2,0,4);h.position.set(0,0,2);const p=new ar(.04,.04,.8,5).rotateZ(-Math.PI/2).translate(.4,0,0),m=new Qe(p,ye(i)),v=new Qe(p,ye(r)),A=new Qe(p,ye(s));v.rotation.z=Math.PI/2,A.rotation.y=-Math.PI/2,this.add(m),this.add(A),this.add(v);const y=Ie(i),x=Ie(r),b=Ie(s),_=Ie(o),T=new _f(y),M=new _f(x),I=new _f(b),R=new _f(_),w=new _f(_),E=new _f(_);T.position.x=1,M.position.y=1,I.position.z=1,R.position.x=-1,w.position.y=-1,E.position.z=-1,R.material.opacity=.2,w.material.opacity=.2,E.material.opacity=.2,T.userData.type="posX",M.userData.type="posY",I.userData.type="posZ",R.userData.type="negX",w.userData.type="negY",E.userData.type="negZ",this.add(T),this.add(M),this.add(I),this.add(R),this.add(w),this.add(E),l.push(T),l.push(M),l.push(I),l.push(R),l.push(w),l.push(E);const F=new K,L=128,z=2*Math.PI;this.render=function(oe){this.quaternion.copy(e.quaternion).invert(),this.updateMatrixWorld(),F.set(0,0,1),F.applyQuaternion(e.quaternion);const _e=t.offsetWidth-L;oe.clearDepth(),oe.getViewport(W),oe.setViewport(_e,0,L,L),oe.render(this,h),oe.setViewport(W.x,W.y,W.z,W.w)};const V=new K,j=new Xn,N=new Xn,Q=new Xn,W=new Vt;let ee=0;this.handleClick=function(oe){if(this.animating===!0)return!1;const _e=t.getBoundingClientRect(),Fe=_e.left+(t.offsetWidth-L),Z=_e.top+(t.offsetHeight-L);u.x=(oe.clientX-Fe)/(_e.right-Fe)*2-1,u.y=-((oe.clientY-Z)/(_e.bottom-Z))*2+1,c.setFromCamera(u,h);const Ae=c.intersectObjects(l);if(Ae.length>0){const be=Ae[0].object;return H(be,this.center),this.animating=!0,!0}else return!1},this.setLabels=function(oe,_e,Fe){a.labelX=oe,a.labelY=_e,a.labelZ=Fe,ze()},this.setLabelStyle=function(oe,_e,Fe){a.font=oe,a.color=_e,a.radius=Fe,ze()},this.update=function(oe){const _e=oe*z;N.rotateTowards(Q,_e),e.position.set(0,0,1).applyQuaternion(N).multiplyScalar(ee).add(this.center),e.quaternion.rotateTowards(j,_e),N.angleTo(Q)===0&&(this.animating=!1)},this.dispose=function(){p.dispose(),m.material.dispose(),v.material.dispose(),A.material.dispose(),T.material.map.dispose(),M.material.map.dispose(),I.material.map.dispose(),R.material.map.dispose(),w.material.map.dispose(),E.material.map.dispose(),T.material.dispose(),M.material.dispose(),I.material.dispose(),R.material.dispose(),w.material.dispose(),E.material.dispose()};function H(oe,_e){switch(oe.userData.type){case"posX":V.set(1,0,0),j.setFromEuler(new Pi(0,Math.PI*.5,0));break;case"posY":V.set(0,1,0),j.setFromEuler(new Pi(-Math.PI*.5,0,0));break;case"posZ":V.set(0,0,1),j.setFromEuler(new Pi);break;case"negX":V.set(-1,0,0),j.setFromEuler(new Pi(0,-Math.PI*.5,0));break;case"negY":V.set(0,-1,0),j.setFromEuler(new Pi(Math.PI*.5,0,0));break;case"negZ":V.set(0,0,-1),j.setFromEuler(new Pi(0,Math.PI,0));break;default:console.error("ViewHelper: Invalid axis.")}ee=e.position.distanceTo(_e),V.multiplyScalar(ee).add(_e),f.position.copy(_e),f.lookAt(e.position),N.copy(f.quaternion),f.lookAt(V),Q.copy(f.quaternion)}function ye(oe){return new Jr({color:oe,toneMapped:!1})}function Ie(oe,_e){const{font:Fe="24px Arial",color:Z="#000000",radius:Ae=14}=a,we=document.createElement("canvas");we.width=64,we.height=64;const be=we.getContext("2d");be.beginPath(),be.arc(32,32,Ae,0,2*Math.PI),be.closePath(),be.fillStyle=oe.getStyle(),be.fill(),_e&&(be.font=Fe,be.textAlign="center",be.fillStyle=Z,be.fillText(_e,32,41));const qe=new TK(we);
3901return qe.colorSpace=En,new iP({map:qe,toneMapped:!1})}function ze(){T.material.map.dispose(),M.material.map.dispose(),I.material.map.dispose(),T.material.dispose(),M.material.dispose(),I.material.dispose(),T.material=Ie(i,a.labelX),M.material=Ie(r,a.labelY),I.material=Ie(s,a.labelZ)}}}const H8=new Hs,I1=new K;class Dd extends ZK{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type="LineSegmentsGeometry";const e=[-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],t=[-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],i=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];this.setIndex(i),this.setAttribute("position",new en(e,3)),this.setAttribute("uv",new en(t,2))}applyMatrix4(e){const t=this.attributes.instanceStart,i=this.attributes.instanceEnd;return t!==void 0&&(t.applyMatrix4(e),i.applyMatrix4(e),t.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}setPositions(e){let t;e instanceof Float32Array?t=e:Array.isArray(e)&&(t=new Float32Array(e));const i=new Yr(t,6,1);return this.setAttribute("instanceStart",new fn(i,3,0)),this.setAttribute("instanceEnd",new fn(i,3,3)),this.instanceCount=this.attributes.instanceStart.count,this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(e){let t;e instanceof Float32Array?t=e:Array.isArray(e)&&(t=new Float32Array(e));const i=new Yr(t,6,1);return this.setAttribute("instanceColorStart",new fn(i,3,0)),this.setAttribute("instanceColorEnd",new fn(i,3,3)),this}fromWireframeGeometry(e){return this.setPositions(e.attributes.position.array),this}fromEdgesGeometry(e){return this.setPositions(e.attributes.position.array),this}fromMesh(e){return this.fromWireframeGeometry(new MK(e.geometry)),this}fromLineSegments(e){const t=e.geometry;return this.setPositions(t.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Hs);const e=this.attributes.instanceStart,t=this.attributes.instanceEnd;e!==void 0&&t!==void 0&&(this.boundingBox.setFromBufferAttribute(e),H8.setFromBufferAttribute(t),this.boundingBox.union(H8))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new ao),this.boundingBox===null&&this.computeBoundingBox();const e=this.attributes.instanceStart,t=this.attributes.instanceEnd;if(e!==void 0&&t!==void 0){const i=this.boundingSphere.center;this.boundingBox.getCenter(i);let r=0;for(let s=0,o=e.count;s<o;s++)I1.fromBufferAttribute(e,s),r=Math.max(r,i.distanceToSquared(I1)),I1.fromBufferAttribute(t,s),r=Math.max(r,i.distanceToSquared(I1));this.boundingSphere.radius=Math.sqrt(r),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}}toJSON(){}applyMatrix(e){return console.warn("THREE.LineSegmentsGeometry: applyMatrix() has been renamed to applyMatrix4()."),this.applyMatrix4(e)}}Ke.line={worldUnits:{value:1},linewidth:{value:1},resolution:{value:new Re(1,1)},dashOffset:{value:0},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1}};us.line={uniforms:Po.merge([Ke.common,Ke.fog,Ke
vendor: 7,975 bytes, lines 3901-4271
3901.line]),vertexShader:`
3902		#include <common>
3903		#include <color_pars_vertex>
3904		#include <fog_pars_vertex>
3905		#include <logdepthbuf_pars_vertex>
3906		#include <clipping_planes_pars_vertex>
3907
3908		uniform float linewidth;
3909		uniform vec2 resolution;
3910
3911		attribute vec3 instanceStart;
3912		attribute vec3 instanceEnd;
3913
3914		attribute vec3 instanceColorStart;
3915		attribute vec3 instanceColorEnd;
3916
3917		#ifdef WORLD_UNITS
3918
3919			varying vec4 worldPos;
3920			varying vec3 worldStart;
3921			varying vec3 worldEnd;
3922
3923			#ifdef USE_DASH
3924
3925				varying vec2 vUv;
3926
3927			#endif
3928
3929		#else
3930
3931			varying vec2 vUv;
3932
3933		#endif
3934
3935		#ifdef USE_DASH
3936
3937			uniform float dashScale;
3938			attribute float instanceDistanceStart;
3939			attribute float instanceDistanceEnd;
3940			varying float vLineDistance;
3941
3942		#endif
3943
3944		void trimSegment( const in vec4 start, inout vec4 end ) {
3945
3946			// trim end segment so it terminates between the camera plane and the near plane
3947
3948			// conservative estimate of the near plane
3949			float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column
3950			float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column
3951			float nearEstimate = - 0.5 * b / a;
3952
3953			float alpha = ( nearEstimate - start.z ) / ( end.z - start.z );
3954
3955			end.xyz = mix( start.xyz, end.xyz, alpha );
3956
3957		}
3958
3959		void main() {
3960
3961			#ifdef USE_COLOR
3962
3963				vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;
3964
3965			#endif
3966
3967			#ifdef USE_DASH
3968
3969				vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;
3970				vUv = uv;
3971
3972			#endif
3973
3974			float aspect = resolution.x / resolution.y;
3975
3976			// camera space
3977			vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );
3978			vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );
3979
3980			#ifdef WORLD_UNITS
3981
3982				worldStart = start.xyz;
3983				worldEnd = end.xyz;
3984
3985			#else
3986
3987				vUv = uv;
3988
3989			#endif
3990
3991			// special case for perspective projection, and segments that terminate either in, or behind, the camera plane
3992			// clearly the gpu firmware has a way of addressing this issue when projecting into ndc space
3993			// but we need to perform ndc-space calculations in the shader, so we must address this issue directly
3994			// perhaps there is a more elegant solution -- WestLangley
3995
3996			bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column
3997
3998			if ( perspective ) {
3999
4000				if ( start.z < 0.0 && end.z >= 0.0 ) {
4001
4002					trimSegment( start, end );
4003
4004				} else if ( end.z < 0.0 && start.z >= 0.0 ) {
4005
4006					trimSegment( end, start );
4007
4008				}
4009
4010			}
4011
4012			// clip space
4013			vec4 clipStart = projectionMatrix * start;
4014			vec4 clipEnd = projectionMatrix * end;
4015
4016			// ndc space
4017			vec3 ndcStart = clipStart.xyz / clipStart.w;
4018			vec3 ndcEnd = clipEnd.xyz / clipEnd.w;
4019
4020			// direction
4021			vec2 dir = ndcEnd.xy - ndcStart.xy;
4022
4023			// account for clip-space aspect ratio
4024			dir.x *= aspect;
4025			dir = normalize( dir );
4026
4027			#ifdef WORLD_UNITS
4028
4029				vec3 worldDir = normalize( end.xyz - start.xyz );
4030				vec3 tmpFwd = normalize( mix( start.xyz, end.xyz, 0.5 ) );
4031				vec3 worldUp = normalize( cross( worldDir, tmpFwd ) );
4032				vec3 worldFwd = cross( worldDir, worldUp );
4033				worldPos = position.y < 0.5 ? start: end;
4034
4035				// height offset
4036				float hw = linewidth * 0.5;
4037				worldPos.xyz += position.x < 0.0 ? hw * worldUp : - hw * worldUp;
4038
4039				// don't extend the line if we're rendering dashes because we
4040				// won't be rendering the endcaps
4041				#ifndef USE_DASH
4042
4043					// cap extension
4044					worldPos.xyz += position.y < 0.5 ? - hw * worldDir : hw * worldDir;
4045
4046					// add width to the box
4047					worldPos.xyz += worldFwd * hw;
4048
4049					// endcaps
4050					if ( position.y > 1.0 || position.y < 0.0 ) {
4051
4052						worldPos.xyz -= worldFwd * 2.0 * hw;
4053
4054					}
4055
4056				#endif
4057
4058				// project the worldpos
4059				vec4 clip = projectionMatrix * worldPos;
4060
4061				// shift the depth of the projected points so the line
4062				// segments overlap neatly
4063				vec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd;
4064				clip.z = clipPose.z * clip.w;
4065
4066			#else
4067
4068				vec2 offset = vec2( dir.y, - dir.x );
4069				// undo aspect ratio adjustment
4070				dir.x /= aspect;
4071				offset.x /= aspect;
4072
4073				// sign flip
4074				if ( position.x < 0.0 ) offset *= - 1.0;
4075
4076				// endcaps
4077				if ( position.y < 0.0 ) {
4078
4079					offset += - dir;
4080
4081				} else if ( position.y > 1.0 ) {
4082
4083					offset += dir;
4084
4085				}
4086
4087				// adjust for linewidth
4088				offset *= linewidth;
4089
4090				// adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...
4091				offset /= resolution.y;
4092
4093				// select end
4094				vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;
4095
4096				// back to clip space
4097				offset *= clip.w;
4098
4099				clip.xy += offset;
4100
4101			#endif
4102
4103			gl_Position = clip;
4104
4105			vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation
4106
4107			#include <logdepthbuf_vertex>
4108			#include <clipping_planes_vertex>
4109			#include <fog_vertex>
4110
4111		}
4112		`,fragmentShader:`
4113		uniform vec3 diffuse;
4114		uniform float opacity;
4115		uniform float linewidth;
4116
4117		#ifdef USE_DASH
4118
4119			uniform float dashOffset;
4120			uniform float dashSize;
4121			uniform float gapSize;
4122
4123		#endif
4124
4125		varying float vLineDistance;
4126
4127		#ifdef WORLD_UNITS
4128
4129			varying vec4 worldPos;
4130			varying vec3 worldStart;
4131			varying vec3 worldEnd;
4132
4133			#ifdef USE_DASH
4134
4135				varying vec2 vUv;
4136
4137			#endif
4138
4139		#else
4140
4141			varying vec2 vUv;
4142
4143		#endif
4144
4145		#include <common>
4146		#include <color_pars_fragment>
4147		#include <fog_pars_fragment>
4148		#include <logdepthbuf_pars_fragment>
4149		#include <clipping_planes_pars_fragment>
4150
4151		vec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) {
4152
4153			float mua;
4154			float mub;
4155
4156			vec3 p13 = p1 - p3;
4157			vec3 p43 = p4 - p3;
4158
4159			vec3 p21 = p2 - p1;
4160
4161			float d1343 = dot( p13, p43 );
4162			float d4321 = dot( p43, p21 );
4163			float d1321 = dot( p13, p21 );
4164			float d4343 = dot( p43, p43 );
4165			float d2121 = dot( p21, p21 );
4166
4167			float denom = d2121 * d4343 - d4321 * d4321;
4168
4169			float numer = d1343 * d4321 - d1321 * d4343;
4170
4171			mua = numer / denom;
4172			mua = clamp( mua, 0.0, 1.0 );
4173			mub = ( d1343 + d4321 * ( mua ) ) / d4343;
4174			mub = clamp( mub, 0.0, 1.0 );
4175
4176			return vec2( mua, mub );
4177
4178		}
4179
4180		void main() {
4181
4182			#include <clipping_planes_fragment>
4183
4184			#ifdef USE_DASH
4185
4186				if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps
4187
4188				if ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX
4189
4190			#endif
4191
4192			float alpha = opacity;
4193
4194			#ifdef WORLD_UNITS
4195
4196				// Find the closest points on the view ray and the line segment
4197				vec3 rayEnd = normalize( worldPos.xyz ) * 1e5;
4198				vec3 lineDir = worldEnd - worldStart;
4199				vec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd );
4200
4201				vec3 p1 = worldStart + lineDir * params.x;
4202				vec3 p2 = rayEnd * params.y;
4203				vec3 delta = p1 - p2;
4204				float len = length( delta );
4205				float norm = len / linewidth;
4206
4207				#ifndef USE_DASH
4208
4209					#ifdef USE_ALPHA_TO_COVERAGE
4210
4211						float dnorm = fwidth( norm );
4212						alpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm );
4213
4214					#else
4215
4216						if ( norm > 0.5 ) {
4217
4218							discard;
4219
4220						}
4221
4222					#endif
4223
4224				#endif
4225
4226			#else
4227
4228				#ifdef USE_ALPHA_TO_COVERAGE
4229
4230					// artifacts appear on some hardware if a derivative is taken within a conditional
4231					float a = vUv.x;
4232					float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;
4233					float len2 = a * a + b * b;
4234					float dlen = fwidth( len2 );
4235
4236					if ( abs( vUv.y ) > 1.0 ) {
4237
4238						alpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 );
4239
4240					}
4241
4242				#else
4243
4244					if ( abs( vUv.y ) > 1.0 ) {
4245
4246						float a = vUv.x;
4247						float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;
4248						float len2 = a * a + b * b;
4249
4250						if ( len2 > 1.0 ) discard;
4251
4252					}
4253
4254				#endif
4255
4256			#endif
4257
4258			vec4 diffuseColor = vec4( diffuse, alpha );
4259
4260			#include <logdepthbuf_fragment>
4261			#include <color_fragment>
4262
4263			gl_FragColor = vec4( diffuseColor.rgb, alpha );
4264
4265			#include <tonemapping_fragment>
4266			#include <colorspace_fragment>
4267			#include <fog_fragment>
4268			#include <premultiplied_alpha_fragment>
4269
4270		}
4271		`};
vendor: 2,237 bytes, line 4271
4271class ure extends Cn{constructor(e){super({type:"LineMaterial",uniforms:Po.clone(us.line.uniforms),vertexShader:us.line.vertexShader,fragmentShader:us.line.fragmentShader,clipping:!0}),this.isLineMaterial=!0,this.setValues(e)}get color(){return this.uniforms.diffuse.value}set color(e){this.uniforms.diffuse.value=e}get worldUnits(){return"WORLD_UNITS"in this.defines}set worldUnits(e){e===!0?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}get linewidth(){return this.uniforms.linewidth.value}set linewidth(e){this.uniforms.linewidth&&(this.uniforms.linewidth.value=e)}get dashed(){return"USE_DASH"in this.defines}set dashed(e){e===!0!==this.dashed&&(this.needsUpdate=!0),e===!0?this.defines.USE_DASH="":delete this.defines.USE_DASH}get dashScale(){return this.uniforms.dashScale.value}set dashScale(e){this.uniforms.dashScale.value=e}get dashSize(){return this.uniforms.dashSize.value}set dashSize(e){this.uniforms.dashSize.value=e}get dashOffset(){return this.uniforms.dashOffset.value}set dashOffset(e){this.uniforms.dashOffset.value=e}get gapSize(){return this.uniforms.gapSize.value}set gapSize(e){this.uniforms.gapSize.value=e}get opacity(){return this.uniforms.opacity.value}set opacity(e){this.uniforms&&(this.uniforms.opacity.value=e)}get resolution(){return this.uniforms.resolution.value}set resolution(e){this.uniforms.resolution.value.copy(e)}get alphaToCoverage(){return"USE_ALPHA_TO_COVERAGE"in this.defines}set alphaToCoverage(e){this.defines&&(e===!0!==this.alphaToCoverage&&(this.needsUpdate=!0),e===!0?this.defines.USE_ALPHA_TO_COVERAGE="":delete this.defines.USE_ALPHA_TO_COVERAGE)}}const Q3=new Vt,V8=new K,G8=new K,sr=new Vt,or=new Vt,Uo=new Vt,W3=new K,j3=new Ct,lr=new uZ,Q8=new K,P1=new Hs,R1=new ao,No=new Vt;let Xo,xu;function W8(n,e,t){return No.set(0,0,-e,1).applyMatrix4(n.projectionMatrix),No.multiplyScalar(1/No.w),No.x=xu/t.width,No.y=xu/t.height,No.applyMatrix4(n.projectionMatrixInverse),No.multiplyScalar(1/No.w),Math.abs(Math.max(No.x,No.y))}function fre(n,e){const t=n.matrixWorld,i=n.geometry,r=i.attributes.instanceStart,s=i.attributes.instanceEnd,o=Math.min(i.instanceCount,r.count);for(let a=0,l=o;a<l;a++){lr.start.fromBufferAttribute(r,a),lr.end.fromBufferAttribute(s,a),lr.applyM
4271atrix4(t);const c=new K,u=new K;Xo.distanceSqToSegment(lr.start,lr.end,u,c),u.distanceTo(c)<xu*.5&&e.push({point:u,pointOnLine:c,distance:Xo.origin.distanceTo(u),object:n,face:null,faceIndex:a,uv:null,uv1:null})}}function dre(n,e,t){const i=e.projectionMatrix,s=n.material.resolution,o=n.matrixWorld,a=n.geometry,l=a.attributes.instanceStart,c=a.attributes.instanceEnd,u=Math.min(a.instanceCount,l.count),f=-e.near;Xo.at(1,Uo),Uo.w=1,Uo.applyMatrix4(e.matrixWorldInverse),Uo.applyMatrix4(i),Uo.multiplyScalar(1/Uo.w),Uo.x*=s.x/2,Uo.y*=s.y/2,Uo.z=0,W3.copy(Uo),j3.multiplyMatrices(e.matrixWorldInverse,o);for(let h=0,p=u;h<p;h++){if(sr.fromBufferAttribute(l,h),or.fromBufferAttribute(c,h),sr.w=1,or.w=1,sr.applyMatrix4(j3),or.applyMatrix4(j3),sr.z>f&&or.z>f)continue;if(sr.z>f){const b=sr.z-or.z,_=(sr.z-f)/b;sr.lerp(or,_)}else if(or.z>f){const b=or.z-sr.z,_=(or.z-f)/b;or.lerp(sr,_)}sr.applyMatrix4(i),or.applyMatrix4(i),sr.multiplyScalar(1/sr.w),or.multiplyScalar(1/or.w),sr.x*=s.x/2,sr.y*=s.y/2,or.x*=s.x/2,or.y*=s.y/2,lr.start.copy(sr),lr.start.z=0,lr.end.copy(or),lr.end.z=0;const v=lr.closestPointToPointParameter(W3,!0);lr.at(v,Q8);const A=gn.lerp(sr.z,or.z,v),y=A>=-1&&A<=1,x=W3.distanceTo(Q8)<xu*.5;if(y&&x){lr.start.fromBufferAttribute(l,h),lr.end.fromBufferAttribute(c,h),lr.start.applyMatrix4(o),lr.end.applyMatrix4(o);const b=new K,_=new K;Xo.distanceSqToSegment(lr.start,lr.end,_,b),t.push({point:_,pointOnLine:b,distance:Xo.origin.distanceTo(_),object:n,face:null,faceIndex:h,uv:null,uv1:null})}}}class ip extends Qe{constructor(e=new Dd,t=new ure({color:Math.random()*16777215})){super(e,t),this.isLineSegments2=!0,this.type="LineSegments2"}computeLineDistances(){const e=this.geometry,t=e.attributes.instanceStart,i=e.attributes.instanceEnd,r=new Float32Array(2*t.count);for(let o=0,a=0,l=t.count;o<l;o++,a+=2)V8.fromBufferAttribute(t,o),G8.fromBufferAttribute(i,o),r[a]=a===0?0:r[a-1],r[a+1]=r[a]+V8.distanceTo(G8);const s=new Yr(r,2,1);return e.setAttribute("instanceDistanceStart",new fn(s,1,0)),e.setAttribute("instanceDistanceEnd",new fn(s,1,1)),this}raycast(e,t){const i=this.material.worldUnits,r=e.camera;r===null&&!i&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.');const s=e.params.Line2!==void 0&&e.params.Line2.threshold||0;Xo=e.ray;const o=this.matrixWorld,a=this.geometry,l=this.material;xu=l.linewidth+s,a.boundingSphere===null&&a.computeBoundingSphere(),R1.copy(a.boundingSphere).applyMatrix4(o);let c;if(i)c=xu*.5;else{const f=Math.max(r.near,R1.distanceToPoint(Xo.origin));c=W8(r,f,l.resolution)}if(R1.radius+=c,Xo.intersectsSphere(R1)===!1)return;a.boundingBox===null&&a.computeBoundingBox(),P1.copy(a.boundingBox).applyMatrix4(o);let u;if(i)u=xu*.5;else{const f=Math.max(r.near,P1.distanceToPoint(Xo.origin));u=W8(r,f,l.resolution)}P1.expandByScalar(u),Xo.intersectsBox(P1)!==!1&&(i?fre(this,t):dre(this,r,t))}onBeforeRender(e){const t=this.material.uniforms;t&&t.resolution&&(e.getViewport(Q3),this.material.uniforms.resolution.value.set(Q3.z,Q3.w))}}const q3=new WeakMap;class hre extends ia{constructor(e){super(e),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(e){return this.decoderPath=e,this}setDecoderConfig(e){return this.decoderConfig=e,this}setWorkerLimit(e){return this.workerLimit=e,this}load(e,t,i,r){const s=new Yl(this.manager);s.setPath(this.path),s.setResponseType("arraybuffer"),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(e,o=>{this.parse(o,t,r)},i,r)}parse(e,t,i=()=>{}){this.decodeDracoFile(e,t,null,null,En,i).catch(i)}decodeDracoFile(e,t,i,r,s=mi,o=()=>{}){const a={attributeIDs:i||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!i,vertexColorSpace:s};
vendor: 6,339 bytes, lines 4271-4276
4271return this.decodeGeometry(e,a).then(t).catch(o)}decodeGeometry(e,t){const i=JSON.stringify(t);if(q3.has(e)){const l=q3.get(e);if(l.key===i)return l.promise;if(e.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let r;const s=this.workerNextTaskID++,o=e.byteLength,a=this._getWorker(s,o).then(l=>(r=l,new Promise((c,u)=>{r._callbacks[s]={resolve:c,reject:u},r.postMessage({type:"decode",id:s,taskConfig:t,buffer:e},[e])}))).then(l=>this._createGeometry(l.geometry));return a.catch(()=>!0).then(()=>{r&&s&&this._releaseTask(r,s)}),q3.set(e,{key:i,promise:a}),a}_createGeometry(e){const t=new Hn;e.index&&t.setIndex(new Gi(e.index.array,1));for(let i=0;i<e.attributes.length;i++){const r=e.attributes[i],s=r.name,o=r.array,a=r.itemSize,l=new Gi(o,a);s==="color"&&(this._assignVertexColorSpace(l,r.vertexColorSpace),l.normalized=!(o instanceof Float32Array)),t.setAttribute(s,l)}return t}_assignVertexColorSpace(e,t){if(t!==En)return;const i=new ke;for(let r=0,s=e.count;r<s;r++)i.fromBufferAttribute(e,r),Xt.toWorkingColorSpace(i,En),e.setXYZ(r,i.r,i.g,i.b)}_loadLibrary(e,t){const i=new Yl(this.manager);return i.setPath(this.decoderPath),i.setResponseType(t),i.setWithCredentials(this.withCredentials),new Promise((r,s)=>{i.load(e,r,void 0,s)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const e=typeof WebAssembly!="object"||this.decoderConfig.type==="js",t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then(i=>{const r=i[0];e||(this.decoderConfig.wasmBinary=i[1]);const s=pre.toString(),o=["/* draco decoder */",r,"","/* worker */",s.substring(s.indexOf("{")+1,s.lastIndexOf("}"))].join(`
4272`);this.workerSourceURL=URL.createObjectURL(new Blob([o]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){const r=new Worker(this.workerSourceURL);r._callbacks={},r._taskCosts={},r._taskLoad=0,r.postMessage({type:"init",decoderConfig:this.decoderConfig}),r.onmessage=function(s){const o=s.data;switch(o.type){case"decode":r._callbacks[o.id].resolve(o);break;case"error":r._callbacks[o.id].reject(o);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+o.type+'"')}},this.workerPool.push(r)}else this.workerPool.sort(function(r,s){return r._taskLoad>s._taskLoad?-1:1});const i=this.workerPool[this.workerPool.length-1];return i._taskCosts[e]=t,i._taskLoad+=t,i})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,this.workerSourceURL!==""&&URL.revokeObjectURL(this.workerSourceURL),this}}function pre(){let n,e;onmessage=function(o){const a=o.data;switch(a.type){case"init":n=a.decoderConfig,e=new Promise(function(u){n.onModuleLoaded=function(f){u({draco:f})},DracoDecoderModule(n)});break;case"decode":const l=a.buffer,c=a.taskConfig;e.then(u=>{const f=u.draco,h=new f.Decoder;try{const p=t(f,h,new Int8Array(l),c),m=p.attributes.map(v=>v.array.buffer);p.index&&m.push(p.index.array.buffer),self.postMessage({type:"decode",id:a.id,geometry:p},m)}catch(p){console.error(p),self.postMessage({type:"error",id:a.id,error:p.message})}finally{f.destroy(h)}});break}};function t(o,a,l,c){const u=c.attributeIDs,f=c.attributeTypes;let h,p;const m=a.GetEncodedGeometryType(l);if(m===o.TRIANGULAR_MESH)h=new o.Mesh,p=a.DecodeArrayToMesh(l,l.byteLength,h);else if(m===o.POINT_CLOUD)h=new o.PointCloud,p=a.DecodeArrayToPointCloud(l,l.byteLength,h);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!p.ok()||h.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+p.error_msg());const v={index:null,attributes:[]};for(const A in u){const y=self[f[A]];let x,b;if(c.useUniqueIDs)b=u[A],x=a.GetAttributeByUniqueId(h,b);else{if(b=a.GetAttributeId(h,o[u[A]]),b===-1)continue;x=a.GetAttribute(h,b)}const _=r(o,a,h,A,y,x);A==="color"&&(_.vertexColorSpace=c.vertexColorSpace),v.attributes.push(_)}return m===o.TRIANGULAR_MESH&&(v.index=i(o,a,h)),o.destroy(h),v}function i(o,a,l){const u=l.num_faces()*3,f=u*4,h=o._malloc(f);a.GetTrianglesUInt32Array(l,f,h);const p=new Uint32Array(o.HEAPF32.buffer,h,u).slice();return o._free(h),{array:p,itemSize:1}}function r(o,a,l,c,u,f){const h=f.num_components(),m=l.num_points()*h,v=m*u.BYTES_PER_ELEMENT,A=s(o,u),y=o._malloc(v);a.GetAttributeDataArrayForAllPoints(l,f,A,v,y);const x=new u(o.HEAPF32.buffer,y,m).slice();return o._free(y),{name:c,array:x,itemSize:h}}function s(o,a){switch(a){case Float32Array:return o.DT_FLOAT32;case Int8Array:return o.DT_INT8;case Int16Array:return o.DT_INT16;case Int32Array:return o.DT_INT32;case Uint8Array:return o.DT_UINT8;case Uint16Array:return o.DT_UINT16;case Uint32Array:return o.DT_UINT32}}}class mre extends WK{constructor(e){super(e),this.type=nn}parse(e){const o=function(R,w){switch(R){case 1:throw new Error("THREE.RGBELoader: Read Error: "+(w||""));case 2:throw new Error("THREE.RGBELoader: Write Error: "+(w||""));case 3:throw new Error("THREE.RGBELoader: Bad File Format: "+(w||""));default:case 4:throw new Error("THREE.RGBELoader: Memory Error: "+(w||""))}},u=`
4273`,f=function(R,w,E){w=w||1024;let L=R.pos,z=-1,V=0,j="",N=String.fromCharCode.apply(null,new Uint16Array(R.subarray(L,L+128)));for(;0>(z=N.indexOf(u))&&V<w&&L<R.byteLength;)j+=N,V+=N.length,L+=128,N+=String.fromCharCode.apply(null,new Uint16Array(R.subarray(L,L+128)));return-1<z?(R.pos+=V+z+1,j+N.slice(0,z)):!1},h=function(R){const w=/^#\?(\S+)/,E=/^\s*GAMMA\s*=\s*(\d+(\.\d+)?)\s*$/,F=/^\s*EXPOSURE\s*=\s*(\d+(\.\d+)?)\s*$/,L=/^\s*FORMAT=(\S+)\s*$/,z=/^\s*\-Y\s+(\d+)\s+\+X\s+(\d+)\s*$/,V={valid:0,string:"",comments:"",programtype:"RGBE",format:"",gamma:1,exposure:1,width:0,height:0};let j,N;for((R.pos>=R.byteLength||!(j=f(R)))&&o(1,"no header found"),(N=j.match(w))||o(3,"bad initial token"),V.valid|=1,V.programtype=N[1],V.string+=j+`
4274`;j=f(R),j!==!1;){if(V.string+=j+`
4275`,j.charAt(0)==="#"){V.comments+=j+`
4276`;continue}
vendor: 2,113 bytes, line 4276
4276if((N=j.match(E))&&(V.gamma=parseFloat(N[1])),(N=j.match(F))&&(V.exposure=parseFloat(N[1])),(N=j.match(L))&&(V.valid|=2,V.format=N[1]),(N=j.match(z))&&(V.valid|=4,V.height=parseInt(N[1],10),V.width=parseInt(N[2],10)),V.valid&2&&V.valid&4)break}return V.valid&2||o(3,"missing format specifier"),V.valid&4||o(3,"missing image size specifier"),V},p=function(R,w,E){const F=w;if(F<8||F>32767||R[0]!==2||R[1]!==2||R[2]&128)return new Uint8Array(R);F!==(R[2]<<8|R[3])&&o(3,"wrong scanline width");const L=new Uint8Array(4*w*E);L.length||o(4,"unable to allocate buffer space");let z=0,V=0;const j=4*F,N=new Uint8Array(4),Q=new Uint8Array(j);let W=E;for(;W>0&&V<R.byteLength;){V+4>R.byteLength&&o(1),N[0]=R[V++],N[1]=R[V++],N[2]=R[V++],N[3]=R[V++],(N[0]!=2||N[1]!=2||(N[2]<<8|N[3])!=F)&&o(3,"bad rgbe scanline format");let ee=0,H;for(;ee<j&&V<R.byteLength;){H=R[V++];const Ie=H>128;if(Ie&&(H-=128),(H===0||ee+H>j)&&o(3,"bad scanline data"),Ie){const ze=R[V++];for(let oe=0;oe<H;oe++)Q[ee++]=ze}else Q.set(R.subarray(V,V+H),ee),ee+=H,V+=H}const ye=F;for(let Ie=0;Ie<ye;Ie++){let ze=0;L[z]=Q[Ie+ze],ze+=F,L[z+1]=Q[Ie+ze],ze+=F,L[z+2]=Q[Ie+ze],ze+=F,L[z+3]=Q[Ie+ze],z+=4}W--}return L},m=function(R,w,E,F){const L=R[w+3],z=Math.pow(2,L-128)/255;E[F+0]=R[w+0]*z,E[F+1]=R[w+1]*z,E[F+2]=R[w+2]*z,E[F+3]=1},v=function(R,w,E,F){const L=R[w+3],z=Math.pow(2,L-128)/255;E[F+0]=Jm.toHalfFloat(Math.min(R[w+0]*z,65504)),E[F+1]=Jm.toHalfFloat(Math.min(R[w+1]*z,65504)),E[F+2]=Jm.toHalfFloat(Math.min(R[w+2]*z,65504)),E[F+3]=Jm.toHalfFloat(1)},A=new Uint8Array(e);A.pos=0;const y=h(A),x=y.width,b=y.height,_=p(A.subarray(A.pos),x,b);let T,M,I;switch(this.type){case Zt:I=_.length/4;const R=new Float32Array(I*4);for(let E=0;E<I;E++)m(_,E*4,R,E*4);T=R,M=Zt;break;case nn:I=_.length/4;const w=new Uint16Array(I*4);for(let E=0;E<I;E++)v(_,E*4,w,E*4);T=w,M=nn;break;default:throw new Error("THREE.RGBELoader: Unsupported type: "+this.type)}return{width:x,height:b,data:T,header:y.string,gamma:y.gamma,exposure:y.exposure,type:M}}setDataType(e){return this.type=e,this}load(e,t,i,r){function s(o,a){switch(o.type){case Zt:case nn:o.colorSpace
vendor: 1,883 bytes, line 4276
4276=mi,o.minFilter=Yt,o.magFilter=Yt,o.generateMipmaps=!1,o.flipY=!0;break}t&&t(o,a)}return super.load(e,s,i,r)}}class gre{constructor(e=4){this.pool=e,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}_initWorker(e){if(!this.workers[e]){const t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}}_getIdleWorker(){for(let e=0;e<this.pool;e++)if(!(this.workerStatus&1<<e))return e;return-1}_onMessage(e,t){const i=this.workersResolve[e];if(i&&i(t),this.queue.length){const{resolve:r,msg:s,transfer:o}=this.queue.shift();this.workersResolve[e]=r,this.workers[e].postMessage(s,o)}else this.workerStatus^=1<<e}setWorkerCreator(e){this.workerCreator=e}setWorkerLimit(e){this.pool=e}postMessage(e,t){return new Promise(i=>{const r=this._getIdleWorker();r!==-1?(this._initWorker(r),this.workerStatus|=1<<r,this.workersResolve[r]=i,this.workers[r].postMessage(e,t)):this.queue.push({resolve:i,msg:e,transfer:t})})}dispose(){this.workers.forEach(e=>e.terminate()),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}let X3,Ca,Lb;const Y3={env:{emscripten_notify_memory_growth:function(n){Lb=new Uint8Array(Ca.exports.memory.buffer)}}};class Are{init(){return X3||(X3=typeof fetch<"u"?fetch("data:application/wasm;base64,"+j8).then(e=>e.arrayBuffer()).then(e=>WebAssembly.instantiate(e,Y3)).then(this._init):WebAssembly.instantiate(Buffer.from(j8,"base64"),Y3).then(this._init),X3)}_init(e){Ca=e.instance,Y3.env.emscripten_notify_memory_growth(0)}decode(e,t=0){if(!Ca)throw new Error("ZSTDDecoder: Await .init() before decoding.");const i=e.byteLength,r=Ca.exports.malloc(i);Lb.set(e,r),t=t||Number(Ca.exports.ZSTD_findDecompressedSize(r,i));const s=Ca.exports.malloc(t),o=Ca.exports.ZSTD_decompress(s,t,r,i),a=Lb.slice(s,s+o);return Ca.exports.free(r),Ca.exports.free(s),a}}const j8="
vendor: 19,971 bytes, line 4276
4276AGFzbQEAAAABpQEVYAF/AX9gAn9/AGADf39/AX9gBX9/f39/AX9gAX8AYAJ/fwF/YAR/f39/AX9gA39/fwBgBn9/f39/fwF/YAd/f39/f39/AX9gAn9/AX5gAn5+AX5gAABgBX9/f39/AGAGf39/f39/AGAIf39/f39/f38AYAl/f39/f39/f38AYAABf2AIf39/f39/f38Bf2ANf39/f39/f39/f39/fwF/YAF/AX4CJwEDZW52H2Vtc2NyaXB0ZW5fbm90aWZ5X21lbW9yeV9ncm93dGgABANpaAEFAAAFAgEFCwACAQABAgIFBQcAAwABDgsBAQcAEhMHAAUBDAQEAAANBwQCAgYCBAgDAwMDBgEACQkHBgICAAYGAgQUBwYGAwIGAAMCAQgBBwUGCgoEEQAEBAEIAwgDBQgDEA8IAAcABAUBcAECAgUEAQCAAgYJAX8BQaCgwAILB2AHBm1lbW9yeQIABm1hbGxvYwAoBGZyZWUAJgxaU1REX2lzRXJyb3IAaBlaU1REX2ZpbmREZWNvbXByZXNzZWRTaXplAFQPWlNURF9kZWNvbXByZXNzAEoGX3N0YXJ0ACQJBwEAQQELASQKussBaA8AIAAgACgCBCABajYCBAsZACAAKAIAIAAoAgRBH3F0QQAgAWtBH3F2CwgAIABBiH9LC34BBH9BAyEBIAAoAgQiA0EgTQRAIAAoAggiASAAKAIQTwRAIAAQDQ8LIAAoAgwiAiABRgRAQQFBAiADQSBJGw8LIAAgASABIAJrIANBA3YiBCABIARrIAJJIgEbIgJrIgQ2AgggACADIAJBA3RrNgIEIAAgBCgAADYCAAsgAQsUAQF/IAAgARACIQIgACABEAEgAgv3AQECfyACRQRAIABCADcCACAAQQA2AhAgAEIANwIIQbh/DwsgACABNgIMIAAgAUEEajYCECACQQRPBEAgACABIAJqIgFBfGoiAzYCCCAAIAMoAAA2AgAgAUF/ai0AACIBBEAgAEEIIAEQFGs2AgQgAg8LIABBADYCBEF/DwsgACABNgIIIAAgAS0AACIDNgIAIAJBfmoiBEEBTQRAIARBAWtFBEAgACABLQACQRB0IANyIgM2AgALIAAgAS0AAUEIdCADajYCAAsgASACakF/ai0AACIBRQRAIABBADYCBEFsDwsgAEEoIAEQFCACQQN0ams2AgQgAgsWACAAIAEpAAA3AAAgACABKQAINwAICy8BAX8gAUECdEGgHWooAgAgACgCAEEgIAEgACgCBGprQR9xdnEhAiAAIAEQASACCyEAIAFCz9bTvtLHq9lCfiAAfEIfiUKHla+vmLbem55/fgsdAQF/IAAoAgggACgCDEYEfyAAKAIEQSBGBUEACwuCBAEDfyACQYDAAE8EQCAAIAEgAhBnIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAkEBSARAIAAhAgwBCyAAQQNxRQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADTw0BIAJBA3ENAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgA0F8aiIEIABJBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAsMACAAIAEpAAA3AAALQQECfyAAKAIIIgEgACgCEEkEQEEDDwsgACAAKAIEIgJBB3E2AgQgACABIAJBA3ZrIgE2AgggACABKAAANgIAQQALDAAgACABKAIANgAAC/cCAQJ/AkAgACABRg0AAkAgASACaiAASwRAIAAgAmoiBCABSw0BCyAAIAEgAhALDwsgACABc0EDcSEDAkACQCAAIAFJBEAgAwRAIAAhAwwDCyAAQQNxRQRAIAAhAwwCCyAAIQMDQCACRQ0EIAMgAS0AADoAACABQQFqIQEgAkF/aiECIANBAWoiA0EDcQ0ACwwBCwJAIAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQhBSAGQQR2IQRBICAAdCIAQQFyIQkgASgCACEPQQAhAiADIQYCQANAIAlBAkggAiAPS3JFBEAgAiEHAkAgCARAA0AgBEH//wNxQf//A0YEQCAHQRhqIQcgBiAQSQR/IAZBAmoiBigAACAFdgUgBUEQaiEFIARBEHYLIQQMAQsLA0AgBEEDcSIIQQNGBEAgBUECaiEFIARBAnYhBCAHQQNqIQcMAQsLIAcgCGoiByAPSw0EIAVBAmohBQNAIAIgB0kEQCANIAJBAXRqQQA7AQAgAkEBaiECDAELCyAGIA5LQQAgBiAFQQN1aiIHIAxLG0UEQCAHKAAAIAVBB3EiBXYhBAwCCyAEQQJ2IQQLIAYhBwsCfyALQX9qIAQgAEF/anEiBiAAQQF0QX9qIgggCWsiEUkNABogBCAIcSIEQQAgESAEIABIG2shBiALCyEIIA0gAkEBdGogBkF/aiIEOwEAIAlBASAGayAEIAZBAUgbayEJA0AgCSAASARAIABBAXUhACALQX9qIQsMAQsLAn8gByAOS0EAIAcgBSAIaiIFQQN1aiIGIAxLG0UEQCAFQQdxDAELIAUgDCIGIAdrQQN0awshBSACQQFqIQIgBEUhCCAGKAAAIAVBH3F2IQQMAQsLQWwgCUEBRyAFQSBKcg0BGiABIAJBf2o2AgAgBiAFQQdqQQN1aiADawwBC0FQCyEAIApBEGokACAACwkAQQFBBSAAGwsMACAAIAEoAAA2AAALqgMBCn8jAEHwAGsiCiQAIAJBAWohDiAAQQhqIQtBgIAEIAVBf2p0QRB1IQxBACECQQEhBkEBIAV0IglBf2oiDyEIA0AgAiAORkUEQAJAIAEgAkEBdCINai8BACIHQf//A0YEQCALIAhBA3RqIAI2AgQgCEF/aiEIQQEhBwwBCyAGQQAgDCAHQRB0QRB1ShshBgsgCiANaiAHOwEAIAJBAWohAgwBCwsgACAFNgIEIAAgBjYCACAJQQN2IAlBAXZqQQNqIQxBACEAQQAhBkEAIQIDQCAGIA5GBEADQAJAIAAgCUYNACAKIAsgAEEDdGoiASgCBCIGQQF0aiICIAIvAQAiAkEBajsBACABIAUgAhAUayIIOgADIAEgAiAIQf8BcXQgCWs7AQAgASAEIAZBAnQiAmooAgA6AAIgASACIANqKAIANgIEIABBAWohAAwBCwsFIAEgBkEBdGouAQAhDUEAIQcDQCAHIA1ORQRAIAsgAkEDdGogBjYCBANAIAIgDGogD3EiAiAISw0ACyAHQQFqIQcMAQsLIAZBAWohBgwBCwsgCkHwAGokAAsjAEIAIAEQCSAAhUKHla+vmLbem55/fkLj3MqV/M7y9YV/fAsQACAAQn43AwggACABNgIACyQBAX8gAARAIAEoAgQiAgRAIAEoAgggACACEQEADwsgABAmCwsfACAAIAEgAi8BABAINgIAIAEQBBogACACQQRqNgIEC0oBAX9BoCAoAgAiASAAaiIAQX9MBEBBiCBBMDYCAEF/DwsCQCAAPwBBEHRNDQAgABBmDQBBiCBBMDYCAEF/DwtBoCAgADYCACABC9cBAQh/Qbp/IQoCQCACKAIEIgggAigCACIJaiIOIAEgAGtLDQBBbCEKIAkgBCADKAIAIgtrSw0AIAAgCWoiBCACKAIIIgxrIQ0gACABQWBqIg8gCyAJQQAQKSADIAkgC2o2AgACQAJAIAwgBCAFa00EQCANIQUMAQsgDCAEIAZrSw0CIAcgDSAFayIAaiIBIAhqIAdNBEAgBCABIAgQDxoMAgsgBCABQQAgAGsQDyEBIAIgACAIaiIINgIEIAEgAGshBAsgBCAPIAUgCEEBECkLIA4hCgsgCgubAgEBfyMAQYABayINJAAgDSADNgJ8AkAgAkEDSwRAQX8hCQwBCwJAAkACQAJAIAJBAWsOAwADAgELIAZFBEBBuH8hCQwEC0FsIQkgBS0AACICIANLDQMgACAHIAJBAnQiAmooAgAgAiAIaigCABA7IAEgADYCAEEBIQkMAwsgASAJNgIAQQAhCQwCCyAKRQRAQWwhCQwCC0EAIQkgC0UgDEEZSHINAUEIIAR0QQhqIQBBACECA0AgAiAATw0CIAJBQGshAgwAAAsAC0FsIQkgDSANQfwAaiANQfgAaiAFIAYQFSICEAMNACANKAJ4IgMgBEsNACAAIA0gDSgCfCAHIAggAxAYIAEgADYCACACIQkLIA1BgAFqJAAgCQsLACAAIAEgAhALGgsQACAALwAAIAAtAAJBEHRyCy8AAn9BuH8gAUEISQ0AGkFyIAAoAAQiAEF3Sw0AGkG4fyAAQQhqIgAgACABSxsLCwkAIAAgATsAAAsDAAELigYBBX8gACAAKAIAIgVBfnE2AgBBACAAIAVBAXZqQYQgKAIAIgQgAEYbIQECQAJAIAAoAgQiAkUNACACKAIAIgNBAXENACACQQhqIgUgA0EBdkF4aiIDQQggA0EISxtnQR9zQQJ0QYAfaiIDKAIARgRAIAMgAigCDDYCAAsgAigCCCIDBEAgAyACKAIMNgIECyACKAIMIgMEQCADIAIoAgg2AgALIAIgAigCACAAKAIAQX5xajYCAEGEICEAAkACQCABRQ0AIAEgAjYCBCABKAIAIgNBAXENASADQQF2QXhqIgNBCCADQQhLG2dBH3NBAnRBgB9qIgMoAgAgAUEIakYEQCADIAEoAgw2AgALIAEoAggiAwRAIAMgASgCDDYCBAsgASgCDCIDBEAgAyABKAIINgIAQYQgKAIAIQQLIAIgAigCACABKAIAQX5xajYCACABIARGDQAgASABKAIAQQF2akEEaiEACyAAIAI2AgALIAIoAgBBAXZBeGoiAEEIIABBCEsbZ0Efc0ECdEGAH2oiASgCACEAIAEgBTYCACACIAA2AgwgAkEANgIIIABFDQEgACAFNgIADwsCQCABRQ0AIAEoAgAiAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAigCACABQQhqRgRAIAIgASgCDDYCAAsgASgCCCICBEAgAiABKAIMNgIECyABKAIMIgIEQCACIAEoAgg2AgBBhCAoAgAhBAsgACAAKAIAIAEoAgBBfnFqIgI2AgACQCABIARHBEAgASABKAIAQQF2aiAANgIEIAAoAgAhAgwBC0GEICAANgIACyACQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgIoAgAhASACIABBCGoiAjYCACAAIAE2AgwgAEEANgIIIAFFDQEgASACNgIADwsgBUEBdkF4aiIBQQggAUEISxtnQR9zQQJ0QYAfaiICKAIAIQEgAiAAQQhqIgI2AgAgACABNgIMIABBADYCCCABRQ0AIAEgAjYCAAsLDgAgAARAIABBeGoQJQsLgAIBA38CQCAAQQ9qQXhxQYQgKAIAKAIAQQF2ayICEB1Bf0YNAAJAQYQgKAIAIgAoAgAiAUEBcQ0AIAFBAXZBeGoiAUEIIAFBCEsbZ0Efc0ECdEGAH2oiASgCACAAQQhqRgRAIAEgACgCDDYCAAsgACgCCCIBBEAgASAAKAIMNgIECyAAKAIMIgFFDQAgASAAKAIINgIAC0EBIQEgACAAKAIAIAJBAXRqIgI2AgAgAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAygCACECIAMgAEEIaiIDNgIAIAAgAjYCDCAAQQA2AgggAkUNACACIAM2AgALIAELtwIBA38CQAJAIABBASAAGyICEDgiAA0AAkACQEGEICgCACIARQ0AIAAoAgAiA0EBcQ0AIAAgA0EBcjYCACADQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgAgAEEIakYEQCABIAAoAgw2AgALIAAoAggiAQRAIAEgACgCDDYCBAsgACgCDCIBBEAgASAAKAIINgIACyACECchAkEAIQFBhCAoAgAhACACDQEgACAAKAIAQX5xNgIAQQAPCyACQQ9qQXhxIgMQHSICQX9GDQIgAkEHakF4cSIAIAJHBEAgACACaxAdQX9GDQMLAkBBhCAoAgAiAUUEQEGAICAANgIADAELIAAgATYCBAtBhCAgADYCACAAIANBAXRBAXI2AgAMAQsgAEUNAQsgAEEIaiEBCyABC7kDAQJ/IAAgA2ohBQJAIANBB0wEQANAIAAgBU8NAiAAIAItAAA6AAAgAEEBaiEAIAJBAWohAgwAAAsACyAEQQFGBEACQCAAIAJrIgZBB00EQCAAIAItAAA6AAAgACACLQABOgABIAAgAi0AAjoAAiAAIAItAAM6AAMgAEEEaiACIAZBAnQiBkHAHmooAgBqIgIQFyACIAZB4B5qKAIAayECDAELIAAgAhAMCyACQQhqIQIgAEEIaiEACwJAAkACQAJAIAUgAU0EQCAAIANqIQEgBEEBRyAAIAJrQQ9Kcg0BA0AgACACEAwgAkEIaiECIABBCGoiACABSQ0ACwwFCyAAIAFLBEAgACEBDAQLIARBAUcgACACa0EPSnINASAAIQMgAiEEA0AgAyAEEAwgBEEIaiEEIANBCGoiAyABSQ0ACwwCCwNAIAAgAhAHIAJBEGohAiAAQRBqIgAgAUkNAAsMAwsgACEDIAIhBANAIAMgBBAHIARBEGohBCADQRBqIgMgAUkNAAsLIAIgASAAa2ohAgsDQCABIAVPDQEgASACLQAAOgAAIAFBAWohASACQQFqIQIMAAALAAsLQQECfyAAIAAoArjgASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigCACACaiAAQQZ2IgFBAnRBsB5qKAIAaiAAQSBxIgBFaiABRSAAQQV2cWoFQbh/CwsdACAAKAKQ4gEQWiAAQQA2AqDiASAAQgA3A5DiAQu1AwEFfyMAQZACayIKJABBuH8hBgJAIAVFDQAgBCwAACIIQf8BcSEHAkAgCEF/TARAIAdBgn9qQQF2IgggBU8NAkFsIQYgB0GBf2oiBUGAAk8NAiAEQQFqIQdBACEGA0AgBiAFTwRAIAUhBiAIIQcMAwUgACAGaiAHIAZBAXZqIgQtAABBBHY6AAAgACAGQQFyaiAELQAAQQ9xOgAAIAZBAmohBgwBCwAACwALIAcgBU8NASAAIARBAWogByAKEFMiBhADDQELIAYhBEEAIQYgAUEAQTQQECEJQQAhBQNAIAQgBkcEQCAAIAZqIggtAAAiAUELSwRAQWwhBgwDBSAJIAFBAnRqIgEgASgCAEEBajYCACAGQQFqIQZBASAILQAAdEEBdSAFaiEFDAILAAsLQWwhBiAFRQ0AIAUQFEEBaiIBQQxLDQAgAyABNgIAQQFBASABdCAFayIDEBQiAXQgA0cNACAAIARqIAFBAWoiADoAACAJIABBAnRqIgAgACgCAEEBajYCACAJKAIEIgBBAkkgAEEBcXINACACIARBAWo2AgAgB0EBaiEGCyAKQZACaiQAIAYLxhEBDH8jAEHwAGsiBSQAQWwhCwJAIANBCkkNACACLwAAIQogAi8AAiEJIAIvAAQhByAFQQhqIAQQDgJAIAMgByAJIApqakEGaiIMSQ0AIAUtAAohCCAFQdgAaiACQQZqIgIgChAGIgsQAw0BIAVBQGsgAiAKaiICIAkQBiILEAMNASAFQShqIAIgCWoiAiAHEAYiCxADDQEgBUEQaiACIAdqIAMgDGsQBiILEAMNASAAIAFqIg9BfWohECAEQQRqIQZBASELIAAgAUEDakECdiIDaiIMIANqIgIgA2oiDiEDIAIhBCAMIQcDQCALIAMgEElxBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgCS0AAyELIAcgBiAFQUBrIAgQAkECdGoiCS8BADsAACAFQUBrIAktAAIQASAJLQADIQogBCAGIAVBKGogCBACQQJ0aiIJLwEAOwAAIAVBKGogCS0AAhABIAktAAMhCSADIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgDS0AAyENIAAgC2oiCyAGIAVB2ABqIAgQAkECdGoiAC8BADsAACAFQdgAaiAALQACEAEgAC0AAyEAIAcgCmoiCiAGIAVBQGsgCBACQQJ0aiIHLwEAOwAAIAVBQGsgBy0AAhABIActAAMhByAEIAlqIgkgBiAFQShqIAgQAkECdGoiBC8BADsAACAFQShqIAQtAAIQASAELQADIQQgAyANaiIDIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgACALaiEAIAcgCmohByAEIAlqIQQgAyANLQADaiEDIAVB2ABqEA0gBUFAaxANciAFQShqEA1yIAVBEGoQDXJFIQsMAQsLIAQgDksgByACS3INAEFsIQsgACAMSw0BIAxBfWohCQNAQQAgACAJSSAFQdgAahAEGwRAIAAgBiAFQdgAaiAIEAJBAnRqIgovAQA7AAAgBUHYAGogCi0AAhABIAAgCi0AA2oiACAGIAVB2ABqIAgQAkECdGoiCi8BADsAACAFQdgAaiAKLQACEAEgACAKLQADaiEADAEFIAxBfmohCgNAIAVB2ABqEAQgACAKS3JFBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgACAJLQADaiEADAELCwNAIAAgCk0EQCAAIAYgBUHYAGogCBACQQJ0aiIJLwEAOwAAIAVB2ABqIAktAAIQASAAIAktAANqIQAMAQsLAkAgACAMTw0AIAAgBiAFQdgAaiAIEAIiAEECdGoiDC0AADoAACAMLQADQQFGBEAgBUHYAGogDC0AAhABDAELIAUoAlxBH0sNACAFQdgAaiAGIABBAnRqLQACEAEgBSgCXEEhSQ0AIAVBIDYCXAsgAkF9aiEMA0BBACAHIAxJIAVBQGsQBBsEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiIAIAYgBUFAayAIEAJBAnRqIgcvAQA7AAAgBUFAayAHLQACEAEgACAHLQADaiEHDAEFIAJBfmohDANAIAVBQGsQBCAHIAxLckUEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwNAIAcgDE0EQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwJAIAcgAk8NACAHIAYgBUFAayAIEAIiAEECdGoiAi0AADoAACACLQADQQFGBEAgBUFAayACLQACEAEMAQsgBSgCREEfSw0AIAVBQGsgBiAAQQJ0ai0AAhABIAUoAkRBIUkNACAFQSA2AkQLIA5BfWohAgNAQQAgBCACSSAFQShqEAQbBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2oiACAGIAVBKGogCBACQQJ0aiIELwEAOwAAIAVBKGogBC0AAhABIAAgBC0AA2ohBAwBBSAOQX5qIQIDQCAFQShqEAQgBCACS3JFBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsDQCAEIAJNBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsCQCAEIA5PDQAgBCAGIAVBKGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBKGogAi0AAhABDAELIAUoAixBH0sNACAFQShqIAYgAEECdGotAAIQASAFKAIsQSFJDQAgBUEgNgIsCwNAQQAgAyAQSSAFQRBqEAQbBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2oiACAGIAVBEGogCBACQQJ0aiICLwEAOwAAIAVBEGogAi0AAhABIAAgAi0AA2ohAwwBBSAPQX5qIQIDQCAFQRBqEAQgAyACS3JFBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsDQCADIAJNBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsCQCADIA9PDQAgAyAGIAVBEGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBEGogAi0AAhABDAELIAUoAhRBH0sNACAFQRBqIAYgAEECdGotAAIQASAFKAIUQSFJDQAgBUEgNgIUCyABQWwgBUHYAGoQCiAFQUBrEApxIAVBKGoQCnEgBUEQahAKcRshCwwJCwAACwALAAALAAsAAAsACwAACwALQWwhCwsgBUHwAGokACALC7UEAQ5/IwBBEGsiBiQAIAZBBGogABAOQVQhBQJAIARB3AtJDQAgBi0ABCEHIANB8ARqQQBB7AAQECEIIAdBDEsNACADQdwJaiIJIAggBkEIaiAGQQxqIAEgAhAxIhAQA0UEQCAGKAIMIgQgB0sNASADQdwFaiEPIANBpAVqIREgAEEEaiESIANBqAVqIQEgBCEFA0AgBSICQX9qIQUgCCACQQJ0aigCAEUNAAsgAkEBaiEOQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgASALaiAKNgIAIAVBAWohBSAKIAxqIQoMAQsLIAEgCjYCAEEAIQUgBigCCCELA0AgBSALRkUEQCABIAUgCWotAAAiDEECdGoiDSANKAIAIg1BAWo2AgAgDyANQQF0aiINIAw6AAEgDSAFOgAAIAVBAWohBQwBCwtBACEBIANBADYCqAUgBEF/cyAHaiEJQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgAyALaiABNgIAIAwgBSAJanQgAWohASAFQQFqIQUMAQsLIAcgBEEBaiIBIAJrIgRrQQFqIQgDQEEBIQUgBCAIT0UEQANAIAUgDk9FBEAgBUECdCIJIAMgBEE0bGpqIAMgCWooAgAgBHY2AgAgBUEBaiEFDAELCyAEQQFqIQQMAQsLIBIgByAPIAogESADIAIgARBkIAZBAToABSAGIAc6AAYgACAGKAIENgIACyAQIQULIAZBEGokACAFC8ENAQt/IwBB8ABrIgUkAEFsIQkCQCADQQpJDQAgAi8AACEKIAIvAAIhDCACLwAEIQYgBUEIaiAEEA4CQCADIAYgCiAMampBBmoiDUkNACAFLQAKIQcgBUHYAGogAkEGaiICIAoQBiIJEAMNASAFQUBrIAIgCmoiAiAMEAYiCRADDQEgBUEoaiACIAxqIgIgBhAGIgkQAw0BIAVBEGogAiAGaiADIA1rEAYiCRADDQEgACABaiIOQX1qIQ8gBEEEaiEGQQEhCSAAIAFBA2pBAnYiAmoiCiACaiIMIAJqIg0hAyAMIQQgCiECA0AgCSADIA9JcQRAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAACAGIAVBQGsgBxACQQF0aiIILQAAIQsgBUFAayAILQABEAEgAiALOgAAIAYgBUEoaiAHEAJBAXRqIggtAAAhCyAFQShqIAgtAAEQASAEIAs6AAAgBiAFQRBqIAcQAkEBdGoiCC0AACELIAVBEGogCC0AARABIAMgCzoAACAGIAVB2ABqIAcQAkEBdGoiCC0AACELIAVB2ABqIAgtAAEQASAAIAs6AAEgBiAFQUBrIAcQAkEBdGoiCC0AACELIAVBQGsgCC0AARABIAIgCzoAASAGIAVBKGogBxACQQF0aiIILQAAIQsgBUEoaiAILQABEAEgBCALOgABIAYgBUEQaiAHEAJBAXRqIggtAAAhCyAFQRBqIAgtAAEQASADIAs6AAEgA0ECaiEDIARBAmohBCACQQJqIQIgAEECaiEAIAkgBUHYAGoQDUVxIAVBQGsQDUVxIAVBKGoQDUVxIAVBEGoQDUVxIQkMAQsLIAQgDUsgAiAMS3INAEFsIQkgACAKSw0BIApBfWohCQNAIAVB2ABqEAQgACAJT3JFBEAgBiAFQdgAaiAHEAJBAXRqIggtAAAhCyAFQdgAaiAILQABEAEgACALOgAAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAASAAQQJqIQAMAQsLA0AgBUHYAGoQBCAAIApPckUEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCwNAIAAgCkkEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCyAMQX1qIQADQCAFQUBrEAQgAiAAT3JFBEAgBiAFQUBrIAcQAkEBdGoiCi0AACEJIAVBQGsgCi0AARABIAIgCToAACAGIAVBQGsgBxACQQF0aiIKLQAAIQkgBUFAayAKLQABEAEgAiAJOgABIAJBAmohAgwBCwsDQCAFQUBrEAQgAiAMT3JFBEAgBiAFQUBrIAcQAkEBdGoiAC0AACEKIAVBQGsgAC0AARABIAIgCjoAACACQQFqIQIMAQsLA0AgAiAMSQRAIAYgBUFAayAHEAJBAXRqIgAtAAAhCiAFQUBrIAAtAAEQASACIAo6AAAgAkEBaiECDAELCyANQX1qIQADQCAFQShqEAQgBCAAT3JFBEAgBiAFQShqIAcQAkEBdGoiAi0AACEKIAVBKGogAi0AARABIAQgCjoAACAGIAVBKGogBxACQQF0aiICLQAAIQogBUEoaiACLQABEAEgBCAKOgABIARBAmohBAwBCwsDQCAFQShqEAQgBCANT3JFBEAgBiAFQShqIAcQAkEBdGoiAC0AACECIAVBKGogAC0AARABIAQgAjoAACAEQQFqIQQMAQsLA0AgBCANSQRAIAYgBUEoaiAHEAJBAXRqIgAtAAAhAiAFQShqIAAtAAEQASAEIAI6AAAgBEEBaiEEDAELCwNAIAVBEGoQBCADIA9PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIAYgBUEQaiAHEAJBAXRqIgAtAAAhAiAFQRBqIAAtAAEQASADIAI6AAEgA0ECaiEDDAELCwNAIAVBEGoQBCADIA5PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIANBAWohAwwBCwsDQCADIA5JBEAgBiAFQRBqIAcQAkEBdGoiAC0AACECIAVBEGogAC0AARABIAMgAjoAACADQQFqIQMMAQsLIAFBbCAFQdgAahAKIAVBQGsQCnEgBUEoahAKcSAFQRBqEApxGyEJDAELQWwhCQsgBUHwAGokACAJC8oCAQR/IwBBIGsiBSQAIAUgBBAOIAUtAAIhByAFQQhqIAIgAxAGIgIQA0UEQCAEQQRqIQIgACABaiIDQX1qIQQDQCAFQQhqEAQgACAET3JFBEAgAiAFQQhqIAcQAkEBdGoiBi0AACEIIAVBCGogBi0AARABIAAgCDoAACACIAVBCGogBxACQQF0aiIGLQAAIQggBUEIaiAGLQABEAEgACAIOgABIABBAmohAAwBCwsDQCAFQQhqEAQgACADT3JFBEAgAiAFQQhqIAcQAkEBdGoiBC0AACEGIAVBCGogBC0AARABIAAgBjoAACAAQQFqIQAMAQsLA0AgACADT0UEQCACIAVBCGogBxACQQF0aiIELQAAIQYgBUEIaiAELQABEAEgACAGOgAAIABBAWohAAwBCwsgAUFsIAVBCGoQChshAgsgBUEgaiQAIAILtgMBCX8jAEEQayIGJAAgBkEANgIMIAZBADYCCEFUIQQCQAJAIANBQGsiDCADIAZBCGogBkEMaiABIAIQMSICEAMNACAGQQRqIAAQDiAGKAIMIgcgBi0ABEEBaksNASAAQQRqIQogBkEAOgAFIAYgBzoABiAAIAYoAgQ2AgAgB0EBaiEJQQEhBANAIAQgCUkEQCADIARBAnRqIgEoAgAhACABIAU2AgAgACAEQX9qdCAFaiEFIARBAWohBAwBCwsgB0EBaiEHQQAhBSAGKAIIIQkDQCAFIAlGDQEgAyAFIAxqLQAAIgRBAnRqIgBBASAEdEEBdSILIAAoAgAiAWoiADYCACAHIARrIQhBACEEAkAgC0EDTQRAA0AgBCALRg0CIAogASAEakEBdGoiACAIOgABIAAgBToAACAEQQFqIQQMAAALAAsDQCABIABPDQEgCiABQQF0aiIEIAg6AAEgBCAFOgAAIAQgCDoAAyAEIAU6AAIgBCAIOgAFIAQgBToABCAEIAg6AAcgBCAFOgAGIAFBBGohAQwAAAsACyAFQQFqIQUMAAALAAsgAiEECyAGQRBqJAAgBAutAQECfwJAQYQgKAIAIABHIAAoAgBBAXYiAyABa0F4aiICQXhxQQhHcgR/IAIFIAMQJ0UNASACQQhqC0EQSQ0AIAAgACgCACICQQFxIAAgAWpBD2pBeHEiASAAa0EBdHI2AgAgASAANgIEIAEgASgCAEEBcSAAIAJBAXZqIAFrIgJBAXRyNgIAQYQgIAEgAkH/////B3FqQQRqQYQgKAIAIABGGyABNgIAIAEQJQsLygIBBX8CQAJAAkAgAEEIIABBCEsbZ0EfcyAAaUEBR2oiAUEESSAAIAF2cg0AIAFBAnRB/B5qKAIAIgJFDQADQCACQXhqIgMoAgBBAXZBeGoiBSAATwRAIAIgBUEIIAVBCEsbZ0Efc0ECdEGAH2oiASgCAEYEQCABIAIoAgQ2AgALDAMLIARBHksNASAEQQFqIQQgAigCBCICDQALC0EAIQMgAUEgTw0BA0AgAUECdEGAH2ooAgAiAkUEQCABQR5LIQIgAUEBaiEBIAJFDQEMAwsLIAIgAkF4aiIDKAIAQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgBGBEAgASACKAIENgIACwsgAigCACIBBEAgASACKAIENgIECyACKAIEIgEEQCABIAIoAgA2AgALIAMgAygCAEEBcjYCACADIAAQNwsgAwvhCwINfwV+IwBB8ABrIgckACAHIAAoAvDhASIINgJcIAEgAmohDSAIIAAoAoDiAWohDwJAAkAgBUUEQCABIQQMAQsgACgCxOABIRAgACgCwOABIREgACgCvOABIQ4gAEEBNgKM4QFBACEIA0AgCEEDRwRAIAcgCEECdCICaiAAIAJqQazQAWooAgA2AkQgCEEBaiEIDAELC0FsIQwgB0EYaiADIAQQBhADDQEgB0EsaiAHQRhqIAAoAgAQEyAHQTRqIAdBGGogACgCCBATIAdBPGogB0EYaiAAKAIEEBMgDUFgaiESIAEhBEEAIQwDQCAHKAIwIAcoAixBA3RqKQIAIhRCEIinQf8BcSEIIAcoAkAgBygCPEEDdGopAgAiFUIQiKdB/wFxIQsgBygCOCAHKAI0QQN0aikCACIWQiCIpyEJIBVCIIghFyAUQiCIpyECAkAgFkIQiKdB/wFxIgNBAk8EQAJAIAZFIANBGUlyRQRAIAkgB0EYaiADQSAgBygCHGsiCiAKIANLGyIKEAUgAyAKayIDdGohCSAHQRhqEAQaIANFDQEgB0EYaiADEAUgCWohCQwBCyAHQRhqIAMQBSAJaiEJIAdBGGoQBBoLIAcpAkQhGCAHIAk2AkQgByAYNwNIDAELAkAgA0UEQCACBEAgBygCRCEJDAMLIAcoAkghCQwBCwJAAkAgB0EYakEBEAUgCSACRWpqIgNBA0YEQCAHKAJEQX9qIgMgA0VqIQkMAQsgA0ECdCAHaigCRCIJIAlFaiEJIANBAUYNAQsgByAHKAJINgJMCwsgByAHKAJENgJIIAcgCTYCRAsgF6chAyALBEAgB0EYaiALEAUgA2ohAwsgCCALakEUTwRAIAdBGGoQBBoLIAgEQCAHQRhqIAgQBSACaiECCyAHQRhqEAQaIAcgB0EYaiAUQhiIp0H/AXEQCCAUp0H//wNxajYCLCAHIAdBGGogFUIYiKdB/wFxEAggFadB//8DcWo2AjwgB0EYahAEGiAHIAdBGGogFkIYiKdB/wFxEAggFqdB//8DcWo2AjQgByACNgJgIAcoAlwhCiAHIAk2AmggByADNgJkAkACQAJAIAQgAiADaiILaiASSw0AIAIgCmoiEyAPSw0AIA0gBGsgC0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWo
vendor: 19,007 bytes, line 4276
4276hCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdBKGogACgCBBATQQAhBCAHQeAAaiEMIAdB5ABqIQoDQCAHQShqEARBAksgBCAXTnJFBEAgBygCQCAHKAI8QQN0aikCACIdQhCIp0H/AXEhCyAHKAJQIAcoAkxBA3RqKQIAIh5CEIinQf8BcSEJIAcoAkggBygCREEDdGopAgAiH0IgiKchCCAeQiCIISAgHUIgiKchAgJAIB9CEIinQf8BcSIDQQJPBEACQCAGRSADQRlJckUEQCAIIAdBKGogA0EgIAcoAixrIg0gDSADSxsiDRAFIAMgDWsiA3RqIQggB0EoahAEGiADRQ0BIAdBKGogAxAFIAhqIQgMAQsgB0EoaiADEAUgCGohCCAHQShqEAQaCyAHKQJUISEgByAINgJUIAcgITcDWAwBCwJAIANFBEAgAgRAIAcoAlQhCAwDCyAHKAJYIQgMAQsCQAJAIAdBKGpBARAFIAggAkVqaiIDQQNGBEAgBygCVEF/aiIDIANFaiEIDAELIANBAnQgB2ooAlQiCCAIRWohCCADQQFGDQELIAcgBygCWDYCXAsLIAcgBygCVDYCWCAHIAg2AlQLICCnIQMgCQRAIAdBKGogCRAFIANqIQMLIAkgC2pBFE8EQCAHQShqEAQaCyALBEAgB0EoaiALEAUgAmohAgsgB0EoahAEGiAHIAcoAmggAmoiCSADajYCaCAKIAwgCCAJSxsoAgAhDSAHIAdBKGogHUIYiKdB/wFxEAggHadB//8DcWo2AjwgByAHQShqIB5CGIinQf8BcRAIIB6nQf//A3FqNgJMIAdBKGoQBBogB0EoaiAfQhiIp0H/AXEQCCEOIAdB8ABqIARBBHRqIgsgCSANaiAIazYCDCALIAg2AgggCyADNgIEIAsgAjYCACAHIA4gH6dB//8DcWo2AkQgBEEBaiEEDAELCyAEIBdIDQEgEkFgaiEYIAdB4ABqIRogB0HkAGohGyABIQMDQCAHQShqEARBAksgBCAFTnJFBEAgBygCQCAHKAI8QQN0aikCACIdQhCIp0H/AXEhCyAHKAJQIAcoAkxBA3RqKQIAIh5CEIinQf8BcSEIIAcoAkggBygCREEDdGopAgAiH0IgiKchCSAeQiCIISAgHUIgiKchDAJAIB9CEIinQf8BcSICQQJPBEACQCAGRSACQRlJckUEQCAJIAdBKGogAkEgIAcoAixrIgogCiACSxsiChAFIAIgCmsiAnRqIQkgB0EoahAEGiACRQ0BIAdBKGogAhAFIAlqIQkMAQsgB0EoaiACEAUgCWohCSAHQShqEAQaCyAHKQJUISEgByAJNgJUIAcgITcDWAwBCwJAIAJFBEAgDARAIAcoAlQhCQwDCyAHKAJYIQkMAQsCQAJAIAdBKGpBARAFIAkgDEVqaiICQQNGBEAgBygCVEF/aiICIAJFaiEJDAELIAJBAnQgB2ooAlQiCSAJRWohCSACQQFGDQELIAcgBygCWDYCXAsLIAcgBygCVDYCWCAHIAk2AlQLICCnIRQgCARAIAdBKGogCBAFIBRqIRQLIAggC2pBFE8EQCAHQShqEAQaCyALBEAgB0EoaiALEAUgDGohDAsgB0EoahAEGiAHIAcoAmggDGoiGSAUajYCaCAbIBogCSAZSxsoAgAhHCAHIAdBKGogHUIYiKdB/wFxEAggHadB//8DcWo2AjwgByAHQShqIB5CGIinQf8BcRAIIB6nQf//A3FqNgJMIAdBKGoQBBogByAHQShqIB9CGIinQf8BcRAIIB+nQf//A3FqNgJEIAcgB0HwAGogBEEDcUEEdGoiDSkDCCIdNwPIASAHIA0pAwAiHjcDwAECQAJAAkAgBygCvAEiDiAepyICaiIWIBNLDQAgAyAHKALEASIKIAJqIgtqIBhLDQAgEiADayALQSBqTw0BCyAHIAcpA8gBNwMQIAcgBykDwAE3AwggAyASIAdBCGogB0G8AWogEyAPIBUgERAeIQsMAQsgAiADaiEIIAMgDhAHIAJBEU8EQCADQRBqIQIDQCACIA5BEGoiDhAHIAJBEGoiAiAISQ0ACwsgCCAdpyIOayECIAcgFjYCvAEgDiAIIA9rSwRAIA4gCCAVa0sEQEFsIQsMAgsgESACIA9rIgJqIhYgCmogEU0EQCAIIBYgChAPGgwCCyAIIBZBACACaxAPIQggByACIApqIgo2AsQBIAggAmshCCAPIQILIA5BEE8EQCAIIApqIQoDQCAIIAIQByACQRBqIQIgCEEQaiIIIApJDQALDAELAkAgDkEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgDkECdCIKQcAeaigCAGoiAhAXIAIgCkHgHmooAgBrIQIgBygCxAEhCgwBCyAIIAIQDAsgCkEJSQ0AIAggCmohCiAIQQhqIgggAkEIaiICa0EPTARAA0AgCCACEAwgAkEIaiECIAhBCGoiCCAKSQ0ADAIACwALA0AgCCACEAcgAkEQaiECIAhBEGoiCCAKSQ0ACwsgCxADBEAgCyEQDAQFIA0gDDYCACANIBkgHGogCWs2AgwgDSAJNgIIIA0gFDYCBCAEQQFqIQQgAyALaiEDDAILAAsLIAQgBUgNASAEIBdrIQtBACEEA0AgCyAFSARAIAcgB0HwAGogC0EDcUEEdGoiAikDCCIdNwPIASAHIAIpAwAiHjcDwAECQAJAAkAgBygCvAEiDCAepyICaiIKIBNLDQAgAyAHKALEASIJIAJqIhBqIBhLDQAgEiADayAQQSBqTw0BCyAHIAcpA8gBNwMgIAcgBykDwAE3AxggAyASIAdBGGogB0G8AWogEyAPIBUgERAeIRAMAQsgAiADaiEIIAMgDBAHIAJBEU8EQCADQRBqIQIDQCACIAxBEGoiDBAHIAJBEGoiAiAISQ0ACwsgCCAdpyIGayECIAcgCjYCvAEgBiAIIA9rSwRAIAYgCCAVa0sEQEFsIRAMAgsgESACIA9rIgJqIgwgCWogEU0EQCAIIAwgCRAPGgwCCyAIIAxBACACaxAPIQggByACIAlqIgk2AsQBIAggAmshCCAPIQILIAZBEE8EQCAIIAlqIQYDQCAIIAIQByACQRBqIQIgCEEQaiIIIAZJDQALDAELAkAgBkEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgBkECdCIGQcAeaigCAGoiAhAXIAIgBkHgHmooAgBrIQIgBygCxAEhCQwBCyAIIAIQDAsgCUEJSQ0AIAggCWohBiAIQQhqIgggAkEIaiICa0EPTARAA0AgCCACEAwgAkEIaiECIAhBCGoiCCAGSQ0ADAIACwALA0AgCCACEAcgAkEQaiECIAhBEGoiCCAGSQ0ACwsgEBADDQMgC0EBaiELIAMgEGohAwwBCwsDQCAEQQNHBEAgACAEQQJ0IgJqQazQAWogAiAHaigCVDYCACAEQQFqIQQMAQsLIAcoArwBIQgLQbp/IRAgEyAIayIAIBIgA2tLDQAgAwR/IAMgCCAAEAsgAGoFQQALIAFrIRALIAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY0AAQMyIFEAMiBg0AIANBHzYCfCADIANB/ABqIANB+ABqIAQgBCAFaiAGGyIEIAEgAmoiAiAEaxAVIgUQAw0AIAMoAnwiBkEfSw0AIAMoAngiB0EJTw0AIABBiCBqIAMgBkGAC0GADCAHEBggA0E0NgJ8IAMgA0H8AGogA0H4AGogBCAFaiIEIAIgBGsQFSIFEAMNACADKAJ8IgZBNEsNACADKAJ4IgdBCk8NACAAQZAwaiADIAZBgA1B4A4gBxAYIANBIzYCfCADIANB/ABqIANB+ABqIAQgBWoiBCACIARrEBUiBRADDQAgAygCfCIGQSNLDQAgAygCeCIHQQpPDQAgACADIAZBwBBB0BEgBxAYIAQgBWoiBEEMaiIFIAJLDQAgAiAFayEFQQAhAgNAIAJBA0cEQCAEKAAAIgZBf2ogBU8NAiAAIAJBAnRqQZzQAWogBjYCACACQQFqIQIgBEEEaiEEDAELCyAEIAFrIQgLIANBgAFqJAAgCAtGAQN/IABBCGohAyAAKAIEIQJBACEAA0AgACACdkUEQCABIAMgAEEDdGotAAJBFktqIQEgAEEBaiEADAELCyABQQggAmt0C4YDAQV/Qbh/IQcCQCADRQ0AIAItAAAiBEUEQCABQQA2AgBBAUG4fyADQQFGGw8LAn8gAkEBaiIFIARBGHRBGHUiBkF/Sg0AGiAGQX9GBEAgA0EDSA0CIAUvAABBgP4BaiEEIAJBA2oMAQsgA0ECSA0BIAItAAEgBEEIdHJBgIB+aiEEIAJBAmoLIQUgASAENgIAIAVBAWoiASACIANqIgNLDQBBbCEHIABBEGogACAFLQAAIgVBBnZBI0EJIAEgAyABa0HAEEHQEUHwEiAAKAKM4QEgACgCnOIBIAQQHyIGEAMiCA0AIABBmCBqIABBCGogBUEEdkEDcUEfQQggASABIAZqIAgbIgEgAyABa0GAC0GADEGAFyAAKAKM4QEgACgCnOIBIAQQHyIGEAMiCA0AIABBoDBqIABBBGogBUECdkEDcUE0QQkgASABIAZqIAgbIgEgAyABa0GADUHgDkGQGSAAKAKM4QEgACgCnOIBIAQQHyIAEAMNACAAIAFqIAJrIQcLIAcLrQMBCn8jAEGABGsiCCQAAn9BUiACQf8BSw0AGkFUIANBDEsNABogAkEBaiELIABBBGohCUGAgAQgA0F/anRBEHUhCkEAIQJBASEEQQEgA3QiB0F/aiIMIQUDQCACIAtGRQRAAkAgASACQQF0Ig1qLwEAIgZB//8DRgRAIAkgBUECdGogAjoAAiAFQX9qIQVBASEGDAELIARBACAKIAZBEHRBEHVKGyEECyAIIA1qIAY7AQAgAkEBaiECDAELCyAAIAQ7AQIgACADOwEAIAdBA3YgB0EBdmpBA2ohBkEAIQRBACECA0AgBCALRkUEQCABIARBAXRqLgEAIQpBACEAA0AgACAKTkUEQCAJIAJBAnRqIAQ6AAIDQCACIAZqIAxxIgIgBUsNAAsgAEEBaiEADAELCyAEQQFqIQQMAQsLQX8gAg0AGkEAIQIDfyACIAdGBH9BAAUgCCAJIAJBAnRqIgAtAAJBAXRqIgEgAS8BACIBQQFqOwEAIAAgAyABEBRrIgU6AAMgACABIAVB/wFxdCAHazsBACACQQFqIQIMAQsLCyEFIAhBgARqJAAgBQvjBgEIf0FsIQcCQCACQQNJDQACQAJAAkACQCABLQAAIgNBA3EiCUEBaw4DAwEAAgsgACgCiOEBDQBBYg8LIAJBBUkNAkEDIQYgASgAACEFAn8CQAJAIANBAnZBA3EiCEF+aiIEQQFNBEAgBEEBaw0BDAILIAVBDnZB/wdxIQQgBUEEdkH/B3EhAyAIRQwCCyAFQRJ2IQRBBCEGIAVBBHZB//8AcSEDQQAMAQsgBUEEdkH//w9xIgNBgIAISw0DIAEtAARBCnQgBUEWdnIhBEEFIQZBAAshBSAEIAZqIgogAksNAgJAIANBgQZJDQAgACgCnOIBRQ0AQQAhAgNAIAJBg4ABSw0BIAJBQGshAgwAAAsACwJ/IAlBA0YEQCABIAZqIQEgAEHw4gFqIQIgACgCDCEGIAUEQCACIAMgASAEIAYQXwwCCyACIAMgASAEIAYQXQwBCyAAQbjQAWohAiABIAZqIQEgAEHw4gFqIQYgAEGo0ABqIQggBQRAIAggBiADIAEgBCACEF4MAQsgCCAGIAMgASAEIAIQXAsQAw0CIAAgAzYCgOIBIABBATYCiOEBIAAgAEHw4gFqNgLw4QEgCUECRgRAIAAgAEGo0ABqNgIMCyAAIANqIgBBiOMBakIANwAAIABBgOMBakIANwAAIABB+OIBakIANwAAIABB8OIBakIANwAAIAoPCwJ/AkACQAJAIANBAnZBA3FBf2oiBEECSw0AIARBAWsOAgACAQtBASEEIANBA3YMAgtBAiEEIAEvAABBBHYMAQtBAyEEIAEQIUEEdgsiAyAEaiIFQSBqIAJLBEAgBSACSw0CIABB8OIBaiABIARqIAMQCyEBIAAgAzYCgOIBIAAgATYC8OEBIAEgA2oiAEIANwAYIABCADcAECAAQgA3AAggAEIANwAAIAUPCyAAIAM2AoDiASAAIAEgBGo2AvDhASAFDwsCfwJAAkACQCADQQJ2QQNxQX9qIgRBAksNACAEQQFrDgIAAgELQQEhByADQQN2DAILQQIhByABLwAAQQR2DAELIAJBBEkgARAhIgJBj4CAAUtyDQFBAyEHIAJBBHYLIQIgAEHw4gFqIAEgB2otAAAgAkEgahAQIQEgACACNgKA4gEgACABNgLw4QEgB0EBaiEHCyAHC0sAIABC+erQ0OfJoeThADcDICAAQgA3AxggAELP1tO+0ser2UI3AxAgAELW64Lu6v2J9eAANwMIIABCADcDACAAQShqQQBBKBAQGgviAgICfwV+IABBKGoiASAAKAJIaiECAn4gACkDACIDQiBaBEAgACkDECIEQgeJIAApAwgiBUIBiXwgACkDGCIGQgyJfCAAKQMgIgdCEol8IAUQGSAEEBkgBhAZIAcQGQwBCyAAKQMYQsXP2bLx5brqJ3wLIAN8IQMDQCABQQhqIgAgAk0EQEIAIAEpAAAQCSADhUIbiUKHla+vmLbem55/fkLj3MqV/M7y9YV/fCEDIAAhAQwBCwsCQCABQQRqIgAgAksEQCABIQAMAQsgASgAAK1Ch5Wvr5i23puef34gA4VCF4lCz9bTvtLHq9lCfkL5893xmfaZqxZ8IQMLA0AgACACSQRAIAAxAABCxc/ZsvHluuonfiADhUILiUKHla+vmLbem55/fiEDIABBAWohAAwBCwsgA0IhiCADhULP1tO+0ser2UJ+IgNCHYggA4VC+fPd8Zn2masWfiIDQiCIIAOFC+8CAgJ/BH4gACAAKQMAIAKtfDcDAAJAAkAgACgCSCIDIAJqIgRBH00EQCABRQ0BIAAgA2pBKGogASACECAgACgCSCACaiEEDAELIAEgAmohAgJ/IAMEQCAAQShqIgQgA2ogAUEgIANrECAgACAAKQMIIAQpAAAQCTcDCCAAIAApAxAgACkAMBAJNwMQIAAgACkDGCAAKQA4EAk3AxggACAAKQMgIABBQGspAAAQCTcDICAAKAJIIQMgAEEANgJIIAEgA2tBIGohAQsgAUEgaiACTQsEQCACQWBqIQMgACkDICEFIAApAxghBiAAKQMQIQcgACkDCCEIA0AgCCABKQAAEAkhCCAHIAEpAAgQCSEHIAYgASkAEBAJIQYgBSABKQAYEAkhBSABQSBqIgEgA00NAAsgACAFNwMgIAAgBjcDGCAAIAc3AxAgACAINwMICyABIAJPDQEgAEEoaiABIAIgAWsiBBAgCyAAIAQ2AkgLCy8BAX8gAEUEQEG2f0EAIAMbDwtBun8hBCADIAFNBH8gACACIAMQEBogAwVBun8LCy8BAX8gAEUEQEG2f0EAIAMbDwtBun8hBCADIAFNBH8gACACIAMQCxogAwVBun8LC6gCAQZ/IwBBEGsiByQAIABB2OABaikDAEKAgIAQViEIQbh/IQUCQCAEQf//B0sNACAAIAMgBBBCIgUQAyIGDQAgACgCnOIBIQkgACAHQQxqIAMgAyAFaiAGGyIKIARBACAFIAYbayIGEEAiAxADBEAgAyEFDAELIAcoAgwhBCABRQRAQbp/IQUgBEEASg0BCyAGIANrIQUgAyAKaiEDAkAgCQRAIABBADYCnOIBDAELAkACQAJAIARBBUgNACAAQdjgAWopAwBCgICACFgNAAwBCyAAQQA2ApziAQwBCyAAKAIIED8hBiAAQQA2ApziASAGQRRPDQELIAAgASACIAMgBSAEIAgQOSEFDAELIAAgASACIAMgBSAEIAgQOiEFCyAHQRBqJAAgBQtnACAAQdDgAWogASACIAAoAuzhARAuIgEQAwRAIAEPC0G4fyECAkAgAQ0AIABB7OABaigCACIBBEBBYCECIAAoApjiASABRw0BC0EAIQIgAEHw4AFqKAIARQ0AIABBkOEBahBDCyACCycBAX8QVyIERQRAQUAPCyAEIAAgASACIAMgBBBLEE8hACAEEFYgAAs/AQF/AkACQAJAIAAoAqDiAUEBaiIBQQJLDQAgAUEBaw4CAAECCyAAEDBBAA8LIABBADYCoOIBCyAAKAKU4gELvAMCB38BfiMAQRBrIgkkAEG4fyEGAkAgBCgCACIIQQVBCSAAKALs4QEiBRtJDQAgAygCACIHQQFBBSAFGyAFEC8iBRADBEAgBSEGDAELIAggBUEDakkNACAAIAcgBRBJIgYQAw0AIAEgAmohCiAAQZDhAWohCyAIIAVrIQIgBSAHaiEHIAEhBQNAIAcgAiAJECwiBhADDQEgAkF9aiICIAZJBEBBuH8hBgwCCyAJKAIAIghBAksEQEFsIQYMAgsgB0EDaiEHAn8CQAJAAkAgCEEBaw4CAgABCyAAIAUgCiAFayAHIAYQSAwCCyAFIAogBWsgByAGEEcMAQsgBSAKIAVrIActAAAgCSgCCBBGCyIIEAMEQCAIIQYMAgsgACgC8OABBEAgCyAFIAgQRQsgAiAGayECIAYgB2ohByAFIAhqIQUgCSgCBEUNAAsgACkD0OABIgxCf1IEQEFsIQYgDCAFIAFrrFINAQsgACgC8OABBEBBaiEGIAJBBEkNASALEEQhDCAHKAAAIAynRw0BIAdBBGohByACQXxqIQILIAMgBzYCACAEIAI2AgAgBSABayEGCyAJQRBqJAAgBgsuACAAECsCf0EAQQAQAw0AGiABRSACRXJFBEBBYiAAIAEgAhA9EAMNARoLQQALCzcAIAEEQCAAIAAoAsTgASABKAIEIAEoAghqRzYCnOIBCyAAECtBABADIAFFckUEQCAAIAEQWwsL0QIBB38jAEEQayIGJAAgBiAENgIIIAYgAzYCDCAFBEAgBSgCBCEKIAUoAgghCQsgASEIAkACQANAIAAoAuzhARAWIQsCQANAIAQgC0kNASADKAAAQXBxQdDUtMIBRgRAIAMgBBAiIgcQAw0EIAQgB2shBCADIAdqIQMMAQsLIAYgAzYCDCAGIAQ2AggCQCAFBEAgACAFEE5BACEHQQAQA0UNAQwFCyAAIAogCRBNIgcQAw0ECyAAIAgQUCAMQQFHQQAgACAIIAIgBkEMaiAGQQhqEEwiByIDa0EAIAMQAxtBCkdyRQRAQbh/IQcMBAsgBxADDQMgAiAHayECIAcgCGohCEEBIQwgBigCDCEDIAYoAgghBAwBCwsgBiADNgIMIAYgBDYCCEG4fyEHIAQNASAIIAFrIQcMAQsgBiADNgIMIAYgBDYCCAsgBkEQaiQAIAcLRgECfyABIAAoArjgASICRwRAIAAgAjYCxOABIAAgATYCuOABIAAoArzgASEDIAAgATYCvOABIAAgASADIAJrajYCwOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEEdCAAbiECCyAAQQh2IgEgAkEYbCIAQYwIaigCAGwgAEGICGooAgBqIgJBA3YgAmogAEGACGooAgAgAEGECGooAgAgAWxqSQs3ACAAIAMgBCAFQYAQEDMiBRADBEAgBQ8LIAUgBEkEfyABIAIgAyAFaiAEIAVrIAAQMgVBuH8LC78DAQN/IwBBIGsiBSQAIAVBCGogAiADEAYiAhADRQRAIAAgAWoiB0F9aiEGIAUgBBAOIARBBGohAiAFLQACIQMDQEEAIAAgBkkgBUEIahAEGwRAIAAgAiAFQQhqIAMQAkECdGoiBC8BADsAACAFQQhqIAQtAAIQASAAIAQtAANqIgQgAiAFQQhqIAMQAkECdGoiAC8BADsAACAFQQhqIAAtAAIQASAEIAAtAANqIQAMAQUgB0F+aiEEA0AgBUEIahAEIAAgBEtyRQRAIAAgAiAFQQhqIAMQAkECdGoiBi8BADsAACAFQQhqIAYtAAIQASAAIAYtAANqIQAMAQsLA0AgACAES0UEQCAAIAIgBUEIaiADEAJBAnRqIgYvAQA7AAAgBUEIaiAGLQACEAEgACAGLQADaiEADAELCwJAIAAgB08NACAAIAIgBUEIaiADEAIiA0ECdGoiAC0AADoAACAALQADQQFGBEAgBUEIaiAALQACEAEMAQsgBSgCDEEfSw0AIAVBCGogAiADQQJ0ai0AAhABIAUoAgxBIUkNACAFQSA2AgwLIAFBbCAFQQhqEAobIQILCwsgBUEgaiQAIAILkgIBBH8jAEFAaiIJJAAgCSADQTQQCyEDAkAgBEECSA0AIAMgBEECdGooAgAhCSADQTxqIAgQIyADQQE6AD8gAyACOgA+QQAhBCADKAI8IQoDQCAEIAlGDQEgACAEQQJ0aiAKNgEAIARBAWohBAwAAAsAC0EAIQkDQCAGIAlGRQRAIAMgBSAJQQF0aiIKLQABIgtBAnRqIgwoAgAhBCADQTxqIAotAABBCHQgCGpB//8DcRAjIANBAjoAPyADIAcgC2siCiACajoAPiAEQQEgASAKa3RqIQogAygCPCELA0AgACAEQQJ0aiALNgEAIARBAWoiBCAKSQ0ACyAMIAo2AgAgCUEBaiEJDAELCyADQUBrJAALowIBCX8jAEHQAGsiCSQAIAlBEGogBUE0EAsaIAcgBmshDyAHIAFrIRADQAJAIAMgCkcEQEEBIAEgByACIApBAXRqIgYtAAEiDGsiCGsiC3QhDSAGLQAAIQ4gCUEQaiAMQQJ0aiIMKAIAIQYgCyAPTwRAIAAgBkECdGogCyAIIAUgCEE0bGogCCAQaiIIQQEgCEEBShsiCCACIAQgCEECdGooAgAiCEEBdGogAyAIayAHIA4QYyAGIA1qIQgMAgsgCUEMaiAOECMgCUEBOgAPIAkgCDoADiAGIA1qIQggCSgCDCELA0AgBiAITw0CIAAgBkECdGogCzYBACAGQQFqIQYMAAALAAsgCUHQAGokAA8LIAwgCDYCACAKQQFqIQoMAAALAAs0ACAAIAMgBCAFEDYiBRADBEAgBQ8LIAUgBEkEfyABIAIgAyAFaiAEIAVrIAAQNAVBuH8LCyMAIAA/AEEQdGtB//8DakEQdkAAQX9GBEBBAA8LQQAQAEEBCzsBAX8gAgRAA0AgACABIAJBgCAgAkGAIEkbIgMQCyEAIAFBgCBqIQEgAEGAIGohACACIANrIgINAAsLCwYAIAAQAwsLqBUJAEGICAsNAQAAAAEAAAACAAAAAgBBoAgLswYBAAAAAQAAAAIAAAACAAAAJgAAAIIAAAAhBQAASgAAAGcIAAAmAAAAwAEAAIAAAABJBQAASgAAAL4IAAApAAAALAIAAIAAAABJBQAASgAAAL4IAAAvAAAAygIAAIAAAACKBQAASgAAAIQJAAA1AAAAcwMAAIAAAACdBQAASgAAAKAJAAA9AAAAgQMAAIAAAADrBQAASwAAAD4KAABEAAAAngMAAIAAAABNBgAASwAAAKoKAABLAAAAswMAAIAAAADBBgAATQAAAB8NAABNAAAAUwQAAIAAAAAjCAAAUQAAAKYPAABUAAAAmQQAAIAAAABLCQAAVwAAALESAABYAAAA2gQAAIAAAABvCQAAXQAAACMUAABUAAAARQUAAIAAAABUCgAAagAAAIwUAABqAAAArwUAAIAAAAB2CQAAfAAAAE4QAAB8AAAA0gIAAIAAAABjBwAAkQAAAJAHAACSAAAAAAAAAAEAAAABAAAABQAAAA0AAAAdAAAAPQAAAH0AAAD9AAAA/QEAAP0DAAD9BwAA/Q8AAP0fAAD9PwAA/X8AAP3/AAD9/wEA/f8DAP3/BwD9/w8A/f8fAP3/PwD9/38A/f//AP3//wH9//8D/f//B/3//w/9//8f/f//P/3//38AAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACUAAAAnAAAAKQAAACsAAAAvAAAAMwAAADsAAABDAAAAUwAAAGMAAACDAAAAAwEAAAMCAAADBAAAAwgAAAMQAAADIAAAA0AAAAOAAAADAAEAQeAPC1EBAAAAAQAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAQcQQC4sBAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABIAAAAUAAAAFgAAABgAAAAcAAAAIAAAACgAAAAwAAAAQAAAAIAAAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQBBkBIL5gQBAAAAAQAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAAAEAAAAEAAAACAAAAAAAAAABAAEBBgAAAAAAAAQAAAAAEAAABAAAAAAgAAAFAQAAAAAAAAUDAAAAAAAABQQAAAAAAAAFBgAAAAAAAAUHAAAAAAAABQkAAAAAAAAFCgAAAAAAAAUMAAAAAAAABg4AAAAAAAEFEAAAAAAAAQUUAAAAAAABBRYAAAAAAAIFHAAAAAAAAwUgAAAAAAAEBTAAAAAgAAYFQAAAAAAABwWAAAAAAAAIBgABAAAAAAoGAAQAAAAADAYAEAAAIAAABAAAAAAAAAAEAQAAAAAAAAUCAAAAIAAABQQAAAAAAAAFBQAAACAAAAUHAAAAAAAABQgAAAAgAAAFCgAAAAAAAAULAAAAAAAABg0AAAAgAAEFEAAAAAAAAQUSAAAAIAABBRYAAAAAAAIFGAAAACAAAwUgAAAAAAADBSgAAAAAAAYEQAAAABAABgRAAAAAIAAHBYAAAAAAAAkGAAIAAAAACwYACAAAMAAABAAAAAAQAAAEAQAAACAAAAUCAAAAIAAABQMAAAAgAAAFBQAAACAAAAUGAAAAIAAABQgAAAAgAAAFCQAAACAAAAULAAAAIAAABQwAAAAAAAAGDwAAACAAAQUSAAAAIAABBRQAAAAgAAIFGAAAACAAAgUcAAAAIAADBSgAAAAgAAQFMAAAAAAAEAYAAAEAAAAPBgCAAAAAAA4GAEAAAAAADQYAIABBgBcLhwIBAAEBBQAAAAAAAAUAAAAAAAAGBD0AAAAAAAkF/QEAAAAADwX9fwAAAAAVBf3/HwAAAAMFBQAAAAAABwR9AAAAAAAMBf0PAAAAABIF/f8DAAAAFwX9/38AAAAFBR0AAAAAAAgE/QAAAAAADgX9PwAAAAAUBf3/DwAAAAIFAQAAABAABwR9AAAAAAALBf0HAAAAABEF/f8BAAAAFgX9/z8AAAAEBQ0AAAAQAAgE/QAAAAAADQX9HwAAAAATBf3/BwAAAAEFAQAAABAABgQ9AAAAAAAKBf0DAAAAABAF/f8AAAAAHAX9//8PAAAbBf3//wcAABoF/f//AwAAGQX9//8BAAAYBf3//wBBkBkLhgQBAAEBBgAAAAAAAAYDAAAAAAAABAQAAAAgAAAFBQAAAAAAAAUGAAAAAAAABQgAAAAAAAAFCQAAAAAAAAULAAAAAAAABg0AAAAAAAAGEAAAAAAAAAYTAAAAAAAABhYAAAAAAAAGGQAAAAAAAAYcAAAAAAAABh8AAAAAAAAGIgAAAAAAAQYlAAAAAAABBikAAAAAAAIGLwAAAAAAAwY7AAAAAAAEBlMAAAAAAAcGgwAAAAAACQYDAgAAEAAABAQAAAAAAAAEBQAAACAAAAUGAAAAAAAABQcAAAAgAAAFCQAAAAAAAAUKAAAAAAAABgwAAAAAAAAGDwAAAAAAAAYSAAAAAAAABhUAAAAAAAAGGAAAAAAAAAYbAAAAAAAABh4AAAAAAAAGIQAAAAAAAQYjAAAAAAABBicAAAAAAAIGKwAAAAAAAwYzAAAAAAAEBkMAAAAAAAUGYwAAAAAACAYDAQAAIAAABAQAAAAwAAAEBAAAABAAAAQFAAAAIAAABQcAAAAgAAAFCAAAACAAAAUKAAAAIAAABQsAAAAAAAAGDgAAAAAAAAYRAAAAAAAABhQAAAAAAAAGFwAAAAAAAAYaAAAAAAAABh0AAAAAAAAGIAAAAAAAEAYDAAEAAAAPBgOAAAAAAA4GA0AAAAAADQYDIAAAAAAMBgMQAAAAAAsGAwgAAAAACgYDBABBpB0L2QEBAAAAAwAAAAcAAAAPAAAAHwAAAD8AAAB/AAAA/wAAAP8BAAD/AwAA/wcAAP8PAAD/HwAA/z8AAP9/AAD//wAA//8BAP//AwD//wcA//8PAP//HwD//z8A//9/AP///wD///8B////A////wf///8P////H////z////9/AAAAAAEAAAACAAAABAAAAAAAAAACAAAABAAAAAgAAAAAAAAAAQAAAAIAAAABAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAcAAAAIAAAACQAAAAoAAAALAEGgIAsDwBBQ",
vendor: 10,323 bytes, lines 4276-4277
4276vre="display-p3",yre="display-p3-linear",$3=new WeakMap;let K3=0,Z3;class eo extends ia{constructor(e){super(e),this.transcoderPath="",this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new gre,this.workerSourceURL="",this.workerConfig=null,typeof MSC_TRANSCODER<"u"&&console.warn('THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.')}setTranscoderPath(e){return this.transcoderPath=e,this}setWorkerLimit(e){return this.workerPool.setWorkerLimit(e),this}async detectSupportAsync(e){return this.workerConfig={astcSupported:await e.hasFeatureAsync("texture-compression-astc"),astcHDRSupported:!1,etc1Supported:await e.hasFeatureAsync("texture-compression-etc1"),etc2Supported:await e.hasFeatureAsync("texture-compression-etc2"),dxtSupported:await e.hasFeatureAsync("texture-compression-bc"),bptcSupported:await e.hasFeatureAsync("texture-compression-bptc"),pvrtcSupported:await e.hasFeatureAsync("texture-compression-pvrtc")},this}detectSupport(e){return e.isWebGPURenderer===!0?this.workerConfig={astcSupported:e.hasFeature("texture-compression-astc"),astcHDRSupported:!1,etc1Supported:e.hasFeature("texture-compression-etc1"),etc2Supported:e.hasFeature("texture-compression-etc2"),dxtSupported:e.hasFeature("texture-compression-bc"),bptcSupported:e.hasFeature("texture-compression-bptc"),pvrtcSupported:e.hasFeature("texture-compression-pvrtc")}:this.workerConfig={astcSupported:e.extensions.has("WEBGL_compressed_texture_astc"),astcHDRSupported:e.extensions.has("WEBGL_compressed_texture_astc")&&e.extensions.get("WEBGL_compressed_texture_astc").getSupportedProfiles().includes("hdr"),etc1Supported:e.extensions.has("WEBGL_compressed_texture_etc1"),etc2Supported:e.extensions.has("WEBGL_compressed_texture_etc"),dxtSupported:e.extensions.has("WEBGL_compressed_texture_s3tc"),bptcSupported:e.extensions.has("EXT_texture_compression_bptc"),pvrtcSupported:e.extensions.has("WEBGL_compressed_texture_pvrtc")||e.extensions.has("WEBKIT_WEBGL_compressed_texture_pvrtc")},this}init(){if(!this.transcoderPending){const e=new Yl(this.manager);e.setPath(this.transcoderPath),e.setWithCredentials(this.withCredentials);const t=e.loadAsync("basis_transcoder.js"),i=new Yl(this.manager);i.setPath(this.transcoderPath),i.setResponseType("arraybuffer"),i.setWithCredentials(this.withCredentials);const r=i.loadAsync("basis_transcoder.wasm");this.transcoderPending=Promise.all([t,r]).then(([s,o])=>{const a=eo.BasisWorker.toString(),l=["/* constants */","let _EngineFormat = "+JSON.stringify(eo.EngineFormat),"let _EngineType = "+JSON.stringify(eo.EngineType),"let _TranscoderFormat = "+JSON.stringify(eo.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(eo.BasisFormat),"/* basis_transcoder.js */",s,"/* worker */",a.substring(a.indexOf("{")+1,a.lastIndexOf("}"))].join(`
4277`);this.workerSourceURL=URL.createObjectURL(new Blob([l])),this.transcoderBinary=o,this.workerPool.setWorkerCreator(()=>{const c=new Worker(this.workerSourceURL),u=this.transcoderBinary.slice(0);return c.postMessage({type:"init",config:this.workerConfig,transcoderBinary:u},[u]),c})}),K3>0&&console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."),K3++}return this.transcoderPending}load(e,t,i,r){if(this.workerConfig===null)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");const s=new Yl(this.manager);s.setResponseType("arraybuffer"),s.setWithCredentials(this.withCredentials),s.load(e,o=>{this.parse(o,t,r)},i,r)}parse(e,t,i){if(this.workerConfig===null)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");if($3.has(e))return $3.get(e).promise.then(t).catch(i);this._createTexture(e).then(r=>t?t(r):null).catch(i)}_createTextureFrom(e,t){const{type:i,error:r,data:{faces:s,width:o,height:a,format:l,type:c,dfdFlags:u}}=e;if(i==="error")return Promise.reject(r);let f;if(t.faceCount===6)f=new EK(s,l,c);else{const h=s[0].mipmaps;f=t.layerCount>1?new SK(h,o,a,t.layerCount,l,c):new IA(h,o,a,l,c)}return f.minFilter=s[0].mipmaps.length===1?Yt:Fs,f.magFilter=Yt,f.generateMipmaps=!1,f.needsUpdate=!0,f.colorSpace=NP(t),f.premultiplyAlpha=!!(u&nre),f}async _createTexture(e,t={}){const i=lre(new Uint8Array(e)),r=i.vkFormat===p4&&i.dataFormatDescriptor[0].colorModel===167;if(!(i.vkFormat===ore||r&&!this.workerConfig.astcHDRSupported))return bre(i);const o=t,a=this.init().then(()=>this.workerPool.postMessage({type:"transcode",buffer:e,taskConfig:o},[e])).then(l=>this._createTextureFrom(l.data,i));return $3.set(e,{promise:a}),a}dispose(){return this.workerPool.dispose(),this.workerSourceURL&&URL.revokeObjectURL(this.workerSourceURL),K3--,this}}eo.BasisFormat={ETC1S:0,UASTC:1,UASTC_HDR:2};eo.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16,BC6H:22,RGB_HALF:24,RGBA_HALF:25};eo.EngineFormat={RGBAFormat:pi,RGBA_ASTC_4x4_Format:K0,RGB_BPTC_UNSIGNED_Format:zg,RGBA_BPTC_Format:w0,RGBA_ETC2_EAC_Format:kg,RGBA_PVRTC_4BPPV1_Format:Fg,RGBA_S3TC_DXT5_Format:C0,RGB_ETC1_Format:Ug,RGB_ETC2_Format:Ng,RGB_PVRTC_4BPPV1_Format:Og,RGBA_S3TC_DXT1_Format:x0};eo.EngineType={UnsignedByteType:Ki,HalfFloatType:nn,FloatType:Zt};eo.BasisWorker=function(){let n,e,t;const i=_EngineFormat,r=_EngineType,s=_TranscoderFormat,o=_BasisFormat;self.addEventListener("message",function(m){const v=m.data;switch(v.type){case"init":n=v.config,a(v.transcoderBinary);break;case"transcode":e.then(()=>{try{const{faces:A,buffers:y,width:x,height:b,hasAlpha:_,format:T,type:M,dfdFlags:I}=l(v.buffer);self.postMessage({type:"transcode",id:v.id,data:{faces:A,width:x,height:b,hasAlpha:_,format:T,type:M,dfdFlags:I}},y)}catch(A){console.error(A),self.postMessage({type:"error",id:v.id,error:A.message})}});break}});function a(m){e=new Promise(v=>{t={wasmBinary:m,onRuntimeInitialized:v},BASIS(t)}).then(()=>{t.initializeBasis(),t.KTX2File===void 0&&console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.")})}function l(m){const v=new t.KTX2File(new Uint8Array(m));function A(){v.close(),v.delete()}if(!v.isValid())throw A(),new Error("THREE.KTX2Loader:	Invalid or unsupported .ktx2 file");let y;if(v.isUASTC())y=o.UASTC;else if(v.isETC1S())y=o.ETC1S;else if(v.isHDR())y=o.UASTC_HDR;else throw new Error("THREE.KTX2Loader: Unknown Basis encoding");const x=v.getWidth(),b=v.getHeight(),_=v.getLayers()||1,T=v.getLevels(),M=v.getFaces(),I=v.getHasAlpha(),R=v.getDFDFlags(),{transcoderFormat:w,engineFormat:E,engineType:F}=f(y,x,b,I);if(!x||!b||!T)throw A(),new Error("THREE.KTX2Loader:	Invalid texture");if(!v.startTranscoding())throw A(),new Error("THREE.KTX2Loader: .startTranscoding failed");const L=[],z=[];for(let V=0;V<M;V++){const j=[];for(let N=0;N<T;N++){const Q=[];let W,ee;for(let ye=0;ye<_;ye++){const Ie=v.getImageLevelInfo(N,ye,V);V===0&&N===0&&ye===0&&(Ie.origWidth%4!==0||Ie.origHeight%4!==0)&&console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."),T>1?(W=Ie.origWidth,ee=Ie.origHeight):(W=Ie.width,ee=Ie.height);let ze=new Uint8Array(v.getImageTranscodedSizeInBytes(N,ye,0,w));const oe=v.transcodeImage(ze,N,ye,V,w,0,-1,-1);if(F===r.HalfFloatType&&(ze=new Uint16Array(ze.buffer,ze.byteOffset,ze.byteLength/Uint16Array.BYTES_PER_ELEMENT)),!oe)throw A(),new Error("THREE.KTX2Loader: .transcodeImage failed.");Q.push(ze)}const H=p(Q);j.push({data:H,width:W,height:ee}),z.push(H.buffer)}L.push({mipmaps:j,width:x,height:b,format:E,type:F})}return A(),{faces:L,buffers:z,width:x,height:b,hasAlpha:I,dfdFlags:R,format:E,type:F}}const c=[{if:"astcSupported",basisFormat:[o.UASTC],transcoderFormat:[s.ASTC_4x4,s.ASTC_4x4],engineFormat:[i.RGBA_ASTC_4x4_Format,i.RGBA_ASTC_4x4_Format],engineType:[r.UnsignedByteType],priorityETC1S:1/0,priorityUASTC:1,needsPowerOfTwo:!1},{if:"bptcSupported",basisFormat:[o.ETC1S,o.UASTC],transcoderFormat:[s.BC7_M5,s.BC7_M5],engineFormat:[i.RGBA_BPTC_Format,i.RGBA_BPTC_Format],engineType:[r.UnsignedByteType],priorityETC1S:3,priorityUASTC:2,needsPowerOfTwo:!1},{if:"dxtSupported",basisFormat:[o.ETC1S,o.UASTC],transcoderFormat:[s.BC1,s.BC3],engineFormat:[i.RGBA_S3TC_DXT1_Format,i.RGBA_S3TC_DXT5_Format],engineType:[r.UnsignedByteType],priorityETC1S:4,priorityUASTC:5,needsPowerOfTwo:!1},{if:"etc2Supported",basisFormat:[o.ETC1S,o.UASTC],transcoderFormat:[s.ETC1,s.ETC2],engineFormat:[i.RGB_ETC2_Format,i.RGBA_ETC2_EAC_Format],engineType:[r.UnsignedByteType],priorityETC1S:1,priorityUASTC:3,needsPowerOfTwo:!1},{if:"etc1Supported",basisFormat:[o.ETC1S,o.UASTC],transcoderFormat:[s.ETC1],engineFormat:[i.RGB_ETC1_Format],engineType:[r.UnsignedByteType],priorityETC1S:2,priorityUASTC:4,needsPowerOfTwo:!1},{if:"pvrtcSupported",basisFormat:[o.ETC1S,o.UASTC],transcoderFormat:[s.PVRTC1_4_RGB,s.PVRTC1_4_RGBA],engineFormat:[i.RGB_PVRTC_4BPPV1_Format,i.RGBA_PVRTC_4BPPV1_Format],engineType:[r.UnsignedByteType],priorityETC1S:5,priorityUASTC:6,needsPowerOfTwo:!0},{if:"bptcSupported",basisFormat:[o.UASTC_HDR],transcoderFormat:[s.BC6H],engineFormat:[i.RGB_BPTC_UNSIGNED_Format],engineType:[r.HalfFloatType],priorityHDR:1,needsPowerOfTwo:!1},{basisFormat:[o.ETC1S,o.UASTC],transcoderFormat:[s.RGBA32,s.RGBA32],engineFormat:[i.RGBAFormat,i.RGBAFormat],engineType:[r.UnsignedByteType,r.UnsignedByteType],priorityETC1S:100,priorityUASTC:100,needsPowerOfTwo:!1},{basisFormat:[o.UASTC_HDR],transcoderFormat:[s.RGBA_HALF],engineFormat:[i.RGBAFormat],engineType:[r.HalfFloatType],priorityHDR:100,needsPowerOfTwo:!1}],u={[o.ETC1S]:c.filter(m=>m.basisFormat.includes(o.ETC1S)).sort((m,v)=>m.priorityUASTC-v.priorityUASTC),[o.UASTC]:c.filter(m=>m.basisFormat.includes(o.UASTC)).sort((m,v)=>m.priorityUASTC-v.priorityUASTC),[o.UASTC_HDR]:c.filter(m=>m.basisFormat.includes(o.UASTC_HDR)).sort((m,v)=>m.priorityHDR-v.priorityHDR)};function f(m,v,A,y){const x=u[m];for(let b=0;b<x.length;b++){const _=x[b];if(_.if&&!n[_.if]||!_.basisFormat.includes(m)||y&&_.transcoderFormat.length<2||_.needsPowerOfTwo&&!(h(v)&&h(A)))continue;const T=_.transcoderFormat[y?1:0],M=_.engineFormat[y?1:0],I=_.engineType[0];return{transcoderFormat:T,engineFormat:M,engineType:I}}
vendor: 20,458 bytes, lines 4277-4452
4277throw new Error("THREE.KTX2Loader: Failed to identify transcoding target.")}function h(m){return m<=2?!0:(m&m-1)===0&&m!==0}function p(m){if(m.length===1)return m[0];let v=0;for(let x=0;x<m.length;x++){const b=m[x];v+=b.byteLength}const A=new Uint8Array(v);let y=0;for(let x=0;x<m.length;x++){const b=m[x];A.set(b,y),y+=b.byteLength}return A}};const _re=new Set([pi,ou,kl]),J3={[OP]:pi,[BP]:pi,[MP]:pi,[IP]:pi,[LP]:ou,[RP]:ou,[EP]:ou,[TP]:ou,[DP]:kl,[PP]:kl,[SP]:kl,[wP]:kl,[p4]:K0,[UP]:Z0,[FP]:Z0},ey={[OP]:Zt,[BP]:nn,[MP]:Ki,[IP]:Ki,[LP]:Zt,[RP]:nn,[EP]:Ki,[TP]:Ki,[DP]:Zt,[PP]:nn,[SP]:Ki,[wP]:Ki,[p4]:nn,[UP]:Ki,[FP]:Ki};async function bre(n){const{vkFormat:e}=n;if(J3[e]===void 0)throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");let t;n.supercompressionScheme===N8&&(Z3||(Z3=new Promise(async s=>{const o=new Are;await o.init(),s(o)})),t=await Z3);const i=[];for(let s=0;s<n.levels.length;s++){const o=Math.max(1,n.pixelWidth>>s),a=Math.max(1,n.pixelHeight>>s),l=n.pixelDepth?Math.max(1,n.pixelDepth>>s):0,c=n.levels[s];let u;if(n.supercompressionScheme===tre)u=c.levelData;else if(n.supercompressionScheme===N8)u=t.decode(c.levelData,c.uncompressedByteLength);else throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");let f;ey[e]===Zt?f=new Float32Array(u.buffer,u.byteOffset,u.byteLength/Float32Array.BYTES_PER_ELEMENT):ey[e]===nn?f=new Uint16Array(u.buffer,u.byteOffset,u.byteLength/Uint16Array.BYTES_PER_ELEMENT):f=u,i.push({data:f,width:o,height:a,depth:l})}let r;if(_re.has(J3[e]))r=n.pixelDepth===0?new zd(i[0].data,n.pixelWidth,n.pixelHeight):new KI(i[0].data,n.pixelWidth,n.pixelHeight,n.pixelDepth);else{if(n.pixelDepth>0)throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");r=new IA(i,n.pixelWidth,n.pixelHeight),r.minFilter=i.length===1?Yt:Fs,r.magFilter=Yt}return r.mipmaps=i,r.type=ey[e],r.format=J3[e],r.colorSpace=NP(n),r.needsUpdate=!0,Promise.resolve(r)}function NP(n){const e=n.dataFormatDescriptor[0];return e.colorPrimaries===rre?e.transferFunction===k8?En:mi:e.colorPrimaries===sre?e.transferFunction===k8?vre:yre:(e.colorPrimaries===ire||console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`),qo)}const BA={name:"CopyShader",uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:`
4278
4279		varying vec2 vUv;
4280
4281		void main() {
4282
4283			vUv = uv;
4284			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
4285
4286		}`,fragmentShader:`
4287
4288		uniform float opacity;
4289
4290		uniform sampler2D tDiffuse;
4291
4292		varying vec2 vUv;
4293
4294		void main() {
4295
4296			vec4 texel = texture2D( tDiffuse, vUv );
4297			gl_FragColor = opacity * texel;
4298
4299
4300		}`};class rp extends lc{constructor(e,t){super(),this.textureID=t!==void 0?t:"tDiffuse",e instanceof Cn?(this.uniforms=e.uniforms,this.material=e):e&&(this.uniforms=Po.clone(e.uniforms),this.material=new Cn({name:e.name!==void 0?e.name:"unspecified",defines:Object.assign({},e.defines),uniforms:this.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader})),this.fsQuad=new Ip(this.material)}render(e,t,i){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=i.texture),this.fsQuad.material=this.material,this.renderToScreen?(e.setRenderTarget(null),this.fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this.fsQuad.render(e))}dispose(){this.material.dispose(),this.fsQuad.dispose()}}class q8 extends lc{constructor(e,t){super(),this.scene=e,this.camera=t,this.clear=!0,this.needsSwap=!1,this.inverse=!1}render(e,t,i){const r=e.getContext(),s=e.state;s.buffers.color.setMask(!1),s.buffers.depth.setMask(!1),s.buffers.color.setLocked(!0),s.buffers.depth.setLocked(!0);let o,a;this.inverse?(o=0,a=1):(o=1,a=0),s.buffers.stencil.setTest(!0),s.buffers.stencil.setOp(r.REPLACE,r.REPLACE,r.REPLACE),s.buffers.stencil.setFunc(r.ALWAYS,o,4294967295),s.buffers.stencil.setClear(a),s.buffers.stencil.setLocked(!0),e.setRenderTarget(i),this.clear&&e.clear(),e.render(this.scene,this.camera),e.setRenderTarget(t),this.clear&&e.clear(),e.render(this.scene,this.camera),s.buffers.color.setLocked(!1),s.buffers.depth.setLocked(!1),s.buffers.color.setMask(!0),s.buffers.depth.setMask(!0),s.buffers.stencil.setLocked(!1),s.buffers.stencil.setFunc(r.EQUAL,1,4294967295),s.buffers.stencil.setOp(r.KEEP,r.KEEP,r.KEEP),s.buffers.stencil.setLocked(!0)}}class xre extends lc{constructor(){super(),this.needsSwap=!1}render(e){e.state.buffers.stencil.setLocked(!1),e.state.buffers.stencil.setTest(!1)}}class Cre{constructor(e,t){if(this.renderer=e,this._pixelRatio=e.getPixelRatio(),t===void 0){const i=e.getSize(new Re);this._width=i.width,this._height=i.height,t=new li(this._width*this._pixelRatio,this._height*this._pixelRatio,{type:nn}),t.texture.name="EffectComposer.rt1"}else this._width=t.width,this._height=t.height;this.renderTarget1=t,this.renderTarget2=t.clone(),this.renderTarget2.texture.name="EffectComposer.rt2",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],this.copyPass=new rp(BA),this.copyPass.material.blending=wo,this.clock=new dP}swapBuffers(){const e=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=e}addPass(e){this.passes.push(e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(e,t){this.passes.splice(t,0,e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(e){const t=this.passes.indexOf(e);t!==-1&&this.passes.splice(t,1)}isLastEnabledPass(e){for(let t=e+1;t<this.passes.length;t++)if(this.passes[t].enabled)return!1;return!0}render(e){e===void 0&&(e=this.clock.getDelta());const t=this.renderer.getRenderTarget();let i=!1;for(let r=0,s=this.passes.length;r<s;r++){const o=this.passes[r];if(o.enabled!==!1){if(o.renderToScreen=this.renderToScreen&&this.isLastEnabledPass(r),o.render(this.renderer,this.writeBuffer,this.readBuffer,e,i),o.needsSwap){if(i){const a=this.renderer.getContext(),l=this.renderer.state.buffers.stencil;l.setFunc(a.NOTEQUAL,1,4294967295),this.copyPass.render(this.renderer,this.writeBuffer,this.readBuffer,e),l.setFunc(a.EQUAL,1,4294967295)}this.swapBuffers()}q8!==void 0&&(o instanceof q8?i=!0:o instanceof xre&&(i=!1))}}this.renderer.setRenderTarget(t)}reset(e){if(e===void 0){const t=this.renderer.getSize(new Re);this._pixelRatio=this.renderer.getPixelRatio(),this._width=t.width,this._height=t.height,e=this.renderTarget1.clone(),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.renderTarget1=e,this.renderTarget2=e.clone(),this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2}setSize(e,t){this._width=e,this._height=t;const i=this._width*this._pixelRatio,r=this._height*this._pixelRatio;this.renderTarget1.setSize(i,r),this.renderTarget2.setSize(i,r);for(let s=0;s<this.passes.length;s++)this.passes[s].setSize(i,r)}setPixelRatio(e){this._pixelRatio=e,this.setSize(this._width,this._height)}dispose(){this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.copyPass.dispose()}}const wre={name:"OutputShader",uniforms:{tDiffuse:{value:null},toneMappingExposure:{value:1}},vertexShader:`
4301		precision highp float;
4302
4303		uniform mat4 modelViewMatrix;
4304		uniform mat4 projectionMatrix;
4305
4306		attribute vec3 position;
4307		attribute vec2 uv;
4308
4309		varying vec2 vUv;
4310
4311		void main() {
4312
4313			vUv = uv;
4314			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
4315
4316		}`,fragmentShader:`
4317
4318		precision highp float;
4319
4320		uniform sampler2D tDiffuse;
4321
4322		#include <tonemapping_pars_fragment>
4323		#include <colorspace_pars_fragment>
4324
4325		varying vec2 vUv;
4326
4327		void main() {
4328
4329			gl_FragColor = texture2D( tDiffuse, vUv );
4330
4331			// tone mapping
4332
4333			#ifdef LINEAR_TONE_MAPPING
4334
4335				gl_FragColor.rgb = LinearToneMapping( gl_FragColor.rgb );
4336
4337			#elif defined( REINHARD_TONE_MAPPING )
4338
4339				gl_FragColor.rgb = ReinhardToneMapping( gl_FragColor.rgb );
4340
4341			#elif defined( CINEON_TONE_MAPPING )
4342
4343				gl_FragColor.rgb = CineonToneMapping( gl_FragColor.rgb );
4344
4345			#elif defined( ACES_FILMIC_TONE_MAPPING )
4346
4347				gl_FragColor.rgb = ACESFilmicToneMapping( gl_FragColor.rgb );
4348
4349			#elif defined( AGX_TONE_MAPPING )
4350
4351				gl_FragColor.rgb = AgXToneMapping( gl_FragColor.rgb );
4352
4353			#elif defined( NEUTRAL_TONE_MAPPING )
4354
4355				gl_FragColor.rgb = NeutralToneMapping( gl_FragColor.rgb );
4356
4357			#elif defined( CUSTOM_TONE_MAPPING )
4358
4359				gl_FragColor.rgb = CustomToneMapping( gl_FragColor.rgb );
4360
4361			#endif
4362
4363			// color space
4364
4365			#ifdef SRGB_TRANSFER
4366
4367				gl_FragColor = sRGBTransferOETF( gl_FragColor );
4368
4369			#endif
4370
4371		}`};class Sre extends lc{constructor(){super();const e=wre;this.uniforms=Po.clone(e.uniforms),this.material=new IK({name:e.name,uniforms:this.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader}),this.fsQuad=new Ip(this.material),this._outputColorSpace=null,this._toneMapping=null}render(e,t,i){this.uniforms.tDiffuse.value=i.texture,this.uniforms.toneMappingExposure.value=e.toneMappingExposure,(this._outputColorSpace!==e.outputColorSpace||this._toneMapping!==e.toneMapping)&&(this._outputColorSpace=e.outputColorSpace,this._toneMapping=e.toneMapping,this.material.defines={},Xt.getTransfer(this._outputColorSpace)===yn&&(this.material.defines.SRGB_TRANSFER=""),this._toneMapping===II?this.material.defines.LINEAR_TONE_MAPPING="":this._toneMapping===PI?this.material.defines.REINHARD_TONE_MAPPING="":this._toneMapping===RI?this.material.defines.CINEON_TONE_MAPPING="":this._toneMapping===BI?this.material.defines.ACES_FILMIC_TONE_MAPPING="":this._toneMapping===LI?this.material.defines.AGX_TONE_MAPPING="":this._toneMapping===OI?this.material.defines.NEUTRAL_TONE_MAPPING="":this._toneMapping===DI&&(this.material.defines.CUSTOM_TONE_MAPPING=""),this.material.needsUpdate=!0),this.renderToScreen===!0?(e.setRenderTarget(null),this.fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this.fsQuad.render(e))}dispose(){this.material.dispose(),this.fsQuad.dispose()}}class m4 extends lc{constructor(e,t,i=null,r=null,s=null){super(),this.scene=e,this.camera=t,this.overrideMaterial=i,this.clearColor=r,this.clearAlpha=s,this.clear=!0,this.clearDepth=!1,this.needsSwap=!1,this._oldClearColor=new ke}render(e,t,i){const r=e.autoClear;e.autoClear=!1;let s,o;this.overrideMaterial!==null&&(o=this.scene.overrideMaterial,this.scene.overrideMaterial=this.overrideMaterial),this.clearColor!==null&&(e.getClearColor(this._oldClearColor),e.setClearColor(this.clearColor,e.getClearAlpha())),this.clearAlpha!==null&&(s=e.getClearAlpha(),e.setClearAlpha(this.clearAlpha)),this.clearDepth==!0&&e.clearDepth(),e.setRenderTarget(this.renderToScreen?null:i),this.clear===!0&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),e.render(this.scene,this.camera),this.clearColor!==null&&e.setClearColor(this._oldClearColor),this.clearAlpha!==null&&e.setClearAlpha(s),this.overrideMaterial!==null&&(this.scene.overrideMaterial=o),e.autoClear=r}}class g4 extends lc{constructor(e){super();const t=BA;this.textureID="tDiffuse",this.uniforms=Po.clone(t.uniforms),this.material=new Cn({uniforms:this.uniforms,vertexShader:t.vertexShader,fragmentShader:t.fragmentShader,blending:wo}),this.renderTarget=e,this.renderTarget===void 0&&(this.renderTarget=new li(1,1,{type:nn}),this.renderTarget.texture.name="SavePass.rt"),this.needsSwap=!1,this.fsQuad=new Ip(this.material)}render(e,t,i){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=i.texture),e.setRenderTarget(this.renderTarget),this.clear&&e.clear(),this.fsQuad.render(e)}setSize(e,t){this.renderTarget.setSize(e,t)}dispose(){this.renderTarget.dispose(),this.material.dispose(),this.fsQuad.dispose()}}const kP={uniforms:{tDiffuse:{value:null},luminosityThreshold:{value:1},smoothWidth:{value:1},defaultColor:{value:new ke(0)},defaultOpacity:{value:0}},vertexShader:`
4372
4373		varying vec2 vUv;
4374
4375		void main() {
4376
4377			vUv = uv;
4378
4379			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
4380
4381		}`,fragmentShader:`
4382
4383		uniform sampler2D tDiffuse;
4384		uniform vec3 defaultColor;
4385		uniform float defaultOpacity;
4386		uniform float luminosityThreshold;
4387		uniform float smoothWidth;
4388
4389		varying vec2 vUv;
4390
4391		void main() {
4392
4393			vec4 texel = texture2D( tDiffuse, vUv );
4394
4395			float v = luminance( texel.xyz );
4396
4397			vec4 outputColor = vec4( defaultColor.rgb, defaultOpacity );
4398
4399			float alpha = smoothstep( luminosityThreshold, luminosityThreshold + smoothWidth, v );
4400
4401			gl_FragColor = mix( outputColor, texel, alpha );
4402
4403		}`};class Ld extends lc{constructor(e,t,i,r){super(),this.strength=t!==void 0?t:1,this.radius=i,this.threshold=r,this.resolution=e!==void 0?new Re(e.x,e.y):new Re(256,256),this.clearColor=new ke(0,0,0),this.renderTargetsHorizontal=[],this.renderTargetsVertical=[],this.nMips=5;let s=Math.round(this.resolution.x/2),o=Math.round(this.resolution.y/2);this.renderTargetBright=new li(s,o,{type:nn}),this.renderTargetBright.texture.name="UnrealBloomPass.bright",this.renderTargetBright.texture.generateMipmaps=!1;for(let f=0;f<this.nMips;f++){const h=new li(s,o,{type:nn});h.texture.name="UnrealBloomPass.h"+f,h.texture.generateMipmaps=!1,this.renderTargetsHorizontal.push(h);const p=new li(s,o,{type:nn});p.texture.name="UnrealBloomPass.v"+f,p.texture.generateMipmaps=!1,this.renderTargetsVertical.push(p),s=Math.round(s/2),o=Math.round(o/2)}const a=kP;this.highPassUniforms=Po.clone(a.uniforms),this.highPassUniforms.luminosityThreshold.value=r,this.highPassUniforms.smoothWidth.value=.01,this.materialHighPassFilter=new Cn({uniforms:this.highPassUniforms,vertexShader:a.vertexShader,fragmentShader:a.fragmentShader}),this.separableBlurMaterials=[];const l=[3,5,7,9,11];s=Math.round(this.resolution.x/2),o=Math.round(this.resolution.y/2);for(let f=0;f<this.nMips;f++)this.separableBlurMaterials.push(this.getSeparableBlurMaterial(l[f])),this.separableBlurMaterials[f].uniforms.invSize.value=new Re(1/s,1/o),s=Math.round(s/2),o=Math.round(o/2);this.compositeMaterial=this.getCompositeMaterial(this.nMips),this.compositeMaterial.uniforms.blurTexture1.value=this.renderTargetsVertical[0].texture,this.compositeMaterial.uniforms.blurTexture2.value=this.renderTargetsVertical[1].texture,this.compositeMaterial.uniforms.blurTexture3.value=this.renderTargetsVertical[2].texture,this.compositeMaterial.uniforms.blurTexture4.value=this.renderTargetsVertical[3].texture,this.compositeMaterial.uniforms.blurTexture5.value=this.renderTargetsVertical[4].texture,this.compositeMaterial.uniforms.bloomStrength.value=t,this.compositeMaterial.uniforms.bloomRadius.value=.1;const c=[1,.8,.6,.4,.2];this.compositeMaterial.uniforms.bloomFactors.value=c,this.bloomTintColors=[new K(1,1,1),new K(1,1,1),new K(1,1,1),new K(1,1,1),new K(1,1,1)],this.compositeMaterial.uniforms.bloomTintColors.value=this.bloomTintColors;const u=BA;this.copyUniforms=Po.clone(u.uniforms),this.blendMaterial=new Cn({uniforms:this.copyUniforms,vertexShader:u.vertexShader,fragmentShader:u.fragmentShader,blending:Y0,depthTest:!1,depthWrite:!1,transparent:!0}),this.enabled=!0,this.needsSwap=!1,this._oldClearColor=new ke,this.oldClearAlpha=1,this.basic=new Jr,this.fsQuad=new Ip(null)}dispose(){for(let e=0;e<this.renderTargetsHorizontal.length;e++)this.renderTargetsHorizontal[e].dispose();for(let e=0;e<this.renderTargetsVertical.length;e++)this.renderTargetsVertical[e].dispose();this.renderTargetBright.dispose();for(let e=0;e<this.separableBlurMaterials.length;e++)this.separableBlurMaterials[e].dispose();this.compositeMaterial.dispose(),this.blendMaterial.dispose(),this.basic.dispose(),this.fsQuad.dispose()}setSize(e,t){let i=Math.round(e/2),r=Math.round(t/2);this.renderTargetBright.setSize(i,r);for(let s=0;s<this.nMips;s++)this.renderTargetsHorizontal[s].setSize(i,r),this.renderTargetsVertical[s].setSize(i,r),this.separableBlurMaterials[s].uniforms.invSize.value=new Re(1/i,1/r),i=Math.round(i/2),r=Math.round(r/2)}render(e,t,i,r,s){e.getClearColor(this._oldClearColor),this.oldClearAlpha=e.getClearAlpha();const o=e.autoClear;e.autoClear=!1,e.setClearColor(this.clearColor,0),s&&e.state.buffers.stencil.setTest(!1),this.renderToScreen&&(this.fsQuad.material=this.basic,this.basic.map=i.texture,e.setRenderTarget(null),e.clear(),this.fsQuad.render(e)),this.highPassUniforms.tDiffuse.value=i.texture,this.highPassUniforms.luminosityThreshold.value=this.threshold,this.fsQuad.material=this.materialHighPassFilter,e.setRenderTarget(this.renderTargetBright),e.clear(),this.fsQuad.render(e);let a=this.renderTargetBright;for(let l=0;l<this.nMips;l++)this.fsQuad.material=this.separableBlurMaterials[l],this.separableBlurMaterials[l].uniforms.colorTexture.value=a.texture,this.separableBlurMaterials[l].uniforms.direction.value=Ld.BlurDirectionX,e.setRenderTarget(this.renderTargetsHorizontal[l]),e.clear(),this.fsQuad.render(e),this.separableBlurMaterials[l].uniforms.colorTexture.value=this.renderTargetsHorizontal[l].texture,this.separableBlurMaterials[l].uniforms.direction.value=Ld.BlurDirectionY,e.setRenderTarget(this.renderTargetsVertical[l]),e.clear(),this.fsQuad.render(e),a=this.renderTargetsVertical[l];this.fsQuad.material=this.compositeMaterial,this.compositeMaterial.uniforms.bloomStrength.value=this.strength,this.compositeMaterial.uniforms.bloomRadius.value=this.radius,this.compositeMaterial.uniforms.bloomTintColors.value=this.bloomTintColors,e.setRenderTarget(this.renderTargetsHorizontal[0]),e.clear(),this.fsQuad.render(e),this.fsQuad.material=this.blendMaterial,this.copyUniforms.tDiffuse.value=this.renderTargetsHorizontal[0].texture,s&&e.state.buffers.stencil.setTest(!0),this.renderToScreen?(e.setRenderTarget(null),this.fsQuad.render(e)):(e.setRenderTarget(i),this.fsQuad.render(e)),e.setClearColor(this._oldClearColor,this.oldClearAlpha),e.autoClear=o}getSeparableBlurMaterial(e){const t=[];for(let i=0;i<e;i++)t.push(.39894*Math.exp(-.5*i*i/(e*e))/e);return new Cn({defines:{KERNEL_RADIUS:e},uniforms:{colorTexture:{value:null},invSize:{value:new Re(.5,.5)},direction:{value:new Re(.5,.5)},gaussianCoefficients:{value:t}},vertexShader:`varying vec2 vUv;
4404				void main() {
4405					vUv = uv;
4406					gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
4407				}`,fragmentShader:`#include <common>
4408				varying vec2 vUv;
4409				uniform sampler2D colorTexture;
4410				uniform vec2 invSize;
4411				uniform vec2 direction;
4412				uniform float gaussianCoefficients[KERNEL_RADIUS];
4413
4414				void main() {
4415					float weightSum = gaussianCoefficients[0];
4416					vec3 diffuseSum = texture2D( colorTexture, vUv ).rgb * weightSum;
4417					for( int i = 1; i < KERNEL_RADIUS; i ++ ) {
4418						float x = float(i);
4419						float w = gaussianCoefficients[i];
4420						vec2 uvOffset = direction * invSize * x;
4421						vec3 sample1 = texture2D( colorTexture, vUv + uvOffset ).rgb;
4422						vec3 sample2 = texture2D( colorTexture, vUv - uvOffset ).rgb;
4423						diffuseSum += (sample1 + sample2) * w;
4424						weightSum += 2.0 * w;
4425					}
4426					gl_FragColor = vec4(diffuseSum/weightSum, 1.0);
4427				}`})}getCompositeMaterial(e){return new Cn({defines:{NUM_MIPS:e},uniforms:{blurTexture1:{value:null},blurTexture2:{value:null},blurTexture3:{value:null},blurTexture4:{value:null},blurTexture5:{value:null},bloomStrength:{value:1},bloomFactors:{value:null},bloomTintColors:{value:null},bloomRadius:{value:0}},vertexShader:`varying vec2 vUv;
4428				void main() {
4429					vUv = uv;
4430					gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
4431				}`,fragmentShader:`varying vec2 vUv;
4432				uniform sampler2D blurTexture1;
4433				uniform sampler2D blurTexture2;
4434				uniform sampler2D blurTexture3;
4435				uniform sampler2D blurTexture4;
4436				uniform sampler2D blurTexture5;
4437				uniform float bloomStrength;
4438				uniform float bloomRadius;
4439				uniform float bloomFactors[NUM_MIPS];
4440				uniform vec3 bloomTintColors[NUM_MIPS];
4441
4442				float lerpBloomFactor(const in float factor) {
4443					float mirrorFactor = 1.2 - factor;
4444					return mix(factor, mirrorFactor, bloomRadius);
4445				}
4446
4447				void main() {
4448					gl_FragColor = bloomStrength * ( lerpBloomFactor(bloomFactors[0]) * vec4(bloomTintColors[0], 1.0) * texture2D(blurTexture1, vUv) +
4449						lerpBloomFactor(bloomFactors[1]) * vec4(bloomTintColors[1], 1.0) * texture2D(blurTexture2, vUv) +
4450						lerpBloomFactor(bloomFactors[2]) * vec4(bloomTintColors[2], 1.0) * texture2D(blurTexture3, vUv) +
4451						lerpBloomFactor(bloomFactors[3]) * vec4(bloomTintColors[3], 1.0) * texture2D(blurTexture4, vUv) +
4452						lerpBloomFactor(bloomFactors[4]) * vec4(bloomTintColors[4], 1.0
4452) * texture2D(blurTexture5, vUv) );
4453				}`})}}Ld.BlurDirectionX=new Re(1,0);Ld.BlurDirectionY=new Re(0,1);const Ere={uniforms:{tInput:{value:null},fStepSize:{value:1},vSunPositionScreenSpace:{value:new K}},vertexShader:`
4454
4455		varying vec2 vUv;
4456
4457		void main() {
4458
4459		 vUv = uv;
4460		 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
4461
4462	 }`};new K,new ke(16772608),new ke(0);const Tre=Object.assign({"/public/webgl/textures/blurry_silver_mirrorball.ktx2":()=>Sr(()=>import("./_-h9Ln6J.js"),[],import.meta.url).then(n=>n.default),"/public/webgl/textures/chrome-ring.ktx2":()=>Sr(()=>import("./Crp-37Uo.js"),[],import.meta.url).then(n=>n.default),"/public/webgl/textures/hex-ao.ktx2":()=>Sr(()=>import("./C2GvEnY0.js"),[],import.meta.url).then(n=>n.default),"/public/webgl/textures/hex-normal.ktx2":()=>Sr(()=>import("./8pUYzIdV.js"),[],import.meta.url).then(n=>n.default),"/public/webgl/textures/normalMapSphere.ktx2":()=>Sr(()=>import("./GMIvKI3C.js"),[],import.meta.url).then(n=>n.default),"/public/webgl/textures/studio-env.ktx2":()=>Sr(()=>import("./DkKZ1jS7.js"),[],import.meta.url).then(n=>n.default)});class Mre{constructor(){he(this,"gltfs",{});he(this,"textures",{});he(this,"ktxTextures",{});he(this,"envMaps",{});he(this,"hdrTextures",{});he(this,"textureLoader",new fP);he(this,"gltfLoader",new Yne);he(this,"cubeTextureLoader",new QK);he(this,"hdrTextureLoader",new mre);he(this,"dracoLoader",new hre);he(this,"ktxLoader",new eo);he(this,"availableKtxFiles",[]);he(this,"setDracoLoader",()=>{this.dracoLoader.setDecoderPath("/draco/"),this.gltfLoader.setDRACOLoader(this.dracoLoader)});he(this,"setKtxLoader",e=>{this.ktxLoader.setTranscoderPath("/basis/"),this.ktxLoader.detectSupport(e)});he(this,"setAvailableKtxFiles",()=>{var e,t;for(const i in Tre){const r=(t=(e=i.split("\\").pop())==null?void 0:e.split("/").pop())==null?void 0:t.split(".")[0];r&&this.availableKtxFiles.push(r)}});he(this,"loadGltf",e=>(this.gltfs[e]||(this.gltfs[e]=new Promise((t,i)=>{this.gltfLoader.load(e,r=>{t(r)},void 0,r=>{i(new Error("glTF not loaded",{cause:{error:r,url:e}}))})}),jo(this.gltfs[e])),this.gltfs[e]));he(this,"loadTexture",(e,t,i=!1)=>{var r,s;return this.ktxLoader&&!i&&this.availableKtxFiles.includes(((s=(r=e.split("\\").pop())==null?void 0:r.split("/").pop())==null?void 0:s.split(".")[0])||"")?this.loadKtxTexture(e.substr(0,e.lastIndexOf("."))+".ktx2",t):(this.textures[e]||(this.textures[e]=new Promise((o,a)=>{this.textureLoader.load(e,l=>{var c;o((c=S.WebGL)==null?void 0:c.generateTexture(l,t))},void 0,l=>{a(new Error("Texture not loaded",{cause:{error:l,url:e}}))})}),jo(this.textures[e])),this.textures[e])});he(this,"loadHDR",e=>(this.hdrTextures[e]||(this.hdrTextures[e]=new Promise((t,i)=>{this.hdrTextureLoader.load(e,r=>{t(r)},void 0,r=>{console.log(r),i(new Error("Texture not loaded",{cause:{error:r,url:e}}))})}),jo(this.hdrTextures[e])),this.hdrTextures[e]));he(this,"loadEnvMap",(e=[])=>(this.envMaps[e[0]]||(this.envMaps[e[0]]=new Promise((t,i)=>{this.cubeTextureLoader.load(e,r=>{t(r)},void 0,i)}),jo(this.envMaps[e[0]])),this.envMaps[e[0]]))}loadKtxTexture(e,t){return this.ktxTextures[e]||(this.ktxTextures[e]=new Promise((i,r)=>{this.ktxLoader.load(e,s=>{var o;i((o=S.WebGL)==null?void 0:o.generateTexture(s,t))},void 0,s=>{console.error(s,s==null?void 0:s.name,s==null?void 0:s.stack,s==null?void 0:s.message,s==null?void 0:s.cause,e),r(s)})}),jo(this.ktxTextures[e])),this.ktxTextures[e]}}const S=so({WebGL:void 0,Gui:void 0,AssetLoader:new Mre,RAFCollection:new Xne,urlParams:void 0,isLowTierGPU:!1,env:"production",sceneName:"",scenes:{},webglFonts:{},breakpoints:{},window:{w:0,h:0,dpr:0},theatre:{manager:void 0,studio:void 0,studioProject:void 0,studioSheets:{},studioObjects:{},project:void 0,sheets:{},objects:{},helper:void 0,persistenceKey:"",rafDriver:void 0,updateExtensionToolbar:void 0,previewCamOpen:!1},pointer:{x:0,y:0,gl:new Re,glNormalized:new Re,glScreenSpace:new Re},loaderHidden:!1}),Ire=oo(()=>{vo.registerPlugin(Pt),vo.registerPlugin(Ol),vo.registerPlugin(X0),Ol.create("joe.in","M0,0 C0.8,0 0.8,0.5 1,1"),Ol.create("joe.out","M0,0 C0.2,0 0.1,1 1,1"),Ol.create("joe.inOut","M0,0 C0.333,0 0,1 1,1"),vo.ticker.remove(vo.updateRoot),S.RAFCollection.add(n=>{vo.updateRoot(n/1e3)})}),Pre=oo(()=>{}),Rre=[uW,dW,aY,HY,VY,GY,QY,WY,jY,qY,Ire,Pre],Bre=window.setInterval,Dre={class:"font-mono font-500 text-16 leading-1 uppercase"},Lre=vs({__name:"Loader",setup(n){const e=gt(),t=gt(0),{isLoaded:i,progress:r}=jo(),s=ii(()=>t.value===100&&i.value),o=gt(!0);let a=null;const l=(c,u)=>{a=Bre(()=>{t.value++,(t.value>=u||t.value===100)&&a&&clearInterval(a)},c)};return ai(s,c=>{c&&(dr.to(e.value,{autoAlpha:0}).then(()=>{e.value.classList.add("is-hidden"),S.loaderHidden=!0}),o.value=!1)},{immediate:!0}),zs(()=>{ai(r,c=>
4462{o.value&&(a&&clearInterval(a),l(c<100?70:5,c))},{immediate:!0})}),(c,u)=>(di(),Na("div",{ref_key:"loader",ref:e,class:"fixed inset-0 bg-background z-[1000] flex flex-col justify-center items-center p-32"},[u[0]||(u[0]=qH('<div class="flex-grow flex items-center" data-v-1b2f4e78><div class="scene" data-v-1b2f4e78><div class="cube" data-v-1b2f4e78><div class="cube__face cube__face--front" data-v-1b2f4e78><svg xmlns="http://www.w3.org/2000/svg" width="140" height="140" viewBox="0 0 140 140" fill="none" class="cube__svg" data-v-1b2f4e78><rect width="140" height="140" fill="#090B11" data-v-1b2f4e78></rect><path d="M102.145 37.1009V65.7745H117.638V60.8146H107.478V54.0338H117.21V49.0739H107.478V42.0604H117.638V37.1006H102.145V37.1009ZM76.5386 37.1009H71.1589V55.2363C71.1589 57.0112 71.3423 58.4518 71.7087 59.5579C72.0751 60.6641 72.4939 61.5258 72.9652 62.1431C73.2795 62.5548 73.698 62.9985 74.2217 63.4743C74.7454 63.9502 75.367 64.3939 76.0869 64.8056C76.8069 65.2172 77.6314 65.5579 78.5607 65.8281C79.4901 66.0983 80.5044 66.2334 81.6039 66.2334C83.5936 66.2334 85.3278 65.8154 86.8067 64.9794C88.2858 64.1434 89.4442 63.1466 90.2819 61.989C90.9626 61.0373 91.4139 59.9632 91.6365 58.7671C91.8592 57.571 91.9705 56.3939 91.9705 55.2366V37.1012H86.5908V55.2366C86.5908 55.5967 86.5647 56.1113 86.5123 56.7801C86.4599 57.4489 86.2768 58.1177 85.9625 58.7865C85.6483 59.4553 85.1509 60.0404 84.4705 60.542C83.7898 61.0436 82.8212 61.2944 81.5647 61.2944C80.3081 61.2944 79.3395 61.0436 78.6588 60.542C77.9781 60.0404 77.4808 59.4553 77.1668 58.7865C76.8525 58.1177 76.6695 57.4489 76.6171 56.7801C76.5646 56.1113 76.5386 55.5967 76.5386 55.2366V37.1009ZM48.9602 37.1009V65.7745H63.0656V60.8146H54.2837V37.1006H48.9602V37.1009ZM56.6855 76.3264L68.847 105H62.9231L59.8237 97.5991H49.4278L46.3285 105H40.4046L52.4875 76.3264H56.6855ZM54.6649 83.896H54.5861L51.2727 92.6129H57.9782L54.6649 83.896ZM22.5994 37.1H28.2848C29.0893 37.1 29.8878 37.113 30.6795 37.1387C31.4712 37.1648 32.2435 37.2423 32.9963 37.3714C33.749 37.5007 34.476 37.7203 35.177 38.0302C35.8779 38.3403 36.5399 38.7665 37.163 39.309C37.8897 39.9547 38.4802 40.7619 38.9346 41.7306C39.3887 42.6995 39.6159 43.6746 39.6159 44.6562C39.6159 45.5604 39.4927 46.3291 39.2461 46.9619C38.9996 47.5946 38.701 48.1244 38.3505 48.5505C38 48.9767 37.6431 49.3126 37.2798 49.5579C36.9164 49.8033 36.6178 49.9908 36.3841 50.1198C36.8514 50.3006 37.377 50.5463 37.9611 50.8561C38.5452 51.1663 39.0836 51.5925 39.577 52.135C40.0703 52.6774 40.4855 53.362 40.8231 54.1886C41.1607 55.0152 41.3293 56.0356 41.3293 57.2496C41.3293 58.1022 41.2254 58.8837 41.0178 59.594C40.8102 60.3043 40.5376 60.937 40.2 61.4925C39.8628 62.0477 39.4798 62.5387 39.0514 62.9649C38.6231 63.391 38.1883 63.7594 37.7471 64.0692C37.2019 64.4566 36.5985 64.7601 35.9365 64.9797C35.2745 65.1993 34.5996 65.3671 33.9116 65.4834C33.2238 65.5997 32.5683 65.6773 31.9452 65.716C31.3844 65.7509 30.8867 65.7703 30.4523 65.7736L30.3097 65.7742H22.5994V37.1H28.2848H22.5994ZM30.7328 53.1578H27.9177V60.7277H30.6154C30.876 60.7277 31.3062 60.7086 31.9056 60.6699C32.5054 60.6311 33.1048 60.496 33.7043 60.2643C34.3037 60.0326 34.8382 59.6591 35.3073 59.1442C35.7764 58.629 36.011 57.9081 36.011 56.9812C36.011 56.698 35.9589 56.3376 35.8546 55.8999C35.7504 55.4622 35.5094 55.0439 35.1313 54.6447C34.7532 54.2455 34.2191 53.8981 33.5283 53.6019C32.8375 53.3059 31.9056 53.1578 30.7328 53.1578ZM30.1009 42.1471H27.9177V48.3406H29.6416C29.9479 48.3406 30.3563 48.3276 30.8671 48.3018C31.378 48.2761 31.8759 48.1665 32.361 47.9729C32.846 47.7794 33.2673 47.4698 33.6249 47.0439C33.9824 46.6181 34.1611 46.018 34.1611 45.2438C34.1611 44.3921 33.861 43.663 33.2609 43.0567C32.6609 42.4503 31.6076 42.1471 30.1009 42.1471ZM28.3547 94.4218V105H33.6853V94.4218L43.1795 76.3264H37.304L31.0005 89.5007L24.7359 76.3264H18.8994L28.3547 94.4218ZM105.216 76.327C106.98 76.327 108.511 76.4303 109.809 76.6368C111.107 76.8434 112.223 77.1145 113.157 77.4504C114.091 77.7863 114.87 78.148 115.493 78.5354C116.116 78.9228 116.635 79.2974 117.05 79.6591C117.725 80.2531 118.354 80.9506 118.938 81.7515C119.522 82.5523 120.028 83.4304 120.456 84.3863C120.884 85.342 121.215 86.3624 121.449 87.4474C121.683 88.5323 121.799 89.6303 121.799 90.741C121.799 92.0326 121.637 93.2983 121.313 94.5384C120.988 95.7781 120.528 96.9406 119.931 98.0256C119.334 99.1105 118.607 100.092 117.751 100.97C116.894 101.849 115.947 102.572 114.909 103.14C114.234 103.502 113.514 103.805 112.749 104.051C111.983 104.296 111.185 104.49 110.355 104.632C109.524 104.774 108.681 104.871 107.824 104.922C106.968 104.974 106.138 105 105.333 105H98.6763L98.6759 76.327H105.216ZM105.009 81.3729H103.995V100.183H105.126C105.855 100.183 106.525 100.164 107.136 100.125C107.747 100.086 108.326 100.021 108.872 99.9305C109.418 99.8399 109.958 99.7039 110.492 99.5225C111.025 99.3411 111.578 99.0948 112.15 98.784C112.853 98.3951 113.477 97.9096 114.023 97.3265C114.569 96.7437 115.025 96.1025 115.389 95.4028C115.753 94.7032 116.026 93.9647 116.209 93.1875C116.391 92.4103 116.482 91.633 116.482 90.8558C116.482 89.4568 116.202 88.1355 115.643 86.8919C115.083 85.6482 114.335 84.6117 113.399 83.7827C112.28 82.7722 111.025 82.118 109.633 81.8199C108.242 81.5219 106.7 81.3729 105.009 81.3729ZM98.6763 76.3264L98.6759 76.327H98.6756L98.6763 76.3264ZM81.683 76.3261C83.3572 76.3261 84.7431 76.4811 85.8417 76.791C86.94 77.1009 87.9077 77.5919 88.7448 78.2634C89.163 78.5993 89.5751 78.9933 89.9805 79.4453C90.3861 79.8972 90.7523 80.4139 91.0791 80.9952C91.406 81.5764 91.6675 82.2155 91.8638 82.9131C92.06 83.6106 92.1581 84.3727 92.1581 85.1993C92.1581 85.6642 92.1124 86.1937 92.0208 86.788C91.9294 87.3823 91.7724 87.9892 91.5501 88.6093C91.3278 89.2293 91.0402 89.8363 9
44620.687 90.4306C90.334 91.0248 89.8959 91.5673 89.3728 92.058C88.5096 92.8846 87.6726 93.4401 86.8619 93.7242C86.0511 94.0083 85.2794 94.2409 84.5472 94.4218L92.4328 105H85.9202L78.2308 94.0344H78.1523V105H72.7775V76.3261H81.683ZM81.5181 81.3729H78.0959V90.0898H81.5181C82.6072 90.0898 83.4887 89.929 84.1627 89.6076C84.8369 89.2862 85.3619 88.9006 85.7378 88.4505C86.1137 88.0005 86.3599 87.5246 86.4767 87.0233C86.5936 86.522 86.6518 86.0783 86.6518 85.6927C86.6518 85.3071 86.5804 84.8634 86.4378 84.3621C86.2952 83.8605 86.0294 83.385 85.6406 82.9349C85.2515 82.4848 84.7265 82.1119 84.0655 81.8163C83.4041 81.5207 82.5551 81.3729 81.5181 81.3729Z" fill="white" data-v-1b2f4e78></path></svg></div><div class="cube__face cube__face--back" data-v-1b2f4e78><svg xmlns="http://www.w3.org/2000/svg" width="140" height="140" viewBox="0 0 140 140" fill="none" class="cube__svg" data-v-1b2f4e78><rect width="140" height="140" fill="#090B11" data-v-1b2f4e78></rect><path d="M102.145 37.1009V65.7745H117.638V60.8146H107.478V54.0338H117.21V49.0739H107.478V42.0604H117.638V37.1006H102.145V37.1009ZM76.5386 37.1009H71.1589V55.2363C71.1589 57.0112 71.3423 58.4518 71.7087 59.5579C72.0751 60.6641 72.4939 61.5258 72.9652 62.1431C73.2795 62.5548 73.698 62.9985 74.2217 63.4743C74.7454 63.9502 75.367 64.3939 76.0869 64.8056C76.8069 65.2172 77.6314 65.5579 78.5607 65.8281C79.4901 66.0983 80.5044 66.2334 81.6039 66.2334C83.5936 66.2334 85.3278 65.8154 86.8067 64.9794C88.2858 64.1434 89.4442 63.1466 90.2819 61.989C90.9626 61.0373 91.4139 59.9632 91.6365 58.7671C91.8592 57.571 91.9705 56.3939 91.9705 55.2366V37.1012H86.5908V55.2366C86.5908 55.5967 86.5647 56.1113 86.5123 56.7801C86.4599 57.4489 86.2768 58.1177 85.9625 58.7865C85.6483 59.4553 85.1509 60.0404 84.4705 60.542C83.7898 61.0436 82.8212 61.2944 81.5647 61.2944C80.3081 61.2944 79.3395 61.0436 78.6588 60.542C77.9781 60.0404 77.4808 59.4553 77.1668 58.7865C76.8525 58.1177 76.6695 57.4489 76.6171 56.7801C76.5646 56.1113 76.5386 55.5967 76.5386 55.2366V37.1009ZM48.9602 37.1009V65.7745H63.0656V60.8146H54.2837V37.1006H48.9602V37.1009ZM56.6855 76.3264L68.847 105H62.9231L59.8237 97.5991H49.4278L46.3285 105H40.4046L52.4875 76.3264H56.6855ZM54.6649 83.896H54.5861L51.2727 92.6129H57.9782L54.6649 83.896ZM22.5994 37.1H28.2848C29.0893 37.1 29.8878 37.113 30.6795 37.1387C31.4712 37.1648 32.2435 37.2423 32.9963 37.3714C33.749 37.5007 34.476 37.7203 35.177 38.0302C35.8779 38.3403 36.5399 38.7665 37.163 39.309C37.8897 39.9547 38.4802 40.7619 38.9346 41.7306C39.3887 42.6995 39.6159 43.6746 39.6159 44.6562C39.6159 45.5604 39.4927 46.3291 39.2461 46.9619C38.9996 47.5946 38.701 48.1244 38.3505 48.5505C38 48.9767 37.6431 49.3126 37.2798 49.5579C36.9164 49.8033 36.6178 49.9908 36.3841 50.1198C36.8514 50.3006 37.377 50.5463 37.9611 50.8561C38.5452 51.1663 39.0836 51.5925 39.577 52.135C40.0703 52.6774 40.4855 53.362 40.8231 54.1886C41.1607 55.0152 41.3293 56.0356 41.3293 57.2496C41.3293 58.1022 41.2254 58.8837 41.0178 59.594C40.8102 60.3043 40.5376 60.937 40.2 61.4925C39.8628 62.0477 39.4798 62.5387 39.0514 62.9649C38.6231 63.391 38.1883 63.7594 37.7471 64.0692C37.2019 64.4566 36.5985 64.7601 35.9365 64.9797C35.2745 65.1993 34.5996 65.3671 33.9116 65.4834C33.2238 65.5997 32.5683 65.6773 31.9452 65.716C31.3844 65.7509 30.8867 65.7703 30.4523 65.7736L30.3097 65.7742H22.5994V37.1H28.2848H22.5994ZM30.7328 53.1578H27.9177V60.7277H30.6154C30.876 60.7277 31.3062 60.7086 31.9056 60.6699C32.5054 60.6311 33.1048 60.496 33.7043 60.2643C34.3037 60.0326 34.8382 59.6591 35.3073 59.1442C35.7764 58.629 36.011 57.9081 36.011 56.9812C36.011 56.698 35.9589 56.3376 35.8546 55.8999C35.7504 55.4622 35.5094 55.0439 35.1313 54.6447C34.7532 54.2455 34.2191 53.8981 33.5283 53.6019C32.8375 53.3059 31.9056 53.1578 30.7328 53.1578ZM30.1009 42.1471H27.9177V48.3406H29.6416C29.9479 48.3406 30.3563 48.3276 30.8671 48.3018C31.378 48.2761 31.8759 48.1665 32.361 47.9729C32.846 47.7794 33.2673 47.4698 33.6249 47.0439C33.9824 46.6181 34.1611 46.018 34.1611 45.2438C34.1611 44.3921 33.861 43.663 33.2609 43.0567C32.6609 42.4503 31.6076 42.1471 30.1009 42.1471ZM28.3547 94.4218V105H33.6853V94.4218L43.1795 76.3264H37.304L31.0005 89.5007L24.7359 76.3264H18.8994L28.3547 94.4218ZM105.216 76.327C106.98 76.327 108.511 76.4303 109.809 76.6368C111.107 76.8434 112.223 77.1145 113.157 77.4504C114.091 77.7863 114.87 78.148 115.493 78.5354C116.116 78.9228 116.635 79.2974 117.05 79.6591C117.725 80.2531 118.354 80.9506 118.938 81.7515C119.522 82.5523 120.028 83.4304 120.456 84.3863C120.884 85.342 121.215 86.3624 121.449 87.4474C121.683 88.5323 121.799 89.6303 121.799 90.741C121.799 92.0326 121.637 93.2983 121.313 94.5384C120.988 95.7781 120.528 96.9406 119.931 98.0256C119.334 99.1105 118.607 100.092 117.751 100.97C116.894 101.849 115.947 102.572 114.909 103.14C114.234 103.502 113.514 103.805 112.749 104.051C111.983 104.296 111.185 104.49 110.355 104.632C109.524 104.774 108.681 104.871 107.824 104.922C106.968 104.974 106.138 105 105.333 105H98.6763L98.6759 76.327H105.216ZM105.009 81.3729H103.995V100.183H105.126C105.855 100.183 106.525 100.164 107.136 100.125C107.747 100.086 108.326 100.021 108.872 99.9305C109.418 99.8399 109.958 99.7039 110.492 99.5225C111.025 99.3411 111.578 99.0948 112.15 98.784C112.853 98.3951 113.477 97.9096 114.023 97.3265C114.569 96.7437 115.025 96.1025 115.389 95.4028C115.753 94.7032 116.026 93.9647 116.209 93.1875C116.391 92.4103 116.482 91.633 116.482 90.8558C116.482 89.4568 116.202 88.1355 115.643 86.8919C115.083 85.6482 114.335 84.6117 113.399 83.7827C112.28 82.7722 111.025 82.118 109.633 81.8199C108.242 81.5219 106.7 81.3729 105.009 81.3729ZM98.6763 76.3264L98.6759 76.327H98.6756L98.6763 76.3264ZM81.683 76.3261C83.3572 76.3261 84.7431 76.4811 85.8417 76.791C86.94 77.1009 87.9077 77.5919 88.7448 78.2634C89.163 78.5993 89.5751 78.9933 89.9805 79.4453C90.3861 79.8972 90.7523 80.4139 91.0791 80.9952C91.406 81.5764 91.6675 82.2155 91.8638 82.9131C92.06 83.6106 92.1581 84.3727 92.1581 85.1993C92.1581 85.6642 92.1124 86.1937 92.0208 86.788C91.9294 87.3823 91.7724 87.9892 91.5501 88.6093C91.3278 89.2293 91.0402 89.8363 9
44620.687 90.4306C90.334 91.0248 89.8959 91.5673 89.3728 92.058C88.5096 92.8846 87.6726 93.4401 86.8619 93.7242C86.0511 94.0083 85.2794 94.2409 84.5472 94.4218L92.4328 105H85.9202L78.2308 94.0344H78.1523V105H72.7775V76.3261H81.683ZM81.5181 81.3729H78.0959V90.0898H81.5181C82.6072 90.0898 83.4887 89.929 84.1627 89.6076C84.8369 89.2862 85.3619 88.9006 85.7378 88.4505C86.1137 88.0005 86.3599 87.5246 86.4767 87.0233C86.5936 86.522 86.6518 86.0783 86.6518 85.6927C86.6518 85.3071 86.5804 84.8634 86.4378 84.3621C86.2952 83.8605 86.0294 83.385 85.6406 82.9349C85.2515 82.4848 84.7265 82.1119 84.0655 81.8163C83.4041 81.5207 82.5551 81.3729 81.5181 81.3729Z" fill="white" data-v-1b2f4e78></path></svg></div><div class="cube__face cube__face--right" data-v-1b2f4e78><svg xmlns="http://www.w3.org/2000/svg" width="140" height="140" viewBox="0 0 140 140" fill="none" class="cube__svg" data-v-1b2f4e78><rect width="140" height="140" fill="#090B11" data-v-1b2f4e78></rect><path d="M102.145 37.1009V65.7745H117.638V60.8146H107.478V54.0338H117.21V49.0739H107.478V42.0604H117.638V37.1006H102.145V37.1009ZM76.5386 37.1009H71.1589V55.2363C71.1589 57.0112 71.3423 58.4518 71.7087 59.5579C72.0751 60.6641 72.4939 61.5258 72.9652 62.1431C73.2795 62.5548 73.698 62.9985 74.2217 63.4743C74.7454 63.9502 75.367 64.3939 76.0869 64.8056C76.8069 65.2172 77.6314 65.5579 78.5607 65.8281C79.4901 66.0983 80.5044 66.2334 81.6039 66.2334C83.5936 66.2334 85.3278 65.8154 86.8067 64.9794C88.2858 64.1434 89.4442 63.1466 90.2819 61.989C90.9626 61.0373 91.4139 59.9632 91.6365 58.7671C91.8592 57.571 91.9705 56.3939 91.9705 55.2366V37.1012H86.5908V55.2366C86.5908 55.5967 86.5647 56.1113 86.5123 56.7801C86.4599 57.4489 86.2768 58.1177 85.9625 58.7865C85.6483 59.4553 85.1509 60.0404 84.4705 60.542C83.7898 61.0436 82.8212 61.2944 81.5647 61.2944C80.3081 61.2944 79.3395 61.0436 78.6588 60.542C77.9781 60.0404 77.4808 59.4553 77.1668 58.7865C76.8525 58.1177 76.6695 57.4489 76.6171 56.7801C76.5646 56.1113 76.5386 55.5967 76.5386 55.2366V37.1009ZM48.9602 37.1009V65.7745H63.0656V60.8146H54.2837V37.1006H48.9602V37.1009ZM56.6855 76.3264L68.847 105H62.9231L59.8237 97.5991H49.4278L46.3285 105H40.4046L52.4875 76.3264H56.6855ZM54.6649 83.896H54.5861L51.2727 92.6129H57.9782L54.6649 83.896ZM22.5994 37.1H28.2848C29.0893 37.1 29.8878 37.113 30.6795 37.1387C31.4712 37.1648 32.2435 37.2423 32.9963 37.3714C33.749 37.5007 34.476 37.7203 35.177 38.0302C35.8779 38.3403 36.5399 38.7665 37.163 39.309C37.8897 39.9547 38.4802 40.7619 38.9346 41.7306C39.3887 42.6995 39.6159 43.6746 39.6159 44.6562C39.6159 45.5604 39.4927 46.3291 39.2461 46.9619C38.9996 47.5946 38.701 48.1244 38.3505 48.5505C38 48.9767 37.6431 49.3126 37.2798 49.5579C36.9164 49.8033 36.6178 49.9908 36.3841 50.1198C36.8514 50.3006 37.377 50.5463 37.9611 50.8561C38.5452 51.1663 39.0836 51.5925 39.577 52.135C40.0703 52.6774 40.4855 53.362 40.8231 54.1886C41.1607 55.0152 41.3293 56.0356 41.3293 57.2496C41.3293 58.1022 41.2254 58.8837 41.0178 59.594C40.8102 60.3043 40.5376 60.937 40.2 61.4925C39.8628 62.0477 39.4798 62.5387 39.0514 62.9649C38.6231 63.391 38.1883 63.7594 37.7471 64.0692C37.2019 64.4566 36.5985 64.7601 35.9365 64.9797C35.2745 65.1993 34.5996 65.3671 33.9116 65.4834C33.2238 65.5997 32.5683 65.6773 31.9452 65.716C31.3844 65.7509 30.8867 65.7703 30.4523 65.7736L30.3097 65.7742H22.5994V37.1H28.2848H22.5994ZM30.7328 53.1578H27.9177V60.7277H30.6154C30.876 60.7277 31.3062 60.7086 31.9056 60.6699C32.5054 60.6311 33.1048 60.496 33.7043 60.2643C34.3037 60.0326 34.8382 59.6591 35.3073 59.1442C35.7764 58.629 36.011 57.9081 36.011 56.9812C36.011 56.698 35.9589 56.3376 35.8546 55.8999C35.7504 55.4622 35.5094 55.0439 35.1313 54.6447C34.7532 54.2455 34.2191 53.8981 33.5283 53.6019C32.8375 53.3059 31.9056 53.1578 30.7328 53.1578ZM30.1009 42.1471H27.9177V48.3406H29.6416C29.9479 48.3406 30.3563 48.3276 30.8671 48.3018C31.378 48.2761 31.8759 48.1665 32.361 47.9729C32.846 47.7794 33.2673 47.4698 33.6249 47.0439C33.9824 46.6181 34.1611 46.018 34.1611 45.2438C34.1611 44.3921 33.861 43.663 33.2609 43.0567C32.6609 42.4503 31.6076 42.1471 30.1009 42.1471ZM28.3547 94.4218V105H33.6853V94.4218L43.1795 76.3264H37.304L31.0005 89.5007L24.7359 76.3264H18.8994L28.3547 94.4218ZM105.216 76.327C106.98 76.327 108.511 76.4303 109.809 76.6368C111.107 76.8434 112.223 77.1145 113.157 77.4504C114.091 77.7863 114.87 78.148 115.493 78.5354C116.116 78.9228 116.635 79.2974 117.05 79.6591C117.725 80.2531 118.354 80.9506 118.938 81.7515C119.522 82.5523 120.028 83.4304 120.456 84.3863C120.884 85.342 121.215 86.3624 121.449 87.4474C121.683 88.5323 121.799 89.6303 121.799 90.741C121.799 92.0326 121.637 93.2983 121.313 94.5384C120.988 95.7781 120.528 96.9406 119.931 98.0256C119.334 99.1105 118.607 100.092 117.751 100.97C116.894 101.849 115.947 102.572 114.909 103.14C114.234 103.502 113.514 103.805 112.749 104.051C111.983 104.296 111.185 104.49 110.355 104.632C109.524 104.774 108.681 104.871 107.824 104.922C106.968 104.974 106.138 105 105.333 105H98.6763L98.6759 76.327H105.216ZM105.009 81.3729H103.995V100.183H105.126C105.855 100.183 106.525 100.164 107.136 100.125C107.747 100.086 108.326 100.021 108.872 99.9305C109.418 99.8399 109.958 99.7039 110.492 99.5225C111.025 99.3411 111.578 99.0948 112.15 98.784C112.853 98.3951 113.477 97.9096 114.023 97.3265C114.569 96.7437 115.025 96.1025 115.389 95.4028C115.753 94.7032 116.026 93.9647 116.209 93.1875C116.391 92.4103 116.482 91.633 116.482 90.8558C116.482 89.4568 116.202 88.1355 115.643 86.8919C115.083 85.6482 114.335 84.6117 113.399 83.7827C112.28 82.7722 111.025 82.118 109.633 81.8199C108.242 81.5219 106.7 81.3729 105.009 81.3729ZM98.6763 76.3264L98.6759 76.327H98.6756L98.6763 76.3264ZM81.683 76.3261C83.3572 76.3261 84.7431 76.4811 85.8417 76.791C86.94 77.1009 87.9077 77.5919 88.7448 78.2634C89.163 78.5993 89.5751 78.9933 89.9805 79.4453C90.3861 79.8972 90.7523 80.4139 91.0791 80.9952C91.406 81.5764 91.6675 82.2155 91.8638 82.9131C92.06 83.6106 92.1581 84.3727 92.1581 85.1993C92.1581 85.6642 92.1124 86.1937 92.0208 86.788C91.9294 87.3823 91.7724 87.9892 91.5501 88.6093C91.3278 89.2293 91.0402 89.8363 9
44620.687 90.4306C90.334 91.0248 89.8959 91.5673 89.3728 92.058C88.5096 92.8846 87.6726 93.4401 86.8619 93.7242C86.0511 94.0083 85.2794 94.2409 84.5472 94.4218L92.4328 105H85.9202L78.2308 94.0344H78.1523V105H72.7775V76.3261H81.683ZM81.5181 81.3729H78.0959V90.0898H81.5181C82.6072 90.0898 83.4887 89.929 84.1627 89.6076C84.8369 89.2862 85.3619 88.9006 85.7378 88.4505C86.1137 88.0005 86.3599 87.5246 86.4767 87.0233C86.5936 86.522 86.6518 86.0783 86.6518 85.6927C86.6518 85.3071 86.5804 84.8634 86.4378 84.3621C86.2952 83.8605 86.0294 83.385 85.6406 82.9349C85.2515 82.4848 84.7265 82.1119 84.0655 81.8163C83.4041 81.5207 82.5551 81.3729 81.5181 81.3729Z" fill="white" data-v-1b2f4e78></path></svg></div><div class="cube__face cube__face--left" data-v-1b2f4e78><svg xmlns="http://www.w3.org/2000/svg" width="140" height="140" viewBox="0 0 140 140" fill="none" class="cube__svg" data-v-1b2f4e78><rect width="140" height="140" fill="#090B11" data-v-1b2f4e78></rect><path d="M102.145 37.1009V65.7745H117.638V60.8146H107.478V54.0338H117.21V49.0739H107.478V42.0604H117.638V37.1006H102.145V37.1009ZM76.5386 37.1009H71.1589V55.2363C71.1589 57.0112 71.3423 58.4518 71.7087 59.5579C72.0751 60.6641 72.4939 61.5258 72.9652 62.1431C73.2795 62.5548 73.698 62.9985 74.2217 63.4743C74.7454 63.9502 75.367 64.3939 76.0869 64.8056C76.8069 65.2172 77.6314 65.5579 78.5607 65.8281C79.4901 66.0983 80.5044 66.2334 81.6039 66.2334C83.5936 66.2334 85.3278 65.8154 86.8067 64.9794C88.2858 64.1434 89.4442 63.1466 90.2819 61.989C90.9626 61.0373 91.4139 59.9632 91.6365 58.7671C91.8592 57.571 91.9705 56.3939 91.9705 55.2366V37.1012H86.5908V55.2366C86.5908 55.5967 86.5647 56.1113 86.5123 56.7801C86.4599 57.4489 86.2768 58.1177 85.9625 58.7865C85.6483 59.4553 85.1509 60.0404 84.4705 60.542C83.7898 61.0436 82.8212 61.2944 81.5647 61.2944C80.3081 61.2944 79.3395 61.0436 78.6588 60.542C77.9781 60.0404 77.4808 59.4553 77.1668 58.7865C76.8525 58.1177 76.6695 57.4489 76.6171 56.7801C76.5646 56.1113 76.5386 55.5967 76.5386 55.2366V37.1009ZM48.9602 37.1009V65.7745H63.0656V60.8146H54.2837V37.1006H48.9602V37.1009ZM56.6855 76.3264L68.847 105H62.9231L59.8237 97.5991H49.4278L46.3285 105H40.4046L52.4875 76.3264H56.6855ZM54.6649 83.896H54.5861L51.2727 92.6129H57.9782L54.6649 83.896ZM22.5994 37.1H28.2848C29.0893 37.1 29.8878 37.113 30.6795 37.1387C31.4712 37.1648 32.2435 37.2423 32.9963 37.3714C33.749 37.5007 34.476 37.7203 35.177 38.0302C35.8779 38.3403 36.5399 38.7665 37.163 39.309C37.8897 39.9547 38.4802 40.7619 38.9346 41.7306C39.3887 42.6995 39.6159 43.6746 39.6159 44.6562C39.6159 45.5604 39.4927 46.3291 39.2461 46.9619C38.9996 47.5946 38.701 48.1244 38.3505 48.5505C38 48.9767 37.6431 49.3126 37.2798 49.5579C36.9164 49.8033 36.6178 49.9908 36.3841 50.1198C36.8514 50.3006 37.377 50.5463 37.9611 50.8561C38.5452 51.1663 39.0836 51.5925 39.577 52.135C40.0703 52.6774 40.4855 53.362 40.8231 54.1886C41.1607 55.0152 41.3293 56.0356 41.3293 57.2496C41.3293 58.1022 41.2254 58.8837 41.0178 59.594C40.8102 60.3043 40.5376 60.937 40.2 61.4925C39.8628 62.0477 39.4798 62.5387 39.0514 62.9649C38.6231 63.391 38.1883 63.7594 37.7471 64.0692C37.2019 64.4566 36.5985 64.7601 35.9365 64.9797C35.2745 65.1993 34.5996 65.3671 33.9116 65.4834C33.2238 65.5997 32.5683 65.6773 31.9452 65.716C31.3844 65.7509 30.8867 65.7703 30.4523 65.7736L30.3097 65.7742H22.5994V37.1H28.2848H22.5994ZM30.7328 53.1578H27.9177V60.7277H30.6154C30.876 60.7277 31.3062 60.7086 31.9056 60.6699C32.5054 60.6311 33.1048 60.496 33.7043 60.2643C34.3037 60.0326 34.8382 59.6591 35.3073 59.1442C35.7764 58.629 36.011 57.9081 36.011 56.9812C36.011 56.698 35.9589 56.3376 35.8546 55.8999C35.7504 55.4622 35.5094 55.0439 35.1313 54.6447C34.7532 54.2455 34.2191 53.8981 33.5283 53.6019C32.8375 53.3059 31.9056 53.1578 30.7328 53.1578ZM30.1009 42.1471H27.9177V48.3406H29.6416C29.9479 48.3406 30.3563 48.3276 30.8671 48.3018C31.378 48.2761 31.8759 48.1665 32.361 47.9729C32.846 47.7794 33.2673 47.4698 33.6249 47.0439C33.9824 46.6181 34.1611 46.018 34.1611 45.2438C34.1611 44.3921 33.861 43.663 33.2609 43.0567C32.6609 42.4503 31.6076 42.1471 30.1009 42.1471ZM28.3547 94.4218V105H33.6853V94.4218L43.1795 76.3264H37.304L31.0005 89.5007L24.7359 76.3264H18.8994L28.3547 94.4218ZM105.216 76.327C106.98 76.327 108.511 76.4303 109.809 76.6368C111.107 76.8434 112.223 77.1145 113.157 77.4504C114.091 77.7863 114.87 78.148 115.493 78.5354C116.116 78.9228 116.635 79.2974 117.05 79.6591C117.725 80.2531 118.354 80.9506 118.938 81.7515C119.522 82.5523 120.028 83.4304 120.456 84.3863C120.884 85.342 121.215 86.3624 121.449 87.4474C121.683 88.5323 121.799 89.6303 121.799 90.741C121.799 92.0326 121.637 93.2983 121.313 94.5384C120.988 95.7781 120.528 96.9406 119.931 98.0256C119.334 99.1105 118.607 100.092 117.751 100.97C116.894 101.849 115.947 102.572 114.909 103.14C114.234 103.502 113.514 103.805 112.749 104.051C111.983 104.296 111.185 104.49 110.355 104.632C109.524 104.774 108.681 104.871 107.824 104.922C106.968 104.974 106.138 105 105.333 105H98.6763L98.6759 76.327H105.216ZM105.009 81.3729H103.995V100.183H105.126C105.855 100.183 106.525 100.164 107.136 100.125C107.747 100.086 108.326 100.021 108.872 99.9305C109.418 99.8399 109.958 99.7039 110.492 99.5225C111.025 99.3411 111.578 99.0948 112.15 98.784C112.853 98.3951 113.477 97.9096 114.023 97.3265C114.569 96.7437 115.025 96.1025 115.389 95.4028C115.753 94.7032 116.026 93.9647 116.209 93.1875C116.391 92.4103 116.482 91.633 116.482 90.8558C116.482 89.4568 116.202 88.1355 115.643 86.8919C115.083 85.6482 114.335 84.6117 113.399 83.7827C112.28 82.7722 111.025 82.118 109.633 81.8199C108.242 81.5219 106.7 81.3729 105.009 81.3729ZM98.6763 76.3264L98.6759 76.327H98.6756L98.6763 76.3264ZM81.683 76.3261C83.3572 76.3261 84.7431 76.4811 85.8417 76.791C86.94 77.1009 87.9077 77.5919 88.7448 78.2634C89.163 78.5993 89.5751 78.9933 89.9805 79.4453C90.3861 79.8972 90.7523 80.4139 91.0791 80.9952C91.406 81.5764 91.6675 82.2155 91.8638 82.9131C92.06 83.6106 92.1581 84.3727 92.1581 85.1993C92.1581 85.6642 92.1124 86.1937 92.0208 86.788C91.9294 87.3823 91.7724 87.9892 91.5501 88.6093C91.3278 89.2293 91.0402 89.8363 9
44620.687 90.4306C90.334 91.0248 89.8959 91.5673 89.3728 92.058C88.5096 92.8846 87.6726 93.4401 86.8619 93.7242C86.0511 94.0083 85.2794 94.2409 84.5472 94.4218L92.4328 105H85.9202L78.2308 94.0344H78.1523V105H72.7775V76.3261H81.683ZM81.5181 81.3729H78.0959V90.0898H81.5181C82.6072 90.0898 83.4887 89.929 84.1627 89.6076C84.8369 89.2862 85.3619 88.9006 85.7378 88.4505C86.1137 88.0005 86.3599 87.5246 86.4767 87.0233C86.5936 86.522 86.6518 86.0783 86.6518 85.6927C86.6518 85.3071 86.5804 84.8634 86.4378 84.3621C86.2952 83.8605 86.0294 83.385 85.6406 82.9349C85.2515 82.4848 84.7265 82.1119 84.0655 81.8163C83.4041 81.5207 82.5551 81.3729 81.5181 81.3729Z" fill="white" data-v-1b2f4e78></path></svg></div><div class="cube__face cube__face--top" data-v-1b2f4e78><svg xmlns="http://www.w3.org/2000/svg" width="140" height="140" viewBox="0 0 140 140" fill="none" class="cube__svg" data-v-1b2f4e78><rect width="140" height="140" fill="#090B11" data-v-1b2f4e78></rect><path d="M102.145 37.1009V65.7745H117.638V60.8146H107.478V54.0338H117.21V49.0739H107.478V42.0604H117.638V37.1006H102.145V37.1009ZM76.5386 37.1009H71.1589V55.2363C71.1589 57.0112 71.3423 58.4518 71.7087 59.5579C72.0751 60.6641 72.4939 61.5258 72.9652 62.1431C73.2795 62.5548 73.698 62.9985 74.2217 63.4743C74.7454 63.9502 75.367 64.3939 76.0869 64.8056C76.8069 65.2172 77.6314 65.5579 78.5607 65.8281C79.4901 66.0983 80.5044 66.2334 81.6039 66.2334C83.5936 66.2334 85.3278 65.8154 86.8067 64.9794C88.2858 64.1434 89.4442 63.1466 90.2819 61.989C90.9626 61.0373 91.4139 59.9632 91.6365 58.7671C91.8592 57.571 91.9705 56.3939 91.9705 55.2366V37.1012H86.5908V55.2366C86.5908 55.5967 86.5647 56.1113 86.5123 56.7801C86.4599 57.4489 86.2768 58.1177 85.9625 58.7865C85.6483 59.4553 85.1509 60.0404 84.4705 60.542C83.7898 61.0436 82.8212 61.2944 81.5647 61.2944C80.3081 61.2944 79.3395 61.0436 78.6588 60.542C77.9781 60.0404 77.4808 59.4553 77.1668 58.7865C76.8525 58.1177 76.6695 57.4489 76.6171 56.7801C76.5646 56.1113 76.5386 55.5967 76.5386 55.2366V37.1009ZM48.9602 37.1009V65.7745H63.0656V60.8146H54.2837V37.1006H48.9602V37.1009ZM56.6855 76.3264L68.847 105H62.9231L59.8237 97.5991H49.4278L46.3285 105H40.4046L52.4875 76.3264H56.6855ZM54.6649 83.896H54.5861L51.2727 92.6129H57.9782L54.6649 83.896ZM22.5994 37.1H28.2848C29.0893 37.1 29.8878 37.113 30.6795 37.1387C31.4712 37.1648 32.2435 37.2423 32.9963 37.3714C33.749 37.5007 34.476 37.7203 35.177 38.0302C35.8779 38.3403 36.5399 38.7665 37.163 39.309C37.8897 39.9547 38.4802 40.7619 38.9346 41.7306C39.3887 42.6995 39.6159 43.6746 39.6159 44.6562C39.6159 45.5604 39.4927 46.3291 39.2461 46.9619C38.9996 47.5946 38.701 48.1244 38.3505 48.5505C38 48.9767 37.6431 49.3126 37.2798 49.5579C36.9164 49.8033 36.6178 49.9908 36.3841 50.1198C36.8514 50.3006 37.377 50.5463 37.9611 50.8561C38.5452 51.1663 39.0836 51.5925 39.577 52.135C40.0703 52.6774 40.4855 53.362 40.8231 54.1886C41.1607 55.0152 41.3293 56.0356 41.3293 57.2496C41.3293 58.1022 41.2254 58.8837 41.0178 59.594C40.8102 60.3043 40.5376 60.937 40.2 61.4925C39.8628 62.0477 39.4798 62.5387 39.0514 62.9649C38.6231 63.391 38.1883 63.7594 37.7471 64.0692C37.2019 64.4566 36.5985 64.7601 35.9365 64.9797C35.2745 65.1993 34.5996 65.3671 33.9116 65.4834C33.2238 65.5997 32.5683 65.6773 31.9452 65.716C31.3844 65.7509 30.8867 65.7703 30.4523 65.7736L30.3097 65.7742H22.5994V37.1H28.2848H22.5994ZM30.7328 53.1578H27.9177V60.7277H30.6154C30.876 60.7277 31.3062 60.7086 31.9056 60.6699C32.5054 60.6311 33.1048 60.496 33.7043 60.2643C34.3037 60.0326 34.8382 59.6591 35.3073 59.1442C35.7764 58.629 36.011 57.9081 36.011 56.9812C36.011 56.698 35.9589 56.3376 35.8546 55.8999C35.7504 55.4622 35.5094 55.0439 35.1313 54.6447C34.7532 54.2455 34.2191 53.8981 33.5283 53.6019C32.8375 53.3059 31.9056 53.1578 30.7328 53.1578ZM30.1009 42.1471H27.9177V48.3406H29.6416C29.9479 48.3406 30.3563 48.3276 30.8671 48.3018C31.378 48.2761 31.8759 48.1665 32.361 47.9729C32.846 47.7794 33.2673 47.4698 33.6249 47.0439C33.9824 46.6181 34.1611 46.018 34.1611 45.2438C34.1611 44.3921 33.861 43.663 33.2609 43.0567C32.6609 42.4503 31.6076 42.1471 30.1009 42.1471ZM28.3547 94.4218V105H33.6853V94.4218L43.1795 76.3264H37.304L31.0005 89.5007L24.7359 76.3264H18.8994L28.3547 94.4218ZM105.216 76.327C106.98 76.327 108.511 76.4303 109.809 76.6368C111.107 76.8434 112.223 77.1145 113.157 77.4504C114.091 77.7863 114.87 78.148 115.493 78.5354C116.116 78.9228 116.635 79.2974 117.05 79.6591C117.725 80.2531 118.354 80.9506 118.938 81.7515C119.522 82.5523 120.028 83.4304 120.456 84.3863C120.884 85.342 121.215 86.3624 121.449 87.4474C121.683 88.5323 121.799 89.6303 121.799 90.741C121.799 92.0326 121.637 93.2983 121.313 94.5384C120.988 95.7781 120.528 96.9406 119.931 98.0256C119.334 99.1105 118.607 100.092 117.751 100.97C116.894 101.849 115.947 102.572 114.909 103.14C114.234 103.502 113.514 103.805 112.749 104.051C111.983 104.296 111.185 104.49 110.355 104.632C109.524 104.774 108.681 104.871 107.824 104.922C106.968 104.974 106.138 105 105.333 105H98.6763L98.6759 76.327H105.216ZM105.009 81.3729H103.995V100.183H105.126C105.855 100.183 106.525 100.164 107.136 100.125C107.747 100.086 108.326 100.021 108.872 99.9305C109.418 99.8399 109.958 99.7039 110.492 99.5225C111.025 99.3411 111.578 99.0948 112.15 98.784C112.853 98.3951 113.477 97.9096 114.023 97.3265C114.569 96.7437 115.025 96.1025 115.389 95.4028C115.753 94.7032 116.026 93.9647 116.209 93.1875C116.391 92.4103 116.482 91.633 116.482 90.8558C116.482 89.4568 116.202 88.1355 115.643 86.8919C115.083 85.6482 114.335 84.6117 113.399 83.7827C112.28 82.7722 111.025 82.118 109.633 81.8199C108.242 81.5219 106.7 81.3729 105.009 81.3729ZM98.6763 76.3264L98.6759 76.327H98.6756L98.6763 76.3264ZM81.683 76.3261C83.3572 76.3261 84.7431 76.4811 85.8417 76.791C86.94 77.1009 87.9077 77.5919 88.7448 78.2634C89.163 78.5993 89.5751 78.9933 89.9805 79.4453C90.3861 79.8972 90.7523 80.4139 91.0791 80.9952C91.406 81.5764 91.6675 82.2155 91.8638 82.9131C92.06 83.6106 92.1581 84.3727 92.1581 85.1993C92.1581 85.6642 92.1124 86.1937 92.0208 86.788C91.9294 87.3823 91.7724 87.9892 91.5501 88.6093C91.3278 89.2293 91.0402 89.8363 9
44620.687 90.4306C90.334 91.0248 89.8959 91.5673 89.3728 92.058C88.5096 92.8846 87.6726 93.4401 86.8619 93.7242C86.0511 94.0083 85.2794 94.2409 84.5472 94.4218L92.4328 105H85.9202L78.2308 94.0344H78.1523V105H72.7775V76.3261H81.683ZM81.5181 81.3729H78.0959V90.0898H81.5181C82.6072 90.0898 83.4887 89.929 84.1627 89.6076C84.8369 89.2862 85.3619 88.9006 85.7378 88.4505C86.1137 88.0005 86.3599 87.5246 86.4767 87.0233C86.5936 86.522 86.6518 86.0783 86.6518 85.6927C86.6518 85.3071 86.5804 84.8634 86.4378 84.3621C86.2952 83.8605 86.0294 83.385 85.6406 82.9349C85.2515 82.4848 84.7265 82.1119 84.0655 81.8163C83.4041 81.5207 82.5551 81.3729 81.5181 81.3729Z" fill="white" data-v-1b2f4e78></path></svg></div><div class="cube__face cube__face--bottom" data-v-1b2f4e78><svg xmlns="http://www.w3.org/2000/svg" width="140" height="140" viewBox="0 0 140 140" fill="none" class="cube__svg" data-v-1b2f4e78><rect width="140" height="140" fill="#090B11" data-v-1b2f4e78></rect><path d="M102.145 37.1009V65.7745H117.638V60.8146H107.478V54.0338H117.21V49.0739H107.478V42.0604H117.638V37.1006H102.145V37.1009ZM76.5386 37.1009H71.1589V55.2363C71.1589 57.0112 71.3423 58.4518 71.7087 59.5579C72.0751 60.6641 72.4939 61.5258 72.9652 62.1431C73.2795 62.5548 73.698 62.9985 74.2217 63.4743C74.7454 63.9502 75.367 64.3939 76.0869 64.8056C76.8069 65.2172 77.6314 65.5579 78.5607 65.8281C79.4901 66.0983 80.5044 66.2334 81.6039 66.2334C83.5936 66.2334 85.3278 65.8154 86.8067 64.9794C88.2858 64.1434 89.4442 63.1466 90.2819 61.989C90.9626 61.0373 91.4139 59.9632 91.6365 58.7671C91.8592 57.571 91.9705 56.3939 91.9705 55.2366V37.1012H86.5908V55.2366C86.5908 55.5967 86.5647 56.1113 86.5123 56.7801C86.4599 57.4489 86.2768 58.1177 85.9625 58.7865C85.6483 59.4553 85.1509 60.0404 84.4705 60.542C83.7898 61.0436 82.8212 61.2944 81.5647 61.2944C80.3081 61.2944 79.3395 61.0436 78.6588 60.542C77.9781 60.0404 77.4808 59.4553 77.1668 58.7865C76.8525 58.1177 76.6695 57.4489 76.6171 56.7801C76.5646 56.1113 76.5386 55.5967 76.5386 55.2366V37.1009ZM48.9602 37.1009V65.7745H63.0656V60.8146H54.2837V37.1006H48.9602V37.1009ZM56.6855 76.3264L68.847 105H62.9231L59.8237 97.5991H49.4278L46.3285 105H40.4046L52.4875 76.3264H56.6855ZM54.6649 83.896H54.5861L51.2727 92.6129H57.9782L54.6649 83.896ZM22.5994 37.1H28.2848C29.0893 37.1 29.8878 37.113 30.6795 37.1387C31.4712 37.1648 32.2435 37.2423 32.9963 37.3714C33.749 37.5007 34.476 37.7203 35.177 38.0302C35.8779 38.3403 36.5399 38.7665 37.163 39.309C37.8897 39.9547 38.4802 40.7619 38.9346 41.7306C39.3887 42.6995 39.6159 43.6746 39.6159 44.6562C39.6159 45.5604 39.4927 46.3291 39.2461 46.9619C38.9996 47.5946 38.701 48.1244 38.3505 48.5505C38 48.9767 37.6431 49.3126 37.2798 49.5579C36.9164 49.8033 36.6178 49.9908 36.3841 50.1198C36.8514 50.3006 37.377 50.5463 37.9611 50.8561C38.5452 51.1663 39.0836 51.5925 39.577 52.135C40.0703 52.6774 40.4855 53.362 40.8231 54.1886C41.1607 55.0152 41.3293 56.0356 41.3293 57.2496C41.3293 58.1022 41.2254 58.8837 41.0178 59.594C40.8102 60.3043 40.5376 60.937 40.2 61.4925C39.8628 62.0477 39.4798 62.5387 39.0514 62.9649C38.6231 63.391 38.1883 63.7594 37.7471 64.0692C37.2019 64.4566 36.5985 64.7601 35.9365 64.9797C35.2745 65.1993 34.5996 65.3671 33.9116 65.4834C33.2238 65.5997 32.5683 65.6773 31.9452 65.716C31.3844 65.7509 30.8867 65.7703 30.4523 65.7736L30.3097 65.7742H22.5994V37.1H28.2848H22.5994ZM30.7328 53.1578H27.9177V60.7277H30.6154C30.876 60.7277 31.3062 60.7086 31.9056 60.6699C32.5054 60.6311 33.1048 60.496 33.7043 60.2643C34.3037 60.0326 34.8382 59.6591 35.3073 59.1442C35.7764 58.629 36.011 57.9081 36.011 56.9812C36.011 56.698 35.9589 56.3376 35.8546 55.8999C35.7504 55.4622 35.5094 55.0439 35.1313 54.6447C34.7532 54.2455 34.2191 53.8981 33.5283 53.6019C32.8375 53.3059 31.9056 53.1578 30.7328 53.1578ZM30.1009 42.1471H27.9177V48.3406H29.6416C29.9479 48.3406 30.3563 48.3276 30.8671 48.3018C31.378 48.2761 31.8759 48.1665 32.361 47.9729C32.846 47.7794 33.2673 47.4698 33.6249 47.0439C33.9824 46.6181 34.1611 46.018 34.1611 45.2438C34.1611 44.3921 33.861 43.663 33.2609 43.0567C32.6609 42.4503 31.6076 42.1471 30.1009 42.1471ZM28.3547 94.4218V105H33.6853V94.4218L43.1795 76.3264H37.304L31.0005 89.5007L24.7359 76.3264H18.8994L28.3547 94.4218ZM105.216 76.327C106.98 76.327 108.511 76.4303 109.809 76.6368C111.107 76.8434 112.223 77.1145 113.157 77.4504C114.091 77.7863 114.87 78.148 115.493 78.5354C116.116 78.9228 116.635 79.2974 117.05 79.6591C117.725 80.2531 118.354 80.9506 118.938 81.7515C119.522 82.5523 120.028 83.4304 120.456 84.3863C120.884 85.342 121.215 86.3624 121.449 87.4474C121.683 88.5323 121.799 89.6303 121.799 90.741C121.799 92.0326 121.637 93.2983 121.313 94.5384C120.988 95.7781 120.528 96.9406 119.931 98.0256C119.334 99.1105 118.607 100.092 117.751 100.97C116.894 101.849 115.947 102.572 114.909 103.14C114.234 103.502 113.514 103.805 112.749 104.051C111.983 104.296 111.185 104.49 110.355 104.632C109.524 104.774 108.681 104.871 107.824 104.922C106.968 104.974 106.138 105 105.333 105H98.6763L98.6759 76.327H105.216ZM105.009 81.3729H103.995V100.183H105.126C105.855 100.183 106.525 100.164 107.136 100.125C107.747 100.086 108.326 100.021 108.872 99.9305C109.418 99.8399 109.958 99.7039 110.492 99.5225C111.025 99.3411 111.578 99.0948 112.15 98.784C112.853 98.3951 113.477 97.9096 114.023 97.3265C114.569 96.7437 115.025 96.1025 115.389 95.4028C115.753 94.7032 116.026 93.9647 116.209 93.1875C116.391 92.4103 116.482 91.633 116.482 90.8558C116.482 89.4568 116.202 88.1355 115.643 86.8919C115.083 85.6482 114.335 84.6117 113.399 83.7827C112.28 82.7722 111.025 82.118 109.633 81.8199C108.242 81.5219 106.7 81.3729 105.009 81.3729ZM98.6763 76.3264L98.6759 76.327H98.6756L98.6763 76.3264ZM81.683 76.3261C83.3572 76.3261 84.7431 76.4811 85.8417 76.791C86.94 77.1009 87.9077 77.5919 88.7448 78.2634C89.163 78.5993 89.5751 78.9933 89.9805 79.4453C90.3861 79.8972 90.7523 80.4139 91.0791 80.9952C91.406 81.5764 91.6675 82.2155 91.8638 82.9131C92.06 83.6106 92.1581 84.3727 92.1581 85.1993C92.1581 85.6642 92.1124 86.1937 92.0208 86.788C91.9294 87.3823 91.7724 87.9892 91.5501 88.6093C91.3278 89.2293 91.0402 89.8363 9
44620.687 90.4306C90.334 91.0248 89.8959 91.5673 89.3728 92.058C88.5096 92.8846 87.6726 93.4401 86.8619 93.7242C86.0511 94.0083 85.2794 94.2409 84.5472 94.4218L92.4328 105H85.9202L78.2308 94.0344H78.1523V105H72.7775V76.3261H81.683ZM81.5181 81.3729H78.0959V90.0898H81.5181C82.6072 90.0898 83.4887 89.929 84.1627 89.6076C84.8369 89.2862 85.3619 88.9006 85.7378 88.4505C86.1137 88.0005 86.3599 87.5246 86.4767 87.0233C86.5936 86.522 86.6518 86.0783 86.6518 85.6927C86.6518 85.3071 86.5804 84.8634 86.4378 84.3621C86.2952 83.8605 86.0294 83.385 85.6406 82.9349C85.2515 82.4848 84.7265 82.1119 84.0655 81.8163C83.4041 81.5207 82.5551 81.3729 81.5181 81.3729Z" fill="white" data-v-1b2f4e78></path></svg></div></div></div></div>',1)),ei("p",Dre,Pf(String(qt(t)).padStart(3,"0"))+"% ",1)],512))}}),A4=(n,e)=>{const t=n.__vccOpts||n;for(const[i,r]of e)t[i]=r;return t},Ore=A4(Lre,[["__scopeId","data-v-1b2f4e78"]]);function Fre(n,e={}){let t=null;const i=Co(n),r=i instanceof HTMLElement?i:i==null?void 0:i.$el;return r?t=new X0(r,e):xA(()=>{r&&(t=new X0(r,e))}),t}const Ure=vs({__name:"Simple",setup(n){const e=gt(!1),t=gt(),i=gt();let r=null;const s=()=>{e.value||(e.value=!0,r!=null&&r.chars.length&&dr.timeline({onComplete:()=>{e.value=!1}}).to(r.chars,{duration:.2,y:"-101%",stagger:{from:"end",each:.02},ease:"joe.in"},0).set(r.chars,{y:"101%"}).to(r.chars,{duration:.2,y:"0%",stagger:{from:"end",each:.02},ease:"joe.out"}))};return zs(()=>{r=Fre(i,{type:"chars"})}),(o,a)=>(di(),Ks(l7(o.$attrs.href?qt(SI):"button"),{ref_key:"button",ref:i,class:"button",onMouseenter:s},{default:Ua(()=>[ix(o.$slots,"default",{},void 0,!0),ei("span",{ref_key:"lineLeft",ref:t,class:"button__line button__line"},null,512)]),_:3},544))}}),Nre=A4(Ure,[["__scopeId","data-v-d36ea8fd"]]);function X8(n,e,t){typeof n=="function"?n(...e).then(()=>t()):t()}function kre(n){return n&&(n!=null&&n.$el)?n.$el:Co(n)}const zre=["id"],Hre=vs({__name:"Disclosure",props:{buttonRef:{},isDropdown:{type:Boolean},handleOpen:{type:Function},handleClose:{type:Function}},emits:["open","close"],setup(n,{expose:e,emit:t}){const i=n,r=t,s=es("registerDisclosure",null),o=es("setOpenDisclosureUid",null),a=gt(!1),l=gt(null),c=tH(),u=gt(null),f=gt(!1),h=()=>{var A;a.value=!0,f.value=!0,(A=u.value)==null||A.setAttribute("aria-expanded","true"),o&&o(c),X8(i.handleOpen,[l.value],()=>{f.value=!1,r("open",l.value)})},p=()=>{var A;a.value&&(f.value=!0,(A=u.value)==null||A.setAttribute("aria-expanded","false"),X8(i.handleClose,[l.value],()=>{f.value=!1,a.value=!1,r("close",l.value)}))},m=A=>{var y;l.value&&A.key==="Escape"&&(p(),(y=u.value)==null||y.focus())},v=()=>{f.value||(a.value?p():h())};if(i.isDropdown){rX(l,p,{ignore:[u]}),Kr(l,"keyup",m);const A=cX();ai(A,y=>{var x;a.value&&(y==null?void 0:y.closest("nav"))!==((x=l.value)==null?void 0:x.closest("nav"))&&p()})}return ai(u,()=>{var A,y,x;(A=u.value)==null||A.setAttribute("aria-expanded",a.value.toString()),(y=u.value)==null||y.setAttribute("aria-controls",c),(x=u.value)==null||x.addEventListener("click",v)}),zs(async()=>{await Ja(),u.value=kre(i.buttonRef),s&&s({uid:c,closeDisclosure:p})}),tl(()=>{var A;(A=u.value)==null||A.removeEventListener("click",v)}),e({openDisclosure:h,closeDisclosure:p,toggleDisclosure:v}),(A,y)=>$z((di(),Na("div",{id:qt(c),ref_key:"target",ref:l},[ix(A.$slots,"default")],8,zre)),[[hV,qt(a)]])}});function Vre(){if(typeof window>"u"||typeof document>"u")return()=>()=>{};const n=window._SVG_SPRITE_IDS_=window._SVG_SPRITE_IDS_||new Set,e=document.createElementNS("http://www.w3.org/2000/svg","svg");e.style.position="absolute",e.style.width="0",e.style.height="0",e.style.overflow="hidden",e.ariaHidden="true";function t(){document.body.insertBefore(e,document.body.firstChild)}return document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t(),function(r,s){(n.has(s)||document.getElementById(s))&&console.warn(`Icon #${s} was repeatedly registered. It must be globally unique.`),n.add(s),e.insertAdjacentHTML("beforeend",r);const o=e.lastChild;return function(){n.delete(s),o==null||o.remove()}}}const Gre=Vre();function Qre(n){return n.charAt(0).toUpperCase()+n.slice(1)}const Wre=(n,e)=>vs({name:`Icon${Qre(e)}`,setup(t,{attrs:i}){return()=>Mr("svg",{width:"1em",height:"1em",...i},[Mr("use",{"xlink:href":`#${n}`})])}}),zP="icon-logo",jre="logo",qre='<symbol id="icon-logo" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 62 41"><path fill="#090B11" d="M49.947.26v17.205h9.296v-2.976h-6.096V10.42h5.84V7.444h-5.84V3.236h6.096V.26zm-15.364 0h-3.227v10.881q0 1.598.33 2.594.329.995.754 1.55.283.371.753.8.472.427 1.12.798.647.37 1.484.614a6.5 6.5 0 0 0 1.826.243q1.79 0 3.121-.753 1.332-.752 2.086-1.794.612-.855.812-1.933.2-1.077.2-2.118V.26h-3.227v10.882q0 .324-.047.926a3.5 3.5 0 0 1-.33 1.204q-.283.6-.895 1.053-.613.451-1.744.451t-1.743-.451-.896-1.053a3.5 3.5 0 0 1-.33-1.204q-.046-.602-.047-.926zm-16.546 0v17.205H26.5v-2.976h-5.27V.26zm4.635 23.536L29.968 41h-3.554l-1.86-4.44h-6.237L16.457 41h-3.554l7.25-17.204zm-1.213 4.541h-.047l-1.988 5.23h4.023zM2.22.26h3.411q.724 0 1.437.023.712.023 1.39.14.678.116 1.309.395.63.28 1.191.767.654.582 1.063 1.453.41.873.409 1.756 0 .813-.222 1.383t-.537.953q-.316.384-.643.605t-.537.337q.42.163.946.441.525.28.97.768t.747 1.232.304 1.837a5 5 0 0 1-.187 1.406 4.631 4.631 0 0 1-1.18 2.023 6 6 0 0 1-.782.662q-.491.35-1.087.547a8 8 0 0 1-1.215.302q-.618.105-1.18.14-.505.03-.895.034H2.22zh3.411zM7.1 9.894H5.411v4.542H7.03q.234 0 .774-.034a3.6 3.6 0 0 0 1.079-.244q.54-.208.962-.672.422-.463.422-1.298 0-.255-.094-.648-.093-.394-.434-.753
4462-.34-.36-.962-.626-.621-.267-1.677-.267m-.38-6.606H5.412v3.716h1.034q.276 0 .736-.023.46-.024.896-.197.437-.175.758-.558.322-.382.322-1.08 0-.766-.54-1.312T6.72 3.288M5.674 34.653V41h3.199v-6.347l5.696-10.857h-3.525L7.26 31.7 3.5 23.796H0zM51.79 23.796q1.587 0 2.756.186 1.167.186 2.009.488.84.303 1.401.651.56.348.934.674.608.535 1.133 1.256.525.72.911 1.58t.596 1.837q.21.977.21 1.976 0 1.163-.292 2.279a9 9 0 0 1-.83 2.092 8.1 8.1 0 0 1-1.307 1.767 7.2 7.2 0 0 1-1.705 1.302q-.607.326-1.297.546-.689.221-1.436.349t-1.518.174T51.86 41h-3.994V23.796zm-.124 3.028h-.609V38.11h.68q.654 0 1.205-.035.55-.036 1.042-.117.49-.081.971-.245.48-.163.995-.443a4.6 4.6 0 0 0 1.124-.874q.492-.525.82-1.154.327-.63.492-1.33.163-.699.163-1.399 0-1.26-.503-2.378a5.4 5.4 0 0 0-1.346-1.866 4.84 4.84 0 0 0-2.26-1.177 13.3 13.3 0 0 0-2.774-.268M37.67 23.796q1.507 0 2.495.278.99.279 1.742.884.376.302.742.709a5.2 5.2 0 0 1 1.13 2.08q.176.629.176 1.372a6.3 6.3 0 0 1-.365 2.046 6.3 6.3 0 0 1-.518 1.093 4.5 4.5 0 0 1-.788.977q-.777.743-1.506 1-.73.256-1.39.418L44.12 41h-3.907l-4.614-6.58h-.047V41h-3.225V23.795zm-.099 3.028h-2.053v5.23h2.053q.981 0 1.587-.29.607-.288.945-.694t.443-.856.105-.799q0-.346-.128-.798a2.25 2.25 0 0 0-.478-.856q-.351-.405-.945-.671-.596-.267-1.529-.267"/></symbol>',{dispose:Xre}=Gre(qre,zP),Yre=Wre(zP,jre);import.meta.hot&&(import.meta.hot.dispose(Xre),import.meta.hot.accept());function DA(n,...e){const t=n.length-1;return n.slice(0,t).reduce((i,r,s)=>i+r+e[s],"")+n[t]}const $re=DA`
4463	*[_type == "siteSettingsSchema"][0]{
4464		defaultTitle,
4465		ogDescription,
4466		"ogImageUrl": ogImage.asset->url,
4467		navigationLinks[]{
4468			title,
4469			"url": coalesce(url, '')
4470		}
4471	}
4472`,hfe=DA`
4473	*[_type == "homeSettingsSchema"][0]{
4474		...,
4475		introductionLogos[]->,
4476		computingLogos[]->,
4477		cryptoLogos[]->,
4478		engineeringLogos[]->,
4479		biologyLogos[]->
4480	}
4481`,Kre=DA`
4482	*[_type == "homeSettingsSchema"][0]{
4483		biologyTitle,
4484		computingTitle,
4485		cryptoTitle,
4486		engineeringTitle,
4487		teamTitle,
4488	}
4489`,pfe=DA`
4490	*[_type == "legalSettingsSchema"][0]{
4491		...
4492	}
4493`,HP=!(typeof navigator>"u")&&navigator.product==="ReactNative",VP={timeout:HP?6e4:12e4},Zre=function(n){const e={...VP,...typeof n=="string"?{url:n}:n};if(e.timeout=GP(e.timeout),e.query){const{url:t,searchParams:i}=function(r){const s=r.indexOf("?");if(s===-1)return{url:r,searchParams:new URLSearchParams};const o=r.slice(0,s),a=r.slice(s+1);if(!HP)return{url:o,searchParams:new URLSearchParams(a)};if(typeof decodeURIComponent!="function")throw new Error("Broken `URLSearchParams` implementation, and `decodeURIComponent` is not defined");const l=new URLSearchParams;for(const c of a.split("&")){const[u,f]=c.split("=");u&&l.append(Y8(u),Y8(f||""))}return{url:o,searchParams:l}}(e.url);for(const[r,s]of Object.entries(e.query)){if(s!==void 0)if(Array.isArray(s))for(const a of s)i.append(r,a);else i.append(r,s);const o=i.toString();o&&(e.url=`${t}?${o}`)}}return e.method=e.body&&!e.method?"POST":(e.method||"GET").toUpperCase(),e};function Y8(n){return decodeURIComponent(n.replace(/\+/g," "))}function GP(n){if(n===!1||n===0)return!1;if(n.connect||n.socket)return n;const e=Number(n);return isNaN(e)?GP(VP.timeout):{connect:e,socket:e}}const Jre=/^https?:\/\//i,ese=function(n){if(!Jre.test(n.url))throw new Error(`"${n.url}" is not a valid URL`)};function QP(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}const tse=["request","response","progress","error","abort"],$8=["processOptions","validateOptions","interceptRequest","finalizeOptions","onRequest","onResponse","onError","onReturn","onHeaders"];function WP(n,e){const t=[],i=$8.reduce((s,o)=>(s[o]=s[o]||[],s),{processOptions:[Zre],validateOptions:[ese]});function r(s){const o=tse.reduce((p,m)=>(p[m]=function(){const v=Object.create(null);let A=0;return{publish:function(y){for(const x in v)v[x](y)},subscribe:function(y){const x=A++;return v[x]=y,function(){delete v[x]}}}}(),p),{}),a=(p=>function(m,v,...A){const y=m==="onError";let x=v;for(let b=0;b<p[m].length&&(x=(0,p[m][b])(x,...A),!y||x);b++);return x})(i),l=a("processOptions",s);a("validateOptions",l);const c={options:l,channels:o,applyMiddleware:a};let u;const f=o.request.subscribe(p=>{u=e(p,(m,v)=>((A,y,x)=>{let b=A,_=y;if(!b)try{_=a("onResponse",y,x)}catch(T){_=null,b=T}b=b&&a("onError",b,x),b?o.error.publish(b):_&&o.response.publish(_)})(m,v,p))});o.abort.subscribe(()=>{f(),u&&u.abort()});const h=a("onReturn",o,c);return h===o&&o.request.publish(c),h}return r.use=function(s){if(!s)throw new Error("Tried to add middleware that resolved to fal
4493sey value");if(typeof s=="function")throw new Error("Tried to add middleware that was a function. It probably expects you to pass options to it.");if(s.onReturn&&i.onReturn.length>0)throw new Error("Tried to add new middleware with `onReturn` handler, but another handler has already been registered for this event");return $8.forEach(o=>{s[o]&&i[o].push(s[o])}),t.push(s),r},r.clone=()=>WP(t,e),n.forEach(r.use),r}var K8,Z8,nse=QP(function(){if(Z8)return K8;Z8=1;var n=function(e){return e.replace(/^\s+|\s+$/g,"")};return K8=function(e){if(!e)return{};for(var t={},i=n(e).split(`
4494`),r=0;r<i.length;r++){var s=i[r],o=s.indexOf(":"),a=n(s.slice(0,o)).toLowerCase(),l=n(s.slice(o+1));typeof t[a]>"u"?t[a]=l:(c=t[a],Object.prototype.toString.call(c)==="[object Array]"?t[a].push(l):t[a]=[t[a],l])}var c;return t}}()),op,ap,od,lp,Ma,cp,up,A6;let Ob=(A6=class{constructor(){he(this,"onabort");he(this,"onerror");he(this,"onreadystatechange");he(this,"ontimeout");he(this,"readyState",0);he(this,"response");he(this,"responseText","");he(this,"responseType","");he(this,"status");he(this,"statusText");he(this,"withCredentials");sn(this,op);sn(this,ap);sn(this,od);sn(this,lp,{});sn(this,Ma);sn(this,cp,{});sn(this,up)}open(e,t,i){var r;tn(this,op,e),tn(this,ap,t),tn(this,od,""),this.readyState=1,(r=this.onreadystatechange)==null||r.call(this),tn(this,Ma,void 0)}abort(){Ne(this,Ma)&&Ne(this,Ma).abort()}getAllResponseHeaders(){return Ne(this,od)}setRequestHeader(e,t){Ne(this,lp)[e]=t}setInit(e,t=!0){tn(this,cp,e),tn(this,up,t)}send(e){const t=this.responseType!=="arraybuffer",i={...Ne(this,cp),method:Ne(this,op),headers:Ne(this,lp),body:e};typeof AbortController=="function"&&Ne(this,up)&&(tn(this,Ma,new AbortController),typeof EventTarget<"u"&&Ne(this,Ma).signal instanceof EventTarget&&(i.signal=Ne(this,Ma).signal)),typeof document<"u"&&(i.credentials=this.withCredentials?"include":"omit"),fetch(Ne(this,ap),i).then(r=>{var s;return r.headers.forEach((o,a)=>{tn(this,od,Ne(this,od)+`${a}: ${o}\r
4495`)}),this.status=r.status,this.statusText=r.statusText,this.readyState=3,(s=this.onreadystatechange)==null||s.call(this),t?r.text():r.arrayBuffer()}).then(r=>{var s;typeof r=="string"?this.responseText=r:this.response=r,this.readyState=4,(s=this.onreadystatechange)==null||s.call(this)}).catch(r=>{var s,o;r.name!=="AbortError"?(s=this.onerror)==null||s.call(this,r):(o=this.onabort)==null||o.call(this)})}},op=new WeakMap,ap=new WeakMap,od=new WeakMap,lp=new WeakMap,Ma=new WeakMap,cp=new WeakMap,up=new WeakMap,A6);const Fb=typeof XMLHttpRequest=="function"?"xhr":"fetch",ise=Fb==="xhr"?XMLHttpRequest:Ob,rse=(n,e)=>{const t=n.options,i=n.applyMiddleware("finalizeOptions",t),r={},s=n.applyMiddleware("interceptRequest",void 0,{adapter:Fb,context:n});if(s){const v=setTimeout(e,0,null,s);return{abort:()=>clearTimeout(v)}}let o=new ise;o instanceof Ob&&typeof i.fetch=="object"&&o.setInit(i.fetch,i.useAbortSignal??!0);const a=i.headers,l=i.timeout;let c=!1,u=!1,f=!1;if(o.onerror=v=>{m(o instanceof Ob?v instanceof Error?v:new Error(`Request error while attempting to reach is ${i.url}`,{cause:v}):new Error(`Request error while attempting to reach is ${i.url}${v.lengthComputable?`(${v.loaded} of ${v.total} bytes transferred)`:""}`))},o.ontimeout=v=>{m(new Error(`Request timeout while attempting to reach ${i.url}${v.lengthComputable?`(${v.loaded} of ${v.total} bytes transferred)`:""}`))},o.onabort=()=>{p(!0),c=!0},o.onreadystatechange=()=>{l&&(p(),r.socket=setTimeout(()=>h("ESOCKETTIMEDOUT"),l.socket)),!c&&o.readyState===4&&o.status!==0&&function(){if(!(c||u||f)){if(o.status===0)return void m(new Error("Unknown XHR error"));p(),u=!0,e(null,{body:o.response||(o.responseType===""||o.responseType==="text"?o.responseText:""),url:i.url,method:i.method,headers:nse(o.getAllResponseHeaders()),statusCode:o.status,statusMessage:o.statusText})}}()},o.open(i.method,i.url,!0),o.withCredentials=!!i.withCredentials,a&&o.setRequestHeader)for(const v in a)a.hasOwnProperty(v)&&o.setRequestHeader(v,a[v]);return i.rawBody&&(o.responseType="arraybuffer"),n.applyMiddleware("onRequest",{options:i,adapter:Fb,request:o,context:n}),o.send(i.body||null),l&&(r.connect=setTimeout(()=>h("ETIMEDOUT"),l.connect)),{abort:function(){c=!0,o&&o.abort()}};function h(v){f=!0,o.abort();const A=new Error(v==="ESOCKETTIMEDOUT"?`Socket timed out on request to ${i.url}`:`Connection timed out on request to ${i.url}`);A.code=v,n.channels.error.publish(A)}function p(v){(v||c||o.readyState>=2&&r.connect)&&clearTimeout(r.connect),r.socket&&clearTimeout(r.socket)}function m(v){if(u)return;p(!0),u=!0,o=null;const A=v||new Error(`Network error while attempting to reach ${i.url}`);A.isNetworkError=!0,A.request=i,e(A)}},sse=(n=[],e=rse)=>WP(n,e);var ose={},J8,eE,tE,nE,iE,ty={exports:{}};iE||(iE=1,function(n,e){e.formatArgs=function(i){if(i[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+i[0]+(this.useColors?"%c ":" ")+"+"+n.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;i.splice(1,0,r,"color: inherit");let s=0,o=0;i[0].replace(/%[a-zA-Z%]/g,a=>{a!=="%%"&&(s++,a==="%c"&&(o=s))}),i.splice(o,0,r)},e.save=function(i){try{i?e.storage.setItem("debug",i):e.storage.removeItem("debug")}catch{}},e.load=function(){let i;try{i=e.storage.getItem("debug")}catch{}return!i&&typeof process<"u"&&"env"in process&&(i=ose.DEBUG),i},e.useColors=function(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;
4495if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let i;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(i=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(i[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage=function(){try{return localStorage}catch{}}(),e.destroy=(()=>{let i=!1;return()=>{i||(i=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.log=console.debug||console.log||(()=>{}),n.exports=(nE?tE:(nE=1,tE=function(i){function r(a){let l,c,u,f=null;function h(...p){if(!h.enabled)return;const m=h,v=Number(new Date),A=v-(l||v);m.diff=A,m.prev=l,m.curr=v,l=v,p[0]=r.coerce(p[0]),typeof p[0]!="string"&&p.unshift("%O");let y=0;p[0]=p[0].replace(/%([a-zA-Z%])/g,(x,b)=>{if(x==="%%")return"%";y++;const _=r.formatters[b];if(typeof _=="function"){const T=p[y];x=_.call(m,T),p.splice(y,1),y--}return x}),r.formatArgs.call(m,p),(m.log||r.log).apply(m,p)}return h.namespace=a,h.useColors=r.useColors(),h.color=r.selectColor(a),h.extend=s,h.destroy=r.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(c!==r.namespaces&&(c=r.namespaces,u=r.enabled(a)),u),set:p=>{f=p}}),typeof r.init=="function"&&r.init(h),h}function s(a,l){const c=r(this.namespace+(typeof l>"u"?":":l)+a);return c.log=this.log,c}function o(a,l){let c=0,u=0,f=-1,h=0;for(;c<a.length;)if(u<l.length&&(l[u]===a[c]||l[u]==="*"))l[u]==="*"?(f=u,h=c,u++):(c++,u++);else{if(f===-1)return!1;u=f+1,h++,c=h}for(;u<l.length&&l[u]==="*";)u++;return u===l.length}return r.debug=r,r.default=r,r.coerce=function(a){return a instanceof Error?a.stack||a.message:a},r.disable=function(){const a=[...r.names,...r.skips.map(l=>"-"+l)].join(",");return r.enable(""),a},r.enable=function(a){r.save(a),r.namespaces=a,r.names=[],r.skips=[];const l=(typeof a=="string"?a:"").trim().replace(" ",",").split(",").filter(Boolean);for(const c of l)c[0]==="-"?r.skips.push(c.slice(1)):r.names.push(c)},r.enabled=function(a){for(const l of r.skips)if(o(a,l))return!1;for(const l of r.names)if(o(a,l))return!0;return!1},r.humanize=function(){if(eE)return J8;eE=1;var a=1e3,l=60*a,c=60*l,u=24*c,f=7*u;function h(p,m,v,A){var y=m>=1.5*v;return Math.round(p/v)+" "+A+(y?"s":"")}return J8=function(p,m){m=m||{};var v,A,y=typeof p;if(y==="string"&&p.length>0)return function(x){if(!((x=String(x)).length>100)){var b=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(x);if(b){var _=parseFloat(b[1]);switch((b[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*_;case"weeks":case"week":case"w":return _*f;case"days":case"day":case"d":return _*u;case"hours":case"hour":case"hrs":case"hr":case"h":return _*c;case"minutes":case"minute":case"mins":case"min":case"m":return _*l;case"seconds":case"second":case"secs":case"sec":case"s":return _*a;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return _;default:return}}}}(p);if(y==="number"&&isFinite(p))return m.long?(v=p,(A=Math.abs(v))>=u?h(v,A,u,"day"):A>=c?h(v,A,c,"hour"):A>=l?h(v,A,l,"minute"):A>=a?h(v,A,a,"second"):v+" ms"):function(x){var b=Math.abs(x);return b>=u?Math.round(x/u)+"d":b>=c?Math.round(x/c)+"h":b>=l?Math.round(x/l)+"m":b>=a?Math.round(x/a)+"s":x+"ms"}(p);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(p))}}(),r.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}
4495,Object.keys(i).forEach(a=>{r[a]=i[a]}),r.names=[],r.skips=[],r.formatters={},r.selectColor=function(a){let l=0;for(let c=0;c<a.length;c++)l=(l<<5)-l+a.charCodeAt(c),l|=0;return r.colors[Math.abs(l)%r.colors.length]},r.enable(r.load()),r}))(e);const{formatters:t}=n.exports;t.j=function(i){try{return JSON.stringify(i)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}(ty,ty.exports)),ty.exports;const ase=typeof Buffer>"u"?()=>!1:n=>Buffer.isBuffer(n);function rE(n){return Object.prototype.toString.call(n)==="[object Object]"}function lse(n){if(rE(n)===!1)return!1;const e=n.constructor;if(e===void 0)return!0;const t=e.prototype;return!(rE(t)===!1||t.hasOwnProperty("isPrototypeOf")===!1)}const cse=["boolean","string","number"];function use(){return{processOptions:n=>{const e=n.body;return!e||typeof e.pipe=="function"||ase(e)||cse.indexOf(typeof e)===-1&&!Array.isArray(e)&&!lse(e)?n:Object.assign({},n,{body:JSON.stringify(n.body),headers:Object.assign({},n.headers,{"Content-Type":"application/json"})})}}}function fse(n){return{onResponse:t=>{const i=t.headers["content-type"]||"",r=n&&n.force||i.indexOf("application/json")!==-1;return t.body&&i&&r?Object.assign({},t,{body:e(t.body)}):t},processOptions:t=>Object.assign({},t,{headers:Object.assign({Accept:"application/json"},t.headers)})};function e(t){try{return JSON.parse(t)}catch(i){throw i.message=`Failed to parsed response body as JSON: ${i.message}`,i}}}let Kh={};typeof globalThis<"u"?Kh=globalThis:typeof window<"u"?Kh=window:typeof global<"u"?Kh=global:typeof self<"u"&&(Kh=self);var dse=Kh;function hse(n={}){const e=n.implementation||dse.Observable;if(!e)throw new Error("`Observable` is not available in global scope, and no implementation was passed");return{onReturn:(t,i)=>new e(r=>(t.error.subscribe(s=>r.error(s)),t.progress.subscribe(s=>r.next(Object.assign({type:"progress"},s))),t.response.subscribe(s=>{r.next(Object.assign({type:"response"},s)),r.complete()}),t.request.publish(i),()=>t.abort.publish()))}}function pse(){return{onRequest:n=>{if(n.adapter!=="xhr")return;const e=n.request,t=n.context;function i(r){return s=>{const o=s.lengthComputable?s.loaded/s.total*100:-1;t.channels.progress.publish({stage:r,percent:o,total:s.total,loaded:s.loaded,lengthComputable:s.lengthComputable})}}"upload"in e&&"onprogress"in e.upload&&(e.upload.onprogress=i("upload")),"onprogress"in e&&(e.onprogress=i("download"))}}}var jP=(n,e,t)=>(t.method==="GET"||t.method==="HEAD")&&(n.isNetworkError||!1);function mse(n){return 100*Math.pow(2,n)+100*Math.random()}const v4=(n={})=>(e=>{const t=e.maxRetries||5,i=e.retryDelay||mse,r=e.shouldRetry;return{onError:(s,o)=>{const a=o.options,l=a.maxRetries||t,c=a.retryDelay||i,u=a.shouldRetry||r,f=a.attemptNumber||0;if((h=a.body)!==null&&typeof h=="object"&&typeof h.pipe=="function"||!u(s,f,a)||f>=l)return s;var h;const p=Object.assign({},o,{options:Object.assign({},a,{attemptNumber:f+1})});return setTimeout(()=>o.channels.request.publish(p),c(f)),null}}})({shouldRetry:jP,...n});v4.shouldRetry=jP;var Ub=function(n,e){return Ub=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])},Ub(n,e)};function nl(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Ub(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function gse(n,e,t,i){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(f){o(f)}}function l(u){try{c(i.throw(u))}catch(f){o(f)}}function c(u){u.done?s(u.value):r(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function qP(n,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,r,s,o=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return o.next=a(0),o.throw=a(1),o.return=a(2),typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(c){return function(u){return l([c,u])}}function l(c){if(i)throw new TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(t=0)),t;)try{if(i=1,r&&(s=c[0]&2?r.return:c[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;switch(r=0,s&&(c=[c[0]&2,s.value]),c[0]){case 0:case 1:s=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,r=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){t.label=c[1];break}if(c[0]===6&&t.label<s[1]){t.label=s[1],s=c;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(c);break}s[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(n,t)}catch(u){c=[6,u],r=0}finally{i=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}function Od(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function $a(n,e){var t=typeof Symbol=="function"&&n[Symbol.iterator];if(!t)return n;var i=t.call(n),r,s=[],o;try{for(;(e===void 0||e-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(a){o={error:a}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s}function Ka(n,e,t){if(t||arguments.length===2)for(var i=0,r=e.length,s;i<r;i++)(s||!(i in e))&&(s||(s=Array.prototype.slice.call(e,0,i)),s[i]=e[i]);return n.concat(s||Array.prototype.slice.call(e))}function rd(n){return this instanceof rd?(this.v=n,this):new rd(n)}function Ase(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(n,e||[]),r,s=[];return r=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),r[Symbol.asyncIterator]=function(){return this},r;function o(p){return function(m){return Promise.resolve(m).then(p,f)}}function a(p,m){i[p]&&(r[p]=function(v){return new Promise(function(A,y){s.push([p,v,A,y])>1||l(p,v)})}
vendor: 6,811 bytes, lines 4495-4497
4495,m&&(r[p]=m(r[p])))}function l(p,m){try{c(i[p](m))}catch(v){h(s[0][3],v)}}function c(p){p.value instanceof rd?Promise.resolve(p.value.v).then(u,f):h(s[0][2],p)}function u(p){l("next",p)}function f(p){l("throw",p)}function h(p,m){p(m),s.shift(),s.length&&l(s[0][0],s[0][1])}}function vse(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n[Symbol.asyncIterator],t;return e?e.call(n):(n=typeof Od=="function"?Od(n):n[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(s){t[s]=n[s]&&function(o){return new Promise(function(a,l){o=n[s](o),r(a,l,o.done,o.value)})}}function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}}function $n(n){return typeof n=="function"}function y4(n){var e=function(i){Error.call(i),i.stack=new Error().stack},t=n(e);return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var ny=y4(function(n){return function(t){n(this),this.message=t?t.length+` errors occurred during unsubscription:
4496`+t.map(function(i,r){return r+1+") "+i.toString()}).join(`
4497  `):"",this.name="UnsubscriptionError",this.errors=t}});function qg(n,e){if(n){var t=n.indexOf(e);0<=t&&n.splice(t,1)}}var Pp=function(){function n(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return n.prototype.unsubscribe=function(){var e,t,i,r,s;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=Od(o),l=a.next();!l.done;l=a.next()){var c=l.value;c.remove(this)}}catch(v){e={error:v}}finally{try{l&&!l.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else o.remove(this);var u=this.initialTeardown;if($n(u))try{u()}catch(v){s=v instanceof ny?v.errors:[v]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var h=Od(f),p=h.next();!p.done;p=h.next()){var m=p.value;try{sE(m)}catch(v){s=s??[],v instanceof ny?s=Ka(Ka([],$a(s)),$a(v.errors)):s.push(v)}}}catch(v){i={error:v}}finally{try{p&&!p.done&&(r=h.return)&&r.call(h)}finally{if(i)throw i.error}}}if(s)throw new ny(s)}},n.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)sE(e);else{if(e instanceof n){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e)}},n.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},n.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},n.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&qg(t,e)},n.prototype.remove=function(e){var t=this._finalizers;t&&qg(t,e),e instanceof n&&e._removeParent(this)},n.EMPTY=function(){var e=new n;return e.closed=!0,e}(),n}(),XP=Pp.EMPTY;function YP(n){return n instanceof Pp||n&&"closed"in n&&$n(n.remove)&&$n(n.add)&&$n(n.unsubscribe)}function sE(n){$n(n)?n():n.unsubscribe()}var yse={Promise:void 0},_se={setTimeout:function(n,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];return setTimeout.apply(void 0,Ka([n,e],$a(t)))},clearTimeout:function(n){return clearTimeout(n)},delegate:void 0};function $P(n){_se.setTimeout(function(){throw n})}function oE(){}function tg(n){n()}var _4=function(n){nl(e,n);function e(t){var i=n.call(this)||this;return i.isStopped=!1,t?(i.destination=t,YP(t)&&t.add(i)):i.destination=Cse,i}return e.create=function(t,i,r){return new sp(t,i,r)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,n.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(Pp),bse=function(){function n(e){this.partialObserver=e}return n.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(i){B1(i)}},n.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(i){B1(i)}else B1(e)},n.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){B1(t)}},n}(),sp=function(n){nl(e,n);function e(t,i,r){var s=n.call(this)||this,o;return $n(t)||!t?o={next:t??void 0,error:i??void 0,complete:r??void 0}:o=t,s.destination=new bse(o),s}return e}(_4);function B1(n){$P(n)}function xse(n){throw n}var Cse={closed:!0,next:oE,error:xse,complete:oE},b4=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function LA(n){return n}function wse(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return KP(n)}function KP(n){return n.length===0?LA:n.length===1?n[0]:function(t){return n.reduce(function(i,r){return r(i)},t)}}var gi=function(){function n(e){e&&(this._subscribe=e)}return n.prototype.lift=function(e){var t=new n;return t.source=this,t.operator=e,t},n.prototype.subscribe=function(e,t,i){var r=this,s=Ese(e)?e:new sp(e,t,i);return tg(function(){var o=r,a=o.operator,l=o.source;s.add(a?a.call(s,l):l?r._subscribe(s):r._trySubscribe(s))}),s},n.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},n.prototype.forEach=function(e,t){var i=this;return t=aE(t),new t(function(r,s){var o=new sp({next:function(a){try{e(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});i.subscribe(o)})},n.prototype._subscribe=function(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)},n.prototype[b4]=function(){return this},n.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return KP(e)(this)},n.prototype.toPromise=function(e){var t=this;return e=aE(e),new e(function(i,r){var s;t.subscribe(function(o){return s=o},function(o){return r(o)},function(){return i(s)})})},n.create=function(e){return new n(e)},n}();function aE(n){var e;return(e=n??yse.Promise)!==null&&e!==void 0?e:Promise}function Sse(n){return n&&$n(n.next)&&$n(n.error)&&$n(n.complete)}function Ese(n){return n&&n instanceof _4||Sse(n)&&YP(n)}function Tse(n){return $n(n==null?void 0:n.lift)}function ra(n){return function(e){if(Tse(e))return e.lift(function(t){try{return n(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function nc(n,e,t,i,r){return new Mse(n,e,t,i,r)}var Mse=function(n){nl(e,n);function e(t,i,r,s,o,a){var l=n.call(this,t)||this;return l.onFinalize=o,l.shouldUnsubscribe=a,l._next=i?function(c){try{i(c)}catch(u){t.error(u)}}
vendor: 4,730 bytes, line 4497
4497:n.prototype._next,l._error=s?function(c){try{s(c)}catch(u){t.error(u)}finally{this.unsubscribe()}}:n.prototype._error,l._complete=r?function(){try{r()}catch(c){t.error(c)}finally{this.unsubscribe()}}:n.prototype._complete,l}return e.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var i=this.closed;n.prototype.unsubscribe.call(this),!i&&((t=this.onFinalize)===null||t===void 0||t.call(this))}},e}(_4),Ise=y4(function(n){return function(){n(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),x4=function(n){nl(e,n);function e(){var t=n.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return e.prototype.lift=function(t){var i=new lE(this,this);return i.operator=t,i},e.prototype._throwIfClosed=function(){if(this.closed)throw new Ise},e.prototype.next=function(t){var i=this;tg(function(){var r,s;if(i._throwIfClosed(),!i.isStopped){i.currentObservers||(i.currentObservers=Array.from(i.observers));try{for(var o=Od(i.currentObservers),a=o.next();!a.done;a=o.next()){var l=a.value;l.next(t)}}catch(c){r={error:c}}finally{try{a&&!a.done&&(s=o.return)&&s.call(o)}finally{if(r)throw r.error}}}})},e.prototype.error=function(t){var i=this;tg(function(){if(i._throwIfClosed(),!i.isStopped){i.hasError=i.isStopped=!0,i.thrownError=t;for(var r=i.observers;r.length;)r.shift().error(t)}})},e.prototype.complete=function(){var t=this;tg(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var i=t.observers;i.length;)i.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(t){return this._throwIfClosed(),n.prototype._trySubscribe.call(this,t)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var i=this,r=this,s=r.hasError,o=r.isStopped,a=r.observers;return s||o?XP:(this.currentObservers=null,a.push(t),new Pp(function(){i.currentObservers=null,qg(a,t)}))},e.prototype._checkFinalizedStatuses=function(t){var i=this,r=i.hasError,s=i.thrownError,o=i.isStopped;r?t.error(s):o&&t.complete()},e.prototype.asObservable=function(){var t=new gi;return t.source=this,t},e.create=function(t,i){return new lE(t,i)},e}(gi),lE=function(n){nl(e,n);function e(t,i){var r=n.call(this)||this;return r.destination=t,r.source=i,r}return e.prototype.next=function(t){var i,r;(r=(i=this.destination)===null||i===void 0?void 0:i.next)===null||r===void 0||r.call(i,t)},e.prototype.error=function(t){var i,r;(r=(i=this.destination)===null||i===void 0?void 0:i.error)===null||r===void 0||r.call(i,t)},e.prototype.complete=function(){var t,i;(i=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||i===void 0||i.call(t)},e.prototype._subscribe=function(t){var i,r;return(r=(i=this.source)===null||i===void 0?void 0:i.subscribe(t))!==null&&r!==void 0?r:XP},e}(x4),C4={now:function(){return(C4.delegate||Date).now()},delegate:void 0},Pse=function(n){nl(e,n);function e(t,i,r){t===void 0&&(t=1/0),i===void 0&&(i=1/0),r===void 0&&(r=C4);var s=n.call(this)||this;return s._bufferSize=t,s._windowTime=i,s._timestampProvider=r,s._buffer=[],s._infiniteTimeWindow=!0,s._infiniteTimeWindow=i===1/0,s._bufferSize=Math.max(1,t),s._windowTime=Math.max(1,i),s}return e.prototype.next=function(t){var i=this,r=i.isStopped,s=i._buffer,o=i._infiniteTimeWindow,a=i._timestampProvider,l=i._windowTime;r||(s.push(t),!o&&s.push(a.now()+l)),this._trimBuffer(),n.prototype.next.call(this,t)},e.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var i=this._innerSubscribe(t),r=this,s=r._infiniteTimeWindow,o=r._buffer,a=o.slice(),l=0;l<a.length&&!t.closed;l+=s?1:2)t.next(a[l]);return this._checkFinalizedStatuses(t),i},e.prototype._trimBuffer=function(){var t=this,i=t._bufferSize,r=t._timestampProvider,s=t._buffer,o=t._infiniteTimeWindow,a=(o?1:2)*i;if(i<1/0&&a<s.length&&s.splice(0,s.length-a),!o){for(var l=r.now(),c=0,u=1;u<s.length&&s[u]<=l;u+=2)c=u;c&&s.splice(0,c+1)}},e}(x4),Rse=function(n){nl(e,n);function e(t,i){return n.call(this)||this}return e.prototype.schedule=function(t,i){return this},e}(Pp),cE={setInterval:function(n,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];return setInterval.apply(void 0,Ka([n,e],$a(t)))},clearInterval:function(n){return clearInterval(n)},delegate:void 0},Bse=function(n){nl(e,n);function e(t,i){var r=n.call(this,t,i)||this;
vendor: 3,332 bytes, line 4497
4497return r.scheduler=t,r.work=i,r.pending=!1,r}return e.prototype.schedule=function(t,i){var r;if(i===void 0&&(i=0),this.closed)return this;this.state=t;var s=this.id,o=this.scheduler;return s!=null&&(this.id=this.recycleAsyncId(o,s,i)),this.pending=!0,this.delay=i,this.id=(r=this.id)!==null&&r!==void 0?r:this.requestAsyncId(o,this.id,i),this},e.prototype.requestAsyncId=function(t,i,r){return r===void 0&&(r=0),cE.setInterval(t.flush.bind(t,this),r)},e.prototype.recycleAsyncId=function(t,i,r){if(r===void 0&&(r=0),r!=null&&this.delay===r&&this.pending===!1)return i;i!=null&&cE.clearInterval(i)},e.prototype.execute=function(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var r=this._execute(t,i);if(r)return r;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,i){var r=!1,s;try{this.work(t)}catch(o){r=!0,s=o||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),s},e.prototype.unsubscribe=function(){if(!this.closed){var t=this,i=t.id,r=t.scheduler,s=r.actions;this.work=this.state=this.scheduler=null,this.pending=!1,qg(s,this),i!=null&&(this.id=this.recycleAsyncId(r,i,null)),this.delay=null,n.prototype.unsubscribe.call(this)}},e}(Rse),uE=function(){function n(e,t){t===void 0&&(t=n.now),this.schedulerActionCtor=e,this.now=t}return n.prototype.schedule=function(e,t,i){return t===void 0&&(t=0),new this.schedulerActionCtor(this,e).schedule(i,t)},n.now=C4.now,n}(),Dse=function(n){nl(e,n);function e(t,i){i===void 0&&(i=uE.now);var r=n.call(this,t,i)||this;return r.actions=[],r._active=!1,r}return e.prototype.flush=function(t){var i=this.actions;if(this._active){i.push(t);return}var r;this._active=!0;do if(r=t.execute(t.state,t.delay))break;while(t=i.shift());if(this._active=!1,r){for(;t=i.shift();)t.unsubscribe();throw r}},e}(uE),Lse=new Dse(Bse),Ose=Lse,ZP=new gi(function(n){return n.complete()});function Fse(n){return n&&$n(n.schedule)}function w4(n){return n[n.length-1]}function Use(n){return $n(w4(n))?n.pop():void 0}function S4(n){return Fse(w4(n))?n.pop():void 0}function Nse(n,e){return typeof w4(n)=="number"?n.pop():e}var JP=function(n){return n&&typeof n.length=="number"&&typeof n!="function"};function eR(n){return $n(n==null?void 0:n.then)}function tR(n){return $n(n[b4])}function nR(n){return Symbol.asyncIterator&&$n(n==null?void 0:n[Symbol.asyncIterator])}function iR(n){return new TypeError("You provided "+(n!==null&&typeof n=="object"?"an invalid object":"'"+n+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function kse(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var rR=kse();function sR(n){return $n(n==null?void 0:n[rR])}function oR(n){return Ase(this,arguments,function(){var t,i,r,s;return qP(this,function(o){switch(o.label){case 0:t=n.getReader(),o.label=1;case 1:o.trys.push([1,,9,10]),o.label=2;case 2:return[4,rd(t.read())];case 3:return i=o.sent(),r=i.value,s=i.done,s?[4,rd(void 0)]:[3,5];case 4:return[2,o.sent()];case 5:return[4,rd(r)];case 6:return[4,o.sent()];case 7:return o.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function aR(n){return $n(n==null?void 0:n.getReader)}
vendor: 4,305 bytes, line 4497
4497function sa(n){if(n instanceof gi)return n;if(n!=null){if(tR(n))return zse(n);if(JP(n))return Hse(n);if(eR(n))return Vse(n);if(nR(n))return lR(n);if(sR(n))return Gse(n);if(aR(n))return Qse(n)}throw iR(n)}function zse(n){return new gi(function(e){var t=n[b4]();if($n(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Hse(n){return new gi(function(e){for(var t=0;t<n.length&&!e.closed;t++)e.next(n[t]);e.complete()})}function Vse(n){return new gi(function(e){n.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,$P)})}function Gse(n){return new gi(function(e){var t,i;try{for(var r=Od(n),s=r.next();!s.done;s=r.next()){var o=s.value;if(e.next(o),e.closed)return}}catch(a){t={error:a}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}e.complete()})}function lR(n){return new gi(function(e){Wse(n,e).catch(function(t){return e.error(t)})})}function Qse(n){return lR(oR(n))}function Wse(n,e){var t,i,r,s;return gse(this,void 0,void 0,function(){var o,a;return qP(this,function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),t=vse(n),l.label=1;case 1:return[4,t.next()];case 2:if(i=l.sent(),!!i.done)return[3,4];if(o=i.value,e.next(o),e.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=l.sent(),r={error:a},[3,11];case 6:return l.trys.push([6,,9,10]),i&&!i.done&&(s=t.return)?[4,s.call(t)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(r)throw r.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function Cu(n,e,t,i,r){i===void 0&&(i=0),r===void 0&&(r=!1);var s=e.schedule(function(){t(),r?n.add(this.schedule(null,i)):this.unsubscribe()},i);if(n.add(s),!r)return s}function cR(n,e){return e===void 0&&(e=0),ra(function(t,i){t.subscribe(nc(i,function(r){return Cu(i,n,function(){return i.next(r)},e)},function(){return Cu(i,n,function(){return i.complete()},e)},function(r){return Cu(i,n,function(){return i.error(r)},e)}))})}function uR(n,e){return e===void 0&&(e=0),ra(function(t,i){i.add(n.schedule(function(){return t.subscribe(i)},e))})}function jse(n,e){return sa(n).pipe(uR(e),cR(e))}function qse(n,e){return sa(n).pipe(uR(e),cR(e))}function Xse(n,e){return new gi(function(t){var i=0;return e.schedule(function(){i===n.length?t.complete():(t.next(n[i++]),t.closed||this.schedule())})})}function Yse(n,e){return new gi(function(t){var i;return Cu(t,e,function(){i=n[rR](),Cu(t,e,function(){var r,s,o;try{r=i.next(),s=r.value,o=r.done}catch(a){t.error(a);return}o?t.complete():t.next(s)},0,!0)}),function(){return $n(i==null?void 0:i.return)&&i.return()}})}function fR(n,e){if(!n)throw new Error("Iterable cannot be null");return new gi(function(t){Cu(t,e,function(){var i=n[Symbol.asyncIterator]();Cu(t,e,function(){i.next().then(function(r){r.done?t.complete():t.next(r.value)})},0,!0)})})}function $se(n,e){return fR(oR(n),e)}function Kse(n,e){if(n!=null){if(tR(n))return jse(n,e);if(JP(n))return Xse(n,e);if(eR(n))return qse(n,e);if(nR(n))return fR(n,e);if(sR(n))return Yse(n,e);if(aR(n))return $se(n,e)}throw iR(n)}function Rp(n,e){return e?Kse(n,e):sa(n)}function OA(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t=S4(n);return Rp(n,t)}function dR(n,e){var t=$n(n)?n:function(){return n},i=function(r){return r.error(t())};return new gi(i)}function Zse(n){return!!n&&(n instanceof gi||$n(n.lift)&&$n(n.subscribe))}var Jse=y4(function(n){return function(){n(this),this.name="EmptyError",this.message="no elements in sequence"}});function Ui(n,e){return new Promise(function(t,i){var r=!1,s;n.subscribe({next:function(o){s=o,r=!0},error:i,complete:function(){r?t(s):i(new Jse)}})})}function eoe(n){return n instanceof Date&&!isNaN(n)}function ns(n,e){return ra(function(t,i){var r=0;t.subscribe(nc(i,function(s){i.next(n.call(e,s,r++))}))})}var toe=Array.isArray;function noe(n,e){return toe(e)?n.apply(void 0,Ka([],$a(e))):n(e)}function ioe(n){return ns(function(e){return noe(n,e)})}function roe(n,e,t){return t===void 0&&(t=LA),function(i){fE(e,function(){for(var r=n.length,s=new Array(r),o=r,a=r,l=function(u){fE(e,function(){var f=Rp(n[u],e),h=!1;f.subscribe(nc(i,function(p){s[u]=p,h||(h=!0,a--),a||i.next(t(s.slice()))},function(){--o||i.complete()}
4497))},i)},c=0;c<r;c++)l(c)})}}function fE(n,e,t){e()}function soe(n,e,t,i,r,s,o,a){var l=[],c=0,u=0,f=!1,h=function(){f&&!l.length&&!c&&e.complete()},p=function(v){return c<i?m(v):l.push(v)},m=function(v){c++;var A=!1;sa(t(v,u++)).subscribe(nc(e,function(y){e.next(y)},function(){A=!0},void 0,function(){if(A)try{c--;for(var y=function(){var x=l.shift();o||m(x)};l.length&&c<i;)y();h()}catch(x){e.error(x)}}))};return n.subscribe(nc(e,p,function(){f=!0,h()})),function(){}}function Bp(n,e,t){return t===void 0&&(t=1/0),$n(e)?Bp(function(i,r){return ns(function(s,o){return e(i,s,r,o)})(sa(n(i,r)))},t):(typeof e=="number"&&(t=e),ra(function(i,r){return soe(i,r,n,t)}))}function hR(n){return n===void 0&&(n=1/0),Bp(LA,n)}function ooe(){return hR(1)}function pR(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return ooe()(Rp(n,S4(n)))}function mR(n){return new gi(function(e){sa(n()).subscribe(e)})}function aoe(n,e,t){return t===void 0&&(t=Ose),new gi(function(i){var r=eoe(n)?1e3-t.now():n;r<0&&(r=0);var s=0;return t.schedule(function(){i.closed||(i.next(s++),i.complete())},r)})}function loe(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t=S4(n),i=Nse(n,1/0),r=n;return r.length?r.length===1?sa(r[0]):hR(i)(Rp(r,t)):ZP}var coe=Array.isArray;function uoe(n){return n.length===1&&coe(n[0])?n[0]:n}function Wd(n,e){return ra(function(t,i){var r=0;t.subscribe(nc(i,function(s){return n.call(e,s,r++)&&i.next(s)}))})}function E4(n){return ra(function(e,t){var i=null,r=!1,s;i=e.subscribe(nc(t,void 0,void 0,function(o){s=sa(n(o,E4(n)(e))),i?(i.unsubscribe(),i=null,s.subscribe(t)):r=!0})),r&&(i.unsubscribe(),i=null,s.subscribe(t))})}function gR(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t=Use(n);
4497return t?wse(gR.apply(void 0,Ka([],$a(n))),ioe(t)):ra(function(i,r){roe(Ka([i],$a(uoe(n))))(r)})}function foe(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return gR.apply(void 0,Ka([],$a(n)))}function AR(n){return ra(function(e,t){try{e.subscribe(t)}finally{t.add(n)}})}function vR(n){n===void 0&&(n={});var e=n.connector,t=e===void 0?function(){return new x4}:e,i=n.resetOnError,r=i===void 0?!0:i,s=n.resetOnComplete,o=s===void 0?!0:s,a=n.resetOnRefCountZero,l=a===void 0?!0:a;return function(c){var u,f,h,p=0,m=!1,v=!1,A=function(){f==null||f.unsubscribe(),f=void 0},y=function(){A(),u=h=void 0,m=v=!1},x=function(){var b=u;y(),b==null||b.unsubscribe()};return ra(function(b,_){p++,!v&&!m&&A();var T=h=h??t();_.add(function(){p--,p===0&&!v&&!m&&(f=iy(x,l))}),T.subscribe(_),!u&&p>0&&(u=new sp({next:function(M){return T.next(M)},error:function(M){v=!0,A(),f=iy(y,r,M),T.error(M)},complete:function(){m=!0,A(),f=iy(y,o),T.complete()}}),sa(b).subscribe(u))})(c)}}function iy(n,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];if(e===!0){n();return}if(e!==!1){var r=new sp({next:function(){r.unsubscribe(),n()}});return sa(e.apply(void 0,Ka([],$a(t)))).subscribe(r)}}function doe(n,e,t){var i,r=!1;return i=n,vR({connector:function(){return new Pse(i,e,t)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:r})}function hoe(n,e,t){var i=$n(n)||e||t?{next:n,error:e,complete:t}:n;return i?ra(function(r,s){var o;(o=i.subscribe)===null||o===void 0||o.call(i);var a=!0;r.subscribe(nc(s,function(l){var c;(c=i.next)===null||c===void 0||c.call(i,l),s.next(l)},function(){var l;a=!1,(l=i.complete)===null||l===void 0||l.call(i),s.complete()},function(l){var c;a=!1,(c=i.error)===null||c===void 0||c.call(i,l),s.error(l)},function(){var l,c;a&&((l=i.unsubscribe)===null||l===void 0||l.call(i)),(c=i.finalize)===null||c===void 0||c.call(i)}))}):LA}var yR={0:8203,1:8204,2:8205,3:8290,4:8291,5:8288,6:65279,7:8289,8:119155,9:119156,a:119157,b:119158,c:119159,d:119160,e:119161,f:119162},T4={0:8203,1:8204,2:8205,3:65279},poe=new Array(4).fill(String.fromCodePoint(T4[0])).join("");function moe(n){let e=JSON.stringify(n);return`${poe}${Array.from(e).map(t=>{let i=t.charCodeAt(0);if(i>255)throw new Error(`Only ASCII edit info can be encoded. Error attempting to encode ${e} on character ${t} (${i})`);return Array.from(i.toString(4).padStart(4,"0")).map(r=>String.fromCodePoint(T4[r])).join("")}).join("")}`}function goe(n){return!Number.isNaN(Number(n))||/[a-z]/i.test(n)&&!/\d+(?:[-:\/]\d+){2}(?:T\d+(?:[-:\/]\d+){1,2}(\.\d+)?Z?)?/.test(n)?!1:!!Date.parse(n)}function Aoe(n){try{new URL(n,n.startsWith("/")?"https://acme.com":void 0)}catch{return!1}return!0}function gfe(n,e,t="auto"){return t===!0||t==="auto"&&(goe(n)||Aoe(n))?n:`${n}${moe(e)}`}Object.fromEntries(Object.entries(T4).map(n=>n.reverse()));Object.fromEntries(Object.entries(yR).map(n=>n.reverse()));var voe=`${Object.values(yR).map(n=>`\\u{${n.toString(16)}}`).join("")}`,dE=new RegExp(`[${voe}]{4,}`,"gu");function yoe(n){var e;return{cleaned:n.replace(dE,""),encoded:((e=n.match(dE))==null?void 0:e[0])||""}}function _oe(n){return n&&JSON.parse(yoe(JSON.stringify(n)).cleaned)}function boe(n){return _oe(n)}class xoe extends Error{constructor(t){const i=_R(t);super(i.message);he(this,"response");he(this,"statusCode",400);he(this,"responseBody");he(this,"details");Object.assign(this,i)}}class Coe extends Error{constructor(t){const i=_R(t);super(i.message);he(this,"response");he(this,"statusCode",500);he(this,"responseBody");he(this,"details");Object.assign(this,i)}}function _R(n){const e=n.body,t={response:n,statusCode:n.statusCode,responseBody:Toe(e,n),message:"",details:void 0};if(e.error&&e.message)return t.message=`${e.error} - ${e.message}`,t;if(woe(e)||Soe(e)){const i=e.error.items||[],r=i.slice(0,5).map(o=>{var a;return(a=o.error)==null?void 0:a.description}).filter(Boolean);let s=r.length?`:
4498- ${r.join(`
4499- `)}`:"";return i.length>5&&(s+=`
4500...and ${i.length-5} more`),t.message=`${e.error.description}${s}`,t.details=e.error,t}return e.error&&e.error.description?(t.message=e.error.description,t.details=e.error,t):(t.message=e.error||e.message||Eoe(n),t)}function woe(n){return Xg(n)&&Xg(n.error)&&n.error.type==="mutationError"&&typeof n.error.description=="str
4500ing"}function Soe(n){return Xg(n)&&Xg(n.error)&&n.error.type==="actionError"&&typeof n.error.description=="string"}function Xg(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function Eoe(n){const e=n.statusMessage?` ${n.statusMessage}`:"";return`${n.method}-request to ${n.url} resulted in HTTP ${n.statusCode}${e}`}function Toe(n,e){return(e.headers["content-type"]||"").toLowerCase().indexOf("application/json")!==-1?JSON.stringify(n,null,2):n}class Moe extends Error{constructor({projectId:t}){super("CorsOriginError");he(this,"projectId");he(this,"addOriginUrl");this.name="CorsOriginError",this.projectId=t;const i=new URL(`https://sanity.io/manage/project/${t}/api`);if(typeof location<"u"){const{origin:r}=location;i.searchParams.set("cors","add"),i.searchParams.set("origin",r),this.addOriginUrl=i,this.message=`The current origin is not allowed to connect to the Live Content API. Add it here: ${i}`}else this.message=`The current origin is not allowed to connect to the Live Content API. Change your configuration here: ${i}`}}const Ioe={onResponse:n=>{if(n.statusCode>=500)throw new Coe(n);if(n.statusCode>=400)throw new xoe(n);return n}};function Poe(){const n={};return{onResponse:e=>{const t=e.headers["x-sanity-warning"],i=Array.isArray(t)?t:[t];for(const r of i)!r||n[r]||(n[r]=!0,console.warn(r));return e}}}function hE(n){return sse([v4({shouldRetry:Roe}),...n,Poe(),use(),fse(),pse(),Ioe,hse({implementation:gi})])}function Roe(n,e,t){if(t.maxRetries===0)return!1;const i=t.method==="GET"||t.method==="HEAD",r=(t.uri||t.url).startsWith("/data/query"),s=n.response&&(n.response.statusCode===429||n.response.statusCode===502||n.response.statusCode===503);return(i||r)&&s?!0:v4.shouldRetry(n,e,t)}const Boe="https://www.sanity.io/help/";function M4(n){return Boe+n}const pE=["image","file"],mE=["before","after","replace"],bR=n=>{if(!/^(~[a-z0-9]{1}[-\w]{0,63}|[a-z0-9]{1}[-\w]{0,63})$/.test(n))throw new Error("Datasets can only contain lowercase characters, numbers, underscores and dashes, and start with tilde, and be maximum 64 characters")},Doe=n=>{if(!/^[-a-z0-9]+$/i.test(n))throw new Error("`projectId` can only contain only a-z, 0-9 and dashes")},Loe=n=>{if(pE.indexOf(n)===-1)throw new Error(`Invalid asset type: ${n}. Must be one of ${pE.join(", ")}`)},M0=(n,e)=>{if(e===null||typeof e!="object"||Array.isArray(e))throw new Error(`${n}() takes an object of properties`)},xR=(n,e)=>{if(typeof e!="string"||!/^[a-z0-9_][a-z0-9_.-]{0,127}$/i.test(e)||e.includes(".."))throw new Error(`${n}(): "${e}" is not a valid document ID`)},Yg=(n,e)=>{if(!e._id)throw new Error(`${n}() requires that the document contains an ID ("_id" property)`);xR(n,e._id)},Ooe=(n,e,t)=>{const i="insert(at, selector, items)";if(mE.indexOf(n)===-1){const r=mE.map(s=>`"${s}"`).join(", ");throw new Error(`${i} takes an "at"-argument which is one of: ${r}`)}if(typeof e!="string")throw new Error(`${i} takes a "selector"-argument which must be a string`);if(!Array.isArray(t))throw new Error(`${i} takes an "items"-argument which must be an array`)},CR=n=>{if(!n.dataset)throw new Error("`dataset` must be provided to perform queries");return n.dataset||""},wR=n=>{if(typeof n!="string"||!/^[a-z0-9._-]{1,75}$/i.test(n))throw new Error("Tag can only contain alphanumeric characters, underscores, dashes and dots, and be between one and 75 characters long.");return n};function Foe(n){let e=!1,t;return(...i)=>(e||(t=n(...i),e=!0),t)}const jd=n=>Foe((...e)=>console.warn(n.join(" "),...e)),Uoe=jd(["Because you set `withCredentials` to true, we will override your `useCdn`","setting to be false since (cookie-based) credentials are never set on the CDN"]),Noe=jd(["Since you haven't set a value for `useCdn`, we will deliver content using our","global, edge-cached API-CDN. If you wish to have content delivered faster, set","`useCdn: false` to use the Live API. Note: You may incur higher costs using the live API."]),koe=jd(["The Sanity client is configured with the `perspective` set to `drafts` or `previewDrafts`, which doesn't support the API-CDN.","The Live API will be used instead. Set `useCdn: false` in your configuration to hide this warning."]),zoe=jd(["The `previewDrafts` perspective has been renamed to  `drafts` and will be removed in a future API version"]),Hoe=jd(["You have configured Sanity client to use a token in the browser. This may cause unintentional security issues.",`See ${M4("js-client-browser-token")} for more information and how to hide this warning.`]),Voe=jd(["Using the Sanity client without specifying an API version is deprecated.",`See ${M4("js-client-api-version")}`]),Goe="apicdn.sanity.io",I0={apiHost:"https://api.sanity.io",apiVersion:"1",useProjectHostname:!0,stega:{enabled:!1}},Qoe=["localhost","127.0.0.1","0.0.0.0"],Woe=n=>Qoe.indexOf(n)!==-1;function joe(n){if(n==="1"||n==="X")return;const e=new Date(n);if(!(/^\d{4}-\d{2}-\d{2}$/.test(n)&&e instanceof Date&&e.getTime()>0))throw new Error("Invalid API version string, expected `1` or date in format `YYYY-MM-DD`")}const qoe=/^[a-z0-9_]+$/i;
4500function SR(n){if(Array.isArray(n)&&n.includes("raw"))throw new TypeError('Invalid API perspective value: "raw". The raw-perspective can not be combined with other perspectives');const e=(Array.isArray(n)?n:[n]).filter(t=>typeof t!="string"||!qoe.test(t));if(e.length>0){const t=e.map(i=>JSON.stringify(i));throw new TypeError(`Invalid API perspective value${e.length===1?"":"s"}: ${t.join(", ")}, expected \`published\`, \`drafts\`, \`raw\` or a release identifier string`)}}const ER=(n,e)=>{const t={...e,...n,stega:{...typeof e.stega=="boolean"?{enabled:e.stega}:e.stega||I0.stega,...typeof n.stega=="boolean"?{enabled:n.stega}:n.stega||{}}};t.apiVersion||Voe();const i={...I0,...t},r=i.useProjectHostname;if(typeof Promise>"u"){const f=M4("js-client-promise-polyfill");throw new Error(`No native Promise-implementation found, polyfill needed - see ${f}`)}if(r&&!i.projectId)throw new Error("Configuration must contain `projectId`");if(typeof i.perspective<"u"&&SR(i.perspective),"encodeSourceMap"in i)throw new Error("It looks like you're using options meant for '@sanity/preview-kit/client'. 'encodeSourceMap' is not supported in '@sanity/client'. Did you mean 'stega.enabled'?");if("encodeSourceMapAtPath"in i)throw new Error("It looks like you're using options meant for '@sanity/preview-kit/client'. 'encodeSourceMapAtPath' is not supported in '@sanity/client'. Did you mean 'stega.filter'?");if(typeof i.stega.enabled!="boolean")throw new Error(`stega.enabled must be a boolean, received ${i.stega.enabled}`);if(i.stega.enabled&&i.stega.studioUrl===void 0)throw new Error("stega.studioUrl must be defined when stega.enabled is true");if(i.stega.enabled&&typeof i.stega.studioUrl!="string"&&typeof i.stega.studioUrl!="function")throw new Error(`stega.studioUrl must be a string or a function, received ${i.stega.studioUrl}`);const s=typeof window<"u"&&window.location&&window.location.hostname,o=s&&Woe(window.location.hostname);s&&o&&i.token&&i.ignoreBrowserTokenWarning!==!0?Hoe():typeof i.useCdn>"u"&&Noe(),r&&Doe(i.projectId),i.dataset&&bR(i.dataset),"requestTagPrefix"in i&&(i.requestTagPrefix=i.requestTagPrefix?wR(i.requestTagPrefix).replace(/\.+$/,""):void 0),i.apiVersion=`${i.apiVersion}`.replace(/^v/,""),i.isDefaultApi=i.apiHost===I0.apiHost,i.useCdn===!0&&i.withCredentials&&Uoe(),i.useCdn=i.useCdn!==!1&&!i.withCredentials,joe(i.apiVersion);const a=i.apiHost.split("://",2),l=a[0],c=a[1],u=i.isDefaultApi?Goe:c;return i.useProjectHostname?(i.url=`${l}://${i.projectId}.${c}/v${i.apiVersion}`,i.cdnUrl=`${l}://${i.projectId}.${u}/v${i.apiVersion}
4500`):(i.url=`${i.apiHost}/v${i.apiVersion}`,i.cdnUrl=i.url),i};class TR extends Error{constructor(){super(...arguments);he(this,"name","ConnectionFailedError")}}class Xoe extends Error{constructor(t,i,r={}){super(t,r);he(this,"name","DisconnectError");he(this,"reason");this.reason=i}}class Yoe extends Error{constructor(t,i){super(t);he(this,"name","ChannelError");he(this,"data");this.data=i}}class $oe extends Error{constructor(t,i,r={}){super(t,r);he(this,"name","MessageError");he(this,"data");this.data=i}}class gE extends Error{constructor(){super(...arguments);he(this,"name","MessageParseError")}}const Koe=["channelError","disconnect"];function MR(n,e){return mR(()=>{const t=n();return Zse(t)?t:OA(t)}).pipe(Bp(t=>Zoe(t,e)))}function Zoe(n,e){return new gi(t=>{const i=e.includes("open"),r=e.includes("reconnect");function s(c){if("data"in c){const[u,f]=AE(c);t.error(u?new gE("Unable to parse EventSource error message",{cause:f}):new $oe((f==null?void 0:f.data).message,f));return}n.readyState===n.CLOSED?t.error(new TR("EventSource connection failed")):r&&t.next({type:"reconnect"})}function o(){t.next({type:"open"})}function a(c){var h;const[u,f]=AE(c);if(u){t.error(new gE("Unable to parse EventSource message",{cause:u}));return}if(c.type==="channelError"){t.error(new Yoe(Joe(f==null?void 0:f.data),f.data));return}if(c.type==="disconnect"){t.error(new Xoe(`Server disconnected client: ${((h=f.data)==null?void 0:h.reason)||"unknown error"}`));return}t.next({type:c.type,id:c.lastEventId,...f.data?{data:f.data}:{}})}n.addEventListener("error",s),i&&n.addEventListener("open",o);const l=[...new Set([...Koe,...e])].filter(c=>c!=="error"&&c!=="open"&&c!=="reconnect");return l.forEach(c=>n.addEventListener(c,a)),()=>{n.removeEventListener("error",s),i&&n.removeEventListener("open",o),l.forEach(c=>n.removeEventListener(c,a)),n.close()}})}
4500function AE(n){try{const e=typeof n.data=="string"&&JSON.parse(n.data);return[null,{type:n.type,id:n.lastEventId,...eae(e)?{}:{data:e}}]}catch(e){return[e,null]}}function Joe(n){return n.error?n.error.description?n.error.description:typeof n.error=="string"?n.error:JSON.stringify(n.error,null,2):n.message||"Unknown listener error"}function eae(n){for(const e in n)return!1;return!0}function IR(n){if(typeof n=="string")return{id:n};if(Array.isArray(n))return{query:"*[_id in $ids]",params:{ids:n}};if(typeof n=="object"&&n!==null&&"query"in n&&typeof n.query=="string")return"params"in n&&typeof n.params=="object"&&n.params!==null?{query:n.query,params:n.params}:{query:n.query};const e=["* Document ID (<docId>)","* Array of document IDs","* Object containing `query`"].join(`
4501`);throw new Error(`Unknown selection - must be one of:
4502
4503${e}`)}class PR{constructor(e,t={}){he(this,"selection");he(this,"operations");this.selection=e,this.operations=t}set(e){return this._assign("set",e)}setIfMissing(e){return this._assign("setIfMissing",e)}diffMatchPatch(e){return M0("diffMatchPatch",e),this._assign("diffMatchPatch",e)}unset(e){if(!Array.isArray(e))throw new Error("unset(attrs) takes an array of attributes to unset, non-array given");return this.operations=Object.assign({},this.operations,{unset:e}),this}inc(e){return this._assign("inc",e)}dec(e){return this._assign("dec",e)}insert(e,t,i){return Ooe(e,t,i),this._assign("insert",{[e]:t,items:i})}append(e,t){return this.insert("after",`${e}[-1]`,t)}prepend(e,t){return this.insert("before",`${e}[0]`,t)}splice(e,t,i,r){const s=typeof i>"u"||i===-1,o=t<0?t-1:t,a=s?-1:Math.max(0,t+i),l=o<0&&a>=0?"":a,c=`${e}[${o}:${l}]`;return this.insert("replace",c,r||[])}ifRevisionId(e){return this.operations.ifRevisionID=e,this}serialize(){return{...IR(this.selection),...this.operations}}toJSON(){return this.serialize()}reset(){return this.operations={},this}_assign(e,t,i=!0){return M0(e,t),this.operations=Object.assign({},this.operations,{[e]:Object.assign({},i&&this.operations[e]||{},t)}),this}_set(e,t){return this._assign(e,t,!1)}}var au;const O4=class O4 extends PR{constructor(t,i,r){super(t,i);sn(this,au);tn(this,au,r)}clone(){return new O4(this.selection,{...this.operations},Ne(this,au))}commit(t){if(!Ne(this,au))throw new Error("No `client` passed to patch, either provide one or pass the patch to a clients `mutate()` method");const i=typeof this.selection=="string",r=Object.assign({returnFirst:i,returnDocuments:!0},t);return Ne(this,au).mutate({patch:this.serialize()},r)}};au=new WeakMap;let wu=O4;var lu;const F4=class F4 extends PR{constructor(t,i,r){super(t,i);sn(this,lu);tn(this,lu,r)}clone(){return new F4(this.selection,{...this.operations},Ne(this,lu))}commit(t){if(!Ne(this,lu))throw new Error("No `client` passed to patch, either provide one or pass the patch to a clients `mutate()` method");const i=typeof this.selection=="string",r=Object.assign({returnFirst:i,returnDocuments:!0},t);return Ne(this,lu).mutate({patch:this.serialize()},r)}};lu=new WeakMap;let Hl=F4;const RR={returnDocuments:!1};class BR{constructor(e=[],t){he(this,"operations");he(this,"trxId");this.operations=e,this.trxId=t}create(e){return M0("create",e),this._add({create:e})}createIfNotExists(e){const t="createIfNotExists";return M0(t,e),Yg(t,e),this._add({[t]:e})}createOrReplace(e){const t="createOrReplace";return M0(t,e),Yg(t,e),this._add({[t]:e})}delete(e){return xR("delete",e),this._add({delete:{id:e}})}transactionId(e){return e?(this.trxId=e,this):this.trxId}serialize(){return[...this.operations]}toJSON(){return this.serialize()}reset(){return this.operations=[],this}_add(e){return this.operations.push(e),this}}var Ia;const U4=class U4 extends BR{constructor(t,i,r){super(t,r);sn(this,Ia);tn(this,Ia,i)}clone(){return new U4([...this.operations],Ne(this,Ia),this.trxId)}commit(t){if(!Ne(this,Ia))throw new Error("No `client` passed to transaction, either provide one or pass the transaction to a clients `mutate()` method");return Ne(this,Ia).mutate(this.serialize(),Object.assign({transactionId:this.trxId},RR,t||{}))}patch(t,i){const r=typeof i=="function",s=typeof t!="string"&&t instanceof Hl,o=typeof t=="object"&&("query"in t||"id"in t);if(s)return this._add({patch:t.serialize()});if(r){const a=i(new Hl(t,{},Ne(this,Ia)));if(!(a instanceof Hl))throw new Error("function passed to `patch()` must return the patch");return this._add({patch:a.serialize()})}if(o){const a=new Hl(t,i||{},Ne(this,Ia));return this._add({patch:a.serialize()})}return this._add({patch:{id:t,...i}})}};Ia=new WeakMap;let $g=U4;var Tl;const N4=class N4 extends BR{constructor(t,i,r){super(t,r);sn(this,Tl);tn(this,Tl,i)}clone(){return new N4([...this.operations],Ne(this,Tl),this.trxId)}commit(t){if(!Ne(this,Tl))throw new Error("No `client` passed to transaction, either provide one or pass the transaction to a clients `mutate()` method");return Ne(this,Tl).mutate(this.serialize(),Object.assign({transactionId:this.trxId},RR,t||{}))}patch(t,i){const r=typeof i=="function";if(typeof t!="string"&&t instanceof wu)return this._add({patch:t.serialize()});if(r){const s=i(new wu(t,{},Ne(this,Tl)));if(!(s instanceof wu))throw new Error("function passed to `patch()` must return the patch");return this._add({patch:s.serialize()})}return this._add({patch:{id:t,...i}})}};Tl=new WeakMap;let Kg=N4;const tae="X-Sanity-Project-ID";function nae(n,e={}){const t={},i=e.token||n.token;i&&(t.Authorization=`Bearer ${i}`),!e.useGlobalApi&&!n.useProjectHostname&&n.projectId&&(t[tae]=n.projectId);const r=!!(typeof e.withCredentials>"u"?n.token||n.withCredentials:e.withCredentials),s=typeof e.timeout>"u"?n.timeout:e.timeout;return Object.assign({},e,{headers:Object.assign({},t,e.headers||{}),timeout:typeof s>"u"?5*60*1e3:s,proxy:e.proxy||n.proxy,json:!0,withCredentials:r,fetch:typeof e.fetch=="object"&&typeof n.fetch=="object"?{...n.fetch,...e.fetch}:e.fetch||n.fetch})}const DR=({query:n,params:e={},options:t={}})=>{const i=new URLSearchParams,{tag:r,includeMutations:s,returnQuery:o,...a}=t;r&&i.append("tag",r),i.append("query",n);for(const[l,c]of Object.entries(e))i.append(`$${l}`,JSON.stringify(c));for(const[l,c]of Object.entries(a))c&&i.append(l,`${c}`);return o===!1&&i.append("returnQuery","false"),s===!1&&i.append("includeMutations","fal
4503se"),`?${i}`},iae=(n,e)=>n===!1?void 0:typeof n>"u"?e:n,rae=(n={})=>({dryRun:n.dryRun,returnIds:!0,returnDocuments:iae(n.returnDocuments,!0),visibility:n.visibility||"sync",autoGenerateArrayKeys:n.autoGenerateArrayKeys,skipCrossDatasetReferenceValidation:n.skipCrossDatasetReferenceValidation}),I4=n=>n.type==="response",sae=n=>n.body,oae=(n,e)=>n.reduce((t,i)=>(t[e(i)]=i,t),Object.create(null)),aae=11264;function LR(n,e,t,i,r={},s={}){const o="stega"in s?{...t||{},...typeof s.stega=="boolean"?{enabled:s.stega}:s.stega||{}}:t,a=o.enabled?boe(r):r,l=s.filterResponse===!1?m=>m:m=>m.result,{cache:c,next:u,...f}={useAbortSignal:typeof s.signal<"u",resultSourceMap:o.enabled?"withKeyArraySelector":s.resultSourceMap,...s,returnQuery:s.filterResponse===!1&&s.returnQuery!==!1},h=typeof c<"u"||typeof u<"u"?{...f,fetch:{cache:c,next:u}}:f,p=qd(n,e,"query",{query:i,params:a},h);return o.enabled?p.pipe(foe(Rp(Sr(()=>import("./Bseof4PF.js"),[],import.meta.url).then(function(m){return m.stegaEncodeSourceMap$1}).then(({stegaEncodeSourceMap:m})=>m))),ns(([m,v])=>{const A=v(m.result,m.resultSourceMap,o);return l({...m,result:A})})):p.pipe(ns(l))}function OR(n,e,t,i={}){const r={uri:Fu(n,"doc",t),json:!0,tag:i.tag,signal:i.signal};return Dp(n,e,r).pipe(Wd(I4),ns(s=>s.body.documents&&s.body.documents[0]))}function FR(n,e,t,i={}){const r={uri:Fu(n,"doc",t.join(",")),json:!0,tag:i.tag,signal:i.signal};return Dp(n,e,r).pipe(Wd(I4),ns(s=>{const o=oae(s.body.documents||[],a=>a._id);return t.map(a=>o[a]||null)}))}function UR(n,e,t,i){return Yg("createIfNotExists",t),FA(n,e,t,"createIfNotExists",i)}function NR(n,e,t,i){return Yg("createOrReplace",t),FA(n,e,t,"createOrReplace",i)}function kR(n,e,t,i){return qd(n,e,"mutate",{mutations:[{delete:IR(t)}]},i)}function zR(n,e,t,i){let r;t instanceof Hl||t instanceof wu?r={patch:t.serialize()}:t instanceof $g||t instanceof Kg?r=t.serialize():r=t;const s=Array.isArray(r)?r:[r],o=i&&i.transactionId||void 0;return qd(n,e,"mutate",{mutations:s,transactionId:o},i)}function HR(n,e,t,i){const r=Array.isArray(t)?t:[t],s=i&&i.transactionId||void 0,o=i&&i.skipCrossDatasetReferenceValidation||void 0,a=i&&i.dryRun||void 0;return qd(n,e,"actions",{actions:r,transactionId:s,skipCrossDatasetReferenceValidation:o,dryRun:a},i)}function qd(n,e,t,i,r={}){const s=t==="mutate",o=t==="actions",a=t==="query",l=s||o?"":DR(i),c=!s&&!o&&l.length<aae,u=c?l:"",f=r.returnFirst,{timeout:h,token:p,tag:m,headers:v,returnQuery:A,lastLiveEventId:y,cacheMode:x}=r,b=Fu(n,t,u),_={method:c?"GET":"POST",uri:b,json:!0,body:c?void 0:i,query:s&&rae(r),timeout:h,headers:v,token:p,tag:m,returnQuery:A,perspective:r.perspective,resultSourceMap:r.resultSourceMap,lastLiveEventId:Array.isArray(y)?y[0]:y,cacheMode:x,canUseCdn:a,signal:r.signal,fetch:r.fetch,useAbortSignal:r.useAbortSignal,useCdn:r.useCdn};return Dp(n,e,_).pipe(Wd(I4),ns(sae),ns(T=>{if(!s)return T;const M=T.results||[];if(r.returnDocuments)return f?M[0]&&M[0].document:M.map(w=>w.document);const I=f?"documentId":"documentIds",R=f?M[0]&&M[0].id:M.map(w=>w.id);return{transactionId:T.transactionId,results:M,[I]:R}}))}function FA(n,e,t,i,r={}){const s={[i]:t},o=Object.assign({returnFirst:!0,returnDocuments:!0},r);return qd(n,e,"mutate",{mutations:[s]},o)}function Dp(n,e,t){const i=t.url||t.uri,r=n.config(),s=typeof t.canUseCdn>"u"?["GET","HEAD"].indexOf(t.method||"GET")>=0&&i.indexOf("/data/")===0:t.canUseCdn;let o=(t.useCdn??r.useCdn)&&s;const a=t.tag&&r.requestTagPrefix?[r.requestTagPrefix,t.tag].join("."):t.tag||r.requestTagPrefix;if(a&&t.tag!==null&&(t.query={tag:wR(a),...t.query}),["GET","HEAD","POST"].indexOf(t.method||"GET")>=0&&i.indexOf("/data/query/")===0){const u=t.resultSourceMap??r.resultSourceMap;u!==void 0&&u!==!1&&(t.query={resultSourceMap:u,...t.query});const f=t.perspective||r.perspective;typeof f<"u"&&(f==="previewDrafts"&&zoe(),SR(f),t.query={perspective:Array.isArray(f)?f.join(","):f,...t.query},(Array.isArray(f)&&f.length>0||f==="previewDrafts"||f==="drafts")&&o&&(o=!1,koe())),t.lastLiveEventId&&(t.query={...t.query,lastLiveEventId:t.lastLiveEventId}),t.returnQuery===!1&&(t.query={returnQuery:"false",...t.query}),o&&t.cacheMode=="noStale"&&(t.query={cacheMode:"noStale",...t.query})}const l=nae(r,Object.assign({},t,{url:P4(n,i,o)})),c=new gi(u=>e(l,r.requester).subscribe(u));return t.signal?c.pipe(lae(t.signal)):c}function Bo(n,e,t){return Dp(n,e,t).pipe(Wd(i=>i.type==="response"),ns(i=>i.body))}function Fu(n,e,t){const i=n.config(),r=CR(i),s=`/${e}/${r}`;return`/data${t?`${s}/${t}`:s}`.replace(/\/($|\?)/,"$1")}
4503function P4(n,e,t=!1){const{url:i,cdnUrl:r}=n.config();return`${t?r:i}/${e.replace(/^\//,"")}`}function lae(n){return e=>new gi(t=>{const i=()=>t.error(uae(n));if(n&&n.aborted){i();return}const r=e.subscribe(t);return n.addEventListener("abort",i),()=>{n.removeEventListener("abort",i),r.unsubscribe()}})}const cae=!!globalThis.DOMException;function uae(n){if(cae)return new DOMException((n==null?void 0:n.reason)??"The operation was aborted.","AbortError");const e=new Error((n==null?void 0:n.reason)??"The operation was aborted.");return e.name="AbortError",e}var fp,dp;class fae{constructor(e,t){sn(this,fp);sn(this,dp);tn(this,fp,e),tn(this,dp,t)}upload(e,t,i){return VR(Ne(this,fp),Ne(this,dp),e,t,i)}}fp=new WeakMap,dp=new WeakMap;var hp,pp;class dae{constructor(e,t){sn(this,hp);sn(this,pp);tn(this,hp,e),tn(this,pp,t)}upload(e,t,i){const r=VR(Ne(this,hp),Ne(this,pp),e,t,i);return Ui(r.pipe(Wd(s=>s.type==="response"),ns(s=>s.body.document)))}}hp=new WeakMap,pp=new WeakMap;function VR(n,e,t,i,r={}){Loe(t);let s=r.extract||void 0;s&&!s.length&&(s=["none"]);const o=CR(n.config()),a=t==="image"?"images":"files",l=hae(r,i),{tag:c,label:u,title:f,description:h,creditLine:p,filename:m,source:v}=l,A={label:u,title:f,description:h,filename:m,meta:s,creditLine:p};return v&&(A.sourceId=v.id,A.sourceName=v.name,A.sourceUrl=v.url),Dp(n,e,{tag:c,method:"POST",timeout:l.timeout||0,uri:`/assets/${a}/${o}`,headers:l.contentType?{"Content-Type":l.contentType}:{},query:A,body:i})}function hae(n,e){return typeof File>"u"||!(e instanceof File)?n:Object.assign({filename:n.preserveFilename===!1?void 0:e.name,contentType:e.type},n)}var pae=(n,e)=>Object.keys(e).concat(Object.keys(n)).reduce((t,i)=>(t[i]=typeof n[i]>"u"?e[i]:n[i],t),{});const mae=(n,e)=>e.reduce((t,i)=>(typeof n[i]>"u"||(t[i]=n[i]),t),{}),GR=mR(()=>Sr(()=>import("./C-HDW_z-.js").then(n=>n.b),[],import.meta.url)).pipe(ns(({default:n})=>n),doe(1));function QR(){return function(n){return n.pipe(E4((e,t)=>e instanceof TR?pR(OA({type:"reconnect"}),aoe(1e3).pipe(Bp(()=>t))):dR(()=>e)))}}const gae=14800,Aae=["includePreviousRevision","includeResult","includeMutations","includeAllVersions","visibility","effectFormat","tag"],vae={includeResult:!0};function WR(n,e,t={}){const{url:i,token:r,withCredentials:s,requestTagPrefix:o}=this.config(),a=t.tag&&o?[o,t.tag].join("."):t.tag,l={...pae(t,vae),tag:a},c=mae(l,Aae),u=DR({query:n,params:e,options:{tag:a,...c}}),f=`${i}${Fu(this,"listen",u)}`;if(f.length>gae)return dR(()=>new Error("Query too large for listener"));const h=l.events?l.events:["mutation"],p={};return(r||s)&&(p.withCredentials=!0),r&&(p.headers={Authorization:`Bearer ${r}`}),MR(()=>(typeof EventSource>"u"||p.headers?GR:OA(EventSource)).pipe(ns(m=>new m(f,p))),h).pipe(QR(),Wd(m=>h.includes(m.type)),ns(m=>({type:m.type,..."data"in m?m.data:{}})))}function yae(n,e){return _ae(typeof n=="function"?{predicate:n,...e}:n)}function _ae(n){return e=>{let t,i=!1;const{predicate:r,...s}=n,o=e.pipe(hoe(l=>{n.predicate(l)&&(i=!0,t=l)}),AR(()=>{i=!1,t=void 0}),vR(s)),a=new gi(l=>{i&&l.next(t),l.complete()});return loe(o,a)}}const vE="2021-03-25";var cu;class jR{constructor(e){sn(this,cu);tn(this,cu,e)}events({includeDrafts:e=!1,tag:t}={}){const{projectId:i,apiVersion:r,token:s,withCredentials:o,requestTagPrefix:a}=Ne(this,cu).config(),l=r.replace(/^v/,"");if(l!=="X"&&l<vE)throw new Error(`The live events API requires API version ${vE} or later. The current API version is ${l}. Please update your API version to use this feature.`);if(e&&!s&&!o)throw new Error("The live events API requires a token or withCredentials when 'includeDrafts: true'. Please update your client configuration. The token should have the lowest possible access role.");const c=Fu(Ne(this,cu),"live/events"),u=new URL(Ne(this,cu).getUrl(c,!1)),f=t&&a?[a,t].join("."):t;f&&u.searchParams.set("tag",f),e&&u.searchParams.set("includeDrafts","true");const h={};e&&s&&(h.headers={Authorization:`Bearer ${s}`}),e&&o&&(h.withCredentials=!0);const p=`${u.href}::${JSON.stringify(h)}`,m=ry.get(p);if(m)return m;const v=MR(()=>(typeof EventSource>"u"||h.headers?GR:OA(EventSource)).pipe(ns(x=>new x(u.href,h))),["message","restart","welcome","reconnect"]).pipe(QR(),ns(x=>{if(x.type==="message"){const{data:b,..._}=x;return{..._,tags:b.tags}}return x})),A=bae(u,{method:"OPTIONS",mode:"cors",credentials:h.withCredentials?"include":"omit",headers:h.headers}).pipe(Bp(()=>ZP),E4(()=>{throw new Moe({projectId:i})})),y=pR(A,v).pipe(AR(()=>ry.delete(p)),yae({predicate:x=>x.type==="welcome"}));return ry.set(p,y),y}}cu=new WeakMap;function bae(n,e){return new gi(t=>{const i=new AbortController,r=i.signal;return fetch(n,{...e,signal:i.signal}).then(s=>{t.next(s),t.complete()},s=>{r.aborted||t.error(s)}),()=>i.abort()})}const ry=new Map;var Ml,Il;class xae{constructor(e,t){sn(this,Ml);sn(this,Il);tn(this,Ml,e),tn(this,Il,t)}create(e,t){return sd(Ne(this,Ml),Ne(this,Il),"PUT",e,t)}edit(e,t){return sd(Ne(this,Ml),Ne(this,Il),"PATCH",e,t)}delete(e){return sd(Ne(this,Ml),Ne(this,Il),"DELETE",e)}list(){return Bo(Ne(this,Ml),Ne(this,Il),{uri:"/datasets",tag:null})}}Ml=new WeakMap,Il=new WeakMap;var Pl,Rl;class Cae{constructor(e,t){sn(this,Pl);sn(this,Rl);tn(this,Pl,e),tn(this,Rl,t)}create(e,t){return Ui(sd(Ne(this,Pl),Ne(this,Rl),"PUT",e,t))}edit(e,t){return Ui(sd(Ne(this,Pl),Ne(this,Rl),"PATCH",e,t))}delete(e){return Ui(sd(Ne(this,Pl),Ne(this,Rl),"DELETE",e))}list(){return Ui(Bo(Ne(this,Pl),Ne(this,Rl),{uri:"/datasets",tag:null}))}}Pl=new WeakMap,Rl=new WeakMap;function sd(n,e,t,i,r){return bR(i),Bo(n,e,{method:t,uri:`/datasets/${i}`,body:r,tag:null})}var ad,ld;class wae{constructor(e,t){sn(this,ad);sn(this,ld);tn(this,ad,e),tn(this,ld,t)}list(e){const t=(e==null?void 0:e.includeMembers)===!1?"/projects?includeMembers=false":"/projects";return Bo(Ne(this,ad),Ne(this,ld),{uri:t})}getById(e){return Bo(Ne(this,ad),Ne(this,ld),{uri:`/projects/${e}`})}}ad=new WeakMap,ld=new WeakMap;var cd,ud;class Sae{constructor(e,t){sn(this,cd);sn(this,ud);
4503tn(this,cd,e),tn(this,ud,t)}list(e){const t=(e==null?void 0:e.includeMembers)===!1?"/projects?includeMembers=false":"/projects";return Ui(Bo(Ne(this,cd),Ne(this,ud),{uri:t}))}getById(e){return Ui(Bo(Ne(this,cd),Ne(this,ud),{uri:`/projects/${e}`}))}}cd=new WeakMap,ud=new WeakMap;var mp,gp;class Eae{constructor(e,t){sn(this,mp);sn(this,gp);tn(this,mp,e),tn(this,gp,t)}getById(e){return Bo(Ne(this,mp),Ne(this,gp),{uri:`/users/${e}`})}}mp=new WeakMap,gp=new WeakMap;var Ap,vp;class Tae{constructor(e,t){sn(this,Ap);sn(this,vp);tn(this,Ap,e),tn(this,vp,t)}getById(e){return Ui(Bo(Ne(this,Ap),Ne(this,vp),{uri:`/users/${e}`}))}}Ap=new WeakMap,vp=new WeakMap;var Pa,Ei;const Zg=class Zg{constructor(e,t=I0){he(this,"assets");he(this,"datasets");he(this,"live");he(this,"projects");he(this,"users");sn(this,Pa);sn(this,Ei);he(this,"listen",WR);this.config(t),tn(this,Ei,e),this.assets=new fae(this,Ne(this,Ei)),this.datasets=new xae(this,Ne(this,Ei)),this.live=new jR(this),this.projects=new wae(this,Ne(this,Ei)),this.users=new Eae(this,Ne(this,Ei))}clone(){return new Zg(Ne(this,Ei),this.config())}config(e){if(e===void 0)return{...Ne(this,Pa)};if(Ne(this,Pa)&&Ne(this,Pa).allowReconfigure===!1)throw new Error("Existing client instance cannot be reconfigured - use `withConfig(newConfig)` to return a new client");return tn(this,Pa,ER(e,Ne(this,Pa)||{})),this}withConfig(e){const t=this.config();return new Zg(Ne(this,Ei),{...t,...e,stega:{...t.stega||{},...typeof(e==null?void 0:e.stega)=="boolean"?{enabled:e.stega}:(e==null?void 0:e.stega)||{}}})}fetch(e,t,i){return LR(this,Ne(this,Ei),Ne(this,Pa).stega,e,t,i)}getDocument(e,t){return OR(this,Ne(this,Ei),e,t)}getDocuments(e,t){return FR(this,Ne(this,Ei),e,t)}create(e,t){return FA(this,Ne(this,Ei),e,"create",t)}createIfNotExists(e,t){return UR(this,Ne(this,Ei),e,t)}createOrReplace(e,t){return NR(this,Ne(this,Ei),e,t)}delete(e,t){return kR(this,Ne(this,Ei),e,t)}mutate(e,t){return zR(this,Ne(this,Ei),e,t)}patch(e,t){return new wu(e,t,this)}transaction(e){return new Kg(e,this)}action(e,t){return HR(this,Ne(this,Ei),e,t)}request(e){return Bo(this,Ne(this,Ei),e)}getUrl(e,t){return P4(this,e,t)}getDataUrl(e,t){return Fu(this,e,t)}};Pa=new WeakMap,Ei=new WeakMap;let Nb=Zg;var Ra,_i;const Jg=class Jg{constructor(e,t=I0){he(this,"assets");he(this,"datasets");he(this,"live");he(this,"projects");he(this,"users");he(this,"observable");sn(this,Ra);sn(this,_i);he(this,"listen",WR);this.config(t),tn(this,_i,e),this.assets=new dae(this,Ne(this,_i)),this.datasets=new Cae(this,Ne(this,_i)),this.live=new jR(this),this.projects=new Sae(this,Ne(this,_i)),this.users=new Tae(this,Ne(this,_i)),this.observable=new Nb(e,t)}clone(){return new Jg(Ne(this,_i),this.config())}config(e){if(e===void 0)return{...Ne(this,Ra)};if(Ne(this,Ra)&&Ne(this,Ra).allowReconfigure===!1)throw new Error("Existing client instance cannot be reconfigured - use `withConfig(newConfig)` to return a new client");return this.observable&&this.observable.config(e),tn(this,Ra,ER(e,Ne(this,Ra)||{})),this}withConfig(e){const t=this.config();return new Jg(Ne(this,_i),{...t,...e,stega:{...t.stega||{},...typeof(e==null?void 0:e.stega)=="boolean"?{enabled:e.stega}:(e==null?void 0:e.stega)||{}}})}fetch(e,t,i){return Ui(LR(this,Ne(this,_i),Ne(this,Ra).stega,e,t,i))}getDocument(e,t){return Ui(OR(this,Ne(this,_i),e,t))}getDocuments(e,t){return Ui(FR(this,Ne(this,_i),e,t))}create(e,t){return Ui(FA(this,Ne(this,_i),e,"create",t))}createIfNotExists(e,t){return Ui(UR(this,Ne(this,_i),e,t))}createOrReplace(e,t){return Ui(NR(this,Ne(this,_i),e,t))}delete(e,t){return Ui(kR(this,Ne(this,_i),e,t))}mutate(e,t){return Ui(zR(this,Ne(this,_i),e,t))}patch(e,t){return new Hl(e,t,this)}transaction(e){return new $g(e,this)}action(e,t){return Ui(HR(this,Ne(this,_i),e,t))}request(e){return Ui(Bo(this,Ne(this,_i),e))}dataRequest(e,t,i){return Ui(qd(this,Ne(this,_i),e,t,i))}getUrl(e,t){return P4(this,e,t)}getDataUrl(e,t){return Fu(this,e,t)}};Ra=new WeakMap,_i=new WeakMap;let kb=Jg;function Mae(n,e){return{requester:hE(n),createClient:t=>{const i=hE(n);return new e((r,s)=>(s||i)({maxRedirects:0,maxRetries:t.maxRetries,retryDelay:t.retryDelay,...r}),t)}}}var Iae=[];
4503const Pae=Mae(Iae,kb),yE=Pae.createClient,_E=n=>{const e={...n};let t=yE(e);return{client:t,config:e,fetch:(...i)=>t.fetch(...i),setToken(i){e.token=i,t=yE(e)}}},Rae=(n="default")=>{var s;const e=Tn();if((s=e._sanity)!=null&&s[n])return e._sanity[n];e._sanity=e._sanity||{};const t=Bu(),{additionalClients:i={},...r}=t.public.sanity;return!r.disableSmartCdn&&e.$preview?r.useCdn=!1:!r.useCdn&&!r.token&&(r.useCdn=!0),n==="default"?(e._sanity.default=_E(r),e._sanity.default):(e._sanity[n]=_E(hA(i[n],r)),e._sanity[n])},qR=(n,e,t={})=>{const{client:i,...r}=t,s=Rae(i);return uY("sanity-"+BY(n+""),()=>s.fetch(n,{}),r)};function bE(n,e=document){return e.querySelector(n)}function zb(n,e=document){return Array.prototype.slice.call(e.querySelectorAll(n))}function Bae(n){const e=[4,16,64,256,1024,2048,4096,8192,16384,32768,65536,131072,262144],t=e.reduce((i,r)=>Math.abs(r-n)<Math.abs(i-n)?r:i);return t<n?Math.sqrt(e[e.indexOf(t)+1]):Math.sqrt(t)}function An(...n){const e=t=>t&&typeof t=="object";return n.reduce((t,i)=>(Object.keys(i).forEac
4503h(r=>{const s=t[r],o=i[r];Array.isArray(s)&&Array.isArray(o)?t[r]=s.concat(...o):e(s)&&e(o)&&r!=="value"?t[r]=An(s,o):t[r]=o}),t),{})}function jn(n){return n.replace(/#define\sGLSLIFY\s./,"")}const Dae={class:"fixed container flex justify-between max-w-full top-0 mt-12 md:pt-24 z-20 js-header"},Lae={class:"w-[18px] h-[14px] md:w-[18px] md:h-[14px]",viewBox:"0 0 18 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Oae={class:"whitespace-nowrap text-18 sm:text-12 md:text-18 font-500 leading-1.2"},Fae={class:"sr-only"},Uae={"aria-hidden":"true",class:"mr-16 font-mono font-500 text-14 sm:text-10 md:text-14 leading-1 uppercase"},Nae={"aria-hidden":"true",class:"overflow-hidden js-to-split flex gap-4"},kae={class:"pt-32 md:pt-48 flex gap-x-24 sm:gap-x-16 md:gap-x-24"},zae=vs({__name:"Navigation",props:{footerLinks:{}},async setup(n){var w,E,F,L,z;let e,t;const{data:i}=([e,t]=f7(()=>qR(Kre)),e=await e,t(),e),r=gt(),s=gt(),o=gt(),a=gt(),l=gt(),c=gt(),u=gt(),f=gt();let h=null;const{scrollTo:p}=wA(),m=mA();let v=[],A=[];const y=[],x=[[((w=i.value)==null?void 0:w.computingTitle)||"Computation & Intelligence","computing"],[((E=i.value)==null?void 0:E.engineeringTitle)||"Engineering, Aerospace & Defense ","engineering"],[((F=i.value)==null?void 0:F.biologyTitle)||"Biology & Chemistry","biology"],[((L=i.value)==null?void 0:L.cryptoTitle)||"Crypto","crypto"],[((z=i.value)==null?void 0:z.teamTitle)||"Who We Are","team"]];ai(()=>m.path,()=>{var V;(V=f.value)==null||V.closeDisclosure()});const b=V=>V?(V.style.clipPath="inset(0 0 100% 100%)",new Promise(j=>{h||(h=vo.timeline({paused:!0,defaults:{ease:"joe.out",duration:.5}}).to([r.value,o.value],{opacity:0,duration:.2}).to(l.value,{rotate:45,transformOrigin:"center"},0).to(s.value,{rotate:-45,scaleX:.55,xPercent:-20,transformOrigin:"right"},0).to(a.value,{rotate:-45,scaleX:.55,xPercent:20},0)),u.value.classList.add("is-active");const N=vo.timeline({onComplete:j}).to(V,{clipPath:"inset(0 0 0 0)",modifiers:{clipPath:Q=>{const W=Q.match(/[\d.]+/g);return W?`inset(${W[0]}% ${W[1]}% ${W[2]}% ${W[3]}%)`:Q}},ease:"joe.out",duration:.4}).fromTo(".js-navborder",{xPercent:-50},{stagger:.03,xPercent:0,duration:.4,ease:"joe.out"},.1);y.forEach((Q,W)=>{N.from(Q.words,{yPercent:101,stagger:.04,duration:.5,ease:"joe.out"},W*.04)}),h.play()})):Promise.resolve(),_=V=>new Promise(j=>{h&&(u.value.classList.remove("is-active"),h.reverse(),vo.to(V,{clipPath:"inset(0 0 100% 100%)",modifiers:{clipPath:N=>{const Q=N.match(/[\d.]+/g);return Q?`inset(${Q[0]}% ${Q[1]}% ${Q[2]}% ${Q[3]}%)`:N}},ease:"joe.inOut",duration:.4}).then(()=>{j()}))}),T=async V=>{var j;m.path==="/"&&(p(`[data-section="${V}"]`,{duration:2,offset:S.window.h*.15}),(j=f.value)==null||j.closeDisclosure())},M=V=>{A.forEach((j,N)=>{N!==V&&j.classList.add("opacity-50")})},I=()=>{A.forEach(V=>{V.classList.remove("opacity-50")})},R=()=>{m.path==="/"&&p("top",{duration:2})};return zs(async()=>{await Ja(),v=zb(".js-to-split"),A=zb(".js-navlink"),v.forEach(V=>{y.push(new X0(V,{type:"words"}))})}),tl(()=>{y.forEach(V=>V.revert())}),(V,j)=>{const N=SI,Q=Nre,W=Hre;return di(),Na("div",Dae,[dn(N,{to:"/",onClick:R},{default:Ua(()=>[j[0]||(j[0]=ei("span",{class:"sr-only"},"Back to home page",-1)),dn(qt(Yre),{class:"w-[48px] h-[32px] sm:w-32 sm:h-24 md:w-[64px] md:h-[42px]"})]),_:1}),ei("nav",{ref_key:"nav",ref:u,class:"relative group"},[ei("button",{ref_key:"toggleButton",ref:c,class:"relative z-10 bg-white w-[40px] h-[40px] sm:w-[48px] sm:h-[48px] flex items-center justify-center text-black transition-colors duration-300 hover:text-white hover:bg-hover group-[.is-active]:bg-white group-[.is-active]:text-black"},[j[1]||(j[1]=ei("span",{class:"sr-only"},"Site navigation",-1)),(di(),Na("svg",Lae,[ei("path",{ref_key:"center",ref:l,d:"M1 7H17",stroke:"currentColor","stroke-opacity":"0.8","stroke-width":"2","stroke-linecap":"square"},null,512),ei("path",{ref_key:"topRight",ref:s,d:"M7 1L17 1",stroke:"currentColor","stroke-opacity":"0.8","stroke-width":"2","stroke-linecap":"square"},null,512),ei("path",{ref_key:"topLeft",ref:r,d:"M1 1H3",stroke:"currentColor","stroke-opacity":"0.8","stroke-width":"2","stroke-linecap":"square"},null,512),ei("path",{ref_key:"bottomRight",ref:o,d:"M15 13L17 13",stroke:"currentColor","stroke-opacity":"0.8","stroke-width":"2","stroke-linecap":"square"}
4503,null,512),ei("path",{ref_key:"bottomLeft",ref:a,d:"M1 13L11 13",stroke:"currentColor","stroke-opacity":"0.8","stroke-width":"2","stroke-linecap":"square"},null,512)]))],512),dn(W,{ref_key:"disclosure",ref:f,"button-ref":qt(c),"is-dropdown":!0,class:"dropdown | bg-hover group-[.is-active]:bg-white transition-colors duration-300 absolute right-0 top-0 px-12 pb-16 md:p-24 pt-60 sm:pt-40 md:pt-60","handle-open":b,"handle-close":_},{default:Ua(()=>[ei("ul",Oae,[(di(),Na(Ii,null,V5(x,(ee,H)=>ei("li",{key:H,class:"py-10 sm:py-6 md:py-10 sm:pr-12 md:pr-60 relative overflow-hidden"},[dn(N,{href:`/#section-${H}`,class:bp(["group/li inline-flex items-baseline transition-opacity duration-300 ease-joe.inOut","js-navlink",`gradient-${ee[1]}`]),onClick:ye=>T(H),onMouseover:ye=>M(H),onMouseleave:I},{default:Ua(()=>[ei("span",Fae,Pf(ee[0]),1),ei("span",Uae,"0"+Pf(H+1),1),ei("span",Nae,Pf(ee[0].replace(" "," ")),1),j[2]||(j[2]=ei("div",{class:"absolute w-full border-b bottom-0 left-0 border-black/10 js-navborder"},null,-1)),j[3]||(j[3]=ei("div",{class:"group-hover/li:translate-x-0 | absolute w-full bottom-0 left-0 -translate-x-[101%] h-[1px] transform-translate duration-300 ease-joe.inOut overflow-hidden"},[ei("div",{class:"group-hover/li:translate-x-0 | dropdown__line | translate-x-[101%] transform-translate duration-300 ease-joe.inOut h-[1px]"})],-1))]),_:2},1032,["href","class","onClick","onMouseover"])])),64))]),ei("div",kae,[(di(!0),Na(Ii,null,V5(V.footerLinks,(ee,H)=>(di(),Ks(Q,{key:H,href:ee.url,class:"font-mono text-14 sm:text-10 md:text-14 font-500 leading-1 uppercase","aria-label":ee.title},{default:Ua(()=>[ox(Pf(ee.title),1)]),_:2},1032,["href","aria-label"]))),128))])]),_:1},8,["button-ref"])],512)])}}}),Hae=A4(zae,[["__scopeId","data-v-9fe13e67"]]),Vae=vs({props:{vnode:{type:Object,required:!0},route:{type:Object,required:!0},vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(n){const e=n.renderKey,t=n.route,i={};for(const r in n.route)Object.defineProperty(i,r,{get:()=>e===n.renderKey?n.route[r]:t[r],enumerable:!0});return Va(pA,Fa(i)),()=>Mr(n.vnode,{ref:n.vnodeRef})}}),Gae=vs({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(n,{attrs:e,slots:t,expose:i}){const r=Tn(),s=gt(),o=es(pA,null);let a;i({pageRef:s});const l=es(eQ,null);let c;const u=r.deferHydration();if(r.isHydrating){const h=r.hooks.hookOnce("app:error",u);As().beforeEach(h)}n.pageKey&&ai(()=>n.pageKey,(h,p)=>{h!==p&&r.callHook("page:loading:start")});let f=!1;return()=>Mr(VT,{name:n.name,route:n.route,...e},{default:h=>{const p=Wae(o,h.route,h.Component),m=o&&o.matched.length===h.route.matched.length;if(!h.Component){if(c&&!m)return c;u();return}if(c&&l&&!l.isCurrent(h.route))return c;if(p&&o&&(!l||l!=null&&l.isCurrent(o)))return m?c:null;const v=v_(h,n.pageKey);!r.isHydrating&&!jae(o,h.route,h.Component)&&a===v&&(r.callHook("page:loading:end"),f=!0),a=v;const A=!!(n.transition??h.route.meta.pageTransition??r_),y=A&&Qae([n.transition,h.route.meta.pageTransition,r_,{onAfterLeave:()=>{r.callHook("page:transition:finish",h.Component)}}].filter(Boolean)),x=n.keepalive??h.route.meta.keepalive??UG;return c=_j(A&&y,yj(x,Mr(R7,{suspensible:!0,onPending:()=>r.callHook("page:start",h.Component),onResolve:()=>{Ja(()=>r.callHook("page:finish",h.Component).then(()=>{if(!f)return r.callHook("page:loading:end");f=!1}).finally(u))}},{default:()=>{const b=Mr(Vae,{key:v||void 0,vnode:t.default?Mr(Ii,void 0,t.default(h)):h.Component,route:h.route,renderKey:v||void 0,trackRootNodes:A,vnodeRef:s});return x&&(b.type.name=h.Component.type.name||h.Component.type.__name||"RouteProvider"),b}}))).default(),c}})}});function Qae(n){const e=n.map(t=>({...t,onAfterLeave:t.onAfterLeave?mx(t.onAfterLeave):void 0}));return hA(...e)}function Wae(n,e,t){if(!n)return!1;const i=e.matched.findIndex(r=>{var s;return((s=r.components)==null?void 0:s.default)===(t==null?void 0:t.type)});return!i||i===-1?!1:e.matched.slice(0,i).some((r,s)=>{var o,a,l;return((o=r.components)==null?void 0:o.default)!==((l=(a=n.matched[s])==null?void 0:a.components)==null?void 0:l.default)})||t&&v_({route:e,Component:t})!==v_({route:n,Component:t})}function jae(n,e,t){return n?e.matched.findIndex(r=>{var s;return((s=r.components)==null?void 0:s.default)===(t==null?void 0:t.type)})<e.matched.length-1:!1}var qae="1.2.3";function XR(n,e,t){return Math.max(n,Math.min(e,t))}function Xae(n,e,t){return(1-t)*n+t*e}function Yae(n,e,t,i){return Xae(n,e,1-Math.exp(-t*i))}function $ae(n,e){return(n%e+e)%e}var Kae=class{constructor(){he(this,"isRunning",!1);he(this,"value",0);he(this,"from",0);he(this,"to",0);he(this,"currentTime",0);he(this,"lerp");he(this,"duration");he(this,"easing");he(this,"onUpdate")}advance(n){var t;if(!this.isRunning)return;let e=!1;if(this.duration&&this.easing){this.currentTime+=n;const i=XR(0,this.currentTime/this.duration,1);e=i>=1;const r=e?1:this.easing(i);this.value=this.from+(this.to-this.from)*r}else this.lerp?(this.value=Yae(this.value,this.to,this.lerp*60,n),Math.round(this.value)===this.to&&(this.value=this.to,e=!0)):(this.value=this.to,e=!0);e&&this.stop(),(t=this.onUpdate)==null||t.call(this,this.value,e)}stop(){this.isRunning=!1}fromTo(n,e,{lerp:t,duration:i,easing:r,onStart:s,onUpdate:o}){this.from=this.value=n,this.to=e,this.lerp=t,this.duration=i,this.easing=r,this.currentTime=0,this.isRunning=!0,s==null||s(),this.onUpdate=o}};function Zae(n,e){let t;return function(...i){let r=this;clearTimeout(t),t=setTimeout(()=>{t=void 0,n.apply(r,i)},e)}}var Jae=class{constructor(n,e,{autoResize:t=!0,debounce:i=250}={}){he(this,"width",0);he(this,"height",0);he(this,"scrollHeight",0);he(this,"scrollWidth",0);he(this,"debouncedResize");he(this,"wrapperResizeObserver");he(this,"contentResizeObserver");he(this,"resize",()=>{this.onWrapperResize(),this.onContentResize()});he(this,"onWrapperResize",()=>{this.wrapper instanceof Window?(this.width=window.innerWidth,this.height=window.innerHeight):(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight)});he(this,"onContentResize",()=>{this.wrapper instanceof Window?(this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth):(this.scrollHeight=this.wrapper.scrollHeight,this.scrollWidth=this.wrapper.scrollWidth)});this.wrapper=n,this.content=e,t&&(this.debouncedResize=Zae(this.resize,i),this.wrapper instanceof Window?window.addEventListener("resize",this.debouncedResize,!1):(this.wrapperResizeObserver=new ResizeObserver(this.debouncedResize),this.wrapperResizeObserver.observe(this.wrapper)),this.contentResizeObserver=new ResizeObserver(this.debouncedResize),this.contentResizeObserver.observe(this.content)),this.resize()}destroy(){var n,e;(n=this.wrapperResizeObserver)==null||n.disconnect(),(e=this.contentResizeObserver)==null||e.disconnect(),this.wrapper===window&&this.debouncedResize&&window.removeEventListener("resize",this.debouncedResize,!1)}get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}},YR=class{constructor(){he(this,"events",{})}emit(n,...e){var i;let t=this.events[n]||[];for(let r=0,s=t.length;r<s;r++)(i=t[r])==null||i.call(t,...e)}on(n,e){var t;return(t=this.events[n])!=null&&t.push(e)||(this.events[n]=[e]),()=>{var i;this.events[n]=(i=this.events[n])==null?void 0:i.filter(r=>e!==r)}}off(n,e){var t;this.events[n]=(t=this.events[n])==null?void 0:t.filter(i=>e!==i)}destroy(){this.events={}}},xE=100/6,Al={passive:!1},ele=class{constructor(n,e={wheelMultiplier:1,touchMultiplier:1}){he(this,"touchStart",{x:0,y:0});he(this,"lastDelta",{x:0,y:0});he(this,"window",{width:0,height:0});he(this,"emitter",new YR);he(this,"onTouchStart",n=>{const{clientX:e,clientY:t}=n.targetTouches?n.targetTouches[0]:n;this.touchStart.x=e,this.touchStart.y=t,this.lastDelta={x:0,y:0},this.emitter.emit("scroll",{deltaX:0,deltaY:0,event:n})});he(this,"onTouchMove",n=>{const{clientX:e,clientY:t}=n.targetTouches?n.targetTouches[0]:n,i=-(e-this.touchStart.x)*this.options.touchMultiplier,r=-(t-this.touchStart.y)*this.options.touchMultiplier;this.touchStart.x=e,this.touchStart.y=t,this.lastDelta={x:i,y:r},this.emitter.emit("scroll",{deltaX:i,deltaY:r,event:n})});he(this,"onTouchEnd",n=>{this.emitter.emit("scroll",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:n})});he(this,"onWheel",n=>{let{deltaX:e,deltaY:t,deltaMode:i}=n;const r=i===1?xE:i===2?this.window.width:1,s=i===1?xE:i===2?this.window.height:1;e*=r,t*=s,e*=this.options.wheelMultiplier,t*=this.options.wheelMultiplier,this.emitter.emit("scroll",{deltaX:e,deltaY:t,event:n})});he(this,"onWindowResize",()=>{this.window={width:window.innerWidth,height:window.innerHeight}});this.element=n,this.options=e,window.addEventListener("resize",this.onWindowResize,!1),this.onWindowResize(),this.element.addEventListener("wheel",this.onWheel,Al),this.element.addEventListener("touchstart",this.onTouchStart,Al),this.element.addEventListener("touchmove",this.onTouchMove,Al),this.element.addEventListener("touchend",this.onTouchEnd,Al)}on(n,e){return this.emitter.on(n,e)}destroy(){this.emitter.destroy(),window.removeEventListener("resize",this.onWindowResize,!1),this.element.removeEventListener("wheel",this.onWheel,Al),this.element.removeEventListener("touchstart",this.onTouchStart,Al),this.element.removeEventListener("touchmove",this.onTouchMove,Al),this.element.removeEventListener("touchend",this.onTouchEnd,Al)}},tle=class{constructor({wrapper:n=window,content:e=document.documentElement,eventsTarget:t=n,smoothWheel:i=!0,syncTouch:r=!1,syncTouchLerp:s=.075,touchInertiaMultiplier:o=35,duration:a,easing:l=M=>
4503Math.min(1,1.001-Math.pow(2,-10*M)),lerp:c=.1,infinite:u=!1,orientation:f="vertical",gestureOrientation:h="vertical",touchMultiplier:p=1,wheelMultiplier:m=1,autoResize:v=!0,prevent:A,virtualScroll:y,overscroll:x=!0,autoRaf:b=!1,anchors:_=!1,__experimental__naiveDimensions:T=!1}={}){he(this,"_isScrolling",!1);he(this,"_isStopped",!1);he(this,"_isLocked",!1);he(this,"_preventNextNativeScrollEvent",!1);he(this,"_resetVelocityTimeout",null);he(this,"__rafID",null);he(this,"isTouching");he(this,"time",0);he(this,"userData",{});he(this,"lastVelocity",0);he(this,"velocity",0);he(this,"direction",0);he(this,"options");he(this,"targetScroll");he(this,"animatedScroll");he(this,"animate",new Kae);he(this,"emitter",new YR);he(this,"dimensions");he(this,"virtualScroll");he(this,"onScrollEnd",n=>{n instanceof CustomEvent||(this.isScrolling==="smooth"||this.isScrolling===!1)&&n.stopPropagation()});he(this,"dispatchScrollendEvent",()=>{this.options.wrapper.dispatchEvent(new CustomEvent("scrollend",{bubbles:this.options.wrapper===window,detail:{lenisScrollEnd:!0}}))});he(this,"onClick",n=>{const t=n.composedPath().find(i=>{var r,s,o;return i instanceof HTMLAnchorElement&&(((r=i.getAttribute("href"))==null?void 0:r.startsWith("#"))||((s=i.getAttribute("href"))==null?void 0:s.startsWith("/#"))||((o=i.getAttribute("href"))==null?void 0:o.startsWith("./#")))});if(t){const i=t.getAttribute("href");if(i){const r=typeof this.options.anchors=="object"&&this.options.anchors?this.options.anchors:void 0;this.scrollTo(`#${i.split("#")[1]}`,r)}}});he(this,"onPointerDown",n=>{n.button===1&&this.reset()});he(this,"onVirtualScroll",n=>{if(typeof this.options.virtualScroll=="function"&&this.options.virtualScroll(n)===!1)return;const{deltaX:e,deltaY:t,event:i}=n;if(this.emitter.emit("virtual-scroll",{deltaX:e,deltaY:t,event:i}),i.ctrlKey||i.lenisStopPropagation)return;const r=i.type.includes("touch"),s=i.type.includes("wheel");this.isTouching=i.type==="touchstart"||i.type==="touchmove";const o=e===0&&t===0;if(this.options.syncTouch&&r&&i.type==="touchstart"&&o&&!this.isStopped&&!this.isLocked){this.reset();return}const l=this.options.gestureOrientation==="vertical"&&t===0||this.options.gestureOrientation==="horizontal"&&e===0;if(o||l)return;let c=i.composedPath();c=c.slice(0,c.indexOf(this.rootElement));const u=this.options.prevent;if(c.find(A=>{var y,x,b;return A instanceof HTMLElement&&(typeof u=="function"&&(u==null?void 0:u(A))||((y=A.hasAttribute)==null?void 0:y.call(A,"data-lenis-prevent"))||r&&((x=A.hasAttribute)==null?void 0:x.call(A,"data-lenis-prevent-touch"))||s&&((b=A.hasAttribute)==null?void 0:b.call(A,"data-lenis-prevent-wheel")))}))return;if(this.isStopped||this.isLocked){i.preventDefault();return}if(!(this.options.syncTouch&&r||this.options.smoothWheel&&s)){this.isScrolling="native",this.animate.stop(),i.lenisStopPropagation=!0;return}let h=t;this.options.gestureOrientation==="both"?h=Math.abs(t)>Math.abs(e)?t:e:this.options.gestureOrientation==="horizontal"&&(h=e),(!this.options.overscroll||this.options.infinite||this.options.wrapper!==window&&(this.animatedScroll>0&&this.animatedScroll<this.limit||this.animatedScroll===0&&t>0||this.animatedScroll===this.limit&&t<0))&&(i.lenisStopPropagation=!0),i.preventDefault();const p=r&&this.options.syncTouch,v=r&&i.type==="touchend"&&Math.abs(h)>5;v&&(h=this.velocity*this.options.touchInertiaMultiplier),this.scrollTo(this.targetScroll+h,{programmatic:!1,...p?{lerp:v?this.options.syncTouchLerp:1}:{lerp:this.options.lerp,duration:this.options.duration,easing:this.options.easing}})});he(this,"onNativeScroll",()=>{if(this._resetVelocityTimeout!==null&&(clearTimeout(this._resetVelocityTimeout),this._resetVelocityTimeout=null),this._preventNextNativeScrollEvent){this._preventNextNativeScrollEvent=!1;return}if(this.isScrolling===!1||this.isScrolling==="native"){const n=this.animatedScroll;this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity,this.velocity=this.animatedScroll-n,this.direction=Math.sign(this.animatedScroll-n),this.isStopped||(this.isScrolling="native"),this.emit
4503(),this.velocity!==0&&(this._resetVelocityTimeout=setTimeout(()=>{this.lastVelocity=this.velocity,this.velocity=0,this.isScrolling=!1,this.emit()},400))}});he(this,"raf",n=>{const e=n-(this.time||n);this.time=n,this.animate.advance(e*.001),this.options.autoRaf&&(this.__rafID=requestAnimationFrame(this.raf))});window.lenisVersion=qae,(!n||n===document.documentElement)&&(n=window),this.options={wrapper:n,content:e,eventsTarget:t,smoothWheel:i,syncTouch:r,syncTouchLerp:s,touchInertiaMultiplier:o,duration:a,easing:l,lerp:c,infinite:u,gestureOrientation:h,orientation:f,touchMultiplier:p,wheelMultiplier:m,autoResize:v,prevent:A,virtualScroll:y,overscroll:x,autoRaf:b,anchors:_,__experimental__naiveDimensions:T},this.dimensions=new Jae(n,e,{autoResize:v}),this.updateClassName(),this.targetScroll=this.animatedScroll=this.actualScroll,this.options.wrapper.addEventListener("scroll",this.onNativeScroll,!1),this.options.wrapper.addEventListener("scrollend",this.onScrollEnd,{capture:!0}),this.options.anchors&&this.options.wrapper===window&&this.options.wrapper.addEventListener("click",this.onClick,!1),this.options.wrapper.addEventListener("pointerdown",this.onPointerDown,!1),this.virtualScroll=new ele(t,{touchMultiplier:p,wheelMultiplier:m}),this.virtualScroll.on("scroll",this.onVirtualScroll),this.options.autoRaf&&(this.__rafID=requestAnimationFrame(this.raf))}destroy(){this.emitter.destroy(),this.options.wrapper.removeEventListener("scroll",this.onNativeScroll,!1),this.options.wrapper.removeEventListener("scrollend",this.onScrollEnd,{capture:!0}),this.options.wrapper.removeEventListener("pointerdown",this.onPointerDown,!1),this.options.anchors&&this.options.wrapper===window&&this.options.wrapper.removeEventListener("click",this.onClick,!1),this.virtualScroll.destroy(),this.dimensions.destroy(),this.cleanUpClassName(),this.__rafID&&cancelAnimationFrame(this.__rafID)}on(n,e){return this.emitter.on(n,e)}off(n,e){return this.emitter.off(n,e)}setScroll(n){this.isHorizontal?this.options.wrapper.scrollTo({left:n,behavior:"instant"}):this.options.wrapper.scrollTo({top:n,behavior:"instant"})}resize(){this.dimensions.resize(),this.animatedScroll=this.targetScroll=this.actualScroll,this.emit()}emit(){this.emitter.emit("scroll",this)}reset(){this.isLocked=!1,this.isScrolling=!1,this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity=0,this.animate.stop()}start(){this.isStopped&&(this.reset(),this.isStopped=!1)}stop(){this.isStopped||(this.reset(),this.isStopped=!0)}scrollTo(n,{offset:e=0,immediate:t=!1,lock:i=!1,duration:r=this.options.duration,easing:s=this.options.easing,lerp:o=this.options.lerp,onStart:a,onComplete:l,force:c=!1,programmatic:u=!0,userData:f}={}){if(!((this.isStopped||this.isLocked)&&!c)){if(typeof n=="string"&&["top","left","start"].includes(n))n=0;else if(typeof n=="string"&&["bottom","right","end"].includes(n))n=this.limit;else{let h;if(typeof n=="string"?h=document.querySelector(n):n instanceof HTMLElement&&(n!=null&&n.nodeType)&&(h=n),h){if(this.options.wrapper!==window){const m=this.rootElement.getBoundingClientRect();e-=this.isHorizontal?m.left:m.top}const p=h.getBoundingClientRect();n=(this.isHorizontal?p.left:p.top)+this.animatedScroll}}if(typeof n=="number"){if(n+=e,n=Math.round(n),this.options.infinite?u&&(this.targetScroll=this.animatedScroll=this.scroll):n=XR(0,n,this.limit),n===this.targetScroll){a==null||a(this),l==null||l(this);return}if(this.userData=f??{},t){this.animatedScroll=this.targetScroll=n,this.setScroll(this.scroll),this.reset(),this.preventNextNativeScrollEvent(),this.emit(),l==null||l(this),this.userData={},requestAnimationFrame(()=>{this.dispatchScrollendEvent()});return}u||(this.targetScroll=n),this.animate.fromTo(this.animatedScroll,n,{duration:r,easing:s,lerp:o,onStart:()=>{i&&(this.isLocked=!0),this.isScrolling="smooth",a==null||a(this)},onUpdate:(h,p)=>{this.isScrolling="smooth",this.lastVelocity=this.velocity,this.velocity=h-this.animatedScroll,this.direction=Math.sign(this.velocity),this.animatedScroll=h,this.setScroll(this.scroll),u&&(this.targetScroll=h),p||this.emit
4503(),p&&(this.reset(),this.emit(),l==null||l(this),this.userData={},requestAnimationFrame(()=>{this.dispatchScrollendEvent()}),this.preventNextNativeScrollEvent())}})}}}preventNextNativeScrollEvent(){this._preventNextNativeScrollEvent=!0,requestAnimationFrame(()=>{this._preventNextNativeScrollEvent=!1})}get rootElement(){return this.options.wrapper===window?document.documentElement:this.options.wrapper}get limit(){return this.options.__experimental__naiveDimensions?this.isHorizontal?this.rootElement.scrollWidth-this.rootElement.clientWidth:this.rootElement.scrollHeight-this.rootElement.clientHeight:this.dimensions.limit[this.isHorizontal?"x":"y"]}get isHorizontal(){return this.options.orientation==="horizontal"}get actualScroll(){const n=this.options.wrapper;return this.isHorizontal?n.scrollX??n.scrollLeft:n.scrollY??n.scrollTop}get scroll(){return this.options.infinite?$ae(this.animatedScroll,this.limit):this.animatedScroll}get progress(){return this.limit===0?1:this.scroll/this.limit}get isScrolling(){return this._isScrolling}set isScrolling(n){this._isScrolling!==n&&(this._isScrolling=n,this.updateClassName())}get isStopped(){return this._isStopped}set isStopped(n){this._isStopped!==n&&(this._isStopped=n,this.updateClassName())}get isLocked(){return this._isLocked}set isLocked(n){this._isLocked!==n&&(this._isLocked=n,this.updateClassName())}get isSmooth(){return this.isScrolling==="smooth"}get className(){let n="lenis";return this.isStopped&&(n+=" lenis-stopped"),this.isLocked&&(n+=" lenis-locked"),this.isScrolling&&(n+=" lenis-scrolling"),this.isScrolling==="smooth"&&(n+=" lenis-smooth"),n}updateClassName(){this.cleanUpClassName(),this.rootElement.className=`${this.rootElement.className} ${this.className}`.trim()}cleanUpClassName(){this.rootElement.className=this.rootElement.className.replace(/lenis(-\w+)?/g,"").trim()}},CE=ds(),wE=ds(),SE=ds(),nle=Symbol("LenisContext"),ile=Symbol("AddCallback"),rle=Symbol("RemoveCallback"),sle=vs({name:"VueLenis",props:{root:{type:Boolean,default:!1},autoRaf:{type:Boolean,default:!0},options:{type:Object,default:()=>({})},props:{type:Object,default:()=>({})}},setup(n,{slots:e,expose:t}){const i=ds(),r=gt(),s=gt();t({lenis:i,wrapper:r,content:s}),ai([()=>n.options,r,s],()=>{var f;typeof window<"u"&&(!n.root&&(!r.value||!s.value)||(i.value=new tle({...n.options,...n.root?{}:{wrapper:r.value,content:s.value},autoRaf:((f=n.options)==null?void 0:f.autoRaf)??n.autoRaf}),Hy(()=>{var h;(h=i.value)==null||h.destroy(),i.value=void 0})))},{deep:!0,immediate:!0});const o=so([]);function a(u,f){o.push({callback:u,priority:f}),o.sort((h,p)=>h.priority-p.priority)}function l(u){o.splice(o.findIndex(f=>f.callback===u),1)}const c=u=>{var f;for(let h=0;h<o.length;h++)(f=o[h])==null||f.callback(u)};return ai([i,()=>n.root],([u,f])=>{u==null||u.on("scroll",c),f&&(CE.value=u,wE.value=a,SE.value=l,Hy(()=>{CE.value=void 0,wE.value=void 0,SE.value=void 0}))},{immediate:!0}),n.root||(Va(nle,i),Va(ile,a),Va(rle,l)),()=>{var u,f;return n.root?(u=e.default)==null?void 0:u.call(e):Mr("div",{ref:r,...n==null?void 0:n.props},[Mr("div",{ref:s},(f=e.default)==null?void 0:f.call(e))])}}});const ole={__name:"SmoothScroll",setup(n){const e=gt();return aA(()=>{var t,i;if((t=e.value)!=null&&t.lenis){const{setLenisInstance:r}=wA();r((i=e.value)==null?void 0:i.lenis)}}),(t,i)=>(di(),Ks(qt(sle),{ref_key:"lenisRef",ref:e,"auto-raf":!1,options:{lerp:.05}},{default:Ua(()=>[ix(t.$slots,"default")]),_:3},512))}};function ale(){return S}class $R{constructor(e,t,i){this.id=0,this.name=e,this.fg=t,this.bg=i,this.gradient=null,this.PR=Math.round(window.devicePixelRatio||1),this.WIDTH=90*this.PR,this.HEIGHT=48*this.PR,this.TEXT_X=3*this.PR,this.TEXT_Y=2*this.PR,this.GRAPH_X=3*this.PR,this.GRAPH_Y=15*this.PR,this.GRAPH_WIDTH=84*this.PR,this.GRAPH_HEIGHT=30*this.PR,this.canvas=document.createElement("canvas"),this.canvas.width=this.WIDTH,this.canvas.height=this.HEIGHT,this.canvas.style.width="90px",this.canvas.style.height="48px",this.canvas.style.position="absolute",this.canvas.style.cssText="width:90px;height:48px;background-color: transparent !important;",this.context=this.canvas.getContext("2d"),this.initializeCanvas()}createGradient(){if(!this.context)throw new Error("No context");const e=this.context.createLinearGradient(0,this.GRAPH_Y,0,this.GRAPH_Y+this.GRAPH_HEIGHT);let t;const i=this.fg;switch(this.fg.toLowerCase()){case"#0ff":t="#006666";break;case"#0f0":t="#006600";break;case"#ff0":t="#666600";break;case"#e1e1e1":t="#666666";break;default:t=this.bg;break}return e.addColorStop(0,t),e.addColorStop(1,i),e}
vendor: 4,320 bytes, lines 4503-4511
4503initializeCanvas(){this.context&&(this.context.imageSmoothingEnabled=!1,this.context.font="bold "+9*this.PR+"px Helvetica,Arial,sans-serif",this.context.textBaseline="top",this.gradient=this.createGradient(),this.context.fillStyle=this.bg,this.context.fillRect(0,0,this.WIDTH,this.HEIGHT),this.context.fillStyle=this.fg,this.context.fillText(this.name,this.TEXT_X,this.TEXT_Y),this.context.fillStyle=this.bg,this.context.globalAlpha=.9,this.context.fillRect(this.GRAPH_X,this.GRAPH_Y,this.GRAPH_WIDTH,this.GRAPH_HEIGHT))}update(e,t,i=0){if(!this.context||!this.gradient)return;const r=Math.min(1/0,e),s=Math.max(t,e);this.context.globalAlpha=1,this.context.fillStyle=this.bg,this.context.fillRect(0,0,this.WIDTH,this.GRAPH_Y),this.context.fillStyle=this.fg,this.context.fillText(`${e.toFixed(i)} ${this.name} (${r.toFixed(i)}-${parseFloat(s.toFixed(i))})`,this.TEXT_X,this.TEXT_Y)}updateGraph(e,t){if(!this.context||!this.gradient)return;e===0&&t===0&&(t=1),t=Math.max(t,e,.1),e=Math.max(e,0);const i=Math.round(this.GRAPH_X),r=Math.round(this.GRAPH_Y),s=Math.round(this.GRAPH_WIDTH),o=Math.round(this.GRAPH_HEIGHT),a=Math.round(this.PR);this.context.drawImage(this.canvas,i+a,r,s-a,o,i,r,s-a,o),this.context.fillStyle=this.bg,this.context.fillRect(i+s-a,r,a,o);const l=Math.min(o,Math.round(e/t*o));l>0&&(this.context.globalAlpha=.9,this.context.fillStyle=this.gradient,this.context.fillRect(i+s-a,r+(o-l),a,l)),this.context.globalAlpha=1}}class lle extends $R{constructor(e,t,i){super(e,t,i),this.vsyncValue=0,this.SMALL_HEIGHT=9*this.PR,this.HEIGHT=this.SMALL_HEIGHT,this.WIDTH=35*this.PR,this.TEXT_Y=0*this.PR,this.canvas.height=this.HEIGHT,this.canvas.width=this.WIDTH,this.canvas.style.height="9px",this.canvas.style.width="35px",this.canvas.style.cssText=`
4504            width: 35px;
4505            height: 9px;
4506            position: absolute;
4507            top: 0;
4508            left: 0;
4509            background-color: transparent !important;
4510            pointer-events: none;
4511        `,this.initializeCanvas()}initializeCanvas(){this.context&&(this.context.imageSmoothingEnabled=!1,this.context.font="bold "+9*this.PR+"px Helvetica,Arial,sans-serif",this.context.textBaseline="top",this.context.globalAlpha=1)}update(e,t,i=0){this.context&&(this.vsyncValue=e,this.context.clearRect(0,0,this.WIDTH,this.HEIGHT),this.context.globalAlpha=1,this.context.fillStyle=this.bg,this.context.fillText(`${e.toFixed(0)}Hz`,this.TEXT_X,this.TEXT_Y))}updateGraph(e,t){}setOffset(e,t){this.canvas.style.transform=`translate(${e}px, ${t}px)`}}const KR=class If{constructor({trackGPU:e=!1,trackCPT:t=!1,trackHz:i=!1,logsPerSecond:r=4,graphsPerSecond:s=30,samplesLog:o=40,samplesGraph:a=10,precision:l=2,minimal:c=!1,horizontal:u=!0,mode:f=0}={}){this.gl=null,this.ext=null,this.activeQuery=null,this.gpuQueries=[],this.threeRendererPatched=!1,this.frameTimes=[],this.renderCount=0,this.totalCpuDuration=0,this.totalGpuDuration=0,this.totalGpuDurationCompute=0,this.gpuPanel=null,this.gpuPanelCompute=null,this.vsyncPanel=null,this.averageFps={logs:[],graph:[]},this.averageCpu={logs:[],graph:[]},this.averageGpu={logs:[],graph:[]},this.averageGpuCompute={logs:[],graph:[]},this.updateCounter=0,this.lastMin={},this.lastMax={},this.lastValue={},this.VSYNC_RATES=[{refreshRate:60,frameTime:16.67},{refreshRate:75,frameTime:13.33},{refreshRate:90,frameTime:11.11},{refreshRate:120,frameTime:8.33},{refreshRate:144,frameTime:6.94},{refreshRate:165,frameTime:6.06},{refreshRate:240,frameTime:4.17}],this.detectedVSync=null,this.frameTimeHistory=[],this.HISTORY_SIZE=120,this.VSYNC_THRESHOLD=.05,this.lastFrameTime=0,this.handleClick=p=>{p.preventDefault(),this.showPanel(++this.mode%this.dom.children.length)},this.handleResize=()=>{this.resizePanel(this.fpsPanel),this.resizePanel(this.msPanel),this.gpuPanel&&this.resizePanel(this.gpuPanel),this.gpuPanelCompute&&this.resizePanel(this.gpuPanelCompute)},this.mode=f,this.horizontal=u,this.minimal=c,this.trackGPU=e,this.trackCPT=t,this.trackHz=i,this.samplesLog=o,this.samplesGraph=a,this.precision=l,this.logsPerSecond=r,this.graphsPerSecond=s;const h=performance.now();this.prevGraphTime=h,this.dom=document.createElement("div"),this.initializeDOM(),this.beginTime=performance.now(),this.prevTextTime=this.beginTime,this.prevCpuTime=this.beginTime,this._panelId=0,this.fpsPanel=this.addPanel
4511(new If.Panel("FPS","#0ff","#002")),this.msPanel=this.addPanel(new If.Panel("CPU","#0f0","#020")),this.trackHz===!0&&(this.vsyncPanel=new lle("","#f0f","#202"),this.dom.appendChild(this.vsyncPanel.canvas),this.vsyncPanel.setOffset(56,35)),this.setupEventListeners()}initializeDOM(){this.dom.style.cssText=`
4512      position: fixed;
4513      top: 0;
4514      left: 0;
4515      opacity: 0.9;
4516      z-index: 10000;
4517      ${this.minimal?"cursor: pointer;":""}
4518    `}setupEventListeners(){this.minimal?(this.dom.addEventListener("click",this.handleClick),this.showPanel(this.mode)):window.addEventListener("resize",this.handleResize)}async init(e){if(!e){console.error('Stats: The "canvas" parameter is undefined.');return}if(!this.handleThreeRenderer(e)&&!await this.handleWebGPURenderer(e))if(this.initializeWebGL(e)){this.trackGPU&&this.initializeGPUTracking();return}else console.error("Stats-gl: Failed to initialize WebGL context")}handleThreeRenderer(e){return e.isWebGLRenderer&&!this.threeRendererPatched?(this.patchThreeRenderer(e),this.gl=e.getContext(),this.trackGPU&&this.initializeGPUTracking(),!0):!1}async handleWebGPURenderer(e){return e.isWebGPURenderer?((this.trackGPU||this.trackCPT)&&(e.backend.trackTimestamp=!0,await e.hasFeatureAsync("timestamp-query")&&this.initializeWebGPUPanels()),this.info=e.info,this.patchThreeWebGPU(e),!0):!1}initializeWebGPUPanels(){this.trackGPU&&(this.gpuPanel=this.addPanel(new If.Panel("GPU","#ff0","#220"))),this.trackCPT&&(this.gpuPanelCompute=this.addPanel(new If.Panel("CPT","#e1e1e1","#212121")))}initializeWebGL(e){if(e instanceof WebGL2RenderingContext)this.gl=e;else if(e instanceof HTMLCanvasElement||e instanceof OffscreenCanvas){if(this.gl=e.getContext("webgl2"),!this.gl)return console.error("Stats: Unable to obtain WebGL2 context."),!1}else return console.error("Stats: Invalid input type. Expected WebGL2RenderingContext, HTMLCanvasElement, or OffscreenCanvas."),!1;return!0}initializeGPUTracking(){this.gl&&(this.ext=this.gl.getExtension("EXT_disjoint_timer_query_webgl2"),this.ext&&(this.gpuPanel=this.addPanel(new If.Panel("GPU","#ff0","#220"))))}begin(){this.beginProfiling("cpu-started"),!(!this.gl||!this.ext)&&(this.activeQuery&&this.gl.endQuery(this.ext.TIME_ELAPSED_EXT),this.activeQuery=this.gl.createQuery(),this.activeQuery&&this.gl.beginQuery(this.ext.TIME_ELAPSED_EXT,this.activeQuery))}end(){this.renderCount++,this.gl&&this.ext&&this.activeQuery&&(this.gl.endQuery(this.ext.TIME_ELAPSED_EXT),this.gpuQueries.push({query:this.activeQuery}),this.activeQuery=null),this.endProfiling("cpu-started","cpu-finished","cpu-duration")}update(){this.endProfiling("cpu-started","cpu-finished","cpu-duration"),this.info?this.processWebGPUTimestamps():this.processGpuQueries(),this.updateAverages(),this.resetCounters()}processWebGPUTimestamps(){this.totalGpuDuration=this.info.render.timestamp,this.totalGpuDurationCompute=this.info.compute.timestamp}resetCounters(){this.renderCount=0,this.totalCpuDuration=0,this.beginTime=this.endInternal()}resizePanel(e){e.canvas.style.position="absolute",this.minimal?e.canvas.style.display="none":(e.canvas.style.display="block",this.horizontal?(e.canvas.style.top="0px",e.canvas.style.left=e.id*e.WIDTH/e.PR+"px"):(e.canvas.style.left="0px",e.canvas.style.top=e.id*e.HEIGHT/e.PR+"px"))}addPanel(e){return e.canvas&&(this.dom.appendChild(e.canvas),e.id=this._panelId,this.resizePanel(e),this._panelId++),e}showPanel(e){for(let t=0;t<this.dom.children.length;t++){const i=this.dom.children[t];i.style.display=t===e?"block":"none"}this.mode=e}processGpuQueries(){!this.gl||!this.ext||(this.totalGpuDuration=0,this.gpuQueries.forEach((e,t)=>{if(this.gl){const i=this.gl.getQueryParameter(e.query,this.gl.QUERY_RESULT_AVAILABLE),r=this.gl.getParameter(this.ext.GPU_DISJOINT_EXT);if(i&&!r){const o=this.gl.getQueryParameter(e.query,this.gl.QUERY_RESULT)*1e-6;this.totalGpuDuration+=o,this.gl.deleteQuery(e.query),this.gpuQueries.splice(t,1)}}}))}detectVSync(e){if(this.lastFrameTime===0){this.lastFrameTime=e;return}const t=e-this.lastFrameTime;if(this.lastFrameTime=e,this.frameTimeHistory.push(t),this.frameTimeHistory.length>this.HISTORY_SIZE&&this.frameTimeHistory.shift(),this.frameTimeHistory.length<60)return;const i=this.frameTimeHistory.reduce((l,c)=>l+c)/this.frameTimeHistory.length,r=this.frameTimeHistory.reduce((l,c)=>l+Math.pow(c-i,2),0)/this.frameTimeHistory.length;if(Math.sqrt(r)>2){this.detectedVSync=null;return}let o=null,a=1/0;for(const l of this.VSYNC_RATES){const c=Math.abs(i-l.frameTime);c<a&&(a=c,o=l)}o&&a/o.frameTime<=this.VSYNC_THRESHOLD?this.detectedVSync=o:this.detectedVSync=null}endInternal(){var e;const t=performance.now();for(this.frameTimes.push(t);this.frameTimes.length>0&&this.frameTimes[0]<=t-1e3;)this.frameTimes.shift();const i=Math.round(this.frameTimes.length);this.addToAverage(i,this.averageFps);const r=t>=this.prevTextTime+1e3/this.logsPerSecond,s=t>=this.prevGraphTime+1e3/this.graphsPerSecond;if(this.updatePanelComponents(this.fpsPanel,this.averageFps,0,r,s),this.updatePanelComponents(this.msPanel,this.averageCpu,this.precision,r,s),this.gpuPanel&&this.updatePanelComponents(this.gpuPanel,this.averageGpu,this.precision,r,s),this.trackCPT&&this.gpuPanelCompute&&this.updatePanelComponents(this.gpuPanelCompute,this.averageGpuCompute,this.precision,r,s),r&&(this.prevTextTime=t),s&&(this.prevGraphTime=t),this.vsyncPanel!==null){this.detectVSync(t);const o=((e=this.detectedVSync)==null?void 0:e.refreshRate)||0;r&&o>0&&this.vsyncPanel.update(o,o)}return t}updatePanelComponents(e,t,i,r,s){if(!e||t.logs.length===0)return;e.name in this.lastMin||(this.lastMin[e.name]=1/0,this.lastMax[e.name]=0,this.lastValue[e.name]=0);const o=t.logs[t.logs.length-1];this.lastMax[e.name]=Math.max(...t.logs),this.lastMin[e.name]=Math.min(this.lastMin[e.name],o),this.lastValue[e.name]=this.lastValue[e.name]*.7+o*.3;const a=Math.max(Math.max(...t.logs),...t.graph.slice(-this.samplesGraph));this.updateCounter++,r&&e.update(this.lastValue[e.name],this.lastMax[e.name],i),s&&e.updateGraph(o,a)}beginProfiling(e){if(window.performance)try{window.performance.clearMarks(e),window.performance.mark(e)}catch(t){console.debug("Stats: Performance marking failed:",t)}}endProfiling(e,t,i){if(!(!window.performance||!t||!e))try{window.performance.getEntriesByName(e,"mark").length===0&&this.beginProfiling(e),window.performance.clearMarks(t),window.performance.mark(t),window.performance.clearMeasures(i);const s=performance.measure(i,e,t);this.totalCpuDuration+=s.duration,window.performance.clearMarks(e),window.performance.clearMarks(t),window.performance.clearMeasures(i)}catch(r){console.debug("Stats: Performance measurement failed:",r)}}updatePanel(e,t,i=2){if(!e||t.logs.length===0)return;const r=performance.now();e.name in this.lastMin||(this.lastMin[e.name]=1/0,this.lastMax[e.name]=0,this.lastValue[e.name]=0);const s=t.logs[t.logs.length-1],o=Math.max(...t.logs.slice(-30));this.lastMin[e.name]=Math.min(this.lastMin[e.name],s),this.lastMax[e.name]=Math.max(this.lastMax[e.name],s),this.lastValue[e.name]=this.lastValue[e.name]*.7+s*.3;const a=Math.max(o,...t.graph.slice(-this.samplesGraph));this.updateCounter++,this.updateCounter%(this.logsPerSecond*2)===0&&(this.lastMax[e.name]=o,this.lastMin[e.name]=s),e.update&&(r>=this.prevCpuTime+1e3/this.logsPerSecond&&e.update(this.lastValue[e.name],s,this.lastMax[e.name],a,i),r>=this.prevGraphTime+1e3/this.graphsPerSecond&&(e.updateGraph(s,a),this.prevGraphTime=r))}updateAverages(){this.addToAverage(this.totalCpuDuration,this.averageCpu),this.addToAverage(this.totalGpuDuration,this.averageGpu),this.info&&this.totalGpuDurationCompute!==void 0&&this.addToAverage(this.totalGpuDurationCompute,this.averageGpuCompute)}addToAverage(e,t){t.logs.push(e),t.logs.length>this.samplesLog&&(t.logs=t.logs.slice(-this.samplesLog)),t.graph.push(e),t.graph.length>this.samplesGraph&&(t.graph=t.graph.slice(-this.samplesGraph))}get domElement(){return this.dom}patchThreeWebGPU(e){const t=e.info.reset,i=this;e.info.reset=function(){i.beginProfiling("cpu-started"),t.call(this)}}patchThreeRenderer(e){const t=e.render,i=this;e.render=function(r,s){i.begin(),t.call(this,r,s),i.end()},this.threeRendererPatched=!0}};KR.Panel=$R;let cle=KR;var Qo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ZR(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Zh={exports:{}},sy={},EE;function Oi(){return EE||(EE=1,function(n){var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,a=(O,Y,ie)=>Y in O?e(O,Y,{enumerable:!0,configurable:!0,writable:!0,value:ie}):O[Y]=ie,l=(O,Y)=>{for(var ie in Y||(Y={}))s.call(Y,ie)&&a(O,ie,Y[ie]);if(r)for(var ie of r(Y))o.call(Y,ie)&&a(O,ie,Y[ie]);return O},c=(O,Y)=>t(O,i(Y)),u=O=>
vendor: 5,270 bytes, line 4518
4518e(O,"__esModule",{value:!0}),f=(O,Y)=>{u(O);for(var ie in Y)e(O,ie,{get:Y[ie],enumerable:!0})};f(n,{Atom:()=>Kp,PointerProxy:()=>Ev,Ticker:()=>Jp,getPointerParts:()=>pc,isPointer:()=>aa,isPrism:()=>Hu,iterateAndCountTicks:()=>Cv,iterateOver:()=>Sv,pointer:()=>Yd,pointerToPrism:()=>Gu,prism:()=>vc,val:()=>th});var h=Array.isArray,p=h,m=typeof Qo=="object"&&Qo&&Qo.Object===Object&&Qo,v=m,A=typeof self=="object"&&self&&self.Object===Object&&self,y=v||A||Function("return this")(),x=y,b=x.Symbol,_=b,T=Object.prototype,M=T.hasOwnProperty,I=T.toString,R=_?_.toStringTag:void 0;function w(O){var Y=M.call(O,R),ie=O[R];try{O[R]=void 0;var Se=!0}catch{}var St=I.call(O);return Se&&(Y?O[R]=ie:delete O[R]),St}var E=w,F=Object.prototype,L=F.toString;function z(O){return L.call(O)}var V=z,j="[object Null]",N="[object Undefined]",Q=_?_.toStringTag:void 0;function W(O){return O==null?O===void 0?N:j:Q&&Q in Object(O)?E(O):V(O)}var ee=W;function H(O){return O!=null&&typeof O=="object"}var ye=H,Ie="[object Symbol]";function ze(O){return typeof O=="symbol"||ye(O)&&ee(O)==Ie}var oe=ze,_e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Fe=/^\w*$/;function Z(O,Y){if(p(O))return!1;var ie=typeof O;return ie=="number"||ie=="symbol"||ie=="boolean"||O==null||oe(O)?!0:Fe.test(O)||!_e.test(O)||Y!=null&&O in Object(Y)}var Ae=Z;function we(O){var Y=typeof O;return O!=null&&(Y=="object"||Y=="function")}var be=we,qe="[object AsyncFunction]",rt="[object Function]",q="[object GeneratorFunction]",B="[object Proxy]";function le(O){if(!be(O))return!1;var Y=ee(O);return Y==rt||Y==q||Y==qe||Y==B}var ve=le,$=x["__core-js_shared__"],de=$,De=function(){var O=/[^.]+$/.exec(de&&de.keys&&de.keys.IE_PROTO||"");return O?"Symbol(src)_1."+O:""}();function xe(O){return!!De&&De in O}var k=xe,D=Function.prototype,ne=D.toString;function re(O){if(O!=null){try{return ne.call(O)}catch{}try{return O+""}catch{}}return""}var ce=re,fe=/[\\^$.*+?()[\]{}|]/g,Pe=/^\[object .+?Constructor\]$/,Le=Function.prototype,Oe=Object.prototype,dt=Le.toString,Be=Oe.hasOwnProperty,He=RegExp("^"+dt.call(Be).replace(fe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Xe(O){if(!be(O)||k(O))return!1;var Y=ve(O)?He:Pe;return Y.test(ce(O))}var st=Xe;function et(O,Y){return O==null?void 0:O[Y]}var mt=et;function lt(O,Y){var ie=mt(O,Y);return st(ie)?ie:void 0}var Rt=lt,te=Rt(Object,"create"),We=te;function Ce(){this.__data__=We?We(null):{},this.size=0}var Me=Ce;function je(O){var Y=this.has(O)&&delete this.__data__[O];return this.size-=Y?1:0,Y}var Ye=je,_t="__lodash_hash_undefined__",jt=Object.prototype,Bn=jt.hasOwnProperty;function $e(O){var Y=this.__data__;if(We){var ie=Y[O];return ie===_t?void 0:ie}return Bn.call(Y,O)?Y[O]:void 0}var ot=$e,Mt=Object.prototype,Ze=Mt.hasOwnProperty;function wt(O){var Y=this.__data__;return We?Y[O]!==void 0:Ze.call(Y,O)}var ct=wt,bt="__lodash_hash_undefined__";function Vn(O,Y){var ie=this.__data__;return this.size+=this.has(O)?0:1,ie[O]=We&&Y===void 0?bt:Y,this}var Bt=Vn;function $t(O){var Y=-1,ie=O==null?0:O.length;for(this.clear();++Y<ie;){var Se=O[Y];this.set(Se[0],Se[1])}}$t.prototype.clear=Me,$t.prototype.delete=Ye,$t.prototype.get=ot,$t.prototype.has=ct,$t.prototype.set=Bt;var Qn=$t;function ln(){this.__data__=[],this.size=0}var cn=ln;function Ft(O,Y){return O===Y||O!==O&&Y!==Y}var tr=Ft;function rn(O,Y){for(var ie=O.length;ie--;)if(tr(O[ie][0],Y))return ie;return-1}var ci=rn,hr=Array.prototype,Zn=hr.splice;function Jn(O){var Y=this.__data__,ie=ci(Y,O);if(ie<0)return!1;var Se=Y.length-1;return ie==Se?Y.pop():Zn.call(Y,ie,1),--this.size,!0}var G=Jn;function ae(O){var Y=this.__data__,ie=ci(Y,O);return ie<0?void 0:Y[ie][1]}var ge=ae;function pe(O){return ci(this.__data__,O)>-1}var se=pe;function Ue(O,Y){var ie=this.__data__,Se=ci(ie,O);return Se<0?(++this.size,ie.push([O,Y])):ie[Se][1]=Y,this}var Je=Ue;function tt(O){var Y=-1,ie=O==null?0:O.length;for(this.clear();++Y<ie;){var Se=O[Y];this.set(Se[0],Se[1])}}tt.prototype.clear=cn,tt.prototype.delete=G,tt.prototype.get=ge,tt.prototype.has=se,tt.prototype.set=Je;var it=tt,pt=Rt(x,"Map"),yt=pt;function ht(){this.size=0,this.__data__={hash:new Qn,map:new(yt||it),string:new Qn}}var xt=ht;function Kt(O){var Y=typeof O;return Y=="string"||Y=="number"||Y=="symbol"||Y=="boolean"?O!=="__proto__":O===null}var Wn=Kt;function Dn(O,Y){var ie=O.__data__;return Wn(Y)?ie[typeof Y=="string"?"string":"hash"]:ie.map}var Ut=Dn;function At(O){var Y=Ut(this,O).delete(O);return this.size-=Y?1:0,Y}var Ai=At;function Gt(O){return Ut(this,O).get(O)}var Lr=Gt;function Lo(O){return Ut(this,O).has(O)}var nr=Lo;function oa(O,Y){var ie=Ut(this,O),Se=ie.size;return ie.set(O,Y),this.size+=ie.size==Se?0:1,this}var wn=oa;function vi(O){var Y=-1,ie=O==null?0:O.length;for(this.clear();++Y<ie;){var Se=O[Y];this.set(Se[0],Se[1])}}vi.prototype.clear=xt,vi.prototype.delete=Ai,vi.prototype.get=Lr,vi.prototype.has=nr,vi.prototype.set=wn;var ir=vi,Ri="Expected a function";function Ci(O,Y){if(typeof O!="function"||Y!=null&&typeof Y!="function")throw new TypeError(Ri);var ie=function(){var Se=arguments,St=Y?Y.apply(this,Se):Se[0],on=ie.cache;if(on.has(St))return on.get(St);var rr=O.apply(this,Se);return ie.cache=on.set(St,rr)||on,rr};return ie.cache=new(Ci.Cache||ir),ie}
4518Ci.Cache=ir;var uc=Ci,pr=500;function Uu(O){var Y=uc(O,function(Se){return ie.size===pr&&ie.clear(),Se}),ie=Y.cache;return Y}var zA=Uu,fc=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,HA=/\\(\\)?/g,VA=zA(function(O){var Y=[];return O.charCodeAt(0)===46&&Y.push(""),O.replace(fc,function(ie,Se,St,on){Y.push(St?on.replace(HA,"$1"):Se||ie)}),Y}),GA=VA;function QA(O,Y){for(var ie=-1,Se=O==null?0:O.length,St=Array(Se);++ie<Se;)St[ie]=Y(O[ie],ie,O);return St}var WA=QA,dc=_?_.prototype:void 0,Lp=dc?dc.toString:void 0;function Op(O){if(typeof O=="string")return O;if(p(O))return WA(O,Op)+"";if(oe(O))return Lp?Lp.call(O):"";var Y=O+"";return Y=="0"&&1/O==-1/0?"-0":Y}var jA=Op;function qA(O){return O==null?"":jA(O)}var XA=qA;function YA(O,Y){return p(O)?O:Ae(O,Y)?[O]:GA(XA(O))}var $A=YA;function KA(O){if(typeof O=="string"||oe(O))return O;var Y=O+"";return Y=="0"&&1/O==-1/0?"-0":Y}var il=KA;function Nu(O,Y){Y=$A(Y,O);for(var ie=0,Se=Y.length;O!=null&&ie<Se;)O=O[il(Y[ie++])];return ie&&ie==Se?O:void 0}var ZA=Nu;function Xd(O,Y,ie){var Se=O==null?void 0:ZA(O,Y);return Se===void 0?ie:Se}var JA=Xd;function ev(O,Y){return function(ie){return O(Y(ie))}}var tv=ev,nv=tv(Object.getPrototypeOf,Object),iv=nv,rv="[object Object]",sv=Function.prototype,ov=Object.prototype,Fp=sv.toString,av=ov.hasOwnProperty,Up=Fp.call(Object);function Np(O){if(!ye(O)||ee(O)!=rv)return!1;var Y=iv(O);if(Y===null)return!0;var ie=av.call(Y,"constructor")&&Y.constructor;return typeof ie=="function"&&ie instanceof ie&&Fp.call(ie)==Up}var kp=Np;function zp(O){var Y=O==null?0:O.length;return Y?O[Y-1]:void 0}var lv=zp,ku=new WeakMap,Hp=new WeakMap,hc=Symbol("pointerMeta"),cv={get(O,Y){if(Y===hc)return ku.get(O);let ie=Hp.get(O);ie||(ie=new Map,Hp.set(O,ie));const Se=ie.get(Y);if(Se!==void 0)return Se;const St=ku.get(O),on=zu({root:St.root,path:[...St.path,Y]});return ie.set(Y,on),on}},fo=O=>O[hc],pc=O=>{const{root:Y,path:ie}=fo(O);return{root:Y,path:ie}};function zu(O){var Y;const ie={root:O.root,path:(Y=O.path)!=null?Y:[]},Se={};return ku.set(Se,ie),new Proxy(Se,cv)}var Yd=zu,aa=O=>O&&!!fo(O);function Vp(O,Y,ie){return Y.length===0?ie(O):rl(O,Y,ie)}var rl=(O,Y,ie)=>{if(Y.length===0)return ie(O);if(Array.isArray(O)){let[Se,...St]=Y;Se=parseInt(String(Se),10),isNaN(Se)&&(Se=0);const on=O[Se],rr=rl(on,St,ie);if(on===rr)return O;const Vs=[...O];return Vs.splice(Se,1,rr),Vs}else if(typeof O=="object"&&O!==null){const[Se,...St]=Y,on=O[Se],rr=rl(on,St,ie);return on===rr?O:c(l({},O),{[Se]:rr})}else{const[Se,...St]=Y;return{[Se]:rl(void 0,St,ie)}}},Bi=class{constructor(){this._head=void 0}peek(){return this._head&&this._head.data}pop(){const O=this._head;if(O)return this._head=O.next,O.data}push(O){const Y={next:this._head,data:O};this._head=Y}};function Hu(O){return!!(O&&O.isPrism&&O.isPrism===!0)}function $d(){const O=()=>{},Y=new Bi,ie=O;return{type:"Dataverse_discoveryMechanism",startIgnoringDependencies:()=>{Y.push(ie)},stopIgnoringDependencies:()=>{Y.peek()!==ie||Y.pop()},reportResolutionStart:sl=>{const yc=Y.peek();yc&&yc(sl),Y.push(ie)},reportResolutionEnd:sl=>{Y.pop()},pushCollector:sl=>{Y.push(sl)},popCollector:sl=>{if(Y.peek()!==sl)throw new Error("Popped collector is not on top of the stack");Y.pop()}}}function uv(){const O="__dataverse_discoveryMechanism_sharedStack",Y=typeof window<"u"?window:typeof Qo<"u"?Qo:{};if(Y){const ie=Y[O];if(ie&&typeof ie=="object"&&ie.type==="Dataverse_discoveryMechanism")return ie;{const Se=$d();return Y[O]=Se,Se}}else return $d()}var{startIgnoringDependencies:la,stopIgnoringDependencies:mc,reportResolutionEnd:fv,reportResolutionStart:dv,pushCollector:Kd,popCollector:hv}=uv(),Gp=()=>{},pv=class{constructor(O,Y){this._fn=O,this._prismInstance=Y,this._didMarkDependentsAsStale=!1,this._isFresh=!1,this._cacheOfDendencyValues=new Map,this._dependents=new Set,this._dependencies=new Set,this._possiblyStaleDeps=new Set,this._scope=new Qp(this),this._lastValue=void 0,this._forciblySetToStale=!1,this._reactToDependencyGoingStale=ie=>{this._possiblyStaleDeps.add(ie),this._markAsStale()};for(const ie of this._dependencies)ie._addDependent(this._reactToDependencyGoingStale);la(),this.getValue(),mc()}get hasDependents(){return this._dependents.size>0}removeDependent(O){this._dependents.delete(O)}addDependent(O){this._dependents.add(O)}destroy(){for(const O of this._dependencies)O._removeDependent(this._reactToDependencyGoingStale);Wp(this._scope)}getValue(){if(!this._isFresh){const O=this._recalculate();this._lastValue=O,this._isFresh=!0,this._didMarkDependentsAsStale=!1,this._forciblySetToStale=!1}return this._lastValue}
4518_recalculate(){let O;if(!this._forciblySetToStale&&this._possiblyStaleDeps.size>0){let Se=!1;la();for(const St of this._possiblyStaleDeps)if(this._cacheOfDendencyValues.get(St)!==St.getValue()){Se=!0;break}if(mc(),this._possiblyStaleDeps.clear(),!Se)return this._lastValue}const Y=new Set;this._cacheOfDendencyValues.clear();const ie=Se=>{Y.add(Se),this._addDependency(Se)};Kd(ie),ji.push(this._scope);try{O=this._fn()}catch(Se){console.error(Se)}finally{ji.pop()!==this._scope&&console.warn("The Prism hook stack has slipped. This is a bug.")}hv(ie);for(const Se of this._dependencies)Y.has(Se)||this._removeDependency(Se);this._dependencies=Y,la();for(const Se of Y)this._cacheOfDendencyValues.set(Se,Se.getValue());return mc(),O}forceStale(){this._forciblySetToStale=!0,this._markAsStale()}_markAsStale(){if(!this._didMarkDependentsAsStale){this._didMarkDependentsAsStale=!0,this._isFresh=!1;for(const O of this._dependents)O(this._prismInstance)}}_addDependency(O){this._dependencies.has(O)||(this._dependencies.add(O),O._addDependent(this._reactToDependencyGoingStale))}_removeDependency(O){this._dependencies.has(O)&&(this._dependencies.delete(O),O._removeDependent(this._reactToDependencyGoingStale))}},Zd={},mv=class{constructor(O){this._fn=O,this.isPrism=!0,this._state={hot:!1,handle:void 0}}get isHot(){return this._state.hot}onChange(O,Y,ie=!1){const Se=()=>{O.onThisOrNextTick(on)};let St=Zd;const on=()=>{const Vs=this.getValue();Vs!==St&&(St=Vs,Y(Vs))};return this._addDependent(Se),ie&&(St=this.getValue(),Y(St)),()=>{this._removeDependent(Se),O.offThisOrNextTick(on),O.offNextTick(on)}}onStale(O){const Y=()=>{this._removeDependent(ie)},ie=()=>O();return this._addDependent(ie),Y}keepHot(){return this.onStale(()=>{})}_addDependent(O){this._state.hot||this._goHot(),this._state.handle.addDependent(O)}_goHot(){const O=new pv(this._fn,this);this._state={hot:!0,handle:O}}_removeDependent(O){const Y=this._state;if(!Y.hot)return;const ie=Y.handle;ie.removeDependent(O),ie.hasDependents||(this._state={hot:!1,handle:void 0},ie.destroy())}getValue(){dv(this);const O=this._state;let Y;return O.hot?Y=O.handle.getValue():Y=Ac(this._fn),fv(this),Y}},Qp=class{constructor(O){this._hotHandle=O,this._refs=new Map,this.isPrismScope=!0,this.subs={},this.effects=new Map,this.memos=new Map}ref(O,Y){let ie=this._refs.get(O);if(ie!==void 0)return ie;{const Se={current:Y};return this._refs.set(O,Se),Se}}effect(O,Y,ie){let Se=this.effects.get(O);Se===void 0&&(Se={cleanup:Gp,deps:void 0},this.effects.set(O,Se)),jp(Se.deps,ie)&&(Se.cleanup(),la(),Se.cleanup=Vu(Y,Gp).value,mc(),Se.deps=ie)}memo(O,Y,ie){let Se=this.memos.get(O);return Se===void 0&&(Se={cachedValue:null,deps:void 0},this.memos.set(O,Se)),jp(Se.deps,ie)&&(la(),Se.cachedValue=Vu(Y,void 0).value,mc(),Se.deps=ie),Se.cachedValue}state(O,Y){const{value:ie,setValue:Se}=this.memo("state/"+O,()=>{const St={current:Y};return{value:St,setValue:rr=>{St.current=rr,this._hotHandle.forceStale()}}},[]);return[ie.current,Se]}sub(O){return this.subs[O]||(this.subs[O]=new Qp(this._hotHandle)),this.subs[O]}cleanupEffects(){for(const O of this.effects.values())Vu(O.cleanup,void 0);this.effects.clear()}source(O,Y){return this.effect("$$source/blah",()=>O(()=>{this._hotHandle.forceStale()}),[O]),Y()}};function Wp(O){for(const Y of Object.values(O.subs))Wp(Y);O.cleanupEffects()}function Vu(O,Y){try{return{value:O(),ok:!0}}catch(ie){return setTimeout(function(){throw ie}),{value:Y,ok:!1}}}var ji=new Bi;function gv(O,Y){const ie=ji.peek();if(!ie)throw new Error("prism.ref() is called outside of a prism() call.");return ie.ref(O,Y)}function Jd(O,Y,ie){const Se=ji.peek();if(!Se)throw new Error("prism.effect() is called outside of a prism() call.");return Se.effect(O,Y,ie)}function jp(O,Y){if(O===void 0||Y===void 0)return!0;const ie=O.length;if(ie!==Y.length)return!0;for(let Se=0;Se<ie;Se++)if(O[Se]!==Y[Se])return!0;return!1}function qp(O,Y,ie){const Se=ji.peek();if(!Se)throw new Error("prism.memo() is called outside of a prism() call.");return Se.memo(O,Y,ie)}function Or(O,Y){const ie=ji.peek();if(!ie)throw new Error("prism.state() is called outside of a prism() call.");return ie.state(O,Y)}function Av(){if(!ji.peek())throw new Error("The parent function is called outside of a prism() call.")}function vv(O,Y){const ie=ji.peek();if(!ie)throw new Error("prism.scope() is called outside of a prism() call.");const Se=ie.sub(O);ji.push(Se);const St=Vu(Y,void 0).value;return ji.pop(),St}function yv(O,Y,ie){return qp(O,()=>Di(Y),ie).getValue()}function Xp(){return!!ji.peek()}function _v(O,Y){const ie=ji.peek();if(!ie)throw new Error("prism.source() is called outside of a prism() call.");return ie.source(O,Y)}var Di=O=>new mv(O),gc=class{effect(O,Y,ie){console.warn("prism.effect() does not run in cold prisms")}memo(O,Y,ie){return Y()}state(O,Y){return[Y,()=>{}]}ref(O,Y){return{current:Y}}sub(O){return new gc}source(O,Y){return Y()}};function Ac(O){const Y=new gc;ji.push(Y);let ie;try{ie=O()}catch(Se){console.error(Se)}finally{ji.pop()!==Y&&console.warn("The Prism hook stack has slipped. This is a bug.")}return ie}Di.ref=gv,Di.effect=Jd,Di.memo=qp,Di.ensurePrism=Av,Di.state=Or,Di.scope=vv,Di.sub=yv,Di.inPrism=Xp,Di.source=_v;var vc=Di,Yp;(function(O){O[O.Dict=0]="Dict",O[O.Array=1]="Array",O[O.Other=2]="Other"})(Yp||(Yp={}));var vn=O=>Array.isArray(O)?1:kp(O)?0:2,eh=(O,Y,ie=vn(O))=>ie===0&&typeof Y=="string"||ie===1&&bv(Y)?O[Y]:void 0,bv=O=>{const Y=typeof O=="number"?O:parseInt(O,10);return!isNaN(Y)&&Y>=0&&Y<1/0&&(Y|0)===Y},$p=class{constructor(O,Y){this._parent=O,this._path=Y,this.children=new Map,this.identityChangeListeners=new Set}addIdentityChangeListener(O){this.identityChangeListeners.add(O)}removeIdentityChangeListener(O){this.identityChangeListeners.delete(O),this._checkForGC()}removeChild(O){this.children.delete(O),this._checkForGC()}getChild(O){return this.children.get(O)}getOrCreateChild(O){let Y=this.children.get(O);return Y||(Y=Y=new $p(this,this._path.concat([O])),this.children.set(O,Y)),Y}_checkForGC(){this.identityChangeListeners.size>0||this.children.size>0||this._parent&&this._parent.removeChild(lv(this._path))}},Kp=class{constructor(O){this.$$isPointerToPrismProvider=!0,this.pointer=Yd({root:this,path:[]}),this.prism=this.pointerToPrism(this.pointer),this._onPointerValueChange=(Y,ie)=>{const{path:Se}=pc(Y),St=this._getOrCreateScopeForPath(Se);return St.identityChangeListeners.add(ie),()=>{St.identityChangeListeners.delete(ie)}},this._currentState=O,this._rootScope=new $p(void 0,[])}set(O){const Y=this._currentState;this._currentState=O,this._checkUpdates(this._rootScope,Y,O)}get(){return this._currentState}getByPointer(O){const Y=aa(O)?O:O(this.pointer),ie=pc(Y).path;return this._getIn(ie)}_getIn(O){return O.length===0?this.get():JA(this.get(),O)}reduce(O){this.set(O(this.get()))}reduceByPointer(O,Y){const ie=aa(O)?O:O(this.pointer),Se=pc(ie).path,St=Vp(this.get(),Se,Y);this.set(St)}setByPointer(O,Y){this.reduceByPointer(O,()=>Y)}_checkUpdates(O,Y,ie){if(Y===ie)return;for(const on of O.identityChangeListeners)on(ie);if(O.children.size===0)return;const Se=vn(Y),St=vn(ie);if(!(Se===2&&Se===St))for(const[on,rr]of O.children){const Vs=eh(Y,on,Se),em=eh(ie,on,St);this._checkUpdates(rr,Vs,em)}}_getOrCreateScopeForPath(O){let Y=this._rootScope;for(const ie of O)Y=Y.getOrCreateChild(ie);return Y}pointerToPrism(O){const{path:Y}=pc(O),ie=St=>this._onPointerValueChange(O,St),Se=()=>this._getIn(Y);
4518return vc(()=>vc.source(ie,Se))}},Zp=new WeakMap;function xv(O){return typeof O=="object"&&O!==null&&O.$$isPointerToPrismProvider===!0}var Gu=O=>{const Y=fo(O);let ie=Zp.get(Y);if(!ie){const Se=Y.root;if(!xv(Se))throw new Error("Cannot run pointerToPrism() on a pointer whose root is not an PointerToPrismProvider");ie=Se.pointerToPrism(O),Zp.set(Y,ie)}return ie},th=O=>aa(O)?Gu(O).getValue():Hu(O)?O.getValue():O;function*Cv(O){let Y;if(aa(O))Y=Gu(O);else if(Hu(O))Y=O;else throw new Error("Only pointers and prisms are supported");let ie=0;const Se=Y.onStale(()=>{ie++});try{for(;;){const St=ie;ie=0,yield{value:Y.getValue(),ticks:St}}}finally{Se()}}var wv=60*3,Jp=class{constructor(O){this._conf=O,this._ticking=!1,this._dormant=!0,this._numberOfDormantTicks=0,this.__ticks=0,this._scheduledForThisOrNextTick=new Set,this._scheduledForNextTick=new Set,this._timeAtCurrentTick=0}get dormant(){return this._dormant}onThisOrNextTick(O){this._scheduledForThisOrNextTick.add(O),this._dormant&&this._goActive()}onNextTick(O){this._scheduledForNextTick.add(O),this._dormant&&this._goActive()}offThisOrNextTick(O){this._scheduledForThisOrNextTick.delete(O)}offNextTick(O){this._scheduledForNextTick.delete(O)}get time(){return this._ticking?this._timeAtCurrentTick:performance.now()}_goActive(){var O,Y;this._dormant&&(this._dormant=!1,(Y=(O=this._conf)==null?void 0:O.onActive)==null||Y.call(O))}_goDormant(){var O,Y;this._dormant||(this._dormant=!0,this._numberOfDormantTicks=0,(Y=(O=this._conf)==null?void 0:O.onDormant)==null||Y.call(O))}tick(O=performance.now()){if(this.__ticks++,!this._dormant&&this._scheduledForNextTick.size===0&&this._scheduledForThisOrNextTick.size===0&&(this._numberOfDormantTicks++,this._numberOfDormantTicks>=wv)){this._goDormant();return}this._ticking=!0,this._timeAtCurrentTick=O;for(const Y of this._scheduledForNextTick)this._scheduledForThisOrNextTick.add(Y);this._scheduledForNextTick.clear(),this._tick(0),this._ticking=!1}_tick(O){const Y=this.time;if(O>10&&console.warn("_tick() recursing for 10 times"),O>100)throw new Error("Maximum recursion limit for _tick()");const ie=this._scheduledForThisOrNextTick;this._scheduledForThisOrNextTick=new Set;for(const Se of ie)Se(Y);if(this._scheduledForThisOrNextTick.size>0)return this._tick(O+1)}};function*Sv(O){let Y;if(aa(O))Y=Gu(O);else if(Hu(O))Y=O;else throw new Error("Only pointers and prisms are supported");const ie=new Jp,Se=Y.onChange(ie,St=>{});try{for(;;)ie.tick(),yield Y.getValue()}finally{Se()}}var Ev=class{constructor(O){this.$$isPointerToPrismProvider=!0,this._currentPointerBox=new Kp(O),this.pointer=Yd({root:this,path:[]})}setPointer(O){this._currentPointerBox.set(O)}pointerToPrism(O){const{path:Y}=fo(O);return vc(()=>{const ie=this._currentPointerBox.prism.getValue(),Se=Y.reduce((St,on)=>St[on],ie);return th(Se)})}}}(sy)),sy}Zh.exports;var TE;function ule(){return TE||(TE=1,function(n,e){var t=Object.create,i=Object.defineProperty,r=Object.defineProperties,s=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertyNames,l=Object.getOwnPropertySymbols,c=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable,h=(d,g,C)=>g in d?i(d,g,{enumerable:!0,configurable:!0,writable:!0,value:C}):d[g]=C,p=(d,g)=>{for(var C in g||(g={}))u.call(g,C)&&h(d,C,g[C]);if(l)for(var C of l(g))f.call(g,C)&&h(d,C,g[C]);return d},m=(d,g)=>r(d,o(g)),v=(d,g)=>function(){return g||(0,d[a(d)[0]])((g={exports:{}}).exports,g),g.exports},A=(d,g)=>{for(var C in g)i(d,C,{get:g[C],enumerable:!0})},y=(d,g,C,P)=>{if(g&&typeof g=="object"||typeof g=="function")for(let U of a(g))!u.call(d,U)&&U!==C&&i(d,U,{get:()=>g[U],enumerable:!(P=s(g,U))||P.enumerable});return d},x=(d,g,C)=>(C=d!=null?t(c(d)):{},y(!d||!d.__esModule?i(C,"default",{value:d,enumerable:!0}):C,d)),b=d=>y(i({},"__esModule",{value:!0}),d),_=(d,g,C)=>(h(d,typeof g!="symbol"?g+"":g,C),C),T=v({"../node_modules/timing-function/lib/UnitBezier.js"(d,g){g.exports=function(){function C(P,U,X,J){this.set(P,U,X,J)}return C.prototype.set=function(P,U,X,J){this._cx=3*P,this._bx=3*(X-P)-this._cx,this._ax=1-this._cx-this._bx,this._cy=3*U,this._by=3*(J-U)-this._cy,this._ay=1-this._cy-this._by},C.epsilon=1e-6,C.prototype._sampleCurveX=function(P){return((this._ax*P+this._bx)*P+this._cx)*P},C.prototype._sampleCurveY=function(P){return((this._ay*P+this._by)*P+this._cy)*P},C.prototype._sampleCurveDerivativeX=function(P){return(3*this._ax*P+2*this._bx)*P+this._cx}
4518,C.prototype._solveCurveX=function(P,U){var X,J,ue,me,Ee,Ve;for(ue=void 0,me=void 0,Ee=void 0,Ve=void 0,X=void 0,J=void 0,Ee=P,J=0;J<8;){if(Ve=this._sampleCurveX(Ee)-P,Math.abs(Ve)<U)return Ee;if(X=this._sampleCurveDerivativeX(Ee),Math.abs(X)<U)break;Ee=Ee-Ve/X,J++}if(ue=0,me=1,Ee=P,Ee<ue)return ue;if(Ee>me)return me;for(;ue<me;){if(Ve=this._sampleCurveX(Ee),Math.abs(Ve-P)<U)return Ee;P>Ve?ue=Ee:me=Ee,Ee=(me-ue)*.5+ue}return Ee},C.prototype.solve=function(P,U){return this._sampleCurveY(this._solveCurveX(P,U))},C.prototype.solveSimple=function(P){return this._sampleCurveY(this._solveCurveX(P,1e-6))},C}()}}),M=v({"../node_modules/levenshtein-edit-distance/index.js"(d,g){var C,P;C=[],P=[];function U(X,J,ue){var me,Ee,Ve,Ge,nt,vt,ft,Dt;if(X===J)return 0;if(me=X.length,Ee=J.length,me===0)return Ee;if(Ee===0)return me;for(ue&&(X=X.toLowerCase(),J=J.toLowerCase()),ft=0;ft<me;)P[ft]=X.charCodeAt(ft),C[ft]=++ft;for(Dt=0;Dt<Ee;)for(Ve=J.charCodeAt(Dt),Ge=nt=Dt++,ft=-1;++ft<me;)vt=Ve===P[ft]?nt:nt+1,nt=C[ft],C[ft]=Ge=nt>Ge?vt>Ge?Ge+1:vt:vt>nt?nt+1:vt;return Ge}g.exports=U}}),I=v({"../node_modules/propose/propose.js"(d,g){var C=M();function P(){var U,X,J,ue,me,Ee=0,Ve=arguments[0],Ge=arguments[1],nt=Ge.length,vt=arguments[2];vt&&(ue=vt.threshold,me=vt.ignoreCase),ue===void 0&&(ue=0);for(var ft=0;ft<nt;++ft)me?X=C(Ve,Ge[ft],!0):X=C(Ve,Ge[ft]),X>Ve.length?U=1-X/Ge[ft].length:U=1-X/Ve.length,U>Ee&&(Ee=U,J=Ge[ft]);return Ee>=ue?J:null}g.exports=P}}),R=v({"../node_modules/fast-deep-equal/index.js"(d,g){g.exports=function C(P,U){if(P===U)return!0;if(P&&U&&typeof P=="object"&&typeof U=="object"){if(P.constructor!==U.constructor)return!1;var X,J,ue;if(Array.isArray(P)){if(X=P.length,X!=U.length)return!1;for(J=X;J--!==0;)if(!C(P[J],U[J]))return!1;return!0}if(P.constructor===RegExp)return P.source===U.source&&P.flags===U.flags;if(P.valueOf!==Object.prototype.valueOf)return P.valueOf()===U.valueOf();if(P.toString!==Object.prototype.toString)return P.toString()===U.toString();if(ue=Object.keys(P),X=ue.length,X!==Object.keys(U).length)return!1;for(J=X;J--!==0;)if(!Object.prototype.hasOwnProperty.call(U,ue[J]))return!1;for(J=X;J--!==0;){var me=ue[J];if(!C(P[me],U[me]))return!1}return!0}return P!==P&&U!==U}}}),w={};A(w,{createRafDriver:()=>Xv,getProject:()=>M5,notify:()=>ju,onChange:()=>g2,types:()=>Yv,val:()=>I5}),n.exports=b(w);var E={};A(E,{createRafDriver:()=>Xv,getProject:()=>M5,notify:()=>ju,onChange:()=>g2,types:()=>Yv,val:()=>I5});var F=Oi(),L=class{constructor(){_(this,"atom",new F.Atom({projects:{}}))}add(d,g){this.atom.setByPointer(C=>C.projects[d],g)}get(d){return this.atom.get().projects[d]}has(d){return!!this.get(d)}},z=new L,V=z,j=new WeakMap;function N(d){return j.get(d)}function Q(d,g){j.set(d,g)}var W=[],ee=Array.isArray,H=ee,ye=typeof Qo=="object"&&Qo&&Qo.Object===Object&&Qo,Ie=ye,ze=typeof self=="object"&&self&&self.Object===Object&&self,oe=Ie||ze||Function("return this")(),_e=oe,Fe=_e.Symbol,Z=Fe,Ae=Object.prototype,we=Ae.hasOwnProperty,be=Ae.toString,qe=Z?Z.toStringTag:void 0;function rt(d){var g=we.call(d,qe),C=d[qe];try{d[qe]=void 0;var P=!0}catch{}var U=be.call(d);return P&&(g?d[qe]=C:delete d[qe]),U}var q=rt,B=Object.prototype,le=B.toString;function ve(d){return le.call(d)}var $=ve,de="[object Null]",De="[object Undefined]",xe=Z?Z.toStringTag:void 0;function k(d){return d==null?d===void 0?De:de:xe&&xe in Object(d)?q(d):$(d)}var D=k;function ne(d){return d!=null&&typeof d=="object"}var re=ne,ce="[object Symbol]";function fe(d){return typeof d=="symbol"||re(d)&&D(d)==ce}var Pe=fe,Le=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Oe=/^\w*$/;function dt(d,g){if(H(d))return!1;var C=typeof d;return C=="number"||C=="symbol"||C=="boolean"||d==null||Pe(d)?!0:Oe.test(d)||!Le.test(d)||g!=null&&d in Object(g)}var Be=dt;function He(d){var g=typeof d;return d!=null&&(g=="object"||g=="function")}var Xe=He,st="[object AsyncFunction]",et="[object Function]",mt="[object GeneratorFunction]",lt="[object Proxy]";function Rt(d){if(!Xe(d))return!1;var g=D(d);return g==et||g==mt||g==st||g==lt}var te=Rt,We=_e["__core-js_shared__"],Ce=We,Me=function(){var d=/[^.]+$/.exec(Ce&&Ce.keys&&Ce.keys.IE_PROTO||"");
vendor: 4,325 bytes, line 4518
4518return d?"Symbol(src)_1."+d:""}();function je(d){return!!Me&&Me in d}var Ye=je,_t=Function.prototype,jt=_t.toString;function Bn(d){if(d!=null){try{return jt.call(d)}catch{}try{return d+""}catch{}}return""}var $e=Bn,ot=/[\\^$.*+?()[\]{}|]/g,Mt=/^\[object .+?Constructor\]$/,Ze=Function.prototype,wt=Object.prototype,ct=Ze.toString,bt=wt.hasOwnProperty,Vn=RegExp("^"+ct.call(bt).replace(ot,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Bt(d){if(!Xe(d)||Ye(d))return!1;var g=te(d)?Vn:Mt;return g.test($e(d))}var $t=Bt;function Qn(d,g){return d==null?void 0:d[g]}var ln=Qn;function cn(d,g){var C=ln(d,g);return $t(C)?C:void 0}var Ft=cn,tr=Ft(Object,"create"),rn=tr;function ci(){this.__data__=rn?rn(null):{},this.size=0}var hr=ci;function Zn(d){var g=this.has(d)&&delete this.__data__[d];return this.size-=g?1:0,g}var Jn=Zn,G="__lodash_hash_undefined__",ae=Object.prototype,ge=ae.hasOwnProperty;function pe(d){var g=this.__data__;if(rn){var C=g[d];return C===G?void 0:C}return ge.call(g,d)?g[d]:void 0}var se=pe,Ue=Object.prototype,Je=Ue.hasOwnProperty;function tt(d){var g=this.__data__;return rn?g[d]!==void 0:Je.call(g,d)}var it=tt,pt="__lodash_hash_undefined__";function yt(d,g){var C=this.__data__;return this.size+=this.has(d)?0:1,C[d]=rn&&g===void 0?pt:g,this}var ht=yt;function xt(d){var g=-1,C=d==null?0:d.length;for(this.clear();++g<C;){var P=d[g];this.set(P[0],P[1])}}xt.prototype.clear=hr,xt.prototype.delete=Jn,xt.prototype.get=se,xt.prototype.has=it,xt.prototype.set=ht;var Kt=xt;function Wn(){this.__data__=[],this.size=0}var Dn=Wn;function Ut(d,g){return d===g||d!==d&&g!==g}var At=Ut;function Ai(d,g){for(var C=d.length;C--;)if(At(d[C][0],g))return C;return-1}var Gt=Ai,Lr=Array.prototype,Lo=Lr.splice;function nr(d){var g=this.__data__,C=Gt(g,d);if(C<0)return!1;var P=g.length-1;return C==P?g.pop():Lo.call(g,C,1),--this.size,!0}var oa=nr;function wn(d){var g=this.__data__,C=Gt(g,d);return C<0?void 0:g[C][1]}var vi=wn;function ir(d){return Gt(this.__data__,d)>-1}var Ri=ir;function Ci(d,g){var C=this.__data__,P=Gt(C,d);return P<0?(++this.size,C.push([d,g])):C[P][1]=g,this}var uc=Ci;function pr(d){var g=-1,C=d==null?0:d.length;for(this.clear();++g<C;){var P=d[g];this.set(P[0],P[1])}}pr.prototype.clear=Dn,pr.prototype.delete=oa,pr.prototype.get=vi,pr.prototype.has=Ri,pr.prototype.set=uc;var Uu=pr,zA=Ft(_e,"Map"),fc=zA;function HA(){this.size=0,this.__data__={hash:new Kt,map:new(fc||Uu),string:new Kt}}var VA=HA;function GA(d){var g=typeof d;return g=="string"||g=="number"||g=="symbol"||g=="boolean"?d!=="__proto__":d===null}var QA=GA;function WA(d,g){var C=d.__data__;return QA(g)?C[typeof g=="string"?"string":"hash"]:C.map}var dc=WA;function Lp(d){var g=dc(this,d).delete(d);return this.size-=g?1:0,g}var Op=Lp;function jA(d){return dc(this,d).get(d)}var qA=jA;function XA(d){return dc(this,d).has(d)}var YA=XA;function $A(d,g){var C=dc(this,d),P=C.size;return C.set(d,g),this.size+=C.size==P?0:1,this}var KA=$A;function il(d){var g=-1,C=d==null?0:d.length;for(this.clear();++g<C;){var P=d[g];this.set(P[0],P[1])}}il.prototype.clear=VA,il.prototype.delete=Op,il.prototype.get=qA,il.prototype.has=YA,il.prototype.set=KA;var Nu=il,ZA="Expected a function";function Xd(d,g){if(typeof d!="function"||g!=null&&typeof g!="function")throw new TypeError(ZA);var C=function(){var P=arguments,U=g?g.apply(this,P):P[0],X=C.cache;if(X.has(U))return X.get(U);var J=d.apply(this,P);return C.cache=X.set(U,J)||X,J};return C.cache=new(Xd.Cache||Nu),C}Xd.Cache=Nu;var JA=Xd,ev=500;function tv(d){var g=JA(d,function(P){return C.size===ev&&C.clear(),P}),C=g.cache;return g}var nv=tv,iv=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,rv=/\\(\\)?/g,sv=nv(function(d){var g=[];return d.charCodeAt(0)===46&&g.push(""),d.replace(iv,function(C,P,U,X){g.push(U?X.replace(rv,"$1"):P||C)}),g}),ov=sv;function Fp(d,g){for(var C=-1,P=d==null?0:d.length,U=Array(P);++C<P;)U[C]=g(d[C],C,d);return U}var av=Fp,Up=Z?Z.prototype:void 0,Np=Up?Up.toString:void 0;function kp(d){if(typeof d=="string")return d;if(H(d))return av(d,kp)+"";if(Pe(d))return Np?Np.call(d):"";var g=d+"";return g=="0"&&1/d==-1/0?"-0":g}var zp=kp;function lv(d){return d==null?"":zp(d)}var ku=lv;function Hp(d,g){return H(d)?d:Be(d,g)?[d]:ov(ku(d))}var hc=Hp;
4518function cv(d){if(typeof d=="string"||Pe(d))return d;var g=d+"";return g=="0"&&1/d==-1/0?"-0":g}var fo=cv;function pc(d,g){g=hc(g,d);for(var C=0,P=g.length;d!=null&&C<P;)d=d[fo(g[C++])];return C&&C==P?d:void 0}var zu=pc;function Yd(d,g,C){var P=d==null?void 0:zu(d,g);return P===void 0?C:P}var aa=Yd;function Vp(d,g){return g.length===0?d:aa(d,g)}var rl=class{constructor(){_(this,"_values",{})}get(d,g){if(this.has(d))return this._values[d];{const C=g();return this._values[d]=C,C}}has(d){return this._values.hasOwnProperty(d)}},Bi=Oi(),Hu=function(){try{var d=Ft(Object,"defineProperty");return d({},"",{}),d}catch{}}(),$d=Hu;function uv(d,g,C){g=="__proto__"&&$d?$d(d,g,{configurable:!0,enumerable:!0,value:C,writable:!0}):d[g]=C}var la=uv,mc=Object.prototype,fv=mc.hasOwnProperty;function dv(d,g,C){var P=d[g];(!(fv.call(d,g)&&At(P,C))||C===void 0&&!(g in d))&&la(d,g,C)}var Kd=dv,hv=9007199254740991,Gp=/^(?:0|[1-9]\d*)$/;function pv(d,g){var C=typeof d;return g=g??hv,!!g&&(C=="number"||C!="symbol"&&Gp.test(d))&&d>-1&&d%1==0&&d<g}var Zd=pv;function mv(d,g,C,P){if(!Xe(d))return d;g=hc(g,d);for(var U=-1,X=g.length,J=X-1,ue=d;ue!=null&&++U<X;){var me=fo(g[U]),Ee=C;if(me==="__proto__"||me==="constructor"||me==="prototype")return d;if(U!=J){var Ve=ue[me];Ee=P?P(Ve,me,ue):void 0,Ee===void 0&&(Ee=Xe(Ve)?Ve:Zd(g[U+1])?[]:{})}Kd(ue,me,Ee),ue=ue[me]}return d}var Qp=mv;function Wp(d,g,C){return d==null?d:Qp(d,g,C)}var Vu=Wp,ji=new WeakMap;function gv(d){return Jd(d)}function Jd(d){if(ji.has(d))return ji.get(d);const g=d.type==="compound"?qp(d):d.type==="enum"?jp(d):d.default;return ji.set(d,g),g}function jp(d){const g={$case:d.defaultCase};for(const[C,P]of Object.entries(d.cases))g[C]=Jd(P);return g}function qp(d){const g={};for(const[C,P]of Object.entries(d.props))g[C]=Jd(P);return g}var Or=Oi(),Av=x(T());function vv(d,g,C){return(0,Or.prism)(()=>{const P=(0,Or.val)(g);return Or.prism.memo("driver",()=>P?P.type==="BasicKeyframedTrack"?yv(d,P,C):(d.logger.error("Track type not yet supported."),(0,Or.prism)(()=>{})):(0,Or.prism)(()=>{}),[P]).getValue()})}function yv(d,g,C){return(0,Or.prism)(()=>{let P=Or.prism.ref("state",{started:!1}),U=P.current;const X=C.getValue();return(!U.started||X<U.validFrom||U.validTo<=X)&&(P.current=U=_v(d,C,g)),U.der.getValue()})}var Xp=(0,Or.prism)(()=>{});function _v(d,g,C){const P=g.getValue();if(C.keyframes.length===0)return{started:!0,validFrom:-1/0,validTo:1/0,der:Xp};let U=0;for(;;){const X=C.keyframes[U];if(!X)return Di.error;const J=U===C.keyframes.length-1;if(P<X.position)return U===0?Di.beforeFirstKeyframe(X):Di.error;if(X.position===P)return J?Di.lastKeyframe(X):Di.between(X,C.keyframes[U+1],g);if(U===C.keyframes.length-1)return Di.lastKeyframe(X);{const ue=U+1;if(C.keyframes[ue].position<=P){U=ue;continue}else return Di.between(X,C.keyframes[U+1],g)}}}var Di={beforeFirstKeyframe(d){return{started:!0,validFrom:-1/0,validTo:d.position,der:(0,Or.prism)(()=>({left:d.value,progression:0}))}},lastKeyframe(d){return{started:!0,validFrom:d.position,validTo:1/0,der:(0,Or.prism)(()=>({left:d.value,progression:0}))}},between(d,g,C){if(!d.connectedRight)return{started:!0,validFrom:d.position,validTo:g.position,der:(0,Or.prism)(()=>({left:d.value,progression:0}))};const P=X=>(X-d.position)/(g.position-d.position);if(!d.type||d.type==="bezier"){const X=new Av.default(d.handles[2],d.handles[3],g.handles[0],g.handles[1]),J=(0,Or.prism)(()=>{const ue=P(C.getValue()),me=X.solveSimple(ue);return{left:d.value,right:g.value,progression:me}});return{started:!0,validFrom:d.position,validTo:g.position,der:J}}const U=(0,Or.prism)(()=>{const X=P(C.getValue()),J=Math.floor(X);return{left:d.value,right:g.value,progression:J}});return{started:!0,validFrom:d.position,validTo:g.position,der:U}},error:{started:!0,validFrom:-1/0,validTo:1/0,der:Xp}};function gc(d,g,C){const U=C.get(d);if(U&&U.override===g)return U.merged;const X=p({},d);for(const J of Object.keys(g)){const ue=g[J],me=d[J];X[J]=typeof ue=="object"&&typeof me=="object"?gc(me,ue,C):ue===void 0?me:ue}return C.set(d,{override:g,merged:X}),X}function Ac(d,g){let C=d;for(const P of g)C=C[P];return C}var vc=Oi(),Yp=(d,g)=>{const C=vc.prism.memo(d,()=>new vc.Atom(g),[]);return C.set(g),C},vn=Oi(),eh=Oi(),bv=/\s/;function $p(d){for(var g=d.length;g--&&bv.test(d.charAt(g)););return g}var Kp=$p,Zp=/^\s+/;function xv(d){return d&&d.slice(0,Kp(d)+1).replace(Zp,"")}var Gu=xv,th=NaN,Cv=/^[-+]0x[0-9a-f]+$/i,wv=/^0b[01]+$/i,Jp=/^0o[0-7]+$/i,Sv=parseInt;
vendor: 5,438 bytes, line 4518
4518function Ev(d){if(typeof d=="number")return d;if(Pe(d))return th;if(Xe(d)){var g=typeof d.valueOf=="function"?d.valueOf():d;d=Xe(g)?g+"":g}if(typeof d!="string")return d===0?d:+d;d=Gu(d);var C=wv.test(d);return C||Jp.test(d)?Sv(d.slice(2),C?2:8):Cv.test(d)?th:+d}var O=Ev,Y=1/0,ie=17976931348623157e292;function Se(d){if(!d)return d===0?d:0;if(d=O(d),d===Y||d===-1/0){var g=d<0?-1:1;return g*ie}return d===d?d:0}var St=Se;function on(d){var g=St(d),C=g%1;return g===g?C?g-C:g:0}var rr=on;function Vs(d){return d}var em=Vs,sl=Ft(_e,"WeakMap"),yc=sl,k4=Object.create,rB=function(){function d(){}return function(g){if(!Xe(g))return{};if(k4)return k4(g);d.prototype=g;var C=new d;return d.prototype=void 0,C}}(),sB=rB;function oB(d,g){var C=-1,P=d.length;for(g||(g=Array(P));++C<P;)g[C]=d[C];return g}var aB=oB;function lB(d,g){for(var C=-1,P=d==null?0:d.length;++C<P&&g(d[C],C,d)!==!1;);return d}var cB=lB;function uB(d,g,C,P){var U=!C;C||(C={});for(var X=-1,J=g.length;++X<J;){var ue=g[X],me=P?P(C[ue],d[ue],ue,C,d):void 0;me===void 0&&(me=d[ue]),U?la(C,ue,me):Kd(C,ue,me)}return C}var tm=uB,fB=9007199254740991;function dB(d){return typeof d=="number"&&d>-1&&d%1==0&&d<=fB}var Tv=dB;function hB(d){return d!=null&&Tv(d.length)&&!te(d)}var z4=hB,pB=Object.prototype;function mB(d){var g=d&&d.constructor,C=typeof g=="function"&&g.prototype||pB;return d===C}var Mv=mB;function gB(d,g){for(var C=-1,P=Array(d);++C<d;)P[C]=g(C);return P}var AB=gB,vB="[object Arguments]";function yB(d){return re(d)&&D(d)==vB}var H4=yB,V4=Object.prototype,_B=V4.hasOwnProperty,bB=V4.propertyIsEnumerable,xB=H4(function(){return arguments}())?H4:function(d){return re(d)&&_B.call(d,"callee")&&!bB.call(d,"callee")},G4=xB;function CB(){return!1}var wB=CB,Q4=e&&!e.nodeType&&e,W4=Q4&&!0&&n&&!n.nodeType&&n,SB=W4&&W4.exports===Q4,j4=SB?_e.Buffer:void 0,EB=j4?j4.isBuffer:void 0,TB=EB||wB,nm=TB,MB="[object Arguments]",IB="[object Array]",PB="[object Boolean]",RB="[object Date]",BB="[object Error]",DB="[object Function]",LB="[object Map]",OB="[object Number]",FB="[object Object]",UB="[object RegExp]",NB="[object Set]",kB="[object String]",zB="[object WeakMap]",HB="[object ArrayBuffer]",VB="[object DataView]",GB="[object Float32Array]",QB="[object Float64Array]",WB="[object Int8Array]",jB="[object Int16Array]",qB="[object Int32Array]",XB="[object Uint8Array]",YB="[object Uint8ClampedArray]",$B="[object Uint16Array]",KB="[object Uint32Array]",Gn={};Gn[GB]=Gn[QB]=Gn[WB]=Gn[jB]=Gn[qB]=Gn[XB]=Gn[YB]=Gn[$B]=Gn[KB]=!0,Gn[MB]=Gn[IB]=Gn[HB]=Gn[PB]=Gn[VB]=Gn[RB]=Gn[BB]=Gn[DB]=Gn[LB]=Gn[OB]=Gn[FB]=Gn[UB]=Gn[NB]=Gn[kB]=Gn[zB]=!1;function ZB(d){return re(d)&&Tv(d.length)&&!!Gn[D(d)]}var JB=ZB;function eD(d){return function(g){return d(g)}}var Iv=eD,q4=e&&!e.nodeType&&e,nh=q4&&!0&&n&&!n.nodeType&&n,tD=nh&&nh.exports===q4,Pv=tD&&Ie.process,nD=function(){try{var d=nh&&nh.require&&nh.require("util").types;return d||Pv&&Pv.binding&&Pv.binding("util")}catch{}}(),Qu=nD,X4=Qu&&Qu.isTypedArray,iD=X4?Iv(X4):JB,Y4=iD,rD=Object.prototype,sD=rD.hasOwnProperty;function oD(d,g){var C=H(d),P=!C&&G4(d),U=!C&&!P&&nm(d),X=!C&&!P&&!U&&Y4(d),J=C||P||U||X,ue=J?AB(d.length,String):[],me=ue.length;for(var Ee in d)(g||sD.call(d,Ee))&&!(J&&(Ee=="length"||U&&(Ee=="offset"||Ee=="parent")||X&&(Ee=="buffer"||Ee=="byteLength"||Ee=="byteOffset")||Zd(Ee,me)))&&ue.push(Ee);return ue}var $4=oD;function aD(d,g){return function(C){return d(g(C))}}var K4=aD,lD=K4(Object.keys,Object),cD=lD,uD=Object.prototype,fD=uD.hasOwnProperty;function dD(d){if(!Mv(d))return cD(d);var g=[];for(var C in Object(d))fD.call(d,C)&&C!="constructor"&&g.push(C);return g}var hD=dD;function pD(d){return z4(d)?$4(d):hD(d)}var ih=pD;function mD(d){var g=[];if(d!=null)for(var C in Object(d))g.push(C);return g}var gD=mD,AD=Object.prototype,vD=AD.hasOwnProperty;function yD(d){if(!Xe(d))return gD(d);var g=Mv(d),C=[];for(var P in d)P=="constructor"&&(g||!vD.call(d,P))||C.push(P);return C}var _D=yD;function bD(d){return z4(d)?$4(d,!0):_D(d)}var Rv=bD;function xD(d,g){for(var C=-1,P=g.length,U=d.length;++C<P;)d[U+C]=g[C];return d}var Z4=xD,CD=K4(Object.getPrototypeOf,Object),Bv=CD,wD="[object Object]",SD=Function.prototype,ED=Object.prototype,J4=SD.toString,TD=ED.hasOwnProperty,MD=J4.call(Object);function ID(d){if(!re(d)||D(d)!=wD)return!1;var g=Bv(d);if(g===null)return!0;var C=TD.call(g,"constructor")&&g.constructor;return typeof C=="function"&&C instanceof C&&J4.call(C)==MD}var PD=ID;function RD(d,g,C){var P=-1,U=d.length;g<0&&(g=-g>U?0:U+g),C=C>U?U:C,C<0&&(C+=U),U=g>C?0:C-g>>>0,g>>>=0;for(var X=Array(U);++P<U;)X[P]=d[P+g];return X}var e9=RD;function BD(d,g,C){var P=d.length;return C=C===void 0?P:C,!g&&C>=P?d:e9(d,g,C)}var DD=BD,LD="\\ud800-\\udfff",OD="\\u0300-\\u036f",FD="\\ufe20-\\ufe2f",UD="\\u20d0-\\u20ff",ND=OD+FD+UD,kD="\\ufe0e\\ufe0f",zD="\\u200d",HD=RegExp("["+zD+LD+ND+kD+"]");function VD(d){return HD.test(d)}var Dv=VD;function GD(d){return d.split("")}var QD=GD,t9="\\ud800-\\udfff",WD="\\u0300-\\u036f",jD="\\ufe20-\\ufe2f",qD="\\u20d0-\\u20ff",XD=WD+jD+qD,YD="\\ufe0e\\ufe0f",$D="["+t9+"]",Lv="["+XD+"]",Ov="\\ud83c[\\udffb-\\udfff]",KD="(?:"+Lv+"|"+Ov+")",n9="[^"+t9+"]",i9="(?:\\ud83c[\\udde6-\\uddff]){2}",r9="[\\ud800-\\udbff][\\udc00-\\udfff]",ZD="\\u200d",s9=KD+"?",o9="["+YD+"]?",JD="(?:"+ZD+"(?:"+[n9,i9,r9].join("|")+")"+o9+s9+")*",eL=o9+s9+JD,tL="(?:"+[n9+Lv+"?",Lv,i9,r9,$D].join("|")+")",nL=RegExp(Ov+"(?="+Ov+")|"+tL+eL,"g");function iL(d){return d.match(nL)||[]}
4518var rL=iL;function sL(d){return Dv(d)?rL(d):QD(d)}var oL=sL;function aL(d,g,C){return d===d&&(C!==void 0&&(d=d<=C?d:C),g!==void 0&&(d=d>=g?d:g)),d}var lL=aL;function cL(d,g,C){return C===void 0&&(C=g,g=void 0),C!==void 0&&(C=O(C),C=C===C?C:0),g!==void 0&&(g=O(g),g=g===g?g:0),lL(O(d),g,C)}var a9=cL;function uL(){this.__data__=new Uu,this.size=0}var fL=uL;function dL(d){var g=this.__data__,C=g.delete(d);return this.size=g.size,C}var hL=dL;function pL(d){return this.__data__.get(d)}var mL=pL;function gL(d){return this.__data__.has(d)}var AL=gL,vL=200;function yL(d,g){var C=this.__data__;if(C instanceof Uu){var P=C.__data__;if(!fc||P.length<vL-1)return P.push([d,g]),this.size=++C.size,this;C=this.__data__=new Nu(P)}return C.set(d,g),this.size=C.size,this}var _L=yL;function Wu(d){var g=this.__data__=new Uu(d);this.size=g.size}Wu.prototype.clear=fL,Wu.prototype.delete=hL,Wu.prototype.get=mL,Wu.prototype.has=AL,Wu.prototype.set=_L;var rh=Wu;function bL(d,g){return d&&tm(g,ih(g),d)}var xL=bL;function CL(d,g){return d&&tm(g,Rv(g),d)}var wL=CL,l9=e&&!e.nodeType&&e,c9=l9&&!0&&n&&!n.nodeType&&n,SL=c9&&c9.exports===l9,u9=SL?_e.Buffer:void 0,f9=u9?u9.allocUnsafe:void 0;function EL(d,g){if(g)return d.slice();var C=d.length,P=f9?f9(C):new d.constructor(C);return d.copy(P),P}var TL=EL;function ML(d,g){for(var C=-1,P=d==null?0:d.length,U=0,X=[];++C<P;){var J=d[C];g(J,C,d)&&(X[U++]=J)}return X}var IL=ML;function PL(){return[]}var d9=PL,RL=Object.prototype,BL=RL.propertyIsEnumerable,h9=Object.getOwnPropertySymbols,DL=h9?function(d){return d==null?[]:(d=Object(d),IL(h9(d),function(g){return BL.call(d,g)}))}:d9,Fv=DL;function LL(d,g){return tm(d,Fv(d),g)}var OL=LL,FL=Object.getOwnPropertySymbols,UL=FL?function(d){for(var g=[];d;)Z4(g,Fv(d)),d=Bv(d);return g}:d9,p9=UL;function NL(d,g){return tm(d,p9(d),g)}var kL=NL;function zL(d,g,C){var P=g(d);return H(d)?P:Z4(P,C(d))}var m9=zL;function HL(d){return m9(d,ih,Fv)}var Uv=HL;function VL(d){return m9(d,Rv,p9)}var GL=VL,QL=Ft(_e,"DataView"),Nv=QL,WL=Ft(_e,"Promise"),kv=WL,jL=Ft(_e,"Set"),zv=jL,g9="[object Map]",qL="[object Object]",A9="[object Promise]",v9="[object Set]",y9="[object WeakMap]",_9="[object DataView]",XL=$e(Nv),YL=$e(fc),$L=$e(kv),KL=$e(zv),ZL=$e(yc),_c=D;(Nv&&_c(new Nv(new ArrayBuffer(1)))!=_9||fc&&_c(new fc)!=g9||kv&&_c(kv.resolve())!=A9||zv&&_c(new zv)!=v9||yc&&_c(new yc)!=y9)&&(_c=function(d){var g=D(d),C=g==qL?d.constructor:void 0,P=C?$e(C):"";if(P)switch(P){case XL:return _9;case YL:return g9;case $L:return A9;case KL:return v9;case ZL:return y9}return g});var sh=_c,JL=Object.prototype,eO=JL.hasOwnProperty;function tO(d){var g=d.length,C=new d.constructor(g);return g&&typeof d[0]=="string"&&eO.call(d,"index")&&(C.index=d.index,C.input=d.input),C}var nO=tO,iO=_e.Uint8Array,im=iO;function rO(d){var g=new d.constructor(d.byteLength);return new im(g).set(new im(d)),g}var Hv=rO;function sO(d,g){var C=g?Hv(d.buffer):d.buffer;return new d.constructor(C,d.byteOffset,d.byteLength)}var oO=sO,aO=/\w*$/;function lO(d){var g=new d.constructor(d.source,aO.exec(d));return g.lastIndex=d.lastIndex,g}var cO=lO,b9=Z?Z.prototype:void 0,x9=b9?b9.valueOf:void 0;function uO(d){return x9?Object(x9.call(d)):{}}var fO=uO;function dO(d,g){var C=g?Hv(d.buffer):d.buffer;return new d.constructor(C,d.byteOffset,d.length)}var hO=dO,pO="[object Boolean]",mO="[object Date]",gO="[object Map]",AO="[object Number]",vO="[object RegExp]",yO="[object Set]",_O="[object String]",bO="[object Symbol]",xO="[object ArrayBuffer]",CO="[object DataView]",wO="[object Float32Array]",SO="[object Float64Array]",EO="[object Int8Array]",TO="[object Int16Array]",MO="[object Int32Array]",IO="[object Uint8Array]",PO="[object Uint8ClampedArray]",RO="[object Uint16Array]",BO="[object Uint32Array]";function DO(d,g,C){var P=d.constructor;switch(g){case xO:return Hv(d);case pO:case mO:return new P(+d);case CO:return oO(d,C);case wO:case SO:case EO:case TO:case MO:case IO:case PO:case RO:case BO:return hO(d,C);case gO:return new P;case AO:case _O:return new P(d);case vO:return cO(d);case yO:return new P;case bO:return fO(d)}}var LO=DO;function OO(d){return typeof d.constructor=="function"&&!Mv(d)?sB(Bv(d)):{}}var FO=OO,UO="[object Map]";function NO(d){return re(d)&&sh(d)==UO}var kO=NO,C9=Qu&&Qu.isMap,zO=C9?Iv(C9):kO,HO=zO,VO="[object Set]";function GO(d){return re(d)&&sh(d)==VO}
vendor: 4,343 bytes, line 4518
4518var QO=GO,w9=Qu&&Qu.isSet,WO=w9?Iv(w9):QO,jO=WO,qO=1,XO=2,YO=4,S9="[object Arguments]",$O="[object Array]",KO="[object Boolean]",ZO="[object Date]",JO="[object Error]",E9="[object Function]",eF="[object GeneratorFunction]",tF="[object Map]",nF="[object Number]",T9="[object Object]",iF="[object RegExp]",rF="[object Set]",sF="[object String]",oF="[object Symbol]",aF="[object WeakMap]",lF="[object ArrayBuffer]",cF="[object DataView]",uF="[object Float32Array]",fF="[object Float64Array]",dF="[object Int8Array]",hF="[object Int16Array]",pF="[object Int32Array]",mF="[object Uint8Array]",gF="[object Uint8ClampedArray]",AF="[object Uint16Array]",vF="[object Uint32Array]",Ln={};Ln[S9]=Ln[$O]=Ln[lF]=Ln[cF]=Ln[KO]=Ln[ZO]=Ln[uF]=Ln[fF]=Ln[dF]=Ln[hF]=Ln[pF]=Ln[tF]=Ln[nF]=Ln[T9]=Ln[iF]=Ln[rF]=Ln[sF]=Ln[oF]=Ln[mF]=Ln[gF]=Ln[AF]=Ln[vF]=!0,Ln[JO]=Ln[E9]=Ln[aF]=!1;function rm(d,g,C,P,U,X){var J,ue=g&qO,me=g&XO,Ee=g&YO;if(C&&(J=U?C(d,P,U,X):C(d)),J!==void 0)return J;if(!Xe(d))return d;var Ve=H(d);if(Ve){if(J=nO(d),!ue)return aB(d,J)}else{var Ge=sh(d),nt=Ge==E9||Ge==eF;if(nm(d))return TL(d,ue);if(Ge==T9||Ge==S9||nt&&!U){if(J=me||nt?{}:FO(d),!ue)return me?kL(d,wL(J,d)):OL(d,xL(J,d))}else{if(!Ln[Ge])return U?d:{};J=LO(d,Ge,ue)}}X||(X=new rh);var vt=X.get(d);if(vt)return vt;X.set(d,J),jO(d)?d.forEach(function(kt){J.add(rm(kt,g,C,kt,d,X))}):HO(d)&&d.forEach(function(kt,It){J.set(It,rm(kt,g,C,It,d,X))});var ft=Ee?me?GL:Uv:me?Rv:ih,Dt=Ve?void 0:ft(d);return cB(Dt||d,function(kt,It){Dt&&(It=kt,kt=d[It]),Kd(J,It,rm(kt,g,C,It,d,X))}),J}var yF=rm,_F=1,bF=4;function xF(d){return yF(d,_F|bF)}var CF=xF,wF="__lodash_hash_undefined__";function SF(d){return this.__data__.set(d,wF),this}var EF=SF;function TF(d){return this.__data__.has(d)}var MF=TF;function sm(d){var g=-1,C=d==null?0:d.length;for(this.__data__=new Nu;++g<C;)this.add(d[g])}sm.prototype.add=sm.prototype.push=EF,sm.prototype.has=MF;var IF=sm;function PF(d,g){for(var C=-1,P=d==null?0:d.length;++C<P;)if(g(d[C],C,d))return!0;return!1}var RF=PF;function BF(d,g){return d.has(g)}var DF=BF,LF=1,OF=2;function FF(d,g,C,P,U,X){var J=C&LF,ue=d.length,me=g.length;if(ue!=me&&!(J&&me>ue))return!1;var Ee=X.get(d),Ve=X.get(g);if(Ee&&Ve)return Ee==g&&Ve==d;var Ge=-1,nt=!0,vt=C&OF?new IF:void 0;for(X.set(d,g),X.set(g,d);++Ge<ue;){var ft=d[Ge],Dt=g[Ge];if(P)var kt=J?P(Dt,ft,Ge,g,d,X):P(ft,Dt,Ge,d,g,X);if(kt!==void 0){if(kt)continue;nt=!1;break}if(vt){if(!RF(g,function(It,un){if(!DF(vt,un)&&(ft===It||U(ft,It,C,P,X)))return vt.push(un)})){nt=!1;break}}else if(!(ft===Dt||U(ft,Dt,C,P,X))){nt=!1;break}}return X.delete(d),X.delete(g),nt}var M9=FF;function UF(d){var g=-1,C=Array(d.size);return d.forEach(function(P,U){C[++g]=[U,P]}),C}var NF=UF;function kF(d){var g=-1,C=Array(d.size);return d.forEach(function(P){C[++g]=P}),C}var zF=kF,HF=1,VF=2,GF="[object Boolean]",QF="[object Date]",WF="[object Error]",jF="[object Map]",qF="[object Number]",XF="[object RegExp]",YF="[object Set]",$F="[object String]",KF="[object Symbol]",ZF="[object ArrayBuffer]",JF="[object DataView]",I9=Z?Z.prototype:void 0,Vv=I9?I9.valueOf:void 0;function eU(d,g,C,P,U,X,J){switch(C){case JF:if(d.byteLength!=g.byteLength||d.byteOffset!=g.byteOffset)return!1;d=d.buffer,g=g.buffer;case ZF:return!(d.byteLength!=g.byteLength||!X(new im(d),new im(g)));case GF:case QF:case qF:return At(+d,+g);case WF:return d.name==g.name&&d.message==g.message;case XF:case $F:return d==g+"";case jF:var ue=NF;case YF:var me=P&HF;if(ue||(ue=zF),d.size!=g.size&&!me)return!1;var Ee=J.get(d);if(Ee)return Ee==g;P|=VF,J.set(d,g);var Ve=M9(ue(d),ue(g),P,U,X,J);return J.delete(d),Ve;case KF:if(Vv)return Vv.call(d)==Vv.call(g)}return!1}var tU=eU,nU=1,iU=Object.prototype,rU=iU.hasOwnProperty;function sU(d,g,C,P,U,X){var J=C&nU,ue=Uv(d),me=ue.length,Ee=Uv(g),Ve=Ee.length;if(me!=Ve&&!J)return!1;for(var Ge=me;Ge--;){var nt=ue[Ge];if(!(J?nt in g:rU.call(g,nt)))return!1}var vt=X.get(d),ft=X.get(g);if(vt&&ft)return vt==g&&ft==d;var Dt=!0;X.set(d,g),X.set(g,d);for(var kt=J;++Ge<me;){nt=ue[Ge];var It=d[nt],un=g[nt];if(P)var mr=J?P(un,It,nt,g,d,X):P(It,un,nt,d,g,X);if(!(mr===void 0?It===un||U(It,un,C,P,X):mr)){Dt=!1;break}kt||(kt=nt=="constructor")}if(Dt&&!kt){var ss=d.constructor,gr=g.constructor;ss!=gr&&"constructor"in d&&"constructor"in g&&!(typeof ss=="function"&&ss instanceof ss&&typeof gr=="function"&&gr instanceof gr)&&(Dt=!1)}
4518return X.delete(d),X.delete(g),Dt}var oU=sU,aU=1,P9="[object Arguments]",R9="[object Array]",om="[object Object]",lU=Object.prototype,B9=lU.hasOwnProperty;function cU(d,g,C,P,U,X){var J=H(d),ue=H(g),me=J?R9:sh(d),Ee=ue?R9:sh(g);me=me==P9?om:me,Ee=Ee==P9?om:Ee;var Ve=me==om,Ge=Ee==om,nt=me==Ee;if(nt&&nm(d)){if(!nm(g))return!1;J=!0,Ve=!1}if(nt&&!Ve)return X||(X=new rh),J||Y4(d)?M9(d,g,C,P,U,X):tU(d,g,me,C,P,U,X);if(!(C&aU)){var vt=Ve&&B9.call(d,"__wrapped__"),ft=Ge&&B9.call(g,"__wrapped__");if(vt||ft){var Dt=vt?d.value():d,kt=ft?g.value():g;return X||(X=new rh),U(Dt,kt,C,P,X)}}return nt?(X||(X=new rh),oU(d,g,C,P,U,X)):!1}var uU=cU;function D9(d,g,C,P,U){return d===g?!0:d==null||g==null||!re(d)&&!re(g)?d!==d&&g!==g:uU(d,g,C,P,D9,U)}var L9=D9,fU=1,dU=2;function hU(d,g,C,P){var U=C.length,X=U,J=!P;if(d==null)return!X;for(d=Object(d);U--;){var ue=C[U];if(J&&ue[2]?ue[1]!==d[ue[0]]:!(ue[0]in d))return!1}for(;++U<X;){ue=C[U];var me=ue[0],Ee=d[me],Ve=ue[1];if(J&&ue[2]){if(Ee===void 0&&!(me in d))return!1}else{var Ge=new rh;if(P)var nt=P(Ee,Ve,me,d,g,Ge);if(!(nt===void 0?L9(Ve,Ee,fU|dU,P,Ge):nt))return!1}}return!0}var pU=hU;function mU(d){return d===d&&!Xe(d)}var O9=mU;function gU(d){for(var g=ih(d),C=g.length;C--;){var P=g[C],U=d[P];g[C]=[P,U,O9(U)]}return g}var AU=gU;function vU(d,g){return function(C){return C==null?!1:C[d]===g&&(g!==void 0||d in Object(C))}}var F9=vU;function yU(d){var g=AU(d);return g.length==1&&g[0][2]?F9(g[0][0],g[0][1]):function(C){return C===d||pU(C,d,g)}}var _U=yU;function bU(d,g){return d!=null&&g in Object(d)}var xU=bU;function CU(d,g,C){g=hc(g,d);for(var P=-1,U=g.length,X=!1;++P<U;){var J=fo(g[P]);if(!(X=d!=null&&C(d,J)))break;d=d[J]}return X||++P!=U?X:(U=d==null?0:d.length,!!U&&Tv(U)&&Zd(J,U)&&(H(d)||G4(d)))}var wU=CU;function SU(d,g){return d!=null&&wU(d,g,xU)}var EU=SU,TU=1,MU=2;function IU(d,g){return Be(d)&&O9(g)?F9(fo(d),g):function(C){var P=aa(C,d);return P===void 0&&P===g?EU(C,d):L9(g,P,TU|MU)}}var PU=IU;function RU(d){return function(g){return g==null?void 0:g[d]}}var U9=RU;function BU(d){return function(g){return zu(g,d)}}var DU=BU;function LU(d){return Be(d)?U9(fo(d)):DU(d)}var OU=LU;function FU(d){return typeof d=="function"?d:d==null?em:typeof d=="object"?H(d)?PU(d[0],d[1]):_U(d):OU(d)}var UU=FU;function NU(d){return function(g,C,P){for(var U=-1,X=Object(g),J=P(g),ue=J.length;ue--;){var me=J[d?ue:++U];if(C(X[me],me,X)===!1)break}return g}}var kU=NU,zU=kU(),HU=zU;function VU(d,g){return d&&HU(d,g,ih)}var GU=VU,QU=function(){return _e.Date.now()},Gv=QU,WU="Expected a function",jU=Math.max,qU=Math.min;function XU(d,g,C){var P,U,X,J,ue,me,Ee=0,Ve=!1,Ge=!1,nt=!0;if(typeof d!="function")throw new TypeError(WU);g=O(g)||0,Xe(C)&&(Ve=!!C.leading,Ge="maxWait"in C,X=Ge?jU(O(C.maxWait)||0,g):X,nt="trailing"in C?!!C.trailing:nt);function vt(Mn){var Ar=P,xs=U;return P=U=void 0,Ee=Mn,J=d.apply(xs,Ar),J}function ft(Mn){return Ee=Mn,ue=setTimeout(It,g),Ve?vt(Mn):J}function Dt(Mn){var Ar=Mn-me,xs=Mn-Ee,Oo=g-Ar;return Ge?qU(Oo,X-xs):Oo}function kt(Mn){var Ar=Mn-me,xs=Mn-Ee;return me===void 0||Ar>=g||Ar<0||Ge&&xs>=X}function It(){var Mn=Gv();if(kt(Mn))return un(Mn);ue=setTimeout(It,Dt(Mn))}function un(Mn){return ue=void 0,nt&&P?vt(Mn):(P=U=void 0,J)}function mr(){ue!==void 0&&clearTimeout(ue),Ee=0,P=me=U=ue=void 0}function ss(){return ue===void 0?J:un(Gv())}function gr(){var Mn=Gv(),Ar=kt(Mn);if(P=arguments,U=this,me=Mn,Ar){if(ue===void 0)return ft(me);if(Ge)return clearTimeout(ue),ue=setTimeout(It,g),vt(me)}return ue===void 0&&(ue=setTimeout(It,g)),J}return gr.cancel=mr,gr.flush=ss,gr}var YU=XU;function $U(d){var g=d==null?0:d.length;return g?d[g-1]:void 0}var KU=$U;function ZU(d,g){return g.length<2?d:zu(d,e9(g,0,-1))}var JU=ZU;function eN(d){return typeof d=="number"&&d==rr(d)}var tN=eN;function nN(d,g){var C={};return g=UU(g),GU(d,function(P,U,X){la(C,U,g(P,U,X))}),C}var iN=nN;function rN(d,g){return g=hc(g,d),d=JU(d,g),d==null||delete d[fo(KU(g))]}var sN=rN,oN=9007199254740991,aN=Math.floor;function lN(d,g){var C="";if(!d||g<1||g>oN)return C;do g%2&&(C+=d),g=aN(g/2),g&&(d+=d);while(g);return C}var N9=lN,cN=U9("length"),uN=cN,k9="\\ud800-\\udfff",fN="\\u0300-\\u036f",dN="\\ufe20-\\ufe2f",hN="\\u20d0-\\u20ff",pN=fN+dN+hN,mN="\\ufe0e\\ufe0f",gN="["+k9+"]",Qv="["+pN+"]",Wv="\\ud83c[\\udffb-\\udfff]",AN="(?:"+Qv+"|"+Wv+")",z9="[^"+k9+"]",H9="(?:\\ud83c[\\udde6-\\uddff]){2}",V9="[\\ud800-\\udbff][\\udc00-\\udfff]",vN="\\u200d",G9=AN+"?",Q9="["+mN+"]?",yN="(?:"+vN+"(?:"+[z9,H9,V9].join("|")+")"+Q9+G9+")*",_N=Q9+G9+yN,bN="(?:"+[z9+Qv+"?",Qv,H9,V9,gN].join("|")+")",W9=RegExp(Wv+"(?="+Wv+")|"+bN+_N,"g");function xN(d){for(var g=W9.lastIndex=0;W9.test(d);)++g;return g}var CN=xN;function wN(d){return Dv(d)?CN(d):uN(d)}var j9=wN,SN=Math.ceil;function EN(d,g){g=g===void 0?" ":zp(g);var C=g.length;if(C<2)return C?N9(g,d):g;var P=N9(g,SN(d/j9(g)));return Dv(g)?DD(oL(P),0,d).join(""):P.slice(0,d)}var TN=EN;function MN(d,g,C){d=ku(d),g=rr(g);var P=g?j9(d):0;return g&&P<g?TN(g-P,C)+d:d}var oh=MN;function IN(d,g){return d==null?!0:sN(d,g)}var q9=IN,PN=5*1e3,RN=class{constructor(d){_(this,"_cache",new rl),_(this,"_keepHotUntapDebounce"),Q(this,d)}get type(){return"Theatre_SheetObject_PublicAPI"}get props(){return N(this).propsP}get sheet(){return N(this).sheet.publicApi}get project(){return N(this).sheet.project.publicApi}get address(){return p({},N(this).address)}_valuesPrism(){return this._cache.get("_valuesPrism",()=>{const d=N(this);return(0,eh.prism)(()=>(0,eh.val)(d.getValues().getValue()))})}onValuesChange(d,g){return g2(this._valuesPrism(),d,g)}get value(){const d=this._valuesPrism();{if(!d.isHot){this._keepHotUntapDebounce!=null&&this._keepHotUntapDebounce.flush();const g=d.keepHot();this._keepHotUntapDebounce=YU(()=>{g(),this._keepHotUntapDebounce=void 0}
4518,PN)}this._keepHotUntapDebounce&&this._keepHotUntapDebounce()}return d.getValue()}set initialValue(d){N(this).setInitialValue(d)}};function BN(d){const g=new WeakMap;return C=>(g.has(C)||g.set(C,d(C)),g.get(C))}function am(d){return d.type==="compound"||d.type==="enum"}function jv(d,g){if(!d)return;const[C,...P]=g;if(C===void 0)return d;if(!am(d))return;const U=d.type==="enum"?d.cases[C]:d.props[C];return jv(U,P)}function DN(d){return!am(d)}var LN=class{constructor(d,g,C){this.sheet=d,this.template=g,this.nativeObject=C,_(this,"$$isPointerToPrismProvider",!0),_(this,"address"),_(this,"publicApi"),_(this,"_initialValue",new vn.Atom({})),_(this,"_cache",new rl),_(this,"_logger"),_(this,"_internalUtilCtx"),this._logger=d._logger.named("SheetObject",g.address.objectKey),this._logger._trace("creating object"),this._internalUtilCtx={logger:this._logger.utilFor.internal()},this.address=m(p({},g.address),{sheetInstanceId:d.address.sheetInstanceId}),this.publicApi=new RN(this)}get type(){return"Theatre_SheetObject"}getValues(){return this._cache.get("getValues()",()=>(0,vn.prism)(()=>{const d=(0,vn.val)(this.template.getDefaultValues()),g=(0,vn.val)(this._initialValue.pointer),C=vn.prism.memo("withInitialCache",()=>new WeakMap,[]),P=gc(d,g,C),U=(0,vn.val)(this.template.getStaticValues()),X=vn.prism.memo("withStatics",()=>new WeakMap,[]);let ue=gc(P,U,X),me;{const Ve=vn.prism.memo("seq",()=>this.getSequencedValues(),[]),Ge=vn.prism.memo("withSeqsCache",()=>new WeakMap,[]);me=(0,vn.val)((0,vn.val)(Ve)),ue=gc(ue,me,Ge)}return Yp("finalAtom",ue).pointer}))}getValueByPointer(d){const g=(0,vn.val)(this.getValues()),{path:C}=(0,vn.getPointerParts)(d);return(0,vn.val)(Ac(g,C))}pointerToPrism(d){const{path:g}=(0,vn.getPointerParts)(d);return(0,vn.prism)(()=>{const C=(0,vn.val)(this.getValues());return(0,vn.val)(Ac(C,g))})}getSequencedValues(){return(0,vn.prism)(()=>{const d=vn.prism.memo("tracksToProcess",()=>this.template.getArrayOfValidSequenceTracks(),[]),g=(0,vn.val)(d),C=new vn.Atom({}),P=(0,vn.val)(this.template.configPointer);return vn.prism.effect("processTracks",()=>{const U=[];for(const{trackId:X,pathToProp:J}of g){const ue=this._trackIdToPrism(X),me=jv(P,J),Ee=me.deserializeAndSanitize,Ve=me.interpolate,Ge=()=>{const vt=ue.getValue();if(!vt)return C.setByPointer(un=>Ac(un,J),void 0);const ft=Ee(vt.left),Dt=ft===void 0?me.default:ft;if(vt.right===void 0)return C.setByPointer(un=>Ac(un,J),Dt);const kt=Ee(vt.right),It=kt===void 0?me.default:kt;return C.setByPointer(un=>Ac(un,J),Ve(Dt,It,vt.progression))},nt=ue.onStale(Ge);Ge(),U.push(nt)}return()=>{for(const X of U)X()}},[P,...g]),C.pointer})}_trackIdToPrism(d){const g=this.template.project.pointers.historic.sheetsById[this.address.sheetId].sequence.tracksByObject[this.address.objectKey].trackData[d],C=this.sheet.getSequence().positionPrism;return vv(this._internalUtilCtx,g,C)}get propsP(){return this._cache.get("propsP",()=>(0,vn.pointer)({root:this,path:[]}))}validateValue(d,g){}setInitialValue(d){this.validateValue(this.propsP,d),this._initialValue.set(d)}};function On(d){return function(C,P){return d(C,P())}}var ys={_hmm:_s(524),_todo:_s(522),_error:_s(521),errorDev:_s(529),errorPublic:_s(545),_kapow:_s(268),_warn:_s(265),warnDev:_s(273),warnPublic:_s(289),_debug:_s(137),debugDev:_s(145),_trace:_s(73),traceDev:_s(81)};function _s(d){return Object.freeze({audience:bc(d,8)?"internal":bc(d,16)?"dev":"public",category:bc(d,4)?"troubleshooting":bc(d,2)?"todo":"general",level:bc(d,512)?512:bc(d,256)?256:bc(d,128)?128:64})}function bc(d,g){return(d&g)===g}function Fn(d,g){return((g&32)===32?!0:(g&16)===16?d.dev:(g&8)===8?d.internal:!1)&&d.min<=g}var ca={loggingConsoleStyle:!0,loggerConsoleStyle:!0,includes:Object.freeze({internal:!1,dev:!1,min:256}),filtered:function(){},include:function(){return{}},create:null,creatExt:null,named(d,g,C){return this.create({names:[...d.names,{name:g,key:C}]})},style:{bold:void 0,italic:void 0,cssMemo:new Map([["",""]]),collapseOnRE:/[a-z- ]+/g,color:void 0,collapsed(d){if(d.length<5)return d;const g=d.replace(this.collapseOnRE,"");return this.cssMemo.has(g)||this.cssMemo.set(g,this.css(d)),g},css(d){var g,C,P,U;const X=this.cssMemo.get(d);if(X)return X;let J="color:".concat((C=(g=this.color)==null?void 0:g.call(this,d))!=null?C:"hsl(".concat((d.charCo
4518deAt(0)+d.charCodeAt(d.length-1))%360,", 100%, 60%)"));return(P=this.bold)!=null&&P.test(d)&&(J+=";font-weight:600"),(U=this.italic)!=null&&U.test(d)&&(J+=";font-style:italic"),this.cssMemo.set(d,J),J}}};function X9(d=console,g={}){const C=m(p({},ca),{includes:p({},ca.includes)}),P={styled:UN.bind(C,d),noStyle:kN.bind(C,d)},U=FN.bind(C);function X(){return C.loggingConsoleStyle&&C.loggerConsoleStyle?P.styled:P.noStyle}return C.create=X(),{configureLogger(J){var ue;J==="console"?(C.loggerConsoleStyle=ca.loggerConsoleStyle,C.create=X()):J.type==="console"?(C.loggerConsoleStyle=(ue=J.style)!=null?ue:ca.loggerConsoleStyle,C.create=X()):J.type==="keyed"?(C.creatExt=me=>J.keyed(me.names),C.create=U):J.type==="named"&&(C.creatExt=ON.bind(null,J.named),C.create=U)},configureLogging(J){var ue,me,Ee,Ve,Ge;C.includes.dev=(ue=J.dev)!=null?ue:ca.includes.dev,C.includes.internal=(me=J.internal)!=null?me:ca.includes.internal,C.includes.min=(Ee=J.min)!=null?Ee:ca.includes.min,C.include=(Ve=J.include)!=null?Ve:ca.include,C.loggingConsoleStyle=(Ge=J.consoleStyle)!=null?Ge:ca.loggingConsoleStyle,C.create=X()},getLogger(){return C.create({names:[]})}}}function ON(d,g){const C=[];for(let{name:P,key:U}of g.names)C.push(U==null?P:"".concat(P," (").concat(U,")"));return d(C)}function FN(d){const g=p(p({},this.includes),this.include(d)),C=this.filtered,P=this.named.bind(this,d),U=this.creatExt(d),X=Fn(g,524),J=Fn(g,522),ue=Fn(g,521),me=Fn(g,529),Ee=Fn(g,545),Ve=Fn(g,265),Ge=Fn(g,268),nt=Fn(g,273),vt=Fn(g,289),ft=Fn(g,137),Dt=Fn(g,145),kt=Fn(g,73),It=Fn(g,81),un=X?U.error.bind(U,ys._hmm):C.bind(d,524),mr=J?U.error.bind(U,ys._todo):C.bind(d,522),ss=ue?U.error.bind(U,ys._error):C.bind(d,521),gr=me?U.error.bind(U,ys.errorDev):C.bind(d,529),Mn=Ee?U.error.bind(U,ys.errorPublic):C.bind(d,545),Ar=Ge?U.warn.bind(U,ys._kapow):C.bind(d,268),xs=Ve?U.warn.bind(U,ys._warn):C.bind(d,265),Oo=nt?U.warn.bind(U,ys.warnDev):C.bind(d,273),Tc=vt?U.warn.bind(U,ys.warnPublic):C.bind(d,273),Mc=ft?U.debug.bind(U,ys._debug):C.bind(d,137),Ic=Dt?U.debug.bind(U,ys.debugDev):C.bind(d,145),Pc=kt?U.trace.bind(U,ys._trace):C.bind(d,73),Rc=It?U.trace.bind(U,ys.traceDev):C.bind(d,81),wi={_hmm:un,_todo:mr,_error:ss,errorDev:gr,errorPublic:Mn,_kapow:Ar,_warn:xs,warnDev:Oo,warnPublic:Tc,_debug:Mc,debugDev:Ic,_trace:Pc,traceDev:Rc,lazy:{_hmm:X?On(un):un,_todo:J?On(mr):mr,_error:ue?On(ss):ss,errorDev:me?On(gr):gr,errorPublic:Ee?On(Mn):Mn,_kapow:Ge?On(Ar):Ar,_warn:Ve?On(xs):xs,warnDev:nt?On(Oo):Oo,warnPublic:vt?On(Tc):Tc,_debug:ft?On(Mc):Mc,debugDev:Dt?On(Ic):Ic,_trace:kt?On(Pc):Pc,traceDev:It?On(Rc):Rc},named:P,utilFor:{internal(){return{debug:wi._debug,error:wi._error,warn:wi._warn,trace:wi._trace,named(Cs,Un){return wi.named(Cs,Un).utilFor.internal()}}},dev(){return{debug:wi.debugDev,error:wi.errorDev,warn:wi.warnDev,trace:wi.traceDev,named(Cs,Un){return wi.named(Cs,Un).utilFor.dev()}}},public(){return{error:wi.errorPublic,warn:wi.warnPublic,debug(Cs,Un){wi._warn('(public "debug" filtered out) '.concat(Cs),Un)},trace(Cs,Un){wi._warn('(public "trace" filtered out) '.concat(Cs),Un)},named(Cs,Un){return wi.named(Cs,Un).utilFor.public()}}}}};return wi}function UN(d,g){const C=p(p({},this.includes),this.include(g)),P=[];let U="";for(let me=0;me<g.names.length;me++){const{name:Ee,key:Ve}=g.names[me];if(U+=" %c".concat(Ee),P.push(this.style.css(Ee)),Ve!=null){const Ge="%c#".concat(Ve);U+=Ge,P.push(this.style.css(Ge))}}const X=this.filtered,J=this.named.bind(this,g),ue=[U,...P];return Y9(X,g,C,d,ue,NN(ue),J)}function NN(d){const g=d.slice(0);for(let C=1;C<g.length;C++)g[C]+=";background-color:#e0005a;padding:2px;color:white";return g}function kN(d,g){const C=p(p({},this.includes),this.include(g));let P="";for(let ue=0;ue<g.names.length;ue++){const{name:me,key:Ee}=g.names[ue];P+=" ".concat(me),Ee!=null&&(P+="#".concat(Ee))}const U=this.filtered,X=this.named.bind(this,g),J=[P];return Y9(U,g,C,d,J,J,X)}function Y9(d,g,C,P,U,X,J){const ue=Fn(C,524),me=Fn(C,522),Ee=Fn(C,521),Ve=Fn(C,529),Ge=Fn(C,545),nt=Fn(C,265),vt=Fn(C,268),ft=Fn(C,273),Dt=Fn(C,289),kt=Fn(C,137),It=Fn(C,145),un=Fn(C,73),mr=Fn(C,81),ss=ue?P.error.bind(P,...U):d.bind(g,524),gr=me?P.error.bind(P,...U):d.bind(g,522),Mn=Ee?P.error.bind(P,...U):d.bind(g,521),Ar=Ve?P.error.bind(P,...U):d.bind(g,529),xs=Ge?P.error.bind(P,...U):d.bind(g,545),Oo=vt?P.warn.bind(P,...X):d.bind(g,268),Tc=nt?P.warn.bind(P,...U):d.bind(g,265),Mc=ft?P.warn.bind(P,...U):d.bind(g,273),Ic=Dt?P.warn.bind(P,...U):d.bind(g,273),Pc=kt?P.info.bind(P,...U):d.bind(g,137),Rc=It?P.info.bind(P,...U):d.bind(g,145),wi=un?P.debug.bind(P,...U):d.bind(g,73),Cs=mr?P.debug.bind(P,...U):d.bind(g,81),Un={_hmm:ss,_todo:gr,_error:Mn,errorDev:Ar,errorPublic:xs,_kapow:Oo,_warn:Tc,warnDev:Mc,warnPublic:Ic,_debug:Pc,debugDev:Rc,_trace:wi,traceDev:Cs,lazy:{_hmm:ue?On(ss):ss,_todo:me?On(gr):gr,_error:Ee?On(Mn):Mn,errorDev:Ve?On(Ar):Ar,errorPublic:Ge?On(xs):xs,_kapow:vt?On(Oo):Oo,_warn:nt?On(Tc):Tc,warnDev:ft?On(Mc):Mc,warnPublic:Dt?On(Ic):Ic,_debug:kt?On(Pc):Pc,debugDev:It?On(Rc):Rc,_trace:un?On(wi):wi,traceDev:mr?On(Cs):Cs},named:J,utilFor:{internal(){return{debug:Un._debug,error:Un._error,warn:Un._warn,trace:Un._trace,named(da,ha){return Un.named(da,ha).utilFor.internal()}}},dev(){return{debug:Un.debugDev,error:Un.errorDev,warn:Un.warnDev,trace:Un.traceDev,named(da,ha){return Un.named(da,ha).utilFor.dev()}}},public(){return{error:Un.errorPublic,warn:Un.warnPublic,debug(da,ha){Un._warn('(public "debug" filtered out) '.concat(da),ha)},trace(da,ha){Un._warn('(public "trace" filtered out) '.concat(da),ha)},named(da,ha){return Un.named(da,ha).utilFor.public()}}}}};return Un}var $9=X9(console,{});$9.configureLogging({dev:!0,min:64});var lm=$9.getLogger().named("Theatre.js (default logger)").utilFor.dev(),K9=new WeakMap;function zN(d){const g=K9.get(d);if(g)return g;const C=new Map;return K9.set(d,C),Z9([],d,C),C}function Z9(d,g,C){for(const[P,U]of Object.entries(g.props))if(!am(U)){const X=[...d,P];C.set(JSON.stringify(X),C.size),J9(X,U,C)}for(const[P,U]of Object.entries(g.props))if(am(U)){const X=[...d,P];C.set(JSON.stringify(X),C.size),J9(X,U,C)}}function J9(d,g,C){if(g.type==="compound")Z9(d,g,C);else{if(g.type==="enum")throw new Error("Enums aren't supported yet");C.set(JSON.stringify(d),C.size)}}function e5(d){return typeof d=="object"&&d!==null&&Object.keys(d).length===0}var HN=class{constructor(d,g,C,P,U){this.sheetTemplate=d,_(this,"address"),_(this,"type","Theatre_SheetObjectTemplate"),_(this,"_config"),_(this,"_temp_actions_atom"),_(this,"_cache",new rl),_(this,"project"),_(this,"pointerToSheetState"),_(this,"pointerToStaticOverrides"),this.address=m(p({},d.address),{objectKey:g}),this._config=new Bi.Atom(P),this._temp_actions_atom=new Bi.Atom(U),this.project=d.project,this.pointerToSheetState=this.sheetTemplate.project.pointers.historic.sheetsById[this.address.sheetId],this.pointerToStaticOverrides=this.pointerToSheetState.staticOverrides.byObject[this.address.objectKey]}get staticConfig(){return this._config.get()}get configPointer(){return this._config.pointer}get _temp_actions(){return this._temp_actions_atom.get()}get _temp_actionsPointer(){return this._temp_actions_atom.pointer}createInstance(d,g,C){return this._config.set(C),new LN(d,this,g)}reconfigure(d){this._config.set(d)}_temp_setActions(d){this._temp_actions_atom.set(d)}getDefaultValues(){return this._cache.get("getDefaultValues()",()=>(0,Bi.prism)(()=>{const d=(0,Bi.val)(this.configPointer);return gv(d)}))}getStaticValues(){return this._cache.get("getStaticValues",()=>(0,Bi.prism)(()=>{var d;const g=(d=(0,Bi.val)(this.pointerToStaticOverrides))!=null?d:{};return(0,Bi.val)(this.configPointer).deserializeAndSanitize(g)||{}}))}getArrayOfValidSequenceTracks(){return this._cache.get("getArrayOfValidSequenceTracks",()=>(0,Bi.prism)(()=>{const d=this.project.pointers.historic.sheetsById[this.address.sheetId],g=(0,Bi.val)(d.sequence.tracksByObject[this.address.objectKey].trackIdByPropPath);if(!g)return W;const C=[];if(!g)return W;const P=(0,Bi.val)(this.configPointer),U=Object.entries(g);for(const[J,ue]of U){const me=VN(J);if(!me)continue;const Ee=jv(P,me);Ee&&DN(Ee)&&C.push({pathToProp:me,trackId:ue})}const X=zN(P);return C.sort((J,ue)=>{const me=J.pathToProp,Ee=ue.pathToProp,Ve=X.get(JSON.stringify(me)),Ge=X.get(JSON.stringify(Ee));return Ve>Ge?1:-1}),C.length===0?W:C}))}getMapOfValidSequenceTracks_forStudio(){return this._cache.get("getMapOfValidSequenceTracks_forStudio",()=>(0,Bi.prism)(()=>{const d=(0,Bi.val)(this.getArrayOfValidSequenceTracks());let g={};for(const{pathToProp:C,trackId:P}of d)Vu(g,C,P);return g}))}getStaticButNotSequencedOverrides(){return this._cache.get("getStaticButNotSequencedOverrides",()=>(0,Bi.prism)(()=>{const d=(0,Bi.val)(this.getStaticValues()),g=(0,Bi.val)(this.getArrayOfValidSequenceTracks()),C=CF(d);for(const{pathToProp:P}of g){q9(C,P);let U=P.slice(0,-1);for(;U.length>0;){const X=Vp(C,U);if(!e5(X))break;q9(C,U),U=U.slice(0,-1)}}if(!e5(C))return C}))}getDefaultsAtPointer(d){const{path:g}=(0,Bi.getPointerParts)(d),C=this.getDefaultValues().getValue();return Vp(C,g)}};function VN(d){try{return JSON.parse(d)}catch{lm.warn("property ".concat(JSON.stringify(d)," cannot be parsed. Skipping."));return}}var t5=Oi(),GN=BN(d=>JSON.stringify(d));x(I());
4518var QN=class extends Error{},ah=class extends QN{},n5=Oi(),WN=Oi(),jN=Oi(),qi=Oi();function ol(){let d,g;const C=new Promise((U,X)=>{d=J=>{U(J),P.status="resolved"},g=J=>{X(J),P.status="rejected"}}),P={resolve:d,reject:g,promise:C,status:"pending"};return P}var qN=()=>{},cm=qN,XN=Oi(),YN=class{constructor(){_(this,"_stopPlayCallback",cm),_(this,"_state",new XN.Atom({position:0,playing:!1})),_(this,"statePointer"),this.statePointer=this._state.pointer}destroy(){}pause(){this._stopPlayCallback(),this.playing=!1,this._stopPlayCallback=cm}gotoPosition(d){this._updatePositionInState(d)}_updatePositionInState(d){this._state.setByPointer(g=>g.position,d)}getCurrentPosition(){return this._state.get().position}get playing(){return this._state.get().playing}set playing(d){this._state.setByPointer(g=>g.playing,d)}play(d,g,C,P,U){this.playing&&this.pause(),this.playing=!0;const X=g[1]-g[0];{const nt=this.getCurrentPosition();nt<g[0]||nt>g[1]?P==="normal"||P==="alternate"?this._updatePositionInState(g[0]):(P==="reverse"||P==="alternateReverse")&&this._updatePositionInState(g[1]):P==="normal"||P==="alternate"?nt===g[1]&&this._updatePositionInState(g[0]):nt===g[0]&&this._updatePositionInState(g[1])}const J=ol(),ue=U.time,me=X*d;let Ee=this.getCurrentPosition()-g[0];(P==="reverse"||P==="alternateReverse")&&(Ee=g[1]-this.getCurrentPosition());const Ve=nt=>{const ft=Math.max(nt-ue,0)/1e3,Dt=Math.min(ft*C+Ee,me);if(Dt!==me){const kt=Math.floor(Dt/X);let It=Dt/X%1*X;if(P!=="normal")if(P==="reverse")It=X-It;else{const un=kt%2===0;P==="alternate"?un||(It=X-It):un&&(It=X-It)}this._updatePositionInState(It+g[0]),Ge()}else{if(P==="normal")this._updatePositionInState(g[1]);else if(P==="reverse")this._updatePositionInState(g[0]);
4518else{const kt=(d-1)%2===0;P==="alternate"?kt?this._updatePositionInState(g[1]):this._updatePositionInState(g[0]):kt?this._updatePositionInState(g[0]):this._updatePositionInState(g[1])}this.playing=!1,J.resolve(!0)}};this._stopPlayCallback=()=>{U.offThisOrNextTick(Ve),U.offNextTick(Ve),this.playing&&J.resolve(!1)};const Ge=()=>U.onNextTick(Ve);return U.onThisOrNextTick(Ve),J.promise}playDynamicRange(d,g){this.playing&&this.pause(),this.playing=!0;const C=ol(),P=d.keepHot();C.promise.then(P,P);let U=g.time;const X=ue=>{const me=Math.max(ue-U,0);U=ue;const Ee=me/1e3,Ve=this.getCurrentPosition(),Ge=d.getValue();if(Ve<Ge[0]||Ve>Ge[1])this.gotoPosition(Ge[0]);else{let nt=Ve+Ee;nt>Ge[1]&&(nt=Ge[0]+(nt-Ge[1])),this.gotoPosition(nt)}J()};this._stopPlayCallback=()=>{g.offThisOrNextTick(X),g.offNextTick(X),C.resolve(!1)};const J=()=>g.onNextTick(X);return g.onThisOrNextTick(X),C.promise}},$N=Oi(),KN="__TheatreJS_StudioBundle",qv="__TheatreJS_CoreBundle",ZN="__TheatreJS_Notifications",um=d=>(...g)=>{var C;switch(d){case"success":{lm.debug(g.slice(0,2).join(`
4519`));break}case"info":{lm.debug(g.slice(0,2).join(`
4520`));break}case"warning":{lm.warn(g.slice(0,2).join(`
4521`));break}}return typeof window<"u"?(C=window[ZN])==null?void 0:C.notify[d](...g):void 0},ju={warning:um("warning"),success:um("success"),info:um("info"),error:um("error")};typeof window<"u"&&(window.addEventListener("error",d=>{ju.error("An error occurred","<pre>".concat(d.message,`</pre>
4522
4523See **console** for details.`))}),window.addEventListener("unhandledrejection",d=>{ju.error("An error occurred","<pre>".concat(d.reason,`</pre>
4524
4525See **console** for details.`))}));var JN=class{constructor(d,g,C){this._decodedBuffer=d,this._audioContext=g,this._nodeDestination=C,_(this,"_mainGain"),_(this,"_state",new $N.Atom({position:0,playing:!1})),_(this,"statePointer"),_(this,"_stopPlayCallback",cm),this.statePointer=this._state.pointer,this._mainGain=this._audioContext.createGain(),this._mainGain.connect(this._nodeDestination)}playDynamicRange(d,g){const C=ol();this._playing&&this.pause(),this._playing=!0;let P;const U=()=>{P==null||P(),P=this._loopInRange(d.getValue(),g).stop},X=d.onStale(U);return U(),this._stopPlayCallback=()=>{P==null||P(),X(),C.resolve(!1)},C.promise}_loopInRange(d,g){let P=this.getCurrentPosition();const U=d[1]-d[0];P<d[0]||P>d[1]?this._updatePositionInState(d[0]):P===d[1]&&this._updatePositionInState(d[0]),P=this.getCurrentPosition();const X=this._audioContext.createBufferSource();X.buffer=this._decodedBuffer,X.connect(this._mainGain),X.playbackRate.value=1,X.loop=!0,X.loopStart=d[0],X.loopEnd=d[1];const J=g.time;let ue=P-d[0];X.start(0,P);const me=Ge=>{let Dt=(Math.max(Ge-J,0)/1e3*1+ue)/U%1*U;this._updatePositionInState(Dt+d[0]),Ee()},Ee=()=>g.onNextTick(me);return g.onThisOrNextTick(me),{stop:()=>{X.stop(),X.disconnect(),g.offThisOrNextTick(me),g.offNextTick(me)}}}get _playing(){return this._state.get().playing}set _playing(d){this._state.setByPointer(g=>g.playing,d)}destroy(){}pause(){this._stopPlayCallback(),this._playing=!1,this._stopPlayCallback=cm}gotoPosition(d){this._updatePositionInState(d)}_updatePositionInState(d){this._state.reduce(g=>m(p({},g),{position:d}))}getCurrentPosition(){return this._state.get().position}play(d,g,C,P,U){this._playing&&this.pause(),this._playing=!0;let X=this.getCurrentPosition();const J=g[1]-g[0];if(P!=="normal")throw new ah('Audio-controlled sequences can only be played in the "normal" direction. '+"'".concat(P,"' given."));X<g[0]||X>g[1]?this._updatePositionInState(g[0]):X===g[1]&&this._updatePositionInState(g[0]),X=this.getCurrentPosition();const ue=ol(),me=this._audioContext.createBufferSource();me.buffer=this._decodedBuffer,me.connect(this._mainGain),me.playbackRate.value=C,d>1e3&&(ju.warning("Can't play sequences with audio more than 1000 times","The sequence will still play, but only 1000 times. The `iterationCount: ".concat(d,"` provided to `sequence.play()`\nis too high for a sequence with audio.\n\nTo fix this, either set `iterationCount` to a lower value, or remove the audio from the sequence."),[{url:"https://www.theatrejs.com/docs/latest/manual/audio",title:"Using Audio"},{url:"https://www.theatrejs.com/docs/latest/api/core#sequence.attachaudio",title:"Audio API"}]),d=1e3),d>1&&(me.loop=!0,me.loopStart=g[0],me.loopEnd=g[1]);const Ee=U.time;let Ve=X-g[0];const Ge=J*d;me.start(0,X,Ge-Ve);const nt=Dt=>{const It=Math.max(Dt-Ee,0)/1e3,un=Math.min(It*C+Ve,Ge);if(un!==Ge){let mr=un/J%1*J;this._updatePositionInState(mr+g[0]),ft()}else this._updatePositionInState(g[1]),this._playing=!1,vt(),ue.resolve(!0)},vt=()=>{me.stop(),me.disconnect()};this._stopPlayCallback=()=>{vt(),U.offThisOrNextTick(nt),U.offNextTick(nt),this._playing&&ue.resolve(!1)};
4525const ft=()=>U.onNextTick(nt);return U.onThisOrNextTick(nt),ue.promise}},ek=Oi(),i5=0;function Xv(d){var g;const C=J=>{P.tick(J)},P=new ek.Ticker({onActive(){var J;(J=d==null?void 0:d.start)==null||J.call(d)},onDormant(){var J;(J=d==null?void 0:d.stop)==null||J.call(d)}}),U={tick:C,id:i5++,name:(g=d==null?void 0:d.name)!=null?g:"CustomRafDriver-".concat(i5),type:"Theatre_RafDriver_PublicAPI"},X={type:"Theatre_RafDriver_PrivateAPI",publicApi:U,ticker:P,start:d==null?void 0:d.start,stop:d==null?void 0:d.stop};return Q(U,X),U}function tk(){let d=null;const P=Xv({name:"DefaultCoreRafDriver",start:()=>{if(typeof window<"u"){const U=X=>{P.tick(X),d=window.requestAnimationFrame(U)};d=window.requestAnimationFrame(U)}else P.tick(0),setTimeout(()=>P.tick(1),0)},stop:()=>{typeof window<"u"&&d!==null&&window.cancelAnimationFrame(d)}});return P}var fm;function r5(){return fm||nk(tk()),fm}function s5(){return r5().ticker}function nk(d){if(fm)throw new Error("`setCoreRafDriver()` is already called.");fm=N(d)}var ik=class{get type(){return"Theatre_Sequence_PublicAPI"}constructor(d){Q(this,d)}play(d){const g=N(this);if(g._project.isReady()){const C=d!=null&&d.rafDriver?N(d.rafDriver).ticker:s5();return g.play(d??{},C)}else{const C=ol();return C.resolve(!0),C.promise}}pause(){N(this).pause()}get position(){return N(this).position}set position(d){N(this).position=d}__experimental_getKeyframes(d){return N(this).getKeyframesOfSimpleProp(d)}async attachAudio(d){const{audioContext:g,destinationNode:C,decodedBuffer:P,gainNode:U}=await rk(d),X=new JN(P,g,U);return N(this).replacePlaybackController(X),{audioContext:g,destinationNode:C,decodedBuffer:P,gainNode:U}}get pointer(){return N(this).pointer}};async function rk(d){function g(){if(d.audioContext)return Promise.resolve(d.audioContext);const Ee=new AudioContext;return Ee.state==="running"||typeof window>"u"?Promise.resolve(Ee):new Promise(Ve=>{const Ge=()=>{Ee.resume().catch(ft=>{console.error(ft)})},nt=["mousedown","keydown","touchstart"],vt={capture:!0,passive:!1};nt.forEach(ft=>{window.addEventListener(ft,Ge,vt)}),Ee.addEventListener("statechange",()=>{Ee.state==="running"&&(nt.forEach(ft=>{window.removeEventListener(ft,Ge,vt)}),Ve(Ee))})})}async function C(){if(d.source instanceof AudioBuffer)return d.source;const Ee=ol();if(typeof d.source!="string")throw new Error("Error validating arguments to sequence.attachAudio(). args.source must either be a string or an instance of AudioBuffer.");let Ve;try{Ve=await fetch(d.source)}catch(ft){throw console.error(ft),new Error("Could not fetch '".concat(d.source,"'. Network error logged above."))}let Ge;try{Ge=await Ve.arrayBuffer()}catch(ft){throw console.error(ft),new Error("Could not read '".concat(d.source,"' as an arrayBuffer."))}(await P).decodeAudioData(Ge,Ee.resolve,Ee.reject);let vt;try{vt=await Ee.promise}catch(ft){throw console.error(ft),new Error("Could not decode ".concat(d.source," as an audio file."))}return vt}const P=g(),U=C(),[X,J]=await Promise.all([P,U]),ue=d.destinationNode||X.destination,me=X.createGain();return me.connect(ue),{audioContext:X,decodedBuffer:J,gainNode:me,destinationNode:ue}}var sk=ok("Theatre_SheetObject");function ok(d){return g=>typeof g=="object"&&!!g&&g.type===d}var ak=class{constructor(d,g,C,P,U){this._project=d,this._sheet=g,this._lengthD=C,this._subUnitsPerUnitD=P,_(this,"address"),_(this,"publicApi"),_(this,"_playbackControllerBox"),_(this,"_prismOfStatePointer"),_(this,"_positionD"),_(this,"_positionFormatterD"),_(this,"_playableRangeD"),_(this,"pointer",(0,jN.pointer)({root:this,path:[]})),_(this,"$$isPointerToPrismProvider",!0),_(this,"_logger"),_(this,"closestGridPosition",X=>{const ue=1/this.subUnitsPerUnit;return parseFloat((Math.round(X/ue)*ue).toFixed(3))}),this._logger=d._logger.named("Sheet",g.address.sheetId).named("Instance",g.address.sheetInstanceId),this.address=m(p({},this._sheet.address),{sequenceName:"default"}),this.publicApi=new ik(this),this._playbackControllerBox=new WN.Atom(U??new YN),this._prismOfStatePointer=(0,qi.prism)(()=>this._playbackControllerBox.prism.getValue().statePointer),this._positionD=(0,qi.prism)(()=>{const X=this._prismOfStatePointer.getValue();return(0,qi.val)(X.position)}),this._positionFormatterD=(0,qi.prism)(()=>{const X=(0,qi.val)(this._subUnitsPerUnitD);return new lk(X)})}get type(){return"Theatre_Sequence"}pointerToPrism(d){const{path:g}=(0,n5.getPointerParts)(d);if(g.length===0)return(0,qi.prism)(()=>({length:(0,qi.val)(this.pointer.length),playing:(0,qi.val)(this.pointer.playing),position:(0,qi.val)(this.pointer.position),subUnitsPerUnit:(0,qi.val)(this.pointer.subUnitsPerUnit)}));if(g.length>1)return(0,qi.prism)(()=>{});const[C]=g;return C==="length"?this._lengthD:C==="subUnitsPerUnit"?this._subUnitsPerUnitD:C==="position"?this._positionD:C==="playing"?(0,qi.prism)(()=>(0,qi.val)(this._prismOfStatePointer.getValue().playing)):(0,qi.prism)(()=>{})}getKeyframesOfSimpleProp(d){const{path:g,root:C}=(0,n5.getPointerParts)(d);if(!sk(C))throw new ah("Argument prop must be a pointer to a SheetObject property");const P=(0,qi.val)(this._project.pointers.historic.sheetsById[this._sheet.address.sheetId].sequence.tracksByObject[C.address.objectKey]);if(!P)return[];const{trackData:U,trackIdByPropPath:X}=P,J=GN(g),ue=X[J];if(!ue)return[];const me=U[ue];return me?me.keyframes:[]}get positionFormatter(){return this._positionFormatterD.getValue()}get prismOfStatePointer(){return this._prismOfStatePointer}get length(){return this._lengthD.getValue()}get positionPrism(){return this._positionD}get position(){return this._playbackControllerBox.get().getCurrentPosition()}get subUnitsPerUnit(){return this._subUnitsPerUnitD.getValue()}get positionSnappedToGrid(){return this.closestGridPosition(this.position)}set position(d){let g=d;this.pause(),g>this.length&&(g=this.length);const C=this.length;this._playbackControllerBox.get().gotoPosition(g>C?C:g)}getDurationCold(){return this._lengthD.getValue()}get playing(){return(0,qi.val)(this._playbackControllerBox.get().statePointer.playing)}_makeRangeFromSequenceTemplate(){return(0,qi.prism)(()=>[0,(0,qi.val)(this._lengthD)])}playDynamicRange(d,g){return this._playbackControllerBox.get().playDynamicRange(d,g)}async play(d,g){const C=this.length,P=d&&d.range?d.range:[0,C],U=d&&typeof d.iterationCount=="number"?d.iterationCount:1,X=d&&typeof d.rate<"u"?d.rate:1,J=d&&d.direction?d.direction:"normal";return await this._play(U,[P[0],P[1]],X,J,g)}_play(d,g,C,P,U){return this._playbackControllerBox.get().play(d,g,C,P,U)}pause(){this._playbackControllerBox.get().pause()}replacePlaybackController(d){this.pause();const g=this._playbackControllerBox.get();this._playbackControllerBox.set(d);const C=g.getCurrentPosition();g.destroy(),d.gotoPosition(C)}},lk=class{constructor(d){this._fps=d}formatSubUnitForGrid(d){const g=d%1,C=1/this._fps;return Math.round(g/C)+"f"}formatFullUnitForGrid(d){let g=d,C="";if(g>=qu){const U=Math.floor(g/qu);C+=U+"h",g=g%qu}if(g>=Cc){const U=Math.floor(g/Cc);C+=U+"m",g=g%Cc}if(g>=xc){const U=Math.floor(g/xc);C+=U+"s",g=g%xc}const P=1/this._fps;
4525if(g>=P){const U=Math.floor(g/P);C+=U+"f",g=g%P}return C.length===0?"0s":C}formatForPlayhead(d){let g=d,C="";if(g>=qu){const U=Math.floor(g/qu);C+=oh(U.toString(),2,"0")+"h",g=g%qu}if(g>=Cc){const U=Math.floor(g/Cc);C+=oh(U.toString(),2,"0")+"m",g=g%Cc}else C.length>0&&(C+="00m");if(g>=xc){const U=Math.floor(g/xc);C+=oh(U.toString(),2,"0")+"s",g=g%xc}else C+="00s";const P=1/this._fps;if(g>=P){const U=Math.round(g/P);C+=oh(U.toString(),2,"0")+"f",g=g%P}else g/P>.98?(C+=oh("1",2,"0")+"f",g=g%P):C+="00f";return C.length===0?"00s00f":C}formatBasic(d){return d.toFixed(2)+"s"}},xc=1,Cc=xc*60,qu=Cc*60,Yv={};A(Yv,{boolean:()=>d5,compound:()=>Kv,file:()=>gk,image:()=>vk,number:()=>f5,rgba:()=>Ck,string:()=>h5,stringLiteral:()=>Mk});function o5(d,g){return d.length<=g?d:d.substr(0,g-3)+"..."}var ck=d=>typeof d=="string"?'string("'.concat(o5(d,10),'")'):typeof d=="number"?"number(".concat(o5(String(d),10),")"):d===null?"null":d===void 0?"undefined":typeof d=="boolean"?String(d):Array.isArray(d)?"array":typeof d=="object"?"object":"unknown",a5=ck;function uk(d,{removeAlphaIfOpaque:g=!1}={}){const C=(d.a*255|256).toString(16).slice(1),P=(d.r*255|256).toString(16).slice(1)+(d.g*255|256).toString(16).slice(1)+(d.b*255|256).toString(16).slice(1)+(g&&C==="ff"?"":C);return"#".concat(P)}function $v(d){return m(p({},d),{toString(){return uk(this,{removeAlphaIfOpaque:!0})}})}function fk(d){return Object.fromEntries(Object.entries(d).map(([g,C])=>[g,a9(C,0,1)]))}function dk(d){function g(C){return C>=.0031308?1.055*C**(1/2.4)-.055:12.92*C}return fk({r:g(d.r),g:g(d.g),b:g(d.b),a:d.a})}function l5(d){function g(C){return C>=.04045?((C+.055)/(1+.055))**2.4:C/12.92}return{r:g(d.r),g:g(d.g),b:g(d.b),a:d.a}}function c5(d){let g=.4122214708*d.r+.5363325363*d.g+.0514459929*d.b,C=.2119034982*d.r+.6806995451*d.g+.1073969566*d.b,P=.0883024619*d.r+.2817188376*d.g+.6299787005*d.b,U=Math.cbrt(g),X=Math.cbrt(C),J=Math.cbrt(P);return{L:.2104542553*U+.793617785*X-.0040720468*J,a:1.9779984951*U-2.428592205*X+.4505937099*J,b:.0259040371*U+.7827717662*X-.808675766*J,alpha:d.a}}function hk(d){let g=d.L+.3963377774*d.a+.2158037573*d.b,C=d.L-.1055613458*d.a-.0638541728*d.b,P=d.L-.0894841775*d.a-1.291485548*d.b,U=g*g*g,X=C*C*C,J=P*P*P;return{r:4.0767416621*U-3.3077115913*X+.2309699292*J,g:-1.2684380046*U+2.6097574011*X-.3413193965*J,b:-.0041960863*U-.7034186147*X+1.707614701*J,a:d.alpha}}var ua=Symbol("TheatrePropType_Basic");function u5(d){return typeof d=="object"&&!!d&&d[ua]==="TheatrePropType"}function pk(d){if(typeof d=="number")return f5(d);if(typeof d=="boolean")return d5(d);if(typeof d=="string")return h5(d);if(typeof d=="object"&&d){if(u5(d))return d;if(PD(d))return Kv(d);throw new ah("This value is not a valid prop type: ".concat(a5(d)))}else throw new ah("This value is not a valid prop type: ".concat(a5(d)))}function mk(d){const g={};for(const C of Object.keys(d)){const P=d[C];u5(P)?g[C]=P:g[C]=pk(P)}return g}var Kv=(d,g={})=>{const C=mk(d),P=new WeakMap;return{type:"compound",props:C,valueType:null,[ua]:"TheatrePropType",label:g.label,default:iN(C,X=>X.default),deserializeAndSanitize:X=>{if(typeof X!="object"||!X)return;if(P.has(X))return P.get(X);const J={};let ue=!1;for(const[me,Ee]of Object.entries(C))if(Object.prototype.hasOwnProperty.call(X,me)){const Ve=Ee.deserializeAndSanitize(X[me]);Ve!=null&&(ue=!0,J[me]=Ve)}if(P.set(X,J),ue)return J}}},gk=(d,g={})=>{const C=(P,U,X)=>{var J;return{type:"file",id:((J=g.interpolate)!=null?J:lh)(P.id,U.id,X)}};return{type:"file",default:{type:"file",id:d},valueType:null,[ua]:"TheatrePropType",label:g.label,interpolate:C,deserializeAndSanitize:Ak}},Ak=d=>{if(!d)return;let g=!0;if(typeof d.id!="string"&&![null,void 0].includes(d.id)&&(g=!1),d.type!=="file"&&(g=!1),!!g)return d},vk=(d,g={})=>{const C=(P,U,X)=>{var J;return{type:"image",id:((J=g.interpolate)!=null?J:lh)(P.id,U.id,X)}};return{type:"image",default:{type:"image",id:d},valueType:null,[ua]:"TheatrePropType",label:g.label,interpolate:C,deserializeAndSanitize:yk}},yk=d=>{if(!d)return;let g=!0;if(typeof d.id!="string"&&![null,void 0].includes(d.id)&&(g=!1),d.type!=="image"&&(g=!1),!!g)return d},f5=(d,g={})=>{var C;return m(p({type:"number",valueType:0,default:d,[ua]:"TheatrePropType"},g||{}),{label:g.label,nudgeFn:(C=g.nudgeFn)!=null?C:Ik,nudgeMultiplier:typeof g.nudgeMultiplier=="number"?g.nudgeMultiplier:void 0,interpolate:xk,deserializeAndSanitize:_k(g.range)})},_k=d=>d?g=>{if(typeof g=="number"&&isFinite(g))return a9(g,d[0],d[1])}:bk,bk=d=>typeof d=="number"&&isFinite(d)?d:void 0,xk=(d,g,C)=>d+C*(g-d),Ck=(d={r:0,g:0,b:0,a:1},g={})=>{const C={};for(const P of["r","g","b","a"])C[P]=Math.min(Math.max(d[P],0),1);return{type:"rgba",valueType:null,default:$v(C),[ua]:"TheatrePropType",label:g.label,interpolate:Sk,deserializeAndSanitize:wk}},wk=d=>{if(!d)return;let g=!0;for(const P of["r","g","b","a"])(!Object.prototype.hasOwnProperty.call(d,P)||typeof d[P]!="number")&&(g=!1);if(!g)return;const C={};for(const P of["r","g","b","a"])C[P]=Math.min(Math.max(d[P],0),1);return $v(C)},Sk=(d,g,C)=>{const P=c5(l5(d)),U=c5(l5(g)),X={L:(1-C)*P.L+C*U.L,a:(1-C)*P.a+C*U.a,b:(1-C)*P.b+C*U.b,alpha:(1-C)*P.alpha+C*U.alpha},J=dk(hk(X));return $v(J)},d5=(d,g={})=>{var C;return{type:"boolean",default:d,valueType:null,[ua]:"TheatrePropType",label:g.label,interpolate:(C=g.interpolate)!=null?C:lh,deserializeAndSanitize:Ek}},Ek=d=>typeof d=="boolean"?d:void 0;function lh(d){return d}var h5=(d,g={})=>{var C;return{type:"string",default:d,valueType:null,[ua]:"TheatrePropType",label:g.label,interpolate:(C=g.interpolate)!=null?C:lh,deserializeAndSanitize:Tk}};
4525function Tk(d){return typeof d=="string"?d:void 0}function Mk(d,g,C={}){var P,U;return{type:"stringLiteral",default:d,valuesAndLabels:p({},g),[ua]:"TheatrePropType",valueType:null,as:(P=C.as)!=null?P:"menu",label:C.label,interpolate:(U=C.interpolate)!=null?U:lh,deserializeAndSanitize(X){if(typeof X=="string"&&Object.prototype.hasOwnProperty.call(g,X))return X}}}var Ik=({config:d,deltaX:g,deltaFraction:C,magnitude:P})=>{var U;const{range:X}=d;return!d.nudgeMultiplier&&X&&!X.includes(1/0)&&!X.includes(-1/0)?C*(X[1]-X[0])*P:g*P*((U=d.nudgeMultiplier)!=null?U:1)},Pk=d=>d.replace(/^[\s\/]*/,"").replace(/[\s\/]*$/,"").replace(/\s*\/\s*/g," / ");function dm(d,g){return Pk(d)}x(R());var Rk=class{get type(){return"Theatre_Sheet_PublicAPI"}constructor(d){Q(this,d)}object(d,g,C){const P=N(this),U=dm(d),X=P.getObject(U),J=null,ue=C==null?void 0:C.__actions__THIS_API_IS_UNSTABLE_AND_WILL_CHANGE_IN_THE_NEXT_VERSION;if(X)return ue&&X.template._temp_setActions(ue),X.publicApi;{const me=Kv(g);return P.createObject(U,J,me,ue).publicApi}}__experimental_getExistingObject(d){const g=N(this),C=dm(d),P=g.getObject(C);return P==null?void 0:P.publicApi}get sequence(){return N(this).getSequence().publicApi}get project(){return N(this).project.publicApi}get address(){return p({},N(this).address)}detachObject(d){const g=N(this),C=dm(d);if(!g.getObject(C)){ju.warning(`Couldn't delete object "`.concat(C,'"'),'There is no object with key "'.concat(C,`".
4526
4527To fix this, make sure you are calling \`sheet.deleteObject("`).concat(C,'")` with the correct key.')),console.warn('Object key "'.concat(C,'" does not exist.'));return}g.deleteObject(C)}},ch=Oi(),Bk=class{constructor(d,g){this.template=d,this.instanceId=g,_(this,"_objects",new ch.Atom({})),_(this,"_sequence"),_(this,"address"),_(this,"publicApi"),_(this,"project"),_(this,"objectsP",this._objects.pointer),_(this,"type","Theatre_Sheet"),_(this,"_logger"),this._logger=d.project._logger.named("Sheet",g),this._logger._trace("creating sheet"),this.project=d.project,this.address=m(p({},d.address),{sheetInstanceId:this.instanceId}),this.publicApi=new Rk(this)}createObject(d,g,C,P={}){const X=this.template.getObjectTemplate(d,g,C,P).createInstance(this,g,C);return this._objects.setByPointer(J=>J[d],X),X}getObject(d){return this._objects.get()[d]}deleteObject(d){this._objects.reduce(g=>{const C=p({},g);return delete C[d],C})}getSequence(){if(!this._sequence){const d=(0,ch.prism)(()=>{const C=(0,ch.val)(this.project.pointers.historic.sheetsById[this.address.sheetId].sequence.length);return Dk(C)}),g=(0,ch.prism)(()=>{const C=(0,ch.val)(this.project.pointers.historic.sheetsById[this.address.sheetId].sequence.subUnitsPerUnit);return Lk(C)});this._sequence=new ak(this.template.project,this,d,g)}return this._sequence}},Dk=d=>typeof d=="number"&&isFinite(d)&&d>0?d:10,Lk=d=>typeof d=="number"&&tN(d)&&d>=1&&d<=1e3?d:30,Ok=class{constructor(d,g){this.project=d,_(this,"type","Theatre_SheetTemplate"),_(this,"address"),_(this,"_instances",new t5.Atom({})),_(this,"instancesP",this._instances.pointer),_(this,"_objectTemplates",new t5.Atom({})),_(this,"objectTemplatesP",this._objectTemplates.pointer),this.address=m(p({},d.address),{sheetId:g})}getInstance(d){let g=this._instances.get()[d];return g||(g=new Bk(this,d),this._instances.setByPointer(C=>C[d],g)),g}getObjectTemplate(d,g,C,P){let U=this._objectTemplates.get()[d];return U||(U=new HN(this,d,g,C,P),this._objectTemplates.setByPointer(X=>X[d],U)),U}},Zv=Oi(),p5=Oi(),Fk=d=>new Promise(g=>setTimeout(g,d)),Uk=Fk;function Gs(d){for(var g=arguments.length,C=Array(g>1?g-1:0),P=1;P<g;P++)C[P-1]=arguments[P];throw Error("[Immer] minified error nr: "+d+(C.length?" "+C.map(function(U){return"'"+U+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function wc(d){return!!d&&!!d[rs]}function Sc(d){return!!d&&(function(g){if(!g||typeof g!="object")return!1;var C=Object.getPrototypeOf(g);if(C===null)return!0;var P=Object.hasOwnProperty.call(C,"constructor")&&C.constructor;return P===Object||typeof P=="function"&&Function.toString.call(P)===jk}
4527(d)||Array.isArray(d)||!!d[w5]||!!d.constructor[w5]||e2(d)||t2(d))}function Nk(d){return wc(d)||Gs(23,d),d[rs].t}function uh(d,g,C){C===void 0&&(C=!1),Xu(d)===0?(C?Object.keys:h2)(d).forEach(function(P){C&&typeof P=="symbol"||g(P,d[P],d)}):d.forEach(function(P,U){return g(U,P,d)})}function Xu(d){var g=d[rs];return g?g.i>3?g.i-4:g.i:Array.isArray(d)?1:e2(d)?2:t2(d)?3:0}function Jv(d,g){return Xu(d)===2?d.has(g):Object.prototype.hasOwnProperty.call(d,g)}function kk(d,g){return Xu(d)===2?d.get(g):d[g]}function m5(d,g,C){var P=Xu(d);P===2?d.set(g,C):P===3?(d.delete(g),d.add(C)):d[g]=C}function zk(d,g){return d===g?d!==0||1/d==1/g:d!=d&&g!=g}function e2(d){return Qk&&d instanceof Map}function t2(d){return Wk&&d instanceof Set}function Ec(d){return d.o||d.t}function n2(d){if(Array.isArray(d))return Array.prototype.slice.call(d);var g=qk(d);delete g[rs];for(var C=h2(g),P=0;P<C.length;P++){var U=C[P],X=g[U];X.writable===!1&&(X.writable=!0,X.configurable=!0),(X.get||X.set)&&(g[U]={configurable:!0,writable:!0,enumerable:X.enumerable,value:d[U]})}return Object.create(Object.getPrototypeOf(d),g)}function i2(d,g){return g===void 0&&(g=!1),r2(d)||wc(d)||!Sc(d)||(Xu(d)>1&&(d.set=d.add=d.clear=d.delete=Hk),Object.freeze(d),g&&uh(d,function(C,P){return i2(P,!0)},!0)),d}function Hk(){Gs(2)}function r2(d){return d==null||typeof d!="object"||Object.isFrozen(d)}function fa(d){var g=Xk[d];return g||Gs(18,d),g}function g5(){return fh}function s2(d,g){g&&(fa("Patches"),d.u=[],d.s=[],d.v=g)}function hm(d){o2(d),d.p.forEach(Vk),d.p=null}function o2(d){d===fh&&(fh=d.l)}function A5(d){return fh={p:[],l:fh,h:d,m:!0,_:0}}function Vk(d){var g=d[rs];g.i===0||g.i===1?g.j():g.O=!0}function a2(d,g){g._=g.p.length;var C=g.p[0],P=d!==void 0&&d!==C;return g.h.g||fa("ES5").S(g,d,P),P?(C[rs].P&&(hm(g),Gs(4)),Sc(d)&&(d=pm(g,d),g.l||mm(g,d)),g.u&&fa("Patches").M(C[rs],d,g.u,g.s)):d=pm(g,C,[]),hm(g),g.u&&g.v(g.u,g.s),d!==C5?d:void 0}function pm(d,g,C){if(r2(g))return g;var P=g[rs];if(!P)return uh(g,function(X,J){return v5(d,P,g,X,J,C)},!0),g;if(P.A!==d)return g;if(!P.P)return mm(d,P.t,!0),P.t;if(!P.I){P.I=!0,P.A._--;var U=P.i===4||P.i===5?P.o=n2(P.k):P.o;uh(P.i===3?new Set(U):U,function(X,J){return v5(d,P,U,X,J,C)}),mm(d,U,!1),C&&d.u&&fa("Patches").R(P,C,d.u,d.s)}return P.o}function v5(d,g,C,P,U,X){if(wc(U)){var J=pm(d,U,X&&g&&g.i!==3&&!Jv(g.D,P)?X.concat(P):void 0);if(m5(C,P,J),!wc(J))return;d.m=!1}if(Sc(U)&&!r2(U)){if(!d.h.F&&d._<1)return;pm(d,U),g&&g.A.l||mm(d,U)}}function mm(d,g,C){C===void 0&&(C=!1),d.h.F&&d.m&&i2(g,C)}function l2(d,g){var C=d[rs];return(C?Ec(C):d)[g]}function y5(d,g){if(g in d)for(var C=Object.getPrototypeOf(d);C;){var P=Object.getOwnPropertyDescriptor(C,g);if(P)return P;C=Object.getPrototypeOf(C)}}function c2(d){d.P||(d.P=!0,d.l&&c2(d.l))}function u2(d){d.o||(d.o=n2(d.t))}function f2(d,g,C){var P=e2(g)?fa("MapSet").N(g,C):t2(g)?fa("MapSet").T(g,C):d.g?function(U,X){var J=Array.isArray(U),ue={i:J?1:0,A:X?X.A:g5(),P:!1,I:!1,D:{},l:X,t:U,k:null,o:null,j:null,C:!1},me=ue,Ee=gm;J&&(me=[ue],Ee=Am);var Ve=Proxy.revocable(me,Ee),Ge=Ve.revoke,nt=Ve.proxy;return ue.k=nt,ue.j=Ge,nt}(g,C):fa("ES5").J(g,C);return(C?C.A:g5()).p.push(P),P}function Gk(d){return wc(d)||Gs(22,d),function g(C){if(!Sc(C))return C;var P,U=C[rs],X=Xu(C);if(U){if(!U.P&&(U.i<4||!fa("ES5").K(U)))return U.t;U.I=!0,P=_5(C,X),U.I=!1}else P=_5(C,X);return uh(P,function(J,ue){U&&kk(U.t,J)===ue||m5(P,J,g(ue))}),X===3?new Set(P):P}(d)}function _5(d,g){switch(g){case 2:return new Map(d);case 3:return Array.from(d)}return n2(d)}var b5,fh,d2=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",Qk=typeof Map<"u",Wk=typeof Set<"u",x5=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",C5=d2?Symbol.for("immer-nothing"):((b5={})["immer-nothing"]=!0,b5),w5=d2?Symbol.for("immer-draftable"):"__$immer_draftable",rs=d2?Symbol.for("immer-state"):"__$immer_state",jk=""+Object.prototype.constructor,h2=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(d){return Object.getOwnPropertyNames(d).concat(Object.getOwnPropertySymbols(d))}:Object.getOwnPropertyNames,qk=Object.getOwnPropertyDescriptors||function(d){var g={};
4527return h2(d).forEach(function(C){g[C]=Object.getOwnPropertyDescriptor(d,C)}),g},Xk={},gm={get:function(d,g){if(g===rs)return d;var C=Ec(d);if(!Jv(C,g))return function(U,X,J){var ue,me=y5(X,J);return me?"value"in me?me.value:(ue=me.get)===null||ue===void 0?void 0:ue.call(U.k):void 0}(d,C,g);var P=C[g];return d.I||!Sc(P)?P:P===l2(d.t,g)?(u2(d),d.o[g]=f2(d.A.h,P,d)):P},has:function(d,g){return g in Ec(d)},ownKeys:function(d){return Reflect.ownKeys(Ec(d))},set:function(d,g,C){var P=y5(Ec(d),g);if(P!=null&&P.set)return P.set.call(d.k,C),!0;if(!d.P){var U=l2(Ec(d),g),X=U==null?void 0:U[rs];if(X&&X.t===C)return d.o[g]=C,d.D[g]=!1,!0;if(zk(C,U)&&(C!==void 0||Jv(d.t,g)))return!0;u2(d),c2(d)}return d.o[g]===C&&typeof C!="number"&&(C!==void 0||g in d.o)||(d.o[g]=C,d.D[g]=!0,!0)},deleteProperty:function(d,g){return l2(d.t,g)!==void 0||g in d.t?(d.D[g]=!1,u2(d),c2(d)):delete d.D[g],d.o&&delete d.o[g],!0},getOwnPropertyDescriptor:function(d,g){var C=Ec(d),P=Reflect.getOwnPropertyDescriptor(C,g);return P&&{writable:!0,configurable:d.i!==1||g!=="length",enumerable:P.enumerable,value:C[g]}},defineProperty:function(){Gs(11)},getPrototypeOf:function(d){return Object.getPrototypeOf(d.t)},setPrototypeOf:function(){Gs(12)}},Am={};uh(gm,function(d,g){Am[d]=function(){return arguments[0]=arguments[0][0],g.apply(this,arguments)}}),Am.deleteProperty=function(d,g){return gm.deleteProperty.call(this,d[0],g)},Am.set=function(d,g,C){return gm.set.call(this,d[0],g,C,d[0])};var Yk=function(){function d(C){var P=this;this.g=x5,this.F=!0,this.produce=function(U,X,J){if(typeof U=="function"&&typeof X!="function"){var ue=X;X=U;var me=P;return function(vt){var ft=this;vt===void 0&&(vt=ue);for(var Dt=arguments.length,kt=Array(Dt>1?Dt-1:0),It=1;It<Dt;It++)kt[It-1]=arguments[It];return me.produce(vt,function(un){var mr;return(mr=X).call.apply(mr,[ft,un].concat(kt))})}}var Ee;if(typeof X!="function"&&Gs(6),J!==void 0&&typeof J!="function"&&Gs(7),Sc(U)){var Ve=A5(P),Ge=f2(P,U,void 0),nt=!0;try{Ee=X(Ge),nt=!1}finally{nt?hm(Ve):o2(Ve)}return typeof Promise<"u"&&Ee instanceof Promise?Ee.then(function(vt){return s2(Ve,J),a2(vt,Ve)},function(vt){throw hm(Ve),vt}):(s2(Ve,J),a2(Ee,Ve))}if(!U||typeof U!="object")return(Ee=X(U))===C5?void 0:(Ee===void 0&&(Ee=U),P.F&&i2(Ee,!0),Ee);Gs(21,U)},this.produceWithPatches=function(U,X){return typeof U=="function"?function(me){for(var Ee=arguments.length,Ve=Array(Ee>1?Ee-1:0),Ge=1;Ge<Ee;Ge++)Ve[Ge-1]=arguments[Ge];return P.produceWithPatches(me,function(nt){return U.apply(void 0,[nt].concat(Ve))})}:[P.produce(U,X,function(me,Ee){J=me,ue=Ee}),J,ue];var J,ue},typeof(C==null?void 0:C.useProxies)=="boolean"&&this.setUseProxies(C.useProxies),typeof(C==null?void 0:C.autoFreeze)=="boolean"&&this.setAutoFreeze(C.autoFreeze)}var g=d.prototype;return g.createDraft=function(C){Sc(C)||Gs(8),wc(C)&&(C=Gk(C));var P=A5(this),U=f2(this,C,void 0);return U[rs].C=!0,o2(P),U},g.finishDraft=function(C,P){var U=C&&C[rs],X=U.A;return s2(X,P),a2(void 0,X)},g.setAutoFreeze=function(C){this.F=C},g.setUseProxies=function(C){C&&!x5&&Gs(20),this.g=C},g.applyPatches=function(C,P){var U;for(U=P.length-1;U>=0;U--){var X=P[U];if(X.path.length===0&&X.op==="replace"){C=X.value;break}}var J=fa("Patches").$;return wc(C)?J(C,P):this.produce(C,function(ue){return J(ue,P.slice(U+1))})},d}(),bs=new Yk;bs.produce,bs.produceWithPatches.bind(bs),bs.setAutoFreeze.bind(bs),bs.setUseProxies.bind(bs),bs.applyPatches.bind(bs),bs.createDraft.bind(bs),bs.finishDraft.bind(bs);var $k={currentProjectStateDefinitionVersion:"0.4.0"},p2=$k;async function Kk(d,g,C){await Uk(0),d.transaction(({drafts:P})=>{var U;const X=g.address.projectId;P.ephemeral.coreByProject[X]={lastExportedObject:null,loadingState:{type:"loading"}},P.ahistoric.coreByProject[X]={ahistoricStuff:""};function J(){P.ephemeral.coreByProject[X].loadingState={type:"loaded"},P.historic.coreByProject[X]={sheetsById:{},definitionVersion:p2.currentProjectStateDefinitionVersion,revisionHistory:[]}}function ue(Ge){P.ephemeral.coreByProject[X].loadingState={type:"loaded"},P.historic.coreByProject[X]=Ge}function me(){P.ephemeral.coreByProject[X].loadingState={type:"loaded"}}function Ee(Ge){P.ephemeral.coreByProject[X].loadingState={type:"browserStateIsNotBasedOnDiskState",onDiskState:Ge}}const Ve=(U=Nk(P.historic))==null?void 0:U.coreByProject[g.address.projectId];
4527Ve?C&&Ve.revisionHistory.indexOf(C.revisionHistory[0])==-1?Ee(C):me():C?ue(C):J()})}function S5(){}function E5(d){var g,C;const P=(g=d==null?void 0:d.logging)!=null&&g.internal?(C=d.logging.min)!=null?C:256:1/0,U=P<=128,X=P<=512,J=X9(void 0,{_debug:U?console.debug.bind(console,"_coreLogger(TheatreInternalLogger) debug"):S5,_error:X?console.error.bind(console,"_coreLogger(TheatreInternalLogger) error"):S5});if(d){const{logger:ue,logging:me}=d;ue&&J.configureLogger(ue),me?J.configureLogging(me):J.configureLogging({dev:!1})}return J.getLogger().named("Theatre")}var Zk=class{constructor(d,g={},C){this.config=g,this.publicApi=C,_(this,"pointers"),_(this,"_pointerProxies"),_(this,"address"),_(this,"_studioReadyDeferred"),_(this,"_assetStorageReadyDeferred"),_(this,"_readyPromise"),_(this,"_sheetTemplates",new p5.Atom({})),_(this,"sheetTemplatesP",this._sheetTemplates.pointer),_(this,"_studio"),_(this,"assetStorage"),_(this,"type","Theatre_Project"),_(this,"_logger");var P;this._logger=E5({logging:{dev:!0}}).named("Project",d),this._logger.traceDev("creating project"),this.address={projectId:d};const U=new p5.Atom({ahistoric:{ahistoricStuff:""},historic:(P=g.state)!=null?P:{sheetsById:{},definitionVersion:p2.currentProjectStateDefinitionVersion,revisionHistory:[]},ephemeral:{loadingState:{type:"loaded"},lastExportedObject:null}});this._assetStorageReadyDeferred=ol(),this.assetStorage={getAssetUrl:X=>{var J;return"".concat((J=g.assets)==null?void 0:J.baseUrl,"/").concat(X)},createAsset:()=>{throw new Error("Please wait for Project.ready to use assets.")}},this._pointerProxies={historic:new Zv.PointerProxy(U.pointer.historic),ahistoric:new Zv.PointerProxy(U.pointer.ahistoric),ephemeral:new Zv.PointerProxy(U.pointer.ephemeral)},this.pointers={historic:this._pointerProxies.historic.pointer,ahistoric:this._pointerProxies.ahistoric.pointer,ephemeral:this._pointerProxies.ephemeral.pointer},V.add(d,this),this._studioReadyDeferred=ol(),this._readyPromise=Promise.all([this._studioReadyDeferred.promise,this._assetStorageReadyDeferred.promise]).then(()=>{}),g.state?setTimeout(()=>{this._studio||(this._studioReadyDeferred.resolve(void 0),this._assetStorageReadyDeferred.resolve(void 0),this._logger._trace("ready deferred resolved with no state"))},0):typeof window>"u"?console.error('Argument config.state in Theatre.getProject("'.concat(d,'", config) is empty. ')+"You can safely ignore this message if you're developing a Next.js/Remix project in development mode. But if you are shipping to your end-users, then you need to set config.state, otherwise your project's state will be empty and nothing will animate. Learn more at https://www.theatrejs.com/docs/latest/manual/projects#state"):setTimeout(()=>{if(!this._studio)throw new Error('Argument config.state in Theatre.getProject("'.concat(d,'", config) is empty. This is fine ')+"while you are using @theatre/core along with @theatre/studio. But since @theatre/studio "+'is not loaded, the state of project "'.concat(d,`" will be empty.
4528
4529`)+`To fix this, you need to add @theatre/studio into the bundle and export the project's state. Learn how to do that at https://www.theatrejs.com/docs/latest/manual/projects#state
4530`)},1e3)}attachToStudio(d){if(this._studio){if(this._studio!==d)throw new Error("Project ".concat(this.address.projectId," is already attached to studio ").concat(this._studio.address.studioId));console.warn("Project ".concat(this.address.projectId," is already attached to studio ").concat(this._studio.address.studioId));return}this._studio=d,d.initialized.then(async()=>{var g;await Kk(d,this,this.config.state),this._pointerProxies.historic.setPointer(d.atomP.historic.coreByProject[this.address.projectId]),this._pointerProxies.ahistoric.setPointer(d.atomP.ahistoric.coreByProject[this.address.projectId]),this._pointerProxies.ephemeral.setPointer(d.atomP.ephemeral.coreByProject[this.address.projectId]),await d.createAssetStorage(this,(g=this.config.assets)==null?void 0:g.baseUrl).then(C=>{this.assetStorage=C,this._assetStorageReadyDeferred.resolve(void 0)}),this._studioReadyDeferred.resolve(void 0)}).catch(g=>{throw console.error(g),g})}get isAttachedToStudio(){return!!this._studio}get ready(){return this._readyPromise}isReady(){return this._studioReadyDeferred.status==="resolved"&&this._assetStorageReadyDeferred.status==="resolved"}getOrCreateSheet(d,g="default"){let C=this._sheetTemplates.get()[d];return C||(C=new Ok(this,d),this._sheetTemplates.reduce(P=>m(p({},P),{[d]:C}))),C.getInstance(g)}},Jk=class{get type(){return"Theatre_Project_PublicAPI"}constructor(d,g={}){Q(this,new Zk(d,g,this))}get ready(){return N(this).ready}get isReady(){return N(this).isReady()}get address(){return p({},N(this).address)}getAssetUrl(d){if(!this.isReady){console.error("Calling `project.getAssetUrl()` before `project.ready` is resolved, will always return `undefined`. Either use `project.ready.then(() => project.getAssetUrl())` or `await project.ready` before calling `project.getAssetUrl()`.");return}return d.id?N(this).assetStorage.getAssetUrl(d.id):void 0}sheet(d,g="default"){const C=dm(d);return N(this).getOrCreateSheet(C,g).publicApi}};x(R());var T5=Oi(),m2=Oi();function M5(d,g={}){const C=V.get(d);if(C)return C.publicApi;const U=E5().named("Project",d);return g.state?(tz(d,g.state),U._debug("deep validated config.state on disk")):U._debug("no config.state"),new Jk(d,g)}var ez=(d,g)=>{if(Array.isArray(g)||g==null||g.definitionVersion!==p2.currentProjectStateDefinitionVersion)throw new ah("Error validating conf.state in Theatre.getProject(".concat(JSON.stringify(d),", conf). The state seems to be formatted in a way that is unreadable to Theatre.js. Read more at https://www.theatrejs.com/docs/latest/manual/
4530projects#state"))},tz=(d,g)=>{ez(d,g)};function g2(d,g,C){const P=C?N(C).ticker:s5();if((0,T5.isPointer)(d))return(0,m2.pointerToPrism)(d).onChange(P,g,!0);if((0,m2.isPrism)(d))return d.onChange(P,g,!0);throw new Error("Called onChange(p) where p is neither a pointer nor a prism.")}function I5(d){if((0,T5.isPointer)(d))return(0,m2.pointerToPrism)(d).getValue();throw new Error("Called val(p) where p is not a pointer.")}var nz=class{constructor(){_(this,"_studio")}get type(){return"Theatre_CoreBundle"}get version(){return"0.7.2"}getBitsForStudio(d,g){if(this._studio)throw new Error("@theatre/core is already attached to @theatre/studio");this._studio=d;const C={projectsP:V.atom.pointer.projects,privateAPI:N,coreExports:E,getCoreRafDriver:r5};g(C)}};iz();function iz(){if(typeof window>"u")return;const d=window[qv];if(typeof d<"u")throw typeof d=="object"&&d&&typeof d.version=="string"?new Error(`It seems that the module '@theatre/core' is loaded more than once. This could have two possible causes:
45311. You might have two separate versions of Theatre.js in node_modules.
45322. Or this might be a bundling misconfiguration, in case you're using a bundler like Webpack/ESBuild/Rollup.
4533
4534Note that it **is okay** to import '@theatre/core' multiple times. But those imports should point to the same module.`):new Error("The variable window.".concat(qv," seems to be already set by a module other than @theatre/core."));const g=new nz;window[qv]=g;const C=window[KN];C&&C!==null&&C.type==="Theatre_StudioBundle"&&C.registerCoreBundle(g)}/*! Bundled license information:
4535
4536		lodash-es/lodash.js:
4537		  (**
4538		   * @license
4539		   * Lodash (Custom Build) <https://lodash.com/>
4540		   * Build: `lodash modularize exports="es" -o ./`
4541		   * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
4542		   * Released under MIT license <https://lodash.com/license>
4543		   * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
4544		   * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
4545		   *)
4546		*/}(Zh,Zh.exports)),Zh.exports}var Te=ule();class fle{constructor(e){this.pmremGenerator=new Pb(e),this.pmremGenerator.compileCubemapShader(),this.pmremGenerator.compileEquirectangularShader(),this.textures=[]}buildEnvironmentTexture(e,t){for(let r=0;r<this.textures.length;r++)if(this.textures[r].texture===t)return this.textures[r].pmrem;const i=this.buildPMREM(e,t,!1,"environment");return this.textures.push({texture:t,pmrem:i}),i}buildFogTexture(e){for(let i=0;i<this.textures.length;i++)if(this.textures[i].texture===e)return this.textures[i].pmrem;const t=this.createPMREM(e);return this.textures.push({texture:e,pmrem:t}),t}buildPMREM(e,t,i=!0,r){(t.isHDR===void 0||t.isHDR===null)&&console.error(`Environment texture ${t.name} is missing .isHDR parameter`);let s=t;return t instanceof np||(s=this.equiToCube(e,t,i,r)),s.name=t.name,this.createPMREM(s)}equiToCube(e,t,i=!0,r){return i?(e.cubeRenderTarget||(e.cubeRenderTarget=new Gg(t.image.height/2,{type:nn,format:pi,colorSpace:t.isHDR?mi:En})),e.cubeRenderTarget.fromEquirectangularTexture(S.WebGL.renderer,t),e.cubeRenderTarget.texture):(e[`${r}RT`]=new Gg(t.image.height/2,{type:nn,format:pi,colorSpace:t.isHDR?mi:En}),e[`${r}RT`].fromEquirectangularTexture(S.WebGL.renderer,t),e[`${r}RT`].texture)}createPMREM(e){if(e instanceof np){const i=this.cubeUVfromCubemap(e);return i.name=`${e.name} PMREM`,i}const t=this.fromEquirectangular(e);return t.name=`${e.name} PMREM`,t}cubeUVfromCubemap(e){return e.mapping=tc,this.pmremGenerator.fromCubemap(e).texture}fromEquirectangular(e){return e.mapping=Ya,this.pmremGenerator.fromEquirectangular(e).texture}generateCubeUVSize(e){const t=e;if(t===null)return null;const i=Math.log2(e)-2,r=1/t;return{texelWidth:1/(3*Math.max(Math.pow(2,i),7*16)),texelHeight:r,maxMip:i}}generateShaderDefines(e){if(!e.image)return{CUBEUV_TEXEL_WIDTH:.0006510416666666666,CUBEUV_TEXEL_HEIGHT:.00048828125,CUBEUV_MAX_MIP:9};const t=this.generateCubeUVSize(e.image.height);return{CUBEUV_TEXEL_WIDTH:t.texelWidth,CUBEUV_TEXEL_HEIGHT:t.texelHeight,CUBEUV_MAX_MIP:t.maxMip}}}var dle="varying vec2 vUv;void main(){vUv=uv;vec4 transformedPosition=vec4(position,1.0);vec4 mvPosition=modelViewMatrix*transformedPosition;gl_Position=projectionMatrix*mvPosition;}",hle=`#include <default_pars>
4547#include <default_frag_pars>
4548varying vec2 vUv;void main(){gl_FragColor=vec4(vUv.xy,1.,1.);
4549#include <colorspace_fragment>
4550}`;class is extends Cn{constructor(e={}){const t=e.globalUniforms;delete e.globalUniforms,e=An({vertexShader:dle,fragmentShader:hle,uniforms:{...S.WebGL.globalUniforms}},e),super(e),this.name=this.constructor.name,this.globalUniforms=t,this.uniforms=Object.assign(this.uniforms,this.globalUniforms),this.extensions.derivatives=!0}clone(e){const t=super.clone();return t.uniforms=Object.assign(t.uniforms,this.globalUniforms),t.uniforms=Object.assign(t.uniforms,e),t}}var ple=`varying vec2 vUv;uniform sampler2D tTexture;uniform vec2 uScreenSize;uniform vec2 uImageSize;void main(){vec2 uv=vUv;vec2 s=uScreenSize;vec2 i=uImageSize;float rs=s.x/s.y;float ri=i.x/i.y;
4551#ifdef CROP
4552vec2 new=rs<ri ? vec2(i.x*s.y/i.y,s.y): vec2(s.x,i.y*s.x/i.x);vec2 offset=(rs<ri ? vec2((new.x-s.x)/2.0,0.0): vec2(0.0,(new.y-s.y)/2.0))/new;
4553#else
4554vec2 new=rs>ri ? vec2(i.x*s.y/i.y,s.y): vec2(s.x,i.y*s.x/i.x);vec2 offset=(rs>ri ? vec2((new.x-s.x)/2.0,0.0): vec2(0.0,(new.y-s.y)/2.0))/new;
4555#endif
4556uv=vUv*s/new+offset;if(uv.x<0.0||uv.x>1.0||uv.y<0.0||uv.y>1.0){gl_FragColor=vec4(0.0,0.0,0.0,1.0);return;}gl_FragColor=texture2D(tTexture,uv);
4557#include <colorspace_fragment>
4558}`;class mle{constructor(){he(this,"onResize",()=>{this.setWindowSize(S.window.w,S.window.h);for(const e in this.rtViews)this.rtViews[e].setLocation()});he(this,"render",()=>{if(!this.enabled||!this.scene.children.length)return;const e=S.WebGL.renderer.autoClear;S.WebGL.renderer.autoClear=!1;for(const t in this.rtViews)this.rtViews[t].updateTexture();S.WebGL.renderer.render(this.scene,this.camera),S.WebGL.renderer.autoClear=e});this.enabled=!1,this.renderTargets={},this.rtViews={},this.scene=new Wa,this.camera=new Ou(-1,1,1,-1,1e-6,1e3),this.setWindowSize(S.window.w,S.window.h)}enable(){this.enabled||(this.enabled=!0,S.RAFCollection.add(this.render,999),oc(this.onResize,!1))}disable(){this.enabled&&(this.enabled=!1,S.RAFCollection.remove(this.render),Nl.delete(this.onResize))}registerRT(e,t){if(!t)throw new Error("RTViewer: render target must have a name");this.renderTargets[t]=e}unregisterRT(e){delete this.renderTargets[e]}createRTView(e,t={}){if(!this.renderTargets[e])throw new Error(`RTViewer: render target ${e} not found`);this.rtViews[e]=new gle({renderTarget:this.renderTargets[e],...t}),this.scene.add(this.rtViews[e].mesh)}destroyRTView(e){this.scene.remove(this.rtViews[e].mesh),this.rtViews[e].destroy(),delete this.rtViews[e]}setWindowSize(e,t){this.camera.left=-e/2,this.camera.right=e/2,this.camera.top=t/2,this.camera.bottom=-t/2,this.camera.updateProjectionMatrix()}destroy(){this.disable(),this.camera=null,this.scene=null}}class gle{constructor({renderTarget:e,x:t=0,y:i=0,width:r=400,crop:s=!1}){this.crop=s,this.renderTarget=e,this.options={x:t,y:i,width:r,crop:s},this.material=new is({fragmentShader:ple,uniforms:{tTexture:{value:this.renderTarget.texture},uScreenSize:{value:new Re},uImageSize:{value:new Re}},defines:{CROP:this.crop}}),this.geometry=new lo(1,1),this.mesh=new Qe(this.geometry,this.material),this.setLocation(t,i,r)}setLocation(e,t,i,r){const s=Object.assign(this.options,{x:e,y:t,width:i,height:r});s.height||(s.height=this.renderTarget.height*s.width/this.renderTarget.width),this.mesh.scale.set(s.width,s.height,1),this.mesh.position.x=-S.window.w/2+s.x+s.width/2,this.mesh.position.y=S.window.h/2-s.y-s.height/2,this.material.uniforms.uScreenSize.value.set(s.width,s.height),this.material.uniforms.uImageSize.value.set(this.renderTarget.width,this.renderTarget.height)}updateTexture(){this.material.uniforms.tTexture.value=this.renderTarget.texture}destroy(){this.mesh.geometry.dispose(),this.mesh.material.dispose(),this.mesh=null,this.geometry.dispose(),this.material.dispose(),this.renderTarget=null}}const ME=Object.assign({});function Ale(){for(const n in ME){const e=n.match(/\b\w+-\w+\b/g);e&&e.length&&(S.webglFonts[e[0]]=ME[n])}}class Fd extends lc{constructor(e,t,i,r){super(),this.strength=t!==void 0?t:1,this.radius=i,this.threshold=r,this.resolution=e!==void 0?new Re(e.x,e.y):new Re(256,256),this.clearColor=new ke(0,0,0),this.renderTargetsHorizontal=[],this.renderTargetsVertical=[],this.nMips=3;let s=Math.round(this.resolution.x/4),o=Math.round(this.resolution.y/4);this.renderTargetBright=new li(s,o,{type:nn}),this.renderTargetBright.texture.name="UnrealBloomPass.bright",this.renderTargetBright.texture.generateMipmaps=!1;for(let f=0;f<this.nMips;f++){const h=new li(s,o,{type:nn});h.texture.name="UnrealBloomPass.h"+f,h.texture.generateMipmaps=!1,this.renderTargetsHorizontal.push(h);const p=new li(s,o,{type:nn});p.texture.name="UnrealBloomPass.v"+f,p.texture.generateMipmaps=!1,this.renderTargetsVertical.push(p),s=Math.round(s/2),o=Math.round(o/2)}const a=kP;this.highPassUniforms=Po.clone(a.uniforms),this.highPassUniforms.luminosityThreshold.value=r,this.highPassUniforms.smoothWidth.value=.01,this.materialHighPassFilter=new Cn({uniforms:this.highPassUniforms,vertexShader:a.vertexShader,fragmentShader:a.fragmentShader}),this.separableBlurMaterials=[];const l=[7,9,11];s=Math.round(this.resolution.x/2),o=Math.round(this.resolution.y/2);for(let f=0;f<this.nMips;f++)this.separableBlurMaterials.push(this.getSeperableBlurMaterial(l[f])),this.separableBlurMaterials[f].uniforms.invSize.value=new Re(1/s,1/o),s=Math.round(s/2),o=Math.round(o/2);this.compositeMaterial=this.getCompositeMaterial(this.nMips),this.compositeMaterial.uniforms.blurTexture1.value=this.renderTargetsVertical[0].texture,this.compositeMaterial.uniforms.blurTexture2.value=this.renderTargetsVertical[1].texture,this.compositeMaterial.uniforms.blurTexture3.value=this.renderTargetsVertical[2].texture,this.compositeMaterial.uniforms.bloomStrength.value=t,this.compositeMaterial.uniforms.bloomRadius.value=.1;const c=[1.4,1.2,1];this.compositeMaterial.uniforms.bloomFactors.value=c,this.bloomTintColors=[new K(1,1,1),new K(1,1,1),new K(1,1,1),new K(1,1,1),new K(1,1,1)],this.compositeMaterial.uniforms.bloomTintColors.value=this.bloomTintColors;const u=BA;this.copyUniforms=Po.clone(u.uniforms),this.blendMaterial=new Cn({uniforms:this.copyUniforms,vertexShader:u.vertexShader,fragmentShader:u.fragmentShader,blending:Y0,depthTest:!1,depthWrite:!1,transparent:!0}),this.enabled=!0,this.needsSwap=!1,this._oldClearColor=new ke,this.oldClearAlpha=1,this.basic=new Jr,this.fsQuad=new Ip(null)}dispose(){for(let e=0;e<this.renderTargetsHorizontal.length;e++)this.renderTargetsHorizontal[e].dispose();for(let e=0;e<this.renderTargetsVertical.length;e++)this.renderTargetsVertical[e].dispose();this.renderTargetBright.dispose();for(let e=0;e<this.separableBlurMaterials.length;e++)this.separableBlurMaterials[e].dispose();this.compositeMaterial.dispose(),this.blendMaterial.dispose(),this.basic.dispose(),this.fsQuad.dispose()}setSize(e,t){let i=Math.round(e/2),r=Math.round(t/2);this.renderTargetBright.setSize(i,r);for(let s=0;s<this.nMips;s++)this.renderTargetsHorizontal[s].setSize(i,r),this.renderTargetsVertical[s].setSize(i,r),this.separableBlurMaterials[s].uniforms.invSize.value=new Re(1/i,1/r),i=Math.round(i/2),r=Math.round(r/2)}render(e,t,i,r,s){e.getClearColor(this._oldClearColor),this.oldClearAlpha=e.getClearAlpha();const o=e.autoClear;e.autoClear=!1,e.setClearColor(this.clearColor,0),s&&e.state.buffers.stencil.setTest(!1),this.renderToScreen&&(this.fsQuad.material=this.basic,this.basic.map=i.texture,e.setRenderTarget(null),e.clear(),this.fsQuad.render(e)),this.highPassUniforms.tDiffuse.value=i.texture,this.highPassUniforms.luminosityThreshold.value=this.threshold,this.fsQuad.material=this.materialHighPassFilter,e.setRenderTarget(this.renderTargetBright),e.clear(),this.fsQuad.render(e);let a=this.renderTargetBright;for(let l=0;l<this.nMips;l++)this.fsQuad.material=this.separableBlurMaterials[l],this.separableBlurMaterials[l].uniforms.colorTexture.value=a.texture,this.separableBlurMaterials[l].uniforms.direction.value=Fd.BlurDirectionY,e.setRenderTarget(this.renderTargetsHorizontal[l]),e.clear(),this.fsQuad.render(e),this.separableBlurMaterials[l].uniforms.colorTexture.value=this.renderTargetsHorizontal[l].texture,this.separableBlurMaterials[l].uniforms.direction.value=Fd.BlurDirectionY,e.setRenderTarget(this.renderTargetsVertical[l]),e.clear(),this.fsQuad.render(e),a=this.renderTargetsVertical[l];this.fsQuad.material=this.compositeMaterial,this.compositeMaterial.uniforms.bloomStrength.value=this.strength,this.compositeMaterial.uniforms.bloomRadius.value=this.radius,this.compositeMaterial.uniforms.bloomTintColors.value=this.bloomTintColors,e.setRenderTarget(this.renderTargetsHorizontal[0]),e.clear(),this.fsQuad.render(e),this.fsQuad.material=this.blendMaterial,this.copyUniforms.tDiffuse.value=this.renderTargetsHorizontal[0].texture,s&&e.state.buffers.stencil.setTest(!0),this.renderToScreen?(e.setRenderTarget(null),this.fsQuad.render(e)):(e.setRenderTarget(i),this.fsQuad.render(e)),e.setClearColor(this._oldClearColor,this.oldClearAlpha),e.autoClear=o}getSeperableBlurMaterial(e){const t=[];for(let i=0;i<e;i++)t.push(.39894*Math.exp(-.5*i*i/(e*e))/e);return new Cn({defines:{KERNEL_RADIUS:e},uniforms:{colorTexture:{value:null},invSize:{value:new Re(.5,.5)},direction:{value:new Re(.5,.5)},gaussianCoefficients:{value:t}},vertexShader:`varying vec2 vUv;
4559				void main() {
4560					vUv = uv;
4561					gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
4562				}`,fragmentShader:`#include <common>
4563				varying vec2 vUv;
4564				uniform sampler2D colorTexture;
4565				uniform vec2 invSize;
4566				uniform vec2 direction;
4567				uniform float gaussianCoefficients[KERNEL_RADIUS];
4568
4569				void main() {
4570					float weightSum = gaussianCoefficients[0];
4571					vec3 diffuseSum = texture2D( colorTexture, vUv ).rgb * weightSum;
4572					for( int i = 1; i < KERNEL_RADIUS; i ++ ) {
4573						float x = float(i);
4574						float w = gaussianCoefficients[i];
4575						vec2 uvOffset = direction * invSize * x;
4576						vec3 sample1 = texture2D( colorTexture, vUv + uvOffset ).rgb;
4577						vec3 sample2 = texture2D( colorTexture, vUv - uvOffset ).rgb;
4578						diffuseSum += (sample1 + sample2) * w;
4579						weightSum += 2.0 * w;
4580					}
4581					gl_FragColor = vec4(diffuseSum/weightSum, 1.0);
4582				}`})}getCompositeMaterial(e){return new Cn({defines:{NUM_MIPS:e},uniforms:{blurTexture1:{value:null},blurTexture2:{value:null},blurTexture3:{value:null},bloomStrength:{value:1},bloomFactors:{value:null},bloomTintColors:{value:null},bloomRadius:{value:0}},vertexShader:`varying vec2 vUv;
4583				void main() {
4584					vUv = uv;
4585					gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
4586				}`,fragmentShader:`varying vec2 vUv;
4587				uniform sampler2D blurTexture1;
4588				uniform sampler2D blurTexture2;
4589				uniform sampler2D blurTexture3;
4590				uniform float bloomStrength;
4591				uniform float bloomRadius;
4592				uniform float bloomFactors[NUM_MIPS];
4593				uniform vec3 bloomTintColors[NUM_MIPS];
4594
4595				float lerpBloomFactor(const in float factor) {
4596					float mirrorFactor = 1.2 - factor;
4597					return mix(factor, mirrorFactor, bloomRadius);
4598				}
4599
4600				void main() {
4601					gl_FragColor = bloomStrength * ( lerpBloomFactor(bloomFactors[0]) * vec4(bloomTintColors[0], 1.0) * texture2D(blurTexture1, vUv) +
4602						lerpBloomFactor(bloomFactors[1]) * vec4(bloomTintColors[1], 1.0) * texture2D(blurTexture2, vUv) +
4603						lerpBloomFactor(bloomFactors[2]) * vec4(bloomTintColors[2], 1.0) * texture2D(blurTexture3, vUv) );
4604				}`})}}Fd.BlurDirectionX=new Re(1,0);Fd.BlurDirectionY=new Re(-.5,1);var IE=`#include <common>
4605#include <packing>
4606varying vec2 vUv;uniform sampler2D tBase;uniform vec2 uTexelSize;uniform vec2 uResolution;uniform float uNormalizedDelta;uniform float uScreenAspect;uniform vec3 uForce;uniform vec2 uMouse;uniform vec2 uPrevMouse;uniform vec2 uMouseVelocity;uniform float uMouseRadius;uniform float uPressure;uniform float uMouseStrength;float sdLine(vec2 p,vec2 a,vec2 b){float velocity=clamp(length(uMouseVelocity),0.5,1.5);vec2 pa=p-a,ba=b-a;float h=clamp(dot(pa,ba)/dot(ba,ba),0.0,1.0);return length(pa-ba*h)/velocity;}void main(){float aspect=uResolu
4606tion.x/uResolution.y;vec4 color=texture2D(tBase,vUv);float magnitude=1.0-smoothstep(0.0,uMouseRadius,distance(vUv*vec2(uScreenAspect,1.),uMouse*vec2(uScreenAspect,1.)));vec3 splat=uForce*magnitude*uMouseStrength;color.rgb=(color.rgb+splat)*uPressure;color.a=1.0;gl_FragColor=color;}`,vle="varying vec2 vUv;varying vec2 vL;varying vec2 vR;varying vec2 vT;varying vec2 vB;uniform sampler2D tVelocity;void main(){float L=texture(tVelocity,vL).y;float R=texture(tVelocity,vR).y;float T=texture(tVelocity,vT).x;float B=texture(tVelocity,vB).x;float vorticity=R-L-T+B;gl_FragColor=vec4(0.5*vorticity,0.0,0.0,1.0);}",yle="varying vec2 vUv;varying vec2 vL;varying vec2 vR;varying vec2 vT;varying vec2 vB;uniform sampler2D tVelocity;uniform sampler2D tCurl;uniform float uCurlStrength;uniform float uNormalizedDelta;void main(){float L=texture(tCurl,vL).x;float R=texture(tCurl,vR).x;float T=texture(tCurl,vT).x;float B=texture(tCurl,vB).x;float C=texture(tCurl,vUv).x;vec2 force=0.5*vec2(abs(T)-abs(B),abs(R)-abs(L));force/=length(force)+0.01;force*=uCurlStrength*C;force.y*=-1.0;vec2 vel=texture(tVelocity,vUv).xy;gl_FragColor=vec4(vel+force*uNormalizedDelta,0.0,1.0);}",_le="varying vec2 vUv;varying vec2 vL;varying vec2 vR;varying vec2 vT;varying vec2 vB;uniform sampler2D tVelocity;uniform float uViscosity;void main(){float L=texture(tVelocity,vL).x;float R=texture(tVelocity,vR).x;float T=texture(tVelocity,vT).y;float B=texture(tVelocity,vB).y;vec2 C=texture(tVelocity,vUv).xy;if(vL.x<0.0){L=-C.x;}if(vR.x>1.0){R=-C.x;}if(vT.y>1.0){T=-C.y;}if(vB.y<0.0){B=-C.y;}float div=0.5*(R-L+T-B)*uViscosity;gl_FragColor=vec4(div,0.0,0.0,1.0);}",ble="varying vec2 vUv;uniform sampler2D tPressure;uniform float uClearValue;void main(){gl_FragColor=uClearValue*texture2D(tPressure,vUv);}",xle="varying vec2 vUv;varying vec2 vL;varying vec2 vR;varying vec2 vT;varying vec2 vB;uniform vec2 uTexelSize;uniform sampler2D tTexture;uniform sampler2D tPressure;uniform sampler2D tDivergence;vec2 boundary(vec2 uv){return uv;}void main(){float L=texture2D(tTexture,boundary(vL)).x;float R=texture2D(tTexture,boundary(vR)).x;float T=texture2D(tTexture,boundary(vT)).x;float B=texture2D(tTexture,boundary(vB)).x;float C=texture2D(tTexture,vUv).x;float divergence=texture2D(tDivergence,vUv).x;float pressure=(L+R+B+T-divergence)*0.25;gl_FragColor=vec4(pressure,0.0,0.0,1.0);}",PE="varying vec2 vUv;uniform vec2 uTexelSize;uniform sampler2D tTexture;uniform sampler2D tVelocity;uniform float uNormalizedDelta;uniform float uDelta;uniform float uDissipation;void main(){vec2 coord=vUv-uNormalizedDelta*texture2D(tTexture,vUv).xy*uTexelSize;vec4 result=texture2D(tVelocity,coord);float decay=1.0+uDissipation*uNormalizedDelta;gl_FragColor=result/decay;}",Cle="varying vec2 vUv;varying vec2 vL;varying vec2 vR;varying vec2 vT;varying vec2 vB;uniform vec2 uTexelSize;uniform vec2 uResolution;uniform sampler2D tPressure;uniform sampler2D tVelocity;vec2 boundary(vec2 uv){return uv;}void main(){vec2 halfrdx=0.5/uResolution;float L=texture2D(tPressure,boundary(vL)).x;float R=texture2D(tPressure,boundary(vR)).x;float T=texture2D(tPressure,boundary(vT)).x;float B=texture2D(tPressure,boundary(vB)).x;vec2 velocity=texture2D(tVelocity,vUv).xy;velocity.xy-=vec2(R-L,T-B);gl_FragColor=vec4(velocity,0.0,1.0);}",R4="varying vec2 vUv;varying vec2 vL;varying vec2 vR;varying vec2 vT;varying vec2 vB;uniform vec2 uTexelSize;void main(){vUv=uv;vL=vUv-vec2(uTexelSize.x,0.0);vR=vUv+vec2(uTexelSize.x,0.0);vT=vUv+vec2(0.0,uTexelSize.y);vB=vUv-vec2(0.0,uTexelSize.y);gl_Position=projectionMatrix*modelViewMatrix*vec4(position,1.0);}";class Qr{constructor({fragmentShader:e,uniforms:t={},defines:i={},width:r=32,height:s=32,data:o=!1,count:a,filter:l,wrap:c,type:u,createTexture:f=!0,pingPong:h=!0,autoSwap:p=!0,autoClear:m=!1,transparent:v=!1,renderTargets:A=!1}){a?(this.width=Bae(a),this.height=this.width,this.count=a):(this.width=r,this.height=s,this.count=r*s),this.uniforms=t,this.defines=i,this.renderTargets={},A&&(this.renderTargets.a=A.a,this.renderTargets.b=A.b),this.texture=null,this.alternateTexture=null,this.createTexture=f,this.pingPong=h,this.autoSwap=p,this.transparent=v,this.autoClear=m,this.filter=l||Br,this.wrap=c||ti,this.type=u||nn,this.type=u?u===Zt&&S.breakpoints.is("touch")&&!this.createTexture?nn:u:nn,this.scene=new Wa,this.camera=new TA,this.camera.position.z=1,this.buildRenderTargets(),this.buildPlane(e),this.createTexture&&this.buildoriginalTexture(o),this.setFboUv(),this.render()}buildoriginalTexture(e){const t=this.count*4,i=new Float32Array(this.width*this.height*4);if(e)for(let r=0;r<t;r+=4)i[r+0]=e[r+0],i[r+1]=e[r+1],i[r+2]=e[r+2],i[r+3]=e[r+3];else for(let r=0;r<t;r+=4)i[r+0]=0,i[r+1]=0,i[r+2]=0,i[r+3]=1;this.originalTexture=new zd(i,this.width,this.height,pi,this.type),this.originalTexture.minFilter=this.filter,this.originalTexture.magFilter=this.filter,this.originalTexture.needsUpdate=!0,this.uniforms.tOriginalTexture.value=this.originalTexture,this.uniforms.tTexture.value=this.originalTexture,this.uniforms.tPrevTexture.value=this.originalTexture}buildRenderTargets(){this.renderTargets.a||(this.renderTargets.a=new li(this.width,this.height,{minFilter:S.breakpoints.is("touch")?this.filter:jx,magFilter:this.filter,wrapS:this.wrap,wrapT:this.wrap,generateMipmaps:!0,format:pi,type:this.t
4606ype,depthBuffer:!1,stencilBuffer:!1})),this.renderTargets.write=this.renderTargets.a,this.pingPong&&(this.renderTargets.b||(this.renderTargets.b=this.renderTargets.a.clone()),this.renderTargets.read=this.renderTargets.b)}buildPlane(e){Object.assign(this.uniforms,{tOriginalTexture:{value:null},tTexture:{value:null},tPrevTexture:{value:null},uTime:S.WebGL.globalUniforms.uTime,uDelta:S.WebGL.globalUniforms.uDelta,uNormalizedDelta:S.WebGL.globalUniforms.uNormalizedDelta,uResolution:{value:new Re(this.width,this.height)},uTexelSize:{value:new Re(1/this.width,1/this.height)}}),Object.assign(this.defines,{}),this.plane=new Qe(new lo(2,2),new Cn({vertexShader:R4,fragmentShader:e,uniforms:this.uniforms,defines:this.defines,transparent:this.transparent})),this.material=this.plane.material,this.scene.add(this.plane)}setFboUv(){this.fboUv={},this.fboUv.data=new Float32Array(this.count*2);const e=1/this.width/2,t=1/this.height/2;for(let i=0;i<this.count;i++){const r=i%this.width/this.width+e,s=Math.floor(i/this.width)/this.height+t;this.fboUv.data[i*2+0]=r,this.fboUv.data[i*2+1]=s}this.fboUv.attribute=new Gi(this.fboUv.data,2),this.fboUv.attributeInstanced=new Ro(this.fboUv.data,2)}render(){const e=S.WebGL.renderer.getRenderTarget();S.WebGL.renderer.setRenderTarget(this.renderTargets.write),S.WebGL.renderer.render(this.scene,this.camera),S.WebGL.renderer.setRenderTarget(e),this.pingPong&&this.autoSwap?this.swap():this.texture=this.renderTargets.write.texture}swap(){const e=this.renderTargets.write;this.uniforms.tPrevTexture.value=e.texture,this.renderTargets.write=this.renderTargets.read,this.renderTargets.read=e,this.texture=this.renderTargets.read.texture,this.alternateTexture=this.renderTargets.write.texture}update(e=!0){const t=S.WebGL.renderer.autoClear;S.WebGL.renderer.autoClear=this.autoClear,e&&(this.pingPong?this.uniforms.tTexture.value=this.renderTargets.read.texture:this.uniforms.tTexture.value=this.renderTargets.write.texture),this.render(),S.WebGL.renderer.autoClear=t}setSize(e,t){this.renderTargets.a.setSize(e,t),this.renderTargets.b&&this.renderTargets.b.setSize(e,t),this.uniforms.uResolution.value.set(e,t),this.uniforms.uTexelSize.value.set(1/e,1/t)}destroy(){this.renderTargets.a.dispose(),this.renderTargets.b&&this.renderTargets.b.dispose(),this.uniforms.tTexture.value&&this.uniforms.tTexture.value.dispose(),this.originalTexture&&this.originalTexture.dispose(),this.plane.geometry.dispose(),this.plane.material.dispose()}}class wle{constructor(e={}){he(this,"onRaf",()=>{this.addForceSimMouse.uniforms.uScreenAspect.value=S.window.w/S.window.h,this.addForceSimVelocity.uniforms.uScreenAspect.value=S.window.w/S.window.h,this.curlSim.uniforms.tVelocity.value=this.advectionSimVelocity.texture,this.curlSim.update(!1),this.vorticitySim.uniforms.tVelocity.value=this.advectionSimVelocity.texture,this.vorticitySim.uniforms.tCurl.value=this.curlSim.texture,this.vorticitySim.update(!1),this.addForce(this.addForceSimMouse.uniforms,this.addForceSimVelocity.uniforms,this.options.fluid),this.addForceSimMouse.uniforms.tBase.value=this.advectionSimMouse.texture,this.addForceSimMouse.update(!1),this.addForceSimVelocity.uniforms.tBase.value=this.vorticitySim.texture,this.addForceSimVelocity.update(),this.divergenceSim.uniforms.tVelocity.value=this.addForceSimVelocity.texture,this.divergenceSim.update(),this.clearSim.uniforms.tPressure.value=this.pressureSim.texture,this.clearSim.update(),this.pressureSim.uniforms.tPressure.value=this.clearSim.texture,this.pressureSim.uniforms.tDivergence.value=this.divergenceSim.texture;for(let e=0;e<this.options.fluid.iterations;e++)this.pressureSim.update();this.gradientSubtractSim.uniforms.tPressure.value=this.pressureSim.texture,this.gradientSubtractSim.uniforms.tVelocity.value=this.addForceSimVelocity.texture,this.gradientSubtractSim.update(),this.advectionSimVelocity.uniforms.tVelocity.value=this.gradientSubtractSim.texture,this.advectionSimVelocity.update(),this.advectionSimMouse.uniforms.tVelocity.value=this.addForceSimMouse.texture,this.advectionSimMouse.update()});this.options=An({name:this.constructor.name,textureWidth:S.breakpoints.is("touch")?64:128,simulationOpts:{uniforms:{uMouseRadius:{value:.15,gui:{min:0,max:1,step:.
460601}},uPressure:{value:.998,gui:{min:.7,max:1,step:.001}},uCurlStrength:{value:.04,gui:{min:0,step:.01}},uDissipation:{value:.005,gui:{min:0,max:.1,step:1e-4}},uClearValue:{value:0,gui:{min:0,max:.99,step:.01}},uViscosity:{value:.2,gui:{min:0,max:.5,step:.001}}}},fluid:{force:20,iterations:3,forceClamp:100}},e),this.prevMouse=new Re(-1,-1),this.pointerPos=new Re(-1,-1),this.targetPointerPos=new Re(-1,-1),this.isActive=!1,this.build(),this.addForce=this.addScreenSpaceMouseForce}build(){this.advectionSimVelocity=new Qr({fragmentShader:PE,uniforms:{tVelocity:{value:null},uDissipation:this.options.simulationOpts.uniforms.uDissipation},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1}),this.curlSim=new Qr({fragmentShader:vle,uniforms:{tVelocity:{value:this.advectionSimVelocity.texture}},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1,pingPong:!1}),this.vorticitySim=new Qr({fragmentShader:yle,uniforms:{tVelocity:{value:this.advectionSimVelocity.texture},tCurl:{value:this.curlSim.texture},uCurlStrength:this.options.simulationOpts.uniforms.uCurlStrength},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1,pingPong:!1}),this.divergenceSim=new Qr({fragmentShader:_le,uniforms:{tVelocity:{value:this.advectionSimVelocity.texture},uViscosity:this.options.simulationOpts.uniforms.uViscosity},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1,pingPong:!1}),this.clearSim=new Qr({fragmentShader:ble,uniforms:{tPressure:{value:null},uClearValue:this.options.simulationOpts.uniforms.uClearValue},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1,pingPong:!1}),this.pressureSim=new Qr({fragmentShader:xle,uniforms:{tPressure:{value:null},tDivergence:{value:this.divergenceSim.texture}},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1}),this.gradientSubtractSim=new Qr({fragmentShader:Cle,uniforms:{tPressure:{value:this.pressureSim.texture},tVelocity:{value:this.advectionSimVelocity.texture}},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1,pingPong:!1}),this.advectionSimMouse=new Qr({fragmentShader:PE,uniforms:{tVelocity:{value:this.advectionSimVelocity.texture},uDissipation:this.options.simulationOpts.uniforms.uDissipation},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1}),this.addForceSimMouse=new Qr({fragmentShader:IE,uniforms:{tBase:{value:this.advectionSimMouse.texture},uMouse:{value:new Re(-1,-1)},uMouseStrength:{value:1},uPrevMouse:{value:new Re(-1,-1)},uMouseVelocity:{value:new Re},uForce:{value:new K},uScreenAspect:{value:S.window.w/S.window.h},uMouseRadius:this.options.simulationOpts.uniforms.uMouseRadius,uPressure:this.options.simulationOpts.uniforms.uPressure},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1,pingPong:!1}),this.addForceSimVelocity=new Qr({fragmentShader:IE,uniforms:{tBase:{value:this.advectionSimVelocity.texture},uMouse:{value:new Re(-1,-1)},uMouseStrength:{value:1},uPrevMouse:{value:new Re(-1,-1)},uMouseVelocity:{value:new Re},uForce:{value:new K},uScreenAspect:{value:S.window.w/S.window.h},uMouseRadius:this.options.simulationOpts.uniforms.uMouseRadius,uPressure:this.options.simulationOpts.uniforms.uPressure},width:this.options.textureWidth,height:this.options.textureWidth,filter:Yt,type:Zt,wrap:ti,createTexture:!1,pingPong:!1})}addEvents(){this.isActive||(S.RAFCollection.add(this.onRaf,2),this.isActive=!0)}removeEvents(){this.isActive&&(S.RAFCollection.remove(this.onRaf),this.isActive=!1)}setAddForceFunction(e){this.addForce=e}addScreenSpaceMouseForce(){S.pointer.glScreenSpace.equals(this.targetPointerPos)||(this.targetPointerPos.copy(S.pointer.glScreenSpace),this.pointerPos.x===-1&&this.pointerPos.y===-1&&(this.pointerPos.copy(this.targetPointerPos),this.prevMouse.copy(this.pointerPos))),this.pointerPos.lerp(this.targetPointerPos,.2),this.addForceSimMouse.uniforms.uPrevMouse.value.copy(this.prevMouse),this.addForceSimVelocity.uniforms.uPrevMouse.value.copy(this.prevMouse),this.addForceSimVelocity.uniforms.uMouse.value.copy(this.pointerPos),this.addForceSimVelocity.uniforms.uForce.value.set((this.pointerPos.x-this.prevMouse.x)*this.options.fluid.force,(this.pointerPos.y-this.prevMouse.y)*this.options.fluid.force,0),this.options.fluid.forceClamp&&this.addForceSimVelocity.uniforms.uForce.value.clampScalar(-this.options.fluid.forceClamp,this.options.fluid.forceClamp),this.addForceSimVelocity.uniforms.uMouseVelocity.value.set((this.addForceSimVelocity.uniforms.uMouse.value.x-this.addForceSimVelocity.uniforms.uPrevMouse.value.x)/16,(this.addForceSimVelocity.uniforms.uMouse.value.y-this.addForceSimVelocity.uniforms.uPrevMouse.value.y)/16),this.addForceSimMouse.uniforms.uMouse.value.copy(this.addForceSimVelocity.uniforms.uMouse.value),this.addForceSimMouse.uniforms.uMouseVelocity.value.copy(this.addForceSimVelocity.uniforms.uMouseVelocity.value),this.addForceSimMouse.uniforms.uForce.value.set(1,1,1),this.prevMouse.copy(this.pointerPos)}destroy(){this.removeEvents(),this.advectionSimVelocity.destroy(),this.curlSim.destroy(),this.vorticitySim.destroy(),this.divergenceSim.destroy(),this.clearSim.destroy(),this.pressureSim.destroy(),this.gradientSubtractSim.destroy(),this.addForceSimMouse.destroy(),this.addForceSimVelocity.destroy()}
4606addGui(){S.guiReady.then(()=>{const e=S.Gui.addFolder({title:"Fluid Sim",expanded:!1});S.Gui.autoAddUniforms(e,this.options.simulationOpts.uniforms,["uForce"]),e.addBinding(this.options.fluid,"force",{label:"force"}),e.addBinding(this.options.fluid,"forceClamp",{label:"forceClamp"})})}}var Sle="varying vec2 vUv;void main(){vUv=uv;gl_Position=projectionMatrix*modelViewMatrix*vec4(position,1.0);}",Ele=`varying vec2 vUv;uniform sampler2D tFromScene;uniform sampler2D tToScene;uniform sampler2D tNoise;uniform float uProgress;uniform vec2 uNoise1Scale;uniform vec2 uNoise2Scale;uniform vec2 uNoise1Offset;uniform float uUvDistortion;uniform float uAdditionalUvDistortion;uniform float uChromaticAberrationStrength;uniform float uCrossfadeSize;uniform float uCrossfadeNoise;uniform vec2 uResolution;uniform float uTime;float random(vec2 p){vec3 p3=fract(vec3(p.xyx)*443.8975);p3+=dot(p3,p3.yzx+19.19);return fract((p3.x+p3.y)*p3.z);}vec2 barrelPincushion(vec2 uv,float strength){vec2 st=uv-0.5;float theta=atan(st.x,st.y);float radius=sqrt(dot(st,st));radius*=1.0+strength*(radius*radius);return 0.5+radius*vec2(sin(theta),cos(theta));}void main(){vec2 distortedUv=barrelPincushion(vUv,3.);vec2 distortedUvFlipped=barrelPincushion(vUv,-0.5);float aspect=uResolution.x/uResolution.y;float smallNoise=random(vUv)*2.-1.;vec2 noise=texture2D(tNoise,vUv*uNoise1Scale+uNoise1Offset).rg*2.-1.;float noise2=texture2D(tNoise,vUv*uNoise2Scale+noise+vec2(0.,uTime*0.01)).r*2.-1.;distortedUvFlipped+=noise2*uUvDistortion;float chromaticAberration=uChromaticAberrationStrength+smallNoise*0.003;float topThreshold=0.3+noise2*uAdditionalUvDistortion;float bottomThreshold=0.;float fromFade=1.-smoothstep(uProgress-topThreshold,uProgress-bottomThreshold,distortedUv.y);fromFade+=1.-smoothstep(uProgress+bottomThreshold,uProgress+topThreshold,distortedUv.y);fromFade=clamp(fromFade,0.,1.);vec2 redOffsetFrom=mix(vUv,distortedUvFlipped,fromFade);vec2 greenOffsetFrom=mix(vUv,distortedUvFlipped+vec2(chromaticAberration,0.0),fromFade);vec2 blueOffsetFrom=mix(vUv,distortedUvFlipped-vec2(chromaticAberration,0.0),fromFade);float redChannel=texture2D(tFromScene,redOffsetFrom).r;float greenChannel=texture2D(tFromScene,greenOffsetFrom).g;float blueChannel=texture2D(tFromScene,blueOffsetFrom).b;vec4 fromScene=vec4(redChannel,greenChannel,blueChannel,1.0);fromScene.rgb+=fromScene.rgb*0.5*fromFade;float toFade=1.-smoothstep(uProgress+topThreshold,uProgress+bottomThreshold,distortedUv.y);toFade+=1.-smoothstep(uProgress-bottomThreshold,uProgress-topThreshold,distortedUv.y);toFade=clamp(toFade,0.,1.);vec2 redOffsetTo=mix(vUv,distortedUvFlipped,toFade);vec2 greenOffsetTo=mix(vUv,distortedUvFlipped+vec2(chromaticAberration,0.0),toFade);vec2 blueOffsetTo=mix(vUv,distortedUvFlipped-vec2(chromaticAberration,0.0),toFade);float redChannelTo=texture2D(tToScene,redOffsetTo).r;float greenChannelTo=texture2D(tToScene,greenOffsetTo).g;float blueChannelTo=texture2D(tToScene,blueOffsetTo).b;vec4 toScene=vec4(redChannelTo,greenChannelTo,blueChannelTo,1.0);toScene.rgb+=toScene.rgb*0.5*toFade;float combineFade=1.-smoothstep(uProgress-uCrossfadeSize-noise2*uCrossfadeNoise,uProgress+uCrossfadeSize+noise2*uCrossfadeNoise,distortedUv.y+noise2*0.3);vec4 outputColor=mix(fromScene,toScene,combineFade);gl_FragColor=outputColor;
4607#include <colorspace_fragment>
4608}`;class Uh{constructor(e={}){this.options=Object.assign({materialOpts:{},start:"bottom top+=100%",end:"bottom top-=75%",ease:"none"},e)}build(){this.fromScene=S.WebGL.scenes[`${this.options.fromScene}`],this.toScene=S.WebGL.scenes[`${this.options.toScene}`],this.transitionPass=new rp(new is(An({vertexShader:Sle,fragmentShader:Ele,name:this.constructor.name,uniforms:{tFromScene:{value:this.fromScene.savePass.renderTarget.texture},tToScene:{value:this.toScene.savePass.renderTarget.texture},tNoise:{value:S.WebGL.assets.textures.noise},uProgress:{value:0},...S.WebGL.globalTransitionUniforms}},this.options.materialOpts))),this.transitionPass.name=`${this.options.fromScene} <-> ${this.options.toScene} Transition`,this.transitionPass.enabled=!1,S.WebGL.composerPasses.add(this.transitionPass,S.WebGL.composerPassOrder.transitions),this.buildTimeline()}buildTimeline(){this.timeline=dr.fromTo(this.transitionPass.material.uniforms.uProgress,{value:-.9},{value:1.9,duration:1,ease:this.options.ease,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.fromScene.options.domId}"]`,start:this.options.start,end:this.options.end,scrub:!0,onEnter:()=>{this.toScene.start(),this.enable()},onLeave:()=>{requestAnimationFrame(()=>{this.fromScene.stop(),this.disable()})},onLeaveBack:()=>{requestAnimationFrame(()=>{this.toScene.stop(),this.disable()})},onEnterBack:()=>{this.fromScene.start(),this.enable()}}})}enable(){this.fromScene.savePass.enabled=!0,this.toScene.savePass.enabled=!0,this.transitionPass.enabled=!0}disable(){this.fromScene.savePass.enabled=!1,this.toScene.savePass.enabled=!1,this.transitionPass.enabled=!1}killTimeline(){this.timeline.kill()}destroy(){}}var oy={},ay={},ly={},RE;function JR(){return RE||(RE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return e}});function e(t){if(t=`${t}`,t==="0")return"0";if(/^[+-]?(\d+|\d*\.\d+)(e[+-]?\d+)?(%|\w+)?$/.test(t))return t.replace(/^[+-]?/,r=>r==="-"?"":"-");let i=["var","calc","min","max","clamp"];for(const r of i)if(t.includes(`${r}(`))return`calc(${t} * -1)`}}(ly)),ly}var cy={},BE;function Tle(){return BE||(BE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return e}});const e=["preflight","container","accessibility","pointerEvents","visibility","position","inset","isolation","zIndex","order","gridColumn","gridColumnStart","gridColumnEnd","gridRow","gridRowStart","gridRowEnd","float","clear","margin","boxSizing","lineClamp","display","aspectRatio","size","height","maxHeight","minHeight","width","minWidth","maxWidth","flex","flexShrink","flexGrow","flexBasis","tableLayout","captionSide","borderCollapse","borderSpacing","transformOrigin","translate","rotate","skew","scale","transform","animation","cursor","touchAction","userSelect","resize","scrollSnapType","scrollSnapAlign","scrollSnapStop","scrollMargin","scrollPadding","listStylePosition","listStyleType","listStyleImage","appearance","columns","breakBefore","breakInside","breakAfter","gridAutoColumns","gridAutoFlow","gridAutoRows","gridTemplateColumns","gridTemplateRows","flexDirection","flexWrap","placeContent","placeItems","alignContent","alignItems","justifyContent","justifyItems","gap","space","divideWidth","divideStyle","divideColor","divideOpacity","placeSelf","alignSelf","justifySelf","overflow","overscrollBehavior","scrollBehavior","textOverflow","hyphens","whitespace","textWrap","wordBreak","borderRadius","borderWidth","borderStyle","borderColor","borderOpacity","backgroundColor","backgroundOpacity","backgroundImage","gradientColorStops","boxDecorationBreak","backgroundSize","backgroundAttachment","backgroundClip","backgroundPosition","backgroundRepeat","backgroundOrigin","fill","stroke","strokeWidth","objectFit","objectPosition","padding","textAlign","textIndent","verticalAlign","fontFamily","fontSize","fontWeight","textTransform","fontStyle","fontVariantNumeric","lineHeight","letterSpacing","textColor","textOpacity","textDecoration","textDecorationColor","textDecorationStyle","textDecorationThickness","textUnderlineOffset","fontSmoothing","placeholderColor","placeholderOpacity","caretColor","accentColor","opacity","backgroundBlendMode","mixBlendMode","boxShadow","boxShadowColor","outlineStyle","outlineWidth","outlineOffset","outlineColor","ringWidth","ringColor","ringOpacity","ringOffsetWidth","ringOffsetColor","blur","brightness","contrast","dropShadow","grayscale","hueRotate","invert","saturate","sepia","filter","backdropBlur","backdropBrightness","backdropContrast","backdropGrayscale","backdropHueRotate","backdropInvert","backdropOpacity","backdropSaturate","backdropSepia","backdropFilter","transitionProperty","transitionDelay","transitionDuration","transitionTimingFunction","willChange","contain","content","forcedColorAdjust"]}(cy)),cy}var uy={},DE;function Mle(){return DE||(DE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return e}});function e(t,i){return t===void 0?i:Array.isArray(t)?t:[...new Set(i.filter(s=>t!==!1&&t[s]!==!1).concat(Object.keys(t).filter(s=>t[s]!==!1)))]}}(uy)),uy}var fy={},dy={},D1={exports:{}},LE;function eB(){if(LE)return D1.exports;LE=1;var n=String,e=function(){return{isColorSupported:!1,reset:n,bold:n,dim:n,italic:n,underline:n,inverse:n,hidden:n,strikethrough:n,black:n,red:n,green:n,yellow:n,blue:n,magenta:n,cyan:n,white:n,gray:n,bgBlack:n,bgRed:n,bgGreen:n,bgYellow:n,bgBlue:n,bgMagenta:n,bgCyan:n,bgWhite:n,blackBright:n,redBright:n,greenBright:n,yellowBright:n,blueBright:n,magentaBright:n,cyanBright:n,whiteBright:n,bgBlackBright:n,bgRedBright:n,bgGreenBright:n,bgYellowBright:n,bgBlueBright:n,bgMagentaBright:n,bgCyanBright:n,bgWhiteBright:n}};return D1.exports=e(),D1.exports.createColors=e,D1.exports}var OE;function B4(){return OE||(OE=1,function(n){var e={};Object.defineProperty(n,"__esModule",{value:!0});function t(c,u){for(var f in u)Object.defineProperty(c,f,{enumerable:!0,get:u[f]})}
4608t(n,{dim:function(){return a},default:function(){return l}});const i=r(eB());function r(c){return c&&c.__esModule?c:{default:c}}let s=new Set;function o(c,u,f){typeof process<"u"&&e.JEST_WORKER_ID||f&&s.has(f)||(f&&s.add(f),console.warn(""),u.forEach(h=>console.warn(c,"-",h)))}function a(c){return i.default.dim(c)}const l={info(c,u){o(i.default.bold(i.default.cyan("info")),...Array.isArray(c)?[c]:[u,c])},warn(c,u){o(i.default.bold(i.default.yellow("warn")),...Array.isArray(c)?[c]:[u,c])},risk(c,u){o(i.default.bold(i.default.magenta("risk")),...Array.isArray(c)?[c]:[u,c])}}}(dy)),dy}var FE;function Ile(){return FE||(FE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return r}});const e=t(B4());function t(s){return s&&s.__esModule?s:{default:s}}function i({version:s,from:o,to:a}){e.default.warn(`${o}-color-renamed`,[`As of Tailwind CSS ${s}, \`${o}\` has been renamed to \`${a}\`.`,"Update your configuration file to silence this warning."])}const r={inherit:"inherit",current:"currentColor",transparent:"transparent",black:"#000",white:"#fff",slate:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},zinc:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717",950:"#0a0a0a"},stone:{50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"},amber:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"},lime:{50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},emerald:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"},teal:{50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},violet:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"},fuchsia:{50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"},rose:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"},get lightBlue(){return i({version:"v2.2",from:"lightBlue",to:"sky"}),this.sky},get warmGray(){return i({version:"v3.0",from:"warmGray",to:"stone"}),this.stone},get trueGray(){return i({version:"v3.0",from:"trueGray",to:"neutral"}),this.neutral},get coolGray(){return i({version:"v3.0",from:"coolGray",to:"gray"}),this.gray},get blueGray(){return i({version:"v3.0",from:"blueGray",to:"slate"}),this.slate}}}(fy)),fy}var hy={},UE;function Ple(){return UE||(UE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"defaults",{enumerable:!0,get:function(){return e}});function e(t,...i){for(let o of i){for(let a in o){var r;!(t==null||(r=t.hasOwnProperty)===null||r===void 0)&&r.call(t,a)||(t[a]=o[a])}for(let a of Object.getOwnPropertySymbols(o)){var s;!(t==null||(s=t.hasOwnProperty)===null||s===void 0)&&s.call(t,a)||(t[a]=o[a])}}return t}}(hy)),hy}var py={},NE;function Rle(){return NE||(NE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"toPath",{enumerable:!0,get:function(){return e}});function e(t){if(Array.isArray(t))return t;let i=t.split("[").length-1,r=t.split("]").length-1;
4608if(i!==r)throw new Error(`Path is invalid. Has unbalanced brackets: ${t}`);return t.split(/\.(?![^\[]*\])|[\[\]]/g).filter(Boolean)}}(py)),py}var my={},gy={},kE;function D4(){return kE||(kE=1,function(n){var e={};Object.defineProperty(n,"__esModule",{value:!0});function t(h,p){for(var m in p)Object.defineProperty(h,m,{enumerable:!0,get:p[m]})}t(n,{flagEnabled:function(){return l},issueFlagNotices:function(){return u},default:function(){return f}});const i=s(eB()),r=s(B4());function s(h){return h&&h.__esModule?h:{default:h}}let o={optimizeUniversalDefaults:!1,generalizedModifiers:!0,disableColorOpacityUtilitiesByDefault:!1,relativeContentPathsByDefault:!1},a={future:["hoverOnlyWhenSupported","respectDefaultRingColorOpacity","disableColorOpacityUtilitiesByDefault","relativeContentPathsByDefault"],experimental:["optimizeUniversalDefaults","generalizedModifiers"]};function l(h,p){if(a.future.includes(p)){var m,v,A;return h.future==="all"||((A=(v=h==null||(m=h.future)===null||m===void 0?void 0:m[p])!==null&&v!==void 0?v:o[p])!==null&&A!==void 0?A:!1)}if(a.experimental.includes(p)){var y,x,b;return h.experimental==="all"||((b=(x=h==null||(y=h.experimental)===null||y===void 0?void 0:y[p])!==null&&x!==void 0?x:o[p])!==null&&b!==void 0?b:!1)}return!1}function c(h){if(h.experimental==="all")return a.experimental;var p;return Object.keys((p=h==null?void 0:h.experimental)!==null&&p!==void 0?p:{}).filter(m=>a.experimental.includes(m)&&h.experimental[m])}function u(h){if(e.JEST_WORKER_ID===void 0&&c(h).length>0){let p=c(h).map(m=>i.default.yellow(m)).join(", ");r.default.warn("experimental-flags-enabled",[`You have enabled experimental features: ${p}`,"Experimental features in Tailwind CSS are not covered by semver, may introduce breaking changes, and can change at any time."])}}const f=a}(gy)),gy}var zE;function Ble(){return zE||(zE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"normalizeConfig",{enumerable:!0,get:function(){return s}});const e=D4(),t=r(B4());function i(o){if(typeof WeakMap!="function")return null;var a=new WeakMap,l=new WeakMap;return(i=function(c){return c?l:a})(o)}function r(o,a){if(o&&o.__esModule)return o;if(o===null||typeof o!="object"&&typeof o!="function")return{default:o};var l=i(a);if(l&&l.has(o))return l.get(o);var c={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in o)if(f!=="default"&&Object.prototype.hasOwnProperty.call(o,f)){var h=u?Object.getOwnPropertyDescriptor(o,f):null;h&&(h.get||h.set)?Object.defineProperty(c,f,h):c[f]=o[f]}return c.default=o,l&&l.set(o,c),c}function s(o){if((()=>{if(o.purge||!o.content||!Array.isArray(o.content)&&!(typeof o.content=="object"&&o.content!==null))return!1;if(Array.isArray(o.content))return o.content.every(c=>typeof c=="string"?!0:!(typeof(c==null?void 0:c.raw)!="string"||c!=null&&c.extension&&typeof(c==null?void 0:c.extension)!="str
4608ing"));if(typeof o.content=="object"&&o.content!==null){if(Object.keys(o.content).some(c=>!["files","relative","extract","transform"].includes(c)))return!1;if(Array.isArray(o.content.files)){if(!o.content.files.every(c=>typeof c=="string"?!0:!(typeof(c==null?void 0:c.raw)!="string"||c!=null&&c.extension&&typeof(c==null?void 0:c.extension)!="string")))return!1;if(typeof o.content.extract=="object"){for(let c of Object.values(o.content.extract))if(typeof c!="function")return!1}else if(!(o.content.extract===void 0||typeof o.content.extract=="function"))return!1;if(typeof o.content.transform=="object"){for(let c of Object.values(o.content.transform))if(typeof c!="function")return!1}else if(!(o.content.transform===void 0||typeof o.content.transform=="function"))return!1;if(typeof o.content.relative!="boolean"&&typeof o.content.relative<"u")return!1}return!0}return!1})()||t.default.warn("purge-deprecation",["The `purge`/`content` options have changed in Tailwind CSS v3.0.","Update your configuration file to eliminate this warning.","https://tailwindcss.com/docs/upgrade-guide#configure-content-sources"]),o.safelist=(()=>{var c;let{content:u,purge:f,safelist:h}=o;return Array.isArray(h)?h:Array.isArray(u==null?void 0:u.safelist)?u.safelist:Array.isArray(f==null?void 0:f.safelist)?f.safelist:Array.isArray(f==null||(c=f.options)===null||c===void 0?void 0:c.safelist)?f.options.safelist:[]})(),o.blocklist=(()=>{let{blocklist:c}=o;if(Array.isArray(c)){if(c.every(u=>typeof u=="string"))return c;t.default.warn("blocklist-invalid",["The `blocklist` option must be an array of strings.","https://tailwindcss.com/docs/content-configuration#discarding-classes"])}return[]})(),typeof o.prefix=="function")t.default.warn("prefix-function",["As of Tailwind CSS v3.0, `prefix` cannot be a function.","Update `prefix` in your configuration to be a string to eliminate this warning.","https://tailwindcss.com/docs/upgrade-guide#prefix-cannot-be-a-function"]),o.prefix="";else{var l;o.prefix=(l=o.prefix)!==null&&l!==void 0?l:""}o.content={relative:(()=>{let{content:c}=o;return c!=null&&c.relative?c.relative:(0,e.flagEnabled)(o,"relativeContentPathsByDefault")})(),files:(()=>{let{content:c,purge:u}=o;return Array.isArray(u)?u:Array.isArray(u==null?void 0:u.content)?u.content:Array.isArray(c)?c:Array.isArray(c==null?void 0:c.content)?c.content:Array.isArray(c==null?void 0:c.files)?c.files:[]})(),extract:(()=>{let c=(()=>{var h,p,m,v,A,y,x,b,_,T;return!((h=o.purge)===null||h===void 0)&&h.extract?o.purge.extract:!((p=o.content)===null||p===void 0)&&p.extract?o.content.extract:!((m=o.purge)===null||m===void 0||(v=m.extract)===null||v===void 0)&&v.DEFAULT?o.purge.extract.DEFAULT:!((A=o.content)===null||A===void 0||(y=A.extract)===null||y===void 0)&&y.DEFAULT?o.content.extract.DEFAULT:!((x=o.purge)===null||x===void 0||(b=x.options)===null||b===void 0)&&b.extractors?o.purge.options.extractors:!((_=o.content)===null||_===void 0||(T=_.options)===null||T===void 0)&&T.extractors?o.content.options.extractors:{}})(),u={},f=(()=>{var h,p,m,v;if(!((h=o.purge)===null||h===void 0||(p=h.options)===null||p===void 0)&&p.defaultExtractor)return o.purge.options.defaultExtractor;if(!((m=o.content)===null||m===void 0||(v=m.options)===null||v===void 0)&&v.defaultExtractor)return o.content.options.defaultExtractor})();if(f!==void 0&&(u.DEFAULT=f),typeof c=="function")u.DEFAULT=c;else if(Array.isArray(c))for(let{extensions:h,extractor:p}of c??[])for(let m of h)u[m]=p;else typeof c=="object"&&c!==null&&Object.assign(u,c);return u})(),transform:(()=>{let c=(()=>{var f,h,p,m,v,A;return!((f=o.purge)===null||f===void 0)&&f.transform?o.purge.transform:!((h=o.content)===null||h===void 0)&&h.transform?o.content.transform:!((p=o.purge)===null||p===void 0||(m=p.transform)===null||m===void 0)&&m.DEFAULT?o.purge.transform.DEFAULT:!((v=o.content)===null||v===void 0||(A=v.transform)===null||A===void 0)&&A.DEFAULT?o.content.transform.DEFAULT:{}})(),u={};return typeof c=="function"?u.DEFAULT=c:typeof c=="object"&&c!==null&&Object.assign(u,c),u})()};for(let c of o.content.files)if(typeof c=="string"&&/{([^,]*?)}/g.test(c)){t.default.warn("invalid-glob-braces",[`The glob pattern ${(0,t.dim)(c)}
4608 in your Tailwind CSS configuration is invalid.`,`Update it to ${(0,t.dim)(c.replace(/{([^,]*?)}/g,"$1"))} to silence this warning.`]);break}return o}}(my)),my}var Ay={},HE;function Dle(){return HE||(HE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return e}});function e(t){if(Object.prototype.toString.call(t)!=="[object Object]")return!1;const i=Object.getPrototypeOf(t);return i===null||Object.getPrototypeOf(i)===null}}(Ay)),Ay}var vy={},VE;function Lle(){return VE||(VE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"cloneDeep",{enumerable:!0,get:function(){return e}});function e(t){return Array.isArray(t)?t.map(i=>e(i)):typeof t=="object"&&t!==null?Object.fromEntries(Object.entries(t).map(([i,r])=>[i,e(r)])):t}}(vy)),vy}var yy={},_y={},GE;function Ole(){return GE||(GE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return e}});function e(t){return t.replace(/\\,/g,"\\2c ")}}(_y)),_y}var by={},xy={},Cy={},QE;function Fle(){return QE||(QE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return e}});const e={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87
4608],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}}(Cy)),Cy}var WE;function tB(){return WE||(WE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0});function e(m,v){for(var A in v)Object.defineProperty(m,A,{enumerable:!0,get:v[A]})}e(n,{parseColor:function(){return h},formatColor:function(){return p}});const t=i(Fle());function i(m){return m&&m.__esModule?m:{default:m}}let r=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i,s=/^#([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,o=/(?:\d+|\d*\.\d+)%?/,a=/(?:\s*,\s*|\s+)/,l=/\s*[,/]\s*/,c=/var\(--(?:[^ )]*?)(?:,(?:[^ )]*?|var\(--[^ )]*?\)))?\)/,u=new RegExp(`^(rgba?)\\(\\s*(${o.source}|${c.source})(?:${a.source}(${o.source}|${c.source}))?(?:${a.source}(${o.source}|${c.source}))?(?:${l.source}(${o.source}|${c.source}))?\\s*\\)$`),f=new RegExp(`^(hsla?)\\(\\s*((?:${o.source})(?:deg|rad|grad|turn)?|${c.source})(?:${a.source}(${o.source}|${c.source}))?(?:${a.source}(${o.source}|${c.source}))?(?:${l.source}(${o.source}|${c.source}))?\\s*\\)$`);function h(m,{loose:v=!1}={}){var A,y;if(typeof m!="string")return null;if(m=m.trim(),m==="transparent")return{mode:"rgb",color:["0","0","0"],alpha:"0"};if(m in t.default)return{mode:"rgb",color:t.default[m].map(M=>M.toString())};let x=m.replace(s,(M,I,R,w,E)=>["#",I,I,R,R,w,w,E?E+E:""].join("")).match(r);if(x!==null)return{mode:"rgb",color:[parseInt(x[1],16),parseInt(x[2],16),parseInt(x[3],16)].map(M=>M.toString()),alpha:x[4]?(parseInt(x[4],16)/255).toString():void 0};var b;let _=(b=m.match(u))!==null&&b!==void 0?b:m.match(f);if(_===null)return null;let T=[_[2],_[3],_[4]].filter(Boolean).map(M=>M.toString());return T.length===2&&T[0].startsWith("var(")?{mode:_[1],color:[T[0]],alpha:T[1]}:!v&&T.length!==3||T.length<3&&!T.some(M=>/^var\(.*?\)$/.test(M))?null:{mode:_[1],color:T,alpha:(A=_[5])===null||A===void 0||(y=A.toString)===null||y===void 0?void 0:y.call(A)}}function p({mode:m,color:v,alpha:A}){let y=A!==void 0;return m==="rgba"||m==="hsla"?`${m}(${v.join(", ")}${y?`, ${A}`:""})`:`${m}(${v.join(" ")}${y?` / ${A}`:""})`}}(xy)),xy}var jE;function nB(){return jE||(jE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0});function e(s,o){for(var a in o)Object.defineProperty(s,a,{enumerable:!0,get:o[a]})}e(n,{withAlphaValue:function(){return i},default:function(){return r}});const t=tB();function i(s,o,a){if(typeof s=="function")return s({opacityValue:o});let l=(0,t.parseColor)(s,{loose:!0});return l===null?a:(0,t.formatColor)({...l,alpha:o})}function r({color:s,property:o,variable:a}){let l=[].concat(o);if(typeof s=="function")return{[a]:"1",...Object.fromEntries(l.map(u=>[u,s({opacityVariable:a,opacityValue:`var(${a}, 1)`})]))};const c=(0,t.parseColor)(s);return c===null?Object.fromEntries(l.map(u=>[u,s])):c.alpha!==void 0?Object.fromEntries(l.map(u=>[u,s])):{[a]:"1",...Object.fromEntries(l.map(u=>[u,(0,t.formatColor)({...c,alpha:`var(${a}, 1)`})]))}}}(by)),by}var wy={},Sy={},Ey={},qE;function L4(){return qE||(qE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"splitAtTopLevelOnly",{enumerable:!0,get:function(){return e}});function e(t,i){let r=[],s=[],o=0,a=!1;for(let l=0;l<t.length;l++){let c=t[l];r.length===0&&c===i[0]&&!a&&(i.length===1||t.slice(l,l+i.length)===i)&&(s.push(t.slice(o,l)),o=l+i.length),a=a?!1:c==="\\",c==="("||c==="["||c==="{"?r.push(c):(c===")"&&r[r.length-1]==="("||c==="]"&&r[r.length-1]==="["||c==="}"&&r[r.length-1]==="{")&&r.pop()}return s.push(t.slice(o)),s}}(Ey)),Ey}var XE;function Ule(){return XE||(XE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0});function e(l,c){for(var u in c)Object.defineProperty(l,u,{enumerable:!0,get:c[u]})}e(n,{parseBoxShadowValue:function(){return o},formatBoxShadowValue:function(){return a}});const t=L4();
4608let i=new Set(["inset","inherit","initial","revert","unset"]),r=/\ +(?![^(]*\))/g,s=/^-?(\d+|\.\d+)(.*?)$/g;function o(l){return(0,t.splitAtTopLevelOnly)(l,",").map(u=>{let f=u.trim(),h={raw:f},p=f.split(r),m=new Set;for(let v of p)s.lastIndex=0,!m.has("KEYWORD")&&i.has(v)?(h.keyword=v,m.add("KEYWORD")):s.test(v)?m.has("X")?m.has("Y")?m.has("BLUR")?m.has("SPREAD")||(h.spread=v,m.add("SPREAD")):(h.blur=v,m.add("BLUR")):(h.y=v,m.add("Y")):(h.x=v,m.add("X")):h.color?(h.unknown||(h.unknown=[]),h.unknown.push(v)):h.color=v;return h.valid=h.x!==void 0&&h.y!==void 0,h})}function a(l){return l.map(c=>c.valid?[c.keyword,c.x,c.y,c.blur,c.spread,c.color].filter(Boolean).join(" "):c.raw).join(", ")}}(Sy)),Sy}var YE;function iB(){return YE||(YE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0});function e(Q,W){for(var ee in W)Object.defineProperty(Q,ee,{enumerable:!0,get:W[ee]})}e(n,{normalize:function(){return l},normalizeAttributeSelectors:function(){return c},url:function(){return f},number:function(){return h},percentage:function(){return p},length:function(){return A},lineWidth:function(){return x},shadow:function(){return b},color:function(){return _},image:function(){return T},gradient:function(){return I},position:function(){return w},familyName:function(){return E},genericName:function(){return L},absoluteSize:function(){return V},relativeSize:function(){return N}});const t=tB(),i=Ule(),r=L4();let s=["min","max","clamp","calc"];function o(Q){return s.some(W=>new RegExp(`^${W}\\(.*\\)`).test(Q))}const a=new Set(["scroll-timeline-name","timeline-scope","view-timeline-name","font-palette","anchor-name","anchor-scope","position-anchor","position-try-options","scroll-timeline","animation-timeline","view-timeline","position-try"]);function l(Q,W=null,ee=!0){let H=W&&a.has(W.property);return Q.startsWith("--")&&!H?`var(${Q})`:Q.includes("url(")?Q.split(/(url\(.*?\))/g).filter(Boolean).map(ye=>/^url\(.*?\)$/.test(ye)?ye:l(ye,W,!1)).join(""):(Q=Q.replace(/([^\\])_+/g,(ye,Ie)=>Ie+" ".repeat(ye.length-1)).replace(/^_/g," ").replace(/\\_/g,"_"),ee&&(Q=Q.trim()),Q=u(Q),Q)}function c(Q){return Q.includes("=")&&(Q=Q.replace(/(=.*)/g,(W,ee)=>{if(ee[1]==="'"||ee[1]==='"')return ee;if(ee.length>2){let H=ee[ee.length-1];if(ee[ee.length-2]===" "&&(H==="i"||H==="I"||H==="s"||H==="S"))return`="${ee.slice(1,-2)}" ${ee[ee.length-1]}`}return`="${ee.slice(1)}"`})),Q}function u(Q){let W=["theme"],ee=["min-content","max-content","fit-content","safe-area-inset-top","safe-area-inset-right","safe-area-inset-bottom","safe-area-inset-left","titlebar-area-x","titlebar-area-y","titlebar-area-width","titlebar-area-height","keyboard-inset-top","keyboard-inset-right","keyboard-inset-bottom","keyboard-inset-left","keyboard-inset-width","keyboard-inset-height","radial-gradient","linear-gradient","conic-gradient","repeating-radial-gradient","repeating-linear-gradient","repeating-conic-gradient","anchor-size"];return Q.replace(/(calc|min|max|clamp)\(.+\)/g,H=>{let ye="";function Ie(){let ze=ye.trimEnd();return ze[ze.length-1]}for(let ze=0;ze<H.length;ze++){let oe=function(Z){return Z.split("").every((Ae,we)=>H[ze+we]===Ae)},_e=function(Z){let Ae=1/0;for(let be of Z){let qe=H.indexOf(be,ze);qe!==-1&&qe<Ae&&(Ae=qe)}let we=H.slice(ze,Ae);return ze+=we.length-1,we},Fe=H[ze];if(oe("var"))ye+=_e([")",","]);else if(ee.some(Z=>oe(Z))){let Z=ee.find(Ae=>oe(Ae));ye+=Z,ze+=Z.length-1}else W.some(Z=>oe(Z))?ye+=_e([")"]):oe("[")?ye+=_e(["]"]):["+","-","*","/"].includes(Fe)&&!["(","+","-","*","/",","].includes(Ie())?ye+=` ${Fe} `:ye+=Fe}return ye.replace(/\s+/g," ")})}function f(Q){return Q.startsWith("url(")}function h(Q){return!isNaN(Number(Q))||o(Q)}function p(Q){return Q.endsWith("%")&&h(Q.slice(0,-1))||o(Q)}let v=`(?:${["cm","mm","Q","in","pc","pt","px","em","ex","ch","rem","lh","rlh","vw","vh","vmin","vmax","vb","vi","svw","svh","lvw","lvh","dvw","dvh","cqw","cqh","cqi","cqb","cqmin","cqmax"].join("|")})`;function A(Q){return Q==="0"||new RegExp(`^[+-]?[0-9]*.?[0-9]+(?:[eE][+-]?[0-9]+)?${v}$`).test(Q)||o(Q)}let y=new Set(["thin","medium","thick"]);function x(Q){return y.has(Q)}function b(Q){let W=(0,i.parseBoxShadowValue)(l(Q));for(let ee of W)if(!ee.valid)return!1;return!0}function _(Q){let W=0;return(0,r.splitAtTopLevelOnly)(Q,"_").every(H=>(H=l(H),H.startsWith("var(")?!0:(0,t.parseColor)(H,{loose:!0})!==null?(W++,!0):!1))?W>0:!1}function T(Q){let W=0;return(0,r.splitAtTopLevelOnly)(Q,",").every(H=>(H=l(H),H.startsWith("var(")?!0:f(H)||I(H)||["element(","image(","cross-fade(","image-set("].some(ye=>H.startsWith(ye))?(W++,!0):!1))?W>0:!1}let M=new Set(["conic-gradient","linear-gradient","radial-gradient","repeating-conic-gradient","repeating-linear-gradient","repeating-radial-gradient"]);function I(Q){Q=l(Q);for(let W of M)if(Q.startsWith(`${W}(`))return!0;return!1}let R=new Set(["center","top","right","bottom","left"]);function w(Q){let W=0;return(0,r.splitAtTopLevelOnly)(Q,"_").every(H=>(H=l(H),H.startsWith("var(")?!0:R.has(H)||A(H)||p(H)?(W++,!0):!1))?W>0:!1}function E(Q){let W=0;return(0,r.splitAtTopLevelOnly)(Q,",").every(H=>(H=l(H),H.startsWith("var(")?!0:H.includes(" ")&&!/(['"])([^"']+)\1/g.test(H)||/^\d/g.test(H)?!1:(W++,!0)))?W>0:!1}let F=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","math","emoji","fangsong"]);function L(Q){return F.has(Q)}let z=new Set(["xx-small","x-small","small","medium","large","x-large","xx-large","xxx-large"]);function V(Q){return z.has(Q)}let j=new Set(["larger","smaller"]);function N(Q){return j.has(Q)}}(wy)),wy}var Ty={},$E;function Nle(){return $E||($E=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"backgroundSize",{enumerable:!0,get:function(){return i}});const e=iB(),t=L4();function i(r){let s=["cover","contain"];return(0,t.splitAtTopLevelOnly)(r,",").every(o=>
4608{let a=(0,t.splitAtTopLevelOnly)(o,"_").filter(Boolean);return a.length===1&&s.includes(a[0])?!0:a.length!==1&&a.length!==2?!1:a.every(l=>(0,e.length)(l)||(0,e.percentage)(l)||l==="auto")})}}(Ty)),Ty}var KE;function kle(){return KE||(KE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0});function e(w,E){for(var F in E)Object.defineProperty(w,F,{enumerable:!0,get:E[F]})}e(n,{updateAllClasses:function(){return c},asValue:function(){return h},parseColorFormat:function(){return v},asColor:function(){return y},asLookupValue:function(){return x},typeMap:function(){return _},coerceValue:function(){return I},getMatchingTypes:function(){return R}});const t=l(Ole()),i=nB(),r=iB(),s=l(JR()),o=Nle(),a=D4();function l(w){return w&&w.__esModule?w:{default:w}}function c(w,E){w.walkClasses(F=>{F.value=E(F.value),F.raws&&F.raws.value&&(F.raws.value=(0,t.default)(F.raws.value))})}function u(w,E){if(!p(w))return;let F=w.slice(1,-1);if(E(F))return(0,r.normalize)(F)}function f(w,E={},F){let L=E[w];if(L!==void 0)return(0,s.default)(L);if(p(w)){let z=u(w,F);return z===void 0?void 0:(0,s.default)(z)}}function h(w,E={},{validate:F=()=>!0}={}){var L;let z=(L=E.values)===null||L===void 0?void 0:L[w];return z!==void 0?z:E.supportsNegativeValues&&w.startsWith("-")?f(w.slice(1),E.values,F):u(w,F)}function p(w){return w.startsWith("[")&&w.endsWith("]")}function m(w){let E=w.lastIndexOf("/"),F=w.lastIndexOf("[",E),L=w.indexOf("]",E);return w[E-1]==="]"||w[E+1]==="["||F!==-1&&L!==-1&&F<E&&E<L&&(E=w.lastIndexOf("/",F)),E===-1||E===w.length-1?[w,void 0]:p(w)&&!w.includes("]/[")?[w,void 0]:[w.slice(0,E),w.slice(E+1)]}function v(w){if(typeof w=="string"&&w.includes("<alpha-value>")){let E=w;return({opacityValue:F=1})=>E.replace(/<alpha-value>/g,F)}return w}function A(w){return(0,r.normalize)(w.slice(1,-1))}function y(w,E={},{tailwindConfig:F={}}={}){var L;if(((L=E.values)===null||L===void 0?void 0:L[w])!==void 0){var z;return v((z=E.values)===null||z===void 0?void 0:z[w])}let[V,j]=m(w);if(j!==void 0){var N,Q,W,ee;let H=(ee=(N=E.values)===null||N===void 0?void 0:N[V])!==null&&ee!==void 0?ee:p(V)?V.slice(1,-1):void 0;return H===void 0?void 0:(H=v(H),p(j)?(0,i.withAlphaValue)(H,A(j)):((Q=F.theme)===null||Q===void 0||(W=Q.opacity)===null||W===void 0?void 0:W[j])===void 0?void 0:(0,i.withAlphaValue)(H,F.theme.opacity[j]))}return h(w,E,{validate:r.color})}function x(w,E={}){var F;return(F=E.values)===null||F===void 0?void 0:F[w]}function b(w){return(E,F)=>h(E,F,{validate:w})}let _={any:h,color:y,url:b(r.url),image:b(r.image),length:b(r.length),percentage:b(r.percentage),position:b(r.position),lookup:x,"generic-name":b(r.genericName),"family-name":b(r.familyName),number:b(r.number),"line-width":b(r.lineWidth),"absolute-size":b(r.absoluteSize),"relative-size":b(r.relativeSize),shadow:b(r.shadow),size:b(o.backgroundSize)},T=Object.keys(_);function M(w,E){let F=w.indexOf(E);return F===-1?[void 0,w]:[w.slice(0,F),w.slice(F+1)]}function I(w,E,F,L){if(F.values&&E in F.values)for(let{type:V}of w??[]){let j=_[V](E,F,{tailwindConfig:L});if(j!==void 0)return[j,V,null]}if(p(E)){let V=E.slice(1,-1),[j,N]=M(V,":");if(!/^[\w-_]+$/g.test(j))N=V;else if(j!==void 0&&!T.includes(j))return[];if(N.length>0&&T.includes(j))return[h(`[${N}]`,F),j,null]}let z=R(w,E,F,L);for(let V of z)return V;return[]}function*R(w,E,F,L){let z=(0,a.flagEnabled)(L,"generalizedModifiers"),[V,j]=m(E);if(z&&F.modifiers!=null&&(F.modifiers==="any"||typeof F.modifiers=="object"&&(j&&p(j)||j in F.modifiers))||(V=E,j=void 0),j!==void 0&&V===""&&(V="DEFAULT"),j!==void 0&&typeof F.modifiers=="object"){var Q,W;let ee=(W=(Q=F.modifiers)===null||Q===void 0?void 0:Q[j])!==null&&W!==void 0?W:null;ee!==null?j=ee:p(j)&&(j=A(j))}for(let{type:ee}of w??[]){let H=_[ee](V,F,{tailwindConfig:L});H!==void 0&&(yield[H,ee,j??null])}}}(yy)),yy}var My={},ZE;function zle(){return ZE||(ZE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return e}});function e(t){return typeof t=="function"?t({}):t}}(My)),My}var JE;function Hle(){return JE||(JE=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return F}});const e=p(JR()),t=p(Tle()),i=p(Mle()),r=p(Ile()),s=Ple(),o=Rle(),a=Ble(),l=p(Dle()),c=Lle(),u=kle
4608(),f=nB(),h=p(zle());function p(L){return L&&L.__esModule?L:{default:L}}function m(L){return typeof L=="function"}function v(L,...z){let V=z.pop();for(let j of z)for(let N in j){let Q=V(L[N],j[N]);Q===void 0?(0,l.default)(L[N])&&(0,l.default)(j[N])?L[N]=v({},L[N],j[N],V):L[N]=j[N]:L[N]=Q}return L}const A={colors:r.default,negative(L){return Object.keys(L).filter(z=>L[z]!=="0").reduce((z,V)=>{let j=(0,e.default)(L[V]);return j!==void 0&&(z[`-${V}`]=j),z},{})},breakpoints(L){return Object.keys(L).filter(z=>typeof L[z]=="string").reduce((z,V)=>({...z,[`screen-${V}`]:L[V]}),{})}};function y(L,...z){return m(L)?L(...z):L}function x(L){return L.reduce((z,{extend:V})=>v(z,V,(j,N)=>j===void 0?[N]:Array.isArray(j)?[N,...j]:[N,j]),{})}function b(L){return{...L.reduce((z,V)=>(0,s.defaults)(z,V),{}),extend:x(L)}}function _(L,z){if(Array.isArray(L)&&(0,l.default)(L[0]))return L.concat(z);if(Array.isArray(z)&&(0,l.default)(z[0])&&(0,l.default)(L))return[L,...z];if(Array.isArray(z))return z}function T({extend:L,...z}){return v(z,L,(V,j)=>!m(V)&&!j.some(m)?v({},V,...j,_):(N,Q)=>v({},...[V,...j].map(W=>y(W,N,Q)),_))}function*M(L){let z=(0,o.toPath)(L);
4608if(z.length===0||(yield z,Array.isArray(L)))return;let V=/^(.*?)\s*\/\s*([^/]+)$/,j=L.match(V);if(j!==null){let[,N,Q]=j,W=(0,o.toPath)(N);W.alpha=Q,yield W}}function I(L){const z=(V,j)=>{for(const N of M(V)){let Q=0,W=L;for(;W!=null&&Q<N.length;)W=W[N[Q++]],W=m(W)&&(N.alpha===void 0||Q<=N.length-1)?W(z,A):W;if(W!==void 0){if(N.alpha!==void 0){let ee=(0,u.parseColorFormat)(W);return(0,f.withAlphaValue)(ee,N.alpha,(0,h.default)(ee))}return(0,l.default)(W)?(0,c.cloneDeep)(W):W}}return j};return Object.assign(z,{theme:z,...A}),Object.keys(L).reduce((V,j)=>(V[j]=m(L[j])?L[j](z,A):L[j],V),{})}function R(L){let z=[];return L.forEach(V=>{z=[...z,V];var j;const N=(j=V==null?void 0:V.plugins)!==null&&j!==void 0?j:[];N.length!==0&&N.forEach(Q=>{Q.__isOptionsFunction&&(Q=Q());var W;z=[...z,...R([(W=Q==null?void 0:Q.config)!==null&&W!==void 0?W:{}])]})}),z}function w(L){return[...L].reduceRight((V,j)=>m(j)?j({corePlugins:V}):(0,i.default)(j,V),t.default)}function E(L){return[...L].reduceRight((V,j)=>[...V,...j],[])}function F(L){let z=[...R(L),{prefix:"",important:!1,separator:":"}];var V,j;return(0,a.normalizeConfig)((0,s.defaults)({theme:I(T(b(z.map(N=>(V=N==null?void 0:N.theme)!==null&&V!==void 0?V:{})))),corePlugins:w(z.map(N=>N.corePlugins)),plugins:E(L.map(N=>(j=N==null?void 0:N.plugins)!==null&&j!==void 0?j:[]))},...z))}}(ay)),ay}var Iy={},Py,e6;function Vle(){return e6||(e6=1,Py={content:[],presets:[],darkMode:"media",theme:{accentColor:({theme:n})=>({...n("colors"),auto:"auto"}),animation:{none:"none",spin:"spin 1s linear infinite",ping:"ping 1s cubic-bezier(0, 0, 0.2, 1) infinite",pulse:"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite",bounce:"bounce 1s infinite"},aria:{busy:'busy="true"',checked:'checked="true"',disabled:'disabled="true"',expanded:'expanded="true"',hidden:'hidden="true"',pressed:'pressed="true"',readonly:'readonly="true"',required:'required="true"',selected:'selected="true"'},aspectRatio:{auto:"auto",square:"1 / 1",video:"16 / 9"},backdropBlur:({theme:n})=>n("blur"),backdropBrightness:({theme:n})=>n("brightness"),backdropContrast:({theme:n})=>n("contrast"),backdropGrayscale:({theme:n})=>n("grayscale"),backdropHueRotate:({theme:n})=>n("hueRotate"),backdropInvert:({theme:n})=>n("invert"),backdropOpacity:({theme:n})=>n("opacity"),backdropSaturate:({theme:n})=>n("saturate"),backdropSepia:({theme:n})=>n("sepia"),backgroundColor:({theme:n})=>n("colors"),backgroundImage:{none:"none","gradient-to-t":"linear-gradient(to top, var(--tw-gradient-stops))","gradient-to-tr":"linear-gradient(to top right, var(--tw-gradient-stops))","gradient-to-r":"linear-gradient(to right, var(--tw-gradient-stops))","gradient-to-br":"linear-gradient(to bottom right, var(--tw-gradient-stops))","gradient-to-b":"linear-gradient(to bottom, var(--tw-gradient-stops))","gradient-to-bl":"linear-gradient(to bottom left, var(--tw-gradient-stops))","gradient-to-l":"linear-gradient(to left, var(--tw-gradient-stops))","gradient-to-tl":"linear-gradient(to top left, var(--tw-gradient-stops))"},backgroundOpacity:({theme:n})=>n("opacity"),backgroundPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},backgroundSize:{auto:"auto",cover:"cover",contain:"contain"},blur:{0:"0",none:"",sm:"4px",DEFAULT:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},borderColor:({theme:n})=>({...n("colors"),DEFAULT:n("colors.gray.200","currentColor")}),borderOpacity:({theme:n})=>n("opacity"),borderRadius:{none:"0px",sm:"0.125rem",DEFAULT:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},borderSpacing:({theme:n})=>({...n("spacing")}),borderWidth:{DEFAULT:"1px",0:"0px",2:"2px",4:"4px",8:"8px"},boxShadow:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",DEFAULT:"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)","2xl":"0 25px 50px -12px rgb(0 0 0 / 0.25)",inner:"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)",none:"none"},boxShadowColor:({theme:n})=>
vendor: 9,128 bytes, line 4608
4608n("colors"),brightness:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5",200:"2"},caretColor:({theme:n})=>n("colors"),colors:({colors:n})=>({inherit:n.inherit,current:n.current,transparent:n.transparent,black:n.black,white:n.white,slate:n.slate,gray:n.gray,zinc:n.zinc,neutral:n.neutral,stone:n.stone,red:n.red,orange:n.orange,amber:n.amber,yellow:n.yellow,lime:n.lime,green:n.green,emerald:n.emerald,teal:n.teal,cyan:n.cyan,sky:n.sky,blue:n.blue,indigo:n.indigo,violet:n.violet,purple:n.purple,fuchsia:n.fuchsia,pink:n.pink,rose:n.rose}),columns:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12","3xs":"16rem","2xs":"18rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem"},container:{},content:{none:"none"},contrast:{0:"0",50:".5",75:".75",100:"1",125:"1.25",150:"1.5",200:"2"},cursor:{auto:"auto",default:"default",pointer:"pointer",wait:"wait",text:"text",move:"move",help:"help","not-allowed":"not-allowed",none:"none","context-menu":"context-menu",progress:"progress",cell:"cell",crosshair:"crosshair","vertical-text":"vertical-text",alias:"alias",copy:"copy","no-drop":"no-drop",grab:"grab",grabbing:"grabbing","all-scroll":"all-scroll","col-resize":"col-resize","row-resize":"row-resize","n-resize":"n-resize","e-resize":"e-resize","s-resize":"s-resize","w-resize":"w-resize","ne-resize":"ne-resize","nw-resize":"nw-resize","se-resize":"se-resize","sw-resize":"sw-resize","ew-resize":"ew-resize","ns-resize":"ns-resize","nesw-resize":"nesw-resize","nwse-resize":"nwse-resize","zoom-in":"zoom-in","zoom-out":"zoom-out"},divideColor:({theme:n})=>n("borderColor"),divideOpacity:({theme:n})=>n("borderOpacity"),divideWidth:({theme:n})=>n("borderWidth"),dropShadow:{sm:"0 1px 1px rgb(0 0 0 / 0.05)",DEFAULT:["0 1px 2px rgb(0 0 0 / 0.1)","0 1px 1px rgb(0 0 0 / 0.06)"],md:["0 4px 3px rgb(0 0 0 / 0.07)","0 2px 2px rgb(0 0 0 / 0.06)"],lg:["0 10px 8px rgb(0 0 0 / 0.04)","0 4px 3px rgb(0 0 0 / 0.1)"],xl:["0 20px 13px rgb(0 0 0 / 0.03)","0 8px 5px rgb(0 0 0 / 0.08)"],"2xl":"0 25px 25px rgb(0 0 0 / 0.15)",none:"0 0 #0000"},fill:({theme:n})=>({none:"none",...n("colors")}),flex:{1:"1 1 0%",auto:"1 1 auto",initial:"0 1 auto",none:"none"},flexBasis:({theme:n})=>({auto:"auto",...n("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%"}),flexGrow:{0:"0",DEFAULT:"1"},flexShrink:{0:"0",DEFAULT:"1"},fontFamily:{sans:["ui-sans-serif","system-ui","sans-serif",'"Apple Color Emoji"','"Segoe UI Emoji"','"Segoe UI Symbol"','"Noto Color Emoji"'],serif:["ui-serif","Georgia","Cambria",'"Times New Roman"',"Times","serif"],mono:["ui-monospace","SFMono-Regular","Menlo","Monaco","Consolas",'"Liberation Mono"','"Courier New"',"monospace"]},fontSize:{xs:["0.75rem",{lineHeight:"1rem"}],sm:["0.875rem",{lineHeight:"1.25rem"}],base:["1rem",{lineHeight:"1.5rem"}],lg:["1.125rem",{lineHeight:"1.75rem"}],xl:["1.25rem",{lineHeight:"1.75rem"}],"2xl":["1.5rem",{lineHeight:"2rem"}],"3xl":["1.875rem",{lineHeight:"2.25rem"}],"4xl":["2.25rem",{lineHeight:"2.5rem"}],"5xl":["3rem",{lineHeight:"1"}],"6xl":["3.75rem",{lineHeight:"1"}],"7xl":["4.5rem",{lineHeight:"1"}],"8xl":["6rem",{lineHeight:"1"}],"9xl":["8rem",{lineHeight:"1"}]},fontWeight:{thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},gap:({theme:n})=>n("spacing"),gradientColorStops:({theme:n})=>n("colors"),gradientColorStopPositions:{"0%":"0%","5%":"5%","10%":"10%","15%":"15%","20%":"20%","25%":"25%","30%":"30%","35%":"35%","40%":"40%","45%":"45%","50%":"50%","55%":"55%","60%":"60%","65%":"65%","70%":"70%","75%":"75%","80%":"80%","85%":"85%","90%":"90%","95%":"95%","100%":"100%"},grayscale:{0:"0",DEFAULT:"100%"},gridAutoColumns:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridAutoRows:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridColumn:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridColumnEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridColumnStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridRow:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridRowEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridRowStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridTemplateColumns:{none:"none",subgrid:"subgrid",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))"},gridTemplateRows:{none:"none",subgrid:"subgrid",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))"},height:({theme:n})=>({auto:"auto",...n("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),hueRotate:{0:"0deg",15:"15deg",30:"30deg",60:"60deg",90:"90deg",180:"180deg"},inset:({theme:n})=>({auto:"auto",...n("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%"}),invert:{0:"0",DEFAULT:"100%"},keyframes:{spin:{to:{transform:"rotate(360deg)"}},ping:{"75%, 100%":{transform:"scale(2)",opacity:"0"}},pulse:{"50%":{opacity:".5"}},bounce:{"0%, 100%":{transform:"translateY(-25%)",animationTimingFunction:"cubic-bezier(0.8,0,1,1)"},"50%":{transform:"none",animationTimingFunction:"cubic-bezier(0,0,0.2,1)"}}},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:{none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},listStyleType:{none:"none",disc:"disc",decimal:"decimal"},listStyleImage:{none:"none"},margin:({theme:n})=>({auto:"auto",...n("spacing")}),lineClamp:{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6"},maxHeight:({theme:n})=>({...n("spacing"),none:"none",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),maxWidth:({theme:n,breakpoints:e})=>({...n("spacing"),none:"none",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",min:"min-content",max:"max-content",fit:"fit-content",prose:"65ch",...e(n("screens"))}),minHeight:({theme:n})=>({...n("spacing"),full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),minWidth:({theme:n})=>({...n("spacing"),full:"100%",min:"min-content",max:"max-content",fit:"fit-content"}),objectPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},opacity:{0:"0",5:"0.05",10:"0.1",15:"0.15",20:"0.2",25:"0.25",30:"0.3",35:"0.35",40:"0.4",45:"0.45",50:"0.5",55:"0.55",60:"0.6",65:"0.65",70:"0.7",75:"0.75",80:"0.8",85:"0.85",90:"0.9",95:"0.95",100:"1"},order:{first:"-9999",last:"9999",none:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12"},outlineColor:({theme:n})=>
4608n("colors"),outlineOffset:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},outlineWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},padding:({theme:n})=>n("spacing"),placeholderColor:({theme:n})=>n("colors"),placeholderOpacity:({theme:n})=>n("opacity"),ringColor:({theme:n})=>({DEFAULT:n("colors.blue.500","#3b82f6"),...n("colors")}),ringOffsetColor:({theme:n})=>n("colors"),ringOffsetWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},ringOpacity:({theme:n})=>({DEFAULT:"0.5",...n("opacity")}),ringWidth:{DEFAULT:"3px",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},rotate:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg",45:"45deg",90:"90deg",180:"180deg"},saturate:{0:"0",50:".5",100:"1",150:"1.5",200:"2"},scale:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5"},screens:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},scrollMargin:({theme:n})=>({...n("spacing")}),scrollPadding:({theme:n})=>n("spacing"),sepia:{0:"0",DEFAULT:"100%"},skew:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg"},space:({theme:n})=>({...n("spacing")}),spacing:{px:"1px",0:"0px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",11:"2.75rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},stroke:({theme:n})=>({none:"none",...n("colors")}),strokeWidth:{0:"0",1:"1",2:"2"},supports:{},data:{},textColor:({theme:n})=>n("colors"),textDecorationColor:({theme:n})=>n("colors"),textDecorationThickness:{auto:"auto","from-font":"from-font",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},textIndent:({theme:n})=>({...n("spacing")}),textOpacity:({theme:n})=>n("opacity"),textUnderlineOffset:{auto:"auto",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},transformOrigin:{center:"center",top:"top","top-right":"top right",right:"right","bottom-right":"bottom right",bottom:"bottom","bottom-left":"bottom left",left:"left","top-left":"top left"},transitionDelay:{0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},transitionDuration:{DEFAULT:"150ms",0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},transitionProperty:{none:"none",all:"all",DEFAULT:"color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter",colors:"color, background-color, border-color, text-decoration-color, fill, stroke",opacity:"opacity",shadow:"box-shadow",transform:"transform"},transitionTimingFunction:{DEFAULT:"cubic-bezier(0.4, 0, 0.2, 1)",linear:"linear",in:"cubic-bezier(0.4, 0, 1, 1)",out:"cubic-bezier(0, 0, 0.2, 1)","in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},translate:({theme:n})=>({...n("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%"}),size:({theme:n})=>({auto:"auto",...n("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",min:"min-content",max:"max-content",fit:"fit-content"}),width:({theme:n})=>({auto:"auto",...n("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",screen:"100vw",svw:"100svw",lvw:"100lvw",dvw:"100dvw",min:"min-content",max:"max-content",fit:"fit-content"}),willChange:{auto:"auto",scroll:"scroll-position",contents:"contents",transform:"transform"},zIndex:{auto:"auto",0:"0",10:"10",20:"20",30:"30",40:"40",50:"50"}},plugins:[]}),Py}var t6;function Gle(){return t6||(t6=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return r}});const e=i(Vle()),t=D4();function i(s){return s&&s.__esModule?s:{default:s}}function r(s){var o;const a=((o=s==null?void 0:s.presets)!==null&&o!==void 0?o:[e.default]).slice().reverse().flatMap(u=>r(u instanceof Function?u():u)),l={respectDefaultRingColorOpacity:{theme:{ringColor:({theme:u})=>({DEFAULT:"#3b82f67f",...u("colors")})}},disableColorOpacityUtilitiesByDefault:{corePlugins:{backgroundOpacity:!1,borderOpacity:!1,divideOpacity:!1,placeholderOpacity:!1,ringOpacity:!1,textOpacity:!1}}},c=Object.keys(l).filter(u=>(0,t.flagEnabled)(s,u)).map(u=>l[u]);return[s,...c,...a]}}(Iy)),Iy}var n6;function Qle(){return n6||(n6=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return r}});const e=i(Hle()),t=i(Gle());function i(s){return s&&s.__esModule?s:{default:s}}function r(...s){let[,...o]=(0,t.default)(s[0]);return(0,e.default)([...s,...o])}}(oy)),oy}var Ry,i6;function Wle(){if(i6)return Ry;i6=1;let n=Qle();return Ry=(n.__esModule?n:{default:n}).default,Ry}var jle=Wle();const UA=ZR(jle),uo=(n=Wt)=>class extends n{constructor(e={},...t){super(...t),this.options=An({name:this.constructor.name},e),this.name=this.options.name,this.enabled=!1,this.assets={models:{},textures:{}},this.load()}build(e){}addEvents(){}removeEvents(){}destroy(){this.stop()}start(){this.enabled||(this.enabled=!0,this.addEvents())}stop(){this.enabled&&(this.enabled=!1,this.removeEvents())}update(){}load(){}addGui(e={}){if(S.theatre.project)return S.theatre.helper.autoAddObject(this,this.parent.prettyName,e)}};var qle="varying vec2 vUv;void main(){vUv=uv;vec4 transformedPosition=vec4(position,1.0);vec4 mvPosition=modelViewMatrix*transformedPosition;gl_Position=projectionMatrix*mvPosition;}",Xle=`#include <default_pars>
4609#include <default_frag_pars>
4610varying vec2 vUv;uniform sampler2D tFluidSim;uniform vec3 uColor1;uniform vec3 uColor2;uniform vec3 uColor3;uniform vec3 uColor4;uniform float uColor4BlendStart;uniform float uColor4BlendEnd;uniform float uColor1Brightness;uniform float uColor2Brightness;uniform float uColor3Brightness;uniform vec3 uOffset1;uniform vec3 uOffset2;uniform vec2 uOffset3;uniform float uScale1;uniform float uScale2;uniform float uScale3;uniform float uSpeed;uniform vec2 uResolution;uniform float uTime;vec4 permute(vec4 x){return mod(((x*34.0)+1.0)*x,289.0);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}
4610float snoise(vec3 v){const vec2 C=vec2(1.0/6.0,1.0/3.0);const vec4 D=vec4(0.0,0.5,1.0,2.0);vec3 i=floor(v+dot(v,C.yyy));vec3 x0=v-i+dot(i,C.xxx);vec3 g=step(x0.yzx,x0.xyz);vec3 l=1.0-g;vec3 i1=min(g.xyz,l.zxy);vec3 i2=max(g.xyz,l.zxy);vec3 x1=x0-i1+1.0*C.xxx;vec3 x2=x0-i2+2.0*C.xxx;vec3 x3=x0-1.+3.0*C.xxx;i=mod(i,289.0);vec4 p=permute(permute(permute(i.z+vec4(0.0,i1.z,i2.z,1.0))+i.y+vec4(0.0,i1.y,i2.y,1.0))+i.x+vec4(0.0,i1.x,i2.x,1.0));float n_=1.0/7.0;vec3 ns=n_*D.wyz-D.xzx;vec4 j=p-49.0*floor(p*ns.z*ns.z);vec4 x_=floor(j*ns.z);vec4 y_=floor(j-7.0*x_);vec4 x=x_*ns.x+ns.yyyy;vec4 y=y_*ns.x+ns.yyyy;vec4 h=1.0-abs(x)-abs(y);vec4 b0=vec4(x.xy,y.xy);vec4 b1=vec4(x.zw,y.zw);vec4 s0=floor(b0)*2.0+1.0;vec4 s1=floor(b1)*2.0+1.0;vec4 sh=-step(h,vec4(0.0));vec4 a0=b0.xzyw+s0.xzyw*sh.xxyy;vec4 a1=b1.xzyw+s1.xzyw*sh.zzww;vec3 p0=vec3(a0.xy,h.x);vec3 p1=vec3(a0.zw,h.y);vec3 p2=vec3(a1.xy,h.z);vec3 p3=vec3(a1.zw,h.w);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;vec4 m=max(0.6-vec4(dot(x0,x0),dot(x1,x1),dot(x2,x2),dot(x3,x3)),0.0);m=m*m;return 42.0*dot(m*m,vec4(dot(p0,x0),dot(p1,x1),dot(p2,x2),dot(p3,x3)));}float pulse(float time,float frequency){const float pi=3.14;return 0.5*(1.+sin(2.*pi*frequency*time));}void main(){vec3 color;vec2 screenCoords=gl_FragCoord.xy/uResolution.xy;vec3 fluidColor=texture2D(tFluidSim,screenCoords).rgb;float fluid=luminance(abs(fluidColor.rgb))*2.-1.;fluid*=0.05;vec2 uv1=vUv;uv1=uv1*uScale1+uOffset1.xy;vec2 uv2=vUv;uv2=uv2*uScale2+uOffset2.xy;vec2 uv3=vUv;uv3=uv3*uScale3+uOffset3;vec3 color1=uColor1*uColor1Brightness-fluid*0.5;vec3 color2=uColor2*uColor2Brightness-fluid*0.5;vec3 color3=uColor3*uColor3Brightness-fluid*0.5;float noise1=snoise(vec3(uv1,uOffset1.z))+fluid;noise1=smoothstep(0.,1.,noise1);color=mix(color1,color2,noise1);float noise2=snoise(vec3(uv2,uOffset2.z))+fluid;noise2=smoothstep(0.0,1.,noise2);color3=mix(uColor4,color3,smoothstep(uColor4BlendStart,uColor4BlendEnd,noise2));color=mix(color,color3,noise2);float noise3=snoise(vec3(uv3,uTime*uSpeed))+fluid;noise3=smoothstep(0.0,1.,noise3);color=mix(color,clamp(color*2.,0.,0.9),noise3);color+=color*fluid*0.5;color=clamp(color,0.0,1.0);color+=color*fluidColor*0.05;gl_FragColor=vec4(color,1.0);
4611#include <colorspace_fragment>
4612}`;class Yle extends is{constructor(e={}){e=An({vertexShader:qle,fragmentShader:Xle,uniforms:{tFluidSim:{value:new xn},uColor1:{value:new ke(16711422)},uColor2:{value:new ke(16776134)},uColor3:{value:new ke(16775912)},uColor4:{value:new ke(16775912)},uColor4BlendStart:{value:0,gui:{min:-1,max:2,step:.01}},uColor4BlendEnd:{value:1,gui:{min:-1,max:2,step:.01}},uColor1Brightness:{value:1,gui:{min:0,step:.01}},uColor2Brightness:{value:1,gui:{min:0,step:.01}},uColor3Brightness:{value:1,gui:{min:0,step:.01}},uOffset1:{value:new K,gui:{step:.01}},uOffset2:{value:new K,gui:{step:.01}},uOffset3:{value:new Re,gui:{step:.01}},uScale1:{value:1,gui:{step:.01}},uScale2:{value:1,gui:{step:.01}},uScale3:{value:1,gui:{step:.01}},uSpeed:{value:.1,gui:{min:0,max:1,step:.01}}},transparent:!0,side:Rr},e),super(e)}}var By={},Dy={},r6;function $le(){return r6||(r6=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return t}});function e(i,r){return{handler:i,config:r}}e.withOptions=function(i,r=()=>({})){const s=function(o){return{__options:o,handler:i(o),config:r(o)}};return s.__isOptionsFunction=!0,s.__pluginFunction=i,s.__configFunction=r,s};const t=e}(Dy)),Dy}var s6;function Kle(){return s6||(s6=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return i}});const e=t($le());function t(r){return r&&r.__esModule?r:{default:r}}const i=e.default}(By)),By}var Ly,o6;function Zle(){if(o6)return Ly;o6=1;let n=Kle();return Ly=(n.__esModule?n:{default:n}).default,Ly}var Jle=Zle();const a6=ZR(Jle),l6=n=>Object.fromEntries(n.map(e=>[e,`${e/16}rem`])),ece=n=>Object.fromEntries(n.map(e=>[e,e])),tce=n=>Object.fromEntries(n.map(e=>[`${e}`,e])),nce=n=>{const e={gridColumn:{},gridTemplateColumns:{},gridRow:{},gridTemplateRows:{},gridRowStart:{},gridRowEnd:{},gridColumnStart:{},gridColumnEnd:{}};for(let t=1;t<=n;t++){const i=`span-${t}`,r=`repeat(${t}, minmax(0, 1fr))`;e.gridRow[i]=e.gridColumn[i]=`${i.replace("-"," ")} / ${i.replace("-"," ")}`,e.gridTemplateColumns[t]=e.gridTemplateRows[t]=r,e.gridRowStart[t]=e.gridRowEnd[t]=e.gridColumnStart[t]=e.gridColumnEnd[t]=`${t}`}return e},NA={content:["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"],theme:{spacing:{...l6([0,1,2,4,6,7,8,9,10,12,14,16,18,20,22,24,28,30,32,36,38,40,48,56,60,64,72,80,88,96,112,120,128,144,160,192,224,400,500]),"15vh":"15vh","25vh":"25vh","50vh":"50vh","75vh":"75vh","100vh":"100vh",auto:"auto",full:"100%"},fontSize:{...l6([0,1,2,4,6,8,9,10,12,14,16,18,20,22,24,28,30,32,36,40,48,56,60,64,72,80,96,100,112,128,144,160,180,192])},fontFamily:{sans:["Instrument Sans","sans-serif"],mono:["Geist Mono","monospace"]},letterSpacing:{0:"0",1:"0.01em",2:"0.02em",3:"0.03em",5:"0.05em"},colors:{transparent:"transparent",current:"currentColor",black:"#090B11",hover:"#36363C",white:"#ffffff",scrollbar:"#000000",background:"#FFF6F4"},lineHeight:{...tce([1,1.1,1.2,1.3,1.4,1.5])},fontWeight:{...ece([100,200,300,400,500,600,700,800,900])},screens:{xsm:"480px",sm:"768px",md:"1024px",lg:"1366px",xlg:"1536px",xxlg:"1921px",retina:"2560px","4k":"3840px"},container:{padding:{DEFAULT:".75rem",md:"1.5rem"}},extend:{...nce(32),transitionTimingFunction:{"sine.in":"cubic-bezier(0.12, 0, 0.39, 0)","sine.out":"cubic-bezier(0.61, 1, 0.88, 1)","sine.inOut":"cubic-bezier(0.37, 0, 0.63, 1)","power1.in":"cubic-bezier(0.11, 0, 0.5, 0)","power1.out":"cubic-bezier(0.5, 1, 0.89, 1)","power1.inOut":"cubic-bezier(0.45, 0, 0.55, 1)","power2.in":"cubic-bezier(0.32, 0, 0.67, 0)","power2.out":"cubic-bezier(0.33, 1, 0.68, 1)","power2.inOut":"cubic-bezier(0.65, 0, 0.35, 1)","power3.in":"cubic-bezier(0.5, 0, 0.75, 0)","power3.out":"cubic-bezier(0.25, 1, 0.5, 1)","power3.inOut":"cubic-bezier(0.76, 0, 0.24, 1)","power4.in":"cubic-bezier(0.64, 0, 0.78, 0)","power4.out":"cubic-bezier(0.22, 1, 0.36, 1)","power4.inOut":"cubic-bezier(0.83, 0, 0.17, 1)","expo.in":"cubic-bezier(0.7, 0, 0.84, 0)","expo.out":"cubic-bezier(0.16, 1, 0.3, 1)","expo.inOut":"cubic-bezier(0.87, 0, 0.13, 1)","circ.in":"cubic-bezier(0.55, 0, 1, 0.45)","circ.out":"cubic-bezier(0, 0.55, 0.45, 1)","circ.inOut":"cubic-bezier(0.85, 0, 0.15, 1)","back.in":"cubic-bezier(0.36, 0, 0.66, -0.56)","back.out":"cubic-bezier(0.34, 1.56, 0.64, 1)","back.inOut":"cubic-bezier(0.68, -0.6, 0.32, 1.6)","joe.in":"cubic-bezier(.8,0,1,1)","joe.out":"cubic-bezier(0,0,.2,1)","joe.inOut":"cubic-bezier(.33,0,.2,1)"}}},plugins:[a6(function({addVariant:n}){n("touch","@media (pointer: coarse)"),n("nottouch","@media (hover: hover) and (pointer: fine)"),n("ipadpro","@media (hover: none) and (pointer: coarse) and (min-width: 1024px)")}),a6(function({matchUtilities:n,theme:e}){n({"splittext-fix":t=>({paddingTop:t,paddingBottom:t,marginTop:`-${t}`,marginBottom:`-${t}`,overflowY:"hidden"})},{values:e("spacing")})})]};class ice extends Wa{constructor(t,i={}){super();he(this,"onRaf",()=>{var t,i;(t=this.controls)!=null&&t.enabled&&this.controls.update(),this.smoothMouse[0].lerp(S.pointer.glNormalized,this.options.pointerLerpSpeed1*S.WebGL.normalizedDelta),this.smoothMouse[1].lerp(S.pointer.glNormalized,this.options.pointerLerpSpeed2*S.WebGL.normalizedDelta),this.updateCameras(),this.update(),(i=this.controls)!=null&&i.enabled&&(this.cameraHelper.visible&&this.cameraHelper.update(
4612),S.WebGL.renderer.render(this,this.devCamera))});he(this,"onResize",()=>{this.camera.aspect=S.window.w/S.window.h,this.camera.updateProjectionMatrix(),this.devCamera.aspect=S.window.w/S.window.h,this.devCamera.updateProjectionMatrix()});this.enabled=!1,this.name=t,this.prettyName=t.split("-").map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(""),this.options=An({domId:null,domAlign:"left",controls:S.urlParams.has("controls"),cameraFocalLength:50,cameraXTranslate:0,cameraYTranslate:0,cameraZTranslate:0,cameraPivotStrength:0,cameraPivotOffset:20,cameraPivotAngle:new Re(.05,.05),cameraPivotRollAmount:.2,pointerLerpSpeed1:.032,pointerLerpSpeed2:.025},i),this.originalOptions={...this.options},this.cameraLayers={all:0},this._euler=new Pi,this._quaternion=new Xn,this.smoothMouse=[new Re,new Re],this.globalUniforms={},this.globalDefines={},this.components={},this.load()}start(){var t,i;if(!this.enabled){this.enabled=!0,S.WebGL.activeScene=this,this.renderPass.enabled=!0,this.addEvents();for(const r in this.components)(i=(t=this.components[r]).start)==null||i.call(t);S.urlParams.has("gui")||(S.theatre.sheets[this.prettyName].sequence.position=0,S.theatre.sheets[this.prettyName].sequence.play({iterationCount:1},{rafDriver:S.theatre.rafDriver}))}}stop(){var t,i;if(this.enabled){this.enabled=!1,this.renderPass.enabled=!1,this.removeEvents();for(const r in this.components)(i=(t=this.components[r]).stop)==null||i.call(t);S.theatre.sheets[this.prettyName].sequence.pause()}}build(){var t,i,r,s;this.buildCameras(),this.buildBackground(),this.buildPasses();for(const o in this.components)this.components[o]instanceof Wt&&this.add(this.components[o]),(i=(t=this.components[o]).build)==null||i.call(t,this.objectData),(s=(r=this.components[o]).addGui)==null||s.call(r);this.setupRenderPerfTracking(),oc(this.onResize,!1)}buildCameras(){this.camera=new Zi(45,S.window.w/S.window.h,.1,500),this.camera.setFocalLength(this.options.cameraFocalLength),this.cameraPosition=new K(0,0,20),this.cameraLookAt=new K(0,0,0),this.camera.position.copy(this.cameraPosition),this.camera.lookAt(this.cameraLookAt),this.cameraHelper=new f4(this.camera),this.cameraHelper.visible=!1,this.add(this.cameraHelper),this.devCamera=new Zi(45,S.window.w/S.window.h,.1,1e4),this.devCamera.position.z=20,this.devCamera.position.y=3,this.controls=new CP(this.devCamera,S.WebGL.renderer.domElement),this.controls.target.set(0,0,0),this.controls.enabled=this.options.controls,this.controls.zoomToCursor=!0,this.activeCamera=this.camera,this.controls.enabled&&(S.WebGL.renderer.domElement.style.zIndex=0,S.WebGL.globalUniforms.uDevCameraActive.value=!0);for(const t in this.cameraLayers)this.camera.layers.enable(this.cameraLayers[t]),this.devCamera.layers.enable(this.cameraLayers[t])}buildDebugEnvironment(){this.add(new KK(15790320)),this.light=new jg(16777215,3.5),this.light.position.set(50,200,-50),this.light.castShadow=!0,this.add(this.light),this.grid=new hP(200,50),this.grid.position.y=-10,this.grid.material.opacity=.5,this.grid.material.transparent=!0,this.add(this.grid)}buildBackground(){this.backgroundSphere=new Qe(new Hd(1,12,12),new Yle),this.backgroundSphere.renderOrder=-1,this.backgroundSphere.scale.setScalar(15),this.backgroundSphere.name="Background",this.add(this.backgroundSphere),S.theatre.helper.autoAddObject(this.backgroundSphere,this.prettyName)}buildPasses(){this.renderPass=new m4(this,this.activeCamera),this.renderPass.name=`${this.name} Render`,this.renderPass.enabled=!1,this.savePass=new g4,this.savePass.renderTarget.texture.wrapS=Sd,this.savePass.renderTarget.texture.wrapT=Sd,this.savePass.renderTarget.texture.needsUpdate=!0,this.savePass.setSize(S.window.w*S.WebGL.renderer.getPixelRatio(),S.window.h*S.WebGL.renderer.getPixelRatio()),this.savePass.name=`${this.name} Final`,this.savePass.enabled=!1,S.WebGL.composerPasses.add(this.renderPass,S.WebGL.composerPassOrder[this.name]+4),S.WebGL.composerPasses.add(this.savePass,S.WebGL.composerPassOrder[this.name]+9)}buildScrollAnimation(){var r;if(S.urlParams.has("scene"))return;const i=(r=UA(NA).theme)==null?void 0:r.screens;this.mm=dr.matchMedia(),this.mm.add({isDesktop:S.breakpoints.mediaQueries.md.media,isMobile:`(max-width: ${Number.parseInt(i.md)-1}px)`},s=>(this.scrollAnimation=dr.timeline({defaults:{duration:1,ease:s.conditions.isDesktop?"power2.inOut":"power1.inOut"}}),s.conditions.isDesktop?(this.scrollAnimation.fromTo(this.cameras.camera1._position,{x:this.options.domAlign==="left"?2:-2,y:1,z:15},{x:this.options.domAlign==="left"?2:-2,y:0,z:17,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,start:"top bottom+=90%",end:"center center-=10%",scrub:!0,fastScrollEnd:!0}}).fromTo(this.cameras.camera1._position,{x:this.options.domAlign==="left"?2:-2,y:0,z:17},{x:0,y:0,z:12,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-logo-grid`,start:"center center-=10%",end:"top top-=30%",scrub:!0,preventOverlaps:!0,fastScrollEnd:!0}}),this.addAdditionalDesktopScrollAnimations(this.scrollAnimation)):(this.scrollAnimation.fromTo(this.cameras.camera1._position,{x:0,y:13,z:7},{x:0,y:2,z:17,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,start:"top bottom+=80%",end:"top top",scrub:!0,fastScrollEnd:!0}}).fromTo(this.cameras.camera1._position,{x:0,y:2,z:17},{x:0,y:0,z:12,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-logo-grid`,start:"top top",end:"top top-=10%",scrub:!0,preventOverlaps:!0,fastScrollEnd:!0}}),this.addAdditionalMobileScrollAnimations(this.scrollAnimation)),this.sectionScroll=Pt.create({trigger:`[data-webgl-section="${this.options.domId}"]`,start:"top top",end:"bottom bottom",scrub:!0}),()=>{this.scrollAnimation.kill(),this.sectionScroll.kill()}))}addAdditionalDesktopScrollAnimations(){}addAdditionalMobileScrollAnimations(){}killScrollAnimation(){var t;(t=this.mm)==null||t.revert()}
4612setupRenderPerfTracking(){S.urlParams.has("measurePerf")&&this.traverse(t=>{if(t.isMesh){const i=t.name!==""?t.name:t.material.name;let r;t.onBeforeRender=()=>{r=performance.now()},t.onAfterRender=()=>{performance.measure("render "+i,{start:r,detail:{devtools:{trackGroup:"WebGL",track:"Object Render Times"}}})}}})}addEvents(){S.RAFCollection.add(this.onRaf,3)}removeEvents(){S.RAFCollection.remove(this.onRaf)}updateCameras(){this.camera.position.copy(this.cameraPosition),this.camera.lookAt(this.cameraLookAt),this.camera.translateX(this.options.cameraXTranslate),this.camera.translateY(this.options.cameraYTranslate),this.camera.translateZ(this.options.cameraZTranslate),this.updateCameraPivotMovement(this.camera),this.camera.updateProjectionMatrix()}updateCameraPivotMovement(t){S.breakpoints.is("touch")||(t.translateZ(-this.cameras.camera1._position.z),t.translateX(-this.cameras.camera1._position.x),this._euler.set(this.smoothMouse[0].y*this.options.cameraPivotAngle.y*this.options.cameraPivotStrength,-this.smoothMouse[0].x*this.options.cameraPivotAngle.x*this.options.cameraPivotStrength,0),this._quaternion.setFromEuler(this._euler),t.quaternion.multiply(this._quaternion),this._euler.set(0,0,(this.smoothMouse[0].x-this.smoothMouse[1].x)*-this.options.cameraPivotRollAmount*this.options.cameraPivotStrength),this._quaternion.setFromEuler(this._euler),t.quaternion.multiply(this._quaternion),t.translateZ(this.cameras.camera1._position.z),t.translateX(this.cameras.camera1._position.x),t.updateMatrixWorld())}update(){var t,i;this.backgroundSphere.material.uniforms.tFluidSim.value=S.WebGL.fluidSim.advectionSimVelocity.texture;for(const r in this.components)(i=(t=this.components[r]).update)==null||i.call(t)}load(){this.assets={textures:{},models:{}}}destroy(){this.stop(),this.killScrollAnimation();for(const t in this.components)this.components[t].destroy&&this.components[t].destroy();this.components={},Object.assign(this.options,this.originalOptions),S.WebGL.composerPasses.remove(this.renderPass),this.renderPass.dispose(),S.WebGL.composerPasses.remove(this.savePass),this.savePass.dispose()}}class rce{constructor(e){he(this,"updateTheatreCameraProps",()=>{this.enabled&&S.theatre.studio.transaction(({set:e})=>{e(this.theatreObject.props.position.x,this.controls.object.position.x),e(this.theatreObject.props.position.y,this.controls.object.position.y),e(this.theatreObject.props.position.z,this.controls.object.position.z),e(this.theatreObject.props.target.x,this.controls.target.x),e(this.theatreObject.props.target.y,this.controls.target.y),e(this.theatreObject.props.target.z,this.controls.target.z)})});he(this,"update",()=>{if(!this.enabled)return;this.controls.update(),this.cameraHelper.camera=this.scene.activeCamera,this.cameraHelper.matrix=this.scene.activeCamera.matrixWorld,this.options.helpers&&(this.transformControls.visible=this.transformControls.enabled,this.boxHelper.visible=this.boxHelper.enabled,this.cameraHelper.visible=this.cameraHelper.enabled),this.grid.visible=this.grid.enabled,this.boxHelper.enabled&&this.box3.setFromObject(this.selectedObject),S.WebGL.renderer.render(this.scene,this.devCamera);const e=S.WebGL.renderer.autoClear;S.WebGL.renderer.autoClear=!1,this.viewHelper.animating&&this.viewHelper.update(S.WebGL.clockDelta),this.viewHelper.render(S.WebGL.renderer),S.WebGL.renderer.autoClear=e,this.transformControls.visible=!1,this.boxHelper.visible=!1,this.cameraHelper.visible=!1,this.grid.visible=!1});he(this,"onStudioSelectionChange",e=>{var t;this.enabled&&e.length&&(e[0]._webglObject?this.selectObject(e[0]._webglObject):(t=e[1])!=null&&t._webglObject?this.selectObject(e[1]._webglObject):this.deselectObject())});he(this,"onViewHelperClick",e=>{this.viewHelper.handleClick(e)});he(this,"onTransformControlsDraggingChanged",e=>{this.controls.enabled=!e.value});he(this,"onTransformControlsMouseUp",e=>{var r,s,o;const t=e.mode,i=e.target.object;if(i._theatreObject){const a=i._theatreObject;switch(t){case"translate":(r=a.value.transforms)!=null&&r.position?S.theatre.studio.transaction(({set:l})=>
4612{l(a.props.transforms.position.x,i.position.x),l(a.props.transforms.position.y,i.position.y),l(a.props.transforms.position.z,i.position.z)}):a.value.position&&S.theatre.studio.transaction(({set:l})=>{l(a.props.position.x,i.position.x),l(a.props.position.y,i.position.y),l(a.props.position.z,i.position.z)});break;case"rotate":(s=a.value.transforms)!=null&&s.position?S.theatre.studio.transaction(({set:l})=>{l(a.props.transforms.rotation.x,i.rotation.x),l(a.props.transforms.rotation.y,i.rotation.y),l(a.props.transforms.rotation.z,i.rotation.z)}):a.value.rotation&&S.theatre.studio.transaction(({set:l})=>{l(a.props.rotation.x,i.rotation.x),l(a.props.rotation.y,i.rotation.y),l(a.props.rotation.z,i.rotation.z)});break;case"scale":(o=a.value.transforms)!=null&&o.scale?S.theatre.studio.transaction(({set:l})=>{l(a.props.transforms.scale.x,i.scale.x),l(a.props.transforms.scale.y,i.scale.y),l(a.props.transforms.scale.z,i.scale.z)}):a.value.scale&&S.theatre.studio.transaction(({set:l})=>{l(a.props.scale.x,i.scale.x),l(a.props.scale.y,i.scale.y),l(a.props.scale.z,i.scale.z)});break}}});he(this,"onPointerMove",()=>{this.draggingTransformControls=this.transformControls.dragging,this.pointerDown&&(this.mouseDelta.x+=this.mouse.x-S.pointer.x,this.mouseDelta.y+=this.mouse.y-S.pointer.y,(Math.abs(this.mouseDelta.x)>1||Math.abs(this.mouseDelta.y)>1)&&(this.dragging=!0))});he(this,"onPointerDown",()=>{this.pointerDown=!0,this.mouse.x=S.pointer.x,this.mouse.y=S.pointer.y,this.mouseDelta.x=0,this.mouseDelta.y=0});he(this,"onPointerUp",()=>{if(!this.draggingTransformControls&&!this.dragging){const e=this.transformableObjects.filter(i=>i.visible);this.raycaster.setFromCamera(S.pointer.glNormalized,this.devCamera);const t=this.raycaster.intersectObjects(e,!1);t.length>0?this.selectObject(t[0].object,!0):this.deselectObject()}this.pointerDown=!1,this.dragging=!1});this.scene=e,this.enabled=!1,this.options={helpers:!0},this.cameraHelper=new f4(this.scene.activeCamera),this.cameraHelper.visible=!1,this.cameraHelper.enabled=!0,this.cameraHelperRaycastMesh=new Qe(new fi,new Jr({visible:!1})),this.cameraHelperRaycastMesh.name="CameraHelperRaycastMesh",this.cameraHelper.add(this.cameraHelperRaycastMesh),this.devCamera=new Zi(45,S.window.w/S.window.h,.1,1e4),this.devCamera.position.z=20,this.devCamera.position.y=3;for(const i in this.scene.cameraLayers)this.devCamera.layers.enable(this.scene.cameraLayers[i]);this.controls=new CP(this.devCamera,S.WebGL.renderer.domElement),this.controls.target.set(0,0,0),this.controls.enabled=!0,this.controls.zoomToCursor=!0,this.selectedObject=null,this.transformControls=new Gie(this.devCamera,S.WebGL.renderer.domElement),this.transformControls.enabled=!1,this.transformControls.visible=!1,this.box3=new Hs,this.boxHelper=new fZ(this.box3),this.boxHelper.enabled=!1,this.boxHelper.visible=!1,this.scene.add(this.boxHelper),this.raycaster=new u4,this.pointerDown=!1,this.dragging=!1,this.mouse={x:0,y:0},this.mouseDelta={x:0,y:0},this.transformableObjects=[];const t=new Qe(new fi,new Jr({visible:!1}));t.name="CameraTransformMesh";for(const i in this.scene.components)this.scene.components[i]._theatreObject&&(this.scene.components[i]._theatreObject.value.transforms||this.scene.components[i]._theatreObject.value.position)&&this.transformableObjects.push(this.scene.components[i]);this.viewHelperElement=document.createElement("div"),Object.assign(this.viewHelperElement.style,{width:"128px",height:"128px",position:"fixed",bottom:0,right:0,zIndex:99,pointerEvents:"none"}),document.body.appendChild(this.viewHelperElement),this.viewHelper=new cre(this.devCamera,S.WebGL.renderer.domElement),this.buildGrid(),this.addHelpers(),this.onSelectionChangeUnsubcribe=S.theatre.studio.onSelectionChange(this.onStudioSelectionChange)}enable(){var e;this.enabled||(this.enabled=!0,this.toggleDevCamera(!0),this.addEvents(),this.viewHelperElement.style.pointerEvents="auto",S.theatre.updateExtensionToolbar&&((e=S.theatre)==null||e.updateExtensionToolbar()))}disable(){var e;this.enabled&&(this.enabled=!1,this.toggleDevCamera(!1),this.removeEvents(),this.viewHelperElement.style.pointerEvents="none",S.theatre.updateExtensionToolbar&&((e=S.theatre)==null||e.updateExtensionToolbar()))}createTheatreObject(){S.theatre.studioSheets[this.scene.prettyName]&&(this.theatreObject=S.theatre.helper.addStudioSheetObject(this.scene.prettyName,"Dev Tools",{enabled:Te.types.boolean(this.enabled),position:Te.types.compound({x:this.controls.object.position.x,y:this.controls.object.position.y,z:this.controls.object.position.z}),target:{x:this.controls.target.x,y:this.controls.target.y,z:this.controls.target.z},helpers:Te.types.boolean(this.options.helpers),grid:Te.types.boolean(this.grid.enabled)}),this.unsubscribeFromTheatreObject=this.theatreObject.onValuesChange(e=>{e.enabled?this.enable():this.disable(),this.controls.object.position.copy(e.position),this.controls.target.copy(e.target),this.toggleGrid(e.grid),this.toggleHelpers(e.helpers)},S.theatre.rafDriver),this.controls.addEventListener("end",this.updateTheatreCameraProps),S.theatre.updateExtensionToolbar&&S.theatre.updateExtensionToolbar())}detachTheatreObject(){var e,t,i;(e=S.theatre.studioSheets[this.scene.prettyName])==null||e.detachObject("Dev Tools"),(t=S.theatre.studioObjects[this.scene.prettyName])==null||delete t["Dev Tools"],(i=this.unsubscribeFromTheatreObject)==null||i.call(this),this.controls.removeEventListener("end",this.updateTheatreCameraProps)}
4612buildGrid(){this.grid=new hP(200,50),this.grid.material.opacity=.2,this.grid.material.transparent=!0,this.grid.visible=!1,this.grid.enabled=!1}toggleDevCamera(e){return e===null&&(e=!this.controls.enabled),this.controls.enabled=e,this.prevCanvasPointerEvents&&!e&&S.WebGL.renderer.domElement.classList.add("pointer-events-none"),this.prevCanvasPointerEvents=S.WebGL.renderer.domElement.classList.contains("pointer-events-none"),e&&this.prevCanvasPointerEvents&&S.WebGL.renderer.domElement.classList.remove("pointer-events-none"),e?(S.WebGL.renderer.domElement.style.zIndex=0,this.prevZIndex=S.WebGL.renderer.domElement.style.zIndex):S.WebGL.renderer.domElement.style.zIndex=this.prevZIndex||-1,S.WebGL.globalUniforms.uDevCameraActive.value=e,e}addHelpers(){this.scene.add(this.cameraHelper),this.scene.add(this.transformControls.getHelper()),this.scene.add(this.grid)}toggleGrid(e){var i;const t=this.grid.enabled;this.grid.enabled=e,t!==e&&S.theatre.updateExtensionToolbar&&((i=S.theatre)==null||i.updateExtensionToolbar())}toggleHelpers(e){var i;const t=this.options.helpers;this.options.helpers=e,this.cameraHelper.enabled=e,this.transformControls.object&&(this.transformControls.enabled=e),t!==e&&S.theatre.updateExtensionToolbar&&((i=S.theatre)==null||i.updateExtensionToolbar())}selectObject(e,t=!1){e instanceof Wt&&(this.selectedObject=e,e._theatreObject.value.transforms||e._theatreObject.value.position?(this.transformControls.attach(this.selectedObject),this.transformControls.enabled=!0):(this.transformControls.detach(),this.transformControls.enabled=!1),this.box3.setFromObject(this.selectedObject),this.boxHelper.enabled=!0),t&&e._theatreObject&&S.theatre.studio.setSelection([e._theatreObject.sheet,e._theatreObject]),S.theatre.updateExtensionToolbar&&S.theatre.updateExtensionToolbar()}deselectObject(){this.transformControls.detach(),this.transformControls.enabled=!1,this.boxHelper.enabled=!1,this.selectedObject=null,S.theatre.updateExtensionToolbar&&S.theatre.updateExtensionToolbar()}addEvents(){S.RAFCollection.add(this.update,150),S.WebGL.renderer.domElement.addEventListener("pointermove",this.onPointerMove),S.WebGL.renderer.domElement.addEventListener("pointerdown",this.onPointerDown),S.WebGL.renderer.domElement.addEventListener("pointerup",this.onPointerUp),this.transformControls.addEventListener("dragging-changed",this.onTransformControlsDraggingChanged),this.transformControls.addEventListener("mouseUp",this.onTransformControlsMouseUp),this.viewHelperElement.addEventListener("pointerup",this.onViewHelperClick)}removeEvents(){S.RAFCollection.remove(this.update),S.WebGL.renderer.domElement.removeEventListener("pointermove",this.onPointerMove),S.WebGL.renderer.domElement.removeEventListener("pointerdown",this.onPointerDown),S.WebGL.renderer.domElement.removeEventListener("pointerup",this.onPointerUp),this.transformControls.removeEventListener("dragging-changed",this.onTransformControlsDraggingChanged),this.transformControls.removeEventListener("mouseUp",this.onTransformControlsMouseUp),this.viewHelperElement.removeEventListener("pointerup",this.onViewHelperClick)}onResize(){this.devCamera.aspect=S.window.w/S.window.h,this.devCamera.updateProjectionMatrix()}destroy(){this.disable(),this.detachTheatreObject(),this.onSelectionChangeUnsubcribe()}}class cc extends ice{constructor(...t){var i;super(...t);he(this,"updatePostFXValuesFromTheatre",(t,i=!1)=>{this.enabled&&(S.urlParams.has("scene")||i)&&(dr.set(S.WebGL.bloomPass,{enabled:this.postFxTheatreOverrides.bloom.enabled??t.bloom.enabled,strength:t.bloom.strength,threshold:t.bloom.threshold,radius:t.bloom.radius}),dr.set(S.WebGL.directionalBloomPass,{enabled:this.postFxTheatreOverrides.directionalBloom.enabled??t.directionalBloom.enabled,strength:t.directionalBloom.strength,threshold:t.directionalBloom.threshold,radius:t.directionalBloom.radius}))});he(this,"onResize",()=>{var t,i,r;for(const s in this.cameras){const o=this.cameras[s];o.aspect=S.window.w/S.window.h,o.setFocalLength(o._focalLength),o.updateProjectionMatrix()}(t=this.devTools)==null||t.onResize(),this.onSceneResize();for(const s in this.components)(r=(i=this.components[s]).resize)==null||r.call(i)});S.theatre.studioProject&&(S.theatre.studioSheets[this.prettyName]=si((i=S.theatre.studioProject)==null?void 0:i.sheet(this.prettyName))),S.theatre.sheets[this.prettyName]=si(S.theatre.project.sheet(this.prettyName)),S.theatre.sheets[this.prettyName]._webglScene=si(this),this.postFxTheatreOverrides={bloom:{},directionalBloom:{}}}start(){var t;
4612super.start(),S.urlParams.has("scene")&&this.updatePostFXValuesFromTheatre(S.theatre.objects[this.prettyName]["Post FX"].value,!0),(t=this.devTools)==null||t.createTheatreObject()}stop(){var t,i,r,s;super.stop(),(t=this.postFxST)==null||t.scrollTrigger.kill(),(i=this.postFxST)==null||i.kill(),(r=this.devTools)==null||r.disable(),(s=this.devTools)==null||s.detachTheatreObject()}build(){super.build(),this.addPostFXToTheatre(),S.env!=="production"&&S.urlParams.has("gui")&&(this.devTools=new rce(this))}addPostFXToTheatre(){const t={bloom:{enabled:Te.types.boolean(S.WebGL.bloomPass.enabled),strength:Te.types.number(S.WebGL.bloomPass.strength,{range:[0,2],nudgeMultiplier:.01}),threshold:Te.types.number(S.WebGL.bloomPass.threshold,{range:[0,2],nudgeMultiplier:.01}),radius:Te.types.number(S.WebGL.bloomPass.radius,{range:[0,2],nudgeMultiplier:.01})},directionalBloom:{enabled:Te.types.boolean(S.WebGL.directionalBloomPass.enabled),strength:Te.types.number(S.WebGL.directionalBloomPass.strength,{range:[0,2],nudgeMultiplier:.01}),threshold:Te.types.number(S.WebGL.directionalBloomPass.threshold,{range:[0,2],nudgeMultiplier:.01}),radius:Te.types.number(S.WebGL.directionalBloomPass.radius,{range:[0,2],nudgeMultiplier:.01})}};S.theatre.helper.addSheetObject(this.prettyName,"Post FX",t).onValuesChange(this.updatePostFXValuesFromTheatre,S.theatre.rafDriver)}buildCameras(){this.cameras={camera1:this.createCamera("Camera 1")},this.activeCamera=this.cameras.camera1,S.theatre.helper.addSheetObject(this.prettyName,"Cameras / Settings",{cameraXTranslate:Te.types.number(this.options.cameraXTranslate,{nudgeMultiplier:.01}),cameraYTranslate:Te.types.number(this.options.cameraYTranslate,{nudgeMultiplier:.01}),cameraZTranslate:Te.types.number(this.options.cameraZTranslate,{nudgeMultiplier:.01}),cameraPivotStrength:Te.types.number(this.options.cameraPivotStrength,{nudgeMultiplier:.01}),cameraPivotOffset:Te.types.number(this.options.cameraPivotOffset,{nudgeMultiplier:.01}),pointerLerpSpeed1:Te.types.number(this.options.pointerLerpSpeed1,{nudgeMultiplier:.001}),pointerLerpSpeed2:Te.types.number(this.options.pointerLerpSpeed2,{nudgeMultiplier:.001}),cameraPivotAngle:Te.types.compound({x:Te.types.number(this.options.cameraPivotAngle.x,{nudgeMultiplier:.001}),y:Te.types.number(this.options.cameraPivotAngle.y,{nudgeMultiplier:.001})}),cameraPivotRollAmount:Te.types.number(this.options.cameraPivotRollAmount,{nudgeMultiplier:.001})}).onValuesChange(t=>{this.options.cameraXTranslate=t.cameraXTranslate,this.options.cameraYTranslate=t.cameraYTranslate,this.options.cameraZTranslate=t.cameraZTranslate,this.options.cameraPivotStrength=S.urlParams.has("scene")?0:t.cameraPivotStrength,this.options.cameraPivotOffset=t.cameraPivotOffset,this.options.pointerLerpSpeed1=t.pointerLerpSpeed1,this.options.pointerLerpSpeed2=t.pointerLerpSpeed2,this.options.cameraPivotAngle.x=t.cameraPivotAngle.x,this.options.cameraPivotAngle.y=t.cameraPivotAngle.y,this.options.cameraPivotRollAmount=t.cameraPivotRollAmount},S.theatre.rafDriver)}createCamera(t){const i=new Zi(45,S.window.w/S.window.h,.1,500);i.name=t,i._position=new K(0,0,20),i._rotation=new Pi,i._lookAt=new K,i._focalLength=this.options.cameraFocalLength,i.enableLookAt=!1,i.position.copy(i._position),i.rotation.copy(i._rotation),i.lookAt(i._lookAt),i.setFocalLength(i._focalLength);for(const r in this.cameraLayers)i.layers.enable(this.cameraLayers[r]);return i}updateCameras(){var t;for(const i in this.cameras){const r=this.cameras[i];r.position.copy(r._position),r.enableLookAt?r.lookAt(r._lookAt):(t=this.devTools)!=null&&t.transformControls.dragging||r.rotation.copy(r._rotation),r.translateX(this.options.cameraXTranslate),r.translateY(this.options.cameraYTranslate),r.translateZ(this.options.cameraZTranslate),this.updateCameraPivotMovement(r),r.updateProjectionMatrix()}}onSceneResize(){}destroy(){var t;super.destroy(),S.theatre.helper.deleteSheet(this.prettyName),S.env!=="production"&&S.theatre.helper.detachAllStudioSheetObjects(this.prettyName),(t=this.devTools)==null||t.destroy()}}class sce extends cc{constructor(){super("article"),this.components=Object.assign({})}buildScrollTimeline(){this.sequencePosition={value:0},this.scrollTimeline=vo.timeline({immediateRender:!1,paused:!0,defaults:{ease:"sine.inOut",duration:1,immediateRender:!1,onUpdate:()=>{S.theatre.sheets[this.prettyName].sequence.position=this.sequencePosition.value}}}).fromTo(this.sequencePosition,{value:0}
4612,{value:1,scrollTrigger:{trigger:".js-landing-orb",start:"bottom bottom+=30%",end:"center center",scrub:!0}}).fromTo(this.sequencePosition,{value:1},{value:2,scrollTrigger:{trigger:".js-engineering-orb",start:"bottom bottom+=30%",end:"center center",scrub:!0}}).fromTo(this.sequencePosition,{value:2},{value:3,scrollTrigger:{trigger:".js-computing-orb",start:"bottom bottom+=30%",end:"center center",scrub:!0}}).fromTo(this.sequencePosition,{value:3},{value:4,scrollTrigger:{trigger:".js-team-orb",start:"bottom bottom+=30%",end:"center center",scrub:!0}}),S.theatre.sheets[this.prettyName].sequence.position=0}start(){this.enabled||(this.enabled=!0,S.WebGL.activeScene=this,this.renderPass.enabled=!0,this.addEvents())}stop(){super.stop(),S.theatre.sheets[this.prettyName].sequence.position=0}destroy(){var e;super.destroy(),(e=this.scrollTimeline)==null||e.kill()}}var oce="varying vec2 vUv;varying vec2 vUvDown;varying vec2 vUvUp;varying vec2 vUvLeft;varying vec2 vUvRight;varying vec2 vUvDownLeft;varying vec2 vUvUpRight;varying vec2 vUvUpLeft;varying vec2 vUvDownRight;uniform vec2 uResolution;void main(){vUv=uv;gl_Position=projectionMatrix*modelViewMatrix*vec4(position,1.0);vec2 texelSize=vec2(1.0/uResolution.x,1.0/uResolution.y);vUvDown=uv+vec2(0.0,-1.0)*texelSize;vUvUp=uv+vec2(0.0,1.0)*texelSize;vUvRight=uv+vec2(1.0,0.0)*texelSize;vUvLeft=uv+vec2(-1.0,0.0)*texelSize;vUvDownLeft=uv+vec2(-1.0,-1.0)*texelSize;vUvUpRight=uv+vec2(1.0,1.0)*texelSize;vUvUpLeft=uv+vec2(-1.0,1.0)*texelSize;vUvDownRight=uv+vec2(1.0,-1.0)*texelSize;}",ace=`#include <common>
4613precision highp float;
4614#define QUALITY(q) ((q) < 5 ? 1.0 : ((q) > 5 ? ((q) < 10 ? 2.0 : ((q) < 11 ? 4.0 : 8.0)) : 1.5))
4615#define ONE_OVER_TWELVE 0.08333333333333333
4616varying vec2 vUvDown;varying vec2 vUvUp;varying vec2 vUvLeft;varying vec2 vUvRight;varying vec2 vUvDownLeft;varying vec2 vUvUpRight;varying vec2 vUvUpLeft;varying vec2 vUvDownRight;uniform sampler2D tDiffuse;uniform int uSamples;uniform vec2 uResolution;varying vec2 vUv;vec4 fxaa(const in sampler2D inputBuffer,const in vec2 uv){vec2 texelSize=vec2(1.0/uResolution.x,1.0/uResolution.y);vec4 inputColor=texture2D(inputBuffer,uv);float lumaCenter=luminance(inputColor.rgb);float lumaDown=luminance(texture2D(inputBuffer,vUvDown).rgb);float lumaUp=luminance(texture2D(inputBuffer,vUvUp).rgb);float lumaLeft=luminance(texture2D(inputBuffer,vUvLeft).rgb);float lumaRight=luminance(texture2D(inputBuffer,vUvRight).rgb);float lumaMin=min(lumaCenter,min(min(lumaDown,lumaUp),min(lumaLeft,lumaRight)));float lumaMax=max(lumaCenter,max(max(lumaDown,lumaUp),max(lumaLeft,lumaRight)));float lumaRange=lumaMax-lumaMin;if(lumaRange<max(EDGE_THRESHOLD_MIN,lumaMax*EDGE_THRESHOLD_MAX)){return inputColor;}float lumaDownLeft=luminance(texture2D(inputBuffer,vUvDownLeft).rgb);float lumaUpRight=luminance(texture2D(inputBuffer,vUvUpRight).rgb);float lumaUpLeft=luminance(texture2D(inputBuffer,vUvUpLeft).rgb);float lumaDownRight=luminance(texture2D(inputBuffer,vUvDownRight).rgb);float lumaDownUp=lumaDown+lumaUp;float lumaLeftRight=lumaLeft+lumaRight;float lumaLeftCorners=lumaDownLeft+lumaUpLeft;float lumaDownCorners=lumaDownLeft+lumaDownRight;float lumaRightCorners=lumaDownRight+lumaUpRight;float lumaUpCorners=lumaUpRight+lumaUpLeft;float edgeHorizontal=(abs(-2.0*lumaLeft+lumaLeftCorners)+abs(-2.0*lumaCenter+lumaDownUp)*2.0+abs(-2.0*lumaRight+lumaRightCorners));float edgeVertical=(abs(-2.0*lumaUp+lumaUpCorners)+abs(-2.0*lumaCenter+lumaLeftRight)*2.0+abs(-2.0*lumaDown+lumaDownCorners));bool isHorizontal=(edgeHorizontal>=edgeVertical);float stepLength=isHorizontal ? texelSize.y : texelSize.x;float luma1=isHorizontal ? lumaDown : lumaLeft;float luma2=isHorizontal ? lumaUp : lumaRight;float gradient1=abs(luma1-lumaCenter);float gradient2=abs(luma2-lumaCenter);bool is1Steepest=gradient1>=gradient2;float gradientScaled=0.25*max(gradient1,gradient2);float lumaLocalAverage=0.0;if(is1Steepest){stepLength=-stepLength;lumaLocalAverage=0.5*(luma1+lumaCenter);}else{lumaLocalAverage=0.5*(luma2+lumaCenter);}vec2 currentUv=uv;if(isHorizontal){currentUv.y+=stepLength*0.5;}else{currentUv.x+=stepLength*0.5;}vec2 offset=isHorizontal ? vec2(texelSize.x,0.0): vec2(0.0,texelSize.y);vec2 uv1=currentUv-offset*QUALITY(0);vec2 uv2=currentUv+offset*QUALITY(0);float lumaEnd1=luminance(texture2D(inputBuffer,uv1).rgb);float lumaEnd2=luminance(texture2D(inputBuffer,uv2).rgb);lumaEnd1-=lumaLocalAverage;lumaEnd2-=lumaLocalAverage;bool reached1=abs(lumaEnd1)>=gradientScaled;bool reached2=abs(lumaEnd2)>=gradientScaled;bool reachedBoth=reached1&&reached2;if(!reached1){uv1-=offset*QUALITY(1);}if(!reached2){uv2+=offset*QUALITY(1);}if(!reachedBoth){for(int i=2;i<uSamples;++i){if(!reached1){lumaEnd1=luminance(texture2D(inputBuffer,uv1).rgb);lumaEnd1=lumaEnd1-lumaLocalAverage;}if(!reached2){lumaEnd2=luminance(texture2D(inputBuffer,uv2).rgb);lumaEnd2=lumaEnd2-lumaLocalAverage;}reached1=abs(lumaEnd1)>=gradientScaled;reached2=abs(lumaEnd2)>=gradientScaled;reachedBoth=reached1&&reached2;if(!reached1){uv1-=offset*QUALITY(i);}if(!reached2){uv2+=offset*QUALITY(i);}if(reachedBoth){break;}}}float distance1=isHorizontal ?(uv.x-uv1.x):(uv.y-uv1.y);
4616float distance2=isHorizontal ?(uv2.x-uv.x):(uv2.y-uv.y);bool isDirection1=distance1<distance2;float distanceFinal=min(distance1,distance2);float edgeThickness=(distance1+distance2);bool isLumaCenterSmaller=lumaCenter<lumaLocalAverage;bool correctVariation1=(lumaEnd1<0.0)!=isLumaCenterSmaller;bool correctVariation2=(lumaEnd2<0.0)!=isLumaCenterSmaller;bool correctVariation=isDirection1 ? correctVariation1 : correctVariation2;float pixelOffset=-distanceFinal/edgeThickness+0.5;float finalOffset=correctVariation ? pixelOffset : 0.0;float lumaAverage=ONE_OVER_TWELVE*(2.0*(lumaDownUp+lumaLeftRight)+lumaLeftCorners+lumaRightCorners);float subPixelOffset1=clamp(abs(lumaAverage-lumaCenter)/lumaRange,0.0,1.0);float subPixelOffset2=(-2.0*subPixelOffset1+3.0)*subPixelOffset1*subPixelOffset1;float subPixelOffsetFinal=subPixelOffset2*subPixelOffset2*SUBPIXEL_QUALITY;finalOffset=max(finalOffset,subPixelOffsetFinal);vec2 finalUv=uv;if(isHorizontal){finalUv.y+=finalOffset*stepLength;}else{finalUv.x+=finalOffset*stepLength;}return texture2D(inputBuffer,finalUv);}void main(){vec3 inputColor=texture2D(tDiffuse,vUv).rgb;float lumaCenter=luminance(inputColor.rgb);const float edgeDetectionQuality=.2;const float invEdgeDetectionQuality=1./edgeDetectionQuality;gl_FragColor=fxaa(tDiffuse,vUv);}`,lce=`#include <default_pars>
4617#include <default_frag_pars>
4618varying vec2 vUv;uniform bool uEnabled;uniform bool uChromaticAberration;uniform bool uVignette;uniform vec2 uResolution;uniform bool uNoise;uniform float uNoiseStrength;uniform sampler2D tDiffuse;uniform float uVignetteStrength;uniform float uVignetteInnerStrength;uniform float uVignetteOuterStrength;uniform vec3 uVignetteColor;uniform float uMaxDistort;uniform float uBendAmount;const int iterations=5;uniform float uTime;vec2 barrelDistortion(vec2 coord,float amt){vec2 cc=coord-0.5;float dist=dot(cc,cc);return coord+cc*dist*amt;}float sat(float t){return clamp(t,0.0,1.0);}float linterp(float t){return sat(1.0-abs(2.0*t-1.0));}float remap(float t,float a,float b){return sat((t-a)/(b-a));}vec4 spectrum_offset(float t){vec4 ret;float lo=step(t,0.5);float hi=1.0-lo;float w=linterp(remap(t,1.0/6.0,5.0/6.0));ret=vec4(lo,1.0,hi,1.)*vec4(1.0-w,w,1.0-w,1.);return pow(ret,vec4(1.0/2.2));}float random(vec2 p){vec3 p3=fract(vec3(p.xyx)*443.8975);p3+=dot(p3,p3.yzx+19.19);return fract((p3.x+p3.y)*p3.z);}void main(){if(uEnabled){if(uChromaticAberration){vec4 sumcol=vec4(0.0);vec4 sumw=vec4(0.0);float reci_num_iter_f=1.0/float(iterations);for(int i=0;i<iterations;i++){float t=float(i)*reci_num_iter_f;vec4 w=spectrum_offset(t);sumw+=w;sumcol+=w*texture2D(tDiffuse,barrelDistortion(vUv,uBendAmount*uMaxDistort*t));}gl_FragColor=vec4(sumcol/sumw);}else{gl_FragColor=texture2D(tDiffuse,vUv);}if(uVignette){vec2 coord=(vUv-0.5)*(uResolution.x/uResolution.y)*2.0;float rf=1.0+dot(coord,coord)*uVignetteInnerStrength*uVignetteInnerStrength;float vignette=1.0/(rf*rf);vec2 uv2=vUv;uv2*=1.0-vUv.yx;float vig=uv2.x*uv2.y*20.0;vignette*=pow(vig,uVignetteOuterStrength);vignette=clamp(vignette,0.0,1.0);gl_FragColor.rgb=mix(uVignetteColor,gl_FragColor.rgb,saturate(vignette+(1.-uVignetteStrength)));}if(uNoise){gl_FragColor.rgb=blendSoftLight(gl_FragColor.rgb,vec3(random(vUv)-0.5),uNoiseStrength);}}else{gl_FragColor=texture2D(tDiffuse,vUv);}
4619#include <colorspace_fragment>
4620}`,cce=`#include <default_pars>
4621varying vec2 vUv;uniform sampler2D tOriginalTexture;uniform sampler2D tTexture;uniform sampler2D tVelocity;uniform sampler2D tFluidSim;uniform float uFluidStrength;uniform mat4 uModelMatrix;uniform mat4 uViewMatrix;uniform mat4 uProjectionMatrix;uniform float uTime;uniform float uDelta;uniform float uNormalizedDelta;uniform float uRadius;uniform float uDecay;uniform float uDecay2;uniform float uLerpSpeed;uniform float uLerpSpeed2;uniform float uShapeThreshold;uniform float uSetup;float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}void main(){vec2 uv=vUv;vec4 originalPosFetch=texture2D(tOriginalTexture,uv);vec3 offsets=originalPosFetch.xyz;float randomIndex=rand(vUv);float selected=step(uShapeThreshold,randomIndex);vec4 position=texture2D(tTexture,uv);vec3 currentPos=position.xyz;float life=position.w;vec3 velocity=texture2D(tVelocity,uv).xyz;if(uSetup>0.5){vec3 initialTarget=normalize(offsets)*uRadius*map(randomIndex,0.0,1.0,0.5,1.0);gl_FragColor=vec4(initialTarget,rand(vUv+randomIndex+4584.));if(selected>0.5){gl_FragColor.a=originalPosFetch.w;}return;}if(life<=0.0){if(selected>0.5){gl_FragColor=vec4(offsets,1.0);return;}gl_FragColor=vec4(offsets*0.025,1.0);return;}vec3 target;vec4 earlyViewPosition=uViewMatrix*uModelMatrix*vec4(currentPos,1.0);vec4 earlyProjection=uProjectionMatrix*earlyViewPosition;vec2 screenPos=earlyProjection.xy/earlyProjection.w*0.5+0.5;vec3 fluidDisplacement=vec3(0.);fluidDisplacement=texture2D(tFluidSim,screenPos).rgb;fluidDisplacement.z*=-1.+1.;if(selected>0.5){target=normalize(currentPos+velocity)*uRadius*map(randomIndex,0.0,1.0,0.5,1.0);
4621currentPos+=(target-currentPos)*uNormalizedDelta*uLerpSpeed;life-=uDecay*uNormalizedDelta*0.01;}else{currentPos+=velocity*uNormalizedDelta*uLerpSpeed2;life-=uDecay2*uNormalizedDelta*0.01;}gl_FragColor=vec4(currentPos+fluidDisplacement*uFluidStrength,life);}`,uce=`#include <default_pars>
4622varying vec2 vUv;uniform sampler2D tPosition;uniform sampler2D tOriginalPosition;uniform sampler2D tTexture;uniform float uTime;uniform float uDelta;uniform float uNormalizedDelta;uniform sampler2D tFluidSim;uniform mat4 uModelMatrix;uniform mat4 uViewMatrix;uniform mat4 uProjectionMatrix;uniform float uShapeThreshold;uniform float uFriction;uniform float uCurlSize;uniform float uCurlNoiseSpeed;uniform float uCurlStrength;uniform float uCurlNoisePersistence;uniform vec2 uFrequency;uniform vec2 uAmplitude;uniform float uSetup;vec4 mod289(vec4 x){return x-floor(x*(1.0/289.0))*289.0;}float mod289(float x){return x-floor(x*(1.0/289.0))*289.0;}vec4 permute(vec4 x){return mod289(((x*34.0)+1.0)*x);}float permute(float x){return mod289(((x*34.0)+1.0)*x);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}float taylorInvSqrt(float r){return 1.79284291400159-0.85373472095314*r;}vec4 grad4(float j,vec4 ip){const vec4 ones=vec4(1.0,1.0,1.0,-1.0);vec4 p,s;p.xyz=floor(fract(vec3(j)*ip.xyz)*7.0)*ip.z-1.0;p.w=1.5-dot(abs(p.xyz),ones.xyz);s=vec4(lessThan(p,vec4(0.0)));p.xyz=p.xyz+(s.xyz*2.0-1.0)*s.www;return p;}
4623#define F4 0.309016994374947451
4624vec4 snoise4(vec4 v){const vec4 C=vec4(0.138196601125011,0.276393202250021,0.414589803375032,-0.447213595499958);vec4 i=floor(v+dot(v,vec4(F4)));vec4 x0=v-i+dot(i,C.xxxx);vec4 i0;vec3 isX=step(x0.yzw,x0.xxx);vec3 isYZ=step(x0.zww,x0.yyz);i0.x=isX.x+isX.y+isX.z;i0.yzw=1.0-isX;i0.y+=isYZ.x+isYZ.y;i0.zw+=1.0-isYZ.xy;i0.z+=isYZ.z;i0.w+=1.0-isYZ.z;vec4 i3=clamp(i0,0.0,1.0);vec4 i2=clamp(i0-1.0,0.0,1.0);vec4 i1=clamp(i0-2.0,0.0,1.0);vec4 x1=x0-i1+C.xxxx;vec4 x2=x0-i2+C.yyyy;vec4 x3=x0-i3+C.zzzz;vec4 x4=x0+C.wwww;i=mod289(i);float j0=permute(permute(permute(permute(i.w)+i.z)+i.y)+i.x);vec4 j1=permute(permute(permute(permute(i.w+vec4(i1.w,i2.w,i3.w,1.0))+i.z+vec4(i1.z,i2.z,i3.z,1.0))+i.y+vec4(i1.y,i2.y,i3.y,1.0))+i.x+vec4(i1.x,i2.x,i3.x,1.0));vec4 ip=vec4(1.0/294.0,1.0/49.0,1.0/7.0,0.0);vec4 p0=grad4(j0,ip);vec4 p1=grad4(j1.x,ip);vec4 p2=grad4(j1.y,ip);vec4 p3=grad4(j1.z,ip);vec4 p4=grad4(j1.w,ip);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;p4*=taylorInvSqrt(dot(p4,p4));vec3 values0=vec3(dot(p0,x0),dot(p1,x1),dot(p2,x2));vec2 values1=vec2(dot(p3,x3),dot(p4,x4));vec3 m0=max(0.5-vec3(dot(x0,x0),dot(x1,x1),dot(x2,x2)),0.0);vec2 m1=max(0.5-vec2(dot(x3,x3),dot(x4,x4)),0.0);vec3 temp0=-6.0*m0*m0*values0;vec2 temp1=-6.0*m1*m1*values1;vec3 mmm0=m0*m0*m0;vec2 mmm1=m1*m1*m1;float dx=temp0[0]*x0.x+temp0[1]*x1.x+temp0[2]*x2.x+temp1[0]*x3.x+temp1[1]*x4.x+mmm0[0]*p0.x+mmm0[1]*p1.x+mmm0[2]*p2.x+mmm1[0]*p3.x+mmm1[1]*p4.x;float dy=temp0[0]*x0.y+temp0[1]*x1.y+temp0[2]*x2.y+temp1[0]*x3.y+temp1[1]*x4.y+mmm0[0]*p0.y+mmm0[1]*p1.y+mmm0[2]*p2.y+mmm1[0]*p3.y+mmm1[1]*p4.y;float dz=temp0[0]*x0.z+temp0[1]*x1.z+temp0[2]*x2.z+temp1[0]*x3.z+temp1[1]*x4.z+mmm0[0]*p0.z+mmm0[1]*p1.z+mmm0[2]*p2.z+mmm1[0]*p3.z+mmm1[1]*p4.z;float dw=temp0[0]*x0.w+temp0[1]*x1.w+temp0[2]*x2.w+temp1[0]*x3.w+temp1[1]*x4.w+mmm0[0]*p0.w+mmm0[1]*p1.w+mmm0[2]*p2.w+mmm1[0]*p3.w+mmm1[1]*p4.w;return vec4(dx,dy,dz,dw)*49.0;}vec3 curl(in vec3 p,in float noiseTime,in float persistence){vec4 xNoisePotentialDerivatives=vec4(0.0);vec4 yNoisePotentialDerivatives=vec4(0.0);vec4 zNoisePotentialDerivatives=vec4(0.0);for(int i=0;i<3;++i){float twoPowI=pow(2.0,float(i));float scale=0.5*twoPowI*pow(persistence,float(i));xNoisePotentialDerivatives+=snoise4(vec4(p*twoPowI,noiseTime))*scale;yNoisePotentialDerivatives+=snoise4(vec4((p+vec3(123.4,129845.6,-1239.1))*twoPowI,noiseTime))*scale;zNoisePotentialDerivatives+=snoise4(vec4((p+vec3(-9519.0,9051.0,-123.0))*twoPowI,noiseTime))*scale;}return vec3(zNoisePotentialDerivatives[1]-yNoisePotentialDerivatives[2],xNoisePotentialDerivatives[2]-zNoisePotentialDerivatives[0],yNoisePotentialDerivatives[0]-xNoisePotentialDerivatives[1]);}vec3 permute(vec3 x){return mod(((x*34.0)+1.0)*x,289.0);}float snoise(vec2 v){const vec4 C=vec4(0.211324865405187,0.366025403784439,-0.5
462477350269189626,0.024390243902439);vec2 i=floor(v+dot(v,C.yy));vec2 x0=v-i+dot(i,C.xx);vec2 i1;i1=(x0.x>x0.y)? vec2(1.0,0.0): vec2(0.0,1.0);vec4 x12=x0.xyxy+C.xxzz;x12.xy-=i1;i=mod(i,289.0);vec3 p=permute(permute(i.y+vec3(0.0,i1.y,1.0))+i.x+vec3(0.0,i1.x,1.0));vec3 m=max(0.5-vec3(dot(x0,x0),dot(x12.xy,x12.xy),dot(x12.zw,x12.zw)),0.0);m=m*m;m=m*m;vec3 x=2.0*fract(p*C.www)-1.0;vec3 h=abs(x)-0.5;vec3 ox=floor(x+0.5);vec3 a0=x-ox;m*=1.79284291400159-0.85373472095314*(a0*a0+h*h);vec3 g;g.x=a0.x*x0.x+h.x*x0.y;g.yz=a0.yz*x12.xz+h.yz*x12.yw;return 130.0*dot(m,g);}const int OCTAVES=4;vec3 random3(vec3 c){float j=4096.0*sin(dot(c,vec3(17.0,59.4,15.0)));vec3 r;r.z=fract(512.0*j);j*=.125;r.x=fract(512.0*j);j*=.125;r.y=fract(512.0*j);return r-0.5;}const float F3=0.3333333;const float G3=0.1666667;float snoise(vec3 p){vec3 s=floor(p+dot(p,vec3(F3)));vec3 x=p-s+dot(s,vec3(G3));vec3 e=step(vec3(0.0),x-x.yzx);vec3 i1=e*(1.0-e.zxy);vec3 i2=1.0-e.zxy*(1.0-e);vec3 x1=x-i1+G3;vec3 x2=x-i2+2.0*G3;vec3 x3=x-1.0+3.0*G3;vec4 w,d;w.x=dot(x,x);w.y=dot(x1,x1);w.z=dot(x2,x2);w.w=dot(x3,x3);w=max(0.6-w,0.0);d.x=dot(random3(s),x);d.y=dot(random3(s+i1),x1);d.z=dot(random3(s+i2),x2);d.w=dot(random3(s+1.0),x3);w*=w;w*=w;d*=w;return dot(d,vec4(52.0));}float snoiseFractal(vec3 m){return 0.5333333*snoise(m)+0.2666667*snoise(2.0*m)+0.1333333*snoise(4.0*m)+0.0666667*snoise(8.0*m);}float snoise(vec4 v){const vec2 C=vec2(0.138196601125010504,0.309016994374947451);vec4 i=floor(v+dot(v,C.yyyy));vec4 x0=v-i+dot(i,C.xxxx);vec4 i0;vec3 isX=step(x0.yzw,x0.xxx);vec3 isYZ=step(x0.zww,x0.yyz);i0.x=isX.x+isX.y+isX.z;i0.yzw=1.0-isX;i0.y+=isYZ.x+isYZ.y;i0.zw+=1.0-isYZ.xy;i0.z+=isYZ.z;i0.w+=1.0-isYZ.z;vec4 i3=clamp(i0,0.0,1.0);vec4 i2=clamp(i0-1.0,0.0,1.0);vec4 i1=clamp(i0-2.0,0.0,1.0);vec4 x1=x0-i1+1.0*C.xxxx;vec4 x2=x0-i2+2.0*C.xxxx;vec4 x3=x0-i3+3.0*C.xxxx;vec4 x4=x0-1.0+4.0*C.xxxx;i=mod(i,289.0);float j0=permute(permute(permute(permute(i.w)+i.z)+i.y)+i.x);vec4 j1=permute(permute(permute(permute(i.w+vec4(i1.w,i2.w,i3.w,1.0))+i.z+vec4(i1.z,i2.z,i3.z,1.0))+i.y+vec4(i1.y,i2.y,i3.y,1.0))+i.x+vec4(i1.x,i2.x,i3.x,1.0));vec4 ip=vec4(1.0/294.0,1.0/49.0,1.0/7.0,0.0);vec4 p0=grad4(j0,ip);vec4 p1=grad4(j1.x,ip);vec4 p2=grad4(j1.y,ip);vec4 p3=grad4(j1.z,ip);vec4 p4=grad4(j1.w,ip);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;p4*=taylorInvSqrt(dot(p4,p4));vec3 m0=max(0.6-vec3(dot(x0,x0),dot(x1,x1),dot(x2,x2)),0.0);vec2 m1=max(0.6-vec2(dot(x3,x3),dot(x4,x4)),0.0);m0=m0*m0;m1=m1*m1;return 49.0*(dot(m0*m0,vec3(dot(p0,x0),dot(p1,x1),dot(p2,x2)))+dot(m1*m1,vec2(dot(p3,x3),dot(p4,x4))));}vec3 fade(vec3 t){return t*t*t*(t*(t*6.0-15.0)+10.0);}float cnoise(vec3 P){vec3 Pi0=floor(P);vec3 Pi1=Pi0+vec3(1.0);Pi0=mod(Pi0,289.0);Pi1=mod(Pi1,289.0);vec3 Pf0=fract(P);vec3 Pf1=Pf0-vec3(1.0);vec4 ix=vec4(Pi0.x,Pi1.x,Pi0.x,Pi1.x);vec4 iy=vec4(Pi0.yy,Pi1.yy);vec4 iz0=Pi0.zzzz;vec4 iz1=Pi1.zzzz;vec4 ixy=permute(permute(ix)+iy);vec4 ixy0=permute(ixy+iz0);vec4 ixy1=permute(ixy+iz1);vec4 gx0=ixy0/7.0;vec4 gy0=fract(floor(gx0)/7.0)-0.5;gx0=fract(gx0);vec4 gz0=vec4(0.5)-abs(gx0)-abs(gy0);vec4 sz0=step(gz0,vec4(0.0));gx0-=sz0*(step(0.0,gx0)-0.5);gy0-=sz0*(step(0.0,gy0)-0.5);vec4 gx1=ixy1/7.0;vec4 gy1=fract(floor(gx1)/7.0)-0.5;gx1=fract(gx1);vec4 gz1=vec4(0.5)-abs(gx1)-abs(gy1);vec4 sz1=step(gz1,vec4(0.0));gx1-=sz1*(step(0.0,gx1)-0.5);gy1-=sz1*(step(0.0,gy1)-0.5);vec3 g000=vec3(gx0.x,gy0.x,gz0.x);vec3 g100=vec3(gx0.y,gy0.y,gz0.y);vec3 g010=vec3(gx0.z,gy0.z,gz0.z);vec3 g110=vec3(gx0.w,gy0.w,gz0.w);vec3 g001=vec3(gx1.x,gy1.x,gz1.x);vec3 g101=vec3(gx1.y,gy1.y,gz1.y);vec3 g011=vec3(gx1.z,gy1.z,gz1.z);vec3 g111=vec3(gx1.w,gy1.w,gz1.w);vec4 norm0=taylorInvSqrt(vec4(dot(g000,g000),dot(g010,g010),dot(g100,g100),dot(g110,g110)));g000*=norm0.x;g010*=norm0.y;g100*=norm0.z;g110*=norm0.w;vec4 norm1=taylorInvSqrt(vec4(dot(g001,g001),dot(g011,g011),dot(g101,g101),dot(g111,g111)));g001*=norm1.x;g011*=norm1.y;g101*=norm1.z;g111*=norm1.w;float n000=dot(g000,Pf0);float n100=dot(g100,vec3(Pf1.x,Pf0.yz));float n010=dot(g010,vec3(Pf0.x,Pf1.y,Pf0.z));float n110=dot(g110,vec3(Pf1.xy,Pf0.z));float n001=dot(g001,vec3(Pf0.xy,Pf1.z));float n101=dot(g101,vec3(Pf1.x,Pf0.y,Pf1.z));float n011=dot(g011,vec3(Pf0.x,Pf1.yz));float n111=dot(g111,Pf1);vec3 fade_xyz=fade(Pf0);vec4 n_z=mix(vec4(n000,n100,n010,n110),vec4(n001,n101,n011,n111),fade_xyz.z);vec2 n_yz=mix(n_z.xy,n_z.zw,fade_xyz.y);float n_xyz=mix(n_yz.x,n_yz.y,fade_xyz.x);return 2.2*n_xyz;}float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}void main(){if(uSetup>0.5){gl_FragColor=vec4(0.0,0.0,0.0,1.0);return;}float randomIndex=rand(vUv);float selected=step(uShapeThreshold,randomIndex);vec2 uv=vUv;vec4 velocity=texture2D(tTexture,uv);vec3 currentVelocity=velocity.xyz;vec4 position=texture2D(tPosition,uv);vec3 newVelocity=currentVelocity*uFriction;if(selected>0.5){newVelocity=curl((position.xyz+vec3(randomIndex,0.0,0.0))*uCurlSize,uTime*uCurlNoiseSpeed*0.1+randomIndex,(0.1+(1.0-position.w)*0.1*uCurlNoisePersistence))*uCurlStrength;}else{float dist=length(position.xyz);newVelocity=normalize(position.xyz)*0.025+mix(vec3(0.0),vec3(sin(position.y*uFrequency.x+randomIndex*PI*2.0+uTime*0.5)*uAmplitude.x,cos(position.x*uFrequency.y+(randomIndex+71.2)*PI*2.0+uTime*0.5)*uAmplitude.y,0.0)*0.1,smoothstep(0.1,1.0,dist));}gl_FragColor=vec4(newVelocity,1.0);}`,fce=`#include <default_pars>
4625#include <packing>
4626#ifdef DYNAMIC_SHADOWS
4627#include <shadowmap_pars_vertex>
4628#endif
4629attribute vec3 aRandom;attribute float aScale;attribute vec2 aFboUv;varying float vColorMix;varying vec2 vUv;varying vec2 vFboUv;uniform sampler2D tPosition;uniform sampler2D tVelocity;uniform float uRotationSpeed;uniform float uTime;uniform float uParticleSize;uniform vec2 uScaleRange;uniform vec2 uBrightColorPick;varying float vBrightColorPick;varying mat3 vNormalMatrix;varying mat3 vNormalMatrixInverse;varying float vDistanceFade;varying float vRadiusFade;varying vec2 vScreenSpace;varying vec3 vViewPosition;varying vec3 vPosition;varying vec3 vNormal;varying vec4 vWorldPosition;varying vec3 vRandom;varying float vLife;uniform float uSunDistanceColorStep;uniform vec3 uLightPosition;uniform vec2 uDistanceFadeNearFar;
4630#ifdef DEPTH_PACKING
4631varying vec2 vHighPrecisionZW;
4632#endif
4633mat3 rotate3D(float angle,vec3 axis){axis=normalize(axis);float s=sin(angle);float c=cos(angle);float oc=1.0-c;return mat3(oc*axis.x*axis.x+c,oc*axis.x*axis.y-axis.z*s,oc*axis.z*axis.x+axis.y*s,oc*axis.x*axis.y+axis.z*s,oc*axis.y*axis.y+c,oc*axis.y*axis.z-axis.x*s,oc*axis.z*axis.x-axis.y*s,oc*axis.y*axis.z+axis.x*s,oc*axis.z*axis.z+c);}float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}void main(){vUv=uv;vFboUv=aFboUv;vRandom=aRandom;vec4 particlePosition=texture2D(tPosition,aFboUv);vec3 particleVelocity=texture2D(tVelocity,aFboUv).xyz;vLife=particlePosition.w;vec4 transformedPosition=vec4(position,1.0);mat4 modMatrix=modelMatrix;mat4 newModelViewMatrix=viewMatrix*modMatrix;vec3 up=vec3(newModelViewMatrix[0][1],newModelViewMatrix[1][1],newModelViewMatrix[2][1]);vec3 right=vec3(newModelViewMatrix[0][0],newModelViewMatrix[1][0],newModelViewMatrix[2][0]);transformedPosition.xyz=right*transformedPosition.x+up*transformedPosition.y;
4634#ifdef USE_INSTANCING
4635transformedPosition=instanceMatrix*transformedPosition;
4636#endif
4637float scale=uParticleSize*aScale;scale*=mix(uScaleRange.x,uScaleRange.y,aRandom.x);scale*=mix(1.0,0.0,smoothstep(0.9,1.0,particlePosition.w));scale*=mix(0.0,1.0,smoothstep(0.0,0.20,particlePosition.w));transformedPosition.xyz*=scale;transformedPosition.xyz+=particlePosition.xyz;vPosition=transformedPosition.xyz;vec4 worldPosition=modelMatrix*transformedPosition;vWorldPosition=worldPosition;mat3 normalMatrixInverse=inverse(mat3(normalMatrix));vNormalMatrix=normalMatrix;vNormalMatrixInverse=normalMatrixInverse;vec3 transformedNormal=normal;
4638#ifdef USE_INSTANCING
4639mat3 m=mat3(instanceMatrix);transformedNormal/=vec3(dot(m[0],m[0]),dot(m[1],m[1]),dot(m[2],m[2]));transformedNormal=m*transformedNormal;
4640#endif
4641transformedNormal=normalMatrix*normal;vNormal=normalize(transformedNormal);vNormal=normalize((modelMatrix*vec4(normal,0.0)).xyz);
4642#ifdef DYNAMIC_SHADOWS
4643#include <shadowmap_vertex>
4644#endif
4645vec4 mvPosition=modelViewMatrix*transformedPosition;gl_Position=projectionMatrix*mvPosition;vViewPosition=-mvPosition.xyz;
4646#ifdef DEPTH_PACKING
4647vHighPrecisionZW=gl_Position.zw;
4648#endif
4649vScreenSpace=gl_Position.xy/gl_Position.w*0.5+vec2(0.5);vBrightColorPick=smoothstep(uBrightColorPick.x,uBrightColorPick.y,length(particleVelocity));vColorMix=smoothstep(uSunDistanceColorStep-0.85,uSunDistanceColorStep,distance(vWorldPosition.xyz,uLightPosition));float distFromCamera=length(cameraPosition-worldPosition.xyz);vDistanceFade=smoothstep(uDistanceFadeNearFar.x,uDistanceFadeNearFar.y,distFromCamera);float distFromCenter=length(particlePosition.xyz);float fade=1.0-smoothstep(2.7,3.0,distFromCenter);vRadiusFade=fade;}`,dce=`#include <default_pars>
4650#include <default_frag_pars>
4651#include <packing>
4652varying vec3 vRandom;varying vec2 vUv;varying float vLife;varying vec2 vFboUv;varying float vColorMix;varying float vDistanceFade;varying float vRadiusFade;varying mat3 vNormalMatrix;varying mat3 vNormalMatrixInverse;varying vec3 vViewPosition;varying vec3 vPosition;varying vec2 vScreenSpace;varying vec3 vNormal;varying vec4 vWorldPosition;varying float vBrightColorPick;uniform sampler2D tNormal;uniform vec3 uLightPosition;uniform vec3 uLightColor;uniform float uLightIntensity;uniform float uSpecularIntensity;uniform vec3 uLightPosition2;uniform vec3 uLightColor2;uniform float uLightIntensity2;uniform float uSpecularIntensity2;uniform vec3 uAmbientColor1;uniform vec3 uAmbientColor2;uniform vec3 uBaseColor;uniform vec3 uBaseColor2;uniform float uShininess;uniform vec3 uBloomColor1;uniform vec3 uBloomColor2;uniform vec3 uEdgeColor1;uniform vec3 uEdgeColor2;uniform vec2 uEdgeColorStop;uniform float uGradientStrength;uniform float uRandomHighlightSelect;uniform vec3 uRandomHighlightColor;uniform vec3 uRandomHighlightBaseColor;uniform sampler2D tClouds;uniform float uCloudsFadeIntensity;uniform bool uDebugDistanceFade;uniform bool uDebugCloudsFade;uniform float uOpacity;
4653#ifdef DYNAMIC_SHADOWS
4654uniform bool uDebugShadow;uniform bool receiveShadow;
4655#include <shadowmap_pars_fragment>
4656#include <shadowmask_pars_fragment>
4657uniform vec3 uShadowColor;uniform vec3 uShadowColor2;uniform float uShadowIntensity;
4658#endif
4659#ifdef DEPTH_PACKING
4660varying vec2 vHighPrecisionZW;
4661#endif
4662float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}float circle(in vec2 _st,in float _radius,in float _blur){vec2 dist=_st-vec2(0.5);return 1.-smoothstep(_radius-(_radius*_blur),_radius+(_radius*0.01),dot(dist,dist)*4.0);}void main(){float alpha=1.0-step(0.9,2.0*length(vUv-0.5));if(alpha<0.5)discard;
4663#ifdef DEPTH_PACKING
4664gl_FragColor=vec4(vec3(1.),1.0);
4665#else
4666float cloudsSample=texture2D(tClouds,vScreenSpace).r;alpha*=mix(1.0,pow(1.0-cloudsSample,uCloudsFadeIntensity),vDistanceFade);alpha*=vRadiusFade;if(alpha<0.01)discard;vec3 lightDirection1=normalize(uLightPosition-vWorldPosition.xyz);vec3 lightDirection2=normalize(uLightPosition2-vWorldPosition.xyz);vec3 normal=texture2D(tNormal,vUv).xyz*2.0-1.0;normal.y*=-1.0;normal=normalize(normal);vec3 randoms=vec3(map(vRandom.x,0.,1.,0.4,1.25),map(vRandom.y,0.,1.,0.2,1.8),map(vRandom.z,0.,1.,0.2,1.8));vec3 ambientColor=mix(uAmbientColor1,uAmbientColor2,vColorMix);vec3 baseColor=mix(uBaseColor,uBaseColor2,vColorMix);baseColor.rgb*=randoms.x;vec3 edgeColor=mix(uEdgeColor1,uEdgeColor2,vColorMix);vec3 bloomColor=mix(uBloomColor1,uBloomColor2,vColorMix);baseColor=mix(baseColor,edgeColor,smoothstep(uEdgeColorStop.x,uEdgeColorStop.y,length(vPosition)));float diff=max(dot(normal,lightDirection1),0.0);float diff2=max(dot(normal,lightDirection2),0.0);vec3 diffuse=diff*uLightColor*uLightIntensity;diffuse=mix(diffuse,diff2*uLightColor2*uLightIntensity2,diff2*uLightIntensity2);vec3 viewDir=normalize(cameraPosition-vWorldPosition.xyz);vec3 reflectDir1=reflect(-lightDirection1,normal.rgb);float spec=pow(max(dot(viewDir,reflectDir1),0.0),uShininess)*uSpecularIntensity;float spec2=pow(max(dot(viewDir,reflect(-lightDirection2,normal.rgb)),0.0),uShininess)*uSpecularIntensity2;vec3 specular=spec*uLightColor;specular=mix(specular,spec2*uLightColor2,spec2);vec3 phongColor=(ambientColor+diffuse)*baseColor+specular;gl_FragColor=vec4(phongColor,alpha);gl_FragColor.rgb=mix(gl_FragColor.rgb,gl_FragColor.rgb+bloomColor,vBrightColorPick);gl_FragColor.rgb=mix(gl_FragColor.rgb,uRandomHighlightBaseColor+uRandomHighlightColor,step(uRandomHighlightSelect,vRandom.x));if(uDebugDistanceFade){gl_FragColor=vec4(vec3(vDistanceFade),1.0);}else if(uDebugCloudsFade){gl_FragColor=vec4(vec3(pow(1.0-cloudsSample,uCloudsFadeIntensity)),1.0);}
4667#endif
4668#ifdef DEPTH_PACKING
4669float fragCoordZ=0.5*vHighPrecisionZW[0]/vHighPrecisionZW[1]+0.5;gl_FragColor=packDepthToRGBA(fragCoordZ);
4670#else
4671#ifdef DYNAMIC_SHADOWS
4672gl_FragColor.rgb=mix(gl_FragColor.rgb,gl_FragColor.rgb*mix(uShadowColor,uShadowColor2,vColorMix),(1.0-getShadowMask())*uShadowIntensity);if(uDebugShadow){gl_FragColor.rgb=vec3(getShadowMask());}
4673#endif
4674#endif
4675#include <tonemapping_fragment>
4676#include <colorspace_fragment>
4677}`;class hce extends is{constructor(e={}){e=An({vertexShader:fce,fragmentShader:dce,uniforms:{tPosition:{value:null},uParticleSize:{value:.25,gui:{step:.01}},uScaleRange:{value:new Re(.5,1),gui:{min:0,max:5,step:.01}},uOpacity:{value:1,gui:{min:0,max:1,step:.01}},uAmbientColor1:{value:new ke(4210752)},uAmbientColor2:{value:new ke(4210752)},uBaseColor:{value:new ke(4210752)},uBaseColor2:{value:new ke(4210752)},uEdgeColor1:{value:new ke(0)},uEdgeColor2:{value:new ke(0)},uEdgeColorStop:{value:new Re(.2,.7),gui:{min:0,max:5,step:.01}},uRandomHighlightSelect:{value:.95,gui:{min:0,max:1,step:.01}},uRandomHighlightBaseColor:{value:new ke(4210752)},uRandomHighlightColor:{value:new K(1,1.2,.6),gui:{min:0,max:10,step:.01}},uBloomColor1:{value:new ke(4210752)},uBloomColor2:{value:new ke(4210752)},uBrightColorPick:{value:new Re(1.7,2.3),gui:{min:0,max:5,step:.01}},uSunDistanceColorStep:{value:18,gui:{min:0,step:.01}},uShininess:{value:30,gui:{min:0,max:200,step:1}},uLightIntensity:{value:1,gui:{min:0,max:10,step:.01}},uSpecularIntensity:{value:1,gui:{min:0,max:10,step:.01}},uLightColor:{value:new ke(16777215)},uLightIntensity2:{value:1,gui:{min:0,max:10,step:.01}},uLightColor2:{value:new ke(16777215)},uSpecularIntensity2:{value:1,gui:{min:0,max:10,step:.01}},uDebugShadow:{value:!1},tClouds:{value:null},uCloudsFadeIntensity:{value:8,gui:{min:0,max:20,step:.1}},uDistanceFadeNearFar:{value:new Re(.2,-1.08),gui:{min:2,step:.01}},uDebugDistanceFade:{value:!1},uDebugCloudsFade:{value:!1},...Ke.lights},lights:!0,defines:{DEPTH_PACKING:!1,DYNAMIC_SHADOWS:!0},depthTest:!0,transparent:!0},e),super(e)}}class pce extends uo(){constructor(e={}){e=An({name:"LandingOrbParticles",textureWidth:256,maxParticleCount:256*256,planeScale:.1,speed:.005,scrollResponsiveness:.05,scrollMaxSpeed:2},e),super(e),this._textureWidth=this.options.textureWidth,this.PARTICLE_COUNT=this._textureWidth*this._textureWidth,this.ACTIVE_PARTICLE_COUNT=this.PARTICLE_COUNT>this.options.maxParticleCount?this.options.maxParticleCount:this.PARTICLE_COUNT,this.sizeRange=[.5,
46771],this.scrollSpeedMultiplier=1}build(){this.velocitySim=new Qr({fragmentShader:uce,width:this._textureWidth,height:this._textureWidth,uniforms:{tPosition:{value:null},tOriginalPosition:{value:null},uSetup:{value:1},uFriction:{value:0,gui:{min:0,max:1,step:.001}},uShapeThreshold:{value:.25,gui:{min:0,max:1,step:.001}},uCurlSize:{value:.5,gui:{min:0,max:2,step:.01}},uCurlNoiseSpeed:{value:.3,gui:{min:0,max:5,step:.01}},uCurlStrength:{value:.03,gui:{min:0,max:2,step:.001}},uCurlNoisePersistence:{value:.03,gui:{min:0,max:2,step:.001}},uFrequency:{value:new Re(15,8),gui:{min:0,step:.01}},uAmplitude:{value:new Re(.1,.1),gui:{min:0,max:1,step:.001}},tFluidSim:{value:S.WebGL.fluidSim.advectionSimVelocity.texture},uFluidStrength:{value:.25,gui:{min:0,step:.001}},uModelMatrix:{value:new Ct},uViewMatrix:{value:this.parent.activeCamera.matrixWorldInverse},uProjectionMatrix:{value:this.parent.activeCamera.projectionMatrix}},createTexture:!1,type:Zt}),this.velocitySim.uniforms.uSetup.value=0,this.positionSim=new Qr({fragmentShader:cce,width:this._textureWidth,height:this._textureWidth,uniforms:{tVelocity:{value:this.velocitySim.texture},uSetup:{value:1},uDecay:{value:.01,gui:{min:0,max:1,step:.001}},uDecay2:{value:.01,gui:{min:0,max:1,step:.001}},uLerpSpeed:{value:.2,gui:{min:0,max:1,step:.001}},uLerpSpeed2:{value:.2,gui:{min:0,max:1,step:.001}},uRadius:{value:2.85,gui:{min:0,max:5,step:.01}},uShapeThreshold:this.velocitySim.uniforms.uShapeThreshold,tFluidSim:{value:S.WebGL.fluidSim.advectionSimVelocity.texture},uFluidStrength:{value:.25,gui:{min:0,step:.001}},uModelMatrix:{value:new Ct},uViewMatrix:{value:this.parent.activeCamera.matrixWorldInverse},uProjectionMatrix:{value:this.parent.activeCamera.projectionMatrix}},createTexture:!0,data:this.createParticlePositionData(),type:Zt}),this.positionSim.uniforms.uSetup.value=0,this.velocitySim.uniforms.tOriginalPosition.value=this.positionSim.originalTexture,this.mesh=new Tp(new lo(this.options.planeScale,this.options.planeScale),new hce({uniforms:{tNormal:{value:this.assets.textures.normal},uShapeThreshold:this.velocitySim.uniforms.uShapeThreshold,tClouds:{value:null},tVelocity:{value:this.velocitySim.texture},tPosition:{value:this.positionSim.texture},...this.parent.globalUniforms.shadow,...this.parent.globalUniforms.sun}}),this.ACTIVE_PARTICLE_COUNT),this.add(this.mesh),this.mesh.name=this.options.name,this.mesh.frustumCulled=!1,this.mesh.customDepthMaterial=new Cn({vertexShader:this.mesh.material.vertexShader,fragmentShader:this.mesh.material.fragmentShader,uniforms:this.mesh.material.uniforms,defines:{DEPTH_PACKING:Jx}});const e=[],t=new Float32Array(this.ACTIVE_PARTICLE_COUNT),i=new Wt;for(let r=0;r<this.ACTIVE_PARTICLE_COUNT;r++)i.updateMatrix(),this.mesh.setMatrixAt(r,i.matrix),e.push(Math.random(),Math.random(),Math.random()),t[r]=gn.randFloat(this.sizeRange[0],this.sizeRange[1]);this.mesh.geometry.setAttribute("aFboUv",this.positionSim.fboUv.attributeInstanced),this.mesh.geometry.setAttribute("aRandom",new Ro(new Float32Array(e),3)),this.mesh.geometry.setAttribute("aScale",new Ro(t,1)),this.mesh.renderOrder=10,this.mesh.castShadow=!0,this.mesh.receiveShadow=!0,this.mesh.updateMatrix(),this.velocitySim.uniforms.uModelMatrix.value=this.mesh.matrixWorld,this.positionSim.uniforms.uModelMatrix.value=this.mesh.matrixWorld}createParticlePositionData(){const e=new Float32Array(this._textureWidth*this._textureWidth*4),t=.1;for(let i=0,r=this._textureWidth*this._textureWidth*4;i<r;i+=4){const s=Math.random()*Math.PI*2,o=Math.random()*2-1,a=gn.mapLinear(Math.random(),0,1,.6,1),l=Math.acos(o),c=t*Math.cbrt(a);e[i]=c*Math.sin(l)*Math.cos(s),e[i+1]=c*Math.sin(l)*Math.sin(s),e[i+2]=c*Math.cos(l),e[i+3]=(gn.seededRandom(o)+Math.random())*.5}return e}update(){this.velocitySim.uniforms.tFluidSim.value=S.WebGL.fluidSim.advectionSimVelocity.texture,this.velocitySim.uniforms.tPosition.value=this.positionSim.texture,this.velocitySim.uniforms.uModelMatrix.value.copy(this.mesh.matrixWorld),this.velocitySim.uniforms.uViewM
4677atrix.value.copy(this.parent.activeCamera.matrixWorldInverse),this.velocitySim.uniforms.uProjectionMatrix.value.copy(this.parent.activeCamera.projectionMatrix),this.velocitySim.update(),this.positionSim.uniforms.tVelocity.value=this.velocitySim.texture,this.positionSim.uniforms.tFluidSim.value=S.WebGL.fluidSim.advectionSimVelocity.texture,this.positionSim.uniforms.uModelMatrix.value.copy(this.mesh.matrixWorld),this.positionSim.uniforms.uViewMatrix.value.copy(this.parent.activeCamera.matrixWorldInverse),this.positionSim.uniforms.uProjectionMatrix.value.copy(this.parent.activeCamera.projectionMatrix),this.positionSim.update(),this.updateScrollRotation(this.parent.scrollVelocity),this.mesh.rotation.y+=this.options.speed*this.scrollSpeedMultiplier,this.mesh.material.uniforms.tPosition.value=this.positionSim.texture,this.mesh.material.uniforms.tVelocity.value=this.velocitySim.texture,this.mesh.material.uniforms.tClouds.value=this.parent.components.orb.cloudsRT.texture}updateScrollRotation(e){this.scrollSpeedMultiplier=1+Math.abs(e)*this.options.scrollResponsiveness,this.scrollSpeedMultiplier=gn.clamp(this.scrollSpeedMultiplier,1,this.options.scrollMaxSpeed)}addGui(){const e={rotationSpeed:Te.types.number(this.options.speed,{label:"Rotation Speed",nudgeMultiplier:1e-4,range:[0,.1]}),count:Te.types.number(this.mesh.count,{label:"Particle Count",nudgeMultiplier:1,range:[0,this.ACTIVE_PARTICLE_COUNT]}),simulation:{}},t=["uShapeThreshold","tClouds",...Object.keys(this.parent.globalUniforms.sun),...Object.keys(this.parent.globalUniforms.shadow)],i=["uSetup","uTexelSize","tVelocity","tPosition"],r=S.theatre.helper.autoAddUniforms(e.simulation,this.positionSim.uniforms,i),s=S.theatre.helper.autoAddUniforms(e.simulation,this.velocitySim.uniforms,i);S.theatre.helper.autoAddObject(this.mesh,this.parent.prettyName,{exclude:t,additionalConfig:e}).onValuesChange(a=>{for(let l=0;l<r.length;l++)r[l](this,a.simulation);for(let l=0;l<s.length;l++)s[l](this,a.simulation);this.mesh.count=a.count,this.options.speed=a.rotationSpeed},S.theatre.rafDriver)}load(){S.AssetLoader.loadTexture("webgl/textures/normalMapSphere.jpg",{flipY:!1,wrapping:ts,colorSpace:mi}).then(e=>{this.assets.textures.normal=e})}destroy(){var e,t;super.destroy(),this.parent.remove(this),this.remove(this.mesh),this.velocitySim.destroy(),this.positionSim.destroy(),this.mesh.geometry.dispose(),this.mesh.material.dispose(),(e=this.mesh.material.uniforms.tNormal.value)==null||e.dispose(),(t=this.mesh.material.uniforms.tClouds.value)==null||t.dispose(),this.mesh.customDepthMaterial.dispose(),this.assets.textures.normal.dispose(),this.scrollSpeedMultiplier=1}}var mce=`#include <default_pars>
4678#include <normals_tangents_vert_pars>
4679#include <world_position_transform_vert_pars>
4680varying vec2 vUv;varying vec2 vScreenSpace;varying vec3 vView;varying vec3 vPosition;uniform float uTime;uniform float uRevealProgress;void main(){vUv=uv;vPosition=position;vec4 transformedPosition=vec4(position,1.0);vec3 objectNormal=vec3(normal);vec3 objectTangent=vec3(tangent.xyz);vec3 transformedNormal=objectNormal;transformedNormal=normalMatrix*transformedNormal;vec3 transformedTangent=(modelViewMatrix*vec4(objectTangent,0.0)).xyz;vNormal=normalize(transformedNormal);vTangent=normalize(transformedTangent);vBitangent=normalize(cross(vNormal,vTangent)*tangent.w);vec4 worldPosition=modelMatrix*transformedPosition;vec4 mvPosition=viewMatrix*worldPosition;vViewPosition=-mvPosition.xyz;vWorldPosition=worldPosition;vView=normalize(cameraPosition-worldPosition.xyz);vNormal=normalize((modelMatrix*vec4(normal,0.0)).xyz);gl_Position=projectionMatrix*mvPosition;vScreenSpace=gl_Position.xy/gl_Position.w*0.5+vec2(0.5);}`,gce=`#include <default_pars>
4681#include <default_frag_pars>
4682#include <tonemapping_pars_fragment>
4683uniform int uToneMapping;varying vec2 vUv;varying vec2 vScreenSpace;varying vec3 vView;varying vec3 vViewPosition;varying vec3 vPosition;varying vec4 vWorldPosition;varying vec3 vNormal;
4684#ifdef RENDER_CLOUDS
4685uniform vec3 uCloudNoiseScale;uniform float uCloudNoiseSpeed;
4686#else
4687uniform sampler2D tClouds;
4688#endif
4689uniform float uTime;uniform float uColorFresnelAmount;uniform float uColorFresnelOffset;uniform float uColorFresnelFalloff;uniform float uOpacityFresnelAmount;uniform float uOpacityFresnelOffset;uniform float uOpacityFresnelFalloff;uniform bool uDevCameraActive;uniform bool uDebugClouds;uniform vec2 uCloudsSmoothstep;uniform vec3 uCloudsColor;uniform float uOpacity;uniform vec3 uFresnelColor;uniform vec3 uLightPosition;uniform vec3 uLightColor;uniform float uLightIntensity;uniform float uSpecularIntensity;uniform vec3 uLightPosition2;uniform vec3 uLightColor2;uniform float uLightIntensity2;uniform float uSpecularIntensity2;uniform vec3 uAmbientColor;uniform float uShininess;float fresnelFunc(float amount,float offset,float falloff,vec3 normal,vec3 view){return clamp(offset+(1.0-offset)*pow(1.0-dot(normal,view),amount)*falloff,0.,1.);}float random(in vec2 st){return fract(sin(dot(st.xy,vec2(12.9898,78.233)))*43758.5453123);}
4689float mod289(float x){return x-floor(x*(1.0/289.0))*289.0;}vec4 mod289(vec4 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 perm(vec4 x){return mod289(((x*34.0)+1.0)*x);}float noise(vec3 p){vec3 a=floor(p);vec3 d=p-a;d=d*d*(3.0-2.0*d);vec4 b=a.xxyy+vec4(0.0,1.0,0.0,1.0);vec4 k1=perm(b.xyxy);vec4 k2=perm(k1.xyxy+b.zzww);vec4 c=k2+a.zzzz;vec4 k3=perm(c);vec4 k4=perm(c+1.0);vec4 o1=fract(k3*(1.0/41.0));vec4 o2=fract(k4*(1.0/41.0));vec4 o3=o2*d.z+o1*(1.0-d.z);vec2 o4=o3.yw*d.x+o3.xz*(1.0-d.x);return o4.y*d.y+o4.x*(1.0-d.y);}
4690#define NUM_OCTAVES 5
4691float fbm(vec3 x){float v=0.0;float a=0.5;vec3 shift=vec3(100);for(int i=0;i<NUM_OCTAVES;++i){v+=a*noise(x);x=x*2.0+shift;a*=0.5;}return v;}vec3 getColorRampColor(float factor,float stop1,float stop2,float stop3,vec3 firstColor,vec3 middleColor,vec3 endColor){vec3 color=mix(firstColor,middleColor,smoothstep(stop1,stop2,factor));color=mix(color,endColor,smoothstep(stop2,stop3,factor));return color;}void main(){
4692#ifdef RENDER_CLOUDS
4693float cloudsSample=fbm(vec3(vPosition.xyz*uCloudNoiseScale+vec3(0.0,0.0,uTime*uCloudNoiseSpeed)));gl_FragColor=vec4(vec3(cloudsSample),1.0);return;
4694#else
4695vec3 normal=normalize(vNormal);vec3 viewDir=normalize(vView);vec3 lightDir=normalize(uLightPosition-vViewPosition);vec3 ambient=uAmbientColor;float noiseColor=texture2D(tClouds,vScreenSpace).r;float clouds=smoothstep(0.15,0.9,noiseColor);ambient=mix(ambient*uCloudsColor,ambient,clouds);float diff=max(dot(normal,lightDir),0.0);float diff2=max(dot(normal,normalize(uLightPosition2-vViewPosition)),0.0);vec3 diffuse=diff*uLightColor*uLightIntensity;diffuse=mix(diffuse,diff2*uLightColor2*uLightIntensity2,diff2);vec3 reflectDir=reflect(-lightDir,normal);float spec=pow(max(dot(viewDir,reflectDir),0.0),uShininess)*uSpecularIntensity;float spec2=pow(max(dot(viewDir,reflect(-normalize(uLightPosition2-vViewPosition),normal)),0.0),uShininess)*uSpecularIntensity2;vec3 specular=spec*uLightColor;specular=mix(specular,spec2*uLightColor2,spec2);vec3 phongColor=ambient+diffuse+specular;float colorFresnel=fresnelFunc(uColorFresnelAmount,uColorFresnelOffset,uColorFresnelFalloff,normal,viewDir);float opacityFresnel=fresnelFunc(uOpacityFresnelAmount,uOpacityFresnelOffset,uOpacityFresnelFalloff,normal,viewDir);float cloudsAlpha=smoothstep(uCloudsSmoothstep.x,uCloudsSmoothstep.y,noiseColor);gl_FragColor.rgb=vec3(mix(phongColor,uFresnelColor,colorFresnel));gl_FragColor.a=max(cloudsAlpha*uOpacity,opacityFresnel);if(uDebugClouds){gl_FragColor.rgb=vec3(cloudsAlpha);gl_FragColor.a=1.0;}
4696#include <tonemapping_frag>
4697#include <colorspace_fragment>
4698#endif
4699}`;class Ace extends is{constructor(e={}){e=An({vertexShader:mce,fragmentShader:gce,uniforms:{uColorFresnelAmount:{value:0,gui:{min:0,max:100,step:.01}},uColorFresnelOffset:{value:.05,gui:{min:0,max:1,step:.001}},uColorFresnelFalloff:{value:1,gui:{min:0,max:100,step:.01}},uOpacityFresnelAmount:{value:1.82,gui:{min:0,max:100,step:.01}},uOpacityFresnelOffset:{value:.009,gui:{min:0,max:1,step:.001}},uOpacityFresnelFalloff:{value:1.75,gui:{min:0,max:100,step:.01}},uOpacity:{value:1,gui:{min:0,max:1,step:.01}},uFresnelColor:{value:new ke(16777215)},uAmbientColor:{value:new ke(4210752)},uCloudsColor:{value:new ke(0)},tClouds:{value:null},uDebugClouds:{value:!1},uCloudsSmoothstep:{value:new Re(.1,.6),gui:{min:0,max:1,step:.01}},uCloudNoiseScale:{value:new K(5,5,5),gui:{min:0,step:.1}},uCloudNoiseSpeed:{value:.1,gui:{min:0,max:1,step:.01}},uShininess:{value:30,gui:{min:0,max:200,step:1}},uLightPosition:{value:new K(1,1,1)},uLightPosition2:{value:new K(1,1,1)},uLightIntensity:{value:1,gui:{min:0,max:2,step:.01}},uSpecularIntensity:{value:1,gui:{min:0,max:2,step:.01}},uLightColor:{value:new ke(16777215)},uLightIntensity2:{value:1,gui:{min:0,max:2,step:.01}},uSpecularIntensity2:{value:1,gui:{min:0,max:2,step:.01}},uLightColor2:{value:new ke(16777215)}},defines:{RENDER_CLOUDS:!1},transparent:!0,depthWrite:!1},e),super(e)}}class vce extends uo(Qe){constructor(){super({name:"Landing Orb",scrollResponsiveness:.05,scrollMaxSpeed:3},new Hd(1,32,32),new Jr),this.scale.setScalar(3),this.speed=.002,this.scrollSpeedMultiplier=1}build(){var t;const e=S.WebGL.renderer.getPixelRatio();this.cloudsRT=new li(S.window.w*e,S.window.h*e,{minFilter:Yt,maxfilter:Yt}),(t=S.WebGL.rtViewer)==null||t.registerRT(this.cloudsRT,"clouds"),this.mainMaterial=new Ace,this.material=this.mainMaterial,this.cloudsMaterial=new Cn({vertexShader:this.mainMaterial.vertexShader,fragmentShader:this.mainMaterial.fragmentShader,uniforms:this.mainMaterial.uniforms,defines:{RENDER_CLOUDS:!0}})}update(){this.updateScrollRotation(this.parent.scrollVelocity),this.rotation.y+=this.speed*this.scrollSpeedMultiplier,this.material=this.cloudsMaterial;const e=S.WebGL.renderer.getRenderTarget();S.WebGL.renderer.setRenderTarget(this.cloudsRT),S.WebGL.renderer.render(this,this.parent.activeCamera),S.WebGL.renderer.setRenderTarget(e),this.material=this.mainMaterial,this.mainMaterial.uniforms.tClouds.value=this.cloudsRT.texture}updateScrollRotation(e){this.scrollSpeedMultiplier=1+Math.abs(e)*this.options.scrollResponsiveness,this.scrollSpeedMultiplier=gn.clamp(this.scrollSpeedMultiplier,1,this.options.scrollMaxSpeed)}resize(){const e=S.WebGL.renderer.getPixelRatio();this.cloudsRT.setSize(S.window.w*e,S.window.h*e)}load(){}addGui(){const e={rotationSpeed:Te.types.number(this.speed,{label:"Rotation Speed",nudgeMultiplier:.001,range:[-.1,.1]})};S.theatre.helper.autoAddObject(this,this.parent.prettyName,{additionalConfig:e}).onValuesChange(i=>{this.speed=i.rotationSpeed},S.theatre.rafDriver)}destroy(){super.destroy(),this.parent.remove(this),this.geometry.dispose(),this.mainMaterial.dispose(),this.cloudsMaterial.dispose(),this.cloudsRT.dispose(),this.scrollSpeedMultiplier=1}}var yce=`#include <default_pars>
4700varying vec2 vUv;uniform sampler2D tOriginalTexture;uniform sampler2D tTexture;uniform float uTime;uniform float uNormalizedDelta;uniform float uIntroAnimation;uniform float uDecay;uniform float uLerpSpeed;uniform sampler2D tFluidSim;uniform float uFluidStrength;uniform mat4 uModelMatrix;uniform mat4 uViewMatrix;uniform mat4 uProjectionMatrix;uniform float uSetup;float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}vec4 permute(vec4 x){return mod(((x*34.0)+1.0)*x,289.0);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}vec2 fade(vec2 t){return t*t*t*(t*(t*6.0-15.0)+10.0);}float cnoise(vec2 P){vec4 Pi=floor(P.xyxy)+vec4(0.0,0.0,1.0,1.0);vec4 Pf=fract(P.xyxy)-vec4(0.0,0.0,1.0,1.0);Pi=mod(Pi,289.0);vec4 ix=Pi.xzxz;vec4 iy=Pi.yyww;vec4 fx=Pf.xzxz;vec4 fy=Pf.yyww;vec4 i=permute(permute(ix)+iy);vec4 gx=2.0*fract(i*0.0243902439)-1.0;vec4 gy=abs(gx)-0.5;vec4 tx=floor(gx+0.5);gx=gx-tx;vec2 g00=vec2(gx.x,gy.x);vec2 g10=vec2(gx.y,gy.y);vec2 g01=vec2(gx.z,gy.z);vec2 g11=vec2(gx.w,gy.w);vec4 norm=1.79284291400159-0.85373472095314*vec4(dot(g00,g00),dot(g01,g01),dot(g10,g10),dot(g11,g11));g00*=norm.x;g01*=norm.y;g10*=norm.z;g11*=norm.w;float n00=dot(g00,vec2(fx.x,fy.x));float n10=dot(g10,vec2(fx.y,fy.y));float n01=dot(g01,vec2(fx.z,fy.z));float n11=dot(g11,vec2(fx.w,fy.w));vec2 fade_xy=fade(Pf.xy);vec2 n_x=mix(vec2(n00,n01),vec2(n10,n11),fade_xy.x);float n_xy=mix(n_x.x,n_x.y,fade_xy.y);return 2.3*n_xy;}mat3 rotate3D(float angle,vec3 axis){axis=normalize(axis);float s=sin(angle);float c=cos(angle);float oc=1.0-c;return mat3(oc*axis.x*axis.x+c,oc*axis.x*axis.y-axis.z*s,oc*axis.z*axis.x+axis.y*s,oc*axis.x*axis.y+axis.z*s,oc*axis.y*axis.y+c,oc*axis.y*axis.z-axis.x*s,oc*axis.z*axis.x-axis.y*s,oc*axis.y*axis.z+axis.x*s,oc*axis.z*axis.z+c);}void main(){vec2 uv=vUv;mat3 rotation3D=rotate3D(0.001*uNormalizedDelta,vec3(0.0,0.0,1.0));vec4 originalPosFetch=texture2D(tOriginalTexture,uv);vec3 offsets=originalPosFetch.xyz;float angle=originalPosFetch.w;float randomIndex=rand(vUv);float randomIndex2=rand(vUv+484854.);vec4 position=texture2D(tTexture,uv);vec3 currentPos=position.xyz;float life=position.w;currentPos=rotation3D*currentPos;if(uSetup>0.5){gl_FragColor=vec4(offsets+normalize(offsets)*angle*map(randomIndex,0.0,1.0,0.1,0.6),cnoise(uv*50.+vec2(uv.x,2.0))*0.5+0.5);return;}if(life<0.0){gl_FragColor=vec4(offsets,1.0);return;}vec4 earlyViewPosition=uViewMatrix*uModelMatrix*vec4(currentPos,1.0);vec4 earlyProjection=uProjectionMatrix*earlyViewPosition;vec2 screenPos=earlyProjection.xy/earlyProjection.w*0.5+0.5;vec3 direction=normalize(offsets);
4700currentPos+=direction*uNormalizedDelta*uLerpSpeed*0.1*angle*map(randomIndex,0.0,1.0,0.1,0.6)*uIntroAnimation;vec3 fluidDisplacement=vec3(0.);fluidDisplacement=texture2D(tFluidSim,screenPos).rgb;fluidDisplacement.z*=-1.+1.;life-=uDecay*uNormalizedDelta*0.1*(randomIndex2*0.5+0.5);gl_FragColor=vec4(currentPos+fluidDisplacement*uFluidStrength,life);}`,_ce=`#include <default_pars>
4701#include <packing>
4702#ifdef DYNAMIC_SHADOWS
4703#include <shadowmap_pars_vertex>
4704#endif
4705attribute vec3 aRandom;attribute float aScale;attribute vec2 aFboUv;varying float vColorMix;varying vec2 vUv;varying vec2 vFboUv;uniform sampler2D tPosition;uniform float uTime;uniform float uParticleSize;uniform vec2 uScaleRange;varying mat3 vNormalMatrix;varying mat3 vNormalMatrixInverse;varying float vCenterFade;varying vec2 vScreenSpace;varying vec3 vViewPosition;varying vec3 vPosition;varying vec3 vNormal;varying vec4 vWorldPosition;varying vec3 vRandom;varying float vLife;uniform vec2 uCenterFade;
4706#ifdef DEPTH_PACKING
4707varying vec2 vHighPrecisionZW;
4708#endif
4709mat3 rotate3D(float angle,vec3 axis){axis=normalize(axis);float s=sin(angle);float c=cos(angle);float oc=1.0-c;return mat3(oc*axis.x*axis.x+c,oc*axis.x*axis.y-axis.z*s,oc*axis.z*axis.x+axis.y*s,oc*axis.x*axis.y+axis.z*s,oc*axis.y*axis.y+c,oc*axis.y*axis.z-axis.x*s,oc*axis.z*axis.x-axis.y*s,oc*axis.y*axis.z+axis.x*s,oc*axis.z*axis.z+c);}float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}void main(){vUv=uv;vFboUv=aFboUv;vRandom=aRandom;vec4 particlePosition=texture2D(tPosition,aFboUv);vLife=particlePosition.w;vec4 transformedPosition=vec4(position,1.0);vec3 up=vec3(modelViewMatrix[0][1],modelViewMatrix[1][1],modelViewMatrix[2][1]);vec3 right=vec3(modelViewMatrix[0][0],modelViewMatrix[1][0],modelViewMatrix[2][0]);transformedPosition.xyz=right*transformedPosition.x+up*transformedPosition.y;
4710#ifdef USE_INSTANCING
4711transformedPosition=instanceMatrix*transformedPosition;
4712#endif
4713float scale=uParticleSize*aScale;scale*=mix(uScaleRange.x,uScaleRange.y,aRandom.x);scale*=mix(1.0,0.0,smoothstep(0.8,1.0,particlePosition.w));scale*=mix(0.0,1.0,smoothstep(0.0,0.40,particlePosition.w));transformedPosition.xyz*=scale;transformedPosition.xyz+=particlePosition.xyz;vPosition=transformedPosition.xyz;vec4 worldPosition=modelMatrix*transformedPosition;vWorldPosition=worldPosition;mat3 normalMatrixInverse=inverse(mat3(normalMatrix));vNormalMatrix=normalMatrix;vNormalMatrixInverse=normalMatrixInverse;vec3 transformedNormal=normal;
4714#ifdef USE_INSTANCING
4715mat3 m=mat3(instanceMatrix);transformedNormal/=vec3(dot(m[0],m[0]),dot(m[1],m[1]),dot(m[2],m[2]));transformedNormal=m*transformedNormal;
4716#endif
4717transformedNormal=normalMatrix*normal;vNormal=normalize(transformedNormal);
4718#ifdef DYNAMIC_SHADOWS
4719#include <shadowmap_vertex>
4720#endif
4721vec4 mvPosition=modelViewMatrix*transformedPosition;gl_Position=projectionMatrix*mvPosition;vViewPosition=-mvPosition.xyz;
4722#ifdef DEPTH_PACKING
4723vHighPrecisionZW=gl_Position.zw;
4724#endif
4725vScreenSpace=gl_Position.xy/gl_Position.w*0.5+vec2(0.5);vCenterFade=smoothstep(uCenterFade.x,uCenterFade.y,length(vPosition.xyz));}`,bce=`#include <default_pars>
4726#include <default_frag_pars>
4727#include <packing>
4728varying vec3 vRandom;varying vec2 vUv;varying float vLife;varying vec2 vFboUv;varying float vColorMix;varying float vCenterFade;varying mat3 vNormalMatrix;varying mat3 vNormalMatrixInverse;varying vec3 vViewPosition;varying vec3 vPosition;varying vec2 vScreenSpace;varying vec3 vNormal;varying vec4 vWorldPosition;uniform vec3 uColor;uniform vec3 uBloomColor;uniform float uOpacity;
4729#ifdef DYNAMIC_SHADOWS
4730uniform bool uDebugShadow;uniform bool receiveShadow;
4731#include <shadowmap_pars_fragment>
4732#include <shadowmask_pars_fragment>
4733uniform vec3 uShadowColor;uniform vec3 uShadowColor2;uniform float uShadowIntensity;
4734#endif
4735#ifdef DEPTH_PACKING
4736varying vec2 vHighPrecisionZW;
4737#endif
4738float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}float circle(in vec2 _st,in float _radius,in float _blur){vec2 dist=_st-vec2(0.5);return 1.-smoothstep(_radius-(_radius*_blur),_radius+(_radius*0.01),dot(dist,dist)*4.0);}void main(){float alpha=1.0-step(0.9,2.0*length(vUv-0.5));if(alpha<0.5)discard;
4739#ifdef DEPTH_PACKING
4740gl_FragColor=vec4(vec3(1.),1.0);
4741#else
4742gl_FragColor=vec4(uColor+uBloomColor,vCenterFade*uOpacity);
4743#endif
4744#ifdef DEPTH_PACKING
4745float fragCoordZ=0.5*vHighPrecisionZW[0]/vHighPrecisionZW[1]+0.5;gl_FragColor=packDepthToRGBA(fragCoordZ);
4746#else
4747#ifdef DYNAMIC_SHADOWS
4748gl_FragColor.rgb=mix(gl_FragColor.rgb,gl_FragColor.rgb*mix(uShadowColor,uShadowColor2,vColorMix),(1.0-getShadowMask())*uShadowIntensity);if(uDebugShadow){gl_FragColor.rgb=vec3(getShadowMask());}
4749#endif
4750#endif
4751#include <tonemapping_fragment>
4752#include <colorspace_fragment>
4753}`;class xce extends is{constructor(e={}){e=An({vertexShader:_ce,fragmentShader:bce,uniforms:{tPosition:{value:null},uParticleSize:{value:.25,gui:{step:.01}},uScaleRange:{value:new Re(.5,1),gui:{min:0,max:5,step:.01}},uOpacity:{value:1,gui:{min:0,max:1,step:.01}},uCenterFade:{value:new Re(.5,1),gui:{min:0,max:5,step:.01}},uColor:{value:new ke(16777215)},uBloomColor:{value:new K(1,.4,.7),gui:{min:0,max:5,step:.01}}},defines:{DEPTH_PACKING:!1,DYNAMIC_SHADOWS:!1},depthTest:!0,transparent:!0},e),super(e)}}const Cce=function(){let t=1,i=1;const r=[];for(let a=0;a<256;++a)r.push(Math.random());const s=function(a){const l=a*i,c=Math.floor(l),u=l-c,f=u*u*(3-2*u),h=c&255,p=h+1&255;return o(r[h],r[p],f)*t},o=function(a,l,c){return a*(1-c)+l*c};return{getVal:s,setAmplitude:function(a){t=a},setScale:function(a){i=a}}};class wce extends uo(){constructor(e={}){e=An({name:"LandingOrbFlareParticles",textureWidth:96,maxParticleCount:96*96,planeScale:.1},e),super(e),this._textureWidth=this.options.textureWidth,this.PARTICLE_COUNT=this._textureWidth*this._textureWidth,this.ACTIVE_PARTICLE_COUNT=this.PARTICLE_COUNT>this.options.maxParticleCount?this.options.maxParticleCount:this.PARTICLE_COUNT,this.sizeRange=[.5,1]}build(){this.positionSim=new Qr({fragmentShader:yce,width:this._textureWidth,height:this._textureWidth,uniforms:{uSetup:{value:1},uDecay:{value:.01,gui:{min:0,max:1,step:.001}},uLerpSpeed:{value:.2,gui:{min:0,max:1,step:.001}},uIntroAnimation:{value:1},tFluidSim:{value:S.WebGL.fluidSim.advectionSimVelocity.texture},uFluidStrength:{value:.25,gui:{min:0,step:.001}},uModelMatrix:{value:new Ct},uViewMatrix:{value:this.parent.activeCamera.matrixWorldInverse},uProjectionMatrix:{value:this.parent.activeCamera.projectionMatrix}},createTexture:!0,data:this.createParticlePositionData(),type:Zt}),this.positionSim.uniforms.uSetup.value=0,this.mesh=new Tp(new lo(this.options.planeScale,this.options.planeScale),new xce({uniforms:{tPosition:{value:this.positionSim.texture}}}),this.ACTIVE_PARTICLE_COUNT),this.add(this.mesh),this.mesh.name=this.options.name,this.mesh.frustumCulled=!1;const e=[],t=new Float32Array(this.ACTIVE_PARTICLE_COUNT),i=new Wt;for(let r=0;r<this.ACTIVE_PARTICLE_COUNT;r++)i.updateMatrix(),this.mesh.setMatrixAt(r,i.matrix),e.push(Math.random(),Math.random(),Math.random()),t[r]=gn.randFloat(this.sizeRange[0],this.sizeRange[1]);this.mesh.geometry.setAttribute("aFboUv",this.positionSim.fboUv.attributeInstanced),this.mesh.geometry.setAttribute("aRandom",new Ro(new Float32Array(e),3)),this.mesh.geometry.setAttribute("aScale",new Ro(t,1)),this.mesh.updateMatrix(),this.positionSim.uniforms.uModelMatrix.value=this.mesh.matrixWorld}createParticlePositionData(){const e=new Float32Array(this._textureWidth*this._textureWidth*4),t=2.9,i=new Cce;for(let r=0,s=this._textureWidth*this._textureWidth*4;r<s;r+=4){const o=Math.random(),a=r/s*Math.PI*2,l=.1,c=Math.cos(a)*t,u=Math.sin(a)*t,f=Math.sin(o*Math.PI*2)*l;e[r]=c,e[r+1]=u,e[r+2]=f,e[r+3]=gn.mapLinear(i.getVal(a*Math.PI*7),0,1,.2,1.25)}return e}update(){this.positionSim.uniforms.tFluidSim.value=S.WebGL.fluidSim.advectionSimVelocity.texture,this.positionSim.uniforms.uModelMatrix.value.copy(this.mesh.matrixWorld),this.positionSim.uniforms.uViewM
4753atrix.value.copy(this.parent.activeCamera.matrixWorldInverse),this.positionSim.uniforms.uProjectionMatrix.value.copy(this.parent.activeCamera.projectionMatrix),this.positionSim.update(),this.mesh.material.uniforms.tPosition.value=this.positionSim.texture}addGui(){const e={count:Te.types.number(this.mesh.count,{label:"Particle Count",nudgeMultiplier:1,range:[0,this.ACTIVE_PARTICLE_COUNT]}),simulation:{}},t=["uShapeThreshold","tClouds",...Object.keys(this.parent.globalUniforms.sun),...Object.keys(this.parent.globalUniforms.shadow)],i=["uSetup","uTexelSize","tVelocity","tPosition","uIntroAnimation"],r=S.theatre.helper.autoAddUniforms(e.simulation,this.positionSim.uniforms,i);S.theatre.helper.autoAddObject(this.mesh,this.parent.prettyName,{exclude:t,additionalConfig:e}).onValuesChange(o=>{for(let a=0;a<r.length;a++)r[a](this,o.simulation);this.mesh.count=o.count},S.theatre.rafDriver)}load(){}}const{lockScroll:Sce,unlockScroll:Ece}=wA();class Tce extends cc{constructor(){super("landing-orb",{domId:"landing"}),Object.assign(this.components,{orb:new vce,particles:new pce,flares:new wce}),Object.assign(this.globalUniforms,{shadow:{uShadowColor:{value:new ke(0)},uShadowColor2:{value:new ke(0)},uShadowIntensity:{value:.75}},sun:{uLightPosition:{value:new K(1,1,1)},uLightPosition2:{value:new K(1,1,1)}}}),this.scrollVelocity=0}start(){var e;super.start(),(e=this.introAnimation)==null||e.play(),S.theatre.objects[this.prettyName]["Post FX"]&&this.updatePostFXValuesFromTheatre(S.theatre.objects[this.prettyName]["Post FX"].value)}build(){super.build(),this.buildLights();const e={shadowColor:S.theatre.helper.parseColor(this.globalUniforms.shadow.uShadowColor.value,"shadow color"),shadowColor2:S.theatre.helper.parseColor(this.globalUniforms.shadow.uShadowColor2.value,"shadow color 2"),shadowIntensity:Te.types.number(this.globalUniforms.shadow.uShadowIntensity.value,{label:"shadow intensity",range:[0,1],nudgeMultiplier:.01}),sunPosition:Te.types.compound({x:Te.types.number(this.sun.position.x,{nudgeMultiplier:.1}),y:Te.types.number(this.sun.position.y,{nudgeMultiplier:.1}),z:Te.types.number(this.sun.position.z,{nudgeMultiplier:.1})}),dirLight2position:Te.types.compound({x:Te.types.number(this.dirLight2.position.x,{nudgeMultiplier:.1}),y:Te.types.number(this.dirLight2.position.y,{nudgeMultiplier:.1}),z:Te.types.number(this.dirLight2.position.z,{nudgeMultiplier:.1})}),shadowCamera:Te.types.compound({near:Te.types.number(this.sun.shadow.camera.near,{nudgeMultiplier:.1}),far:Te.types.number(this.sun.shadow.camera.far,{nudgeMultiplier:.1}),left:Te.types.number(this.sun.shadow.camera.left,{nudgeMultiplier:.1}),right:Te.types.number(this.sun.shadow.camera.right,{nudgeMultiplier:.1}),top:Te.types.number(this.sun.shadow.camera.top,{nudgeMultiplier:.1}),bottom:Te.types.number(this.sun.shadow.camera.bottom,{nudgeMultiplier:.1}),bias:Te.types.number(this.sun.shadow.bias,{nudgeMultiplier:1e-4}),normalBias:Te.types.number(this.sun.shadow.normalBias,{nudgeMultiplier:1e-4}),blurSamples:Te.types.number(this.sun.shadow.blurSamples,{nudgeMultiplier:1})}),shadowRadius:Te.types.number(this.sun.shadow.radius,{nudgeMultiplier:.1})};S.theatre.helper.addStudioSheetObject(this.prettyName,"Sun and Shadow",{visible:Te.types.boolean(this.sunHelper.visible,{label:"sun helper"}),shadowHelper:Te.types.boolean(this.sunShadowHelper.visible,{label:"shadow helper"}),dirLight2HelperVisible:Te.types.boolean(this.dirLight2Helper.visible,{label:"directional light 2 helper"})}).onValuesChange(r=>{this.dirLight2Helper.visible=r.dirLight2HelperVisible,this.dirLight2Helper.update(),this.sunHelper.visible=r.visible,this.sunShadowHelper.visible=r.shadowHelper,this.sunHelper.update(),this.sunShadowHelper.update()},S.theatre.rafDriver),S.theatre.helper.addSheetObject(this.prettyName,"Sun and Shadow",e,this).onValuesChange(r=>{this.globalUniforms.shadow.uShadowColor.value.copy(r.shadowColor),this.globalUniforms.shadow.uShadowColor2.value.copy(r.shadowColor2),this.globalUniforms.shadow.uShadowIntensity.value=r.shadowIntensity,this.sun.position.set(r.sunPosition.x,r.sunPosition.y,r.sunPosition.z),this.dirLight2.position.set(r.dirLight2position.x,r.dirLight2position.y,r.dirLight2position.z),this.dirLight2Helper.update(
4753),this.sun.shadow.camera.near=r.shadowCamera.near,this.sun.shadow.camera.far=r.shadowCamera.far,this.sun.shadow.camera.left=r.shadowCamera.left,this.sun.shadow.camera.right=r.shadowCamera.right,this.sun.shadow.camera.top=r.shadowCamera.top,this.sun.shadow.camera.bottom=r.shadowCamera.bottom,this.sun.shadow.bias=r.shadowCamera.bias,this.sun.shadow.normalBias=r.shadowCamera.normalBias,this.sun.shadow.blurSamples=r.shadowCamera.blurSamples,this.sun.shadow.radius=r.shadowRadius,this.sun.shadow.camera.updateProjectionMatrix(),this.sun.shadow.needsUpdate=!0,S.WebGL.renderer.shadowMap.needsUpdate=!0,this.sunHelper.update(),this.sunShadowHelper.update()},S.theatre.rafDriver)}buildLights(){this.dirLight2=new jg(16777215,1),this.dirLight2.position.copy(this.globalUniforms.sun.uLightPosition2.value),this.dirLight2.target.position.set(0,0,0),this.add(this.dirLight2.target),this.add(this.dirLight2),this.dirLight2Helper=new JS(this.dirLight2),this.dirLight2Helper.visible=!1,this.add(this.dirLight2Helper),this.sun=new jg(16777215,1),this.sun.shadow.autoUpdate=!0,this.sun.position.copy(this.globalUniforms.sun.uLightPosition.value),this.sun.target.position.set(0,0,0),this.sun.castShadow=!1,this.sun.shadow.mapSize.width=S.breakpoints.is("touch")?1024:2048,this.sun.shadow.mapSize.height=S.breakpoints.is("touch")?1024:2048,this.sun.shadow.camera.near=7.3,this.sun.shadow.camera.far=60,this.sun.shadow.camera.left=-9,this.sun.shadow.camera.right=9,this.sun.shadow.camera.top=11,this.sun.shadow.camera.bottom=-7,this.sun.shadow.blurSamples=6,this.sun.shadow.radius=2.3,this.sun.shadow.bias=-.001,this.sun.shadow.normalBias=0,this.add(this.sun),this.add(this.sun.target),this.sunHelper=new JS(this.sun),this.sunHelper.visible=!1,this.add(this.sunHelper),this.sunShadowHelper=new f4(this.sun.shadow.camera),this.sunShadowHelper.visible=!1,this.add(this.sunShadowHelper)}updateLightandShadowUniforms(){this.globalUniforms.sun.uLightPosition.value.copy(this.sun.position),this.globalUniforms.sun.uLightPosition2.value.copy(this.dirLight2.position)}buildScrollAnimation(){var i;if(S.urlParams.has("scene"))return;const t=(i=UA(NA).theme)==null?void 0:i.screens;this.mm=dr.matchMedia(),this.mm.add({isDesktop:S.breakpoints.mediaQueries.md.media,isMobile:`(max-width: ${Number.parseInt(t.md)-1}px)`},r=>(this.scrollAnimation=dr.timeline({defaults:{duration:1.5,ease:(r.conditions.isDesktop,"power1.inOut")}}),this.introAnimation=dr.timeline({onStart:()=>{Sce()},defaults:{duration:4,ease:(r.conditions.isDesktop,"power2.out")}}),r.conditions.isDesktop?(this.scrollAnimation.fromTo(this.cameras.camera1._position,{x:0,y:3.1,z:16.6},{x:3,y:-2,z:12,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"]`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,start:"top top",end:"center center",scrub:!0}},0),this.introAnimation.fromTo(this.components.particles.mesh.position,{y:-4,z:8},{y:0,z:0,delay:.6},0),this.introAnimation.fromTo(this.components.orb.position,{y:-4,z:8},{y:0,z:0,delay:.6},0),this.introAnimation.fromTo(this.components.flares.mesh.position,{y:-4,z:8},{y:0,z:0,delay:.6},0),this.introAnimation.fromTo(this.components.particles.mesh.rotation,{x:2},{x:0},"<+0.2"),this.introAnimation.fromTo(this.components.orb.rotation,{x:2},{x:0},"<"),this.introAnimation.fromTo(this.components.flares.positionSim.uniforms.uIntroAnimation,{value:4},{value:1,duration:3},"<")):(this.scrollAnimation.fromTo(this.cameras.camera1._position,{x:0,y:2.5,z:11},{x:1,y:-2.2,z:10,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"]`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,start:"top top",end:"bottom bottom-=15%",scrub:!0}},0),this.introAnimation.fromTo(this.components.particles.mesh.position,{y:-4,z:7},{y:0,z:0,delay:.5},0),this.introAnimation.fromTo(this.components.orb.position,{y:-4,z:7},{y:0,z:0,delay:.5},0),this.introAnimation.fromTo(this.components.flares.mesh.position,{y:-4,z:7},{y:0,z:0,delay:.5},0),this.introAnimation.fromTo(this.components.particles.mesh.rotation,{x:1.6},{x:0},"<+0.2"),this.introAnimation.fromTo(this.components.orb.rotation,{x:1.6},{x:0},"<"),this.introAnimation.fromTo(this.components.flares.positionSim.uniforms.uIntroAnimation,{value:2.5},{value:1,duration:3},"<")),this.introAnimation.call(()=>{Ece()},null,">-=1"),this.sectionScroll=Pt.create({trigger:`[data-webgl-section="${this.options.domId}"]`,start:"top top",end:"bottom bottom",scrub:!0}),()=>{this.scrollAnimation.kill(),this.sectionScroll.kill()}))}update(){this.sectionScroll&&(this.scrollVelocity=gn.lerp(this.scrollVelocity,this.sectionScroll.getVelocity(),.03)),this.updateLightandShadowUniforms(),super.update(
4753)}buildShadowPreviewMesh(){const e=`
4754		varying vec2 vUv;
4755
4756		void main() {
4757			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
4758			vUv = uv;
4759		}
4760		`,t=`
4761		#include <common>
4762		#include <packing>
4763
4764		uniform sampler2D uDepthTexture;
4765
4766		varying vec2 vUv;
4767
4768		void main() {
4769
4770			float depth = 1.0 - unpackRGBAToDepth( texture2D( uDepthTexture, vUv ) );
4771			gl_FragColor = vec4( vec3( depth ), 1.0 );
4772
4773		}
4774		`;this.shadowPreviewMesh=new Qe(new lo,new Cn({vertexShader:e,fragmentShader:t,uniforms:{uDepthTexture:{value:null}},transparent:!0,depthTest:!1})),this.shadowPreviewMesh.name="Shadow Preview",this.shadowPreviewMesh.renderOrder=1e3,this.shadowPreviewMesh.position.set(-1.16,.8,-5),this.shadowPreviewMesh.visible=!0,this.cameras.camera1.add(this.shadowPreviewMesh),this.add(this.cameras.camera1)}destroy(){super.destroy(),this.scrollVelocity=0}}const Mce=`{
4775 "camera":{
4776  "focal-length":50.0,
4777  "film-gauge":36.0,
4778  "ui-markers":0.0,
4779  "key-stops":0.0,
4780  "cam_marker":0.0,
4781  "tgt_marker":0.0
4782 },
4783 "objects":{},
4784 "grouped-objects":{},
4785 "paths":{
4786  "hover-001":[
4787   [
4788    [
4789     0.9181,
4790     -0.3338,
4791     -1.8907
4792    ],
4793    [
4794     1.5041,
4795     0.4792,
4796     -1.4342
4797    ],
4798    [
4799     1.7121,
4800     -0.5664,
4801     -1.136
4802    ]
4803   ],
4804   {
4805    "attributes":{}
4806   }
4807  ],
4808  "hover-002":[
4809   [
4810    [
4811     -2.0538,
4812     -0.3082,
4813     0.4846
4814    ],
4815    [
4816     -1.7188,
4817     0.5329,
4818     1.1379
4819    ],
4820    [
4821     -1.0835,
4822     -0.3694,
4823     1.7949
4824    ],
4825    [
4826     -1.8519,
4827     0.0067,
4828     1.0503
4829    ],
4830    [
4831     -2.031,
4832     0.3188,
4833     0.5626
4834    ],
4835    [
4836     -1.8205,
4837     0.9241,
4838     0.6021
4839    ]
4840   ],
4841   {
4842    "attributes":{}
4843   }
4844  ],
4845  "hover-003":[
4846   [
4847    [
4848     0.5359,
4849     -1.7443,
4850     1.098
4851    ],
4852    [
4853     0.5944,
4854     -1.3142,
4855     1.5696
4856    ],
4857    [
4858     0.0137,
4859     -1.9162,
4860     0.9312
4861    ]
4862   ],
4863   {
4864    "attributes":{}
4865   }
4866  ],
4867  "hover-004":[
4868   [
4869    [
4870     -1.4882,
4871     -1.0691,
4872     1.0902
4873    ],
4874    [
4875     -1.8515,
4876     -0.9329,
4877     0.4858
4878    ],
4879    [
4880     -1.4573,
4881     -1.4493,
4882     0.5641
4883    ]
4884   ],
4885   {
4886    "attributes":{}
4887   }
4888  ],
4889  "hover-005":[
4890   [
4891    [
4892     1.4513,
4893     -1.4582,
4894     0.5608
4895    ],
4896    [
4897     0.6833,
4898     -2.0172,
4899     -0.0087
4900    ],
4901    [
4902     1.4992,
4903     -1.4312,
4904     -0.4887
4905    ],
4906    [
4907     0.8959,
4908     -1.8679,
4909     -0.493
4910    ],
4911    [
4912     1.7061,
4913     -1.2733,
4914     0.0182
4915    ]
4916   ],
4917   {
4918    "attributes":{}
4919   }
4920  ],
4921  "hover-006":[
4922   [
4923    [
4924     -0.9318,
4925     -1.849,
4926     -0.5093
4927    ],
4928    [
4929     -0.9615,
4930     -1.8028,
4931     0.5956
4932    ],
4933    [
4934     -0.9318,
4935     -1.849,
4936     -0.5093
4937    ],
4938    [
4939     -1.4943,
4940     -1.0769,
4941     -1.0709
4942    ],
4943    [
4944     -0.9105,
4945     -1.2834,
4946     -1.4377
4947    ]
4948   ],
4949   {
4950    "attributes":{}
4951   }
4952  ],
4953  "hover-007":[
4954   [
4955    [
4956     -1.457,
4957     -1.4604,
4958     -0.5276
4959    ],
4960    [
4961     -0.6698,
4962     -2.0231,
4963     -0.021
4964    ],
4965    [
4966     -0.5656,
4967     -1.7456,
4968     -1.0848
4969    ],
4970    [
4971     -0.9105,
4972     -1.2834,
4973     -1.4377
4974    ],
4975    [
4976     -1.2559,
4977     -0.7166,
4978     -1.567
4979    ]
4980   ],
4981   {
4982    "attributes":{}
4983   }
4984  ],
4985  "hover-008":[
4986   [
4987    [
4988     -0.5716,
4989     -1.7489,
4990     1.0764
4991    ],
4992    [
4993     -0.0301,
4994     -1.1102,
4995     1.8168
4996    ]
4997   ],
4998   {
4999    "attributes":{}
5000   }
5001  ],
5002  "hover-009":[
5003   [
5004    [
5005     -1.8247,
5006     -0.5638,
5007     0.9423
5008    ],
5009    [
5010     -1.0922,
5011     -0.9519,
5012     1.5636
5013    ],
5014    [
5015     -0.5671,
5016     -1.3469,
5017     1.5486
5018    ]
5019   ],
5020   {
5021    "attributes":{}
5022   }
5023  ],
5024  "hover-011":[
5025   [
5026    [
5027     1.8344,
5028     -0.9634,
5029     0.5044
5030    ],
5031    [
5032     1.4999,
5033     -0.4955,
5034     1.4329
5035    ],
5036    [
5037     1.4461,
5038     0.1656,
5039     1.5562
5040    ],
5041    [
5042     1.806,
5043     -0.619,
5044     0.9428
5045    ],
5046    [
5047     1.085,
5048     -0.9419,
5049     1.5728
5050    ]
5051   ],
5052   {
5053    "attributes":{}
5054   }
5055  ],
5056  "hover-012":[
5057   [
5058    [
5059     2.031,
5060     0.647,
5061     0.0365
5062    ],
5063    [
5064     1.7428,
5065     0.5294,
5066     1.0997
5067    ],
5068    [
5069     0.9764,
5070     0.3109,
5071     1.8659
5072    ]
5073   ],
5074   {
5075    "attributes":{}
5076   }
5077  ],
5078  "hover-013":[
5079   [
5080    [
5081     1.8295,
5082     0.9603,
5083     -0.5191
5084    ],
5085    [
5086     1.8315,
5087     0.902,
5088     0.6023
5089    ]
5090   ],
5091   {
5092    "attributes":{}
5093   }
5094  ],
5095  "hover-014":[
5096   [
5097    [
5098     0.9415,
5099     1.8475,
5100     0.4931
5101    ],
5102    [
5103     0.0335,
5104     1.8182,
5105     1.1063
5106    ]
5107   ],
5108   {
5109    "attributes":{}
5110   }
5111  ],
5112  "hover-015":[
5113   [
5114    [
5115     0.5902,
5116     1.7535,
5117     1.0556
5118    ],
5119    [
5120     0.6315,
5121     0.9307,
5122     1.8069
5123    ]
5124   ],
5125   {
5126    "attributes":{}
5127   }
5128  ],
5129  "hover-016":[
5130   [
5131    [
5132     0.5807,
5133     -0.7692,
5134     1.8982
5135    ],
5136    [
5137     0.0041,
5138     -0.0253,
5139     2.1306
5140    ],
5141    [
5142     0.3255,
5143     0.4854,
5144     2.049
5145    ],
5146    [
5147     -0.5526,
5148     -0.16,
5149     2.052
5150    ]
5151   ],
5152   {
5153    "attributes":{}
5154   }
5155  ],
5156  "hover-017":[
5157   [
5158    [
5159     -0.3162,
5160     0.4911,
5161     2.0472
5162    ],
5163    [
5164     -1.2548,
5165     0.7317,
5166     1.5639
5167    ],
5168    [
5169     -0.9522,
5170     0.278,
5171     1.8849
5172    ],
5173    [
5174     -1.4416,
5175     0.1805,
5176     1.5558
5177    ]
5178   ],
5179   {
5180    "attributes":{}
5181   }
5182  ],
5183  "hover-018":[
5184   [
5185    [
5186     1.6981,
5187     1.2814,
5188     0.0206
5189    ],
5190    [
5191     0.9406,
5192     1.831,
5193     -0.5549
5194    ],
5195    [
5196     0.5353,
5197     1.7501,
5198     -1.0914
5199    ],
5200    [
5201     1.4351,
5202     1.4695,
5203     -0.5736
5204    ],
5205    [
5206     0.6858,
5207     2.0145,
5208     0.0293
5209    ],
5210    [
5211     1.4914,
5212     1.433,
5213     0.5084
5214    ]
5215   ],
5216   {
5217    "attributes":{}
5218   }
5219  ],
5220  "hover-019":[
5221   [
5222    [
5223     1.806,
5224     -0.619,
5225     0.9428
5226    ],
5227    [
5228     2.028,
5229     0.3274,
5230     0.5735
5231    ],
5232    [
5233     2.0406,
5234     0.3192,
5235     -0.5214
5236    ],
5237    [
5238     2.028,
5239     0.3274,
5240     0.5735
5241    ],
5242    [
5243     1.4831,
5244     1.1,
5245     1.0657
5246    ]
5247   ],
5248   {
5249    "attributes":{}
5250   }
5251  ],
5252  "hover-020":[
5253   [
5254    [
5255     2.0406,
5256     0.3192,
5257     -0.5214
5258    ],
5259    [
5260     1.5003,
5261     1.0448,
5262     -1.0928
5263    ],
5264    [
5265     1.8524,
5266     0.0364,
5267     -1.0472
5268    ],
5269    [
5270     1.8223,
5271     -0.9494,
5272     -0.5568
5273    ],
5274    [
5275     2.13,
5276     0.0061,
5277     -0.0266
5278    ]
5279   ],
5280   {
5281    "attributes":{}
5282   }
5283  ],
5284  "hover-021":[
5285   [
5286    [
5287     0.5353,
5288     1.7501,
5289     -1.0914
5290    ],
5291    [
5292     1.0863,
5293     0.9702,
5294     -1.5587
5295    ]
5296   ],
5297   {
5298    "attributes":{}
5299   }
5300  ],
5301  "hover-022":[
5302   [
5303    [
5304     -1.2774,
5305     1.6989,
5306     -0.0774
5307    ],
5308    [
5309     -1.8364,
5310     0.9651,
5311     -0.4971
5312    ],
5313    [
5314     -0.3213,
5315     2.0427,
5316     -0.5122
5317    ],
5318    [
5319     -1.2774,
5320     1.6989,
5321     -0.0774
5322    ],
5323    [
5324     -1.1242,
5325     1.5463,
5326     0.946
5327    ]
5328   ],
5329   {
5330    "attributes":{}
5331   }
5332  ],
5333  "hover-023":[
5334   [
5335    [
5336     0.5941,
5337     1.3494,
5338     -1.5352
5339    ],
5340    [
5341     0.0252,
5342     1.1029,
5343     -1.8213
5344    ],
5345    [
5346     -0.5979,
5347     0.8052,
5348     -1.8815
5349    ],
5350    [
5351     -0.5907,
5352     1.3467,
5353     -1.5403
5354    ],
5355    [
5356     0.0252,
5357     1.1029,
5358     -1.8213
5359    ],
5360    [
5361     0.0084,
5362     1.594,
5363     -1.4118
5364    ]
5365   ],
5366   {
5367    "attributes":{}
5368   }
5369  ],
5370  "hover-024":[
5371   [
5372    [
5373     -1.0463,
5374     1.4486,
5375     -1.1543
5376    ],
5377    [
5378     -0.9311,
5379     1.8353,
5380     -0.55
5381    ],
5382    [
5383     -1.7191,
5384     1.2587,
5385     -0.0217
5386    ]
5387   ],
5388   {
5389    "attributes":{}
5390   }
5391  ],
5392  "hover-025":[
5393   [
5394    [
5395     -1.0966,
5396     0.9775,
5397     -1.5422
5398    ],
5399    [
5400     -1.8172,
5401     0.5902,
5402     -0.9497
5403    ],
5404    [
5405     -2.0141,
5406     -0.3212,
5407     -0.6064
5408    ],
5409    [
5410     -1.4284,
5411     1.4571,
5412     -0.6046
5413    ],
5414    [
5415     -1.8172,
5416     0.5902,
5417     -0.9497
5418    ]
5419   ],
5420   {
5421    "attributes":{}
5422   }
5423  ],
5424  "hover-026":[
5425   [
5426    [
5427     -0.5728,
5428     0.1917,
5429     -2.0435
5430    ],
5431    [
5432     -0.3562,
5433     -0.4773,
5434     -2.047
5435    ],
5436    [
5437     0.0209,
5438     -0.9796,
5439     -1.8914
5440    ],
5441    [
5442     -0.681,
5443     -0.912,
5444     -1.8005
5445    ]
5446   ],
5447   {
5448    "attributes":{}
5449   }
5450  ],
5451  "electric-406":[
5452   [
5453    [
5454     -1.2548,
5455     0.7317,
5456     1.5639
5457    ],
5458    [
5459     -1.4416,
5460     0.1805,
5461     1.5558
5462    ]
5463   ],
5464   {
5465    "attributes":{
5466     "index":785
5467    }
5468   }
5469  ],
5470  "electric-001":[
5471   [
5472    [
5473     -1.493,
5474     -0.46,
5475     1.448
5476    ],
5477    [
5478     -0.9522,
5479     0.278,
5480     1.8849
5481    ]
5482   ],
5483   {
5484    "attributes":{
5485     "index":573
5486    }
5487   }
5488  ],
5489  "electric-002":[
5490   [
5491    [
5492     -1.493,
5493     -0.46,
5494     1.448
5495    ],
5496    [
5497     -1.0922,
5498     -0.9519,
5499     1.5636
5500    ]
5501   ],
5502   {
5503    "attributes":{
5504     "index":558
5505    }
5506   }
5507  ],
5508  "electric-003":[
5509   [
5510    [
5511     -1.493,
5512     -0.46,
5513     1.448
5514    ],
5515    [
5516     -1.4416,
5517     0.1805,
5518     1.5558
5519    ]
5520   ],
5521   {
5522    "attributes":{
5523     "index":705
5524    }
5525   }
5526  ],
5527  "electric-004":[
5528   [
5529    [
5530     -0.5602,
5531     -0.8298,
5532     1.8783
5533    ],
5534    [
5535     -1.493,
5536     -0.46,
5537     1.448
5538    ]
5539   ],
5540   {
5541    "attributes":{
5542     "index":861
5543    }
5544   }
5545  ],
5546  "electric-005":[
5547   [
5548    [
5549     -0.5602,
5550     -0.8298,
5551     1.8783
5552    ],
5553    [
5554     -1.0922,
5555     -0.9519,
5556     1.5636
5557    ]
5558   ],
5559   {
5560    "attributes":{
5561     "index":547
5562    }
5563   }
5564  ],
5565  "electric-006":[
5566   [
5567    [
5568     -0.5602,
5569     -0.8298,
5570     1.8783
5571    ],
5572    [
5573     -0.5671,
5574     -1.3469,
5575     1.5486
5576    ]
5577   ],
5578   {
5579    "attributes":{
5580     "index":943
5581    }
5582   }
5583  ],
5584  "electric-007":[
5585   [
5586    [
5587     -1.0835,
5588     -0.3694,
5589     1.7949
5590    ],
5591    [
5592     -0.5671,
5593     -1.3469,
5594     1.5486
5595    ]
5596   ],
5597   {
5598    "attributes":{
5599     "index":492
5600    }
5601   }
5602  ],
5603  "electric-008":[
5604   [
5605    [
5606     -1.0835,
5607     -0.3694,
5608     1.7949
5609    ],
5610    [
5611     -0.5602,
5612     -0.8298,
5613     1.8783
5614    ],
5615    [
5616     -1.0835,
5617     -0.3694,
5618     1.7949
5619    ],
5620    [
5621     -1.4416,
5622     0.1805,
5623     1.5558
5624    ],
5625    [
5626     -1.0835,
5627     -0.3694,
5628     1.7949
5629    ],
5630    [
5631     -0.9522,
5632     0.278,
5633     1.8849
5634    ]
5635   ],
5636   {
5637    "attributes":{
5638     "index":425
5639    }
5640   }
5641  ],
5642  "electric-009":[
5643   [
5644    [
5645     -1.0835,
5646     -0.3694,
5647     1.7949
5648    ],
5649    [
5650     -1.0922,
5651     -0.9519,
5652     1.5636
5653    ],
5654    [
5655     -1.0835,
5656     -0.3694,
5657     1.7949
5658    ],
5659    [
5660     -1.493,
5661     -0.46,
5662     1.448
5663    ]
5664   ],
5665   {
5666    "attributes":{
5667     "index":161
5668    }
5669   }
5670  ],
5671  "electric-010":[
5672   [
5673    [
5674     -0.5526,
5675     -0.16,
5676     2.052
5677    ],
5678    [
5679     -1.0922,
5680     -0.9519,
5681     1.5636
5682    ],
5683    [
5684     -0.5526,
5685     -0.16,
5686     2.052
5687    ],
5688    [
5689     -1.4416,
5690     0.1805,
5691     1.5558
5692    ]
5693   ],
5694   {
5695    "attributes":{
5696     "index":558
5697    }
5698   }
5699  ],
5700  "electric-011":[
5701   [
5702    [
5703     -0.5526,
5704     -0.16,
5705     2.052
5706    ],
5707    [
5708     -0.5602,
5709     -0.8298,
5710     1.8783
5711    ]
5712   ],
5713   {
5714    "attributes":{
5715     "index":425
5716    }
5717   }
5718  ],
5719  "electric-012":[
5720   [
5721    [
5722     -0.5526,
5723     -0.16,
5724     2.052
5725    ],
5726    [
5727     -1.0835,
5728     -0.3694,
5729     1.7949
5730    ],
5731    [
5732     -0.5526,
5733     -0.16,
5734     2.052
5735    ],
5736    [
5737     -0.9522,
5738     0.278,
5739     1.8849
5740    ]
5741   ],
5742   {
5743    "attributes":{
5744     "index":574
5745    }
5746   }
5747  ],
5748  "electric-013":[
5749   [
5750    [
5751     0.5944,
5752     -1.3142,
5753     1.5696
5754    ],
5755    [
5756     1.085,
5757     -0.9419,
5758     1.5728
5759    ]
5760   ],
5761   {
5762    "attributes":{
5763     "index":400
5764    }
5765   }
5766  ],
5767  "electric-014":[
5768   [
5769    [
5770     -0.0292,
5771     -1.5633,
5772     1.4462
5773    ],
5774    [
5775     -0.5602,
5776     -0.8298,
5777     1.8783
5778    ]
5779   ],
5780   {
5781    "attributes":{
5782     "index":410
5783    }
5784   }
5785  ],
5786  "electric-015":[
5787   [
5788    [
5789     -0.0292,
5790     -1.5633,
5791     1.4462
5792    ],
5793    [
5794     0.5944,
5795     -1.3142,
5796     1.5696
5797    ]
5798   ],
5799   {
5800    "attributes":{
5801     "index":243
5802    }
5803   }
5804  ],
5805  "electric-016":[
5806   [
5807    [
5808     -0.0292,
5809     -1.5633,
5810     1.4462
5811    ],
5812    [
5813     -0.5671,
5814     -1.3469,
5815     1.5486
5816    ]
5817   ],
5818   {
5819    "attributes":{
5820     "index":920
5821    }
5822   }
5823  ],
5824  "electric-017":[
5825   [
5826    [
5827     0.5807,
5828     -0.7692,
5829     1.8982
5830    ],
5831    [
5832     -0.0292,
5833     -1.5633,
5834     1.4462
5835    ]
5836   ],
5837   {
5838    "attributes":{
5839     "index":511
5840    }
5841   }
5842  ],
5843  "electric-018":[
5844   [
5845    [
5846     0.5807,
5847     -0.7692,
5848     1.8982
5849    ],
5850    [
5851     0.5944,
5852     -1.3142,
5853     1.5696
5854    ],
5855    [
5856     0.5807,
5857     -0.7692,
5858     1.8982
5859    ],
5860    [
5861     1.085,
5862     -0.9419,
5863     1.5728
5864    ]
5865   ],
5866   {
5867    "attributes":{
5868     "index":45
5869    }
5870   }
5871  ],
5872  "electric-019":[
5873   [
5874    [
5875     -0.0301,
5876     -1.1102,
5877     1.8168
5878    ],
5879    [
5880     -0.5526,
5881     -0.16,
5882     2.052
5883    ],
5884    [
5885     -0.0301,
5886     -1.1102,
5887     1.8168
5888    ],
5889    [
5890     -1.0922,
5891     -0.9519,
5892     1.5636
5893    ]
5894   ],
5895   {
5896    "attributes":{
5897     "index":929
5898    }
5899   }
5900  ],
5901  "electric-020":[
5902   [
5903    [
5904     -0.0301,
5905     -1.1102,
5906     1.8168
5907    ],
5908    [
5909     0.5807,
5910     -0.7692,
5911     1.8982
5912    ],
5913    [
5914     -0.0301,
5915     -1.1102,
5916     1.8168
5917    ],
5918    [
5919     0.5944,
5920     -1.3142,
5921     1.5696
5922    ],
5923    [
5924     -0.0301,
5925     -1.1102,
5926     1.8168
5927    ],
5928    [
5929     -0.5671,
5930     -1.3469,
5931     1.5486
5932    ]
5933   ],
5934   {
5935    "attributes":{
5936     "index":992
5937    }
5938   }
5939  ],
5940  "electric-021":[
5941   [
5942    [
5943     -0.0301,
5944     -1.1102,
5945     1.8168
5946    ],
5947    [
5948     -0.5602,
5949     -0.8298,
5950     1.8783
5951    ],
5952    [
5953     -0.0301,
5954     -1.1102,
5955     1.8168
5956    ],
5957    [
5958     -0.0292,
5959     -1.5633,
5960     1.4462
5961    ]
5962   ],
5963   {
5964    "attributes":{
5965     "index":843
5966    }
5967   }
5968  ],
5969  "electric-022":[
5970   [
5971    [
5972     -0.0061,
5973     -0.5943,
5974     2.0477
5975    ],
5976    [
5977     -0.5671,
5978     -1.3469,
5979     1.5486
5980    ],
5981    [
5982     -0.0061,
5983     -0.5943,
5984     2.0477
5985    ],
5986    [
5987     0.5944,
5988     -1.3142,
5989     1.5696
5990    ]
5991   ],
5992   {
5993    "attributes":{
5994     "index":596
5995    }
5996   }
5997  ],
5998  "electric-023":[
5999   [
6000    [
6001     -0.0061,
6002     -0.5943,
6003     2.0477
6004    ],
6005    [
6006     -0.5526,
6007     -0.16,
6008     2.052
6009    ],
6010    [
6011     -0.0061,
6012     -0.5943,
6013     2.0477
6014    ],
6015    [
6016     0.5807,
6017     -0.7692,
6018     1.8982
6019    ]
6020   ],
6021   {
6022    "attributes":{
6023     "index":400
6024    }
6025   }
6026  ],
6027  "electric-024":[
6028   [
6029    [
6030     -0.0061,
6031     -0.5943,
6032     2.0477
6033    ],
6034    [
6035     -0.5602,
6036     -0.8298,
6037     1.8783
6038    ],
6039    [
6040     -0.0061,
6041     -0.5943,
6042     2.0477
6043    ],
6044    [
6045     -0.0301,
6046     -1.1102,
6047     1.8168
6048    ]
6049   ],
6050   {
6051    "attributes":{
6052     "index":184
6053    }
6054   }
6055  ],
6056  "electric-025":[
6057   [
6058    [
6059     1.4461,
6060     0.1656,
6061     1.5562
6062    ],
6063    [
6064     1.2294,
6065     0.7388,
6066     1.575
6067    ]
6068   ],
6069   {
6070    "attributes":{
6071     "index":340
6072    }
6073   }
6074  ],
6075  "electric-026":[
6076   [
6077    [
6078     1.4999,
6079     -0.4955,
6080     1.4329
6081    ],
6082    [
6083     0.5807,
6084     -0.7692,
6085     1.8982
6086    ]
6087   ],
6088   {
6089    "attributes":{
6090     "index":637
6091    }
6092   }
6093  ],
6094  "electric-027":[
6095   [
6096    [
6097     1.4999,
6098     -0.4955,
6099     1.4329
6100    ],
6101    [
6102     1.085,
6103     -0.9419,
6104     1.5728
6105    ]
6106   ],
6107   {
6108    "attributes":{
6109     "index":185
6110    }
6111   }
6112  ],
6113  "electric-028":[
6114   [
6115    [
6116     0.9764,
6117     0.3109,
6118     1.8659
6119    ],
6120    [
6121     1.4999,
6122     -0.4955,
6123     1.4329
6124    ]
6125   ],
6126   {
6127    "attributes":{
6128     "index":640
6129    }
6130   }
6131  ],
6132  "electric-029":[
6133   [
6134    [
6135     0.9764,
6136     0.3109,
6137     1.8659
6138    ],
6139    [
6140     1.4461,
6141     0.1656,
6142     1.5562
6143    ],
6144    [
6145     0.9764,
6146     0.3109,
6147     1.8659
6148    ],
6149    [
6150     1.2294,
6151     0.7388,
6152     1.575
6153    ]
6154   ],
6155   {
6156    "attributes":{
6157     "index":854
6158    }
6159   }
6160  ],
6161  "electric-030":[
6162   [
6163    [
6164     1.0726,
6165     -0.3515,
6166     1.8099
6167    ],
6168    [
6169     0.5944,
6170     -1.3142,
6171     1.5696
6172    ]
6173   ],
6174   {
6175    "attributes":{
6176     "index":981
6177    }
6178   }
6179  ],
6180  "electric-031":[
6181   [
6182    [
6183     1.0726,
6184     -0.3515,
6185     1.8099
6186    ],
6187    [
6188     1.4461,
6189     0.1656,
6190     1.5562
6191    ],
6192    [
6193     1.0726,
6194     -0.3515,
6195     1.8099
6196    ],
6197    [
6198     0.9764,
6199     0.3109,
6200     1.8659
6201    ],
6202    [
6203     1.0726,
6204     -0.3515,
6205     1.8099
6206    ],
6207    [
6208     0.5807,
6209     -0.7692,
6210     1.8982
6211    ]
6212   ],
6213   {
6214    "attributes":{
6215     "index":311
6216    }
6217   }
6218  ],
6219  "electric-032":[
6220   [
6221    [
6222     1.0726,
6223     -0.3515,
6224     1.8099
6225    ],
6226    [
6227     1.085,
6228     -0.9419,
6229     1.5728
6230    ],
6231    [
6232     1.0726,
6233     -0.3515,
6234     1.8099
6235    ],
6236    [
6237     1.4999,
6238     -0.4955,
6239     1.4329
6240    ]
6241   ],
6242   {
6243    "attributes":{
6244     "index":326
6245    }
6246   }
6247  ],
6248  "electric-033":[
6249   [
6250    [
6251     0.5481,
6252     -0.1528,
6253     2.0526
6254    ],
6255    [
6256     1.4461,
6257     0.1656,
6258     1.5562
6259    ],
6260    [
6261     0.5481,
6262     -0.1528,
6263     2.0526
6264    ],
6265    [
6266     1.085,
6267     -0.9419,
6268     1.5728
6269    ]
6270   ],
6271   {
6272    "attributes":{
6273     "index":573
6274    }
6275   }
6276  ],
6277  "electric-034":[
6278   [
6279    [
6280     0.5481,
6281     -0.1528,
6282     2.0526
6283    ],
6284    [
6285     -0.0061,
6286     -0.5943,
6287     2.0477
6288    ],
6289    [
6290     0.5481,
6291     -0.1528,
6292     2.0526
6293    ],
6294    [
6295     0.9764,
6296     0.3109,
6297     1.8659
6298    ]
6299   ],
6300   {
6301    "attributes":{
6302     "index":639
6303    }
6304   }
6305  ],
6306  "electric-035":[
6307   [
6308    [
6309     0.5481,
6310     -0.1528,
6311     2.0526
6312    ]
6312,
6313    [
6314     0.5807,
6315     -0.7692,
6316     1.8982
6317    ],
6318    [
6319     0.5481,
6320     -0.1528,
6321     2.0526
6322    ],
6323    [
6324     1.0726,
6325     -0.3515,
6326     1.8099
6327    ]
6328   ],
6329   {
6330    "attributes":{
6331     "index":520
6332    }
6333   }
6334  ],
6335  "electric-036":[
6336   [
6337    [
6338     -0.8964,
6339     1.2959,
6340     1.4304
6341    ],
6342    [
6343     -1.2548,
6344     0.7317,
6345     1.5639
6346    ]
6347   ],
6348   {
6349    "attributes":{
6350     "index":878
6351    }
6352   }
6353  ],
6354  "electric-037":[
6355   [
6356    [
6357     -0.2782,
6358     1.4274,
6359     1.5552
6360    ],
6361    [
6362     -0.8964,
6363     1.2959,
6364     1.4304
6365    ]
6366   ],
6367   {
6368    "attributes":{
6369     "index":441
6370    }
6371   }
6372  ],
6373  "electric-038":[
6374   [
6375    [
6376     0.9301,
6377     1.2734,
6378     1.4374
6379    ],
6380    [
6381     0.9764,
6382     0.3109,
6383     1.8659
6384    ]
6385   ],
6386   {
6387    "attributes":{
6388     "index":219
6389    }
6390   }
6391  ],
6392  "electric-039":[
6393   [
6394    [
6395     0.9301,
6396     1.2734,
6397     1.4374
6398    ],
6399    [
6400     0.2769,
6401     1.394,
6402     1.5837
6403    ]
6404   ],
6405   {
6406    "attributes":{
6407     "index":33
6408    }
6409   }
6410  ],
6411  "electric-040":[
6412   [
6413    [
6414     0.9301,
6415     1.2734,
6416     1.4374
6417    ],
6418    [
6419     1.2294,
6420     0.7388,
6421     1.575
6422    ]
6423   ],
6424   {
6425    "attributes":{
6426     "index":218
6427    }
6428   }
6429  ],
6430  "electric-041":[
6431   [
6432    [
6433     -0.6395,
6434     0.9117,
6435     1.8172
6436    ],
6437    [
6438     -0.5526,
6439     -0.16,
6440     2.052
6441    ],
6442    [
6443     -0.6395,
6444     0.9117,
6445     1.8172
6446    ],
6447    [
6448     0.2769,
6449     1.394,
6450     1.5837
6451    ]
6452   ],
6453   {
6454    "attributes":{
6455     "index":814
6456    }
6457   }
6458  ],
6459  "electric-042":[
6460   [
6461    [
6462     -0.6395,
6463     0.9117,
6464     1.8172
6465    ],
6466    [
6467     -0.9522,
6468     0.278,
6469     1.8849
6470    ],
6471    [
6472     -0.6395,
6473     0.9117,
6474     1.8172
6475    ],
6476    [
6477     -1.2548,
6478     0.7317,
6479     1.5639
6480    ],
6481    [
6482     -0.6395,
6483     0.9117,
6484     1.8172
6485    ],
6486    [
6487     -0.2782,
6488     1.4274,
6489     1.5552
6490    ]
6491   ],
6492   {
6493    "attributes":{
6494     "index":307
6495    }
6496   }
6497  ],
6498  "electric-043":[
6499   [
6500    [
6501     -0.6395,
6502     0.9117,
6503     1.8172
6504    ],
6505    [
6506     -0.8964,
6507     1.2959,
6508     1.4304
6509    ]
6510   ],
6511   {
6512    "attributes":{
6513     "index":324
6514    }
6515   }
6516  ],
6517  "electric-044":[
6518   [
6519    [
6520     -0.003,
6521     1.0165,
6522     1.8721
6523    ],
6524    [
6525     0.9301,
6526     1.2734,
6527     1.4374
6528    ],
6529    [
6530     -0.003,
6531     1.0165,
6532     1.8721
6533    ],
6534    [
6535     -0.8964,
6536     1.2959,
6537     1.4304
6538    ]
6539   ],
6540   {
6541    "attributes":{
6542     "index":79
6543    }
6544   }
6545  ],
6546  "electric-045":[
6547   [
6548    [
6549     -0.003,
6550     1.0165,
6551     1.8721
6552    ],
6553    [
6554     -0.6395,
6555     0.9117,
6556     1.8172
6557    ]
6558   ],
6559   {
6560    "attributes":{
6561     "index":179
6562    }
6563   }
6564  ],
6565  "electric-046":[
6566   [
6567    [
6568     -0.003,
6569     1.0165,
6570     1.8721
6571    ],
6572    [
6573     -0.2782,
6574     1.4274,
6575     1.5552
6576    ],
6577    [
6578     -0.003,
6579     1.0165,
6580     1.8721
6581    ],
6582    [
6583     0.2769,
6584     1.394,
6585     1.5837
6586    ]
6587   ],
6588   {
6589    "attributes":{
6590     "index":233
6591    }
6592   }
6593  ],
6594  "electric-047":[
6595   [
6596    [
6597     0.6315,
6598     0.9307,
6599     1.8069
6600    ],
6601    [
6602     -0.2782,
6603     1.4274,
6604     1.5552
6605    ]
6606   ],
6607   {
6608    "attributes":{
6609     "index":938
6610    }
6611   }
6612  ],
6613  "electric-048":[
6614   [
6615    [
6616     0.6315,
6617     0.9307,
6618     1.8069
6619    ],
6620    [
6621     0.9764,
6622     0.3109,
6623     1.8659
6624    ],
6625    [
6626     0.6315,
6627     0.9307,
6628     1.8069
6629    ],
6630    [
6631     1.2294,
6632     0.7388,
6633     1.575
6634    ],
6635    [
6636     0.6315,
6637     0.9307,
6638     1.8069
6639    ],
6640    [
6641     -0.003,
6642     1.0165,
6643     1.8721
6644    ]
6645   ],
6646   {
6647    "attributes":{
6648     "index":949
6649    }
6650   }
6651  ],
6652  "electric-049":[
6653   [
6654    [
6655     0.6315,
6656     0.9307,
6657     1.8069
6658    ],
6659    [
6660     0.2769,
6661     1.394,
6662     1.5837
6663    ],
6664    [
6665     0.6315,
6666     0.9307,
6667     1.8069
6668    ],
6669    [
6670     0.9301,
6671     1.2734,
6672     1.4374
6673    ]
6674   ],
6675   {
6676    "attributes":{
6677     "index":944
6678    }
6679   }
6680  ],
6681  "electric-050":[
6682   [
6683    [
6684     -0.3162,
6685     0.4911,
6686     2.0472
6687    ],
6688    [
6689     0.5481,
6690     -0.1528,
6691     2.0526
6692    ],
6693    [
6694     -0.3162,
6695     0.4911,
6696     2.0472
6697    ],
6698    [
6699     0.6315,
6700     0.9307,
6701     1.8069
6702    ],
6703    [
6704     -0.3162,
6705     0.4911,
6706     2.0472
6707    ],
6708    [
6709     -0.2782,
6710     1.4274,
6711     1.5552
6712    ]
6713   ],
6714   {
6715    "attributes":{
6716     "index":981
6717    }
6718   }
6719  ],
6720  "electric-051":[
6721   [
6722    [
6723     -0.3162,
6724     0.4911,
6725     2.0472
6726    ],
6727    [
6728     -0.9522,
6729     0.278,
6730     1.8849
6731    ],
6732    [
6733     -0.3162,
6734     0.4911,
6735     2.0472
6736    ],
6737    [
6738     -0.5526,
6739     -0.16,
6740     2.052
6741    ]
6742   ],
6743   {
6744    "attributes":{
6745     "index":287
6746    }
6747   }
6748  ],
6749  "electric-052":[
6750   [
6751    [
6752     -0.3162,
6753     0.4911,
6754     2.0472
6755    ],
6756    [
6757     -0.003,
6758     1.0165,
6759     1.8721
6760    ],
6761    [
6762     -0.3162,
6763     0.4911,
6764     2.0472
6765    ],
6766    [
6767     -0.6395,
6768     0.9117,
6769     1.8172
6770    ]
6771   ],
6772   {
6773    "attributes":{
6774     "index":730
6775    }
6776   }
6777  ],
6778  "electric-053":[
6779   [
6780    [
6781     0.3255,
6782     0.4854,
6783     2.049
6784    ],
6785    [
6786     -0.6395,
6787     0.9117,
6788     1.8172
6789    ],
6790    [
6791     0.3255,
6792     0.4854,
6793     2.049
6794    ],
6795    [
6796     1.2294,
6797     0.7388,
6798     1.575
6799    ],
6800    [
6801     0.3255,
6802     0.4854,
6803     2.049
6804    ],
6805    [
6806     0.2769,
6807     1.394,
6808     1.5837
6809    ]
6810   ],
6811   {
6812    "attributes":{
6813     "index":22
6814    }
6815   }
6816  ],
6817  "electric-054":[
6818   [
6819    [
6820     0.3255,
6821     0.4854,
6822     2.049
6823    ],
6824    [
6825     0.9764,
6826     0.3109,
6827     1.8659
6828    ],
6829    [
6830     0.3255,
6831     0.4854,
6832     2.049
6833    ],
6834    [
6835     0.5481,
6836     -0.1528,
6837     2.0526
6838    ],
6839    [
6840     0.3255,
6841     0.4854,
6842     2.049
6843    ],
6844    [
6845     -0.003,
6846     1.0165,
6847     1.8721
6848    ]
6849   ],
6850   {
6851    "attributes":{
6852     "index":915
6853    }
6854   }
6855  ],
6856  "electric-055":[
6857   [
6858    [
6859     0.3255,
6860     0.4854,
6861     2.049
6862    ],
6863    [
6864     -0.3162,
6865     0.4911,
6866     2.0472
6867    ],
6868    [
6869     0.3255,
6870     0.4854,
6871     2.049
6872    ],
6873    [
6874     0.6315,
6875     0.9307,
6876     1.8069
6877    ]
6878   ],
6879   {
6880    "attributes":{
6881     "index":244
6882    }
6883   }
6884  ],
6885  "electric-056":[
6886   [
6887    [
6888     0.0041,
6889     -0.0253,
6890     2.1306
6891    ],
6892    [
6893     0.9764,
6894     0.3109,
6895     1.8659
6896    ],
6897    [
6898     0.0041,
6899     -0.0253,
6900     2.1306
6901    ],
6902    [
6903     -0.9522,
6904     0.278,
6905     1.8849
6906    ],
6907    [
6908     0.0041,
6909     -0.0253,
6910     2.1306
6911    ],
6912    [
6913     -0.5602,
6914     -0.8298,
6915     1.8783
6916    ]
6917   ],
6918   {
6919    "attributes":{
6920     "index":73
6921    }
6922   }
6923  ],
6924  "electric-057":[
6925   [
6926    [
6927     0.0041,
6928     -0.0253,
6929     2.1306
6930    ],
6931    [
6932     -0.0061,
6933     -0.5943,
6934     2.0477
6935    ],
6936    [
6937     0.0041,
6938     -0.0253,
6939     2.1306
6940    ],
6941    [
6942     -0.5526,
6943     -0.16,
6944     2.052
6945    ],
6946    [
6947     0.0041,
6948     -0.0253,
6949     2.1306
6950    ],
6951    [
6952     0.5481,
6953     -0.1528,
6954     2.0526
6955    ]
6956   ],
6957   {
6958    "attributes":{
6959     "index":454
6960    }
6961   }
6962  ],
6963  "electric-058":[
6964   [
6965    [
6966     1.8328,
6967     0.0033,
6968     1.0872
6969    ],
6970    [
6971     1.2294,
6972     0.7388,
6973     1.575
6974    ]
6975   ],
6976   {
6977    "attributes":{
6978     "index":732
6979    }
6980   }
6981  ],
6982  "electric-059":[
6983   [
6984    [
6985     1.8328,
6986     0.0033,
6987     1.0872
6988    ],
6989    [
6990     1.4999,
6991     -0.4955,
6992     1.4329
6993    ]
6994   ],
6995   {
6996    "attributes":{
6997     "index":419
6998    }
6999   }
7000  ],
7001  "electric-060":[
7002   [
7003    [
7004     1.8328,
7005     0.0033,
7006     1.0872
7007    ],
7008    [
7009     1.4461,
7010     0.1656,
7011     1.5562
7012    ]
7013   ],
7014   {
7015    "attributes":{
7016     "index":931
7017    }
7018   }
7019  ],
7020  "electric-061":[
7021   [
7022    [
7023     1.7428,
7024     0.5294,
7025     1.0997
7026    ],
7027    [
7028     1.2294,
7029     0.7388,
7030     1.575
7031    ],
7032    [
7033     1.7428,
7034     0.5294,
7035     1.0997
7036    ],
7037    [
7038     1.4461,
7039     0.1656,
7040     1.5562
7041    ]
7042   ],
7043   {
7044    "attributes":{
7045     "index":53
7046    }
7047   }
7048  ],
7049  "electric-062":[
7050   [
7051    [
7052     1.7428,
7053     0.5294,
7054     1.0997
7055    ],
7056    [
7057     1.8328,
7058     0.0033,
7059     1.0872
7060    ]
7061   ],
7062   {
7063    "attributes":{
7064     "index":873
7065    }
7066   }
7067  ],
7068  "electric-063":[
7069   [
7070    [
7071     1.4831,
7072     1.1,
7073     1.0657
7074    ],
7075    [
7076     1.4461,
7077     0.1656,
7078     1.5562
7079    ]
7080   ],
7081   {
7082    "attributes":{
7083     "index":395
7084    }
7085   }
7086  ],
7087  "electric-064":[
7088   [
7089    [
7090     1.4831,
7091     1.1,
7092     1.0657
7093    ],
7094    [
7095     0.9301,
7096     1.2734,
7097     1.4374
7098    ],
7099    [
7100     1.4831,
7101     1.1,
7102     1.0657
7103    ],
7104    [
7105     1.2294,
7106     0.7388,
7107     1.575
7108    ]
7109   ],
7110   {
7111    "attributes":{
7112     "index":765
7113    }
7114   }
7115  ],
7116  "electric-065":[
7117   [
7118    [
7119     1.4831,
7120     1.1,
7121     1.0657
7122    ],
7123    [
7124     1.7428,
7125     0.5294,
7126     1.0997
7127    ]
7128   ],
7129   {
7130    "attributes":{
7131     "index":857
7132    }
7133   }
7134  ],
7135  "electric-066":[
7136   [
7137    [
7138     2.028,
7139     0.3274,
7140     0.5735
7141    ],
7142    [
7143     1.8328,
7144     0.0033,
7145     1.0872
7146    ]
7147   ],
7148   {
7149    "attributes":{
7150     "index":168
7151    }
7152   }
7153  ],
7154  "electric-067":[
7155   [
7156    [
7157     2.028,
7158     0.3274,
7159     0.5735
7160    ],
7161    [
7162     1.7428,
7163     0.5294,
7164     1.0997
7165    ]
7166   ],
7167   {
7168    "attributes":{
7169     "index":971
7170    }
7171   }
7172  ],
7173  "electric-068":[
7174   [
7175    [
7176     1.8315,
7177     0.902,
7178     0.6023
7179    ],
7180    [
7181     1.8328,
7182     0.0033,
7183     1.0872
7184    ]
7185   ],
7186   {
7187    "attributes":{
7188     "index":957
7189    }
7190   }
7191  ],
7192  "electric-069":[
7193   [
7194    [
7195     1.8315,
7196     0.902,
7197     0.6023
7198    ],
7199    [
7200     1.7428,
7201     0.5294,
7202     1.0997
7203    ],
7204    [
7205     1.8315,
7206     0.902,
7207     0.6023
7208    ],
7209    [
7210     2.028,
7211     0.3274,
7212     0.5735
7213    ],
7214    [
7215     1.8315,
7216     0.902,
7217     0.6023
7218    ],
7219    [
7220     1.4831,
7221     1.1,
7222     1.0657
7223    ]
7224   ],
7225   {
7226    "attributes":{
7227     "index":51
7228    }
7229   }
7230  ],
7231  "electric-070":[
7232   [
7233    [
7234     2.031,
7235     0.647,
7236     0.0365
7237    ],
7238    [
7239     1.8315,
7240     0.902,
7241     0.6023
7242    ],
7243    [
7244     2.031,
7245     0.647,
7246     0.0365
7247    ],
7248    [
7249     2.028,
7250     0.3274,
7251     0.5735
7252    ]
7253   ],
7254   {
7255    "attributes":{
7256     "index":502
7257    }
7258   }
7259  ],
7260  "electric-071":[
7261   [
7262    [
7263     0.5359,
7264     -1.7443,
7265     1.098
7266    ],
7267    [
7268     1.085,
7269     -0.9419,
7270     1.5728
7271    ]
7272   ],
7273   {
7274    "attributes":{
7275     "index":756
7276    }
7277   }
7278  ],
7279  "electric-072":[
7280   [
7281    [
7282     0.5359,
7283     -1.7443,
7284     1.098
7285    ],
7286    [
7287     -0.0292,
7288     -1.5633,
7289     1.4462
7290    ]
7291   ],
7292   {
7293    "attributes":{
7294     "index":263
7295    }
7296   }
7297  ],
7298  "electric-073":[
7299   [
7300    [
7301     1.0769,
7302     -1.4743,
7303     1.0969
7304    ],
7305    [
7306     1.085,
7307     -0.9419,
7308     1.5728
7309    ],
7310    [
7311     1.0769,
7312     -1.4743,
7313     1.0969
7314    ],
7315    [
7316     0.5944,
7317     -1.3142,
7318     1.5696
7319    ]
7320   ],
7321   {
7322    "attributes":{
7323     "index":621
7324    }
7325   }
7326  ],
7327  "electric-074":[
7328   [
7329    [
7330     1.0769,
7331     -1.4743,
7332     1.0969
7333    ],
7334    [
7335     0.5359,
7336     -1.7443,
7337     1.098
7338    ]
7339   ],
7340   {
7341    "attributes":{
7342     "index":223
7343    }
7344   }
7345  ],
7346  "electric-075":[
7347   [
7348    [
7349     1.4942,
7350     -1.0466,
7351     1.0985
7352    ],
7353    [
7354     1.0726,
7355     -0.3515,
7356     1.8099
7357    ],
7358    [
7359     1.4942,
7360     -1.0466,
7361     1.0985
7362    ],
7363    [
7364     0.5944,
7365     -1.3142,
7366     1.5696
7367    ]
7368   ],
7369   {
7370    "attributes":{
7371     "index":868
7372    }
7373   }
7374  ],
7375  "electric-076":[
7376   [
7377    [
7378     1.4942,
7379     -1.0466,
7380     1.0985
7381    ],
7382    [
7383     1.4999,
7384     -0.4955,
7385     1.4329
7386    ]
7387   ],
7388   {
7389    "attributes":{
7390     "index":193
7391    }
7392   }
7393  ],
7394  "electric-077":[
7395   [
7396    [
7397     1.4942,
7398     -1.0466,
7399     1.0985
7400    ],
7401    [
7402     1.085,
7403     -0.9419,
7404     1.5728
7405    ],
7406    [
7407     1.4942,
7408     -1.0466,
7409     1.0985
7410    ],
7411    [
7412     1.0769,
7413     -1.4743,
7414     1.0969
7415    ]
7416   ],
7417   {
7418    "attributes":{
7419     "index":800
7420    }
7421   }
7422  ],
7423  "electric-078":[
7424   [
7425    [
7426     0.936,
7427     -1.8347,
7428     0.5417
7429    ],
7430    [
7431     0.5359,
7432     -1.7443,
7433     1.098
7434    ],
7435    [
7436     0.936,
7437     -1.8347,
7438     0.5417
7439    ],
7440    [
7441     1.0769,
7442     -1.4743,
7443     1.0969
7444    ]
7445   ],
7446   {
7447    "attributes":{
7448     "index":47
7449    }
7450   }
7451  ],
7452  "electric-079":[
7453   [
7454    [
7455     1.4513,
7456     -1.4582,
7457     0.5608
7458    ],
7459    [
7460     0.5359,
7461     -1.7443,
7462     1.098
7463    ]
7464   ],
7465   {
7466    "attributes":{
7467     "index":188
7468    }
7469   }
7470  ],
7471  "electric-080":[
7472   [
7473    [
7474     1.4513,
7475     -1.4582,
7476     0.5608
7477    ],
7478    [
7479     1.4942,
7480     -1.0466,
7481     1.0985
7482    ],
7483    [
7484     1.4513,
7485     -1.4582,
7486     0.5608
7487    ],
7488    [
7489     1.0769,
7490     -1.4743,
7491     1.0969
7492    ],
7493    [
7494     1.4513,
7495     -1.4582,
7496     0.5608
7497    ],
7498    [
7499     0.936,
7500     -1.8347,
7501     0.5417
7502    ]
7503   ],
7504   {
7505    "attributes":{
7506     "index":376
7507    }
7508   }
7509  ],
7510  "electric-081":[
7511   [
7512    [
7513     1.2605,
7514     -1.72,
7515     0.042
7516    ],
7517    [
7518     1.4513,
7519     -1.4582,
7520     0.5608
7521    ],
7522    [
7523     1.2605,
7524     -1.72,
7525     0.042
7526    ],
7527    [
7528     0.936,
7529     -1.8347,
7530     0.5417
7531    ]
7532   ],
7533   {
7534    "attributes":{
7535     "index":615
7536    }
7537   }
7538  ],
7539  "electric-082":[
7540   [
7541    [
7542     -1.4882,
7543     -1.0691,
7544     1.0902
7545    ],
7546    [
7547     -1.0835,
7548     -0.3694,
7549     1.7949
7550    ],
7551    [
7552     -1.4882,
7553     -1.0691,
7554     1.0902
7555    ],
7556    [
7557     -0.5671,
7558     -1.3469,
7559     1.5486
7560    ]
7561   ],
7562   {
7563    "attributes":{
7564     "index":27
7565    }
7566   }
7567  ],
7568  "electric-083":[
7569   [
7570    [
7571     -1.4882,
7572     -1.0691,
7573     1.0902
7574    ],
7575    [
7576     -1.493,
7577     -0.46,
7578     1.448
7579    ]
7580   ],
7581   {
7582    "attributes":{
7583     "index":464
7584    }
7585   }
7586  ],
7587  "electric-084":[
7588   [
7589    [
7590     -1.4882,
7591     -1.0691,
7592     1.0902
7593    ],
7594    [
7595     -1.0922,
7596     -0.9519,
7597     1.5636
7598    ]
7599   ],
7600   {
7601    "attributes":{
7602     "index":640
7603    }
7604   }
7605  ],
7606  "electric-085":[
7607   [
7608    [
7609     -1.0585,
7610     -1.4771,
7611     1.1154
7612    ],
7613    [
7614     -0.5602,
7615     -0.8298,
7616     1.8783
7617    ],
7618    [
7619     -1.0585,
7620     -1.4771,
7621     1.1154
7622    ],
7623    [
7624     -0.0292,
7625     -1.5633,
7626     1.4462
7627    ]
7628   ],
7629   {
7630    "attributes":{
7631     "index":533
7632    }
7633   }
7634  ],
7635  "electric-086":[
7636   [
7637    [
7638     -1.0585,
7639     -1.4771,
7640     1.1154
7641    ],
7642    [
7643     -1.0922,
7644     -0.9519,
7645     1.5636
7646    ],
7647    [
7648     -1.0585,
7649     -1.4771,
7650     1.1154
7651    ],
7652    [
7653     -0.5671,
7654     -1.3469,
7655     1.5486
7656    ]
7657   ],
7658   {
7659    "attributes":{
7660     "index":904
7661    }
7662   }
7663  ],
7664  "electric-087":[
7665   [
7666    [
7667     -1.0585,
7668     -1.4771,
7669     1.1154
7670    ],
7671    [
7672     -1.4882,
7673     -1.0691,
7674     1.0902
7675    ]
7676   ],
7677   {
7678    "attributes":{
7679     "index":901
7680    }
7681   }
7682  ],
7683  "electric-088":[
7684   [
7685    [
7686     -0.5716,
7687     -1.7489,
7688     1.0764
7689    ],
7690    [
7691     0.5359,
7692     -1.7443,
7693     1.098
7694    ],
7695    [
7696     -0.5716,
7697     -1.7489,
7698     1.0764
7699    ],
7700    [
7701     -1.0922,
7702     -0.9519,
7703     1.5636
7704    ]
7705   ],
7706   {
7707    "attributes":{
7708     "index":187
7709    }
7710   }
7711  ],
7712  "electric-089":[
7713   [
7714    [
7715     -0.5716,
7716     -1.7489,
7717     1.0764
7718    ],
7719    [
7720     -0.0292,
7721     -1.5633,
7722     1.4462
7723    ]
7724   ],
7725   {
7726    "attributes":{
7727     "index":753
7728    }
7729   }
7730  ],
7731  "electric-090":[
7732   [
7733    [
7734     -0.5716,
7735     -1.7489,
7736     1.0764
7737    ],
7738    [
7739     -0.5671,
7740     -1.3469,
7741     1.5486
7742    ],
7743    [
7744     -0.5716,
7745     -1.7489,
7746     1.0764
7747    ],
7748    [
7749     -1.0585,
7750     -1.4771,
7751     1.1154
7752    ]
7753   ],
7754   {
7755    "attributes":{
7756     "index":730
7757    }
7758   }
7759  ],
7760  "electric-091":[
7761   [
7762    [
7763     -1.4573,
7764     -1.4493,
7765     0.5641
7766    ],
7767    [
7768     -0.5716,
7769     -1.7489,
7770     1.0764
7771    ]
7772   ],
7773   {
7774    "attributes":{
7775     "index":586
7776    }
7777   }
7778  ],
7779  "electric-092":[
7780   [
7781    [
7782     -1.4573,
7783     -1.4493,
7784     0.5641
7785    ],
7786    [
7787     -1.0585,
7788     -1.4771,
7789     1.1154
7790    ]
7791   ],
7792   {
7793    "attributes":{
7794     "index":192
7795    }
7796   }
7797  ],
7798  "electric-093":[
7799   [
7800    [
7801     -1.4573,
7802     -1.4493,
7803     0.5641
7804    ],
7805    [
7806     -1.4882,
7807     -1.0691,
7808     1.0902
7809    ]
7810   ],
7811   {
7812    "attributes":{
7813     "index":919
7814    }
7815   }
7816  ],
7817  "electric-094":[
7818   [
7819    [
7820     -0.9615,
7821     -1.8028,
7822     0.5956
7823    ],
7824    [
7825     -1.4882,
7826     -1.0691,
7827     1.0902
7828    ]
7829   ],
7830   {
7831    "attributes":{
7832     "index":554
7833    }
7834   }
7835  ],
7836  "electric-095":[
7837   [
7838    [
7839     -0.9615,
7840     -1.8028,
7841     0.5956
7842    ],
7843    [
7844     -0.5716,
7845     -1.7489,
7846     1.0764
7847    ],
7848    [
7849     -0.9615,
7850     -1.8028,
7851     0.5956
7852    ],
7853    [
7854     -1.0585,
7855     -1.4771,
7856     1.1154
7857    ],
7858    [
7859     -0.9615,
7860     -1.8028,
7861     0.5956
7862    ],
7863    [
7864     -1.4573,
7865     -1.4493,
7866     0.5641
7867    ]
7868   ],
7869   {
7870    "attributes":{
7871     "index":822
7872    }
7873   }
7874  ],
7875  "electric-096":[
7876   [
7877    [
7878     -1.2861,
7879     -1.6943,
7880     0.047
7881    ],
7882    [
7883     -1.0585,
7884     -1.4771,
7885     1.1154
7886    ]
7887   ],
7888   {
7889    "attributes":{
7890     "index":333
7891    }
7892   }
7893  ],
7894  "electric-097":[
7895   [
7896    [
7897     -1.2861,
7898     -1.6943,
7899     0.047
7900    ],
7901    [
7902     -0.9615,
7903     -1.8028,
7904     0.5956
7905    ]
7906   ],
7907   {
7908    "attributes":{
7909     "index":601
7910    }
7911   }
7912  ],
7913  "electric-098":[
7914   [
7915    [
7916     -1.2861,
7917     -1.6943,
7918     0.047
7919    ],
7920    [
7921     -1.4573,
7922     -1.4493,
7923     0.5641
7924    ]
7925   ],
7926   {
7927    "attributes":{
7928     "index":369
7929    }
7930   }
7931  ],
7932  "electric-099":[
7933   [
7934    [
7935     -1.5024,
7936     1.0781,
7937     1.0546
7938    ],
7939    [
7940     -1.4416,
7941     0.1805,
7942     1.5558
7943    ]
7944   ],
7945   {
7946    "attributes":{
7947     "index":739
7948    }
7949   }
7950  ],
7951  "electric-100":[
7952   [
7953    [
7954     -1.5024,
7955     1.0781,
7956     1.0546
7957    ],
7958    [
7959     -0.8964,
7960     1.2959,
7961     1.4304
7962    ],
7963    [
7964     -1.5024,
7965     1.0781,
7966     1.0546
7967    ],
7968    [
7969     -1.2548,
7970     0.7317,
7971     1.5639
7972    ]
7973   ],
7974   {
7975    "attributes":{
7976     "index":91
7977    }
7978   }
7979  ],
7980  "electric-101":[
7981   [
7982    [
7983     -1.7188,
7984     0.5329,
7985     1.1379
7986    ],
7987    [
7988     -0.9522,
7989     0.278,
7990     1.8849
7991    ],
7992    [
7993     -1.7188,
7994     0.5329,
7995     1.1379
7996    ],
7997    [
7998     -1.493,
7999     -0.46,
8000     1.448
8001    ]
8002   ],
8003   {
8004    "attributes":{
8005     "index":757
8006    }
8007   }
8008  ],
8009  "electric-102":[
8010   [
8011    [
8012     -1.7188,
8013     0.5329,
8014     1.1379
8015    ],
8016    [
8017     -1.2548,
8018     0.7317,
8019     1.5639
8020    ]
8021   ],
8022   {
8023    "attributes":{
8024     "index":296
8025    }
8026   }
8027  ],
8028  "electric-103":[
8029   [
8030    [
8031     -1.7188,
8032     0.5329,
8033     1.1379
8034    ],
8035    [
8036     -1.4416,
8037     0.1805,
8038     1.5558
8039    ],
8040    [
8041     -1.7188,
8042     0.5329,
8043     1.1379
8044    ],
8045    [
8046     -1.5024,
8047     1.0781,
8048     1.0546
8049    ]
8050   ],
8051   {
8052    "attributes":{
8053     "index":931
8054    }
8055   }
8056  ],
8057  "electric-104":[
8058   [
8059    [
8060     -1.8519,
8061     0.0067,
8062     1.0503
8063    ],
8064    [
8065     -1.2548,
8066     0.7317,
8067     1.5639
8068    ]
8069   ],
8070   {
8071    "attributes":{
8072     "index":800
8073    }
8074   }
8075  ],
8076  "electric-105":[
8077   [
8078    [
8079     -1.8519,
8080     0.0067,
8081     1.0503
8082    ],
8083    [
8084     -1.493,
8085     -0.46,
8086     1.448
8087    ],
8088    [
8089     -1.8519,
8090     0.0067,
8091     1.0503
8092    ],
8093    [
8094     -1.4416,
8095     0.1805,
8096     1.5558
8097    ]
8098   ],
8099   {
8100    "attributes":{
8101     "index":193
8102    }
8103   }
8104  ],
8105  "electric-106":[
8106   [
8107    [
8108     -1.8519,
8109     0.0067,
8110     1.0503
8111    ],
8112    [
8113     -1.7188,
8114     0.5329,
8115     1.1379
8116    ]
8117   ],
8118   {
8119    "attributes":{
8120     "index":604
8121    }
8122   }
8123  ],
8124  "electric-107":[
8125   [
8126    [
8127     -1.8205,
8128     0.9241,
8129     0.6021
8130    ],
8131    [
8132     -1.8519,
8133     0.0067,
8134     1.0503
8135    ]
8136   ],
8137   {
8138    "attributes":{
8139     "index":130
8140    }
8141   }
8142  ],
8143  "electric-108":[
8144   [
8145    [
8146     -1.8205,
8147     0.9241,
8148     0.6021
8149    ],
8150    [
8151     -1.7188,
8152     0.5329,
8153     1.1379
8154    ]
8155   ],
8156   {
8157    "attributes":{
8158     "index":766
8159    }
8160   }
8161  ],
8162  "electric-109":[
8163   [
8164    [
8165     -1.8205,
8166     0.9241,
8167     0.6021
8168    ],
8169    [
8170     -1.5024,
8171     1.0781,
8172     1.0546
8173    ]
8174   ],
8175   {
8176    "attributes":{
8177     "index":645
8178    }
8179   }
8180  ],
8181  "electric-110":[
8182   [
8183    [
8184     -2.031,
8185     0.3188,
8186     0.5626
8187    ],
8188    [
8189     -1.5024,
8190     1.0781,
8191     1.0546
8192    ]
8193   ],
8194   {
8195    "attributes":{
8196     "index":582
8197    }
8198   }
8199  ],
8200  "electric-111":[
8201   [
8202    [
8203     -2.031,
8204     0.3188,
8205     0.5626
8206    ],
8207    [
8208     -1.7188,
8209     0.5329,
8210     1.1379
8211    ]
8212   ],
8213   {
8214    "attributes":{
8215     "index":440
8216    }
8217   }
8218  ],
8219  "electric-112":[
8220   [
8221    [
8222     -2.0273,
8223     0.6501,
8224     0.0144
8225    ],
8226    [
8227     -1.8205,
8228     0.9241,
8229     0.6021
8230    ]
8231   ],
8232   {
8233    "attributes":{
8234     "index":579
8235    }
8236   }
8237  ],
8238  "electric-113":[
8239   [
8240    [
8241     -2.0273,
8242     0.6501,
8243     0.0144
8244    ],
8245    [
8246     -2.031,
8247     0.3188,
8248     0.5626
8249    ]
8250   ],
8251   {
8252    "attributes":{
8253     "index":66
8254    }
8255   }
8256  ],
8257  "electric-114":[
8258   [
8259    [
8260     0.5902,
8261     1.7535,
8262     1.0556
8263    ],
8264    [
8265     -0.2782,
8266     1.4274,
8267     1.5552
8268    ]
8269   ],
8270   {
8271    "attributes":{
8272     "index":475
8273    }
8274   }
8275  ],
8276  "electric-115":[
8277   [
8278    [
8279     0.5902,
8280     1.7535,
8281     1.0556
8282    ],
8283    [
8284     0.2769,
8285     1.394,
8286     1.5837
8287    ],
8288    [
8289     0.5902,
8290     1.7535,
8291     1.0556
8292    ],
8293    [
8294     0.9301,
8295     1.2734,
8296     1.4374
8297    ]
8298   ],
8299   {
8300    "attributes":{
8301     "index":569
8302    }
8303   }
8304  ],
8305  "electric-116":[
8306   [
8307    [
8308     0.0335,
8309     1.8182,
8310     1.1063
8311    ],
8312    [
8313     -0.8964,
8314     1.2959,
8315     1.4304
8316    ],
8317    [
8318     0.0335,
8319     1.8182,
8320     1.1063
8321    ],
8322    [
8323     -0.003,
8324     1.0165,
8325     1.8721
8326    ]
8327   ],
8328   {
8329    "attributes":{
8330     "index":679
8331    }
8332   }
8333  ],
8334  "electric-117":[
8335   [
8336    [
8337     0.0335,
8338     1.8182,
8339     1.1063
8340    ],
8341    [
8342     0.2769,
8343     1.394,
8344     1.5837
8345    ],
8346    [
8347     0.0335,
8348     1.8182,
8349     1.1063
8350    ],
8351    [
8352     -0.2782,
8353     1.4274,
8354     1.5552
8355    ]
8356   ],
8357   {
8358    "attributes":{
8359     "index":229
8360    }
8361   }
8362  ],
8363  "electric-118":[
8364   [
8365    [
8366     0.0335,
8367     1.8182,
8368     1.1063
8369    ],
8370    [
8371     0.5902,
8372     1.7535,
8373     1.0556
8374    ]
8375   ],
8376   {
8377    "attributes":{
8378     "index":222
8379    }
8380   }
8381  ],
8382  "electric-119":[
8383   [
8384    [
8385     -0.5938,
8386     1.7427,
8387     1.077
8388    ],
8389    [
8390     0.2769,
8391     1.394,
8392     1.5837
8393    ]
8394   ],
8395   {
8396    "attributes":{
8397     "index":142
8398    }
8399   }
8400  ],
8401  "electric-120":[
8402   [
8403    [
8404     -0.5938,
8405     1.7427,
8406     1.077
8407    ],
8408    [
8409     -0.2782,
8410     1.4274,
8411     1.5552
8412    ]
8413   ],
8414   {
8415    "attributes":{
8416     "index":516
8417    }
8418   }
8419  ],
8420  "electric-121":[
8421   [
8422    [
8423     -0.5938,
8424     1.7427,
8425     1.077
8426    ],
8427    [
8428     -0.8964,
8429     1.2959,
8430     1.4304
8431    ],
8432    [
8433     -0.5938,
8434     1.7427,
8435     1.077
8436    ],
8437    [
8438     0.0335,
8439     1.8182,
8440     1.1063
8441    ]
8442   ],
8443   {
8444    "attributes":{
8445     "index":73
8446    }
8447   }
8448  ],
8449  "electric-122":[
8450   [
8451    [
8452     0.3356,
8453     2.0176,
8454     0.588
8455    ],
8456    [
8457     -0.5938,
8458     1.7427,
8459     1.077
8460    ]
8461   ],
8462   {
8463    "attributes":{
8464     "index":520
8465    }
8466   }
8467  ],
8468  "electric-123":[
8469   [
8470    [
8471     0.3356,
8472     2.0176,
8473     0.588
8474    ],
8475    [
8476     0.0335,
8477     1.8182,
8478     1.1063
8479    ],
8480    [
8481     0.3356,
8482     2.0176,
8483     0.588
8484    ],
8485    [
8486     0.5902,
8487     1.7535,
8488     1.0556
8489    ]
8490   ],
8491   {
8492    "attributes":{
8493     "index":230
8494    }
8495   }
8496  ],
8497  "electric-124":[
8498   [
8499    [
8500     -0.3065,
8501     2.0301,
8502     0.5779
8503    ],
8504    [
8505     0.5902,
8506     1.7535,
8507     1.0556
8508    ]
8509   ],
8510   {
8511    "attributes":{
8512     "index":98
8513    }
8514   }
8515  ],
8516  "electric-125":[
8517   [
8518    [
8519     -0.3065,
8520     2.0301,
8521     0.5779
8522    ],
8523    [
8524     -0.5938,
8525     1.7427,
8526     1.077
8527    ],
8528    [
8529     -0.3065,
8530     2.0301,
8531     0.5779
8532    ],
8533    [
8534     0.0335,
8535     1.8182,
8536     1.1063
8537    ]
8538   ],
8539   {
8540    "attributes":{
8541     "index":774
8542    }
8543   }
8544  ],
8545  "electric-126":[
8546   [
8547    [
8548     -0.3065,
8549     2.0301,
8550     0.5779
8551    ],
8552    [
8553     0.3356,
8554     2.0176,
8555     0.588
8556    ]
8557   ],
8558   {
8559    "attributes":{
8560     "index":710
8561    }
8562   }
8563  ],
8564  "electric-127":[
8565   [
8566    [
8567     0.0071,
8568     2.1322,
8569     0.0348
8570    ],
8571    [
8572     0.3356,
8573     2.0176,
8574     0.588
8575    ]
8576   ],
8577   {
8578    "attributes":{
8579     "index":360
8580    }
8581   }
8582  ],
8583  "electric-128":[
8584   [
8585    [
8586     0.0071,
8587     2.1322,
8588     0.0348
8589    ],
8590    [
8591     -0.3065,
8592     2.0301,
8593     0.5779
8594    ]
8595   ],
8596   {
8597    "attributes":{
8598     "index":37
8599    }
8600   }
8601  ],
8602  "electric-129":[
8603   [
8604    [
8605     1.1392,
8606     1.5419,
8607     0.9286
8608    ],
8609    [
8610     1.2294,
8611     0.7388,
8612     1.575
8613    ],
8614    [
8615     1.1392,
8616     1.5419,
8617     0.9286
8618    ],
8619    [
8620     1.8315,
8621     0.902,
8622     0.6023
8623    ],
8624    [
8625     1.1392,
8626     1.5419,
8627     0.9286
8628    ],
8629    [
8630     0.3356,
8631     2.0176,
8632     0.588
8633    ]
8634   ],
8635   {
8636    "attributes":{
8637     "index":927
8638    }
8639   }
8640  ],
8641  "electric-130":[
8642   [
8643    [
8644     1.1392,
8645     1.5419,
8646     0.9286
8647    ],
8648    [
8649     0.9301,
8650     1.2734,
8651     1.4374
8652    ],
8653    [
8654     1.1392,
8655     1.5419,
8656     0.9286
8657    ],
8658    [
8659     0.5902,
8660     1.7535,
8661     1.0556
8662    ]
8663   ],
8664   {
8665    "attributes":{
8666     "index":405
8667    }
8668   }
8669  ],
8670  "electric-131":[
8671   [
8672    [
8673     1.1392,
8674     1.5419,
8675     0.9286
8676    ],
8677    [
8678     1.4831,
8679     1.1,
8680     1.0657
8681    ]
8682   ],
8683   {
8684    "attributes":{
8685     "index":941
8686    }
8687   }
8688  ],
8689  "electric-132":[
8690   [
8691    [
8692     0.9415,
8693     1.8475,
8694     0.4931
8695    ],
8696    [
8697     0.0071,
8698     2.1322,
8699     0.0348
8700    ]
8701   ],
8702   {
8703    "attributes":{
8704     "index":204
8705    }
8706   }
8707  ],
8708  "electric-133":[
8709   [
8710    [
8711     0.9415,
8712     1.8475,
8713     0.4931
8714    ],
8715    [
8716     0.5902,
8717     1.7535,
8718     1.0556
8719    ],
8720    [
8721     0.9415,
8722     1.8475,
8723     0.4931
8724    ],
8725    [
8726     0.3356,
8727     2.0176,
8728     0.588
8729    ]
8730   ],
8731   {
8732    "attributes":{
8733     "index":42
8734    }
8735   }
8736  ],
8737  "electric-134":[
8738   [
8739    [
8740     0.9415,
8741     1.8475,
8742     0.4931
8743    ],
8744    [
8745     1.1392,
8746     1.5419,
8747     0.9286
8748    ]
8749   ],
8750   {
8751    "attributes":{
8752     "index":472
8753    }
8754   }
8755  ],
8756  "electric-135":[
8757   [
8758    [
8759     0.6858,
8760     2.0145,
8761     0.0293
8762    ],
8763    [
8764     0.5902,
8765     1.7535,
8766     1.0556
8767    ]
8768   ],
8769   {
8770    "attributes":{
8771     "index":188
8772    }
8773   }
8774  ],
8775  "electric-136":[
8776   [
8777    [
8778     0.6858,
8779     2.0145,
8780     0.0293
8781    ],
8782    [
8783     0.0071,
8784     2.1322,
8785     0.0348
8786    ],
8787    [
8788     0.6858,
8789     2.0145,
8790     0.0293
8791    ],
8792    [
8793     0.3356,
8794     2.0176,
8795     0.588
8796    ]
8797   ],
8798   {
8799    "attributes":{
8800     "index":193
8801    }
8802   }
8803  ],
8804  "electric-137":[
8805   [
8806    [
8807     0.6858,
8808     2.0145,
8809     0.0293
8810    ],
8811    [
8812     0.9415,
8813     1.8475,
8814     0.4931
8815    ]
8816   ],
8817   {
8818    "attributes":{
8819     "index":347
8820    }
8821   }
8822  ],
8823  "electric-138":[
8824   [
8825    [
8826     0.339,
8827     2.0493,
8828     -0.4779
8829    ],
8830    [
8831     0.3356,
8832     2.0176,
8833     0.588
8834    ]
8835   ],
8836   {
8837    "attributes":{
8838     "index":744
8839    }
8840   }
8841  ],
8842  "electric-139":[
8843   [
8844    [
8845     0.339,
8846     2.0493,
8847     -0.4779
8848    ],
8849    [
8850     0.0071,
8851     2.1322,
8852     0.0348
8853    ],
8854    [
8855     0.339,
8856     2.0493,
8857     -0.4779
8858    ],
8859    [
8860     0.6858,
8861     2.0145,
8862     0.0293
8863    ]
8864   ],
8865   {
8866    "attributes":{
8867     "index":201
8868    }
8869   }
8870  ],
8871  "electric-140":[
8872   [
8873    [
8874     1.4914,
8875     1.433,
8876     0.5084
8877    ],
8878    [
8879     0.9301,
8880     1.2734,
8881     1.4374
8882    ],
8883    [
8884     1.4914,
8885     1.433,
8886     0.5084
8887    ],
8888    [
8889     2.031,
8890     0.647,
8891     0.0365
8892    ]
8893   ],
8894   {
8895    "attributes":{
8896     "index":712
8897    }
8898   }
8899  ],
8900  "electric-141":[
8901   [
8902    [
8903     1.4914,
8904     1.433,
8905     0.5084
8906    ],
8907    [
8908     0.9415,
8909     1.8475,
8910     0.4931
8911    ],
8912    [
8913     1.4914,
8914     1.433,
8915     0.5084
8916    ],
8917    [
8918     1.4831,
8919     1.1,
8920     1.0657
8921    ]
8922   ],
8923   {
8924    "attributes":{
8925     "index":79
8926    }
8927   }
8928  ],
8929  "electric-142":[
8930   [
8931    [
8932     1.4914,
8933     1.433,
8934     0.5084
8935    ],
8936    [
8937     1.8315,
8938     0.902,
8939     0.6023
8940    ],
8941    [
8942     1.4914,
8943     1.433,
8944     0.5084
8945    ],
8946    [
8947     1.1392,
8948     1.5419,
8949     0.9286
8950    ]
8951   ],
8952   {
8953    "attributes":{
8954     "index":238
8955    }
8956   }
8957  ],
8958  "electric-143":[
8959   [
8960    [
8961     1.2476,
8962     1.7252,
8963     -0.0148
8964    ],
8965    [
8966     0.339,
8967     2.0493,
8968     -0.4779
8969    ],
8970    [
8971     1.2476,
8972     1.7252,
8973     -0.0148
8974    ],
8975    [
8976     1.1392,
8977     1.5419,
8978     0.9286
8979    ]
8980   ],
8981   {
8982    "attributes":{
8983     "index":30
8984    }
8985   }
8986  ],
8987  "electric-144":[
8988   [
8989    [
8990     1.2476,
8991     1.7252,
8992     -0.0148
8993    ],
8994    [
8995     1.4914,
8996     1.433,
8997     0.5084
8998    ]
8999   ],
9000   {
9001    "attributes":{
9002     "index":304
9003    }
9004   }
9005  ],
9006  "electric-145":[
9007   [
9008    [
9009     1.2476,
9010     1.7252,
9011     -0.0148
9012    ],
9013    [
9014     0.6858,
9015     2.0145,
9016     0.0293
9017    ],
9018    [
9019     1.2476,
9020     1.7252,
9021     -0.0148
9022    ],
9023    [
9024     0.9415,
9025     1.8475,
9026     0.4931
9027    ]
9028   ],
9029   {
9030    "attributes":{
9031     "index":593
9032    }
9033   }
9034  ],
9035  "electric-146":[
9036   [
9037    [
9038     0.9406,
9039     1.831,
9040     -0.5549
9041    ],
9042    [
9043     0.9415,
9044     1.8475,
9045     0.4931
9046    ]
9047   ],
9048   {
9049    "attributes":{
9050     "index":542
9051    }
9052   }
9053  ],
9054  "electric-147":[
9055   [
9056    [
9057     0.9406,
9058     1.831,
9059     -0.5549
9060    ],
9061    [
9062     0.6858,
9063     2.0145,
9064     0.0293
9065    ]
9066   ],
9067   {
9068    "attributes":{
9069     "index":698
9070    }
9071   }
9072  ],
9073  "electric-148":[
9074   [
9075    [
9076     0.9406,
9077     1.831,
9078     -0.5549
9079    ],
9080    [
9081     0.339,
9082     2.0493,
9083     -0.4779
9084    ],
9085    [
9086     0.9406,
9087     1.831,
9088     -0.5549
9089    ],
9090    [
9091     1.2476,
9092     1.7252,
9093     -0.0148
9094    ]
9095   ],
9096   {
9097    "attributes":{
9098     "index":495
9099    }
9100   }
9101  ],
9102  "electric-149":[
9103   [
9104    [
9105     1.6981,
9106     1.2814,
9107     0.0206
9108    ],
9109    [
9110     1.1392,
9111     1.5419,
9112     0.9286
9113    ],
9114    [
9115     1.6981,
9116     1.2814,
9117     0.0206
9118    ],
9119    [
9120     1.4831,
9121     1.1,
9122     1.0657
9123    ],
9124    [
9125     1.6981,
9126     1.2814,
9127     0.0206
9128    ],
9129    [
9130     0.9415,
9131     1.8475,
9132     0.4931
9133    ]
9134   ],
9135   {
9136    "attributes":{
9137     "index":641
9138    }
9139   }
9140  ],
9141  "electric-150":[
9142   [
9143    [
9144     1.6981,
9145     1.2814,
9146     0.0206
9147    ],
9148    [
9149     2.031,
9150     0.647,
9151     0.0365
9152    ],
9153    [
9154     1.6981,
9155     1.2814,
9156     0.0206
9157    ],
9158    [
9159     1.8315,
9160     0.902,
9161     0.6023
9162    ]
9163   ],
9164   {
9165    "attributes":{
9166     "index":12
9167    }
9168   }
9169  ],
9170  "electric-151":[
9171   [
9172    [
9173     1.6981,
9174     1.2814,
9175     0.0206
9176    ],
9177    [
9178     1.2476,
9179     1.7252,
9180     -0.0148
9181    ],
9182    [
9183     1.6981,
9184     1.2814,
9185     0.0206
9186    ],
9187    [
9188     1.4914,
9189     1.433,
9190     0.5084
9191    ]
9192   ],
9193   {
9194    "attributes":{
9195     "index":266
9196    }
9197   }
9198  ],
9199  "electric-152":[
9200   [
9201    [
9202     1.4351,
9203     1.4695,
9204     -0.5736
9205    ],
9206    [
9207     1.4914,
9208     1.433,
9209     0.5084
9210    ]
9211   ],
9212   {
9213    "attributes":{
9214     "index":907
9215    }
9216   }
9217  ],
9218  "electric-153":[
9219   [
9220    [
9221     1.4351,
9222     1.4695,
9223     -0.5736
9224    ],
9225    [
9226     1.6981,
9227     1.2814,
9228     0.0206
9229    ]
9230   ],
9231   {
9232    "attributes":{
9233     "index":929
9234    }
9235   }
9236  ],
9237  "electric-154":[
9238   [
9239    [
9240     1.4351,
9241     1.4695,
9242     -0.5736
9243    ],
9244    [
9245     1.2476,
9246     1.7252,
9247     -0.0148
9248    ],
9249    [
9250     1.4351,
9251     1.4695,
9252     -0.5736
9253    ],
9254    [
9255     0.9406,
9256     1.831,
9257     -0.5549
9258    ]
9259   ],
9260   {
9261    "attributes":{
9262     "index":867
9263    }
9264   }
9265  ],
9266  "electric-155":[
9267   [
9268    [
9269     1.8295,
9270     0.9603,
9271     -0.5191
9272    ],
9273    [
9274     1.2476,
9275     1.7252,
9276     -0.0148
9277    ]
9278   ],
9279   {
9280    "attributes":{
9281     "index":821
9282    }
9283   }
9284  ],
9285  "electric-156":[
9286   [
9287    [
9288     1.8295,
9289     0.9603,
9290     -0.5191
9291    ],
9292    [
9293     2.031,
9294     0.647,
9295     0.0365
9296    ]
9297   ],
9298   {
9299    "attributes":{
9300     "index":145
9301    }
9302   }
9303  ],
9304  "electric-157":[
9305   [
9306    [
9307     1.8295,
9308     0.9603,
9309     -0.5191
9310    ],
9311    [
9312     1.6981,
9313     1.2814,
9314     0.0206
9315    ],
9316    [
9317     1.8295,
9318     0.9603,
9319     -0.5191
9320    ],
9321    [
9322     1.4351,
9323     1.4695,
9324     -0.5736
9325    ]
9326   ],
9327   {
9328    "attributes":{
9329     "index":526
9330    }
9331   }
9332  ],
9333  "electric-158":[
9334   [
9335    [
9336     1.806,
9337     -0.619,
9338     0.9428
9339    ],
9340    [
9341     1.4513,
9342     -1.4582,
9343     0.5608
9344    ],
9345    [
9346     1.806,
9347     -0.619,
9348     0.9428
9349    ],
9350    [
9351     1.8328,
9352     0.0033,
9353     1.0872
9354    ]
9355   ],
9356   {
9357    "attributes":{
9358     "index":81
9359    }
9360   }
9361  ],
9362  "electric-159":[
9363   [
9364    [
9365     1.806,
9366     -0.619,
9367     0.9428
9368    ],
9369    [
9370     1.4999,
9371     -0.4955,
9372     1.4329
9373    ],
9374    [
9375     1.806,
9376     -0.619,
9377     0.9428
9378    ],
9379    [
9380     1.4942,
9381     -1.0466,
9382     1.0985
9383    ]
9384   ],
9385   {
9386    "attributes":{
9387     "index":846
9388    }
9389   }
9390  ],
9391  "electric-160":[
9392   [
9393    [
9394     2.0535,
9395     -0.3056,
9396     0.4945
9397    ],
9398    [
9399     1.7428,
9400     0.5294,
9401     1.0997
9402    ],
9403    [
9404     2.0535,
9405     -0.3056,
9406     0.4945
9407    ],
9408    [
9409     2.031,
9410     0.647,
9411     0.0365
9412    ]
9413   ],
9414   {
9415    "attributes":{
9416     "index":249
9417    }
9418   }
9419  ],
9420  "electric-161":[
9421   [
9422    [
9423     2.0535,
9424     -0.3056,
9425     0.4945
9426    ],
9427    [
9428     1.8328,
9429     0.0033,
9430     1.0872
9431    ],
9432    [
9433     2.0535,
9434     -0.3056,
9435     0.4945
9436    ],
9437    [
9438     2.028,
9439     0.3274,
9440     0.5735
9441    ]
9442   ],
9443   {
9444    "attributes":{
9445     "index":88
9446    }
9447   }
9448  ],
9449  "electric-162":[
9450   [
9451    [
9452     2.0535,
9453     -0.3056,
9454     0.4945
9455    ],
9456    [
9457     1.806,
9458     -0.619,
9459     0.9428
9460    ]
9461   ],
9462   {
9463    "attributes":{
9464     "index":816
9465    }
9466   }
9467  ],
9468  "electric-163":[
9469   [
9470    [
9471     2.13,
9472     0.0061,
9473     -0.0266
9474    ],
9475    [
9476     1.8295,
9477     0.9603,
9478     -0.5191
9479    ]
9480   ],
9481   {
9482    "attributes":{
9483     "index":152
9484    }
9485   }
9486  ],
9487  "electric-164":[
9488   [
9489    [
9490     2.13,
9491     0.0061,
9492     -0.0266
9493    ],
9494    [
9495     2.028,
9496     0.3274,
9497     0.5735
9498    ]
9499   ],
9500   {
9501    "attributes":{
9502     "index":585
9503    }
9504   }
9505  ],
9506  "electric-165":[
9507   [
9508    [
9509     2.13,
9510     0.0061,
9511     -0.0266
9512    ],
9513    [
9514     2.031,
9515     0.647,
9516     0.0365
9517    ],
9518    [
9519     2.13,
9520     0.0061,
9521     -0.0266
9522    ],
9523    [
9524     2.0535,
9525     -0.3056,
9526     0.4945
9527    ]
9528   ],
9529   {
9530    "attributes":{
9531     "index":115
9532    }
9533   }
9534  ],
9535  "electric-166":[
9536   [
9537    [
9538     2.0406,
9539     0.3192,
9540     -0.5214
9541    ],
9542    [
9543     1.8295,
9544     0.9603,
9545     -0.5191
9546    ],
9547    [
9548     2.0406,
9549     0.3192,
9550     -0.5214
9551    ],
9552    [
9553     2.031,
9554     0.647,
9555     0.0365
9556    ]
9557   ],
9558   {
9559    "attributes":{
9560     "index":696
9561    }
9562   }
9563  ],
9564  "electric-167":[
9565   [
9566    [
9567     2.0406,
9568     0.3192,
9569     -0.5214
9570    ],
9571    [
9572     2.13,
9573     0.0061,
9574     -0.0266
9575    ]
9576   ],
9577   {
9578    "attributes":{
9579     "index":720
9580    }
9581   }
9582  ],
9583  "electric-168":[
9584   [
9585    [
9586     1.8344,
9587     -0.9634,
9588     0.5044
9589    ],
9590    [
9591     1.0769,
9592     -1.4743,
9593     1.0969
9594    ],
9595    [
9596     1.8344,
9597     -0.9634,
9598     0.5044
9599    ],
9600    [
9601     1.2605,
9602     -1.72,
9603     0.042
9604    ]
9605   ],
9606   {
9607    "attributes":{
9608     "index":495
9609    }
9610   }
9611  ],
9612  "electric-169":[
9613   [
9614    [
9615     1.8344,
9616     -0.9634,
9617     0.5044
9618    ],
9619    [
9620     2.0535,
9621     -0.3056,
9622     0.4945
9623    ],
9624    [
9625     1.8344,
9626     -0.9634,
9627     0.5044
9628    ],
9629    [
9630     1.4942,
9631     -1.0466,
9632     1.0985
9633    ]
9634   ],
9635   {
9636    "attributes":{
9637     "index":606
9638    }
9639   }
9640  ],
9641  "electric-170":[
9642   [
9643    [
9644     1.8344,
9645     -0.9634,
9646     0.5044
9647    ],
9648    [
9649     1.4513,
9650     -1.4582,
9651     0.5608
9652    ],
9653    [
9654     1.8344,
9655     -0.9634,
9656     0.5044
9657    ],
9658    [
9659     1.806,
9660     -0.619,
9661     0.9428
9662    ]
9663   ],
9664   {
9665    "attributes":{
9666     "index":531
9667    }
9668   }
9669  ],
9670  "electric-171":[
9671   [
9672    [
9673     2.0318,
9674     -0.6457,
9675     -0.045
9676    ],
9677    [
9678     2.0406,
9679     0.3192,
9680     -0.5214
9681    ],
9682    [
9683     2.0318,
9684     -0.6457,
9685     -0.045
9686    ],
9687    [
9688     1.806,
9689     -0.619,
9690     0.9428
9691    ]
9692   ],
9693   {
9694    "attributes":{
9695     "index":635
9696    }
9697   }
9698  ],
9699  "electric-172":[
9700   [
9701    [
9702     2.0318,
9703     -0.6457,
9704     -0.045
9705    ],
9706    [
9707     1.8344,
9708     -0.9634,
9709     0.5044
9710    ],
9711    [
9712     2.0318,
9713     -0.6457,
9714     -0.045
9715    ],
9716    [
9717     2.13,
9718     0.0061,
9719     -0.0266
9720    ]
9721   ],
9722   {
9723    "attributes":{
9724     "index":85
9725    }
9726   }
9727  ],
9728  "electric-173":[
9729   [
9730    [
9731     2.0318,
9732     -0.6457,
9733     -0.045
9734    ],
9735    [
9736     2.0535,
9737     -0.3056,
9738     0.4945
9739    ]
9740   ],
9741   {
9742    "attributes":{
9743     "index":15
9744    }
9745   }
9746  ],
9747  "electric-174":[
9748   [
9749    [
9750     2.0226,
9751     -0.3329,
9752     -0.5849
9753    ],
9754    [
9755     2.0535,
9756     -0.3056,
9757     0.4945
9758    ]
9759   ],
9760   {
9761    "attributes":{
9762     "index":516
9763    }
9764   }
9765  ],
9766  "electric-175":[
9767   [
9768    [
9769     2.0226,
9770     -0.3329,
9771     -0.5849
9772    ],
9773    [
9774     2.13,
9775     0.0061,
9776     -0.0266
9777    ],
9778    [
9779     2.0226,
9780     -0.3329,
9781     -0.5849
9782    ],
9783    [
9784     2.0406,
9785     0.3192,
9786     -0.5214
9787    ]
9788   ],
9789   {
9790    "attributes":{
9791     "index":331
9792    }
9793   }
9794  ],
9795  "electric-176":[
9796   [
9797    [
9798     2.0226,
9799     -0.3329,
9800     -0.5849
9801    ],
9802    [
9803     2.0318,
9804     -0.6457,
9805     -0.045
9806    ]
9807   ],
9808   {
9809    "attributes":{
9810     "index":806
9811    }
9812   }
9813  ],
9814  "electric-177":[
9815   [
9816    [
9817     1.7061,
9818     -1.2733,
9819     0.0182
9820    ],
9821    [
9822     1.4942,
9823     -1.0466,
9824     1.0985
9825    ],
9826    [
9827     1.7061,
9828     -1.2733,
9829     0.0182
9830    ],
9831    [
9832     0.936,
9833     -1.8347,
9834     0.5417
9835    ]
9836   ],
9837   {
9838    "attributes":{
9839     "index":189
9840    }
9841   }
9842  ],
9843  "electric-178":[
9844   [
9845    [
9846     1.7061,
9847     -1.2733,
9848     0.0182
9849    ],
9850    [
9851     2.0318,
9852     -0.6457,
9853     -0.045
9854    ],
9855    [
9856     1.7061,
9857     -1.2733,
9858     0.0182
9859    ],
9860    [
9861     1.2605,
9862     -1.72,
9863     0.042
9864    ]
9865   ],
9866   {
9867    "attributes":{
9868     "index":563
9869    }
9870   }
9871  ],
9872  "electric-179":[
9873   [
9874    [
9875     1.7061,
9876     -1.2733,
9877     0.0182
9878    ],
9879    [
9880     1.4513,
9881     -1.4582,
9882     0.5608
9883    ],
9884    [
9885     1.7061,
9886     -1.2733,
9887     0.0182
9888    ],
9889    [
9890     1.8344,
9891     -0.9634,
9892     0.5044
9893    ]
9894   ],
9895   {
9896    "attributes":{
9897     "index":933
9898    }
9899   }
9900  ],
9901  "electric-180":[
9902   [
9903    [
9904     1.8223,
9905     -0.9494,
9906     -0.5568
9907    ],
9908    [
9909     1.8344,
9910     -0.9634,
9911     0.5044
9912    ]
9913   ],
9914   {
9915    "attributes":{
9916     "index":365
9917    }
9918   }
9919  ],
9920  "electric-181":[
9921   [
9922    [
9923     1.8223,
9924     -0.9494,
9925     -0.5568
9926    ],
9927    [
9928     1.7061,
9929     -1.2733,
9930     0.0182
9931    ],
9932    [
9933     1.8223,
9934     -0.9494,
9935     -0.5568
9936    ],
9937    [
9938     2.0226,
9939     -0.3329,
9940     -0.5849
9941    ]
9942   ],
9943   {
9944    "attributes":{
9945     "index":869
9946    }
9947   }
9948  ],
9949  "electric-182":[
9950   [
9951    [
9952     1.8223,
9953     -0.9494,
9954     -0.5568
9955    ],
9956    [
9957     2.0318,
9958     -0.6457,
9959     -0.045
9960    ]
9961   ],
9962   {
9963    "attributes":{
9964     "index":68
9965    }
9966   }
9967  ],
9968  "electric-183":[
9969   [
9970    [
9971     1.4992,
9972     -1.4312,
9973     -0.4887
9974    ],
9975    [
9976     2.0318,
9977     -0.6457,
9978     -0.045
9979    ],
9980    [
9981     1.4992,
9982     -1.4312,
9983     -0.4887
9984    ],
9985    [
9986     1.4513,
9987     -1.4582,
9988     0.5608
9989    ]
9990   ],
9991   {
9992    "attributes":{
9993     "index":975
9994    }
9995   }
9996  ],
9997  "electric-184":[
9998   [
9999    [
10000     1.4992,
10001     -1.4312,
10002     -0.4887
10003    ],
10004    [
10005     1.2605,
10006     -1.72,
10007     0.042
10008    ]
10009   ],
10010   {
10011    "attributes":{
10012     "index":219
10013    }
10014   }
10015  ],
10016  "electric-185":[
10017   [
10018    [
10019     1.4992,
10020     -1.4312,
10021     -0.4887
10022    ],
10023    [
10024     1.8223,
10025     -0.9494,
10026     -0.5568
10027    ],
10028    [
10029     1.4992,
10030     -1.4312,
10031     -0.4887
10032    ],
10033    [
10034     1.7061,
10035     -1.2733,
10036     0.0182
10037    ]
10038   ],
10039   {
10040    "attributes":{
10041     "index":11
10042    }
10043   }
10044  ],
10045  "electric-186":[
10046   [
10047    [
10048     0.0137,
10049     -1.9162,
10050     0.9312
10051    ],
10052    [
10053     -0.9615,
10054     -1.8028,
10055     0.5956
10056    ],
10057    [
10058     0.0137,
10059     -1.9162,
10060     0.9312
10061    ],
10062    [
10063     -0.5671,
10064     -1.3469,
10065     1.5486
10066    ]
10067   ],
10068   {
10069    "attributes":{
10070     "index":376
10071    }
10072   }
10073  ],
10074  "electric-187":[
10075   [
10076    [
10077     0.0137,
10078     -1.9162,
10079     0.9312
10080    ],
10081    [
10082     0.936,
10083     -1.8347,
10084     0.5417
10085    ],
10086    [
10087     0.0137,
10088     -1.9162,
10089     0.9312
10090    ],
10091    [
10092     -0.0292,
10093     -1.5633,
10094     1.4462
10095    ],
10096    [
10097     0.0137,
10098     -1.9162,
10099     0.9312
10100    ],
10101    [
10102     -0.5716,
10103     -1.7489,
10104     1.0764
10105    ]
10106   ],
10107   {
10108    "attributes":{
10109     "index":738
10110    }
10111   }
10112  ],
10113  "electric-188":[
10114   [
10115    [
10116     0.0137,
10117     -1.9162,
10118     0.9312
10119    ],
10120    [
10121     0.5359,
10122     -1.7443,
10123     1.098
10124    ]
10125   ],
10126   {
10127    "attributes":{
10128     "index":230
10129    }
10130   }
10131  ],
10132  "electric-189":[
10133   [
10134    [
10135     0.3447,
10136     -2.0482,
10137     0.4814
10138    ],
10139    [
10140     1.0769,
10141     -1.4743,
10142     1.0969
10143    ],
10144    [
10145     0.3447,
10146     -2.0482,
10147     0.4814
10148    ],
10149    [
10150     1.2605,
10151     -1.72,
10152     0.042
10153    ]
10154   ],
10155   {
10156    "attributes":{
10157     "index":971
10158    }
10159   }
10160  ],
10161  "electric-190":[
10162   [
10163    [
10164     0.3447,
10165     -2.0482,
10166     0.4814
10167    ],
10168    [
10169     0.5359,
10170     -1.7443,
10171     1.098
10172    ]
10173   ],
10174   {
10175    "attributes":{
10176     "index":457
10177    }
10178   }
10179  ],
10180  "electric-191":[
10181   [
10182    [
10183     0.3447,
10184     -2.0482,
10185     0.4814
10186    ],
10187    [
10188     0.936,
10189     -1.8347,
10190     0.5417
10191    ],
10192    [
10193     0.3447,
10194     -2.0482,
10195     0.4814
10196    ],
10197    [
10198     0.0137,
10199     -1.9162,
10200     0.9312
10201    ]
10202   ],
10203   {
10204    "attributes":{
10205     "index":158
10206    }
10207   }
10208  ],
10209  "electric-192":[
10210   [
10211    [
10212     0.6833,
10213     -2.0172,
10214     -0.0087
10215    ],
10216    [
10217     1.2605,
10218     -1.72,
10219     0.042
10220    ]
10221   ],
10222   {
10223    "attributes":{
10224     "index":604
10225    }
10226   }
10227  ],
10228  "electric-193":[
10229   [
10230    [
10231     0.6833,
10232     -2.0172,
10233     -0.0087
10234    ],
10235    [
10236     0.936,
10237     -1.8347,
10238     0.5417
10239    ],
10240    [
10241     0.6833,
10242     -2.0172,
10243     -0.0087
10244    ],
10245    [
10246     0.3447,
10247     -2.0482,
10248     0.4814
10249    ]
10250   ],
10251   {
10252    "attributes":{
10253     "index":211
10254    }
10255   }
10256  ],
10257  "electric-194":[
10258   [
10259    [
10260     0.8959,
10261     -1.8679,
10262     -0.493
10263    ],
10264    [
10265     0.936,
10266     -1.8347,
10267     0.5417
10268    ]
10269   ],
10270   {
10271    "attributes":{
10272     "index":938
10273    }
10274   }
10275  ],
10276  "electric-195":[
10277   [
10278    [
10279     0.8959,
10280     -1.8679,
10281     -0.493
10282    ],
10283    [
10284     1.4992,
10285     -1.4312,
10286     -0.4887
10287    ],
10288    [
10289     0.8959,
10290     -1.8679,
10291     -0.493
10292    ],
10293    [
10294     1.2605,
10295     -1.72,
10296     0.042
10297    ]
10298   ],
10299   {
10300    "attributes":{
10301     "index":843
10302    }
10303   }
10304  ],
10305  "electric-196":[
10306   [
10307    [
10308     0.8959,
10309     -1.8679,
10310     -0.493
10311    ],
10312    [
10313     0.6833,
10314     -2.0172,
10315     -0.0087
10316    ]
10317   ],
10318   {
10319    "attributes":{
10320     "index":21
10321    }
10322   }
10323  ],
10324  "electric-197":[
10325   [
10326    [
10327     -0.3172,
10328     -2.0495,
10329     0.4839
10330    ],
10331    [
10332     -1.2861,
10333     -1.6943,
10334     0.047
10335    ],
10336    [
10337     -0.3172,
10338     -2.0495,
10339     0.4839
10340    ],
10341    [
10342     0.5359,
10343     -1.7443,
10344     1.098
10345    ]
10346   ],
10347   {
10348    "attributes":{
10349     "index":92
10350    }
10351   }
10352  ],
10353  "electric-198":[
10354   [
10355    [
10356     -0.3172,
10357     -2.0495,
10358     0.4839
10359    ],
10360    [
10361     -0.5716,
10362     -1.7489,
10363     1.0764
10364    ],
10365    [
10366     -0.3172,
10367     -2.0495,
10368     0.4839
10369    ],
10370    [
10371     -0.9615,
10372     -1.8028,
10373     0.5956
10374    ],
10375    [
10376     -0.3172,
10377     -2.0495,
10378     0.4839
10379    ],
10380    [
10381     0.3447,
10382     -2.0482,
10383     0.4814
10384    ]
10385   ],
10386   {
10387    "attributes":{
10388     "index":163
10389    }
10390   }
10391  ],
10392  "electric-199":[
10393   [
10394    [
10395     -0.3172,
10396     -2.0495,
10397     0.4839
10398    ],
10399    [
10400     0.0137,
10401     -1.9162,
10402     0.9312
10403    ]
10404   ],
10405   {
10406    "attributes":{
10407     "index":814
10408    }
10409   }
10410  ],
10411  "electric-200":[
10412   [
10413    [
10414     0.0088,
10415     -2.1316,
10416     -0.0566
10417    ],
10418    [
10419     0.8959,
10420     -1.8679,
10421     -0.493
10422    ],
10423    [
10424     0.0088,
10425     -2.1316,
10426     -0.0566
10427    ],
10428    [
10429     0.0137,
10430     -1.9162,
10431     0.9312
10432    ]
10433   ],
10434   {
10435    "attributes":{
10436     "index":280
10437    }
10438   }
10439  ],
10440  "electric-201":[
10441   [
10442    [
10443     0.0088,
10444     -2.1316,
10445     -0.0566
10446    ],
10447    [
10448     0.6833,
10449     -2.0172,
10450     -0.0087
10451    ],
10452    [
10453     0.0088,
10454     -2.1316,
10455     -0.0566
10456    ],
10457    [
10458     0.3447,
10459     -2.0482,
10460     0.4814
10461    ]
10462   ],
10463   {
10464    "attributes":{
10465     "index":968
10466    }
10467   }
10468  ],
10469  "electric-202":[
10470   [
10471    [
10472     0.0088,
10473     -2.1316,
10474     -0.0566
10475    ],
10476    [
10477     -0.3172,
10478     -2.0495,
10479     0.4839
10480    ]
10481   ],
10482   {
10483    "attributes":{
10484     "index":278
10485    }
10486   }
10487  ],
10488  "electric-203":[
10489   [
10490    [
10491     0.3215,
10492     -2.0274,
10493     -0.5747
10494    ],
10495    [
10496     0.3447,
10497     -2.0482,
10498     0.4814
10499    ]
10500   ],
10501   {
10502    "attributes":{
10503     "index":68
10504    }
10505   }
10506  ],
10507  "electric-204":[
10508   [
10509    [
10510     0.3215,
10511     -2.0274,
10512     -0.5747
10513    ],
10514    [
10515     0.6833,
10516     -2.0172,
10517     -0.0087
10518    ],
10519    [
10520     0.3215,
10521     -2.0274,
10522     -0.5747
10523    ],
10524    [
10525     0.0088,
10526     -2.1316,
10527     -0.0566
10528    ]
10529   ],
10530   {
10531    "attributes":{
10532     "index":238
10533    }
10534   }
10535  ],
10536  "electric-205":[
10537   [
10538    [
10539     0.3215,
10540     -2.0274,
10541     -0.5747
10542    ],
10543    [
10544     0.8959,
10545     -1.8679,
10546     -0.493
10547    ]
10548   ],
10549   {
10550    "attributes":{
10551     "index":587
10552    }
10553   }
10554  ],
10555  "electric-206":[
10556   [
10557    [
10558     -0.6698,
10559     -2.0231,
10560     -0.021
10561    ],
10562    [
10563     0.3447,
10564     -2.0482,
10565     0.4814
10566    ]
10567   ],
10568   {
10569    "attributes":{
10570     "index":779
10571    }
10572   }
10573  ],
10574  "electric-207":[
10575   [
10576    [
10577     -0.6698,
10578     -2.0231,
10579     -0.021
10580    ],
10581    [
10582     -0.9615,
10583     -1.8028,
10584     0.5956
10585    ],
10586    [
10587     -0.6698,
10588     -2.0231,
10589     -0.021
10590    ],
10591    [
10592     -1.2861,
10593     -1.6943,
10594     0.047
10595    ],
10596    [
10597     -0.6698,
10598     -2.0231,
10599     -0.021
10600    ],
10601    [
10602     0.0088,
10603     -2.1316,
10604     -0.0566
10605    ]
10606   ],
10607   {
10608    "attributes":{
10609     "index":898
10610    }
10611   }
10612  ],
10613  "electric-208":[
10614   [
10615    [
10616     -0.6698,
10617     -2.0231,
10618     -0.021
10619    ],
10620    [
10621     -0.3172,
10622     -2.0495,
10623     0.4839
10624    ]
10625   ],
10626   {
10627    "attributes":{
10628     "index":528
10629    }
10630   }
10631  ],
10632  "electric-209":[
10633   [
10634    [
10635     -0.2911,
10636     -2.0303,
10637     -0.5788
10638    ],
10639    [
10640     -0.3172,
10641     -2.0495,
10642     0.4839
10643    ]
10644   ],
10645   {
10646    "attributes":{
10647     "index":875
10648    }
10649   }
10650  ],
10651  "electric-210":[
10652   [
10653    [
10654     -0.2911,
10655     -2.0303,
10656     -0.5788
10657    ],
10658    [
10659     -0.6698,
10660     -2.0231,
10661     -0.021
10662    ]
10663   ],
10664   {
10665    "attributes":{
10666     "index":764
10667    }
10668   }
10669  ],
10670  "electric-211":[
10671   [
10672    [
10673     -0.2911,
10674     -2.0303,
10675     -0.5788
10676    ],
10677    [
10678     0.3215,
10679     -2.0274,
10680     -0.5747
10681    ],
10682    [
10683     -0.2911,
10684     -2.0303,
10685     -0.5788
10686    ],
10687    [
10688     0.0088,
10689     -2.1316,
10690     -0.0566
10691    ]
10692   ],
10693   {
10694    "attributes":{
10695     "index":250
10696    }
10697   }
10698  ],
10699  "electric-212":[
10700   [
10701    [
10702     -0.9318,
10703     -1.849,
10704     -0.5093
10705    ],
10706    [
10707     0.0088,
10708     -2.1316,
10709     -0.0566
10710    ]
10711   ],
10712   {
10713    "attributes":{
10714     "index":533
10715    }
10716   }
10717  ],
10718  "electric-213":[
10719   [
10720    [
10721     -0.9318,
10722     -1.849,
10723     -0.5093
10724    ],
10725    [
10726     -1.2861,
10727     -1.6943,
10728     0.047
10729    ],
10730    [
10731     -0.9318,
10732     -1.849,
10733     -0.5093
10734    ],
10735    [
10736     -0.2911,
10737     -2.0303,
10738     -0.5788
10739    ]
10740   ],
10741   {
10742    "attributes":{
10743     "index":303
10744    }
10745   }
10746  ],
10747  "electric-214":[
10748   [
10749    [
10750     -0.9318,
10751     -1.849,
10752     -0.5093
10753    ],
10754    [
10755     -0.6698,
10756     -2.0231,
10757     -0.021
10758    ]
10759   ],
10760   {
10761    "attributes":{
10762     "index":330
10763    }
10764   }
10765  ],
10766  "electric-215":[
10767   [
10768    [
10769     -1.8247,
10770     -0.5638,
10771     0.9423
10772    ],
10773    [
10774     -1.4573,
10775     -1.4493,
10776     0.5641
10777    ],
10778    [
10779     -1.8247,
10780     -0.5638,
10781     0.9423
10782    ],
10783    [
10784     -1.4416,
10785     0.1805,
10786     1.5558
10787    ]
10788   ],
10789   {
10790    "attributes":{
10791     "index":913
10792    }
10793   }
10794  ],
10795  "electric-216":[
10796   [
10797    [
10798     -1.8247,
10799     -0.5638,
10800     0.9423
10801    ],
10802    [
10803     -2.031,
10804     0.3188,
10805     0.5626
10806    ],
10807    [
10808     -1.8247,
10809     -0.5638,
10810     0.9423
10811    ],
10812    [
10813     -1.4882,
10814     -1.0691,
10815     1.0902
10816    ],
10817    [
10818     -1.8247,
10819     -0.5638,
10820     0.9423
10821    ],
10822    [
10823     -1.493,
10824     -0.46,
10825     1.448
10826    ]
10827   ],
10828   {
10829    "attributes":{
10830     "index":350
10831    }
10832   }
10833  ],
10834  "electric-217":[
10835   [
10836    [
10837     -1.8247,
10838     -0.5638,
10839     0.9423
10840    ],
10841    [
10842     -1.8519,
10843     0.0067,
10844     1.0503
10845    ]
10846   ],
10847   {
10848    "attributes":{
10849     "index":176
10850    }
10851   }
10852  ],
10853  "electric-218":[
10854   [
10855    [
10856     -1.8515,
10857     -0.9329,
10858     0.4858
10859    ],
10860    [
10861     -1.8519,
10862     0.0067,
10863     1.0503
10864    ],
10865    [
10866     -1.8515,
10867     -0.9329,
10868     0.4858
10869    ],
10870    [
10871     -1.2861,
10872     -1.6943,
10873     0.047
10874    ]
10875   ],
10876   {
10877    "attributes":{
10878     "index":984
10879    }
10880   }
10881  ],
10882  "electric-219":[
10883   [
10884    [
10885     -1.8515,
10886     -0.9329,
10887     0.4858
10888    ],
10889    [
10890     -1.8247,
10891     -0.5638,
10892     0.9423
10893    ]
10894   ],
10895   {
10896    "attributes":{
10897     "index":255
10898    }
10899   }
10900  ],
10901  "electric-220":[
10902   [
10903    [
10904     -1.7314,
10905     -1.2437,
10906     -0.0102
10907    ],
10908    [
10909     -1.4573,
10910     -1.4493,
10911     0.5641
10912    ]
10913   ],
10914   {
10915    "attributes":{
10916     "index":17
10917    }
10918   }
10919  ],
10920  "electric-221":[
10921   [
10922    [
10923     -1.7314,
10924     -1.2437,
10925     -0.0102
10926    ],
10927    [
10928     -1.2861,
10929     -1.6943,
10930     0.047
10931    ],
10932    [
10933     -1.7314,
10934     -1.2437,
10935     -0.0102
10936    ],
10937    [
10938     -1.8515,
10939     -0.9329,
10940     0.4858
10941    ]
10942   ],
10943   {
10944    "attributes":{
10945     "index":559
10946    }
10947   }
10948  ],
10949  "electric-222":[
10950   [
10951    [
10952     -1.457,
10953     -1.4604,
10954     -0.5276
10955    ],
10956    [
10957     -1.4573,
10958     -1.4493,
10959     0.5641
10960    ]
10961   ],
10962   {
10963    "attributes":{
10964     "index":539
10965    }
10966   }
10967  ],
10968  "electric-223":[
10969   [
10970    [
10971     -1.457,
10972     -1.4604,
10973     -0.5276
10974    ],
10975    [
10976     -0.9318,
10977     -1.849,
10978     -0.5093
10979    ]
10980   ],
10981   {
10982    "attributes":{
10983     "index":125
10984    }
10985   }
10986  ],
10987  "electric-224":[
10988   [
10989    [
10990     -1.457,
10991     -1.4604,
10992     -0.5276
10993    ],
10994    [
10995     -1.2861,
10996     -1.6943,
10997     0.047
10998    ],
10999    [
11000     -1.457,
11001     -1.4604,
11002     -0.5276
11003    ],
11004    [
11005     -1.7314,
11006     -1.2437,
11007     -0.0102
11008    ]
11009   ],
11010   {
11011    "attributes":{
11012     "index":321
11013    }
11014   }
11015  ],
11016  "electric-225":[
11017   [
11018    [
11019     -2.0538,
11020     -0.3082,
11021     0.4846
11022    ],
11023    [
11024     -1.7314,
11025     -1.2437,
11026     -0.0102
11027    ],
11028    [
11029     -2.0538,
11030     -0.3082,
11031     0.4846
11032    ],
11033    [
11034     -2.0273,
11035     0.6501,
11036     0.0144
11037    ]
11038   ],
11039   {
11040    "attributes":{
11041     "index":459
11042    }
11043   }
11044  ],
11045  "electric-226":[
11046   [
11047    [
11048     -2.0538,
11049     -0.3082,
11050     0.4846
11051    ],
11052    [
11053     -1.8519,
11054     0.0067,
11055     1.0503
11056    ],
11057    [
11058     -2.0538,
11059     -0.3082,
11060     0.4846
11061    ],
11062    [
11063     -1.8515,
11064     -0.9329,
11065     0.4858
11066    ],
11067    [
11068     -2.0538,
11069     -0.3082,
11070     0.4846
11071    ],
11072    [
11073     -2.031,
11074     0.3188,
11075     0.5626
11076    ]
11077   ],
11078   {
11079    "attributes":{
11080     "index":236
11081    }
11082   }
11083  ],
11084  "electric-227":[
11085   [
11086    [
11087     -2.0538,
11088     -0.3082,
11089     0.4846
11090    ],
11091    [
11092     -1.8247,
11093     -0.5638,
11094     0.9423
11095    ]
11096   ],
11097   {
11098    "attributes":{
11099     "index":204
11100    }
11101   }
11102  ],
11103  "electric-228":[
11104   [
11105    [
11106     -2.0315,
11107     -0.6389,
11108     -0.0225
11109    ],
11110    [
11111     -2.031,
11112     0.3188,
11113     0.5626
11114    ],
11115    [
11116     -2.0315,
11117     -0.6389,
11118     -0.0225
11119    ],
11120    [
11121     -1.8247,
11122     -0.5638,
11123     0.9423
11124    ]
11125   ],
11126   {
11127    "attributes":{
11128     "index":737
11129    }
11130   }
11131  ],
11132  "electric-229":[
11133   [
11134    [
11135     -2.0315,
11136     -0.6389,
11137     -0.0225
11138    ],
11139    [
11140     -1.7314,
11141     -1.2437,
11142     -0.0102
11143    ]
11144   ],
11145   {
11146    "attributes":{
11147     "index":846
11148    }
11149   }
11150  ],
11151  "electric-230":[
11152   [
11153    [
11154     -2.0315,
11155     -0.6389,
11156     -0.0225
11157    ],
11158    [
11159     -1.8515,
11160     -0.9329,
11161     0.4858
11162    ],
11163    [
11164     -2.0315,
11165     -0.6389,
11166     -0.0225
11167    ],
11168    [
11169     -2.0538,
11170     -0.3082,
11171     0.4846
11172    ]
11173   ],
11174   {
11175    "attributes":{
11176     "index":315
11177    }
11178   }
11179  ],
11180  "electric-231":[
11181   [
11182    [
11183     -1.848,
11184     -0.906,
11185     -0.5512
11186    ],
11187    [
11188     -1.8515,
11189     -0.9329,
11190     0.4858
11191    ]
11192   ],
11193   {
11194    "attributes":{
11195     "index":183
11196    }
11197   }
11198  ],
11199  "electric-232":[
11200   [
11201    [
11202     -1.848,
11203     -0.906,
11204     -0.5512
11205    ],
11206    [
11207     -1.457,
11208     -1.4604,
11209     -0.5276
11210    ]
11211   ],
11212   {
11213    "attributes":{
11214     "index":647
11215    }
11216   }
11217  ],
11218  "electric-233":[
11219   [
11220    [
11221     -1.848,
11222     -0.906,
11223     -0.5512
11224    ],
11225    [
11226     -1.7314,
11227     -1.2437,
11228     -0.0102
11229    ],
11230    [
11231     -1.848,
11232     -0.906,
11233     -0.5512
11234    ],
11235    [
11236     -2.0315,
11237     -0.6389,
11238     -0.0225
11239    ]
11240   ],
11241   {
11242    "attributes":{
11243     "index":63
11244    }
11245   }
11246  ],
11247  "electric-234":[
11248   [
11249    [
11250     -2.13,
11251     0.0134,
11252     -0.0272
11253    ],
11254    [
11255     -1.8519,
11256     0.0067,
11257     1.0503
11258    ],
11259    [
11260     -2.13,
11261     0.0134,
11262     -0.0272
11263    ],
11264    [
11265     -1.848,
11266     -0.906,
11267     -0.5512
11268    ]
11269   ],
11270   {
11271    "attributes":{
11272     "index":67
11273    }
11274   }
11275  ],
11276  "electric-235":[
11277   [
11278    [
11279     -2.13,
11280     0.0134,
11281     -0.0272
11282    ],
11283    [
11284     -2.031,
11285     0.3188,
11286     0.5626
11287    ],
11288    [
11289     -2.13,
11290     0.0134,
11291     -0.0272
11292    ],
11293    [
11294     -2.0315,
11295     -0.6389,
11296     -0.0225
11297    ]
11298   ],
11299   {
11300    "attributes":{
11301     "index":486
11302    }
11303   }
11304  ],
11305  "electric-236":[
11306   [
11307    [
11308     -2.13,
11309     0.0134,
11310     -0.0272
11311    ],
11312    [
11313     -2.0273,
11314     0.6501,
11315     0.0144
11316    ],
11317    [
11318     -2.13,
11319     0.0134,
11320     -0.0272
11321    ],
11322    [
11323     -2.0538,
11324     -0.3082,
11325     0.4846
11326    ]
11327   ],
11328   {
11329    "attributes":{
11330     "index":401
11331    }
11332   }
11333  ],
11334  "electric-237":[
11335   [
11336    [
11337     -2.0141,
11338     -0.3212,
11339     -0.6064
11340    ],
11341    [
11342     -2.0538,
11343     -0.3082,
11344     0.4846
11345    ]
11346   ],
11347   {
11348    "attributes":{
11349     "index":156
11350    }
11351   }
11352  ],
11353  "electric-238":[
11354   [
11355    [
11356     -2.0141,
11357     -0.3212,
11358     -0.6064
11359    ],
11360    [
11361     -2.13,
11362     0.0134,
11363     -0.0272
11364    ],
11365    [
11366     -2.0141,
11367     -0.3212,
11368     -0.6064
11369    ],
11370    [
11371     -2.0315,
11372     -0.6389,
11373     -0.0225
11374    ]
11375   ],
11376   {
11377    "attributes":{
11378     "index":741
11379    }
11380   }
11381  ],
11382  "electric-239":[
11383   [
11384    [
11385     -2.0141,
11386     -0.3212,
11387     -0.6064
11388    ],
11389    [
11390     -1.848,
11391     -0.906,
11392     -0.5512
11393    ]
11394   ],
11395   {
11396    "attributes":{
11397     "index":5
11398    }
11399   }
11400  ],
11401  "electric-240":[
11402   [
11403    [
11404     -2.0509,
11405     0.3168,
11406     -0.4906
11407    ],
11408    [
11409     -2.0315,
11410     -0.6389,
11411     -0.0225
11412    ],
11413    [
11414     -2.0509,
11415     0.3168,
11416     -0.4906
11417    ],
11418    [
11419     -2.031,
11420     0.3188,
11421     0.5626
11422    ]
11423   ],
11424   {
11425    "attributes":{
11426     "index":420
11427    }
11428   }
11429  ],
11430  "electric-241":[
11431   [
11432    [
11433     -2.0509,
11434     0.3168,
11435     -0.4906
11436    ],
11437    [
11438     -2.0141,
11439     -0.3212,
11440     -0.6064
11441    ]
11442   ],
11443   {
11444    "attributes":{
11445     "index":138
11446    }
11447   }
11448  ],
11449  "electric-242":[
11450   [
11451    [
11452     -2.0509,
11453     0.3168,
11454     -0.4906
11455    ],
11456    [
11457     -2.0273,
11458     0.6501,
11459     0.0144
11460    ],
11461    [
11462     -2.0509,
11463     0.3168,
11464     -0.4906
11465    ],
11466    [
11467     -2.13,
11468     0.0134,
11469     -0.0272
11470    ]
11471   ],
11472   {
11473    "attributes":{
11474     "index":978
11475    }
11476   }
11477  ],
11478  "electric-243":[
11479   [
11480    [
11481     -1.1242,
11482     1.5463,
11483     0.946
11484    ],
11485    [
11486     -1.2548,
11487     0.7317,
11488     1.5639
11489    ],
11490    [
11491     -1.1242,
11492     1.5463,
11493     0.946
11494    ],
11495    [
11496     -0.3065,
11497     2.0301,
11498     0.5779
11499    ]
11500   ],
11501   {
11502    "attributes":{
11503     "index":842
11504    }
11505   }
11506  ],
11507  "electric-244":[
11508   [
11509    [
11510     -1.1242,
11511     1.5463,
11512     0.946
11513    ],
11514    [
11515     -1.8205,
11516     0.9241,
11517     0.6021
11518    ],
11519    [
11520     -1.1242,
11521     1.5463,
11522     0.946
11523    ],
11524    [
11525     -1.5024,
11526     1.0781,
11527     1.0546
11528    ]
11529   ],
11530   {
11531    "attributes":{
11532     "index":543
11533    }
11534   }
11535  ],
11536  "electric-245":[
11537   [
11538    [
11539     -1.1242,
11540     1.5463,
11541     0.946
11542    ],
11543    [
11544     -0.8964,
11545     1.2959,
11546     1.4304
11547    ],
11548    [
11549     -1.1242,
11550     1.5463,
11551     0.946
11552    ],
11553    [
11554     -0.5938,
11555     1.7427,
11556     1.077
11557    ]
11558   ],
11559   {
11560    "attributes":{
11561     "index":902
11562    }
11563   }
11564  ],
11565  "electric-246":[
11566   [
11567    [
11568     -1.4832,
11569     1.4545,
11570     0.4754
11571    ],
11572    [
11573     -0.5938,
11574     1.7427,
11575     1.077
11576    ],
11577    [
11578     -1.4832,
11579     1.4545,
11580     0.4754
11581    ],
11582    [
11583     -2.0273,
11584     0.6501,
11585     0.0144
11586    ]
11587   ],
11588   {
11589    "attributes":{
11590     "index":867
11591    }
11592   }
11593  ],
11594  "electric-247":[
11595   [
11596    [
11597     -1.4832,
11598     1.4545,
11599     0.4754
11600    ],
11601    [
11602     -1.5024,
11603     1.0781,
11604     1.0546
11605    ],
11606    [
11607     -1.4832,
11608     1.4545,
11609     0.4754
11610    ],
11611    [
11612     -1.8205,
11613     0.9241,
11614     0.6021
11615    ]
11616   ],
11617   {
11618    "attributes":{
11619     "index":426
11620    }
11621   }
11622  ],
11623  "electric-248":[
11624   [
11625    [
11626     -1.4832,
11627     1.4545,
11628     0.4754
11629    ],
11630    [
11631     -1.1242,
11632     1.5463,
11633     0.946
11634    ]
11635   ],
11636   {
11637    "attributes":{
11638     "index":687
11639    }
11640   }
11641  ],
11642  "electric-249":[
11643   [
11644    [
11645     -1.7191,
11646     1.2587,
11647     -0.0217
11648    ],
11649    [
11650     -1.5024,
11651     1.0781,
11652     1.0546
11653    ],
11654    [
11655     -1.7191,
11656     1.2587,
11657     -0.0217
11658    ],
11659    [
11660     -2.0509,
11661     0.3168,
11662     -0.4906
11663    ]
11664   ],
11665   {
11666    "attributes":{
11667     "index":478
11668    }
11669   }
11670  ],
11671  "electric-250":[
11672   [
11673    [
11674     -1.7191,
11675     1.2587,
11676     -0.0217
11677    ],
11678    [
11679     -1.8205,
11680     0.9241,
11681     0.6021
11682    ],
11683    [
11684     -1.7191,
11685     1.2587,
11686     -0.0217
11687    ],
11688    [
11689     -2.0273,
11690     0.6501,
11691     0.0144
11692    ]
11693   ],
11694   {
11695    "attributes":{
11696     "index":433
11697    }
11698   }
11699  ],
11700  "electric-251":[
11701   [
11702    [
11703     -1.7191,
11704     1.2587,
11705     -0.0217
11706    ],
11707    [
11708     -1.4832,
11709     1.4545,
11710     0.4754
11711    ]
11712   ],
11713   {
11714    "attributes":{
11715     "index":160
11716    }
11717   }
11718  ],
11719  "electric-252":[
11720   [
11721    [
11722     -1.8364,
11723     0.9651,
11724     -0.4971
11725    ],
11726    [
11727     -1.8205,
11728     0.9241,
11729     0.6021
11730    ]
11731   ],
11732   {
11733    "attributes":{
11734     "index":973
11735    }
11736   }
11737  ],
11738  "electric-253":[
11739   [
11740    [
11741     -1.8364,
11742     0.9651,
11743     -0.4971
11744    ],
11745    [
11746     -2.0509,
11747     0.3168,
11748     -0.4906
11749    ]
11750   ],
11751   {
11752    "attributes":{
11753     "index":963
11754    }
11755   }
11756  ],
11757  "electric-254":[
11758   [
11759    [
11760     -1.8364,
11761     0.9651,
11762     -0.4971
11763    ],
11764    [
11765     -2.0273,
11766     0.6501,
11767     0.0144
11768    ],
11769    [
11770     -1.8364,
11771     0.9651,
11772     -0.4971
11773    ],
11774    [
11775     -1.7191,
11776     1.2587,
11777     -0.0217
11778    ]
11779   ],
11780   {
11781    "attributes":{
11782     "index":994
11783    }
11784   }
11785  ],
11786  "electric-255":[
11787   [
11788    [
11789     -0.9025,
11790     1.8696,
11791     0.4723
11792    ],
11793    [
11794     -0.8964,
11795     1.2959,
11796     1.4304
11797    ],
11798    [
11799     -0.9025,
11800     1.8696,
11801     0.4723
11802    ],
11803    [
11804     0.0071,
11805     2.1322,
11806     0.0348
11807    ]
11808   ],
11809   {
11810    "attributes":{
11811     "index":590
11812    }
11813   }
11814  ],
11815  "electric-256":[
11816   [
11817    [
11818     -0.9025,
11819     1.8696,
11820     0.4723
11821    ],
11822    [
11823     -1.4832,
11824     1.4545,
11825     0.4754
11826    ],
11827    [
11828     -0.9025,
11829     1.8696,
11830     0.4723
11831    ],
11832    [
11833     -0.5938,
11834     1.7427,
11835     1.077
11836    ]
11837   ],
11838   {
11839    "attributes":{
11840     "index":153
11841    }
11842   }
11843  ],
11844  "electric-257":[
11845   [
11846    [
11847     -0.9025,
11848     1.8696,
11849     0.4723
11850    ],
11851    [
11852     -0.3065,
11853     2.0301,
11854     0.5779
11855    ],
11856    [
11857     -0.9025,
11858     1.8696,
11859     0.4723
11860    ],
11861    [
11862     -1.1242,
11863     1.5463,
11864     0.946
11865    ]
11866   ],
11867   {
11868    "attributes":{
11869     "index":567
11870    }
11871   }
11872  ],
11873  "electric-258":[
11874   [
11875    [
11876     -1.2774,
11877     1.6989,
11878     -0.0774
11879    ],
11880    [
11881     -0.9025,
11882     1.8696,
11883     0.4723
11884    ],
11885    [
11886     -1.2774,
11887     1.6989,
11888     -0.0774
11889    ],
11890    [
11891     -1.4832,
11892     1.4545,
11893     0.4754
11894    ]
11895   ],
11896   {
11897    "attributes":{
11898     "index":323
11899    }
11900   }
11901  ],
11902  "electric-259":[
11903   [
11904    [
11905     -1.2774,
11906     1.6989,
11907     -0.0774
11908    ],
11909    [
11910     -1.7191,
11911     1.2587,
11912     -0.0217
11913    ]
11914   ],
11915   {
11916    "attributes":{
11917     "index":629
11918    }
11919   }
11920  ],
11921  "electric-260":[
11922   [
11923    [
11924     -1.4284,
11925     1.4571,
11926     -0.6046
11927    ],
11928    [
11929     -1.4832,
11930     1.4545,
11931     0.4754
11932    ]
11933   ],
11934   {
11935    "attributes":{
11936     "index":898
11937    }
11938   }
11939  ],
11940  "electric-261":[
11941   [
11942    [
11943     -1.4284,
11944     1.4571,
11945     -0.6046
11946    ],
11947    [
11948     -1.7191,
11949     1.2587,
11950     -0.0217
11951    ],
11952    [
11953     -1.4284,
11954     1.4571,
11955     -0.6046
11956    ],
11957    [
11958     -1.8364,
11959     0.9651,
11960     -0.4971
11961    ]
11962   ],
11963   {
11964    "attributes":{
11965     "index":690
11966    }
11967   }
11968  ],
11969  "electric-262":[
11970   [
11971    [
11972     -1.4284,
11973     1.4571,
11974     -0.6046
11975    ],
11976    [
11977     -1.2774,
11978     1.6989,
11979     -0.0774
11980    ]
11981   ],
11982   {
11983    "attributes":{
11984     "index":989
11985    }
11986   }
11987  ],
11988  "electric-263":[
11989   [
11990    [
11991     -0.6265,
11992     2.0334,
11993     0.0222
11994    ],
11995    [
11996     0.3356,
11997     2.0176,
11998     0.588
11999    ],
12000    [
12001     -0.6265,
12002     2.0334,
12003     0.0222
12004    ],
12005    [
12006     -0.5938,
12007     1.7427,
12008     1.077
12009    ],
12010    [
12011     -0.6265,
12012     2.0334,
12013     0.0222
12014    ],
12015    [
12016     0.339,
12017     2.0493,
12018     -0.4779
12019    ]
12020   ],
12021   {
12022    "attributes":{
12023     "index":438
12024    }
12025   }
12026  ],
12027  "electric-264":[
12028   [
12029    [
12030     -0.6265,
12031     2.0334,
12032     0.0222
12033    ],
12034    [
12035     -1.2774,
12036     1.6989,
12037     -0.0774
12038    ],
12039    [
12040     -0.6265,
12041     2.0334,
12042     0.0222
12043    ],
12044    [
12045     0.0071,
12046     2.1322,
12047     0.0348
12048    ]
12049   ],
12050   {
12051    "attributes":{
12052     "index":58
12053    }
12054   }
12055  ],
12056  "electric-265":[
12057   [
12058    [
12059     -0.6265,
12060     2.0334,
12061     0.0222
12062    ],
12063    [
12064     -0.3065,
12065     2.0301,
12066     0.5779
12067    ],
12068    [
12069     -0.6265,
12070     2.0334,
12071     0.0222
12072    ],
12073    [
12074     -0.9025,
12075     1.8696,
12076     0.4723
12077    ]
12078   ],
12079   {
12080    "attributes":{
12081     "index":280
12082    }
12083   }
12084  ],
12085  "electric-266":[
12086   [
12087    [
12088     -0.9311,
12089     1.8353,
12090     -0.55
12091    ],
12092    [
12093     -0.9025,
12094     1.8696,
12095     0.4723
12096    ]
12097   ],
12098   {
12099    "attributes":{
12100     "index":972
12101    }
12102   }
12103  ],
12104  "electric-267":[
12105   [
12106    [
12107     -0.9311,
12108     1.8353,
12109     -0.55
12110    ],
12111    [
12112     -0.6265,
12113     2.0334,
12114     0.0222
12115    ]
12116   ],
12117   {
12118    "attributes":{
12119     "index":53
12120    }
12121   }
12122  ],
12123  "electric-268":[
12124   [
12125    [
12126     -0.9311,
12127     1.8353,
12128     -0.55
12129    ],
12130    [
12131     -1.4284,
12132     1.4571,
12133     -0.6046
12134    ],
12135    [
12136     -0.9311,
12137     1.8353,
12138     -0.55
12139    ],
12140    [
12141     -1.2774,
12142     1.6989,
12143     -0.0774
12144    ]
12145   ],
12146   {
12147    "attributes":{
12148     "index":680
12149    }
12150   }
12151  ],
12152  "electric-269":[
12153   [
12154    [
12155     -0.3213,
12156     2.0427,
12157     -0.5122
12158    ],
12159    [
12160     -0.3065,
12161     2.0301,
12162     0.5779
12163    ]
12164   ],
12165   {
12166    "attributes":{
12167     "index":593
12168    }
12169   }
12170  ],
12171  "electric-270":[
12172   [
12173    [
12174     -0.3213,
12175     2.0427,
12176     -0.5122
12177    ],
12178    [
12179     0.339,
12180     2.0493,
12181     -0.4779
12182    ],
12183    [
12184     -0.3213,
12185     2.0427,
12186     -0.5122
12187    ],
12188    [
12189     -0.9311,
12190     1.8353,
12191     -0.55
12192    ]
12193   ],
12194   {
12195    "attributes":{
12196     "index":892
12197    }
12198   }
12199  ],
12200  "electric-271":[
12201   [
12202    [
12203     -0.3213,
12204     2.0427,
12205     -0.5122
12206    ],
12207    [
12208     0.0071,
12209     2.1322,
12210     0.0348
12211    ],
12212    [
12213     -0.3213,
12214     2.0427,
12215     -0.5122
12216    ],
12217    [
12218     -0.6265,
12219     2.0334,
12220     0.0222
12221    ]
12222   ],
12223   {
12224    "attributes":{
12225     "index":795
12226    }
12227   }
12228  ],
12229  "electric-272":[
12230   [
12231    [
12232     -0.5493,
12233     1.7609,
12234     -1.0703
12235    ],
12236    [
12237     -1.4284,
12238     1.4571,
12239     -0.6046
12240    ]
12241   ],
12242   {
12243    "attributes":{
12244     "index":485
12245    }
12246   }
12247  ],
12248  "electric-273":[
12249   [
12250    [
12251     -0.5493,
12252     1.7609,
12253     -1.0703
12254    ],
12255    [
12256     -0.3213,
12257     2.0427,
12258     -0.5122
12259    ],
12260    [
12261     -0.5493,
12262     1.7609,
12263     -1.0703
12264    ],
12265    [
12266     -0.9311,
12267     1.8353,
12268     -0.55
12269    ]
12270   ],
12271   {
12272    "attributes":{
12273     "index":401
12274    }
12275   }
12276  ],
12277  "electric-274":[
12278   [
12279    [
12280     -1.0463,
12281     1.4486,
12282     -1.1543
12283    ],
12284    [
12285     -0.5493,
12286     1.7609,
12287     -1.0703
12288    ]
12289   ],
12290   {
12291    "attributes":{
12292     "index":14
12293    }
12294   }
12295  ],
12296  "electric-275":[
12297   [
12298    [
12299     -1.4857,
12300     1.0597,
12301     -1.099
12302    ],
12303    [
12304     -2.0509,
12305     0.3168,
12306     -0.4906
12307    ]
12308   ],
12309   {
12310    "attributes":{
12311     "index":994
12312    }
12313   }
12314  ],
12315  "electric-276":[
12316   [
12317    [
12318     -1.4857,
12319     1.0597,
12320     -1.099
12321    ],
12322    [
12323     -1.8364,
12324     0.9651,
12325     -0.4971
12326    ],
12327    [
12328     -1.4857,
12329     1.0597,
12330     -1.099
12331    ],
12332    [
12333     -1.4284,
12334     1.4571,
12335     -0.6046
12336    ]
12337   ],
12338   {
12339    "attributes":{
12340     "index":764
12341    }
12342   }
12343  ],
12344  "electric-277":[
12345   [
12346    [
12347     -1.4857,
12348     1.0597,
12349     -1.099
12350    ],
12351    [
12352     -1.0463,
12353     1.4486,
12354     -1.1543
12355    ]
12356   ],
12357   {
12358    "attributes":{
12359     "index":904
12360    }
12361   }
12362  ],
12363  "electric-278":[
12364   [
12365    [
12366     -0.5907,
12367     1.3467,
12368     -1.5403
12369    ],
12370    [
12371     -1.4857,
12372     1.0597,
12373     -1.099
12374    ]
12375   ],
12376   {
12377    "attributes":{
12378     "index":680
12379    }
12380   }
12381  ],
12382  "electric-279":[
12383   [
12384    [
12385     -0.5907,
12386     1.3467,
12387     -1.5403
12388    ],
12389    [
12390     -0.5493,
12391     1.7609,
12392     -1.0703
12393    ],
12394    [
12395     -0.5907,
12396     1.3467,
12397     -1.5403
12398    ],
12399    [
12400     -1.0463,
12401     1.4486,
12402     -1.1543
12403    ]
12404   ],
12405   {
12406    "attributes":{
12407     "index":23
12408    }
12409   }
12410  ],
12411  "electric-280":[
12412   [
12413    [
12414     -1.0966,
12415     0.9775,
12416     -1.5422
12417    ],
12418    [
12419     -0.5493,
12420     1.7609,
12421     -1.0703
12422    ]
12423   ],
12424   {
12425    "attributes":{
12426     "index":230
12427    }
12428   }
12429  ],
12430  "electric-281":[
12431   [
12432    [
12433     -1.0966,
12434     0.9775,
12435     -1.5422
12436    ],
12437    [
12438     -0.5907,
12439     1.3467,
12440     -1.5403
12441    ],
12442    [
12443     -1.0966,
12444     0.9775,
12445     -1.5422
12446    ],
12447    [
12448     -1.0463,
12449     1.4486,
12450     -1.1543
12451    ],
12452    [
12453     -1.0966,
12454     0.9775,
12455     -1.5422
12456    ],
12457    [
12458     -1.4857,
12459     1.0597,
12460     -1.099
12461    ]
12462   ],
12463   {
12464    "attributes":{
12465     "index":371
12466    }
12467   }
12468  ],
12469  "electric-282":[
12470   [
12471    [
12472     -0.5979,
12473     0.8052,
12474     -1.8815
12475    ],
12476    [
12477     -1.0463,
12478     1.4486,
12479     -1.1543
12480    ]
12481   ],
12482   {
12483    "attributes":{
12484     "index":467
12485    }
12486   }
12487  ],
12488  "electric-283":[
12489   [
12490    [
12491     -0.5979,
12492     0.8052,
12493     -1.8815
12494    ],
12495    [
12496     -0.5907,
12497     1.3467,
12498     -1.5403
12499    ]
12500   ],
12501   {
12502    "attributes":{
12503     "index":972
12504    }
12505   }
12506  ],
12507  "electric-284":[
12508   [
12509    [
12510     -0.5979,
12511     0.8052,
12512     -1.8815
12513    ],
12514    [
12515     -1.0966,
12516     0.9775,
12517     -1.5422
12518    ]
12519   ],
12520   {
12521    "attributes":{
12522     "index":307
12523    }
12524   }
12525  ],
12526  "electric-285":[
12527   [
12528    [
12529     -1.8172,
12530     0.5902,
12531     -0.9497
12532    ],
12533    [
12534     -2.0273,
12535     0.6501,
12536     0.0144
12537    ],
12538    [
12539     -1.8172,
12540     0.5902,
12541     -0.9497
12542    ],
12543    [
12544     -1.8364,
12545     0.9651,
12546     -0.4971
12547    ],
12548    [
12549     -1.8172,
12550     0.5902,
12551     -0.9497
12552    ],
12553    [
12554     -1.4857,
12555     1.0597,
12556     -1.099
12557    ]
12558   ],
12559   {
12560    "attributes":{
12561     "index":553
12562    }
12563   }
12564  ],
12565  "electric-286":[
12566   [
12567    [
12568     -1.8172,
12569     0.5902,
12570     -0.9497
12571    ],
12572    [
12573     -2.0509,
12574     0.3168,
12575     -0.4906
12576    ]
12577   ],
12578   {
12579    "attributes":{
12580     "index":359
12581    }
12582   }
12583  ],
12584  "electric-287":[
12585   [
12586    [
12587     -1.8458,
12588     0.0011,
12589     -1.0655
12590    ],
12591    [
12592     -2.13,
12593     0.0134,
12594     -0.0272
12595    ],
12596    [
12597     -1.8458,
12598     0.0011,
12599     -1.0655
12600    ],
12601    [
12602     -1.848,
12603     -0.906,
12604     -0.5512
12605    ]
12606   ],
12607   {
12608    "attributes":{
12609     "index":540
12610    }
12611   }
12612  ],
12613  "electric-288":[
12614   [
12615    [
12616     -1.8458,
12617     0.0011,
12618     -1.0655
12619    ],
12620    [
12621     -2.0509,
12622     0.3168,
12623     -0.4906
12624    ]
12625   ],
12626   {
12627    "attributes":{
12628     "index":814
12629    }
12630   }
12631  ],
12632  "electric-289":[
12633   [
12634    [
12635     -1.8458,
12636     0.0011,
12637     -1.0655
12638    ],
12639    [
12640     -1.8172,
12641     0.5902,
12642     -0.9497
12643    ],
12644    [
12645     -1.8458,
12646     0.0011,
12647     -1.0655
12648    ],
12649    [
12650     -2.0141,
12651     -0.3212,
12652     -0.6064
12653    ]
12654   ],
12655   {
12656    "attributes":{
12657     "index":648
12658    }
12659   }
12660  ],
12661  "electric-290":[
12662   [
12663    [
12664     -1.7238,
12665     -0.5547,
12666     -1.1274
12667    ],
12668    [
12669     -1.457,
12670     -1.4604,
12671     -0.5276
12672    ],
12673    [
12674     -1.7238,
12675     -0.5547,
12676     -1.1274
12677    ],
12678    [
12679     -2.0509,
12680     0.3168,
12681     -0.4906
12682    ]
12683   ],
12684   {
12685    "attributes":{
12686     "index":618
12687    }
12688   }
12689  ],
12690  "electric-291":[
12691   [
12692    [
12693     -1.7238,
12694     -0.5547,
12695     -1.1274
12696    ],
12697    [
12698     -1.848,
12699     -0.906,
12700     -0.5512
12701    ]
12702   ],
12703   {
12704    "attributes":{
12705     "index":149
12706    }
12707   }
12708  ],
12709  "electric-292":[
12710   [
12711    [
12712     -1.7238,
12713     -0.5547,
12714     -1.1274
12715    ],
12716    [
12717     -2.0141,
12718     -0.3212,
12719     -0.6064
12720    ],
12721    [
12722     -1.7238,
12723     -0.5547,
12724     -1.1274
12725    ],
12726    [
12727     -1.8458,
12728     0.0011,
12729     -1.0655
12730    ]
12731   ],
12732   {
12733    "attributes":{
12734     "index":423
12735    }
12736   }
12737  ],
12738  "electric-293":[
12739   [
12740    [
12741     -1.4943,
12742     -1.0769,
12743     -1.0709
12744    ],
12745    [
12746     -1.7314,
12747     -1.2437,
12748     -0.0102
12749    ],
12750    [
12751     -1.4943,
12752     -1.0769,
12753     -1.0709
12754    ],
12755    [
12756     -2.0141,
12757     -0.3212,
12758     -0.6064
12759    ]
12760   ],
12761   {
12762    "attributes":{
12763     "index":339
12764    }
12765   }
12766  ],
12767  "electric-294":[
12768   [
12769    [
12770     -1.4943,
12771     -1.0769,
12772     -1.0709
12773    ],
12774    [
12775     -1.457,
12776     -1.4604,
12777     -0.5276
12778    ]
12779   ],
12780   {
12781    "attributes":{
12782     "index":705
12783    }
12784   }
12785  ],
12786  "electric-295":[
12787   [
12788    [
12789     -1.4943,
12790     -1.0769,
12791     -1.0709
12792    ],
12793    [
12794     -1.848,
12795     -0.906,
12796     -0.5512
12797    ],
12798    [
12799     -1.4943,
12800     -1.0769,
12801     -1.0709
12802    ],
12803    [
12804     -1.7238,
12805     -0.5547,
12806     -1.1274
12807    ]
12808   ],
12809   {
12810    "attributes":{
12811     "index":225
12812    }
12813   }
12814  ],
12815  "electric-296":[
12816   [
12817    [
12818     -1.5125,
12819     0.4633,
12820     -1.4258
12821    ],
12822    [
12823     -1.7238,
12824     -0.5547,
12825     -1.1274
12826    ],
12827    [
12828     -1.5125,
12829     0.4633,
12830     -1.4258
12831    ],
12832    [
12833     -2.0509,
12834     0.3168,
12835     -0.4906
12836    ],
12837    [
12838     -1.5125,
12839     0.4633,
12840     -1.4258
12841    ],
12842    [
12843     -0.5979,
12844     0.8052,
12845     -1.8815
12846    ]
12847   ],
12848   {
12849    "attributes":{
12850     "index":619
12851    }
12852   }
12853  ],
12854  "electric-297":[
12855   [
12856    [
12857     -1.5125,
12858     0.4633,
12859     -1.4258
12860    ],
12861    [
12862     -1.4857,
12863     1.0597,
12864     -1.099
12865    ],
12866    [
12867     -1.5125,
12868     0.4633,
12869     -1.4258
12870    ],
12871    [
12872     -1.0966,
12873     0.9775,
12874     -1.5422
12875    ],
12876    [
12877     -1.5125,
12878     0.4633,
12879     -1.4258
12880    ],
12881    [
12882     -1.8458,
12883     0.0011,
12884     -1.0655
12885    ]
12886   ],
12887   {
12888    "attributes":{
12889     "index":182
12890    }
12891   }
12892  ],
12893  "electric-298":[
12894   [
12895    [
12896     -1.5125,
12897     0.4633,
12898     -1.4258
12899    ],
12900    [
12901     -1.8172,
12902     0.5902,
12903     -0.9497
12904    ]
12905   ],
12906   {
12907    "attributes":{
12908     "index":865
12909    }
12910   }
12911  ],
12912  "electric-299":[
12913   [
12914    [
12915     -1.4287,
12916     -0.1283,
12917     -1.5752
12918    ],
12919    [
12920     -1.4943,
12921     -1.0769,
12922     -1.0709
12923    ],
12924    [
12925     -1.4287,
12926     -0.1283,
12927     -1.5752
12928    ],
12929    [
12930     -1.8172,
12931     0.5902,
12932     -0.9497
12933    ]
12934   ],
12935   {
12936    "attributes":{
12937     "index":965
12938    }
12939   }
12940  ],
12941  "electric-300":[
12942   [
12943    [
12944     -1.4287,
12945     -0.1283,
12946     -1.5752
12947    ],
12948    [
12949     -1.7238,
12950     -0.5547,
12951     -1.1274
12952    ],
12953    [
12954     -1.4287,
12955     -0.1283,
12956     -1.5752
12957    ],
12958    [
12959     -1.8458,
12960     0.0011,
12961     -1.0655
12962    ]
12963   ],
12964   {
12965    "attributes":{
12966     "index":312
12967    }
12968   }
12969  ],
12970  "electric-301":[
12971   [
12972    [
12973     -1.4287,
12974     -0.1283,
12975     -1.5752
12976    ],
12977    [
12978     -1.5125,
12979     0.4633,
12980     -1.4258
12981    ]
12982   ],
12983   {
12984    "attributes":{
12985     "index":981
12986    }
12987   }
12988  ],
12989  "electric-302":[
12990   [
12991    [
12992     -1.2559,
12993     -0.7166,
12994     -1.567
12995    ],
12996    [
12997     -1.8458,
12998     0.0011,
12999     -1.0655
13000    ]
13001   ],
13002   {
13003    "attributes":{
13004     "index":235
13005    }
13006   }
13007  ],
13008  "electric-303":[
13009   [
13010    [
13011     -1.2559,
13012     -0.7166,
13013     -1.567
13014    ],
13015    [
13016     -1.7238,
13017     -0.5547,
13018     -1.1274
13019    ],
13020    [
13021     -1.2559,
13022     -0.7166,
13023     -1.567
13024    ],
13025    [
13026     -1.4943,
13027     -1.0769,
13028     -1.0709
13029    ]
13030   ],
13031   {
13032    "attributes":{
13033     "index":734
13034    }
13035   }
13036  ],
13037  "electric-304":[
13038   [
13039    [
13040     -1.2559,
13041     -0.7166,
13042     -1.567
13043    ],
13044    [
13045     -1.4287,
13046     -0.1283,
13047     -1.5752
13048    ]
13049   ],
13050   {
13051    "attributes":{
13052     "index":542
13053    }
13054   }
13055  ],
13056  "electric-305":[
13057   [
13058    [
13059     -1.0414,
13060     0.3139,
13061     -1.8284
13062    ],
13063    [
13064     -1.2559,
13065     -0.7166,
13066     -1.567
13067    ]
13068   ],
13069   {
13070    "attributes":{
13071     "index":609
13072    }
13073   }
13074  ],
13075  "electric-306":[
13076   [
13077    [
13078     -1.0414,
13079     0.3139,
13080     -1.8284
13081    ],
13082    [
13083     -1.0966,
13084     0.9775,
13085     -1.5422
13086    ],
13087    [
13088     -1.0414,
13089     0.3139,
13090     -1.8284
13091    ],
13092    [
13093     -0.5979,
13094     0.8052,
13095     -1.8815
13096    ]
13097   ],
13098   {
13099    "attributes":{
13100     "index":983
13101    }
13102   }
13103  ],
13104  "electric-307":[
13105   [
13106    [
13107     -1.0414,
13108     0.3139,
13109     -1.8284
13110    ],
13111    [
13112     -1.4287,
13113     -0.1283,
13114     -1.5752
13115    ],
13116    [
13117     -1.0414,
13118     0.3139,
13119     -1.8284
13120    ],
13121    [
13122     -1.5125,
13123     0.4633,
13124     -1.4258
13125    ]
13126   ],
13127   {
13128    "attributes":{
13129     "index":127
13130    }
13131   }
13132  ],
13133  "electric-308":[
13134   [
13135    [
13136     -0.9119,
13137     -0.3193,
13138     -1.8971
13139    ],
13140    [
13141     -1.5125,
13142     0.4633,
13143     -1.4258
13144    ]
13145   ],
13146   {
13147    "attributes":{
13148     "index":408
13149    }
13150   }
13151  ],
13152  "electric-309":[
13153   [
13154    [
13155     -0.9119,
13156     -0.3193,
13157     -1.8971
13158    ],
13159    [
13160     -1.0414,
13161     0.3139,
13162     -1.8284
13163    ],
13164    [
13165     -0.9119,
13166     -0.3193,
13167     -1.8971
13168    ],
13169    [
13170     -1.4287,
13171     -0.1283,
13172     -1.5752
13173    ]
13174   ],
13175   {
13176    "attributes":{
13177     "index":871
13178    }
13179   }
13180  ],
13181  "electric-310":[
13182   [
13183    [
13184     -0.9119,
13185     -0.3193,
13186     -1.8971
13187    ],
13188    [
13189     -1.2559,
13190     -0.7166,
13191     -1.567
13192    ]
13193   ],
13194   {
13195    "attributes":{
13196     "index":297
13197    }
13198   }
13199  ],
13200  "electric-311":[
13201   [
13202    [
13203     -0.5728,
13204     0.1917,
13205     -2.0435
13206    ],
13207    [
13208     -1.0966,
13209     0.9775,
13210     -1.5422
13211    ],
13212    [
13213     -0.5728,
13214     0.1917,
13215     -2.0435
13216    ],
13217    [
13218     -1.4287,
13219     -0.1283,
13220     -1.5752
13221    ]
13222   ],
13223   {
13224    "attributes":{
13225     "index":756
13226    }
13227   }
13228  ],
13229  "electric-312":[
13230   [
13231    [
13232     -0.5728,
13233     0.1917,
13234     -2.0435
13235    ],
13236    [
13237     -0.9119,
13238     -0.3193,
13239     -1.8971
13240    ]
13241   ],
13242   {
13243    "attributes":{
13244     "index":680
13245    }
13246   }
13247  ],
13248  "electric-313":[
13249   [
13250    [
13251     -0.5728,
13252     0.1917,
13253     -2.0435
13254    ],
13255    [
13256     -0.5979,
13257     0.8052,
13258     -1.8815
13259    ],
13260    [
13261     -0.5728,
13262     0.1917,
13263     -2.0435
13264    ],
13265    [
13266     -1.0414,
13267     0.3139,
13268     -1.8284
13269    ]
13270   ],
13271   {
13272    "attributes":{
13273     "index":235
13274    }
13275   }
13276  ],
13277  "electric-314":[
13278   [
13279    [
13280     -1.1262,
13281     -1.5396,
13282     -0.956
13283    ],
13284    [
13285     -1.848,
13286     -0.906,
13287     -0.5512
13288    ],
13289    [
13290     -1.1262,
13291     -1.5396,
13292     -0.956
13293    ],
13294    [
13295     -1.2559,
13296     -0.7166,
13297     -1.567
13298    ]
13299   ],
13300   {
13301    "attributes":{
13302     "index":129
13303    }
13304   }
13305  ],
13306  "electric-315":[
13307   [
13308    [
13309     -1.1262,
13310     -1.5396,
13311     -0.956
13312    ],
13313    [
13314     -1.2861,
13315     -1.6943,
13316     0.047
13317    ],
13318    [
13319     -1.1262,
13320     -1.5396,
13321     -0.956
13322    ],
13323    [
13324     -1.4943,
13325     -1.0769,
13326     -1.0709
13327    ]
13328   ],
13329   {
13330    "attributes":{
13331     "index":290
13332    }
13333   }
13334  ],
13335  "electric-316":[
13336   [
13337    [
13338     -1.1262,
13339     -1.5396,
13340     -0.956
13341    ],
13342    [
13343     -0.9318,
13344     -1.849,
13345     -0.5093
13346    ],
13347    [
13348     -1.1262,
13349     -1.5396,
13350     -0.956
13351    ],
13352    [
13353     -1.457,
13354     -1.4604,
13355     -0.5276
13356    ]
13357   ],
13358   {
13359    "attributes":{
13360     "index":900
13361    }
13362   }
13363  ],
13364  "electric-317":[
13365   [
13366    [
13367     -0.5656,
13368     -1.7456,
13369     -1.0848
13370    ],
13371    [
13372     -1.457,
13373     -1.4604,
13374     -0.5276
13375    ],
13376    [
13377     -0.5656,
13378     -1.7456,
13379     -1.0848
13380    ],
13381    [
13382     0.3215,
13383     -2.0274,
13384     -0.5747
13385    ]
13386   ],
13387   {
13388    "attributes":{
13389     "index":825
13390    }
13391   }
13392  ],
13393  "electric-318":[
13394   [
13395    [
13396     -0.5656,
13397     -1.7456,
13398     -1.0848
13399    ],
13400    [
13401     -0.9318,
13402     -1.849,
13403     -0.5093
13404    ]
13405   ],
13406   {
13407    "attributes":{
13408     "index":978
13409    }
13410   }
13411  ],
13412  "electric-319":[
13413   [
13414    [
13415     -0.5656,
13416     -1.7456,
13417     -1.0848
13418    ],
13419    [
13420     -0.2911,
13421     -2.0303,
13422     -0.5788
13423    ],
13424    [
13425     -0.5656,
13426     -1.7456,
13427     -1.0848
13428    ],
13429    [
13430     -1.1262,
13431     -1.5396,
13432     -0.956
13433    ]
13434   ],
13435   {
13436    "attributes":{
13437     "index":746
13438    }
13439   }
13440  ],
13441  "electric-320":[
13442   [
13443    [
13444     0.0243,
13445     -1.8296,
13446     -1.0856
13447    ],
13448    [
13449     0.0088,
13450     -2.1316,
13451     -0.0566
13452    ],
13453    [
13454     0.0243,
13455     -1.8296,
13456     -1.0856
13457    ],
13458    [
13459     0.8959,
13460     -1.8679,
13461     -0.493
13462    ]
13463   ],
13464   {
13465    "attributes":{
13466     "index":998
13467    }
13468   }
13469  ],
13470  "electric-321":[
13471   [
13472    [
13473     0.0243,
13474     -1.8296,
13475     -1.0856
13476    ],
13477    [
13478     -0.2911,
13479     -2.0303,
13480     -0.5788
13481    ]
13482   ],
13483   {
13484    "attributes":{
13485     "index":941
13486    }
13487   }
13488  ],
13489  "electric-322":[
13490   [
13491    [
13492     0.0243,
13493     -1.8296,
13494     -1.0856
13495    ],
13496    [
13497     0.3215,
13498     -2.0274,
13499     -0.5747
13500    ],
13501    [
13502     0.0243,
13503     -1.8296,
13504     -1.0856
13505    ],
13506    [
13507     -0.5656,
13508     -1.7456,
13509     -1.0848
13510    ]
13511   ],
13512   {
13513    "attributes":{
13514     "index":153
13515    }
13516   }
13517  ],
13518  "electric-323":[
13519   [
13520    [
13521     0.5571,
13522     -1.7589,
13523     -1.0622
13524    ],
13525    [
13526     0.6833,
13527     -2.0172,
13528     -0.0087
13529    ],
13530    [
13531     0.5571,
13532     -1.7589,
13533     -1.0622
13534    ],
13535    [
13536     -0.2911,
13537     -2.0303,
13538     -0.5788
13539    ]
13540   ],
13541   {
13542    "attributes":{
13543     "index":764
13544    }
13545   }
13546  ],
13547  "electric-324":[
13548   [
13549    [
13550     0.5571,
13551     -1.7589,
13552     -1.0622
13553    ],
13554    [
13555     0.8959,
13556     -1.8679,
13557     -0.493
13558    ]
13559   ],
13560   {
13561    "attributes":{
13562     "index":508
13563    }
13564   }
13565  ],
13566  "electric-325":[
13567   [
13568    [
13569     0.5571,
13570     -1.7589,
13571     -1.0622
13572    ],
13573    [
13574     0.3215,
13575     -2.0274,
13576     -0.5747
13577    ],
13578    [
13579     0.5571,
13580     -1.7589,
13581     -1.0622
13582    ],
13583    [
13584     0.0243,
13585     -1.8296,
13586     -1.0856
13587    ]
13588   ],
13589   {
13590    "attributes":{
13591     "index":447
13592    }
13593   }
13594  ],
13595  "electric-326":[
13596   [
13597    [
13598     -0.9105,
13599     -1.2834,
13600     -1.4377
13601    ],
13602    [
13603     -1.457,
13604     -1.4604,
13605     -0.5276
13606    ],
13607    [
13608     -0.9105,
13609     -1.2834,
13610     -1.4377
13611    ],
13612    [
13613     -0.9119,
13614     -0.3193,
13615     -1.8971
13616    ]
13617   ],
13618   {
13619    "attributes":{
13620     "index":374
13621    }
13622   }
13623  ],
13624  "electric-327":[
13625   [
13626    [
13627     -0.9105,
13628     -1.2834,
13629     -1.4377
13630    ],
13631    [
13632     -1.1262,
13633     -1.5396,
13634     -0.956
13635    ]
13636   ],
13637   {
13638    "attributes":{
13639     "index":370
13640    }
13641   }
13642  ],
13643  "electric-328":[
13644   [
13645    [
13646     -0.311,
13647     -1.4075,
13648     -1.5711
13649    ],
13650    [
13651     0.5571,
13652     -1.7589,
13653     -1.0622
13654    ],
13655    [
13656     -0.311,
13657     -1.4075,
13658     -1.5711
13659    ],
13660    [
13661     -1.1262,
13662     -1.5396,
13663     -0.956
13664    ]
13665   ],
13666   {
13667    "attributes":{
13668     "index":317
13669    }
13670   }
13671  ],
13672  "electric-329":[
13673   [
13674    [
13675     -0.311,
13676     -1.4075,
13677     -1.5711
13678    ],
13679    [
13680     0.0243,
13681     -1.8296,
13682     -1.0856
13683    ],
13684    [
13685     -0.311,
13686     -1.4075,
13687     -1.5711
13688    ],
13689    [
13690     -0.5656,
13691     -1.7456,
13692     -1.0848
13693    ]
13694   ],
13695   {
13696    "attributes":{
13697     "index":593
13698    }
13699   }
13700  ],
13701  "electric-330":[
13702   [
13703    [
13704     -0.311,
13705     -1.4075,
13706     -1.5711
13707    ],
13708    [
13709     -0.9105,
13710     -1.2834,
13711     -1.4377
13712    ]
13713   ],
13714   {
13715    "attributes":{
13716     "index":39
13717    }
13718   }
13719  ],
13720  "electric-331":[
13721   [
13722    [
13723     0.282,
13724     -1.4109,
13725     -1.5708
13726    ],
13727    [
13728     -0.5656,
13729     -1.7456,
13730     -1.0848
13731    ]
13732   ],
13733   {
13734    "attributes":{
13735     "index":620
13736    }
13737   }
13738  ],
13739  "electric-332":[
13740   [
13741    [
13742     0.282,
13743     -1.4109,
13744     -1.5708
13745    ],
13746    [
13747     0.0243,
13748     -1.8296,
13749     -1.0856
13750    ]
13751   ],
13752   {
13753    "attributes":{
13754     "index":67
13755    }
13756   }
13757  ],
13758  "electric-333":[
13759   [
13760    [
13761     0.282,
13762     -1.4109,
13763     -1.5708
13764    ],
13765    [
13766     0.5571,
13767     -1.7589,
13768     -1.0622
13769    ],
13770    [
13771     0.282,
13772     -1.4109,
13773     -1.5708
13774    ],
13775    [
13776     -0.311,
13777     -1.4075,
13778     -1.5711
13779    ]
13780   ],
13781   {
13782    "attributes":{
13783     "index":637
13784    }
13785   }
13786  ],
13787  "electric-334":[
13788   [
13789    [
13790     -0.681,
13791     -0.912,
13792     -1.8005
13793    ],
13794    [
13795     -1.4287,
13796     -0.1283,
13797     -1.5752
13798    ],
13799    [
13800     -0.681,
13801     -0.912,
13802     -1.8005
13803    ],
13804    [
13805     0.282,
13806     -1.4109,
13807     -1.5708
13808    ],
13809    [
13810     -0.681,
13811     -0.912,
13812     -1.8005
13813    ],
13814    [
13815     -0.5656,
13816     -1.7456,
13817     -1.0848
13818    ]
13819   ],
13820   {
13821    "attributes":{
13822     "index":553
13823    }
13824   }
13825  ],
13826  "electric-335":[
13827   [
13828    [
13829     -0.681,
13830     -0.912,
13831     -1.8005
13832    ],
13833    [
13834     -0.311,
13835     -1.4075,
13836     -1.5711
13837    ],
13838    [
13839     -0.681,
13840     -0.912,
13841     -1.8005
13842    ],
13843    [
13844     -1.2559,
13845     -0.7166,
13846     -1.567
13847    ]
13848   ],
13849   {
13850    "attributes":{
13851     "index":52
13852    }
13853   }
13854  ],
13855  "electric-336":[
13856   [
13857    [
13858     -0.681,
13859     -0.912,
13860     -1.8005
13861    ],
13862    [
13863     -0.9119,
13864     -0.3193,
13865     -1.8971
13866    ],
13867    [
13868     -0.681,
13869     -0.912,
13870     -1.8005
13871    ],
13872    [
13873     -0.9105,
13874     -1.2834,
13875     -1.4377
13876    ]
13877   ],
13878   {
13879    "attributes":{
13880     "index":692
13881    }
13882   }
13883  ],
13884  "electric-337":[
13885   [
13886    [
13887     0.0209,
13888     -0.9796,
13889     -1.8914
13890    ],
13891    [
13892     -0.9105,
13893     -1.2834,
13894     -1.4377
13895    ]
13896   ],
13897   {
13898    "attributes":{
13899     "index":791
13900    }
13901   }
13902  ],
13903  "electric-338":[
13904   [
13905    [
13906     0.0209,
13907     -0.9796,
13908     -1.8914
13909    ],
13910    [
13911     -0.311,
13912     -1.4075,
13913     -1.5711
13914    ],
13915    [
13916     0.0209,
13917     -0.9796,
13918     -1.8914
13919    ],
13920    [
13921     0.282,
13922     -1.4109,
13923     -1.5708
13924    ]
13925   ],
13926   {
13927    "attributes":{
13928     "index":127
13929    }
13930   }
13931  ],
13932  "electric-339":[
13933   [
13934    [
13935     -0.3562,
13936     -0.4773,
13937     -2.047
13938    ],
13939    [
13940     -1.0414,
13941     0.3139,
13942     -1.8284
13943    ],
13944    [
13945     -0.3562,
13946     -0.4773,
13947     -2.047
13948    ],
13949    [
13950     -1.2559,
13951     -0.7166,
13952     -1.567
13953    ],
13954    [
13955     -0.3562,
13956     -0.4773,
13957     -2.047
13958    ],
13959    [
13960     -0.311,
13961     -1.4075,
13962     -1.5711
13963    ]
13964   ],
13965   {
13966    "attributes":{
13967     "index":988
13968    }
13969   }
13970  ],
13971  "electric-340":[
13972   [
13973    [
13974     -0.3562,
13975     -0.4773,
13976     -2.047
13977    ],
13978    [
13979     -0.9119,
13980     -0.3193,
13981     -1.8971
13982    ],
13983    [
13984     -0.3562,
13985     -0.4773,
13986     -2.047
13987    ],
13988    [
13989     -0.681,
13990     -0.912,
13991     -1.8005
13992    ]
13993   ],
13994   {
13995    "attributes":{
13996     "index":629
13997    }
13998   }
13999  ],
14000  "electric-341":[
14001   [
14002    [
14003     1.1146,
14004     -1.5526,
14005     -0.9456
14006    ],
14007    [
14008     1.2605,
14009     -1.72,
14010     0.042
14011    ],
14012    [
14013     1.1146,
14014     -1.5526,
14015     -0.9456
14016    ],
14017    [
14018     1.8223,
14019     -0.9494,
14020     -0.5568
14021    ]
14022   ],
14023   {
14024    "attributes":{
14025     "index":228
14026    }
14027   }
14028  ],
14029  "electric-342":[
14030   [
14031    [
14032     1.1146,
14033     -1.5526,
14034     -0.9456
14035    ],
14036    [
14037     0.3215,
14038     -2.0274,
14039     -0.5747
14040    ],
14041    [
14042     1.1146,
14043     -1.5526,
14044     -0.9456
14045    ],
14046    [
14047     1.4992,
14048     -1.4312,
14049     -0.4887
14050    ]
14051   ],
14052   {
14053    "attributes":{
14054     "index":107
14055    }
14056   }
14057  ],
14058  "electric-343":[
14059   [
14060    [
14061     1.1146,
14062     -1.5526,
14063     -0.9456
14064    ],
14065    [
14066     0.5571,
14067     -1.7589,
14068     -1.0622
14069    ],
14070    [
14071     1.1146,
14072     -1.5526,
14073     -0.9456
14074    ],
14075    [
14076     0.8959,
14077     -1.8679,
14078     -0.493
14079    ]
14080   ],
14081   {
14082    "attributes":{
14083     "index":887
14084    }
14085   }
14086  ],
14087  "electric-344":[
14088   [
14089    [
14090     1.479,
14091     -1.0788,
14092     -1.0913
14093    ],
14094    [
14095     2.0226,
14096     -0.3329,
14097     -0.5849
14098    ]
14099   ],
14100   {
14101    "attributes":{
14102     "index":685
14103    }
14104   }
14105  ],
14106  "electric-345":[
14107   [
14108    [
14109     1.479,
14110     -1.0788,
14111     -1.0913
14112    ],
14113    [
14114     1.4992,
14115     -1.4312,
14116     -0.4887
14117    ]
14118   ],
14119   {
14120    "attributes":{
14121     "index":491
14122    }
14123   }
14124  ],
14125  "electric-346":[
14126   [
14127    [
14128     1.479,
14129     -1.0788,
14130     -1.0913
14131    ],
14132    [
14133     1.8223,
14134     -0.9494,
14135     -0.5568
14136    ],
14137    [
14138     1.479,
14139     -1.0788,
14140     -1.0913
14141    ],
14142    [
14143     1.1146,
14144     -1.5526,
14145     -0.9456
14146    ]
14147   ],
14148   {
14149    "attributes":{
14150     "index":471
14151    }
14152   }
14153  ],
14154  "electric-347":[
14155   [
14156    [
14157     1.7121,
14158     -0.5664,
14159     -1.136
14160    ],
14161    [
14162     1.4992,
14163     -1.4312,
14164     -0.4887
14165    ]
14166   ],
14167   {
14168    "attributes":{
14169     "index":766
14170    }
14171   }
14172  ],
14173  "electric-348":[
14174   [
14175    [
14176     1.7121,
14177     -0.5664,
14178     -1.136
14179    ],
14180    [
14181     1.8223,
14182     -0.9494,
14183     -0.5568
14184    ],
14185    [
14186     1.7121,
14187     -0.5664,
14188     -1.136
14189    ],
14190    [
14191     2.0226,
14192     -0.3329,
14193     -0.5849
14194    ]
14195   ],
14196   {
14197    "attributes":{
14198     "index":181
14199    }
14200   }
14201  ],
14202  "electric-349":[
14203   [
14204    [
14205     1.7121,
14206     -0.5664,
14207     -1.136
14208    ],
14209    [
14210     1.479,
14211     -1.0788,
14212     -1.0913
14213    ]
14214   ],
14215   {
14216    "attributes":{
14217     "index":438
14218    }
14219   }
14220  ],
14221  "electric-350":[
14222   [
14223    [
14224     1.8524,
14225     0.0364,
14226     -1.0472
14227    ],
14228    [
14229     1.8295,
14230     0.9603,
14231     -0.5191
14232    ],
14233    [
14234     1.8524,
14235     0.0364,
14236     -1.0472
14237    ],
14238    [
14239     2.13,
14240     0.0061,
14241     -0.0266
14242    ]
14243   ],
14244   {
14245    "attributes":{
14246     "index":47
14247    }
14248   }
14249  ],
14250  "electric-351":[
14251   [
14252    [
14253     1.8524,
14254     0.0364,
14255     -1.0472
14256    ],
14257    [
14258     1.7121,
14259     -0.5664,
14260     -1.136
14261    ]
14262   ],
14263   {
14264    "attributes":{
14265     "index":842
14266    }
14267   }
14268  ],
14269  "electric-352":[
14270   [
14271    [
14272     1.8524,
14273     0.0364,
14274     -1.0472
14275    ],
14276    [
14277     2.0406,
14278     0.3192,
14279     -0.5214
14280    ],
14281    [
14282     1.8524,
14283     0.0364,
14284     -1.0472
14285    ],
14286    [
14287     2.0226,
14288     -0.3329,
14289     -0.5849
14290    ]
14291   ],
14292   {
14293    "attributes":{
14294     "index":1000
14295    }
14296   }
14297  ],
14298  "electric-353":[
14299   [
14300    [
14301     0.9346,
14302     -1.2864,
14303     -1.419
14304    ],
14305    [
14306     1.4992,
14307     -1.4312,
14308     -0.4887
14309    ],
14310    [
14311     0.9346,
14312     -1.2864,
14313     -1.419
14314    ],
14315    [
14316     0.0209,
14317     -0.9796,
14318     -1.8914
14319    ]
14320   ],
14321   {
14322    "attributes":{
14323     "index":568
14324    }
14325   }
14326  ],
14327  "electric-354":[
14328   [
14329    [
14330     0.9346,
14331     -1.2864,
14332     -1.419
14333    ],
14334    [
14335     0.5571,
14336     -1.7589,
14337     -1.0622
14338    ],
14339    [
14340     0.9346,
14341     -1.2864,
14342     -1.419
14343    ],
14344    [
14345     0.282,
14346     -1.4109,
14347     -1.5708
14348    ],
14349    [
14350     0.9346,
14351     -1.2864,
14352     -1.419
14353    ],
14354    [
14355     1.479,
14356     -1.0788,
14357     -1.0913
14358    ]
14359   ],
14360   {
14361    "attributes":{
14362     "index":365
14363    }
14364   }
14365  ],
14366  "electric-355":[
14367   [
14368    [
14369     0.9346,
14370     -1.2864,
14371     -1.419
14372    ],
14373    [
14374     1.1146,
14375     -1.5526,
14376     -0.9456
14377    ]
14378   ],
14379   {
14380    "attributes":{
14381     "index":186
14382    }
14383   }
14384  ],
14385  "electric-356":[
14386   [
14387    [
14388     1.2223,
14389     -0.7339,
14390     -1.5807
14391    ],
14392    [
14393     1.1146,
14394     -1.5526,
14395     -0.9456
14396    ]
14397   ],
14398   {
14399    "attributes":{
14400     "index":372
14401    }
14402   }
14403  ],
14404  "electric-357":[
14405   [
14406    [
14407     1.2223,
14408     -0.7339,
14409     -1.5807
14410    ],
14411    [
14412     1.7121,
14413     -0.5664,
14414     -1.136
14415    ],
14416    [
14417     1.2223,
14418     -0.7339,
14419     -1.5807
14420    ],
14421    [
14422     1.479,
14423     -1.0788,
14424     -1.0913
14425    ],
14426    [
14427     1.2223,
14428     -0.7339,
14429     -1.5807
14430    ],
14431    [
14432     0.9346,
14433     -1.2864,
14434     -1.419
14435    ]
14436   ],
14437   {
14438    "attributes":{
14439     "index":156
14440    }
14441   }
14442  ],
14443  "electric-358":[
14444   [
14445    [
14446     1.4553,
14447     -0.1666,
14448     -1.5462
14449    ],
14450    [
14451     1.479,
14452     -1.0788,
14453     -1.0913
14454    ]
14455   ],
14456   {
14457    "attributes":{
14458     "index":236
14459    }
14460   }
14461  ],
14462  "electric-359":[
14463   [
14464    [
14465     1.4553,
14466     -0.1666,
14467     -1.5462
14468    ],
14469    [
14470     1.8524,
14471     0.0364,
14472     -1.0472
14473    ]
14474   ],
14475   {
14476    "attributes":{
14477     "index":69
14478    }
14479   }
14480  ],
14481  "electric-360":[
14482   [
14483    [
14484     0.7001,
14485     -0.8801,
14486     -1.8046
14487    ],
14488    [
14489     1.479,
14490     -1.0788,
14491     -1.0913
14492    ],
14493    [
14494     0.7001,
14495     -0.8801,
14496     -1.8046
14497    ],
14498    [
14499     1.4553,
14500     -0.1666,
14501     -1.5462
14502    ]
14503   ],
14504   {
14505    "attributes":{
14506     "index":115
14507    }
14508   }
14509  ],
14510  "electric-361":[
14511   [
14512    [
14513     0.7001,
14514     -0.8801,
14515     -1.8046
14516    ],
14517    [
14518     1.2223,
14519     -0.7339,
14520     -1.5807
14521    ]
14522   ],
14523   {
14524    "attributes":{
14525     "index":467
14526    }
14527   }
14528  ],
14529  "electric-362":[
14530   [
14531    [
14532     0.9181,
14533     -0.3338,
14534     -1.8907
14535    ],
14536    [
14537     0.9346,
14538     -1.2864,
14539     -1.419
14540    ]
14541   ],
14542   {
14543    "attributes":{
14544     "index":166
14545    }
14546   }
14547  ],
14548  "electric-363":[
14549   [
14550    [
14551     0.9181,
14552     -0.3338,
14553     -1.8907
14554    ],
14555    [
14556     1.4553,
14557     -0.1666,
14558     -1.5462
14559    ]
14560   ],
14561   {
14562    "attributes":{
14563     "index":684
14564    }
14565   }
14566  ],
14567  "electric-364":[
14568   [
14569    [
14570     0.9181,
14571     -0.3338,
14572     -1.8907
14573    ],
14574    [
14575     0.7001,
14576     -0.8801,
14577     -1.8046
14578    ],
14579    [
14580     0.9181,
14581     -0.3338,
14582     -1.8907
14583    ],
14584    [
14585     1.2223,
14586     -0.7339,
14587     -1.5807
14588    ]
14589   ],
14590   {
14591    "attributes":{
14592     "index":479
14593    }
14594   }
14595  ],
14596  "electric-365":[
14597   [
14598    [
14599     0.3419,
14600     -0.4567,
14601     -2.0542
14602    ],
14603    [
14604     0.282,
14605     -1.4109,
14606     -1.5708
14607    ],
14608    [
14609     0.3419,
14610     -0.4567,
14611     -2.0542
14612    ],
14613    [
14614     1.2223,
14615     -0.7339,
14616     -1.5807
14617    ]
14618   ],
14619   {
14620    "attributes":{
14621     "index":700
14622    }
14623   }
14624  ],
14625  "electric-366":[
14626   [
14627    [
14628     0.3419,
14629     -0.4567,
14630     -2.0542
14631    ],
14632    [
14633     -0.3562,
14634     -0.4773,
14635     -2.047
14636    ],
14637    [
14638     0.3419,
14639     -0.4567,
14640     -2.0542
14641    ],
14642    [
14643     0.0209,
14644     -0.9796,
14645     -1.8914
14646    ]
14647   ],
14648   {
14649    "attributes":{
14650     "index":719
14651    }
14652   }
14653  ],
14654  "electric-367":[
14655   [
14656    [
14657     0.3419,
14658     -0.4567,
14659     -2.0542
14660    ],
14661    [
14662     0.9181,
14663     -0.3338,
14664     -1.8907
14665    ],
14666    [
14667     0.3419,
14668     -0.4567,
14669     -2.0542
14670    ],
14671    [
14672     0.7001,
14673     -0.8801,
14674     -1.8046
14675    ]
14676   ],
14677   {
14678    "attributes":{
14679     "index":728
14680    }
14681   }
14682  ],
14683  "electric-368":[
14684   [
14685    [
14686     1.8032,
14687     0.6289,
14688     -0.9375
14689    ],
14690    [
14691     1.4553,
14692     -0.1666,
14693     -1.5462
14694    ],
14695    [
14696     1.8032,
14697     0.6289,
14698     -0.9375
14699    ],
14700    [
14701     2.031,
14702     0.647,
14703     0.0365
14704    ]
14705   ],
14706   {
14707    "attributes":{
14708     "index":88
14709    }
14710   }
14711  ],
14712  "electric-369":[
14713   [
14714    [
14715     1.8032,
14716     0.6289,
14717     -0.9375
14718    ],
14719    [
14720     1.4351,
14721     1.4695,
14722     -0.5736
14723    ],
14724    [
14725     1.8032,
14726     0.6289,
14727     -0.9375
14728    ],
14729    [
14730     1.8524,
14731     0.0364,
14732     -1.0472
14733    ]
14734   ],
14735   {
14736    "attributes":{
14737     "index":25
14738    }
14739   }
14740  ],
14741  "electric-370":[
14742   [
14743    [
14744     1.8032,
14745     0.6289,
14746     -0.9375
14747    ],
14748    [
14749     2.0406,
14750     0.3192,
14751     -0.5214
14752    ],
14753    [
14754     1.8032,
14755     0.6289,
14756     -0.9375
14757    ],
14758    [
14759     1.8295,
14760     0.9603,
14761     -0.5191
14762    ]
14763   ],
14764   {
14765    "attributes":{
14766     "index":464
14767    }
14768   }
14769  ],
14770  "electric-371":[
14771   [
14772    [
14773     1.5003,
14774     1.0448,
14775     -1.0928
14776    ],
14777    [
14778     1.4351,
14779     1.4695,
14780     -0.5736
14781    ],
14782    [
14783     1.5003,
14784     1.0448,
14785     -1.0928
14786    ],
14787    [
14788     1.8295,
14789     0.9603,
14790     -0.5191
14791    ]
14792   ],
14793   {
14794    "attributes":{
14795     "index":25
14796    }
14797   }
14798  ],
14799  "electric-372":[
14800   [
14801    [
14802     1.5003,
14803     1.0448,
14804     -1.0928
14805    ],
14806    [
14807     1.8032,
14808     0.6289,
14809     -0.9375
14810    ]
14811   ],
14812   {
14813    "attributes":{
14814     "index":168
14815    }
14816   }
14817  ],
14818  "electric-373":[
14819   [
14820    [
14821     1.083,
14822     1.4647,
14823     -1.1053
14824    ],
14825    [
14826     1.2476,
14827     1.7252,
14828     -0.0148
14829    ],
14830    [
14831     1.083,
14832     1.4647,
14833     -1.1053
14834    ],
14835    [
14836     1.8032,
14837     0.6289,
14838     -0.9375
14839    ],
14840    [
14841     1.083,
14842     1.4647,
14843     -1.1053
14844    ],
14845    [
14846     1.8295,
14847     0.9603,
14848     -0.5191
14849    ]
14850   ],
14851   {
14852    "attributes":{
14853     "index":858
14854    }
14855   }
14856  ],
14857  "electric-374":[
14858   [
14859    [
14860     1.083,
14861     1.4647,
14862     -1.1053
14863    ],
14864    [
14865     0.9406,
14866     1.831,
14867     -0.5549
14868    ]
14869   ],
14870   {
14871    "attributes":{
14872     "index":368
14873    }
14874   }
14875  ],
14876  "electric-375":[
14877   [
14878    [
14879     1.083,
14880     1.4647,
14881     -1.1053
14882    ],
14883    [
14884     1.4351,
14885     1.4695,
14886     -0.5736
14887    ],
14888    [
14889     1.083,
14890     1.4647,
14891     -1.1053
14892    ],
14893    [
14894     1.5003,
14895     1.0448,
14896     -1.0928
14897    ]
14898   ],
14899   {
14900    "attributes":{
14901     "index":346
14902    }
14903   }
14904  ],
14905  "electric-376":[
14906   [
14907    [
14908     0.5353,
14909     1.7501,
14910     -1.0914
14911    ],
14912    [
14913     0.339,
14914     2.0493,
14915     -0.4779
14916    ],
14917    [
14918     0.5353,
14919     1.7501,
14920     -1.0914
14921    ],
14922    [
14923     0.9406,
14924     1.831,
14925     -0.5549
14926    ]
14927   ],
14928   {
14929    "attributes":{
14930     "index":3
14931    }
14932   }
14933  ],
14934  "electric-377":[
14935   [
14936    [
14937     0.5353,
14938     1.7501,
14939     -1.0914
14940    ],
14941    [
14942     1.083,
14943     1.4647,
14944     -1.1053
14945    ]
14946   ],
14947   {
14948    "attributes":{
14949     "index":756
14950    }
14951   }
14952  ],
14953  "electric-378":[
14954   [
14955    [
14956     0.0244,
14957     1.9058,
14958     -0.9523
14959    ],
14960    [
14961     0.0071,
14962     2.1322,
14963     0.0348
14964    ],
14965    [
14966     0.0244,
14967     1.9058,
14968     -0.9523
14969    ],
14970    [
14971     -0.5907,
14972     1.3467,
14973     -1.5403
14974    ],
14975    [
14976     0.0244,
14977     1.9058,
14978     -0.9523
14979    ],
14980    [
14981     0.9406,
14982     1.831,
14983     -0.5549
14984    ]
14985   ],
14986   {
14987    "attributes":{
14988     "index":665
14989    }
14990   }
14991  ],
14992  "electric-379":[
14993   [
14994    [
14995     0.0244,
14996     1.9058,
14997     -0.9523
14998    ],
14999    [
15000     -0.5493,
15001     1.7609,
15002     -1.0703
15003    ],
15004    [
15005     0.0244,
15006     1.9058,
15007     -0.9523
15008    ],
15009    [
15010     0.339,
15011     2.0493,
15012     -0.4779
15013    ]
15014   ],
15015   {
15016    "attributes":{
15017     "index":955
15018    }
15019   }
15020  ],
15021  "electric-380":[
15022   [
15023    [
15024     0.0244,
15025     1.9058,
15026     -0.9523
15027    ],
15028    [
15029     -0.3213,
15030     2.0427,
15031     -0.5122
15032    ],
15033    [
15034     0.0244,
15035     1.9058,
15036     -0.9523
15037    ],
15038    [
15039     0.5353,
15040     1.7501,
15041     -1.0914
15042    ]
15043   ],
15044   {
15045    "attributes":{
15046     "index":900
15047    }
15048   }
15049  ],
15050  "electric-381":[
15051   [
15052    [
15053     1.5041,
15054     0.4792,
15055     -1.4342
15056    ],
15057    [
15058     1.8295,
15059     0.9603,
15060     -0.5191
15061    ],
15062    [
15063     1.5041,
15064     0.4792,
15065     -1.4342
15066    ],
15067    [
15068     2.0406,
15069     0.3192,
15070     -0.5214
15071    ]
15072   ],
15073   {
15074    "attributes":{
15075     "index":687
15076    }
15077   }
15078  ],
15079  "electric-382":[
15080   [
15081    [
15082     1.5041,
15083     0.4792,
15084     -1.4342
15085    ],
15086    [
15087     1.8524,
15088     0.0364,
15089     -1.0472
15090    ],
15091    [
15092     1.5041,
15093     0.4792,
15094     -1.4342
15095    ],
15096    [
15097     1.5003,
15098     1.0448,
15099     -1.0928
15100    ]
15101   ],
15102   {
15103    "attributes":{
15104     "index":984
15105    }
15106   }
15107  ],
15108  "electric-383":[
15109   [
15110    [
15111     1.5041,
15112     0.4792,
15113     -1.4342
15114    ],
15115    [
15116     1.4553,
15117     -0.1666,
15118     -1.5462
15119    ],
15120    [
15121     1.5041,
15122     0.4792,
15123     -1.4342
15124    ],
15125    [
15126     1.8032,
15127     0.6289,
15128     -0.9375
15129    ]
15130   ],
15131   {
15132    "attributes":{
15133     "index":565
15134    }
15135   }
15136  ],
15137  "electric-384":[
15138   [
15139    [
15140     1.0863,
15141     0.9702,
15142     -1.5587
15143    ],
15144    [
15145     1.083,
15146     1.4647,
15147     -1.1053
15148    ],
15149    [
15150     1.0863,
15151     0.9702,
15152     -1.5587
15153    ],
15154    [
15155     1.5041,
15156     0.4792,
15157     -1.4342
15158    ]
15159   ],
15160   {
15161    "attributes":{
15162     "index":67
15163    }
15164   }
15165  ],
15166  "electric-385":[
15167   [
15168    [
15169     1.0863,
15170     0.9702,
15171     -1.5587
15172    ],
15173    [
15174     1.5003,
15175     1.0448,
15176     -1.0928
15177    ]
15178   ],
15179   {
15180    "attributes":{
15181     "index":196
15182    }
15183   }
15184  ],
15185  "electric-386":[
15186   [
15187    [
15188     0.5941,
15189     1.3494,
15190     -1.5352
15191    ],
15192    [
15193     1.5003,
15194     1.0448,
15195     -1.0928
15196    ],
15197    [
15198     0.5941,
15199     1.3494,
15200     -1.5352
15201    ],
15202    [
15203     0.0244,
15204     1.9058,
15205     -0.9523
15206    ]
15207   ],
15208   {
15209    "attributes":{
15210     "index":501
15211    }
15212   }
15213  ],
15214  "electric-387":[
15215   [
15216    [
15217     0.5941,
15218     1.3494,
15219     -1.5352
15220    ],
15221    [
15222     1.083,
15223     1.4647,
15224     -1.1053
15225    ]
15226   ],
15227   {
15228    "attributes":{
15229     "index":632
15230    }
15231   }
15232  ],
15233  "electric-388":[
15234   [
15235    [
15236     0.5941,
15237     1.3494,
15238     -1.5352
15239    ],
15240    [
15241     1.0863,
15242     0.9702,
15243     -1.5587
15244    ],
15245    [
15246     0.5941,
15247     1.3494,
15248     -1.5352
15249    ],
15250    [
15251     0.5353,
15252     1.7501,
15253     -1.0914
15254    ]
15255   ],
15256   {
15257    "attributes":{
15258     "index":38
15259    }
15260   }
15261  ],
15262  "electric-389":[
15263   [
15264    [
15265     0.0084,
15266     1.594,
15267     -1.4118
15268    ],
15269    [
15270     -1.0463,
15271     1.4486,
15272     -1.1543
15273    ],
15274    [
15275     0.0084,
15276     1.594,
15277     -1.4118
15278    ],
15279    [
15280     0.339,
15281     2.0493,
15282     -0.4779
15283    ],
15284    [
15285     0.0084,
15286     1.594,
15287     -1.4118
15288    ],
15289    [
15290     -0.3213,
15291     2.0427,
15292     -0.5122
15293    ]
15294   ],
15295   {
15296    "attributes":{
15297     "index":314
15298    }
15299   }
15300  ],
15301  "electric-390":[
15302   [
15303    [
15304     0.0084,
15305     1.594,
15306     -1.4118
15307    ],
15308    [
15309     -0.5493,
15310     1.7609,
15311     -1.0703
15312    ],
15313    [
15314     0.0084,
15315     1.594,
15316     -1.4118
15317    ],
15318    [
15319     -0.5907,
15320     1.3467,
15321     -1.5403
15322    ],
15323    [
15324     0.0084,
15325     1.594,
15326     -1.4118
15327    ],
15328    [
15329     0.5941,
15330     1.3494,
15331     -1.5352
15332    ]
15333   ],
15334   {
15335    "attributes":{
15336     "index":96
15337    }
15338   }
15339  ],
15340  "electric-391":[
15341   [
15342    [
15343     0.0084,
15344     1.594,
15345     -1.4118
15346    ],
15347    [
15348     0.5353,
15349     1.7501,
15350     -1.0914
15351    ],
15352    [
15353     0.0084,
15354     1.594,
15355     -1.4118
15356    ],
15357    [
15358     0.0244,
15359     1.9058,
15360     -0.9523
15361    ]
15362   ],
15363   {
15364    "attributes":{
15365     "index":266
15366    }
15367   }
15368  ],
15369  "electric-392":[
15370   [
15371    [
15372     1.0527,
15373     0.3347,
15374     -1.8227
15375    ],
15376    [
15377     1.5003,
15378     1.0448,
15379     -1.0928
15380    ],
15381    [
15382     1.0527,
15383     0.3347,
15384     -1.8227
15385    ],
15386    [
15387     1.2223,
15388     -0.7339,
15389     -1.5807
15390    ],
15391    [
15392     1.0527,
15393     0.3347,
15394     -1.8227
15395    ],
15396    [
15397     0.3419,
15398     -0.4567,
15399     -2.0542
15400    ]
15401   ],
15402   {
15403    "attributes":{
15404     "index":156
15405    }
15406   }
15407  ],
15408  "electric-393":[
15409   [
15410    [
15411     1.0527,
15412     0.3347,
15413     -1.8227
15414    ],
15415    [
15416     1.4553,
15417     -0.1666,
15418     -1.5462
15419    ],
15420    [
15421     1.0527,
15422     0.3347,
15423     -1.8227
15424    ],
15425    [
15426     1.0863,
15427     0.9702,
15428     -1.5587
15429    ],
15430    [
15431     1.0527,
15432     0.3347,
15433     -1.8227
15434    ],
15435    [
15436     0.9181,
15437     -0.3338,
15438     -1.8907
15439    ]
15440   ],
15441   {
15442    "attributes":{
15443     "index":42
15444    }
15445   }
15446  ],
15447  "electric-394":[
15448   [
15449    [
15450     1.0527,
15451     0.3347,
15452     -1.8227
15453    ],
15454    [
15455     1.5041,
15456     0.4792,
15457     -1.4342
15458    ]
15459   ],
15460   {
15461    "attributes":{
15462     "index":80
15463    }
15464   }
15465  ],
15466  "electric-395":[
15467   [
15468    [
15469     0.5871,
15470     0.8016,
15471     -1.8883
15472    ],
15473    [
15474     0.0084,
15475     1.594,
15476     -1.4118
15477    ],
15478    [
15479     0.5871,
15480     0.8016,
15481     -1.8883
15482    ],
15483    [
15484     1.5041,
15485     0.4792,
15486     -1.4342
15487    ]
15488   ],
15489   {
15490    "attributes":{
15491     "index":396
15492    }
15493   }
15494  ],
15495  "electric-396":[
15496   [
15497    [
15498     0.5871,
15499     0.8016,
15500     -1.8883
15501    ],
15502    [
15503     1.0527,
15504     0.3347,
15505     -1.8227
15506    ],
15507    [
15508     0.5871,
15509     0.8016,
15510     -1.8883
15511    ],
15512    [
15513     0.5941,
15514     1.3494,
15515     -1.5352
15516    ]
15517   ],
15518   {
15519    "attributes":{
15520     "index":514
15521    }
15522   }
15523  ],
15524  "electric-397":[
15525   [
15526    [
15527     0.5871,
15528     0.8016,
15529     -1.8883
15530    ],
15531    [
15532     1.0863,
15533     0.9702,
15534     -1.5587
15535    ]
15536   ],
15537   {
15538    "attributes":{
15539     "index":850
15540    }
15541   }
15542  ],
15543  "electric-398":[
15544   [
15545    [
15546     0.0252,
15547     1.1029,
15548     -1.8213
15549    ],
15550    [
15551     1.0863,
15552     0.9702,
15553     -1.5587
15554    ],
15555    [
15556     0.0252,
15557     1.1029,
15558     -1.8213
15559    ],
15560    [
15561     0.5353,
15562     1.7501,
15563     -1.0914
15564    ]
15565   ],
15566   {
15567    "attributes":{
15568     "index":945
15569    }
15570   }
15571  ],
15572  "electric-399":[
15573   [
15574    [
15575     0.5509,
15576     0.1811,
15577     -2.0536
15578    ],
15579    [
15580     1.4553,
15581     -0.1666,
15582     -1.5462
15583    ],
15584    [
15585     0.5509,
15586     0.1811,
15587     -2.0536
15588    ],
15589    [
15590     0.0252,
15591     1.1029,
15592     -1.8213
15593    ],
15594    [
15595     0.5509,
15596     0.1811,
15597     -2.0536
15598    ],
15599    [
15600     1.0863,
15601     0.9702,
15602     -1.5587
15603    ]
15604   ],
15605   {
15606    "attributes":{
15607     "index":448
15608    }
15609   }
15610  ],
15611  "electric-400":[
15612   [
15613    [
15614     0.5509,
15615     0.1811,
15616     -2.0536
15617    ],
15618    [
15619     0.5871,
15620     0.8016,
15621     -1.8883
15622    ],
15623    [
15624     0.5509,
15625     0.1811,
15626     -2.0536
15627    ],
15628    [
15629     1.0527,
15630     0.3347,
15631     -1.8227
15632    ]
15633   ],
15634   {
15635    "attributes":{
15636     "index":593
15637    }
15638   }
15639  ],
15640  "electric-401":[
15641   [
15642    [
15643     -0.0294,
15644     0.5959,
15645     -2.0443
15646    ],
15647    [
15648     0.5941,
15649     1.3494,
15650     -1.5352
15651    ],
15652    [
15653     -0.0294,
15654     0.5959,
15655     -2.0443
15656    ],
15657    [
15658     -1.0414,
15659     0.3139,
15660     -1.8284
15661    ],
15662    [
15663     -0.0294,
15664     0.5959,
15665     -2.0443
15666    ],
15667    [
15668     -0.5907,
15669     1.3467,
15670     -1.5403
15671    ]
15672   ],
15673   {
15674    "attributes":{
15675     "index":863
15676    }
15677   }
15678  ],
15679  "electric-402":[
15680   [
15681    [
15682     -0.0294,
15683     0.5959,
15684     -2.0443
15685    ],
15686    [
15687     0.5509,
15688     0.1811,
15689     -2.0536
15690    ],
15691    [
15692     -0.0294,
15693     0.5959,
15694     -2.0443
15695    ],
15696    [
15697     -0.5728,
15698     0.1917,
15699     -2.0435
15700    ],
15701    [
15702     -0.0294,
15703     0.5959,
15704     -2.0443
15705    ],
15706    [
15707     0.5871,
15708     0.8016,
15709     -1.8883
15710    ]
15711   ],
15712   {
15713    "attributes":{
15714     "index":97
15715    }
15716   }
15717  ],
15718  "electric-403":[
15719   [
15720    [
15721     -0.0294,
15722     0.5959,
15723     -2.0443
15724    ],
15725    [
15726     -0.5979,
15727     0.8052,
15728     -1.8815
15729    ],
15730    [
15731     -0.0294,
15732     0.5959,
15733     -2.0443
15734    ],
15735    [
15736     0.0252,
15737     1.1029,
15738     -1.8213
15739    ]
15740   ],
15741   {
15742    "attributes":{
15743     "index":831
15744    }
15745   }
15746  ],
15747  "electric-404":[
15748   [
15749    [
15750     -0.0228,
15751     0.0107,
15752     -2.1307
15753    ],
15754    [
15755     0.9181,
15756     -0.3338,
15757     -1.8907
15758    ],
15759    [
15760     -0.0228,
15761     0.0107,
15762     -2.1307
15763    ],
15764    [
15765     0.0209,
15766     -0.9796,
15767     -1.8914
15768    ],
15769    [
15770     -0.0228,
15771     0.0107,
15772     -2.1307
15773    ],
15774    [
15775     -0.5979,
15776     0.8052,
15777     -1.8815
15778    ]
15779   ],
15780   {
15781    "attributes":{
15782     "index":942
15783    }
15784   }
15785  ],
15786  "electric-405":[
15787   [
15788    [
15789     -0.0228,
15790     0.0107,
15791     -2.1307
15792    ],
15793    [
15794     -0.9119,
15795     -0.3193,
15796     -1.8971
15797    ],
15798    [
15799     -0.0228,
15800     0.0107,
15801     -2.1307
15802    ],
15803    [
15804     0.5509,
15805     0.1811,
15806     -2.0536
15807    ],
15808    [
15809     -0.0228,
15810     0.0107,
15811     -2.1307
15812    ],
15813    [
15814     -0.5728,
15815     0.1917,
15816     -2.0435
15817    ]
15818   ],
15819   {
15820    "attributes":{
15821     "index":132
15822    }
15823   }
15824  ],
15825  "inner-outer-001":[
15826   [
15827    [
15828     -0.7041,
15829     1.4342,
15830     -0.2275
15831    ],
15832    [
15833     -0.9258,
15834     1.8857,
15835     -0.2991
15836    ]
15837   ],
15838   {
15839    "attributes":{}
15840   }
15841  ],
15842  "inner-outer-002":[
15843   [
15844    [
15845     -1.0162,
15846     -1.0908,
15847     0.6323
15848    ],
15849    [
15850     -1.3361,
15851     -1.4342,
15852     0.8314
15853    ]
15854   ],
15855   {
15856    "attributes":{}
15857   }
15858  ],
15859  "inner-outer-003":[
15860   [
15861    [
15862     -1.5967,
15863     0.1634,
15864     0.1198
15865    ],
15866    [
15867     -2.0994,
15868     0.2148,
15869     0.1575
15870    ]
15871   ],
15872   {
15873    "attributes":{}
15874   }
15875  ],
15876  "inner-outer-004":[
15877   [
15878    [
15879     -0.0816,
15880     -0.8884,
15881     1.3474
15882    ],
15883    [
15884     -0.1073,
15885     -1.168,
15886     1.7715
15887    ]
15888   ],
15889   {
15890    "attributes":{}
15891   }
15892  ],
15893  "inner-outer-005":[
15894   [
15895    [
15896     0.0023,
15897     1.5281,
15898     -0.5313
15899    ],
15900    [
15901     0.003,
15902     2.0092,
15903     -0.6986
15904    ]
15905   ],
15906   {
15907    "attributes":{}
15908   }
15909  ],
15910  "inner-outer-006":[
15911   [
15912    [
15913     0.4509,
15914     0.4112,
15915     1.5089
15916    ],
15917    [
15918     0.5929,
15919     0.5407,
15920     1.9839
15921    ]
15922   ],
15923   {
15924    "attributes":{}
15925   }
15926  ],
15927  "inner-outer-007":[
15928   [
15929    [
15930     0.3179,
15931     -1.5306,
15932     -0.3796
15933    ],
15934    [
15935     0.418,
15936     -2.0125,
15937     -0.4992
15938    ]
15939   ],
15940   {
15941    "attributes":{}
15942   }
15943  ],
15944  "inner-outer-008":[
15945   [
15946    [
15947     -0.9461,
15948     -0.2232,
15949     -1.3149
15950    ],
15951    [
15952     -1.2439,
15953     -0.2935,
15954     -1.7288
15955    ]
15956   ],
15957   {
15958    "attributes":{}
15959   }
15960  ],
15961  "inner-outer-009":[
15962   [
15963    [
15964     0.1755,
15965     1.5822,
15966     0.3168
15967    ],
15968    [
15969     0.2308,
15970     2.0803,
15971     0.4165
15972    ]
15973   ],
15974   {
15975    "attributes":{}
15976   }
15977  ],
15978  "inner-outer-010":[
15979   [
15980    [
15981     -1.0742,
15982     0.8864,
15983     0.8331
15984    ],
15985    [
15986     -1.4124,
15987     1.1655,
15988     1.0953
15989    ]
15990   ],
15991   {
15992    "attributes":{}
15993   }
15994  ],
15995  "inner-outer-011":[
15996   [
15997    [
15998     0.1489,
15999     0.7275,
16000     -1.4359
16001    ],
16002    [
16003     0.1958,
16004     0.9566,
16005     -1.888
16006    ]
16007   ],
16008   {
16009    "attributes":{}
16010   }
16011  ],
16012  "inner-outer-012":[
16013   [
16014    [
16015     -0.7557,
16016     -0.855,
16017     -1.1626
16018    ],
16019    [
16020     -0.9936,
16021     -1.1241,
16022     -1.5286
16023    ]
16024   ],
16025   {
16026    "attributes":{}
16027   }
16028  ],
16029  "inner-outer-013":[
16030   [
16031    [
16032     -0.2479,
16033     -1.1892,
16034     1.0643
16035    ],
16036    [
16037     -0.326,
16038     -1.5636,
16039     1.3994
16040    ]
16041   ],
16042   {
16043    "attributes":{}
16044   }
16045  ],
16046  "inner-outer-014":[
16047   [
16048    [
16049     0.3163,
16050     -1.5439,
16051     0.3987
16052    ],
16053    [
16054     0.4159,
16055     -2.0299,
16056     0.5242
16057    ]
16058   ],
16059   {
16060    "attributes":{}
16061   }
16062  ],
16063  "inner-outer-015":[
16064   [
16065    [
16066     0.8062,
16067     1.3901,
16068     0.1711
16069    ],
16070    [
16071     1.06,
16072     1.8278,
16073     0.2249
16074    ]
16075   ],
16076   {
16077    "attributes":{}
16078   }
16079  ],
16080  "inner-outer-016":[
16081   [
16082    [
16083     -0.962,
16084     0.958,
16085     0.8729
16086    ],
16087    [
16088     -1.2649,
16089     1.2596,
16090     1.1477
16091    ]
16092   ],
16093   {
16094    "attributes":{}
16095   }
16096  ],
16097  "inner-outer-017":[
16098   [
16099    [
16100     1.2567,
16101     0.6179,
16102     0.8441
16103    ],
16104    [
16105     1.6523,
16106     0.8124,
16107     1.1099
16108    ]
16109   ],
16110   {
16111    "attributes":{}
16112   }
16113  ],
16114  "inner-outer-018":[
16115   [
16116    [
16117     -0.5811,
16118     -1.3582,
16119     -0.642
16120    ],
16121    [
16122     -0.764,
16123     -1.7857,
16124     -0.8442
16125    ]
16126   ],
16127   {
16128    "attributes":{}
16129   }
16130  ],
16131  "inner-outer-019":[
16132   [
16133    [
16134     0.068,
16135     0.7202,
16136     1.4369
16137    ],
16138    [
16139     0.0894,
16140     0.947,
16141     1.8893
16142    ]
16143   ],
16144   {
16145    "attributes":{}
16146   }
16147  ],
16148  "inner-outer-020":[
16149   [
16150    [
16151     -0.3836,
16152     0.8555,
16153     -1.3191
16154    ],
16155    [
16156     -0.5044,
16157     1.1249,
16158     -1.7343
16159    ]
16160   ],
16161   {
16162    "attributes":{}
16163   }
16164  ],
16165  "inner-outer-021":[
16166   [
16167    [
16168     -0.4105,
16169     0.132,
16170     1.5529
16171    ],
16172    [
16173     -0.5397,
16174     0.1735,
16175     2.0418
16176    ]
16177   ],
16178   {
16179    "attributes":{}
16180   }
16181  ],
16182  "inner-outer-022":[
16183   [
16184    [
16185     -0.3047,
16186     -0.4865,
16187     -1.5393
16188    ],
16189    [
16190     -0.4006,
16191     -0.6397,
16192     -2.0238
16193    ]
16194   ],
16195   {
16196    "attributes":{}
16197   }
16198  ],
16199  "inner-outer-023":[
16200   [
16201    [
16202     1.5385,
16203     0.4438,
16204     -0.1356
16205    ],
16206    [
16207     2.0229,
16208     0.5835,
16209     -0.1783
16210    ]
16211   ],
16212   {
16213    "attributes":{}
16214   }
16215  ],
16216  "inner-outer-024":[
16217   [
16218    [
16219     -0.229,
16220     1.5834,
16221     0.2226
16222    ],
16223    [
16224     -0.3012,
16225     2.0819,
16226     0.2927
16227    ]
16228   ],
16229   {
16230    "attributes":{}
16231   }
16232  ],
16233  "inner-outer-025":[
16234   [
16235    [
16236     0.2284,
16237     -1.3012,
16238     0.922
16239    ],
16240    [
16241     0.3003,
16242     -1.7108,
16243     1.2122
16244    ]
16245   ],
16246   {
16247    "attributes":{}
16248   }
16249  ],
16250  "inner-outer-026":[
16251   [
16252    [
16253     -0.3738,
16254     -1.5567,
16255     -0.1904
16256    ],
16257    [
16258     -0.4914,
16259     -2.0468,
16260     -0.2503
16261    ]
16262   ],
16263   {
16264    "attributes":{}
16265   }
16266  ],
16267  "inner-outer-027":[
16268   [
16269    [
16270     1.0035,
16271     1.1747,
16272     0.4812
16273    ],
16274    [
16275     1.3194,
16276     1.5445,
16277     0.6327
16278    ]
16279   ],
16280   {
16281    "attributes":{}
16282   }
16283  ],
16284  "inner-outer-028":[
16285   [
16286    [
16287     -1.0501,
16288     -1.0277,
16289     -0.6692
16290    ],
16291    [
16292     -1.3807,
16293     -1.3513,
16294     -0.8799
16295    ]
16296   ],
16297   {
16298    "attributes":{}
16299   }
16300  ],
16301  "inner-outer-029":[
16302   [
16303    [
16304     0.9157,
16305     -1.3116,
16306     0.3631
16307    ],
16308    [
16309     1.204,
16310     -1.7246,
16311     0.4774
16312    ]
16313   ],
16314   {
16315    "attributes":{}
16316   }
16317  ],
16318  "inner-outer-030":[
16319   [
16320    [
16321     0.1842,
16322     -1.462,
16323     -0.6732
16324    ],
16325    [
16326     0.2421,
16327     -1.9222,
16328     -0.8851
16329    ]
16330   ],
16331   {
16332    "attributes":{}
16333   }
16334  ],
16335  "inner-outer-031":[
16336   [
16337    [
16338     1.4678,
16339     0.4794,
16340     0.4881
16341    ],
16342    [
16343     1.9298,
16344     0.6303,
16345     0.6417
16346    ]
16347   ],
16348   {
16349    "attributes":{}
16350   }
16351  ],
16352  "inner-outer-032":[
16353   [
16354    [
16355     0.8307,
16356     1.0478,
16357     0.9141
16358    ],
16359    [
16360     1.0922,
16361     1.3777,
16362     1.2018
16363    ]
16364   ],
16365   {
16366    "attributes":{}
16367   }
16368  ],
16369  "inner-outer-033":[
16370   [
16371    [
16372     0.4323,
16373     -0.5544,
16374     1.4446
16375    ],
16376    [
16377     0.5684,
16378     -0.729,
16379     1.8994
16380    ]
16381   ],
16382   {
16383    "attributes":{}
16384   }
16385  ],
16386  "inner-outer-034":[
16387   [
16388    [
16389     1.0385,
16390     0.5363,
16391     -1.1187
16392    ],
16393    [
16394     1.3654,
16395     0.7051,
16396     -1.4708
16397    ]
16398   ],
16399   {
16400    "attributes":{}
16401   }
16402  ],
16403  "inner-outer-035":[
16404   [
16405    [
16406     1.1666,
16407     -0.5107,
16408     0.9895
16409    ],
16410    [
16411     1.5338,
16412     -0.6715,
16413     1.301
16414    ]
16415   ],
16416   {
16417    "attributes":{}
16418   }
16419  ],
16420  "inner-outer-036":[
16421   [
16422    [
16423     0.4644,
16424     -1.5564,
16425     0.055
16426    ],
16427    [
16428     0.6106,
16429     -2.0464,
16430     0.0723
16431    ]
16432   ],
16433   {
16434    "attributes":{}
16435   }
16436  ],
16437  "inner-outer-037":[
16438   [
16439    [
16440     0.2452,
16441     1.5673,
16442     -0.3688
16443    ],
16444    [
16445     0.3224,
16446     2.0607,
16447     -0.4849
16448    ]
16449   ],
16450   {
16451    "attributes":{}
16452   }
16453  ],
16454  "inner-outer-038":[
16455   [
16456    [
16457     -0.832,
16458     -1.3706,
16459     0.2905
16460    ],
16461    [
16462     -1.094,
16463     -1.8021,
16464     0.3819
16465    ]
16466   ],
16467   {
16468    "attributes":{}
16469   }
16470  ],
16471  "inner-outer-039":[
16472   [
16473    [
16474     -0.7712,
16475     1.3666,
16476     0.4039
16477    ],
16478    [
16479     -1.014,
16480     1.7968,
16481     0.531
16482    ]
16483   ],
16484   {
16485    "attributes":{}
16486   }
16487  ],
16488  "inner-outer-040":[
16489   [
16490    [
16491     1.5851,
16492     0.1092,
16493     0.2994
16494    ],
16495    [
16496     2.0842,
16497     0.1436,
16498     0.3937
16499    ]
16500   ],
16501   {
16502    "attributes":{}
16503   }
16504  ],
16505  "inner-outer-041":[
16506   [
16507    [
16508     0.4023,
16509     1.5767,
16510     -0.1767
16511    ],
16512    [
16513     0.5289,
16514     2.073,
16515     -0.2323
16516    ]
16517   ],
16518   {
16519    "attributes":{}
16520   }
16521  ],
16522  "inner-outer-042":[
16523   [
16524    [
16525     0.3333,
16526     1.4056,
16527     0.7588
16528    ],
16529    [
16530     0.4383,
16531     1.8481,
16532     0.9977
16533    ]
16534   ],
16535   {
16536    "attributes":{}
16537   }
16538  ],
16539  "inner-outer-043":[
16540   [
16541    [
16542     -1.4813,
16543     0.0607,
16544     0.6445
16545    ],
16546    [
16547     -1.9476,
16548     0.0798,
16549     0.8473
16550    ]
16551   ],
16552   {
16553    "attributes":{}
16554   }
16555  ],
16556  "inner-outer-044":[
16557   [
16558    [
16559     -0.2619,
16560     -1.5738,
16561     -0.2646
16562    ],
16563    [
16564     -0.3443,
16565     -2.0692,
16566     -0.3479
16567    ]
16568   ],
16569   {
16570    "attributes":{}
16571   }
16572  ],
16573  "inner-outer-045":[
16574   [
16575    [
16576     -0.325,
16577     -1.3161,
16578     -0.9117
16579    ],
16580    [
16581     -0.4274,
16582     -1.7304,
16583     -1.1987
16584    ]
16585   ],
16586   {
16587    "attributes":{}
16588   }
16589  ],
16590  "inner-outer-046":[
16591   [
16592    [
16593     -1.1023,
16594     -0.6135,
16595     -1.0123
16596    ],
16597    [
16598     -1.4493,
16599     -0.8067,
16600     -1.3309
16601    ]
16602   ],
16603   {
16604    "attributes":{}
16605   }
16606  ],
16607  "inner-outer-047":[
16608   [
16609    [
16610     1.0361,
16611     1.1092,
16612     -0.5458
16613    ],
16614    [
16615     1.3623,
16616     1.4584,
16617     -0.7176
16618    ]
16619   ],
16620   {
16621    "attributes":{}
16622   }
16623  ],
16624  "inner-outer-048":[
16625   [
16626    [
16627     -1.521,
16628     -0.3853,
16629     -0.4179
16630    ],
16631    [
16632     -1.9998,
16633     -0.5066,
16634     -0.5494
16635    ]
16636   ],
16637   {
16638    "attributes":{}
16639   }
16640  ],
16641  "inner-outer-049":[
16642   [
16643    [
16644     1.5112,
16645     0.1487,
16646     -0.5401
16647    ],
16648    [
16649     1.9869,
16650     0.1955,
16651     -0.7101
16652    ]
16653   ],
16654   {
16655    "attributes":{}
16656   }
16657  ],
16658  "inner-outer-050":[
16659   [
16660    [
16661     -0.3557,
16662     -1.3806,
16663     -0.8064
16664    ],
16665    [
16666     -0.4676,
16667     -1.8153,
16668     -1.0602
16669    ]
16670   ],
16671   {
16672    "attributes":{}
16673   }
16674  ],
16675  "inner-outer-051":[
16676   [
16677    [
16678     -0.8556,
16679     0.5501,
16680     -1.2587
16681    ],
16682    [
16683     -1.1249,
16684     0.7233,
16685     -1.6549
16686    ]
16687   ],
16688   {
16689    "attributes":{}
16690   }
16691  ],
16692  "inner-outer-052":[
16693   [
16694    [
16695     -1.4026,
16696     0.6672,
16697     -0.4738
16698    ],
16699    [
16700     -1.8441,
16701     0.8772,
16702     -0.6229
16703    ]
16704   ],
16705   {
16706    "attributes":{}
16707   }
16708  ],
16709  "inner-outer-053":[
16710   [
16711    [
16712     0.0738,
16713     -1.6144,
16714     -0.2259
16715    ],
16716    [
16717     0.097,
16718     -2.1226,
16719     -0.297
16720    ]
16721   ],
16722   {
16723    "attributes":{}
16724   }
16725  ],
16726  "inner-outer-054":[
16727   [
16728    [
16729     0.4072,
16730     1.2287,
16731     -0.9727
16732    ],
16733    [
16734     0.5353,
16735     1.6155,
16736     -1.2789
16737    ]
16738   ],
16739   {
16740    "attributes":{}
16741   }
16742  ],
16743  "inner-outer-055":[
16744   [
16745    [
16746     0.546,
16747     1.1534,
16748     0.9825
16749    ],
16750    [
16751     0.7179,
16752     1.5165,
16753     1.2918
16754    ]
16755   ],
16756   {
16757    "attributes":{}
16758   }
16759  ],
16760  "inner-outer-056":[
16761   [
16762    [
16763     -0.5266,
16764     -1.3304,
16765     -0.7578
16766    ],
16767    [
16768     -0.6923,
16769     -1.7492,
16770     -0.9964
16771    ]
16772   ],
16773   {
16774    "attributes":{}
16775   }
16776  ],
16777  "inner-outer-057":[
16778   [
16779    [
16780     -0.1114,
16781     1.5482,
16782     0.4669
16783    ],
16784    [
16785     -0.1464,
16786     2.0355,
16787     0.614
16788    ]
16789   ],
16790   {
16791    "attributes":{}
16792   }
16793  ],
16794  "inner-outer-058":[
16795   [
16796    [
16797     -0.4888,
16798     -1.5336,
16799     0.2197
16800    ],
16801    [
16802     -0.6427,
16803     -2.0164,
16804     0.2889
16805    ]
16806   ],
16807   {
16808    "attributes":{}
16809   }
16810  ],
16811  "inner-outer-059":[
16812   [
16813    [
16814     1.1333,
16815     0.7848,
16816     -0.8597
16817    ],
16818    [
16819     1.49,
16820     1.0318,
16821     -1.1303
16822    ]
16823   ],
16824   {
16825    "attributes":{}
16826   }
16827  ],
16828  "inner-outer-060":[
16829   [
16830    [
16831     -0.5074,
16832     -0.8624,
16833     -1.2785
16834    ],
16835    [
16836     -0.6672,
16837     -1.1339,
16838     -1.681
16839    ]
16840   ],
16841   {
16842    "attributes":{}
16843   }
16844  ],
16845  "inner-outer-061":[
16846   [
16847    [
16848     -1.3735,
16849     0.8357,
16850     0.0923
16851    ],
16852    [
16853     -1.806,
16854     1.0988,
16855     0.1213
16856    ]
16857   ],
16858   {
16859    "attributes":{}
16860   }
16861  ],
16862  "inner-outer-062":[
16863   [
16864    [
16865     -0.9522,
16866     1.1423,
16867     0.6683
16868    ],
16869    [
16870     -1.2519,
16871     1.5019,
16872     0.8786
16873    ]
16874   ],
16875   {
16876    "attributes":{}
16877   }
16878  ],
16879  "inner-outer-063":[
16880   [
16881    [
16882     0.3111,
16883     -1.3059,
16884     0.8974
16885    ],
16886    [
16887     0.409,
16888     -1.7171,
16889     1.1799
16890    ]
16891   ],
16892   {
16893    "attributes":{}
16894   }
16895  ],
16896  "inner-outer-064":[
16897   [
16898    [
16899     -1.527,
16900     0.2679,
16901     -0.4769
16902    ],
16903    [
16904     -2.0077,
16905     0.3522,
16906     -0.6271
16907    ]
16908   ],
16909   {
16910    "attributes":{}
16911   }
16912  ],
16913  "inner-outer-065":[
16914   [
16915    [
16916     0.8659,
16917     1.2194,
16918     -0.5976
16919    ],
16920    [
16921     1.1385,
16922     1.6033,
16923     -0.7857
16924    ]
16925   ],
16926   {
16927    "attributes":{}
16928   }
16929  ],
16930  "inner-outer-066":[
16931   [
16932    [
16933     -1.0061,
16934     -1.0586,
16935     -0.7021
16936    ],
16937    [
16938     -1.3228,
16939     -1.3919,
16940     -0.9232
16941    ]
16942   ],
16943   {
16944    "attributes":{}
16945   }
16946  ],
16947  "inner-outer-067":[
16948   [
16949    [
16950     0.8261,
16951     0.7893,
16952     1.1417
16953    ],
16954    [
16955     1.0862,
16956     1.0378,
16957     1.5011
16958    ]
16959   ],
16960   {
16961    "attributes":{}
16962   }
16963  ],
16964  "inner-outer-068":[
16965   [
16966    [
16967     -0.1026,
16968     0.4064,
16969     1.5587
16970    ],
16971    [
16972     -0.1349,
16973     0.5343,
16974     2.0493
16975    ]
16976   ],
16977   {
16978    "attributes":{}
16979   }
16980  ],
16981  "inner-outer-069":[
16982   [
16983    [
16984     1.3289,
16985     -0.8155,
16986     -0.3933
16987    ],
16988    [
16989     1.7472,
16990     -1.0723,
16991     -0.5171
16992    ]
16993   ],
16994   {
16995    "attributes":{}
16996   }
16997  ],
16998  "inner-outer-070":[
16999   [
17000    [
17001     0.3679,
17002     -1.5844,
17003     0.1729
17004    ],
17005    [
17006     0.4837,
17007     -2.0832,
17008     0.2273
17009    ]
17010   ],
17011   {
17012    "attributes":{}
17013   }
17014  ],
17015  "inner-outer-071":[
17016   [
17017    [
17018     0.3473,
17019     1.1741,
17020     -1.0455
17021    ],
17022    [
17023     0.4566,
17024     1.5437,
17025     -1.3746
17026    ]
17027   ],
17028   {
17029    "attributes":{}
17030   }
17031  ],
17032  "inner-outer-072":[
17033   [
17034    [
17035     0.9131,
17036     -0.0153,
17037     1.3268
17038    ],
17039    [
17040     1.2005,
17041     -0.0201,
17042     1.7446
17043    ]
17044   ],
17045   {
17046    "attributes":{}
17047   }
17048  ],
17049  "inner-outer-073":[
17050   [
17051    [
17052     0.1068,
17053     -1.6113,
17054     -0.1777
17055    ],
17056    [
17057     0.1405,
17058     -2.1185,
17059     -0.2336
17060    ]
17061   ],
17062   {
17063    "attributes":{}
17064   }
17065  ],
17066  "inner-outer-074":[
17067   [
17068    [
17069     0.4835,
17070     -1.5213,
17071     -0.2946
17072    ],
17073    [
17074     0.6358,
17075     -2.0003,
17076     -0.3874
17077    ]
17078   ],
17079   {
17080    "attributes":{}
17081   }
17082  ],
17083  "inner-outer-075":[
17084   [
17085    [
17086     -1.3853,
17087     0.7568,
17088     -0.3947
17089    ],
17090    [
17091     -1.8214,
17092     0.9951,
17093     -0.5189
17094    ]
17095   ],
17096   {
17097    "attributes":{}
17098   }
17099  ],
17100  "inner-outer-076":[
17101   [
17102    [
17103     0.5451,
17104     -0.5719,
17105     1.4094
17106    ],
17107    [
17108     0.7167,
17109     -0.752,
17110     1.8531
17111    ]
17112   ],
17113   {
17114    "attributes":{}
17115   }
17116  ],
17117  "inner-outer-077":[
17118   [
17119    [
17120     -0.3508,
17121     -1.3664,
17122     0.8077
17123    ],
17124    [
17125     -0.4612,
17126     -1.7966,
17127     1.0619
17128    ]
17129   ],
17130   {
17131    "attributes":{}
17132   }
17133  ],
17134  "inner-outer-078":[
17135   [
17136    [
17137     0.2211,
17138     -1.5726,
17139     -0.3151
17140    ],
17141    [
17142     0.2907,
17143     -2.0677,
17144     -0.4143
17145    ]
17146   ],
17147   {
17148    "attributes":{}
17149   }
17150  ],
17151  "inner-outer-079":[
17152   [
17153    [
17154     0.1952,
17155     0.7792,
17156     1.4007
17157    ],
17158    [
17159     0.2567,
17160     1.0245,
17161     1.8417
17162    ]
17163   ],
17164   {
17165    "attributes":{}
17166   }
17167  ],
17168  "inner-outer-080":[
17169   [
17170    [
17171     1.0369,
17172     -0.6356,
17173     1.0585
17174    ],
17175    [
17176     1.3634,
17177     -0.8357,
17178     1.3918
17179    ]
17180   ],
17181   {
17182    "attributes":{}
17183   }
17184  ],
17185  "inner-outer-081":[
17186   [
17187    [
17188     -1.6213,
17189     0.1352,
17190     -0.1762
17191    ],
17192    [
17193     -2.1317,
17194     0.1777,
17195     -0.2317
17196    ]
17197   ],
17198   {
17199    "attributes":{}
17200   }
17201  ],
17202  "inner-outer-082":[
17203   [
17204    [
17205     1.3681,
17206     -0.1224,
17207     -0.8948
17208    ],
17209    [
17210     1.7988,
17211     -0.1609,
17212     -1.1765
17213    ]
17214   ],
17215   {
17216    "attributes":{}
17217   }
17218  ],
17219  "inner-outer-083":[
17220   [
17221    [
17222     -0.6713,
17223     1.4838,
17224     0.2118
17225    ],
17226    [
17227     -0.8826,
17228     1.951,
17229     0.2785
17230    ]
17231   ],
17232   {
17233    "attributes":{}
17234   }
17235  ],
17236  "inner-outer-084":[
17237   [
17238    [
17239     -0.3951,
17240     1.4476,
17241     -0.5863
17242    ],
17243    [
17244     -0.5195,
17245     1.9033,
17246     -0.7708
17247    ]
17248   ],
17249   {
17250    "attributes":{}
17251   }
17252  ],
17253  "inner-outer-085":[
17254   [
17255    [
17256     0.6331,
17257     0.0965,
17258     1.4756
17259    ],
17260    [
17261     0.8324,
17262     0.1269,
17263     1.9401
17264    ]
17265   ],
17266   {
17267    "attributes":{}
17268   }
17269  ],
17270  "inner-outer-086":[
17271   [
17272    [
17273     -0.0961,
17274     -1.5854,
17275     0.2938
17276    ],
17277    [
17278     -0.1263,
17279     -2.0846,
17280     0.3863
17281    ]
17282   ],
17283   {
17284    "attributes":{}
17285   }
17286  ],
17287  "inner-outer-087":[
17288   [
17289    [
17290     1.3376,
17291     0.1799,
17292     0.9194
17293    ],
17294    [
17295     1.7587,
17296     0.2365,
17297     1.2089
17298    ]
17299   ],
17300   {
17301    "attributes":{}
17302   }
17303  ],
17304  "inner-outer-088":[
17305   [
17306    [
17307     -0.9247,
17308     -1.3144,
17309     -0.0068
17310    ],
17311    [
17312     -1.2158,
17313     -1.7282,
17314     -0.0089
17315    ]
17316   ],
17317   {
17318    "attributes":{}
17319   }
17320  ],
17321  "inner-outer-089":[
17322   [
17323    [
17324     0.3706,
17325     -1.4377,
17326     -0.6333
17327    ],
17328    [
17329     0.4873,
17330     -1.8902,
17331     -0.8326
17332    ]
17333   ],
17334   {
17335    "attributes":{}
17336   }
17337  ],
17338  "inner-outer-090":[
17339   [
17340    [
17341     -0.2661,
17342     0.997,
17343     1.2409
17344    ],
17345    [
17346     -0.3498,
17347     1.3109,
17348     1.6316
17349    ]
17350   ],
17351   {
17352    "attributes":{}
17353   }
17354  ],
17355  "inner-outer-091":[
17356   [
17357    [
17358     1.3241,
17359     0.8261,
17360     0.3893
17361    ],
17362    [
17363     1.741,
17364     1.0861,
17365     0.5119
17366    ]
17367   ],
17368   {
17369    "attributes":{}
17370   }
17371  ],
17372  "inner-outer-092":[
17373   [
17374    [
17375     0.2858,
17376     -1.4113,
17377     0.7364
17378    ],
17379    [
17380     0.3757,
17381     -1.8556,
17382     0.9683
17383    ]
17384   ],
17385   {
17386    "attributes":{}
17387   }
17388  ],
17389  "inner-outer-093":[
17390   [
17391    [
17392     0.3808,
17393     -1.5656,
17394     -0.0494
17395    ],
17396    [
17397     0.5006,
17398     -2.0585,
17399     -0.0649
17400    ]
17401   ],
17402   {
17403    "attributes":{}
17404   }
17405  ],
17406  "inner-outer-094":[
17407   [
17408    [
17409     0.7605,
17410     -1.4193,
17411     0.0886
17412    ],
17413    [
17414     0.9999,
17415     -1.8661,
17416     0.1165
17417    ]
17418   ],
17419   {
17420    "attributes":{}
17421   }
17422  ],
17423  "inner-outer-095":[
17424   [
17425    [
17426     0.9172,
17427     0.0027,
17428     1.3249
17429    ],
17430    [
17431     1.2059,
17432     0.0035,
17433     1.742
17434    ]
17435   ],
17436   {
17437    "attributes":{}
17438   }
17439  ],
17440  "inner-outer-096":[
17441   [
17442    [
17443     0.9044,
17444     1.1357,
17445     -0.6994
17446    ],
17447    [
17448     1.1891,
17449     1.4932,
17450     -0.9195
17451    ]
17452   ],
17453   {
17454    "attributes":{}
17455   }
17456  ],
17457  "inner-outer-097":[
17458   [
17459    [
17460     1.1143,
17461     0.1567,
17462     1.153
17463    ],
17464    [
17465     1.4651,
17466     0.206,
17467     1.516
17468    ]
17469   ],
17470   {
17471    "attributes":{}
17472   }
17473  ],
17474  "inner-outer-098":[
17475   [
17476    [
17477     1.2784,
17478     -0.9813,
17479     0.116
17480    ],
17481    [
17482     1.6809,
17483     -1.2903,
17484     0.1525
17485    ]
17486   ],
17487   {
17488    "attributes":{}
17489   }
17490  ],
17491  "inner-outer-099":[
17492   [
17493    [
17494     0.6659,
17495     -1.3113,
17496     0.683
17497    ],
17498    [
17499     0.8755,
17500     -1.7241,
17501     0.898
17502    ]
17503   ],
17504   {
17505    "attributes":{}
17506   }
17507  ],
17508  "inner-outer-100":[
17509   [
17510    [
17511     0.8958,
17512     1.1313,
17513     -0.7186
17514    ],
17515    [
17516     1.1778,
17517     1.4875,
17518     -0.9449
17519    ]
17520   ],
17521   {
17522    "attributes":{}
17523   }
17524  ],
17525  "inner-outer-101":[
17526   [
17527    [
17528     1.2067,
17529     0.9304,
17530     -0.5169
17531    ],
17532    [
17533     1.5866,
17534     1.2233,
17535     -0.6796
17536    ]
17537   ],
17538   {
17539    "attributes":{}
17540   }
17541  ],
17542  "inner-outer-102":[
17543   [
17544    [
17545     -0.0724,
17546     -1.5841,
17547     0.2991
17548    ],
17549    [
17550     -0.0952,
17551     -2.0829,
17552     0.3933
17553    ]
17554   ],
17555   {
17556    "attributes":{}
17557   }
17558  ],
17559  "inner-outer-103":[
17560   [
17561    [
17562     -1.0707,
17563     -1.1723,
17564     -0.3257
17565    ],
17566    [
17567     -1.4078,
17568     -1.5413,
17569     -0.4282
17570    ]
17571   ],
17572   {
17573    "attributes":{}
17574   }
17575  ],
17576  "inner-outer-104":[
17577   [
17578    [
17579     1.5195,
17580     -0.2227,
17581     0.5045
17582    ],
17583    [
17584     1.9979,
17585     -0.2928,
17586     0.6633
17587    ]
17588   ],
17589   {
17590    "attributes":{}
17591   }
17592  ],
17593  "inner-outer-105":[
17594   [
17595    [
17596     1.4168,
17597     0.1061,
17598     -0.7823
17599    ],
17600    [
17601     1.8628,
17602     0.1395,
17603     -1.0286
17604    ]
17605   ],
17606   {
17607    "attributes":{}
17608   }
17609  ],
17610  "inner-outer-106":[
17611   [
17612    [
17613     0.0082,
17614     0.8234,
17615     1.3918
17616    ],
17617    [
17618     0.0107,
17619     1.0826,
17620     1.8299
17621    ]
17622   ],
17623   {
17624    "attributes":{}
17625   }
17626  ],
17627  "inner-outer-107":[
17628   [
17629    [
17630     -1.5543,
17631     0.4129,
17632     -0.0292
17633    ],
17634    [
17635     -2.0436,
17636     0.5428,
17637     -0.0384
17638    ]
17639   ],
17640   {
17641    "attributes":{}
17642   }
17643  ],
17644  "inner-outer-108":[
17645   [
17646    [
17647     1.0894,
17648     0.7758,
17649     0.9223
17650    ],
17651    [
17652     1.4324,
17653     1.0201,
17654     1.2126
17655    ]
17656   ],
17657   {
17658    "attributes":{}
17659   }
17660  ],
17661  "inner-outer-109":[
17662   [
17663    [
17664     1.1813,
17665     -0.1052,
17666     1.0906
17667    ],
17668    [
17669     1.5532,
17670     -0.1383,
17671     1.4339
17672    ]
17673   ],
17674   {
17675    "attributes":{}
17676   }
17677  ],
17678  "inner-outer-110":[
17679   [
17680    [
17681     -1.4542,
17682     0.7027,
17683     -0.1393
17684    ],
17685    [
17686     -1.912,
17687     0.9239,
17688     -0.1832
17689    ]
17690   ],
17691   {
17692    "attributes":{}
17693   }
17694  ],
17695  "inner-outer-111":[
17696   [
17697    [
17698     -0.2418,
17699     -0.965,
17700     -1.2793
17701    ],
17702    [
17703     -0.3179,
17704     -1.2688,
17705     -1.682
17706    ]
17707   ],
17708   {
17709    "attributes":{}
17710   }
17711  ],
17712  "inner-outer-112":[
17713   [
17714    [
17715     1.3198,
17716     0.6193,
17717     -0.711
17718    ],
17719    [
17720     1.7353,
17721     0.8143,
17722     -0.9348
17723    ]
17724   ],
17725   {
17726    "attributes":{}
17727   }
17728  ],
17729  "inner-outer-113":[
17730   [
17731    [
17732     0.2899,
17733     -1.3689,
17734     -0.8695
17735    ],
17736    [
17737     0.3811,
17738     -1.7999,
17739     -1.1432
17740    ]
17741   ],
17742   {
17743    "attributes":{}
17744   }
17745  ],
17746  "inner-outer-114":[
17747   [
17748    [
17749     -1.147,
17750     0.8862,
17751     -0.7331
17752    ],
17753    [
17754     -1.5081,
17755     1.1652,
17756     -0.9639
17757    ]
17758   ],
17759   {
17760    "attributes":{}
17761   }
17762  ],
17763  "inner-outer-115":[
17764   [
17765    [
17766     -0.6187,
17767     -0.7071,
17768     1.3334
17769    ],
17770    [
17771     -0.8134,
17772     -0.9297,
17773     1.7532
17774    ]
17775   ],
17776   {
17777    "attributes":{}
17778   }
17779  ],
17780  "inner-outer-116":[
17781   [
17782    [
17783     -1.01,
17784     -1.2602,
17785     0.1172
17786    ],
17787    [
17788     -1.328,
17789     -1.657,
17790     0.1541
17791    ]
17792   ],
17793   {
17794    "attributes":{}
17795   }
17796  ],
17797  "inner-outer-117":[
17798   [
17799    [
17800     0.6949,
17801     -1.344,
17802     0.5503
17803    ],
17804    [
17805     0.9137,
17806     -1.7671,
17807     0.7236
17808    ]
17809   ],
17810   {
17811    "attributes":{}
17812   }
17813  ],
17814  "inner-outer-118":[
17815   [
17816    [
17817     -1.3853,
17818     -0.8151,
17819     -0.0902
17820    ],
17821    [
17822     -1.8214,
17823     -1.0717,
17824     -0.1186
17825    ]
17826   ],
17827   {
17828    "attributes":{}
17829   }
17830  ],
17831  "inner-outer-119":[
17832   [
17833    [
17834     0.8782,
17835     0.4674,
17836     1.2851
17837    ],
17838    [
17839     1.1547,
17840     0.6145,
17841     1.6897
17842    ]
17843   ],
17844   {
17845    "attributes":{}
17846   }
17847  ],
17848  "inner-outer-120":[
17849   [
17850    [
17851     1.2453,
17852     0.7415,
17853     -0.7115
17854    ],
17855    [
17856     1.6373,
17857     0.9749,
17858     -0.9355
17859    ]
17860   ],
17861   {
17862    "attributes":{}
17863   }
17864  ],
17865  "inner-outer-121":[
17866   [
17867    [
17868     -0.1481,
17869     0.5301,
17870     -1.5264
17871    ],
17872    [
17873     -0.1948,
17874     0.697,
17875     -2.0069
17876    ]
17877   ],
17878   {
17879    "attributes":{}
17880   }
17881  ],
17882  "inner-outer-122":[
17883   [
17884    [
17885     -1.4021,
17886     0.7584,
17887     0.2748
17888    ],
17889    [
17890     -1.8435,
17891     0.9971,
17892     0.3613
17893    ]
17894   ],
17895   {
17896    "attributes":{}
17897   }
17898  ],
17899  "inner-outer-123":[
17900   [
17901    [
17902     0.5595,
17903     1.4117,
17904     0.5401
17905    ],
17906    [
17907     0.7357,
17908     1.8561,
17909     0.7101
17910    ]
17911   ],
17912   {
17913    "attributes":{}
17914   }
17915  ],
17916  "inner-outer-124":[
17917   [
17918    [
17919     -1.3212,
17920     -0.3294,
17921     -0.8824
17922    ],
17923    [
17924     -1.7371,
17925     -0.4331,
17926     -1.1602
17927    ]
17928   ],
17929   {
17930    "attributes":{}
17931   }
17932  ],
17933  "inner-outer-125":[
17934   [
17935    [
17936     -0.9297,
17937     -1.251,
17938     -0.4052
17939    ],
17940    [
17941     -1.2223,
17942     -1.6449,
17943     -0.5328
17944    ]
17945   ],
17946   {
17947    "attributes":{}
17948   }
17949  ],
17950  "inner-outer-126":[
17951   [
17952    [
17953     -1.334,
17954     -0.5637,
17955     -0.7162
17956    ],
17957    [
17958     -1.7539,
17959     -0.7411,
17960     -0.9417
17961    ]
17962   ],
17963   {
17964    "attributes":{}
17965   }
17966  ],
17967  "inner-outer-127":[
17968   [
17969    [
17970     -0.9395,
17971     0.3256,
17972     -1.292
17973    ],
17974    [
17975     -1.2353,
17976     0.4281,
17977     -1.6988
17978    ]
17979   ],
17980   {
17981    "attributes":{}
17982   }
17983  ],
17984  "inner-outer-128":[
17985   [
17986    [
17987     -0.1595,
17988     0.7423,
17989     1.4273
17990    ],
17991    [
17992     -0.2097,
17993     0.976,
17994     1.8766
17995    ]
17996   ],
17997   {
17998    "attributes":{}
17999   }
18000  ],
18001  "inner-outer-129":[
18002   [
18003    [
18004     1.59,
18005     -0.2997,
18006     0.0492
18007    ],
18008    [
18009     2.0905,
18010     -0.394,
18011     0.0647
18012    ]
18013   ],
18014   {
18015    "attributes":{}
18016   }
18017  ],
18018  "inner-outer-130":[
18019   [
18020    [
18021     0.3838,
18022     -1.3954,
18023     -0.7457
18024    ],
18025    [
18026     0.5046,
18027     -1.8346,
18028     -0.9804
18029    ]
18030   ],
18031   {
18032    "attributes":{}
18033   }
18034  ],
18035  "inner-outer-131":[
18036   [
18037    [
18038     0.8914,
18039     -0.3906,
18040     -1.3113
18041    ],
18042    [
18043     1.1721,
18044     -0.5135,
18045     -1.7241
18046    ]
18047   ],
18048   {
18049    "attributes":{}
18050   }
18051  ],
18052  "inner-outer-132":[
18053   [
18054    [
18055     0.158,
18056     1.5421,
18057     0.4538
18058    ],
18059    [
18060     0.2077,
18061     2.0276,
18062     0.5967
18063    ]
18064   ],
18065   {
18066    "attributes":{}
18067   }
18068  ],
18069  "inner-outer-133":[
18070   [
18071    [
18072     1.2455,
18073     -0.8101,
18074     0.6224
18075    ],
18076    [
18077     1.6376,
18078     -1.0652,
18079     0.8183
18080    ]
18081   ],
18082   {
18083    "attributes":{}
18084   }
18085  ],
18086  "inner-outer-134":[
18087   [
18088    [
18089     1.0542,
18090     1.0305,
18091     0.6571
18092    ],
18093    [
18094     1.386,
18095     1.3549,
18096     0.8639
18097    ]
18098   ],
18099   {
18100    "attributes":{}
18101   }
18102  ],
18103  "inner-outer-135":[
18104   [
18105    [
18106     -0.4744,
18107     -0.718,
18108     -1.372
18109    ],
18110    [
18111     -0.6238,
18112     -0.944,
18113     -1.804
18114    ]
18115   ],
18116   {
18117    "attributes":{}
18118   }
18119  ],
18120  "inner-outer-136":[
18121   [
18122    [
18123     -1.2011,
18124     -0.9869,
18125     0.4105
18126    ],
18127    [
18128     -1.5793,
18129     -1.2976,
18130     0.5397
18131    ]
18132   ],
18133   {
18134    "attributes":{}
18135   }
18136  ],
18137  "inner-outer-137":[
18138   [
18139    [
18140     0.3728,
18141     1.4542,
18142     0.5802
18143    ],
18144    [
18145     0.4901,
18146     1.912,
18147     0.7629
18148    ]
18149   ],
18150   {
18151    "attributes":{}
18152   }
18153  ],
18154  "inner-outer-138":[
18155   [
18156    [
18157     0.4739,
18158     1.3536,
18159     -0.7681
18160    ],
18161    [
18162     0.6231,
18163     1.7798,
18164     -1.0099
18165    ]
18166   ],
18167   {
18168    "attributes":{}
18169   }
18170  ],
18171  "inner-outer-139":[
18172   [
18173    [
18174     1.0036,
18175     1.2504,
18176     0.1127
18177    ],
18178    [
18179     1.3196,
18180     1.644,
18181     0.1482
18182    ]
18183   ],
18184   {
18185    "attributes":{}
18186   }
18187  ],
18188  "inner-outer-140":[
18189   [
18190    [
18191     -0.8442,
18192     -1.3589,
18193     -0.2288
18194    ],
18195    [
18196     -1.1099,
18197     -1.7867,
18198     -0.3008
18199    ]
18200   ],
18201   {
18202    "attributes":{}
18203   }
18204  ],
18205  "inner-outer-141":[
18206   [
18207    [
18208     1.2306,
18209     0.8485,
18210     -0.6044
18211    ],
18212    [
18213     1.618,
18214     1.1157,
18215     -0.7947
18216    ]
18217   ],
18218   {
18219    "attributes":{}
18220   }
18221  ],
18222  "inner-outer-142":[
18223   [
18224    [
18225     -0.2161,
18226     -1.0039,
18227     -1.2488
18228    ],
18229    [
18230     -0.2842,
18231     -1.3199,
18232     -1.642
18233    ]
18234   ],
18235   {
18236    "attributes":{}
18237   }
18238  ],
18239  "inner-outer-143":[
18240   [
18241    [
18242     0.4268,
18243     0.5868,
18244     1.461
18245    ],
18246    [
18247     0.5611,
18248     0.7716,
18249     1.921
18250    ]
18251   ],
18252   {
18253    "attributes":{}
18254   }
18255  ],
18256  "inner-outer-144":[
18257   [
18258    [
18259     -0.987,
18260     -0.3985,
18261     -1.2339
18262    ],
18263    [
18264     -1.2978,
18265     -0.524,
18266     -1.6224
18267    ]
18268   ],
18269   {
18270    "attributes":{}
18271   }
18272  ],
18273  "inner-outer-145":[
18274   [
18275    [
18276     -1.5664,
18277     -0.3381,
18278     0.2552
18279    ],
18280    [
18281     -2.0596,
18282     -0.4445,
18283     0.3355
18284    ]
18285   ],
18286   {
18287    "attributes":{}
18288   }
18289  ],
18290  "inner-outer-146":[
18291   [
18292    [
18293     0.0673,
18294     1.5397,
18295     0.4979
18296    ],
18297    [
18298     0.0884,
18299     2.0244,
18300     0.6546
18301    ]
18302   ],
18303   {
18304    "attributes":{}
18305   }
18306  ],
18307  "inner-outer-147":[
18308   [
18309    [
18310     -1.3659,
18311     -0.7288,
18312     0.4721
18313    ],
18314    [
18315     -1.7959,
18316     -0.9582,
18317     0.6207
18318    ]
18319   ],
18320   {
18321    "attributes":{}
18322   }
18323  ],
18324  "inner-outer-148":[
18325   [
18326    [
18327     -1.6131,
18328     0.1603,
18329     -0.2856
18330    ],
18331    [
18332     -2.1209,
18333     0.2107,
18334     -0.3755
18335    ]
18336   ],
18337   {
18338    "attributes":{}
18339   }
18340  ],
18341  "inner-outer-149":[
18342   [
18343    [
18344     -0.1174,
18345     0.6093,
18346     1.4855
18347    ],
18348    [
18349     -0.1544,
18350     0.8011,
18351     1.9532
18352    ]
18353   ],
18354   {
18355    "attributes":{}
18356   }
18357  ],
18358  "inner-outer-150":[
18359   [
18360    [
18361     -1.053,
18362     0.7704,
18363     -0.9622
18364    ],
18365    [
18366     -1.3846,
18367     1.0129,
18368     -1.2651
18369    ]
18370   ],
18371   {
18372    "attributes":{}
18373   }
18374  ],
18375  "inner-outer-151":[
18376   [
18377    [
18378     0.7268,
18379     -1.1348,
18380     0.8982
18381    ],
18382    [
18383     0.9555,
18384     -1.4921,
18385     1.181
18386    ]
18387   ],
18388   {
18389    "attributes":{}
18390   }
18391  ],
18392  "inner-outer-152":[
18393   [
18394    [
18395     -1.3119,
18396     -0.6669,
18397     0.6664
18398    ],
18399    [
18400     -1.7249,
18401     -0.8769,
18402     0.8761
18403    ]
18404   ],
18405   {
18406    "attributes":{}
18407   }
18408  ],
18409  "inner-outer-153":[
18410   [
18411    [
18412     -0.5099,
18413     -1.3757,
18414     -0.6699
18415    ],
18416    [
18417     -0.6704,
18418     -1.8089,
18419     -0.8808
18420    ]
18421   ],
18422   {
18423    "attributes":{}
18424   }
18425  ],
18426  "inner-outer-154":[
18427   [
18428    [
18429     -0.6111,
18430     1.5051,
18431     0.1307
18432    ],
18433    [
18434     -0.8035,
18435     1.9789,
18436     0.1719
18437    ]
18438   ],
18439   {
18440    "attributes":{}
18441   }
18442  ],
18443  "inner-outer-155":[
18444   [
18445    [
18446     -0.124,
18447     -1.5946,
18448     0.2476
18449    ],
18450    [
18451     -0.163,
18452     -2.0966,
18453     0.3256
18454    ]
18455   ],
18456   {
18457    "attributes":{}
18458   }
18459  ],
18460  "inner-outer-156":[
18461   [
18462    [
18463     0.7342,
18464     1.3448,
18465     -0.4977
18466    ],
18467    [
18468     0.9654,
18469     1.7682,
18470     -0.6543
18471    ]
18472   ],
18473   {
18474    "attributes":{}
18475   }
18476  ],
18477  "inner-outer-157":[
18478   [
18479    [
18480     -0.0033,
18481     1.6012,
18482     -0.1177
18483    ],
18484    [
18485     -0.0044,
18486     2.1053,
18487     -0.1548
18488    ]
18489   ],
18490   {
18491    "attributes":{}
18492   }
18493  ],
18494  "inner-outer-158":[
18495   [
18496    [
18497     -1.401,
18498     0.2391,
18499     -0.7882
18500    ],
18501    [
18502     -1.8421,
18503     0.3143,
18504     -1.0363
18505    ]
18506   ],
18507   {
18508    "attributes":{}
18509   }
18510  ],
18511  "inner-outer-159":[
18512   [
18513    [
18514     -1.6066,
18515     -0.1571,
18516     0.3022
18517    ],
18518    [
18519     -2.1124,
18520     -0.2066,
18521     0.3974
18522    ]
18523   ],
18524   {
18525    "attributes":{}
18526   }
18527  ],
18528  "inner-outer-160":[
18529   [
18530    [
18531     0.3924,
18532     1.5347,
18533     -0.3774
18534    ],
18535    [
18536     0.5159,
18537     2.0178,
18538     -0.4962
18539    ]
18540   ],
18541   {
18542    "attributes":{}
18543   }
18544  ],
18545  "inner-outer-161":[
18546   [
18547    [
18548     0.7887,
18549     1.3972,
18550     -0.2052
18551    ],
18552    [
18553     1.0369,
18554     1.837,
18555     -0.2698
18556    ]
18557   ],
18558   {
18559    "attributes":{}
18560   }
18561  ],
18562  "inner-outer-162":[
18563   [
18564    [
18565     0.2267,
18566     1.517,
18567     0.4849
18568    ],
18569    [
18570     0.2981,
18571     1.9945,
18572     0.6375
18573    ]
18574   ],
18575   {
18576    "attributes":{}
18577   }
18578  ],
18579  "inner-outer-163":[
18580   [
18581    [
18582     0.3241,
18583     0.1914,
18584     1.5676
18585    ],
18586    [
18587     0.4262,
18588     0.2517,
18589     2.0611
18590    ]
18591   ],
18592   {
18593    "attributes":{}
18594   }
18595  ],
18596  "inner-outer-164":[
18597   [
18598    [
18599     -0.8456,
18600     -0.1002,
18601     -1.3742
18602    ],
18603    [
18604     -1.1118,
18605     -0.1318,
18606     -1.8069
18607    ]
18608   ],
18609   {
18610    "attributes":{}
18611   }
18612  ],
18613  "inner-outer-165":[
18614   [
18615    [
18616     -0.7774,
18617     1.3072,
18618     -0.5528
18619    ],
18620    [
18621     -1.0221,
18622     1.7187,
18623     -0.7268
18624    ]
18625   ],
18626   {
18627    "attributes":{}
18628   }
18629  ],
18630  "inner-outer-166":[
18631   [
18632    [
18633     0.4556,
18634     -1.5485,
18635     -0.0778
18636    ],
18637    [
18638     0.599,
18639     -2.036,
18640     -0.1022
18641    ]
18642   ],
18643   {
18644    "attributes":{}
18645   }
18646  ],
18647  "inner-outer-167":[
18648   [
18649    [
18650     1.1627,
18651     1.0379,
18652     0.4408
18653    ],
18654    [
18655     1.5287,
18656     1.3646,
18657     0.5795
18658    ]
18659   ],
18660   {
18661    "attributes":{}
18662   }
18663  ],
18664  "inner-outer-168":[
18665   [
18666    [
18667     -0.896,
18668     0.3323,
18669     -1.3131
18670    ],
18671    [
18672     -1.178,
18673     0.437,
18674     -1.7265
18675    ]
18676   ],
18677   {
18678    "attributes":{}
18679   }
18680  ],
18681  "inner-outer-169":[
18682   [
18683    [
18684     -1.5749,
18685     0.1172,
18686     -0.3887
18687    ],
18688    [
18689     -2.0708,
18690     0.1541,
18691     -0.511
18692    ]
18693   ],
18694   {
18695    "attributes":{}
18696   }
18697  ],
18698  "inner-outer-170":[
18699   [
18700    [
18701     -0.4473,
18702     0.728,
18703     1.3724
18704    ],
18705    [
18706     -0.5881,
18707     0.9572,
18708     1.8044
18709    ]
18710   ],
18711   {
18712    "attributes":{}
18713   }
18714  ],
18715  "inner-outer-171":[
18716   [
18717    [
18718     0.8244,
18719     -1.3879,
18720     0.0019
18721    ],
18722    [
18723     1.0839,
18724     -1.8248,
18725     0.0025
18726    ]
18727   ],
18728   {
18729    "attributes":{}
18730   }
18731  ],
18732  "inner-outer-172":[
18733   [
18734    [
18735     0.9586,
18736     -0.0427,
18737     1.2968
18738    ],
18739    [
18740     1.2603,
18741     -0.0562,
18742     1.7051
18743    ]
18744   ],
18745   {
18746    "attributes":{}
18747   }
18748  ],
18749  "inner-outer-173":[
18750   [
18751    [
18752     -0.3555,
18753     1.1103,
18754     -1.1041
18755    ],
18756    [
18757     -0.4674,
18758     1.4598,
18759     -1.4517
18760    ]
18761   ],
18762   {
18763    "attributes":{}
18764   }
18765  ],
18766  "inner-outer-174":[
18767   [
18768    [
18769     -1.4844,
18770     0.6378,
18771     0.0309
18772    ],
18773    [
18774     -1.9517,
18775     0.8385,
18776     0.0406
18777    ]
18778   ],
18779   {
18780    "attributes":{}
18781   }
18782  ],
18783  "inner-outer-175":[
18784   [
18785    [
18786     -0.9855,
18787     1.2041,
18788     -0.4656
18789    ],
18790    [
18791     -1.2958,
18792     1.5832,
18793     -0.6121
18794    ]
18795   ],
18796   {
18797    "attributes":{}
18798   }
18799  ],
18800  "inner-outer-176":[
18801   [
18802    [
18803     -1.2983,
18804     0.9468,
18805     0.248
18806    ],
18807    [
18808     -1.707,
18809     1.2449,
18810     0.326
18811    ]
18812   ],
18813   {
18814    "attributes":{}
18815   }
18816  ],
18817  "inner-outer-177":[
18818   [
18819    [
18820     0.9716,
18821     -1.2969,
18822     0.2568
18823    ],
18824    [
18825     1.2775,
18826     -1.7052,
18827     0.3376
18828    ]
18829   ],
18830   {
18831    "attributes":{}
18832   }
18833  ],
18834  "inner-outer-178":[
18835   [
18836    [
18837     -0.7696,
18838     -0.7983,
18839     1.1751
18840    ],
18841    [
18842     -1.0118,
18843     -1.0496,
18844     1.5451
18845    ]
18846   ],
18847   {
18848    "attributes":{}
18849   }
18850  ],
18851  "inner-outer-179":[
18852   [
18853    [
18854     -1.0918,
18855     1.052,
18856     0.5515
18857    ],
18858    [
18859     -1.4355,
18860     1.3831,
18861     0.7251
18862    ]
18863   ],
18864   {
18865    "attributes":{}
18866   }
18867  ],
18868  "inner-outer-180":[
18869   [
18870    [
18871     0.0453,
18872     1.6117,
18873     0.0872
18874    ],
18875    [
18876     0.0595,
18877     2.1191,
18878     0.1146
18879    ]
18880   ],
18881   {
18882    "attributes":{}
18883   }
18884  ],
18885  "inner-outer-181":[
18886   [
18887    [
18888     0.6411,
18889     1.1046,
18890     0.9841
18891    ],
18892    [
18893     0.8429,
18894     1.4524,
18895     1.2939
18896    ]
18897   ],
18898   {
18899    "attributes":{}
18900   }
18901  ],
18902  "inner-outer-182":[
18903   [
18904    [
18905     1.3418,
18906     -0.8983,
18907     -0.0502
18908    ],
18909    [
18910     1.7642,
18911     -1.1811,
18912     -0.0659
18913    ]
18914   ],
18915   {
18916    "attributes":{}
18917   }
18918  ],
18919  "inner-outer-183":[
18920   [
18921    [
18922     -0.8819,
18923     -1.3547,
18924     0.2014
18925    ],
18926    [
18927     -1.1596,
18928     -1.7812,
18929     0.2649
18930    ]
18931   ],
18932   {
18933    "attributes":{}
18934   }
18935  ],
18936  "inner-outer-184":[
18937   [
18938    [
18939     -0.2898,
18940     -1.2469,
18941     0.98
18942    ],
18943    [
18944     -0.3811,
18945     -1.6395,
18946     1.2886
18947    ]
18948   ],
18949   {
18950    "attributes":{}
18951   }
18952  ],
18953  "inner-outer-185":[
18954   [
18955    [
18956     0.0196,
18957     1.5094,
18958     -0.6086
18959    ],
18960    [
18961     0.0258,
18962     1.9846,
18963     -0.8002
18964    ]
18965   ],
18966   {
18967    "attributes":{}
18968   }
18969  ],
18970  "inner-outer-186":[
18971   [
18972    [
18973     0.8495,
18974     1.162,
18975     -0.724
18976    ],
18977    [
18978     1.117,
18979     1.5278,
18980     -0.9519
18981    ]
18982   ],
18983   {
18984    "attributes":{}
18985   }
18986  ],
18987  "inner-outer-187":[
18988   [
18989    [
18990     0.6087,
18991     1.4381,
18992     0.4326
18993    ],
18994    [
18995     0.8003,
18996     1.8908,
18997     0.5688
18998    ]
18999   ],
19000   {
19001    "attributes":{}
19002   }
19003  ],
19004  "inner-outer-188":[
19005   [
19006    [
19007     -1.0622,
19008     1.0685,
19009     -0.5697
19010    ],
19011    [
19012     -1.3965,
19013     1.4049,
19014     -0.7491
19015    ]
19016   ],
19017   {
19018    "attributes":{}
19019   }
19020  ],
19021  "inner-outer-189":[
19022   [
19023    [
19024     1.0154,
19025     -0.8996,
19026     -0.8768
19027    ],
19028    [
19029     1.3351,
19030     -1.1828,
19031     -1.1528
19032    ]
19033   ],
19034   {
19035    "attributes":{}
19036   }
19037  ],
19038  "inner-outer-190":[
19039   [
19040    [
19041     -0.8788,
19042     0.5692,
19043     -1.228
19044    ],
19045    [
19046     -1.1555,
19047     0.7484,
19048     -1.6146
19049    ]
19050   ],
19051   {
19052    "attributes":{}
19053   }
19054  ],
19055  "inner-outer-191":[
19056   [
19057    [
19058     0.1163,
19059     0.0182,
19060     1.6256
19061    ],
19062    [
19063     0.1529,
19064     0.024,
19065     2.1373
19066    ]
19067   ],
19068   {
19069    "attributes":{}
19070   }
19071  ],
19072  "inner-outer-192":[
19073   [
19074    [
19075     -1.2854,
19076     0.7865,
19077     0.5599
19078    ],
19079    [
19080     -1.6901,
19081     1.0341,
19082     0.7362
19083    ]
19084   ],
19085   {
19086    "attributes":{}
19087   }
19088  ],
19089  "inner-outer-193":[
19090   [
19091    [
19092     -0.1486,
19093     -1.5108,
19094     -0.5578
19095    ],
19096    [
19097     -0.1954,
19098     -1.9865,
19099     -0.7334
19100    ]
19101   ],
19102   {
19103    "attributes":{}
19104   }
19105  ],
19106  "inner-outer-194":[
19107   [
19108    [
19109     -0.5128,
19110     1.3603,
19111     0.7026
19112    ],
19113    [
19114     -0.6742,
19115     1.7885,
19116     0.9238
19117    ]
19118   ],
19119   {
19120    "attributes":{}
19121   }
19122  ],
19123  "inner-outer-195":[
19124   [
19125    [
19126     0.3493,
19127     -1.5674,
19128     0.323
19129    ],
19130    [
19131     0.4592,
19132     -2.0608,
19133     0.4247
19134    ]
19135   ],
19136   {
19137    "attributes":{}
19138   }
19139  ],
19140  "inner-outer-196":[
19141   [
19142    [
19143     -0.4564,
19144     -1.4094,
19145     -0.6441
19146    ],
19147    [
19148     -0.6001,
19149     -1.853,
19150     -0.8469
19151    ]
19152   ],
19153   {
19154    "attributes":{}
19155   }
19156  ],
19157  "inner-outer-197":[
19158   [
19159    [
19160     0.6571,
19161     1.0222,
19162     1.0733
19163    ],
19164    [
19165     0.864,
19166     1.344,
19167     1.4111
19168    ]
19169   ],
19170   {
19171    "attributes":{}
19172   }
19173  ],
19174  "inner-outer-198":[
19175   [
19176    [
19177     0.3434,
19178     -1.5026,
19179     -0.4493
19180    ],
19181    [
19182     0.4515,
19183     -1.9757,
19184     -0.5908
19185    ]
19186   ],
19187   {
19188    "attributes":{}
19189   }
19190  ],
19191  "inner-outer-199":[
19192   [
19193    [
19194     -1.5541,
19195     -0.4197,
19196     -0.297
19197    ],
19198    [
19199     -2.0433,
19200     -0.5518,
19201     -0.3905
19202    ]
19203   ],
19204   {
19205    "attributes":{}
19206   }
19207  ],
19208  "inner-outer-200":[
19209   [
19210    [
19211     -0.5213,
19212     1.1041,
19213     1.0562
19214    ],
19215    [
19216     -0.6854,
19217     1.4517,
19218     1.3888
19219    ]
19220   ],
19221   {
19222    "attributes":{}
19223   }
19224  ],
19225  "inner-outer-201":[
19226   [
19227    [
19228     0.7909,
19229     1.3719,
19230     0.3381
19231    ],
19232    [
19233     1.0398,
19234     1.8038,
19235     0.4445
19236    ]
19237   ],
19238   {
19239    "attributes":{}
19240   }
19241  ],
19242  "inner-outer-202":[
19243   [
19244    [
19245     -1.47,
19246     -0.437,
19247     0.5108
19248    ],
19249    [
19250     -1.9327,
19251     -0.5746,
19252     0.6716
19253    ]
19254   ],
19255   {
19256    "attributes":{}
19257   }
19258  ],
19259  "inner-outer-203":[
19260   [
19261    [
19262     -0.151,
19263     0.8164,
19264     -1.3807
19265    ],
19266    [
19267     -0.1986,
19268     1.0734,
19269     -1.8153
19270    ]
19271   ],
19272   {
19273    "attributes":{}
19274   }
19275  ],
19276  "inner-outer-204":[
19277   [
19278    [
19279     -1.0541,
19280     -0.9067,
19281     -0.8332
19282    ],
19283    [
19284     -1.3859,
19285     -1.1922,
19286     -1.0955
19287    ]
19288   ],
19289   {
19290    "attributes":{}
19291   }
19292  ],
19293  "inner-outer-205":[
19294   [
19295    [
19296     -1.2545,
19297     0.1107,
19298     -1.0075
19299    ],
19300    [
19301     -1.6495,
19302     0.1456,
19303     -1.3247
19304    ]
19305   ],
19306   {
19307    "attributes":{}
19308   }
19309  ],
19310  "inner-outer-206":[
19311   [
19312    [
19313     1.1143,
19314     0.1552,
19315     -1.1601
19316    ],
19317    [
19318     1.4651,
19319     0.204,
19320     -1.5253
19321    ]
19322   ],
19323   {
19324    "attributes":{}
19325   }
19326  ],
19327  "inner-outer-207":[
19328   [
19329    [
19330     0.0828,
19331     1.5995,
19332     -0.1513
19333    ],
19334    [
19335     0.1089,
19336     2.1031,
19337     -0.1989
19338    ]
19339   ],
19340   {
19341    "attributes":{}
19342   }
19343  ],
19344  "inner-outer-208":[
19345   [
19346    [
19347     -1.3379,
19348     0.7955,
19349     -0.4452
19350    ],
19351    [
19352     -1.7591,
19353     1.0459,
19354     -0.5854
19355    ]
19356   ],
19357   {
19358    "attributes":{}
19359   }
19360  ],
19361  "inner-outer-209":[
19362   [
19363    [
19364     1.1319,
19365     0.067,
19366     1.1371
19367    ],
19368    [
19369     1.4882,
19370     0.088,
19371     1.4951
19372    ]
19373   ],
19374   {
19375    "attributes":{}
19376   }
19377  ],
19378  "inner-outer-210":[
19379   [
19380    [
19381     -0.609,
19382     -1.3952,
19383     -0.5305
19384    ],
19385    [
19386     -0.8008,
19387     -1.8344,
19388     -0.6975
19389    ]
19390   ],
19391   {
19392    "attributes":{}
19393   }
19394  ],
19395  "inner-outer-211":[
19396   [
19397    [
19398     -1.6235,
19399     0.0876,
19400     -0.1541
19401    ],
19402    [
19403     -2.1345,
19404     0.1152,
19405     -0.2026
19406    ]
19407   ],
19408   {
19409    "attributes":{}
19410   }
19411  ],
19412  "inner-outer-212":[
19413   [
19414    [
19415     0.4158,
19416     1.4478,
19417     -0.5739
19418    ],
19419    [
19420     0.5467,
19421     1.9036,
19422     -0.7546
19423    ]
19424   ],
19425   {
19426    "attributes":{}
19427   }
19428  ],
19429  "inner-outer-213":[
19430   [
19431    [
19432     -0.5168,
19433     0.7371,
19434     -1.3582
19435    ],
19436    [
19437     -0.6795,
19438     0.9692,
19439     -1.7858
19440    ]
19441   ],
19442   {
19443    "attributes":{}
19444   }
19445  ],
19446  "inner-outer-214":[
19447   [
19448    [
19449     0.8074,
19450     1.2784,
19451     -0.5676
19452    ],
19453    [
19454     1.0616,
19455     1.6808,
19456     -0.7463
19457    ]
19458   ],
19459   {
19460    "attributes":{}
19461   }
19462  ],
19463  "inner-outer-215":[
19464   [
19465    [
19466     -1.4361,
19467     0.0013,
19468     -0.7556
19469    ],
19470    [
19471     -1.8882,
19472     0.0017,
19473     -0.9935
19474    ]
19475   ],
19476   {
19477    "attributes":{}
19478   }
19479  ],
19480  "inner-outer-216":[
19481   [
19482    [
19483     0.4998,
19484     1.4352,
19485     -0.5323
19486    ],
19487    [
19488     0.6571,
19489     1.887,
19490     -0.6999
19491    ]
19492   ],
19493   {
19494    "attributes":{}
19495   }
19496  ],
19497  "inner-outer-217":[
19498   [
19499    [
19500     -1.3101,
19501     0.9582,
19502     -0.0089
19503    ],
19504    [
19505     -1.7226,
19506     1.2598,
19507     -0.0117
19508    ]
19509   ],
19510   {
19511    "attributes":{}
19512   }
19513  ],
19514  "inner-outer-218":[
19515   [
19516    [
19517     -0.4826,
19518     -1.5418,
19519     -0.095
19520    ],
19521    [
19522     -0.6346,
19523     -2.0272,
19524     -0.1249
19525    ]
19526   ],
19527   {
19528    "attributes":{}
19529   }
19530  ],
19531  "inner-outer-219":[
19532   [
19533    [
19534     -0.3183,
19535     -1.4647,
19536     0.5888
19537    ],
19538    [
19539     -0.4185,
19540     -1.9258,
19541     0.7742
19542    ]
19543   ],
19544   {
19545    "attributes":{}
19546   }
19547  ],
19548  "inner-outer-220":[
19549   [
19550    [
19551     -1.4329,
19552     0.5004,
19553     0.5482
19554    ],
19555    [
19556     -1.884,
19557     0.658,
19558     0.7207
19559    ]
19560   ],
19561   {
19562    "attributes":{}
19563   }
19564  ],
19565  "inner-outer-221":[
19566   [
19567    [
19568     -0.6399,
19569     -0.7663,
19570     -1.2831
19571    ],
19572    [
19573     -0.8413,
19574     -1.0076,
19575     -1.6871
19576    ]
19577   ],
19578   {
19579    "attributes":{}
19580   }
19581  ],
19582  "inner-outer-222":[
19583   [
19584    [
19585     -1.3132,
19586     -0.9544,
19587     0.0138
19588    ],
19589    [
19590     -1.7266,
19591     -1.2548,
19592     0.0181
19593    ]
19594   ],
19595   {
19596    "attributes":{}
19597   }
19598  ],
19599  "inner-outer-223":[
19600   [
19601    [
19602     1.5639,
19603     -0.3485,
19604     0.239
19605    ],
19606    [
19607     2.0562,
19608     -0.4582,
19609     0.3143
19610    ]
19611   ],
19612   {
19613    "attributes":{}
19614   }
19615  ],
19616  "inner-outer-224":[
19617   [
19618    [
19619     0.6571,
19620     -1.418,
19621     0.382
19622    ],
19623    [
19624     0.8639,
19625     -1.8644,
19626     0.5023
19627    ]
19628   ],
19629   {
19630    "attributes":{}
19631   }
19632  ],
19633  "inner-outer-225":[
19634   [
19635    [
19636     0.803,
19637     -1.393,
19638     0.1742
19639    ],
19640    [
19641     1.0558,
19642     -1.8316,
19643     0.229
19644    ]
19645   ],
19646   {
19647    "attributes":{}
19648   }
19649  ],
19650  "inner-outer-226":[
19651   [
19652    [
19653     1.3798,
19654     -0.7046,
19655     0.4738
19656    ],
19657    [
19658     1.8142,
19659     -0.9264,
19660     0.6229
19661    ]
19662   ],
19663   {
19664    "attributes":{}
19665   }
19666  ],
19667  "inner-outer-227":[
19668   [
19669    [
19670     0.9777,
19671     -1.2748,
19672     0.3345
19673    ],
19674    [
19675     1.2854,
19676     -1.6762,
19677     0.4398
19678    ]
19679   ],
19680   {
19681    "attributes":{}
19682   }
19683  ],
19684  "inner-outer-228":[
19685   [
19686    [
19687     -0.337,
19688     1.2806,
19689     0.9429
19690    ],
19691    [
19692     -0.4431,
19693     1.6838,
19694     1.2397
19695    ]
19696   ],
19697   {
19698    "attributes":{}
19699   }
19700  ],
19701  "inner-outer-229":[
19702   [
19703    [
19704     -1.0316,
19705     -1.2296,
19706     -0.1201
19707    ],
19708    [
19709     -1.3563,
19710     -1.6167,
19711     -0.158
19712    ]
19713   ],
19714   {
19715    "attributes":{}
19716   }
19717  ],
19718  "inner-outer-230":[
19719   [
19720    [
19721     0.0508,
19722     -1.6011,
19723     0.1203
19724    ],
19725    [
19726     0.0668,
19727     -2.1052,
19728     0.1581
19729    ]
19730   ],
19731   {
19732    "attributes":{}
19733   }
19734  ],
19735  "inner-outer-231":[
19736   [
19737    [
19738     1.4727,
19739     -0.047,
19740     0.656
19741    ],
19742    [
19743     1.9363,
19744     -0.0618,
19745     0.8625
19746    ]
19747   ],
19748   {
19749    "attributes":{}
19750   }
19751  ],
19752  "inner-outer-232":[
19753   [
19754    [
19755     1.4525,
19756     -0.7026,
19757     0.1713
19758    ],
19759    [
19760     1.9098,
19761     -0.9237,
19762     0.2252
19763    ]
19764   ],
19765   {
19766    "attributes":{}
19767   }
19768  ],
19769  "inner-outer-233":[
19770   [
19771    [
19772     -0.3763,
19773     0.5263,
19774     1.5089
19775    ],
19776    [
19777     -0.4948,
19778     0.692,
19779     1.9839
19780    ]
19781   ],
19782   {
19783    "attributes":{}
19784   }
19785  ],
19786  "inner-outer-234":[
19787   [
19788    [
19789     0.0964,
19790     -0.0364,
19791     1.6325
19792    ],
19793    [
19794     0.1268,
19795     -0.0479,
19796     2.1465
19797    ]
19798   ],
19799   {
19800    "attributes":{}
19801   }
19802  ],
19803  "inner-outer-235":[
19804   [
19805    [
19806     -0.2433,
19807     1.6012,
19808     -0.06
19809    ],
19810    [
19811     -0.3199,
19812     2.1053,
19813     -0.079
19814    ]
19815   ],
19816   {
19817    "attributes":{}
19818   }
19819  ],
19820  "inner-outer-236":[
19821   [
19822    [
19823     -1.1951,
19824     1.078,
19825     -0.0566
19826    ],
19827    [
19828     -1.5714,
19829     1.4174,
19830     -0.0745
19831    ]
19832   ],
19833   {
19834    "attributes":{}
19835   }
19836  ],
19837  "inner-outer-237":[
19838   [
19839    [
19840     -1.612,
19841     -0.0712,
19842     0.2698
19843    ],
19844    [
19845     -2.1195,
19846     -0.0936,
19847     0.3547
19848    ]
19849   ],
19850   {
19851    "attributes":{}
19852   }
19853  ],
19854  "inner-outer-238":[
19855   [
19856    [
19857     1.0164,
19858     1.2436,
19859     0.0736
19860    ],
19861    [
19862     1.3363,
19863     1.6351,
19864     0.0968
19865    ]
19866   ],
19867   {
19868    "attributes":{}
19869   }
19870  ],
19871  "inner-outer-239":[
19872   [
19873    [
19874     -1.1041,
19875     -1.1715,
19876     -0.2066
19877    ],
19878    [
19879     -1.4517,
19880     -1.5403,
19881     -0.2716
19882    ]
19883   ],
19884   {
19885    "attributes":{}
19886   }
19887  ],
19888  "inner-outer-240":[
19889   [
19890    [
19891     -0.1019,
19892     0.5587,
19893     -1.5281
19894    ],
19895    [
19896     -0.134,
19897     0.7346,
19898     -2.0092
19899    ]
19900   ],
19901   {
19902    "attributes":{}
19903   }
19904  ],
19905  "inner-outer-241":[
19906   [
19907    [
19908     -1.5854,
19909     -0.1159,
19910     0.3629
19911    ],
19912    [
19913     -2.0846,
19914     -0.1524,
19915     0.4772
19916    ]
19917   ],
19918   {
19919    "attributes":{}
19920   }
19921  ],
19922  "inner-outer-242":[
19923   [
19924    [
19925     -1.3938,
19926     0.4628,
19927     0.6583
19928    ],
19929    [
19930     -1.8325,
19931     0.6085,
19932     0.8655
19933    ]
19934   ],
19935   {
19936    "attributes":{}
19937   }
19938  ],
19939  "inner-outer-243":[
19940   [
19941    [
19942     1.1481,
19943     -0.8463,
19944     -0.7782
19945    ],
19946    [
19947     1.5095,
19948     -1.1128,
19949     -1.0232
19950    ]
19951   ],
19952   {
19953    "attributes":{}
19954   }
19955  ],
19956  "inner-outer-244":[
19957   [
19958    [
19959     -1.2707,
19960     -1.0012,
19961     -0.211
19962    ],
19963    [
19964     -1.6707,
19965     -1.3164,
19966     -0.2774
19967    ]
19968   ],
19969   {
19970    "attributes":{}
19971   }
19972  ],
19973  "inner-outer-245":[
19974   [
19975    [
19976     0.4948,
19977     1.5362,
19978     -0.1512
19979    ],
19980    [
19981     0.6506,
19982     2.0199,
19983     -0.1988
19984    ]
19985   ],
19986   {
19987    "attributes":{}
19988   }
19989  ],
19990  "inner-outer-246":[
19991   [
19992    [
19993     1.1893,
19994     0.9289,
19995     -0.5618
19996    ],
19997    [
19998     1.5637,
19999     1.2213,
20000     -0.7387
20001    ]
20002   ],
20003   {
20004    "attributes":{}
20005   }
20006  ],
20007  "inner-outer-247":[
20008   [
20009    [
20010     1.5957,
20011     0.0313,
20012     -0.3092
20013    ],
20014    [
20015     2.0981,
20016     0.0411,
20017     -0.4066
20018    ]
20019   ],
20020   {
20021    "attributes":{}
20022   }
20023  ],
20024  "inner-outer-248":[
20025   [
20026    [
20027     -1.5082,
20028     0.289,
20029     -0.5192
20030    ],
20031    [
20032     -1.9829,
20033     0.38,
20034     -0.6826
20035    ]
20036   ],
20037   {
20038    "attributes":{}
20039   }
20040  ],
20041  "inner-outer-249":[
20042   [
20043    [
20044     1.111,
20045     1.0525,
20046     0.5144
20047    ],
20048    [
20049     1.4608,
20050     1.3838,
20051     0.6763
20052    ]
20053   ],
20054   {
20055    "attributes":{}
20056   }
20057  ],
20058  "inner-outer-250":[
20059   [
20060    [
20061     0.2255,
20062     -1.4257,
20063     -0.755
20064    ],
20065    [
20066     0.2965,
20067     -1.8745,
20068     -0.9927
20069    ]
20070   ],
20071   {
20072    "attributes":{}
20073   }
20074  ],
20075  "inner-outer-251":[
20076   [
20077    [
20078     -0.6498,
20079     1.4704,
20080     -0.0847
20081    ],
20082    [
20083     -0.8544,
20084     1.9333,
20085     -0.1113
20086    ]
20087   ],
20088   {
20089    "attributes":{}
20090   }
20091  ],
20092  "inner-outer-252":[
20093   [
20094    [
20095     1.52,
20096     0.4864,
20097     -0.2225
20098    ],
20099    [
20100     1.9985,
20101     0.6395,
20102     -0.2926
20103    ]
20104   ],
20105   {
20106    "attributes":{}
20107   }
20108  ],
20109  "inner-outer-253":[
20110   [
20111    [
20112     -1.4534,
20113     -0.5377,
20114     0.4469
20115    ],
20116    [
20117     -1.911,
20118     -0.707,
20119     0.5876
20120    ]
20121   ],
20122   {
20123    "attributes":{}
20124   }
20125  ],
20126  "inner-outer-254":[
20127   [
20128    [
20129     0.9018,
20130     1.035,
20131     -0.8714
20132    ],
20133    [
20134     1.1857,
20135     1.3609,
20136     -1.1457
20137    ]
20138   ],
20139   {
20140    "attributes":{}
20141   }
20142  ],
20143  "inner-outer-255":[
20144   [
20145    [
20146     1.5589,
20147     0.4119,
20148     0.0523
20149    ],
20150    [
20151     2.0497,
20152     0.5416,
20153     0.0688
20154    ]
20155   ],
20156   {
20157    "attributes":{}
20158   }
20159  ],
20160  "inner-outer-256":[
20161   [
20162    [
20163     1.527,
20164     -0.499,
20165     0.0149
20166    ],
20167    [
20168     2.0078,
20169     -0.6561,
20170     0.0196
20171    ]
20172   ],
20173   {
20174    "attributes":{}
20175   }
20176  ],
20177  "inner-outer-257":[
20178   [
20179    [
20180     0.8517,
20181     1.3706,
20182     -0.1753
20183    ],
20184    [
20185     1.1198,
20186     1.8021,
20187     -0.2305
20188    ]
20189   ],
20190   {
20191    "attributes":{}
20192   }
20193  ],
20194  "inner-outer-258":[
20195   [
20196    [
20197     -0.2517,
20198     -1.4821,
20199     -0.5763
20200    ],
20201    [
20202     -0.3309,
20203     -1.9487,
20204     -0.7577
20205    ]
20206   ],
20207   {
20208    "attributes":{}
20209   }
20210  ],
20211  "inner-outer-259":[
20212   [
20213    [
20214     -1.4102,
20215     -0.5583,
20216     0.5907
20217    ],
20218    [
20219     -1.8542,
20220     -0.7341,
20221     0.7767
20222    ]
20223   ],
20224   {
20225    "attributes":{}
20226   }
20227  ],
20228  "inner-outer-260":[
20229   [
20230    [
20231     1.1911,
20232     0.5531,
20233     0.9486
20234    ],
20235    [
20236     1.566,
20237     0.7272,
20238     1.2473
20239    ]
20240   ],
20241   {
20242    "attributes":{}
20243   }
20244  ],
20245  "inner-outer-261":[
20246   [
20247    [
20248     0.8765,
20249     1.2794,
20250     -0.474
20251    ],
20252    [
20253     1.1525,
20254     1.6822,
20255     -0.6233
20256    ]
20257   ],
20258   {
20259    "attributes":{}
20260   }
20261  ],
20262  "inner-outer-262":[
20263   [
20264    [
20265     -0.0612,
20266     -0.8867,
20267     1.3517
20268    ],
20269    [
20270     -0.0804,
20271     -1.1659,
20272     1.7772
20273    ]
20274   ],
20275   {
20276    "attributes":{}
20277   }
20278  ],
20279  "inner-outer-263":[
20280   [
20281    [
20282     -1.1365,
20283     0.9618,
20284     0.6132
20285    ],
20286    [
20287     -1.4943,
20288     1.2646,
20289     0.8062
20290    ]
20291   ],
20292   {
20293    "attributes":{}
20294   }
20295  ],
20296  "inner-outer-264":[
20297   [
20298    [
20299     -0.1053,
20300     1.5721,
20301     0.3964
20302    ],
20303    [
20304     -0.1385,
20305     2.067,
20306     0.5212
20307    ]
20308   ],
20309   {
20310    "attributes":{}
20311   }
20312  ],
20313  "inner-outer-265":[
20314   [
20315    [
20316     0.3571,
20317     1.5775,
20318     -0.0483
20319    ],
20320    [
20321     0.4696,
20322     2.0741,
20323     -0.0635
20324    ]
20325   ],
20326   {
20327    "attributes":{}
20328   }
20329  ],
20330  "inner-outer-266":[
20331   [
20332    [
20333     -1.1409,
20334     -1.0567,
20335     -0.4513
20336    ],
20337    [
20338     -1.5001,
20339     -1.3894,
20340     -0.5933
20341    ]
20342   ],
20343   {
20344    "attributes":{}
20345   }
20346  ],
20347  "inner-outer-267":[
20348   [
20349    [
20350     1.1609,
20351     1.1146,
20352     -0.0614
20353    ],
20354    [
20355     1.5264,
20356     1.4656,
20357     -0.0807
20358    ]
20359   ],
20360   {
20361    "attributes":{}
20362   }
20363  ],
20364  "inner-outer-268":[
20365   [
20366    [
20367     -1.1396,
20368     -0.9078,
20369     0.721
20370    ],
20371    [
20372     -1.4983,
20373     -1.1935,
20374     0.948
20375    ]
20376   ],
20377   {
20378    "attributes":{}
20379   }
20380  ],
20381  "inner-outer-269":[
20382   [
20383    [
20384     -0.2398,
20385     1.4418,
20386     0.7103
20387    ],
20388    [
20389     -0.3153,
20390     1.8957,
20391     0.9339
20392    ]
20393   ],
20394   {
20395    "attributes":{}
20396   }
20397  ],
20398  "inner-outer-270":[
20399   [
20400    [
20401     -1.0159,
20402     -0.8201,
20403     0.9616
20404    ],
20405    [
20406     -1.3357,
20407     -1.0783,
20408     1.2643
20409    ]
20410   ],
20411   {
20412    "attributes":{}
20413   }
20414  ],
20415  "inner-outer-271":[
20416   [
20417    [
20418     -1.2268,
20419     0.9134,
20420     0.516
20421    ],
20422    [
20423     -1.613,
20424     1.201,
20425     0.6784
20426    ]
20427   ],
20428   {
20429    "attributes":{}
20430   }
20431  ],
20432  "inner-outer-272":[
20433   [
20434    [
20435     -0.1421,
20436     0.5499,
20437     -1.5209
20438    ],
20439    [
20440     -0.1868,
20441     0.723,
20442     -1.9998
20443    ]
20444   ],
20445   {
20446    "attributes":{}
20447   }
20448  ],
20449  "inner-outer-273":[
20450   [
20451    [
20452     -1.5744,
20453     0.32,
20454     0.1762
20455    ],
20456    [
20457     -2.07,
20458     0.4207,
20459     0.2317
20460    ]
20461   ],
20462   {
20463    "attributes":{}
20464   }
20465  ],
20466  "inner-outer-274":[
20467   [
20468    [
20469     -0.6948,
20470     -1.4603,
20471     -0.0496
20472    ],
20473    [
20474     -0.9135,
20475     -1.92,
20476     -0.0652
20477    ]
20478   ],
20479   {
20480    "attributes":{}
20481   }
20482  ],
20483  "inner-outer-275":[
20484   [
20485    [
20486     -0.0813,
20487     1.1,
20488     -1.2065
20489    ],
20490    [
20491     -0.1068,
20492     1.4462,
20493     -1.5863
20494    ]
20495   ],
20496   {
20497    "attributes":{}
20498   }
20499  ],
20500  "inner-outer-276":[
20501   [
20502    [
20503     -1.6224,
20504     0.133,
20505     -0.1882
20506    ],
20507    [
20508     -2.1332,
20509     0.1749,
20510     -0.2475
20511    ]
20512   ],
20513   {
20514    "attributes":{}
20515   }
20516  ],
20517  "inner-outer-277":[
20518   [
20519    [
20520     -1.5904,
20521     -0.2856,
20522     -0.0094
20523    ],
20524    [
20525     -2.0911,
20526     -0.3755,
20527     -0.0124
20528    ]
20529   ],
20530   {
20531    "attributes":{}
20532   }
20533  ],
20534  "inner-outer-278":[
20535   [
20536    [
20537     -0.6692,
20538     -1.3922,
20539     0.4421
20540    ],
20541    [
20542     -0.8798,
20543     -1.8304,
20544     0.5813
20545    ]
20546   ],
20547   {
20548    "attributes":{}
20549   }
20550  ],
20551  "inner-outer-279":[
20552   [
20553    [
20554     0.1023,
20555     1.4547,
20556     -0.7366
20557    ],
20558    [
20559     0.1345,
20560     1.9127,
20561     -0.9685
20562    ]
20563   ],
20564   {
20565    "attributes":{}
20566   }
20567  ],
20568  "inner-outer-280":[
20569   [
20570    [
20571     1.0371,
20572     -1.2298,
20573     -0.0531
20574    ],
20575    [
20576     1.3636,
20577     -1.617,
20578     -0.0699
20579    ]
20580   ],
20581   {
20582    "attributes":{}
20583   }
20584  ],
20585  "inner-outer-281":[
20586   [
20587    [
20588     -0.0443,
20589     1.0914,
20590     1.206
20591    ],
20592    [
20593     -0.0583,
20594     1.435,
20595     1.5857
20596    ]
20597   ],
20598   {
20599    "attributes":{}
20600   }
20601  ],
20602  "inner-outer-282":[
20603   [
20604    [
20605     0.8445,
20606     1.3428,
20607     0.3052
20608    ],
20609    [
20610     1.1103,
20611     1.7655,
20612     0.4012
20613    ]
20614   ],
20615   {
20616    "attributes":{}
20617   }
20618  ],
20619  "inner-outer-283":[
20620   [
20621    [
20622     -0.1203,
20623     1.5982,
20624     -0.1768
20625    ],
20626    [
20627     -0.1582,
20628     2.1014,
20629     -0.2325
20630    ]
20631   ],
20632   {
20633    "attributes":{}
20634   }
20635  ],
20636  "inner-outer-284":[
20637   [
20638    [
20639     1.5651,
20640     -0.3718,
20641     0.0746
20642    ],
20643    [
20644     2.0579,
20645     -0.4889,
20646     0.0981
20647    ]
20648   ],
20649   {
20650    "attributes":{}
20651   }
20652  ],
20653  "inner-outer-285":[
20654   [
20655    [
20656     -0.6169,
20657     1.1147,
20658     -0.9962
20659    ],
20660    [
20661     -0.8111,
20662     1.4656,
20663     -1.3099
20664    ]
20665   ],
20666   {
20667    "attributes":{}
20668   }
20669  ],
20670  "inner-outer-286":[
20671   [
20672    [
20673     1.4085,
20674     -0.28,
20675     -0.7541
20676    ],
20677    [
20678     1.8519,
20679     -0.3681,
20680     -0.9915
20681    ]
20682   ],
20683   {
20684    "attributes":{}
20685   }
20686  ],
20687  "inner-outer-287":[
20688   [
20689    [
20690     -1.2525,
20691     1.023,
20692     0.0121
20693    ],
20694    [
20695     -1.6468,
20696     1.3451,
20697     0.016
20698    ]
20699   ],
20700   {
20701    "attributes":{}
20702   }
20703  ],
20704  "inner-outer-288":[
20705   [
20706    [
20707     1.1805,
20708     -0.7963,
20709     0.7781
20710    ],
20711    [
20712     1.5522,
20713     -1.0469,
20714     1.023
20715    ]
20716   ],
20717   {
20718    "attributes":{}
20719   }
20720  ],
20721  "inner-outer-289":[
20722   [
20723    [
20724     -1.5036,
20725     0.0452,
20726     0.5785
20727    ],
20728    [
20729     -1.9769,
20730     0.0594,
20731     0.7607
20732    ]
20733   ],
20734   {
20735    "attributes":{}
20736   }
20737  ],
20738  "inner-outer-290":[
20739   [
20740    [
20741     -0.4663,
20742     -1.4627,
20743     -0.4893
20744    ],
20745    [
20746     -0.6131,
20747     -1.9232,
20748     -0.6433
20749    ]
20750   ],
20751   {
20752    "attributes":{}
20753   }
20754  ],
20755  "inner-outer-291":[
20756   [
20757    [
20758     0.0498,
20759     -1.572,
20760     -0.4251
20761    ],
20762    [
20763     0.0654,
20764     -2.0669,
20765     -0.559
20766    ]
20767   ],
20768   {
20769    "attributes":{}
20770   }
20771  ],
20772  "inner-outer-292":[
20773   [
20774    [
20775     0.1762,
20776     -1.5284,
20777     0.5162
20778    ],
20779    [
20780     0.2317,
20781     -2.0096,
20782     0.6787
20783    ]
20784   ],
20785   {
20786    "attributes":{}
20787   }
20788  ],
20789  "inner-outer-293":[
20790   [
20791    [
20792     0.0538,
20793     -1.5793,
20794     -0.4086
20795    ],
20796    [
20797     0.0707,
20798     -2.0765,
20799     -0.5372
20800    ]
20801   ],
20802   {
20803    "attributes":{}
20804   }
20805  ],
20806  "inner-outer-294":[
20807   [
20808    [
20809     0.6591,
20810     -1.3125,
20811     -0.6719
20812    ],
20813    [
20814     0.8667,
20815     -1.7257,
20816     -0.8834
20817    ]
20818   ],
20819   {
20820    "attributes":{}
20821   }
20822  ],
20823  "inner-outer-295":[
20824   [
20825    [
20826     1.3578,
20827     -0.524,
20828     0.7536
20829    ],
20830    [
20831     1.7852,
20832     -0.6889,
20833     0.9909
20834    ]
20835   ],
20836   {
20837    "attributes":{}
20838   }
20839  ],
20840  "inner-outer-296":[
20841   [
20842    [
20843     0.5651,
20844     -1.2887,
20845     -0.8089
20846    ],
20847    [
20848     0.7431,
20849     -1.6944,
20850     -1.0636
20851    ]
20852   ],
20853   {
20854    "attributes":{}
20855   }
20856  ],
20857  "inner-outer-297":[
20858   [
20859    [
20860     1.3778,
20861     0.5514,
20862     0.6308
20863    ],
20864    [
20865     1.8115,
20866     0.725,
20867     0.8294
20868    ]
20869   ],
20870   {
20871    "attributes":{}
20872   }
20873  ],
20874  "inner-outer-298":[
20875   [
20876    [
20877     0.3846,
20878     0.3885,
20879     1.5396
20880    ],
20881    [
20882     0.5057,
20883     0.5108,
20884     2.0242
20885    ]
20886   ],
20887   {
20888    "attributes":{}
20889   }
20890  ],
20891  "inner-outer-299":[
20892   [
20893    [
20894     -0.1,
20895     -1.6018,
20896     0.1065
20897    ],
20898    [
20899     -0.1315,
20900     -2.1061,
20901     0.1401
20902    ]
20903   ],
20904   {
20905    "attributes":{}
20906   }
20907  ],
20908  "inner-outer-300":[
20909   [
20910    [
20911     -1.5097,
20912     -0.3128,
20913     -0.4764
20914    ],
20915    [
20916     -1.9849,
20917     -0.4112,
20918     -0.6263
20919    ]
20920   ],
20921   {
20922    "attributes":{}
20923   }
20924  ],
20925  "inner-outer-301":[
20926   [
20927    [
20928     0.6669,
20929     0.8183,
20930     1.2487
20931    ],
20932    [
20933     0.8768,
20934     1.076,
20935     1.6418
20936    ]
20937   ],
20938   {
20939    "attributes":{}
20940   }
20941  ],
20942  "inner-outer-302":[
20943   [
20944    [
20945     0.1943,
20946     -0.4672,
20947     -1.5446
20948    ],
20949    [
20950     0.2555,
20951     -0.6143,
20952     -2.0309
20953    ]
20954   ],
20955   {
20956    "attributes":{}
20957   }
20958  ],
20959  "inner-outer-303":[
20960   [
20961    [
20962     -0.2101,
20963     -1.3433,
20964     -0.9006
20965    ],
20966    [
20967     -0.2762,
20968     -1.7662,
20969     -1.1841
20970    ]
20971   ],
20972   {
20973    "attributes":{}
20974   }
20975  ],
20976  "inner-outer-304":[
20977   [
20978    [
20979     1.6023,
20980     -0.0205,
20981     0.285
20982    ],
20983    [
20984     2.1067,
20985     -0.027,
20986     0.3747
20987    ]
20988   ],
20989   {
20990    "attributes":{}
20991   }
20992  ],
20993  "inner-outer-305":[
20994   [
20995    [
20996     -0.1244,
20997     -0.2184,
20998     1.5948
20999    ],
21000    [
21001     -0.1636,
21002     -0.2871,
21003     2.0968
21004    ]
21005   ],
21006   {
21007    "attributes":{}
21008   }
21009  ],
21010  "inner-outer-306":[
21011   [
21012    [
21013     1.4525,
21014     0.2995,
21015     0.6461
21016    ],
21017    [
21018     1.9098,
21019     0.3938,
21020     0.8494
21021    ]
21022   ],
21023   {
21024    "attributes":{}
21025   }
21026  ],
21027  "inner-outer-307":[
21028   [
21029    [
21030     1.5949,
21031     -0.1794,
21032     0.3267
21033    ],
21034    [
21035     2.097,
21036     -0.2358,
21037     0.4296
21038    ]
21039   ],
21040   {
21041    "attributes":{}
21042   }
21043  ],
21044  "inner-outer-308":[
21045   [
21046    [
21047     0.0968,
21048     -1.4729,
21049     -0.6485
21050    ],
21051    [
21052     0.1273,
21053     -1.9366,
21054     -0.8526
21055    ]
21056   ],
21057   {
21058    "attributes":{}
21059   }
21060  ],
21061  "inner-outer-309":[
21062   [
21063    [
21064     -0.3893,
21065     1.1965,
21066     -1.0097
21067    ],
21068    [
21069     -0.5118,
21070     1.5732,
21071     -1.3275
21072    ]
21073   ],
21074   {
21075    "attributes":{}
21076   }
21077  ],
21078  "inner-outer-310":[
21079   [
21080    [
21081     -0.1669,
21082     1.4063,
21083     -0.7968
21084    ],
21085    [
21086     -0.2194,
21087     1.849,
21088     -1.0476
21089    ]
21090   ],
21091   {
21092    "attributes":{}
21093   }
21094  ],
21095  "inner-outer-311":[
21096   [
21097    [
21098     -0.6861,
21099     1.3145,
21100     0.6417
21101    ],
21102    [
21103     -0.9021,
21104     1.7283,
21105     0.8437
21106    ]
21107   ],
21108   {
21109    "attributes":{}
21110   }
21111  ],
21112  "inner-outer-312":[
21113   [
21114    [
21115     1.002,
21116     0.759,
21117     1.0118
21118    ],
21119    [
21120     1.3174,
21121     0.998,
21122     1.3303
21123    ]
21124   ],
21125   {
21126    "attributes":{}
21127   }
21128  ],
21129  "inner-outer-313":[
21130   [
21131    [
21132     -0.1229,
21133     1.232,
21134     1.0356
21135    ],
21136    [
21137     -0.1616,
21138     1.6199,
21139     1.3616
21140    ]
21141   ],
21142   {
21143    "attributes":{}
21144   }
21145  ],
21146  "inner-outer-314":[
21147   [
21148    [
21149     1.0466,
21150     -1.1934,
21151     -0.3139
21152    ],
21153    [
21154     1.376,
21155     -1.569,
21156     -0.4127
21157    ]
21158   ],
21159   {
21160    "attributes":{}
21161   }
21162  ],
21163  "inner-outer-315":[
21164   [
21165    [
21166     0.2785,
21167     -0.5782,
21168     1.4758
21169    ],
21170    [
21171     0.3661,
21172     -0.7602,
21173     1.9404
21174    ]
21175   ],
21176   {
21177    "attributes":{}
21178   }
21179  ],
21180  "inner-outer-316":[
21181   [
21182    [
21183     0.7545,
21184     0.051,
21185     1.4304
21186    ],
21187    [
21188     0.9921,
21189     0.0671,
21190     1.8808
21191    ]
21192   ],
21193   {
21194    "attributes":{}
21195   }
21196  ],
21197  "inner-outer-317":[
21198   [
21199    [
21200     -1.1003,
21201     -0.2834,
21202     -1.1544
21203    ],
21204    [
21205     -1.4467,
21206     -0.3726,
21207     -1.5178
21208    ]
21209   ],
21210   {
21211    "attributes":{}
21212   }
21213  ],
21214  "inner-outer-318":[
21215   [
21216    [
21217     -0.2484,
21218     1.4517,
21219     -0.6604
21220    ],
21221    [
21222     -0.3266,
21223     1.9087,
21224     -0.8683
21225    ]
21226   ],
21227   {
21228    "attributes":{}
21229   }
21230  ],
21231  "inner-outer-319":[
21232   [
21233    [
21234     -0.2843,
21235     1.5569,
21236     0.3207
21237    ],
21238    [
21239     -0.3738,
21240     2.0471,
21241     0.4216
21242    ]
21243   ],
21244   {
21245    "attributes":{}
21246   }
21247  ],
21248  "inner-outer-320":[
21249   [
21250    [
21251     1.5267,
21252     -0.517,
21253     -0.0887
21254    ],
21255    [
21256     2.0074,
21257     -0.6798,
21258     -0.1167
21259    ]
21260   ],
21261   {
21262    "attributes":{}
21263   }
21264  ],
21265  "inner-outer-321":[
21266   [
21267    [
21268     0.1598,
21269     -1.419,
21270     -0.77
21271    ],
21272    [
21273     0.2101,
21274     -1.8657,
21275     -1.0124
21276    ]
21277   ],
21278   {
21279    "attributes":{}
21280   }
21281  ],
21282  "inner-outer-322":[
21283   [
21284    [
21285     -1.4929,
21286     0.4487,
21287     0.4555
21288    ],
21289    [
21290     -1.9629,
21291     0.59,
21292     0.5989
21293    ]
21294   ],
21295   {
21296    "attributes":{}
21297   }
21298  ],
21299  "inner-outer-323":[
21300   [
21301    [
21302     -0.3849,
21303     1.4483,
21304     -0.5904
21305    ],
21306    [
21307     -0.506,
21308     1.9042,
21309     -0.7763
21310    ]
21311   ],
21312   {
21313    "attributes":{}
21314   }
21315  ],
21316  "inner-outer-324":[
21317   [
21318    [
21319     -0.3459,
21320     -1.5629,
21321     -0.1822
21322    ],
21323    [
21324     -0.4548,
21325     -2.0549,
21326     -0.2396
21327    ]
21328   ],
21329   {
21330    "attributes":{}
21331   }
21332  ],
21333  "inner-outer-325":[
21334   [
21335    [
21336     -1.1369,
21337     -1.0454,
21338     -0.4772
21339    ],
21340    [
21341     -1.4948,
21342     -1.3745,
21343     -0.6274
21344    ]
21345   ],
21346   {
21347    "attributes":{}
21348   }
21349  ],
21350  "inner-outer-326":[
21351   [
21352    [
21353     1.2921,
21354     -0.7487,
21355     0.6029
21356    ],
21357    [
21358     1.6988,
21359     -0.9844,
21360     0.7927
21361    ]
21362   ],
21363   {
21364    "attributes":{}
21365   }
21366  ],
21367  "inner-outer-327":[
21368   [
21369    [
21370     1.5603,
21371     -0.0705,
21372     0.4339
21373    ],
21374    [
21375     2.0515,
21376     -0.0927,
21377     0.5705
21378    ]
21379   ],
21380   {
21381    "attributes":{}
21382   }
21383  ],
21384  "inner-outer-328":[
21385   [
21386    [
21387     0.1404,
21388     -0.7218,
21389     1.4408
21390    ],
21391    [
21392     0.1846,
21393     -0.9491,
21394     1.8944
21395    ]
21396   ],
21397   {
21398    "attributes":{}
21399   }
21400  ],
21401  "inner-outer-329":[
21402   [
21403    [
21404     0.3273,
21405     -1.1287,
21406     -1.0943
21407    ],
21408    [
21409     0.4303,
21410     -1.484,
21411     -1.4387
21412    ]
21413   ],
21414   {
21415    "attributes":{}
21416   }
21417  ],
21418  "inner-outer-330":[
21419   [
21420    [
21421     -1.1265,
21422     -0.4116,
21423     -1.0761
21424    ],
21425    [
21426     -1.4811,
21427     -0.5412,
21428     -1.4149
21429    ]
21430   ],
21431   {
21432    "attributes":{}
21433   }
21434  ],
21435  "inner-outer-331":[
21436   [
21437    [
21438     -0.6381,
21439     1.138,
21440     0.9459
21441    ],
21442    [
21443     -0.839,
21444     1.4962,
21445     1.2437
21446    ]
21447   ],
21448   {
21449    "attributes":{}
21450   }
21451  ],
21452  "inner-outer-332":[
21453   [
21454    [
21455     -0.4469,
21456     0.8159,
21457     1.3202
21458    ],
21459    [
21460     -0.5876,
21461     1.0728,
21462     1.7359
21463    ]
21464   ],
21465   {
21466    "attributes":{}
21467   }
21468  ],
21469  "inner-outer-333":[
21470   [
21471    [
21472     -0.2141,
21473     0.6251,
21474     1.4786
21475    ],
21476    [
21477     -0.2815,
21478     0.8219,
21479     1.9441
21480    ]
21481   ],
21482   {
21483    "attributes":{}
21484   }
21485  ],
21486  "inner-outer-334":[
21487   [
21488    [
21489     0.2411,
21490     0.7078,
21491     1.4325
21492    ],
21493    [
21494     0.317,
21495     0.9307,
21496     1.8834
21497    ]
21498   ],
21499   {
21500    "attributes":{}
21501   }
21502  ],
21503  "inner-outer-335":[
21504   [
21505    [
21506     -1.4058,
21507     -0.7594,
21508     -0.2216
21509    ],
21510    [
21511     -1.8484,
21512     -0.9985,
21513     -0.2914
21514    ]
21515   ],
21516   {
21517    "attributes":{}
21518   }
21519  ],
21520  "inner-outer-336":[
21521   [
21522    [
21523     0.3729,
21524     0.6663,
21525     -1.4203
21526    ],
21527    [
21528     0.4903,
21529     0.876,
21530     -1.8674
21531    ]
21532   ],
21533   {
21534    "attributes":{}
21535   }
21536  ],
21537  "inner-outer-337":[
21538   [
21539    [
21540     1.1563,
21541     0.1319,
21542     -1.1168
21543    ],
21544    [
21545     1.5203,
21546     0.1735,
21547     -1.4683
21548    ]
21549   ],
21550   {
21551    "attributes":{}
21552   }
21553  ],
21554  "inner-outer-338":[
21555   [
21556    [
21557     -0.0034,
21558     1.1111,
21559     -1.2219
21560    ],
21561    [
21562     -0.0044,
21563     1.4609,
21564     -1.6066
21565    ]
21566   ],
21567   {
21568    "attributes":{}
21569   }
21570  ],
21571  "inner-outer-339":[
21572   [
21573    [
21574     1.4874,
21575     0.5937,
21576     -0.1802
21577    ],
21578    [
21579     1.9557,
21580     0.7806,
21581     -0.2369
21582    ]
21583   ],
21584   {
21585    "attributes":{}
21586   }
21587  ],
21588  "inner-outer-340":[
21589   [
21590    [
21591     -0.599,
21592     0.7523,
21593     -1.3284
21594    ],
21595    [
21596     -0.7876,
21597     0.9891,
21598     -1.7466
21599    ]
21600   ],
21601   {
21602    "attributes":{}
21603   }
21604  ],
21605  "inner-outer-341":[
21606   [
21607    [
21608     -1.1772,
21609     0.8383,
21610     -0.7307
21611    ],
21612    [
21613     -1.5478,
21614     1.1023,
21615     -0.9608
21616    ]
21617   ],
21618   {
21619    "attributes":{}
21620   }
21621  ],
21622  "inner-outer-342":[
21623   [
21624    [
21625     -0.9676,
21626     -1.3009,
21627     0.2862
21628    ],
21629    [
21630     -1.2722,
21631     -1.7104,
21632     0.3763
21633    ]
21634   ],
21635   {
21636    "attributes":{}
21637   }
21638  ],
21639  "inner-outer-343":[
21640   [
21641    [
21642     1.455,
21643     -0.2189,
21644     -0.6791
21645    ],
21646    [
21647     1.9131,
21648     -0.2878,
21649     -0.8929
21650    ]
21651   ],
21652   {
21653    "attributes":{}
21654   }
21655  ],
21656  "inner-outer-344":[
21657   [
21658    [
21659     0.5024,
21660     -0.1107,
21661     1.55
21662    ],
21663    [
21664     0.6606,
21665     -0.1455,
21666     2.038
21667    ]
21668   ],
21669   {
21670    "attributes":{}
21671   }
21672  ],
21673  "inner-outer-345":[
21674   [
21675    [
21676     -1.0173,
21677     -0.1793,
21678     -1.2515
21679    ],
21680    [
21681     -1.3376,
21682     -0.2357,
21683     -1.6454
21684    ]
21685   ],
21686   {
21687    "attributes":{}
21688   }
21689  ],
21690  "inner-outer-346":[
21691   [
21692    [
21693     0.2757,
21694     -0.6116,
21695     -1.4816
21696    ],
21697    [
21698     0.3625,
21699     -0.8042,
21700     -1.948
21701    ]
21702   ],
21703   {
21704    "attributes":{}
21705   }
21706  ],
21707  "inner-outer-347":[
21708   [
21709    [
21710     1.4308,
21711     -0.6142,
21712     0.4383
21713    ],
21714    [
21715     1.8812,
21716     -0.8076,
21717     0.5762
21718    ]
21719   ],
21720   {
21721    "attributes":{}
21722   }
21723  ],
21724  "inner-outer-348":[
21725   [
21726    [
21727     -1.137,
21728     -0.2553,
21729     -1.1225
21730    ],
21731    [
21732     -1.495,
21733     -0.3357,
21734     -1.4759
21735    ]
21736   ],
21737   {
21738    "attributes":{}
21739   }
21740  ],
21741  "inner-outer-349":[
21742   [
21743    [
21744     -0.7598,
21745     0.2454,
21746     -1.4159
21747    ],
21748    [
21749     -0.999,
21750     0.3227,
21751     -1.8616
21752    ]
21753   ],
21754   {
21755    "attributes":{}
21756   }
21757  ],
21758  "inner-outer-350":[
21759   [
21760    [
21761     -0.8316,
21762     1.3711,
21763     0.1809
21764    ],
21765    [
21766     -1.0934,
21767     1.8027,
21768     0.2379
21769    ]
21770   ],
21771   {
21772    "attributes":{}
21773   }
21774  ],
21775  "inner-outer-351":[
21776   [
21777    [
21778     1.5189,
21779     -0.2586,
21780     0.4989
21781    ],
21782    [
21783     1.997,
21784     -0.34,
21785     0.6559
21786    ]
21787   ],
21788   {
21789    "attributes":{}
21790   }
21791  ],
21792  "inner-outer-352":[
21793   [
21794    [
21795     -0.32,
21796     0.0079,
21797     1.5816
21798    ],
21799    [
21800     -0.4208,
21801     0.0104,
21802     2.0795
21803    ]
21804   ],
21805   {
21806    "attributes":{}
21807   }
21808  ],
21809  "inner-outer-353":[
21810   [
21811    [
21812     -0.6625,
21813     -0.7017,
21814     -1.2981
21815    ],
21816    [
21817     -0.871,
21818     -0.9227,
21819     -1.7068
21820    ]
21821   ],
21822   {
21823    "attributes":{}
21824   }
21825  ],
21826  "inner-outer-354":[
21827   [
21828    [
21829     -1.4277,
21830     -0.2112,
21831     -0.7608
21832    ],
21833    [
21834     -1.8771,
21835     -0.2777,
21836     -1.0003
21837    ]
21838   ],
21839   {
21840    "attributes":{}
21841   }
21842  ],
21843  "inner-outer-355":[
21844   [
21845    [
21846     -1.1562,
21847     -0.737,
21848     -0.895
21849    ],
21850    [
21851     -1.5201,
21852     -0.9691,
21853     -1.1767
21854    ]
21855   ],
21856   {
21857    "attributes":{}
21858   }
21859  ],
21860  "inner-outer-356":[
21861   [
21862    [
21863     1.4772,
21864     -0.5734,
21865     -0.3767
21866    ],
21867    [
21868     1.9422,
21869     -0.7539,
21870     -0.4953
21871    ]
21872   ],
21873   {
21874    "attributes":{}
21875   }
21876  ],
21877  "inner-outer-357":[
21878   [
21879    [
21880     1.5119,
21881     0.5067,
21882     -0.2513
21883    ],
21884    [
21885     1.9878,
21886     0.6662,
21887     -0.3304
21888    ]
21889   ],
21890   {
21891    "attributes":{}
21892   }
21893  ],
21894  "inner-outer-358":[
21895   [
21896    [
21897     1.4124,
21898     0.0488,
21899     0.8245
21900    ],
21901    [
21902     1.857,
21903     0.0641,
21904     1.0841
21905    ]
21906   ],
21907   {
21908    "attributes":{}
21909   }
21910  ],
21911  "inner-outer-359":[
21912   [
21913    [
21914     1.265,
21915     0.3409,
21916     0.9428
21917    ],
21918    [
21919     1.6633,
21920     0.4482,
21921     1.2396
21922    ]
21923   ],
21924   {
21925    "attributes":{}
21926   }
21927  ],
21928  "inner-outer-360":[
21929   [
21930    [
21931     0.6764,
21932     1.0856,
21933     -0.9823
21934    ],
21935    [
21936     0.8894,
21937     1.4274,
21938     -1.2916
21939    ]
21940   ],
21941   {
21942    "attributes":{}
21943   }
21944  ],
21945  "inner-outer-361":[
21946   [
21947    [
21948     -1.0557,
21949     0.4333,
21950     -1.1683
21951    ],
21952    [
21953     -1.3881,
21954     0.5697,
21955     -1.5361
21956    ]
21957   ],
21958   {
21959    "attributes":{}
21960   }
21961  ],
21962  "inner-outer-362":[
21963   [
21964    [
21965     0.1539,
21966     -1.407,
21967     -0.7971
21968    ],
21969    [
21970     0.2024,
21971     -1.8499,
21972     -1.048
21973    ]
21974   ],
21975   {
21976    "attributes":{}
21977   }
21978  ],
21979  "inner-outer-363":[
21980   [
21981    [
21982     0.2754,
21983     -0.0628,
21984     1.5964
21985    ],
21986    [
21987     0.3621,
21988     -0.0826,
21989     2.099
21990    ]
21991   ],
21992   {
21993    "attributes":{}
21994   }
21995  ],
21996  "inner-outer-364":[
21997   [
21998    [
21999     1.2302,
22000     0.3855,
22001     0.9663
22002    ],
22003    [
22004     1.6175,
22005     0.5068,
22006     1.2705
22007    ]
22008   ],
22009   {
22010    "attributes":{}
22011   }
22012  ],
22013  "inner-outer-365":[
22014   [
22015    [
22016     1.4718,
22017     0.2929,
22018     -0.6084
22019    ],
22020    [
22021     1.9351,
22022     0.3851,
22023     -0.7999
22024    ]
22025   ],
22026   {
22027    "attributes":{}
22028   }
22029  ],
22030  "inner-outer-366":[
22031   [
22032    [
22033     -1.5728,
22034     0.3561,
22035     0.14
22036    ],
22037    [
22038     -2.0679,
22039     0.4682,
22040     0.184
22041    ]
22042   ],
22043   {
22044    "attributes":{}
22045   }
22046  ],
22047  "inner-outer-367":[
22048   [
22049    [
22050     0.2628,
22051     -1.5732,
22052     -0.2703
22053    ],
22054    [
22055     0.3455,
22056     -2.0684,
22057     -0.3554
22058    ]
22059   ],
22060   {
22061    "attributes":{}
22062   }
22063  ],
22064  "inner-outer-368":[
22065   [
22066    [
22067     -0.1579,
22068     0.8338,
22069     1.3769
22070    ],
22071    [
22072     -0.2076,
22073     1.0963,
22074     1.8104
22075    ]
22076   ],
22077   {
22078    "attributes":{}
22079   }
22080  ],
22081  "inner-outer-369":[
22082   [
22083    [
22084     0.5103,
22085     1.0389,
22086     -1.1208
22087    ],
22088    [
22089     0.6709,
22090     1.366,
22091     -1.4736
22092    ]
22093   ],
22094   {
22095    "attributes":{}
22096   }
22097  ],
22098  "inner-outer-370":[
22099   [
22100    [
22101     -0.5682,
22102     -0.9251,
22103     1.2109
22104    ],
22105    [
22106     -0.7471,
22107     -1.2163,
22108     1.5921
22109    ]
22110   ],
22111   {
22112    "attributes":{}
22113   }
22114  ],
22115  "inner-outer-371":[
22116   [
22117    [
22118     1.1639,
22119     -0.4207,
22120     1.0483
22121    ],
22122    [
22123     1.5304,
22124     -0.5531,
22125     1.3783
22126    ]
22127   ],
22128   {
22129    "attributes":{}
22130   }
22131  ],
22132  "inner-outer-372":[
22133   [
22134    [
22135     -1.0118,
22136     0.4775,
22137     -1.1766
22138    ],
22139    [
22140     -1.3304,
22141     0.6278,
22142     -1.5471
22143    ]
22144   ],
22145   {
22146    "attributes":{}
22147   }
22148  ],
22149  "inner-outer-373":[
22150   [
22151    [
22152     0.0279,
22153     1.2594,
22154     1.0024
22155    ],
22156    [
22157     0.0367,
22158     1.6558,
22159     1.3179
22160    ]
22161   ],
22162   {
22163    "attributes":{}
22164   }
22165  ],
22166  "inner-outer-374":[
22167   [
22168    [
22169     1.1852,
22170     0.5932,
22171     0.9404
22172    ],
22173    [
22174     1.5583,
22175     0.78,
22176     1.2364
22177    ]
22178   ],
22179   {
22180    "attributes":{}
22181   }
22182  ],
22183  "inner-outer-375":[
22184   [
22185    [
22186     1.2906,
22187     -0.2872,
22188     0.9248
22189    ],
22190    [
22191     1.697,
22192     -0.3776,
22193     1.2159
22194    ]
22195   ],
22196   {
22197    "attributes":{}
22198   }
22199  ],
22200  "inner-outer-376":[
22201   [
22202    [
22203     0.2504,
22204     1.0229,
22205     -1.2237
22206    ],
22207    [
22208     0.3292,
22209     1.3449,
22210     -1.609
22211    ]
22212   ],
22213   {
22214    "attributes":{}
22215   }
22216  ],
22217  "inner-outer-377":[
22218   [
22219    [
22220     0.8158,
22221     1.2525,
22222     -0.6036
22223    ],
22224    [
22225     1.0726,
22226     1.6468,
22227     -0.7936
22228    ]
22229   ],
22230   {
22231    "attributes":{}
22232   }
22233  ],
22234  "inner-outer-378":[
22235   [
22236    [
22237     -0.7018,
22238     -1.4255,
22239     -0.3722
22240    ],
22241    [
22242     -0.9228,
22243     -1.8743,
22244     -0.4893
22245    ]
22246   ],
22247   {
22248    "attributes":{}
22249   }
22250  ],
22251  "inner-outer-379":[
22252   [
22253    [
22254     -0.8158,
22255     0.8007,
22256     -1.1361
22257    ],
22258    [
22259     -1.0727,
22260     1.0528,
22261     -1.4937
22262    ]
22263   ],
22264   {
22265    "attributes":{}
22266   }
22267  ],
22268  "inner-outer-380":[
22269   [
22270    [
22271     -0.84,
22272     -0.1565,
22273     -1.3799
22274    ],
22275    [
22276     -1.1045,
22277     -0.2057,
22278     -1.8143
22279    ]
22280   ],
22281   {
22282    "attributes":{}
22283   }
22284  ],
22285  "inner-outer-381":[
22286   [
22287    [
22288     0.2396,
22289     -0.8082,
22290     1.3715
22291    ],
22292    [
22293     0.315,
22294     -1.0626,
22295     1.8033
22296    ]
22297   ],
22298   {
22299    "attributes":{}
22300   }
22301  ],
22302  "inner-outer-382":[
22303   [
22304    [
22305     -0.0897,
22306     -0.7113,
22307     -1.4408
22308    ],
22309    [
22310     -0.1179,
22311     -0.9353,
22312     -1.8944
22313    ]
22314   ],
22315   {
22316    "attributes":{}
22317   }
22318  ],
22319  "inner-outer-383":[
22320   [
22321    [
22322     -1.0903,
22323     -1.0225,
22324     0.5999
22325    ],
22326    [
22327     -1.4335,
22328     -1.3444,
22329     0.7888
22330    ]
22331   ],
22332   {
22333    "attributes":{}
22334   }
22335  ],
22336  "inner-outer-384":[
22337   [
22338    [
22339     -1.068,
22340     0.0546,
22341     -1.2051
22342    ],
22343    [
22344     -1.4042,
22345     0.0718,
22346     -1.5844
22347    ]
22348   ],
22349   {
22350    "attributes":{}
22351   }
22352  ],
22353  "inner-outer-385":[
22354   [
22355    [
22356     -0.0062,
22357     -0.4427,
22358     1.5689
22359    ],
22360    [
22361     -0.0082,
22362     -0.582,
22363     2.0629
22364    ]
22365   ],
22366   {
22367    "attributes":{}
22368   }
22369  ],
22370  "inner-outer-386":[
22371   [
22372    [
22373     1.5145,
22374     0.4192,
22375     -0.358
22376    ],
22377    [
22378     1.9913,
22379     0.5512,
22380     -0.4707
22381    ]
22382   ],
22383   {
22384    "attributes":{}
22385   }
22386  ],
22387  "inner-outer-387":[
22388   [
22389    [
22390     1.3242,
22391     -0.4178,
22392     0.8545
22393    ],
22394    [
22395     1.7411,
22396     -0.5493,
22397     1.1235
22398    ]
22399   ],
22400   {
22401    "attributes":{}
22402   }
22403  ],
22404  "inner-outer-388":[
22405   [
22406    [
22407     0.4342,
22408     -0.7612,
22409     1.3692
22410    ],
22411    [
22412     0.5709,
22413     -1.0009,
22414     1.8002
22415    ]
22416   ],
22417   {
22418    "attributes":{}
22419   }
22420  ],
22421  "inner-outer-389":[
22422   [
22423    [
22424     1.2959,
22425     0.4082,
22426     0.882
22427    ],
22428    [
22429     1.7039,
22430     0.5367,
22431     1.1597
22432    ]
22433   ],
22434   {
22435    "attributes":{}
22436   }
22437  ],
22438  "inner-outer-390":[
22439   [
22440    [
22441     0.0969,
22442     -0.7839,
22443     -1.4091
22444    ],
22445    [
22446     0.1275,
22447     -1.0307,
22448     -1.8526
22449    ]
22450   ],
22451   {
22452    "attributes":{}
22453   }
22454  ],
22455  "inner-outer-391":[
22456   [
22457    [
22458     -0.4055,
22459     -1.2784,
22460     0.9129
22461    ],
22462    [
22463     -0.5332,
22464     -1.6809,
22465     1.2003
22466    ]
22467   ],
22468   {
22469    "attributes":{}
22470   }
22471  ],
22472  "inner-outer-392":[
22473   [
22474    [
22475     0.2395,
22476     1.5591,
22477     -0.403
22478    ],
22479    [
22480     0.3149,
22481     2.0499,
22482     -0.5298
22483    ]
22484   ],
22485   {
22486    "attributes":{}
22487   }
22488  ],
22489  "inner-outer-393":[
22490   [
22491    [
22492     -0.0883,
22493     0.0917,
22494     -1.6233
22495    ],
22496    [
22497     -0.1161,
22498     0.1206,
22499     -2.1344
22500    ]
22501   ],
22502   {
22503    "attributes":{}
22504   }
22505  ],
22506  "inner-outer-394":[
22507   [
22508    [
22509     -0.8014,
22510     -0.9599,
22511     -1.0245
22512    ],
22513    [
22514     -1.0536,
22515     -1.2621,
22516     -1.3471
22517    ]
22518   ],
22519   {
22520    "attributes":{}
22521   }
22522  ],
22523  "inner-outer-395":[
22524   [
22525    [
22526     0.3784,
22527     -0.8238,
22528     1.3395
22529    ],
22530    [
22531     0.4975,
22532     -1.0831,
22533     1.7612
22534    ]
22535   ],
22536   {
22537    "attributes":{}
22538   }
22539  ],
22540  "inner-outer-396":[
22541   [
22542    [
22543     -1.5923,
22544     0.2919,
22545     -0.0528
22546    ],
22547    [
22548     -2.0936,
22549     0.3838,
22550     -0.0694
22551    ]
22552   ],
22553   {
22554    "attributes":{}
22555   }
22556  ],
22557  "inner-outer-397":[
22558   [
22559    [
22560     0.4333,
22561     -1.1299,
22562     -1.0618
22563    ],
22564    [
22565     0.5698,
22566     -1.4857,
22567     -1.3961
22568    ]
22569   ],
22570   {
22571    "attributes":{}
22572   }
22573  ],
22574  "inner-outer-398":[
22575   [
22576    [
22577     -1.0071,
22578     -0.1369,
22579     1.2623
22580    ],
22581    [
22582     -1.3242,
22583     -0.1799,
22584     1.6597
22585    ]
22586   ],
22587   {
22588    "attributes":{}
22589   }
22590  ],
22591  "inner-outer-399":[
22592   [
22593    [
22594     0.1394,
22595     1.515,
22596     -0.5697
22597    ],
22598    [
22599     0.1833,
22600     1.9919,
22601     -0.7491
22602    ]
22603   ],
22604   {
22605    "attributes":{}
22606   }
22607  ],
22608  "inner-outer-400":[
22609   [
22610    [
22611     -0.7416,
22612     -1.1457,
22613     -0.8749
22614    ],
22615    [
22616     -0.9751,
22617     -1.5063,
22618     -1.1503
22619    ]
22620   ],
22621   {
22622    "attributes":{}
22623   }
22624  ],
22625  "inner-outer-401":[
22626   [
22627    [
22628     -0.7062,
22629     -1.1727,
22630     -0.8636
22631    ],
22632    [
22633     -0.9286,
22634     -1.5419,
22635     -1.1355
22636    ]
22637   ],
22638   {
22639    "attributes":{}
22640   }
22641  ],
22642  "inner-outer-402":[
22643   [
22644    [
22645     -1.3925,
22646     0.5643,
22647     0.5904
22648    ],
22649    [
22650     -1.8309,
22651     0.7419,
22652     0.7762
22653    ]
22654   ],
22655   {
22656    "attributes":{}
22657   }
22658  ],
22659  "inner-outer-403":[
22660   [
22661    [
22662     1.2041,
22663     0.0795,
22664     1.0632
22665    ],
22666    [
22667     1.5832,
22668     0.1045,
22669     1.3979
22670    ]
22671   ],
22672   {
22673    "attributes":{}
22674   }
22675  ],
22676  "inner-outer-404":[
22677   [
22678    [
22679     0.711,
22680     -0.3113,
22681     1.4199
22682    ],
22683    [
22684     0.9348,
22685     -0.4093,
22686     1.8669
22687    ]
22688   ],
22689   {
22690    "attributes":{}
22691   }
22692  ],
22693  "inner-outer-405":[
22694   [
22695    [
22696     1.0318,
22697     0.8513,
22698     -0.9294
22699    ],
22700    [
22701     1.3567,
22702     1.1194,
22703     -1.2219
22704    ]
22705   ],
22706   {
22707    "attributes":{}
22708   }
22709  ],
22710  "inner-outer-406":[
22711   [
22712    [
22713     -0.9022,
22714     -1.2148,
22715     -0.5932
22716    ],
22717    [
22718     -1.1863,
22719     -1.5973,
22720     -0.78
22721    ]
22722   ],
22723   {
22724    "attributes":{}
22725   }
22726  ],
22727  "inner-outer-407":[
22728   [
22729    [
22730     -0.9364,
22731     -0.782,
22732     -1.0535
22733    ],
22734    [
22735     -1.2312,
22736     -1.0282,
22737     -1.3851
22738    ]
22739   ],
22740   {
22741    "attributes":{}
22742   }
22743  ],
22744  "inner-outer-408":[
22745   [
22746    [
22747     0.6687,
22748     -0.3715,
22749     1.4219
22750    ],
22751    [
22752     0.8792,
22753     -0.4884,
22754     1.8696
22755    ]
22756   ],
22757   {
22758    "attributes":{}
22759   }
22760  ],
22761  "inner-outer-409":[
22762   [
22763    [
22764     -0.1809,
22765     -0.2058,
22766     1.5895
22767    ],
22768    [
22769     -0.2379,
22770     -0.2706,
22771     2.0898
22772    ]
22773   ],
22774   {
22775    "attributes":{}
22776   }
22777  ],
22778  "inner-outer-410":[
22779   [
22780    [
22781     -0.8462,
22782     -0.0343,
22783     -1.3714
22784    ],
22785    [
22786     -1.1126,
22787     -0.0451,
22788     -1.8031
22789    ]
22790   ],
22791   {
22792    "attributes":{}
22793   }
22794  ],
22795  "inner-outer-411":[
22796   [
22797    [
22798     -0.0321,
22799     -0.834,
22800     1.3889
22801    ],
22802    [
22803     -0.0422,
22804     -1.0966,
22805     1.8262
22806    ]
22807   ],
22808   {
22809    "attributes":{}
22810   }
22811  ],
22812  "inner-outer-412":[
22813   [
22814    [
22815     0.7347,
22816     -1.1363,
22817     -0.8902
22818    ],
22819    [
22820     0.966,
22821     -1.494,
22822     -1.1705
22823    ]
22824   ],
22825   {
22826    "attributes":{}
22827   }
22828  ],
22829  "inner-outer-413":[
22830   [
22831    [
22832     0.6402,
22833     -0.3436,
22834     -1.4392
22835    ],
22836    [
22837     0.8418,
22838     -0.4518,
22839     -1.8923
22840    ]
22841   ],
22842   {
22843    "attributes":{}
22844   }
22845  ],
22846  "inner-outer-414":[
22847   [
22848    [
22849     0.8214,
22850     -0.935,
22851     1.0268
22852    ],
22853    [
22854     1.0799,
22855     -1.2294,
22856     1.35
22857    ]
22858   ],
22859   {
22860    "attributes":{}
22861   }
22862  ],
22863  "inner-outer-415":[
22864   [
22865    [
22866     1.0101,
22867     -0.6304,
22868     -1.0797
22869    ],
22870    [
22871     1.3281,
22872     -0.8289,
22873     -1.4196
22874    ]
22875   ],
22876   {
22877    "attributes":{}
22878   }
22879  ],
22880  "inner-outer-416":[
22881   [
22882    [
22883     -0.4922,
22884     1.2236,
22885     0.9304
22886    ],
22887    [
22888     -0.6472,
22889     1.6089,
22890     1.2233
22891    ]
22892   ],
22893   {
22894    "attributes":{}
22895   }
22896  ],
22897  "inner-outer-417":[
22898   [
22899    [
22900     0.5904,
22901     0.8707,
22902     -1.2545
22903    ],
22904    [
22905     0.7762,
22906     1.1449,
22907     -1.6494
22908    ]
22909   ],
22910   {
22911    "attributes":{}
22912   }
22913  ],
22914  "inner-outer-418":[
22915   [
22916    [
22917     0.5336,
22918     1.1465,
22919     -1.0093
22920    ],
22921    [
22922     0.7015,
22923     1.5075,
22924     -1.327
22925    ]
22926   ],
22927   {
22928    "attributes":{}
22929   }
22930  ],
22931  "inner-outer-419":[
22932   [
22933    [
22934     -0.8537,
22935     -1.072,
22936     0.8694
22937    ],
22938    [
22939     -1.1224,
22940     -1.4095,
22941     1.1431
22942    ]
22943   ],
22944   {
22945    "attributes":{}
22946   }
22947  ],
22948  "inner-outer-420":[
22949   [
22950    [
22951     -0.3027,
22952     0.0124,
22953     1.5851
22954    ],
22955    [
22956     -0.398,
22957     0.0164,
22958     2.0841
22959    ]
22960   ],
22961   {
22962    "attributes":{}
22963   }
22964  ],
22965  "inner-outer-421":[
22966   [
22967    [
22968     0.6865,
22969     -0.6986,
22970     1.2998
22971    ],
22972    [
22973     0.9026,
22974     -0.9185,
22975     1.709
22976    ]
22977   ],
22978   {
22979    "attributes":{}
22980   }
22981  ],
22982  "inner-outer-422":[
22983   [
22984    [
22985     -0.3125,
22986     1.0854,
22987     -1.1426
22988    ],
22989    [
22990     -0.4109,
22991     1.4271,
22992     -1.5023
22993    ]
22994   ],
22995   {
22996    "attributes":{}
22997   }
22998  ],
22999  "inner-outer-423":[
23000   [
23001    [
23002     0.211,
23003     -1.2721,
23004     0.9642
23005    ],
23006    [
23007     0.2774,
23008     -1.6725,
23009     1.2678
23010    ]
23011   ],
23012   {
23013    "attributes":{}
23014   }
23015  ],
23016  "inner-outer-424":[
23017   [
23018    [
23019     0.3993,
23020     -0.7656,
23021     -1.3613
23022    ],
23023    [
23024     0.525,
23025     -1.0066,
23026     -1.7898
23027    ]
23028   ],
23029   {
23030    "attributes":{}
23031   }
23032  ],
23033  "inner-outer-425":[
23034   [
23035    [
23036     -1.1221,
23037     0.7581,
23038     0.9078
23039    ],
23040    [
23041     -1.4753,
23042     0.9967,
23043     1.1935
23044    ]
23045   ],
23046   {
23047    "attributes":{}
23048   }
23049  ],
23050  "inner-outer-426":[
23051   [
23052    [
23053     -0.1102,
23054     -0.7342,
23055     1.438
23056    ],
23057    [
23058     -0.1449,
23059     -0.9653,
23060     1.8908
23061    ]
23062   ],
23063   {
23064    "attributes":{}
23065   }
23066  ],
23067  "inner-outer-427":[
23068   [
23069    [
23070     0.2947,
23071     -0.4542,
23072     1.5156
23073    ],
23074    [
23075     0.3874,
23076     -0.5972,
23077     1.9927
23078    ]
23079   ],
23080   {
23081    "attributes":{}
23082   }
23083  ],
23084  "inner-outer-428":[
23085   [
23086    [
23087     0.1304,
23088     1.0918,
23089     -1.1977
23090    ],
23091    [
23092     0.1715,
23093     1.4356,
23094     -1.5748
23095    ]
23096   ],
23097   {
23098    "attributes":{}
23099   }
23100  ],
23101  "inner-outer-429":[
23102   [
23103    [
23104     -0.2575,
23105     -0.389,
23106     -1.5626
23107    ],
23108    [
23109     -0.3385,
23110     -0.5115,
23111     -2.0546
23112    ]
23113   ],
23114   {
23115    "attributes":{}
23116   }
23117  ],
23118  "inner-outer-430":[
23119   [
23120    [
23121     0.6502,
23122     1.0553,
23123     -1.0308
23124    ],
23125    [
23126     0.8549,
23127     1.3875,
23128     -1.3553
23129    ]
23130   ],
23131   {
23132    "attributes":{}
23133   }
23134  ],
23135  "inner-outer-431":[
23136   [
23137    [
23138     0.6507,
23139     -1.0023,
23140     1.0825
23141    ],
23142    [
23143     0.8555,
23144     -1.3178,
23145     1.4232
23146    ]
23147   ],
23148   {
23149    "attributes":{}
23150   }
23151  ],
23152  "inner-outer-432":[
23153   [
23154    [
23155     0.8139,
23156     -0.7223,
23157     1.1861
23158    ],
23159    [
23160     1.0702,
23161     -0.9496,
23162     1.5595
23163    ]
23164   ],
23165   {
23166    "attributes":{}
23167   }
23168  ],
23169  "inner-outer-433":[
23170   [
23171    [
23172     0.7726,
23173     0.0407,
23174     -1.4155
23175    ],
23176    [
23177     1.0158,
23178     0.0536,
23179     -1.8611
23180    ]
23181   ],
23182   {
23183    "attributes":{}
23184   }
23185  ],
23186  "inner-outer-434":[
23187   [
23188    [
23189     -0.8954,
23190     -0.9492,
23191     0.9601
23192    ],
23193    [
23194     -1.1773,
23195     -1.248,
23196     1.2623
23197    ]
23198   ],
23199   {
23200    "attributes":{}
23201   }
23202  ],
23203  "inner-outer-435":[
23204   [
23205    [
23206     -0.7287,
23207     -0.1031,
23208     1.441
23209    ],
23210    [
23211     -0.9582,
23212     -0.1355,
23213     1.8947
23214    ]
23215   ],
23216   {
23217    "attributes":{}
23218   }
23219  ],
23220  "inner-outer-436":[
23221   [
23222    [
23223     1.1897,
23224     0.522,
23225     -0.9551
23226    ],
23227    [
23228     1.5642,
23229     0.6864,
23230     -1.2558
23231    ]
23232   ],
23233   {
23234    "attributes":{}
23235   }
23236  ],
23237  "inner-outer-437":[
23238   [
23239    [
23240     0.8196,
23241     -0.8263,
23242     1.1172
23243    ],
23244    [
23245     1.0776,
23246     -1.0865,
23247     1.4689
23248    ]
23249   ],
23250   {
23251    "attributes":{}
23252   }
23253  ],
23254  "inner-outer-438":[
23255   [
23256    [
23257     -0.437,
23258     -0.8359,
23259     1.3226
23260    ],
23261    [
23262     -0.5746,
23263     -1.0991,
23264     1.7389
23265    ]
23266   ],
23267   {
23268    "attributes":{}
23269   }
23270  ],
23271  "inner-outer-439":[
23272   [
23273    [
23274     0.4709,
23275     -0.7889,
23276     -1.3307
23277    ],
23278    [
23279     0.6192,
23280     -1.0372,
23281     -1.7496
23282    ]
23283   ],
23284   {
23285    "attributes":{}
23286   }
23287  ],
23288  "inner-outer-440":[
23289   [
23290    [
23291     0.0413,
23292     -1.4732,
23293     0.7267
23294    ],
23295    [
23296     0.0543,
23297     -1.937,
23298     0.9555
23299    ]
23300   ],
23301   {
23302    "attributes":{}
23303   }
23304  ],
23305  "inner-outer-441":[
23306   [
23307    [
23308     0.4799,
23309     -0.8493,
23310     -1.2927
23311    ],
23312    [
23313     0.6309,
23314     -1.1166,
23315     -1.6997
23316    ]
23317   ],
23318   {
23319    "attributes":{}
23320   }
23321  ],
23322  "inner-outer-442":[
23323   [
23324    [
23325     -1.3888,
23326     -0.3338,
23327     0.7856
23328    ],
23329    [
23330     -1.826,
23331     -0.4389,
23332     1.033
23333    ]
23334   ],
23335   {
23336    "attributes":{}
23337   }
23338  ],
23339  "inner-outer-443":[
23340   [
23341    [
23342     0.4511,
23343     -0.5513,
23344     1.4409
23345    ],
23346    [
23347     0.5931,
23348     -0.7248,
23349     1.8945
23350    ]
23351   ],
23352   {
23353    "attributes":{}
23354   }
23355  ],
23356  "inner-outer-444":[
23357   [
23358    [
23359     1.0487,
23360     0.3858,
23361     -1.2034
23362    ],
23363    [
23364     1.3788,
23365     0.5072,
23366     -1.5823
23367    ]
23368   ],
23369   {
23370    "attributes":{}
23371   }
23372  ],
23373  "inner-outer-445":[
23374   [
23375    [
23376     1.3031,
23377     -0.1519,
23378     -0.9605
23379    ],
23380    [
23381     1.7133,
23382     -0.1997,
23383     -1.2629
23384    ]
23385   ],
23386   {
23387    "attributes":{}
23388   }
23389  ],
23390  "inner-outer-446":[
23391   [
23392    [
23393     1.2255,
23394     -0.1987,
23395     -1.0386
23396    ],
23397    [
23398     1.6113,
23399     -0.2612,
23400     -1.3656
23401    ]
23402   ],
23403   {
23404    "attributes":{}
23405   }
23406  ],
23407  "inner-outer-447":[
23408   [
23409    [
23410     1.0085,
23411     -0.6527,
23412     1.0711
23413    ],
23414    [
23415     1.326,
23416     -0.8581,
23417     1.4083
23418    ]
23419   ],
23420   {
23421    "attributes":{}
23422   }
23423  ],
23424  "inner-outer-448":[
23425   [
23426    [
23427     -0.5092,
23428     -1.2631,
23429     0.9052
23430    ],
23431    [
23432     -0.6695,
23433     -1.6607,
23434     1.1901
23435    ]
23436   ],
23437   {
23438    "attributes":{}
23439   }
23440  ],
23441  "inner-outer-449":[
23442   [
23443    [
23444     -0.1611,
23445     -0.4322,
23446     1.5499
23447    ],
23448    [
23449     -0.2118,
23450     -0.5683,
23451     2.0378
23452    ]
23453   ],
23454   {
23455    "attributes":{}
23456   }
23457  ],
23458  "inner-outer-450":[
23459   [
23460    [
23461     0.1372,
23462     0.6392,
23463     -1.4905
23464    ],
23465    [
23466     0.1804,
23467     0.8404,
23468     -1.9598
23469    ]
23470   ],
23471   {
23472    "attributes":{}
23473   }
23474  ],
23475  "inner-outer-451":[
23476   [
23477    [
23478     0.755,
23479     0.2129,
23480     -1.4201
23481    ],
23482    [
23483     0.9927,
23484     0.28,
23485     -1.8672
23486    ]
23487   ],
23488   {
23489    "attributes":{}
23490   }
23491  ],
23492  "inner-outer-452":[
23493   [
23494    [
23495     -0.6529,
23496     -0.398,
23497     1.4213
23498    ],
23499    [
23500     -0.8585,
23501     -0.5234,
23502     1.8687
23503    ]
23504   ],
23505   {
23506    "attributes":{}
23507   }
23508  ],
23509  "inner-outer-453":[
23510   [
23511    [
23512     0.1704,
23513     0.6192,
23514     -1.4891
23515    ],
23516    [
23517     0.2241,
23518     0.8141,
23519     -1.9579
23520    ]
23521   ],
23522   {
23523    "attributes":{}
23524   }
23525  ],
23526  "inner-outer-454":[
23527   [
23528    [
23529     1.2494,
23530     0.2375,
23531     -0.9892
23532    ],
23533    [
23534     1.6427,
23535     0.3122,
23536     -1.3007
23537    ]
23538   ],
23539   {
23540    "attributes":{}
23541   }
23542  ],
23543  "inner-outer-455":[
23544   [
23545    [
23546     0.9983,
23547     -1.2729,
23548     0.1841
23549    ],
23550    [
23551     1.3126,
23552     -1.6737,
23553     0.2421
23554    ]
23555   ],
23556   {
23557    "attributes":{}
23558   }
23559  ],
23560  "inner-outer-456":[
23561   [
23562    [
23563     0.6328,
23564     0.9511,
23565     -1.1454
23566    ],
23567    [
23568     0.832,
23569     1.2505,
23570     -1.506
23571    ]
23572   ],
23573   {
23574    "attributes":{}
23575   }
23576  ],
23577  "inner-outer-457":[
23578   [
23579    [
23580     -0.5412,
23581     0.5412,
23582     1.4231
23583    ],
23584    [
23585     -0.7116,
23586     0.7116,
23587     1.8711
23588    ]
23589   ],
23590   {
23591    "attributes":{}
23592   }
23593  ],
23594  "inner-outer-458":[
23595   [
23596    [
23597     1.1991,
23598     0.6907,
23599     -0.8396
23600    ],
23601    [
23602     1.5766,
23603     0.9082,
23604     -1.1039
23605    ]
23606   ],
23607   {
23608    "attributes":{}
23609   }
23610  ],
23611  "inner-outer-459":[
23612   [
23613    [
23614     -1.0355,
23615     -0.2228,
23616     1.2409
23617    ],
23618    [
23619     -1.3615,
23620     -0.293,
23621     1.6316
23622    ]
23623   ],
23624   {
23625    "attributes":{}
23626   }
23627  ],
23628  "inner-outer-460":[
23629   [
23630    [
23631     -1.2119,
23632     -0.6178,
23633     0.8695
23634    ],
23635    [
23636     -1.5934,
23637     -0.8123,
23638     1.1432
23639    ]
23640   ],
23641   {
23642    "attributes":{}
23643   }
23644  ],
23645  "inner-outer-461":[
23646   [
23647    [
23648     -0.7558,
23649     0.8434,
23650     1.1692
23651    ],
23652    [
23653     -0.9937,
23654     1.1089,
23655     1.5373
23656    ]
23657   ],
23658   {
23659    "attributes":{}
23660   }
23661  ],
23662  "inner-outer-462":[
23663   [
23664    [
23665     -0.8561,
23666     -0.0466,
23667     1.362
23668    ],
23669    [
23670     -1.1256,
23671     -0.0613,
23672     1.7908
23673    ]
23674   ],
23675   {
23676    "attributes":{}
23677   }
23678  ],
23679  "inner-outer-463":[
23680   [
23681    [
23682     0.1745,
23683     1.3932,
23684     -0.8123
23685    ],
23686    [
23687     0.2294,
23688     1.8318,
23689     -1.068
23690    ]
23691   ],
23692   {
23693    "attributes":{}
23694   }
23695  ],
23696  "inner-outer-464":[
23697   [
23698    [
23699     -0.8727,
23700     0.359,
23701     1.3333
23702    ],
23703    [
23704     -1.1475,
23705     0.472,
23706     1.7531
23707    ]
23708   ],
23709   {
23710    "attributes":{}
23711   }
23712  ],
23713  "inner-outer-465":[
23714   [
23715    [
23716     -0.1094,
23717     -1.2202,
23718     1.0551
23719    ],
23720    [
23721     -0.1439,
23722     -1.6044,
23723     1.3873
23724    ]
23725   ],
23726   {
23727    "attributes":{}
23728   }
23729  ],
23730  "inner-outer-466":[
23731   [
23732    [
23733     -0.8183,
23734     -0.8384,
23735     1.1108
23736    ],
23737    [
23738     -1.0759,
23739     -1.1023,
23740     1.4605
23741    ]
23742   ],
23743   {
23744    "attributes":{}
23745   }
23746  ],
23747  "inner-outer-467":[
23748   [
23749    [
23750     -0.3213,
23751     -0.0083,
23752     1.5825
23753    ],
23754    [
23755     -0.4224,
23756     -0.0109,
23757     2.0807
23758    ]
23759   ],
23760   {
23761    "attributes":{}
23762   }
23763  ],
23764  "inner-outer-468":[
23765   [
23766    [
23767     0.6454,
23768     0.9468,
23769     -1.1406
23770    ],
23771    [
23772     0.8486,
23773     1.2449,
23774     -1.4997
23775    ]
23776   ],
23777   {
23778    "attributes":{}
23779   }
23780  ],
23781  "inner-outer-469":[
23782   [
23783    [
23784     0.0459,
23785     1.3998,
23786     -0.8321
23787    ],
23788    [
23789     0.0604,
23790     1.8405,
23791     -1.094
23792    ]
23793   ],
23794   {
23795    "attributes":{}
23796   }
23797  ],
23798  "inner-outer-470":[
23799   [
23800    [
23801     -1.0588,
23802     -1.2082,
23803     -0.1469
23804    ],
23805    [
23806     -1.3921,
23807     -1.5885,
23808     -0.1931
23809    ]
23810   ],
23811   {
23812    "attributes":{}
23813   }
23814  ],
23815  "inner-outer-471":[
23816   [
23817    [
23818     -1.0453,
23819     0.7879,
23820     0.9531
23821    ],
23822    [
23823     -1.3744,
23824     1.0359,
23825     1.2531
23826    ]
23827   ],
23828   {
23829    "attributes":{}
23830   }
23831  ],
23832  "inner-outer-472":[
23833   [
23834    [
23835     -0.7791,
23836     -0.1147,
23837     1.4085
23838    ],
23839    [
23840     -1.0244,
23841     -0.1508,
23842     1.8519
23843    ]
23844   ],
23845   {
23846    "attributes":{}
23847   }
23848  ],
23849  "inner-outer-473":[
23850   [
23851    [
23852     0.7956,
23853     0.9403,
23854     -1.04
23855    ],
23856    [
23857     1.046,
23858     1.2363,
23859     -1.3674
23860    ]
23861   ],
23862   {
23863    "attributes":{}
23864   }
23865  ],
23866  "inner-outer-474":[
23867   [
23868    [
23869     0.2918,
23870     1.2381,
23871     -0.9913
23872    ],
23873    [
23874     0.3837,
23875     1.6278,
23876     -1.3034
23877    ]
23878   ],
23879   {
23880    "attributes":{}
23881   }
23882  ],
23883  "inner-outer-475":[
23884   [
23885    [
23886     0.8534,
23887     0.9775,
23888     -0.9623
23889    ],
23890    [
23891     1.122,
23892     1.2852,
23893     -1.2653
23894    ]
23895   ],
23896   {
23897    "attributes":{}
23898   }
23899  ],
23900  "inner-outer-476":[
23901   [
23902    [
23903     0.1323,
23904     0.7226,
23905     -1.4416
23906    ],
23907    [
23908     0.174,
23909     0.9501,
23910     -1.8955
23911    ]
23912   ],
23913   {
23914    "attributes":{}
23915   }
23916  ],
23917  "inner-outer-477":[
23918   [
23919    [
23920     -0.4046,
23921     0.3762,
23922     1.5329
23923    ],
23924    [
23925     -0.532,
23926     0.4946,
23927     2.0155
23928    ]
23929   ],
23930   {
23931    "attributes":{}
23932   }
23933  ],
23934  "inner-outer-478":[
23935   [
23936    [
23937     -1.2339,
23938     -0.8937,
23939     0.5296
23940    ],
23941    [
23942     -1.6223,
23943     -1.1751,
23944     0.6963
23945    ]
23946   ],
23947   {
23948    "attributes":{}
23949   }
23950  ],
23951  "inner-outer-479":[
23952   [
23953    [
23954     0.8002,
23955     0.5249,
23956     -1.2984
23957    ],
23958    [
23959     1.0521,
23960     0.6901,
23961     -1.7072
23962    ]
23963   ],
23964   {
23965    "attributes":{}
23966   }
23967  ],
23968  "inner-outer-480":[
23969   [
23970    [
23971     0.8673,
23972     0.2967,
23973     -1.3408
23974    ],
23975    [
23976     1.1403,
23977     0.3901,
23978     -1.7629
23979    ]
23980   ],
23981   {
23982    "attributes":{}
23983   }
23984  ],
23985  "inner-outer-481":[
23986   [
23987    [
23988     0.033,
23989     0.6399,
23990     -1.5087
23991    ],
23992    [
23993     0.0435,
23994     0.8414,
23995     -1.9837
23996    ]
23997   ],
23998   {
23999    "attributes":{}
24000   }
24001  ],
24002  "inner-outer-482":[
24003   [
24004    [
24005     0.3556,
24006     0.8291,
24007     -1.3399
24008    ],
24009    [
24010     0.4675,
24011     1.0901,
24012     -1.7617
24013    ]
24014   ],
24015   {
24016    "attributes":{}
24017   }
24018  ],
24019  "inner-outer-483":[
24020   [
24021    [
24022     -1.1044,
24023     0.6643,
24024     0.9809
24025    ],
24026    [
24027     -1.4521,
24028     0.8735,
24029     1.2898
24030    ]
24031   ],
24032   {
24033    "attributes":{}
24034   }
24035  ],
24036  "inner-outer-484":[
24037   [
24038    [
24039     0.0245,
24040     1.0682,
24041     -1.2454
24042    ],
24043    [
24044     0.0322,
24045     1.4045,
24046     -1.6375
24047    ]
24048   ],
24049   {
24050    "attributes":{}
24051   }
24052  ],
24053  "inner-outer-485":[
24054   [
24055    [
24056     0.6727,
24057     0.2893,
24058     -1.448
24059    ],
24060    [
24061     0.8845,
24062     0.3803,
24063     -1.9039
24064    ]
24065   ],
24066   {
24067    "attributes":{}
24068   }
24069  ],
24070  "inner-outer-486":[
24071   [
24072    [
24073     -0.6408,
24074     0.2238,
24075     1.4552
24076    ],
24077    [
24078     -0.8426,
24079     0.2942,
24080     1.9133
24081    ]
24082   ],
24083   {
24084    "attributes":{}
24085   }
24086  ],
24087  "inner-outer-487":[
24088   [
24089    [
24090     -0.6187,
24091     0.0453,
24092     1.4885
24093    ],
24094    [
24095     -0.8135,
24096     0.0596,
24097     1.9571
24098    ]
24099   ],
24100   {
24101    "attributes":{}
24102   }
24103  ],
24104  "inner-outer-488":[
24105   [
24106    [
24107     -0.8472,
24108     0.5783,
24109     1.2467
24110    ],
24111    [
24112     -1.114,
24113     0.7604,
24114     1.6391
24115    ]
24116   ],
24117   {
24118    "attributes":{}
24119   }
24120  ],
24121  "inner-outer-489":[
24122   [
24123    [
24124     0.8888,
24125     0.4612,
24126     -1.2726
24127    ],
24128    [
24129     1.1686,
24130     0.6064,
24131     -1.6733
24132    ]
24133   ],
24134   {
24135    "attributes":{}
24136   }
24137  ],
24138  "inner-outer-490":[
24139   [
24140    [
24141     -1.1457,
24142     -0.1284,
24143     1.1274
24144    ],
24145    [
24146     -1.5064,
24147     -0.1688,
24148     1.4823
24149    ]
24150   ],
24151   {
24152    "attributes":{}
24153   }
24154  ],
24155  "inner-outer-491":[
24156   [
24157    [
24158     -1.0472,
24159     0.7014,
24160     1.0074
24161    ],
24162    [
24163     -1.3769,
24164     0.9222,
24165     1.3245
24166    ]
24167   ],
24168   {
24169    "attributes":{}
24170   }
24171  ],
24172  "inner-outer-492":[
24173   [
24174    [
24175     0.2448,
24176     0.7938,
24177     -1.3796
24178    ],
24179    [
24180     0.3219,
24181     1.0437,
24182     -1.8139
24183    ]
24184   ],
24185   {
24186    "attributes":{}
24187   }
24188  ],
24189  "inner-outer-493":[
24190   [
24191    [
24192     -1.1812,
24193     0.0983,
24194     1.0861
24195    ],
24196    [
24197     -1.5531,
24198     0.1293,
24199     1.428
24200    ]
24201   ],
24202   {
24203    "attributes":{}
24204   }
24205  ],
24206  "inner-outer-494":[
24207   [
24208    [
24209     0.0961,
24210     0.4195,
24211     -1.5611
24212    ],
24213    [
24214     0.1263,
24215     0.5515,
24216     -2.0525
24217    ]
24218   ],
24219   {
24220    "attributes":{}
24221   }
24222  ],
24223  "inner-outer-495":[
24224   [
24225    [
24226     -0.9933,
24227     0.2365,
24228     1.2747
24229    ],
24230    [
24231     -1.306,
24232     0.3109,
24233     1.676
24234    ]
24235   ],
24236   {
24237    "attributes":{}
24238   }
24239  ],
24240  "inner-outer-496":[
24241   [
24242    [
24243     0.0337,
24244     1.047,
24245     -1.2571
24246    ],
24247    [
24248     0.0443,
24249     1.3766,
24250     -1.6528
24251    ]
24252   ],
24253   {
24254    "attributes":{}
24255   }
24256  ],
24257  "inner-outer-497":[
24258   [
24259    [
24260     0.1598,
24261     0.4521,
24262     -1.5463
24263    ],
24264    [
24265     0.2101,
24266     0.5945,
24267     -2.0332
24268    ]
24269   ],
24270   {
24271    "attributes":{}
24272   }
24273  ],
24274  "inner-outer-498":[
24275   [
24276    [
24277     0.2573,
24278     0.0926,
24279     -1.6002
24280    ],
24281    [
24282     0.3383,
24283     0.1217,
24284     -2.104
24285    ]
24286   ],
24287   {
24288    "attributes":{}
24289   }
24290  ],
24291  "inner-outer-499":[
24292   [
24293    [
24294     -1.0823,
24295     0.0332,
24296     1.1885
24297    ],
24298    [
24299     -1.423,
24300     0.0437,
24301     1.5626
24302    ]
24303   ],
24304   {
24305    "attributes":{}
24306   }
24307  ],
24308  "inner-outer-500":[
24309   [
24310    [
24311     -0.0229,
24312     0.9148,
24313     -1.3405
24314    ],
24315    [
24316     -0.0301,
24317     1.2028,
24318     -1.7625
24319    ]
24320   ],
24321   {
24322    "attributes":{}
24323   }
24324  ],
24325  "hover-027":[
24326   [
24327    [
24328     1.1146,
24329     -1.5526,
24330     -0.9456
24331    ],
24332    [
24333     0.282,
24334     -1.4109,
24335     -1.5708
24336    ],
24337    [
24338     0.7001,
24339     -0.8801,
24340     -1.8046
24341    ],
24342    [
24343     0.0209,
24344     -0.9796,
24345     -1.8914
24346    ]
24347   ],
24348   {
24349    "attributes":{}
24350   }
24351  ],
24352  "hover-028":[
24353   [
24354    [
24355     -1.4857,
24356     1.0597,
24357     -1.099
24358    ],
24359    [
24360     -0.9311,
24361     1.8353,
24362     -0.55
24363    ],
24364    [
24365     0.0244,
24366     1.9058,
24367     -0.9523
24368    ]
24369   ],
24370   {
24371    "attributes":{}
24372   }
24373  ],
24374  "hover-029":[
24375   [
24376    [
24377     -0.0294,
24378     0.5959,
24379     -2.0443
24380    ],
24381    [
24382     -0.0228,
24383     0.0107,
24384     -2.1307
24385    ],
24386    [
24387     0.5871,
24388     0.8016,
24389     -1.8883
24390    ],
24391    [
24392     0.0252,
24393     1.1029,
24394     -1.8213
24395    ]
24396   ],
24397   {
24398    "attributes":{}
24399   }
24400  ],
24401  "hover-030":[
24402   [
24403    [
24404     1.2223,
24405     -0.7339,
24406     -1.5807
24407    ],
24408    [
24409     1.4553,
24410     -0.1666,
24411     -1.5462
24412    ],
24413    [
24414     1.7121,
24415     -0.5664,
24416     -1.136
24417    ]
24418   ],
24419   {
24420    "attributes":{}
24421   }
24422  ],
24423  "hover-031":[
24424   [
24425    [
24426     0.5509,
24427     0.1811,
24428     -2.0536
24429    ],
24430    [
24431     0.7001,
24432     -0.8801,
24433     -1.8046
24434    ],
24435    [
24436     0.9346,
24437     -1.2864,
24438     -1.419
24439    ]
24440   ],
24441   {
24442    "attributes":{}
24443   }
24444  ]
24445 },
24446 "empties":{},
24447 "instances":{}
24448}`;var Ice=`#include <common>
24449#include <logdepthbuf_pars_vertex>
24450#include <clipping_planes_pars_vertex>
24451uniform float uLineWidth;uniform vec2 uResolution;attribute vec3 instanceStart;attribute vec3 instanceEnd;attribute vec3 instanceColorStart;attribute vec3 instanceColorEnd;varying float vVertIndex;attribute float instanceIndexStart;attribute float instanceIndexEnd;varying float vOffset;attribute float instanceOffsetStart;attribute float instanceOffsetEnd;
24452#ifdef WORLD_UNITS
24453varying vec4 worldPos;varying vec3 worldStart;varying vec3 worldEnd;
24454#endif
24455varying vec2 vUv;varying float vPositionY;attribute float instanceDistanceStart;attribute float instanceDistanceEnd;varying float vLineDistance;uniform float uTime;void trimSegment(const in vec4 start,inout vec4 end){float a=projectionMatrix[2][2];float b=projectionMatrix[3][2];float nearEstimate=-0.5*b/a;float alpha=(nearEstimate-start.z)/(end.z-start.z);end.xyz=mix(start.xyz,end.xyz,alpha);}vec4 rotationQuat(const in vec3 axis,const in float angle){vec3 axisNorm=normalize(axis);return vec4(axisNorm*sin(angle/2.0),cos(angle/2.0));}mat3 rotationMatrix(const in vec4 q){float x=q.x;float y=q.y;float z=q.z;float w=q.w;float x2=x+x;float y2=y+y;float z2=z+z;float xx=x*x2;float xy=x*y2;float xz=x*z2;float yy=y*y2;float yz=y*z2;float zz=z*z2;float wx=w*x2;float wy=w*y2;float wz=w*z2;return mat3(1.0-(yy+zz),xy+wz,xz-wy,xy-wz,1.0-(xx+zz),yz+wx,xz+wy,yz-wx,1.0-(xx+yy));}void main(){vUv=uv;vPositionY=position.y;vVertIndex=(position.y<0.5)? instanceIndexStart : instanceIndexEnd;vOffset=(position.y<0.5)? instanceOffsetStart : instanceOffsetEnd;vLineDistance=(position.y<0.5)? instanceDistanceStart : instanceDistanceEnd;float aspect=uResolution.x/uResolution.y;vec4 start=viewMatrix*modelMatrix*vec4(instanceStart,1.0);vec4 end=viewMatrix*modelMatrix*vec4(instanceEnd,1.0);
24456#ifdef WORLD_UNITS
24457worldStart=start.xyz;worldEnd=end.xyz;
24458#endif
24459bool perspective=(projectionMatrix[2][3]==-1.0);if(perspective){if(start.z<0.0&&end.z>=0.0){trimSegment(start,end);}else if(end.z<0.0&&start.z>=0.0){trimSegment(end,start);}}vec4 clipStart=projectionMatrix*start;vec4 clipEnd=projectionMatrix*end;vec3 ndcStart=clipStart.xyz/clipStart.w;vec3 ndcEnd=clipEnd.xyz/clipEnd.w;vec2 dir=ndcEnd.xy-ndcStart.xy;dir.x*=aspect;dir=normalize(dir);
24460#ifdef WORLD_UNITS
24461vec3 worldDir=normalize(end.xyz-start.xyz);vec3 tmpFwd=normalize(mix(start.xyz,end.xyz,0.5));vec3 worldUp=normalize(cross(worldDir,tmpFwd));vec3 worldFwd=cross(worldDir,worldUp);worldPos=position.y<0.5 ? start: end;float hw=uLineWidth*0.5;worldPos.xyz+=position.x<0.0 ? hw*worldUp :-hw*worldUp;worldPos.xyz+=position.y<0.5 ?-hw*worldDir : hw*worldDir;worldPos.xyz+=worldFwd*hw;if(position.y>1.0||position.y<0.0){worldPos.xyz-=worldFwd*2.0*hw;}vec4 clip=projectionMatrix*worldPos;
24461vec3 clipPose=(position.y<0.5)? ndcStart : ndcEnd;clip.z=clipPose.z*clip.w;
24462#else
24463vec2 offset=vec2(dir.y,-dir.x);dir.x/=aspect;offset.x/=aspect;if(position.x<0.0)offset*=-1.0;if(position.y<0.0){offset+=-dir;}else if(position.y>1.0){offset+=dir;}offset*=uLineWidth;offset/=uResolution.y;vec4 clip=(position.y<0.5)? clipStart : clipEnd;offset*=clip.w;clip.xy+=offset;
24464#endif
24465gl_Position=clip;vec4 mvPosition=(position.y<0.5)? start : end;
24466#include <logdepthbuf_vertex>
24467#include <clipping_planes_vertex>
24468}`,Pce=`#include <default_pars>
24469#include <logdepthbuf_pars_fragment>
24470#include <clipping_planes_pars_fragment>
24471uniform vec3 uBaseColor;uniform float uOpacity;uniform float uLineWidth;varying float vLineDistance;varying float vVertIndex;varying float vOffset;
24472#ifdef WORLD_UNITS
24473varying vec4 worldPos;varying vec3 worldStart;varying vec3 worldEnd;
24474#endif
24475varying vec2 vUv;varying float vPositionY;uniform float uAnimationTime;uniform float uHighlightPower;vec2 closestLineToLine(vec3 p1,vec3 p2,vec3 p3,vec3 p4){float mua;float mub;vec3 p13=p1-p3;vec3 p43=p4-p3;vec3 p21=p2-p1;float d1343=dot(p13,p43);float d4321=dot(p43,p21);float d1321=dot(p13,p21);float d4343=dot(p43,p43);float d2121=dot(p21,p21);float denom=d2121*d4343-d4321*d4321;float numer=d1343*d4321-d1321*d4343;mua=numer/denom;mua=clamp(mua,0.0,1.0);mub=(d1343+d4321*(mua))/d4343;mub=clamp(mub,0.0,1.0);return vec2(mua,mub);}float easeOutExpo(float t){return 1.0-pow(2.0,-10.0*t);}float easeOutExpo(float t,float power){return 1.0-pow(2.0,-power*t);}float easeOutCubic(float t){return 1.0-pow(1.0-t,3.0);}float easeOutLinear(float t){return 1.0-t;}void main(){
24476#include <clipping_planes_fragment>
24477float alpha=uOpacity;
24478#ifdef WORLD_UNITS
24479vec3 rayEnd=normalize(worldPos.xyz)*1e5;vec3 lineDir=worldEnd-worldStart;vec2 params=closestLineToLine(worldStart,worldEnd,vec3(0.0,0.0,0.0),rayEnd);vec3 p1=worldStart+lineDir*params.x;vec3 p2=rayEnd*params.y;vec3 delta=p1-p2;float len=length(delta);float norm=len/uLineWidth;
24480#ifdef USE_ALPHA_TO_COVERAGE
24481float dnorm=fwidth(norm);alpha=1.0-smoothstep(0.5-dnorm,0.5+dnorm,norm);
24482#else
24483if(norm>0.5){discard;}
24484#endif
24485#else
24486#ifdef USE_ALPHA_TO_COVERAGE
24487float a=vUv.x;float b=(vUv.y>0.0)? vUv.y-1.0 : vUv.y+1.0;float len2=a*a+b*b;float dlen=fwidth(len2);if(abs(vUv.y)>1.0){alpha=1.0-smoothstep(1.0-dlen,1.0+dlen,len2);}
24488#else
24489if(abs(vUv.y)>1.0){float a=vUv.x;float b=(vUv.y>0.0)? vUv.y-1.0 : vUv.y+1.0;float len2=a*a+b*b;if(len2>1.0)discard;}
24490#endif
24491#endif
24492#include <logdepthbuf_fragment>
24493gl_FragColor.a=alpha;gl_FragColor.rgb=uBaseColor*5.;float offset=vOffset*2.0;float revealSpeed=0.2;float repeatDelay=3.0+offset;float timeProgress=easeOutExpo(mod(uAnimationTime*revealSpeed,repeatDelay)-offset,6.0);float hideProgress=easeOutExpo(max(0.0,mod(uAnimationTime*revealSpeed,repeatDelay)-0.3-offset),4.0);float revealFactor=step(vVertIndex-0.05,timeProgress)-step(vVertIndex-0.05,hideProgress);float highlight=max(1.0-step(vVertIndex-0.05+0.3,map(timeProgress,0.0,1.0,0.0,1.2)),0.0);gl_FragColor.rgb+=pow(highlight,uHighlightPower)*0.5;if(max(0.0,revealFactor)<0.01)discard;
24494#include <tonemapping_fragment>
24495#include <colorspace_fragment>
24496#include <premultiplied_alpha_fragment>
24497}`;class Rce extends is{constructor(e={}){e=An({vertexShader:Ice,fragmentShader:Pce,uniforms:{uOpacity:{value:1,gui:{min:0,max:1,step:.1}}},defines:{WORLD_UNITS:!0},transparent:!0},e),super(e)}}class Bce extends uo(){constructor(e={}){e=An({name:"CryptoOrbLines",key:"inner-outer",speed:0,scrollResponsiveness:.5,scrollMaxSpeed:10},e),super(e),this.globalUniforms={uLineWidth:{value:.008,gui:{min:0,max:.1,step:.001}},uBaseColor:{value:new ke(15525854)},uHighlightPower:{value:2,gui:{min:1,max:5,step:.01}}},this.scrollSpeedMultiplier=1}build(e){const t=Object.keys(e.paths).filter(f=>f.startsWith(this.options.key));this.lineData=t.reduce((f,h)=>(f[h]=e.paths[h],f),{});const i=[],r=[],s=[];for(const f in this.lineData){const h=this.lineData[f][0],p=Math.random();for(let m=0;m<h.length-1;m++){const v=h[m],A=h[m+1];i.push(v[0],v[1],v[2]),i.push(A[0],A[1],A[2]),r.push(m/(h.length-1)),r.push((m+1)/(h.length-1)),s.push(p),s.push(p)}}const o=new Dd().setPositions(i),a=new Float32Array(r),l=new Yr(a,2,1);o.setAttribute("instanceIndexStart",new fn(l,1,0)),o.setAttribute("instanceIndexEnd",new fn(l,1,1));const c=new Float32Array(s),u=new Yr(c,2,1);o.setAttribute("instanceOffsetStart",new fn(u,1,0)),o.setAttribute("instanceOffsetEnd",new fn(u,1,1)),this.line=new ip(o,new Rce({uniforms:{uAnimationTime:{value:0},...this.globalUniforms}})),this.line.name=`CryptoLine-${this.options.key} / Line`,this.line.computeLineDistances(),this.line.scale.set(1,1,1),this.add(this.line),this.scene=this.parent}update(){this.updateScrollRotation(this.scene.scrollVelocity),this.line.rotation.y+=this.options.speed+this.scrollSpeedMultiplier,this.line.material.uniforms.uAnimationTime.value+=S.WebGL.normalizedDelta*.05}updateScrollRotation(e){this.scrollSpeedMultiplier=Math.abs(e)*this.options.scrollResponsiveness,this.scrollSpeedMultiplier=gn.clamp(this.scrollSpeedMultiplier,0,this.options.scrollMaxSpeed)}stop(){this.line.material.uniforms.uAnimationTime.value=0}addGui(){S.theatre.helper.autoAddObject(this.line,this.parent.prettyName,{exclude:[...Object.keys(this.globalUniforms),"uAnimationTime"]});const e={},t=S.theatre.helper.autoAddUniforms(e,this.globalUniforms);S.theatre.helper.addSheetObject(this.parent.prettyName,`CryptoLine-${this.options.key} / Global`,e,this).onValuesChange(r=>{for(let s=0;s<t.length;s++)t[s](this,r)},S.theatre.rafDriver)}destroy(){super.destroy(),this.remove(this.line),this.parent.remove(this),this.line.geometry.dispose(),this.line.material.dispose(),this.scrollSpeedMultiplier=1}}var Dce=`#include <default_pars>
24498#include <logdepthbuf_pars_vertex>
24499#include <clipping_planes_pars_vertex>
24500uniform float uLineWidth;uniform vec2 uResolution;uniform float uFresnelAmount;uniform float uFresnelOffset;uniform float uFresnelFalloff;varying float vFresnelFade;attribute vec3 instanceStart;attribute vec3 instanceEnd;attribute vec3 instanceColorStart;attribute vec3 instanceColorEnd;varying float vVertIndex;attribute float instanceIndexStart;attribute float instanceIndexEnd;varying float vRandom;varying float vRandomIndex;attribute float instanceRandomIndexStart;attribute float instanceRandomIndexEnd;varying float vOffset;attribute float instanceOffsetStart;attribute float instanceOffsetEnd;
24501#ifdef WORLD_UNITS
24502varying vec4 worldPos;varying vec3 worldStart;varying vec3 worldEnd;
24503#endif
24504varying vec2 vUv;varying float vPositionY;attribute float instanceDistanceStart;attribute float instanceDistanceEnd;varying float vLineDistance;uniform float uTime;void trimSegment(const in vec4 start,inout vec4 end){float a=projectionMatrix[2][2];float b=projectionMatrix[3][2];float nearEstimate=-0.5*b/a;float alpha=(nearEstimate-start.z)/(end.z-start.z);end.xyz=mix(start.xyz,end.xyz,alpha);}vec4 rotationQuat(const in vec3 axis,const in float angle){vec3 axisNorm=normalize(axis);return vec4(axisNorm*sin(angle/2.0),cos(angle/2.0));}mat3 rotationMatrix(const in vec4 q){float x=q.x;float y=q.y;float z=q.z;float w=q.w;float x2=x+x;float y2=y+y;float z2=z+z;float xx=x*x2;float xy=x*y2;float xz=x*z2;float yy=y*y2;float yz=y*z2;float zz=z*z2;float wx=w*x2;float wy=w*y2;float wz=w*z2;return mat3(1.0-(yy+zz),xy+wz,xz-wy,xy-wz,1.0-(xx+zz),yz+wx,xz+wy,yz-wx,1.0-(xx+yy));}float rand(float p){return fract(sin(p)*43758.5453123);}float fresnelFunc(float amount,float offset,float falloff,vec3 normal,vec3 view){return clamp(offset+(1.0-offset)*pow(1.0-dot(normal,view),amount)*falloff,0.,1.);}void main(){vUv=uv;vPositionY=position.y;vVertIndex=(position.y<0.5)? instanceIndexStart : instanceIndexEnd;vOffset=(position.y<0.5)? instanceOffsetStart : instanceOffsetEnd;vRandom=map(rand(vOffset+instanceStart.x+instanceStart.y),0.0,1.0,0.05,0.5);vRandomIndex=(position.y<0.5)? instanceRandomIndexStart : instanceRandomIndexEnd;vLineDistance=(position.y<0.5)? instanceDistanceStart : instanceDistanceEnd;float aspect=uResolution.x/uResolution.y;vec4 start=viewMatrix*modelMatrix*vec4(instanceStart,1.0);vec4 end=viewMatrix*modelMatrix*vec4(instanceEnd,1.0);
24505#ifdef WORLD_UNITS
24506worldStart=start.xyz;worldEnd=end.xyz;
24507#endif
24508bool perspective=(projectionMatrix[2][3]==-1.0);if(perspective){if(start.z<0.0&&end.z>=0.0){trimSegment(start,end);}else if(end.z<0.0&&start.z>=0.0){trimSegment(end,start);}}vec4 clipStart=projectionMatrix*start;vec4 clipEnd=projectionMatrix*end;vec3 ndcStart=clipStart.xyz/clipStart.w;vec3 ndcEnd=clipEnd.xyz/clipEnd.w;vec2 dir=ndcEnd.xy-ndcStart.xy;dir.x*=aspect;dir=normalize(dir);
24509#ifdef WORLD_UNITS
24510vec3 worldDir=normalize(end.xyz-start.xyz);vec3 tmpFwd=normalize(mix(start.xyz,end.xyz,0.5));vec3 worldUp=normalize(cross(worldDir,tmpFwd));vec3 worldFwd=cross(worldDir,worldUp);worldPos=position.y<0.5 ? start: end;float hw=uLineWidth*0.5;worldPos.xyz+=position.x<0.0 ? hw*worldUp :-hw*worldUp;worldPos.xyz+=position.y<0.5 ?-hw*worldDir : hw*worldDir;worldPos.xyz+=worldFwd*hw;if(position.y>1.0||position.y<0.0){worldPos.xyz-=worldFwd*2.0*hw;}vec4 clip=projectionMatrix*worldPos;
24510vec3 clipPose=(position.y<0.5)? ndcStart : ndcEnd;clip.z=clipPose.z*clip.w;
24511#else
24512vec2 offset=vec2(dir.y,-dir.x);dir.x/=aspect;offset.x/=aspect;if(position.x<0.0)offset*=-1.0;if(position.y<0.0){offset+=-dir;}else if(position.y>1.0){offset+=dir;}offset*=uLineWidth;offset/=uResolution.y;vec4 clip=(position.y<0.5)? clipStart : clipEnd;offset*=clip.w;clip.xy+=offset;
24513#endif
24514gl_Position=clip;vec3 viewDir=-worldPos.xyz;vec3 fakePos=(position.y<0.5)? instanceStart : instanceEnd;vec3 fakeNormal=normalize(modelMatrix*vec4(normalize(fakePos),1.0)).rgb;float fresnel=max(0.0,1.0-fresnelFunc(uFresnelAmount,uFresnelOffset,uFresnelFalloff,fakeNormal,viewDir));vFresnelFade=fresnel;vec4 mvPosition=(position.y<0.5)? start : end;
24515#include <logdepthbuf_vertex>
24516#include <clipping_planes_vertex>
24517}`,Lce=`#include <default_pars>
24518#include <logdepthbuf_pars_fragment>
24519#include <clipping_planes_pars_fragment>
24520uniform vec3 uBaseColor;uniform vec3 uExtraColor;uniform float uTheatreTime;uniform float uTimeProgress;uniform float uHighlightPower;uniform float uHighlightLength;uniform float uOpacity;uniform float uLineWidth;varying float vRandom;varying float vRandomIndex;varying float vLineDistance;varying float vVertIndex;varying float vOffset;varying float vFresnelFade;
24521#ifdef WORLD_UNITS
24522varying vec4 worldPos;varying vec3 worldStart;varying vec3 worldEnd;
24523#endif
24524varying vec2 vUv;varying float vPositionY;vec2 closestLineToLine(vec3 p1,vec3 p2,vec3 p3,vec3 p4){float mua;float mub;vec3 p13=p1-p3;vec3 p43=p4-p3;vec3 p21=p2-p1;float d1343=dot(p13,p43);float d4321=dot(p43,p21);float d1321=dot(p13,p21);float d4343=dot(p43,p43);float d2121=dot(p21,p21);float denom=d2121*d4343-d4321*d4321;float numer=d1343*d4321-d1321*d4343;mua=numer/denom;mua=clamp(mua,0.0,1.0);mub=(d1343+d4321*(mua))/d4343;mub=clamp(mub,0.0,1.0);return vec2(mua,mub);}float easeOutExpo(float t){return 1.0-pow(2.0,-10.0*t);}float easeOutExpo(float t,float power){return 1.0-pow(2.0,-power*t);}float easeOutCubic(float t){return 1.0-pow(1.0-t,3.0);}float easeOutLinear(float t){return 1.0-t;}float easeInExpo(float t,float power){return pow(2.0,power*(t-1.0));}float rand(const in float n){return fract(sin(n)*43758.5453123);}void main(){
24525#include <clipping_planes_fragment>
24526float alpha=uOpacity;
24527#ifdef WORLD_UNITS
24528vec3 rayEnd=normalize(worldPos.xyz)*1e5;vec3 lineDir=worldEnd-worldStart;vec2 params=closestLineToLine(worldStart,worldEnd,vec3(0.0,0.0,0.0),rayEnd);vec3 p1=worldStart+lineDir*params.x;vec3 p2=rayEnd*params.y;vec3 delta=p1-p2;float len=length(delta);float norm=len/uLineWidth;
24529#ifdef USE_ALPHA_TO_COVERAGE
24530float dnorm=fwidth(norm);alpha=1.0-smoothstep(0.5-dnorm,0.5+dnorm,norm);
24531#else
24532if(norm>0.5){discard;}
24533#endif
24534#else
24535#ifdef USE_ALPHA_TO_COVERAGE
24536float a=vUv.x;float b=(vUv.y>0.0)? vUv.y-1.0 : vUv.y+1.0;float len2=a*a+b*b;float dlen=fwidth(len2);if(abs(vUv.y)>1.0){alpha=1.0-smoothstep(1.0-dlen,1.0+dlen,len2);}
24537#else
24538if(abs(vUv.y)>1.0){float a=vUv.x;float b=(vUv.y>0.0)? vUv.y-1.0 : vUv.y+1.0;float len2=a*a+b*b;if(len2>1.0)discard;}
24539#endif
24540#endif
24541#include <logdepthbuf_fragment>
24542gl_FragColor.a=alpha*vFresnelFade;gl_FragColor.rgb=uBaseColor*5.;float offset=vOffset;
24543#ifdef EXTRA_LINES
24544float mappedTimeProgress=smoothstep(offset*vRandom,offset,uTimeProgress);
24545#else
24546float mappedTimeProgress=smoothstep(offset-vRandom,offset,uTimeProgress);
24547#endif
24548float revealFactor=max(0.0,step(vVertIndex,mappedTimeProgress));
24549#ifndef EXTRA_LINES
24550float time=uTheatreTime*1.0;float phase=5.0;float modTime=mod(max(0.0,time-offset-vRandomIndex*phase),phase)/phase;float randomStart=0.1;float revealDuration=0.2;float mapRevealTime=smoothstep(randomStart,randomStart+revealDuration,modTime);float mapHideTime=smoothstep((randomStart+revealDuration),(randomStart+revealDuration)+revealDuration,modTime);float smoothness=0.3;float remappedGrowthFactor=map(mapRevealTime,0.0,1.0,0.0,1.0+smoothness);float remappedShrinkFactor=map(mapHideTime,0.0,1.0,0.0,1.0+smoothness);float extraColorFactor=max(0.0,(1.0-smoothstep(remappedGrowthFactor-smoothness,remappedGrowthFactor,vVertIndex))*smoothstep(remappedShrinkFactor-smoothness,remappedShrinkFactor,vVertIndex));gl_FragColor.rgb=mix(gl_FragColor.rgb,uExtraColor*5.0,extraColorFactor);
24551#endif
24552float highlight=max(1.0-step(vVertIndex+uHighlightLength,map(mappedTimeProgress,0.0,1.0,0.0,1.2)),0.0);gl_FragColor.rgb+=pow(highlight,uHighlightPower)*0.5;if(revealFactor<0.001)discard;
24553#include <tonemapping_fragment>
24554#include <colorspace_fragment>
24555#include <premultiplied_alpha_fragment>
24556}`;class Oce extends is{constructor(e={}){e=An({vertexShader:Dce,fragmentShader:Lce,uniforms:{uOpacity:{value:1,gui:{min:0,max:1,step:.1}}},defines:{EXTRA_LINES:!1,WORLD_UNITS:!0},transparent:!0,depthTest:!1},e),super(e)}}class Fce extends uo(){constructor(e={}){e=An({name:"Electric-branches",key:"electric",speed:0,scrollResponsiveness:.5,scrollMaxSpeed:10},e),super(e),this.globalUniforms={uLineWidth:{value:.008,gui:{min:0,max:.1,step:.001}},uBaseColor:{value:new ke(15855337)},uExtraColor:{value:new ke(0)},uTheatreTime:{value:0}
24556,uTimeProgress:{value:0,gui:{min:0,max:1,step:.01}},uHighlightPower:{value:2,gui:{min:1,max:5,step:.01}},uHighlightLength:{value:.3,gui:{min:0,max:1,step:.01}},uFresnelAmount:{value:1,gui:{min:0,max:100,step:.01}},uFresnelOffset:{value:.01,gui:{min:0,max:1,step:.001}},uFresnelFalloff:{value:.1,gui:{min:0,max:100,step:.01}}},this.getOffsetFunction=this.getNameOffset,this.options.key==="extended"&&(this.getOffsetFunction=this.getRandomOffset),this.scrollSpeedMultiplier=1}getNameOffset(){return gn.mapLinear(Math.random(),0,1,.5,1)}getRandomOffset(e){return gn.mapLinear(gn.seededRandom(e.split("-")[0].split("extended")[1]+45468),0,1,.2,1)}build(e){this.lineData=Object.keys(e.paths).filter(p=>p.startsWith(this.options.key)).reduce((p,m)=>(p[m]=e.paths[m],p),{});const t=[],i=[],r=[],s=[];for(const p in this.lineData){const m=this.lineData[p][0],v=this.getOffsetFunction(p);for(let A=0;A<m.length-1;A++){const y=m[A],x=m[A+1];t.push(y[0],y[1],y[2]),t.push(x[0],x[1],x[2]),i.push(A/(m.length-1)),i.push((A+1)/(m.length-1)),r.push(v),r.push(v);const b=gn.seededRandom(this.lineData[p][1].attributes.index||0);s.push(b),s.push(b)}}const o=new Dd().setPositions(t),a=new Float32Array(i),l=new Yr(a,2,1);o.setAttribute("instanceIndexStart",new fn(l,1,0)),o.setAttribute("instanceIndexEnd",new fn(l,1,1));const c=new Float32Array(r),u=new Yr(c,2,1);o.setAttribute("instanceOffsetStart",new fn(u,1,0)),o.setAttribute("instanceOffsetEnd",new fn(u,1,1));const f=new Float32Array(s),h=new Yr(f,2,1);o.setAttribute("instanceRandomIndexStart",new fn(h,1,0)),o.setAttribute("instanceRandomIndexEnd",new fn(h,1,1)),this.line=new ip(o,new Oce({uniforms:{...this.globalUniforms},defines:{EXTRA_LINES:this.options.key==="extended"}})),this.line.name=`${this.options.name} / Line`,this.line.computeLineDistances(),this.line.scale.set(1,1,1),this.add(this.line),this.scene=this.parent}update(){this.updateScrollRotation(this.scene.scrollVelocity),this.line.rotation.y+=this.options.speed+this.scrollSpeedMultiplier,this.globalUniforms.uTheatreTime.value=S.theatre.sheets.CryptoOrb.sequence.position}updateScrollRotation(e){this.scrollSpeedMultiplier=Math.abs(e)*this.options.scrollResponsiveness,this.scrollSpeedMultiplier=gn.clamp(this.scrollSpeedMultiplier,0,this.options.scrollMaxSpeed)}addGui(){S.theatre.helper.autoAddObject(this.line,this.parent.prettyName,{exclude:["uTheatreTime",...Object.keys(this.globalUniforms)]});const e={},t=S.theatre.helper.autoAddUniforms(e,this.globalUniforms,["uTheatreTime"]);S.theatre.helper.addSheetObject(this.parent.prettyName,`${this.options.name} / Global`,e,this).onValuesChange(r=>{for(let s=0;s<t.length;s++)t[s](this,r)},S.theatre.rafDriver)}destroy(){super.destroy(),this.remove(this.line),this.line.geometry.dispose(),this.line.material.dispose(),this.parent.remove(this),this.scrollSpeedMultiplier=1}}var Uce=`#include <default_pars>
24557#include <packing>
24558attribute vec3 aRandom;attribute float aScale;attribute vec2 aFboUv;varying vec2 vUv;uniform sampler2D tPosition;uniform float uTime;uniform float uParticleSize;varying vec3 vViewPosition;varying vec3 vNormal;varying vec4 vWorldPosition;varying vec3 vRandom;
24559#ifdef DEPTH_PACKING
24560varying vec2 vHighPrecisionZW;
24561#endif
24562void main(){vUv=uv;vRandom=aRandom;vec4 particlePosition=texture2D(tPosition,aFboUv);vec4 transformedPosition=vec4(position,1.0);vec3 up=vec3(modelViewMatrix[0][1],modelViewMatrix[1][1],modelViewMatrix[2][1]);vec3 right=vec3(modelViewMatrix[0][0],modelViewMatrix[1][0],modelViewMatrix[2][0]);transformedPosition.xyz=right*transformedPosition.x+up*transformedPosition.y;
24563#ifdef USE_INSTANCING
24564transformedPosition=instanceMatrix*transformedPosition;
24565#endif
24566float scale=uParticleSize*aScale;transformedPosition.xyz*=scale;transformedPosition.xyz+=particlePosition.xyz;vec4 worldPosition=modelMatrix*transformedPosition;vWorldPosition=worldPosition;mat3 normalMatrixInverse=inverse(mat3(normalMatrix));vec3 transformedNormal=normal;
24567#ifdef USE_INSTANCING
24568mat3 m=mat3(instanceMatrix);transformedNormal/=vec3(dot(m[0],m[0]),dot(m[1],m[1]),dot(m[2],m[2]));transformedNormal=m*transformedNormal;
24569#endif
24570transformedNormal=normalMatrix*normal;vNormal=normalize(transformedNormal);vec4 mvPosition=modelViewMatrix*transformedPosition;gl_Position=projectionMatrix*mvPosition;vViewPosition=-mvPosition.xyz;
24571#ifdef DEPTH_PACKING
24572vHighPrecisionZW=gl_Position.zw;
24573#endif
24574}`,Nce=`#include <default_pars>
24575#include <default_frag_pars>
24576#include <packing>
24577uniform sampler2D tMatcap;uniform float uMatcapBlend;uniform int uMatcapBlendMode;varying vec3 vRandom;varying vec3 vRandomAttributes;varying vec2 vUv;varying float vLife;varying float vSplineIndex;varying vec3 vViewPosition;varying vec3 vNormal;varying vec4 vWorldPosition;uniform vec3 uBaseColor;uniform float uOpacity;
24578#ifdef DEPTH_PACKING
24579varying vec2 vHighPrecisionZW;
24580#endif
24581void main(){float alpha=1.0-step(0.9,2.0*length(vUv-0.5));if(alpha<0.5)discard;
24582#ifdef DEPTH_PACKING
24583gl_FragColor=vec4(vec3(1.),1.0);
24584#else
24585vec3 randoms=vec3(map(vRandom.x,0.,1.,0.9,1.0),map(vRandom.y,0.,1.,0.2,1.8),map(vRandom.z,0.,1.,0.2,1.8));vec3 color=uBaseColor;color.rgb*=randoms.x;gl_FragColor=vec4(color*10.,uOpacity);
24586#ifdef USE_MATCAP
24587vec3 normal=normalize(vNormal);vec3 viewDir=normalize(vViewPosition);vec3 x=normalize(vec3(viewDir.z,0.0,-viewDir.x));vec3 y=cross(viewDir,x);vec2 uv=vec2(dot(x,normal),dot(y,normal))*0.495+0.5;vec4 matcapColor=texture2D(tMatcap,uv);if(uMatcapBlendMode==0){gl_FragColor.rgb=blendSoftLight(gl_FragColor.rgb,matcapColor.rgb,uMatcapBlend);}else if(uMatcapBlendMode==1){gl_FragColor.rgb=blendLinearLight(gl_FragColor.rgb,matcapColor.rgb,uMatcapBlend);}else if(uMatcapBlendMode==2){gl_FragColor.rgb=blendLighten(gl_FragColor.rgb,matcapColor.rgb,uMatcapBlend);}else if(uMatcapBlendMode==3){gl_FragColor.rgb=blendOverlay(gl_FragColor.rgb,matcapColor.rgb,uMatcapBlend);}else if(uMatcapBlendMode==4){gl_FragColor.rgb=blendAdd(gl_FragColor.rgb,matcapColor.rgb,uMatcapBlend);}else{gl_FragColor.rgb=blendMultiply(gl_FragColor.rgb,matcapColor.rgb,uMatcapBlend);}
24588#endif
24589#endif
24590#ifdef DEPTH_PACKING
24591float fragCoordZ=0.5*vHighPrecisionZW[0]/vHighPrecisionZW[1]+0.5;gl_FragColor=packDepthToRGBA(fragCoordZ);
24592#endif
24593#include <tonemapping_fragment>
24594#include <colorspace_fragment>
24595}`;class kce extends is{constructor(e={}){e=An({vertexShader:Uce,fragmentShader:Nce,uniforms:{tPosition:{value:null},uBaseColor:{value:new ke(14154239)},uParticleSize:{value:.25,gui:{step:.01}},uOpacity:{value:1,gui:{min:0,max:1,step:.01}}},defines:{DEPTH_PACKING:!1},side:Io,depthTest:!1,transparent:!0},e),super(e)}}var zce=`#include <default_pars>
24596varying vec2 vUv;uniform sampler2D tOriginalTexture;uniform sampler2D tTexture;uniform float uTime;uniform float uDelta;uniform float uNormalizedDelta;uniform float uRotationSpeed;uniform float uRadius;uniform float uCurlSize;uniform float uCurlNoiseSpeed;uniform float uCurlStrength;uniform float uLerpSpeed;uniform sampler2D tFluidSim;uniform float uFluidStrength;uniform mat4 uModelMatrix;uniform mat4 uViewMatrix;uniform mat4 uProjectionMatrix;uniform bool uCurl;uniform float uSetup;vec4 mod289(vec4 x){return x-floor(x*(1.0/289.0))*289.0;}float mod289(float x){return x-floor(x*(1.0/289.0))*289.0;}vec4 permute(vec4 x){return mod289(((x*34.0)+1.0)*x);}float permute(float x){return mod289(((x*34.0)+1.0)*x);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}float taylorInvSqrt(float r){return 1.79284291400159-0.85373472095314*r;}vec4 grad4(float j,vec4 ip){const vec4 ones=vec4(1.0,1.0,1.0,-1.0);vec4 p,s;p.xyz=floor(fract(vec3(j)*ip.xyz)*7.0)*ip.z-1.0;p.w=1.5-dot(abs(p.xyz),ones.xyz);s=vec4(lessThan(p,vec4(0.0)));p.xyz=p.xyz+(s.xyz*2.0-1.0)*s.www;return p;}
24597#define F4 0.309016994374947451
24598vec4 snoise4(vec4 v){const vec4 C=vec4(0.138196601125011,0.276393202250021,0.414589803375032,-0.447213595499958);vec4 i=floor(v+dot(v,vec4(F4)));vec4 x0=v-i+dot(i,C.xxxx);vec4 i0;vec3 isX=step(x0.yzw,x0.xxx);vec3 isYZ=step(x0.zww,x0.yyz);i0.x=isX.x+isX.y+isX.z;i0.yzw=1.0-isX;i0.y+=isYZ.x+isYZ.y;i0.zw+=1.0-isYZ.xy;i0.z+=isYZ.z;i0.w+=1.0-isYZ.z;vec4 i3=clamp(i0,0.0,1.0);vec4 i2=clamp(i0-1.0,0.0,1.0);vec4 i1=clamp(i0-2.0,0.0,1.0);vec4 x1=x0-i1+C.xxxx;vec4 x2=x0-i2+C.yyyy;vec4 x3=x0-i3+C.zzzz;vec4 x4=x0+C.wwww;i=mod289(i);float j0=permute(permute(permute(permute(i.w)+i.z)+i.y)+i.x);vec4 j1=permute(permute(permute(permute(i.w+vec4(i1.w,i2.w,i3.w,1.0))+i.z+vec4(i1.z,i2.z,i3.z,1.0))+i.y+vec4(i1.y,i2.y,i3.y,1.0))+i.x+vec4(i1.x,i2.x,i3.x,1.0));vec4 ip=vec4(1.0/294.0,1.0/49.0,1.0/7.0,0.0);vec4 p0=grad4(j0,ip);vec4 p1=grad4(j1.x,ip);vec4 p2=grad4(j1.y,ip);vec4 p3=grad4(j1.z,ip);vec4 p4=grad4(j1.w,ip);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;p4*=taylorInvSqrt(dot(p4,p4));vec3 values0=vec3(dot(p0,x0),dot(p1,x1),dot(p2,x2));vec2 values1=vec2(dot(p3,x3),dot(p4,x4));vec3 m0=max(0.5-vec3(dot(x0,x0),dot(x1,x1),dot(x2,x2)),0.0);vec2 m1=max(0.5-vec2(dot(x3,x3),dot(x4,x4)),0.0);vec3 temp0=-6.0*m0*m0*values0;vec2 temp1=-6.0*m1*m1*values1;vec3 mmm0=m0*m0*m0;vec2 mmm1=m1*m1*m1;float dx=temp0[0]*x0.x+temp0[1]*x1.x+temp0[2]*x2.x+temp1[0]*x3.x+temp1[1]*x4.x+mmm0[0]*p0.x+mmm0[1]*p1.x+mmm0[2]*p2.x+mmm1[0]*p3.x+mmm1[1]*p4.x;float dy=temp0[0]*x0.y+temp0[1]*x1.y+temp0[2]*x2.y+temp1[0]*x3.y+temp1[1]*x4.y+mmm0[0]*p0.y+mmm0[1]*p1.y+mmm0[2]*p2.y+mmm1[0]*p3.y+mmm1[1]*p4.y;float dz=temp0[0]*x0.z+temp0[1]*x1.z+temp0[2]*x2.z+temp1[0]*x3.z+temp1[1]*x4.z+mmm0[0]*p0.z+mmm0[1]*p1.z+mmm0[2]*p2.z+mmm1[0]*p3.z+mmm1[1]*p4.z;float dw=temp0[0]*x0.w+temp0[1]*x1.w+temp0[2]*x2.w+temp1[0]*x3.w+temp1[1]*x4.w+mmm0[0]*p0.w+mmm0[1]*p1.w+mmm0[2]*p2.w+mmm1[0]*p3.w+mmm1[1]*p4.w;return vec4(dx,dy,dz,dw)*49.0;}vec3 curl(in vec3 p,in float noiseTime,in float persistence){vec4 xNoisePotentialDerivatives=vec4(0.0);vec4 yNoisePotentialDerivatives=vec4(0.0);vec4 zNoisePotentialDerivatives=vec4(0.0);for(int i=0;i<3;++i){float twoPowI=pow(2.0,float(i));float scale=0.5*twoPowI*pow(persistence,float(i));xNoisePotentialDerivatives+=snoise4(vec4(p*twoPowI,noiseTime))*scale;yNoisePotentialDerivatives+=snoise4(vec4((p+vec3(123.4,129845.6,-1239.1))*twoPowI,noiseTime))*scale;zNoisePotentialDerivatives+=snoise4(vec4((p+vec3(-9519.0,9051.0,-123.0))*twoPowI,noiseTime))*scale;}return vec3(zNoisePotentialDerivatives[1]-yNoisePotentialDerivatives[2],xNoisePotentialDerivatives[2]-zNoisePotentialDerivatives[0],yNoisePotentialDerivatives[0]-xNoisePotentialDerivatives[1]);}float range(float oldValue,float oldMin,float oldMax,float newMin,float newMax){float oldRange=oldMax-oldMin;float newRange=newMax-newMin;return(((oldValue-oldMin)*newRange)/oldRange)+newMin;}vec2 range(vec2 oldValue,vec2 oldMin,vec2 oldMax,vec2 newMin,vec2 newMax){vec2 v;v.x=range(oldValue.x,oldMin.x,oldMax.x,newMin.x,newMax.x);v.y=range(oldValue.y,oldMin.y,oldMax.y,newMin.y,newMax.y);return v;}vec3 range(vec3 oldValue,vec3 oldMin,vec3 oldMax,vec3 newMin,vec3 newMax){vec3 v;v.x=range(oldValue.x,oldMin.x,oldMax.x,newMin.x,newMax.x);v.y=range(oldValue.y,oldMin.y,oldMax.y,newMin.y,newMax.y);v.z=range(oldValue.z,oldMin.z,oldMax.z,newMin.z,newMax.z);return v;}float scnoise(vec3 v){float t=v.z*0.3;v.y*=0.8;float noise=0.0;float s=0.5;noise+=range(sin(v.x*0.9/s+t*10.0)+sin(v.x*2.4/s+t*15.0)+sin(v.x*-3.5/s+t*4.0)+sin(v.x*-2.5/s+t*7.1),-1.0,1.0,-0.3,0.3);noise+=range(sin(v.y*-0.3/s+t*18.0)+sin(v.y*1.6/s+t*18.0)+sin(v.y*2.6/s+t*8.0)+sin(v.y*-2.6/s+t*4.5),-1.0,1.0,-0.3,0.3);return noise;}mat3 rotate3D(float angle,vec3 axis){axis=normalize(axis);float s=sin(angle);float c=cos(angle);float oc=1.0-c;return mat3(oc*axis.x*axis.x+c,oc*axis.x*axis.y-axis.z*s,oc*axis.z*axis.x+axis.y*s,oc*axis.x*axis.y+axis.z*s,oc*axis.y*axis.y+c,oc*axis.y*axis.z-axis.x*s,oc*axis.z*axis.x-axis.y*s,oc*axis.y*axis.z+axis.x*s,oc*axis.z*axis.z+c);}void main(){vec2 uv=vUv;mat3 rotation3D=rotate3D(uRotationSpeed*uTime,vec3(0.0,1.0,0.0));vec4 originalPosFetch=texture2D(tOriginalTexture,uv);vec3 offsets=originalPosFetch.xyz;float staticParticle=originalPosFetch.w;vec4 position=texture2D(tTexture,uv);vec3 currentPos=position.xyz;vec3 target;target+=offsets*1.0;target=rotation3D*target;if(uCurl&&staticParticle<0.5){target+=curl(currentPos*uCurlSize,uTime*uCurlNoiseSpeed,0.1+(1.0-(vUv.y+vUv.x)*0.5)*0.1)*uCurlStrength;}vec4 earlyViewPosition=uViewMatrix*uModelMatrix*vec4(currentPos,1.0);vec4 earlyProjection=uProjectionMatrix*earlyViewPosition;vec2 screenPos=earlyProjection.xy/earlyProjection.w*0.5+0.5;vec3 fluidDisplacement=vec3(0.);fluidDisplacement=texture2D(tFluidSim,screenPos).rgb;fluidDisplacement.z*=-1.+1.;target+=fluidDisplacement*uFluidStrength;if(uSetup>0.5){currentPos=target;}currentPos+=(target-currentPos)*uLerpSpeed*uNormalizedDelta;gl_FragColor=vec4(currentPos,staticParticle);}`;class c6 extends uo(){constructor(e={}){e=An({name:"CryptoOrbParticleSpheres",key:"inner",outerRadius:2,innerRadius:1,textureWidth:32,maxParticleCount:32*32,planeScale:.1,scene:null,scrollResponsiveness:1e-5,scrollMaxSpeed:.1},e),super(e),this._textureWidth=this.options.textureWidth,this.PARTICLE_COUNT=this._textureWidth*this._textureWidth,this.ACTIVE_PARTICLE_COUNT=this.PARTICLE_COUNT>this.options.maxParticleCount?this.options.maxParticleCount:this.PARTICLE_COUNT,this.sizeRange=[.5,
245981],this.scrollSpeedMultiplier=0}build(){this.numOfStaticParticles=this.assets.models.sphere.geometry.attributes.position.count,this.positionSim=new Qr({fragmentShader:zce,width:this._textureWidth,height:this._textureWidth,uniforms:{uSetup:{value:1},uLerpSpeed:{value:.2,gui:{min:0,max:1,step:.001}},uCurl:{value:!0},uCurlSize:{value:.5,gui:{min:0,max:2,step:.01}},uCurlNoiseSpeed:{value:.3,gui:{min:0,max:2,step:.01}},uCurlStrength:{value:.03,gui:{min:0,max:2,step:.001}},uRotationSpeed:{value:.05,gui:{step:.001}},tFluidSim:{value:S.WebGL.fluidSim.advectionSimVelocity.texture},uFluidStrength:{value:.25,gui:{min:0,step:.001}},uModelMatrix:{value:new Ct},uViewMatrix:{value:this.options.scene.activeCamera.matrixWorldInverse},uProjectionMatrix:{value:this.options.scene.activeCamera.projectionMatrix}},createTexture:!0,data:this.createParticlePositionData(),type:Zt}),this.positionSim.uniforms.uSetup.value=0,this.mesh=new Tp(new lo(this.options.planeScale,this.options.planeScale),new kce,this.ACTIVE_PARTICLE_COUNT),this.add(this.mesh);const e=[],t=new Float32Array(this.ACTIVE_PARTICLE_COUNT),i=new Wt;for(let r=0;r<this.ACTIVE_PARTICLE_COUNT;r++)i.updateMatrix(),this.mesh.setMatrixAt(r,i.matrix),e.push(Math.random(),Math.random(),Math.random()),t[r]=gn.randFloat(this.sizeRange[0],this.sizeRange[1]);this.mesh.geometry.setAttribute("aFboUv",this.positionSim.fboUv.attributeInstanced),this.mesh.geometry.setAttribute("aRandom",new Ro(new Float32Array(e),3)),this.mesh.geometry.setAttribute("aScale",new Ro(t,1)),this.mesh.updateMatrix(),this.positionSim.uniforms.uModelMatrix.value=this.mesh.matrixWorld}createParticlePositionData(){const e=new Float32Array(this._textureWidth*this._textureWidth*4),t=this.assets.models.sphere.geometry.attributes.position.array,i=this.options.key==="inner"?this.options.innerRadius:this.options.outerRadius;for(let r=0,s=this._textureWidth*this._textureWidth*4;r<s;r+=4)if(r/4<this.numOfStaticParticles)e[r]=t[r/4*3+0],e[r+1]=t[r/4*3+1],e[r+2]=t[r/4*3+2],e[r+3]=1;else{const a=Math.random(),l=Math.random(),c=2*Math.PI*a,u=Math.acos(2*l-1);e[r]=Math.sin(u)*Math.cos(c)*i,e[r+1]=Math.sin(u)*Math.sin(c)*i,e[r+2]=Math.cos(u)*i,e[r+3]=0}return e}update(){this.positionSim.uniforms.tFluidSim.value=S.WebGL.fluidSim.advectionSimVelocity.texture,this.positionSim.uniforms.uModelMatrix.value.copy(this.mesh.matrixWorld),this.positionSim.uniforms.uViewM
24598atrix.value.copy(this.options.scene.activeCamera.matrixWorldInverse),this.positionSim.uniforms.uProjectionMatrix.value.copy(this.options.scene.activeCamera.projectionMatrix),this.updateScrollRotation(this.options.scene.scrollVelocity),this.positionSim.update(),this.mesh.material.uniforms.tPosition.value=this.positionSim.texture,this.mesh.rotation.y+=1*this.scrollSpeedMultiplier}updateScrollRotation(e){this.scrollSpeedMultiplier=0+Math.abs(e)*this.options.scrollResponsiveness,this.scrollSpeedMultiplier=gn.clamp(this.scrollSpeedMultiplier,0,this.options.scrollMaxSpeed)}addGui(){const e={visible:this.mesh.visible,count:Te.types.number(this.mesh.count,{label:"Particle Count",nudgeMultiplier:1,range:[0,this.ACTIVE_PARTICLE_COUNT]}),material:{},simulation:{}},t=[],i=["uSetup","uTexelSize","uSpeedMultiplier"],r=S.theatre.helper.autoAddUniforms(e.material,this.mesh.material.uniforms,t),s=S.theatre.helper.autoAddUniforms(e.simulation,this.positionSim.uniforms,i);S.theatre.helper.addSheetObject(this.parent.prettyName,`${this.options.name} / ${this.options.key}`,e,this).onValuesChange(a=>{for(let l=0;l<r.length;l++)r[l](this,a.material);for(let l=0;l<s.length;l++)s[l](this,a.simulation);this.mesh.visible=a.visible,this.mesh.count=a.count},S.theatre.rafDriver)}load(){S.AssetLoader.loadGltf(`/webgl/models/crypto-${this.options.key}-sphere-points.glb`).then(e=>{this.assets.models.sphere=e.scene.children[0]})}destroy(){var e;this.positionSim.destroy(),this.mesh.geometry.dispose(),this.mesh.material.dispose(),this.remove(this.mesh),this.parent.remove(this),this.assets.models.sphere.geometry.dispose(),(e=this.assets.models.sphere.material)==null||e.dispose(),this.scrollSpeedMultiplier=0}}class Hce extends co{constructor(t={}){t=An({materialOpts:{transmission:1,roughness:.1,thickness:1,color:16777215,dispersion:1,ior:1.5,attenuationDistance:200},customUniforms:{uFresnelAmount:{value:3,gui:{min:0,max:100,step:.01}},uFresnelOffset:{value:.05,gui:{min:0,max:1,step:.001}},uFresnelFalloff:{value:1.5,gui:{min:0,max:100,step:.01}}},backgroundSavePass:null},t);super(t.materialOpts);he(this,"onBeforeCompile",t=>{Object.assign(t.uniforms,{...this.customUniforms,tBackgroundPass:{value:this.backgroundSavePass.renderTarget.texture}}),t.vertexShader=t.vertexShader.replace("#include <normal_pars_vertex>",`
24599			#include <normal_pars_vertex>
24600			varying vec3 vView;
24601			varying vec3 vNormalFresnel;
24602			`),t.vertexShader=t.vertexShader.replace("#include <worldpos_vertex>",`
24603			#include <worldpos_vertex>
24604			vView = normalize(cameraPosition - worldPosition.xyz); // view direction in object space
24605			vNormalFresnel = normalize((modelMatrix * vec4(normal, 0.0)).xyz); // normalized object space normals
24606			`),t.fragmentShader=t.fragmentShader.replace("#include <roughnessmap_pars_fragment>",`
24607			#include <roughnessmap_pars_fragment>
24608
24609			uniform float uFresnelAmount;
24610			uniform float uFresnelOffset;
24611			uniform float uFresnelFalloff;
24612			varying vec3 vView;
24613			varying vec3 vNormalFresnel;
24614
24615			float fresnelFunc(float amount, float offset, float falloff, vec3 normal, vec3 view) {
24616				return clamp(offset + (1.0 - offset) * pow(1.0 - dot(normal, view), amount) * falloff, 0., 1.);
24617			}
24618			`),t.fragmentShader=t.fragmentShader.replace("#include <normal_fragment_begin>",`
24619			#include <normal_fragment_begin>
24620			vec3 viewDir = normalize(vView);
24621			float fresnel = fresnelFunc(uFresnelAmount, uFresnelOffset, uFresnelFalloff, normalize(vNormalFresnel), viewDir);
24622			roughnessFactor *= fresnel;
24623			`),t.fragmentShader=t.fragmentShader.replace("#include <transmission_pars_fragment>",`
24624			uniform sampler2D tBackgroundPass;
24625
24626				uniform float transmission;
24627				uniform float thickness;
24628				uniform float attenuationDistance;
24629				uniform vec3 attenuationColor;
24630				#ifdef USE_TRANSMISSIONMAP
24631					uniform sampler2D transmissionMap;
24632				#endif
24633				#ifdef USE_THICKNESSMAP
24634					uniform sampler2D thicknessMap;
24635				#endif
24636				uniform vec2 transmissionSamplerSize;
24637				uniform sampler2D transmissionSamplerMap;
24638				uniform mat4 modelMatrix;
24639				uniform mat4 projectionMatrix;
24640				varying vec3 vWorldPosition;
24641				float w0( float a ) {
24642					return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );
24643				}
24644				float w1( float a ) {
24645					return ( 1.0 / 6.0 ) * ( a *  a * ( 3.0 * a - 6.0 ) + 4.0 );
24646				}
24647				float w2( float a ) {
24648					return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );
24649				}
24650				float w3( float a ) {
24651					return ( 1.0 / 6.0 ) * ( a * a * a );
24652				}
24653				float g0( float a ) {
24654					return w0( a ) + w1( a );
24655				}
24656				float g1( float a ) {
24657					return w2( a ) + w3( a );
24658				}
24659				float h0( float a ) {
24660					return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );
24661				}
24662				float h1( float a ) {
24663					return 1.0 + w3( a ) / ( w2( a ) + w3( a ) );
24664				}
24665				vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {
24666					uv = uv * texelSize.zw + 0.5;
24667					vec2 iuv = floor( uv );
24668					vec2 fuv = fract( uv );
24669					float g0x = g0( fuv.x );
24670					float g1x = g1( fuv.x );
24671					float h0x = h0( fuv.x );
24672					float h1x = h1( fuv.x );
24673					float h0y = h0( fuv.y );
24674					float h1y = h1( fuv.y );
24675					vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;
24676					vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;
24677					vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;
24678					vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;
24679					return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +
24680					g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );
24681				}
24682				vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {
24683					vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );
24684					vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );
24685					vec2 fLodSizeInv = 1.0 / fLodSize;
24686					vec2 cLodSizeInv = 1.0 / cLodSize;
24687					vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );
24688					vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );
24689					return mix( fSample, cSample, fract( lod ) );
24690				}
24691				vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {
24692					vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );
24693					vec3 modelScale;
24694					modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );
24695					modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );
24696					modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );
24697					return normalize( refractionVector ) * thickness * modelScale;
24698				}
24699				float applyIorToRoughness( const in float roughness, const in float ior ) {
24700					return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );
24701				}
24702				vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {
24703					float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );
24704					return textureBicubic( tBackgroundPass, fragCoord.xy, lod );
24705				}
24706				vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {
24707					if ( isinf( attenuationDistance ) ) {
24708						return vec3( 1.0 );
24709					}
24710					else {
24711						vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;
24712						vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );
24713						return transmittance;
24714					}
24715				
24716				}
24717				vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, const in mat4 viewMatrix, const in mat4 projMatrix, const in float dispersion, const in float ior, const in float thickness, const in vec3 attenuationColor, const in float attenuationDistance ) {
24718					vec4 transmittedLight;
24719					vec3 transmittance;
24720					#ifdef USE_DISPERSION
24721						float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion;
24722						vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread );
24723						for ( int i = 0; i < 3; i ++ ) {
24724							vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix );
24725							vec3 refractedRayExit = position + transmissionRay;
24726							vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );
24727							vec2 refractionCoords = ndcPos.xy / ndcPos.w;
24728							refractionCoords += 1.0;
24729							refractionCoords /= 2.0;
24730							vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] );
24731							transmittedLight[ i ] = transmissionSample[ i ];
24732							transmittedLight.a += transmissionSample.a;
24733							transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ];
24734						}
24735						transmittedLight.a /= 3.0;
24736					#else
24737						vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );
24738						vec3 refractedRayExit = position + transmissionRay;
24739						vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );
24740						vec2 refractionCoords = ndcPos.xy / ndcPos.w;
24741						refractionCoords += 1.0;
24742						refractionCoords /= 2.0;
24743						transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );
24744						transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance );
24745					#endif
24746					vec3 attenuatedColor = transmittance * transmittedLight.rgb;
24747					vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );
24748					float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0;
24749					return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor );
24750				}
24751			`)});this.backgroundSavePass=t.backgroundSavePass,this.customUniforms=t.customUniforms}}class Vce extends uo(Qe){constructor(e={}){e=An({name:"CryptoOrbGlassSphere",speed:0},e),super(e,new Hd(2.38,32,32))}build(){this.material=new Hce({materialOpts:{transmission:1,roughness:.1,thickness:1,color:16777215,dispersion:1,ior:1.5,reflectivity:.5,attenuationDistance:200,envMap:this.assets.textures.envmap,envMapRotation:new Pi(0,0,0)},customUniforms:{uFresnelAmount:{value:3,gui:{min:0,max:100,step:.01}},uFresnelOffset:{value:.05,gui:{min:0,max:1,step:.001}},uFresnelFalloff:{value:1.5,gui:{min:0,max:100,step:.01}}},backgroundSavePass:this.parent.backgroundSavePass})}update(){}onBeforeRender(){S.WebGL.renderer.clear(!1,!0,!1)}addGui(){const e={material:{fresnelAmount:Te.types.number(this.material.customUniforms.uFresnelAmount.value,{range:[0,100],nudgeMultiplier:.01}),fresnelOffset:Te.types.number(this.material.customUniforms.uFresnelOffset.value,{range:[0,1],nudgeMultiplier:.001}),fresnelFalloff:Te.types.number(this.material.customUniforms.uFresnelFalloff.value,{range:[0,100],nudgeMultiplier:.01})}};S.theatre.helper.autoAddObject(this,this.parent.prettyName,{additionalConfig:e}).onValuesChange(i=>{this.material.customUniforms.uFresnelAmount.value=i.material.fresnelAmount,this.material.customUniforms.uFresnelOffset.value=i.material.fresnelOffset,this.material.customUniforms.uFresnelFalloff.value=i.material.fresnelFalloff},S.theatre.rafDriver)}load(){S.AssetLoader.loadTexture("/webgl/textures/studio-env.png",{mapping:Ya,wrapping:ts,colorSpace:En}).then(e=>{this.assets.textures.envmap=e})}}var Gce=`#include <default_pars>
24752#include <logdepthbuf_pars_vertex>
24753#include <clipping_planes_pars_vertex>
24754uniform float uLineWidth;uniform vec2 uResolution;uniform vec2 uMouse;uniform float uMouseRadius;uniform float uMouseFresnelAmount;uniform float uMouseFresnelOffset;uniform float uMouseFresnelFalloff;attribute vec3 instanceStart;attribute vec3 instanceEnd;varying float vMouseInfluence;varying float vVertIndex;attribute float instanceIndexStart;attribute float instanceIndexEnd;varying float vRandom;
24755#ifdef WORLD_UNITS
24756varying vec4 worldPos;varying vec3 worldStart;varying vec3 worldEnd;
24757#endif
24758varying vec2 vUv;varying float vPositionY;attribute float instanceDistanceStart;attribute float instanceDistanceEnd;varying float vLineDistance;uniform float uTime;void trimSegment(const in vec4 start,inout vec4 end){float a=projectionMatrix[2][2];float b=projectionMatrix[3][2];float nearEstimate=-0.5*b/a;float alpha=(nearEstimate-start.z)/(end.z-start.z);end.xyz=mix(start.xyz,end.xyz,alpha);}vec4 rotationQuat(const in vec3 axis,const in float angle){vec3 axisNorm=normalize(axis);return vec4(axisNorm*sin(angle/2.0),cos(angle/2.0));}mat3 rotationMatrix(const in vec4 q){float x=q.x;float y=q.y;float z=q.z;float w=q.w;float x2=x+x;float y2=y+y;float z2=z+z;float xx=x*x2;float xy=x*y2;float xz=x*z2;float yy=y*y2;float yz=y*z2;float zz=z*z2;float wx=w*x2;float wy=w*y2;float wz=w*z2;return mat3(1.0-(yy+zz),xy+wz,xz-wy,xy-wz,1.0-(xx+zz),yz+wx,xz+wy,yz-wx,1.0-(xx+yy));}float rand(float p){return fract(sin(p)*43758.5453123);}float fresnelFunc(float amount,float offset,float falloff,vec3 normal,vec3 view){return clamp(offset+(1.0-offset)*pow(1.0-dot(normal,view),amount)*falloff,0.,1.);}void main(){vUv=uv;vPositionY=position.y;vVertIndex=(position.y<0.5)? instanceIndexStart : instanceIndexEnd;vLineDistance=(position.y<0.5)? instanceDistanceStart : instanceDistanceEnd;float aspect=uResolution.x/uResolution.y;vec4 start=viewMatrix*modelMatrix*vec4(instanceStart,1.0);vec4 end=viewMatrix*modelMatrix*vec4(instanceEnd,1.0);
24759#ifdef WORLD_UNITS
24760worldStart=start.xyz;worldEnd=end.xyz;
24761#endif
24762bool perspective=(projectionMatrix[2][3]==-1.0);if(perspective){if(start.z<0.0&&end.z>=0.0){trimSegment(start,end);}else if(end.z<0.0&&start.z>=0.0){trimSegment(end,start);}}vec4 clipStart=projectionMatrix*start;vec4 clipEnd=projectionMatrix*end;vec3 ndcStart=clipStart.xyz/clipStart.w;vec3 ndcEnd=clipEnd.xyz/clipEnd.w;vec2 dir=ndcEnd.xy-ndcStart.xy;dir.x*=aspect;dir=normalize(dir);
24763#ifdef WORLD_UNITS
24764vec3 worldDir=normalize(end.xyz-start.xyz);vec3 tmpFwd=normalize(mix(start.xyz,end.xyz,0.5));vec3 worldUp=normalize(cross(worldDir,tmpFwd));vec3 worldFwd=cross(worldDir,worldUp);worldPos=position.y<0.5 ? start: end;float hw=uLineWidth*0.5;worldPos.xyz+=position.x<0.0 ? hw*worldUp :-hw*worldUp;worldPos.xyz+=position.y<0.5 ?-hw*worldDir : hw*worldDir;worldPos.xyz+=worldFwd*hw;if(position.y>1.0||position.y<0.0){worldPos.xyz-=worldFwd*2.0*hw;}vec4 clip=projectionMatrix*worldPos;
24764vec3 clipPose=(position.y<0.5)? ndcStart : ndcEnd;clip.z=clipPose.z*clip.w;
24765#else
24766vec2 offset=vec2(dir.y,-dir.x);dir.x/=aspect;offset.x/=aspect;if(position.x<0.0)offset*=-1.0;if(position.y<0.0){offset+=-dir;}else if(position.y>1.0){offset+=dir;}offset*=uLineWidth;offset/=uResolution.y;vec4 clip=(position.y<0.5)? clipStart : clipEnd;offset*=clip.w;clip.xy+=offset;
24767#endif
24768gl_Position=clip;vec2 screenSpace=gl_Position.xy/gl_Position.w*0.5+vec2(0.5);float dist=distance(screenSpace,uMouse);vMouseInfluence=1.0-smoothstep(0.01,uMouseRadius,dist);vec3 viewDir=-worldPos.xyz;vec3 fakePos=(position.y<0.5)? instanceStart : instanceEnd;vec3 fakeNormal=normalize(modelMatrix*vec4(normalize(fakePos),1.0)).rgb;float fresnel=max(0.0,1.0-fresnelFunc(uMouseFresnelAmount,uMouseFresnelOffset,uMouseFresnelFalloff,fakeNormal,viewDir));vMouseInfluence*=fresnel;vec4 mvPosition=(position.y<0.5)? start : end;
24769#include <logdepthbuf_vertex>
24770#include <clipping_planes_vertex>
24771}`,Qce=`#include <default_pars>
24772#include <logdepthbuf_pars_fragment>
24773#include <clipping_planes_pars_fragment>
24774uniform vec3 uBaseColor;uniform vec3 uHoverColor;uniform float uOpacity;uniform float uLineWidth;varying float vMouseInfluence;varying float vLineDistance;varying float vVertIndex;
24775#ifdef WORLD_UNITS
24776varying vec4 worldPos;varying vec3 worldStart;varying vec3 worldEnd;
24777#endif
24778varying vec2 vUv;varying float vPositionY;vec2 closestLineToLine(vec3 p1,vec3 p2,vec3 p3,vec3 p4){float mua;float mub;vec3 p13=p1-p3;vec3 p43=p4-p3;vec3 p21=p2-p1;float d1343=dot(p13,p43);float d4321=dot(p43,p21);float d1321=dot(p13,p21);float d4343=dot(p43,p43);float d2121=dot(p21,p21);float denom=d2121*d4343-d4321*d4321;float numer=d1343*d4321-d1321*d4343;mua=numer/denom;mua=clamp(mua,0.0,1.0);mub=(d1343+d4321*(mua))/d4343;mub=clamp(mub,0.0,1.0);return vec2(mua,mub);}float easeOutExpo(float t){return 1.0-pow(2.0,-10.0*t);}float easeOutExpo(float t,float power){return 1.0-pow(2.0,-power*t);}float easeOutCubic(float t){return 1.0-pow(1.0-t,3.0);}float easeOutLinear(float t){return 1.0-t;}float easeInExpo(float t,float power){return pow(2.0,power*(t-1.0));}float rand(const in float n){return fract(sin(n)*43758.5453123);}void main(){
24779#include <clipping_planes_fragment>
24780float alpha=uOpacity;
24781#ifdef WORLD_UNITS
24782vec3 rayEnd=normalize(worldPos.xyz)*1e5;vec3 lineDir=worldEnd-worldStart;vec2 params=closestLineToLine(worldStart,worldEnd,vec3(0.0,0.0,0.0),rayEnd);vec3 p1=worldStart+lineDir*params.x;vec3 p2=rayEnd*params.y;vec3 delta=p1-p2;float len=length(delta);float norm=len/uLineWidth;
24783#ifdef USE_ALPHA_TO_COVERAGE
24784float dnorm=fwidth(norm);alpha=1.0-smoothstep(0.5-dnorm,0.5+dnorm,norm);
24785#else
24786if(norm>0.5){discard;}
24787#endif
24788#else
24789#ifdef USE_ALPHA_TO_COVERAGE
24790float a=vUv.x;float b=(vUv.y>0.0)? vUv.y-1.0 : vUv.y+1.0;float len2=a*a+b*b;float dlen=fwidth(len2);if(abs(vUv.y)>1.0){alpha=1.0-smoothstep(1.0-dlen,1.0+dlen,len2);}
24791#else
24792if(abs(vUv.y)>1.0){float a=vUv.x;float b=(vUv.y>0.0)? vUv.y-1.0 : vUv.y+1.0;float len2=a*a+b*b;if(len2>1.0)discard;}
24793#endif
24794#endif
24795#include <logdepthbuf_fragment>
24796gl_FragColor.a=alpha;gl_FragColor.rgb=uBaseColor*5.;gl_FragColor.rgb=mix(gl_FragColor.rgb,uHoverColor*5.0,vMouseInfluence);
24797#include <tonemapping_fragment>
24798#include <colorspace_fragment>
24799#include <premultiplied_alpha_fragment>
24800}`;class Wce extends is{constructor(e={}){e=An({vertexShader:Gce,fragmentShader:Qce,uniforms:{uMouse:{value:new Re(-10,-10)},uOpacity:{value:1,gui:{min:0,max:1,step:.1}}},defines:{WORLD_UNITS:!0},transparent:!0,depthTest:!1},e),super(e)}}class jce extends uo(){constructor(e={}){e=An({name:"hover-line",key:"hover",speed:0,scrollResponsiveness:.5,scrollMaxSpeed:10},e),super(e),this.globalUniforms={uLineWidth:{value:.008,gui:{min:0,max:.1,step:.001}},uBaseColor:{value:new ke(15855337)},uHoverColor:{value:new ke(0)},uMouseRadius:{value:.1,gui:{min:0,step:.01}},uMouseFresnelAmount:{value:3,gui:{min:0,max:100,step:.01}},uMouseFresnelOffset:{value:.01,gui:{min:0,max:1,step:.001}},uMouseFresnelFalloff:{value:.1,gui:{min:0,max:100,step:.01}}},this.getOffsetFunction=this.getNameOffset,this.pointerPos=new Re(-10,-10),this.targetPointerPos=new Re(-10,-10),this.scrollSpeedMultiplier=1}getNameOffset(e){return gn.mapLinear(gn.seededRandom(42342+Object.keys(this.lineData).filter(t=>t.startsWith(e.split("-")[0])).length+Object.keys(this.lineData).indexOf(e.split("-")[0]+"-001")),0,1,.5,1)}getRandomOffset(e){return gn.mapLinear(gn.seededRandom(e.split("-")[0].split("extended")[1]+45468),0,1,.2,1)}build(e){this.lineData=Object.keys(e.paths).filter(a=>a.startsWith(this.options.key)).reduce((a,l)=>(a[l]=e.paths[l],a),{});const t=[],i=[];for(const a in this.lineData){const l=this.lineData[a][0];for(let c=0;c<l.length-1;c++){const u=l[c],f=l[c+1];t.push(u[0],u[1],u[2]),t.push(f[0],f[1],f[2]),i.push(c/(l.length-1)),i.push((c+1)/(l.length-1))}}const r=new Dd().setPositions(t),s=new Float32Array(i),o=new Yr(s,2,1);r.setAttribute("instanceIndexStart",new fn(o,1,0)),r.setAttribute("instanceIndexEnd",new fn(o,1,1)),this.line=new ip(r,new Wce({uniforms:{...this.globalUniforms},defines:{}})),this.line.name=`${this.options.name} / Line`,this.line.computeLineDistances(),this.line.scale.set(1,1,1),this.add(this.line),this.scene=this.parent}update(){S.pointer.glScreenSpace.equals(this.targetPointerPos)||(this.targetPointerPos.copy(S.pointer.glScreenSpace),this.pointerPos.x===-10&&this.pointerPos.y===-10&&this.pointerPos.copy(this.targetPointerPos)),this.pointerPos.lerp(this.targetPointerPos,.08),this.line.material.uniforms.uMouse.value.copy(this.pointerPos),this.updateScrollRotation(this.scene.scrollVelocity),this.line.rotation.y+=this.options.speed+this.scrollSpeedMultiplier}updateScrollRotation(e){this.scrollSpeedMultiplier=Math.abs(e)*this.options.scrollResponsiveness,this.scrollSpeedMultiplier=gn.clamp(this.scrollSpeedMultiplier,0,this.options.scrollMaxSpeed)}addGui(){S.theatre.helper.autoAddObject(this.line,this.parent.prettyName,{exclude:["uMouse",...Object.keys(this.globalUniforms)]});const e={},t=S.theatre.helper.autoAddUniforms(e,this.globalUniforms,["uTheatreTime"]);S.theatre.helper.addSheetObject(this.parent.prettyName,`${this.options.name} / Global`,e,this).onValuesChange(r=>{for(let s=0;s<t.length;s++)t[s](this,r)},S.theatre.rafDriver)}destroy(){super.destroy(),this.remove(this.line),this.line.geometry.dispose(),this.line.material.dispose(),this.parent.remove(this),this.pointerPos.set(-10,-10),this.targetPointerPos.set(-10,-10),this.scrollSpeedMultiplier=1}}const u6=Object.assign({"/public/webgl/crypto-orb.unseen":Mce});class qce extends cc{constructor(){super("crypto-orb",{domId:"crypto",domAlign:"left"}),Object.assign(this.components,{lines:new Bce({speed:.001,scrollResponsiveness:1e-5,scrollMaxSpeed:3}),connectingLines:new Fce({speed:.001,scrollResponsiveness:1e-5,scrollMaxSpeed:3}),hoverLines:new jce({speed:.001,scrollResponsiveness:1e-5,scrollMaxSpeed:3}),innerParticleSphere:new c6({scene:this,scrollResponsiveness:7e-6,scrollMaxSpeed:.15}),outerParticleSphere:new c6({key:"outer",scene:this,scrollResponsiveness:7e-6,scrollMaxSpeed:.3}),glassSphere:new Vce}),this.glassObjectsScene=new Wa,this.glassObjectsScene.name=this.prettyName,this.scrollVelocity=0}start(){super.start(),this.renderPassOrbObjects.enabled=!0,this.backgroundSavePass.enabled=!0}stop(){super.stop(),this.renderPassOrbObjects.enabled=!1,this.backgroundSavePass.enabled=!1}update(){this.sectionScroll&&(this.scrollVelocity=gn.lerp(this.scrollVelocity,this.sectionScroll.getVelocity(),.05)),super.update(
24800)}build(){super.build(),this.glassObjectsScene.add(this.backgroundSphere),this.glassObjectsScene.add(this.components.lines),this.glassObjectsScene.add(this.components.connectingLines),this.glassObjectsScene.add(this.components.hoverLines),this.glassObjectsScene.add(this.components.innerParticleSphere),this.glassObjectsScene.add(this.components.outerParticleSphere)}buildPasses(){super.buildPasses(),this.renderPass.clear=!1,this.renderPass.clearDepth=!0,this.renderPassOrbObjects=new m4(this.glassObjectsScene,this.activeCamera),this.renderPassOrbObjects.name=`${this.name} Render Orb Objects`,this.renderPassOrbObjects.enabled=!1,this.backgroundSavePass=new g4(new li(S.window.w*S.WebGL.renderer.getPixelRatio(),S.window.h*S.WebGL.renderer.getPixelRatio(),{type:nn,generateMipmaps:!0,minFilter:jx})),this.backgroundSavePass.name=`${this.name} Background Save`,this.backgroundSavePass.enabled=!1,this.backgroundSavePass.renderTarget.setSize(S.window.w*S.WebGL.renderer.getPixelRatio(),S.window.h*S.WebGL.renderer.getPixelRatio()),S.WebGL.composerPasses.add(this.renderPassOrbObjects,S.WebGL.composerPassOrder[this.name]+2),S.WebGL.composerPasses.add(this.backgroundSavePass,S.WebGL.composerPassOrder[this.name]+3)}load(){for(const e in u6)this.objectData=u6[e];this.objectData=JSON.parse(this.objectData)}destroy(){super.destroy(),this.renderPassOrbObjects.dispose(),this.backgroundSavePass.dispose(),this.scrollVelocity=0}}var Xce=`#include <default_pars>
24801#include <normals_tangents_vert_pars>
24802#include <world_position_transform_vert_pars>
24803attribute float _len;attribute float _strand_1;attribute float _strand_2;attribute float _bundle;varying vec2 vUv;varying float vLen;varying float vStrand1;varying float vStrand2;varying float vBundle;uniform float uTime;uniform sampler2D tFluidSim;float luminance(const in vec3 rgb){const vec3 weights=vec3(0.2126,0.7152,0.0722);return dot(weights,rgb);}void main(){vUv=uv;vLen=_len;vStrand1=_strand_1;vStrand2=_strand_2;vBundle=_bundle;vec4 transformedPosition=vec4(position,1.0);vec4 earlyProjection=projectionMatrix*modelViewMatrix*vec4(position,1.);vec2 screenSpace=earlyProjection.xy/earlyProjection.w*vec2(0.5,0.5)+vec2(0.5,0.5);vec3 fluidColor=texture2D(tFluidSim,screenSpace).rgb;float fluid=luminance(abs(fluidColor));fluid=smoothstep(-1.,1.5,fluid)-0.5;fluid*=0.15;vec3 dirToCenter=normalize(position-vec3(0.0,0.0,0.0));
24804#ifndef MAIN_ORB
24805transformedPosition.xyz+=vec3(fluid)*dirToCenter;
24806#endif
24807#include <normals_tangents_vert>
24808#include <instance_offset_vert>
24809/***Do any overall instance transformations(after instance offsets are applied)here*aka transform instances uniformly in "local" instance MESH space**With non-instanced meshes this is equal to local transform**e.g. transformedPosition.y=transformedPosition.y+sin(uTime*2.)*5.;*/
24810#include <world_position_transform_vert>
24811/***Do any world transformations here**e.g. worldPosition.y=worldPosition.y+sin(uTime*2.)*5.;*/
24812#include <mv_position_transform_vert>
24813#include <varyings_vert>
24814gl_Position=projectionMatrix*mvPosition;}`,Yce=`#include <default_pars>
24815#include <default_frag_pars>
24816#include <dynamic_frag_pars>
24817#include <tonemapping_pars_fragment>
24818uniform int uToneMapping;varying vec2 vUv;varying float vLen;varying float vStrand1;varying float vStrand2;varying float vBundle;uniform float uTime;uniform vec3 uHighlightColor;uniform float uHighlightPower;uniform float uMatcapContrast;uniform float uFillLength;uniform float uEndFadeLength;uniform float uStartFadeLength;uniform float uFillRepeat;uniform float uBundleOffset;uniform float uStrandOffset;uniform float uFadeContrast;uniform float uSpeed;uniform float uRevealProgress;uniform vec2 uResolution;uniform sampler2D tFluidSim;vec3 loopingThreshold(float progress,float fillLength,float startFade,float endFade,float repeat){float progressModulo=fract(progress*repeat);progressModulo=smoothstep(0.0,fillLength,progressModulo);float startThreshold=smoothstep(0.0,startFade,progressModulo);float endThreshold=smoothstep(1.-endFade,1.0,progressModulo);return vec3(startThreshold-endThreshold,startThreshold,endThreshold);}void main(){
24819#include <dynamic_frag>
24820gl_FragColor.rgb=pow(gl_FragColor.rgb,vec3(uMatcapContrast+(vStrand1*2.-1.)*0.1));gl_FragColor.rgb*=uColor;float time;float len;
24821#ifdef MAIN_ORB
24822len=vLen;time=uTime*(uSpeed+vBundle*0.1)+vBundle*uBundleOffset+vStrand2*uStrandOffset;
24823#else
24824len=vLen;time=uTime*uSpeed+vBundle*uBundleOffset;
24825#endif
24826float progress=len+time+sin(uTime*2.+vBundle*24.392)*0.05;
24826vec3 thresholds=loopingThreshold(mod(progress,1.0),uFillLength,uStartFadeLength+vStrand1*0.1,uEndFadeLength,uFillRepeat+floor(vBundle*vBundle));vec3 highlightColor=pow(uHighlightColor,vec3(map(vStrand1,0.,1.,0.3,2.)));highlightColor=gl_FragColor.rgb*highlightColor;highlightColor+=highlightColor*(1.-pow(uHighlightColor,vec3(1.-thresholds.y)*uFadeContrast))*uHighlightPower*(1.-thresholds.y);gl_FragColor.rgb=mix(gl_FragColor.rgb,highlightColor,1.-thresholds.y);float backsideFade=smoothstep(-2.5,0.,vWorldPosition.z);gl_FragColor.a*=backsideFade;
24827#ifdef MAIN_ORB
24828vec2 screenCoords=gl_FragCoord.xy/uResolution.xy;vec3 fluidColor=texture2D(tFluidSim,screenCoords).rgb;float fluid=luminance(abs(fluidColor.rgb));fluid=smoothstep(0.,1.,fluid);fluid*=1.;gl_FragColor.rgb=pow(gl_FragColor.rgb,vec3(1.+fluid*1.));
24829#endif
24830#ifdef MAIN_ORB
24831if(1.-(vLen+vStrand1*0.1+vBundle*0.1)>map(uRevealProgress,0.,1.,-0.2,1.2))discard;
24832#else
24833if(1.-(vLen+vBundle*0.1)>map(uRevealProgress,0.,1.,-0.1,1.1))discard;
24834#endif
24835if(thresholds.x<0.01)discard;
24836#include <tonemapping_frag>
24837#include <colorspace_fragment>
24838}`,$ce=`#include <default_pars>
24839#include <normals_tangents_vert_pars>
24840#include <world_position_transform_vert_pars>
24841varying vec2 vUv;uniform float uTime;mat4 rotationMatrix(vec3 axis,float angle){axis=normalize(axis);float s=sin(angle);float c=cos(angle);float oc=1.0-c;return mat4(oc*axis.x*axis.x+c,oc*axis.x*axis.y-axis.z*s,oc*axis.z*axis.x+axis.y*s,0.0,oc*axis.x*axis.y+axis.z*s,oc*axis.y*axis.y+c,oc*axis.y*axis.z-axis.x*s,0.0,oc*axis.z*axis.x-axis.y*s,oc*axis.y*axis.z+axis.x*s,oc*axis.z*axis.z+c,0.0,0.0,0.0,0.0,1.0);}void main(){vUv=uv;vec4 transformedPosition=vec4(position,1.0);
24842#include <normals_tangents_vert>
24843#include <instance_offset_vert>
24844/***Do any overall instance transformations(after instance offsets are applied)here*aka transform instances uniformly in "local" instance MESH space**With non-instanced meshes this is equal to local transform**e.g. transformedPosition.y=transformedPosition.y+sin(uTime*2.)*5.;*/
24845#include <world_position_transform_vert>
24846/***Do any world transformations here**e.g. worldPosition.y=worldPosition.y+sin(uTime*2.)*5.;*/
24847#include <mv_position_transform_vert>
24848#include <varyings_vert>
24849gl_Position=projectionMatrix*mvPosition;}`,Kce=`#include <default_pars>
24850#include <default_frag_pars>
24851#include <dynamic_frag_pars>
24852#include <tonemapping_pars_fragment>
24853uniform int uToneMapping;varying vec2 vUv;void main(){
24854#include <dynamic_frag>
24855#include <tonemapping_frag>
24856#include <colorspace_fragment>
24857}`;class kA extends is{constructor(e={},t){e=An({vertexShader:$ce,fragmentShader:Kce,uniforms:{tDiffuse:{value:new xn},uDiffuseScale:{value:1},tNormal:{value:new xn},uNormalScale:{value:1},uNormalStrength:{value:1,gui:{min:0,max:1,step:.001}},tMatcap:{value:new xn},tEnvMap:{value:null},uEnvMapStrength:{value:1.6,gui:{min:0,step:.001}},uDiffuseMatcapBlend:{value:1,gui:{min:0,max:1,step:.001}},tRoughness:{value:new xn},uRoughness:{value:1,gui:{min:0,max:1,step:.001}},uRoughnessScale:{value:1},tMetalness:{value:new xn},uMetalness:{value:0,gui:{min:0,max:1,step:.001}},uMetalnessScale:{value:1},uSpecularIntensity:{value:1,gui:{min:0,max:10,step:.001}},uSpecularColor:{value:new ke(16777215)},uIOR:{value:1.5,gui:{min:0,max:2.33,step:.001}},uColor:{value:new ke(16777215)},uEmissiveColor:{value:new ke(0)},uOpacity:{value:1,gui:{min:0,max:1,step:.001}},tLightMap:{value:new xn},uLightMapIntensity:{value:0,gui:{min:0,step:.01}},tEmissiveMap:{value:new xn},uMatcapBlendMode:{value:5,gui:{min:0,max:5,step:1}},toneMappingExposure:{value:1},uToneMapping:{value:3}},defines:{USE_DIFFUSE:!1,USE_NORMAL:!1,USE_MATCAP:!1,USE_ENV:!1,USE_ROUGH:!1,USE_METALNESS:!1,USE_EMISSIVEMAP:!1,USE_LIGHTMAP:!1,USE_TONEMAPPING:!1,USE_UDIMS:!1}},e),super(e),this.scene=t,this.generatePMREMDefines()}generatePMREMDefines(){if(this.defines.CUBEUV_TEXEL_WIDTH&&this.defines.CUBEUV_TEXEL_HEIGHT&&this.defines.CUBEUV_MAX_MIP||!this.uniforms.tEnvMap.value)return;const e=S.WebGL.pmremHandler.generateShaderDefines(this.uniforms.tEnvMap.value);this.defines=Object.assign(this.defines,e)}applyMaterialProperties(e,t){Object.values(e.material).length>
248570&&(e.material.metallic&&(this.uniforms.uMetalness.value=e.material.metallic),e.material.roughness&&(this.uniforms.uRoughness.value=e.material.roughness),e.material.ior&&(this.uniforms.uIOR.value=e.material.ior),e.material.specular&&(this.uniforms.uSpecularIntensity.value=e.material.specular),e.material.alpha&&(this.uniforms.uOpacity.value=e.material.alpha),e.material.alpha<1&&(this.transparent=!0)),Object.values(e.textures).length>0&&(e.textures["base-color"]&&!Array.isArray(e.textures["base-color"])&&(this.uniforms.tDiffuse.value=t["base-color"]),e.textures.normal&&!Array.isArray(e.textures.normal)&&(this.uniforms.tNormal.value=t.normal),e.textures.metallic&&!Array.isArray(e.textures.metallic)&&(this.uniforms.tMetalness.value=t.metallic),e.textures.roughness&&!Array.isArray(e.textures.roughness)&&(this.uniforms.tRoughness.value=t.roughness,this.uniforms.uRoughness.value=1))}}var Zce=`#define PI 3.141592653589793
24858#define PI2 6.283185307179586
24859#define PI_HALF 1.5707963267948966
24860#define RECIPROCAL_PI 0.3183098861837907
24861#define RECIPROCAL_PI2 0.15915494309189535
24862#define EPSILON 1e-6
24863#define saturate( a ) clamp( a, 0.0, 1.0 )
24864float map(float value,float min1,float max1,float min2,float max2){return min2+(value-min1)*(max2-min2)/(max1-min1);}
24865#if defined(USE_ENV) || defined(USE_FOG)
24866#include <cubeUVreflectionFrag>
24867#endif
24868vec3 transformDirection(in vec3 dir,in mat4 matrix){return normalize((matrix*vec4(dir,0.0)).xyz);}vec3 inverseTransformDirection(in vec3 dir,in mat4 matrix){return normalize((vec4(dir,0.0)*matrix).xyz);}`,Jce=`float blendSoftLight(float base,float blend){return(blend<0.5)?(2.0*base*blend+base*base*(1.0-2.0*blend)):(sqrt(base)*(2.0*blend-1.0)+2.0*base*(1.0-blend));}vec3 blendSoftLight(vec3 base,vec3 blend){return vec3(blendSoftLight(base.r,blend.r),blendSoftLight(base.g,blend.g),blendSoftLight(base.b,blend.b));}vec3 blendSoftLight(vec3 base,vec3 blend,float opacity){return(blendSoftLight(base,blend)*opacity+base*(1.0-opacity));}float blendLinearBurn(float base,float blend){return max(base+blend-1.0,0.0);}vec3 blendLinearBurn(vec3 base,vec3 blend){return max(base+blend-vec3(1.0),vec3(0.0));}vec3 blendLinearBurn(vec3 base,vec3 blend,float opacity){return(blendLinearBurn(base,blend)*opacity+base*(1.0-opacity));}float blendLinearDodge(float base,float blend){return min(base+blend,1.0);}vec3 blendLinearDodge(vec3 base,vec3 blend){return min(base+blend,vec3(1.0));}vec3 blendLinearDodge(vec3 base,vec3 blend,float opacity){return(blendLinearDodge(base,blend)*opacity+base*(1.0-opacity));}float blendLinearLight(float base,float blend){return blend<0.5?blendLinearBurn(base,(2.0*blend)):blendLinearDodge(base,(2.0*(blend-0.5)));}vec3 blendLinearLight(vec3 base,vec3 blend){return vec3(blendLinearLight(base.r,blend.r),blendLinearLight(base.g,blend.g),blendLinearLight(base.b,blend.b));}vec3 blendLinearLight(vec3 base,vec3 blend,float opacity){return(blendLinearLight(base,blend)*opacity+base*(1.0-opacity));}float blendLighten(float base,float blend){return max(blend,base);}vec3 blendLighten(vec3 base,vec3 blend){return vec3(blendLighten(base.r,blend.r),blendLighten(base.g,blend.g),blendLighten(base.b,blend.b));}vec3 blendLighten(vec3 base,vec3 blend,float opacity){return(blendLighten(base,blend)*opacity+base*(1.0-opacity));}float blendOverlay(float base,float blend){return base<0.5?(2.0*base*blend):(1.0-2.0*(1.0-base)*(1.0-blend));}vec3 blendOverlay(vec3 base,vec3 blend){return vec3(blendOverlay(base.r,blend.r),blendOverlay(base.g,blend.g),blendOverlay(base.b,blend.b));}vec3 blendOverlay(vec3 base,vec3 blend,float opacity){return(blendOverlay(base,blend)*opacity+base*(1.0-opacity));}float blendColorDodge(float base,float blend){return(blend==1.0)?blend:min(base/(1.0-blend),1.0);}vec3 blendColorDodge(vec3 base,vec3 blend){return vec3(blendColorDodge(base.r,blend.r),blendColorDodge(base.g,blend.g),blendColorDodge(base.b,blend.b));}vec3 blendColorDodge(vec3 base,vec3 blend,float opacity){return(blendColorDodge(base,blend)*opacity+base*(1.0-opacity));}float blendScreen(float base,float blend){return 1.0-((1.0-base)*(1.0-blend));}vec3 blendScreen(vec3 base,vec3 blend){return vec3(blendScreen(base.r,blend.r),blendScreen(base.g,blend.g),blendScreen(base.b,blend.b));}vec3 blendScreen(vec3 base,vec3 blend,float opacity){return(blendScreen(base,blend)*opacity+base*(1.0-opacity));}float blendAdd(float base,float blend){return min(base+blend,1.0);}vec3 blendAdd(vec3 base,vec3 blend){return min(base+blend,vec3(1.0));}vec3 blendAdd(vec3 base,vec3 blend,float opacity){return(blendAdd(base,blend)*opacity+base*(1.0-opacity));}vec3 blendMultiply(vec3 base,vec3 blend){return base*blend;}vec3 blendMultiply(vec3 base,vec3 blend,float opacity){return(blendMultiply(base,blend)*opacity+base*(1.0-opacity));}
24869#ifndef saturate
24870#define saturate( a ) clamp( a, 0.0, 1.0 )
24871#endif
24872float pow2(const in float x){return x*x;}vec3 pow2(const in vec3 x){return x*x;}float pow3(const in float x){return x*x*x;}float pow4(const in float x){float x2=x*x;return x2*x2;}float max3(const in vec3 v){return max(max(v.x,v.y),v.z);}float average(const in vec3 v){return dot(v,vec3(0.3333333));}vec4 sRGBToLinear(in vec4 value){return vec4(mix(pow(value.rgb*0.9478672986+vec3(0.0521327014),vec3(2.4)),value.rgb*0.0773993808,vec3(lessThanEqual(value.rgb,vec3(0.04045)))),value.w);}vec3 sRGBToLinear(in vec3 value){return vec3(mix(pow(value.rgb*0.9478672986+vec3(0.0521327014),vec3(2.4)),value.rgb*0.0773993808,vec3(lessThanEqual(value.rgb,vec3(0.04045)))));}`,eue=`vec3 objectNormal=vec3(normal);vec3 transformedNormal=objectNormal;
24873#ifdef USE_INSTANCING
24874mat3 m=mat3(instanceMatrix);transformedNormal/=vec3(dot(m[0],m[0]),dot(m[1],m[1]),dot(m[2],m[2]));transformedNormal=m*transformedNormal;
24875#endif
24876transformedNormal=normalMatrix*transformedNormal;vNormal=normalize(transformedNormal);`,tue=`#ifdef USE_TONEMAPPING
24877if(uToneMapping==0){gl_FragColor.rgb=LinearToneMapping(gl_FragColor.rgb);}else if(uToneMapping==1){gl_FragColor.rgb=ReinhardToneMapping(gl_FragColor.rgb);}else if(uToneMapping==2){gl_FragColor.rgb=OptimizedCineonToneMapping(gl_FragColor.rgb);}else{gl_FragColor.rgb=ACESFilmicToneMapping(gl_FragColor.rgb);}
24878#endif
24879`,nue="attribute vec2 aPosition;attribute vec2 aOffset;attribute vec2 aSize;attribute float aIndex;attribute float aWord;attribute float aLine;attribute float aLength;attribute float aPage;uniform float uFontBase;uniform float uFontLineHeight;uniform float uFontSize;
24879uniform float uLayoutDescender;varying vec2 vUv;varying vec2 vPosition;varying vec2 vOffset;varying vec2 vSize;varying float vIndex;varying float vWord;varying float vLine;varying float vLength;varying float vPage;",iue="vUv=uv;vPosition=aPosition;vOffset=aOffset;vSize=aSize;vIndex=aIndex;vWord=aWord;vLine=aLine;vLength=aLength;vPage=aPage;vec3 transformedPos=position;",rue="precision highp float;uniform float uOpacity;uniform vec3 uColor;uniform float uFontBase;uniform float uFontLineHeight;uniform float uFontSize;uniform float uLayoutDescender;varying vec2 vUv;varying vec2 vPosition;varying vec2 vOffset;varying vec2 vSize;varying float vIndex;varying float vWord;varying float vLine;varying float vLength;varying float vPage;float median(float r,float g,float b){return max(min(r,g),min(max(r,g),b));}float spxRange(sampler2D tex,vec2 uv){vec2 unit=vec2(6.0)/vec2(textureSize(tex,0));vec2 screen=vec2(1.0)/fwidth(uv);return max(0.5*dot(unit,screen),1.0);}",sue="vec3 bitmap=msdf();float range=pxRange();float sigDist=median(bitmap.r,bitmap.g,bitmap.b);float pxDist=range*(sigDist-0.5);float alpha=clamp(pxDist+0.5,0.0,1.0);float mask=clamp(alpha*uOpacity,0.,1.);gl_FragColor=vec4(uColor.xyz,alpha);",oue="uniform float uProgress;uniform float uStagger;varying float vDiff;float textAnimation(float bound,float index,float stagger){return(bound*stagger)*(index)+bound;}",aue=`float progress=(1.-uProgress);
24880#ifdef ANIM_CHAR_X
24881transformedPos.x-=textAnimation(aSize.x,aIndex,uStagger)*progress;vDiff=transformedPos.x;
24882#endif
24883#ifdef ANIM_CHAR_Y
24884transformedPos.y+=textAnimation(uFontLineHeight,aIndex,uStagger)*progress;vDiff=transformedPos.y;
24885#endif
24886#ifdef ANIM_WORD_X
24887transformedPos.x-=textAnimation(aSize.x,aWord,uStagger)*progress;vDiff=transformedPos.x;
24888#endif
24889#ifdef ANIM_WORD_Y
24890transformedPos.y+=textAnimation(uFontLineHeight,aWord,uStagger)*progress;vDiff=transformedPos.y;
24891#endif
24892#ifdef ANIM_LINE_X
24893transformedPos.x-=textAnimation(aSize.x,aLine,uStagger)*progress;vDiff=transformedPos.x;
24894#endif
24895#ifdef ANIM_LINE_Y
24896transformedPos.y+=textAnimation(uFontLineHeight,aLine,uStagger)*progress;vDiff=transformedPos.y;
24897#endif
24898`,lue="varying float vDiff;",cue=`#ifdef ANIM_CHAR_X
24899if(vDiff<(vPosition.x+vOffset.x))discard;
24900#endif
24901#ifdef ANIM_CHAR_Y
24902if(vDiff>(vPosition.y+uFontLineHeight))discard;
24903#endif
24904#ifdef ANIM_WORD_X
24905if(vDiff<(vPosition.x+vOffset.x))discard;
24906#endif
24907#ifdef ANIM_WORD_Y
24908if(vDiff>(vPosition.y+uFontLineHeight))discard;
24909#endif
24910#ifdef ANIM_LINE_X
24911if(vDiff<(vPosition.x+vOffset.x))discard;
24912#endif
24913#ifdef ANIM_LINE_Y
24914if(vDiff>(vPosition.y+uFontLineHeight))discard;
24915#endif
24916`,uue="attribute vec4 tangent;varying vec3 vNormal;varying vec3 vTangent;varying vec3 vBitangent;",fue=`vec3 objectNormal=vec3(normal);vec3 objectTangent=vec3(tangent.xyz);vec3 transformedNormal=objectNormal;
24917#ifdef USE_INSTANCING
24918mat3 m=mat3(instanceMatrix);transformedNormal/=vec3(dot(m[0],m[0]),dot(m[1],m[1]),dot(m[2],m[2]));transformedNormal=m*transformedNormal;
24919#endif
24920transformedNormal=normalMatrix*transformedNormal;vec3 transformedTangent=(modelViewMatrix*vec4(objectTangent,0.0)).xyz;vNormal=normalize(transformedNormal);vTangent=normalize(transformedTangent);vBitangent=normalize(cross(vNormal,vTangent)*tangent.w);`,due="varying vec3 vViewPosition;varying vec4 vWorldPosition;",hue="vec4 worldPosition=modelMatrix*transformedPosition;",pue=`#ifdef USE_INSTANCING
24921transformedPosition=instanceMatrix*transformedPosition;
24922#endif
24923`,mue="vec4 mvPosition=viewMatrix*worldPosition;",gue="vViewPosition=-mvPosition.xyz;vWorldPosition=worldPosition;",Aue=`vec4 diffuseColor=vec4(uColor,uOpacity);vec3 totalEmissiveRadiance=uEmissiveColor;ReflectedLight reflectedLight=ReflectedLight(vec3(0.0),vec3(0.0),vec3(0.0),vec3(0.0));
24924#ifdef USE_UDIMS
24925float textureIndex;for(float i=0.;i<float(USE_UDIMS);i+=1.){textureIndex+=step(i+1.,vUv.x);}vec2 udimUV=(vUv-vec2(textureIndex,0.0));
24926#endif
24927#ifdef USE_DIFFUSE
24928#ifdef USE_UDIMS
24929diffuseColor*=getDiffuseUDIMcolor(tDiffuseArray,textureIndex,udimUV,uDiffuseScale);
24930#else
24931diffuseColor*=texture2D(tDiffuse,vUv*uDiffuseScale);
24932#endif
24933#endif
24934float roughnessFactor=uRoughness;
24935#ifdef USE_ROUGH
24936#ifdef USE_UDIMS
24937vec4 texelRoughness=getRoughUDIMcolor(tRoughnessArray,textureIndex,udimUV,uRoughnessScale);
24938#else
24939vec4 texelRoughness=texture2D(tRoughness,vUv*uRoughnessScale);
24940#endif
24941roughnessFactor*=texelRoughness.g;
24942#endif
24943float metalnessFactor=uMetalness;
24944#ifdef USE_METALNESS
24945vec4 texelMetalness=texture2D(tMetalness,vUv*uMetalnessScale);metalnessFactor*=texelMetalness.b;
24946#endif
24947float faceDirection=gl_FrontFacing ? 1.0 :-1.0;
24948#ifdef FLAT_SHADED
24949vec3 fdx=dFdx(vViewPosition);vec3 fdy=dFdy(vViewPosition);vec3 normal=normalize(cross(fdx,fdy));
24950#else
24951vec3 normal=normalize(vNormal);vec3 tangent=normalize(vTangent);vec3 bitangent=normalize(vBitangent);
24952#ifdef DOUBLE_SIDED
24953normal=normal*faceDirection;tangent=tangent*faceDirection;bitangent=bitangent*faceDirection;
24954#endif
24955mat3 vTBN=mat3(tangent,bitangent,normal);
24956#endif
24957vec3 geometryNormal=normal;
24958#ifdef USE_NORMAL
24959#ifdef OBJECTSPACE_NORMALMAP
24960normal=texture2D(tNormal,vUv*uNormalScale).xyz*2.0-1.0;
24961#ifdef FLIP_SIDED
24962normal=-normal;
24963#endif
24964#ifdef DOUBLE_SIDED
24965normal=normal*faceDirection;
24966#endif
24967normal=normalize(normalMatrix*normal);
24968#else
24969#ifdef USE_UDIMS
24970vec3 mapN=getNormalUDIMcolor(tNormalArray,textureIndex,udimUV,uNormalScale).rgb*2.0-1.0;
24971#else
24972vec3 mapN=texture2D(tNormal,vUv*uNormalScale).xyz*2.0-1.0;
24973#endif
24974mapN.xy*=uNormalStrength;normal=normalize(vTBN*mapN);
24975#endif
24976#endif
24977#ifdef USE_EMISSIVEMAP
24978vec4 emissiveColor=texture2D(tEmissiveMap,vUv);totalEmissiveRadiance*=emissiveColor.rgb;
24979#endif
24980#ifdef USE_MATCAP
24981vec3 viewDir=normalize(vViewPosition);vec3 x=normalize(vec3(viewDir.z,0.0,-viewDir.x));vec3 y=cross(viewDir,x);vec2 uv=vec2(dot(x,normal),dot(y,normal))*0.495+0.5;vec4 matcapColor=texture2D(tMatcap,uv);
24982#else
24983vec4 matcapColor=vec4(1.);
24984#endif
24985DynamicMaterial material;material.diffuseColor=diffuseColor.rgb*(1.0-metalnessFactor);vec3 dxy=max(abs(dFdx(geometryNormal)),abs(dFdy(geometryNormal)));float geometryRoughness=max(max(dxy.x,dxy.y),dxy.z);material.roughness=max(roughnessFactor,0.0525);material.roughness+=geometryRoughness;material.roughness=min(material.roughness,1.0);material.ior=uIOR;float specularIntensityFactor;vec3 specularColorFactor;specularIntensityFactor=uSpecularIntensity;specularColorFactor=uSpecularColor;material.specularF90=mix(specularIntensityFactor,1.0,metalnessFactor);material.specularColor=mix(min(pow2((material.ior-1.0)/(material.ior+1.0))*specularColorFactor,vec3(1.0))*specularIntensityFactor,diffuseColor.rgb,metalnessFactor);GeometricContext geometry;geometry.position=-vViewPosition;geometry.normal=normal;geometry.viewDir=(isOrthographic)? vec3(0,0,1): normalize(vViewPosition);vec3 ambientLightColor=vec3(0.0);vec3 iblIrradiance=vec3(0.0);vec3 irradiance=getAmbientLightIrradiance(ambientLightColor);vec3 radiance=vec3(0.0);vec3 clearcoatRadiance=vec3(0.0);
24986#ifdef USE_LIGHTMAP
24987vec4 lightMapTexel=texture2D(tLightMap,vUv);vec3 lightMapIrradiance=lightMapTexel.rgb*uLightMapIntensity;irradiance+=lightMapIrradiance;
24988#endif
24989#ifdef USE_ENV
24990iblIrradiance+=getIBLIrradiance(geometry.normal);radiance+=getIBLRadiance(geometry.viewDir,geometry.normal,material.roughness);
24991#endif
24992RE_IndirectDiffuse_Physical(irradiance,geometry,material,reflectedLight);RE_IndirectSpecular_Physical(radiance,iblIrradiance,clearcoatRadiance,geometry,material,reflectedLight);vec3 totalDiffuse=reflectedLight.directDiffuse+reflectedLight.indirectDiffuse;vec3 totalSpecular=reflectedLight.directSpecular+reflectedLight.indirectSpecular;vec3 outgoingLight=totalDiffuse+totalSpecular+totalEmissiveRadiance;
24993#ifdef USE_MATCAP
24994if(uMatcapBlendMode==0){outgoingLight=blendSoftLight(outgoingLight.rgb,matcapColor.rgb,uDiffuseMatcapBlend);}else if(uMatcapBlendMode==1){outgoingLight=blendLinearLight(outgoingLight.rgb,matcapColor.rgb,uDiffuseMatcapBlend);}else if(uMatcapBlendMode==2){outgoingLight=blendLighten(outgoingLight.rgb,matcapColor.rgb,uDiffuseMatcapBlend);}else if(uMatcapBlendMode==3){outgoingLight=blendOverlay(outgoingLight.rgb,matcapColor.rgb,uDiffuseMatcapBlend);}else if(uMatcapBlendMode==4){outgoingLight=blendAdd(outgoingLight.rgb,matcapColor.rgb,uDiffuseMatcapBlend);}else{outgoingLight=blendMultiply(outgoingLight.rgb,matcapColor.rgb,uDiffuseMatcapBlend);}
24995#endif
24996gl_FragColor=vec4(outgoingLight,diffuseColor.a);`,vue=`struct DynamicMaterial{vec3 diffuseColor;float roughness;vec3 specularColor;float specularF90;float ior;};struct IncidentLight{vec3 color;vec3 direction;bool visible;};struct ReflectedLight{vec3 directDiffuse;vec3 directSpecular;vec3 indirectDiffuse;vec3 indirectSpecular;};struct GeometricContext{vec3 position;vec3 normal;vec3 viewDir;};
24997#include <lights_pars_begin>
24998varying vec3 vViewPosition;varying vec3 vNormal;varying vec3 vTangent;varying vec3 vBitangent;uniform float uOpacity;
24998uniform float uMetalness;uniform float uSpecularIntensity;uniform vec3 uEmissiveColor;uniform vec3 uSpecularColor;uniform float uDiffuseMatcapBlend;uniform vec3 uColor;uniform int uMatcapBlendMode;
24999#ifdef USE_MATCAP
25000uniform sampler2D tMatcap;
25001#endif
25002#ifdef USE_UDIMS
25003#define MAX_UDIMS 2
25004#endif
25005#ifdef USE_DIFFUSE
25006uniform float uDiffuseScale;
25007#ifdef USE_UDIMS
25008uniform sampler2D tDiffuseArray[MAX_UDIMS];vec4 getDiffuseUDIMcolor(float textureIndx,vec2 udimuv,float textureScale){switch(int(textureIndx)){case 0:return texture(tDiffuseArray[0],udimuv*textureScale);break;case 1:return texture(tDiffuseArray[1],udimuv*textureScale);break;}}
25009#else
25010uniform sampler2D tDiffuse;
25011#endif
25012#endif
25013#ifdef USE_NORMAL
25014uniform float uNormalScale;uniform float uNormalStrength;
25015#ifdef USE_UDIMS
25016uniform sampler2D tNormalArray[MAX_UDIMS];vec4 getNormalUDIMcolor(float textureIndx,vec2 udimuv,float textureScale){switch(int(textureIndx)){case 0:return texture(tNormalArray[0],udimuv*textureScale);break;case 1:return texture(tNormalArray[1],udimuv*textureScale);break;}}
25017#else
25018uniform sampler2D tNormal;
25019#endif
25020#endif
25021#ifdef USE_ROUGH
25022uniform float uRoughnessScale;
25023#ifdef USE_UDIMS
25024uniform sampler2D tRoughnessArray[MAX_UDIMS];vec4 getRoughUDIMcolor(float textureIndx,vec2 udimuv,float textureScale){switch(int(textureIndx)){case 0:return texture(tRoughnessArray[0],udimuv*textureScale);break;case 1:return texture(tRoughnessArray[1],udimuv*textureScale);break;}}
25025#else
25026uniform sampler2D tRoughness;
25027#endif
25028#endif
25029#ifdef USE_METALNESS
25030uniform sampler2D tMetalness;uniform float uMetalnessScale;
25031#endif
25032#ifdef USE_EMISSIVEMAP
25033uniform sampler2D tEmissiveMap;
25034#endif
25035#ifdef USE_LIGHTMAP
25036uniform sampler2D tLightMap;uniform float uLightMapIntensity;
25037#endif
25038varying vec4 vWorldPosition;uniform float uRoughness;uniform float uIOR;
25039#ifdef USE_ENV
25040uniform sampler2D tEnvMap;uniform float uEnvMapStrength;vec3 getIBLRadiance(const in vec3 viewDir,const in vec3 normal,const in float roughness){vec3 reflectVec=reflect(-viewDir,normal);reflectVec=normalize(mix(reflectVec,normal,roughness*roughness));reflectVec=inverseTransformDirection(reflectVec,viewMatrix);vec4 envMapColor=textureCubeUV(tEnvMap,reflectVec,roughness);return envMapColor.rgb*uEnvMapStrength;}vec3 getIBLIrradiance(const in vec3 normal){vec3 worldNormal=inverseTransformDirection(normal,viewMatrix);vec4 envMapColor=textureCubeUV(tEnvMap,worldNormal,1.0);return PI*envMapColor.rgb*uEnvMapStrength;}
25041#endif
25042vec3 BRDF_Lambert(const in vec3 diffuseColor){return RECIPROCAL_PI*diffuseColor;}void RE_IndirectDiffuse_Physical(const in vec3 irradiance,const in GeometricContext geometry,const in DynamicMaterial material,inout ReflectedLight reflectedLight){reflectedLight.indirectDiffuse+=irradiance*BRDF_Lambert(material.diffuseColor);}vec2 DFGApprox(const in vec3 normal,const in vec3 viewDir,const in float roughness){float dotNV=saturate(dot(normal,viewDir));const vec4 c0=vec4(-1,-0.0275,-0.572,0.022);const vec4 c1=vec4(1,0.0425,1.04,-0.04);vec4 r=roughness*c0+c1;float a004=min(r.x*r.x,exp2(-9.28*dotNV))*r.x+r.y;vec2 fab=vec2(-1.04,1.04)*a004+r.zw;return fab;}void 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){vec2 fab=DFGApprox(normal,viewDir,roughness);vec3 Fr=specularColor;vec3 FssEss=Fr*fab.x+specularF90*fab.y;float Ess=fab.x+fab.y;float Ems=1.0-Ess;vec3 Favg=Fr+(1.0-Fr)*0.047619;vec3 Fms=FssEss*Favg/(1.0-Ems*Favg);singleScatter+=FssEss;multiScatter+=Fms*Ems;}void RE_IndirectSpecular_Physical(const in vec3 radiance,const in vec3 irradiance,const in vec3 clearcoatRadiance,const in GeometricContext geometry,const in DynamicMaterial material,inout ReflectedLight reflectedLight){vec3 singleScattering=vec3(0.0);vec3 multiScattering=vec3(0.0);vec3 cosineWeightedIrradiance=irradiance*RECIPROCAL_PI;computeMultiscattering(geometry.normal,geometry.viewDir,material.specularColor,material.specularF90,material.roughness,singleScattering,multiScattering);vec3 totalScattering=singleScattering+multiScattering;vec3 diffuse=material.diffuseColor*(1.0-max(max(totalScattering.r,totalScattering.g),totalScattering.b));reflectedLight.indirectSpecular+=radiance*singleScattering;reflectedLight.indirectSpecular+=multiScattering*cosineWeightedIrradiance;reflectedLight.indirectDiffuse+=diffuse*cosineWeightedIrradiance;}`,yue=`vec3 lightDirection=normalize(uLightPos-vWorldPosition.xyz);
25043#ifdef USE_HIGHLIGHT_DIFFUSE
25044float diffuseFactor=max(dot(normalize(vNormal),lightDirection),0.0);vec3 diffuse=diffuseFactor*uLightColor;
25045#else
25046vec3 diffuse=vec3(0.0);
25047#endif
25048vec3 viewDirExtra=normalize(cameraPosition-vWorldPosition.xyz);vec3 reflectDir=reflect(-lightDirection,normalize(vNormal));float specularFactor=pow(max(dot(viewDirExtra,reflectDir),0.0),uShininess);vec3 specular=uExtraSpecularStrength*specularFactor*uLightColor;gl_FragColor.rgb=(uAmbient+diffuse+specular)*gl_FragColor.rgb;`,_ue="uniform vec3 uLightPos;uniform vec3 uLightColor;uniform vec3 uAmbient;uniform float uExtraSpecularStrength;uniform float uShininess;",bue=`#define cubeUV_minMipLevel 4.0
25049#define cubeUV_minTileSize 16.0
25050float getFace(vec3 direction){vec3 absDirection=abs(direction);float face=-1.0;if(absDirection.x>absDirection.z){if(absDirection.x>absDirection.y)face=direction.x>0.0 ? 0.0 : 3.0;else face=direction.y>0.0 ? 1.0 : 4.0;}else{if(absDirection.z>absDirection.y)face=direction.z>0.0 ? 2.0 : 5.0;else face=direction.y>0.0 ? 1.0 : 4.0;}return face;}vec2 getUV(vec3 direction,float face){vec2 uv;if(face==0.0){uv=vec2(direction.z,direction.y)/abs(direction.x);}else if(face==1.0){uv=vec2(-direction.x,-direction.z)/abs(direction.y);}else if(face==2.0){uv=vec2(-direction.x,direction.y)/abs(direction.z);}else if(face==3.0){uv=vec2(-direction.z,direction.y)/abs(direction.x);}else if(face==4.0){uv=vec2(-direction.x,direction.z)/abs(direction.y);}else{uv=vec2(direction.x,direction.y)/abs(direction.z);}return 0.5*(uv+1.0);}vec3 bilinearCubeUV(sampler2D envMap,vec3 direction,float mipInt){float face=getFace(direction);float filterInt=max(cubeUV_minMipLevel-mipInt,0.0);mipInt=max(mipInt,cubeUV_minMipLevel);float faceSize=exp2(mipInt);highp vec2 uv=getUV(direction,face)*(faceSize-2.0)+1.0;if(face>2.0){uv.y+=faceSize;face-=3.0;}uv.x+=face*faceSize;uv.x+=filterInt*3.0*cubeUV_minTileSize;uv.y+=4.0*(exp2(float(CUBEUV_MAX_MIP))-faceSize);uv.x*=CUBEUV_TEXEL_WIDTH;uv.y*=CUBEUV_TEXEL_HEIGHT;
25051#ifdef texture2DGradEXT
25052return texture2DGradEXT(envMap,uv,vec2(0.0),vec2(0.0)).rgb;
25053#else
25054return texture2D(envMap,uv).rgb;
25055#endif
25056}
25057#define cubeUV_r0 1.0
25058#define cubeUV_v0 0.339
25059#define cubeUV_m0 - 2.0
25060#define cubeUV_r1 0.8
25061#define cubeUV_v1 0.276
25062#define cubeUV_m1 - 1.0
25063#define cubeUV_r4 0.4
25064#define cubeUV_v4 0.046
25065#define cubeUV_m4 2.0
25066#define cubeUV_r5 0.305
25067#define cubeUV_v5 0.016
25068#define cubeUV_m5 3.0
25069#define cubeUV_r6 0.21
25070#define cubeUV_v6 0.0038
25071#define cubeUV_m6 4.0
25072float roughnessToMip(float roughness){float mip=0.0;if(roughness>=cubeUV_r1){mip=(cubeUV_r0-roughness)*(cubeUV_m1-cubeUV_m0)/(cubeUV_r0-cubeUV_r1)+cubeUV_m0;}else if(roughness>=cubeUV_r4){mip=(cubeUV_r1-roughness)*(cubeUV_m4-cubeUV_m1)/(cubeUV_r1-cubeUV_r4)+cubeUV_m1;}else if(roughness>=cubeUV_r5){mip=(cubeUV_r4-roughness)*(cubeUV_m5-cubeUV_m4)/(cubeUV_r4-cubeUV_r5)+cubeUV_m4;}else if(roughness>=cubeUV_r6){mip=(cubeUV_r5-roughness)*(cubeUV_m6-cubeUV_m5)/(cubeUV_r5-cubeUV_r6)+cubeUV_m5;}else{mip=-2.0*log2(1.16*roughness);}return mip;}vec4 textureCubeUV(sampler2D envMap,vec3 sampleDir,float roughness){float mip=clamp(roughnessToMip(roughness),cubeUV_m0,float(CUBEUV_MAX_MIP));float mipF=fract(mip);float mipInt=floor(mip);vec3 color0=bilinearCubeUV(envMap,sampleDir,mipInt);
25072if(mipF==0.0){return vec4(color0,1.0);}else{vec3 color1=bilinearCubeUV(envMap,sampleDir,mipInt+1.0);return vec4(mix(color0,color1,mipF),1.0);}}`;function xue(){ut.default_pars=jn(Zce),ut.default_frag_pars=jn(Jce),ut.normalsVert=jn(eue),ut.tonemapping_frag=jn(tue),ut.cubeUVreflectionFrag=jn(bue),ut.msdf_vert_pars=jn(nue),ut.msdf_vert=jn(iue),ut.msdf_frag_pars=jn(rue),ut.msdf_frag=jn(sue),ut.msdf_base_anim_vert_pars=jn(oue),ut.msdf_base_anim_vert=jn(aue),ut.msdf_base_anim_frag_pars=jn(lue),ut.msdf_base_anim_frag=jn(cue),ut.normals_tangents_vert_pars=jn(uue),ut.normals_tangents_vert=jn(fue),ut.world_position_transform_vert_pars=jn(due),ut.world_position_transform_vert=jn(hue),ut.instance_offset_vert=jn(pue),ut.mv_position_transform_vert=jn(mue),ut.varyings_vert=jn(gue),ut.dynamic_frag_pars=jn(vue),ut.dynamic_frag=jn(Aue),ut.dynamic_highlight_frag_pars=jn(_ue),ut.dynamic_highlight_frag=jn(yue)}function Cue(){Ke.msdf={uOpacity:{value:1},uColor:{value:new ke("#FFFFFF")},uFontBase:{value:0},uFontLineHeight:{value:0},uFontSize:{value:0},uLayoutDescender:{value:0},uLayoutAscender:{value:0}},Ke.msdfBaseAnim={uProgress:{value:0},uStagger:{value:0}}}class f6 extends kA{constructor(e={}){e=An({vertexShader:Xce,fragmentShader:Yce,uniforms:{uMatcapContrast:{value:.8,gui:{min:.01,step:.01}},uHighlightPower:{value:15,gui:{min:0,max:100,step:.1}},uHighlightColor:{value:new ke(5866203)},uFillLength:{value:.3,gui:{min:0,max:1,step:.001}},uStartFadeLength:{value:.2,gui:{min:0,max:.9999,step:.001}},uEndFadeLength:{value:1e-4,gui:{min:0,max:.999,step:.001}},uFillRepeat:{value:1,gui:{min:0,max:20,step:1}},uBundleOffset:{value:12.5629,gui:{min:0,max:50,step:.01}},uStrandOffset:{value:.05,gui:{min:0,max:1,step:.001}},uFadeContrast:{value:5,gui:{min:0,max:50,step:.01}},uSpeed:{value:.2,gui:{min:0,max:10,step:.01}},uRevealProgress:{value:0,gui:{min:0,max:1,step:.01}}},defines:{USE_MATCAP:!0},transparent:!0},e),super(e)}generatePMREMDefines(){}}class wue extends uo(){constructor(){super({name:"Computing Orb"})}build(){this.bands=new Qe(this.assets.models.bands.geometry,new f6({uniforms:{tMatcap:{value:this.assets.textures.matcapChromeBlurred},tFluidSim:{value:null},uMatcapBlendMode:{value:2}},defines:{MAIN_ORB:!0}})),this.bands.name=this.name+" Bands",this.add(this.bands),this.extraThreads=new Qe(this.assets.models.extraThreads.geometry,new f6({uniforms:{tMatcap:{value:this.assets.textures.matcapChromeBlurred},tFluidSim:{value:null},uMatcapBlendMode:{value:2}}})),this.extraThreads.name=this.name+" Extra Threads",this.add(this.extraThreads)}update(){this.bands.material.uniforms.tFluidSim.value=S.WebGL.fluidSim.advectionSimVelocity.texture,this.extraThreads.material.uniforms.tFluidSim.value=S.WebGL.fluidSim.advectionSimVelocity.texture;let e=Math.abs(this.parent.scrollVelocity)*7e-6;this.rotation.y+=.002+e}load(){S.AssetLoader.loadGltf("/webgl/models/computing.glb").then(e=>{this.assets.models.bands=e.scene.children[1],this.assets.models.extraThreads=e.scene.children[0]}),S.AssetLoader.loadTexture("/webgl/textures/blurry_silver_mirrorball.jpg").then(e=>{this.assets.textures.matcapChromeBlurred=e})}addGui(){S.theatre.helper.autoAddObject(this.bands,this.parent.prettyName),S.theatre.helper.autoAddObject(this.extraThreads,this.parent.prettyName)}}class Sue extends cc{constructor(){super("computing-orb",{domId:"computing",domAlign:"right"}),this.components=Object.assign({orb:new wue}),this.scrollVelocity=0}update(){this.sectionScroll&&(this.scrollVelocity=gn.lerp(this.scrollVelocity,this.sectionScroll.getVelocity(),.1)),super.update()}}var Eue=`#include <default_pars>
25073#include <normals_tangents_vert_pars>
25074#include <world_position_transform_vert_pars>
25075attribute float _id;attribute vec3 _center;attribute float _mediumpanel;varying vec2 vUv;varying float vMediumPanel;uniform float uTime;uniform vec2 uMouse;uniform float uMouseRadius;uniform float uMouseFalloff;uniform float uRevealProgress;uniform vec2 uResolution;float pulse(float time,float frequency){const float pi=3.14;return 0.5*(1.+sin(2.*pi*frequency*time));}vec4 permute(vec4 x){return mod(((x*34.0)+1.0)*x,289.0);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}vec3 fade(vec3 t){return t*t*t*(t*(t*6.0-15.0)+10.0);}float cnoise(vec3 P){vec3 Pi0=floor(P);vec3 Pi1=Pi0+vec3(1.0);Pi0=mod(Pi0,289.0);Pi1=mod(Pi1,289.0);vec3 Pf0=fract(P);vec3 Pf1=Pf0-vec3(1.0);vec4 ix=vec4(Pi0.x,Pi1.x,Pi0.x,Pi1.x);vec4 iy=vec4(Pi0.yy,Pi1.yy);vec4 iz0=Pi0.zzzz;vec4 iz1=Pi1.zzzz;vec4 ixy=permute(permute(ix)+iy);vec4 ixy0=permute(ixy+iz0);vec4 ixy1=permute(ixy+iz1);vec4 gx0=ixy0/7.0;vec4 gy0=fract(floor(gx0)/7.0)-0.5;gx0=fract(gx0);vec4 gz0=vec4(0.5)-abs(gx0)-abs(gy0);vec4 sz0=step(gz0,vec4(0.0));gx0-=sz0*(step(0.0,gx0)-0.5);gy0-=sz0*(step(0.0,gy0)-0.5);vec4 gx1=ixy1/7.0;vec4 gy1=fract(floor(gx1)/7.0)-0.5;gx1=fract(gx1);vec4 gz1=vec4(0.5)-abs(gx1)-abs(gy1);vec4 sz1=step(gz1,vec4(0.0));gx1-=sz1*(step(0.0,gx1)-0.5);gy1-=sz1*(step(0.0,gy1)-0.5);vec3 g000=vec3(gx0.x,gy0.x,gz0.x);vec3 g100=vec3(gx0.y,gy0.y,gz0.y);vec3 g010=vec3(gx0.z,gy0.z,gz0.z);vec3 g110=vec3(gx0.w,gy0.w,gz0.w);vec3 g001=vec3(gx1.x,gy1.x,gz1.x);vec3 g101=vec3(gx1.y,gy1.y,gz1.y);vec3 g011=vec3(gx1.z,gy1.z,gz1.z);vec3 g111=vec3(gx1.w,gy1.w,gz1.w);vec4 norm0=taylorInvSqrt(vec4(dot(g000,g000),dot(g010,g010),dot(g100,g100),dot(g110,g110)));g000*=norm0.x;g010*=norm0.y;g100*=norm0.z;g110*=norm0.w;vec4 norm1=taylorInvSqrt(vec4(dot(g001,g001),dot(g011,g011),dot(g101,g101),dot(g111,g111)));g001*=norm1.x;g011*=norm1.y;g101*=norm1.z;g111*=norm1.w;float n000=dot(g000,Pf0);float n100=dot(g100,vec3(Pf1.x,Pf0.yz));float n010=dot(g010,vec3(Pf0.x,Pf1.y,Pf0.z));float n110=dot(g110,vec3(Pf1.xy,Pf0.z));float n001=dot(g001,vec3(Pf0.xy,Pf1.z));float n101=dot(g101,vec3(Pf1.x,Pf0.y,Pf1.z));float n011=dot(g011,vec3(Pf0.x,Pf1.yz));float n111=dot(g111,Pf1);vec3 fade_xyz=fade(Pf0);vec4 n_z=mix(vec4(n000,n100,n010,n110),vec4(n001,n101,n011,n111),fade_xyz.z);vec2 n_yz=mix(n_z.xy,n_z.zw,fade_xyz.y);float n_xyz=mix(n_yz.x,n_yz.y,fade_xyz.x);return 2.2*n_xyz;}void main(){vUv=uv;vMediumPanel=_mediumpanel;vec4 transformedPosition=vec4(position,1.0);vec3 center=vec3(_center.x,_center.z,-_center.y);vec3 worldPos=(modelMatrix*transformedPosition).xyz;float screenAspect=uResolution.x/uResolution.y;vec4 earlyProjection=projectionMatrix*modelViewMatrix*vec4(center,1.);vec2 screenSpace=earlyProjection.xy/earlyProjection.w*vec2(0.5,0.5)+vec2(0.5,0.5);float screenToMouseDistance=distance(vec3(screenSpace,0.),vec3(uMouse,0.));float scale=smoothstep(uMouseFalloff,1.,screenToMouseDistance*uMouseRadius);scale+=smoothstep(0.5,0.,worldPos.z);float noise=cnoise(vec3(center*20.+uTime*0.1));float noiseScale=smoothstep(0.2,0.,noise);scale=clamp(scale,0.,1.);float modelScaleOffset=1.087;if(_mediumpanel!=1.){transformedPosition.xyz-=center*modelScaleOffset;transformedPosition.xyz*=scale;transformedPosition.xyz+=center*modelScaleOffset;}else{transformedPosition.xyz+=center*modelScaleOffset;transformedPosition.xyz*=map(noiseScale,0.,1.,0.987,1.01);transformedPosition.xyz-=center*modelScaleOffset;}transformedPosition.xyz+=center*modelScaleOffset;float revealScale=1.+(1.-uRevealProgress)*0.1;transformedPosition.xyz*=revealScale;transformedPosition.xyz-=center*modelScaleOffset;transformedPosition.xyz-=center*modelScaleOffset;float revealProgress=1.-map(uRevealProgress,0.,1.,-0.1,1.1);transformedPosition.xyz*=smoothstep(revealProgress-0.1,revealProgress,1.-map(center.y,-1.,1.,0.,1.));transformedPosition.xyz+=center*modelScaleOffset;vec3 objectNormal=vec3(normal);vec3 objectTangent=vec3(tangent.xyz);vec3 transformedNormal=objectNormal;if(_mediumpanel!=1.){transformedNormal.xyz-=center*modelScaleOffset;transformedNormal.xyz*=scale;transformedNormal.xyz+=center*modelScaleOffset;}else{transformedNormal.xyz+=center*modelScaleOffset;transformedNormal.xyz*=map(noiseScale,0.,1.,0.987,1.01);transformedNormal.xyz-=center*modelScaleOffset;}transformedNormal=normalMatrix*transformedNormal;vec3 transformedTangent=(modelViewMatrix*vec4(objectTangent,0.0)).xyz;vNormal=normalize(transformedNormal);vTangent=normalize(transformedTangent);vBitangent=normalize(cross(vNormal,vTangent)*tangent.w);
25076#include <instance_offset_vert>
25077/***Do any overall instance transformations(after instance offsets are applied)here*aka transform instances uniformly in "local" instance MESH space**With non-instanced meshes this is equal to local transform**e.g. transformedPosition.y=transformedPosition.y+sin(uTime*2.)*5.;*/
25078#include <world_position_transform_vert>
25079/***Do any world transformations here**e.g. worldPosition.y=worldPosition.y+sin(uTime*2.)*5.;*/
25080#include <mv_position_transform_vert>
25081#include <varyings_vert>
25082gl_Position=projectionMatrix*mvPosition;}`,Tue=`#include <default_pars>
25083#include <default_frag_pars>
25084#include <dynamic_frag_pars>
25085#include <tonemapping_pars_fragment>
25086uniform int uToneMapping;varying vec2 vUv;varying float vMediumPanel;uniform float uMatcapContrast;void main(){
25087#include <dynamic_frag>
25088gl_FragColor.rgb=pow(gl_FragColor.rgb,vec3(uMatcapContrast));
25089#include <tonemapping_frag>
25090#include <colorspace_fragment>
25091}`;class Mue extends kA{constructor(e={}){e=An({vertexShader:Eue,fragmentShader:Tue,uniforms:{uMatcapContrast:{value:.8,gui:{min:.01,step:.
2509101}},uMouseRadius:{value:5,gui:{min:0,step:.1}},uMouseFalloff:{value:.5,gui:{min:0,step:.01}},uRevealProgress:{value:0,gui:{min:0,max:1,step:.01}}},transparent:!0},e),super(e)}}var Iue=`#include <default_pars>
25092#include <normals_tangents_vert_pars>
25093#include <world_position_transform_vert_pars>
25094attribute float _progress;attribute float _random;varying vec2 vUv;varying float vProgress;varying float vRandom;varying float vMouseMask;varying vec3 vPosition;uniform float uTime;uniform vec2 uMouse;uniform float uMouseRadius;uniform float uMouseFalloff;uniform vec2 uResolution;void main(){vUv=uv;vProgress=_progress;vRandom=_random;vPosition=position;vec4 transformedPosition=vec4(position,1.0);vec3 worldPos=(modelMatrix*transformedPosition).xyz;float screenAspect=uResolution.x/uResolution.y;vec4 earlyProjection=projectionMatrix*modelViewMatrix*transformedPosition;vec2 screenSpace=earlyProjection.xy/earlyProjection.w*vec2(0.5,0.5)+vec2(0.5,0.5);float screenToMouseDistance=distance(vec3(screenSpace,position.z*0.15),vec3(uMouse,0.25));vMouseMask=smoothstep(uMouseFalloff,1.,screenToMouseDistance*uMouseRadius);vMouseMask+=smoothstep(0.5,0.,worldPos.z);vMouseMask=clamp(vMouseMask,0.,1.);
25095#include <normals_tangents_vert>
25096#include <instance_offset_vert>
25097/***Do any overall instance transformations(after instance offsets are applied)here*aka transform instances uniformly in "local" instance MESH space**With non-instanced meshes this is equal to local transform**e.g. transformedPosition.y=transformedPosition.y+sin(uTime*2.)*5.;*/
25098#include <world_position_transform_vert>
25099/***Do any world transformations here**e.g. worldPosition.y=worldPosition.y+sin(uTime*2.)*5.;*/
25100#include <mv_position_transform_vert>
25101#include <varyings_vert>
25102gl_Position=projectionMatrix*mvPosition;}`,Pue=`#include <default_pars>
25103#include <default_frag_pars>
25104#include <dynamic_frag_pars>
25105#include <tonemapping_pars_fragment>
25106uniform int uToneMapping;varying vec2 vUv;varying float vProgress;varying float vRandom;varying float vMouseMask;varying vec3 vPosition;uniform float uTime;uniform float uMatcapContrast;uniform float uFillLength;uniform float uEndFadeLength;uniform float uStartFadeLength;uniform float uFillRepeat;uniform float uSpeed;uniform float uRevealProgress;uniform vec3 uHighlightColor;uniform float uHighlightStrength;uniform float uHighlightRevealProgress;uniform bool uDevCameraActive;uniform vec2 uMouse;vec3 loopingThreshold(float progress,float fillLength,float startFade,float endFade,float repeat){float progressModulo=fract(progress*repeat);progressModulo=smoothstep(0.0,fillLength,progressModulo);float startThreshold=smoothstep(0.0,startFade,progressModulo);float endThreshold=smoothstep(1.-endFade,1.0,progressModulo);return vec3(startThreshold-endThreshold,startThreshold,endThreshold);}void main(){
25107#include <dynamic_frag>
25108vec4 mouse=vec4(uMouse,0.,1.);float mask=vMouseMask;gl_FragColor.rgb=pow(gl_FragColor.rgb,vec3(uMatcapContrast));float time=uTime*uSpeed;float progress=map(vProgress,0.,1.,0.,1.)+time+vRandom;vec3 thresholds=loopingThreshold(mod(progress,1.0),uFillLength,uStartFadeLength,uEndFadeLength,uFillRepeat);thresholds=clamp(thresholds,0.,1.);float revealProgress=1.-map(uRevealProgress,0.,1.,-0.1,1.2);gl_FragColor.rgb=mix(gl_FragColor.rgb,mix(gl_FragColor.rgb*uHighlightColor*uHighlightStrength,gl_FragColor.rgb,thresholds.x),uHighlightRevealProgress);gl_FragColor.a*=smoothstep(revealProgress-0.001,revealProgress,1.-map(vPosition.y+vRandom*0.3,-1.,1.,0.,1.));
25109#include <tonemapping_frag>
25110#include <colorspace_fragment>
25111}`;class Rue extends kA{constructor(e={}){e=An({vertexShader:Iue,fragmentShader:Pue,uniforms:{uMatcapContrast:{value:.8,gui:{min:.01,step:.01}},uMatcapBlendMode:{value:2},uFillLength:{value:.3,gui:{min:0,max:1,step:.001}},uStartFadeLength:{value:.05,gui:{min:0,max:.9999,step:.001}},uEndFadeLength:{value:.05,gui:{min:0,max:.999,step:.001}},uFillRepeat:{value:1,gui:{min:0,max:20,step:1}},uSpeed:{value:.2,gui:{min:0,max:10,step:.01}},uRevealProgress:{value:0,gui:{min:0,max:1,step:.01}},uHighlightColor:{value:new ke(0)},uHighlightStrength:{value:10,gui:{min:0,max:100,step:.1}}
25111,uHighlightRevealProgress:{value:0,gui:{min:0,max:1,step:.01}},uMouseRadius:{value:2.5,gui:{min:0,step:.1}},uMouseFalloff:{value:.9,gui:{min:0,step:.01}}},transparent:!0},e),super(e)}generatePMREMDefines(){}}class Bue extends uo(){constructor(){super({name:"Engineering Orb"}),this.smoothMouse=new Re,this.mouseLerpSpeed=.075}build(){this.group=new Ha,this.group.name=this.name+" Group",this.add(this.group),this.group.rotation.x=.85,this.group.rotation.z=.25,this.mesh=new Qe(this.assets.models.orb.geometry,new Mue({uniforms:{tMatcap:{value:this.assets.textures.matcapChromeBlurred},uMouse:{value:this.smoothMouse}},defines:{USE_MATCAP:!0}})),this.mesh.geometry.computeTangents(),this.mesh.name=this.name,this.group.add(this.mesh),this.meshGaps=new Qe(this.assets.models.orbGaps.geometry,new Rue({uniforms:{tMatcap:{value:this.assets.textures.matcapChromeRing},uMouse:{value:this.smoothMouse}},defines:{USE_MATCAP:!0}})),this.meshGaps.name=this.name+" Gaps",this.group.add(this.meshGaps)}update(){this.smoothMouse.lerp(S.pointer.glScreenSpace,this.mouseLerpSpeed);let e=Math.abs(this.parent.scrollVelocity)*7e-6;this.group.rotation.y+=.001+e}load(){S.AssetLoader.loadGltf("/webgl/models/engineering-orb.glb").then(e=>{this.assets.models.orb=e.scene.children[0]}),S.AssetLoader.loadGltf("/webgl/models/engineering-orb-gaps.glb").then(e=>{this.assets.models.orbGaps=e.scene.children[0]}),S.AssetLoader.loadTexture("/webgl/textures/blurry_silver_mirrorball.jpg").then(e=>{this.assets.textures.matcapChromeBlurred=e}),S.AssetLoader.loadTexture("/webgl/textures/chrome-ring.png").then(e=>{this.assets.textures.matcapChromeRing=e})}addGui(){S.theatre.helper.autoAddObject(this.group,this.parent.prettyName,{exclude:["rotation"]}),S.theatre.helper.autoAddObject(this.mesh,this.parent.prettyName,{exclude:["position","rotation","scale","uMouse"]}),S.theatre.helper.autoAddObject(this.meshGaps,this.parent.prettyName,{exclude:["position","rotation","scale","uMouse"]}),S.theatre.helper.addSheetObject(this.parent.prettyName,"Mouse Settings",{mouseLerpSpeed:Te.types.number(this.mouseLerpSpeed,{range:[0,1],nudgeMultiplier:.001})}).onValuesChange(e=>{this.mouseLerpSpeed=e.mouseLerpSpeed},S.theatre.rafDriver)}}class Due extends cc{constructor(){super("engineering-orb",{domId:"engineering",domAlign:"left"}),this.components=Object.assign({orb:new Bue}),this.scrollVelocity=0}build(){super.build(),this.renderEnvMap()}renderEnvMap(){const e=new Gg(256),t=new nP(1,1e3,e);this.components.orb.visible=!1,t.update(S.WebGL.renderer,this),this.components.orb.visible=!0,e.texture.isHDR=!1;const i=S.WebGL.pmremHandler.buildEnvironmentTexture(this,e.texture);this.components.orb.mesh.material.uniforms.tEnvMap.value=i,this.components.orb.mesh.material.defines.USE_ENV=!0,this.components.orb.mesh.material.generatePMREMDefines(),this.components.orb.mesh.material.needsUpdate=!0}update(){this.sectionScroll&&(this.scrollVelocity=gn.lerp(this.scrollVelocity,this.sectionScroll.getVelocity(),.1)),super.update()}}var Lue=`#define STANDARD
25112#ifdef PHYSICAL
25113#define IOR
25114#define USE_SPECULAR
25115#endif
25116uniform vec3 diffuse;uniform vec3 emissive;uniform float roughness;uniform float metalness;uniform float opacity;
25117#ifdef IOR
25118uniform float ior;
25119#endif
25120#ifdef USE_SPECULAR
25121uniform float specularIntensity;uniform vec3 specularColor;
25122#ifdef USE_SPECULAR_COLORMAP
25123uniform sampler2D specularColorMap;
25124#endif
25125#ifdef USE_SPECULAR_INTENSITYMAP
25126uniform sampler2D specularIntensityMap;
25127#endif
25128#endif
25129#ifdef USE_CLEARCOAT
25130uniform float clearcoat;uniform float clearcoatRoughness;
25131#endif
25132#ifdef USE_DISPERSION
25133uniform float dispersion;
25134#endif
25135#ifdef USE_IRIDESCENCE
25136uniform float iridescence;uniform float iridescenceIOR;uniform float iridescenceThicknessMinimum;uniform float iridescenceThicknessMaximum;
25137#endif
25138#ifdef USE_SHEEN
25139uniform vec3 sheenColor;uniform float sheenRoughness;
25140#ifdef USE_SHEEN_COLORMAP
25141uniform sampler2D sheenColorMap;
25142#endif
25143#ifdef USE_SHEEN_ROUGHNESSMAP
25144uniform sampler2D sheenRoughnessMap;
25145#endif
25146#endif
25147#ifdef USE_ANISOTROPY
25148uniform vec2 anisotropyVector;
25149#ifdef USE_ANISOTROPYMAP
25150uniform sampler2D anisotropyMap;
25151#endif
25152#endif
25153varying vec3 vViewPosition;varying vec2 vUv;
25154#include <common>
25155#include <packing>
25156#include <dithering_pars_fragment>
25157#include <color_pars_fragment>
25158#include <uv_pars_fragment>
25159#include <map_pars_fragment>
25160#include <alphamap_pars_fragment>
25161#include <alphatest_pars_fragment>
25162#include <alphahash_pars_fragment>
25163#include <aomap_pars_fragment>
25164#include <lightmap_pars_fragment>
25165#include <emissivemap_pars_fragment>
25166#include <iridescence_fragment>
25167#include <cube_uv_reflection_fragment>
25168#include <envmap_common_pars_fragment>
25169#include <envmap_physical_pars_fragment>
25170#include <fog_pars_fragment>
25171#include <lights_pars_begin>
25172#include <normal_pars_fragment>
25173#include <lights_physical_pars_fragment>
25174vec4 permute(vec4 x){return mod(((x*34.0)+1.0)*x,289.0);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}
25174float snoise(vec3 v){const vec2 C=vec2(1.0/6.0,1.0/3.0);const vec4 D=vec4(0.0,0.5,1.0,2.0);vec3 i=floor(v+dot(v,C.yyy));vec3 x0=v-i+dot(i,C.xxx);vec3 g=step(x0.yzx,x0.xyz);vec3 l=1.0-g;vec3 i1=min(g.xyz,l.zxy);vec3 i2=max(g.xyz,l.zxy);vec3 x1=x0-i1+1.0*C.xxx;vec3 x2=x0-i2+2.0*C.xxx;vec3 x3=x0-1.+3.0*C.xxx;i=mod(i,289.0);vec4 p=permute(permute(permute(i.z+vec4(0.0,i1.z,i2.z,1.0))+i.y+vec4(0.0,i1.y,i2.y,1.0))+i.x+vec4(0.0,i1.x,i2.x,1.0));float n_=1.0/7.0;vec3 ns=n_*D.wyz-D.xzx;vec4 j=p-49.0*floor(p*ns.z*ns.z);vec4 x_=floor(j*ns.z);vec4 y_=floor(j-7.0*x_);vec4 x=x_*ns.x+ns.yyyy;vec4 y=y_*ns.x+ns.yyyy;vec4 h=1.0-abs(x)-abs(y);vec4 b0=vec4(x.xy,y.xy);vec4 b1=vec4(x.zw,y.zw);vec4 s0=floor(b0)*2.0+1.0;vec4 s1=floor(b1)*2.0+1.0;vec4 sh=-step(h,vec4(0.0));vec4 a0=b0.xzyw+s0.xzyw*sh.xxyy;vec4 a1=b1.xzyw+s1.xzyw*sh.zzww;vec3 p0=vec3(a0.xy,h.x);vec3 p1=vec3(a0.zw,h.y);vec3 p2=vec3(a1.xy,h.z);vec3 p3=vec3(a1.zw,h.w);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;vec4 m=max(0.6-vec4(dot(x0,x0),dot(x1,x1),dot(x2,x2),dot(x3,x3)),0.0);m=m*m;return 42.0*dot(m*m,vec4(dot(p0,x0),dot(p1,x1),dot(p2,x2),dot(p3,x3)));}uniform sampler2D tBackgroundPass;uniform sampler2D tFluidSim;uniform vec2 uResolution;uniform float transmission;uniform float thickness;uniform float attenuationDistance;uniform vec3 attenuationColor;
25175#ifdef USE_TRANSMISSIONMAP
25176uniform sampler2D transmissionMap;
25177#endif
25178#ifdef USE_THICKNESSMAP
25179uniform sampler2D thicknessMap;
25180#endif
25181uniform vec2 transmissionSamplerSize;uniform sampler2D transmissionSamplerMap;uniform mat4 modelMatrix;uniform mat4 projectionMatrix;varying vec3 vWorldPosition;float w0(float a){return(1.0/6.0)*(a*(a*(-a+3.0)-3.0)+1.0);}float w1(float a){return(1.0/6.0)*(a*a*(3.0*a-6.0)+4.0);}float w2(float a){return(1.0/6.0)*(a*(a*(-3.0*a+3.0)+3.0)+1.0);}float w3(float a){return(1.0/6.0)*(a*a*a);}float g0(float a){return w0(a)+w1(a);}float g1(float a){return w2(a)+w3(a);}float h0(float a){return-1.0+w1(a)/(w0(a)+w1(a));}float h1(float a){return 1.0+w3(a)/(w2(a)+w3(a));}vec4 bicubic(sampler2D tex,vec2 uv,vec4 texelSize,float lod){uv=uv*texelSize.zw+0.5;vec2 iuv=floor(uv);vec2 fuv=fract(uv);float g0x=g0(fuv.x);float g1x=g1(fuv.x);float h0x=h0(fuv.x);float h1x=h1(fuv.x);float h0y=h0(fuv.y);float h1y=h1(fuv.y);vec2 p0=(vec2(iuv.x+h0x,iuv.y+h0y)-0.5)*texelSize.xy;vec2 p1=(vec2(iuv.x+h1x,iuv.y+h0y)-0.5)*texelSize.xy;vec2 p2=(vec2(iuv.x+h0x,iuv.y+h1y)-0.5)*texelSize.xy;vec2 p3=(vec2(iuv.x+h1x,iuv.y+h1y)-0.5)*texelSize.xy;return g0(fuv.y)*(g0x*textureLod(tex,p0,lod)+g1x*textureLod(tex,p1,lod))+g1(fuv.y)*(g0x*textureLod(tex,p2,lod)+g1x*textureLod(tex,p3,lod));}vec4 textureBicubic(sampler2D sampler,vec2 uv,float lod){vec2 fLodSize=vec2(textureSize(sampler,int(lod)));vec2 cLodSize=vec2(textureSize(sampler,int(lod+1.0)));vec2 fLodSizeInv=1.0/fLodSize;vec2 cLodSizeInv=1.0/cLodSize;vec4 fSample=bicubic(sampler,uv,vec4(fLodSizeInv,fLodSize),floor(lod));vec4 cSample=bicubic(sampler,uv,vec4(cLodSizeInv,cLodSize),ceil(lod));return mix(fSample,cSample,fract(lod));}vec3 getVolumeTransmissionRay(const in vec3 n,const in vec3 v,const in float thickness,const in float ior,const in mat4 modelMatrix){vec3 refractionVector=refract(-v,normalize(n),1.0/ior);vec3 modelScale;modelScale.x=length(vec3(modelMatrix[0].xyz));modelScale.y=length(vec3(modelMatrix[1].xyz));modelScale.z=length(vec3(modelMatrix[2].xyz));return normalize(refractionVector)*thickness*modelScale;}float applyIorToRoughness(const in float roughness,const in float ior){return roughness*clamp(ior*2.0-2.0,0.0,1.0);}vec4 getTransmissionSample(const in vec2 fragCoord,const in float roughness,const in float ior){float lod=log2(transmissionSamplerSize.x)*applyIorToRoughness(roughness,ior);return textureBicubic(tBackgroundPass,fragCoord.xy,lod);}vec3 volumeAttenuation(const in float transmissionDistance,const in vec3 attenuationColor,const in float attenuationDistance){if(isinf(attenuationDistance)){return vec3(1.0);}else{vec3 attenuationCoefficient=-log(attenuationColor)/attenuationDistance;vec3 transmittance=exp(-attenuationCoefficient*transmissionDistance);return transmittance;}}vec4 getIBLVolumeRefraction(const in vec3 n,const in vec3 v,const in float roughness,const in vec3 diffuseColor,const in vec3 specularColor,const in float specularF90,const in vec3 position,const in mat4 modelMatrix,const in mat4 viewMatrix,const in mat4 projMatrix,const in float dispersion,const in float ior,const in float thickness,const in vec3 attenuationColor,const in float attenuationDistance){vec4 transmittedLight;vec3 transmittance;
25182#ifdef USE_DISPERSION
25183float halfSpread=(ior-1.0)*0.025*dispersion;vec3 iors=vec3(ior-halfSpread,ior,ior+halfSpread);for(int i=0;i<3;i++){vec3 transmissionRay=getVolumeTransmissionRay(n,v,thickness,iors[i],modelMatrix);vec3 refractedRayExit=position+transmissionRay;vec4 ndcPos=projMatrix*viewMatrix*vec4(refractedRayExit,1.0);vec2 refractionCoords=ndcPos.xy/ndcPos.w;refractionCoords+=1.0;refractionCoords/=2.0;vec4 transmissionSample=getTransmissionSample(refractionCoords,roughness,iors[i]);transmittedLight[i]=transmissionSample[i];transmittedLight.a+=transmissionSample.a;transmittance[i]=diffuseColor[i]*volumeAttenuation(length(transmissionRay),attenuationColor,attenuationDistance)[i];}transmittedLight.a/=3.0;
25184#else
25185vec3 transmissionRay=getVolumeTransmissionRay(n,v,thickness,ior,modelMatrix);vec3 refractedRayExit=position+transmissionRay;vec4 ndcPos=projMatrix*viewMatrix*vec4(refractedRayExit,1.0);vec2 refractionCoords=ndcPos.xy/ndcPos.w;refractionCoords+=1.0;refractionCoords/=2.0;transmittedLight=getTransmissionSample(refractionCoords,roughness,ior);transmittance=diffuseColor*volumeAttenuation(length(transmissionRay),attenuationColor,attenuationDistance);
25186#endif
25187vec3 attenuatedColor=transmittance*transmittedLight.rgb;
25187vec3 F=EnvironmentBRDF(n,v,specularColor,specularF90,roughness);float transmittanceFactor=(transmittance.r+transmittance.g+transmittance.b)/3.0;return vec4((1.0-F)*attenuatedColor,1.0-(1.0-transmittedLight.a)*transmittanceFactor);}
25188#include <shadowmap_pars_fragment>
25189#include <bumpmap_pars_fragment>
25190#include <normalmap_pars_fragment>
25191#include <clearcoat_pars_fragment>
25192#include <iridescence_pars_fragment>
25193#include <roughnessmap_pars_fragment>
25194uniform float uFresnelAmount;uniform float uFresnelOffset;uniform float uFresnelFalloff;varying vec3 vView;varying vec3 vNormalFresnel;varying vec3 vPosition;uniform float uTime;uniform vec3 uHighlightColor;float map(float value,float min1,float max1,float min2,float max2){return min2+(value-min1)*(max2-min2)/(max1-min1);}vec3 loopingThreshold(float progress,float fillLength,float startFade,float endFade,float repeat){float progressModulo=fract(progress*repeat);progressModulo=smoothstep(0.0,fillLength,progressModulo);float startThreshold=smoothstep(0.0,startFade,progressModulo);float endThreshold=smoothstep(1.-endFade,1.0,progressModulo);return vec3(clamp(startThreshold-endThreshold,0.,1.),startThreshold,endThreshold);}float fresnelFunc(float amount,float offset,float falloff,vec3 normal,vec3 view){return clamp(offset+(1.0-offset)*pow(1.0-dot(normal,view),amount)*falloff,0.,1.);}
25195#include <metalnessmap_pars_fragment>
25196#include <logdepthbuf_pars_fragment>
25197#include <clipping_planes_pars_fragment>
25198void main(){vec4 diffuseColor=vec4(diffuse,opacity);
25199#include <clipping_planes_fragment>
25200ReflectedLight reflectedLight=ReflectedLight(vec3(0.0),vec3(0.0),vec3(0.0),vec3(0.0));vec3 totalEmissiveRadiance=emissive;
25201#include <logdepthbuf_fragment>
25202#include <map_fragment>
25203#include <color_fragment>
25204#include <alphamap_fragment>
25205#include <alphatest_fragment>
25206#include <alphahash_fragment>
25207#include <roughnessmap_fragment>
25208#include <metalnessmap_fragment>
25209#include <normal_fragment_begin>
25210vec2 screenCoords=gl_FragCoord.xy/uResolution.xy;vec3 fluidColor=texture2D(tFluidSim,screenCoords).rgb;float fluid=luminance(abs(fluidColor.rgb));fluid=smoothstep(0.1,0.9,fluid);fluid*=1.;vec3 viewDir=normalize(vView);float fresnel=fresnelFunc(uFresnelAmount,uFresnelOffset,uFresnelFalloff,normalize(vNormalFresnel),viewDir);roughnessFactor*=fresnel;float noise=snoise(vec3(vUv*10.,uTime*0.3))*0.5+0.5;float mappedYPosition=map(vPosition.y,-2.,2.,0.0,1.0);float mappedYPositionTopMask=smoothstep(-0.3,0.,vPosition.y);float time=uTime*0.12;float rippleFade=loopingThreshold(mod(mappedYPosition+time+noise*0.1,1.),0.6,0.2,0.9,2.).x;rippleFade*=1.-mappedYPositionTopMask;rippleFade=clamp(rippleFade,0.,1.);fluid*=1.-mappedYPositionTopMask;
25211#ifdef USE_NORMALMAP_OBJECTSPACE
25212normal=texture2D(normalMap,vNormalMapUv).xyz*2.0-1.0;
25213#ifdef FLIP_SIDED
25214normal=-normal;
25215#endif
25216#ifdef DOUBLE_SIDED
25217normal=normal*faceDirection;
25218#endif
25219normal=normalize(normalMatrix*normal);
25220#elif defined( USE_NORMALMAP_TANGENTSPACE )
25221vec3 mapN=texture2D(normalMap,vNormalMapUv).xyz*2.0-1.0;mapN.xy*=normalScale;normal=mix(normal,normalize(tbn*mapN),1.-mappedYPositionTopMask);
25222#elif defined( USE_BUMPMAP )
25223normal=perturbNormalArb(-vViewPosition,normal,dHdxy_fwd(),faceDirection);
25224#endif
25225#include <clearcoat_normal_fragment_begin>
25226#include <clearcoat_normal_fragment_maps>
25227#include <emissivemap_fragment>
25228#include <lights_physical_fragment>
25229#include <lights_fragment_begin>
25230#include <lights_fragment_maps>
25231#include <lights_fragment_end>
25232float ambientOcclusion=texture2D(aoMap,vAoMapUv).r;vec3 totalDiffuse=reflectedLight.directDiffuse+reflectedLight.indirectDiffuse;vec3 totalSpecular=reflectedLight.directSpecular+reflectedLight.indirectSpecular;
25233#include <transmission_fragment>
25234vec3 outgoingLight=totalDiffuse+totalSpecular+totalEmissiveRadiance;
25235#ifdef USE_SHEEN
25236float sheenEnergyComp=1.0-0.157*max3(material.sheenColor);outgoingLight=outgoingLight*sheenEnergyComp+sheenSpecularDirect+sheenSpecularIndirect;
25237#endif
25238#ifdef USE_CLEARCOAT
25239float dotNVcc=saturate(dot(geometryClearcoatNormal,geometryViewDir));vec3 Fcc=F_Schlick(material.clearcoatF0,material.clearcoatF90,dotNVcc);outgoingLight=outgoingLight*(1.0-material.clearcoat*Fcc)+(clearcoatSpecularDirect+clearcoatSpecularIndirect)*material.clearcoat;
25240#endif
25241outgoingLight.rgb+=vec3(1.-ambientOcclusion)*uHighlightColor*rippleFade*10.;outgoingLight.rgb+=vec3(1.-ambientOcclusion)*attenuationColor*fluid*10.;
25242#include <opaque_fragment>
25243#include <tonemapping_fragment>
25244#include <colorspace_fragment>
25245#include <fog_fragment>
25246#include <premultiplied_alpha_fragment>
25247#include <dithering_fragment>
25248}`;class Oue extends co{constructor(t={}){t=An({materialOpts:{transmission:1,roughness:.1,thickness:1,color:16777215,dispersion:1,ior:1.5,attenuationDistance:200},customUniforms:{uFresnelAmount:{value:3,gui:{min:0,max:100,step:.
2524801}},uFresnelOffset:{value:.05,gui:{min:0,max:1,step:.001}},uFresnelFalloff:{value:1.5,gui:{min:0,max:100,step:.01}},uHighlightColor:{value:new ke(16777215)}},backgroundSavePass:null},t);super(t.materialOpts);he(this,"onBeforeCompile",t=>{Object.assign(t.uniforms,{...this.customUniforms,tBackgroundPass:{value:this.backgroundSavePass.renderTarget.texture}}),t.vertexShader=t.vertexShader.replace("#include <normal_pars_vertex>",`
25249			#include <normal_pars_vertex>
25250			varying vec3 vView;
25251			varying vec3 vNormalFresnel;
25252			varying vec3 vPosition;
25253			varying vec2 vUv;
25254			`),t.vertexShader=t.vertexShader.replace("#include <worldpos_vertex>",`
25255			#include <worldpos_vertex>
25256			vView = normalize(cameraPosition - worldPosition.xyz); // view direction in object space
25257			vNormalFresnel = normalize((modelMatrix * vec4(normal, 0.0)).xyz); // normalized object space normals
25258			`),t.vertexShader=t.vertexShader.replace("#include <begin_vertex>",`
25259			#include <begin_vertex>
25260			vPosition = vec3( position );
25261			vUv = uv;
25262			`),t.fragmentShader=Lue});this.backgroundSavePass=t.backgroundSavePass,this.customUniforms=t.customUniforms}}var Fue=`#include <common>
25263#include <color_pars_vertex>
25264#include <clipping_planes_pars_vertex>
25265uniform float linewidth;uniform vec2 uResolution;attribute vec3 instanceStart;attribute vec3 instanceEnd;attribute float _random1;attribute float _random2;attribute float instanceProgressStart;attribute float instanceProgressEnd;varying float vProgress;varying float vRandom1;varying float vRandom2;varying vec2 vUv;
25266#ifdef WORLD_UNITS
25267varying vec4 worldPos;varying vec3 worldStart;varying vec3 worldEnd;
25268#endif
25269void trimSegment(const in vec4 start,inout vec4 end){float a=projectionMatrix[2][2];float b=projectionMatrix[3][2];float nearEstimate=-0.5*b/a;float alpha=(nearEstimate-start.z)/(end.z-start.z);end.xyz=mix(start.xyz,end.xyz,alpha);}void main(){vRandom1=_random1;vRandom2=_random2;vUv=uv;vProgress=(position.y<0.5)? instanceProgressStart : instanceProgressEnd;float aspect=uResolution.x/uResolution.y;vec4 start=modelViewMatrix*vec4(instanceStart,1.0);vec4 end=modelViewMatrix*vec4(instanceEnd,1.0);
25270#ifdef WORLD_UNITS
25271worldStart=start.xyz;worldEnd=end.xyz;
25272#endif
25273bool perspective=(projectionMatrix[2][3]==-1.0);if(perspective){if(start.z<0.0&&end.z>=0.0){trimSegment(start,end);}else if(end.z<0.0&&start.z>=0.0){trimSegment(end,start);}}vec4 clipStart=projectionMatrix*start;vec4 clipEnd=projectionMatrix*end;vec3 ndcStart=clipStart.xyz/clipStart.w;vec3 ndcEnd=clipEnd.xyz/clipEnd.w;vec2 dir=ndcEnd.xy-ndcStart.xy;dir.x*=aspect;dir=normalize(dir);
25274#ifdef WORLD_UNITS
25275vec3 worldDir=normalize(end.xyz-start.xyz);vec3 tmpFwd=normalize(mix(start.xyz,end.xyz,0.5));vec3 worldUp=normalize(cross(worldDir,tmpFwd));vec3 worldFwd=cross(worldDir,worldUp);worldPos=position.y<0.5 ? start: end;float hw=linewidth*0.5;worldPos.xyz+=position.x<0.0 ? hw*worldUp :-hw*worldUp;
25276#ifndef USE_DASH
25277worldPos.xyz+=position.y<0.5 ?-hw*worldDir : hw*worldDir;worldPos.xyz+=worldFwd*hw;if(position.y>1.0||position.y<0.0){worldPos.xyz-=worldFwd*2.0*hw;}
25278#endif
25279vec4 clip=projectionMatrix*worldPos;vec3 clipPose=(position.y<0.5)? ndcStart : ndcEnd;clip.z=clipPose.z*clip.w;
25280#else
25281vec2 offset=vec2(dir.y,-dir.x);dir.x/=aspect;offset.x/=aspect;if(position.x<0.0)offset*=-1.0;if(position.y<0.0){offset+=-dir;}else if(position.y>1.0){offset+=dir;}offset*=linewidth;offset/=uResolution.y;vec4 clip=(position.y<0.5)? clipStart : clipEnd;offset*=clip.w;clip.xy+=offset;
25282#endif
25283gl_Position=clip;vec4 mvPosition=(position.y<0.5)? start : end;
25284#include <clipping_planes_vertex>
25285}`,Uue=`varying float vProgress;varying float vRandom1;varying float vRandom2;varying vec2 vUv;uniform vec3 diffuse;uniform float opacity;uniform float linewidth;uniform float uRevealProgress;uniform float uParticleProgress;uniform float uAmbientParticleProgress;uniform bool uDevCameraActive;uniform float uTime;
25286#ifdef WORLD_UNITS
25287varying vec4 worldPos;varying vec3 worldStart;varying vec3 worldEnd;
25288#endif
25289#include <default_pars>
25290#include <color_pars_fragment>
25291#include <clipping_planes_pars_fragment>
25292vec2 closestLineToLine(vec3 p1,vec3 p2,vec3 p3,vec3 p4){float mua;float mub;vec3 p13=p1-p3;vec3 p43=p4-p3;vec3 p21=p2-p1;float d1343=dot(p13,p43);float d4321=dot(p43,p21);float d1321=dot(p13,p21);float d4343=dot(p43,p43);float d2121=dot(p21,p21);float denom=d2121*d4343-d4321*d4321;
25292float numer=d1343*d4321-d1321*d4343;mua=numer/denom;mua=clamp(mua,0.0,1.0);mub=(d1343+d4321*(mua))/d4343;mub=clamp(mub,0.0,1.0);return vec2(mua,mub);}float pulse(float time,float frequency){const float pi=3.14;return 0.5*(1.+sin(2.*pi*frequency*time));}vec3 loopingThreshold(float progress,float fillLength,float startFade,float endFade,float repeat){float progressModulo=fract(progress*repeat);progressModulo=smoothstep(0.0,fillLength,progressModulo);float startThreshold=smoothstep(0.0,startFade,progressModulo);float endThreshold=smoothstep(1.-endFade,1.0,progressModulo);return vec3(startThreshold-endThreshold,startThreshold,endThreshold);}void main(){
25293#include <clipping_planes_fragment>
25294if(vUv.y<-1.0||vUv.y>1.0)discard;float alpha=opacity;alpha*=pulse(vProgress-vRandom2-uTime*0.2,2.)*1.;float randomReveal=map(vRandom1,0.,1.,0.7,1.);float revealThreshold=1.-smoothstep(uRevealProgress-0.1,uRevealProgress,vProgress*randomReveal);if(uDevCameraActive)revealThreshold=1.;alpha*=revealThreshold;float time=uParticleProgress+vRandom2*0.01;float progress=map(vProgress,0.,1.,0.,1.)-time;vec3 thresholds=loopingThreshold(mod(progress,1.0),0.005,0.01,0.01,1.)*(1.+vRandom2*50.);alpha+=thresholds.x;
25295#ifdef WORLD_UNITS
25296vec3 rayEnd=normalize(worldPos.xyz)*1e5;vec3 lineDir=worldEnd-worldStart;vec2 params=closestLineToLine(worldStart,worldEnd,vec3(0.0,0.0,0.0),rayEnd);vec3 p1=worldStart+lineDir*params.x;vec3 p2=rayEnd*params.y;vec3 delta=p1-p2;float len=length(delta);float norm=len/linewidth;
25297#ifndef USE_DASH
25298#ifdef USE_ALPHA_TO_COVERAGE
25299float dnorm=fwidth(norm);alpha=1.0-smoothstep(0.5-dnorm,0.5+dnorm,norm)+opacity;
25300#else
25301if(norm>0.5){discard;}
25302#endif
25303#endif
25304#else
25305#ifdef USE_ALPHA_TO_COVERAGE
25306float a=vUv.x;float b=(vUv.y>0.0)? vUv.y-1.0 : vUv.y+1.0;float len2=a*a+b*b;float dlen=fwidth(len2);if(abs(vUv.y)>1.0){alpha=1.0-smoothstep(1.0-dlen,1.0+dlen,len2);}
25307#else
25308if(abs(vUv.y)>1.0){float a=vUv.x;float b=(vUv.y>0.0)? vUv.y-1.0 : vUv.y+1.0;float len2=a*a+b*b;if(len2>1.0)discard;}
25309#endif
25310#endif
25311vec4 diffuseColor=vec4(pow(diffuse,vec3(1.3+(vRandom1*2.-1.))),alpha);alpha*=smoothstep(1.-vRandom2*0.25,0.5+vRandom2*0.25,vProgress);time=uTime*(0.05+vRandom2*0.05)+vRandom1*0.9;progress=map(vProgress,0.,1.,0.,1.)-time;thresholds=loopingThreshold(mod(progress,1.0),0.01,0.01,0.01,2.)*(1.+vRandom2*10.)*(1.-smoothstep(uAmbientParticleProgress-0.1,uAmbientParticleProgress,vProgress));alpha+=thresholds.x;gl_FragColor=vec4(diffuseColor.rgb,alpha);
25312#include <tonemapping_fragment>
25313#include <colorspace_fragment>
25314#include <premultiplied_alpha_fragment>
25315}`;class d6 extends is{constructor(e={}){e=An({vertexShader:Fue,fragmentShader:Uue,uniforms:{diffuse:{value:new ke(16777215)},opacity:{value:1,gui:{min:0,step:.01}},uRevealProgress:{value:0,gui:{min:0,max:1,step:.01}},uParticleProgress:{value:0,gui:{min:-1,max:2,step:.01}},uAmbientParticleProgress:{value:0,gui:{min:-1,max:2,step:.01}},linewidth:{value:1,gui:{step:.01}}},defines:{USE_ALPHA_TO_COVERAGE:!1,WORLD_UNITS:!1},transparent:!0},e),super(e)}}class Nue extends uo(){constructor(){super({name:"Biology Orb"})}build(){this.group=new Ha,this.group.name=this.name+" / Group",this.add(this.group),this.irisLines=new ip(new Dd,new d6),this.irisLines.name=this.name+" / Iris Lines";const e=this.assets.models.irisLines.geometry.toNonIndexed();this.irisLines.geometry.setPositions(e.attributes.position.array);const t=e.attributes._progress,i=new Float32Array(t.count);for(let c=0,u=0,f=t.count;c<f;c++,u+=2)i[u]=t.getX(u),i[u+1]=t.getX(u+1);const r=new Yr(i,2,1);this.irisLines.geometry.setAttribute("instanceProgressStart",new fn(r,1,0)),this.irisLines.geometry.setAttribute("instanceProgressEnd",new fn(r,1,1)),this.irisLines.geometry.setAttribute("_random1",new fn(new Yr(e.attributes._random1.array,2,1),1,0)),this.irisLines.geometry.setAttribute("_random2",new fn(new Yr(e.attributes._random2.array,2,1),1,0)),this.group.add(this.irisLines),this.irisLines2=new ip(new Dd,new d6),this.irisLines2.name=this.name+" / Iris Lines 2";const s=this.assets.models.irisLines2.geometry.toNonIndexed();this.irisLines2.geometry.setPositions(s.attributes.position.array);const o=s.attributes._progress,a=new Float32Array(o.count);for(let c=0,u=0,f=o.count;c<f;c++,u+=2)a[u]=o.getX(u),a[u+1]=o.getX(u+1);const l=new Yr(a,2,1);this.irisLines2.geometry.setAttribute("instanceProgressStart",new fn(l,1,0)),this.irisLines2.geometry.setAttribute("instanceProgressEnd",new fn(l,1,1)),this.irisLines2.geometry.setAttribute("_random1",new fn(new Yr(s.attributes._random1.array,2,1),1,0)),this.irisLines2.geometry.setAttribute("_random2",new fn(new Yr(s.attributes._random2.array,2,1),1,0)),this.group.add(this.irisLines2),this.ball=new Qe(this.assets.models.ball.geometry,new Oue({materialOpts:{transmission:1,roughness:.1,thickness:1,color:16777215,dispersion:1,ior:1.5,envMap:this.assets.textures.envmap,normalMap:this.assets.textures.ballNormal,aoMap:this.assets.textures.ballAo},customUniforms:{tFluidSim:{value:S.WebGL.fluidSim.advectionSimVelocity.texture}
25315,uFresnelAmount:{value:3,gui:{min:0,max:100,step:.01}},uFresnelOffset:{value:.05,gui:{min:0,max:1,step:.001}},uFresnelFalloff:{value:1.5,gui:{min:0,max:100,step:.01}},uTime:S.WebGL.globalUniforms.uTime,uResolution:S.WebGL.globalUniforms.uResolution},backgroundSavePass:this.parent.backgroundSavePass})),this.ball.name=this.name+" / Ball",this.ball.renderOrder=1,this.group.add(this.ball),this.ball.onBeforeRender=()=>{S.WebGL.renderer.clear(!1,!0,!1),this.ball.material.customUniforms.tFluidSim.value=S.WebGL.fluidSim.advectionSimVelocity.texture,this.ball.material.customUniforms.uResolution.value.copy(S.WebGL.globalUniforms.uResolution.value),this.ball.material.customUniforms.uTime.value=S.WebGL.globalUniforms.uTime.value}}load(){S.AssetLoader.loadGltf("/webgl/models/eye.glb").then(e=>{this.assets.models.irisLines=e.scene.getObjectByName("iris-lines-01"),this.assets.models.irisLines2=e.scene.getObjectByName("iris-lines-02"),this.assets.models.ball=e.scene.getObjectByName("ball")}),S.AssetLoader.loadTexture("/webgl/textures/soft-light-env.webp",{mapping:Ya,wrapping:ts,colorSpace:En}).then(e=>{this.assets.textures.envmap=e}),S.AssetLoader.loadTexture("/webgl/textures/hex-normal.png",{wrapping:ts}).then(e=>{this.assets.textures.ballNormal=e}),S.AssetLoader.loadTexture("/webgl/textures/hex-ao.jpg",{wrapping:ts,minFilter:Yt}).then(e=>{this.assets.textures.ballAo=e})}addGui(){S.theatre.helper.autoAddObject(this.group,this.parent.prettyName,{exclude:["position","rotation"]}).onValuesChange(i=>{this.irisLines.scale.copy(i.transforms.scale),this.irisLines2.scale.copy(i.transforms.scale)},S.theatre.rafDriver),S.theatre.helper.autoAddObject(this.irisLines,this.parent.prettyName,{exclude:["position","rotation","scale"]}),S.theatre.helper.autoAddObject(this.irisLines2,this.parent.prettyName,{exclude:["position","rotation","scale"]});const e=new ke(16777215);e.convertLinearToSRGB(),e.isSRGB=!0;const t={material:{fresnelAmount:Te.types.number(this.ball.material.customUniforms.uFresnelAmount.value,{range:[0,100],nudgeMultiplier:.01}),fresnelOffset:Te.types.number(this.ball.material.customUniforms.uFresnelOffset.value,{range:[0,1],nudgeMultiplier:.001}),fresnelFalloff:Te.types.number(this.ball.material.customUniforms.uFresnelFalloff.value,{range:[0,100],nudgeMultiplier:.01}),highlightColor:Te.types.rgba({r:e.r,g:e.g,b:e.b,a:1},{label:"Highlight Color"})}};S.theatre.helper.autoAddObject(this.ball,this.parent.prettyName,{additionalConfig:t}).onValuesChange(i=>{this.ball.material.customUniforms.uFresnelAmount.value=i.material.fresnelAmount,this.ball.material.customUniforms.uFresnelOffset.value=i.material.fresnelOffset,this.ball.material.customUniforms.uFresnelFalloff.value=i.material.fresnelFalloff,this.ball.material.customUniforms.uHighlightColor.value.copySRGBToLinear(i.material.highlightColor)},S.theatre.rafDriver)}}class kue extends cc{constructor(){super("biology-orb",{domId:"biology",domAlign:"right"}),this.components=Object.assign({orb:new Nue}),this.glassObjectsScene=new Wa,this.glassObjectsScene.name=this.prettyName}start(){super.start(),this.renderPassOrbObjects.enabled=!0,this.backgroundSavePass.enabled=!0}stop(){super.stop(),this.renderPassOrbObjects.enabled=!1,this.backgroundSavePass.enabled=!1}build(){super.build(),this.glassObjectsScene.add(this.backgroundSphere),this.glassObjectsScene.add(this.components.orb.irisLines),this.glassObjectsScene.add(this.components.orb.irisLines2)}buildPasses(){super.buildPasses(),this.renderPass.clear=!1,this.renderPass.clearDepth=!0,this.renderPassOrbObjects=new m4(this.glassObjectsScene,this.activeCamera),this.renderPassOrbObjects.name=`${this.name} Render Orb Objects`,this.renderPassOrbObjects.enabled=!1,this.backgroundSavePass=new g4(new li(S.window.w*S.WebGL.renderer.getPixelRatio(),S.window.h*S.WebGL.renderer.getPixelRatio(),{type:nn,generateMipmaps:!0,minFilter:jx})),this.backgroundSavePass.name=`${this.name} Background Save`,this.backgroundSavePass.enabled=!1,this.backgroundSavePass.renderTarget.setSize(S.window.w*S.WebGL.renderer.getPixelRatio(),S.window.h*S.WebGL.renderer.getPixelRatio()),S.WebGL.composerPasses.add(this.renderPassOrbObjects,S.WebGL.composerPassOrder[this.name]+2),S.WebGL.composerPasses.add(this.backgroundSavePass,S.WebGL.composerPassOrder[this.name]+3)}addAdditionalDesktopScrollAnimations(e){e.fromTo([this.components.orb.group.position,this.components.orb.irisLines.position,this.components.orb.irisLines2.position],{x:-1.34,y:.8,z:0},{x:0,y:0,z:0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-logo-grid`,start:"center center-=10%",end:"top top-=30%",scrub:.1}},0).fromTo([this.components.orb.group.rotation,this.components.orb.irisLines.rotation,this.components.orb.irisLines2.rotation],{x:.78,y:.08,z:.81},{x:.82,y:1.46,z:.73,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-logo-grid`,start:"center center-=10%",end:"top top-=30%",scrub:.1}},0)}addAdditionalMobileScrollAnimations(e){e.fromTo([this.components.orb.group.position,this.components.orb.irisLines.position,this.components.orb.irisLines2.position],{x:-1.47,y:.8,z:0},{x:0,y:0,z:0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-logo-grid`,start:"top top",end:"top top-=10%",scrub:.1,preventOverlaps:!0,fastScrollEnd:!0}},0).fromTo([this.components.orb.group.rotation,this.components.orb.irisLines.rotation,this.components.orb.irisLines2.rotation],{x:.78,y:.08,z:.81},{x:.82,y:1.46,z:.73,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-logo-grid`,start:"top top",end:"top top-=10%",scrub:.1,preventOverlaps:!0,fastScrollEnd:!0}},0)}destroy(){super.destroy(),this.renderPassOrbObjects.dispose(),this.backgroundSavePass.dispose()}}var zue=`#include <default_pars>
25316#include <normals_tangents_vert_pars>
25317#include <world_position_transform_vert_pars>
25318varying vec2 vUv;varying vec3 vPos;varying float vRingId;varying float vDisplacement;attribute vec2 aFboUv;uniform float uTime;uniform vec3 uScale;uniform sampler2D tPosition;uniform sampler2D tOriginalPosition;varying vec3 vDebug;varying vec2 vHighPrecisionZW;uniform float uEnterBlockScale;float fresnelFunc(float amount,float offset,float falloff,vec3 normal,vec3 view){return clamp(offset+(1.0-offset)*pow(1.0-dot(normal,view),amount)*falloff,0.,1.);}mat3 lookAtPoint(vec3 target,vec3 position){vec3 localUp=vec3(0,1,0);vec3 forward=normalize(position-target);vec3 right=normalize(cross(localUp,forward));vec3 up=normalize(cross(forward,right));return mat3(right,up,forward);}mat3 rotationMatrix(vec3 axis,float angle){axis=normalize(axis);float s=sin(angle);float c=cos(angle);float oc=1.0-c;return mat3(oc*axis.x*axis.x+c,oc*axis.x*axis.y-axis.z*s,oc*axis.z*axis.x+axis.y*s,oc*axis.x*axis.y+axis.z*s,oc*axis.y*axis.y+c,oc*axis.y*axis.z-axis.x*s,oc*axis.z*axis.x-axis.y*s,oc*axis.y*axis.z+axis.x*s,oc*axis.z*axis.z+c);}float rand(float n){return fract(sin(n)*43758.5453123);}void main(){vUv=uv;vec4 transformedPosition=vec4(position,1.0);vec4 originalPosFetch=texture2D(tOriginalPosition,aFboUv);vRingId=originalPosFetch.w;vec4 tilePosition=texture2D(tPosition,aFboUv);vDisplacement=tilePosition.w;transformedPosition.xyz*=uScale;float normalizeRingIndex=vRingId/40.0;float scaleSmoothness=0.2;float mappedScaleProgress=map(uEnterBlockScale,0.0,1.0,0.0,1.0+scaleSmoothness);transformedPosition.xyz*=1.0-smoothstep(mappedScaleProgress-scaleSmoothness,mappedScaleProgress,1.0-normalizeRingIndex);float scaleAmount=mix(0.5,1.0,smoothstep(0.0,4.0,originalPosFetch.w)-smoothstep(33.0,37.,originalPosFetch.w));transformedPosition.x*=scaleAmount;mat3 lookAt=lookAtPoint(tilePosition.xyz,vec3(0.0));transformedPosition.xyz=lookAt*transformedPosition.xyz;
25319#include <instance_offset_vert>
25320transformedPosition.xyz+=tilePosition.xyz;vec3 objectNormal=vec3(normal);vec3 objectTangent=vec3(tangent.xyz);vec3 transformedNormal=lookAtPoint(transformedPosition.xyz,vec3(0.0))*objectNormal;
25321#ifdef USE_INSTANCING
25322mat3 m=mat3(instanceMatrix);transformedNormal/=vec3(dot(m[0],m[0]),dot(m[1],m[1]),dot(m[2],m[2]));transformedNormal=m*transformedNormal;
25323#endif
25324transformedNormal=normalMatrix*transformedNormal;vec3 transformedTangent=(modelViewMatrix*vec4(objectTangent,0.0)).xyz;vNormal=normalize(transformedNormal);vTangent=normalize(transformedTangent);vBitangent=normalize(cross(vNormal,vTangent)*tangent.w);vPos=transformedPosition.xyz;vDebug=vec3(tilePosition.w);
25325#include <world_position_transform_vert>
25326#include <mv_position_transform_vert>
25327#include <varyings_vert>
25328gl_Position=projectionMatrix*mvPosition;vHighPrecisionZW=gl_Position.zw;}`,Hue=`#include <default_pars>
25329#include <packing>
25330#include <default_frag_pars>
25331#include <dynamic_frag_pars>
25332#include <tonemapping_pars_fragment>
25333uniform int uToneMapping;varying float vRingId;varying vec2 vUv;varying vec3 vDebug;varying vec3 vPos;varying float vDisplacement;uniform bool uDevCameraActive;uniform bool uDebug;uniform vec3 uInsideGlowColor;uniform float uInsideGlowStrength;uniform vec3 uDisplacementColor;varying vec2 vHighPrecisionZW;void main(){
25334#if defined(DEPTH_PACKING) || defined(DEPTH_NORMAL_PACKING)
25335gl_FragColor=vec4(vec3(1.),1.0);
25336#else
25337#include <dynamic_frag>
25338gl_FragColor.rgb+=max(0.0,smoothstep(-0.5,0.5,-vPos.z))*uInsideGlowStrength*uInsideGlowColor;gl_FragColor.rgb+=uDisplacementColor*vDisplacement;if(uDebug)gl_FragColor.rgb=vec3(vDebug);
25339#endif
25340if(vRingId>100.0){discard;}
25341#include <tonemapping_frag>
25342#include <colorspace_fragment>
25343#ifdef DEPTH_PACKING
25344float fragCoordZ=0.5*vHighPrecisionZW[0]/vHighPrecisionZW[1]+0.5;gl_FragColor=vec4(1.0)-vec4(vec3(0.0),1.0);
25345#elif defined(DEPTH_NORMAL_PACKING)
25346float fragCoordZ=0.5*vHighPrecisionZW[0]/vHighPrecisionZW[1]+0.5;pc_fragColor=vec4(vNormal,fragCoordZ);
25347#endif
25348}`;class Vue extends kA{constructor(e={}){e=An({vertexShader:zue,fragmentShader:Hue,uniforms:{uEnterBlockScale:{value:1,gui:{min:0,max:1,step:.01}},uScale:{value:new K(1,1,1),gui:{min:0,step:.01}},uDisplacementColor:{value:new ke(16711935)},uInsideGlowColor:{value:new ke(16770019)},uInsideGlowStrength:{value:1,gui:{min:0,step:.01}},uDebug:{value:!1},uRoughness:{value:.023,gui:{min:0,max:1,step:.001}},uMetalness:{value:1,gui:{min:0,max:1,step:.001}},uMatcapBlendMode:{value:5,gui:{min:0,max:5,step:1}}},defines:{FLAT_SHADED:!0,USE_MATCAP:!1,USE_ENV:!0}},e),super(e)}}var Gue=`#include <default_pars>
25349varying vec2 vUv;uniform sampler2D tOriginalTexture;uniform sampler2D tTexture;uniform mat4 uModelMatrix;uniform mat4 uViewMatrix;uniform mat4 uProjectionMatrix;uniform float uTime;uniform float uDelta;uniform float uNormalizedDelta;uniform float uLerpSpeed;uniform float uSetup;uniform float uRingRotationSpeed;uniform float uRotationAngle;uniform vec2 uMouse;uniform float uMouseDisplacementStrength;uniform float uMouseRadius;uniform float uMouseFresnelAmount;uniform float uMouseFresnelOffset;uniform float uMouseFresnelFalloff;uniform float uAmbientDisplacementStrength;uniform float uAmbientDisplacementScale;uniform float uAmbientDisplacementSpeed;uniform float uBeatOscillationSpeed;uniform float uBeatSpeed;float fresnelFunc(float amount,float offset,float falloff,vec3 normal,vec3 view){return clamp(offset+(1.0-offset)*pow(1.0-dot(normal,view),amount)*falloff,0.,1.);}float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}float rand(float n){return fract(sin(n)*43758.5453123);}mat3 rotationMatrix(vec3 axis,float angle){axis=normalize(axis);float s=sin(angle);float c=cos(angle);float oc=1.0-c;return mat3(oc*axis.x*axis.x+c,oc*axis.x*axis.y-axis.z*s,oc*axis.z*axis.x+axis.y*s,oc*axis.x*axis.y+axis.z*s,oc*axis.y*axis.y+c,oc*axis.y*axis.z-axis.x*s,oc*axis.z*axis.x-axis.y*s,oc*axis.y*axis.z+axis.x*s,oc*axis.z*axis.z+c);}vec4 permute(vec4 x){return mod(((x*34.0)+1.0)*x,289.0);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}vec3 fade(vec3 t){return t*t*t*(t*(t*6.0-15.0)+10.0);}float cnoise(vec3 P){vec3 Pi0=floor(P);vec3 Pi1=Pi0+vec3(1.0);Pi0=mod(Pi0,289.0);Pi1=mod(Pi1,289.0);vec3 Pf0=fract(P);vec3 Pf1=Pf0-vec3(1.0);vec4 ix=vec4(Pi0.x,Pi1.x,Pi0.x,Pi1.x);vec4 iy=vec4(Pi0.yy,Pi1.yy);vec4 iz0=Pi0.zzzz;vec4 iz1=Pi1.zzzz;vec4 ixy=permute(permute(ix)+iy);vec4 ixy0=permute(ixy+iz0);vec4 ixy1=permute(ixy+iz1);vec4 gx0=ixy0/7.0;vec4 gy0=fract(floor(gx0)/7.0)-0.5;gx0=fract(gx0);vec4 gz0=vec4(0.5)-abs(gx0)-abs(gy0);vec4 sz0=step(gz0,vec4(0.0));gx0-=sz0*(step(0.0,gx0)-0.5);gy0-=sz0*(step(0.0,gy0)-0.5);vec4 gx1=ixy1/7.0;vec4 gy1=fract(floor(gx1)/7.0)-0.5;gx1=fract(gx1);vec4 gz1=vec4(0.5)-abs(gx1)-abs(gy1);vec4 sz1=step(gz1,vec4(0.0));gx1-=sz1*(step(0.0,gx1)-0.5);gy1-=sz1*(step(0.0,gy1)-0.5);vec3 g000=vec3(gx0.x,gy0.x,gz0.x);vec3 g100=vec3(gx0.y,gy0.y,gz0.y);vec3 g010=vec3(gx0.z,gy0.z,gz0.z);vec3 g110=vec3(gx0.w,gy0.w,gz0.w);vec3 g001=vec3(gx1.x,gy1.x,gz1.x);vec3 g101=vec3(gx1.y,gy1.y,gz1.y);vec3 g011=vec3(gx1.z,gy1.z,gz1.z);vec3 g111=vec3(gx1.w,gy1.w,gz1.w);vec4 norm0=taylorInvSqrt(vec4(dot(g000,g000),dot(g010,g010),dot(g100,g100),dot(g110,g110)));g000*=norm0.x;g010*=norm0.y;g100*=norm0.z;g110*=norm0.w;vec4 norm1=taylorInvSqrt(vec4(dot(g001,g001),dot(g011,g011),dot(g101,g101),dot(g111,g111)));g001*=norm1.x;g011*=norm1.y;g101*=norm1.z;g111*=norm1.w;float n000=dot(g000,Pf0);float n100=dot(g100,vec3(Pf1.x,Pf0.yz));float n010=dot(g010,vec3(Pf0.x,Pf1.y,Pf0.z));float n110=dot(g110,vec3(Pf1.xy,Pf0.z));float n001=dot(g001,vec3(Pf0.xy,Pf1.z));float n101=dot(g101,vec3(Pf1.x,Pf0.y,Pf1.z));float n011=dot(g011,vec3(Pf0.x,Pf1.yz));float n111=dot(g111,Pf1);vec3 fade_xyz=fade(Pf0);vec4 n_z=mix(vec4(n000,n100,n010,n110),vec4(n001,n101,n011,n111),fade_xyz.z);vec2 n_yz=mix(n_z.xy,n_z.zw,fade_xyz.y);float n_xyz=mix(n_yz.x,n_yz.y,fade_xyz.x);return 2.2*n_xyz;}float noise(float p){float fl=floor(p);float fc=fract(p);return mix(rand(fl),rand(fl+1.0),fc);}float noise(vec2 n){const vec2 d=vec2(0.0,1.0);vec2 b=floor(n),f=smoothstep(vec2(0.0),vec2(1.0),fract(n));return mix(mix(rand(b),rand(b+d.yx),f.x),mix(rand(b+d.xy),rand(b+d.yy),f.x),f.y);}float easeOutExpo(float t,float power){return 1.0-pow(2.0,-power*t);}float easeInExpo(float t,float power){return pow(2.0,power*(t-1.0));}void main(){vec2 uv=vUv;vec4 originalPosFetch=texture2D(tOriginalTexture,uv);float ringId=originalPosFetch.w;vec4 position=texture2D(tTexture,uv);vec3 currentPos=position.xyz;float randOffset=max(0.3,rand(ringId+545864.));float direction=1.0;mat3 rotation=rotationMatrix(vec3(0.,1.,0.),uTime*randOffset*direction*uRingRotationSpeed);rotation=rotation*rotationMatrix(vec3(0.,1.,0.),uRotationAngle);vec3 target=rotation*originalPosFetch.xyz;float randomIndex=rand(vUv);float randomIndex2=rand(vUv*2.0+4651.);vec3 sphereNormal=normalize(originalPosFetch.xyz);vec3 rotatedNormal=rotation*sphereNormal;vec4 earlyViewPosition=uViewMatrix*uModelMatrix*vec4(target,1.0);vec4 earlyProjection=uProjectionMatrix*earlyViewPosition;vec2 screenPos=earlyProjection.xy/earlyProjection.w*0.5+0.5;float distance=distance(screenPos,uMouse);float displacementFactor=1.-smoothstep(0.0,uMouseRadius,distance);float displacement=uMouseDisplacementStrength*displacementFactor*(sin(uTime*1.5+randomIndex*PI*2.0)*0.5+1.0);
25349displacement+=uAmbientDisplacementStrength*map(randomIndex2,0.0,1.0,0.5,1.15)*smoothstep(cnoise(vec3(screenPos*uAmbientDisplacementScale,uTime*uAmbientDisplacementSpeed)),0.0,1.0);vec3 viewDir=-earlyViewPosition.xyz;vec3 fresnelNormal=(uModelMatrix*vec4(rotation*sphereNormal,1.0)).rgb;float fresnel=max(0.0,1.0-fresnelFunc(uMouseFresnelAmount,uMouseFresnelOffset,uMouseFresnelFalloff,fresnelNormal,viewDir));target+=rotatedNormal*displacement*fresnel;if(uSetup>0.5){gl_FragColor=vec4(target,displacement*fresnel);return;}currentPos+=(target-currentPos)*uNormalizedDelta*uLerpSpeed;gl_FragColor=vec4(currentPos,displacement*fresnel);if(ringId>100.){gl_FragColor=vec4(currentPos,999.9);}}`;class Que extends uo(){constructor(){super({name:"Team Orb",speed:.0015,scrollResponsiveness:.035,scrollMaxSpeed:6});he(this,"onResize",()=>{});this.pointerPos=new Re(-10,-10),this.targetPointerPos=new Re(-10,-10),this.scrollSpeedMultiplier=1,this.enableRotationOnScroll=0,this._rotation=0}build(){this.assets.textures.envmapPMREM=S.WebGL.pmremHandler.buildEnvironmentTexture(this,this.assets.textures.envmap);const t=this.assets.models.ball.geometry.attributes.position.count;this.textureWidth=Math.ceil(Math.sqrt(t)),this.count=this.textureWidth*this.textureWidth,this.positionSim=new Qr({width:this.textureWidth,height:this.textureWidth,fragmentShader:Gue,uniforms:{uBeatSpeed:{value:10},uSetup:{value:1},uLerpSpeed:{value:.1,gui:{min:0,max:1,step:.001}},uRotationAngle:{value:0},uRingRotationSpeed:{value:.08,gui:{min:0,step:.01}},uMouseDisplacementStrength:{value:.19,gui:{min:0,step:.01}},uMouseRadius:{value:.15,gui:{min:0,step:.01}},uMouseFresnelAmount:{value:2,gui:{min:0,max:100,step:.01}},uMouseFresnelOffset:{value:.01,gui:{min:0,max:1,step:.001}},uMouseFresnelFalloff:{value:.05,gui:{min:0,max:100,step:.01}},uAmbientDisplacementStrength:{value:.05,gui:{min:0,max:1,step:.01}},uAmbientDisplacementScale:{value:.05,gui:{min:0,step:.01}},uAmbientDisplacementSpeed:{value:.05,gui:{min:0,step:.01}},uMouse:{value:this.pointerPos},uModelMatrix:{value:new Ct},uViewMatrix:{value:this.parent.activeCamera.matrixWorldInverse},uProjectionMatrix:{value:this.parent.activeCamera.projectionMatrix}},createTexture:!0,type:Zt,data:this.getSphereData()}),this.positionSim.uniforms.uSetup.value=0,this.mesh=new Tp(this.assets.models.cube.geometry.rotateY(Math.PI*.5).rotateZ(Math.PI*.5).scale(.05,.05,.05),new Vue({uniforms:{tOriginalPosition:{value:this.positionSim.originalTexture},tPosition:{value:this.positionSim.texture},tEnvMap:{value:this.assets.textures.envmapPMREM}}}),this.count),this.add(this.mesh),this.mesh.name=this.name,this.mesh.frustumCulled=!1,this.defaultMaterial=this.mesh.material,this.depthMaterial=new Cn({vertexShader:this.defaultMaterial.vertexShader,fragmentShader:this.defaultMaterial.fragmentShader,uniforms:this.defaultMaterial.uniforms,defines:{DEPTH_PACKING:Jx}}),this.godraysMaterial=new Cn({vertexShader:this.defaultMaterial.vertexShader,fragmentShader:this.defaultMaterial.fragmentShader,uniforms:this.defaultMaterial.uniforms,defines:{DEPTH_NORMAL_PACKING:!0}});const i=new Wt,r=[];for(let s=0;s<this.count;s++)i.updateMatrix(),this.mesh.setMatrixAt(s,i.matrix),r.push(Math.random(),Math.random(),Math.random());this.mesh.geometry.setAttribute("aFboUv",this.positionSim.fboUv.attributeInstanced),this.mesh.geometry.setAttribute("aRandom",new Ro(new Float32Array(r),3)),this.mesh.updateMatrix(),this.positionSim.uniforms.uModelMatrix.value=this.mesh.matrixWorld,oc(this.onResize,!1),this.onResize()}getSphereData(){const t=new Float32Array(this.textureWidth*this.textureWidth*4);for(let i=0;i<this.textureWidth*this.textureWidth*4;i+=4){const r=i/4,s=this.assets.models.ball.geometry.attributes.position.getX(r),o=this.assets.models.ball.geometry.attributes.position.getY(r),a=this.assets.models.ball.geometry.attributes.position.getZ(r),l=this.assets.models.ball.geometry.attributes._ringid.array[r];if(s===void 0||o===void 0||a===void 0){t[i+0]=999.99,t[i+1]=999.99,t[i+2]=999.99,t[i+3]=999.99;continue}t[i+0]=s,t[i+1]=o,t[i+2]=a,t[i+3]=l}return t}update(){this.updateScrollRotation(this.parent.scrollVelocity*this.enableRotationOnScroll),this._rotation+=this.options.speed*this.scrollSpeedMultiplier*S.WebGL.normalizedDelta,this.positionSim.uniforms.uRotationAngle.value=this._rotation,S.pointer.glScreenSpace.equals(this.targetPointerPos)||(this.targetPointerPos.copy(S.pointer.glScreenSpace),this.pointerPos.x===-10&&this.pointerPos.y===-10&&this.pointerPos.copy(this.targetPointerPos)),this.pointerPos.lerp(this.targetPointerPos,.06),this.positionSim.uniforms.uMouse.value.copy(this.pointerPos),this.positionSim.uniforms.uModelMatrix.value=this.mesh.matrixWorld,this.positionSim.uniforms.uViewM
25349atrix.value=this.parent.activeCamera.matrixWorldInverse,this.positionSim.uniforms.uProjectionMatrix.value=this.parent.activeCamera.projectionMatrix,this.positionSim.update(),this.mesh.material.uniforms.tPosition.value=this.positionSim.texture}updateScrollRotation(t){this.scrollSpeedMultiplier=1+Math.abs(t)*this.options.scrollResponsiveness,this.scrollSpeedMultiplier=gn.clamp(this.scrollSpeedMultiplier,1,this.options.scrollMaxSpeed)}preRender(){this.positionSim.uniforms.uSetup.value=1,this.positionSim.update(),this.positionSim.uniforms.uSetup.value=0}setDepthMaterial(){this.mesh.material=this.depthMaterial}setDefaultMaterial(){this.mesh.material=this.defaultMaterial}setGodraysMaterial(){this.mesh.material=this.godraysMaterial}destroy(){var t,i;super.destroy(),this.mesh.geometry.dispose(),this.defaultMaterial.dispose(),this.depthMaterial.dispose(),this.godraysMaterial.dispose(),this.positionSim.destroy(),this.remove(this.mesh),this.parent.remove(this);for(const r in this.assets.textures)this.assets.textures[r].dispose();for(const r in this.assets.models)(t=this.assets.models[r].geometry)==null||t.dispose(),(i=this.assets.models[r].material)==null||i.dispose();this.pointerPos.set(-10,-10),this.targetPointerPos.set(-10,-10)}load(){S.AssetLoader.loadGltf("/webgl/models/team-ball.glb").then(t=>{this.assets.models.ball=t.scene.children[0]}),S.AssetLoader.loadGltf("/webgl/models/team-cube.glb").then(t=>{this.assets.models.cube=t.scene.children[0]}),S.AssetLoader.loadTexture("/webgl/textures/team-orb-env.jpg",{mapping:Ya,colorSpace:En,wrapping:ts}).then(t=>{this.assets.textures.envmap=t,this.assets.textures.envmap.name="envmap",this.assets.textures.envmap.isHDR=!1})}addGui(){const t={simulation:{}},i=S.theatre.helper.autoAddUniforms(t.simulation,this.positionSim.uniforms,["uSetup","uMouse","uModelMatrix","uViewMatrix","uProjectionMatrix"]);S.theatre.helper.autoAddObject(this.mesh,this.parent.prettyName,{additionalConfig:t}).onValuesChange(s=>{for(let o=0;o<i.length;o++)i[o](this,s.simulation)},S.theatre.rafDriver)}}class Wue extends cc{constructor(){super("team-orb",{domId:"team"}),Object.assign(this.components,{orb:new Que}),Object.assign(this.cameraLayers,{godrays:1}),this.godrays={enabled:!0},this.godrayRenderTargetResolutionMultiplier=1/4,this._clipPosition=new Vt,this._sunPosition=new K(106.79,0,-891.29),this._screenSpacePosition=new K,this._TAPS_PER_PASS=7,this.scrollVelocity=0}build(){super.build(),this.buildGodrays()}buildScrollAnimation(){var i;if(S.urlParams.has("scene"))return;const t=(i=UA(NA).theme)==null?void 0:i.screens;this.mm=dr.matchMedia(),this.mm.add({isDesktop:S.breakpoints.mediaQueries.md.media,isMobile:`(max-width: ${Number.parseInt(t.md)-1}px)`},r=>{this.scrollAnimation=dr.timeline({defaults:{duration:1,ease:r.conditions.isDesktop?"power2.inOut":"power1.inOut"}}),r.conditions.isDesktop?this.scrollAnimation.fromTo(this.cameras.camera1._position,{x:-1,y:1,z:6},{x:-1,y:0,z:10,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,start:"top bottom+=40%",end:"center center",scrub:!0}},0).fromTo(this.cameras.camera1._position,{x:-1,y:0,z:10},{x:1.4,y:0,z:7.9,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-team-list`,start:"center center",end:"top top",scrub:!0}},0).fromTo(this._sunPosition,{x:106.79,y:0,z:-891.29},{x:-206.76,y:0,z:-891.29,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-team-list`,start:"center center",end:"top top",scrub:!0}},0):this.scrollAnimation.fromTo(this.cameras.camera1._position,{x:0,y:10,z:4},{x:0,y:1,z:10,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,start:"top bottom+=80%",end:"top top",scrub:!0}}).fromTo(this.cameras.camera1._position,{x:0,y:1,z:10},{x:()=>{let o;return S.window.w<=480?o=1/S.window.h*1400:S.window.w<=768?o=S.window.h*.0032*(S.window.w/S.window.h):o=1.6,o},y:0,z:7.9,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-team-list`,start:"top top",end:"top top",scrub:!0}},0).fromTo(this._sunPosition,{x:0,y:-120,z:-891.29},{x:-180,y:0,z:-891.29,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-section-copy`,endTrigger:`[data-webgl-section="${this.options.domId}"] .js-team-list`,start:"top top",end:"top top",scrub:!0}},0),this.sectionScroll=Pt.create({trigger:`[data-webgl-section="${this.options.domId}"]`,start:"top top",end:"bottom bottom",scrub:!0});const s=dr.to(this.components.orb,{enableRotationOnScroll:1,paused:!0,scrollTrigger:{trigger:`[data-webgl-section="${this.options.domId}"] .js-team-list`,start:"top top+=40%",end:"bottom bottom",scrub:!0}});return()=>{this.scrollAnimation.kill(),this.sectionScroll.kill(),s.kill()}})}getStepSize(e,t,i){return e*Math.pow(t,-i)}filterGodRays(e,t,i){this.godrays.scene.overrideMaterial=this.godrays.materialGodraysGenerate,this.godrays.godrayGenUniforms.fStepSize.value=i,this.godrays.godrayGenUniforms.tInput.value=e,S.WebGL.renderer.setRenderTarget(t),S.WebGL.renderer.render(this.godrays.scene,this.godrays.camera),this.godrays.scene.overrideMaterial=null}buildGodrays(){var o,a,l;this.godrays.scene=new Wa,this.godrays.camera=new Ou(-.5,.5,.5,-.5,-1e4,1e4),this.godrays.camera.position.z=100,this.godrays.scene.add(this.godrays.camera);const e=S.WebGL.renderer.getPixelRatio();this.godrays.rtTextureDepthMask=new li(S.window.w*e,S.window.h*e,{type:nn}),(o=S.WebGL.rtViewer)==null||o.registerRT(this.godrays.rtTextureDepthMask,"Godrays Depth Mask RT");const t=S.window.w*this.godrayRenderTargetResolutionMultiplier*e,i=S.window.h*this.godrayRenderTargetResolutionMultiplier*e;this.godrays.rtTextureGodRays1=new li(t,i,{type:nn}),(a=S.WebGL.rtViewer)==null||a.registerRT(this.godrays.rtTextureGodRays1,"Godrays RT 1"),this.godrays.rtTextureGodRays2=new li(t,i,{type:nn}),(l=S.WebGL.rtViewer)==null||l.registerRT(this.godrays.rtTextureGodRays2,"Godrays RT 2");const r=Ere;this.godrays.godrayGenUniforms=Po.clone(r.uniforms),this.godrays.materialGodraysGenerate=new Cn({uniforms:{...this.godrays.godrayGenUniforms,...S.WebGL.globalUniforms},vertexShader:r.vertexShader,fragmentShader:`
25350
25351				#define TAPS_PER_PASS ${this._TAPS_PER_PASS.toFixed(1)}
25352
25353				varying vec2 vUv;
25354
25355				uniform sampler2D tInput;
25356
25357				uniform vec3 vSunPositionScreenSpace;
25358				uniform float fStepSize; // filter step size
25359
25360				uniform vec2 uResolution;
25361
25362				void main() {
25363
25364					// delta from current pixel to "sun" position
25365					vec2 sunPosAdjusted = vSunPositionScreenSpace.xy;
25366					vec2 uvAdjusted = vUv;
25367
25368					// Adjust for aspect ratio
25369					sunPosAdjusted -= vec2(0.5, 0.5);
25370					uvAdjusted -= vec2(0.5, 0.5);
25371					if (uResolution.x > uResolution.y) {
25372						uvAdjusted.x *= uResolution.x / uResolution.y; // makes it fit the scren
25373						sunPosAdjusted.x *= uResolution.x / uResolution.y;
25374
25375						// other way - doesn't cause increasing strength on all edges but causes bigger gaps on landscape :/ 
25376						// uvAdjusted.y *= uResolution.y / uResolution.x; // makes it bigger
25377						// sunPosAdjusted.y *= uResolution.y / uResolution.x;
25378
25379					} else {
25380						uvAdjusted.y *= uResolution.y / uResolution.x;
25381						sunPosAdjusted.y *= uResolution.y / uResolution.x;
25382
25383						// other way
25384						// uvAdjusted.x *= uResolution.x / uResolution.y; 
25385						// sunPosAdjusted.x *= uResolution.x / uResolution.y;
25386					}
25387
25388					uvAdjusted += vec2(0.5, 0.5);
25389					sunPosAdjusted += vec2(0.5, 0.5);
25390
25391					vec2 delta = vSunPositionScreenSpace.xy - vUv;
25392
25393					float dist = length( sunPosAdjusted.xy - uvAdjusted );
25394
25395					vec2 stepv = fStepSize * delta / dist;
25396
25397					// Number of iterations between pixel and sun
25398					float iters = dist/fStepSize;
25399					
25400					vec2 uv = vUv.xy;
25401					float col = 0.0;
25402
25403					// Unrolling loop manually makes it work in ANGLE
25404					float f = min( 1.0, max( vSunPositionScreenSpace.z / 10.0, 0.0 ) ); // used to fade out godrays
25405					// f *= (1.0 - (dist * 0.25));
25406					// f = 1.0;
25407
25408					// TODO fix so that extreme aspect ratios don't cause the godrays to be stronger on the edges
25409
25410					// when the difference between x and y is bigger we need f to be smaller
25411					// when the difference between x and y is bigger, the dist value reaches higher too 
25412
25413					// if (uResolution.x < uResolution.y) {
25414					// 	float aspect = clamp(uResolution.y / uResolution.x, 0.5, 1.0);
25415					// 	f *= (1.0 - (dist * aspect));
25416					// } else {
25417					// 	float aspect = clamp(uResolution.x / uResolution.y, 0.5, 1.0);
25418					// 	f *= (1.0 - (dist * aspect));
25419					// }
25420
25421					// f = dist;
25422
25423					// if ( 0.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f;
25424					// uv += stepv;
25425
25426					// if ( 1.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f;
25427					// uv += stepv;
25428
25429					// if ( 2.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f;
25430					// uv += stepv;
25431
25432					// if ( 3.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f;
25433					// uv += stepv;
25434
25435					// if ( 4.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f;
25436					// uv += stepv;
25437
25438					// if ( 5.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f;
25439					// uv += stepv;
25440
25441					// if ( 6.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f;
25442					// uv += stepv;
25443
25444					for ( float i = 0.0; i < TAPS_PER_PASS; i += 1.0 ) {
25445						if ( i <= iters && uv.y < 1.0 ) {
25446							col += texture2D( tInput, uv ).r * f;
25447						}
25448						uv += stepv;
25449					}
25450
25451					// Should technically be dividing by 'iters but 'TAPS_PER_PASS' smooths out
25452					// objectionable artifacts, in particular near the sun position. The side
25453					// effect is that the result is darker than it should be around the sun, as
25454					// TAPS_PER_PASS is greater than the number of samples actually accumulated.
25455					// When the result is inverted (in the shader 'godrays_combine this produces
25456					// a slight bright spot at the position of the sun, even when it is occluded.
25457
25458					gl_FragColor = vec4( col/TAPS_PER_PASS );
25459					gl_FragColor.a = 1.0;
25460
25461					// gl_FragColor.rgb = vec3(abs(delta), 0.0);
25462					// gl_FragColor.rgb = vec3(abs(delta / dist), 0.0);
25463
25464				}`}),this.godrays.quad=new Qe(new lo(1,1),this.godrays.materialGodraysGenerate),this.godrays.quad.position.z=-9900,this.godrays.scene.add(this.godrays.quad),S.theatre.helper.addSheetObject(this.prettyName,"Godrays",{enabled:Te.types.boolean(this.godraysPass.material.uniforms.uEnabled.value),intensity:Te.types.number(this.godraysPass.material.uniforms.uIntensity.value,{nudgeMultiplier:.01}),exponent:Te.types.number(this.godraysPass.material.uniforms.uExponent.value,{nudgeMultiplier:.01}),maxLimit:Te.types.number(this.godraysPass.material.uniforms.uMaxLimit.value,{nudgeMultiplier:.01}),debug:Te.types.boolean(this.godraysPass.material.uniforms.uDebug.value)}).onValuesChange(c=>{this.godraysPass.material.uniforms.uEnabled.value=c.enabled,this.godraysPass.material.uniforms.uIntensity.value=c.intensity,this.godraysPass.material.uniforms.uExponent.value=c.exponent,this.godraysPass.material.uniforms.uDebug.value=c.debug,this.godraysPass.material.uniforms.uMaxLimit.value=c.maxLimit},S.theatre.rafDriver)}update(){if(this.sectionScroll&&(this.scrollVelocity=gn.lerp(this.scrollVelocity,this.sectionScroll.getVelocity(),.2)),super.update(),!this.godrays.enabled)return;const e=S.WebGL.renderer.autoClear,t=S.WebGL.renderer.getRenderTarget(),i=this.background;S.WebGL.renderer.autoClear=!1,this._clipPosition.x=this._sunPosition.x,this._clipPosition.y=this._sunPosition.y,this._clipPosition.z=this._sunPosition.z,this._clipPosition.w=1,this._clipPosition.applyMatrix4(this.activeCamera.matrixWorldInverse).applyMatrix4(this.activeCamera.projectionMatrix),this._clipPosition.x/=this._clipPosition.w,this._clipPosition.y/=this._clipPosition.w,this._screenSpacePosition.x=(this._clipPosition.x+1)/2,this._screenSpacePosition.y=(this._clipPosition.y+1)/2,this._screenSpacePosition.z=this._clipPosition.z,this.godrays.godrayGenUniforms.vSunPositionScreenSpace.value.copy(this._screenSpacePosition),this.background=new ke(0),this.components.orb.setDepthMaterial(),S.WebGL.renderer.setRenderTarget(this.godrays.rtTextureDepthMask),S.WebGL.renderer.clear(),S.WebGL.renderer.render(this.components.orb,this.activeCamera);const r=1.5;this.filterGodRays(this.godrays.rtTextureDepthMask.texture,this.godrays.rtTextureGodRays2,this.getStepSize(r,this._TAPS_PER_PASS,1)),this.filterGodRays(this.godrays.rtTextureGodRays2.texture,this.godrays.rtTextureGodRays1,this.getStepSize(r,this._TAPS_PER_PASS,2)),this.filterGodRays(this.godrays.rtTextureGodRays1.texture,this.godrays.rtTextureGodRays2,this.getStepSize(r,this._TAPS_PER_PASS,3)),this.godrays.scene.overrideMaterial=null,S.WebGL.renderer.setRenderTarget(t),this.components.orb.setDefaultMaterial(),this.background=i,S.WebGL.renderer.autoClear=e,this.godraysPass.material.uniforms.tGodrays.value=this.godrays.rtTextureGodRays2.texture}buildPasses(){super.buildPasses(),this.godraysPass=new rp(new is({vertexShader:R4,fragmentShader:`
25465
25466				#include <default_frag_pars>
25467
25468				varying vec2 vUv;
25469		
25470				uniform sampler2D tDiffuse;
25471				uniform sampler2D tGodrays;
25472		
25473				uniform float uExponent;
25474				uniform float uIntensity;
25475				uniform float uMaxLimit;
25476
25477				uniform float uTime;
25478
25479				uniform bool uEnabled;
25480				uniform bool uDebug;
25481		
25482				void main() {
25483
25484					float godraySample = pow(texture2D( tGodrays, vUv ).r, uExponent) * uIntensity;
25485
25486					if (uDebug) {
25487						gl_FragColor = vec4(vec3(godraySample), 1.0);
25488						return;
25489					}
25490
25491					gl_FragColor = texture2D( tDiffuse, vUv );
25492
25493					if (uEnabled) {
25494						// gl_FragColor.rgb -= vec3( pow(smoothstep(0.22, 1.0, texture2D( tGodrays, vUv ).r), uExponent) * uIntensity );
25495						// gl_FragColor.rgb = max(gl_FragColor.rgb - max(min(godraySample, 1.0), 0.0) * 1.0, 0.0);
25496						gl_FragColor.rgb += min(vec3(godraySample), uMaxLimit);
25497						// gl_FragColor.rgb = blendScreen(gl_FragColor.rgb, vec3(godraySample), 1.0);
25498					}
25499					
25500				}
25501			`,uniforms:{uEnabled:{value:!0},tDiffuse:{value:null},tGodrays:{value:null},uIntensity:{value:50},uMaxLimit:{value:1},uExponent:{value:5},uDebug:{value:!1}}})),this.godraysPass.enabled=!1,this.godraysPass.name=`${this.name} Godrays`,S.WebGL.composerPasses.add(this.godraysPass,S.WebGL.composerPassOrder[this.name]+5)}onSceneResize(){const e=S.WebGL.renderer.getPixelRatio();this.godrays.rtTextureDepthMask.setSize(S.window.w*e,S.window.h*e);const t=S.window.w*this.godrayRenderTargetResolutionMultiplier*e,i=S.window.h*this.godrayRenderTargetResolutionMultiplier*e;this.godrays.rtTextureGodRays1.setSize(t,i),this.godrays.rtTextureGodRays2.setSize(t,i)}destroy(){var e,t,i;super.destroy(),this.godrays.rtTextureDepthMask.dispose(),this.godrays.rtTextureGodRays1.dispose(),this.godrays.rtTextureGodRays2.dispose(),(e=S.WebGL.rtViewer)==null||e.unregisterRT("Godrays Depth Mask RT"),(t=S.WebGL.rtViewer)==null||t.unregisterRT("Godrays RT 1"),(i=S.WebGL.rtViewer)==null||i.unregisterRT("Godrays RT 2"),this.godrays.materialGodraysGenerate.dispose(),this.godrays.quad.geometry.dispose(),this.scrollVelocity=0}start(){this.components.orb.preRender(),super.start(),this.godraysPass.enabled=!0}stop(){super.stop(),this.godraysPass.enabled=!1}}class jue{constructor(e){he(this,"array",[]);he(this,"sourceArray");this.sourceArray=e}add(e,t){this.array.push({index:t,item:e}),this.array.sort(this.sort),this.updateSourceArray()}remove(e){for(let t=0;t<this.array.length;t++)this.array[t].item===e&&this.array.splice(t,1);this.updateSourceArray()}updateSourceArray(){this.sourceArray.length=0;for(let e=0;e<this.array.length;e++)this.sourceArray[e]=this.array[e].item}sort(e,t){return e.index>t.index?1:-1}}class que extends ac{constructor(){super();he(this,"check",()=>{if(!this.run)return;this.frames++;const t=performance.now();if(t>=this.prevTime+this.checkInterval){const i=this.frames*1e3/(t-this.prevTime);if(i>1&&(this.avgFps.push(i),this.checkCount++,this.checkCount===5)){this.run=!1;const r=Math.min(...this.avgFps),s=Math.max(...this.avgFps);for(let a=0;a<this.avgFps.length;a++)if(this.avgFps[a]===r){this.avgFps.splice(a,1);break}for(let a=0;a<this.avgFps.length;a++)if(this.avgFps[a]===s){this.avgFps.splice(a,1);break}const o=Math.ceil(this.avgFps.reduce((a,l)=>a+l,0)/this.avgFps.length);this.avgFps=[],this.gpuTier=this.tiers.filter(a=>o>=a).length,this.totalChecks++,requestAnimationFrame(()=>{setTimeout(()=>{this.emit("FPSChecked",{gpuTier:this.gpuTier})},0)}),this.gpuTier<this.totalCheckLimit&&this.totalChecks<this.totalCheckLimit&&this.enable()}this.prevTime=t,this.frames=0}});he(this,"onDocVisibilityChange",()=>{this.run&&document.visibilityState==="visible"&&(this.prevTime=performance.now(),this.frames=0)});he(this,"onResize",()=>{this.run&&(this.prevTime=performance.now(),this.frames=0,this.checkCount=0,this.avgFps=[])});this.run=!1,this.hasRun=!1,this.checkInterval=500,this.frames=0,this.prevTime=0,this.checkCount=0,this.totalChecks=0,this.tiers=[15,30,40,50],this.totalCheckLimit=10,this.gpuTier=this.tiers.length,this.avgFps=[]}init(){S.urlParams.has("forcehq")||(S.RAFCollection.add(this.check,200),document.addEventListener("visibilitychange",this.onDocVisibilityChange),oc(this.onResize,!1),this.on("CheckFPS",()=>{this.avgFps=[],this.totalChecks=0,this.hasRun=!0,this.enable()}),this.emit("CheckFPS"))}enable(){this.checkCount=0,this.run=!0}disable(){this.run=!1}on(t,i){this.addEventListener(t,i)}off(t,i){this.removeEventListener(t,i)}emit(t,i={}){this.dispatchEvent({type:t,data:i})}}const L1=new que,Cf=S.env==="development"?"//undefinedundefined":"https://undefinedundefined";function Xue(n,e){const t=r=>{var o,a,l,c,u,f,h,p,m,v,A,y,x,b;const s=[{type:"Icon",title:"Reset State",svgSource:'<svg stroke="currentColor" fill="none" stroke-width="2" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><polyline points="23 4 23 10 17 10"></polyline><polyline points="1 20 1 14 7 14"></polyline><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"></path></svg>',onClick:_=>{confirm("Revert all changes?")&&(r.__experimental.__experimental_clearPersistentStorage(S.theatre.persistenceKey),localStorage.removeItem(S.theatre.persistenceKey+".persistent"),localStorage.removeItem(S.theatre.persistenceKey+".openRTViewerPanes"),window.location.reload())}}
25501,{type:"Icon",title:"Save",svgSource:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M48 96V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V170.5c0-4.2-1.7-8.3-4.7-11.3l33.9-33.9c12 12 18.7 28.3 18.7 45.3V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H309.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5-33.9 33.9L320.8 84.7c-.3-.3-.5-.5-.8-.8V184c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V80H64c-8.8 0-16 7.2-16 16zm80-16v80H272V80H128zm32 240a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z"/></svg>',onClick:_=>{const T=window.prompt("Save as: ","state");if(!T)return;const M=S.theatre.studio.createContentOfSaveFile(S.theatre.project.address.projectId);fetch(`${Cf}?save`,{method:"POST",body:JSON.stringify({name:T,projectId:n,data:M})}).then(I=>{I.json().then(R=>{R&&Te.notify.success("Saved Project","Project has been saved!")})},I=>{console.error(I)})}},{type:"Icon",title:"Versions",svgSource:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"/></svg>',onClick:_=>{r.createPane("unseen-versions")}}];return(S.env==="development"||S.env==="browsersync")&&s.push({type:"Icon",title:"Publish Current Version",svgSource:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg>',onClick:_=>{const T=S.theatre.studio.createContentOfSaveFile(S.theatre.project.address.projectId);confirm("This will overwrite the published version. Are you sure?")&&fetch(`${Cf}?publish`,{method:"POST",body:JSON.stringify({projectId:n,data:T})}).then(M=>{M.json().then(I=>{console.log(I),I&&Te.notify.success("Published Project","Project has been published!")})},M=>{console.error(M)})}}),S.WebGL&&((a=(o=S.WebGL)==null?void 0:o.activeScene)!=null&&a.devTools&&s.push({type:"Switch",value:S.WebGL.activeScene.devTools.enabled,onChange:_=>{S.theatre.studio.transaction(({set:T})=>{T(S.theatre.studioObjects[S.WebGL.activeScene.prettyName]["Dev Tools"].props.enabled,!S.WebGL.activeScene.devTools.enabled)})},options:[{value:!0,label:"Toggle Orbit Cam",svgSource:`<svg fill="currentColor" viewBox="0 -4 24 24" xmlns="http://www.w3.org/2000/svg">
25502						<path d="M1450,258l-5-2v2a2,2,0,0,1-2,2h-13a2,2,0,0,1-2-2V246a2,2,0,0,1,2-2h13a2,2,0,0,1,2,2v2l5-2a2,2,0,0,1,2,2v8A2,2,0,0,1,1450,258Zm-7-4v-8h-13v12h13v-4Zm7-6-5,2v4l5,2v-8Z" transform="translate(-1428 -244)"/>
25503					</svg>`}]}),s.push({type:"Switch",value:S.theatre.previewCamOpen,onChange:_=>{S.theatre.previewCamOpen||r.createPane("unseen-preview-cam")},options:[{value:!0,label:"Show Preview Cam",svgSource:`<svg width="62" height="62" viewBox="0 0 62 62" fill="none" xmlns="http://www.w3.org/2000/svg">
25504					<path d="M11 40.3901C11 44.1666 14.0779 47.2445 17.8544 47.2445H44.2269C48.0034 47.2445 51.0813 44.1666 51.0813 40.3901L51.0838 24.6006C51.0838 20.824 48.0059 17.7461 44.2294 17.7461H40.5617L39.4201 15.9642C38.6355 14.734 37.2939 14 35.8435 14H26.0732C24.6152 14 23.2813 14.7315 22.4966 15.9642L21.355 17.7461H17.862C14.0855 17.7461 11.0076 20.8241 11.0076 24.6006V40.3901H11ZM13.592 24.6006C13.592 22.2491 15.503 20.338 17.8545 20.338H22.765L24.671 17.3563C24.9747 16.8779 25.5012 16.5918 26.0631 16.5918H35.8335C36.403 16.5918 36.9219 16.8778 37.2256 17.3563L39.1316 20.338H44.2194C46.5708 20.338 48.4819 22.2491 48.4819 24.6006V40.3849C48.4819 42.7364 46.5708 44.6474 44.2194 44.6474H17.8469C15.4954 44.6474 13.5844 42.7364 13.5844 40.3849L13.5869 24.6006H13.592Z" fill="currentColor" stroke="currentColor"/>
25505					<path d="M30.8314 40.6629C35.6989 40.6629 39.6629 36.704 39.6629 31.8314C39.6629 26.9639 35.704 23 30.8314 23C25.9589 23 22 26.9588 22 31.8314C21.9975 36.704 25.9563 40.6629 30.8314 40.6629ZM30.8314 25.5971C34.2713 25.5971 37.0708 28.3966 37.0708 31.8365C37.0708 35.2765 34.2713 38.076 30.8314 38.076C27.3915 38.076 24.592 35.2765 24.592 31.8365C24.5895 28.3966 27.389 25.5971 30.8314 25.5971Z" fill="currentColor" stroke="currentColor"/>
25506					<path d="M2.67939 23.1374C3.51909 23.1374 4.28245 22.4504 4.28245 21.5344V4.20611H21.6107C22.4504 4.20611 23.2137 3.51908 23.2137 2.60305C23.2137 1.68702 22.5267 1 21.6107 1H1.07634V21.458C1.07634 22.374 1.76336 23.1374 2.67939 23.1374Z" fill="currentColor" stroke="currentColor"/>
25507					<path d="M40.8474 1.07633C40.0077 1.07633 39.2443 1.76336 39.2443 2.67939C39.2443 3.59542 39.9313 4.28244 40.8474 4.28244H58.2519V21.6107C58.2519 22.4504 58.939 23.2137 59.855 23.2137C60.771 23.2137 61.458 22.5267 61.458 21.6107V1.07633H40.8474Z" fill="currentColor" stroke="currentColor"/>
25508					<path d="M21.6107 57.7939H4.20611V40.4656C4.20611 39.626 3.51908 38.8626 2.60305 38.8626C1.68702 38.8626 1 39.5496 1 40.4656V60.9237H21.6107C22.4504 60.9237 23.2137 60.2366 23.2137 59.3206C23.2137 58.4046 22.4504 57.7939 21.6107 57.7939Z" fill="currentColor" stroke="currentColor"/>
25509					<path d="M59.7787 38.8626C58.939 38.8626 58.1756 39.5496 58.1756 40.4656V57.7939H40.8474C40.0077 57.7939 39.2443 58.4809 39.2443 59.3969C39.2443 60.313 39.9313 61 40.8474 61H61.3054V40.4656C61.3817 39.626 60.6947 38.8626 59.7787 38.8626Z" fill="currentColor" stroke="currentColor"/>
25510					</svg>`}]}),s.push({type:"Icon",title:"Preview Render Target",svgSource:`<svg width="44" height="44" viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
25511			<path d="M42.2293 0H1.77073C0.79293 0 0 0.79293 0 1.77073V42.2288C0 43.2071 0.79293 43.9995 1.77073 43.9995H42.2293C43.2076 43.9995 44 43.2066 44 42.2288V1.77073C44 0.79293 43.2071 0 42.2293 0ZM40.4585 40.4581H3.54146V3.54195H40.4581L40.4585 40.4581Z" fill="currentColor"/>
25512			<path d="M17.0296 7.07653H7.08046V17.0257H17.0296V7.07653Z" fill="currentColor"/>
25513			<path d="M26.9787 17.0257H17.0296V26.9748H26.9787V17.0257Z" fill="currentColor"/>
25514			<path d="M36.9279 26.9743H26.9787V36.9235H36.9279V26.9743Z" fill="currentColor"/>
25515			<path d="M36.9279 7.07653H26.9787V17.0257H36.9279V7.07653Z" fill="currentColor"/>
25516			<path d="M17.0296 26.9743H7.08046V36.9235H17.0296V26.9743Z" fill="currentColor"/>
25517			</svg>`,onClick:_=>{r.createPane("unseen-preview-render-target")}}),(l=S.WebGL)!=null&&l.stats&&s.push({type:"Switch",value:(c=S.WebGL)==null?void 0:c.stats.visible,onChange:_=>{S.theatre.studio.transaction(({set:T})=>{T(S.theatre.studioObjects.Unseen.Settings.props.showStats,!S.WebGL.stats.visible)})},options:[{value:!0,label:"Toggle Stats",svgSource:`<svg width="80" height="50" viewB
25517ox="0 0 80 50" fill="none" xmlns="http://www.w3.org/2000/svg">
25518					<path fill-rule="evenodd" clip-rule="evenodd" d="M44.2427 42.6127C39.8757 46.1878 33.4079 42.4536 34.3206 36.8842C34.532 35.5937 35.1015 34.3885 35.9641 33.4056L56.3606 10.167L46.4335 39.4501C46.0136 40.6886 45.2546 41.7843 44.2427 42.6127ZM29.3864 36.0757C27.7285 46.1926 39.4774 52.9758 47.41 46.4816C49.1461 45.0603 50.4484 43.1803 51.1687 41.0554L63.5119 4.64551C64.741 1.01991 60.092 -1.66419 57.5667 1.21301L32.2063 30.1074C30.7262 31.7937 29.7492 33.8615 29.3864 36.0757ZM40 8.59171C20.67 8.59171 5 24.2618 5 43.5917C5 44.9724 3.8807 46.0917 2.5 46.0917C1.11929 46.0917 0 44.9724 0 43.5917C0 21.5003 17.9086 3.59171 40 3.59171C41.6223 3.59171 43.2232 3.68841 44.7969 3.87661C46.1678 4.04061 47.1463 5.28491 46.9823 6.65581C46.8184 8.02681 45.5741 9.00521 44.2031 8.84131C42.826 8.67661 41.4235 8.59171 40 8.59171ZM63.6624 14.3916C64.6014 13.3793 66.1832 13.3199 67.1954 14.2588C75.0679 21.5608 80 32.0022 80 43.5917C80 44.9724 78.8807 46.0917 77.5 46.0917C76.1193 46.0917 75 44.9724 75 43.5917C75 33.4507 70.6903 24.3201 63.7952 17.9247C62.7829 16.9857 62.7235 15.4039 63.6624 14.3916Z" fill="currentColor"/>
25519					</svg>`}]}),(h=(f=(u=S.WebGL)==null?void 0:u.activeScene)==null?void 0:f.devTools)!=null&&h.enabled&&(s.push({type:"Switch",value:S.WebGL.activeScene.devTools.grid.enabled,onChange:_=>{S.theatre.studio.transaction(({set:T})=>{T(S.theatre.studioObjects[S.WebGL.activeScene.prettyName]["Dev Tools"].props.grid,!S.WebGL.activeScene.devTools.grid.enabled)})},options:[{value:!0,label:"Toggle Grid",svgSource:`<svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg">
25520						<path fill-rule="evenodd" clip-rule="evenodd" d="M1.00285 19.9985L19.9985 19.9971L19.9971 1.00147L1.00147 1.00285L1.00285 19.9985ZM0.998746 0H20.0013C20.5528 0 21 0.438615 21 0.998746V20.0013C21 20.5528 20.5614 21 20.0013 21H0.998746C0.447154 21 0 20.5614 0 20.0013V0.998746C0 0.447154 0.438615 0 0.998746 0Z" fill="currentColor"/>
25521						<path d="M6 0H5V21H6V0Z" fill="currentColor"/>
25522						<path d="M11 0H10V21H11V0Z" fill="currentColor"/>
25523						<path d="M16 0H15V21H16V0Z" fill="currentColor"/>
25524						<path d="M21 10H0V11H21V10Z" fill="currentColor"/>
25525						<path d="M21 5H0V6H21V5Z" fill="currentColor"/>
25526						<path d="M21 15H0V16H21V15Z" fill="currentColor"/>
25527						</svg>`}]}),s.push({type:"Switch",value:(p=S.WebGL)==null?void 0:p.activeScene.devTools.options.helpers,onChange:_=>{S.theatre.studio.transaction(({set:T})=>{T(S.theatre.studioObjects[S.WebGL.activeScene.prettyName]["Dev Tools"].props.helpers,!S.WebGL.activeScene.devTools.options.helpers)})},options:[{value:!0,label:"Toggle Helpers",svgSource:`<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
25528						<path d="M2 3C2 2.44772 2.44772 2 3 2H8.5C9.05229 2 9.5 1.55228 9.5 1C9.5 0.447715 9.05229 0 8.5 0H3C1.34315 0 0 1.34315 0 3V8.5C0 9.05229 0.447715 9.5 1 9.5C1.55228 9.5 2 9.05229 2 8.5V3Z" fill="currentColor"/>
25529						<path d="M23.5 0C22.9477 0 22.5 0.447715 22.5 1C22.5 1.55228 22.9477 2 23.5 2H29C29.5523 2 30 2.44772 30 3V8.5C30 9.05229 30.4477 9.5 31 9.5C31.5523 9.5 32 9.05229 32 8.5V3C32 1.34315 30.6569 0 29 0H23.5Z" fill="currentColor"/>
25530						<path d="M2 23.5C2 22.9477 1.55228 22.5 1 22.5C0.447715 22.5 0 22.9477 0 23.5V29C0 30.6569 1.34315 32 3 32H8.5C9.05229 32 9.5 31.5523 9.5 31C9.5 30.4477 9.05229 30 8.5 30H3C2.44772 30 2 29.5523 2 29V23.5Z" fill="currentColor"/>
25531						<path d="M32 23.5C32 22.9477 31.5523 22.5 31 22.5C30.4477 22.5 30 22.9477 30 23.5V29C30 29.5523 29.5523 30 29 30H23.5C22.9477 30 22.5 30.4477 22.5 31C22.5 31.5523 22.9477 32 23.5 32H29C30.6569 32 32 30.6569 32 29V23.5Z" fill="currentColor"/>
25532						<path fill-rule="evenodd" clip-rule="evenodd" d="M4.65826 21.0602L10.3238 19L4.65826 16.9398C4.26307 16.7961 4 16.4205 4 16C4 15.5795 4.26307 15.2039 4.65826 15.0602L10.3238 13L4.65826 10.9398C4.26307 10.7961 4 10.4205 4 10C4 9.57949 4.26307 9.20391 4.65826 9.06021L15.6583 5.06021C15.879 4.97993 16.121 4.97993 16.3417 5.06021L27.3417 9.06021C27.7369 9.20391 28 9.57949 28 10C28 10.4205 27.7369 10.7961 27.3417 10.9398L21.6762 13L27.3417 15.0602C27.7369 15.2039 28 15.5795 28 16C28 16.4205 27.7369 16.7961 27.3417 16.9398L21.6762 19L27.3417 21.0602C27.7369 21.2039 28 21.5795 28 22C28 22.4205 27.7369 22.7961 27.3417 22.9398L16.3417 26.9398C16.121 27.0201 15.879 27.0201 15.6583 26.9398L4.65826 22.9398C4.26307 22.7961 4 22.4205 4 22C4 21.5795 4.26307 21.2039 4.65826 21.0602ZM18.75 14.0641L16.3417 14.9398C16.121 15.0201 15.879 15.0201 15.6583 14.9398L13.25 14.0641L7.92618 16L16 18.9359L24.0738 16L18.75 14.0641ZM7.92618 22L13.25 20.0641L15.6583 20.9398C15.879 21.0201 16.121 21.0201 16.3417 20.9398L18.75 20.0641L24.0738 22L16 24.9359L7.92618 22ZM16 12.9359L7.92618 10L16 7.06406L24.0738 10L16 12.9359Z" fill="currentColor"/>
25533						</svg>`}]})),(A=(v=(m=S.WebGL)==null?void 0:m.activeScene)==null?void 0:v.devTools)!=null&&A.enabled&&((b=(x=(y=S.WebGL)==null?void 0:y.activeScene)==null?void 0:x.devTools)!=null&&b.transformControls.enabled)&&(s.push({type:"Switch",value:S.WebGL.activeScene.devTools.transformControls.mode,onCh
25533ange:_=>{S.WebGL.activeScene.devTools.transformControls.setMode(_),S.theatre.updateExtensionToolbar()},options:[{value:"translate",label:"Translate",svgSource:'<svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l9.4-9.4V224H109.3l9.4-9.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4H224V402.7l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-9.4 9.4V288H402.7l-9.4 9.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4H288V109.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64z"/></svg>'},{value:"rotate",label:"Rotate",svgSource:'<svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M142.9 142.9c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H463.5c0 0 0 0 0 0H472c13.3 0 24-10.7 24-24V72c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5c7.7-21.8 20.2-42.3 37.8-59.8zM16 312v7.6 .7V440c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l41.6-41.6c87.6 86.5 228.7 86.2 315.8-1c24.4-24.4 42.1-53.1 52.9-83.7c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.2 62.2-162.7 62.5-225.3 1L185 329c6.9-6.9 8.9-17.2 5.2-26.2s-12.5-14.8-22.2-14.8H48.4h-.7H40c-13.3 0-24 10.7-24 24z"/></svg>'},{value:"scale",label:"Scale",svgSource:'<svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M344 0H488c13.3 0 24 10.7 24 24V168c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87L327 41c-6.9-6.9-8.9-17.2-5.2-26.2S334.3 0 344 0zM168 512H24c-13.3 0-24-10.7-24-24V344c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39 87-87c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8z"/></svg>'}]}),s.push({type:"Switch",value:S.WebGL.activeScene.devTools.transformControls.space,onChange:_=>{S.WebGL.activeScene.devTools.transformControls.setSpace(_),S.theatre.updateExtensionToolbar()},options:[{value:"world",label:"World Transform",svgSource:'<svg viewBox="0 0 90 90" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M90 44.7C89.9 33.3 85.6 21.9 76.8 13.2C68.3 4.7 57 0 45 0C33 0 21.7 4.7 13.2 13.2C4.5 21.9 0.1 33.3 0 44.7C0 44.8 0 44.9 0 45C0 45.1 0 45.2 0 45.3C0.1 56.7 4.4 68.1 13.2 76.8C21.7 85.3 33 90 45 90C57 90 68.3 85.3 76.8 76.8C85.5 68.1 89.9 56.7 90 45.3C90 45.2 90 45.1 90 45C90 44.9 90 44.8 90 44.7ZM74.9 71.5C72.2 69.1 69.3 67.1 66.2 65.4C67.6 60 68.5 53.9 68.7 47.5H84.9C84.4 56.1 81 64.6 74.9 71.5ZM5.1 47.5H21.3C21.5 54 22.4 60 23.8 65.4C20.7 67 17.8 69.1 15.1 71.5C9 64.6 5.6 56.1 5.1 47.5ZM15.1 18.5C17.8 20.9 20.7 22.9 23.8 24.6C22.3 30 21.5 36 21.3 42.5H5.1C5.6 33.9 9 25.4 15.1 18.5ZM42.5 24.8C38.2 24.5 33.9 23.6 29.8 21.9C32.8 13.1 37.3 6.9 42.5 5.4V24.8ZM42.5 29.8V42.5H26.3C26.5 36.9 27.2 31.5 28.4 26.7C32.9 28.5 37.7 29.5 42.5 29.8ZM42.5 47.5V60.2C37.7 60.5 32.9 61.5 28.4 63.3C27.2 58.5 26.5 53.1 26.3 47.5H42.5ZM42.5 65.2V84.6C37.3 83.1 32.8 76.8 29.8 68.1C33.9 66.4 38.2 65.5 42.5 65.2ZM47.5 65.2C51.8 65.5 56.1 66.4 60.2 68.1C57.2 76.9 52.7 83.1 47.5 84.6V65.2ZM47.5 60.2V47.5H63.7C63.5 53.1 62.8 58.5 61.6 63.3C57.1 61.5 52.3 60.5 47.5 60.2ZM47.5 42.5V29.8C52.3 29.5 57.1 28.5 61.6 26.7C62.8 31.5 63.5 36.9 63.7 42.5H47.5ZM47.5 24.8V5.4C52.7 6.9 57.2 13.2 60.2 21.9C56.1 23.6 51.8 24.5 47.5 24.8ZM58 7.2C62.9 8.9 67.4 11.5 71.4 15C69.3 16.8 67.1 18.4 64.8 19.7C63 14.7 60.7 10.4 58 7.2ZM25.3 19.7C23 18.4 20.7 16.8 18.7 15C22.7 11.5 27.2 8.9 32.1 7.2C29.3 10.4 27 14.7 25.3 19.7ZM25.3 70.3C27.1 75.3 29.4 79.5 32 82.8C27.1 81.1 22.6 78.5 18.6 75C20.7 73.2 22.9 71.6 25.3 70.3ZM64.7 70.3C67 71.6 69.3 73.2 71.3 75C67.3 78.5 62.8 81.1 57.9 82.8C60.7 79.6 63 75.3 64.7 70.3ZM68.7 42.5C68.5 36 67.7 30 66.2 24.6C69.3 23 72.2 20.9 74.9 18.5C81 25.4 84.3 33.9 84.9 42.5H68.7Z" fill="currentColor"/></svg>'},{value:"local",label:"Local Transform",svgSource:'<svg viewBox="0 0 100 92" xmlns="http://www.w3.org/2000/svg"><path d="M99.867 85.986C99.969 85.685 100.015 85.364 99.996 85.037C99.986 84.871 99.96 84.703 99.915 84.536L99.914 84.534L96.015 69.978C95.658 68.643 94.28 67.857 92.953 68.209C91.619 68.566 90.827 69.938 91.184 71.271L93.539 80.063L52.416 56.321V8.95L58.807 15.341C59.295 15.829 59.935 16.073 60.575 16.073C61.215 16.073 61.854 15.829 62.343 15.341C63.32 14.365 63.32 12.782 62.343 11.806L51.684 1.147C50.707 0.169996 49.124 0.169996 48.149 1.147L37.49 11.806C36.513 12.782 36.513 14.365 37.49 15.341C37.978 15.829 38.618 16.073 39.258 16.073C39.898 16.073 40.538 15.829 41.026 15.341L47.417 8.95V56.321L6.49499 79.946L8.83799 71.203C9.19499 69.869 8.40399 68.498 7.
2553306999 68.14C5.73599 67.786 4.36499 68.575 4.00799 69.908L0.136993 84.354C-0.0800068 85.008 -0.0370068 85.746 0.334993 86.389C0.720993 87.057 1.37199 87.462 2.07799 87.584L16.434 91.43C16.651 91.488 16.869 91.516 17.082 91.516C18.186 91.516 19.196 90.779 19.496 89.662C19.853 88.329 19.061 86.958 17.728 86.6L9.01299 84.265L49.916 60.651L90.96 84.348L82.294 86.67C80.961 87.027 80.169 88.399 80.526 89.733C80.826 90.849 81.836 91.587 82.939 91.587C83.154 91.587 83.372 91.559 83.588 91.501L98.147 87.6C98.908 87.396 99.483 86.857 99.778 86.187C99.806 86.124 99.841 86.064 99.864 85.999C99.865 85.994 99.865 85.99 99.867 85.986Z" fill="currentColor"/></svg>'}]}))),s};return{id:"unseen-extension",toolbars:{global(r,s){var l;S.theatre.studioSheets.Unseen=si(S.theatre.studioProject.sheet("Unseen"));const o={};(l=S.WebGL)!=null&&l.stats&&(o.showStats=S.WebGL.stats.visible);const a=S.theatre.helper.addStudioSheetObject("Unseen","Settings",o);S.theatre.updateExtensionToolbar=()=>{r(t(s))},S.theatre.updateExtensionToolbar(),a.onValuesChange(c=>{var u;(u=S.WebGL)!=null&&u.stats&&(c.showStats?S.WebGL.showStats():S.WebGL.hideStats()),S.theatre.updateExtensionToolbar()},S.theatre.rafDriver)},previewCamToolbar(r,s){return r([{type:"Icon",title:"Toggle Wireframe",svgSource:'<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm7.931 9h-2.764a14.67 14.67 0 0 0-1.792-6.243A8.013 8.013 0 0 1 19.931 11zM12.53 4.027c1.035 1.364 2.427 3.78 2.627 6.973H9.03c.139-2.596.994-5.028 2.451-6.974.172-.01.344-.026.519-.026.179 0 .354.016.53.027zm-3.842.7C7.704 6.618 7.136 8.762 7.03 11H4.069a8.013 8.013 0 0 1 4.619-6.273zM4.069 13h2.974c.136 2.379.665 4.478 1.556 6.23A8.01 8.01 0 0 1 4.069 13zm7.381 6.973C10.049 18.275 9.222 15.896 9.041 13h6.113c-.208 2.773-1.117 5.196-2.603 6.972-.182.012-.364.028-.551.028-.186 0-.367-.016-.55-.027zm4.011-.772c.955-1.794 1.538-3.901 1.691-6.201h2.778a8.005 8.005 0 0 1-4.469 6.201z"></path></svg>',onClick:()=>{}}]),()=>{}}},panes:[{class:"unseen-versions",mount:async({paneId:r,node:s})=>{s.style.overflowY="auto";const o="unseen-versions-wrapper",a=document.createElement("style"),l=`
25534						.${o} {
25535							padding: 0.3rem;
25536							font-size: 0.7rem;
25537						}
25538
25539						.${o} li {
25540							margin-bottom: 0.5rem;
25541						}
25542
25543						.${o} a {
25544							color: white;
25545						}
25546
25547						.${o} .list-wrap {
25548							display: flex;
25549							flex-direction: column;
25550							width: 100%;
25551						}
25552
25553						.${o} .list-wrap > div {
25554							display: flex;
25555							justify-content: space-between;
25556							align-items: center;
25557							padding: 0.2rem 0.4rem;
25558						}
25559
25560						.${o} .list-wrap > div.published {
25561							padding: 0.4rem 0.4rem;
25562							border-bottom: 1px solid #888;
25563						}
25564
25565						.${o} .list-wrap > div.active {
25566							background-color: rgb(85, 167, 113, 0.2);
25567						}
25568
25569						.${o} .list-wrap > div:hover {
25570							background-color: rgba(255, 255, 255, 0.2);
25571						}
25572
25573						.${o} .list-wrap small {
25574							font-size: 0.6rem;
25575							color: #aaa;
25576						}
25577
25578						.${o} .list-wrap .btn {
25579							display: inline-block;
25580							appearance: none;
25581							padding: 0.3rem 0.4rem;
25582							background: #676767;
25583							border: 1px solid rgba(0, 0, 0, 0.5);
25584							font-size: 0.5rem;
25585							text-transform: uppercase;
25586							font-weight: 600;
25587							cursor: pointer;
25588							color: #fff;
25589							text-decoration: none;
25590						}
25591
25592						.${o} .list-wrap .btn:hover {
25593							opacity: 0.7;
25594						}
25595
25596						.${o} .list-wrap .btn--download {
25597							background: #286a2e;
25598						}
25599
25600						.${o} .list-wrap .btn--delete {
25601							background: #6a2835;
25602						}
25603
25604						.${o} .list-wrap .btn--rename {
25605							background: #276b81;
25606						}
25607					`;a.appendChild(document.createTextNode(l)),s.appendChild(a);const c=document.createElement("div");c.classList.add(o),s.appendChild(c);const u=A=>{window.addEventListener("beforeunload",()=>{S.theatre.studio.__experimental.__experimental_clearPersistentStorage(S.theatre.persistenceKey),localStorage.removeItem(S.theatre.persistenceKey+".persistent")})},f=A=>
25607{const y=A.target.dataset.file;fetch("https://undefinedundefined?download",{method:"POST",body:JSON.stringify({filename:y,projectId:n})}).then(x=>{x.json().then(b=>{b&&fetch(`${Cf}?save`,{method:"POST",body:JSON.stringify({name:y.replace(".json",""),projectId:n,data:JSON.parse(b)})}).then(_=>{_.json().then(T=>{T&&(Te.notify.success("Downloaded Project","Project has been downloaded!"),m())})},_=>{console.error(_)})})},x=>{console.error(x)})},h=A=>{confirm("Are you sure?")&&fetch(`${Cf}?delete`,{method:"POST",body:JSON.stringify({file:A.target.dataset.file,projectId:n})}).then(y=>{y.json().then(x=>{console.log(x),x&&(Te.notify.success("Deleted Project","Project has been deleted!"),m())})},y=>{console.error(y)})},p=A=>{const y=A.target.dataset.filename.replace(".json",""),x=window.prompt("Rename to:",y);x===y||!x||fetch(`${Cf}?rename`,{method:"POST",body:JSON.stringify({file:A.target.dataset.file,projectId:n,newName:x})}).then(b=>{b.json().then(_=>{_&&(Te.notify.success("Renamed Version",`Version has been renamed to "${_}"`),m())})},b=>{console.error(b)})},m=()=>{c.innerHTML="Loading...",v();const A=[];let y=[],x=[],b=[];S.env==="development"&&A.push(new Promise(_=>{fetch(`https://undefinedundefined?list=${n}`).then(T=>{T.json().then(M=>{y=M,_()})},T=>{console.error(T)})})),A.push(new Promise(_=>{fetch(`${Cf}?list=${n}`).then(T=>{T.json().then(M=>{x=M,_()})},T=>{console.error(T)})})),Promise.all(A).then(()=>{const _=y.filter(R=>{const w=!x.find(E=>E[0]===R[0]);return w&&R.push(!0),w});b=[...x,..._],b.sort((R,w)=>w[3]-R[3]);
25607const T=S.urlParams.get("version"),M=S.urlParams.has("scene")?"&scene="+S.urlParams.get("scene"):"";let I='<div class="list-wrap">';b.forEach(R=>{R[0]==="state.json"&&(I+=`
25608										<div class="${R[0]==="state.json"?"published":""} ${R[0]===T?"active":""}">
25609											<span>Published Version <small>(${R[2]})</small></span>
25610											<div>
25611												<a href="${e}/?gui&version=${encodeURI(R[0])}${M}" class="btn js-view">View</a>
25612											</div>
25613										</div>`)}),b.forEach(R=>{R[4]?I+=`
25614										<div class="${R[0]===T?"active":""}">
25615											<span>${R[1]==="state"?R[2]:R[1]+" <small>("+R[2]+")</small>"}</span>
25616											<div>
25617												<button class="btn btn--download js-download" data-file="${R[0]}">Download</button>
25618											</div>
25619										</div>`:R[0]!=="state.json"&&(I+=`
25620										<div class="${R[0]===T?"active":""}">
25621											<span>${R[1]==="state"?R[2]:R[1]+" <small>("+R[2]+")</small>"}</span>
25622											<div>
25623												<a href="${e}/?gui&version=${encodeURI(R[0])}${M}" class="btn js-view">View</a>
25624												<button class="btn btn--delete js-delete" data-file="${R[0]}">Delete</button>
25625												<button class="btn btn--rename js-rename" data-file="${R[0]}" data-filename="${R[1]}">Rename</button>
25626											</div>
25627										</div>`)}),I+="</div>",c.innerHTML=I,c.querySelectorAll(".js-view").forEach(R=>{R.addEventListener("click",u)}),c.querySelectorAll(".js-download").forEach(R=>{R.addEventListener("click",f)}),c.querySelectorAll(".js-delete").forEach(R=>{R.addEventListener("click",h)}),c.querySelectorAll(".js-rename").forEach(R=>{R.addEventListener("click",p)})})},v=()=>{c.querySelectorAll(".js-view").forEach(A=>{A.removeEventListener("click",u)}),c.querySelectorAll(".js-download").forEach(A=>{A.removeEventListener("click",f)}),c.querySelectorAll(".js-delete").forEach(A=>{A.removeEventListener("click",h)}),c.querySelectorAll(".js-rename").forEach(A=>{A.removeEventListener("click",p)})};return m(),()=>{v()}}},{class:"unseen-preview-cam",mount({paneId:r,node:s}){s.parentElement.style.boxShadow="none";const o=new Oy(s,"Composer Result");return S.theatre.previewCamOpen=!0,S.theatre.updateExtensionToolbar(),()=>{o.destroy(),S.theatre.previewCamOpen=!1,S.theatre.updateExtensionToolbar()}}},{class:"unseen-preview-render-target",mount({paneId:r,node:s}){s.style.overflowY="auto",s.parentElement.style.boxShadow="none";const o=JSON.parse(localStorage.getItem(S.theatre.persistenceKey+".openRTViewerPanes"));let a,l;if(o!=null&&o[r]&&S.WebGL.rtViewer.renderTargets[o[r]]){const c=o[r];a=new Oy(s,c)}else{let c='<ul style="padding: 1rem">';
25627for(const u in S.WebGL.rtViewer.renderTargets)c+=`<li style="margin-bottom: 0.5rem"><button style="padding: 0.25rem" data-rtname="${u}">Open ${u}</button></li>`;c+="</ul>",s.innerHTML=c,l=u=>{const f=u.target.dataset.rtname;a=new Oy(s,f);const h=JSON.parse(localStorage.getItem(S.theatre.persistenceKey+".openRTViewerPanes"))||{};h[r]=f,localStorage.setItem(S.theatre.persistenceKey+".openRTViewerPanes",JSON.stringify(h)),s.innerHTML=""},s.querySelectorAll("button").forEach(u=>{u.addEventListener("click",l)})}return()=>{a==null||a.destroy();const c=JSON.parse(localStorage.getItem(S.theatre.persistenceKey+".openRTViewerPanes"));c!=null&&c[r]?(delete c[r],localStorage.setItem(S.theatre.persistenceKey+".openRTViewerPanes",JSON.stringify(c))):s.querySelectorAll("button").forEach(u=>{u.removeEventListener("click",l)})}}}]}}class Oy{constructor(e,t,i={}){he(this,"updateLocation",()=>{const e=this.paneElement.parentElement.offsetLeft,t=this.paneElement.parentElement.offsetTop+this.paneElement.offsetTop,i=this.paneElement.clientWidth,r=this.paneElement.clientHeight;S.WebGL.rtViewer.rtViews[this.rtName].setLocation(e,t,i,r)});he(this,"onResize",()=>{this.updateLocation()});this.paneElement=e,this.rtName=t,this.paneElement.style.background="none",S.WebGL.rtViewer.createRTView(this.rtName,i),this.updateLocation(),this.observer=new MutationObserver(this.updateLocation),this.observer.observe(this.paneElement.parentElement,{attributes:!0,attributeFilter:["style"]}),oc(this.onResize)}destroy(){this.observer.disconnect(),S.WebGL.rtViewer.destroyRTView(this.rtName),Nl.delete(this.onResize)}}const Yue=Object.freeze(Object.defineProperty({__proto__:null,default:Xue},Symbol.toStringTag,{value:"Module"}));class h6{constructor(e,t={}){he(this,"assets",{textures:{},fonts:{},models:{}});he(this,"beforeRender",e=>{this.clockDelta=this.clock.getDelta(),this.globalUniforms.uDelta.value=this.clockDelta>.016?.016:this.clockDelta,this.globalUniforms.uTime.value=e*.001,this.clockDelta=Math.round(this.clockDelta*1e3)/1e3,this.clockDelta=gn.clamp(this.clockDelta,0,.016),this.normalizedDelta=this.clockDelta/.016,this.globalUniforms.uNormalizedDelta.value=this.normalizedDelta,this.renderer.info.reset()});he(this,"render",()=>{var e;this.composer.enabled&&this.composer.render(),(e=this.stats)==null||e.update(),S.Gui&&S.Gui.refresh(!1)});he(this,"onResize",()=>{this.renderer.setSize(S.window.w,S.window.h),this.composer.setSize(S.window.w,S.window.h),this.globalUniforms.uResolution.value.set(S.window.w*this.renderer.getPixelRatio(),S.window.h*this.renderer.getPixelRatio())});he(this,"onFPSChecked",({data:e})=>{const{gpuTier:t}=e;t<4&&(this.renderer.getPixelRatio()<=2&&this.renderer.getPixelRatio()>1.5&&(this.renderer.setPixelRatio(1.5),this.composer.setPixelRatio(1.5),j_(Nl)),this.renderer.getPixelRatio()<=1.5&&this.renderer.getPixelRatio()>1.25&&(this.renderer.setPixelRatio(1.25),this.composer.setPixelRatio(1.25),j_(Nl)),this.globalUniforms.uResolution.value.set(S.window.w*this.renderer.getPixelRatio(),S.window.h*this.renderer.getPixelRatio()))});var a;this.el=e,this.options=An({parseBlenderData:!1},t),this.enabled=!1,this.isBuilt=!1,this.renderer=new qne({alpha:!1,antialias:!1,canvas:this.el,powerPreference:"high-performance",stencil:!1,preserveDrawingBuffer:!0});const i=this.renderer.getContext().getExtension("WEBGL_debug_renderer_info");if(i!=null){const l=this.renderer.getContext().getParameter(i.UNMASKED_RENDERER_WEBGL);l.includes("Intel")&&(l.includes("Plus")||l.includes("HD"))&&(S.isLowTierGPU=!0)}this.renderer.setPixelRatio(S.window.dpr>=2?2:S.window.dpr),this.renderer.setSize(S.window.w,S.window.h),this.renderer.info.autoReset=!1,this.renderer.shadowMap.enabled=!1,this.renderer.shadowMap.autoUpdate=!1,this.renderer.shadowMap.type=zo,this.composer=new Cre(this.renderer,new li(S.window.w*this.renderer.getPixelRatio(),S.window.h*this.renderer.getPixelRatio(),{type:nn})),this.composer.enabled=!S.urlParams.has("controls"),this.composerPasses=new jue(this.composer.passes),S.AssetLoader.setDracoLoader(),S.AssetLoader.setAvailableKtxFiles(),S.AssetLoader.setKtxLoader(this.renderer),S.env!=="production"&&(this.rtViewer=new mle,(a=this.rtViewer)==null||a.registerRT(this.composer.renderTarget1,"Composer Result")),this.pmremHandler=new fle(this.renderer),this.clock=new dP,this.clockDelta=.016,this.composerPassOrder={"landing-orb":0,"crypto-orb":10,"computing-orb":20,"engineering-orb":30,"biology-orb":40,"team-orb":50,article:60,transitions:100,postfx:200},this.globalUniforms={uDelta:{value:0},uNormalizedDelta:{value:0},uTime:{value:0},uResolution:{value:new Re(S.window.w*this.renderer.getPixelRatio(),S.window.h*this.renderer.getPixelRatio())},uDevCameraActive:{value:!1}},S.theatre.sheets["Global WebGL"]=si(S.theatre.project.sheet("Global WebGL")),this.currentMouse=new Re,this.previousMouse=new Re,this.scenes={"landing-orb":Tce,"crypto-orb":qce,"computing-orb":Sue,"engineering-orb":Due,"biology-orb":kue,"team-orb":Wue,article:sce},this.activeScene=null,this.globalTransitionUniforms={uNoise1Scale:{value:new Re(.015,.03),gui:{step:.001}},uNoise2Scale:{value:new Re(.1,.1),gui:{step:.001}},uNoise1Offset:{value:new Re(.5,0),gui:{step:.001}}
25627,uUvDistortion:{value:.03,gui:{min:0,step:.001}},uAdditionalUvDistortion:{value:.2,gui:{min:0,step:.001}},uChromaticAberrationStrength:{value:.003,gui:{min:0,step:.001}},uCrossfadeSize:{value:.05,gui:{min:0,step:.001}},uCrossfadeNoise:{value:.05,gui:{min:0,step:.001}}};const r={},s=S.theatre.helper.autoAddUniforms(r,this.globalTransitionUniforms);S.theatre.helper.addSheetObject("Global WebGL","Transition",r).onValuesChange(l=>{for(let c=0;c<s.length;c++)s[c](null,l)},S.theatre.rafDriver),S.urlParams.has("gui")||S.urlParams.get("devmode")==="webgl"?this.transitions=[]:this.transitions=[new Uh({fromScene:"landing-orb",toScene:"computing-orb"}),new Uh({fromScene:"computing-orb",toScene:"engineering-orb"}),new Uh({fromScene:"engineering-orb",toScene:"biology-orb"}),new Uh({fromScene:"biology-orb",toScene:"crypto-orb"}),new Uh({fromScene:"crypto-orb",toScene:"team-orb"})],Ale(),xue(),Cue(),this.load(),oc(this.onResize,!1),L1.init(),this.buildStats(),S.urlParams.get("devmode")==="webgl"&&(bE(".lenis").style.display="none",bE(".js-header").style.display="none")}
25627initScenes(){if(S.urlParams.has("scene")){const e=S.urlParams.get("scene");if(this.scenes[e])this.scenes[e]=this.scenes[e]?new this.scenes[e](e,{},this):new cc(e),S.sceneName=e;else{alert("No scene found called: "+e);for(const t in this.scenes)this.scenes[t]!==null&&(this.scenes[t]=new this.scenes[t](t,{},this));S.sceneName=Object.keys(this.scenes)[0]}}else{for(const e in this.scenes)this.scenes[e]!==null&&(this.scenes[e]=new this.scenes[e](e,{},this));S.sceneName=Object.keys(this.scenes)[0]}}buildSceneScrollAnimations(){Object.keys(this.scenes).forEach(e=>{this.scenes[e]instanceof Wa&&this.scenes[e].options.domId&&this.scenes[e].buildScrollAnimation()})}killSceneScrollAnimations(){Object.keys(this.scenes).forEach(e=>{var t,i;(i=(t=this.scenes[e]).killScrollAnimation)==null||i.call(t)})}buildScenePostFxAnimations(){if(S.urlParams.get("devmode")==="webgl")return;this.postFxAnimations=[];const e=zb("[data-webgl-section]");e.forEach((t,i)=>{var a,l;if(i===e.length-1)return;const r=S.theatre.objects[this.scenes[t.dataset.webglSection+"-orb"].prettyName]["Post FX"].value,s=S.theatre.objects[(l=this.scenes[((a=e[i+1])==null?void 0:a.dataset.webglSection)+"-orb"])==null?void 0:l.prettyName]["Post FX"].value,o=dr.timeline({paused:!0,defaults:{duration:1,ease:"none"},scrollTrigger:{trigger:t,start:"bottom bottom",end:"bottom top",scrub:.1}}).fromTo(this.bloomPass,{enabled:r.bloom.enabled,strength:r.bloom.strength,threshold:r.bloom.threshold,radius:r.bloom.radius},{enabled:s.bloom.enabled,strength:s.bloom.strength,threshold:s.bloom.threshold,radius:s.bloom.radius},0).fromTo(this.directionalBloomPass,{enabled:r.directionalBloom.enabled,strength:r.directionalBloom.strength,threshold:r.directionalBloom.threshold,radius:r.directionalBloom.radius},{enabled:s.directionalBloom.enabled,strength:s.directionalBloom.strength,threshold:s.directionalBloom.threshold,radius:s.directionalBloom.radius},0);this.postFxAnimations.push(o)})}killScenePostFxAnimations(){var e;(e=this.postFxAnimations)==null||e.forEach(t=>{t.kill()}),this.postFxAnimations=[]}build(){var e,t,i;if(!this.isBuilt){this.isBuilt=!0,this.buildFluidSim(),this.buildPasses(),this.buildTheatreOptions();for(const r in this.scenes)(t=(e=this.scenes[r])==null?void 0:e.build)==null||t.call(e);S.env!=="production"&&!((i=window==null?void 0:window.__TheatreJS_StudioBundle)!=null&&i._studio._store._atom._currentState.ephemeral.extensions.byId["unseen-extension"])&&Sr(()=>Promise.resolve().then(()=>Yue),void 0,import.meta.url).then(async({default:r})=>{var s,o;(o=(s=S.theatre)==null?void 0:s.studio)==null||o.extend(r("blueyard","/"))})}}buildTransitions(){for(let e=0;e<this.transitions.length;e++)this.transitions[e].build()}killTransitionTimelines(){for(let e=0;e<this.transitions.length;e++)this.transitions[e].killTimeline()}destroyTransitions(){for(let e=0;e<this.transitions.length;e++)this.transitions[e].destroy()}buildFluidSim(){var e;this.fluidSim=new wle({simulationOpts:{uniforms:{}},fluid:{force:10,forceClamp:20}}),(e=this.rtViewer)==null||e.registerRT(this.fluidSim.advectionSimVelocity.renderTargets.read,"Fluid Sim")}buildPasses(){this.bloomPass=new Ld(new Re(S.window.w,S.window.h)),this.bloomPass.threshold=1,this.bloomPass.strength=.24,this.bloomPass.radius=.04,this.bloomPass.name="Bloom",this.bloomPass.enabled=!1,this.directionalBloomPass=new Fd(new Re(S.window.w,S.window.h)),this.directionalBloomPass.threshold=1,this.directionalBloomPass.strength=.24,this.directionalBloomPass.radius=.04,this.directionalBloomPass.name="Directional Bloom",this.directionalBloomPass.enabled=!1,this.fxaaPass=new rp(new is({vertexShader:oce,fragmentShader:ace,uniforms:{tDiffuse:{value:null},uSamples:{value:S.isLowTierGPU?4:8,gui:{min:0,step:1}}},defines:{EDGE_THRESHOLD_MIN:.009,EDGE_THRESHOLD_MAX:.125,SUBPIXEL_QUALITY:.85},name:"FXAAMaterial"})),this.fxaaPass.name="FXAA",this.fxaaPass.material.name="FXAA",this.compositePass=new rp(new is({vertexShader:R4,fragmentShader:lce,uniforms:{tDiffuse:{value:null},uEnabled:{value:!0},uChromaticAberration:{value:!0},uVignette:{value:!1},uNoise:{value:!0},uMaxDistort:{value:.449},uBendAmount:{value:-.0779},uVignetteStrength:{value:.602},uVignetteInnerStrength:{value:.08},uVignetteOuterStrength:{value:.21},uVignetteColor:{value:new ke(0)},uNoiseStrength:{value:.23}},name:"FinalComposite"})),this.compositePass.name="Final Composite",S.env!=="production"&&S.env!=="browsersync-no-theatre"&&(this.outputPass=new Sre),this.composerPasses.add(this.fxaaPass,this.composerPassOrder.postfx),S.isLowTierGPU||(this.composerPasses.add(this.bloomPass,this.composerPassOrder.postfx+2),this.composerPasses.add(this.directionalBloomPass,this.composerPassOrder.postfx+4)),this.composerPasses.add(this.compositePass,this.composerPassOrder.postfx+10)}buildTheatreOptions(){const e={chromaticAberration:{enabled:Te.types.boolean(S.WebGL.compositePass.material.uniforms.uChromaticAberration.value),maxDistort:Te.types.number(S.WebGL.compositePass.material.uniforms.uMaxDistort.value,{range:[0,4],nudgeMultiplier:.001}),bendAmount:Te.types.number(S.WebGL.compositePass.material.uniforms.uBendAmount.value,{range:[-1,1],nudgeMultiplier:.001})},vignette:{enabled:Te.types.boolean(S.WebGL.compositePass.material.uniforms.uVignette.value),strength:Te.types.number(S.WebGL.compositePass.material.uniforms.uVignetteStrength.value,{range:[0,1],nudgeMultiplier:.001}),outerStrength:Te.types.number(S.WebGL.compositePass.material.uniforms.uVignetteOuterStrength.value,{range:[0,2],nudgeMultiplier:.01}),innerStrength:Te.types.number(S.WebGL.compositePass.material.uniforms.uVignetteInnerStrength.value,{range:[0,5
25627],nudgeMultiplier:.01}),color:S.theatre.helper.parseColor(S.WebGL.compositePass.material.uniforms.uVignetteColor.value)},noise:{enabled:Te.types.boolean(S.WebGL.compositePass.material.uniforms.uNoise.value),strength:Te.types.number(S.WebGL.compositePass.material.uniforms.uNoiseStrength.value,{range:[0,1],nudgeMultiplier:.001})},led:{}};S.theatre.helper.addSheetObject("Global WebGL","Post FX",e).onValuesChange(i=>{S.WebGL.compositePass.material.uniforms.uChromaticAberration.value=i.chromaticAberration.enabled,S.WebGL.compositePass.material.uniforms.uMaxDistort.value=i.chromaticAberration.maxDistort,S.WebGL.compositePass.material.uniforms.uBendAmount.value=i.chromaticAberration.bendAmount,S.WebGL.compositePass.material.uniforms.uVignette.value=i.vignette.enabled,S.WebGL.compositePass.material.uniforms.uVignetteStrength.value=i.vignette.strength,S.WebGL.compositePass.material.uniforms.uVignetteInnerStrength.value=i.vignette.innerStrength,S.WebGL.compositePass.material.uniforms.uVignetteOuterStrength.value=i.vignette.outerStrength,S.WebGL.compositePass.material.uniforms.uVignetteColor.value.copy(i.vignette.color),S.WebGL.compositePass.material.uniforms.uNoise.value=i.noise.enabled,S.WebGL.compositePass.material.uniforms.uNoiseStrength.value=i.noise.strength},S.theatre.rafDriver);const t={fluid:{force:Te.types.number(20,{range:[0,1/0],nudgeMultiplier:.1}),forceClamp:Te.types.number(100,{range:[0,1/0],nudgeMultiplier:.1}),iterations:Te.types.number(3,{range:[0,12],nudgeMultiplier:1})},simulation:{mouseRadius:Te.types.number(.25,{range:[0,1],nudgeMultiplier:.01}),pressure:Te.types.number(.98,{range:[.55,.999],nudgeMultiplier:1e-4}),curlStrength:Te.types.number(.25,{range:[0,2],nudgeMultiplier:1e-4}),dissipation:Te.types.number(.1,{range:[0,.99],nudgeMultiplier:1e-4}),clearValue:Te.types.number(.1,{range:[0,.99],nudgeMultiplier:1e-4}),viscosity:Te.types.number(.08,{range:[0,1],nudgeMultiplierp:1e-4})}};S.theatre.helper.addSheetObject("Global WebGL","Fluid Sim",t).onValuesChange(i=>{this.fluidSim&&(S.WebGL.fluidSim.options.fluid.force=i.fluid.force,S.WebGL.fluidSim.options.fluid.forceClamp=i.fluid.forceClamp,S.WebGL.fluidSim.options.fluid.iterations=i.fluid.iterations,S.WebGL.fluidSim.options.simulationOpts.uniforms.uMouseRadius.value=i.simulation.mouseRadius,S.WebGL.fluidSim.options.simulationOpts.uniforms.uPressure.value=i.simulation.pressure,S.WebGL.fluidSim.options.simulationOpts.uniforms.uCurlStrength.value=i.simulation.curlStrength,S.WebGL.fluidSim.options.simulationOpts.uniforms.uDissipation.value=i.simulation.dissipation,S.WebGL.fluidSim.options.simulationOpts.uniforms.uClearValue.value=i.simulation.clearValue,S.WebGL.fluidSim.options.simulationOpts.uniforms.uViscosity.value=i.simulation.viscosity)},S.theatre.rafDriver)}buildStats(){if(S.env!=="production"&&S.urlParams.has("stats")){this.stats=new cle({trackGPU:!0,samplesLog:200,graphsPerSecond:4,logsPerSecond:4}),this.stats.visible=!0,this.stats.init(this.renderer),this.stats.dom.classList.add("js-stats"),Object.assign(this.stats.dom.style,{display:"flex",width:"100%",justifyContent:"center",pointerEvents:"none"});const e=`
25628				.js-stats > * {
25629					position: static !important;
25630				}
25631			`,t=document.createElement("style");t.innerHTML=e,this.stats.dom.appendChild(t),document.body.appendChild(this.stats.dom)}}showStats(){this.stats.dom.style.display="flex",this.stats.visible=!0}hideStats(){this.stats.dom.style.display="none",this.stats.visible=!1}preRender(){for(const e in this.scenes)this.scenes[e]instanceof Wa&&(S.WebGL.renderer.compile(this.scenes[e],this.scenes[e].activeCamera),S.theatre.sheets[this.scenes[e].prettyName].sequence.position=1,this.scenes[e].renderPass.enabled=!0,this.scenes[e].renderPassOrbObjects&&(this.scenes[e].renderPassOrbObjects.enabled=!0),this.scenes[e].backgroundSavePass&&(this.scenes[e].backgroundSavePass.enabled=!0));S.WebGL.composer.render();for(const e in this.scenes)this.scenes[e]instanceof Wa&&(this.scenes[e].renderPass.enabled=!1,S.theatre.sheets[this.scenes[e].prettyName].sequence.position=0,this.scenes[e].renderPassOrbObjects&&(this.scenes[e].renderPassOrbObjects.enabled=!1),this.scenes[e].backgroundSavePass&&(this.scenes[e].backgroundSavePass.enabled=!1))}start(){var e,t;this.enabled||(L1.dispatchEvent("CheckFPS"),this.enabled=!0,this.addEvents(),(e=this.rtViewer)==null||e.enable(),(t=this.scenes[S.sceneName])==null||t.start(),S.theatre.manager&&S.theatre.manager.enableRAF())}stop(){var e;this.enabled&&(this.enabled=!1,this.removeEvents(),(e=this.rtViewer)==null||e.disable(),Object.keys(this.scenes).forEac
25631h(t=>{var i,r;(r=(i=this.scenes[t])==null?void 0:i.stop)==null||r.call(i)}),S.theatre.manager&&S.theatre.manager.disableRAF())}destroy(){var e;this.stop(),this.destroyScenes(),(e=this.rtViewer)==null||e.destroy(),this.renderer.dispose(),this.destroyTransitions(),this.killSceneScrollAnimations(),this.killScenePostFxAnimations(),S.theatre.helper.detachAllSheetObjects("Global WebGL")}destroyScenes(){var e,t;for(const i in this.scenes)(t=(e=this.scenes[i])==null?void 0:e.destroy)==null||t.call(e)}addEvents(){S.RAFCollection.add(this.beforeRender,1),S.RAFCollection.add(this.render,100),L1.on("FPSChecked",this.onFPSChecked),S.isLowTierGPU||S.WebGL.fluidSim.addEvents()}removeEvents(){S.RAFCollection.remove(this.beforeRender),S.RAFCollection.remove(this.render),L1.off("FPSChecked",this.onFPSChecked),S.isLowTierGPU||S.WebGL.fluidSim.removeEvents()}generateTexture(e,t={}){return e instanceof HTMLImageElement&&(e=new xn(e)),e.minFilter=t.minFilter||Fs,e.magFilter=t.magFilter||Yt,e.wrapS=e.wrapT=t.wrapping||ti,e.flipY=t.flipY!==void 0?t.flipY:!0,e.colorSpace=t.colorSpace||mi,e.mapping=t.mapping||Wx,e.isCompressedTexture||(e.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!0),e.anisotropy=t.anisotropy||1,this.renderer.initTexture(e),e}load(){this.loadFonts(),S.AssetLoader.loadTexture("/webgl/textures/gradient-noise.jpg",{wrapping:ts}).then(e=>{this.assets.textures.noise=e})}loadFonts(){for(const e in S.webglFonts){const t=JSON.parse(S.webglFonts[e]);this.assets.fonts[e]=t,t.pages.forEach((i,r)=>{const s=i.split(".")[0];S.AssetLoader.loadTexture(`/webgl/fonts/${e}/msdf/${i}`,{flipY:!0,anisotropy:this.renderer.capabilities.getMaxAnisotropy()}).then(o=>{this.assets.textures[`${e}_${s}-${r}`]=o})})}}}const $ue=JSON.parse('{"LandingOrb":{"staticOverrides":{"byObject":{"Cameras / Camera 1":{"enableLookAt":false,"transforms":{"position":{"x":0,"z":16.599999999999987,"y":3.1000000000000014}}},"Landing Orb":{"uniforms":{"uColorFresnelAmount":3.400000000000001,"uAmbientColor":{"r":1,"g":0.6274509803921569,"b":0.4666666666666667,"a":1},"uFresnelColor":{"r":0.9607843137254902,"g":0.8980392156862745,"b":0.8862745098039215,"a":1},"uColorFresnelFalloff":1.5100000000000005,"uLightPosition":{"x":-12,"y":16,"z":53},"uCloudsColor":{"r":0.8588235294117647,"g":0.06274509803921569,"b":0.06274509803921569,"a":1},"uShininess":74,"uSpecularIntensity":0.18999999999999984,"uLightIntensity":0.9499999999999996,"uLightColor":{"r":0.9058823529411765,"g":0.7098039215686275,"b":0.4196078431372549,"a":1},"uOpacity":0.95,"uLightIntensity2":0.9200000000000004,"uSpecularIntensity2":0.6799999999999992,"uLightColor2":{"r":0.7215686274509804,"g":0.1803921568627451,"b":0.3176470588235294,"a":1},"uLightPosition2":{"x":18.000000000000007,"y":-6.700000000000017,"z":22.000000000000057},"uOpacityFresnelFalloff":1.980000000000002,"uOpacityFresnelOffset":0.025000000000000112,"uOpacityFresnelAmount":1.3699999999999974,"uDebugClouds":false,"uCloudNoiseScale":{"x":2.5,"y":2.5,"z":2.5},"uCloudsSmoothstep":{"y":0.9199999999999999,"x":0.36000000000000015},"uCloudNoiseSpeed":0.4199999999999998},"material":{"transparent":true,"depthWrite":true},"visible":true},"LandingOrbParticles":{"material":{"depthTest":true,"transparent":false},"simulation":{"uniforms":{"uCurlSize":0.2799999999999992,"uCurlNoiseSpeed":3.6600000000000037,"uCurlStrength":0.08700000000000001,"uLerpSpeed":0.20399999999999982,"uCurl":true,"uRadius":2.95,"uFriction":0,"uDecay":0.37399999999999944,"uShapeThreshold":0.25,"uAmplitude":{"x":0.1350000000000001,"y":0.12099999999999991},"uRoughness":0.650000000000011,"uDetail":0.5,"uFrequency":{"x":7.580000000000001,"y":9.64},"uCurlNoisePersistence":0.16700000000000043,"uNoiseTranslation":{"x":105.12000000000008,"y":104.0200000000002,"z":97.25999999999998},"uDecay2":0.3960000000000003,"uLerpSpeed2":0.3840000000000002,"uFluidStrength":0.1}},"visible":true,"uniforms":{"uParticleSize":0.35,"uAmbientColor1":{"r":0.30980392156862746,"g":0.1803921568627451,"b":0.17254901960784313,"a":1},"uAmbientColor2":{"r":0.4666666666666667,"g":0.32941176470588235,"b":0.19607843137254902,"a":1},"uBaseColor":{"r":0.8666666666666667,"g":0.2980392156862745,"b":0.2980392156862745,"a":1},"uBaseColor2":{"r":1,"g":0.5843137254901961,"b":0.3215686274509804,"a":1},"uEdgeColor1":{"r":0.9882352941176471,"g":0.6078431372549019,"b":0.4941176470
256315882355,"a":1},"uEdgeColor2":{"r":1,"g":0.7450980392156863,"b":0.5333333333333333,"a":1},"uRandomHighlightSelect":0.98,"uRandomHighlightBaseColor":{"r":1,"g":0,"b":0,"a":1},"uBloomColor1":{"r":0.9529411764705882,"g":0.6666666666666666,"b":0.6352941176470588,"a":1},"uBloomColor2":{"r":0.9607843137254902,"g":0.7372549019607844,"b":0.6274509803921569,"a":1},"uSunDistanceColorStep":9.929999999999692,"uShininess":83,"uLightIntensity":1.4900000000000004,"uSpecularIntensity":0.64,"uLightColor":{"r":1,"g":0.9058823529411765,"b":0.8705882352941177,"a":1},"uLightColor2":{"r":1,"g":0.9137254901960784,"b":0.8392156862745098,"a":1},"uSpecularIntensity2":2,"uCloudsFadeIntensity":2.800000000000005,"uEdgeColorStop":{"x":1.9299999999999962,"y":2.8899999999999904},"uScaleRange":{"y":1.2},"uRandomHighlightColor":{"x":10,"y":1.57,"z":1.3100000000000005},"uBrightColorPick":{"x":0.13,"y":0.16},"uDistanceFadeNearFar":{"x":18.180000000000096,"y":19.529999999999873}}},"Cameras / Settings":{"cameraPivotStrength":0,"cameraPivotOffset":18,"cameraPivotAngle":{"x":0.21700000000000014,"y":0.11799999999999988},"cameraYTranslate":0},"Post FX":{"vignette":{"enabled":false},"bloom":{"enabled":true,"strength":0.32999999999999985,"radius":0},"bloomPassColor":{"enabled":false,"threshold":1.345999999999997,"strength":1.2799999999999994,"radius":0.5400000000000003},"noise":{"strength":0.23}},"Background":{"uniforms":{"uColor2":{"r":0.8235294117647058,"g":0.6823529411764706,"b":0.2549019607843137,"a":1},"uColor3":{"r":0.9803921568627451,"g":0.9568627450980393,"b":0.788235294117647,"a":1},"uColor2Brightness":1,"uColor1":{"r":1,"g":0.3137254901960784,"b":0.3137254901960784,"a":1},"uScale1":1.8800000000000008,"uOffset2":{"x":-0.5100000000000005,"y":-0.27000000000000035},"uOffset1":{"x":-3.66000000000001,"y":-0.3999999999999997},"uScale2":1.4400000000000004},"visible":true,"material":{"transparent":true,"depthTest":true}},"Global Uniforms":{"uniforms":{"uLightPosition":{"x":-37,"y":23,"z":91},"uLightPosition2":{"x":102,"y":3,"z":84}}},"Sun and Shadow":{"sunPosition":{"x":4.2,"y":5.799999999999996,"z":6.00000000000003},"dirLight2position":{"x":-10.000000000000005,"y":1.1999999999999993,"z":-0.1999999999999064},"shadowIntensity":0.6300000000000001,"shadowCamera":{"far":13.799999999999947,"top":3.7000000000000006,"bottom":-2.9000000000000012,"left":-4.200000000000013,"right":3.200000000000005,"near":5.500000000000009},"shadowColor":{"r":0.17647058823529413,"g":0.0196078431372549,"b":0.15294117647058825,"a":1},"shadowColor2":{"r":0.36470588235294116,"g":0.16862745098039217,"b":0.07058823529411765,"a":1}},"LandingOrbFlareParticles":{"material":{"transparent":true,"blending":"2","depthWrite":true,"depthTest":true},"simulation":{"uniforms":{"uDecay":0.131,"uLerpSpeed":0.15699999999999986,"uFluidStrength":0.03}},"visible":true,"uniforms":{"uParticleSize":0.3,"uColor":{"r":1,"g":0,"b":0,"a":1},"uScaleRange":{"y":1.2},"uCenterFade":{"x":3,"y":3.3},"uBloomColor":{"x":0.5399999999999996,"y":0.9299999999999997,"z":0.94}}},"Fluid Sim":{"simulation":{"mouseRadius":0.1,"pressure":0.9883000000000002,"curlStrength":0.3675000000000004,"dissipation":0.034999999999999615,"clearValue":0,"viscosity":0.484126984126984},"fluid":{"forceClamp":20,"force":5}}}},"sequence":{"subUnitsPerUnit":30,"length":10,"type":"PositionalSequence","tracksByObject":{"Landing Orb":{"trackData":{},"trackIdByPropPath":{}}}}},"CryptoOrb":{"staticOverrides":{"byObject":{"Cameras / Camera 1":{"transforms":{"position":{"z":17.31000000000005,"x":-2.1899999999999977}},"enableLookAt":false},"Background":{"color":{"r":0.9215686274509803,"g":0.9294117647058824,"b":0.9294117647058824,"a":1},"uniforms":{"uColor2":{"r":0.9254901960784314,"g":0.5568627450980392,"b":0.4392156862745098,"a":1},"uColor1":{"r":0.47058823529411764,"g":0.03529411764705882,"b":0.6,"a":1},"uColor3":{"r":1,"g":0.9921568627450981,"b":0.9686274509803922,"a":1},"uOffset":{"x":0.00999999999999994,"y":-6.938893903907228e-18},"uGradientMidPoint":0.3900000000000001,"uColor1Brightness":1,"uColor2Brightness":1,"uScale1":2.0599999999999983,"uScale2":1.379999999999989,"uOffset1":{"x":5.989999999999967,"y":-4.529999999999993,"z":-2.569999999999993},"uOffset2":{"x":-2.4599999999999835,"y":-3.4199999999999897,"z":2.65999999999999},"uScale3":1.4800000000000069,"uOffset3":{"x":0.23000000000000026}
25631,"uColor4":{"r":0.7450980392156863,"g":0.8941176470588236,"b":1,"a":1},"uColor4BlendEnd":0.7299999999999998,"uColor4BlendStart":0.18999999999999992},"material":{"transparent":true,"depthTest":true}},"CryptoOrbParticleSpheres / inner":{"simulation":{"uniforms":{"uCurlSize":0.909999999999999,"uCurlNoiseSpeed":0.19999999999999996,"uCurlStrength":0.07500000000000004,"uCurl":true,"uLerpSpeed":0.2,"uFluidStrength":0.11499999999999974}},"material":{"uniforms":{"uBaseColor":{"r":0.5372549019607843,"g":0.6784313725490196,"b":0.7294117647058823,"a":1},"uParticleSize":0.2,"uOpacity":0.5600000000000002}},"count":1024,"visible":true},"CryptoOrbParticleSpheres / outer":{"simulation":{"uniforms":{"uCurlSize":1.3200000000000005,"uCurlStrength":0.068,"uCurlNoiseSpeed":0.12000000000000002,"uCurl":true,"uFluidStrength":0.13199999999999967}},"material":{"uniforms":{"uBaseColor":{"r":0.8901960784313725,"g":0.43529411764705883,"b":0.7254901960784313,"a":1},"uParticleSize":0.15}}},"Electric-branches / Global":{"uniforms":{"uBaseColor":{"r":0.25882352941176473,"g":0.23529411764705882,"b":0.3254901960784314,"a":1},"uLineWidth":0.005400000000000002,"uHighlightPower":2.7299999999999986,"uHideProgress":0,"uHighlightLength":0.43999999999999984,"uExtraColor":{"r":0.8196078431372549,"g":0.7098039215686275,"b":1,"a":1},"uFresnelOffset":0.6330000000000001,"uFresnelFalloff":0.22999999999999995,"uFresnelAmount":1}},"CryptoLine-inner-outer / Global":{"uniforms":{"uBaseColor":{"r":0.5372549019607843,"g":0.6313725490196078,"b":0.6470588235294118,"a":1},"uLineWidth":0.003,"uHighlightPower":5}},"Post FX":{"bloom":{"enabled":true,"threshold":1.4400000000000004,"strength":0.5099999999999999,"radius":1},"chromaticAberration":{"maxDistort":0.689,"bendAmount":-0.09589999999999999},"vignette":{"enabled":false},"bloomPassColor":{"threshold":1.0600000000000003,"strength":1.1999999999999993,"radius":1.2400000000000007,"enabled":false},"directionalBloom":{"enabled":false},"noise":{"strength":0.2}},"CryptoOrbGlassSphere":{"material":{"roughness":1,"iridescence":0.41,"dispersion":7.309999999999996,"thickness":0.21999999999999997,"ior":1.1800000000000002,"anisotropy":0,"attenuationDistance":10,"attenuationColor":{"r":0.0941176470
256315882353,"g":0.09411764705882353,"b":0.09411764705882353,"a":1},"clearcoat":0,"clearcoatRoughness":0,"iridescenceIOR":2.100000000000004,"sheen":1,"sheenRoughness":1,"sheenColor":{"r":0.6235294117647059,"g":0.3254901960784314,"b":0.16470588235294117,"a":1},"specularIntensity":0.5899999999999999,"specularColor":{"r":0.5411764705882353,"g":0.25882352941176473,"b":0.5137254901960784,"a":1},"reflectivity":1,"envMapRotation":{"x":-1.1684073464101945,"y":4.490000000000003,"z":0.3800000000000001},"fresnelAmount":3.709999999999995,"transmission":1,"envMapIntensity":2.3,"fresnelOffset":0,"fresnelFalloff":1.1800000000000008,"color":{"r":0.9725490196078431,"g":0.9725490196078431,"b":0.9725490196078431,"a":1},"blending":"1","side":"0"},"visible":true},"Cameras / Settings":{"cameraPivotAngle":{"x":0.1,"y":0.1},"cameraPivotStrength":1,"cameraPivotOffset":20,"cameraXTranslate":0,"cameraPivotRollAmount":0.3,"pointerLerpSpeed1":0.02},"CryptoLine-inner-outer / Line":{"material":{"transparent":true,"depthTest":false,"depthWrite":true,"colorWrite":true,"blending":"1"},"transforms":{"scale":{"x":1},"position":{"x":0}},"uniforms":{"uOpacity":1},"visible":true},"Electric-branches / Line":{"material":{"blending":"2","transparent":true,"depthTest":true},"transforms":{"scale":{"x":1.1,"y":1.1,"z":1.1}},"visible":true},"Extra-branches / Global":{"uniforms":{"uBaseColor":{"r":0.9450980392156862,"g":0.7843137254901961,"b":1,"a":1},"uLineWidth":0.005999999999999979,"uHighlightLength":0.1}},"Extra-branches / Line":{"material":{"blending":"2","transparent":true,"depthWrite":true,"colorWrite":true,"depthTest":true},"visible":false,"uniforms":{"uOpacity":0.2},"transforms":{"scale":{"x":1,"y":1,"z":1}}},"hover-line / Global":{"uniforms":{"uHoverColor":{"r":1,"g":0.5058823529411764,"b":0.26666666666666666,"a":1},"uBaseColor":{"r":0,"g":0,"b":0,"a":1},"uMouseFresnelAmount":6.059999999999991,"uMouseRadius":0.11,"uMouseFresnelOffset":0.01}},"hover-line / Line":{"material":{"blending":"2"},"transforms":{"scale":{"x":1.1,"y":1.1,"z":1.1}}},"Fluid Sim":{"simulation":{"mouseRadius":0.05,"curlStrength":0.0812,"clearValue":0,"dissipation":0.016499999999999845,"viscosity":0.015873015873015872},"fluid":{"forceClamp":30,"force":20}}}},"sequence":{"subUnitsPerUnit":30,"length":35.47,"type":"PositionalSequence","tracksByObject":{"Cameras / Camera 1":{"trackData":{},"trackIdByPropPath":{}},"Electric-branches / Global":{"trackData":{"0kLKUVgKd-":{"type":"BasicKeyframedTrack","__debugName":"Electric-branches / Global:[\\"uniforms\\",\\"uTimeProgress\\"]","keyframes":[{"id":"__etIdk9rv","position":1.067,"connectedRight":true,"handles":[0.5,1,0.18,0.975],"type":"bezier","value":0},{"id":"feej9gcTkU","position":10.533,"connectedRight":true,"handles":[0.624,0.448,0.5,0],"type":"bezier","value":1}]},"PrwP4EWWWQ":{"type":"BasicKeyframedTrack","__debugName":"Electric-branches / Global:[\\"uniforms\\",\\"uHighlightLength\\"]","keyframes":[{"id":"WwZlh6rfW_","position":1.067,"connectedRight":true,"handles":[0.5,1,0.18,0.641],"type":"bezier","value":0.43999999999999984},{"id":"2Aa00SeaUE","position":10.333,"connectedRight":true,"handles":[0.5,1,0.5,0],"type":"bezier","value":0}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uTimeProgress\\"]":"0kLKUVgKd-","[\\"uniforms\\",\\"uHighlightLength\\"]":"PrwP4EWWWQ"}},"Extra-branches / Global":{"trackData":{"JaInCSkaln":{"type":"BasicKeyframedTrack","__debugName":"Extra-branches / Global:[\\"uniforms\\",\\"uTimeProgress\\"]","keyframes":[{"id":"-RKmnoKjXh","position":7.3,"connectedRight":true,"handles":[0.5,1,0.55,0.085],"type":"bezier","value":0},{"id":"OCQuwQAT3j","position":33.467,"connectedRight":true,"handles":[0.68,0.53,0.5,0],"type":"bezier","value":1}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uTimeProgress\\"]":"JaInCSkaln"}}}}},"ComputingOrb":{"staticOverrides":{"byObject":{"Cameras / Camera 1":{"transforms":{"position":{"z":7.250000000000007,"x":0.7700000000000002,"y":0}},"enableLookAt":false},"Computing Orb Bands":{"uniforms":{"uHighlightPower":39.90000000000002,"uHighlightColor":{"r":0.9137254901960784,"g":0.3843137254901961,"b":1,"a":1},"uFadeLength":0.028799999999999975,"uMatcapBlendMode":1,"uMatcapContrast":1.6400000000000008,"uFadeContrast":36.469999999999985,"uSpeed":0.08,"uColor":{"r":0.941176470
256315882353,"g":0.8901960784313725,"b":0.9803921568627451,"a":1},"uFillRepeat":3,"uStrandOffset":0.021000000000000005,"uBundleOffset":28.16999999999999,"uFillLength":0.6919999999999997,"uStartFadeLength":0.04300000000000001,"uEndFadeLength":0.001,"uEmissiveColor":{"r":0.7254901960784313,"g":0.9215686274509803,"b":0.9647058823529412,"a":1},"uIOR":1.6149999999999987,"uSpecularColor":{"r":1,"g":1,"b":1,"a":1},"uMetalness":0,"uRoughness":0.2,"uOpacity":0.8699999999999999,"uLightMapIntensity":0,"uRevealProgress":1,"uMouseRadius":0.007299999999999993,"uFresnelAmount":2.6899999999999973,"uFresnelOffset":0.016,"uFresnelFalloff":2.659999999999997},"material":{"depthWrite":true,"blending":"1","transparent":true,"wireframe":false},"transforms":{"rotation":{"z":0.54,"x":0.13999999999999968},"scale":{"x":2.4,"y":2.4,"z":2.4}}},"Background":{"color":{"r":0.8862745098039215,"g":0.9294117647058824,"b":0.9725490196078431,"a":1},"uniforms":{"uColor2":{"r":0.3254901960784314,"g":0.6784313725490196,"b":0.9333333333333333,"a":1},"uColor3":{"r":1,"g":1,"b":1,"a":1},"uColor1":{"r":0.4117647058823529,"g":0.21176470588235294,"b":0.8431372549019608,"a":1},"uColor3Brightness":1,"uGradientMidPoint":0.3900000000000002,"uColor2Brightness":1,"uColor1Brightness":1,"uUseTexture":false,"uTextureSize":{"x":4500,"y":3000},"uScale1":2.5700000000000025,"uOffset1":{"x":1.5899999999999987,"y":-1.8600000000000005},"uScale2":2.139999999999998,"uOffset2":{"x":0.5400000000000004,"y":0.25,"z":-0.02000000000000001}}},"Post FX":{"chromaticAberration":{"enabled":true,"maxDistort":1.7539999999999996},"bloom":{"enabled":true,"threshold":1.12,"radius":1.1,"strength":0.3500000000000001},"vignette":{"enabled":false},"bloomPassColor":{"threshold":1.4099999999999995,"radius":1,"enabled":false,"strength":0.3999999999999999},"directionalBloom":{"enabled":false},"noise":{"strength":0.2}},"Cameras / Settings":{"cameraPivotStrength":1,"cameraPivotOffset":14.820000000000007,"cameraPivotAngle":{"x":0.1,"y":0.1},"cameraPivotRollAmount":0.4,"cameraYTranslate":0,"cameraXTranslate":0,"pointerLerpSpeed1":0.02},"Computing Orb Extra Threads":{"uniforms":{"uColor":{"r":0.6745098039215687,"g":0.6705882352941176,"b":0.9686274509803922,"a":1},"uMatcapContrast":0.38,"uFillLength":1,"uFadeContrast":11.219999999999999,"uHighlightPower":71.49999999999991,"uHighlightColor":{"r":0.9607843137254902,"g":0.15294117647058825,"b":0.8784313725490196,"a":1},"uSpeed":0.10999999999999999,"uFillRepeat":5,"uStrandOffset":0.19000000000000006,"uBundleOffset":19.049999999999983,"uStartFadeLength":0.5670000000000004,"uEndFadeLength":0,"uEmissiveColor":{"r":0.9568627450980393,"g":0.5568627450980392,"b":0.9921568627450981,"a":1},"uSpecularColor":{"r":1,"g":1,"b":1,"a":1},"uLightMapIntensity":0},"transforms":{"rotation":{"x":0.13999999999999968,"z":0.54},"scale":{"x":2.4,"y":2.4,"z":2.4}}},"Computing Orb Test Mesh":{"uniforms":{"uProgress":0}}}},"sequence":{"subUnitsPerUnit":30,"length":5.66,"type":"PositionalSequence","tracksByObject":{"Computing Orb Bands":{"trackData":{"ZdQXNL5W9h":{"type":"BasicKeyframedTrack","__debugName":"Computing Orb Bands:[\\"uniforms\\",\\"uRevealProgress\\"]","keyframes":[{"id":"UtYyOZBhun","position":0.533,"connectedRight":true,"handles":[0.5,1,0.25,0.46],"type":"bezier","value":0},{"id":"tF_kmpbfN-","position":4.533,"connectedRight":true,"handles":[0.45,0.94,0.5,0],"type":"bezier","value":1}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uRevealProgress\\"]":"ZdQXNL5W9h"}},"Computing Orb Extra Threads":{"trackData":{"ujuAZthtkG":{"type":"BasicKeyframedTrack","__debugName":"Computing Orb Extra Threads:[\\"uniforms\\",\\"uRevealProgress\\"]","keyframes":[{"id":"yYCKDOSHMC","position":0.533,"connectedRight":true,"handles":[0.5,1,0.5,0],"type":"bezier","value":0},{"id":"QukKUscb4m","position":4,"connectedRight":true,"handles":[0.5,1,0.5,0],"type":"bezier","value":1}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uRevealProgress\\"]":"ujuAZthtkG"}}}}},"BiologyOrb":{"staticOverrides":{"byObject":{"Cameras / Camera 1":{"enableLookAt":false,"transforms":{"position":{"y":-0.41000000000000003,"z":9.179999999999955,"x":-0.5300000000000001}},"lookAtTarget":{"y":0}},"Cameras / Settings":{"cameraPivotStrength":1,"cameraPivotOffset":20,"cameraPivotAngle":{"x":0.15,"y":0.1},"cameraXTranslate":0,"cameraPivotRollAmount":0.3,"cameraYTranslate":0,"cameraZTranslate":0,"pointerLerpSpeed1":0.02},"Biology Orb / Iris":{"uniforms":{"uMatcapContrast":1.3099999999999992,"uRevealProgress":1,"uC
25631olor":{"r":1,"g":1,"b":1,"a":1},"uColor2":{"r":0.3803921568627451,"g":1,"b":0.7764705882352941,"a":1},"uColor3":{"r":0.7843137254901961,"g":0.8941176470588236,"b":0.9137254901960784,"a":1},"uColor1":{"r":0.40784313725490196,"g":0.29411764705882354,"b":0.7843137254901961,"a":1},"uColor3Brightness":1.2499999999999998,"uColor1Brightness":3.449999999999998,"uColor2Brightness":2.020000000000001,"uMetalness":0,"uFillLength":0.38800000000000007,"uEndFadeLength":0.9329999999999999,"uStartFadeLength":0.10400000000000006,"uSpeed":0.2},"material":{"depthWrite":true,"depthTest":true,"blending":"1","transparent":false,"side":"0"},"transforms":{"rotation":{"x":-0.1,"y":0.4,"z":0.5},"position":{"x":0,"y":0,"z":0}},"visible":true},"Post FX":{"bloom":{"enabled":true,"threshold":1.5599999999999996,"strength":0.27999999999999936,"radius":0.13999999999999843},"chromaticAberration":{"enabled":true,"maxDistort":1.0679999999999998,"bendAmount":-0.02590000000000002},"vignette":{"enabled":false},"noise":{"enabled":true,"strength":0.048000000000000015},"directionalBloom":{"enabled":false},"bloomPassColor":{"enabled":false,"threshold":1.8099999999999998,"strength":1.3999999999999995,"radius":1}},"Background":{"color":{"r":0.9333333333333333,"g":0.9098039215686274,"b":0.9725490196078431,"a":1},"uniforms":{"uColor1":{"r":0.07450980392156863,"g":0.6235294117647059,"b":0.6235294117647059,"a":1},"uColor2":{"r":0.7372549019607844,"g":0.25098039215686274,"b":1,"a":1},"uColor3":{"r":0.8784313725490196,"g":1,"b":0.9803921568627451,"a":1},"uOffset":{"x":16.409999999999936,"y":-1.3299999999999732},"uGradientMidPoint":0.7399999999999998,"uScale":0.42000000000007054,"uUseTexture":false,"uTextureSize":{"x":1920,"y":1207},"uOffset1":{"x":4.65,"y":3.41,"z":-0.019999999999999636},"uOffset2":{"x":4.15,"y":-1.6,"z":1.01},"uScale2":3.0499999999999825,"uScale1":3.24,"uScale3":3.49,"uOffset3":{"x":2.65,"y":-0.37},"uColor1Brightness":1.79,"uColor2Brightness":2.9},"material":{"depthWrite":true,"transparent":true,"depthTest":true}},"Biology Orb / Group":{"transforms":{"rotation":{"x":0.7800000000000005,"z":0.8100000000000005,"y":0.08000000000000196},"position":{"x":-1.3400000000000005,"y":0.7999999999999999,"z":0},"scale":{"x":1.8,"y":1.8,"z":1.8}}},"Biology Orb / Ball":{"visible":true,"material":{"blending":"1","transparent":false,"side":"0","depthWrite":true,"ior":1.15,"bumpScale":1,"thickness":0.23000000000000007,"dispersion":4.590000000000018,"sheenColor":{"r":0.25882352941176473,"g":1,"b":0.803921568627451,"a":0.69},"fresnelOffset":0,"roughness":1,"fresnelFalloff":1.4300000000000008,"fresnelAmount":3.320000000000001,"opacity":0.9900000000000004,"iridescence":1,"clearcoat":0.23000000000000034,"sheen":1,"sheenRoughness":0,"normalMap":{"type":"image"},"map":{"type":"image"},"normalScale":{"x":1,"y":1.47},"envMapRotation":{"x":-6.739999999999991,"y":-0.9499999999999997,"z":5.039999999999989},"attenuationDistance":200,"attenuationColor":{"r":0.8352941176470589,"g":0.5411764705882353,"b":0.9725490196078431,"a":1},"envMapIntensity":2.310000000000002,"iridescenceIOR":1.2800000000000145,"specularIntensity":0,"transmission":1,"envMap":{"type":"image"},"clearcoatRoughness":0,"depthTest":true,"color":{"r":1,"g":1,"b":1,"a":1},"normalMapRepeat":{"x":7.262999999999993,"y":4.299999999999992},"roughnessMapRepeat":{"x":4.463000000000009,"y":2.1899999999999977},"aoMapRepeat":{"x":7.262999999999993,"y":4.299999999999992},"wireframe":false,"colorWrite":true,"highlightColor":{"r":0.36470588235294116,"g":0.8235294117647058,"b":0.8392156862745098,"a":1}},"uniforms":{"uColor1":{"r":0.9686274509803922,"g":0.9254901960784314,"b":1,"a":1},"uFresnelAmount":1.5199999999999867,"uFresnelOffset":0,"uFresnelPower":2.5000000000000036,"uFresnelFalloff":1.4799999999999978,"uColor1Brightness":1.2000000000000002,"uLightPosition":{"x":-8,"y":6,"z":-5},"uShininess":35,"uAmbientColor":{"r":0.8745098039215686,"g":0.8235294117647058,"b":0.9607843137254902,"a":1},"uLightColor":{"r":0.8588235294117647,"g":0.5490196078431373,"b":1,"a":1},"uLightIntensity":1.1500000000000006,"uSpecularIntensity":0.469999999999999}},"Biology Orb / Iris Lines":{"transforms":{"rotation":{"x":-0.1,"y":0.4,"z":0.5},"position":{"x":0,"y":0,"z":0}},"material":{"depthWrite":false,"depthTest":true,"blending":"2","color":{"r":0.3764705882352941,"g":0.8862745098039215,"b":1,"a":1},"transparent":true,"side":"0"},"uniforms":{"diffuse":{"r":0.43137254901960786,"g":0.8274509803921568,"b":1,"a":1}
25631,"linewidth":1.342999999999996,"dashSize":1,"gapSize":1,"dashOffset":0,"dashScale":1,"opacity":0.9500000000000004,"uRevealProgress":1,"worldUnits":1},"visible":true},"Biology Orb / Iris Lines 2":{"material":{"blending":"2","transparent":true,"depthWrite":false},"visible":true,"uniforms":{"diffuse":{"r":0.5019607843137255,"g":0.40784313725490196,"b":0.9803921568627451,"a":1},"uRevealProgress":1,"opacity":1.5800000000000014,"uAmbientParticleProgress":0,"linewidth":1.1820000000000004}},"Biology Orb / Iris Lines Two":{"uniforms":{"diffuse":{"r":0.8784313725490196,"g":0.6274509803921569,"b":0.07058823529411765,"a":1}}},"Biology Orb / Iris Lines 3":{"visible":true,"material":{"blending":"2","depthWrite":false},"uniforms":{"uRevealProgress":1,"diffuse":{"r":0.28627450980392155,"g":1,"b":0.9803921568627451,"a":1}}}}},"sequence":{"subUnitsPerUnit":30,"length":17.4,"type":"PositionalSequence","tracksByObject":{"Biology Orb / Iris":{"trackData":{"Uask-PsNn8":{"type":"BasicKeyframedTrack","__debugName":"Biology Orb / Iris:[\\"uniforms\\",\\"uRevealProgress\\"]","keyframes":[{"id":"3VzuavECI0","position":0,"connectedRight":true,"handles":[0.5,1,0.455,0.03],"type":"bezier","value":0},{"id":"yjZ6FKuig9","position":3.867,"connectedRight":true,"handles":[0.515,0.955,0.5,0],"type":"bezier","value":1}]},"8icKPq9vN0":{"type":"BasicKeyframedTrack","__debugName":"Biology Orb / Iris:[\\"uniforms\\",\\"uContractionStrength\\"]","keyframes":[]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uRevealProgress\\"]":"Uask-PsNn8","[\\"uniforms\\",\\"uContractionStrength\\"]":"8icKPq9vN0"}},"Biology Orb / Group":{"trackData":{},"trackIdByPropPath":{}},"Biology Orb / Iris Lines":{"trackData":{"t-3yKNYN96":{"type":"BasicKeyframedTrack","__debugName":"Biology Orb / Iris Lines:[\\"uniforms\\",\\"uRevealProgress\\"]","keyframes":[{"id":"nTLuecL09D","position":0,"connectedRight":true,"handles":[0.5,1,0.165,0.84],"type":"bezier","value":0},{"id":"PK5fbV6H2l","position":14.633,"connectedRight":true,"handles":[0.44,1,0.5,0],"type":"bezier","value":1}]},"RlHhLI_sty":{"type":"BasicKeyframedTrack","__debugName":"Biology Orb / Iris Lines:[\\"uniforms\\",\\"uParticleProgress\\"]","keyframes":[{"id":"PAwYPVWuwG","position":0,"connectedRight":true,"handles":[0.5,1,0.165,0.84],"type":"bezier","value":-0.019000000000000003},{"id":"Ku5ixbZbbR","position":11.767,"connectedRight":true,"handles":[0.44,1,0.5,0],"type":"bezier","value":0.979}]},"NDOGho1G-K":{"type":"BasicKeyframedTrack","__debugName":"Biology Orb / Iris Lines:[\\"uniforms\\",\\"uAmbientParticleProgress\\"]","keyframes":[{"id":"tUTRoFRn1o","position":0.633,"connectedRight":true,"handles":[0.5,1,0.165,0.84],"type":"bezier","value":0},{"id":"A4OXkTwXC4","position":16.9,"connectedRight":true,"handles":[0.44,1,0.5,0],"type":"bezier","value":1}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uRevealProgress\\"]":"t-3yKNYN96","[\\"uniforms\\",\\"uParticleProgress\\"]":"RlHhLI_sty","[\\"uniforms\\",\\"uAmbientParticleProgress\\"]":"NDOGho1G-K"}},"Biology Orb / Iris Lines 2":{"trackData":{"eVFr4ao0HY":{"type":"BasicKeyframedTrack","__debugName":"Biology Orb / Iris Lines 2:[\\"uniforms\\",\\"uRevealProgress\\"]","keyframes":[{"id":"XIostsl1In","position":0,"connectedRight":true,"handles":[0.5,1,0.165,0.84],"type":"bezier","value":0},{"id":"l9VP5bewsm","position":17.1,"connectedRight":true,"handles":[0.44,1,0.5,0],"type":"bezier","value":1}]},"D0P_q0c6bN":{"type":"BasicKeyframedTrack","__debugName":"Biology Orb / Iris Lines 2:[\\"uniforms\\",\\"uParticleProgress\\"]","keyframes":[{"id":"Pmrf_glBHZ","position":0,"connectedRight":true,"handles":[0.5,1,0.165,0.84],"type":"bezier","value":-0.01900000000000001},{"id":"sxpgVEukZE","position":12.233,"connectedRight":true,"handles":[0.44,1,0.5,0],"type":"bezier","value":0.974000000000002}]},"vrDyIRxdHz":{"type":"BasicKeyframedTrack","__debugName":"Biology Orb / Iris Lines 2:[\\"uniforms\\",\\"uAmbientParticleProgress\\"]","keyframes":[{"id":"kl0N8hRmou","position":0.633,"connectedRight":true,"handles":[0.5,1,0.165,0.84],"type":"bezier","value":0},{"id":"bcNN56qSfp","position":14.633,"connectedRight":true,"handles":[0.44,1,0.5,0],"type":"bezier","value":1}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uRevealProgress\\"]":"eVFr4ao0HY","[\\"uniforms\\",\\"uParticleProgress\\"]":"D0P_q0c6bN","[\\"uniforms\\",\\"uAmbientParticleProgress\\"]":"vrDyIRxdHz"}}}}},"EngineeringOrb":{"staticOverrides":{"byObject":{"Cameras / Camera 1":{"transforms":{"position":{"z":7.979999999999988,"x":0.8400000000000003}}},"Cameras / Settings":{"cameraPivotStrength":1,"cameraPivotOffset":20,"cameraPivotAngle":{"x":0.1,"y":0.1},"cameraPivotRollAmount":0.3,"pointerLerpSpeed1":0.02,"cameraZTranslate":0}
25631,"Engineering Orb":{"uniforms":{"uMatcapContrast":1.0199999999999996,"uSpeed":0.17999999999999988,"uRevealProgress":0,"uColor":{"r":0.8509803921568627,"g":0.9058823529411765,"b":1,"a":1},"uFillRepeat":1,"uFillLength":1,"uStartFadeLength":0.5,"uEndFadeLength":0.03599999999999959,"uHighlightStrength":70.40000000000013,"uRoughness":0.16100000000000003,"uMetalness":0.5219999999999996,"uMatcapBlendMode":3,"uEnvMapStrength":1.032000000000041,"tNormal":{"type":"image"},"uNormalStrength":0,"uDiffuseMatcapBlend":1,"uMouseRadius":6.099999999999958,"uMouseFalloff":0.22000000000000014},"material":{"side":"0","blending":"1","depthWrite":true,"depthTest":true,"transparent":false,"roughness":0.21999999999999983,"metalness":1,"envMapRotation":{"y":0},"color":{"r":1,"g":1,"b":1,"a":1},"envMapIntensity":1,"transmission":0,"opacity":1,"thickness":0.8400000000000003,"iridescence":0,"iridescenceIOR":1.5399999999999956,"ior":3.619999999999999,"wireframe":false},"transforms":{"scale":{"x":1,"y":1,"z":1},"rotation":{"x":0,"z":0,"y":0}},"visible":true},"Post FX":{"bloom":{"enabled":true,"threshold":1.3799999999999994,"strength":0.6299999999999988,"radius":1},"vignette":{"enabled":true},"bloomPassColor":{"strength":0.27,"threshold":1.4300000000000006,"radius":0.879999999999999,"enabled":false},"directionalBloom":{"enabled":false}},"Background":{"color":{"r":0.9647058823529412,"g":0.9686274509803922,"b":0.9490196078431372,"a":1},"color2":{"r":1,"g":0.7647058823529411,"b":0.5019607843137255,"a":1},"color1":{"r":1,"g":1,"b":1,"a":1},"uniforms":{"uColor2":{"r":0,"g":0.4588235294117647,"b":1,"a":1},"uColor3":{"r":0.15294117647058825,"g":0.2549019607843137,"b":0.9490196078431372,"a":1},"uGradientMidPoint":0.3900000000000001,"uColor1":{"r":0.9490196078431372,"g":1,"b":1,"a":1},"uColor2Brightness":1,"uOffset":{"x":0},"uColor3Brightness":1,"uColor1Brightness":1,"uScale2":4.67,"uScale1":1.78,"uOffset2":{"y":3.6,"z":1.37,"x":-5.94},"uOffset1":{"x":-2.82,"y":1.22},"uColor4":{"r":0.10588235294117647,"g":0.5450980392156862,"b":1,"a":1},"uColor4BlendStart":0.31,"uColor4BlendEnd":1.44}},"Engineering Orb Gaps":{"material":{"blending":"1","transparent":true,"depthWrite":false,"side":"0","depthTest":true},"uniforms":{"uMatcapContrast":0.9100000000000001,"uMatcapBlendMode":2,"uHighlightStrength":6.4999999999999964,"uSpeed":0.2,"uFillRepeat":1,"uColor":{"r":0.9803921568627451,"g":1,"b":0.8156862745098039,"a":1},"uStartFadeLength":0.049000000000000016,"uEndFadeLength":0.049000000000000016,"uFillLength":1,"uHighlightColor":{"r":0.788235294117647,"g":1,"b":0.7686274509803922,"a":1},"uMouseRadius":4.400000000000005,"uEnvMapStrength":1.6,"uMouseFalloff":0.5,"uRevealProgress":1},"visible":true,"transforms":{"rotation":{"x":0,"z":0,"y":0},"scale":{"x":1,"y":1,"z":1}}},"Engineering Orb Group":{"transforms":{"rotation":{"x":0.850000000000001,"z":0.26000000000000056},"scale":{"x":2.2,"y":2.2,"z":2.2}}},"Engineering Orb Inner":{"material":{"opacity":1,"transparent":true,"blending":"1","color":{"r":1,"g":1,"b":1,"a":1}},"uniforms":{"uMatcapBlendMode":4,"uEnvMapStrength":0.40099999999999947,"uMetalness":1,"uRoughness":0,"uOpacity":0.42000000000000026,"uMetalnessScale":1},"visible":false},"Mouse Settings":{"mouseLerpSpeed":0.03200000000000002}}},"sequence":{"subUnitsPerUnit":30,"length":9.98,"type":"PositionalSequence","tracksByObject":{"Engineering Orb":{"trackData":{"NJ3rkj-m_i":{"type":"BasicKeyframedTrack","__debugName":"Engineering Orb:[\\"uniforms\\",\\"uRevealProgress\\"]","keyframes":[{"id":"EXCAphVjOd","position":0,"connectedRight":true,"handles":[0.5,1,0.25,0.46],"type":"bezier","value":0},{"id":"hjS5aORSCq","position":3.667,"connectedRight":true,"handles":[0.45,0.94,0.5,0],"type":"bezier","value":1}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uRevealProgress\\"]":"NJ3rkj-m_i"}},"Engineering Orb Gaps":{"trackData":{"8doOcC1izE":{"type":"BasicKeyframedTrack","__debugName":"Engineering Orb Gaps:[\\"uniforms\\",\\"uRevealProgress\\"]","keyframes":[{"id":"1SwcxsvDIL","position":1.567,"connectedRight":true,"handles":[0.5,1,0.215,0.61],"type":"bezier","value":0},{"id":"CTGH8Wsey2","position":3.833,"connectedRight":true,"handles":[0.355,1,0.5,0],"type":"bezier","value":1}]},"SnUOv9ImWz":{"type":"BasicKeyframedTrack","__debugName":"Engineering Orb Gaps:[\\"uniforms\\",\\"uHighlightRevealProgress\\"]","keyframes":[{"id":"CoMkS12sw8","position":1.833,"connectedRight":true,"handles":[0.5,1,0.5,0],"type":"bezier","value":0},{"id":"cGpVWxQsGn","position":2.433,"connectedRight":true,"handles":[0.5,1,0.5,0],"type":"bezier","value":1}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uRevealProgress\\"]":"8doOcC1izE","[\\"uniforms\\",\\"uHighlightRevealProgress\\"]":"SnUOv9ImWz"}}}}}
25631,"TeamOrb":{"staticOverrides":{"byObject":{"Background":{"uniforms":{"uColor2":{"r":1,"g":0.12549019607843137,"b":0.6509803921568628,"a":1},"uColor3":{"r":0.7176470588235294,"g":0.3607843137254902,"b":0.9921568627450981,"a":1},"uColor1":{"r":0.9137254901960784,"g":0.803921568627451,"b":1,"a":1},"uGradientMidPoint":0.5,"uOffset":{"x":-0.5900000000000001,"y":-0.12999999999999987},"uUseTexture":false,"uScale1":2.919999999999981,"uOffset1":{"x":4.059999999999991,"y":3.240000000000002,"z":0.4500000000000002},"uScale2":3.8699999999999926,"uOffset2":{"x":-1.3700000000000008,"y":-10.280000000000038,"z":0.020000000000000025},"uColor1Brightness":1.09,"uColor2Brightness":1.7500000000000009,"uColor3Brightness":0.9300000000000003,"uColor4BlendStart":0,"uColor4":{"r":0.7568627450980392,"g":0.7607843137254902,"b":1,"a":1},"uColor4BlendEnd":0.15999999999999986},"visible":true,"material":{"blending":"1","transparent":true,"depthTest":true,"depthWrite":true}},"Cameras / Settings":{"cameraPivotStrength":0,"cameraPivotAngle":{"x":0.2,"y":0.2},"cameraPivotOffset":10.779999999999994},"Team Orb":{"uniforms":{"uRoughness":0,"uMetalness":1,"uScale":{"x":0.4499999999999995,"y":0.8499999999999999},"uMatcapBlendMode":4,"uDiffuseMatcapBlend":1,"uInsideGlowColor":{"r":1,"g":0.8901960784313725,"b":0.8901960784313725,"a":1},"uInsideGlowStrength":0.8,"uColor":{"r":1,"g":1,"b":1,"a":1},"uEnvMapStrength":1.5,"tMatcap":{"type":"image"},"uDisplacementColor":{"r":1,"g":0.8745098039215686,"b":0.9882352941176471,"a":1},"tEmissiveMap":{"type":"image"},"uEnterBlockScale":0},"transforms":{"position":{"x":0,"y":0,"z":2.0000000000000004},"rotation":{"x":-0.050000000000000204}},"simulation":{"uniforms":{"uAmbientDisplacementScale":0.1,"uAmbientDisplacementStrength":0.05,"uAmbientDisplacementSpeed":0,"uRotationSpeedY":0.04,"uBeatOscillationSpeed":5,"uBeatSpeed":0.9,"uLerpSpeed":1}},"material":{"transparent":true,"blending":"1","side":"0","depthTest":true,"depthWrite":true}},"Cameras / Camera 1":{"transforms":{"position":{"z":7.9000000000000075,"x":1.4}},"near":1,"far":50,"focalLength":50},"Post FX":{"bloom":{"enabled":true,"strength":0.5999999999999988,"radius":1,"threshold":1.1799999999999993},"directionalBloom":{"enabled":false,"threshold":1.2300000000000002,"strength":0.5900000000000001,"radius":0.5300000000000002},"bloomPassColor":{"enabled":false},"vignette":{"enabled":false},"noise":{"strength":0.2}},"Godrays":{"intensity":10,"debug":false,"exponent":4.680000000000002,"maxLimit":1,"colourSpeed":1.7899999999999996,"enabled":true,"sunPosition":{"z":-891.2899999999988,"x":-206.76999999999944}}}},"sequence":{"subUnitsPerUnit":30,"length":10,"type":"PositionalSequence","tracksByObject":{"Team Orb":{"trackData":{"18NznjLGkA":{"type":"BasicKeyframedTrack","__debugName":"Team Orb:[\\"uniforms\\",\\"uEnterBlockScale\\"]","keyframes":[{"id":"2hYIDTbVso","position":0.6,"connectedRight":true,"handles":[0.5,1,0.467,0.705],"type":"bezier","value":0},{"id":"HXfsXOZgAN","position":2.9,"connectedRight":true,"handles":[0.555,0.54,0.5,0],"type":"bezier","value":1}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uEnterBlockScale\\"]":"18NznjLGkA"}}}}},"Global WebGL":{"staticOverrides":{"byObject":{"Fluid Sim":{"simulation":{"mouseRadius":0.11999999999999998,"curlStrength":0.3684000000000013,"dissipation":0.05340000000000012,"clearValue":0,"viscosity":0.47619047619047594,"pressure":0.999},"fluid":{"force":30,"forceClamp":695.2,"iterations":2}},"Post FX":{"noise":{"strength":0.14539999999999867}},"Transition":{"uniforms":{"uNoise1Offset":{"x":0.026000000000000016,"y":0.0008000000000000073},"uNoise1Scale":{"x":0.016700000000000017,"y":0.030600000000000082},"uNoise2Scale":{"x":0.1691000000000003,"y":0.10059999999999993},"uCrossfadeSize":0.4075000000000002,"uUvDistortion":0.041500000000000044}}}}},"Article":{"staticOverrides":{"byObject":{"Background":{"uniforms":{"uScale1":2.1399999999999983,"uScale2":1.6600000000000006,"uOffset1":{"x":-3.66000000000001,"y":-0.3999999999999997},"uOffset2":{"x":-0.5100000000000005,"y":-0.27000000000000035},"uSpeed":0.24,"uScale3":1.5600000000000032}}}},"sequence":{"subUnitsPerUnit":30,"length":10,"type":"PositionalSequence","tracksByObject":{"Backgroun
25631d":{"trackData":{"jn_9Y5fBac":{"type":"BasicKeyframedTrack","__debugName":"Background:[\\"uniforms\\",\\"uColor1\\"]","keyframes":[{"id":"3C6eDWN2fK","position":0,"connectedRight":true,"handles":[0.5,1,0.5,0.5],"type":"bezier","value":{"r":0.9960784940007982,"g":0.9960784940007982,"b":0.9960784940007982,"a":1}},{"id":"k43UvuAJa3","position":1,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":1,"g":0.3137254901960784,"b":0.3137254901960784,"a":1}},{"id":"Wj9j2eUNct","position":2,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.9490196078431372,"g":1,"b":1,"a":1}},{"id":"CaCXMGNG3f","position":3,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.4117647058823529,"g":0.21176470588235294,"b":0.8431372549019608,"a":1}},{"id":"wNp3f0WoqO","position":4,"connectedRight":true,"handles":[0.5,0.5,0.5,0],"type":"bezier","value":{"r":0.9137254901960784,"g":0.803921568627451,"b":1,"a":1}}]},"tAkMB6eFQQ":{"type":"BasicKeyframedTrack","__debugName":"Background:[\\"uniforms\\",\\"uColor2\\"]","keyframes":[{"id":"CyBxYtHUVZ","position":0,"connectedRight":true,"handles":[0.5,1,0.5,0.5],"type":"bezier","value":{"r":0.9999999999999999,"g":0.9843139745950885,"b":0.7764737558081337,"a":1}},{"id":"9r5mXQOX67","position":1,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.8235294117647058,"g":0.6823529411764706,"b":0.2549019607843137,"a":1}},{"id":"Gw1-zBVgqc","position":2,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0,"g":0.4588235294117647,"b":1,"a":1}},{"id":"38TmgwSG3F","position":3,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.3254901960784314,"g":0.6784313725490196,"b":0.9333333333333333,"a":1}},{"id":"LOGk5AVxHF","position":4,"connectedRight":true,"handles":[0.5,0.5,0.5,0],"type":"bezier","value":{"r":1,"g":0.12549019607843137,"b":0.6509803921568628,"a":1}}]},"TVNNnXaW8O":{"type":"BasicKeyframedTrack","__debugName":"Background:[\\"uniforms\\",\\"uColor3\\"]","keyframes":[{"id":"Qsek8ajbJT","position":0,"connectedRight":true,"handles":[0.5,1,0.5,0.5],"type":"bezier","value":{"r":0.9999999999999999,"g":0.9803924676542063,"b":0.9098053011777971,"a":1}},{"id":"SYm4ohA-7c","position":1,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.9803921568627451,"g":0.9568627450980393,"b":0.788235294117647,"a":1}},{"id":"bT0Hz_JUrW","position":2,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.15294117647058825,"g":0.2549019607843137,"b":0.9490196078431372,"a":1}},{"id":"IehwRuenvD","position":3,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":1,"g":1,"b":1,"a":1}},{"id":"fSpFsArmsE","position":4,"connectedRight":true,"handles":[0.5,0.5,0.5,0],"type":"bezier","value":{"r":0.7176470588235294,"g":0.3607843137254902,"b":0.9921568627450981,"a":1}}]},"tgCnkpoF4h":{"type":"BasicKeyframedTrack","__debugName":"Background:[\\"uniforms\\",\\"uColor4\\"]","keyframes":[{"id":"ad5fTZMJgs","position":0,"connectedRight":true,"handles":[0.5,1,0.5,0.5],"type":"bezier","value":{"r":0.9999999999999999,"g":0.9803924676542063,"b":0.9098053011777971,"a":1}},{"id":"q3qWVFO1gr","position":1,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.9999999999999999,"g":0.9803924676542063,"b":0.9098053011777971,"a":1}},{"id":"xusShI4X94","position":2,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.10588235294117647,"g":0.5450980392156862,"b":1,"a":1}},{"id":"UZ-THAZcaq","position":3,"connectedRight":true,"handles":[0.5,0.5,0.5,0.5],"type":"bezier","value":{"r":0.996078431372549,"g":0.9803921568627451,"b":0.9098039215686274,"a":1}},{"id":"3hHkv19TP4","position":4,"connectedRight":true,"handles":[0.5,0.5,0.5,0],"type":"bezier","value":{"r":0.7568627450980392,"g":0.7607843137254902,"b":1,"a":1}}]}},"trackIdByPropPath":{"[\\"uniforms\\",\\"uColor1\\"]":"jn_9Y5fBac","[\\"uniforms\\",\\"uColor2\\"]":"tAkMB6eFQQ","[\\"uniforms\\",\\"uColor3\\"]":"TVNNnXaW8O","[\\"uniforms\\",\\"uColor4\\"]":"tgCnkpoF4h"}}}}}}'),Kue="0.4.0",Zue=["HnbPs2zrqOJveuKQ","gtQMaFq2KZLufip_","U9NMXQfyNPYLfiyO","0617rMb9SBFnBjKo","bgiviuckCP5h_B-g","AFW3_VIpwlBBPq43","vjHguKDKJaJzX6w0","2Yy_BurE8r3U9WfU","accyVzyxBjXCFiP8","KBohPS7vXPJpZPOU","WxzNKZhQNUEMiDs_","4IIOllKPW06ih64O","Fj6lIWLopyOyJIRJ","aQ5JzkMs39Rw7AWf","gvDtKFPV_tBTSLwF","Gw8tST0OTruMoy79","cIBMKsGmtZXSQPfn","LnrsK1DgKUvfkTfh","6cNq35wv20Tmzg1j","Gp5sraTqL3oLqH4P","DF6IdcZb6EebGoSK","iikxvToIotVelC_T","lq1Ajq3-PylHDZ4M","YtiXHWZIKnC82Cee","jPD-a4u1fLYrQoGR","LY_Pq-JMI9-TSS9a","OLVkdrIFoxsQQj3d","nt45wuBkzYzrM6DM","T6AapVF2K9s7pvFA","JFTyNTfULR9RFeTJ","UfJLfXWQB0Bic7bG","_9-NubWl8jV9KT4l","V4o7qXTHatm2wRuE","f6t3cc_C7ECMON4Z","BO4DWXGlxZfWF1ZZ","VDdBDi67_AEhqbF-","N-rv8sxvI2BeZSRJ","kg2xkgZXTi6oxl20","rBICj3NTaB7NXCQu","9i8nMiLP-YfkVKvc","wsQbE1_QdE7uqNgh","imj4kam45X1PwAbe","2RFtRzYJW48Oekv8","5j31bE9brgsUdkze","P_Scd77GAfHEhumO","8j6n1_o7Xb9obF4u","kmzegN6SoCRXmF5d","5GSZnBa4ot-V_VF6","wdXhqE3he8XJPs5Z","9Ri-b3rX-eTmFm0H"],Jue={sheetsById:$ue,definitionVersion:Kue,revisionHistory:Zue};class efe{addSheetObject(e,t,i,r,s=!1){S.theatre.objects[e]||(S.theatre.objects[e]={});const o={...i},a=si(S.theatre.sheets[e].object(t,i,{reconfigure:s}));a._originalConfig=o,a._onValuesChangeCallbacks=[];const l=(u,f=S.theatre.rafDriver)=>{const h=a.onValuesChange(u,f);return a._onValuesChangeCallbacks.push(h),h};S.theatre.objects[e][t]=a;const c={onValuesChange:l,_originalConfig:o};return r&&(a._webglObject=r,r._theatreObject=a,c._webglObject=r),si(c)}addStudioSheetObject(e,t,i){if(S.theatre.studio){S.theatre.studioObjects[e]||(S.theatre.studioObjects[e]=si({}));const r=si(S.theatre.studioSheets[e]).object(t,i);return S.theatre.studioObjects[e][t]=si(r),r}else return{onValuesChange:()=>{}}}unsubscribeFromAllSheetObjectCallbacks(e){if(e._onValuesChangeCallbacks)for(let t=0;t<e._onValuesChangeCallbacks.length;t++)e._onValuesChangeCallbacks[t]()}detachAllSheetObjects(e){if(S.theatre.objects[e]){for(const t in S.theatre.objects[e]){const i=si(S.theatre.objects[e][t]);this.unsubscribeFromAllSheetObjectCallbacks(i),i._webglObject&&(i._webglObject._theatreObject=null,i._webglObject=null),S.theatre.sheets[e].detachObject(t),delete S.theatre.objects[e][t]}delete S.theatre.objects[e]}}detachAllStudioSheetObjects(e){if(S.theatre.studioObjects[e])for(const t in S.theatre.studioObjects[e])S.theatre.studioSheets[e].detachObject(t),delete S.theatre.studioObjects[e][t]}deleteSheet(e){S.theatre.sheets[e]&&(this.detachAllSheetObjects(e),S.theatre.sheets[e]._webglScene=null,delete S.theatre.sheets[e])}updateSheetObject(e,t){if(!(e!=null&&e._originalConfig))throw new Error("Sheet Object is missing the _originalConfig property. It likely wasn't created with TheatreHelper.addSheetObject().");const i={...e._originalConfig,...t};return this.addSheetObject(e.address.sheetId,e.address.objectKey,i,null,!0)}autoAddObject(e,t,{exclude:i=[],include:r=[],addDefines:s=!0,additionalConfig:o={}}={}){if(e===void 0||t===void 0)throw new Error("Object and Theatre Sheet are required.");const a={visible:Te.types.boolean(e.visible),transforms:{},...o},l=!i.includes("position"),c=!i.includes("rotation"),u=!i.includes("scale");l&&(a.transforms.position=Te.types.compound({x:Te.types.number(e.position.x,{nudgeMultiplier:.1}),y:Te.types.number(e.position.y,{nudgeMultiplier:.1}),z:Te.types.number(e.position.z,{nudgeMultiplier:.1})})),c&&(a.transforms.rotation=Te.types.compound({x:Te.types.number(e.rotation.x,{nudgeMultiplier:.1}),y:Te.types.number(e.rotation.y,{nudgeMultiplier:.1}),z:Te.types.number(e.rotation.z,{nudgeMultiplier:.1})})),u&&(a.transforms.scale=Te.types.compound({x:Te.types.number(e.scale.x,{nudgeMultiplier:.1}),y:Te.types.number(e.scale.y,{nudgeMultiplier:.1}),z:Te.types.number(e.scale.z,{nudgeMultiplier:.1})}));const f=this.autoAddMaterial(a,{material:e.material,exclude:i,include:r,addDefines:s}),h=this.addSheetObject(t,e.name,a,e);return h.onValuesChange(p=>{e.visible=p.visible,l&&e.position.copy(p.transforms.position),c&&e.rotation.set(p.transforms.rotation.x,p.transforms.rotation.y,p.transforms.rotation.z),u&&e.scale.copy(p.transforms.scale),f(e,p)},S.theatre.rafDriver),h}autoAddMaterial(e,{material:t,options:i=!0,exclude:r,include:s,addDefines:o=!0}){if(!t)return()=>{};e.material||(e.material={}),i&&Object.assign(e.material,{wireframe:Te.types.boolean(t.wireframe),side:Te.types.stringLiteral(t.side,{[Io]:"front",[Rr]:"back",[Zs]:"double"},{as:"menu"}
25631),blending:Te.types.stringLiteral(t.blending,{[wo]:"NoBlending",[bu]:"NormalBlending",[Y0]:"AdditiveBlending",[$_]:"SubtractiveBlending",[K_]:"MultiplyBlending",[TI]:"CustomBlending"},{as:"menu"}),transparent:Te.types.boolean(t.transparent),depthTest:Te.types.boolean(t.depthTest),depthWrite:Te.types.boolean(t.depthWrite),colorWrite:Te.types.boolean(t.colorWrite)});const a=this.autoAddUniforms(e,t.uniforms,r,s),l=this.autoAddThreeMaterial(e,t,r,s);return(c,u)=>{c.material.wireframe=u.material.wireframe,c.material.side=Number.parseInt(u.material.side),c.material.blending=Number.parseInt(u.material.blending),c.material.transparent=u.material.transparent,c.material.depthTest=u.material.depthTest,c.material.depthWrite=u.material.depthWrite,c.material.colorWrite=u.material.colorWrite;for(let f=0;f<a.length;f++)a[f](c,u);for(let f=0;f<l.length;f++)l[f](c,u)}}autoAddThreeMaterial(e,t,i=[],r=[]){var a;e.material||(e.material={});const s=[],o=["aoMap","aoMapIntensity","attenuationColor","attenuationDistance","color","bumpMap","bumpScale","displacementBias","displacementMap","displacementScale","emissive","emissiveIntensity","emissiveMap","_dispersion","_anisotropy","_clearcoat","_iridescence","_sheen","iridescenceIOR","clearcoatRoughness","envMap","envMapIntensity","envMapRotation","ior","map","matcap","metalness","metalnessMap","normalMap","normalScale","opacity","roughness","roughnessMap","specular","specularColor","specularMap","specularIntensity","specularColorMap","specularIntensityMap","sheenColor","sheenRoughness","thickness","_transmission"];if(t.type!=="ShaderMaterial"&&t.type!=="RawShaderMaterial"){for(const l in t)if(o.includes(l))if(t[l]===null||(a=t[l])!=null&&a.isTexture){e.material[l]=Te.types.image("",{label:l});let c=!0;s.push((u,f)=>{var m,v,A,y;const h=S.theatre.project.getAssetUrl(f.material[l]),p={wrapping:ts};if((m=t[l])!=null&&m.isTexture&&Object.assign(p,{minFilter:t[l].minFilter,magFilter:t[l].magFilter,flipY:t[l].flipY,colorSpace:t[l].colorSpace,mapping:t[l].mapping}),h&&((v=t[l])==null?void 0:v.source.data.src)!==h){const x=new Image;x.addEventListener("load",()=>{t[l]=S.WebGL.generateTexture(x,p),t[l].needsUpdate=!0,t.needsUpdate=!0,c=!1},{once:!0}),x.src=h}else!h&&((A=t[l])==null?void 0:A.source.data.src)!==h&&!c&&((y=t[l])!=null&&y.isTexture)&&(t[l]=null,t.needsUpdate=!0,c=!1)}),e.material[l+"Repeat"]=Te.types.compound({x:Te.types.number(1,{nudgeMultiplier:.01}),y:Te.types.number(1,{nudgeMultiplier:.01})}),s.push((u,f)=>{var h;(h=t[l])!=null&&h.isTexture&&(t[l].repeat.set(f.material[l+"Repeat"].x,f.material[l+"Repeat"].y),t[l].needsUpdate=!0)})}else if(t[l].isColor)e.material[l]=this.parseColor(t[l],l),s.push((c,u)=>{t[l].copySRGBToLinear(u.material[l])});else if(l.includes("_")){const c=l.replace("_","");e.material[c]=Te.types.number(t[c],{label:c,nudgeMultiplier:.01}),s.push((u,f)=>{t[c]!==f.material[c]&&(t[c]=f.material[c],t.needsUpdate=!0)})}else if(typeof t[l]=="object"){const c={};for(const u in t[l])if(Object.hasOwnProperty.call(t[l],u)&&typeof t[l][u]=="number"){const f=u.replace("_","");c[f]=Te.types.number(t[l][f],{nudgeMultiplier:.01})}e.material[l]=Te.types.compound(c,{label:l}),s.push((u,f)=>{t[l].isEuler?t[l].set(f.material[l].x,f.material[l].y,f.material[l].z):t[l].copy(f.material[l])})}else if(typeof t[l]=="number"){const c=t[l]===1/0?1e3:t[l];e.material[l]=Te.types.number(c,{label:l,range:[0,1/0],nudgeMultiplier:.01}),s.push((u,f)=>{t[l]=f.material[l]})}else typeof t[l]=="boolean"&&(e.material[l]=Te.types.boolean(t[l],{label:l}),s.push((c,u)=>{t[l]=u.material[l]}))}return s}autoAddThreeMaterialImages(e,t,i=[],r=[]){const s=[];for(const o in t){if(i.includes(o)||r.length&&!r.includes(o)||o.toLowerCase().slice(-3)!=="map"||!t[o])continue;const a=t[o];t[o].isTexture&&(e[o]=Te.types.image("",{label:o}),s.push((l,c)=>{const u=S.theatre.project.getAssetUrl(c[o]),f={minFilter:a.minFilter,magFilter:a.magFilter,wrapping:a.wrapS,flipY:a.flipY,colorSpace:a.colorSpace,mapping:a.mapping};if(u){const h=new Image;h.addEventListener("load",()=>{if(o==="envMap"){const p=S.WebGL.generateTexture(h,f);p.mapping!==Ya&&(p.mapping=Ya,p.needsUpdate=!0);const m=S.WebGL.pmremHandler.fromEquirectangular(p);t[o]=m}else t[o]=S.WebGL.generateTexture(h,f);t[o].needsUpdate=!0},{once:!0}),h.src=u}}))}return s}autoAddUniforms(e,t,i=[],r=[],s="FOG"){e.uniforms||(e.uniforms={});const o=[];for(const a in t){if(a==="uTime"||a==="uResolution"||a==="uTexelSize"||a==="uDevCameraActive"||a.toLowerCase().includes("delta")||i.includes(a)||r.length&&!r.includes(a)||a.toLowerCase().includes("tonemap")||s&&a.toUpperCase().includes(s))continue;const l=t[a];if(!(l.value===null||l.value===void 0)&&!(l.value.isMatrix4||l.value.isMatrix3||l.value.isRenderTargetTexture||l.value.isDepthTexture||l.value instanceof zd||Array.isArray(l.value)))if(l.value.isColor)e.uniforms[a]=this.parseColor(l.value,a),o.push((c,u)=>{l.value.copySRGBToLinear(u.uniforms[a])});else if(l.value.isTexture)e.uniforms[a]=Te.types.image("",{label:a}),o.push((c,u)=>{const f=S.theatre.project.getAssetUrl(u.uniforms[a]),h={minFilter:l.value.minFilter,magFilter:l.value.magFilter,wrapping:ts,flipY:l.value.flipY,colorSpace:l.value.colorSpace};if(f){const p=new Image;p.addEventListener("load",()=>{l.value=S.WebGL.generateTexture(p,h),l.value.needsUpdate=!0},{once:!0}),p.src=f}});else if(typeof l.value=="object"){const c={};for(const u in l.value)if(Object.hasOwnProperty.call(l.value,u)){const f=this.parseUniformGui(l,u);c[u]=Te.types.number(l.value[u],f)}e.uniforms[a]=Te.types.compound(c,{label:a}),o.push((u,f)=>{l.value.copy(f.uniforms[a])})}else if(typeof l.value=="number"){const c=this.parseUniformGui(l);e.uniforms[a]=Te.types.number(l.value,{label:a,...c}),o.push((u,f)=>{l.value=f.uniforms[a]})}else typeof l.value=="boolean"&&(e.uniforms[a]=Te.types.boolean(l.value,{label:a}),o.push((c,u)=>{l.value=u.uniforms[a]}))}return o}parseUniformGui(e,t=!1){const i={};return e.gui&&((e.gui.min!==void 0||e.gui.max!==void 0)&&(i.range=[-1/0,1/0],e.gui.min!==void 0&&(i.range[0]=e.gui.min),e.gui.max!==void 0&&(i.range[1]=e.gui.max)),e.gui.step&&(i.nudgeMultiplier=e.gui.step),t&&e.gui[t]&&(i.range=i.range||[-1/0,1/0],e.gui[t].min!==void 0&&(i.range[0]=e.gui[t].min),e.gui[t].max!==void 0&&(i.range[1]=e.gui[t].max))),i}
25631parseColor(e,t=!1){const i={};return t&&(i.label=t),e.isSRGB||(e.convertLinearToSRGB(),e.isSRGB=!0),Te.types.rgba({r:e.r,g:e.g,b:e.b,a:1},i)}}const tfe=Object.assign({"/public/webgl/theatre/blueyard/state.json":Jue});class p6{initStudio(e){S.theatre.studio=si(e),S.theatre.studioProject=si(S.theatre.studio.getStudioProject()),S.theatre.persistenceKey=si("BlueYard-theatre"),S.theatre.studio.initialize({persistenceKey:S.theatre.persistenceKey,__experimental_rafDriver:S.theatre.rafDriver}),S.urlParams.has("gui")||S.theatre.studio.ui.hide(),S.urlParams.has("gui")&&S.theatre.studio.onSelectionChange(i=>{var r,s,o,a;(r=S.WebGL)!=null&&r.isBuilt&&i.length&&(i[0]._webglScene&&((s=S.WebGL)==null?void 0:s.activeScene)!==i[0]._webglScene||i[0].sheet&&i[0].sheet._webglScene&&((o=S.WebGL)==null?void 0:o.activeScene)!==i[0].sheet._webglScene)&&(S.WebGL.activeScene.theatreIsPlaying&&(S.WebGL.activeScene.runNextTheatreSequence=!1,S.WebGL.activeScene.pauseTheatreSequence()),S.WebGL.activeScene.stop(),(a=i[0].sheet)!=null&&a._webglScene?i[0].sheet._webglScene.start():i[0]._webglScene.start())}),S.urlParams.has("gui")&&S.urlParams.has("autoplay")&&(S.theatre.studio.__experimental.__experimental_disblePlayPauseKeyboardShortcut(),window.addEventListener("keydown",i=>{i.code==="Space"&&(S.WebGL.activeScene.theatreIsPlaying?(S.WebGL.activeScene.runNextTheatreSequence=!1,S.WebGL.activeScene.pauseTheatreSequence()):S.WebGL.activeScene.playTheatreSequence())}));const t=document.createElement("style");t.innerHTML=`
25632			[data-testid="DetailPanel-Object"] {
25633				width: 340px;
25634			}
25635
25636			.kXqnKI {
25637				--step: 13px;
25638				--left-pad: 5px;
25639				--right-width: 40%;
25640			}
25641
25642			.brRnNE {
25643				--right-width: 40%;
25644			}
25645		`,setTimeout(()=>{document.querySelector("#theatrejs-studio-root").shadowRoot.appendChild(t)},500)}async loadProjectState(e,t){S.theatre.helper=si(new efe),S.theatre.rafDriver=si(Te.createRafDriver());let i;if(S.urlParams.has("version")){const r=S.urlParams.get("version"),s=(S.env==="development","//undefinedundefined");i=await(await fetch(s+"?download",{method:"POST",body:JSON.stringify({filename:r,projectId:t})})).json(),i=JSON.parse(i)}else i=tfe[`/public/webgl/theatre/${t}/state.json`];return S.theatre.project=si(Te.getProject(e,{state:i,assets:{baseUrl:"/"}})),S.env!=="production"&&S.theatre.project.ready.then(()=>
25645{!S.urlParams.has("gui")&&window.__TheatreJS_StudioBundle._studio._store._atom._currentState.ephemeral.coreByProject[e].loadingState.type==="browserStateIsNotBasedOnDiskState"&&(S.theatre.studio.__experimental.__experimental_clearPersistentStorage(S.theatre.persistenceKey),localStorage.removeItem(S.theatre.persistenceKey+".persistent"),window.location.reload())}),S.theatre.project.ready}enableRAF(){S.RAFCollection.add(S.theatre.rafDriver.tick,-1)}disableRAF(){S.RAFCollection.remove(S.theatre.rafDriver.tick)}}function nfe(){var o;const e=(o=UA(NA).theme)==null?void 0:o.screens,t={},i={};Object.entries(e).forEach(([a])=>{t[a]=gt(!1)}),t.touch=gt(!1),t.ipadpro=gt(!1);const r=()=>{Object.entries(e).forEach(([a])=>{i[a]&&(t[a].value=i[a].matches)}),t.touch.value=i.touch.matches,t.ipadpro.value=i.ipadpro.matches};return xA(()=>{Object.entries(e).forEach(([a,l])=>{i[a]=window.matchMedia(`(min-width: ${l})`),t[a].value=i[a].matches,i[a].addEventListener("change",r)}),i.touch=window.matchMedia("(pointer: coarse)"),t.touch.value=i.touch.matches,i.touch.addEventListener("change",r),i.ipadpro=window.matchMedia("(hover: none) and (pointer: coarse) and (min-width: 1024px)"),t.ipadpro.value=i.ipadpro.matches,i.ipadpro.addEventListener("change",r)}),tl(()=>{Object.entries(i).forEach(([a,l])=>{l.removeEventListener("change",r)})}),{is:a=>{var l;return((l=t[a])==null?void 0:l.value)??!1},queries:t,mediaQueries:i}}const ife=vs({__name:"WebGLApplication",setup(n,{expose:e}){const{checkIfLoaded:t}=jo(),i=ale(),r=Bu(),s=nfe(),o=gt(),a=gt(),l=()=>{var c;(c=a.value)==null||c.initScenes(),t().then(()=>{var u,f;(u=a.value)==null||u.build(),(f=a.value)==null||f.preRender()})};return zs(async()=>{var c;((c=i.urlParams)==null?void 0:c.get("devmode"))!=="ui"&&(i.breakpoints=s,window.store=i,r.public.THEATRE_STATE&&(i.env!=="production"?Sr(()=>import("./BCN2qmEx.js").then(u=>u.i),[],import.meta.url).then(async({default:u})=>{i.theatre.manager=si(new p6),i.theatre.manager.initStudio(si(u)),await i.theatre.manager.loadProjectState("BlueYard","blueyard"),o.value&&(a.value=si(new h6(o.value)),i.WebGL=a.value,l())}):(i.theatre.manager=si(new p6),await i.theatre.manager.loadProjectState("BlueYard","blueyard"),o.value&&(a.value=si(new h6(o.value)),i.WebGL=a.value,l()))))}),tl(()=>{var c;(c=a.value)==null||c.destroy()}),e({webgl:a}),(c,u)=>(di(),Na("canvas",{ref_key:"canvas",ref:o,style:{width:"100%",height:"100%",position:"fixed",top:"0",left:"0",zIndex:"-1",visibility:"hidden",opacity:"0"}},null,512))}});function rfe(n){const e=so({});return aA(()=>{const t=Tn().$nuxtSiteConfig.get(hA({resolveRefs:!0},n));Object.assign(e,t)}),delete e._priority,e}function sfe(n){const e=new URL(n);return e.search="",e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),e.toString()}const ofe=vs({__name:"app",async setup(n){var f,h,p;let e,t;const{data:i}=([e,t]=f7(()=>qR($re)),e=await e,t(),e),r=mA(),{url:s}=rfe(),o=((f=i==null?void 0:i.value)==null?void 0:f.defaultTitle)||"",a=(h=i==null?void 0:i.value)==null?void 0:h.ogImageUrl,l=((p=i==null?void 0:i.value)==null?void 0:p.ogDescription)||"",c=so(fX());tW({description:l,ogDescription:l,ogImage:a,twitterCard:"summary_large_image"}),ST({titleTemplate:m=>m?`${m} - ${o}`:o,htmlAttrs:{lang:"en"},bodyAttrs:{class:"bg-background text-black/80"},link:[{rel:"canonical",href:()=>sfe(`${s}${r.path}`)},{rel:"icon",type:"image/png",href:"/favicon-96x96.png",sizes:"96x96"},{rel:"icon",type:"image/svg+xml",href:"/favicon.svg"},{rel:"shortcut icon",href:"/favicon.ico"},{rel:"apple-touch-icon",sizes:"180x180",href:"/apple-touch-icon.png"},{rel:"manifest",href:"/site.webmanifest"}],meta:[{name:"apple-mobile-web-app-title",content:"BlueYard Capital"}]});const u=()=>{S.window.w=window.innerWidth,S.window.h=window.innerHeight,S.window.dpr=window.devicePixelRatio};return nx(()=>{u(),S.urlParams=new URLSearchParams(window.location.search)}),zs(()=>{}),oc(u),ai([()=>c.x,()=>c.y],()=>{const{x:m,y:v}=c;S.pointer.x=m,S.pointer.y=v,S.pointer.gl.set(S.pointer.x-S.window.w/2,-S.pointer.y+S.window.h/2),S.pointer.glNormalized.set(S.pointer.x/S.window.w*2-1,-(S.pointer.y/S.window.h)*2+1),S.pointer.glScreenSpace.set(S.pointer.x/S.window.w,1-S.pointer.y/S.window.h)}),(m,v)=>{var _;const A=Ore,y=Hae,x=Gae,b=ole;return di(),Na(Ii,null,[dn(A),dn(y,{"footer-links":(_=qt(i))==null?void 0:_.navigationLinks},null,8,["footer-links"]),dn(b,null,{default:Ua(()=>[ei("div",null,[dn(x)])]),_:1}),dn(ife)],64)}}}),afe={__name:"nuxt-error-page",props:{error:Object},setup(n){const t=n.error;t.stack&&t.stack.split(`
25646`).splice(1).map(f=>({text:f.replace("webpack:/","").replace(".vue",".js").trim(),internal:f.includes("node_modules")&&!f.includes(".cache")||f.includes("internal")||f.includes("new Promise")})).map(f=>`<span class="stack${f.internal?" internal":""}">${f.text}</span>`).join(`
25647`);const i=Number(t.statusCode||500),r=i===404,s=t.statusMessage??(r?"Page Not Found":"Internal Server Error"),o=t.message||t.toString(),a=void 0,u=r?k5(()=>Sr(()=>import("./Bmypm-7x.js"),__vite__mapDeps([11,12]),import.meta.url)):k5(()=>Sr(()=>import("./C9iO1Kq3.js"),__vite__mapDeps([13,14]),import.meta.url));return(f,h)=>(di(),Ks(qt(u),Az(U7({statusCode:qt(i),statusMessage:qt(s),description:qt(o),stack:qt(a)})),null,16))}},lfe={key:0},m6={__name:"nuxt-root",setup(n){const e=()=>null,t=Tn(),i=t.deferHydration();if(t.isHydrating){const l=t.hooks.hookOnce("app:error",i);As().beforeEach(l)}const r=!1;Va(pA,mA()),t.hooks.callHookWith(l=>l.map(c=>c()),"vue:setup");const s=gA(),o=!1;s7((l,c,u)=>
25647{if(t.hooks.callHook("vue:error",l,c,u).catch(f=>console.error("[nuxt] Error in `vue:error` hook",f)),rQ(l)&&(l.fatal||l.unhandled))return t.runWithContext(()=>Df(l)),!1});const a=!1;return(l,c)=>(di(),Ks(R7,{onResolve:qt(i)},{default:Ua(()=>[qt(o)?(di(),Na("div",lfe)):qt(s)?(di(),Ks(qt(afe),{key:1,error:qt(s)},null,8,["error"])):qt(a)?(di(),Ks(qt(e),{key:2,context:qt(a)},null,8,["context"])):qt(r)?(di(),Ks(l7(qt(r)),{key:3})):(di(),Ks(qt(ofe),{key:4}))]),_:1},8,["onResolve"]))}};let g6;{let n;g6=async function(){var o,a;if(n)return n;const i=!!(((o=window.__NUXT__)==null?void 0:o.serverRendered)??((a=document.getElementById("__NUXT_DATA__"))==null?void 0:a.dataset.ssr)==="true")?PV(m6):IV(m6),r=GG({vueApp:i});async function s(l){await r.callHook("app:error",l),r.payload.error=r.payload.error||Sp(l)}i.config.errorHandler=s,r.hook("app:suspense:resolve",()=>{i.config.errorHandler===s&&(i.config.errorHandler=void 0)});try{await jG(r,Rre)}catch(l){s(l)}try{await r.hooks.callHook("app:created",i),await r.hooks.callHook("app:beforeMount",i),i.mount(zG),await r.hooks.callHook("app:mounted",i),await Ja()}catch(l){s(l)}return i},n=g6().catch(e=>{throw console.error("Error while mounting app:",e),e})}export{qR as $,dr as A,tl as B,bI as C,ii as D,an as E,Ii as F,S as G,V5 as H,bp as I,iA as J,ffe as K,zb as L,dfe as M,hA as N,pC as O,ta as P,dA as Q,aG as R,Pt as S,aV as T,qV as U,Tn as V,Bu as W,ufe as X,Az as Y,f7 as Z,A4 as _,ei as a,wA as a0,Nre as a1,$z as a2,hV as a3,hfe as a4,Va as a5,qH as a6,Wre as a7,Gre as a8,es as a9,Mr as aa,pfe as ab,tW as ac,Oi as ad,Qo as ae,ZR as af,gfe as ag,dn as b,Na as c,ox as d,SI as e,vs as f,nfe as g,jo as h,ai as i,oc as j,wp as k,Ks as l,ix as m,l7 as n,di as o,vo as p,Co as q,gt as r,Fre as s,Pf as t,ST as u,XH as v,Ua as w,qt as x,zs as y,Ja as z};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.