@shmulikdav/solix 1.3.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/web/assets/{GalaxyPanel-B1Y8EmJ-.js → GalaxyPanel-D3Z8JKOp.js} +1 -1
- package/dist/web/assets/Scene-DGvQzQki.js +292 -0
- package/dist/web/assets/{TimelineDrawer-D164Rv-U.js → TimelineDrawer-CcNI10xd.js} +1 -1
- package/dist/web/assets/{index-BB6Hys2b.js → index-CMDHR3gR.js} +2 -2
- package/dist/web/index.html +1 -1
- package/dist/web/sw.js +1 -1
- package/package.json +1 -1
- package/dist/web/assets/Scene-BRE59mDX.js +0 -292
|
@@ -1,292 +0,0 @@
|
|
|
1
|
-
import{r as P,g as ef,j as I,R as tf,O as Un,P as Bn,S as Cl,a as hl,V as nf,b as rf,B as sf,N as lu,A as ou,W as lf,C as of,c as Le,d as Me,e as af,L as ml,f as uf,U as Sn,T as cf,h as ff,D as Dn,M as rr,i as ir,k as Il,Q as zl,l as df,m as pf,n as Yi,o as kn,p as Fl,q as dt,s as hf,t as Yt,u as tt,v as mf,w as vf,x as gf,F as au,y as Bt,z as Xi,E as yf,G as Ki,H as pr,I as bl,J as uu,K as cu,X as Sf,Y as cr,Z as xf,_ as jn,$ as Se,a0 as fu,a1 as Ef,a2 as du,a3 as Al,a4 as Na,a5 as Dl,a6 as wf,a7 as Zi,a8 as xe,a9 as Nl,aa as pu,ab as Ln,ac as Mf,ad as Tf,ae as _f,af as Pf,ag as Rf,ah as Cf,ai as If,aj as zf,ak as hu,al as mu,am as Af,an as Df}from"./index-BB6Hys2b.js";var vu={exports:{}},Fn={};/**
|
|
2
|
-
* @license React
|
|
3
|
-
* react-reconciler-constants.production.min.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/Fn.ConcurrentRoot=1;Fn.ContinuousEventPriority=4;Fn.DefaultEventPriority=16;Fn.DiscreteEventPriority=1;Fn.IdleEventPriority=536870912;Fn.LegacyRoot=0;vu.exports=Fn;var fr=vu.exports;function Nf(n){let i;const a=new Set,l=(y,p)=>{const h=typeof y=="function"?y(i):y;if(h!==i){const w=i;i=p?h:Object.assign({},i,h),a.forEach(x=>x(i,w))}},c=()=>i,f=(y,p=c,h=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let w=p(i);function x(){const _=p(i);if(!h(w,_)){const U=w;y(w=_,U)}}return a.add(x),()=>a.delete(x)},m={setState:l,getState:c,subscribe:(y,p,h)=>p||h?f(y,p,h):(a.add(y),()=>a.delete(y)),destroy:()=>a.clear()};return i=n(l,c,m),m}const Of=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),Oa=Of?P.useEffect:P.useLayoutEffect;function Uf(n){const i=typeof n=="function"?Nf(n):n,a=(l=i.getState,c=Object.is)=>{const[,f]=P.useReducer(O=>O+1,0),d=i.getState(),g=P.useRef(d),m=P.useRef(l),y=P.useRef(c),p=P.useRef(!1),h=P.useRef();h.current===void 0&&(h.current=l(d));let w,x=!1;(g.current!==d||m.current!==l||y.current!==c||p.current)&&(w=l(d),x=!c(h.current,w)),Oa(()=>{x&&(h.current=w),g.current=d,m.current=l,y.current=c,p.current=!1});const _=P.useRef(d);Oa(()=>{const O=()=>{try{const R=i.getState(),z=m.current(R);y.current(h.current,z)||(g.current=R,h.current=z,f())}catch{p.current=!0,f()}},T=i.subscribe(O);return i.getState()!==_.current&&O(),T},[]);const U=x?w:h.current;return P.useDebugValue(U),U};return Object.assign(a,i),a[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");const l=[a,i];return{next(){const c=l.length<=0;return{value:l.shift(),done:c}}}},a}const Bf=n=>typeof n=="object"&&typeof n.then=="function",Nn=[];function gu(n,i,a=(l,c)=>l===c){if(n===i)return!0;if(!n||!i)return!1;const l=n.length;if(i.length!==l)return!1;for(let c=0;c<l;c++)if(!a(n[c],i[c]))return!1;return!0}function yu(n,i=null,a=!1,l={}){i===null&&(i=[n]);for(const f of Nn)if(gu(i,f.keys,f.equal)){if(a)return;if(Object.prototype.hasOwnProperty.call(f,"error"))throw f.error;if(Object.prototype.hasOwnProperty.call(f,"response"))return l.lifespan&&l.lifespan>0&&(f.timeout&&clearTimeout(f.timeout),f.timeout=setTimeout(f.remove,l.lifespan)),f.response;if(!a)throw f.promise}const c={keys:i,equal:l.equal,remove:()=>{const f=Nn.indexOf(c);f!==-1&&Nn.splice(f,1)},promise:(Bf(n)?n:n(...i)).then(f=>{c.response=f,l.lifespan&&l.lifespan>0&&(c.timeout=setTimeout(c.remove,l.lifespan))}).catch(f=>c.error=f)};if(Nn.push(c),!a)throw c.promise}const kf=(n,i,a)=>yu(n,i,!1,a),Lf=(n,i,a)=>void yu(n,i,!0,a),jf=n=>{if(n===void 0||n.length===0)Nn.splice(0,Nn.length);else{const i=Nn.find(a=>gu(n,a.keys,a.equal));i&&i.remove()}};var Su={exports:{}},xu={exports:{}},Eu={};/**
|
|
10
|
-
* @license React
|
|
11
|
-
* scheduler.production.min.js
|
|
12
|
-
*
|
|
13
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the MIT license found in the
|
|
16
|
-
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/(function(n){function i(B,K){var G=B.length;B.push(K);e:for(;0<G;){var q=G-1>>>1,ae=B[q];if(0<c(ae,K))B[q]=K,B[G]=ae,G=q;else break e}}function a(B){return B.length===0?null:B[0]}function l(B){if(B.length===0)return null;var K=B[0],G=B.pop();if(G!==K){B[0]=G;e:for(var q=0,ae=B.length,ie=ae>>>1;q<ie;){var ze=2*(q+1)-1,we=B[ze],Ne=ze+1,Xe=B[Ne];if(0>c(we,G))Ne<ae&&0>c(Xe,we)?(B[q]=Xe,B[Ne]=G,q=Ne):(B[q]=we,B[ze]=G,q=ze);else if(Ne<ae&&0>c(Xe,G))B[q]=Xe,B[Ne]=G,q=Ne;else break e}}return K}function c(B,K){var G=B.sortIndex-K.sortIndex;return G!==0?G:B.id-K.id}if(typeof performance=="object"&&typeof performance.now=="function"){var f=performance;n.unstable_now=function(){return f.now()}}else{var d=Date,g=d.now();n.unstable_now=function(){return d.now()-g}}var m=[],y=[],p=1,h=null,w=3,x=!1,_=!1,U=!1,O=typeof setTimeout=="function"?setTimeout:null,T=typeof clearTimeout=="function"?clearTimeout:null,R=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function z(B){for(var K=a(y);K!==null;){if(K.callback===null)l(y);else if(K.startTime<=B)l(y),K.sortIndex=K.expirationTime,i(m,K);else break;K=a(y)}}function H(B){if(U=!1,z(B),!_)if(a(m)!==null)_=!0,_e(j);else{var K=a(y);K!==null&&Ee(H,K.startTime-B)}}function j(B,K){_=!1,U&&(U=!1,T(X),X=-1),x=!0;var G=w;try{for(z(K),h=a(m);h!==null&&(!(h.expirationTime>K)||B&&!N());){var q=h.callback;if(typeof q=="function"){h.callback=null,w=h.priorityLevel;var ae=q(h.expirationTime<=K);K=n.unstable_now(),typeof ae=="function"?h.callback=ae:h===a(m)&&l(m),z(K)}else l(m);h=a(m)}if(h!==null)var ie=!0;else{var ze=a(y);ze!==null&&Ee(H,ze.startTime-K),ie=!1}return ie}finally{h=null,w=G,x=!1}}var k=!1,re=null,X=-1,V=5,F=-1;function N(){return!(n.unstable_now()-F<V)}function $(){if(re!==null){var B=n.unstable_now();F=B;var K=!0;try{K=re(!0,B)}finally{K?se():(k=!1,re=null)}}else k=!1}var se;if(typeof R=="function")se=function(){R($)};else if(typeof MessageChannel<"u"){var De=new MessageChannel,pe=De.port2;De.port1.onmessage=$,se=function(){pe.postMessage(null)}}else se=function(){O($,0)};function _e(B){re=B,k||(k=!0,se())}function Ee(B,K){X=O(function(){B(n.unstable_now())},K)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(B){B.callback=null},n.unstable_continueExecution=function(){_||x||(_=!0,_e(j))},n.unstable_forceFrameRate=function(B){0>B||125<B?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):V=0<B?Math.floor(1e3/B):5},n.unstable_getCurrentPriorityLevel=function(){return w},n.unstable_getFirstCallbackNode=function(){return a(m)},n.unstable_next=function(B){switch(w){case 1:case 2:case 3:var K=3;break;default:K=w}var G=w;w=K;try{return B()}finally{w=G}},n.unstable_pauseExecution=function(){},n.unstable_requestPaint=function(){},n.unstable_runWithPriority=function(B,K){switch(B){case 1:case 2:case 3:case 4:case 5:break;default:B=3}var G=w;w=B;try{return K()}finally{w=G}},n.unstable_scheduleCallback=function(B,K,G){var q=n.unstable_now();switch(typeof G=="object"&&G!==null?(G=G.delay,G=typeof G=="number"&&0<G?q+G:q):G=q,B){case 1:var ae=-1;break;case 2:ae=250;break;case 5:ae=1073741823;break;case 4:ae=1e4;break;default:ae=5e3}return ae=G+ae,B={id:p++,callback:K,priorityLevel:B,startTime:G,expirationTime:ae,sortIndex:-1},G>q?(B.sortIndex=G,i(y,B),a(m)===null&&B===a(y)&&(U?(T(X),X=-1):U=!0,Ee(H,G-q))):(B.sortIndex=ae,i(m,B),_||x||(_=!0,_e(j))),B},n.unstable_shouldYield=N,n.unstable_wrapCallback=function(B){var K=w;return function(){var G=w;w=K;try{return B.apply(this,arguments)}finally{w=G}}}})(Eu);xu.exports=Eu;var Ol=xu.exports;/**
|
|
18
|
-
* @license React
|
|
19
|
-
* react-reconciler.production.min.js
|
|
20
|
-
*
|
|
21
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
22
|
-
*
|
|
23
|
-
* This source code is licensed under the MIT license found in the
|
|
24
|
-
* LICENSE file in the root directory of this source tree.
|
|
25
|
-
*/var Ff=function(i){var a={},l=P,c=Ol,f=Object.assign;function d(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var g=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,m=Symbol.for("react.element"),y=Symbol.for("react.portal"),p=Symbol.for("react.fragment"),h=Symbol.for("react.strict_mode"),w=Symbol.for("react.profiler"),x=Symbol.for("react.provider"),_=Symbol.for("react.context"),U=Symbol.for("react.forward_ref"),O=Symbol.for("react.suspense"),T=Symbol.for("react.suspense_list"),R=Symbol.for("react.memo"),z=Symbol.for("react.lazy"),H=Symbol.for("react.offscreen"),j=Symbol.iterator;function k(e){return e===null||typeof e!="object"?null:(e=j&&e[j]||e["@@iterator"],typeof e=="function"?e:null)}function re(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case p:return"Fragment";case y:return"Portal";case w:return"Profiler";case h:return"StrictMode";case O:return"Suspense";case T:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case _:return(e.displayName||"Context")+".Consumer";case x:return(e._context.displayName||"Context")+".Provider";case U:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case R:return t=e.displayName||null,t!==null?t:re(e.type)||"Memo";case z:t=e._payload,e=e._init;try{return re(e(t))}catch{}}return null}function X(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return re(t);case 8:return t===h?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function V(e){var t=e,r=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(r=t.return),e=t.return;while(e)}return t.tag===3?r:null}function F(e){if(V(e)!==e)throw Error(d(188))}function N(e){var t=e.alternate;if(!t){if(t=V(e),t===null)throw Error(d(188));return t!==e?null:e}for(var r=e,s=t;;){var o=r.return;if(o===null)break;var u=o.alternate;if(u===null){if(s=o.return,s!==null){r=s;continue}break}if(o.child===u.child){for(u=o.child;u;){if(u===r)return F(o),e;if(u===s)return F(o),t;u=u.sibling}throw Error(d(188))}if(r.return!==s.return)r=o,s=u;else{for(var v=!1,S=o.child;S;){if(S===r){v=!0,r=o,s=u;break}if(S===s){v=!0,s=o,r=u;break}S=S.sibling}if(!v){for(S=u.child;S;){if(S===r){v=!0,r=u,s=o;break}if(S===s){v=!0,s=u,r=o;break}S=S.sibling}if(!v)throw Error(d(189))}}if(r.alternate!==s)throw Error(d(190))}if(r.tag!==3)throw Error(d(188));return r.stateNode.current===r?e:t}function $(e){return e=N(e),e!==null?se(e):null}function se(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=se(e);if(t!==null)return t;e=e.sibling}return null}function De(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){if(e.tag!==4){var t=De(e);if(t!==null)return t}e=e.sibling}return null}var pe=Array.isArray,_e=i.getPublicInstance,Ee=i.getRootHostContext,B=i.getChildHostContext,K=i.prepareForCommit,G=i.resetAfterCommit,q=i.createInstance,ae=i.appendInitialChild,ie=i.finalizeInitialChildren,ze=i.prepareUpdate,we=i.shouldSetTextContent,Ne=i.createTextInstance,Xe=i.scheduleTimeout,Ke=i.cancelTimeout,lt=i.noTimeout,Oe=i.isPrimaryRenderer,ue=i.supportsMutation,He=i.supportsPersistence,Pe=i.supportsHydration,kt=i.getInstanceFromNode,nn=i.preparePortalMount,hr=i.getCurrentEventPriority,xt=i.detachDeletedInstance,xn=i.supportsMicrotasks,rn=i.scheduleMicrotask,Lt=i.supportsTestSelectors,mr=i.findFiberRoot,bn=i.getBoundingRect,En=i.getTextContent,ht=i.isHiddenSubtree,vr=i.matchAccessibilityRole,gr=i.setFocusIfFocusable,Et=i.setupIntersectionObserver,yr=i.appendChild,ts=i.appendChildToContainer,ns=i.commitTextUpdate,Yr=i.commitMount,rs=i.commitUpdate,is=i.insertBefore,Xr=i.insertInContainerBefore,Sr=i.removeChild,M=i.removeChildFromContainer,b=i.resetTextContent,ne=i.hideInstance,he=i.hideTextInstance,je=i.unhideInstance,At=i.unhideTextInstance,jt=i.clearContainer,Kl=i.cloneInstance,xr=i.createContainerChildSet,wt=i.appendChildToContainerChildSet,Dt=i.finalizeContainerChildren,sn=i.replaceContainerChildren,ln=i.cloneHiddenInstance,on=i.cloneHiddenTextInstance,Hn=i.canHydrateInstance,Qu=i.canHydrateTextInstance,Yu=i.canHydrateSuspenseInstance,Zl=i.isSuspenseInstancePending,ss=i.isSuspenseInstanceFallback,Xu=i.registerSuspenseInstanceRetry,Er=i.getNextHydratableSibling,Ku=i.getFirstHydratableChild,Zu=i.getFirstHydratableChildWithinContainer,Ju=i.getFirstHydratableChildWithinSuspenseInstance,qu=i.hydrateInstance,$u=i.hydrateTextInstance,ec=i.hydrateSuspenseInstance,tc=i.getNextHydratableInstanceAfterSuspenseInstance,Jl=i.commitHydratedContainer,nc=i.commitHydratedSuspenseInstance,rc=i.clearSuspenseBoundary,ic=i.clearSuspenseBoundaryFromContainer,sc=i.shouldDeleteUnhydratedTailInstances,lc=i.didNotMatchHydratedContainerTextInstance,oc=i.didNotMatchHydratedTextInstance,ls;function wr(e){if(ls===void 0)try{throw Error()}catch(r){var t=r.stack.trim().match(/\n( *(at )?)/);ls=t&&t[1]||""}return`
|
|
26
|
-
`+ls+e}var os=!1;function as(e,t){if(!e||os)return"";os=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(L){var s=L}Reflect.construct(e,[],t)}else{try{t.call()}catch(L){s=L}e.call(t.prototype)}else{try{throw Error()}catch(L){s=L}e()}}catch(L){if(L&&s&&typeof L.stack=="string"){for(var o=L.stack.split(`
|
|
27
|
-
`),u=s.stack.split(`
|
|
28
|
-
`),v=o.length-1,S=u.length-1;1<=v&&0<=S&&o[v]!==u[S];)S--;for(;1<=v&&0<=S;v--,S--)if(o[v]!==u[S]){if(v!==1||S!==1)do if(v--,S--,0>S||o[v]!==u[S]){var D=`
|
|
29
|
-
`+o[v].replace(" at new "," at ");return e.displayName&&D.includes("<anonymous>")&&(D=D.replace("<anonymous>",e.displayName)),D}while(1<=v&&0<=S);break}}}finally{os=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?wr(e):""}var ac=Object.prototype.hasOwnProperty,us=[],Gn=-1;function an(e){return{current:e}}function Ie(e){0>Gn||(e.current=us[Gn],us[Gn]=null,Gn--)}function Re(e,t){Gn++,us[Gn]=e.current,e.current=t}var un={},Ze=an(un),ot=an(!1),wn=un;function Wn(e,t){var r=e.type.contextTypes;if(!r)return un;var s=e.stateNode;if(s&&s.__reactInternalMemoizedUnmaskedChildContext===t)return s.__reactInternalMemoizedMaskedChildContext;var o={},u;for(u in r)o[u]=t[u];return s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function at(e){return e=e.childContextTypes,e!=null}function Kr(){Ie(ot),Ie(Ze)}function ql(e,t,r){if(Ze.current!==un)throw Error(d(168));Re(Ze,t),Re(ot,r)}function $l(e,t,r){var s=e.stateNode;if(t=t.childContextTypes,typeof s.getChildContext!="function")return r;s=s.getChildContext();for(var o in s)if(!(o in t))throw Error(d(108,X(e)||"Unknown",o));return f({},r,s)}function Zr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||un,wn=Ze.current,Re(Ze,e),Re(ot,ot.current),!0}function eo(e,t,r){var s=e.stateNode;if(!s)throw Error(d(169));r?(e=$l(e,t,wn),s.__reactInternalMemoizedMergedChildContext=e,Ie(ot),Ie(Ze),Re(Ze,e)):Ie(ot),Re(ot,r)}var Nt=Math.clz32?Math.clz32:fc,uc=Math.log,cc=Math.LN2;function fc(e){return e>>>=0,e===0?32:31-(uc(e)/cc|0)|0}var Jr=64,qr=4194304;function Mr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function $r(e,t){var r=e.pendingLanes;if(r===0)return 0;var s=0,o=e.suspendedLanes,u=e.pingedLanes,v=r&268435455;if(v!==0){var S=v&~o;S!==0?s=Mr(S):(u&=v,u!==0&&(s=Mr(u)))}else v=r&~o,v!==0?s=Mr(v):u!==0&&(s=Mr(u));if(s===0)return 0;if(t!==0&&t!==s&&!(t&o)&&(o=s&-s,u=t&-t,o>=u||o===16&&(u&4194240)!==0))return t;if(s&4&&(s|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=s;0<t;)r=31-Nt(t),o=1<<r,s|=e[r],t&=~o;return s}function dc(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function pc(e,t){for(var r=e.suspendedLanes,s=e.pingedLanes,o=e.expirationTimes,u=e.pendingLanes;0<u;){var v=31-Nt(u),S=1<<v,D=o[v];D===-1?(!(S&r)||S&s)&&(o[v]=dc(S,t)):D<=t&&(e.expiredLanes|=S),u&=~S}}function cs(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function fs(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function Tr(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Nt(t),e[t]=r}function hc(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var s=e.eventTimes;for(e=e.expirationTimes;0<r;){var o=31-Nt(r),u=1<<o;t[o]=0,s[o]=-1,e[o]=-1,r&=~u}}function ds(e,t){var r=e.entangledLanes|=t;for(e=e.entanglements;r;){var s=31-Nt(r),o=1<<s;o&t|e[s]&t&&(e[s]|=t),r&=~o}}var me=0;function to(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var ps=c.unstable_scheduleCallback,no=c.unstable_cancelCallback,mc=c.unstable_shouldYield,vc=c.unstable_requestPaint,We=c.unstable_now,hs=c.unstable_ImmediatePriority,gc=c.unstable_UserBlockingPriority,ms=c.unstable_NormalPriority,yc=c.unstable_IdlePriority,ei=null,Ft=null;function Sc(e){if(Ft&&typeof Ft.onCommitFiberRoot=="function")try{Ft.onCommitFiberRoot(ei,e,void 0,(e.current.flags&128)===128)}catch{}}function xc(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var bt=typeof Object.is=="function"?Object.is:xc,Xt=null,ti=!1,vs=!1;function ro(e){Xt===null?Xt=[e]:Xt.push(e)}function Ec(e){ti=!0,ro(e)}function Ht(){if(!vs&&Xt!==null){vs=!0;var e=0,t=me;try{var r=Xt;for(me=1;e<r.length;e++){var s=r[e];do s=s(!0);while(s!==null)}Xt=null,ti=!1}catch(o){throw Xt!==null&&(Xt=Xt.slice(e+1)),ps(hs,Ht),o}finally{me=t,vs=!1}}return null}var wc=g.ReactCurrentBatchConfig;function ni(e,t){if(bt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var r=Object.keys(e),s=Object.keys(t);if(r.length!==s.length)return!1;for(s=0;s<r.length;s++){var o=r[s];if(!ac.call(t,o)||!bt(e[o],t[o]))return!1}return!0}function Mc(e){switch(e.tag){case 5:return wr(e.type);case 16:return wr("Lazy");case 13:return wr("Suspense");case 19:return wr("SuspenseList");case 0:case 2:case 15:return e=as(e.type,!1),e;case 11:return e=as(e.type.render,!1),e;case 1:return e=as(e.type,!0),e;default:return""}}function Ot(e,t){if(e&&e.defaultProps){t=f({},t),e=e.defaultProps;for(var r in e)t[r]===void 0&&(t[r]=e[r]);return t}return t}var ri=an(null),ii=null,Vn=null,gs=null;function ys(){gs=Vn=ii=null}function io(e,t,r){Oe?(Re(ri,t._currentValue),t._currentValue=r):(Re(ri,t._currentValue2),t._currentValue2=r)}function Ss(e){var t=ri.current;Ie(ri),Oe?e._currentValue=t:e._currentValue2=t}function xs(e,t,r){for(;e!==null;){var s=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,s!==null&&(s.childLanes|=t)):s!==null&&(s.childLanes&t)!==t&&(s.childLanes|=t),e===r)break;e=e.return}}function Qn(e,t){ii=e,gs=Vn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(gt=!0),e.firstContext=null)}function Mt(e){var t=Oe?e._currentValue:e._currentValue2;if(gs!==e)if(e={context:e,memoizedValue:t,next:null},Vn===null){if(ii===null)throw Error(d(308));Vn=e,ii.dependencies={lanes:0,firstContext:e}}else Vn=Vn.next=e;return t}var Gt=null,cn=!1;function Es(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function so(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Kt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function fn(e,t){var r=e.updateQueue;r!==null&&(r=r.shared,Fe!==null&&e.mode&1&&!(fe&2)?(e=r.interleaved,e===null?(t.next=t,Gt===null?Gt=[r]:Gt.push(r)):(t.next=e.next,e.next=t),r.interleaved=t):(e=r.pending,e===null?t.next=t:(t.next=e.next,e.next=t),r.pending=t))}function si(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var s=t.lanes;s&=e.pendingLanes,r|=s,t.lanes=r,ds(e,r)}}function lo(e,t){var r=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,r===s)){var o=null,u=null;if(r=r.firstBaseUpdate,r!==null){do{var v={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};u===null?o=u=v:u=u.next=v,r=r.next}while(r!==null);u===null?o=u=t:u=u.next=t}else o=u=t;r={baseState:s.baseState,firstBaseUpdate:o,lastBaseUpdate:u,shared:s.shared,effects:s.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function li(e,t,r,s){var o=e.updateQueue;cn=!1;var u=o.firstBaseUpdate,v=o.lastBaseUpdate,S=o.shared.pending;if(S!==null){o.shared.pending=null;var D=S,L=D.next;D.next=null,v===null?u=L:v.next=L,v=D;var Y=e.alternate;Y!==null&&(Y=Y.updateQueue,S=Y.lastBaseUpdate,S!==v&&(S===null?Y.firstBaseUpdate=L:S.next=L,Y.lastBaseUpdate=D))}if(u!==null){var le=o.baseState;v=0,Y=L=D=null,S=u;do{var ee=S.lane,Te=S.eventTime;if((s&ee)===ee){Y!==null&&(Y=Y.next={eventTime:Te,lane:0,tag:S.tag,payload:S.payload,callback:S.callback,next:null});e:{var J=e,et=S;switch(ee=t,Te=r,et.tag){case 1:if(J=et.payload,typeof J=="function"){le=J.call(Te,le,ee);break e}le=J;break e;case 3:J.flags=J.flags&-65537|128;case 0:if(J=et.payload,ee=typeof J=="function"?J.call(Te,le,ee):J,ee==null)break e;le=f({},le,ee);break e;case 2:cn=!0}}S.callback!==null&&S.lane!==0&&(e.flags|=64,ee=o.effects,ee===null?o.effects=[S]:ee.push(S))}else Te={eventTime:Te,lane:ee,tag:S.tag,payload:S.payload,callback:S.callback,next:null},Y===null?(L=Y=Te,D=le):Y=Y.next=Te,v|=ee;if(S=S.next,S===null){if(S=o.shared.pending,S===null)break;ee=S,S=ee.next,ee.next=null,o.lastBaseUpdate=ee,o.shared.pending=null}}while(!0);if(Y===null&&(D=le),o.baseState=D,o.firstBaseUpdate=L,o.lastBaseUpdate=Y,t=o.shared.interleaved,t!==null){o=t;do v|=o.lane,o=o.next;while(o!==t)}else u===null&&(o.shared.lanes=0);tr|=v,e.lanes=v,e.memoizedState=le}}function oo(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var s=e[t],o=s.callback;if(o!==null){if(s.callback=null,s=r,typeof o!="function")throw Error(d(191,o));o.call(s)}}}var ao=new l.Component().refs;function ws(e,t,r,s){t=e.memoizedState,r=r(s,t),r=r==null?t:f({},t,r),e.memoizedState=r,e.lanes===0&&(e.updateQueue.baseState=r)}var oi={isMounted:function(e){return(e=e._reactInternals)?V(e)===e:!1},enqueueSetState:function(e,t,r){e=e._reactInternals;var s=it(),o=hn(e),u=Kt(s,o);u.payload=t,r!=null&&(u.callback=r),fn(e,u),t=Ct(e,o,s),t!==null&&si(t,e,o)},enqueueReplaceState:function(e,t,r){e=e._reactInternals;var s=it(),o=hn(e),u=Kt(s,o);u.tag=1,u.payload=t,r!=null&&(u.callback=r),fn(e,u),t=Ct(e,o,s),t!==null&&si(t,e,o)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var r=it(),s=hn(e),o=Kt(r,s);o.tag=2,t!=null&&(o.callback=t),fn(e,o),t=Ct(e,s,r),t!==null&&si(t,e,s)}};function uo(e,t,r,s,o,u,v){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(s,u,v):t.prototype&&t.prototype.isPureReactComponent?!ni(r,s)||!ni(o,u):!0}function co(e,t,r){var s=!1,o=un,u=t.contextType;return typeof u=="object"&&u!==null?u=Mt(u):(o=at(t)?wn:Ze.current,s=t.contextTypes,u=(s=s!=null)?Wn(e,o):un),t=new t(r,u),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=oi,e.stateNode=t,t._reactInternals=e,s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=u),t}function fo(e,t,r,s){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(r,s),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(r,s),t.state!==e&&oi.enqueueReplaceState(t,t.state,null)}function Ms(e,t,r,s){var o=e.stateNode;o.props=r,o.state=e.memoizedState,o.refs=ao,Es(e);var u=t.contextType;typeof u=="object"&&u!==null?o.context=Mt(u):(u=at(t)?wn:Ze.current,o.context=Wn(e,u)),o.state=e.memoizedState,u=t.getDerivedStateFromProps,typeof u=="function"&&(ws(e,t,u,r),o.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof o.getSnapshotBeforeUpdate=="function"||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(t=o.state,typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount(),t!==o.state&&oi.enqueueReplaceState(o,o.state,null),li(e,r,o,s),o.state=e.memoizedState),typeof o.componentDidMount=="function"&&(e.flags|=4194308)}var Yn=[],Xn=0,ai=null,ui=0,Tt=[],_t=0,Mn=null,Zt=1,Jt="";function Tn(e,t){Yn[Xn++]=ui,Yn[Xn++]=ai,ai=e,ui=t}function po(e,t,r){Tt[_t++]=Zt,Tt[_t++]=Jt,Tt[_t++]=Mn,Mn=e;var s=Zt;e=Jt;var o=32-Nt(s)-1;s&=~(1<<o),r+=1;var u=32-Nt(t)+o;if(30<u){var v=o-o%5;u=(s&(1<<v)-1).toString(32),s>>=v,o-=v,Zt=1<<32-Nt(t)+o|r<<o|s,Jt=u+e}else Zt=1<<u|r<<o|s,Jt=e}function Ts(e){e.return!==null&&(Tn(e,1),po(e,1,0))}function _s(e){for(;e===ai;)ai=Yn[--Xn],Yn[Xn]=null,ui=Yn[--Xn],Yn[Xn]=null;for(;e===Mn;)Mn=Tt[--_t],Tt[_t]=null,Jt=Tt[--_t],Tt[_t]=null,Zt=Tt[--_t],Tt[_t]=null}var mt=null,vt=null,Ae=!1,_r=!1,Ut=null;function ho(e,t){var r=It(5,null,null,0);r.elementType="DELETED",r.stateNode=t,r.return=e,t=e.deletions,t===null?(e.deletions=[r],e.flags|=16):t.push(r)}function mo(e,t){switch(e.tag){case 5:return t=Hn(t,e.type,e.pendingProps),t!==null?(e.stateNode=t,mt=e,vt=Ku(t),!0):!1;case 6:return t=Qu(t,e.pendingProps),t!==null?(e.stateNode=t,mt=e,vt=null,!0):!1;case 13:if(t=Yu(t),t!==null){var r=Mn!==null?{id:Zt,overflow:Jt}:null;return e.memoizedState={dehydrated:t,treeContext:r,retryLane:1073741824},r=It(18,null,null,0),r.stateNode=t,r.return=e,e.child=r,mt=e,vt=null,!0}return!1;default:return!1}}function Ps(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Rs(e){if(Ae){var t=vt;if(t){var r=t;if(!mo(e,t)){if(Ps(e))throw Error(d(418));t=Er(r);var s=mt;t&&mo(e,t)?ho(s,r):(e.flags=e.flags&-4097|2,Ae=!1,mt=e)}}else{if(Ps(e))throw Error(d(418));e.flags=e.flags&-4097|2,Ae=!1,mt=e}}}function vo(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;mt=e}function Pr(e){if(!Pe||e!==mt)return!1;if(!Ae)return vo(e),Ae=!0,!1;if(e.tag!==3&&(e.tag!==5||sc(e.type)&&!we(e.type,e.memoizedProps))){var t=vt;if(t){if(Ps(e)){for(e=vt;e;)e=Er(e);throw Error(d(418))}for(;t;)ho(e,t),t=Er(t)}}if(vo(e),e.tag===13){if(!Pe)throw Error(d(316));if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(d(317));vt=tc(e)}else vt=mt?Er(e.stateNode):null;return!0}function Kn(){Pe&&(vt=mt=null,_r=Ae=!1)}function Cs(e){Ut===null?Ut=[e]:Ut.push(e)}function Rr(e,t,r){if(e=r.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(r._owner){if(r=r._owner,r){if(r.tag!==1)throw Error(d(309));var s=r.stateNode}if(!s)throw Error(d(147,e));var o=s,u=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===u?t.ref:(t=function(v){var S=o.refs;S===ao&&(S=o.refs={}),v===null?delete S[u]:S[u]=v},t._stringRef=u,t)}if(typeof e!="string")throw Error(d(284));if(!r._owner)throw Error(d(290,e))}return e}function ci(e,t){throw e=Object.prototype.toString.call(t),Error(d(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function go(e){var t=e._init;return t(e._payload)}function yo(e){function t(C,E){if(e){var A=C.deletions;A===null?(C.deletions=[E],C.flags|=16):A.push(E)}}function r(C,E){if(!e)return null;for(;E!==null;)t(C,E),E=E.sibling;return null}function s(C,E){for(C=new Map;E!==null;)E.key!==null?C.set(E.key,E):C.set(E.index,E),E=E.sibling;return C}function o(C,E){return C=vn(C,E),C.index=0,C.sibling=null,C}function u(C,E,A){return C.index=A,e?(A=C.alternate,A!==null?(A=A.index,A<E?(C.flags|=2,E):A):(C.flags|=2,E)):(C.flags|=1048576,E)}function v(C){return e&&C.alternate===null&&(C.flags|=2),C}function S(C,E,A,Q){return E===null||E.tag!==6?(E=fl(A,C.mode,Q),E.return=C,E):(E=o(E,A),E.return=C,E)}function D(C,E,A,Q){var Z=A.type;return Z===p?Y(C,E,A.props.children,Q,A.key):E!==null&&(E.elementType===Z||typeof Z=="object"&&Z!==null&&Z.$$typeof===z&&go(Z)===E.type)?(Q=o(E,A.props),Q.ref=Rr(C,E,A),Q.return=C,Q):(Q=bi(A.type,A.key,A.props,null,C.mode,Q),Q.ref=Rr(C,E,A),Q.return=C,Q)}function L(C,E,A,Q){return E===null||E.tag!==4||E.stateNode.containerInfo!==A.containerInfo||E.stateNode.implementation!==A.implementation?(E=dl(A,C.mode,Q),E.return=C,E):(E=o(E,A.children||[]),E.return=C,E)}function Y(C,E,A,Q,Z){return E===null||E.tag!==7?(E=An(A,C.mode,Q,Z),E.return=C,E):(E=o(E,A),E.return=C,E)}function le(C,E,A){if(typeof E=="string"&&E!==""||typeof E=="number")return E=fl(""+E,C.mode,A),E.return=C,E;if(typeof E=="object"&&E!==null){switch(E.$$typeof){case m:return A=bi(E.type,E.key,E.props,null,C.mode,A),A.ref=Rr(C,null,E),A.return=C,A;case y:return E=dl(E,C.mode,A),E.return=C,E;case z:var Q=E._init;return le(C,Q(E._payload),A)}if(pe(E)||k(E))return E=An(E,C.mode,A,null),E.return=C,E;ci(C,E)}return null}function ee(C,E,A,Q){var Z=E!==null?E.key:null;if(typeof A=="string"&&A!==""||typeof A=="number")return Z!==null?null:S(C,E,""+A,Q);if(typeof A=="object"&&A!==null){switch(A.$$typeof){case m:return A.key===Z?D(C,E,A,Q):null;case y:return A.key===Z?L(C,E,A,Q):null;case z:return Z=A._init,ee(C,E,Z(A._payload),Q)}if(pe(A)||k(A))return Z!==null?null:Y(C,E,A,Q,null);ci(C,A)}return null}function Te(C,E,A,Q,Z){if(typeof Q=="string"&&Q!==""||typeof Q=="number")return C=C.get(A)||null,S(E,C,""+Q,Z);if(typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case m:return C=C.get(Q.key===null?A:Q.key)||null,D(E,C,Q,Z);case y:return C=C.get(Q.key===null?A:Q.key)||null,L(E,C,Q,Z);case z:var ce=Q._init;return Te(C,E,A,ce(Q._payload),Z)}if(pe(Q)||k(Q))return C=C.get(A)||null,Y(E,C,Q,Z,null);ci(E,Q)}return null}function J(C,E,A,Q){for(var Z=null,ce=null,oe=E,ve=E=0,Qe=null;oe!==null&&ve<A.length;ve++){oe.index>ve?(Qe=oe,oe=null):Qe=oe.sibling;var ge=ee(C,oe,A[ve],Q);if(ge===null){oe===null&&(oe=Qe);break}e&&oe&&ge.alternate===null&&t(C,oe),E=u(ge,E,ve),ce===null?Z=ge:ce.sibling=ge,ce=ge,oe=Qe}if(ve===A.length)return r(C,oe),Ae&&Tn(C,ve),Z;if(oe===null){for(;ve<A.length;ve++)oe=le(C,A[ve],Q),oe!==null&&(E=u(oe,E,ve),ce===null?Z=oe:ce.sibling=oe,ce=oe);return Ae&&Tn(C,ve),Z}for(oe=s(C,oe);ve<A.length;ve++)Qe=Te(oe,C,ve,A[ve],Q),Qe!==null&&(e&&Qe.alternate!==null&&oe.delete(Qe.key===null?ve:Qe.key),E=u(Qe,E,ve),ce===null?Z=Qe:ce.sibling=Qe,ce=Qe);return e&&oe.forEach(function(gn){return t(C,gn)}),Ae&&Tn(C,ve),Z}function et(C,E,A,Q){var Z=k(A);if(typeof Z!="function")throw Error(d(150));if(A=Z.call(A),A==null)throw Error(d(151));for(var ce=Z=null,oe=E,ve=E=0,Qe=null,ge=A.next();oe!==null&&!ge.done;ve++,ge=A.next()){oe.index>ve?(Qe=oe,oe=null):Qe=oe.sibling;var gn=ee(C,oe,ge.value,Q);if(gn===null){oe===null&&(oe=Qe);break}e&&oe&&gn.alternate===null&&t(C,oe),E=u(gn,E,ve),ce===null?Z=gn:ce.sibling=gn,ce=gn,oe=Qe}if(ge.done)return r(C,oe),Ae&&Tn(C,ve),Z;if(oe===null){for(;!ge.done;ve++,ge=A.next())ge=le(C,ge.value,Q),ge!==null&&(E=u(ge,E,ve),ce===null?Z=ge:ce.sibling=ge,ce=ge);return Ae&&Tn(C,ve),Z}for(oe=s(C,oe);!ge.done;ve++,ge=A.next())ge=Te(oe,C,ve,ge.value,Q),ge!==null&&(e&&ge.alternate!==null&&oe.delete(ge.key===null?ve:ge.key),E=u(ge,E,ve),ce===null?Z=ge:ce.sibling=ge,ce=ge);return e&&oe.forEach(function($c){return t(C,$c)}),Ae&&Tn(C,ve),Z}function zt(C,E,A,Q){if(typeof A=="object"&&A!==null&&A.type===p&&A.key===null&&(A=A.props.children),typeof A=="object"&&A!==null){switch(A.$$typeof){case m:e:{for(var Z=A.key,ce=E;ce!==null;){if(ce.key===Z){if(Z=A.type,Z===p){if(ce.tag===7){r(C,ce.sibling),E=o(ce,A.props.children),E.return=C,C=E;break e}}else if(ce.elementType===Z||typeof Z=="object"&&Z!==null&&Z.$$typeof===z&&go(Z)===ce.type){r(C,ce.sibling),E=o(ce,A.props),E.ref=Rr(C,ce,A),E.return=C,C=E;break e}r(C,ce);break}else t(C,ce);ce=ce.sibling}A.type===p?(E=An(A.props.children,C.mode,Q,A.key),E.return=C,C=E):(Q=bi(A.type,A.key,A.props,null,C.mode,Q),Q.ref=Rr(C,E,A),Q.return=C,C=Q)}return v(C);case y:e:{for(ce=A.key;E!==null;){if(E.key===ce)if(E.tag===4&&E.stateNode.containerInfo===A.containerInfo&&E.stateNode.implementation===A.implementation){r(C,E.sibling),E=o(E,A.children||[]),E.return=C,C=E;break e}else{r(C,E);break}else t(C,E);E=E.sibling}E=dl(A,C.mode,Q),E.return=C,C=E}return v(C);case z:return ce=A._init,zt(C,E,ce(A._payload),Q)}if(pe(A))return J(C,E,A,Q);if(k(A))return et(C,E,A,Q);ci(C,A)}return typeof A=="string"&&A!==""||typeof A=="number"?(A=""+A,E!==null&&E.tag===6?(r(C,E.sibling),E=o(E,A),E.return=C,C=E):(r(C,E),E=fl(A,C.mode,Q),E.return=C,C=E),v(C)):r(C,E)}return zt}var Zn=yo(!0),So=yo(!1),Cr={},Pt=an(Cr),Ir=an(Cr),Jn=an(Cr);function Wt(e){if(e===Cr)throw Error(d(174));return e}function Is(e,t){Re(Jn,t),Re(Ir,e),Re(Pt,Cr),e=Ee(t),Ie(Pt),Re(Pt,e)}function qn(){Ie(Pt),Ie(Ir),Ie(Jn)}function xo(e){var t=Wt(Jn.current),r=Wt(Pt.current);t=B(r,e.type,t),r!==t&&(Re(Ir,e),Re(Pt,t))}function zs(e){Ir.current===e&&(Ie(Pt),Ie(Ir))}var Ue=an(0);function fi(e){for(var t=e;t!==null;){if(t.tag===13){var r=t.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||Zl(r)||ss(r)))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var As=[];function Ds(){for(var e=0;e<As.length;e++){var t=As[e];Oe?t._workInProgressVersionPrimary=null:t._workInProgressVersionSecondary=null}As.length=0}var di=g.ReactCurrentDispatcher,Rt=g.ReactCurrentBatchConfig,$n=0,Be=null,Je=null,Ve=null,pi=!1,zr=!1,Ar=0,Tc=0;function qe(){throw Error(d(321))}function Ns(e,t){if(t===null)return!1;for(var r=0;r<t.length&&r<e.length;r++)if(!bt(e[r],t[r]))return!1;return!0}function Os(e,t,r,s,o,u){if($n=u,Be=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,di.current=e===null||e.memoizedState===null?Cc:Ic,e=r(s,o),zr){u=0;do{if(zr=!1,Ar=0,25<=u)throw Error(d(301));u+=1,Ve=Je=null,t.updateQueue=null,di.current=zc,e=r(s,o)}while(zr)}if(di.current=yi,t=Je!==null&&Je.next!==null,$n=0,Ve=Je=Be=null,pi=!1,t)throw Error(d(300));return e}function Us(){var e=Ar!==0;return Ar=0,e}function qt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ve===null?Be.memoizedState=Ve=e:Ve=Ve.next=e,Ve}function Vt(){if(Je===null){var e=Be.alternate;e=e!==null?e.memoizedState:null}else e=Je.next;var t=Ve===null?Be.memoizedState:Ve.next;if(t!==null)Ve=t,Je=e;else{if(e===null)throw Error(d(310));Je=e,e={memoizedState:Je.memoizedState,baseState:Je.baseState,baseQueue:Je.baseQueue,queue:Je.queue,next:null},Ve===null?Be.memoizedState=Ve=e:Ve=Ve.next=e}return Ve}function _n(e,t){return typeof t=="function"?t(e):t}function hi(e){var t=Vt(),r=t.queue;if(r===null)throw Error(d(311));r.lastRenderedReducer=e;var s=Je,o=s.baseQueue,u=r.pending;if(u!==null){if(o!==null){var v=o.next;o.next=u.next,u.next=v}s.baseQueue=o=u,r.pending=null}if(o!==null){u=o.next,s=s.baseState;var S=v=null,D=null,L=u;do{var Y=L.lane;if(($n&Y)===Y)D!==null&&(D=D.next={lane:0,action:L.action,hasEagerState:L.hasEagerState,eagerState:L.eagerState,next:null}),s=L.hasEagerState?L.eagerState:e(s,L.action);else{var le={lane:Y,action:L.action,hasEagerState:L.hasEagerState,eagerState:L.eagerState,next:null};D===null?(S=D=le,v=s):D=D.next=le,Be.lanes|=Y,tr|=Y}L=L.next}while(L!==null&&L!==u);D===null?v=s:D.next=S,bt(s,t.memoizedState)||(gt=!0),t.memoizedState=s,t.baseState=v,t.baseQueue=D,r.lastRenderedState=s}if(e=r.interleaved,e!==null){o=e;do u=o.lane,Be.lanes|=u,tr|=u,o=o.next;while(o!==e)}else o===null&&(r.lanes=0);return[t.memoizedState,r.dispatch]}function mi(e){var t=Vt(),r=t.queue;if(r===null)throw Error(d(311));r.lastRenderedReducer=e;var s=r.dispatch,o=r.pending,u=t.memoizedState;if(o!==null){r.pending=null;var v=o=o.next;do u=e(u,v.action),v=v.next;while(v!==o);bt(u,t.memoizedState)||(gt=!0),t.memoizedState=u,t.baseQueue===null&&(t.baseState=u),r.lastRenderedState=u}return[u,s]}function Eo(){}function wo(e,t){var r=Be,s=Vt(),o=t(),u=!bt(s.memoizedState,o);if(u&&(s.memoizedState=o,gt=!0),s=s.queue,Nr(_o.bind(null,r,s,e),[e]),s.getSnapshot!==t||u||Ve!==null&&Ve.memoizedState.tag&1){if(r.flags|=2048,Dr(9,To.bind(null,r,s,o,t),void 0,null),Fe===null)throw Error(d(349));$n&30||Mo(r,t,o)}return o}function Mo(e,t,r){e.flags|=16384,e={getSnapshot:t,value:r},t=Be.updateQueue,t===null?(t={lastEffect:null,stores:null},Be.updateQueue=t,t.stores=[e]):(r=t.stores,r===null?t.stores=[e]:r.push(e))}function To(e,t,r,s){t.value=r,t.getSnapshot=s,Po(t)&&Ct(e,1,-1)}function _o(e,t,r){return r(function(){Po(t)&&Ct(e,1,-1)})}function Po(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!bt(e,r)}catch{return!0}}function Bs(e){var t=qt();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:_n,lastRenderedState:e},t.queue=e,e=e.dispatch=Rc.bind(null,Be,e),[t.memoizedState,e]}function Dr(e,t,r,s){return e={tag:e,create:t,destroy:r,deps:s,next:null},t=Be.updateQueue,t===null?(t={lastEffect:null,stores:null},Be.updateQueue=t,t.lastEffect=e.next=e):(r=t.lastEffect,r===null?t.lastEffect=e.next=e:(s=r.next,r.next=e,e.next=s,t.lastEffect=e)),e}function Ro(){return Vt().memoizedState}function vi(e,t,r,s){var o=qt();Be.flags|=e,o.memoizedState=Dr(1|t,r,void 0,s===void 0?null:s)}function gi(e,t,r,s){var o=Vt();s=s===void 0?null:s;var u=void 0;if(Je!==null){var v=Je.memoizedState;if(u=v.destroy,s!==null&&Ns(s,v.deps)){o.memoizedState=Dr(t,r,u,s);return}}Be.flags|=e,o.memoizedState=Dr(1|t,r,u,s)}function ks(e,t){return vi(8390656,8,e,t)}function Nr(e,t){return gi(2048,8,e,t)}function Co(e,t){return gi(4,2,e,t)}function Io(e,t){return gi(4,4,e,t)}function zo(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Ao(e,t,r){return r=r!=null?r.concat([e]):null,gi(4,4,zo.bind(null,t,e),r)}function Ls(){}function Do(e,t){var r=Vt();t=t===void 0?null:t;var s=r.memoizedState;return s!==null&&t!==null&&Ns(t,s[1])?s[0]:(r.memoizedState=[e,t],e)}function No(e,t){var r=Vt();t=t===void 0?null:t;var s=r.memoizedState;return s!==null&&t!==null&&Ns(t,s[1])?s[0]:(e=e(),r.memoizedState=[e,t],e)}function _c(e,t){var r=me;me=r!==0&&4>r?r:4,e(!0);var s=Rt.transition;Rt.transition={};try{e(!1),t()}finally{me=r,Rt.transition=s}}function Oo(){return Vt().memoizedState}function Pc(e,t,r){var s=hn(e);r={lane:s,action:r,hasEagerState:!1,eagerState:null,next:null},Uo(e)?Bo(t,r):(ko(e,t,r),r=it(),e=Ct(e,s,r),e!==null&&Lo(e,t,s))}function Rc(e,t,r){var s=hn(e),o={lane:s,action:r,hasEagerState:!1,eagerState:null,next:null};if(Uo(e))Bo(t,o);else{ko(e,t,o);var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var v=t.lastRenderedState,S=u(v,r);if(o.hasEagerState=!0,o.eagerState=S,bt(S,v))return}catch{}finally{}r=it(),e=Ct(e,s,r),e!==null&&Lo(e,t,s)}}function Uo(e){var t=e.alternate;return e===Be||t!==null&&t===Be}function Bo(e,t){zr=pi=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function ko(e,t,r){Fe!==null&&e.mode&1&&!(fe&2)?(e=t.interleaved,e===null?(r.next=r,Gt===null?Gt=[t]:Gt.push(t)):(r.next=e.next,e.next=r),t.interleaved=r):(e=t.pending,e===null?r.next=r:(r.next=e.next,e.next=r),t.pending=r)}function Lo(e,t,r){if(r&4194240){var s=t.lanes;s&=e.pendingLanes,r|=s,t.lanes=r,ds(e,r)}}var yi={readContext:Mt,useCallback:qe,useContext:qe,useEffect:qe,useImperativeHandle:qe,useInsertionEffect:qe,useLayoutEffect:qe,useMemo:qe,useReducer:qe,useRef:qe,useState:qe,useDebugValue:qe,useDeferredValue:qe,useTransition:qe,useMutableSource:qe,useSyncExternalStore:qe,useId:qe,unstable_isNewReconciler:!1},Cc={readContext:Mt,useCallback:function(e,t){return qt().memoizedState=[e,t===void 0?null:t],e},useContext:Mt,useEffect:ks,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,vi(4194308,4,zo.bind(null,t,e),r)},useLayoutEffect:function(e,t){return vi(4194308,4,e,t)},useInsertionEffect:function(e,t){return vi(4,2,e,t)},useMemo:function(e,t){var r=qt();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var s=qt();return t=r!==void 0?r(t):t,s.memoizedState=s.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},s.queue=e,e=e.dispatch=Pc.bind(null,Be,e),[s.memoizedState,e]},useRef:function(e){var t=qt();return e={current:e},t.memoizedState=e},useState:Bs,useDebugValue:Ls,useDeferredValue:function(e){var t=Bs(e),r=t[0],s=t[1];return ks(function(){var o=Rt.transition;Rt.transition={};try{s(e)}finally{Rt.transition=o}},[e]),r},useTransition:function(){var e=Bs(!1),t=e[0];return e=_c.bind(null,e[1]),qt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var s=Be,o=qt();if(Ae){if(r===void 0)throw Error(d(407));r=r()}else{if(r=t(),Fe===null)throw Error(d(349));$n&30||Mo(s,t,r)}o.memoizedState=r;var u={value:r,getSnapshot:t};return o.queue=u,ks(_o.bind(null,s,u,e),[e]),s.flags|=2048,Dr(9,To.bind(null,s,u,r,t),void 0,null),r},useId:function(){var e=qt(),t=Fe.identifierPrefix;if(Ae){var r=Jt,s=Zt;r=(s&~(1<<32-Nt(s)-1)).toString(32)+r,t=":"+t+"R"+r,r=Ar++,0<r&&(t+="H"+r.toString(32)),t+=":"}else r=Tc++,t=":"+t+"r"+r.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},Ic={readContext:Mt,useCallback:Do,useContext:Mt,useEffect:Nr,useImperativeHandle:Ao,useInsertionEffect:Co,useLayoutEffect:Io,useMemo:No,useReducer:hi,useRef:Ro,useState:function(){return hi(_n)},useDebugValue:Ls,useDeferredValue:function(e){var t=hi(_n),r=t[0],s=t[1];return Nr(function(){var o=Rt.transition;Rt.transition={};try{s(e)}finally{Rt.transition=o}},[e]),r},useTransition:function(){var e=hi(_n)[0],t=Vt().memoizedState;return[e,t]},useMutableSource:Eo,useSyncExternalStore:wo,useId:Oo,unstable_isNewReconciler:!1},zc={readContext:Mt,useCallback:Do,useContext:Mt,useEffect:Nr,useImperativeHandle:Ao,useInsertionEffect:Co,useLayoutEffect:Io,useMemo:No,useReducer:mi,useRef:Ro,useState:function(){return mi(_n)},useDebugValue:Ls,useDeferredValue:function(e){var t=mi(_n),r=t[0],s=t[1];return Nr(function(){var o=Rt.transition;Rt.transition={};try{s(e)}finally{Rt.transition=o}},[e]),r},useTransition:function(){var e=mi(_n)[0],t=Vt().memoizedState;return[e,t]},useMutableSource:Eo,useSyncExternalStore:wo,useId:Oo,unstable_isNewReconciler:!1};function js(e,t){try{var r="",s=t;do r+=Mc(s),s=s.return;while(s);var o=r}catch(u){o=`
|
|
30
|
-
Error generating stack: `+u.message+`
|
|
31
|
-
`+u.stack}return{value:e,source:t,stack:o}}function Fs(e,t){try{console.error(t.value)}catch(r){setTimeout(function(){throw r})}}var Ac=typeof WeakMap=="function"?WeakMap:Map;function jo(e,t,r){r=Kt(-1,r),r.tag=3,r.payload={element:null};var s=t.value;return r.callback=function(){Oi||(Oi=!0,il=s),Fs(e,t)},r}function Fo(e,t,r){r=Kt(-1,r),r.tag=3;var s=e.type.getDerivedStateFromError;if(typeof s=="function"){var o=t.value;r.payload=function(){return s(o)},r.callback=function(){Fs(e,t)}}var u=e.stateNode;return u!==null&&typeof u.componentDidCatch=="function"&&(r.callback=function(){Fs(e,t),typeof s!="function"&&(dn===null?dn=new Set([this]):dn.add(this));var v=t.stack;this.componentDidCatch(t.value,{componentStack:v!==null?v:""})}),r}function bo(e,t,r){var s=e.pingCache;if(s===null){s=e.pingCache=new Ac;var o=new Set;s.set(t,o)}else o=s.get(t),o===void 0&&(o=new Set,s.set(t,o));o.has(r)||(o.add(r),e=Vc.bind(null,e,t,r),t.then(e,e))}function Ho(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Go(e,t,r,s,o){return e.mode&1?(e.flags|=65536,e.lanes=o,e):(e===t?e.flags|=65536:(e.flags|=128,r.flags|=131072,r.flags&=-52805,r.tag===1&&(r.alternate===null?r.tag=17:(t=Kt(-1,1),t.tag=2,fn(r,t))),r.lanes|=1),e)}function Qt(e){e.flags|=4}function Wo(e,t){if(e!==null&&e.child===t.child)return!0;if(t.flags&16)return!1;for(e=t.child;e!==null;){if(e.flags&12854||e.subtreeFlags&12854)return!1;e=e.sibling}return!0}var Or,Ur,Si,xi;if(ue)Or=function(e,t){for(var r=t.child;r!==null;){if(r.tag===5||r.tag===6)ae(e,r.stateNode);else if(r.tag!==4&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break;for(;r.sibling===null;){if(r.return===null||r.return===t)return;r=r.return}r.sibling.return=r.return,r=r.sibling}},Ur=function(){},Si=function(e,t,r,s,o){if(e=e.memoizedProps,e!==s){var u=t.stateNode,v=Wt(Pt.current);r=ze(u,r,e,s,o,v),(t.updateQueue=r)&&Qt(t)}},xi=function(e,t,r,s){r!==s&&Qt(t)};else if(He){Or=function(e,t,r,s){for(var o=t.child;o!==null;){if(o.tag===5){var u=o.stateNode;r&&s&&(u=ln(u,o.type,o.memoizedProps,o)),ae(e,u)}else if(o.tag===6)u=o.stateNode,r&&s&&(u=on(u,o.memoizedProps,o)),ae(e,u);else if(o.tag!==4){if(o.tag===22&&o.memoizedState!==null)u=o.child,u!==null&&(u.return=o),Or(e,o,!0,!0);else if(o.child!==null){o.child.return=o,o=o.child;continue}}if(o===t)break;for(;o.sibling===null;){if(o.return===null||o.return===t)return;o=o.return}o.sibling.return=o.return,o=o.sibling}};var Vo=function(e,t,r,s){for(var o=t.child;o!==null;){if(o.tag===5){var u=o.stateNode;r&&s&&(u=ln(u,o.type,o.memoizedProps,o)),wt(e,u)}else if(o.tag===6)u=o.stateNode,r&&s&&(u=on(u,o.memoizedProps,o)),wt(e,u);else if(o.tag!==4){if(o.tag===22&&o.memoizedState!==null)u=o.child,u!==null&&(u.return=o),Vo(e,o,!0,!0);else if(o.child!==null){o.child.return=o,o=o.child;continue}}if(o===t)break;for(;o.sibling===null;){if(o.return===null||o.return===t)return;o=o.return}o.sibling.return=o.return,o=o.sibling}};Ur=function(e,t){var r=t.stateNode;if(!Wo(e,t)){e=r.containerInfo;var s=xr(e);Vo(s,t,!1,!1),r.pendingChildren=s,Qt(t),Dt(e,s)}},Si=function(e,t,r,s,o){var u=e.stateNode,v=e.memoizedProps;if((e=Wo(e,t))&&v===s)t.stateNode=u;else{var S=t.stateNode,D=Wt(Pt.current),L=null;v!==s&&(L=ze(S,r,v,s,o,D)),e&&L===null?t.stateNode=u:(u=Kl(u,L,r,v,s,t,e,S),ie(u,r,s,o,D)&&Qt(t),t.stateNode=u,e?Qt(t):Or(u,t,!1,!1))}},xi=function(e,t,r,s){r!==s?(e=Wt(Jn.current),r=Wt(Pt.current),t.stateNode=Ne(s,e,r,t),Qt(t)):t.stateNode=e.stateNode}}else Ur=function(){},Si=function(){},xi=function(){};function Br(e,t){if(!Ae)switch(e.tailMode){case"hidden":t=e.tail;for(var r=null;t!==null;)t.alternate!==null&&(r=t),t=t.sibling;r===null?e.tail=null:r.sibling=null;break;case"collapsed":r=e.tail;for(var s=null;r!==null;)r.alternate!==null&&(s=r),r=r.sibling;s===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:s.sibling=null}}function $e(e){var t=e.alternate!==null&&e.alternate.child===e.child,r=0,s=0;if(t)for(var o=e.child;o!==null;)r|=o.lanes|o.childLanes,s|=o.subtreeFlags&14680064,s|=o.flags&14680064,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)r|=o.lanes|o.childLanes,s|=o.subtreeFlags,s|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=s,e.childLanes=r,t}function Dc(e,t,r){var s=t.pendingProps;switch(_s(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return $e(t),null;case 1:return at(t.type)&&Kr(),$e(t),null;case 3:return s=t.stateNode,qn(),Ie(ot),Ie(Ze),Ds(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(e===null||e.child===null)&&(Pr(t)?Qt(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Ut!==null&&(ol(Ut),Ut=null))),Ur(e,t),$e(t),null;case 5:zs(t),r=Wt(Jn.current);var o=t.type;if(e!==null&&t.stateNode!=null)Si(e,t,o,s,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!s){if(t.stateNode===null)throw Error(d(166));return $e(t),null}if(e=Wt(Pt.current),Pr(t)){if(!Pe)throw Error(d(175));e=qu(t.stateNode,t.type,t.memoizedProps,r,e,t,!_r),t.updateQueue=e,e!==null&&Qt(t)}else{var u=q(o,s,r,e,t);Or(u,t,!1,!1),t.stateNode=u,ie(u,o,s,r,e)&&Qt(t)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return $e(t),null;case 6:if(e&&t.stateNode!=null)xi(e,t,e.memoizedProps,s);else{if(typeof s!="string"&&t.stateNode===null)throw Error(d(166));if(e=Wt(Jn.current),r=Wt(Pt.current),Pr(t)){if(!Pe)throw Error(d(176));if(e=t.stateNode,s=t.memoizedProps,(r=$u(e,s,t,!_r))&&(o=mt,o!==null))switch(u=(o.mode&1)!==0,o.tag){case 3:lc(o.stateNode.containerInfo,e,s,u);break;case 5:oc(o.type,o.memoizedProps,o.stateNode,e,s,u)}r&&Qt(t)}else t.stateNode=Ne(s,e,r,t)}return $e(t),null;case 13:if(Ie(Ue),s=t.memoizedState,Ae&&vt!==null&&t.mode&1&&!(t.flags&128)){for(e=vt;e;)e=Er(e);return Kn(),t.flags|=98560,t}if(s!==null&&s.dehydrated!==null){if(s=Pr(t),e===null){if(!s)throw Error(d(318));if(!Pe)throw Error(d(344));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(d(317));ec(e,t)}else Kn(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;return $e(t),null}return Ut!==null&&(ol(Ut),Ut=null),t.flags&128?(t.lanes=r,t):(s=s!==null,r=!1,e===null?Pr(t):r=e.memoizedState!==null,s&&!r&&(t.child.flags|=8192,t.mode&1&&(e===null||Ue.current&1?Ge===0&&(Ge=3):ul())),t.updateQueue!==null&&(t.flags|=4),$e(t),null);case 4:return qn(),Ur(e,t),e===null&&nn(t.stateNode.containerInfo),$e(t),null;case 10:return Ss(t.type._context),$e(t),null;case 17:return at(t.type)&&Kr(),$e(t),null;case 19:if(Ie(Ue),o=t.memoizedState,o===null)return $e(t),null;if(s=(t.flags&128)!==0,u=o.rendering,u===null)if(s)Br(o,!1);else{if(Ge!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(u=fi(e),u!==null){for(t.flags|=128,Br(o,!1),e=u.updateQueue,e!==null&&(t.updateQueue=e,t.flags|=4),t.subtreeFlags=0,e=r,s=t.child;s!==null;)r=s,o=e,r.flags&=14680066,u=r.alternate,u===null?(r.childLanes=0,r.lanes=o,r.child=null,r.subtreeFlags=0,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null,r.stateNode=null):(r.childLanes=u.childLanes,r.lanes=u.lanes,r.child=u.child,r.subtreeFlags=0,r.deletions=null,r.memoizedProps=u.memoizedProps,r.memoizedState=u.memoizedState,r.updateQueue=u.updateQueue,r.type=u.type,o=u.dependencies,r.dependencies=o===null?null:{lanes:o.lanes,firstContext:o.firstContext}),s=s.sibling;return Re(Ue,Ue.current&1|2),t.child}e=e.sibling}o.tail!==null&&We()>rl&&(t.flags|=128,s=!0,Br(o,!1),t.lanes=4194304)}else{if(!s)if(e=fi(u),e!==null){if(t.flags|=128,s=!0,e=e.updateQueue,e!==null&&(t.updateQueue=e,t.flags|=4),Br(o,!0),o.tail===null&&o.tailMode==="hidden"&&!u.alternate&&!Ae)return $e(t),null}else 2*We()-o.renderingStartTime>rl&&r!==1073741824&&(t.flags|=128,s=!0,Br(o,!1),t.lanes=4194304);o.isBackwards?(u.sibling=t.child,t.child=u):(e=o.last,e!==null?e.sibling=u:t.child=u,o.last=u)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=We(),t.sibling=null,e=Ue.current,Re(Ue,s?e&1|2:e&1),t):($e(t),null);case 22:case 23:return al(),s=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==s&&(t.flags|=8192),s&&t.mode&1?yt&1073741824&&($e(t),ue&&t.subtreeFlags&6&&(t.flags|=8192)):$e(t),null;case 24:return null;case 25:return null}throw Error(d(156,t.tag))}var Nc=g.ReactCurrentOwner,gt=!1;function rt(e,t,r,s){t.child=e===null?So(t,null,r,s):Zn(t,e.child,r,s)}function Qo(e,t,r,s,o){r=r.render;var u=t.ref;return Qn(t,o),s=Os(e,t,r,s,u,o),r=Us(),e!==null&&!gt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,$t(e,t,o)):(Ae&&r&&Ts(t),t.flags|=1,rt(e,t,s,o),t.child)}function Yo(e,t,r,s,o){if(e===null){var u=r.type;return typeof u=="function"&&!cl(u)&&u.defaultProps===void 0&&r.compare===null&&r.defaultProps===void 0?(t.tag=15,t.type=u,Xo(e,t,u,s,o)):(e=bi(r.type,null,s,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(u=e.child,!(e.lanes&o)){var v=u.memoizedProps;if(r=r.compare,r=r!==null?r:ni,r(v,s)&&e.ref===t.ref)return $t(e,t,o)}return t.flags|=1,e=vn(u,s),e.ref=t.ref,e.return=t,t.child=e}function Xo(e,t,r,s,o){if(e!==null&&ni(e.memoizedProps,s)&&e.ref===t.ref)if(gt=!1,(e.lanes&o)!==0)e.flags&131072&&(gt=!0);else return t.lanes=e.lanes,$t(e,t,o);return bs(e,t,r,s,o)}function Ko(e,t,r){var s=t.pendingProps,o=s.children,u=e!==null?e.memoizedState:null;if(s.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null},Re(er,yt),yt|=r;else if(r&1073741824)t.memoizedState={baseLanes:0,cachePool:null},s=u!==null?u.baseLanes:r,Re(er,yt),yt|=s;else return e=u!==null?u.baseLanes|r:r,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null},t.updateQueue=null,Re(er,yt),yt|=e,null;else u!==null?(s=u.baseLanes|r,t.memoizedState=null):s=r,Re(er,yt),yt|=s;return rt(e,t,o,r),t.child}function Zo(e,t){var r=t.ref;(e===null&&r!==null||e!==null&&e.ref!==r)&&(t.flags|=512,t.flags|=2097152)}function bs(e,t,r,s,o){var u=at(r)?wn:Ze.current;return u=Wn(t,u),Qn(t,o),r=Os(e,t,r,s,u,o),s=Us(),e!==null&&!gt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,$t(e,t,o)):(Ae&&s&&Ts(t),t.flags|=1,rt(e,t,r,o),t.child)}function Jo(e,t,r,s,o){if(at(r)){var u=!0;Zr(t)}else u=!1;if(Qn(t,o),t.stateNode===null)e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2),co(t,r,s),Ms(t,r,s,o),s=!0;else if(e===null){var v=t.stateNode,S=t.memoizedProps;v.props=S;var D=v.context,L=r.contextType;typeof L=="object"&&L!==null?L=Mt(L):(L=at(r)?wn:Ze.current,L=Wn(t,L));var Y=r.getDerivedStateFromProps,le=typeof Y=="function"||typeof v.getSnapshotBeforeUpdate=="function";le||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(S!==s||D!==L)&&fo(t,v,s,L),cn=!1;var ee=t.memoizedState;v.state=ee,li(t,s,v,o),D=t.memoizedState,S!==s||ee!==D||ot.current||cn?(typeof Y=="function"&&(ws(t,r,Y,s),D=t.memoizedState),(S=cn||uo(t,r,S,s,ee,D,L))?(le||typeof v.UNSAFE_componentWillMount!="function"&&typeof v.componentWillMount!="function"||(typeof v.componentWillMount=="function"&&v.componentWillMount(),typeof v.UNSAFE_componentWillMount=="function"&&v.UNSAFE_componentWillMount()),typeof v.componentDidMount=="function"&&(t.flags|=4194308)):(typeof v.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=s,t.memoizedState=D),v.props=s,v.state=D,v.context=L,s=S):(typeof v.componentDidMount=="function"&&(t.flags|=4194308),s=!1)}else{v=t.stateNode,so(e,t),S=t.memoizedProps,L=t.type===t.elementType?S:Ot(t.type,S),v.props=L,le=t.pendingProps,ee=v.context,D=r.contextType,typeof D=="object"&&D!==null?D=Mt(D):(D=at(r)?wn:Ze.current,D=Wn(t,D));var Te=r.getDerivedStateFromProps;(Y=typeof Te=="function"||typeof v.getSnapshotBeforeUpdate=="function")||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(S!==le||ee!==D)&&fo(t,v,s,D),cn=!1,ee=t.memoizedState,v.state=ee,li(t,s,v,o);var J=t.memoizedState;S!==le||ee!==J||ot.current||cn?(typeof Te=="function"&&(ws(t,r,Te,s),J=t.memoizedState),(L=cn||uo(t,r,L,s,ee,J,D)||!1)?(Y||typeof v.UNSAFE_componentWillUpdate!="function"&&typeof v.componentWillUpdate!="function"||(typeof v.componentWillUpdate=="function"&&v.componentWillUpdate(s,J,D),typeof v.UNSAFE_componentWillUpdate=="function"&&v.UNSAFE_componentWillUpdate(s,J,D)),typeof v.componentDidUpdate=="function"&&(t.flags|=4),typeof v.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof v.componentDidUpdate!="function"||S===e.memoizedProps&&ee===e.memoizedState||(t.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||S===e.memoizedProps&&ee===e.memoizedState||(t.flags|=1024),t.memoizedProps=s,t.memoizedState=J),v.props=s,v.state=J,v.context=D,s=L):(typeof v.componentDidUpdate!="function"||S===e.memoizedProps&&ee===e.memoizedState||(t.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||S===e.memoizedProps&&ee===e.memoizedState||(t.flags|=1024),s=!1)}return Hs(e,t,r,s,u,o)}function Hs(e,t,r,s,o,u){Zo(e,t);var v=(t.flags&128)!==0;if(!s&&!v)return o&&eo(t,r,!1),$t(e,t,u);s=t.stateNode,Nc.current=t;var S=v&&typeof r.getDerivedStateFromError!="function"?null:s.render();return t.flags|=1,e!==null&&v?(t.child=Zn(t,e.child,null,u),t.child=Zn(t,null,S,u)):rt(e,t,S,u),t.memoizedState=s.state,o&&eo(t,r,!0),t.child}function qo(e){var t=e.stateNode;t.pendingContext?ql(e,t.pendingContext,t.pendingContext!==t.context):t.context&&ql(e,t.context,!1),Is(e,t.containerInfo)}function $o(e,t,r,s,o){return Kn(),Cs(o),t.flags|=256,rt(e,t,r,s),t.child}var Ei={dehydrated:null,treeContext:null,retryLane:0};function wi(e){return{baseLanes:e,cachePool:null}}function ea(e,t,r){var s=t.pendingProps,o=Ue.current,u=!1,v=(t.flags&128)!==0,S;if((S=v)||(S=e!==null&&e.memoizedState===null?!1:(o&2)!==0),S?(u=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(o|=1),Re(Ue,o&1),e===null)return Rs(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?ss(e)?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=s.children,e=s.fallback,u?(s=t.mode,u=t.child,o={mode:"hidden",children:o},!(s&1)&&u!==null?(u.childLanes=0,u.pendingProps=o):u=Hi(o,s,0,null),e=An(e,s,r,null),u.return=t,e.return=t,u.sibling=e,t.child=u,t.child.memoizedState=wi(r),t.memoizedState=Ei,e):Gs(t,o));if(o=e.memoizedState,o!==null){if(S=o.dehydrated,S!==null){if(v)return t.flags&256?(t.flags&=-257,Mi(e,t,r,Error(d(422)))):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(u=s.fallback,o=t.mode,s=Hi({mode:"visible",children:s.children},o,0,null),u=An(u,o,r,null),u.flags|=2,s.return=t,u.return=t,s.sibling=u,t.child=s,t.mode&1&&Zn(t,e.child,null,r),t.child.memoizedState=wi(r),t.memoizedState=Ei,u);if(!(t.mode&1))t=Mi(e,t,r,null);else if(ss(S))t=Mi(e,t,r,Error(d(419)));else if(s=(r&e.childLanes)!==0,gt||s){if(s=Fe,s!==null){switch(r&-r){case 4:u=2;break;case 16:u=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:u=32;break;case 536870912:u=268435456;break;default:u=0}s=u&(s.suspendedLanes|r)?0:u,s!==0&&s!==o.retryLane&&(o.retryLane=s,Ct(e,s,-1))}ul(),t=Mi(e,t,r,Error(d(421)))}else Zl(S)?(t.flags|=128,t.child=e.child,t=Qc.bind(null,e),Xu(S,t),t=null):(r=o.treeContext,Pe&&(vt=Ju(S),mt=t,Ae=!0,Ut=null,_r=!1,r!==null&&(Tt[_t++]=Zt,Tt[_t++]=Jt,Tt[_t++]=Mn,Zt=r.id,Jt=r.overflow,Mn=t)),t=Gs(t,t.pendingProps.children),t.flags|=4096);return t}return u?(s=na(e,t,s.children,s.fallback,r),u=t.child,o=e.child.memoizedState,u.memoizedState=o===null?wi(r):{baseLanes:o.baseLanes|r,cachePool:null},u.childLanes=e.childLanes&~r,t.memoizedState=Ei,s):(r=ta(e,t,s.children,r),t.memoizedState=null,r)}return u?(s=na(e,t,s.children,s.fallback,r),u=t.child,o=e.child.memoizedState,u.memoizedState=o===null?wi(r):{baseLanes:o.baseLanes|r,cachePool:null},u.childLanes=e.childLanes&~r,t.memoizedState=Ei,s):(r=ta(e,t,s.children,r),t.memoizedState=null,r)}function Gs(e,t){return t=Hi({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function ta(e,t,r,s){var o=e.child;return e=o.sibling,r=vn(o,{mode:"visible",children:r}),!(t.mode&1)&&(r.lanes=s),r.return=t,r.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=r}function na(e,t,r,s,o){var u=t.mode;e=e.child;var v=e.sibling,S={mode:"hidden",children:r};return!(u&1)&&t.child!==e?(r=t.child,r.childLanes=0,r.pendingProps=S,t.deletions=null):(r=vn(e,S),r.subtreeFlags=e.subtreeFlags&14680064),v!==null?s=vn(v,s):(s=An(s,u,o,null),s.flags|=2),s.return=t,r.return=t,r.sibling=s,t.child=r,s}function Mi(e,t,r,s){return s!==null&&Cs(s),Zn(t,e.child,null,r),e=Gs(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function ra(e,t,r){e.lanes|=t;var s=e.alternate;s!==null&&(s.lanes|=t),xs(e.return,t,r)}function Ws(e,t,r,s,o){var u=e.memoizedState;u===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:s,tail:r,tailMode:o}:(u.isBackwards=t,u.rendering=null,u.renderingStartTime=0,u.last=s,u.tail=r,u.tailMode=o)}function ia(e,t,r){var s=t.pendingProps,o=s.revealOrder,u=s.tail;if(rt(e,t,s.children,r),s=Ue.current,s&2)s=s&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&ra(e,r,t);else if(e.tag===19)ra(e,r,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}s&=1}if(Re(Ue,s),!(t.mode&1))t.memoizedState=null;else switch(o){case"forwards":for(r=t.child,o=null;r!==null;)e=r.alternate,e!==null&&fi(e)===null&&(o=r),r=r.sibling;r=o,r===null?(o=t.child,t.child=null):(o=r.sibling,r.sibling=null),Ws(t,!1,o,r,u);break;case"backwards":for(r=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&fi(e)===null){t.child=o;break}e=o.sibling,o.sibling=r,r=o,o=e}Ws(t,!0,r,null,u);break;case"together":Ws(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function $t(e,t,r){if(e!==null&&(t.dependencies=e.dependencies),tr|=t.lanes,!(r&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(d(153));if(t.child!==null){for(e=t.child,r=vn(e,e.pendingProps),t.child=r,r.return=t;e.sibling!==null;)e=e.sibling,r=r.sibling=vn(e,e.pendingProps),r.return=t;r.sibling=null}return t.child}function Oc(e,t,r){switch(t.tag){case 3:qo(t),Kn();break;case 5:xo(t);break;case 1:at(t.type)&&Zr(t);break;case 4:Is(t,t.stateNode.containerInfo);break;case 10:io(t,t.type._context,t.memoizedProps.value);break;case 13:var s=t.memoizedState;if(s!==null)return s.dehydrated!==null?(Re(Ue,Ue.current&1),t.flags|=128,null):r&t.child.childLanes?ea(e,t,r):(Re(Ue,Ue.current&1),e=$t(e,t,r),e!==null?e.sibling:null);Re(Ue,Ue.current&1);break;case 19:if(s=(r&t.childLanes)!==0,e.flags&128){if(s)return ia(e,t,r);t.flags|=128}var o=t.memoizedState;if(o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),Re(Ue,Ue.current),s)break;return null;case 22:case 23:return t.lanes=0,Ko(e,t,r)}return $t(e,t,r)}function Uc(e,t){switch(_s(t),t.tag){case 1:return at(t.type)&&Kr(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return qn(),Ie(ot),Ie(Ze),Ds(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return zs(t),null;case 13:if(Ie(Ue),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(d(340));Kn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ie(Ue),null;case 4:return qn(),null;case 10:return Ss(t.type._context),null;case 22:case 23:return al(),null;case 24:return null;default:return null}}var Ti=!1,Pn=!1,Bc=typeof WeakSet=="function"?WeakSet:Set,W=null;function _i(e,t){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(s){ft(e,t,s)}else r.current=null}function Vs(e,t,r){try{r()}catch(s){ft(e,t,s)}}var sa=!1;function kc(e,t){for(K(e.containerInfo),W=t;W!==null;)if(e=W,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,W=t;else for(;W!==null;){e=W;try{var r=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(r!==null){var s=r.memoizedProps,o=r.memoizedState,u=e.stateNode,v=u.getSnapshotBeforeUpdate(e.elementType===e.type?s:Ot(e.type,s),o);u.__reactInternalSnapshotBeforeUpdate=v}break;case 3:ue&&jt(e.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(d(163))}}catch(S){ft(e,e.return,S)}if(t=e.sibling,t!==null){t.return=e.return,W=t;break}W=e.return}return r=sa,sa=!1,r}function Rn(e,t,r){var s=t.updateQueue;if(s=s!==null?s.lastEffect:null,s!==null){var o=s=s.next;do{if((o.tag&e)===e){var u=o.destroy;o.destroy=void 0,u!==void 0&&Vs(t,r,u)}o=o.next}while(o!==s)}}function kr(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var s=r.create;r.destroy=s()}r=r.next}while(r!==t)}}function Qs(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=_e(r);break;default:e=r}typeof t=="function"?t(e):t.current=e}}function la(e,t,r){if(Ft&&typeof Ft.onCommitFiberUnmount=="function")try{Ft.onCommitFiberUnmount(ei,t)}catch{}switch(t.tag){case 0:case 11:case 14:case 15:if(e=t.updateQueue,e!==null&&(e=e.lastEffect,e!==null)){var s=e=e.next;do{var o=s,u=o.destroy;o=o.tag,u!==void 0&&(o&2||o&4)&&Vs(t,r,u),s=s.next}while(s!==e)}break;case 1:if(_i(t,r),e=t.stateNode,typeof e.componentWillUnmount=="function")try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(v){ft(t,r,v)}break;case 5:_i(t,r);break;case 4:ue?da(e,t,r):He&&He&&(t=t.stateNode.containerInfo,r=xr(t),sn(t,r))}}function oa(e,t,r){for(var s=t;;)if(la(e,s,r),s.child===null||ue&&s.tag===4){if(s===t)break;for(;s.sibling===null;){if(s.return===null||s.return===t)return;s=s.return}s.sibling.return=s.return,s=s.sibling}else s.child.return=s,s=s.child}function aa(e){var t=e.alternate;t!==null&&(e.alternate=null,aa(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&xt(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ua(e){return e.tag===5||e.tag===3||e.tag===4}function ca(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ua(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function fa(e){if(ue){e:{for(var t=e.return;t!==null;){if(ua(t))break e;t=t.return}throw Error(d(160))}var r=t;switch(r.tag){case 5:t=r.stateNode,r.flags&32&&(b(t),r.flags&=-33),r=ca(e),Xs(e,r,t);break;case 3:case 4:t=r.stateNode.containerInfo,r=ca(e),Ys(e,r,t);break;default:throw Error(d(161))}}}function Ys(e,t,r){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?Xr(r,e,t):ts(r,e);else if(s!==4&&(e=e.child,e!==null))for(Ys(e,t,r),e=e.sibling;e!==null;)Ys(e,t,r),e=e.sibling}function Xs(e,t,r){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?is(r,e,t):yr(r,e);else if(s!==4&&(e=e.child,e!==null))for(Xs(e,t,r),e=e.sibling;e!==null;)Xs(e,t,r),e=e.sibling}function da(e,t,r){for(var s=t,o=!1,u,v;;){if(!o){o=s.return;e:for(;;){if(o===null)throw Error(d(160));switch(u=o.stateNode,o.tag){case 5:v=!1;break e;case 3:u=u.containerInfo,v=!0;break e;case 4:u=u.containerInfo,v=!0;break e}o=o.return}o=!0}if(s.tag===5||s.tag===6)oa(e,s,r),v?M(u,s.stateNode):Sr(u,s.stateNode);else if(s.tag===18)v?ic(u,s.stateNode):rc(u,s.stateNode);else if(s.tag===4){if(s.child!==null){u=s.stateNode.containerInfo,v=!0,s.child.return=s,s=s.child;continue}}else if(la(e,s,r),s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break;for(;s.sibling===null;){if(s.return===null||s.return===t)return;s=s.return,s.tag===4&&(o=!1)}s.sibling.return=s.return,s=s.sibling}}function Ks(e,t){if(ue){switch(t.tag){case 0:case 11:case 14:case 15:Rn(3,t,t.return),kr(3,t),Rn(5,t,t.return);return;case 1:return;case 5:var r=t.stateNode;if(r!=null){var s=t.memoizedProps;e=e!==null?e.memoizedProps:s;var o=t.type,u=t.updateQueue;t.updateQueue=null,u!==null&&rs(r,u,o,e,s,t)}return;case 6:if(t.stateNode===null)throw Error(d(162));r=t.memoizedProps,ns(t.stateNode,e!==null?e.memoizedProps:r,r);return;case 3:Pe&&e!==null&&e.memoizedState.isDehydrated&&Jl(t.stateNode.containerInfo);return;case 12:return;case 13:Pi(t);return;case 19:Pi(t);return;case 17:return}throw Error(d(163))}switch(t.tag){case 0:case 11:case 14:case 15:Rn(3,t,t.return),kr(3,t),Rn(5,t,t.return);return;case 12:return;case 13:Pi(t);return;case 19:Pi(t);return;case 3:Pe&&e!==null&&e.memoizedState.isDehydrated&&Jl(t.stateNode.containerInfo);break;case 22:case 23:return}e:if(He){switch(t.tag){case 1:case 5:case 6:break e;case 3:case 4:t=t.stateNode,sn(t.containerInfo,t.pendingChildren);break e}throw Error(d(163))}}function Pi(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new Bc),t.forEach(function(s){var o=Yc.bind(null,e,s);r.has(s)||(r.add(s),s.then(o,o))})}}function Lc(e,t){for(W=t;W!==null;){t=W;var r=t.deletions;if(r!==null)for(var s=0;s<r.length;s++){var o=r[s];try{var u=e;ue?da(u,o,t):oa(u,o,t);var v=o.alternate;v!==null&&(v.return=null),o.return=null}catch(Z){ft(o,t,Z)}}if(r=t.child,t.subtreeFlags&12854&&r!==null)r.return=t,W=r;else for(;W!==null;){t=W;try{var S=t.flags;if(S&32&&ue&&b(t.stateNode),S&512){var D=t.alternate;if(D!==null){var L=D.ref;L!==null&&(typeof L=="function"?L(null):L.current=null)}}if(S&8192)switch(t.tag){case 13:if(t.memoizedState!==null){var Y=t.alternate;(Y===null||Y.memoizedState===null)&&(nl=We())}break;case 22:var le=t.memoizedState!==null,ee=t.alternate,Te=ee!==null&&ee.memoizedState!==null;if(r=t,ue){e:if(s=r,o=le,u=null,ue)for(var J=s;;){if(J.tag===5){if(u===null){u=J;var et=J.stateNode;o?ne(et):je(J.stateNode,J.memoizedProps)}}else if(J.tag===6){if(u===null){var zt=J.stateNode;o?he(zt):At(zt,J.memoizedProps)}}else if((J.tag!==22&&J.tag!==23||J.memoizedState===null||J===s)&&J.child!==null){J.child.return=J,J=J.child;continue}if(J===s)break;for(;J.sibling===null;){if(J.return===null||J.return===s)break e;u===J&&(u=null),J=J.return}u===J&&(u=null),J.sibling.return=J.return,J=J.sibling}}if(le&&!Te&&r.mode&1){W=r;for(var C=r.child;C!==null;){for(r=W=C;W!==null;){s=W;var E=s.child;switch(s.tag){case 0:case 11:case 14:case 15:Rn(4,s,s.return);break;case 1:_i(s,s.return);var A=s.stateNode;if(typeof A.componentWillUnmount=="function"){var Q=s.return;try{A.props=s.memoizedProps,A.state=s.memoizedState,A.componentWillUnmount()}catch(Z){ft(s,Q,Z)}}break;case 5:_i(s,s.return);break;case 22:if(s.memoizedState!==null){ma(r);continue}}E!==null?(E.return=s,W=E):ma(r)}C=C.sibling}}}switch(S&4102){case 2:fa(t),t.flags&=-3;break;case 6:fa(t),t.flags&=-3,Ks(t.alternate,t);break;case 4096:t.flags&=-4097;break;case 4100:t.flags&=-4097,Ks(t.alternate,t);break;case 4:Ks(t.alternate,t)}}catch(Z){ft(t,t.return,Z)}if(r=t.sibling,r!==null){r.return=t.return,W=r;break}W=t.return}}}function jc(e,t,r){W=e,pa(e)}function pa(e,t,r){for(var s=(e.mode&1)!==0;W!==null;){var o=W,u=o.child;if(o.tag===22&&s){var v=o.memoizedState!==null||Ti;if(!v){var S=o.alternate,D=S!==null&&S.memoizedState!==null||Pn;S=Ti;var L=Pn;if(Ti=v,(Pn=D)&&!L)for(W=o;W!==null;)v=W,D=v.child,v.tag===22&&v.memoizedState!==null?va(o):D!==null?(D.return=v,W=D):va(o);for(;u!==null;)W=u,pa(u),u=u.sibling;W=o,Ti=S,Pn=L}ha(e)}else o.subtreeFlags&8772&&u!==null?(u.return=o,W=u):ha(e)}}function ha(e){for(;W!==null;){var t=W;if(t.flags&8772){var r=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:Pn||kr(5,t);break;case 1:var s=t.stateNode;if(t.flags&4&&!Pn)if(r===null)s.componentDidMount();else{var o=t.elementType===t.type?r.memoizedProps:Ot(t.type,r.memoizedProps);s.componentDidUpdate(o,r.memoizedState,s.__reactInternalSnapshotBeforeUpdate)}var u=t.updateQueue;u!==null&&oo(t,u,s);break;case 3:var v=t.updateQueue;if(v!==null){if(r=null,t.child!==null)switch(t.child.tag){case 5:r=_e(t.child.stateNode);break;case 1:r=t.child.stateNode}oo(t,v,r)}break;case 5:var S=t.stateNode;r===null&&t.flags&4&&Yr(S,t.type,t.memoizedProps,t);break;case 6:break;case 4:break;case 12:break;case 13:if(Pe&&t.memoizedState===null){var D=t.alternate;if(D!==null){var L=D.memoizedState;if(L!==null){var Y=L.dehydrated;Y!==null&&nc(Y)}}}break;case 19:case 17:case 21:case 22:case 23:break;default:throw Error(d(163))}Pn||t.flags&512&&Qs(t)}catch(le){ft(t,t.return,le)}}if(t===e){W=null;break}if(r=t.sibling,r!==null){r.return=t.return,W=r;break}W=t.return}}function ma(e){for(;W!==null;){var t=W;if(t===e){W=null;break}var r=t.sibling;if(r!==null){r.return=t.return,W=r;break}W=t.return}}function va(e){for(;W!==null;){var t=W;try{switch(t.tag){case 0:case 11:case 15:var r=t.return;try{kr(4,t)}catch(D){ft(t,r,D)}break;case 1:var s=t.stateNode;if(typeof s.componentDidMount=="function"){var o=t.return;try{s.componentDidMount()}catch(D){ft(t,o,D)}}var u=t.return;try{Qs(t)}catch(D){ft(t,u,D)}break;case 5:var v=t.return;try{Qs(t)}catch(D){ft(t,v,D)}}}catch(D){ft(t,t.return,D)}if(t===e){W=null;break}var S=t.sibling;if(S!==null){S.return=t.return,W=S;break}W=t.return}}var Ri=0,Ci=1,Ii=2,zi=3,Ai=4;if(typeof Symbol=="function"&&Symbol.for){var Lr=Symbol.for;Ri=Lr("selector.component"),Ci=Lr("selector.has_pseudo_class"),Ii=Lr("selector.role"),zi=Lr("selector.test_id"),Ai=Lr("selector.text")}function Zs(e){var t=kt(e);if(t!=null){if(typeof t.memoizedProps["data-testname"]!="string")throw Error(d(364));return t}if(e=mr(e),e===null)throw Error(d(362));return e.stateNode.current}function Js(e,t){switch(t.$$typeof){case Ri:if(e.type===t.value)return!0;break;case Ci:e:{t=t.value,e=[e,0];for(var r=0;r<e.length;){var s=e[r++],o=e[r++],u=t[o];if(s.tag!==5||!ht(s)){for(;u!=null&&Js(s,u);)o++,u=t[o];if(o===t.length){t=!0;break e}else for(s=s.child;s!==null;)e.push(s,o),s=s.sibling}}t=!1}return t;case Ii:if(e.tag===5&&vr(e.stateNode,t.value))return!0;break;case Ai:if((e.tag===5||e.tag===6)&&(e=En(e),e!==null&&0<=e.indexOf(t.value)))return!0;break;case zi:if(e.tag===5&&(e=e.memoizedProps["data-testname"],typeof e=="string"&&e.toLowerCase()===t.value.toLowerCase()))return!0;break;default:throw Error(d(365))}return!1}function qs(e){switch(e.$$typeof){case Ri:return"<"+(re(e.value)||"Unknown")+">";case Ci:return":has("+(qs(e)||"")+")";case Ii:return'[role="'+e.value+'"]';case Ai:return'"'+e.value+'"';case zi:return'[data-testname="'+e.value+'"]';default:throw Error(d(365))}}function ga(e,t){var r=[];e=[e,0];for(var s=0;s<e.length;){var o=e[s++],u=e[s++],v=t[u];if(o.tag!==5||!ht(o)){for(;v!=null&&Js(o,v);)u++,v=t[u];if(u===t.length)r.push(o);else for(o=o.child;o!==null;)e.push(o,u),o=o.sibling}}return r}function $s(e,t){if(!Lt)throw Error(d(363));e=Zs(e),e=ga(e,t),t=[],e=Array.from(e);for(var r=0;r<e.length;){var s=e[r++];if(s.tag===5)ht(s)||t.push(s.stateNode);else for(s=s.child;s!==null;)e.push(s),s=s.sibling}return t}var Fc=Math.ceil,Di=g.ReactCurrentDispatcher,el=g.ReactCurrentOwner,ke=g.ReactCurrentBatchConfig,fe=0,Fe=null,be=null,Ye=0,yt=0,er=an(0),Ge=0,jr=null,tr=0,Ni=0,tl=0,Fr=null,ut=null,nl=0,rl=1/0;function nr(){rl=We()+500}var Oi=!1,il=null,dn=null,Ui=!1,pn=null,Bi=0,br=0,sl=null,ki=-1,Li=0;function it(){return fe&6?We():ki!==-1?ki:ki=We()}function hn(e){return e.mode&1?fe&2&&Ye!==0?Ye&-Ye:wc.transition!==null?(Li===0&&(e=Jr,Jr<<=1,!(Jr&4194240)&&(Jr=64),Li=e),Li):(e=me,e!==0?e:hr()):1}function Ct(e,t,r){if(50<br)throw br=0,sl=null,Error(d(185));var s=ji(e,t);return s===null?null:(Tr(s,t,r),(!(fe&2)||s!==Fe)&&(s===Fe&&(!(fe&2)&&(Ni|=t),Ge===4&&mn(s,Ye)),ct(s,r),t===1&&fe===0&&!(e.mode&1)&&(nr(),ti&&Ht())),s)}function ji(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}function ct(e,t){var r=e.callbackNode;pc(e,t);var s=$r(e,e===Fe?Ye:0);if(s===0)r!==null&&no(r),e.callbackNode=null,e.callbackPriority=0;else if(t=s&-s,e.callbackPriority!==t){if(r!=null&&no(r),t===1)e.tag===0?Ec(Sa.bind(null,e)):ro(Sa.bind(null,e)),xn?rn(function(){fe===0&&Ht()}):ps(hs,Ht),r=null;else{switch(to(s)){case 1:r=hs;break;case 4:r=gc;break;case 16:r=ms;break;case 536870912:r=yc;break;default:r=ms}r=Ca(r,ya.bind(null,e))}e.callbackPriority=t,e.callbackNode=r}}function ya(e,t){if(ki=-1,Li=0,fe&6)throw Error(d(327));var r=e.callbackNode;if(zn()&&e.callbackNode!==r)return null;var s=$r(e,e===Fe?Ye:0);if(s===0)return null;if(s&30||s&e.expiredLanes||t)t=Fi(e,s);else{t=s;var o=fe;fe|=2;var u=wa();(Fe!==e||Ye!==t)&&(nr(),Cn(e,t));do try{Gc();break}catch(S){Ea(e,S)}while(!0);ys(),Di.current=u,fe=o,be!==null?t=0:(Fe=null,Ye=0,t=Ge)}if(t!==0){if(t===2&&(o=cs(e),o!==0&&(s=o,t=ll(e,o))),t===1)throw r=jr,Cn(e,0),mn(e,s),ct(e,We()),r;if(t===6)mn(e,s);else{if(o=e.current.alternate,!(s&30)&&!bc(o)&&(t=Fi(e,s),t===2&&(u=cs(e),u!==0&&(s=u,t=ll(e,u))),t===1))throw r=jr,Cn(e,0),mn(e,s),ct(e,We()),r;switch(e.finishedWork=o,e.finishedLanes=s,t){case 0:case 1:throw Error(d(345));case 2:In(e,ut);break;case 3:if(mn(e,s),(s&130023424)===s&&(t=nl+500-We(),10<t)){if($r(e,0)!==0)break;if(o=e.suspendedLanes,(o&s)!==s){it(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=Xe(In.bind(null,e,ut),t);break}In(e,ut);break;case 4:if(mn(e,s),(s&4194240)===s)break;for(t=e.eventTimes,o=-1;0<s;){var v=31-Nt(s);u=1<<v,v=t[v],v>o&&(o=v),s&=~u}if(s=o,s=We()-s,s=(120>s?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*Fc(s/1960))-s,10<s){e.timeoutHandle=Xe(In.bind(null,e,ut),s);break}In(e,ut);break;case 5:In(e,ut);break;default:throw Error(d(329))}}}return ct(e,We()),e.callbackNode===r?ya.bind(null,e):null}function ll(e,t){var r=Fr;return e.current.memoizedState.isDehydrated&&(Cn(e,t).flags|=256),e=Fi(e,t),e!==2&&(t=ut,ut=r,t!==null&&ol(t)),e}function ol(e){ut===null?ut=e:ut.push.apply(ut,e)}function bc(e){for(var t=e;;){if(t.flags&16384){var r=t.updateQueue;if(r!==null&&(r=r.stores,r!==null))for(var s=0;s<r.length;s++){var o=r[s],u=o.getSnapshot;o=o.value;try{if(!bt(u(),o))return!1}catch{return!1}}}if(r=t.child,t.subtreeFlags&16384&&r!==null)r.return=t,t=r;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function mn(e,t){for(t&=~tl,t&=~Ni,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var r=31-Nt(t),s=1<<r;e[r]=-1,t&=~s}}function Sa(e){if(fe&6)throw Error(d(327));zn();var t=$r(e,0);if(!(t&1))return ct(e,We()),null;var r=Fi(e,t);if(e.tag!==0&&r===2){var s=cs(e);s!==0&&(t=s,r=ll(e,s))}if(r===1)throw r=jr,Cn(e,0),mn(e,t),ct(e,We()),r;if(r===6)throw Error(d(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,In(e,ut),ct(e,We()),null}function xa(e){pn!==null&&pn.tag===0&&!(fe&6)&&zn();var t=fe;fe|=1;var r=ke.transition,s=me;try{if(ke.transition=null,me=1,e)return e()}finally{me=s,ke.transition=r,fe=t,!(fe&6)&&Ht()}}function al(){yt=er.current,Ie(er)}function Cn(e,t){e.finishedWork=null,e.finishedLanes=0;var r=e.timeoutHandle;if(r!==lt&&(e.timeoutHandle=lt,Ke(r)),be!==null)for(r=be.return;r!==null;){var s=r;switch(_s(s),s.tag){case 1:s=s.type.childContextTypes,s!=null&&Kr();break;case 3:qn(),Ie(ot),Ie(Ze),Ds();break;case 5:zs(s);break;case 4:qn();break;case 13:Ie(Ue);break;case 19:Ie(Ue);break;case 10:Ss(s.type._context);break;case 22:case 23:al()}r=r.return}if(Fe=e,be=e=vn(e.current,null),Ye=yt=t,Ge=0,jr=null,tl=Ni=tr=0,ut=Fr=null,Gt!==null){for(t=0;t<Gt.length;t++)if(r=Gt[t],s=r.interleaved,s!==null){r.interleaved=null;var o=s.next,u=r.pending;if(u!==null){var v=u.next;u.next=o,s.next=v}r.pending=s}Gt=null}return e}function Ea(e,t){do{var r=be;try{if(ys(),di.current=yi,pi){for(var s=Be.memoizedState;s!==null;){var o=s.queue;o!==null&&(o.pending=null),s=s.next}pi=!1}if($n=0,Ve=Je=Be=null,zr=!1,Ar=0,el.current=null,r===null||r.return===null){Ge=1,jr=t,be=null;break}e:{var u=e,v=r.return,S=r,D=t;if(t=Ye,S.flags|=32768,D!==null&&typeof D=="object"&&typeof D.then=="function"){var L=D,Y=S,le=Y.tag;if(!(Y.mode&1)&&(le===0||le===11||le===15)){var ee=Y.alternate;ee?(Y.updateQueue=ee.updateQueue,Y.memoizedState=ee.memoizedState,Y.lanes=ee.lanes):(Y.updateQueue=null,Y.memoizedState=null)}var Te=Ho(v);if(Te!==null){Te.flags&=-257,Go(Te,v,S,u,t),Te.mode&1&&bo(u,L,t),t=Te,D=L;var J=t.updateQueue;if(J===null){var et=new Set;et.add(D),t.updateQueue=et}else J.add(D);break e}else{if(!(t&1)){bo(u,L,t),ul();break e}D=Error(d(426))}}else if(Ae&&S.mode&1){var zt=Ho(v);if(zt!==null){!(zt.flags&65536)&&(zt.flags|=256),Go(zt,v,S,u,t),Cs(D);break e}}u=D,Ge!==4&&(Ge=2),Fr===null?Fr=[u]:Fr.push(u),D=js(D,S),S=v;do{switch(S.tag){case 3:S.flags|=65536,t&=-t,S.lanes|=t;var C=jo(S,D,t);lo(S,C);break e;case 1:u=D;var E=S.type,A=S.stateNode;if(!(S.flags&128)&&(typeof E.getDerivedStateFromError=="function"||A!==null&&typeof A.componentDidCatch=="function"&&(dn===null||!dn.has(A)))){S.flags|=65536,t&=-t,S.lanes|=t;var Q=Fo(S,u,t);lo(S,Q);break e}}S=S.return}while(S!==null)}Ta(r)}catch(Z){t=Z,be===r&&r!==null&&(be=r=r.return);continue}break}while(!0)}function wa(){var e=Di.current;return Di.current=yi,e===null?yi:e}function ul(){(Ge===0||Ge===3||Ge===2)&&(Ge=4),Fe===null||!(tr&268435455)&&!(Ni&268435455)||mn(Fe,Ye)}function Fi(e,t){var r=fe;fe|=2;var s=wa();Fe===e&&Ye===t||Cn(e,t);do try{Hc();break}catch(o){Ea(e,o)}while(!0);if(ys(),fe=r,Di.current=s,be!==null)throw Error(d(261));return Fe=null,Ye=0,Ge}function Hc(){for(;be!==null;)Ma(be)}function Gc(){for(;be!==null&&!mc();)Ma(be)}function Ma(e){var t=Ra(e.alternate,e,yt);e.memoizedProps=e.pendingProps,t===null?Ta(e):be=t,el.current=null}function Ta(e){var t=e;do{var r=t.alternate;if(e=t.return,t.flags&32768){if(r=Uc(r,t),r!==null){r.flags&=32767,be=r;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Ge=6,be=null;return}}else if(r=Dc(r,t,yt),r!==null){be=r;return}if(t=t.sibling,t!==null){be=t;return}be=t=e}while(t!==null);Ge===0&&(Ge=5)}function In(e,t){var r=me,s=ke.transition;try{ke.transition=null,me=1,Wc(e,t,r)}finally{ke.transition=s,me=r}return null}function Wc(e,t,r){do zn();while(pn!==null);if(fe&6)throw Error(d(327));var s=e.finishedWork,o=e.finishedLanes;if(s===null)return null;if(e.finishedWork=null,e.finishedLanes=0,s===e.current)throw Error(d(177));e.callbackNode=null,e.callbackPriority=0;var u=s.lanes|s.childLanes;if(hc(e,u),e===Fe&&(be=Fe=null,Ye=0),!(s.subtreeFlags&2064)&&!(s.flags&2064)||Ui||(Ui=!0,Ca(ms,function(){return zn(),null})),u=(s.flags&15990)!==0,s.subtreeFlags&15990||u){u=ke.transition,ke.transition=null;var v=me;me=1;var S=fe;fe|=4,el.current=null,kc(e,s),Lc(e,s),G(e.containerInfo),e.current=s,jc(s),vc(),fe=S,me=v,ke.transition=u}else e.current=s;if(Ui&&(Ui=!1,pn=e,Bi=o),u=e.pendingLanes,u===0&&(dn=null),Sc(s.stateNode),ct(e,We()),t!==null)for(r=e.onRecoverableError,s=0;s<t.length;s++)r(t[s]);if(Oi)throw Oi=!1,e=il,il=null,e;return Bi&1&&e.tag!==0&&zn(),u=e.pendingLanes,u&1?e===sl?br++:(br=0,sl=e):br=0,Ht(),null}function zn(){if(pn!==null){var e=to(Bi),t=ke.transition,r=me;try{if(ke.transition=null,me=16>e?16:e,pn===null)var s=!1;else{if(e=pn,pn=null,Bi=0,fe&6)throw Error(d(331));var o=fe;for(fe|=4,W=e.current;W!==null;){var u=W,v=u.child;if(W.flags&16){var S=u.deletions;if(S!==null){for(var D=0;D<S.length;D++){var L=S[D];for(W=L;W!==null;){var Y=W;switch(Y.tag){case 0:case 11:case 15:Rn(8,Y,u)}var le=Y.child;if(le!==null)le.return=Y,W=le;else for(;W!==null;){Y=W;var ee=Y.sibling,Te=Y.return;if(aa(Y),Y===L){W=null;break}if(ee!==null){ee.return=Te,W=ee;break}W=Te}}}var J=u.alternate;if(J!==null){var et=J.child;if(et!==null){J.child=null;do{var zt=et.sibling;et.sibling=null,et=zt}while(et!==null)}}W=u}}if(u.subtreeFlags&2064&&v!==null)v.return=u,W=v;else e:for(;W!==null;){if(u=W,u.flags&2048)switch(u.tag){case 0:case 11:case 15:Rn(9,u,u.return)}var C=u.sibling;if(C!==null){C.return=u.return,W=C;break e}W=u.return}}var E=e.current;for(W=E;W!==null;){v=W;var A=v.child;if(v.subtreeFlags&2064&&A!==null)A.return=v,W=A;else e:for(v=E;W!==null;){if(S=W,S.flags&2048)try{switch(S.tag){case 0:case 11:case 15:kr(9,S)}}catch(Z){ft(S,S.return,Z)}if(S===v){W=null;break e}var Q=S.sibling;if(Q!==null){Q.return=S.return,W=Q;break e}W=S.return}}if(fe=o,Ht(),Ft&&typeof Ft.onPostCommitFiberRoot=="function")try{Ft.onPostCommitFiberRoot(ei,e)}catch{}s=!0}return s}finally{me=r,ke.transition=t}}return!1}function _a(e,t,r){t=js(r,t),t=jo(e,t,1),fn(e,t),t=it(),e=ji(e,1),e!==null&&(Tr(e,1,t),ct(e,t))}function ft(e,t,r){if(e.tag===3)_a(e,e,r);else for(;t!==null;){if(t.tag===3){_a(t,e,r);break}else if(t.tag===1){var s=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(dn===null||!dn.has(s))){e=js(r,e),e=Fo(t,e,1),fn(t,e),e=it(),t=ji(t,1),t!==null&&(Tr(t,1,e),ct(t,e));break}}t=t.return}}function Vc(e,t,r){var s=e.pingCache;s!==null&&s.delete(t),t=it(),e.pingedLanes|=e.suspendedLanes&r,Fe===e&&(Ye&r)===r&&(Ge===4||Ge===3&&(Ye&130023424)===Ye&&500>We()-nl?Cn(e,0):tl|=r),ct(e,t)}function Pa(e,t){t===0&&(e.mode&1?(t=qr,qr<<=1,!(qr&130023424)&&(qr=4194304)):t=1);var r=it();e=ji(e,t),e!==null&&(Tr(e,t,r),ct(e,r))}function Qc(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),Pa(e,r)}function Yc(e,t){var r=0;switch(e.tag){case 13:var s=e.stateNode,o=e.memoizedState;o!==null&&(r=o.retryLane);break;case 19:s=e.stateNode;break;default:throw Error(d(314))}s!==null&&s.delete(t),Pa(e,r)}var Ra;Ra=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||ot.current)gt=!0;else{if(!(e.lanes&r)&&!(t.flags&128))return gt=!1,Oc(e,t,r);gt=!!(e.flags&131072)}else gt=!1,Ae&&t.flags&1048576&&po(t,ui,t.index);switch(t.lanes=0,t.tag){case 2:var s=t.type;e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps;var o=Wn(t,Ze.current);Qn(t,r),o=Os(null,t,s,e,o,r);var u=Us();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,at(s)?(u=!0,Zr(t)):u=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Es(t),o.updater=oi,t.stateNode=o,o._reactInternals=t,Ms(t,s,e,r),t=Hs(null,t,s,!0,u,r)):(t.tag=0,Ae&&u&&Ts(t),rt(null,t,o,r),t=t.child),t;case 16:s=t.elementType;e:{switch(e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,o=s._init,s=o(s._payload),t.type=s,o=t.tag=Kc(s),e=Ot(s,e),o){case 0:t=bs(null,t,s,e,r);break e;case 1:t=Jo(null,t,s,e,r);break e;case 11:t=Qo(null,t,s,e,r);break e;case 14:t=Yo(null,t,s,Ot(s.type,e),r);break e}throw Error(d(306,s,""))}return t;case 0:return s=t.type,o=t.pendingProps,o=t.elementType===s?o:Ot(s,o),bs(e,t,s,o,r);case 1:return s=t.type,o=t.pendingProps,o=t.elementType===s?o:Ot(s,o),Jo(e,t,s,o,r);case 3:e:{if(qo(t),e===null)throw Error(d(387));s=t.pendingProps,u=t.memoizedState,o=u.element,so(e,t),li(t,s,null,r);var v=t.memoizedState;if(s=v.element,Pe&&u.isDehydrated)if(u={element:s,isDehydrated:!1,cache:v.cache,transitions:v.transitions},t.updateQueue.baseState=u,t.memoizedState=u,t.flags&256){o=Error(d(423)),t=$o(e,t,s,r,o);break e}else if(s!==o){o=Error(d(424)),t=$o(e,t,s,r,o);break e}else for(Pe&&(vt=Zu(t.stateNode.containerInfo),mt=t,Ae=!0,Ut=null,_r=!1),r=So(t,null,s,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(Kn(),s===o){t=$t(e,t,r);break e}rt(e,t,s,r)}t=t.child}return t;case 5:return xo(t),e===null&&Rs(t),s=t.type,o=t.pendingProps,u=e!==null?e.memoizedProps:null,v=o.children,we(s,o)?v=null:u!==null&&we(s,u)&&(t.flags|=32),Zo(e,t),rt(e,t,v,r),t.child;case 6:return e===null&&Rs(t),null;case 13:return ea(e,t,r);case 4:return Is(t,t.stateNode.containerInfo),s=t.pendingProps,e===null?t.child=Zn(t,null,s,r):rt(e,t,s,r),t.child;case 11:return s=t.type,o=t.pendingProps,o=t.elementType===s?o:Ot(s,o),Qo(e,t,s,o,r);case 7:return rt(e,t,t.pendingProps,r),t.child;case 8:return rt(e,t,t.pendingProps.children,r),t.child;case 12:return rt(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(s=t.type._context,o=t.pendingProps,u=t.memoizedProps,v=o.value,io(t,s,v),u!==null)if(bt(u.value,v)){if(u.children===o.children&&!ot.current){t=$t(e,t,r);break e}}else for(u=t.child,u!==null&&(u.return=t);u!==null;){var S=u.dependencies;if(S!==null){v=u.child;for(var D=S.firstContext;D!==null;){if(D.context===s){if(u.tag===1){D=Kt(-1,r&-r),D.tag=2;var L=u.updateQueue;if(L!==null){L=L.shared;var Y=L.pending;Y===null?D.next=D:(D.next=Y.next,Y.next=D),L.pending=D}}u.lanes|=r,D=u.alternate,D!==null&&(D.lanes|=r),xs(u.return,r,t),S.lanes|=r;break}D=D.next}}else if(u.tag===10)v=u.type===t.type?null:u.child;else if(u.tag===18){if(v=u.return,v===null)throw Error(d(341));v.lanes|=r,S=v.alternate,S!==null&&(S.lanes|=r),xs(v,r,t),v=u.sibling}else v=u.child;if(v!==null)v.return=u;else for(v=u;v!==null;){if(v===t){v=null;break}if(u=v.sibling,u!==null){u.return=v.return,v=u;break}v=v.return}u=v}rt(e,t,o.children,r),t=t.child}return t;case 9:return o=t.type,s=t.pendingProps.children,Qn(t,r),o=Mt(o),s=s(o),t.flags|=1,rt(e,t,s,r),t.child;case 14:return s=t.type,o=Ot(s,t.pendingProps),o=Ot(s.type,o),Yo(e,t,s,o,r);case 15:return Xo(e,t,t.type,t.pendingProps,r);case 17:return s=t.type,o=t.pendingProps,o=t.elementType===s?o:Ot(s,o),e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,at(s)?(e=!0,Zr(t)):e=!1,Qn(t,r),co(t,s,o),Ms(t,s,o,r),Hs(null,t,s,!0,e,r);case 19:return ia(e,t,r);case 22:return Ko(e,t,r)}throw Error(d(156,t.tag))};function Ca(e,t){return ps(e,t)}function Xc(e,t,r,s){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function It(e,t,r,s){return new Xc(e,t,r,s)}function cl(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Kc(e){if(typeof e=="function")return cl(e)?1:0;if(e!=null){if(e=e.$$typeof,e===U)return 11;if(e===R)return 14}return 2}function vn(e,t){var r=e.alternate;return r===null?(r=It(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function bi(e,t,r,s,o,u){var v=2;if(s=e,typeof e=="function")cl(e)&&(v=1);else if(typeof e=="string")v=5;else e:switch(e){case p:return An(r.children,o,u,t);case h:v=8,o|=8;break;case w:return e=It(12,r,t,o|2),e.elementType=w,e.lanes=u,e;case O:return e=It(13,r,t,o),e.elementType=O,e.lanes=u,e;case T:return e=It(19,r,t,o),e.elementType=T,e.lanes=u,e;case H:return Hi(r,o,u,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case x:v=10;break e;case _:v=9;break e;case U:v=11;break e;case R:v=14;break e;case z:v=16,s=null;break e}throw Error(d(130,e==null?e:typeof e,""))}return t=It(v,r,t,o),t.elementType=e,t.type=s,t.lanes=u,t}function An(e,t,r,s){return e=It(7,e,s,t),e.lanes=r,e}function Hi(e,t,r,s){return e=It(22,e,s,t),e.elementType=H,e.lanes=r,e.stateNode={},e}function fl(e,t,r){return e=It(6,e,null,t),e.lanes=r,e}function dl(e,t,r){return t=It(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Zc(e,t,r,s,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=lt,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=fs(0),this.expirationTimes=fs(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=fs(0),this.identifierPrefix=s,this.onRecoverableError=o,Pe&&(this.mutableSourceEagerHydrationData=null)}function Ia(e,t,r,s,o,u,v,S,D){return e=new Zc(e,t,r,S,D),t===1?(t=1,u===!0&&(t|=8)):t=0,u=It(3,null,null,t),e.current=u,u.stateNode=e,u.memoizedState={element:s,isDehydrated:r,cache:null,transitions:null},Es(u),e}function za(e){if(!e)return un;e=e._reactInternals;e:{if(V(e)!==e||e.tag!==1)throw Error(d(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(at(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(d(171))}if(e.tag===1){var r=e.type;if(at(r))return $l(e,r,t)}return t}function Aa(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(d(188)):(e=Object.keys(e).join(","),Error(d(268,e)));return e=$(t),e===null?null:e.stateNode}function Da(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var r=e.retryLane;e.retryLane=r!==0&&r<t?r:t}}function pl(e,t){Da(e,t),(e=e.alternate)&&Da(e,t)}function Jc(e){return e=$(e),e===null?null:e.stateNode}function qc(){return null}return a.attemptContinuousHydration=function(e){if(e.tag===13){var t=it();Ct(e,134217728,t),pl(e,134217728)}},a.attemptHydrationAtCurrentPriority=function(e){if(e.tag===13){var t=it(),r=hn(e);Ct(e,r,t),pl(e,r)}},a.attemptSynchronousHydration=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var r=Mr(t.pendingLanes);r!==0&&(ds(t,r|1),ct(t,We()),!(fe&6)&&(nr(),Ht()))}break;case 13:var s=it();xa(function(){return Ct(e,1,s)}),pl(e,1)}},a.batchedUpdates=function(e,t){var r=fe;fe|=1;try{return e(t)}finally{fe=r,fe===0&&(nr(),ti&&Ht())}},a.createComponentSelector=function(e){return{$$typeof:Ri,value:e}},a.createContainer=function(e,t,r,s,o,u,v){return Ia(e,t,!1,null,r,s,o,u,v)},a.createHasPseudoClassSelector=function(e){return{$$typeof:Ci,value:e}},a.createHydrationContainer=function(e,t,r,s,o,u,v,S,D){return e=Ia(r,s,!0,e,o,u,v,S,D),e.context=za(null),r=e.current,s=it(),o=hn(r),u=Kt(s,o),u.callback=t??null,fn(r,u),e.current.lanes=o,Tr(e,o,s),ct(e,s),e},a.createPortal=function(e,t,r){var s=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:y,key:s==null?null:""+s,children:e,containerInfo:t,implementation:r}},a.createRoleSelector=function(e){return{$$typeof:Ii,value:e}},a.createTestNameSelector=function(e){return{$$typeof:zi,value:e}},a.createTextSelector=function(e){return{$$typeof:Ai,value:e}},a.deferredUpdates=function(e){var t=me,r=ke.transition;try{return ke.transition=null,me=16,e()}finally{me=t,ke.transition=r}},a.discreteUpdates=function(e,t,r,s,o){var u=me,v=ke.transition;try{return ke.transition=null,me=1,e(t,r,s,o)}finally{me=u,ke.transition=v,fe===0&&nr()}},a.findAllNodes=$s,a.findBoundingRects=function(e,t){if(!Lt)throw Error(d(363));t=$s(e,t),e=[];for(var r=0;r<t.length;r++)e.push(bn(t[r]));for(t=e.length-1;0<t;t--){r=e[t];for(var s=r.x,o=s+r.width,u=r.y,v=u+r.height,S=t-1;0<=S;S--)if(t!==S){var D=e[S],L=D.x,Y=L+D.width,le=D.y,ee=le+D.height;if(s>=L&&u>=le&&o<=Y&&v<=ee){e.splice(t,1);break}else if(s!==L||r.width!==D.width||ee<u||le>v){if(!(u!==le||r.height!==D.height||Y<s||L>o)){L>s&&(D.width+=L-s,D.x=s),Y<o&&(D.width=o-L),e.splice(t,1);break}}else{le>u&&(D.height+=le-u,D.y=u),ee<v&&(D.height=v-le),e.splice(t,1);break}}}return e},a.findHostInstance=Aa,a.findHostInstanceWithNoPortals=function(e){return e=N(e),e=e!==null?De(e):null,e===null?null:e.stateNode},a.findHostInstanceWithWarning=function(e){return Aa(e)},a.flushControlled=function(e){var t=fe;fe|=1;var r=ke.transition,s=me;try{ke.transition=null,me=1,e()}finally{me=s,ke.transition=r,fe=t,fe===0&&(nr(),Ht())}},a.flushPassiveEffects=zn,a.flushSync=xa,a.focusWithin=function(e,t){if(!Lt)throw Error(d(363));for(e=Zs(e),t=ga(e,t),t=Array.from(t),e=0;e<t.length;){var r=t[e++];if(!ht(r)){if(r.tag===5&&gr(r.stateNode))return!0;for(r=r.child;r!==null;)t.push(r),r=r.sibling}}return!1},a.getCurrentUpdatePriority=function(){return me},a.getFindAllNodesFailureDescription=function(e,t){if(!Lt)throw Error(d(363));var r=0,s=[];e=[Zs(e),0];for(var o=0;o<e.length;){var u=e[o++],v=e[o++],S=t[v];if((u.tag!==5||!ht(u))&&(Js(u,S)&&(s.push(qs(S)),v++,v>r&&(r=v)),v<t.length))for(u=u.child;u!==null;)e.push(u,v),u=u.sibling}if(r<t.length){for(e=[];r<t.length;r++)e.push(qs(t[r]));return`findAllNodes was able to match part of the selector:
|
|
32
|
-
`+(s.join(" > ")+`
|
|
33
|
-
|
|
34
|
-
No matching component was found for:
|
|
35
|
-
`)+e.join(" > ")}return null},a.getPublicRootInstance=function(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return _e(e.child.stateNode);default:return e.child.stateNode}},a.injectIntoDevTools=function(e){if(e={bundleType:e.bundleType,version:e.version,rendererPackageName:e.rendererPackageName,rendererConfig:e.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:g.ReactCurrentDispatcher,findHostInstanceByFiber:Jc,findFiberByHostInstance:e.findFiberByHostInstance||qc,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")e=!1;else{var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)e=!0;else{try{ei=t.inject(e),Ft=t}catch{}e=!!t.checkDCE}}return e},a.isAlreadyRendering=function(){return!1},a.observeVisibleRects=function(e,t,r,s){if(!Lt)throw Error(d(363));e=$s(e,t);var o=Et(e,r,s).disconnect;return{disconnect:function(){o()}}},a.registerMutableSourceForHydration=function(e,t){var r=t._getVersion;r=r(t._source),e.mutableSourceEagerHydrationData==null?e.mutableSourceEagerHydrationData=[t,r]:e.mutableSourceEagerHydrationData.push(t,r)},a.runWithPriority=function(e,t){var r=me;try{return me=e,t()}finally{me=r}},a.shouldError=function(){return null},a.shouldSuspend=function(){return!1},a.updateContainer=function(e,t,r,s){var o=t.current,u=it(),v=hn(o);return r=za(r),t.context===null?t.context=r:t.pendingContext=r,t=Kt(u,v),t.payload={element:e},s=s===void 0?null:s,s!==null&&(t.callback=s),fn(o,t),e=Ct(o,v,u),e!==null&&si(e,o,v),v},a};Su.exports=Ff;var bf=Su.exports;const Hf=ef(bf),Hl={},wu=n=>void Object.assign(Hl,n);function Gf(n,i){function a(p,{args:h=[],attach:w,...x},_){let U=`${p[0].toUpperCase()}${p.slice(1)}`,O;if(p==="primitive"){if(x.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const T=x.object;O=ar(T,{type:p,root:_,attach:w,primitive:!0})}else{const T=Hl[U];if(!T)throw new Error(`R3F: ${U} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if(!Array.isArray(h))throw new Error("R3F: The args prop must be an array!");O=ar(new T(...h),{type:p,root:_,attach:w,memoizedProps:{args:h}})}return O.__r3f.attach===void 0&&(O.isBufferGeometry?O.__r3f.attach="geometry":O.isMaterial&&(O.__r3f.attach="material")),U!=="inject"&&yl(O,x),O}function l(p,h){let w=!1;if(h){var x,_;(x=h.__r3f)!=null&&x.attach?gl(p,h,h.__r3f.attach):h.isObject3D&&p.isObject3D&&(p.add(h),w=!0),w||(_=p.__r3f)==null||_.objects.push(h),h.__r3f||ar(h,{}),h.__r3f.parent=p,Bl(h),ur(h)}}function c(p,h,w){let x=!1;if(h){var _,U;if((_=h.__r3f)!=null&&_.attach)gl(p,h,h.__r3f.attach);else if(h.isObject3D&&p.isObject3D){h.parent=p,h.dispatchEvent({type:"added"}),p.dispatchEvent({type:"childadded",child:h});const O=p.children.filter(R=>R!==h),T=O.indexOf(w);p.children=[...O.slice(0,T),h,...O.slice(T)],x=!0}x||(U=p.__r3f)==null||U.objects.push(h),h.__r3f||ar(h,{}),h.__r3f.parent=p,Bl(h),ur(h)}}function f(p,h,w=!1){p&&[...p].forEach(x=>d(h,x,w))}function d(p,h,w){if(h){var x,_,U;if(h.__r3f&&(h.__r3f.parent=null),(x=p.__r3f)!=null&&x.objects&&(p.__r3f.objects=p.__r3f.objects.filter(H=>H!==h)),(_=h.__r3f)!=null&&_.attach)ja(p,h,h.__r3f.attach);else if(h.isObject3D&&p.isObject3D){var O;p.remove(h),(O=h.__r3f)!=null&&O.root&&Jf(Qi(h),h)}const R=(U=h.__r3f)==null?void 0:U.primitive,z=!R&&(w===void 0?h.dispose!==null:w);if(!R){var T;f((T=h.__r3f)==null?void 0:T.objects,h,z),f(h.children,h,z)}if(delete h.__r3f,z&&h.dispose&&h.type!=="Scene"){const H=()=>{try{h.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?Ol.unstable_scheduleCallback(Ol.unstable_IdlePriority,H):H()}ur(p)}}function g(p,h,w,x){var _;const U=(_=p.__r3f)==null?void 0:_.parent;if(!U)return;const O=a(h,w,p.__r3f.root);if(p.children){for(const T of p.children)T.__r3f&&l(O,T);p.children=p.children.filter(T=>!T.__r3f)}p.__r3f.objects.forEach(T=>l(O,T)),p.__r3f.objects=[],p.__r3f.autoRemovedBeforeAppend||d(U,p),O.parent&&(O.__r3f.autoRemovedBeforeAppend=!0),l(U,O),O.raycast&&O.__r3f.eventCount&&Qi(O).getState().internal.interaction.push(O),[x,x.alternate].forEach(T=>{T!==null&&(T.stateNode=O,T.ref&&(typeof T.ref=="function"?T.ref(O):T.ref.current=O))})}const m=()=>{};return{reconciler:Hf({createInstance:a,removeChild:d,appendChild:l,appendInitialChild:l,insertBefore:c,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(p,h)=>{if(!h)return;const w=p.getState().scene;w.__r3f&&(w.__r3f.root=p,l(w,h))},removeChildFromContainer:(p,h)=>{h&&d(p.getState().scene,h)},insertInContainerBefore:(p,h,w)=>{if(!h||!w)return;const x=p.getState().scene;x.__r3f&&c(x,h,w)},getRootHostContext:()=>null,getChildHostContext:p=>p,finalizeInitialChildren(p){var h;return!!((h=p==null?void 0:p.__r3f)!=null?h:{}).handlers},prepareUpdate(p,h,w,x){var _;if(((_=p==null?void 0:p.__r3f)!=null?_:{}).primitive&&x.object&&x.object!==p)return[!0];{const{args:O=[],children:T,...R}=x,{args:z=[],children:H,...j}=w;if(!Array.isArray(O))throw new Error("R3F: the args prop must be an array!");if(O.some((re,X)=>re!==z[X]))return[!0];const k=Iu(p,R,j,!0);return k.changes.length?[!1,k]:null}},commitUpdate(p,[h,w],x,_,U,O){h?g(p,x,U,O):yl(p,w)},commitMount(p,h,w,x){var _;const U=(_=p.__r3f)!=null?_:{};p.raycast&&U.handlers&&U.eventCount&&Qi(p).getState().internal.interaction.push(p)},getPublicInstance:p=>p,prepareForCommit:()=>null,preparePortalMount:p=>ar(p.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(p){var h;const{attach:w,parent:x}=(h=p.__r3f)!=null?h:{};w&&x&&ja(x,p,w),p.isObject3D&&(p.visible=!1),ur(p)},unhideInstance(p,h){var w;const{attach:x,parent:_}=(w=p.__r3f)!=null?w:{};x&&_&&gl(_,p,x),(p.isObject3D&&h.visible==null||h.visible)&&(p.visible=!0),ur(p)},createTextInstance:m,hideTextInstance:m,unhideTextInstance:m,getCurrentEventPriority:()=>i?i():fr.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&Ce.fun(performance.now)?performance.now:Ce.fun(Date.now)?Date.now:()=>0,scheduleTimeout:Ce.fun(setTimeout)?setTimeout:void 0,cancelTimeout:Ce.fun(clearTimeout)?clearTimeout:void 0}),applyProps:yl}}var Ua,Ba;const vl=n=>"colorSpace"in n||"outputColorSpace"in n,Mu=()=>{var n;return(n=Hl.ColorManagement)!=null?n:null},Tu=n=>n&&n.isOrthographicCamera,Wf=n=>n&&n.hasOwnProperty("current"),Vr=typeof window<"u"&&((Ua=window.document)!=null&&Ua.createElement||((Ba=window.navigator)==null?void 0:Ba.product)==="ReactNative")?P.useLayoutEffect:P.useEffect;function _u(n){const i=P.useRef(n);return Vr(()=>void(i.current=n),[n]),i}function Vf({set:n}){return Vr(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class Pu extends P.Component{constructor(...i){super(...i),this.state={error:!1}}componentDidCatch(i){this.props.set(i)}render(){return this.state.error?null:this.props.children}}Pu.getDerivedStateFromError=()=>({error:!0});const Ru="__default",ka=new Map,Qf=n=>n&&!!n.memoized&&!!n.changes;function Cu(n){var i;const a=typeof window<"u"?(i=window.devicePixelRatio)!=null?i:2:1;return Array.isArray(n)?Math.min(Math.max(n[0],a),n[1]):n}const Hr=n=>{var i;return(i=n.__r3f)==null?void 0:i.root.getState()};function Qi(n){let i=n.__r3f.root;for(;i.getState().previousRoot;)i=i.getState().previousRoot;return i}const Ce={obj:n=>n===Object(n)&&!Ce.arr(n)&&typeof n!="function",fun:n=>typeof n=="function",str:n=>typeof n=="string",num:n=>typeof n=="number",boo:n=>typeof n=="boolean",und:n=>n===void 0,arr:n=>Array.isArray(n),equ(n,i,{arrays:a="shallow",objects:l="reference",strict:c=!0}={}){if(typeof n!=typeof i||!!n!=!!i)return!1;if(Ce.str(n)||Ce.num(n)||Ce.boo(n))return n===i;const f=Ce.obj(n);if(f&&l==="reference")return n===i;const d=Ce.arr(n);if(d&&a==="reference")return n===i;if((d||f)&&n===i)return!0;let g;for(g in n)if(!(g in i))return!1;if(f&&a==="shallow"&&l==="shallow"){for(g in c?i:n)if(!Ce.equ(n[g],i[g],{strict:c,objects:"reference"}))return!1}else for(g in c?i:n)if(n[g]!==i[g])return!1;if(Ce.und(g)){if(d&&n.length===0&&i.length===0||f&&Object.keys(n).length===0&&Object.keys(i).length===0)return!0;if(n!==i)return!1}return!0}};function Yf(n){const i={nodes:{},materials:{}};return n&&n.traverse(a=>{a.name&&(i.nodes[a.name]=a),a.material&&!i.materials[a.material.name]&&(i.materials[a.material.name]=a.material)}),i}function Xf(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const i in n)i.dispose==null||i.dispose(),delete n[i]}function ar(n,i){const a=n;return a.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...i},n}function Ul(n,i){let a=n;if(i.includes("-")){const l=i.split("-"),c=l.pop();return a=l.reduce((f,d)=>f[d],n),{target:a,key:c}}else return{target:a,key:i}}const La=/-\d+$/;function gl(n,i,a){if(Ce.str(a)){if(La.test(a)){const f=a.replace(La,""),{target:d,key:g}=Ul(n,f);Array.isArray(d[g])||(d[g]=[])}const{target:l,key:c}=Ul(n,a);i.__r3f.previousAttach=l[c],l[c]=i}else i.__r3f.previousAttach=a(n,i)}function ja(n,i,a){var l,c;if(Ce.str(a)){const{target:f,key:d}=Ul(n,a),g=i.__r3f.previousAttach;g===void 0?delete f[d]:f[d]=g}else(l=i.__r3f)==null||l.previousAttach==null||l.previousAttach(n,i);(c=i.__r3f)==null||delete c.previousAttach}function Iu(n,{children:i,key:a,ref:l,...c},{children:f,key:d,ref:g,...m}={},y=!1){const p=n.__r3f,h=Object.entries(c),w=[];if(y){const _=Object.keys(m);for(let U=0;U<_.length;U++)c.hasOwnProperty(_[U])||h.unshift([_[U],Ru+"remove"])}h.forEach(([_,U])=>{var O;if((O=n.__r3f)!=null&&O.primitive&&_==="object"||Ce.equ(U,m[_]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(_))return w.push([_,U,!0,[]]);let T=[];_.includes("-")&&(T=_.split("-")),w.push([_,U,!1,T]);for(const R in c){const z=c[R];R.startsWith(`${_}-`)&&w.push([R,z,!1,R.split("-")])}});const x={...c};return p!=null&&p.memoizedProps&&p!=null&&p.memoizedProps.args&&(x.args=p.memoizedProps.args),p!=null&&p.memoizedProps&&p!=null&&p.memoizedProps.attach&&(x.attach=p.memoizedProps.attach),{memoized:x,changes:w}}function yl(n,i){var a;const l=n.__r3f,c=l==null?void 0:l.root,f=c==null||c.getState==null?void 0:c.getState(),{memoized:d,changes:g}=Qf(i)?i:Iu(n,i),m=l==null?void 0:l.eventCount;n.__r3f&&(n.__r3f.memoizedProps=d);for(let w=0;w<g.length;w++){let[x,_,U,O]=g[w];if(vl(n)){const H="srgb",j="srgb-linear";x==="encoding"?(x="colorSpace",_=_===3001?H:j):x==="outputEncoding"&&(x="outputColorSpace",_=_===3001?H:j)}let T=n,R=T[x];if(O.length&&(R=O.reduce((z,H)=>z[H],n),!(R&&R.set))){const[z,...H]=O.reverse();T=H.reverse().reduce((j,k)=>j[k],n),x=z}if(_===Ru+"remove")if(T.constructor){let z=ka.get(T.constructor);z||(z=new T.constructor,ka.set(T.constructor,z)),_=z[x]}else _=0;if(U&&l)_?l.handlers[x]=_:delete l.handlers[x],l.eventCount=Object.keys(l.handlers).length;else if(R&&R.set&&(R.copy||R instanceof ml)){if(Array.isArray(_))R.fromArray?R.fromArray(_):R.set(..._);else if(R.copy&&_&&_.constructor&&R.constructor===_.constructor)R.copy(_);else if(_!==void 0){var y;const z=(y=R)==null?void 0:y.isColor;!z&&R.setScalar?R.setScalar(_):R instanceof ml&&_ instanceof ml?R.mask=_.mask:R.set(_),!Mu()&&f&&!f.linear&&z&&R.convertSRGBToLinear()}}else{var p;if(T[x]=_,(p=T[x])!=null&&p.isTexture&&T[x].format===uf&&T[x].type===Sn&&f){const z=T[x];vl(z)&&vl(f.gl)?z.colorSpace=f.gl.outputColorSpace:z.encoding=f.gl.outputEncoding}}ur(n)}if(l&&l.parent&&n.raycast&&m!==l.eventCount){const w=Qi(n).getState().internal,x=w.interaction.indexOf(n);x>-1&&w.interaction.splice(x,1),l.eventCount&&w.interaction.push(n)}return!(g.length===1&&g[0][0]==="onUpdate")&&g.length&&(a=n.__r3f)!=null&&a.parent&&Bl(n),n}function ur(n){var i,a;const l=(i=n.__r3f)==null||(a=i.root)==null||a.getState==null?void 0:a.getState();l&&l.internal.frames===0&&l.invalidate()}function Bl(n){n.onUpdate==null||n.onUpdate(n)}function Kf(n,i){n.manual||(Tu(n)?(n.left=i.width/-2,n.right=i.width/2,n.top=i.height/2,n.bottom=i.height/-2):n.aspect=i.width/i.height,n.updateProjectionMatrix(),n.updateMatrixWorld())}function Gi(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function Zf(){var n;const i=typeof self<"u"&&self||typeof window<"u"&&window;if(!i)return fr.DefaultEventPriority;switch((n=i.event)==null?void 0:n.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return fr.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return fr.ContinuousEventPriority;default:return fr.DefaultEventPriority}}function zu(n,i,a,l){const c=a.get(i);c&&(a.delete(i),a.size===0&&(n.delete(l),c.target.releasePointerCapture(l)))}function Jf(n,i){const{internal:a}=n.getState();a.interaction=a.interaction.filter(l=>l!==i),a.initialHits=a.initialHits.filter(l=>l!==i),a.hovered.forEach((l,c)=>{(l.eventObject===i||l.object===i)&&a.hovered.delete(c)}),a.capturedMap.forEach((l,c)=>{zu(a.capturedMap,i,l,c)})}function qf(n){function i(m){const{internal:y}=n.getState(),p=m.offsetX-y.initialClick[0],h=m.offsetY-y.initialClick[1];return Math.round(Math.sqrt(p*p+h*h))}function a(m){return m.filter(y=>["Move","Over","Enter","Out","Leave"].some(p=>{var h;return(h=y.__r3f)==null?void 0:h.handlers["onPointer"+p]}))}function l(m,y){const p=n.getState(),h=new Set,w=[],x=y?y(p.internal.interaction):p.internal.interaction;for(let T=0;T<x.length;T++){const R=Hr(x[T]);R&&(R.raycaster.camera=void 0)}p.previousRoot||p.events.compute==null||p.events.compute(m,p);function _(T){const R=Hr(T);if(!R||!R.events.enabled||R.raycaster.camera===null)return[];if(R.raycaster.camera===void 0){var z;R.events.compute==null||R.events.compute(m,R,(z=R.previousRoot)==null?void 0:z.getState()),R.raycaster.camera===void 0&&(R.raycaster.camera=null)}return R.raycaster.camera?R.raycaster.intersectObject(T,!0):[]}let U=x.flatMap(_).sort((T,R)=>{const z=Hr(T.object),H=Hr(R.object);return!z||!H?T.distance-R.distance:H.events.priority-z.events.priority||T.distance-R.distance}).filter(T=>{const R=Gi(T);return h.has(R)?!1:(h.add(R),!0)});p.events.filter&&(U=p.events.filter(U,p));for(const T of U){let R=T.object;for(;R;){var O;(O=R.__r3f)!=null&&O.eventCount&&w.push({...T,eventObject:R}),R=R.parent}}if("pointerId"in m&&p.internal.capturedMap.has(m.pointerId))for(let T of p.internal.capturedMap.get(m.pointerId).values())h.has(Gi(T.intersection))||w.push(T.intersection);return w}function c(m,y,p,h){const w=n.getState();if(m.length){const x={stopped:!1};for(const _ of m){const U=Hr(_.object)||w,{raycaster:O,pointer:T,camera:R,internal:z}=U,H=new Le(T.x,T.y,0).unproject(R),j=F=>{var N,$;return(N=($=z.capturedMap.get(F))==null?void 0:$.has(_.eventObject))!=null?N:!1},k=F=>{const N={intersection:_,target:y.target};z.capturedMap.has(F)?z.capturedMap.get(F).set(_.eventObject,N):z.capturedMap.set(F,new Map([[_.eventObject,N]])),y.target.setPointerCapture(F)},re=F=>{const N=z.capturedMap.get(F);N&&zu(z.capturedMap,_.eventObject,N,F)};let X={};for(let F in y){let N=y[F];typeof N!="function"&&(X[F]=N)}let V={..._,...X,pointer:T,intersections:m,stopped:x.stopped,delta:p,unprojectedPoint:H,ray:O.ray,camera:R,stopPropagation(){const F="pointerId"in y&&z.capturedMap.get(y.pointerId);if((!F||F.has(_.eventObject))&&(V.stopped=x.stopped=!0,z.hovered.size&&Array.from(z.hovered.values()).find(N=>N.eventObject===_.eventObject))){const N=m.slice(0,m.indexOf(_));f([...N,_])}},target:{hasPointerCapture:j,setPointerCapture:k,releasePointerCapture:re},currentTarget:{hasPointerCapture:j,setPointerCapture:k,releasePointerCapture:re},nativeEvent:y};if(h(V),x.stopped===!0)break}}return m}function f(m){const{internal:y}=n.getState();for(const p of y.hovered.values())if(!m.length||!m.find(h=>h.object===p.object&&h.index===p.index&&h.instanceId===p.instanceId)){const w=p.eventObject.__r3f,x=w==null?void 0:w.handlers;if(y.hovered.delete(Gi(p)),w!=null&&w.eventCount){const _={...p,intersections:m};x.onPointerOut==null||x.onPointerOut(_),x.onPointerLeave==null||x.onPointerLeave(_)}}}function d(m,y){for(let p=0;p<y.length;p++){const h=y[p].__r3f;h==null||h.handlers.onPointerMissed==null||h.handlers.onPointerMissed(m)}}function g(m){switch(m){case"onPointerLeave":case"onPointerCancel":return()=>f([]);case"onLostPointerCapture":return y=>{const{internal:p}=n.getState();"pointerId"in y&&p.capturedMap.has(y.pointerId)&&requestAnimationFrame(()=>{p.capturedMap.has(y.pointerId)&&(p.capturedMap.delete(y.pointerId),f([]))})}}return function(p){const{onPointerMissed:h,internal:w}=n.getState();w.lastEvent.current=p;const x=m==="onPointerMove",_=m==="onClick"||m==="onContextMenu"||m==="onDoubleClick",O=l(p,x?a:void 0),T=_?i(p):0;m==="onPointerDown"&&(w.initialClick=[p.offsetX,p.offsetY],w.initialHits=O.map(z=>z.eventObject)),_&&!O.length&&T<=2&&(d(p,w.interaction),h&&h(p)),x&&f(O);function R(z){const H=z.eventObject,j=H.__r3f,k=j==null?void 0:j.handlers;if(j!=null&&j.eventCount)if(x){if(k.onPointerOver||k.onPointerEnter||k.onPointerOut||k.onPointerLeave){const re=Gi(z),X=w.hovered.get(re);X?X.stopped&&z.stopPropagation():(w.hovered.set(re,z),k.onPointerOver==null||k.onPointerOver(z),k.onPointerEnter==null||k.onPointerEnter(z))}k.onPointerMove==null||k.onPointerMove(z)}else{const re=k[m];re?(!_||w.initialHits.includes(H))&&(d(p,w.interaction.filter(X=>!w.initialHits.includes(X))),re(z)):_&&w.initialHits.includes(H)&&d(p,w.interaction.filter(X=>!w.initialHits.includes(X)))}}c(O,p,T,R)}}return{handlePointer:g}}const Au=n=>!!(n!=null&&n.render),Du=P.createContext(null),$f=(n,i)=>{const a=Uf((g,m)=>{const y=new Le,p=new Le,h=new Le;function w(T=m().camera,R=p,z=m().size){const{width:H,height:j,top:k,left:re}=z,X=H/j;R.isVector3?h.copy(R):h.set(...R);const V=T.getWorldPosition(y).distanceTo(h);if(Tu(T))return{width:H/T.zoom,height:j/T.zoom,top:k,left:re,factor:1,distance:V,aspect:X};{const F=T.fov*Math.PI/180,N=2*Math.tan(F/2)*V,$=N*(H/j);return{width:$,height:N,top:k,left:re,factor:H/$,distance:V,aspect:X}}}let x;const _=T=>g(R=>({performance:{...R.performance,current:T}})),U=new Me;return{set:g,get:m,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(T=1)=>n(m(),T),advance:(T,R)=>i(T,R,m()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new af,pointer:U,mouse:U,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const T=m();x&&clearTimeout(x),T.performance.current!==T.performance.min&&_(T.performance.min),x=setTimeout(()=>_(m().performance.max),T.performance.debounce)}},size:{width:0,height:0,top:0,left:0,updateStyle:!1},viewport:{initialDpr:0,dpr:0,width:0,height:0,top:0,left:0,aspect:0,distance:0,factor:0,getCurrentViewport:w},setEvents:T=>g(R=>({...R,events:{...R.events,...T}})),setSize:(T,R,z,H,j)=>{const k=m().camera,re={width:T,height:R,top:H||0,left:j||0,updateStyle:z};g(X=>({size:re,viewport:{...X.viewport,...w(k,p,re)}}))},setDpr:T=>g(R=>{const z=Cu(T);return{viewport:{...R.viewport,dpr:z,initialDpr:R.viewport.initialDpr||z}}}),setFrameloop:(T="always")=>{const R=m().clock;R.stop(),R.elapsedTime=0,T!=="never"&&(R.start(),R.elapsedTime=0),g(()=>({frameloop:T}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:P.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(T,R,z)=>{const H=m().internal;return H.priority=H.priority+(R>0?1:0),H.subscribers.push({ref:T,priority:R,store:z}),H.subscribers=H.subscribers.sort((j,k)=>j.priority-k.priority),()=>{const j=m().internal;j!=null&&j.subscribers&&(j.priority=j.priority-(R>0?1:0),j.subscribers=j.subscribers.filter(k=>k.ref!==T))}}}}}),l=a.getState();let c=l.size,f=l.viewport.dpr,d=l.camera;return a.subscribe(()=>{const{camera:g,size:m,viewport:y,gl:p,set:h}=a.getState();if(m.width!==c.width||m.height!==c.height||y.dpr!==f){var w;c=m,f=y.dpr,Kf(g,m),p.setPixelRatio(y.dpr);const x=(w=m.updateStyle)!=null?w:typeof HTMLCanvasElement<"u"&&p.domElement instanceof HTMLCanvasElement;p.setSize(m.width,m.height,x)}g!==d&&(d=g,h(x=>({viewport:{...x.viewport,...x.viewport.getCurrentViewport(g)}})))}),a.subscribe(g=>n(g)),a};let Wi,ed=new Set,td=new Set,nd=new Set;function Sl(n,i){if(n.size)for(const{callback:a}of n.values())a(i)}function Gr(n,i){switch(n){case"before":return Sl(ed,i);case"after":return Sl(td,i);case"tail":return Sl(nd,i)}}let xl,El;function wl(n,i,a){let l=i.clock.getDelta();for(i.frameloop==="never"&&typeof n=="number"&&(l=n-i.clock.elapsedTime,i.clock.oldTime=i.clock.elapsedTime,i.clock.elapsedTime=n),xl=i.internal.subscribers,Wi=0;Wi<xl.length;Wi++)El=xl[Wi],El.ref.current(El.store.getState(),l,a);return!i.internal.priority&&i.gl.render&&i.gl.render(i.scene,i.camera),i.internal.frames=Math.max(0,i.internal.frames-1),i.frameloop==="always"?1:i.internal.frames}function rd(n){let i=!1,a=!1,l,c,f;function d(y){c=requestAnimationFrame(d),i=!0,l=0,Gr("before",y),a=!0;for(const h of n.values()){var p;f=h.store.getState(),f.internal.active&&(f.frameloop==="always"||f.internal.frames>0)&&!((p=f.gl.xr)!=null&&p.isPresenting)&&(l+=wl(y,f))}if(a=!1,Gr("after",y),l===0)return Gr("tail",y),i=!1,cancelAnimationFrame(c)}function g(y,p=1){var h;if(!y)return n.forEach(w=>g(w.store.getState(),p));(h=y.gl.xr)!=null&&h.isPresenting||!y.internal.active||y.frameloop==="never"||(p>1?y.internal.frames=Math.min(60,y.internal.frames+p):a?y.internal.frames=2:y.internal.frames=1,i||(i=!0,requestAnimationFrame(d)))}function m(y,p=!0,h,w){if(p&&Gr("before",y),h)wl(y,h,w);else for(const x of n.values())wl(y,x.store.getState());p&&Gr("after",y)}return{loop:d,invalidate:g,advance:m}}function Nu(){const n=P.useContext(Du);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function St(n=a=>a,i){return Nu()(n,i)}function st(n,i=0){const a=Nu(),l=a.getState().internal.subscribe,c=_u(n);return Vr(()=>l(c,i,a),[i,l,a]),null}const Fa=new WeakMap;function Ou(n,i){return function(a,...l){let c=Fa.get(a);return c||(c=new a,Fa.set(a,c)),n&&n(c),Promise.all(l.map(f=>new Promise((d,g)=>c.load(f,m=>{m.scene&&Object.assign(m,Yf(m.scene)),d(m)},i,m=>g(new Error(`Could not load ${f}: ${m==null?void 0:m.message}`))))))}}function en(n,i,a,l){const c=Array.isArray(i)?i:[i],f=kf(Ou(a,l),[n,...c],{equal:Ce.equ});return Array.isArray(i)?f:f[0]}en.preload=function(n,i,a){const l=Array.isArray(i)?i:[i];return Lf(Ou(a),[n,...l])};en.clear=function(n,i){const a=Array.isArray(i)?i:[i];return jf([n,...a])};const dr=new Map,{invalidate:ba,advance:Ha}=rd(dr),{reconciler:Ji,applyProps:sr}=Gf(dr,Zf),lr={objects:"shallow",strict:!1},id=(n,i)=>{const a=typeof n=="function"?n(i):n;return Au(a)?a:new lf({powerPreference:"high-performance",canvas:i,antialias:!0,alpha:!0,...n})};function sd(n,i){const a=typeof HTMLCanvasElement<"u"&&n instanceof HTMLCanvasElement;if(i){const{width:l,height:c,top:f,left:d,updateStyle:g=a}=i;return{width:l,height:c,top:f,left:d,updateStyle:g}}else if(typeof HTMLCanvasElement<"u"&&n instanceof HTMLCanvasElement&&n.parentElement){const{width:l,height:c,top:f,left:d}=n.parentElement.getBoundingClientRect();return{width:l,height:c,top:f,left:d,updateStyle:a}}else if(typeof OffscreenCanvas<"u"&&n instanceof OffscreenCanvas)return{width:n.width,height:n.height,top:0,left:0,updateStyle:a};return{width:0,height:0,top:0,left:0}}function ld(n){const i=dr.get(n),a=i==null?void 0:i.fiber,l=i==null?void 0:i.store;i&&console.warn("R3F.createRoot should only be called once!");const c=typeof reportError=="function"?reportError:console.error,f=l||$f(ba,Ha),d=a||Ji.createContainer(f,fr.ConcurrentRoot,null,!1,null,"",c,null);i||dr.set(n,{fiber:d,store:f});let g,m=!1,y;return{configure(p={}){let{gl:h,size:w,scene:x,events:_,onCreated:U,shadows:O=!1,linear:T=!1,flat:R=!1,legacy:z=!1,orthographic:H=!1,frameloop:j="always",dpr:k=[1,2],performance:re,raycaster:X,camera:V,onPointerMissed:F}=p,N=f.getState(),$=N.gl;N.gl||N.set({gl:$=id(h,n)});let se=N.raycaster;se||N.set({raycaster:se=new tf});const{params:De,...pe}=X||{};if(Ce.equ(pe,se,lr)||sr(se,{...pe}),Ce.equ(De,se.params,lr)||sr(se,{params:{...se.params,...De}}),!N.camera||N.camera===y&&!Ce.equ(y,V,lr)){y=V;const G=V instanceof of,q=G?V:H?new Un(0,0,0,0,.1,1e3):new Bn(75,0,.1,1e3);G||(q.position.z=5,V&&(sr(q,V),("aspect"in V||"left"in V||"right"in V||"bottom"in V||"top"in V)&&(q.manual=!0,q.updateProjectionMatrix())),!N.camera&&!(V!=null&&V.rotation)&&q.lookAt(0,0,0)),N.set({camera:q}),se.camera=q}if(!N.scene){let G;x!=null&&x.isScene?G=x:(G=new Cl,x&&sr(G,x)),N.set({scene:ar(G)})}if(!N.xr){var _e;const G=(ie,ze)=>{const we=f.getState();we.frameloop!=="never"&&Ha(ie,!0,we,ze)},q=()=>{const ie=f.getState();ie.gl.xr.enabled=ie.gl.xr.isPresenting,ie.gl.xr.setAnimationLoop(ie.gl.xr.isPresenting?G:null),ie.gl.xr.isPresenting||ba(ie)},ae={connect(){const ie=f.getState().gl;ie.xr.addEventListener("sessionstart",q),ie.xr.addEventListener("sessionend",q)},disconnect(){const ie=f.getState().gl;ie.xr.removeEventListener("sessionstart",q),ie.xr.removeEventListener("sessionend",q)}};typeof((_e=$.xr)==null?void 0:_e.addEventListener)=="function"&&ae.connect(),N.set({xr:ae})}if($.shadowMap){const G=$.shadowMap.enabled,q=$.shadowMap.type;if($.shadowMap.enabled=!!O,Ce.boo(O))$.shadowMap.type=hl;else if(Ce.str(O)){var Ee;const ae={basic:sf,percentage:rf,soft:hl,variance:nf};$.shadowMap.type=(Ee=ae[O])!=null?Ee:hl}else Ce.obj(O)&&Object.assign($.shadowMap,O);(G!==$.shadowMap.enabled||q!==$.shadowMap.type)&&($.shadowMap.needsUpdate=!0)}const B=Mu();B&&("enabled"in B?B.enabled=!z:"legacyMode"in B&&(B.legacyMode=z)),m||sr($,{outputEncoding:T?3e3:3001,toneMapping:R?lu:ou}),N.legacy!==z&&N.set(()=>({legacy:z})),N.linear!==T&&N.set(()=>({linear:T})),N.flat!==R&&N.set(()=>({flat:R})),h&&!Ce.fun(h)&&!Au(h)&&!Ce.equ(h,$,lr)&&sr($,h),_&&!N.events.handlers&&N.set({events:_(f)});const K=sd(n,w);return Ce.equ(K,N.size,lr)||N.setSize(K.width,K.height,K.updateStyle,K.top,K.left),k&&N.viewport.dpr!==Cu(k)&&N.setDpr(k),N.frameloop!==j&&N.setFrameloop(j),N.onPointerMissed||N.set({onPointerMissed:F}),re&&!Ce.equ(re,N.performance,lr)&&N.set(G=>({performance:{...G.performance,...re}})),g=U,m=!0,this},render(p){return m||this.configure(),Ji.updateContainer(I.jsx(od,{store:f,children:p,onCreated:g,rootElement:n}),d,null,()=>{}),f},unmount(){Uu(n)}}}function od({store:n,children:i,onCreated:a,rootElement:l}){return Vr(()=>{const c=n.getState();c.set(f=>({internal:{...f.internal,active:!0}})),a&&a(c),n.getState().events.connected||c.events.connect==null||c.events.connect(l)},[]),I.jsx(Du.Provider,{value:n,children:i})}function Uu(n,i){const a=dr.get(n),l=a==null?void 0:a.fiber;if(l){const c=a==null?void 0:a.store.getState();c&&(c.internal.active=!1),Ji.updateContainer(null,l,null,()=>{c&&setTimeout(()=>{try{var f,d,g,m;c.events.disconnect==null||c.events.disconnect(),(f=c.gl)==null||(d=f.renderLists)==null||d.dispose==null||d.dispose(),(g=c.gl)==null||g.forceContextLoss==null||g.forceContextLoss(),(m=c.gl)!=null&&m.xr&&c.xr.disconnect(),Xf(c),dr.delete(n)}catch{}},500)})}}Ji.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:P.version});const Ml={onClick:["click",!1],onContextMenu:["contextmenu",!1],onDoubleClick:["dblclick",!1],onWheel:["wheel",!0],onPointerDown:["pointerdown",!0],onPointerUp:["pointerup",!0],onPointerLeave:["pointerleave",!0],onPointerMove:["pointermove",!0],onPointerCancel:["pointercancel",!0],onLostPointerCapture:["lostpointercapture",!0]};function ad(n){const{handlePointer:i}=qf(n);return{priority:1,enabled:!0,compute(a,l,c){l.pointer.set(a.offsetX/l.size.width*2-1,-(a.offsetY/l.size.height)*2+1),l.raycaster.setFromCamera(l.pointer,l.camera)},connected:void 0,handlers:Object.keys(Ml).reduce((a,l)=>({...a,[l]:i(l)}),{}),update:()=>{var a;const{events:l,internal:c}=n.getState();(a=c.lastEvent)!=null&&a.current&&l.handlers&&l.handlers.onPointerMove(c.lastEvent.current)},connect:a=>{var l;const{set:c,events:f}=n.getState();f.disconnect==null||f.disconnect(),c(d=>({events:{...d.events,connected:a}})),Object.entries((l=f.handlers)!=null?l:[]).forEach(([d,g])=>{const[m,y]=Ml[d];a.addEventListener(m,g,{passive:y})})},disconnect:()=>{const{set:a,events:l}=n.getState();if(l.connected){var c;Object.entries((c=l.handlers)!=null?c:[]).forEach(([f,d])=>{if(l&&l.connected instanceof HTMLElement){const[g]=Ml[f];l.connected.removeEventListener(g,d)}}),a(f=>({events:{...f.events,connected:void 0}}))}}}}function Ga(n,i){let a;return(...l)=>{window.clearTimeout(a),a=window.setTimeout(()=>n(...l),i)}}function ud({debounce:n,scroll:i,polyfill:a,offsetSize:l}={debounce:0,scroll:!1,offsetSize:!1}){const c=a||(typeof window>"u"?class{}:window.ResizeObserver);if(!c)throw new Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");const[f,d]=P.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),g=P.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:f,orientationHandler:null}),m=n?typeof n=="number"?n:n.scroll:null,y=n?typeof n=="number"?n:n.resize:null,p=P.useRef(!1);P.useEffect(()=>(p.current=!0,()=>void(p.current=!1)));const[h,w,x]=P.useMemo(()=>{const T=()=>{if(!g.current.element)return;const{left:R,top:z,width:H,height:j,bottom:k,right:re,x:X,y:V}=g.current.element.getBoundingClientRect(),F={left:R,top:z,width:H,height:j,bottom:k,right:re,x:X,y:V};g.current.element instanceof HTMLElement&&l&&(F.height=g.current.element.offsetHeight,F.width=g.current.element.offsetWidth),Object.freeze(F),p.current&&!pd(g.current.lastBounds,F)&&d(g.current.lastBounds=F)};return[T,y?Ga(T,y):T,m?Ga(T,m):T]},[d,l,m,y]);function _(){g.current.scrollContainers&&(g.current.scrollContainers.forEach(T=>T.removeEventListener("scroll",x,!0)),g.current.scrollContainers=null),g.current.resizeObserver&&(g.current.resizeObserver.disconnect(),g.current.resizeObserver=null),g.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",g.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",g.current.orientationHandler))}function U(){g.current.element&&(g.current.resizeObserver=new c(x),g.current.resizeObserver.observe(g.current.element),i&&g.current.scrollContainers&&g.current.scrollContainers.forEach(T=>T.addEventListener("scroll",x,{capture:!0,passive:!0})),g.current.orientationHandler=()=>{x()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",g.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",g.current.orientationHandler))}const O=T=>{!T||T===g.current.element||(_(),g.current.element=T,g.current.scrollContainers=Bu(T),U())};return fd(x,!!i),cd(w),P.useEffect(()=>{_(),U()},[i,x,w]),P.useEffect(()=>_,[]),[O,f,h]}function cd(n){P.useEffect(()=>{const i=n;return window.addEventListener("resize",i),()=>void window.removeEventListener("resize",i)},[n])}function fd(n,i){P.useEffect(()=>{if(i){const a=n;return window.addEventListener("scroll",a,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",a,!0)}},[n,i])}function Bu(n){const i=[];if(!n||n===document.body)return i;const{overflow:a,overflowX:l,overflowY:c}=window.getComputedStyle(n);return[a,l,c].some(f=>f==="auto"||f==="scroll")&&i.push(n),[...i,...Bu(n.parentElement)]}const dd=["x","y","top","bottom","left","right","width","height"],pd=(n,i)=>dd.every(a=>n[a]===i[a]);var hd=Object.defineProperty,md=Object.defineProperties,vd=Object.getOwnPropertyDescriptors,Wa=Object.getOwnPropertySymbols,gd=Object.prototype.hasOwnProperty,yd=Object.prototype.propertyIsEnumerable,Va=(n,i,a)=>i in n?hd(n,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[i]=a,Qa=(n,i)=>{for(var a in i||(i={}))gd.call(i,a)&&Va(n,a,i[a]);if(Wa)for(var a of Wa(i))yd.call(i,a)&&Va(n,a,i[a]);return n},Sd=(n,i)=>md(n,vd(i)),Ya,Xa;typeof window<"u"&&((Ya=window.document)!=null&&Ya.createElement||((Xa=window.navigator)==null?void 0:Xa.product)==="ReactNative")?P.useLayoutEffect:P.useEffect;function ku(n,i,a){if(!n)return;if(a(n)===!0)return n;let l=n.child;for(;l;){const c=ku(l,i,a);if(c)return c;l=l.sibling}}function Lu(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const Ka=console.error;console.error=function(){const n=[...arguments].join("");if(n!=null&&n.startsWith("Warning:")&&n.includes("useContext")){console.error=Ka;return}return Ka.apply(this,arguments)};const Gl=Lu(P.createContext(null));class ju extends P.Component{render(){return P.createElement(Gl.Provider,{value:this._reactInternals},this.props.children)}}function xd(){const n=P.useContext(Gl);if(n===null)throw new Error("its-fine: useFiber must be called within a <FiberProvider />!");const i=P.useId();return P.useMemo(()=>{for(const l of[n,n==null?void 0:n.alternate]){if(!l)continue;const c=ku(l,!1,f=>{let d=f.memoizedState;for(;d;){if(d.memoizedState===i)return!0;d=d.next}});if(c)return c}},[n,i])}function Ed(){const n=xd(),[i]=P.useState(()=>new Map);i.clear();let a=n;for(;a;){if(a.type&&typeof a.type=="object"){const c=a.type._context===void 0&&a.type.Provider===a.type?a.type:a.type._context;c&&c!==Gl&&!i.has(c)&&i.set(c,P.useContext(Lu(c)))}a=a.return}return i}function wd(){const n=Ed();return P.useMemo(()=>Array.from(n.keys()).reduce((i,a)=>l=>P.createElement(i,null,P.createElement(a.Provider,Sd(Qa({},l),{value:n.get(a)}))),i=>P.createElement(ju,Qa({},i))),[n])}const Md=P.forwardRef(function({children:i,fallback:a,resize:l,style:c,gl:f,events:d=ad,eventSource:g,eventPrefix:m,shadows:y,linear:p,flat:h,legacy:w,orthographic:x,frameloop:_,dpr:U,performance:O,raycaster:T,camera:R,scene:z,onPointerMissed:H,onCreated:j,...k},re){P.useMemo(()=>wu(cf),[]);const X=wd(),[V,F]=ud({scroll:!0,debounce:{scroll:50,resize:0},...l}),N=P.useRef(null),$=P.useRef(null);P.useImperativeHandle(re,()=>N.current);const se=_u(H),[De,pe]=P.useState(!1),[_e,Ee]=P.useState(!1);if(De)throw De;if(_e)throw _e;const B=P.useRef(null);Vr(()=>{const G=N.current;F.width>0&&F.height>0&&G&&(B.current||(B.current=ld(G)),B.current.configure({gl:f,events:d,shadows:y,linear:p,flat:h,legacy:w,orthographic:x,frameloop:_,dpr:U,performance:O,raycaster:T,camera:R,scene:z,size:F,onPointerMissed:(...q)=>se.current==null?void 0:se.current(...q),onCreated:q=>{q.events.connect==null||q.events.connect(g?Wf(g)?g.current:g:$.current),m&&q.setEvents({compute:(ae,ie)=>{const ze=ae[m+"X"],we=ae[m+"Y"];ie.pointer.set(ze/ie.size.width*2-1,-(we/ie.size.height)*2+1),ie.raycaster.setFromCamera(ie.pointer,ie.camera)}}),j==null||j(q)}}),B.current.render(I.jsx(X,{children:I.jsx(Pu,{set:Ee,children:I.jsx(P.Suspense,{fallback:I.jsx(Vf,{set:pe}),children:i??null})})})))}),P.useEffect(()=>{const G=N.current;if(G)return()=>Uu(G)},[]);const K=g?"none":"auto";return I.jsx("div",{ref:$,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:K,...c},...k,children:I.jsx("div",{ref:V,style:{width:"100%",height:"100%"},children:I.jsx("canvas",{ref:N,style:{display:"block"},children:a})})})}),Td=P.forwardRef(function(i,a){return I.jsx(ju,{children:I.jsx(Md,{...i,ref:a})})});function qi(){return qi=Object.assign?Object.assign.bind():function(n){for(var i=1;i<arguments.length;i++){var a=arguments[i];for(var l in a)({}).hasOwnProperty.call(a,l)&&(n[l]=a[l])}return n},qi.apply(null,arguments)}const Qr=new Le,Wl=new Le,_d=new Le,Za=new Me;function Pd(n,i,a){const l=Qr.setFromMatrixPosition(n.matrixWorld);l.project(i);const c=a.width/2,f=a.height/2;return[l.x*c+c,-(l.y*f)+f]}function Rd(n,i){const a=Qr.setFromMatrixPosition(n.matrixWorld),l=Wl.setFromMatrixPosition(i.matrixWorld),c=a.sub(l),f=i.getWorldDirection(_d);return c.angleTo(f)>Math.PI/2}function Cd(n,i,a,l){const c=Qr.setFromMatrixPosition(n.matrixWorld),f=c.clone();f.project(i),Za.set(f.x,f.y),a.setFromCamera(Za,i);const d=a.intersectObjects(l,!0);if(d.length){const g=d[0].distance;return c.distanceTo(a.ray.origin)<g}return!0}function Id(n,i){if(i instanceof Un)return i.zoom;if(i instanceof Bn){const a=Qr.setFromMatrixPosition(n.matrixWorld),l=Wl.setFromMatrixPosition(i.matrixWorld),c=i.fov*Math.PI/180,f=a.distanceTo(l);return 1/(2*Math.tan(c/2)*f)}else return 1}function zd(n,i,a){if(i instanceof Bn||i instanceof Un){const l=Qr.setFromMatrixPosition(n.matrixWorld),c=Wl.setFromMatrixPosition(i.matrixWorld),f=l.distanceTo(c),d=(a[1]-a[0])/(i.far-i.near),g=a[1]-d*i.far;return Math.round(d*f+g)}}const kl=n=>Math.abs(n)<1e-10?0:n;function Fu(n,i,a=""){let l="matrix3d(";for(let c=0;c!==16;c++)l+=kl(i[c]*n.elements[c])+(c!==15?",":")");return a+l}const Ad=(n=>i=>Fu(i,n))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),Dd=(n=>(i,a)=>Fu(i,n(a),"translate(-50%,-50%)"))(n=>[1/n,1/n,1/n,1,-1/n,-1/n,-1/n,-1,1/n,1/n,1/n,1,1,1,1,1]);function Nd(n){return n&&typeof n=="object"&&"current"in n}const Vl=P.forwardRef(({children:n,eps:i=.001,style:a,className:l,prepend:c,center:f,fullscreen:d,portal:g,distanceFactor:m,sprite:y=!1,transform:p=!1,occlude:h,onOcclude:w,castShadow:x,receiveShadow:_,material:U,geometry:O,zIndexRange:T=[16777271,0],calculatePosition:R=Pd,as:z="div",wrapperClass:H,pointerEvents:j="auto",...k},re)=>{const{gl:X,camera:V,scene:F,size:N,raycaster:$,events:se,viewport:De}=St(),[pe]=P.useState(()=>document.createElement(z)),_e=P.useRef(),Ee=P.useRef(null),B=P.useRef(0),K=P.useRef([0,0]),G=P.useRef(null),q=P.useRef(null),ae=(g==null?void 0:g.current)||se.connected||X.domElement.parentNode,ie=P.useRef(null),ze=P.useRef(!1),we=P.useMemo(()=>h&&h!=="blending"||Array.isArray(h)&&h.length&&Nd(h[0]),[h]);P.useLayoutEffect(()=>{const Oe=X.domElement;h&&h==="blending"?(Oe.style.zIndex=`${Math.floor(T[0]/2)}`,Oe.style.position="absolute",Oe.style.pointerEvents="none"):(Oe.style.zIndex=null,Oe.style.position=null,Oe.style.pointerEvents=null)},[h]),P.useLayoutEffect(()=>{if(Ee.current){const Oe=_e.current=ff(pe);if(F.updateMatrixWorld(),p)pe.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const ue=R(Ee.current,V,N);pe.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${ue[0]}px,${ue[1]}px,0);transform-origin:0 0;`}return ae&&(c?ae.prepend(pe):ae.appendChild(pe)),()=>{ae&&ae.removeChild(pe),Oe.unmount()}}},[ae,p]),P.useLayoutEffect(()=>{H&&(pe.className=H)},[H]);const Ne=P.useMemo(()=>p?{position:"absolute",top:0,left:0,width:N.width,height:N.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:f?"translate3d(-50%,-50%,0)":"none",...d&&{top:-N.height/2,left:-N.width/2,width:N.width,height:N.height},...a},[a,f,d,N,p]),Xe=P.useMemo(()=>({position:"absolute",pointerEvents:j}),[j]);P.useLayoutEffect(()=>{if(ze.current=!1,p){var Oe;(Oe=_e.current)==null||Oe.render(P.createElement("div",{ref:G,style:Ne},P.createElement("div",{ref:q,style:Xe},P.createElement("div",{ref:re,className:l,style:a,children:n}))))}else{var ue;(ue=_e.current)==null||ue.render(P.createElement("div",{ref:re,style:Ne,className:l,children:n}))}});const Ke=P.useRef(!0);st(Oe=>{if(Ee.current){V.updateMatrixWorld(),Ee.current.updateWorldMatrix(!0,!1);const ue=p?K.current:R(Ee.current,V,N);if(p||Math.abs(B.current-V.zoom)>i||Math.abs(K.current[0]-ue[0])>i||Math.abs(K.current[1]-ue[1])>i){const He=Rd(Ee.current,V);let Pe=!1;we&&(Array.isArray(h)?Pe=h.map(xt=>xt.current):h!=="blending"&&(Pe=[F]));const kt=Ke.current;if(Pe){const xt=Cd(Ee.current,V,$,Pe);Ke.current=xt&&!He}else Ke.current=!He;kt!==Ke.current&&(w?w(!Ke.current):pe.style.display=Ke.current?"block":"none");const nn=Math.floor(T[0]/2),hr=h?we?[T[0],nn]:[nn-1,0]:T;if(pe.style.zIndex=`${zd(Ee.current,V,hr)}`,p){const[xt,xn]=[N.width/2,N.height/2],rn=V.projectionMatrix.elements[5]*xn,{isOrthographicCamera:Lt,top:mr,left:bn,bottom:En,right:ht}=V,vr=Ad(V.matrixWorldInverse),gr=Lt?`scale(${rn})translate(${kl(-(ht+bn)/2)}px,${kl((mr+En)/2)}px)`:`translateZ(${rn}px)`;let Et=Ee.current.matrixWorld;y&&(Et=V.matrixWorldInverse.clone().transpose().copyPosition(Et).scale(Ee.current.scale),Et.elements[3]=Et.elements[7]=Et.elements[11]=0,Et.elements[15]=1),pe.style.width=N.width+"px",pe.style.height=N.height+"px",pe.style.perspective=Lt?"":`${rn}px`,G.current&&q.current&&(G.current.style.transform=`${gr}${vr}translate(${xt}px,${xn}px)`,q.current.style.transform=Dd(Et,1/((m||10)/400)))}else{const xt=m===void 0?1:Id(Ee.current,V)*m;pe.style.transform=`translate3d(${ue[0]}px,${ue[1]}px,0) scale(${xt})`}K.current=ue,B.current=V.zoom}}if(!we&&ie.current&&!ze.current)if(p){if(G.current){const ue=G.current.children[0];if(ue!=null&&ue.clientWidth&&ue!=null&&ue.clientHeight){const{isOrthographicCamera:He}=V;if(He||O)k.scale&&(Array.isArray(k.scale)?k.scale instanceof Le?ie.current.scale.copy(k.scale.clone().divideScalar(1)):ie.current.scale.set(1/k.scale[0],1/k.scale[1],1/k.scale[2]):ie.current.scale.setScalar(1/k.scale));else{const Pe=(m||10)/400,kt=ue.clientWidth*Pe,nn=ue.clientHeight*Pe;ie.current.scale.set(kt,nn,1)}ze.current=!0}}}else{const ue=pe.children[0];if(ue!=null&&ue.clientWidth&&ue!=null&&ue.clientHeight){const He=1/De.factor,Pe=ue.clientWidth*He,kt=ue.clientHeight*He;ie.current.scale.set(Pe,kt,1),ze.current=!0}ie.current.lookAt(Oe.camera.position)}});const lt=P.useMemo(()=>({vertexShader:p?void 0:`
|
|
36
|
-
/*
|
|
37
|
-
This shader is from the THREE's SpriteMaterial.
|
|
38
|
-
We need to turn the backing plane into a Sprite
|
|
39
|
-
(make it always face the camera) if "transfrom"
|
|
40
|
-
is false.
|
|
41
|
-
*/
|
|
42
|
-
#include <common>
|
|
43
|
-
|
|
44
|
-
void main() {
|
|
45
|
-
vec2 center = vec2(0., 1.);
|
|
46
|
-
float rotation = 0.0;
|
|
47
|
-
|
|
48
|
-
// This is somewhat arbitrary, but it seems to work well
|
|
49
|
-
// Need to figure out how to derive this dynamically if it even matters
|
|
50
|
-
float size = 0.03;
|
|
51
|
-
|
|
52
|
-
vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );
|
|
53
|
-
vec2 scale;
|
|
54
|
-
scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );
|
|
55
|
-
scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );
|
|
56
|
-
|
|
57
|
-
bool isPerspective = isPerspectiveMatrix( projectionMatrix );
|
|
58
|
-
if ( isPerspective ) scale *= - mvPosition.z;
|
|
59
|
-
|
|
60
|
-
vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale * size;
|
|
61
|
-
vec2 rotatedPosition;
|
|
62
|
-
rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;
|
|
63
|
-
rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;
|
|
64
|
-
mvPosition.xy += rotatedPosition;
|
|
65
|
-
|
|
66
|
-
gl_Position = projectionMatrix * mvPosition;
|
|
67
|
-
}
|
|
68
|
-
`,fragmentShader:`
|
|
69
|
-
void main() {
|
|
70
|
-
gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);
|
|
71
|
-
}
|
|
72
|
-
`}),[p]);return P.createElement("group",qi({},k,{ref:Ee}),h&&!we&&P.createElement("mesh",{castShadow:x,receiveShadow:_,ref:ie},O||P.createElement("planeGeometry",null),U||P.createElement("shaderMaterial",{side:Dn,vertexShader:lt.vertexShader,fragmentShader:lt.fragmentShader})))});let Wr;function Od(){var n;if(Wr!==void 0)return Wr;try{let i;const a=document.createElement("canvas");return Wr=!!(window.WebGL2RenderingContext&&(i=a.getContext("webgl2"))),i&&((n=i.getExtension("WEBGL_lose_context"))==null||n.loseContext()),Wr}catch{return Wr=!1}}var Ud=Object.defineProperty,Bd=(n,i,a)=>i in n?Ud(n,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[i]=a,kd=(n,i,a)=>(Bd(n,i+"",a),a);class Ld{constructor(){kd(this,"_listeners")}addEventListener(i,a){this._listeners===void 0&&(this._listeners={});const l=this._listeners;l[i]===void 0&&(l[i]=[]),l[i].indexOf(a)===-1&&l[i].push(a)}hasEventListener(i,a){if(this._listeners===void 0)return!1;const l=this._listeners;return l[i]!==void 0&&l[i].indexOf(a)!==-1}removeEventListener(i,a){if(this._listeners===void 0)return;const c=this._listeners[i];if(c!==void 0){const f=c.indexOf(a);f!==-1&&c.splice(f,1)}}dispatchEvent(i){if(this._listeners===void 0)return;const l=this._listeners[i.type];if(l!==void 0){i.target=this;const c=l.slice(0);for(let f=0,d=c.length;f<d;f++)c[f].call(this,i);i.target=null}}}var jd=Object.defineProperty,Fd=(n,i,a)=>i in n?jd(n,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[i]=a,te=(n,i,a)=>(Fd(n,typeof i!="symbol"?i+"":i,a),a);const Vi=new df,Ja=new pf,bd=Math.cos(70*(Math.PI/180)),qa=(n,i)=>(n%i+i)%i;let Hd=class extends Ld{constructor(i,a){super(),te(this,"object"),te(this,"domElement"),te(this,"enabled",!0),te(this,"target",new Le),te(this,"minDistance",0),te(this,"maxDistance",1/0),te(this,"minZoom",0),te(this,"maxZoom",1/0),te(this,"minPolarAngle",0),te(this,"maxPolarAngle",Math.PI),te(this,"minAzimuthAngle",-1/0),te(this,"maxAzimuthAngle",1/0),te(this,"enableDamping",!1),te(this,"dampingFactor",.05),te(this,"enableZoom",!0),te(this,"zoomSpeed",1),te(this,"enableRotate",!0),te(this,"rotateSpeed",1),te(this,"enablePan",!0),te(this,"panSpeed",1),te(this,"screenSpacePanning",!0),te(this,"keyPanSpeed",7),te(this,"zoomToCursor",!1),te(this,"autoRotate",!1),te(this,"autoRotateSpeed",2),te(this,"reverseOrbit",!1),te(this,"reverseHorizontalOrbit",!1),te(this,"reverseVerticalOrbit",!1),te(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),te(this,"mouseButtons",{LEFT:rr.ROTATE,MIDDLE:rr.DOLLY,RIGHT:rr.PAN}),te(this,"touches",{ONE:ir.ROTATE,TWO:ir.DOLLY_PAN}),te(this,"target0"),te(this,"position0"),te(this,"zoom0"),te(this,"_domElementKeyEvents",null),te(this,"getPolarAngle"),te(this,"getAzimuthalAngle"),te(this,"setPolarAngle"),te(this,"setAzimuthalAngle"),te(this,"getDistance"),te(this,"getZoomScale"),te(this,"listenToKeyEvents"),te(this,"stopListenToKeyEvents"),te(this,"saveState"),te(this,"reset"),te(this,"update"),te(this,"connect"),te(this,"dispose"),te(this,"dollyIn"),te(this,"dollyOut"),te(this,"getScale"),te(this,"setScale"),this.object=i,this.domElement=a,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=()=>p.phi,this.getAzimuthalAngle=()=>p.theta,this.setPolarAngle=M=>{let b=qa(M,2*Math.PI),ne=p.phi;ne<0&&(ne+=2*Math.PI),b<0&&(b+=2*Math.PI);let he=Math.abs(b-ne);2*Math.PI-he<he&&(b<ne?b+=2*Math.PI:ne+=2*Math.PI),h.phi=b-ne,l.update()},this.setAzimuthalAngle=M=>{let b=qa(M,2*Math.PI),ne=p.theta;ne<0&&(ne+=2*Math.PI),b<0&&(b+=2*Math.PI);let he=Math.abs(b-ne);2*Math.PI-he<he&&(b<ne?b+=2*Math.PI:ne+=2*Math.PI),h.theta=b-ne,l.update()},this.getDistance=()=>l.object.position.distanceTo(l.target),this.listenToKeyEvents=M=>{M.addEventListener("keydown",yr),this._domElementKeyEvents=M},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener("keydown",yr),this._domElementKeyEvents=null},this.saveState=()=>{l.target0.copy(l.target),l.position0.copy(l.object.position),l.zoom0=l.object.zoom},this.reset=()=>{l.target.copy(l.target0),l.object.position.copy(l.position0),l.object.zoom=l.zoom0,l.object.updateProjectionMatrix(),l.dispatchEvent(c),l.update(),m=g.NONE},this.update=(()=>{const M=new Le,b=new Le(0,1,0),ne=new zl().setFromUnitVectors(i.up,b),he=ne.clone().invert(),je=new Le,At=new zl,jt=2*Math.PI;return function(){const xr=l.object.position;ne.setFromUnitVectors(i.up,b),he.copy(ne).invert(),M.copy(xr).sub(l.target),M.applyQuaternion(ne),p.setFromVector3(M),l.autoRotate&&m===g.NONE&&De($()),l.enableDamping?(p.theta+=h.theta*l.dampingFactor,p.phi+=h.phi*l.dampingFactor):(p.theta+=h.theta,p.phi+=h.phi);let wt=l.minAzimuthAngle,Dt=l.maxAzimuthAngle;isFinite(wt)&&isFinite(Dt)&&(wt<-Math.PI?wt+=jt:wt>Math.PI&&(wt-=jt),Dt<-Math.PI?Dt+=jt:Dt>Math.PI&&(Dt-=jt),wt<=Dt?p.theta=Math.max(wt,Math.min(Dt,p.theta)):p.theta=p.theta>(wt+Dt)/2?Math.max(wt,p.theta):Math.min(Dt,p.theta)),p.phi=Math.max(l.minPolarAngle,Math.min(l.maxPolarAngle,p.phi)),p.makeSafe(),l.enableDamping===!0?l.target.addScaledVector(x,l.dampingFactor):l.target.add(x),l.zoomToCursor&&V||l.object.isOrthographicCamera?p.radius=ie(p.radius):p.radius=ie(p.radius*w),M.setFromSpherical(p),M.applyQuaternion(he),xr.copy(l.target).add(M),l.object.matrixAutoUpdate||l.object.updateMatrix(),l.object.lookAt(l.target),l.enableDamping===!0?(h.theta*=1-l.dampingFactor,h.phi*=1-l.dampingFactor,x.multiplyScalar(1-l.dampingFactor)):(h.set(0,0,0),x.set(0,0,0));let sn=!1;if(l.zoomToCursor&&V){let ln=null;if(l.object instanceof Bn&&l.object.isPerspectiveCamera){const on=M.length();ln=ie(on*w);const Hn=on-ln;l.object.position.addScaledVector(re,Hn),l.object.updateMatrixWorld()}else if(l.object.isOrthographicCamera){const on=new Le(X.x,X.y,0);on.unproject(l.object),l.object.zoom=Math.max(l.minZoom,Math.min(l.maxZoom,l.object.zoom/w)),l.object.updateProjectionMatrix(),sn=!0;const Hn=new Le(X.x,X.y,0);Hn.unproject(l.object),l.object.position.sub(Hn).add(on),l.object.updateMatrixWorld(),ln=M.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),l.zoomToCursor=!1;ln!==null&&(l.screenSpacePanning?l.target.set(0,0,-1).transformDirection(l.object.matrix).multiplyScalar(ln).add(l.object.position):(Vi.origin.copy(l.object.position),Vi.direction.set(0,0,-1).transformDirection(l.object.matrix),Math.abs(l.object.up.dot(Vi.direction))<bd?i.lookAt(l.target):(Ja.setFromNormalAndCoplanarPoint(l.object.up,l.target),Vi.intersectPlane(Ja,l.target))))}else l.object instanceof Un&&l.object.isOrthographicCamera&&(sn=w!==1,sn&&(l.object.zoom=Math.max(l.minZoom,Math.min(l.maxZoom,l.object.zoom/w)),l.object.updateProjectionMatrix()));return w=1,V=!1,sn||je.distanceToSquared(l.object.position)>y||8*(1-At.dot(l.object.quaternion))>y?(l.dispatchEvent(c),je.copy(l.object.position),At.copy(l.object.quaternion),sn=!1,!0):!1}})(),this.connect=M=>{l.domElement=M,l.domElement.style.touchAction="none",l.domElement.addEventListener("contextmenu",Yr),l.domElement.addEventListener("pointerdown",bn),l.domElement.addEventListener("pointercancel",ht),l.domElement.addEventListener("wheel",Et)},this.dispose=()=>{var M,b,ne,he,je,At;l.domElement&&(l.domElement.style.touchAction="auto"),(M=l.domElement)==null||M.removeEventListener("contextmenu",Yr),(b=l.domElement)==null||b.removeEventListener("pointerdown",bn),(ne=l.domElement)==null||ne.removeEventListener("pointercancel",ht),(he=l.domElement)==null||he.removeEventListener("wheel",Et),(je=l.domElement)==null||je.ownerDocument.removeEventListener("pointermove",En),(At=l.domElement)==null||At.ownerDocument.removeEventListener("pointerup",ht),l._domElementKeyEvents!==null&&l._domElementKeyEvents.removeEventListener("keydown",yr)};const l=this,c={type:"change"},f={type:"start"},d={type:"end"},g={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let m=g.NONE;const y=1e-6,p=new Il,h=new Il;let w=1;const x=new Le,_=new Me,U=new Me,O=new Me,T=new Me,R=new Me,z=new Me,H=new Me,j=new Me,k=new Me,re=new Le,X=new Me;let V=!1;const F=[],N={};function $(){return 2*Math.PI/60/60*l.autoRotateSpeed}function se(){return Math.pow(.95,l.zoomSpeed)}function De(M){l.reverseOrbit||l.reverseHorizontalOrbit?h.theta+=M:h.theta-=M}function pe(M){l.reverseOrbit||l.reverseVerticalOrbit?h.phi+=M:h.phi-=M}const _e=(()=>{const M=new Le;return function(ne,he){M.setFromMatrixColumn(he,0),M.multiplyScalar(-ne),x.add(M)}})(),Ee=(()=>{const M=new Le;return function(ne,he){l.screenSpacePanning===!0?M.setFromMatrixColumn(he,1):(M.setFromMatrixColumn(he,0),M.crossVectors(l.object.up,M)),M.multiplyScalar(ne),x.add(M)}})(),B=(()=>{const M=new Le;return function(ne,he){const je=l.domElement;if(je&&l.object instanceof Bn&&l.object.isPerspectiveCamera){const At=l.object.position;M.copy(At).sub(l.target);let jt=M.length();jt*=Math.tan(l.object.fov/2*Math.PI/180),_e(2*ne*jt/je.clientHeight,l.object.matrix),Ee(2*he*jt/je.clientHeight,l.object.matrix)}else je&&l.object instanceof Un&&l.object.isOrthographicCamera?(_e(ne*(l.object.right-l.object.left)/l.object.zoom/je.clientWidth,l.object.matrix),Ee(he*(l.object.top-l.object.bottom)/l.object.zoom/je.clientHeight,l.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),l.enablePan=!1)}})();function K(M){l.object instanceof Bn&&l.object.isPerspectiveCamera||l.object instanceof Un&&l.object.isOrthographicCamera?w=M:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),l.enableZoom=!1)}function G(M){K(w/M)}function q(M){K(w*M)}function ae(M){if(!l.zoomToCursor||!l.domElement)return;V=!0;const b=l.domElement.getBoundingClientRect(),ne=M.clientX-b.left,he=M.clientY-b.top,je=b.width,At=b.height;X.x=ne/je*2-1,X.y=-(he/At)*2+1,re.set(X.x,X.y,1).unproject(l.object).sub(l.object.position).normalize()}function ie(M){return Math.max(l.minDistance,Math.min(l.maxDistance,M))}function ze(M){_.set(M.clientX,M.clientY)}function we(M){ae(M),H.set(M.clientX,M.clientY)}function Ne(M){T.set(M.clientX,M.clientY)}function Xe(M){U.set(M.clientX,M.clientY),O.subVectors(U,_).multiplyScalar(l.rotateSpeed);const b=l.domElement;b&&(De(2*Math.PI*O.x/b.clientHeight),pe(2*Math.PI*O.y/b.clientHeight)),_.copy(U),l.update()}function Ke(M){j.set(M.clientX,M.clientY),k.subVectors(j,H),k.y>0?G(se()):k.y<0&&q(se()),H.copy(j),l.update()}function lt(M){R.set(M.clientX,M.clientY),z.subVectors(R,T).multiplyScalar(l.panSpeed),B(z.x,z.y),T.copy(R),l.update()}function Oe(M){ae(M),M.deltaY<0?q(se()):M.deltaY>0&&G(se()),l.update()}function ue(M){let b=!1;switch(M.code){case l.keys.UP:B(0,l.keyPanSpeed),b=!0;break;case l.keys.BOTTOM:B(0,-l.keyPanSpeed),b=!0;break;case l.keys.LEFT:B(l.keyPanSpeed,0),b=!0;break;case l.keys.RIGHT:B(-l.keyPanSpeed,0),b=!0;break}b&&(M.preventDefault(),l.update())}function He(){if(F.length==1)_.set(F[0].pageX,F[0].pageY);else{const M=.5*(F[0].pageX+F[1].pageX),b=.5*(F[0].pageY+F[1].pageY);_.set(M,b)}}function Pe(){if(F.length==1)T.set(F[0].pageX,F[0].pageY);else{const M=.5*(F[0].pageX+F[1].pageX),b=.5*(F[0].pageY+F[1].pageY);T.set(M,b)}}function kt(){const M=F[0].pageX-F[1].pageX,b=F[0].pageY-F[1].pageY,ne=Math.sqrt(M*M+b*b);H.set(0,ne)}function nn(){l.enableZoom&&kt(),l.enablePan&&Pe()}function hr(){l.enableZoom&&kt(),l.enableRotate&&He()}function xt(M){if(F.length==1)U.set(M.pageX,M.pageY);else{const ne=Sr(M),he=.5*(M.pageX+ne.x),je=.5*(M.pageY+ne.y);U.set(he,je)}O.subVectors(U,_).multiplyScalar(l.rotateSpeed);const b=l.domElement;b&&(De(2*Math.PI*O.x/b.clientHeight),pe(2*Math.PI*O.y/b.clientHeight)),_.copy(U)}function xn(M){if(F.length==1)R.set(M.pageX,M.pageY);else{const b=Sr(M),ne=.5*(M.pageX+b.x),he=.5*(M.pageY+b.y);R.set(ne,he)}z.subVectors(R,T).multiplyScalar(l.panSpeed),B(z.x,z.y),T.copy(R)}function rn(M){const b=Sr(M),ne=M.pageX-b.x,he=M.pageY-b.y,je=Math.sqrt(ne*ne+he*he);j.set(0,je),k.set(0,Math.pow(j.y/H.y,l.zoomSpeed)),G(k.y),H.copy(j)}function Lt(M){l.enableZoom&&rn(M),l.enablePan&&xn(M)}function mr(M){l.enableZoom&&rn(M),l.enableRotate&&xt(M)}function bn(M){var b,ne;l.enabled!==!1&&(F.length===0&&((b=l.domElement)==null||b.ownerDocument.addEventListener("pointermove",En),(ne=l.domElement)==null||ne.ownerDocument.addEventListener("pointerup",ht)),rs(M),M.pointerType==="touch"?ts(M):vr(M))}function En(M){l.enabled!==!1&&(M.pointerType==="touch"?ns(M):gr(M))}function ht(M){var b,ne,he;is(M),F.length===0&&((b=l.domElement)==null||b.releasePointerCapture(M.pointerId),(ne=l.domElement)==null||ne.ownerDocument.removeEventListener("pointermove",En),(he=l.domElement)==null||he.ownerDocument.removeEventListener("pointerup",ht)),l.dispatchEvent(d),m=g.NONE}function vr(M){let b;switch(M.button){case 0:b=l.mouseButtons.LEFT;break;case 1:b=l.mouseButtons.MIDDLE;break;case 2:b=l.mouseButtons.RIGHT;break;default:b=-1}switch(b){case rr.DOLLY:if(l.enableZoom===!1)return;we(M),m=g.DOLLY;break;case rr.ROTATE:if(M.ctrlKey||M.metaKey||M.shiftKey){if(l.enablePan===!1)return;Ne(M),m=g.PAN}else{if(l.enableRotate===!1)return;ze(M),m=g.ROTATE}break;case rr.PAN:if(M.ctrlKey||M.metaKey||M.shiftKey){if(l.enableRotate===!1)return;ze(M),m=g.ROTATE}else{if(l.enablePan===!1)return;Ne(M),m=g.PAN}break;default:m=g.NONE}m!==g.NONE&&l.dispatchEvent(f)}function gr(M){if(l.enabled!==!1)switch(m){case g.ROTATE:if(l.enableRotate===!1)return;Xe(M);break;case g.DOLLY:if(l.enableZoom===!1)return;Ke(M);break;case g.PAN:if(l.enablePan===!1)return;lt(M);break}}function Et(M){l.enabled===!1||l.enableZoom===!1||m!==g.NONE&&m!==g.ROTATE||(M.preventDefault(),l.dispatchEvent(f),Oe(M),l.dispatchEvent(d))}function yr(M){l.enabled===!1||l.enablePan===!1||ue(M)}function ts(M){switch(Xr(M),F.length){case 1:switch(l.touches.ONE){case ir.ROTATE:if(l.enableRotate===!1)return;He(),m=g.TOUCH_ROTATE;break;case ir.PAN:if(l.enablePan===!1)return;Pe(),m=g.TOUCH_PAN;break;default:m=g.NONE}break;case 2:switch(l.touches.TWO){case ir.DOLLY_PAN:if(l.enableZoom===!1&&l.enablePan===!1)return;nn(),m=g.TOUCH_DOLLY_PAN;break;case ir.DOLLY_ROTATE:if(l.enableZoom===!1&&l.enableRotate===!1)return;hr(),m=g.TOUCH_DOLLY_ROTATE;break;default:m=g.NONE}break;default:m=g.NONE}m!==g.NONE&&l.dispatchEvent(f)}function ns(M){switch(Xr(M),m){case g.TOUCH_ROTATE:if(l.enableRotate===!1)return;xt(M),l.update();break;case g.TOUCH_PAN:if(l.enablePan===!1)return;xn(M),l.update();break;case g.TOUCH_DOLLY_PAN:if(l.enableZoom===!1&&l.enablePan===!1)return;Lt(M),l.update();break;case g.TOUCH_DOLLY_ROTATE:if(l.enableZoom===!1&&l.enableRotate===!1)return;mr(M),l.update();break;default:m=g.NONE}}function Yr(M){l.enabled!==!1&&M.preventDefault()}function rs(M){F.push(M)}function is(M){delete N[M.pointerId];for(let b=0;b<F.length;b++)if(F[b].pointerId==M.pointerId){F.splice(b,1);return}}function Xr(M){let b=N[M.pointerId];b===void 0&&(b=new Me,N[M.pointerId]=b),b.set(M.pageX,M.pageY)}function Sr(M){const b=M.pointerId===F[0].pointerId?F[1]:F[0];return N[b.pointerId]}this.dollyIn=(M=se())=>{q(M),l.update()},this.dollyOut=(M=se())=>{G(M),l.update()},this.getScale=()=>w,this.setScale=M=>{K(M),l.update()},this.getZoomScale=()=>se(),a!==void 0&&this.connect(a),this.update()}};const Tl=n=>n===Object(n)&&!Array.isArray(n)&&typeof n!="function";function Ql(n,i){const a=St(f=>f.gl),l=en(kn,Tl(n)?Object.values(n):n);return P.useLayoutEffect(()=>{i==null||i(l)},[i]),P.useEffect(()=>{if("initTexture"in a){let f=[];Array.isArray(l)?f=l:l instanceof Yi?f=[l]:Tl(l)&&(f=Object.values(l)),f.forEach(d=>{d instanceof Yi&&a.initTexture(d)})}},[a,l]),P.useMemo(()=>{if(Tl(n)){const f={};let d=0;for(const g in n)f[g]=l[d++];return f}else return l},[n,l])}Ql.preload=n=>en.preload(kn,n);Ql.clear=n=>en.clear(kn,n);const Gd=()=>parseInt(Fl.replace(/\D+/g,"")),Wd=Gd(),Vd=P.forwardRef(({makeDefault:n,camera:i,regress:a,domElement:l,enableDamping:c=!0,keyEvents:f=!1,onChange:d,onStart:g,onEnd:m,...y},p)=>{const h=St(k=>k.invalidate),w=St(k=>k.camera),x=St(k=>k.gl),_=St(k=>k.events),U=St(k=>k.setEvents),O=St(k=>k.set),T=St(k=>k.get),R=St(k=>k.performance),z=i||w,H=l||_.connected||x.domElement,j=P.useMemo(()=>new Hd(z),[z]);return st(()=>{j.enabled&&j.update()},-1),P.useEffect(()=>(f&&j.connect(f===!0?H:f),j.connect(H),()=>void j.dispose()),[f,H,a,j,h]),P.useEffect(()=>{const k=V=>{h(),a&&R.regress(),d&&d(V)},re=V=>{g&&g(V)},X=V=>{m&&m(V)};return j.addEventListener("change",k),j.addEventListener("start",re),j.addEventListener("end",X),()=>{j.removeEventListener("start",re),j.removeEventListener("end",X),j.removeEventListener("change",k)}},[d,g,m,j,h,U]),P.useEffect(()=>{if(n){const k=T().controls;return O({controls:j}),()=>O({controls:k})}},[n,j]),P.createElement("primitive",qi({ref:p,object:j,enableDamping:c},y))});class Qd extends Yt{constructor(){super({uniforms:{time:{value:0},fade:{value:1}},vertexShader:`
|
|
73
|
-
uniform float time;
|
|
74
|
-
attribute float size;
|
|
75
|
-
varying vec3 vColor;
|
|
76
|
-
void main() {
|
|
77
|
-
vColor = color;
|
|
78
|
-
vec4 mvPosition = modelViewMatrix * vec4(position, 0.5);
|
|
79
|
-
gl_PointSize = size * (30.0 / -mvPosition.z) * (3.0 + sin(time + 100.0));
|
|
80
|
-
gl_Position = projectionMatrix * mvPosition;
|
|
81
|
-
}`,fragmentShader:`
|
|
82
|
-
uniform sampler2D pointTexture;
|
|
83
|
-
uniform float fade;
|
|
84
|
-
varying vec3 vColor;
|
|
85
|
-
void main() {
|
|
86
|
-
float opacity = 1.0;
|
|
87
|
-
if (fade == 1.0) {
|
|
88
|
-
float d = distance(gl_PointCoord, vec2(0.5, 0.5));
|
|
89
|
-
opacity = 1.0 / (1.0 + exp(16.0 * (d - 0.25)));
|
|
90
|
-
}
|
|
91
|
-
gl_FragColor = vec4(vColor, opacity);
|
|
92
|
-
|
|
93
|
-
#include <tonemapping_fragment>
|
|
94
|
-
#include <${Wd>=154?"colorspace_fragment":"encodings_fragment"}>
|
|
95
|
-
}`})}}const Yd=n=>new Le().setFromSpherical(new Il(n,Math.acos(1-Math.random()*2),Math.random()*2*Math.PI)),Xd=P.forwardRef(({radius:n=100,depth:i=50,count:a=5e3,saturation:l=0,factor:c=4,fade:f=!1,speed:d=1},g)=>{const m=P.useRef(),[y,p,h]=P.useMemo(()=>{const x=[],_=[],U=Array.from({length:a},()=>(.5+.5*Math.random())*c),O=new dt;let T=n+i;const R=i/a;for(let z=0;z<a;z++)T-=R*Math.random(),x.push(...Yd(T).toArray()),O.setHSL(z/a,l,.9),_.push(O.r,O.g,O.b);return[new Float32Array(x),new Float32Array(_),new Float32Array(U)]},[a,i,c,n,l]);st(x=>m.current&&(m.current.uniforms.time.value=x.clock.elapsedTime*d));const[w]=P.useState(()=>new Qd);return P.createElement("points",{ref:g},P.createElement("bufferGeometry",null,P.createElement("bufferAttribute",{attach:"attributes-position",args:[y,3]}),P.createElement("bufferAttribute",{attach:"attributes-color",args:[p,3]}),P.createElement("bufferAttribute",{attach:"attributes-size",args:[h,1]})),P.createElement("primitive",{ref:m,object:w,attach:"material",blending:hf,"uniforms-fade-value":f,depthWrite:!1,transparent:!0,vertexColors:!0}))});/**
|
|
96
|
-
* postprocessing v6.39.1 build Fri Apr 17 2026
|
|
97
|
-
* https://github.com/pmndrs/postprocessing
|
|
98
|
-
* Copyright 2015-2026 Raoul van Rüschen
|
|
99
|
-
* @license Zlib
|
|
100
|
-
*/var Kd=(()=>{const n=new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),i=new Float32Array([0,0,2,0,0,2]),a=new du;return a.setAttribute("position",new Al(n,3)),a.setAttribute("uv",new Al(i,2)),a})(),pt=class Ll{static get fullscreenGeometry(){return Kd}constructor(i="Pass",a=new Cl,l=new Un){this.name=i,this.renderer=null,this.scene=a,this.camera=l,this.screen=null,this.rtt=!0,this.needsSwap=!0,this.needsDepthBlit=!1,this.needsDepthTexture=!1,this.enabled=!0}get renderToScreen(){return!this.rtt}set renderToScreen(i){if(this.rtt===i){const a=this.fullscreenMaterial;a!==null&&(a.needsUpdate=!0),this.rtt=!i}}set mainScene(i){}set mainCamera(i){}setRenderer(i){this.renderer=i}isEnabled(){return this.enabled}setEnabled(i){this.enabled=i}get fullscreenMaterial(){return this.screen!==null?this.screen.material:null}set fullscreenMaterial(i){let a=this.screen;a!==null?a.material=i:(a=new Sf(Ll.fullscreenGeometry,i),a.frustumCulled=!1,this.scene===null&&(this.scene=new Cl),this.scene.add(a),this.screen=a)}getFullscreenMaterial(){return this.fullscreenMaterial}setFullscreenMaterial(i){this.fullscreenMaterial=i}getDepthTexture(){return null}setDepthTexture(i,a=pr){}render(i,a,l,c,f){throw new Error("Render method not implemented!")}setSize(i,a){}initialize(i,a,l){}dispose(){for(const i of Object.keys(this)){const a=this[i];(a instanceof Bt||a instanceof fu||a instanceof Yi||a instanceof Ll)&&this[i].dispose()}this.fullscreenMaterial!==null&&this.fullscreenMaterial.dispose()}},Zd=class extends pt{constructor(){super("ClearMaskPass",null,null),this.needsSwap=!1}render(n,i,a,l,c){const f=n.state.buffers.stencil;f.setLocked(!1),f.setTest(!1)}},Jd=`#ifdef COLOR_WRITE
|
|
101
|
-
#include <common>
|
|
102
|
-
#include <dithering_pars_fragment>
|
|
103
|
-
#ifdef FRAMEBUFFER_PRECISION_HIGH
|
|
104
|
-
uniform mediump sampler2D inputBuffer;
|
|
105
|
-
#else
|
|
106
|
-
uniform lowp sampler2D inputBuffer;
|
|
107
|
-
#endif
|
|
108
|
-
#endif
|
|
109
|
-
#ifdef DEPTH_WRITE
|
|
110
|
-
#include <packing>
|
|
111
|
-
#ifdef GL_FRAGMENT_PRECISION_HIGH
|
|
112
|
-
uniform highp sampler2D depthBuffer;
|
|
113
|
-
#else
|
|
114
|
-
uniform mediump sampler2D depthBuffer;
|
|
115
|
-
#endif
|
|
116
|
-
float readDepth(const in vec2 uv){
|
|
117
|
-
#if DEPTH_PACKING == 3201
|
|
118
|
-
return unpackRGBAToDepth(texture2D(depthBuffer,uv));
|
|
119
|
-
#else
|
|
120
|
-
return texture2D(depthBuffer,uv).r;
|
|
121
|
-
#endif
|
|
122
|
-
}
|
|
123
|
-
#endif
|
|
124
|
-
#ifdef USE_WEIGHTS
|
|
125
|
-
uniform vec4 channelWeights;
|
|
126
|
-
#endif
|
|
127
|
-
uniform float opacity;varying vec2 vUv;void main(){
|
|
128
|
-
#ifdef COLOR_WRITE
|
|
129
|
-
vec4 texel=texture2D(inputBuffer,vUv);
|
|
130
|
-
#ifdef USE_WEIGHTS
|
|
131
|
-
texel*=channelWeights;
|
|
132
|
-
#endif
|
|
133
|
-
gl_FragColor=opacity*texel;
|
|
134
|
-
#ifdef COLOR_SPACE_CONVERSION
|
|
135
|
-
#include <colorspace_fragment>
|
|
136
|
-
#endif
|
|
137
|
-
#include <dithering_fragment>
|
|
138
|
-
#else
|
|
139
|
-
gl_FragColor=vec4(0.0);
|
|
140
|
-
#endif
|
|
141
|
-
#ifdef DEPTH_WRITE
|
|
142
|
-
gl_FragDepth=readDepth(vUv);
|
|
143
|
-
#endif
|
|
144
|
-
}`,bu="varying vec2 vUv;void main(){vUv=position.xy*0.5+0.5;gl_Position=vec4(position.xy,1.0,1.0);}",Hu=class extends Yt{constructor(){super({name:"CopyMaterial",defines:{COLOR_SPACE_CONVERSION:"1",DEPTH_PACKING:"0",COLOR_WRITE:"1"},uniforms:{inputBuffer:new Se(null),depthBuffer:new Se(null),channelWeights:new Se(null),opacity:new Se(1)},blending:jn,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:Jd,vertexShader:bu}),this.depthFunc=Ef}get inputBuffer(){return this.uniforms.inputBuffer.value}set inputBuffer(n){const i=n!==null;this.colorWrite!==i&&(i?this.defines.COLOR_WRITE=!0:delete this.defines.COLOR_WRITE,this.colorWrite=i,this.needsUpdate=!0),this.uniforms.inputBuffer.value=n}get depthBuffer(){return this.uniforms.depthBuffer.value}set depthBuffer(n){const i=n!==null;this.depthWrite!==i&&(i?this.defines.DEPTH_WRITE=!0:delete this.defines.DEPTH_WRITE,this.depthTest=i,this.depthWrite=i,this.needsUpdate=!0),this.uniforms.depthBuffer.value=n}set depthPacking(n){this.defines.DEPTH_PACKING=n.toFixed(0),this.needsUpdate=!0}get colorSpaceConversion(){return this.defines.COLOR_SPACE_CONVERSION!==void 0}set colorSpaceConversion(n){this.colorSpaceConversion!==n&&(n?this.defines.COLOR_SPACE_CONVERSION=!0:delete this.defines.COLOR_SPACE_CONVERSION,this.needsUpdate=!0)}get channelWeights(){return this.uniforms.channelWeights.value}set channelWeights(n){n!==null?(this.defines.USE_WEIGHTS="1",this.uniforms.channelWeights.value=n):delete this.defines.USE_WEIGHTS,this.needsUpdate=!0}setInputBuffer(n){this.uniforms.inputBuffer.value=n}getOpacity(n){return this.uniforms.opacity.value}setOpacity(n){this.uniforms.opacity.value=n}},qd=class extends pt{constructor(n,i=!0){super("CopyPass"),this.fullscreenMaterial=new Hu,this.needsSwap=!1,this.renderTarget=n,n===void 0&&(this.renderTarget=new Bt(1,1,{minFilter:Xi,magFilter:Xi,stencilBuffer:!1,depthBuffer:!1}),this.renderTarget.texture.name="CopyPass.Target"),this.autoResize=i}get resize(){return this.autoResize}set resize(n){this.autoResize=n}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}setAutoResizeEnabled(n){this.autoResize=n}render(n,i,a,l,c){this.fullscreenMaterial.inputBuffer=i.texture,n.setRenderTarget(this.renderToScreen?null:this.renderTarget),n.render(this.scene,this.camera)}setSize(n,i){this.autoResize&&this.renderTarget.setSize(n,i)}initialize(n,i,a){a!==void 0&&(this.renderTarget.texture.type=a,a!==Sn?this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1":n!==null&&n.outputColorSpace===tt&&(this.renderTarget.texture.colorSpace=tt))}},$a=new dt,Gu=class extends pt{constructor(n=!0,i=!0,a=!1){super("ClearPass",null,null),this.needsSwap=!1,this.color=n,this.depth=i,this.stencil=a,this.overrideClearColor=null,this.overrideClearAlpha=-1}setClearFlags(n,i,a){this.color=n,this.depth=i,this.stencil=a}getOverrideClearColor(){return this.overrideClearColor}setOverrideClearColor(n){this.overrideClearColor=n}getOverrideClearAlpha(){return this.overrideClearAlpha}setOverrideClearAlpha(n){this.overrideClearAlpha=n}render(n,i,a,l,c){const f=this.overrideClearColor,d=this.overrideClearAlpha,g=n.getClearAlpha(),m=f!==null,y=d>=0;m?(n.getClearColor($a),n.setClearColor(f,y?d:g)):y&&n.setClearAlpha(d),n.setRenderTarget(this.renderToScreen?null:i),n.clear(this.color,this.depth,this.stencil),m?n.setClearColor($a,g):y&&n.setClearAlpha(g)}},$d=class extends pt{constructor(n,i){super("MaskPass",n,i),this.needsSwap=!1,this.clearPass=new Gu(!1,!1,!0),this.inverse=!1}set mainScene(n){this.scene=n}set mainCamera(n){this.camera=n}get inverted(){return this.inverse}set inverted(n){this.inverse=n}get clear(){return this.clearPass.enabled}set clear(n){this.clearPass.enabled=n}getClearPass(){return this.clearPass}isInverted(){return this.inverted}setInverted(n){this.inverted=n}render(n,i,a,l,c){const f=n.getContext(),d=n.state.buffers,g=this.scene,m=this.camera,y=this.clearPass,p=this.inverted?0:1,h=1-p;d.color.setMask(!1),d.depth.setMask(!1),d.color.setLocked(!0),d.depth.setLocked(!0),d.stencil.setTest(!0),d.stencil.setOp(f.REPLACE,f.REPLACE,f.REPLACE),d.stencil.setFunc(f.ALWAYS,p,4294967295),d.stencil.setClear(h),d.stencil.setLocked(!0),this.clearPass.enabled&&(this.renderToScreen?y.render(n,null):(y.render(n,i),y.render(n,a))),this.renderToScreen?(n.setRenderTarget(null),n.render(g,m)):(n.setRenderTarget(i),n.render(g,m),n.setRenderTarget(a),n.render(g,m)),d.color.setLocked(!1),d.depth.setLocked(!1),d.stencil.setLocked(!1),d.stencil.setFunc(f.EQUAL,1,4294967295),d.stencil.setOp(f.KEEP,f.KEEP,f.KEEP),d.stencil.setLocked(!0)}},_l=1/1e3,ep=1e3,tp=class{constructor(){this.startTime=performance.now(),this.previousTime=0,this.currentTime=0,this._delta=0,this._elapsed=0,this._fixedDelta=1e3/60,this.timescale=1,this.useFixedDelta=!1,this._autoReset=!1}get autoReset(){return this._autoReset}set autoReset(n){typeof document<"u"&&document.hidden!==void 0&&(n?document.addEventListener("visibilitychange",this):document.removeEventListener("visibilitychange",this),this._autoReset=n)}get delta(){return this._delta*_l}get fixedDelta(){return this._fixedDelta*_l}set fixedDelta(n){this._fixedDelta=n*ep}get elapsed(){return this._elapsed*_l}update(n){this.useFixedDelta?this._delta=this.fixedDelta:(this.previousTime=this.currentTime,this.currentTime=(n!==void 0?n:performance.now())-this.startTime,this._delta=this.currentTime-this.previousTime),this._delta*=this.timescale,this._elapsed+=this._delta}reset(){this._delta=0,this._elapsed=0,this.currentTime=performance.now()-this.startTime}getDelta(){return this.delta}getElapsed(){return this.elapsed}handleEvent(n){document.hidden||(this.currentTime=performance.now()-this.startTime)}dispose(){this.autoReset=!1}},np=class{constructor(i=null,{depthBuffer:a=!0,stencilBuffer:l=!1,multisampling:c=0,frameBufferType:f}={}){this.renderer=null,this.inputBuffer=this.createBuffer(a,l,f,c),this.outputBuffer=this.inputBuffer.clone(),this.copyPass=new qd,this.depthTexture=null,this.depthRenderTarget=null,this.passes=[],this.timer=new tp,this.autoRenderToScreen=!0,this.setRenderer(i)}get multisampling(){return this.inputBuffer.samples}set multisampling(i){const a=this.inputBuffer,l=this.multisampling;l>0&&i>0?(this.inputBuffer.samples=i,this.outputBuffer.samples=i,this.inputBuffer.dispose(),this.outputBuffer.dispose()):l!==i&&(this.inputBuffer.dispose(),this.outputBuffer.dispose(),this.inputBuffer=this.createBuffer(a.depthBuffer,a.stencilBuffer,a.texture.type,i),this.outputBuffer=this.inputBuffer.clone())}getTimer(){return this.timer}getRenderer(){return this.renderer}setRenderer(i){if(this.renderer=i,i!==null){const a=i.getSize(new Me),l=i.getContext().getContextAttributes().alpha,c=this.inputBuffer.texture.type;c===Sn&&i.outputColorSpace===tt&&(this.inputBuffer.texture.colorSpace=tt,this.outputBuffer.texture.colorSpace=tt,this.inputBuffer.dispose(),this.outputBuffer.dispose()),i.autoClear=!1,this.setSize(a.width,a.height);for(const f of this.passes)f.initialize(i,l,c)}}replaceRenderer(i,a=!0){const l=this.renderer,c=l.domElement.parentNode;return this.setRenderer(i),a&&c!==null&&(c.removeChild(l.domElement),c.appendChild(i.domElement)),l}createDepthTexture(){const i=this.inputBuffer,a=new mf;this.depthTexture=a,i.stencilBuffer?(a.format=vf,a.type=gf):a.type=au;const l=a.clone();return l.name="EffectComposer.StableDepth",this.depthRenderTarget=new Bt(i.width,i.height,{depthBuffer:!0,stencilBuffer:i.stencilBuffer,depthTexture:l}),l}blitDepthBuffer(i){const a=this.renderer,l=this.depthRenderTarget,c=a.properties,f=a.getContext();a.setRenderTarget(l);const d=c.get(i).__webglFramebuffer,g=c.get(l).__webglFramebuffer,m=i.stencilBuffer?f.DEPTH_BUFFER_BIT|f.STENCIL_BUFFER_BIT:f.DEPTH_BUFFER_BIT;f.bindFramebuffer(f.READ_FRAMEBUFFER,d),f.bindFramebuffer(f.DRAW_FRAMEBUFFER,g),f.blitFramebuffer(0,0,i.width,i.height,0,0,l.width,l.height,m,f.NEAREST),f.bindFramebuffer(f.READ_FRAMEBUFFER,null),f.bindFramebuffer(f.DRAW_FRAMEBUFFER,null),a.setRenderTarget(null)}deleteDepthTexture(){if(this.depthTexture!==null){this.depthTexture.dispose(),this.depthTexture=null,this.depthRenderTarget.dispose(),this.depthRenderTarget=null,this.inputBuffer.depthTexture=null,this.outputBuffer.depthTexture=null;for(const i of this.passes)i.setDepthTexture(null)}}createBuffer(i,a,l,c){const f=this.renderer,d=f===null?new Me:f.getDrawingBufferSize(new Me),g={minFilter:Xi,magFilter:Xi,stencilBuffer:a,depthBuffer:i,type:l},m=new Bt(d.width,d.height,g);return c>0&&(m.samples=c),l===Sn&&f!==null&&f.outputColorSpace===tt&&(m.texture.colorSpace=tt),m.texture.name="EffectComposer.Buffer",m.texture.generateMipmaps=!1,m}setMainScene(i){for(const a of this.passes)a.mainScene=i}setMainCamera(i){for(const a of this.passes)a.mainCamera=i}addPass(i,a){const l=this.passes,c=this.renderer,f=c.getDrawingBufferSize(new Me),d=c.getContext().getContextAttributes().alpha,g=this.inputBuffer.texture.type;if(i.renderer=c,i.setSize(f.width,f.height),i.initialize(c,d,g),this.autoRenderToScreen&&(l.length>0&&(l[l.length-1].renderToScreen=!1),i.renderToScreen&&(this.autoRenderToScreen=!1)),a!==void 0?l.splice(a,0,i):l.push(i),this.autoRenderToScreen&&(l[l.length-1].renderToScreen=!0),i.needsDepthTexture||this.depthTexture!==null)if(this.depthTexture===null){const m=this.createDepthTexture();for(i of l)i.setDepthTexture(m)}else{const m=this.depthRenderTarget.depthTexture;i.setDepthTexture(m)}}removePass(i){const a=this.passes,l=a.indexOf(i);if(l!==-1&&a.splice(l,1).length>0){if(this.depthTexture!==null){const d=(m,y)=>m||y.needsDepthTexture;if(!a.reduce(d,!1)){const m=this.depthRenderTarget.depthTexture;i.getDepthTexture()===m&&i.setDepthTexture(null),this.deleteDepthTexture()}}this.autoRenderToScreen&&l===a.length&&(i.renderToScreen=!1,a.length>0&&(a[a.length-1].renderToScreen=!0))}}removeAllPasses(){const i=this.passes;this.deleteDepthTexture(),i.length>0&&(this.autoRenderToScreen&&(i[i.length-1].renderToScreen=!1),this.passes=[])}render(i){const a=this.renderer,l=this.copyPass;let c=this.inputBuffer,f=this.outputBuffer,d,g=!1;i===void 0&&(this.timer.update(),i=this.timer.getDelta());for(const m of this.passes)if(m.enabled){if(c.depthTexture=this.depthTexture,f.depthTexture=null,m.render(a,c,f,i,g),m.needsDepthBlit&&this.depthRenderTarget!==null&&this.blitDepthBuffer(c),m.needsSwap){if(g){l.renderToScreen=m.renderToScreen;const y=a.getContext(),p=a.state.buffers.stencil;p.setFunc(y.NOTEQUAL,1,4294967295),l.render(a,c,f,i,g),p.setFunc(y.EQUAL,1,4294967295)}d=c,c=f,f=d}m instanceof $d?g=!0:m instanceof Zd&&(g=!1)}}setSize(i,a,l){const c=this.renderer,f=c.getSize(new Me);(i===void 0||a===void 0)&&(i=f.width,a=f.height),(f.width!==i||f.height!==a)&&c.setSize(i,a,l);const d=c.getDrawingBufferSize(new Me);this.inputBuffer.setSize(d.width,d.height),this.outputBuffer.setSize(d.width,d.height),this.depthRenderTarget!==null&&this.depthRenderTarget.setSize(d.width,d.height);for(const g of this.passes)g.setSize(d.width,d.height)}reset(){this.dispose(),this.autoRenderToScreen=!0}dispose(){for(const i of this.passes)i.dispose();this.passes=[],this.inputBuffer!==null&&this.inputBuffer.dispose(),this.outputBuffer!==null&&this.outputBuffer.dispose(),this.deleteDepthTexture(),this.copyPass.dispose(),this.timer.dispose(),pt.fullscreenGeometry.dispose()}},tn={NONE:0,DEPTH:1,CONVOLUTION:2},ye={FRAGMENT_HEAD:"FRAGMENT_HEAD",FRAGMENT_MAIN_UV:"FRAGMENT_MAIN_UV",FRAGMENT_MAIN_IMAGE:"FRAGMENT_MAIN_IMAGE",VERTEX_HEAD:"VERTEX_HEAD",VERTEX_MAIN_SUPPORT:"VERTEX_MAIN_SUPPORT"},rp=class{constructor(){this.shaderParts=new Map([[ye.FRAGMENT_HEAD,null],[ye.FRAGMENT_MAIN_UV,null],[ye.FRAGMENT_MAIN_IMAGE,null],[ye.VERTEX_HEAD,null],[ye.VERTEX_MAIN_SUPPORT,null]]),this.defines=new Map,this.uniforms=new Map,this.blendModes=new Map,this.extensions=new Set,this.attributes=tn.NONE,this.varyings=new Set,this.uvTransformation=!1,this.readDepth=!1,this.colorSpace=uu}},Pl=!1,eu=class{constructor(n=null){this.originalMaterials=new Map,this.material=null,this.materials=null,this.materialsBackSide=null,this.materialsDoubleSide=null,this.materialsFlatShaded=null,this.materialsFlatShadedBackSide=null,this.materialsFlatShadedDoubleSide=null,this.setMaterial(n),this.meshCount=0,this.replaceMaterial=i=>{if(i.isMesh){let a;if(i.material.flatShading)switch(i.material.side){case Dn:a=this.materialsFlatShadedDoubleSide;break;case cr:a=this.materialsFlatShadedBackSide;break;default:a=this.materialsFlatShaded;break}else switch(i.material.side){case Dn:a=this.materialsDoubleSide;break;case cr:a=this.materialsBackSide;break;default:a=this.materials;break}this.originalMaterials.set(i,i.material),i.isSkinnedMesh?i.material=a[2]:i.isInstancedMesh?i.material=a[1]:i.material=a[0],++this.meshCount}}}cloneMaterial(n){if(!(n instanceof Yt))return n.clone();const i=n.uniforms,a=new Map;for(const c in i){const f=i[c].value;f.isRenderTargetTexture&&(i[c].value=null,a.set(c,f))}const l=n.clone();for(const c of a)i[c[0]].value=c[1],l.uniforms[c[0]].value=c[1];return l}setMaterial(n){if(this.disposeMaterials(),this.material=n,n!==null){const i=this.materials=[this.cloneMaterial(n),this.cloneMaterial(n),this.cloneMaterial(n)];for(const a of i)a.uniforms=Object.assign({},n.uniforms),a.side=xf;i[2].skinning=!0,this.materialsBackSide=i.map(a=>{const l=this.cloneMaterial(a);return l.uniforms=Object.assign({},n.uniforms),l.side=cr,l}),this.materialsDoubleSide=i.map(a=>{const l=this.cloneMaterial(a);return l.uniforms=Object.assign({},n.uniforms),l.side=Dn,l}),this.materialsFlatShaded=i.map(a=>{const l=this.cloneMaterial(a);return l.uniforms=Object.assign({},n.uniforms),l.flatShading=!0,l}),this.materialsFlatShadedBackSide=i.map(a=>{const l=this.cloneMaterial(a);return l.uniforms=Object.assign({},n.uniforms),l.flatShading=!0,l.side=cr,l}),this.materialsFlatShadedDoubleSide=i.map(a=>{const l=this.cloneMaterial(a);return l.uniforms=Object.assign({},n.uniforms),l.flatShading=!0,l.side=Dn,l})}}render(n,i,a){const l=n.shadowMap.enabled;if(n.shadowMap.enabled=!1,Pl){const c=this.originalMaterials;this.meshCount=0,i.traverse(this.replaceMaterial),n.render(i,a);for(const f of c)f[0].material=f[1];this.meshCount!==c.size&&c.clear()}else{const c=i.overrideMaterial;i.overrideMaterial=this.material,n.render(i,a),i.overrideMaterial=c}n.shadowMap.enabled=l}disposeMaterials(){if(this.material!==null){const n=this.materials.concat(this.materialsBackSide).concat(this.materialsDoubleSide).concat(this.materialsFlatShaded).concat(this.materialsFlatShadedBackSide).concat(this.materialsFlatShadedDoubleSide);for(const i of n)i.dispose()}}dispose(){this.originalMaterials.clear(),this.disposeMaterials()}static get workaroundEnabled(){return Pl}static set workaroundEnabled(n){Pl=n}},yn=-1,nt=class extends bl{constructor(n=null,i=yn,a=yn,l=1){super(),n!==null&&this.addEventListener("change",()=>n.setSize(this.baseSize.width,this.baseSize.height)),this.baseSize=new Me(1,1),this.preferredSize=new Me(i,a),this.target=this.preferredSize,this.s=l,this.effectiveSize=new Me,this.addEventListener("change",()=>this.updateEffectiveSize()),this.updateEffectiveSize()}updateEffectiveSize(){const n=this.baseSize,i=this.preferredSize,a=this.effectiveSize,l=this.scale;i.width!==yn?a.width=i.width:i.height!==yn?a.width=Math.round(i.height*(n.width/Math.max(n.height,1))):a.width=Math.round(n.width*l),i.height!==yn?a.height=i.height:i.width!==yn?a.height=Math.round(i.width/Math.max(n.width/Math.max(n.height,1),1)):a.height=Math.round(n.height*l)}get width(){return this.effectiveSize.width}set width(n){this.preferredWidth=n}get height(){return this.effectiveSize.height}set height(n){this.preferredHeight=n}getWidth(){return this.width}getHeight(){return this.height}get scale(){return this.s}set scale(n){this.s!==n&&(this.s=n,this.preferredSize.setScalar(yn),this.dispatchEvent({type:"change"}))}getScale(){return this.scale}setScale(n){this.scale=n}get baseWidth(){return this.baseSize.width}set baseWidth(n){this.baseSize.width!==n&&(this.baseSize.width=n,this.dispatchEvent({type:"change"}))}getBaseWidth(){return this.baseWidth}setBaseWidth(n){this.baseWidth=n}get baseHeight(){return this.baseSize.height}set baseHeight(n){this.baseSize.height!==n&&(this.baseSize.height=n,this.dispatchEvent({type:"change"}))}getBaseHeight(){return this.baseHeight}setBaseHeight(n){this.baseHeight=n}setBaseSize(n,i){(this.baseSize.width!==n||this.baseSize.height!==i)&&(this.baseSize.set(n,i),this.dispatchEvent({type:"change"}))}get preferredWidth(){return this.preferredSize.width}set preferredWidth(n){this.preferredSize.width!==n&&(this.preferredSize.width=n,this.dispatchEvent({type:"change"}))}getPreferredWidth(){return this.preferredWidth}setPreferredWidth(n){this.preferredWidth=n}get preferredHeight(){return this.preferredSize.height}set preferredHeight(n){this.preferredSize.height!==n&&(this.preferredSize.height=n,this.dispatchEvent({type:"change"}))}getPreferredHeight(){return this.preferredHeight}setPreferredHeight(n){this.preferredHeight=n}setPreferredSize(n,i){(this.preferredSize.width!==n||this.preferredSize.height!==i)&&(this.preferredSize.set(n,i),this.dispatchEvent({type:"change"}))}copy(n){this.s=n.scale,this.baseSize.set(n.baseWidth,n.baseHeight),this.preferredSize.set(n.preferredWidth,n.preferredHeight),this.dispatchEvent({type:"change"})}static get AUTO_SIZE(){return yn}},de={ADD:0,ALPHA:1,AVERAGE:2,COLOR:3,COLOR_BURN:4,COLOR_DODGE:5,DARKEN:6,DIFFERENCE:7,DIVIDE:8,DST:9,EXCLUSION:10,HARD_LIGHT:11,HARD_MIX:12,HUE:13,INVERT:14,INVERT_RGB:15,LIGHTEN:16,LINEAR_BURN:17,LINEAR_DODGE:18,LINEAR_LIGHT:19,LUMINOSITY:20,MULTIPLY:21,NEGATION:22,NORMAL:23,OVERLAY:24,PIN_LIGHT:25,REFLECT:26,SATURATION:27,SCREEN:28,SOFT_LIGHT:29,SRC:30,SUBTRACT:31,VIVID_LIGHT:32},ip="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=dst.rgb+src.rgb;return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",sp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){return mix(dst,src,src.a*opacity);}",lp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=(dst.rgb+src.rgb)*0.5;return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",op="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=RGBToHSL(dst.rgb);vec3 b=RGBToHSL(src.rgb);vec3 c=HSLToRGB(vec3(b.xy,a.z));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",ap="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=dst.rgb,b=src.rgb;vec3 c=mix(step(0.0,b)*(1.0-min(vec3(1.0),(1.0-a)/max(b,1e-9))),vec3(1.0),step(1.0,a));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",up="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=dst.rgb,b=src.rgb;vec3 c=step(0.0,a)*mix(min(vec3(1.0),a/max(1.0-b,1e-9)),vec3(1.0),step(1.0,b));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",cp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=min(dst.rgb,src.rgb);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",fp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=abs(dst.rgb-src.rgb);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",dp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=dst.rgb/max(src.rgb,1e-9);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",pp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=dst.rgb+src.rgb-2.0*dst.rgb*src.rgb;return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",hp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=min(dst.rgb,1.0);vec3 b=min(src.rgb,1.0);vec3 c=mix(2.0*a*b,1.0-2.0*(1.0-a)*(1.0-b),step(0.5,b));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",mp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=step(1.0,dst.rgb+src.rgb);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",vp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=RGBToHSL(dst.rgb);vec3 b=RGBToHSL(src.rgb);vec3 c=HSLToRGB(vec3(b.x,a.yz));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",gp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=max(1.0-src.rgb,0.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",yp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=src.rgb*max(1.0-dst.rgb,0.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",Sp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=max(dst.rgb,src.rgb);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",xp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=clamp(src.rgb+dst.rgb-1.0,0.0,1.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",Ep="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=min(dst.rgb+src.rgb,1.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",wp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=clamp(2.0*src.rgb+dst.rgb-1.0,0.0,1.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",Mp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=RGBToHSL(dst.rgb);vec3 b=RGBToHSL(src.rgb);vec3 c=HSLToRGB(vec3(a.xy,b.z));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",Tp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=dst.rgb*src.rgb;return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",_p="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=max(1.0-abs(1.0-dst.rgb-src.rgb),0.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",Pp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){return mix(dst,src,opacity);}",Rp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=2.0*src.rgb*dst.rgb;vec3 b=1.0-2.0*(1.0-src.rgb)*(1.0-dst.rgb);vec3 c=mix(a,b,step(0.5,dst.rgb));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",Cp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 src2=2.0*src.rgb;vec3 c=mix(mix(src2,dst.rgb,step(0.5*dst.rgb,src.rgb)),max(src2-1.0,vec3(0.0)),step(dst.rgb,src2-1.0));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",Ip="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=min(dst.rgb*dst.rgb/max(1.0-src.rgb,1e-9),1.0);vec3 c=mix(a,src.rgb,step(1.0,src.rgb));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",zp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=RGBToHSL(dst.rgb);vec3 b=RGBToHSL(src.rgb);vec3 c=HSLToRGB(vec3(a.x,b.y,a.z));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",Ap="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=dst.rgb+src.rgb-min(dst.rgb*src.rgb,1.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",Dp="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 src2=2.0*src.rgb;vec3 d=dst.rgb+(src2-1.0);vec3 w=step(0.5,src.rgb);vec3 a=dst.rgb-(1.0-src2)*dst.rgb*(1.0-dst.rgb);vec3 b=mix(d*(sqrt(dst.rgb)-dst.rgb),d*dst.rgb*((16.0*dst.rgb-12.0)*dst.rgb+3.0),w*(1.0-step(0.25,dst.rgb)));vec3 c=mix(a,b,w);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",Np="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){return src;}",Op="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=max(dst.rgb-src.rgb,0.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",Up="vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=mix(max(1.0-min((1.0-dst.rgb)/(2.0*src.rgb),1.0),0.0),min(dst.rgb/(2.0*(1.0-src.rgb)),1.0),step(0.5,src.rgb));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}",Bp=new Map([[de.ADD,ip],[de.ALPHA,sp],[de.AVERAGE,lp],[de.COLOR,op],[de.COLOR_BURN,ap],[de.COLOR_DODGE,up],[de.DARKEN,cp],[de.DIFFERENCE,fp],[de.DIVIDE,dp],[de.DST,null],[de.EXCLUSION,pp],[de.HARD_LIGHT,hp],[de.HARD_MIX,mp],[de.HUE,vp],[de.INVERT,gp],[de.INVERT_RGB,yp],[de.LIGHTEN,Sp],[de.LINEAR_BURN,xp],[de.LINEAR_DODGE,Ep],[de.LINEAR_LIGHT,wp],[de.LUMINOSITY,Mp],[de.MULTIPLY,Tp],[de.NEGATION,_p],[de.NORMAL,Pp],[de.OVERLAY,Rp],[de.PIN_LIGHT,Cp],[de.REFLECT,Ip],[de.SATURATION,zp],[de.SCREEN,Ap],[de.SOFT_LIGHT,Dp],[de.SRC,Np],[de.SUBTRACT,Op],[de.VIVID_LIGHT,Up]]),kp=class extends bl{constructor(n,i=1){super(),this._blendFunction=n,this.opacity=new Se(i)}getOpacity(){return this.opacity.value}setOpacity(n){this.opacity.value=n}get blendFunction(){return this._blendFunction}set blendFunction(n){this._blendFunction=n,this.dispatchEvent({type:"change"})}getBlendFunction(){return this.blendFunction}setBlendFunction(n){this.blendFunction=n}getShaderCode(){return Bp.get(this.blendFunction)}},jl=class extends bl{constructor(n,i,{attributes:a=tn.NONE,blendFunction:l=de.NORMAL,defines:c=new Map,uniforms:f=new Map,extensions:d=null,vertexShader:g=null}={}){super(),this.name=n,this.renderer=null,this.attributes=a,this.fragmentShader=i,this.vertexShader=g,this.defines=c,this.uniforms=f,this.extensions=d,this.blendMode=new kp(l),this.blendMode.addEventListener("change",m=>this.setChanged()),this._inputColorSpace=uu,this._outputColorSpace=cu}get inputColorSpace(){return this._inputColorSpace}set inputColorSpace(n){this._inputColorSpace=n,this.setChanged()}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(n){this._outputColorSpace=n,this.setChanged()}set mainScene(n){}set mainCamera(n){}getName(){return this.name}setRenderer(n){this.renderer=n}getDefines(){return this.defines}getUniforms(){return this.uniforms}getExtensions(){return this.extensions}getBlendMode(){return this.blendMode}getAttributes(){return this.attributes}setAttributes(n){this.attributes=n,this.setChanged()}getFragmentShader(){return this.fragmentShader}setFragmentShader(n){this.fragmentShader=n,this.setChanged()}getVertexShader(){return this.vertexShader}setVertexShader(n){this.vertexShader=n,this.setChanged()}setChanged(){this.dispatchEvent({type:"change"})}setDepthTexture(n,i=pr){}update(n,i,a){}setSize(n,i){}initialize(n,i,a){}dispose(){for(const n of Object.keys(this)){const i=this[n];(i instanceof Bt||i instanceof fu||i instanceof Yi||i instanceof pt)&&this[n].dispose()}}},Yl={MEDIUM:2,LARGE:3},Lp=`#ifdef FRAMEBUFFER_PRECISION_HIGH
|
|
145
|
-
uniform mediump sampler2D inputBuffer;
|
|
146
|
-
#else
|
|
147
|
-
uniform lowp sampler2D inputBuffer;
|
|
148
|
-
#endif
|
|
149
|
-
varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;void main(){vec4 sum=texture2D(inputBuffer,vUv0);sum+=texture2D(inputBuffer,vUv1);sum+=texture2D(inputBuffer,vUv2);sum+=texture2D(inputBuffer,vUv3);gl_FragColor=sum*0.25;
|
|
150
|
-
#include <colorspace_fragment>
|
|
151
|
-
}`,jp="uniform vec4 texelSize;uniform float kernel;uniform float scale;varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;void main(){vec2 uv=position.xy*0.5+0.5;vec2 dUv=(texelSize.xy*vec2(kernel)+texelSize.zw)*scale;vUv0=vec2(uv.x-dUv.x,uv.y+dUv.y);vUv1=vec2(uv.x+dUv.x,uv.y+dUv.y);vUv2=vec2(uv.x+dUv.x,uv.y-dUv.y);vUv3=vec2(uv.x-dUv.x,uv.y-dUv.y);gl_Position=vec4(position.xy,1.0,1.0);}",Fp=[new Float32Array([0,0]),new Float32Array([0,1,1]),new Float32Array([0,1,1,2]),new Float32Array([0,1,2,2,3]),new Float32Array([0,1,2,3,4,4,5]),new Float32Array([0,1,2,3,4,5,7,8,9,10])],bp=class extends Yt{constructor(n=new Na){super({name:"KawaseBlurMaterial",uniforms:{inputBuffer:new Se(null),texelSize:new Se(new Na),scale:new Se(1),kernel:new Se(0)},blending:jn,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:Lp,vertexShader:jp}),this.setTexelSize(n.x,n.y),this.kernelSize=Yl.MEDIUM}set inputBuffer(n){this.uniforms.inputBuffer.value=n}setInputBuffer(n){this.inputBuffer=n}get kernelSequence(){return Fp[this.kernelSize]}get scale(){return this.uniforms.scale.value}set scale(n){this.uniforms.scale.value=n}getScale(){return this.uniforms.scale.value}setScale(n){this.uniforms.scale.value=n}getKernel(){return null}get kernel(){return this.uniforms.kernel.value}set kernel(n){this.uniforms.kernel.value=n}setKernel(n){this.kernel=n}setTexelSize(n,i){this.uniforms.texelSize.value.set(n,i,n*.5,i*.5)}setSize(n,i){const a=1/n,l=1/i;this.uniforms.texelSize.value.set(a,l,a*.5,l*.5)}},Hp=class extends pt{constructor({kernelSize:n=Yl.MEDIUM,resolutionScale:i=.5,width:a=nt.AUTO_SIZE,height:l=nt.AUTO_SIZE,resolutionX:c=a,resolutionY:f=l}={}){super("KawaseBlurPass"),this.renderTargetA=new Bt(1,1,{depthBuffer:!1}),this.renderTargetA.texture.name="Blur.Target.A",this.renderTargetB=this.renderTargetA.clone(),this.renderTargetB.texture.name="Blur.Target.B";const d=this.resolution=new nt(this,c,f,i);d.addEventListener("change",g=>this.setSize(d.baseWidth,d.baseHeight)),this._blurMaterial=new bp,this._blurMaterial.kernelSize=n,this.copyMaterial=new Hu}getResolution(){return this.resolution}get blurMaterial(){return this._blurMaterial}set blurMaterial(n){this._blurMaterial=n}get dithering(){return this.copyMaterial.dithering}set dithering(n){this.copyMaterial.dithering=n}get kernelSize(){return this.blurMaterial.kernelSize}set kernelSize(n){this.blurMaterial.kernelSize=n}get width(){return this.resolution.width}set width(n){this.resolution.preferredWidth=n}get height(){return this.resolution.height}set height(n){this.resolution.preferredHeight=n}get scale(){return this.blurMaterial.scale}set scale(n){this.blurMaterial.scale=n}getScale(){return this.blurMaterial.scale}setScale(n){this.blurMaterial.scale=n}getKernelSize(){return this.kernelSize}setKernelSize(n){this.kernelSize=n}getResolutionScale(){return this.resolution.scale}setResolutionScale(n){this.resolution.scale=n}render(n,i,a,l,c){const f=this.scene,d=this.camera,g=this.renderTargetA,m=this.renderTargetB,y=this.blurMaterial,p=y.kernelSequence;let h=i;this.fullscreenMaterial=y;for(let w=0,x=p.length;w<x;++w){const _=w&1?m:g;y.kernel=p[w],y.inputBuffer=h.texture,n.setRenderTarget(_),n.render(f,d),h=_}this.fullscreenMaterial=this.copyMaterial,this.copyMaterial.inputBuffer=h.texture,n.setRenderTarget(this.renderToScreen?null:a),n.render(f,d)}setSize(n,i){const a=this.resolution;a.setBaseSize(n,i);const l=a.width,c=a.height;this.renderTargetA.setSize(l,c),this.renderTargetB.setSize(l,c),this.blurMaterial.setSize(n,i)}initialize(n,i,a){a!==void 0&&(this.renderTargetA.texture.type=a,this.renderTargetB.texture.type=a,a!==Sn?(this.blurMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1",this.copyMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1"):n!==null&&n.outputColorSpace===tt&&(this.renderTargetA.texture.colorSpace=tt,this.renderTargetB.texture.colorSpace=tt))}static get AUTO_SIZE(){return nt.AUTO_SIZE}},Gp=`#include <common>
|
|
152
|
-
#ifdef FRAMEBUFFER_PRECISION_HIGH
|
|
153
|
-
uniform mediump sampler2D inputBuffer;
|
|
154
|
-
#else
|
|
155
|
-
uniform lowp sampler2D inputBuffer;
|
|
156
|
-
#endif
|
|
157
|
-
#ifdef RANGE
|
|
158
|
-
uniform vec2 range;
|
|
159
|
-
#elif defined(THRESHOLD)
|
|
160
|
-
uniform float threshold;uniform float smoothing;
|
|
161
|
-
#endif
|
|
162
|
-
varying vec2 vUv;void main(){vec4 texel=texture2D(inputBuffer,vUv);float l=luminance(texel.rgb);float mask=1.0;
|
|
163
|
-
#ifdef RANGE
|
|
164
|
-
float low=step(range.x,l);float high=step(l,range.y);mask=low*high;
|
|
165
|
-
#elif defined(THRESHOLD)
|
|
166
|
-
mask=smoothstep(threshold,threshold+smoothing,l);
|
|
167
|
-
#endif
|
|
168
|
-
#ifdef COLOR
|
|
169
|
-
gl_FragColor=texel*mask;
|
|
170
|
-
#else
|
|
171
|
-
gl_FragColor=vec4(l*mask);
|
|
172
|
-
#endif
|
|
173
|
-
}`,Wp=class extends Yt{constructor(n=!1,i=null){super({name:"LuminanceMaterial",defines:{THREE_REVISION:Fl.replace(/\D+/g,"")},uniforms:{inputBuffer:new Se(null),threshold:new Se(0),smoothing:new Se(1),range:new Se(null)},blending:jn,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:Gp,vertexShader:bu}),this.colorOutput=n,this.luminanceRange=i}set inputBuffer(n){this.uniforms.inputBuffer.value=n}setInputBuffer(n){this.uniforms.inputBuffer.value=n}get threshold(){return this.uniforms.threshold.value}set threshold(n){this.smoothing>0||n>0?this.defines.THRESHOLD="1":delete this.defines.THRESHOLD,this.uniforms.threshold.value=n}getThreshold(){return this.threshold}setThreshold(n){this.threshold=n}get smoothing(){return this.uniforms.smoothing.value}set smoothing(n){this.threshold>0||n>0?this.defines.THRESHOLD="1":delete this.defines.THRESHOLD,this.uniforms.smoothing.value=n}getSmoothingFactor(){return this.smoothing}setSmoothingFactor(n){this.smoothing=n}get useThreshold(){return this.threshold>0||this.smoothing>0}set useThreshold(n){}get colorOutput(){return this.defines.COLOR!==void 0}set colorOutput(n){n?this.defines.COLOR="1":delete this.defines.COLOR,this.needsUpdate=!0}isColorOutputEnabled(n){return this.colorOutput}setColorOutputEnabled(n){this.colorOutput=n}get useRange(){return this.luminanceRange!==null}set useRange(n){this.luminanceRange=null}get luminanceRange(){return this.uniforms.range.value}set luminanceRange(n){n!==null?this.defines.RANGE="1":delete this.defines.RANGE,this.uniforms.range.value=n,this.needsUpdate=!0}getLuminanceRange(){return this.luminanceRange}setLuminanceRange(n){this.luminanceRange=n}},Vp=class extends pt{constructor({renderTarget:n,luminanceRange:i,colorOutput:a,resolutionScale:l=1,width:c=nt.AUTO_SIZE,height:f=nt.AUTO_SIZE,resolutionX:d=c,resolutionY:g=f}={}){super("LuminancePass"),this.fullscreenMaterial=new Wp(a,i),this.needsSwap=!1,this.renderTarget=n,this.renderTarget===void 0&&(this.renderTarget=new Bt(1,1,{depthBuffer:!1}),this.renderTarget.texture.name="LuminancePass.Target");const m=this.resolution=new nt(this,d,g,l);m.addEventListener("change",y=>this.setSize(m.baseWidth,m.baseHeight))}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}getResolution(){return this.resolution}render(n,i,a,l,c){const f=this.fullscreenMaterial;f.inputBuffer=i.texture,n.setRenderTarget(this.renderToScreen?null:this.renderTarget),n.render(this.scene,this.camera)}setSize(n,i){const a=this.resolution;a.setBaseSize(n,i),this.renderTarget.setSize(a.width,a.height)}initialize(n,i,a){a!==void 0&&a!==Sn&&(this.renderTarget.texture.type=a,this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1")}},Qp=`#ifdef FRAMEBUFFER_PRECISION_HIGH
|
|
174
|
-
uniform mediump sampler2D inputBuffer;
|
|
175
|
-
#else
|
|
176
|
-
uniform lowp sampler2D inputBuffer;
|
|
177
|
-
#endif
|
|
178
|
-
#define WEIGHT_INNER 0.125
|
|
179
|
-
#define WEIGHT_OUTER 0.05556
|
|
180
|
-
varying vec2 vUv;varying vec2 vUv00;varying vec2 vUv01;varying vec2 vUv02;varying vec2 vUv03;varying vec2 vUv04;varying vec2 vUv05;varying vec2 vUv06;varying vec2 vUv07;varying vec2 vUv08;varying vec2 vUv09;varying vec2 vUv10;varying vec2 vUv11;float clampToBorder(const in vec2 uv){return float(uv.s>=0.0&&uv.s<=1.0&&uv.t>=0.0&&uv.t<=1.0);}void main(){vec4 c=vec4(0.0);vec4 w=WEIGHT_INNER*vec4(clampToBorder(vUv00),clampToBorder(vUv01),clampToBorder(vUv02),clampToBorder(vUv03));c+=w.x*texture2D(inputBuffer,vUv00);c+=w.y*texture2D(inputBuffer,vUv01);c+=w.z*texture2D(inputBuffer,vUv02);c+=w.w*texture2D(inputBuffer,vUv03);w=WEIGHT_OUTER*vec4(clampToBorder(vUv04),clampToBorder(vUv05),clampToBorder(vUv06),clampToBorder(vUv07));c+=w.x*texture2D(inputBuffer,vUv04);c+=w.y*texture2D(inputBuffer,vUv05);c+=w.z*texture2D(inputBuffer,vUv06);c+=w.w*texture2D(inputBuffer,vUv07);w=WEIGHT_OUTER*vec4(clampToBorder(vUv08),clampToBorder(vUv09),clampToBorder(vUv10),clampToBorder(vUv11));c+=w.x*texture2D(inputBuffer,vUv08);c+=w.y*texture2D(inputBuffer,vUv09);c+=w.z*texture2D(inputBuffer,vUv10);c+=w.w*texture2D(inputBuffer,vUv11);c+=WEIGHT_OUTER*texture2D(inputBuffer,vUv);gl_FragColor=c;
|
|
181
|
-
#include <colorspace_fragment>
|
|
182
|
-
}`,Yp="uniform vec2 texelSize;varying vec2 vUv;varying vec2 vUv00;varying vec2 vUv01;varying vec2 vUv02;varying vec2 vUv03;varying vec2 vUv04;varying vec2 vUv05;varying vec2 vUv06;varying vec2 vUv07;varying vec2 vUv08;varying vec2 vUv09;varying vec2 vUv10;varying vec2 vUv11;void main(){vUv=position.xy*0.5+0.5;vUv00=vUv+texelSize*vec2(-1.0,1.0);vUv01=vUv+texelSize*vec2(1.0,1.0);vUv02=vUv+texelSize*vec2(-1.0,-1.0);vUv03=vUv+texelSize*vec2(1.0,-1.0);vUv04=vUv+texelSize*vec2(-2.0,2.0);vUv05=vUv+texelSize*vec2(0.0,2.0);vUv06=vUv+texelSize*vec2(2.0,2.0);vUv07=vUv+texelSize*vec2(-2.0,0.0);vUv08=vUv+texelSize*vec2(2.0,0.0);vUv09=vUv+texelSize*vec2(-2.0,-2.0);vUv10=vUv+texelSize*vec2(0.0,-2.0);vUv11=vUv+texelSize*vec2(2.0,-2.0);gl_Position=vec4(position.xy,1.0,1.0);}",Xp=class extends Yt{constructor(){super({name:"DownsamplingMaterial",uniforms:{inputBuffer:new Se(null),texelSize:new Se(new Me)},blending:jn,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:Qp,vertexShader:Yp})}set inputBuffer(n){this.uniforms.inputBuffer.value=n}setSize(n,i){this.uniforms.texelSize.value.set(1/n,1/i)}},Kp=`#ifdef FRAMEBUFFER_PRECISION_HIGH
|
|
183
|
-
uniform mediump sampler2D inputBuffer;uniform mediump sampler2D supportBuffer;
|
|
184
|
-
#else
|
|
185
|
-
uniform lowp sampler2D inputBuffer;uniform lowp sampler2D supportBuffer;
|
|
186
|
-
#endif
|
|
187
|
-
uniform float radius;varying vec2 vUv;varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;varying vec2 vUv4;varying vec2 vUv5;varying vec2 vUv6;varying vec2 vUv7;void main(){vec4 c=vec4(0.0);c+=texture2D(inputBuffer,vUv0)*0.0625;c+=texture2D(inputBuffer,vUv1)*0.125;c+=texture2D(inputBuffer,vUv2)*0.0625;c+=texture2D(inputBuffer,vUv3)*0.125;c+=texture2D(inputBuffer,vUv)*0.25;c+=texture2D(inputBuffer,vUv4)*0.125;c+=texture2D(inputBuffer,vUv5)*0.0625;c+=texture2D(inputBuffer,vUv6)*0.125;c+=texture2D(inputBuffer,vUv7)*0.0625;vec4 baseColor=texture2D(supportBuffer,vUv);gl_FragColor=mix(baseColor,c,radius);
|
|
188
|
-
#include <colorspace_fragment>
|
|
189
|
-
}`,Zp="uniform vec2 texelSize;varying vec2 vUv;varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;varying vec2 vUv4;varying vec2 vUv5;varying vec2 vUv6;varying vec2 vUv7;void main(){vUv=position.xy*0.5+0.5;vUv0=vUv+texelSize*vec2(-1.0,1.0);vUv1=vUv+texelSize*vec2(0.0,1.0);vUv2=vUv+texelSize*vec2(1.0,1.0);vUv3=vUv+texelSize*vec2(-1.0,0.0);vUv4=vUv+texelSize*vec2(1.0,0.0);vUv5=vUv+texelSize*vec2(-1.0,-1.0);vUv6=vUv+texelSize*vec2(0.0,-1.0);vUv7=vUv+texelSize*vec2(1.0,-1.0);gl_Position=vec4(position.xy,1.0,1.0);}",Jp=class extends Yt{constructor(){super({name:"UpsamplingMaterial",uniforms:{inputBuffer:new Se(null),supportBuffer:new Se(null),texelSize:new Se(new Me),radius:new Se(.85)},blending:jn,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:Kp,vertexShader:Zp})}set inputBuffer(n){this.uniforms.inputBuffer.value=n}set supportBuffer(n){this.uniforms.supportBuffer.value=n}get radius(){return this.uniforms.radius.value}set radius(n){this.uniforms.radius.value=n}setSize(n,i){this.uniforms.texelSize.value.set(1/n,1/i)}},qp=class extends pt{constructor(){super("MipmapBlurPass"),this.needsSwap=!1,this.renderTarget=new Bt(1,1,{depthBuffer:!1}),this.renderTarget.texture.name="Upsampling.Mipmap0",this.downsamplingMipmaps=[],this.upsamplingMipmaps=[],this.downsamplingMaterial=new Xp,this.upsamplingMaterial=new Jp,this.resolution=new Me}get texture(){return this.renderTarget.texture}get levels(){return this.downsamplingMipmaps.length}set levels(n){if(this.levels!==n){const i=this.renderTarget;this.dispose(),this.downsamplingMipmaps=[],this.upsamplingMipmaps=[];for(let a=0;a<n;++a){const l=i.clone();l.texture.name="Downsampling.Mipmap"+a,this.downsamplingMipmaps.push(l)}this.upsamplingMipmaps.push(i);for(let a=1,l=n-1;a<l;++a){const c=i.clone();c.texture.name="Upsampling.Mipmap"+a,this.upsamplingMipmaps.push(c)}this.setSize(this.resolution.x,this.resolution.y)}}get radius(){return this.upsamplingMaterial.radius}set radius(n){this.upsamplingMaterial.radius=n}render(n,i,a,l,c){const{scene:f,camera:d}=this,{downsamplingMaterial:g,upsamplingMaterial:m}=this,{downsamplingMipmaps:y,upsamplingMipmaps:p}=this;let h=i;this.fullscreenMaterial=g;for(let w=0,x=y.length;w<x;++w){const _=y[w];g.setSize(h.width,h.height),g.inputBuffer=h.texture,n.setRenderTarget(_),n.render(f,d),h=_}this.fullscreenMaterial=m;for(let w=p.length-1;w>=0;--w){const x=p[w];m.setSize(h.width,h.height),m.inputBuffer=h.texture,m.supportBuffer=y[w].texture,n.setRenderTarget(x),n.render(f,d),h=x}}setSize(n,i){const a=this.resolution;a.set(n,i);let l=a.width,c=a.height;for(let f=0,d=this.downsamplingMipmaps.length;f<d;++f)l=Math.round(l*.5),c=Math.round(c*.5),this.downsamplingMipmaps[f].setSize(l,c),f<this.upsamplingMipmaps.length&&this.upsamplingMipmaps[f].setSize(l,c)}initialize(n,i,a){if(a!==void 0){const l=this.downsamplingMipmaps.concat(this.upsamplingMipmaps);for(const c of l)c.texture.type=a;if(a!==Sn)this.downsamplingMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1",this.upsamplingMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1";else if(n!==null&&n.outputColorSpace===tt)for(const c of l)c.texture.colorSpace=tt}}dispose(){super.dispose();for(const n of this.downsamplingMipmaps.concat(this.upsamplingMipmaps))n.dispose()}},$p=`#ifdef FRAMEBUFFER_PRECISION_HIGH
|
|
190
|
-
uniform mediump sampler2D map;
|
|
191
|
-
#else
|
|
192
|
-
uniform lowp sampler2D map;
|
|
193
|
-
#endif
|
|
194
|
-
uniform float intensity;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){outputColor=texture2D(map,uv)*intensity;}`,eh=class extends jl{constructor({blendFunction:n=de.SCREEN,luminanceThreshold:i=1,luminanceSmoothing:a=.03,mipmapBlur:l=!0,intensity:c=1,radius:f=.85,levels:d=8,kernelSize:g=Yl.LARGE,resolutionScale:m=.5,width:y=nt.AUTO_SIZE,height:p=nt.AUTO_SIZE,resolutionX:h=y,resolutionY:w=p}={}){super("BloomEffect",$p,{blendFunction:n,uniforms:new Map([["map",new Se(null)],["intensity",new Se(c)]])}),this.renderTarget=new Bt(1,1,{depthBuffer:!1}),this.renderTarget.texture.name="Bloom.Target",this.blurPass=new Hp({kernelSize:g}),this.luminancePass=new Vp({colorOutput:!0}),this.luminanceMaterial.threshold=i,this.luminanceMaterial.smoothing=a,this.mipmapBlurPass=new qp,this.mipmapBlurPass.enabled=l,this.mipmapBlurPass.radius=f,this.mipmapBlurPass.levels=d,this.uniforms.get("map").value=l?this.mipmapBlurPass.texture:this.renderTarget.texture;const x=this.resolution=new nt(this,h,w,m);x.addEventListener("change",_=>this.setSize(x.baseWidth,x.baseHeight))}get texture(){return this.mipmapBlurPass.enabled?this.mipmapBlurPass.texture:this.renderTarget.texture}getTexture(){return this.texture}getResolution(){return this.resolution}getBlurPass(){return this.blurPass}getLuminancePass(){return this.luminancePass}get luminanceMaterial(){return this.luminancePass.fullscreenMaterial}getLuminanceMaterial(){return this.luminancePass.fullscreenMaterial}get width(){return this.resolution.width}set width(n){this.resolution.preferredWidth=n}get height(){return this.resolution.height}set height(n){this.resolution.preferredHeight=n}get dithering(){return this.blurPass.dithering}set dithering(n){this.blurPass.dithering=n}get kernelSize(){return this.blurPass.kernelSize}set kernelSize(n){this.blurPass.kernelSize=n}get distinction(){return console.warn(this.name,"distinction was removed"),1}set distinction(n){console.warn(this.name,"distinction was removed")}get intensity(){return this.uniforms.get("intensity").value}set intensity(n){this.uniforms.get("intensity").value=n}getIntensity(){return this.intensity}setIntensity(n){this.intensity=n}getResolutionScale(){return this.resolution.scale}setResolutionScale(n){this.resolution.scale=n}update(n,i,a){const l=this.renderTarget,c=this.luminancePass;c.enabled?(c.render(n,i),this.mipmapBlurPass.enabled?this.mipmapBlurPass.render(n,c.renderTarget):this.blurPass.render(n,c.renderTarget,l)):this.mipmapBlurPass.enabled?this.mipmapBlurPass.render(n,i):this.blurPass.render(n,i,l)}setSize(n,i){const a=this.resolution;a.setBaseSize(n,i),this.renderTarget.setSize(a.width,a.height),this.blurPass.resolution.copy(a),this.luminancePass.setSize(n,i),this.mipmapBlurPass.setSize(n,i)}initialize(n,i,a){this.blurPass.initialize(n,i,a),this.luminancePass.initialize(n,i,a),this.mipmapBlurPass.initialize(n,i,a),a!==void 0&&(this.renderTarget.texture.type=a,n!==null&&n.outputColorSpace===tt&&(this.renderTarget.texture.colorSpace=tt))}},Wu=class extends pt{constructor(n,i,a=null){super("RenderPass",n,i),this.needsSwap=!1,this.needsDepthBlit=!0,this.clearPass=new Gu,this.overrideMaterialManager=a===null?null:new eu(a),this.ignoreBackground=!1,this.skipShadowMapUpdate=!1,this.selection=null}set mainScene(n){this.scene=n}set mainCamera(n){this.camera=n}get renderToScreen(){return super.renderToScreen}set renderToScreen(n){super.renderToScreen=n,this.clearPass.renderToScreen=n}get overrideMaterial(){const n=this.overrideMaterialManager;return n!==null?n.material:null}set overrideMaterial(n){const i=this.overrideMaterialManager;n!==null?i!==null?i.setMaterial(n):this.overrideMaterialManager=new eu(n):i!==null&&(i.dispose(),this.overrideMaterialManager=null)}getOverrideMaterial(){return this.overrideMaterial}setOverrideMaterial(n){this.overrideMaterial=n}get clear(){return this.clearPass.enabled}set clear(n){this.clearPass.enabled=n}getSelection(){return this.selection}setSelection(n){this.selection=n}isBackgroundDisabled(){return this.ignoreBackground}setBackgroundDisabled(n){this.ignoreBackground=n}isShadowMapDisabled(){return this.skipShadowMapUpdate}setShadowMapDisabled(n){this.skipShadowMapUpdate=n}getClearPass(){return this.clearPass}render(n,i,a,l,c){const f=this.scene,d=this.camera,g=this.selection,m=d.layers.mask,y=f.background,p=n.shadowMap.autoUpdate,h=this.renderToScreen?null:i;g!==null&&d.layers.set(g.getLayer()),this.skipShadowMapUpdate&&(n.shadowMap.autoUpdate=!1),(this.ignoreBackground||this.clearPass.overrideClearColor!==null)&&(f.background=null),this.clearPass.enabled&&this.clearPass.render(n,i),n.setRenderTarget(h),this.overrideMaterialManager!==null?this.overrideMaterialManager.render(n,f,d):n.render(f,d),d.layers.mask=m,f.background=y,n.shadowMap.autoUpdate=p}},th=`#include <packing>
|
|
195
|
-
#ifdef GL_FRAGMENT_PRECISION_HIGH
|
|
196
|
-
uniform highp sampler2D depthBuffer;
|
|
197
|
-
#else
|
|
198
|
-
uniform mediump sampler2D depthBuffer;
|
|
199
|
-
#endif
|
|
200
|
-
#ifdef DOWNSAMPLE_NORMALS
|
|
201
|
-
uniform lowp sampler2D normalBuffer;
|
|
202
|
-
#endif
|
|
203
|
-
varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;float readDepth(const in vec2 uv){
|
|
204
|
-
#if DEPTH_PACKING == 3201
|
|
205
|
-
return unpackRGBAToDepth(texture2D(depthBuffer,uv));
|
|
206
|
-
#else
|
|
207
|
-
return texture2D(depthBuffer,uv).r;
|
|
208
|
-
#endif
|
|
209
|
-
}int findBestDepth(const in float samples[4]){float c=(samples[0]+samples[1]+samples[2]+samples[3])*0.25;float distances[4];distances[0]=abs(c-samples[0]);distances[1]=abs(c-samples[1]);distances[2]=abs(c-samples[2]);distances[3]=abs(c-samples[3]);float maxDistance=max(max(distances[0],distances[1]),max(distances[2],distances[3]));int remaining[3];int rejected[3];int i,j,k;for(i=0,j=0,k=0;i<4;++i){if(distances[i]<maxDistance){remaining[j++]=i;}else{rejected[k++]=i;}}for(;j<3;++j){remaining[j]=rejected[--k];}vec3 s=vec3(samples[remaining[0]],samples[remaining[1]],samples[remaining[2]]);c=(s.x+s.y+s.z)/3.0;distances[0]=abs(c-s.x);distances[1]=abs(c-s.y);distances[2]=abs(c-s.z);float minDistance=min(distances[0],min(distances[1],distances[2]));for(i=0;i<3;++i){if(distances[i]==minDistance){break;}}return remaining[i];}void main(){float d[4];d[0]=readDepth(vUv0);d[1]=readDepth(vUv1);d[2]=readDepth(vUv2);d[3]=readDepth(vUv3);int index=findBestDepth(d);
|
|
210
|
-
#ifdef DOWNSAMPLE_NORMALS
|
|
211
|
-
vec3 n[4];n[0]=texture2D(normalBuffer,vUv0).rgb;n[1]=texture2D(normalBuffer,vUv1).rgb;n[2]=texture2D(normalBuffer,vUv2).rgb;n[3]=texture2D(normalBuffer,vUv3).rgb;
|
|
212
|
-
#else
|
|
213
|
-
vec3 n[4];n[0]=vec3(0.0);n[1]=vec3(0.0);n[2]=vec3(0.0);n[3]=vec3(0.0);
|
|
214
|
-
#endif
|
|
215
|
-
gl_FragColor=vec4(n[index],d[index]);}`,nh="uniform vec2 texelSize;varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;void main(){vec2 uv=position.xy*0.5+0.5;vUv0=uv;vUv1=vec2(uv.x,uv.y+texelSize.y);vUv2=vec2(uv.x+texelSize.x,uv.y);vUv3=uv+texelSize;gl_Position=vec4(position.xy,1.0,1.0);}",rh=class extends Yt{constructor(){super({name:"DepthDownsamplingMaterial",defines:{DEPTH_PACKING:"0"},uniforms:{depthBuffer:new Se(null),normalBuffer:new Se(null),texelSize:new Se(new Me)},blending:jn,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:th,vertexShader:nh})}set depthBuffer(n){this.uniforms.depthBuffer.value=n}set depthPacking(n){this.defines.DEPTH_PACKING=n.toFixed(0),this.needsUpdate=!0}setDepthBuffer(n,i=pr){this.depthBuffer=n,this.depthPacking=i}set normalBuffer(n){this.uniforms.normalBuffer.value=n,n!==null?this.defines.DOWNSAMPLE_NORMALS="1":delete this.defines.DOWNSAMPLE_NORMALS,this.needsUpdate=!0}setNormalBuffer(n){this.normalBuffer=n}setTexelSize(n,i){this.uniforms.texelSize.value.set(n,i)}setSize(n,i){this.uniforms.texelSize.value.set(1/n,1/i)}},ih=class extends pt{constructor({normalBuffer:n=null,resolutionScale:i=.5,width:a=nt.AUTO_SIZE,height:l=nt.AUTO_SIZE,resolutionX:c=a,resolutionY:f=l}={}){super("DepthDownsamplingPass");const d=new rh;d.normalBuffer=n,this.fullscreenMaterial=d,this.needsDepthTexture=!0,this.needsSwap=!1,this.renderTarget=new Bt(1,1,{minFilter:Ki,magFilter:Ki,depthBuffer:!1,type:au}),this.renderTarget.texture.name="DepthDownsamplingPass.Target",this.renderTarget.texture.generateMipmaps=!1;const g=this.resolution=new nt(this,c,f,i);g.addEventListener("change",m=>this.setSize(g.baseWidth,g.baseHeight))}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}getResolution(){return this.resolution}setDepthTexture(n,i=pr){this.fullscreenMaterial.depthBuffer=n,this.fullscreenMaterial.depthPacking=i}render(n,i,a,l,c){n.setRenderTarget(this.renderToScreen?null:this.renderTarget),n.render(this.scene,this.camera)}setSize(n,i){const a=this.resolution;a.setBaseSize(n,i),this.renderTarget.setSize(a.width,a.height),this.fullscreenMaterial.setSize(n,i)}initialize(n,i,a){const l=n.getContext();if(!(l.getExtension("EXT_color_buffer_float")||l.getExtension("EXT_color_buffer_half_float")))throw new Error("Rendering to float texture is not supported.")}},sh=`#include <common>
|
|
216
|
-
#include <packing>
|
|
217
|
-
#include <dithering_pars_fragment>
|
|
218
|
-
#define packFloatToRGBA(v) packDepthToRGBA(v)
|
|
219
|
-
#define unpackRGBAToFloat(v) unpackRGBAToDepth(v)
|
|
220
|
-
#ifdef FRAMEBUFFER_PRECISION_HIGH
|
|
221
|
-
uniform mediump sampler2D inputBuffer;
|
|
222
|
-
#else
|
|
223
|
-
uniform lowp sampler2D inputBuffer;
|
|
224
|
-
#endif
|
|
225
|
-
#if DEPTH_PACKING == 3201
|
|
226
|
-
uniform lowp sampler2D depthBuffer;
|
|
227
|
-
#elif defined(GL_FRAGMENT_PRECISION_HIGH)
|
|
228
|
-
uniform highp sampler2D depthBuffer;
|
|
229
|
-
#else
|
|
230
|
-
uniform mediump sampler2D depthBuffer;
|
|
231
|
-
#endif
|
|
232
|
-
uniform vec2 resolution;uniform vec2 texelSize;uniform float cameraNear;uniform float cameraFar;uniform float aspect;uniform float time;varying vec2 vUv;vec4 sRGBToLinear(const 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.a);}float readDepth(const in vec2 uv){
|
|
233
|
-
#if DEPTH_PACKING == 3201
|
|
234
|
-
float depth=unpackRGBAToDepth(texture2D(depthBuffer,uv));
|
|
235
|
-
#else
|
|
236
|
-
float depth=texture2D(depthBuffer,uv).r;
|
|
237
|
-
#endif
|
|
238
|
-
#if defined(USE_LOGARITHMIC_DEPTH_BUFFER) || defined(LOG_DEPTH)
|
|
239
|
-
float d=pow(2.0,depth*log2(cameraFar+1.0))-1.0;float a=cameraFar/(cameraFar-cameraNear);float b=cameraFar*cameraNear/(cameraNear-cameraFar);depth=a+b/d;
|
|
240
|
-
#elif defined(USE_REVERSED_DEPTH_BUFFER)
|
|
241
|
-
depth=1.0-depth;
|
|
242
|
-
#endif
|
|
243
|
-
return depth;}float getViewZ(const in float depth){
|
|
244
|
-
#ifdef PERSPECTIVE_CAMERA
|
|
245
|
-
return perspectiveDepthToViewZ(depth,cameraNear,cameraFar);
|
|
246
|
-
#else
|
|
247
|
-
return orthographicDepthToViewZ(depth,cameraNear,cameraFar);
|
|
248
|
-
#endif
|
|
249
|
-
}vec3 RGBToHCV(const in vec3 RGB){vec4 P=mix(vec4(RGB.bg,-1.0,2.0/3.0),vec4(RGB.gb,0.0,-1.0/3.0),step(RGB.b,RGB.g));vec4 Q=mix(vec4(P.xyw,RGB.r),vec4(RGB.r,P.yzx),step(P.x,RGB.r));float C=Q.x-min(Q.w,Q.y);float H=abs((Q.w-Q.y)/(6.0*C+EPSILON)+Q.z);return vec3(H,C,Q.x);}vec3 RGBToHSL(const in vec3 RGB){vec3 HCV=RGBToHCV(RGB);float L=HCV.z-HCV.y*0.5;float S=HCV.y/(1.0-abs(L*2.0-1.0)+EPSILON);return vec3(HCV.x,S,L);}vec3 HueToRGB(const in float H){float R=abs(H*6.0-3.0)-1.0;float G=2.0-abs(H*6.0-2.0);float B=2.0-abs(H*6.0-4.0);return clamp(vec3(R,G,B),0.0,1.0);}vec3 HSLToRGB(const in vec3 HSL){vec3 RGB=HueToRGB(HSL.x);float C=(1.0-abs(2.0*HSL.z-1.0))*HSL.y;return(RGB-0.5)*C+HSL.z;}FRAGMENT_HEAD void main(){FRAGMENT_MAIN_UV vec4 color0=texture2D(inputBuffer,UV);vec4 color1=vec4(0.0);FRAGMENT_MAIN_IMAGE color0.a=clamp(color0.a,0.0,1.0);gl_FragColor=color0;
|
|
250
|
-
#ifdef ENCODE_OUTPUT
|
|
251
|
-
#include <colorspace_fragment>
|
|
252
|
-
#endif
|
|
253
|
-
#include <dithering_fragment>
|
|
254
|
-
}`,lh="uniform vec2 resolution;uniform vec2 texelSize;uniform float cameraNear;uniform float cameraFar;uniform float aspect;uniform float time;varying vec2 vUv;VERTEX_HEAD void main(){vUv=position.xy*0.5+0.5;VERTEX_MAIN_SUPPORT gl_Position=vec4(position.xy,1.0,1.0);}",oh=class extends Yt{constructor(n,i,a,l,c=!1){super({name:"EffectMaterial",defines:{THREE_REVISION:Fl.replace(/\D+/g,""),DEPTH_PACKING:"0",ENCODE_OUTPUT:"1"},uniforms:{inputBuffer:new Se(null),depthBuffer:new Se(null),resolution:new Se(new Me),texelSize:new Se(new Me),cameraNear:new Se(.3),cameraFar:new Se(1e3),aspect:new Se(1),time:new Se(0)},blending:jn,toneMapped:!1,depthWrite:!1,depthTest:!1,dithering:c}),n&&this.setShaderParts(n),i&&this.setDefines(i),a&&this.setUniforms(a),this.copyCameraSettings(l)}set inputBuffer(n){this.uniforms.inputBuffer.value=n}setInputBuffer(n){this.uniforms.inputBuffer.value=n}get depthBuffer(){return this.uniforms.depthBuffer.value}set depthBuffer(n){this.uniforms.depthBuffer.value=n}get depthPacking(){return Number(this.defines.DEPTH_PACKING)}set depthPacking(n){this.defines.DEPTH_PACKING=n.toFixed(0),this.needsUpdate=!0}setDepthBuffer(n,i=pr){this.depthBuffer=n,this.depthPacking=i}setShaderData(n){this.setShaderParts(n.shaderParts),this.setDefines(n.defines),this.setUniforms(n.uniforms),this.setExtensions(n.extensions)}setShaderParts(n){return this.fragmentShader=sh.replace(ye.FRAGMENT_HEAD,n.get(ye.FRAGMENT_HEAD)||"").replace(ye.FRAGMENT_MAIN_UV,n.get(ye.FRAGMENT_MAIN_UV)||"").replace(ye.FRAGMENT_MAIN_IMAGE,n.get(ye.FRAGMENT_MAIN_IMAGE)||""),this.vertexShader=lh.replace(ye.VERTEX_HEAD,n.get(ye.VERTEX_HEAD)||"").replace(ye.VERTEX_MAIN_SUPPORT,n.get(ye.VERTEX_MAIN_SUPPORT)||""),this.needsUpdate=!0,this}setDefines(n){for(const i of n.entries())this.defines[i[0]]=i[1];return this.needsUpdate=!0,this}setUniforms(n){for(const i of n.entries())this.uniforms[i[0]]=i[1];return this}setExtensions(n){this.extensions={};for(const i of n)this.extensions[i]=!0;return this}get encodeOutput(){return this.defines.ENCODE_OUTPUT!==void 0}set encodeOutput(n){this.encodeOutput!==n&&(n?this.defines.ENCODE_OUTPUT="1":delete this.defines.ENCODE_OUTPUT,this.needsUpdate=!0)}isOutputEncodingEnabled(n){return this.encodeOutput}setOutputEncodingEnabled(n){this.encodeOutput=n}get time(){return this.uniforms.time.value}set time(n){this.uniforms.time.value=n}setDeltaTime(n){this.uniforms.time.value+=n}adoptCameraSettings(n){this.copyCameraSettings(n)}copyCameraSettings(n){n&&(this.uniforms.cameraNear.value=n.near,this.uniforms.cameraFar.value=n.far,n instanceof Bn?this.defines.PERSPECTIVE_CAMERA="1":delete this.defines.PERSPECTIVE_CAMERA,this.needsUpdate=!0)}setSize(n,i){const a=this.uniforms;a.resolution.value.set(n,i),a.texelSize.value.set(1/n,1/i),a.aspect.value=n/i}static get Section(){return ye}};function tu(n,i,a){for(const l of i){const c="$1"+n+l.charAt(0).toUpperCase()+l.slice(1),f=new RegExp("([^\\.])(\\b"+l+"\\b)","g");for(const d of a.entries())d[1]!==null&&a.set(d[0],d[1].replace(f,c))}}function ah(n,i,a){let l=i.getFragmentShader(),c=i.getVertexShader();const f=l!==void 0&&/mainImage/.test(l),d=l!==void 0&&/mainUv/.test(l);if(a.attributes|=i.getAttributes(),l===void 0)throw new Error(`Missing fragment shader (${i.name})`);if(d&&a.attributes&tn.CONVOLUTION)throw new Error(`Effects that transform UVs are incompatible with convolution effects (${i.name})`);if(!f&&!d)throw new Error(`Could not find mainImage or mainUv function (${i.name})`);{const g=/\w+\s+(\w+)\([\w\s,]*\)\s*{/g,m=a.shaderParts;let y=m.get(ye.FRAGMENT_HEAD)||"",p=m.get(ye.FRAGMENT_MAIN_UV)||"",h=m.get(ye.FRAGMENT_MAIN_IMAGE)||"",w=m.get(ye.VERTEX_HEAD)||"",x=m.get(ye.VERTEX_MAIN_SUPPORT)||"";const _=new Set,U=new Set;if(d&&(p+=` ${n}MainUv(UV);
|
|
255
|
-
`,a.uvTransformation=!0),c!==null&&/mainSupport/.test(c)){const R=/mainSupport *\([\w\s]*?uv\s*?\)/.test(c);x+=` ${n}MainSupport(`,x+=R?`vUv);
|
|
256
|
-
`:`);
|
|
257
|
-
`;for(const z of c.matchAll(/(?:varying\s+\w+\s+([\S\s]*?);)/g))for(const H of z[1].split(/\s*,\s*/))a.varyings.add(H),_.add(H),U.add(H);for(const z of c.matchAll(g))U.add(z[1])}for(const R of l.matchAll(g))U.add(R[1]);for(const R of i.defines.keys())U.add(R.replace(/\([\w\s,]*\)/g,""));for(const R of i.uniforms.keys())U.add(R);U.delete("while"),U.delete("for"),U.delete("if"),i.uniforms.forEach((R,z)=>a.uniforms.set(n+z.charAt(0).toUpperCase()+z.slice(1),R)),i.defines.forEach((R,z)=>a.defines.set(n+z.charAt(0).toUpperCase()+z.slice(1),R));const O=new Map([["fragment",l],["vertex",c]]);tu(n,U,a.defines),tu(n,U,O),l=O.get("fragment"),c=O.get("vertex");const T=i.blendMode;if(a.blendModes.set(T.blendFunction,T),f){i.inputColorSpace!==null&&i.inputColorSpace!==a.colorSpace&&(h+=i.inputColorSpace===tt?`color0 = sRGBTransferOETF(color0);
|
|
258
|
-
`:`color0 = sRGBToLinear(color0);
|
|
259
|
-
`),i.outputColorSpace!==cu?a.colorSpace=i.outputColorSpace:i.inputColorSpace!==null&&(a.colorSpace=i.inputColorSpace);const R=/MainImage *\([\w\s,]*?depth[\w\s,]*?\)/;h+=`${n}MainImage(color0, UV, `,a.attributes&tn.DEPTH&&R.test(l)&&(h+="depth, ",a.readDepth=!0),h+=`color1);
|
|
260
|
-
`;const z=n+"BlendOpacity";a.uniforms.set(z,T.opacity),h+=`color0 = blend${T.blendFunction}(color0, color1, ${z});
|
|
261
|
-
|
|
262
|
-
`,y+=`uniform float ${z};
|
|
263
|
-
|
|
264
|
-
`}if(y+=l+`
|
|
265
|
-
`,c!==null&&(w+=c+`
|
|
266
|
-
`),m.set(ye.FRAGMENT_HEAD,y),m.set(ye.FRAGMENT_MAIN_UV,p),m.set(ye.FRAGMENT_MAIN_IMAGE,h),m.set(ye.VERTEX_HEAD,w),m.set(ye.VERTEX_MAIN_SUPPORT,x),i.extensions!==null)for(const R of i.extensions)a.extensions.add(R)}}var uh=class extends pt{constructor(n,...i){super("EffectPass"),this.fullscreenMaterial=new oh(null,null,null,n),this.listener=a=>this.handleEvent(a),this.effects=[],this.setEffects(i),this.skipRendering=!1,this.minTime=1,this.maxTime=Number.POSITIVE_INFINITY,this.timeScale=1}set mainScene(n){for(const i of this.effects)i.mainScene=n}set mainCamera(n){this.fullscreenMaterial.copyCameraSettings(n);for(const i of this.effects)i.mainCamera=n}get encodeOutput(){return this.fullscreenMaterial.encodeOutput}set encodeOutput(n){this.fullscreenMaterial.encodeOutput=n}get dithering(){return this.fullscreenMaterial.dithering}set dithering(n){const i=this.fullscreenMaterial;i.dithering=n,i.needsUpdate=!0}setEffects(n){for(const i of this.effects)i.removeEventListener("change",this.listener);this.effects=n.sort((i,a)=>a.attributes-i.attributes);for(const i of this.effects)i.addEventListener("change",this.listener)}updateMaterial(){const n=new rp;let i=0;for(const d of this.effects)if(d.blendMode.blendFunction===de.DST)n.attributes|=d.getAttributes()&tn.DEPTH;else{if(n.attributes&d.getAttributes()&tn.CONVOLUTION)throw new Error(`Convolution effects cannot be merged (${d.name})`);ah("e"+i++,d,n)}let a=n.shaderParts.get(ye.FRAGMENT_HEAD),l=n.shaderParts.get(ye.FRAGMENT_MAIN_IMAGE),c=n.shaderParts.get(ye.FRAGMENT_MAIN_UV);const f=/\bblend\b/g;for(const d of n.blendModes.values())a+=d.getShaderCode().replace(f,`blend${d.blendFunction}`)+`
|
|
267
|
-
`;n.attributes&tn.DEPTH?(n.readDepth&&(l=`float depth = readDepth(UV);
|
|
268
|
-
|
|
269
|
-
`+l),this.needsDepthTexture=this.getDepthTexture()===null):this.needsDepthTexture=!1,n.colorSpace===tt&&(l+=`color0 = sRGBToLinear(color0);
|
|
270
|
-
`),n.uvTransformation?(c=`vec2 transformedUv = vUv;
|
|
271
|
-
`+c,n.defines.set("UV","transformedUv")):n.defines.set("UV","vUv"),n.shaderParts.set(ye.FRAGMENT_HEAD,a),n.shaderParts.set(ye.FRAGMENT_MAIN_IMAGE,l),n.shaderParts.set(ye.FRAGMENT_MAIN_UV,c);for(const[d,g]of n.shaderParts)g!==null&&n.shaderParts.set(d,g.trim().replace(/^#/,`
|
|
272
|
-
#`));this.skipRendering=i===0,this.needsSwap=!this.skipRendering,this.fullscreenMaterial.setShaderData(n)}recompile(){this.updateMaterial()}getDepthTexture(){return this.fullscreenMaterial.depthBuffer}setDepthTexture(n,i=pr){this.fullscreenMaterial.depthBuffer=n,this.fullscreenMaterial.depthPacking=i;for(const a of this.effects)a.setDepthTexture(n,i)}render(n,i,a,l,c){for(const f of this.effects)f.update(n,i,l);if(!this.skipRendering||this.renderToScreen){const f=this.fullscreenMaterial;f.inputBuffer=i.texture,f.time+=l*this.timeScale,n.setRenderTarget(this.renderToScreen?null:a),n.render(this.scene,this.camera)}}setSize(n,i){this.fullscreenMaterial.setSize(n,i);for(const a of this.effects)a.setSize(n,i)}initialize(n,i,a){this.renderer=n;for(const l of this.effects)l.initialize(n,i,a);this.updateMaterial(),a!==void 0&&a!==Sn&&(this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1")}dispose(){super.dispose();for(const n of this.effects)n.removeEventListener("change",this.listener),n.dispose()}handleEvent(n){switch(n.type){case"change":this.recompile();break}}},ch=class extends pt{constructor(n,i,{renderTarget:a,resolutionScale:l=1,width:c=nt.AUTO_SIZE,height:f=nt.AUTO_SIZE,resolutionX:d=c,resolutionY:g=f}={}){super("NormalPass"),this.needsSwap=!1,this.renderPass=new Wu(n,i,new yf);const m=this.renderPass;m.ignoreBackground=!0,m.skipShadowMapUpdate=!0;const y=m.getClearPass();y.overrideClearColor=new dt(7829503),y.overrideClearAlpha=1,this.renderTarget=a,this.renderTarget===void 0&&(this.renderTarget=new Bt(1,1,{minFilter:Ki,magFilter:Ki}),this.renderTarget.texture.name="NormalPass.Target");const p=this.resolution=new nt(this,d,g,l);p.addEventListener("change",h=>this.setSize(p.baseWidth,p.baseHeight))}set mainScene(n){this.renderPass.mainScene=n}set mainCamera(n){this.renderPass.mainCamera=n}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}getResolution(){return this.resolution}getResolutionScale(){return this.resolution.scale}setResolutionScale(n){this.resolution.scale=n}render(n,i,a,l,c){const f=this.renderToScreen?null:this.renderTarget;this.renderPass.render(n,f,f)}setSize(n,i){const a=this.resolution;a.setBaseSize(n,i),this.renderTarget.setSize(a.width,a.height)}};const fh=P.createContext(null),nu=n=>(n.getAttributes()&tn.CONVOLUTION)===tn.CONVOLUTION,dh=Dl.memo(P.forwardRef(({children:n,camera:i,scene:a,resolutionScale:l,enabled:c=!0,renderPriority:f=1,autoClear:d=!0,depthBuffer:g,enableNormalPass:m,stencilBuffer:y,multisampling:p=8,frameBufferType:h=wf},w)=>{const{gl:x,scene:_,camera:U,size:O}=St(),T=a||_,R=i||U,[z,H,j]=P.useMemo(()=>{const X=Od(),V=new np(x,{depthBuffer:g,stencilBuffer:y,multisampling:p>0&&X?p:0,frameBufferType:h});V.addPass(new Wu(T,R));let F=null,N=null;return m&&(N=new ch(T,R),N.enabled=!1,V.addPass(N),l!==void 0&&X&&(F=new ih({normalBuffer:N.texture,resolutionScale:l}),F.enabled=!1,V.addPass(F))),[V,N,F]},[R,x,g,y,p,h,T,m,l]);P.useEffect(()=>z==null?void 0:z.setSize(O.width,O.height),[z,O]),st((X,V)=>{if(c){const F=x.autoClear;x.autoClear=d,y&&!d&&x.clearStencil(),z.render(V),x.autoClear=F}},c?f:0);const k=P.useRef(null);P.useLayoutEffect(()=>{var X;const V=[],F=(X=k.current)==null?void 0:X.__r3f;if(F&&z){const N=F.objects;for(let $=0;$<N.length;$++){const se=N[$];if(se instanceof jl){const De=[se];if(!nu(se)){let _e=null;for(;(_e=N[$+1])instanceof jl&&!nu(_e);)De.push(_e),$++}const pe=new uh(R,...De);V.push(pe)}else se instanceof pt&&V.push(se)}for(const $ of V)z==null||z.addPass($);H&&(H.enabled=!0),j&&(j.enabled=!0)}return()=>{for(const N of V)z==null||z.removePass(N);H&&(H.enabled=!1),j&&(j.enabled=!1)}},[z,n,R,H,j]),P.useEffect(()=>{const X=x.toneMapping;return x.toneMapping=lu,()=>{x.toneMapping=X}},[x]);const re=P.useMemo(()=>({composer:z,normalPass:H,downSamplingPass:j,resolutionScale:l,camera:R,scene:T}),[z,H,j,l,R,T]);return P.useImperativeHandle(w,()=>z,[z]),I.jsx(fh.Provider,{value:re,children:I.jsx("group",{ref:k,children:n})})}));let ph=0;const ru=new WeakMap,hh=(n,i)=>Dl.forwardRef(function({blendFunction:l=i==null?void 0:i.blendFunction,opacity:c=i==null?void 0:i.opacity,...f},d){let g=ru.get(n);if(!g){const p=`@react-three/postprocessing/${n.name}-${ph++}`;wu({[p]:n}),ru.set(n,g=p)}const m=St(p=>p.camera),y=Dl.useMemo(()=>{var p,h;return[...(p=i==null?void 0:i.args)!=null?p:[],...(h=f.args)!=null?h:[{...i,...f}]]},[JSON.stringify(f)]);return I.jsx(g,{camera:m,"blendMode-blendFunction":l,"blendMode-opacity-value":c,...f,ref:d,args:y})}),mh=hh(eh,{blendFunction:de.ADD}),vh="/textures/sun.jpg";function gh(){return I.jsxs("group",{children:[I.jsx("pointLight",{position:[0,0,0],intensity:28,distance:140,decay:2,color:"#ffd486"}),I.jsx(P.Suspense,{fallback:I.jsx(Sh,{}),children:I.jsx(yh,{})}),I.jsx(xh,{})]})}function yh(){const n=P.useRef(null),i=en(kn,vh);return i.wrapS=Zi,i.wrapT=Zi,st((a,l)=>{xe.getState().motionEnabled&&n.current&&(n.current.rotation.y+=l*.05)}),I.jsxs("mesh",{ref:n,children:[I.jsx("sphereGeometry",{args:[1.7,64,64]}),I.jsx("meshBasicMaterial",{map:i,toneMapped:!1})]})}function Sh(){return I.jsxs("mesh",{children:[I.jsx("sphereGeometry",{args:[1.7,48,48]}),I.jsx("meshBasicMaterial",{color:"#fde68a"})]})}function xh(){const n=P.useRef(null),i=P.useRef(null);return st(()=>{const a=performance.now()*.001;if(n.current){const l=1+Math.sin(a*1.3)*.04;n.current.scale.set(l,l,l)}if(i.current){const l=1+Math.sin(a*.6+1)*.025;i.current.scale.set(l,l,l)}}),I.jsxs(I.Fragment,{children:[I.jsxs("mesh",{ref:n,children:[I.jsx("sphereGeometry",{args:[1.95,32,32]}),I.jsx("meshBasicMaterial",{color:"#fff7c2",transparent:!0,opacity:.32,toneMapped:!1})]}),I.jsxs("mesh",{children:[I.jsx("sphereGeometry",{args:[2.4,32,32]}),I.jsx("meshBasicMaterial",{color:"#ffae3c",transparent:!0,opacity:.16,toneMapped:!1})]}),I.jsxs("mesh",{ref:i,children:[I.jsx("sphereGeometry",{args:[3.3,32,32]}),I.jsx("meshBasicMaterial",{color:"#f97316",transparent:!0,opacity:.06,toneMapped:!1})]})]})}function Eh({count:n=800}){const i=P.useRef(null),a=P.useMemo(()=>{const l=new Float32Array(n*3),c=220;for(let d=0;d<n;d++){const g=Math.random(),m=Math.random(),y=g*Math.PI*2,p=Math.acos(2*m-1),h=c*(.6+Math.random()*.4);l[d*3]=h*Math.sin(p)*Math.cos(y),l[d*3+1]=h*Math.sin(p)*Math.sin(y),l[d*3+2]=h*Math.cos(p)}const f=new du;return f.setAttribute("position",new Al(l,3)),f},[n]);return st((l,c)=>{xe.getState().motionEnabled&&i.current&&(i.current.rotation.y+=c*.005,i.current.rotation.x+=c*.002)}),I.jsx("points",{ref:i,geometry:a,children:I.jsx("pointsMaterial",{color:"#cbd5e1",size:.4,sizeAttenuation:!0,transparent:!0,opacity:.35})})}const wh=6,Mh=2.4;function es(n){return wh+n*Mh}const Th=1.4,_h=.6;function Ph(n){return Th+n*_h}function Rh(n,i){const a=.18-i*.012,l=Math.max(.05,a);return n?l*1.6:l}function Ch(){return .7}function Xl(n,i,a){const l=Rl(a||i),c=(Rl(i)%.6-.3)*(a?1:0);return l+c+n*.05}function Rl(n){let i=2166136261;for(let a=0;a<n.length;a++)i=(i^n.charCodeAt(a))>>>0,i=Math.imul(i,16777619);return i%360/360*Math.PI*2}function Ih({session:n,index:i,speed:a}){const l=P.useRef(null),c=P.useRef(null),f=P.useRef(null),d=P.useMemo(()=>Ph(i),[i]),g=P.useMemo(()=>i*1.4,[i]),m=P.useMemo(()=>new dt(Nl(n.model)).multiplyScalar(.7),[n.model]),y=P.useRef(g);return st((p,h)=>{const w=xe.getState().motionEnabled;w&&(y.current+=h*a);const x=y.current;if(l.current&&l.current.position.set(Math.cos(x)*d,Math.sin(x*.6)*.2,Math.sin(x)*d),c.current&&w&&(c.current.rotation.y+=h*.6),f.current){const _=pu(n.status);f.current.emissive.lerp(new dt(_.color),.08),f.current.emissiveIntensity=Ln.lerp(f.current.emissiveIntensity,_.intensity*.7,.06)}}),I.jsx("group",{ref:l,children:I.jsxs("mesh",{ref:c,children:[I.jsx("sphereGeometry",{args:[.18,16,16]}),I.jsx("meshStandardMaterial",{ref:f,color:m,emissive:m,emissiveIntensity:.2,roughness:.7})]})})}function Vu({radius:n,color:i,intensity:a=1,power:l=3}){const c=P.useMemo(()=>new Yt({uniforms:{uColor:{value:new dt(i)},uIntensity:{value:a},uPower:{value:l}},transparent:!0,depthWrite:!1,side:cr,vertexShader:`
|
|
273
|
-
varying vec3 vNormal;
|
|
274
|
-
varying vec3 vViewDir;
|
|
275
|
-
void main() {
|
|
276
|
-
vec4 mvPosition = modelViewMatrix * vec4(position, 1.0);
|
|
277
|
-
vNormal = normalize(normalMatrix * normal);
|
|
278
|
-
vViewDir = normalize(-mvPosition.xyz);
|
|
279
|
-
gl_Position = projectionMatrix * mvPosition;
|
|
280
|
-
}
|
|
281
|
-
`,fragmentShader:`
|
|
282
|
-
uniform vec3 uColor;
|
|
283
|
-
uniform float uIntensity;
|
|
284
|
-
uniform float uPower;
|
|
285
|
-
varying vec3 vNormal;
|
|
286
|
-
varying vec3 vViewDir;
|
|
287
|
-
void main() {
|
|
288
|
-
// Back-side render: dot(normal, view) is positive at the silhouette.
|
|
289
|
-
float fres = pow(max(0.0, dot(vNormal, vViewDir)), uPower);
|
|
290
|
-
gl_FragColor = vec4(uColor * uIntensity, fres);
|
|
291
|
-
}
|
|
292
|
-
`}),[i,a,l]);return I.jsxs("mesh",{children:[I.jsx("sphereGeometry",{args:[n*1.18,32,32]}),I.jsx("primitive",{object:c,attach:"material"})]})}function zh({session:n}){const i=P.useRef(null),a=P.useRef(null),l=P.useRef(null),c=P.useRef(null),f=P.useRef(null),d=P.useMemo(()=>Xl(n.orbitSlot,n.id,n.projectId),[n.orbitSlot,n.id]),g=P.useMemo(()=>es(n.orbitSlot),[n.orbitSlot]),m=xe(N=>Mf(N,n.id)),y=xe(N=>N.selectSession),p=xe(N=>N.selectAdvisor),h=xe(N=>n.advisorRole?Object.values(N.advisors).find($=>$.id===n.advisorRole)??null:null),x=xe(N=>N.selectedSessionId)===n.id,_=n.kind==="advisor",U=xe(N=>n.currentMissionId?N.missions[n.currentMissionId]:void 0),O=xe(N=>Object.values(N.pendingPermissions).filter($=>$.sessionId===n.id).length),T=P.useMemo(()=>Tf(n,U,O),[n,U,O]),R=T.score,z=.4+R/100*.8,H=P.useMemo(()=>new dt(_&&h?h.color:Nl(n.model)),[_,h,n.model]),j=P.useRef(d),k=P.useRef(1);st((N,$)=>{const se=xe.getState(),De=se.motionEnabled,pe=!!(se.selectedSessionId||se.selectedAdvisorId||se.selectedSkillId),_e=se.selectedSessionId===n.id||_&&se.selectedAdvisorId===n.advisorRole,Ee=pe&&!_e?.25:1;k.current=Ln.lerp(k.current,Ee,.08);const B=k.current,K=Rh(n.status==="active",n.orbitSlot);De&&(j.current+=$*K*.3);const G=j.current,q=Math.cos(G)*g,ae=Math.sin(G)*g,ie=Math.sin(G*.5)*.4;i.current&&i.current.position.set(q,ie,ae);const ze=N.clock.getElapsedTime();if(a.current){De&&(a.current.rotation.y+=$*.4);const we=.55+n.contextUsagePct/100*.5,Ne=a.current.scale.x,Xe=Ln.lerp(Ne,we,.04);a.current.scale.set(Xe,Xe,Xe)}if(f.current){const we=pu(n.status),Ne=new dt(we.color);f.current.emissive.lerp(Ne,.08),f.current.emissiveIntensity=Ln.lerp(f.current.emissiveIntensity,we.intensity*B,.06),f.current.opacity=B,f.current.transparent=B<.99}if(l.current){const we=n.contextUsagePct>=90,Ne=n.contextUsagePct>=80&&!we;if(n.status==="awaiting_permission"||n.status==="awaiting_input"||we||Ne){let Ke=.8,lt="#f59e0b";n.status==="awaiting_permission"?(Ke=1.5,lt="#ef4444"):n.status==="awaiting_input"?(Ke=.8,lt="#f59e0b"):we?(Ke=1.2,lt="#dc2626"):Ne&&(Ke=.6,lt="#fb923c");const Oe=.5+.5*Math.sin(ze*Math.PI*2*Ke),ue=l.current.material;ue.color.set(lt),ue.opacity=(.25+Oe*.5)*B,l.current.visible=!0;const He=1.4+Oe*.5;l.current.scale.set(He,He,He)}else l.current.visible=!1}c.current&&(c.current.visible=n.status==="plan_review",c.current.rotation.z+=$*.3)});const re=N=>{N.stopPropagation(),y(n.id),_&&h&&p(h.id)},X=.55,V=P.useMemo(()=>iu(n.id,18)*(Math.PI/180),[n.id]),F=P.useMemo(()=>iu(n.id+"-z",12)*(Math.PI/180),[n.id]);return I.jsxs("group",{ref:i,children:[I.jsx("group",{rotation:[V,0,F],children:I.jsxs("mesh",{ref:a,onClick:re,castShadow:!0,children:[I.jsx("sphereGeometry",{args:[X,32,32]}),I.jsx("meshStandardMaterial",{ref:f,color:H,emissive:H,emissiveIntensity:.06,roughness:.78,metalness:.12})]})}),I.jsx(Vu,{radius:X,color:_&&h?h.color:Nl(n.model),intensity:z*(n.status==="active"?1.2:.9)}),I.jsxs("mesh",{ref:l,visible:!1,children:[I.jsx("sphereGeometry",{args:[X*1.4,24,24]}),I.jsx("meshBasicMaterial",{color:"#ef4444",transparent:!0,opacity:.4})]}),I.jsxs("mesh",{ref:c,visible:!1,rotation:[Math.PI/2.4,0,0],children:[I.jsx("ringGeometry",{args:[X*1.4,X*2,64]}),I.jsx("meshBasicMaterial",{color:"#a78bfa",transparent:!0,opacity:.5,side:2})]}),_&&I.jsxs("mesh",{rotation:[Math.PI/2,0,0],children:[I.jsx("ringGeometry",{args:[X*1.25,X*1.35,64]}),I.jsx("meshBasicMaterial",{color:"#fbbf24",transparent:!0,opacity:.7,side:2})]}),m.map((N,$)=>I.jsx(Ih,{session:N,index:$,speed:Ch()},N.id)),I.jsx(Vl,{center:!0,distanceFactor:10,style:{pointerEvents:"none",userSelect:"none"},position:[0,X+.4,0],children:I.jsxs("div",{className:`px-2 py-1 rounded text-[10px] whitespace-nowrap border ${x?"bg-solix-accent/20 border-solix-accent text-white":_?"bg-amber-500/10 border-amber-300/50 text-amber-100":"bg-black/50 border-white/10 text-slate-200"}`,children:[I.jsxs("div",{className:"font-semibold flex items-center gap-1",children:[_&&h&&I.jsx("span",{style:{color:h.color},children:h.glyph}),I.jsx("span",{children:n.name??(_&&h?`${h.codename} (pinned)`:n.id.slice(0,8))})]}),I.jsxs("div",{className:"opacity-70",title:_f[n.status]??void 0,children:[String(n.model)," · ",Pf(n.status),n.wrapperSocketPath&&I.jsx("span",{className:"ml-1.5 text-[9px] uppercase tracking-wide text-solix-accent",title:"Wrapped by `solix run` — UI prompts route to this terminal",children:"· wrapped"})]}),I.jsxs("div",{className:"opacity-70",title:T.reasons.length?T.reasons.join(" · "):"Stable, low context, no pending decisions",children:[I.jsx("span",{style:{color:Rf(R)},children:"♥"})," ","health ",R,T.reasons[0]&&I.jsxs("span",{className:"opacity-80",children:[" · ",T.reasons[0]]})]})]})})]})}function iu(n,i){let a=0;for(let c=0;c<n.length;c++)a=a*31+n.charCodeAt(c)|0;return((a>>>0)%1e3/1e3-.5)*i}function Ah({orbitSlot:n}){const i=es(n);return I.jsxs("mesh",{rotation:[Math.PI/2,0,0],children:[I.jsx("ringGeometry",{args:[i-.02,i+.02,128]}),I.jsx("meshBasicMaterial",{color:"#1e293b",transparent:!0,opacity:.35,side:2})]})}const Dh=1800;function Nh(n){switch(n){case"Bash":return"#94a3b8";case"Read":return"#60a5fa";case"Write":return"#34d399";case"Edit":case"MultiEdit":return"#fbbf24";case"Task":return"#a78bfa";default:return"#cbd5e1"}}function Oh({toolCallId:n,startX:i,startZ:a,color:l,receivedAt:c}){const f=P.useRef(null),d=P.useRef(null),g=P.useMemo(()=>{const m=Math.hypot(i,a)||1,y=i/m,p=a/m;return{nx:y,nz:p}},[i,a]);return st(()=>{const m=Date.now()-c,y=Math.min(1,m/Dh);if(f.current){const p=Ln.lerp(0,12,y);f.current.position.set(i+g.nx*p,Math.sin(y*Math.PI)*1.4,a+g.nz*p)}if(d.current){const p=d.current.material;p.opacity=1-y}}),I.jsx("group",{ref:f,children:I.jsxs("mesh",{ref:d,children:[I.jsx("sphereGeometry",{args:[.08,8,8]}),I.jsx("meshBasicMaterial",{color:l,transparent:!0,opacity:.9})]})})}function Uh(){const n=xe(a=>a.playback.active?a.playback.derivedToolCalls:a.recentToolCalls),i=xe(a=>a.playback.active?a.playback.derivedSessions:a.sessions);return I.jsx("group",{children:n.map(a=>{const l=i[a.sessionId];if(!l)return null;const c=es(l.orbitSlot),f=Xl(l.orbitSlot,l.id,l.projectId),d=(Date.now()-a.startedAt)/1e3,m=f+d*.18*.3,y=Math.cos(m)*c,p=Math.sin(m)*c;return I.jsx(Oh,{toolCallId:a.id,startX:y,startZ:p,color:Nh(a.tool),receivedAt:a.receivedAt},a.id)})})}const $i=3.3,On=.34,Bh={saturn:{body:"/textures/saturn.jpg",ring:"/textures/saturn_ring.png",ringInner:1.5,ringOuter:2.4,axialTilt:.45},mars:{body:"/textures/mars.jpg",axialTilt:.4},earth:{body:"/textures/earth.jpg",cloud:"/textures/earth_clouds.png",axialTilt:.41},jupiter:{body:"/textures/jupiter.jpg",axialTilt:.05},moon:{body:"/textures/moon.jpg",axialTilt:.1}};function kh({advisor:n,index:i,total:a}){const l=P.useRef(null),c=P.useMemo(()=>i/Math.max(1,a)*Math.PI*2,[i,a]),f=xe(h=>h.selectAdvisor),d=xe(h=>h.selectedAdvisorId===n.id),g=P.useRef(c);st((h,w)=>{xe.getState().motionEnabled&&(g.current+=w*.18);const x=g.current;l.current&&l.current.position.set(Math.cos(x)*$i,0,Math.sin(x)*$i)});const m=P.useRef(1);st(()=>{const h=xe.getState(),w=!!(h.selectedSessionId||h.selectedAdvisorId||h.selectedSkillId),x=h.selectedAdvisorId===n.id||n.pinnedSessionId&&h.selectedSessionId===n.pinnedSessionId,_=w&&!x?.25:1;m.current=Ln.lerp(m.current,_,.08)});const y=h=>{h.stopPropagation(),f(n.id)},p=n.texturePack?Bh[n.texturePack]:void 0;return I.jsxs("group",{ref:l,children:[p?I.jsx(P.Suspense,{fallback:I.jsx(su,{advisor:n,onClick:y,dimRef:m}),children:I.jsx(Lh,{advisor:n,pack:p,onClick:y,dimRef:m})}):I.jsx(su,{advisor:n,onClick:y,dimRef:m}),I.jsx(Vu,{radius:On,color:n.color,intensity:n.pinned?1.4:.7,power:3.5}),I.jsx(Vl,{center:!0,distanceFactor:9,style:{pointerEvents:"none",userSelect:"none"},position:[0,On+.32,0],children:I.jsxs("div",{className:`px-1.5 py-0.5 rounded text-[9px] whitespace-nowrap border ${d?"bg-amber-400/20 border-amber-300 text-amber-100":"bg-black/60 border-white/10 text-amber-100/80"}`,children:[I.jsx("span",{className:"mr-1",children:n.glyph}),n.codename,n.pinned&&I.jsx("span",{className:"ml-1 text-amber-300",children:"●"})]})})]})}function Lh({advisor:n,pack:i,onClick:a,dimRef:l}){const c=P.useRef(null),f=P.useRef(null),d=P.useRef(null),g=P.useRef(null),m=P.useRef(null),y=P.useRef(null),p=en(kn,i.body),h=en(kn,i.cloud??"/textures/sun.jpg"),w=en(kn,i.ring??"/textures/sun.jpg");p.wrapS=Zi,p.wrapT=Zi,st((O,T)=>{xe.getState().motionEnabled&&(c.current&&(c.current.rotation.y+=T*.18),f.current&&(f.current.rotation.y+=T*.25),d.current&&(d.current.rotation.z+=T*.05));const z=l.current;g.current&&(g.current.opacity=z,g.current.transparent=z<.99),m.current&&(m.current.opacity=.55*z),y.current&&(y.current.opacity=.85*z)});const x=i.axialTilt??0,_=(i.ringInner??1.5)*On,U=(i.ringOuter??2.4)*On;return I.jsxs("group",{rotation:[x,0,0],children:[I.jsxs("mesh",{ref:c,onClick:a,children:[I.jsx("sphereGeometry",{args:[On,48,48]}),I.jsx("meshStandardMaterial",{ref:g,map:p,roughness:.85,metalness:.05,emissive:new dt(n.color),emissiveIntensity:n.pinned?.25:.1,transparent:!0,opacity:1})]}),i.cloud&&I.jsxs("mesh",{ref:f,children:[I.jsx("sphereGeometry",{args:[On*1.02,48,48]}),I.jsx("meshStandardMaterial",{ref:m,map:h,transparent:!0,opacity:.55,depthWrite:!1,roughness:1})]}),i.ring&&I.jsxs("mesh",{ref:d,rotation:[Math.PI/2,0,0],children:[I.jsx("ringGeometry",{args:[_,U,96]}),I.jsx("meshStandardMaterial",{ref:y,map:w,transparent:!0,opacity:.85,side:Dn,depthWrite:!1,roughness:1})]})]})}function su({advisor:n,onClick:i,dimRef:a}){const l=P.useRef(null),c=P.useRef(null),f=P.useMemo(()=>new dt(n.color),[n.color]);return st((d,g)=>{if(xe.getState().motionEnabled&&l.current&&(l.current.rotation.y+=g*.4),c.current){const y=a.current,p=n.pinned?.6:.22;c.current.emissiveIntensity=Ln.lerp(c.current.emissiveIntensity,p*y,.05),c.current.opacity=y,c.current.transparent=y<.99}}),I.jsxs("mesh",{ref:l,onClick:i,children:[I.jsx("sphereGeometry",{args:[On,24,24]}),I.jsx("meshStandardMaterial",{ref:c,color:f,emissive:f,emissiveIntensity:.22,roughness:.55,metalness:.4,transparent:!0,opacity:1})]})}function jh(){const n=xe(Cf);return n.length?I.jsxs("group",{children:[I.jsxs("mesh",{rotation:[Math.PI/2,0,0],children:[I.jsx("ringGeometry",{args:[$i-.03,$i+.03,128]}),I.jsx("meshBasicMaterial",{color:"#fbbf24",transparent:!0,opacity:.12,side:Dn})]}),n.map((i,a)=>I.jsx(kh,{advisor:i,index:a,total:n.length},i.id))]}):null}const Fh=22,bh=1.6,Hh=.2;function Gh(n){switch(n){case"anthropic":return new dt("#94a3b8");case"solix":return new dt("#a855f7");case"user":return new dt("#06b6d4");default:return new dt("#cbd5e1")}}const or=new zf;function Wh(){const n=xe(If),i=xe(m=>m.selectSkill),a=xe(m=>m.selectedSkillId),l=P.useRef(null),c=P.useMemo(()=>n.map((m,y)=>{const p=y/Math.max(1,n.length)*Math.PI*2,h=(m.id.charCodeAt(0)??0)%13/13-.5,w=Fh+h*bh,x=Math.sin(p*1.7+(m.id.charCodeAt(1)??0))*.3+Math.tan(Hh)*Math.sin(p)*.4,_=.18+m.id.length%5*.04,U=new zl;return U.setFromAxisAngle(new Le(1,.4,.1).normalize(),p*1.3),{angle:p,radius:w,y:x,size:_,rot:U,color:Gh(m.source),skill:m}}),[n]),f=P.useRef(0),d=P.useRef(0);if(st((m,y)=>{if(!l.current||!c.length)return;xe.getState().motionEnabled&&(f.current+=y*.04,d.current+=y*.8);const h=f.current,w=d.current;for(let x=0;x<c.length;x++){const _=c[x],U=_.angle+h;or.position.set(Math.cos(U)*_.radius,_.y,Math.sin(U)*_.radius),or.quaternion.copy(_.rot),or.rotateY(w+x);const T=a===_.skill.id?_.size*1.6:_.size;or.scale.set(T,T,T),or.updateMatrix(),l.current.setMatrixAt(x,or.matrix),l.current.setColorAt(x,_.color)}l.current.instanceMatrix.needsUpdate=!0,l.current.instanceColor&&(l.current.instanceColor.needsUpdate=!0)}),!c.length)return null;const g=m=>{m.stopPropagation();const y=m.instanceId;if(typeof y!="number")return;const p=c[y];p&&i(p.skill.id)};return I.jsxs("instancedMesh",{ref:l,args:[void 0,void 0,c.length],onClick:g,children:[I.jsx("icosahedronGeometry",{args:[1,0]}),I.jsx("meshStandardMaterial",{roughness:.85,metalness:.05})]})}function Vh(){const n=xe(c=>c.projects),i=xe(hu),a=xe(mu),l=P.useMemo(()=>{const c=[...i,...a],f=new Map;for(const d of c){const g=n[d.projectId];if(!g)continue;const m=f.get(g.id);m?m.sessions.push(d):f.set(g.id,{project:g,sessions:[d]})}return[...f.values()]},[i,a,n]);return l.length<2?I.jsx(I.Fragment,{}):I.jsx(I.Fragment,{children:l.map(({project:c,sessions:f})=>{const d=f.reduce((h,w)=>Math.max(h,w.orbitSlot),0),g=Xl(d,f[0].id,c.id),m=es(d)+1.2,y=Math.cos(g)*m,p=Math.sin(g)*m;return I.jsx(Vl,{position:[y,1.6,p],center:!0,distanceFactor:14,style:{pointerEvents:"none",userSelect:"none"},children:I.jsxs("div",{className:"px-2 py-1 rounded text-[9px] uppercase tracking-widest border border-solix-accent/30 bg-black/50 text-solix-accent/80 whitespace-nowrap",children:[c.name,I.jsxs("span",{className:"ml-1.5 text-slate-500",children:["· ",f.length]})]})},c.id)})})}const Qh="/textures/milky_way.jpg";function qh(){const n=xe(hu),i=xe(mu),a=xe(g=>g.selectSession),l=xe(g=>g.selectAdvisor),c=xe(g=>g.selectSkill),f=[...n,...i],d=Array.from(new Set(f.map(g=>g.orbitSlot))).sort((g,m)=>g-m);return I.jsxs(Td,{shadows:!1,camera:{position:[0,14,22],fov:55,near:.1,far:600},gl:{toneMapping:ou,toneMappingExposure:.95},onPointerMissed:()=>{a(null),l(null),c(null)},children:[I.jsx("color",{attach:"background",args:["#05060c"]}),I.jsx("fog",{attach:"fog",args:["#080a14",100,320]}),I.jsx("ambientLight",{intensity:.06}),I.jsx(P.Suspense,{fallback:I.jsx(Xd,{radius:180,depth:80,count:6e3,factor:4,saturation:.4,fade:!0,speed:0}),children:I.jsx(Yh,{})}),I.jsx(Eh,{}),I.jsx(gh,{}),I.jsx(jh,{}),I.jsx(Wh,{}),d.map(g=>I.jsx(Ah,{orbitSlot:g},g)),f.map(g=>I.jsx(zh,{session:g},g.id)),I.jsx(Uh,{}),I.jsx(Vh,{}),I.jsx(Xh,{}),I.jsx(dh,{multisampling:4,children:I.jsx(mh,{intensity:1.5,luminanceThreshold:.42,luminanceSmoothing:.25,mipmapBlur:!0,radius:.85})})]})}function Yh(){const n=P.useRef(null),i=Ql(Qh);return I.jsxs("mesh",{ref:n,scale:[-1,1,1],children:[I.jsx("sphereGeometry",{args:[400,48,32]}),I.jsx("meshBasicMaterial",{map:i,side:cr,toneMapped:!1})]})}function Xh(){const n=P.useRef(null),{camera:i}=St();return P.useEffect(()=>(Af(n.current,i),()=>Df()),[i]),I.jsx(Vd,{ref:n,makeDefault:!0,enablePan:!0,enableZoom:!0,enableRotate:!0,minDistance:6,maxDistance:140,target:[0,0,0]})}export{qh as Scene};
|