From 39d247340653e89a7d3f0dfc133a637a712d5458 Mon Sep 17 00:00:00 2001 From: ohbonsai Date: Sun, 10 Mar 2024 21:50:28 +0800 Subject: [PATCH] Updates --- .../{index-BH5Jl0cX.js => index-newashnE.js} | 2 +- index.html | 2 +- screenshots/20240310_instanced_animation.png | Bin 0 -> 238203 bytes .../assets/index-DfQziQ7_.js | 3953 ---------------- sketch/20240310_instanced_animation/ao.png | Bin 0 -> 714937 bytes .../assets/index-CF0Sj-F9.js | 3972 +++++++++++++++++ .../assets/troika-three-text.esm-Dd7pTLzh.js} | 2 +- sketch/20240310_instanced_animation/bar.glb | Bin 0 -> 8348 bytes .../20240310_instanced_animation/index.html | 17 + 9 files changed, 3992 insertions(+), 3956 deletions(-) rename assets/{index-BH5Jl0cX.js => index-newashnE.js} (94%) create mode 100644 screenshots/20240310_instanced_animation.png delete mode 100644 sketch/0_r3f_boilerplate/assets/index-DfQziQ7_.js create mode 100644 sketch/20240310_instanced_animation/ao.png create mode 100644 sketch/20240310_instanced_animation/assets/index-CF0Sj-F9.js rename sketch/{0_r3f_boilerplate/assets/troika-three-text.esm-ZUQG2Mqd.js => 20240310_instanced_animation/assets/troika-three-text.esm-Dd7pTLzh.js} (99%) create mode 100644 sketch/20240310_instanced_animation/bar.glb create mode 100644 sketch/20240310_instanced_animation/index.html diff --git a/assets/index-BH5Jl0cX.js b/assets/index-newashnE.js similarity index 94% rename from assets/index-BH5Jl0cX.js rename to assets/index-newashnE.js index 9734bca..cb2297a 100644 --- a/assets/index-BH5Jl0cX.js +++ b/assets/index-newashnE.js @@ -37,7 +37,7 @@ `+l[i].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=i&&0<=u);break}}}finally{So=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Xn(e):""}function zd(e){switch(e.tag){case 5:return Xn(e.type);case 16:return Xn("Lazy");case 13:return Xn("Suspense");case 19:return Xn("SuspenseList");case 0:case 2:case 15:return e=ko(e.type,!1),e;case 11:return e=ko(e.type.render,!1),e;case 1:return e=ko(e.type,!0),e;default:return""}}function bo(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 rn:return"Fragment";case nn:return"Portal";case Zo:return"Profiler";case tu:return"StrictMode";case Jo:return"Suspense";case qo:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Ia:return(e.displayName||"Context")+".Consumer";case La:return(e._context.displayName||"Context")+".Provider";case nu:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ru:return t=e.displayName||null,t!==null?t:bo(e.type)||"Memo";case dt:t=e._payload,e=e._init;try{return bo(e(t))}catch{}}return null}function Td(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 bo(t);case 8:return t===tu?"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 Pt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Da(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function $d(e){var t=Da(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(i){r=""+i,o.call(this,i)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(i){r=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ar(e){e._valueTracker||(e._valueTracker=$d(e))}function Ma(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Da(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function wl(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ei(e,t){var n=t.checked;return K({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function es(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Pt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ja(e,t){t=t.checked,t!=null&&eu(e,"checked",t,!1)}function ti(e,t){ja(e,t);var n=Pt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ni(e,t.type,n):t.hasOwnProperty("defaultValue")&&ni(e,t.type,Pt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function ts(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ni(e,t,n){(t!=="number"||wl(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Zn=Array.isArray;function vn(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=Ur.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function fr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var er={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Rd=["Webkit","ms","Moz","O"];Object.keys(er).forEach(function(e){Rd.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),er[t]=er[e]})});function Ba(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||er.hasOwnProperty(e)&&er[e]?(""+t).trim():t+"px"}function Va(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=Ba(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var Ld=K({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function oi(e,t){if(t){if(Ld[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(S(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(S(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(S(61))}if(t.style!=null&&typeof t.style!="object")throw Error(S(62))}}function ii(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ui=null;function lu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var si=null,yn=null,gn=null;function ls(e){if(e=Lr(e)){if(typeof si!="function")throw Error(S(280));var t=e.stateNode;t&&(t=Jl(t),si(e.stateNode,e.type,t))}}function Wa(e){yn?gn?gn.push(e):gn=[e]:yn=e}function Ha(){if(yn){var e=yn,t=gn;if(gn=yn=null,ls(e),t)for(e=0;e>>=0,e===0?32:31-(Wd(e)/Hd|0)|0}var Br=64,Vr=4194304;function Jn(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 Cl(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,o=e.pingedLanes,i=n&268435455;if(i!==0){var u=i&~l;u!==0?r=Jn(u):(o&=i,o!==0&&(r=Jn(o)))}else i=n&~l,i!==0?r=Jn(i):o!==0&&(r=Jn(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,o=t&-t,l>=o||l===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function $r(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ue(t),e[t]=n}function Gd(e,t){var n=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 r=e.eventTimes;for(e=e.expirationTimes;0=nr),ps=" ",hs=!1;function cc(e,t){switch(e){case"keyup":return Ep.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function fc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var ln=!1;function _p(e,t){switch(e){case"compositionend":return fc(t);case"keypress":return t.which!==32?null:(hs=!0,ps);case"textInput":return e=t.data,e===ps&&hs?null:e;default:return null}}function xp(e,t){if(ln)return e==="compositionend"||!du&&cc(e,t)?(e=sc(),ol=au=vt=null,ln=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=gs(n)}}function mc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?mc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function vc(){for(var e=window,t=wl();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=wl(e.document)}return t}function pu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Op(e){var t=vc(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&mc(n.ownerDocument.documentElement,n)){if(r!==null&&pu(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,o=Math.min(r.start,l);r=r.end===void 0?o:Math.min(r.end,l),!e.extend&&o>r&&(l=r,r=o,o=l),l=ws(n,o);var i=ws(n,r);l&&i&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,on=null,hi=null,lr=null,mi=!1;function Ss(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;mi||on==null||on!==wl(r)||(r=on,"selectionStart"in r&&pu(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),lr&&yr(lr,r)||(lr=r,r=Pl(hi,"onSelect"),0an||(e.current=ki[an],ki[an]=null,an--)}function A(e,t){an++,ki[an]=e.current,e.current=t}var Nt={},se=Tt(Nt),ve=Tt(!1),Yt=Nt;function _n(e,t){var n=e.type.contextTypes;if(!n)return Nt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},o;for(o in n)l[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function ye(e){return e=e.childContextTypes,e!=null}function zl(){V(ve),V(se)}function Ns(e,t,n){if(se.current!==Nt)throw Error(S(168));A(se,t),A(ve,n)}function xc(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(S(108,Td(e)||"Unknown",l));return K({},n,r)}function Tl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Nt,Yt=se.current,A(se,e),A(ve,ve.current),!0}function zs(e,t,n){var r=e.stateNode;if(!r)throw Error(S(169));n?(e=xc(e,t,Yt),r.__reactInternalMemoizedMergedChildContext=e,V(ve),V(se),A(se,e)):V(ve),A(ve,n)}var be=null,ql=!1,Do=!1;function Pc(e){be===null?be=[e]:be.push(e)}function Kp(e){ql=!0,Pc(e)}function $t(){if(!Do&&be!==null){Do=!0;var e=0,t=D;try{var n=be;for(D=1;e>=i,l-=i,et=1<<32-Ue(t)+l|n<P?(F=w,w=null):F=w.sibling;var R=p(f,w,d[P],v);if(R===null){w===null&&(w=F);break}e&&w&&R.alternate===null&&t(f,w),a=o(R,a,P),E===null?C=R:E.sibling=R,E=R,w=F}if(P===d.length)return n(f,w),W&&jt(f,P),C;if(w===null){for(;PP?(F=w,w=null):F=w.sibling;var we=p(f,w,R.value,v);if(we===null){w===null&&(w=F);break}e&&w&&we.alternate===null&&t(f,w),a=o(we,a,P),E===null?C=we:E.sibling=we,E=we,w=F}if(R.done)return n(f,w),W&&jt(f,P),C;if(w===null){for(;!R.done;P++,R=d.next())R=h(f,R.value,v),R!==null&&(a=o(R,a,P),E===null?C=R:E.sibling=R,E=R);return W&&jt(f,P),C}for(w=r(f,w);!R.done;P++,R=d.next())R=y(w,f,P,R.value,v),R!==null&&(e&&R.alternate!==null&&w.delete(R.key===null?P:R.key),a=o(R,a,P),E===null?C=R:E.sibling=R,E=R);return e&&w.forEach(function(Rt){return t(f,Rt)}),W&&jt(f,P),C}function $(f,a,d,v){if(typeof d=="object"&&d!==null&&d.type===rn&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case Fr:e:{for(var C=d.key,E=a;E!==null;){if(E.key===C){if(C=d.type,C===rn){if(E.tag===7){n(f,E.sibling),a=l(E,d.props.children),a.return=f,f=a;break e}}else if(E.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===dt&&Ds(C)===E.type){n(f,E.sibling),a=l(E,d.props),a.ref=Kn(f,E,d),a.return=f,f=a;break e}n(f,E);break}else t(f,E);E=E.sibling}d.type===rn?(a=Ht(d.props.children,f.mode,v,d.key),a.return=f,f=a):(v=pl(d.type,d.key,d.props,null,f.mode,v),v.ref=Kn(f,a,d),v.return=f,f=v)}return i(f);case nn:e:{for(E=d.key;a!==null;){if(a.key===E)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){n(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{n(f,a);break}else t(f,a);a=a.sibling}a=Wo(d,f.mode,v),a.return=f,f=a}return i(f);case dt:return E=d._init,$(f,a,E(d._payload),v)}if(Zn(d))return g(f,a,d,v);if(Bn(d))return k(f,a,d,v);Xr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(n(f,a.sibling),a=l(a,d),a.return=f,f=a):(n(f,a),a=Vo(d,f.mode,v),a.return=f,f=a),i(f)):n(f,a)}return $}var Pn=Oc(!0),Dc=Oc(!1),Ir={},Xe=Tt(Ir),kr=Tt(Ir),Er=Tt(Ir);function Bt(e){if(e===Ir)throw Error(S(174));return e}function Eu(e,t){switch(A(Er,t),A(kr,e),A(Xe,Ir),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:li(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=li(t,e)}V(Xe),A(Xe,t)}function Nn(){V(Xe),V(kr),V(Er)}function Mc(e){Bt(Er.current);var t=Bt(Xe.current),n=li(t,e.type);t!==n&&(A(kr,e),A(Xe,n))}function Cu(e){kr.current===e&&(V(Xe),V(kr))}var H=Tt(0);function Dl(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))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 Mo=[];function _u(){for(var e=0;en?n:4,e(!0);var r=jo.transition;jo.transition={};try{e(!1),t()}finally{D=n,jo.transition=r}}function qc(){return Ie().memoizedState}function Zp(e,t,n){var r=_t(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},bc(e))ef(t,n);else if(n=$c(e,t,n,r),n!==null){var l=ce();Be(n,e,r,l),tf(n,t,r)}}function Jp(e,t,n){var r=_t(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(bc(e))ef(t,l);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var i=t.lastRenderedState,u=o(i,n);if(l.hasEagerState=!0,l.eagerState=u,We(u,i)){var s=t.interleaved;s===null?(l.next=l,Su(t)):(l.next=s.next,s.next=l),t.interleaved=l;return}}catch{}finally{}n=$c(e,t,l,r),n!==null&&(l=ce(),Be(n,e,r,l),tf(n,t,r))}}function bc(e){var t=e.alternate;return e===Q||t!==null&&t===Q}function ef(e,t){or=Ml=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function tf(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,iu(e,n)}}var jl={readContext:Le,useCallback:oe,useContext:oe,useEffect:oe,useImperativeHandle:oe,useInsertionEffect:oe,useLayoutEffect:oe,useMemo:oe,useReducer:oe,useRef:oe,useState:oe,useDebugValue:oe,useDeferredValue:oe,useTransition:oe,useMutableSource:oe,useSyncExternalStore:oe,useId:oe,unstable_isNewReconciler:!1},qp={readContext:Le,useCallback:function(e,t){return Qe().memoizedState=[e,t===void 0?null:t],e},useContext:Le,useEffect:js,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,al(4194308,4,Yc.bind(null,t,e),n)},useLayoutEffect:function(e,t){return al(4194308,4,e,t)},useInsertionEffect:function(e,t){return al(4,2,e,t)},useMemo:function(e,t){var n=Qe();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Qe();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Zp.bind(null,Q,e),[r.memoizedState,e]},useRef:function(e){var t=Qe();return e={current:e},t.memoizedState=e},useState:Ms,useDebugValue:Tu,useDeferredValue:function(e){return Qe().memoizedState=e},useTransition:function(){var e=Ms(!1),t=e[0];return e=Xp.bind(null,e[1]),Qe().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Q,l=Qe();if(W){if(n===void 0)throw Error(S(407));n=n()}else{if(n=t(),te===null)throw Error(S(349));Xt&30||Ac(r,t,n)}l.memoizedState=n;var o={value:n,getSnapshot:t};return l.queue=o,js(Bc.bind(null,r,o,e),[e]),r.flags|=2048,xr(9,Uc.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Qe(),t=te.identifierPrefix;if(W){var n=tt,r=et;n=(r&~(1<<32-Ue(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Cr++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=i.createElement(n,{is:r.is}):(e=i.createElement(n),n==="select"&&(i=e,r.multiple?i.multiple=!0:r.size&&(i.size=r.size))):e=i.createElementNS(e,n),e[Ye]=t,e[Sr]=r,ff(e,t,!1,!1),t.stateNode=e;e:{switch(i=ii(n,r),n){case"dialog":U("cancel",e),U("close",e),l=r;break;case"iframe":case"object":case"embed":U("load",e),l=r;break;case"video":case"audio":for(l=0;lTn&&(t.flags|=128,r=!0,Yn(o,!1),t.lanes=4194304)}else{if(!r)if(e=Dl(i),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Yn(o,!0),o.tail===null&&o.tailMode==="hidden"&&!i.alternate&&!W)return ie(t),null}else 2*G()-o.renderingStartTime>Tn&&n!==1073741824&&(t.flags|=128,r=!0,Yn(o,!1),t.lanes=4194304);o.isBackwards?(i.sibling=t.child,t.child=i):(n=o.last,n!==null?n.sibling=i:t.child=i,o.last=i)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=G(),t.sibling=null,n=H.current,A(H,r?n&1|2:n&1),t):(ie(t),null);case 22:case 23:return Du(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Ee&1073741824&&(ie(t),t.subtreeFlags&6&&(t.flags|=8192)):ie(t),null;case 24:return null;case 25:return null}throw Error(S(156,t.tag))}function ih(e,t){switch(mu(t),t.tag){case 1:return ye(t.type)&&zl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Nn(),V(ve),V(se),_u(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Cu(t),null;case 13:if(V(H),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(S(340));xn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return V(H),null;case 4:return Nn(),null;case 10:return wu(t.type._context),null;case 22:case 23:return Du(),null;case 24:return null;default:return null}}var Jr=!1,ue=!1,uh=typeof WeakSet=="function"?WeakSet:Set,x=null;function pn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Y(e,t,r)}else n.current=null}function Ii(e,t,n){try{n()}catch(r){Y(e,t,r)}}var Ks=!1;function sh(e,t){if(vi=_l,e=vc(),pu(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var i=0,u=-1,s=-1,c=0,m=0,h=e,p=null;t:for(;;){for(var y;h!==n||l!==0&&h.nodeType!==3||(u=i+l),h!==o||r!==0&&h.nodeType!==3||(s=i+r),h.nodeType===3&&(i+=h.nodeValue.length),(y=h.firstChild)!==null;)p=h,h=y;for(;;){if(h===e)break t;if(p===n&&++c===l&&(u=i),p===o&&++m===r&&(s=i),(y=h.nextSibling)!==null)break;h=p,p=h.parentNode}h=y}n=u===-1||s===-1?null:{start:u,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(yi={focusedElem:e,selectionRange:n},_l=!1,x=t;x!==null;)if(t=x,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,x=e;else for(;x!==null;){t=x;try{var g=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var k=g.memoizedProps,$=g.memoizedState,f=t.stateNode,a=f.getSnapshotBeforeUpdate(t.elementType===t.type?k:je(t.type,k),$);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=t.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(S(163))}}catch(v){Y(t,t.return,v)}if(e=t.sibling,e!==null){e.return=t.return,x=e;break}x=t.return}return g=Ks,Ks=!1,g}function ir(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var o=l.destroy;l.destroy=void 0,o!==void 0&&Ii(t,n,o)}l=l.next}while(l!==r)}}function to(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Oi(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function hf(e){var t=e.alternate;t!==null&&(e.alternate=null,hf(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ye],delete t[Sr],delete t[Si],delete t[Hp],delete t[Qp])),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 mf(e){return e.tag===5||e.tag===3||e.tag===4}function Ys(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||mf(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 Di(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Nl));else if(r!==4&&(e=e.child,e!==null))for(Di(e,t,n),e=e.sibling;e!==null;)Di(e,t,n),e=e.sibling}function Mi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Mi(e,t,n),e=e.sibling;e!==null;)Mi(e,t,n),e=e.sibling}var ne=null,Fe=!1;function ct(e,t,n){for(n=n.child;n!==null;)vf(e,t,n),n=n.sibling}function vf(e,t,n){if(Ge&&typeof Ge.onCommitFiberUnmount=="function")try{Ge.onCommitFiberUnmount(Yl,n)}catch{}switch(n.tag){case 5:ue||pn(n,t);case 6:var r=ne,l=Fe;ne=null,ct(e,t,n),ne=r,Fe=l,ne!==null&&(Fe?(e=ne,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ne.removeChild(n.stateNode));break;case 18:ne!==null&&(Fe?(e=ne,n=n.stateNode,e.nodeType===8?Oo(e.parentNode,n):e.nodeType===1&&Oo(e,n),mr(e)):Oo(ne,n.stateNode));break;case 4:r=ne,l=Fe,ne=n.stateNode.containerInfo,Fe=!0,ct(e,t,n),ne=r,Fe=l;break;case 0:case 11:case 14:case 15:if(!ue&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var o=l,i=o.destroy;o=o.tag,i!==void 0&&(o&2||o&4)&&Ii(n,t,i),l=l.next}while(l!==r)}ct(e,t,n);break;case 1:if(!ue&&(pn(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(u){Y(n,t,u)}ct(e,t,n);break;case 21:ct(e,t,n);break;case 22:n.mode&1?(ue=(r=ue)||n.memoizedState!==null,ct(e,t,n),ue=r):ct(e,t,n);break;default:ct(e,t,n)}}function Gs(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new uh),t.forEach(function(r){var l=yh.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Me(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=i),r&=~o}if(r=l,r=G()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*ch(r/1960))-r,10e?16:e,yt===null)var r=!1;else{if(e=yt,yt=null,Ul=0,I&6)throw Error(S(331));var l=I;for(I|=4,x=e.current;x!==null;){var o=x,i=o.child;if(x.flags&16){var u=o.deletions;if(u!==null){for(var s=0;sG()-Iu?Wt(e,0):Lu|=n),ge(e,t)}function _f(e,t){t===0&&(e.mode&1?(t=Vr,Vr<<=1,!(Vr&130023424)&&(Vr=4194304)):t=1);var n=ce();e=ot(e,t),e!==null&&($r(e,t,n),ge(e,n))}function vh(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),_f(e,n)}function yh(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(S(314))}r!==null&&r.delete(t),_f(e,n)}var xf;xf=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ve.current)he=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return he=!1,lh(e,t,n);he=!!(e.flags&131072)}else he=!1,W&&t.flags&1048576&&Nc(t,Rl,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;cl(e,t),e=t.pendingProps;var l=_n(t,se.current);Sn(t,n),l=Pu(null,t,r,e,l,n);var o=Nu();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ye(r)?(o=!0,Tl(t)):o=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,ku(t),l.updater=bl,t.stateNode=l,l._reactInternals=t,Pi(t,r,e,n),t=Ti(null,t,r,!0,o,n)):(t.tag=0,W&&o&&hu(t),ae(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(cl(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=wh(r),e=je(r,e),l){case 0:t=zi(null,t,r,e,n);break e;case 1:t=Ws(null,t,r,e,n);break e;case 11:t=Bs(null,t,r,e,n);break e;case 14:t=Vs(null,t,r,je(r.type,e),n);break e}throw Error(S(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:je(r,l),zi(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:je(r,l),Ws(e,t,r,l,n);case 3:e:{if(sf(t),e===null)throw Error(S(387));r=t.pendingProps,o=t.memoizedState,l=o.element,Rc(e,t),Ol(t,r,null,n);var i=t.memoizedState;if(r=i.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){l=zn(Error(S(423)),t),t=Hs(e,t,r,n,l);break e}else if(r!==l){l=zn(Error(S(424)),t),t=Hs(e,t,r,n,l);break e}else for(Ce=kt(t.stateNode.containerInfo.firstChild),_e=t,W=!0,Ae=null,n=Dc(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(xn(),r===l){t=it(e,t,n);break e}ae(e,t,r,n)}t=t.child}return t;case 5:return Mc(t),e===null&&Ci(t),r=t.type,l=t.pendingProps,o=e!==null?e.memoizedProps:null,i=l.children,gi(r,l)?i=null:o!==null&&gi(r,o)&&(t.flags|=32),uf(e,t),ae(e,t,i,n),t.child;case 6:return e===null&&Ci(t),null;case 13:return af(e,t,n);case 4:return Eu(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Pn(t,null,r,n):ae(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:je(r,l),Bs(e,t,r,l,n);case 7:return ae(e,t,t.pendingProps,n),t.child;case 8:return ae(e,t,t.pendingProps.children,n),t.child;case 12:return ae(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,o=t.memoizedProps,i=l.value,A(Ll,r._currentValue),r._currentValue=i,o!==null)if(We(o.value,i)){if(o.children===l.children&&!ve.current){t=it(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var u=o.dependencies;if(u!==null){i=o.child;for(var s=u.firstContext;s!==null;){if(s.context===r){if(o.tag===1){s=nt(-1,n&-n),s.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var m=c.pending;m===null?s.next=s:(s.next=m.next,m.next=s),c.pending=s}}o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),_i(o.return,n,t),u.lanes|=n;break}s=s.next}}else if(o.tag===10)i=o.type===t.type?null:o.child;else if(o.tag===18){if(i=o.return,i===null)throw Error(S(341));i.lanes|=n,u=i.alternate,u!==null&&(u.lanes|=n),_i(i,n,t),i=o.sibling}else i=o.child;if(i!==null)i.return=o;else for(i=o;i!==null;){if(i===t){i=null;break}if(o=i.sibling,o!==null){o.return=i.return,i=o;break}i=i.return}o=i}ae(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,Sn(t,n),l=Le(l),r=r(l),t.flags|=1,ae(e,t,r,n),t.child;case 14:return r=t.type,l=je(r,t.pendingProps),l=je(r.type,l),Vs(e,t,r,l,n);case 15:return lf(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:je(r,l),cl(e,t),t.tag=1,ye(r)?(e=!0,Tl(t)):e=!1,Sn(t,n),Ic(t,r,l),Pi(t,r,l,n),Ti(null,t,r,!0,e,n);case 19:return cf(e,t,n);case 22:return of(e,t,n)}throw Error(S(156,t.tag))};function Pf(e,t){return Ja(e,t)}function gh(e,t,n,r){this.tag=e,this.key=n,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=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function $e(e,t,n,r){return new gh(e,t,n,r)}function ju(e){return e=e.prototype,!(!e||!e.isReactComponent)}function wh(e){if(typeof e=="function")return ju(e)?1:0;if(e!=null){if(e=e.$$typeof,e===nu)return 11;if(e===ru)return 14}return 2}function xt(e,t){var n=e.alternate;return n===null?(n=$e(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function pl(e,t,n,r,l,o){var i=2;if(r=e,typeof e=="function")ju(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case rn:return Ht(n.children,l,o,t);case tu:i=8,l|=8;break;case Zo:return e=$e(12,n,t,l|2),e.elementType=Zo,e.lanes=o,e;case Jo:return e=$e(13,n,t,l),e.elementType=Jo,e.lanes=o,e;case qo:return e=$e(19,n,t,l),e.elementType=qo,e.lanes=o,e;case Oa:return ro(n,l,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case La:i=10;break e;case Ia:i=9;break e;case nu:i=11;break e;case ru:i=14;break e;case dt:i=16,r=null;break e}throw Error(S(130,e==null?e:typeof e,""))}return t=$e(i,n,t,l),t.elementType=e,t.type=r,t.lanes=o,t}function Ht(e,t,n,r){return e=$e(7,e,r,t),e.lanes=n,e}function ro(e,t,n,r){return e=$e(22,e,r,t),e.elementType=Oa,e.lanes=n,e.stateNode={isHidden:!1},e}function Vo(e,t,n){return e=$e(6,e,null,t),e.lanes=n,e}function Wo(e,t,n){return t=$e(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Sh(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Co(0),this.expirationTimes=Co(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Co(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Fu(e,t,n,r,l,o,i,u,s){return e=new Sh(e,t,n,u,s),t===1?(t=1,o===!0&&(t|=8)):t=0,o=$e(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},ku(o),e}function kh(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE($f)}catch(e){console.error(e)}}$f(),Na.exports=Pe;var Ph=Na.exports,na=Ph;Go.createRoot=na.createRoot,Go.hydrateRoot=na.hydrateRoot;const Nh=[{name:"r3f sketch boilerplate",source:"/0_r3f_boilerplate",snapshot:"0_r3f_boilerplate.png",createdAt:1710064240151,updatedAt:1710056453716,origin:""}];var me=function(){return me=Object.assign||function(t){for(var n,r=1,l=arguments.length;r0?ee(Fn,--Oe):0,Rn--,X===10&&(Rn=1,ao--),X}function Ve(){return X=Oe2||Vi(X)>3?"":" "}function jh(e,t){for(;--t&&Ve()&&!(X<48||X>102||X>57&&X<65||X>70&&X<97););return fo(e,ml()+(t<6&&Qt()==32&&Ve()==32))}function Wi(e){for(;Ve();)switch(X){case e:return Oe;case 34:case 39:e!==34&&e!==39&&Wi(X);break;case 40:e===41&&Wi(e);break;case 92:Ve();break}return Oe}function Fh(e,t){for(;Ve()&&e+X!==57;)if(e+X===84&&Qt()===47)break;return"/*"+fo(t,Oe-1)+"*"+Wu(e===47?e:Ve())}function Ah(e){for(;!Vi(Qt());)Ve();return fo(e,Oe)}function Uh(e){return Dh(vl("",null,null,null,[""],e=Oh(e),0,[0],e))}function vl(e,t,n,r,l,o,i,u,s){for(var c=0,m=0,h=i,p=0,y=0,g=0,k=1,$=1,f=1,a=0,d="",v=l,C=o,E=r,w=d;$;)switch(g=a,a=Ve()){case 40:if(g!=108&&ee(w,h-1)==58){hl(w+=T(Ho(a),"&","&\f"),"&\f",If(c?u[c-1]:0))!=-1&&(f=-1);break}case 34:case 39:case 91:w+=Ho(a);break;case 9:case 10:case 13:case 32:w+=Mh(g);break;case 92:w+=jh(ml()-1,7);continue;case 47:switch(Qt()){case 42:case 47:bn(Bh(Fh(Ve(),ml()),t,n,s),s);break;default:w+="/"}break;case 123*k:u[c++]=Ke(w)*f;case 125*k:case 59:case 0:switch(a){case 0:case 125:$=0;case 59+m:f==-1&&(w=T(w,/\f/g,"")),y>0&&Ke(w)-h&&bn(y>32?oa(w+";",r,n,h-1,s):oa(T(w," ","")+";",r,n,h-2,s),s);break;case 59:w+=";";default:if(bn(E=la(w,t,n,c,m,l,u,d,v=[],C=[],h,o),o),a===123)if(m===0)vl(w,t,E,E,v,o,h,u,C);else switch(p===99&&ee(w,3)===110?100:p){case 100:case 108:case 109:case 115:vl(e,E,E,r&&bn(la(e,E,E,0,0,l,u,d,l,v=[],h,C),C),l,C,h,u,r?v:C);break;default:vl(w,E,E,E,[""],C,0,u,C)}}c=m=y=0,k=f=1,d=w="",h=i;break;case 58:h=1+Ke(w),y=g;default:if(k<1){if(a==123)--k;else if(a==125&&k++==0&&Ih()==125)continue}switch(w+=Wu(a),a*k){case 38:f=m>0?1:(w+="\f",-1);break;case 44:u[c++]=(Ke(w)-1)*f,f=1;break;case 64:Qt()===45&&(w+=Ho(Ve())),p=Qt(),m=h=Ke(d=w+=Ah(ml())),a++;break;case 45:g===45&&Ke(w)==2&&(k=0)}}return o}function la(e,t,n,r,l,o,i,u,s,c,m,h){for(var p=l-1,y=l===0?o:[""],g=Df(y),k=0,$=0,f=0;k0?y[a]+" "+d:T(d,/&\f/g,y[a])))&&(s[f++]=v);return co(e,t,n,l===0?so:u,s,c,m,h)}function Bh(e,t,n,r){return co(e,t,n,Rf,Wu(Lh()),$n(e,2,-2),0,r)}function oa(e,t,n,r,l){return co(e,t,n,Vu,$n(e,0,r),$n(e,r+1,-1),r,l)}function jf(e,t,n){switch($h(e,t)){case 5103:return O+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return O+e+e;case 4789:return ar+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return O+e+ar+e+B+e+e;case 5936:switch(ee(e,t+11)){case 114:return O+e+B+T(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return O+e+B+T(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return O+e+B+T(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return O+e+B+e+e;case 6165:return O+e+B+"flex-"+e+e;case 5187:return O+e+T(e,/(\w+).+(:[^]+)/,O+"box-$1$2"+B+"flex-$1$2")+e;case 5443:return O+e+B+"flex-item-"+T(e,/flex-|-self/g,"")+(qe(e,/flex-|baseline/)?"":B+"grid-row-"+T(e,/flex-|-self/g,""))+e;case 4675:return O+e+B+"flex-line-pack"+T(e,/align-content|flex-|-self/g,"")+e;case 5548:return O+e+B+T(e,"shrink","negative")+e;case 5292:return O+e+B+T(e,"basis","preferred-size")+e;case 6060:return O+"box-"+T(e,"-grow","")+O+e+B+T(e,"grow","positive")+e;case 4554:return O+T(e,/([^-])(transform)/g,"$1"+O+"$2")+e;case 6187:return T(T(T(e,/(zoom-|grab)/,O+"$1"),/(image-set)/,O+"$1"),e,"")+e;case 5495:case 3959:return T(e,/(image-set\([^]*)/,O+"$1$`$1");case 4968:return T(T(e,/(.+:)(flex-)?(.*)/,O+"box-pack:$3"+B+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+O+e+e;case 4200:if(!qe(e,/flex-|baseline/))return B+"grid-column-align"+$n(e,t)+e;break;case 2592:case 3360:return B+T(e,"template-","")+e;case 4384:case 3616:return n&&n.some(function(r,l){return t=l,qe(r.props,/grid-\w+-end/)})?~hl(e+(n=n[t].value),"span",0)?e:B+T(e,"-start","")+e+B+"grid-row-span:"+(~hl(n,"span",0)?qe(n,/\d+/):+qe(n,/\d+/)-+qe(e,/\d+/))+";":B+T(e,"-start","")+e;case 4896:case 4128:return n&&n.some(function(r){return qe(r.props,/grid-\w+-start/)})?e:B+T(T(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return T(e,/(.+)-inline(.+)/,O+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Ke(e)-1-t>6)switch(ee(e,t+1)){case 109:if(ee(e,t+4)!==45)break;case 102:return T(e,/(.+:)(.+)-([^]+)/,"$1"+O+"$2-$3$1"+ar+(ee(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~hl(e,"stretch",0)?jf(T(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return T(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(r,l,o,i,u,s,c){return B+l+":"+o+c+(i?B+l+"-span:"+(u?s:+s-+o)+c:"")+e});case 4949:if(ee(e,t+6)===121)return T(e,":",":"+O)+e;break;case 6444:switch(ee(e,ee(e,14)===45?18:11)){case 120:return T(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+O+(ee(e,14)===45?"inline-":"")+"box$3$1"+O+"$2$3$1"+B+"$2box$3")+e;case 100:return T(e,":",":"+B)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return T(e,"scroll-","scroll-snap-")+e}return e}function Hl(e,t){for(var n="",r=0;r-1&&!e.return)switch(e.type){case Vu:e.return=jf(e.value,e.length,n);return;case Lf:return Hl([ft(e,{value:T(e.value,"@","@"+O)})],r);case so:if(e.length)return Rh(n=e.props,function(l){switch(qe(l,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":tn(ft(e,{props:[T(l,/:(read-\w+)/,":"+ar+"$1")]})),tn(ft(e,{props:[l]})),Bi(e,{props:ra(n,r)});break;case"::placeholder":tn(ft(e,{props:[T(l,/:(plac\w+)/,":"+O+"input-$1")]})),tn(ft(e,{props:[T(l,/:(plac\w+)/,":"+ar+"$1")]})),tn(ft(e,{props:[T(l,/:(plac\w+)/,B+"input-$1")]})),tn(ft(e,{props:[l]})),Bi(e,{props:ra(n,r)});break}return""})}}var Kh={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},ke={},Ln=typeof process<"u"&&ke!==void 0&&(ke.REACT_APP_SC_ATTR||ke.SC_ATTR)||"data-styled",Ff="active",Af="data-styled-version",po="6.1.8",Hu=`/*!sc*/ +`+o.stack}return{value:e,source:t,stack:l,digest:null}}function Uo(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Ni(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var th=typeof WeakMap=="function"?WeakMap:Map;function nf(e,t,n){n=nt(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Al||(Al=!0,ji=r),Ni(e,t)},n}function rf(e,t,n){n=nt(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var l=t.value;n.payload=function(){return r(l)},n.callback=function(){Ni(e,t)}}var o=e.stateNode;return o!==null&&typeof o.componentDidCatch=="function"&&(n.callback=function(){Ni(e,t),typeof r!="function"&&(Ct===null?Ct=new Set([this]):Ct.add(this));var i=t.stack;this.componentDidCatch(t.value,{componentStack:i!==null?i:""})}),n}function Fs(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new th;var l=new Set;r.set(t,l)}else l=r.get(t),l===void 0&&(l=new Set,r.set(t,l));l.has(n)||(l.add(n),e=mh.bind(null,e,t,n),t.then(e,e))}function As(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 Us(e,t,n,r,l){return e.mode&1?(e.flags|=65536,e.lanes=l,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=nt(-1,1),t.tag=2,Et(n,t,1))),n.lanes|=1),e)}var nh=ut.ReactCurrentOwner,he=!1;function ae(e,t,n,r){t.child=e===null?Dc(t,null,n,r):Pn(t,e.child,n,r)}function Bs(e,t,n,r,l){n=n.render;var o=t.ref;return Sn(t,l),r=Pu(e,t,n,r,o,l),n=Nu(),e!==null&&!he?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,it(e,t,l)):(W&&n&&hu(t),t.flags|=1,ae(e,t,r,l),t.child)}function Vs(e,t,n,r,l){if(e===null){var o=n.type;return typeof o=="function"&&!ju(o)&&o.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=o,lf(e,t,o,r,l)):(e=pl(n.type,null,r,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(o=e.child,!(e.lanes&l)){var i=o.memoizedProps;if(n=n.compare,n=n!==null?n:yr,n(i,r)&&e.ref===t.ref)return it(e,t,l)}return t.flags|=1,e=xt(o,r),e.ref=t.ref,e.return=t,t.child=e}function lf(e,t,n,r,l){if(e!==null){var o=e.memoizedProps;if(yr(o,r)&&e.ref===t.ref)if(he=!1,t.pendingProps=r=o,(e.lanes&l)!==0)e.flags&131072&&(he=!0);else return t.lanes=e.lanes,it(e,t,l)}return zi(e,t,n,r,l)}function of(e,t,n){var r=t.pendingProps,l=r.children,o=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},A(hn,Ee),Ee|=n;else{if(!(n&1073741824))return e=o!==null?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,A(hn,Ee),Ee|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=o!==null?o.baseLanes:n,A(hn,Ee),Ee|=r}else o!==null?(r=o.baseLanes|n,t.memoizedState=null):r=n,A(hn,Ee),Ee|=r;return ae(e,t,l,n),t.child}function uf(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function zi(e,t,n,r,l){var o=ye(n)?Yt:se.current;return o=_n(t,o),Sn(t,l),n=Pu(e,t,n,r,o,l),r=Nu(),e!==null&&!he?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,it(e,t,l)):(W&&r&&hu(t),t.flags|=1,ae(e,t,n,l),t.child)}function Ws(e,t,n,r,l){if(ye(n)){var o=!0;Tl(t)}else o=!1;if(Sn(t,l),t.stateNode===null)cl(e,t),Ic(t,n,r),Pi(t,n,r,l),r=!0;else if(e===null){var i=t.stateNode,u=t.memoizedProps;i.props=u;var s=i.context,c=n.contextType;typeof c=="object"&&c!==null?c=Le(c):(c=ye(n)?Yt:se.current,c=_n(t,c));var m=n.getDerivedStateFromProps,h=typeof m=="function"||typeof i.getSnapshotBeforeUpdate=="function";h||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(u!==r||s!==c)&&Os(t,i,r,c),pt=!1;var p=t.memoizedState;i.state=p,Ol(t,r,i,l),s=t.memoizedState,u!==r||p!==s||ve.current||pt?(typeof m=="function"&&(xi(t,n,m,r),s=t.memoizedState),(u=pt||Is(t,n,u,r,p,s,c))?(h||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),i.props=r,i.state=s,i.context=c,r=u):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Rc(e,t),u=t.memoizedProps,c=t.type===t.elementType?u:je(t.type,u),i.props=c,h=t.pendingProps,p=i.context,s=n.contextType,typeof s=="object"&&s!==null?s=Le(s):(s=ye(n)?Yt:se.current,s=_n(t,s));var y=n.getDerivedStateFromProps;(m=typeof y=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(u!==h||p!==s)&&Os(t,i,r,s),pt=!1,p=t.memoizedState,i.state=p,Ol(t,r,i,l);var g=t.memoizedState;u!==h||p!==g||ve.current||pt?(typeof y=="function"&&(xi(t,n,y,r),g=t.memoizedState),(c=pt||Is(t,n,c,r,p,g,s)||!1)?(m||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(r,g,s),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(r,g,s)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||u===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=g),i.props=r,i.state=g,i.context=s,r=c):(typeof i.componentDidUpdate!="function"||u===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return Ti(e,t,n,r,o,l)}function Ti(e,t,n,r,l,o){uf(e,t);var i=(t.flags&128)!==0;if(!r&&!i)return l&&zs(t,n,!1),it(e,t,o);r=t.stateNode,nh.current=t;var u=i&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&i?(t.child=Pn(t,e.child,null,o),t.child=Pn(t,null,u,o)):ae(e,t,u,o),t.memoizedState=r.state,l&&zs(t,n,!0),t.child}function sf(e){var t=e.stateNode;t.pendingContext?Ns(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Ns(e,t.context,!1),Eu(e,t.containerInfo)}function Hs(e,t,n,r,l){return xn(),vu(l),t.flags|=256,ae(e,t,n,r),t.child}var $i={dehydrated:null,treeContext:null,retryLane:0};function Ri(e){return{baseLanes:e,cachePool:null,transitions:null}}function af(e,t,n){var r=t.pendingProps,l=H.current,o=!1,i=(t.flags&128)!==0,u;if((u=i)||(u=e!==null&&e.memoizedState===null?!1:(l&2)!==0),u?(o=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(l|=1),A(H,l&1),e===null)return Ci(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(i=r.children,e=r.fallback,o?(r=t.mode,o=t.child,i={mode:"hidden",children:i},!(r&1)&&o!==null?(o.childLanes=0,o.pendingProps=i):o=ro(i,r,0,null),e=Ht(e,r,n,null),o.return=t,e.return=t,o.sibling=e,t.child=o,t.child.memoizedState=Ri(n),t.memoizedState=$i,e):$u(t,i));if(l=e.memoizedState,l!==null&&(u=l.dehydrated,u!==null))return rh(e,t,i,r,u,l,n);if(o){o=r.fallback,i=t.mode,l=e.child,u=l.sibling;var s={mode:"hidden",children:r.children};return!(i&1)&&t.child!==l?(r=t.child,r.childLanes=0,r.pendingProps=s,t.deletions=null):(r=xt(l,s),r.subtreeFlags=l.subtreeFlags&14680064),u!==null?o=xt(u,o):(o=Ht(o,i,n,null),o.flags|=2),o.return=t,r.return=t,r.sibling=o,t.child=r,r=o,o=t.child,i=e.child.memoizedState,i=i===null?Ri(n):{baseLanes:i.baseLanes|n,cachePool:null,transitions:i.transitions},o.memoizedState=i,o.childLanes=e.childLanes&~n,t.memoizedState=$i,r}return o=e.child,e=o.sibling,r=xt(o,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function $u(e,t){return t=ro({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Zr(e,t,n,r){return r!==null&&vu(r),Pn(t,e.child,null,n),e=$u(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function rh(e,t,n,r,l,o,i){if(n)return t.flags&256?(t.flags&=-257,r=Uo(Error(S(422))),Zr(e,t,i,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(o=r.fallback,l=t.mode,r=ro({mode:"visible",children:r.children},l,0,null),o=Ht(o,l,i,null),o.flags|=2,r.return=t,o.return=t,r.sibling=o,t.child=r,t.mode&1&&Pn(t,e.child,null,i),t.child.memoizedState=Ri(i),t.memoizedState=$i,o);if(!(t.mode&1))return Zr(e,t,i,null);if(l.data==="$!"){if(r=l.nextSibling&&l.nextSibling.dataset,r)var u=r.dgst;return r=u,o=Error(S(419)),r=Uo(o,r,void 0),Zr(e,t,i,r)}if(u=(i&e.childLanes)!==0,he||u){if(r=te,r!==null){switch(i&-i){case 4:l=2;break;case 16:l=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:l=32;break;case 536870912:l=268435456;break;default:l=0}l=l&(r.suspendedLanes|i)?0:l,l!==0&&l!==o.retryLane&&(o.retryLane=l,ot(e,l),Be(r,e,l,-1))}return Mu(),r=Uo(Error(S(421))),Zr(e,t,i,r)}return l.data==="$?"?(t.flags|=128,t.child=e.child,t=vh.bind(null,e),l._reactRetry=t,null):(e=o.treeContext,Ce=kt(l.nextSibling),_e=t,W=!0,Ae=null,e!==null&&(ze[Te++]=et,ze[Te++]=tt,ze[Te++]=Gt,et=e.id,tt=e.overflow,Gt=t),t=$u(t,r.children),t.flags|=4096,t)}function Qs(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),_i(e.return,t,n)}function Bo(e,t,n,r,l){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:l}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=l)}function cf(e,t,n){var r=t.pendingProps,l=r.revealOrder,o=r.tail;if(ae(e,t,r.children,n),r=H.current,r&2)r=r&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&&Qs(e,n,t);else if(e.tag===19)Qs(e,n,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}r&=1}if(A(H,r),!(t.mode&1))t.memoizedState=null;else switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&Dl(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),Bo(t,!1,l,n,o);break;case"backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&Dl(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}Bo(t,!0,n,null,o);break;case"together":Bo(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function cl(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function it(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Zt|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(S(153));if(t.child!==null){for(e=t.child,n=xt(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=xt(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function lh(e,t,n){switch(t.tag){case 3:sf(t),xn();break;case 5:Mc(t);break;case 1:ye(t.type)&&Tl(t);break;case 4:Eu(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,l=t.memoizedProps.value;A(Ll,r._currentValue),r._currentValue=l;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(A(H,H.current&1),t.flags|=128,null):n&t.child.childLanes?af(e,t,n):(A(H,H.current&1),e=it(e,t,n),e!==null?e.sibling:null);A(H,H.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return cf(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),A(H,H.current),r)break;return null;case 22:case 23:return t.lanes=0,of(e,t,n)}return it(e,t,n)}var ff,Li,df,pf;ff=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};Li=function(){};df=function(e,t,n,r){var l=e.memoizedProps;if(l!==r){e=t.stateNode,Bt(Xe.current);var o=null;switch(n){case"input":l=ei(e,l),r=ei(e,r),o=[];break;case"select":l=K({},l,{value:void 0}),r=K({},r,{value:void 0}),o=[];break;case"textarea":l=ri(e,l),r=ri(e,r),o=[];break;default:typeof l.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Nl)}oi(n,r);var i;n=null;for(c in l)if(!r.hasOwnProperty(c)&&l.hasOwnProperty(c)&&l[c]!=null)if(c==="style"){var u=l[c];for(i in u)u.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(cr.hasOwnProperty(c)?o||(o=[]):(o=o||[]).push(c,null));for(c in r){var s=r[c];if(u=l!=null?l[c]:void 0,r.hasOwnProperty(c)&&s!==u&&(s!=null||u!=null))if(c==="style")if(u){for(i in u)!u.hasOwnProperty(i)||s&&s.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in s)s.hasOwnProperty(i)&&u[i]!==s[i]&&(n||(n={}),n[i]=s[i])}else n||(o||(o=[]),o.push(c,n)),n=s;else c==="dangerouslySetInnerHTML"?(s=s?s.__html:void 0,u=u?u.__html:void 0,s!=null&&u!==s&&(o=o||[]).push(c,s)):c==="children"?typeof s!="string"&&typeof s!="number"||(o=o||[]).push(c,""+s):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(cr.hasOwnProperty(c)?(s!=null&&c==="onScroll"&&U("scroll",e),o||u===s||(o=[])):(o=o||[]).push(c,s))}n&&(o=o||[]).push("style",n);var c=o;(t.updateQueue=c)&&(t.flags|=4)}};pf=function(e,t,n,r){n!==r&&(t.flags|=4)};function Yn(e,t){if(!W)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ie(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags&14680064,r|=l.flags&14680064,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function oh(e,t,n){var r=t.pendingProps;switch(mu(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ie(t),null;case 1:return ye(t.type)&&zl(),ie(t),null;case 3:return r=t.stateNode,Nn(),V(ve),V(se),_u(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(Gr(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Ae!==null&&(Ui(Ae),Ae=null))),Li(e,t),ie(t),null;case 5:Cu(t);var l=Bt(Er.current);if(n=t.type,e!==null&&t.stateNode!=null)df(e,t,n,r,l),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(S(166));return ie(t),null}if(e=Bt(Xe.current),Gr(t)){r=t.stateNode,n=t.type;var o=t.memoizedProps;switch(r[Ye]=t,r[Sr]=o,e=(t.mode&1)!==0,n){case"dialog":U("cancel",r),U("close",r);break;case"iframe":case"object":case"embed":U("load",r);break;case"video":case"audio":for(l=0;l<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=i.createElement(n,{is:r.is}):(e=i.createElement(n),n==="select"&&(i=e,r.multiple?i.multiple=!0:r.size&&(i.size=r.size))):e=i.createElementNS(e,n),e[Ye]=t,e[Sr]=r,ff(e,t,!1,!1),t.stateNode=e;e:{switch(i=ii(n,r),n){case"dialog":U("cancel",e),U("close",e),l=r;break;case"iframe":case"object":case"embed":U("load",e),l=r;break;case"video":case"audio":for(l=0;lTn&&(t.flags|=128,r=!0,Yn(o,!1),t.lanes=4194304)}else{if(!r)if(e=Dl(i),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Yn(o,!0),o.tail===null&&o.tailMode==="hidden"&&!i.alternate&&!W)return ie(t),null}else 2*G()-o.renderingStartTime>Tn&&n!==1073741824&&(t.flags|=128,r=!0,Yn(o,!1),t.lanes=4194304);o.isBackwards?(i.sibling=t.child,t.child=i):(n=o.last,n!==null?n.sibling=i:t.child=i,o.last=i)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=G(),t.sibling=null,n=H.current,A(H,r?n&1|2:n&1),t):(ie(t),null);case 22:case 23:return Du(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Ee&1073741824&&(ie(t),t.subtreeFlags&6&&(t.flags|=8192)):ie(t),null;case 24:return null;case 25:return null}throw Error(S(156,t.tag))}function ih(e,t){switch(mu(t),t.tag){case 1:return ye(t.type)&&zl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Nn(),V(ve),V(se),_u(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Cu(t),null;case 13:if(V(H),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(S(340));xn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return V(H),null;case 4:return Nn(),null;case 10:return wu(t.type._context),null;case 22:case 23:return Du(),null;case 24:return null;default:return null}}var Jr=!1,ue=!1,uh=typeof WeakSet=="function"?WeakSet:Set,x=null;function pn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Y(e,t,r)}else n.current=null}function Ii(e,t,n){try{n()}catch(r){Y(e,t,r)}}var Ks=!1;function sh(e,t){if(vi=_l,e=vc(),pu(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var i=0,u=-1,s=-1,c=0,m=0,h=e,p=null;t:for(;;){for(var y;h!==n||l!==0&&h.nodeType!==3||(u=i+l),h!==o||r!==0&&h.nodeType!==3||(s=i+r),h.nodeType===3&&(i+=h.nodeValue.length),(y=h.firstChild)!==null;)p=h,h=y;for(;;){if(h===e)break t;if(p===n&&++c===l&&(u=i),p===o&&++m===r&&(s=i),(y=h.nextSibling)!==null)break;h=p,p=h.parentNode}h=y}n=u===-1||s===-1?null:{start:u,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(yi={focusedElem:e,selectionRange:n},_l=!1,x=t;x!==null;)if(t=x,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,x=e;else for(;x!==null;){t=x;try{var g=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var k=g.memoizedProps,$=g.memoizedState,f=t.stateNode,a=f.getSnapshotBeforeUpdate(t.elementType===t.type?k:je(t.type,k),$);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=t.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(S(163))}}catch(v){Y(t,t.return,v)}if(e=t.sibling,e!==null){e.return=t.return,x=e;break}x=t.return}return g=Ks,Ks=!1,g}function ir(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var o=l.destroy;l.destroy=void 0,o!==void 0&&Ii(t,n,o)}l=l.next}while(l!==r)}}function to(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Oi(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function hf(e){var t=e.alternate;t!==null&&(e.alternate=null,hf(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ye],delete t[Sr],delete t[Si],delete t[Hp],delete t[Qp])),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 mf(e){return e.tag===5||e.tag===3||e.tag===4}function Ys(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||mf(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 Di(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Nl));else if(r!==4&&(e=e.child,e!==null))for(Di(e,t,n),e=e.sibling;e!==null;)Di(e,t,n),e=e.sibling}function Mi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Mi(e,t,n),e=e.sibling;e!==null;)Mi(e,t,n),e=e.sibling}var ne=null,Fe=!1;function ct(e,t,n){for(n=n.child;n!==null;)vf(e,t,n),n=n.sibling}function vf(e,t,n){if(Ge&&typeof Ge.onCommitFiberUnmount=="function")try{Ge.onCommitFiberUnmount(Yl,n)}catch{}switch(n.tag){case 5:ue||pn(n,t);case 6:var r=ne,l=Fe;ne=null,ct(e,t,n),ne=r,Fe=l,ne!==null&&(Fe?(e=ne,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ne.removeChild(n.stateNode));break;case 18:ne!==null&&(Fe?(e=ne,n=n.stateNode,e.nodeType===8?Oo(e.parentNode,n):e.nodeType===1&&Oo(e,n),mr(e)):Oo(ne,n.stateNode));break;case 4:r=ne,l=Fe,ne=n.stateNode.containerInfo,Fe=!0,ct(e,t,n),ne=r,Fe=l;break;case 0:case 11:case 14:case 15:if(!ue&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var o=l,i=o.destroy;o=o.tag,i!==void 0&&(o&2||o&4)&&Ii(n,t,i),l=l.next}while(l!==r)}ct(e,t,n);break;case 1:if(!ue&&(pn(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(u){Y(n,t,u)}ct(e,t,n);break;case 21:ct(e,t,n);break;case 22:n.mode&1?(ue=(r=ue)||n.memoizedState!==null,ct(e,t,n),ue=r):ct(e,t,n);break;default:ct(e,t,n)}}function Gs(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new uh),t.forEach(function(r){var l=yh.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Me(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=i),r&=~o}if(r=l,r=G()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*ch(r/1960))-r,10e?16:e,yt===null)var r=!1;else{if(e=yt,yt=null,Ul=0,I&6)throw Error(S(331));var l=I;for(I|=4,x=e.current;x!==null;){var o=x,i=o.child;if(x.flags&16){var u=o.deletions;if(u!==null){for(var s=0;sG()-Iu?Wt(e,0):Lu|=n),ge(e,t)}function _f(e,t){t===0&&(e.mode&1?(t=Vr,Vr<<=1,!(Vr&130023424)&&(Vr=4194304)):t=1);var n=ce();e=ot(e,t),e!==null&&($r(e,t,n),ge(e,n))}function vh(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),_f(e,n)}function yh(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(S(314))}r!==null&&r.delete(t),_f(e,n)}var xf;xf=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ve.current)he=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return he=!1,lh(e,t,n);he=!!(e.flags&131072)}else he=!1,W&&t.flags&1048576&&Nc(t,Rl,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;cl(e,t),e=t.pendingProps;var l=_n(t,se.current);Sn(t,n),l=Pu(null,t,r,e,l,n);var o=Nu();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ye(r)?(o=!0,Tl(t)):o=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,ku(t),l.updater=bl,t.stateNode=l,l._reactInternals=t,Pi(t,r,e,n),t=Ti(null,t,r,!0,o,n)):(t.tag=0,W&&o&&hu(t),ae(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(cl(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=wh(r),e=je(r,e),l){case 0:t=zi(null,t,r,e,n);break e;case 1:t=Ws(null,t,r,e,n);break e;case 11:t=Bs(null,t,r,e,n);break e;case 14:t=Vs(null,t,r,je(r.type,e),n);break e}throw Error(S(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:je(r,l),zi(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:je(r,l),Ws(e,t,r,l,n);case 3:e:{if(sf(t),e===null)throw Error(S(387));r=t.pendingProps,o=t.memoizedState,l=o.element,Rc(e,t),Ol(t,r,null,n);var i=t.memoizedState;if(r=i.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){l=zn(Error(S(423)),t),t=Hs(e,t,r,n,l);break e}else if(r!==l){l=zn(Error(S(424)),t),t=Hs(e,t,r,n,l);break e}else for(Ce=kt(t.stateNode.containerInfo.firstChild),_e=t,W=!0,Ae=null,n=Dc(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(xn(),r===l){t=it(e,t,n);break e}ae(e,t,r,n)}t=t.child}return t;case 5:return Mc(t),e===null&&Ci(t),r=t.type,l=t.pendingProps,o=e!==null?e.memoizedProps:null,i=l.children,gi(r,l)?i=null:o!==null&&gi(r,o)&&(t.flags|=32),uf(e,t),ae(e,t,i,n),t.child;case 6:return e===null&&Ci(t),null;case 13:return af(e,t,n);case 4:return Eu(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Pn(t,null,r,n):ae(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:je(r,l),Bs(e,t,r,l,n);case 7:return ae(e,t,t.pendingProps,n),t.child;case 8:return ae(e,t,t.pendingProps.children,n),t.child;case 12:return ae(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,o=t.memoizedProps,i=l.value,A(Ll,r._currentValue),r._currentValue=i,o!==null)if(We(o.value,i)){if(o.children===l.children&&!ve.current){t=it(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var u=o.dependencies;if(u!==null){i=o.child;for(var s=u.firstContext;s!==null;){if(s.context===r){if(o.tag===1){s=nt(-1,n&-n),s.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var m=c.pending;m===null?s.next=s:(s.next=m.next,m.next=s),c.pending=s}}o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),_i(o.return,n,t),u.lanes|=n;break}s=s.next}}else if(o.tag===10)i=o.type===t.type?null:o.child;else if(o.tag===18){if(i=o.return,i===null)throw Error(S(341));i.lanes|=n,u=i.alternate,u!==null&&(u.lanes|=n),_i(i,n,t),i=o.sibling}else i=o.child;if(i!==null)i.return=o;else for(i=o;i!==null;){if(i===t){i=null;break}if(o=i.sibling,o!==null){o.return=i.return,i=o;break}i=i.return}o=i}ae(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,Sn(t,n),l=Le(l),r=r(l),t.flags|=1,ae(e,t,r,n),t.child;case 14:return r=t.type,l=je(r,t.pendingProps),l=je(r.type,l),Vs(e,t,r,l,n);case 15:return lf(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:je(r,l),cl(e,t),t.tag=1,ye(r)?(e=!0,Tl(t)):e=!1,Sn(t,n),Ic(t,r,l),Pi(t,r,l,n),Ti(null,t,r,!0,e,n);case 19:return cf(e,t,n);case 22:return of(e,t,n)}throw Error(S(156,t.tag))};function Pf(e,t){return Ja(e,t)}function gh(e,t,n,r){this.tag=e,this.key=n,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=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function $e(e,t,n,r){return new gh(e,t,n,r)}function ju(e){return e=e.prototype,!(!e||!e.isReactComponent)}function wh(e){if(typeof e=="function")return ju(e)?1:0;if(e!=null){if(e=e.$$typeof,e===nu)return 11;if(e===ru)return 14}return 2}function xt(e,t){var n=e.alternate;return n===null?(n=$e(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function pl(e,t,n,r,l,o){var i=2;if(r=e,typeof e=="function")ju(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case rn:return Ht(n.children,l,o,t);case tu:i=8,l|=8;break;case Zo:return e=$e(12,n,t,l|2),e.elementType=Zo,e.lanes=o,e;case Jo:return e=$e(13,n,t,l),e.elementType=Jo,e.lanes=o,e;case qo:return e=$e(19,n,t,l),e.elementType=qo,e.lanes=o,e;case Oa:return ro(n,l,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case La:i=10;break e;case Ia:i=9;break e;case nu:i=11;break e;case ru:i=14;break e;case dt:i=16,r=null;break e}throw Error(S(130,e==null?e:typeof e,""))}return t=$e(i,n,t,l),t.elementType=e,t.type=r,t.lanes=o,t}function Ht(e,t,n,r){return e=$e(7,e,r,t),e.lanes=n,e}function ro(e,t,n,r){return e=$e(22,e,r,t),e.elementType=Oa,e.lanes=n,e.stateNode={isHidden:!1},e}function Vo(e,t,n){return e=$e(6,e,null,t),e.lanes=n,e}function Wo(e,t,n){return t=$e(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Sh(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Co(0),this.expirationTimes=Co(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Co(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Fu(e,t,n,r,l,o,i,u,s){return e=new Sh(e,t,n,u,s),t===1?(t=1,o===!0&&(t|=8)):t=0,o=$e(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},ku(o),e}function kh(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE($f)}catch(e){console.error(e)}}$f(),Na.exports=Pe;var Ph=Na.exports,na=Ph;Go.createRoot=na.createRoot,Go.hydrateRoot=na.hydrateRoot;const Nh=[{name:"r3f sketch boilerplate",source:"/20240310_instanced_animation",snapshot:"20240310_instanced_animation.png",createdAt:1710078617574,updatedAt:1710078189032,origin:""},{name:"r3f sketch boilerplate",source:"/0_r3f_boilerplate",snapshot:"0_r3f_boilerplate.png",createdAt:1710078611133,updatedAt:1710056453716,origin:""}];var me=function(){return me=Object.assign||function(t){for(var n,r=1,l=arguments.length;r0?ee(Fn,--Oe):0,Rn--,X===10&&(Rn=1,ao--),X}function Ve(){return X=Oe2||Vi(X)>3?"":" "}function jh(e,t){for(;--t&&Ve()&&!(X<48||X>102||X>57&&X<65||X>70&&X<97););return fo(e,ml()+(t<6&&Qt()==32&&Ve()==32))}function Wi(e){for(;Ve();)switch(X){case e:return Oe;case 34:case 39:e!==34&&e!==39&&Wi(X);break;case 40:e===41&&Wi(e);break;case 92:Ve();break}return Oe}function Fh(e,t){for(;Ve()&&e+X!==57;)if(e+X===84&&Qt()===47)break;return"/*"+fo(t,Oe-1)+"*"+Wu(e===47?e:Ve())}function Ah(e){for(;!Vi(Qt());)Ve();return fo(e,Oe)}function Uh(e){return Dh(vl("",null,null,null,[""],e=Oh(e),0,[0],e))}function vl(e,t,n,r,l,o,i,u,s){for(var c=0,m=0,h=i,p=0,y=0,g=0,k=1,$=1,f=1,a=0,d="",v=l,C=o,E=r,w=d;$;)switch(g=a,a=Ve()){case 40:if(g!=108&&ee(w,h-1)==58){hl(w+=T(Ho(a),"&","&\f"),"&\f",If(c?u[c-1]:0))!=-1&&(f=-1);break}case 34:case 39:case 91:w+=Ho(a);break;case 9:case 10:case 13:case 32:w+=Mh(g);break;case 92:w+=jh(ml()-1,7);continue;case 47:switch(Qt()){case 42:case 47:bn(Bh(Fh(Ve(),ml()),t,n,s),s);break;default:w+="/"}break;case 123*k:u[c++]=Ke(w)*f;case 125*k:case 59:case 0:switch(a){case 0:case 125:$=0;case 59+m:f==-1&&(w=T(w,/\f/g,"")),y>0&&Ke(w)-h&&bn(y>32?oa(w+";",r,n,h-1,s):oa(T(w," ","")+";",r,n,h-2,s),s);break;case 59:w+=";";default:if(bn(E=la(w,t,n,c,m,l,u,d,v=[],C=[],h,o),o),a===123)if(m===0)vl(w,t,E,E,v,o,h,u,C);else switch(p===99&&ee(w,3)===110?100:p){case 100:case 108:case 109:case 115:vl(e,E,E,r&&bn(la(e,E,E,0,0,l,u,d,l,v=[],h,C),C),l,C,h,u,r?v:C);break;default:vl(w,E,E,E,[""],C,0,u,C)}}c=m=y=0,k=f=1,d=w="",h=i;break;case 58:h=1+Ke(w),y=g;default:if(k<1){if(a==123)--k;else if(a==125&&k++==0&&Ih()==125)continue}switch(w+=Wu(a),a*k){case 38:f=m>0?1:(w+="\f",-1);break;case 44:u[c++]=(Ke(w)-1)*f,f=1;break;case 64:Qt()===45&&(w+=Ho(Ve())),p=Qt(),m=h=Ke(d=w+=Ah(ml())),a++;break;case 45:g===45&&Ke(w)==2&&(k=0)}}return o}function la(e,t,n,r,l,o,i,u,s,c,m,h){for(var p=l-1,y=l===0?o:[""],g=Df(y),k=0,$=0,f=0;k0?y[a]+" "+d:T(d,/&\f/g,y[a])))&&(s[f++]=v);return co(e,t,n,l===0?so:u,s,c,m,h)}function Bh(e,t,n,r){return co(e,t,n,Rf,Wu(Lh()),$n(e,2,-2),0,r)}function oa(e,t,n,r,l){return co(e,t,n,Vu,$n(e,0,r),$n(e,r+1,-1),r,l)}function jf(e,t,n){switch($h(e,t)){case 5103:return O+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return O+e+e;case 4789:return ar+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return O+e+ar+e+B+e+e;case 5936:switch(ee(e,t+11)){case 114:return O+e+B+T(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return O+e+B+T(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return O+e+B+T(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return O+e+B+e+e;case 6165:return O+e+B+"flex-"+e+e;case 5187:return O+e+T(e,/(\w+).+(:[^]+)/,O+"box-$1$2"+B+"flex-$1$2")+e;case 5443:return O+e+B+"flex-item-"+T(e,/flex-|-self/g,"")+(qe(e,/flex-|baseline/)?"":B+"grid-row-"+T(e,/flex-|-self/g,""))+e;case 4675:return O+e+B+"flex-line-pack"+T(e,/align-content|flex-|-self/g,"")+e;case 5548:return O+e+B+T(e,"shrink","negative")+e;case 5292:return O+e+B+T(e,"basis","preferred-size")+e;case 6060:return O+"box-"+T(e,"-grow","")+O+e+B+T(e,"grow","positive")+e;case 4554:return O+T(e,/([^-])(transform)/g,"$1"+O+"$2")+e;case 6187:return T(T(T(e,/(zoom-|grab)/,O+"$1"),/(image-set)/,O+"$1"),e,"")+e;case 5495:case 3959:return T(e,/(image-set\([^]*)/,O+"$1$`$1");case 4968:return T(T(e,/(.+:)(flex-)?(.*)/,O+"box-pack:$3"+B+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+O+e+e;case 4200:if(!qe(e,/flex-|baseline/))return B+"grid-column-align"+$n(e,t)+e;break;case 2592:case 3360:return B+T(e,"template-","")+e;case 4384:case 3616:return n&&n.some(function(r,l){return t=l,qe(r.props,/grid-\w+-end/)})?~hl(e+(n=n[t].value),"span",0)?e:B+T(e,"-start","")+e+B+"grid-row-span:"+(~hl(n,"span",0)?qe(n,/\d+/):+qe(n,/\d+/)-+qe(e,/\d+/))+";":B+T(e,"-start","")+e;case 4896:case 4128:return n&&n.some(function(r){return qe(r.props,/grid-\w+-start/)})?e:B+T(T(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return T(e,/(.+)-inline(.+)/,O+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Ke(e)-1-t>6)switch(ee(e,t+1)){case 109:if(ee(e,t+4)!==45)break;case 102:return T(e,/(.+:)(.+)-([^]+)/,"$1"+O+"$2-$3$1"+ar+(ee(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~hl(e,"stretch",0)?jf(T(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return T(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(r,l,o,i,u,s,c){return B+l+":"+o+c+(i?B+l+"-span:"+(u?s:+s-+o)+c:"")+e});case 4949:if(ee(e,t+6)===121)return T(e,":",":"+O)+e;break;case 6444:switch(ee(e,ee(e,14)===45?18:11)){case 120:return T(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+O+(ee(e,14)===45?"inline-":"")+"box$3$1"+O+"$2$3$1"+B+"$2box$3")+e;case 100:return T(e,":",":"+B)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return T(e,"scroll-","scroll-snap-")+e}return e}function Hl(e,t){for(var n="",r=0;r-1&&!e.return)switch(e.type){case Vu:e.return=jf(e.value,e.length,n);return;case Lf:return Hl([ft(e,{value:T(e.value,"@","@"+O)})],r);case so:if(e.length)return Rh(n=e.props,function(l){switch(qe(l,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":tn(ft(e,{props:[T(l,/:(read-\w+)/,":"+ar+"$1")]})),tn(ft(e,{props:[l]})),Bi(e,{props:ra(n,r)});break;case"::placeholder":tn(ft(e,{props:[T(l,/:(plac\w+)/,":"+O+"input-$1")]})),tn(ft(e,{props:[T(l,/:(plac\w+)/,":"+ar+"$1")]})),tn(ft(e,{props:[T(l,/:(plac\w+)/,B+"input-$1")]})),tn(ft(e,{props:[l]})),Bi(e,{props:ra(n,r)});break}return""})}}var Kh={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},ke={},Ln=typeof process<"u"&&ke!==void 0&&(ke.REACT_APP_SC_ATTR||ke.SC_ATTR)||"data-styled",Ff="active",Af="data-styled-version",po="6.1.8",Hu=`/*!sc*/ `,Qu=typeof window<"u"&&"HTMLElement"in window,Yh=!!(typeof SC_DISABLE_SPEEDY=="boolean"?SC_DISABLE_SPEEDY:typeof process<"u"&&ke!==void 0&&ke.REACT_APP_SC_DISABLE_SPEEDY!==void 0&&ke.REACT_APP_SC_DISABLE_SPEEDY!==""?ke.REACT_APP_SC_DISABLE_SPEEDY!=="false"&&ke.REACT_APP_SC_DISABLE_SPEEDY:typeof process<"u"&&ke!==void 0&&ke.SC_DISABLE_SPEEDY!==void 0&&ke.SC_DISABLE_SPEEDY!==""&&ke.SC_DISABLE_SPEEDY!=="false"&&ke.SC_DISABLE_SPEEDY),ho=Object.freeze([]),In=Object.freeze({});function Gh(e,t,n){return n===void 0&&(n=In),e.theme!==n.theme&&e.theme||t||n.theme}var Uf=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),Xh=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,Zh=/(^-|-$)/g;function ia(e){return e.replace(Xh,"-").replace(Zh,"")}var Jh=/(a)(d)/gi,el=52,ua=function(e){return String.fromCharCode(e+(e>25?39:97))};function Hi(e){var t,n="";for(t=Math.abs(e);t>el;t=t/el|0)n=ua(t%el)+n;return(ua(t%el)+n).replace(Jh,"$1-$2")}var Qo,Bf=5381,mn=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},Vf=function(e){return mn(Bf,e)};function qh(e){return Hi(Vf(e)>>>0)}function bh(e){return e.displayName||e.name||"Component"}function Ko(e){return typeof e=="string"&&!0}var Wf=typeof Symbol=="function"&&Symbol.for,Hf=Wf?Symbol.for("react.memo"):60115,em=Wf?Symbol.for("react.forward_ref"):60112,tm={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},nm={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Qf={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},rm=((Qo={})[em]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Qo[Hf]=Qf,Qo);function sa(e){return("type"in(t=e)&&t.type.$$typeof)===Hf?Qf:"$$typeof"in e?rm[e.$$typeof]:tm;var t}var lm=Object.defineProperty,om=Object.getOwnPropertyNames,aa=Object.getOwnPropertySymbols,im=Object.getOwnPropertyDescriptor,um=Object.getPrototypeOf,ca=Object.prototype;function Kf(e,t,n){if(typeof t!="string"){if(ca){var r=um(t);r&&r!==ca&&Kf(e,r,n)}var l=om(t);aa&&(l=l.concat(aa(t)));for(var o=sa(e),i=sa(t),u=0;u0?" Args: ".concat(t.join(", ")):""))}var sm=function(){function e(t){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=t}return e.prototype.indexOfGroup=function(t){for(var n=0,r=0;r=this.groupSizes.length){for(var r=this.groupSizes,l=r.length,o=l;t>=o;)if((o<<=1)<0)throw Or(16,"".concat(t));this.groupSizes=new Uint32Array(o),this.groupSizes.set(r),this.length=o;for(var i=l;i=this.length||this.groupSizes[t]===0)return n;for(var r=this.groupSizes[t],l=this.indexOfGroup(t),o=l+r,i=l;i=0){var r=document.createTextNode(n);return this.element.insertBefore(r,this.nodes[t]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(t){this.element.removeChild(this.nodes[t]),this.length--},e.prototype.getRule=function(t){return t0&&($+="".concat(f,","))}),s+="".concat(g).concat(k,'{content:"').concat($,'"}').concat(Hu)},m=0;m0?".".concat(t):p},m=s.slice();m.push(function(p){p.type===so&&p.value.includes("&")&&(p.props[0]=p.props[0].replace(wm,n).replace(r,c))}),i.prefix&&m.push(Qh),m.push(Vh);var h=function(p,y,g,k){y===void 0&&(y=""),g===void 0&&(g=""),k===void 0&&(k="&"),t=k,n=y,r=new RegExp("\\".concat(n,"\\b"),"g");var $=p.replace(Sm,""),f=Uh(g||y?"".concat(g," ").concat(y," { ").concat($," }"):$);i.namespace&&(f=Xf(f,i.namespace));var a=[];return Hl(f,Wh(m.concat(Hh(function(d){return a.push(d)})))),a};return h.hash=s.length?s.reduce(function(p,y){return y.name||Or(15),mn(p,y.name)},Bf).toString():"",h}var Em=new Gf,Ki=km(),Zf=En.createContext({shouldForwardProp:void 0,styleSheet:Em,stylis:Ki});Zf.Consumer;En.createContext(void 0);function pa(){return Tr.useContext(Zf)}var Cm=function(){function e(t,n){var r=this;this.inject=function(l,o){o===void 0&&(o=Ki);var i=r.name+o.hash;l.hasNameForId(r.id,i)||l.insertRules(r.id,i,o(r.rules,i,"@keyframes"))},this.name=t,this.id="sc-keyframes-".concat(t),this.rules=n,Yu(this,function(){throw Or(12,String(r.name))})}return e.prototype.getName=function(t){return t===void 0&&(t=Ki),this.name+t.hash},e}(),_m=function(e){return e>="A"&&e<="Z"};function ha(e){for(var t="",n=0;n>>0);if(!n.hasNameForId(this.componentId,i)){var u=r(o,".".concat(i),void 0,this.componentId);n.insertRules(this.componentId,i,u)}l=Vt(l,i),this.staticRulesId=i}else{for(var s=mn(this.baseHash,r.hash),c="",m=0;m>>0);n.hasNameForId(this.componentId,y)||n.insertRules(this.componentId,y,r(c,".".concat(y),void 0,this.componentId)),l=Vt(l,y)}}return l},e}(),bf=En.createContext(void 0);bf.Consumer;var Yo={};function zm(e,t,n){var r=Ku(e),l=e,o=!Ko(e),i=t.attrs,u=i===void 0?ho:i,s=t.componentId,c=s===void 0?function(v,C){var E=typeof v!="string"?"sc":ia(v);Yo[E]=(Yo[E]||0)+1;var w="".concat(E,"-").concat(qh(po+E+Yo[E]));return C?"".concat(C,"-").concat(w):w}(t.displayName,t.parentComponentId):s,m=t.displayName,h=m===void 0?function(v){return Ko(v)?"styled.".concat(v):"Styled(".concat(bh(v),")")}(e):m,p=t.displayName&&t.componentId?"".concat(ia(t.displayName),"-").concat(t.componentId):t.componentId||c,y=r&&l.attrs?l.attrs.concat(u).filter(Boolean):u,g=t.shouldForwardProp;if(r&&l.shouldForwardProp){var k=l.shouldForwardProp;if(t.shouldForwardProp){var $=t.shouldForwardProp;g=function(v,C){return k(v,C)&&$(v,C)}}else g=k}var f=new Nm(n,p,r?l.componentStyle:void 0);function a(v,C){return function(E,w,P){var F=E.attrs,R=E.componentStyle,we=E.defaultProps,Rt=E.foldedComponentIds,Lt=E.styledComponentId,Dr=E.target,vo=En.useContext(bf),An=pa(),It=E.shouldForwardProp||An.shouldForwardProp,_=Gh(w,vo,we)||In,N=function(st,Se,Ze){for(var Un,Dt=me(me({},Se),{className:void 0,theme:Ze}),yo=0;yo -> ❤ : ) - +
diff --git a/screenshots/20240310_instanced_animation.png b/screenshots/20240310_instanced_animation.png new file mode 100644 index 0000000000000000000000000000000000000000..063dfc8e40674877db50a1efb3e67c793fcc4f60 GIT binary patch literal 238203 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%0D+yyU~M zPC3H3*ADMeVyY;b4#hWPyWJgM7${zqfA0g9r(FxOYla#oCHc$GXIo3!HVq{n?M=18 zo5;}NIHgX}`DL}c@$NQy2cV)WvJP#-gfWHiIHeUt9A-`}Q!Cu@Yze&9K{TD)U5hii z^W}_(x~1^?8U;>A_hRoIjef&nS%x^BO;-gEdnQz%?>`2O$+!R;I}quuMknHK?>AFS zSh|ujpnQ=Z^m#c?$Tno1)a9&K;k>i*e zc3A>ol7_#+mVzj_VLtn;~*SVFRjaqtJ(96aM8dg3bUH>j+OFD#7 zCHN1)AAm~rz76&FaF_FiK#Emb&$*W}n?eGsg!l^&rFjSv;hv7W(|n}?H0{X(&!q`l z&b5UXFBJK=u@YXt3wFo2aVth&>Ws*5uKfI2*=6ztnz*yQ{L^2%rUxm^XNlsmz_9x- z>_0#z&H$(IxLK{pckC1mkM}LAHO_sZbb)zl+07llEo{f$44Vxy2_*(Rd7X7*de^u_ z$5ZS<1&LPZHk^PAjCX=?g~ac7AlP3v?0x)aNFlo)AkTAIl@0D&(uY*y_%^~@jO2bV=;h+pIg&FNf-zK$z|tAtliiW) zgm(?j6;+@9B4x706fNH%tTVt3riOONuG&=}w7ndDl5t@APE;}GDS9Wi6pJqwM(Az* z65SqtrdiGc0<@2&D?5y=Jq_OKh+I5rzb#%u9n(c=o|{w4%BS4r1N+~+iP5LlYFnA< zGEH>r!cl8#=KWZ5vA@C^cUvAwJ4Z%`o-YTknU7^vy2dw4WTu)PTKgm!v>;YPtUMhC z_Ig7sN9yNZAteTan^8ARwzyJ(lUUE+Q4B(Tk)S~Ek~Z&j>$HGX)-k1AJBdEVKOnj^ zZijxpUJRT&Om{_t`ay*Lv#ovu=bF|q9VVz@kwh}`v9)R;)$oqqVn?~~TCy0OLVKxJ z@z!rOu8v)K8chRDX=xZFrucBY+joU8Od=R28|cH$KALASzw8(A_nj~6^VyH=I&w|$|U@LXZ;uyCVM@BTbF#l=Uo;h<8A(c0=_^XM zQ~6onDN9@;{kAXUH~EzwvO&D@mP7E1Pg@S2={K?}&he8kQ7DYhZ8eI-g9CRen#SHS zIP=^6^e3%fG3dQ-Wv(sleek%P2;BAOm8lbO;*A$({CoPjj>NkJ3%xU+oYML?XLLBW z^|umFM+qgG#z`4%ILVGbKuPyhM75j{5cD)1hZCs^e8VC+S2^8jtae4xG2=XY67qEYA7Phjrd=6! z`-J?~HjBwqex|xhsiK_8Uy=AkA+T5B@6R`pZyt;^5E#w6==}!oXi8M*LPMXyXW~QM zruJKF&Yxdl=bYb=;yiaCgNujqm$%@X#Y<^S@*$@gLDGc(yX1Dv<(YF0cA z&uQ9M$_G{H{n$E7u)+cm{q=MI3%Nr;tIM^icV6Ly;n_tbua7{ZAMLShpQBj|UHy5idC#XO4<)pAG63Od9 zu$Kq`06t3CC0d?g&9M_W-S3TF#j|_Xyy|O$wv;rxBB@n;;uLhD?}PilRZ+D1{o@L>$5iS6(wQ0O`vr$eOFRrGcyR<#tb3)?m zJhiGW74|)NsFuVXKozDiB_ttij-8^hvn(`mXze(m$JDg%E`ZZ%pZOoA(2@oc&e_L&#>b$`kryq=hh=@8=a)bouqrd zH9A|Uzb^XwzDGv&PAMmsyuHbR{Tl0K$>sa2Y4?%ipZRYDqR^v@Zh1^*mz zDz!jKP$l<H=) z6p0QpZE}Xrk=8J5IGeQ)4thld##t*568Jr|Mlkt(ztpkZh&n@NyG22WuHiA;3&f=%2I|c;V zY%BGsuOI%0{zFR6*aZ;&*3PSItWDF&56%T@+MuJpettjGy|BHa&GwdFRZS?|@G2UHdja*@1t9udL(@&oruS<%$cQ=R*s%T4r)>0Q=kcw^2b? z-6s`Z<>BP7B2AKKO%?yu0+cm^DBBTXELjZz)%sATrN$|H=IBp9rG}#QzX}_3KIaA- zpbOdZw`NG&o=)9c+LiS7NUoD?sl2Pgc&Fxw`z5N{LUESWv@;tfv}1^#J^z?*ruX`N zP^2$C9O&0+IyB#d*+IW~Z8-nfo#J4EPosJ8PJU2=sCaGEspfJG*E_Sp9CzwABfd?W zq|8O<2f{V7R#aK}az5xtV9Y#xmJ;~^wEHhD7j~(jDONNnLiwp)*H#oo+J`Lk)Myp5 z0ntN=qGp!_>;G^pgD+c}wx8&-T#f4eHOZLzj1#*)670BU6m^_GD{W9{+knXQ1Tadm z{)v^I9UC<`Na2lx(HHf7 z5+|Ufc_j+!{H6PUV9qq^-z*RoVXS3c_)je~bDc=@n|d5%EA4ZSZNbzfWw$@K%a9yD zP0I#1o9O-&W*Tb@SMD|#Pu%3LE8LzkWJ_F~I{Mm4yDs1XEtEzgnL5oPqVz4T zy-eS$*=t$h;q<18;O3eS2RC`J!xEk%a%lo({+N98PL4@e2q2__ZS;%fR^vyh995Fm zf!=lU$QLIm`(e)xphrg|eTlO+t>|T{gi1O=ZWgI>5p{A;fuCnZY@8-gb(RGgJ6^PC zCDBUu60EMj9-`$gxA`t08YnlS0_iKx?n9rhQcKhflq3MCb=~yD!T)TJ7M))gNgA_@ z?2iq(L(0vr64s07AJ@O;X*Oc%UmNRWY+B?it=;GLwD&jT4R}Q+w1jVJ);CYgwQ)UR zy|}nIp`bu#s;^CqPDd@PuZ!y1Z#mWn)kYF-ZcR%>XhFwyzzp(TujqP;2k?(s&U1}B*#qZx4HF_O{INB2XT0zXg{nLo zW;t@#03|6X0dk&nrKUt<*y^y(;ACRVZ6 zAeyJUq5$!t@PV$@#xY7?;&qlcIMBC2Epif=8u1Qu%trnu>c}9Cx728(PN5~3u|{%_ z1)6*R^SB&^);Jdk0tXm?ilgfF)u>GhIxZPt=baK~0uPLVrEA#2X8Y<5UF-7i(Sbs? zyG{Odg3BcrBqh9V%ri`8|d82aQ8-d78%?uDja1e_UmcXc?NVp{o5;Ec_QJ z7583kBL!xjRM`+UHC~o(y7>~8$yWL#3ReS}<1m~IhSmBsSZo|Sxs1*0>guB9_x4U= z&T?dD>JtavDh&3WpNfoE1lDzDJy`-~UK;;k@JO)hAOse&YWK2FfVm2W*vb#~;I`E( zVB-{z{eNV=Wk8f|+cioI0*ZhL5)LII0@5Kv3?K?fcf){mcjo{%C<24h-7s_y-AYOi z-8t0IottOx@BJR{cmKNn&Rpktt#ch~t>ZZHpOUPsFUa8|z2H&b_fO{@0_*wj7d(vj z`hWj^NGZnqCqBs3M7JGY9~$?#@25u!8!BHLbu9)31JC!YHOEd*zohxDqxKNh1;mC0 zN{xbQKI>ESLdNL4n*Ctnik-}l8=UQ$M8czGKx6Q|4)OEs8Ay8n-Axl|uM!_`h;d@k z!k%45-8npQBmu|=HiwRc83gL?0DP~G7z=faQ; zL0l=zoFy#SWp!@;+@K8Y{f~iv`nWd}{iP0Fjhn&Ax%TZG>vDr?q1=wh%=!G#=?qx> zUZCp+>=gmNoulaH)UBb;w-wd!XV09GS1(rI++S%gIuQ-J`X5El<0(L4#-9N3Zc*SK zJuZ26Aby+bC33HOdeaowCVKbX{mxR`#mp1AXnC4{w{^)oj~sgcpLr3xT&z5Q7Oy9l zMWq{C8blBegI@${2>u(NC~c#7w{~77A*OM!P3?iFs4XU0qV$$$eUZJISH;wJnmRT)I4fepi?NS7gx?~ zq_%q%&e2_H8~3;OB)jN^H!G3+M=?ErmjSBp{>^%@0GEh%P(4ak%!`XdUFX3#jHH)8%}o~-X_9FS zKeVH(nky=4CErOI;J@|m8pFTZHL8=SOp(mxoxXk-8KNqqw9 z+O2nxQA{4k=&pakFES#%=C1a?<09J58I+(i^aq8nZSIoyy#{-naBHso{P^X`HOEda zMy6dHwf&#a+(}ec9h>fi!t%E^Op@4l?E9_sAvKFvMD#@7$@l$#B+5{&r*?T;SC_o< ziuq&FI$nPDG#MYz*NNKR{|$M326$~&BIbg^y|shiN+qp zG5qPu97Fan)CXrG!LGtYzxHOtP^H7|g5orUIy+QX#Bgg_yv{pUo2YI3RIPFSiznN( z7WvF%+~h-N7|q-9meJBe4W|mQ?G-|#?Im`hpOL67iN&c{$+@GplQVv~S9uI)Ca$im zwAUu2@mv)lKg<b ziP&U4&YW-gwS);WTFv(W8nynb3r~Yb;}>efn-_`7IMkE4&eqjgFSenY=|R_n>3dO8 z@5DVe1Z`OlN^j5oPMq2ILurJ&xw|eGhO+N;L`9Dc8u_e(YfqOVJiO{l>-XAmc6wiCZ-nUDlHHFtx!y z@owk-_FnEDb${6UQ1JTSmu>l9r{CvqwceH8_w$bXZ(d&fc*vItbrbyGZDv?c=L4tf z`@Ofma<%2+=?KE*^}jzCO}@M67FGC9Co<~$tn;u^8N^^go22YRD1fEe3XW?9GGI@F zscSWNWFrQCpBYfA&#H+Y&1kLv^v#oxOvIpH{utO?FSAoFY#>s*D|-G)*XN=3c~j5^ zdgRdUZF72OqTS?G8kp*}*5TXn?O~3GRl(*~cj4;E!587ZO0>#nfe=}I_q|7=JZ{Zcfxm6?1E#=xxz@yA(d)(eK z863H+nYNGSX#uw#Q7S^AR>lEw%Zp4Q8)L~-p`k& z2dkQnL8z0X#l3MWee_SZ=}Jb~xTc=Uh>CZ;Kg+qyxCpFCq~#p~h(mJB9>L%7@TvE{ z7W+{6)@tQ*K+;GSIoSiz#QzCbWOueE`NLWLa` zN2rr2FAX$#MrZKT0QPj!EPQ75)|oi}tisl>`7Lb3y;;bD9o>(1&t)|4>JlVH1@4e@2*8eu;m}8pZ-A{N>%VTqQ0{Ogylke z!-GTzcjwJS`~LUW*l^!HT#yU_&IhOx9Vy=b_wZ;T%NR=MH-n0z-EBa{6P;ED%w$Wbgp%v#!fdrR373p`pI9ENHercsE?kVCx5=y}WeN!sci z@NwJ^SeN?MTIXMIHQ$ z&Fe=|yUVMfA3C>gHDyf`F*7l3s&qeGg+9hKj|{@9G%-zTW*J1Nr$7!Y*|dC%vcwx0 zGwp`>S>yJ!?ReJT+;>y=w$GsXHO#W3Xruvz7|>O87+{Js7s@H3zL z-0xQsf4$whDKe#ZRM)*d)qHaOBNjeaP5|U{4AqQ;&C*uy3Kj-vkvoS0|wmO+(v~Ung*VxfmXqg(9qB=eL^c- zgETYcL9>Eg>kQA=-&0QX@_WU9V*gnCV|M{q5d579+;m!C?T{XZp&VY`7rawsuH70& zH8`wBAipsR6Mua-3l{{u1`txq#OTziE@a;T%0e>!)QkNb;nb70_KIJy(19s#PQ(J=|aOGwb`I%9QAEB zUxH6mvAbxXa+x<&CL@kTTNfdU-f>{Bedw)FHmC}rTgW}vWby+3_ZxlqVh{A*E?MUm z+>|P!6AWiOa5uZ)c6HQ{vzo==_uwG6jo3h#8V365%To#a3y{42WkvgJYyLk7i z>FiE3$U0a44W*6a;@O$ojAD77i%S>_%W}-1vK2q5Z`}mt2IE&YNs_9Srg#4+RHxdw zuH?R%8{^_+Wlam!oW>1(Nx2ZN0`Ww(`7x*F1_?|IaEk;=E^0p-S_WhCpXvs5Ff;)q z>tLuYJ=hZSb-NorZ^ixh-#&bA7~fKiN^J=OkRIW5sWTjPs3l3`JeL5lYyMf2*a z@(1xf*$g}0?a4V^o16vYR38nVk9OW}_?gOCe|t_wq67oYzK+maR;bQ|ONGpIes%hG z^rZSs!S-3s_ew6Bol_cIqzSEG6Sn-;>JJ#ra(AN+H3#~^?$AshZ3$`1!Um%`pt)BC zhvUM`sB)VD6l^D}Lj4{GSThf;+$r-SJ=L0-k7~Yh{YY1@>o)DURKW8T&NZGr+t}Ia zB11Icv(P_%a09u_#`!nsk_TeFr0h`*>aX!VrVj0_K2fdS*Xvi5Lu=V%pRyaA^DTb8 z-{$b)A&gi3BQ>j~ruwIWYBf)CApIe3D-!@ivBin?zuUYWopSB$sU9!0%;9VD^pAZt zy6qxNZj*eD@9^pa`a^lSh4H@^Hv`LMd$he6P9rL9&F47lBG~>Na%qj4f+HhFiRLpgou<$_%o_!9osVrM{kv}9z?WUV$UbWq*t3Z3kn=yNKKI0Oq|`3q|(`-aUqFGZ8psY-km>HR4bx$%QPXEE z*J^KiMV8rh0(2Ok4Sltvk#zFRpi&>o084Q;%y&|U1x1k{4=8f6U44;mTRUfYM*v7p z1YKd*f>GYKD;^51rp>HUre$o;othTiqN=Pp8iqO+p3a=`lr>&-?Jk8d$>+vi6`Yk5 zh0(bR9eM6{H}EGx*7e@Pn7g~X<;7GQEblH(r6vg{XHg#bOEPtvs~HWqzGiK1J(9v% zO4sjg9gb&eJ#WXnLOcD-Ba<5sQEdNn;{Cq|-_jQi!{_OzKvq|Qd|Ne(gtI6+SNPQ~ zsik!U0pcQn0ZO4NJkdDiJAHdGV}HBvxQaeE6c&MYYJV@?pt5}0b&B_W8f*UNd2z6@ z{v#_36}1@_{DwG+QjhfX3jN>CaePUpp{DLJqo3H5xXdo6tH5`~{rt$)spZLsgR_-Q2ZT(~=CB;Gcv3+GA)D;iPDBhd)mVfkZEjA* z`F^P)rO2QO!9}n2Smt#X_RUU&M7(;o9h= zdoC#AniCM-`8o}yEL9pGBn@*?ZT2hOcKKS!AA4=`+|Q=+cA-nHWm_%X(tVdmHQTAU zPTx}Nd6bMZr&PhyTULgC;VikCo)D9C!l(UyjT=~B7V<~CWJKl+T#M6HC-i4(UC6?n zGV&TC8wu;df{2<^WXKHIqW`v+kmx#Q@`RbO_|HTR^?5S zIwmG%`IIt~eI(MfJF5;QT z-O)+7X@d~vGn#!viym$q8$kMv2YS_$5L4DLdV7n{{cY}*@TfHYh3vrw^C=)&_=Bvk zBgUI+$GWW53w8>YMit(SE-my=ebAEn;`j^2Y3AmdxD3NcDK1OkIE{VLu1R*wf`R7y z5fSJ}in2ctj=%S?dYFZTu{o;vf9mwf>?%k^9=ZP9Cwq}AVzaQ&|Lt8@dcu+>J<#)U_8{v=vF>;7ZLCK>&PZ4zOD4NoO{ zL1z1Z==A@2To8~Rs6{%7#pmbWY|1WWhSK~Rc)ysEvKjb7cXsT=c$%Sdvz)1iUO@Vp zF;B~oX2Fy93?kf0&hX!EZ*gADt_=66{)#!LLkmIv4xQzo?`?GloXukS56Y&+C#)fR>cHaIZyN3Lgw>NiPWiuAlc7WqE%pIRCI`&(w$`Oo_D`{n0x%#@jg zU3TXXzdVQ4vUe^kKS6q5^zB~=dE6TB{~8;hIct2RtD5I#@>=^JPuyJ&s2Lz!$k3Vq zc<3pQS(CJr&o%a`)cqG)ZWX>*Mm9VWKb#*d*PqYV7Vcozdvb+|WY^(|i2UcTD$SvS zg)YAeBT)iRaCvLk6fmQ^aD-Rduw59z*NJC+w9-iluOJ9y?%@594Iqj<@}4y1e9d$! z=w#_UP<>*&I6>k(wed`_8nF4S+Hr=8fAW4828 zQ0a&2{A8m_b&?q6X{N&G#Yn|VQ}`P?IN0H~x}ncF!_6sOYOlb)P;6y10K#E$)X1SfhAxav_=;q%?L&i1!IUBqM%jPicT*3lHft*9XrTGFcF;bE13w zQY{@g2iiPrKuVoKGL*M?M0`!~SNo)yBV3bACDlw80fK=}jMYG_4+~{3X`i$#ebhAZ ze^>kB0iQxA=)IlF*8_%k*39>1LHoY6{bLj{RF;jA9GOWQ4THyE0j(Iq(xJjXe#4WK zRi}IkXDe=*PR%!?lKsXLlc__$l2)hwUfB=O@2XIrd)24K!WtX=4%Kmf{Z0`U7@-Lm ztE`8)i)Z>C$FuiX3LJR?#rYO_azl94QcrdxJzv9YE7p8@82SsT#vD`kjC9v}ssa6R z)alPZsgC2r9kU&1pj2a$2oW{o9ALC$9^!Pw=127MN;Ps*{clo6UW4TVW_=Zm@iil) zcqQbeUE9lrgDXJx1#FhGxu&@}6+>oT%}`Lfg|t@!*Wt=1X7Z_QYivA-B+tc;rz8^r z+H`7D$z%Srz78*`Y;ti{{>WAUA{uZ zTXJf*V1w<<7d-D!)~zLmpVhOitAY%+IMwa&mym9u?sI3oihfRHlmamyj;Ary@J(d& zFZE4XREADDn8Mp&yFtEGFiBML{5py`?DP6j>U#&vn=9;4j9=;G!}zcBU&>+E1M@Ru zBCSHDzJa1#bd4y(7E~`wGq1F_x1$E3$+R3o($Bu!Ui~9c-sgG@iXN;z2L814i#-@< zkL^3<%~`KI^newlE^iPc>Xe{Ox5^MNrGiX7*~EMkbH=yBA=98&9qHv9hJT1 za6P*#^&6m*uWygQ2(a(~40ijilk!DYju0hjZzD+xY z7ba#=t@Dk0v?}(*PpB{`=}y$Quyj`Qi+p{ecKjl`u(R4A%YdYR-R(E)zkUQAX&oJ@ z5@}LO_rj)XerdZgOeAUP_uwGmU){jfu;osQe1 z+9IUWC2s8~g_%HBJaB^WBcLb-5!oH5%p%wlY=Z@HDz5Scfc7XL*u_>j9eOZ&c;;E< z!t|HO-@@^rwD1w6yn^wx)Ox|53-(B7ODS6E{bgy#WTYyoe&mIfqleCEd&K}k`!o`?ik{W&JfgRbvR@Zg2J8ZgH zcjQq9xt4KQYm;4Fy+s{LtnTwyA=dfTSBZaRDo>}WKz!W~;I^fi{%5xm4wlm15t&1- z>GmxUw@g0^0$y_bDQdrhr%CRXG&$A(ct(iQGWcq0FWApSm+_&D_ide`*nFEIRNpIy z78GdhTM3^|OB8S|?7_8R~w==(7d6v_C{T5v``$rifstB)Cj%4}RhGemuD+?{GZM zbeNTlsHlBfL@T*|I&y$v-#_{GDP=F!kuJc}hc%e-duWAFU3%{E$B;^zcYl1a== z)=Dj-+xCmo5uQ3P_h9k`k5>URxkl9^{eOcFI}Og-@Ia()N6B36PFd>uRj9YM+4dPDxVwmEi$g@XBojNU zQV)}gN)O~l_yWmK0}1>P@x5yx^PAKK+-`hzb+^s*ElEKz5Il$__D(TFWd`oI{o$ob zgW>>YO+j$5sc3V_cG=J~dkOp!6V`Puzf%=K8Cu<1Tsw~J#yWosdH%`7bk}BL2Uer{ zt4>e!mX>yUmOf5vsA1uZhCxJVn;NJ#baxgl?RyxLEG%`#ehoP(AKr0c8^0TsY`&wv zW@}IF>=C9hEnD^e8(}lsax>fBDD4~<)0O>h1BUB&XkGr03*^P(>Zrz7+Fxn7rtR`S z7WET7t1aykZ~mtfR6d3g-8oj51rE}j_j~NVz}rEnDsYxiDw~VMhf`x*9H_S8f;|FY zzE+Xh>!kgMy!oyG*jh!n(rW7ob8WWHmulgT!JE%bSCKo8r~$*3UJR@FkP%6azbRuK zCmC_wv$Gm&3+@P~c{uzR#o|G{A*n zI6sl}B10n89g}gG#1JGPAZ<(hbcQ+92BXP|*WIU^ zJ1I{U1!I@SPl*9YeniB&5P%I+efrKkNMv-Vd&NA00ZpbW_^75|C4a+%%{o zLbv#-1qzE-`$&=FAUpr=>5v)yL3wa^1}@3m3m+fR)Motz|K6Lw)%%)}(_1#a-l4;Dd(%zy0Tx*T^XS!^rb6khrtPF2Xqz>}p7Xvis z0pTy&>Uy`R8r8f)A5m{mJE*~)Yh5Fs9o*kc(1VZG2&7I)zmEuf%5?ReId`1LK$ASB zht#&2=ovXZ=$eN!I}T&t2*##Xq%S>~XPr(&{yq_o)u1G5u>&S=_(5j)V>F&?KLCyi z3tU1uP&1?<5+z0cXT>}0qwX4SSTKW=bpPSIsSggdn4MP^takzAOG+nF`1WhTW{qT& zS+*`6`}_M$`TUp^5G-rL*0m|}I%TzR6-_}0=F~YXW}1QOu;FcS`W@Hu*Ae{7rV59f zKiCU~e4NS@L-WrG<|*c5GSk}v(#vcENw>38HcN|MjR9zY3-|~1`f!46UVvQAw=U>@ zX@v`z@T7Q2dhtCppFV?L9@%n~U|tl268JiNP9g@E3-x3SaJ)XY0L88s2)WwfBY|}m z?=JTOy3umzajh$g*oGKi)kLfh5~w`SSw+84_aq_0mL@Q55XnqTMj7yZjjET-^H0@> zjk7sJ#+JFSA&$ocbI+mbOCaFsgLH^R%jes6;Eb2~c=`QZ; znl^&0a7kmeTU8sGmj$b&pEt^b)`k8UiV_kLJ?B;am^i9>By_&z5vwTu%Qq|_TOx%6 zlWPxU-LiznR?<9u{K%?KRY+1^P^wKu>^CONFhR-?B%JBz)k{CLAGXl1{I=eg#xoD$ zM0EXoRb>84!I+YXQei&r6DZkuE?DV%rb{Ag&qNvi`Bs1qK0rfkfNqy%r**x`IYILS z5SOSscK`OUhxaTM)dRkqU;Y96rs%j;c#)Q#Cc*(IeS#KVyr!R3({F*m~*SN+dO4 zD$qgt-72wMuSRPnYy;2UA5Bxb_y`dvri+;$4|_e+KQvpNNmeB z^S9>T_NfqqdM|CeG<-_QWu|7*AlgtT(!{F5{R>A)M4p&>)`aBQ+WBJqX zZa-44uxz+-Ad7N?SCwUZC*)H{t{Z@9pjK~hdL<+Wug$6^GC}A!z9408o-K_dVl)@l z!wO9mIvuCQeT(HA&azgYmUUeBAl6utVe%5ER&7Hn&QfMvfH7N7Eg4=7LVJjTlt~Ci zx@Wt(nDaC%71Z6Be7K$lY5sAkeQ!vc*KD1ZRL>xSL=mkLCNxZ9JZfo?Y~50b0%z?= zDXrM0?lH=~1(8Z+w35GUL{kJ+(W(l&)jhFEOqcaRHDwK>)`oK~a^m!5pf}_2yKcGb z@yXFa88I}!!`z%IrS(+pFQ0aoy1fs>sMYz$)?%9Zq4a&1ZhFZaqoR%@C4XZCJ3WpE zc`5_aYR%hf!L$rYr8@L(^vn_)$c0x7#{Z5CYJ zZ1L(I-9=0Z+~dYi|5z;%DPXsrB&W9}PCx4!V=gT1>fOMDTrNGGG7b5RaV@*#f^+k0 z=>Az6rT({0D-MyEeiXx&xdp1tt?CzhTDyFFjmKIGD~a6dYLU%xx2Pxavxiydr;?ig zVh(hqQP>L%$ZGlW2u}1!_d;dZi|Lt}j_E3Mu2hAqp6V3I9}Z#n+&;b5dE+}lO-A;elwJHhOl z3j|sY{_+(a|0vLnhB|u5l<3JgM|(ejz&k+`p=!Ks`L4Njv{KF;HR!Ydr1sdylA)*9 z;=}YG8EjeTCg-nqanNPoS70p}W(^5)J0Y`Dt&A?^N;fdBGL2**=6H}#tr18E5}TNE zOb!yh-xHf&j%k}F9zLqiuB>c!lP(2mOwi>3Csca7|O3r*`gMikja4lboI3%YIC2zh2ph-Af=BlCLFva0mWu2Fkc$#Z@Wn68ZO5QON+W)31!Snl zL2mqN^*^M1W%}~eVm6*SG^@9Q(gyj;+gfSrzLBJjGP-zgtgpW82lMc+Gtfh6Y+Id?N zHk47%6rOQ1KmHyNPPm{fGJ|0ytVk>yxv+M!&wx~kJn?HTA*Jp*o%CXAX$uqD?|(}X z%HgCU1X%Jz=yLXFFOWjJZ0FMHbkvQ!&4o^*lgeARVn7=|Cd{0ru85UbG4cCPk>A4( z4)H3fjTvU}tiyCLM?FpUrD(@#J%H$>Zwc?!Fg^Nj)#!d}+^etMOe2AJt zXA}~;@D?L>c2UdrpVglI+pP6rrprM5f`3)g#jL6J{T7yJv~8Oq_|5*lTQq!U-0MJPI^40KX}lFe%^HVD9?L$n4LAHg!N{VLj;;%6fLkOkuX4!?G-*UVmasd z`x%Y*03StF3YEaqC6wQB^u?-qo<+C!rjFrAC*re?lx^hv+2^M9Qfr6nCjs+s%7!Fi zovmI&`v4{H7CGkazu5;JDTRg@@#lR%WP$4BLoC1(;HqlmEo92AI2q3u4;L8DgdUlj&dPFKWDNxuQF0#ypfV9)jF zJPc{qVlVPYfFN83W{4g)7d+ue~2uwTkfv54-tC$&{zQbk9`_vv;yNZxtrMtn}8>m9x~DN z*ZFtvB%T>#<+5n{#@q=iJd5=l+;Ao8cO1E4=|6D00xf{YnPxS#2~)?rNWOTz)}mM>ko{+8q4e0~uloxLMk{}*zQH(=e|#%oFmy?~Ez;hM=1Oh>pmpi|2_&u_A6+n*2c z3BbGH8*MHfB!b8U8WfgFxue**Zs7cj% zo)ggcpQ=x->MT$@XkqVrE{AZRXDAiehgSLxZn5Tk0+}%9 z@jME#{I;80$;Hqg-uGJg|6Mhc7hz3v4V`*95s@WICQR^x$kKrg0Lz>ALP@!J@d)dY z8htM&rR<=z$c00T;IMvr-I))tIO1K4YtkQ#;XQ*Zk0Ww**FZGiB)Y3I0)(olNh}*v z`fM7d&fb#rrQQV!7dPr|#8?;k4Vi5lm=Hb^yVAl84+h zGJYiGN&UVBxq;A^3h3o;_RIBgxmdl{F0GX{wGir-RPYXEvf`Ol4a91XLBhVI^3oJJ zyQVFf;hXa_I8C$_eJ-aD0)!G!LDI7sgPjg?uSC8KW5)L}8)alfb}~c!2WHm-WY-G} zEHxwLK}3B$Qnlvo>Jy68mk&a?s{d`OTd^w^$p2LFsz@IU#!@8oC#%^KLv{~~$6Mz) zj#hv*^{r|0)rxMKj3%2Cz-ct!3Rh*Px>~B5kza2&&PjML>xxPkJp>0!`&x;-l#Haw zX;|qBU5aPo#J@zB`ZCMB*Jn7^W0W3CDcLc{wVF=T)@ZTY^fCBZ1K#+3^`7mD>@Q?# z%gt{S{7}-%nxA`Jaq|u1`^&503R7%e?~B6y8`^^_jypl0ERk<^!ZL=%sXQdMA@+#r)h^m`vF z*0#0!EY*LzvTeVWLGGc1 z{Q63r)Rs{z|2TpB#}+%a)~4PBz2Q%cm4sSa&s09&a|?c4P3`w4#M5TD^_|e-*sRm) z5S2*oKz))NL5KxTN>pURtAw>zv#bVgZEp(Pw0BxfM9~uBEdS?Es2F`YFeJk zx>d0cp%-$Rm@|4H-a*#Yd$vZt!NSH@&NUpPYW~R(mET@^mM@OPW9D z?vk(XI{&RWbcXkRytVga(=b(RlOGTliDc@iK2q-x6ZyDo%fScAkDB@`@%OMs4rweI zHZ=W!v7;obt$0hB(;nW)C#9(xXsid*Lw*shu6B2aT75WO(p_Rs)* zbxO3Xn6~YpW}i>+hL2pa2!^gK^*|2#cI7MqQ%Q_OViQj z{g-Mk`vKE^ccXg@&*JFVD*OWje0igr#+yP@-__KKUol^oHK4-jSKhie_wKW(qqkh{ zB&@a#7WCez0y70=&KN(K_ulDDSexd_g^E5ix& zSf|B{$glP7iPJ;TXKWlBAhI20+=hpEV$qX=>9gH6Wyn#~lYE5fclpMqG}#r{7Z>io zb*b-i&{N~8tx0_Y;s^`dUS8Prli>-~jC!Ev-0dTu^YfOMRS#F>Ff0|0QY{R?yPg$j zJlW-=c6*_?Qd0|w)SMd)DEg+k$te-RKzF;EWWELJ2RW>h{&KynHND?w=B^W2qNJIl z6XDg!4efL~o{@O4ogx*AuK6YirP`v+uQD3G+k|Hc{S7CK-m9;7km^?)m9OX8R_pv!?k%BAMe8kZUHWZ1j>XBkzhD-lM#K6q^xo9TOKZ!XEgk zut;x6?v^;_KpF%(lx3=`WxG9ikHPx|sZE3=HC6BUT50dJQe`U>Ti{vGLv)ZnAo|n=IS6=`O9v@p#=cmVd+S8Rx1*`YJg4 zwY6XpHXD!3#HB!>@DV~g-A(w`Z@)G_CPp@=2efci349^EFRtIGa;bd=R`}b#`A=vV zY>X3P7(l-AQ0q$3wx7P&3q|O^&ggQDyRg<6Tu|Q@1k0O=MR3ahpl9SY(%&;Y!(-3A zU=?l23SfQ`ssfgg_#|FIWEz}O zeE`oLIK-Iwls@Zcm|BnAV}yRQD$;mnHPg`}HffC`!dCg`RHjx%1kW+QC8$u{c2~94 zEjnuqNK;QujT;;CAc!e80co>cvd5)1dm@``xBKbvcF}v&Z^EyH0lc1RVhc)_qiP7< zK(OUIi%rAd-9>U-EYkUI-d>-!HqHvFLnN+x?)td(C2%=dI-wa87o$y17KMH>lL@O` znrLw1^M41!232uLs+-94{gzL4emJNDhVl~S(5(6YZ$WvghJ*i zueUW@N!;gMHD&fW(}x^>lWFGgg;YzDQ=fP>qI5U7SNg*)fbzHGLeswKh^CaZBCM@|nrf z2Uw2uI1q7wrif*aqBK(15?$EapN)W9S@NfOx+0f zkiR1>3oJ{9Z7)A3oQ=k}@RsEBCn}UTH^(-XU}EI{CK2)GnLGlx>;MTLoJl#VJ!^#7AGBVb%bIlDrtO z}UdV5qKBNAD#d7cTSS$Cb{CiVGUVPuc z>Qr%8GeF+12wb{#1GY88e|#%|8&{evL5Uj@=xCKrtBJ)o9nd%Kj;kXmweFP@-zC`{ zk0z!&J?i6fx>%)CoK;UhIlp8}W``E^O;cq15ysfEm(iB~=w$g+Ndm91^`U4pO4<0< zDMHK730Br5l*`5oI>!Th=QT(lY1kn4uX%;*wG=lP~T9GgNw%bcMZ-9_3wyB zZ_wIvZk4}{%NqDfnh^;c$`PzLE7#yaQJ=yOLM;T&8f~HAv1Yr_2A!444Gh@)Db}2q ztHQA~QJXf#{YLYDN(87jC@`Ne%WIu`$&FPYGQ&DKvkD16K%>JR~~#kTMw? zlJApgODel2Kc5pI0U;q-*=w)K#ZHl~f|^S~x9_t3`GIG?g;MTK-sw2FKsk_!1IC8i z^7>^$%!mx5$(LClk@t|$q3mmofJm{D`+P)UE8#y)1C_ld63pD3L0YsDr=P?stFc4X z3n9iF$?WYt#4(OqdIsT5z|&9NF$W)g9fW)l&Pa_(HA@{+O)A|`2QWn4uO1R5$FGE_ z2^LR^PSRzRKHdqLDXAbyVL?ly{}2&}k6m~LC&9*t>x!PzENgZM#${T^4!w`<=0Ch@ z+ez3)fiV%J@}H*`^Yu&dW}o|SRZl!ODL9ps?udwH*r($ zA0OA=q~4>xmYi`O{v zDEwpgvDQSGvVm$d>2dUL%chG;N}ASlQn#y^$WRQwvq^A>sIFcl6X6kdkzPv47a3_p znYCl3HwomdugJ0A6vVie_+kq8fM@@<^C5VVaw{47w|ycoL~5u;#gJXvd`2aFcd?ql zVP@#XdzUOXA@(iOP|{|2xd=`qn0A?!?XLEI3z$3nJSS>QmpDu`K|Lhpx64K!<-S-+ zu!L}=t%Fphl%Hh;Yc7;j;3rR_DUV=@?#5}WTI8!)Eii)$;4$fX$1#puA6}k|>ZnlN zv^l7C9D+u9KUml0(Uf%z$s=^f)30JP`L;LpCL3gSud^6kkjMYrKL5uy*~PJ>*{4jx zmW{#Rr70l5y4BGy{e|L^{Ou@3Ve4p<4|(y)YDn9UheYhlVkzaILRJ25{;@|mQaPa# z@IqW8!kVVC((l-+l}{I;88#ZL z+8u8rG%e%T>ta`{Eb~3@EEYUybJI8Cf*!C%rc&5WxHZWvt15 z@K1CKYO9s~g)7G}3x_T%h07+(ShuV4A+8bgX7%&!RT90Ql4&0~q{@m=zuMNDq~9Mh zKh#+<&e`i;Yh_%U)UMs4*B+6UCH3LSOWu-K?Ra&B@yommenaXWBV?5D0Sw_0ta}uPpFqIOKgJ#-qkkWg?1VUL z!elwUk&a94xU|0>#xn+tc*Hz}^nzcBZz?fbtcb$oqB|2{Klyx-uvc1Z#4mP<4Ojd= zh4uw<(0Z0QJByy7bP?UT0j4S2~a<@2d7pBE-q`-7nmi1f@+ z!Z(l^<^%*HYq`};u)ga_l|ohr80JTB)rg{aRrSd4cdx0H;&}cTeLw#^%SW@o)UFn* zj+I90H=R!qi!cpN8e}t4+IF{pzip4NAiK0JCShogw=J!T`84!Z>33fC>~!F}2a2LwQ}{8VFN7 zL2prN70Z-Rx|VGRA$3~4+40ld-br#;Q;fbxaMG-DK|Z8vPQ#gY65qd%i?aHXY>Cy} z!iVTz{=C3F*^;lB0Y{0?`U&hQry#T+;wE}`c7D&Zt617apNH?@SOfj+uhYHn8p@7Y zlX6udv*Z7MGp&|p&Y!LgoH60u^!IW(ku`Waxjx#Z=P_6Bsp8Sm-b#-KPDV}4=EyT5R zPR?O-Gt<-Bn0$hcTL7~dJXH~v`D`h?TnqLM|IIN%K~9y|N%_QU{J!TsFF~oEW1u}N zWj|1?32InP2YXhxW{ybh&bxEcZ+s(la%c%&fY+_+ceDP^mGXF6QnoRHR`3f=8r4h! zt-WI~jcHMgynISA8uU&a0PFZ{cUL$Q;KZ0PLIDD}WUL>^tfxNLM!HX3ulXJvJu-sO z&SZloujB?*E6Y zw+xG_4gWt4@YzliQlFdjgbnqmg(2(FWw@)i#(34e@9#ja^;n~JgZYB^dh zkZ!0EL##*)q@YW?ti^!d5jCV=8l@!U5jcSd(umeI(_aY?^J}`JqE@u?kZGr8Wn(nR z-wZQCOft7dqVL`$%yr+|GWk6HKkduYENt)Anw#f9q#sN6Cs+4s`{kbG72392$Cdtd zhLJi`!CZnl@5pzOue*KK3!F<+Mq>F)L2<9{r%|%WWUo4f5Cki8Z~n?pk!roSXt-`7 zXgjqv3|~mvdKQd>g>j*}b8OjP<;oN-<)ep;aRqz4<4tCqY%KtV?q5Y9{w_j2gKc7P zq7FM@!TYzJjE}NC4ymnA*#50!kM#hcpSYQOjVOnfzZB=Z_MntIXJ21&IoNoSQZGlw zOoR%Y#=_0zQThvGO_9wAHg>TZf@QCmj_*v-&)qfgFa@j}JzB*8pBGzcPt6lw2)R0L za3`5>y2Cu_)y92?9g*ohxNQMbaN^T#W)}Rl>jb$~|KdSK2x{0taq2 zt6SJCkt~l1*ArOpAr-aRp>9DEz{$MYc3)jI31EiD$4@v2vTT|1xU_t>>?+f^)i&}!!N5_N9WWM%O0EGtJk z%sN7CP7 zg8|ZHe|hyH({mBhTy8(+9-bnkccK00=9cl|JC=>f^nXX1Sw^@(D{VA}juqLw-zI)b z5Qc-2+_V)H;v4Yq~T&sD&2xIH+=gNqmKQ*+OR6b}&@W$tAODm0d zB@Oxz?7Iz-G#EqIB(#h$APaeCFKl$yM*<1H&<5AR= zo866J!JA1C!$RWThb#Byc^R&h?6x(wj;@<8SyLGS5Zv1hS5I*S<{4MKU61=j_x|c!*JxU}^QsJrbJ- zDFui7aAC11buccUQenYe;jOH2@!>f&7cE2aV9sLk4Z~0Y^wZ)uj|GnI0=tpxb+N?N zm%ECa8`7$$g-eSb!_E%y8!iB(OK^CL6nG_ZwmM~rm`9tnZgZliuD(0OZ$n20k6(Y# zLR&gb;Q=`7E%AHvxsnh}Q(A_#tttrQH5#Mr-B?2%UD?BJ;F(ff7milEEcCdPknl`L z#9D&3c`B0G7ZCnxaT$bD^96#i<4RDgoo-A3)}O$D`#3rK|Lb!Z2216eDqhZH#$Slv z+LX&nx8m!ctGA#X19?1r1q*}U&X?D`NiY3_5>Szw!zP%WRa5>d2Dx;24%gQs2$3GS(38{>L zzhmy6YbTTtHU5O`!8qsuXaBAU%O)#eZ1vl}1o`#*jsOPt4vOCdi7G>aKjQD-S1E$jt zynVS@apjU@N4G4?>WqHPIDIbj^TH=Os~aCaSrc+K4avaH^3w2mU0NHazs;{k(+)zb?90m9QjR?Xo44!xpg=l)Fp(W>?X^+2g z%Q)=UyTvJc`})Pag^)_y-r2MzB4nr5i612_kMt_Cv$*>ox;Bp-u6uXXQ`# z8!wRL=Ks#QNFMr?lVeyXTWzv@7P;1VHqD4tgZpFR6^%gyV;_D%tp$JglVjeaHn-WI zCLW>YUs(hgHHYqgFNMF~7w!EdB-@%|(wJg885Lv`b+t)7kCCcr+Zr_N&WqdX7GGq% z+&W(c`|pq_40BVu7PvdAMfVVt9-eRX?-91G?^bjwRg^XUrk#6u5%0g8bw4wTr*^HM zDxX01f3hhiybn-X(!5+S_q8+=Ar(W9pAeP7C#pcvFM8qO3jUhEeTMl!I_t)&%cT&% z?A)o0o)A@rqKzlo5${b?#d_!)Z(iXa{HWGbF_-z#Zx)x{VMi96jWz#p#9Pq>@?z{3!>{vjskzOqO5L zo*w~U(eZlyfr#G;aZik1?-ZQ~Qf@=K9z)VUR z3{1sWK$b{oXBe)MN>@dmv0ar8P20I#w zn%5g}w@rNGDq)b((Xu#_`uIZHSOd0MV=bc4wJccf9>!;JDhR0UH~XFo1ILg}QR~;j zjXm{O*A^M%;gZV-*7L5b+=~|jNYV$U<)J!{ZhlwzVKGX!cE}*})?ZHe*ewu7b`$DH zezu(aTV~|MQ{G#TXoFv*+|NG>@3(z6`-y)un2Mo$A zV?X)0O(+K!=jIgMtEFN%!LCE(^m$f2&lG&INm}{D{;+j^naimgIP)r&l?msaK*-=h z&hPStX$XIC%kqY={y7EeaOVonA~XXT^H~~D2XOng8s^#35l)$GCTgMSn**UMIx8C~ z@e7x?8@dUm6;-(Q+DW4V80KnLsBIQ4jd;Gr$phi7!&K>~S@+v8g&&QJ4y@(f&ULUO zMSnN0iJ6PjH^N$Tg*Y`wSH;JP{$?#fjX>e)gYKO6bfC*bgxKh@M={d2l0PA$M?O zO{F^K+t1^~?BM(PC+MPWx2U-v(|qWOYNrxSh)W9UTjR}8y7;E#UuAR-d&IZiDv963 zXTcreF;-{Hvc+;7s!reYM>ne7Vq|&om0iAwrz`I2ezH<```{swd?5XVEwg7FjoOuQ zxe);kbeZVkL5_jEN@u}&s&=rG1a1xu|4##b69jwa1AmnIifUIA9O6)gZTt`W z0kK_*)-78t6~fd0@eWlu_|I+XuQXH?AloaI47Ka1BZ;lzU0ITH2_uws3%!0>P?nG) z4Fi5GFjr7SsUf$L-X^#B8TrYb7qr2^J$d{Gi<=8u4S-KsVHj{a_$&`1NAMu4?B1q1 z^i_1lz&V@LZ1Kj{t+KKx^|x`BVhhphHC?w{M{P?t###)!?QG5bx?lTj@W=1>1@DADlgf*9kCh)@HS z(=(u*gva(thSR9gH(Bt6{|ha00Qwlz-pwB}fX-UiG8E@pEwPz3(NPV$a%nmCZF>rT zDisuJL#yYGU*jt1{?%jFWCUMKfvo13h^&CrXsEJUBD8lu@Y&+U5m^J>Ti$5fLO!Ln z5IV^D%^=};(nmb=+z*QZUcmPSjhK~+KN+eTw}-4C8ffv})DTtMpiv#k);wCI|3Uk| z@stk>dj6HJh4&~bd!y~zFgUqwhse$m#g6~4cOJO=0NBFtHg@pes1L?u|eBpuI}q9hiq z3st2kw>EM<57ZLodJ)1+4;FHDW1gN=ut&^HwU%9KI}L>e<)UkH2v(f47S+!- zgjYyLWs+qT7QH^7=-~2?4xb2n__7=Gf;l*MIlyI5Dp)iS^gNvoquJPtIRxN5F{U_kxQeNNgp{Se5QURPGCdQ&+ zB@BJg#|$y{bi}{L+)09nkr5Sa+K4{&hhUHcy@fMv@LUKw|J1hh&=JmV6r-gB6ev27qiTBvCP!PI8-IQSj^I( zo0rP~XT+EGyWU)9Y)foWZ2u7bh$=EWvR8QlMXExM=F_pv6DjuZ#;upd6uhIkIv+y< zVp};rzJzFi6P~LHFBj3$k0mVky1tc(hq40lFN%2a0{wF z?rrNXASxQg1jCP>Q4b_nScck2)va6BhpzBr7d|!!|E%}#pPt2oOOEV5i7wH)0;OOG z8uEqC8S_5G2=IYu+XeKVh)6*z+xF?Dh~q-GGI7ncwnrp+Z5=$L(_h4H)s~@^SuUTi zNc7o^U#iU9EJJ{^UNz8z<8QOyXpQt&0sU^{1PxIRAv0_{e~^SDtBhE|d{$2R_gfCS z5sY?S+s?~vf`3Mm%W>*KU=L){6AiyO+wc8mU+@|INHC(a%uOta&a{F}K}bY)R|=8Y zYktpc-!H(xsL|`wG4k3MCiJiRWw@A@N9^V537jgqe@n_IJ2U1EQhn_?x+IM<)?sMe zc=94YUduMZx;gt3M@f+ux~7u*G@0pr_WK`7VucdFx$piyr6TY68*uvJdd=$7LWq>B zRBbXt{UA@cg_~D>B%Oaxa&|^2-RV0t-(m9{tO`gdaSQGFy%MwSq|h+^&{Y`{swst` zs4sBA z2ov-d&aM+{hmg7kZFrQA&hhA-HM-FSop^&M85tRQjKm6~WsT+B6_;EblIxy7UNH36 zzinb#);!a39YuWOgm9sP=8Db;iu(VGm0e!&YAKNbSjPQVZ#r(Jlk5F@x=COnRoB0c^yzq*veHraoajl3Kv zv~g-rY+Vd=2K1$~d(xwX#Owf=9p(O&?>%97dD-dI+i9`NQQSG9$sKrJ7b_yGbw~%LUpD;ot5q0jb_I@%+9;w`%V2Uyn3~x% zM-|S;2sI3A5gQz_==An)jE-jmTEC13gMktnBe!0+%>vzEIDGO<-5J~1_$+JAtP)_z zgAw^*j)53d5myZ*B#MklTMl+2tsKi6!tC;^;^*?!>C}u=h}hj~WG_7(L!Nuiy5G`! z|Ctxr8x>XHo4suL7|(Erd<&v{I;%@6ZzFmK(H|>(>zC!tbLw?VgYdRzu)wBnG_(E1 zY$qg8OK*xHSZy{7(m0^mI8jvd$X|=G#h++IBBXy%#aUFp!8aA|UEC@~Sp|SN9r;XU zkrLVu*)7?yLKjV|4WfHd>50dhL~r`(z?d4)`=$i3VF@ z)Vq#E13bs_z59;mDf3!kNfd>QRqq%dokr4Z-njX1=EA2Df9$Hav*tSXWn=9OlN17M zN(b7+T8=N5PxI=?kMn{081C6@(deM%bxD6a5A+N(AJPrESK6;|JQ4lR{8lOW^q~zw z1_gV=ap))Ifh_D-z2Y4%#QQgU`&}4y$(Z%C#1zD8jmMmopuC79pYBMdc-l%qD|Op$ zq)}LFz;F%hX-D{3@ck)kAa#mEj)8Dt376opY|Gl5f#0p({`)7E29M~3Iv}_6_y@8@erJ!W}_}rzLHr3(a`}Od^mqBxv=AXyY{u4@m zxa1iHnHbeY$%gy8>v)Znpy(~4#sZp*EFy&qonJ~L27ubcW00I$8RCtGAf-&kgs9jL zPI@#$G)uTBec$`@zWqqQkhuSi1&Hv`_>(N2I`s*n?uuUx6LZD-OXQ!#mwC`%?=IF2 zoNeH*DtpXo_1pgD)#gX77QQ}qYKmAbY}`GKHCi+?n;DIW+(s=u;)9+-RwKN%oYw9A z3rFKE(FXMp*38whpFj_>#cN@pc;2crjhLXz<_r7)g0ma1aM$fzag-2V)dH!ow_DT* zPp67^Oej%B^%p}~lDE556YtE+mepeAD_$9yzr&GZ^)|vap0bde2LUx-#Pxh|9Y9`f z1;yit?1yhFx&AbHm_itQIdP*g_qx**Up3+fM`uD%d=RuNlhiKh$0&daLUHivOF>8C z^Trm3VFLVvrh*2pho3<~tIl`XL7|gVKIW~PQuTBZSEnlW+7Q9{ zpi+HEtg4E(nA&XA=y;7w4WH#BJpH;koyfi$;JXPOj0<$MU-TP2%s!ikDo_54 z5bww@>4+9FgeWlj3xc{?#h?#KxIrBe_c{I7nn2p+`=9fct;32IHDpyzQG$@ zb_Tw6aXa>cR5{^$Z26tLkJUKV8m59u7T$5;H>KByU@@@#RdEO9tp_Fu0a1qd}-Ks~vBW32WFV$EO>s2gN=KD%Bft|1E(nq#DZ}^gE1eV>irHSH%V2 zcCP{B(H;=amC0XD_q29FCY=!sgef`+1NSf!BfbAYVQRHFn%@!y(Z6}?IU8iFj)B+Y z;_%>eOuR8~9KK4-14c$|y0AIx*TmqEf(^%dnNueG&>Dp0S0+!a9AL$&*&`ao59g|G zw`~cE%^);^a)p%=2Ap1PIKt6o8xp(eU5kdkTl z5fzs%gAuk61GDHRT2Zl`l;NFkBJ-|yONDJ=IOX)Q|Kp!-Dg@;IZPu?8X;n^7VqF7T z)!Gr}1+BezGHw|I=z*&|A+t0>T9iI?C_c(SS zHh$-jI|aJkjNf(v-|9-nqRx4xB%*oz4hj7FaS$e)`I=an*az*m^Nh=(s#-Jq@-sA$ z3CGzw8klc%0d&PhBGl3AV7=k^>gEUI)6fgJWl-Q{#k~Qh%I;10IsNZhxeam2H=VX8 zg$N4xt|E~S;4v{o8Z`;xzqcd`Ow-Uw{ob$MuG@y1JF>$C&5R4)5_B@l2|t!I78U$3 zAWxb6yywd8TZDv0Li$g+D!4F=W>Q%7ur7iD4euae^8!8?WuE!Gl)Po}EHr|Y;ZU?z zcHBh~Kea=#`Mq>B558Ck_g)9LOst?%q>L7|HpeZUP~VU8uDjXLMAJF?Q*5q$fh8^- zCQTyWU>t{YKG*O75Sc`G`u_2uQ(=yjua8;=D~SM*Dc^)Zm|l}5zWU^Ql^&v_bL@w} zQcn7St7Uur2YP!DcZwHp>FNEh4&Ol;A`+L&fIOvx z$Su?IQ5HA&3=A}e=0+Z}snoNcestA2MljFP-85QA8RfMya*9t-9c8%6?Iz%@gNk$C zR}_-hH(4YsE1z|ufumD&9|PUFT&~$sjYf#V_Hu!np*khT`j2%+9ZMCtL{BB-YA3l2 z>aWn$h@rK))F#6#30hs*vh-Dl>h<~lUI*;j7A{$_-$GeX*|WgIyY=YI|EP@JvHt>0 za{OjrBqS^3d->`0f}mIRX}lr2NlW z12~y}EW%Vzv(0_EzRci} z(;kkoV5dlbF1ks#0hW0JiHXhCA#w_Le-&?UynwAG;Sd-IPK3EHxTU8L6>ELqov*lB zKR7QGsWqX<==s)SULSGwB*hd&M7P%B@hkR=_9tzR!AT?h_Y8nPBfCgDBepL*%IkEe-72*V|~d*y#L023L$=HGGr{hp?zCF54$!DW(F>@|O;R!adj^c{Ps8#N0Z@LO!0#PnX>&2tFpJ&&i z@5m7C>8t@!NZ9DdaPRH0Jyuwh@S9oLro~(X^kfP=fE#?V;7x zEWC@I<8jiv)P5+f`A`iq3(d_jVRyyL3rN6?h?9pO#aVK^+i2&tU-^{ON~p>1Gmm6^ zua$M7wvEbWUhCj@I73)B8-aHiwAfRKx4i1VXS}#!UoN82DaoE28KFEoCq69JS_s#g z_a!cX_j8oxqz{HzV-~)G3?`Gj-M_K%ukq2FrQLLqm!B~s@3FEH8{D{yE-hO^?>}GC zTMZeXMK99c zOXn}S`hH$y#<6^eH2B}M=1>?8)N9V4;PV2JpddpZv3 zHkxTLIC5@tm+ZxgaHppA-Uq(DKCM)u0w5#MMu^+TQ!U%$k)0^-LFM^fe>spn%s4~Z zlKM7Rs)?)7KT%rQ9W?f8C1UioS zHb*C51b-)|>$;APng7Th-_BQkR{D2BkkjE>)WM|2{93P0pO32*I61NUL7&D1gk7Mu zyjLGUzj)=o|9h*Oa>G8H^UQ{helNGApuq$7+sGIBsIvY|1g~ugO`s3n#RB;5MZi7r zJvrn3q(H+_6YW94wb8d^L%f|Q(*R@cq@{~7y8YYJrOvH&ZeGdn-0M&vWi_)MgjVy| z|9um)e&D)r+tuOI6`L#Z4f<{8XaRf$z+|RU==Z9B*E|i{6eMb{3VU8dnuL$$ebB>R zaOmQf41@CIPb{1HR+RFVPLBnDbIE-hKkUc!cUyA9nW3Sb|nm>5GsomK``mikhKI(IEbr(XTy~r^{ z@r$RSyvw(9>0yL8X~TiAjUPE6&vd4)i+Ll#k~^C2l6AL`8bdNUxGRE~`_dEj69EY* zWHvs$7t88>5aR?5B@NKJdRM`-pm*B%#+|6XF~B9;mhOfwS_s0Rde{||^joVX zO?1C68jA;oj-3z1H16?&(zZ#krnP+og+y+s@EaqfHT|V1%Oe#$*}2Lp6kcX)$Fy#f zHXKt?1NN69|m6VeA zI{*xa@j`j9$}{SGx!U%c?*S?c&R`Gt|N=hls z?rZrw&C=j5qLj(E7`cYo@-94fv0c<%7uiJ__zJiYKge71(u!}uwua{^L1C=|zO;Dn znOl^|yeo6tfyXj%Uvjpm*a&a0F_u&DzYCuK(faqPA>^Qv#Pgfd@~6OPf-0sjfT7PP zAC%SvXh+~dhqaIiF0p8scX7jTVOZ(&3{(hTK926SHzD%Rt+=>2dp`3Dy#{Dtyi5oV zoB%r1;Kff+bGSsCC!g|_{p`r7pJFznJ8F!-wvy5-)5@!ooQTN6#dsadM+i@{ujgie zfklyPszrdx5?=&$+-~8m8G`{rNjZXvr2<{QC@GFSRHJve0jt2dIf*Z z`b5NcQiden5x_)o^w*5y7}5YQ@;IDF(eDV*7zup`_3O9eqN>;`;;G2=H^0qrqDq%?q~e-J@hG8ewts>Hb5HUFT+EFo#bN5 z5E6Q_%Q@|d`IMI_=|`36DCmLm6B{UEFA}5TeZupf$$~P5bkV~Ye$zTy2DI^}uRSRw z4}|g0MJWMl9=$4gGM3&^Tj7mCg^1j-O2A|I=4ecUX~K_b#7{{P$|$dsJH5l7oWTZF zO~C0On`wZuk<0Kk>fte-=%eN2r9hhYOW(k#%L`yk64?;1yxzL+QkYel?&ro7*mY2- zcet%b(!~J6ARJk~Gq|UBk5c*^&=xIU!}{+D)t0@rg1{1zSF4r1iy=rOKcr1`cDb#F zAb`31BKIWKGE=6$ZyfiFfns%GEgWbDbem7*@xnOXCp~o7?HFDkSWyWVMfPrr$oV^i z>no)^6H17IfnR(>JlAR7&8slM+*h>2rWw@#M4+Dqy-<)uN}4*HZJ8xLREe>b(@Xqi z&HVQZWS>vA$E8t`x=2b1zb+j0K-g+QWbgce5a{oMj7oNo0+7D2NYaimI0P#==(!LF zGr<()7MCcjDKAm{c#6Tu^PQ<7Hk-d{ET4TdfIdHvK$(u504RDgbndJh&c5`#NLiLl zdHr!`{_J0?ohViw9v0rqeRjz?N>V=bjtbAdbQ2r*7;Ih2h8;? zKxq!ux;#Et=!*;L2)8)J0KLm@d1nV%I4nZXDG$cEfRQ8>KFvDfOBwd#;-O>Gi)=iYS*5<}Kx zZaEF6b#?*nD7zAfbB$V1)2l(8H9ul7^d*d5H1~JlTdAh4cXVz-+gsdo<_m~nRxcF0 zzgf3?B1}(IdoqQ4@(R8Svo1*=UW?30@OsAT(fljdr#^TA;{W=gI+my z2J?iX^v?jVKhW&3nA6i#vq2l#Eh{bZOvYXpDxJc+ehUmty^Ey+VWL4$r>_d>b76XJ zFfkmL|KViUusp`KnGNMkut7JU=zq*d8xmrE|LICcZ=o&*o(=T1Y2OIVs^?q6lg^dx zCXFfbC)zxjm5FgwazBsNB3$5kz2cj#2fe!GHNOn#RZB5xg!!#C`i31c&E zm%0%8v~KrigrD9%a9FKTif0-X=n#~qPqls{>N&E(nlX6klXH_1?eQ;m$%&8c7r`V| ze$P^_lAux#6wo4|TxsKOm;_k(@Q~LuLT(Z%?MmHt<9I{gvQtaE@@uj4XPQ}dt>|wr zXG+BGE9X)A`oHV-j;4gh1J}DmR0!&l+gYiD$o5103pmUIgSvFKn9iYb%qfN@7*>_j zIz2lq)-#^u{aMDc*Hyas+hc0w&p26wPf0g@y#d76$j2P3HnNi~m-yd3o?jb<6RVKS zRFMYkK+fpID}s(nRbEtLs3Rg~E+b=i?Z-<|r4HM=w=p&W8y>I8g2~Q8N33phU8m3g zr}iN6wD6r%2uM2Cwg2>ofPRBRmB=DMi{q_l0_T8IEQiEmZm9&vP-l`jd|l1*g~Bl7 zwxnIWYo@u+m#7hU%fQ~|hyKw;e>oDgji5@b{*V&(<0_i|+P9Lr43 zAr(d)nOmKqouT;BV@juP_E|ErW(Se`OmhACwSb^Unu5={H^0F%#7Bk5CQWCpdKdqaus`l$w% z{HP~g+|LcL3Y5=h5G!%hvY`BcP6HhHDfes7W?+<@1XBgHK*|<-K z2lxvsp9cn9!S3PrVv-kMd6W^Jj4!NsGqUtm;Zxmiab-Q8&0BjJ)mxpR*KpQ=J5)h4 z47zoA-X-3NjuBzime1+3XJe?<4=OlLvxugP4z}^^U8TE_xi5 z_gju1!CQSjlex$$@W`88MV!nQlN_aMSycpyXkpTvGh8d`#*gbO zY)*XsbTYTz$qkZ2SV!wLoi={K2ZFGQK>0FPnS^k9pHT}BB@V>vxvXtJ{y72N#M+iBWukp$SD zP|BxUDSN<+!^d@9WyTKWp7e#@_Rd*0U{qy#=i!{bHm53-LhRG-wf}!YtwZ%wuy@HH zBw_9F@Klh-Wur>@+{TEY{c8jRakhNY+>GA(&91f2YQ|Rkwb5Pu)*h>rfMi<}HOZ@4 zbFF5-XClo@`Y{GHHkEAxF>873f=1Oo^reELBhLWPvK`Lc7FXkM}N1h zR@XLs#FiWi7S_A_R0i8+9aQSz!)Ja?4I@N}v$cOei!JD@SX#EOuc}TfHJyFRrm(`* z4gP;0hBCNxW9~r{*{dglsr1Kn!A7^+OKEL)rxnUiM>Av2U6)-vN!Uh(BeVur+E`hk z{z1^48er%wHm}TXx>17kuF*}mQPfgn5*F9Nz&gPTaW+41e<1@S400CN4e-V#KrP@X z^L>Qf{R1ZE+-PIoRBIv${7;~<=mlWQIW;XdA0D?B0%1C+fPGdOj^%kZ05S*O6?qaF zT4r4iyCV5WjXkiyh@-_{q%+^}!s4YRvbAxo@p$%3%T2)@PsAr;1ia}UR0MS_vyL{F z0v?;1X1@{l?$Ps_0E3NkzUAca3MKFhc6f4}{MFfry2i2UQULhlIZbzU5I7A8)p7iB z=;}sZir^S!nh+i>O550b|K3j_TV-rOAg)W_hVtDMUWN7&i}#b`7EcIEbM5l?rjiA5 z)SV372(9VjC`#K@;7|8Cxjxqa%SgfSvB5fHd&XOT!DAcm03|eAAI0ZdhaJ%K`!2f2 zl>S2x$8qxY_>fp*xeyq~>aWtC$m+@+_KR`<_N2rz2TNK}^d8B#SzoQx7x zL>p2IEwWZ!#rPRKVAX zTShmK`(w9#RDcPFI1QF;ZOQZyfjUcF3;cZo9j=+pjLC4uxbMQyQ1q5hvcGPfDYRFz zoA!PqeH10x*uUj)xv@R$B`NiYRnH!D%$2=srbw6*JjeOh%--VPPzTfF(#;r1ecG#@ zI5Ih^&br+>A--P$)9K)#EG^*}J6`!pGxi_uq}lNu&QgUVsfq%x-W|jd3SoB>l(S;) zs!_8TT#qLtEYJw1;_4 zQHcklP*1b500E+gnsYIwG-jCGwGfqgY$qbF%VawYETj^ob6}u`Sw(yKn%MO~It^nIi@3%b` z({d+H9&2fi2d?6ulA4G&4|yz_2Fn#%Lc<6zJWJI zuA4L0+u??$h>f*M_q?k^RTPhX{oFsvPMY&qf%M%}x?OEYUCHo*b=sZ^9M;Br8xOu@ zEHJv5;8BM9Ix4GH6l__zimhi2z)+~wK@0XkXJ=5*tjA@&r&Q?CtYZR3`c8_^Y4Ijt zZLHE;4B9oMRh{_A+)?SIq4xjJtN$xWsdoTShX4(v#Kx^>+p##Dr{#Fd+Orj!DG?xH zUw>RbaP+tmXzc2sdso5x+}tI4SzL$1d*kl*T7!SC>Z6G<2~z0gMLJ{1c$h!XH~!Y$ z+Z|LT-C~cF>hKXz)*5WIm&V6WBN%XLiv?gKq1|B*Cv1Y+@$w$K$qV-%JzFsDNoA;> zKJNADD*N-(H6{(`7C0BoY4$xwBa>B}?KIXKFRyTx57_q@8N_GSuGxIN7zB43HLk{M zLSSirWe9M58{al&iAEFXhi*=q&wOU<_O~=yPpb~d3?HiJ!Y0!Pdo(#PeeI38o_D3T z92}>yr^hjq=n`F3;&#L`H#TJqT*N;m9*T_?yJo(RAGV~5WMJ<~x7guqF+^HCfofQe zd|IWx#t3c{(R^Ie4Hc^S3K3WwnQ%>gXjoKzw?SQHXew?*`U|hrlR*SW>}p6iMQ-+( z$^9@OYSpEVVf15==56p{jYkc{K65FdBv7<^gwN5Tm&Y=TYe~Xz!_nWtUim->t@|t& zRfVpNHYB@({9hTVBpb`yh85%TY?Njd1V(#sY9-{Gj&IGgK^*@z$P~c4kS#mIoH7u=Q7%jm$=%7M-61oufm}oP$_u z4+9?z2R-Z@jntqr#66tr`8Unz24~e^GoD1>+MTD^RU6%{8!_lfZjhNXO`TQ=F?X)` z&AbnzrdF>M2Yjmffc4fI5+xkc8Egq~#uBlV$$N#Eb#V40Q7Pz&!wr|mW3#?K`s-p= z2tdt9?Njmcv3(ZrsZnJ_bR;2r94yO$3i|sSyZn!HW~PaLBwkyC5so{NFdkjZWrj@u1?n;WIoEwQ-$Ajt!D7e2 zZJi?^B}jJW&&5=wd6b>+SL+#RrodrKn$wC;FrCbU6ZZ|abtfh|9&Z)Y57z1)QYAGrm;zQLIu#Yu;hMTS{*Jio?uN8;Vk z{dm(J?2q@UROZ6ubX=_0W$6bIbW>w*%G>HTNcOtzK}&99&J*e3yJ}&WMEzF%ZHDcX z)>g$SZD$x1dMli>nMkM?G&iT8pT%=UYY9G`IV40|othwK)pl8L*?*!P|98&Er2gd! z#o%;sTSm|HzSdLtOKH3643FkrLHj-B_DlSGudC6;+tsbvt3r& zQip;9Af)c3@8AVO>b!CE{nEwm5{)Hv9d($iuxh*n9iXC?=? zLD0N7^*hwo^r8?C>ItL7BHuZ2jrv+WOT~OXcpDv^0G{D?4%Xn&E!w`&g>NHm$3pH* za^2poO0V1D;%mUdzRZ*tn0pAuns$DjH+NTl149EovQ%h7Xhf!>%~#~I+_Eo|QRWpLk8wR*j4m)fC&uS>FnA=t@sV!g|4djmwA z^Nd`^@ai4CY%*@alQEBj#Z>cE#z%voH}xI%cgscqqFJs4)g_*9q@6T8?ua}hs)4mHo)KQiwf9MM3On*xdIdRN z1#G|7D~EUb^ILC1uI2n~(?Hn)uZ%~IrN4!~%2>Df`dY|JWnuCo0EpPdnHF1r{KCdJ zb5ufW*MqvMhVT>NH@kKd&eb)0Yz>}UfEbKUdf2}l9TSXGfe6yYl_`RSNL5K5;zF)< z#b*p;NCVVYMykMrZ53099q<|Fc~;}l&dAAsFK~3JwAA2+L`~#i$(9*3!>k6``QX#qs~T%eiy^R}zwjQu zb-T5HGhGi0JU}jGO5J{~c&}P63|}9{nA!VC-8}}^u@LL))dkXJi6lQ}Aim>5i8MpE zZg%XjYM(r^%03foHal14*0(`Gp?~huon-_NK&EIFA z-0b+76|Oe|{c(D*J%T<<|7;lzR|}F0V2zA=UuAdR2Qu=0X%27#fEw}Nq<{(c@s=As z_ZK(&Fs%uSc#@SBXM)8zO^hHL9B^TkfFJc3nJh3)IEker9b5zApU;$})l-V4GBBIaYn{-`FhH1CO|tFc1aXSCOw6vS zAECpxc9T*4v3;g**w--Ov&TKHAyhrIv{c{?TpArt+i0$jj@!(S`qe1L;w{sk=(=m; zh}ar`kyUAy{j4kMTo)Z!5LH43=kFZXf;M+k>$j`%xwcv)xyW+OYUtkEX_^6crVZ z)$|&)-^ft1j_OFytPQ+BV@ts3cJ8G9elL*!HlzKTxL`Nqdi7C5uw|~Dp?#exy4M`% z>y(Q9k@@_Vj~FsNis$xjHtQDrcv5P9WqM-W%xB&FAuBh`8}Zb{lTNQi)lV^oSx(jpU$(gIcg`O`hN__ zTNZ&w+YWnZbN6cA{SY}NStAAxj&51txd9UZbW)s!cun*z`QS_5z^X=E-9>)BU6L0n z;5e4#^Vu*`st4MG?l@0z9(9QfsV7}wK&3b-K#zjb`pFkm zyYHFLBLxl))*j9i@{Rqz1=LHJRe^@~fmemg0ob zWh%MfSS4TnKXko!Sd)3sHJlI#NLNHU!No2e=`Dz20R>U1QY17LpX+-6zyF(i=6B|tGc&Y3L#lr-&Am~~ z2m~cy%VVte+W{(@I3db+0J!mM(`6j5z7XlEPlT8Arh4!6#*o8zwL|{iEYPUh{IYh= zQaHBU{-hHj@=Xd+sbghyzYLjFRTn+MO;WQ4qVijT-gfQ9)2;M~#MTvuR6~rIXc)L6hf8kZ z)Vz?wm8fm@>9oy}#{mI3C{06Ba&O6Qnff6%;)oSCFE2%?$SuJ~^DKy$tM=$8@Z;2z zS5>BszaGuKg$|7@%%@$)*l{$64H!9YIbB+#3CU0E5wQdf^JKw{J6Hk_0($OiXS>= zdVuk;zjC%^;&HIWlN+`1)^%mHs&cQVCu*Aslk%2zu~#1#B=bI5QeIXbe;*l{MBDf* zJOUuM(5fy8yGG`HaT|QO^^IJsF(0I(ExpQ_S#4ye$Fyw|Kj;b_JuI84Y7u|Ok@8Nq zE}u8tN)~rQFKYtM;FkHC6uqWB%Qcj zY}zUdPt4TW5Q~NeFoV z*&d0Sn9+?eB(bhh-L|JyzQgk?*PstUe!^#exJF5H?6#W2#Rs>B`i3Htd_2M!Lrswe z@oyp~|N9HNa(zr$*I{7ywGKnWY322W@j{T>HZ}}`*WOYlZIaENSDqZ~tvoxZ;Bej_ zW1HWIq(*Y4GV~qv&e#gRDVF=>|3}Pt zXF?%+H9@Dw0v}0@YWayg7aC;Lle>5d4Ex2*JS1^KsUOpyb1n-A2lly?acIOI*w~PV zZfNG&)}EmWbOC!gFAVd`qo?=%FuT~3n0x&s^?OKzJ@oE+icq^|*GnlkMOp3J7lD1}ChJSL&kq8x0&aK-Ch7ZOU_F0v0@+lIY?Y>g~SNPa{Z& zo{C@4y`9{LlN0Xz@uoMl1Y@YDgo zK+rvG)j&0Are{yX9q8=@88ytT>$K#{bF`@Q6d;t31S~0MWAOv!<$A2K-$?0y8dP^n z7gO6dZ`fYv=Qp^@{R#a{pMG-(l?i|!V`QyHCoj0c$S^V4g3kA5C=5{#c~1>AtLhv3 zRonPMygYH>aJT+Cs4k=J{5a-6NiWNF+XCri+uxP#!>hH+BuAr|5z&V$w}c=E{?Jpg zle?BW#GaAO$91_O9b=CgqN1Way9vq2;PIN%aR{(CrwS;}N|TM%(`xzd$w$B-l|rW` z98;DE(2H1!4)qMN40%{G?mYU7oj=g40ZSK0V%5p(vgf*Xy>m-15sJ(K5n6sV9fwt9 z2Lh0q`{-ks|4dDoP6nSrvyA*)uFmtNqd!QZ!Q;Gx*15T^p}XqQ5|>+I&!CL%t{4 z8*Hn=H)x*{$l;B-Gb)Aac>g+Mv&cvZCd1$QfWXw+-ccj+_$tgG^@?CU4;r!C4`9h^ zEz2TEI30f)_C%)k#|PAktqdI2VokvRmtBn1=1mQmpGNF!n`i*+IK*Q->Y?Qx)k)iD zb9T+%ChSIT8SYDGgC=%#dL!9YQA=wKKDShQy%eN} zc$672Q8UB}b3>nst!OYpyl;|(CIK{rpU8#BF2=Y&QXlg|e9hd>{cNgY#9FoX)R8&| z?W4pCO|wOVlvz8!xZMX(eaL)BBP;loe53Cehf?bi%K^wn5gP^f%W8gu#4^LMEvqT9 zAA%lqe`qI}WiD^g(Xto`#PlJ<)B(T@+x|*+ zWCuS@ZIl1n_hjIyxx6p)UmRm3gCrFyj7<=33K!5n4OZ(2D|;0XI`H;X;5YQ^ zF8IfGR7>orzB6t6yXW%jBXf_$jNX(tL1P+j6n`68;=(OSc)Y`p|;vl^| z)ka7=hdxzRDqp3yj4{X37D64HjPB$6c;v zd9r8Vt58bg-IzqSd>YK|HK@n8Cdwtpj=vZnAMk6BpBnQyRp(RK_a!(w9SN$#E@g($ ze@CTFFL-D7YfDRa^&DCcotw2#>o2k5#-rC#Wa;%`oK{>=_7cFD{#|q2Zes1w`P8RN zB{ekwtc2C+)f*nR-P%uc2t%d-VPQ`|-O$jZ5Oq+oB=lBZimaieisJUD=~ss@UrnR9 z*WWsh6Ttwf7<B(272Upi#@CRuOJN3UhJr9p8T{{b@eED(Y34z>4$_w7gpm;a)9 zRz5Gk=NX-+-j%$2w?gk?>9}Q`%%*~zPy~NG8dXc(0>*)z-9laAQBp25*zXoO7<cz4E`>{688(79 zg_?#tCbi+FexLmrTPZW=wyN6uf7rE_^c^ZqW;iC_nV7Vk_UTbJ6x}g-{#NSIZ~OsH zG&JjYS9~9R%Z>TUnf2kzM59<&AN>v{ES6oBKy@FKV%Ms$WzQr(`y>6 zESA9e{=P>Y^yZt@oB8E9hHq;!w!%kqrqMAQdX@?0bJ}`>IE+k5&1FrrIAn1MQ)5wq z4;czZeptcMKc?%edy4b}{b~W=P=^~F8*ZYy>V>gVetub+7c7xrz7}(t(K|7ck|cg9 zlS-Iyw`7>~Y7H+pLZmIoq|{rT(08EkmqY!K0@N@$w^sw?Vli@y4m4a$9Z1hTeTrzM zmLkm;ysjqjN?#Z(ouRDDdO|B%{m8e>vdzn$bt;mOGoWnlT!_b zO<(aX=;ek);0*w)UY~YA8qEUd!gbrfg{%0&0rmYgKQGVtY)YjJ+3&WHeyhdolzzx| zZ3pwznwIWOs?9gmP}j2SALXuz>8b3NGTJ`t+;6ZmmTx|^eByNwW;|YX zdD8TE-4UP3v8%HC%OW~3e5HBY6g>8_D24kHUv4;a6RGyGWjfJ{o3lY2CGx3_x!81aNe+6|i~2KAchWZ= zMO2HWLeIpuHDD>x%nUgNYT?n;(|dme>4@j0e47}e|EM3meS0hDZS*b{Ay?hiHUAE( z7^F888^s~IzNcBKPx#Y$W7|l|whEq?$(;EJ69=N_~e;ANow)F5DNl?kNMxk)3I4$2UXoxx^XG>Q3ZKrt64w%k>N6 zFP|O{HV|ES4U2++0>fle;f4xfxvA_wZ49ljKNjfYzBz8`i2gcUL;^ zjiqhuPz{{RR&CVTU!c!(+ZyA@si%Ut4o)xR7@Ef0;dKgxq_$mF7rmo>vtu|uaEy-< z)Z8nS@YkjXpP7G1Yqljkknc%$L2;>9orc{+=ho0%TWh?!s@t6qj{%Lb679zp)x1jN zx(4C&seQkElT3`#L8suHxbkA4|M#E~vPtP25kbOnSa0urorSnSYaUw!zM-LlTZxP-y!5iW1c&phVLTy5dFF@NKU#n!8LCuvDyZ4cZ3 zIv9>?1{M3%!)}v%&+WI#y%~2mdY$|rLa^*t@Rz3-(59Vn8xUxF9T*D*{W zaUvxFSAatA(snaF?bgClwTt|PmH>p@4WMoS~Pvop;gG{3gO{9tMPnZIi_ds zcAxILVSP6?DF&*OqF@w;EmK|;s{A4pbEh9F&to4~am0JxPOaG+%$;=_(AH!z5hm1i zGs5lfqlqDC4ZJ|XyzN?U)laBF%jMK8#er|PonR5n%LJ*-7dMXQyhCV?{8M+MogO zFd)eZZX0mRNOPa@Z=G@gomz&VIOm&rip3@Q^D@lKU~R}a$-Pssv~uWLRWsh~kQdA| zTI3k{*vE${hx5pU9tzy3oIn#%W7{EP-(Ca+$@J15ATi%0ElV}UyPJ!#0FB6WO*-F3 zTWSw#O&zSa^K_*#dYRE;7^5)ZqDWdI#t-?a4M$?+k+^=Y_6E??x=Z~U6cP6En!kjO zITa&|`^$C3?25#%b);0ugS59+KXah7_uNLK8e2T{@+M9Qj4VK4=6huUwJV!raN&WO zm!f}=RP}S=^%Fezu}(QJQRTmry4IA<`?#2Kn%>qVMy=AU;cV#%oT{?{Bl>>*oSzWWg+wR zv?lPxnEeagZ5Q`1!zw&i3YzmX$nu}tp#pndmhzO9UQxO0`7pljH2DP?$F57K{2gQD zV|=*Z#c<1ZqA@WtLlVlDi#zB;Wv{gJXL>`nQs2sq7A>2zPu!SKPYjTET$xE=^r3`dP3EyY7qXjljOJn zyRj2Pw4{3RTQY9Ne^ax;P8L4M@jj*-WKGATAzx8zGI~Sv9@6=|9=^R1gd<4X1f;Hc z9u`Mitn!f_M@xYEX!{%Eo<>#Rnmg*SN-^XA;|2It(+sa9!AIZ+NB?g8oz)}4OQ4`S za^Ps=(7&jARrewV{TlR>Q_6^u#g=<_`|H{KeK`4tWwmm4VKe+@njk?Sf+OMB zpM5FyXHPBsN=&K^c%>+8F`uZy(aGswBI5FD`$(n8xqfv(hMSds_=eXg=l%^8!r+&J z^0=#%No)yJoe*fQGM)wFY(H{BgmT&|0o7y?)^A~E;1=&Z9|$TZgE#|b!J>vP(f@d1CCx4x15o_c&WEWwD{rK&1BUv z&!_#+e&F6ihp`hvhtLGx5OM7HkgXTS$$Kr%Lfv)_q~56eG192ZT9Fw`Z^N zRWaJmjt=uOgswgkO(HRMI|u@n4A!qkNDcJze?z1nwYbKXsvg<`3S88tp zi*hGF**PEC=NRsy@Cx(Q{sF%@ptC@45!uk-G!Nshjo~1wcwT>_1p1KHXPsJm%SBQ< zb6ck|u?43W<5jJ=z&8Vf289I#0fu?@lXW|S^Xjvrxhv_5-jHJ1RUe(RUk3Y)-Ap7X z+4UhNo!RbjhE)ZzVifelZ;~qh);!ye6|trhdBNxT9;+@O4Ym?aet&T!P0h;>hanvF zy--89ai}!W^B!`~@c56@?x5`*3vZ|QUQIbWE_vY_mN$42DHGd;>dOUx$-9{<2FZ_MVPO(O1IjK#!%n8pN#JVk&v+h}1Q)7XW12*EbVYFRG zR1Y%d!|M6*5@e{*;t7LE=Xy~o{(6RCkf*?0Q)gPV5-nIq6{z*u`-p0;uvdHh*gO;Z~Ofcnm&)Ewn z?yWC+>l)}y`Z2iV)Zds<)X>T*-RM}fdgTS5(>r=tdT`DU(3?^hFTurrYSGce(=Lg5 zZl820kn5e+UR7;vi0|iB=xuS_?a66p6(Mr^*~} zncO)KmblhpZ$wA^V!X8*pDI33X7#Tmj8tvRA;)m>bha&M!tF2+5|+Nk$@AfM^bvGR z(q6YE1Iv#nu1pJaWK}QD235rp77yWcNy7%;OD_G89?Q}L;Hhd;KppS3&K+fy{Gd+c zpXx?ufYQ1qnOwjOIu_cQ6E(p|DJKBeCk=J>dgK?|T#UII1oeJt|6{FRW_ z-yce{eGD7#Y_5h-|HV6$pnF8SBfpHY9*vRK8mC#y8)mH=E$E`=6Qt?FJYKeTo>4amI_ShKH;~(cV%^Sxa>qqDX{Q|)YcUbQU3fI10mDEj8k6#BC;IB%_h*Rpue)@8C%!N)EdXU`=IMSx`L;VOT!`YomC zOTiJva{(?*+XIT8H4>}-_{*3FTDL222bt%t-J{o8KN8bkqTA4gw%P%8!?&=crHUDP z%ealxtX3HxTCqB-jJCkwC?@ZVVYL!r{p9sD_a&>4%{)-Ft?qq%gA+Ln;Z*sga4(1K zmeddxXFxI~0TJ%{73sTlDtTTJuB*F3o^daA9xp?Fo?Cl_aPfJoL~|i_HZi7kN!hGO zqrosklX8M1IhDM|xV-%zr>-@{k{w0*(SP%hU0yM~!t67UVc{QSCiD;H{SJ!caV*wK zs}V=HjSX_%hT|plB0+^;`+wXnfTRBLH6wqVNAo^~5_gyOBLN!d`-}3KeJ4^LT_lU7 zTI|KZAI-3~r>7^LZ=c_8ha9ZRnItoa3$XFijfu>$@k9hS$H%aAXf^N;@@SNTG4;D= z#Fx=->!gy4^x4kU!~@+NLGA0LV?dV;`Jp)C`ZCkwL-fi)+Zb|hspcxu2ApCco(;~BTy~+X~sokw|;ZJPu+E#7BmU(BavX=qx<+a1XRfG z-o9x{t$J+BT%u|$rAlKHsU#$!!P&qtbYG9ozrorps~t^)e~0zlWF}Y>wLLun!|an2 zU1uC3rBtA}?-FwGwn)!;fC=E_rd`LYN3*#1ao-6&#?kHPE2IEF;ev}&X>ZCvQwynT zoU3qXF0O&jP^)Zh0i4cIN4QLd9*9eymgkXsC>M(f6FmG_7~oSQ!T1X8)ID7wlE;!_ z@$ZUHX9KTBe@!4Dq$IrSoLpj0%B8+yE(sAjvl|AKTI+8BdMdjq$Md|UhWk+M7sfwc zTYyMT#0#Q(pDRM(Sbb~KP%6LCJI3dr^078CQCpJ>=IX_lMMxV}2|r$NE$I+xywwb8 z=i@Gp1!b)Zsmk{Ev=l^ca+A|Pc&E9eF=FC3vWmzP44&ViI!rU?H?$5qrZX$> z_`;%r{M#90>8s3e=*eoOb?GeI82hmkY7>gb5N-}yivu+nGtNsE1N~r2P!tf$!wIrI z#xI~flUN7P=vR{mDXcI|i0PUPgn`tNJ%Gof&Ou&V(5aI=x2+{Nfg%6_j8a3qqTol# zoi|3%OMqAP$#0w7-qKbLMZXRLO6$#07uDF}5y9xoR z#tyPQ=72cQwIkdM{uF_w~FQlrK&a z)bXRy44i$E3`FZR2y7I@olNdj-Uh0J@9291FnC-@zhyxy=GgE`*t01NwDyN;W%G!i zej(^jMLR z(?g2GeUXXx&et*$zvx=%8|K4zLdIPbKb@`dc-~A?9~MtRr7x|Y=D;^Qo#h{Xzq~6v z(d6+u2bI<87$j&(_}EgXT5-?}9(J0wVX6N8`#bsnXeg6J{VDr-AyE&R&C?Nn;fyvZ zP%7601Jt@30K=&UincPGPPVE#isZI0S1qu}}YUNyC={P*~C zt$+# z#)zerN@!yg1&8rIsCw|QcRD{E7w=P%B;%<2Y$zqe&q<#t~4a9^B_>}v9mtv-nN3W%9g~H{a;TOz6i?j?%W>rhq?qK7qJo(zencbpk#O zvR9X zm{yhS_VtaB1fPjqoYqn>!JNw=NKJeRkhZ|>eoE1bS4~(-!@4czU3?~GS9C&n%*pQ zWM49L?SqHGS1{up^F&naVa=KMkun8w!LO=pStC9TDO)mevU_&jm3=;wErWxTE}d|} z85oNuErlY7esD(HEaKs3S*lGN%;#Z0>w3lqqe-^=NAtK-5PnYQQA-$C*bre-^ zI)8b(Rm*Xuf^El$)+V6LD+3~`C$XYi9a4VgLbCeeF~jIu_G~?Wv8m-TOX99Or=5uQ znNcjxZ5cFtOj>3o!JPQdhLd&ecLY8=o zPY%k;{akuq`$L`m3K#gaw+S3W{~pkqx@nily6}khZNWQIX;iv*SSJ(J9|1tjC7v$_g-r(op%c2WQoi``$O9DR2ZXXfPq-J)?UW+Wg zY_NAVucr1#5SRb#($_Tk96o`vN8_CDtu1@^(w-?Z-h#1JwkLCcoF?3-3y=oepygBb z*jZVY9@^uq`UBUz)uzN&Yn+GPT}?Q@b7G||tY6_^X%|)=sP`-^Q9W2yS-W+8agm9W z-m*r$!`DpR$E62H-@|zr=sPomeoxJE;x%VB+J&%Gmt_gRy|Amf9MIV9sR%!2ujf=2 zd#`d)PpKQ)KDU zgenqJubM^xgLi?0YlhIz5>Tji^@(pvG2iu9T;9jX(C4C}00Gd}4biT2!jQ9z1kfRN z-|L2DgRjsL^QTE0?Px%w^r+^kKSK3tr%o338@7a z|I66OB)NzvDKGvEyK2`1H3@GxaCO+-afqCVBFH3RBw7=nO#~Ds(Le9PEBDzH(eYD* z&aY3QK-X22_QHF%A~ELu-lZy|a()6NfE>TRIEaE)&vO;CtltU~D5k$&<`}-fQyqml zA$p1FRNijM-R0G#m+#o|UG53N;KW*3q-GSlbtYQ>Zj9v2Uw#iovc;>DbUC7f8{-gq z9nw;cV(tRPDD0NNFyH`_*f|dhl6YqinYctsdl9g3Fs{V>vjb{h`?lHO>Co1PL>=0d z?m~+w(m;x;Jv8t2-ng{;=3 z1p#|&M4Y2Ly6bi17b9Po%N^GQL|900HLn2Lg|~bhs(b;Hcf@Rx%s|D zA=9W3XkBB-%BgVu=0nzYQN;FgGJhQ~GvARv=pXG2P(s8Z=3X6!31pt6WCjWv8lgV8 zHQpLZ^O5KF=cTaehWn@Z6oOui3A?8gC!7BMb0 z@VytB1U1Y~WXvfk3lUt^ZC#}U+Hm5##>^g@1e%+rBeEUx0JxwkRNKIH@Sll|2}Fo9(ebkX5*&pC(cHNZ7! zHbA4DyY?Dnyj@8xJP=FudbtL)0w6kS%nm0>*)9Elo7{Ct+gsE@`)s!S;Did~A#zv- z1EYtzYg>N|!YpT^-WqJ^0M2t;YN`Pm#Iq7v6SQ=?ini;rcxaI!)6vIP%0g{e zA5s}2p!qit{>K=yLGZn_9bVU=pV7?BL@5TZ)c-u@76ShAix@10(=KIH;Z2aE>aQ`>k&tvIac{ZMNQpQ0Fqwb zg0_tq7V`qG@BIR`S#vN2G2r67ynKNOtFysx=$uKQJ}U@HzIcVGL#+T#140F(K%8)} zn6WqU#Dv zTP^GmZJPUis~>T1!FVBD&x?|}c-wA$b#3(xb5z}}@d|W2ttDj=3~ur0t19*2`+Am` z`p~g&xQ#orH4(xpwL@<7jhO+4^=A+#w+HZRj&QHW!PTpBuf4nXONDs=7(W#-i4z(E zc+b0|J8v}NylA^C-Duy68rZr|@$l~)Cx-qw9N`{J-zv@9$f7pgItS~0u#x*wvqdg- zdg|D#y^T)Yi2O=Ym6Ez|NrFbQ;dpS%dtzvjZ1giZ_uU+5p}KPyWr@8SqSa#e|*^Ww5TUhEJtdAZ~fb25Yto(~vUNX!7IqzL5{y2skt4fMtv*EedvIyMxU5zT4G zI9OWJ%t=Hm8&B%=xL_UuVe;2o5p&lEjp#*6{l;cl2tCtP!-2VY3T=5le4M_1nEMu5 z2(nCxl9W7JCcBl}>u_d1-bbVagae!74$|hD)Y|c*w@u?f-_YlwGW5@;{eJQQfsN}D z)d}Kyp0GRIzzFVDGRM>~mWmb^G}n{MttMXW$XWYbv0s7G=zR_0tQ07{K&fdY5ig-v zuKJgLsh7c11D0SF6ApB)KCL4*?#@%P#nnf^@Z%2k|HQ zpbNpty;<0;W>|2jbji@cGoymH#>0~QucZk%JnCaql{KDfFH;JOKKBmtK6(7wyv~5i zKqc3qr@5{C(p_0Sk|f#0RBVnEIS%XkkVCB|aSV^PjOa@G|CFlefeKADdyMSDTzWz$ zLcHYRJ|uD(y==QoHLV1RuH)|W@!Nz9#5~t{kMKbVbVw2abtXm<77%302u)!4z$!54 z$M3N+RAW;TdtLnQA#Z+vkR7;8t;go(-lw{pYTKx(aZ`S9>u?EsID|?+x_WW0>t-NM zvY7L6cY10A7J;t{`nmPE34&t}Vn;`_C#v)E<|7G@m|57}EFj{AaYwqVU?Q?bTv%E2 z=oO2w>W**N8pcqS;_0lT{ci$XzE41>JR%(}&JHz|!w${@%>6I<0FwZy7}xU|Q2(Vs zu+*mR^*jasOVl!**ycy^0S{|=45<=?6m`zm*ikconMxbb_<}L&Q76j)tOm#hzXAua zXJ#f0xU+ePR9T5Ic$+VGrH=@{!H;!hLyxjT(WBq(H19Q$oI$!1 zM^=L{GITY=eoM8?E7$OjBlVS&(HAd>S3%xKlX~dm*CZ_3HBJ8J6(7>_L-AZUKeRi` z&__;gSrVAer1K<0lY9B)&_0&Elos>PmEi_dFZZDA#99r&h`sjz6%=2mL)92Jv?UAY zyHDy(`eH%tGg)ujWiyDEWM1#cN2e9HFyxI!x&9^Y|EC4A`=fz)gt?N2RQXy222KI^ivbr_r|iyS+(h{crO9X?!Ca}>k@9_h z{Z&2yS9WLg8Jge?AP>z6WP=u!ZA*?WB?Vw(lFz~A}#gEXf@GuI<|i2Ea^BS z(cZE?%?@EbcshGl*2Kb7SEnFe*9*TDw+A*$+Z6vfL^x0Gx~XxT(>`>{K^}gqc?U4# zW29=SW(jI4$l0u!!kh!okBBk&XM6+qCr{7k#soG$74kK7oCw9G0tJ^lK*DC}N3p$=?92esJP#Bq=&FL)l8aIIIcn z|FxYqH@*}8-E@8}xc^E8ZS2cB*UR>XEM>c1XMI~nd|ksz6p7r~y}kK+R7JM1_%y|lv`%~nFy@#8J7L@ayv_-VoD+F< z9K|>F5IJB=`N7*^(lKc57$>4_{($ygk;kk`VH(ht!VQK9Mv=`+H7e6}1%^q5NF2=C)kL-zeTd(`F!FRnLH~k+k093A9yR>Ul{Arl4gzr5m{#*R} z`ebr#87y5b7r1axa8j;w##^q924iWRy3|zFCt7Un@@fw}+bMTUQli!sTUQMA5eT$C zT#Xnw8K=ygt$Ns3CnNt?AIx_T}+2~i;%JZX&^cf-MIheR%}^r);uvF_HUrKU>64seHZ9W zCfn?VcOCCRRwVk?QG<`makzBuo5_^jpFQVAQq88}~^KOLtNf}_k!pnL- z*5YmvD12-wEPI#+x4V&ut$Ct9AC?4x75#YIW-r4h_bev6?d@hMx+kjJV6g`KFnXlv zvOcJWmr#Z*??l;4LE3epcb~ZKNV#-uU!;6qUKA0Xx5Mgk8$^@mU(!CFEuF?E^<|&v zt^Zz%Dq$qm5#h&!K1@GqOn-auVEg;+oK5}Oy0CU;y83YL>qf}R-1naLFda}GgzDLc zjb>Xqv;J2Gn*5W29oluTepg=h-yY|20k{VEj(Z^0SP9W9rvc@H4g%Oo3rApbrkpD+y3u8=_x`}k#M0%?Kp)tb0S7v_?U~pl3L;)=gb^3 z*sBq46=xDI%dg%}WC^a4%|0O}|=Rt5ZZ@(MzY2#w&T3FvwUC+yus=d5E? z2z)Y2!^3xhU+jt50aKm@x&73gw`BvxAVlg~+IA;Jo*>@kU;eS0*Pzm1Zsy_w;LlZC zTQcvmcLdn!zC-;lGBIC61$H=7hx#bjA3i9QqM@rZ^OSJjQ*lyk!mRasYn|a}QQ6(i zw_?9OA|af{UXW2N^@1fQlqq|FxwT-|IW1hOv=r1^YB)Mi3o5*k%vsFzY54bhI z3V}2xsx+1PN6>EiGj*RFg2NRl3OX%=KM32Yh_S+#8ZKpzdV+B+nzc>@#)hsI7P~bA zta}HS8Tj9me_yTGwy$e&{YI_d1Lu{~Idu9ZJo}&d-W1dlYzT6=2C)#!7$_vxaUKWd zZ~!=lwO=Y2yKxi^#HHt;f-iT^Hn`QTiBLAwjTq|k2^U;ulC-A89TeudN8N1GY3I$( zT$|Es?{Sa-I~hdo_>WIMuxOm5@A?pHIc=!O3BsO2eeLHg1LT>BUzaAodt3!fx|&3} zw!VI_aT2B+RMh%QOakp?8k}2$wXzteO4l`cBzzg=#cc$8fseseFaU!}MNK{16i5A> zJk8Ke2dvggnZ?A~~dc-e*2cgb(0F8(o}3!m3biiWW@+isl?kK<94O$t1f@n=*u|=i36+HHD)pcjI^4J$ETC5tciL5D z!k?#TDRk*0gL~4KT+(}R8e_Kr=Q!qx5@?a|WA6*4VRhi)u2ug$PTVh%HlOyw>^e6G z-=N8)wbPY-wvC1+x)bQ-&e%iIe(`+EXjD2uTSQ@wzfQUd4^28yJyZLze4z-KLSN5) zSO&1bh(fLR(*lrKAdtJ#-o z#sA0#I?5m?dUrq$&YVrF&f^3jj){vz51H8>o{`p+T~5{yJ|V-#mtl80gI1_~sil^h zp2cB#*(@D^ax~fW-MH)}_5PqH@0<~3=UE#R{`Z!{nlfU|PTW$1D4*Y`qFRnp-rPK& zqMjZ%x6@Cf{zr<*ZQ1SfOYW^0s>y|=M@&3#euXy5vMWjS;fc|TZ<|FV2JPKC;Jge< z2Y82J64k4xIfzQiHMd}~ug=PwuwA*y#Cf(iWt*yXdVzNskOstpg|%<2BKtZ2*h};g zJu>{Fd|vBtMC>w z+eq~L6Y7Nerww7kMh*V&8bJ036e!TMFkq&6o1LKFGFr8XWd72MPQuf$Jh))wizjnF zM6~P?U5;VtOQ#(!Zk`H-K!v?tVb5ByYqi)wx(}uB`N{O)Baub%!1F?p>7YF20_B0kE6#R2r{52mijnf@FK7i+cfrw9t zJCZxVCT+9N{%^rV#|rQ?@agc4=?k;#oF$v(##a{uEL)Y-HFi?iOW6Dc#9vDg`KFy| zegZ%B)Kv#09=qpihw$d)1$@zbyCpEs>z~qVSe?f|?TyJsi8!pf@2zGl58~@oD_iRF zb(O#m0bfCJz@>SFH(hC1tZeKWho zBrkkIS}V--Wcw^+!^;A8{+f84{-$$eP>?>~dLOA-N7mjhk6mI-SHGg)>tr@hB&nL7 z1=VTbY{(xpP(BtWbswz$J2zoy{|`6dmE^fy_>DWeQA}6k^f?kW6x9ds+dOL8!pZ?2*F8qfP!bNLI=M?I1#b!-?o_z8MpK;)9v zC*zC6b7(=Yn_#|VOp@SJsWjaEC$c*a`|f>Iin7TO0H?%=BT83iZB@RzeDo(WEy0wZ z6g?m_txyBFG~k7p6EVGjfzk#O;-b^=bL#btUMo5H&nDdbRk*l>FohsJ6 z;J>Hp&c!>FjY|?&8}E=CSE4+bKQmgiQ*-Nj)IMN2I?8R!A1pm_#kEmGb+#)A`X+8outKi~ zr1zCS)kGpLffpk!UYM({!DEFK804u<%$wnF?CEJvku<%BvwjVg{X0eQ#ohRrzs|r z7QQVrYQF*+=BM)~cO`Fx>YAv!14WvmjuyMf+5qM~R~_30nN~5Gw6&f4hZWg2So@j; z)pDQrGTW0;Pn}4eQOSo=)#DxSxHrdA$ooNbAzu5?X4@R@`yvRKKAX`+E+cPeqsTMX zF_Con=xfD|v19MBK3y~e;!t?It)L#)p)a`@{b{$%0)$^QB1H=P{6>Wh_A;3GSs|3o z?<2I+X(D4fZL5-G$;4fBmKvqw+Gp~aQbC;Bpw5*(4JrACEz6~OL-E!{lq`!(8t`^ zvwT%Za^)+9_oKZhB01xL_MGKpxnpf1G~Y@Wo>$@gkldrxC<(;t9{m=H6&)nk`$cr5 zK&Vu21&|9Nzv_7M2G?oypS-uFn>7DFy56&^$?f|ZPC^w!Q$a#ktn}U?K~y|~fQ8(##Y+H=h{ z=UfL~eKfwOb?hIZ(6bU;9~kifPFHdhm1o>d8DjMl;uKI+cw<-s&nH?}8o!xVag&Ho zh`%agl_ax!W(4U5i&jf@W=E+R#ZkfY1u`E_Z_@Y%{HB;(_ZTDbw0PQiiEvYo1=^w&jA94SIXNey zm$4q>>K>isjNzDhP?vfIto(oAt5z6!}y#Gu> zv{37>?b6=9RF25O(jPZEwMr*YW2rC+ojyj^ky*~Q1bMoA_91$dx)s7X2>LM_>{AME z0l7KJ`U^N1m2Hf?bEXy5F&>Xt%3Js_zE;b73A-BSip^hi*V=Wjx{+YMl9xeW5bR?u z#&uG%qv_Bu3SYrA1D@Y_=eG&sbq{88@cqha<)$;h&!MJ zix(9~!Wq`0&_1K0x}88fmKvY*Bffmd(`*f@aiYTY0*){@` zpDb5C1gZ4Guwge(2UY@s|3>ZK(3o>gGNG9%WDKta_Y$ZD?2#&(6e=PU_$ph7+*UTQ zJqdc+w#lj03vkNJcA_QQ6`c(nrtr%9ZyM0k20$aW^q06ZwAv3p`XK88hTXRqBaP2q z$c)tI$tYLe-%o)y#IPa7uWu%Tz=eFli{_~JO0An%?U%E*h_yFod$=Rasy3`aHz7d~ z>EdX_(98NC{IFRu3ooL(i~ezO*pXmhjJaJ+h$draGUwihjx;4?ojKt&9$#H=O&I5# zUPaaR|J7L1OYYQFddY1Y_+s_<@QbW_SG2)$*>7O0S0gjyh|GBe2b4SHk2i#Qs%wp} z;MGs|o#V<7g@dNtnIKsS6mMI;Rw5%O9={p|E_DccbC(CMoJI7Q(Dv|e5)hTb;5IcV z42Ip5+KU?QDMyDb$2-AgzsS;nUgsL_#waNVZ+h!Tzt6AKvLFI0WAz#plQpEhG!>RR zK*mI~P2NPtJ59^>?762T{o$(1Aj-qDR@dG>PH-d86JHGBk+9>UnY43yYe_{MpeaH_ zdT)NPa0o!?zVI%B4?btY(99StG*+r!0zA*M`>57Qd1?%Y=04m`3cltwPEX}p#HuO( z4vZB+OsyA}76XqQ;VB!Rp*!-N9hSd~G(x^o1tTOqNU|Nk;2&A3l}MM@^5_h>+uY%m45S2D4K>tb!uGVDdgO+&FUdtP>bXPMHi|ABv~hmDv!R)2fV zv9ZP2`FW@PVR~jEYF^*Y5WG_T<)#8 z;H|-+6#gyn4my|-p|rqpJ$Ot!euFofS%}f=#LBG7sDL$un)MHR1wx^W5h<}HFKO8& zY!%$=XWCFU9`s3*s`|Ry!mq<6cn;cv%sh9}!nDd_DjQ?UP9-s;uM6psOs7)p!82$+ zW|J|ooTz5NbfN@tMn>LlqEeCXh^?)etn>JCFmBdh==J(T!+`O%QHNa%ROMH#tYq43y)Clv zC|U;8w@c6BPNdP_cv@6oI>Buf`Fgu_q&z3qQl*GH4+LT9h~Ww@8IvB3v?XP9CxzW7m(476dW8QECh-(L{bknrsR9xeh8(yAXs z^bPzYe@iely>bYB$p`A3kKI1#t#)Y}aUsq|WfJ8;)r1D%;6@t5sKYg`wTr6kPeVB){UWWQO4+XS=%3!CLO+f_O^;-HXx}9~(~|=5V+@+{UyY)=rS z8ge)sB8e0*D4&4j&jjjPZWWhB?Ko&xMg}ZD6mmMOMCzxEXm1jYlfK;Cn*l2wm2^)l zmRh*e=ISYX%8PGXvX4gFuIOyC4=#LL-T9jc4*7P5ev7#U`c@48#$HP;hDL-v!gl|uXXS}|X zB@O|1+1ii>&=r9V9S5qaNIsw@=+aP8di-{RLoc>&WZXcdt0sogfdV)b4DpRi0QiHN zI4&VlEA?)w`eVWXShn6Ip!J_zc~jLZu}+YkD7_!fnjIn6#N0pky{gI-_Lxo7QeXqIt;>G`F6udmyHAi=>r!<|X$2#c#- zd7EfN`QuE&mN)d#bka)Xl_4B}AJE7qIb1~*EYGF3D3wtHEeXl-IA(@wqDPir_hla; zQI}M(d!u8XJ(nfO`p_V~GPJjON^Qn@t`c>5C%KJz8hd4QErs&NEh(AVW<$igxqt^GAmxZ+wBID=Y%Se5U!i*w^*V2;z8TSpv`*y>Y%M6CM z+GHLPpKF@BEv}AQ_Wzf6GW^3krA_}d{riru9qVJDyAhL_9jAi#mpX~R*64tmh4SiR zR+32Xi`$}dkcU89z!^|>T6DbU+GX8nvI6WS4dW+ryo=je6W95xg5bd8Mtm_2WJ& zw&Vswc+(yd@Q#31peMgYE^9vip#=XWsv6g0*sa81u%h9Xr>>1cfC1_UC4C>9gg_{ z(o?8Ue=|_AxpW#sJ7s#b=`Tn|FvrlBgy0QZHZ@ulsy8 z?oO+Hns!qeV*HGJku3Q>-Gc&4RFQWI!tr1r#d3XIwF6u^SdG#9kFtfD6<KU>?$D>8%!YiiUQ$AVAF!h~z zPVH%*@8V@XP|hmTgbY$iT-(U~NFHH^QANoDoiO+-9hXt1>yVtXsAzivzd?bY=^QbI@HV_8E$c?=C&mFa@bA7IFm%5w!R3Q7(YF6dyY%7DrFX0q$6|+q2g_ z9N>@N@U|rt>mTwPl(&qA6)A-3pdvNhnxB{Msg2qWB!&Vj12{zNCx)6$ui#W^fzBU* zgZZ2yw*p6hrAxxGWFQe7n)p2TFP;ow%lI&S6QwCmB#!br_#$^_5UYl z(GqTK|9@HldVu(wGXXo}tA?4!2NXT>YVc~9r$g>|gTKFsF^lqyKjok?a$eLu4j^gKKnbch z3S>!Q&kAVATOvwInF!-58FIJm57vw(D-R=|Gpi3;L`;X;F|1UzCinp2m999ZE`H37 zw#rPd&8{o~Fjl+AxMx>W^(&4b7*bk6SLrCBsCC8aN@jIK38@z1x*~B{>XSeD?{>NI%OAAmiz|`(8(_mtFwnz+ zFr^YZYwc8N8JU}LJhBM@5%P;Hap#naInnMFj3}TwN1UDAYVKy`puci>ES4d>PJ~9p zQFRWiX@4@?C!9&`X_>s_+2yk*I^G_B<9&W2>(s}KswwjIetx0qXgO^ zbP_Z7P>M;lu@~w%jr9evkz*{9fT=kZ^75Ua^01_3N;VgZi4?!icHeT7}C3m$!OE+c54W8nkC}1wcP{(K^EhYnGKP z8DG#DYnd9#1j{2P>$QMQL4x>|520=K1v=Z@iN(s?MR}_{SInU_AOcGqfu?giXLkF} zhLtc3&K1_qAVT>r6-mhs=`CsOMo| zXAd9!GdWD2P7!k31dH|(zmy6iLSCue+*8lHqBra{+`!4NTZ_c97#I3v1}0BlHBwfn zVaSso?uWWa1Pzkj$Ugg@hqcl6!)E@?Fz$hF~lHnetGY-MlESo zn7(@aNXl5j>$@^-?R7}u>fg^S9ZDbkIov&5zSO@cN;RgA4@nWLo68~nN0phV|0B0> zH0QHMECD}iUYw9UrOFgKqm}H)D2g$PH_AFADqH(rs&uydtTQ{;i#rKc^1n{yUob!3 zU7x0lWHMn58Wew=R`?3GS@Rt^Y~kYEZR69adZr`k4(;RGo>_i@fl9r`Vr93FiMPG6 zCGS$pnVj62x$KP=oF()P{)L+zQmc54CH(#dNJP&zi|Y$u0LQzb@F* z?uYN<%i^f3)9xfslpob3;${n#SUUf#gy^>X`K%VCL5X+^y4I@REPUFnTA8!#v=yM= zqxNf@tBMh%4obq^k@?CWAz?f%k13+$nRc^~NndZOp+jDS? zI=V?;2vNVUv*fj?onJ4L+&2!gdOkX8le{MBlHXCHXNsmfB@&P zUUP8=i5t!ZZ=#i1z^hU6A;ENCRR$ArmtO}C>UL*J-mjcNR1Dm78W|aRLg^hZcf8Oi zdI+bLRk3vV;5H@W9Npb&=sog3h@G@nzdsAWNRNR<8v?RQ6%xIb#lJh}?Bt28-5{p) z9zCykvZCMJV>xU*xSBCk!iCMaA$b<85-P4~eKLh%fZ5B~NdU%vrJ7k?D82;V18?0) ztDY{;htsz-O$qP>e9W+Bm{`+p5fZ)J=EQ!X?vQ`01UqYPJhp5f5kU?uags54L9Q5V z<$C~|eJl%Z%@}knn{FQ7Aogfh9PVmqo6_Q(Z8Ax~{Q6Lu7$Urf=L{bgP#Mfo-=6ZO zMvHpYZEg4b8hyjl^Frtd=du{lk<1!zvDkv)JY3_gF3QWm4bm|L<# z6^q>xP_;+)>#7yPrL9Gy36xmEP1^>J(m>x5(_<~C$tz~Pu#eI-c5T~MQdw9klD@mo zA9q%xM9(M0!r_h&J?*ZY)fgd_ic9q&Zrpjbmsi3*WalRG->q_m*>rB&43Rea9xE zdrKDUlk(*<=yt1^VU^Fbk-q~P_-QziH&I!+IluACwPi*W;&tLE*Lw7J1EYr!oP{`U z05l;4UwJ0wQ-kfPQmgL)0i}&6S-(ttYgY3zS`(0czY!V9bCXZ~(<?=R6$^&%=20Xxs$8MQRb&j$CT4RsWr{|$1{UD9Z|GO(B+Y`5)p1Lu zH7)zEX|H&N-S*+E-^@vuLWCyaHi|`6_=k2G3dV?%VB6wi5uQsU$4mIR#ZaqF%UEEE zeF`p+-6{A^*CIW61;6T=h|B5iVhfFJz1W^b9e1pCgdX=0W_EvPc``b?y8`vw9mP<6wwUYRVhb~~KjO9(V)e}bT4Q=}3%OWW z>^nt!CwZRkMjs~rl!dtN{o_TSGyo?VqkuMmkJu`J4A!_;TdWXl{Mqx5HdACqW1 zL}S8Rj^G_htjs%0dm|=rRry{`M&K-Y4XvYsd8A-078ly^eY{gum))3o>mQ4Sz>TeS zfGawd@7+d~QQwdifZtMePCsr4hIAOXSoZ~>;e0ysO}e`i8At3>#)O6A0)>}3vtG$d z&OvvY#n zbHT#6Lo6hWTGDUa*Ez|L@MLy?BIGmIVGMOI+J;9F z()b|hX)$s8!zX_vI3zldDT>L!-%ZJyXCm7 zh3UYX4Q_64DC@#;((T_Up0(E2EanIst7gEjFVrlgMGj?E+Dn}@hArQgl$8pDnk!K1 zRXi00Ma{N9Ywv%kAK3YO;y|~*hW=@O4-kXA|1n0Mn6t6N_esK+mzJLFQ)}tdh=Xa7 zOl4BY{ZQsxj3E^GZ*X>oX5g1esvMp&R>8t497QjiEIzXqSyrKF$Gtno30aCTB&_7( z^wm-nGjHT+tO0prVIzq1)s@tm^!N88;ux>$t@+Vo&mLi9E44;k*JVXhnm>Ag_RI*0 zx+iPj5R~Q?qd2kLI>Y=gN}T(c^1mlhYOjO2(t!6eUgo-&LIgVG1yJ0^l`*7?q8_YH zFQ(DQ{D6O2SZ^w{m%PpjaPK;%2kPlmEX-+$_E`i(0)`7>itRa$5FLqrm#MWmNIkxG$@uMB;Tmw*FejXflymQ zb*uJ*x=m)w8M0cdWrD99l?|dpiFsHHN1~dHL?|uA#Q2u)m8Cr+ zK5jmTNi8PG|JLZPKl8)H;E>TTf7fVJ9->F(_=5`IEGhHg_vJk3ehxH6nBMRpjW(tB zAfgvVZ$&;3y+`hu#u;(ch&P5E9|2siig>+Us$$~=&)yT!F$&*dR$)GkcXlxl)9vy7 z*xeMo!%=hoLfm}i7%Q0N#YKHlDD!3ay}E{s9qfe{>FR=W>~Rf^jYJkLp(iZ7e6X@; zF$<5+gcHVJt3eaxl$|yzdAA;eMEps zYuk&udI1OJj9;S$^-+vfpK-?3%p=REmH6eF%vdLRSfytG@=ToIH(-JQ9p1bC4q zJF4Eb#AobNCft+WG%I;2q$5b9%&6fAY5eUWd@aF^YSu#4+6gRcF~L8LFDw(^ylxs+M5M#mN`y%~5x%C%5yuedW=K zGLLs(bHq=dWJ+_2tm%KXq*-dRx$mEi>#GGE1b>)o>v&b)EC^%gnuRN`^|ay->s{!P3n>5OK#i_F z>nlrR20k^m3ynjw$B5NC!IE7i3QeaUi^;nQU%z*q=O2^zqZiI4FCU$+#F!RBlWvlZ zE`62!=ll7t^WQI#na8d%oYKL@O;KguU%$uDkel{AX>3((Z!F;9jJC?V3*yfUc%FT2 z+DX$YI$WvVxl=?bLFLY0xazti&wyZnu@`Sd(c3NlD*W$Ln#xI!%Tj9+;OiTWiY)sW zNVgr56UhpDcjrOGuSl(`M@coq&^~}DSyGYV_Gr~GptWkbc|$nqpTL$}%|p{Uxlu#$ zGuH>yod7X9ukD{vShJk?FgCU-k*paSv8|guv^UVYLpJBen*|vrZEQfToBL~Z1)=fw zF?@;k?{;`%OR3MKm|dydXvrhX?2m-OQPtsD*34>l;gjm7nZ@W}WX$?qe2>e-+D-wJ z8;1rlwXwZ1W-(~nI%fFB_WdUxBp09h{s=Jd5(_I`bX2q*g=(pdgsP;AYzK#4pXObg z3}(K#32$1N2Xf8fsLM=$5F?$PtX6AlsHgC|BLbhsiV~Y z{YAS5;sAqbrSl=jwAEfc7474%J__#V^C3w-l-^}zjcG=Dg7bIAluz9!Wg2BK>PqRX zkZL{g5Rbj-5sMRy>NyVdNMEP>+*udRI}|!pzeZyffIVaQW0jK0G}`&o=Vl%PFDD4l+X@lb0G+ zzr|%rR15Y)XR&_#u;+}dDaO+MR;1+*hvtpMqkx1l!L26$3)5H1v{`ai9gBxxs>%vG zl-3D4paarV9UF6dhzNMqv)~`zAESw`bzg%)vu%8jnGLaHIhI|#j z!XDwYP3*a+6|Fxn-(#L!H)ri&c>IVZ%xHwIdv@<0d{TgS)2#KS&g(@)Dyj0YCOuSq zOHNa{<7=!%<(3Xj>)Bso#GlBEdRq)%rSTY#!Fphw2qTdt0k`JGYR@pLHa26q zUS6YSVmGh}{CINbGL9Aybi(h!7+kCm_xxR@W@4bZOc# zdgo}x1Wxn^O#a1#(hodC6nuE#0j4aM?PU=E^Octibqta5lVNwP2)cQS)zWhZw4!n*8P*&V>akEZ}#KOS3m zxqEalh4cbw-` zMBdj6rY7yfWSs4}^ZmI})W{azF7NSsh4|19?4wL)zB7l9eRkH^fW%cXC-B{8Uvds1 zK8X0r4C?+Au@HGNQamS185mrZ=P~pHjbIFwH*I^$2JZX5tWM-)&Cj~Ly#L}}?CB=G zxYusNP-XeE#3$#lVKRua;Y!r5n%6~Tq=NLxr4TNcHt3q3dqFUxk8|H$T(nk{PZfSJ zQ1MFXQLF9rA`cj{`$dZOV!OE6T~wamssv&>RVo}@eWC^46GP5E_tID4mhwl3H0nBA zP66Je?|X>3fc(K2uR1?^czf#bC;IJ|IS1I1$Q^TqrH4^-k?GjxH#S=~$hD&xUrPO! zuufno7v_!wBzCx|#eZp0zk!06E<$Ln`ggLn`2Q-&2uxai`x*}~40W?x4(tEhIMm0c z+4P5738MUqIK$V0oj&;V38dw42O@^wDx;j)a z#;vQe-O$sGSY3#{cZ-X5m)=ybz3URl+WRVmZVD~{!+2X|AH`wr06;BTZ;h(G9 ziv-HiRiiipOv;h<9s}vEeY-+6Riz7RFYz(Em>;~YkTPo!{;sk(U7y)5rq%k%!=kNK zxMu4HRt-d`=Ox{bQSM8{wkVA8MMNA08s##Ha>-5=X*p*Yw}i8_8%NahyxLVjLd2sI z5-{JctgXVefsYd#=JdMWq#vwC@kC^eIx(GMB%!o?!3ONt%G?OUcdK>Jl7YT%4Prv< zg88_lkge=<5hMsEo`s%P?^NqJ$rt_jV>D%K^BzGM_Gv-A0MR!+?J(a3$#LPWRhrYv%)fUfIFT@*}C*kD$p(NZ6Ud8*Bd15U(U?^7Y4G*5&Fl9M7f2qiY8 zYZ~%jHd2nf4;*Y6rqBlSVygqv$sT#mC%#CJFmm)#6hztdWX&yLZ4*zP_|MDu`b6i5 z1GxoT=b{uqEm*bvUvvdf8y=#1l_jmPW=7Z#FfA{_@g!DWv%{kh=-Bp|O;eMF*z3lm zs+4u7o(|=8To|}@IZ5|0PmxZ&tWL2okfXTf2-6^V@g~v~_G@D|>98AeFNdtD?M!6R z?9w`5hsv$VxwranEJTSM3 zR)D}}RBN>&O~M?aBJbIX5e+hVPW`Mscgl}wS0C%-8?u5!2=(aLyc^!NN2d^)kq$>| zgay5v>Z!mYpJm?&k6kEq2_`{Rs0F$Rj95|9w%_`>*2rxy+QN@ZeSGgG&YVtuG}Q90 zy5=B^!+LQ7yIUA3Cb0h>JKwuM86}tfJw_}3_o&j{?mV}!3bKn`cA=>Km4;OVvr^l; z^r?PG*@2PYp!XBP#!?BRz=^2SWl!SN)_wqOVh$}qd8zYopE|9t-1!On^_fdj01It~ zWN)bG6*N1{IV*vV%ITrP%Y#Pa#CYng=+a21AkhJwBi5%{6D7L1C-=;GV7`sKu+Wy-REfAMN6WB3oh5XPu*;vZkmz<~x=`O+ z%@)(gT{c}~gPSgOOqQUvxfl$2y3uyom-}LIZAZT<#6*!&3#0kVLt@}$fhAdEkz##X z1B#oyFQCfSJC>s6ow;qcbBfBg+G5={`$exZv0d+A+}^6_(@s)>JySBX`|hmE@+!#E zS1P?Un`X}++8Ct-sXg0LvdCX4Qe50}blK>CmyBLXvF}R%oM2eY=-0nbaOFN)vbuI6 z2(fQ>Tzl;J#fL)O+FvX+Qt=o|q6gPjvKL$q2nZ2O@;mM~XFMr%t5+#QWfmZb`56(> z_DJ0-%Nlzcr=4pHD(oyfFKVF70kKoFeXIW321gRRa{qXbk~!(*{;5UNO=<=q0+T`t zWeWDddg9u2mIm+8DcF0GUW@MPYT8X+A1~-k65}e$Ct=Z|l??qZH)YlQ)*IC?y@o3z z?}@A>c?%}~BdX$fN>=4Umdq$aE`I_)#~{3z@t~K_0}Zl}o`o5W;MISM`7xnNP3q*H179N`+ z*UmCrXoHMa#Qtiq&GW!5CNK7)3q`wOoz$VnM2g7Pgs(&yf6qyE{)JJ$rC$w~52w#s zE6jB(Rb*j0%f)Eww2PBKs#P>u zb(C(sOHRN(1ifJtq%(C`aa5WSL_Ib8f5F8Mf_FhF%>rQl?pgTfHm%e{xsJH19tUVgn-qjuFp zN0=N%E{*lNKy(wmDVz9m{Y|vsCkq7wK`z6l!I!8#hOeI{EjhRzD8TMziuIsfwY7`G zTNbWI-pheC>#$&s*_2&QL%*;}oyD4F>nwa+Cf)|1&S3qpn!ez{w8N*K8?GWLi zH?LrArWCZ9uYXRFlP=NF1xrB~v`^gH=4%}8^FQ-MPb9W@l)Rt8vUp8szj!UW8Q2?| z`$6X|MShhXyr^leOG`!#!iEVF@b%sD^u3Rh>b4A=Zi{Nw&09tdTL^RQaD;ShZ=_dE zZHW;Tg#QeDvvXGW(GSAo=mTHIK_Z3Nw#+#!w*z!uO073S$!B36g~*VhU9s9Ly^|+w z@w<21?cv?T`dDqAxt}dc5XXXkstYojn!|!Ay^$(soKteRuG5Fy)^G9r58~negLuy8 zW=H?aL}X?L4+~2P-5I&xw&U zusT6fUBV;aAb`=yT|X-%B{Tabc`(^U3@-b_%L|t3=iKKXqDeY2R*Uu;GLPrcSU;E>~`$VwT_m+$z><+0mWSM zdaEg|aow9pmtTP@UJ69N*$c~v)zP4BRSP>F2coI-H90($1>e;nW8<87$>f;ZxNva{ zQN`IH62YtJ*d#!%m~HAUXbJXU|5T(W^qg`Mj@SOxl<#VV@~h$Q$Cqq>ZLDmLjE2n`MQ@+q$x{hmBxgVoGL8Y+kv76i`ME~Xb724mNMSFz!h>Q zlQB)G@zU-IRs%@*x4AdX3bwE`lAc?Z<7nYpyJ#F)cJu9#H#_SsQGT>eAe5mK7`Rjl zbPxZ^u>xX3OERm@EeA)kHRE^LbHF4`Jw|f>S@zDj^JF6{9^<|Q9AXa9aMP=MdZ$r9 zd+>%;>m8{-3#z_Xe{q_3n00sCs{3)>|4S<&5+O5r}i z7p_Fbg-OCqH<=wwN#x}%glM?P;A7IU9wI2tv&=3KY41Po10HPTEgSdh2moyz3;X(#d?#r&ngV;4~f6L___$b3LK)2h6>dl0--ELpClo@Xz7UGf`^L~a0Om= z$G7+9V!C=G|3(FFv_(@J-oC7>l7qaKI zKMg&ap6^kaO#9O-%!9m70YavpQRqT8oQPer!dH-k>LuB2jQokwS(zR0<$6j+YQ&I3 z`o%T#uuqxb(xyjYCl@<@+&)aS4SG~!MD|w;^`;*=0o0{>)NkR*n14SLTuo$G1*s!- zhA%-Z>9Li^QNXzCWl8%{K7kXYi6>=hjceU9?T_-O&~iY(@WRj)PK+muSEp&0Qut4f zUla>(k4%^xA>dB>Aj^YU^<+%%TLxP`FW@R#U<;^NWN~Ge2bpF6%#No$aLhKHXa9i~ zdtiv*`M8IJCH4>6jkLnoc_bmO!$k>fyASP{o>&V2tGQLPHFuICxB)Ob(h@?mFf>Qm zJ%Uy+4eu4t;>V~{S$=?Y!RNqc65rZ5W*Ng2VEnBnZq5P=qwsE939*(!u4wI%O!26V zSXOXWQ6b@Gb^r26;_%YPDBu@Thi`@5NGZFT)~veeFcUeNVjbkk+&uNX<{iQX68!9d zM}8d=JyHw!%_Ba2dT0`I+Ak=!jd!?w=hjYa3&87stk&t4VxQIht!1Tn5&Q1R;9yKW z1^>@=_|y5+r8n^`lH6JB#Md@x>5S?&ZhN(jH)3K6yy5R0I^OgrP`+Q3SY6s$0$nFv zONi(x8t)&^sb@z|$tN7{9ot|azyD4?`FYUm$A@rA!bu%BW8PS?AEhPGZ!_Gu}5jlr?2-EHw#q~ z7lP+HN854h5h+L~T3?i0+Nw&I0%zf+xfNw=+>VwA@!laGTkMh5Tj$-t(`b1)LUk2l za-Y7tr7B%mV`d3Te7#~DQS?%sFu3j;@&kGSU|662Wu@rT_PVY8Bww-PaHNi;ELduU zM09SNDAuu|E!7T(R+);cK8egcXS01yx60KGJt{vT_`RXgl4i%0pM6)zZkup4_HQ$T z!=G%n&a}jug1_!8CY`NudsyKA5>i?6jSPJ*Opikfm|o4yedE;Lg)_UJP`y-^f}Wi3 zY|7!MOrJ|6`vLC2@4%B{pZ*SX+um)f@(Fno8jlFCI00sU`erIY+ec{EhvTa#5C&vM&JuOFk|kffxFvG3j%0wl9LP*MMZSEi zYjfbk3F9}Ex7=J#*8mS95sWV-%Dl^nK&yx|qe@TZjk}UQc$Vz#`9!sjC_O6t3Yy%h zyFaXcmw?47->+f*twI!gO*UIn z&XQ~{5jId$zR>-*-=8nm0UwEFC9J-;7AdYA#YOC|hVB0cD~0y+}f|c?+6kpp-@00#Xc$ zHx04}|M4>iC3K34(VoNe6dIjGeXAV2n1UY1JHTv5r}i8lNdOIEP#10q$TE}9)1r&= z262%y7G5ly$C^e`GYkn|2ULSzPhY@Xs9#-@l84pt(pH6~a5paPcJ{k!`^ko1X6@M| z2?q3PIX~@}A+Q&*@|j_;wZLHRa$M)Qz*Pv2Ig)V~W|b}SCS0yYU7_8=8SsoP+7%)FL*nPKHq!Ej9Xdo2h6gT8*pBY)v`Y+iM3UD}LW8}}9HX04XLd$Qs-7{N72=3oF zZw4n;^N-;63uw8No^4H>oA%V6O56@7ulQK8PeR3BGu*~>a#I+NYOG27JX^iD2vAyu z9OBddhDnx~yg%tdMtJM$Pk$3g-E54JbS3htq22L5AvdBeV!l0EU?A+Uv?a|paAszn zP93EK2W3LnU(ZvQH57i|_FDV>`w9IDUlFGFoeL_lv^nV2=SA>2*!>cz5!clD zIS=&Mgtf9xw>8V}HzPOuMzOD#3dW`nACf?GptcP)S*c?gJrj@F(4U4sy8Dn}o zp)j4qt!Xh;pK%C``E;bESU^N{q^z%W!gj4gVfJT*mwnEI+B54~iXWOOW&1atDTdS- z1s2U2PsN@yOozr!ioWeuKPc$^wCx3XvK3^1hu@EH)ZDB+(oXgg{v{64A~G_y7ep*Q zMS6LOS;fVc07gX*zdgshogBP+k<;=W^+qC-JR*+}^32tQWydq$YU)9{!f_lHI~uB< zA^|sH>M%JwtFX*;jihqGz*35$X-_hQi0tWseM`Wrd^>7&R%Z(Jw2#DL%l5O|_J@^S z|5nRs2K~XvK|Kw)zYm{|k(;+Z5%NS1$oM=nTU4OBnp#GzzjchZW~%n_9v+Wgrf=fN zjERZKbI!1UjjZ>tKM83>f1+b&#?wi3q;=NGizn%ZscCq$;6TUS7bkv5>wK@AUrEnF zI$4eyjtqv)e@dKP+%td=;4N}`7_X{L#Oypuo#tm4xEI@eU&dI*B;yTXN0q?+=vAjw)2rp6Eq}#OP0#0TU3Mf)D|CZ93?6hqCV$Wi5zTjGJEdMtahv6H)0BRWD1Kji{TXr&o zVgKX|SR4GJsFOA3BRh@NXIibq@~1YLr?{iz+hy?ED+=LeL(i?-Q%sUfG5mfp@CZ_? zM{L*5XFE&^@Iz%3fRFjkP*~cVd2ip6&E(Jl4<@Ce?+aEnI3E^cx!uR6;)fPpYz`Qs z4BcA&u%b>jdK}SikPUPQ?;6~liXpfd6(GJgFF<{J`+3dnP{V8GE9Ztd+VodV%AYl5 zR7cuUA;T9(D^+HLFHEx3e4mDkASB0fVndFlg3=0`;!(R|B898P%M#VrVSi_j)8{er ze@I`4Ze6Rtt%X=!iM98oA%Xj`$Lq&w(l**@hDJuYEyuK$Or84^EgL^12A+$AD%!M! zqB!`41qCO9{YKw1DKoqun4TxY6&Q*Hx0BHD3A*>0?`@V?@>NE!M1-*CoxIEXegZQ; zjTR^)NQX@B7hpj#`iw6TEMGAIa1SxeIs;3@=3)5pbQ{Tn^hFq@5=NNloRjf0(hMS3eUK|P>K_7b~@wj6X*sZ{IyMfDzEk(akfJh#8K&y1i?rj0Y* ztxHs2f611-AgDQa>lSGNtz`+(R+q)^ia+?4vGp1sv$f4^-%)llzuu7Pe6tw^`z5wY zMCV1p>ujb?YlZTn6QR#ne?A9_H0#?n*h&x!(a+_))A!nj*`mOK;%mAj$5;z`0Nuu6 z|7b-sHM{Em_C`RH-+^$$Iz7ut4msNpzOi(U2%p?aD&UP`m+feTuimm+oKh277O|~l z#(NNg-=UaOHA|yjizjd;@M+2q)9hPBmA!Vphg7|S$_VHhx^ z!0qHmdvh!6-9d$c6P9!xa6mhlaBAx$Yu6#86Lgo{HV=OXE@yI)!oj4o&g1T!3i;-O zw$#Su3Q8rb1LV=SMwu^pT}SL2kQ^$dYSQmK->e)`CQXZCc%zbGm+(S#XJ9pxYWf}A zCigr2J^>dNNqvZ@&9ie+m0!UT#l!^zE;2t}jvvU&;@?01ZiVVIu9x;0KXN4pEl=p{ zFph<*Vc%z|!cQCu?e0{*E;!`rjRI{FksamCgVs=#T%sViD?mLQ!jmrtH6b`QT_8EE zFDrF8G=a6&P*uIoqEbNA4~8>i_zsm}Q9hsFa>m2Bz~P>pYtrr3hdqc=(N4&%!9w&m z*;dhKO231K$NiQza^6ViXd@F*Jw8uYx`&5zG({^+-xr@uOO5G3C>eb<-=0_yGb?M1R z6un*f#A;;e$i>v)y-LrYoG_?`Gj)Kwu6gbxC(EEU?vPMDn)yFR!k>W641+&KJ9+bO zhY{A<9K%Re{o-}vfpoG-YR`sI?P|-;;k>})Zu@~|IiOl_H3`ux4NWAuKEj5kBaz)j2zYdUSawN5b-ZGe4Ro>bKJ7FMuLutiRuhgNWe7 zO%GvPXfIH64zx|}9r>2twXP6Z?Y47OH@X`4Ep6JPx{Oa9U&uF1W>a4XG0_m*GO|#t zxp{RuN3I-?;=jko|A36n5DqS}KRcu5dMfUDrh*Yq%v3FvdqG~Bfg67k6?{-rIvkcn zZa%!Utw(2)3=$AFVNs`B3Y3G=1D8xV4;+8HF`pqW`@S@Sz)V^Sy!u2>(jBRzvXeZD z^(bmYe_8+(f)QSvuE2_I^^7{k5Kk{t93E9nxMvdbP@j%oWP$8;ORKkEmySTijlW&W zg5WfMh8`Lg?30e0L;|2pScOX@FAo}MX!C|W)HdW%ATQ+ueq+Lor2Wg+9$FCGZkhfi zj7s_YQMSb3{)`WBP!^=l-(v+`CXi;w6?M%qgFI*8wSg_VHg;%hHr2Ct=V&kUIFKF# z2t6(MMEQ)~<=N0IR^SY}fKlSz2=Cnc#cGd*HMc`Xm*e@&qesm5QV%1f6mN;j0>>OO zW_Yr0iYnH;`IO*>xk2xzF^t@Zv#85)x9N#Q;EyMxzBX%~l!my%PJxm+1PNd<&#JZjQoVCnlab z14mxE!kVvfqq7g0*RYk1A&i%Oz6Ds9GDqmaKEw>Q&b;AZ7GHT+(fjmsve?{fW}e=` z=0Z~*DunABuQS?2V>6j{^>sSW3*b(_443!jaE%-)>A)mQ6;Y@ zbZ8x5Al!8eN?%8axb>ay(d+8jz>;Q{7RrPRiVm@(XA|Ux_Pkqic9;#9Y;poO4uTtb z7Rsq=PRdBfCa2Zz!b<&d`eHQE&clyIu{UOHnOuGE5D6oN>k`^lgfE_>xX$<I&E4F~w3qG=u{1R=L46Gg!^r=dyDR?hjqcI2 z8u+VY#tL3HSd%W35Oq4yaZv@C61wA0&(7_S4OK)Mxk$-GpWOn(z+)b(lW2sS>?LCSy%vW)opLB(Y#|G zoWCzX@d(}kfXWX%``^Oii;t3?v2){1=)xGhFQfg8(sxZ$L^r9c4|@PW;bhIcgkomf)gUG$zt3!pI|?o z@dQoSYGiTnKQkx%Ju^XY0nHSmD}e|?;&OiNmeAD?RtVl;1>vqS)9N*i_pxf(nVilO z?ivK^E){W-c_LYI?QhRwr2Kqp)JXT~TRcY7rEy7m`t_p`yp9EFPsnYOjfkEVj38aO zwC#ilk{x3Ia%%W&jY>9V}iphc63A>k0JArL;KWtJSb&)i!y!I zT!}8EV$@t!_u%|lG&)$SKoo<-I5%9mt1GJA^(GMf^`0U(K@ju-9R6{0hB7tN3#Sf7 z1+`-meOy$=^|z3NL}H!(Mu-)b1h#VX4Bbo0qORN$v79 zsW|uG7mdyCAl@yPtH3jZaUi<5%W%;>DT*vzj&OV+hQioAL!;!B1?=jh5Zo~#k5T<4(M!%NaT}hC+^h}7QTk1 zXE_O5Jgi=sJMZUstsEvf`5RGZW#O`C9Kl7IwO>N*E!FYFGK;Y|o%#PXlej3x6U?>D z$r&nltqC=hFMAPfL|!0JY8r*?$hfMB+A6P|p`J=8F+TLGToJnBlX_Xisvh~l z#9ZK>s+~Z9!Caefrg87aGEO;EA3?#iaAGqf%AIV5D1jGyRoAF8S)?4X@Z7j<=C^#i zwY1(2%>I{uml| zssmt({~aySFHV5zHA%M~eLuU$p1`b3?W_{5uh1vsJWd#|o#4aH@UF4OSsT6hdl2GB z&se8xQSPI^@ll(!Cw*s=wY}5K#6jfvbtpACVqQ#!|HYuKhvq21K3-RsD>naH$~}ly zFVLso8{!0X8-1raWV?C#wWs=>`@r=wh+7}f?#htqDu|ZhJ2V^I$70J&L(hFVo^DbZ zV1P@d669jAK`(AbUK(9S%d_|4+NtcR3{8QQ()O^ELMLW%ZZ)m_x7WqLkf@a=5A26Cb8^-W2NA@rAvxg1K z(fVD3$lmF87z%uA{?7b(av8KVVW$7^#$`fiQxU)4eA}>Xi{eeo!zhcoQl961zH;&# zr^SYZG7^wX^4n_=#58m#Cu_J=QDo6^m>TKW5qY1^kf3aADXRR$=-~32>Q>R|Dc4!y zN%^5nS#M)$KgpqdgQx9~i3~bxyj`Yxv92V@MxLeHW78!oakXY_v{6$S0~Y*!r(|OX z+Je=$C|m#ece(%Xr`i;US?P6ts+!)HOQk}W<&tc}P^|e&%3q31%la@r!tA;VOYe&F z0hNFn$2Tq1S!+V%I;iJT2D5}5|Gg#ib8o8EA`B-*aPNi^-@Jc^cCK6)be?^%nb^Cy ze6$dBzRdjvP~*Dg(fDlsgf>No`YLx_s4K+)t`USL(#g(P=c7fmsDs}KCuT?zNAFSZ zzu=%TE$gImn?u=7^0K4GXa+1VN?5j(amA~X4`Z?}Nhz zsgxb_ItJ|~ByboEk~S>s@|yfNJ+j+$wr9{K;oNbatfQj6Po6SZsSRP6`C-X_1GWN9 zMyJo1Rgi|tD+Udt7R!W1v{|GCxHG4PCMu#Gm&zEgBU}opV}K-XB%go1WtZWyjFms2 z{z&SzoaM3>MWc7wCs9i+bFZK$I$HkK-Wt!lsA8;XlE`+UWTX$V42?%1Sw7Pg6>IqD zkeN0>$8Ix%x-T9^*WG@r>K9fzZl7ZpzWjO5ZNfwE#g$URWSoa#%Y#T$&xvz~DHbN( zZN?aJ;evAD(QR0cN`B*mqPQ6IMp2Lz;woMCi>`gF=Ug6w^#VPL_;W&OYY^vBxJV=A~tCmKwVJ{ z@)&||r-Ei}J6An~MAJN)MxC%pr>+s_EWK{C8Su)D9OiQDZGrHyNLdI|q<)RHhhboB z2K4bxF!J4KA0y=<9hRX7T>Kat+3WH+;wVzvchWT&Ox#AzrsJQ|>&=J=yIA)}H}>6@ z|KJoYf~a$c=I?2T9UarZs#v;JE*F*WRLH`~zuf?gWK_E4@}-ZF=mA4HBvKtFN-4n} z0FH63Lyq5ar|D~-m3%s??q&m*$7nF8?_8)twB<%JJ?k_g%Y8My2^Ljb4HxV0#*)Vp zz2h9DT$^GiPQ1(952`W|2`jEv5Ug6_IU{id~xS<1zqgh zTt3}RMdnw`1i(J`LEM`Bidsp(zPWin8?Nl>hK+=OKu_GGLO@%&A!7S1d4Fhs^Kd%# ze6j7UlR3$oC{q3k@U)Z$2Xy)>N?(7^OMx0otN(^a#|ujNs6J*Fsro~_ToQFnM9OPR zS9-JTf4KnLvx8?UXjb~<)`zUz`^SW^(AvG9ImLqFJZ98v?fj`mU!T6T`6wMa1*j+Z zkD(`(Ex;A;jfg{7N?gdboD#?%4E!J=`Y68p0s=w=9=9J=&iM~m5hm|VVw=@9RKm`a zA_~E7D!XrHeLClHWf9fjw*u@siPfIm^e$jW?$xYL|*GAA4KD`I@Jyp5Im)BxKF~QW$Plnbtii{1&U^7rZ zi!@$$l{tt{I8ZOA^psX2wpO!)Z$?R74qTNz$W=SBIbLcPMWQ>OTNkcddnVHs`B#n5 zmhGrU_#d3#>xBqYQl8>Rvcex@Myc^pFTLYXxj>1sI8{aRCGrbZ{87Lra>l8*!WJyd zCoy)BIc$Xy3{INMSZ-W3KGa=`-sh|hs9-^*#&WS-+gQO; z&De7Y_NdYIwT$6{|-QyH>Nr|&kwf+|0*9w zVAoHmle1eWf+hv!zDGAlD7Z7H~5(?;()rY~~;09~x!~4bKXylCr-H|+~jO-T}{!SSAOZc z@ACMQ@4afQgv`YV{@&Vy5@twR5*>+d=qV99Q zmL$JsB(6VVjRak0wkv-5{w;o0b~6p6o$KabVv3SDB(2w8d0U|P2NEe5*lR96KK`+W z((WfGs-3FJ3SvL}a;`YoUi+A(uq<$cS5?-A%#iHR0vzf8#^WfM?#UlhHqsHhT6Jy* zU$@^Xg!cvoXXC`ogr=!myzLi-p4Lx&C2G|+0tq$Q?>$Qlmt;=eHka|&j?e9$MH}R_UCnZLmbfkrk14th0_tBe@+Py1KdUWP^tA3@ zjd$5cK-*u-2Q{QtWlCP#Sz9iJLi=XX<&O?|#1$`O#P@|s=9iDyg;74oiW_XL09@zqj#dx8yfSR)@jYcS_X8#Z8KTg1A zpRXXm{b0){)AcHuSs5Ol;7#^xi+eX*^w8&hQ%ys2A3GY@wBM|tH8BA{_Cl4blrl4= z;-QBrAmo%XUyk!Q`&-3pdTKw!J;8Fk^27RE$YN!LkTpwV;gHI#emRdCjhl7$YD z@J0abNr_DKDMShl5WYmANlEe1&Q)dYxOJkB>Uf#<0y3MgSe|=| zZ}_k@eFJy9m7^d_%IR5s(%PjWj=McTrTy6YMqt?&pVR!$- z(c#5;Sk^iI>3RG9pq_M}utZzGp^?niW#wxVuK^w!Kne7X_Rrw|T#lFbVg!iPCoflW ze7Gi)s(Mq%EJ?osnH~7#G^7Tu0POjphQBX*SqiVWB%S)aLctS~|0UA0&S!EyrlgnE zF^^^a&uj%@KCgfz2QEXy54|x z_yTx6dHC9&5OVBj_rQRvDSi%%stsmVhEcvwA~j|K@PkV-^BexG)0u8v;JK1ITsO|) z?eM&3;cZAnvOG8;*3zBC(Ga1I$mZHw_wrS=Ow+hjHfH8Pd8HOLm#gb_7+01)PmYZLz!@1vLvL zVq9-nqi}11S+nkk&zMx)F>QG%hYHEgK;h`j9Pq@lXy+5_zcRpk^%yRAZ}KQ~ECmY~J+eC7vBo z`xE;9KP;eAs*Y8LVMRbtP=Dr}EM#~=Q3?$k_eh#&X1K9;R_z#koJ?j=6g^7zC`)sF zM<_5vK#iEoe*-`!@2UWY8IDB7g?Zd)+|bqNtJE?v8g)O2ry}H`gU($Gqn%)%GV3P_zvab524 zYpz!+*qlwV`vIb&-P{ChIS>bs)e03&#j1{70(%I2t=#~BaHX>xm@;}b+X^MqW1D&z z>23k$>$_`aeOMmyCH1q-UuS=UN`d0a;_`}UHW>p`kW2XO7~vYc?fV7#{Er3^TFB;M zoPVYvND8f0u1sM(78{6hm zD~UjfZKys{@JvuxS7>A^m*sM#F7)tMwrFeddwr8bCcX9AVx1-=VC$!>A1$wH$8?XZ z+SEd30Nzw$uKSdbX6suRom+$8sa);=8+(7d`?1~mpN~k7t>f5+bdp{FDJgZX4%q)m zA=yv!kNfp>uRq4M6%(MuUG-$4^KC+&(oB%ZvF?P(Z=ia#MqoBv*z01jb* zDmiyC|8Dr~CVu-X%^N}Y~9go=D#X^ar& z57a+;l*CE%?elpdL>i0R@4=%{qwd4*rKOhIDg@YkzPbLWqna*{o6TP2vq+tF9*El! zgq)|&(|QwGZgo%s7o)rppwfbcd&l?B0yfR7IPC|N4%fIF2q%b1Df~FHxQEuMByM8Q z0#qxfxwL)W;;FJbaB_T_J5sjhM&fEl2?}WBo-aT6bx%Q+Km1gUiv@@Nsv19HzBNld zLCUb>Z?*<6lUZ}Slcjr8?HK?|DfqXG`DNhauP66f9P?;X7F)7ebcE$L7Hn)7-sVmg zm9;jubV7&w;^HSgvfp<;K)_RR)o+>NMe_OhG>>K@c-Gmgo4pU_d6+NVd7jJVH0b9s zmtW`E|9m|Cer%j{bfU1wI4EBQYuVmm1H{v%H+Zb7DzCyN(&FEjgOd*Pa+>fH>+<0> zqsgj}8_@$#tf2mr$Z1fT+pN%yZ+oOcrCGXBxHa|#-i+p*T{_Lf@om|s(XR3)5ptat z_<39%jaG>soS%hWk#Cy)@p5VqR~6l19U=hivqJEqH-parUihFx{Al3gwF;x(RSr|Q z>9kHbGM*u(52s>LfA97<*{~3;%5FDuC>Q#y_`Vi0gL)Krny0UBappG|%3*Y7X~S@$ zr&XxWC*v<~9aT`Vu7U&L=f^Aq;BAnR!xo~r4+jnz&tg1ewq}lAJULY^P6usO}sqrxS#u+^Zi|D4n9f}g=hd2Xt~GQWK2`T%FN5u?;9*K#<0 zm`5={x9?6?Z|AEIt

F8iSWNpNCY!MPt30`@1e)zU)qjRxc87A6ZoXx;Unz{#ud* zYy*;7w_ix>qpSHz^!4U)+^o5JF9Xj>(-|sB!8oqiO#N+nBT34V0$ehzV(aM0rSTaQ z|A@Mq0zVR%?5jb;D;Jo-hq*03j#gX*#Zn)`E1El#j#b=|$cg1o9A=_N>PV%j?oO-} z#tS$DP8Arn4R4}JVKNd?W@dj5uM1b9v!b~K9(a@#U1Zgb0!dYtQ#}jxf+t1p8e&rb z@+g)050J1_+vI1?cdNaY?!7Rs#vf&Vj1W=-f%z~TwPJhA4I)uC5sT`V<7>IYPQIN@ zoHOR8SdJ@lBRu%8MiI)()`8-~%lT{Moi7|I1zKSf=9Gd>9}zF-nG&2kn6J#l4$Fh#%*PBNgk2wiZsU0<*HR))AbU%G2kj3TBWn1^5!%tP1L#m&tpQC%uIPr{&6)L}BX`udm!e_PZQ zRzJ{hJ~2I_bk7-LbDuna-RnqMv?<-wZus(C_jfIXHG)rP=+=R=t#e!v`z4LRD^7*k)38XVFl6YF;Or?_*~PZL z9wtikzR1QuI($^8P&~=?Z(4$26P2qic=}s4%|GYApV8_u8VTOmS`IWF+RqCkiw%)l z$-^q_+{#HJY?o86VRa#-VRzCScug-e6Mxr$ah@0wdILC^X`rI%{*8Nn^edRWo2p;X z3_;LVCj1FcvJ8LsP5CaFr)`>mgbhh*bpYy``%<6N(M_E4v!p&4QezNFTx*z`md(4y***F~mCagQ@TbT(wIIG536YMgq+u<9xIB{Z+Y1H7$?%~Er8P3Xpcf6n3!Ac*tn~4<%roCS02hqw2%=4fPZr#*$7lL%u4j2{nEz%d4^!|~l zbfQ#m?-?v@PkF5Daw=}Lm$nyTa>HFfH@?$7O2PJhB1u=^ls?}WtsK7MDt5{=(xf7)+NUq*2Lq6dDfnbKxxOIZ!8gBMT%>YU@1&wCDZDofkr2Wvje zaUxuokGgmMqDx<-?+nR`>zG*YO?5*{cCZ2NBTTx0#6eN5&p56V;fUzk%Lsi9keHm# zoA*iHG*25KcYnX}&ByOjhJNa3MzqTKeMRe1A=+EhYTgNm!ia3v4?z2~;u79`vBaB3 zGV`K)WzNqewbnoXd5FY*O-SZ3J*V3>=5|8EW$JI!(T&l#MgLu)dc#KR0qx~TEzT&S zFse%x%hK$iWtTot5HIG5K=uME!rr%FQfc5Xv=nYU;q#WRO}GilP>_)c;BIFm328Az z(1Ik^x`PiD245b7@5P`qPc16fm(3WhmJx!e)=j%5^M{~^AMzhavVfW8Fco81cNw7CQn=brgtXjRO z#5teC%J+&P%h}1XW&>Tdk5NhmdsJ?Wm9D#O5hjH0jKRw?d9OlZ%+OemE;I8*xD;o- zS#U>3(3DrZ7MbG=@r3!^%8VBn4lkcT=Z32vI>2$wanu;4+2L6y@ESjJo!=9D8fk5M zKu7q?B6V5@-6@JJbq|ADwc}U&x`-C*bPTpnybHW&>jmoRx)_13Xa$=_C> zmG4ku4Q1Lv-9NI5D#0*cUeA2H%uU+=lGUYwRhiKmHJ!k*h5|mB_0y%`TiG7(ncX)` zl-2bcudLHtdAgv@RycI{Ul(xp&kH!4JmvFi->pqcKPoD7NL3UYz)sl0WI^RthLPhX z=}L84+UVQiXr(998LX^qxm-2@cC2nvShuG^n`6sc8nBJ&y<&1-Zca|q9tF(zt(5T& zQ}yrLX^NoHLArABeu=HUWSl*kiy#Ri0#@HxCpCWa)=Mu)mZ(xsj*+M%8eA~k8kE8q zuF^$*3>|OrI~afNmnI^fjJR&@!y1}rkoB(fAc)9KV$t9qea^0c%0&LXL4fyaA!51s zX$`5$tarFl=nc0eS}H*Y*c7NxoIiGj)e5Sq{c*nyH@uUzDe8OO_jIgs9`}?HoxVLRux@zIOauTIJ#ry11h8+N3#?jmeLenWq;1 z9~`Elcx-85WDd~xgtkD|!noNX-(Fzw`eD|iQof~9R7_)Bqv%HRNM&qJcqn;kAgEGc zSgiPut_q>~*V7JXt);YNs@3L26pf{Ou7q&U49^jq@=WUlls^ZmO=t<%NTu>g+E@v3 zA^ar~)GsJ@_ZcVsSEbv2R{Da!n)cVHb}|nR^k*Qq>~xyu3Y~vptED0w_wvH8g3Ceq zPo`THkkPbvXzgj?0)jSa)D+rGnJJJP|DKXiPQdeO4GWGHVDYPGL_@4RYCE|{Np6AO zJ9q0X)2PUhq@U>gdIuXUqtvQFE-pqw8palba6b_#Vx6#Gj#*P$il{En)9e8O#$$F{jPv|WN~6k-DvmA>1t>Jy!AS|;Q!1N>X6`=p?;Lg)C&yb88xmnfPl3ac<+u^HeZ#p$!EaZNb0wAtm?rv5v+S44``n9S@@;~*AL-Oew zN&h^+N5mWPDOUGi2W_=%8Q7let_?X?wK)cDY#5SCZKedN5mXPt(REvssab*KR26p# zU6G~n#cqOrGOM&Lv&1yWjpMb1d=?)h9$2ZO+%*v3Sa=OFYfN7`jy4n9kvzx(XzTc?gQ?)>8wU2WYHCqa#{T3VqZ zuTG1F7KPoTTi}Y)nvByD_Kzn|X>}v*UGe1aO~t{TZtz#xqjbe>)Sx#aG=Ta?qM04( zot)>#G-B0-T||`NkJTq1IblyS)#lT7L~^p~m;P{ImveIoO>3KhWh*oC^yCvxA0PPpABI z%TSb}J&qWLOQB~2c&Mw$4YsI15nDfZ22}(NH6)VO;<^_v)~{S8qpH#y#X4

_i#h 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 loc!aM!~ebhcm2|axa!x2BZtl&1{S&Q __vite__mapDeps.viteFileDeps[i]) -} -function oO(n,e){for(var t=0;ti[r]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function t(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(r){if(r.ep)return;r.ep=!0;const s=t(r);fetch(r.href,s)}})();function Sa(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var l3={exports:{}},Vg={},c3={exports:{}},It={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Wd=Symbol.for("react.element"),aO=Symbol.for("react.portal"),lO=Symbol.for("react.fragment"),cO=Symbol.for("react.strict_mode"),uO=Symbol.for("react.profiler"),fO=Symbol.for("react.provider"),dO=Symbol.for("react.context"),hO=Symbol.for("react.forward_ref"),pO=Symbol.for("react.suspense"),mO=Symbol.for("react.memo"),gO=Symbol.for("react.lazy"),bM=Symbol.iterator;function vO(n){return n===null||typeof n!="object"?null:(n=bM&&n[bM]||n["@@iterator"],typeof n=="function"?n:null)}var u3={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},f3=Object.assign,d3={};function Su(n,e,t){this.props=n,this.context=e,this.refs=d3,this.updater=t||u3}Su.prototype.isReactComponent={};Su.prototype.setState=function(n,e){if(typeof n!="object"&&typeof n!="function"&&n!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,n,e,"setState")};Su.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function h3(){}h3.prototype=Su.prototype;function F_(n,e,t){this.props=n,this.context=e,this.refs=d3,this.updater=t||u3}var z_=F_.prototype=new h3;z_.constructor=F_;f3(z_,Su.prototype);z_.isPureReactComponent=!0;var TM=Array.isArray,p3=Object.prototype.hasOwnProperty,B_={current:null},m3={key:!0,ref:!0,__self:!0,__source:!0};function g3(n,e,t){var i,r={},s=null,o=null;if(e!=null)for(i in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(s=""+e.key),e)p3.call(e,i)&&!m3.hasOwnProperty(i)&&(r[i]=e[i]);var a=arguments.length-2;if(a===1)r.children=t;else if(1>>1,me=k[ie];if(0>>1;ier(ye,Y))Eer(Ue,ye)?(k[ie]=Ue,k[Ee]=Y,ie=Ee):(k[ie]=ye,k[oe]=Y,ie=oe);else if(Eer(Ue,Y))k[ie]=Ue,k[Ee]=Y,ie=Ee;else break e}}return W}function r(k,W){var Y=k.sortIndex-W.sortIndex;return Y!==0?Y:k.id-W.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;n.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();n.unstable_now=function(){return o.now()-a}}var l=[],u=[],d=1,h=null,p=3,m=!1,v=!1,w=!1,x=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function S(k){for(var W=t(u);W!==null;){if(W.callback===null)i(u);else if(W.startTime<=k)i(u),W.sortIndex=W.expirationTime,e(l,W);else break;W=t(u)}}function M(k){if(w=!1,S(k),!v)if(t(l)!==null)v=!0,Z(A);else{var W=t(u);W!==null&&ne(M,W.startTime-k)}}function A(k,W){v=!1,w&&(w=!1,g(O),O=-1),m=!0;var Y=p;try{for(S(W),h=t(l);h!==null&&(!(h.expirationTime>W)||k&&!I());){var ie=h.callback;if(typeof ie=="function"){h.callback=null,p=h.priorityLevel;var me=ie(h.expirationTime<=W);W=n.unstable_now(),typeof me=="function"?h.callback=me:h===t(l)&&i(l),S(W)}else i(l);h=t(l)}if(h!==null)var Re=!0;else{var oe=t(u);oe!==null&&ne(M,oe.startTime-W),Re=!1}return Re}finally{h=null,p=Y,m=!1}}var T=!1,L=null,O=-1,H=5,C=-1;function I(){return!(n.unstable_now()-Ck||125ie?(k.sortIndex=Y,e(u,k),t(l)===null&&k===t(u)&&(w?(g(O),O=-1):w=!0,ne(M,Y-ie))):(k.sortIndex=me,e(l,k),v||m||(v=!0,Z(A))),k},n.unstable_shouldYield=I,n.unstable_wrapCallback=function(k){var W=p;return function(){var Y=p;p=W;try{return k.apply(this,arguments)}finally{p=Y}}}})(_3);x3.exports=_3;var RO=x3.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var S3=R,mr=RO;function be(n){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+n,t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ty=Object.prototype.hasOwnProperty,PO=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,AM={},RM={};function LO(n){return Ty.call(RM,n)?!0:Ty.call(AM,n)?!1:PO.test(n)?RM[n]=!0:(AM[n]=!0,!1)}function IO(n,e,t,i){if(t!==null&&t.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return i?!1:t!==null?!t.acceptsBooleans:(n=n.toLowerCase().slice(0,5),n!=="data-"&&n!=="aria-");default:return!1}}function OO(n,e,t,i){if(e===null||typeof e>"u"||IO(n,e,t,i))return!0;if(i)return!1;if(t!==null)switch(t.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function Ui(n,e,t,i,r,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=t,this.propertyName=n,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}var ii={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){ii[n]=new Ui(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];ii[e]=new Ui(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){ii[n]=new Ui(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){ii[n]=new Ui(n,2,!1,n,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(n){ii[n]=new Ui(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){ii[n]=new Ui(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){ii[n]=new Ui(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){ii[n]=new Ui(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){ii[n]=new Ui(n,5,!1,n.toLowerCase(),null,!1,!1)});var V_=/[\-:]([a-z])/g;function W_(n){return n[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(n){var e=n.replace(V_,W_);ii[e]=new Ui(e,1,!1,n,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(n){var e=n.replace(V_,W_);ii[e]=new Ui(e,1,!1,n,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(n){var e=n.replace(V_,W_);ii[e]=new Ui(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){ii[n]=new Ui(n,1,!1,n.toLowerCase(),null,!1,!1)});ii.xlinkHref=new Ui("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){ii[n]=new Ui(n,1,!1,n.toLowerCase(),null,!0,!0)});function $_(n,e,t,i){var r=ii.hasOwnProperty(e)?ii[e]:null;(r!==null?r.type!==0:i||!(2a||r[o]!==s[a]){var l=` -`+r[o].replace(" at new "," at ");return n.displayName&&l.includes("")&&(l=l.replace("",n.displayName)),l}while(1<=o&&0<=a);break}}}finally{Zv=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?Pf(n):""}function DO(n){switch(n.tag){case 5:return Pf(n.type);case 16:return Pf("Lazy");case 13:return Pf("Suspense");case 19:return Pf("SuspenseList");case 0:case 2:case 15:return n=Kv(n.type,!1),n;case 11:return n=Kv(n.type.render,!1),n;case 1:return n=Kv(n.type,!0),n;default:return""}}function Py(n){if(n==null)return null;if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case Pc:return"Fragment";case Rc:return"Portal";case Cy:return"Profiler";case G_:return"StrictMode";case Ay:return"Suspense";case Ry:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case M3:return(n.displayName||"Context")+".Consumer";case E3:return(n._context.displayName||"Context")+".Provider";case j_:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case X_:return e=n.displayName||null,e!==null?e:Py(n.type)||"Memo";case qo:e=n._payload,n=n._init;try{return Py(n(e))}catch{}}return null}function NO(n){var e=n.type;switch(n.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return n=e.render,n=n.displayName||n.name||"",e.displayName||(n!==""?"ForwardRef("+n+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Py(e);case 8:return e===G_?"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 e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function ha(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function T3(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function kO(n){var e=T3(n)?"checked":"value",t=Object.getOwnPropertyDescriptor(n.constructor.prototype,e),i=""+n[e];if(!n.hasOwnProperty(e)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var r=t.get,s=t.set;return Object.defineProperty(n,e,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(n,e,{enumerable:t.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){n._valueTracker=null,delete n[e]}}}}function up(n){n._valueTracker||(n._valueTracker=kO(n))}function C3(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=T3(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function qm(n){if(n=n||(typeof document<"u"?document:void 0),typeof n>"u")return null;try{return n.activeElement||n.body}catch{return n.body}}function Ly(n,e){var t=e.checked;return mn({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function LM(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=ha(e.value!=null?e.value:t),n._wrapperState={initialChecked:i,initialValue:t,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function A3(n,e){e=e.checked,e!=null&&$_(n,"checked",e,!1)}function Iy(n,e){A3(n,e);var t=ha(e.value),i=e.type;if(t!=null)i==="number"?(t===0&&n.value===""||n.value!=t)&&(n.value=""+t):n.value!==""+t&&(n.value=""+t);else if(i==="submit"||i==="reset"){n.removeAttribute("value");return}e.hasOwnProperty("value")?Oy(n,e.type,t):e.hasOwnProperty("defaultValue")&&Oy(n,e.type,ha(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function IM(n,e,t){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var i=e.type;if(!(i!=="submit"&&i!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+n._wrapperState.initialValue,t||e===n.value||(n.value=e),n.defaultValue=e}t=n.name,t!==""&&(n.name=""),n.defaultChecked=!!n._wrapperState.initialChecked,t!==""&&(n.name=t)}function Oy(n,e,t){(e!=="number"||qm(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var Lf=Array.isArray;function qc(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=fp.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function ed(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var kf={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},UO=["Webkit","ms","Moz","O"];Object.keys(kf).forEach(function(n){UO.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),kf[e]=kf[n]})});function I3(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||kf.hasOwnProperty(n)&&kf[n]?(""+e).trim():e+"px"}function O3(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=I3(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var FO=mn({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ky(n,e){if(e){if(FO[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(be(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(be(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(be(61))}if(e.style!=null&&typeof e.style!="object")throw Error(be(62))}}function Uy(n,e){if(n.indexOf("-")===-1)return typeof e.is=="string";switch(n){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Fy=null;function Y_(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var zy=null,Zc=null,Kc=null;function NM(n){if(n=jd(n)){if(typeof zy!="function")throw Error(be(280));var e=n.stateNode;e&&(e=Xg(e),zy(n.stateNode,n.type,e))}}function D3(n){Zc?Kc?Kc.push(n):Kc=[n]:Zc=n}function N3(){if(Zc){var n=Zc,e=Kc;if(Kc=Zc=null,NM(n),e)for(n=0;n>>=0,n===0?32:31-(qO(n)/ZO|0)|0}var dp=64,hp=4194304;function If(n){switch(n&-n){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 n&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return n&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return n}}function Qm(n,e){var t=n.pendingLanes;if(t===0)return 0;var i=0,r=n.suspendedLanes,s=n.pingedLanes,o=t&268435455;if(o!==0){var a=o&~r;a!==0?i=If(a):(s&=o,s!==0&&(i=If(s)))}else o=t&~r,o!==0?i=If(o):s!==0&&(i=If(s));if(i===0)return 0;if(e!==0&&e!==i&&!(e&r)&&(r=i&-i,s=e&-e,r>=s||r===16&&(s&4194240)!==0))return e;if(i&4&&(i|=t&16),e=n.entangledLanes,e!==0)for(n=n.entanglements,e&=i;0t;t++)e.push(n);return e}function $d(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-rs(e),n[e]=t}function eD(n,e){var t=n.pendingLanes&~e;n.pendingLanes=e,n.suspendedLanes=0,n.pingedLanes=0,n.expiredLanes&=e,n.mutableReadLanes&=e,n.entangledLanes&=e,e=n.entanglements;var i=n.eventTimes;for(n=n.expirationTimes;0=Ff),$M=" ",GM=!1;function tA(n,e){switch(n){case"keyup":return AD.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function nA(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var Lc=!1;function PD(n,e){switch(n){case"compositionend":return nA(e);case"keypress":return e.which!==32?null:(GM=!0,$M);case"textInput":return n=e.data,n===$M&&GM?null:n;default:return null}}function LD(n,e){if(Lc)return n==="compositionend"||!nS&&tA(n,e)?(n=Q3(),Rm=Q_=ea=null,Lc=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:t,offset:e-n};n=i}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=qM(t)}}function oA(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?oA(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function aA(){for(var n=window,e=qm();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=qm(n.document)}return e}function iS(n){var e=n&&n.nodeName&&n.nodeName.toLowerCase();return e&&(e==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||e==="textarea"||n.contentEditable==="true")}function BD(n){var e=aA(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&oA(t.ownerDocument.documentElement,t)){if(i!==null&&iS(t)){if(e=i.start,n=i.end,n===void 0&&(n=e),"selectionStart"in t)t.selectionStart=e,t.selectionEnd=Math.min(n,t.value.length);else if(n=(e=t.ownerDocument||document)&&e.defaultView||window,n.getSelection){n=n.getSelection();var r=t.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!n.extend&&s>i&&(r=i,i=s,s=r),r=ZM(t,s);var o=ZM(t,i);r&&o&&(n.rangeCount!==1||n.anchorNode!==r.node||n.anchorOffset!==r.offset||n.focusNode!==o.node||n.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(r.node,r.offset),n.removeAllRanges(),s>i?(n.addRange(e),n.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),n.addRange(e)))}}for(e=[],n=t;n=n.parentNode;)n.nodeType===1&&e.push({element:n,left:n.scrollLeft,top:n.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Ic=null,Gy=null,Bf=null,jy=!1;function KM(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;jy||Ic==null||Ic!==qm(i)||(i=Ic,"selectionStart"in i&&iS(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bf&&od(Bf,i)||(Bf=i,i=ng(Gy,"onSelect"),0Nc||(n.current=Jy[Nc],Jy[Nc]=null,Nc--)}function Kt(n,e){Nc++,Jy[Nc]=n.current,n.current=e}var pa={},Si=Ea(pa),Yi=Ea(!1),_l=pa;function su(n,e){var t=n.type.contextTypes;if(!t)return pa;var i=n.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===e)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in t)r[s]=e[s];return i&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=e,n.__reactInternalMemoizedMaskedChildContext=r),r}function qi(n){return n=n.childContextTypes,n!=null}function rg(){tn(Yi),tn(Si)}function r2(n,e,t){if(Si.current!==pa)throw Error(be(168));Kt(Si,e),Kt(Yi,t)}function gA(n,e,t){var i=n.stateNode;if(e=e.childContextTypes,typeof i.getChildContext!="function")return t;i=i.getChildContext();for(var r in i)if(!(r in e))throw Error(be(108,NO(n)||"Unknown",r));return mn({},t,i)}function sg(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||pa,_l=Si.current,Kt(Si,n),Kt(Yi,Yi.current),!0}function s2(n,e,t){var i=n.stateNode;if(!i)throw Error(be(169));t?(n=gA(n,e,_l),i.__reactInternalMemoizedMergedChildContext=n,tn(Yi),tn(Si),Kt(Si,n)):tn(Yi),Kt(Yi,t)}var Qs=null,Yg=!1,f1=!1;function vA(n){Qs===null?Qs=[n]:Qs.push(n)}function JD(n){Yg=!0,vA(n)}function Ma(){if(!f1&&Qs!==null){f1=!0;var n=0,e=Wt;try{var t=Qs;for(Wt=1;n>=o,r-=o,so=1<<32-rs(e)+r|t<O?(H=L,L=null):H=L.sibling;var C=p(g,L,S[O],M);if(C===null){L===null&&(L=H);break}n&&L&&C.alternate===null&&e(g,L),_=s(C,_,O),T===null?A=C:T.sibling=C,T=C,L=H}if(O===S.length)return t(g,L),rn&&Za(g,O),A;if(L===null){for(;OO?(H=L,L=null):H=L.sibling;var I=p(g,L,C.value,M);if(I===null){L===null&&(L=H);break}n&&L&&I.alternate===null&&e(g,L),_=s(I,_,O),T===null?A=I:T.sibling=I,T=I,L=H}if(C.done)return t(g,L),rn&&Za(g,O),A;if(L===null){for(;!C.done;O++,C=S.next())C=h(g,C.value,M),C!==null&&(_=s(C,_,O),T===null?A=C:T.sibling=C,T=C);return rn&&Za(g,O),A}for(L=i(g,L);!C.done;O++,C=S.next())C=m(L,g,O,C.value,M),C!==null&&(n&&C.alternate!==null&&L.delete(C.key===null?O:C.key),_=s(C,_,O),T===null?A=C:T.sibling=C,T=C);return n&&L.forEach(function(j){return e(g,j)}),rn&&Za(g,O),A}function x(g,_,S,M){if(typeof S=="object"&&S!==null&&S.type===Pc&&S.key===null&&(S=S.props.children),typeof S=="object"&&S!==null){switch(S.$$typeof){case cp:e:{for(var A=S.key,T=_;T!==null;){if(T.key===A){if(A=S.type,A===Pc){if(T.tag===7){t(g,T.sibling),_=r(T,S.props.children),_.return=g,g=_;break e}}else if(T.elementType===A||typeof A=="object"&&A!==null&&A.$$typeof===qo&&d2(A)===T.type){t(g,T.sibling),_=r(T,S.props),_.ref=uf(g,T,S),_.return=g,g=_;break e}t(g,T);break}else e(g,T);T=T.sibling}S.type===Pc?(_=pl(S.props.children,g.mode,M,S.key),_.return=g,g=_):(M=Um(S.type,S.key,S.props,null,g.mode,M),M.ref=uf(g,_,S),M.return=g,g=M)}return o(g);case Rc:e:{for(T=S.key;_!==null;){if(_.key===T)if(_.tag===4&&_.stateNode.containerInfo===S.containerInfo&&_.stateNode.implementation===S.implementation){t(g,_.sibling),_=r(_,S.children||[]),_.return=g,g=_;break e}else{t(g,_);break}else e(g,_);_=_.sibling}_=x1(S,g.mode,M),_.return=g,g=_}return o(g);case qo:return T=S._init,x(g,_,T(S._payload),M)}if(Lf(S))return v(g,_,S,M);if(sf(S))return w(g,_,S,M);_p(g,S)}return typeof S=="string"&&S!==""||typeof S=="number"?(S=""+S,_!==null&&_.tag===6?(t(g,_.sibling),_=r(_,S),_.return=g,g=_):(t(g,_),_=y1(S,g.mode,M),_.return=g,g=_),o(g)):t(g,_)}return x}var au=bA(!0),TA=bA(!1),Xd={},Ls=Ea(Xd),ud=Ea(Xd),fd=Ea(Xd);function ol(n){if(n===Xd)throw Error(be(174));return n}function dS(n,e){switch(Kt(fd,e),Kt(ud,n),Kt(Ls,Xd),n=e.nodeType,n){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:Ny(null,"");break;default:n=n===8?e.parentNode:e,e=n.namespaceURI||null,n=n.tagName,e=Ny(e,n)}tn(Ls),Kt(Ls,e)}function lu(){tn(Ls),tn(ud),tn(fd)}function CA(n){ol(fd.current);var e=ol(Ls.current),t=Ny(e,n.type);e!==t&&(Kt(ud,n),Kt(Ls,t))}function hS(n){ud.current===n&&(tn(Ls),tn(ud))}var cn=Ea(0);function fg(n){for(var e=n;e!==null;){if(e.tag===13){var t=e.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break;for(;e.sibling===null;){if(e.return===null||e.return===n)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var d1=[];function pS(){for(var n=0;nt?t:4,n(!0);var i=h1.transition;h1.transition={};try{n(!1),e()}finally{Wt=t,h1.transition=i}}function WA(){return Wr().memoizedState}function nN(n,e,t){var i=la(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},$A(n))GA(e,t);else if(t=SA(n,e,t,i),t!==null){var r=Oi();ss(t,n,i,r),jA(t,e,i)}}function iN(n,e,t){var i=la(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if($A(n))GA(e,r);else{var s=n.alternate;if(n.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,t);if(r.hasEagerState=!0,r.eagerState=a,as(a,o)){var l=e.interleaved;l===null?(r.next=r,uS(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}t=SA(n,e,r,i),t!==null&&(r=Oi(),ss(t,n,i,r),jA(t,e,i))}}function $A(n){var e=n.alternate;return n===hn||e!==null&&e===hn}function GA(n,e){Hf=dg=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function jA(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,Z_(n,t)}}var hg={readContext:Vr,useCallback:ci,useContext:ci,useEffect:ci,useImperativeHandle:ci,useInsertionEffect:ci,useLayoutEffect:ci,useMemo:ci,useReducer:ci,useRef:ci,useState:ci,useDebugValue:ci,useDeferredValue:ci,useTransition:ci,useMutableSource:ci,useSyncExternalStore:ci,useId:ci,unstable_isNewReconciler:!1},rN={readContext:Vr,useCallback:function(n,e){return bs().memoizedState=[n,e===void 0?null:e],n},useContext:Vr,useEffect:p2,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,Om(4194308,4,FA.bind(null,e,n),t)},useLayoutEffect:function(n,e){return Om(4194308,4,n,e)},useInsertionEffect:function(n,e){return Om(4,2,n,e)},useMemo:function(n,e){var t=bs();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=bs();return e=t!==void 0?t(e):e,i.memoizedState=i.baseState=e,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:e},i.queue=n,n=n.dispatch=nN.bind(null,hn,n),[i.memoizedState,n]},useRef:function(n){var e=bs();return n={current:n},e.memoizedState=n},useState:h2,useDebugValue:xS,useDeferredValue:function(n){return bs().memoizedState=n},useTransition:function(){var n=h2(!1),e=n[0];return n=tN.bind(null,n[1]),bs().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=hn,r=bs();if(rn){if(t===void 0)throw Error(be(407));t=t()}else{if(t=e(),Zn===null)throw Error(be(349));wl&30||PA(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,p2(IA.bind(null,i,s,n),[n]),i.flags|=2048,pd(9,LA.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=bs(),e=Zn.identifierPrefix;if(rn){var t=oo,i=so;t=(i&~(1<<32-rs(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=dd++,0<\/script>",n=n.removeChild(n.firstChild)):typeof i.is=="string"?n=o.createElement(t,{is:i.is}):(n=o.createElement(t),t==="select"&&(o=n,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):n=o.createElementNS(n,t),n[Ts]=e,n[cd]=i,tR(n,e,!1,!1),e.stateNode=n;e:{switch(o=Uy(t,i),t){case"dialog":Qt("cancel",n),Qt("close",n),r=i;break;case"iframe":case"object":case"embed":Qt("load",n),r=i;break;case"video":case"audio":for(r=0;ruu&&(e.flags|=128,i=!0,ff(s,!1),e.lanes=4194304)}else{if(!i)if(n=fg(o),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),ff(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!rn)return ui(e),null}else 2*Rn()-s.renderingStartTime>uu&&t!==1073741824&&(e.flags|=128,i=!0,ff(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(t=s.last,t!==null?t.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Rn(),e.sibling=null,t=cn.current,Kt(cn,i?t&1|2:t&1),e):(ui(e),null);case 22:case 23:return bS(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?or&1073741824&&(ui(e),e.subtreeFlags&6&&(e.flags|=8192)):ui(e),null;case 24:return null;case 25:return null}throw Error(be(156,e.tag))}function dN(n,e){switch(sS(e),e.tag){case 1:return qi(e.type)&&rg(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return lu(),tn(Yi),tn(Si),pS(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return hS(e),null;case 13:if(tn(cn),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(be(340));ou()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return tn(cn),null;case 4:return lu(),null;case 10:return cS(e.type._context),null;case 22:case 23:return bS(),null;case 24:return null;default:return null}}var wp=!1,pi=!1,hN=typeof WeakSet=="function"?WeakSet:Set,qe=null;function zc(n,e){var t=n.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){_n(n,e,i)}else t.current=null}function ux(n,e,t){try{t()}catch(i){_n(n,e,i)}}var E2=!1;function pN(n,e){if(Xy=eg,n=aA(),iS(n)){if("selectionStart"in n)var t={start:n.selectionStart,end:n.selectionEnd};else e:{t=(t=n.ownerDocument)&&t.defaultView||window;var i=t.getSelection&&t.getSelection();if(i&&i.rangeCount!==0){t=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{t.nodeType,s.nodeType}catch{t=null;break e}var o=0,a=-1,l=-1,u=0,d=0,h=n,p=null;t:for(;;){for(var m;h!==t||r!==0&&h.nodeType!==3||(a=o+r),h!==s||i!==0&&h.nodeType!==3||(l=o+i),h.nodeType===3&&(o+=h.nodeValue.length),(m=h.firstChild)!==null;)p=h,h=m;for(;;){if(h===n)break t;if(p===t&&++u===r&&(a=o),p===s&&++d===i&&(l=o),(m=h.nextSibling)!==null)break;h=p,p=h.parentNode}h=m}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(Yy={focusedElem:n,selectionRange:t},eg=!1,qe=e;qe!==null;)if(e=qe,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,qe=n;else for(;qe!==null;){e=qe;try{var v=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var w=v.memoizedProps,x=v.memoizedState,g=e.stateNode,_=g.getSnapshotBeforeUpdate(e.elementType===e.type?w:Qr(e.type,w),x);g.__reactInternalSnapshotBeforeUpdate=_}break;case 3:var S=e.stateNode.containerInfo;S.nodeType===1?S.textContent="":S.nodeType===9&&S.documentElement&&S.removeChild(S.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(be(163))}}catch(M){_n(e,e.return,M)}if(n=e.sibling,n!==null){n.return=e.return,qe=n;break}qe=e.return}return v=E2,E2=!1,v}function Vf(n,e,t){var i=e.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&n)===n){var s=r.destroy;r.destroy=void 0,s!==void 0&&ux(e,t,s)}r=r.next}while(r!==i)}}function Kg(n,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var t=e=e.next;do{if((t.tag&n)===n){var i=t.create;t.destroy=i()}t=t.next}while(t!==e)}}function fx(n){var e=n.ref;if(e!==null){var t=n.stateNode;switch(n.tag){case 5:n=t;break;default:n=t}typeof e=="function"?e(n):e.current=n}}function rR(n){var e=n.alternate;e!==null&&(n.alternate=null,rR(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[Ts],delete e[cd],delete e[Ky],delete e[ZD],delete e[KD])),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}function sR(n){return n.tag===5||n.tag===3||n.tag===4}function M2(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||sR(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function dx(n,e,t){var i=n.tag;if(i===5||i===6)n=n.stateNode,e?t.nodeType===8?t.parentNode.insertBefore(n,e):t.insertBefore(n,e):(t.nodeType===8?(e=t.parentNode,e.insertBefore(n,t)):(e=t,e.appendChild(n)),t=t._reactRootContainer,t!=null||e.onclick!==null||(e.onclick=ig));else if(i!==4&&(n=n.child,n!==null))for(dx(n,e,t),n=n.sibling;n!==null;)dx(n,e,t),n=n.sibling}function hx(n,e,t){var i=n.tag;if(i===5||i===6)n=n.stateNode,e?t.insertBefore(n,e):t.appendChild(n);else if(i!==4&&(n=n.child,n!==null))for(hx(n,e,t),n=n.sibling;n!==null;)hx(n,e,t),n=n.sibling}var ti=null,ts=!1;function zo(n,e,t){for(t=t.child;t!==null;)oR(n,e,t),t=t.sibling}function oR(n,e,t){if(Ps&&typeof Ps.onCommitFiberUnmount=="function")try{Ps.onCommitFiberUnmount(Wg,t)}catch{}switch(t.tag){case 5:pi||zc(t,e);case 6:var i=ti,r=ts;ti=null,zo(n,e,t),ti=i,ts=r,ti!==null&&(ts?(n=ti,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):ti.removeChild(t.stateNode));break;case 18:ti!==null&&(ts?(n=ti,t=t.stateNode,n.nodeType===8?u1(n.parentNode,t):n.nodeType===1&&u1(n,t),rd(n)):u1(ti,t.stateNode));break;case 4:i=ti,r=ts,ti=t.stateNode.containerInfo,ts=!0,zo(n,e,t),ti=i,ts=r;break;case 0:case 11:case 14:case 15:if(!pi&&(i=t.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&ux(t,e,o),r=r.next}while(r!==i)}zo(n,e,t);break;case 1:if(!pi&&(zc(t,e),i=t.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=t.memoizedProps,i.state=t.memoizedState,i.componentWillUnmount()}catch(a){_n(t,e,a)}zo(n,e,t);break;case 21:zo(n,e,t);break;case 22:t.mode&1?(pi=(i=pi)||t.memoizedState!==null,zo(n,e,t),pi=i):zo(n,e,t);break;default:zo(n,e,t)}}function b2(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new hN),e.forEach(function(i){var r=EN.bind(null,n,i);t.has(i)||(t.add(i),i.then(r,r))})}}function qr(n,e){var t=e.deletions;if(t!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=Rn()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*gN(i/1960))-i,10n?16:n,ta===null)var i=!1;else{if(n=ta,ta=null,gg=0,kt&6)throw Error(be(331));var r=kt;for(kt|=4,qe=n.current;qe!==null;){var s=qe,o=s.child;if(qe.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lRn()-ES?hl(n,0):wS|=t),Zi(n,e)}function pR(n,e){e===0&&(n.mode&1?(e=hp,hp<<=1,!(hp&130023424)&&(hp=4194304)):e=1);var t=Oi();n=vo(n,e),n!==null&&($d(n,e,t),Zi(n,t))}function wN(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),pR(n,t)}function EN(n,e){var t=0;switch(n.tag){case 13:var i=n.stateNode,r=n.memoizedState;r!==null&&(t=r.retryLane);break;case 19:i=n.stateNode;break;default:throw Error(be(314))}i!==null&&i.delete(e),pR(n,t)}var mR;mR=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||Yi.current)ji=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return ji=!1,uN(n,e,t);ji=!!(n.flags&131072)}else ji=!1,rn&&e.flags&1048576&&yA(e,ag,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;Dm(n,e),n=e.pendingProps;var r=su(e,Si.current);Qc(e,t),r=gS(null,e,i,n,r,t);var s=vS();return e.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,qi(i)?(s=!0,sg(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,fS(e),r.updater=qg,e.stateNode=r,r._reactInternals=e,ix(e,i,n,t),e=ox(null,e,i,!0,s,t)):(e.tag=0,rn&&s&&rS(e),Ai(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(Dm(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=bN(i),n=Qr(i,n),r){case 0:e=sx(null,e,i,n,t);break e;case 1:e=_2(null,e,i,n,t);break e;case 11:e=y2(null,e,i,n,t);break e;case 14:e=x2(null,e,i,Qr(i.type,n),t);break e}throw Error(be(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Qr(i,r),sx(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Qr(i,r),_2(n,e,i,r,t);case 3:e:{if(JA(e),n===null)throw Error(be(387));i=e.pendingProps,s=e.memoizedState,r=s.element,wA(n,e),ug(e,i,null,t);var o=e.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){r=cu(Error(be(423)),e),e=S2(n,e,i,t,r);break e}else if(i!==r){r=cu(Error(be(424)),e),e=S2(n,e,i,t,r);break e}else for(ur=sa(e.stateNode.containerInfo.firstChild),dr=e,rn=!0,ns=null,t=TA(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(ou(),i===r){e=yo(n,e,t);break e}Ai(n,e,i,t)}e=e.child}return e;case 5:return CA(e),n===null&&ex(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,qy(i,r)?o=null:s!==null&&qy(i,s)&&(e.flags|=32),KA(n,e),Ai(n,e,o,t),e.child;case 6:return n===null&&ex(e),null;case 13:return QA(n,e,t);case 4:return dS(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=au(e,null,i,t):Ai(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Qr(i,r),y2(n,e,i,r,t);case 7:return Ai(n,e,e.pendingProps,t),e.child;case 8:return Ai(n,e,e.pendingProps.children,t),e.child;case 12:return Ai(n,e,e.pendingProps.children,t),e.child;case 10:e:{if(i=e.type._context,r=e.pendingProps,s=e.memoizedProps,o=r.value,Kt(lg,i._currentValue),i._currentValue=o,s!==null)if(as(s.value,o)){if(s.children===r.children&&!Yi.current){e=yo(n,e,t);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var a=s.dependencies;if(a!==null){o=s.child;for(var l=a.firstContext;l!==null;){if(l.context===i){if(s.tag===1){l=uo(-1,t&-t),l.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}s.lanes|=t,l=s.alternate,l!==null&&(l.lanes|=t),tx(s.return,t,e),a.lanes|=t;break}l=l.next}}else if(s.tag===10)o=s.type===e.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(be(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),tx(o,t,e),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===e){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ai(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,Qc(e,t),r=Vr(r),i=i(r),e.flags|=1,Ai(n,e,i,t),e.child;case 14:return i=e.type,r=Qr(i,e.pendingProps),r=Qr(i.type,r),x2(n,e,i,r,t);case 15:return qA(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Qr(i,r),Dm(n,e),e.tag=1,qi(i)?(n=!0,sg(e)):n=!1,Qc(e,t),MA(e,i,r),ix(e,i,r,t),ox(null,e,i,!0,n,t);case 19:return eR(n,e,t);case 22:return ZA(n,e,t)}throw Error(be(156,e.tag))};function gR(n,e){return V3(n,e)}function MN(n,e,t,i){this.tag=n,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Fr(n,e,t,i){return new MN(n,e,t,i)}function CS(n){return n=n.prototype,!(!n||!n.isReactComponent)}function bN(n){if(typeof n=="function")return CS(n)?1:0;if(n!=null){if(n=n.$$typeof,n===j_)return 11;if(n===X_)return 14}return 2}function ca(n,e){var t=n.alternate;return t===null?(t=Fr(n.tag,e,n.key,n.mode),t.elementType=n.elementType,t.type=n.type,t.stateNode=n.stateNode,t.alternate=n,n.alternate=t):(t.pendingProps=e,t.type=n.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=n.flags&14680064,t.childLanes=n.childLanes,t.lanes=n.lanes,t.child=n.child,t.memoizedProps=n.memoizedProps,t.memoizedState=n.memoizedState,t.updateQueue=n.updateQueue,e=n.dependencies,t.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},t.sibling=n.sibling,t.index=n.index,t.ref=n.ref,t}function Um(n,e,t,i,r,s){var o=2;if(i=n,typeof n=="function")CS(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case Pc:return pl(t.children,r,s,e);case G_:o=8,r|=8;break;case Cy:return n=Fr(12,t,e,r|2),n.elementType=Cy,n.lanes=s,n;case Ay:return n=Fr(13,t,e,r),n.elementType=Ay,n.lanes=s,n;case Ry:return n=Fr(19,t,e,r),n.elementType=Ry,n.lanes=s,n;case b3:return Qg(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case E3:o=10;break e;case M3:o=9;break e;case j_:o=11;break e;case X_:o=14;break e;case qo:o=16,i=null;break e}throw Error(be(130,n==null?n:typeof n,""))}return e=Fr(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function pl(n,e,t,i){return n=Fr(7,n,i,e),n.lanes=t,n}function Qg(n,e,t,i){return n=Fr(22,n,i,e),n.elementType=b3,n.lanes=t,n.stateNode={isHidden:!1},n}function y1(n,e,t){return n=Fr(6,n,null,e),n.lanes=t,n}function x1(n,e,t){return e=Fr(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function TN(n,e,t,i,r){this.tag=e,this.containerInfo=n,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Qv(0),this.expirationTimes=Qv(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Qv(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function AS(n,e,t,i,r,s,o,a,l){return n=new TN(n,e,t,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=Fr(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},fS(s),n}function CN(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(_R)}catch(n){console.error(n)}}_R(),y3.exports=vr;var Yd=y3.exports;const SR=Sa(Yd);var wR,O2=Yd;wR=by.createRoot=O2.createRoot,by.hydrateRoot=O2.hydrateRoot;/** - * @license - * Copyright 2010-2023 Three.js Authors - * SPDX-License-Identifier: MIT - */const r0="162",Ja={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},Qa={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},ER=0,yx=1,MR=2,IN=3,bR=0,s0=1,Gf=2,es=3,xo=0,Di=1,Cs=2,fo=0,ho=1,xx=2,_x=3,Sx=4,TR=5,Qo=100,CR=101,AR=102,wx=103,Ex=104,RR=200,PR=201,LR=202,IR=203,xg=204,_g=205,OR=206,DR=207,NR=208,kR=209,UR=210,FR=211,zR=212,BR=213,HR=214,VR=0,WR=1,$R=2,gd=3,GR=4,jR=5,XR=6,YR=7,qd=0,qR=1,ZR=2,Is=0,KR=1,JR=2,QR=3,IS=4,eP=5,tP=6,nP=7,Mx="attached",iP="detached",o0=300,_o=301,ma=302,vd=303,yd=304,Mu=306,xd=1e3,gi=1001,_d=1002,An=1003,Sg=1004,ON=1004,nl=1005,DN=1005,un=1006,jf=1007,NN=1007,As=1008,kN=1008,Os=1009,rP=1010,sP=1011,a0=1012,OS=1013,ao=1014,lr=1015,fu=1016,DS=1017,NS=1018,ua=1020,oP=1021,Pi=1023,aP=1024,lP=1025,fa=1026,bl=1027,kS=1028,US=1029,cP=1030,FS=1031,zS=1033,Fm=33776,zm=33777,Bm=33778,Hm=33779,bx=35840,Tx=35841,Cx=35842,Ax=35843,BS=36196,Rx=37492,Px=37496,Lx=37808,Ix=37809,Ox=37810,Dx=37811,Nx=37812,kx=37813,Ux=37814,Fx=37815,zx=37816,Bx=37817,Hx=37818,Vx=37819,Wx=37820,$x=37821,Vm=36492,Gx=36494,jx=36495,uP=36283,Xx=36284,Yx=36285,qx=36286,fP=2200,dP=2201,hP=2202,Sd=2300,wd=2301,Wm=2302,al=2400,ll=2401,Ed=2402,l0=2500,HS=2501,UN=0,FN=1,zN=2,pP=3200,mP=3201,ba=0,gP=1,no="",Dr="srgb",Co="srgb-linear",c0="display-p3",Zd="display-p3-linear",Md="linear",Zt="srgb",bd="rec709",Td="p3",BN=0,el=7680,HN=7681,VN=7682,WN=7683,$N=34055,GN=34056,jN=5386,XN=512,YN=513,qN=514,ZN=515,KN=516,JN=517,QN=518,Zx=519,vP=512,yP=513,xP=514,VS=515,_P=516,SP=517,wP=518,EP=519,Cd=35044,$m=35048,ek=35040,tk=35045,nk=35049,ik=35041,rk=35046,sk=35050,ok=35042,ak="100",Kx="300 es",wg=1035,Rs=2e3,Ad=2001;class Us{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const i=this._listeners;i[e]===void 0&&(i[e]=[]),i[e].indexOf(t)===-1&&i[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;const i=this._listeners;return i[e]!==void 0&&i[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;const r=this._listeners[e];if(r!==void 0){const s=r.indexOf(t);s!==-1&&r.splice(s,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const i=this._listeners[e.type];if(i!==void 0){e.target=this;const r=i.slice(0);for(let s=0,o=r.length;s>8&255]+fi[n>>16&255]+fi[n>>24&255]+"-"+fi[e&255]+fi[e>>8&255]+"-"+fi[e>>16&15|64]+fi[e>>24&255]+"-"+fi[t&63|128]+fi[t>>8&255]+"-"+fi[t>>16&255]+fi[t>>24&255]+fi[i&255]+fi[i>>8&255]+fi[i>>16&255]+fi[i>>24&255]).toLowerCase()}function Sn(n,e,t){return Math.max(e,Math.min(t,n))}function WS(n,e){return(n%e+e)%e}function lk(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function ck(n,e,t){return n!==e?(t-n)/(e-n):0}function Xf(n,e,t){return(1-t)*n+t*e}function uk(n,e,t,i){return Xf(n,e,1-Math.exp(-t*i))}function fk(n,e=1){return e-Math.abs(WS(n,e*2)-e)}function dk(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function hk(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function pk(n,e){return n+Math.floor(Math.random()*(e-n+1))}function mk(n,e){return n+Math.random()*(e-n)}function gk(n){return n*(.5-Math.random())}function vk(n){n!==void 0&&(D2=n);let e=D2+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function yk(n){return n*ml}function xk(n){return n*du}function Jx(n){return(n&n-1)===0&&n!==0}function _k(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function Eg(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function Sk(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),u=s((e+i)/2),d=o((e+i)/2),h=s((e-i)/2),p=o((e-i)/2),m=s((i-e)/2),v=o((i-e)/2);switch(r){case"XYX":n.set(a*d,l*h,l*p,a*u);break;case"YZY":n.set(l*p,a*d,l*h,a*u);break;case"ZXZ":n.set(l*h,l*p,a*d,a*u);break;case"XZX":n.set(a*d,l*v,l*m,a*u);break;case"YXY":n.set(l*m,a*d,l*v,a*u);break;case"ZYZ":n.set(l*v,l*m,a*d,a*u);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function Li(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return n/4294967295;case Uint16Array:return n/65535;case Uint8Array:return n/255;case Int32Array:return Math.max(n/2147483647,-1);case Int16Array:return Math.max(n/32767,-1);case Int8Array:return Math.max(n/127,-1);default:throw new Error("Invalid component type.")}}function bt(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return Math.round(n*4294967295);case Uint16Array:return Math.round(n*65535);case Uint8Array:return Math.round(n*255);case Int32Array:return Math.round(n*2147483647);case Int16Array:return Math.round(n*32767);case Int8Array:return Math.round(n*127);default:throw new Error("Invalid component type.")}}const MP={DEG2RAD:ml,RAD2DEG:du,generateUUID:hr,clamp:Sn,euclideanModulo:WS,mapLinear:lk,inverseLerp:ck,lerp:Xf,damp:uk,pingpong:fk,smoothstep:dk,smootherstep:hk,randInt:pk,randFloat:mk,randFloatSpread:gk,seededRandom:vk,degToRad:yk,radToDeg:xk,isPowerOfTwo:Jx,ceilPowerOfTwo:_k,floorPowerOfTwo:Eg,setQuaternionFromProperEuler:Sk,normalize:bt,denormalize:Li};class ve{constructor(e=0,t=0){ve.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6],this.y=r[1]*t+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(Sn(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y;return t*t+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const i=Math.cos(t),r=Math.sin(t),s=this.x-e.x,o=this.y-e.y;return this.x=s*i-o*r+e.x,this.y=s*r+o*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Mt{constructor(e,t,i,r,s,o,a,l,u){Mt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,u)}set(e,t,i,r,s,o,a,l,u){const d=this.elements;return d[0]=e,d[1]=r,d[2]=a,d[3]=t,d[4]=s,d[5]=l,d[6]=i,d[7]=o,d[8]=u,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this}extractBasis(e,t,i){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[3],l=i[6],u=i[1],d=i[4],h=i[7],p=i[2],m=i[5],v=i[8],w=r[0],x=r[3],g=r[6],_=r[1],S=r[4],M=r[7],A=r[2],T=r[5],L=r[8];return s[0]=o*w+a*_+l*A,s[3]=o*x+a*S+l*T,s[6]=o*g+a*M+l*L,s[1]=u*w+d*_+h*A,s[4]=u*x+d*S+h*T,s[7]=u*g+d*M+h*L,s[2]=p*w+m*_+v*A,s[5]=p*x+m*S+v*T,s[8]=p*g+m*M+v*L,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],u=e[7],d=e[8];return t*o*d-t*a*u-i*s*d+i*a*l+r*s*u-r*o*l}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],u=e[7],d=e[8],h=d*o-a*u,p=a*l-d*s,m=u*s-o*l,v=t*h+i*p+r*m;if(v===0)return this.set(0,0,0,0,0,0,0,0,0);const w=1/v;return e[0]=h*w,e[1]=(r*u-d*i)*w,e[2]=(a*i-r*o)*w,e[3]=p*w,e[4]=(d*t-r*l)*w,e[5]=(r*s-a*t)*w,e[6]=m*w,e[7]=(i*l-u*t)*w,e[8]=(o*t-i*s)*w,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,i,r,s,o,a){const l=Math.cos(s),u=Math.sin(s);return this.set(i*l,i*u,-i*(l*o+u*a)+o+e,-r*u,r*l,-r*(-u*o+l*a)+a+t,0,0,1),this}scale(e,t){return this.premultiply(_1.makeScale(e,t)),this}rotate(e){return this.premultiply(_1.makeRotation(-e)),this}translate(e,t){return this.premultiply(_1.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,i,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<9;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<9;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const _1=new Mt;function bP(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const wk={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Hc(n,e){return new wk[n](e)}function Rd(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function TP(){const n=Rd("canvas");return n.style.display="block",n}const N2={};function CP(n){n in N2||(N2[n]=!0,console.warn(n))}const k2=new Mt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),U2=new Mt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),bp={[Co]:{transfer:Md,primaries:bd,toReference:n=>n,fromReference:n=>n},[Dr]:{transfer:Zt,primaries:bd,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[Zd]:{transfer:Md,primaries:Td,toReference:n=>n.applyMatrix3(U2),fromReference:n=>n.applyMatrix3(k2)},[c0]:{transfer:Zt,primaries:Td,toReference:n=>n.convertSRGBToLinear().applyMatrix3(U2),fromReference:n=>n.applyMatrix3(k2).convertLinearToSRGB()}},Ek=new Set([Co,Zd]),Ht={enabled:!0,_workingColorSpace:Co,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!Ek.has(n))throw new Error(`Unsupported working color space, "${n}".`);this._workingColorSpace=n},convert:function(n,e,t){if(this.enabled===!1||e===t||!e||!t)return n;const i=bp[e].toReference,r=bp[t].fromReference;return r(i(n))},fromWorkingColorSpace:function(n,e){return this.convert(n,this._workingColorSpace,e)},toWorkingColorSpace:function(n,e){return this.convert(n,e,this._workingColorSpace)},getPrimaries:function(n){return bp[n].primaries},getTransfer:function(n){return n===no?Md:bp[n].transfer}};function tu(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function S1(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let tc;class $S{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{tc===void 0&&(tc=Rd("canvas")),tc.width=e.width,tc.height=e.height;const i=tc.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=tc}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const t=Rd("canvas");t.width=e.width,t.height=e.height;const i=t.getContext("2d");i.drawImage(e,0,0,e.width,e.height);const r=i.getImageData(0,0,e.width,e.height),s=r.data;for(let o=0;o0&&(i.userData=this.userData),t||(e.textures[this.uuid]=i),i}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==o0)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case xd:e.x=e.x-Math.floor(e.x);break;case gi:e.x=e.x<0?0:1;break;case _d:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case xd:e.y=e.y-Math.floor(e.y);break;case gi:e.y=e.y<0?0:1;break;case _d:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}}pn.DEFAULT_IMAGE=null;pn.DEFAULT_MAPPING=o0;pn.DEFAULT_ANISOTROPY=1;class Vt{constructor(e=0,t=0,i=0,r=1){Vt.prototype.isVector4=!0,this.x=e,this.y=t,this.z=i,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=this.w,o=e.elements;return this.x=o[0]*t+o[4]*i+o[8]*r+o[12]*s,this.y=o[1]*t+o[5]*i+o[9]*r+o[13]*s,this.z=o[2]*t+o[6]*i+o[10]*r+o[14]*s,this.w=o[3]*t+o[7]*i+o[11]*r+o[15]*s,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,i,r,s;const l=e.elements,u=l[0],d=l[4],h=l[8],p=l[1],m=l[5],v=l[9],w=l[2],x=l[6],g=l[10];if(Math.abs(d-p)<.01&&Math.abs(h-w)<.01&&Math.abs(v-x)<.01){if(Math.abs(d+p)<.1&&Math.abs(h+w)<.1&&Math.abs(v+x)<.1&&Math.abs(u+m+g-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const S=(u+1)/2,M=(m+1)/2,A=(g+1)/2,T=(d+p)/4,L=(h+w)/4,O=(v+x)/4;return S>M&&S>A?S<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(S),r=T/i,s=L/i):M>A?M<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(M),i=T/r,s=O/r):A<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(A),i=L/s,r=O/s),this.set(i,r,s,t),this}let _=Math.sqrt((x-v)*(x-v)+(h-w)*(h-w)+(p-d)*(p-d));return Math.abs(_)<.001&&(_=1),this.x=(x-v)/_,this.y=(h-w)/_,this.z=(p-d)/_,this.w=Math.acos((u+m+g-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this.w=e.w+(t.w-e.w)*i,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class AP extends Us{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new Vt(0,0,e,t),this.scissorTest=!1,this.viewport=new Vt(0,0,e,t);const r={width:e,height:t,depth:1};i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:un,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0,count:1},i);const s=new pn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace);s.flipY=!1,s.generateMipmaps=i.generateMipmaps,s.internalFormat=i.internalFormat,this.textures=[];const o=i.count;for(let a=0;a=0?1:-1,S=1-g*g;if(S>Number.EPSILON){const A=Math.sqrt(S),T=Math.atan2(A,g*_);x=Math.sin(x*T)/A,a=Math.sin(a*T)/A}const M=a*_;if(l=l*x+p*M,u=u*x+m*M,d=d*x+v*M,h=h*x+w*M,x===1-a){const A=1/Math.sqrt(l*l+u*u+d*d+h*h);l*=A,u*=A,d*=A,h*=A}}e[t]=l,e[t+1]=u,e[t+2]=d,e[t+3]=h}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],u=i[r+2],d=i[r+3],h=s[o],p=s[o+1],m=s[o+2],v=s[o+3];return e[t]=a*v+d*h+l*m-u*p,e[t+1]=l*v+d*p+u*h-a*m,e[t+2]=u*v+d*m+a*p-l*h,e[t+3]=d*v-a*h-l*p-u*m,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,i,r){return this._x=e,this._y=t,this._z=i,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const i=e._x,r=e._y,s=e._z,o=e._order,a=Math.cos,l=Math.sin,u=a(i/2),d=a(r/2),h=a(s/2),p=l(i/2),m=l(r/2),v=l(s/2);switch(o){case"XYZ":this._x=p*d*h+u*m*v,this._y=u*m*h-p*d*v,this._z=u*d*v+p*m*h,this._w=u*d*h-p*m*v;break;case"YXZ":this._x=p*d*h+u*m*v,this._y=u*m*h-p*d*v,this._z=u*d*v-p*m*h,this._w=u*d*h+p*m*v;break;case"ZXY":this._x=p*d*h-u*m*v,this._y=u*m*h+p*d*v,this._z=u*d*v+p*m*h,this._w=u*d*h-p*m*v;break;case"ZYX":this._x=p*d*h-u*m*v,this._y=u*m*h+p*d*v,this._z=u*d*v-p*m*h,this._w=u*d*h+p*m*v;break;case"YZX":this._x=p*d*h+u*m*v,this._y=u*m*h+p*d*v,this._z=u*d*v-p*m*h,this._w=u*d*h-p*m*v;break;case"XZY":this._x=p*d*h-u*m*v,this._y=u*m*h-p*d*v,this._z=u*d*v+p*m*h,this._w=u*d*h+p*m*v;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const i=t/2,r=Math.sin(i);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,i=t[0],r=t[4],s=t[8],o=t[1],a=t[5],l=t[9],u=t[2],d=t[6],h=t[10],p=i+a+h;if(p>0){const m=.5/Math.sqrt(p+1);this._w=.25/m,this._x=(d-l)*m,this._y=(s-u)*m,this._z=(o-r)*m}else if(i>a&&i>h){const m=2*Math.sqrt(1+i-a-h);this._w=(d-l)/m,this._x=.25*m,this._y=(r+o)/m,this._z=(s+u)/m}else if(a>h){const m=2*Math.sqrt(1+a-i-h);this._w=(s-u)/m,this._x=(r+o)/m,this._y=.25*m,this._z=(l+d)/m}else{const m=2*Math.sqrt(1+h-i-a);this._w=(o-r)/m,this._x=(s+u)/m,this._y=(l+d)/m,this._z=.25*m}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let i=e.dot(t)+1;return iMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=i):(this._x=0,this._y=-e.z,this._z=e.y,this._w=i)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=i),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Sn(this.dot(e),-1,1)))}rotateTowards(e,t){const i=this.angleTo(e);if(i===0)return this;const r=Math.min(1,t/i);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const i=e._x,r=e._y,s=e._z,o=e._w,a=t._x,l=t._y,u=t._z,d=t._w;return this._x=i*d+o*a+r*u-s*l,this._y=r*d+o*l+s*a-i*u,this._z=s*d+o*u+i*l-r*a,this._w=o*d-i*a-r*l-s*u,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const i=this._x,r=this._y,s=this._z,o=this._w;let a=o*e._w+i*e._x+r*e._y+s*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=i,this._y=r,this._z=s,this;const l=1-a*a;if(l<=Number.EPSILON){const m=1-t;return this._w=m*o+t*this._w,this._x=m*i+t*this._x,this._y=m*r+t*this._y,this._z=m*s+t*this._z,this.normalize(),this}const u=Math.sqrt(l),d=Math.atan2(u,a),h=Math.sin((1-t)*d)/u,p=Math.sin(t*d)/u;return this._w=o*h+this._w*p,this._x=i*h+this._x*p,this._y=r*h+this._y*p,this._z=s*h+this._z*p,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),i=Math.random(),r=Math.sqrt(1-i),s=Math.sqrt(i);return this.set(r*Math.sin(e),r*Math.cos(e),s*Math.sin(t),s*Math.cos(t))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class U{constructor(e=0,t=0,i=0){U.prototype.isVector3=!0,this.x=e,this.y=t,this.z=i}set(e,t,i){return i===void 0&&(i=this.z),this.x=e,this.y=t,this.z=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(F2.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(F2.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[3]*i+s[6]*r,this.y=s[1]*t+s[4]*i+s[7]*r,this.z=s[2]*t+s[5]*i+s[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=e.elements,o=1/(s[3]*t+s[7]*i+s[11]*r+s[15]);return this.x=(s[0]*t+s[4]*i+s[8]*r+s[12])*o,this.y=(s[1]*t+s[5]*i+s[9]*r+s[13])*o,this.z=(s[2]*t+s[6]*i+s[10]*r+s[14])*o,this}applyQuaternion(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z,l=e.w,u=2*(o*r-a*i),d=2*(a*t-s*r),h=2*(s*i-o*t);return this.x=t+l*u+o*h-a*d,this.y=i+l*d+a*u-s*h,this.z=r+l*h+s*d-o*u,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[4]*i+s[8]*r,this.y=s[1]*t+s[5]*i+s[9]*r,this.z=s[2]*t+s[6]*i+s[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const i=e.x,r=e.y,s=e.z,o=t.x,a=t.y,l=t.z;return this.x=r*l-s*a,this.y=s*o-i*l,this.z=i*a-r*o,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const i=e.dot(this)/t;return this.copy(e).multiplyScalar(i)}projectOnPlane(e){return E1.copy(this).projectOnVector(e),this.sub(E1)}reflect(e){return this.sub(E1.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(Sn(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y,r=this.z-e.z;return t*t+i*i+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,i){const r=Math.sin(t)*e;return this.x=r*Math.sin(i),this.y=Math.cos(t)*e,this.z=r*Math.cos(i),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,i){return this.x=e*Math.sin(t),this.y=i,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),i=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=i,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=Math.random()*Math.PI*2,t=Math.random()*2-1,i=Math.sqrt(1-t*t);return this.x=i*Math.cos(e),this.y=t,this.z=i*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const E1=new U,F2=new xi;class Ni{constructor(e=new U(1/0,1/0,1/0),t=new U(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,i=e.length;tthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,Zr),Zr.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,i;return e.normal.x>0?(t=e.normal.x*this.min.x,i=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,i=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,i+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,i+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,i+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,i+=e.normal.z*this.min.z),t<=-e.constant&&i>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(hf),Cp.subVectors(this.max,hf),nc.subVectors(e.a,hf),ic.subVectors(e.b,hf),rc.subVectors(e.c,hf),Bo.subVectors(ic,nc),Ho.subVectors(rc,ic),Fa.subVectors(nc,rc);let t=[0,-Bo.z,Bo.y,0,-Ho.z,Ho.y,0,-Fa.z,Fa.y,Bo.z,0,-Bo.x,Ho.z,0,-Ho.x,Fa.z,0,-Fa.x,-Bo.y,Bo.x,0,-Ho.y,Ho.x,0,-Fa.y,Fa.x,0];return!M1(t,nc,ic,rc,Cp)||(t=[1,0,0,0,1,0,0,0,1],!M1(t,nc,ic,rc,Cp))?!1:(Ap.crossVectors(Bo,Ho),t=[Ap.x,Ap.y,Ap.z],M1(t,nc,ic,rc,Cp))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Zr).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Zr).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Gs[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Gs[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Gs[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Gs[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Gs[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Gs[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Gs[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Gs[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Gs),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const Gs=[new U,new U,new U,new U,new U,new U,new U,new U],Zr=new U,Tp=new Ni,nc=new U,ic=new U,rc=new U,Bo=new U,Ho=new U,Fa=new U,hf=new U,Cp=new U,Ap=new U,za=new U;function M1(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){za.fromArray(n,s);const a=r.x*Math.abs(za.x)+r.y*Math.abs(za.y)+r.z*Math.abs(za.z),l=e.dot(za),u=t.dot(za),d=i.dot(za);if(Math.max(-Math.max(l,u,d),Math.min(l,u,d))>a)return!1}return!0}const Ak=new Ni,pf=new U,b1=new U;class _i{constructor(e=new U,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const i=this.center;t!==void 0?i.copy(t):Ak.setFromPoints(e).getCenter(i);let r=0;for(let s=0,o=e.length;sthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;pf.subVectors(e,this.center);const t=pf.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(pf,r/i),this.radius+=r}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(b1.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(pf.copy(e.center).add(b1)),this.expandByPoint(pf.copy(e.center).sub(b1))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const js=new U,T1=new U,Rp=new U,Vo=new U,C1=new U,Pp=new U,A1=new U;class Il{constructor(e=new U,t=new U(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,js)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const i=t.dot(this.direction);return i<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,i)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=js.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(js.copy(this.origin).addScaledVector(this.direction,t),js.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){T1.copy(e).add(t).multiplyScalar(.5),Rp.copy(t).sub(e).normalize(),Vo.copy(this.origin).sub(T1);const s=e.distanceTo(t)*.5,o=-this.direction.dot(Rp),a=Vo.dot(this.direction),l=-Vo.dot(Rp),u=Vo.lengthSq(),d=Math.abs(1-o*o);let h,p,m,v;if(d>0)if(h=o*l-a,p=o*a-l,v=s*d,h>=0)if(p>=-v)if(p<=v){const w=1/d;h*=w,p*=w,m=h*(h+o*p+2*a)+p*(o*h+p+2*l)+u}else p=s,h=Math.max(0,-(o*p+a)),m=-h*h+p*(p+2*l)+u;else p=-s,h=Math.max(0,-(o*p+a)),m=-h*h+p*(p+2*l)+u;else p<=-v?(h=Math.max(0,-(-o*s+a)),p=h>0?-s:Math.min(Math.max(-s,-l),s),m=-h*h+p*(p+2*l)+u):p<=v?(h=0,p=Math.min(Math.max(-s,-l),s),m=p*(p+2*l)+u):(h=Math.max(0,-(o*s+a)),p=h>0?s:Math.min(Math.max(-s,-l),s),m=-h*h+p*(p+2*l)+u);else p=o>0?-s:s,h=Math.max(0,-(o*p+a)),m=-h*h+p*(p+2*l)+u;return i&&i.copy(this.origin).addScaledVector(this.direction,h),r&&r.copy(T1).addScaledVector(Rp,p),m}intersectSphere(e,t){js.subVectors(e.center,this.origin);const i=js.dot(this.direction),r=js.dot(js)-i*i,s=e.radius*e.radius;if(r>s)return null;const o=Math.sqrt(s-r),a=i-o,l=i+o;return l<0?null:a<0?this.at(l,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){const i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,r,s,o,a,l;const u=1/this.direction.x,d=1/this.direction.y,h=1/this.direction.z,p=this.origin;return u>=0?(i=(e.min.x-p.x)*u,r=(e.max.x-p.x)*u):(i=(e.max.x-p.x)*u,r=(e.min.x-p.x)*u),d>=0?(s=(e.min.y-p.y)*d,o=(e.max.y-p.y)*d):(s=(e.max.y-p.y)*d,o=(e.min.y-p.y)*d),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-p.z)*h,l=(e.max.z-p.z)*h):(a=(e.max.z-p.z)*h,l=(e.min.z-p.z)*h),i>l||a>r)||((a>i||i!==i)&&(i=a),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,js)!==null}intersectTriangle(e,t,i,r,s){C1.subVectors(t,e),Pp.subVectors(i,e),A1.crossVectors(C1,Pp);let o=this.direction.dot(A1),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;Vo.subVectors(this.origin,e);const l=a*this.direction.dot(Pp.crossVectors(Vo,Pp));if(l<0)return null;const u=a*this.direction.dot(C1.cross(Vo));if(u<0||l+u>o)return null;const d=-a*Vo.dot(A1);return d<0?null:this.at(d/o,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class ft{constructor(e,t,i,r,s,o,a,l,u,d,h,p,m,v,w,x){ft.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,u,d,h,p,m,v,w,x)}set(e,t,i,r,s,o,a,l,u,d,h,p,m,v,w,x){const g=this.elements;return g[0]=e,g[4]=t,g[8]=i,g[12]=r,g[1]=s,g[5]=o,g[9]=a,g[13]=l,g[2]=u,g[6]=d,g[10]=h,g[14]=p,g[3]=m,g[7]=v,g[11]=w,g[15]=x,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new ft().fromArray(this.elements)}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){const t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,i=e.elements,r=1/sc.setFromMatrixColumn(e,0).length(),s=1/sc.setFromMatrixColumn(e,1).length(),o=1/sc.setFromMatrixColumn(e,2).length();return t[0]=i[0]*r,t[1]=i[1]*r,t[2]=i[2]*r,t[3]=0,t[4]=i[4]*s,t[5]=i[5]*s,t[6]=i[6]*s,t[7]=0,t[8]=i[8]*o,t[9]=i[9]*o,t[10]=i[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,i=e.x,r=e.y,s=e.z,o=Math.cos(i),a=Math.sin(i),l=Math.cos(r),u=Math.sin(r),d=Math.cos(s),h=Math.sin(s);if(e.order==="XYZ"){const p=o*d,m=o*h,v=a*d,w=a*h;t[0]=l*d,t[4]=-l*h,t[8]=u,t[1]=m+v*u,t[5]=p-w*u,t[9]=-a*l,t[2]=w-p*u,t[6]=v+m*u,t[10]=o*l}else if(e.order==="YXZ"){const p=l*d,m=l*h,v=u*d,w=u*h;t[0]=p+w*a,t[4]=v*a-m,t[8]=o*u,t[1]=o*h,t[5]=o*d,t[9]=-a,t[2]=m*a-v,t[6]=w+p*a,t[10]=o*l}else if(e.order==="ZXY"){const p=l*d,m=l*h,v=u*d,w=u*h;t[0]=p-w*a,t[4]=-o*h,t[8]=v+m*a,t[1]=m+v*a,t[5]=o*d,t[9]=w-p*a,t[2]=-o*u,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const p=o*d,m=o*h,v=a*d,w=a*h;t[0]=l*d,t[4]=v*u-m,t[8]=p*u+w,t[1]=l*h,t[5]=w*u+p,t[9]=m*u-v,t[2]=-u,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const p=o*l,m=o*u,v=a*l,w=a*u;t[0]=l*d,t[4]=w-p*h,t[8]=v*h+m,t[1]=h,t[5]=o*d,t[9]=-a*d,t[2]=-u*d,t[6]=m*h+v,t[10]=p-w*h}else if(e.order==="XZY"){const p=o*l,m=o*u,v=a*l,w=a*u;t[0]=l*d,t[4]=-h,t[8]=u*d,t[1]=p*h+w,t[5]=o*d,t[9]=m*h-v,t[2]=v*h-m,t[6]=a*d,t[10]=w*h+p}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Rk,e,Pk)}lookAt(e,t,i){const r=this.elements;return ir.subVectors(e,t),ir.lengthSq()===0&&(ir.z=1),ir.normalize(),Wo.crossVectors(i,ir),Wo.lengthSq()===0&&(Math.abs(i.z)===1?ir.x+=1e-4:ir.z+=1e-4,ir.normalize(),Wo.crossVectors(i,ir)),Wo.normalize(),Lp.crossVectors(ir,Wo),r[0]=Wo.x,r[4]=Lp.x,r[8]=ir.x,r[1]=Wo.y,r[5]=Lp.y,r[9]=ir.y,r[2]=Wo.z,r[6]=Lp.z,r[10]=ir.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[4],l=i[8],u=i[12],d=i[1],h=i[5],p=i[9],m=i[13],v=i[2],w=i[6],x=i[10],g=i[14],_=i[3],S=i[7],M=i[11],A=i[15],T=r[0],L=r[4],O=r[8],H=r[12],C=r[1],I=r[5],j=r[9],ee=r[13],z=r[2],J=r[6],Z=r[10],ne=r[14],k=r[3],W=r[7],Y=r[11],ie=r[15];return s[0]=o*T+a*C+l*z+u*k,s[4]=o*L+a*I+l*J+u*W,s[8]=o*O+a*j+l*Z+u*Y,s[12]=o*H+a*ee+l*ne+u*ie,s[1]=d*T+h*C+p*z+m*k,s[5]=d*L+h*I+p*J+m*W,s[9]=d*O+h*j+p*Z+m*Y,s[13]=d*H+h*ee+p*ne+m*ie,s[2]=v*T+w*C+x*z+g*k,s[6]=v*L+w*I+x*J+g*W,s[10]=v*O+w*j+x*Z+g*Y,s[14]=v*H+w*ee+x*ne+g*ie,s[3]=_*T+S*C+M*z+A*k,s[7]=_*L+S*I+M*J+A*W,s[11]=_*O+S*j+M*Z+A*Y,s[15]=_*H+S*ee+M*ne+A*ie,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[4],r=e[8],s=e[12],o=e[1],a=e[5],l=e[9],u=e[13],d=e[2],h=e[6],p=e[10],m=e[14],v=e[3],w=e[7],x=e[11],g=e[15];return v*(+s*l*h-r*u*h-s*a*p+i*u*p+r*a*m-i*l*m)+w*(+t*l*m-t*u*p+s*o*p-r*o*m+r*u*d-s*l*d)+x*(+t*u*h-t*a*m-s*o*h+i*o*m+s*a*d-i*u*d)+g*(-r*a*d-t*l*h+t*a*p+r*o*h-i*o*p+i*l*d)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=i),this}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],u=e[7],d=e[8],h=e[9],p=e[10],m=e[11],v=e[12],w=e[13],x=e[14],g=e[15],_=h*x*u-w*p*u+w*l*m-a*x*m-h*l*g+a*p*g,S=v*p*u-d*x*u-v*l*m+o*x*m+d*l*g-o*p*g,M=d*w*u-v*h*u+v*a*m-o*w*m-d*a*g+o*h*g,A=v*h*l-d*w*l-v*a*p+o*w*p+d*a*x-o*h*x,T=t*_+i*S+r*M+s*A;if(T===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const L=1/T;return e[0]=_*L,e[1]=(w*p*s-h*x*s-w*r*m+i*x*m+h*r*g-i*p*g)*L,e[2]=(a*x*s-w*l*s+w*r*u-i*x*u-a*r*g+i*l*g)*L,e[3]=(h*l*s-a*p*s-h*r*u+i*p*u+a*r*m-i*l*m)*L,e[4]=S*L,e[5]=(d*x*s-v*p*s+v*r*m-t*x*m-d*r*g+t*p*g)*L,e[6]=(v*l*s-o*x*s-v*r*u+t*x*u+o*r*g-t*l*g)*L,e[7]=(o*p*s-d*l*s+d*r*u-t*p*u-o*r*m+t*l*m)*L,e[8]=M*L,e[9]=(v*h*s-d*w*s-v*i*m+t*w*m+d*i*g-t*h*g)*L,e[10]=(o*w*s-v*a*s+v*i*u-t*w*u-o*i*g+t*a*g)*L,e[11]=(d*a*s-o*h*s-d*i*u+t*h*u+o*i*m-t*a*m)*L,e[12]=A*L,e[13]=(d*w*r-v*h*r+v*i*p-t*w*p-d*i*x+t*h*x)*L,e[14]=(v*a*r-o*w*r-v*i*l+t*w*l+o*i*x-t*a*x)*L,e[15]=(o*h*r-d*a*r+d*i*l-t*h*l-o*i*p+t*a*p)*L,this}scale(e){const t=this.elements,i=e.x,r=e.y,s=e.z;return t[0]*=i,t[4]*=r,t[8]*=s,t[1]*=i,t[5]*=r,t[9]*=s,t[2]*=i,t[6]*=r,t[10]*=s,t[3]*=i,t[7]*=r,t[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,i,r))}makeTranslation(e,t,i){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const i=Math.cos(t),r=Math.sin(t),s=1-i,o=e.x,a=e.y,l=e.z,u=s*o,d=s*a;return this.set(u*o+i,u*a-r*l,u*l+r*a,0,u*a+r*l,d*a+i,d*l-r*o,0,u*l-r*a,d*l+r*o,s*l*l+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,r,s,o){return this.set(1,i,s,0,e,1,o,0,t,r,1,0,0,0,0,1),this}compose(e,t,i){const r=this.elements,s=t._x,o=t._y,a=t._z,l=t._w,u=s+s,d=o+o,h=a+a,p=s*u,m=s*d,v=s*h,w=o*d,x=o*h,g=a*h,_=l*u,S=l*d,M=l*h,A=i.x,T=i.y,L=i.z;return r[0]=(1-(w+g))*A,r[1]=(m+M)*A,r[2]=(v-S)*A,r[3]=0,r[4]=(m-M)*T,r[5]=(1-(p+g))*T,r[6]=(x+_)*T,r[7]=0,r[8]=(v+S)*L,r[9]=(x-_)*L,r[10]=(1-(p+w))*L,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,i){const r=this.elements;let s=sc.set(r[0],r[1],r[2]).length();const o=sc.set(r[4],r[5],r[6]).length(),a=sc.set(r[8],r[9],r[10]).length();this.determinant()<0&&(s=-s),e.x=r[12],e.y=r[13],e.z=r[14],Kr.copy(this);const u=1/s,d=1/o,h=1/a;return Kr.elements[0]*=u,Kr.elements[1]*=u,Kr.elements[2]*=u,Kr.elements[4]*=d,Kr.elements[5]*=d,Kr.elements[6]*=d,Kr.elements[8]*=h,Kr.elements[9]*=h,Kr.elements[10]*=h,t.setFromRotationMatrix(Kr),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=Rs){const l=this.elements,u=2*s/(t-e),d=2*s/(i-r),h=(t+e)/(t-e),p=(i+r)/(i-r);let m,v;if(a===Rs)m=-(o+s)/(o-s),v=-2*o*s/(o-s);else if(a===Ad)m=-o/(o-s),v=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=u,l[4]=0,l[8]=h,l[12]=0,l[1]=0,l[5]=d,l[9]=p,l[13]=0,l[2]=0,l[6]=0,l[10]=m,l[14]=v,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,o,a=Rs){const l=this.elements,u=1/(t-e),d=1/(i-r),h=1/(o-s),p=(t+e)*u,m=(i+r)*d;let v,w;if(a===Rs)v=(o+s)*h,w=-2*h;else if(a===Ad)v=s*h,w=-1*h;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*u,l[4]=0,l[8]=0,l[12]=-p,l[1]=0,l[5]=2*d,l[9]=0,l[13]=-m,l[2]=0,l[6]=0,l[10]=w,l[14]=-v,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<16;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<16;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e[t+9]=i[9],e[t+10]=i[10],e[t+11]=i[11],e[t+12]=i[12],e[t+13]=i[13],e[t+14]=i[14],e[t+15]=i[15],e}}const sc=new U,Kr=new ft,Rk=new U(0,0,0),Pk=new U(1,1,1),Wo=new U,Lp=new U,ir=new U,z2=new ft,B2=new xi;class gr{constructor(e=0,t=0,i=0,r=gr.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=i,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,i,r=this._order){return this._x=e,this._y=t,this._z=i,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,i=!0){const r=e.elements,s=r[0],o=r[4],a=r[8],l=r[1],u=r[5],d=r[9],h=r[2],p=r[6],m=r[10];switch(t){case"XYZ":this._y=Math.asin(Sn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-d,m),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(p,u),this._z=0);break;case"YXZ":this._x=Math.asin(-Sn(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(a,m),this._z=Math.atan2(l,u)):(this._y=Math.atan2(-h,s),this._z=0);break;case"ZXY":this._x=Math.asin(Sn(p,-1,1)),Math.abs(p)<.9999999?(this._y=Math.atan2(-h,m),this._z=Math.atan2(-o,u)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Sn(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(p,m),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,u));break;case"YZX":this._z=Math.asin(Sn(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-d,u),this._y=Math.atan2(-h,s)):(this._x=0,this._y=Math.atan2(a,m));break;case"XZY":this._z=Math.asin(-Sn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(p,u),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-d,m),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,i===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,i){return z2.makeRotationFromQuaternion(e),this.setFromRotationMatrix(z2,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return B2.setFromEuler(this),this.setFromQuaternion(B2,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}gr.DEFAULT_ORDER="XYZ";class gl{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let t=0;t1){for(let i=0;i0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type="BatchedMesh",r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.visibility=this._visibility,r.active=this._active,r.bounds=this._bounds.map(a=>({boxInitialized:a.boxInitialized,boxMin:a.box.min.toArray(),boxMax:a.box.max.toArray(),sphereInitialized:a.sphereInitialized,sphereRadius:a.sphere.radius,sphereCenter:a.sphere.center.toArray()})),r.maxGeometryCount=this._maxGeometryCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.geometryCount=this._geometryCount,r.matricesTexture=this._matricesTexture.toJSON(e),this.boundingSphere!==null&&(r.boundingSphere={center:r.boundingSphere.center.toArray(),radius:r.boundingSphere.radius}),this.boundingBox!==null&&(r.boundingBox={min:r.boundingBox.min.toArray(),max:r.boundingBox.max.toArray()}));function s(a,l){return a[l.uuid]===void 0&&(a[l.uuid]=l.toJSON(e)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=s(e.geometries,this.geometry);const a=this.geometry.parameters;if(a!==void 0&&a.shapes!==void 0){const l=a.shapes;if(Array.isArray(l))for(let u=0,d=l.length;u0){r.children=[];for(let a=0;a0){r.animations=[];for(let a=0;a0&&(i.geometries=a),l.length>0&&(i.materials=l),u.length>0&&(i.textures=u),d.length>0&&(i.images=d),h.length>0&&(i.shapes=h),p.length>0&&(i.skeletons=p),m.length>0&&(i.animations=m),v.length>0&&(i.nodes=v)}return i.object=r,i;function o(a){const l=[];for(const u in a){const d=a[u];delete d.metadata,l.push(d)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let i=0;i0?r.multiplyScalar(1/Math.sqrt(s)):r.set(0,0,0)}static getBarycoord(e,t,i,r,s){Jr.subVectors(r,t),Ys.subVectors(i,t),L1.subVectors(e,t);const o=Jr.dot(Jr),a=Jr.dot(Ys),l=Jr.dot(L1),u=Ys.dot(Ys),d=Ys.dot(L1),h=o*u-a*a;if(h===0)return s.set(0,0,0),null;const p=1/h,m=(u*l-a*d)*p,v=(o*d-a*l)*p;return s.set(1-m-v,v,m)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,qs)===null?!1:qs.x>=0&&qs.y>=0&&qs.x+qs.y<=1}static getInterpolation(e,t,i,r,s,o,a,l){return this.getBarycoord(e,t,i,r,qs)===null?(l.x=0,l.y=0,"z"in l&&(l.z=0),"w"in l&&(l.w=0),null):(l.setScalar(0),l.addScaledVector(s,qs.x),l.addScaledVector(o,qs.y),l.addScaledVector(a,qs.z),l)}static isFrontFacing(e,t,i,r){return Jr.subVectors(i,t),Ys.subVectors(e,t),Jr.cross(Ys).dot(r)<0}set(e,t,i){return this.a.copy(e),this.b.copy(t),this.c.copy(i),this}setFromPointsAndIndices(e,t,i,r){return this.a.copy(e[t]),this.b.copy(e[i]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,i,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,i),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return Jr.subVectors(this.c,this.b),Ys.subVectors(this.a,this.b),Jr.cross(Ys).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return cr.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return cr.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return cr.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return cr.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return cr.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const i=this.a,r=this.b,s=this.c;let o,a;ac.subVectors(r,i),lc.subVectors(s,i),I1.subVectors(e,i);const l=ac.dot(I1),u=lc.dot(I1);if(l<=0&&u<=0)return t.copy(i);O1.subVectors(e,r);const d=ac.dot(O1),h=lc.dot(O1);if(d>=0&&h<=d)return t.copy(r);const p=l*h-d*u;if(p<=0&&l>=0&&d<=0)return o=l/(l-d),t.copy(i).addScaledVector(ac,o);D1.subVectors(e,s);const m=ac.dot(D1),v=lc.dot(D1);if(v>=0&&m<=v)return t.copy(s);const w=m*u-l*v;if(w<=0&&u>=0&&v<=0)return a=u/(u-v),t.copy(i).addScaledVector(lc,a);const x=d*v-m*h;if(x<=0&&h-d>=0&&m-v>=0)return G2.subVectors(s,r),a=(h-d)/(h-d+(m-v)),t.copy(r).addScaledVector(G2,a);const g=1/(x+w+p);return o=w*g,a=p*g,t.copy(i).addScaledVector(ac,o).addScaledVector(lc,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const RP={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},$o={h:0,s:0,l:0},Op={h:0,s:0,l:0};function N1(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*6*(2/3-t):n}let je=class{constructor(e,t,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,i)}set(e,t,i){if(t===void 0&&i===void 0){const r=e;r&&r.isColor?this.copy(r):typeof r=="number"?this.setHex(r):typeof r=="string"&&this.setStyle(r)}else this.setRGB(e,t,i);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=Dr){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,Ht.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=Ht.workingColorSpace){return this.r=e,this.g=t,this.b=i,Ht.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=Ht.workingColorSpace){if(e=WS(e,1),t=Sn(t,0,1),i=Sn(i,0,1),t===0)this.r=this.g=this.b=i;else{const s=i<=.5?i*(1+t):i+t-i*t,o=2*i-s;this.r=N1(o,s,e+1/3),this.g=N1(o,s,e),this.b=N1(o,s,e-1/3)}return Ht.toWorkingColorSpace(this,r),this}setStyle(e,t=Dr){function i(s){s!==void 0&&parseFloat(s)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let s;const o=r[1],a=r[2];switch(o){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,t);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,t);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){const s=r[1],o=s.length;if(o===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,t);if(o===6)return this.setHex(parseInt(s,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=Dr){const i=RP[e.toLowerCase()];return i!==void 0?this.setHex(i,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=tu(e.r),this.g=tu(e.g),this.b=tu(e.b),this}copyLinearToSRGB(e){return this.r=S1(e.r),this.g=S1(e.g),this.b=S1(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Dr){return Ht.fromWorkingColorSpace(di.copy(this),e),Math.round(Sn(di.r*255,0,255))*65536+Math.round(Sn(di.g*255,0,255))*256+Math.round(Sn(di.b*255,0,255))}getHexString(e=Dr){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=Ht.workingColorSpace){Ht.fromWorkingColorSpace(di.copy(this),t);const i=di.r,r=di.g,s=di.b,o=Math.max(i,r,s),a=Math.min(i,r,s);let l,u;const d=(a+o)/2;if(a===o)l=0,u=0;else{const h=o-a;switch(u=d<=.5?h/(o+a):h/(2-o-a),o){case i:l=(r-s)/h+(r0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const i=e[t];if(i===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(i):r&&r.isVector3&&i&&i.isVector3?r.copy(i):this[t]=i}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const i={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapRotation!==void 0&&(i.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==ho&&(i.blending=this.blending),this.side!==xo&&(i.side=this.side),this.vertexColors===!0&&(i.vertexColors=!0),this.opacity<1&&(i.opacity=this.opacity),this.transparent===!0&&(i.transparent=!0),this.blendSrc!==xg&&(i.blendSrc=this.blendSrc),this.blendDst!==_g&&(i.blendDst=this.blendDst),this.blendEquation!==Qo&&(i.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(i.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(i.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(i.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(i.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(i.blendAlpha=this.blendAlpha),this.depthFunc!==gd&&(i.depthFunc=this.depthFunc),this.depthTest===!1&&(i.depthTest=this.depthTest),this.depthWrite===!1&&(i.depthWrite=this.depthWrite),this.colorWrite===!1&&(i.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(i.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==Zx&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==el&&(i.stencilFail=this.stencilFail),this.stencilZFail!==el&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==el&&(i.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(i.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(i.rotation=this.rotation),this.polygonOffset===!0&&(i.polygonOffset=!0),this.polygonOffsetFactor!==0&&(i.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(i.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(i.linewidth=this.linewidth),this.dashSize!==void 0&&(i.dashSize=this.dashSize),this.gapSize!==void 0&&(i.gapSize=this.gapSize),this.scale!==void 0&&(i.scale=this.scale),this.dithering===!0&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),this.alphaHash===!0&&(i.alphaHash=!0),this.alphaToCoverage===!0&&(i.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(i.premultipliedAlpha=!0),this.forceSinglePass===!0&&(i.forceSinglePass=!0),this.wireframe===!0&&(i.wireframe=!0),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(i.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(i.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(i.flatShading=!0),this.visible===!1&&(i.visible=!1),this.toneMapped===!1&&(i.toneMapped=!1),this.fog===!1&&(i.fog=!1),Object.keys(this.userData).length>0&&(i.userData=this.userData);function r(s){const o=[];for(const a in s){const l=s[a];delete l.metadata,o.push(l)}return o}if(t){const s=r(e.textures),o=r(e.images);s.length>0&&(i.textures=s),o.length>0&&(i.images=o)}return i}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let i=null;if(t!==null){const r=t.length;i=new Array(r);for(let s=0;s!==r;++s)i[s]=t[s].clone()}return this.clippingPlanes=i,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}}class Ta extends ri{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new je(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new gr,this.combine=qd,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const io=Uk();function Uk(){const n=new ArrayBuffer(4),e=new Float32Array(n),t=new Uint32Array(n),i=new Uint32Array(512),r=new Uint32Array(512);for(let l=0;l<256;++l){const u=l-127;u<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):u<-14?(i[l]=1024>>-u-14,i[l|256]=1024>>-u-14|32768,r[l]=-u-1,r[l|256]=-u-1):u<=15?(i[l]=u+15<<10,i[l|256]=u+15<<10|32768,r[l]=13,r[l|256]=13):u<128?(i[l]=31744,i[l|256]=64512,r[l]=24,r[l|256]=24):(i[l]=31744,i[l|256]=64512,r[l]=13,r[l|256]=13)}const s=new Uint32Array(2048),o=new Uint32Array(64),a=new Uint32Array(64);for(let l=1;l<1024;++l){let u=l<<13,d=0;for(;!(u&8388608);)u<<=1,d-=8388608;u&=-8388609,d+=947912704,s[l]=u|d}for(let l=1024;l<2048;++l)s[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)o[l]=l<<23;o[31]=1199570944,o[32]=2147483648;for(let l=33;l<63;++l)o[l]=2147483648+(l-32<<23);o[63]=3347054592;for(let l=1;l<64;++l)l!==32&&(a[l]=1024);return{floatView:e,uint32View:t,baseTable:i,shiftTable:r,mantissaTable:s,exponentTable:o,offsetTable:a}}function Vi(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=Sn(n,-65504,65504),io.floatView[0]=n;const e=io.uint32View[0],t=e>>23&511;return io.baseTable[t]+((e&8388607)>>io.shiftTable[t])}function Df(n){const e=n>>10;return io.uint32View[0]=io.mantissaTable[io.offsetTable[e]+(n&1023)]+io.exponentTable[e],io.floatView[0]}const Fk={toHalfFloat:Vi,fromHalfFloat:Df},Dn=new U,Dp=new ve;class Gt{constructor(e,t,i=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=i,this.usage=Cd,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=lr,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return CP("THREE.BufferAttribute: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,i){e*=this.itemSize,i*=t.itemSize;for(let r=0,s=this.itemSize;r0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const u in l)l[u]!==void 0&&(e[u]=l[u]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const i=this.attributes;for(const l in i){const u=i[l];e.data.attributes[l]=u.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const u=this.morphAttributes[l],d=[];for(let h=0,p=u.length;h0&&(r[l]=d,s=!0)}s&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const i=e.index;i!==null&&this.setIndex(i.clone(t));const r=e.attributes;for(const u in r){const d=r[u];this.setAttribute(u,d.clone(t))}const s=e.morphAttributes;for(const u in s){const d=[],h=s[u];for(let p=0,m=h.length;p0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s(e.far-e.near)**2))&&(j2.copy(s).invert(),Ba.copy(e.ray).applyMatrix4(j2),!(i.boundingBox!==null&&Ba.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,Ba)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,u=s.attributes.uv,d=s.attributes.uv1,h=s.attributes.normal,p=s.groups,m=s.drawRange;if(a!==null)if(Array.isArray(o))for(let v=0,w=p.length;vt.far?null:{distance:u,point:Hp.clone(),object:n}}function Vp(n,e,t,i,r,s,o,a,l,u){n.getVertexPosition(a,uc),n.getVertexPosition(l,fc),n.getVertexPosition(u,dc);const d=jk(n,e,t,i,uc,fc,dc,Bp);if(d){r&&(Up.fromBufferAttribute(r,a),Fp.fromBufferAttribute(r,l),zp.fromBufferAttribute(r,u),d.uv=cr.getInterpolation(Bp,uc,fc,dc,Up,Fp,zp,new ve)),s&&(Up.fromBufferAttribute(s,a),Fp.fromBufferAttribute(s,l),zp.fromBufferAttribute(s,u),d.uv1=cr.getInterpolation(Bp,uc,fc,dc,Up,Fp,zp,new ve)),o&&(Y2.fromBufferAttribute(o,a),q2.fromBufferAttribute(o,l),Z2.fromBufferAttribute(o,u),d.normal=cr.getInterpolation(Bp,uc,fc,dc,Y2,q2,Z2,new U),d.normal.dot(i.direction)>0&&d.normal.multiplyScalar(-1));const h={a,b:l,c:u,normal:new U,materialIndex:0};cr.getNormal(uc,fc,dc,h.normal),d.face=h}return d}class Ol extends At{constructor(e=1,t=1,i=1,r=1,s=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:i,widthSegments:r,heightSegments:s,depthSegments:o};const a=this;r=Math.floor(r),s=Math.floor(s),o=Math.floor(o);const l=[],u=[],d=[],h=[];let p=0,m=0;v("z","y","x",-1,-1,i,t,e,o,s,0),v("z","y","x",1,-1,i,t,-e,o,s,1),v("x","z","y",1,1,e,i,t,r,o,2),v("x","z","y",1,-1,e,i,-t,r,o,3),v("x","y","z",1,-1,e,t,i,r,s,4),v("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new Qe(u,3)),this.setAttribute("normal",new Qe(d,3)),this.setAttribute("uv",new Qe(h,2));function v(w,x,g,_,S,M,A,T,L,O,H){const C=M/L,I=A/O,j=M/2,ee=A/2,z=T/2,J=L+1,Z=O+1;let ne=0,k=0;const W=new U;for(let Y=0;Y0?1:-1,d.push(W.x,W.y,W.z),h.push(me/L),h.push(1-Y/O),ne+=1}}for(let Y=0;Y0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const i={};for(const r in this.extensions)this.extensions[r]===!0&&(i[r]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}}class Kd extends Lt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new ft,this.projectionMatrix=new ft,this.projectionMatrixInverse=new ft,this.coordinateSystem=Rs}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const Go=new U,K2=new ve,J2=new ve;class wn extends Kd{constructor(e=50,t=1,i=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=i,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=du*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(ml*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return du*2*Math.atan(Math.tan(ml*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,i){Go.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Go.x,Go.y).multiplyScalar(-e/Go.z),Go.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(Go.x,Go.y).multiplyScalar(-e/Go.z)}getViewSize(e,t){return this.getViewBounds(e,K2,J2),t.subVectors(J2,K2)}setViewOffset(e,t,i,r,s,o){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(ml*.5*this.fov)/this.zoom,i=2*t,r=this.aspect*i,s=-.5*r;const o=this.view;if(this.view!==null&&this.view.enabled){const l=o.fullWidth,u=o.fullHeight;s+=o.offsetX*r/l,t-=o.offsetY*i/u,r*=o.width/l,i*=o.height/u}const a=this.filmOffset;a!==0&&(s+=e*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+r,t,t-i,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const hc=-90,pc=1;class IP extends Lt{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new wn(hc,pc,e,t);r.layers=this.layers,this.add(r);const s=new wn(hc,pc,e,t);s.layers=this.layers,this.add(s);const o=new wn(hc,pc,e,t);o.layers=this.layers,this.add(o);const a=new wn(hc,pc,e,t);a.layers=this.layers,this.add(a);const l=new wn(hc,pc,e,t);l.layers=this.layers,this.add(l);const u=new wn(hc,pc,e,t);u.layers=this.layers,this.add(u)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,s,o,a,l]=t;for(const u of t)this.remove(u);if(e===Rs)i.up.set(0,1,0),i.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),s.up.set(0,0,-1),s.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),a.up.set(0,1,0),a.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===Ad)i.up.set(0,-1,0),i.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const u of t)this.add(u),u.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:i,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,o,a,l,u,d]=this.children,h=e.getRenderTarget(),p=e.getActiveCubeFace(),m=e.getActiveMipmapLevel(),v=e.xr.enabled;e.xr.enabled=!1;const w=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,e.setRenderTarget(i,0,r),e.render(t,s),e.setRenderTarget(i,1,r),e.render(t,o),e.setRenderTarget(i,2,r),e.render(t,a),e.setRenderTarget(i,3,r),e.render(t,l),e.setRenderTarget(i,4,r),e.render(t,u),i.texture.generateMipmaps=w,e.setRenderTarget(i,5,r),e.render(t,d),e.setRenderTarget(h,p,m),e.xr.enabled=v,i.texture.needsPMREMUpdate=!0}}class Jd extends pn{constructor(e,t,i,r,s,o,a,l,u,d){e=e!==void 0?e:[],t=t!==void 0?t:_o,super(e,t,i,r,s,o,a,l,u,d),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class OP extends ls{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const i={width:e,height:e,depth:1},r=[i,i,i,i,i,i];this.texture=new Jd(r,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:un}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const i={uniforms:{tEquirect:{value:null}},vertexShader:` - - varying vec3 vWorldDirection; - - vec3 transformDirection( in vec3 dir, in mat4 matrix ) { - - return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); - - } - - void main() { - - vWorldDirection = transformDirection( position, modelMatrix ); - - #include - #include - - } - `,fragmentShader:` - - uniform sampler2D tEquirect; - - varying vec3 vWorldDirection; - - #include - - void main() { - - vec3 direction = normalize( vWorldDirection ); - - vec2 sampleUV = equirectUv( direction ); - - gl_FragColor = texture2D( tEquirect, sampleUV ); - - } - `},r=new Ol(5,5,5),s=new cs({name:"CubemapFromEquirect",uniforms:hu(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:Di,blending:fo});s.uniforms.tEquirect.value=t;const o=new Pn(r,s),a=t.minFilter;return t.minFilter===As&&(t.minFilter=un),new IP(1,10,this).update(e,o),t.minFilter=a,o.geometry.dispose(),o.material.dispose(),this}clear(e,t,i,r){const s=e.getRenderTarget();for(let o=0;o<6;o++)e.setRenderTarget(this,o),e.clear(t,i,r);e.setRenderTarget(s)}}const F1=new U,Zk=new U,Kk=new Mt;class eo{constructor(e=new U(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,i,r){return this.normal.set(e,t,i),this.constant=r,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,i){const r=F1.subVectors(i,t).cross(Zk.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(r,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){const i=e.delta(F1),r=this.normal.dot(i);if(r===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;const s=-(e.start.dot(this.normal)+this.constant)/r;return s<0||s>1?null:t.copy(e.start).addScaledVector(i,s)}intersectsLine(e){const t=this.distanceToPoint(e.start),i=this.distanceToPoint(e.end);return t<0&&i>0||i<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const i=t||Kk.getNormalMatrix(e),r=this.coplanarPoint(F1).applyMatrix4(e),s=this.normal.applyMatrix3(i).normalize();return this.constant=-r.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Ha=new _i,Wp=new U;class Qd{constructor(e=new eo,t=new eo,i=new eo,r=new eo,s=new eo,o=new eo){this.planes=[e,t,i,r,s,o]}set(e,t,i,r,s,o){const a=this.planes;return a[0].copy(e),a[1].copy(t),a[2].copy(i),a[3].copy(r),a[4].copy(s),a[5].copy(o),this}copy(e){const t=this.planes;for(let i=0;i<6;i++)t[i].copy(e.planes[i]);return this}setFromProjectionMatrix(e,t=Rs){const i=this.planes,r=e.elements,s=r[0],o=r[1],a=r[2],l=r[3],u=r[4],d=r[5],h=r[6],p=r[7],m=r[8],v=r[9],w=r[10],x=r[11],g=r[12],_=r[13],S=r[14],M=r[15];if(i[0].setComponents(l-s,p-u,x-m,M-g).normalize(),i[1].setComponents(l+s,p+u,x+m,M+g).normalize(),i[2].setComponents(l+o,p+d,x+v,M+_).normalize(),i[3].setComponents(l-o,p-d,x-v,M-_).normalize(),i[4].setComponents(l-a,p-h,x-w,M-S).normalize(),t===Rs)i[5].setComponents(l+a,p+h,x+w,M+S).normalize();else if(t===Ad)i[5].setComponents(a,h,w,S).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Ha.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Ha.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Ha)}intersectsSprite(e){return Ha.center.set(0,0,0),Ha.radius=.7071067811865476,Ha.applyMatrix4(e.matrixWorld),this.intersectsSphere(Ha)}intersectsSphere(e){const t=this.planes,i=e.center,r=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(i)0?e.max.x:e.min.x,Wp.y=r.normal.y>0?e.max.y:e.min.y,Wp.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Wp)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let i=0;i<6;i++)if(t[i].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function DP(){let n=null,e=!1,t=null,i=null;function r(s,o){t(s,o),i=n.requestAnimationFrame(r)}return{start:function(){e!==!0&&t!==null&&(i=n.requestAnimationFrame(r),e=!0)},stop:function(){n.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(s){t=s},setContext:function(s){n=s}}}function Jk(n,e){const t=e.isWebGL2,i=new WeakMap;function r(u,d){const h=u.array,p=u.usage,m=h.byteLength,v=n.createBuffer();n.bindBuffer(d,v),n.bufferData(d,h,p),u.onUploadCallback();let w;if(h instanceof Float32Array)w=n.FLOAT;else if(h instanceof Uint16Array)if(u.isFloat16BufferAttribute)if(t)w=n.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else w=n.UNSIGNED_SHORT;else if(h instanceof Int16Array)w=n.SHORT;else if(h instanceof Uint32Array)w=n.UNSIGNED_INT;else if(h instanceof Int32Array)w=n.INT;else if(h instanceof Int8Array)w=n.BYTE;else if(h instanceof Uint8Array)w=n.UNSIGNED_BYTE;else if(h instanceof Uint8ClampedArray)w=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+h);return{buffer:v,type:w,bytesPerElement:h.BYTES_PER_ELEMENT,version:u.version,size:m}}function s(u,d,h){const p=d.array,m=d._updateRange,v=d.updateRanges;if(n.bindBuffer(h,u),m.count===-1&&v.length===0&&n.bufferSubData(h,0,p),v.length!==0){for(let w=0,x=v.length;w 0 - vec4 plane; - #ifdef ALPHA_TO_COVERAGE - float distanceToPlane, distanceGradient; - float clipOpacity = 1.0; - #pragma unroll_loop_start - for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { - plane = clippingPlanes[ i ]; - distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; - distanceGradient = fwidth( distanceToPlane ) / 2.0; - clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); - if ( clipOpacity == 0.0 ) discard; - } - #pragma unroll_loop_end - #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES - float unionClipOpacity = 1.0; - #pragma unroll_loop_start - for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { - plane = clippingPlanes[ i ]; - distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; - distanceGradient = fwidth( distanceToPlane ) / 2.0; - unionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); - } - #pragma unroll_loop_end - clipOpacity *= 1.0 - unionClipOpacity; - #endif - diffuseColor.a *= clipOpacity; - if ( diffuseColor.a == 0.0 ) discard; - #else - #pragma unroll_loop_start - for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { - plane = clippingPlanes[ i ]; - if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard; - } - #pragma unroll_loop_end - #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES - bool clipped = true; - #pragma unroll_loop_start - for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { - plane = clippingPlanes[ i ]; - clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped; - } - #pragma unroll_loop_end - if ( clipped ) discard; - #endif - #endif -#endif`,m9=`#if NUM_CLIPPING_PLANES > 0 - varying vec3 vClipPosition; - uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; -#endif`,g9=`#if NUM_CLIPPING_PLANES > 0 - varying vec3 vClipPosition; -#endif`,v9=`#if NUM_CLIPPING_PLANES > 0 - vClipPosition = - mvPosition.xyz; -#endif`,y9=`#if defined( USE_COLOR_ALPHA ) - diffuseColor *= vColor; -#elif defined( USE_COLOR ) - diffuseColor.rgb *= vColor; -#endif`,x9=`#if defined( USE_COLOR_ALPHA ) - varying vec4 vColor; -#elif defined( USE_COLOR ) - varying vec3 vColor; -#endif`,_9=`#if defined( USE_COLOR_ALPHA ) - varying vec4 vColor; -#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) - varying vec3 vColor; -#endif`,S9=`#if defined( USE_COLOR_ALPHA ) - vColor = vec4( 1.0 ); -#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) - vColor = vec3( 1.0 ); -#endif -#ifdef USE_COLOR - vColor *= color; -#endif -#ifdef USE_INSTANCING_COLOR - vColor.xyz *= instanceColor.xyz; -#endif`,w9=`#define PI 3.141592653589793 -#define PI2 6.283185307179586 -#define PI_HALF 1.5707963267948966 -#define RECIPROCAL_PI 0.3183098861837907 -#define RECIPROCAL_PI2 0.15915494309189535 -#define EPSILON 1e-6 -#ifndef saturate -#define saturate( a ) clamp( a, 0.0, 1.0 ) -#endif -#define whiteComplement( a ) ( 1.0 - saturate( a ) ) -float pow2( const in float x ) { return x*x; } -vec3 pow2( const in vec3 x ) { return x*x; } -float pow3( const in float x ) { return x*x*x; } -float pow4( const in float x ) { float x2 = x*x; return x2*x2; } -float max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); } -float average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); } -highp float rand( const in vec2 uv ) { - const highp float a = 12.9898, b = 78.233, c = 43758.5453; - highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI ); - return fract( sin( sn ) * c ); -} -#ifdef HIGH_PRECISION - float precisionSafeLength( vec3 v ) { return length( v ); } -#else - float precisionSafeLength( vec3 v ) { - float maxComponent = max3( abs( v ) ); - return length( v / maxComponent ) * maxComponent; - } -#endif -struct IncidentLight { - vec3 color; - vec3 direction; - bool visible; -}; -struct ReflectedLight { - vec3 directDiffuse; - vec3 directSpecular; - vec3 indirectDiffuse; - vec3 indirectSpecular; -}; -#ifdef USE_ALPHAHASH - varying vec3 vPosition; -#endif -vec3 transformDirection( in vec3 dir, in mat4 matrix ) { - return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); -} -vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) { - return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz ); -} -mat3 transposeMat3( const in mat3 m ) { - mat3 tmp; - tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x ); - tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y ); - tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z ); - return tmp; -} -float luminance( const in vec3 rgb ) { - const vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 ); - return dot( weights, rgb ); -} -bool isPerspectiveMatrix( mat4 m ) { - return m[ 2 ][ 3 ] == - 1.0; -} -vec2 equirectUv( in vec3 dir ) { - float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5; - float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5; - return vec2( u, v ); -} -vec3 BRDF_Lambert( const in vec3 diffuseColor ) { - return RECIPROCAL_PI * diffuseColor; -} -vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { - float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); - return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); -} -float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { - float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); - return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); -} // validated`,E9=`#ifdef ENVMAP_TYPE_CUBE_UV - #define cubeUV_minMipLevel 4.0 - #define cubeUV_minTileSize 16.0 - float getFace( vec3 direction ) { - vec3 absDirection = abs( direction ); - float face = - 1.0; - if ( absDirection.x > absDirection.z ) { - if ( absDirection.x > absDirection.y ) - face = direction.x > 0.0 ? 0.0 : 3.0; - else - face = direction.y > 0.0 ? 1.0 : 4.0; - } else { - if ( absDirection.z > absDirection.y ) - face = direction.z > 0.0 ? 2.0 : 5.0; - else - face = direction.y > 0.0 ? 1.0 : 4.0; - } - return face; - } - vec2 getUV( vec3 direction, float face ) { - vec2 uv; - if ( face == 0.0 ) { - uv = vec2( direction.z, direction.y ) / abs( direction.x ); - } else if ( face == 1.0 ) { - uv = vec2( - direction.x, - direction.z ) / abs( direction.y ); - } else if ( face == 2.0 ) { - uv = vec2( - direction.x, direction.y ) / abs( direction.z ); - } else if ( face == 3.0 ) { - uv = vec2( - direction.z, direction.y ) / abs( direction.x ); - } else if ( face == 4.0 ) { - uv = vec2( - direction.x, direction.z ) / abs( direction.y ); - } else { - uv = vec2( direction.x, direction.y ) / abs( direction.z ); - } - return 0.5 * ( uv + 1.0 ); - } - vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) { - float face = getFace( direction ); - float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 ); - mipInt = max( mipInt, cubeUV_minMipLevel ); - float faceSize = exp2( mipInt ); - highp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0; - if ( face > 2.0 ) { - uv.y += faceSize; - face -= 3.0; - } - uv.x += face * faceSize; - uv.x += filterInt * 3.0 * cubeUV_minTileSize; - uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize ); - uv.x *= CUBEUV_TEXEL_WIDTH; - uv.y *= CUBEUV_TEXEL_HEIGHT; - #ifdef texture2DGradEXT - return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb; - #else - return texture2D( envMap, uv ).rgb; - #endif - } - #define cubeUV_r0 1.0 - #define cubeUV_m0 - 2.0 - #define cubeUV_r1 0.8 - #define cubeUV_m1 - 1.0 - #define cubeUV_r4 0.4 - #define cubeUV_m4 2.0 - #define cubeUV_r5 0.305 - #define cubeUV_m5 3.0 - #define cubeUV_r6 0.21 - #define cubeUV_m6 4.0 - float roughnessToMip( float roughness ) { - float mip = 0.0; - if ( roughness >= cubeUV_r1 ) { - mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0; - } else if ( roughness >= cubeUV_r4 ) { - mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1; - } else if ( roughness >= cubeUV_r5 ) { - mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4; - } else if ( roughness >= cubeUV_r6 ) { - mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5; - } else { - mip = - 2.0 * log2( 1.16 * roughness ); } - return mip; - } - vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) { - float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP ); - float mipF = fract( mip ); - float mipInt = floor( mip ); - vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt ); - if ( mipF == 0.0 ) { - return vec4( color0, 1.0 ); - } else { - vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 ); - return vec4( mix( color0, color1, mipF ), 1.0 ); - } - } -#endif`,M9=`vec3 transformedNormal = objectNormal; -#ifdef USE_TANGENT - vec3 transformedTangent = objectTangent; -#endif -#ifdef USE_BATCHING - mat3 bm = mat3( batchingMatrix ); - transformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) ); - transformedNormal = bm * transformedNormal; - #ifdef USE_TANGENT - transformedTangent = bm * transformedTangent; - #endif -#endif -#ifdef USE_INSTANCING - mat3 im = mat3( instanceMatrix ); - transformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) ); - transformedNormal = im * transformedNormal; - #ifdef USE_TANGENT - transformedTangent = im * transformedTangent; - #endif -#endif -transformedNormal = normalMatrix * transformedNormal; -#ifdef FLIP_SIDED - transformedNormal = - transformedNormal; -#endif -#ifdef USE_TANGENT - transformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz; - #ifdef FLIP_SIDED - transformedTangent = - transformedTangent; - #endif -#endif`,b9=`#ifdef USE_DISPLACEMENTMAP - uniform sampler2D displacementMap; - uniform float displacementScale; - uniform float displacementBias; -#endif`,T9=`#ifdef USE_DISPLACEMENTMAP - transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); -#endif`,C9=`#ifdef USE_EMISSIVEMAP - vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); - totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,A9=`#ifdef USE_EMISSIVEMAP - uniform sampler2D emissiveMap; -#endif`,R9="gl_FragColor = linearToOutputTexel( gl_FragColor );",P9=` -const mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3( - vec3( 0.8224621, 0.177538, 0.0 ), - vec3( 0.0331941, 0.9668058, 0.0 ), - vec3( 0.0170827, 0.0723974, 0.9105199 ) -); -const mat3 LINEAR_DISPLAY_P3_TO_LINEAR_SRGB = mat3( - vec3( 1.2249401, - 0.2249404, 0.0 ), - vec3( - 0.0420569, 1.0420571, 0.0 ), - vec3( - 0.0196376, - 0.0786361, 1.0982735 ) -); -vec4 LinearSRGBToLinearDisplayP3( in vec4 value ) { - return vec4( value.rgb * LINEAR_SRGB_TO_LINEAR_DISPLAY_P3, value.a ); -} -vec4 LinearDisplayP3ToLinearSRGB( in vec4 value ) { - return vec4( value.rgb * LINEAR_DISPLAY_P3_TO_LINEAR_SRGB, value.a ); -} -vec4 LinearTransferOETF( in vec4 value ) { - return value; -} -vec4 sRGBTransferOETF( in vec4 value ) { - return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a ); -} -vec4 LinearToLinear( in vec4 value ) { - return value; -} -vec4 LinearTosRGB( in vec4 value ) { - return sRGBTransferOETF( value ); -}`,L9=`#ifdef USE_ENVMAP - #ifdef ENV_WORLDPOS - vec3 cameraToFrag; - if ( isOrthographic ) { - cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); - } else { - cameraToFrag = normalize( vWorldPosition - cameraPosition ); - } - vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); - #ifdef ENVMAP_MODE_REFLECTION - vec3 reflectVec = reflect( cameraToFrag, worldNormal ); - #else - vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio ); - #endif - #else - vec3 reflectVec = vReflect; - #endif - #ifdef ENVMAP_TYPE_CUBE - vec4 envColor = textureCube( envMap, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) ); - #else - vec4 envColor = vec4( 0.0 ); - #endif - #ifdef ENVMAP_BLENDING_MULTIPLY - outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity ); - #elif defined( ENVMAP_BLENDING_MIX ) - outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity ); - #elif defined( ENVMAP_BLENDING_ADD ) - outgoingLight += envColor.xyz * specularStrength * reflectivity; - #endif -#endif`,I9=`#ifdef USE_ENVMAP - uniform float envMapIntensity; - uniform float flipEnvMap; - uniform mat3 envMapRotation; - #ifdef ENVMAP_TYPE_CUBE - uniform samplerCube envMap; - #else - uniform sampler2D envMap; - #endif - -#endif`,O9=`#ifdef USE_ENVMAP - uniform float reflectivity; - #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) - #define ENV_WORLDPOS - #endif - #ifdef ENV_WORLDPOS - varying vec3 vWorldPosition; - uniform float refractionRatio; - #else - varying vec3 vReflect; - #endif -#endif`,D9=`#ifdef USE_ENVMAP - #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) - #define ENV_WORLDPOS - #endif - #ifdef ENV_WORLDPOS - - varying vec3 vWorldPosition; - #else - varying vec3 vReflect; - uniform float refractionRatio; - #endif -#endif`,N9=`#ifdef USE_ENVMAP - #ifdef ENV_WORLDPOS - vWorldPosition = worldPosition.xyz; - #else - vec3 cameraToVertex; - if ( isOrthographic ) { - cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); - } else { - cameraToVertex = normalize( worldPosition.xyz - cameraPosition ); - } - vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); - #ifdef ENVMAP_MODE_REFLECTION - vReflect = reflect( cameraToVertex, worldNormal ); - #else - vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); - #endif - #endif -#endif`,k9=`#ifdef USE_FOG - vFogDepth = - mvPosition.z; -#endif`,U9=`#ifdef USE_FOG - varying float vFogDepth; -#endif`,F9=`#ifdef USE_FOG - #ifdef FOG_EXP2 - float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); - #else - float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); - #endif - gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); -#endif`,z9=`#ifdef USE_FOG - uniform vec3 fogColor; - varying float vFogDepth; - #ifdef FOG_EXP2 - uniform float fogDensity; - #else - uniform float fogNear; - uniform float fogFar; - #endif -#endif`,B9=`#ifdef USE_GRADIENTMAP - uniform sampler2D gradientMap; -#endif -vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { - float dotNL = dot( normal, lightDirection ); - vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 ); - #ifdef USE_GRADIENTMAP - return vec3( texture2D( gradientMap, coord ).r ); - #else - vec2 fw = fwidth( coord ) * 0.5; - return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); - #endif -}`,H9=`#ifdef USE_LIGHTMAP - vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); - vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; - reflectedLight.indirectDiffuse += lightMapIrradiance; -#endif`,V9=`#ifdef USE_LIGHTMAP - uniform sampler2D lightMap; - uniform float lightMapIntensity; -#endif`,W9=`LambertMaterial material; -material.diffuseColor = diffuseColor.rgb; -material.specularStrength = specularStrength;`,$9=`varying vec3 vViewPosition; -struct LambertMaterial { - vec3 diffuseColor; - float specularStrength; -}; -void RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { - float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); - vec3 irradiance = dotNL * directLight.color; - reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { - reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -#define RE_Direct RE_Direct_Lambert -#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,G9=`uniform bool receiveShadow; -uniform vec3 ambientLightColor; -#if defined( USE_LIGHT_PROBES ) - uniform vec3 lightProbe[ 9 ]; -#endif -vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) { - float x = normal.x, y = normal.y, z = normal.z; - vec3 result = shCoefficients[ 0 ] * 0.886227; - result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y; - result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z; - result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x; - result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y; - result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z; - result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 ); - result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z; - result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y ); - return result; -} -vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) { - vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); - vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe ); - return irradiance; -} -vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { - vec3 irradiance = ambientLightColor; - return irradiance; -} -float getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) { - #if defined ( LEGACY_LIGHTS ) - if ( cutoffDistance > 0.0 && decayExponent > 0.0 ) { - return pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent ); - } - return 1.0; - #else - float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 ); - if ( cutoffDistance > 0.0 ) { - distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) ); - } - return distanceFalloff; - #endif -} -float getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) { - return smoothstep( coneCosine, penumbraCosine, angleCosine ); -} -#if NUM_DIR_LIGHTS > 0 - struct DirectionalLight { - vec3 direction; - vec3 color; - }; - uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ]; - void getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) { - light.color = directionalLight.color; - light.direction = directionalLight.direction; - light.visible = true; - } -#endif -#if NUM_POINT_LIGHTS > 0 - struct PointLight { - vec3 position; - vec3 color; - float distance; - float decay; - }; - uniform PointLight pointLights[ NUM_POINT_LIGHTS ]; - void getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) { - vec3 lVector = pointLight.position - geometryPosition; - light.direction = normalize( lVector ); - float lightDistance = length( lVector ); - light.color = pointLight.color; - light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay ); - light.visible = ( light.color != vec3( 0.0 ) ); - } -#endif -#if NUM_SPOT_LIGHTS > 0 - struct SpotLight { - vec3 position; - vec3 direction; - vec3 color; - float distance; - float decay; - float coneCos; - float penumbraCos; - }; - uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ]; - void getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) { - vec3 lVector = spotLight.position - geometryPosition; - light.direction = normalize( lVector ); - float angleCos = dot( light.direction, spotLight.direction ); - float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos ); - if ( spotAttenuation > 0.0 ) { - float lightDistance = length( lVector ); - light.color = spotLight.color * spotAttenuation; - light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay ); - light.visible = ( light.color != vec3( 0.0 ) ); - } else { - light.color = vec3( 0.0 ); - light.visible = false; - } - } -#endif -#if NUM_RECT_AREA_LIGHTS > 0 - struct RectAreaLight { - vec3 color; - vec3 position; - vec3 halfWidth; - vec3 halfHeight; - }; - uniform sampler2D ltc_1; uniform sampler2D ltc_2; - uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ]; -#endif -#if NUM_HEMI_LIGHTS > 0 - struct HemisphereLight { - vec3 direction; - vec3 skyColor; - vec3 groundColor; - }; - uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ]; - vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) { - float dotNL = dot( normal, hemiLight.direction ); - float hemiDiffuseWeight = 0.5 * dotNL + 0.5; - vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); - return irradiance; - } -#endif`,j9=`#ifdef USE_ENVMAP - vec3 getIBLIrradiance( const in vec3 normal ) { - #ifdef ENVMAP_TYPE_CUBE_UV - vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); - vec4 envMapColor = textureCubeUV( envMap, envMapRotation * worldNormal, 1.0 ); - return PI * envMapColor.rgb * envMapIntensity; - #else - return vec3( 0.0 ); - #endif - } - vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) { - #ifdef ENVMAP_TYPE_CUBE_UV - vec3 reflectVec = reflect( - viewDir, normal ); - reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) ); - reflectVec = inverseTransformDirection( reflectVec, viewMatrix ); - vec4 envMapColor = textureCubeUV( envMap, envMapRotation * reflectVec, roughness ); - return envMapColor.rgb * envMapIntensity; - #else - return vec3( 0.0 ); - #endif - } - #ifdef USE_ANISOTROPY - vec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) { - #ifdef ENVMAP_TYPE_CUBE_UV - vec3 bentNormal = cross( bitangent, viewDir ); - bentNormal = normalize( cross( bentNormal, bitangent ) ); - bentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) ); - return getIBLRadiance( viewDir, bentNormal, roughness ); - #else - return vec3( 0.0 ); - #endif - } - #endif -#endif`,X9=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,Y9=`varying vec3 vViewPosition; -struct ToonMaterial { - vec3 diffuseColor; -}; -void RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { - vec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color; - reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { - reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -#define RE_Direct RE_Direct_Toon -#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,q9=`BlinnPhongMaterial material; -material.diffuseColor = diffuseColor.rgb; -material.specularColor = specular; -material.specularShininess = shininess; -material.specularStrength = specularStrength;`,Z9=`varying vec3 vViewPosition; -struct BlinnPhongMaterial { - vec3 diffuseColor; - vec3 specularColor; - float specularShininess; - float specularStrength; -}; -void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { - float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); - vec3 irradiance = dotNL * directLight.color; - reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); - reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength; -} -void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { - reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -#define RE_Direct RE_Direct_BlinnPhong -#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,K9=`PhysicalMaterial material; -material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); -vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); -float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); -material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; -material.roughness = min( material.roughness, 1.0 ); -#ifdef IOR - material.ior = ior; - #ifdef USE_SPECULAR - float specularIntensityFactor = specularIntensity; - vec3 specularColorFactor = specularColor; - #ifdef USE_SPECULAR_COLORMAP - specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb; - #endif - #ifdef USE_SPECULAR_INTENSITYMAP - specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a; - #endif - material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); - #else - float specularIntensityFactor = 1.0; - vec3 specularColorFactor = vec3( 1.0 ); - material.specularF90 = 1.0; - #endif - material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor ); -#else - material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor ); - material.specularF90 = 1.0; -#endif -#ifdef USE_CLEARCOAT - material.clearcoat = clearcoat; - material.clearcoatRoughness = clearcoatRoughness; - material.clearcoatF0 = vec3( 0.04 ); - material.clearcoatF90 = 1.0; - #ifdef USE_CLEARCOATMAP - material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x; - #endif - #ifdef USE_CLEARCOAT_ROUGHNESSMAP - material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y; - #endif - material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); - material.clearcoatRoughness += geometryRoughness; - material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); -#endif -#ifdef USE_IRIDESCENCE - material.iridescence = iridescence; - material.iridescenceIOR = iridescenceIOR; - #ifdef USE_IRIDESCENCEMAP - material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r; - #endif - #ifdef USE_IRIDESCENCE_THICKNESSMAP - material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum; - #else - material.iridescenceThickness = iridescenceThicknessMaximum; - #endif -#endif -#ifdef USE_SHEEN - material.sheenColor = sheenColor; - #ifdef USE_SHEEN_COLORMAP - material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb; - #endif - material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 ); - #ifdef USE_SHEEN_ROUGHNESSMAP - material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a; - #endif -#endif -#ifdef USE_ANISOTROPY - #ifdef USE_ANISOTROPYMAP - mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x ); - vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb; - vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b; - #else - vec2 anisotropyV = anisotropyVector; - #endif - material.anisotropy = length( anisotropyV ); - if( material.anisotropy == 0.0 ) { - anisotropyV = vec2( 1.0, 0.0 ); - } else { - anisotropyV /= material.anisotropy; - material.anisotropy = saturate( material.anisotropy ); - } - material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); - material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; - material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; -#endif`,J9=`struct PhysicalMaterial { - vec3 diffuseColor; - float roughness; - vec3 specularColor; - float specularF90; - #ifdef USE_CLEARCOAT - float clearcoat; - float clearcoatRoughness; - vec3 clearcoatF0; - float clearcoatF90; - #endif - #ifdef USE_IRIDESCENCE - float iridescence; - float iridescenceIOR; - float iridescenceThickness; - vec3 iridescenceFresnel; - vec3 iridescenceF0; - #endif - #ifdef USE_SHEEN - vec3 sheenColor; - float sheenRoughness; - #endif - #ifdef IOR - float ior; - #endif - #ifdef USE_TRANSMISSION - float transmission; - float transmissionAlpha; - float thickness; - float attenuationDistance; - vec3 attenuationColor; - #endif - #ifdef USE_ANISOTROPY - float anisotropy; - float alphaT; - vec3 anisotropyT; - vec3 anisotropyB; - #endif -}; -vec3 clearcoatSpecularDirect = vec3( 0.0 ); -vec3 clearcoatSpecularIndirect = vec3( 0.0 ); -vec3 sheenSpecularDirect = vec3( 0.0 ); -vec3 sheenSpecularIndirect = vec3(0.0 ); -vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) { - float x = clamp( 1.0 - dotVH, 0.0, 1.0 ); - float x2 = x * x; - float x5 = clamp( x * x2 * x2, 0.0, 0.9999 ); - return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 ); -} -float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) { - float a2 = pow2( alpha ); - float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) ); - float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) ); - return 0.5 / max( gv + gl, EPSILON ); -} -float D_GGX( const in float alpha, const in float dotNH ) { - float a2 = pow2( alpha ); - float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; - return RECIPROCAL_PI * a2 / pow2( denom ); -} -#ifdef USE_ANISOTROPY - float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) { - float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) ); - float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) ); - float v = 0.5 / ( gv + gl ); - return saturate(v); - } - float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) { - float a2 = alphaT * alphaB; - highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH ); - highp float v2 = dot( v, v ); - float w2 = a2 / v2; - return RECIPROCAL_PI * a2 * pow2 ( w2 ); - } -#endif -#ifdef USE_CLEARCOAT - vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) { - vec3 f0 = material.clearcoatF0; - float f90 = material.clearcoatF90; - float roughness = material.clearcoatRoughness; - float alpha = pow2( roughness ); - vec3 halfDir = normalize( lightDir + viewDir ); - float dotNL = saturate( dot( normal, lightDir ) ); - float dotNV = saturate( dot( normal, viewDir ) ); - float dotNH = saturate( dot( normal, halfDir ) ); - float dotVH = saturate( dot( viewDir, halfDir ) ); - vec3 F = F_Schlick( f0, f90, dotVH ); - float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); - float D = D_GGX( alpha, dotNH ); - return F * ( V * D ); - } -#endif -vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { - vec3 f0 = material.specularColor; - float f90 = material.specularF90; - float roughness = material.roughness; - float alpha = pow2( roughness ); - vec3 halfDir = normalize( lightDir + viewDir ); - float dotNL = saturate( dot( normal, lightDir ) ); - float dotNV = saturate( dot( normal, viewDir ) ); - float dotNH = saturate( dot( normal, halfDir ) ); - float dotVH = saturate( dot( viewDir, halfDir ) ); - vec3 F = F_Schlick( f0, f90, dotVH ); - #ifdef USE_IRIDESCENCE - F = mix( F, material.iridescenceFresnel, material.iridescence ); - #endif - #ifdef USE_ANISOTROPY - float dotTL = dot( material.anisotropyT, lightDir ); - float dotTV = dot( material.anisotropyT, viewDir ); - float dotTH = dot( material.anisotropyT, halfDir ); - float dotBL = dot( material.anisotropyB, lightDir ); - float dotBV = dot( material.anisotropyB, viewDir ); - float dotBH = dot( material.anisotropyB, halfDir ); - float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL ); - float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH ); - #else - float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); - float D = D_GGX( alpha, dotNH ); - #endif - return F * ( V * D ); -} -vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) { - const float LUT_SIZE = 64.0; - const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE; - const float LUT_BIAS = 0.5 / LUT_SIZE; - float dotNV = saturate( dot( N, V ) ); - vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) ); - uv = uv * LUT_SCALE + LUT_BIAS; - return uv; -} -float LTC_ClippedSphereFormFactor( const in vec3 f ) { - float l = length( f ); - return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 ); -} -vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) { - float x = dot( v1, v2 ); - float y = abs( x ); - float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y; - float b = 3.4175940 + ( 4.1616724 + y ) * y; - float v = a / b; - float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; - return cross( v1, v2 ) * theta_sintheta; -} -vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { - vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; - vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; - vec3 lightNormal = cross( v1, v2 ); - if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); - vec3 T1, T2; - T1 = normalize( V - N * dot( V, N ) ); - T2 = - cross( N, T1 ); - mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) ); - vec3 coords[ 4 ]; - coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); - coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); - coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); - coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); - coords[ 0 ] = normalize( coords[ 0 ] ); - coords[ 1 ] = normalize( coords[ 1 ] ); - coords[ 2 ] = normalize( coords[ 2 ] ); - coords[ 3 ] = normalize( coords[ 3 ] ); - vec3 vectorFormFactor = vec3( 0.0 ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); - float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); - return vec3( result ); -} -#if defined( USE_SHEEN ) -float D_Charlie( float roughness, float dotNH ) { - float alpha = pow2( roughness ); - float invAlpha = 1.0 / alpha; - float cos2h = dotNH * dotNH; - float sin2h = max( 1.0 - cos2h, 0.0078125 ); - return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); -} -float V_Neubelt( float dotNV, float dotNL ) { - return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); -} -vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { - vec3 halfDir = normalize( lightDir + viewDir ); - float dotNL = saturate( dot( normal, lightDir ) ); - float dotNV = saturate( dot( normal, viewDir ) ); - float dotNH = saturate( dot( normal, halfDir ) ); - float D = D_Charlie( sheenRoughness, dotNH ); - float V = V_Neubelt( dotNV, dotNL ); - return sheenColor * ( D * V ); -} -#endif -float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { - float dotNV = saturate( dot( normal, viewDir ) ); - float r2 = roughness * roughness; - float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95; - float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72; - float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) ); - return saturate( DG * RECIPROCAL_PI ); -} -vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { - float dotNV = saturate( dot( normal, viewDir ) ); - const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 ); - const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 ); - vec4 r = roughness * c0 + c1; - float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y; - vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw; - return fab; -} -vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { - vec2 fab = DFGApprox( normal, viewDir, roughness ); - return specularColor * fab.x + specularF90 * fab.y; -} -#ifdef USE_IRIDESCENCE -void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { -#else -void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { -#endif - vec2 fab = DFGApprox( normal, viewDir, roughness ); - #ifdef USE_IRIDESCENCE - vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); - #else - vec3 Fr = specularColor; - #endif - vec3 FssEss = Fr * fab.x + specularF90 * fab.y; - float Ess = fab.x + fab.y; - float Ems = 1.0 - Ess; - vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); - singleScatter += FssEss; - multiScatter += Fms * Ems; -} -#if NUM_RECT_AREA_LIGHTS > 0 - void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { - vec3 normal = geometryNormal; - vec3 viewDir = geometryViewDir; - vec3 position = geometryPosition; - vec3 lightPos = rectAreaLight.position; - vec3 halfWidth = rectAreaLight.halfWidth; - vec3 halfHeight = rectAreaLight.halfHeight; - vec3 lightColor = rectAreaLight.color; - float roughness = material.roughness; - vec3 rectCoords[ 4 ]; - rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; - rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; - rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; - vec2 uv = LTC_Uv( normal, viewDir, roughness ); - vec4 t1 = texture2D( ltc_1, uv ); - vec4 t2 = texture2D( ltc_2, uv ); - mat3 mInv = mat3( - vec3( t1.x, 0, t1.y ), - vec3( 0, 1, 0 ), - vec3( t1.z, 0, t1.w ) - ); - vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y ); - reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); - reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); - } -#endif -void RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { - float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); - vec3 irradiance = dotNL * directLight.color; - #ifdef USE_CLEARCOAT - float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) ); - vec3 ccIrradiance = dotNLcc * directLight.color; - clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material ); - #endif - #ifdef USE_SHEEN - sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness ); - #endif - reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material ); - reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { - reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { - #ifdef USE_CLEARCOAT - clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); - #endif - #ifdef USE_SHEEN - sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); - #endif - vec3 singleScattering = vec3( 0.0 ); - vec3 multiScattering = vec3( 0.0 ); - vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; - #ifdef USE_IRIDESCENCE - computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering ); - #else - computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering ); - #endif - vec3 totalScattering = singleScattering + multiScattering; - vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) ); - reflectedLight.indirectSpecular += radiance * singleScattering; - reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance; - reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance; -} -#define RE_Direct RE_Direct_Physical -#define RE_Direct_RectArea RE_Direct_RectArea_Physical -#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical -#define RE_IndirectSpecular RE_IndirectSpecular_Physical -float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { - return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); -}`,Q9=` -vec3 geometryPosition = - vViewPosition; -vec3 geometryNormal = normal; -vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); -vec3 geometryClearcoatNormal = vec3( 0.0 ); -#ifdef USE_CLEARCOAT - geometryClearcoatNormal = clearcoatNormal; -#endif -#ifdef USE_IRIDESCENCE - float dotNVi = saturate( dot( normal, geometryViewDir ) ); - if ( material.iridescenceThickness == 0.0 ) { - material.iridescence = 0.0; - } else { - material.iridescence = saturate( material.iridescence ); - } - if ( material.iridescence > 0.0 ) { - material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor ); - material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi ); - } -#endif -IncidentLight directLight; -#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct ) - PointLight pointLight; - #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0 - PointLightShadow pointLightShadow; - #endif - #pragma unroll_loop_start - for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { - pointLight = pointLights[ i ]; - getPointLightInfo( pointLight, geometryPosition, directLight ); - #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS ) - pointLightShadow = pointLightShadows[ i ]; - directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0; - #endif - RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); - } - #pragma unroll_loop_end -#endif -#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct ) - SpotLight spotLight; - vec4 spotColor; - vec3 spotLightCoord; - bool inSpotLightMap; - #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0 - SpotLightShadow spotLightShadow; - #endif - #pragma unroll_loop_start - for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { - spotLight = spotLights[ i ]; - getSpotLightInfo( spotLight, geometryPosition, directLight ); - #if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) - #define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX - #elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) - #define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS - #else - #define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) - #endif - #if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS ) - spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w; - inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) ); - spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy ); - directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color; - #endif - #undef SPOT_LIGHT_MAP_INDEX - #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) - spotLightShadow = spotLightShadows[ i ]; - directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; - #endif - RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); - } - #pragma unroll_loop_end -#endif -#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) - DirectionalLight directionalLight; - #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0 - DirectionalLightShadow directionalLightShadow; - #endif - #pragma unroll_loop_start - for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { - directionalLight = directionalLights[ i ]; - getDirectionalLightInfo( directionalLight, directLight ); - #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS ) - directionalLightShadow = directionalLightShadows[ i ]; - directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; - #endif - RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); - } - #pragma unroll_loop_end -#endif -#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea ) - RectAreaLight rectAreaLight; - #pragma unroll_loop_start - for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) { - rectAreaLight = rectAreaLights[ i ]; - RE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); - } - #pragma unroll_loop_end -#endif -#if defined( RE_IndirectDiffuse ) - vec3 iblIrradiance = vec3( 0.0 ); - vec3 irradiance = getAmbientLightIrradiance( ambientLightColor ); - #if defined( USE_LIGHT_PROBES ) - irradiance += getLightProbeIrradiance( lightProbe, geometryNormal ); - #endif - #if ( NUM_HEMI_LIGHTS > 0 ) - #pragma unroll_loop_start - for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) { - irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal ); - } - #pragma unroll_loop_end - #endif -#endif -#if defined( RE_IndirectSpecular ) - vec3 radiance = vec3( 0.0 ); - vec3 clearcoatRadiance = vec3( 0.0 ); -#endif`,eU=`#if defined( RE_IndirectDiffuse ) - #ifdef USE_LIGHTMAP - vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); - vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; - irradiance += lightMapIrradiance; - #endif - #if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV ) - iblIrradiance += getIBLIrradiance( geometryNormal ); - #endif -#endif -#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular ) - #ifdef USE_ANISOTROPY - radiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy ); - #else - radiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness ); - #endif - #ifdef USE_CLEARCOAT - clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); - #endif -#endif`,tU=`#if defined( RE_IndirectDiffuse ) - RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); -#endif -#if defined( RE_IndirectSpecular ) - RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); -#endif`,nU=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) - gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; -#endif`,iU=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) - uniform float logDepthBufFC; - varying float vFragDepth; - varying float vIsPerspective; -#endif`,rU=`#ifdef USE_LOGDEPTHBUF - #ifdef USE_LOGDEPTHBUF_EXT - varying float vFragDepth; - varying float vIsPerspective; - #else - uniform float logDepthBufFC; - #endif -#endif`,sU=`#ifdef USE_LOGDEPTHBUF - #ifdef USE_LOGDEPTHBUF_EXT - vFragDepth = 1.0 + gl_Position.w; - vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); - #else - if ( isPerspectiveMatrix( projectionMatrix ) ) { - gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0; - gl_Position.z *= gl_Position.w; - } - #endif -#endif`,oU=`#ifdef USE_MAP - vec4 sampledDiffuseColor = texture2D( map, vMapUv ); - #ifdef DECODE_VIDEO_TEXTURE - sampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w ); - - #endif - diffuseColor *= sampledDiffuseColor; -#endif`,aU=`#ifdef USE_MAP - uniform sampler2D map; -#endif`,lU=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) - #if defined( USE_POINTS_UV ) - vec2 uv = vUv; - #else - vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy; - #endif -#endif -#ifdef USE_MAP - diffuseColor *= texture2D( map, uv ); -#endif -#ifdef USE_ALPHAMAP - diffuseColor.a *= texture2D( alphaMap, uv ).g; -#endif`,cU=`#if defined( USE_POINTS_UV ) - varying vec2 vUv; -#else - #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) - uniform mat3 uvTransform; - #endif -#endif -#ifdef USE_MAP - uniform sampler2D map; -#endif -#ifdef USE_ALPHAMAP - uniform sampler2D alphaMap; -#endif`,uU=`float metalnessFactor = metalness; -#ifdef USE_METALNESSMAP - vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); - metalnessFactor *= texelMetalness.b; -#endif`,fU=`#ifdef USE_METALNESSMAP - uniform sampler2D metalnessMap; -#endif`,dU=`#ifdef USE_INSTANCING_MORPH - float morphTargetInfluences[MORPHTARGETS_COUNT]; - float morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r; - for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { - morphTargetInfluences[i] = texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r; - } -#endif`,hU=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) - vColor *= morphTargetBaseInfluence; - for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { - #if defined( USE_COLOR_ALPHA ) - if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ]; - #elif defined( USE_COLOR ) - if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; - #endif - } -#endif`,pU=`#ifdef USE_MORPHNORMALS - objectNormal *= morphTargetBaseInfluence; - #ifdef MORPHTARGETS_TEXTURE - for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { - if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ]; - } - #else - objectNormal += morphNormal0 * morphTargetInfluences[ 0 ]; - objectNormal += morphNormal1 * morphTargetInfluences[ 1 ]; - objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; - objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; - #endif -#endif`,mU=`#ifdef USE_MORPHTARGETS - #ifndef USE_INSTANCING_MORPH - uniform float morphTargetBaseInfluence; - #endif - #ifdef MORPHTARGETS_TEXTURE - #ifndef USE_INSTANCING_MORPH - uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; - #endif - uniform sampler2DArray morphTargetsTexture; - uniform ivec2 morphTargetsTextureSize; - vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) { - int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset; - int y = texelIndex / morphTargetsTextureSize.x; - int x = texelIndex - y * morphTargetsTextureSize.x; - ivec3 morphUV = ivec3( x, y, morphTargetIndex ); - return texelFetch( morphTargetsTexture, morphUV, 0 ); - } - #else - #ifndef USE_MORPHNORMALS - uniform float morphTargetInfluences[ 8 ]; - #else - uniform float morphTargetInfluences[ 4 ]; - #endif - #endif -#endif`,gU=`#ifdef USE_MORPHTARGETS - transformed *= morphTargetBaseInfluence; - #ifdef MORPHTARGETS_TEXTURE - for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { - if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ]; - } - #else - transformed += morphTarget0 * morphTargetInfluences[ 0 ]; - transformed += morphTarget1 * morphTargetInfluences[ 1 ]; - transformed += morphTarget2 * morphTargetInfluences[ 2 ]; - transformed += morphTarget3 * morphTargetInfluences[ 3 ]; - #ifndef USE_MORPHNORMALS - transformed += morphTarget4 * morphTargetInfluences[ 4 ]; - transformed += morphTarget5 * morphTargetInfluences[ 5 ]; - transformed += morphTarget6 * morphTargetInfluences[ 6 ]; - transformed += morphTarget7 * morphTargetInfluences[ 7 ]; - #endif - #endif -#endif`,vU=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; -#ifdef FLAT_SHADED - vec3 fdx = dFdx( vViewPosition ); - vec3 fdy = dFdy( vViewPosition ); - vec3 normal = normalize( cross( fdx, fdy ) ); -#else - vec3 normal = normalize( vNormal ); - #ifdef DOUBLE_SIDED - normal *= faceDirection; - #endif -#endif -#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) - #ifdef USE_TANGENT - mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); - #else - mat3 tbn = getTangentFrame( - vViewPosition, normal, - #if defined( USE_NORMALMAP ) - vNormalMapUv - #elif defined( USE_CLEARCOAT_NORMALMAP ) - vClearcoatNormalMapUv - #else - vUv - #endif - ); - #endif - #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) - tbn[0] *= faceDirection; - tbn[1] *= faceDirection; - #endif -#endif -#ifdef USE_CLEARCOAT_NORMALMAP - #ifdef USE_TANGENT - mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); - #else - mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv ); - #endif - #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) - tbn2[0] *= faceDirection; - tbn2[1] *= faceDirection; - #endif -#endif -vec3 nonPerturbedNormal = normal;`,yU=`#ifdef USE_NORMALMAP_OBJECTSPACE - normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; - #ifdef FLIP_SIDED - normal = - normal; - #endif - #ifdef DOUBLE_SIDED - normal = normal * faceDirection; - #endif - normal = normalize( normalMatrix * normal ); -#elif defined( USE_NORMALMAP_TANGENTSPACE ) - vec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; - mapN.xy *= normalScale; - normal = normalize( tbn * mapN ); -#elif defined( USE_BUMPMAP ) - normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); -#endif`,xU=`#ifndef FLAT_SHADED - varying vec3 vNormal; - #ifdef USE_TANGENT - varying vec3 vTangent; - varying vec3 vBitangent; - #endif -#endif`,_U=`#ifndef FLAT_SHADED - varying vec3 vNormal; - #ifdef USE_TANGENT - varying vec3 vTangent; - varying vec3 vBitangent; - #endif -#endif`,SU=`#ifndef FLAT_SHADED - vNormal = normalize( transformedNormal ); - #ifdef USE_TANGENT - vTangent = normalize( transformedTangent ); - vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); - #endif -#endif`,wU=`#ifdef USE_NORMALMAP - uniform sampler2D normalMap; - uniform vec2 normalScale; -#endif -#ifdef USE_NORMALMAP_OBJECTSPACE - uniform mat3 normalMatrix; -#endif -#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) ) - mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) { - vec3 q0 = dFdx( eye_pos.xyz ); - vec3 q1 = dFdy( eye_pos.xyz ); - vec2 st0 = dFdx( uv.st ); - vec2 st1 = dFdy( uv.st ); - vec3 N = surf_norm; - vec3 q1perp = cross( q1, N ); - vec3 q0perp = cross( N, q0 ); - vec3 T = q1perp * st0.x + q0perp * st1.x; - vec3 B = q1perp * st0.y + q0perp * st1.y; - float det = max( dot( T, T ), dot( B, B ) ); - float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); - return mat3( T * scale, B * scale, N ); - } -#endif`,EU=`#ifdef USE_CLEARCOAT - vec3 clearcoatNormal = nonPerturbedNormal; -#endif`,MU=`#ifdef USE_CLEARCOAT_NORMALMAP - vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; - clearcoatMapN.xy *= clearcoatNormalScale; - clearcoatNormal = normalize( tbn2 * clearcoatMapN ); -#endif`,bU=`#ifdef USE_CLEARCOATMAP - uniform sampler2D clearcoatMap; -#endif -#ifdef USE_CLEARCOAT_NORMALMAP - uniform sampler2D clearcoatNormalMap; - uniform vec2 clearcoatNormalScale; -#endif -#ifdef USE_CLEARCOAT_ROUGHNESSMAP - uniform sampler2D clearcoatRoughnessMap; -#endif`,TU=`#ifdef USE_IRIDESCENCEMAP - uniform sampler2D iridescenceMap; -#endif -#ifdef USE_IRIDESCENCE_THICKNESSMAP - uniform sampler2D iridescenceThicknessMap; -#endif`,CU=`#ifdef OPAQUE -diffuseColor.a = 1.0; -#endif -#ifdef USE_TRANSMISSION -diffuseColor.a *= material.transmissionAlpha; -#endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,AU=`vec3 packNormalToRGB( const in vec3 normal ) { - return normalize( normal ) * 0.5 + 0.5; -} -vec3 unpackRGBToNormal( const in vec3 rgb ) { - return 2.0 * rgb.xyz - 1.0; -} -const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.; -const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. ); -const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. ); -const float ShiftRight8 = 1. / 256.; -vec4 packDepthToRGBA( const in float v ) { - vec4 r = vec4( fract( v * PackFactors ), v ); - r.yzw -= r.xyz * ShiftRight8; return r * PackUpscale; -} -float unpackRGBAToDepth( const in vec4 v ) { - return dot( v, UnpackFactors ); -} -vec2 packDepthToRG( in highp float v ) { - return packDepthToRGBA( v ).yx; -} -float unpackRGToDepth( const in highp vec2 v ) { - return unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) ); -} -vec4 pack2HalfToRGBA( vec2 v ) { - vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) ); - return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w ); -} -vec2 unpackRGBATo2Half( vec4 v ) { - return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); -} -float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { - return ( viewZ + near ) / ( near - far ); -} -float orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) { - return depth * ( near - far ) - near; -} -float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { - return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ ); -} -float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { - return ( near * far ) / ( ( far - near ) * depth - far ); -}`,RU=`#ifdef PREMULTIPLIED_ALPHA - gl_FragColor.rgb *= gl_FragColor.a; -#endif`,PU=`vec4 mvPosition = vec4( transformed, 1.0 ); -#ifdef USE_BATCHING - mvPosition = batchingMatrix * mvPosition; -#endif -#ifdef USE_INSTANCING - mvPosition = instanceMatrix * mvPosition; -#endif -mvPosition = modelViewMatrix * mvPosition; -gl_Position = projectionMatrix * mvPosition;`,LU=`#ifdef DITHERING - gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,IU=`#ifdef DITHERING - vec3 dithering( vec3 color ) { - float grid_position = rand( gl_FragCoord.xy ); - vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); - dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); - return color + dither_shift_RGB; - } -#endif`,OU=`float roughnessFactor = roughness; -#ifdef USE_ROUGHNESSMAP - vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); - roughnessFactor *= texelRoughness.g; -#endif`,DU=`#ifdef USE_ROUGHNESSMAP - uniform sampler2D roughnessMap; -#endif`,NU=`#if NUM_SPOT_LIGHT_COORDS > 0 - varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; -#endif -#if NUM_SPOT_LIGHT_MAPS > 0 - uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ]; -#endif -#ifdef USE_SHADOWMAP - #if NUM_DIR_LIGHT_SHADOWS > 0 - uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; - varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; - struct DirectionalLightShadow { - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - }; - uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; - #endif - #if NUM_SPOT_LIGHT_SHADOWS > 0 - uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; - struct SpotLightShadow { - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - }; - uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; - #endif - #if NUM_POINT_LIGHT_SHADOWS > 0 - uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; - varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; - struct PointLightShadow { - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - float shadowCameraNear; - float shadowCameraFar; - }; - uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; - #endif - float texture2DCompare( sampler2D depths, vec2 uv, float compare ) { - return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) ); - } - vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) { - return unpackRGBATo2Half( texture2D( shadow, uv ) ); - } - float VSMShadow (sampler2D shadow, vec2 uv, float compare ){ - float occlusion = 1.0; - vec2 distribution = texture2DDistribution( shadow, uv ); - float hard_shadow = step( compare , distribution.x ); - if (hard_shadow != 1.0 ) { - float distance = compare - distribution.x ; - float variance = max( 0.00000, distribution.y * distribution.y ); - float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 ); - } - return occlusion; - } - float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) { - float shadow = 1.0; - shadowCoord.xyz /= shadowCoord.w; - shadowCoord.z += shadowBias; - bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; - bool frustumTest = inFrustum && shadowCoord.z <= 1.0; - if ( frustumTest ) { - #if defined( SHADOWMAP_TYPE_PCF ) - vec2 texelSize = vec2( 1.0 ) / shadowMapSize; - float dx0 = - texelSize.x * shadowRadius; - float dy0 = - texelSize.y * shadowRadius; - float dx1 = + texelSize.x * shadowRadius; - float dy1 = + texelSize.y * shadowRadius; - float dx2 = dx0 / 2.0; - float dy2 = dy0 / 2.0; - float dx3 = dx1 / 2.0; - float dy3 = dy1 / 2.0; - shadow = ( - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z ) - ) * ( 1.0 / 17.0 ); - #elif defined( SHADOWMAP_TYPE_PCF_SOFT ) - vec2 texelSize = vec2( 1.0 ) / shadowMapSize; - float dx = texelSize.x; - float dy = texelSize.y; - vec2 uv = shadowCoord.xy; - vec2 f = fract( uv * shadowMapSize + 0.5 ); - uv -= f * texelSize; - shadow = ( - texture2DCompare( shadowMap, uv, shadowCoord.z ) + - texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) + - texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) + - mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ), - f.x ) + - mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ), - f.x ) + - mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ), - f.y ) + - mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ), - f.y ) + - mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ), - f.x ), - mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ), - f.x ), - f.y ) - ) * ( 1.0 / 9.0 ); - #elif defined( SHADOWMAP_TYPE_VSM ) - shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z ); - #else - shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ); - #endif - } - return shadow; - } - vec2 cubeToUV( vec3 v, float texelSizeY ) { - vec3 absV = abs( v ); - float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) ); - absV *= scaleToCube; - v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY ); - vec2 planar = v.xy; - float almostATexel = 1.5 * texelSizeY; - float almostOne = 1.0 - almostATexel; - if ( absV.z >= almostOne ) { - if ( v.z > 0.0 ) - planar.x = 4.0 - v.x; - } else if ( absV.x >= almostOne ) { - float signX = sign( v.x ); - planar.x = v.z * signX + 2.0 * signX; - } else if ( absV.y >= almostOne ) { - float signY = sign( v.y ); - planar.x = v.x + 2.0 * signY + 2.0; - planar.y = v.z * signY - 2.0; - } - return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 ); - } - float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { - vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); - vec3 lightToPosition = shadowCoord.xyz; - float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; - vec3 bd3D = normalize( lightToPosition ); - #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) - vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; - return ( - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp ) - ) * ( 1.0 / 9.0 ); - #else - return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); - #endif - } -#endif`,kU=`#if NUM_SPOT_LIGHT_COORDS > 0 - uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; - varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; -#endif -#ifdef USE_SHADOWMAP - #if NUM_DIR_LIGHT_SHADOWS > 0 - uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ]; - varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; - struct DirectionalLightShadow { - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - }; - uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; - #endif - #if NUM_SPOT_LIGHT_SHADOWS > 0 - struct SpotLightShadow { - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - }; - uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; - #endif - #if NUM_POINT_LIGHT_SHADOWS > 0 - uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ]; - varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; - struct PointLightShadow { - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - float shadowCameraNear; - float shadowCameraFar; - }; - uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; - #endif -#endif`,UU=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) - vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); - vec4 shadowWorldPosition; -#endif -#if defined( USE_SHADOWMAP ) - #if NUM_DIR_LIGHT_SHADOWS > 0 - #pragma unroll_loop_start - for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { - shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 ); - vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition; - } - #pragma unroll_loop_end - #endif - #if NUM_POINT_LIGHT_SHADOWS > 0 - #pragma unroll_loop_start - for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { - shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 ); - vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition; - } - #pragma unroll_loop_end - #endif -#endif -#if NUM_SPOT_LIGHT_COORDS > 0 - #pragma unroll_loop_start - for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) { - shadowWorldPosition = worldPosition; - #if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) - shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias; - #endif - vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; - } - #pragma unroll_loop_end -#endif`,FU=`float getShadowMask() { - float shadow = 1.0; - #ifdef USE_SHADOWMAP - #if NUM_DIR_LIGHT_SHADOWS > 0 - DirectionalLightShadow directionalLight; - #pragma unroll_loop_start - for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { - directionalLight = directionalLightShadows[ i ]; - shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; - } - #pragma unroll_loop_end - #endif - #if NUM_SPOT_LIGHT_SHADOWS > 0 - SpotLightShadow spotLight; - #pragma unroll_loop_start - for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) { - spotLight = spotLightShadows[ i ]; - shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; - } - #pragma unroll_loop_end - #endif - #if NUM_POINT_LIGHT_SHADOWS > 0 - PointLightShadow pointLight; - #pragma unroll_loop_start - for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { - pointLight = pointLightShadows[ i ]; - shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0; - } - #pragma unroll_loop_end - #endif - #endif - return shadow; -}`,zU=`#ifdef USE_SKINNING - mat4 boneMatX = getBoneMatrix( skinIndex.x ); - mat4 boneMatY = getBoneMatrix( skinIndex.y ); - mat4 boneMatZ = getBoneMatrix( skinIndex.z ); - mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,BU=`#ifdef USE_SKINNING - uniform mat4 bindMatrix; - uniform mat4 bindMatrixInverse; - uniform highp sampler2D boneTexture; - mat4 getBoneMatrix( const in float i ) { - int size = textureSize( boneTexture, 0 ).x; - int j = int( i ) * 4; - int x = j % size; - int y = j / size; - vec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 ); - vec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 ); - vec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 ); - vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); - return mat4( v1, v2, v3, v4 ); - } -#endif`,HU=`#ifdef USE_SKINNING - vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); - vec4 skinned = vec4( 0.0 ); - skinned += boneMatX * skinVertex * skinWeight.x; - skinned += boneMatY * skinVertex * skinWeight.y; - skinned += boneMatZ * skinVertex * skinWeight.z; - skinned += boneMatW * skinVertex * skinWeight.w; - transformed = ( bindMatrixInverse * skinned ).xyz; -#endif`,VU=`#ifdef USE_SKINNING - mat4 skinMatrix = mat4( 0.0 ); - skinMatrix += skinWeight.x * boneMatX; - skinMatrix += skinWeight.y * boneMatY; - skinMatrix += skinWeight.z * boneMatZ; - skinMatrix += skinWeight.w * boneMatW; - skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix; - objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz; - #ifdef USE_TANGENT - objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; - #endif -#endif`,WU=`float specularStrength; -#ifdef USE_SPECULARMAP - vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); - specularStrength = texelSpecular.r; -#else - specularStrength = 1.0; -#endif`,$U=`#ifdef USE_SPECULARMAP - uniform sampler2D specularMap; -#endif`,GU=`#if defined( TONE_MAPPING ) - gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,jU=`#ifndef saturate -#define saturate( a ) clamp( a, 0.0, 1.0 ) -#endif -uniform float toneMappingExposure; -vec3 LinearToneMapping( vec3 color ) { - return saturate( toneMappingExposure * color ); -} -vec3 ReinhardToneMapping( vec3 color ) { - color *= toneMappingExposure; - return saturate( color / ( vec3( 1.0 ) + color ) ); -} -vec3 OptimizedCineonToneMapping( vec3 color ) { - color *= toneMappingExposure; - color = max( vec3( 0.0 ), color - 0.004 ); - return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) ); -} -vec3 RRTAndODTFit( vec3 v ) { - vec3 a = v * ( v + 0.0245786 ) - 0.000090537; - vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081; - return a / b; -} -vec3 ACESFilmicToneMapping( vec3 color ) { - const mat3 ACESInputMat = mat3( - vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ), - vec3( 0.04823, 0.01566, 0.83777 ) - ); - const mat3 ACESOutputMat = mat3( - vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ), - vec3( -0.07367, -0.00605, 1.07602 ) - ); - color *= toneMappingExposure / 0.6; - color = ACESInputMat * color; - color = RRTAndODTFit( color ); - color = ACESOutputMat * color; - return saturate( color ); -} -const mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3( - vec3( 1.6605, - 0.1246, - 0.0182 ), - vec3( - 0.5876, 1.1329, - 0.1006 ), - vec3( - 0.0728, - 0.0083, 1.1187 ) -); -const mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3( - vec3( 0.6274, 0.0691, 0.0164 ), - vec3( 0.3293, 0.9195, 0.0880 ), - vec3( 0.0433, 0.0113, 0.8956 ) -); -vec3 agxDefaultContrastApprox( vec3 x ) { - vec3 x2 = x * x; - vec3 x4 = x2 * x2; - return + 15.5 * x4 * x2 - - 40.14 * x4 * x - + 31.96 * x4 - - 6.868 * x2 * x - + 0.4298 * x2 - + 0.1191 * x - - 0.00232; -} -vec3 AgXToneMapping( vec3 color ) { - const mat3 AgXInsetMatrix = mat3( - vec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ), - vec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ), - vec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 ) - ); - const mat3 AgXOutsetMatrix = mat3( - vec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ), - vec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ), - vec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 ) - ); - const float AgxMinEv = - 12.47393; const float AgxMaxEv = 4.026069; - color *= toneMappingExposure; - color = LINEAR_SRGB_TO_LINEAR_REC2020 * color; - color = AgXInsetMatrix * color; - color = max( color, 1e-10 ); color = log2( color ); - color = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv ); - color = clamp( color, 0.0, 1.0 ); - color = agxDefaultContrastApprox( color ); - color = AgXOutsetMatrix * color; - color = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) ); - color = LINEAR_REC2020_TO_LINEAR_SRGB * color; - color = clamp( color, 0.0, 1.0 ); - return color; -} -vec3 NeutralToneMapping( vec3 color ) { - float startCompression = 0.8 - 0.04; - float desaturation = 0.15; - color *= toneMappingExposure; - float x = min(color.r, min(color.g, color.b)); - float offset = x < 0.08 ? x - 6.25 * x * x : 0.04; - color -= offset; - float peak = max(color.r, max(color.g, color.b)); - if (peak < startCompression) return color; - float d = 1. - startCompression; - float newPeak = 1. - d * d / (peak + d - startCompression); - color *= newPeak / peak; - float g = 1. - 1. / (desaturation * (peak - newPeak) + 1.); - return mix(color, vec3(1, 1, 1), g); -} -vec3 CustomToneMapping( vec3 color ) { return color; }`,XU=`#ifdef USE_TRANSMISSION - material.transmission = transmission; - material.transmissionAlpha = 1.0; - material.thickness = thickness; - material.attenuationDistance = attenuationDistance; - material.attenuationColor = attenuationColor; - #ifdef USE_TRANSMISSIONMAP - material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r; - #endif - #ifdef USE_THICKNESSMAP - material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g; - #endif - vec3 pos = vWorldPosition; - vec3 v = normalize( cameraPosition - pos ); - vec3 n = inverseTransformDirection( normal, viewMatrix ); - vec4 transmitted = getIBLVolumeRefraction( - n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90, - pos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness, - material.attenuationColor, material.attenuationDistance ); - material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); - totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); -#endif`,YU=`#ifdef USE_TRANSMISSION - uniform float transmission; - uniform float thickness; - uniform float attenuationDistance; - uniform vec3 attenuationColor; - #ifdef USE_TRANSMISSIONMAP - uniform sampler2D transmissionMap; - #endif - #ifdef USE_THICKNESSMAP - uniform sampler2D thicknessMap; - #endif - uniform vec2 transmissionSamplerSize; - uniform sampler2D transmissionSamplerMap; - uniform mat4 modelMatrix; - uniform mat4 projectionMatrix; - varying vec3 vWorldPosition; - float w0( float a ) { - return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); - } - float w1( float a ) { - return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); - } - float w2( float a ){ - return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); - } - float w3( float a ) { - return ( 1.0 / 6.0 ) * ( a * a * a ); - } - float g0( float a ) { - return w0( a ) + w1( a ); - } - float g1( float a ) { - return w2( a ) + w3( a ); - } - float h0( float a ) { - return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); - } - float h1( float a ) { - return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); - } - vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) { - uv = uv * texelSize.zw + 0.5; - vec2 iuv = floor( uv ); - vec2 fuv = fract( uv ); - float g0x = g0( fuv.x ); - float g1x = g1( fuv.x ); - float h0x = h0( fuv.x ); - float h1x = h1( fuv.x ); - float h0y = h0( fuv.y ); - float h1y = h1( fuv.y ); - vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; - vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; - vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; - vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; - return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + - g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); - } - vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { - vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); - vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); - vec2 fLodSizeInv = 1.0 / fLodSize; - vec2 cLodSizeInv = 1.0 / cLodSize; - vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) ); - vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) ); - return mix( fSample, cSample, fract( lod ) ); - } - vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { - vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); - vec3 modelScale; - modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); - modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); - modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); - return normalize( refractionVector ) * thickness * modelScale; - } - float applyIorToRoughness( const in float roughness, const in float ior ) { - return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); - } - vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { - float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); - return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod ); - } - vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { - if ( isinf( attenuationDistance ) ) { - return vec3( 1.0 ); - } else { - vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; - vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance; - } - } - vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, - const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, - const in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness, - const in vec3 attenuationColor, const in float attenuationDistance ) { - vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); - vec3 refractedRayExit = position + transmissionRay; - vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); - vec2 refractionCoords = ndcPos.xy / ndcPos.w; - refractionCoords += 1.0; - refractionCoords /= 2.0; - vec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); - vec3 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); - vec3 attenuatedColor = transmittance * transmittedLight.rgb; - vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); - float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; - return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); - } -#endif`,qU=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) - varying vec2 vUv; -#endif -#ifdef USE_MAP - varying vec2 vMapUv; -#endif -#ifdef USE_ALPHAMAP - varying vec2 vAlphaMapUv; -#endif -#ifdef USE_LIGHTMAP - varying vec2 vLightMapUv; -#endif -#ifdef USE_AOMAP - varying vec2 vAoMapUv; -#endif -#ifdef USE_BUMPMAP - varying vec2 vBumpMapUv; -#endif -#ifdef USE_NORMALMAP - varying vec2 vNormalMapUv; -#endif -#ifdef USE_EMISSIVEMAP - varying vec2 vEmissiveMapUv; -#endif -#ifdef USE_METALNESSMAP - varying vec2 vMetalnessMapUv; -#endif -#ifdef USE_ROUGHNESSMAP - varying vec2 vRoughnessMapUv; -#endif -#ifdef USE_ANISOTROPYMAP - varying vec2 vAnisotropyMapUv; -#endif -#ifdef USE_CLEARCOATMAP - varying vec2 vClearcoatMapUv; -#endif -#ifdef USE_CLEARCOAT_NORMALMAP - varying vec2 vClearcoatNormalMapUv; -#endif -#ifdef USE_CLEARCOAT_ROUGHNESSMAP - varying vec2 vClearcoatRoughnessMapUv; -#endif -#ifdef USE_IRIDESCENCEMAP - varying vec2 vIridescenceMapUv; -#endif -#ifdef USE_IRIDESCENCE_THICKNESSMAP - varying vec2 vIridescenceThicknessMapUv; -#endif -#ifdef USE_SHEEN_COLORMAP - varying vec2 vSheenColorMapUv; -#endif -#ifdef USE_SHEEN_ROUGHNESSMAP - varying vec2 vSheenRoughnessMapUv; -#endif -#ifdef USE_SPECULARMAP - varying vec2 vSpecularMapUv; -#endif -#ifdef USE_SPECULAR_COLORMAP - varying vec2 vSpecularColorMapUv; -#endif -#ifdef USE_SPECULAR_INTENSITYMAP - varying vec2 vSpecularIntensityMapUv; -#endif -#ifdef USE_TRANSMISSIONMAP - uniform mat3 transmissionMapTransform; - varying vec2 vTransmissionMapUv; -#endif -#ifdef USE_THICKNESSMAP - uniform mat3 thicknessMapTransform; - varying vec2 vThicknessMapUv; -#endif`,ZU=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) - varying vec2 vUv; -#endif -#ifdef USE_MAP - uniform mat3 mapTransform; - varying vec2 vMapUv; -#endif -#ifdef USE_ALPHAMAP - uniform mat3 alphaMapTransform; - varying vec2 vAlphaMapUv; -#endif -#ifdef USE_LIGHTMAP - uniform mat3 lightMapTransform; - varying vec2 vLightMapUv; -#endif -#ifdef USE_AOMAP - uniform mat3 aoMapTransform; - varying vec2 vAoMapUv; -#endif -#ifdef USE_BUMPMAP - uniform mat3 bumpMapTransform; - varying vec2 vBumpMapUv; -#endif -#ifdef USE_NORMALMAP - uniform mat3 normalMapTransform; - varying vec2 vNormalMapUv; -#endif -#ifdef USE_DISPLACEMENTMAP - uniform mat3 displacementMapTransform; - varying vec2 vDisplacementMapUv; -#endif -#ifdef USE_EMISSIVEMAP - uniform mat3 emissiveMapTransform; - varying vec2 vEmissiveMapUv; -#endif -#ifdef USE_METALNESSMAP - uniform mat3 metalnessMapTransform; - varying vec2 vMetalnessMapUv; -#endif -#ifdef USE_ROUGHNESSMAP - uniform mat3 roughnessMapTransform; - varying vec2 vRoughnessMapUv; -#endif -#ifdef USE_ANISOTROPYMAP - uniform mat3 anisotropyMapTransform; - varying vec2 vAnisotropyMapUv; -#endif -#ifdef USE_CLEARCOATMAP - uniform mat3 clearcoatMapTransform; - varying vec2 vClearcoatMapUv; -#endif -#ifdef USE_CLEARCOAT_NORMALMAP - uniform mat3 clearcoatNormalMapTransform; - varying vec2 vClearcoatNormalMapUv; -#endif -#ifdef USE_CLEARCOAT_ROUGHNESSMAP - uniform mat3 clearcoatRoughnessMapTransform; - varying vec2 vClearcoatRoughnessMapUv; -#endif -#ifdef USE_SHEEN_COLORMAP - uniform mat3 sheenColorMapTransform; - varying vec2 vSheenColorMapUv; -#endif -#ifdef USE_SHEEN_ROUGHNESSMAP - uniform mat3 sheenRoughnessMapTransform; - varying vec2 vSheenRoughnessMapUv; -#endif -#ifdef USE_IRIDESCENCEMAP - uniform mat3 iridescenceMapTransform; - varying vec2 vIridescenceMapUv; -#endif -#ifdef USE_IRIDESCENCE_THICKNESSMAP - uniform mat3 iridescenceThicknessMapTransform; - varying vec2 vIridescenceThicknessMapUv; -#endif -#ifdef USE_SPECULARMAP - uniform mat3 specularMapTransform; - varying vec2 vSpecularMapUv; -#endif -#ifdef USE_SPECULAR_COLORMAP - uniform mat3 specularColorMapTransform; - varying vec2 vSpecularColorMapUv; -#endif -#ifdef USE_SPECULAR_INTENSITYMAP - uniform mat3 specularIntensityMapTransform; - varying vec2 vSpecularIntensityMapUv; -#endif -#ifdef USE_TRANSMISSIONMAP - uniform mat3 transmissionMapTransform; - varying vec2 vTransmissionMapUv; -#endif -#ifdef USE_THICKNESSMAP - uniform mat3 thicknessMapTransform; - varying vec2 vThicknessMapUv; -#endif`,KU=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) - vUv = vec3( uv, 1 ).xy; -#endif -#ifdef USE_MAP - vMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy; -#endif -#ifdef USE_ALPHAMAP - vAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_LIGHTMAP - vLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_AOMAP - vAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_BUMPMAP - vBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_NORMALMAP - vNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_DISPLACEMENTMAP - vDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_EMISSIVEMAP - vEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_METALNESSMAP - vMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_ROUGHNESSMAP - vRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_ANISOTROPYMAP - vAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_CLEARCOATMAP - vClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_CLEARCOAT_NORMALMAP - vClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_CLEARCOAT_ROUGHNESSMAP - vClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_IRIDESCENCEMAP - vIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_IRIDESCENCE_THICKNESSMAP - vIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_SHEEN_COLORMAP - vSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_SHEEN_ROUGHNESSMAP - vSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_SPECULARMAP - vSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_SPECULAR_COLORMAP - vSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_SPECULAR_INTENSITYMAP - vSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_TRANSMISSIONMAP - vTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_THICKNESSMAP - vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; -#endif`,JU=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 - vec4 worldPosition = vec4( transformed, 1.0 ); - #ifdef USE_BATCHING - worldPosition = batchingMatrix * worldPosition; - #endif - #ifdef USE_INSTANCING - worldPosition = instanceMatrix * worldPosition; - #endif - worldPosition = modelMatrix * worldPosition; -#endif`;const QU=`varying vec2 vUv; -uniform mat3 uvTransform; -void main() { - vUv = ( uvTransform * vec3( uv, 1 ) ).xy; - gl_Position = vec4( position.xy, 1.0, 1.0 ); -}`,eF=`uniform sampler2D t2D; -uniform float backgroundIntensity; -varying vec2 vUv; -void main() { - vec4 texColor = texture2D( t2D, vUv ); - #ifdef DECODE_VIDEO_TEXTURE - texColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w ); - #endif - texColor.rgb *= backgroundIntensity; - gl_FragColor = texColor; - #include - #include -}`,tF=`varying vec3 vWorldDirection; -#include -void main() { - vWorldDirection = transformDirection( position, modelMatrix ); - #include - #include - gl_Position.z = gl_Position.w; -}`,nF=`#ifdef ENVMAP_TYPE_CUBE - uniform samplerCube envMap; -#elif defined( ENVMAP_TYPE_CUBE_UV ) - uniform sampler2D envMap; -#endif -uniform float flipEnvMap; -uniform float backgroundBlurriness; -uniform float backgroundIntensity; -uniform mat3 backgroundRotation; -varying vec3 vWorldDirection; -#include -void main() { - #ifdef ENVMAP_TYPE_CUBE - vec4 texColor = textureCube( envMap, backgroundRotation * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) ); - #elif defined( ENVMAP_TYPE_CUBE_UV ) - vec4 texColor = textureCubeUV( envMap, backgroundRotation * vWorldDirection, backgroundBlurriness ); - #else - vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 ); - #endif - texColor.rgb *= backgroundIntensity; - gl_FragColor = texColor; - #include - #include -}`,iF=`varying vec3 vWorldDirection; -#include -void main() { - vWorldDirection = transformDirection( position, modelMatrix ); - #include - #include - gl_Position.z = gl_Position.w; -}`,rF=`uniform samplerCube tCube; -uniform float tFlip; -uniform float opacity; -varying vec3 vWorldDirection; -void main() { - vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) ); - gl_FragColor = texColor; - gl_FragColor.a *= opacity; - #include - #include -}`,sF=`#include -#include -#include -#include -#include -#include -#include -#include -varying vec2 vHighPrecisionZW; -void main() { - #include - #include - #include - #include - #ifdef USE_DISPLACEMENTMAP - #include - #include - #include - #endif - #include - #include - #include - #include - #include - #include - #include - vHighPrecisionZW = gl_Position.zw; -}`,oF=`#if DEPTH_PACKING == 3200 - uniform float opacity; -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -varying vec2 vHighPrecisionZW; -void main() { - vec4 diffuseColor = vec4( 1.0 ); - #include - #if DEPTH_PACKING == 3200 - diffuseColor.a = opacity; - #endif - #include - #include - #include - #include - #include - float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5; - #if DEPTH_PACKING == 3200 - gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity ); - #elif DEPTH_PACKING == 3201 - gl_FragColor = packDepthToRGBA( fragCoordZ ); - #endif -}`,aF=`#define DISTANCE -varying vec3 vWorldPosition; -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #ifdef USE_DISPLACEMENTMAP - #include - #include - #include - #endif - #include - #include - #include - #include - #include - #include - #include - vWorldPosition = worldPosition.xyz; -}`,lF=`#define DISTANCE -uniform vec3 referencePosition; -uniform float nearDistance; -uniform float farDistance; -varying vec3 vWorldPosition; -#include -#include -#include -#include -#include -#include -#include -#include -void main () { - vec4 diffuseColor = vec4( 1.0 ); - #include - #include - #include - #include - #include - float dist = length( vWorldPosition - referencePosition ); - dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); - dist = saturate( dist ); - gl_FragColor = packDepthToRGBA( dist ); -}`,cF=`varying vec3 vWorldDirection; -#include -void main() { - vWorldDirection = transformDirection( position, modelMatrix ); - #include - #include -}`,uF=`uniform sampler2D tEquirect; -varying vec3 vWorldDirection; -#include -void main() { - vec3 direction = normalize( vWorldDirection ); - vec2 sampleUV = equirectUv( direction ); - gl_FragColor = texture2D( tEquirect, sampleUV ); - #include - #include -}`,fF=`uniform float scale; -attribute float lineDistance; -varying float vLineDistance; -#include -#include -#include -#include -#include -#include -#include -void main() { - vLineDistance = scale * lineDistance; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include -}`,dF=`uniform vec3 diffuse; -uniform float opacity; -uniform float dashSize; -uniform float totalSize; -varying float vLineDistance; -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - if ( mod( vLineDistance, totalSize ) > dashSize ) { - discard; - } - vec3 outgoingLight = vec3( 0.0 ); - #include - #include - #include - outgoingLight = diffuseColor.rgb; - #include - #include - #include - #include - #include -}`,hF=`#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #if defined ( USE_ENVMAP ) || defined ( USE_SKINNING ) - #include - #include - #include - #include - #include - #endif - #include - #include - #include - #include - #include - #include - #include - #include - #include -}`,pF=`uniform vec3 diffuse; -uniform float opacity; -#ifndef FLAT_SHADED - varying vec3 vNormal; -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - #include - #include - #include - #include - #include - #include - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - #ifdef USE_LIGHTMAP - vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); - reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI; - #else - reflectedLight.indirectDiffuse += vec3( 1.0 ); - #endif - #include - reflectedLight.indirectDiffuse *= diffuseColor.rgb; - vec3 outgoingLight = reflectedLight.indirectDiffuse; - #include - #include - #include - #include - #include - #include - #include -}`,mF=`#define LAMBERT -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vViewPosition = - mvPosition.xyz; - #include - #include - #include - #include -}`,gF=`#define LAMBERT -uniform vec3 diffuse; -uniform vec3 emissive; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - vec3 totalEmissiveRadiance = emissive; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; - #include - #include - #include - #include - #include - #include - #include -}`,vF=`#define MATCAP -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vViewPosition = - mvPosition.xyz; -}`,yF=`#define MATCAP -uniform vec3 diffuse; -uniform float opacity; -uniform sampler2D matcap; -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 viewDir = normalize( vViewPosition ); - vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) ); - vec3 y = cross( viewDir, x ); - vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5; - #ifdef USE_MATCAP - vec4 matcapColor = texture2D( matcap, uv ); - #else - vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 ); - #endif - vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb; - #include - #include - #include - #include - #include - #include -}`,xF=`#define NORMAL -#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) - varying vec3 vViewPosition; -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include -#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) - vViewPosition = - mvPosition.xyz; -#endif -}`,_F=`#define NORMAL -uniform float opacity; -#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) - varying vec3 vViewPosition; -#endif -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity ); - #include - #include - #include - #include - gl_FragColor = vec4( packNormalToRGB( normal ), diffuseColor.a ); - #ifdef OPAQUE - gl_FragColor.a = 1.0; - #endif -}`,SF=`#define PHONG -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vViewPosition = - mvPosition.xyz; - #include - #include - #include - #include -}`,wF=`#define PHONG -uniform vec3 diffuse; -uniform vec3 emissive; -uniform vec3 specular; -uniform float shininess; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - vec3 totalEmissiveRadiance = emissive; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance; - #include - #include - #include - #include - #include - #include - #include -}`,EF=`#define STANDARD -varying vec3 vViewPosition; -#ifdef USE_TRANSMISSION - varying vec3 vWorldPosition; -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vViewPosition = - mvPosition.xyz; - #include - #include - #include -#ifdef USE_TRANSMISSION - vWorldPosition = worldPosition.xyz; -#endif -}`,MF=`#define STANDARD -#ifdef PHYSICAL - #define IOR - #define USE_SPECULAR -#endif -uniform vec3 diffuse; -uniform vec3 emissive; -uniform float roughness; -uniform float metalness; -uniform float opacity; -#ifdef IOR - uniform float ior; -#endif -#ifdef USE_SPECULAR - uniform float specularIntensity; - uniform vec3 specularColor; - #ifdef USE_SPECULAR_COLORMAP - uniform sampler2D specularColorMap; - #endif - #ifdef USE_SPECULAR_INTENSITYMAP - uniform sampler2D specularIntensityMap; - #endif -#endif -#ifdef USE_CLEARCOAT - uniform float clearcoat; - uniform float clearcoatRoughness; -#endif -#ifdef USE_IRIDESCENCE - uniform float iridescence; - uniform float iridescenceIOR; - uniform float iridescenceThicknessMinimum; - uniform float iridescenceThicknessMaximum; -#endif -#ifdef USE_SHEEN - uniform vec3 sheenColor; - uniform float sheenRoughness; - #ifdef USE_SHEEN_COLORMAP - uniform sampler2D sheenColorMap; - #endif - #ifdef USE_SHEEN_ROUGHNESSMAP - uniform sampler2D sheenRoughnessMap; - #endif -#endif -#ifdef USE_ANISOTROPY - uniform vec2 anisotropyVector; - #ifdef USE_ANISOTROPYMAP - uniform sampler2D anisotropyMap; - #endif -#endif -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - vec3 totalEmissiveRadiance = emissive; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; - vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; - #include - vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; - #ifdef USE_SHEEN - float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor ); - outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect; - #endif - #ifdef USE_CLEARCOAT - float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) ); - vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); - outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat; - #endif - #include - #include - #include - #include - #include - #include -}`,bF=`#define TOON -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vViewPosition = - mvPosition.xyz; - #include - #include - #include -}`,TF=`#define TOON -uniform vec3 diffuse; -uniform vec3 emissive; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - vec3 totalEmissiveRadiance = emissive; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; - #include - #include - #include - #include - #include - #include -}`,CF=`uniform float size; -uniform float scale; -#include -#include -#include -#include -#include -#include -#ifdef USE_POINTS_UV - varying vec2 vUv; - uniform mat3 uvTransform; -#endif -void main() { - #ifdef USE_POINTS_UV - vUv = ( uvTransform * vec3( uv, 1 ) ).xy; - #endif - #include - #include - #include - #include - #include - #include - gl_PointSize = size; - #ifdef USE_SIZEATTENUATION - bool isPerspective = isPerspectiveMatrix( projectionMatrix ); - if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); - #endif - #include - #include - #include - #include -}`,AF=`uniform vec3 diffuse; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - vec3 outgoingLight = vec3( 0.0 ); - #include - #include - #include - #include - #include - outgoingLight = diffuseColor.rgb; - #include - #include - #include - #include - #include -}`,RF=`#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include -}`,PF=`uniform vec3 color; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) ); - #include - #include - #include -}`,LF=`uniform float rotation; -uniform vec2 center; -#include -#include -#include -#include -#include -void main() { - #include - vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 ); - vec2 scale; - scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) ); - scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) ); - #ifndef USE_SIZEATTENUATION - bool isPerspective = isPerspectiveMatrix( projectionMatrix ); - if ( isPerspective ) scale *= - mvPosition.z; - #endif - vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale; - vec2 rotatedPosition; - rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; - rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; - mvPosition.xy += rotatedPosition; - gl_Position = projectionMatrix * mvPosition; - #include - #include - #include -}`,IF=`uniform vec3 diffuse; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - vec3 outgoingLight = vec3( 0.0 ); - #include - #include - #include - #include - #include - outgoingLight = diffuseColor.rgb; - #include - #include - #include - #include -}`,Ct={alphahash_fragment:Qk,alphahash_pars_fragment:e9,alphamap_fragment:t9,alphamap_pars_fragment:n9,alphatest_fragment:i9,alphatest_pars_fragment:r9,aomap_fragment:s9,aomap_pars_fragment:o9,batching_pars_vertex:a9,batching_vertex:l9,begin_vertex:c9,beginnormal_vertex:u9,bsdfs:f9,iridescence_fragment:d9,bumpmap_pars_fragment:h9,clipping_planes_fragment:p9,clipping_planes_pars_fragment:m9,clipping_planes_pars_vertex:g9,clipping_planes_vertex:v9,color_fragment:y9,color_pars_fragment:x9,color_pars_vertex:_9,color_vertex:S9,common:w9,cube_uv_reflection_fragment:E9,defaultnormal_vertex:M9,displacementmap_pars_vertex:b9,displacementmap_vertex:T9,emissivemap_fragment:C9,emissivemap_pars_fragment:A9,colorspace_fragment:R9,colorspace_pars_fragment:P9,envmap_fragment:L9,envmap_common_pars_fragment:I9,envmap_pars_fragment:O9,envmap_pars_vertex:D9,envmap_physical_pars_fragment:j9,envmap_vertex:N9,fog_vertex:k9,fog_pars_vertex:U9,fog_fragment:F9,fog_pars_fragment:z9,gradientmap_pars_fragment:B9,lightmap_fragment:H9,lightmap_pars_fragment:V9,lights_lambert_fragment:W9,lights_lambert_pars_fragment:$9,lights_pars_begin:G9,lights_toon_fragment:X9,lights_toon_pars_fragment:Y9,lights_phong_fragment:q9,lights_phong_pars_fragment:Z9,lights_physical_fragment:K9,lights_physical_pars_fragment:J9,lights_fragment_begin:Q9,lights_fragment_maps:eU,lights_fragment_end:tU,logdepthbuf_fragment:nU,logdepthbuf_pars_fragment:iU,logdepthbuf_pars_vertex:rU,logdepthbuf_vertex:sU,map_fragment:oU,map_pars_fragment:aU,map_particle_fragment:lU,map_particle_pars_fragment:cU,metalnessmap_fragment:uU,metalnessmap_pars_fragment:fU,morphinstance_vertex:dU,morphcolor_vertex:hU,morphnormal_vertex:pU,morphtarget_pars_vertex:mU,morphtarget_vertex:gU,normal_fragment_begin:vU,normal_fragment_maps:yU,normal_pars_fragment:xU,normal_pars_vertex:_U,normal_vertex:SU,normalmap_pars_fragment:wU,clearcoat_normal_fragment_begin:EU,clearcoat_normal_fragment_maps:MU,clearcoat_pars_fragment:bU,iridescence_pars_fragment:TU,opaque_fragment:CU,packing:AU,premultiplied_alpha_fragment:RU,project_vertex:PU,dithering_fragment:LU,dithering_pars_fragment:IU,roughnessmap_fragment:OU,roughnessmap_pars_fragment:DU,shadowmap_pars_fragment:NU,shadowmap_pars_vertex:kU,shadowmap_vertex:UU,shadowmask_pars_fragment:FU,skinbase_vertex:zU,skinning_pars_vertex:BU,skinning_vertex:HU,skinnormal_vertex:VU,specularmap_fragment:WU,specularmap_pars_fragment:$U,tonemapping_fragment:GU,tonemapping_pars_fragment:jU,transmission_fragment:XU,transmission_pars_fragment:YU,uv_pars_fragment:qU,uv_pars_vertex:ZU,uv_vertex:KU,worldpos_vertex:JU,background_vert:QU,background_frag:eF,backgroundCube_vert:tF,backgroundCube_frag:nF,cube_vert:iF,cube_frag:rF,depth_vert:sF,depth_frag:oF,distanceRGBA_vert:aF,distanceRGBA_frag:lF,equirect_vert:cF,equirect_frag:uF,linedashed_vert:fF,linedashed_frag:dF,meshbasic_vert:hF,meshbasic_frag:pF,meshlambert_vert:mF,meshlambert_frag:gF,meshmatcap_vert:vF,meshmatcap_frag:yF,meshnormal_vert:xF,meshnormal_frag:_F,meshphong_vert:SF,meshphong_frag:wF,meshphysical_vert:EF,meshphysical_frag:MF,meshtoon_vert:bF,meshtoon_frag:TF,points_vert:CF,points_frag:AF,shadow_vert:RF,shadow_frag:PF,sprite_vert:LF,sprite_frag:IF},Ne={common:{diffuse:{value:new je(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Mt},alphaMap:{value:null},alphaMapTransform:{value:new Mt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Mt}},envmap:{envMap:{value:null},envMapRotation:{value:new Mt},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Mt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Mt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Mt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Mt},normalScale:{value:new ve(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Mt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Mt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Mt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Mt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new je(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new je(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Mt},alphaTest:{value:0},uvTransform:{value:new Mt}},sprite:{diffuse:{value:new je(16777215)},opacity:{value:1},center:{value:new ve(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Mt},alphaMap:{value:null},alphaMapTransform:{value:new Mt},alphaTest:{value:0}}},is={basic:{uniforms:Ci([Ne.common,Ne.specularmap,Ne.envmap,Ne.aomap,Ne.lightmap,Ne.fog]),vertexShader:Ct.meshbasic_vert,fragmentShader:Ct.meshbasic_frag},lambert:{uniforms:Ci([Ne.common,Ne.specularmap,Ne.envmap,Ne.aomap,Ne.lightmap,Ne.emissivemap,Ne.bumpmap,Ne.normalmap,Ne.displacementmap,Ne.fog,Ne.lights,{emissive:{value:new je(0)}}]),vertexShader:Ct.meshlambert_vert,fragmentShader:Ct.meshlambert_frag},phong:{uniforms:Ci([Ne.common,Ne.specularmap,Ne.envmap,Ne.aomap,Ne.lightmap,Ne.emissivemap,Ne.bumpmap,Ne.normalmap,Ne.displacementmap,Ne.fog,Ne.lights,{emissive:{value:new je(0)},specular:{value:new je(1118481)},shininess:{value:30}}]),vertexShader:Ct.meshphong_vert,fragmentShader:Ct.meshphong_frag},standard:{uniforms:Ci([Ne.common,Ne.envmap,Ne.aomap,Ne.lightmap,Ne.emissivemap,Ne.bumpmap,Ne.normalmap,Ne.displacementmap,Ne.roughnessmap,Ne.metalnessmap,Ne.fog,Ne.lights,{emissive:{value:new je(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Ct.meshphysical_vert,fragmentShader:Ct.meshphysical_frag},toon:{uniforms:Ci([Ne.common,Ne.aomap,Ne.lightmap,Ne.emissivemap,Ne.bumpmap,Ne.normalmap,Ne.displacementmap,Ne.gradientmap,Ne.fog,Ne.lights,{emissive:{value:new je(0)}}]),vertexShader:Ct.meshtoon_vert,fragmentShader:Ct.meshtoon_frag},matcap:{uniforms:Ci([Ne.common,Ne.bumpmap,Ne.normalmap,Ne.displacementmap,Ne.fog,{matcap:{value:null}}]),vertexShader:Ct.meshmatcap_vert,fragmentShader:Ct.meshmatcap_frag},points:{uniforms:Ci([Ne.points,Ne.fog]),vertexShader:Ct.points_vert,fragmentShader:Ct.points_frag},dashed:{uniforms:Ci([Ne.common,Ne.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Ct.linedashed_vert,fragmentShader:Ct.linedashed_frag},depth:{uniforms:Ci([Ne.common,Ne.displacementmap]),vertexShader:Ct.depth_vert,fragmentShader:Ct.depth_frag},normal:{uniforms:Ci([Ne.common,Ne.bumpmap,Ne.normalmap,Ne.displacementmap,{opacity:{value:1}}]),vertexShader:Ct.meshnormal_vert,fragmentShader:Ct.meshnormal_frag},sprite:{uniforms:Ci([Ne.sprite,Ne.fog]),vertexShader:Ct.sprite_vert,fragmentShader:Ct.sprite_frag},background:{uniforms:{uvTransform:{value:new Mt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Ct.background_vert,fragmentShader:Ct.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new Mt}},vertexShader:Ct.backgroundCube_vert,fragmentShader:Ct.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Ct.cube_vert,fragmentShader:Ct.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Ct.equirect_vert,fragmentShader:Ct.equirect_frag},distanceRGBA:{uniforms:Ci([Ne.common,Ne.displacementmap,{referencePosition:{value:new U},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Ct.distanceRGBA_vert,fragmentShader:Ct.distanceRGBA_frag},shadow:{uniforms:Ci([Ne.lights,Ne.fog,{color:{value:new je(0)},opacity:{value:1}}]),vertexShader:Ct.shadow_vert,fragmentShader:Ct.shadow_frag}};is.physical={uniforms:Ci([is.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Mt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Mt},clearcoatNormalScale:{value:new ve(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Mt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Mt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Mt},sheen:{value:0},sheenColor:{value:new je(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Mt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Mt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Mt},transmissionSamplerSize:{value:new ve},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Mt},attenuationDistance:{value:0},attenuationColor:{value:new je(0)},specularColor:{value:new je(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Mt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Mt},anisotropyVector:{value:new ve},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Mt}}]),vertexShader:Ct.meshphysical_vert,fragmentShader:Ct.meshphysical_frag};const $p={r:0,b:0,g:0},Va=new gr,OF=new ft;function DF(n,e,t,i,r,s,o){const a=new je(0);let l=s===!0?0:1,u,d,h=null,p=0,m=null;function v(x,g){let _=!1,S=g.isScene===!0?g.background:null;S&&S.isTexture&&(S=(g.backgroundBlurriness>0?t:e).get(S)),S===null?w(a,l):S&&S.isColor&&(w(S,1),_=!0);const M=n.xr.getEnvironmentBlendMode();M==="additive"?i.buffers.color.setClear(0,0,0,1,o):M==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||_)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),S&&(S.isCubeTexture||S.mapping===Mu)?(d===void 0&&(d=new Pn(new Ol(1,1,1),new cs({name:"BackgroundCubeMaterial",uniforms:hu(is.backgroundCube.uniforms),vertexShader:is.backgroundCube.vertexShader,fragmentShader:is.backgroundCube.fragmentShader,side:Di,depthTest:!1,depthWrite:!1,fog:!1})),d.geometry.deleteAttribute("normal"),d.geometry.deleteAttribute("uv"),d.onBeforeRender=function(A,T,L){this.matrixWorld.copyPosition(L.matrixWorld)},Object.defineProperty(d.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(d)),Va.copy(g.backgroundRotation),Va.x*=-1,Va.y*=-1,Va.z*=-1,S.isCubeTexture&&S.isRenderTargetTexture===!1&&(Va.y*=-1,Va.z*=-1),d.material.uniforms.envMap.value=S,d.material.uniforms.flipEnvMap.value=S.isCubeTexture&&S.isRenderTargetTexture===!1?-1:1,d.material.uniforms.backgroundBlurriness.value=g.backgroundBlurriness,d.material.uniforms.backgroundIntensity.value=g.backgroundIntensity,d.material.uniforms.backgroundRotation.value.setFromMatrix4(OF.makeRotationFromEuler(Va)),d.material.toneMapped=Ht.getTransfer(S.colorSpace)!==Zt,(h!==S||p!==S.version||m!==n.toneMapping)&&(d.material.needsUpdate=!0,h=S,p=S.version,m=n.toneMapping),d.layers.enableAll(),x.unshift(d,d.geometry,d.material,0,0,null)):S&&S.isTexture&&(u===void 0&&(u=new Pn(new bu(2,2),new cs({name:"BackgroundMaterial",uniforms:hu(is.background.uniforms),vertexShader:is.background.vertexShader,fragmentShader:is.background.fragmentShader,side:xo,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),Object.defineProperty(u.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(u)),u.material.uniforms.t2D.value=S,u.material.uniforms.backgroundIntensity.value=g.backgroundIntensity,u.material.toneMapped=Ht.getTransfer(S.colorSpace)!==Zt,S.matrixAutoUpdate===!0&&S.updateMatrix(),u.material.uniforms.uvTransform.value.copy(S.matrix),(h!==S||p!==S.version||m!==n.toneMapping)&&(u.material.needsUpdate=!0,h=S,p=S.version,m=n.toneMapping),u.layers.enableAll(),x.unshift(u,u.geometry,u.material,0,0,null))}function w(x,g){x.getRGB($p,PP(n)),i.buffers.color.setClear($p.r,$p.g,$p.b,g,o)}return{getClearColor:function(){return a},setClearColor:function(x,g=1){a.set(x),l=g,w(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(x){l=x,w(a,l)},render:v}}function NF(n,e,t,i){const r=n.getParameter(n.MAX_VERTEX_ATTRIBS),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),o=i.isWebGL2||s!==null,a={},l=x(null);let u=l,d=!1;function h(z,J,Z,ne,k){let W=!1;if(o){const Y=w(ne,Z,J);u!==Y&&(u=Y,m(u.object)),W=g(z,ne,Z,k),W&&_(z,ne,Z,k)}else{const Y=J.wireframe===!0;(u.geometry!==ne.id||u.program!==Z.id||u.wireframe!==Y)&&(u.geometry=ne.id,u.program=Z.id,u.wireframe=Y,W=!0)}k!==null&&t.update(k,n.ELEMENT_ARRAY_BUFFER),(W||d)&&(d=!1,O(z,J,Z,ne),k!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(k).buffer))}function p(){return i.isWebGL2?n.createVertexArray():s.createVertexArrayOES()}function m(z){return i.isWebGL2?n.bindVertexArray(z):s.bindVertexArrayOES(z)}function v(z){return i.isWebGL2?n.deleteVertexArray(z):s.deleteVertexArrayOES(z)}function w(z,J,Z){const ne=Z.wireframe===!0;let k=a[z.id];k===void 0&&(k={},a[z.id]=k);let W=k[J.id];W===void 0&&(W={},k[J.id]=W);let Y=W[ne];return Y===void 0&&(Y=x(p()),W[ne]=Y),Y}function x(z){const J=[],Z=[],ne=[];for(let k=0;k=0){const oe=k[me];let ye=W[me];if(ye===void 0&&(me==="instanceMatrix"&&z.instanceMatrix&&(ye=z.instanceMatrix),me==="instanceColor"&&z.instanceColor&&(ye=z.instanceColor)),oe===void 0||oe.attribute!==ye||ye&&oe.data!==ye.data)return!0;Y++}return u.attributesNum!==Y||u.index!==ne}function _(z,J,Z,ne){const k={},W=J.attributes;let Y=0;const ie=Z.getAttributes();for(const me in ie)if(ie[me].location>=0){let oe=W[me];oe===void 0&&(me==="instanceMatrix"&&z.instanceMatrix&&(oe=z.instanceMatrix),me==="instanceColor"&&z.instanceColor&&(oe=z.instanceColor));const ye={};ye.attribute=oe,oe&&oe.data&&(ye.data=oe.data),k[me]=ye,Y++}u.attributes=k,u.attributesNum=Y,u.index=ne}function S(){const z=u.newAttributes;for(let J=0,Z=z.length;J=0){let Re=k[ie];if(Re===void 0&&(ie==="instanceMatrix"&&z.instanceMatrix&&(Re=z.instanceMatrix),ie==="instanceColor"&&z.instanceColor&&(Re=z.instanceColor)),Re!==void 0){const oe=Re.normalized,ye=Re.itemSize,Ee=t.get(Re);if(Ee===void 0)continue;const Ue=Ee.buffer,$e=Ee.type,Fe=Ee.bytesPerElement,lt=i.isWebGL2===!0&&($e===n.INT||$e===n.UNSIGNED_INT||Re.gpuType===OS);if(Re.isInterleavedBufferAttribute){const Ve=Re.data,V=Ve.stride,we=Re.offset;if(Ve.isInstancedInterleavedBuffer){for(let ge=0;ge0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";L="mediump"}return L==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext<"u"&&n.constructor.name==="WebGL2RenderingContext";let a=t.precision!==void 0?t.precision:"highp";const l=s(a);l!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",l,"instead."),a=l);const u=o||e.has("WEBGL_draw_buffers"),d=t.logarithmicDepthBuffer===!0,h=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),p=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),m=n.getParameter(n.MAX_TEXTURE_SIZE),v=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),w=n.getParameter(n.MAX_VERTEX_ATTRIBS),x=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),g=n.getParameter(n.MAX_VARYING_VECTORS),_=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),S=p>0,M=o||e.has("OES_texture_float"),A=S&&M,T=o?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:u,getMaxAnisotropy:r,getMaxPrecision:s,precision:a,logarithmicDepthBuffer:d,maxTextures:h,maxVertexTextures:p,maxTextureSize:m,maxCubemapSize:v,maxAttributes:w,maxVertexUniforms:x,maxVaryings:g,maxFragmentUniforms:_,vertexTextures:S,floatFragmentTextures:M,floatVertexTextures:A,maxSamples:T}}function FF(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new eo,a=new Mt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(h,p){const m=h.length!==0||p||i!==0||r;return r=p,i=h.length,m},this.beginShadows=function(){s=!0,d(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(h,p){t=d(h,p,0)},this.setState=function(h,p,m){const v=h.clippingPlanes,w=h.clipIntersection,x=h.clipShadows,g=n.get(h);if(!r||v===null||v.length===0||s&&!x)s?d(null):u();else{const _=s?0:i,S=_*4;let M=g.clippingState||null;l.value=M,M=d(v,p,S,m);for(let A=0;A!==S;++A)M[A]=t[A];g.clippingState=M,this.numIntersection=w?this.numPlanes:0,this.numPlanes+=_}};function u(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function d(h,p,m,v){const w=h!==null?h.length:0;let x=null;if(w!==0){if(x=l.value,v!==!0||x===null){const g=m+w*4,_=p.matrixWorldInverse;a.getNormalMatrix(_),(x===null||x.length0){const u=new OP(l.height);return u.fromEquirectangularTexture(n,o),e.set(o,u),o.addEventListener("dispose",r),t(u.texture,o.mapping)}else return null}}return o}function r(o){const a=o.target;a.removeEventListener("dispose",r);const l=e.get(a);l!==void 0&&(e.delete(a),l.dispose())}function s(){e=new WeakMap}return{get:i,dispose:s}}class lo extends Kd{constructor(e=-1,t=1,i=1,r=-1,s=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=i,this.bottom=r,this.near=s,this.far=o,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,i,r,s,o){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,r=(this.top+this.bottom)/2;let s=i-e,o=i+e,a=r+t,l=r-t;if(this.view!==null&&this.view.enabled){const u=(this.right-this.left)/this.view.fullWidth/this.zoom,d=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=u*this.view.offsetX,o=s+u*this.view.width,a-=d*this.view.offsetY,l=a-d*this.view.height}this.projectionMatrix.makeOrthographic(s,o,a,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}const Vc=4,Q2=[.125,.215,.35,.446,.526,.582],il=20,z1=new lo,eb=new je;let B1=null,H1=0,V1=0;const tl=(1+Math.sqrt(5))/2,mc=1/tl,tb=[new U(1,1,1),new U(-1,1,1),new U(1,1,-1),new U(-1,1,-1),new U(0,tl,mc),new U(0,tl,-mc),new U(mc,0,tl),new U(-mc,0,tl),new U(tl,mc,0),new U(-tl,mc,0)];class Qx{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,i=.1,r=100){B1=this._renderer.getRenderTarget(),H1=this._renderer.getActiveCubeFace(),V1=this._renderer.getActiveMipmapLevel(),this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=rb(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=ib(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?S:0,S,S),d.setRenderTarget(r),w&&d.render(v,a),d.render(e,a)}v.geometry.dispose(),v.material.dispose(),d.toneMapping=p,d.autoClear=h,e.background=x}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===_o||e.mapping===ma;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=rb()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=ib());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new Pn(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;Gp(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,z1)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;ril&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${x} samples when the maximum is set to ${il}`);const g=[];let _=0;for(let L=0;LS-Vc?r-S+Vc:0),T=4*(this._cubeSize-M);Gp(t,A,T,3*M,2*M),l.setRenderTarget(t),l.render(h,z1)}}function BF(n){const e=[],t=[],i=[];let r=n;const s=n-Vc+1+Q2.length;for(let o=0;on-Vc?l=Q2[o-n+Vc-1]:o===0&&(l=0),i.push(l);const u=1/(a-2),d=-u,h=1+u,p=[d,d,h,d,h,h,d,d,h,h,d,h],m=6,v=6,w=3,x=2,g=1,_=new Float32Array(w*v*m),S=new Float32Array(x*v*m),M=new Float32Array(g*v*m);for(let T=0;T2?0:-1,H=[L,O,0,L+2/3,O,0,L+2/3,O+1,0,L,O,0,L+2/3,O+1,0,L,O+1,0];_.set(H,w*v*T),S.set(p,x*v*T);const C=[T,T,T,T,T,T];M.set(C,g*v*T)}const A=new At;A.setAttribute("position",new Gt(_,w)),A.setAttribute("uv",new Gt(S,x)),A.setAttribute("faceIndex",new Gt(M,g)),e.push(A),r>Vc&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function nb(n,e,t){const i=new ls(n,e,t);return i.texture.mapping=Mu,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function Gp(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function HF(n,e,t){const i=new Float32Array(il),r=new U(0,1,0);return new cs({name:"SphericalGaussianBlur",defines:{n:il,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${n}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:YS(),fragmentShader:` - - precision mediump float; - precision mediump int; - - varying vec3 vOutputDirection; - - uniform sampler2D envMap; - uniform int samples; - uniform float weights[ n ]; - uniform bool latitudinal; - uniform float dTheta; - uniform float mipInt; - uniform vec3 poleAxis; - - #define ENVMAP_TYPE_CUBE_UV - #include - - vec3 getSample( float theta, vec3 axis ) { - - float cosTheta = cos( theta ); - // Rodrigues' axis-angle rotation - vec3 sampleDirection = vOutputDirection * cosTheta - + cross( axis, vOutputDirection ) * sin( theta ) - + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); - - return bilinearCubeUV( envMap, sampleDirection, mipInt ); - - } - - void main() { - - vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); - - if ( all( equal( axis, vec3( 0.0 ) ) ) ) { - - axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); - - } - - axis = normalize( axis ); - - gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); - gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); - - for ( int i = 1; i < n; i++ ) { - - if ( i >= samples ) { - - break; - - } - - float theta = dTheta * float( i ); - gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); - gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); - - } - - } - `,blending:fo,depthTest:!1,depthWrite:!1})}function ib(){return new cs({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:YS(),fragmentShader:` - - precision mediump float; - precision mediump int; - - varying vec3 vOutputDirection; - - uniform sampler2D envMap; - - #include - - void main() { - - vec3 outputDirection = normalize( vOutputDirection ); - vec2 uv = equirectUv( outputDirection ); - - gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); - - } - `,blending:fo,depthTest:!1,depthWrite:!1})}function rb(){return new cs({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:YS(),fragmentShader:` - - precision mediump float; - precision mediump int; - - uniform float flipEnvMap; - - varying vec3 vOutputDirection; - - uniform samplerCube envMap; - - void main() { - - gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); - - } - `,blending:fo,depthTest:!1,depthWrite:!1})}function YS(){return` - - precision mediump float; - precision mediump int; - - attribute float faceIndex; - - varying vec3 vOutputDirection; - - // RH coordinate system; PMREM face-indexing convention - vec3 getDirection( vec2 uv, float face ) { - - uv = 2.0 * uv - 1.0; - - vec3 direction = vec3( uv, 1.0 ); - - if ( face == 0.0 ) { - - direction = direction.zyx; // ( 1, v, u ) pos x - - } else if ( face == 1.0 ) { - - direction = direction.xzy; - direction.xz *= -1.0; // ( -u, 1, -v ) pos y - - } else if ( face == 2.0 ) { - - direction.x *= -1.0; // ( -u, v, 1 ) pos z - - } else if ( face == 3.0 ) { - - direction = direction.zyx; - direction.xz *= -1.0; // ( -1, v, -u ) neg x - - } else if ( face == 4.0 ) { - - direction = direction.xzy; - direction.xy *= -1.0; // ( -u, -1, v ) neg y - - } else if ( face == 5.0 ) { - - direction.z *= -1.0; // ( u, v, -1 ) neg z - - } - - return direction; - - } - - void main() { - - vOutputDirection = getDirection( uv, faceIndex ); - gl_Position = vec4( position, 1.0 ); - - } - `}function VF(n){let e=new WeakMap,t=null;function i(a){if(a&&a.isTexture){const l=a.mapping,u=l===vd||l===yd,d=l===_o||l===ma;if(u||d)if(a.isRenderTargetTexture&&a.needsPMREMUpdate===!0){a.needsPMREMUpdate=!1;let h=e.get(a);return t===null&&(t=new Qx(n)),h=u?t.fromEquirectangular(a,h):t.fromCubemap(a,h),e.set(a,h),h.texture}else{if(e.has(a))return e.get(a).texture;{const h=a.image;if(u&&h&&h.height>0||d&&h&&r(h)){t===null&&(t=new Qx(n));const p=u?t.fromEquirectangular(a):t.fromCubemap(a);return e.set(a,p),a.addEventListener("dispose",s),p.texture}else return null}}}return a}function r(a){let l=0;const u=6;for(let d=0;de.maxTextureSize&&(O=Math.ceil(L/e.maxTextureSize),L=e.maxTextureSize);const H=new Float32Array(L*O*4*v),C=new u0(H,L,O,v);C.type=lr,C.needsUpdate=!0;const I=T*4;for(let ee=0;ee0)return n;const r=e*t;let s=sb[r];if(s===void 0&&(s=new Float32Array(r),sb[r]=s),e!==0){i.toArray(s,0);for(let o=1,a=0;o!==e;++o)a+=t,n[o].toArray(s,a)}return s}function zn(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t":" "} ${a}: ${t[o]}`)}return i.join(` -`)}function $8(n){const e=Ht.getPrimaries(Ht.workingColorSpace),t=Ht.getPrimaries(n);let i;switch(e===t?i="":e===Td&&t===bd?i="LinearDisplayP3ToLinearSRGB":e===bd&&t===Td&&(i="LinearSRGBToLinearDisplayP3"),n){case Co:case Zd:return[i,"LinearTransferOETF"];case Dr:case c0:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function db(n,e,t){const i=n.getShaderParameter(e,n.COMPILE_STATUS),r=n.getShaderInfoLog(e).trim();if(i&&r==="")return"";const s=/ERROR: 0:(\d+)/.exec(r);if(s){const o=parseInt(s[1]);return t.toUpperCase()+` - -`+r+` - -`+W8(n.getShaderSource(e),o)}else return r}function G8(n,e){const t=$8(e);return`vec4 ${n}( vec4 value ) { return ${t[0]}( ${t[1]}( value ) ); }`}function j8(n,e){let t;switch(e){case KR:t="Linear";break;case JR:t="Reinhard";break;case QR:t="OptimizedCineon";break;case IS:t="ACESFilmic";break;case tP:t="AgX";break;case nP:t="Neutral";break;case eP:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function X8(n){return[n.extensionDerivatives||n.envMapCubeUVHeight||n.bumpMap||n.normalMapTangentSpace||n.clearcoatNormalMap||n.flatShading||n.alphaToCoverage||n.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(n.extensionFragDepth||n.logarithmicDepthBuffer)&&n.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",n.extensionDrawBuffers&&n.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(n.extensionShaderTextureLOD||n.envMap||n.transmission)&&n.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Wc).join(` -`)}function Y8(n){return[n.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",n.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(Wc).join(` -`)}function q8(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(` -`)}function Z8(n,e){const t={},i=n.getProgramParameter(e,n.ACTIVE_ATTRIBUTES);for(let r=0;r/gm;function e_(n){return n.replace(K8,Q8)}const J8=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function Q8(n,e){let t=Ct[e];if(t===void 0){const i=J8.get(e);if(i!==void 0)t=Ct[i],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,i);else throw new Error("Can not resolve #include <"+e+">")}return e_(t)}const ez=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function mb(n){return n.replace(ez,tz)}function tz(n,e,t,i){let r="";for(let s=parseInt(e);s0&&(g+=` -`),_=[m,"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,w].filter(Wc).join(` -`),_.length>0&&(_+=` -`)):(g=[gb(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,w,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.instancingMorph?"#define USE_INSTANCING_MORPH":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+d:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","#ifdef USE_INSTANCING_MORPH"," uniform sampler2D morphTexture;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )"," attribute vec3 morphTarget0;"," attribute vec3 morphTarget1;"," attribute vec3 morphTarget2;"," attribute vec3 morphTarget3;"," #ifdef USE_MORPHNORMALS"," attribute vec3 morphNormal0;"," attribute vec3 morphNormal1;"," attribute vec3 morphNormal2;"," attribute vec3 morphNormal3;"," #else"," attribute vec3 morphTarget4;"," attribute vec3 morphTarget5;"," attribute vec3 morphTarget6;"," attribute vec3 morphTarget7;"," #endif","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` -`].filter(Wc).join(` -`),_=[m,gb(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,w,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+u:"",t.envMap?"#define "+d:"",t.envMap?"#define "+h:"",p?"#define CUBEUV_TEXEL_WIDTH "+p.texelWidth:"",p?"#define CUBEUV_TEXEL_HEIGHT "+p.texelHeight:"",p?"#define CUBEUV_MAX_MIP "+p.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==Is?"#define TONE_MAPPING":"",t.toneMapping!==Is?Ct.tonemapping_pars_fragment:"",t.toneMapping!==Is?j8("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",Ct.colorspace_pars_fragment,G8("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` -`].filter(Wc).join(` -`)),o=e_(o),o=hb(o,t),o=pb(o,t),a=e_(a),a=hb(a,t),a=pb(a,t),o=mb(o),a=mb(a),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(S=`#version 300 es -`,g=[v,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` -`)+` -`+g,_=["precision mediump sampler2DArray;","#define varying in",t.glslVersion===Kx?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===Kx?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` -`)+` -`+_);const M=S+g+o,A=S+_+a,T=fb(r,r.VERTEX_SHADER,M),L=fb(r,r.FRAGMENT_SHADER,A);r.attachShader(x,T),r.attachShader(x,L),t.index0AttributeName!==void 0?r.bindAttribLocation(x,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(x,0,"position"),r.linkProgram(x);function O(j){if(n.debug.checkShaderErrors){const ee=r.getProgramInfoLog(x).trim(),z=r.getShaderInfoLog(T).trim(),J=r.getShaderInfoLog(L).trim();let Z=!0,ne=!0;if(r.getProgramParameter(x,r.LINK_STATUS)===!1)if(Z=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,x,T,L);else{const k=db(r,T,"vertex"),W=db(r,L,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(x,r.VALIDATE_STATUS)+` - -Material Name: `+j.name+` -Material Type: `+j.type+` - -Program Info Log: `+ee+` -`+k+` -`+W)}else ee!==""?console.warn("THREE.WebGLProgram: Program Info Log:",ee):(z===""||J==="")&&(ne=!1);ne&&(j.diagnostics={runnable:Z,programLog:ee,vertexShader:{log:z,prefix:g},fragmentShader:{log:J,prefix:_}})}r.deleteShader(T),r.deleteShader(L),H=new Gm(r,x),C=Z8(r,x)}let H;this.getUniforms=function(){return H===void 0&&O(this),H};let C;this.getAttributes=function(){return C===void 0&&O(this),C};let I=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return I===!1&&(I=r.getProgramParameter(x,H8)),I},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(x),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=V8++,this.cacheKey=e,this.usedTimes=1,this.program=x,this.vertexShader=T,this.fragmentShader=L,this}let lz=0;class cz{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,i=e.fragmentShader,r=this._getShaderStage(t),s=this._getShaderStage(i),o=this._getShaderCacheForMaterial(e);return o.has(r)===!1&&(o.add(r),r.usedTimes++),o.has(s)===!1&&(o.add(s),s.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const i of t)i.usedTimes--,i.usedTimes===0&&this.shaderCache.delete(i.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;let i=t.get(e);return i===void 0&&(i=new Set,t.set(e,i)),i}_getShaderStage(e){const t=this.shaderCache;let i=t.get(e);return i===void 0&&(i=new uz(e),t.set(e,i)),i}}class uz{constructor(e){this.id=lz++,this.code=e,this.usedTimes=0}}function fz(n,e,t,i,r,s,o){const a=new gl,l=new cz,u=new Set,d=[],h=r.isWebGL2,p=r.logarithmicDepthBuffer,m=r.vertexTextures;let v=r.precision;const w={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function x(C){return u.add(C),C===0?"uv":`uv${C}`}function g(C,I,j,ee,z){const J=ee.fog,Z=z.geometry,ne=C.isMeshStandardMaterial?ee.environment:null,k=(C.isMeshStandardMaterial?t:e).get(C.envMap||ne),W=k&&k.mapping===Mu?k.image.height:null,Y=w[C.type];C.precision!==null&&(v=r.getMaxPrecision(C.precision),v!==C.precision&&console.warn("THREE.WebGLProgram.getParameters:",C.precision,"not supported, using",v,"instead."));const ie=Z.morphAttributes.position||Z.morphAttributes.normal||Z.morphAttributes.color,me=ie!==void 0?ie.length:0;let Re=0;Z.morphAttributes.position!==void 0&&(Re=1),Z.morphAttributes.normal!==void 0&&(Re=2),Z.morphAttributes.color!==void 0&&(Re=3);let oe,ye,Ee,Ue;if(Y){const Ot=is[Y];oe=Ot.vertexShader,ye=Ot.fragmentShader}else oe=C.vertexShader,ye=C.fragmentShader,l.update(C),Ee=l.getVertexShaderID(C),Ue=l.getFragmentShaderID(C);const $e=n.getRenderTarget(),Fe=z.isInstancedMesh===!0,lt=z.isBatchedMesh===!0,Ve=!!C.map,V=!!C.matcap,we=!!k,ge=!!C.aoMap,Me=!!C.lightMap,xe=!!C.bumpMap,Be=!!C.normalMap,ke=!!C.displacementMap,Xe=!!C.emissiveMap,ct=!!C.metalnessMap,F=!!C.roughnessMap,D=C.anisotropy>0,X=C.clearcoat>0,re=C.iridescence>0,Se=C.sheen>0,_e=C.transmission>0,et=D&&!!C.anisotropyMap,tt=X&&!!C.clearcoatMap,Te=X&&!!C.clearcoatNormalMap,De=X&&!!C.clearcoatRoughnessMap,st=re&&!!C.iridescenceMap,Ce=re&&!!C.iridescenceThicknessMap,Bt=Se&&!!C.sheenColorMap,vt=Se&&!!C.sheenRoughnessMap,Je=!!C.specularMap,$=!!C.specularColorMap,ue=!!C.specularIntensityMap,Le=_e&&!!C.transmissionMap,ze=_e&&!!C.thicknessMap,xt=!!C.gradientMap,K=!!C.alphaMap,Ie=C.alphaTest>0,ce=!!C.alphaHash,Pe=!!C.extensions;let Oe=Is;C.toneMapped&&($e===null||$e.isXRRenderTarget===!0)&&(Oe=n.toneMapping);const mt={isWebGL2:h,shaderID:Y,shaderType:C.type,shaderName:C.name,vertexShader:oe,fragmentShader:ye,defines:C.defines,customVertexShaderID:Ee,customFragmentShaderID:Ue,isRawShaderMaterial:C.isRawShaderMaterial===!0,glslVersion:C.glslVersion,precision:v,batching:lt,instancing:Fe,instancingColor:Fe&&z.instanceColor!==null,instancingMorph:Fe&&z.morphTexture!==null,supportsVertexTextures:m,outputColorSpace:$e===null?n.outputColorSpace:$e.isXRRenderTarget===!0?$e.texture.colorSpace:Co,alphaToCoverage:!!C.alphaToCoverage,map:Ve,matcap:V,envMap:we,envMapMode:we&&k.mapping,envMapCubeUVHeight:W,aoMap:ge,lightMap:Me,bumpMap:xe,normalMap:Be,displacementMap:m&&ke,emissiveMap:Xe,normalMapObjectSpace:Be&&C.normalMapType===gP,normalMapTangentSpace:Be&&C.normalMapType===ba,metalnessMap:ct,roughnessMap:F,anisotropy:D,anisotropyMap:et,clearcoat:X,clearcoatMap:tt,clearcoatNormalMap:Te,clearcoatRoughnessMap:De,iridescence:re,iridescenceMap:st,iridescenceThicknessMap:Ce,sheen:Se,sheenColorMap:Bt,sheenRoughnessMap:vt,specularMap:Je,specularColorMap:$,specularIntensityMap:ue,transmission:_e,transmissionMap:Le,thicknessMap:ze,gradientMap:xt,opaque:C.transparent===!1&&C.blending===ho&&C.alphaToCoverage===!1,alphaMap:K,alphaTest:Ie,alphaHash:ce,combine:C.combine,mapUv:Ve&&x(C.map.channel),aoMapUv:ge&&x(C.aoMap.channel),lightMapUv:Me&&x(C.lightMap.channel),bumpMapUv:xe&&x(C.bumpMap.channel),normalMapUv:Be&&x(C.normalMap.channel),displacementMapUv:ke&&x(C.displacementMap.channel),emissiveMapUv:Xe&&x(C.emissiveMap.channel),metalnessMapUv:ct&&x(C.metalnessMap.channel),roughnessMapUv:F&&x(C.roughnessMap.channel),anisotropyMapUv:et&&x(C.anisotropyMap.channel),clearcoatMapUv:tt&&x(C.clearcoatMap.channel),clearcoatNormalMapUv:Te&&x(C.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:De&&x(C.clearcoatRoughnessMap.channel),iridescenceMapUv:st&&x(C.iridescenceMap.channel),iridescenceThicknessMapUv:Ce&&x(C.iridescenceThicknessMap.channel),sheenColorMapUv:Bt&&x(C.sheenColorMap.channel),sheenRoughnessMapUv:vt&&x(C.sheenRoughnessMap.channel),specularMapUv:Je&&x(C.specularMap.channel),specularColorMapUv:$&&x(C.specularColorMap.channel),specularIntensityMapUv:ue&&x(C.specularIntensityMap.channel),transmissionMapUv:Le&&x(C.transmissionMap.channel),thicknessMapUv:ze&&x(C.thicknessMap.channel),alphaMapUv:K&&x(C.alphaMap.channel),vertexTangents:!!Z.attributes.tangent&&(Be||D),vertexColors:C.vertexColors,vertexAlphas:C.vertexColors===!0&&!!Z.attributes.color&&Z.attributes.color.itemSize===4,pointsUvs:z.isPoints===!0&&!!Z.attributes.uv&&(Ve||K),fog:!!J,useFog:C.fog===!0,fogExp2:!!J&&J.isFogExp2,flatShading:C.flatShading===!0,sizeAttenuation:C.sizeAttenuation===!0,logarithmicDepthBuffer:p,skinning:z.isSkinnedMesh===!0,morphTargets:Z.morphAttributes.position!==void 0,morphNormals:Z.morphAttributes.normal!==void 0,morphColors:Z.morphAttributes.color!==void 0,morphTargetsCount:me,morphTextureStride:Re,numDirLights:I.directional.length,numPointLights:I.point.length,numSpotLights:I.spot.length,numSpotLightMaps:I.spotLightMap.length,numRectAreaLights:I.rectArea.length,numHemiLights:I.hemi.length,numDirLightShadows:I.directionalShadowMap.length,numPointLightShadows:I.pointShadowMap.length,numSpotLightShadows:I.spotShadowMap.length,numSpotLightShadowsWithMaps:I.numSpotLightShadowsWithMaps,numLightProbes:I.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:C.dithering,shadowMapEnabled:n.shadowMap.enabled&&j.length>0,shadowMapType:n.shadowMap.type,toneMapping:Oe,useLegacyLights:n._useLegacyLights,decodeVideoTexture:Ve&&C.map.isVideoTexture===!0&&Ht.getTransfer(C.map.colorSpace)===Zt,premultipliedAlpha:C.premultipliedAlpha,doubleSided:C.side===Cs,flipSided:C.side===Di,useDepthPacking:C.depthPacking>=0,depthPacking:C.depthPacking||0,index0AttributeName:C.index0AttributeName,extensionDerivatives:Pe&&C.extensions.derivatives===!0,extensionFragDepth:Pe&&C.extensions.fragDepth===!0,extensionDrawBuffers:Pe&&C.extensions.drawBuffers===!0,extensionShaderTextureLOD:Pe&&C.extensions.shaderTextureLOD===!0,extensionClipCullDistance:Pe&&C.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:Pe&&C.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionFragDepth:h||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:h||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:h||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:C.customProgramCacheKey()};return mt.vertexUv1s=u.has(1),mt.vertexUv2s=u.has(2),mt.vertexUv3s=u.has(3),u.clear(),mt}function _(C){const I=[];if(C.shaderID?I.push(C.shaderID):(I.push(C.customVertexShaderID),I.push(C.customFragmentShaderID)),C.defines!==void 0)for(const j in C.defines)I.push(j),I.push(C.defines[j]);return C.isRawShaderMaterial===!1&&(S(I,C),M(I,C),I.push(n.outputColorSpace)),I.push(C.customProgramCacheKey),I.join()}function S(C,I){C.push(I.precision),C.push(I.outputColorSpace),C.push(I.envMapMode),C.push(I.envMapCubeUVHeight),C.push(I.mapUv),C.push(I.alphaMapUv),C.push(I.lightMapUv),C.push(I.aoMapUv),C.push(I.bumpMapUv),C.push(I.normalMapUv),C.push(I.displacementMapUv),C.push(I.emissiveMapUv),C.push(I.metalnessMapUv),C.push(I.roughnessMapUv),C.push(I.anisotropyMapUv),C.push(I.clearcoatMapUv),C.push(I.clearcoatNormalMapUv),C.push(I.clearcoatRoughnessMapUv),C.push(I.iridescenceMapUv),C.push(I.iridescenceThicknessMapUv),C.push(I.sheenColorMapUv),C.push(I.sheenRoughnessMapUv),C.push(I.specularMapUv),C.push(I.specularColorMapUv),C.push(I.specularIntensityMapUv),C.push(I.transmissionMapUv),C.push(I.thicknessMapUv),C.push(I.combine),C.push(I.fogExp2),C.push(I.sizeAttenuation),C.push(I.morphTargetsCount),C.push(I.morphAttributeCount),C.push(I.numDirLights),C.push(I.numPointLights),C.push(I.numSpotLights),C.push(I.numSpotLightMaps),C.push(I.numHemiLights),C.push(I.numRectAreaLights),C.push(I.numDirLightShadows),C.push(I.numPointLightShadows),C.push(I.numSpotLightShadows),C.push(I.numSpotLightShadowsWithMaps),C.push(I.numLightProbes),C.push(I.shadowMapType),C.push(I.toneMapping),C.push(I.numClippingPlanes),C.push(I.numClipIntersection),C.push(I.depthPacking)}function M(C,I){a.disableAll(),I.isWebGL2&&a.enable(0),I.supportsVertexTextures&&a.enable(1),I.instancing&&a.enable(2),I.instancingColor&&a.enable(3),I.instancingMorph&&a.enable(4),I.matcap&&a.enable(5),I.envMap&&a.enable(6),I.normalMapObjectSpace&&a.enable(7),I.normalMapTangentSpace&&a.enable(8),I.clearcoat&&a.enable(9),I.iridescence&&a.enable(10),I.alphaTest&&a.enable(11),I.vertexColors&&a.enable(12),I.vertexAlphas&&a.enable(13),I.vertexUv1s&&a.enable(14),I.vertexUv2s&&a.enable(15),I.vertexUv3s&&a.enable(16),I.vertexTangents&&a.enable(17),I.anisotropy&&a.enable(18),I.alphaHash&&a.enable(19),I.batching&&a.enable(20),C.push(a.mask),a.disableAll(),I.fog&&a.enable(0),I.useFog&&a.enable(1),I.flatShading&&a.enable(2),I.logarithmicDepthBuffer&&a.enable(3),I.skinning&&a.enable(4),I.morphTargets&&a.enable(5),I.morphNormals&&a.enable(6),I.morphColors&&a.enable(7),I.premultipliedAlpha&&a.enable(8),I.shadowMapEnabled&&a.enable(9),I.useLegacyLights&&a.enable(10),I.doubleSided&&a.enable(11),I.flipSided&&a.enable(12),I.useDepthPacking&&a.enable(13),I.dithering&&a.enable(14),I.transmission&&a.enable(15),I.sheen&&a.enable(16),I.opaque&&a.enable(17),I.pointsUvs&&a.enable(18),I.decodeVideoTexture&&a.enable(19),I.alphaToCoverage&&a.enable(20),C.push(a.mask)}function A(C){const I=w[C.type];let j;if(I){const ee=is[I];j=LP.clone(ee.uniforms)}else j=C.uniforms;return j}function T(C,I){let j;for(let ee=0,z=d.length;ee0?i.push(g):m.transparent===!0?r.push(g):t.push(g)}function l(h,p,m,v,w,x){const g=o(h,p,m,v,w,x);m.transmission>0?i.unshift(g):m.transparent===!0?r.unshift(g):t.unshift(g)}function u(h,p){t.length>1&&t.sort(h||hz),i.length>1&&i.sort(p||vb),r.length>1&&r.sort(p||vb)}function d(){for(let h=e,p=n.length;h=s.length?(o=new yb,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function mz(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new U,color:new je};break;case"SpotLight":t={position:new U,direction:new U,color:new je,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new U,color:new je,distance:0,decay:0};break;case"HemisphereLight":t={direction:new U,skyColor:new je,groundColor:new je};break;case"RectAreaLight":t={color:new je,position:new U,halfWidth:new U,halfHeight:new U};break}return n[e.id]=t,t}}}function gz(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let vz=0;function yz(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function xz(n,e){const t=new mz,i=gz(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let d=0;d<9;d++)r.probe.push(new U);const s=new U,o=new ft,a=new ft;function l(d,h){let p=0,m=0,v=0;for(let j=0;j<9;j++)r.probe[j].set(0,0,0);let w=0,x=0,g=0,_=0,S=0,M=0,A=0,T=0,L=0,O=0,H=0;d.sort(yz);const C=h===!0?Math.PI:1;for(let j=0,ee=d.length;j0&&(e.isWebGL2?n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ne.LTC_FLOAT_1,r.rectAreaLTC2=Ne.LTC_FLOAT_2):(r.rectAreaLTC1=Ne.LTC_HALF_1,r.rectAreaLTC2=Ne.LTC_HALF_2):n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ne.LTC_FLOAT_1,r.rectAreaLTC2=Ne.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=Ne.LTC_HALF_1,r.rectAreaLTC2=Ne.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=p,r.ambient[1]=m,r.ambient[2]=v;const I=r.hash;(I.directionalLength!==w||I.pointLength!==x||I.spotLength!==g||I.rectAreaLength!==_||I.hemiLength!==S||I.numDirectionalShadows!==M||I.numPointShadows!==A||I.numSpotShadows!==T||I.numSpotMaps!==L||I.numLightProbes!==H)&&(r.directional.length=w,r.spot.length=g,r.rectArea.length=_,r.point.length=x,r.hemi.length=S,r.directionalShadow.length=M,r.directionalShadowMap.length=M,r.pointShadow.length=A,r.pointShadowMap.length=A,r.spotShadow.length=T,r.spotShadowMap.length=T,r.directionalShadowMatrix.length=M,r.pointShadowMatrix.length=A,r.spotLightMatrix.length=T+L-O,r.spotLightMap.length=L,r.numSpotLightShadowsWithMaps=O,r.numLightProbes=H,I.directionalLength=w,I.pointLength=x,I.spotLength=g,I.rectAreaLength=_,I.hemiLength=S,I.numDirectionalShadows=M,I.numPointShadows=A,I.numSpotShadows=T,I.numSpotMaps=L,I.numLightProbes=H,r.version=vz++)}function u(d,h){let p=0,m=0,v=0,w=0,x=0;const g=h.matrixWorldInverse;for(let _=0,S=d.length;_=a.length?(l=new xb(n,e),a.push(l)):l=a[o],l}function r(){t=new WeakMap}return{get:i,dispose:r}}class ZS extends ri{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=pP,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class KS extends ri{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const Sz=`void main() { - gl_Position = vec4( position, 1.0 ); -}`,wz=`uniform sampler2D shadow_pass; -uniform vec2 resolution; -uniform float radius; -#include -void main() { - const float samples = float( VSM_SAMPLES ); - float mean = 0.0; - float squared_mean = 0.0; - float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 ); - float uvStart = samples <= 1.0 ? 0.0 : - 1.0; - for ( float i = 0.0; i < samples; i ++ ) { - float uvOffset = uvStart + i * uvStride; - #ifdef HORIZONTAL_PASS - vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) ); - mean += distribution.x; - squared_mean += distribution.y * distribution.y + distribution.x * distribution.x; - #else - float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) ); - mean += depth; - squared_mean += depth * depth; - #endif - } - mean = mean / samples; - squared_mean = squared_mean / samples; - float std_dev = sqrt( squared_mean - mean * mean ); - gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); -}`;function Ez(n,e,t){let i=new Qd;const r=new ve,s=new ve,o=new Vt,a=new ZS({depthPacking:mP}),l=new KS,u={},d=t.maxTextureSize,h={[xo]:Di,[Di]:xo,[Cs]:Cs},p=new cs({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ve},radius:{value:4}},vertexShader:Sz,fragmentShader:wz}),m=p.clone();m.defines.HORIZONTAL_PASS=1;const v=new At;v.setAttribute("position",new Gt(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const w=new Pn(v,p),x=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=s0;let g=this.type;this.render=function(T,L,O){if(x.enabled===!1||x.autoUpdate===!1&&x.needsUpdate===!1||T.length===0)return;const H=n.getRenderTarget(),C=n.getActiveCubeFace(),I=n.getActiveMipmapLevel(),j=n.state;j.setBlending(fo),j.buffers.color.setClear(1,1,1,1),j.buffers.depth.setTest(!0),j.setScissorTest(!1);const ee=g!==es&&this.type===es,z=g===es&&this.type!==es;for(let J=0,Z=T.length;Jd||r.y>d)&&(r.x>d&&(s.x=Math.floor(d/W.x),r.x=s.x*W.x,k.mapSize.x=s.x),r.y>d&&(s.y=Math.floor(d/W.y),r.y=s.y*W.y,k.mapSize.y=s.y)),k.map===null||ee===!0||z===!0){const ie=this.type!==es?{minFilter:An,magFilter:An}:{};k.map!==null&&k.map.dispose(),k.map=new ls(r.x,r.y,ie),k.map.texture.name=ne.name+".shadowMap",k.camera.updateProjectionMatrix()}n.setRenderTarget(k.map),n.clear();const Y=k.getViewportCount();for(let ie=0;ie0||L.map&&L.alphaTest>0){const j=C.uuid,ee=L.uuid;let z=u[j];z===void 0&&(z={},u[j]=z);let J=z[ee];J===void 0&&(J=C.clone(),z[ee]=J,L.addEventListener("dispose",A)),C=J}if(C.visible=L.visible,C.wireframe=L.wireframe,H===es?C.side=L.shadowSide!==null?L.shadowSide:L.side:C.side=L.shadowSide!==null?L.shadowSide:h[L.side],C.alphaMap=L.alphaMap,C.alphaTest=L.alphaTest,C.map=L.map,C.clipShadows=L.clipShadows,C.clippingPlanes=L.clippingPlanes,C.clipIntersection=L.clipIntersection,C.displacementMap=L.displacementMap,C.displacementScale=L.displacementScale,C.displacementBias=L.displacementBias,C.wireframeLinewidth=L.wireframeLinewidth,C.linewidth=L.linewidth,O.isPointLight===!0&&C.isMeshDistanceMaterial===!0){const j=n.properties.get(C);j.light=O}return C}function M(T,L,O,H,C){if(T.visible===!1)return;if(T.layers.test(L.layers)&&(T.isMesh||T.isLine||T.isPoints)&&(T.castShadow||T.receiveShadow&&C===es)&&(!T.frustumCulled||i.intersectsObject(T))){T.modelViewMatrix.multiplyMatrices(O.matrixWorldInverse,T.matrixWorld);const ee=e.update(T),z=T.material;if(Array.isArray(z)){const J=ee.groups;for(let Z=0,ne=J.length;Z=1):Y.indexOf("OpenGL ES")!==-1&&(W=parseFloat(/^OpenGL ES (\d)/.exec(Y)[1]),k=W>=2);let ie=null,me={};const Re=n.getParameter(n.SCISSOR_BOX),oe=n.getParameter(n.VIEWPORT),ye=new Vt().fromArray(Re),Ee=new Vt().fromArray(oe);function Ue(K,Ie,ce,Pe){const Oe=new Uint8Array(4),mt=n.createTexture();n.bindTexture(K,mt),n.texParameteri(K,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(K,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let Ot=0;Ot"u"?!1:/OculusBrowser/g.test(navigator.userAgent),d=new ve,h=new WeakMap;let p;const m=new WeakMap;let v=!1;try{v=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function w(F,D){return v?new OffscreenCanvas(F,D):Rd("canvas")}function x(F,D,X,re){let Se=1;const _e=ct(F);if((_e.width>re||_e.height>re)&&(Se=re/Math.max(_e.width,_e.height)),Se<1||D===!0)if(typeof HTMLImageElement<"u"&&F instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&F instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&F instanceof ImageBitmap||typeof VideoFrame<"u"&&F instanceof VideoFrame){const et=D?Eg:Math.floor,tt=et(Se*_e.width),Te=et(Se*_e.height);p===void 0&&(p=w(tt,Te));const De=X?w(tt,Te):p;return De.width=tt,De.height=Te,De.getContext("2d").drawImage(F,0,0,tt,Te),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+_e.width+"x"+_e.height+") to ("+tt+"x"+Te+")."),De}else return"data"in F&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+_e.width+"x"+_e.height+")."),F;return F}function g(F){const D=ct(F);return Jx(D.width)&&Jx(D.height)}function _(F){return a?!1:F.wrapS!==gi||F.wrapT!==gi||F.minFilter!==An&&F.minFilter!==un}function S(F,D){return F.generateMipmaps&&D&&F.minFilter!==An&&F.minFilter!==un}function M(F){n.generateMipmap(F)}function A(F,D,X,re,Se=!1){if(a===!1)return D;if(F!==null){if(n[F]!==void 0)return n[F];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+F+"'")}let _e=D;if(D===n.RED&&(X===n.FLOAT&&(_e=n.R32F),X===n.HALF_FLOAT&&(_e=n.R16F),X===n.UNSIGNED_BYTE&&(_e=n.R8)),D===n.RED_INTEGER&&(X===n.UNSIGNED_BYTE&&(_e=n.R8UI),X===n.UNSIGNED_SHORT&&(_e=n.R16UI),X===n.UNSIGNED_INT&&(_e=n.R32UI),X===n.BYTE&&(_e=n.R8I),X===n.SHORT&&(_e=n.R16I),X===n.INT&&(_e=n.R32I)),D===n.RG&&(X===n.FLOAT&&(_e=n.RG32F),X===n.HALF_FLOAT&&(_e=n.RG16F),X===n.UNSIGNED_BYTE&&(_e=n.RG8)),D===n.RG_INTEGER&&(X===n.UNSIGNED_BYTE&&(_e=n.RG8UI),X===n.UNSIGNED_SHORT&&(_e=n.RG16UI),X===n.UNSIGNED_INT&&(_e=n.RG32UI),X===n.BYTE&&(_e=n.RG8I),X===n.SHORT&&(_e=n.RG16I),X===n.INT&&(_e=n.RG32I)),D===n.RGBA){const et=Se?Md:Ht.getTransfer(re);X===n.FLOAT&&(_e=n.RGBA32F),X===n.HALF_FLOAT&&(_e=n.RGBA16F),X===n.UNSIGNED_BYTE&&(_e=et===Zt?n.SRGB8_ALPHA8:n.RGBA8),X===n.UNSIGNED_SHORT_4_4_4_4&&(_e=n.RGBA4),X===n.UNSIGNED_SHORT_5_5_5_1&&(_e=n.RGB5_A1)}return(_e===n.R16F||_e===n.R32F||_e===n.RG16F||_e===n.RG32F||_e===n.RGBA16F||_e===n.RGBA32F)&&e.get("EXT_color_buffer_float"),_e}function T(F,D,X){return S(F,X)===!0||F.isFramebufferTexture&&F.minFilter!==An&&F.minFilter!==un?Math.log2(Math.max(D.width,D.height))+1:F.mipmaps!==void 0&&F.mipmaps.length>0?F.mipmaps.length:F.isCompressedTexture&&Array.isArray(F.image)?D.mipmaps.length:1}function L(F){return F===An||F===Sg||F===nl?n.NEAREST:n.LINEAR}function O(F){const D=F.target;D.removeEventListener("dispose",O),C(D),D.isVideoTexture&&h.delete(D)}function H(F){const D=F.target;D.removeEventListener("dispose",H),j(D)}function C(F){const D=i.get(F);if(D.__webglInit===void 0)return;const X=F.source,re=m.get(X);if(re){const Se=re[D.__cacheKey];Se.usedTimes--,Se.usedTimes===0&&I(F),Object.keys(re).length===0&&m.delete(X)}i.remove(F)}function I(F){const D=i.get(F);n.deleteTexture(D.__webglTexture);const X=F.source,re=m.get(X);delete re[D.__cacheKey],o.memory.textures--}function j(F){const D=i.get(F);if(F.depthTexture&&F.depthTexture.dispose(),F.isWebGLCubeRenderTarget)for(let re=0;re<6;re++){if(Array.isArray(D.__webglFramebuffer[re]))for(let Se=0;Se=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+F+" texture units while this GPU supports only "+r.maxTextures),ee+=1,F}function Z(F){const D=[];return D.push(F.wrapS),D.push(F.wrapT),D.push(F.wrapR||0),D.push(F.magFilter),D.push(F.minFilter),D.push(F.anisotropy),D.push(F.internalFormat),D.push(F.format),D.push(F.type),D.push(F.generateMipmaps),D.push(F.premultiplyAlpha),D.push(F.flipY),D.push(F.unpackAlignment),D.push(F.colorSpace),D.join()}function ne(F,D){const X=i.get(F);if(F.isVideoTexture&&ke(F),F.isRenderTargetTexture===!1&&F.version>0&&X.__version!==F.version){const re=F.image;if(re===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(re.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{Ee(X,F,D);return}}t.bindTexture(n.TEXTURE_2D,X.__webglTexture,n.TEXTURE0+D)}function k(F,D){const X=i.get(F);if(F.version>0&&X.__version!==F.version){Ee(X,F,D);return}t.bindTexture(n.TEXTURE_2D_ARRAY,X.__webglTexture,n.TEXTURE0+D)}function W(F,D){const X=i.get(F);if(F.version>0&&X.__version!==F.version){Ee(X,F,D);return}t.bindTexture(n.TEXTURE_3D,X.__webglTexture,n.TEXTURE0+D)}function Y(F,D){const X=i.get(F);if(F.version>0&&X.__version!==F.version){Ue(X,F,D);return}t.bindTexture(n.TEXTURE_CUBE_MAP,X.__webglTexture,n.TEXTURE0+D)}const ie={[xd]:n.REPEAT,[gi]:n.CLAMP_TO_EDGE,[_d]:n.MIRRORED_REPEAT},me={[An]:n.NEAREST,[Sg]:n.NEAREST_MIPMAP_NEAREST,[nl]:n.NEAREST_MIPMAP_LINEAR,[un]:n.LINEAR,[jf]:n.LINEAR_MIPMAP_NEAREST,[As]:n.LINEAR_MIPMAP_LINEAR},Re={[vP]:n.NEVER,[EP]:n.ALWAYS,[yP]:n.LESS,[VS]:n.LEQUAL,[xP]:n.EQUAL,[wP]:n.GEQUAL,[_P]:n.GREATER,[SP]:n.NOTEQUAL};function oe(F,D,X){if(D.type===lr&&e.has("OES_texture_float_linear")===!1&&(D.magFilter===un||D.magFilter===jf||D.magFilter===nl||D.magFilter===As||D.minFilter===un||D.minFilter===jf||D.minFilter===nl||D.minFilter===As)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),X?(n.texParameteri(F,n.TEXTURE_WRAP_S,ie[D.wrapS]),n.texParameteri(F,n.TEXTURE_WRAP_T,ie[D.wrapT]),(F===n.TEXTURE_3D||F===n.TEXTURE_2D_ARRAY)&&n.texParameteri(F,n.TEXTURE_WRAP_R,ie[D.wrapR]),n.texParameteri(F,n.TEXTURE_MAG_FILTER,me[D.magFilter]),n.texParameteri(F,n.TEXTURE_MIN_FILTER,me[D.minFilter])):(n.texParameteri(F,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(F,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(F===n.TEXTURE_3D||F===n.TEXTURE_2D_ARRAY)&&n.texParameteri(F,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(D.wrapS!==gi||D.wrapT!==gi)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(F,n.TEXTURE_MAG_FILTER,L(D.magFilter)),n.texParameteri(F,n.TEXTURE_MIN_FILTER,L(D.minFilter)),D.minFilter!==An&&D.minFilter!==un&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),D.compareFunction&&(n.texParameteri(F,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(F,n.TEXTURE_COMPARE_FUNC,Re[D.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if(D.magFilter===An||D.minFilter!==nl&&D.minFilter!==As||D.type===lr&&e.has("OES_texture_float_linear")===!1||a===!1&&D.type===fu&&e.has("OES_texture_half_float_linear")===!1)return;if(D.anisotropy>1||i.get(D).__currentAnisotropy){const re=e.get("EXT_texture_filter_anisotropic");n.texParameterf(F,re.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(D.anisotropy,r.getMaxAnisotropy())),i.get(D).__currentAnisotropy=D.anisotropy}}}function ye(F,D){let X=!1;F.__webglInit===void 0&&(F.__webglInit=!0,D.addEventListener("dispose",O));const re=D.source;let Se=m.get(re);Se===void 0&&(Se={},m.set(re,Se));const _e=Z(D);if(_e!==F.__cacheKey){Se[_e]===void 0&&(Se[_e]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,X=!0),Se[_e].usedTimes++;const et=Se[F.__cacheKey];et!==void 0&&(Se[F.__cacheKey].usedTimes--,et.usedTimes===0&&I(D)),F.__cacheKey=_e,F.__webglTexture=Se[_e].texture}return X}function Ee(F,D,X){let re=n.TEXTURE_2D;(D.isDataArrayTexture||D.isCompressedArrayTexture)&&(re=n.TEXTURE_2D_ARRAY),D.isData3DTexture&&(re=n.TEXTURE_3D);const Se=ye(F,D),_e=D.source;t.bindTexture(re,F.__webglTexture,n.TEXTURE0+X);const et=i.get(_e);if(_e.version!==et.__version||Se===!0){t.activeTexture(n.TEXTURE0+X);const tt=Ht.getPrimaries(Ht.workingColorSpace),Te=D.colorSpace===no?null:Ht.getPrimaries(D.colorSpace),De=D.colorSpace===no||tt===Te?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,D.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,D.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,D.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,De);const st=_(D)&&g(D.image)===!1;let Ce=x(D.image,st,!1,r.maxTextureSize);Ce=Xe(D,Ce);const Bt=g(Ce)||a,vt=s.convert(D.format,D.colorSpace);let Je=s.convert(D.type),$=A(D.internalFormat,vt,Je,D.colorSpace,D.isVideoTexture);oe(re,D,Bt);let ue;const Le=D.mipmaps,ze=a&&D.isVideoTexture!==!0&&$!==BS,xt=et.__version===void 0||Se===!0,K=_e.dataReady,Ie=T(D,Ce,Bt);if(D.isDepthTexture)$=n.DEPTH_COMPONENT,a?D.type===lr?$=n.DEPTH_COMPONENT32F:D.type===ao?$=n.DEPTH_COMPONENT24:D.type===ua?$=n.DEPTH24_STENCIL8:$=n.DEPTH_COMPONENT16:D.type===lr&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),D.format===fa&&$===n.DEPTH_COMPONENT&&D.type!==a0&&D.type!==ao&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),D.type=ao,Je=s.convert(D.type)),D.format===bl&&$===n.DEPTH_COMPONENT&&($=n.DEPTH_STENCIL,D.type!==ua&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),D.type=ua,Je=s.convert(D.type))),xt&&(ze?t.texStorage2D(n.TEXTURE_2D,1,$,Ce.width,Ce.height):t.texImage2D(n.TEXTURE_2D,0,$,Ce.width,Ce.height,0,vt,Je,null));else if(D.isDataTexture)if(Le.length>0&&Bt){ze&&xt&&t.texStorage2D(n.TEXTURE_2D,Ie,$,Le[0].width,Le[0].height);for(let ce=0,Pe=Le.length;ce>=1,Pe>>=1}}else if(Le.length>0&&Bt){if(ze&&xt){const ce=ct(Le[0]);t.texStorage2D(n.TEXTURE_2D,Ie,$,ce.width,ce.height)}for(let ce=0,Pe=Le.length;ce0&&K++;const ce=ct(Ce[0]);t.texStorage2D(n.TEXTURE_CUBE_MAP,K,ue,ce.width,ce.height)}for(let ce=0;ce<6;ce++)if(st){Le?xt&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+ce,0,0,0,Ce[ce].width,Ce[ce].height,Je,$,Ce[ce].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+ce,0,ue,Ce[ce].width,Ce[ce].height,0,Je,$,Ce[ce].data);for(let Pe=0;Pe>_e),Ce=Math.max(1,D.height>>_e);Se===n.TEXTURE_3D||Se===n.TEXTURE_2D_ARRAY?t.texImage3D(Se,_e,Te,st,Ce,D.depth,0,et,tt,null):t.texImage2D(Se,_e,Te,st,Ce,0,et,tt,null)}t.bindFramebuffer(n.FRAMEBUFFER,F),Be(D)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,re,Se,i.get(X).__webglTexture,0,xe(D)):(Se===n.TEXTURE_2D||Se>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&Se<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,re,Se,i.get(X).__webglTexture,_e),t.bindFramebuffer(n.FRAMEBUFFER,null)}function Fe(F,D,X){if(n.bindRenderbuffer(n.RENDERBUFFER,F),D.depthBuffer&&!D.stencilBuffer){let re=a===!0?n.DEPTH_COMPONENT24:n.DEPTH_COMPONENT16;if(X||Be(D)){const Se=D.depthTexture;Se&&Se.isDepthTexture&&(Se.type===lr?re=n.DEPTH_COMPONENT32F:Se.type===ao&&(re=n.DEPTH_COMPONENT24));const _e=xe(D);Be(D)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,_e,re,D.width,D.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,_e,re,D.width,D.height)}else n.renderbufferStorage(n.RENDERBUFFER,re,D.width,D.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,F)}else if(D.depthBuffer&&D.stencilBuffer){const re=xe(D);X&&Be(D)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,re,n.DEPTH24_STENCIL8,D.width,D.height):Be(D)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,re,n.DEPTH24_STENCIL8,D.width,D.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,D.width,D.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,F)}else{const re=D.textures;for(let Se=0;Se1,tt=g(F)||a;if(et||(re.__webglTexture===void 0&&(re.__webglTexture=n.createTexture()),re.__version=D.version,o.memory.textures++),_e){X.__webglFramebuffer=[];for(let Te=0;Te<6;Te++)if(a&&D.mipmaps&&D.mipmaps.length>0){X.__webglFramebuffer[Te]=[];for(let De=0;De0){X.__webglFramebuffer=[];for(let Te=0;Te0&&Be(F)===!1){X.__webglMultisampledFramebuffer=n.createFramebuffer(),X.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,X.__webglMultisampledFramebuffer);for(let Te=0;Te0)for(let De=0;De0)for(let De=0;De0&&Be(F)===!1){const D=F.textures,X=F.width,re=F.height;let Se=n.COLOR_BUFFER_BIT;const _e=[],et=F.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,tt=i.get(F),Te=D.length>1;if(Te)for(let De=0;De0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&D.__useRenderToTexture!==!1}function ke(F){const D=o.render.frame;h.get(F)!==D&&(h.set(F,D),F.update())}function Xe(F,D){const X=F.colorSpace,re=F.format,Se=F.type;return F.isCompressedTexture===!0||F.isVideoTexture===!0||F.format===wg||X!==Co&&X!==no&&(Ht.getTransfer(X)===Zt?a===!1?e.has("EXT_sRGB")===!0&&re===Pi?(F.format=wg,F.minFilter=un,F.generateMipmaps=!1):D=$S.sRGBToLinear(D):(re!==Pi||Se!==Os)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",X)),D}function ct(F){return typeof HTMLImageElement<"u"&&F instanceof HTMLImageElement?(d.width=F.naturalWidth||F.width,d.height=F.naturalHeight||F.height):typeof VideoFrame<"u"&&F instanceof VideoFrame?(d.width=F.displayWidth,d.height=F.displayHeight):(d.width=F.width,d.height=F.height),d}this.allocateTextureUnit=J,this.resetTextureUnits=z,this.setTexture2D=ne,this.setTexture2DArray=k,this.setTexture3D=W,this.setTextureCube=Y,this.rebindTextures=V,this.setupRenderTarget=we,this.updateRenderTargetMipmap=ge,this.updateMultisampleRenderTarget=Me,this.setupDepthRenderbuffer=Ve,this.setupFrameBufferTexture=$e,this.useMultisampledRTT=Be}function BP(n,e,t){const i=t.isWebGL2;function r(s,o=no){let a;const l=Ht.getTransfer(o);if(s===Os)return n.UNSIGNED_BYTE;if(s===DS)return n.UNSIGNED_SHORT_4_4_4_4;if(s===NS)return n.UNSIGNED_SHORT_5_5_5_1;if(s===rP)return n.BYTE;if(s===sP)return n.SHORT;if(s===a0)return n.UNSIGNED_SHORT;if(s===OS)return n.INT;if(s===ao)return n.UNSIGNED_INT;if(s===lr)return n.FLOAT;if(s===fu)return i?n.HALF_FLOAT:(a=e.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(s===oP)return n.ALPHA;if(s===Pi)return n.RGBA;if(s===aP)return n.LUMINANCE;if(s===lP)return n.LUMINANCE_ALPHA;if(s===fa)return n.DEPTH_COMPONENT;if(s===bl)return n.DEPTH_STENCIL;if(s===wg)return a=e.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(s===kS)return n.RED;if(s===US)return n.RED_INTEGER;if(s===cP)return n.RG;if(s===FS)return n.RG_INTEGER;if(s===zS)return n.RGBA_INTEGER;if(s===Fm||s===zm||s===Bm||s===Hm)if(l===Zt)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(s===Fm)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(s===zm)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(s===Bm)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(s===Hm)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(s===Fm)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(s===zm)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(s===Bm)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(s===Hm)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(s===bx||s===Tx||s===Cx||s===Ax)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(s===bx)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(s===Tx)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(s===Cx)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(s===Ax)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(s===BS)return a=e.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(s===Rx||s===Px)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(s===Rx)return l===Zt?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(s===Px)return l===Zt?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(s===Lx||s===Ix||s===Ox||s===Dx||s===Nx||s===kx||s===Ux||s===Fx||s===zx||s===Bx||s===Hx||s===Vx||s===Wx||s===$x)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(s===Lx)return l===Zt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(s===Ix)return l===Zt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(s===Ox)return l===Zt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(s===Dx)return l===Zt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(s===Nx)return l===Zt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(s===kx)return l===Zt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(s===Ux)return l===Zt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(s===Fx)return l===Zt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(s===zx)return l===Zt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(s===Bx)return l===Zt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(s===Hx)return l===Zt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(s===Vx)return l===Zt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(s===Wx)return l===Zt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(s===$x)return l===Zt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(s===Vm||s===Gx||s===jx)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(s===Vm)return l===Zt?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(s===Gx)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(s===jx)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(s===uP||s===Xx||s===Yx||s===qx)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(s===Vm)return a.COMPRESSED_RED_RGTC1_EXT;if(s===Xx)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(s===Yx)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(s===qx)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return s===ua?i?n.UNSIGNED_INT_24_8:(a=e.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):n[s]!==void 0?n[s]:null}return{convert:r}}class HP extends wn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class $c extends Lt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const Tz={type:"move"};class $1{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new $c,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new $c,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new U,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new U),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new $c,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new U,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new U),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const i of e.hand.values())this._getHandJoint(t,i)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,i){let r=null,s=null,o=null;const a=this._targetRay,l=this._grip,u=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(u&&e.hand){o=!0;for(const w of e.hand.values()){const x=t.getJointPose(w,i),g=this._getHandJoint(u,w);x!==null&&(g.matrix.fromArray(x.transform.matrix),g.matrix.decompose(g.position,g.rotation,g.scale),g.matrixWorldNeedsUpdate=!0,g.jointRadius=x.radius),g.visible=x!==null}const d=u.joints["index-finger-tip"],h=u.joints["thumb-tip"],p=d.position.distanceTo(h.position),m=.02,v=.005;u.inputState.pinching&&p>m+v?(u.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!u.inputState.pinching&&p<=m-v&&(u.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,i),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));a!==null&&(r=t.getPose(e.targetRaySpace,i),r===null&&s!==null&&(r=s),r!==null&&(a.matrix.fromArray(r.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,r.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(r.linearVelocity)):a.hasLinearVelocity=!1,r.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(r.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(Tz)))}return a!==null&&(a.visible=r!==null),l!==null&&(l.visible=s!==null),u!==null&&(u.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new $c;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const Cz=` -void main() { - - gl_Position = vec4( position, 1.0 ); - -}`,Az=` -uniform sampler2DArray depthColor; -uniform float depthWidth; -uniform float depthHeight; - -void main() { - - vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight ); - - if ( coord.x >= 1.0 ) { - - gl_FragDepthEXT = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; - - } else { - - gl_FragDepthEXT = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; - - } - -}`;class Rz{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,i){if(this.texture===null){const r=new pn,s=e.properties.get(r);s.__webglTexture=t.texture,(t.depthNear!=i.depthNear||t.depthFar!=i.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=r}}render(e,t){if(this.texture!==null){if(this.mesh===null){const i=t.cameras[0].viewport,r=new cs({extensions:{fragDepth:!0},vertexShader:Cz,fragmentShader:Az,uniforms:{depthColor:{value:this.texture},depthWidth:{value:i.z},depthHeight:{value:i.w}}});this.mesh=new Pn(new bu(20,20),r)}e.render(this.mesh,t)}}reset(){this.texture=null,this.mesh=null}}class Pz extends Us{constructor(e,t){super();const i=this;let r=null,s=1,o=null,a="local-floor",l=1,u=null,d=null,h=null,p=null,m=null,v=null;const w=new Rz,x=t.getContextAttributes();let g=null,_=null;const S=[],M=[],A=new ve;let T=null;const L=new wn;L.layers.enable(1),L.viewport=new Vt;const O=new wn;O.layers.enable(2),O.viewport=new Vt;const H=[L,O],C=new HP;C.layers.enable(1),C.layers.enable(2);let I=null,j=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(oe){let ye=S[oe];return ye===void 0&&(ye=new $1,S[oe]=ye),ye.getTargetRaySpace()},this.getControllerGrip=function(oe){let ye=S[oe];return ye===void 0&&(ye=new $1,S[oe]=ye),ye.getGripSpace()},this.getHand=function(oe){let ye=S[oe];return ye===void 0&&(ye=new $1,S[oe]=ye),ye.getHandSpace()};function ee(oe){const ye=M.indexOf(oe.inputSource);if(ye===-1)return;const Ee=S[ye];Ee!==void 0&&(Ee.update(oe.inputSource,oe.frame,u||o),Ee.dispatchEvent({type:oe.type,data:oe.inputSource}))}function z(){r.removeEventListener("select",ee),r.removeEventListener("selectstart",ee),r.removeEventListener("selectend",ee),r.removeEventListener("squeeze",ee),r.removeEventListener("squeezestart",ee),r.removeEventListener("squeezeend",ee),r.removeEventListener("end",z),r.removeEventListener("inputsourceschange",J);for(let oe=0;oe=0&&(M[Ue]=null,S[Ue].disconnect(Ee))}for(let ye=0;ye=M.length){M.push(Ee),Ue=Fe;break}else if(M[Fe]===null){M[Fe]=Ee,Ue=Fe;break}if(Ue===-1)break}const $e=S[Ue];$e&&$e.connect(Ee)}}const Z=new U,ne=new U;function k(oe,ye,Ee){Z.setFromMatrixPosition(ye.matrixWorld),ne.setFromMatrixPosition(Ee.matrixWorld);const Ue=Z.distanceTo(ne),$e=ye.projectionMatrix.elements,Fe=Ee.projectionMatrix.elements,lt=$e[14]/($e[10]-1),Ve=$e[14]/($e[10]+1),V=($e[9]+1)/$e[5],we=($e[9]-1)/$e[5],ge=($e[8]-1)/$e[0],Me=(Fe[8]+1)/Fe[0],xe=lt*ge,Be=lt*Me,ke=Ue/(-ge+Me),Xe=ke*-ge;ye.matrixWorld.decompose(oe.position,oe.quaternion,oe.scale),oe.translateX(Xe),oe.translateZ(ke),oe.matrixWorld.compose(oe.position,oe.quaternion,oe.scale),oe.matrixWorldInverse.copy(oe.matrixWorld).invert();const ct=lt+ke,F=Ve+ke,D=xe-Xe,X=Be+(Ue-Xe),re=V*Ve/F*ct,Se=we*Ve/F*ct;oe.projectionMatrix.makePerspective(D,X,re,Se,ct,F),oe.projectionMatrixInverse.copy(oe.projectionMatrix).invert()}function W(oe,ye){ye===null?oe.matrixWorld.copy(oe.matrix):oe.matrixWorld.multiplyMatrices(ye.matrixWorld,oe.matrix),oe.matrixWorldInverse.copy(oe.matrixWorld).invert()}this.updateCamera=function(oe){if(r===null)return;w.texture!==null&&(oe.near=w.depthNear,oe.far=w.depthFar),C.near=O.near=L.near=oe.near,C.far=O.far=L.far=oe.far,(I!==C.near||j!==C.far)&&(r.updateRenderState({depthNear:C.near,depthFar:C.far}),I=C.near,j=C.far,L.near=I,L.far=j,O.near=I,O.far=j,L.updateProjectionMatrix(),O.updateProjectionMatrix(),oe.updateProjectionMatrix());const ye=oe.parent,Ee=C.cameras;W(C,ye);for(let Ue=0;Ue0&&(x.alphaTest.value=g.alphaTest);const _=e.get(g),S=_.envMap,M=_.envMapRotation;if(S&&(x.envMap.value=S,Wa.copy(M),Wa.x*=-1,Wa.y*=-1,Wa.z*=-1,S.isCubeTexture&&S.isRenderTargetTexture===!1&&(Wa.y*=-1,Wa.z*=-1),x.envMapRotation.value.setFromMatrix4(Lz.makeRotationFromEuler(Wa)),x.flipEnvMap.value=S.isCubeTexture&&S.isRenderTargetTexture===!1?-1:1,x.reflectivity.value=g.reflectivity,x.ior.value=g.ior,x.refractionRatio.value=g.refractionRatio),g.lightMap){x.lightMap.value=g.lightMap;const A=n._useLegacyLights===!0?Math.PI:1;x.lightMapIntensity.value=g.lightMapIntensity*A,t(g.lightMap,x.lightMapTransform)}g.aoMap&&(x.aoMap.value=g.aoMap,x.aoMapIntensity.value=g.aoMapIntensity,t(g.aoMap,x.aoMapTransform))}function o(x,g){x.diffuse.value.copy(g.color),x.opacity.value=g.opacity,g.map&&(x.map.value=g.map,t(g.map,x.mapTransform))}function a(x,g){x.dashSize.value=g.dashSize,x.totalSize.value=g.dashSize+g.gapSize,x.scale.value=g.scale}function l(x,g,_,S){x.diffuse.value.copy(g.color),x.opacity.value=g.opacity,x.size.value=g.size*_,x.scale.value=S*.5,g.map&&(x.map.value=g.map,t(g.map,x.uvTransform)),g.alphaMap&&(x.alphaMap.value=g.alphaMap,t(g.alphaMap,x.alphaMapTransform)),g.alphaTest>0&&(x.alphaTest.value=g.alphaTest)}function u(x,g){x.diffuse.value.copy(g.color),x.opacity.value=g.opacity,x.rotation.value=g.rotation,g.map&&(x.map.value=g.map,t(g.map,x.mapTransform)),g.alphaMap&&(x.alphaMap.value=g.alphaMap,t(g.alphaMap,x.alphaMapTransform)),g.alphaTest>0&&(x.alphaTest.value=g.alphaTest)}function d(x,g){x.specular.value.copy(g.specular),x.shininess.value=Math.max(g.shininess,1e-4)}function h(x,g){g.gradientMap&&(x.gradientMap.value=g.gradientMap)}function p(x,g){x.metalness.value=g.metalness,g.metalnessMap&&(x.metalnessMap.value=g.metalnessMap,t(g.metalnessMap,x.metalnessMapTransform)),x.roughness.value=g.roughness,g.roughnessMap&&(x.roughnessMap.value=g.roughnessMap,t(g.roughnessMap,x.roughnessMapTransform)),e.get(g).envMap&&(x.envMapIntensity.value=g.envMapIntensity)}function m(x,g,_){x.ior.value=g.ior,g.sheen>0&&(x.sheenColor.value.copy(g.sheenColor).multiplyScalar(g.sheen),x.sheenRoughness.value=g.sheenRoughness,g.sheenColorMap&&(x.sheenColorMap.value=g.sheenColorMap,t(g.sheenColorMap,x.sheenColorMapTransform)),g.sheenRoughnessMap&&(x.sheenRoughnessMap.value=g.sheenRoughnessMap,t(g.sheenRoughnessMap,x.sheenRoughnessMapTransform))),g.clearcoat>0&&(x.clearcoat.value=g.clearcoat,x.clearcoatRoughness.value=g.clearcoatRoughness,g.clearcoatMap&&(x.clearcoatMap.value=g.clearcoatMap,t(g.clearcoatMap,x.clearcoatMapTransform)),g.clearcoatRoughnessMap&&(x.clearcoatRoughnessMap.value=g.clearcoatRoughnessMap,t(g.clearcoatRoughnessMap,x.clearcoatRoughnessMapTransform)),g.clearcoatNormalMap&&(x.clearcoatNormalMap.value=g.clearcoatNormalMap,t(g.clearcoatNormalMap,x.clearcoatNormalMapTransform),x.clearcoatNormalScale.value.copy(g.clearcoatNormalScale),g.side===Di&&x.clearcoatNormalScale.value.negate())),g.iridescence>0&&(x.iridescence.value=g.iridescence,x.iridescenceIOR.value=g.iridescenceIOR,x.iridescenceThicknessMinimum.value=g.iridescenceThicknessRange[0],x.iridescenceThicknessMaximum.value=g.iridescenceThicknessRange[1],g.iridescenceMap&&(x.iridescenceMap.value=g.iridescenceMap,t(g.iridescenceMap,x.iridescenceMapTransform)),g.iridescenceThicknessMap&&(x.iridescenceThicknessMap.value=g.iridescenceThicknessMap,t(g.iridescenceThicknessMap,x.iridescenceThicknessMapTransform))),g.transmission>0&&(x.transmission.value=g.transmission,x.transmissionSamplerMap.value=_.texture,x.transmissionSamplerSize.value.set(_.width,_.height),g.transmissionMap&&(x.transmissionMap.value=g.transmissionMap,t(g.transmissionMap,x.transmissionMapTransform)),x.thickness.value=g.thickness,g.thicknessMap&&(x.thicknessMap.value=g.thicknessMap,t(g.thicknessMap,x.thicknessMapTransform)),x.attenuationDistance.value=g.attenuationDistance,x.attenuationColor.value.copy(g.attenuationColor)),g.anisotropy>0&&(x.anisotropyVector.value.set(g.anisotropy*Math.cos(g.anisotropyRotation),g.anisotropy*Math.sin(g.anisotropyRotation)),g.anisotropyMap&&(x.anisotropyMap.value=g.anisotropyMap,t(g.anisotropyMap,x.anisotropyMapTransform))),x.specularIntensity.value=g.specularIntensity,x.specularColor.value.copy(g.specularColor),g.specularColorMap&&(x.specularColorMap.value=g.specularColorMap,t(g.specularColorMap,x.specularColorMapTransform)),g.specularIntensityMap&&(x.specularIntensityMap.value=g.specularIntensityMap,t(g.specularIntensityMap,x.specularIntensityMapTransform))}function v(x,g){g.matcap&&(x.matcap.value=g.matcap)}function w(x,g){const _=e.get(g).light;x.referencePosition.value.setFromMatrixPosition(_.matrixWorld),x.nearDistance.value=_.shadow.camera.near,x.farDistance.value=_.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function Oz(n,e,t,i){let r={},s={},o=[];const a=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(_,S){const M=S.program;i.uniformBlockBinding(_,M)}function u(_,S){let M=r[_.id];M===void 0&&(v(_),M=d(_),r[_.id]=M,_.addEventListener("dispose",x));const A=S.program;i.updateUBOMapping(_,A);const T=e.render.frame;s[_.id]!==T&&(p(_),s[_.id]=T)}function d(_){const S=h();_.__bindingPointIndex=S;const M=n.createBuffer(),A=_.__size,T=_.usage;return n.bindBuffer(n.UNIFORM_BUFFER,M),n.bufferData(n.UNIFORM_BUFFER,A,T),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,S,M),M}function h(){for(let _=0;_0&&(M+=A-T),_.__size=M,_.__cache={},this}function w(_){const S={boundary:0,storage:0};return typeof _=="number"||typeof _=="boolean"?(S.boundary=4,S.storage=4):_.isVector2?(S.boundary=8,S.storage=8):_.isVector3||_.isColor?(S.boundary=16,S.storage=12):_.isVector4?(S.boundary=16,S.storage=16):_.isMatrix3?(S.boundary=48,S.storage=48):_.isMatrix4?(S.boundary=64,S.storage=64):_.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",_),S}function x(_){const S=_.target;S.removeEventListener("dispose",x);const M=o.indexOf(S.__bindingPointIndex);o.splice(M,1),n.deleteBuffer(r[S.id]),delete r[S.id],delete s[S.id]}function g(){for(const _ in r)n.deleteBuffer(r[_]);o=[],r={},s={}}return{bind:l,update:u,dispose:g}}class JS{constructor(e={}){const{canvas:t=TP(),context:i=null,depth:r=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:u=!1,powerPreference:d="default",failIfMajorPerformanceCaveat:h=!1}=e;this.isWebGLRenderer=!0;let p;i!==null?p=i.getContextAttributes().alpha:p=o;const m=new Uint32Array(4),v=new Int32Array(4);let w=null,x=null;const g=[],_=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=Dr,this._useLegacyLights=!1,this.toneMapping=Is,this.toneMappingExposure=1;const S=this;let M=!1,A=0,T=0,L=null,O=-1,H=null;const C=new Vt,I=new Vt;let j=null;const ee=new je(0);let z=0,J=t.width,Z=t.height,ne=1,k=null,W=null;const Y=new Vt(0,0,J,Z),ie=new Vt(0,0,J,Z);let me=!1;const Re=new Qd;let oe=!1,ye=!1,Ee=null;const Ue=new ft,$e=new ve,Fe=new U,lt={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Ve(){return L===null?ne:1}let V=i;function we(N,se){for(let fe=0;fe{function Ge(){if(de.forEach(function(it){ke.get(it).currentProgram.isReady()&&de.delete(it)}),de.size===0){le(N);return}setTimeout(Ge,10)}ge.get("KHR_parallel_shader_compile")!==null?Ge():setTimeout(Ge,10)})};let Ot=null;function Yt(N){Ot&&Ot(N)}function Mn(){Kn.stop()}function Dt(){Kn.start()}const Kn=new DP;Kn.setAnimationLoop(Yt),typeof self<"u"&&Kn.setContext(self),this.setAnimationLoop=function(N){Ot=N,ze.setAnimationLoop(N),N===null?Kn.stop():Kn.start()},ze.addEventListener("sessionstart",Mn),ze.addEventListener("sessionend",Dt),this.render=function(N,se){if(se!==void 0&&se.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(M===!0)return;N.matrixWorldAutoUpdate===!0&&N.updateMatrixWorld(),se.parent===null&&se.matrixWorldAutoUpdate===!0&&se.updateMatrixWorld(),ze.enabled===!0&&ze.isPresenting===!0&&(ze.cameraAutoUpdate===!0&&ze.updateCamera(se),se=ze.getCamera()),N.isScene===!0&&N.onBeforeRender(S,N,se,L),x=tt.get(N,_.length),x.init(),_.push(x),Ue.multiplyMatrices(se.projectionMatrix,se.matrixWorldInverse),Re.setFromProjectionMatrix(Ue),ye=this.localClippingEnabled,oe=Te.init(this.clippingPlanes,ye),w=et.get(N,g.length),w.init(),g.push(w),xr(N,se,0,S.sortObjects),w.finish(),S.sortObjects===!0&&w.sort(k,W),this.info.render.frame++,oe===!0&&Te.beginShadows();const fe=x.state.shadowsArray;if(De.render(fe,N,se),oe===!0&&Te.endShadows(),this.info.autoReset===!0&&this.info.reset(),(ze.enabled===!1||ze.isPresenting===!1||ze.hasDepthSensing()===!1)&&st.render(w,N),x.setupLights(S._useLegacyLights),se.isArrayCamera){const de=se.cameras;for(let le=0,Ge=de.length;le0?x=_[_.length-1]:x=null,g.pop(),g.length>0?w=g[g.length-1]:w=null};function xr(N,se,fe,de){if(N.visible===!1)return;if(N.layers.test(se.layers)){if(N.isGroup)fe=N.renderOrder;else if(N.isLOD)N.autoUpdate===!0&&N.update(se);else if(N.isLight)x.pushLight(N),N.castShadow&&x.pushShadow(N);else if(N.isSprite){if(!N.frustumCulled||Re.intersectsSprite(N)){de&&Fe.setFromMatrixPosition(N.matrixWorld).applyMatrix4(Ue);const it=re.update(N),ut=N.material;ut.visible&&w.push(N,it,ut,fe,Fe.z,null)}}else if((N.isMesh||N.isLine||N.isPoints)&&(!N.frustumCulled||Re.intersectsObject(N))){const it=re.update(N),ut=N.material;if(de&&(N.boundingSphere!==void 0?(N.boundingSphere===null&&N.computeBoundingSphere(),Fe.copy(N.boundingSphere.center)):(it.boundingSphere===null&&it.computeBoundingSphere(),Fe.copy(it.boundingSphere.center)),Fe.applyMatrix4(N.matrixWorld).applyMatrix4(Ue)),Array.isArray(ut)){const dt=it.groups;for(let _t=0,yt=dt.length;_t0&&Fu(le,Ge,se,fe),de&&xe.viewport(C.copy(de)),le.length>0&&Fl(le,se,fe),Ge.length>0&&Fl(Ge,se,fe),it.length>0&&Fl(it,se,fe),xe.buffers.depth.setTest(!0),xe.buffers.depth.setMask(!0),xe.buffers.color.setMask(!0),xe.setPolygonOffset(!1)}function Fu(N,se,fe,de){if((fe.isScene===!0?fe.overrideMaterial:null)!==null)return;const Ge=Me.isWebGL2;Ee===null&&(Ee=new ls(1,1,{generateMipmaps:!0,type:ge.has("EXT_color_buffer_half_float")?fu:Os,minFilter:As,samples:Ge?4:0})),S.getDrawingBufferSize($e),Ge?Ee.setSize($e.x,$e.y):Ee.setSize(Eg($e.x),Eg($e.y));const it=S.getRenderTarget();S.setRenderTarget(Ee),S.getClearColor(ee),z=S.getClearAlpha(),z<1&&S.setClearColor(16777215,.5),S.clear();const ut=S.toneMapping;S.toneMapping=Is,Fl(N,fe,de),Xe.updateMultisampleRenderTarget(Ee),Xe.updateRenderTargetMipmap(Ee);let dt=!1;for(let _t=0,yt=se.length;_t0),St=!!fe.morphAttributes.position,sn=!!fe.morphAttributes.normal,Jn=!!fe.morphAttributes.color;let Jt=Is;de.toneMapped&&(L===null||L.isXRRenderTarget===!0)&&(Jt=S.toneMapping);const Vn=fe.morphAttributes.position||fe.morphAttributes.normal||fe.morphAttributes.color,ht=Vn!==void 0?Vn.length:0,Ye=ke.get(de),_r=x.state.lights;if(oe===!0&&(ye===!0||N!==H)){const Qn=N===H&&de.id===O;Te.setState(de,N,Qn)}let Tt=!1;de.version===Ye.__version?(Ye.needsLights&&Ye.lightsStateVersion!==_r.state.version||Ye.outputColorSpace!==ut||le.isBatchedMesh&&Ye.batching===!1||!le.isBatchedMesh&&Ye.batching===!0||le.isInstancedMesh&&Ye.instancing===!1||!le.isInstancedMesh&&Ye.instancing===!0||le.isSkinnedMesh&&Ye.skinning===!1||!le.isSkinnedMesh&&Ye.skinning===!0||le.isInstancedMesh&&Ye.instancingColor===!0&&le.instanceColor===null||le.isInstancedMesh&&Ye.instancingColor===!1&&le.instanceColor!==null||le.isInstancedMesh&&Ye.instancingMorph===!0&&le.morphTexture===null||le.isInstancedMesh&&Ye.instancingMorph===!1&&le.morphTexture!==null||Ye.envMap!==dt||de.fog===!0&&Ye.fog!==Ge||Ye.numClippingPlanes!==void 0&&(Ye.numClippingPlanes!==Te.numPlanes||Ye.numIntersection!==Te.numIntersection)||Ye.vertexAlphas!==_t||Ye.vertexTangents!==yt||Ye.morphTargets!==St||Ye.morphNormals!==sn||Ye.morphColors!==Jn||Ye.toneMapping!==Jt||Me.isWebGL2===!0&&Ye.morphTargetsCount!==ht)&&(Tt=!0):(Tt=!0,Ye.__version=de.version);let vn=Ye.currentProgram;Tt===!0&&(vn=zl(de,se,le));let ps=!1,Sr=!1,Wn=!1;const bn=vn.getUniforms(),ms=Ye.uniforms;if(xe.useProgram(vn.program)&&(ps=!0,Sr=!0,Wn=!0),de.id!==O&&(O=de.id,Sr=!0),ps||H!==N){bn.setValue(V,"projectionMatrix",N.projectionMatrix),bn.setValue(V,"viewMatrix",N.matrixWorldInverse);const Qn=bn.map.cameraPosition;Qn!==void 0&&Qn.setValue(V,Fe.setFromMatrixPosition(N.matrixWorld)),Me.logarithmicDepthBuffer&&bn.setValue(V,"logDepthBufFC",2/(Math.log(N.far+1)/Math.LN2)),(de.isMeshPhongMaterial||de.isMeshToonMaterial||de.isMeshLambertMaterial||de.isMeshBasicMaterial||de.isMeshStandardMaterial||de.isShaderMaterial)&&bn.setValue(V,"isOrthographic",N.isOrthographicCamera===!0),H!==N&&(H=N,Sr=!0,Wn=!0)}if(le.isSkinnedMesh){bn.setOptional(V,le,"bindMatrix"),bn.setOptional(V,le,"bindMatrixInverse");const Qn=le.skeleton;Qn&&(Me.floatVertexTextures?(Qn.boneTexture===null&&Qn.computeBoneTexture(),bn.setValue(V,"boneTexture",Qn.boneTexture,Xe)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}le.isBatchedMesh&&(bn.setOptional(V,le,"batchingTexture"),bn.setValue(V,"batchingTexture",le._matricesTexture,Xe));const Bl=fe.morphAttributes;if((Bl.position!==void 0||Bl.normal!==void 0||Bl.color!==void 0&&Me.isWebGL2===!0)&&Ce.update(le,fe,vn),(Sr||Ye.receiveShadow!==le.receiveShadow)&&(Ye.receiveShadow=le.receiveShadow,bn.setValue(V,"receiveShadow",le.receiveShadow)),de.isMeshGouraudMaterial&&de.envMap!==null&&(ms.envMap.value=dt,ms.flipEnvMap.value=dt.isCubeTexture&&dt.isRenderTargetTexture===!1?-1:1),Sr&&(bn.setValue(V,"toneMappingExposure",S.toneMappingExposure),Ye.needsLights&&V0(ms,Wn),Ge&&de.fog===!0&&_e.refreshFogUniforms(ms,Ge),_e.refreshMaterialUniforms(ms,de,ne,Z,Ee),Gm.upload(V,hh(Ye),ms,Xe)),de.isShaderMaterial&&de.uniformsNeedUpdate===!0&&(Gm.upload(V,hh(Ye),ms,Xe),de.uniformsNeedUpdate=!1),de.isSpriteMaterial&&bn.setValue(V,"center",le.center),bn.setValue(V,"modelViewMatrix",le.modelViewMatrix),bn.setValue(V,"normalMatrix",le.normalMatrix),bn.setValue(V,"modelMatrix",le.matrixWorld),de.isShaderMaterial||de.isRawShaderMaterial){const Qn=de.uniformsGroups;for(let Hl=0,Ji=Qn.length;Hl0&&Xe.useMultisampledRTT(N)===!1?le=ke.get(N).__webglMultisampledFramebuffer:Array.isArray(yt)?le=yt[fe]:le=yt,C.copy(N.viewport),I.copy(N.scissor),j=N.scissorTest}else C.copy(Y).multiplyScalar(ne).floor(),I.copy(ie).multiplyScalar(ne).floor(),j=me;if(xe.bindFramebuffer(V.FRAMEBUFFER,le)&&Me.drawBuffers&&de&&xe.drawBuffers(N,le),xe.viewport(C),xe.scissor(I),xe.setScissorTest(j),Ge){const dt=ke.get(N.texture);V.framebufferTexture2D(V.FRAMEBUFFER,V.COLOR_ATTACHMENT0,V.TEXTURE_CUBE_MAP_POSITIVE_X+se,dt.__webglTexture,fe)}else if(it){const dt=ke.get(N.texture),_t=se||0;V.framebufferTextureLayer(V.FRAMEBUFFER,V.COLOR_ATTACHMENT0,dt.__webglTexture,fe||0,_t)}O=-1},this.readRenderTargetPixels=function(N,se,fe,de,le,Ge,it){if(!(N&&N.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let ut=ke.get(N).__webglFramebuffer;if(N.isWebGLCubeRenderTarget&&it!==void 0&&(ut=ut[it]),ut){xe.bindFramebuffer(V.FRAMEBUFFER,ut);try{const dt=N.texture,_t=dt.format,yt=dt.type;if(_t!==Pi&&Je.convert(_t)!==V.getParameter(V.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const St=yt===fu&&(ge.has("EXT_color_buffer_half_float")||Me.isWebGL2&&ge.has("EXT_color_buffer_float"));if(yt!==Os&&Je.convert(yt)!==V.getParameter(V.IMPLEMENTATION_COLOR_READ_TYPE)&&!(yt===lr&&(Me.isWebGL2||ge.has("OES_texture_float")||ge.has("WEBGL_color_buffer_float")))&&!St){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}se>=0&&se<=N.width-de&&fe>=0&&fe<=N.height-le&&V.readPixels(se,fe,de,le,Je.convert(_t),Je.convert(yt),Ge)}finally{const dt=L!==null?ke.get(L).__webglFramebuffer:null;xe.bindFramebuffer(V.FRAMEBUFFER,dt)}}},this.copyFramebufferToTexture=function(N,se,fe=0){const de=Math.pow(2,-fe),le=Math.floor(se.image.width*de),Ge=Math.floor(se.image.height*de);Xe.setTexture2D(se,0),V.copyTexSubImage2D(V.TEXTURE_2D,fe,0,0,N.x,N.y,le,Ge),xe.unbindTexture()},this.copyTextureToTexture=function(N,se,fe,de=0){const le=se.image.width,Ge=se.image.height,it=Je.convert(fe.format),ut=Je.convert(fe.type);Xe.setTexture2D(fe,0),V.pixelStorei(V.UNPACK_FLIP_Y_WEBGL,fe.flipY),V.pixelStorei(V.UNPACK_PREMULTIPLY_ALPHA_WEBGL,fe.premultiplyAlpha),V.pixelStorei(V.UNPACK_ALIGNMENT,fe.unpackAlignment),se.isDataTexture?V.texSubImage2D(V.TEXTURE_2D,de,N.x,N.y,le,Ge,it,ut,se.image.data):se.isCompressedTexture?V.compressedTexSubImage2D(V.TEXTURE_2D,de,N.x,N.y,se.mipmaps[0].width,se.mipmaps[0].height,it,se.mipmaps[0].data):V.texSubImage2D(V.TEXTURE_2D,de,N.x,N.y,it,ut,se.image),de===0&&fe.generateMipmaps&&V.generateMipmap(V.TEXTURE_2D),xe.unbindTexture()},this.copyTextureToTexture3D=function(N,se,fe,de,le=0){if(S.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const Ge=Math.round(N.max.x-N.min.x),it=Math.round(N.max.y-N.min.y),ut=N.max.z-N.min.z+1,dt=Je.convert(de.format),_t=Je.convert(de.type);let yt;if(de.isData3DTexture)Xe.setTexture3D(de,0),yt=V.TEXTURE_3D;else if(de.isDataArrayTexture||de.isCompressedArrayTexture)Xe.setTexture2DArray(de,0),yt=V.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}V.pixelStorei(V.UNPACK_FLIP_Y_WEBGL,de.flipY),V.pixelStorei(V.UNPACK_PREMULTIPLY_ALPHA_WEBGL,de.premultiplyAlpha),V.pixelStorei(V.UNPACK_ALIGNMENT,de.unpackAlignment);const St=V.getParameter(V.UNPACK_ROW_LENGTH),sn=V.getParameter(V.UNPACK_IMAGE_HEIGHT),Jn=V.getParameter(V.UNPACK_SKIP_PIXELS),Jt=V.getParameter(V.UNPACK_SKIP_ROWS),Vn=V.getParameter(V.UNPACK_SKIP_IMAGES),ht=fe.isCompressedTexture?fe.mipmaps[le]:fe.image;V.pixelStorei(V.UNPACK_ROW_LENGTH,ht.width),V.pixelStorei(V.UNPACK_IMAGE_HEIGHT,ht.height),V.pixelStorei(V.UNPACK_SKIP_PIXELS,N.min.x),V.pixelStorei(V.UNPACK_SKIP_ROWS,N.min.y),V.pixelStorei(V.UNPACK_SKIP_IMAGES,N.min.z),fe.isDataTexture||fe.isData3DTexture?V.texSubImage3D(yt,le,se.x,se.y,se.z,Ge,it,ut,dt,_t,ht.data):de.isCompressedArrayTexture?V.compressedTexSubImage3D(yt,le,se.x,se.y,se.z,Ge,it,ut,dt,ht.data):V.texSubImage3D(yt,le,se.x,se.y,se.z,Ge,it,ut,dt,_t,ht),V.pixelStorei(V.UNPACK_ROW_LENGTH,St),V.pixelStorei(V.UNPACK_IMAGE_HEIGHT,sn),V.pixelStorei(V.UNPACK_SKIP_PIXELS,Jn),V.pixelStorei(V.UNPACK_SKIP_ROWS,Jt),V.pixelStorei(V.UNPACK_SKIP_IMAGES,Vn),le===0&&de.generateMipmaps&&V.generateMipmap(yt),xe.unbindTexture()},this.initTexture=function(N){N.isCubeTexture?Xe.setTextureCube(N,0):N.isData3DTexture?Xe.setTexture3D(N,0):N.isDataArrayTexture||N.isCompressedArrayTexture?Xe.setTexture2DArray(N,0):Xe.setTexture2D(N,0),xe.unbindTexture()},this.resetState=function(){A=0,T=0,L=null,xe.reset(),$.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Rs}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===c0?"display-p3":"srgb",t.unpackColorSpace=Ht.workingColorSpace===Zd?"display-p3":"srgb"}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(e){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=e}}class VP extends JS{}VP.prototype.isWebGL1Renderer=!0;class d0{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new je(e),this.density=t}clone(){return new d0(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class h0{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new je(e),this.near=t,this.far=i}clone(){return new h0(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class pu extends Lt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new gr,this.environmentRotation=new gr,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class p0{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=Cd,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=hr()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return CP("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,i){e*=this.stride,i*=t.stride;for(let r=0,s=this.stride;re.far||t.push({distance:l,point:vf.clone(),uv:cr.getInterpolation(vf,jp,xf,Xp,_b,G1,Sb,new ve),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function Yp(n,e,t,i,r,s){xc.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(yf.x=s*xc.x-r*xc.y,yf.y=r*xc.x+s*xc.y):yf.copy(xc),n.copy(e),n.x+=yf.x,n.y+=yf.y,n.applyMatrix4(WP)}const qp=new U,wb=new U;class GP extends Lt{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const t=e.levels;for(let i=0,r=t.length;i0){let i,r;for(i=1,r=t.length;i0){qp.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(qp);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){qp.setFromMatrixPosition(e.matrixWorld),wb.setFromMatrixPosition(this.matrixWorld);const i=qp.distanceTo(wb)/e.zoom;t[0].object.visible=!0;let r,s;for(r=1,s=t.length;r=o)t[r-1].object.visible=!1,t[r].object.visible=!0;else break}for(this._currentLevel=r-1;r=i.length&&i.push({start:-1,count:-1,z:-1});const s=i[this.index];r.push(s),this.index++,s.start=e.start,s.count=e.count,s.z=t}reset(){this.list.length=0,this.index=0}}const Sc="batchId",jo=new ft,Lb=new ft,Bz=new ft,Ib=new ft,Y1=new Qd,Jp=new Ni,$a=new _i,wf=new U,q1=new zz,hi=new Pn,Qp=[];function Hz(n,e,t=0){const i=e.itemSize;if(n.isInterleavedBufferAttribute||n.array.constructor!==e.array.constructor){const r=n.count;for(let s=0;s65536?new Uint32Array(s):new Uint16Array(s);t.setIndex(new Gt(a,1))}const o=r>65536?new Uint32Array(i):new Uint16Array(i);t.setAttribute(Sc,new Gt(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(Sc))throw new Error(`BatchedMesh: Geometry cannot use attribute "${Sc}"`);const t=this.geometry;if(!!e.getIndex()!=!!t.getIndex())throw new Error('BatchedMesh: All geometries must consistently have "index".');for(const i in t.attributes){if(i===Sc)continue;if(!e.hasAttribute(i))throw new Error(`BatchedMesh: Added geometry missing "${i}". All geometries must have consistent attributes.`);const r=e.getAttribute(i),s=t.getAttribute(i);if(r.itemSize!==s.itemSize||r.normalized!==s.normalized)throw new Error("BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}setCustomSort(e){return this.customSort=e,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Ni);const e=this._geometryCount,t=this.boundingBox,i=this._active;t.makeEmpty();for(let r=0;r=this._maxGeometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");const r={vertexStart:-1,vertexCount:-1,indexStart:-1,indexCount:-1};let s=null;const o=this._reservedRanges,a=this._drawRanges,l=this._bounds;this._geometryCount!==0&&(s=o[o.length-1]),t===-1?r.vertexCount=e.getAttribute("position").count:r.vertexCount=t,s===null?r.vertexStart=0:r.vertexStart=s.vertexStart+s.vertexCount;const u=e.getIndex(),d=u!==null;if(d&&(i===-1?r.indexCount=u.count:r.indexCount=i,s===null?r.indexStart=0:r.indexStart=s.indexStart+s.indexCount),r.indexStart!==-1&&r.indexStart+r.indexCount>this._maxIndexCount||r.vertexStart+r.vertexCount>this._maxVertexCount)throw new Error("BatchedMesh: Reserved space request exceeds the maximum buffer size.");const h=this._visibility,p=this._active,m=this._matricesTexture,v=this._matricesTexture.image.data;h.push(!0),p.push(!0);const w=this._geometryCount;this._geometryCount++,Bz.toArray(v,w*16),m.needsUpdate=!0,o.push(r),a.push({start:d?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new Ni,sphereInitialized:!1,sphere:new _i});const x=this.geometry.getAttribute(Sc);for(let g=0;g=this._geometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");this._validateGeometry(t);const i=this.geometry,r=i.getIndex()!==null,s=i.getIndex(),o=t.getIndex(),a=this._reservedRanges[e];if(r&&o.count>a.indexCount||t.attributes.position.count>a.vertexCount)throw new Error("BatchedMesh: Reserved space not large enough for provided geometry.");const l=a.vertexStart,u=a.vertexCount;for(const m in i.attributes){if(m===Sc)continue;const v=t.getAttribute(m),w=i.getAttribute(m);Hz(v,w,l);const x=v.itemSize;for(let g=v.count,_=u;g<_;g++){const S=l+g;for(let M=0;M=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getBoundingBoxAt(e,t){if(this._active[e]===!1)return null;const r=this._bounds[e],s=r.box,o=this.geometry;if(r.boxInitialized===!1){s.makeEmpty();const a=o.index,l=o.attributes.position,u=this._drawRanges[e];for(let d=u.start,h=u.start+u.count;d=o||i[e]===!1?this:(t.toArray(s,e*16),r.needsUpdate=!0,this)}getMatrixAt(e,t){const i=this._active,r=this._matricesTexture.image.data,s=this._geometryCount;return e>=s||i[e]===!1?null:t.fromArray(r,e*16)}setVisibleAt(e,t){const i=this._visibility,r=this._active,s=this._geometryCount;return e>=s||r[e]===!1||i[e]===t?this:(i[e]=t,this._visibilityChanged=!0,this)}getVisibleAt(e){const t=this._visibility,i=this._active,r=this._geometryCount;return e>=r||i[e]===!1?!1:t[e]}raycast(e,t){const i=this._visibility,r=this._active,s=this._drawRanges,o=this._geometryCount,a=this.matrixWorld,l=this.geometry;hi.material=this.material,hi.geometry.index=l.index,hi.geometry.attributes=l.attributes,hi.geometry.boundingBox===null&&(hi.geometry.boundingBox=new Ni),hi.geometry.boundingSphere===null&&(hi.geometry.boundingSphere=new _i);for(let u=0;u({...t})),this._reservedRanges=e._reservedRanges.map(t=>({...t})),this._visibility=e._visibility.slice(),this._active=e._active.slice(),this._bounds=e._bounds.map(t=>({boxInitialized:t.boxInitialized,box:t.box.clone(),sphereInitialized:t.sphereInitialized,sphere:t.sphere.clone()})),this._maxGeometryCount=e._maxGeometryCount,this._maxVertexCount=e._maxVertexCount,this._maxIndexCount=e._maxIndexCount,this._geometryInitialized=e._geometryInitialized,this._geometryCount=e._geometryCount,this._multiDrawCounts=e._multiDrawCounts.slice(),this._multiDrawStarts=e._multiDrawStarts.slice(),this._matricesTexture=e._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.slice(),this}dispose(){return this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this}onBeforeRender(e,t,i,r,s){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const o=r.getIndex(),a=o===null?1:o.array.BYTES_PER_ELEMENT,l=this._active,u=this._visibility,d=this._multiDrawStarts,h=this._multiDrawCounts,p=this._drawRanges,m=this.perObjectFrustumCulled;m&&(Ib.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),Y1.setFromProjectionMatrix(Ib,e.coordinateSystem));let v=0;if(this.sortObjects){Lb.copy(this.matrixWorld).invert(),wf.setFromMatrixPosition(i.matrixWorld).applyMatrix4(Lb);for(let g=0,_=u.length;g<_;g++)if(u[g]&&l[g]){this.getMatrixAt(g,jo),this.getBoundingSphereAt(g,$a).applyMatrix4(jo);let S=!1;if(m&&(S=!Y1.intersectsSphere($a)),!S){const M=wf.distanceTo($a.center);q1.push(p[g],M)}}const w=q1.list,x=this.customSort;x===null?w.sort(s.transparent?Fz:Uz):x.call(this,w,i);for(let g=0,_=w.length;g<_;g++){const S=w[g];d[v]=S.start*a,h[v]=S.count,v++}q1.reset()}else for(let w=0,x=u.length;wl)continue;p.applyMatrix4(this.matrixWorld);const O=e.ray.origin.distanceTo(p);Oe.far||t.push({distance:O,point:h.clone().applyMatrix4(this.matrixWorld),index:S,face:null,faceIndex:null,object:this})}}else{const g=Math.max(0,o.start),_=Math.min(x.count,o.start+o.count);for(let S=g,M=_-1;Sl)continue;p.applyMatrix4(this.matrixWorld);const T=e.ray.origin.distanceTo(p);Te.far||t.push({distance:T,point:h.clone().applyMatrix4(this.matrixWorld),index:S,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;sr.far)return;s.push({distance:u,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,object:o})}}class Vz extends pn{constructor(e,t,i,r,s,o,a,l,u){super(e,t,i,r,s,o,a,l,u),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:un,this.magFilter=s!==void 0?s:un,this.generateMipmaps=!1;const d=this;function h(){d.needsUpdate=!0,e.requestVideoFrameCallback(h)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(h)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class Wz extends pn{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=An,this.minFilter=An,this.generateMipmaps=!1,this.needsUpdate=!0}}class g0 extends pn{constructor(e,t,i,r,s,o,a,l,u,d,h,p){super(null,o,a,l,u,d,r,s,h,p),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class $z extends g0{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=gi}}class Gz extends g0{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,_o),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class jz extends pn{constructor(e,t,i,r,s,o,a,l,u){super(e,t,i,r,s,o,a,l,u),this.isCanvasTexture=!0,this.needsUpdate=!0}}class fs{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,t){const i=this.getUtoTmapping(e);return this.getPoint(i,t)}getPoints(e=5){const t=[];for(let i=0;i<=e;i++)t.push(this.getPoint(i/e));return t}getSpacedPoints(e=5){const t=[];for(let i=0;i<=e;i++)t.push(this.getPointAt(i/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let i,r=this.getPoint(0),s=0;t.push(0);for(let o=1;o<=e;o++)i=this.getPoint(o/e),s+=i.distanceTo(r),t.push(s),r=i;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){const i=this.getLengths();let r=0;const s=i.length;let o;t?o=t:o=e*i[s-1];let a=0,l=s-1,u;for(;a<=l;)if(r=Math.floor(a+(l-a)/2),u=i[r]-o,u<0)a=r+1;else if(u>0)l=r-1;else{l=r;break}if(r=l,i[r]===o)return r/(s-1);const d=i[r],p=i[r+1]-d,m=(o-d)/p;return(r+m)/(s-1)}getTangent(e,t){let r=e-1e-4,s=e+1e-4;r<0&&(r=0),s>1&&(s=1);const o=this.getPoint(r),a=this.getPoint(s),l=t||(o.isVector2?new ve:new U);return l.copy(a).sub(o).normalize(),l}getTangentAt(e,t){const i=this.getUtoTmapping(e);return this.getTangent(i,t)}computeFrenetFrames(e,t){const i=new U,r=[],s=[],o=[],a=new U,l=new ft;for(let m=0;m<=e;m++){const v=m/e;r[m]=this.getTangentAt(v,new U)}s[0]=new U,o[0]=new U;let u=Number.MAX_VALUE;const d=Math.abs(r[0].x),h=Math.abs(r[0].y),p=Math.abs(r[0].z);d<=u&&(u=d,i.set(1,0,0)),h<=u&&(u=h,i.set(0,1,0)),p<=u&&i.set(0,0,1),a.crossVectors(r[0],i).normalize(),s[0].crossVectors(r[0],a),o[0].crossVectors(r[0],s[0]);for(let m=1;m<=e;m++){if(s[m]=s[m-1].clone(),o[m]=o[m-1].clone(),a.crossVectors(r[m-1],r[m]),a.length()>Number.EPSILON){a.normalize();const v=Math.acos(Sn(r[m-1].dot(r[m]),-1,1));s[m].applyMatrix4(l.makeRotationAxis(a,v))}o[m].crossVectors(r[m],s[m])}if(t===!0){let m=Math.acos(Sn(s[0].dot(s[e]),-1,1));m/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(m=-m);for(let v=1;v<=e;v++)s[v].applyMatrix4(l.makeRotationAxis(r[v],m*v)),o[v].crossVectors(r[v],s[v])}return{tangents:r,normals:s,binormals:o}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class v0 extends fs{constructor(e=0,t=0,i=1,r=1,s=0,o=Math.PI*2,a=!1,l=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=i,this.yRadius=r,this.aStartAngle=s,this.aEndAngle=o,this.aClockwise=a,this.aRotation=l}getPoint(e,t=new ve){const i=t,r=Math.PI*2;let s=this.aEndAngle-this.aStartAngle;const o=Math.abs(s)r;)s-=r;s0?0:(Math.floor(Math.abs(a)/s)+1)*s:l===0&&a===s-1&&(a=s-2,l=1);let u,d;this.closed||a>0?u=r[(a-1)%s]:(im.subVectors(r[0],r[1]).add(r[0]),u=im);const h=r[a%s],p=r[(a+1)%s];if(this.closed||a+2r.length-2?r.length-1:o+1],h=r[o>r.length-3?r.length-1:o+2];return i.set(Bb(a,l.x,u.x,d.x,h.x),Bb(a,l.y,u.y,d.y,h.y)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t=i){const o=r[s]-i,a=this.curves[s],l=a.getLength(),u=l===0?0:1-o/l;return a.getPointAt(u,t)}s++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let i=0,r=this.curves.length;i1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,i=e.curves.length;t0){const h=u.getPoint(0);h.equals(this.currentPoint)||this.lineTo(h.x,h.y)}this.curves.push(u);const d=u.getPoint(1);return this.currentPoint.copy(d),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class eh extends At{constructor(e=[new ve(0,-.5),new ve(.5,0),new ve(0,.5)],t=12,i=0,r=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:i,phiLength:r},t=Math.floor(t),r=Sn(r,0,Math.PI*2);const s=[],o=[],a=[],l=[],u=[],d=1/t,h=new U,p=new ve,m=new U,v=new U,w=new U;let x=0,g=0;for(let _=0;_<=e.length-1;_++)switch(_){case 0:x=e[_+1].x-e[_].x,g=e[_+1].y-e[_].y,m.x=g*1,m.y=-x,m.z=g*0,w.copy(m),m.normalize(),l.push(m.x,m.y,m.z);break;case e.length-1:l.push(w.x,w.y,w.z);break;default:x=e[_+1].x-e[_].x,g=e[_+1].y-e[_].y,m.x=g*1,m.y=-x,m.z=g*0,v.copy(m),m.x+=w.x,m.y+=w.y,m.z+=w.z,m.normalize(),l.push(m.x,m.y,m.z),w.copy(v)}for(let _=0;_<=t;_++){const S=i+_*d*r,M=Math.sin(S),A=Math.cos(S);for(let T=0;T<=e.length-1;T++){h.x=e[T].x*M,h.y=e[T].y,h.z=e[T].x*A,o.push(h.x,h.y,h.z),p.x=_/t,p.y=T/(e.length-1),a.push(p.x,p.y);const L=l[3*T+0]*M,O=l[3*T+1],H=l[3*T+0]*A;u.push(L,O,H)}}for(let _=0;_0&&S(!0),t>0&&S(!1)),this.setIndex(d),this.setAttribute("position",new Qe(h,3)),this.setAttribute("normal",new Qe(p,3)),this.setAttribute("uv",new Qe(m,2));function _(){const M=new U,A=new U;let T=0;const L=(t-e)/i;for(let O=0;O<=s;O++){const H=[],C=O/s,I=C*(t-e)+e;for(let j=0;j<=r;j++){const ee=j/r,z=ee*l+a,J=Math.sin(z),Z=Math.cos(z);A.x=I*J,A.y=-C*i+x,A.z=I*Z,h.push(A.x,A.y,A.z),M.set(J,L,Z).normalize(),p.push(M.x,M.y,M.z),m.push(ee,1-C),H.push(v++)}w.push(H)}for(let O=0;O.9&&L<.1&&(S<.2&&(o[_+0]+=1),M<.2&&(o[_+2]+=1),A<.2&&(o[_+4]+=1))}}function p(_){s.push(_.x,_.y,_.z)}function m(_,S){const M=_*3;S.x=e[M+0],S.y=e[M+1],S.z=e[M+2]}function v(){const _=new U,S=new U,M=new U,A=new U,T=new ve,L=new ve,O=new ve;for(let H=0,C=0;H80*t){a=u=n[0],l=d=n[1];for(let v=t;vu&&(u=h),p>d&&(d=p);m=Math.max(u-a,d-l),m=m!==0?32767/m:0}return Ld(s,o,t,a,l,m,0),o}};function nL(n,e,t,i,r){let s,o;if(r===g6(n,e,t,i)>0)for(s=e;s=e;s-=i)o=Hb(s,n[s],n[s+1],o);return o&&w0(o,o.next)&&(Od(o),o=o.next),o}function Cl(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(w0(t,t.next)||fn(t.prev,t,t.next)===0)){if(Od(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function Ld(n,e,t,i,r,s,o){if(!n)return;!o&&s&&u6(n,i,r,s);let a=n,l,u;for(;n.prev!==n.next;){if(l=n.prev,u=n.next,s?n6(n,i,r,s):t6(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(u.i/t|0),Od(n),n=u.next,a=u.next;continue}if(n=u,n===a){o?o===1?(n=i6(Cl(n),e,t),Ld(n,e,t,i,r,s,2)):o===2&&r6(n,e,t,i,r,s):Ld(Cl(n),e,t,i,r,s,1);break}}}function t6(n){const e=n.prev,t=n,i=n.next;if(fn(e,t,i)>=0)return!1;const r=e.x,s=t.x,o=i.x,a=e.y,l=t.y,u=i.y,d=rs?r>o?r:o:s>o?s:o,m=a>l?a>u?a:u:l>u?l:u;let v=i.next;for(;v!==e;){if(v.x>=d&&v.x<=p&&v.y>=h&&v.y<=m&&Gc(r,a,s,l,o,u,v.x,v.y)&&fn(v.prev,v,v.next)>=0)return!1;v=v.next}return!0}function n6(n,e,t,i){const r=n.prev,s=n,o=n.next;if(fn(r,s,o)>=0)return!1;const a=r.x,l=s.x,u=o.x,d=r.y,h=s.y,p=o.y,m=al?a>u?a:u:l>u?l:u,x=d>h?d>p?d:p:h>p?h:p,g=n_(m,v,e,t,i),_=n_(w,x,e,t,i);let S=n.prevZ,M=n.nextZ;for(;S&&S.z>=g&&M&&M.z<=_;){if(S.x>=m&&S.x<=w&&S.y>=v&&S.y<=x&&S!==r&&S!==o&&Gc(a,d,l,h,u,p,S.x,S.y)&&fn(S.prev,S,S.next)>=0||(S=S.prevZ,M.x>=m&&M.x<=w&&M.y>=v&&M.y<=x&&M!==r&&M!==o&&Gc(a,d,l,h,u,p,M.x,M.y)&&fn(M.prev,M,M.next)>=0))return!1;M=M.nextZ}for(;S&&S.z>=g;){if(S.x>=m&&S.x<=w&&S.y>=v&&S.y<=x&&S!==r&&S!==o&&Gc(a,d,l,h,u,p,S.x,S.y)&&fn(S.prev,S,S.next)>=0)return!1;S=S.prevZ}for(;M&&M.z<=_;){if(M.x>=m&&M.x<=w&&M.y>=v&&M.y<=x&&M!==r&&M!==o&&Gc(a,d,l,h,u,p,M.x,M.y)&&fn(M.prev,M,M.next)>=0)return!1;M=M.nextZ}return!0}function i6(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!w0(r,s)&&iL(r,i,i.next,s)&&Id(r,s)&&Id(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),Od(i),Od(i.next),i=n=s),i=i.next}while(i!==n);return Cl(i)}function r6(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&h6(o,a)){let l=rL(o,a);o=Cl(o,o.next),l=Cl(l,l.next),Ld(o,e,t,i,r,s,0),Ld(l,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function s6(n,e,t,i){const r=[];let s,o,a,l,u;for(s=0,o=e.length;s=t.next.y&&t.next.y!==t.y){const p=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(p<=s&&p>i&&(i=p,r=t.x=t.x&&t.x>=l&&s!==t.x&&Gc(or.x||t.x===r.x&&c6(r,t)))&&(r=t,d=h)),t=t.next;while(t!==a);return r}function c6(n,e){return fn(n.prev,n,e.prev)<0&&fn(e.next,n,n.next)<0}function u6(n,e,t,i){let r=n;do r.z===0&&(r.z=n_(r.x,r.y,e,t,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==n);r.prevZ.nextZ=null,r.prevZ=null,f6(r)}function f6(n){let e,t,i,r,s,o,a,l,u=1;do{for(t=n,n=null,s=null,o=0;t;){for(o++,i=t,a=0,e=0;e0||l>0&&i;)a!==0&&(l===0||!i||t.z<=i.z)?(r=t,t=t.nextZ,a--):(r=i,i=i.nextZ,l--),s?s.nextZ=r:n=r,r.prevZ=s,s=r;t=i}s.nextZ=null,u*=2}while(o>1);return n}function n_(n,e,t,i,r){return n=(n-t)*r|0,e=(e-i)*r|0,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,n|e<<1}function d6(n){let e=n,t=n;do(e.x=(n-o)*(s-a)&&(n-o)*(i-a)>=(t-o)*(e-a)&&(t-o)*(s-a)>=(r-o)*(i-a)}function h6(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!p6(n,e)&&(Id(n,e)&&Id(e,n)&&m6(n,e)&&(fn(n.prev,n,e.prev)||fn(n,e.prev,e))||w0(n,e)&&fn(n.prev,n,n.next)>0&&fn(e.prev,e,e.next)>0)}function fn(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function w0(n,e){return n.x===e.x&&n.y===e.y}function iL(n,e,t,i){const r=lm(fn(n,e,t)),s=lm(fn(n,e,i)),o=lm(fn(t,i,n)),a=lm(fn(t,i,e));return!!(r!==s&&o!==a||r===0&&am(n,t,e)||s===0&&am(n,i,e)||o===0&&am(t,n,i)||a===0&&am(t,e,i))}function am(n,e,t){return e.x<=Math.max(n.x,t.x)&&e.x>=Math.min(n.x,t.x)&&e.y<=Math.max(n.y,t.y)&&e.y>=Math.min(n.y,t.y)}function lm(n){return n>0?1:n<0?-1:0}function p6(n,e){let t=n;do{if(t.i!==n.i&&t.next.i!==n.i&&t.i!==e.i&&t.next.i!==e.i&&iL(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function Id(n,e){return fn(n.prev,n,n.next)<0?fn(n,e,n.next)>=0&&fn(n,n.prev,e)>=0:fn(n,e,n.prev)<0||fn(n,n.next,e)<0}function m6(n,e){let t=n,i=!1;const r=(n.x+e.x)/2,s=(n.y+e.y)/2;do t.y>s!=t.next.y>s&&t.next.y!==t.y&&r<(t.next.x-t.x)*(s-t.y)/(t.next.y-t.y)+t.x&&(i=!i),t=t.next;while(t!==n);return i}function rL(n,e){const t=new i_(n.i,n.x,n.y),i=new i_(e.i,e.x,e.y),r=n.next,s=e.prev;return n.next=e,e.prev=n,t.next=r,r.prev=t,i.next=t,t.prev=i,s.next=i,i.prev=s,i}function Hb(n,e,t,i){const r=new i_(n,e,t);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function Od(n){n.next.prev=n.prev,n.prev.next=n.next,n.prevZ&&(n.prevZ.nextZ=n.nextZ),n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function i_(n,e,t){this.i=n,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function g6(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function Wb(n,e){for(let t=0;tNumber.EPSILON){const re=Math.sqrt(D),Se=Math.sqrt(ct*ct+F*F),_e=we.x-Xe/re,et=we.y+ke/re,tt=ge.x-F/Se,Te=ge.y+ct/Se,De=((tt-_e)*F-(Te-et)*ct)/(ke*F-Xe*ct);Me=_e+ke*De-V.x,xe=et+Xe*De-V.y;const st=Me*Me+xe*xe;if(st<=2)return new ve(Me,xe);Be=Math.sqrt(st/2)}else{let re=!1;ke>Number.EPSILON?ct>Number.EPSILON&&(re=!0):ke<-Number.EPSILON?ct<-Number.EPSILON&&(re=!0):Math.sign(Xe)===Math.sign(F)&&(re=!0),re?(Me=-Xe,xe=ke,Be=Math.sqrt(D)):(Me=ke,xe=Xe,Be=Math.sqrt(D/2))}return new ve(Me/Be,xe/Be)}const W=[];for(let V=0,we=z.length,ge=we-1,Me=V+1;V=0;V--){const we=V/x,ge=m*Math.cos(we*Math.PI/2),Me=v*Math.sin(we*Math.PI/2)+w;for(let xe=0,Be=z.length;xe=0;){const Me=ge;let xe=ge-1;xe<0&&(xe=V.length-1);for(let Be=0,ke=d+x*2;Be0)&&m.push(S,M,T),(g!==i-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class cL extends ri{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new je(16777215),this.specular=new je(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ba,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new gr,this.combine=qd,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class uL extends ri{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new je(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ba,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class fL extends ri{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ba,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class dL extends ri{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new je(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ba,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new gr,this.combine=qd,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class hL extends ri{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new je(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ba,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class pL extends Fi{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function ul(n,e,t){return!n||!t&&n.constructor===e?n:typeof e.BYTES_PER_ELEMENT=="number"?new e(n):Array.prototype.slice.call(n)}function mL(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function gL(n){function e(r,s){return n[r]-n[s]}const t=n.length,i=new Array(t);for(let r=0;r!==t;++r)i[r]=r;return i.sort(e),i}function r_(n,e,t){const i=n.length,r=new n.constructor(i);for(let s=0,o=0;o!==i;++s){const a=t[s]*e;for(let l=0;l!==e;++l)r[o++]=n[a+l]}return r}function uw(n,e,t,i){let r=1,s=n[0];for(;s!==void 0&&s[i]===void 0;)s=n[r++];if(s===void 0)return;let o=s[i];if(o!==void 0)if(Array.isArray(o))do o=s[i],o!==void 0&&(e.push(s.time),t.push.apply(t,o)),s=n[r++];while(s!==void 0);else if(o.toArray!==void 0)do o=s[i],o!==void 0&&(e.push(s.time),o.toArray(t,t.length)),s=n[r++];while(s!==void 0);else do o=s[i],o!==void 0&&(e.push(s.time),t.push(o)),s=n[r++];while(s!==void 0)}function _6(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let l=0;l=i)){h.push(u.times[m]);for(let w=0;ws.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[v]){const g=v*h+d,_=g+h-d;w=a.values.slice(g,_)}else{const g=a.createInterpolant(),_=d,S=h-d;g.evaluate(s),w=g.resultBuffer.slice(_,S)}l==="quaternion"&&new xi().fromArray(w).normalize().conjugate().toArray(w);const x=u.times.length;for(let g=0;g=s)){const a=t[1];e=s)break t}o=i,i=0;break n}break e}for(;i>>1;et;)--o;if(++o,s!==0||o!==r){s>=o&&(o=Math.max(o,1),s=o-1);const a=this.getValueSize();this.times=i.slice(s,o),this.values=this.values.slice(s*a,o*a)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const i=this.times,r=this.values,s=i.length;s===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let a=0;a!==s;a++){const l=i[a];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,l),e=!1;break}if(o!==null&&o>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,l,o),e=!1;break}o=l}if(r!==void 0&&mL(r))for(let a=0,l=r.length;a!==l;++a){const u=r[a];if(isNaN(u)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,u),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===Wm,s=e.length-1;let o=1;for(let a=1;a0){e[o]=e[s];for(let a=s*i,l=o*i,u=0;u!==i;++u)t[l+u]=t[a+u];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=t.slice(0,o*i)):(this.times=e,this.values=t),this}clone(){const e=this.times.slice(),t=this.values.slice(),i=this.constructor,r=new i(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}}ds.prototype.TimeBufferType=Float32Array;ds.prototype.ValueBufferType=Float32Array;ds.prototype.DefaultInterpolation=wd;class Dl extends ds{}Dl.prototype.ValueTypeName="bool";Dl.prototype.ValueBufferType=Array;Dl.prototype.DefaultInterpolation=Sd;Dl.prototype.InterpolantFactoryMethodLinear=void 0;Dl.prototype.InterpolantFactoryMethodSmooth=void 0;class dw extends ds{}dw.prototype.ValueTypeName="color";class Dd extends ds{}Dd.prototype.ValueTypeName="number";class xL extends ih{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=(i-t)/(r-t);let u=e*a;for(let d=u+a;u!==d;u+=4)xi.slerpFlat(s,0,o,u-a,o,u,l);return s}}class Au extends ds{InterpolantFactoryMethodLinear(e){return new xL(this.times,this.values,this.getValueSize(),e)}}Au.prototype.ValueTypeName="quaternion";Au.prototype.DefaultInterpolation=wd;Au.prototype.InterpolantFactoryMethodSmooth=void 0;class Nl extends ds{}Nl.prototype.ValueTypeName="string";Nl.prototype.ValueBufferType=Array;Nl.prototype.DefaultInterpolation=Sd;Nl.prototype.InterpolantFactoryMethodLinear=void 0;Nl.prototype.InterpolantFactoryMethodSmooth=void 0;class Nd extends ds{}Nd.prototype.ValueTypeName="vector";class kd{constructor(e,t=-1,i,r=l0){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=hr(),this.duration<0&&this.resetDuration()}static parse(e){const t=[],i=e.tracks,r=1/(e.fps||1);for(let o=0,a=i.length;o!==a;++o)t.push(M6(i[o]).scale(r));const s=new this(e.name,e.duration,t,e.blendMode);return s.uuid=e.uuid,s}static toJSON(e){const t=[],i=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let s=0,o=i.length;s!==o;++s)t.push(ds.toJSON(i[s]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const s=t.length,o=[];for(let a=0;a1){const h=d[1];let p=r[h];p||(r[h]=p=[]),p.push(u)}}const o=[];for(const a in r)o.push(this.CreateFromMorphTargetSequence(a,r[a],t,i));return o}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(h,p,m,v,w){if(m.length!==0){const x=[],g=[];uw(m,x,g,v),x.length!==0&&w.push(new h(p,x,g))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const u=e.hierarchy||[];for(let h=0;h{t&&t(s),this.manager.itemEnd(e)},0),s;if(Zs[e]!==void 0){Zs[e].push({onLoad:t,onProgress:i,onError:r});return}Zs[e]=[],Zs[e].push({onLoad:t,onProgress:i,onError:r});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,l=this.responseType;fetch(o).then(u=>{if(u.status===200||u.status===0){if(u.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||u.body===void 0||u.body.getReader===void 0)return u;const d=Zs[e],h=u.body.getReader(),p=u.headers.get("Content-Length")||u.headers.get("X-File-Size"),m=p?parseInt(p):0,v=m!==0;let w=0;const x=new ReadableStream({start(g){_();function _(){h.read().then(({done:S,value:M})=>{if(S)g.close();else{w+=M.byteLength;const A=new ProgressEvent("progress",{lengthComputable:v,loaded:w,total:m});for(let T=0,L=d.length;T{switch(l){case"arraybuffer":return u.arrayBuffer();case"blob":return u.blob();case"document":return u.text().then(d=>new DOMParser().parseFromString(d,a));case"json":return u.json();default:if(a===void 0)return u.text();{const h=/charset="?([^;"\s]*)"?/i.exec(a),p=h&&h[1]?h[1].toLowerCase():void 0,m=new TextDecoder(p);return u.arrayBuffer().then(v=>m.decode(v))}}}).then(u=>{co.add(e,u);const d=Zs[e];delete Zs[e];for(let h=0,p=d.length;h{const d=Zs[e];if(d===void 0)throw this.manager.itemError(e),u;delete Zs[e];for(let h=0,p=d.length;h{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class T6 extends Ki{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new So(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(a){try{t(s.parse(JSON.parse(a)))}catch(l){r?r(l):console.error(l),s.manager.itemError(e)}},i,r)}parse(e){const t=[];for(let i=0;i0:r.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const s in e.uniforms){const o=e.uniforms[s];switch(r.uniforms[s]={},o.type){case"t":r.uniforms[s].value=i(o.value);break;case"c":r.uniforms[s].value=new je().setHex(o.value);break;case"v2":r.uniforms[s].value=new ve().fromArray(o.value);break;case"v3":r.uniforms[s].value=new U().fromArray(o.value);break;case"v4":r.uniforms[s].value=new Vt().fromArray(o.value);break;case"m3":r.uniforms[s].value=new Mt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new ft().fromArray(o.value);break;default:r.uniforms[s].value=o.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(r.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)r.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(r.lights=e.lights),e.clipping!==void 0&&(r.clipping=e.clipping),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=i(e.map)),e.matcap!==void 0&&(r.matcap=i(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=i(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=i(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=i(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),r.normalScale=new ve().fromArray(s)}return e.displacementMap!==void 0&&(r.displacementMap=i(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=i(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=i(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=i(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=i(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=i(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=i(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=i(e.envMap)),e.envMapRotation!==void 0&&r.envMapRotation.fromArray(e.envMapRotation),e.envMapIntensity!==void 0&&(r.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(r.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(r.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(r.lightMap=i(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=i(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=i(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=i(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=i(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=i(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new ve().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(r.iridescenceMap=i(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(r.iridescenceThicknessMap=i(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(r.transmissionMap=i(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=i(e.thicknessMap)),e.anisotropyMap!==void 0&&(r.anisotropyMap=i(e.anisotropyMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=i(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=i(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const t={ShadowMaterial:oL,SpriteMaterial:QS,RawShaderMaterial:aL,ShaderMaterial:cs,PointsMaterial:tw,MeshPhysicalMaterial:lL,MeshStandardMaterial:cw,MeshPhongMaterial:cL,MeshToonMaterial:uL,MeshNormalMaterial:fL,MeshLambertMaterial:dL,MeshDepthMaterial:ZS,MeshDistanceMaterial:KS,MeshBasicMaterial:Ta,MeshMatcapMaterial:hL,LineDashedMaterial:pL,LineBasicMaterial:Fi,Material:ri};return new t[e]}}class s_{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let t="";for(let i=0,r=e.length;i0){const l=new hw(t);s=new Ud(l),s.setCrossOrigin(this.crossOrigin);for(let u=0,d=e.length;u0){r=new Ud(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const x=new Ni;x.min.fromArray(w.boxMin),x.max.fromArray(w.boxMax);const g=new _i;return g.radius=w.sphereRadius,g.center.fromArray(w.sphereCenter),{boxInitialized:w.boxInitialized,box:x,sphereInitialized:w.sphereInitialized,sphere:g}}),o._maxGeometryCount=e.maxGeometryCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._geometryCount=e.geometryCount,o._matricesTexture=u(e.matricesTexture.uuid);break;case"LOD":o=new GP;break;case"Line":o=new ga(a(e.geometry),l(e.material));break;case"LineLoop":o=new qP(a(e.geometry),l(e.material));break;case"LineSegments":o=new Fs(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new nw(a(e.geometry),l(e.material));break;case"Sprite":o=new $P(l(e.material));break;case"Group":o=new $c;break;case"Bone":o=new ew;break;default:o=new Lt}if(o.uuid=e.uuid,e.name!==void 0&&(o.name=e.name),e.matrix!==void 0?(o.matrix.fromArray(e.matrix),e.matrixAutoUpdate!==void 0&&(o.matrixAutoUpdate=e.matrixAutoUpdate),o.matrixAutoUpdate&&o.matrix.decompose(o.position,o.quaternion,o.scale)):(e.position!==void 0&&o.position.fromArray(e.position),e.rotation!==void 0&&o.rotation.fromArray(e.rotation),e.quaternion!==void 0&&o.quaternion.fromArray(e.quaternion),e.scale!==void 0&&o.scale.fromArray(e.scale)),e.up!==void 0&&o.up.fromArray(e.up),e.castShadow!==void 0&&(o.castShadow=e.castShadow),e.receiveShadow!==void 0&&(o.receiveShadow=e.receiveShadow),e.shadow&&(e.shadow.bias!==void 0&&(o.shadow.bias=e.shadow.bias),e.shadow.normalBias!==void 0&&(o.shadow.normalBias=e.shadow.normalBias),e.shadow.radius!==void 0&&(o.shadow.radius=e.shadow.radius),e.shadow.mapSize!==void 0&&o.shadow.mapSize.fromArray(e.shadow.mapSize),e.shadow.camera!==void 0&&(o.shadow.camera=this.parseObject(e.shadow.camera))),e.visible!==void 0&&(o.visible=e.visible),e.frustumCulled!==void 0&&(o.frustumCulled=e.frustumCulled),e.renderOrder!==void 0&&(o.renderOrder=e.renderOrder),e.userData!==void 0&&(o.userData=e.userData),e.layers!==void 0&&(o.layers.mask=e.layers),e.children!==void 0){const p=e.children;for(let m=0;m"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,i,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,o=co.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(u=>{t&&t(u),s.manager.itemEnd(e)}).catch(u=>{r&&r(u)});return}return setTimeout(function(){t&&t(o),s.manager.itemEnd(e)},0),o}const a={};a.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",a.headers=this.requestHeader;const l=fetch(e,a).then(function(u){return u.blob()}).then(function(u){return createImageBitmap(u,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(u){return co.add(e,u),t&&t(u),s.manager.itemEnd(e),u}).catch(function(u){r&&r(u),co.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});co.add(e,l),s.manager.itemStart(e)}}let cm;class mw{static getContext(){return cm===void 0&&(cm=new(window.AudioContext||window.webkitAudioContext)),cm}static setContext(e){cm=e}}class k6 extends Ki{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new So(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{const u=l.slice(0);mw.getContext().decodeAudioData(u,function(h){t(h)}).catch(a)}catch(u){a(u)}},i,r);function a(l){r?r(l):console.error(l),s.manager.itemError(e)}}}const Kb=new ft,Jb=new ft,Ga=new ft;class U6{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new wn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new wn,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep,Ga.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(ml*t.fov*.5)/t.zoom;let a,l;Jb.elements[12]=-r,Kb.elements[12]=r,a=-o*t.aspect+s,l=o*t.aspect+s,Ga.elements[0]=2*t.near/(l-a),Ga.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(Ga),a=-o*t.aspect-s,l=o*t.aspect-s,Ga.elements[0]=2*t.near/(l-a),Ga.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(Ga)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(Jb),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Kb)}}class gw{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Qb(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=Qb();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function Qb(){return(typeof performance>"u"?Date:performance).now()}const ja=new U,eT=new xi,F6=new U,Xa=new U;class z6 extends Lt{constructor(){super(),this.type="AudioListener",this.context=mw.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new gw}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener,i=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(ja,eT,F6),Xa.set(0,0,-1).applyQuaternion(eT),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(ja.x,r),t.positionY.linearRampToValueAtTime(ja.y,r),t.positionZ.linearRampToValueAtTime(ja.z,r),t.forwardX.linearRampToValueAtTime(Xa.x,r),t.forwardY.linearRampToValueAtTime(Xa.y,r),t.forwardZ.linearRampToValueAtTime(Xa.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition(ja.x,ja.y,ja.z),t.setOrientation(Xa.x,Xa.y,Xa.z,i.x,i.y,i.z)}}class IL extends Lt{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e0&&this._mixBufferRegionAdditive(i,r,this._addIndex*t,1,t);for(let l=t,u=t+t;l!==u;++l)if(i[l]!==i[l+t]){a.setValue(i,r);break}}saveOriginalState(){const e=this.binding,t=this.buffer,i=this.valueSize,r=i*this._origIndex;e.getValue(t,r);for(let s=i,o=r;s!==o;++s)t[s]=t[r+s%i];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let i=e;i=.5)for(let o=0;o!==s;++o)e[t+o]=e[i+o]}_slerp(e,t,i,r){xi.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;xi.multiplyQuaternionsFlat(e,o,e,t,e,i),xi.slerpFlat(e,t,e,t,e,o,r)}_lerp(e,t,i,r,s){const o=1-r;for(let a=0;a!==s;++a){const l=t+a;e[l]=e[l]*o+e[i+a]*r}}_lerpAdditive(e,t,i,r,s){for(let o=0;o!==s;++o){const a=t+o;e[a]=e[a]+e[i+o]*r}}}const vw="\\[\\]\\.:\\/",W6=new RegExp("["+vw+"]","g"),yw="[^"+vw+"]",$6="[^"+vw.replace("\\.","")+"]",G6=/((?:WC+[\/:])*)/.source.replace("WC",yw),j6=/(WCOD+)?/.source.replace("WCOD",$6),X6=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",yw),Y6=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",yw),q6=new RegExp("^"+G6+j6+X6+Y6+"$"),Z6=["material","materials","bones","map"];class K6{constructor(e,t,i){const r=i||Nt.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();const i=this._targetGroup.nCachedObjects_,r=this._bindings[i];r!==void 0&&r.getValue(e,t)}setValue(e,t){const i=this._bindings;for(let r=this._targetGroup.nCachedObjects_,s=i.length;r!==s;++r)i[r].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].unbind()}}class Nt{constructor(e,t,i){this.path=t,this.parsedPath=i||Nt.parseTrackName(t),this.node=Nt.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,i){return e&&e.isAnimationObjectGroup?new Nt.Composite(e,t,i):new Nt(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(W6,"")}static parseTrackName(e){const t=q6.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const i={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=i.nodeName&&i.nodeName.lastIndexOf(".");if(r!==void 0&&r!==-1){const s=i.nodeName.substring(r+1);Z6.indexOf(s)!==-1&&(i.nodeName=i.nodeName.substring(0,r),i.objectName=s)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return i}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const i=e.skeleton.getBoneByName(t);if(i!==void 0)return i}if(e.children){const i=function(s){for(let o=0;o=s){const h=s++,p=e[h];t[p.uuid]=d,e[d]=p,t[u]=h,e[h]=l;for(let m=0,v=r;m!==v;++m){const w=i[m],x=w[h],g=w[d];w[d]=x,w[h]=g}}}this.nCachedObjects_=s}uncache(){const e=this._objects,t=this._indicesByUUID,i=this._bindings,r=i.length;let s=this.nCachedObjects_,o=e.length;for(let a=0,l=arguments.length;a!==l;++a){const u=arguments[a],d=u.uuid,h=t[d];if(h!==void 0)if(delete t[d],h0&&(t[m.uuid]=h),e[h]=m,e.pop();for(let v=0,w=r;v!==w;++v){const x=i[v];x[h]=x[p],x.pop()}}}this.nCachedObjects_=s}subscribe_(e,t){const i=this._bindingsIndicesByPath;let r=i[e];const s=this._bindings;if(r!==void 0)return s[r];const o=this._paths,a=this._parsedPaths,l=this._objects,u=l.length,d=this.nCachedObjects_,h=new Array(u);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(h);for(let p=d,m=l.length;p!==m;++p){const v=l[p];h[p]=new Nt(v,e,t)}return h}unsubscribe_(e){const t=this._bindingsIndicesByPath,i=t[e];if(i!==void 0){const r=this._paths,s=this._parsedPaths,o=this._bindings,a=o.length-1,l=o[a],u=e[a];t[u]=i,o[i]=l,o.pop(),s[i]=s[a],s.pop(),r[i]=r[a],r.pop()}}}class DL{constructor(e,t,i=null,r=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=i,this.blendMode=r;const s=t.tracks,o=s.length,a=new Array(o),l={endingStart:al,endingEnd:al};for(let u=0;u!==o;++u){const d=s[u].createInterpolant(null);a[u]=d,d.settings=l}this._interpolantSettings=l,this._interpolants=a,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=dP,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,i){if(e.fadeOut(t),this.fadeIn(t),i){const r=this._clip.duration,s=e._clip.duration,o=s/r,a=r/s;e.warp(1,o,t),this.warp(a,1,t)}return this}crossFadeTo(e,t,i){return e.crossFadeFrom(this,t,i)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,i){const r=this._mixer,s=r.time,o=this.timeScale;let a=this._timeScaleInterpolant;a===null&&(a=r._lendControlInterpolant(),this._timeScaleInterpolant=a);const l=a.parameterPositions,u=a.sampleValues;return l[0]=s,l[1]=s+i,u[0]=e/o,u[1]=t/o,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,i,r){if(!this.enabled){this._updateWeight(e);return}const s=this._startTime;if(s!==null){const l=(e-s)*i;l<0||i===0?t=0:(this._startTime=null,t=i*l)}t*=this._updateTimeScale(e);const o=this._updateTime(t),a=this._updateWeight(e);if(a>0){const l=this._interpolants,u=this._propertyBindings;switch(this.blendMode){case HS:for(let d=0,h=l.length;d!==h;++d)l[d].evaluate(o),u[d].accumulateAdditive(a);break;case l0:default:for(let d=0,h=l.length;d!==h;++d)l[d].evaluate(o),u[d].accumulate(r,a)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const i=this._weightInterpolant;if(i!==null){const r=i.evaluate(e)[0];t*=r,e>i.parameterPositions[1]&&(this.stopFading(),r===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const i=this._timeScaleInterpolant;if(i!==null){const r=i.evaluate(e)[0];t*=r,e>i.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){const t=this._clip.duration,i=this.loop;let r=this.time+e,s=this._loopCount;const o=i===hP;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===fP){s===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(r>=t)r=t;else if(r<0)r=0;else{this.time=r;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(s===-1&&(e>=0?(s=0,this._setEndings(!0,this.repetitions===0,o)):this._setEndings(this.repetitions===0,!0,o)),r>=t||r<0){const a=Math.floor(r/t);r-=t*a,s+=Math.abs(a);const l=this.repetitions-s;if(l<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=e>0?t:0,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(l===1){const u=e<0;this._setEndings(u,!u,o)}else this._setEndings(!1,!1,o);this._loopCount=s,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:a})}}else this.time=r;if(o&&(s&1)===1)return t-r}return r}_setEndings(e,t,i){const r=this._interpolantSettings;i?(r.endingStart=ll,r.endingEnd=ll):(e?r.endingStart=this.zeroSlopeAtStart?ll:al:r.endingStart=Ed,t?r.endingEnd=this.zeroSlopeAtEnd?ll:al:r.endingEnd=Ed)}_scheduleFading(e,t,i){const r=this._mixer,s=r.time;let o=this._weightInterpolant;o===null&&(o=r._lendControlInterpolant(),this._weightInterpolant=o);const a=o.parameterPositions,l=o.sampleValues;return a[0]=s,l[0]=t,a[1]=s+e,l[1]=i,this}}const Q6=new Float32Array(1);class e7 extends Us{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){const i=e._localRoot||this._root,r=e._clip.tracks,s=r.length,o=e._propertyBindings,a=e._interpolants,l=i.uuid,u=this._bindingsByRootAndName;let d=u[l];d===void 0&&(d={},u[l]=d);for(let h=0;h!==s;++h){const p=r[h],m=p.name;let v=d[m];if(v!==void 0)++v.referenceCount,o[h]=v;else{if(v=o[h],v!==void 0){v._cacheIndex===null&&(++v.referenceCount,this._addInactiveBinding(v,l,m));continue}const w=t&&t._propertyBindings[h].binding.parsedPath;v=new OL(Nt.create(i,m,w),p.ValueTypeName,p.getValueSize()),++v.referenceCount,this._addInactiveBinding(v,l,m),o[h]=v}a[h].resultBuffer=v.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const i=(e._localRoot||this._root).uuid,r=e._clip.uuid,s=this._actionsByClip[r];this._bindAction(e,s&&s.knownActions[0]),this._addInactiveAction(e,r,i)}const t=e._propertyBindings;for(let i=0,r=t.length;i!==r;++i){const s=t[i];s.useCount++===0&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let i=0,r=t.length;i!==r;++i){const s=t[i];--s.useCount===0&&(s.restoreOriginalState(),this._takeBackBinding(s))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const t=e._cacheIndex;return t!==null&&t=0;--i)e[i].stop();return this}update(e){e*=this.timeScale;const t=this._actions,i=this._nActiveActions,r=this.time+=e,s=Math.sign(e),o=this._accuIndex^=1;for(let u=0;u!==i;++u)t[u]._update(r,e,s,o);const a=this._bindings,l=this._nActiveBindings;for(let u=0;u!==l;++u)a[u].apply(o);return this}setTime(e){this.time=0;for(let t=0;tthis.max.x||e.ythis.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,rT).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const sT=new U,um=new U;class a7{constructor(e=new U,t=new U){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){sT.subVectors(e,this.start),um.subVectors(this.end,this.start);const i=um.dot(um);let s=um.dot(sT)/i;return t&&(s=Sn(s,0,1)),s}closestPointToPoint(e,t,i){const r=this.closestPointToPointParameter(e,t);return this.delta(i).multiplyScalar(r).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const oT=new U;class l7 extends Lt{constructor(e,t){super(),this.light=e,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const i=new At,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let o=0,a=1,l=32;o1)for(let h=0;h.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{fT.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(fT,t)}}setLength(e,t=e*.2,i=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(i,t,i),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class S7 extends Fs{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],i=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new At;r.setAttribute("position",new Qe(t,3)),r.setAttribute("color",new Qe(i,3));const s=new Fi({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new je,s=this.geometry.attributes.color.array;return r.set(e),r.toArray(s,0),r.toArray(s,3),r.set(t),r.toArray(s,6),r.toArray(s,9),r.set(i),r.toArray(s,12),r.toArray(s,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class w7{constructor(){this.type="ShapePath",this.color=new je,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new Pd,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,i,r){return this.currentPath.quadraticCurveTo(e,t,i,r),this}bezierCurveTo(e,t,i,r,s,o){return this.currentPath.bezierCurveTo(e,t,i,r,s,o),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(g){const _=[];for(let S=0,M=g.length;SNumber.EPSILON){if(C<0&&(L=_[T],H=-H,O=_[A],C=-C),g.yO.y)continue;if(g.y===L.y){if(g.x===L.x)return!0}else{const I=C*(g.x-L.x)-H*(g.y-L.y);if(I===0)return!0;if(I<0)continue;M=!M}}else{if(g.y!==L.y)continue;if(O.x<=g.x&&g.x<=L.x||L.x<=g.x&&g.x<=O.x)return!0}}return M}const r=Ds.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,a,l;const u=[];if(s.length===1)return a=s[0],l=new vl,l.curves=a.curves,u.push(l),u;let d=!r(s[0].getPoints());d=e?!d:d;const h=[],p=[];let m=[],v=0,w;p[v]=void 0,m[v]=[];for(let g=0,_=s.length;g<_;g++)a=s[g],w=a.getPoints(),o=r(w),o=e?!o:o,o?(!d&&p[v]&&v++,p[v]={s:new vl,p:w},p[v].s.curves=a.curves,d&&v++,m[v]=[]):m[v].push({h:a,p:w[0]});if(!p[0])return t(s);if(p.length>1){let g=!1,_=0;for(let S=0,M=p.length;S0&&g===!1&&(m=h)}let x;for(let g=0,_=p.length;g<_;g++){l=p[g].s,u.push(l),x=m[g];for(let S=0,M=x.length;S{const h=typeof u=="function"?u(e):u;if(h!==e){const p=e;e=d?h:Object.assign({},e,h),t.forEach(m=>m(e,p))}},r=()=>e,s=(u,d=r,h=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let p=d(e);function m(){const v=d(e);if(!h(p,v)){const w=p;u(p=v,w)}}return t.add(m),()=>t.delete(m)},l={setState:i,getState:r,subscribe:(u,d,h)=>d||h?s(u,d,h):(t.add(u),()=>t.delete(u)),destroy:()=>t.clear()};return e=n(i,r,l),l}const T7=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),dT=T7?R.useEffect:R.useLayoutEffect;function FL(n){const e=typeof n=="function"?b7(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=R.useReducer(x=>x+1,0),o=e.getState(),a=R.useRef(o),l=R.useRef(i),u=R.useRef(r),d=R.useRef(!1),h=R.useRef();h.current===void 0&&(h.current=i(o));let p,m=!1;(a.current!==o||l.current!==i||u.current!==r||d.current)&&(p=i(o),m=!r(h.current,p)),dT(()=>{m&&(h.current=p),a.current=o,l.current=i,u.current=r,d.current=!1});const v=R.useRef(o);dT(()=>{const x=()=>{try{const _=e.getState(),S=l.current(_);u.current(h.current,S)||(a.current=_,h.current=S,s())}catch{d.current=!0,s()}},g=e.subscribe(x);return e.getState()!==v.current&&x(),g},[]);const w=m?p:h.current;return R.useDebugValue(w),w};return Object.assign(t,e),t[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");const i=[t,e];return{next(){const r=i.length<=0;return{value:i.shift(),done:r}}}},t}var zL={exports:{}},BL={exports:{}},HL={};/** - * @license React - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */(function(n){function e(k,W){var Y=k.length;k.push(W);e:for(;0>>1,me=k[ie];if(0>>1;ier(ye,Y))Eer(Ue,ye)?(k[ie]=Ue,k[Ee]=Y,ie=Ee):(k[ie]=ye,k[oe]=Y,ie=oe);else if(Eer(Ue,Y))k[ie]=Ue,k[Ee]=Y,ie=Ee;else break e}}return W}function r(k,W){var Y=k.sortIndex-W.sortIndex;return Y!==0?Y:k.id-W.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;n.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();n.unstable_now=function(){return o.now()-a}}var l=[],u=[],d=1,h=null,p=3,m=!1,v=!1,w=!1,x=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function S(k){for(var W=t(u);W!==null;){if(W.callback===null)i(u);else if(W.startTime<=k)i(u),W.sortIndex=W.expirationTime,e(l,W);else break;W=t(u)}}function M(k){if(w=!1,S(k),!v)if(t(l)!==null)v=!0,Z(A);else{var W=t(u);W!==null&&ne(M,W.startTime-k)}}function A(k,W){v=!1,w&&(w=!1,g(O),O=-1),m=!0;var Y=p;try{for(S(W),h=t(l);h!==null&&(!(h.expirationTime>W)||k&&!I());){var ie=h.callback;if(typeof ie=="function"){h.callback=null,p=h.priorityLevel;var me=ie(h.expirationTime<=W);W=n.unstable_now(),typeof me=="function"?h.callback=me:h===t(l)&&i(l),S(W)}else i(l);h=t(l)}if(h!==null)var Re=!0;else{var oe=t(u);oe!==null&&ne(M,oe.startTime-W),Re=!1}return Re}finally{h=null,p=Y,m=!1}}var T=!1,L=null,O=-1,H=5,C=-1;function I(){return!(n.unstable_now()-Ck||125ie?(k.sortIndex=Y,e(u,k),t(l)===null&&k===t(u)&&(w?(g(O),O=-1):w=!0,ne(M,Y-ie))):(k.sortIndex=me,e(l,k),v||m||(v=!0,Z(A))),k},n.unstable_shouldYield=I,n.unstable_wrapCallback=function(k){var W=p;return function(){var Y=p;p=W;try{return k.apply(this,arguments)}finally{p=Y}}}})(HL);BL.exports=HL;var l_=BL.exports;/** - * @license React - * react-reconciler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var C7=function(e){var t={},i=R,r=l_,s=Object.assign;function o(c){for(var f="https://reactjs.org/docs/error-decoder.html?invariant="+c,y=1;yQ||b[B]!==P[Q]){var pe=` -`+b[B].replace(" at new "," at ");return c.displayName&&pe.includes("")&&(pe=pe.replace("",c.displayName)),pe}while(1<=B&&0<=Q);break}}}finally{yt=!1,Error.prepareStackTrace=y}return(c=c?c.displayName||c.name:"")?_t(c):""}var sn=Object.prototype.hasOwnProperty,Jn=[],Jt=-1;function Vn(c){return{current:c}}function ht(c){0>Jt||(c.current=Jn[Jt],Jn[Jt]=null,Jt--)}function Ye(c,f){Jt++,Jn[Jt]=c.current,c.current=f}var _r={},Tt=Vn(_r),vn=Vn(!1),ps=_r;function Sr(c,f){var y=c.type.contextTypes;if(!y)return _r;var E=c.stateNode;if(E&&E.__reactInternalMemoizedUnmaskedChildContext===f)return E.__reactInternalMemoizedMaskedChildContext;var b={},P;for(P in y)b[P]=f[P];return E&&(c=c.stateNode,c.__reactInternalMemoizedUnmaskedChildContext=f,c.__reactInternalMemoizedMaskedChildContext=b),b}function Wn(c){return c=c.childContextTypes,c!=null}function bn(){ht(vn),ht(Tt)}function ms(c,f,y){if(Tt.current!==_r)throw Error(o(168));Ye(Tt,f),Ye(vn,y)}function Bl(c,f,y){var E=c.stateNode;if(f=f.childContextTypes,typeof E.getChildContext!="function")return y;E=E.getChildContext();for(var b in E)if(!(b in f))throw Error(o(108,O(c)||"Unknown",b));return s({},y,E)}function Qn(c){return c=(c=c.stateNode)&&c.__reactInternalMemoizedMergedChildContext||_r,ps=Tt.current,Ye(Tt,c),Ye(vn,vn.current),!0}function Hl(c,f,y){var E=c.stateNode;if(!E)throw Error(o(169));y?(c=Bl(c,f,ps),E.__reactInternalMemoizedMergedChildContext=c,ht(vn),ht(Tt),Ye(Tt,c)):ht(vn),Ye(vn,y)}var Ji=Math.clz32?Math.clz32:v5,mh=Math.log,g5=Math.LN2;function v5(c){return c>>>=0,c===0?32:31-(mh(c)/g5|0)|0}var gh=64,vh=4194304;function zu(c){switch(c&-c){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 c&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return c&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return c}}function yh(c,f){var y=c.pendingLanes;if(y===0)return 0;var E=0,b=c.suspendedLanes,P=c.pingedLanes,B=y&268435455;if(B!==0){var Q=B&~b;Q!==0?E=zu(Q):(P&=B,P!==0&&(E=zu(P)))}else B=y&~b,B!==0?E=zu(B):P!==0&&(E=zu(P));if(E===0)return 0;if(f!==0&&f!==E&&!(f&b)&&(b=E&-E,P=f&-f,b>=P||b===16&&(P&4194240)!==0))return f;if(E&4&&(E|=y&16),f=c.entangledLanes,f!==0)for(c=c.entanglements,f&=E;0y;y++)f.push(c);return f}function Bu(c,f,y){c.pendingLanes|=f,f!==536870912&&(c.suspendedLanes=0,c.pingedLanes=0),c=c.eventTimes,f=31-Ji(f),c[f]=y}function _5(c,f){var y=c.pendingLanes&~f;c.pendingLanes=f,c.suspendedLanes=0,c.pingedLanes=0,c.expiredLanes&=f,c.mutableReadLanes&=f,c.entangledLanes&=f,f=c.entanglements;var E=c.eventTimes;for(c=c.expirationTimes;0>=B,b-=B,Hs=1<<32-Ji(f)+b|y<Ft?(jn=Et,Et=null):jn=Et.sibling;var zt=ot(ae,Et,he[Ft],We);if(zt===null){Et===null&&(Et=jn);break}c&&Et&&zt.alternate===null&&f(ae,Et),te=P(zt,te,Ft),Rt===null?nt=zt:Rt.sibling=zt,Rt=zt,Et=jn}if(Ft===he.length)return y(ae,Et),nn&&Pa(ae,Ft),nt;if(Et===null){for(;FtFt?(jn=Et,Et=null):jn=Et.sibling;var Fo=ot(ae,Et,zt.value,We);if(Fo===null){Et===null&&(Et=jn);break}c&&Et&&Fo.alternate===null&&f(ae,Et),te=P(Fo,te,Ft),Rt===null?nt=Fo:Rt.sibling=Fo,Rt=Fo,Et=jn}if(zt.done)return y(ae,Et),nn&&Pa(ae,Ft),nt;if(Et===null){for(;!zt.done;Ft++,zt=he.next())zt=wt(ae,zt.value,We),zt!==null&&(te=P(zt,te,Ft),Rt===null?nt=zt:Rt.sibling=zt,Rt=zt);return nn&&Pa(ae,Ft),nt}for(Et=E(ae,Et);!zt.done;Ft++,zt=he.next())zt=Xt(Et,ae,Ft,zt.value,We),zt!==null&&(c&&zt.alternate!==null&&Et.delete(zt.key===null?Ft:zt.key),te=P(zt,te,Ft),Rt===null?nt=zt:Rt.sibling=zt,Rt=zt);return c&&Et.forEach(function(sO){return f(ae,sO)}),nn&&Pa(ae,Ft),nt}function Rr(ae,te,he,We){if(typeof he=="object"&&he!==null&&he.type===d&&he.key===null&&(he=he.props.children),typeof he=="object"&&he!==null){switch(he.$$typeof){case l:e:{for(var nt=he.key,Rt=te;Rt!==null;){if(Rt.key===nt){if(nt=he.type,nt===d){if(Rt.tag===7){y(ae,Rt.sibling),te=b(Rt,he.props.children),te.return=ae,ae=te;break e}}else if(Rt.elementType===nt||typeof nt=="object"&&nt!==null&&nt.$$typeof===S&&cE(nt)===Rt.type){y(ae,Rt.sibling),te=b(Rt,he.props),te.ref=Wu(ae,Rt,he),te.return=ae,ae=te;break e}y(ae,Rt);break}else f(ae,Rt);Rt=Rt.sibling}he.type===d?(te=Ua(he.props.children,ae.mode,We,he.key),te.return=ae,ae=te):(We=op(he.type,he.key,he.props,null,ae.mode,We),We.ref=Wu(ae,te,he),We.return=ae,ae=We)}return B(ae);case u:e:{for(Rt=he.key;te!==null;){if(te.key===Rt)if(te.tag===4&&te.stateNode.containerInfo===he.containerInfo&&te.stateNode.implementation===he.implementation){y(ae,te.sibling),te=b(te,he.children||[]),te.return=ae,ae=te;break e}else{y(ae,te);break}else f(ae,te);te=te.sibling}te=jv(he,ae.mode,We),te.return=ae,ae=te}return B(ae);case S:return Rt=he._init,Rr(ae,te,Rt(he._payload),We)}if(J(he))return rt(ae,te,he,We);if(T(he))return li(ae,te,he,We);Rh(ae,he)}return typeof he=="string"&&he!==""||typeof he=="number"?(he=""+he,te!==null&&te.tag===6?(y(ae,te.sibling),te=b(te,he),te.return=ae,ae=te):(y(ae,te),te=Gv(he,ae.mode,We),te.return=ae,ae=te),B(ae)):y(ae,te)}return Rr}var Xl=uE(!0),fE=uE(!1),$u={},br=Vn($u),Gu=Vn($u),Yl=Vn($u);function _s(c){if(c===$u)throw Error(o(174));return c}function cv(c,f){Ye(Yl,f),Ye(Gu,c),Ye(br,$u),c=ne(f),ht(br),Ye(br,c)}function ql(){ht(br),ht(Gu),ht(Yl)}function dE(c){var f=_s(Yl.current),y=_s(br.current);f=k(y,c.type,f),y!==f&&(Ye(Gu,c),Ye(br,f))}function uv(c){Gu.current===c&&(ht(br),ht(Gu))}var on=Vn(0);function Ph(c){for(var f=c;f!==null;){if(f.tag===13){var y=f.memoizedState;if(y!==null&&(y=y.dehydrated,y===null||Uu(y)||Fu(y)))return f}else if(f.tag===19&&f.memoizedProps.revealOrder!==void 0){if(f.flags&128)return f}else if(f.child!==null){f.child.return=f,f=f.child;continue}if(f===c)break;for(;f.sibling===null;){if(f.return===null||f.return===c)return null;f=f.return}f.sibling.return=f.return,f=f.sibling}return null}var fv=[];function dv(){for(var c=0;cy?y:4,c(!0);var E=Tr.transition;Tr.transition={};try{c(!1),f()}finally{Ut=y,Tr.transition=E}}function TE(){return Ss().memoizedState}function I5(c,f,y){var E=No(c);y={lane:E,action:y,hasEagerState:!1,eagerState:null,next:null},CE(c)?AE(f,y):(RE(c,f,y),y=Mi(),c=Cr(c,E,y),c!==null&&PE(c,f,E))}function O5(c,f,y){var E=No(c),b={lane:E,action:y,hasEagerState:!1,eagerState:null,next:null};if(CE(c))AE(f,b);else{RE(c,f,b);var P=c.alternate;if(c.lanes===0&&(P===null||P.lanes===0)&&(P=f.lastRenderedReducer,P!==null))try{var B=f.lastRenderedState,Q=P(B,y);if(b.hasEagerState=!0,b.eagerState=Q,vs(Q,B))return}catch{}finally{}y=Mi(),c=Cr(c,E,y),c!==null&&PE(c,f,E)}}function CE(c){var f=c.alternate;return c===yn||f!==null&&f===yn}function AE(c,f){ju=Ih=!0;var y=c.pending;y===null?f.next=f:(f.next=y.next,y.next=f),c.pending=f}function RE(c,f,y){In!==null&&c.mode&1&&!(Pt&2)?(c=f.interleaved,c===null?(y.next=y,xs===null?xs=[f]:xs.push(f)):(y.next=c.next,c.next=y),f.interleaved=y):(c=f.pending,c===null?y.next=y:(y.next=c.next,c.next=y),f.pending=y)}function PE(c,f,y){if(y&4194240){var E=f.lanes;E&=c.pendingLanes,y|=E,f.lanes=y,j0(c,y)}}var Uh={readContext:wr,useCallback:oi,useContext:oi,useEffect:oi,useImperativeHandle:oi,useInsertionEffect:oi,useLayoutEffect:oi,useMemo:oi,useReducer:oi,useRef:oi,useState:oi,useDebugValue:oi,useDeferredValue:oi,useTransition:oi,useMutableSource:oi,useSyncExternalStore:oi,useId:oi,unstable_isNewReconciler:!1},D5={readContext:wr,useCallback:function(c,f){return Ws().memoizedState=[c,f===void 0?null:f],c},useContext:wr,useEffect:vv,useImperativeHandle:function(c,f,y){return y=y!=null?y.concat([c]):null,Nh(4194308,4,wE.bind(null,f,c),y)},useLayoutEffect:function(c,f){return Nh(4194308,4,c,f)},useInsertionEffect:function(c,f){return Nh(4,2,c,f)},useMemo:function(c,f){var y=Ws();return f=f===void 0?null:f,c=c(),y.memoizedState=[c,f],c},useReducer:function(c,f,y){var E=Ws();return f=y!==void 0?y(f):f,E.memoizedState=E.baseState=f,c={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:c,lastRenderedState:f},E.queue=c,c=c.dispatch=I5.bind(null,yn,c),[E.memoizedState,c]},useRef:function(c){var f=Ws();return c={current:c},f.memoizedState=c},useState:gv,useDebugValue:yv,useDeferredValue:function(c){var f=gv(c),y=f[0],E=f[1];return vv(function(){var b=Tr.transition;Tr.transition={};try{E(c)}finally{Tr.transition=b}},[c]),y},useTransition:function(){var c=gv(!1),f=c[0];return c=L5.bind(null,c[1]),Ws().memoizedState=c,[f,c]},useMutableSource:function(){},useSyncExternalStore:function(c,f,y){var E=yn,b=Ws();if(nn){if(y===void 0)throw Error(o(407));y=y()}else{if(y=f(),In===null)throw Error(o(349));Zl&30||mE(E,f,y)}b.memoizedState=y;var P={value:y,getSnapshot:f};return b.queue=P,vv(vE.bind(null,E,P,c),[c]),E.flags|=2048,Yu(9,gE.bind(null,E,P,y,f),void 0,null),y},useId:function(){var c=Ws(),f=In.identifierPrefix;if(nn){var y=Vs,E=Hs;y=(E&~(1<<32-Ji(E)-1)).toString(32)+y,f=":"+f+"R"+y,y=Xu++,0Uv&&(f.flags|=128,E=!0,Ju(b,!1),f.lanes=4194304)}else{if(!E)if(c=Ph(P),c!==null){if(f.flags|=128,E=!0,c=c.updateQueue,c!==null&&(f.updateQueue=c,f.flags|=4),Ju(b,!0),b.tail===null&&b.tailMode==="hidden"&&!P.alternate&&!nn)return ai(f),null}else 2*$n()-b.renderingStartTime>Uv&&y!==1073741824&&(f.flags|=128,E=!0,Ju(b,!1),f.lanes=4194304);b.isBackwards?(P.sibling=f.child,f.child=P):(c=b.last,c!==null?c.sibling=P:f.child=P,b.last=P)}return b.tail!==null?(f=b.tail,b.rendering=f,b.tail=f.sibling,b.renderingStartTime=$n(),f.sibling=null,c=on.current,Ye(on,E?c&1|2:c&1),f):(ai(f),null);case 22:case 23:return Vv(),E=f.memoizedState!==null,c!==null&&c.memoizedState!==null!==E&&(f.flags|=8192),E&&f.mode&1?nr&1073741824&&(ai(f),Ve&&f.subtreeFlags&6&&(f.flags|=8192)):ai(f),null;case 24:return null;case 25:return null}throw Error(o(156,f.tag))}var z5=a.ReactCurrentOwner,tr=!1;function Ei(c,f,y,E){f.child=c===null?fE(f,null,y,E):Xl(f,c.child,y,E)}function FE(c,f,y,E,b){y=y.render;var P=f.ref;return Wl(f,b),E=pv(c,f,y,E,P,b),y=mv(),c!==null&&!tr?(f.updateQueue=c.updateQueue,f.flags&=-2053,c.lanes&=~b,$s(c,f,b)):(nn&&y&&rv(f),f.flags|=1,Ei(c,f,E,b),f.child)}function zE(c,f,y,E,b){if(c===null){var P=y.type;return typeof P=="function"&&!$v(P)&&P.defaultProps===void 0&&y.compare===null&&y.defaultProps===void 0?(f.tag=15,f.type=P,BE(c,f,P,E,b)):(c=op(y.type,null,E,f,f.mode,b),c.ref=f.ref,c.return=f,f.child=c)}if(P=c.child,!(c.lanes&b)){var B=P.memoizedProps;if(y=y.compare,y=y!==null?y:Sh,y(B,E)&&c.ref===f.ref)return $s(c,f,b)}return f.flags|=1,c=Uo(P,E),c.ref=f.ref,c.return=f,f.child=c}function BE(c,f,y,E,b){if(c!==null&&Sh(c.memoizedProps,E)&&c.ref===f.ref)if(tr=!1,(c.lanes&b)!==0)c.flags&131072&&(tr=!0);else return f.lanes=c.lanes,$s(c,f,b);return Sv(c,f,y,E,b)}function HE(c,f,y){var E=f.pendingProps,b=E.children,P=c!==null?c.memoizedState:null;if(E.mode==="hidden")if(!(f.mode&1))f.memoizedState={baseLanes:0,cachePool:null},Ye(Kl,nr),nr|=y;else if(y&1073741824)f.memoizedState={baseLanes:0,cachePool:null},E=P!==null?P.baseLanes:y,Ye(Kl,nr),nr|=E;else return c=P!==null?P.baseLanes|y:y,f.lanes=f.childLanes=1073741824,f.memoizedState={baseLanes:c,cachePool:null},f.updateQueue=null,Ye(Kl,nr),nr|=c,null;else P!==null?(E=P.baseLanes|y,f.memoizedState=null):E=y,Ye(Kl,nr),nr|=E;return Ei(c,f,b,y),f.child}function VE(c,f){var y=f.ref;(c===null&&y!==null||c!==null&&c.ref!==y)&&(f.flags|=512,f.flags|=2097152)}function Sv(c,f,y,E,b){var P=Wn(y)?ps:Tt.current;return P=Sr(f,P),Wl(f,b),y=pv(c,f,y,E,P,b),E=mv(),c!==null&&!tr?(f.updateQueue=c.updateQueue,f.flags&=-2053,c.lanes&=~b,$s(c,f,b)):(nn&&E&&rv(f),f.flags|=1,Ei(c,f,y,b),f.child)}function WE(c,f,y,E,b){if(Wn(y)){var P=!0;Qn(f)}else P=!1;if(Wl(f,b),f.stateNode===null)c!==null&&(c.alternate=null,f.alternate=null,f.flags|=2),iE(f,y,E),iv(f,y,E,b),E=!0;else if(c===null){var B=f.stateNode,Q=f.memoizedProps;B.props=Q;var pe=B.context,Ae=y.contextType;typeof Ae=="object"&&Ae!==null?Ae=wr(Ae):(Ae=Wn(y)?ps:Tt.current,Ae=Sr(f,Ae));var Ze=y.getDerivedStateFromProps,wt=typeof Ze=="function"||typeof B.getSnapshotBeforeUpdate=="function";wt||typeof B.UNSAFE_componentWillReceiveProps!="function"&&typeof B.componentWillReceiveProps!="function"||(Q!==E||pe!==Ae)&&rE(f,B,E,Ae),Lo=!1;var ot=f.memoizedState;B.state=ot,bh(f,E,B,b),pe=f.memoizedState,Q!==E||ot!==pe||vn.current||Lo?(typeof Ze=="function"&&(nv(f,y,Ze,E),pe=f.memoizedState),(Q=Lo||nE(f,y,Q,E,ot,pe,Ae))?(wt||typeof B.UNSAFE_componentWillMount!="function"&&typeof B.componentWillMount!="function"||(typeof B.componentWillMount=="function"&&B.componentWillMount(),typeof B.UNSAFE_componentWillMount=="function"&&B.UNSAFE_componentWillMount()),typeof B.componentDidMount=="function"&&(f.flags|=4194308)):(typeof B.componentDidMount=="function"&&(f.flags|=4194308),f.memoizedProps=E,f.memoizedState=pe),B.props=E,B.state=pe,B.context=Ae,E=Q):(typeof B.componentDidMount=="function"&&(f.flags|=4194308),E=!1)}else{B=f.stateNode,Jw(c,f),Q=f.memoizedProps,Ae=f.type===f.elementType?Q:Xr(f.type,Q),B.props=Ae,wt=f.pendingProps,ot=B.context,pe=y.contextType,typeof pe=="object"&&pe!==null?pe=wr(pe):(pe=Wn(y)?ps:Tt.current,pe=Sr(f,pe));var Xt=y.getDerivedStateFromProps;(Ze=typeof Xt=="function"||typeof B.getSnapshotBeforeUpdate=="function")||typeof B.UNSAFE_componentWillReceiveProps!="function"&&typeof B.componentWillReceiveProps!="function"||(Q!==wt||ot!==pe)&&rE(f,B,E,pe),Lo=!1,ot=f.memoizedState,B.state=ot,bh(f,E,B,b);var rt=f.memoizedState;Q!==wt||ot!==rt||vn.current||Lo?(typeof Xt=="function"&&(nv(f,y,Xt,E),rt=f.memoizedState),(Ae=Lo||nE(f,y,Ae,E,ot,rt,pe)||!1)?(Ze||typeof B.UNSAFE_componentWillUpdate!="function"&&typeof B.componentWillUpdate!="function"||(typeof B.componentWillUpdate=="function"&&B.componentWillUpdate(E,rt,pe),typeof B.UNSAFE_componentWillUpdate=="function"&&B.UNSAFE_componentWillUpdate(E,rt,pe)),typeof B.componentDidUpdate=="function"&&(f.flags|=4),typeof B.getSnapshotBeforeUpdate=="function"&&(f.flags|=1024)):(typeof B.componentDidUpdate!="function"||Q===c.memoizedProps&&ot===c.memoizedState||(f.flags|=4),typeof B.getSnapshotBeforeUpdate!="function"||Q===c.memoizedProps&&ot===c.memoizedState||(f.flags|=1024),f.memoizedProps=E,f.memoizedState=rt),B.props=E,B.state=rt,B.context=pe,E=Ae):(typeof B.componentDidUpdate!="function"||Q===c.memoizedProps&&ot===c.memoizedState||(f.flags|=4),typeof B.getSnapshotBeforeUpdate!="function"||Q===c.memoizedProps&&ot===c.memoizedState||(f.flags|=1024),E=!1)}return wv(c,f,y,E,P,b)}function wv(c,f,y,E,b,P){VE(c,f);var B=(f.flags&128)!==0;if(!E&&!B)return b&&Hl(f,y,!1),$s(c,f,P);E=f.stateNode,z5.current=f;var Q=B&&typeof y.getDerivedStateFromError!="function"?null:E.render();return f.flags|=1,c!==null&&B?(f.child=Xl(f,c.child,null,P),f.child=Xl(f,null,Q,P)):Ei(c,f,Q,P),f.memoizedState=E.state,b&&Hl(f,y,!0),f.child}function $E(c){var f=c.stateNode;f.pendingContext?ms(c,f.pendingContext,f.pendingContext!==f.context):f.context&&ms(c,f.context,!1),cv(c,f.containerInfo)}function GE(c,f,y,E,b){return jl(),lv(b),f.flags|=256,Ei(c,f,y,E),f.child}var Bh={dehydrated:null,treeContext:null,retryLane:0};function Hh(c){return{baseLanes:c,cachePool:null}}function jE(c,f,y){var E=f.pendingProps,b=on.current,P=!1,B=(f.flags&128)!==0,Q;if((Q=B)||(Q=c!==null&&c.memoizedState===null?!1:(b&2)!==0),Q?(P=!0,f.flags&=-129):(c===null||c.memoizedState!==null)&&(b|=1),Ye(on,b&1),c===null)return av(f),c=f.memoizedState,c!==null&&(c=c.dehydrated,c!==null)?(f.mode&1?Fu(c)?f.lanes=8:f.lanes=1073741824:f.lanes=1,null):(b=E.children,c=E.fallback,P?(E=f.mode,P=f.child,b={mode:"hidden",children:b},!(E&1)&&P!==null?(P.childLanes=0,P.pendingProps=b):P=ap(b,E,0,null),c=Ua(c,E,y,null),P.return=f,c.return=f,P.sibling=c,f.child=P,f.child.memoizedState=Hh(y),f.memoizedState=Bh,c):Ev(f,b));if(b=c.memoizedState,b!==null){if(Q=b.dehydrated,Q!==null){if(B)return f.flags&256?(f.flags&=-257,Vh(c,f,y,Error(o(422)))):f.memoizedState!==null?(f.child=c.child,f.flags|=128,null):(P=E.fallback,b=f.mode,E=ap({mode:"visible",children:E.children},b,0,null),P=Ua(P,b,y,null),P.flags|=2,E.return=f,P.return=f,E.sibling=P,f.child=E,f.mode&1&&Xl(f,c.child,null,y),f.child.memoizedState=Hh(y),f.memoizedState=Bh,P);if(!(f.mode&1))f=Vh(c,f,y,null);else if(Fu(Q))f=Vh(c,f,y,Error(o(419)));else if(E=(y&c.childLanes)!==0,tr||E){if(E=In,E!==null){switch(y&-y){case 4:P=2;break;case 16:P=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:P=32;break;case 536870912:P=268435456;break;default:P=0}E=P&(E.suspendedLanes|y)?0:P,E!==0&&E!==b.retryLane&&(b.retryLane=E,Cr(c,E,-1))}Wv(),f=Vh(c,f,y,Error(o(421)))}else Uu(Q)?(f.flags|=128,f.child=c.child,f=J5.bind(null,c),Fl(Q,f),f=null):(y=b.treeContext,we&&(er=ph(Q),Qi=f,nn=!0,Yr=null,Hu=!1,y!==null&&(Er[Mr++]=Hs,Er[Mr++]=Vs,Er[Mr++]=Ra,Hs=y.id,Vs=y.overflow,Ra=f)),f=Ev(f,f.pendingProps.children),f.flags|=4096);return f}return P?(E=YE(c,f,E.children,E.fallback,y),P=f.child,b=c.child.memoizedState,P.memoizedState=b===null?Hh(y):{baseLanes:b.baseLanes|y,cachePool:null},P.childLanes=c.childLanes&~y,f.memoizedState=Bh,E):(y=XE(c,f,E.children,y),f.memoizedState=null,y)}return P?(E=YE(c,f,E.children,E.fallback,y),P=f.child,b=c.child.memoizedState,P.memoizedState=b===null?Hh(y):{baseLanes:b.baseLanes|y,cachePool:null},P.childLanes=c.childLanes&~y,f.memoizedState=Bh,E):(y=XE(c,f,E.children,y),f.memoizedState=null,y)}function Ev(c,f){return f=ap({mode:"visible",children:f},c.mode,0,null),f.return=c,c.child=f}function XE(c,f,y,E){var b=c.child;return c=b.sibling,y=Uo(b,{mode:"visible",children:y}),!(f.mode&1)&&(y.lanes=E),y.return=f,y.sibling=null,c!==null&&(E=f.deletions,E===null?(f.deletions=[c],f.flags|=16):E.push(c)),f.child=y}function YE(c,f,y,E,b){var P=f.mode;c=c.child;var B=c.sibling,Q={mode:"hidden",children:y};return!(P&1)&&f.child!==c?(y=f.child,y.childLanes=0,y.pendingProps=Q,f.deletions=null):(y=Uo(c,Q),y.subtreeFlags=c.subtreeFlags&14680064),B!==null?E=Uo(B,E):(E=Ua(E,P,b,null),E.flags|=2),E.return=f,y.return=f,y.sibling=E,f.child=y,E}function Vh(c,f,y,E){return E!==null&&lv(E),Xl(f,c.child,null,y),c=Ev(f,f.pendingProps.children),c.flags|=2,f.memoizedState=null,c}function qE(c,f,y){c.lanes|=f;var E=c.alternate;E!==null&&(E.lanes|=f),ev(c.return,f,y)}function Mv(c,f,y,E,b){var P=c.memoizedState;P===null?c.memoizedState={isBackwards:f,rendering:null,renderingStartTime:0,last:E,tail:y,tailMode:b}:(P.isBackwards=f,P.rendering=null,P.renderingStartTime=0,P.last=E,P.tail=y,P.tailMode=b)}function ZE(c,f,y){var E=f.pendingProps,b=E.revealOrder,P=E.tail;if(Ei(c,f,E.children,y),E=on.current,E&2)E=E&1|2,f.flags|=128;else{if(c!==null&&c.flags&128)e:for(c=f.child;c!==null;){if(c.tag===13)c.memoizedState!==null&&qE(c,y,f);else if(c.tag===19)qE(c,y,f);else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===f)break e;for(;c.sibling===null;){if(c.return===null||c.return===f)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}E&=1}if(Ye(on,E),!(f.mode&1))f.memoizedState=null;else switch(b){case"forwards":for(y=f.child,b=null;y!==null;)c=y.alternate,c!==null&&Ph(c)===null&&(b=y),y=y.sibling;y=b,y===null?(b=f.child,f.child=null):(b=y.sibling,y.sibling=null),Mv(f,!1,b,y,P);break;case"backwards":for(y=null,b=f.child,f.child=null;b!==null;){if(c=b.alternate,c!==null&&Ph(c)===null){f.child=b;break}c=b.sibling,b.sibling=y,y=b,b=c}Mv(f,!0,y,null,P);break;case"together":Mv(f,!1,null,null,void 0);break;default:f.memoizedState=null}return f.child}function $s(c,f,y){if(c!==null&&(f.dependencies=c.dependencies),Jl|=f.lanes,!(y&f.childLanes))return null;if(c!==null&&f.child!==c.child)throw Error(o(153));if(f.child!==null){for(c=f.child,y=Uo(c,c.pendingProps),f.child=y,y.return=f;c.sibling!==null;)c=c.sibling,y=y.sibling=Uo(c,c.pendingProps),y.return=f;y.sibling=null}return f.child}function B5(c,f,y){switch(f.tag){case 3:$E(f),jl();break;case 5:dE(f);break;case 1:Wn(f.type)&&Qn(f);break;case 4:cv(f,f.stateNode.containerInfo);break;case 10:Kw(f,f.type._context,f.memoizedProps.value);break;case 13:var E=f.memoizedState;if(E!==null)return E.dehydrated!==null?(Ye(on,on.current&1),f.flags|=128,null):y&f.child.childLanes?jE(c,f,y):(Ye(on,on.current&1),c=$s(c,f,y),c!==null?c.sibling:null);Ye(on,on.current&1);break;case 19:if(E=(y&f.childLanes)!==0,c.flags&128){if(E)return ZE(c,f,y);f.flags|=128}var b=f.memoizedState;if(b!==null&&(b.rendering=null,b.tail=null,b.lastEffect=null),Ye(on,on.current),E)break;return null;case 22:case 23:return f.lanes=0,HE(c,f,y)}return $s(c,f,y)}function H5(c,f){switch(sv(f),f.tag){case 1:return Wn(f.type)&&bn(),c=f.flags,c&65536?(f.flags=c&-65537|128,f):null;case 3:return ql(),ht(vn),ht(Tt),dv(),c=f.flags,c&65536&&!(c&128)?(f.flags=c&-65537|128,f):null;case 5:return uv(f),null;case 13:if(ht(on),c=f.memoizedState,c!==null&&c.dehydrated!==null){if(f.alternate===null)throw Error(o(340));jl()}return c=f.flags,c&65536?(f.flags=c&-65537|128,f):null;case 19:return ht(on),null;case 4:return ql(),null;case 10:return Q0(f.type._context),null;case 22:case 23:return Vv(),null;case 24:return null;default:return null}}var Wh=!1,Ia=!1,V5=typeof WeakSet=="function"?WeakSet:Set,He=null;function $h(c,f){var y=c.ref;if(y!==null)if(typeof y=="function")try{y(null)}catch(E){Hi(c,f,E)}else y.current=null}function bv(c,f,y){try{y()}catch(E){Hi(c,f,E)}}var KE=!1;function W5(c,f){for(W(c.containerInfo),He=f;He!==null;)if(c=He,f=c.child,(c.subtreeFlags&1028)!==0&&f!==null)f.return=c,He=f;else for(;He!==null;){c=He;try{var y=c.alternate;if(c.flags&1024)switch(c.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var E=y.memoizedProps,b=y.memoizedState,P=c.stateNode,B=P.getSnapshotBeforeUpdate(c.elementType===c.type?E:Xr(c.type,E),b);P.__reactInternalSnapshotBeforeUpdate=B}break;case 3:Ve&&Ie(c.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(Q){Hi(c,c.return,Q)}if(f=c.sibling,f!==null){f.return=c.return,He=f;break}He=c.return}return y=KE,KE=!1,y}function Oa(c,f,y){var E=f.updateQueue;if(E=E!==null?E.lastEffect:null,E!==null){var b=E=E.next;do{if((b.tag&c)===c){var P=b.destroy;b.destroy=void 0,P!==void 0&&bv(f,y,P)}b=b.next}while(b!==E)}}function Qu(c,f){if(f=f.updateQueue,f=f!==null?f.lastEffect:null,f!==null){var y=f=f.next;do{if((y.tag&c)===c){var E=y.create;y.destroy=E()}y=y.next}while(y!==f)}}function Tv(c){var f=c.ref;if(f!==null){var y=c.stateNode;switch(c.tag){case 5:c=Z(y);break;default:c=y}typeof f=="function"?f(c):f.current=c}}function JE(c,f,y){if(gs&&typeof gs.onCommitFiberUnmount=="function")try{gs.onCommitFiberUnmount(xh,f)}catch{}switch(f.tag){case 0:case 11:case 14:case 15:if(c=f.updateQueue,c!==null&&(c=c.lastEffect,c!==null)){var E=c=c.next;do{var b=E,P=b.destroy;b=b.tag,P!==void 0&&(b&2||b&4)&&bv(f,y,P),E=E.next}while(E!==c)}break;case 1:if($h(f,y),c=f.stateNode,typeof c.componentWillUnmount=="function")try{c.props=f.memoizedProps,c.state=f.memoizedState,c.componentWillUnmount()}catch(B){Hi(f,y,B)}break;case 5:$h(f,y);break;case 4:Ve?rM(c,f,y):V&&V&&(f=f.stateNode.containerInfo,y=Pe(f),Ot(f,y))}}function QE(c,f,y){for(var E=f;;)if(JE(c,E,y),E.child===null||Ve&&E.tag===4){if(E===f)break;for(;E.sibling===null;){if(E.return===null||E.return===f)return;E=E.return}E.sibling.return=E.return,E=E.sibling}else E.child.return=E,E=E.child}function eM(c){var f=c.alternate;f!==null&&(c.alternate=null,eM(f)),c.child=null,c.deletions=null,c.sibling=null,c.tag===5&&(f=c.stateNode,f!==null&&Be(f)),c.stateNode=null,c.return=null,c.dependencies=null,c.memoizedProps=null,c.memoizedState=null,c.pendingProps=null,c.stateNode=null,c.updateQueue=null}function tM(c){return c.tag===5||c.tag===3||c.tag===4}function nM(c){e:for(;;){for(;c.sibling===null;){if(c.return===null||tM(c.return))return null;c=c.return}for(c.sibling.return=c.return,c=c.sibling;c.tag!==5&&c.tag!==6&&c.tag!==18;){if(c.flags&2||c.child===null||c.tag===4)continue e;c.child.return=c,c=c.child}if(!(c.flags&2))return c.stateNode}}function iM(c){if(Ve){e:{for(var f=c.return;f!==null;){if(tM(f))break e;f=f.return}throw Error(o(160))}var y=f;switch(y.tag){case 5:f=y.stateNode,y.flags&32&&(ue(f),y.flags&=-33),y=nM(c),Av(c,y,f);break;case 3:case 4:f=y.stateNode.containerInfo,y=nM(c),Cv(c,y,f);break;default:throw Error(o(161))}}}function Cv(c,f,y){var E=c.tag;if(E===5||E===6)c=c.stateNode,f?vt(y,c,f):Te(y,c);else if(E!==4&&(c=c.child,c!==null))for(Cv(c,f,y),c=c.sibling;c!==null;)Cv(c,f,y),c=c.sibling}function Av(c,f,y){var E=c.tag;if(E===5||E===6)c=c.stateNode,f?Bt(y,c,f):tt(y,c);else if(E!==4&&(c=c.child,c!==null))for(Av(c,f,y),c=c.sibling;c!==null;)Av(c,f,y),c=c.sibling}function rM(c,f,y){for(var E=f,b=!1,P,B;;){if(!b){b=E.return;e:for(;;){if(b===null)throw Error(o(160));switch(P=b.stateNode,b.tag){case 5:B=!1;break e;case 3:P=P.containerInfo,B=!0;break e;case 4:P=P.containerInfo,B=!0;break e}b=b.return}b=!0}if(E.tag===5||E.tag===6)QE(c,E,y),B?$(P,E.stateNode):Je(P,E.stateNode);else if(E.tag===18)B?le(P,E.stateNode):de(P,E.stateNode);else if(E.tag===4){if(E.child!==null){P=E.stateNode.containerInfo,B=!0,E.child.return=E,E=E.child;continue}}else if(JE(c,E,y),E.child!==null){E.child.return=E,E=E.child;continue}if(E===f)break;for(;E.sibling===null;){if(E.return===null||E.return===f)return;E=E.return,E.tag===4&&(b=!1)}E.sibling.return=E.return,E=E.sibling}}function Rv(c,f){if(Ve){switch(f.tag){case 0:case 11:case 14:case 15:Oa(3,f,f.return),Qu(3,f),Oa(5,f,f.return);return;case 1:return;case 5:var y=f.stateNode;if(y!=null){var E=f.memoizedProps;c=c!==null?c.memoizedProps:E;var b=f.type,P=f.updateQueue;f.updateQueue=null,P!==null&&Ce(y,P,b,c,E,f)}return;case 6:if(f.stateNode===null)throw Error(o(162));y=f.memoizedProps,De(f.stateNode,c!==null?c.memoizedProps:y,y);return;case 3:we&&c!==null&&c.memoizedState.isDehydrated&&se(f.stateNode.containerInfo);return;case 12:return;case 13:Gh(f);return;case 19:Gh(f);return;case 17:return}throw Error(o(163))}switch(f.tag){case 0:case 11:case 14:case 15:Oa(3,f,f.return),Qu(3,f),Oa(5,f,f.return);return;case 12:return;case 13:Gh(f);return;case 19:Gh(f);return;case 3:we&&c!==null&&c.memoizedState.isDehydrated&&se(f.stateNode.containerInfo);break;case 22:case 23:return}e:if(V){switch(f.tag){case 1:case 5:case 6:break e;case 3:case 4:f=f.stateNode,Ot(f.containerInfo,f.pendingChildren);break e}throw Error(o(163))}}function Gh(c){var f=c.updateQueue;if(f!==null){c.updateQueue=null;var y=c.stateNode;y===null&&(y=c.stateNode=new V5),f.forEach(function(E){var b=Q5.bind(null,c,E);y.has(E)||(y.add(E),E.then(b,b))})}}function $5(c,f){for(He=f;He!==null;){f=He;var y=f.deletions;if(y!==null)for(var E=0;E";case Xh:return":has("+(Iv(c)||"")+")";case Yh:return'[role="'+c.value+'"]';case Zh:return'"'+c.value+'"';case qh:return'[data-testname="'+c.value+'"]';default:throw Error(o(365))}}function cM(c,f){var y=[];c=[c,0];for(var E=0;Eb&&(b=B),E&=~P}if(E=b,E=$n()-E,E=(120>E?120:480>E?480:1080>E?1080:1920>E?1920:3e3>E?3e3:4320>E?4320:1960*j5(E/1960))-E,10c?16:c,Do===null)var E=!1;else{if(c=Do,Do=null,tp=0,Pt&6)throw Error(o(331));var b=Pt;for(Pt|=4,He=c.current;He!==null;){var P=He,B=P.child;if(He.flags&16){var Q=P.deletions;if(Q!==null){for(var pe=0;pe$n()-kv?Da(c,0):Nv|=y),Bi(c,f)}function yM(c,f){f===0&&(c.mode&1?(f=vh,vh<<=1,!(vh&130023424)&&(vh=4194304)):f=1);var y=Mi();c=rp(c,f),c!==null&&(Bu(c,f,y),Bi(c,y))}function J5(c){var f=c.memoizedState,y=0;f!==null&&(y=f.retryLane),yM(c,y)}function Q5(c,f){var y=0;switch(c.tag){case 13:var E=c.stateNode,b=c.memoizedState;b!==null&&(y=b.retryLane);break;case 19:E=c.stateNode;break;default:throw Error(o(314))}E!==null&&E.delete(f),yM(c,y)}var xM;xM=function(c,f,y){if(c!==null)if(c.memoizedProps!==f.pendingProps||vn.current)tr=!0;else{if(!(c.lanes&y)&&!(f.flags&128))return tr=!1,B5(c,f,y);tr=!!(c.flags&131072)}else tr=!1,nn&&f.flags&1048576&&sE(f,Ah,f.index);switch(f.lanes=0,f.tag){case 2:var E=f.type;c!==null&&(c.alternate=null,f.alternate=null,f.flags|=2),c=f.pendingProps;var b=Sr(f,Tt.current);Wl(f,y),b=pv(null,f,E,c,b,y);var P=mv();return f.flags|=1,typeof b=="object"&&b!==null&&typeof b.render=="function"&&b.$$typeof===void 0?(f.tag=1,f.memoizedState=null,f.updateQueue=null,Wn(E)?(P=!0,Qn(f)):P=!1,f.memoizedState=b.state!==null&&b.state!==void 0?b.state:null,tv(f),b.updater=Th,f.stateNode=b,b._reactInternals=f,iv(f,E,c,y),f=wv(null,f,E,!0,P,y)):(f.tag=0,nn&&P&&rv(f),Ei(null,f,b,y),f=f.child),f;case 16:E=f.elementType;e:{switch(c!==null&&(c.alternate=null,f.alternate=null,f.flags|=2),c=f.pendingProps,b=E._init,E=b(E._payload),f.type=E,b=f.tag=tO(E),c=Xr(E,c),b){case 0:f=Sv(null,f,E,c,y);break e;case 1:f=WE(null,f,E,c,y);break e;case 11:f=FE(null,f,E,c,y);break e;case 14:f=zE(null,f,E,Xr(E.type,c),y);break e}throw Error(o(306,E,""))}return f;case 0:return E=f.type,b=f.pendingProps,b=f.elementType===E?b:Xr(E,b),Sv(c,f,E,b,y);case 1:return E=f.type,b=f.pendingProps,b=f.elementType===E?b:Xr(E,b),WE(c,f,E,b,y);case 3:e:{if($E(f),c===null)throw Error(o(387));E=f.pendingProps,P=f.memoizedState,b=P.element,Jw(c,f),bh(f,E,null,y);var B=f.memoizedState;if(E=B.element,we&&P.isDehydrated)if(P={element:E,isDehydrated:!1,cache:B.cache,transitions:B.transitions},f.updateQueue.baseState=P,f.memoizedState=P,f.flags&256){b=Error(o(423)),f=GE(c,f,E,y,b);break e}else if(E!==b){b=Error(o(424)),f=GE(c,f,E,y,b);break e}else for(we&&(er=hh(f.stateNode.containerInfo),Qi=f,nn=!0,Yr=null,Hu=!1),y=fE(f,null,E,y),f.child=y;y;)y.flags=y.flags&-3|4096,y=y.sibling;else{if(jl(),E===b){f=$s(c,f,y);break e}Ei(c,f,E,y)}f=f.child}return f;case 5:return dE(f),c===null&&av(f),E=f.type,b=f.pendingProps,P=c!==null?c.memoizedProps:null,B=b.children,ye(E,b)?B=null:P!==null&&ye(E,P)&&(f.flags|=32),VE(c,f),Ei(c,f,B,y),f.child;case 6:return c===null&&av(f),null;case 13:return jE(c,f,y);case 4:return cv(f,f.stateNode.containerInfo),E=f.pendingProps,c===null?f.child=Xl(f,null,E,y):Ei(c,f,E,y),f.child;case 11:return E=f.type,b=f.pendingProps,b=f.elementType===E?b:Xr(E,b),FE(c,f,E,b,y);case 7:return Ei(c,f,f.pendingProps,y),f.child;case 8:return Ei(c,f,f.pendingProps.children,y),f.child;case 12:return Ei(c,f,f.pendingProps.children,y),f.child;case 10:e:{if(E=f.type._context,b=f.pendingProps,P=f.memoizedProps,B=b.value,Kw(f,E,B),P!==null)if(vs(P.value,B)){if(P.children===b.children&&!vn.current){f=$s(c,f,y);break e}}else for(P=f.child,P!==null&&(P.return=f);P!==null;){var Q=P.dependencies;if(Q!==null){B=P.child;for(var pe=Q.firstContext;pe!==null;){if(pe.context===E){if(P.tag===1){pe=Bs(-1,y&-y),pe.tag=2;var Ae=P.updateQueue;if(Ae!==null){Ae=Ae.shared;var Ze=Ae.pending;Ze===null?pe.next=pe:(pe.next=Ze.next,Ze.next=pe),Ae.pending=pe}}P.lanes|=y,pe=P.alternate,pe!==null&&(pe.lanes|=y),ev(P.return,y,f),Q.lanes|=y;break}pe=pe.next}}else if(P.tag===10)B=P.type===f.type?null:P.child;else if(P.tag===18){if(B=P.return,B===null)throw Error(o(341));B.lanes|=y,Q=B.alternate,Q!==null&&(Q.lanes|=y),ev(B,y,f),B=P.sibling}else B=P.child;if(B!==null)B.return=P;else for(B=P;B!==null;){if(B===f){B=null;break}if(P=B.sibling,P!==null){P.return=B.return,B=P;break}B=B.return}P=B}Ei(c,f,b.children,y),f=f.child}return f;case 9:return b=f.type,E=f.pendingProps.children,Wl(f,y),b=wr(b),E=E(b),f.flags|=1,Ei(c,f,E,y),f.child;case 14:return E=f.type,b=Xr(E,f.pendingProps),b=Xr(E.type,b),zE(c,f,E,b,y);case 15:return BE(c,f,f.type,f.pendingProps,y);case 17:return E=f.type,b=f.pendingProps,b=f.elementType===E?b:Xr(E,b),c!==null&&(c.alternate=null,f.alternate=null,f.flags|=2),f.tag=1,Wn(E)?(c=!0,Qn(f)):c=!1,Wl(f,y),iE(f,E,b),iv(f,E,b,y),wv(null,f,E,!0,c,y);case 19:return ZE(c,f,y);case 22:return HE(c,f,y)}throw Error(o(156,f.tag))};function _M(c,f){return X0(c,f)}function eO(c,f,y,E){this.tag=c,this.key=y,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=f,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=E,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ar(c,f,y,E){return new eO(c,f,y,E)}function $v(c){return c=c.prototype,!(!c||!c.isReactComponent)}function tO(c){if(typeof c=="function")return $v(c)?1:0;if(c!=null){if(c=c.$$typeof,c===w)return 11;if(c===_)return 14}return 2}function Uo(c,f){var y=c.alternate;return y===null?(y=Ar(c.tag,f,c.key,c.mode),y.elementType=c.elementType,y.type=c.type,y.stateNode=c.stateNode,y.alternate=c,c.alternate=y):(y.pendingProps=f,y.type=c.type,y.flags=0,y.subtreeFlags=0,y.deletions=null),y.flags=c.flags&14680064,y.childLanes=c.childLanes,y.lanes=c.lanes,y.child=c.child,y.memoizedProps=c.memoizedProps,y.memoizedState=c.memoizedState,y.updateQueue=c.updateQueue,f=c.dependencies,y.dependencies=f===null?null:{lanes:f.lanes,firstContext:f.firstContext},y.sibling=c.sibling,y.index=c.index,y.ref=c.ref,y}function op(c,f,y,E,b,P){var B=2;if(E=c,typeof c=="function")$v(c)&&(B=1);else if(typeof c=="string")B=5;else e:switch(c){case d:return Ua(y.children,b,P,f);case h:B=8,b|=8;break;case p:return c=Ar(12,y,f,b|2),c.elementType=p,c.lanes=P,c;case x:return c=Ar(13,y,f,b),c.elementType=x,c.lanes=P,c;case g:return c=Ar(19,y,f,b),c.elementType=g,c.lanes=P,c;case M:return ap(y,b,P,f);default:if(typeof c=="object"&&c!==null)switch(c.$$typeof){case m:B=10;break e;case v:B=9;break e;case w:B=11;break e;case _:B=14;break e;case S:B=16,E=null;break e}throw Error(o(130,c==null?c:typeof c,""))}return f=Ar(B,y,f,b),f.elementType=c,f.type=E,f.lanes=P,f}function Ua(c,f,y,E){return c=Ar(7,c,E,f),c.lanes=y,c}function ap(c,f,y,E){return c=Ar(22,c,E,f),c.elementType=M,c.lanes=y,c.stateNode={},c}function Gv(c,f,y){return c=Ar(6,c,null,f),c.lanes=y,c}function jv(c,f,y){return f=Ar(4,c.children!==null?c.children:[],c.key,f),f.lanes=y,f.stateNode={containerInfo:c.containerInfo,pendingChildren:null,implementation:c.implementation},f}function nO(c,f,y,E,b){this.tag=f,this.containerInfo=c,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Fe,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=G0(0),this.expirationTimes=G0(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=G0(0),this.identifierPrefix=E,this.onRecoverableError=b,we&&(this.mutableSourceEagerHydrationData=null)}function SM(c,f,y,E,b,P,B,Q,pe){return c=new nO(c,f,y,Q,pe),f===1?(f=1,P===!0&&(f|=8)):f=0,P=Ar(3,null,null,f),c.current=P,P.stateNode=c,P.memoizedState={element:E,isDehydrated:y,cache:null,transitions:null},tv(P),c}function wM(c){if(!c)return _r;c=c._reactInternals;e:{if(H(c)!==c||c.tag!==1)throw Error(o(170));var f=c;do{switch(f.tag){case 3:f=f.stateNode.context;break e;case 1:if(Wn(f.type)){f=f.stateNode.__reactInternalMemoizedMergedChildContext;break e}}f=f.return}while(f!==null);throw Error(o(171))}if(c.tag===1){var y=c.type;if(Wn(y))return Bl(c,y,f)}return f}function EM(c){var f=c._reactInternals;if(f===void 0)throw typeof c.render=="function"?Error(o(188)):(c=Object.keys(c).join(","),Error(o(268,c)));return c=j(f),c===null?null:c.stateNode}function MM(c,f){if(c=c.memoizedState,c!==null&&c.dehydrated!==null){var y=c.retryLane;c.retryLane=y!==0&&y=Ae&&P>=wt&&b<=Ze&&B<=ot){c.splice(f,1);break}else if(E!==Ae||y.width!==pe.width||otB){if(!(P!==wt||y.height!==pe.height||Zeb)){Ae>E&&(pe.width+=Ae-E,pe.x=E),ZeP&&(pe.height+=wt-P,pe.y=P),oty&&(y=B)),B ")+` - -No matching component was found for: - `)+c.join(" > ")}return null},t.getPublicRootInstance=function(c){if(c=c.current,!c.child)return null;switch(c.child.tag){case 5:return Z(c.child.stateNode);default:return c.child.stateNode}},t.injectIntoDevTools=function(c){if(c={bundleType:c.bundleType,version:c.version,rendererPackageName:c.rendererPackageName,rendererConfig:c.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:a.ReactCurrentDispatcher,findHostInstanceByFiber:iO,findFiberByHostInstance:c.findFiberByHostInstance||rO,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")c=!1;else{var f=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(f.isDisabled||!f.supportsFiber)c=!0;else{try{xh=f.inject(c),gs=f}catch{}c=!!f.checkDCE}}return c},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(c,f,y,E){if(!ct)throw Error(o(363));c=Ov(c,f);var b=et(c,y,E).disconnect;return{disconnect:function(){b()}}},t.registerMutableSourceForHydration=function(c,f){var y=f._getVersion;y=y(f._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[f,y]:c.mutableSourceEagerHydrationData.push(f,y)},t.runWithPriority=function(c,f){var y=Ut;try{return Ut=c,f()}finally{Ut=y}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(c,f,y,E){var b=f.current,P=Mi(),B=No(b);return y=wM(y),f.context===null?f.context=y:f.pendingContext=y,f=Bs(P,B),f.payload={element:c},E=E===void 0?null:E,E!==null&&(f.callback=E),Io(b,f),c=Cr(b,B,P),c!==null&&Mh(c,b,B),B},t};zL.exports=C7;var A7=zL.exports;const R7=Sa(A7),P7=n=>typeof n=="object"&&typeof n.then=="function",fl=[];function VL(n,e,t=(i,r)=>i===r){if(n===e)return!0;if(!n||!e)return!1;const i=n.length;if(e.length!==i)return!1;for(let r=0;r0&&(s.timeout&&clearTimeout(s.timeout),s.timeout=setTimeout(s.remove,i.lifespan)),s.response;if(!t)throw s.promise}const r={keys:e,equal:i.equal,remove:()=>{const s=fl.indexOf(r);s!==-1&&fl.splice(s,1)},promise:(P7(n)?n:n(...e)).then(s=>{r.response=s,i.lifespan&&i.lifespan>0&&(r.timeout=setTimeout(r.remove,i.lifespan))}).catch(s=>r.error=s)};if(fl.push(r),!t)throw r.promise}const c_=(n,e,t)=>WL(n,e,!1,t),L7=(n,e,t)=>void WL(n,e,!0,t),I7=n=>{if(n===void 0||n.length===0)fl.splice(0,fl.length);else{const e=fl.find(t=>VL(n,t.keys,t.equal));e&&e.remove()}},_w={},O7=n=>void Object.assign(_w,n);function D7(n,e){function t(d,{args:h=[],attach:p,...m},v){let w=`${d[0].toUpperCase()}${d.slice(1)}`,x;if(d==="primitive"){if(m.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const g=m.object;x=Cc(g,{type:d,root:v,attach:p,primitive:!0})}else{const g=_w[w];if(!g)throw new Error(`R3F: ${w} 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!");x=Cc(new g(...h),{type:d,root:v,attach:p,memoizedProps:{args:h}})}return x.__r3f.attach===void 0&&(x instanceof At?x.__r3f.attach="geometry":x instanceof ri&&(x.__r3f.attach="material")),w!=="inject"&&ay(x,m),x}function i(d,h){let p=!1;if(h){var m,v;(m=h.__r3f)!=null&&m.attach?oy(d,h,h.__r3f.attach):h.isObject3D&&d.isObject3D&&(d.add(h),p=!0),p||(v=d.__r3f)==null||v.objects.push(h),h.__r3f||Cc(h,{}),h.__r3f.parent=d,f_(h),Ac(h)}}function r(d,h,p){let m=!1;if(h){var v,w;if((v=h.__r3f)!=null&&v.attach)oy(d,h,h.__r3f.attach);else if(h.isObject3D&&d.isObject3D){h.parent=d,h.dispatchEvent({type:"added"});const x=d.children.filter(_=>_!==h),g=x.indexOf(p);d.children=[...x.slice(0,g),h,...x.slice(g)],m=!0}m||(w=d.__r3f)==null||w.objects.push(h),h.__r3f||Cc(h,{}),h.__r3f.parent=d,f_(h),Ac(h)}}function s(d,h,p=!1){d&&[...d].forEach(m=>o(h,m,p))}function o(d,h,p){if(h){var m,v,w;if(h.__r3f&&(h.__r3f.parent=null),(m=d.__r3f)!=null&&m.objects&&(d.__r3f.objects=d.__r3f.objects.filter(M=>M!==h)),(v=h.__r3f)!=null&&v.attach)vT(d,h,h.__r3f.attach);else if(h.isObject3D&&d.isObject3D){var x;d.remove(h),(x=h.__r3f)!=null&&x.root&&W7(jm(h),h)}const _=(w=h.__r3f)==null?void 0:w.primitive,S=!_&&(p===void 0?h.dispose!==null:p);if(!_){var g;s((g=h.__r3f)==null?void 0:g.objects,h,S),s(h.children,h,S)}if(delete h.__r3f,S&&h.dispose&&h.type!=="Scene"){const M=()=>{try{h.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?l_.unstable_scheduleCallback(l_.unstable_IdlePriority,M):M()}Ac(d)}}function a(d,h,p,m){var v;const w=(v=d.__r3f)==null?void 0:v.parent;if(!w)return;const x=t(h,p,d.__r3f.root);if(d.children){for(const g of d.children)g.__r3f&&i(x,g);d.children=d.children.filter(g=>!g.__r3f)}d.__r3f.objects.forEach(g=>i(x,g)),d.__r3f.objects=[],d.__r3f.autoRemovedBeforeAppend||o(w,d),x.parent&&(x.__r3f.autoRemovedBeforeAppend=!0),i(w,x),x.raycast&&x.__r3f.eventCount&&jm(x).getState().internal.interaction.push(x),[m,m.alternate].forEach(g=>{g!==null&&(g.stateNode=x,g.ref&&(typeof g.ref=="function"?g.ref(x):g.ref.current=x))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:R7({createInstance:t,removeChild:o,appendChild:i,appendInitialChild:i,insertBefore:r,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(d,h)=>{if(!h)return;const p=d.getState().scene;p.__r3f&&(p.__r3f.root=d,i(p,h))},removeChildFromContainer:(d,h)=>{h&&o(d.getState().scene,h)},insertInContainerBefore:(d,h,p)=>{if(!h||!p)return;const m=d.getState().scene;m.__r3f&&r(m,h,p)},getRootHostContext:()=>null,getChildHostContext:d=>d,finalizeInitialChildren(d){var h;return!!((h=d==null?void 0:d.__r3f)!=null?h:{}).handlers},prepareUpdate(d,h,p,m){var v;if(((v=d==null?void 0:d.__r3f)!=null?v:{}).primitive&&m.object&&m.object!==d)return[!0];{const{args:x=[],children:g,..._}=m,{args:S=[],children:M,...A}=p;if(!Array.isArray(x))throw new Error("R3F: the args prop must be an array!");if(x.some((L,O)=>L!==S[O]))return[!0];const T=ZL(d,_,A,!0);return T.changes.length?[!1,T]:null}},commitUpdate(d,[h,p],m,v,w,x){h?a(d,m,w,x):ay(d,p)},commitMount(d,h,p,m){var v;const w=(v=d.__r3f)!=null?v:{};d.raycast&&w.handlers&&w.eventCount&&jm(d).getState().internal.interaction.push(d)},getPublicInstance:d=>d,prepareForCommit:()=>null,preparePortalMount:d=>Cc(d.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(d){var h;const{attach:p,parent:m}=(h=d.__r3f)!=null?h:{};p&&m&&vT(m,d,p),d.isObject3D&&(d.visible=!1),Ac(d)},unhideInstance(d,h){var p;const{attach:m,parent:v}=(p=d.__r3f)!=null?p:{};m&&v&&oy(v,d,m),(d.isObject3D&&h.visible==null||h.visible)&&(d.visible=!0),Ac(d)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():jc.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&en.fun(performance.now)?performance.now:en.fun(Date.now)?Date.now:()=>0,scheduleTimeout:en.fun(setTimeout)?setTimeout:void 0,cancelTimeout:en.fun(clearTimeout)?clearTimeout:void 0}),applyProps:ay}}var hT,pT;const sy=n=>"colorSpace"in n||"outputColorSpace"in n,$L=()=>{var n;return(n=_w.ColorManagement)!=null?n:null},GL=n=>n&&n.isOrthographicCamera,N7=n=>n&&n.hasOwnProperty("current"),rh=typeof window<"u"&&((hT=window.document)!=null&&hT.createElement||((pT=window.navigator)==null?void 0:pT.product)==="ReactNative")?R.useLayoutEffect:R.useEffect;function jL(n){const e=R.useRef(n);return rh(()=>void(e.current=n),[n]),e}function k7({set:n}){return rh(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class XL extends R.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}XL.getDerivedStateFromError=()=>({error:!0});const YL="__default",mT=new Map,U7=n=>n&&!!n.memoized&&!!n.changes;function qL(n){var e;const t=typeof window<"u"?(e=window.devicePixelRatio)!=null?e:2:1;return Array.isArray(n)?Math.min(Math.max(n[0],t),n[1]):n}const Mf=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()};function jm(n){let e=n.__r3f.root;for(;e.getState().previousRoot;)e=e.getState().previousRoot;return e}const en={obj:n=>n===Object(n)&&!en.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,e,{arrays:t="shallow",objects:i="reference",strict:r=!0}={}){if(typeof n!=typeof e||!!n!=!!e)return!1;if(en.str(n)||en.num(n))return n===e;const s=en.obj(n);if(s&&i==="reference")return n===e;const o=en.arr(n);if(o&&t==="reference")return n===e;if((o||s)&&n===e)return!0;let a;for(a in n)if(!(a in e))return!1;if(s&&t==="shallow"&&i==="shallow"){for(a in r?e:n)if(!en.equ(n[a],e[a],{strict:r,objects:"reference"}))return!1}else for(a in r?e:n)if(n[a]!==e[a])return!1;if(en.und(a)){if(o&&n.length===0&&e.length===0||s&&Object.keys(n).length===0&&Object.keys(e).length===0)return!0;if(n!==e)return!1}return!0}};function F7(n){const e={nodes:{},materials:{}};return n&&n.traverse(t=>{t.name&&(e.nodes[t.name]=t),t.material&&!e.materials[t.material.name]&&(e.materials[t.material.name]=t.material)}),e}function z7(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function Cc(n,e){const t=n;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},n}function u_(n,e){let t=n;if(e.includes("-")){const i=e.split("-"),r=i.pop();return t=i.reduce((s,o)=>s[o],n),{target:t,key:r}}else return{target:t,key:e}}const gT=/-\d+$/;function oy(n,e,t){if(en.str(t)){if(gT.test(t)){const s=t.replace(gT,""),{target:o,key:a}=u_(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=u_(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function vT(n,e,t){var i,r;if(en.str(t)){const{target:s,key:o}=u_(n,t),a=e.__r3f.previousAttach;a===void 0?delete s[o]:s[o]=a}else(i=e.__r3f)==null||i.previousAttach==null||i.previousAttach(n,e);(r=e.__r3f)==null||delete r.previousAttach}function ZL(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...l}={},u=!1){var d;const h=(d=n==null?void 0:n.__r3f)!=null?d:{},p=Object.entries(r),m=[];if(u){const w=Object.keys(l);for(let x=0;x{var g;if((g=n.__r3f)!=null&&g.primitive&&w==="object"||en.equ(x,l[w]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(w))return m.push([w,x,!0,[]]);let _=[];w.includes("-")&&(_=w.split("-")),m.push([w,x,!1,_]);for(const S in r){const M=r[S];S.startsWith(`${w}-`)&&m.push([S,M,!1,S.split("-")])}});const v={...r};return h.memoizedProps&&h.memoizedProps.args&&(v.args=h.memoizedProps.args),h.memoizedProps&&h.memoizedProps.attach&&(v.attach=h.memoizedProps.attach),{memoized:v,changes:m}}const B7=typeof process<"u"&&!1;function ay(n,e){var t,i,r;const s=(t=n.__r3f)!=null?t:{},o=s.root,a=(i=o==null||o.getState==null?void 0:o.getState())!=null?i:{},{memoized:l,changes:u}=U7(e)?e:ZL(n,e),d=s.eventCount;n.__r3f&&(n.__r3f.memoizedProps=l);for(let p=0;pS[M],n),!(_&&_.set))){const[S,...M]=x.reverse();g=M.reverse().reduce((A,T)=>A[T],n),m=S}if(v===YL+"remove")if(g.constructor){let S=mT.get(g.constructor);S||(S=new g.constructor,mT.set(g.constructor,S)),v=S[m]}else v=0;if(w)v?s.handlers[m]=v:delete s.handlers[m],s.eventCount=Object.keys(s.handlers).length;else if(_&&_.set&&(_.copy||_ instanceof gl)){if(Array.isArray(v))_.fromArray?_.fromArray(v):_.set(...v);else if(_.copy&&v&&v.constructor&&(B7?_.constructor.name===v.constructor.name:_.constructor===v.constructor))_.copy(v);else if(v!==void 0){const S=_ instanceof je;!S&&_.setScalar?_.setScalar(v):_ instanceof gl&&v instanceof gl?_.mask=v.mask:_.set(v),!$L()&&!a.linear&&S&&_.convertSRGBToLinear()}}else if(g[m]=v,g[m]instanceof pn&&g[m].format===Pi&&g[m].type===Os){const S=g[m];sy(S)&&sy(a.gl)?S.colorSpace=a.gl.outputColorSpace:S.encoding=a.gl.outputEncoding}Ac(n)}if(s.parent&&n.raycast&&d!==s.eventCount){const p=jm(n).getState().internal,m=p.interaction.indexOf(n);m>-1&&p.interaction.splice(m,1),s.eventCount&&p.interaction.push(n)}return!(u.length===1&&u[0][0]==="onUpdate")&&u.length&&(r=n.__r3f)!=null&&r.parent&&f_(n),n}function Ac(n){var e,t;const i=(e=n.__r3f)==null||(t=e.root)==null||t.getState==null?void 0:t.getState();i&&i.internal.frames===0&&i.invalidate()}function f_(n){n.onUpdate==null||n.onUpdate(n)}function H7(n,e){n.manual||(GL(n)?(n.left=e.width/-2,n.right=e.width/2,n.top=e.height/2,n.bottom=e.height/-2):n.aspect=e.width/e.height,n.updateProjectionMatrix(),n.updateMatrixWorld())}function gm(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function V7(){var n;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return jc.DefaultEventPriority;switch((n=e.event)==null?void 0:n.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return jc.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return jc.ContinuousEventPriority;default:return jc.DefaultEventPriority}}function KL(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function W7(n,e){const{internal:t}=n.getState();t.interaction=t.interaction.filter(i=>i!==e),t.initialHits=t.initialHits.filter(i=>i!==e),t.hovered.forEach((i,r)=>{(i.eventObject===e||i.object===e)&&t.hovered.delete(r)}),t.capturedMap.forEach((i,r)=>{KL(t.capturedMap,e,i,r)})}function $7(n){function e(l){const{internal:u}=n.getState(),d=l.offsetX-u.initialClick[0],h=l.offsetY-u.initialClick[1];return Math.round(Math.sqrt(d*d+h*h))}function t(l){return l.filter(u=>["Move","Over","Enter","Out","Leave"].some(d=>{var h;return(h=u.__r3f)==null?void 0:h.handlers["onPointer"+d]}))}function i(l,u){const d=n.getState(),h=new Set,p=[],m=u?u(d.internal.interaction):d.internal.interaction;for(let g=0;g{const S=Mf(g.object),M=Mf(_.object);return!S||!M?g.distance-_.distance:M.events.priority-S.events.priority||g.distance-_.distance}).filter(g=>{const _=gm(g);return h.has(_)?!1:(h.add(_),!0)});d.events.filter&&(w=d.events.filter(w,d));for(const g of w){let _=g.object;for(;_;){var x;(x=_.__r3f)!=null&&x.eventCount&&p.push({...g,eventObject:_}),_=_.parent}}if("pointerId"in l&&d.internal.capturedMap.has(l.pointerId))for(let g of d.internal.capturedMap.get(l.pointerId).values())h.has(gm(g.intersection))||p.push(g.intersection);return p}function r(l,u,d,h){const p=n.getState();if(l.length){const m={stopped:!1};for(const v of l){const w=Mf(v.object)||p,{raycaster:x,pointer:g,camera:_,internal:S}=w,M=new U(g.x,g.y,0).unproject(_),A=C=>{var I,j;return(I=(j=S.capturedMap.get(C))==null?void 0:j.has(v.eventObject))!=null?I:!1},T=C=>{const I={intersection:v,target:u.target};S.capturedMap.has(C)?S.capturedMap.get(C).set(v.eventObject,I):S.capturedMap.set(C,new Map([[v.eventObject,I]])),u.target.setPointerCapture(C)},L=C=>{const I=S.capturedMap.get(C);I&&KL(S.capturedMap,v.eventObject,I,C)};let O={};for(let C in u){let I=u[C];typeof I!="function"&&(O[C]=I)}let H={...v,...O,pointer:g,intersections:l,stopped:m.stopped,delta:d,unprojectedPoint:M,ray:x.ray,camera:_,stopPropagation(){const C="pointerId"in u&&S.capturedMap.get(u.pointerId);if((!C||C.has(v.eventObject))&&(H.stopped=m.stopped=!0,S.hovered.size&&Array.from(S.hovered.values()).find(I=>I.eventObject===v.eventObject))){const I=l.slice(0,l.indexOf(v));s([...I,v])}},target:{hasPointerCapture:A,setPointerCapture:T,releasePointerCapture:L},currentTarget:{hasPointerCapture:A,setPointerCapture:T,releasePointerCapture:L},nativeEvent:u};if(h(H),m.stopped===!0)break}}return l}function s(l){const{internal:u}=n.getState();for(const d of u.hovered.values())if(!l.length||!l.find(h=>h.object===d.object&&h.index===d.index&&h.instanceId===d.instanceId)){const p=d.eventObject.__r3f,m=p==null?void 0:p.handlers;if(u.hovered.delete(gm(d)),p!=null&&p.eventCount){const v={...d,intersections:l};m.onPointerOut==null||m.onPointerOut(v),m.onPointerLeave==null||m.onPointerLeave(v)}}}function o(l,u){for(let d=0;ds([]);case"onLostPointerCapture":return u=>{const{internal:d}=n.getState();"pointerId"in u&&d.capturedMap.has(u.pointerId)&&requestAnimationFrame(()=>{d.capturedMap.has(u.pointerId)&&(d.capturedMap.delete(u.pointerId),s([]))})}}return function(d){const{onPointerMissed:h,internal:p}=n.getState();p.lastEvent.current=d;const m=l==="onPointerMove",v=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",x=i(d,m?t:void 0),g=v?e(d):0;l==="onPointerDown"&&(p.initialClick=[d.offsetX,d.offsetY],p.initialHits=x.map(S=>S.eventObject)),v&&!x.length&&g<=2&&(o(d,p.interaction),h&&h(d)),m&&s(x);function _(S){const M=S.eventObject,A=M.__r3f,T=A==null?void 0:A.handlers;if(A!=null&&A.eventCount)if(m){if(T.onPointerOver||T.onPointerEnter||T.onPointerOut||T.onPointerLeave){const L=gm(S),O=p.hovered.get(L);O?O.stopped&&S.stopPropagation():(p.hovered.set(L,S),T.onPointerOver==null||T.onPointerOver(S),T.onPointerEnter==null||T.onPointerEnter(S))}T.onPointerMove==null||T.onPointerMove(S)}else{const L=T[l];L?(!v||p.initialHits.includes(M))&&(o(d,p.interaction.filter(O=>!p.initialHits.includes(O))),L(S)):v&&p.initialHits.includes(M)&&o(d,p.interaction.filter(O=>!p.initialHits.includes(O)))}}r(x,d,g,_)}}return{handlePointer:a}}const JL=n=>!!(n!=null&&n.render),QL=R.createContext(null),G7=(n,e)=>{const t=FL((a,l)=>{const u=new U,d=new U,h=new U;function p(g=l().camera,_=d,S=l().size){const{width:M,height:A,top:T,left:L}=S,O=M/A;_ instanceof U?h.copy(_):h.set(..._);const H=g.getWorldPosition(u).distanceTo(h);if(GL(g))return{width:M/g.zoom,height:A/g.zoom,top:T,left:L,factor:1,distance:H,aspect:O};{const C=g.fov*Math.PI/180,I=2*Math.tan(C/2)*H,j=I*(M/A);return{width:j,height:I,top:T,left:L,factor:M/j,distance:H,aspect:O}}}let m;const v=g=>a(_=>({performance:{..._.performance,current:g}})),w=new ve;return{set:a,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(g=1)=>n(l(),g),advance:(g,_)=>e(g,_,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new gw,pointer:w,mouse:w,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const g=l();m&&clearTimeout(m),g.performance.current!==g.performance.min&&v(g.performance.min),m=setTimeout(()=>v(l().performance.max),g.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:p},setEvents:g=>a(_=>({..._,events:{..._.events,...g}})),setSize:(g,_,S,M,A)=>{const T=l().camera,L={width:g,height:_,top:M||0,left:A||0,updateStyle:S};a(O=>({size:L,viewport:{...O.viewport,...p(T,d,L)}}))},setDpr:g=>a(_=>{const S=qL(g);return{viewport:{..._.viewport,dpr:S,initialDpr:_.viewport.initialDpr||S}}}),setFrameloop:(g="always")=>{const _=l().clock;_.stop(),_.elapsedTime=0,g!=="never"&&(_.start(),_.elapsedTime=0),a(()=>({frameloop:g}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:R.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(g,_,S)=>{const M=l().internal;return M.priority=M.priority+(_>0?1:0),M.subscribers.push({ref:g,priority:_,store:S}),M.subscribers=M.subscribers.sort((A,T)=>A.priority-T.priority),()=>{const A=l().internal;A!=null&&A.subscribers&&(A.priority=A.priority-(_>0?1:0),A.subscribers=A.subscribers.filter(T=>T.ref!==g))}}}}}),i=t.getState();let r=i.size,s=i.viewport.dpr,o=i.camera;return t.subscribe(()=>{const{camera:a,size:l,viewport:u,gl:d,set:h}=t.getState();if(l.width!==r.width||l.height!==r.height||u.dpr!==s){var p;r=l,s=u.dpr,H7(a,l),d.setPixelRatio(u.dpr);const m=(p=l.updateStyle)!=null?p:typeof HTMLCanvasElement<"u"&&d.domElement instanceof HTMLCanvasElement;d.setSize(l.width,l.height,m)}a!==o&&(o=a,h(m=>({viewport:{...m.viewport,...m.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};function Sw(n,e){const t={callback:n};return e.add(t),()=>void e.delete(t)}let vm,e4=new Set,t4=new Set,n4=new Set;const j7=n=>Sw(n,e4),X7=n=>Sw(n,t4),Y7=n=>Sw(n,n4);function ly(n,e){if(n.size)for(const{callback:t}of n.values())t(e)}function bf(n,e){switch(n){case"before":return ly(e4,e);case"after":return ly(t4,e);case"tail":return ly(n4,e)}}let cy,uy;function fy(n,e,t){let i=e.clock.getDelta();for(e.frameloop==="never"&&typeof n=="number"&&(i=n-e.clock.elapsedTime,e.clock.oldTime=e.clock.elapsedTime,e.clock.elapsedTime=n),cy=e.internal.subscribers,vm=0;vm0)&&!((u=r.gl.xr)!=null&&u.isPresenting)&&(t+=fy(l,r))}if(bf("after",l),t===0)return bf("tail",l),e=!1,cancelAnimationFrame(i)}function o(l,u=1){var d;if(!l)return n.forEach(h=>o(h.store.getState(),u));(d=l.gl.xr)!=null&&d.isPresenting||!l.internal.active||l.frameloop==="never"||(l.internal.frames=Math.min(60,l.internal.frames+u),e||(e=!0,requestAnimationFrame(s)))}function a(l,u=!0,d,h){if(u&&bf("before",l),d)fy(l,d,h);else for(const p of n.values())fy(l,p.store.getState());u&&bf("after",l)}return{loop:s,invalidate:o,advance:a}}function i4(){const n=R.useContext(QL);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function Or(n=t=>t,e){return i4()(n,e)}function I0(n,e=0){const t=i4(),i=t.getState().internal.subscribe,r=jL(n);return rh(()=>i(r,e,t),[e,i,t]),null}const yT=new WeakMap;function r4(n,e){return function(t,...i){let r=yT.get(t);return r||(r=new t,yT.set(t,r)),n&&n(r),Promise.all(i.map(s=>new Promise((o,a)=>r.load(s,l=>{l.scene&&Object.assign(l,F7(l.scene)),o(l)},e,l=>a(new Error(`Could not load ${s}: ${l==null?void 0:l.message}`)))))).finally(()=>r.dispose==null?void 0:r.dispose())}}function ww(n,e,t,i){const r=Array.isArray(e)?e:[e],s=c_(r4(t,i),[n,...r],{equal:en.equ});return Array.isArray(e)?s:s[0]}ww.preload=function(n,e,t){const i=Array.isArray(e)?e:[e];return L7(r4(t),[n,...i])};ww.clear=function(n,e){const t=Array.isArray(e)?e:[e];return I7([n,...t])};const gu=new Map,{invalidate:xT,advance:_T}=q7(gu),{reconciler:bg,applyProps:wc}=D7(gu,V7),Ec={objects:"shallow",strict:!1},Z7=(n,e)=>{const t=typeof n=="function"?n(e):n;return JL(t)?t:new JS({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function K7(n,e){const t=typeof HTMLCanvasElement<"u"&&n instanceof HTMLCanvasElement;if(e){const{width:i,height:r,top:s,left:o,updateStyle:a=t}=e;return{width:i,height:r,top:s,left:o,updateStyle:a}}else if(typeof HTMLCanvasElement<"u"&&n instanceof HTMLCanvasElement&&n.parentElement){const{width:i,height:r,top:s,left:o}=n.parentElement.getBoundingClientRect();return{width:i,height:r,top:s,left:o,updateStyle:t}}else if(typeof OffscreenCanvas<"u"&&n instanceof OffscreenCanvas)return{width:n.width,height:n.height,top:0,left:0,updateStyle:t};return{width:0,height:0,top:0,left:0}}function J7(n){const e=gu.get(n),t=e==null?void 0:e.fiber,i=e==null?void 0:e.store;e&&console.warn("R3F.createRoot should only be called once!");const r=typeof reportError=="function"?reportError:console.error,s=i||G7(xT,_T),o=t||bg.createContainer(s,jc.ConcurrentRoot,null,!1,null,"",r,null);e||gu.set(n,{fiber:o,store:s});let a,l=!1,u;return{configure(d={}){let{gl:h,size:p,scene:m,events:v,onCreated:w,shadows:x=!1,linear:g=!1,flat:_=!1,legacy:S=!1,orthographic:M=!1,frameloop:A="always",dpr:T=[1,2],performance:L,raycaster:O,camera:H,onPointerMissed:C}=d,I=s.getState(),j=I.gl;I.gl||I.set({gl:j=Z7(h,n)});let ee=I.raycaster;ee||I.set({raycaster:ee=new NL});const{params:z,...J}=O||{};if(en.equ(J,ee,Ec)||wc(ee,{...J}),en.equ(z,ee.params,Ec)||wc(ee,{params:{...ee.params,...z}}),!I.camera||I.camera===u&&!en.equ(u,H,Ec)){u=H;const Y=H instanceof Kd,ie=Y?H:M?new lo(0,0,0,0,.1,1e3):new wn(75,0,.1,1e3);Y||(ie.position.z=5,H&&wc(ie,H),!I.camera&&!(H!=null&&H.rotation)&&ie.lookAt(0,0,0)),I.set({camera:ie}),ee.camera=ie}if(!I.scene){let Y;m instanceof pu?Y=m:(Y=new pu,m&&wc(Y,m)),I.set({scene:Cc(Y)})}if(!I.xr){var Z;const Y=(Re,oe)=>{const ye=s.getState();ye.frameloop!=="never"&&_T(Re,!0,ye,oe)},ie=()=>{const Re=s.getState();Re.gl.xr.enabled=Re.gl.xr.isPresenting,Re.gl.xr.setAnimationLoop(Re.gl.xr.isPresenting?Y:null),Re.gl.xr.isPresenting||xT(Re)},me={connect(){const Re=s.getState().gl;Re.xr.addEventListener("sessionstart",ie),Re.xr.addEventListener("sessionend",ie)},disconnect(){const Re=s.getState().gl;Re.xr.removeEventListener("sessionstart",ie),Re.xr.removeEventListener("sessionend",ie)}};typeof((Z=j.xr)==null?void 0:Z.addEventListener)=="function"&&me.connect(),I.set({xr:me})}if(j.shadowMap){const Y=j.shadowMap.enabled,ie=j.shadowMap.type;if(j.shadowMap.enabled=!!x,en.boo(x))j.shadowMap.type=Gf;else if(en.str(x)){var ne;const me={basic:bR,percentage:s0,soft:Gf,variance:es};j.shadowMap.type=(ne=me[x])!=null?ne:Gf}else en.obj(x)&&Object.assign(j.shadowMap,x);(Y!==j.shadowMap.enabled||ie!==j.shadowMap.type)&&(j.shadowMap.needsUpdate=!0)}const k=$L();k&&("enabled"in k?k.enabled=!S:"legacyMode"in k&&(k.legacyMode=S)),l||wc(j,{outputEncoding:g?3e3:3001,toneMapping:_?Is:IS}),I.legacy!==S&&I.set(()=>({legacy:S})),I.linear!==g&&I.set(()=>({linear:g})),I.flat!==_&&I.set(()=>({flat:_})),h&&!en.fun(h)&&!JL(h)&&!en.equ(h,j,Ec)&&wc(j,h),v&&!I.events.handlers&&I.set({events:v(s)});const W=K7(n,p);return en.equ(W,I.size,Ec)||I.setSize(W.width,W.height,W.updateStyle,W.top,W.left),T&&I.viewport.dpr!==qL(T)&&I.setDpr(T),I.frameloop!==A&&I.setFrameloop(A),I.onPointerMissed||I.set({onPointerMissed:C}),L&&!en.equ(L,I.performance,Ec)&&I.set(Y=>({performance:{...Y.performance,...L}})),a=w,l=!0,this},render(d){return l||this.configure(),bg.updateContainer(R.createElement(Q7,{store:s,children:d,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){s4(n)}}}function Q7({store:n,children:e,onCreated:t,rootElement:i}){return rh(()=>{const r=n.getState();r.set(s=>({internal:{...s.internal,active:!0}})),t&&t(r),n.getState().events.connected||r.events.connect==null||r.events.connect(i)},[]),R.createElement(QL.Provider,{value:n},e)}function s4(n,e){const t=gu.get(n),i=t==null?void 0:t.fiber;if(i){const r=t==null?void 0:t.store.getState();r&&(r.internal.active=!1),bg.updateContainer(null,i,null,()=>{r&&setTimeout(()=>{try{var s,o,a,l;r.events.disconnect==null||r.events.disconnect(),(s=r.gl)==null||(o=s.renderLists)==null||o.dispose==null||o.dispose(),(a=r.gl)==null||a.forceContextLoss==null||a.forceContextLoss(),(l=r.gl)!=null&&l.xr&&r.xr.disconnect(),z7(r),gu.delete(n),e&&e(n)}catch{}},500)})}}bg.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:R.version});function gn(){return gn=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0?i=setTimeout(l,e-d):(i=null,t||(a=n.apply(s,r),s=r=null))}var u=function(){s=this,r=arguments,o=Date.now();var d=t&&!i;return i||(i=setTimeout(l,e)),d&&(a=n.apply(s,r),s=r=null),a};return u.clear=function(){i&&(clearTimeout(i),i=null)},u.flush=function(){i&&(a=n.apply(s,r),s=r=null,clearTimeout(i),i=null)},u}d_.debounce=d_;var eB=d_;const ST=Sa(eB);function tB(n){let{debounce:e,scroll:t,polyfill:i,offsetSize:r}=n===void 0?{debounce:0,scroll:!1,offsetSize:!1}:n;const s=i||(typeof window>"u"?class{}:window.ResizeObserver);if(!s)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[o,a]=R.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=R.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),u=e?typeof e=="number"?e:e.scroll:null,d=e?typeof e=="number"?e:e.resize:null,h=R.useRef(!1);R.useEffect(()=>(h.current=!0,()=>void(h.current=!1)));const[p,m,v]=R.useMemo(()=>{const _=()=>{if(!l.current.element)return;const{left:S,top:M,width:A,height:T,bottom:L,right:O,x:H,y:C}=l.current.element.getBoundingClientRect(),I={left:S,top:M,width:A,height:T,bottom:L,right:O,x:H,y:C};l.current.element instanceof HTMLElement&&r&&(I.height=l.current.element.offsetHeight,I.width=l.current.element.offsetWidth),Object.freeze(I),h.current&&!sB(l.current.lastBounds,I)&&a(l.current.lastBounds=I)};return[_,d?ST(_,d):_,u?ST(_,u):_]},[a,r,u,d]);function w(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(_=>_.removeEventListener("scroll",v,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function x(){l.current.element&&(l.current.resizeObserver=new s(v),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(_=>_.addEventListener("scroll",v,{capture:!0,passive:!0})))}const g=_=>{!_||_===l.current.element||(w(),l.current.element=_,l.current.scrollContainers=o4(_),x())};return iB(v,!!t),nB(m),R.useEffect(()=>{w(),x()},[t,v,m]),R.useEffect(()=>w,[]),[g,o,p]}function nB(n){R.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function iB(n,e){R.useEffect(()=>{if(e){const t=n;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[n,e])}function o4(n){const e=[];if(!n||n===document.body)return e;const{overflow:t,overflowX:i,overflowY:r}=window.getComputedStyle(n);return[t,i,r].some(s=>s==="auto"||s==="scroll")&&e.push(n),[...e,...o4(n.parentElement)]}const rB=["x","y","top","bottom","left","right","width","height"],sB=(n,e)=>rB.every(t=>n[t]===e[t]);var oB=Object.defineProperty,aB=Object.defineProperties,lB=Object.getOwnPropertyDescriptors,wT=Object.getOwnPropertySymbols,cB=Object.prototype.hasOwnProperty,uB=Object.prototype.propertyIsEnumerable,ET=(n,e,t)=>e in n?oB(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,MT=(n,e)=>{for(var t in e||(e={}))cB.call(e,t)&&ET(n,t,e[t]);if(wT)for(var t of wT(e))uB.call(e,t)&&ET(n,t,e[t]);return n},fB=(n,e)=>aB(n,lB(e));function a4(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=e?n.return:n.child;for(;i;){const r=a4(i,e,t);if(r)return r;i=e?null:i.sibling}}function l4(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const Ew=l4(R.createContext(null));class c4 extends R.Component{render(){return R.createElement(Ew.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:bT,ReactCurrentDispatcher:TT}=R.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function dB(){const n=R.useContext(Ew);if(n===null)throw new Error("its-fine: useFiber must be called within a !");const e=R.useId();return R.useMemo(()=>{for(const i of[bT==null?void 0:bT.current,n,n==null?void 0:n.alternate]){if(!i)continue;const r=a4(i,!1,s=>{let o=s.memoizedState;for(;o;){if(o.memoizedState===e)return!0;o=o.next}});if(r)return r}},[n,e])}function hB(){var n,e;const t=dB(),[i]=R.useState(()=>new Map);i.clear();let r=t;for(;r;){const s=(n=r.type)==null?void 0:n._context;s&&s!==Ew&&!i.has(s)&&i.set(s,(e=TT==null?void 0:TT.current)==null?void 0:e.readContext(l4(s))),r=r.return}return i}function pB(){const n=hB();return R.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>R.createElement(e,null,R.createElement(t.Provider,fB(MT({},i),{value:n.get(t)}))),e=>R.createElement(c4,MT({},e))),[n])}const dy={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 mB(n){const{handlePointer:e}=$7(n);return{priority:1,enabled:!0,compute(t,i,r){i.pointer.set(t.offsetX/i.size.width*2-1,-(t.offsetY/i.size.height)*2+1),i.raycaster.setFromCamera(i.pointer,i.camera)},connected:void 0,handlers:Object.keys(dy).reduce((t,i)=>({...t,[i]:e(i)}),{}),update:()=>{var t;const{events:i,internal:r}=n.getState();(t=r.lastEvent)!=null&&t.current&&i.handlers&&i.handlers.onPointerMove(r.lastEvent.current)},connect:t=>{var i;const{set:r,events:s}=n.getState();s.disconnect==null||s.disconnect(),r(o=>({events:{...o.events,connected:t}})),Object.entries((i=s.handlers)!=null?i:[]).forEach(([o,a])=>{const[l,u]=dy[o];t.addEventListener(l,a,{passive:u})})},disconnect:()=>{const{set:t,events:i}=n.getState();if(i.connected){var r;Object.entries((r=i.handlers)!=null?r:[]).forEach(([s,o])=>{if(i&&i.connected instanceof HTMLElement){const[a]=dy[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const gB=R.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=mB,eventSource:a,eventPrefix:l,shadows:u,linear:d,flat:h,legacy:p,orthographic:m,frameloop:v,dpr:w,performance:x,raycaster:g,camera:_,scene:S,onPointerMissed:M,onCreated:A,...T},L){R.useMemo(()=>O7(M7),[]);const O=pB(),[H,C]=tB({scroll:!0,debounce:{scroll:50,resize:0},...i}),I=R.useRef(null),j=R.useRef(null);R.useImperativeHandle(L,()=>I.current);const ee=jL(M),[z,J]=R.useState(!1),[Z,ne]=R.useState(!1);if(z)throw z;if(Z)throw Z;const k=R.useRef(null);rh(()=>{const Y=I.current;C.width>0&&C.height>0&&Y&&(k.current||(k.current=J7(Y)),k.current.configure({gl:s,events:o,shadows:u,linear:d,flat:h,legacy:p,orthographic:m,frameloop:v,dpr:w,performance:x,raycaster:g,camera:_,scene:S,size:C,onPointerMissed:(...ie)=>ee.current==null?void 0:ee.current(...ie),onCreated:ie=>{ie.events.connect==null||ie.events.connect(a?N7(a)?a.current:a:j.current),l&&ie.setEvents({compute:(me,Re)=>{const oe=me[l+"X"],ye=me[l+"Y"];Re.pointer.set(oe/Re.size.width*2-1,-(ye/Re.size.height)*2+1),Re.raycaster.setFromCamera(Re.pointer,Re.camera)}}),A==null||A(ie)}}),k.current.render(R.createElement(O,null,R.createElement(XL,{set:ne},R.createElement(R.Suspense,{fallback:R.createElement(k7,{set:J})},e)))))}),R.useEffect(()=>{const Y=I.current;if(Y)return()=>s4(Y)},[]);const W=a?"none":"auto";return R.createElement("div",gn({ref:j,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:W,...r}},T),R.createElement("div",{ref:H,style:{width:"100%",height:"100%"}},R.createElement("canvas",{ref:I,style:{display:"block"}},t)))}),u4=R.forwardRef(function(e,t){return R.createElement(c4,null,R.createElement(gB,gn({},e,{ref:t})))});function vB(n,e){typeof n=="function"?n(e):n!=null&&(n.current=e)}function f4(...n){return e=>n.forEach(t=>vB(t,e))}function Ru(...n){return R.useCallback(f4(...n),n)}const d4=R.forwardRef((n,e)=>{const{children:t,...i}=n,r=R.Children.toArray(t),s=r.find(yB);if(s){const o=s.props.children,a=r.map(l=>l===s?R.Children.count(o)>1?R.Children.only(null):R.isValidElement(o)?o.props.children:null:l);return R.createElement(h_,gn({},i,{ref:e}),R.isValidElement(o)?R.cloneElement(o,void 0,a):null)}return R.createElement(h_,gn({},i,{ref:e}),t)});d4.displayName="Slot";const h_=R.forwardRef((n,e)=>{const{children:t,...i}=n;return R.isValidElement(t)?R.cloneElement(t,{...xB(i,t.props),ref:e?f4(e,t.ref):t.ref}):R.Children.count(t)>1?R.Children.only(null):null});h_.displayName="SlotClone";const h4=({children:n})=>R.createElement(R.Fragment,null,n);function yB(n){return R.isValidElement(n)&&n.type===h4}function xB(n,e){const t={...e};for(const i in e){const r=n[i],s=e[i];/^on[A-Z]/.test(i)?r&&s?t[i]=(...a)=>{s(...a),r(...a)}:r&&(t[i]=r):i==="style"?t[i]={...r,...s}:i==="className"&&(t[i]=[r,s].filter(Boolean).join(" "))}return{...n,...t}}const _B=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Ul=_B.reduce((n,e)=>{const t=R.forwardRef((i,r)=>{const{asChild:s,...o}=i,a=s?d4:e;return R.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),R.createElement(a,gn({},o,{ref:r}))});return t.displayName=`Primitive.${e}`,{...n,[e]:t}},{});function SB(n,e){n&&Yd.flushSync(()=>n.dispatchEvent(e))}const wB=R.forwardRef((n,e)=>{var t;const{container:i=globalThis==null||(t=globalThis.document)===null||t===void 0?void 0:t.body,...r}=n;return i?SR.createPortal(R.createElement(Ul.div,gn({},r,{ref:e})),i):null}),EB=wB;var CT=Object.prototype.hasOwnProperty;function Fd(n,e){var t,i;if(n===e)return!0;if(n&&e&&(t=n.constructor)===e.constructor){if(t===Date)return n.getTime()===e.getTime();if(t===RegExp)return n.toString()===e.toString();if(t===Array){if((i=n.length)===e.length)for(;i--&&Fd(n[i],e[i]););return i===-1}if(!t||typeof n=="object"){i=0;for(t in n)if(CT.call(n,t)&&++i&&!CT.call(e,t)||!(t in e)||!Fd(n[t],e[t]))return!1;return Object.keys(e).length===i}}return n!==n&&e!==e}function sh(n,e){if(Object.is(n,e))return!0;if(typeof n!="object"||n===null||typeof e!="object"||e===null)return!1;const t=Object.keys(n);if(t.length!==Object.keys(e).length)return!1;for(let i=0;i0;)o[a]=arguments[a+4];n.call(this,o),n.captureStackTrace&&n.captureStackTrace(this,e),this.rule=t,this.value=i,this.cause=r,this.target=s}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e}(Error),Ns=function(e,t){e===void 0&&(e=[]),t===void 0&&(t=[]),this.chain=e,this.nextRuleModifiers=t};Ns.prototype._applyRule=function(e,t){var i=this;return function(){for(var r=[],s=arguments.length;s--;)r[s]=arguments[s];return i.chain.push(new O0(t,e.apply(i,r),r,i.nextRuleModifiers)),i.nextRuleModifiers=[],i}};Ns.prototype._applyModifier=function(e,t){return this.nextRuleModifiers.push(new MB(t,e.simple,e.async)),this};Ns.prototype._clone=function(){return new Ns(this.chain.slice(),this.nextRuleModifiers.slice())};Ns.prototype.test=function(e){return this.chain.every(function(t){return t._test(e)})};Ns.prototype.testAll=function(e){var t=[];return this.chain.forEach(function(i){try{i._check(e)}catch(r){t.push(new Mw(i,e,r))}}),t};Ns.prototype.check=function(e){this.chain.forEach(function(t){try{t._check(e)}catch(i){throw new Mw(t,e,i)}})};Ns.prototype.testAsync=function(e){var t=this;return new Promise(function(i,r){g4(e,t.chain.slice(),i,r)})};function g4(n,e,t,i){if(e.length){var r=e.shift();r._testAsync(n).then(function(){g4(n,e,t,i)},function(s){i(new Mw(r,n,s))})}else t(n)}var AT=function(n,e){return e&&typeof n=="string"&&n.trim().length===0?!0:n==null};function bB(n,e){return e===void 0&&(e=!1),{simple:function(t){return AT(t,e)||n.check(t)===void 0},async:function(t){return AT(t,e)||n.testAsync(t)}}}function Xi(){return typeof Proxy<"u"?v4(new Ns):p_(new Ns)}var zd={};Xi.extend=function(n){Object.assign(zd,n)};Xi.clearCustomRules=function(){zd={}};function v4(n){return new Proxy(n,{get:function(t,i){if(i in t)return t[i];var r=v4(n._clone());if(i in Tg)return r._applyModifier(Tg[i],i);if(i in zd)return r._applyRule(zd[i],i);if(i in m_)return r._applyRule(m_[i],i)}})}function p_(n){var e=function(r,s){return Object.keys(r).forEach(function(o){s[o]=function(){for(var a=[],l=arguments.length;l--;)a[l]=arguments[l];var u=p_(s._clone()),d=u._applyRule(r[o],o).apply(void 0,a);return d}}),s},t=e(m_,n),i=e(zd,t);return Object.keys(Tg).forEach(function(r){Object.defineProperty(i,r,{get:function(){var s=p_(i._clone());return s._applyModifier(Tg[r],r)}})}),i}var Tg={not:{simple:function(n){return function(e){return!n(e)}},async:function(n){return function(e){return Promise.resolve(n(e)).then(function(t){return!t}).catch(function(){return!0})}}},some:{simple:function(n){return function(e){return ym(e).some(function(t){try{return n(t)}catch{return!1}})}},async:function(n){return function(e){return Promise.all(ym(e).map(function(t){try{return n(t).catch(function(){return!1})}catch{return!1}})).then(function(t){return t.some(Boolean)})}}},every:{simple:function(n){return function(e){return e!==!1&&ym(e).every(n)}},async:function(n){return function(e){return Promise.all(ym(e).map(n)).then(function(t){return t.every(Boolean)})}}},strict:{simple:function(n,e){return function(t){return RT(e)&&t&&typeof t=="object"?Object.keys(e.args[0]).length===Object.keys(t).length&&n(t):n(t)}},async:function(n,e){return function(t){return Promise.resolve(n(t)).then(function(i){return RT(e)&&t&&typeof t=="object"?Object.keys(e.args[0]).length===Object.keys(t).length&&i:i}).catch(function(){return!1})}}}};function RT(n){return n&&n.name==="schema"&&n.args.length>0&&typeof n.args[0]=="object"}function ym(n){return typeof n=="string"?n.split(""):n}var m_={equal:function(n){return function(e){return e==n}},exact:function(n){return function(e){return e===n}},number:function(n){return n===void 0&&(n=!0),function(e){return typeof e=="number"&&(n||isFinite(e))}},integer:function(){return function(n){var e=Number.isInteger||TB;return e(n)}},numeric:function(){return function(n){return!isNaN(parseFloat(n))&&isFinite(n)}},string:function(){return Mc("string")},boolean:function(){return Mc("boolean")},undefined:function(){return Mc("undefined")},null:function(){return Mc("null")},array:function(){return Mc("array")},object:function(){return Mc("object")},instanceOf:function(n){return function(e){return e instanceof n}},pattern:function(n){return function(e){return n.test(e)}},lowercase:function(){return function(n){return typeof n=="boolean"||n===n.toLowerCase()&&n.trim()!==""}},uppercase:function(){return function(n){return n===n.toUpperCase()&&n.trim()!==""}},vowel:function(){return function(n){return/^[aeiou]+$/i.test(n)}},consonant:function(){return function(n){return/^(?=[^aeiou])([a-z]+)$/i.test(n)}},first:function(n){return function(e){return e[0]==n}},last:function(n){return function(e){return e[e.length-1]==n}},empty:function(){return function(n){return n.length===0}},length:function(n,e){return function(t){return t.length>=n&&t.length<=(e||n)}},minLength:function(n){return function(e){return e.length>=n}},maxLength:function(n){return function(e){return e.length<=n}},negative:function(){return function(n){return n<0}},positive:function(){return function(n){return n>=0}},between:function(n,e){return function(t){return t>=n&&t<=e}},range:function(n,e){return function(t){return t>=n&&t<=e}},lessThan:function(n){return function(e){return en}},greaterThanOrEqual:function(n){return function(e){return e>=n}},even:function(){return function(n){return n%2===0}},odd:function(){return function(n){return n%2!==0}},includes:function(n){return function(e){return~e.indexOf(n)}},schema:function(n){return CB(n)},passesAnyOf:function(){for(var n=[],e=arguments.length;e--;)n[e]=arguments[e];return function(t){return n.some(function(i){return i.test(t)})}},optional:bB};function Mc(n){return function(e){return Array.isArray(e)&&n==="array"||e===null&&n==="null"||typeof e===n}}function TB(n){return typeof n=="number"&&isFinite(n)&&Math.floor(n)===n}function CB(n){return{simple:function(e){var t=[];if(Object.keys(n).forEach(function(i){var r=n[i];try{r.check((e||{})[i])}catch(s){s.target=i,t.push(s)}}),t.length>0)throw t;return!0},async:function(e){var t=[],i=Object.keys(n).map(function(r){var s=n[r];return s.testAsync((e||{})[r]).catch(function(o){o.target=r,t.push(o)})});return Promise.all(i).then(function(){if(t.length>0)throw t;return!0})}}}var $t="colors",Ti="sizes",Ke="space",AB={gap:Ke,gridGap:Ke,columnGap:Ke,gridColumnGap:Ke,rowGap:Ke,gridRowGap:Ke,inset:Ke,insetBlock:Ke,insetBlockEnd:Ke,insetBlockStart:Ke,insetInline:Ke,insetInlineEnd:Ke,insetInlineStart:Ke,margin:Ke,marginTop:Ke,marginRight:Ke,marginBottom:Ke,marginLeft:Ke,marginBlock:Ke,marginBlockEnd:Ke,marginBlockStart:Ke,marginInline:Ke,marginInlineEnd:Ke,marginInlineStart:Ke,padding:Ke,paddingTop:Ke,paddingRight:Ke,paddingBottom:Ke,paddingLeft:Ke,paddingBlock:Ke,paddingBlockEnd:Ke,paddingBlockStart:Ke,paddingInline:Ke,paddingInlineEnd:Ke,paddingInlineStart:Ke,top:Ke,right:Ke,bottom:Ke,left:Ke,scrollMargin:Ke,scrollMarginTop:Ke,scrollMarginRight:Ke,scrollMarginBottom:Ke,scrollMarginLeft:Ke,scrollMarginX:Ke,scrollMarginY:Ke,scrollMarginBlock:Ke,scrollMarginBlockEnd:Ke,scrollMarginBlockStart:Ke,scrollMarginInline:Ke,scrollMarginInlineEnd:Ke,scrollMarginInlineStart:Ke,scrollPadding:Ke,scrollPaddingTop:Ke,scrollPaddingRight:Ke,scrollPaddingBottom:Ke,scrollPaddingLeft:Ke,scrollPaddingX:Ke,scrollPaddingY:Ke,scrollPaddingBlock:Ke,scrollPaddingBlockEnd:Ke,scrollPaddingBlockStart:Ke,scrollPaddingInline:Ke,scrollPaddingInlineEnd:Ke,scrollPaddingInlineStart:Ke,fontSize:"fontSizes",background:$t,backgroundColor:$t,backgroundImage:$t,borderImage:$t,border:$t,borderBlock:$t,borderBlockEnd:$t,borderBlockStart:$t,borderBottom:$t,borderBottomColor:$t,borderColor:$t,borderInline:$t,borderInlineEnd:$t,borderInlineStart:$t,borderLeft:$t,borderLeftColor:$t,borderRight:$t,borderRightColor:$t,borderTop:$t,borderTopColor:$t,caretColor:$t,color:$t,columnRuleColor:$t,fill:$t,outline:$t,outlineColor:$t,stroke:$t,textDecorationColor:$t,fontFamily:"fonts",fontWeight:"fontWeights",lineHeight:"lineHeights",letterSpacing:"letterSpacings",blockSize:Ti,minBlockSize:Ti,maxBlockSize:Ti,inlineSize:Ti,minInlineSize:Ti,maxInlineSize:Ti,width:Ti,minWidth:Ti,maxWidth:Ti,height:Ti,minHeight:Ti,maxHeight:Ti,flexBasis:Ti,gridTemplateColumns:Ti,gridTemplateRows:Ti,borderWidth:"borderWidths",borderTopWidth:"borderWidths",borderRightWidth:"borderWidths",borderBottomWidth:"borderWidths",borderLeftWidth:"borderWidths",borderStyle:"borderStyles",borderTopStyle:"borderStyles",borderRightStyle:"borderStyles",borderBottomStyle:"borderStyles",borderLeftStyle:"borderStyles",borderRadius:"radii",borderTopLeftRadius:"radii",borderTopRightRadius:"radii",borderBottomRightRadius:"radii",borderBottomLeftRadius:"radii",boxShadow:"shadows",textShadow:"shadows",transition:"transitions",zIndex:"zIndices"},RB=(n,e)=>typeof e=="function"?{"()":Function.prototype.toString.call(e)}:e,Pu=()=>{const n=Object.create(null);return(e,t,...i)=>{const r=(s=>JSON.stringify(s,RB))(e);return r in n?n[r]:n[r]=t(e,...i)}},yl=Symbol.for("sxs.internal"),bw=(n,e)=>Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)),PT=n=>{for(const e in n)return!0;return!1},{hasOwnProperty:PB}=Object.prototype,g_=n=>n.includes("-")?n:n.replace(/[A-Z]/g,e=>"-"+e.toLowerCase()),LB=/\s+(?![^()]*\))/,bc=n=>e=>n(...typeof e=="string"?String(e).split(LB):[e]),LT={appearance:n=>({WebkitAppearance:n,appearance:n}),backfaceVisibility:n=>({WebkitBackfaceVisibility:n,backfaceVisibility:n}),backdropFilter:n=>({WebkitBackdropFilter:n,backdropFilter:n}),backgroundClip:n=>({WebkitBackgroundClip:n,backgroundClip:n}),boxDecorationBreak:n=>({WebkitBoxDecorationBreak:n,boxDecorationBreak:n}),clipPath:n=>({WebkitClipPath:n,clipPath:n}),content:n=>({content:n.includes('"')||n.includes("'")||/^([A-Za-z]+\([^]*|[^]*-quote|inherit|initial|none|normal|revert|unset)$/.test(n)?n:`"${n}"`}),hyphens:n=>({WebkitHyphens:n,hyphens:n}),maskImage:n=>({WebkitMaskImage:n,maskImage:n}),maskSize:n=>({WebkitMaskSize:n,maskSize:n}),tabSize:n=>({MozTabSize:n,tabSize:n}),textSizeAdjust:n=>({WebkitTextSizeAdjust:n,textSizeAdjust:n}),userSelect:n=>({WebkitUserSelect:n,userSelect:n}),marginBlock:bc((n,e)=>({marginBlockStart:n,marginBlockEnd:e||n})),marginInline:bc((n,e)=>({marginInlineStart:n,marginInlineEnd:e||n})),maxSize:bc((n,e)=>({maxBlockSize:n,maxInlineSize:e||n})),minSize:bc((n,e)=>({minBlockSize:n,minInlineSize:e||n})),paddingBlock:bc((n,e)=>({paddingBlockStart:n,paddingBlockEnd:e||n})),paddingInline:bc((n,e)=>({paddingInlineStart:n,paddingInlineEnd:e||n}))},hy=/([\d.]+)([^]*)/,IB=(n,e)=>n.length?n.reduce((t,i)=>(t.push(...e.map(r=>r.includes("&")?r.replace(/&/g,/[ +>|~]/.test(i)&&/&.*&/.test(r)?`:is(${i})`:i):i+" "+r)),t),[]):e,OB=(n,e)=>n in DB&&typeof e=="string"?e.replace(/^((?:[^]*[^\w-])?)(fit-content|stretch)((?:[^\w-][^]*)?)$/,(t,i,r,s)=>i+(r==="stretch"?`-moz-available${s};${g_(n)}:${i}-webkit-fill-available`:`-moz-fit-content${s};${g_(n)}:${i}fit-content`)+s):String(e),DB={blockSize:1,height:1,inlineSize:1,maxBlockSize:1,maxHeight:1,maxInlineSize:1,maxWidth:1,minBlockSize:1,minHeight:1,minInlineSize:1,minWidth:1,width:1},wo=n=>n?n+"-":"",y4=(n,e,t)=>n.replace(/([+-])?((?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?)?(\$|--)([$\w-]+)/g,(i,r,s,o,a)=>o=="$"==!!s?i:(r||o=="--"?"calc(":"")+"var(--"+(o==="$"?wo(e)+(a.includes("$")?"":wo(t))+a.replace(/\$/g,"-"):a)+")"+(r||o=="--"?"*"+(r||"")+(s||"1")+")":"")),NB=/\s*,\s*(?![^()]*\))/,kB=Object.prototype.toString,Xc=(n,e,t,i,r)=>{let s,o,a;const l=(u,d,h)=>{let p,m;const v=w=>{for(p in w){const _=p.charCodeAt(0)===64,S=_&&Array.isArray(w[p])?w[p]:[w[p]];for(m of S){const M=/[A-Z]/.test(g=p)?g:g.replace(/-[^]/g,T=>T[1].toUpperCase()),A=typeof m=="object"&&m&&m.toString===kB&&(!i.utils[M]||!d.length);if(M in i.utils&&!A){const T=i.utils[M];if(T!==o){o=T,v(T(m)),o=null;continue}}else if(M in LT){const T=LT[M];if(T!==a){a=T,v(T(m)),a=null;continue}}if(_&&(x=p.slice(1)in i.media?"@media "+i.media[p.slice(1)]:p,p=x.replace(/\(\s*([\w-]+)\s*(=|<|<=|>|>=)\s*([\w-]+)\s*(?:(<|<=|>|>=)\s*([\w-]+)\s*)?\)/g,(T,L,O,H,C,I)=>{const j=hy.test(L),ee=.0625*(j?-1:1),[z,J]=j?[H,L]:[L,H];return"("+(O[0]==="="?"":O[0]===">"===j?"max-":"min-")+z+":"+(O[0]!=="="&&O.length===1?J.replace(hy,(Z,ne,k)=>Number(ne)+ee*(O===">"?1:-1)+k):J)+(C?") and ("+(C[0]===">"?"min-":"max-")+z+":"+(C.length===1?I.replace(hy,(Z,ne,k)=>Number(ne)+ee*(C===">"?-1:1)+k):I):"")+")"})),A){const T=_?h.concat(p):[...h],L=_?[...d]:IB(d,p.split(NB));s!==void 0&&r(IT(...s)),s=void 0,l(m,L,T)}else s===void 0&&(s=[[],d,h]),p=_||p.charCodeAt(0)!==36?p:`--${wo(i.prefix)}${p.slice(1).replace(/\$/g,"-")}`,m=A?m:typeof m=="number"?m&&M in UB?String(m)+"px":String(m):y4(OB(M,m??""),i.prefix,i.themeMap[M]),s[0].push(`${_?`${p} `:`${g_(p)}:`}${m}`)}}var x,g};v(u),s!==void 0&&r(IT(...s)),s=void 0};l(n,e,t)},IT=(n,e,t)=>`${t.map(i=>`${i}{`).join("")}${e.length?`${e.join(",")}{`:""}${n.join(";")}${e.length?"}":""}${Array(t.length?t.length+1:0).join("}")}`,UB={animationDelay:1,animationDuration:1,backgroundSize:1,blockSize:1,border:1,borderBlock:1,borderBlockEnd:1,borderBlockEndWidth:1,borderBlockStart:1,borderBlockStartWidth:1,borderBlockWidth:1,borderBottom:1,borderBottomLeftRadius:1,borderBottomRightRadius:1,borderBottomWidth:1,borderEndEndRadius:1,borderEndStartRadius:1,borderInlineEnd:1,borderInlineEndWidth:1,borderInlineStart:1,borderInlineStartWidth:1,borderInlineWidth:1,borderLeft:1,borderLeftWidth:1,borderRadius:1,borderRight:1,borderRightWidth:1,borderSpacing:1,borderStartEndRadius:1,borderStartStartRadius:1,borderTop:1,borderTopLeftRadius:1,borderTopRightRadius:1,borderTopWidth:1,borderWidth:1,bottom:1,columnGap:1,columnRule:1,columnRuleWidth:1,columnWidth:1,containIntrinsicSize:1,flexBasis:1,fontSize:1,gap:1,gridAutoColumns:1,gridAutoRows:1,gridTemplateColumns:1,gridTemplateRows:1,height:1,inlineSize:1,inset:1,insetBlock:1,insetBlockEnd:1,insetBlockStart:1,insetInline:1,insetInlineEnd:1,insetInlineStart:1,left:1,letterSpacing:1,margin:1,marginBlock:1,marginBlockEnd:1,marginBlockStart:1,marginBottom:1,marginInline:1,marginInlineEnd:1,marginInlineStart:1,marginLeft:1,marginRight:1,marginTop:1,maxBlockSize:1,maxHeight:1,maxInlineSize:1,maxWidth:1,minBlockSize:1,minHeight:1,minInlineSize:1,minWidth:1,offsetDistance:1,offsetRotate:1,outline:1,outlineOffset:1,outlineWidth:1,overflowClipMargin:1,padding:1,paddingBlock:1,paddingBlockEnd:1,paddingBlockStart:1,paddingBottom:1,paddingInline:1,paddingInlineEnd:1,paddingInlineStart:1,paddingLeft:1,paddingRight:1,paddingTop:1,perspective:1,right:1,rowGap:1,scrollMargin:1,scrollMarginBlock:1,scrollMarginBlockEnd:1,scrollMarginBlockStart:1,scrollMarginBottom:1,scrollMarginInline:1,scrollMarginInlineEnd:1,scrollMarginInlineStart:1,scrollMarginLeft:1,scrollMarginRight:1,scrollMarginTop:1,scrollPadding:1,scrollPaddingBlock:1,scrollPaddingBlockEnd:1,scrollPaddingBlockStart:1,scrollPaddingBottom:1,scrollPaddingInline:1,scrollPaddingInlineEnd:1,scrollPaddingInlineStart:1,scrollPaddingLeft:1,scrollPaddingRight:1,scrollPaddingTop:1,shapeMargin:1,textDecoration:1,textDecorationThickness:1,textIndent:1,textUnderlineOffset:1,top:1,transitionDelay:1,transitionDuration:1,verticalAlign:1,width:1,wordSpacing:1},OT=n=>String.fromCharCode(n+(n>25?39:97)),xl=n=>(e=>{let t,i="";for(t=Math.abs(e);t>52;t=t/52|0)i=OT(t%52)+i;return OT(t%52)+i})(((e,t)=>{let i=t.length;for(;i;)e=33*e^t.charCodeAt(--i);return e})(5381,JSON.stringify(n))>>>0),Nf=["themed","global","styled","onevar","resonevar","allvar","inline"],FB=n=>{if(n.href&&!n.href.startsWith(location.origin))return!1;try{return!!n.cssRules}catch{return!1}},zB=n=>{let e;const t=()=>{const{cssRules:r}=e.sheet;return[].map.call(r,(s,o)=>{const{cssText:a}=s;let l="";if(a.startsWith("--sxs"))return"";if(r[o-1]&&(l=r[o-1].cssText).startsWith("--sxs")){if(!s.cssRules.length)return"";for(const u in e.rules)if(e.rules[u].group===s)return`--sxs{--sxs:${[...e.rules[u].cache].join(" ")}}${a}`;return s.cssRules.length?`${l}${a}`:""}return a}).join("")},i=()=>{if(e){const{rules:a,sheet:l}=e;if(!l.deleteRule){for(;Object(Object(l.cssRules)[0]).type===3;)l.cssRules.splice(0,1);l.cssRules=[]}for(const u in a)delete a[u]}const r=Object(n).styleSheets||[];for(const a of r)if(FB(a)){for(let l=0,u=a.cssRules;u[l];++l){const d=Object(u[l]);if(d.type!==1)continue;const h=Object(u[l+1]);if(h.type!==4)continue;++l;const{cssText:p}=d;if(!p.startsWith("--sxs"))continue;const m=p.slice(14,-3).trim().split(/\s+/),v=Nf[m[0]];v&&(e||(e={sheet:a,reset:i,rules:{},toString:t}),e.rules[v]={group:h,index:l,cache:new Set(m)})}if(e)break}if(!e){const a=(l,u)=>({type:u,cssRules:[],insertRule(d,h){this.cssRules.splice(h,0,a(d,{import:3,undefined:1}[(d.toLowerCase().match(/^@([a-z]+)/)||[])[1]]||4))},get cssText(){return l==="@media{}"?`@media{${[].map.call(this.cssRules,d=>d.cssText).join("")}}`:l}});e={sheet:n?(n.head||n).appendChild(document.createElement("style")).sheet:a("","text/css"),rules:{},reset:i,toString:t}}const{sheet:s,rules:o}=e;for(let a=Nf.length-1;a>=0;--a){const l=Nf[a];if(!o[l]){const u=Nf[a+1],d=o[u]?o[u].index:s.cssRules.length;s.insertRule("@media{}",d),s.insertRule(`--sxs{--sxs:${a}}`,d),o[l]={group:s.cssRules[d+1],index:d,cache:new Set([a])}}BB(o[l])}};return i(),e},BB=n=>{const e=n.group;let t=e.cssRules.length;n.apply=i=>{try{e.insertRule(i,t),++t}catch{}}},Tf=Symbol(),HB=Pu(),DT=(n,e)=>HB(n,()=>(...t)=>{let i={type:null,composers:new Set};for(const r of t)if(r!=null)if(r[yl]){i.type==null&&(i.type=r[yl].type);for(const s of r[yl].composers)i.composers.add(s)}else r.constructor!==Object||r.$$typeof?i.type==null&&(i.type=r):i.composers.add(VB(r,n));return i.type==null&&(i.type="span"),i.composers.size||i.composers.add(["PJLV",{},[],[],{},[]]),WB(n,i,e)}),VB=({variants:n,compoundVariants:e,defaultVariants:t,...i},r)=>{const s=`${wo(r.prefix)}c-${xl(i)}`,o=[],a=[],l=Object.create(null),u=[];for(const p in t)l[p]=String(t[p]);if(typeof n=="object"&&n)for(const p in n){d=l,h=p,PB.call(d,h)||(l[p]="undefined");const m=n[p];for(const v in m){const w={[p]:String(v)};String(v)==="undefined"&&u.push(p);const x=m[v],g=[w,x,!PT(x)];o.push(g)}}var d,h;if(typeof e=="object"&&e)for(const p of e){let{css:m,...v}=p;m=typeof m=="object"&&m||{};for(const x in v)v[x]=String(v[x]);const w=[v,m,!PT(m)];a.push(w)}return[s,i,o,a,l,u]},WB=(n,e,t)=>{const[i,r,s,o]=$B(e.composers),a=typeof e.type=="function"||e.type.$$typeof?(h=>{function p(){for(let m=0;mp.rules[m]={apply:v=>p[Tf].push([m,v])}),p})(t):null,l=(a||t).rules,u=`.${i}${r.length>1?`:where(.${r.slice(1).join(".")})`:""}`,d=h=>{h=typeof h=="object"&&h||GB;const{css:p,...m}=h,v={};for(const g in s)if(delete m[g],g in h){let _=h[g];typeof _=="object"&&_?v[g]={"@initial":s[g],..._}:(_=String(_),v[g]=_!=="undefined"||o.has(g)?_:s[g])}else v[g]=s[g];const w=new Set([...r]);for(const[g,_,S,M]of e.composers){t.rules.styled.cache.has(g)||(t.rules.styled.cache.add(g),Xc(_,[`.${g}`],[],n,L=>{l.styled.apply(L)}));const A=NT(S,v,n.media),T=NT(M,v,n.media,!0);for(const L of A)if(L!==void 0)for(const[O,H,C]of L){const I=`${g}-${xl(H)}-${O}`;w.add(I);const j=(C?t.rules.resonevar:t.rules.onevar).cache,ee=C?l.resonevar:l.onevar;j.has(I)||(j.add(I),Xc(H,[`.${I}`],[],n,z=>{ee.apply(z)}))}for(const L of T)if(L!==void 0)for(const[O,H]of L){const C=`${g}-${xl(H)}-${O}`;w.add(C),t.rules.allvar.cache.has(C)||(t.rules.allvar.cache.add(C),Xc(H,[`.${C}`],[],n,I=>{l.allvar.apply(I)}))}}if(typeof p=="object"&&p){const g=`${i}-i${xl(p)}-css`;w.add(g),t.rules.inline.cache.has(g)||(t.rules.inline.cache.add(g),Xc(p,[`.${g}`],[],n,_=>{l.inline.apply(_)}))}for(const g of String(h.className||"").trim().split(/\s+/))g&&w.add(g);const x=m.className=[...w].join(" ");return{type:e.type,className:x,selector:u,props:m,toString:()=>x,deferredInjector:a}};return bw(d,{className:i,selector:u,[yl]:e,toString:()=>(t.rules.styled.cache.has(i)||d(),i)})},$B=n=>{let e="";const t=[],i={},r=[];for(const[s,,,,o,a]of n){e===""&&(e=s),t.push(s),r.push(...a);for(const l in o){const u=o[l];(i[l]===void 0||u!=="undefined"||a.includes(u))&&(i[l]=u)}}return[e,t,i,new Set(r)]},NT=(n,e,t,i)=>{const r=[];e:for(let[s,o,a]of n){if(a)continue;let l,u=0,d=!1;for(l in s){const h=s[l];let p=e[l];if(p!==h){if(typeof p!="object"||!p)continue e;{let m,v,w=0;for(const x in p){if(h===String(p[x])){if(x!=="@initial"){const g=x.slice(1);(v=v||[]).push(g in t?t[g]:x.replace(/^@media ?/,"")),d=!0}u+=w,m=!0}++w}if(v&&v.length&&(o={["@media "+v.join(", ")]:o}),!m)continue e}}}(r[u]=r[u]||[]).push([i?"cv":`${l}-${s[l]}`,o,d])}return r},GB={},jB=Pu(),XB=(n,e)=>jB(n,()=>(...t)=>{const i=()=>{for(let r of t){r=typeof r=="object"&&r||{};let s=xl(r);if(!e.rules.global.cache.has(s)){if(e.rules.global.cache.add(s),"@import"in r){let o=[].indexOf.call(e.sheet.cssRules,e.rules.themed.group)-1;for(let a of[].concat(r["@import"]))a=a.includes('"')||a.includes("'")?a:`"${a}"`,e.sheet.insertRule(`@import ${a};`,o++);delete r["@import"]}Xc(r,[],[],n,o=>{e.rules.global.apply(o)})}}return""};return bw(i,{toString:i})}),YB=Pu(),qB=(n,e)=>YB(n,()=>t=>{const i=`${wo(n.prefix)}k-${xl(t)}`,r=()=>{if(!e.rules.global.cache.has(i)){e.rules.global.cache.add(i);const s=[];Xc(t,[],[],n,a=>s.push(a));const o=`@keyframes ${i}{${s.join("")}}`;e.rules.global.apply(o)}return i};return bw(r,{get name(){return r()},toString:r})}),ZB=class{constructor(n,e,t,i){this.token=n==null?"":String(n),this.value=e==null?"":String(e),this.scale=t==null?"":String(t),this.prefix=i==null?"":String(i)}get computedValue(){return"var("+this.variable+")"}get variable(){return"--"+wo(this.prefix)+wo(this.scale)+this.token}toString(){return this.computedValue}},KB=Pu(),JB=(n,e)=>KB(n,()=>(t,i)=>{i=typeof t=="object"&&t||Object(i);const r=`.${t=(t=typeof t=="string"?t:"")||`${wo(n.prefix)}t-${xl(i)}`}`,s={},o=[];for(const l in i){s[l]={};for(const u in i[l]){const d=`--${wo(n.prefix)}${l}-${u}`,h=y4(String(i[l][u]),n.prefix,l);s[l][u]=new ZB(u,h,l,n.prefix),o.push(`${d}:${h}`)}}const a=()=>{if(o.length&&!e.rules.themed.cache.has(t)){e.rules.themed.cache.add(t);const l=`${i===n.theme?":root,":""}.${t}{${o.join(";")}}`;e.rules.themed.apply(l)}return t};return{...s,get className(){return a()},selector:r,toString:a}}),QB=Pu(),kT,eH=Pu(),x4=n=>{const e=(t=>{let i=!1;const r=QB(t,s=>{i=!0;const o="prefix"in(s=typeof s=="object"&&s||{})?String(s.prefix):"",a=typeof s.media=="object"&&s.media||{},l=typeof s.root=="object"?s.root||null:globalThis.document||null,u=typeof s.theme=="object"&&s.theme||{},d={prefix:o,media:a,theme:u,themeMap:typeof s.themeMap=="object"&&s.themeMap||{...AB},utils:typeof s.utils=="object"&&s.utils||{}},h=zB(l),p={css:DT(d,h),globalCss:XB(d,h),keyframes:qB(d,h),createTheme:JB(d,h),reset(){h.reset(),p.theme.toString()},theme:{},sheet:h,config:d,prefix:o,getCssText:h.toString,toString:h.toString};return String(p.theme=p.createTheme(u)),p});return i||r.reset(),r})(n);return e.styled=(({config:t,sheet:i})=>eH(t,()=>{const r=DT(t,i);return(...s)=>{const o=r(...s),a=o[yl].type,l=G.forwardRef((u,d)=>{const h=u&&u.as||a,{props:p,deferredInjector:m}=o(u);return delete p.as,p.ref=d,m?G.createElement(G.Fragment,null,G.createElement(h,p),G.createElement(m,null)):G.createElement(h,p)});return l.className=o.className,l.displayName=`Styled.${a.displayName||a.name||a}`,l.selector=o.selector,l.toString=()=>o.selector,l[yl]=o[yl],l}}))(e),e},tH=()=>kT||(kT=x4()),Hn=(...n)=>tH().styled(...n);function nH(n,e,t){return Math.max(e,Math.min(n,t))}const yi={toVector(n,e){return n===void 0&&(n=e),Array.isArray(n)?n:[n,n]},add(n,e){return[n[0]+e[0],n[1]+e[1]]},sub(n,e){return[n[0]-e[0],n[1]-e[1]]},addTo(n,e){n[0]+=e[0],n[1]+=e[1]},subTo(n,e){n[0]-=e[0],n[1]-=e[1]}};function UT(n,e,t){return e===0||Math.abs(e)===1/0?Math.pow(n,t*5):n*e*t/(e+t*n)}function FT(n,e,t,i=.15){return i===0?nH(n,e,t):nt?+UT(n-t,t-e,i)+t:n}function iH(n,[e,t],[i,r]){const[[s,o],[a,l]]=n;return[FT(e,s,o,i),FT(t,a,l,r)]}function rH(n,e){if(typeof n!="object"||n===null)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var i=t.call(n,e||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function sH(n){var e=rH(n,"string");return typeof e=="symbol"?e:String(e)}function Wi(n,e,t){return e=sH(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function zT(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);e&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),t.push.apply(t,i)}return t}function dn(n){for(var e=1;e{var t,i;return e.target===n.currentTarget||((t=n.currentTarget)===null||t===void 0||(i=t.contains)===null||i===void 0?void 0:i.call(t,e.target))})}function hH(n){return n.type==="touchend"||n.type==="touchcancel"?n.changedTouches:n.targetTouches}function w4(n){return D0(n)?hH(n)[0]:n}function pH(n){return dH(n).map(e=>e.identifier)}function py(n){const e=w4(n);return D0(n)?e.identifier:e.pointerId}function HT(n){const e=w4(n);return[e.clientX,e.clientY]}function mH(n){const e={};if("buttons"in n&&(e.buttons=n.buttons),"shiftKey"in n){const{shiftKey:t,altKey:i,metaKey:r,ctrlKey:s}=n;Object.assign(e,{shiftKey:t,altKey:i,metaKey:r,ctrlKey:s})}return e}function Cg(n,...e){return typeof n=="function"?n(...e):n}function gH(){}function vH(...n){return n.length===0?gH:n.length===1?n[0]:function(){let e;for(const t of n)e=t.apply(this,arguments)||e;return e}}function VT(n,e){return Object.assign({},e,n||{})}const yH=32;class xH{constructor(e,t,i){this.ctrl=e,this.args=t,this.key=i,this.state||(this.state={},this.computeValues([0,0]),this.computeInitial(),this.init&&this.init(),this.reset())}get state(){return this.ctrl.state[this.key]}set state(e){this.ctrl.state[this.key]=e}get shared(){return this.ctrl.state.shared}get eventStore(){return this.ctrl.gestureEventStores[this.key]}get timeoutStore(){return this.ctrl.gestureTimeoutStores[this.key]}get config(){return this.ctrl.config[this.key]}get sharedConfig(){return this.ctrl.config.shared}get handler(){return this.ctrl.handlers[this.key]}reset(){const{state:e,shared:t,ingKey:i,args:r}=this;t[i]=e._active=e.active=e._blocked=e._force=!1,e._step=[!1,!1],e.intentional=!1,e._movement=[0,0],e._distance=[0,0],e._direction=[0,0],e._delta=[0,0],e._bounds=[[-1/0,1/0],[-1/0,1/0]],e.args=r,e.axis=void 0,e.memo=void 0,e.elapsedTime=e.timeDelta=0,e.direction=[0,0],e.distance=[0,0],e.overflow=[0,0],e._movementBound=[!1,!1],e.velocity=[0,0],e.movement=[0,0],e.delta=[0,0],e.timeStamp=0}start(e){const t=this.state,i=this.config;t._active||(this.reset(),this.computeInitial(),t._active=!0,t.target=e.target,t.currentTarget=e.currentTarget,t.lastOffset=i.from?Cg(i.from,t):t.offset,t.offset=t.lastOffset,t.startTime=t.timeStamp=e.timeStamp)}computeValues(e){const t=this.state;t._values=e,t.values=this.config.transform(e)}computeInitial(){const e=this.state;e._initial=e._values,e.initial=e.values}compute(e){const{state:t,config:i,shared:r}=this;t.args=this.args;let s=0;if(e&&(t.event=e,i.preventDefault&&e.cancelable&&t.event.preventDefault(),t.type=e.type,r.touches=this.ctrl.pointerIds.size||this.ctrl.touchIds.size,r.locked=!!document.pointerLockElement,Object.assign(r,mH(e)),r.down=r.pressed=r.buttons%2===1||r.touches>0,s=e.timeStamp-t.timeStamp,t.timeStamp=e.timeStamp,t.elapsedTime=t.timeStamp-t.startTime),t._active){const T=t._delta.map(Math.abs);yi.addTo(t._distance,T)}this.axisIntent&&this.axisIntent(e);const[o,a]=t._movement,[l,u]=i.threshold,{_step:d,values:h}=t;if(i.hasCustomTransform?(d[0]===!1&&(d[0]=Math.abs(o)>=l&&h[0]),d[1]===!1&&(d[1]=Math.abs(a)>=u&&h[1])):(d[0]===!1&&(d[0]=Math.abs(o)>=l&&Math.sign(o)*l),d[1]===!1&&(d[1]=Math.abs(a)>=u&&Math.sign(a)*u)),t.intentional=d[0]!==!1||d[1]!==!1,!t.intentional)return;const p=[0,0];if(i.hasCustomTransform){const[T,L]=h;p[0]=d[0]!==!1?T-d[0]:0,p[1]=d[1]!==!1?L-d[1]:0}else p[0]=d[0]!==!1?o-d[0]:0,p[1]=d[1]!==!1?a-d[1]:0;this.restrictToAxis&&!t._blocked&&this.restrictToAxis(p);const m=t.offset,v=t._active&&!t._blocked||t.active;v&&(t.first=t._active&&!t.active,t.last=!t._active&&t.active,t.active=r[this.ingKey]=t._active,e&&(t.first&&("bounds"in i&&(t._bounds=Cg(i.bounds,t)),this.setup&&this.setup()),t.movement=p,this.computeOffset()));const[w,x]=t.offset,[[g,_],[S,M]]=t._bounds;t.overflow=[w_?1:0,xM?1:0],t._movementBound[0]=t.overflow[0]?t._movementBound[0]===!1?t._movement[0]:t._movementBound[0]:!1,t._movementBound[1]=t.overflow[1]?t._movementBound[1]===!1?t._movement[1]:t._movementBound[1]:!1;const A=t._active?i.rubberband||[0,0]:[0,0];if(t.offset=iH(t._bounds,t.offset,A),t.delta=yi.sub(t.offset,m),this.computeMovement(),v&&(!t.last||s>yH)){t.delta=yi.sub(t.offset,m);const T=t.delta.map(Math.abs);yi.addTo(t.distance,T),t.direction=t.delta.map(Math.sign),t._direction=t._delta.map(Math.sign),!t.first&&s>0&&(t.velocity=[T[0]/s,T[1]/s],t.timeDelta=s)}}emit(){const e=this.state,t=this.shared,i=this.config;if(e._active||this.clean(),(e._blocked||!e.intentional)&&!e._force&&!i.triggerAllEvents)return;const r=this.handler(dn(dn(dn({},t),e),{},{[this.aliasKey]:e.values}));r!==void 0&&(e.memo=r)}clean(){this.eventStore.clean(),this.timeoutStore.clean()}}function _H([n,e],t){const i=Math.abs(n),r=Math.abs(e);if(i>r&&i>t)return"x";if(r>i&&r>t)return"y"}class SH extends xH{constructor(...e){super(...e),Wi(this,"aliasKey","xy")}reset(){super.reset(),this.state.axis=void 0}init(){this.state.offset=[0,0],this.state.lastOffset=[0,0]}computeOffset(){this.state.offset=yi.add(this.state.lastOffset,this.state.movement)}computeMovement(){this.state.movement=yi.sub(this.state.offset,this.state.lastOffset)}axisIntent(e){const t=this.state,i=this.config;if(!t.axis&&e){const r=typeof i.axisThreshold=="object"?i.axisThreshold[S4(e)]:i.axisThreshold;t.axis=_H(t._movement,r)}t._blocked=(i.lockDirection||!!i.axis)&&!t.axis||!!i.axis&&i.axis!==t.axis}restrictToAxis(e){if(this.config.axis||this.config.lockDirection)switch(this.state.axis){case"x":e[1]=0;break;case"y":e[0]=0;break}}}const wH=n=>n,WT=.15,E4={enabled(n=!0){return n},eventOptions(n,e,t){return dn(dn({},t.shared.eventOptions),n)},preventDefault(n=!1){return n},triggerAllEvents(n=!1){return n},rubberband(n=0){switch(n){case!0:return[WT,WT];case!1:return[0,0];default:return yi.toVector(n)}},from(n){if(typeof n=="function")return n;if(n!=null)return yi.toVector(n)},transform(n,e,t){const i=n||t.shared.transform;return this.hasCustomTransform=!!i,i||wH},threshold(n){return yi.toVector(n,0)}},EH=0,oh=dn(dn({},E4),{},{axis(n,e,{axis:t}){if(this.lockDirection=t==="lock",!this.lockDirection)return t},axisThreshold(n=EH){return n},bounds(n={}){if(typeof n=="function")return s=>oh.bounds(n(s));if("current"in n)return()=>n.current;if(typeof HTMLElement=="function"&&n instanceof HTMLElement)return n;const{left:e=-1/0,right:t=1/0,top:i=-1/0,bottom:r=1/0}=n;return[[e,t],[i,r]]}}),$T={ArrowRight:(n,e=1)=>[n*e,0],ArrowLeft:(n,e=1)=>[-1*n*e,0],ArrowUp:(n,e=1)=>[0,-1*n*e],ArrowDown:(n,e=1)=>[0,n*e]};class MH extends SH{constructor(...e){super(...e),Wi(this,"ingKey","dragging")}reset(){super.reset();const e=this.state;e._pointerId=void 0,e._pointerActive=!1,e._keyboardActive=!1,e._preventScroll=!1,e._delayed=!1,e.swipe=[0,0],e.tap=!1,e.canceled=!1,e.cancel=this.cancel.bind(this)}setup(){const e=this.state;if(e._bounds instanceof HTMLElement){const t=e._bounds.getBoundingClientRect(),i=e.currentTarget.getBoundingClientRect(),r={left:t.left-i.left+e.offset[0],right:t.right-i.right+e.offset[0],top:t.top-i.top+e.offset[1],bottom:t.bottom-i.bottom+e.offset[1]};e._bounds=oh.bounds(r)}}cancel(){const e=this.state;e.canceled||(e.canceled=!0,e._active=!1,setTimeout(()=>{this.compute(),this.emit()},0))}setActive(){this.state._active=this.state._pointerActive||this.state._keyboardActive}clean(){this.pointerClean(),this.state._pointerActive=!1,this.state._keyboardActive=!1,super.clean()}pointerDown(e){const t=this.config,i=this.state;if(e.buttons!=null&&(Array.isArray(t.pointerButtons)?!t.pointerButtons.includes(e.buttons):t.pointerButtons!==-1&&t.pointerButtons!==e.buttons))return;const r=this.ctrl.setEventIds(e);t.pointerCapture&&e.target.setPointerCapture(e.pointerId),!(r&&r.size>1&&i._pointerActive)&&(this.start(e),this.setupPointer(e),i._pointerId=py(e),i._pointerActive=!0,this.computeValues(HT(e)),this.computeInitial(),t.preventScrollAxis&&S4(e)!=="mouse"?(i._active=!1,this.setupScrollPrevention(e)):t.delay>0?(this.setupDelayTrigger(e),t.triggerAllEvents&&(this.compute(e),this.emit())):this.startPointerDrag(e))}startPointerDrag(e){const t=this.state;t._active=!0,t._preventScroll=!0,t._delayed=!1,this.compute(e),this.emit()}pointerMove(e){const t=this.state,i=this.config;if(!t._pointerActive)return;const r=py(e);if(t._pointerId!==void 0&&r!==t._pointerId)return;const s=HT(e);if(document.pointerLockElement===e.target?t._delta=[e.movementX,e.movementY]:(t._delta=yi.sub(s,t._values),this.computeValues(s)),yi.addTo(t._movement,t._delta),this.compute(e),t._delayed&&t.intentional){this.timeoutStore.remove("dragDelay"),t.active=!1,this.startPointerDrag(e);return}if(i.preventScrollAxis&&!t._preventScroll)if(t.axis)if(t.axis===i.preventScrollAxis||i.preventScrollAxis==="xy"){t._active=!1,this.clean();return}else{this.timeoutStore.remove("startPointerDrag"),this.startPointerDrag(e);return}else return;this.emit()}pointerUp(e){this.ctrl.setEventIds(e);try{this.config.pointerCapture&&e.target.hasPointerCapture(e.pointerId)&&e.target.releasePointerCapture(e.pointerId)}catch{}const t=this.state,i=this.config;if(!t._active||!t._pointerActive)return;const r=py(e);if(t._pointerId!==void 0&&r!==t._pointerId)return;this.state._pointerActive=!1,this.setActive(),this.compute(e);const[s,o]=t._distance;if(t.tap=s<=i.tapsThreshold&&o<=i.tapsThreshold,t.tap&&i.filterTaps)t._force=!0;else{const[a,l]=t._delta,[u,d]=t._movement,[h,p]=i.swipe.velocity,[m,v]=i.swipe.distance,w=i.swipe.duration;if(t.elapsedTimeh&&Math.abs(u)>m&&(t.swipe[0]=Math.sign(a)),g>p&&Math.abs(d)>v&&(t.swipe[1]=Math.sign(l))}}this.emit()}pointerClick(e){!this.state.tap&&e.detail>0&&(e.preventDefault(),e.stopPropagation())}setupPointer(e){const t=this.config,i=t.device;t.pointerLock&&e.currentTarget.requestPointerLock(),t.pointerCapture||(this.eventStore.add(this.sharedConfig.window,i,"change",this.pointerMove.bind(this)),this.eventStore.add(this.sharedConfig.window,i,"end",this.pointerUp.bind(this)),this.eventStore.add(this.sharedConfig.window,i,"cancel",this.pointerUp.bind(this)))}pointerClean(){this.config.pointerLock&&document.pointerLockElement===this.state.currentTarget&&document.exitPointerLock()}preventScroll(e){this.state._preventScroll&&e.cancelable&&e.preventDefault()}setupScrollPrevention(e){this.state._preventScroll=!1,bH(e);const t=this.eventStore.add(this.sharedConfig.window,"touch","change",this.preventScroll.bind(this),{passive:!1});this.eventStore.add(this.sharedConfig.window,"touch","end",t),this.eventStore.add(this.sharedConfig.window,"touch","cancel",t),this.timeoutStore.add("startPointerDrag",this.startPointerDrag.bind(this),this.config.preventScrollDelay,e)}setupDelayTrigger(e){this.state._delayed=!0,this.timeoutStore.add("dragDelay",()=>{this.state._step=[0,0],this.startPointerDrag(e)},this.config.delay)}keyDown(e){const t=$T[e.key];if(t){const i=this.state,r=e.shiftKey?10:e.altKey?.1:1;this.start(e),i._delta=t(this.config.keyboardDisplacement,r),i._keyboardActive=!0,yi.addTo(i._movement,i._delta),this.compute(e),this.emit()}}keyUp(e){e.key in $T&&(this.state._keyboardActive=!1,this.setActive(),this.compute(e),this.emit())}bind(e){const t=this.config.device;e(t,"start",this.pointerDown.bind(this)),this.config.pointerCapture&&(e(t,"change",this.pointerMove.bind(this)),e(t,"end",this.pointerUp.bind(this)),e(t,"cancel",this.pointerUp.bind(this)),e("lostPointerCapture","",this.pointerUp.bind(this))),this.config.keys&&(e("key","down",this.keyDown.bind(this)),e("key","up",this.keyUp.bind(this))),this.config.filterTaps&&e("click","",this.pointerClick.bind(this),{capture:!0,passive:!1})}}function bH(n){"persist"in n&&typeof n.persist=="function"&&n.persist()}const ah=typeof window<"u"&&window.document&&window.document.createElement;function M4(){return ah&&"ontouchstart"in window}function TH(){return M4()||ah&&window.navigator.maxTouchPoints>1}function CH(){return ah&&"onpointerdown"in window}function AH(){return ah&&"exitPointerLock"in window.document}function RH(){try{return"constructor"in GestureEvent}catch{return!1}}const Ur={isBrowser:ah,gesture:RH(),touch:M4(),touchscreen:TH(),pointer:CH(),pointerLock:AH()},PH=250,LH=180,IH=.5,OH=50,DH=250,NH=10,GT={mouse:0,touch:0,pen:8},kH=dn(dn({},oh),{},{device(n,e,{pointer:{touch:t=!1,lock:i=!1,mouse:r=!1}={}}){return this.pointerLock=i&&Ur.pointerLock,Ur.touch&&t?"touch":this.pointerLock?"mouse":Ur.pointer&&!r?"pointer":Ur.touch?"touch":"mouse"},preventScrollAxis(n,e,{preventScroll:t}){if(this.preventScrollDelay=typeof t=="number"?t:t||t===void 0&&n?PH:void 0,!(!Ur.touchscreen||t===!1))return n||(t!==void 0?"y":void 0)},pointerCapture(n,e,{pointer:{capture:t=!0,buttons:i=1,keys:r=!0}={}}){return this.pointerButtons=i,this.keys=r,!this.pointerLock&&this.device==="pointer"&&t},threshold(n,e,{filterTaps:t=!1,tapsThreshold:i=3,axis:r=void 0}){const s=yi.toVector(n,t?i:r?1:0);return this.filterTaps=t,this.tapsThreshold=i,s},swipe({velocity:n=IH,distance:e=OH,duration:t=DH}={}){return{velocity:this.transform(yi.toVector(n)),distance:this.transform(yi.toVector(e)),duration:t}},delay(n=0){switch(n){case!0:return LH;case!1:return 0;default:return n}},axisThreshold(n){return n?dn(dn({},GT),n):GT},keyboardDisplacement(n=NH){return n}});dn(dn({},E4),{},{device(n,e,{shared:t,pointer:{touch:i=!1}={}}){if(t.target&&!Ur.touch&&Ur.gesture)return"gesture";if(Ur.touch&&i)return"touch";if(Ur.touchscreen){if(Ur.pointer)return"pointer";if(Ur.touch)return"touch"}},bounds(n,e,{scaleBounds:t={},angleBounds:i={}}){const r=o=>{const a=VT(Cg(t,o),{min:-1/0,max:1/0});return[a.min,a.max]},s=o=>{const a=VT(Cg(i,o),{min:-1/0,max:1/0});return[a.min,a.max]};return typeof t!="function"&&typeof i!="function"?[r(),s()]:o=>[r(o),s(o)]},threshold(n,e,t){return this.lockDirection=t.axis==="lock",yi.toVector(n,this.lockDirection?[.1,3]:0)},modifierKey(n){return n===void 0?"ctrlKey":n},pinchOnWheel(n=!0){return n}});dn(dn({},oh),{},{mouseOnly:(n=!0)=>n});dn(dn({},oh),{},{mouseOnly:(n=!0)=>n});const b4=new Map,v_=new Map;function UH(n){b4.set(n.key,n.engine),v_.set(n.key,n.resolver)}const FH={key:"drag",engine:MH,resolver:kH};function zH(n,e){if(n==null)return{};var t={},i=Object.keys(n),r,s;for(s=0;s=0)&&(t[r]=n[r]);return t}function BH(n,e){if(n==null)return{};var t=zH(n,e),i,r;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(n,i)&&(t[i]=n[i])}return t}const HH={target(n){if(n)return()=>"current"in n?n.current:n},enabled(n=!0){return n},window(n=Ur.isBrowser?window:void 0){return n},eventOptions({passive:n=!0,capture:e=!1}={}){return{passive:n,capture:e}},transform(n){return n}},VH=["target","eventOptions","window","enabled","transform"];function Xm(n={},e){const t={};for(const[i,r]of Object.entries(e))switch(typeof r){case"function":t[i]=r.call(t,n[i],i,n);break;case"object":t[i]=Xm(n[i],r);break;case"boolean":r&&(t[i]=n[i]);break}return t}function WH(n,e,t={}){const i=n,{target:r,eventOptions:s,window:o,enabled:a,transform:l}=i,u=BH(i,VH);if(t.shared=Xm({target:r,eventOptions:s,window:o,enabled:a,transform:l},HH),e){const d=v_.get(e);t[e]=Xm(dn({shared:t.shared},u),d)}else for(const d in u){const h=v_.get(d);h&&(t[d]=Xm(dn({shared:t.shared},u[d]),h))}return t}class T4{constructor(e,t){Wi(this,"_listeners",new Set),this._ctrl=e,this._gestureKey=t}add(e,t,i,r,s){const o=this._listeners,a=fH(t,i),l=this._gestureKey?this._ctrl.config[this._gestureKey].eventOptions:{},u=dn(dn({},l),s);e.addEventListener(a,r,u);const d=()=>{e.removeEventListener(a,r,u),o.delete(d)};return o.add(d),d}clean(){this._listeners.forEach(e=>e()),this._listeners.clear()}}class $H{constructor(){Wi(this,"_timeouts",new Map)}add(e,t,i=140,...r){this.remove(e),this._timeouts.set(e,window.setTimeout(t,i,...r))}remove(e){const t=this._timeouts.get(e);t&&window.clearTimeout(t)}clean(){this._timeouts.forEach(e=>void window.clearTimeout(e)),this._timeouts.clear()}}class GH{constructor(e){Wi(this,"gestures",new Set),Wi(this,"_targetEventStore",new T4(this)),Wi(this,"gestureEventStores",{}),Wi(this,"gestureTimeoutStores",{}),Wi(this,"handlers",{}),Wi(this,"config",{}),Wi(this,"pointerIds",new Set),Wi(this,"touchIds",new Set),Wi(this,"state",{shared:{shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1}}),jH(this,e)}setEventIds(e){if(D0(e))return this.touchIds=new Set(pH(e)),this.touchIds;if("pointerId"in e)return e.type==="pointerup"||e.type==="pointercancel"?this.pointerIds.delete(e.pointerId):e.type==="pointerdown"&&this.pointerIds.add(e.pointerId),this.pointerIds}applyHandlers(e,t){this.handlers=e,this.nativeHandlers=t}applyConfig(e,t){this.config=WH(e,t,this.config)}clean(){this._targetEventStore.clean();for(const e of this.gestures)this.gestureEventStores[e].clean(),this.gestureTimeoutStores[e].clean()}effect(){return this.config.shared.target&&this.bind(),()=>this._targetEventStore.clean()}bind(...e){const t=this.config.shared,i={};let r;if(!(t.target&&(r=t.target(),!r))){if(t.enabled){for(const o of this.gestures){const a=this.config[o],l=jT(i,a.eventOptions,!!r);if(a.enabled){const u=b4.get(o);new u(this,e,o).bind(l)}}const s=jT(i,t.eventOptions,!!r);for(const o in this.nativeHandlers)s(o,"",a=>this.nativeHandlers[o](dn(dn({},this.state.shared),{},{event:a,args:e})),void 0,!0)}for(const s in i)i[s]=vH(...i[s]);if(!r)return i;for(const s in i){const{device:o,capture:a,passive:l}=uH(s);this._targetEventStore.add(r,o,"",i[s],{capture:a,passive:l})}}}}function Tc(n,e){n.gestures.add(e),n.gestureEventStores[e]=new T4(n,e),n.gestureTimeoutStores[e]=new $H}function jH(n,e){e.drag&&Tc(n,"drag"),e.wheel&&Tc(n,"wheel"),e.scroll&&Tc(n,"scroll"),e.move&&Tc(n,"move"),e.pinch&&Tc(n,"pinch"),e.hover&&Tc(n,"hover")}const jT=(n,e,t)=>(i,r,s,o={},a=!1)=>{var l,u;const d=(l=o.capture)!==null&&l!==void 0?l:e.capture,h=(u=o.passive)!==null&&u!==void 0?u:e.passive;let p=a?i:lH(i,r,d);t&&h&&(p+="Passive"),n[p]=n[p]||[],n[p].push(s)};function XH(n,e={},t,i){const r=G.useMemo(()=>new GH(n),[]);if(r.applyHandlers(n,i),r.applyConfig(e,t),G.useEffect(r.effect.bind(r)),G.useEffect(()=>r.clean.bind(r),[]),e.target===void 0)return r.bind.bind(r)}function YH(n,e){return UH(FH),XH({drag:n},e||{},"drag")}function to(n,e,{checkForDefaultPrevented:t=!0}={}){return function(r){if(n==null||n(r),t===!1||!r.defaultPrevented)return e==null?void 0:e(r)}}function C4(n,e=[]){let t=[];function i(s,o){const a=R.createContext(o),l=t.length;t=[...t,o];function u(h){const{scope:p,children:m,...v}=h,w=(p==null?void 0:p[n][l])||a,x=R.useMemo(()=>v,Object.values(v));return R.createElement(w.Provider,{value:x},m)}function d(h,p){const m=(p==null?void 0:p[n][l])||a,v=R.useContext(m);if(v)return v;if(o!==void 0)return o;throw new Error(`\`${h}\` must be used within \`${s}\``)}return u.displayName=s+"Provider",[u,d]}const r=()=>{const s=t.map(o=>R.createContext(o));return function(a){const l=(a==null?void 0:a[n])||s;return R.useMemo(()=>({[`__scope${n}`]:{...a,[n]:l}}),[a,l])}};return r.scopeName=n,[i,qH(r,...e)]}function qH(...n){const e=n[0];if(n.length===1)return e;const t=()=>{const i=n.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(s){const o=i.reduce((a,{useScope:l,scopeName:u})=>{const h=l(s)[`__scope${u}`];return{...a,...h}},{});return R.useMemo(()=>({[`__scope${e.scopeName}`]:o}),[o])}};return t.scopeName=e.scopeName,t}function Lu(n){const e=R.useRef(n);return R.useEffect(()=>{e.current=n}),R.useMemo(()=>(...t)=>{var i;return(i=e.current)===null||i===void 0?void 0:i.call(e,...t)},[])}function ZH(n,e=globalThis==null?void 0:globalThis.document){const t=Lu(n);R.useEffect(()=>{const i=r=>{r.key==="Escape"&&t(r)};return e.addEventListener("keydown",i),()=>e.removeEventListener("keydown",i)},[t,e])}const y_="dismissableLayer.update",KH="dismissableLayer.pointerDownOutside",JH="dismissableLayer.focusOutside";let XT;const QH=R.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),eV=R.forwardRef((n,e)=>{var t;const{disableOutsidePointerEvents:i=!1,onEscapeKeyDown:r,onPointerDownOutside:s,onFocusOutside:o,onInteractOutside:a,onDismiss:l,...u}=n,d=R.useContext(QH),[h,p]=R.useState(null),m=(t=h==null?void 0:h.ownerDocument)!==null&&t!==void 0?t:globalThis==null?void 0:globalThis.document,[,v]=R.useState({}),w=Ru(e,O=>p(O)),x=Array.from(d.layers),[g]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),_=x.indexOf(g),S=h?x.indexOf(h):-1,M=d.layersWithOutsidePointerEventsDisabled.size>0,A=S>=_,T=tV(O=>{const H=O.target,C=[...d.branches].some(I=>I.contains(H));!A||C||(s==null||s(O),a==null||a(O),O.defaultPrevented||l==null||l())},m),L=nV(O=>{const H=O.target;[...d.branches].some(I=>I.contains(H))||(o==null||o(O),a==null||a(O),O.defaultPrevented||l==null||l())},m);return ZH(O=>{S===d.layers.size-1&&(r==null||r(O),!O.defaultPrevented&&l&&(O.preventDefault(),l()))},m),R.useEffect(()=>{if(h)return i&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(XT=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(h)),d.layers.add(h),YT(),()=>{i&&d.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=XT)}},[h,m,i,d]),R.useEffect(()=>()=>{h&&(d.layers.delete(h),d.layersWithOutsidePointerEventsDisabled.delete(h),YT())},[h,d]),R.useEffect(()=>{const O=()=>v({});return document.addEventListener(y_,O),()=>document.removeEventListener(y_,O)},[]),R.createElement(Ul.div,gn({},u,{ref:w,style:{pointerEvents:M?A?"auto":"none":void 0,...n.style},onFocusCapture:to(n.onFocusCapture,L.onFocusCapture),onBlurCapture:to(n.onBlurCapture,L.onBlurCapture),onPointerDownCapture:to(n.onPointerDownCapture,T.onPointerDownCapture)}))});function tV(n,e=globalThis==null?void 0:globalThis.document){const t=Lu(n),i=R.useRef(!1),r=R.useRef(()=>{});return R.useEffect(()=>{const s=a=>{if(a.target&&!i.current){let u=function(){A4(KH,t,l,{discrete:!0})};const l={originalEvent:a};a.pointerType==="touch"?(e.removeEventListener("click",r.current),r.current=u,e.addEventListener("click",r.current,{once:!0})):u()}else e.removeEventListener("click",r.current);i.current=!1},o=window.setTimeout(()=>{e.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(o),e.removeEventListener("pointerdown",s),e.removeEventListener("click",r.current)}},[e,t]),{onPointerDownCapture:()=>i.current=!0}}function nV(n,e=globalThis==null?void 0:globalThis.document){const t=Lu(n),i=R.useRef(!1);return R.useEffect(()=>{const r=s=>{s.target&&!i.current&&A4(JH,t,{originalEvent:s},{discrete:!1})};return e.addEventListener("focusin",r),()=>e.removeEventListener("focusin",r)},[e,t]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function YT(){const n=new CustomEvent(y_);document.dispatchEvent(n)}function A4(n,e,t,{discrete:i}){const r=t.originalEvent.target,s=new CustomEvent(n,{bubbles:!1,cancelable:!0,detail:t});e&&r.addEventListener(n,e,{once:!0}),i?SB(r,s):r.dispatchEvent(s)}const vu=globalThis!=null&&globalThis.document?R.useLayoutEffect:()=>{},iV=wO.useId||(()=>{});let rV=0;function sV(n){const[e,t]=R.useState(iV());return vu(()=>{n||t(i=>i??String(rV++))},[n]),n||(e?`radix-${e}`:"")}const oV=["top","right","bottom","left"],va=Math.min,ar=Math.max,Ag=Math.round,xm=Math.floor,ya=n=>({x:n,y:n}),aV={left:"right",right:"left",bottom:"top",top:"bottom"},lV={start:"end",end:"start"};function x_(n,e,t){return ar(n,va(e,t))}function Eo(n,e){return typeof n=="function"?n(e):n}function Mo(n){return n.split("-")[0]}function Iu(n){return n.split("-")[1]}function Tw(n){return n==="x"?"y":"x"}function Cw(n){return n==="y"?"height":"width"}function Ou(n){return["top","bottom"].includes(Mo(n))?"y":"x"}function Aw(n){return Tw(Ou(n))}function cV(n,e,t){t===void 0&&(t=!1);const i=Iu(n),r=Aw(n),s=Cw(r);let o=r==="x"?i===(t?"end":"start")?"right":"left":i==="start"?"bottom":"top";return e.reference[s]>e.floating[s]&&(o=Rg(o)),[o,Rg(o)]}function uV(n){const e=Rg(n);return[__(n),e,__(e)]}function __(n){return n.replace(/start|end/g,e=>lV[e])}function fV(n,e,t){const i=["left","right"],r=["right","left"],s=["top","bottom"],o=["bottom","top"];switch(n){case"top":case"bottom":return t?e?r:i:e?i:r;case"left":case"right":return e?s:o;default:return[]}}function dV(n,e,t,i){const r=Iu(n);let s=fV(Mo(n),t==="start",i);return r&&(s=s.map(o=>o+"-"+r),e&&(s=s.concat(s.map(__)))),s}function Rg(n){return n.replace(/left|right|bottom|top/g,e=>aV[e])}function hV(n){return{top:0,right:0,bottom:0,left:0,...n}}function R4(n){return typeof n!="number"?hV(n):{top:n,right:n,bottom:n,left:n}}function Pg(n){return{...n,top:n.y,left:n.x,right:n.x+n.width,bottom:n.y+n.height}}function qT(n,e,t){let{reference:i,floating:r}=n;const s=Ou(e),o=Aw(e),a=Cw(o),l=Mo(e),u=s==="y",d=i.x+i.width/2-r.width/2,h=i.y+i.height/2-r.height/2,p=i[a]/2-r[a]/2;let m;switch(l){case"top":m={x:d,y:i.y-r.height};break;case"bottom":m={x:d,y:i.y+i.height};break;case"right":m={x:i.x+i.width,y:h};break;case"left":m={x:i.x-r.width,y:h};break;default:m={x:i.x,y:i.y}}switch(Iu(e)){case"start":m[o]-=p*(t&&u?-1:1);break;case"end":m[o]+=p*(t&&u?-1:1);break}return m}const pV=async(n,e,t)=>{const{placement:i="bottom",strategy:r="absolute",middleware:s=[],platform:o}=t,a=s.filter(Boolean),l=await(o.isRTL==null?void 0:o.isRTL(e));let u=await o.getElementRects({reference:n,floating:e,strategy:r}),{x:d,y:h}=qT(u,i,l),p=i,m={},v=0;for(let w=0;w({name:"arrow",options:n,async fn(e){const{x:t,y:i,placement:r,rects:s,platform:o,elements:a,middlewareData:l}=e,{element:u,padding:d=0}=Eo(n,e)||{};if(u==null)return{};const h=R4(d),p={x:t,y:i},m=Aw(r),v=Cw(m),w=await o.getDimensions(u),x=m==="y",g=x?"top":"left",_=x?"bottom":"right",S=x?"clientHeight":"clientWidth",M=s.reference[v]+s.reference[m]-p[m]-s.floating[v],A=p[m]-s.reference[m],T=await(o.getOffsetParent==null?void 0:o.getOffsetParent(u));let L=T?T[S]:0;(!L||!await(o.isElement==null?void 0:o.isElement(T)))&&(L=a.floating[S]||s.floating[v]);const O=M/2-A/2,H=L/2-w[v]/2-1,C=va(h[g],H),I=va(h[_],H),j=C,ee=L-w[v]-I,z=L/2-w[v]/2+O,J=x_(j,z,ee),Z=!l.arrow&&Iu(r)!=null&&z!==J&&s.reference[v]/2-(zj<=0)){var H,C;const j=(((H=s.flip)==null?void 0:H.index)||0)+1,ee=A[j];if(ee)return{data:{index:j,overflows:O},reset:{placement:ee}};let z=(C=O.filter(J=>J.overflows[0]<=0).sort((J,Z)=>J.overflows[1]-Z.overflows[1])[0])==null?void 0:C.placement;if(!z)switch(m){case"bestFit":{var I;const J=(I=O.map(Z=>[Z.placement,Z.overflows.filter(ne=>ne>0).reduce((ne,k)=>ne+k,0)]).sort((Z,ne)=>Z[1]-ne[1])[0])==null?void 0:I[0];J&&(z=J);break}case"initialPlacement":z=a;break}if(r!==z)return{reset:{placement:z}}}return{}}}};function ZT(n,e){return{top:n.top-e.height,right:n.right-e.width,bottom:n.bottom-e.height,left:n.left-e.width}}function KT(n){return oV.some(e=>n[e]>=0)}const vV=function(n){return n===void 0&&(n={}),{name:"hide",options:n,async fn(e){const{rects:t}=e,{strategy:i="referenceHidden",...r}=Eo(n,e);switch(i){case"referenceHidden":{const s=await Bd(e,{...r,elementContext:"reference"}),o=ZT(s,t.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:KT(o)}}}case"escaped":{const s=await Bd(e,{...r,altBoundary:!0}),o=ZT(s,t.floating);return{data:{escapedOffsets:o,escaped:KT(o)}}}default:return{}}}}};async function yV(n,e){const{placement:t,platform:i,elements:r}=n,s=await(i.isRTL==null?void 0:i.isRTL(r.floating)),o=Mo(t),a=Iu(t),l=Ou(t)==="y",u=["left","top"].includes(o)?-1:1,d=s&&l?-1:1,h=Eo(e,n);let{mainAxis:p,crossAxis:m,alignmentAxis:v}=typeof h=="number"?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...h};return a&&typeof v=="number"&&(m=a==="end"?v*-1:v),l?{x:m*d,y:p*u}:{x:p*u,y:m*d}}const xV=function(n){return n===void 0&&(n=0),{name:"offset",options:n,async fn(e){var t,i;const{x:r,y:s,placement:o,middlewareData:a}=e,l=await yV(e,n);return o===((t=a.offset)==null?void 0:t.placement)&&(i=a.arrow)!=null&&i.alignmentOffset?{}:{x:r+l.x,y:s+l.y,data:{...l,placement:o}}}}},_V=function(n){return n===void 0&&(n={}),{name:"shift",options:n,async fn(e){const{x:t,y:i,placement:r}=e,{mainAxis:s=!0,crossAxis:o=!1,limiter:a={fn:x=>{let{x:g,y:_}=x;return{x:g,y:_}}},...l}=Eo(n,e),u={x:t,y:i},d=await Bd(e,l),h=Ou(Mo(r)),p=Tw(h);let m=u[p],v=u[h];if(s){const x=p==="y"?"top":"left",g=p==="y"?"bottom":"right",_=m+d[x],S=m-d[g];m=x_(_,m,S)}if(o){const x=h==="y"?"top":"left",g=h==="y"?"bottom":"right",_=v+d[x],S=v-d[g];v=x_(_,v,S)}const w=a.fn({...e,[p]:m,[h]:v});return{...w,data:{x:w.x-t,y:w.y-i}}}}},SV=function(n){return n===void 0&&(n={}),{options:n,fn(e){const{x:t,y:i,placement:r,rects:s,middlewareData:o}=e,{offset:a=0,mainAxis:l=!0,crossAxis:u=!0}=Eo(n,e),d={x:t,y:i},h=Ou(r),p=Tw(h);let m=d[p],v=d[h];const w=Eo(a,e),x=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(l){const S=p==="y"?"height":"width",M=s.reference[p]-s.floating[S]+x.mainAxis,A=s.reference[p]+s.reference[S]-x.mainAxis;mA&&(m=A)}if(u){var g,_;const S=p==="y"?"width":"height",M=["top","left"].includes(Mo(r)),A=s.reference[h]-s.floating[S]+(M&&((g=o.offset)==null?void 0:g[h])||0)+(M?0:x.crossAxis),T=s.reference[h]+s.reference[S]+(M?0:((_=o.offset)==null?void 0:_[h])||0)-(M?x.crossAxis:0);vT&&(v=T)}return{[p]:m,[h]:v}}}},wV=function(n){return n===void 0&&(n={}),{name:"size",options:n,async fn(e){const{placement:t,rects:i,platform:r,elements:s}=e,{apply:o=()=>{},...a}=Eo(n,e),l=await Bd(e,a),u=Mo(t),d=Iu(t),h=Ou(t)==="y",{width:p,height:m}=i.floating;let v,w;u==="top"||u==="bottom"?(v=u,w=d===(await(r.isRTL==null?void 0:r.isRTL(s.floating))?"start":"end")?"left":"right"):(w=u,v=d==="end"?"top":"bottom");const x=m-l[v],g=p-l[w],_=!e.middlewareData.shift;let S=x,M=g;if(h){const T=p-l.left-l.right;M=d||_?va(g,T):T}else{const T=m-l.top-l.bottom;S=d||_?va(x,T):T}if(_&&!d){const T=ar(l.left,0),L=ar(l.right,0),O=ar(l.top,0),H=ar(l.bottom,0);h?M=p-2*(T!==0||L!==0?T+L:ar(l.left,l.right)):S=m-2*(O!==0||H!==0?O+H:ar(l.top,l.bottom))}await o({...e,availableWidth:M,availableHeight:S});const A=await r.getDimensions(s.floating);return p!==A.width||m!==A.height?{reset:{rects:!0}}:{}}}};function xa(n){return P4(n)?(n.nodeName||"").toLowerCase():"#document"}function pr(n){var e;return(n==null||(e=n.ownerDocument)==null?void 0:e.defaultView)||window}function Ao(n){var e;return(e=(P4(n)?n.ownerDocument:n.document)||window.document)==null?void 0:e.documentElement}function P4(n){return n instanceof Node||n instanceof pr(n).Node}function bo(n){return n instanceof Element||n instanceof pr(n).Element}function ks(n){return n instanceof HTMLElement||n instanceof pr(n).HTMLElement}function JT(n){return typeof ShadowRoot>"u"?!1:n instanceof ShadowRoot||n instanceof pr(n).ShadowRoot}function lh(n){const{overflow:e,overflowX:t,overflowY:i,display:r}=$r(n);return/auto|scroll|overlay|hidden|clip/.test(e+i+t)&&!["inline","contents"].includes(r)}function EV(n){return["table","td","th"].includes(xa(n))}function Rw(n){const e=Pw(),t=$r(n);return t.transform!=="none"||t.perspective!=="none"||(t.containerType?t.containerType!=="normal":!1)||!e&&(t.backdropFilter?t.backdropFilter!=="none":!1)||!e&&(t.filter?t.filter!=="none":!1)||["transform","perspective","filter"].some(i=>(t.willChange||"").includes(i))||["paint","layout","strict","content"].some(i=>(t.contain||"").includes(i))}function MV(n){let e=yu(n);for(;ks(e)&&!N0(e);){if(Rw(e))return e;e=yu(e)}return null}function Pw(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function N0(n){return["html","body","#document"].includes(xa(n))}function $r(n){return pr(n).getComputedStyle(n)}function k0(n){return bo(n)?{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}:{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function yu(n){if(xa(n)==="html")return n;const e=n.assignedSlot||n.parentNode||JT(n)&&n.host||Ao(n);return JT(e)?e.host:e}function L4(n){const e=yu(n);return N0(e)?n.ownerDocument?n.ownerDocument.body:n.body:ks(e)&&lh(e)?e:L4(e)}function Hd(n,e,t){var i;e===void 0&&(e=[]),t===void 0&&(t=!0);const r=L4(n),s=r===((i=n.ownerDocument)==null?void 0:i.body),o=pr(r);return s?e.concat(o,o.visualViewport||[],lh(r)?r:[],o.frameElement&&t?Hd(o.frameElement):[]):e.concat(r,Hd(r,[],t))}function I4(n){const e=$r(n);let t=parseFloat(e.width)||0,i=parseFloat(e.height)||0;const r=ks(n),s=r?n.offsetWidth:t,o=r?n.offsetHeight:i,a=Ag(t)!==s||Ag(i)!==o;return a&&(t=s,i=o),{width:t,height:i,$:a}}function Lw(n){return bo(n)?n:n.contextElement}function iu(n){const e=Lw(n);if(!ks(e))return ya(1);const t=e.getBoundingClientRect(),{width:i,height:r,$:s}=I4(e);let o=(s?Ag(t.width):t.width)/i,a=(s?Ag(t.height):t.height)/r;return(!o||!Number.isFinite(o))&&(o=1),(!a||!Number.isFinite(a))&&(a=1),{x:o,y:a}}const bV=ya(0);function O4(n){const e=pr(n);return!Pw()||!e.visualViewport?bV:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function TV(n,e,t){return e===void 0&&(e=!1),!t||e&&t!==pr(n)?!1:e}function Al(n,e,t,i){e===void 0&&(e=!1),t===void 0&&(t=!1);const r=n.getBoundingClientRect(),s=Lw(n);let o=ya(1);e&&(i?bo(i)&&(o=iu(i)):o=iu(n));const a=TV(s,t,i)?O4(s):ya(0);let l=(r.left+a.x)/o.x,u=(r.top+a.y)/o.y,d=r.width/o.x,h=r.height/o.y;if(s){const p=pr(s),m=i&&bo(i)?pr(i):i;let v=p,w=v.frameElement;for(;w&&i&&m!==v;){const x=iu(w),g=w.getBoundingClientRect(),_=$r(w),S=g.left+(w.clientLeft+parseFloat(_.paddingLeft))*x.x,M=g.top+(w.clientTop+parseFloat(_.paddingTop))*x.y;l*=x.x,u*=x.y,d*=x.x,h*=x.y,l+=S,u+=M,v=pr(w),w=v.frameElement}}return Pg({width:d,height:h,x:l,y:u})}const CV=[":popover-open",":modal"];function D4(n){return CV.some(e=>{try{return n.matches(e)}catch{return!1}})}function AV(n){let{elements:e,rect:t,offsetParent:i,strategy:r}=n;const s=r==="fixed",o=Ao(i),a=e?D4(e.floating):!1;if(i===o||a&&s)return t;let l={scrollLeft:0,scrollTop:0},u=ya(1);const d=ya(0),h=ks(i);if((h||!h&&!s)&&((xa(i)!=="body"||lh(o))&&(l=k0(i)),ks(i))){const p=Al(i);u=iu(i),d.x=p.x+i.clientLeft,d.y=p.y+i.clientTop}return{width:t.width*u.x,height:t.height*u.y,x:t.x*u.x-l.scrollLeft*u.x+d.x,y:t.y*u.y-l.scrollTop*u.y+d.y}}function RV(n){return Array.from(n.getClientRects())}function N4(n){return Al(Ao(n)).left+k0(n).scrollLeft}function PV(n){const e=Ao(n),t=k0(n),i=n.ownerDocument.body,r=ar(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),s=ar(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let o=-t.scrollLeft+N4(n);const a=-t.scrollTop;return $r(i).direction==="rtl"&&(o+=ar(e.clientWidth,i.clientWidth)-r),{width:r,height:s,x:o,y:a}}function LV(n,e){const t=pr(n),i=Ao(n),r=t.visualViewport;let s=i.clientWidth,o=i.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;const u=Pw();(!u||u&&e==="fixed")&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a,y:l}}function IV(n,e){const t=Al(n,!0,e==="fixed"),i=t.top+n.clientTop,r=t.left+n.clientLeft,s=ks(n)?iu(n):ya(1),o=n.clientWidth*s.x,a=n.clientHeight*s.y,l=r*s.x,u=i*s.y;return{width:o,height:a,x:l,y:u}}function QT(n,e,t){let i;if(e==="viewport")i=LV(n,t);else if(e==="document")i=PV(Ao(n));else if(bo(e))i=IV(e,t);else{const r=O4(n);i={...e,x:e.x-r.x,y:e.y-r.y}}return Pg(i)}function k4(n,e){const t=yu(n);return t===e||!bo(t)||N0(t)?!1:$r(t).position==="fixed"||k4(t,e)}function OV(n,e){const t=e.get(n);if(t)return t;let i=Hd(n,[],!1).filter(a=>bo(a)&&xa(a)!=="body"),r=null;const s=$r(n).position==="fixed";let o=s?yu(n):n;for(;bo(o)&&!N0(o);){const a=$r(o),l=Rw(o);!l&&a.position==="fixed"&&(r=null),(s?!l&&!r:!l&&a.position==="static"&&!!r&&["absolute","fixed"].includes(r.position)||lh(o)&&!l&&k4(n,o))?i=i.filter(d=>d!==o):r=a,o=yu(o)}return e.set(n,i),i}function DV(n){let{element:e,boundary:t,rootBoundary:i,strategy:r}=n;const o=[...t==="clippingAncestors"?OV(e,this._c):[].concat(t),i],a=o[0],l=o.reduce((u,d)=>{const h=QT(e,d,r);return u.top=ar(h.top,u.top),u.right=va(h.right,u.right),u.bottom=va(h.bottom,u.bottom),u.left=ar(h.left,u.left),u},QT(e,a,r));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function NV(n){const{width:e,height:t}=I4(n);return{width:e,height:t}}function kV(n,e,t){const i=ks(e),r=Ao(e),s=t==="fixed",o=Al(n,!0,s,e);let a={scrollLeft:0,scrollTop:0};const l=ya(0);if(i||!i&&!s)if((xa(e)!=="body"||lh(r))&&(a=k0(e)),i){const h=Al(e,!0,s,e);l.x=h.x+e.clientLeft,l.y=h.y+e.clientTop}else r&&(l.x=N4(r));const u=o.left+a.scrollLeft-l.x,d=o.top+a.scrollTop-l.y;return{x:u,y:d,width:o.width,height:o.height}}function eC(n,e){return!ks(n)||$r(n).position==="fixed"?null:e?e(n):n.offsetParent}function U4(n,e){const t=pr(n);if(!ks(n)||D4(n))return t;let i=eC(n,e);for(;i&&EV(i)&&$r(i).position==="static";)i=eC(i,e);return i&&(xa(i)==="html"||xa(i)==="body"&&$r(i).position==="static"&&!Rw(i))?t:i||MV(n)||t}const UV=async function(n){const e=this.getOffsetParent||U4,t=this.getDimensions;return{reference:kV(n.reference,await e(n.floating),n.strategy),floating:{x:0,y:0,...await t(n.floating)}}};function FV(n){return $r(n).direction==="rtl"}const zV={convertOffsetParentRelativeRectToViewportRelativeRect:AV,getDocumentElement:Ao,getClippingRect:DV,getOffsetParent:U4,getElementRects:UV,getClientRects:RV,getDimensions:NV,getScale:iu,isElement:bo,isRTL:FV};function BV(n,e){let t=null,i;const r=Ao(n);function s(){var a;clearTimeout(i),(a=t)==null||a.disconnect(),t=null}function o(a,l){a===void 0&&(a=!1),l===void 0&&(l=1),s();const{left:u,top:d,width:h,height:p}=n.getBoundingClientRect();if(a||e(),!h||!p)return;const m=xm(d),v=xm(r.clientWidth-(u+h)),w=xm(r.clientHeight-(d+p)),x=xm(u),_={rootMargin:-m+"px "+-v+"px "+-w+"px "+-x+"px",threshold:ar(0,va(1,l))||1};let S=!0;function M(A){const T=A[0].intersectionRatio;if(T!==l){if(!S)return o();T?o(!1,T):i=setTimeout(()=>{o(!1,1e-7)},100)}S=!1}try{t=new IntersectionObserver(M,{..._,root:r.ownerDocument})}catch{t=new IntersectionObserver(M,_)}t.observe(n)}return o(!0),s}function HV(n,e,t,i){i===void 0&&(i={});const{ancestorScroll:r=!0,ancestorResize:s=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:l=!1}=i,u=Lw(n),d=r||s?[...u?Hd(u):[],...Hd(e)]:[];d.forEach(g=>{r&&g.addEventListener("scroll",t,{passive:!0}),s&&g.addEventListener("resize",t)});const h=u&&a?BV(u,t):null;let p=-1,m=null;o&&(m=new ResizeObserver(g=>{let[_]=g;_&&_.target===u&&m&&(m.unobserve(e),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var S;(S=m)==null||S.observe(e)})),t()}),u&&!l&&m.observe(u),m.observe(e));let v,w=l?Al(n):null;l&&x();function x(){const g=Al(n);w&&(g.x!==w.x||g.y!==w.y||g.width!==w.width||g.height!==w.height)&&t(),w=g,v=requestAnimationFrame(x)}return t(),()=>{var g;d.forEach(_=>{r&&_.removeEventListener("scroll",t),s&&_.removeEventListener("resize",t)}),h==null||h(),(g=m)==null||g.disconnect(),m=null,l&&cancelAnimationFrame(v)}}const VV=_V,WV=gV,$V=wV,GV=vV,tC=mV,jV=SV,XV=(n,e,t)=>{const i=new Map,r={platform:zV,...t},s={...r.platform,_c:i};return pV(n,e,{...r,platform:s})},YV=n=>{function e(t){return{}.hasOwnProperty.call(t,"current")}return{name:"arrow",options:n,fn(t){const{element:i,padding:r}=typeof n=="function"?n(t):n;return i&&e(i)?i.current!=null?tC({element:i.current,padding:r}).fn(t):{}:i?tC({element:i,padding:r}).fn(t):{}}}};var Ym=typeof document<"u"?R.useLayoutEffect:R.useEffect;function Lg(n,e){if(n===e)return!0;if(typeof n!=typeof e)return!1;if(typeof n=="function"&&n.toString()===e.toString())return!0;let t,i,r;if(n&&e&&typeof n=="object"){if(Array.isArray(n)){if(t=n.length,t!==e.length)return!1;for(i=t;i--!==0;)if(!Lg(n[i],e[i]))return!1;return!0}if(r=Object.keys(n),t=r.length,t!==Object.keys(e).length)return!1;for(i=t;i--!==0;)if(!{}.hasOwnProperty.call(e,r[i]))return!1;for(i=t;i--!==0;){const s=r[i];if(!(s==="_owner"&&n.$$typeof)&&!Lg(n[s],e[s]))return!1}return!0}return n!==n&&e!==e}function F4(n){return typeof window>"u"?1:(n.ownerDocument.defaultView||window).devicePixelRatio||1}function nC(n,e){const t=F4(n);return Math.round(e*t)/t}function iC(n){const e=R.useRef(n);return Ym(()=>{e.current=n}),e}function qV(n){n===void 0&&(n={});const{placement:e="bottom",strategy:t="absolute",middleware:i=[],platform:r,elements:{reference:s,floating:o}={},transform:a=!0,whileElementsMounted:l,open:u}=n,[d,h]=R.useState({x:0,y:0,strategy:t,placement:e,middlewareData:{},isPositioned:!1}),[p,m]=R.useState(i);Lg(p,i)||m(i);const[v,w]=R.useState(null),[x,g]=R.useState(null),_=R.useCallback(ne=>{ne!==T.current&&(T.current=ne,w(ne))},[]),S=R.useCallback(ne=>{ne!==L.current&&(L.current=ne,g(ne))},[]),M=s||v,A=o||x,T=R.useRef(null),L=R.useRef(null),O=R.useRef(d),H=l!=null,C=iC(l),I=iC(r),j=R.useCallback(()=>{if(!T.current||!L.current)return;const ne={placement:e,strategy:t,middleware:p};I.current&&(ne.platform=I.current),XV(T.current,L.current,ne).then(k=>{const W={...k,isPositioned:!0};ee.current&&!Lg(O.current,W)&&(O.current=W,Yd.flushSync(()=>{h(W)}))})},[p,e,t,I]);Ym(()=>{u===!1&&O.current.isPositioned&&(O.current.isPositioned=!1,h(ne=>({...ne,isPositioned:!1})))},[u]);const ee=R.useRef(!1);Ym(()=>(ee.current=!0,()=>{ee.current=!1}),[]),Ym(()=>{if(M&&(T.current=M),A&&(L.current=A),M&&A){if(C.current)return C.current(M,A,j);j()}},[M,A,j,C,H]);const z=R.useMemo(()=>({reference:T,floating:L,setReference:_,setFloating:S}),[_,S]),J=R.useMemo(()=>({reference:M,floating:A}),[M,A]),Z=R.useMemo(()=>{const ne={position:t,left:0,top:0};if(!J.floating)return ne;const k=nC(J.floating,d.x),W=nC(J.floating,d.y);return a?{...ne,transform:"translate("+k+"px, "+W+"px)",...F4(J.floating)>=1.5&&{willChange:"transform"}}:{position:t,left:k,top:W}},[t,a,J.floating,d.x,d.y]);return R.useMemo(()=>({...d,update:j,refs:z,elements:J,floatingStyles:Z}),[d,j,z,J,Z])}const ZV=R.forwardRef((n,e)=>{const{children:t,width:i=10,height:r=5,...s}=n;return R.createElement(Ul.svg,gn({},s,{ref:e,width:i,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none"}),n.asChild?t:R.createElement("polygon",{points:"0,0 30,0 15,10"}))}),KV=ZV;function JV(n){const[e,t]=R.useState(void 0);return vu(()=>{if(n){t({width:n.offsetWidth,height:n.offsetHeight});const i=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;const s=r[0];let o,a;if("borderBoxSize"in s){const l=s.borderBoxSize,u=Array.isArray(l)?l[0]:l;o=u.inlineSize,a=u.blockSize}else o=n.offsetWidth,a=n.offsetHeight;t({width:o,height:a})});return i.observe(n,{box:"border-box"}),()=>i.unobserve(n)}else t(void 0)},[n]),e}const z4="Popper",[B4,H4]=C4(z4),[QV,V4]=B4(z4),eW=n=>{const{__scopePopper:e,children:t}=n,[i,r]=R.useState(null);return R.createElement(QV,{scope:e,anchor:i,onAnchorChange:r},t)},tW="PopperAnchor",nW=R.forwardRef((n,e)=>{const{__scopePopper:t,virtualRef:i,...r}=n,s=V4(tW,t),o=R.useRef(null),a=Ru(e,o);return R.useEffect(()=>{s.onAnchorChange((i==null?void 0:i.current)||o.current)}),i?null:R.createElement(Ul.div,gn({},r,{ref:a}))}),W4="PopperContent",[iW,rW]=B4(W4),sW=R.forwardRef((n,e)=>{var t,i,r,s,o,a,l,u;const{__scopePopper:d,side:h="bottom",sideOffset:p=0,align:m="center",alignOffset:v=0,arrowPadding:w=0,avoidCollisions:x=!0,collisionBoundary:g=[],collisionPadding:_=0,sticky:S="partial",hideWhenDetached:M=!1,updatePositionStrategy:A="optimized",onPlaced:T,...L}=n,O=V4(W4,d),[H,C]=R.useState(null),I=Ru(e,Me=>C(Me)),[j,ee]=R.useState(null),z=JV(j),J=(t=z==null?void 0:z.width)!==null&&t!==void 0?t:0,Z=(i=z==null?void 0:z.height)!==null&&i!==void 0?i:0,ne=h+(m!=="center"?"-"+m:""),k=typeof _=="number"?_:{top:0,right:0,bottom:0,left:0,..._},W=Array.isArray(g)?g:[g],Y=W.length>0,ie={padding:k,boundary:W.filter(cW),altBoundary:Y},{refs:me,floatingStyles:Re,placement:oe,isPositioned:ye,middlewareData:Ee}=qV({strategy:"fixed",placement:ne,whileElementsMounted:(...Me)=>HV(...Me,{animationFrame:A==="always"}),elements:{reference:O.anchor},middleware:[xV({mainAxis:p+Z,alignmentAxis:v}),x&&VV({mainAxis:!0,crossAxis:!1,limiter:S==="partial"?jV():void 0,...ie}),x&&WV({...ie}),$V({...ie,apply:({elements:Me,rects:xe,availableWidth:Be,availableHeight:ke})=>{const{width:Xe,height:ct}=xe.reference,F=Me.floating.style;F.setProperty("--radix-popper-available-width",`${Be}px`),F.setProperty("--radix-popper-available-height",`${ke}px`),F.setProperty("--radix-popper-anchor-width",`${Xe}px`),F.setProperty("--radix-popper-anchor-height",`${ct}px`)}}),j&&YV({element:j,padding:w}),uW({arrowWidth:J,arrowHeight:Z}),M&&GV({strategy:"referenceHidden",...ie})]}),[Ue,$e]=$4(oe),Fe=Lu(T);vu(()=>{ye&&(Fe==null||Fe())},[ye,Fe]);const lt=(r=Ee.arrow)===null||r===void 0?void 0:r.x,Ve=(s=Ee.arrow)===null||s===void 0?void 0:s.y,V=((o=Ee.arrow)===null||o===void 0?void 0:o.centerOffset)!==0,[we,ge]=R.useState();return vu(()=>{H&&ge(window.getComputedStyle(H).zIndex)},[H]),R.createElement("div",{ref:me.setFloating,"data-radix-popper-content-wrapper":"",style:{...Re,transform:ye?Re.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:we,"--radix-popper-transform-origin":[(a=Ee.transformOrigin)===null||a===void 0?void 0:a.x,(l=Ee.transformOrigin)===null||l===void 0?void 0:l.y].join(" ")},dir:n.dir},R.createElement(iW,{scope:d,placedSide:Ue,onArrowChange:ee,arrowX:lt,arrowY:Ve,shouldHideArrow:V},R.createElement(Ul.div,gn({"data-side":Ue,"data-align":$e},L,{ref:I,style:{...L.style,animation:ye?void 0:"none",opacity:(u=Ee.hide)!==null&&u!==void 0&&u.referenceHidden?0:void 0}}))))}),oW="PopperArrow",aW={top:"bottom",right:"left",bottom:"top",left:"right"},lW=R.forwardRef(function(e,t){const{__scopePopper:i,...r}=e,s=rW(oW,i),o=aW[s.placedSide];return R.createElement("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0}},R.createElement(KV,gn({},r,{ref:t,style:{...r.style,display:"block"}})))});function cW(n){return n!==null}const uW=n=>({name:"transformOrigin",options:n,fn(e){var t,i,r,s,o;const{placement:a,rects:l,middlewareData:u}=e,h=((t=u.arrow)===null||t===void 0?void 0:t.centerOffset)!==0,p=h?0:n.arrowWidth,m=h?0:n.arrowHeight,[v,w]=$4(a),x={start:"0%",center:"50%",end:"100%"}[w],g=((i=(r=u.arrow)===null||r===void 0?void 0:r.x)!==null&&i!==void 0?i:0)+p/2,_=((s=(o=u.arrow)===null||o===void 0?void 0:o.y)!==null&&s!==void 0?s:0)+m/2;let S="",M="";return v==="bottom"?(S=h?x:`${g}px`,M=`${-m}px`):v==="top"?(S=h?x:`${g}px`,M=`${l.floating.height+m}px`):v==="right"?(S=`${-m}px`,M=h?x:`${_}px`):v==="left"&&(S=`${l.floating.width+m}px`,M=h?x:`${_}px`),{data:{x:S,y:M}}}});function $4(n){const[e,t="center"]=n.split("-");return[e,t]}const fW=eW,dW=nW,hW=sW,pW=lW;function mW(n,e){return R.useReducer((t,i)=>{const r=e[t][i];return r??t},n)}const G4=n=>{const{present:e,children:t}=n,i=gW(e),r=typeof t=="function"?t({present:i.isPresent}):R.Children.only(t),s=Ru(i.ref,r.ref);return typeof t=="function"||i.isPresent?R.cloneElement(r,{ref:s}):null};G4.displayName="Presence";function gW(n){const[e,t]=R.useState(),i=R.useRef({}),r=R.useRef(n),s=R.useRef("none"),o=n?"mounted":"unmounted",[a,l]=mW(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return R.useEffect(()=>{const u=_m(i.current);s.current=a==="mounted"?u:"none"},[a]),vu(()=>{const u=i.current,d=r.current;if(d!==n){const p=s.current,m=_m(u);n?l("MOUNT"):m==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&p!==m?"ANIMATION_OUT":"UNMOUNT"),r.current=n}},[n,l]),vu(()=>{if(e){const u=h=>{const m=_m(i.current).includes(h.animationName);h.target===e&&m&&Yd.flushSync(()=>l("ANIMATION_END"))},d=h=>{h.target===e&&(s.current=_m(i.current))};return e.addEventListener("animationstart",d),e.addEventListener("animationcancel",u),e.addEventListener("animationend",u),()=>{e.removeEventListener("animationstart",d),e.removeEventListener("animationcancel",u),e.removeEventListener("animationend",u)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(a),ref:R.useCallback(u=>{u&&(i.current=getComputedStyle(u)),t(u)},[])}}function _m(n){return(n==null?void 0:n.animationName)||"none"}function vW({prop:n,defaultProp:e,onChange:t=()=>{}}){const[i,r]=yW({defaultProp:e,onChange:t}),s=n!==void 0,o=s?n:i,a=Lu(t),l=R.useCallback(u=>{if(s){const h=typeof u=="function"?u(n):u;h!==n&&a(h)}else r(u)},[s,n,r,a]);return[o,l]}function yW({defaultProp:n,onChange:e}){const t=R.useState(n),[i]=t,r=R.useRef(i),s=Lu(e);return R.useEffect(()=>{r.current!==i&&(s(i),r.current=i)},[i,r,s]),t}const xW=R.forwardRef((n,e)=>R.createElement(Ul.span,gn({},n,{ref:e,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...n.style}}))),_W=xW,[U0,pK]=C4("Tooltip",[H4]),F0=H4(),SW="TooltipProvider",S_="tooltip.open",[mK,Iw]=U0(SW),Ow="Tooltip",[wW,z0]=U0(Ow),EW=n=>{const{__scopeTooltip:e,children:t,open:i,defaultOpen:r=!1,onOpenChange:s,disableHoverableContent:o,delayDuration:a}=n,l=Iw(Ow,n.__scopeTooltip),u=F0(e),[d,h]=R.useState(null),p=sV(),m=R.useRef(0),v=o??l.disableHoverableContent,w=a??l.delayDuration,x=R.useRef(!1),[g=!1,_]=vW({prop:i,defaultProp:r,onChange:L=>{L?(l.onOpen(),document.dispatchEvent(new CustomEvent(S_))):l.onClose(),s==null||s(L)}}),S=R.useMemo(()=>g?x.current?"delayed-open":"instant-open":"closed",[g]),M=R.useCallback(()=>{window.clearTimeout(m.current),x.current=!1,_(!0)},[_]),A=R.useCallback(()=>{window.clearTimeout(m.current),_(!1)},[_]),T=R.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>{x.current=!0,_(!0)},w)},[w,_]);return R.useEffect(()=>()=>window.clearTimeout(m.current),[]),R.createElement(fW,u,R.createElement(wW,{scope:e,contentId:p,open:g,stateAttribute:S,trigger:d,onTriggerChange:h,onTriggerEnter:R.useCallback(()=>{l.isOpenDelayed?T():M()},[l.isOpenDelayed,T,M]),onTriggerLeave:R.useCallback(()=>{v?A():window.clearTimeout(m.current)},[A,v]),onOpen:M,onClose:A,disableHoverableContent:v},t))},rC="TooltipTrigger",MW=R.forwardRef((n,e)=>{const{__scopeTooltip:t,...i}=n,r=z0(rC,t),s=Iw(rC,t),o=F0(t),a=R.useRef(null),l=Ru(e,a,r.onTriggerChange),u=R.useRef(!1),d=R.useRef(!1),h=R.useCallback(()=>u.current=!1,[]);return R.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),R.createElement(dW,gn({asChild:!0},o),R.createElement(Ul.button,gn({"aria-describedby":r.open?r.contentId:void 0,"data-state":r.stateAttribute},i,{ref:l,onPointerMove:to(n.onPointerMove,p=>{p.pointerType!=="touch"&&!d.current&&!s.isPointerInTransitRef.current&&(r.onTriggerEnter(),d.current=!0)}),onPointerLeave:to(n.onPointerLeave,()=>{r.onTriggerLeave(),d.current=!1}),onPointerDown:to(n.onPointerDown,()=>{u.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:to(n.onFocus,()=>{u.current||r.onOpen()}),onBlur:to(n.onBlur,r.onClose),onClick:to(n.onClick,r.onClose)})))}),bW="TooltipPortal",[gK,TW]=U0(bW,{forceMount:void 0}),Vd="TooltipContent",CW=R.forwardRef((n,e)=>{const t=TW(Vd,n.__scopeTooltip),{forceMount:i=t.forceMount,side:r="top",...s}=n,o=z0(Vd,n.__scopeTooltip);return R.createElement(G4,{present:i||o.open},o.disableHoverableContent?R.createElement(j4,gn({side:r},s,{ref:e})):R.createElement(AW,gn({side:r},s,{ref:e})))}),AW=R.forwardRef((n,e)=>{const t=z0(Vd,n.__scopeTooltip),i=Iw(Vd,n.__scopeTooltip),r=R.useRef(null),s=Ru(e,r),[o,a]=R.useState(null),{trigger:l,onClose:u}=t,d=r.current,{onPointerInTransitChange:h}=i,p=R.useCallback(()=>{a(null),h(!1)},[h]),m=R.useCallback((v,w)=>{const x=v.currentTarget,g={x:v.clientX,y:v.clientY},_=OW(g,x.getBoundingClientRect()),S=DW(g,_),M=NW(w.getBoundingClientRect()),A=UW([...S,...M]);a(A),h(!0)},[h]);return R.useEffect(()=>()=>p(),[p]),R.useEffect(()=>{if(l&&d){const v=x=>m(x,d),w=x=>m(x,l);return l.addEventListener("pointerleave",v),d.addEventListener("pointerleave",w),()=>{l.removeEventListener("pointerleave",v),d.removeEventListener("pointerleave",w)}}},[l,d,m,p]),R.useEffect(()=>{if(o){const v=w=>{const x=w.target,g={x:w.clientX,y:w.clientY},_=(l==null?void 0:l.contains(x))||(d==null?void 0:d.contains(x)),S=!kW(g,o);_?p():S&&(p(),u())};return document.addEventListener("pointermove",v),()=>document.removeEventListener("pointermove",v)}},[l,d,o,u,p]),R.createElement(j4,gn({},n,{ref:s}))}),[RW,PW]=U0(Ow,{isInside:!1}),j4=R.forwardRef((n,e)=>{const{__scopeTooltip:t,children:i,"aria-label":r,onEscapeKeyDown:s,onPointerDownOutside:o,...a}=n,l=z0(Vd,t),u=F0(t),{onClose:d}=l;return R.useEffect(()=>(document.addEventListener(S_,d),()=>document.removeEventListener(S_,d)),[d]),R.useEffect(()=>{if(l.trigger){const h=p=>{const m=p.target;m!=null&&m.contains(l.trigger)&&d()};return window.addEventListener("scroll",h,{capture:!0}),()=>window.removeEventListener("scroll",h,{capture:!0})}},[l.trigger,d]),R.createElement(eV,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:o,onFocusOutside:h=>h.preventDefault(),onDismiss:d},R.createElement(hW,gn({"data-state":l.stateAttribute},u,a,{ref:e,style:{...a.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"}}),R.createElement(h4,null,i),R.createElement(RW,{scope:t,isInside:!0},R.createElement(_W,{id:l.contentId,role:"tooltip"},r||i))))}),LW="TooltipArrow",IW=R.forwardRef((n,e)=>{const{__scopeTooltip:t,...i}=n,r=F0(t);return PW(LW,t).isInside?null:R.createElement(pW,gn({},r,i,{ref:e}))});function OW(n,e){const t=Math.abs(e.top-n.y),i=Math.abs(e.bottom-n.y),r=Math.abs(e.right-n.x),s=Math.abs(e.left-n.x);switch(Math.min(t,i,r,s)){case s:return"left";case r:return"right";case t:return"top";case i:return"bottom";default:throw new Error("unreachable")}}function DW(n,e,t=5){const i=[];switch(e){case"top":i.push({x:n.x-t,y:n.y+t},{x:n.x+t,y:n.y+t});break;case"bottom":i.push({x:n.x-t,y:n.y-t},{x:n.x+t,y:n.y-t});break;case"left":i.push({x:n.x+t,y:n.y-t},{x:n.x+t,y:n.y+t});break;case"right":i.push({x:n.x-t,y:n.y-t},{x:n.x-t,y:n.y+t});break}return i}function NW(n){const{top:e,right:t,bottom:i,left:r}=n;return[{x:r,y:e},{x:t,y:e},{x:t,y:i},{x:r,y:i}]}function kW(n,e){const{x:t,y:i}=n;let r=!1;for(let s=0,o=e.length-1;si!=d>i&&t<(u-a)*(i-l)/(d-l)+a&&(r=!r)}return r}function UW(n){const e=n.slice();return e.sort((t,i)=>t.xi.x?1:t.yi.y?1:0),FW(e)}function FW(n){if(n.length<=1)return n.slice();const e=[];for(let i=0;i=2;){const s=e[e.length-1],o=e[e.length-2];if((s.x-o.x)*(r.y-o.y)>=(s.y-o.y)*(r.x-o.x))e.pop();else break}e.push(r)}e.pop();const t=[];for(let i=n.length-1;i>=0;i--){const r=n[i];for(;t.length>=2;){const s=t[t.length-1],o=t[t.length-2];if((s.x-o.x)*(r.y-o.y)>=(s.y-o.y)*(r.x-o.x))t.pop();else break}t.push(r)}return t.pop(),e.length===1&&t.length===1&&e[0].x===t[0].x&&e[0].y===t[0].y?e:e.concat(t)}const zW=EW,BW=MW,HW=CW,VW=IW;function WW(n,e){if(n==null)return{};var t={},i=Object.keys(n),r,s;for(s=0;s=0)&&(t[r]=n[r]);return t}function jt(n,e){if(n==null)return{};var t=WW(n,e),i,r;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(n,i)&&(t[i]=n[i])}return t}let ln;(function(n){n[n.UNSUPPORTED_INPUT=0]="UNSUPPORTED_INPUT",n[n.NO_COMPONENT_FOR_TYPE=1]="NO_COMPONENT_FOR_TYPE",n[n.UNKNOWN_INPUT=2]="UNKNOWN_INPUT",n[n.DUPLICATE_KEYS=3]="DUPLICATE_KEYS",n[n.ALREADY_REGISTERED_TYPE=4]="ALREADY_REGISTERED_TYPE",n[n.CLIPBOARD_ERROR=5]="CLIPBOARD_ERROR",n[n.THEME_ERROR=6]="THEME_ERROR",n[n.PATH_DOESNT_EXIST=7]="PATH_DOESNT_EXIST",n[n.INPUT_TYPE_OVERRIDE=8]="INPUT_TYPE_OVERRIDE",n[n.EMPTY_KEY=9]="EMPTY_KEY"})(ln||(ln={}));const $W={[ln.UNSUPPORTED_INPUT]:(n,e)=>[`An input with type \`${n}\` input was found at path \`${e}\` but it's not supported yet.`],[ln.NO_COMPONENT_FOR_TYPE]:(n,e)=>[`Type \`${n}\` found at path \`${e}\` can't be displayed in panel because no component supports it yet.`],[ln.UNKNOWN_INPUT]:(n,e)=>[`input at path \`${n}\` is not recognized.`,e],[ln.DUPLICATE_KEYS]:(n,e,t)=>[`Key \`${n}\` of path \`${e}\` already exists at path \`${t}\`. Even nested keys need to be unique. Rename one of the keys.`],[ln.ALREADY_REGISTERED_TYPE]:n=>[`Type ${n} has already been registered. You can't register a component with the same type.`],[ln.CLIPBOARD_ERROR]:n=>["Error copying the value",n],[ln.THEME_ERROR]:(n,e)=>[`Error accessing the theme \`${n}.${e}\` value.`],[ln.PATH_DOESNT_EXIST]:n=>[`Error getting the value at path \`${n}\`. There is probably an error in your \`render\` function.`],[ln.PATH_DOESNT_EXIST]:n=>[`Error accessing the value at path \`${n}\``],[ln.INPUT_TYPE_OVERRIDE]:(n,e,t)=>[`Input at path \`${n}\` already exists with type: \`${e}\`. Its type cannot be overridden with type \`${t}\`.`],[ln.EMPTY_KEY]:()=>["Keys can not be empty, if you want to hide a label use whitespace."]};function X4(n,e,...t){const[i,...r]=$W[e](...t);console[n]("LEVA: "+i,...r)}const ro=X4.bind(null,"warn"),GW=X4.bind(null,"log"),jW=["value"],XW=["schema"],YW=["value"],Y4=[],Rl={};function sC(n){let{value:e}=n,t=jt(n,jW);for(let i of Y4){const r=i(e,t);if(r)return r}}function Ro(n,e){let{schema:t}=e,i=jt(e,XW);if(n in Rl){ro(ln.ALREADY_REGISTERED_TYPE,n);return}Y4.push((r,s)=>t(r,s)&&n),Rl[n]=i}function my(n,e,t,i){const{normalize:r}=Rl[n];if(r)return r(e,t,i);if(typeof e!="object"||!("value"in e))return{value:e};const{value:s}=e,o=jt(e,YW);return{value:s,settings:o}}function qW(n,e,t,i,r,s){const{sanitize:o}=Rl[n];return o?o(e,t,i,r,s):e}function oC(n,e,t){const{format:i}=Rl[n];return i?i(e,t):e}function ZW(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function aC(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);e&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),t.push.apply(t,i)}return t}function pt(n){for(var e=1;en>t?t:n{if(n===""||typeof n=="number")return n;try{const e=Yo(n);if(!isNaN(e))return e}catch{}return parseFloat(n)},JW=Math.log(10);function lC(n){let e=Math.abs(+String(n).replace(".",""));if(e===0)return .01;for(;e!==0&&e%10===0;)e/=10;const t=Math.floor(Math.log(e)/JW)+1,i=Math.floor(Math.log10(Math.abs(n))),r=Math.pow(10,i-t);return Math.max(r,.001)}const Ig=(n,e,t)=>t===e?0:(_a(n,e,t)-e)/(t-e),Og=(n,e,t)=>n*(t-e)+e,QW=()=>"_"+Math.random().toString(36).substr(2,9),cC=/\(([0-9+\-*/^ .]+)\)/,uC=/(\d+(?:\.\d+)?) ?\^ ?(\d+(?:\.\d+)?)/,fC=/(\d+(?:\.\d+)?) ?\* ?(\d+(?:\.\d+)?)/,dC=/(\d+(?:\.\d+)?) ?\/ ?(\d+(?:\.\d+)?)/,hC=/(\d+(?:\.\d+)?) ?\+ ?(\d+(?:\.\d+)?)/,pC=/(\d+(?:\.\d+)?) ?- ?(\d+(?:\.\d+)?)/;function Yo(n){if(isNaN(Number(n)))if(cC.test(n)){const e=n.replace(cC,(t,i)=>String(Yo(i)));return Yo(e)}else if(uC.test(n)){const e=n.replace(uC,(t,i,r)=>String(Math.pow(Number(i),Number(r))));return Yo(e)}else if(fC.test(n)){const e=n.replace(fC,(t,i,r)=>String(Number(i)*Number(r)));return Yo(e)}else if(dC.test(n)){const e=n.replace(dC,(t,i,r)=>{if(r!=0)return String(Number(i)/Number(r));throw new Error("Division by zero")});return Yo(e)}else if(hC.test(n)){const e=n.replace(hC,(t,i,r)=>String(Number(i)+Number(r)));return Yo(e)}else if(pC.test(n)){const e=n.replace(pC,(t,i,r)=>String(Number(i)-Number(r)));return Yo(e)}else return Number(n);return Number(n)}function e$(n,e){return e.reduce((t,i)=>(n&&n.hasOwnProperty(i)&&(t[i]=n[i]),t),{})}function t$(n,e){const t=pt({},n);return e.forEach(i=>i in n&&delete t[i]),t}function n$(n,e){return n.reduce((t,i,r)=>Object.assign(t,{[e[r]]:i}),{})}function q4(n){return Object.prototype.toString.call(n)==="[object Object]"}const i$=n=>q4(n)&&Object.keys(n).length===0;let os;(function(n){n.BUTTON="BUTTON",n.BUTTON_GROUP="BUTTON_GROUP",n.MONITOR="MONITOR",n.FOLDER="FOLDER"})(os||(os={}));let us;(function(n){n.SELECT="SELECT",n.IMAGE="IMAGE",n.NUMBER="NUMBER",n.COLOR="COLOR",n.STRING="STRING",n.BOOLEAN="BOOLEAN",n.INTERVAL="INTERVAL",n.VECTOR3D="VECTOR3D",n.VECTOR2D="VECTOR2D"})(us||(us={}));const r$=["type","__customInput"],s$=["render","label","optional","order","disabled","hint","onChange","onEditStart","onEditEnd","transient"],o$=["type"];function Z4(n,e,t={},i){var r,s;if(typeof n!="object"||Array.isArray(n))return{type:i,input:n,options:pt({key:e,label:e,optional:!1,disabled:!1,order:0},t)};if("__customInput"in n){const{type:A,__customInput:T}=n,L=jt(n,r$);return Z4(T,e,L,A)}const{render:o,label:a,optional:l,order:u=0,disabled:d,hint:h,onChange:p,onEditStart:m,onEditEnd:v,transient:w}=n,x=jt(n,s$),g=pt({render:o,key:e,label:a??e,hint:h,transient:w??!!p,onEditStart:m,onEditEnd:v,disabled:d,optional:l,order:u},t);let{type:_}=x,S=jt(x,o$);if(_=i??_,_ in os)return{type:_,input:S,options:g};let M;return i&&q4(S)&&"value"in S?M=S.value:M=i$(S)?void 0:S,{type:_,input:M,options:pt(pt({},g),{},{onChange:p,optional:(r=g.optional)!==null&&r!==void 0?r:!1,disabled:(s=g.disabled)!==null&&s!==void 0?s:!1})}}function a$(n,e,t,i){const r=Z4(n,e),{type:s,input:o,options:a}=r;if(s)return s in os?r:{type:s,input:my(s,o,t,i),options:a};let l=sC(o);return l?{type:l,input:my(l,o,t,i),options:a}:(l=sC({value:o}),l?{type:l,input:my(l,{value:o},t,i),options:a}:!1)}function mC(n,e,t,i,r){const{value:s,type:o,settings:a}=n;n.value=K4({type:o,value:s,settings:a},e,t,i),n.fromPanel=r}const l$=function(e,t,i){this.type="LEVA_ERROR",this.message="LEVA: "+e,this.previousValue=t,this.error=i};function K4({type:n,value:e,settings:t},i,r,s){const o=n!=="SELECT"&&typeof i=="function"?i(e):i;let a;try{a=qW(n,o,t,e,r,s)}catch(l){throw new l$(`The value \`${i}\` did not result in a correct value.`,e,l)}return Fd(a,e)?e:a}const J4=(n,e,t=!1)=>{let i=0;return function(){const r=arguments,s=t&&!i,o=()=>n.apply(this,r);window.clearTimeout(i),i=window.setTimeout(o,e),s&&o()}},Q4=n=>n.shiftKey?5:n.altKey?1/5:1;function c$(n,e){const t=console.error;console.error=()=>{},SR.render(n,e),console.error=t}const u$=["value"],f$=["min","max"],d$=n=>{if(typeof n=="number")return!0;if(typeof n=="string"){const e=parseFloat(n);return isNaN(e)?!1:n.substring((""+e).length).trim().length<4}return!1},eI=(n,{min:e=-1/0,max:t=1/0,suffix:i})=>{const r=parseFloat(n);if(n===""||isNaN(r))throw Error("Invalid number");const s=_a(r,e,t);return i?s+i:s},h$=(n,{pad:e=0,suffix:t})=>{const i=parseFloat(n).toFixed(e);return t?i+t:i},tI=n=>{let{value:e}=n,t=jt(n,u$);const{min:i=-1/0,max:r=1/0}=t,s=jt(t,f$);let o=parseFloat(e);const a=typeof e=="string"?e.substring((""+o).length):void 0;o=_a(o,i,r);let l=t.step;l||(Number.isFinite(i)?Number.isFinite(r)?l=+(Math.abs(r-i)/100).toPrecision(1):l=+(Math.abs(o-i)/100).toPrecision(1):Number.isFinite(r)&&(l=+(Math.abs(r-o)/100).toPrecision(1)));const u=l?lC(l)*10:lC(o);l=l||u/10;const d=Math.round(_a(Math.log10(1/u),0,2));return{value:a?o+a:o,settings:pt({initialValue:o,step:l,pad:d,min:i,max:r,suffix:a},s)}},nI=(n,{step:e,initialValue:t})=>{const i=Math.round((n-t)/e);return t+i*e};var iI=Object.freeze({__proto__:null,schema:d$,sanitize:eI,format:h$,normalize:tI,sanitizeStep:nI});function En(){return En=Object.assign?Object.assign.bind():function(n){for(var e=1;e({colors:{elevation1:"#292d39",elevation2:"#181c20",elevation3:"#373c4b",accent1:"#0066dc",accent2:"#007bff",accent3:"#3c93ff",highlight1:"#535760",highlight2:"#8c92a4",highlight3:"#fefefe",vivid1:"#ffcc00",folderWidgetColor:"$highlight2",folderTextColor:"$highlight3",toolTipBackground:"$highlight3",toolTipText:"$elevation2"},radii:{xs:"2px",sm:"3px",lg:"10px"},space:{xs:"3px",sm:"6px",md:"10px",rowGap:"7px",colGap:"7px"},fonts:{mono:"ui-monospace, SFMono-Regular, Menlo, 'Roboto Mono', monospace",sans:"system-ui, sans-serif"},fontSizes:{root:"11px",toolTip:"$root"},sizes:{rootWidth:"280px",controlWidth:"160px",numberInputMinWidth:"38px",scrubberWidth:"8px",scrubberHeight:"16px",rowHeight:"24px",folderTitleHeight:"20px",checkboxSize:"16px",joystickWidth:"100px",joystickHeight:"100px",colorPickerWidth:"$controlWidth",colorPickerHeight:"100px",imagePreviewWidth:"$controlWidth",imagePreviewHeight:"100px",monitorHeight:"60px",titleBarHeight:"39px"},shadows:{level1:"0 0 9px 0 #00000088",level2:"0 4px 14px #00000033"},borderWidths:{root:"0px",input:"1px",focus:"1px",hover:"1px",active:"1px",folder:"1px"},fontWeights:{label:"normal",folder:"normal",button:"normal"}});function Sm(n,e){const[t,i]=n.split(" "),r={};return t!=="none"&&(r.boxShadow=`${e.inset?"inset ":""}0 0 0 $borderWidths${[e.key]} $colors${t!=="default"&&t||e.borderColor}`),i&&(r.backgroundColor=i),r}const Cf={$inputStyle:()=>n=>Sm(n,{key:"$input",borderColor:"$highlight1",inset:!0}),$focusStyle:()=>n=>Sm(n,{key:"$focus",borderColor:"$accent2"}),$hoverStyle:()=>n=>Sm(n,{key:"$hover",borderColor:"$accent1",inset:!0}),$activeStyle:()=>n=>Sm(n,{key:"$active",borderColor:"$accent1",inset:!0})},{styled:at,css:vK,createTheme:m$,globalCss:g$,keyframes:yK}=x4({prefix:"leva",theme:aI(),utils:pt(pt({},Cf),{},{$flex:()=>({display:"flex",alignItems:"center"}),$flexCenter:()=>({display:"flex",alignItems:"center",justifyContent:"center"}),$reset:()=>({outline:"none",fontSize:"inherit",fontWeight:"inherit",color:"inherit",fontFamily:"inherit",border:"none",backgroundColor:"transparent",appearance:"none"}),$draggable:()=>({touchAction:"none",WebkitUserDrag:"none",userSelect:"none"}),$focus:n=>({"&:focus":Cf.$focusStyle()(n)}),$focusWithin:n=>({"&:focus-within":Cf.$focusStyle()(n)}),$hover:n=>({"&:hover":Cf.$hoverStyle()(n)}),$active:n=>({"&:active":Cf.$activeStyle()(n)})})}),v$=g$({".leva__panel__dragged":{WebkitUserDrag:"none",userSelect:"none",input:{userSelect:"none"},"*":{cursor:"ew-resize !important"}}});function y$(n){const e=aI();if(!n)return{theme:e,className:""};Object.keys(n).forEach(i=>{Object.assign(e[i],n[i])});const t=m$(e);return{theme:e,className:t.className}}function po(n,e){const{theme:t}=R.useContext(Dw);if(!(n in t)||!(e in t[n]))return ro(ln.THEME_ERROR,n,e),"";let i=e;for(;;){let r=t[n][i];if(typeof r=="string"&&r.charAt(0)==="$")i=r.substr(1);else return r}}const lI=at("input",{$reset:"",padding:"0 $sm",width:0,minWidth:0,flex:1,height:"100%",variants:{levaType:{number:{textAlign:"right"}},as:{textarea:{padding:"$sm"}}}}),cI=at("div",{$draggable:"",height:"100%",$flexCenter:"",position:"relative",padding:"0 $xs",fontSize:"0.8em",opacity:.8,cursor:"default",touchAction:"none",[`& + ${lI}`]:{paddingLeft:0}}),x$=at(cI,{cursor:"ew-resize",marginRight:"-$xs",textTransform:"uppercase",opacity:.3,"&:hover":{opacity:1},variants:{dragging:{true:{backgroundColor:"$accent2",opacity:1}}}}),_$=at("div",{$flex:"",position:"relative",borderRadius:"$sm",overflow:"hidden",color:"inherit",height:"$rowHeight",backgroundColor:"$elevation3",$inputStyle:"$elevation1",$hover:"",$focusWithin:"",variants:{textArea:{true:{height:"auto"}}}}),S$=["innerLabel","value","onUpdate","onChange","onKeyDown","type","id","inputType","rows"],w$=["onUpdate"];function Nw(n){let{innerLabel:e,value:t,onUpdate:i,onChange:r,onKeyDown:s,type:o,id:a,inputType:l="text",rows:u=0}=n,d=jt(n,S$);const{id:h,emitOnEditStart:p,emitOnEditEnd:m,disabled:v}=wi(),w=a||h,x=R.useRef(null),g=u>0,_=g?"textarea":"input",S=R.useCallback(T=>L=>{const O=L.currentTarget.value;T(O)},[]);G.useEffect(()=>{const T=x.current,L=S(O=>{i(O),m()});return T==null||T.addEventListener("blur",L),()=>T==null?void 0:T.removeEventListener("blur",L)},[S,i,m]);const M=R.useCallback(T=>{T.key==="Enter"&&S(i)(T)},[S,i]),A=Object.assign({as:_},g?{rows:u}:{},d);return G.createElement(_$,{textArea:g},e&&typeof e=="string"?G.createElement(cI,null,e):e,G.createElement(lI,En({levaType:o,ref:x,id:w,type:l,autoComplete:"off",spellCheck:"false",value:t,onChange:S(r),onFocus:()=>p(),onKeyPress:M,onKeyDown:s,disabled:v},A)))}function E$(n){let{onUpdate:e}=n,t=jt(n,w$);const i=R.useCallback(s=>e(KW(s)),[e]),r=R.useCallback(s=>{const o=s.key==="ArrowUp"?1:s.key==="ArrowDown"?-1:0;if(o){s.preventDefault();const a=s.altKey?.1:s.shiftKey?10:1;e(l=>parseFloat(l)+o*a)}},[e]);return G.createElement(Nw,En({},t,{onUpdate:i,onKeyDown:r,type:"number"}))}const Dg=at("div",{}),w_=at("div",{position:"relative",background:"$elevation2",transition:"height 300ms ease",variants:{fill:{true:{},false:{}},flat:{false:{},true:{}},isRoot:{true:{},false:{paddingLeft:"$md","&::after":{content:'""',position:"absolute",left:0,top:0,width:"$borderWidths$folder",height:"100%",backgroundColor:"$folderWidgetColor",opacity:.4,transform:"translateX(-50%)"}}}},compoundVariants:[{isRoot:!0,fill:!1,css:{overflowY:"auto",maxHeight:"calc(100vh - 20px - $$titleBarHeight)"}},{isRoot:!0,flat:!1,css:{borderRadius:"$lg"}}]}),M$=at("div",{$flex:"",color:"$folderTextColor",userSelect:"none",cursor:"pointer",height:"$folderTitleHeight",fontWeight:"$folder","> svg":{marginLeft:-4,marginRight:4,cursor:"pointer",fill:"$folderWidgetColor",opacity:.6},"&:hover > svg":{fill:"$folderWidgetColor"},[`&:hover + ${w_}::after`]:{opacity:.6},[`${Dg}:hover > & + ${w_}::after`]:{opacity:.6},[`${Dg}:hover > & > svg`]:{opacity:1}}),uI=at("div",{position:"relative",display:"grid",gridTemplateColumns:"100%",rowGap:"$rowGap",transition:"opacity 250ms ease",variants:{toggled:{true:{opacity:1,transitionDelay:"250ms"},false:{opacity:0,transitionDelay:"0ms",pointerEvents:"none"}},isRoot:{true:{"& > div":{paddingLeft:"$md",paddingRight:"$md"},"& > div:first-of-type":{paddingTop:"$sm"},"& > div:last-of-type":{paddingBottom:"$sm"},[`> ${Dg}:not(:first-of-type)`]:{paddingTop:"$sm",marginTop:"$md",borderTop:"$borderWidths$folder solid $colors$elevation1"}}}}}),fI=at("div",{position:"relative",zIndex:100,display:"grid",rowGap:"$rowGap",gridTemplateRows:"minmax($sizes$rowHeight, max-content)",alignItems:"center",color:"$highlight2",[`${uI} > &`]:{"&:first-of-type":{marginTop:"$rowGap"},"&:last-of-type":{marginBottom:"$rowGap"}},variants:{disabled:{true:{pointerEvents:"none"},false:{"&:hover,&:focus-within":{color:"$highlight3"}}}}}),dI=at(fI,{gridTemplateColumns:"auto $sizes$controlWidth",columnGap:"$colGap"}),b$=at("div",{$flex:"",height:"100%",position:"relative",overflow:"hidden","& > div":{marginLeft:"$colGap",padding:"0 $xs",opacity:.4},"& > div:hover":{opacity:.8},"& > div > svg":{display:"none",cursor:"pointer",width:13,minWidth:13,height:13,backgroundColor:"$elevation2"},"&:hover > div > svg":{display:"block"},variants:{align:{top:{height:"100%",alignItems:"flex-start",paddingTop:"$sm"}}}}),T$=at("input",{$reset:"",height:0,width:0,opacity:0,margin:0,"& + label":{position:"relative",$flexCenter:"",height:"100%",userSelect:"none",cursor:"pointer",paddingLeft:2,paddingRight:"$sm",pointerEvents:"auto"},"& + label:after":{content:'""',width:6,height:6,backgroundColor:"$elevation3",borderRadius:"50%",$activeStyle:""},"&:focus + label:after":{$focusStyle:""},"& + label:active:after":{backgroundColor:"$accent1",$focusStyle:""},"&:checked + label:after":{backgroundColor:"$accent1"}}),E_=at("label",{fontWeight:"$label",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap","& > svg":{display:"block"}}),C$=at("div",{opacity:1,variants:{disabled:{true:{opacity:.6,pointerEvents:"none",[`& ${E_}`]:{pointerEvents:"auto"}}}}}),hI=at("div",{position:"fixed",top:0,bottom:0,right:0,left:0,zIndex:1e3,userSelect:"none"}),A$=at("div",{background:"$toolTipBackground",fontFamily:"$sans",fontSize:"$toolTip",padding:"$xs $sm",color:"$toolTipText",borderRadius:"$xs",boxShadow:"$level2",maxWidth:260}),R$=at(VW,{fill:"$toolTipBackground"});function kw({children:n}){const{className:e}=R.useContext(Dw);return G.createElement(EB,{className:e},n)}const P$=["align"];function L$(){const{id:n,disable:e,disabled:t}=wi();return G.createElement(G.Fragment,null,G.createElement(T$,{id:n+"__disable",type:"checkbox",checked:!t,onChange:()=>e(!t)}),G.createElement("label",{htmlFor:n+"__disable"}))}function I$(n){const{id:e,optional:t,hint:i}=wi(),r=n.htmlFor||(e?{htmlFor:e}:null),s=!i&&typeof n.children=="string"?{title:n.children}:null;return G.createElement(G.Fragment,null,t&&G.createElement(L$,null),i!==void 0?G.createElement(zW,null,G.createElement(BW,{asChild:!0},G.createElement(E_,En({},r,n))),G.createElement(HW,{side:"top",sideOffset:2},G.createElement(A$,null,i,G.createElement(R$,null)))):G.createElement(E_,En({},r,s,n)))}function hs(n){let{align:e}=n,t=jt(n,P$);const{value:i,label:r,key:s,disabled:o}=wi(),{hideCopyButton:a}=p$(),l=!a&&s!==void 0,[u,d]=R.useState(!1),h=async()=>{try{await navigator.clipboard.writeText(JSON.stringify({[s]:i??""})),d(!0)}catch{ro(ln.CLIPBOARD_ERROR,{[s]:i})}};return G.createElement(b$,{align:e,onPointerLeave:()=>d(!1)},G.createElement(I$,t),l&&!o&&G.createElement("div",{title:`Click to copy ${typeof r=="string"?r:s} value`},u?G.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},G.createElement("path",{d:"M9 2a1 1 0 000 2h2a1 1 0 100-2H9z"}),G.createElement("path",{fillRule:"evenodd",d:"M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm9.707 5.707a1 1 0 00-1.414-1.414L9 12.586l-1.293-1.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})):G.createElement("svg",{onClick:h,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},G.createElement("path",{d:"M8 3a1 1 0 011-1h2a1 1 0 110 2H9a1 1 0 01-1-1z"}),G.createElement("path",{d:"M6 3a2 2 0 00-2 2v11a2 2 0 002 2h8a2 2 0 002-2V5a2 2 0 00-2-2 3 3 0 01-3 3H9a3 3 0 01-3-3z"}))))}const O$=["toggled"],D$=at("svg",{fill:"currentColor",transition:"transform 350ms ease, fill 250ms ease"});function Uw(n){let{toggled:e}=n,t=jt(n,O$);return G.createElement(D$,En({width:"9",height:"5",viewBox:"0 0 9 5",xmlns:"http://www.w3.org/2000/svg",style:{transform:`rotate(${e?0:-90}deg)`}},t),G.createElement("path",{d:"M3.8 4.4c.4.3 1 .3 1.4 0L8 1.7A1 1 0 007.4 0H1.6a1 1 0 00-.7 1.7l3 2.7z"}))}const N$=["input"];function jr(n){let{input:e}=n,t=jt(n,N$);return e?G.createElement(dI,t):G.createElement(fI,t)}function pI({value:n,type:e,settings:t,setValue:i}){const[r,s]=R.useState(oC(e,n,t)),o=R.useRef(n),a=R.useRef(t);a.current=t;const l=R.useCallback(d=>s(oC(e,d,a.current)),[e]),u=R.useCallback(d=>{try{i(d)}catch(h){const{type:p,previousValue:m}=h;if(p!=="LEVA_ERROR")throw h;l(m)}},[l,i]);return R.useEffect(()=>{Fd(n,o.current)||l(n),o.current=n},[n,l]),{displayValue:r,onChange:s,onUpdate:u}}function uh(n,e){const{emitOnEditStart:t,emitOnEditEnd:i}=wi();return YH(r=>{r.first&&(document.body.classList.add("leva__panel__dragged"),t==null||t());const s=n(r);return r.last&&(document.body.classList.remove("leva__panel__dragged"),i==null||i()),s},e)}function k$(n){const e=R.useRef(null),t=R.useRef(null),i=R.useRef(!1);return R.useEffect(()=>{const r=J4(()=>{e.current.width=e.current.offsetWidth*window.devicePixelRatio,e.current.height=e.current.offsetHeight*window.devicePixelRatio,n(e.current,t.current)},250);return window.addEventListener("resize",r),i.current||(r(),i.current=!0),()=>window.removeEventListener("resize",r)},[n]),R.useEffect(()=>{t.current=e.current.getContext("2d")},[]),[e,t]}function mI(){const n=R.useRef(null),e=R.useRef({x:0,y:0}),t=R.useCallback(i=>{Object.assign(e.current,i),n.current&&(n.current.style.transform=`translate3d(${e.current.x}px, ${e.current.y}px, 0)`)},[]);return[n,t]}const U$=["__refCount"],gy=(n,e)=>{if(!n[e])return null;const t=n[e];return jt(t,U$)};function F$(n){const e=ch(),[t,i]=R.useState(gy(e.getData(),n)),r=R.useCallback(u=>e.setValueAtPath(n,u,!0),[n,e]),s=R.useCallback(u=>e.setSettingsAtPath(n,u),[n,e]),o=R.useCallback(u=>e.disableInputAtPath(n,u),[n,e]),a=R.useCallback(()=>e.emitOnEditStart(n),[n,e]),l=R.useCallback(()=>e.emitOnEditEnd(n),[n,e]);return R.useEffect(()=>{i(gy(e.getData(),n));const u=e.useStore.subscribe(d=>gy(d.data,n),i,{equalityFn:sh});return()=>u()},[e,n]),[t,{set:r,setSettings:s,disable:o,storeId:e.storeId,emitOnEditStart:a,emitOnEditEnd:l}]}const z$=at("div",{variants:{hasRange:{true:{position:"relative",display:"grid",gridTemplateColumns:"auto $sizes$numberInputMinWidth",columnGap:"$colGap",alignItems:"center"}}}}),gI=at("div",{position:"relative",width:"100%",height:2,borderRadius:"$xs",backgroundColor:"$elevation1"}),M_=at("div",{position:"absolute",width:"$scrubberWidth",height:"$scrubberHeight",borderRadius:"$xs",boxShadow:"0 0 0 2px $colors$elevation2",backgroundColor:"$accent2",cursor:"pointer",$active:"none $accent1",$hover:"none $accent3",variants:{position:{left:{borderTopRightRadius:0,borderBottomRightRadius:0,transform:"translateX(calc(-0.5 * ($sizes$scrubberWidth + 4px)))"},right:{borderTopLeftRadius:0,borderBottomLeftRadius:0,transform:"translateX(calc(0.5 * ($sizes$scrubberWidth + 4px)))"}}}}),vI=at("div",{position:"relative",$flex:"",height:"100%",cursor:"pointer",touchAction:"none"}),yI=at("div",{position:"absolute",height:"100%",backgroundColor:"$accent2"});function B$({value:n,min:e,max:t,onDrag:i,step:r,initialValue:s}){const o=R.useRef(null),a=R.useRef(null),l=R.useRef(0),u=po("sizes","scrubberWidth"),d=uh(({event:p,first:m,xy:[v],movement:[w],memo:x})=>{if(m){const{width:_,left:S}=o.current.getBoundingClientRect();l.current=_-parseFloat(u),x=(p==null?void 0:p.target)===a.current?n:Og((v-S)/_,e,t)}const g=x+Og(w/l.current,0,t-e);return i(nI(g,{step:r,initialValue:s})),x}),h=Ig(n,e,t);return G.createElement(vI,En({ref:o},d()),G.createElement(gI,null,G.createElement(yI,{style:{left:0,right:`${(1-h)*100}%`}})),G.createElement(M_,{ref:a,style:{left:`calc(${h} * (100% - ${u}))`}}))}const H$=G.memo(({label:n,onUpdate:e,step:t,innerLabelTrim:i})=>{const[r,s]=R.useState(!1),o=uh(({active:a,delta:[l],event:u,memo:d=0})=>(s(a),d+=l/2,Math.abs(d)>=1&&(e(h=>parseFloat(h)+Math.floor(d)*t*Q4(u)),d=0),d));return G.createElement(x$,En({dragging:r,title:n.length>1?n:""},o()),n.slice(0,i))});function xI({label:n,id:e,displayValue:t,onUpdate:i,onChange:r,settings:s,innerLabelTrim:o=1}){const a=o>0&&G.createElement(H$,{label:n,step:s.step,onUpdate:i,innerLabelTrim:o});return G.createElement(E$,{id:e,value:String(t),onUpdate:i,onChange:r,innerLabel:a})}function V$(){const n=wi(),{label:e,value:t,onUpdate:i,settings:r,id:s}=n,{min:o,max:a}=r,l=a!==1/0&&o!==-1/0;return G.createElement(jr,{input:!0},G.createElement(hs,null,e),G.createElement(z$,{hasRange:l},l&&G.createElement(B$,En({value:parseFloat(t),onDrag:i},r)),G.createElement(xI,En({},n,{id:s,label:"value",innerLabelTrim:l?0:1}))))}const{sanitizeStep:W$}=iI,$$=jt(iI,["sanitizeStep"]);var G$=pt({component:V$},$$);const j$=(n,e)=>Xi().schema({options:Xi().passesAnyOf(Xi().object(),Xi().array())}).test(e),X$=(n,{values:e})=>{if(e.indexOf(n)<0)throw Error("Selected value doesn't match Select options");return n},Y$=(n,{values:e})=>e.indexOf(n),q$=n=>{let{value:e,options:t}=n,i,r;return Array.isArray(t)?(r=t,i=t.map(s=>String(s))):(r=Object.values(t),i=Object.keys(t)),"value"in n?r.includes(e)||(i.unshift(String(e)),r.unshift(e)):e=r[0],Object.values(t).includes(e)||(t[String(e)]=e),{value:e,settings:{keys:i,values:r}}};var Z$=Object.freeze({__proto__:null,schema:j$,sanitize:X$,format:Y$,normalize:q$});const K$=at("div",{$flexCenter:"",position:"relative","> svg":{pointerEvents:"none",position:"absolute",right:"$md"}}),b_=at("select",{position:"absolute",top:0,left:0,width:"100%",height:"100%",opacity:0}),J$=at("div",{display:"flex",alignItems:"center",width:"100%",height:"$rowHeight",backgroundColor:"$elevation3",borderRadius:"$sm",padding:"0 $sm",cursor:"pointer",[`${b_}:focus + &`]:{$focusStyle:""},[`${b_}:hover + &`]:{$hoverStyle:""}});function Q$({displayValue:n,value:e,onUpdate:t,id:i,settings:r,disabled:s}){const{keys:o,values:a}=r,l=R.useRef();return e===a[n]&&(l.current=o[n]),G.createElement(K$,null,G.createElement(b_,{id:i,value:n,onChange:u=>t(a[Number(u.currentTarget.value)]),disabled:s},o.map((u,d)=>G.createElement("option",{key:u,value:d},u))),G.createElement(J$,null,l.current),G.createElement(Uw,{toggled:!0}))}function eG(){const{label:n,value:e,displayValue:t,onUpdate:i,id:r,disabled:s,settings:o}=wi();return G.createElement(jr,{input:!0},G.createElement(hs,null,n),G.createElement(Q$,{id:r,value:e,displayValue:t,onUpdate:i,settings:o,disabled:s}))}var tG=pt({component:eG},Z$);const nG=n=>Xi().string().test(n),iG=n=>{if(typeof n!="string")throw Error("Invalid string");return n},rG=({value:n,editable:e=!0,rows:t=!1})=>({value:n,settings:{editable:e,rows:typeof t=="number"?t:t?5:0}});var sG=Object.freeze({__proto__:null,schema:nG,sanitize:iG,normalize:rG});const oG=["displayValue","onUpdate","onChange","editable"],aG=at("div",{whiteSpace:"pre-wrap"});function lG(n){let{displayValue:e,onUpdate:t,onChange:i,editable:r=!0}=n,s=jt(n,oG);return r?G.createElement(Nw,En({value:e,onUpdate:t,onChange:i},s)):G.createElement(aG,null,e)}function cG(){const{label:n,settings:e,displayValue:t,onUpdate:i,onChange:r}=wi();return G.createElement(jr,{input:!0},G.createElement(hs,null,n),G.createElement(lG,En({displayValue:t,onUpdate:i,onChange:r},e)))}var uG=pt({component:cG},sG);const fG=n=>Xi().boolean().test(n),dG=n=>{if(typeof n!="boolean")throw Error("Invalid boolean");return n};var hG=Object.freeze({__proto__:null,schema:fG,sanitize:dG});const pG=at("div",{position:"relative",$flex:"",height:"$rowHeight",input:{$reset:"",height:0,width:0,opacity:0,margin:0},label:{position:"relative",$flexCenter:"",userSelect:"none",cursor:"pointer",height:"$checkboxSize",width:"$checkboxSize",backgroundColor:"$elevation3",borderRadius:"$sm",$hover:""},"input:focus + label":{$focusStyle:""},"input:focus:checked + label, input:checked + label:hover":{$hoverStyle:"$accent3"},"input + label:active":{backgroundColor:"$accent1"},"input:checked + label:active":{backgroundColor:"$accent1"},"label > svg":{display:"none",width:"90%",height:"90%",stroke:"$highlight3"},"input:checked + label":{backgroundColor:"$accent2"},"input:checked + label > svg":{display:"block"}});function mG({value:n,onUpdate:e,id:t,disabled:i}){return G.createElement(pG,null,G.createElement("input",{id:t,type:"checkbox",checked:n,onChange:r=>e(r.currentTarget.checked),disabled:i}),G.createElement("label",{htmlFor:t},G.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},G.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"}))))}function gG(){const{label:n,value:e,onUpdate:t,disabled:i,id:r}=wi();return G.createElement(jr,{input:!0},G.createElement(hs,null,n),G.createElement(mG,{value:e,onUpdate:t,id:r,disabled:i}))}var vG=pt({component:gG},hG);const yG=["locked"];function xG({value:n,id:e,valueKey:t,settings:i,onUpdate:r,innerLabelTrim:s}){const o=R.useRef(n[t]);o.current=n[t];const a=R.useCallback(u=>r({[t]:K4({type:"NUMBER",value:o.current,settings:i},u)}),[r,i,t]),l=pI({type:"NUMBER",value:n[t],settings:i,setValue:a});return G.createElement(xI,{id:e,label:t,value:n[t],displayValue:l.displayValue,onUpdate:l.onUpdate,onChange:l.onChange,settings:i,innerLabelTrim:s})}const _G=at("div",{display:"grid",columnGap:"$colGap",gridAutoFlow:"column dense",alignItems:"center",variants:{withLock:{true:{gridTemplateColumns:"10px auto","> svg":{cursor:"pointer"}}}}});function SG(n){let{locked:e}=n,t=jt(n,yG);return G.createElement("svg",En({width:"10",height:"10",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),e?G.createElement("path",{d:"M5 4.63601C5 3.76031 5.24219 3.1054 5.64323 2.67357C6.03934 2.24705 6.64582 1.9783 7.5014 1.9783C8.35745 1.9783 8.96306 2.24652 9.35823 2.67208C9.75838 3.10299 10 3.75708 10 4.63325V5.99999H5V4.63601ZM4 5.99999V4.63601C4 3.58148 4.29339 2.65754 4.91049 1.99307C5.53252 1.32329 6.42675 0.978302 7.5014 0.978302C8.57583 0.978302 9.46952 1.32233 10.091 1.99162C10.7076 2.65557 11 3.57896 11 4.63325V5.99999H12C12.5523 5.99999 13 6.44771 13 6.99999V13C13 13.5523 12.5523 14 12 14H3C2.44772 14 2 13.5523 2 13V6.99999C2 6.44771 2.44772 5.99999 3 5.99999H4ZM3 6.99999H12V13H3V6.99999Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}):G.createElement("path",{d:"M9 3.63601C9 2.76044 9.24207 2.11211 9.64154 1.68623C10.0366 1.26502 10.6432 1 11.5014 1C12.4485 1 13.0839 1.30552 13.4722 1.80636C13.8031 2.23312 14 2.84313 14 3.63325H15C15 2.68242 14.7626 1.83856 14.2625 1.19361C13.6389 0.38943 12.6743 0 11.5014 0C10.4294 0 9.53523 0.337871 8.91218 1.0021C8.29351 1.66167 8 2.58135 8 3.63601V6H1C0.447715 6 0 6.44772 0 7V13C0 13.5523 0.447715 14 1 14H10C10.5523 14 11 13.5523 11 13V7C11 6.44772 10.5523 6 10 6H9V3.63601ZM1 7H10V13H1V7Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}function Fw({value:n,onUpdate:e,settings:t,innerLabelTrim:i}){const{id:r,setSettings:s}=wi(),{lock:o,locked:a}=t;return G.createElement(_G,{withLock:o},o&&G.createElement(SG,{locked:a,onClick:()=>s({locked:!a})}),Object.keys(n).map((l,u)=>G.createElement(xG,{id:u===0?r:`${r}.${l}`,key:l,valueKey:l,value:n,settings:t[l],onUpdate:e,innerLabelTrim:i})))}const _I=(n,e)=>{const t={};let i=0,r=1/0;Object.entries(n).forEach(([s,o])=>{t[s]=tI(pt({value:o},e[s])).settings,i=Math.max(i,t[s].step),r=Math.min(r,t[s].pad)});for(let s in t){const{step:o,min:a,max:l}=e[s]||{};!isFinite(o)&&(!isFinite(a)||!isFinite(l))&&(t[s].step=i,t[s].pad=r)}return t},wG=["lock"],EG=["value"];function MG(n){const e=Xi().array().length(n).every.number(),t=i=>{if(!i||typeof i!="object")return!1;const r=Object.values(i);return r.length===n&&r.every(s=>isFinite(s))};return i=>e.test(i)||t(i)}function bG(n){return Array.isArray(n)?"array":"object"}function Zf(n,e,t){return bG(n)===e?n:e==="array"?Object.values(n):n$(n,t)}const TG=(n,e,t)=>{const i=Zf(n,"object",e.keys);for(let o in i)i[o]=eI(i[o],e[o]);const r=Object.keys(i);let s={};if(r.length===e.keys.length)s=i;else{const o=Zf(t,"object",e.keys);if(r.length===1&&e.locked){const a=r[0],l=i[a],u=o[a],d=u!==0?l/u:1;for(let h in o)h===a?s[a]=l:s[h]=o[h]*d}else s=pt(pt({},o),i)}return Zf(s,e.format,e.keys)},CG=(n,e)=>Zf(n,"object",e.keys),AG=n=>!!n&&("step"in n||"min"in n||"max"in n);function RG(n,e,t=[]){const{lock:i=!1}=e,r=jt(e,wG),s=Array.isArray(n)?"array":"object",o=s==="object"?Object.keys(n):t,a=Zf(n,"object",o),l=AG(r)?o.reduce((d,h)=>Object.assign(d,{[h]:r}),{}):r,u=_I(a,l);return{value:s==="array"?n:a,settings:pt(pt({},u),{},{format:s,keys:o,lock:i,locked:!1})}}function SI(n){return{schema:MG(n.length),normalize:e=>{let{value:t}=e,i=jt(e,EG);return RG(t,i,n)},format:(e,t)=>CG(e,t),sanitize:(e,t,i)=>TG(e,t,i)}}var PG={grad:.9,turn:360,rad:360/(2*Math.PI)},Ks=function(n){return typeof n=="string"?n.length>0:typeof n=="number"},qn=function(n,e,t){return e===void 0&&(e=0),t===void 0&&(t=Math.pow(10,e)),Math.round(t*n)/t+0},zr=function(n,e,t){return e===void 0&&(e=0),t===void 0&&(t=1),n>t?t:n>e?n:e},wI=function(n){return(n=isFinite(n)?n%360:0)>0?n:n+360},gC=function(n){return{r:zr(n.r,0,255),g:zr(n.g,0,255),b:zr(n.b,0,255),a:zr(n.a)}},vy=function(n){return{r:qn(n.r),g:qn(n.g),b:qn(n.b),a:qn(n.a,3)}},LG=/^#([0-9a-f]{3,8})$/i,wm=function(n){var e=n.toString(16);return e.length<2?"0"+e:e},EI=function(n){var e=n.r,t=n.g,i=n.b,r=n.a,s=Math.max(e,t,i),o=s-Math.min(e,t,i),a=o?s===e?(t-i)/o:s===t?2+(i-e)/o:4+(e-t)/o:0;return{h:60*(a<0?a+6:a),s:s?o/s*100:0,v:s/255*100,a:r}},MI=function(n){var e=n.h,t=n.s,i=n.v,r=n.a;e=e/360*6,t/=100,i/=100;var s=Math.floor(e),o=i*(1-t),a=i*(1-(e-s)*t),l=i*(1-(1-e+s)*t),u=s%6;return{r:255*[i,a,o,o,l,i][u],g:255*[l,i,i,a,o,o][u],b:255*[o,o,l,i,i,a][u],a:r}},vC=function(n){return{h:wI(n.h),s:zr(n.s,0,100),l:zr(n.l,0,100),a:zr(n.a)}},yC=function(n){return{h:qn(n.h),s:qn(n.s),l:qn(n.l),a:qn(n.a,3)}},xC=function(n){return MI((t=(e=n).s,{h:e.h,s:(t*=((i=e.l)<50?i:100-i)/100)>0?2*t/(i+t)*100:0,v:i+t,a:e.a}));var e,t,i},Kf=function(n){return{h:(e=EI(n)).h,s:(r=(200-(t=e.s))*(i=e.v)/100)>0&&r<200?t*i/100/(r<=100?r:200-r)*100:0,l:r/2,a:e.a};var e,t,i,r},IG=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,OG=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,DG=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,NG=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,T_={string:[[function(n){var e=LG.exec(n);return e?(n=e[1]).length<=4?{r:parseInt(n[0]+n[0],16),g:parseInt(n[1]+n[1],16),b:parseInt(n[2]+n[2],16),a:n.length===4?qn(parseInt(n[3]+n[3],16)/255,2):1}:n.length===6||n.length===8?{r:parseInt(n.substr(0,2),16),g:parseInt(n.substr(2,2),16),b:parseInt(n.substr(4,2),16),a:n.length===8?qn(parseInt(n.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(n){var e=DG.exec(n)||NG.exec(n);return e?e[2]!==e[4]||e[4]!==e[6]?null:gC({r:Number(e[1])/(e[2]?100/255:1),g:Number(e[3])/(e[4]?100/255:1),b:Number(e[5])/(e[6]?100/255:1),a:e[7]===void 0?1:Number(e[7])/(e[8]?100:1)}):null},"rgb"],[function(n){var e=IG.exec(n)||OG.exec(n);if(!e)return null;var t,i,r=vC({h:(t=e[1],i=e[2],i===void 0&&(i="deg"),Number(t)*(PG[i]||1)),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return xC(r)},"hsl"]],object:[[function(n){var e=n.r,t=n.g,i=n.b,r=n.a,s=r===void 0?1:r;return Ks(e)&&Ks(t)&&Ks(i)?gC({r:Number(e),g:Number(t),b:Number(i),a:Number(s)}):null},"rgb"],[function(n){var e=n.h,t=n.s,i=n.l,r=n.a,s=r===void 0?1:r;if(!Ks(e)||!Ks(t)||!Ks(i))return null;var o=vC({h:Number(e),s:Number(t),l:Number(i),a:Number(s)});return xC(o)},"hsl"],[function(n){var e=n.h,t=n.s,i=n.v,r=n.a,s=r===void 0?1:r;if(!Ks(e)||!Ks(t)||!Ks(i))return null;var o=function(a){return{h:wI(a.h),s:zr(a.s,0,100),v:zr(a.v,0,100),a:zr(a.a)}}({h:Number(e),s:Number(t),v:Number(i),a:Number(s)});return MI(o)},"hsv"]]},_C=function(n,e){for(var t=0;t=.5},n.prototype.toHex=function(){return e=vy(this.rgba),t=e.r,i=e.g,r=e.b,o=(s=e.a)<1?wm(qn(255*s)):"","#"+wm(t)+wm(i)+wm(r)+o;var e,t,i,r,s,o},n.prototype.toRgb=function(){return vy(this.rgba)},n.prototype.toRgbString=function(){return e=vy(this.rgba),t=e.r,i=e.g,r=e.b,(s=e.a)<1?"rgba("+t+", "+i+", "+r+", "+s+")":"rgb("+t+", "+i+", "+r+")";var e,t,i,r,s},n.prototype.toHsl=function(){return yC(Kf(this.rgba))},n.prototype.toHslString=function(){return e=yC(Kf(this.rgba)),t=e.h,i=e.s,r=e.l,(s=e.a)<1?"hsla("+t+", "+i+"%, "+r+"%, "+s+")":"hsl("+t+", "+i+"%, "+r+"%)";var e,t,i,r,s},n.prototype.toHsv=function(){return e=EI(this.rgba),{h:qn(e.h),s:qn(e.s),v:qn(e.v),a:qn(e.a,3)};var e},n.prototype.invert=function(){return Ri({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a});var e},n.prototype.saturate=function(e){return e===void 0&&(e=.1),Ri(yy(this.rgba,e))},n.prototype.desaturate=function(e){return e===void 0&&(e=.1),Ri(yy(this.rgba,-e))},n.prototype.grayscale=function(){return Ri(yy(this.rgba,-1))},n.prototype.lighten=function(e){return e===void 0&&(e=.1),Ri(SC(this.rgba,e))},n.prototype.darken=function(e){return e===void 0&&(e=.1),Ri(SC(this.rgba,-e))},n.prototype.rotate=function(e){return e===void 0&&(e=15),this.hue(this.hue()+e)},n.prototype.alpha=function(e){return typeof e=="number"?Ri({r:(t=this.rgba).r,g:t.g,b:t.b,a:e}):qn(this.rgba.a,3);var t},n.prototype.hue=function(e){var t=Kf(this.rgba);return typeof e=="number"?Ri({h:e,s:t.s,l:t.l,a:t.a}):qn(t.h)},n.prototype.isEqual=function(e){return this.toHex()===Ri(e).toHex()},n}(),Ri=function(n){return n instanceof C_?n:new C_(n)},wC=[],UG=function(n){n.forEach(function(e){wC.indexOf(e)<0&&(e(C_,T_),wC.push(e))})};function FG(n,e){var t={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},i={};for(var r in t)i[t[r]]=r;var s={};n.prototype.toName=function(o){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var a,l,u=i[this.toHex()];if(u)return u;if(o!=null&&o.closest){var d=this.toRgb(),h=1/0,p="black";if(!s.length)for(var m in t)s[m]=new n(t[m]).toRgb();for(var v in t){var w=(a=d,l=s[v],Math.pow(a.r-l.r,2)+Math.pow(a.g-l.g,2)+Math.pow(a.b-l.b,2));w=0||(r[t]=n[t]);return r}function A_(n){var e=R.useRef(n),t=R.useRef(function(i){e.current&&e.current(i)});return e.current=n,t.current}var xu=function(n,e,t){return e===void 0&&(e=0),t===void 0&&(t=1),n>t?t:n0:x.buttons>0)&&r.current?s(EC(r.current,x,a.current)):w(!1)},v=function(){return w(!1)};function w(x){var g=l.current,_=R_(r.current),S=x?_.addEventListener:_.removeEventListener;S(g?"touchmove":"mousemove",m),S(g?"touchend":"mouseup",v)}return[function(x){var g=x.nativeEvent,_=r.current;if(_&&(MC(g),!function(M,A){return A&&!Jf(M)}(g,l.current)&&_)){if(Jf(g)){l.current=!0;var S=g.changedTouches||[];S.length&&(a.current=S[0].identifier)}_.focus(),s(EC(_,g,a.current)),w(!0)}},function(x){var g=x.which||x.keyCode;g<37||g>40||(x.preventDefault(),o({left:g===39?.05:g===37?-.05:0,top:g===40?.05:g===38?-.05:0}))},w]},[o,s]),d=u[0],h=u[1],p=u[2];return R.useEffect(function(){return p},[p]),G.createElement("div",Du({},i,{onTouchStart:d,onMouseDown:d,className:"react-colorful__interactive",ref:r,onKeyDown:h,tabIndex:0,role:"slider"}))}),fh=function(n){return n.filter(Boolean).join(" ")},Hw=function(n){var e=n.color,t=n.left,i=n.top,r=i===void 0?.5:i,s=fh(["react-colorful__pointer",n.className]);return G.createElement("div",{className:s,style:{top:100*r+"%",left:100*t+"%"}},G.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:e}}))},Ii=function(n,e,t){return e===void 0&&(e=0),t===void 0&&(t=Math.pow(10,e)),Math.round(t*n)/t},TI=function(n){var e=n.s,t=n.v,i=n.a,r=(200-e)*t/100;return{h:Ii(n.h),s:Ii(r>0&&r<200?e*t/100/(r<=100?r:200-r)*100:0),l:Ii(r/2),a:Ii(i,2)}},P_=function(n){var e=TI(n);return"hsl("+e.h+", "+e.s+"%, "+e.l+"%)"},_y=function(n){var e=TI(n);return"hsla("+e.h+", "+e.s+"%, "+e.l+"%, "+e.a+")"},CI=function(n){var e=n.h,t=n.s,i=n.v,r=n.a;e=e/360*6,t/=100,i/=100;var s=Math.floor(e),o=i*(1-t),a=i*(1-(e-s)*t),l=i*(1-(1-e+s)*t),u=s%6;return{r:Ii(255*[i,a,o,o,l,i][u]),g:Ii(255*[l,i,i,a,o,o][u]),b:Ii(255*[o,o,l,i,i,a][u]),a:Ii(r,2)}},AI=function(n){var e=n.r,t=n.g,i=n.b,r=n.a,s=Math.max(e,t,i),o=s-Math.min(e,t,i),a=o?s===e?(t-i)/o:s===t?2+(i-e)/o:4+(e-t)/o:0;return{h:Ii(60*(a<0?a+6:a)),s:Ii(s?o/s*100:0),v:Ii(s/255*100),a:r}},RI=G.memo(function(n){var e=n.hue,t=n.onChange,i=fh(["react-colorful__hue",n.className]);return G.createElement("div",{className:i},G.createElement(Bw,{onMove:function(r){t({h:360*r.left})},onKey:function(r){t({h:xu(e+360*r.left,0,360)})},"aria-label":"Hue","aria-valuenow":Ii(e),"aria-valuemax":"360","aria-valuemin":"0"},G.createElement(Hw,{className:"react-colorful__hue-pointer",left:e/360,color:P_({h:e,s:100,v:100,a:1})})))}),PI=G.memo(function(n){var e=n.hsva,t=n.onChange,i={backgroundColor:P_({h:e.h,s:100,v:100,a:1})};return G.createElement("div",{className:"react-colorful__saturation",style:i},G.createElement(Bw,{onMove:function(r){t({s:100*r.left,v:100-100*r.top})},onKey:function(r){t({s:xu(e.s+100*r.left,0,100),v:xu(e.v-100*r.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+Ii(e.s)+"%, Brightness "+Ii(e.v)+"%"},G.createElement(Hw,{className:"react-colorful__saturation-pointer",top:1-e.v/100,left:e.s/100,color:P_(e)})))}),Vw=function(n,e){if(n===e)return!0;for(var t in n)if(n[t]!==e[t])return!1;return!0};function LI(n,e,t){var i=A_(t),r=R.useState(function(){return n.toHsva(e)}),s=r[0],o=r[1],a=R.useRef({color:e,hsva:s});R.useEffect(function(){if(!n.equal(e,a.current.color)){var u=n.toHsva(e);a.current={hsva:u,color:e},o(u)}},[e,n]),R.useEffect(function(){var u;Vw(s,a.current.hsva)||n.equal(u=n.fromHsva(s),a.current.color)||(a.current={hsva:s,color:u},i(u))},[s,n,i]);var l=R.useCallback(function(u){o(function(d){return Object.assign({},d,u)})},[]);return[s,l]}var zG=typeof window<"u"?R.useLayoutEffect:R.useEffect,BG=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},bC=new Map,II=function(n){zG(function(){var e=n.current?n.current.ownerDocument:document;if(e!==void 0&&!bC.has(e)){var t=e.createElement("style");t.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,bC.set(e,t);var i=BG();i&&t.setAttribute("nonce",i),e.head.appendChild(t)}},[])},HG=function(n){var e=n.className,t=n.colorModel,i=n.color,r=i===void 0?t.defaultColor:i,s=n.onChange,o=zw(n,["className","colorModel","color","onChange"]),a=R.useRef(null);II(a);var l=LI(t,r,s),u=l[0],d=l[1],h=fh(["react-colorful",e]);return G.createElement("div",Du({},o,{ref:a,className:h}),G.createElement(PI,{hsva:u,onChange:d}),G.createElement(RI,{hue:u.h,onChange:d,className:"react-colorful__last-control"}))},VG=function(n){var e=n.className,t=n.hsva,i=n.onChange,r={backgroundImage:"linear-gradient(90deg, "+_y(Object.assign({},t,{a:0}))+", "+_y(Object.assign({},t,{a:1}))+")"},s=fh(["react-colorful__alpha",e]),o=Ii(100*t.a);return G.createElement("div",{className:s},G.createElement("div",{className:"react-colorful__alpha-gradient",style:r}),G.createElement(Bw,{onMove:function(a){i({a:a.left})},onKey:function(a){i({a:xu(t.a+a.left)})},"aria-label":"Alpha","aria-valuetext":o+"%","aria-valuenow":o,"aria-valuemin":"0","aria-valuemax":"100"},G.createElement(Hw,{className:"react-colorful__alpha-pointer",left:t.a,color:_y(t)})))},WG=function(n){var e=n.className,t=n.colorModel,i=n.color,r=i===void 0?t.defaultColor:i,s=n.onChange,o=zw(n,["className","colorModel","color","onChange"]),a=R.useRef(null);II(a);var l=LI(t,r,s),u=l[0],d=l[1],h=fh(["react-colorful",e]);return G.createElement("div",Du({},o,{ref:a,className:h}),G.createElement(PI,{hsva:u,onChange:d}),G.createElement(RI,{hue:u.h,onChange:d}),G.createElement(VG,{hsva:u,onChange:d,className:"react-colorful__last-control"}))},$G={defaultColor:{r:0,g:0,b:0,a:1},toHsva:AI,fromHsva:CI,equal:Vw},GG=function(n){return G.createElement(WG,Du({},n,{colorModel:$G}))},jG={defaultColor:{r:0,g:0,b:0},toHsva:function(n){return AI({r:n.r,g:n.g,b:n.b,a:1})},fromHsva:function(n){return{r:(e=CI(n)).r,g:e.g,b:e.b};var e},equal:Vw},XG=function(n){return G.createElement(HG,Du({},n,{colorModel:jG}))},OI={exports:{}},YG="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",qG=YG,ZG=qG;function DI(){}function NI(){}NI.resetWarningCache=DI;var KG=function(){function n(i,r,s,o,a,l){if(l!==ZG){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}n.isRequired=n;function e(){return n}var t={array:n,bigint:n,bool:n,func:n,number:n,object:n,string:n,symbol:n,any:n,arrayOf:e,element:n,elementType:n,instanceOf:e,node:n,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:NI,resetWarningCache:DI};return t.PropTypes=t,t};OI.exports=KG();var JG=OI.exports;const qt=Sa(JG);function Nu(n,e,t,i){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(d){try{u(i.next(d))}catch(h){o(h)}}function l(d){try{u(i.throw(d))}catch(h){o(h)}}function u(d){d.done?s(d.value):r(d.value).then(a,l)}u((i=i.apply(n,e||[])).next())})}function ku(n,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,r,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(u){return function(d){return l([u,d])}}function l(u){if(i)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(t=0)),t;)try{if(i=1,r&&(s=u[0]&2?r.return:u[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,u[1])).done)return s;switch(r=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,r=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]0)&&!(r=i.next()).done;)s.push(r.value)}catch(a){o={error:a}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s}function ej(){for(var n=[],e=0;e0?i:n.name,writable:!1,configurable:!1,enumerable:!0})}return t}function nj(n){var e=n.name,t=e&&e.lastIndexOf(".")!==-1;if(t&&!n.type){var i=e.split(".").pop().toLowerCase(),r=tj.get(i);r&&Object.defineProperty(n,"type",{value:r,writable:!1,configurable:!1,enumerable:!0})}return n}var ij=[".DS_Store","Thumbs.db"];function rj(n){return Nu(this,void 0,void 0,function(){return ku(this,function(e){return Ng(n)&&sj(n)?[2,cj(n.dataTransfer,n.type)]:oj(n)?[2,aj(n)]:Array.isArray(n)&&n.every(function(t){return"getFile"in t&&typeof t.getFile=="function"})?[2,lj(n)]:[2,[]]})})}function sj(n){return Ng(n.dataTransfer)}function oj(n){return Ng(n)&&Ng(n.target)}function Ng(n){return typeof n=="object"&&n!==null}function aj(n){return L_(n.target.files).map(function(e){return dh(e)})}function lj(n){return Nu(this,void 0,void 0,function(){var e;return ku(this,function(t){switch(t.label){case 0:return[4,Promise.all(n.map(function(i){return i.getFile()}))];case 1:return e=t.sent(),[2,e.map(function(i){return dh(i)})]}})})}function cj(n,e){return Nu(this,void 0,void 0,function(){var t,i;return ku(this,function(r){switch(r.label){case 0:return n===null?[2,[]]:n.items?(t=L_(n.items).filter(function(s){return s.kind==="file"}),e!=="drop"?[2,t]:[4,Promise.all(t.map(uj))]):[3,2];case 1:return i=r.sent(),[2,TC(kI(i))];case 2:return[2,TC(L_(n.files).map(function(s){return dh(s)}))]}})})}function TC(n){return n.filter(function(e){return ij.indexOf(e.name)===-1})}function L_(n){if(n===null)return[];for(var e=[],t=0;tn.length)&&(e=n.length);for(var t=0,i=new Array(e);tt)return[!1,IC(t)];if(n.sizet)return[!1,IC(t)]}return[!0,null]}function Af(n){return n!=null}function Mj(n){var e=n.files,t=n.accept,i=n.minSize,r=n.maxSize,s=n.multiple,o=n.maxFiles;return!s&&e.length>1||s&&o>=1&&e.length>o?!1:e.every(function(a){var l=zI(a,t),u=PC(l,1),d=u[0],h=BI(a,i,r),p=PC(h,1),m=p[0];return d&&m})}function kg(n){return typeof n.isPropagationStopped=="function"?n.isPropagationStopped():typeof n.cancelBubble<"u"?n.cancelBubble:!1}function Em(n){return n.dataTransfer?Array.prototype.some.call(n.dataTransfer.types,function(e){return e==="Files"||e==="application/x-moz-file"}):!!n.target&&!!n.target.files}function DC(n){n.preventDefault()}function bj(n){return n.indexOf("MSIE")!==-1||n.indexOf("Trident/")!==-1}function Tj(n){return n.indexOf("Edge/")!==-1}function Cj(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return bj(n)||Tj(n)}function Ms(){for(var n=arguments.length,e=new Array(n),t=0;t1?r-1:0),o=1;on.length)&&(e=n.length);for(var t=0,i=new Array(e);t=0)&&Object.prototype.propertyIsEnumerable.call(n,i)&&(t[i]=n[i])}return t}function Wj(n,e){if(n==null)return{};var t={},i=Object.keys(n),r,s;for(s=0;s=0)&&(t[r]=n[r]);return t}var Ww=R.forwardRef(function(n,e){var t=n.children,i=Ug(n,Ij),r=WI(i),s=r.open,o=Ug(r,Oj);return R.useImperativeHandle(e,function(){return{open:s}},[s]),G.createElement(R.Fragment,null,t(an(an({},o),{},{open:s})))});Ww.displayName="Dropzone";var VI={disabled:!1,getFilesFromEvent:rj,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0};Ww.defaultProps=VI;Ww.propTypes={children:qt.func,accept:qt.oneOfType([qt.string,qt.arrayOf(qt.string)]),multiple:qt.bool,preventDropOnDocument:qt.bool,noClick:qt.bool,noKeyboard:qt.bool,noDrag:qt.bool,noDragEventsBubbling:qt.bool,minSize:qt.number,maxSize:qt.number,maxFiles:qt.number,disabled:qt.bool,getFilesFromEvent:qt.func,onFileDialogCancel:qt.func,onFileDialogOpen:qt.func,useFsAccessApi:qt.bool,onDragEnter:qt.func,onDragLeave:qt.func,onDragOver:qt.func,onDrop:qt.func,onDropAccepted:qt.func,onDropRejected:qt.func,validator:qt.func};var D_={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],fileRejections:[]};function WI(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=an(an({},VI),n),t=e.accept,i=e.disabled,r=e.getFilesFromEvent,s=e.maxSize,o=e.minSize,a=e.multiple,l=e.maxFiles,u=e.onDragEnter,d=e.onDragLeave,h=e.onDragOver,p=e.onDrop,m=e.onDropAccepted,v=e.onDropRejected,w=e.onFileDialogCancel,x=e.onFileDialogOpen,g=e.useFsAccessApi,_=e.preventDropOnDocument,S=e.noClick,M=e.noKeyboard,A=e.noDrag,T=e.noDragEventsBubbling,L=e.validator,O=R.useMemo(function(){return typeof x=="function"?x:kC},[x]),H=R.useMemo(function(){return typeof w=="function"?w:kC},[w]),C=R.useRef(null),I=R.useRef(null),j=R.useReducer($j,D_),ee=Sy(j,2),z=ee[0],J=ee[1],Z=z.isFocused,ne=z.isFileDialogActive,k=z.draggedFiles,W=R.useRef(typeof window<"u"&&window.isSecureContext&&g&&Aj()),Y=function(){!W.current&&ne&&setTimeout(function(){if(I.current){var re=I.current.files;re.length||(J({type:"closeDialog"}),H())}},300)};R.useEffect(function(){return window.addEventListener("focus",Y,!1),function(){window.removeEventListener("focus",Y,!1)}},[I,ne,H,W]);var ie=R.useRef([]),me=function(re){C.current&&C.current.contains(re.target)||(re.preventDefault(),ie.current=[])};R.useEffect(function(){return _&&(document.addEventListener("dragover",DC,!1),document.addEventListener("drop",me,!1)),function(){_&&(document.removeEventListener("dragover",DC),document.removeEventListener("drop",me))}},[C,_]);var Re=R.useCallback(function(X){X.preventDefault(),X.persist(),xe(X),ie.current=[].concat(kj(ie.current),[X.target]),Em(X)&&Promise.resolve(r(X)).then(function(re){kg(X)&&!T||(J({draggedFiles:re,isDragActive:!0,type:"setDraggedFiles"}),u&&u(X))})},[r,u,T]),oe=R.useCallback(function(X){X.preventDefault(),X.persist(),xe(X);var re=Em(X);if(re&&X.dataTransfer)try{X.dataTransfer.dropEffect="copy"}catch{}return re&&h&&h(X),!1},[h,T]),ye=R.useCallback(function(X){X.preventDefault(),X.persist(),xe(X);var re=ie.current.filter(function(_e){return C.current&&C.current.contains(_e)}),Se=re.indexOf(X.target);Se!==-1&&re.splice(Se,1),ie.current=re,!(re.length>0)&&(J({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),Em(X)&&d&&d(X))},[C,d,T]),Ee=R.useCallback(function(X,re){var Se=[],_e=[];X.forEach(function(et){var tt=zI(et,t),Te=Sy(tt,2),De=Te[0],st=Te[1],Ce=BI(et,o,s),Bt=Sy(Ce,2),vt=Bt[0],Je=Bt[1],$=L?L(et):null;if(De&&vt&&!$)Se.push(et);else{var ue=[st,Je];$&&(ue=ue.concat($)),_e.push({file:et,errors:ue.filter(function(Le){return Le})})}}),(!a&&Se.length>1||a&&l>=1&&Se.length>l)&&(Se.forEach(function(et){_e.push({file:et,errors:[Ej]})}),Se.splice(0)),J({acceptedFiles:Se,fileRejections:_e,type:"setFiles"}),p&&p(Se,_e,re),_e.length>0&&v&&v(_e,re),Se.length>0&&m&&m(Se,re)},[J,a,t,o,s,l,p,m,v,L]),Ue=R.useCallback(function(X){X.preventDefault(),X.persist(),xe(X),ie.current=[],Em(X)&&Promise.resolve(r(X)).then(function(re){kg(X)&&!T||Ee(re,X)}),J({type:"reset"})},[r,Ee,T]),$e=R.useCallback(function(){if(W.current){J({type:"openDialog"}),O();var X={multiple:a,types:Rj(t)};window.showOpenFilePicker(X).then(function(re){return r(re)}).then(function(re){Ee(re,null),J({type:"closeDialog"})}).catch(function(re){Pj(re)?(H(re),J({type:"closeDialog"})):Lj(re)&&(W.current=!1,I.current&&(I.current.value=null,I.current.click()))});return}I.current&&(J({type:"openDialog"}),O(),I.current.value=null,I.current.click())},[J,O,H,g,Ee,t,a]),Fe=R.useCallback(function(X){!C.current||!C.current.isEqualNode(X.target)||(X.key===" "||X.key==="Enter"||X.keyCode===32||X.keyCode===13)&&(X.preventDefault(),$e())},[C,$e]),lt=R.useCallback(function(){J({type:"focus"})},[]),Ve=R.useCallback(function(){J({type:"blur"})},[]),V=R.useCallback(function(){S||(Cj()?setTimeout($e,0):$e())},[S,$e]),we=function(re){return i?null:re},ge=function(re){return M?null:we(re)},Me=function(re){return A?null:we(re)},xe=function(re){T&&re.stopPropagation()},Be=R.useMemo(function(){return function(){var X=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},re=X.refKey,Se=re===void 0?"ref":re,_e=X.role,et=X.onKeyDown,tt=X.onFocus,Te=X.onBlur,De=X.onClick,st=X.onDragEnter,Ce=X.onDragOver,Bt=X.onDragLeave,vt=X.onDrop,Je=Ug(X,Dj);return an(an(O_({onKeyDown:ge(Ms(et,Fe)),onFocus:ge(Ms(tt,lt)),onBlur:ge(Ms(Te,Ve)),onClick:we(Ms(De,V)),onDragEnter:Me(Ms(st,Re)),onDragOver:Me(Ms(Ce,oe)),onDragLeave:Me(Ms(Bt,ye)),onDrop:Me(Ms(vt,Ue)),role:typeof _e=="string"&&_e!==""?_e:"button"},Se,C),!i&&!M?{tabIndex:0}:{}),Je)}},[C,Fe,lt,Ve,V,Re,oe,ye,Ue,M,A,i]),ke=R.useCallback(function(X){X.stopPropagation()},[]),Xe=R.useMemo(function(){return function(){var X=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},re=X.refKey,Se=re===void 0?"ref":re,_e=X.onChange,et=X.onClick,tt=Ug(X,Nj),Te=O_({accept:t,multiple:a,type:"file",style:{display:"none"},onChange:we(Ms(_e,Ue)),onClick:we(Ms(et,ke)),tabIndex:-1},Se,I);return an(an({},Te),tt)}},[I,t,a,Ue,i]),ct=k.length,F=ct>0&&Mj({files:k,accept:t,minSize:o,maxSize:s,multiple:a,maxFiles:l}),D=ct>0&&!F;return an(an({},z),{},{isDragAccept:F,isDragReject:D,isFocused:Z&&!i,getRootProps:Be,getInputProps:Xe,rootRef:C,inputRef:I,open:we($e)})}function $j(n,e){switch(e.type){case"focus":return an(an({},n),{},{isFocused:!0});case"blur":return an(an({},n),{},{isFocused:!1});case"openDialog":return an(an({},D_),{},{isFileDialogActive:!0});case"closeDialog":return an(an({},n),{},{isFileDialogActive:!1});case"setDraggedFiles":var t=e.isDragActive,i=e.draggedFiles;return an(an({},n),{},{draggedFiles:i,isDragActive:t});case"setFiles":return an(an({},n),{},{acceptedFiles:e.acceptedFiles,fileRejections:e.fileRejections});case"reset":return an({},D_);default:return n}}function kC(){}const Gj=n=>(e,t,i)=>{const r=i.subscribe;return i.subscribe=(o,a,l)=>{let u=o;if(a){const d=(l==null?void 0:l.equalityFn)||Object.is;let h=o(i.getState());u=p=>{const m=o(p);if(!d(h,m)){const v=h;a(h=m,v)}},l!=null&&l.fireImmediately&&a(h,h)}return r(u)},n(e,t,i)};/*! - * isobject - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */var jj=function(e){return e!=null&&typeof e=="object"&&Array.isArray(e)===!1};/*! - * is-plain-object - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */var Xj=jj;function UC(n){return Xj(n)===!0&&Object.prototype.toString.call(n)==="[object Object]"}var $I=function(e){var t,i;return!(UC(e)===!1||(t=e.constructor,typeof t!="function")||(i=t.prototype,UC(i)===!1)||i.hasOwnProperty("isPrototypeOf")===!1)};/*! - * is-extendable - * - * Copyright (c) 2015-2017, Jon Schlinkert. - * Released under the MIT License. - */var Yj=$I,$w=function(e){return Yj(e)||typeof e=="function"||Array.isArray(e)};/*! - * for-in - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */var qj=function(e,t,i){for(var r in e)if(t.call(i,e[r],r,e)===!1)break},Zj=$w,Kj=qj;function GI(n,e){for(var t=arguments.length,i=0;++i - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - */var tX=function(n,e,t,i,r){if(!nX(n)||!e)return n;if(e=Mm(e),t&&(e+="."+Mm(t)),i&&(e+="."+Mm(i)),r&&(e+="."+Mm(r)),e in n)return n[e];for(var s=e.split("."),o=s.length,a=-1;n&&++a - * - * Copyright (c) 2015, Jon Schlinkert. - * Licensed under the MIT License. - */var iX=function(n,e){if(n===null||typeof n>"u")throw new TypeError("expected first argument to be an object.");if(typeof e>"u"||typeof Symbol>"u"||typeof Object.getOwnPropertySymbols!="function")return n;for(var t=Object.prototype.propertyIsEnumerable,i=Object(n),r=arguments.length,s=0;++s"u")throw new TypeError("Cannot convert undefined or null to object");FC(n)||(n={});for(var e=1;e - * - * Copyright (c) 2015-2017, Jon Schlinkert. - * Released under the MIT License. - */var fX=oX,dX=function(n,e,t){if(typeof n!="string")throw new TypeError("expected a string");typeof e=="function"&&(t=e,e=null),typeof e=="string"&&(e={sep:e});var i=fX({sep:"."},e),r=i.quotes||['"',"'","`"],s;i.brackets===!0?s={"<":">","(":")","[":"]","{":"}"}:i.brackets&&(s=i.brackets);var o=[],a=[],l=[""],u=i.sep,d=n.length,h=-1,p;function m(){if(s&&a.length)return s[a[a.length-1]]}for(;++h - * - * Copyright (c) 2015, Jon Schlinkert. - * Licensed under the MIT License. - */var mX=function(e){return typeof e<"u"&&e!==null&&(typeof e=="object"||typeof e=="function")},zC=mX,gX=function(e){zC(e)||(e={});for(var t=arguments.length,i=1;i - * - * Copyright (c) 2015, Jon Schlinkert. - * Licensed under the MIT License. - */var xX=function(e){return typeof e<"u"&&e!==null&&(typeof e=="object"||typeof e=="function")};/*! - * set-value - * - * Copyright (c) 2014-2015, 2017, Jon Schlinkert. - * Released under the MIT License. - */var _X=dX,SX=gX,BC=$I,HC=xX,wX=function(n,e,t){if(!HC(n)||(Array.isArray(e)&&(e=[].concat.apply([],e).join(".")),typeof e!="string"))return n;for(var i=_X(e,{sep:".",brackets:!0}).filter(EX),r=i.length,s=-1,o=n;++sn.filter(Boolean).join(".");function CX(n){const e=n.split(".");return[e.pop(),e.join(".")||void 0]}function AX(n,e){return Object.entries(e$(n,e)).reduce((t,[,{value:i,disabled:r,key:s}])=>(t[s]=r?void 0:i,t),{})}function RX(n,e){const t=R.useRef();return(e?Fd:sh)(n,t.current)||(t.current=n),t.current}function jI(n,e){return R.useMemo(n,RX(e,!0))}function PX(n){const e=R.useRef(null),t=R.useRef(null),i=R.useRef(!0);return R.useLayoutEffect(()=>{n||(e.current.style.height="0px",e.current.style.overflow="hidden")},[]),R.useEffect(()=>{if(i.current){i.current=!1;return}let r;const s=e.current,o=()=>{n&&(s.style.removeProperty("height"),s.style.removeProperty("overflow"),t.current.scrollIntoView({behavior:"smooth",block:"nearest"}))};s.addEventListener("transitionend",o,{once:!0});const{height:a}=t.current.getBoundingClientRect();return s.style.height=a+"px",n||(s.style.overflow="hidden",r=window.setTimeout(()=>s.style.height="0px",50)),()=>{s.removeEventListener("transitionend",o),clearTimeout(r)}},[n]),{wrapperRef:e,contentRef:t}}const LX=n=>{const[e,t]=R.useState(n.getVisiblePaths());return R.useEffect(()=>{t(n.getVisiblePaths());const i=n.useStore.subscribe(n.getVisiblePaths,t,{equalityFn:sh});return()=>i()},[n]),e};function IX(n,e,t){return n.useStore(r=>{const s=pt(pt({},t),r.data);return AX(s,e)},sh)}function XI(n=3){const e=R.useRef(null),t=R.useRef(null),[i,r]=R.useState(!1),s=R.useCallback(()=>r(!0),[]),o=R.useCallback(()=>r(!1),[]);return R.useLayoutEffect(()=>{if(i){const{bottom:a,top:l,left:u}=e.current.getBoundingClientRect(),{height:d}=t.current.getBoundingClientRect(),h=a+d>window.innerHeight-40?"up":"down";t.current.style.position="fixed",t.current.style.zIndex="10000",t.current.style.left=u+"px",h==="down"?t.current.style.top=a+n+"px":t.current.style.bottom=window.innerHeight-l+n+"px"}},[n,i]),{popinRef:e,wrapperRef:t,shown:i,show:s,hide:o}}UG([FG]);const OX={rgb:"toRgb",hsl:"toHsl",hsv:"toHsv",hex:"toHex"};Xi.extend({color:()=>n=>Ri(n).isValid()});const DX=n=>Xi().color().test(n);function YI(n,{format:e,hasAlpha:t,isString:i}){const r=OX[e]+(i&&e!=="hex"?"String":""),s=n[r]();return typeof s=="object"&&!t?t$(s,["a"]):s}const qI=(n,e)=>{const t=Ri(n);if(!t.isValid())throw Error("Invalid color");return YI(t,e)},NX=(n,e)=>YI(Ri(n),pt(pt({},e),{},{isString:!0,format:"hex"})),kX=({value:n})=>{const e=kG(n),t=e==="name"?"hex":e,i=typeof n=="object"?"a"in n:e==="hex"&&n.length===8||/^(rgba)|(hsla)|(hsva)/.test(n),r={format:t,hasAlpha:i,isString:typeof n=="string"};return{value:qI(n,r),settings:r}};var UX=Object.freeze({__proto__:null,schema:DX,sanitize:qI,format:NX,normalize:kX});const FX=at("div",{position:"relative",boxSizing:"border-box",borderRadius:"$sm",overflow:"hidden",cursor:"pointer",height:"$rowHeight",width:"$rowHeight",backgroundColor:"#fff",backgroundImage:`url('data:image/svg+xml;charset=utf-8,')`,$inputStyle:"",$hover:"",zIndex:1,variants:{active:{true:{$inputStyle:"$accent1"}}},"&::before":{content:'""',position:"absolute",top:0,bottom:0,right:0,left:0,backgroundColor:"currentColor",zIndex:1}}),zX=at("div",{position:"relative",display:"grid",gridTemplateColumns:"$sizes$rowHeight auto",columnGap:"$colGap",alignItems:"center"}),BX=at("div",{width:"$colorPickerWidth",height:"$colorPickerHeight",".react-colorful":{width:"100%",height:"100%",boxShadow:"$level2",cursor:"crosshair"},".react-colorful__saturation":{borderRadius:"$sm $sm 0 0"},".react-colorful__alpha, .react-colorful__hue":{height:10},".react-colorful__last-control":{borderRadius:"0 0 $sm $sm"},".react-colorful__pointer":{height:12,width:12}});function $C(n,e){return e!=="rgb"?Ri(n).toRgb():n}function HX({value:n,displayValue:e,settings:t,onUpdate:i}){const{emitOnEditStart:r,emitOnEditEnd:s}=wi(),{format:o,hasAlpha:a}=t,{popinRef:l,wrapperRef:u,shown:d,show:h,hide:p}=XI(),m=R.useRef(0),[v,w]=R.useState(()=>$C(n,o)),x=a?GG:XG,g=()=>{w($C(n,o)),h(),r()},_=()=>{p(),s(),window.clearTimeout(m.current)},S=()=>{m.current=window.setTimeout(_,500)};return R.useEffect(()=>()=>window.clearTimeout(m.current),[]),G.createElement(G.Fragment,null,G.createElement(FX,{ref:l,active:d,onClick:()=>g(),style:{color:e}}),d&&G.createElement(kw,null,G.createElement(hI,{onPointerUp:_}),G.createElement(BX,{ref:u,onMouseEnter:()=>window.clearTimeout(m.current),onMouseLeave:M=>M.buttons===0&&S()},G.createElement(x,{color:v,onChange:i}))))}function VX(){const{value:n,displayValue:e,label:t,onChange:i,onUpdate:r,settings:s}=wi();return G.createElement(jr,{input:!0},G.createElement(hs,null,t),G.createElement(zX,null,G.createElement(HX,{value:n,displayValue:e,onChange:i,onUpdate:r,settings:s}),G.createElement(Nw,{value:e,onChange:i,onUpdate:r})))}var WX=pt({component:VX},UX);function $X(){const{label:n,displayValue:e,onUpdate:t,settings:i}=wi();return G.createElement(jr,{input:!0},G.createElement(hs,null,n),G.createElement(Fw,{value:e,settings:i,onUpdate:t}))}var GX=pt({component:$X},SI(["x","y","z"]));const jX=at("div",{$flexCenter:"",position:"relative",backgroundColor:"$elevation3",borderRadius:"$sm",cursor:"pointer",height:"$rowHeight",width:"$rowHeight",touchAction:"none",$draggable:"",$hover:"","&:active":{cursor:"none"},"&::after":{content:'""',backgroundColor:"$accent2",height:4,width:4,borderRadius:2}}),XX=at("div",{$flexCenter:"",width:"$joystickWidth",height:"$joystickHeight",borderRadius:"$sm",boxShadow:"$level2",position:"fixed",zIndex:1e4,overflow:"hidden",$draggable:"",transform:"translate(-50%, -50%)",variants:{isOutOfBounds:{true:{backgroundColor:"$elevation1"},false:{backgroundColor:"$elevation3"}}},"> div":{position:"absolute",$flexCenter:"",borderStyle:"solid",borderWidth:1,borderColor:"$highlight1",backgroundColor:"$elevation3",width:"80%",height:"80%","&::after,&::before":{content:'""',position:"absolute",zindex:10,backgroundColor:"$highlight1"},"&::before":{width:"100%",height:1},"&::after":{height:"100%",width:1}},"> span":{position:"relative",zindex:100,width:10,height:10,backgroundColor:"$accent2",borderRadius:"50%"}});function YX({value:n,settings:e,onUpdate:t}){const i=R.useRef(),r=R.useRef(0),s=R.useRef(0),o=R.useRef(1),[a,l]=R.useState(!1),[u,d]=R.useState(!1),[h,p]=mI(),m=R.useRef(null),v=R.useRef(null);R.useLayoutEffect(()=>{if(a){const{top:j,left:ee,width:z,height:J}=m.current.getBoundingClientRect();v.current.style.left=ee+z/2+"px",v.current.style.top=j+J/2+"px"}},[a]);const{keys:[w,x],joystick:g}=e,_=g==="invertY"?1:-1,{[w]:{step:S},[x]:{step:M}}=e,A=po("sizes","joystickWidth"),T=po("sizes","joystickHeight"),L=parseFloat(A)*.8/2,O=parseFloat(T)*.8/2,H=R.useCallback(()=>{i.current||(d(!0),r.current&&p({x:r.current*L}),s.current&&p({y:s.current*-O}),i.current=window.setInterval(()=>{t(j=>{const ee=S*r.current*o.current,z=_*M*s.current*o.current;return Array.isArray(j)?{[w]:j[0]+ee,[x]:j[1]+z}:{[w]:j[w]+ee,[x]:j[x]+z}})},16))},[L,O,t,p,S,M,w,x,_]),C=R.useCallback(()=>{window.clearTimeout(i.current),i.current=void 0,d(!1)},[]);R.useEffect(()=>{function j(ee){o.current=Q4(ee)}return window.addEventListener("keydown",j),window.addEventListener("keyup",j),()=>{window.clearTimeout(i.current),window.removeEventListener("keydown",j),window.removeEventListener("keyup",j)}},[]);const I=uh(({first:j,active:ee,delta:[z,J],movement:[Z,ne]})=>{j&&l(!0);const k=_a(Z,-L,L),W=_a(ne,-O,O);r.current=Math.abs(Z)>Math.abs(k)?Math.sign(Z-k):0,s.current=Math.abs(ne)>Math.abs(W)?Math.sign(W-ne):0;let Y=n[w],ie=n[x];ee?(r.current||(Y+=z*S*o.current,p({x:k})),s.current||(ie-=_*J*M*o.current,p({y:W})),r.current||s.current?H():C(),t({[w]:Y,[x]:ie})):(l(!1),r.current=0,s.current=0,p({x:0,y:0}),C())});return G.createElement(jX,En({ref:m},I()),a&&G.createElement(kw,null,G.createElement(XX,{ref:v,isOutOfBounds:u},G.createElement("div",null),G.createElement("span",{ref:h}))))}const qX=at("div",{display:"grid",columnGap:"$colGap",variants:{withJoystick:{true:{gridTemplateColumns:"$sizes$rowHeight auto"},false:{gridTemplateColumns:"auto"}}}});function ZX(){const{label:n,displayValue:e,onUpdate:t,settings:i}=wi();return G.createElement(jr,{input:!0},G.createElement(hs,null,n),G.createElement(qX,{withJoystick:!!i.joystick},i.joystick&&G.createElement(YX,{value:e,settings:i,onUpdate:t}),G.createElement(Fw,{value:e,settings:i,onUpdate:t})))}const KX=["joystick"],ZI=SI(["x","y"]),JX=n=>{let{joystick:e=!0}=n,t=jt(n,KX);const{value:i,settings:r}=ZI.normalize(t);return{value:i,settings:pt(pt({},r),{},{joystick:e})}};var QX=pt(pt({component:ZX},ZI),{},{normalize:JX});const eY=n=>{if(n!==void 0){if(n instanceof File)try{return URL.createObjectURL(n)}catch{return}if(typeof n=="string"&&n.indexOf("blob:")===0)return n;throw Error("Invalid image format [undefined | blob | File].")}},tY=(n,e)=>typeof e=="object"&&"image"in e,nY=({image:n})=>({value:n});var iY=Object.freeze({__proto__:null,sanitize:eY,schema:tY,normalize:nY});const rY=at("div",{position:"relative",display:"grid",gridTemplateColumns:"$sizes$rowHeight auto 20px",columnGap:"$colGap",alignItems:"center"}),sY=at("div",{$flexCenter:"",overflow:"hidden",height:"$rowHeight",background:"$elevation3",textAlign:"center",color:"inherit",borderRadius:"$sm",outline:"none",userSelect:"none",cursor:"pointer",$inputStyle:"",$hover:"",$focusWithin:"",$active:"$accent1 $elevation1",variants:{isDragAccept:{true:{$inputStyle:"$accent1",backgroundColor:"$elevation1"}}}}),oY=at("div",{boxSizing:"border-box",borderRadius:"$sm",height:"$rowHeight",width:"$rowHeight",$inputStyle:"",backgroundSize:"cover",backgroundPosition:"center",variants:{hasImage:{true:{cursor:"pointer",$hover:"",$active:""}}}}),aY=at("div",{$flexCenter:"",width:"$imagePreviewWidth",height:"$imagePreviewHeight",borderRadius:"$sm",boxShadow:"$level2",pointerEvents:"none",$inputStyle:"",backgroundSize:"cover",backgroundPosition:"center"}),lY=at("div",{fontSize:"0.8em",height:"100%",padding:"$rowGap $md"}),cY=at("div",{$flexCenter:"",top:"0",right:"0",marginRight:"$sm",height:"100%",cursor:"pointer",variants:{disabled:{true:{color:"$elevation3",cursor:"default"}}},"&::after,&::before":{content:'""',position:"absolute",height:2,width:10,borderRadius:1,backgroundColor:"currentColor"},"&::after":{transform:"rotate(45deg)"},"&::before":{transform:"rotate(-45deg)"}});function uY(){const{label:n,value:e,onUpdate:t,disabled:i}=wi(),{popinRef:r,wrapperRef:s,shown:o,show:a,hide:l}=XI(),u=R.useCallback(v=>{v.length&&t(v[0])},[t]),d=R.useCallback(v=>{v.stopPropagation(),t(void 0)},[t]),{getRootProps:h,getInputProps:p,isDragAccept:m}=WI({maxFiles:1,accept:"image/*",onDrop:u,disabled:i});return G.createElement(jr,{input:!0},G.createElement(hs,null,n),G.createElement(rY,null,G.createElement(oY,{ref:r,hasImage:!!e,onPointerDown:()=>!!e&&a(),onPointerUp:l,style:{backgroundImage:e?`url(${e})`:"none"}}),o&&!!e&&G.createElement(kw,null,G.createElement(hI,{onPointerUp:l,style:{cursor:"pointer"}}),G.createElement(aY,{ref:s,style:{backgroundImage:`url(${e})`}})),G.createElement(sY,h({isDragAccept:m}),G.createElement("input",p()),G.createElement(lY,null,m?"drop image":"click or drop")),G.createElement(cY,{onClick:d,disabled:!e})))}var fY=pt({component:uY},iY);const GC=Xi().number(),dY=(n,e)=>Xi().array().length(2).every.number().test(n)&&Xi().schema({min:GC,max:GC}).test(e),Fg=n=>({min:n[0],max:n[1]}),KI=(n,{bounds:[e,t]},i)=>{const r=Array.isArray(n)?Fg(n):n,s={min:i[0],max:i[1]},{min:o,max:a}=pt(pt({},s),r);return[_a(Number(o),e,Math.max(e,a)),_a(Number(a),Math.min(t,o),t)]},hY=({value:n,min:e,max:t})=>{const i={min:e,max:t},r=_I(Fg(n),{min:i,max:i}),s=[e,t],o=pt(pt({},r),{},{bounds:s});return{value:KI(Fg(n),o,n),settings:o}};var pY=Object.freeze({__proto__:null,schema:dY,format:Fg,sanitize:KI,normalize:hY});const mY=["value","bounds","onDrag"],gY=["bounds"],vY=at("div",{display:"grid",columnGap:"$colGap",gridTemplateColumns:"auto calc($sizes$numberInputMinWidth * 2 + $space$rowGap)"});function yY(n){let{value:e,bounds:[t,i],onDrag:r}=n,s=jt(n,mY);const o=R.useRef(null),a=R.useRef(null),l=R.useRef(null),u=R.useRef(0),d=po("sizes","scrubberWidth"),h=uh(({event:v,first:w,xy:[x],movement:[g],memo:_={}})=>{if(w){const{width:M,left:A}=o.current.getBoundingClientRect();u.current=M-parseFloat(d);const T=(v==null?void 0:v.target)===a.current||(v==null?void 0:v.target)===l.current;_.pos=Og((x-A)/M,t,i);const L=Math.abs(_.pos-e.min)-Math.abs(_.pos-e.max);_.key=L<0||L===0&&_.pos<=e.min?"min":"max",T&&(_.pos=e[_.key])}const S=_.pos+Og(g/u.current,0,i-t);return r({[_.key]:W$(S,s[_.key])}),_}),p=`calc(${Ig(e.min,t,i)} * (100% - ${d} - 8px) + 4px)`,m=`calc(${1-Ig(e.max,t,i)} * (100% - ${d} - 8px) + 4px)`;return G.createElement(vI,En({ref:o},h()),G.createElement(gI,null,G.createElement(yI,{style:{left:p,right:m}})),G.createElement(M_,{position:"left",ref:a,style:{left:p}}),G.createElement(M_,{position:"right",ref:l,style:{right:m}}))}function xY(){const{label:n,displayValue:e,onUpdate:t,settings:i}=wi(),r=jt(i,gY);return G.createElement(G.Fragment,null,G.createElement(jr,{input:!0},G.createElement(hs,null,n),G.createElement(vY,null,G.createElement(yY,En({value:e},i,{onDrag:t})),G.createElement(Fw,{value:e,settings:r,onUpdate:t,innerLabelTrim:0}))))}var _Y=pt({component:xY},pY);const SY=()=>{const n=new Map;return{on:(e,t)=>{let i=n.get(e);i===void 0&&(i=new Set,n.set(e,i)),i.add(t)},off:(e,t)=>{const i=n.get(e);i!==void 0&&(i.delete(t),i.size===0&&n.delete(e))},emit:(e,...t)=>{const i=n.get(e);if(i!==void 0)for(const r of i)r(...t)}}},wY=["type","value"],EY=["onChange","transient","onEditStart","onEditEnd"],MY=function(){const e=FL(Gj(()=>({data:{}}))),t=SY();this.storeId=QW(),this.useStore=e;const i={},r=new Set;this.getVisiblePaths=()=>{const o=this.getData(),a=Object.keys(o),l=[];Object.entries(i).forEach(([d,h])=>{h.render&&a.some(p=>p.indexOf(d)===0)&&!h.render(this.get)&&l.push(d+".")});const u=[];return r.forEach(d=>{d in o&&o[d].__refCount>0&&l.every(h=>d.indexOf(h)===-1)&&(!o[d].render||o[d].render(this.get))&&u.push(d)}),u},this.setOrderedPaths=o=>{o.forEach(a=>r.add(a))},this.orderPaths=o=>(this.setOrderedPaths(o),o),this.disposePaths=o=>{e.setState(a=>{const l=a.data;return o.forEach(u=>{if(u in l){const d=l[u];d.__refCount--,d.__refCount===0&&d.type in os&&delete l[u]}}),{data:l}})},this.dispose=()=>{e.setState(()=>({data:{}}))},this.getFolderSettings=o=>i[o]||{},this.getData=()=>e.getState().data,this.addData=(o,a)=>{e.setState(l=>{const u=l.data;return Object.entries(o).forEach(([d,h])=>{let p=u[d];if(p){const{type:m,value:v}=h,w=jt(h,wY);m!==p.type?ro(ln.INPUT_TYPE_OVERRIDE,m):((p.__refCount===0||a)&&Object.assign(p,w),p.__refCount++)}else u[d]=pt(pt({},h),{},{__refCount:1})}),{data:u}})},this.setValueAtPath=(o,a,l)=>{e.setState(u=>{const d=u.data;return mC(d[o],a,o,this,l),{data:d}})},this.setSettingsAtPath=(o,a)=>{e.setState(l=>{const u=l.data;return u[o].settings=pt(pt({},u[o].settings),a),{data:u}})},this.disableInputAtPath=(o,a)=>{e.setState(l=>{const u=l.data;return u[o].disabled=a,{data:u}})},this.set=(o,a)=>{e.setState(l=>{const u=l.data;return Object.entries(o).forEach(([d,h])=>{try{mC(u[d],h,void 0,void 0,a)}catch{}}),{data:u}})},this.getInput=o=>{try{return this.getData()[o]}catch{ro(ln.PATH_DOESNT_EXIST,o)}},this.get=o=>{var a;return(a=this.getInput(o))===null||a===void 0?void 0:a.value},this.emitOnEditStart=o=>{t.emit(`onEditStart:${o}`,this.get(o),o,pt(pt({},this.getInput(o)),{},{get:this.get}))},this.emitOnEditEnd=o=>{t.emit(`onEditEnd:${o}`,this.get(o),o,pt(pt({},this.getInput(o)),{},{get:this.get}))},this.subscribeToEditStart=(o,a)=>{const l=`onEditStart:${o}`;return t.on(l,a),()=>t.off(l,a)},this.subscribeToEditEnd=(o,a)=>{const l=`onEditEnd:${o}`;return t.on(l,a),()=>t.off(l,a)};const s=(o,a,l)=>{const u={};return Object.entries(o).forEach(([d,h])=>{if(d==="")return ro(ln.EMPTY_KEY);let p=Gw(a,d);if(h.type===os.FOLDER){const m=s(h.schema,p,l);Object.assign(u,m),p in i||(i[p]=h.settings)}else if(d in l)ro(ln.DUPLICATE_KEYS,d,p,l[d].path);else{const m=a$(h,d,p,u);if(m){const{type:v,options:w,input:x}=m,{onChange:g,transient:_,onEditStart:S,onEditEnd:M}=w,A=jt(w,EY);u[p]=pt(pt(pt({type:v},A),x),{},{fromPanel:!0}),l[d]={path:p,onChange:g,transient:_,onEditStart:S,onEditEnd:M}}else ro(ln.UNKNOWN_INPUT,p,h)}}),u};this.getDataFromSchema=o=>{const a={};return[s(o,"",a),a]}},JI=new MY,bY={collapsed:!1};function TY(n,e){return{type:os.FOLDER,schema:n,settings:pt(pt({},bY),e)}}const jC=n=>"__levaInput"in n,CY=(n,e)=>{const t={},i=e?e.toLowerCase():null;return n.forEach(r=>{const[s,o]=CX(r);(!i||s.toLowerCase().indexOf(i)>-1)&&TX(t,o,{[s]:{__levaInput:!0,path:r}})}),t},AY=["type","label","path","valueKey","value","settings","setValue","disabled"];function RY(n){let{type:e,label:t,path:i,valueKey:r,value:s,settings:o,setValue:a,disabled:l}=n,u=jt(n,AY);const{displayValue:d,onChange:h,onUpdate:p}=pI({type:e,value:s,settings:o,setValue:a}),m=Rl[e].component;return m?G.createElement(rI.Provider,{value:pt({key:r,path:i,id:""+i,label:t,displayValue:d,value:s,onChange:h,onUpdate:p,settings:o,setValue:a,disabled:l},u)},G.createElement(C$,{disabled:l},G.createElement(m,null))):(ro(ln.NO_COMPONENT_FOR_TYPE,e,i),null)}const PY=at("button",{display:"block",$reset:"",fontWeight:"$button",height:"$rowHeight",borderStyle:"none",borderRadius:"$sm",backgroundColor:"$elevation1",color:"$highlight1","&:not(:disabled)":{color:"$highlight3",backgroundColor:"$accent2",cursor:"pointer",$hover:"$accent3",$active:"$accent3 $accent1",$focus:""}});function LY({onClick:n,settings:e,label:t}){const i=ch();return G.createElement(jr,null,G.createElement(PY,{disabled:e.disabled,onClick:()=>n(i.get)},t))}const IY=at("div",{$flex:"",justifyContent:"flex-end",gap:"$colGap"}),OY=at("button",{$reset:"",cursor:"pointer",borderRadius:"$xs","&:hover":{backgroundColor:"$elevation3"}}),DY=({label:n,opts:e})=>{let t=typeof n=="string"&&n.trim()===""?null:n,i=e;return typeof e.opts=="object"&&(i.label!==void 0&&(t=e.label),i=e.opts),{label:t,opts:i}};function NY(n){const{label:e,opts:t}=DY(n),i=ch();return G.createElement(jr,{input:!!e},e&&G.createElement(hs,null,e),G.createElement(IY,null,Object.entries(t).map(([r,s])=>G.createElement(OY,{key:r,onClick:()=>s(i.get)},r))))}const kY=at("canvas",{height:"$monitorHeight",width:"100%",display:"block",borderRadius:"$sm"}),QI=100;function UY(n,e){n.push(e),n.length>QI&&n.shift()}const FY=R.forwardRef(function({initialValue:n},e){const t=po("colors","highlight3"),i=po("colors","elevation2"),r=po("colors","highlight1"),[s,o]=R.useMemo(()=>[Ri(r).alpha(.4).toRgbString(),Ri(r).alpha(.1).toRgbString()],[r]),a=R.useRef([n]),l=R.useRef(n),u=R.useRef(n),d=R.useRef(),h=R.useCallback((v,w)=>{if(!v)return;const{width:x,height:g}=v,_=new Path2D,S=x/QI,M=g*.05;for(let L=0;L({frame:v=>{(l.current===void 0||vu.current)&&(u.current=v),UY(a.current,v),d.current=requestAnimationFrame(()=>h(p.current,m.current))}}),[p,m,h]),R.useEffect(()=>()=>cancelAnimationFrame(d.current),[]),G.createElement(kY,{ref:p})}),XC=n=>Number.isFinite(n)?n.toPrecision(2):n.toString(),zY=R.forwardRef(function({initialValue:n},e){const[t,i]=R.useState(XC(n));return R.useImperativeHandle(e,()=>({frame:r=>i(XC(r))}),[]),G.createElement("div",null,t)});function YC(n){return typeof n=="function"?n():n.current}function BY({label:n,objectOrFn:e,settings:t}){const i=R.useRef(),r=R.useRef(YC(e));return R.useEffect(()=>{const s=window.setInterval(()=>{var o;document.hidden||(o=i.current)===null||o===void 0||o.frame(YC(e))},t.interval);return()=>window.clearInterval(s)},[e,t.interval]),G.createElement(jr,{input:!0},G.createElement(hs,{align:"top"},n),t.graph?G.createElement(FY,{ref:i,initialValue:r.current}):G.createElement(zY,{ref:i,initialValue:r.current}))}const HY=["type","label","key"],VY={[os.BUTTON]:LY,[os.BUTTON_GROUP]:NY,[os.MONITOR]:BY},WY=G.memo(({path:n})=>{const[e,{set:t,setSettings:i,disable:r,storeId:s,emitOnEditStart:o,emitOnEditEnd:a}]=F$(n);if(!e)return null;const{type:l,label:u,key:d}=e,h=jt(e,HY);if(l in os){const p=VY[l];return G.createElement(p,En({label:u,path:n},h))}return l in Rl?G.createElement(RY,En({key:s+n,type:l,label:u,storeId:s,path:n,valueKey:d,setValue:t,setSettings:i,disable:r,emitOnEditStart:o,emitOnEditEnd:a},h)):(GW(ln.UNSUPPORTED_INPUT,l,n),null)});function $Y({toggle:n,toggled:e,name:t}){return G.createElement(M$,{onClick:()=>n()},G.createElement(Uw,{toggled:e}),G.createElement("div",null,t))}const GY=({name:n,path:e,tree:t})=>{const i=ch(),r=Gw(e,n),{collapsed:s,color:o}=i.getFolderSettings(r),[a,l]=R.useState(!s),u=R.useRef(null),d=po("colors","folderWidgetColor"),h=po("colors","folderTextColor");return R.useLayoutEffect(()=>{u.current.style.setProperty("--leva-colors-folderWidgetColor",o||d),u.current.style.setProperty("--leva-colors-folderTextColor",o||h)},[o,d,h]),G.createElement(Dg,{ref:u},G.createElement($Y,{name:n,toggled:a,toggle:()=>l(p=>!p)}),G.createElement(e5,{parent:r,tree:t,toggled:a}))},e5=G.memo(({isRoot:n=!1,fill:e=!1,flat:t=!1,parent:i,tree:r,toggled:s})=>{const{wrapperRef:o,contentRef:a}=PX(s),l=ch(),u=([h,p])=>{var m;return(jC(p)?(m=l.getInput(p.path))===null||m===void 0?void 0:m.order:l.getFolderSettings(Gw(i,h)).order)||0},d=Object.entries(r).sort((h,p)=>u(h)-u(p));return G.createElement(w_,{ref:o,isRoot:n,fill:e,flat:t},G.createElement(uI,{ref:a,isRoot:n,toggled:s},d.map(([h,p])=>jC(p)?G.createElement(WY,{key:p.path,valueKey:p.valueKey,path:p.path}):G.createElement(GY,{key:h,name:h,path:i,tree:p}))))}),jY=at("div",{position:"relative",fontFamily:"$mono",fontSize:"$root",color:"$rootText",backgroundColor:"$elevation1",variants:{fill:{false:{position:"fixed",top:"10px",right:"10px",zIndex:1e3,width:"$rootWidth"},true:{position:"relative",width:"100%"}},flat:{false:{borderRadius:"$lg",boxShadow:"$level1"}},oneLineLabels:{true:{[`${dI}`]:{gridTemplateColumns:"auto",gridAutoColumns:"minmax(max-content, 1fr)",gridAutoRows:"minmax($sizes$rowHeight), auto)",rowGap:0,columnGap:0,marginTop:"$rowGap"}}},hideTitleBar:{true:{$$titleBarHeight:"0px"},false:{$$titleBarHeight:"$sizes$titleBarHeight"}}},"&,*,*:after,*:before":{boxSizing:"border-box"},"*::selection":{backgroundColor:"$accent2"}}),t5=40,zg=at("i",{$flexCenter:"",width:t5,userSelect:"none",cursor:"pointer","> svg":{fill:"$highlight1",transition:"transform 350ms ease, fill 250ms ease"},"&:hover > svg":{fill:"$highlight3"},variants:{active:{true:{"> svg":{fill:"$highlight2"}}}}}),XY=at("div",{display:"flex",alignItems:"stretch",justifyContent:"space-between",height:"$titleBarHeight",variants:{mode:{drag:{cursor:"grab"}}}}),YY=at("div",{$flex:"",position:"relative",width:"100%",overflow:"hidden",transition:"height 250ms ease",color:"$highlight3",paddingLeft:"$md",[`> ${zg}`]:{height:30},variants:{toggled:{true:{height:30},false:{height:0}}}}),qY=at("input",{$reset:"",flex:1,position:"relative",height:30,width:"100%",backgroundColor:"transparent",fontSize:"10px",borderRadius:"$root","&:focus":{},"&::placeholder":{color:"$highlight2"}}),ZY=at("div",{touchAction:"none",$flexCenter:"",flex:1,"> svg":{fill:"$highlight1"},color:"$highlight1",variants:{drag:{true:{$draggable:"","> svg":{transition:"fill 250ms ease"},"&:hover":{color:"$highlight3"},"&:hover > svg":{fill:"$highlight3"}}},filterEnabled:{false:{paddingRight:t5}}}}),KY=G.forwardRef(({setFilter:n,toggle:e},t)=>{const[i,r]=R.useState(""),s=R.useMemo(()=>J4(n,250),[n]),o=()=>{n(""),r("")},a=l=>{const u=l.currentTarget.value;e(!0),r(u)};return R.useEffect(()=>{s(i)},[i,s]),G.createElement(G.Fragment,null,G.createElement(qY,{ref:t,value:i,placeholder:"[Open filter with CMD+SHIFT+L]",onPointerDown:l=>l.stopPropagation(),onChange:a}),G.createElement(zg,{onClick:()=>o(),style:{visibility:i?"visible":"hidden"}},G.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",height:"14",width:"14",viewBox:"0 0 20 20",fill:"currentColor"},G.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"}))))});function JY({setFilter:n,onDrag:e,onDragStart:t,onDragEnd:i,toggle:r,toggled:s,title:o,drag:a,filterEnabled:l,from:u}){const[d,h]=R.useState(!1),p=R.useRef(null);R.useEffect(()=>{var v,w;d?(v=p.current)===null||v===void 0||v.focus():(w=p.current)===null||w===void 0||w.blur()},[d]);const m=uh(({offset:[v,w],first:x,last:g})=>{e({x:v,y:w}),x&&t({x:v,y:w}),g&&i({x:v,y:w})},{filterTaps:!0,from:({offset:[v,w]})=>[(u==null?void 0:u.x)||v,(u==null?void 0:u.y)||w]});return R.useEffect(()=>{const v=w=>{w.key==="L"&&w.shiftKey&&w.metaKey&&h(x=>!x)};return window.addEventListener("keydown",v),()=>window.removeEventListener("keydown",v)},[]),G.createElement(G.Fragment,null,G.createElement(XY,{mode:a?"drag":void 0},G.createElement(zg,{active:!s,onClick:()=>r()},G.createElement(Uw,{toggled:s,width:12,height:8})),G.createElement(ZY,En({},a?m():{},{drag:a,filterEnabled:l}),o===void 0&&a?G.createElement("svg",{width:"20",height:"10",viewBox:"0 0 28 14",xmlns:"http://www.w3.org/2000/svg"},G.createElement("circle",{cx:"2",cy:"2",r:"2"}),G.createElement("circle",{cx:"14",cy:"2",r:"2"}),G.createElement("circle",{cx:"26",cy:"2",r:"2"}),G.createElement("circle",{cx:"2",cy:"12",r:"2"}),G.createElement("circle",{cx:"14",cy:"12",r:"2"}),G.createElement("circle",{cx:"26",cy:"12",r:"2"})):o),l&&G.createElement(zg,{active:d,onClick:()=>h(v=>!v)},G.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",height:"20",viewBox:"0 0 20 20"},G.createElement("path",{d:"M9 9a2 2 0 114 0 2 2 0 01-4 0z"}),G.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm1-13a4 4 0 00-3.446 6.032l-2.261 2.26a1 1 0 101.414 1.415l2.261-2.261A4 4 0 1011 5z",clipRule:"evenodd"})))),G.createElement(YY,{toggled:d},G.createElement(KY,{ref:p,setFilter:n,toggle:r})))}const QY=["store","hidden","theme","collapsed"];function eq(n){let{store:e,hidden:t=!1,theme:i,collapsed:r=!1}=n,s=jt(n,QY);const o=jI(()=>y$(i),[i]),[a,l]=R.useState(!r),u=typeof r=="object"?!r.collapsed:a,d=R.useMemo(()=>typeof r=="object"?h=>{typeof h=="function"?r.onChange(!h(!r.collapsed)):r.onChange(!h)}:l,[r]);return!e||t?null:G.createElement(Dw.Provider,{value:o},G.createElement(tq,En({store:e},s,{toggled:u,setToggle:d,rootClass:o.className})))}const tq=G.memo(({store:n,rootClass:e,fill:t=!1,flat:i=!1,neverHide:r=!1,oneLineLabels:s=!1,titleBar:o={title:void 0,drag:!0,filter:!0,position:void 0,onDrag:void 0,onDragStart:void 0,onDragEnd:void 0},hideCopyButton:a=!1,toggled:l,setToggle:u})=>{var d,h;const p=LX(n),[m,v]=R.useState(""),w=R.useMemo(()=>CY(p,m),[p,m]),[x,g]=mI(),_=r||p.length>0,S=typeof o=="object"&&o.title||void 0,M=typeof o=="object"&&(d=o.drag)!==null&&d!==void 0?d:!0,A=typeof o=="object"&&(h=o.filter)!==null&&h!==void 0?h:!0,T=typeof o=="object"&&o.position||void 0,L=typeof o=="object"&&o.onDrag||void 0,O=typeof o=="object"&&o.onDragStart||void 0,H=typeof o=="object"&&o.onDragEnd||void 0;return G.useEffect(()=>{g({x:T==null?void 0:T.x,y:T==null?void 0:T.y})},[T,g]),v$(),G.createElement(oI.Provider,{value:{hideCopyButton:a}},G.createElement(jY,{ref:x,className:e,fill:t,flat:i,oneLineLabels:s,hideTitleBar:!o,style:{display:_?"block":"none"}},o&&G.createElement(JY,{onDrag:C=>{g(C),L==null||L(C)},onDragStart:C=>O==null?void 0:O(C),onDragEnd:C=>H==null?void 0:H(C),setFilter:v,toggle:C=>u(I=>C??!I),toggled:l,title:S,drag:M,filterEnabled:A,from:T}),_&&G.createElement(sI.Provider,{value:n},G.createElement(e5,{isRoot:!0,fill:t,flat:i,tree:w,toggled:l}))))}),nq=["isRoot"];let Bg=!1,dl=null;function n5(n){let{isRoot:e=!1}=n,t=jt(n,nq);return R.useEffect(()=>(Bg=!0,!e&&dl&&(dl.remove(),dl=null),()=>{e||(Bg=!1)}),[e]),G.createElement(eq,En({store:JI},t))}function iq(n){R.useEffect(()=>{n&&!Bg&&(dl||(dl=document.getElementById("leva__root")||Object.assign(document.createElement("div"),{id:"leva__root"}),document.body&&(document.body.appendChild(dl),c$(G.createElement(n5,{isRoot:!0}),dl))),Bg=!0)},[n])}function rq(n,e,t,i,r){let s,o,a,l,u;return typeof n=="string"?(o=n,s=e,Array.isArray(t)?u=t:t&&("store"in t?(l=t,u=i):(a=t,Array.isArray(i)?u=i:(l=i,u=r)))):(s=n,Array.isArray(e)?u=e:(l=e,u=t)),{schema:s,folderName:o,folderSettings:a,hookSettings:l,deps:u||[]}}function i5(n,e,t,i,r){const{folderName:s,schema:o,folderSettings:a,hookSettings:l,deps:u}=rq(n,e,t,i,r),d=typeof o=="function",h=R.useRef(!1),p=R.useRef(!0),m=jI(()=>{h.current=!0;const I=typeof o=="function"?o():o;return s?{[s]:TY(I,a)}:I},u),v=!(l!=null&&l.store);iq(v);const[w]=R.useState(()=>(l==null?void 0:l.store)||JI),[x,g]=R.useMemo(()=>w.getDataFromSchema(m),[w,m]),[_,S,M,A,T]=R.useMemo(()=>{const I=[],j=[],ee={},z={},J={};return Object.values(g).forEach(({path:Z,onChange:ne,onEditStart:k,onEditEnd:W,transient:Y})=>{I.push(Z),ne?(ee[Z]=ne,Y||j.push(Z)):j.push(Z),k&&(z[Z]=k),W&&(J[Z]=W)}),[I,j,ee,z,J]},[g]),L=R.useMemo(()=>w.orderPaths(_),[_,w]),O=IX(w,S,x),H=R.useCallback(I=>{const j=Object.entries(I).reduce((ee,[z,J])=>Object.assign(ee,{[g[z].path]:J}),{});w.set(j,!1)},[w,g]),C=R.useCallback(I=>w.get(g[I].path),[w,g]);return R.useEffect(()=>{const I=!p.current&&h.current;return w.addData(x,I),p.current=!1,h.current=!1,()=>w.disposePaths(L)},[w,L,x]),R.useEffect(()=>{const I=[];return Object.entries(M).forEach(([j,ee])=>{ee(w.get(j),j,pt({initial:!0,get:w.get},w.getInput(j)));const z=w.useStore.subscribe(J=>{const Z=J.data[j];return[Z.disabled?void 0:Z.value,Z]},([J,Z])=>ee(J,j,pt({initial:!1,get:w.get},Z)),{equalityFn:sh});I.push(z)}),()=>I.forEach(j=>j())},[w,M]),R.useEffect(()=>{const I=[];return Object.entries(A).forEach(([j,ee])=>I.push(w.subscribeToEditStart(j,ee))),Object.entries(T).forEach(([j,ee])=>I.push(w.subscribeToEditEnd(j,ee))),()=>I.forEach(j=>j())},[A,T,w]),d?[O,H,C]:O}Ro(us.SELECT,tG);Ro(us.IMAGE,fY);Ro(us.NUMBER,G$);Ro(us.COLOR,WX);Ro(us.STRING,uG);Ro(us.BOOLEAN,vG);Ro(us.INTERVAL,_Y);Ro(us.VECTOR3D,GX);Ro(us.VECTOR2D,QX);const qC=n=>{let e;const t=new Set,i=(l,u)=>{const d=typeof l=="function"?l(e):l;if(!Object.is(d,e)){const h=e;e=u??typeof d!="object"?d:Object.assign({},e,d),t.forEach(p=>p(e,h))}},r=()=>e,a={setState:i,getState:r,subscribe:l=>(t.add(l),()=>t.delete(l)),destroy:()=>t.clear()};return e=n(i,r,a),a},sq=n=>n?qC(n):qC;var r5={exports:{}},s5={},o5={exports:{}},a5={};/** - * @license React - * use-sync-external-store-shim.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var _u=R;function oq(n,e){return n===e&&(n!==0||1/n===1/e)||n!==n&&e!==e}var aq=typeof Object.is=="function"?Object.is:oq,lq=_u.useState,cq=_u.useEffect,uq=_u.useLayoutEffect,fq=_u.useDebugValue;function dq(n,e){var t=e(),i=lq({inst:{value:t,getSnapshot:e}}),r=i[0].inst,s=i[1];return uq(function(){r.value=t,r.getSnapshot=e,Ey(r)&&s({inst:r})},[n,t,e]),cq(function(){return Ey(r)&&s({inst:r}),n(function(){Ey(r)&&s({inst:r})})},[n]),fq(t),t}function Ey(n){var e=n.getSnapshot;n=n.value;try{var t=e();return!aq(n,t)}catch{return!0}}function hq(n,e){return e()}var pq=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?hq:dq;a5.useSyncExternalStore=_u.useSyncExternalStore!==void 0?_u.useSyncExternalStore:pq;o5.exports=a5;var mq=o5.exports;/** - * @license React - * use-sync-external-store-shim/with-selector.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var B0=R,gq=mq;function vq(n,e){return n===e&&(n!==0||1/n===1/e)||n!==n&&e!==e}var yq=typeof Object.is=="function"?Object.is:vq,xq=gq.useSyncExternalStore,_q=B0.useRef,Sq=B0.useEffect,wq=B0.useMemo,Eq=B0.useDebugValue;s5.useSyncExternalStoreWithSelector=function(n,e,t,i,r){var s=_q(null);if(s.current===null){var o={hasValue:!1,value:null};s.current=o}else o=s.current;s=wq(function(){function l(m){if(!u){if(u=!0,d=m,m=i(m),r!==void 0&&o.hasValue){var v=o.value;if(r(v,m))return h=v}return h=m}if(v=h,yq(d,m))return v;var w=i(m);return r!==void 0&&r(v,w)?v:(d=m,h=w)}var u=!1,d,h,p=t===void 0?null:t;return[function(){return l(e())},p===null?void 0:function(){return l(p())}]},[e,t,i,r]);var a=xq(n,s[0],s[1]);return Sq(function(){o.hasValue=!0,o.value=a},[a]),Eq(a),a};r5.exports=s5;var Mq=r5.exports;const bq=Sa(Mq),{useSyncExternalStoreWithSelector:Tq}=bq;function Cq(n,e=n.getState,t){const i=Tq(n.subscribe,n.getState,n.getServerState||n.getState,e,t);return R.useDebugValue(i),i}const ZC=n=>{const e=typeof n=="function"?sq(n):n,t=(i,r)=>Cq(e,i,r);return Object.assign(t,e),t},Aq=n=>n?ZC(n):ZC;function Rq(n,e){if(Object.is(n,e))return!0;if(typeof n!="object"||n===null||typeof e!="object"||e===null)return!1;if(n instanceof Map&&e instanceof Map){if(n.size!==e.size)return!1;for(const[i,r]of n)if(!Object.is(r,e.get(i)))return!1;return!0}if(n instanceof Set&&e instanceof Set){if(n.size!==e.size)return!1;for(const i of n)if(!e.has(i))return!1;return!0}const t=Object.keys(n);if(t.length!==Object.keys(e).length)return!1;for(let i=0;i{function t(){var i;const{accumulated:r,startTime:s,infos:o}=e(),a=(i=e().log)==null?void 0:i.maxMemory,{totalFrames:l,log:u,gl:d,max:h}=r,p={calls:d.calls/l,triangles:d.triangles/l,points:d.points/l,lines:d.lines/l},m={gpu:u.gpu/l,cpu:u.cpu/l,mem:u.mem/l,fps:u.fps/l};return{sessionTime:(window.performance.now()-s)/1e3,infos:o,log:m,gl:p,max:h,maxMemory:a,totalFrames:l}}return{log:null,paused:!1,triggerProgramsUpdate:0,startTime:0,customData:0,fpsLimit:60,overclockingFps:!1,accumulated:{totalFrames:0,gl:{calls:0,triangles:0,points:0,lines:0,counts:0},log:{gpu:0,cpu:0,mem:0,fps:0},max:{gl:{calls:0,triangles:0,points:0,lines:0,counts:0},log:{gpu:0,cpu:0,mem:0,fps:0}}},chart:{data:{fps:[],cpu:[],gpu:[],mem:[]},circularId:0},gl:void 0,objectWithMaterials:null,scene:void 0,programs:new Map,sceneLength:void 0,tab:"infos",getReport:t}}),Gr=n=>jw(n,Rq);Object.assign(Gr,jw);const{getState:Br,setState:sr}=jw,Ir={value:0,fpsLimit:60,isOverLimit:0},Rf=n=>(n==null?void 0:n.reduce((e,t)=>e+t,0))/n.length;class Pq{constructor(e={}){this.names=[""],this.finished=[],this.paused=!1,this.overClock=!1,this.queryHasResult=!1,this.queryCreated=!1,this.isWebGL2=!0,this.memAccums=[],this.gpuAccums=[],this.activeAccums=[],this.logsAccums={mem:[],gpu:[],cpu:[],fps:[],fpsFixed:[]},this.fpsChart=[],this.gpuChart=[],this.cpuChart=[],this.memChart=[],this.paramLogger=()=>{},this.glFinish=()=>{},this.chartLogger=()=>{},this.chartLen=60,this.logsPerSecond=10,this.maxMemory=1500,this.chartHz=10,this.startCpuProfiling=!1,this.lastCalculateFixed=0,this.chartFrame=0,this.gpuTimeProcess=0,this.chartTime=0,this.activeQueries=0,this.circularId=0,this.detected=0,this.frameId=0,this.rafId=0,this.idleCbId=0,this.checkQueryId=0,this.uuid=void 0,this.currentCpu=0,this.currentMem=0,this.paramFrame=0,this.paramTime=0,this.now=()=>{},this.t0=0,window.GLPerf=window.GLPerf||{},Object.assign(this,e),this.fpsChart=new Array(this.chartLen).fill(0),this.gpuChart=new Array(this.chartLen).fill(0),this.cpuChart=new Array(this.chartLen).fill(0),this.memChart=new Array(this.chartLen).fill(0),this.now=()=>window.performance&&window.performance.now?window.performance.now():Date.now(),this.initGpu(),this.is120hz()}initGpu(){this.uuid=MP.generateUUID(),this.gl&&(this.isWebGL2=!0,this.extension||(this.extension=this.gl.getExtension("EXT_disjoint_timer_query_webgl2")),this.extension===null&&(this.isWebGL2=!1))}is120hz(){let e=0;const t=i=>{++e<20?this.rafId=window.requestAnimationFrame(t):(this.detected=Math.ceil(1e3*e/(i-this.t0)/70),window.cancelAnimationFrame(this.rafId)),this.t0||(this.t0=i)};this.rafId=window.requestAnimationFrame(t)}addUI(e){this.names.indexOf(e)===-1&&(this.names.push(e),this.gpuAccums.push(0),this.activeAccums.push(!1))}nextFps(e){const t=16.666666666666668,i=t-e.timeRemaining(),r=t*Ir.fpsLimit/10/i;r<0||(Ir.value=r,Ir.isOverLimit<25?Ir.isOverLimit++:sr({overclockingFps:!0}))}nextFrame(e){this.frameId++;const t=e||this.now();let i=t-this.paramTime,r=0;if(this.frameId<=1)this.paramFrame=this.frameId,this.paramTime=t;else if(t>=this.paramTime){this.maxMemory=window.performance.memory?window.performance.memory.jsHeapSizeLimit/1048576:0;const s=this.frameId-this.paramFrame,o=s*1e3/i,a=Br().overclockingFps?Ir.value:o;if(r=this.isWebGL2?this.gpuAccums[0]:this.gpuAccums[0]/i,this.isWebGL2?this.gpuAccums[0]=0:Promise.all(this.finished).then(()=>{this.gpuAccums[0]=0,this.finished=[]}),this.currentMem=Math.round(window.performance&&window.performance.memory?window.performance.memory.usedJSHeapSize/1048576:0),window.performance&&this.startCpuProfiling){window.performance.mark("cpu-finished");const l=performance.measure("cpu-duration","cpu-started","cpu-finished");this.currentCpu=l.duration,this.logsAccums.cpu.push(this.currentCpu),this.startCpuProfiling=!1}this.logsAccums.mem.push(this.currentMem),this.logsAccums.fpsFixed.push(o),this.logsAccums.fps.push(a),this.logsAccums.gpu.push(r),this.overClock&&typeof window.requestIdleCallback<"u"&&(Ir.isOverLimit>0&&a>o?Ir.isOverLimit--:Br().overclockingFps&&sr({overclockingFps:!1})),t>=this.paramTime+1e3/this.logsPerSecond&&(this.paramLogger({cpu:Rf(this.logsAccums.cpu),gpu:Rf(this.logsAccums.gpu),mem:Rf(this.logsAccums.mem),fps:Rf(this.logsAccums.fps),duration:Math.round(i),maxMemory:this.maxMemory,frameCount:s}),this.logsAccums.mem=[],this.logsAccums.fps=[],this.logsAccums.gpu=[],this.logsAccums.cpu=[],this.paramFrame=this.frameId,this.paramTime=t),this.overClock&&t-this.lastCalculateFixed>=2*1e3&&(this.lastCalculateFixed=e,Ir.fpsLimit=Math.round(Rf(this.logsAccums.fpsFixed)/10)*100,sr({fpsLimit:Ir.fpsLimit/10}),this.logsAccums.fpsFixed=[],this.paramFrame=this.frameId,this.paramTime=t)}if(!this.detected||!this.chartFrame)this.chartFrame=this.frameId,this.chartTime=t,this.circularId=0;else{const s=t-this.chartTime;let o=this.chartHz*s/1e3;for(;--o>0&&this.detected;){const l=(this.frameId-this.chartFrame)/s*1e3,u=Br().overclockingFps?Ir.value:l;this.fpsChart[this.circularId%this.chartLen]=u;const d=1e3/this.currentMem,h=this.currentCpu,p=(this.isWebGL2?this.gpuAccums[1]*2:Math.round(this.gpuAccums[1]/i*100))+4;p>0&&(this.gpuChart[this.circularId%this.chartLen]=p),h>0&&(this.cpuChart[this.circularId%this.chartLen]=h),d>0&&(this.memChart[this.circularId%this.chartLen]=d);for(let m=0;m0&&(r||this.activeAccums.forEach((l,u)=>{this.gpuAccums[u]=a}))}}(i||!this.query)&&(this.queryCreated=!0,this.query=e.createQuery(),e.beginQuery(t.TIME_ELAPSED_EXT,this.query))}}endGpu(){const e=this.extension,t=this.gl;this.isWebGL2&&this.queryCreated&&t.getQuery(e.TIME_ELAPSED_EXT,t.CURRENT_QUERY)&&t.endQuery(e.TIME_ELAPSED_EXT)}begin(e){this.startGpu(),this.updateAccums(e)}end(e){this.endGpu(),this.updateAccums(e)}updateAccums(e){let t=this.names.indexOf(e);t===-1&&(t=this.names.length,this.addUI(e));const i=this.now();this.activeAccums[t]=!this.activeAccums[t],this.t0=i}}const Lq=n=>{n.forEach((e,t)=>{const{meshes:i}=e;if(!i)return;let r={total:0,type:"Triangle",data:[]};Object.keys(i).forEach(s=>{const o=i[s],{geometry:a,material:l}=o;let u=a.index;const d=a.attributes.position;if(!d)return;let h=1;l.wireframe===!0&&(h=0);const p=u!==null?u.count:d.count,m=a.drawRange.start*h,v=a.drawRange.count*h,w=m,x=Math.min(p,m+v)-1;let g=1;const _=o.count||1;let S="Triangle",M=0;o.isMesh?l.wireframe===!0?(S="Line",g=g/2):(S="Triangle",g=g/3):o.isLine?(S="Line",o.isLineSegments?g=g/2:o.isLineLoop?g=g:g=g-1):o.isPoints?(S="Point",g=g):o.isSprite&&(S="Triangle",g=g/3);const A=Math.round(Math.max(0,x-w+1)*(g*_));A>M&&(M=A,r.type=S),r.total+=A,r.data.push({drawCount:A,type:S}),o.userData.drawCount={type:S,count:A}}),e.drawCounts=r})};var l5={exports:{}};(function(n){var e=Object.prototype.hasOwnProperty,t="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(t=!1));function r(l,u,d){this.fn=l,this.context=u,this.once=d||!1}function s(l,u,d,h,p){if(typeof d!="function")throw new TypeError("The listener must be a function");var m=new r(d,h||l,p),v=t?t+u:u;return l._events[v]?l._events[v].fn?l._events[v]=[l._events[v],m]:l._events[v].push(m):(l._events[v]=m,l._eventsCount++),l}function o(l,u){--l._eventsCount===0?l._events=new i:delete l._events[u]}function a(){this._events=new i,this._eventsCount=0}a.prototype.eventNames=function(){var u=[],d,h;if(this._eventsCount===0)return u;for(h in d=this._events)e.call(d,h)&&u.push(t?h.slice(1):h);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(d)):u},a.prototype.listeners=function(u){var d=t?t+u:u,h=this._events[d];if(!h)return[];if(h.fn)return[h.fn];for(var p=0,m=h.length,v=new Array(m);pvoid(r.current=e),[e]),R.useEffect(()=>{const s=a=>{var l;return(l=r.current)==null?void 0:l.call(r,a)},o=Dq(n,s,i);return()=>Nq(n,s,{...i,context:o})},[n,i==null?void 0:i.once,...t])}const Fq=Lt.prototype.updateMatrixWorld,zq=Lt.prototype.updateWorldMatrix,KC=Lt.prototype.updateMatrix,JC=["calls","triangles","points","lines"],QC=["gpu","cpu","mem","fps"];let Yc={value:0},fr={value:0};const Bq=n=>{let e=""+n;return e=e.match("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"),e!==null},e3=(n,e)=>{n.defines||(n.defines={}),n.defines&&!n.defines.muiPerf&&(n.defines=Object.assign(n.defines||{},{muiPerf:n.uuid}));const t=n.uuid;return e[t]||(e[t]={meshes:{},material:n},n.needsUpdate=!0),n.needsUpdate=!1,t},Hq=n=>n==="muiPerf",Vq=({overClock:n,logsPerSecond:e,chart:t,deepAnalyze:i,matrixUpdate:r})=>{const{gl:s,scene:o}=Or();sr({gl:s,scene:o});const a=R.useMemo(()=>{const l=new Pq({trackGPU:!0,overClock:n,chartLen:t?t.length:120,chartHz:t?t.hz:60,logsPerSecond:e||10,gl:s.getContext(),chartLogger:x=>{sr({chart:x})},paramLogger:x=>{const g={maxMemory:x.maxMemory,gpu:x.gpu,cpu:x.cpu,mem:x.mem,fps:x.fps,totalTime:x.duration,frameCount:x.frameCount};sr({log:g});const{accumulated:_}=Br(),S=s.info.render;_.totalFrames++,_.gl.calls+=S.calls,_.gl.triangles+=S.triangles,_.gl.points+=S.points,_.gl.lines+=S.lines,_.log.gpu+=x.gpu,_.log.cpu+=x.cpu,_.log.mem+=x.mem,_.log.fps+=x.fps;for(let M=0;M_.max.gl[A]&&(_.max.gl[A]=T)}for(let M=0;M_.max.log[A]&&(_.max.log[A]=T)}sr({accumulated:_}),kq("log",[g,s])}}),u=s.getContext();let d=null,h=null;const p=u.getExtension("WEBGL_debug_renderer_info"),m=u.getParameter(u.VERSION);p!=null&&(d=u.getParameter(p.UNMASKED_RENDERER_WEBGL),h=u.getParameter(p.UNMASKED_VENDOR_WEBGL)),h||(h="Unknown vendor"),d||(d=u.getParameter(u.RENDERER)),sr({startTime:window.performance.now(),infos:{version:m,renderer:d,vendor:h}});const v=new Map,w=new Map;return Object.defineProperty(pu.prototype,"onBeforeRender",{get(){return(...x)=>{var g;l&&l.begin("profiler"),(g=v.get(this))==null||g(...x)}},set(x){v.set(this,x)},configurable:!0}),Object.defineProperty(pu.prototype,"onAfterRender",{get(){return(...x)=>{var g;l&&l.end("profiler"),(g=w.get(this))==null||g(...x)}},set(x){w.set(this,x)},configurable:!0}),l},[]);return R.useEffect(()=>{a&&(a.overClock=n||!1,n===!1&&(sr({overclockingFps:!1}),Ir.value=0,Ir.isOverLimit=0),a.chartHz=(t==null?void 0:t.hz)||60,a.chartLen=(t==null?void 0:t.length)||120)},[n,a,t==null?void 0:t.length,t==null?void 0:t.hz]),R.useEffect(()=>{r&&(Lt.prototype.updateMatrixWorld=function(){(this.matrixWorldNeedsUpdate||arguments[0])&&Yc.value++,Fq.apply(this,arguments)},Lt.prototype.updateWorldMatrix=function(){Yc.value++,zq.apply(this,arguments)},Lt.prototype.updateMatrix=function(){fr.value++,KC.apply(this,arguments)}),s.info.autoReset=!1;let l=null,u=null;if(s.info)return l=j7(function(){Br().paused&&sr({paused:!1}),window.performance&&(window.performance.mark("cpu-started"),a.startCpuProfiling=!0),fr.value-=1,Yc.value=0,fr.value=0,s.info&&s.info.reset()}),u=X7(function(){var h,p;if(a&&!a.paused&&(a.nextFrame(window.performance.now()),n&&typeof window.requestIdleCallback<"u"&&(a.idleCbId=requestIdleCallback(a.nextFps))),i){const m={},v=new Map;o.traverse(function(x){if((x instanceof Pn||x instanceof nw)&&x.material){let g=x.material.uuid;Array.isArray(x.material)&&x.material.length>1?g=e3(x.material[1],m):g=e3(x.material,m),m[g].meshes[x.uuid]=x}}),(p=(h=s==null?void 0:s.info)==null?void 0:h.programs)==null||p.forEach(w=>{const x=w.cacheKey.split(","),g=x[x.findIndex(Hq)+1];if(Bq(g)&&m[g]){const{material:_,meshes:S}=m[g];v.set(g,{program:w,material:_,meshes:S,drawCounts:{total:0,type:"triangle",data:[]},expand:!1,visible:!0})}}),v.size!==Br().programs.size&&(Lq(v),sr({programs:v,triggerProgramsUpdate:Br().triggerProgramsUpdate++}))}}),()=>{a&&(typeof window.cancelIdleCallback<"u"&&window.cancelIdleCallback(a.idleCbId),window.cancelAnimationFrame(a.rafId),window.cancelAnimationFrame(a.checkQueryId)),r&&(Lt.prototype.updateMatrixWorld=KC),l(),u()}},[a,s,t,r]),R.useEffect(()=>{const l=Y7(function(){return a&&(a.paused=!0,fr.value=0,Yc.value=0,sr({paused:!0,log:{maxMemory:0,gpu:0,mem:0,cpu:0,fps:0,totalTime:0,frameCount:0}})),!1});return()=>{l()}},[]),null},Wq=Hn("div",{position:"fixed",top:0,right:0,zIndex:9999,fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif`,backgroundColor:"rgba(36, 36, 36, .9)",color:"#fff",margin:0,minHeight:"100px",padding:"4px 0","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale",userSelect:"none","&.top-left":{right:"initial",left:0},"&.bottom-left":{right:"initial",top:"initial",bottom:0,left:0,".__perf_toggle":{top:"-20px",bottom:"initial"}},"&.bottom-right":{top:"initial",bottom:0,".__perf_toggle":{top:"-20px",bottom:"initial"}},"&.minimal":{backgroundColor:"rgba(36, 36, 36, .75)"},"*":{margin:"0",padding:"0",border:"0",fontSize:"100%",lineHeight:"1",verticalAlign:"baseline"}}),My=Hn("small",{position:"absolute",right:0,fontSize:"10px"}),mi=Hn("div",{display:"inline-flex",fontStyle:"normal",padding:0,lineHeight:"13px",fontSize:"14px",width:"62px",position:"relative",pointerEvents:"auto",cursor:"default",fontWeight:500,letterSpacing:"0px",textAlign:"left",height:"29px",whiteSpace:"nowrap",justifyContent:"space-evenly",fontVariantNumeric:"tabular-nums",small:{paddingLeft:"12px"},svg:{padding:0,color:"rgba(145, 145, 145, 0.3)",fontSize:"40px",position:"absolute",zIndex:1,maxHeight:"20px",left:" 50%",marginLeft:"-23px",top:"4px"}}),Gi=Hn("span",{verticalAlign:"bottom",position:"absolute",bottom:"5px",color:"rgba(101, 197, 188, 1)",textAlign:"right",letterSpacing:"1px",fontSize:"8px",fontWeight:"500",width:"60px"}),$q=Hn("div",{display:"flex"}),Gq=Hn("div",{backgroundColor:"#404040",padding:"6px",display:"block",fontSize:"12px",marginBottom:"6px",cursor:"pointer","*":{cursor:"pointer !important"},"> span":{},small:{fontSize:"9px"},"> b":{marginRight:"4px",cursor:"pointer"}}),jq=Hn("div",{height:"66px",overflow:"hidden",position:"absolute",pointerEvents:"none",display:"flex",top:"0px",justifyContent:"center",width:"100%",minWidth:"310px",margin:"0 auto",canvas:{background:"transparent !important",position:"absolute !important"}}),Xq=Hn("div",{textAlign:"center",fontWeight:700,fontSize:"12px",lineHeight:"12px",display:"flex",justifyContent:"center",alignItems:"center",verticalAlign:"middle",color:"#f1f1f1",padding:"7px",width:"100%",backgroundColor:"rgba(36, 36, 37, 0.8)",zIndex:1,position:"absolute",height:"100%"}),Xw=Hn("div",{pointerEvents:"auto",justifyContent:"center",cursor:"pointer",fontSize:"12px",backgroundColor:"rgb(41, 43, 45)",marginTop:"6px",width:"auto",margin:"0",color:"rgba(145, 145, 145, 1)",textAlign:"center",display:"inline-block",verticalAlign:"middle",padding:"4px 6px","&.__perf_toggle_tab_active":{backgroundColor:"rgb(31 31 31)"},svg:{width:"12px",height:"12px",float:"left"}}),Yq=Hn("div",{pointerEvents:"auto",justifyContent:"center",cursor:"pointer",fontSize:"12px",float:"right",backgroundColor:"rgb(41, 43, 45)",width:"auto",margin:"0",color:"rgba(145, 145, 145, 1)",textAlign:"center",display:"inline-block",verticalAlign:"middle",padding:"4px 6px","&.__perf_toggle_tab_active":{backgroundColor:"rgb(31 31 31)"},svg:{width:"12px",height:"12px",float:"left"}}),qq=Hn("div",{padding:"4px 6px",fontSize:"12px",pointerEvents:"auto"}),Zq=Hn("span",{fontWeight:"bold",letterSpacing:"0.08em",maxWidth:"145px",overflow:"hidden",textOverflow:"ellipsis",display:"inline-block",verticalAlign:"middle",fontSize:"11px",marginRight:"10px"}),Kq=Hn("div",{maxHeight:"50vh",overflowY:"auto",marginTop:"38px"}),Jq=Hn("div",{marginTop:"0"}),t3=Hn("div",{display:"flex",position:"relative",fontWeight:"bold",color:"#fff",lineHeight:"14px",svg:{marginRight:"4px",display:"inline-block"}}),c5=Hn("ul",{display:"block",position:"relative",paddingLeft:"10px",margin:"6px 6px",img:{maxHeight:"60px",maxWidth:"100%",margin:"6px auto",display:"block"},"&:after":{content:"",position:"absolute",left:"0px",top:"0px",width:"1px",height:"100%",backgroundColor:"grey",transform:"translateX(-50%)",maxHeight:"50vh",overflowY:"auto"},li:{borderBottom:"1px solid #313131",display:"block",padding:"4px",margin:0,lineHeight:1,verticalAlign:"middle",height:"24px"},b:{fontWeight:"bold"},small:{textAlign:"revert",letterSpacing:"1px",fontSize:"10px",fontWeight:"500",marginLeft:"2px",color:"rgb(101, 197, 188)"}}),u5=Hn("button",{fontWeight:"bold",letterSpacing:"0.02em",backgroundColor:"rgb(41, 43, 45)",color:"rgb(211, 211, 211)",overflow:"hidden",textOverflow:"ellipsis",cursor:"pointer",display:"block",verticalAlign:"middle",fontSize:"11px",padding:"5px",margin:"4px auto"}),Qq=Hn("div",{display:"flex",justifyContent:"center",cursor:"pointer",fontSize:"12px",backgroundColor:"rgb(41, 43, 45)",marginTop:"6px",width:"auto",margin:"0 auto",color:"rgba(145, 145, 145, 1)",textAlign:"center",position:"absolute",right:0,bottom:" -20px",svg:{width:"12px",height:"12px",float:"left"}}),eZ=Hn("li",{display:"flex !important",height:"auto !important",span:{height:"40px",display:"block",position:"relative"},b:{paddingLeft:"12px"}});function Ln(n,e){if(n==null)return{};var t={},i=Object.keys(n),r,s;for(s=0;s=0)&&(t[r]=n[r]);return t}var tZ=["color"],f5=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,tZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M0 1.5C0 1.22386 0.223858 1 0.5 1H2.5C2.77614 1 3 1.22386 3 1.5C3 1.77614 2.77614 2 2.5 2H0.5C0.223858 2 0 1.77614 0 1.5ZM4 1.5C4 1.22386 4.22386 1 4.5 1H14.5C14.7761 1 15 1.22386 15 1.5C15 1.77614 14.7761 2 14.5 2H4.5C4.22386 2 4 1.77614 4 1.5ZM4 4.5C4 4.22386 4.22386 4 4.5 4H11.5C11.7761 4 12 4.22386 12 4.5C12 4.77614 11.7761 5 11.5 5H4.5C4.22386 5 4 4.77614 4 4.5ZM0 7.5C0 7.22386 0.223858 7 0.5 7H2.5C2.77614 7 3 7.22386 3 7.5C3 7.77614 2.77614 8 2.5 8H0.5C0.223858 8 0 7.77614 0 7.5ZM4 7.5C4 7.22386 4.22386 7 4.5 7H14.5C14.7761 7 15 7.22386 15 7.5C15 7.77614 14.7761 8 14.5 8H4.5C4.22386 8 4 7.77614 4 7.5ZM4 10.5C4 10.2239 4.22386 10 4.5 10H11.5C11.7761 10 12 10.2239 12 10.5C12 10.7761 11.7761 11 11.5 11H4.5C4.22386 11 4 10.7761 4 10.5ZM0 13.5C0 13.2239 0.223858 13 0.5 13H2.5C2.77614 13 3 13.2239 3 13.5C3 13.7761 2.77614 14 2.5 14H0.5C0.223858 14 0 13.7761 0 13.5ZM4 13.5C4 13.2239 4.22386 13 4.5 13H14.5C14.7761 13 15 13.2239 15 13.5C15 13.7761 14.7761 14 14.5 14H4.5C4.22386 14 4 13.7761 4 13.5Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),nZ=["color"],iZ=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,nZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M11.5 1C11.7761 1 12 1.22386 12 1.5V13.5C12 13.7761 11.7761 14 11.5 14C11.2239 14 11 13.7761 11 13.5V1.5C11 1.22386 11.2239 1 11.5 1ZM9.5 3C9.77614 3 10 3.22386 10 3.5V13.5C10 13.7761 9.77614 14 9.5 14C9.22386 14 9 13.7761 9 13.5V3.5C9 3.22386 9.22386 3 9.5 3ZM13.5 3C13.7761 3 14 3.22386 14 3.5V13.5C14 13.7761 13.7761 14 13.5 14C13.2239 14 13 13.7761 13 13.5V3.5C13 3.22386 13.2239 3 13.5 3ZM5.5 4C5.77614 4 6 4.22386 6 4.5V13.5C6 13.7761 5.77614 14 5.5 14C5.22386 14 5 13.7761 5 13.5V4.5C5 4.22386 5.22386 4 5.5 4ZM1.5 5C1.77614 5 2 5.22386 2 5.5V13.5C2 13.7761 1.77614 14 1.5 14C1.22386 14 1 13.7761 1 13.5V5.5C1 5.22386 1.22386 5 1.5 5ZM7.5 5C7.77614 5 8 5.22386 8 5.5V13.5C8 13.7761 7.77614 14 7.5 14C7.22386 14 7 13.7761 7 13.5V5.5C7 5.22386 7.22386 5 7.5 5ZM3.5 7C3.77614 7 4 7.22386 4 7.5V13.5C4 13.7761 3.77614 14 3.5 14C3.22386 14 3 13.7761 3 13.5V7.5C3 7.22386 3.22386 7 3.5 7Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),rZ=["color"],sZ=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,rZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M2 5H13C13.5523 5 14 5.44772 14 6V9C14 9.55228 13.5523 10 13 10H2C1.44772 10 1 9.55228 1 9V6C1 5.44772 1.44772 5 2 5ZM0 6C0 4.89543 0.895431 4 2 4H13C14.1046 4 15 4.89543 15 6V9C15 10.1046 14.1046 11 13 11H2C0.89543 11 0 10.1046 0 9V6ZM4.5 6.75C4.08579 6.75 3.75 7.08579 3.75 7.5C3.75 7.91421 4.08579 8.25 4.5 8.25C4.91421 8.25 5.25 7.91421 5.25 7.5C5.25 7.08579 4.91421 6.75 4.5 6.75ZM6.75 7.5C6.75 7.08579 7.08579 6.75 7.5 6.75C7.91421 6.75 8.25 7.08579 8.25 7.5C8.25 7.91421 7.91421 8.25 7.5 8.25C7.08579 8.25 6.75 7.91421 6.75 7.5ZM10.5 6.75C10.0858 6.75 9.75 7.08579 9.75 7.5C9.75 7.91421 10.0858 8.25 10.5 8.25C10.9142 8.25 11.25 7.91421 11.25 7.5C11.25 7.08579 10.9142 6.75 10.5 6.75Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),oZ=["color"],aZ=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,oZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M7.28856 0.796908C7.42258 0.734364 7.57742 0.734364 7.71144 0.796908L13.7114 3.59691C13.8875 3.67906 14 3.85574 14 4.05V10.95C14 11.1443 13.8875 11.3209 13.7114 11.4031L7.71144 14.2031C7.57742 14.2656 7.42258 14.2656 7.28856 14.2031L1.28856 11.4031C1.11252 11.3209 1 11.1443 1 10.95V4.05C1 3.85574 1.11252 3.67906 1.28856 3.59691L7.28856 0.796908ZM2 4.80578L7 6.93078V12.9649L2 10.6316V4.80578ZM8 12.9649L13 10.6316V4.80578L8 6.93078V12.9649ZM7.5 6.05672L12.2719 4.02866L7.5 1.80176L2.72809 4.02866L7.5 6.05672Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),lZ=["color"],cZ=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,lZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M7.5 9.125C8.39746 9.125 9.125 8.39746 9.125 7.5C9.125 6.60254 8.39746 5.875 7.5 5.875C6.60254 5.875 5.875 6.60254 5.875 7.5C5.875 8.39746 6.60254 9.125 7.5 9.125ZM7.5 10.125C8.94975 10.125 10.125 8.94975 10.125 7.5C10.125 6.05025 8.94975 4.875 7.5 4.875C6.05025 4.875 4.875 6.05025 4.875 7.5C4.875 8.94975 6.05025 10.125 7.5 10.125Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),uZ=["color"],fZ=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,uZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M7.49999 3.09998C7.27907 3.09998 7.09999 3.27906 7.09999 3.49998C7.09999 3.72089 7.27907 3.89998 7.49999 3.89998H14.5C14.7209 3.89998 14.9 3.72089 14.9 3.49998C14.9 3.27906 14.7209 3.09998 14.5 3.09998H7.49999ZM7.49998 5.1C7.27907 5.1 7.09998 5.27908 7.09998 5.5C7.09998 5.72091 7.27907 5.9 7.49998 5.9H14.5C14.7209 5.9 14.9 5.72091 14.9 5.5C14.9 5.27908 14.7209 5.1 14.5 5.1H7.49998ZM7.1 7.5C7.1 7.27908 7.27909 7.1 7.5 7.1H14.5C14.7209 7.1 14.9 7.27908 14.9 7.5C14.9 7.72091 14.7209 7.9 14.5 7.9H7.5C7.27909 7.9 7.1 7.72091 7.1 7.5ZM7.49998 9.1C7.27907 9.1 7.09998 9.27908 7.09998 9.5C7.09998 9.72091 7.27907 9.9 7.49998 9.9H14.5C14.7209 9.9 14.9 9.72091 14.9 9.5C14.9 9.27908 14.7209 9.1 14.5 9.1H7.49998ZM7.09998 11.5C7.09998 11.2791 7.27907 11.1 7.49998 11.1H14.5C14.7209 11.1 14.9 11.2791 14.9 11.5C14.9 11.7209 14.7209 11.9 14.5 11.9H7.49998C7.27907 11.9 7.09998 11.7209 7.09998 11.5ZM2.5 9.25003L5 6.00003H0L2.5 9.25003Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),dZ=["color"],hZ=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,dZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M13.3536 2.35355C13.5488 2.15829 13.5488 1.84171 13.3536 1.64645C13.1583 1.45118 12.8417 1.45118 12.6464 1.64645L10.6828 3.61012C9.70652 3.21671 8.63759 3 7.5 3C4.30786 3 1.65639 4.70638 0.0760002 7.23501C-0.0253338 7.39715 -0.0253334 7.60288 0.0760014 7.76501C0.902945 9.08812 2.02314 10.1861 3.36061 10.9323L1.64645 12.6464C1.45118 12.8417 1.45118 13.1583 1.64645 13.3536C1.84171 13.5488 2.15829 13.5488 2.35355 13.3536L4.31723 11.3899C5.29348 11.7833 6.36241 12 7.5 12C10.6921 12 13.3436 10.2936 14.924 7.76501C15.0253 7.60288 15.0253 7.39715 14.924 7.23501C14.0971 5.9119 12.9769 4.81391 11.6394 4.06771L13.3536 2.35355ZM9.90428 4.38861C9.15332 4.1361 8.34759 4 7.5 4C4.80285 4 2.52952 5.37816 1.09622 7.50001C1.87284 8.6497 2.89609 9.58106 4.09974 10.1931L9.90428 4.38861ZM5.09572 10.6114L10.9003 4.80685C12.1039 5.41894 13.1272 6.35031 13.9038 7.50001C12.4705 9.62183 10.1971 11 7.5 11C6.65241 11 5.84668 10.8639 5.09572 10.6114Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),pZ=["color"],mZ=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,pZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M7.5 11C4.80285 11 2.52952 9.62184 1.09622 7.50001C2.52952 5.37816 4.80285 4 7.5 4C10.1971 4 12.4705 5.37816 13.9038 7.50001C12.4705 9.62183 10.1971 11 7.5 11ZM7.5 3C4.30786 3 1.65639 4.70638 0.0760002 7.23501C-0.0253338 7.39715 -0.0253334 7.60288 0.0760014 7.76501C1.65639 10.2936 4.30786 12 7.5 12C10.6921 12 13.3436 10.2936 14.924 7.76501C15.0253 7.60288 15.0253 7.39715 14.924 7.23501C13.3436 4.70638 10.6921 3 7.5 3ZM7.5 9.5C8.60457 9.5 9.5 8.60457 9.5 7.5C9.5 6.39543 8.60457 5.5 7.5 5.5C6.39543 5.5 5.5 6.39543 5.5 7.5C5.5 8.60457 6.39543 9.5 7.5 9.5Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),gZ=["color"],U_=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,gZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M2.5 1H12.5C13.3284 1 14 1.67157 14 2.5V12.5C14 13.3284 13.3284 14 12.5 14H2.5C1.67157 14 1 13.3284 1 12.5V2.5C1 1.67157 1.67157 1 2.5 1ZM2.5 2C2.22386 2 2 2.22386 2 2.5V8.3636L3.6818 6.6818C3.76809 6.59551 3.88572 6.54797 4.00774 6.55007C4.12975 6.55216 4.24568 6.60372 4.32895 6.69293L7.87355 10.4901L10.6818 7.6818C10.8575 7.50607 11.1425 7.50607 11.3182 7.6818L13 9.3636V2.5C13 2.22386 12.7761 2 12.5 2H2.5ZM2 12.5V9.6364L3.98887 7.64753L7.5311 11.4421L8.94113 13H2.5C2.22386 13 2 12.7761 2 12.5ZM12.5 13H10.155L8.48336 11.153L11 8.6364L13 10.6364V12.5C13 12.7761 12.7761 13 12.5 13ZM6.64922 5.5C6.64922 5.03013 7.03013 4.64922 7.5 4.64922C7.96987 4.64922 8.35078 5.03013 8.35078 5.5C8.35078 5.96987 7.96987 6.35078 7.5 6.35078C7.03013 6.35078 6.64922 5.96987 6.64922 5.5ZM7.5 3.74922C6.53307 3.74922 5.74922 4.53307 5.74922 5.5C5.74922 6.46693 6.53307 7.25078 7.5 7.25078C8.46693 7.25078 9.25078 6.46693 9.25078 5.5C9.25078 4.53307 8.46693 3.74922 7.5 3.74922Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),vZ=["color"],yZ=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,vZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M5.49998 0.5C5.49998 0.223858 5.72383 0 5.99998 0H7.49998H8.99998C9.27612 0 9.49998 0.223858 9.49998 0.5C9.49998 0.776142 9.27612 1 8.99998 1H7.99998V2.11922C9.09832 2.20409 10.119 2.56622 10.992 3.13572C11.0116 3.10851 11.0336 3.08252 11.058 3.05806L12.058 2.05806C12.3021 1.81398 12.6978 1.81398 12.9419 2.05806C13.186 2.30214 13.186 2.69786 12.9419 2.94194L11.967 3.91682C13.1595 5.07925 13.9 6.70314 13.9 8.49998C13.9 12.0346 11.0346 14.9 7.49998 14.9C3.96535 14.9 1.09998 12.0346 1.09998 8.49998C1.09998 5.13361 3.69904 2.3743 6.99998 2.11922V1H5.99998C5.72383 1 5.49998 0.776142 5.49998 0.5ZM2.09998 8.49998C2.09998 5.51764 4.51764 3.09998 7.49998 3.09998C10.4823 3.09998 12.9 5.51764 12.9 8.49998C12.9 11.4823 10.4823 13.9 7.49998 13.9C4.51764 13.9 2.09998 11.4823 2.09998 8.49998ZM7.49998 8.49998V4.09998C5.06992 4.09998 3.09998 6.06992 3.09998 8.49998C3.09998 10.93 5.06992 12.9 7.49998 12.9C8.715 12.9 9.815 12.4075 10.6112 11.6112L7.49998 8.49998Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),xZ=["color"],_Z=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,xZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M7.75432 0.819537C7.59742 0.726821 7.4025 0.726821 7.24559 0.819537L1.74559 4.06954C1.59336 4.15949 1.49996 4.32317 1.49996 4.5C1.49996 4.67683 1.59336 4.84051 1.74559 4.93046L7.24559 8.18046C7.4025 8.27318 7.59742 8.27318 7.75432 8.18046L13.2543 4.93046C13.4066 4.84051 13.5 4.67683 13.5 4.5C13.5 4.32317 13.4066 4.15949 13.2543 4.06954L7.75432 0.819537ZM7.49996 7.16923L2.9828 4.5L7.49996 1.83077L12.0171 4.5L7.49996 7.16923ZM1.5695 7.49564C1.70998 7.2579 2.01659 7.17906 2.25432 7.31954L7.49996 10.4192L12.7456 7.31954C12.9833 7.17906 13.2899 7.2579 13.4304 7.49564C13.5709 7.73337 13.4921 8.03998 13.2543 8.18046L7.75432 11.4305C7.59742 11.5232 7.4025 11.5232 7.24559 11.4305L1.74559 8.18046C1.50786 8.03998 1.42901 7.73337 1.5695 7.49564ZM1.56949 10.4956C1.70998 10.2579 2.01658 10.1791 2.25432 10.3195L7.49996 13.4192L12.7456 10.3195C12.9833 10.1791 13.2899 10.2579 13.4304 10.4956C13.5709 10.7334 13.4921 11.04 13.2543 11.1805L7.75432 14.4305C7.59742 14.5232 7.4025 14.5232 7.24559 14.4305L1.74559 11.1805C1.50785 11.04 1.42901 10.7334 1.56949 10.4956Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),SZ=["color"],wZ=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,SZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M8.69667 0.0403541C8.90859 0.131038 9.03106 0.354857 8.99316 0.582235L8.0902 6.00001H12.5C12.6893 6.00001 12.8625 6.10701 12.9472 6.27641C13.0319 6.4458 13.0136 6.6485 12.8999 6.80001L6.89997 14.8C6.76167 14.9844 6.51521 15.0503 6.30328 14.9597C6.09135 14.869 5.96888 14.6452 6.00678 14.4178L6.90974 9H2.49999C2.31061 9 2.13748 8.893 2.05278 8.72361C1.96809 8.55422 1.98636 8.35151 2.09999 8.2L8.09997 0.200038C8.23828 0.0156255 8.48474 -0.0503301 8.69667 0.0403541ZM3.49999 8.00001H7.49997C7.64695 8.00001 7.78648 8.06467 7.88148 8.17682C7.97648 8.28896 8.01733 8.43723 7.99317 8.5822L7.33027 12.5596L11.5 7.00001H7.49997C7.353 7.00001 7.21347 6.93534 7.11846 6.8232C7.02346 6.71105 6.98261 6.56279 7.00678 6.41781L7.66968 2.44042L3.49999 8.00001Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),EZ=["color"],MZ=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,EZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M1.49988 2.00012C1.77602 2.00012 1.99988 1.77626 1.99988 1.50012C1.99988 1.22398 1.77602 1.00012 1.49988 1.00012C1.22374 1.00012 0.999878 1.22398 0.999878 1.50012C0.999878 1.77626 1.22374 2.00012 1.49988 2.00012ZM4.49988 2.00012C4.77602 2.00012 4.99988 1.77626 4.99988 1.50012C4.99988 1.22398 4.77602 1.00012 4.49988 1.00012C4.22374 1.00012 3.99988 1.22398 3.99988 1.50012C3.99988 1.77626 4.22374 2.00012 4.49988 2.00012ZM7.99988 1.50012C7.99988 1.77626 7.77602 2.00012 7.49988 2.00012C7.22374 2.00012 6.99988 1.77626 6.99988 1.50012C6.99988 1.22398 7.22374 1.00012 7.49988 1.00012C7.77602 1.00012 7.99988 1.22398 7.99988 1.50012ZM10.4999 2.00012C10.776 2.00012 10.9999 1.77626 10.9999 1.50012C10.9999 1.22398 10.776 1.00012 10.4999 1.00012C10.2237 1.00012 9.99988 1.22398 9.99988 1.50012C9.99988 1.77626 10.2237 2.00012 10.4999 2.00012ZM13.9999 1.50012C13.9999 1.77626 13.776 2.00012 13.4999 2.00012C13.2237 2.00012 12.9999 1.77626 12.9999 1.50012C12.9999 1.22398 13.2237 1.00012 13.4999 1.00012C13.776 1.00012 13.9999 1.22398 13.9999 1.50012ZM1.49988 14.0001C1.77602 14.0001 1.99988 13.7763 1.99988 13.5001C1.99988 13.224 1.77602 13.0001 1.49988 13.0001C1.22374 13.0001 0.999878 13.224 0.999878 13.5001C0.999878 13.7763 1.22374 14.0001 1.49988 14.0001ZM1.99988 10.5001C1.99988 10.7763 1.77602 11.0001 1.49988 11.0001C1.22374 11.0001 0.999878 10.7763 0.999878 10.5001C0.999878 10.224 1.22374 10.0001 1.49988 10.0001C1.77602 10.0001 1.99988 10.224 1.99988 10.5001ZM1.49988 8.00012C1.77602 8.00012 1.99988 7.77626 1.99988 7.50012C1.99988 7.22398 1.77602 7.00012 1.49988 7.00012C1.22374 7.00012 0.999878 7.22398 0.999878 7.50012C0.999878 7.77626 1.22374 8.00012 1.49988 8.00012ZM1.99988 4.50012C1.99988 4.77626 1.77602 5.00012 1.49988 5.00012C1.22374 5.00012 0.999878 4.77626 0.999878 4.50012C0.999878 4.22398 1.22374 4.00012 1.49988 4.00012C1.77602 4.00012 1.99988 4.22398 1.99988 4.50012ZM13.4999 11.0001C13.776 11.0001 13.9999 10.7763 13.9999 10.5001C13.9999 10.224 13.776 10.0001 13.4999 10.0001C13.2237 10.0001 12.9999 10.224 12.9999 10.5001C12.9999 10.7763 13.2237 11.0001 13.4999 11.0001ZM13.9999 7.50012C13.9999 7.77626 13.776 8.00012 13.4999 8.00012C13.2237 8.00012 12.9999 7.77626 12.9999 7.50012C12.9999 7.22398 13.2237 7.00012 13.4999 7.00012C13.776 7.00012 13.9999 7.22398 13.9999 7.50012ZM13.4999 5.00012C13.776 5.00012 13.9999 4.77626 13.9999 4.50012C13.9999 4.22398 13.776 4.00012 13.4999 4.00012C13.2237 4.00012 12.9999 4.22398 12.9999 4.50012C12.9999 4.77626 13.2237 5.00012 13.4999 5.00012ZM4.99988 13.5001C4.99988 13.7763 4.77602 14.0001 4.49988 14.0001C4.22374 14.0001 3.99988 13.7763 3.99988 13.5001C3.99988 13.224 4.22374 13.0001 4.49988 13.0001C4.77602 13.0001 4.99988 13.224 4.99988 13.5001ZM7.49988 14.0001C7.77602 14.0001 7.99988 13.7763 7.99988 13.5001C7.99988 13.224 7.77602 13.0001 7.49988 13.0001C7.22374 13.0001 6.99988 13.224 6.99988 13.5001C6.99988 13.7763 7.22374 14.0001 7.49988 14.0001ZM10.9999 13.5001C10.9999 13.7763 10.776 14.0001 10.4999 14.0001C10.2237 14.0001 9.99988 13.7763 9.99988 13.5001C9.99988 13.224 10.2237 13.0001 10.4999 13.0001C10.776 13.0001 10.9999 13.224 10.9999 13.5001ZM13.4999 14.0001C13.776 14.0001 13.9999 13.7763 13.9999 13.5001C13.9999 13.224 13.776 13.0001 13.4999 13.0001C13.2237 13.0001 12.9999 13.224 12.9999 13.5001C12.9999 13.7763 13.2237 14.0001 13.4999 14.0001ZM3.99988 5.00012C3.99988 4.44784 4.44759 4.00012 4.99988 4.00012H9.99988C10.5522 4.00012 10.9999 4.44784 10.9999 5.00012V10.0001C10.9999 10.5524 10.5522 11.0001 9.99988 11.0001H4.99988C4.44759 11.0001 3.99988 10.5524 3.99988 10.0001V5.00012ZM4.99988 5.00012H9.99988V10.0001H4.99988V5.00012Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),bZ=["color"],TZ=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,bZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M2.25 7.5C2.25 7.22386 2.47386 7 2.75 7H12.25C12.5261 7 12.75 7.22386 12.75 7.5C12.75 7.77614 12.5261 8 12.25 8H2.75C2.47386 8 2.25 7.77614 2.25 7.5Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),CZ=["color"],AZ=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,CZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M6.04995 2.74998C6.04995 2.44623 5.80371 2.19998 5.49995 2.19998C5.19619 2.19998 4.94995 2.44623 4.94995 2.74998V12.25C4.94995 12.5537 5.19619 12.8 5.49995 12.8C5.80371 12.8 6.04995 12.5537 6.04995 12.25V2.74998ZM10.05 2.74998C10.05 2.44623 9.80371 2.19998 9.49995 2.19998C9.19619 2.19998 8.94995 2.44623 8.94995 2.74998V12.25C8.94995 12.5537 9.19619 12.8 9.49995 12.8C9.80371 12.8 10.05 12.5537 10.05 12.25V2.74998Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),RZ=["color"],PZ=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,RZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M6.85357 3.85355L7.65355 3.05353C8.2981 2.40901 9.42858 1.96172 10.552 1.80125C11.1056 1.72217 11.6291 1.71725 12.0564 1.78124C12.4987 1.84748 12.7698 1.97696 12.8965 2.10357C13.0231 2.23018 13.1526 2.50125 13.2188 2.94357C13.2828 3.37086 13.2779 3.89439 13.1988 4.44801C13.0383 5.57139 12.591 6.70188 11.9464 7.34645L7.49999 11.7929L6.35354 10.6465C6.15827 10.4512 5.84169 10.4512 5.64643 10.6465C5.45117 10.8417 5.45117 11.1583 5.64643 11.3536L7.14644 12.8536C7.34171 13.0488 7.65829 13.0488 7.85355 12.8536L8.40073 12.3064L9.57124 14.2572C9.65046 14.3893 9.78608 14.4774 9.9389 14.4963C10.0917 14.5151 10.2447 14.4624 10.3535 14.3536L12.3535 12.3536C12.4648 12.2423 12.5172 12.0851 12.495 11.9293L12.0303 8.67679L12.6536 8.05355C13.509 7.19808 14.0117 5.82855 14.1887 4.58943C14.2784 3.9618 14.2891 3.33847 14.2078 2.79546C14.1287 2.26748 13.9519 1.74482 13.6035 1.39645C13.2552 1.04809 12.7325 0.871332 12.2045 0.792264C11.6615 0.710945 11.0382 0.721644 10.4105 0.8113C9.17143 0.988306 7.80189 1.491 6.94644 2.34642L6.32322 2.96968L3.07071 2.50504C2.91492 2.48278 2.75773 2.53517 2.64645 2.64646L0.646451 4.64645C0.537579 4.75533 0.484938 4.90829 0.50375 5.0611C0.522563 5.21391 0.61073 5.34954 0.742757 5.42876L2.69364 6.59928L2.14646 7.14645C2.0527 7.24022 2.00002 7.3674 2.00002 7.50001C2.00002 7.63261 2.0527 7.75979 2.14646 7.85356L3.64647 9.35356C3.84173 9.54883 4.15831 9.54883 4.35357 9.35356C4.54884 9.1583 4.54884 8.84172 4.35357 8.64646L3.20712 7.50001L3.85357 6.85356L6.85357 3.85355ZM10.0993 13.1936L9.12959 11.5775L11.1464 9.56067L11.4697 11.8232L10.0993 13.1936ZM3.42251 5.87041L5.43935 3.85356L3.17678 3.53034L1.80638 4.90074L3.42251 5.87041ZM2.35356 10.3535C2.54882 10.1583 2.54882 9.8417 2.35356 9.64644C2.1583 9.45118 1.84171 9.45118 1.64645 9.64644L0.646451 10.6464C0.451188 10.8417 0.451188 11.1583 0.646451 11.3535C0.841713 11.5488 1.1583 11.5488 1.35356 11.3535L2.35356 10.3535ZM3.85358 11.8536C4.04884 11.6583 4.04885 11.3417 3.85359 11.1465C3.65833 10.9512 3.34175 10.9512 3.14648 11.1465L1.14645 13.1464C0.95119 13.3417 0.951187 13.6583 1.14645 13.8535C1.34171 14.0488 1.65829 14.0488 1.85355 13.8536L3.85358 11.8536ZM5.35356 13.3535C5.54882 13.1583 5.54882 12.8417 5.35356 12.6464C5.1583 12.4512 4.84171 12.4512 4.64645 12.6464L3.64645 13.6464C3.45119 13.8417 3.45119 14.1583 3.64645 14.3535C3.84171 14.5488 4.1583 14.5488 4.35356 14.3535L5.35356 13.3535ZM9.49997 6.74881C10.1897 6.74881 10.7488 6.1897 10.7488 5.5C10.7488 4.8103 10.1897 4.25118 9.49997 4.25118C8.81026 4.25118 8.25115 4.8103 8.25115 5.5C8.25115 6.1897 8.81026 6.74881 9.49997 6.74881Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),LZ=["color"],IZ=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,LZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M0.5 4C0.223858 4 0 4.22386 0 4.5V10.5C0 10.7761 0.223858 11 0.5 11H14.5C14.7761 11 15 10.7761 15 10.5V4.5C15 4.22386 14.7761 4 14.5 4H0.5ZM1 10V5H2.075V7.5C2.075 7.73472 2.26528 7.925 2.5 7.925C2.73472 7.925 2.925 7.73472 2.925 7.5V5H4.075V6.5C4.075 6.73472 4.26528 6.925 4.5 6.925C4.73472 6.925 4.925 6.73472 4.925 6.5V5H6.075V6.5C6.075 6.73472 6.26528 6.925 6.5 6.925C6.73472 6.925 6.925 6.73472 6.925 6.5V5H8.075V7.5C8.075 7.73472 8.26528 7.925 8.5 7.925C8.73472 7.925 8.925 7.73472 8.925 7.5V5H10.075V6.5C10.075 6.73472 10.2653 6.925 10.5 6.925C10.7347 6.925 10.925 6.73472 10.925 6.5V5H12.075V6.5C12.075 6.73472 12.2653 6.925 12.5 6.925C12.7347 6.925 12.925 6.73472 12.925 6.5V5H14V10H1Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),OZ=["color"],DZ=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,OZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M2.5 4C2.22386 4 2 4.22386 2 4.5C2 4.77614 2.22386 5 2.5 5H12.5C12.7761 5 13 4.77614 13 4.5C13 4.22386 12.7761 4 12.5 4H2.5ZM2 7.5C2 7.22386 2.22386 7 2.5 7H12.5C12.7761 7 13 7.22386 13 7.5C13 7.77614 12.7761 8 12.5 8H2.5C2.22386 8 2 7.77614 2 7.5ZM2 10.5C2 10.2239 2.22386 10 2.5 10H12.5C12.7761 10 13 10.2239 13 10.5C13 10.7761 12.7761 11 12.5 11H2.5C2.22386 11 2 10.7761 2 10.5Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),NZ=["color"],d5=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,NZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M4 6H11L7.5 10.5L4 6Z",fill:i}))}),kZ=["color"],h5=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,kZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M4 9H11L7.5 4.5L4 9Z",fill:i}))}),UZ=["color"],p5=R.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=Ln(n,UZ);return R.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),R.createElement("path",{d:"M7.49998 1L6.92321 2.00307L1.17498 12L0.599976 13H1.7535H13.2464H14.4L13.825 12L8.07674 2.00307L7.49998 1ZM7.49998 3.00613L2.3285 12H12.6714L7.49998 3.00613Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),FZ=Object.defineProperty,zZ=(n,e,t)=>e in n?FZ(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,gt=(n,e,t)=>(zZ(n,typeof e!="symbol"?e+"":e,t),t);const bm=new Il,n3=new eo,BZ=Math.cos(70*(Math.PI/180)),i3=(n,e)=>(n%e+e)%e;let HZ=class extends Us{constructor(e,t){super(),gt(this,"object"),gt(this,"domElement"),gt(this,"enabled",!0),gt(this,"target",new U),gt(this,"minDistance",0),gt(this,"maxDistance",1/0),gt(this,"minZoom",0),gt(this,"maxZoom",1/0),gt(this,"minPolarAngle",0),gt(this,"maxPolarAngle",Math.PI),gt(this,"minAzimuthAngle",-1/0),gt(this,"maxAzimuthAngle",1/0),gt(this,"enableDamping",!1),gt(this,"dampingFactor",.05),gt(this,"enableZoom",!0),gt(this,"zoomSpeed",1),gt(this,"enableRotate",!0),gt(this,"rotateSpeed",1),gt(this,"enablePan",!0),gt(this,"panSpeed",1),gt(this,"screenSpacePanning",!0),gt(this,"keyPanSpeed",7),gt(this,"zoomToCursor",!1),gt(this,"autoRotate",!1),gt(this,"autoRotateSpeed",2),gt(this,"reverseOrbit",!1),gt(this,"reverseHorizontalOrbit",!1),gt(this,"reverseVerticalOrbit",!1),gt(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),gt(this,"mouseButtons",{LEFT:Ja.ROTATE,MIDDLE:Ja.DOLLY,RIGHT:Ja.PAN}),gt(this,"touches",{ONE:Qa.ROTATE,TWO:Qa.DOLLY_PAN}),gt(this,"target0"),gt(this,"position0"),gt(this,"zoom0"),gt(this,"_domElementKeyEvents",null),gt(this,"getPolarAngle"),gt(this,"getAzimuthalAngle"),gt(this,"setPolarAngle"),gt(this,"setAzimuthalAngle"),gt(this,"getDistance"),gt(this,"listenToKeyEvents"),gt(this,"stopListenToKeyEvents"),gt(this,"saveState"),gt(this,"reset"),gt(this,"update"),gt(this,"connect"),gt(this,"dispose"),this.object=e,this.domElement=t,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=()=>d.phi,this.getAzimuthalAngle=()=>d.theta,this.setPolarAngle=$=>{let ue=i3($,2*Math.PI),Le=d.phi;Le<0&&(Le+=2*Math.PI),ue<0&&(ue+=2*Math.PI);let ze=Math.abs(ue-Le);2*Math.PI-ze{let ue=i3($,2*Math.PI),Le=d.theta;Le<0&&(Le+=2*Math.PI),ue<0&&(ue+=2*Math.PI);let ze=Math.abs(ue-Le);2*Math.PI-zei.object.position.distanceTo(i.target),this.listenToKeyEvents=$=>{$.addEventListener("keydown",tt),this._domElementKeyEvents=$},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener("keydown",tt),this._domElementKeyEvents=null},this.saveState=()=>{i.target0.copy(i.target),i.position0.copy(i.object.position),i.zoom0=i.object.zoom},this.reset=()=>{i.target.copy(i.target0),i.object.position.copy(i.position0),i.object.zoom=i.zoom0,i.object.updateProjectionMatrix(),i.dispatchEvent(r),i.update(),l=a.NONE},this.update=(()=>{const $=new U,ue=new U(0,1,0),Le=new xi().setFromUnitVectors(e.up,ue),ze=Le.clone().invert(),xt=new U,K=new xi,Ie=2*Math.PI;return function(){const Pe=i.object.position;Le.setFromUnitVectors(e.up,ue),ze.copy(Le).invert(),$.copy(Pe).sub(i.target),$.applyQuaternion(Le),d.setFromVector3($),i.autoRotate&&l===a.NONE&&z(j()),i.enableDamping?(d.theta+=h.theta*i.dampingFactor,d.phi+=h.phi*i.dampingFactor):(d.theta+=h.theta,d.phi+=h.phi);let Oe=i.minAzimuthAngle,mt=i.maxAzimuthAngle;isFinite(Oe)&&isFinite(mt)&&(Oe<-Math.PI?Oe+=Ie:Oe>Math.PI&&(Oe-=Ie),mt<-Math.PI?mt+=Ie:mt>Math.PI&&(mt-=Ie),Oe<=mt?d.theta=Math.max(Oe,Math.min(mt,d.theta)):d.theta=d.theta>(Oe+mt)/2?Math.max(Oe,d.theta):Math.min(mt,d.theta)),d.phi=Math.max(i.minPolarAngle,Math.min(i.maxPolarAngle,d.phi)),d.makeSafe(),i.enableDamping===!0?i.target.addScaledVector(m,i.dampingFactor):i.target.add(m),i.zoomToCursor&&H||i.object.isOrthographicCamera?d.radius=me(d.radius):d.radius=me(d.radius*p),$.setFromSpherical(d),$.applyQuaternion(ze),Pe.copy(i.target).add($),i.object.matrixAutoUpdate||i.object.updateMatrix(),i.object.lookAt(i.target),i.enableDamping===!0?(h.theta*=1-i.dampingFactor,h.phi*=1-i.dampingFactor,m.multiplyScalar(1-i.dampingFactor)):(h.set(0,0,0),m.set(0,0,0));let Ot=!1;if(i.zoomToCursor&&H){let Yt=null;if(i.object instanceof wn&&i.object.isPerspectiveCamera){const Mn=$.length();Yt=me(Mn*p);const Dt=Mn-Yt;i.object.position.addScaledVector(L,Dt),i.object.updateMatrixWorld()}else if(i.object.isOrthographicCamera){const Mn=new U(O.x,O.y,0);Mn.unproject(i.object),i.object.zoom=Math.max(i.minZoom,Math.min(i.maxZoom,i.object.zoom/p)),i.object.updateProjectionMatrix(),Ot=!0;const Dt=new U(O.x,O.y,0);Dt.unproject(i.object),i.object.position.sub(Dt).add(Mn),i.object.updateMatrixWorld(),Yt=$.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),i.zoomToCursor=!1;Yt!==null&&(i.screenSpacePanning?i.target.set(0,0,-1).transformDirection(i.object.matrix).multiplyScalar(Yt).add(i.object.position):(bm.origin.copy(i.object.position),bm.direction.set(0,0,-1).transformDirection(i.object.matrix),Math.abs(i.object.up.dot(bm.direction))u||8*(1-K.dot(i.object.quaternion))>u?(i.dispatchEvent(r),xt.copy(i.object.position),K.copy(i.object.quaternion),Ot=!1,!0):!1}})(),this.connect=$=>{$===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),i.domElement=$,i.domElement.style.touchAction="none",i.domElement.addEventListener("contextmenu",st),i.domElement.addEventListener("pointerdown",F),i.domElement.addEventListener("pointercancel",re),i.domElement.addEventListener("wheel",et)},this.dispose=()=>{var $,ue,Le,ze,xt,K;($=i.domElement)==null||$.removeEventListener("contextmenu",st),(ue=i.domElement)==null||ue.removeEventListener("pointerdown",F),(Le=i.domElement)==null||Le.removeEventListener("pointercancel",re),(ze=i.domElement)==null||ze.removeEventListener("wheel",et),(xt=i.domElement)==null||xt.ownerDocument.removeEventListener("pointermove",D),(K=i.domElement)==null||K.ownerDocument.removeEventListener("pointerup",X),i._domElementKeyEvents!==null&&i._domElementKeyEvents.removeEventListener("keydown",tt)};const i=this,r={type:"change"},s={type:"start"},o={type:"end"},a={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let l=a.NONE;const u=1e-6,d=new a_,h=new a_;let p=1;const m=new U,v=new ve,w=new ve,x=new ve,g=new ve,_=new ve,S=new ve,M=new ve,A=new ve,T=new ve,L=new U,O=new ve;let H=!1;const C=[],I={};function j(){return 2*Math.PI/60/60*i.autoRotateSpeed}function ee(){return Math.pow(.95,i.zoomSpeed)}function z($){i.reverseOrbit||i.reverseHorizontalOrbit?h.theta+=$:h.theta-=$}function J($){i.reverseOrbit||i.reverseVerticalOrbit?h.phi+=$:h.phi-=$}const Z=(()=>{const $=new U;return function(Le,ze){$.setFromMatrixColumn(ze,0),$.multiplyScalar(-Le),m.add($)}})(),ne=(()=>{const $=new U;return function(Le,ze){i.screenSpacePanning===!0?$.setFromMatrixColumn(ze,1):($.setFromMatrixColumn(ze,0),$.crossVectors(i.object.up,$)),$.multiplyScalar(Le),m.add($)}})(),k=(()=>{const $=new U;return function(Le,ze){const xt=i.domElement;if(xt&&i.object instanceof wn&&i.object.isPerspectiveCamera){const K=i.object.position;$.copy(K).sub(i.target);let Ie=$.length();Ie*=Math.tan(i.object.fov/2*Math.PI/180),Z(2*Le*Ie/xt.clientHeight,i.object.matrix),ne(2*ze*Ie/xt.clientHeight,i.object.matrix)}else xt&&i.object instanceof lo&&i.object.isOrthographicCamera?(Z(Le*(i.object.right-i.object.left)/i.object.zoom/xt.clientWidth,i.object.matrix),ne(ze*(i.object.top-i.object.bottom)/i.object.zoom/xt.clientHeight,i.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),i.enablePan=!1)}})();function W($){i.object instanceof wn&&i.object.isPerspectiveCamera||i.object instanceof lo&&i.object.isOrthographicCamera?p/=$:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),i.enableZoom=!1)}function Y($){i.object instanceof wn&&i.object.isPerspectiveCamera||i.object instanceof lo&&i.object.isOrthographicCamera?p*=$:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),i.enableZoom=!1)}function ie($){if(!i.zoomToCursor||!i.domElement)return;H=!0;const ue=i.domElement.getBoundingClientRect(),Le=$.clientX-ue.left,ze=$.clientY-ue.top,xt=ue.width,K=ue.height;O.x=Le/xt*2-1,O.y=-(ze/K)*2+1,L.set(O.x,O.y,1).unproject(i.object).sub(i.object.position).normalize()}function me($){return Math.max(i.minDistance,Math.min(i.maxDistance,$))}function Re($){v.set($.clientX,$.clientY)}function oe($){ie($),M.set($.clientX,$.clientY)}function ye($){g.set($.clientX,$.clientY)}function Ee($){w.set($.clientX,$.clientY),x.subVectors(w,v).multiplyScalar(i.rotateSpeed);const ue=i.domElement;ue&&(z(2*Math.PI*x.x/ue.clientHeight),J(2*Math.PI*x.y/ue.clientHeight)),v.copy(w),i.update()}function Ue($){A.set($.clientX,$.clientY),T.subVectors(A,M),T.y>0?W(ee()):T.y<0&&Y(ee()),M.copy(A),i.update()}function $e($){_.set($.clientX,$.clientY),S.subVectors(_,g).multiplyScalar(i.panSpeed),k(S.x,S.y),g.copy(_),i.update()}function Fe($){ie($),$.deltaY<0?Y(ee()):$.deltaY>0&&W(ee()),i.update()}function lt($){let ue=!1;switch($.code){case i.keys.UP:k(0,i.keyPanSpeed),ue=!0;break;case i.keys.BOTTOM:k(0,-i.keyPanSpeed),ue=!0;break;case i.keys.LEFT:k(i.keyPanSpeed,0),ue=!0;break;case i.keys.RIGHT:k(-i.keyPanSpeed,0),ue=!0;break}ue&&($.preventDefault(),i.update())}function Ve(){if(C.length==1)v.set(C[0].pageX,C[0].pageY);else{const $=.5*(C[0].pageX+C[1].pageX),ue=.5*(C[0].pageY+C[1].pageY);v.set($,ue)}}function V(){if(C.length==1)g.set(C[0].pageX,C[0].pageY);else{const $=.5*(C[0].pageX+C[1].pageX),ue=.5*(C[0].pageY+C[1].pageY);g.set($,ue)}}function we(){const $=C[0].pageX-C[1].pageX,ue=C[0].pageY-C[1].pageY,Le=Math.sqrt($*$+ue*ue);M.set(0,Le)}function ge(){i.enableZoom&&we(),i.enablePan&&V()}function Me(){i.enableZoom&&we(),i.enableRotate&&Ve()}function xe($){if(C.length==1)w.set($.pageX,$.pageY);else{const Le=Je($),ze=.5*($.pageX+Le.x),xt=.5*($.pageY+Le.y);w.set(ze,xt)}x.subVectors(w,v).multiplyScalar(i.rotateSpeed);const ue=i.domElement;ue&&(z(2*Math.PI*x.x/ue.clientHeight),J(2*Math.PI*x.y/ue.clientHeight)),v.copy(w)}function Be($){if(C.length==1)_.set($.pageX,$.pageY);else{const ue=Je($),Le=.5*($.pageX+ue.x),ze=.5*($.pageY+ue.y);_.set(Le,ze)}S.subVectors(_,g).multiplyScalar(i.panSpeed),k(S.x,S.y),g.copy(_)}function ke($){const ue=Je($),Le=$.pageX-ue.x,ze=$.pageY-ue.y,xt=Math.sqrt(Le*Le+ze*ze);A.set(0,xt),T.set(0,Math.pow(A.y/M.y,i.zoomSpeed)),W(T.y),M.copy(A)}function Xe($){i.enableZoom&&ke($),i.enablePan&&Be($)}function ct($){i.enableZoom&&ke($),i.enableRotate&&xe($)}function F($){var ue,Le;i.enabled!==!1&&(C.length===0&&((ue=i.domElement)==null||ue.ownerDocument.addEventListener("pointermove",D),(Le=i.domElement)==null||Le.ownerDocument.addEventListener("pointerup",X)),Ce($),$.pointerType==="touch"?Te($):Se($))}function D($){i.enabled!==!1&&($.pointerType==="touch"?De($):_e($))}function X($){var ue,Le,ze;Bt($),C.length===0&&((ue=i.domElement)==null||ue.releasePointerCapture($.pointerId),(Le=i.domElement)==null||Le.ownerDocument.removeEventListener("pointermove",D),(ze=i.domElement)==null||ze.ownerDocument.removeEventListener("pointerup",X)),i.dispatchEvent(o),l=a.NONE}function re($){Bt($)}function Se($){let ue;switch($.button){case 0:ue=i.mouseButtons.LEFT;break;case 1:ue=i.mouseButtons.MIDDLE;break;case 2:ue=i.mouseButtons.RIGHT;break;default:ue=-1}switch(ue){case Ja.DOLLY:if(i.enableZoom===!1)return;oe($),l=a.DOLLY;break;case Ja.ROTATE:if($.ctrlKey||$.metaKey||$.shiftKey){if(i.enablePan===!1)return;ye($),l=a.PAN}else{if(i.enableRotate===!1)return;Re($),l=a.ROTATE}break;case Ja.PAN:if($.ctrlKey||$.metaKey||$.shiftKey){if(i.enableRotate===!1)return;Re($),l=a.ROTATE}else{if(i.enablePan===!1)return;ye($),l=a.PAN}break;default:l=a.NONE}l!==a.NONE&&i.dispatchEvent(s)}function _e($){if(i.enabled!==!1)switch(l){case a.ROTATE:if(i.enableRotate===!1)return;Ee($);break;case a.DOLLY:if(i.enableZoom===!1)return;Ue($);break;case a.PAN:if(i.enablePan===!1)return;$e($);break}}function et($){i.enabled===!1||i.enableZoom===!1||l!==a.NONE&&l!==a.ROTATE||($.preventDefault(),i.dispatchEvent(s),Fe($),i.dispatchEvent(o))}function tt($){i.enabled===!1||i.enablePan===!1||lt($)}function Te($){switch(vt($),C.length){case 1:switch(i.touches.ONE){case Qa.ROTATE:if(i.enableRotate===!1)return;Ve(),l=a.TOUCH_ROTATE;break;case Qa.PAN:if(i.enablePan===!1)return;V(),l=a.TOUCH_PAN;break;default:l=a.NONE}break;case 2:switch(i.touches.TWO){case Qa.DOLLY_PAN:if(i.enableZoom===!1&&i.enablePan===!1)return;ge(),l=a.TOUCH_DOLLY_PAN;break;case Qa.DOLLY_ROTATE:if(i.enableZoom===!1&&i.enableRotate===!1)return;Me(),l=a.TOUCH_DOLLY_ROTATE;break;default:l=a.NONE}break;default:l=a.NONE}l!==a.NONE&&i.dispatchEvent(s)}function De($){switch(vt($),l){case a.TOUCH_ROTATE:if(i.enableRotate===!1)return;xe($),i.update();break;case a.TOUCH_PAN:if(i.enablePan===!1)return;Be($),i.update();break;case a.TOUCH_DOLLY_PAN:if(i.enableZoom===!1&&i.enablePan===!1)return;Xe($),i.update();break;case a.TOUCH_DOLLY_ROTATE:if(i.enableZoom===!1&&i.enableRotate===!1)return;ct($),i.update();break;default:l=a.NONE}}function st($){i.enabled!==!1&&$.preventDefault()}function Ce($){C.push($)}function Bt($){delete I[$.pointerId];for(let ue=0;ue0){const s=document.getElementsByTagName("link");r=Promise.all(t.map(o=>{if(o=WZ(o),o in r3)return;r3[o]=!0;const a=o.endsWith(".css"),l=a?'[rel="stylesheet"]':"";if(!!i)for(let h=s.length-1;h>=0;h--){const p=s[h];if(p.href===o&&(!a||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${l}`))return;const d=document.createElement("link");if(d.rel=a?"stylesheet":VZ,a||(d.as="script",d.crossOrigin=""),d.href=o,document.head.appendChild(d),a)return new Promise((h,p)=>{d.addEventListener("load",h),d.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${o}`)))})}))}return r.then(()=>e()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})},s3=R.forwardRef(({sdfGlyphSize:n=64,anchorX:e="center",anchorY:t="middle",font:i,fontSize:r=1,children:s,characters:o,onSync:a,...l},u)=>{const{Text:d,preloadFont:h}=c_(async()=>$Z(()=>import("./troika-three-text.esm-ZUQG2Mqd.js"),__vite__mapDeps([])),[]),p=Or(({invalidate:x})=>x),[m]=R.useState(()=>new d),[v,w]=R.useMemo(()=>{const x=[];let g="";return R.Children.forEach(s,_=>{typeof _=="string"||typeof _=="number"?g+=_:x.push(_)}),[x,g]},[s]);return c_(()=>new Promise(x=>h({font:i,characters:o},x)),["troika-text",i,o]),R.useLayoutEffect(()=>void m.sync(()=>{p(),a&&a(m)})),R.useEffect(()=>()=>m.dispose(),[m]),R.createElement("primitive",gn({object:m,ref:u,font:i,text:w,anchorX:e,anchorY:t,fontSize:r,sdfGlyphSize:n},l),v)}),GZ=R.forwardRef(({makeDefault:n,camera:e,regress:t,domElement:i,enableDamping:r=!0,keyEvents:s=!1,onChange:o,onStart:a,onEnd:l,...u},d)=>{const h=Or(T=>T.invalidate),p=Or(T=>T.camera),m=Or(T=>T.gl),v=Or(T=>T.events),w=Or(T=>T.setEvents),x=Or(T=>T.set),g=Or(T=>T.get),_=Or(T=>T.performance),S=e||p,M=i||v.connected||m.domElement,A=R.useMemo(()=>new HZ(S),[S]);return I0(()=>{A.enabled&&A.update()},-1),R.useEffect(()=>(s&&A.connect(s===!0?M:s),A.connect(M),()=>void A.dispose()),[s,M,t,A,h]),R.useEffect(()=>{const T=H=>{h(),t&&_.regress(),o&&o(H)},L=H=>{a&&a(H)},O=H=>{l&&l(H)};return A.addEventListener("change",T),A.addEventListener("start",L),A.addEventListener("end",O),()=>{A.removeEventListener("start",L),A.removeEventListener("end",O),A.removeEventListener("change",T)}},[o,a,l,A,h,w]),R.useEffect(()=>{if(n){const T=g().controls;return x({controls:A}),()=>x({controls:T})}},[n,A]),R.createElement("primitive",gn({ref:d,object:A,enableDamping:r},u))}),Lr=R.memo(({isPerf:n,color:e,colorBlind:t,customData:i,isMemory:r,isShadersInfo:s,metric:o,fontSize:a,offsetY:l=0,offsetX:u,round:d,hasInstance:h})=>{const{width:p,height:m}=Or(x=>x.viewport),v=R.useRef(null),w=R.useRef(null);return Uq("log",function([g,_]){var S;if(!g||!v.current||(i&&(v.current.text=(Math.round(Br().customData*Math.pow(10,d))/Math.pow(10,d)).toFixed(d)),!o))return;let M=g[o];if(s?M=(S=_.info.programs)==null?void 0:S.length:o==="matriceCount"?M=fr.value:!n&&_.info.render&&(M=(r?_.info.memory:_.info.render)[o]),o==="fps"&&(v.current.color=Br().overclockingFps?vi(t).overClock.toString():`rgb(${vi(t).fps.toString()})`),v.current.text=(Math.round(M*Math.pow(10,d))/Math.pow(10,d)).toFixed(d),h){const A=_.info.instance;if(typeof A>"u"&&o!=="matriceCount")return;let T;o==="matriceCount"?T=Yc.value:T=A[o],T>0?(v.current.fontSize=a/1.15,w.current.fontSize=M>0?a/1.4:a,v.current.position.y=m/2-l-a/1.9,w.current.text=" ± "+(Math.round(T*Math.pow(10,d))/Math.pow(10,d)).toFixed(d)):(w.current.text&&(w.current.text=""),v.current.position.y=m/2-l-a,v.current.fontSize=a)}fr.value-=1,v.current.updateMatrix(),v.current.matrixWorld.copy(v.current.matrix)}),q.jsxs(R.Suspense,{fallback:null,children:[q.jsxs(s3,{textAlign:"justify",matrixAutoUpdate:!1,ref:v,fontSize:a,position:[-p/2+u+a,m/2-l-a,0],color:e,characters:"0123456789",onUpdate:x=>{x.updateMatrix(),fr.value-=1,x.matrixWorld.copy(x.matrix)},children:[q.jsx("meshBasicMaterial",{blending:ho}),"0"]}),h&&q.jsx(s3,{textAlign:"justify",matrixAutoUpdate:!1,ref:w,fontSize:8,position:[-p/2+u+a,m/2-l-a*1.15,0],color:"lightgrey",characters:"0123456789",onUpdate:x=>{x.updateMatrix(),fr.value-=1,x.matrixWorld.copy(x.matrix)},children:q.jsx("meshBasicMaterial",{blending:ho})})]})}),jZ=({colorBlind:n,customData:e,minimal:t,matrixUpdate:i})=>q.jsxs(q.Fragment,{children:[q.jsx(Lr,{colorBlind:n,color:`rgb(${vi(n).fps.toString()})`,isPerf:!0,metric:"fps",fontSize:14,offsetX:140,round:0}),q.jsx(Lr,{color:`rgb(${vi(n).cpu.toString()})`,isPerf:!0,metric:"cpu",fontSize:14,offsetX:72,round:3}),q.jsx(Lr,{color:`rgb(${vi(n).gpu.toString()})`,isPerf:!0,metric:"gpu",fontSize:14,offsetX:10,round:3}),t?null:q.jsxs(q.Fragment,{children:[q.jsx(Lr,{metric:"calls",fontSize:14,offsetX:200,round:0,hasInstance:!0}),q.jsx(Lr,{metric:"triangles",fontSize:14,offsetX:260,round:0,hasInstance:!0}),q.jsx(Lr,{isMemory:!0,metric:"geometries",fontSize:14,offsetY:30,offsetX:0,round:0}),q.jsx(Lr,{isMemory:!0,metric:"textures",fontSize:14,offsetY:30,offsetX:80,round:0}),q.jsx(Lr,{isShadersInfo:!0,metric:"programs",fontSize:14,offsetY:30,offsetX:140,round:0}),q.jsx(Lr,{metric:"lines",fontSize:14,offsetY:30,offsetX:200,round:0,hasInstance:!0}),q.jsx(Lr,{metric:"points",fontSize:14,offsetY:30,offsetX:260,round:0,hasInstance:!0}),i&&q.jsx(Lr,{isPerf:!0,metric:"matriceCount",fontSize:14,offsetY:30,offsetX:320,round:0,hasInstance:!0})]}),e&&q.jsx(Lr,{color:`rgb(${vi(n).custom.toString()})`,customData:e,fontSize:14,offsetY:0,offsetX:t?200:320,round:e.round||2})]}),XZ=({colorBlind:n,minimal:e,chart:t={length:120,hz:60}})=>{const i=R.useMemo(()=>({fps:new Float32Array(t.length*3),cpu:new Float32Array(t.length*3),gpu:new Float32Array(t.length*3)}),[t]),r=R.useRef(null),s=R.useRef(null),o=R.useRef(null),a=R.useRef(null),l=R.useMemo(()=>new U(0,0,0),[]),u=(d,h=1,p,m)=>{let v=0;const{width:w,height:x}=m,g=Br().chart.data[d];if(!g||g.length===0)return;const _=e?2:6,S=e?12:50;let M=g.length;for(let A=0;Av&&(v=g[T]*h),l.set(_+A/(M-1)*(w-_*2)-w/2,Math.min(100,g[T])*h/100*(x-_*2-S)-x/2,0),l.toArray(p.attributes.position.array,A*3))}p.attributes.position.needsUpdate=!0};return I0(function({viewport:h}){u("fps",1,r.current,h),s.current&&s.current.color.set(Br().overclockingFps?vi(n).overClock.toString():`rgb(${vi(n).fps.toString()})`),u("gpu",5,o.current,h),u("cpu",5,a.current,h)}),q.jsxs(q.Fragment,{children:[q.jsxs("line",{onUpdate:d=>{d.updateMatrix(),fr.value-=1,d.matrixWorld.copy(d.matrix)},children:[q.jsx("bufferGeometry",{ref:r,children:q.jsx("bufferAttribute",{attach:"attributes-position",count:t.length,array:i.fps,itemSize:3,usage:$m,needsUpdate:!0})}),q.jsx("lineBasicMaterial",{ref:s,color:`rgb(${vi(n).fps.toString()})`,transparent:!0,opacity:.5})]}),q.jsxs("line",{onUpdate:d=>{d.updateMatrix(),fr.value-=1,d.matrixWorld.copy(d.matrix)},children:[q.jsx("bufferGeometry",{ref:o,children:q.jsx("bufferAttribute",{attach:"attributes-position",count:t.length,array:i.gpu,itemSize:3,usage:$m,needsUpdate:!0})}),q.jsx("lineBasicMaterial",{color:`rgb(${vi(n).gpu.toString()})`,transparent:!0,opacity:.5})]}),q.jsxs("line",{onUpdate:d=>{d.updateMatrix(),fr.value-=1,d.matrixWorld.copy(d.matrix)},children:[q.jsx("bufferGeometry",{ref:a,children:q.jsx("bufferAttribute",{attach:"attributes-position",count:t.length,array:i.cpu,itemSize:3,usage:$m,needsUpdate:!0})}),q.jsx("lineBasicMaterial",{color:`rgb(${vi(n).cpu.toString()})`,transparent:!0,opacity:.5})]})]})},YZ=({colorBlind:n,chart:e,customData:t,matrixUpdate:i,showGraph:r=!0,antialias:s=!0,minimal:o})=>{const a=R.useRef(void 0),l=Gr(u=>u.paused);return q.jsxs(jq,{style:{display:"flex",position:"absolute",height:`${o?37:r?100:60}px`,minWidth:`${o?"100px":t?"370px":"310px"}`},children:[q.jsx(u4,{ref:a,orthographic:!0,dpr:s?[1,2]:1,gl:{antialias:!0,alpha:!0,stencil:!1,depth:!1},onCreated:({scene:u})=>{u.traverse(d=>{d.matrixWorldAutoUpdate=!1,d.matrixAutoUpdate=!1})},flat:!0,style:{marginBottom:"-42px",position:"relative",pointerEvents:"none",background:"transparent !important",height:`${o?37:r?100:60}px`},children:l?null:q.jsxs(q.Fragment,{children:[q.jsx(qZ,{}),q.jsx(jZ,{customData:t,minimal:o,matrixUpdate:i}),r&&q.jsx(XZ,{colorBlind:n,minimal:o,chart:e})]})}),l&&q.jsxs(Xq,{children:[q.jsx(AZ,{})," PAUSED"]})]})},qZ=()=>(I0(function({gl:e,scene:t,camera:i}){i.updateMatrix(),fr.value-=1,i.matrixWorld.copy(i.matrix),i.matrixWorldInverse.copy(i.matrixWorld).invert(),e.render(t,i),Yc.value=0,fr.value=0},1/0),null),ZZ=R.forwardRef(({portal:n,className:e,children:t,name:i,...r},s)=>{const o=Or(d=>d.gl),a=R.useRef(null),l=R.useRef(null),u=(n==null?void 0:n.current)!=null?n.current:o.domElement.parentNode;return R.useLayoutEffect(()=>{if(!a.current||!u)return;const d=document.createElement("div"),h=l.current=wR(d);return u.appendChild(d),()=>{h.unmount(),l.current=null,u.removeChild(d)}},[u]),R.useLayoutEffect(()=>{const d=l.current;d&&d.render(q.jsx("div",{ref:s,className:e,children:t}))}),q.jsx("group",{name:i,...r,ref:a})});function KZ(n){let e=0;for(let i in n.attributes){const r=n.getAttribute(i);e+=r.count*r.itemSize*r.array.BYTES_PER_ELEMENT}const t=n.getIndex();return e+=t?t.count*t.itemSize*t.array.BYTES_PER_ELEMENT:0,e}const o3=(n,e)=>{const t=r=>{switch(r){case 1e3:return"RepeatWrapping";case 1001:return"ClampToEdgeWrapping";case 1002:return"MirroredRepeatWrapping";default:return"ClampToEdgeWrapping"}},i=r=>{switch(r){case 3e3:return"LinearEncoding";case 3001:return"sRGBEncoding";case 3002:return"RGBEEncoding";case 3003:return"LogLuvEncoding";case 3004:return"RGBM7Encoding";case 3005:return"RGBM16Encoding";case 3006:return"RGBDEncoding";case 3007:return"GammaEncoding";default:return"ClampToEdgeWrapping"}};return{name:n,url:e.image.currentSrc,encoding:i(e.encoding),wrapT:t(e.wrapT),flipY:e.flipY.toString()}},JZ=({program:n,material:e,setTexNumber:t})=>{const i=Gr(o=>o.gl),[r,s]=R.useState(null);return R.useEffect(()=>{if(i){const o=n==null?void 0:n.getUniforms();let a=0;const l=new Map;o.seq.forEach(u=>{if(!u.id.includes("uTroika")&&u.id!=="isOrthographic"&&u.id!=="uvTransform"&&u.id!=="lightProbe"&&u.id!=="projectionMatrix"&&u.id!=="viewMatrix"&&u.id!=="normalMatrix"&&u.id!=="modelMatrix"&&u.id!=="modelViewMatrix"){let d=[],h={name:u.id};u.cache&&(u.cache.forEach(p=>{typeof p<"u"&&d.push(p.toString().substring(0,4))}),h.value=d.join(),e[u.id]&&e[u.id].image&&e[u.id].image&&(a++,h.value=o3(u.id,e[u.id])),h.value||(h.value="empty"),l.set(u.id,h))}}),e.uniforms&&Object.keys(e.uniforms).forEach(u=>{const d=e.uniforms[u];if(d.value){const{value:h}=d;let p={name:u};if(u.includes("uTroika"))return;if(h.isTexture)a++,p.value=o3(u,h);else{let m=JSON.stringify(h);try{m=JSON.stringify(h)}catch{m=h.toString()}p.value=m}l.set(u,p)}}),a>0&&t(a),s(l)}},[]),q.jsx(c5,{children:r&&Array.from(r.values()).map(o=>q.jsx("span",{children:typeof o.value=="string"?q.jsx("li",{children:q.jsxs("span",{children:[o.name," :"," ",q.jsxs("b",{children:[o.value.substring(0,30),o.value.length>30?"...":""]})]})}):q.jsxs(q.Fragment,{children:[q.jsx("li",{children:q.jsxs("b",{children:[o.value.name,":"]})}),q.jsxs("div",{children:[Object.keys(o.value).map(a=>a!=="name"?q.jsx("div",{children:a==="url"?q.jsx("a",{href:o.value[a],target:"_blank",children:q.jsx("img",{src:o.value[a]})}):q.jsxs("li",{children:[a,": ",q.jsx("b",{children:o.value[a]})]})},a):null),q.jsxs(u5,{onClick:()=>{var a;console.info(e[o.value.name]||((a=e==null?void 0:e.uniforms[o.value.name])==null?void 0:a.value))},children:["console.info(",o.value.name,");"]})]})]})},o.name))})},QZ=({el:n})=>{Gr(i=>i.log);const e=Gr(i=>i.gl),t=i=>{if(!e)return 0;const r=Math.round(i.drawCounts.total/(e.info.render.triangles+e.info.render.lines+e.info.render.points)*100*10)/10;return isFinite(r)&&r||0};return q.jsx(q.Fragment,{children:n.drawCounts.total>0&&q.jsxs(mi,{style:{height:"auto",width:"auto",margin:"0 4px"},children:[n.drawCounts.type==="Triangle"?q.jsx(p5,{style:{top:"-1px"}}):q.jsx(f5,{style:{top:"-1px"}}),n.drawCounts.total,q.jsxs("small",{children:[n.drawCounts.type,"s"]}),e&&q.jsxs(Gi,{style:{bottom:"-10px",width:"40px",fontWeight:"bold"},children:[n.visible&&!n.material.wireframe?t(n):0,"%"]})]})})},eK=({el:n})=>{const[e,t]=R.useState(n.visible),[i,r]=R.useState(n.expand),[s,o]=R.useState(0),{meshes:a,program:l,material:u}=n;return q.jsxs(qq,{children:[q.jsxs(Gq,{onClick:()=>{n.expand=!i,Object.keys(a).forEach(d=>{const h=a[d];h.material.wireframe=!1}),r(!i)},children:[q.jsx(Xw,{style:{marginRight:"6px"},children:i?q.jsx("span",{children:q.jsx(d5,{})}):q.jsx("span",{children:q.jsx(h5,{})})}),l&&q.jsxs("span",{children:[q.jsx(Zq,{children:l.name}),q.jsxs(mi,{style:{height:"auto",width:"auto",margin:"0 4px"},children:[q.jsx(_Z,{style:{top:"-1px"}}),Object.keys(a).length,q.jsx("small",{children:Object.keys(a).length>1?"users":"user"})]}),s>0&&q.jsxs(mi,{style:{height:"auto",width:"auto",margin:"0 4px"},children:[s>1?q.jsx(U_,{style:{top:"-1px"}}):q.jsx(U_,{style:{top:"-1px"}}),s,q.jsx("small",{children:"tex"})]}),q.jsx(QZ,{el:n}),u.glslVersion==="300 es"&&q.jsxs(mi,{style:{height:"auto",width:"auto",margin:"0 4px"},children:[q.jsx(PZ,{style:{top:"-1px"}}),"300",q.jsx("small",{children:"es"}),q.jsx(Gi,{style:{bottom:"-10px",width:"40px"},children:"glsl"})]})]}),q.jsx(Yq,{onPointerEnter:()=>{Object.keys(a).forEach(d=>{const h=a[d];h.material.wireframe=!0})},onPointerLeave:()=>{Object.keys(a).forEach(d=>{const h=a[d];h.material.wireframe=!1})},onClick:d=>{d.stopPropagation(),Object.keys(a).forEach(h=>{const p=a[h],m=!e;p.visible=m,n.visible=m,t(m)})},children:e?q.jsx(mZ,{}):q.jsx(hZ,{})})]}),q.jsxs("div",{style:{maxHeight:i?"9999px":0,overflow:"hidden"},children:[q.jsxs(t3,{children:[q.jsx(sZ,{})," Uniforms:"]}),q.jsx(JZ,{program:l,material:u,setTexNumber:o}),q.jsxs(t3,{children:[q.jsx(aZ,{})," Geometries:"]}),q.jsx(c5,{children:a&&Object.keys(a).map(d=>a[d]&&a[d].geometry&&q.jsxs(eZ,{children:[q.jsxs("span",{children:[a[d].geometry.type,": "]}),a[d].userData&&a[d].userData.drawCount&&q.jsxs("b",{children:[q.jsxs("div",{children:[a[d].userData.drawCount.count,q.jsxs("small",{children:[" ",a[d].userData.drawCount.type,"s"]})]}),q.jsx("br",{}),q.jsxs("div",{children:[Math.round(KZ(a[d].geometry)/1024*1e3)/1e3,"Kb",q.jsx("small",{children:" memory used"})]})]})]},d))}),q.jsxs(u5,{onClick:()=>{console.info(u)},children:["console.info(",u.type,")"]})]})]})},tK=()=>{Gr(e=>e.triggerProgramsUpdate);const n=Gr(e=>e.programs);return q.jsx(Jq,{children:n&&Array.from(n.values()).map(e=>e&&e?q.jsx(eK,{el:e},e.material.uuid):null)})},vi=n=>({overClock:"#ff6eff",fps:n?"100, 143, 255":"238,38,110",cpu:n?"254, 254, 98":"66,226,46",gpu:n?"254,254,254":"253,151,31",custom:n?"86,180,233":"40,255,255"}),nK=({showGraph:n,colorBlind:e})=>{const t=Gr(r=>r.overclockingFps),i=Gr(r=>r.fpsLimit);return q.jsxs(Gi,{style:n?{color:t?vi(e).overClock.toString():`rgb(${vi(e).fps})`}:{},children:["FPS ",t?`${i}🚀`:""]})},iK=({showGraph:n,colorBlind:e,customData:t,minimal:i})=>{const r=Gr(s=>s.gl);return r?q.jsxs($q,{children:[q.jsxs(mi,{children:[q.jsx(wZ,{}),q.jsx(Gi,{style:n?{color:`rgb(${vi(e).gpu.toString()})`}:{},children:"GPU"}),q.jsx(My,{children:"ms"})]}),q.jsxs(mi,{children:[q.jsx(IZ,{}),q.jsx(Gi,{style:n?{color:`rgb(${vi(e).cpu.toString()})`}:{},children:"CPU"}),q.jsx(My,{children:"ms"})]}),q.jsxs(mi,{children:[q.jsx(yZ,{}),q.jsx(nK,{showGraph:n,colorBlind:e})]}),!i&&r&&q.jsxs(mi,{children:[q.jsx(DZ,{}),q.jsx(Gi,{children:r.info.render.calls===1?"call":"calls"})]}),!i&&r&&q.jsxs(mi,{children:[q.jsx(p5,{}),q.jsx(Gi,{children:"Triangles"})]}),t&&q.jsxs(mi,{children:[q.jsx(iZ,{}),q.jsx(Gi,{style:n?{color:`rgb(${vi(e).custom})`}:{},children:t.name}),t.info&&q.jsx(My,{children:t.info})]})]}):null},rK=({showGraph:n,colorBlind:e,deepAnalyze:t,customData:i,matrixUpdate:r,openByDefault:s,minimal:o})=>q.jsxs(q.Fragment,{children:[q.jsx(iK,{showGraph:n,colorBlind:e,customData:i,minimal:o}),!o&&q.jsx(oK,{matrixUpdate:r,openByDefault:s,deepAnalyze:t,showGraph:n})]}),sK=({matrixUpdate:n})=>q.jsxs("div",{children:[q.jsxs(mi,{children:[q.jsx(MZ,{}),q.jsx(Gi,{children:"Geometries"})]}),q.jsxs(mi,{children:[q.jsx(U_,{}),q.jsx(Gi,{children:"Textures"})]}),q.jsxs(mi,{children:[q.jsx(f5,{}),q.jsx(Gi,{children:"shaders"})]}),q.jsxs(mi,{children:[q.jsx(TZ,{}),q.jsx(Gi,{children:"Lines"})]}),q.jsxs(mi,{children:[q.jsx(cZ,{}),q.jsx(Gi,{children:"Points"})]}),n&&q.jsxs(mi,{children:[q.jsx(fZ,{}),q.jsx(Gi,{children:"Matrices"})]})]}),a3=({tab:n,title:e,set:t})=>{const i=Gr(r=>r.tab);return q.jsx(Xw,{className:`${i===n?" __perf_toggle_tab_active":""}`,onClick:()=>{t(!0),sr({tab:n})},children:q.jsx("span",{children:e})})},oK=({openByDefault:n,showGraph:e,deepAnalyze:t,matrixUpdate:i})=>{const[r,s]=G.useState(n);return q.jsxs("span",{children:[q.jsx(aK,{show:r,showGraph:e,matrixUpdate:i}),n&&!t?null:q.jsxs(Qq,{className:"__perf_toggle",children:[t&&q.jsx(a3,{tab:"programs",title:"Programs",set:s}),t&&q.jsx(a3,{tab:"infos",title:"Infos",set:s}),q.jsx(Xw,{onClick:()=>{s(!r)},children:r?q.jsxs("span",{children:[q.jsx(d5,{})," Minimize"]}):q.jsxs("span",{children:[q.jsx(h5,{})," More"]})})]})]})},aK=({show:n,showGraph:e,matrixUpdate:t})=>{const i=Gr(r=>r.tab);return q.jsxs(q.Fragment,{children:[q.jsx(sK,{matrixUpdate:t}),n&&q.jsx("div",{children:q.jsx(Kq,{style:{marginTop:e?"38px":0},children:i==="programs"&&q.jsx(tK,{})})})]})},lK=({showGraph:n=!0,colorBlind:e=!1,openByDefault:t=!0,className:i,overClock:r=!1,style:s,position:o="top-right",chart:a,logsPerSecond:l,deepAnalyze:u=!1,antialias:d=!0,customData:h,matrixUpdate:p,minimal:m})=>{const v=R.useRef(null);return q.jsxs(q.Fragment,{children:[q.jsx(Vq,{logsPerSecond:l,chart:a,overClock:r,deepAnalyze:u,matrixUpdate:p}),q.jsx(ZZ,{name:"r3f-perf",children:q.jsxs(Wq,{className:(i?" ".concat(i):" ")+` ${o||""} ${m?"minimal":""}`,style:{minHeight:m?"37px":n?"100px":"60px",...s},ref:v,children:[q.jsx(YZ,{perfContainerRef:v,colorBlind:e,chart:a,showGraph:n,antialias:d,customData:h,minimal:m,matrixUpdate:p}),q.jsx(rK,{colorBlind:e,showGraph:n,deepAnalyze:u,openByDefault:t,customData:h,matrixUpdate:p,minimal:m})]})})]})};function cK(){const n=i5("scene",{moonColor:"#ffffff"}),e=ww(SL,"moon1.jpg"),t=R.useRef();return I0(({clock:i})=>{const r=i.getElapsedTime();t.current.rotation.y=r*.5}),q.jsx("group",{children:q.jsxs("mesh",{ref:t,children:[q.jsx("sphereGeometry",{args:[1,64,64]}),q.jsx("meshStandardMaterial",{map:e,color:n.moonColor})]})})}by.createRoot(document.getElementById("root")).render(q.jsx(G.StrictMode,{children:q.jsx(uK,{})}));function uK(){return q.jsxs(q.Fragment,{children:[q.jsx(n5,{hidden:!m5(),collapsed:!0}),q.jsx(fK,{})]})}function fK(){const n=i5("world",{bgColor:"#000000",light:!0,ambientLightColor:"#ffffff",ambientLightIntensity:{value:.2,min:0,max:2,step:.1},directionalLightColor:"#ffffff",directionalLightIntensity:{value:1,min:0,max:2,step:.1},directionalLightPosition:{value:[-10,2,0]}});return q.jsxs(u4,{dpr:[1,2],children:[q.jsx("color",{attach:"background",args:[n.bgColor]}),q.jsx("ambientLight",{color:n.ambientLightColor,intensity:n.ambientLightIntensity}),q.jsx("directionalLight",{position:n.directionalLightPosition,color:n.directionalLightColor,intensity:n.directionalLightIntensity}),m5()&&q.jsx(lK,{position:"top-left"}),q.jsx(GZ,{}),q.jsx(cK,{})]})}function m5(){return window.location.search.includes("debug")}export{Ni as B,je as C,Cs as D,xo as F,PL as I,un as L,ZS as M,bu as P,mP as R,Ct as S,pn as T,LP as U,ve as V,KS as a,_i as b,Di as c,mu as d,Vt as e,Mt as f,Pn as g,At as h,Qe as i,Ta as j,ft as k,U as l}; diff --git a/sketch/20240310_instanced_animation/ao.png b/sketch/20240310_instanced_animation/ao.png new file mode 100644 index 0000000000000000000000000000000000000000..780f15426ee5afb447bfea2cc5a8b85918dddbee GIT binary patch literal 714937 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

BCn*0-u&jC% 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

K#+4YbO94`y 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

_6iAD5~gc2QApB^WITtt^-Q!|VRwSfCbj&}%a` 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

Zd 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