diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/examples/minecraft/assets/index-CvlmH1ln.js b/examples/minecraft/assets/index-CvlmH1ln.js new file mode 100644 index 00000000..8564d1c8 --- /dev/null +++ b/examples/minecraft/assets/index-CvlmH1ln.js @@ -0,0 +1,4194 @@ +var mY=Object.defineProperty;var YY=(g,A,I)=>A in g?mY(g,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):g[A]=I;var FI=(g,A,I)=>(YY(g,typeof A!="symbol"?A+"":A,I),I);(function(){const A=document.createElement("link").relList;if(A&&A.supports&&A.supports("modulepreload"))return;for(const B of document.querySelectorAll('link[rel="modulepreload"]'))C(B);new MutationObserver(B=>{for(const i of B)if(i.type==="childList")for(const Q of i.addedNodes)Q.tagName==="LINK"&&Q.rel==="modulepreload"&&C(Q)}).observe(document,{childList:!0,subtree:!0});function I(B){const i={};return B.integrity&&(i.integrity=B.integrity),B.referrerPolicy&&(i.referrerPolicy=B.referrerPolicy),B.crossOrigin==="use-credentials"?i.credentials="include":B.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function C(B){if(B.ep)return;B.ep=!0;const i=I(B);fetch(B.href,i)}})();function wD(g){return g&&g.__esModule&&Object.prototype.hasOwnProperty.call(g,"default")?g.default:g}var TF={exports:{}},GD={},xF={exports:{}},LI={};/** + * @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 aa=Symbol.for("react.element"),LY=Symbol.for("react.portal"),HY=Symbol.for("react.fragment"),TY=Symbol.for("react.strict_mode"),xY=Symbol.for("react.profiler"),vY=Symbol.for("react.provider"),bY=Symbol.for("react.context"),OY=Symbol.for("react.forward_ref"),_Y=Symbol.for("react.suspense"),PY=Symbol.for("react.memo"),ZY=Symbol.for("react.lazy"),b0=Symbol.iterator;function WY(g){return g===null||typeof g!="object"?null:(g=b0&&g[b0]||g["@@iterator"],typeof g=="function"?g:null)}var vF={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},bF=Object.assign,OF={};function Po(g,A,I){this.props=g,this.context=A,this.refs=OF,this.updater=I||vF}Po.prototype.isReactComponent={};Po.prototype.setState=function(g,A){if(typeof g!="object"&&typeof g!="function"&&g!=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,g,A,"setState")};Po.prototype.forceUpdate=function(g){this.updater.enqueueForceUpdate(this,g,"forceUpdate")};function _F(){}_F.prototype=Po.prototype;function Nu(g,A,I){this.props=g,this.context=A,this.refs=OF,this.updater=I||vF}var Fu=Nu.prototype=new _F;Fu.constructor=Nu;bF(Fu,Po.prototype);Fu.isPureReactComponent=!0;var O0=Array.isArray,PF=Object.prototype.hasOwnProperty,Ru={current:null},ZF={key:!0,ref:!0,__self:!0,__source:!0};function WF(g,A,I){var C,B={},i=null,Q=null;if(A!=null)for(C in A.ref!==void 0&&(Q=A.ref),A.key!==void 0&&(i=""+A.key),A)PF.call(A,C)&&!ZF.hasOwnProperty(C)&&(B[C]=A[C]);var e=arguments.length-2;if(e===1)B.children=I;else if(1>>1,pA=Y[QA];if(0>>1;QAB(yA,_))aAB(wA,yA)?(Y[QA]=wA,Y[aA]=_,QA=aA):(Y[QA]=yA,Y[CA]=_,QA=CA);else if(aAB(wA,_))Y[QA]=wA,Y[aA]=_,QA=aA;else break A}}return V}function B(Y,V){var _=Y.sortIndex-V.sortIndex;return _!==0?_:Y.id-V.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;g.unstable_now=function(){return i.now()}}else{var Q=Date,e=Q.now();g.unstable_now=function(){return Q.now()-e}}var t=[],E=[],s=1,a=null,r=3,l=!1,h=!1,w=!1,S=typeof setTimeout=="function"?setTimeout:null,c=typeof clearTimeout=="function"?clearTimeout:null,G=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function u(Y){for(var V=I(E);V!==null;){if(V.callback===null)C(E);else if(V.startTime<=Y)C(E),V.sortIndex=V.expirationTime,A(t,V);else break;V=I(E)}}function M(Y){if(w=!1,u(Y),!h)if(I(t)!==null)h=!0,rA(R);else{var V=I(E);V!==null&&kA(M,V.startTime-Y)}}function R(Y,V){h=!1,w&&(w=!1,c(q),q=-1),l=!0;var _=r;try{for(u(V),a=I(t);a!==null&&(!(a.expirationTime>V)||Y&&!L());){var QA=a.callback;if(typeof QA=="function"){a.callback=null,r=a.priorityLevel;var pA=QA(a.expirationTime<=V);V=g.unstable_now(),typeof pA=="function"?a.callback=pA:a===I(t)&&C(t),u(V)}else C(t);a=I(t)}if(a!==null)var OA=!0;else{var CA=I(E);CA!==null&&kA(M,CA.startTime-V),OA=!1}return OA}finally{a=null,r=_,l=!1}}var N=!1,F=null,q=-1,K=5,U=-1;function L(){return!(g.unstable_now()-UY||125QA?(Y.sortIndex=_,A(E,Y),I(t)===null&&Y===I(E)&&(w?(c(q),q=-1):w=!0,kA(M,_-QA))):(Y.sortIndex=pA,A(t,Y),h||l||(h=!0,rA(R))),Y},g.unstable_shouldYield=L,g.unstable_wrapCallback=function(Y){var V=r;return function(){var _=r;r=V;try{return Y.apply(this,arguments)}finally{r=_}}}})($F);zF.exports=$F;var iL=zF.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 QL=x,NB=iL;function NA(g){for(var A="https://reactjs.org/docs/error-decoder.html?invariant="+g,I=1;I"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),xG=Object.prototype.hasOwnProperty,eL=/^[: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]*$/,P0={},Z0={};function tL(g){return xG.call(Z0,g)?!0:xG.call(P0,g)?!1:eL.test(g)?Z0[g]=!0:(P0[g]=!0,!1)}function EL(g,A,I,C){if(I!==null&&I.type===0)return!1;switch(typeof A){case"function":case"symbol":return!0;case"boolean":return C?!1:I!==null?!I.acceptsBooleans:(g=g.toLowerCase().slice(0,5),g!=="data-"&&g!=="aria-");default:return!1}}function oL(g,A,I,C){if(A===null||typeof A>"u"||EL(g,A,I,C))return!0;if(C)return!1;if(I!==null)switch(I.type){case 3:return!A;case 4:return A===!1;case 5:return isNaN(A);case 6:return isNaN(A)||1>A}return!1}function IB(g,A,I,C,B,i,Q){this.acceptsBooleans=A===2||A===3||A===4,this.attributeName=C,this.attributeNamespace=B,this.mustUseProperty=I,this.propertyName=g,this.type=A,this.sanitizeURL=i,this.removeEmptyString=Q}var dC={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(g){dC[g]=new IB(g,0,!1,g,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(g){var A=g[0];dC[A]=new IB(A,1,!1,g[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(g){dC[g]=new IB(g,2,!1,g.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(g){dC[g]=new IB(g,2,!1,g,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(g){dC[g]=new IB(g,3,!1,g.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(g){dC[g]=new IB(g,3,!0,g,null,!1,!1)});["capture","download"].forEach(function(g){dC[g]=new IB(g,4,!1,g,null,!1,!1)});["cols","rows","size","span"].forEach(function(g){dC[g]=new IB(g,6,!1,g,null,!1,!1)});["rowSpan","start"].forEach(function(g){dC[g]=new IB(g,5,!1,g.toLowerCase(),null,!1,!1)});var Ju=/[\-:]([a-z])/g;function fu(g){return g[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(g){var A=g.replace(Ju,fu);dC[A]=new IB(A,1,!1,g,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(g){var A=g.replace(Ju,fu);dC[A]=new IB(A,1,!1,g,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(g){var A=g.replace(Ju,fu);dC[A]=new IB(A,1,!1,g,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(g){dC[g]=new IB(g,1,!1,g.toLowerCase(),null,!1,!1)});dC.xlinkHref=new IB("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(g){dC[g]=new IB(g,1,!1,g.toLowerCase(),null,!0,!0)});function qu(g,A,I,C){var B=dC.hasOwnProperty(A)?dC[A]:null;(B!==null?B.type!==0:C||!(2e||B[Q]!==i[e]){var t=` +`+B[Q].replace(" at new "," at ");return g.displayName&&t.includes("")&&(t=t.replace("",g.displayName)),t}while(1<=Q&&0<=e);break}}}finally{zS=!1,Error.prepareStackTrace=I}return(g=g?g.displayName||g.name:"")?gs(g):""}function nL(g){switch(g.tag){case 5:return gs(g.type);case 16:return gs("Lazy");case 13:return gs("Suspense");case 19:return gs("SuspenseList");case 0:case 2:case 15:return g=$S(g.type,!1),g;case 11:return g=$S(g.type.render,!1),g;case 1:return g=$S(g.type,!0),g;default:return""}}function _G(g){if(g==null)return null;if(typeof g=="function")return g.displayName||g.name||null;if(typeof g=="string")return g;switch(g){case go:return"Fragment";case Io:return"Portal";case vG:return"Profiler";case mu:return"StrictMode";case bG:return"Suspense";case OG:return"SuspenseList"}if(typeof g=="object")switch(g.$$typeof){case gR:return(g.displayName||"Context")+".Consumer";case IR:return(g._context.displayName||"Context")+".Provider";case Yu:var A=g.render;return g=g.displayName,g||(g=A.displayName||A.name||"",g=g!==""?"ForwardRef("+g+")":"ForwardRef"),g;case Lu:return A=g.displayName||null,A!==null?A:_G(g.type)||"Memo";case te:A=g._payload,g=g._init;try{return _G(g(A))}catch{}}return null}function sL(g){var A=g.type;switch(g.tag){case 24:return"Cache";case 9:return(A.displayName||"Context")+".Consumer";case 10:return(A._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return g=A.render,g=g.displayName||g.name||"",A.displayName||(g!==""?"ForwardRef("+g+")":"ForwardRef");case 7:return"Fragment";case 5:return A;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return _G(A);case 8:return A===mu?"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 A=="function")return A.displayName||A.name||null;if(typeof A=="string")return A}return null}function Fe(g){switch(typeof g){case"boolean":case"number":case"string":case"undefined":return g;case"object":return g;default:return""}}function BR(g){var A=g.type;return(g=g.nodeName)&&g.toLowerCase()==="input"&&(A==="checkbox"||A==="radio")}function aL(g){var A=BR(g)?"checked":"value",I=Object.getOwnPropertyDescriptor(g.constructor.prototype,A),C=""+g[A];if(!g.hasOwnProperty(A)&&typeof I<"u"&&typeof I.get=="function"&&typeof I.set=="function"){var B=I.get,i=I.set;return Object.defineProperty(g,A,{configurable:!0,get:function(){return B.call(this)},set:function(Q){C=""+Q,i.call(this,Q)}}),Object.defineProperty(g,A,{enumerable:I.enumerable}),{getValue:function(){return C},setValue:function(Q){C=""+Q},stopTracking:function(){g._valueTracker=null,delete g[A]}}}}function xr(g){g._valueTracker||(g._valueTracker=aL(g))}function iR(g){if(!g)return!1;var A=g._valueTracker;if(!A)return!0;var I=A.getValue(),C="";return g&&(C=BR(g)?g.checked?"true":"false":g.value),g=C,g!==I?(A.setValue(g),!0):!1}function pc(g){if(g=g||(typeof document<"u"?document:void 0),typeof g>"u")return null;try{return g.activeElement||g.body}catch{return g.body}}function PG(g,A){var I=A.checked;return dg({},A,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:I??g._wrapperState.initialChecked})}function V0(g,A){var I=A.defaultValue==null?"":A.defaultValue,C=A.checked!=null?A.checked:A.defaultChecked;I=Fe(A.value!=null?A.value:I),g._wrapperState={initialChecked:C,initialValue:I,controlled:A.type==="checkbox"||A.type==="radio"?A.checked!=null:A.value!=null}}function QR(g,A){A=A.checked,A!=null&&qu(g,"checked",A,!1)}function ZG(g,A){QR(g,A);var I=Fe(A.value),C=A.type;if(I!=null)C==="number"?(I===0&&g.value===""||g.value!=I)&&(g.value=""+I):g.value!==""+I&&(g.value=""+I);else if(C==="submit"||C==="reset"){g.removeAttribute("value");return}A.hasOwnProperty("value")?WG(g,A.type,I):A.hasOwnProperty("defaultValue")&&WG(g,A.type,Fe(A.defaultValue)),A.checked==null&&A.defaultChecked!=null&&(g.defaultChecked=!!A.defaultChecked)}function j0(g,A,I){if(A.hasOwnProperty("value")||A.hasOwnProperty("defaultValue")){var C=A.type;if(!(C!=="submit"&&C!=="reset"||A.value!==void 0&&A.value!==null))return;A=""+g._wrapperState.initialValue,I||A===g.value||(g.value=A),g.defaultValue=A}I=g.name,I!==""&&(g.name=""),g.defaultChecked=!!g._wrapperState.initialChecked,I!==""&&(g.name=I)}function WG(g,A,I){(A!=="number"||pc(g.ownerDocument)!==g)&&(I==null?g.defaultValue=""+g._wrapperState.initialValue:g.defaultValue!==""+I&&(g.defaultValue=""+I))}var Cs=Array.isArray;function Do(g,A,I,C){if(g=g.options,A){A={};for(var B=0;B"+A.valueOf().toString()+"",A=vr.firstChild;g.firstChild;)g.removeChild(g.firstChild);for(;A.firstChild;)g.appendChild(A.firstChild)}});function Ns(g,A){if(A){var I=g.firstChild;if(I&&I===g.lastChild&&I.nodeType===3){I.nodeValue=A;return}}g.textContent=A}var rs={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},rL=["Webkit","ms","Moz","O"];Object.keys(rs).forEach(function(g){rL.forEach(function(A){A=A+g.charAt(0).toUpperCase()+g.substring(1),rs[A]=rs[g]})});function oR(g,A,I){return A==null||typeof A=="boolean"||A===""?"":I||typeof A!="number"||A===0||rs.hasOwnProperty(g)&&rs[g]?(""+A).trim():A+"px"}function nR(g,A){g=g.style;for(var I in A)if(A.hasOwnProperty(I)){var C=I.indexOf("--")===0,B=oR(I,A[I],C);I==="float"&&(I="cssFloat"),C?g.setProperty(I,B):g[I]=B}}var lL=dg({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 XG(g,A){if(A){if(lL[g]&&(A.children!=null||A.dangerouslySetInnerHTML!=null))throw Error(NA(137,g));if(A.dangerouslySetInnerHTML!=null){if(A.children!=null)throw Error(NA(60));if(typeof A.dangerouslySetInnerHTML!="object"||!("__html"in A.dangerouslySetInnerHTML))throw Error(NA(61))}if(A.style!=null&&typeof A.style!="object")throw Error(NA(62))}}function zG(g,A){if(g.indexOf("-")===-1)return typeof A.is=="string";switch(g){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 $G=null;function Hu(g){return g=g.target||g.srcElement||window,g.correspondingUseElement&&(g=g.correspondingUseElement),g.nodeType===3?g.parentNode:g}var Ay=null,ho=null,So=null;function $0(g){if(g=ca(g)){if(typeof Ay!="function")throw Error(NA(280));var A=g.stateNode;A&&(A=dD(A),Ay(g.stateNode,g.type,A))}}function sR(g){ho?So?So.push(g):So=[g]:ho=g}function aR(){if(ho){var g=ho,A=So;if(So=ho=null,$0(g),A)for(g=0;g>>=0,g===0?32:31-(dL(g)/pL|0)|0}var br=64,Or=4194304;function Bs(g){switch(g&-g){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 g&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return g&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return g}}function Rc(g,A){var I=g.pendingLanes;if(I===0)return 0;var C=0,B=g.suspendedLanes,i=g.pingedLanes,Q=I&268435455;if(Q!==0){var e=Q&~B;e!==0?C=Bs(e):(i&=Q,i!==0&&(C=Bs(i)))}else Q=I&~B,Q!==0?C=Bs(Q):i!==0&&(C=Bs(i));if(C===0)return 0;if(A!==0&&A!==C&&!(A&B)&&(B=C&-C,i=A&-A,B>=i||B===16&&(i&4194240)!==0))return A;if(C&4&&(C|=I&16),A=g.entangledLanes,A!==0)for(g=g.entanglements,A&=C;0I;I++)A.push(g);return A}function ra(g,A,I){g.pendingLanes|=A,A!==536870912&&(g.suspendedLanes=0,g.pingedLanes=0),g=g.eventTimes,A=31-ki(A),g[A]=I}function RL(g,A){var I=g.pendingLanes&~A;g.pendingLanes=A,g.suspendedLanes=0,g.pingedLanes=0,g.expiredLanes&=A,g.mutableReadLanes&=A,g.entangledLanes&=A,A=g.entanglements;var C=g.eventTimes;for(g=g.expirationTimes;0=cs),tp=" ",Ep=!1;function JR(g,A){switch(g){case"keyup":return iH.indexOf(A.keyCode)!==-1;case"keydown":return A.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function fR(g){return g=g.detail,typeof g=="object"&&"data"in g?g.data:null}var Co=!1;function eH(g,A){switch(g){case"compositionend":return fR(A);case"keypress":return A.which!==32?null:(Ep=!0,tp);case"textInput":return g=A.data,g===tp&&Ep?null:g;default:return null}}function tH(g,A){if(Co)return g==="compositionend"||!Zu&&JR(g,A)?(g=RR(),tc=Ou=le=null,Co=!1,g):null;switch(g){case"paste":return null;case"keypress":if(!(A.ctrlKey||A.altKey||A.metaKey)||A.ctrlKey&&A.altKey){if(A.char&&1=A)return{node:I,offset:A-g};g=C}A:{for(;I;){if(I.nextSibling){I=I.nextSibling;break A}I=I.parentNode}I=void 0}I=ap(I)}}function LR(g,A){return g&&A?g===A?!0:g&&g.nodeType===3?!1:A&&A.nodeType===3?LR(g,A.parentNode):"contains"in g?g.contains(A):g.compareDocumentPosition?!!(g.compareDocumentPosition(A)&16):!1:!1}function HR(){for(var g=window,A=pc();A instanceof g.HTMLIFrameElement;){try{var I=typeof A.contentWindow.location.href=="string"}catch{I=!1}if(I)g=A.contentWindow;else break;A=pc(g.document)}return A}function Wu(g){var A=g&&g.nodeName&&g.nodeName.toLowerCase();return A&&(A==="input"&&(g.type==="text"||g.type==="search"||g.type==="tel"||g.type==="url"||g.type==="password")||A==="textarea"||g.contentEditable==="true")}function DH(g){var A=HR(),I=g.focusedElem,C=g.selectionRange;if(A!==I&&I&&I.ownerDocument&&LR(I.ownerDocument.documentElement,I)){if(C!==null&&Wu(I)){if(A=C.start,g=C.end,g===void 0&&(g=A),"selectionStart"in I)I.selectionStart=A,I.selectionEnd=Math.min(g,I.value.length);else if(g=(A=I.ownerDocument||document)&&A.defaultView||window,g.getSelection){g=g.getSelection();var B=I.textContent.length,i=Math.min(C.start,B);C=C.end===void 0?i:Math.min(C.end,B),!g.extend&&i>C&&(B=C,C=i,i=B),B=rp(I,i);var Q=rp(I,C);B&&Q&&(g.rangeCount!==1||g.anchorNode!==B.node||g.anchorOffset!==B.offset||g.focusNode!==Q.node||g.focusOffset!==Q.offset)&&(A=A.createRange(),A.setStart(B.node,B.offset),g.removeAllRanges(),i>C?(g.addRange(A),g.extend(Q.node,Q.offset)):(A.setEnd(Q.node,Q.offset),g.addRange(A)))}}for(A=[],g=I;g=g.parentNode;)g.nodeType===1&&A.push({element:g,left:g.scrollLeft,top:g.scrollTop});for(typeof I.focus=="function"&&I.focus(),I=0;I=document.documentMode,Bo=null,Qy=null,hs=null,ey=!1;function lp(g,A,I){var C=I.window===I?I.document:I.nodeType===9?I:I.ownerDocument;ey||Bo==null||Bo!==pc(C)||(C=Bo,"selectionStart"in C&&Wu(C)?C={start:C.selectionStart,end:C.selectionEnd}:(C=(C.ownerDocument&&C.ownerDocument.defaultView||window).getSelection(),C={anchorNode:C.anchorNode,anchorOffset:C.anchorOffset,focusNode:C.focusNode,focusOffset:C.focusOffset}),hs&&qs(hs,C)||(hs=C,C=fc(Qy,"onSelect"),0eo||(g.current=ay[eo],ay[eo]=null,eo--)}function Eg(g,A){eo++,ay[eo]=g.current,g.current=A}var Re={},xC=me(Re),nB=me(!1),qt=Re;function Ro(g,A){var I=g.type.contextTypes;if(!I)return Re;var C=g.stateNode;if(C&&C.__reactInternalMemoizedUnmaskedChildContext===A)return C.__reactInternalMemoizedMaskedChildContext;var B={},i;for(i in I)B[i]=A[i];return C&&(g=g.stateNode,g.__reactInternalMemoizedUnmaskedChildContext=A,g.__reactInternalMemoizedMaskedChildContext=B),B}function sB(g){return g=g.childContextTypes,g!=null}function mc(){sg(nB),sg(xC)}function yp(g,A,I){if(xC.current!==Re)throw Error(NA(168));Eg(xC,A),Eg(nB,I)}function WR(g,A,I){var C=g.stateNode;if(A=A.childContextTypes,typeof C.getChildContext!="function")return I;C=C.getChildContext();for(var B in C)if(!(B in A))throw Error(NA(108,sL(g)||"Unknown",B));return dg({},I,C)}function Yc(g){return g=(g=g.stateNode)&&g.__reactInternalMemoizedMergedChildContext||Re,qt=xC.current,Eg(xC,g),Eg(nB,nB.current),!0}function up(g,A,I){var C=g.stateNode;if(!C)throw Error(NA(169));I?(g=WR(g,A,qt),C.__reactInternalMemoizedMergedChildContext=g,sg(nB),sg(xC),Eg(xC,g)):sg(nB),Eg(nB,I)}var lQ=null,pD=!1,aw=!1;function VR(g){lQ===null?lQ=[g]:lQ.push(g)}function NH(g){pD=!0,VR(g)}function Ye(){if(!aw&&lQ!==null){aw=!0;var g=0,A=Ag;try{var I=lQ;for(Ag=1;g>=Q,B-=Q,hQ=1<<32-ki(A)+B|I<q?(K=F,F=null):K=F.sibling;var U=r(c,F,u[q],M);if(U===null){F===null&&(F=K);break}g&&F&&U.alternate===null&&A(c,F),G=i(U,G,q),N===null?R=U:N.sibling=U,N=U,F=K}if(q===u.length)return I(c,F),Dg&&rt(c,q),R;if(F===null){for(;qq?(K=F,F=null):K=F.sibling;var L=r(c,F,U.value,M);if(L===null){F===null&&(F=K);break}g&&F&&L.alternate===null&&A(c,F),G=i(L,G,q),N===null?R=L:N.sibling=L,N=L,F=K}if(U.done)return I(c,F),Dg&&rt(c,q),R;if(F===null){for(;!U.done;q++,U=u.next())U=a(c,U.value,M),U!==null&&(G=i(U,G,q),N===null?R=U:N.sibling=U,N=U);return Dg&&rt(c,q),R}for(F=C(c,F);!U.done;q++,U=u.next())U=l(F,c,q,U.value,M),U!==null&&(g&&U.alternate!==null&&F.delete(U.key===null?q:U.key),G=i(U,G,q),N===null?R=U:N.sibling=U,N=U);return g&&F.forEach(function(O){return A(c,O)}),Dg&&rt(c,q),R}function S(c,G,u,M){if(typeof u=="object"&&u!==null&&u.type===go&&u.key===null&&(u=u.props.children),typeof u=="object"&&u!==null){switch(u.$$typeof){case Tr:A:{for(var R=u.key,N=G;N!==null;){if(N.key===R){if(R=u.type,R===go){if(N.tag===7){I(c,N.sibling),G=B(N,u.props.children),G.return=c,c=G;break A}}else if(N.elementType===R||typeof R=="object"&&R!==null&&R.$$typeof===te&&dp(R)===N.type){I(c,N.sibling),G=B(N,u.props),G.ref=Kn(c,N,u),G.return=c,c=G;break A}I(c,N);break}else A(c,N);N=N.sibling}u.type===go?(G=Nt(u.props.children,c.mode,M,u.key),G.return=c,c=G):(M=cc(u.type,u.key,u.props,null,c.mode,M),M.ref=Kn(c,G,u),M.return=c,c=M)}return Q(c);case Io:A:{for(N=u.key;G!==null;){if(G.key===N)if(G.tag===4&&G.stateNode.containerInfo===u.containerInfo&&G.stateNode.implementation===u.implementation){I(c,G.sibling),G=B(G,u.children||[]),G.return=c,c=G;break A}else{I(c,G);break}else A(c,G);G=G.sibling}G=Gw(u,c.mode,M),G.return=c,c=G}return Q(c);case te:return N=u._init,S(c,G,N(u._payload),M)}if(Cs(u))return h(c,G,u,M);if(pn(u))return w(c,G,u,M);Xr(c,u)}return typeof u=="string"&&u!==""||typeof u=="number"?(u=""+u,G!==null&&G.tag===6?(I(c,G.sibling),G=B(G,u),G.return=c,c=G):(I(c,G),G=ww(u,c.mode,M),G.return=c,c=G),Q(c)):I(c,G)}return S}var Jo=$R(!0),AK=$R(!1),Tc=me(null),xc=null,oo=null,zu=null;function $u(){zu=oo=xc=null}function Ak(g){var A=Tc.current;sg(Tc),g._currentValue=A}function cy(g,A,I){for(;g!==null;){var C=g.alternate;if((g.childLanes&A)!==A?(g.childLanes|=A,C!==null&&(C.childLanes|=A)):C!==null&&(C.childLanes&A)!==A&&(C.childLanes|=A),g===I)break;g=g.return}}function Go(g,A){xc=g,zu=oo=null,g=g.dependencies,g!==null&&g.firstContext!==null&&(g.lanes&A&&(eB=!0),g.firstContext=null)}function gi(g){var A=g._currentValue;if(zu!==g)if(g={context:g,memoizedValue:A,next:null},oo===null){if(xc===null)throw Error(NA(308));oo=g,xc.dependencies={lanes:0,firstContext:g}}else oo=oo.next=g;return A}var wt=null;function Ik(g){wt===null?wt=[g]:wt.push(g)}function IK(g,A,I,C){var B=A.interleaved;return B===null?(I.next=I,Ik(A)):(I.next=B.next,B.next=I),A.interleaved=I,pQ(g,C)}function pQ(g,A){g.lanes|=A;var I=g.alternate;for(I!==null&&(I.lanes|=A),I=g,g=g.return;g!==null;)g.childLanes|=A,I=g.alternate,I!==null&&(I.childLanes|=A),I=g,g=g.return;return I.tag===3?I.stateNode:null}var Ee=!1;function gk(g){g.updateQueue={baseState:g.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function gK(g,A){g=g.updateQueue,A.updateQueue===g&&(A.updateQueue={baseState:g.baseState,firstBaseUpdate:g.firstBaseUpdate,lastBaseUpdate:g.lastBaseUpdate,shared:g.shared,effects:g.effects})}function yQ(g,A){return{eventTime:g,lane:A,tag:0,payload:null,callback:null,next:null}}function ue(g,A,I){var C=g.updateQueue;if(C===null)return null;if(C=C.shared,xI&2){var B=C.pending;return B===null?A.next=A:(A.next=B.next,B.next=A),C.pending=A,pQ(g,I)}return B=C.interleaved,B===null?(A.next=A,Ik(C)):(A.next=B.next,B.next=A),C.interleaved=A,pQ(g,I)}function oc(g,A,I){if(A=A.updateQueue,A!==null&&(A=A.shared,(I&4194240)!==0)){var C=A.lanes;C&=g.pendingLanes,I|=C,A.lanes=I,xu(g,I)}}function pp(g,A){var I=g.updateQueue,C=g.alternate;if(C!==null&&(C=C.updateQueue,I===C)){var B=null,i=null;if(I=I.firstBaseUpdate,I!==null){do{var Q={eventTime:I.eventTime,lane:I.lane,tag:I.tag,payload:I.payload,callback:I.callback,next:null};i===null?B=i=Q:i=i.next=Q,I=I.next}while(I!==null);i===null?B=i=A:i=i.next=A}else B=i=A;I={baseState:C.baseState,firstBaseUpdate:B,lastBaseUpdate:i,shared:C.shared,effects:C.effects},g.updateQueue=I;return}g=I.lastBaseUpdate,g===null?I.firstBaseUpdate=A:g.next=A,I.lastBaseUpdate=A}function vc(g,A,I,C){var B=g.updateQueue;Ee=!1;var i=B.firstBaseUpdate,Q=B.lastBaseUpdate,e=B.shared.pending;if(e!==null){B.shared.pending=null;var t=e,E=t.next;t.next=null,Q===null?i=E:Q.next=E,Q=t;var s=g.alternate;s!==null&&(s=s.updateQueue,e=s.lastBaseUpdate,e!==Q&&(e===null?s.firstBaseUpdate=E:e.next=E,s.lastBaseUpdate=t))}if(i!==null){var a=B.baseState;Q=0,s=E=t=null,e=i;do{var r=e.lane,l=e.eventTime;if((C&r)===r){s!==null&&(s=s.next={eventTime:l,lane:0,tag:e.tag,payload:e.payload,callback:e.callback,next:null});A:{var h=g,w=e;switch(r=A,l=I,w.tag){case 1:if(h=w.payload,typeof h=="function"){a=h.call(l,a,r);break A}a=h;break A;case 3:h.flags=h.flags&-65537|128;case 0:if(h=w.payload,r=typeof h=="function"?h.call(l,a,r):h,r==null)break A;a=dg({},a,r);break A;case 2:Ee=!0}}e.callback!==null&&e.lane!==0&&(g.flags|=64,r=B.effects,r===null?B.effects=[e]:r.push(e))}else l={eventTime:l,lane:r,tag:e.tag,payload:e.payload,callback:e.callback,next:null},s===null?(E=s=l,t=a):s=s.next=l,Q|=r;if(e=e.next,e===null){if(e=B.shared.pending,e===null)break;r=e,e=r.next,r.next=null,B.lastBaseUpdate=r,B.shared.pending=null}}while(!0);if(s===null&&(t=a),B.baseState=t,B.firstBaseUpdate=E,B.lastBaseUpdate=s,A=B.shared.interleaved,A!==null){B=A;do Q|=B.lane,B=B.next;while(B!==A)}else i===null&&(B.shared.lanes=0);Lt|=Q,g.lanes=Q,g.memoizedState=a}}function Up(g,A,I){if(g=A.effects,A.effects=null,g!==null)for(A=0;AI?I:4,g(!0);var C=lw.transition;lw.transition={};try{g(!1),A()}finally{Ag=I,lw.transition=C}}function SK(){return Ci().memoizedState}function JH(g,A,I){var C=Me(g);if(I={lane:C,action:I,hasEagerState:!1,eagerState:null,next:null},wK(g))GK(A,I);else if(I=IK(g,A,I,C),I!==null){var B=zC();Mi(I,g,C,B),yK(I,A,C)}}function fH(g,A,I){var C=Me(g),B={lane:C,action:I,hasEagerState:!1,eagerState:null,next:null};if(wK(g))GK(A,B);else{var i=g.alternate;if(g.lanes===0&&(i===null||i.lanes===0)&&(i=A.lastRenderedReducer,i!==null))try{var Q=A.lastRenderedState,e=i(Q,I);if(B.hasEagerState=!0,B.eagerState=e,di(e,Q)){var t=A.interleaved;t===null?(B.next=B,Ik(A)):(B.next=t.next,t.next=B),A.interleaved=B;return}}catch{}finally{}I=IK(g,A,B,C),I!==null&&(B=zC(),Mi(I,g,C,B),yK(I,A,C))}}function wK(g){var A=g.alternate;return g===Mg||A!==null&&A===Mg}function GK(g,A){Ss=Oc=!0;var I=g.pending;I===null?A.next=A:(A.next=I.next,I.next=A),g.pending=A}function yK(g,A,I){if(I&4194240){var C=A.lanes;C&=g.pendingLanes,I|=C,A.lanes=I,xu(g,I)}}var _c={readContext:gi,useCallback:fC,useContext:fC,useEffect:fC,useImperativeHandle:fC,useInsertionEffect:fC,useLayoutEffect:fC,useMemo:fC,useReducer:fC,useRef:fC,useState:fC,useDebugValue:fC,useDeferredValue:fC,useTransition:fC,useMutableSource:fC,useSyncExternalStore:fC,useId:fC,unstable_isNewReconciler:!1},qH={readContext:gi,useCallback:function(g,A){return Hi().memoizedState=[g,A===void 0?null:A],g},useContext:gi,useEffect:Fp,useImperativeHandle:function(g,A,I){return I=I!=null?I.concat([g]):null,sc(4194308,4,rK.bind(null,A,g),I)},useLayoutEffect:function(g,A){return sc(4194308,4,g,A)},useInsertionEffect:function(g,A){return sc(4,2,g,A)},useMemo:function(g,A){var I=Hi();return A=A===void 0?null:A,g=g(),I.memoizedState=[g,A],g},useReducer:function(g,A,I){var C=Hi();return A=I!==void 0?I(A):A,C.memoizedState=C.baseState=A,g={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:g,lastRenderedState:A},C.queue=g,g=g.dispatch=JH.bind(null,Mg,g),[C.memoizedState,g]},useRef:function(g){var A=Hi();return g={current:g},A.memoizedState=g},useState:Np,useDebugValue:ok,useDeferredValue:function(g){return Hi().memoizedState=g},useTransition:function(){var g=Np(!1),A=g[0];return g=KH.bind(null,g[1]),Hi().memoizedState=g,[A,g]},useMutableSource:function(){},useSyncExternalStore:function(g,A,I){var C=Mg,B=Hi();if(Dg){if(I===void 0)throw Error(NA(407));I=I()}else{if(I=A(),sC===null)throw Error(NA(349));Yt&30||QK(C,A,I)}B.memoizedState=I;var i={value:I,getSnapshot:A};return B.queue=i,Fp(tK.bind(null,C,i,g),[g]),C.flags|=2048,bs(9,eK.bind(null,C,i,I,A),void 0,null),I},useId:function(){var g=Hi(),A=sC.identifierPrefix;if(Dg){var I=SQ,C=hQ;I=(C&~(1<<32-ki(C)-1)).toString(32)+I,A=":"+A+"R"+I,I=xs++,0<\/script>",g=g.removeChild(g.firstChild)):typeof C.is=="string"?g=Q.createElement(I,{is:C.is}):(g=Q.createElement(I),I==="select"&&(Q=g,C.multiple?Q.multiple=!0:C.size&&(Q.size=C.size))):g=Q.createElementNS(g,I),g[vi]=A,g[Ls]=C,KK(g,A,!1,!1),A.stateNode=g;A:{switch(Q=zG(I,C),I){case"dialog":og("cancel",g),og("close",g),B=C;break;case"iframe":case"object":case"embed":og("load",g),B=C;break;case"video":case"audio":for(B=0;Bmo&&(A.flags|=128,C=!0,Jn(i,!1),A.lanes=4194304)}else{if(!C)if(g=bc(Q),g!==null){if(A.flags|=128,C=!0,I=g.updateQueue,I!==null&&(A.updateQueue=I,A.flags|=4),Jn(i,!0),i.tail===null&&i.tailMode==="hidden"&&!Q.alternate&&!Dg)return qC(A),null}else 2*Yg()-i.renderingStartTime>mo&&I!==1073741824&&(A.flags|=128,C=!0,Jn(i,!1),A.lanes=4194304);i.isBackwards?(Q.sibling=A.child,A.child=Q):(I=i.last,I!==null?I.sibling=Q:A.child=Q,i.last=Q)}return i.tail!==null?(A=i.tail,i.rendering=A,i.tail=A.sibling,i.renderingStartTime=Yg(),A.sibling=null,I=ug.current,Eg(ug,C?I&1|2:I&1),A):(qC(A),null);case 22:case 23:return ck(),C=A.memoizedState!==null,g!==null&&g.memoizedState!==null!==C&&(A.flags|=8192),C&&A.mode&1?uB&1073741824&&(qC(A),A.subtreeFlags&6&&(A.flags|=8192)):qC(A),null;case 24:return null;case 25:return null}throw Error(NA(156,A.tag))}function bH(g,A){switch(ju(A),A.tag){case 1:return sB(A.type)&&mc(),g=A.flags,g&65536?(A.flags=g&-65537|128,A):null;case 3:return fo(),sg(nB),sg(xC),ik(),g=A.flags,g&65536&&!(g&128)?(A.flags=g&-65537|128,A):null;case 5:return Bk(A),null;case 13:if(sg(ug),g=A.memoizedState,g!==null&&g.dehydrated!==null){if(A.alternate===null)throw Error(NA(340));Ko()}return g=A.flags,g&65536?(A.flags=g&-65537|128,A):null;case 19:return sg(ug),null;case 4:return fo(),null;case 10:return Ak(A.type._context),null;case 22:case 23:return ck(),null;case 24:return null;default:return null}}var $r=!1,HC=!1,OH=typeof WeakSet=="function"?WeakSet:Set,PA=null;function no(g,A){var I=g.ref;if(I!==null)if(typeof I=="function")try{I(null)}catch(C){Kg(g,A,C)}else I.current=null}function My(g,A,I){try{I()}catch(C){Kg(g,A,C)}}var xp=!1;function _H(g,A){if(ty=Kc,g=HR(),Wu(g)){if("selectionStart"in g)var I={start:g.selectionStart,end:g.selectionEnd};else A:{I=(I=g.ownerDocument)&&I.defaultView||window;var C=I.getSelection&&I.getSelection();if(C&&C.rangeCount!==0){I=C.anchorNode;var B=C.anchorOffset,i=C.focusNode;C=C.focusOffset;try{I.nodeType,i.nodeType}catch{I=null;break A}var Q=0,e=-1,t=-1,E=0,s=0,a=g,r=null;I:for(;;){for(var l;a!==I||B!==0&&a.nodeType!==3||(e=Q+B),a!==i||C!==0&&a.nodeType!==3||(t=Q+C),a.nodeType===3&&(Q+=a.nodeValue.length),(l=a.firstChild)!==null;)r=a,a=l;for(;;){if(a===g)break I;if(r===I&&++E===B&&(e=Q),r===i&&++s===C&&(t=Q),(l=a.nextSibling)!==null)break;a=r,r=a.parentNode}a=l}I=e===-1||t===-1?null:{start:e,end:t}}else I=null}I=I||{start:0,end:0}}else I=null;for(Ey={focusedElem:g,selectionRange:I},Kc=!1,PA=A;PA!==null;)if(A=PA,g=A.child,(A.subtreeFlags&1028)!==0&&g!==null)g.return=A,PA=g;else for(;PA!==null;){A=PA;try{var h=A.alternate;if(A.flags&1024)switch(A.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var w=h.memoizedProps,S=h.memoizedState,c=A.stateNode,G=c.getSnapshotBeforeUpdate(A.elementType===A.type?w:ci(A.type,w),S);c.__reactInternalSnapshotBeforeUpdate=G}break;case 3:var u=A.stateNode.containerInfo;u.nodeType===1?u.textContent="":u.nodeType===9&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(NA(163))}}catch(M){Kg(A,A.return,M)}if(g=A.sibling,g!==null){g.return=A.return,PA=g;break}PA=A.return}return h=xp,xp=!1,h}function ws(g,A,I){var C=A.updateQueue;if(C=C!==null?C.lastEffect:null,C!==null){var B=C=C.next;do{if((B.tag&g)===g){var i=B.destroy;B.destroy=void 0,i!==void 0&&My(A,I,i)}B=B.next}while(B!==C)}}function FD(g,A){if(A=A.updateQueue,A=A!==null?A.lastEffect:null,A!==null){var I=A=A.next;do{if((I.tag&g)===g){var C=I.create;I.destroy=C()}I=I.next}while(I!==A)}}function dy(g){var A=g.ref;if(A!==null){var I=g.stateNode;switch(g.tag){case 5:g=I;break;default:g=I}typeof A=="function"?A(g):A.current=g}}function qK(g){var A=g.alternate;A!==null&&(g.alternate=null,qK(A)),g.child=null,g.deletions=null,g.sibling=null,g.tag===5&&(A=g.stateNode,A!==null&&(delete A[vi],delete A[Ls],delete A[sy],delete A[pH],delete A[UH])),g.stateNode=null,g.return=null,g.dependencies=null,g.memoizedProps=null,g.memoizedState=null,g.pendingProps=null,g.stateNode=null,g.updateQueue=null}function mK(g){return g.tag===5||g.tag===3||g.tag===4}function vp(g){A:for(;;){for(;g.sibling===null;){if(g.return===null||mK(g.return))return null;g=g.return}for(g.sibling.return=g.return,g=g.sibling;g.tag!==5&&g.tag!==6&&g.tag!==18;){if(g.flags&2||g.child===null||g.tag===4)continue A;g.child.return=g,g=g.child}if(!(g.flags&2))return g.stateNode}}function py(g,A,I){var C=g.tag;if(C===5||C===6)g=g.stateNode,A?I.nodeType===8?I.parentNode.insertBefore(g,A):I.insertBefore(g,A):(I.nodeType===8?(A=I.parentNode,A.insertBefore(g,I)):(A=I,A.appendChild(g)),I=I._reactRootContainer,I!=null||A.onclick!==null||(A.onclick=qc));else if(C!==4&&(g=g.child,g!==null))for(py(g,A,I),g=g.sibling;g!==null;)py(g,A,I),g=g.sibling}function Uy(g,A,I){var C=g.tag;if(C===5||C===6)g=g.stateNode,A?I.insertBefore(g,A):I.appendChild(g);else if(C!==4&&(g=g.child,g!==null))for(Uy(g,A,I),g=g.sibling;g!==null;)Uy(g,A,I),g=g.sibling}var wC=null,hi=!1;function jQ(g,A,I){for(I=I.child;I!==null;)YK(g,A,I),I=I.sibling}function YK(g,A,I){if(Oi&&typeof Oi.onCommitFiberUnmount=="function")try{Oi.onCommitFiberUnmount(yD,I)}catch{}switch(I.tag){case 5:HC||no(I,A);case 6:var C=wC,B=hi;wC=null,jQ(g,A,I),wC=C,hi=B,wC!==null&&(hi?(g=wC,I=I.stateNode,g.nodeType===8?g.parentNode.removeChild(I):g.removeChild(I)):wC.removeChild(I.stateNode));break;case 18:wC!==null&&(hi?(g=wC,I=I.stateNode,g.nodeType===8?sw(g.parentNode,I):g.nodeType===1&&sw(g,I),Js(g)):sw(wC,I.stateNode));break;case 4:C=wC,B=hi,wC=I.stateNode.containerInfo,hi=!0,jQ(g,A,I),wC=C,hi=B;break;case 0:case 11:case 14:case 15:if(!HC&&(C=I.updateQueue,C!==null&&(C=C.lastEffect,C!==null))){B=C=C.next;do{var i=B,Q=i.destroy;i=i.tag,Q!==void 0&&(i&2||i&4)&&My(I,A,Q),B=B.next}while(B!==C)}jQ(g,A,I);break;case 1:if(!HC&&(no(I,A),C=I.stateNode,typeof C.componentWillUnmount=="function"))try{C.props=I.memoizedProps,C.state=I.memoizedState,C.componentWillUnmount()}catch(e){Kg(I,A,e)}jQ(g,A,I);break;case 21:jQ(g,A,I);break;case 22:I.mode&1?(HC=(C=HC)||I.memoizedState!==null,jQ(g,A,I),HC=C):jQ(g,A,I);break;default:jQ(g,A,I)}}function bp(g){var A=g.updateQueue;if(A!==null){g.updateQueue=null;var I=g.stateNode;I===null&&(I=g.stateNode=new OH),A.forEach(function(C){var B=AT.bind(null,g,C);I.has(C)||(I.add(C),C.then(B,B))})}}function si(g,A){var I=A.deletions;if(I!==null)for(var C=0;CB&&(B=Q),C&=~i}if(C=B,C=Yg()-C,C=(120>C?120:480>C?480:1080>C?1080:1920>C?1920:3e3>C?3e3:4320>C?4320:1960*ZH(C/1960))-C,10g?16:g,ce===null)var C=!1;else{if(g=ce,ce=null,Wc=0,xI&6)throw Error(NA(331));var B=xI;for(xI|=4,PA=g.current;PA!==null;){var i=PA,Q=i.child;if(PA.flags&16){var e=i.deletions;if(e!==null){for(var t=0;tYg()-rk?Ut(g,0):ak|=I),aB(g,A)}function _K(g,A){A===0&&(g.mode&1?(A=Or,Or<<=1,!(Or&130023424)&&(Or=4194304)):A=1);var I=zC();g=pQ(g,A),g!==null&&(ra(g,A,I),aB(g,I))}function $H(g){var A=g.memoizedState,I=0;A!==null&&(I=A.retryLane),_K(g,I)}function AT(g,A){var I=0;switch(g.tag){case 13:var C=g.stateNode,B=g.memoizedState;B!==null&&(I=B.retryLane);break;case 19:C=g.stateNode;break;default:throw Error(NA(314))}C!==null&&C.delete(A),_K(g,I)}var PK;PK=function(g,A,I){if(g!==null)if(g.memoizedProps!==A.pendingProps||nB.current)eB=!0;else{if(!(g.lanes&I)&&!(A.flags&128))return eB=!1,xH(g,A,I);eB=!!(g.flags&131072)}else eB=!1,Dg&&A.flags&1048576&&jR(A,Hc,A.index);switch(A.lanes=0,A.tag){case 2:var C=A.type;ac(g,A),g=A.pendingProps;var B=Ro(A,xC.current);Go(A,I),B=ek(null,A,C,g,B,I);var i=tk();return A.flags|=1,typeof B=="object"&&B!==null&&typeof B.render=="function"&&B.$$typeof===void 0?(A.tag=1,A.memoizedState=null,A.updateQueue=null,sB(C)?(i=!0,Yc(A)):i=!1,A.memoizedState=B.state!==null&&B.state!==void 0?B.state:null,gk(A),B.updater=ND,A.stateNode=B,B._reactInternals=A,hy(A,C,g,I),A=Gy(null,A,C,!0,i,I)):(A.tag=0,Dg&&i&&Vu(A),VC(null,A,B,I),A=A.child),A;case 16:C=A.elementType;A:{switch(ac(g,A),g=A.pendingProps,B=C._init,C=B(C._payload),A.type=C,B=A.tag=gT(C),g=ci(C,g),B){case 0:A=wy(null,A,C,g,I);break A;case 1:A=Lp(null,A,C,g,I);break A;case 11:A=mp(null,A,C,g,I);break A;case 14:A=Yp(null,A,C,ci(C.type,g),I);break A}throw Error(NA(306,C,""))}return A;case 0:return C=A.type,B=A.pendingProps,B=A.elementType===C?B:ci(C,B),wy(g,A,C,B,I);case 1:return C=A.type,B=A.pendingProps,B=A.elementType===C?B:ci(C,B),Lp(g,A,C,B,I);case 3:A:{if(NK(A),g===null)throw Error(NA(387));C=A.pendingProps,i=A.memoizedState,B=i.element,gK(g,A),vc(A,C,null,I);var Q=A.memoizedState;if(C=Q.element,i.isDehydrated)if(i={element:C,isDehydrated:!1,cache:Q.cache,pendingSuspenseBoundaries:Q.pendingSuspenseBoundaries,transitions:Q.transitions},A.updateQueue.baseState=i,A.memoizedState=i,A.flags&256){B=qo(Error(NA(423)),A),A=Hp(g,A,C,I,B);break A}else if(C!==B){B=qo(Error(NA(424)),A),A=Hp(g,A,C,I,B);break A}else for(MB=ye(A.stateNode.containerInfo.firstChild),dB=A,Dg=!0,wi=null,I=AK(A,null,C,I),A.child=I;I;)I.flags=I.flags&-3|4096,I=I.sibling;else{if(Ko(),C===B){A=UQ(g,A,I);break A}VC(g,A,C,I)}A=A.child}return A;case 5:return CK(A),g===null&&ly(A),C=A.type,B=A.pendingProps,i=g!==null?g.memoizedProps:null,Q=B.children,oy(C,B)?Q=null:i!==null&&oy(C,i)&&(A.flags|=32),UK(g,A),VC(g,A,Q,I),A.child;case 6:return g===null&&ly(A),null;case 13:return FK(g,A,I);case 4:return Ck(A,A.stateNode.containerInfo),C=A.pendingProps,g===null?A.child=Jo(A,null,C,I):VC(g,A,C,I),A.child;case 11:return C=A.type,B=A.pendingProps,B=A.elementType===C?B:ci(C,B),mp(g,A,C,B,I);case 7:return VC(g,A,A.pendingProps,I),A.child;case 8:return VC(g,A,A.pendingProps.children,I),A.child;case 12:return VC(g,A,A.pendingProps.children,I),A.child;case 10:A:{if(C=A.type._context,B=A.pendingProps,i=A.memoizedProps,Q=B.value,Eg(Tc,C._currentValue),C._currentValue=Q,i!==null)if(di(i.value,Q)){if(i.children===B.children&&!nB.current){A=UQ(g,A,I);break A}}else for(i=A.child,i!==null&&(i.return=A);i!==null;){var e=i.dependencies;if(e!==null){Q=i.child;for(var t=e.firstContext;t!==null;){if(t.context===C){if(i.tag===1){t=yQ(-1,I&-I),t.tag=2;var E=i.updateQueue;if(E!==null){E=E.shared;var s=E.pending;s===null?t.next=t:(t.next=s.next,s.next=t),E.pending=t}}i.lanes|=I,t=i.alternate,t!==null&&(t.lanes|=I),cy(i.return,I,A),e.lanes|=I;break}t=t.next}}else if(i.tag===10)Q=i.type===A.type?null:i.child;else if(i.tag===18){if(Q=i.return,Q===null)throw Error(NA(341));Q.lanes|=I,e=Q.alternate,e!==null&&(e.lanes|=I),cy(Q,I,A),Q=i.sibling}else Q=i.child;if(Q!==null)Q.return=i;else for(Q=i;Q!==null;){if(Q===A){Q=null;break}if(i=Q.sibling,i!==null){i.return=Q.return,Q=i;break}Q=Q.return}i=Q}VC(g,A,B.children,I),A=A.child}return A;case 9:return B=A.type,C=A.pendingProps.children,Go(A,I),B=gi(B),C=C(B),A.flags|=1,VC(g,A,C,I),A.child;case 14:return C=A.type,B=ci(C,A.pendingProps),B=ci(C.type,B),Yp(g,A,C,B,I);case 15:return dK(g,A,A.type,A.pendingProps,I);case 17:return C=A.type,B=A.pendingProps,B=A.elementType===C?B:ci(C,B),ac(g,A),A.tag=1,sB(C)?(g=!0,Yc(A)):g=!1,Go(A,I),uK(A,C,B),hy(A,C,B,I),Gy(null,A,C,!0,g,I);case 19:return RK(g,A,I);case 22:return pK(g,A,I)}throw Error(NA(156,A.tag))};function ZK(g,A){return wR(g,A)}function IT(g,A,I,C){this.tag=g,this.key=I,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=A,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=C,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function zB(g,A,I,C){return new IT(g,A,I,C)}function hk(g){return g=g.prototype,!(!g||!g.isReactComponent)}function gT(g){if(typeof g=="function")return hk(g)?1:0;if(g!=null){if(g=g.$$typeof,g===Yu)return 11;if(g===Lu)return 14}return 2}function de(g,A){var I=g.alternate;return I===null?(I=zB(g.tag,A,g.key,g.mode),I.elementType=g.elementType,I.type=g.type,I.stateNode=g.stateNode,I.alternate=g,g.alternate=I):(I.pendingProps=A,I.type=g.type,I.flags=0,I.subtreeFlags=0,I.deletions=null),I.flags=g.flags&14680064,I.childLanes=g.childLanes,I.lanes=g.lanes,I.child=g.child,I.memoizedProps=g.memoizedProps,I.memoizedState=g.memoizedState,I.updateQueue=g.updateQueue,A=g.dependencies,I.dependencies=A===null?null:{lanes:A.lanes,firstContext:A.firstContext},I.sibling=g.sibling,I.index=g.index,I.ref=g.ref,I}function cc(g,A,I,C,B,i){var Q=2;if(C=g,typeof g=="function")hk(g)&&(Q=1);else if(typeof g=="string")Q=5;else A:switch(g){case go:return Nt(I.children,B,i,A);case mu:Q=8,B|=8;break;case vG:return g=zB(12,I,A,B|2),g.elementType=vG,g.lanes=i,g;case bG:return g=zB(13,I,A,B),g.elementType=bG,g.lanes=i,g;case OG:return g=zB(19,I,A,B),g.elementType=OG,g.lanes=i,g;case CR:return KD(I,B,i,A);default:if(typeof g=="object"&&g!==null)switch(g.$$typeof){case IR:Q=10;break A;case gR:Q=9;break A;case Yu:Q=11;break A;case Lu:Q=14;break A;case te:Q=16,C=null;break A}throw Error(NA(130,g==null?g:typeof g,""))}return A=zB(Q,I,A,B),A.elementType=g,A.type=C,A.lanes=i,A}function Nt(g,A,I,C){return g=zB(7,g,C,A),g.lanes=I,g}function KD(g,A,I,C){return g=zB(22,g,C,A),g.elementType=CR,g.lanes=I,g.stateNode={isHidden:!1},g}function ww(g,A,I){return g=zB(6,g,null,A),g.lanes=I,g}function Gw(g,A,I){return A=zB(4,g.children!==null?g.children:[],g.key,A),A.lanes=I,A.stateNode={containerInfo:g.containerInfo,pendingChildren:null,implementation:g.implementation},A}function CT(g,A,I,C,B){this.tag=A,this.containerInfo=g,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Iw(0),this.expirationTimes=Iw(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Iw(0),this.identifierPrefix=C,this.onRecoverableError=B,this.mutableSourceEagerHydrationData=null}function Sk(g,A,I,C,B,i,Q,e,t){return g=new CT(g,A,I,e,t),A===1?(A=1,i===!0&&(A|=8)):A=0,i=zB(3,null,null,A),g.current=i,i.stateNode=g,i.memoizedState={element:C,isDehydrated:I,cache:null,transitions:null,pendingSuspenseBoundaries:null},gk(i),g}function BT(g,A,I){var C=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(XK)}catch(g){console.error(g)}}XK(),XF.exports=RB;var ET=XF.exports,zK,Xp=ET;zK=Xp.createRoot,Xp.hydrateRoot;/** + * @license + * Copyright 2010-2024 Three.js Authors + * SPDX-License-Identifier: MIT + */const Vo="164",oT={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},nT={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},$K=0,Jy=1,AJ=2,sT=3,IJ=0,YD=1,us=2,Di=3,pi=0,TC=1,XB=2,uQ=0,Ft=1,fy=2,qy=3,my=4,gJ=5,ae=100,CJ=101,BJ=102,iJ=103,QJ=104,eJ=200,tJ=201,EJ=202,oJ=203,Xc=204,zc=205,nJ=206,sJ=207,aJ=208,rJ=209,lJ=210,cJ=211,DJ=212,hJ=213,SJ=214,wJ=0,GJ=1,yJ=2,_s=3,uJ=4,kJ=5,MJ=6,dJ=7,ha=0,pJ=1,UJ=2,Pi=0,NJ=1,FJ=2,RJ=3,uk=4,KJ=5,JJ=6,fJ=7,Yy="attached",qJ="detached",LD=300,NQ=301,Ke=302,Ps=303,Zs=304,jo=306,Bi=1e3,tB=1001,Tt=1002,Zg=1003,Sa=1004,aT=1004,De=1005,rT=1005,hg=1006,Rt=1007,lT=1007,EB=1008,cT=1008,Wi=1009,mJ=1010,YJ=1011,kk=1012,Mk=1013,xt=1014,$B=1015,wa=1016,dk=1017,pk=1018,Xo=1020,LJ=35902,HJ=1021,TJ=1022,oB=1023,xJ=1024,vJ=1025,Kt=1026,Yo=1027,Uk=1028,Nk=1029,bJ=1030,Fk=1031,Rk=1033,Dc=33776,hc=33777,Sc=33778,wc=33779,Ly=35840,Hy=35841,Ty=35842,xy=35843,vy=36196,by=37492,Oy=37496,_y=37808,Py=37809,Zy=37810,Wy=37811,Vy=37812,jy=37813,Xy=37814,zy=37815,$y=37816,Au=37817,Iu=37818,gu=37819,Cu=37820,Bu=37821,Gc=36492,iu=36494,Qu=36495,OJ=36283,eu=36284,tu=36285,Eu=36286,_J=2200,PJ=2201,ZJ=2202,vt=2300,FQ=2301,yc=2302,yt=2400,ut=2401,Ws=2402,HD=2500,Kk=2501,Jk=0,Ga=1,bt=2,WJ=3200,VJ=3201,Le=0,jJ=1,cQ="",GC="srgb",rC="srgb-linear",TD="display-p3",ya="display-p3-linear",Vs="linear",eg="srgb",js="rec709",Xs="p3",DT=0,ct=7680,hT=7681,ST=7682,wT=7683,GT=34055,yT=34056,uT=5386,kT=512,MT=513,dT=514,pT=515,UT=516,NT=517,FT=518,ou=519,XJ=512,zJ=513,$J=514,fk=515,Af=516,If=517,gf=518,Cf=519,zs=35044,Bf=35048,RT=35040,KT=35045,JT=35049,fT=35041,qT=35046,mT=35050,YT=35042,LT="100",nu="300 es",bi=2e3,$s=2001;class Xi{addEventListener(A,I){this._listeners===void 0&&(this._listeners={});const C=this._listeners;C[A]===void 0&&(C[A]=[]),C[A].indexOf(I)===-1&&C[A].push(I)}hasEventListener(A,I){if(this._listeners===void 0)return!1;const C=this._listeners;return C[A]!==void 0&&C[A].indexOf(I)!==-1}removeEventListener(A,I){if(this._listeners===void 0)return;const B=this._listeners[A];if(B!==void 0){const i=B.indexOf(I);i!==-1&&B.splice(i,1)}}dispatchEvent(A){if(this._listeners===void 0)return;const C=this._listeners[A.type];if(C!==void 0){A.target=this;const B=C.slice(0);for(let i=0,Q=B.length;i>8&255]+mC[g>>16&255]+mC[g>>24&255]+"-"+mC[A&255]+mC[A>>8&255]+"-"+mC[A>>16&15|64]+mC[A>>24&255]+"-"+mC[I&63|128]+mC[I>>8&255]+"-"+mC[I>>16&255]+mC[I>>24&255]+mC[C&255]+mC[C>>8&255]+mC[C>>16&255]+mC[C>>24&255]).toLowerCase()}function Jg(g,A,I){return Math.max(A,Math.min(I,g))}function qk(g,A){return(g%A+A)%A}function HT(g,A,I,C,B){return C+(g-A)*(B-C)/(I-A)}function TT(g,A,I){return g!==A?(I-g)/(A-g):0}function ks(g,A,I){return(1-I)*g+I*A}function xT(g,A,I,C){return ks(g,A,1-Math.exp(-I*C))}function vT(g,A=1){return A-Math.abs(qk(g,A*2)-A)}function bT(g,A,I){return g<=A?0:g>=I?1:(g=(g-A)/(I-A),g*g*(3-2*g))}function OT(g,A,I){return g<=A?0:g>=I?1:(g=(g-A)/(I-A),g*g*g*(g*(g*6-15)+10))}function _T(g,A){return g+Math.floor(Math.random()*(A-g+1))}function PT(g,A){return g+Math.random()*(A-g)}function ZT(g){return g*(.5-Math.random())}function WT(g){g!==void 0&&(zp=g);let A=zp+=1831565813;return A=Math.imul(A^A>>>15,A|1),A^=A+Math.imul(A^A>>>7,A|61),((A^A>>>14)>>>0)/4294967296}function VT(g){return g*Jt}function jT(g){return g*Lo}function XT(g){return(g&g-1)===0&&g!==0}function zT(g){return Math.pow(2,Math.ceil(Math.log(g)/Math.LN2))}function $T(g){return Math.pow(2,Math.floor(Math.log(g)/Math.LN2))}function Ax(g,A,I,C,B){const i=Math.cos,Q=Math.sin,e=i(I/2),t=Q(I/2),E=i((A+C)/2),s=Q((A+C)/2),a=i((A-C)/2),r=Q((A-C)/2),l=i((C-A)/2),h=Q((C-A)/2);switch(B){case"XYX":g.set(e*s,t*a,t*r,e*E);break;case"YZY":g.set(t*r,e*s,t*a,e*E);break;case"ZXZ":g.set(t*a,t*r,e*s,e*E);break;case"XZX":g.set(e*s,t*h,t*l,e*E);break;case"YXY":g.set(t*l,e*s,t*h,e*E);break;case"ZYZ":g.set(t*h,t*l,e*s,e*E);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+B)}}function XC(g,A){switch(A.constructor){case Float32Array:return g;case Uint32Array:return g/4294967295;case Uint16Array:return g/65535;case Uint8Array:return g/255;case Int32Array:return Math.max(g/2147483647,-1);case Int16Array:return Math.max(g/32767,-1);case Int8Array:return Math.max(g/127,-1);default:throw new Error("Invalid component type.")}}function dI(g,A){switch(A.constructor){case Float32Array:return g;case Uint32Array:return Math.round(g*4294967295);case Uint16Array:return Math.round(g*65535);case Uint8Array:return Math.round(g*255);case Int32Array:return Math.round(g*2147483647);case Int16Array:return Math.round(g*32767);case Int8Array:return Math.round(g*127);default:throw new Error("Invalid component type.")}}const ua={DEG2RAD:Jt,RAD2DEG:Lo,generateUUID:pB,clamp:Jg,euclideanModulo:qk,mapLinear:HT,inverseLerp:TT,lerp:ks,damp:xT,pingpong:vT,smoothstep:bT,smootherstep:OT,randInt:_T,randFloat:PT,randFloatSpread:ZT,seededRandom:WT,degToRad:VT,radToDeg:jT,isPowerOfTwo:XT,ceilPowerOfTwo:zT,floorPowerOfTwo:$T,setQuaternionFromProperEuler:Ax,normalize:dI,denormalize:XC};class cA{constructor(A=0,I=0){cA.prototype.isVector2=!0,this.x=A,this.y=I}get width(){return this.x}set width(A){this.x=A}get height(){return this.y}set height(A){this.y=A}set(A,I){return this.x=A,this.y=I,this}setScalar(A){return this.x=A,this.y=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setComponent(A,I){switch(A){case 0:this.x=I;break;case 1:this.y=I;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y)}copy(A){return this.x=A.x,this.y=A.y,this}add(A){return this.x+=A.x,this.y+=A.y,this}addScalar(A){return this.x+=A,this.y+=A,this}addVectors(A,I){return this.x=A.x+I.x,this.y=A.y+I.y,this}addScaledVector(A,I){return this.x+=A.x*I,this.y+=A.y*I,this}sub(A){return this.x-=A.x,this.y-=A.y,this}subScalar(A){return this.x-=A,this.y-=A,this}subVectors(A,I){return this.x=A.x-I.x,this.y=A.y-I.y,this}multiply(A){return this.x*=A.x,this.y*=A.y,this}multiplyScalar(A){return this.x*=A,this.y*=A,this}divide(A){return this.x/=A.x,this.y/=A.y,this}divideScalar(A){return this.multiplyScalar(1/A)}applyMatrix3(A){const I=this.x,C=this.y,B=A.elements;return this.x=B[0]*I+B[3]*C+B[6],this.y=B[1]*I+B[4]*C+B[7],this}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this}clamp(A,I){return this.x=Math.max(A.x,Math.min(I.x,this.x)),this.y=Math.max(A.y,Math.min(I.y,this.y)),this}clampScalar(A,I){return this.x=Math.max(A,Math.min(I,this.x)),this.y=Math.max(A,Math.min(I,this.y)),this}clampLength(A,I){const C=this.length();return this.divideScalar(C||1).multiplyScalar(Math.max(A,Math.min(I,C)))}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(A){return this.x*A.x+this.y*A.y}cross(A){return this.x*A.y-this.y*A.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(A){const I=Math.sqrt(this.lengthSq()*A.lengthSq());if(I===0)return Math.PI/2;const C=this.dot(A)/I;return Math.acos(Jg(C,-1,1))}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const I=this.x-A.x,C=this.y-A.y;return I*I+C*C}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)}setLength(A){return this.normalize().multiplyScalar(A)}lerp(A,I){return this.x+=(A.x-this.x)*I,this.y+=(A.y-this.y)*I,this}lerpVectors(A,I,C){return this.x=A.x+(I.x-A.x)*C,this.y=A.y+(I.y-A.y)*C,this}equals(A){return A.x===this.x&&A.y===this.y}fromArray(A,I=0){return this.x=A[I],this.y=A[I+1],this}toArray(A=[],I=0){return A[I]=this.x,A[I+1]=this.y,A}fromBufferAttribute(A,I){return this.x=A.getX(I),this.y=A.getY(I),this}rotateAround(A,I){const C=Math.cos(I),B=Math.sin(I),i=this.x-A.x,Q=this.y-A.y;return this.x=i*C-Q*B+A.x,this.y=i*B+Q*C+A.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class MI{constructor(A,I,C,B,i,Q,e,t,E){MI.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],A!==void 0&&this.set(A,I,C,B,i,Q,e,t,E)}set(A,I,C,B,i,Q,e,t,E){const s=this.elements;return s[0]=A,s[1]=B,s[2]=e,s[3]=I,s[4]=i,s[5]=t,s[6]=C,s[7]=Q,s[8]=E,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(A){const I=this.elements,C=A.elements;return I[0]=C[0],I[1]=C[1],I[2]=C[2],I[3]=C[3],I[4]=C[4],I[5]=C[5],I[6]=C[6],I[7]=C[7],I[8]=C[8],this}extractBasis(A,I,C){return A.setFromMatrix3Column(this,0),I.setFromMatrix3Column(this,1),C.setFromMatrix3Column(this,2),this}setFromMatrix4(A){const I=A.elements;return this.set(I[0],I[4],I[8],I[1],I[5],I[9],I[2],I[6],I[10]),this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,I){const C=A.elements,B=I.elements,i=this.elements,Q=C[0],e=C[3],t=C[6],E=C[1],s=C[4],a=C[7],r=C[2],l=C[5],h=C[8],w=B[0],S=B[3],c=B[6],G=B[1],u=B[4],M=B[7],R=B[2],N=B[5],F=B[8];return i[0]=Q*w+e*G+t*R,i[3]=Q*S+e*u+t*N,i[6]=Q*c+e*M+t*F,i[1]=E*w+s*G+a*R,i[4]=E*S+s*u+a*N,i[7]=E*c+s*M+a*F,i[2]=r*w+l*G+h*R,i[5]=r*S+l*u+h*N,i[8]=r*c+l*M+h*F,this}multiplyScalar(A){const I=this.elements;return I[0]*=A,I[3]*=A,I[6]*=A,I[1]*=A,I[4]*=A,I[7]*=A,I[2]*=A,I[5]*=A,I[8]*=A,this}determinant(){const A=this.elements,I=A[0],C=A[1],B=A[2],i=A[3],Q=A[4],e=A[5],t=A[6],E=A[7],s=A[8];return I*Q*s-I*e*E-C*i*s+C*e*t+B*i*E-B*Q*t}invert(){const A=this.elements,I=A[0],C=A[1],B=A[2],i=A[3],Q=A[4],e=A[5],t=A[6],E=A[7],s=A[8],a=s*Q-e*E,r=e*t-s*i,l=E*i-Q*t,h=I*a+C*r+B*l;if(h===0)return this.set(0,0,0,0,0,0,0,0,0);const w=1/h;return A[0]=a*w,A[1]=(B*E-s*C)*w,A[2]=(e*C-B*Q)*w,A[3]=r*w,A[4]=(s*I-B*t)*w,A[5]=(B*i-e*I)*w,A[6]=l*w,A[7]=(C*t-E*I)*w,A[8]=(Q*I-C*i)*w,this}transpose(){let A;const I=this.elements;return A=I[1],I[1]=I[3],I[3]=A,A=I[2],I[2]=I[6],I[6]=A,A=I[5],I[5]=I[7],I[7]=A,this}getNormalMatrix(A){return this.setFromMatrix4(A).invert().transpose()}transposeIntoArray(A){const I=this.elements;return A[0]=I[0],A[1]=I[3],A[2]=I[6],A[3]=I[1],A[4]=I[4],A[5]=I[7],A[6]=I[2],A[7]=I[5],A[8]=I[8],this}setUvTransform(A,I,C,B,i,Q,e){const t=Math.cos(i),E=Math.sin(i);return this.set(C*t,C*E,-C*(t*Q+E*e)+Q+A,-B*E,B*t,-B*(-E*Q+t*e)+e+I,0,0,1),this}scale(A,I){return this.premultiply(yw.makeScale(A,I)),this}rotate(A){return this.premultiply(yw.makeRotation(-A)),this}translate(A,I){return this.premultiply(yw.makeTranslation(A,I)),this}makeTranslation(A,I){return A.isVector2?this.set(1,0,A.x,0,1,A.y,0,0,1):this.set(1,0,A,0,1,I,0,0,1),this}makeRotation(A){const I=Math.cos(A),C=Math.sin(A);return this.set(I,-C,0,C,I,0,0,0,1),this}makeScale(A,I){return this.set(A,0,0,0,I,0,0,0,1),this}equals(A){const I=this.elements,C=A.elements;for(let B=0;B<9;B++)if(I[B]!==C[B])return!1;return!0}fromArray(A,I=0){for(let C=0;C<9;C++)this.elements[C]=A[C+I];return this}toArray(A=[],I=0){const C=this.elements;return A[I]=C[0],A[I+1]=C[1],A[I+2]=C[2],A[I+3]=C[3],A[I+4]=C[4],A[I+5]=C[5],A[I+6]=C[6],A[I+7]=C[7],A[I+8]=C[8],A}clone(){return new this.constructor().fromArray(this.elements)}}const yw=new MI;function Qf(g){for(let A=g.length-1;A>=0;--A)if(g[A]>=65535)return!0;return!1}const Ix={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function ao(g,A){return new Ix[g](A)}function Aa(g){return document.createElementNS("http://www.w3.org/1999/xhtml",g)}function ef(){const g=Aa("canvas");return g.style.display="block",g}const $p={};function tf(g){g in $p||($p[g]=!0,console.warn(g))}const AU=new MI().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),IU=new MI().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),gl={[rC]:{transfer:Vs,primaries:js,toReference:g=>g,fromReference:g=>g},[GC]:{transfer:eg,primaries:js,toReference:g=>g.convertSRGBToLinear(),fromReference:g=>g.convertLinearToSRGB()},[ya]:{transfer:Vs,primaries:Xs,toReference:g=>g.applyMatrix3(IU),fromReference:g=>g.applyMatrix3(AU)},[TD]:{transfer:eg,primaries:Xs,toReference:g=>g.convertSRGBToLinear().applyMatrix3(IU),fromReference:g=>g.applyMatrix3(AU).convertLinearToSRGB()}},gx=new Set([rC,ya]),VI={enabled:!0,_workingColorSpace:rC,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(g){if(!gx.has(g))throw new Error(`Unsupported working color space, "${g}".`);this._workingColorSpace=g},convert:function(g,A,I){if(this.enabled===!1||A===I||!A||!I)return g;const C=gl[A].toReference,B=gl[I].fromReference;return B(C(g))},fromWorkingColorSpace:function(g,A){return this.convert(g,this._workingColorSpace,A)},toWorkingColorSpace:function(g,A){return this.convert(g,A,this._workingColorSpace)},getPrimaries:function(g){return gl[g].primaries},getTransfer:function(g){return g===cQ?Vs:gl[g].transfer}};function uo(g){return g<.04045?g*.0773993808:Math.pow(g*.9478672986+.0521327014,2.4)}function uw(g){return g<.0031308?g*12.92:1.055*Math.pow(g,.41666)-.055}let ME;class Ef{static getDataURL(A){if(/^data:/i.test(A.src)||typeof HTMLCanvasElement>"u")return A.src;let I;if(A instanceof HTMLCanvasElement)I=A;else{ME===void 0&&(ME=Aa("canvas")),ME.width=A.width,ME.height=A.height;const C=ME.getContext("2d");A instanceof ImageData?C.putImageData(A,0,0):C.drawImage(A,0,0,A.width,A.height),I=ME}return I.width>2048||I.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",A),I.toDataURL("image/jpeg",.6)):I.toDataURL("image/png")}static sRGBToLinear(A){if(typeof HTMLImageElement<"u"&&A instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&A instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&A instanceof ImageBitmap){const I=Aa("canvas");I.width=A.width,I.height=A.height;const C=I.getContext("2d");C.drawImage(A,0,0,A.width,A.height);const B=C.getImageData(0,0,A.width,A.height),i=B.data;for(let Q=0;Q0&&(C.userData=this.userData),I||(A.textures[this.uuid]=C),C}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(A){if(this.mapping!==LD)return A;if(A.applyMatrix3(this.matrix),A.x<0||A.x>1)switch(this.wrapS){case Bi:A.x=A.x-Math.floor(A.x);break;case tB:A.x=A.x<0?0:1;break;case Tt:Math.abs(Math.floor(A.x)%2)===1?A.x=Math.ceil(A.x)-A.x:A.x=A.x-Math.floor(A.x);break}if(A.y<0||A.y>1)switch(this.wrapT){case Bi:A.y=A.y-Math.floor(A.y);break;case tB:A.y=A.y<0?0:1;break;case Tt:Math.abs(Math.floor(A.y)%2)===1?A.y=Math.ceil(A.y)-A.y:A.y=A.y-Math.floor(A.y);break}return this.flipY&&(A.y=1-A.y),A}set needsUpdate(A){A===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(A){A===!0&&this.pmremVersion++}}Ig.DEFAULT_IMAGE=null;Ig.DEFAULT_MAPPING=LD;Ig.DEFAULT_ANISOTROPY=1;class $I{constructor(A=0,I=0,C=0,B=1){$I.prototype.isVector4=!0,this.x=A,this.y=I,this.z=C,this.w=B}get width(){return this.z}set width(A){this.z=A}get height(){return this.w}set height(A){this.w=A}set(A,I,C,B){return this.x=A,this.y=I,this.z=C,this.w=B,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this.w=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setW(A){return this.w=A,this}setComponent(A,I){switch(A){case 0:this.x=I;break;case 1:this.y=I;break;case 2:this.z=I;break;case 3:this.w=I;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){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: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this.w=A.w!==void 0?A.w:1,this}add(A){return this.x+=A.x,this.y+=A.y,this.z+=A.z,this.w+=A.w,this}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this.w+=A,this}addVectors(A,I){return this.x=A.x+I.x,this.y=A.y+I.y,this.z=A.z+I.z,this.w=A.w+I.w,this}addScaledVector(A,I){return this.x+=A.x*I,this.y+=A.y*I,this.z+=A.z*I,this.w+=A.w*I,this}sub(A){return this.x-=A.x,this.y-=A.y,this.z-=A.z,this.w-=A.w,this}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this.w-=A,this}subVectors(A,I){return this.x=A.x-I.x,this.y=A.y-I.y,this.z=A.z-I.z,this.w=A.w-I.w,this}multiply(A){return this.x*=A.x,this.y*=A.y,this.z*=A.z,this.w*=A.w,this}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this.w*=A,this}applyMatrix4(A){const I=this.x,C=this.y,B=this.z,i=this.w,Q=A.elements;return this.x=Q[0]*I+Q[4]*C+Q[8]*B+Q[12]*i,this.y=Q[1]*I+Q[5]*C+Q[9]*B+Q[13]*i,this.z=Q[2]*I+Q[6]*C+Q[10]*B+Q[14]*i,this.w=Q[3]*I+Q[7]*C+Q[11]*B+Q[15]*i,this}divideScalar(A){return this.multiplyScalar(1/A)}setAxisAngleFromQuaternion(A){this.w=2*Math.acos(A.w);const I=Math.sqrt(1-A.w*A.w);return I<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=A.x/I,this.y=A.y/I,this.z=A.z/I),this}setAxisAngleFromRotationMatrix(A){let I,C,B,i;const t=A.elements,E=t[0],s=t[4],a=t[8],r=t[1],l=t[5],h=t[9],w=t[2],S=t[6],c=t[10];if(Math.abs(s-r)<.01&&Math.abs(a-w)<.01&&Math.abs(h-S)<.01){if(Math.abs(s+r)<.1&&Math.abs(a+w)<.1&&Math.abs(h+S)<.1&&Math.abs(E+l+c-3)<.1)return this.set(1,0,0,0),this;I=Math.PI;const u=(E+1)/2,M=(l+1)/2,R=(c+1)/2,N=(s+r)/4,F=(a+w)/4,q=(h+S)/4;return u>M&&u>R?u<.01?(C=0,B=.707106781,i=.707106781):(C=Math.sqrt(u),B=N/C,i=F/C):M>R?M<.01?(C=.707106781,B=0,i=.707106781):(B=Math.sqrt(M),C=N/B,i=q/B):R<.01?(C=.707106781,B=.707106781,i=0):(i=Math.sqrt(R),C=F/i,B=q/i),this.set(C,B,i,I),this}let G=Math.sqrt((S-h)*(S-h)+(a-w)*(a-w)+(r-s)*(r-s));return Math.abs(G)<.001&&(G=1),this.x=(S-h)/G,this.y=(a-w)/G,this.z=(r-s)/G,this.w=Math.acos((E+l+c-1)/2),this}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this.z=Math.min(this.z,A.z),this.w=Math.min(this.w,A.w),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this.z=Math.max(this.z,A.z),this.w=Math.max(this.w,A.w),this}clamp(A,I){return this.x=Math.max(A.x,Math.min(I.x,this.x)),this.y=Math.max(A.y,Math.min(I.y,this.y)),this.z=Math.max(A.z,Math.min(I.z,this.z)),this.w=Math.max(A.w,Math.min(I.w,this.w)),this}clampScalar(A,I){return this.x=Math.max(A,Math.min(I,this.x)),this.y=Math.max(A,Math.min(I,this.y)),this.z=Math.max(A,Math.min(I,this.z)),this.w=Math.max(A,Math.min(I,this.w)),this}clampLength(A,I){const C=this.length();return this.divideScalar(C||1).multiplyScalar(Math.max(A,Math.min(I,C)))}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(A){return this.x*A.x+this.y*A.y+this.z*A.z+this.w*A.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(A){return this.normalize().multiplyScalar(A)}lerp(A,I){return this.x+=(A.x-this.x)*I,this.y+=(A.y-this.y)*I,this.z+=(A.z-this.z)*I,this.w+=(A.w-this.w)*I,this}lerpVectors(A,I,C){return this.x=A.x+(I.x-A.x)*C,this.y=A.y+(I.y-A.y)*C,this.z=A.z+(I.z-A.z)*C,this.w=A.w+(I.w-A.w)*C,this}equals(A){return A.x===this.x&&A.y===this.y&&A.z===this.z&&A.w===this.w}fromArray(A,I=0){return this.x=A[I],this.y=A[I+1],this.z=A[I+2],this.w=A[I+3],this}toArray(A=[],I=0){return A[I]=this.x,A[I+1]=this.y,A[I+2]=this.z,A[I+3]=this.w,A}fromBufferAttribute(A,I){return this.x=A.getX(I),this.y=A.getY(I),this.z=A.getZ(I),this.w=A.getW(I),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 of extends Xi{constructor(A=1,I=1,C={}){super(),this.isRenderTarget=!0,this.width=A,this.height=I,this.depth=1,this.scissor=new $I(0,0,A,I),this.scissorTest=!1,this.viewport=new $I(0,0,A,I);const B={width:A,height:I,depth:1};C=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:hg,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1},C);const i=new Ig(B,C.mapping,C.wrapS,C.wrapT,C.magFilter,C.minFilter,C.format,C.type,C.anisotropy,C.colorSpace);i.flipY=!1,i.generateMipmaps=C.generateMipmaps,i.internalFormat=C.internalFormat,this.textures=[];const Q=C.count;for(let e=0;e=0?1:-1,u=1-c*c;if(u>Number.EPSILON){const R=Math.sqrt(u),N=Math.atan2(R,c*G);S=Math.sin(S*N)/R,e=Math.sin(e*N)/R}const M=e*G;if(t=t*S+r*M,E=E*S+l*M,s=s*S+h*M,a=a*S+w*M,S===1-e){const R=1/Math.sqrt(t*t+E*E+s*s+a*a);t*=R,E*=R,s*=R,a*=R}}A[I]=t,A[I+1]=E,A[I+2]=s,A[I+3]=a}static multiplyQuaternionsFlat(A,I,C,B,i,Q){const e=C[B],t=C[B+1],E=C[B+2],s=C[B+3],a=i[Q],r=i[Q+1],l=i[Q+2],h=i[Q+3];return A[I]=e*h+s*a+t*l-E*r,A[I+1]=t*h+s*r+E*a-e*l,A[I+2]=E*h+s*l+e*r-t*a,A[I+3]=s*h-e*a-t*r-E*l,A}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get w(){return this._w}set w(A){this._w=A,this._onChangeCallback()}set(A,I,C,B){return this._x=A,this._y=I,this._z=C,this._w=B,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(A){return this._x=A.x,this._y=A.y,this._z=A.z,this._w=A.w,this._onChangeCallback(),this}setFromEuler(A,I=!0){const C=A._x,B=A._y,i=A._z,Q=A._order,e=Math.cos,t=Math.sin,E=e(C/2),s=e(B/2),a=e(i/2),r=t(C/2),l=t(B/2),h=t(i/2);switch(Q){case"XYZ":this._x=r*s*a+E*l*h,this._y=E*l*a-r*s*h,this._z=E*s*h+r*l*a,this._w=E*s*a-r*l*h;break;case"YXZ":this._x=r*s*a+E*l*h,this._y=E*l*a-r*s*h,this._z=E*s*h-r*l*a,this._w=E*s*a+r*l*h;break;case"ZXY":this._x=r*s*a-E*l*h,this._y=E*l*a+r*s*h,this._z=E*s*h+r*l*a,this._w=E*s*a-r*l*h;break;case"ZYX":this._x=r*s*a-E*l*h,this._y=E*l*a+r*s*h,this._z=E*s*h-r*l*a,this._w=E*s*a+r*l*h;break;case"YZX":this._x=r*s*a+E*l*h,this._y=E*l*a+r*s*h,this._z=E*s*h-r*l*a,this._w=E*s*a-r*l*h;break;case"XZY":this._x=r*s*a-E*l*h,this._y=E*l*a-r*s*h,this._z=E*s*h+r*l*a,this._w=E*s*a+r*l*h;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+Q)}return I===!0&&this._onChangeCallback(),this}setFromAxisAngle(A,I){const C=I/2,B=Math.sin(C);return this._x=A.x*B,this._y=A.y*B,this._z=A.z*B,this._w=Math.cos(C),this._onChangeCallback(),this}setFromRotationMatrix(A){const I=A.elements,C=I[0],B=I[4],i=I[8],Q=I[1],e=I[5],t=I[9],E=I[2],s=I[6],a=I[10],r=C+e+a;if(r>0){const l=.5/Math.sqrt(r+1);this._w=.25/l,this._x=(s-t)*l,this._y=(i-E)*l,this._z=(Q-B)*l}else if(C>e&&C>a){const l=2*Math.sqrt(1+C-e-a);this._w=(s-t)/l,this._x=.25*l,this._y=(B+Q)/l,this._z=(i+E)/l}else if(e>a){const l=2*Math.sqrt(1+e-C-a);this._w=(i-E)/l,this._x=(B+Q)/l,this._y=.25*l,this._z=(t+s)/l}else{const l=2*Math.sqrt(1+a-C-e);this._w=(Q-B)/l,this._x=(i+E)/l,this._y=(t+s)/l,this._z=.25*l}return this._onChangeCallback(),this}setFromUnitVectors(A,I){let C=A.dot(I)+1;return CMath.abs(A.z)?(this._x=-A.y,this._y=A.x,this._z=0,this._w=C):(this._x=0,this._y=-A.z,this._z=A.y,this._w=C)):(this._x=A.y*I.z-A.z*I.y,this._y=A.z*I.x-A.x*I.z,this._z=A.x*I.y-A.y*I.x,this._w=C),this.normalize()}angleTo(A){return 2*Math.acos(Math.abs(Jg(this.dot(A),-1,1)))}rotateTowards(A,I){const C=this.angleTo(A);if(C===0)return this;const B=Math.min(1,I/C);return this.slerp(A,B),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(A){return this._x*A._x+this._y*A._y+this._z*A._z+this._w*A._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 A=this.length();return A===0?(this._x=0,this._y=0,this._z=0,this._w=1):(A=1/A,this._x=this._x*A,this._y=this._y*A,this._z=this._z*A,this._w=this._w*A),this._onChangeCallback(),this}multiply(A){return this.multiplyQuaternions(this,A)}premultiply(A){return this.multiplyQuaternions(A,this)}multiplyQuaternions(A,I){const C=A._x,B=A._y,i=A._z,Q=A._w,e=I._x,t=I._y,E=I._z,s=I._w;return this._x=C*s+Q*e+B*E-i*t,this._y=B*s+Q*t+i*e-C*E,this._z=i*s+Q*E+C*t-B*e,this._w=Q*s-C*e-B*t-i*E,this._onChangeCallback(),this}slerp(A,I){if(I===0)return this;if(I===1)return this.copy(A);const C=this._x,B=this._y,i=this._z,Q=this._w;let e=Q*A._w+C*A._x+B*A._y+i*A._z;if(e<0?(this._w=-A._w,this._x=-A._x,this._y=-A._y,this._z=-A._z,e=-e):this.copy(A),e>=1)return this._w=Q,this._x=C,this._y=B,this._z=i,this;const t=1-e*e;if(t<=Number.EPSILON){const l=1-I;return this._w=l*Q+I*this._w,this._x=l*C+I*this._x,this._y=l*B+I*this._y,this._z=l*i+I*this._z,this.normalize(),this}const E=Math.sqrt(t),s=Math.atan2(E,e),a=Math.sin((1-I)*s)/E,r=Math.sin(I*s)/E;return this._w=Q*a+this._w*r,this._x=C*a+this._x*r,this._y=B*a+this._y*r,this._z=i*a+this._z*r,this._onChangeCallback(),this}slerpQuaternions(A,I,C){return this.copy(A).slerp(I,C)}random(){const A=2*Math.PI*Math.random(),I=2*Math.PI*Math.random(),C=Math.random(),B=Math.sqrt(1-C),i=Math.sqrt(C);return this.set(B*Math.sin(A),B*Math.cos(A),i*Math.sin(I),i*Math.cos(I))}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._w===this._w}fromArray(A,I=0){return this._x=A[I],this._y=A[I+1],this._z=A[I+2],this._w=A[I+3],this._onChangeCallback(),this}toArray(A=[],I=0){return A[I]=this._x,A[I+1]=this._y,A[I+2]=this._z,A[I+3]=this._w,A}fromBufferAttribute(A,I){return this._x=A.getX(I),this._y=A.getY(I),this._z=A.getZ(I),this._w=A.getW(I),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class f{constructor(A=0,I=0,C=0){f.prototype.isVector3=!0,this.x=A,this.y=I,this.z=C}set(A,I,C){return C===void 0&&(C=this.z),this.x=A,this.y=I,this.z=C,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setComponent(A,I){switch(A){case 0:this.x=I;break;case 1:this.y=I;break;case 2:this.z=I;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this}add(A){return this.x+=A.x,this.y+=A.y,this.z+=A.z,this}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this}addVectors(A,I){return this.x=A.x+I.x,this.y=A.y+I.y,this.z=A.z+I.z,this}addScaledVector(A,I){return this.x+=A.x*I,this.y+=A.y*I,this.z+=A.z*I,this}sub(A){return this.x-=A.x,this.y-=A.y,this.z-=A.z,this}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this}subVectors(A,I){return this.x=A.x-I.x,this.y=A.y-I.y,this.z=A.z-I.z,this}multiply(A){return this.x*=A.x,this.y*=A.y,this.z*=A.z,this}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this}multiplyVectors(A,I){return this.x=A.x*I.x,this.y=A.y*I.y,this.z=A.z*I.z,this}applyEuler(A){return this.applyQuaternion(gU.setFromEuler(A))}applyAxisAngle(A,I){return this.applyQuaternion(gU.setFromAxisAngle(A,I))}applyMatrix3(A){const I=this.x,C=this.y,B=this.z,i=A.elements;return this.x=i[0]*I+i[3]*C+i[6]*B,this.y=i[1]*I+i[4]*C+i[7]*B,this.z=i[2]*I+i[5]*C+i[8]*B,this}applyNormalMatrix(A){return this.applyMatrix3(A).normalize()}applyMatrix4(A){const I=this.x,C=this.y,B=this.z,i=A.elements,Q=1/(i[3]*I+i[7]*C+i[11]*B+i[15]);return this.x=(i[0]*I+i[4]*C+i[8]*B+i[12])*Q,this.y=(i[1]*I+i[5]*C+i[9]*B+i[13])*Q,this.z=(i[2]*I+i[6]*C+i[10]*B+i[14])*Q,this}applyQuaternion(A){const I=this.x,C=this.y,B=this.z,i=A.x,Q=A.y,e=A.z,t=A.w,E=2*(Q*B-e*C),s=2*(e*I-i*B),a=2*(i*C-Q*I);return this.x=I+t*E+Q*a-e*s,this.y=C+t*s+e*E-i*a,this.z=B+t*a+i*s-Q*E,this}project(A){return this.applyMatrix4(A.matrixWorldInverse).applyMatrix4(A.projectionMatrix)}unproject(A){return this.applyMatrix4(A.projectionMatrixInverse).applyMatrix4(A.matrixWorld)}transformDirection(A){const I=this.x,C=this.y,B=this.z,i=A.elements;return this.x=i[0]*I+i[4]*C+i[8]*B,this.y=i[1]*I+i[5]*C+i[9]*B,this.z=i[2]*I+i[6]*C+i[10]*B,this.normalize()}divide(A){return this.x/=A.x,this.y/=A.y,this.z/=A.z,this}divideScalar(A){return this.multiplyScalar(1/A)}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this.z=Math.min(this.z,A.z),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this.z=Math.max(this.z,A.z),this}clamp(A,I){return this.x=Math.max(A.x,Math.min(I.x,this.x)),this.y=Math.max(A.y,Math.min(I.y,this.y)),this.z=Math.max(A.z,Math.min(I.z,this.z)),this}clampScalar(A,I){return this.x=Math.max(A,Math.min(I,this.x)),this.y=Math.max(A,Math.min(I,this.y)),this.z=Math.max(A,Math.min(I,this.z)),this}clampLength(A,I){const C=this.length();return this.divideScalar(C||1).multiplyScalar(Math.max(A,Math.min(I,C)))}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(A){return this.x*A.x+this.y*A.y+this.z*A.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(A){return this.normalize().multiplyScalar(A)}lerp(A,I){return this.x+=(A.x-this.x)*I,this.y+=(A.y-this.y)*I,this.z+=(A.z-this.z)*I,this}lerpVectors(A,I,C){return this.x=A.x+(I.x-A.x)*C,this.y=A.y+(I.y-A.y)*C,this.z=A.z+(I.z-A.z)*C,this}cross(A){return this.crossVectors(this,A)}crossVectors(A,I){const C=A.x,B=A.y,i=A.z,Q=I.x,e=I.y,t=I.z;return this.x=B*t-i*e,this.y=i*Q-C*t,this.z=C*e-B*Q,this}projectOnVector(A){const I=A.lengthSq();if(I===0)return this.set(0,0,0);const C=A.dot(this)/I;return this.copy(A).multiplyScalar(C)}projectOnPlane(A){return Mw.copy(this).projectOnVector(A),this.sub(Mw)}reflect(A){return this.sub(Mw.copy(A).multiplyScalar(2*this.dot(A)))}angleTo(A){const I=Math.sqrt(this.lengthSq()*A.lengthSq());if(I===0)return Math.PI/2;const C=this.dot(A)/I;return Math.acos(Jg(C,-1,1))}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const I=this.x-A.x,C=this.y-A.y,B=this.z-A.z;return I*I+C*C+B*B}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)+Math.abs(this.z-A.z)}setFromSpherical(A){return this.setFromSphericalCoords(A.radius,A.phi,A.theta)}setFromSphericalCoords(A,I,C){const B=Math.sin(I)*A;return this.x=B*Math.sin(C),this.y=Math.cos(I)*A,this.z=B*Math.cos(C),this}setFromCylindrical(A){return this.setFromCylindricalCoords(A.radius,A.theta,A.y)}setFromCylindricalCoords(A,I,C){return this.x=A*Math.sin(I),this.y=C,this.z=A*Math.cos(I),this}setFromMatrixPosition(A){const I=A.elements;return this.x=I[12],this.y=I[13],this.z=I[14],this}setFromMatrixScale(A){const I=this.setFromMatrixColumn(A,0).length(),C=this.setFromMatrixColumn(A,1).length(),B=this.setFromMatrixColumn(A,2).length();return this.x=I,this.y=C,this.z=B,this}setFromMatrixColumn(A,I){return this.fromArray(A.elements,I*4)}setFromMatrix3Column(A,I){return this.fromArray(A.elements,I*3)}setFromEuler(A){return this.x=A._x,this.y=A._y,this.z=A._z,this}setFromColor(A){return this.x=A.r,this.y=A.g,this.z=A.b,this}equals(A){return A.x===this.x&&A.y===this.y&&A.z===this.z}fromArray(A,I=0){return this.x=A[I],this.y=A[I+1],this.z=A[I+2],this}toArray(A=[],I=0){return A[I]=this.x,A[I+1]=this.y,A[I+2]=this.z,A}fromBufferAttribute(A,I){return this.x=A.getX(I),this.y=A.getY(I),this.z=A.getZ(I),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const A=Math.random()*Math.PI*2,I=Math.random()*2-1,C=Math.sqrt(1-I*I);return this.x=C*Math.cos(A),this.y=I,this.z=C*Math.sin(A),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Mw=new f,gU=new gg;class MC{constructor(A=new f(1/0,1/0,1/0),I=new f(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=A,this.max=I}set(A,I){return this.min.copy(A),this.max.copy(I),this}setFromArray(A){this.makeEmpty();for(let I=0,C=A.length;Ithis.max.x||A.ythis.max.y||A.zthis.max.z)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y&&this.min.z<=A.min.z&&A.max.z<=this.max.z}getParameter(A,I){return I.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y),(A.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(A){return!(A.max.xthis.max.x||A.max.ythis.max.y||A.max.zthis.max.z)}intersectsSphere(A){return this.clampPoint(A.center,ai),ai.distanceToSquared(A.center)<=A.radius*A.radius}intersectsPlane(A){let I,C;return A.normal.x>0?(I=A.normal.x*this.min.x,C=A.normal.x*this.max.x):(I=A.normal.x*this.max.x,C=A.normal.x*this.min.x),A.normal.y>0?(I+=A.normal.y*this.min.y,C+=A.normal.y*this.max.y):(I+=A.normal.y*this.max.y,C+=A.normal.y*this.min.y),A.normal.z>0?(I+=A.normal.z*this.min.z,C+=A.normal.z*this.max.z):(I+=A.normal.z*this.max.z,C+=A.normal.z*this.min.z),I<=-A.constant&&C>=-A.constant}intersectsTriangle(A){if(this.isEmpty())return!1;this.getCenter(qn),Bl.subVectors(this.max,qn),dE.subVectors(A.a,qn),pE.subVectors(A.b,qn),UE.subVectors(A.c,qn),XQ.subVectors(pE,dE),zQ.subVectors(UE,pE),$e.subVectors(dE,UE);let I=[0,-XQ.z,XQ.y,0,-zQ.z,zQ.y,0,-$e.z,$e.y,XQ.z,0,-XQ.x,zQ.z,0,-zQ.x,$e.z,0,-$e.x,-XQ.y,XQ.x,0,-zQ.y,zQ.x,0,-$e.y,$e.x,0];return!dw(I,dE,pE,UE,Bl)||(I=[1,0,0,0,1,0,0,0,1],!dw(I,dE,pE,UE,Bl))?!1:(il.crossVectors(XQ,zQ),I=[il.x,il.y,il.z],dw(I,dE,pE,UE,Bl))}clampPoint(A,I){return I.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return this.clampPoint(A,ai).distanceTo(A)}getBoundingSphere(A){return this.isEmpty()?A.makeEmpty():(this.getCenter(A.center),A.radius=this.getSize(ai).length()*.5),A}intersect(A){return this.min.max(A.min),this.max.min(A.max),this.isEmpty()&&this.makeEmpty(),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}applyMatrix4(A){return this.isEmpty()?this:(iQ[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(A),iQ[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(A),iQ[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(A),iQ[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(A),iQ[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(A),iQ[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(A),iQ[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(A),iQ[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(A),this.setFromPoints(iQ),this)}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}}const iQ=[new f,new f,new f,new f,new f,new f,new f,new f],ai=new f,Cl=new MC,dE=new f,pE=new f,UE=new f,XQ=new f,zQ=new f,$e=new f,qn=new f,Bl=new f,il=new f,At=new f;function dw(g,A,I,C,B){for(let i=0,Q=g.length-3;i<=Q;i+=3){At.fromArray(g,i);const e=B.x*Math.abs(At.x)+B.y*Math.abs(At.y)+B.z*Math.abs(At.z),t=A.dot(At),E=I.dot(At),s=C.dot(At);if(Math.max(-Math.max(t,E,s),Math.min(t,E,s))>e)return!1}return!0}const ex=new MC,mn=new f,pw=new f;class Vg{constructor(A=new f,I=-1){this.isSphere=!0,this.center=A,this.radius=I}set(A,I){return this.center.copy(A),this.radius=I,this}setFromPoints(A,I){const C=this.center;I!==void 0?C.copy(I):ex.setFromPoints(A).getCenter(C);let B=0;for(let i=0,Q=A.length;ithis.radius*this.radius&&(I.sub(this.center).normalize(),I.multiplyScalar(this.radius).add(this.center)),I}getBoundingBox(A){return this.isEmpty()?(A.makeEmpty(),A):(A.set(this.center,this.center),A.expandByScalar(this.radius),A)}applyMatrix4(A){return this.center.applyMatrix4(A),this.radius=this.radius*A.getMaxScaleOnAxis(),this}translate(A){return this.center.add(A),this}expandByPoint(A){if(this.isEmpty())return this.center.copy(A),this.radius=0,this;mn.subVectors(A,this.center);const I=mn.lengthSq();if(I>this.radius*this.radius){const C=Math.sqrt(I),B=(C-this.radius)*.5;this.center.addScaledVector(mn,B/C),this.radius+=B}return this}union(A){return A.isEmpty()?this:this.isEmpty()?(this.copy(A),this):(this.center.equals(A.center)===!0?this.radius=Math.max(this.radius,A.radius):(pw.subVectors(A.center,this.center).setLength(A.radius),this.expandByPoint(mn.copy(A.center).add(pw)),this.expandByPoint(mn.copy(A.center).sub(pw))),this)}equals(A){return A.center.equals(this.center)&&A.radius===this.radius}clone(){return new this.constructor().copy(this)}}const QQ=new f,Uw=new f,Ql=new f,$Q=new f,Nw=new f,el=new f,Fw=new f;class He{constructor(A=new f,I=new f(0,0,-1)){this.origin=A,this.direction=I}set(A,I){return this.origin.copy(A),this.direction.copy(I),this}copy(A){return this.origin.copy(A.origin),this.direction.copy(A.direction),this}at(A,I){return I.copy(this.origin).addScaledVector(this.direction,A)}lookAt(A){return this.direction.copy(A).sub(this.origin).normalize(),this}recast(A){return this.origin.copy(this.at(A,QQ)),this}closestPointToPoint(A,I){I.subVectors(A,this.origin);const C=I.dot(this.direction);return C<0?I.copy(this.origin):I.copy(this.origin).addScaledVector(this.direction,C)}distanceToPoint(A){return Math.sqrt(this.distanceSqToPoint(A))}distanceSqToPoint(A){const I=QQ.subVectors(A,this.origin).dot(this.direction);return I<0?this.origin.distanceToSquared(A):(QQ.copy(this.origin).addScaledVector(this.direction,I),QQ.distanceToSquared(A))}distanceSqToSegment(A,I,C,B){Uw.copy(A).add(I).multiplyScalar(.5),Ql.copy(I).sub(A).normalize(),$Q.copy(this.origin).sub(Uw);const i=A.distanceTo(I)*.5,Q=-this.direction.dot(Ql),e=$Q.dot(this.direction),t=-$Q.dot(Ql),E=$Q.lengthSq(),s=Math.abs(1-Q*Q);let a,r,l,h;if(s>0)if(a=Q*t-e,r=Q*e-t,h=i*s,a>=0)if(r>=-h)if(r<=h){const w=1/s;a*=w,r*=w,l=a*(a+Q*r+2*e)+r*(Q*a+r+2*t)+E}else r=i,a=Math.max(0,-(Q*r+e)),l=-a*a+r*(r+2*t)+E;else r=-i,a=Math.max(0,-(Q*r+e)),l=-a*a+r*(r+2*t)+E;else r<=-h?(a=Math.max(0,-(-Q*i+e)),r=a>0?-i:Math.min(Math.max(-i,-t),i),l=-a*a+r*(r+2*t)+E):r<=h?(a=0,r=Math.min(Math.max(-i,-t),i),l=r*(r+2*t)+E):(a=Math.max(0,-(Q*i+e)),r=a>0?i:Math.min(Math.max(-i,-t),i),l=-a*a+r*(r+2*t)+E);else r=Q>0?-i:i,a=Math.max(0,-(Q*r+e)),l=-a*a+r*(r+2*t)+E;return C&&C.copy(this.origin).addScaledVector(this.direction,a),B&&B.copy(Uw).addScaledVector(Ql,r),l}intersectSphere(A,I){QQ.subVectors(A.center,this.origin);const C=QQ.dot(this.direction),B=QQ.dot(QQ)-C*C,i=A.radius*A.radius;if(B>i)return null;const Q=Math.sqrt(i-B),e=C-Q,t=C+Q;return t<0?null:e<0?this.at(t,I):this.at(e,I)}intersectsSphere(A){return this.distanceSqToPoint(A.center)<=A.radius*A.radius}distanceToPlane(A){const I=A.normal.dot(this.direction);if(I===0)return A.distanceToPoint(this.origin)===0?0:null;const C=-(this.origin.dot(A.normal)+A.constant)/I;return C>=0?C:null}intersectPlane(A,I){const C=this.distanceToPlane(A);return C===null?null:this.at(C,I)}intersectsPlane(A){const I=A.distanceToPoint(this.origin);return I===0||A.normal.dot(this.direction)*I<0}intersectBox(A,I){let C,B,i,Q,e,t;const E=1/this.direction.x,s=1/this.direction.y,a=1/this.direction.z,r=this.origin;return E>=0?(C=(A.min.x-r.x)*E,B=(A.max.x-r.x)*E):(C=(A.max.x-r.x)*E,B=(A.min.x-r.x)*E),s>=0?(i=(A.min.y-r.y)*s,Q=(A.max.y-r.y)*s):(i=(A.max.y-r.y)*s,Q=(A.min.y-r.y)*s),C>Q||i>B||((i>C||isNaN(C))&&(C=i),(Q=0?(e=(A.min.z-r.z)*a,t=(A.max.z-r.z)*a):(e=(A.max.z-r.z)*a,t=(A.min.z-r.z)*a),C>t||e>B)||((e>C||C!==C)&&(C=e),(t=0?C:B,I)}intersectsBox(A){return this.intersectBox(A,QQ)!==null}intersectTriangle(A,I,C,B,i){Nw.subVectors(I,A),el.subVectors(C,A),Fw.crossVectors(Nw,el);let Q=this.direction.dot(Fw),e;if(Q>0){if(B)return null;e=1}else if(Q<0)e=-1,Q=-Q;else return null;$Q.subVectors(this.origin,A);const t=e*this.direction.dot(el.crossVectors($Q,el));if(t<0)return null;const E=e*this.direction.dot(Nw.cross($Q));if(E<0||t+E>Q)return null;const s=-e*$Q.dot(Fw);return s<0?null:this.at(s/Q,i)}applyMatrix4(A){return this.origin.applyMatrix4(A),this.direction.transformDirection(A),this}equals(A){return A.origin.equals(this.origin)&&A.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class _A{constructor(A,I,C,B,i,Q,e,t,E,s,a,r,l,h,w,S){_A.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],A!==void 0&&this.set(A,I,C,B,i,Q,e,t,E,s,a,r,l,h,w,S)}set(A,I,C,B,i,Q,e,t,E,s,a,r,l,h,w,S){const c=this.elements;return c[0]=A,c[4]=I,c[8]=C,c[12]=B,c[1]=i,c[5]=Q,c[9]=e,c[13]=t,c[2]=E,c[6]=s,c[10]=a,c[14]=r,c[3]=l,c[7]=h,c[11]=w,c[15]=S,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 _A().fromArray(this.elements)}copy(A){const I=this.elements,C=A.elements;return I[0]=C[0],I[1]=C[1],I[2]=C[2],I[3]=C[3],I[4]=C[4],I[5]=C[5],I[6]=C[6],I[7]=C[7],I[8]=C[8],I[9]=C[9],I[10]=C[10],I[11]=C[11],I[12]=C[12],I[13]=C[13],I[14]=C[14],I[15]=C[15],this}copyPosition(A){const I=this.elements,C=A.elements;return I[12]=C[12],I[13]=C[13],I[14]=C[14],this}setFromMatrix3(A){const I=A.elements;return this.set(I[0],I[3],I[6],0,I[1],I[4],I[7],0,I[2],I[5],I[8],0,0,0,0,1),this}extractBasis(A,I,C){return A.setFromMatrixColumn(this,0),I.setFromMatrixColumn(this,1),C.setFromMatrixColumn(this,2),this}makeBasis(A,I,C){return this.set(A.x,I.x,C.x,0,A.y,I.y,C.y,0,A.z,I.z,C.z,0,0,0,0,1),this}extractRotation(A){const I=this.elements,C=A.elements,B=1/NE.setFromMatrixColumn(A,0).length(),i=1/NE.setFromMatrixColumn(A,1).length(),Q=1/NE.setFromMatrixColumn(A,2).length();return I[0]=C[0]*B,I[1]=C[1]*B,I[2]=C[2]*B,I[3]=0,I[4]=C[4]*i,I[5]=C[5]*i,I[6]=C[6]*i,I[7]=0,I[8]=C[8]*Q,I[9]=C[9]*Q,I[10]=C[10]*Q,I[11]=0,I[12]=0,I[13]=0,I[14]=0,I[15]=1,this}makeRotationFromEuler(A){const I=this.elements,C=A.x,B=A.y,i=A.z,Q=Math.cos(C),e=Math.sin(C),t=Math.cos(B),E=Math.sin(B),s=Math.cos(i),a=Math.sin(i);if(A.order==="XYZ"){const r=Q*s,l=Q*a,h=e*s,w=e*a;I[0]=t*s,I[4]=-t*a,I[8]=E,I[1]=l+h*E,I[5]=r-w*E,I[9]=-e*t,I[2]=w-r*E,I[6]=h+l*E,I[10]=Q*t}else if(A.order==="YXZ"){const r=t*s,l=t*a,h=E*s,w=E*a;I[0]=r+w*e,I[4]=h*e-l,I[8]=Q*E,I[1]=Q*a,I[5]=Q*s,I[9]=-e,I[2]=l*e-h,I[6]=w+r*e,I[10]=Q*t}else if(A.order==="ZXY"){const r=t*s,l=t*a,h=E*s,w=E*a;I[0]=r-w*e,I[4]=-Q*a,I[8]=h+l*e,I[1]=l+h*e,I[5]=Q*s,I[9]=w-r*e,I[2]=-Q*E,I[6]=e,I[10]=Q*t}else if(A.order==="ZYX"){const r=Q*s,l=Q*a,h=e*s,w=e*a;I[0]=t*s,I[4]=h*E-l,I[8]=r*E+w,I[1]=t*a,I[5]=w*E+r,I[9]=l*E-h,I[2]=-E,I[6]=e*t,I[10]=Q*t}else if(A.order==="YZX"){const r=Q*t,l=Q*E,h=e*t,w=e*E;I[0]=t*s,I[4]=w-r*a,I[8]=h*a+l,I[1]=a,I[5]=Q*s,I[9]=-e*s,I[2]=-E*s,I[6]=l*a+h,I[10]=r-w*a}else if(A.order==="XZY"){const r=Q*t,l=Q*E,h=e*t,w=e*E;I[0]=t*s,I[4]=-a,I[8]=E*s,I[1]=r*a+w,I[5]=Q*s,I[9]=l*a-h,I[2]=h*a-l,I[6]=e*s,I[10]=w*a+r}return I[3]=0,I[7]=0,I[11]=0,I[12]=0,I[13]=0,I[14]=0,I[15]=1,this}makeRotationFromQuaternion(A){return this.compose(tx,A,Ex)}lookAt(A,I,C){const B=this.elements;return wB.subVectors(A,I),wB.lengthSq()===0&&(wB.z=1),wB.normalize(),Ae.crossVectors(C,wB),Ae.lengthSq()===0&&(Math.abs(C.z)===1?wB.x+=1e-4:wB.z+=1e-4,wB.normalize(),Ae.crossVectors(C,wB)),Ae.normalize(),tl.crossVectors(wB,Ae),B[0]=Ae.x,B[4]=tl.x,B[8]=wB.x,B[1]=Ae.y,B[5]=tl.y,B[9]=wB.y,B[2]=Ae.z,B[6]=tl.z,B[10]=wB.z,this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,I){const C=A.elements,B=I.elements,i=this.elements,Q=C[0],e=C[4],t=C[8],E=C[12],s=C[1],a=C[5],r=C[9],l=C[13],h=C[2],w=C[6],S=C[10],c=C[14],G=C[3],u=C[7],M=C[11],R=C[15],N=B[0],F=B[4],q=B[8],K=B[12],U=B[1],L=B[5],O=B[9],b=B[13],eA=B[2],tA=B[6],rA=B[10],kA=B[14],Y=B[3],V=B[7],_=B[11],QA=B[15];return i[0]=Q*N+e*U+t*eA+E*Y,i[4]=Q*F+e*L+t*tA+E*V,i[8]=Q*q+e*O+t*rA+E*_,i[12]=Q*K+e*b+t*kA+E*QA,i[1]=s*N+a*U+r*eA+l*Y,i[5]=s*F+a*L+r*tA+l*V,i[9]=s*q+a*O+r*rA+l*_,i[13]=s*K+a*b+r*kA+l*QA,i[2]=h*N+w*U+S*eA+c*Y,i[6]=h*F+w*L+S*tA+c*V,i[10]=h*q+w*O+S*rA+c*_,i[14]=h*K+w*b+S*kA+c*QA,i[3]=G*N+u*U+M*eA+R*Y,i[7]=G*F+u*L+M*tA+R*V,i[11]=G*q+u*O+M*rA+R*_,i[15]=G*K+u*b+M*kA+R*QA,this}multiplyScalar(A){const I=this.elements;return I[0]*=A,I[4]*=A,I[8]*=A,I[12]*=A,I[1]*=A,I[5]*=A,I[9]*=A,I[13]*=A,I[2]*=A,I[6]*=A,I[10]*=A,I[14]*=A,I[3]*=A,I[7]*=A,I[11]*=A,I[15]*=A,this}determinant(){const A=this.elements,I=A[0],C=A[4],B=A[8],i=A[12],Q=A[1],e=A[5],t=A[9],E=A[13],s=A[2],a=A[6],r=A[10],l=A[14],h=A[3],w=A[7],S=A[11],c=A[15];return h*(+i*t*a-B*E*a-i*e*r+C*E*r+B*e*l-C*t*l)+w*(+I*t*l-I*E*r+i*Q*r-B*Q*l+B*E*s-i*t*s)+S*(+I*E*a-I*e*l-i*Q*a+C*Q*l+i*e*s-C*E*s)+c*(-B*e*s-I*t*a+I*e*r+B*Q*a-C*Q*r+C*t*s)}transpose(){const A=this.elements;let I;return I=A[1],A[1]=A[4],A[4]=I,I=A[2],A[2]=A[8],A[8]=I,I=A[6],A[6]=A[9],A[9]=I,I=A[3],A[3]=A[12],A[12]=I,I=A[7],A[7]=A[13],A[13]=I,I=A[11],A[11]=A[14],A[14]=I,this}setPosition(A,I,C){const B=this.elements;return A.isVector3?(B[12]=A.x,B[13]=A.y,B[14]=A.z):(B[12]=A,B[13]=I,B[14]=C),this}invert(){const A=this.elements,I=A[0],C=A[1],B=A[2],i=A[3],Q=A[4],e=A[5],t=A[6],E=A[7],s=A[8],a=A[9],r=A[10],l=A[11],h=A[12],w=A[13],S=A[14],c=A[15],G=a*S*E-w*r*E+w*t*l-e*S*l-a*t*c+e*r*c,u=h*r*E-s*S*E-h*t*l+Q*S*l+s*t*c-Q*r*c,M=s*w*E-h*a*E+h*e*l-Q*w*l-s*e*c+Q*a*c,R=h*a*t-s*w*t-h*e*r+Q*w*r+s*e*S-Q*a*S,N=I*G+C*u+B*M+i*R;if(N===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const F=1/N;return A[0]=G*F,A[1]=(w*r*i-a*S*i-w*B*l+C*S*l+a*B*c-C*r*c)*F,A[2]=(e*S*i-w*t*i+w*B*E-C*S*E-e*B*c+C*t*c)*F,A[3]=(a*t*i-e*r*i-a*B*E+C*r*E+e*B*l-C*t*l)*F,A[4]=u*F,A[5]=(s*S*i-h*r*i+h*B*l-I*S*l-s*B*c+I*r*c)*F,A[6]=(h*t*i-Q*S*i-h*B*E+I*S*E+Q*B*c-I*t*c)*F,A[7]=(Q*r*i-s*t*i+s*B*E-I*r*E-Q*B*l+I*t*l)*F,A[8]=M*F,A[9]=(h*a*i-s*w*i-h*C*l+I*w*l+s*C*c-I*a*c)*F,A[10]=(Q*w*i-h*e*i+h*C*E-I*w*E-Q*C*c+I*e*c)*F,A[11]=(s*e*i-Q*a*i-s*C*E+I*a*E+Q*C*l-I*e*l)*F,A[12]=R*F,A[13]=(s*w*B-h*a*B+h*C*r-I*w*r-s*C*S+I*a*S)*F,A[14]=(h*e*B-Q*w*B-h*C*t+I*w*t+Q*C*S-I*e*S)*F,A[15]=(Q*a*B-s*e*B+s*C*t-I*a*t-Q*C*r+I*e*r)*F,this}scale(A){const I=this.elements,C=A.x,B=A.y,i=A.z;return I[0]*=C,I[4]*=B,I[8]*=i,I[1]*=C,I[5]*=B,I[9]*=i,I[2]*=C,I[6]*=B,I[10]*=i,I[3]*=C,I[7]*=B,I[11]*=i,this}getMaxScaleOnAxis(){const A=this.elements,I=A[0]*A[0]+A[1]*A[1]+A[2]*A[2],C=A[4]*A[4]+A[5]*A[5]+A[6]*A[6],B=A[8]*A[8]+A[9]*A[9]+A[10]*A[10];return Math.sqrt(Math.max(I,C,B))}makeTranslation(A,I,C){return A.isVector3?this.set(1,0,0,A.x,0,1,0,A.y,0,0,1,A.z,0,0,0,1):this.set(1,0,0,A,0,1,0,I,0,0,1,C,0,0,0,1),this}makeRotationX(A){const I=Math.cos(A),C=Math.sin(A);return this.set(1,0,0,0,0,I,-C,0,0,C,I,0,0,0,0,1),this}makeRotationY(A){const I=Math.cos(A),C=Math.sin(A);return this.set(I,0,C,0,0,1,0,0,-C,0,I,0,0,0,0,1),this}makeRotationZ(A){const I=Math.cos(A),C=Math.sin(A);return this.set(I,-C,0,0,C,I,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(A,I){const C=Math.cos(I),B=Math.sin(I),i=1-C,Q=A.x,e=A.y,t=A.z,E=i*Q,s=i*e;return this.set(E*Q+C,E*e-B*t,E*t+B*e,0,E*e+B*t,s*e+C,s*t-B*Q,0,E*t-B*e,s*t+B*Q,i*t*t+C,0,0,0,0,1),this}makeScale(A,I,C){return this.set(A,0,0,0,0,I,0,0,0,0,C,0,0,0,0,1),this}makeShear(A,I,C,B,i,Q){return this.set(1,C,i,0,A,1,Q,0,I,B,1,0,0,0,0,1),this}compose(A,I,C){const B=this.elements,i=I._x,Q=I._y,e=I._z,t=I._w,E=i+i,s=Q+Q,a=e+e,r=i*E,l=i*s,h=i*a,w=Q*s,S=Q*a,c=e*a,G=t*E,u=t*s,M=t*a,R=C.x,N=C.y,F=C.z;return B[0]=(1-(w+c))*R,B[1]=(l+M)*R,B[2]=(h-u)*R,B[3]=0,B[4]=(l-M)*N,B[5]=(1-(r+c))*N,B[6]=(S+G)*N,B[7]=0,B[8]=(h+u)*F,B[9]=(S-G)*F,B[10]=(1-(r+w))*F,B[11]=0,B[12]=A.x,B[13]=A.y,B[14]=A.z,B[15]=1,this}decompose(A,I,C){const B=this.elements;let i=NE.set(B[0],B[1],B[2]).length();const Q=NE.set(B[4],B[5],B[6]).length(),e=NE.set(B[8],B[9],B[10]).length();this.determinant()<0&&(i=-i),A.x=B[12],A.y=B[13],A.z=B[14],ri.copy(this);const E=1/i,s=1/Q,a=1/e;return ri.elements[0]*=E,ri.elements[1]*=E,ri.elements[2]*=E,ri.elements[4]*=s,ri.elements[5]*=s,ri.elements[6]*=s,ri.elements[8]*=a,ri.elements[9]*=a,ri.elements[10]*=a,I.setFromRotationMatrix(ri),C.x=i,C.y=Q,C.z=e,this}makePerspective(A,I,C,B,i,Q,e=bi){const t=this.elements,E=2*i/(I-A),s=2*i/(C-B),a=(I+A)/(I-A),r=(C+B)/(C-B);let l,h;if(e===bi)l=-(Q+i)/(Q-i),h=-2*Q*i/(Q-i);else if(e===$s)l=-Q/(Q-i),h=-Q*i/(Q-i);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+e);return t[0]=E,t[4]=0,t[8]=a,t[12]=0,t[1]=0,t[5]=s,t[9]=r,t[13]=0,t[2]=0,t[6]=0,t[10]=l,t[14]=h,t[3]=0,t[7]=0,t[11]=-1,t[15]=0,this}makeOrthographic(A,I,C,B,i,Q,e=bi){const t=this.elements,E=1/(I-A),s=1/(C-B),a=1/(Q-i),r=(I+A)*E,l=(C+B)*s;let h,w;if(e===bi)h=(Q+i)*a,w=-2*a;else if(e===$s)h=i*a,w=-1*a;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+e);return t[0]=2*E,t[4]=0,t[8]=0,t[12]=-r,t[1]=0,t[5]=2*s,t[9]=0,t[13]=-l,t[2]=0,t[6]=0,t[10]=w,t[14]=-h,t[3]=0,t[7]=0,t[11]=0,t[15]=1,this}equals(A){const I=this.elements,C=A.elements;for(let B=0;B<16;B++)if(I[B]!==C[B])return!1;return!0}fromArray(A,I=0){for(let C=0;C<16;C++)this.elements[C]=A[C+I];return this}toArray(A=[],I=0){const C=this.elements;return A[I]=C[0],A[I+1]=C[1],A[I+2]=C[2],A[I+3]=C[3],A[I+4]=C[4],A[I+5]=C[5],A[I+6]=C[6],A[I+7]=C[7],A[I+8]=C[8],A[I+9]=C[9],A[I+10]=C[10],A[I+11]=C[11],A[I+12]=C[12],A[I+13]=C[13],A[I+14]=C[14],A[I+15]=C[15],A}}const NE=new f,ri=new _A,tx=new f(0,0,0),Ex=new f(1,1,1),Ae=new f,tl=new f,wB=new f,CU=new _A,BU=new gg;class lC{constructor(A=0,I=0,C=0,B=lC.DEFAULT_ORDER){this.isEuler=!0,this._x=A,this._y=I,this._z=C,this._order=B}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get order(){return this._order}set order(A){this._order=A,this._onChangeCallback()}set(A,I,C,B=this._order){return this._x=A,this._y=I,this._z=C,this._order=B,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(A){return this._x=A._x,this._y=A._y,this._z=A._z,this._order=A._order,this._onChangeCallback(),this}setFromRotationMatrix(A,I=this._order,C=!0){const B=A.elements,i=B[0],Q=B[4],e=B[8],t=B[1],E=B[5],s=B[9],a=B[2],r=B[6],l=B[10];switch(I){case"XYZ":this._y=Math.asin(Jg(e,-1,1)),Math.abs(e)<.9999999?(this._x=Math.atan2(-s,l),this._z=Math.atan2(-Q,i)):(this._x=Math.atan2(r,E),this._z=0);break;case"YXZ":this._x=Math.asin(-Jg(s,-1,1)),Math.abs(s)<.9999999?(this._y=Math.atan2(e,l),this._z=Math.atan2(t,E)):(this._y=Math.atan2(-a,i),this._z=0);break;case"ZXY":this._x=Math.asin(Jg(r,-1,1)),Math.abs(r)<.9999999?(this._y=Math.atan2(-a,l),this._z=Math.atan2(-Q,E)):(this._y=0,this._z=Math.atan2(t,i));break;case"ZYX":this._y=Math.asin(-Jg(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(r,l),this._z=Math.atan2(t,i)):(this._x=0,this._z=Math.atan2(-Q,E));break;case"YZX":this._z=Math.asin(Jg(t,-1,1)),Math.abs(t)<.9999999?(this._x=Math.atan2(-s,E),this._y=Math.atan2(-a,i)):(this._x=0,this._y=Math.atan2(e,l));break;case"XZY":this._z=Math.asin(-Jg(Q,-1,1)),Math.abs(Q)<.9999999?(this._x=Math.atan2(r,E),this._y=Math.atan2(e,i)):(this._x=Math.atan2(-s,l),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+I)}return this._order=I,C===!0&&this._onChangeCallback(),this}setFromQuaternion(A,I,C){return CU.makeRotationFromQuaternion(A),this.setFromRotationMatrix(CU,I,C)}setFromVector3(A,I=this._order){return this.set(A.x,A.y,A.z,I)}reorder(A){return BU.setFromEuler(this),this.setFromQuaternion(BU,A)}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._order===this._order}fromArray(A){return this._x=A[0],this._y=A[1],this._z=A[2],A[3]!==void 0&&(this._order=A[3]),this._onChangeCallback(),this}toArray(A=[],I=0){return A[I]=this._x,A[I+1]=this._y,A[I+2]=this._z,A[I+3]=this._order,A}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}lC.DEFAULT_ORDER="XYZ";class ft{constructor(){this.mask=1}set(A){this.mask=(1<>>0}enable(A){this.mask|=1<1){for(let I=0;I1){for(let C=0;C0&&(B.userData=this.userData),B.layers=this.layers.mask,B.matrix=this.matrix.toArray(),B.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(B.matrixAutoUpdate=!1),this.isInstancedMesh&&(B.type="InstancedMesh",B.count=this.count,B.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(B.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(B.type="BatchedMesh",B.perObjectFrustumCulled=this.perObjectFrustumCulled,B.sortObjects=this.sortObjects,B.drawRanges=this._drawRanges,B.reservedRanges=this._reservedRanges,B.visibility=this._visibility,B.active=this._active,B.bounds=this._bounds.map(e=>({boxInitialized:e.boxInitialized,boxMin:e.box.min.toArray(),boxMax:e.box.max.toArray(),sphereInitialized:e.sphereInitialized,sphereRadius:e.sphere.radius,sphereCenter:e.sphere.center.toArray()})),B.maxGeometryCount=this._maxGeometryCount,B.maxVertexCount=this._maxVertexCount,B.maxIndexCount=this._maxIndexCount,B.geometryInitialized=this._geometryInitialized,B.geometryCount=this._geometryCount,B.matricesTexture=this._matricesTexture.toJSON(A),this.boundingSphere!==null&&(B.boundingSphere={center:B.boundingSphere.center.toArray(),radius:B.boundingSphere.radius}),this.boundingBox!==null&&(B.boundingBox={min:B.boundingBox.min.toArray(),max:B.boundingBox.max.toArray()}));function i(e,t){return e[t.uuid]===void 0&&(e[t.uuid]=t.toJSON(A)),t.uuid}if(this.isScene)this.background&&(this.background.isColor?B.background=this.background.toJSON():this.background.isTexture&&(B.background=this.background.toJSON(A).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(B.environment=this.environment.toJSON(A).uuid);else if(this.isMesh||this.isLine||this.isPoints){B.geometry=i(A.geometries,this.geometry);const e=this.geometry.parameters;if(e!==void 0&&e.shapes!==void 0){const t=e.shapes;if(Array.isArray(t))for(let E=0,s=t.length;E0){B.children=[];for(let e=0;e0){B.animations=[];for(let e=0;e0&&(C.geometries=e),t.length>0&&(C.materials=t),E.length>0&&(C.textures=E),s.length>0&&(C.images=s),a.length>0&&(C.shapes=a),r.length>0&&(C.skeletons=r),l.length>0&&(C.animations=l),h.length>0&&(C.nodes=h)}return C.object=B,C;function Q(e){const t=[];for(const E in e){const s=e[E];delete s.metadata,t.push(s)}return t}}clone(A){return new this.constructor().copy(this,A)}copy(A,I=!0){if(this.name=A.name,this.up.copy(A.up),this.position.copy(A.position),this.rotation.order=A.rotation.order,this.quaternion.copy(A.quaternion),this.scale.copy(A.scale),this.matrix.copy(A.matrix),this.matrixWorld.copy(A.matrixWorld),this.matrixAutoUpdate=A.matrixAutoUpdate,this.matrixWorldAutoUpdate=A.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=A.matrixWorldNeedsUpdate,this.layers.mask=A.layers.mask,this.visible=A.visible,this.castShadow=A.castShadow,this.receiveShadow=A.receiveShadow,this.frustumCulled=A.frustumCulled,this.renderOrder=A.renderOrder,this.animations=A.animations.slice(),this.userData=JSON.parse(JSON.stringify(A.userData)),I===!0)for(let C=0;C0?B.multiplyScalar(1/Math.sqrt(i)):B.set(0,0,0)}static getBarycoord(A,I,C,B,i){li.subVectors(B,I),tQ.subVectors(C,I),Kw.subVectors(A,I);const Q=li.dot(li),e=li.dot(tQ),t=li.dot(Kw),E=tQ.dot(tQ),s=tQ.dot(Kw),a=Q*E-e*e;if(a===0)return i.set(0,0,0),null;const r=1/a,l=(E*t-e*s)*r,h=(Q*s-e*t)*r;return i.set(1-l-h,h,l)}static containsPoint(A,I,C,B){return this.getBarycoord(A,I,C,B,EQ)===null?!1:EQ.x>=0&&EQ.y>=0&&EQ.x+EQ.y<=1}static getInterpolation(A,I,C,B,i,Q,e,t){return this.getBarycoord(A,I,C,B,EQ)===null?(t.x=0,t.y=0,"z"in t&&(t.z=0),"w"in t&&(t.w=0),null):(t.setScalar(0),t.addScaledVector(i,EQ.x),t.addScaledVector(Q,EQ.y),t.addScaledVector(e,EQ.z),t)}static isFrontFacing(A,I,C,B){return li.subVectors(C,I),tQ.subVectors(A,I),li.cross(tQ).dot(B)<0}set(A,I,C){return this.a.copy(A),this.b.copy(I),this.c.copy(C),this}setFromPointsAndIndices(A,I,C,B){return this.a.copy(A[I]),this.b.copy(A[C]),this.c.copy(A[B]),this}setFromAttributeAndIndices(A,I,C,B){return this.a.fromBufferAttribute(A,I),this.b.fromBufferAttribute(A,C),this.c.fromBufferAttribute(A,B),this}clone(){return new this.constructor().copy(this)}copy(A){return this.a.copy(A.a),this.b.copy(A.b),this.c.copy(A.c),this}getArea(){return li.subVectors(this.c,this.b),tQ.subVectors(this.a,this.b),li.cross(tQ).length()*.5}getMidpoint(A){return A.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(A){return kB.getNormal(this.a,this.b,this.c,A)}getPlane(A){return A.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(A,I){return kB.getBarycoord(A,this.a,this.b,this.c,I)}getInterpolation(A,I,C,B,i){return kB.getInterpolation(A,this.a,this.b,this.c,I,C,B,i)}containsPoint(A){return kB.containsPoint(A,this.a,this.b,this.c)}isFrontFacing(A){return kB.isFrontFacing(this.a,this.b,this.c,A)}intersectsBox(A){return A.intersectsTriangle(this)}closestPointToPoint(A,I){const C=this.a,B=this.b,i=this.c;let Q,e;KE.subVectors(B,C),JE.subVectors(i,C),Jw.subVectors(A,C);const t=KE.dot(Jw),E=JE.dot(Jw);if(t<=0&&E<=0)return I.copy(C);fw.subVectors(A,B);const s=KE.dot(fw),a=JE.dot(fw);if(s>=0&&a<=s)return I.copy(B);const r=t*a-s*E;if(r<=0&&t>=0&&s<=0)return Q=t/(t-s),I.copy(C).addScaledVector(KE,Q);qw.subVectors(A,i);const l=KE.dot(qw),h=JE.dot(qw);if(h>=0&&l<=h)return I.copy(i);const w=l*E-t*h;if(w<=0&&E>=0&&h<=0)return e=E/(E-h),I.copy(C).addScaledVector(JE,e);const S=s*h-l*a;if(S<=0&&a-s>=0&&l-h>=0)return oU.subVectors(i,B),e=(a-s)/(a-s+(l-h)),I.copy(B).addScaledVector(oU,e);const c=1/(S+w+r);return Q=w*c,e=r*c,I.copy(C).addScaledVector(KE,Q).addScaledVector(JE,e)}equals(A){return A.a.equals(this.a)&&A.b.equals(this.b)&&A.c.equals(this.c)}}const nf={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},Ie={h:0,s:0,l:0},ol={h:0,s:0,l:0};function mw(g,A,I){return I<0&&(I+=1),I>1&&(I-=1),I<1/6?g+(A-g)*6*I:I<1/2?A:I<2/3?g+(A-g)*6*(2/3-I):g}class KA{constructor(A,I,C){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(A,I,C)}set(A,I,C){if(I===void 0&&C===void 0){const B=A;B&&B.isColor?this.copy(B):typeof B=="number"?this.setHex(B):typeof B=="string"&&this.setStyle(B)}else this.setRGB(A,I,C);return this}setScalar(A){return this.r=A,this.g=A,this.b=A,this}setHex(A,I=GC){return A=Math.floor(A),this.r=(A>>16&255)/255,this.g=(A>>8&255)/255,this.b=(A&255)/255,VI.toWorkingColorSpace(this,I),this}setRGB(A,I,C,B=VI.workingColorSpace){return this.r=A,this.g=I,this.b=C,VI.toWorkingColorSpace(this,B),this}setHSL(A,I,C,B=VI.workingColorSpace){if(A=qk(A,1),I=Jg(I,0,1),C=Jg(C,0,1),I===0)this.r=this.g=this.b=C;else{const i=C<=.5?C*(1+I):C+I-C*I,Q=2*C-i;this.r=mw(Q,i,A+1/3),this.g=mw(Q,i,A),this.b=mw(Q,i,A-1/3)}return VI.toWorkingColorSpace(this,B),this}setStyle(A,I=GC){function C(i){i!==void 0&&parseFloat(i)<1&&console.warn("THREE.Color: Alpha component of "+A+" will be ignored.")}let B;if(B=/^(\w+)\(([^\)]*)\)/.exec(A)){let i;const Q=B[1],e=B[2];switch(Q){case"rgb":case"rgba":if(i=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(e))return C(i[4]),this.setRGB(Math.min(255,parseInt(i[1],10))/255,Math.min(255,parseInt(i[2],10))/255,Math.min(255,parseInt(i[3],10))/255,I);if(i=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(e))return C(i[4]),this.setRGB(Math.min(100,parseInt(i[1],10))/100,Math.min(100,parseInt(i[2],10))/100,Math.min(100,parseInt(i[3],10))/100,I);break;case"hsl":case"hsla":if(i=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(e))return C(i[4]),this.setHSL(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,I);break;default:console.warn("THREE.Color: Unknown color model "+A)}}else if(B=/^\#([A-Fa-f\d]+)$/.exec(A)){const i=B[1],Q=i.length;if(Q===3)return this.setRGB(parseInt(i.charAt(0),16)/15,parseInt(i.charAt(1),16)/15,parseInt(i.charAt(2),16)/15,I);if(Q===6)return this.setHex(parseInt(i,16),I);console.warn("THREE.Color: Invalid hex color "+A)}else if(A&&A.length>0)return this.setColorName(A,I);return this}setColorName(A,I=GC){const C=nf[A.toLowerCase()];return C!==void 0?this.setHex(C,I):console.warn("THREE.Color: Unknown color "+A),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(A){return this.r=A.r,this.g=A.g,this.b=A.b,this}copySRGBToLinear(A){return this.r=uo(A.r),this.g=uo(A.g),this.b=uo(A.b),this}copyLinearToSRGB(A){return this.r=uw(A.r),this.g=uw(A.g),this.b=uw(A.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(A=GC){return VI.fromWorkingColorSpace(YC.copy(this),A),Math.round(Jg(YC.r*255,0,255))*65536+Math.round(Jg(YC.g*255,0,255))*256+Math.round(Jg(YC.b*255,0,255))}getHexString(A=GC){return("000000"+this.getHex(A).toString(16)).slice(-6)}getHSL(A,I=VI.workingColorSpace){VI.fromWorkingColorSpace(YC.copy(this),I);const C=YC.r,B=YC.g,i=YC.b,Q=Math.max(C,B,i),e=Math.min(C,B,i);let t,E;const s=(e+Q)/2;if(e===Q)t=0,E=0;else{const a=Q-e;switch(E=s<=.5?a/(Q+e):a/(2-Q-e),Q){case C:t=(B-i)/a+(B0!=A>0&&this.version++,this._alphaTest=A}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(A){if(A!==void 0)for(const I in A){const C=A[I];if(C===void 0){console.warn(`THREE.Material: parameter '${I}' has value of undefined.`);continue}const B=this[I];if(B===void 0){console.warn(`THREE.Material: '${I}' is not a property of THREE.${this.type}.`);continue}B&&B.isColor?B.set(C):B&&B.isVector3&&C&&C.isVector3?B.copy(C):this[I]=C}}toJSON(A){const I=A===void 0||typeof A=="string";I&&(A={textures:{},images:{}});const C={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};C.uuid=this.uuid,C.type=this.type,this.name!==""&&(C.name=this.name),this.color&&this.color.isColor&&(C.color=this.color.getHex()),this.roughness!==void 0&&(C.roughness=this.roughness),this.metalness!==void 0&&(C.metalness=this.metalness),this.sheen!==void 0&&(C.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(C.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(C.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(C.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(C.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(C.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(C.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(C.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(C.shininess=this.shininess),this.clearcoat!==void 0&&(C.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(C.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(C.clearcoatMap=this.clearcoatMap.toJSON(A).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(C.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(A).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(C.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(A).uuid,C.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(C.dispersion=this.dispersion),this.iridescence!==void 0&&(C.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(C.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(C.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(C.iridescenceMap=this.iridescenceMap.toJSON(A).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(C.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(A).uuid),this.anisotropy!==void 0&&(C.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(C.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(C.anisotropyMap=this.anisotropyMap.toJSON(A).uuid),this.map&&this.map.isTexture&&(C.map=this.map.toJSON(A).uuid),this.matcap&&this.matcap.isTexture&&(C.matcap=this.matcap.toJSON(A).uuid),this.alphaMap&&this.alphaMap.isTexture&&(C.alphaMap=this.alphaMap.toJSON(A).uuid),this.lightMap&&this.lightMap.isTexture&&(C.lightMap=this.lightMap.toJSON(A).uuid,C.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(C.aoMap=this.aoMap.toJSON(A).uuid,C.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(C.bumpMap=this.bumpMap.toJSON(A).uuid,C.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(C.normalMap=this.normalMap.toJSON(A).uuid,C.normalMapType=this.normalMapType,C.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(C.displacementMap=this.displacementMap.toJSON(A).uuid,C.displacementScale=this.displacementScale,C.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(C.roughnessMap=this.roughnessMap.toJSON(A).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(C.metalnessMap=this.metalnessMap.toJSON(A).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(C.emissiveMap=this.emissiveMap.toJSON(A).uuid),this.specularMap&&this.specularMap.isTexture&&(C.specularMap=this.specularMap.toJSON(A).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(C.specularIntensityMap=this.specularIntensityMap.toJSON(A).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(C.specularColorMap=this.specularColorMap.toJSON(A).uuid),this.envMap&&this.envMap.isTexture&&(C.envMap=this.envMap.toJSON(A).uuid,this.combine!==void 0&&(C.combine=this.combine)),this.envMapRotation!==void 0&&(C.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(C.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(C.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(C.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(C.gradientMap=this.gradientMap.toJSON(A).uuid),this.transmission!==void 0&&(C.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(C.transmissionMap=this.transmissionMap.toJSON(A).uuid),this.thickness!==void 0&&(C.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(C.thicknessMap=this.thicknessMap.toJSON(A).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(C.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(C.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(C.size=this.size),this.shadowSide!==null&&(C.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(C.sizeAttenuation=this.sizeAttenuation),this.blending!==Ft&&(C.blending=this.blending),this.side!==pi&&(C.side=this.side),this.vertexColors===!0&&(C.vertexColors=!0),this.opacity<1&&(C.opacity=this.opacity),this.transparent===!0&&(C.transparent=!0),this.blendSrc!==Xc&&(C.blendSrc=this.blendSrc),this.blendDst!==zc&&(C.blendDst=this.blendDst),this.blendEquation!==ae&&(C.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(C.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(C.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(C.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(C.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(C.blendAlpha=this.blendAlpha),this.depthFunc!==_s&&(C.depthFunc=this.depthFunc),this.depthTest===!1&&(C.depthTest=this.depthTest),this.depthWrite===!1&&(C.depthWrite=this.depthWrite),this.colorWrite===!1&&(C.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(C.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==ou&&(C.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(C.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(C.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==ct&&(C.stencilFail=this.stencilFail),this.stencilZFail!==ct&&(C.stencilZFail=this.stencilZFail),this.stencilZPass!==ct&&(C.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(C.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(C.rotation=this.rotation),this.polygonOffset===!0&&(C.polygonOffset=!0),this.polygonOffsetFactor!==0&&(C.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(C.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(C.linewidth=this.linewidth),this.dashSize!==void 0&&(C.dashSize=this.dashSize),this.gapSize!==void 0&&(C.gapSize=this.gapSize),this.scale!==void 0&&(C.scale=this.scale),this.dithering===!0&&(C.dithering=!0),this.alphaTest>0&&(C.alphaTest=this.alphaTest),this.alphaHash===!0&&(C.alphaHash=!0),this.alphaToCoverage===!0&&(C.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(C.premultipliedAlpha=!0),this.forceSinglePass===!0&&(C.forceSinglePass=!0),this.wireframe===!0&&(C.wireframe=!0),this.wireframeLinewidth>1&&(C.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(C.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(C.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(C.flatShading=!0),this.visible===!1&&(C.visible=!1),this.toneMapped===!1&&(C.toneMapped=!1),this.fog===!1&&(C.fog=!1),Object.keys(this.userData).length>0&&(C.userData=this.userData);function B(i){const Q=[];for(const e in i){const t=i[e];delete t.metadata,Q.push(t)}return Q}if(I){const i=B(A.textures),Q=B(A.images);i.length>0&&(C.textures=i),Q.length>0&&(C.images=Q)}return C}clone(){return new this.constructor().copy(this)}copy(A){this.name=A.name,this.blending=A.blending,this.side=A.side,this.vertexColors=A.vertexColors,this.opacity=A.opacity,this.transparent=A.transparent,this.blendSrc=A.blendSrc,this.blendDst=A.blendDst,this.blendEquation=A.blendEquation,this.blendSrcAlpha=A.blendSrcAlpha,this.blendDstAlpha=A.blendDstAlpha,this.blendEquationAlpha=A.blendEquationAlpha,this.blendColor.copy(A.blendColor),this.blendAlpha=A.blendAlpha,this.depthFunc=A.depthFunc,this.depthTest=A.depthTest,this.depthWrite=A.depthWrite,this.stencilWriteMask=A.stencilWriteMask,this.stencilFunc=A.stencilFunc,this.stencilRef=A.stencilRef,this.stencilFuncMask=A.stencilFuncMask,this.stencilFail=A.stencilFail,this.stencilZFail=A.stencilZFail,this.stencilZPass=A.stencilZPass,this.stencilWrite=A.stencilWrite;const I=A.clippingPlanes;let C=null;if(I!==null){const B=I.length;C=new Array(B);for(let i=0;i!==B;++i)C[i]=I[i].clone()}return this.clippingPlanes=C,this.clipIntersection=A.clipIntersection,this.clipShadows=A.clipShadows,this.shadowSide=A.shadowSide,this.colorWrite=A.colorWrite,this.precision=A.precision,this.polygonOffset=A.polygonOffset,this.polygonOffsetFactor=A.polygonOffsetFactor,this.polygonOffsetUnits=A.polygonOffsetUnits,this.dithering=A.dithering,this.alphaTest=A.alphaTest,this.alphaHash=A.alphaHash,this.alphaToCoverage=A.alphaToCoverage,this.premultipliedAlpha=A.premultipliedAlpha,this.forceSinglePass=A.forceSinglePass,this.visible=A.visible,this.toneMapped=A.toneMapped,this.userData=JSON.parse(JSON.stringify(A.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(A){A===!0&&this.version++}}class Wg extends ag{constructor(A){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new KA(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 lC,this.combine=ha,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.envMapRotation.copy(A.envMapRotation),this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.fog=A.fog,this}}const DQ=lx();function lx(){const g=new ArrayBuffer(4),A=new Float32Array(g),I=new Uint32Array(g),C=new Uint32Array(512),B=new Uint32Array(512);for(let t=0;t<256;++t){const E=t-127;E<-27?(C[t]=0,C[t|256]=32768,B[t]=24,B[t|256]=24):E<-14?(C[t]=1024>>-E-14,C[t|256]=1024>>-E-14|32768,B[t]=-E-1,B[t|256]=-E-1):E<=15?(C[t]=E+15<<10,C[t|256]=E+15<<10|32768,B[t]=13,B[t|256]=13):E<128?(C[t]=31744,C[t|256]=64512,B[t]=24,B[t|256]=24):(C[t]=31744,C[t|256]=64512,B[t]=13,B[t|256]=13)}const i=new Uint32Array(2048),Q=new Uint32Array(64),e=new Uint32Array(64);for(let t=1;t<1024;++t){let E=t<<13,s=0;for(;!(E&8388608);)E<<=1,s-=8388608;E&=-8388609,s+=947912704,i[t]=E|s}for(let t=1024;t<2048;++t)i[t]=939524096+(t-1024<<13);for(let t=1;t<31;++t)Q[t]=t<<23;Q[31]=1199570944,Q[32]=2147483648;for(let t=33;t<63;++t)Q[t]=2147483648+(t-32<<23);Q[63]=3347054592;for(let t=1;t<64;++t)t!==32&&(e[t]=1024);return{floatView:A,uint32View:I,baseTable:C,shiftTable:B,mantissaTable:i,exponentTable:Q,offsetTable:e}}function iB(g){Math.abs(g)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),g=Jg(g,-65504,65504),DQ.floatView[0]=g;const A=DQ.uint32View[0],I=A>>23&511;return DQ.baseTable[I]+((A&8388607)>>DQ.shiftTable[I])}function Qs(g){const A=g>>10;return DQ.uint32View[0]=DQ.mantissaTable[DQ.offsetTable[A]+(g&1023)]+DQ.exponentTable[A],DQ.floatView[0]}const cx={toHalfFloat:iB,fromHalfFloat:Qs},bg=new f,nl=new cA;class oI{constructor(A,I,C=!1){if(Array.isArray(A))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=A,this.itemSize=I,this.count=A!==void 0?A.length/I:0,this.normalized=C,this.usage=zs,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=$B,this.version=0}onUploadCallback(){}set needsUpdate(A){A===!0&&this.version++}get updateRange(){return tf("THREE.BufferAttribute: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(A){return this.usage=A,this}addUpdateRange(A,I){this.updateRanges.push({start:A,count:I})}clearUpdateRanges(){this.updateRanges.length=0}copy(A){return this.name=A.name,this.array=new A.array.constructor(A.array),this.itemSize=A.itemSize,this.count=A.count,this.normalized=A.normalized,this.usage=A.usage,this.gpuType=A.gpuType,this}copyAt(A,I,C){A*=this.itemSize,C*=I.itemSize;for(let B=0,i=this.itemSize;B0&&(A.userData=this.userData),this.parameters!==void 0){const t=this.parameters;for(const E in t)t[E]!==void 0&&(A[E]=t[E]);return A}A.data={attributes:{}};const I=this.index;I!==null&&(A.data.index={type:I.array.constructor.name,array:Array.prototype.slice.call(I.array)});const C=this.attributes;for(const t in C){const E=C[t];A.data.attributes[t]=E.toJSON(A.data)}const B={};let i=!1;for(const t in this.morphAttributes){const E=this.morphAttributes[t],s=[];for(let a=0,r=E.length;a0&&(B[t]=s,i=!0)}i&&(A.data.morphAttributes=B,A.data.morphTargetsRelative=this.morphTargetsRelative);const Q=this.groups;Q.length>0&&(A.data.groups=JSON.parse(JSON.stringify(Q)));const e=this.boundingSphere;return e!==null&&(A.data.boundingSphere={center:e.center.toArray(),radius:e.radius}),A}clone(){return new this.constructor().copy(this)}copy(A){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const I={};this.name=A.name;const C=A.index;C!==null&&this.setIndex(C.clone(I));const B=A.attributes;for(const E in B){const s=B[E];this.setAttribute(E,s.clone(I))}const i=A.morphAttributes;for(const E in i){const s=[],a=i[E];for(let r=0,l=a.length;r0){const B=I[C[0]];if(B!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let i=0,Q=B.length;i(A.far-A.near)**2))&&(nU.copy(i).invert(),It.copy(A.ray).applyMatrix4(nU),!(C.boundingBox!==null&&It.intersectsBox(C.boundingBox)===!1)&&this._computeIntersections(A,I,It)))}_computeIntersections(A,I,C){let B;const i=this.geometry,Q=this.material,e=i.index,t=i.attributes.position,E=i.attributes.uv,s=i.attributes.uv1,a=i.attributes.normal,r=i.groups,l=i.drawRange;if(e!==null)if(Array.isArray(Q))for(let h=0,w=r.length;hI.far?null:{distance:E,point:hl.clone(),object:g}}function Sl(g,A,I,C,B,i,Q,e,t,E){g.getVertexPosition(e,qE),g.getVertexPosition(t,mE),g.getVertexPosition(E,YE);const s=kx(g,A,I,C,qE,mE,YE,Dl);if(s){B&&(rl.fromBufferAttribute(B,e),ll.fromBufferAttribute(B,t),cl.fromBufferAttribute(B,E),s.uv=kB.getInterpolation(Dl,qE,mE,YE,rl,ll,cl,new cA)),i&&(rl.fromBufferAttribute(i,e),ll.fromBufferAttribute(i,t),cl.fromBufferAttribute(i,E),s.uv1=kB.getInterpolation(Dl,qE,mE,YE,rl,ll,cl,new cA)),Q&&(aU.fromBufferAttribute(Q,e),rU.fromBufferAttribute(Q,t),lU.fromBufferAttribute(Q,E),s.normal=kB.getInterpolation(Dl,qE,mE,YE,aU,rU,lU,new f),s.normal.dot(C.direction)>0&&s.normal.multiplyScalar(-1));const a={a:e,b:t,c:E,normal:new f,materialIndex:0};kB.getNormal(qE,mE,YE,a.normal),s.face=a}return s}class HQ extends lI{constructor(A=1,I=1,C=1,B=1,i=1,Q=1){super(),this.type="BoxGeometry",this.parameters={width:A,height:I,depth:C,widthSegments:B,heightSegments:i,depthSegments:Q};const e=this;B=Math.floor(B),i=Math.floor(i),Q=Math.floor(Q);const t=[],E=[],s=[],a=[];let r=0,l=0;h("z","y","x",-1,-1,C,I,A,Q,i,0),h("z","y","x",1,-1,C,I,-A,Q,i,1),h("x","z","y",1,1,A,C,I,B,Q,2),h("x","z","y",1,-1,A,C,-I,B,Q,3),h("x","y","z",1,-1,A,I,C,B,i,4),h("x","y","z",-1,-1,A,I,-C,B,i,5),this.setIndex(t),this.setAttribute("position",new $A(E,3)),this.setAttribute("normal",new $A(s,3)),this.setAttribute("uv",new $A(a,2));function h(w,S,c,G,u,M,R,N,F,q,K){const U=M/F,L=R/q,O=M/2,b=R/2,eA=N/2,tA=F+1,rA=q+1;let kA=0,Y=0;const V=new f;for(let _=0;_0?1:-1,s.push(V.x,V.y,V.z),a.push(pA/F),a.push(1-_/q),kA+=1}}for(let _=0;_0&&(I.defines=this.defines),I.vertexShader=this.vertexShader,I.fragmentShader=this.fragmentShader,I.lights=this.lights,I.clipping=this.clipping;const C={};for(const B in this.extensions)this.extensions[B]===!0&&(C[B]=!0);return Object.keys(C).length>0&&(I.extensions=C),I}}class ka extends RI{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new _A,this.projectionMatrix=new _A,this.projectionMatrixInverse=new _A,this.coordinateSystem=bi}copy(A,I){return super.copy(A,I),this.matrixWorldInverse.copy(A.matrixWorldInverse),this.projectionMatrix.copy(A.projectionMatrix),this.projectionMatrixInverse.copy(A.projectionMatrixInverse),this.coordinateSystem=A.coordinateSystem,this}getWorldDirection(A){return super.getWorldDirection(A).negate()}updateMatrixWorld(A){super.updateMatrixWorld(A),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(A,I){super.updateWorldMatrix(A,I),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const ge=new f,cU=new cA,DU=new cA;class _g extends ka{constructor(A=50,I=1,C=.1,B=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=A,this.zoom=1,this.near=C,this.far=B,this.focus=10,this.aspect=I,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(A,I){return super.copy(A,I),this.fov=A.fov,this.zoom=A.zoom,this.near=A.near,this.far=A.far,this.focus=A.focus,this.aspect=A.aspect,this.view=A.view===null?null:Object.assign({},A.view),this.filmGauge=A.filmGauge,this.filmOffset=A.filmOffset,this}setFocalLength(A){const I=.5*this.getFilmHeight()/A;this.fov=Lo*2*Math.atan(I),this.updateProjectionMatrix()}getFocalLength(){const A=Math.tan(Jt*.5*this.fov);return .5*this.getFilmHeight()/A}getEffectiveFOV(){return Lo*2*Math.atan(Math.tan(Jt*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(A,I,C){ge.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),I.set(ge.x,ge.y).multiplyScalar(-A/ge.z),ge.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),C.set(ge.x,ge.y).multiplyScalar(-A/ge.z)}getViewSize(A,I){return this.getViewBounds(A,cU,DU),I.subVectors(DU,cU)}setViewOffset(A,I,C,B,i,Q){this.aspect=A/I,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=A,this.view.fullHeight=I,this.view.offsetX=C,this.view.offsetY=B,this.view.width=i,this.view.height=Q,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const A=this.near;let I=A*Math.tan(Jt*.5*this.fov)/this.zoom,C=2*I,B=this.aspect*C,i=-.5*B;const Q=this.view;if(this.view!==null&&this.view.enabled){const t=Q.fullWidth,E=Q.fullHeight;i+=Q.offsetX*B/t,I-=Q.offsetY*C/E,B*=Q.width/t,C*=Q.height/E}const e=this.filmOffset;e!==0&&(i+=A*e/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+B,I,I-C,A,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){const I=super.toJSON(A);return I.object.fov=this.fov,I.object.zoom=this.zoom,I.object.near=this.near,I.object.far=this.far,I.object.focus=this.focus,I.object.aspect=this.aspect,this.view!==null&&(I.object.view=Object.assign({},this.view)),I.object.filmGauge=this.filmGauge,I.object.filmOffset=this.filmOffset,I}}const LE=-90,HE=1;class af extends RI{constructor(A,I,C){super(),this.type="CubeCamera",this.renderTarget=C,this.coordinateSystem=null,this.activeMipmapLevel=0;const B=new _g(LE,HE,A,I);B.layers=this.layers,this.add(B);const i=new _g(LE,HE,A,I);i.layers=this.layers,this.add(i);const Q=new _g(LE,HE,A,I);Q.layers=this.layers,this.add(Q);const e=new _g(LE,HE,A,I);e.layers=this.layers,this.add(e);const t=new _g(LE,HE,A,I);t.layers=this.layers,this.add(t);const E=new _g(LE,HE,A,I);E.layers=this.layers,this.add(E)}updateCoordinateSystem(){const A=this.coordinateSystem,I=this.children.concat(),[C,B,i,Q,e,t]=I;for(const E of I)this.remove(E);if(A===bi)C.up.set(0,1,0),C.lookAt(1,0,0),B.up.set(0,1,0),B.lookAt(-1,0,0),i.up.set(0,0,-1),i.lookAt(0,1,0),Q.up.set(0,0,1),Q.lookAt(0,-1,0),e.up.set(0,1,0),e.lookAt(0,0,1),t.up.set(0,1,0),t.lookAt(0,0,-1);else if(A===$s)C.up.set(0,-1,0),C.lookAt(-1,0,0),B.up.set(0,-1,0),B.lookAt(1,0,0),i.up.set(0,0,1),i.lookAt(0,1,0),Q.up.set(0,0,-1),Q.lookAt(0,-1,0),e.up.set(0,-1,0),e.lookAt(0,0,1),t.up.set(0,-1,0),t.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+A);for(const E of I)this.add(E),E.updateMatrixWorld()}update(A,I){this.parent===null&&this.updateMatrixWorld();const{renderTarget:C,activeMipmapLevel:B}=this;this.coordinateSystem!==A.coordinateSystem&&(this.coordinateSystem=A.coordinateSystem,this.updateCoordinateSystem());const[i,Q,e,t,E,s]=this.children,a=A.getRenderTarget(),r=A.getActiveCubeFace(),l=A.getActiveMipmapLevel(),h=A.xr.enabled;A.xr.enabled=!1;const w=C.texture.generateMipmaps;C.texture.generateMipmaps=!1,A.setRenderTarget(C,0,B),A.render(I,i),A.setRenderTarget(C,1,B),A.render(I,Q),A.setRenderTarget(C,2,B),A.render(I,e),A.setRenderTarget(C,3,B),A.render(I,t),A.setRenderTarget(C,4,B),A.render(I,E),C.texture.generateMipmaps=w,A.setRenderTarget(C,5,B),A.render(I,s),A.setRenderTarget(a,r,l),A.xr.enabled=h,C.texture.needsPMREMUpdate=!0}}class Ma extends Ig{constructor(A,I,C,B,i,Q,e,t,E,s){A=A!==void 0?A:[],I=I!==void 0?I:NQ,super(A,I,C,B,i,Q,e,t,E,s),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(A){this.image=A}}class rf extends Ui{constructor(A=1,I={}){super(A,A,I),this.isWebGLCubeRenderTarget=!0;const C={width:A,height:A,depth:1},B=[C,C,C,C,C,C];this.texture=new Ma(B,I.mapping,I.wrapS,I.wrapT,I.magFilter,I.minFilter,I.format,I.type,I.anisotropy,I.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=I.generateMipmaps!==void 0?I.generateMipmaps:!1,this.texture.minFilter=I.minFilter!==void 0?I.minFilter:hg}fromEquirectangularTexture(A,I){this.texture.type=I.type,this.texture.colorSpace=I.colorSpace,this.texture.generateMipmaps=I.generateMipmaps,this.texture.minFilter=I.minFilter,this.texture.magFilter=I.magFilter;const C={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 ); + + } + `},B=new HQ(5,5,5),i=new FB({name:"CubemapFromEquirect",uniforms:Ho(C.uniforms),vertexShader:C.vertexShader,fragmentShader:C.fragmentShader,side:TC,blending:uQ});i.uniforms.tEquirect.value=I;const Q=new Qg(B,i),e=I.minFilter;return I.minFilter===EB&&(I.minFilter=hg),new af(1,10,this).update(A,Q),I.minFilter=e,Q.geometry.dispose(),Q.material.dispose(),this}clear(A,I,C,B){const i=A.getRenderTarget();for(let Q=0;Q<6;Q++)A.setRenderTarget(this,Q),A.clear(I,C,B);A.setRenderTarget(i)}}const Hw=new f,Ux=new f,Nx=new MI;class Gi{constructor(A=new f(1,0,0),I=0){this.isPlane=!0,this.normal=A,this.constant=I}set(A,I){return this.normal.copy(A),this.constant=I,this}setComponents(A,I,C,B){return this.normal.set(A,I,C),this.constant=B,this}setFromNormalAndCoplanarPoint(A,I){return this.normal.copy(A),this.constant=-I.dot(this.normal),this}setFromCoplanarPoints(A,I,C){const B=Hw.subVectors(C,I).cross(Ux.subVectors(A,I)).normalize();return this.setFromNormalAndCoplanarPoint(B,A),this}copy(A){return this.normal.copy(A.normal),this.constant=A.constant,this}normalize(){const A=1/this.normal.length();return this.normal.multiplyScalar(A),this.constant*=A,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(A){return this.normal.dot(A)+this.constant}distanceToSphere(A){return this.distanceToPoint(A.center)-A.radius}projectPoint(A,I){return I.copy(A).addScaledVector(this.normal,-this.distanceToPoint(A))}intersectLine(A,I){const C=A.delta(Hw),B=this.normal.dot(C);if(B===0)return this.distanceToPoint(A.start)===0?I.copy(A.start):null;const i=-(A.start.dot(this.normal)+this.constant)/B;return i<0||i>1?null:I.copy(A.start).addScaledVector(C,i)}intersectsLine(A){const I=this.distanceToPoint(A.start),C=this.distanceToPoint(A.end);return I<0&&C>0||C<0&&I>0}intersectsBox(A){return A.intersectsPlane(this)}intersectsSphere(A){return A.intersectsPlane(this)}coplanarPoint(A){return A.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(A,I){const C=I||Nx.getNormalMatrix(A),B=this.coplanarPoint(Hw).applyMatrix4(A),i=this.normal.applyMatrix3(C).normalize();return this.constant=-B.dot(i),this}translate(A){return this.constant-=A.dot(this.normal),this}equals(A){return A.normal.equals(this.normal)&&A.constant===this.constant}clone(){return new this.constructor().copy(this)}}const gt=new Vg,wl=new f;class da{constructor(A=new Gi,I=new Gi,C=new Gi,B=new Gi,i=new Gi,Q=new Gi){this.planes=[A,I,C,B,i,Q]}set(A,I,C,B,i,Q){const e=this.planes;return e[0].copy(A),e[1].copy(I),e[2].copy(C),e[3].copy(B),e[4].copy(i),e[5].copy(Q),this}copy(A){const I=this.planes;for(let C=0;C<6;C++)I[C].copy(A.planes[C]);return this}setFromProjectionMatrix(A,I=bi){const C=this.planes,B=A.elements,i=B[0],Q=B[1],e=B[2],t=B[3],E=B[4],s=B[5],a=B[6],r=B[7],l=B[8],h=B[9],w=B[10],S=B[11],c=B[12],G=B[13],u=B[14],M=B[15];if(C[0].setComponents(t-i,r-E,S-l,M-c).normalize(),C[1].setComponents(t+i,r+E,S+l,M+c).normalize(),C[2].setComponents(t+Q,r+s,S+h,M+G).normalize(),C[3].setComponents(t-Q,r-s,S-h,M-G).normalize(),C[4].setComponents(t-e,r-a,S-w,M-u).normalize(),I===bi)C[5].setComponents(t+e,r+a,S+w,M+u).normalize();else if(I===$s)C[5].setComponents(e,a,w,u).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+I);return this}intersectsObject(A){if(A.boundingSphere!==void 0)A.boundingSphere===null&&A.computeBoundingSphere(),gt.copy(A.boundingSphere).applyMatrix4(A.matrixWorld);else{const I=A.geometry;I.boundingSphere===null&&I.computeBoundingSphere(),gt.copy(I.boundingSphere).applyMatrix4(A.matrixWorld)}return this.intersectsSphere(gt)}intersectsSprite(A){return gt.center.set(0,0,0),gt.radius=.7071067811865476,gt.applyMatrix4(A.matrixWorld),this.intersectsSphere(gt)}intersectsSphere(A){const I=this.planes,C=A.center,B=-A.radius;for(let i=0;i<6;i++)if(I[i].distanceToPoint(C)0?A.max.x:A.min.x,wl.y=B.normal.y>0?A.max.y:A.min.y,wl.z=B.normal.z>0?A.max.z:A.min.z,B.distanceToPoint(wl)<0)return!1}return!0}containsPoint(A){const I=this.planes;for(let C=0;C<6;C++)if(I[C].distanceToPoint(A)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function lf(){let g=null,A=!1,I=null,C=null;function B(i,Q){I(i,Q),C=g.requestAnimationFrame(B)}return{start:function(){A!==!0&&I!==null&&(C=g.requestAnimationFrame(B),A=!0)},stop:function(){g.cancelAnimationFrame(C),A=!1},setAnimationLoop:function(i){I=i},setContext:function(i){g=i}}}function Fx(g){const A=new WeakMap;function I(e,t){const E=e.array,s=e.usage,a=E.byteLength,r=g.createBuffer();g.bindBuffer(t,r),g.bufferData(t,E,s),e.onUploadCallback();let l;if(E instanceof Float32Array)l=g.FLOAT;else if(E instanceof Uint16Array)e.isFloat16BufferAttribute?l=g.HALF_FLOAT:l=g.UNSIGNED_SHORT;else if(E instanceof Int16Array)l=g.SHORT;else if(E instanceof Uint32Array)l=g.UNSIGNED_INT;else if(E instanceof Int32Array)l=g.INT;else if(E instanceof Int8Array)l=g.BYTE;else if(E instanceof Uint8Array)l=g.UNSIGNED_BYTE;else if(E instanceof Uint8ClampedArray)l=g.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+E);return{buffer:r,type:l,bytesPerElement:E.BYTES_PER_ELEMENT,version:e.version,size:a}}function C(e,t,E){const s=t.array,a=t._updateRange,r=t.updateRanges;if(g.bindBuffer(E,e),a.count===-1&&r.length===0&&g.bufferSubData(E,0,s),r.length!==0){for(let l=0,h=r.length;l 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`,Zx=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; +#endif`,Wx=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,Vx=`#if NUM_CLIPPING_PLANES > 0 + vClipPosition = - mvPosition.xyz; +#endif`,jx=`#if defined( USE_COLOR_ALPHA ) + diffuseColor *= vColor; +#elif defined( USE_COLOR ) + diffuseColor.rgb *= vColor; +#endif`,Xx=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) + varying vec3 vColor; +#endif`,zx=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) + varying vec3 vColor; +#endif`,$x=`#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`,A2=`#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`,I2=`#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`,g2=`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`,C2=`#ifdef USE_DISPLACEMENTMAP + uniform sampler2D displacementMap; + uniform float displacementScale; + uniform float displacementBias; +#endif`,B2=`#ifdef USE_DISPLACEMENTMAP + transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); +#endif`,i2=`#ifdef USE_EMISSIVEMAP + vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); + totalEmissiveRadiance *= emissiveColor.rgb; +#endif`,Q2=`#ifdef USE_EMISSIVEMAP + uniform sampler2D emissiveMap; +#endif`,e2="gl_FragColor = linearToOutputTexel( gl_FragColor );",t2=` +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 ); +}`,E2=`#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`,o2=`#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`,n2=`#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`,s2=`#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`,a2=`#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`,r2=`#ifdef USE_FOG + vFogDepth = - mvPosition.z; +#endif`,l2=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,c2=`#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`,D2=`#ifdef USE_FOG + uniform vec3 fogColor; + varying float vFogDepth; + #ifdef FOG_EXP2 + uniform float fogDensity; + #else + uniform float fogNear; + uniform float fogFar; + #endif +#endif`,h2=`#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 +}`,S2=`#ifdef USE_LIGHTMAP + uniform sampler2D lightMap; + uniform float lightMapIntensity; +#endif`,w2=`LambertMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularStrength = specularStrength;`,G2=`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`,y2=`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`,u2=`#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`,k2=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,M2=`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`,d2=`BlinnPhongMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularColor = specular; +material.specularShininess = shininess; +material.specularStrength = specularStrength;`,p2=`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`,U2=`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_DISPERSION + material.dispersion = dispersion; +#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`,N2=`struct PhysicalMaterial { + vec3 diffuseColor; + float roughness; + vec3 specularColor; + float specularF90; + float dispersion; + #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 ); +}`,F2=` +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`,R2=`#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`,K2=`#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`,J2=`#if defined( USE_LOGDEPTHBUF ) + gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,f2=`#if defined( USE_LOGDEPTHBUF ) + uniform float logDepthBufFC; + varying float vFragDepth; + varying float vIsPerspective; +#endif`,q2=`#ifdef USE_LOGDEPTHBUF + varying float vFragDepth; + varying float vIsPerspective; +#endif`,m2=`#ifdef USE_LOGDEPTHBUF + vFragDepth = 1.0 + gl_Position.w; + vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); +#endif`,Y2=`#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`,L2=`#ifdef USE_MAP + uniform sampler2D map; +#endif`,H2=`#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`,T2=`#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`,x2=`float metalnessFactor = metalness; +#ifdef USE_METALNESSMAP + vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); + metalnessFactor *= texelMetalness.b; +#endif`,v2=`#ifdef USE_METALNESSMAP + uniform sampler2D metalnessMap; +#endif`,b2=`#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`,O2=`#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`,_2=`#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`,P2=`#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`,Z2=`#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`,W2=`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;`,V2=`#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`,j2=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,X2=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,z2=`#ifndef FLAT_SHADED + vNormal = normalize( transformedNormal ); + #ifdef USE_TANGENT + vTangent = normalize( transformedTangent ); + vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); + #endif +#endif`,$2=`#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`,Av=`#ifdef USE_CLEARCOAT + vec3 clearcoatNormal = nonPerturbedNormal; +#endif`,Iv=`#ifdef USE_CLEARCOAT_NORMALMAP + vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; + clearcoatMapN.xy *= clearcoatNormalScale; + clearcoatNormal = normalize( tbn2 * clearcoatMapN ); +#endif`,gv=`#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`,Cv=`#ifdef USE_IRIDESCENCEMAP + uniform sampler2D iridescenceMap; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + uniform sampler2D iridescenceThicknessMap; +#endif`,Bv=`#ifdef OPAQUE +diffuseColor.a = 1.0; +#endif +#ifdef USE_TRANSMISSION +diffuseColor.a *= material.transmissionAlpha; +#endif +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,iv=`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 ); +}`,Qv=`#ifdef PREMULTIPLIED_ALPHA + gl_FragColor.rgb *= gl_FragColor.a; +#endif`,ev=`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;`,tv=`#ifdef DITHERING + gl_FragColor.rgb = dithering( gl_FragColor.rgb ); +#endif`,Ev=`#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`,ov=`float roughnessFactor = roughness; +#ifdef USE_ROUGHNESSMAP + vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); + roughnessFactor *= texelRoughness.g; +#endif`,nv=`#ifdef USE_ROUGHNESSMAP + uniform sampler2D roughnessMap; +#endif`,sv=`#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 ) { + float shadow = 1.0; + vec3 lightToPosition = shadowCoord.xyz; + + float lightToPositionLength = length( lightToPosition ); + if ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) { + float dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; + vec3 bd3D = normalize( lightToPosition ); + vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); + #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) + vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; + shadow = ( + 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 + shadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); + #endif + } + return shadow; + } +#endif`,av=`#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`,rv=`#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`,lv=`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; +}`,cv=`#ifdef USE_SKINNING + mat4 boneMatX = getBoneMatrix( skinIndex.x ); + mat4 boneMatY = getBoneMatrix( skinIndex.y ); + mat4 boneMatZ = getBoneMatrix( skinIndex.z ); + mat4 boneMatW = getBoneMatrix( skinIndex.w ); +#endif`,Dv=`#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`,hv=`#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`,Sv=`#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`,wv=`float specularStrength; +#ifdef USE_SPECULARMAP + vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); + specularStrength = texelSpecular.r; +#else + specularStrength = 1.0; +#endif`,Gv=`#ifdef USE_SPECULARMAP + uniform sampler2D specularMap; +#endif`,yv=`#if defined( TONE_MAPPING ) + gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); +#endif`,uv=`#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 ) { + const float StartCompression = 0.8 - 0.04; + const 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( newPeak ), g ); +} +vec3 CustomToneMapping( vec3 color ) { return color; }`,kv=`#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.dispersion, 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`,Mv=`#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 dispersion, const in float ior, const in float thickness, + const in vec3 attenuationColor, const in float attenuationDistance ) { + vec4 transmittedLight; + vec3 transmittance; + #ifdef USE_DISPERSION + float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion; + vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread ); + for ( int i = 0; i < 3; i ++ ) { + vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix ); + vec3 refractedRayExit = position + transmissionRay; + + vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); + vec2 refractionCoords = ndcPos.xy / ndcPos.w; + refractionCoords += 1.0; + refractionCoords /= 2.0; + + vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] ); + transmittedLight[ i ] = transmissionSample[ i ]; + transmittedLight.a += transmissionSample.a; + transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ]; + } + transmittedLight.a /= 3.0; + + #else + + 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; + transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); + transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); + + #endif + 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`,dv=`#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`,pv=`#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`,Uv=`#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`,Nv=`#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 Fv=`varying vec2 vUv; +uniform mat3 uvTransform; +void main() { + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; + gl_Position = vec4( position.xy, 1.0, 1.0 ); +}`,Rv=`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 +}`,Kv=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,Jv=`#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 +}`,fv=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,qv=`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 +}`,mv=`#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; +}`,Yv=`#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 +}`,Lv=`#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; +}`,Hv=`#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 ); +}`,Tv=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include +}`,xv=`uniform sampler2D tEquirect; +varying vec3 vWorldDirection; +#include +void main() { + vec3 direction = normalize( vWorldDirection ); + vec2 sampleUV = equirectUv( direction ); + gl_FragColor = texture2D( tEquirect, sampleUV ); + #include + #include +}`,vv=`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 +}`,bv=`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 +}`,Ov=`#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 +}`,_v=`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 +}`,Pv=`#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 +}`,Zv=`#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 +}`,Wv=`#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; +}`,Vv=`#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 +}`,jv=`#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 +}`,Xv=`#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 +}`,zv=`#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 +}`,$v=`#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 +}`,Ab=`#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 +}`,Ib=`#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_DISPERSION + uniform float dispersion; +#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 +}`,gb=`#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 +}`,Cb=`#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 +}`,Bb=`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 +}`,ib=`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 +}`,Qb=`#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,eb=`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 +}`,tb=`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 +}`,Eb=`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 +}`,pI={alphahash_fragment:Rx,alphahash_pars_fragment:Kx,alphamap_fragment:Jx,alphamap_pars_fragment:fx,alphatest_fragment:qx,alphatest_pars_fragment:mx,aomap_fragment:Yx,aomap_pars_fragment:Lx,batching_pars_vertex:Hx,batching_vertex:Tx,begin_vertex:xx,beginnormal_vertex:vx,bsdfs:bx,iridescence_fragment:Ox,bumpmap_pars_fragment:_x,clipping_planes_fragment:Px,clipping_planes_pars_fragment:Zx,clipping_planes_pars_vertex:Wx,clipping_planes_vertex:Vx,color_fragment:jx,color_pars_fragment:Xx,color_pars_vertex:zx,color_vertex:$x,common:A2,cube_uv_reflection_fragment:I2,defaultnormal_vertex:g2,displacementmap_pars_vertex:C2,displacementmap_vertex:B2,emissivemap_fragment:i2,emissivemap_pars_fragment:Q2,colorspace_fragment:e2,colorspace_pars_fragment:t2,envmap_fragment:E2,envmap_common_pars_fragment:o2,envmap_pars_fragment:n2,envmap_pars_vertex:s2,envmap_physical_pars_fragment:u2,envmap_vertex:a2,fog_vertex:r2,fog_pars_vertex:l2,fog_fragment:c2,fog_pars_fragment:D2,gradientmap_pars_fragment:h2,lightmap_pars_fragment:S2,lights_lambert_fragment:w2,lights_lambert_pars_fragment:G2,lights_pars_begin:y2,lights_toon_fragment:k2,lights_toon_pars_fragment:M2,lights_phong_fragment:d2,lights_phong_pars_fragment:p2,lights_physical_fragment:U2,lights_physical_pars_fragment:N2,lights_fragment_begin:F2,lights_fragment_maps:R2,lights_fragment_end:K2,logdepthbuf_fragment:J2,logdepthbuf_pars_fragment:f2,logdepthbuf_pars_vertex:q2,logdepthbuf_vertex:m2,map_fragment:Y2,map_pars_fragment:L2,map_particle_fragment:H2,map_particle_pars_fragment:T2,metalnessmap_fragment:x2,metalnessmap_pars_fragment:v2,morphinstance_vertex:b2,morphcolor_vertex:O2,morphnormal_vertex:_2,morphtarget_pars_vertex:P2,morphtarget_vertex:Z2,normal_fragment_begin:W2,normal_fragment_maps:V2,normal_pars_fragment:j2,normal_pars_vertex:X2,normal_vertex:z2,normalmap_pars_fragment:$2,clearcoat_normal_fragment_begin:Av,clearcoat_normal_fragment_maps:Iv,clearcoat_pars_fragment:gv,iridescence_pars_fragment:Cv,opaque_fragment:Bv,packing:iv,premultiplied_alpha_fragment:Qv,project_vertex:ev,dithering_fragment:tv,dithering_pars_fragment:Ev,roughnessmap_fragment:ov,roughnessmap_pars_fragment:nv,shadowmap_pars_fragment:sv,shadowmap_pars_vertex:av,shadowmap_vertex:rv,shadowmask_pars_fragment:lv,skinbase_vertex:cv,skinning_pars_vertex:Dv,skinning_vertex:hv,skinnormal_vertex:Sv,specularmap_fragment:wv,specularmap_pars_fragment:Gv,tonemapping_fragment:yv,tonemapping_pars_fragment:uv,transmission_fragment:kv,transmission_pars_fragment:Mv,uv_pars_fragment:dv,uv_pars_vertex:pv,uv_vertex:Uv,worldpos_vertex:Nv,background_vert:Fv,background_frag:Rv,backgroundCube_vert:Kv,backgroundCube_frag:Jv,cube_vert:fv,cube_frag:qv,depth_vert:mv,depth_frag:Yv,distanceRGBA_vert:Lv,distanceRGBA_frag:Hv,equirect_vert:Tv,equirect_frag:xv,linedashed_vert:vv,linedashed_frag:bv,meshbasic_vert:Ov,meshbasic_frag:_v,meshlambert_vert:Pv,meshlambert_frag:Zv,meshmatcap_vert:Wv,meshmatcap_frag:Vv,meshnormal_vert:jv,meshnormal_frag:Xv,meshphong_vert:zv,meshphong_frag:$v,meshphysical_vert:Ab,meshphysical_frag:Ib,meshtoon_vert:gb,meshtoon_frag:Cb,points_vert:Bb,points_frag:ib,shadow_vert:Qb,shadow_frag:eb,sprite_vert:tb,sprite_frag:Eb},YA={common:{diffuse:{value:new KA(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new MI},alphaMap:{value:null},alphaMapTransform:{value:new MI},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new MI}},envmap:{envMap:{value:null},envMapRotation:{value:new MI},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new MI}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new MI}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new MI},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new MI},normalScale:{value:new cA(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new MI},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new MI}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new MI}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new MI}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new KA(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 KA(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new MI},alphaTest:{value:0},uvTransform:{value:new MI}},sprite:{diffuse:{value:new KA(16777215)},opacity:{value:1},center:{value:new cA(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new MI},alphaMap:{value:null},alphaMapTransform:{value:new MI},alphaTest:{value:0}}},yi={basic:{uniforms:ZC([YA.common,YA.specularmap,YA.envmap,YA.aomap,YA.lightmap,YA.fog]),vertexShader:pI.meshbasic_vert,fragmentShader:pI.meshbasic_frag},lambert:{uniforms:ZC([YA.common,YA.specularmap,YA.envmap,YA.aomap,YA.lightmap,YA.emissivemap,YA.bumpmap,YA.normalmap,YA.displacementmap,YA.fog,YA.lights,{emissive:{value:new KA(0)}}]),vertexShader:pI.meshlambert_vert,fragmentShader:pI.meshlambert_frag},phong:{uniforms:ZC([YA.common,YA.specularmap,YA.envmap,YA.aomap,YA.lightmap,YA.emissivemap,YA.bumpmap,YA.normalmap,YA.displacementmap,YA.fog,YA.lights,{emissive:{value:new KA(0)},specular:{value:new KA(1118481)},shininess:{value:30}}]),vertexShader:pI.meshphong_vert,fragmentShader:pI.meshphong_frag},standard:{uniforms:ZC([YA.common,YA.envmap,YA.aomap,YA.lightmap,YA.emissivemap,YA.bumpmap,YA.normalmap,YA.displacementmap,YA.roughnessmap,YA.metalnessmap,YA.fog,YA.lights,{emissive:{value:new KA(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:pI.meshphysical_vert,fragmentShader:pI.meshphysical_frag},toon:{uniforms:ZC([YA.common,YA.aomap,YA.lightmap,YA.emissivemap,YA.bumpmap,YA.normalmap,YA.displacementmap,YA.gradientmap,YA.fog,YA.lights,{emissive:{value:new KA(0)}}]),vertexShader:pI.meshtoon_vert,fragmentShader:pI.meshtoon_frag},matcap:{uniforms:ZC([YA.common,YA.bumpmap,YA.normalmap,YA.displacementmap,YA.fog,{matcap:{value:null}}]),vertexShader:pI.meshmatcap_vert,fragmentShader:pI.meshmatcap_frag},points:{uniforms:ZC([YA.points,YA.fog]),vertexShader:pI.points_vert,fragmentShader:pI.points_frag},dashed:{uniforms:ZC([YA.common,YA.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:pI.linedashed_vert,fragmentShader:pI.linedashed_frag},depth:{uniforms:ZC([YA.common,YA.displacementmap]),vertexShader:pI.depth_vert,fragmentShader:pI.depth_frag},normal:{uniforms:ZC([YA.common,YA.bumpmap,YA.normalmap,YA.displacementmap,{opacity:{value:1}}]),vertexShader:pI.meshnormal_vert,fragmentShader:pI.meshnormal_frag},sprite:{uniforms:ZC([YA.sprite,YA.fog]),vertexShader:pI.sprite_vert,fragmentShader:pI.sprite_frag},background:{uniforms:{uvTransform:{value:new MI},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:pI.background_vert,fragmentShader:pI.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new MI}},vertexShader:pI.backgroundCube_vert,fragmentShader:pI.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:pI.cube_vert,fragmentShader:pI.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:pI.equirect_vert,fragmentShader:pI.equirect_frag},distanceRGBA:{uniforms:ZC([YA.common,YA.displacementmap,{referencePosition:{value:new f},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:pI.distanceRGBA_vert,fragmentShader:pI.distanceRGBA_frag},shadow:{uniforms:ZC([YA.lights,YA.fog,{color:{value:new KA(0)},opacity:{value:1}}]),vertexShader:pI.shadow_vert,fragmentShader:pI.shadow_frag}};yi.physical={uniforms:ZC([yi.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new MI},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new MI},clearcoatNormalScale:{value:new cA(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new MI},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new MI},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new MI},sheen:{value:0},sheenColor:{value:new KA(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new MI},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new MI},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new MI},transmissionSamplerSize:{value:new cA},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new MI},attenuationDistance:{value:0},attenuationColor:{value:new KA(0)},specularColor:{value:new KA(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new MI},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new MI},anisotropyVector:{value:new cA},anisotropyMap:{value:null},anisotropyMapTransform:{value:new MI}}]),vertexShader:pI.meshphysical_vert,fragmentShader:pI.meshphysical_frag};const Gl={r:0,b:0,g:0},Ct=new lC,ob=new _A;function nb(g,A,I,C,B,i,Q){const e=new KA(0);let t=i===!0?0:1,E,s,a=null,r=0,l=null;function h(G){let u=G.isScene===!0?G.background:null;return u&&u.isTexture&&(u=(G.backgroundBlurriness>0?I:A).get(u)),u}function w(G){let u=!1;const M=h(G);M===null?c(e,t):M&&M.isColor&&(c(M,1),u=!0);const R=g.xr.getEnvironmentBlendMode();R==="additive"?C.buffers.color.setClear(0,0,0,1,Q):R==="alpha-blend"&&C.buffers.color.setClear(0,0,0,0,Q),(g.autoClear||u)&&g.clear(g.autoClearColor,g.autoClearDepth,g.autoClearStencil)}function S(G,u){const M=h(u);M&&(M.isCubeTexture||M.mapping===jo)?(s===void 0&&(s=new Qg(new HQ(1,1,1),new FB({name:"BackgroundCubeMaterial",uniforms:Ho(yi.backgroundCube.uniforms),vertexShader:yi.backgroundCube.vertexShader,fragmentShader:yi.backgroundCube.fragmentShader,side:TC,depthTest:!1,depthWrite:!1,fog:!1})),s.geometry.deleteAttribute("normal"),s.geometry.deleteAttribute("uv"),s.onBeforeRender=function(R,N,F){this.matrixWorld.copyPosition(F.matrixWorld)},Object.defineProperty(s.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),B.update(s)),Ct.copy(u.backgroundRotation),Ct.x*=-1,Ct.y*=-1,Ct.z*=-1,M.isCubeTexture&&M.isRenderTargetTexture===!1&&(Ct.y*=-1,Ct.z*=-1),s.material.uniforms.envMap.value=M,s.material.uniforms.flipEnvMap.value=M.isCubeTexture&&M.isRenderTargetTexture===!1?-1:1,s.material.uniforms.backgroundBlurriness.value=u.backgroundBlurriness,s.material.uniforms.backgroundIntensity.value=u.backgroundIntensity,s.material.uniforms.backgroundRotation.value.setFromMatrix4(ob.makeRotationFromEuler(Ct)),s.material.toneMapped=VI.getTransfer(M.colorSpace)!==eg,(a!==M||r!==M.version||l!==g.toneMapping)&&(s.material.needsUpdate=!0,a=M,r=M.version,l=g.toneMapping),s.layers.enableAll(),G.unshift(s,s.geometry,s.material,0,0,null)):M&&M.isTexture&&(E===void 0&&(E=new Qg(new $t(2,2),new FB({name:"BackgroundMaterial",uniforms:Ho(yi.background.uniforms),vertexShader:yi.background.vertexShader,fragmentShader:yi.background.fragmentShader,side:pi,depthTest:!1,depthWrite:!1,fog:!1})),E.geometry.deleteAttribute("normal"),Object.defineProperty(E.material,"map",{get:function(){return this.uniforms.t2D.value}}),B.update(E)),E.material.uniforms.t2D.value=M,E.material.uniforms.backgroundIntensity.value=u.backgroundIntensity,E.material.toneMapped=VI.getTransfer(M.colorSpace)!==eg,M.matrixAutoUpdate===!0&&M.updateMatrix(),E.material.uniforms.uvTransform.value.copy(M.matrix),(a!==M||r!==M.version||l!==g.toneMapping)&&(E.material.needsUpdate=!0,a=M,r=M.version,l=g.toneMapping),E.layers.enableAll(),G.unshift(E,E.geometry,E.material,0,0,null))}function c(G,u){G.getRGB(Gl,sf(g)),C.buffers.color.setClear(Gl.r,Gl.g,Gl.b,u,Q)}return{getClearColor:function(){return e},setClearColor:function(G,u=1){e.set(G),t=u,c(e,t)},getClearAlpha:function(){return t},setClearAlpha:function(G){t=G,c(e,t)},render:w,addToRenderList:S}}function sb(g,A){const I=g.getParameter(g.MAX_VERTEX_ATTRIBS),C={},B=r(null);let i=B,Q=!1;function e(U,L,O,b,eA){let tA=!1;const rA=a(b,O,L);i!==rA&&(i=rA,E(i.object)),tA=l(U,b,O,eA),tA&&h(U,b,O,eA),eA!==null&&A.update(eA,g.ELEMENT_ARRAY_BUFFER),(tA||Q)&&(Q=!1,M(U,L,O,b),eA!==null&&g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,A.get(eA).buffer))}function t(){return g.createVertexArray()}function E(U){return g.bindVertexArray(U)}function s(U){return g.deleteVertexArray(U)}function a(U,L,O){const b=O.wireframe===!0;let eA=C[U.id];eA===void 0&&(eA={},C[U.id]=eA);let tA=eA[L.id];tA===void 0&&(tA={},eA[L.id]=tA);let rA=tA[b];return rA===void 0&&(rA=r(t()),tA[b]=rA),rA}function r(U){const L=[],O=[],b=[];for(let eA=0;eA=0){const _=eA[Y];let QA=tA[Y];if(QA===void 0&&(Y==="instanceMatrix"&&U.instanceMatrix&&(QA=U.instanceMatrix),Y==="instanceColor"&&U.instanceColor&&(QA=U.instanceColor)),_===void 0||_.attribute!==QA||QA&&_.data!==QA.data)return!0;rA++}return i.attributesNum!==rA||i.index!==b}function h(U,L,O,b){const eA={},tA=L.attributes;let rA=0;const kA=O.getAttributes();for(const Y in kA)if(kA[Y].location>=0){let _=tA[Y];_===void 0&&(Y==="instanceMatrix"&&U.instanceMatrix&&(_=U.instanceMatrix),Y==="instanceColor"&&U.instanceColor&&(_=U.instanceColor));const QA={};QA.attribute=_,_&&_.data&&(QA.data=_.data),eA[Y]=QA,rA++}i.attributes=eA,i.attributesNum=rA,i.index=b}function w(){const U=i.newAttributes;for(let L=0,O=U.length;L=0){let V=eA[kA];if(V===void 0&&(kA==="instanceMatrix"&&U.instanceMatrix&&(V=U.instanceMatrix),kA==="instanceColor"&&U.instanceColor&&(V=U.instanceColor)),V!==void 0){const _=V.normalized,QA=V.itemSize,pA=A.get(V);if(pA===void 0)continue;const OA=pA.buffer,CA=pA.type,yA=pA.bytesPerElement,aA=CA===g.INT||CA===g.UNSIGNED_INT||V.gpuType===Mk;if(V.isInterleavedBufferAttribute){const wA=V.data,II=wA.stride,mA=V.offset;if(wA.isInstancedInterleavedBuffer){for(let P=0;P0&&g.getShaderPrecisionFormat(g.FRAGMENT_SHADER,g.HIGH_FLOAT).precision>0)return"highp";N="mediump"}return N==="mediump"&&g.getShaderPrecisionFormat(g.VERTEX_SHADER,g.MEDIUM_FLOAT).precision>0&&g.getShaderPrecisionFormat(g.FRAGMENT_SHADER,g.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let E=I.precision!==void 0?I.precision:"highp";const s=t(E);s!==E&&(console.warn("THREE.WebGLRenderer:",E,"not supported, using",s,"instead."),E=s);const a=I.logarithmicDepthBuffer===!0,r=g.getParameter(g.MAX_TEXTURE_IMAGE_UNITS),l=g.getParameter(g.MAX_VERTEX_TEXTURE_IMAGE_UNITS),h=g.getParameter(g.MAX_TEXTURE_SIZE),w=g.getParameter(g.MAX_CUBE_MAP_TEXTURE_SIZE),S=g.getParameter(g.MAX_VERTEX_ATTRIBS),c=g.getParameter(g.MAX_VERTEX_UNIFORM_VECTORS),G=g.getParameter(g.MAX_VARYING_VECTORS),u=g.getParameter(g.MAX_FRAGMENT_UNIFORM_VECTORS),M=l>0,R=g.getParameter(g.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:i,getMaxPrecision:t,textureFormatReadable:Q,textureTypeReadable:e,precision:E,logarithmicDepthBuffer:a,maxTextures:r,maxVertexTextures:l,maxTextureSize:h,maxCubemapSize:w,maxAttributes:S,maxVertexUniforms:c,maxVaryings:G,maxFragmentUniforms:u,vertexTextures:M,maxSamples:R}}function lb(g){const A=this;let I=null,C=0,B=!1,i=!1;const Q=new Gi,e=new MI,t={value:null,needsUpdate:!1};this.uniform=t,this.numPlanes=0,this.numIntersection=0,this.init=function(a,r){const l=a.length!==0||r||C!==0||B;return B=r,C=a.length,l},this.beginShadows=function(){i=!0,s(null)},this.endShadows=function(){i=!1},this.setGlobalState=function(a,r){I=s(a,r,0)},this.setState=function(a,r,l){const h=a.clippingPlanes,w=a.clipIntersection,S=a.clipShadows,c=g.get(a);if(!B||h===null||h.length===0||i&&!S)i?s(null):E();else{const G=i?0:C,u=G*4;let M=c.clippingState||null;t.value=M,M=s(h,r,u,l);for(let R=0;R!==u;++R)M[R]=I[R];c.clippingState=M,this.numIntersection=w?this.numPlanes:0,this.numPlanes+=G}};function E(){t.value!==I&&(t.value=I,t.needsUpdate=C>0),A.numPlanes=C,A.numIntersection=0}function s(a,r,l,h){const w=a!==null?a.length:0;let S=null;if(w!==0){if(S=t.value,h!==!0||S===null){const c=l+w*4,G=r.matrixWorldInverse;e.getNormalMatrix(G),(S===null||S.length0){const E=new rf(t.height);return E.fromEquirectangularTexture(g,Q),A.set(Q,E),Q.addEventListener("dispose",B),I(E.texture,Q.mapping)}else return null}}return Q}function B(Q){const e=Q.target;e.removeEventListener("dispose",B);const t=A.get(e);t!==void 0&&(A.delete(e),t.dispose())}function i(){A=new WeakMap}return{get:C,dispose:i}}class AE extends ka{constructor(A=-1,I=1,C=1,B=-1,i=.1,Q=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=A,this.right=I,this.top=C,this.bottom=B,this.near=i,this.far=Q,this.updateProjectionMatrix()}copy(A,I){return super.copy(A,I),this.left=A.left,this.right=A.right,this.top=A.top,this.bottom=A.bottom,this.near=A.near,this.far=A.far,this.zoom=A.zoom,this.view=A.view===null?null:Object.assign({},A.view),this}setViewOffset(A,I,C,B,i,Q){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=A,this.view.fullHeight=I,this.view.offsetX=C,this.view.offsetY=B,this.view.width=i,this.view.height=Q,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const A=(this.right-this.left)/(2*this.zoom),I=(this.top-this.bottom)/(2*this.zoom),C=(this.right+this.left)/2,B=(this.top+this.bottom)/2;let i=C-A,Q=C+A,e=B+I,t=B-I;if(this.view!==null&&this.view.enabled){const E=(this.right-this.left)/this.view.fullWidth/this.zoom,s=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=E*this.view.offsetX,Q=i+E*this.view.width,e-=s*this.view.offsetY,t=e-s*this.view.height}this.projectionMatrix.makeOrthographic(i,Q,e,t,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){const I=super.toJSON(A);return I.object.zoom=this.zoom,I.object.left=this.left,I.object.right=this.right,I.object.top=this.top,I.object.bottom=this.bottom,I.object.near=this.near,I.object.far=this.far,this.view!==null&&(I.object.view=Object.assign({},this.view)),I}}const ro=4,hU=[.125,.215,.35,.446,.526,.582],ht=20,Tw=new AE,SU=new KA;let xw=null,vw=0,bw=0,Ow=!1;const Dt=(1+Math.sqrt(5))/2,TE=1/Dt,wU=[new f(-Dt,TE,0),new f(Dt,TE,0),new f(-TE,0,Dt),new f(TE,0,Dt),new f(0,Dt,-TE),new f(0,Dt,TE),new f(-1,1,-1),new f(1,1,-1),new f(-1,1,1),new f(1,1,1)];class su{constructor(A){this._renderer=A,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(A,I=0,C=.1,B=100){xw=this._renderer.getRenderTarget(),vw=this._renderer.getActiveCubeFace(),bw=this._renderer.getActiveMipmapLevel(),Ow=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(256);const i=this._allocateTargets();return i.depthBuffer=!0,this._sceneToCubeUV(A,C,B,i),I>0&&this._blur(i,0,0,I),this._applyPMREM(i),this._cleanup(i),i}fromEquirectangular(A,I=null){return this._fromTexture(A,I)}fromCubemap(A,I=null){return this._fromTexture(A,I)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=uU(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=yU(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(A){this._lodMax=Math.floor(Math.log2(A)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let A=0;A2?u:0,u,u),s.setRenderTarget(B),w&&s.render(h,e),s.render(A,e)}h.geometry.dispose(),h.material.dispose(),s.toneMapping=r,s.autoClear=a,A.background=S}_textureToCubeUV(A,I){const C=this._renderer,B=A.mapping===NQ||A.mapping===Ke;B?(this._cubemapMaterial===null&&(this._cubemapMaterial=uU()),this._cubemapMaterial.uniforms.flipEnvMap.value=A.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=yU());const i=B?this._cubemapMaterial:this._equirectMaterial,Q=new Qg(this._lodPlanes[0],i),e=i.uniforms;e.envMap.value=A;const t=this._cubeSize;yl(I,0,0,3*t,2*t),C.setRenderTarget(I),C.render(Q,Tw)}_applyPMREM(A){const I=this._renderer,C=I.autoClear;I.autoClear=!1;const B=this._lodPlanes.length;for(let i=1;iht&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${S} samples when the maximum is set to ${ht}`);const c=[];let G=0;for(let F=0;Fu-ro?B-u+ro:0),N=4*(this._cubeSize-M);yl(I,R,N,3*M,2*M),t.setRenderTarget(I),t.render(a,Tw)}}function Db(g){const A=[],I=[],C=[];let B=g;const i=g-ro+1+hU.length;for(let Q=0;Qg-ro?t=hU[Q-g+ro-1]:Q===0&&(t=0),C.push(t);const E=1/(e-2),s=-E,a=1+E,r=[s,s,a,s,a,a,s,s,a,a,s,a],l=6,h=6,w=3,S=2,c=1,G=new Float32Array(w*h*l),u=new Float32Array(S*h*l),M=new Float32Array(c*h*l);for(let N=0;N2?0:-1,K=[F,q,0,F+2/3,q,0,F+2/3,q+1,0,F,q,0,F+2/3,q+1,0,F,q+1,0];G.set(K,w*h*N),u.set(r,S*h*N);const U=[N,N,N,N,N,N];M.set(U,c*h*N)}const R=new lI;R.setAttribute("position",new oI(G,w)),R.setAttribute("uv",new oI(u,S)),R.setAttribute("faceIndex",new oI(M,c)),A.push(R),B>ro&&B--}return{lodPlanes:A,sizeLods:I,sigmas:C}}function GU(g,A,I){const C=new Ui(g,A,I);return C.texture.mapping=jo,C.texture.name="PMREM.cubeUv",C.scissorTest=!0,C}function yl(g,A,I,C,B){g.viewport.set(A,I,C,B),g.scissor.set(A,I,C,B)}function hb(g,A,I){const C=new Float32Array(ht),B=new f(0,1,0);return new FB({name:"SphericalGaussianBlur",defines:{n:ht,CUBEUV_TEXEL_WIDTH:1/A,CUBEUV_TEXEL_HEIGHT:1/I,CUBEUV_MAX_MIP:`${g}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:C},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:B}},vertexShader:Tk(),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:uQ,depthTest:!1,depthWrite:!1})}function yU(){return new FB({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Tk(),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:uQ,depthTest:!1,depthWrite:!1})}function uU(){return new FB({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Tk(),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:uQ,depthTest:!1,depthWrite:!1})}function Tk(){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 Sb(g){let A=new WeakMap,I=null;function C(e){if(e&&e.isTexture){const t=e.mapping,E=t===Ps||t===Zs,s=t===NQ||t===Ke;if(E||s){let a=A.get(e);const r=a!==void 0?a.texture.pmremVersion:0;if(e.isRenderTargetTexture&&e.pmremVersion!==r)return I===null&&(I=new su(g)),a=E?I.fromEquirectangular(e,a):I.fromCubemap(e,a),a.texture.pmremVersion=e.pmremVersion,A.set(e,a),a.texture;if(a!==void 0)return a.texture;{const l=e.image;return E&&l&&l.height>0||s&&l&&B(l)?(I===null&&(I=new su(g)),a=E?I.fromEquirectangular(e):I.fromCubemap(e),a.texture.pmremVersion=e.pmremVersion,A.set(e,a),e.addEventListener("dispose",i),a.texture):null}}}return e}function B(e){let t=0;const E=6;for(let s=0;sA.maxTextureSize&&(N=Math.ceil(R/A.maxTextureSize),R=A.maxTextureSize);const F=new Float32Array(R*N*4*a),q=new xD(F,R,N,a);q.type=$B,q.needsUpdate=!0;const K=M*4;for(let L=0;L0)return g;const B=A*I;let i=kU[B];if(i===void 0&&(i=new Float32Array(B),kU[B]=i),A!==0){C.toArray(i,0);for(let Q=1,e=0;Q!==A;++Q)e+=I,g[Q].toArray(i,e)}return i}function gC(g,A){if(g.length!==A.length)return!1;for(let I=0,C=g.length;I":" "} ${e}: ${I[Q]}`)}return C.join(` +`)}function SO(g){const A=VI.getPrimaries(VI.workingColorSpace),I=VI.getPrimaries(g);let C;switch(A===I?C="":A===Xs&&I===js?C="LinearDisplayP3ToLinearSRGB":A===js&&I===Xs&&(C="LinearSRGBToLinearDisplayP3"),g){case rC:case ya:return[C,"LinearTransferOETF"];case GC:case TD:return[C,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",g),[C,"LinearTransferOETF"]}}function RU(g,A,I){const C=g.getShaderParameter(A,g.COMPILE_STATUS),B=g.getShaderInfoLog(A).trim();if(C&&B==="")return"";const i=/ERROR: 0:(\d+)/.exec(B);if(i){const Q=parseInt(i[1]);return I.toUpperCase()+` + +`+B+` + +`+hO(g.getShaderSource(A),Q)}else return B}function wO(g,A){const I=SO(A);return`vec4 ${g}( vec4 value ) { return ${I[0]}( ${I[1]}( value ) ); }`}function GO(g,A){let I;switch(A){case NJ:I="Linear";break;case FJ:I="Reinhard";break;case RJ:I="OptimizedCineon";break;case uk:I="ACESFilmic";break;case JJ:I="AgX";break;case fJ:I="Neutral";break;case KJ:I="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",A),I="Linear"}return"vec3 "+g+"( vec3 color ) { return "+I+"ToneMapping( color ); }"}function yO(g){return[g.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",g.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(es).join(` +`)}function uO(g){const A=[];for(const I in g){const C=g[I];C!==!1&&A.push("#define "+I+" "+C)}return A.join(` +`)}function kO(g,A){const I={},C=g.getProgramParameter(A,g.ACTIVE_ATTRIBUTES);for(let B=0;B/gm;function au(g){return g.replace(MO,pO)}const dO=new Map;function pO(g,A){let I=pI[A];if(I===void 0){const C=dO.get(A);if(C!==void 0)I=pI[C],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',A,C);else throw new Error("Can not resolve #include <"+A+">")}return au(I)}const UO=/#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 fU(g){return g.replace(UO,NO)}function NO(g,A,I,C){let B="";for(let i=parseInt(A);i0&&(S+=` +`),c=["#define SHADER_TYPE "+I.shaderType,"#define SHADER_NAME "+I.shaderName,h].filter(es).join(` +`),c.length>0&&(c+=` +`)):(S=[qU(I),"#define SHADER_TYPE "+I.shaderType,"#define SHADER_NAME "+I.shaderName,h,I.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",I.batching?"#define USE_BATCHING":"",I.instancing?"#define USE_INSTANCING":"",I.instancingColor?"#define USE_INSTANCING_COLOR":"",I.instancingMorph?"#define USE_INSTANCING_MORPH":"",I.useFog&&I.fog?"#define USE_FOG":"",I.useFog&&I.fogExp2?"#define FOG_EXP2":"",I.map?"#define USE_MAP":"",I.envMap?"#define USE_ENVMAP":"",I.envMap?"#define "+s:"",I.lightMap?"#define USE_LIGHTMAP":"",I.aoMap?"#define USE_AOMAP":"",I.bumpMap?"#define USE_BUMPMAP":"",I.normalMap?"#define USE_NORMALMAP":"",I.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",I.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",I.displacementMap?"#define USE_DISPLACEMENTMAP":"",I.emissiveMap?"#define USE_EMISSIVEMAP":"",I.anisotropy?"#define USE_ANISOTROPY":"",I.anisotropyMap?"#define USE_ANISOTROPYMAP":"",I.clearcoatMap?"#define USE_CLEARCOATMAP":"",I.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",I.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",I.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",I.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",I.specularMap?"#define USE_SPECULARMAP":"",I.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",I.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",I.roughnessMap?"#define USE_ROUGHNESSMAP":"",I.metalnessMap?"#define USE_METALNESSMAP":"",I.alphaMap?"#define USE_ALPHAMAP":"",I.alphaHash?"#define USE_ALPHAHASH":"",I.transmission?"#define USE_TRANSMISSION":"",I.transmissionMap?"#define USE_TRANSMISSIONMAP":"",I.thicknessMap?"#define USE_THICKNESSMAP":"",I.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",I.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",I.mapUv?"#define MAP_UV "+I.mapUv:"",I.alphaMapUv?"#define ALPHAMAP_UV "+I.alphaMapUv:"",I.lightMapUv?"#define LIGHTMAP_UV "+I.lightMapUv:"",I.aoMapUv?"#define AOMAP_UV "+I.aoMapUv:"",I.emissiveMapUv?"#define EMISSIVEMAP_UV "+I.emissiveMapUv:"",I.bumpMapUv?"#define BUMPMAP_UV "+I.bumpMapUv:"",I.normalMapUv?"#define NORMALMAP_UV "+I.normalMapUv:"",I.displacementMapUv?"#define DISPLACEMENTMAP_UV "+I.displacementMapUv:"",I.metalnessMapUv?"#define METALNESSMAP_UV "+I.metalnessMapUv:"",I.roughnessMapUv?"#define ROUGHNESSMAP_UV "+I.roughnessMapUv:"",I.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+I.anisotropyMapUv:"",I.clearcoatMapUv?"#define CLEARCOATMAP_UV "+I.clearcoatMapUv:"",I.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+I.clearcoatNormalMapUv:"",I.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+I.clearcoatRoughnessMapUv:"",I.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+I.iridescenceMapUv:"",I.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+I.iridescenceThicknessMapUv:"",I.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+I.sheenColorMapUv:"",I.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+I.sheenRoughnessMapUv:"",I.specularMapUv?"#define SPECULARMAP_UV "+I.specularMapUv:"",I.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+I.specularColorMapUv:"",I.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+I.specularIntensityMapUv:"",I.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+I.transmissionMapUv:"",I.thicknessMapUv?"#define THICKNESSMAP_UV "+I.thicknessMapUv:"",I.vertexTangents&&I.flatShading===!1?"#define USE_TANGENT":"",I.vertexColors?"#define USE_COLOR":"",I.vertexAlphas?"#define USE_COLOR_ALPHA":"",I.vertexUv1s?"#define USE_UV1":"",I.vertexUv2s?"#define USE_UV2":"",I.vertexUv3s?"#define USE_UV3":"",I.pointsUvs?"#define USE_POINTS_UV":"",I.flatShading?"#define FLAT_SHADED":"",I.skinning?"#define USE_SKINNING":"",I.morphTargets?"#define USE_MORPHTARGETS":"",I.morphNormals&&I.flatShading===!1?"#define USE_MORPHNORMALS":"",I.morphColors?"#define USE_MORPHCOLORS":"",I.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE":"",I.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+I.morphTextureStride:"",I.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+I.morphTargetsCount:"",I.doubleSided?"#define DOUBLE_SIDED":"",I.flipSided?"#define FLIP_SIDED":"",I.shadowMapEnabled?"#define USE_SHADOWMAP":"",I.shadowMapEnabled?"#define "+t:"",I.sizeAttenuation?"#define USE_SIZEATTENUATION":"",I.numLightProbes>0?"#define USE_LIGHT_PROBES":"",I.useLegacyLights?"#define LEGACY_LIGHTS":"",I.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," 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(es).join(` +`),c=[qU(I),"#define SHADER_TYPE "+I.shaderType,"#define SHADER_NAME "+I.shaderName,h,I.useFog&&I.fog?"#define USE_FOG":"",I.useFog&&I.fogExp2?"#define FOG_EXP2":"",I.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",I.map?"#define USE_MAP":"",I.matcap?"#define USE_MATCAP":"",I.envMap?"#define USE_ENVMAP":"",I.envMap?"#define "+E:"",I.envMap?"#define "+s:"",I.envMap?"#define "+a:"",r?"#define CUBEUV_TEXEL_WIDTH "+r.texelWidth:"",r?"#define CUBEUV_TEXEL_HEIGHT "+r.texelHeight:"",r?"#define CUBEUV_MAX_MIP "+r.maxMip+".0":"",I.lightMap?"#define USE_LIGHTMAP":"",I.aoMap?"#define USE_AOMAP":"",I.bumpMap?"#define USE_BUMPMAP":"",I.normalMap?"#define USE_NORMALMAP":"",I.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",I.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",I.emissiveMap?"#define USE_EMISSIVEMAP":"",I.anisotropy?"#define USE_ANISOTROPY":"",I.anisotropyMap?"#define USE_ANISOTROPYMAP":"",I.clearcoat?"#define USE_CLEARCOAT":"",I.clearcoatMap?"#define USE_CLEARCOATMAP":"",I.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",I.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",I.dispersion?"#define USE_DISPERSION":"",I.iridescence?"#define USE_IRIDESCENCE":"",I.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",I.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",I.specularMap?"#define USE_SPECULARMAP":"",I.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",I.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",I.roughnessMap?"#define USE_ROUGHNESSMAP":"",I.metalnessMap?"#define USE_METALNESSMAP":"",I.alphaMap?"#define USE_ALPHAMAP":"",I.alphaTest?"#define USE_ALPHATEST":"",I.alphaHash?"#define USE_ALPHAHASH":"",I.sheen?"#define USE_SHEEN":"",I.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",I.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",I.transmission?"#define USE_TRANSMISSION":"",I.transmissionMap?"#define USE_TRANSMISSIONMAP":"",I.thicknessMap?"#define USE_THICKNESSMAP":"",I.vertexTangents&&I.flatShading===!1?"#define USE_TANGENT":"",I.vertexColors||I.instancingColor?"#define USE_COLOR":"",I.vertexAlphas?"#define USE_COLOR_ALPHA":"",I.vertexUv1s?"#define USE_UV1":"",I.vertexUv2s?"#define USE_UV2":"",I.vertexUv3s?"#define USE_UV3":"",I.pointsUvs?"#define USE_POINTS_UV":"",I.gradientMap?"#define USE_GRADIENTMAP":"",I.flatShading?"#define FLAT_SHADED":"",I.doubleSided?"#define DOUBLE_SIDED":"",I.flipSided?"#define FLIP_SIDED":"",I.shadowMapEnabled?"#define USE_SHADOWMAP":"",I.shadowMapEnabled?"#define "+t:"",I.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",I.numLightProbes>0?"#define USE_LIGHT_PROBES":"",I.useLegacyLights?"#define LEGACY_LIGHTS":"",I.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",I.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",I.toneMapping!==Pi?"#define TONE_MAPPING":"",I.toneMapping!==Pi?pI.tonemapping_pars_fragment:"",I.toneMapping!==Pi?GO("toneMapping",I.toneMapping):"",I.dithering?"#define DITHERING":"",I.opaque?"#define OPAQUE":"",pI.colorspace_pars_fragment,wO("linearToOutputTexel",I.outputColorSpace),I.useDepthPacking?"#define DEPTH_PACKING "+I.depthPacking:"",` +`].filter(es).join(` +`)),Q=au(Q),Q=KU(Q,I),Q=JU(Q,I),e=au(e),e=KU(e,I),e=JU(e,I),Q=fU(Q),e=fU(e),I.isRawShaderMaterial!==!0&&(G=`#version 300 es +`,S=[l,"#define attribute in","#define varying out","#define texture2D texture"].join(` +`)+` +`+S,c=["#define varying in",I.glslVersion===nu?"":"layout(location = 0) out highp vec4 pc_fragColor;",I.glslVersion===nu?"":"#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(` +`)+` +`+c);const u=G+S+Q,M=G+c+e,R=FU(B,B.VERTEX_SHADER,u),N=FU(B,B.FRAGMENT_SHADER,M);B.attachShader(w,R),B.attachShader(w,N),I.index0AttributeName!==void 0?B.bindAttribLocation(w,0,I.index0AttributeName):I.morphTargets===!0&&B.bindAttribLocation(w,0,"position"),B.linkProgram(w);function F(L){if(g.debug.checkShaderErrors){const O=B.getProgramInfoLog(w).trim(),b=B.getShaderInfoLog(R).trim(),eA=B.getShaderInfoLog(N).trim();let tA=!0,rA=!0;if(B.getProgramParameter(w,B.LINK_STATUS)===!1)if(tA=!1,typeof g.debug.onShaderError=="function")g.debug.onShaderError(B,w,R,N);else{const kA=RU(B,R,"vertex"),Y=RU(B,N,"fragment");console.error("THREE.WebGLProgram: Shader Error "+B.getError()+" - VALIDATE_STATUS "+B.getProgramParameter(w,B.VALIDATE_STATUS)+` + +Material Name: `+L.name+` +Material Type: `+L.type+` + +Program Info Log: `+O+` +`+kA+` +`+Y)}else O!==""?console.warn("THREE.WebGLProgram: Program Info Log:",O):(b===""||eA==="")&&(rA=!1);rA&&(L.diagnostics={runnable:tA,programLog:O,vertexShader:{log:b,prefix:S},fragmentShader:{log:eA,prefix:c}})}B.deleteShader(R),B.deleteShader(N),q=new uc(B,w),K=kO(B,w)}let q;this.getUniforms=function(){return q===void 0&&F(this),q};let K;this.getAttributes=function(){return K===void 0&&F(this),K};let U=I.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return U===!1&&(U=B.getProgramParameter(w,cO)),U},this.destroy=function(){C.releaseStatesOfProgram(this),B.deleteProgram(w),this.program=void 0},this.type=I.shaderType,this.name=I.shaderName,this.id=DO++,this.cacheKey=A,this.usedTimes=1,this.program=w,this.vertexShader=R,this.fragmentShader=N,this}let mO=0;class YO{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(A){const I=A.vertexShader,C=A.fragmentShader,B=this._getShaderStage(I),i=this._getShaderStage(C),Q=this._getShaderCacheForMaterial(A);return Q.has(B)===!1&&(Q.add(B),B.usedTimes++),Q.has(i)===!1&&(Q.add(i),i.usedTimes++),this}remove(A){const I=this.materialCache.get(A);for(const C of I)C.usedTimes--,C.usedTimes===0&&this.shaderCache.delete(C.code);return this.materialCache.delete(A),this}getVertexShaderID(A){return this._getShaderStage(A.vertexShader).id}getFragmentShaderID(A){return this._getShaderStage(A.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(A){const I=this.materialCache;let C=I.get(A);return C===void 0&&(C=new Set,I.set(A,C)),C}_getShaderStage(A){const I=this.shaderCache;let C=I.get(A);return C===void 0&&(C=new LO(A),I.set(A,C)),C}}class LO{constructor(A){this.id=mO++,this.code=A,this.usedTimes=0}}function HO(g,A,I,C,B,i,Q){const e=new ft,t=new YO,E=new Set,s=[],a=B.logarithmicDepthBuffer,r=B.vertexTextures;let l=B.precision;const h={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 w(K){return E.add(K),K===0?"uv":`uv${K}`}function S(K,U,L,O,b){const eA=O.fog,tA=b.geometry,rA=K.isMeshStandardMaterial?O.environment:null,kA=(K.isMeshStandardMaterial?I:A).get(K.envMap||rA),Y=kA&&kA.mapping===jo?kA.image.height:null,V=h[K.type];K.precision!==null&&(l=B.getMaxPrecision(K.precision),l!==K.precision&&console.warn("THREE.WebGLProgram.getParameters:",K.precision,"not supported, using",l,"instead."));const _=tA.morphAttributes.position||tA.morphAttributes.normal||tA.morphAttributes.color,QA=_!==void 0?_.length:0;let pA=0;tA.morphAttributes.position!==void 0&&(pA=1),tA.morphAttributes.normal!==void 0&&(pA=2),tA.morphAttributes.color!==void 0&&(pA=3);let OA,CA,yA,aA;if(V){const bI=yi[V];OA=bI.vertexShader,CA=bI.fragmentShader}else OA=K.vertexShader,CA=K.fragmentShader,t.update(K),yA=t.getVertexShaderID(K),aA=t.getFragmentShaderID(K);const wA=g.getRenderTarget(),II=b.isInstancedMesh===!0,mA=b.isBatchedMesh===!0,P=!!K.map,ZA=!!K.matcap,EA=!!kA,SA=!!K.aoMap,lA=!!K.lightMap,UA=!!K.bumpMap,uA=!!K.normalMap,LA=!!K.displacementMap,jA=!!K.emissiveMap,T=!!K.metalnessMap,J=!!K.roughnessMap,IA=K.anisotropy>0,hA=K.clearcoat>0,dA=K.dispersion>0,GA=K.iridescence>0,XA=K.sheen>0,fA=K.transmission>0,JA=IA&&!!K.anisotropyMap,aI=hA&&!!K.clearcoatMap,RA=hA&&!!K.clearcoatNormalMap,zA=hA&&!!K.clearcoatRoughnessMap,wI=GA&&!!K.iridescenceMap,iI=GA&&!!K.iridescenceThicknessMap,bA=XA&&!!K.sheenColorMap,cI=XA&&!!K.sheenRoughnessMap,kI=!!K.specularMap,Cg=!!K.specularColorMap,rI=!!K.specularIntensityMap,W=fA&&!!K.transmissionMap,MA=fA&&!!K.thicknessMap,DA=!!K.gradientMap,qA=!!K.alphaMap,xA=K.alphaTest>0,KI=!!K.alphaHash,vI=!!K.extensions;let jI=Pi;K.toneMapped&&(wA===null||wA.isXRRenderTarget===!0)&&(jI=g.toneMapping);const pg={shaderID:V,shaderType:K.type,shaderName:K.name,vertexShader:OA,fragmentShader:CA,defines:K.defines,customVertexShaderID:yA,customFragmentShaderID:aA,isRawShaderMaterial:K.isRawShaderMaterial===!0,glslVersion:K.glslVersion,precision:l,batching:mA,instancing:II,instancingColor:II&&b.instanceColor!==null,instancingMorph:II&&b.morphTexture!==null,supportsVertexTextures:r,outputColorSpace:wA===null?g.outputColorSpace:wA.isXRRenderTarget===!0?wA.texture.colorSpace:rC,alphaToCoverage:!!K.alphaToCoverage,map:P,matcap:ZA,envMap:EA,envMapMode:EA&&kA.mapping,envMapCubeUVHeight:Y,aoMap:SA,lightMap:lA,bumpMap:UA,normalMap:uA,displacementMap:r&&LA,emissiveMap:jA,normalMapObjectSpace:uA&&K.normalMapType===jJ,normalMapTangentSpace:uA&&K.normalMapType===Le,metalnessMap:T,roughnessMap:J,anisotropy:IA,anisotropyMap:JA,clearcoat:hA,clearcoatMap:aI,clearcoatNormalMap:RA,clearcoatRoughnessMap:zA,dispersion:dA,iridescence:GA,iridescenceMap:wI,iridescenceThicknessMap:iI,sheen:XA,sheenColorMap:bA,sheenRoughnessMap:cI,specularMap:kI,specularColorMap:Cg,specularIntensityMap:rI,transmission:fA,transmissionMap:W,thicknessMap:MA,gradientMap:DA,opaque:K.transparent===!1&&K.blending===Ft&&K.alphaToCoverage===!1,alphaMap:qA,alphaTest:xA,alphaHash:KI,combine:K.combine,mapUv:P&&w(K.map.channel),aoMapUv:SA&&w(K.aoMap.channel),lightMapUv:lA&&w(K.lightMap.channel),bumpMapUv:UA&&w(K.bumpMap.channel),normalMapUv:uA&&w(K.normalMap.channel),displacementMapUv:LA&&w(K.displacementMap.channel),emissiveMapUv:jA&&w(K.emissiveMap.channel),metalnessMapUv:T&&w(K.metalnessMap.channel),roughnessMapUv:J&&w(K.roughnessMap.channel),anisotropyMapUv:JA&&w(K.anisotropyMap.channel),clearcoatMapUv:aI&&w(K.clearcoatMap.channel),clearcoatNormalMapUv:RA&&w(K.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:zA&&w(K.clearcoatRoughnessMap.channel),iridescenceMapUv:wI&&w(K.iridescenceMap.channel),iridescenceThicknessMapUv:iI&&w(K.iridescenceThicknessMap.channel),sheenColorMapUv:bA&&w(K.sheenColorMap.channel),sheenRoughnessMapUv:cI&&w(K.sheenRoughnessMap.channel),specularMapUv:kI&&w(K.specularMap.channel),specularColorMapUv:Cg&&w(K.specularColorMap.channel),specularIntensityMapUv:rI&&w(K.specularIntensityMap.channel),transmissionMapUv:W&&w(K.transmissionMap.channel),thicknessMapUv:MA&&w(K.thicknessMap.channel),alphaMapUv:qA&&w(K.alphaMap.channel),vertexTangents:!!tA.attributes.tangent&&(uA||IA),vertexColors:K.vertexColors,vertexAlphas:K.vertexColors===!0&&!!tA.attributes.color&&tA.attributes.color.itemSize===4,pointsUvs:b.isPoints===!0&&!!tA.attributes.uv&&(P||qA),fog:!!eA,useFog:K.fog===!0,fogExp2:!!eA&&eA.isFogExp2,flatShading:K.flatShading===!0,sizeAttenuation:K.sizeAttenuation===!0,logarithmicDepthBuffer:a,skinning:b.isSkinnedMesh===!0,morphTargets:tA.morphAttributes.position!==void 0,morphNormals:tA.morphAttributes.normal!==void 0,morphColors:tA.morphAttributes.color!==void 0,morphTargetsCount:QA,morphTextureStride:pA,numDirLights:U.directional.length,numPointLights:U.point.length,numSpotLights:U.spot.length,numSpotLightMaps:U.spotLightMap.length,numRectAreaLights:U.rectArea.length,numHemiLights:U.hemi.length,numDirLightShadows:U.directionalShadowMap.length,numPointLightShadows:U.pointShadowMap.length,numSpotLightShadows:U.spotShadowMap.length,numSpotLightShadowsWithMaps:U.numSpotLightShadowsWithMaps,numLightProbes:U.numLightProbes,numClippingPlanes:Q.numPlanes,numClipIntersection:Q.numIntersection,dithering:K.dithering,shadowMapEnabled:g.shadowMap.enabled&&L.length>0,shadowMapType:g.shadowMap.type,toneMapping:jI,useLegacyLights:g._useLegacyLights,decodeVideoTexture:P&&K.map.isVideoTexture===!0&&VI.getTransfer(K.map.colorSpace)===eg,premultipliedAlpha:K.premultipliedAlpha,doubleSided:K.side===XB,flipSided:K.side===TC,useDepthPacking:K.depthPacking>=0,depthPacking:K.depthPacking||0,index0AttributeName:K.index0AttributeName,extensionClipCullDistance:vI&&K.extensions.clipCullDistance===!0&&C.has("WEBGL_clip_cull_distance"),extensionMultiDraw:vI&&K.extensions.multiDraw===!0&&C.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:C.has("KHR_parallel_shader_compile"),customProgramCacheKey:K.customProgramCacheKey()};return pg.vertexUv1s=E.has(1),pg.vertexUv2s=E.has(2),pg.vertexUv3s=E.has(3),E.clear(),pg}function c(K){const U=[];if(K.shaderID?U.push(K.shaderID):(U.push(K.customVertexShaderID),U.push(K.customFragmentShaderID)),K.defines!==void 0)for(const L in K.defines)U.push(L),U.push(K.defines[L]);return K.isRawShaderMaterial===!1&&(G(U,K),u(U,K),U.push(g.outputColorSpace)),U.push(K.customProgramCacheKey),U.join()}function G(K,U){K.push(U.precision),K.push(U.outputColorSpace),K.push(U.envMapMode),K.push(U.envMapCubeUVHeight),K.push(U.mapUv),K.push(U.alphaMapUv),K.push(U.lightMapUv),K.push(U.aoMapUv),K.push(U.bumpMapUv),K.push(U.normalMapUv),K.push(U.displacementMapUv),K.push(U.emissiveMapUv),K.push(U.metalnessMapUv),K.push(U.roughnessMapUv),K.push(U.anisotropyMapUv),K.push(U.clearcoatMapUv),K.push(U.clearcoatNormalMapUv),K.push(U.clearcoatRoughnessMapUv),K.push(U.iridescenceMapUv),K.push(U.iridescenceThicknessMapUv),K.push(U.sheenColorMapUv),K.push(U.sheenRoughnessMapUv),K.push(U.specularMapUv),K.push(U.specularColorMapUv),K.push(U.specularIntensityMapUv),K.push(U.transmissionMapUv),K.push(U.thicknessMapUv),K.push(U.combine),K.push(U.fogExp2),K.push(U.sizeAttenuation),K.push(U.morphTargetsCount),K.push(U.morphAttributeCount),K.push(U.numDirLights),K.push(U.numPointLights),K.push(U.numSpotLights),K.push(U.numSpotLightMaps),K.push(U.numHemiLights),K.push(U.numRectAreaLights),K.push(U.numDirLightShadows),K.push(U.numPointLightShadows),K.push(U.numSpotLightShadows),K.push(U.numSpotLightShadowsWithMaps),K.push(U.numLightProbes),K.push(U.shadowMapType),K.push(U.toneMapping),K.push(U.numClippingPlanes),K.push(U.numClipIntersection),K.push(U.depthPacking)}function u(K,U){e.disableAll(),U.supportsVertexTextures&&e.enable(0),U.instancing&&e.enable(1),U.instancingColor&&e.enable(2),U.instancingMorph&&e.enable(3),U.matcap&&e.enable(4),U.envMap&&e.enable(5),U.normalMapObjectSpace&&e.enable(6),U.normalMapTangentSpace&&e.enable(7),U.clearcoat&&e.enable(8),U.iridescence&&e.enable(9),U.alphaTest&&e.enable(10),U.vertexColors&&e.enable(11),U.vertexAlphas&&e.enable(12),U.vertexUv1s&&e.enable(13),U.vertexUv2s&&e.enable(14),U.vertexUv3s&&e.enable(15),U.vertexTangents&&e.enable(16),U.anisotropy&&e.enable(17),U.alphaHash&&e.enable(18),U.batching&&e.enable(19),U.dispersion&&e.enable(20),K.push(e.mask),e.disableAll(),U.fog&&e.enable(0),U.useFog&&e.enable(1),U.flatShading&&e.enable(2),U.logarithmicDepthBuffer&&e.enable(3),U.skinning&&e.enable(4),U.morphTargets&&e.enable(5),U.morphNormals&&e.enable(6),U.morphColors&&e.enable(7),U.premultipliedAlpha&&e.enable(8),U.shadowMapEnabled&&e.enable(9),U.useLegacyLights&&e.enable(10),U.doubleSided&&e.enable(11),U.flipSided&&e.enable(12),U.useDepthPacking&&e.enable(13),U.dithering&&e.enable(14),U.transmission&&e.enable(15),U.sheen&&e.enable(16),U.opaque&&e.enable(17),U.pointsUvs&&e.enable(18),U.decodeVideoTexture&&e.enable(19),U.alphaToCoverage&&e.enable(20),K.push(e.mask)}function M(K){const U=h[K.type];let L;if(U){const O=yi[U];L=Hk.clone(O.uniforms)}else L=K.uniforms;return L}function R(K,U){let L;for(let O=0,b=s.length;O0?C.push(c):l.transparent===!0?B.push(c):I.push(c)}function t(a,r,l,h,w,S){const c=Q(a,r,l,h,w,S);l.transmission>0?C.unshift(c):l.transparent===!0?B.unshift(c):I.unshift(c)}function E(a,r){I.length>1&&I.sort(a||xO),C.length>1&&C.sort(r||mU),B.length>1&&B.sort(r||mU)}function s(){for(let a=A,r=g.length;a=i.length?(Q=new YU,i.push(Q)):Q=i[B],Q}function I(){g=new WeakMap}return{get:A,dispose:I}}function bO(){const g={};return{get:function(A){if(g[A.id]!==void 0)return g[A.id];let I;switch(A.type){case"DirectionalLight":I={direction:new f,color:new KA};break;case"SpotLight":I={position:new f,direction:new f,color:new KA,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":I={position:new f,color:new KA,distance:0,decay:0};break;case"HemisphereLight":I={direction:new f,skyColor:new KA,groundColor:new KA};break;case"RectAreaLight":I={color:new KA,position:new f,halfWidth:new f,halfHeight:new f};break}return g[A.id]=I,I}}}function OO(){const g={};return{get:function(A){if(g[A.id]!==void 0)return g[A.id];let I;switch(A.type){case"DirectionalLight":I={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new cA};break;case"SpotLight":I={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new cA};break;case"PointLight":I={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new cA,shadowCameraNear:1,shadowCameraFar:1e3};break}return g[A.id]=I,I}}}let _O=0;function PO(g,A){return(A.castShadow?2:0)-(g.castShadow?2:0)+(A.map?1:0)-(g.map?1:0)}function ZO(g){const A=new bO,I=OO(),C={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 E=0;E<9;E++)C.probe.push(new f);const B=new f,i=new _A,Q=new _A;function e(E,s){let a=0,r=0,l=0;for(let L=0;L<9;L++)C.probe[L].set(0,0,0);let h=0,w=0,S=0,c=0,G=0,u=0,M=0,R=0,N=0,F=0,q=0;E.sort(PO);const K=s===!0?Math.PI:1;for(let L=0,O=E.length;L0&&(g.has("OES_texture_float_linear")===!0?(C.rectAreaLTC1=YA.LTC_FLOAT_1,C.rectAreaLTC2=YA.LTC_FLOAT_2):(C.rectAreaLTC1=YA.LTC_HALF_1,C.rectAreaLTC2=YA.LTC_HALF_2)),C.ambient[0]=a,C.ambient[1]=r,C.ambient[2]=l;const U=C.hash;(U.directionalLength!==h||U.pointLength!==w||U.spotLength!==S||U.rectAreaLength!==c||U.hemiLength!==G||U.numDirectionalShadows!==u||U.numPointShadows!==M||U.numSpotShadows!==R||U.numSpotMaps!==N||U.numLightProbes!==q)&&(C.directional.length=h,C.spot.length=S,C.rectArea.length=c,C.point.length=w,C.hemi.length=G,C.directionalShadow.length=u,C.directionalShadowMap.length=u,C.pointShadow.length=M,C.pointShadowMap.length=M,C.spotShadow.length=R,C.spotShadowMap.length=R,C.directionalShadowMatrix.length=u,C.pointShadowMatrix.length=M,C.spotLightMatrix.length=R+N-F,C.spotLightMap.length=N,C.numSpotLightShadowsWithMaps=F,C.numLightProbes=q,U.directionalLength=h,U.pointLength=w,U.spotLength=S,U.rectAreaLength=c,U.hemiLength=G,U.numDirectionalShadows=u,U.numPointShadows=M,U.numSpotShadows=R,U.numSpotMaps=N,U.numLightProbes=q,C.version=_O++)}function t(E,s){let a=0,r=0,l=0,h=0,w=0;const S=s.matrixWorldInverse;for(let c=0,G=E.length;c=Q.length?(e=new LU(g),Q.push(e)):e=Q[i],e}function C(){A=new WeakMap}return{get:I,dispose:C}}class vk extends ag{constructor(A){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=WJ,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(A)}copy(A){return super.copy(A),this.depthPacking=A.depthPacking,this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this}}class bk extends ag{constructor(A){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(A)}copy(A){return super.copy(A),this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this}}const VO=`void main() { + gl_Position = vec4( position, 1.0 ); +}`,jO=`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 XO(g,A,I){let C=new da;const B=new cA,i=new cA,Q=new $I,e=new vk({depthPacking:VJ}),t=new bk,E={},s=I.maxTextureSize,a={[pi]:TC,[TC]:pi,[XB]:XB},r=new FB({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new cA},radius:{value:4}},vertexShader:VO,fragmentShader:jO}),l=r.clone();l.defines.HORIZONTAL_PASS=1;const h=new lI;h.setAttribute("position",new oI(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const w=new Qg(h,r),S=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=YD;let c=this.type;this.render=function(N,F,q){if(S.enabled===!1||S.autoUpdate===!1&&S.needsUpdate===!1||N.length===0)return;const K=g.getRenderTarget(),U=g.getActiveCubeFace(),L=g.getActiveMipmapLevel(),O=g.state;O.setBlending(uQ),O.buffers.color.setClear(1,1,1,1),O.buffers.depth.setTest(!0),O.setScissorTest(!1);const b=c!==Di&&this.type===Di,eA=c===Di&&this.type!==Di;for(let tA=0,rA=N.length;tAs||B.y>s)&&(B.x>s&&(i.x=Math.floor(s/V.x),B.x=i.x*V.x,Y.mapSize.x=i.x),B.y>s&&(i.y=Math.floor(s/V.y),B.y=i.y*V.y,Y.mapSize.y=i.y)),Y.map===null||b===!0||eA===!0){const QA=this.type!==Di?{minFilter:Zg,magFilter:Zg}:{};Y.map!==null&&Y.map.dispose(),Y.map=new Ui(B.x,B.y,QA),Y.map.texture.name=kA.name+".shadowMap",Y.camera.updateProjectionMatrix()}g.setRenderTarget(Y.map),g.clear();const _=Y.getViewportCount();for(let QA=0;QA<_;QA++){const pA=Y.getViewport(QA);Q.set(i.x*pA.x,i.y*pA.y,i.x*pA.z,i.y*pA.w),O.viewport(Q),Y.updateMatrices(kA,QA),C=Y.getFrustum(),M(F,q,Y.camera,kA,this.type)}Y.isPointLightShadow!==!0&&this.type===Di&&G(Y,q),Y.needsUpdate=!1}c=this.type,S.needsUpdate=!1,g.setRenderTarget(K,U,L)};function G(N,F){const q=A.update(w);r.defines.VSM_SAMPLES!==N.blurSamples&&(r.defines.VSM_SAMPLES=N.blurSamples,l.defines.VSM_SAMPLES=N.blurSamples,r.needsUpdate=!0,l.needsUpdate=!0),N.mapPass===null&&(N.mapPass=new Ui(B.x,B.y)),r.uniforms.shadow_pass.value=N.map.texture,r.uniforms.resolution.value=N.mapSize,r.uniforms.radius.value=N.radius,g.setRenderTarget(N.mapPass),g.clear(),g.renderBufferDirect(F,null,q,r,w,null),l.uniforms.shadow_pass.value=N.mapPass.texture,l.uniforms.resolution.value=N.mapSize,l.uniforms.radius.value=N.radius,g.setRenderTarget(N.map),g.clear(),g.renderBufferDirect(F,null,q,l,w,null)}function u(N,F,q,K){let U=null;const L=q.isPointLight===!0?N.customDistanceMaterial:N.customDepthMaterial;if(L!==void 0)U=L;else if(U=q.isPointLight===!0?t:e,g.localClippingEnabled&&F.clipShadows===!0&&Array.isArray(F.clippingPlanes)&&F.clippingPlanes.length!==0||F.displacementMap&&F.displacementScale!==0||F.alphaMap&&F.alphaTest>0||F.map&&F.alphaTest>0){const O=U.uuid,b=F.uuid;let eA=E[O];eA===void 0&&(eA={},E[O]=eA);let tA=eA[b];tA===void 0&&(tA=U.clone(),eA[b]=tA,F.addEventListener("dispose",R)),U=tA}if(U.visible=F.visible,U.wireframe=F.wireframe,K===Di?U.side=F.shadowSide!==null?F.shadowSide:F.side:U.side=F.shadowSide!==null?F.shadowSide:a[F.side],U.alphaMap=F.alphaMap,U.alphaTest=F.alphaTest,U.map=F.map,U.clipShadows=F.clipShadows,U.clippingPlanes=F.clippingPlanes,U.clipIntersection=F.clipIntersection,U.displacementMap=F.displacementMap,U.displacementScale=F.displacementScale,U.displacementBias=F.displacementBias,U.wireframeLinewidth=F.wireframeLinewidth,U.linewidth=F.linewidth,q.isPointLight===!0&&U.isMeshDistanceMaterial===!0){const O=g.properties.get(U);O.light=q}return U}function M(N,F,q,K,U){if(N.visible===!1)return;if(N.layers.test(F.layers)&&(N.isMesh||N.isLine||N.isPoints)&&(N.castShadow||N.receiveShadow&&U===Di)&&(!N.frustumCulled||C.intersectsObject(N))){N.modelViewMatrix.multiplyMatrices(q.matrixWorldInverse,N.matrixWorld);const b=A.update(N),eA=N.material;if(Array.isArray(eA)){const tA=b.groups;for(let rA=0,kA=tA.length;rA=1):kA.indexOf("OpenGL ES")!==-1&&(rA=parseFloat(/^OpenGL ES (\d)/.exec(kA)[1]),tA=rA>=2);let Y=null,V={};const _=g.getParameter(g.SCISSOR_BOX),QA=g.getParameter(g.VIEWPORT),pA=new $I().fromArray(_),OA=new $I().fromArray(QA);function CA(W,MA,DA,qA){const xA=new Uint8Array(4),KI=g.createTexture();g.bindTexture(W,KI),g.texParameteri(W,g.TEXTURE_MIN_FILTER,g.NEAREST),g.texParameteri(W,g.TEXTURE_MAG_FILTER,g.NEAREST);for(let vI=0;vI"u"?!1:/OculusBrowser/g.test(navigator.userAgent),E=new cA,s=new WeakMap;let a;const r=new WeakMap;let l=!1;try{l=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function h(T,J){return l?new OffscreenCanvas(T,J):Aa("canvas")}function w(T,J,IA){let hA=1;const dA=jA(T);if((dA.width>IA||dA.height>IA)&&(hA=IA/Math.max(dA.width,dA.height)),hA<1)if(typeof HTMLImageElement<"u"&&T instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&T instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&T instanceof ImageBitmap||typeof VideoFrame<"u"&&T instanceof VideoFrame){const GA=Math.floor(hA*dA.width),XA=Math.floor(hA*dA.height);a===void 0&&(a=h(GA,XA));const fA=J?h(GA,XA):a;return fA.width=GA,fA.height=XA,fA.getContext("2d").drawImage(T,0,0,GA,XA),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+dA.width+"x"+dA.height+") to ("+GA+"x"+XA+")."),fA}else return"data"in T&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+dA.width+"x"+dA.height+")."),T;return T}function S(T){return T.generateMipmaps&&T.minFilter!==Zg&&T.minFilter!==hg}function c(T){g.generateMipmap(T)}function G(T,J,IA,hA,dA=!1){if(T!==null){if(g[T]!==void 0)return g[T];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+T+"'")}let GA=J;if(J===g.RED&&(IA===g.FLOAT&&(GA=g.R32F),IA===g.HALF_FLOAT&&(GA=g.R16F),IA===g.UNSIGNED_BYTE&&(GA=g.R8)),J===g.RED_INTEGER&&(IA===g.UNSIGNED_BYTE&&(GA=g.R8UI),IA===g.UNSIGNED_SHORT&&(GA=g.R16UI),IA===g.UNSIGNED_INT&&(GA=g.R32UI),IA===g.BYTE&&(GA=g.R8I),IA===g.SHORT&&(GA=g.R16I),IA===g.INT&&(GA=g.R32I)),J===g.RG&&(IA===g.FLOAT&&(GA=g.RG32F),IA===g.HALF_FLOAT&&(GA=g.RG16F),IA===g.UNSIGNED_BYTE&&(GA=g.RG8)),J===g.RG_INTEGER&&(IA===g.UNSIGNED_BYTE&&(GA=g.RG8UI),IA===g.UNSIGNED_SHORT&&(GA=g.RG16UI),IA===g.UNSIGNED_INT&&(GA=g.RG32UI),IA===g.BYTE&&(GA=g.RG8I),IA===g.SHORT&&(GA=g.RG16I),IA===g.INT&&(GA=g.RG32I)),J===g.RGB&&IA===g.UNSIGNED_INT_5_9_9_9_REV&&(GA=g.RGB9_E5),J===g.RGBA){const XA=dA?Vs:VI.getTransfer(hA);IA===g.FLOAT&&(GA=g.RGBA32F),IA===g.HALF_FLOAT&&(GA=g.RGBA16F),IA===g.UNSIGNED_BYTE&&(GA=XA===eg?g.SRGB8_ALPHA8:g.RGBA8),IA===g.UNSIGNED_SHORT_4_4_4_4&&(GA=g.RGBA4),IA===g.UNSIGNED_SHORT_5_5_5_1&&(GA=g.RGB5_A1)}return(GA===g.R16F||GA===g.R32F||GA===g.RG16F||GA===g.RG32F||GA===g.RGBA16F||GA===g.RGBA32F)&&A.get("EXT_color_buffer_float"),GA}function u(T,J){return S(T)===!0||T.isFramebufferTexture&&T.minFilter!==Zg&&T.minFilter!==hg?Math.log2(Math.max(J.width,J.height))+1:T.mipmaps!==void 0&&T.mipmaps.length>0?T.mipmaps.length:T.isCompressedTexture&&Array.isArray(T.image)?J.mipmaps.length:1}function M(T){const J=T.target;J.removeEventListener("dispose",M),N(J),J.isVideoTexture&&s.delete(J)}function R(T){const J=T.target;J.removeEventListener("dispose",R),q(J)}function N(T){const J=C.get(T);if(J.__webglInit===void 0)return;const IA=T.source,hA=r.get(IA);if(hA){const dA=hA[J.__cacheKey];dA.usedTimes--,dA.usedTimes===0&&F(T),Object.keys(hA).length===0&&r.delete(IA)}C.remove(T)}function F(T){const J=C.get(T);g.deleteTexture(J.__webglTexture);const IA=T.source,hA=r.get(IA);delete hA[J.__cacheKey],Q.memory.textures--}function q(T){const J=C.get(T);if(T.depthTexture&&T.depthTexture.dispose(),T.isWebGLCubeRenderTarget)for(let hA=0;hA<6;hA++){if(Array.isArray(J.__webglFramebuffer[hA]))for(let dA=0;dA=B.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+T+" texture units while this GPU supports only "+B.maxTextures),K+=1,T}function O(T){const J=[];return J.push(T.wrapS),J.push(T.wrapT),J.push(T.wrapR||0),J.push(T.magFilter),J.push(T.minFilter),J.push(T.anisotropy),J.push(T.internalFormat),J.push(T.format),J.push(T.type),J.push(T.generateMipmaps),J.push(T.premultiplyAlpha),J.push(T.flipY),J.push(T.unpackAlignment),J.push(T.colorSpace),J.join()}function b(T,J){const IA=C.get(T);if(T.isVideoTexture&&uA(T),T.isRenderTargetTexture===!1&&T.version>0&&IA.__version!==T.version){const hA=T.image;if(hA===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(hA.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{pA(IA,T,J);return}}I.bindTexture(g.TEXTURE_2D,IA.__webglTexture,g.TEXTURE0+J)}function eA(T,J){const IA=C.get(T);if(T.version>0&&IA.__version!==T.version){pA(IA,T,J);return}I.bindTexture(g.TEXTURE_2D_ARRAY,IA.__webglTexture,g.TEXTURE0+J)}function tA(T,J){const IA=C.get(T);if(T.version>0&&IA.__version!==T.version){pA(IA,T,J);return}I.bindTexture(g.TEXTURE_3D,IA.__webglTexture,g.TEXTURE0+J)}function rA(T,J){const IA=C.get(T);if(T.version>0&&IA.__version!==T.version){OA(IA,T,J);return}I.bindTexture(g.TEXTURE_CUBE_MAP,IA.__webglTexture,g.TEXTURE0+J)}const kA={[Bi]:g.REPEAT,[tB]:g.CLAMP_TO_EDGE,[Tt]:g.MIRRORED_REPEAT},Y={[Zg]:g.NEAREST,[Sa]:g.NEAREST_MIPMAP_NEAREST,[De]:g.NEAREST_MIPMAP_LINEAR,[hg]:g.LINEAR,[Rt]:g.LINEAR_MIPMAP_NEAREST,[EB]:g.LINEAR_MIPMAP_LINEAR},V={[XJ]:g.NEVER,[Cf]:g.ALWAYS,[zJ]:g.LESS,[fk]:g.LEQUAL,[$J]:g.EQUAL,[gf]:g.GEQUAL,[Af]:g.GREATER,[If]:g.NOTEQUAL};function _(T,J){if(J.type===$B&&A.has("OES_texture_float_linear")===!1&&(J.magFilter===hg||J.magFilter===Rt||J.magFilter===De||J.magFilter===EB||J.minFilter===hg||J.minFilter===Rt||J.minFilter===De||J.minFilter===EB)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),g.texParameteri(T,g.TEXTURE_WRAP_S,kA[J.wrapS]),g.texParameteri(T,g.TEXTURE_WRAP_T,kA[J.wrapT]),(T===g.TEXTURE_3D||T===g.TEXTURE_2D_ARRAY)&&g.texParameteri(T,g.TEXTURE_WRAP_R,kA[J.wrapR]),g.texParameteri(T,g.TEXTURE_MAG_FILTER,Y[J.magFilter]),g.texParameteri(T,g.TEXTURE_MIN_FILTER,Y[J.minFilter]),J.compareFunction&&(g.texParameteri(T,g.TEXTURE_COMPARE_MODE,g.COMPARE_REF_TO_TEXTURE),g.texParameteri(T,g.TEXTURE_COMPARE_FUNC,V[J.compareFunction])),A.has("EXT_texture_filter_anisotropic")===!0){if(J.magFilter===Zg||J.minFilter!==De&&J.minFilter!==EB||J.type===$B&&A.has("OES_texture_float_linear")===!1)return;if(J.anisotropy>1||C.get(J).__currentAnisotropy){const IA=A.get("EXT_texture_filter_anisotropic");g.texParameterf(T,IA.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(J.anisotropy,B.getMaxAnisotropy())),C.get(J).__currentAnisotropy=J.anisotropy}}}function QA(T,J){let IA=!1;T.__webglInit===void 0&&(T.__webglInit=!0,J.addEventListener("dispose",M));const hA=J.source;let dA=r.get(hA);dA===void 0&&(dA={},r.set(hA,dA));const GA=O(J);if(GA!==T.__cacheKey){dA[GA]===void 0&&(dA[GA]={texture:g.createTexture(),usedTimes:0},Q.memory.textures++,IA=!0),dA[GA].usedTimes++;const XA=dA[T.__cacheKey];XA!==void 0&&(dA[T.__cacheKey].usedTimes--,XA.usedTimes===0&&F(J)),T.__cacheKey=GA,T.__webglTexture=dA[GA].texture}return IA}function pA(T,J,IA){let hA=g.TEXTURE_2D;(J.isDataArrayTexture||J.isCompressedArrayTexture)&&(hA=g.TEXTURE_2D_ARRAY),J.isData3DTexture&&(hA=g.TEXTURE_3D);const dA=QA(T,J),GA=J.source;I.bindTexture(hA,T.__webglTexture,g.TEXTURE0+IA);const XA=C.get(GA);if(GA.version!==XA.__version||dA===!0){I.activeTexture(g.TEXTURE0+IA);const fA=VI.getPrimaries(VI.workingColorSpace),JA=J.colorSpace===cQ?null:VI.getPrimaries(J.colorSpace),aI=J.colorSpace===cQ||fA===JA?g.NONE:g.BROWSER_DEFAULT_WEBGL;g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,J.flipY),g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,J.premultiplyAlpha),g.pixelStorei(g.UNPACK_ALIGNMENT,J.unpackAlignment),g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,aI);let RA=w(J.image,!1,B.maxTextureSize);RA=LA(J,RA);const zA=i.convert(J.format,J.colorSpace),wI=i.convert(J.type);let iI=G(J.internalFormat,zA,wI,J.colorSpace,J.isVideoTexture);_(hA,J);let bA;const cI=J.mipmaps,kI=J.isVideoTexture!==!0,Cg=XA.__version===void 0||dA===!0,rI=GA.dataReady,W=u(J,RA);if(J.isDepthTexture)iI=g.DEPTH_COMPONENT16,J.type===$B?iI=g.DEPTH_COMPONENT32F:J.type===xt?iI=g.DEPTH_COMPONENT24:J.type===Xo&&(iI=g.DEPTH24_STENCIL8),Cg&&(kI?I.texStorage2D(g.TEXTURE_2D,1,iI,RA.width,RA.height):I.texImage2D(g.TEXTURE_2D,0,iI,RA.width,RA.height,0,zA,wI,null));else if(J.isDataTexture)if(cI.length>0){kI&&Cg&&I.texStorage2D(g.TEXTURE_2D,W,iI,cI[0].width,cI[0].height);for(let MA=0,DA=cI.length;MA>=1,DA>>=1}}else if(cI.length>0){if(kI&&Cg){const MA=jA(cI[0]);I.texStorage2D(g.TEXTURE_2D,W,iI,MA.width,MA.height)}for(let MA=0,DA=cI.length;MA0&&W++;const DA=jA(zA[0]);I.texStorage2D(g.TEXTURE_CUBE_MAP,W,cI,DA.width,DA.height)}for(let DA=0;DA<6;DA++)if(RA){kI?rI&&I.texSubImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_X+DA,0,0,0,zA[DA].width,zA[DA].height,iI,bA,zA[DA].data):I.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_X+DA,0,cI,zA[DA].width,zA[DA].height,0,iI,bA,zA[DA].data);for(let qA=0;qA>GA),zA=Math.max(1,J.height>>GA);dA===g.TEXTURE_3D||dA===g.TEXTURE_2D_ARRAY?I.texImage3D(dA,GA,JA,RA,zA,J.depth,0,XA,fA,null):I.texImage2D(dA,GA,JA,RA,zA,0,XA,fA,null)}I.bindFramebuffer(g.FRAMEBUFFER,T),UA(J)?e.framebufferTexture2DMultisampleEXT(g.FRAMEBUFFER,hA,dA,C.get(IA).__webglTexture,0,lA(J)):(dA===g.TEXTURE_2D||dA>=g.TEXTURE_CUBE_MAP_POSITIVE_X&&dA<=g.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&g.framebufferTexture2D(g.FRAMEBUFFER,hA,dA,C.get(IA).__webglTexture,GA),I.bindFramebuffer(g.FRAMEBUFFER,null)}function yA(T,J,IA){if(g.bindRenderbuffer(g.RENDERBUFFER,T),J.depthBuffer&&!J.stencilBuffer){let hA=g.DEPTH_COMPONENT24;if(IA||UA(J)){const dA=J.depthTexture;dA&&dA.isDepthTexture&&(dA.type===$B?hA=g.DEPTH_COMPONENT32F:dA.type===xt&&(hA=g.DEPTH_COMPONENT24));const GA=lA(J);UA(J)?e.renderbufferStorageMultisampleEXT(g.RENDERBUFFER,GA,hA,J.width,J.height):g.renderbufferStorageMultisample(g.RENDERBUFFER,GA,hA,J.width,J.height)}else g.renderbufferStorage(g.RENDERBUFFER,hA,J.width,J.height);g.framebufferRenderbuffer(g.FRAMEBUFFER,g.DEPTH_ATTACHMENT,g.RENDERBUFFER,T)}else if(J.depthBuffer&&J.stencilBuffer){const hA=lA(J);IA&&UA(J)===!1?g.renderbufferStorageMultisample(g.RENDERBUFFER,hA,g.DEPTH24_STENCIL8,J.width,J.height):UA(J)?e.renderbufferStorageMultisampleEXT(g.RENDERBUFFER,hA,g.DEPTH24_STENCIL8,J.width,J.height):g.renderbufferStorage(g.RENDERBUFFER,g.DEPTH_STENCIL,J.width,J.height),g.framebufferRenderbuffer(g.FRAMEBUFFER,g.DEPTH_STENCIL_ATTACHMENT,g.RENDERBUFFER,T)}else{const hA=J.textures;for(let dA=0;dA1;if(XA||(hA.__webglTexture===void 0&&(hA.__webglTexture=g.createTexture()),hA.__version=J.version,Q.memory.textures++),GA){IA.__webglFramebuffer=[];for(let fA=0;fA<6;fA++)if(J.mipmaps&&J.mipmaps.length>0){IA.__webglFramebuffer[fA]=[];for(let JA=0;JA0){IA.__webglFramebuffer=[];for(let fA=0;fA0&&UA(T)===!1){IA.__webglMultisampledFramebuffer=g.createFramebuffer(),IA.__webglColorRenderbuffer=[],I.bindFramebuffer(g.FRAMEBUFFER,IA.__webglMultisampledFramebuffer);for(let fA=0;fA0)for(let JA=0;JA0)for(let JA=0;JA0){if(UA(T)===!1){const J=T.textures,IA=T.width,hA=T.height;let dA=g.COLOR_BUFFER_BIT;const GA=T.stencilBuffer?g.DEPTH_STENCIL_ATTACHMENT:g.DEPTH_ATTACHMENT,XA=C.get(T),fA=J.length>1;if(fA)for(let JA=0;JA0&&A.has("WEBGL_multisampled_render_to_texture")===!0&&J.__useRenderToTexture!==!1}function uA(T){const J=Q.render.frame;s.get(T)!==J&&(s.set(T,J),T.update())}function LA(T,J){const IA=T.colorSpace,hA=T.format,dA=T.type;return T.isCompressedTexture===!0||T.isVideoTexture===!0||IA!==rC&&IA!==cQ&&(VI.getTransfer(IA)===eg?(hA!==oB||dA!==Wi)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",IA)),J}function jA(T){return typeof HTMLImageElement<"u"&&T instanceof HTMLImageElement?(E.width=T.naturalWidth||T.width,E.height=T.naturalHeight||T.height):typeof VideoFrame<"u"&&T instanceof VideoFrame?(E.width=T.displayWidth,E.height=T.displayHeight):(E.width=T.width,E.height=T.height),E}this.allocateTextureUnit=L,this.resetTextureUnits=U,this.setTexture2D=b,this.setTexture2DArray=eA,this.setTexture3D=tA,this.setTextureCube=rA,this.rebindTextures=II,this.setupRenderTarget=mA,this.updateRenderTargetMipmap=P,this.updateMultisampleRenderTarget=SA,this.setupDepthRenderbuffer=wA,this.setupFrameBufferTexture=CA,this.useMultisampledRTT=UA}function Gf(g,A){function I(C,B=cQ){let i;const Q=VI.getTransfer(B);if(C===Wi)return g.UNSIGNED_BYTE;if(C===dk)return g.UNSIGNED_SHORT_4_4_4_4;if(C===pk)return g.UNSIGNED_SHORT_5_5_5_1;if(C===LJ)return g.UNSIGNED_INT_5_9_9_9_REV;if(C===mJ)return g.BYTE;if(C===YJ)return g.SHORT;if(C===kk)return g.UNSIGNED_SHORT;if(C===Mk)return g.INT;if(C===xt)return g.UNSIGNED_INT;if(C===$B)return g.FLOAT;if(C===wa)return g.HALF_FLOAT;if(C===HJ)return g.ALPHA;if(C===TJ)return g.RGB;if(C===oB)return g.RGBA;if(C===xJ)return g.LUMINANCE;if(C===vJ)return g.LUMINANCE_ALPHA;if(C===Kt)return g.DEPTH_COMPONENT;if(C===Yo)return g.DEPTH_STENCIL;if(C===Uk)return g.RED;if(C===Nk)return g.RED_INTEGER;if(C===bJ)return g.RG;if(C===Fk)return g.RG_INTEGER;if(C===Rk)return g.RGBA_INTEGER;if(C===Dc||C===hc||C===Sc||C===wc)if(Q===eg)if(i=A.get("WEBGL_compressed_texture_s3tc_srgb"),i!==null){if(C===Dc)return i.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(C===hc)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(C===Sc)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(C===wc)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(i=A.get("WEBGL_compressed_texture_s3tc"),i!==null){if(C===Dc)return i.COMPRESSED_RGB_S3TC_DXT1_EXT;if(C===hc)return i.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(C===Sc)return i.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(C===wc)return i.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(C===Ly||C===Hy||C===Ty||C===xy)if(i=A.get("WEBGL_compressed_texture_pvrtc"),i!==null){if(C===Ly)return i.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(C===Hy)return i.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(C===Ty)return i.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(C===xy)return i.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(C===vy||C===by||C===Oy)if(i=A.get("WEBGL_compressed_texture_etc"),i!==null){if(C===vy||C===by)return Q===eg?i.COMPRESSED_SRGB8_ETC2:i.COMPRESSED_RGB8_ETC2;if(C===Oy)return Q===eg?i.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:i.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(C===_y||C===Py||C===Zy||C===Wy||C===Vy||C===jy||C===Xy||C===zy||C===$y||C===Au||C===Iu||C===gu||C===Cu||C===Bu)if(i=A.get("WEBGL_compressed_texture_astc"),i!==null){if(C===_y)return Q===eg?i.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:i.COMPRESSED_RGBA_ASTC_4x4_KHR;if(C===Py)return Q===eg?i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:i.COMPRESSED_RGBA_ASTC_5x4_KHR;if(C===Zy)return Q===eg?i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:i.COMPRESSED_RGBA_ASTC_5x5_KHR;if(C===Wy)return Q===eg?i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:i.COMPRESSED_RGBA_ASTC_6x5_KHR;if(C===Vy)return Q===eg?i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:i.COMPRESSED_RGBA_ASTC_6x6_KHR;if(C===jy)return Q===eg?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:i.COMPRESSED_RGBA_ASTC_8x5_KHR;if(C===Xy)return Q===eg?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:i.COMPRESSED_RGBA_ASTC_8x6_KHR;if(C===zy)return Q===eg?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:i.COMPRESSED_RGBA_ASTC_8x8_KHR;if(C===$y)return Q===eg?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:i.COMPRESSED_RGBA_ASTC_10x5_KHR;if(C===Au)return Q===eg?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:i.COMPRESSED_RGBA_ASTC_10x6_KHR;if(C===Iu)return Q===eg?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:i.COMPRESSED_RGBA_ASTC_10x8_KHR;if(C===gu)return Q===eg?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:i.COMPRESSED_RGBA_ASTC_10x10_KHR;if(C===Cu)return Q===eg?i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:i.COMPRESSED_RGBA_ASTC_12x10_KHR;if(C===Bu)return Q===eg?i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:i.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(C===Gc||C===iu||C===Qu)if(i=A.get("EXT_texture_compression_bptc"),i!==null){if(C===Gc)return Q===eg?i.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:i.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(C===iu)return i.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(C===Qu)return i.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(C===OJ||C===eu||C===tu||C===Eu)if(i=A.get("EXT_texture_compression_rgtc"),i!==null){if(C===Gc)return i.COMPRESSED_RED_RGTC1_EXT;if(C===eu)return i.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(C===tu)return i.COMPRESSED_RED_GREEN_RGTC2_EXT;if(C===Eu)return i.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return C===Xo?g.UNSIGNED_INT_24_8:g[C]!==void 0?g[C]:null}return{convert:I}}class yf extends _g{constructor(A=[]){super(),this.isArrayCamera=!0,this.cameras=A}}class Ai extends RI{constructor(){super(),this.isGroup=!0,this.type="Group"}}const A_={type:"move"};class Pw{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Ai,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 Ai,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new f,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new f),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Ai,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new f,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new f),this._grip}dispatchEvent(A){return this._targetRay!==null&&this._targetRay.dispatchEvent(A),this._grip!==null&&this._grip.dispatchEvent(A),this._hand!==null&&this._hand.dispatchEvent(A),this}connect(A){if(A&&A.hand){const I=this._hand;if(I)for(const C of A.hand.values())this._getHandJoint(I,C)}return this.dispatchEvent({type:"connected",data:A}),this}disconnect(A){return this.dispatchEvent({type:"disconnected",data:A}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(A,I,C){let B=null,i=null,Q=null;const e=this._targetRay,t=this._grip,E=this._hand;if(A&&I.session.visibilityState!=="visible-blurred"){if(E&&A.hand){Q=!0;for(const w of A.hand.values()){const S=I.getJointPose(w,C),c=this._getHandJoint(E,w);S!==null&&(c.matrix.fromArray(S.transform.matrix),c.matrix.decompose(c.position,c.rotation,c.scale),c.matrixWorldNeedsUpdate=!0,c.jointRadius=S.radius),c.visible=S!==null}const s=E.joints["index-finger-tip"],a=E.joints["thumb-tip"],r=s.position.distanceTo(a.position),l=.02,h=.005;E.inputState.pinching&&r>l+h?(E.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:A.handedness,target:this})):!E.inputState.pinching&&r<=l-h&&(E.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:A.handedness,target:this}))}else t!==null&&A.gripSpace&&(i=I.getPose(A.gripSpace,C),i!==null&&(t.matrix.fromArray(i.transform.matrix),t.matrix.decompose(t.position,t.rotation,t.scale),t.matrixWorldNeedsUpdate=!0,i.linearVelocity?(t.hasLinearVelocity=!0,t.linearVelocity.copy(i.linearVelocity)):t.hasLinearVelocity=!1,i.angularVelocity?(t.hasAngularVelocity=!0,t.angularVelocity.copy(i.angularVelocity)):t.hasAngularVelocity=!1));e!==null&&(B=I.getPose(A.targetRaySpace,C),B===null&&i!==null&&(B=i),B!==null&&(e.matrix.fromArray(B.transform.matrix),e.matrix.decompose(e.position,e.rotation,e.scale),e.matrixWorldNeedsUpdate=!0,B.linearVelocity?(e.hasLinearVelocity=!0,e.linearVelocity.copy(B.linearVelocity)):e.hasLinearVelocity=!1,B.angularVelocity?(e.hasAngularVelocity=!0,e.angularVelocity.copy(B.angularVelocity)):e.hasAngularVelocity=!1,this.dispatchEvent(A_)))}return e!==null&&(e.visible=B!==null),t!==null&&(t.visible=i!==null),E!==null&&(E.visible=Q!==null),this}_getHandJoint(A,I){if(A.joints[I.jointName]===void 0){const C=new Ai;C.matrixAutoUpdate=!1,C.visible=!1,A.joints[I.jointName]=C,A.add(C)}return A.joints[I.jointName]}}const I_=` +void main() { + + gl_Position = vec4( position, 1.0 ); + +}`,g_=` +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_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; + + } else { + + gl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; + + } + +}`;class C_{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(A,I,C){if(this.texture===null){const B=new Ig,i=A.properties.get(B);i.__webglTexture=I.texture,(I.depthNear!=C.depthNear||I.depthFar!=C.depthFar)&&(this.depthNear=I.depthNear,this.depthFar=I.depthFar),this.texture=B}}render(A,I){if(this.texture!==null){if(this.mesh===null){const C=I.cameras[0].viewport,B=new FB({vertexShader:I_,fragmentShader:g_,uniforms:{depthColor:{value:this.texture},depthWidth:{value:C.z},depthHeight:{value:C.w}}});this.mesh=new Qg(new $t(20,20),B)}A.render(this.mesh,I)}}reset(){this.texture=null,this.mesh=null}}class B_ extends Xi{constructor(A,I){super();const C=this;let B=null,i=1,Q=null,e="local-floor",t=1,E=null,s=null,a=null,r=null,l=null,h=null;const w=new C_,S=I.getContextAttributes();let c=null,G=null;const u=[],M=[],R=new cA;let N=null;const F=new _g;F.layers.enable(1),F.viewport=new $I;const q=new _g;q.layers.enable(2),q.viewport=new $I;const K=[F,q],U=new yf;U.layers.enable(1),U.layers.enable(2);let L=null,O=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(CA){let yA=u[CA];return yA===void 0&&(yA=new Pw,u[CA]=yA),yA.getTargetRaySpace()},this.getControllerGrip=function(CA){let yA=u[CA];return yA===void 0&&(yA=new Pw,u[CA]=yA),yA.getGripSpace()},this.getHand=function(CA){let yA=u[CA];return yA===void 0&&(yA=new Pw,u[CA]=yA),yA.getHandSpace()};function b(CA){const yA=M.indexOf(CA.inputSource);if(yA===-1)return;const aA=u[yA];aA!==void 0&&(aA.update(CA.inputSource,CA.frame,E||Q),aA.dispatchEvent({type:CA.type,data:CA.inputSource}))}function eA(){B.removeEventListener("select",b),B.removeEventListener("selectstart",b),B.removeEventListener("selectend",b),B.removeEventListener("squeeze",b),B.removeEventListener("squeezestart",b),B.removeEventListener("squeezeend",b),B.removeEventListener("end",eA),B.removeEventListener("inputsourceschange",tA);for(let CA=0;CA=0&&(M[wA]=null,u[wA].disconnect(aA))}for(let yA=0;yA=M.length){M.push(aA),wA=mA;break}else if(M[mA]===null){M[mA]=aA,wA=mA;break}if(wA===-1)break}const II=u[wA];II&&II.connect(aA)}}const rA=new f,kA=new f;function Y(CA,yA,aA){rA.setFromMatrixPosition(yA.matrixWorld),kA.setFromMatrixPosition(aA.matrixWorld);const wA=rA.distanceTo(kA),II=yA.projectionMatrix.elements,mA=aA.projectionMatrix.elements,P=II[14]/(II[10]-1),ZA=II[14]/(II[10]+1),EA=(II[9]+1)/II[5],SA=(II[9]-1)/II[5],lA=(II[8]-1)/II[0],UA=(mA[8]+1)/mA[0],uA=P*lA,LA=P*UA,jA=wA/(-lA+UA),T=jA*-lA;yA.matrixWorld.decompose(CA.position,CA.quaternion,CA.scale),CA.translateX(T),CA.translateZ(jA),CA.matrixWorld.compose(CA.position,CA.quaternion,CA.scale),CA.matrixWorldInverse.copy(CA.matrixWorld).invert();const J=P+jA,IA=ZA+jA,hA=uA-T,dA=LA+(wA-T),GA=EA*ZA/IA*J,XA=SA*ZA/IA*J;CA.projectionMatrix.makePerspective(hA,dA,GA,XA,J,IA),CA.projectionMatrixInverse.copy(CA.projectionMatrix).invert()}function V(CA,yA){yA===null?CA.matrixWorld.copy(CA.matrix):CA.matrixWorld.multiplyMatrices(yA.matrixWorld,CA.matrix),CA.matrixWorldInverse.copy(CA.matrixWorld).invert()}this.updateCamera=function(CA){if(B===null)return;w.texture!==null&&(CA.near=w.depthNear,CA.far=w.depthFar),U.near=q.near=F.near=CA.near,U.far=q.far=F.far=CA.far,(L!==U.near||O!==U.far)&&(B.updateRenderState({depthNear:U.near,depthFar:U.far}),L=U.near,O=U.far,F.near=L,F.far=O,q.near=L,q.far=O,F.updateProjectionMatrix(),q.updateProjectionMatrix(),CA.updateProjectionMatrix());const yA=CA.parent,aA=U.cameras;V(U,yA);for(let wA=0;wA0&&(S.alphaTest.value=c.alphaTest);const G=A.get(c),u=G.envMap,M=G.envMapRotation;if(u&&(S.envMap.value=u,Bt.copy(M),Bt.x*=-1,Bt.y*=-1,Bt.z*=-1,u.isCubeTexture&&u.isRenderTargetTexture===!1&&(Bt.y*=-1,Bt.z*=-1),S.envMapRotation.value.setFromMatrix4(i_.makeRotationFromEuler(Bt)),S.flipEnvMap.value=u.isCubeTexture&&u.isRenderTargetTexture===!1?-1:1,S.reflectivity.value=c.reflectivity,S.ior.value=c.ior,S.refractionRatio.value=c.refractionRatio),c.lightMap){S.lightMap.value=c.lightMap;const R=g._useLegacyLights===!0?Math.PI:1;S.lightMapIntensity.value=c.lightMapIntensity*R,I(c.lightMap,S.lightMapTransform)}c.aoMap&&(S.aoMap.value=c.aoMap,S.aoMapIntensity.value=c.aoMapIntensity,I(c.aoMap,S.aoMapTransform))}function Q(S,c){S.diffuse.value.copy(c.color),S.opacity.value=c.opacity,c.map&&(S.map.value=c.map,I(c.map,S.mapTransform))}function e(S,c){S.dashSize.value=c.dashSize,S.totalSize.value=c.dashSize+c.gapSize,S.scale.value=c.scale}function t(S,c,G,u){S.diffuse.value.copy(c.color),S.opacity.value=c.opacity,S.size.value=c.size*G,S.scale.value=u*.5,c.map&&(S.map.value=c.map,I(c.map,S.uvTransform)),c.alphaMap&&(S.alphaMap.value=c.alphaMap,I(c.alphaMap,S.alphaMapTransform)),c.alphaTest>0&&(S.alphaTest.value=c.alphaTest)}function E(S,c){S.diffuse.value.copy(c.color),S.opacity.value=c.opacity,S.rotation.value=c.rotation,c.map&&(S.map.value=c.map,I(c.map,S.mapTransform)),c.alphaMap&&(S.alphaMap.value=c.alphaMap,I(c.alphaMap,S.alphaMapTransform)),c.alphaTest>0&&(S.alphaTest.value=c.alphaTest)}function s(S,c){S.specular.value.copy(c.specular),S.shininess.value=Math.max(c.shininess,1e-4)}function a(S,c){c.gradientMap&&(S.gradientMap.value=c.gradientMap)}function r(S,c){S.metalness.value=c.metalness,c.metalnessMap&&(S.metalnessMap.value=c.metalnessMap,I(c.metalnessMap,S.metalnessMapTransform)),S.roughness.value=c.roughness,c.roughnessMap&&(S.roughnessMap.value=c.roughnessMap,I(c.roughnessMap,S.roughnessMapTransform)),c.envMap&&(S.envMapIntensity.value=c.envMapIntensity)}function l(S,c,G){S.ior.value=c.ior,c.sheen>0&&(S.sheenColor.value.copy(c.sheenColor).multiplyScalar(c.sheen),S.sheenRoughness.value=c.sheenRoughness,c.sheenColorMap&&(S.sheenColorMap.value=c.sheenColorMap,I(c.sheenColorMap,S.sheenColorMapTransform)),c.sheenRoughnessMap&&(S.sheenRoughnessMap.value=c.sheenRoughnessMap,I(c.sheenRoughnessMap,S.sheenRoughnessMapTransform))),c.clearcoat>0&&(S.clearcoat.value=c.clearcoat,S.clearcoatRoughness.value=c.clearcoatRoughness,c.clearcoatMap&&(S.clearcoatMap.value=c.clearcoatMap,I(c.clearcoatMap,S.clearcoatMapTransform)),c.clearcoatRoughnessMap&&(S.clearcoatRoughnessMap.value=c.clearcoatRoughnessMap,I(c.clearcoatRoughnessMap,S.clearcoatRoughnessMapTransform)),c.clearcoatNormalMap&&(S.clearcoatNormalMap.value=c.clearcoatNormalMap,I(c.clearcoatNormalMap,S.clearcoatNormalMapTransform),S.clearcoatNormalScale.value.copy(c.clearcoatNormalScale),c.side===TC&&S.clearcoatNormalScale.value.negate())),c.dispersion>0&&(S.dispersion.value=c.dispersion),c.iridescence>0&&(S.iridescence.value=c.iridescence,S.iridescenceIOR.value=c.iridescenceIOR,S.iridescenceThicknessMinimum.value=c.iridescenceThicknessRange[0],S.iridescenceThicknessMaximum.value=c.iridescenceThicknessRange[1],c.iridescenceMap&&(S.iridescenceMap.value=c.iridescenceMap,I(c.iridescenceMap,S.iridescenceMapTransform)),c.iridescenceThicknessMap&&(S.iridescenceThicknessMap.value=c.iridescenceThicknessMap,I(c.iridescenceThicknessMap,S.iridescenceThicknessMapTransform))),c.transmission>0&&(S.transmission.value=c.transmission,S.transmissionSamplerMap.value=G.texture,S.transmissionSamplerSize.value.set(G.width,G.height),c.transmissionMap&&(S.transmissionMap.value=c.transmissionMap,I(c.transmissionMap,S.transmissionMapTransform)),S.thickness.value=c.thickness,c.thicknessMap&&(S.thicknessMap.value=c.thicknessMap,I(c.thicknessMap,S.thicknessMapTransform)),S.attenuationDistance.value=c.attenuationDistance,S.attenuationColor.value.copy(c.attenuationColor)),c.anisotropy>0&&(S.anisotropyVector.value.set(c.anisotropy*Math.cos(c.anisotropyRotation),c.anisotropy*Math.sin(c.anisotropyRotation)),c.anisotropyMap&&(S.anisotropyMap.value=c.anisotropyMap,I(c.anisotropyMap,S.anisotropyMapTransform))),S.specularIntensity.value=c.specularIntensity,S.specularColor.value.copy(c.specularColor),c.specularColorMap&&(S.specularColorMap.value=c.specularColorMap,I(c.specularColorMap,S.specularColorMapTransform)),c.specularIntensityMap&&(S.specularIntensityMap.value=c.specularIntensityMap,I(c.specularIntensityMap,S.specularIntensityMapTransform))}function h(S,c){c.matcap&&(S.matcap.value=c.matcap)}function w(S,c){const G=A.get(c).light;S.referencePosition.value.setFromMatrixPosition(G.matrixWorld),S.nearDistance.value=G.shadow.camera.near,S.farDistance.value=G.shadow.camera.far}return{refreshFogUniforms:C,refreshMaterialUniforms:B}}function e_(g,A,I,C){let B={},i={},Q=[];const e=g.getParameter(g.MAX_UNIFORM_BUFFER_BINDINGS);function t(G,u){const M=u.program;C.uniformBlockBinding(G,M)}function E(G,u){let M=B[G.id];M===void 0&&(h(G),M=s(G),B[G.id]=M,G.addEventListener("dispose",S));const R=u.program;C.updateUBOMapping(G,R);const N=A.render.frame;i[G.id]!==N&&(r(G),i[G.id]=N)}function s(G){const u=a();G.__bindingPointIndex=u;const M=g.createBuffer(),R=G.__size,N=G.usage;return g.bindBuffer(g.UNIFORM_BUFFER,M),g.bufferData(g.UNIFORM_BUFFER,R,N),g.bindBuffer(g.UNIFORM_BUFFER,null),g.bindBufferBase(g.UNIFORM_BUFFER,u,M),M}function a(){for(let G=0;G0&&(M+=R-N),G.__size=M,G.__cache={},this}function w(G){const u={boundary:0,storage:0};return typeof G=="number"||typeof G=="boolean"?(u.boundary=4,u.storage=4):G.isVector2?(u.boundary=8,u.storage=8):G.isVector3||G.isColor?(u.boundary=16,u.storage=12):G.isVector4?(u.boundary=16,u.storage=16):G.isMatrix3?(u.boundary=48,u.storage=48):G.isMatrix4?(u.boundary=64,u.storage=64):G.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",G),u}function S(G){const u=G.target;u.removeEventListener("dispose",S);const M=Q.indexOf(u.__bindingPointIndex);Q.splice(M,1),g.deleteBuffer(B[u.id]),delete B[u.id],delete i[u.id]}function c(){for(const G in B)g.deleteBuffer(B[G]);Q=[],B={},i={}}return{bind:t,update:E,dispose:c}}class uf{constructor(A={}){const{canvas:I=ef(),context:C=null,depth:B=!0,stencil:i=!1,alpha:Q=!1,antialias:e=!1,premultipliedAlpha:t=!0,preserveDrawingBuffer:E=!1,powerPreference:s="default",failIfMajorPerformanceCaveat:a=!1}=A;this.isWebGLRenderer=!0;let r;if(C!==null){if(typeof WebGLRenderingContext<"u"&&C instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");r=C.getContextAttributes().alpha}else r=Q;const l=new Uint32Array(4),h=new Int32Array(4);let w=null,S=null;const c=[],G=[];this.domElement=I,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=GC,this._useLegacyLights=!1,this.toneMapping=Pi,this.toneMappingExposure=1;const u=this;let M=!1,R=0,N=0,F=null,q=-1,K=null;const U=new $I,L=new $I;let O=null;const b=new KA(0);let eA=0,tA=I.width,rA=I.height,kA=1,Y=null,V=null;const _=new $I(0,0,tA,rA),QA=new $I(0,0,tA,rA);let pA=!1;const OA=new da;let CA=!1,yA=!1;const aA=new _A,wA=new f,II={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function mA(){return F===null?kA:1}let P=C;function ZA(m,AA){return I.getContext(m,AA)}try{const m={alpha:!0,depth:B,stencil:i,antialias:e,premultipliedAlpha:t,preserveDrawingBuffer:E,powerPreference:s,failIfMajorPerformanceCaveat:a};if("setAttribute"in I&&I.setAttribute("data-engine",`three.js r${Vo}`),I.addEventListener("webglcontextlost",W,!1),I.addEventListener("webglcontextrestored",MA,!1),I.addEventListener("webglcontextcreationerror",DA,!1),P===null){const AA="webgl2";if(P=ZA(AA,m),P===null)throw ZA(AA)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(m){throw console.error("THREE.WebGLRenderer: "+m.message),m}let EA,SA,lA,UA,uA,LA,jA,T,J,IA,hA,dA,GA,XA,fA,JA,aI,RA,zA,wI,iI,bA,cI,kI;function Cg(){EA=new wb(P),EA.init(),bA=new Gf(P,EA),SA=new rb(P,EA,A,bA),lA=new zO(P),UA=new ub(P),uA=new TO,LA=new $O(P,EA,lA,uA,SA,bA,UA),jA=new cb(u),T=new Sb(u),J=new Fx(P),cI=new sb(P,J),IA=new Gb(P,J,UA,cI),hA=new Mb(P,IA,J,UA),zA=new kb(P,SA,LA),JA=new lb(uA),dA=new HO(u,jA,T,EA,SA,cI,JA),GA=new Q_(u,uA),XA=new vO,fA=new WO(EA),RA=new nb(u,jA,T,lA,hA,r,t),aI=new XO(u,hA,SA),kI=new e_(P,UA,SA,lA),wI=new ab(P,EA,UA),iI=new yb(P,EA,UA),UA.programs=dA.programs,u.capabilities=SA,u.extensions=EA,u.properties=uA,u.renderLists=XA,u.shadowMap=aI,u.state=lA,u.info=UA}Cg();const rI=new B_(u,P);this.xr=rI,this.getContext=function(){return P},this.getContextAttributes=function(){return P.getContextAttributes()},this.forceContextLoss=function(){const m=EA.get("WEBGL_lose_context");m&&m.loseContext()},this.forceContextRestore=function(){const m=EA.get("WEBGL_lose_context");m&&m.restoreContext()},this.getPixelRatio=function(){return kA},this.setPixelRatio=function(m){m!==void 0&&(kA=m,this.setSize(tA,rA,!1))},this.getSize=function(m){return m.set(tA,rA)},this.setSize=function(m,AA,oA=!0){if(rI.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}tA=m,rA=AA,I.width=Math.floor(m*kA),I.height=Math.floor(AA*kA),oA===!0&&(I.style.width=m+"px",I.style.height=AA+"px"),this.setViewport(0,0,m,AA)},this.getDrawingBufferSize=function(m){return m.set(tA*kA,rA*kA).floor()},this.setDrawingBufferSize=function(m,AA,oA){tA=m,rA=AA,kA=oA,I.width=Math.floor(m*oA),I.height=Math.floor(AA*oA),this.setViewport(0,0,m,AA)},this.getCurrentViewport=function(m){return m.copy(U)},this.getViewport=function(m){return m.copy(_)},this.setViewport=function(m,AA,oA,BA){m.isVector4?_.set(m.x,m.y,m.z,m.w):_.set(m,AA,oA,BA),lA.viewport(U.copy(_).multiplyScalar(kA).round())},this.getScissor=function(m){return m.copy(QA)},this.setScissor=function(m,AA,oA,BA){m.isVector4?QA.set(m.x,m.y,m.z,m.w):QA.set(m,AA,oA,BA),lA.scissor(L.copy(QA).multiplyScalar(kA).round())},this.getScissorTest=function(){return pA},this.setScissorTest=function(m){lA.setScissorTest(pA=m)},this.setOpaqueSort=function(m){Y=m},this.setTransparentSort=function(m){V=m},this.getClearColor=function(m){return m.copy(RA.getClearColor())},this.setClearColor=function(){RA.setClearColor.apply(RA,arguments)},this.getClearAlpha=function(){return RA.getClearAlpha()},this.setClearAlpha=function(){RA.setClearAlpha.apply(RA,arguments)},this.clear=function(m=!0,AA=!0,oA=!0){let BA=0;if(m){let iA=!1;if(F!==null){const HA=F.texture.format;iA=HA===Rk||HA===Fk||HA===Nk}if(iA){const HA=F.texture.type,AI=HA===Wi||HA===xt||HA===kk||HA===Xo||HA===dk||HA===pk,gI=RA.getClearColor(),nI=RA.getClearAlpha(),DI=gI.r,hI=gI.g,SI=gI.b;AI?(l[0]=DI,l[1]=hI,l[2]=SI,l[3]=nI,P.clearBufferuiv(P.COLOR,0,l)):(h[0]=DI,h[1]=hI,h[2]=SI,h[3]=nI,P.clearBufferiv(P.COLOR,0,h))}else BA|=P.COLOR_BUFFER_BIT}AA&&(BA|=P.DEPTH_BUFFER_BIT),oA&&(BA|=P.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),P.clear(BA)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){I.removeEventListener("webglcontextlost",W,!1),I.removeEventListener("webglcontextrestored",MA,!1),I.removeEventListener("webglcontextcreationerror",DA,!1),XA.dispose(),fA.dispose(),uA.dispose(),jA.dispose(),T.dispose(),hA.dispose(),cI.dispose(),kI.dispose(),dA.dispose(),rI.dispose(),rI.removeEventListener("sessionstart",bI),rI.removeEventListener("sessionend",rB),BC.stop()};function W(m){m.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),M=!0}function MA(){console.log("THREE.WebGLRenderer: Context Restored."),M=!1;const m=UA.autoReset,AA=aI.enabled,oA=aI.autoUpdate,BA=aI.needsUpdate,iA=aI.type;Cg(),UA.autoReset=m,aI.enabled=AA,aI.autoUpdate=oA,aI.needsUpdate=BA,aI.type=iA}function DA(m){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",m.statusMessage)}function qA(m){const AA=m.target;AA.removeEventListener("dispose",qA),xA(AA)}function xA(m){KI(m),uA.remove(m)}function KI(m){const AA=uA.get(m).programs;AA!==void 0&&(AA.forEach(function(oA){dA.releaseProgram(oA)}),m.isShaderMaterial&&dA.releaseShaderCache(m))}this.renderBufferDirect=function(m,AA,oA,BA,iA,HA){AA===null&&(AA=II);const AI=iA.isMesh&&iA.matrixWorld.determinant()<0,gI=bh(m,AA,oA,BA,iA);lA.setMaterial(BA,AI);let nI=oA.index,DI=1;if(BA.wireframe===!0){if(nI=IA.getWireframeAttribute(oA),nI===void 0)return;DI=2}const hI=oA.drawRange,SI=oA.attributes.position;let rg=hI.start*DI,Hg=(hI.start+hI.count)*DI;HA!==null&&(rg=Math.max(rg,HA.start*DI),Hg=Math.min(Hg,(HA.start+HA.count)*DI)),nI!==null?(rg=Math.max(rg,0),Hg=Math.min(Hg,nI.count)):SI!=null&&(rg=Math.max(rg,0),Hg=Math.min(Hg,SI.count));const vC=Hg-rg;if(vC<0||vC===1/0)return;cI.setup(iA,BA,gI,oA,nI);let lB,fI=wI;if(nI!==null&&(lB=J.get(nI),fI=iI,fI.setIndex(lB)),iA.isMesh)BA.wireframe===!0?(lA.setLineWidth(BA.wireframeLinewidth*mA()),fI.setMode(P.LINES)):fI.setMode(P.TRIANGLES);else if(iA.isLine){let eI=BA.linewidth;eI===void 0&&(eI=1),lA.setLineWidth(eI*mA()),iA.isLineSegments?fI.setMode(P.LINES):iA.isLineLoop?fI.setMode(P.LINE_LOOP):fI.setMode(P.LINE_STRIP)}else iA.isPoints?fI.setMode(P.POINTS):iA.isSprite&&fI.setMode(P.TRIANGLES);if(iA.isBatchedMesh)iA._multiDrawInstances!==null?fI.renderMultiDrawInstances(iA._multiDrawStarts,iA._multiDrawCounts,iA._multiDrawCount,iA._multiDrawInstances):fI.renderMultiDraw(iA._multiDrawStarts,iA._multiDrawCounts,iA._multiDrawCount);else if(iA.isInstancedMesh)fI.renderInstances(rg,vC,iA.count);else if(oA.isInstancedBufferGeometry){const eI=oA._maxInstanceCount!==void 0?oA._maxInstanceCount:1/0,ZI=Math.min(oA.instanceCount,eI);fI.renderInstances(rg,vC,ZI)}else fI.render(rg,vC)};function vI(m,AA,oA){m.transparent===!0&&m.side===XB&&m.forceSinglePass===!1?(m.side=TC,m.needsUpdate=!0,EE(m,AA,oA),m.side=pi,m.needsUpdate=!0,EE(m,AA,oA),m.side=XB):EE(m,AA,oA)}this.compile=function(m,AA,oA=null){oA===null&&(oA=m),S=fA.get(oA),S.init(AA),G.push(S),oA.traverseVisible(function(iA){iA.isLight&&iA.layers.test(AA.layers)&&(S.pushLight(iA),iA.castShadow&&S.pushShadow(iA))}),m!==oA&&m.traverseVisible(function(iA){iA.isLight&&iA.layers.test(AA.layers)&&(S.pushLight(iA),iA.castShadow&&S.pushShadow(iA))}),S.setupLights(u._useLegacyLights);const BA=new Set;return m.traverse(function(iA){const HA=iA.material;if(HA)if(Array.isArray(HA))for(let AI=0;AI{function HA(){if(BA.forEach(function(AI){uA.get(AI).currentProgram.isReady()&&BA.delete(AI)}),BA.size===0){iA(m);return}setTimeout(HA,10)}EA.get("KHR_parallel_shader_compile")!==null?HA():setTimeout(HA,10)})};let jI=null;function pg(m){jI&&jI(m)}function bI(){BC.stop()}function rB(){BC.start()}const BC=new lf;BC.setAnimationLoop(pg),typeof self<"u"&&BC.setContext(self),this.setAnimationLoop=function(m){jI=m,rI.setAnimationLoop(m),m===null?BC.stop():BC.start()},rI.addEventListener("sessionstart",bI),rI.addEventListener("sessionend",rB),this.render=function(m,AA){if(AA!==void 0&&AA.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(M===!0)return;m.matrixWorldAutoUpdate===!0&&m.updateMatrixWorld(),AA.parent===null&&AA.matrixWorldAutoUpdate===!0&&AA.updateMatrixWorld(),rI.enabled===!0&&rI.isPresenting===!0&&(rI.cameraAutoUpdate===!0&&rI.updateCamera(AA),AA=rI.getCamera()),m.isScene===!0&&m.onBeforeRender(u,m,AA,F),S=fA.get(m,G.length),S.init(AA),G.push(S),aA.multiplyMatrices(AA.projectionMatrix,AA.matrixWorldInverse),OA.setFromProjectionMatrix(aA),yA=this.localClippingEnabled,CA=JA.init(this.clippingPlanes,yA),w=XA.get(m,c.length),w.init(),c.push(w),ba(m,AA,0,u.sortObjects),w.finish(),u.sortObjects===!0&&w.sort(Y,V);const oA=rI.enabled===!1||rI.isPresenting===!1||rI.hasDepthSensing()===!1;oA&&RA.addToRenderList(w,m),this.info.render.frame++,CA===!0&&JA.beginShadows();const BA=S.state.shadowsArray;aI.render(BA,m,AA),CA===!0&&JA.endShadows(),this.info.autoReset===!0&&this.info.reset();const iA=w.opaque,HA=w.transmissive;if(S.setupLights(u._useLegacyLights),AA.isArrayCamera){const AI=AA.cameras;if(HA.length>0)for(let gI=0,nI=AI.length;gI0&&_a(iA,HA,m,AA),oA&&RA.render(m),Oa(w,m,AA);F!==null&&(LA.updateMultisampleRenderTarget(F),LA.updateRenderTargetMipmap(F)),m.isScene===!0&&m.onAfterRender(u,m,AA),cI.resetDefaultState(),q=-1,K=null,G.pop(),G.length>0?(S=G[G.length-1],CA===!0&&JA.setGlobalState(u.clippingPlanes,S.state.camera)):S=null,c.pop(),c.length>0?w=c[c.length-1]:w=null};function ba(m,AA,oA,BA){if(m.visible===!1)return;if(m.layers.test(AA.layers)){if(m.isGroup)oA=m.renderOrder;else if(m.isLOD)m.autoUpdate===!0&&m.update(AA);else if(m.isLight)S.pushLight(m),m.castShadow&&S.pushShadow(m);else if(m.isSprite){if(!m.frustumCulled||OA.intersectsSprite(m)){BA&&wA.setFromMatrixPosition(m.matrixWorld).applyMatrix4(aA);const AI=hA.update(m),gI=m.material;gI.visible&&w.push(m,AI,gI,oA,wA.z,null)}}else if((m.isMesh||m.isLine||m.isPoints)&&(!m.frustumCulled||OA.intersectsObject(m))){const AI=hA.update(m),gI=m.material;if(BA&&(m.boundingSphere!==void 0?(m.boundingSphere===null&&m.computeBoundingSphere(),wA.copy(m.boundingSphere.center)):(AI.boundingSphere===null&&AI.computeBoundingSphere(),wA.copy(AI.boundingSphere.center)),wA.applyMatrix4(m.matrixWorld).applyMatrix4(aA)),Array.isArray(gI)){const nI=AI.groups;for(let DI=0,hI=nI.length;DI0&&be(iA,AA,oA),HA.length>0&&be(HA,AA,oA),AI.length>0&&be(AI,AA,oA),lA.buffers.depth.setTest(!0),lA.buffers.depth.setMask(!0),lA.buffers.color.setMask(!0),lA.setPolygonOffset(!1)}function _a(m,AA,oA,BA){if((oA.isScene===!0?oA.overrideMaterial:null)!==null)return;S.state.transmissionRenderTarget[BA.id]===void 0&&(S.state.transmissionRenderTarget[BA.id]=new Ui(1,1,{generateMipmaps:!0,type:EA.has("EXT_color_buffer_half_float")||EA.has("EXT_color_buffer_float")?wa:Wi,minFilter:EB,samples:4,stencilBuffer:i,resolveDepthBuffer:!1,resolveStencilBuffer:!1}));const HA=S.state.transmissionRenderTarget[BA.id],AI=BA.viewport||U;HA.setSize(AI.z,AI.w);const gI=u.getRenderTarget();u.setRenderTarget(HA),u.getClearColor(b),eA=u.getClearAlpha(),eA<1&&u.setClearColor(16777215,.5),u.clear();const nI=u.toneMapping;u.toneMapping=Pi;const DI=BA.viewport;if(BA.viewport!==void 0&&(BA.viewport=void 0),S.setupLightsView(BA),CA===!0&&JA.setGlobalState(u.clippingPlanes,BA),be(m,oA,BA),LA.updateMultisampleRenderTarget(HA),LA.updateRenderTargetMipmap(HA),EA.has("WEBGL_multisampled_render_to_texture")===!1){let hI=!1;for(let SI=0,rg=AA.length;SI0),SI=!!oA.morphAttributes.position,rg=!!oA.morphAttributes.normal,Hg=!!oA.morphAttributes.color;let vC=Pi;BA.toneMapped&&(F===null||F.isXRRenderTarget===!0)&&(vC=u.toneMapping);const lB=oA.morphAttributes.position||oA.morphAttributes.normal||oA.morphAttributes.color,fI=lB!==void 0?lB.length:0,eI=uA.get(BA),ZI=S.state.lights;if(CA===!0&&(yA===!0||m!==K)){const bC=m===K&&BA.id===q;JA.setState(BA,m,bC)}let tI=!1;BA.version===eI.__version?(eI.needsLights&&eI.lightsStateVersion!==ZI.state.version||eI.outputColorSpace!==gI||iA.isBatchedMesh&&eI.batching===!1||!iA.isBatchedMesh&&eI.batching===!0||iA.isInstancedMesh&&eI.instancing===!1||!iA.isInstancedMesh&&eI.instancing===!0||iA.isSkinnedMesh&&eI.skinning===!1||!iA.isSkinnedMesh&&eI.skinning===!0||iA.isInstancedMesh&&eI.instancingColor===!0&&iA.instanceColor===null||iA.isInstancedMesh&&eI.instancingColor===!1&&iA.instanceColor!==null||iA.isInstancedMesh&&eI.instancingMorph===!0&&iA.morphTexture===null||iA.isInstancedMesh&&eI.instancingMorph===!1&&iA.morphTexture!==null||eI.envMap!==nI||BA.fog===!0&&eI.fog!==HA||eI.numClippingPlanes!==void 0&&(eI.numClippingPlanes!==JA.numPlanes||eI.numIntersection!==JA.numIntersection)||eI.vertexAlphas!==DI||eI.vertexTangents!==hI||eI.morphTargets!==SI||eI.morphNormals!==rg||eI.morphColors!==Hg||eI.toneMapping!==vC||eI.morphTargetsCount!==fI)&&(tI=!0):(tI=!0,eI.__version=BA.version);let NC=eI.currentProgram;tI===!0&&(NC=EE(BA,AA,iA));let Xg=!1,Tg=!1,ti=!1;const Sg=NC.getUniforms(),wg=eI.uniforms;if(lA.useProgram(NC.program)&&(Xg=!0,Tg=!0,ti=!0),BA.id!==q&&(q=BA.id,Tg=!0),Xg||K!==m){Sg.setValue(P,"projectionMatrix",m.projectionMatrix),Sg.setValue(P,"viewMatrix",m.matrixWorldInverse);const bC=Sg.map.cameraPosition;bC!==void 0&&bC.setValue(P,wA.setFromMatrixPosition(m.matrixWorld)),SA.logarithmicDepthBuffer&&Sg.setValue(P,"logDepthBufFC",2/(Math.log(m.far+1)/Math.LN2)),(BA.isMeshPhongMaterial||BA.isMeshToonMaterial||BA.isMeshLambertMaterial||BA.isMeshBasicMaterial||BA.isMeshStandardMaterial||BA.isShaderMaterial)&&Sg.setValue(P,"isOrthographic",m.isOrthographicCamera===!0),K!==m&&(K=m,Tg=!0,ti=!0)}if(iA.isSkinnedMesh){Sg.setOptional(P,iA,"bindMatrix"),Sg.setOptional(P,iA,"bindMatrixInverse");const bC=iA.skeleton;bC&&(bC.boneTexture===null&&bC.computeBoneTexture(),Sg.setValue(P,"boneTexture",bC.boneTexture,LA))}iA.isBatchedMesh&&(Sg.setOptional(P,iA,"batchingTexture"),Sg.setValue(P,"batchingTexture",iA._matricesTexture,LA));const xQ=oA.morphAttributes;if((xQ.position!==void 0||xQ.normal!==void 0||xQ.color!==void 0)&&zA.update(iA,oA,NC),(Tg||eI.receiveShadow!==iA.receiveShadow)&&(eI.receiveShadow=iA.receiveShadow,Sg.setValue(P,"receiveShadow",iA.receiveShadow)),BA.isMeshGouraudMaterial&&BA.envMap!==null&&(wg.envMap.value=nI,wg.flipEnvMap.value=nI.isCubeTexture&&nI.isRenderTargetTexture===!1?-1:1),BA.isMeshStandardMaterial&&BA.envMap===null&&AA.environment!==null&&(wg.envMapIntensity.value=AA.environmentIntensity),Tg&&(Sg.setValue(P,"toneMappingExposure",u.toneMappingExposure),eI.needsLights&&Oh(wg,ti),HA&&BA.fog===!0&&GA.refreshFogUniforms(wg,HA),GA.refreshMaterialUniforms(wg,BA,kA,rA,S.state.transmissionRenderTarget[m.id]),uc.upload(P,TQ(eI),wg,LA)),BA.isShaderMaterial&&BA.uniformsNeedUpdate===!0&&(uc.upload(P,TQ(eI),wg,LA),BA.uniformsNeedUpdate=!1),BA.isSpriteMaterial&&Sg.setValue(P,"center",iA.center),Sg.setValue(P,"modelViewMatrix",iA.modelViewMatrix),Sg.setValue(P,"normalMatrix",iA.normalMatrix),Sg.setValue(P,"modelMatrix",iA.matrixWorld),BA.isShaderMaterial||BA.isRawShaderMaterial){const bC=BA.uniformsGroups;for(let oE=0,nE=bC.length;oE0&&LA.useMultisampledRTT(m)===!1?iA=uA.get(m).__webglMultisampledFramebuffer:Array.isArray(hI)?iA=hI[oA]:iA=hI,U.copy(m.viewport),L.copy(m.scissor),O=m.scissorTest}else U.copy(_).multiplyScalar(kA).floor(),L.copy(QA).multiplyScalar(kA).floor(),O=pA;if(lA.bindFramebuffer(P.FRAMEBUFFER,iA)&&BA&&lA.drawBuffers(m,iA),lA.viewport(U),lA.scissor(L),lA.setScissorTest(O),HA){const nI=uA.get(m.texture);P.framebufferTexture2D(P.FRAMEBUFFER,P.COLOR_ATTACHMENT0,P.TEXTURE_CUBE_MAP_POSITIVE_X+AA,nI.__webglTexture,oA)}else if(AI){const nI=uA.get(m.texture),DI=AA||0;P.framebufferTextureLayer(P.FRAMEBUFFER,P.COLOR_ATTACHMENT0,nI.__webglTexture,oA||0,DI)}q=-1},this.readRenderTargetPixels=function(m,AA,oA,BA,iA,HA,AI){if(!(m&&m.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let gI=uA.get(m).__webglFramebuffer;if(m.isWebGLCubeRenderTarget&&AI!==void 0&&(gI=gI[AI]),gI){lA.bindFramebuffer(P.FRAMEBUFFER,gI);try{const nI=m.texture,DI=nI.format,hI=nI.type;if(!SA.textureFormatReadable(DI)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!SA.textureTypeReadable(hI)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}AA>=0&&AA<=m.width-BA&&oA>=0&&oA<=m.height-iA&&P.readPixels(AA,oA,BA,iA,bA.convert(DI),bA.convert(hI),HA)}finally{const nI=F!==null?uA.get(F).__webglFramebuffer:null;lA.bindFramebuffer(P.FRAMEBUFFER,nI)}}},this.copyFramebufferToTexture=function(m,AA,oA=0){const BA=Math.pow(2,-oA),iA=Math.floor(AA.image.width*BA),HA=Math.floor(AA.image.height*BA);LA.setTexture2D(AA,0),P.copyTexSubImage2D(P.TEXTURE_2D,oA,0,0,m.x,m.y,iA,HA),lA.unbindTexture()},this.copyTextureToTexture=function(m,AA,oA,BA=0){const iA=AA.image.width,HA=AA.image.height,AI=bA.convert(oA.format),gI=bA.convert(oA.type);LA.setTexture2D(oA,0),P.pixelStorei(P.UNPACK_FLIP_Y_WEBGL,oA.flipY),P.pixelStorei(P.UNPACK_PREMULTIPLY_ALPHA_WEBGL,oA.premultiplyAlpha),P.pixelStorei(P.UNPACK_ALIGNMENT,oA.unpackAlignment),AA.isDataTexture?P.texSubImage2D(P.TEXTURE_2D,BA,m.x,m.y,iA,HA,AI,gI,AA.image.data):AA.isCompressedTexture?P.compressedTexSubImage2D(P.TEXTURE_2D,BA,m.x,m.y,AA.mipmaps[0].width,AA.mipmaps[0].height,AI,AA.mipmaps[0].data):P.texSubImage2D(P.TEXTURE_2D,BA,m.x,m.y,AI,gI,AA.image),BA===0&&oA.generateMipmaps&&P.generateMipmap(P.TEXTURE_2D),lA.unbindTexture()},this.copyTextureToTexture3D=function(m,AA,oA,BA,iA=0){const HA=m.max.x-m.min.x,AI=m.max.y-m.min.y,gI=m.max.z-m.min.z,nI=bA.convert(BA.format),DI=bA.convert(BA.type);let hI;if(BA.isData3DTexture)LA.setTexture3D(BA,0),hI=P.TEXTURE_3D;else if(BA.isDataArrayTexture||BA.isCompressedArrayTexture)LA.setTexture2DArray(BA,0),hI=P.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}P.pixelStorei(P.UNPACK_FLIP_Y_WEBGL,BA.flipY),P.pixelStorei(P.UNPACK_PREMULTIPLY_ALPHA_WEBGL,BA.premultiplyAlpha),P.pixelStorei(P.UNPACK_ALIGNMENT,BA.unpackAlignment);const SI=P.getParameter(P.UNPACK_ROW_LENGTH),rg=P.getParameter(P.UNPACK_IMAGE_HEIGHT),Hg=P.getParameter(P.UNPACK_SKIP_PIXELS),vC=P.getParameter(P.UNPACK_SKIP_ROWS),lB=P.getParameter(P.UNPACK_SKIP_IMAGES),fI=oA.isCompressedTexture?oA.mipmaps[iA]:oA.image;P.pixelStorei(P.UNPACK_ROW_LENGTH,fI.width),P.pixelStorei(P.UNPACK_IMAGE_HEIGHT,fI.height),P.pixelStorei(P.UNPACK_SKIP_PIXELS,m.min.x),P.pixelStorei(P.UNPACK_SKIP_ROWS,m.min.y),P.pixelStorei(P.UNPACK_SKIP_IMAGES,m.min.z),oA.isDataTexture||oA.isData3DTexture?P.texSubImage3D(hI,iA,AA.x,AA.y,AA.z,HA,AI,gI,nI,DI,fI.data):BA.isCompressedArrayTexture?P.compressedTexSubImage3D(hI,iA,AA.x,AA.y,AA.z,HA,AI,gI,nI,fI.data):P.texSubImage3D(hI,iA,AA.x,AA.y,AA.z,HA,AI,gI,nI,DI,fI),P.pixelStorei(P.UNPACK_ROW_LENGTH,SI),P.pixelStorei(P.UNPACK_IMAGE_HEIGHT,rg),P.pixelStorei(P.UNPACK_SKIP_PIXELS,Hg),P.pixelStorei(P.UNPACK_SKIP_ROWS,vC),P.pixelStorei(P.UNPACK_SKIP_IMAGES,lB),iA===0&&BA.generateMipmaps&&P.generateMipmap(hI),lA.unbindTexture()},this.initTexture=function(m){m.isCubeTexture?LA.setTextureCube(m,0):m.isData3DTexture?LA.setTexture3D(m,0):m.isDataArrayTexture||m.isCompressedArrayTexture?LA.setTexture2DArray(m,0):LA.setTexture2D(m,0),lA.unbindTexture()},this.resetState=function(){R=0,N=0,F=null,lA.reset(),cI.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return bi}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(A){this._outputColorSpace=A;const I=this.getContext();I.drawingBufferColorSpace=A===TD?"display-p3":"srgb",I.unpackColorSpace=VI.workingColorSpace===ya?"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(A){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=A}}class bD{constructor(A,I=25e-5){this.isFogExp2=!0,this.name="",this.color=new KA(A),this.density=I}clone(){return new bD(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class OD{constructor(A,I=1,C=1e3){this.isFog=!0,this.name="",this.color=new KA(A),this.near=I,this.far=C}clone(){return new OD(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class $c extends RI{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 lC,this.environmentIntensity=1,this.environmentRotation=new lC,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(A,I){return super.copy(A,I),A.background!==null&&(this.background=A.background.clone()),A.environment!==null&&(this.environment=A.environment.clone()),A.fog!==null&&(this.fog=A.fog.clone()),this.backgroundBlurriness=A.backgroundBlurriness,this.backgroundIntensity=A.backgroundIntensity,this.backgroundRotation.copy(A.backgroundRotation),this.environmentIntensity=A.environmentIntensity,this.environmentRotation.copy(A.environmentRotation),A.overrideMaterial!==null&&(this.overrideMaterial=A.overrideMaterial.clone()),this.matrixAutoUpdate=A.matrixAutoUpdate,this}toJSON(A){const I=super.toJSON(A);return this.fog!==null&&(I.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(I.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(I.object.backgroundIntensity=this.backgroundIntensity),I.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(I.object.environmentIntensity=this.environmentIntensity),I.object.environmentRotation=this.environmentRotation.toArray(),I}}class $o{constructor(A,I){this.isInterleavedBuffer=!0,this.array=A,this.stride=I,this.count=A!==void 0?A.length/I:0,this.usage=zs,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=pB()}onUploadCallback(){}set needsUpdate(A){A===!0&&this.version++}get updateRange(){return tf("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(A){return this.usage=A,this}addUpdateRange(A,I){this.updateRanges.push({start:A,count:I})}clearUpdateRanges(){this.updateRanges.length=0}copy(A){return this.array=new A.array.constructor(A.array),this.count=A.count,this.stride=A.stride,this.usage=A.usage,this}copyAt(A,I,C){A*=this.stride,C*=I.stride;for(let B=0,i=this.stride;BA.far||I.push({distance:t,point:Hn.clone(),uv:kB.getInterpolation(Hn,ul,xn,kl,HU,Zw,TU,new cA),face:null,object:this})}copy(A,I){return super.copy(A,I),A.center!==void 0&&this.center.copy(A.center),this.material=A.material,this}}function Ml(g,A,I,C,B,i){OE.subVectors(g,I).addScalar(.5).multiply(C),B!==void 0?(Tn.x=i*OE.x-B*OE.y,Tn.y=B*OE.x+i*OE.y):Tn.copy(OE),g.copy(A),g.x+=Tn.x,g.y+=Tn.y,g.applyMatrix4(kf)}const dl=new f,xU=new f;class df extends RI{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(A){super.copy(A,!1);const I=A.levels;for(let C=0,B=I.length;C0){let C,B;for(C=1,B=I.length;C0){dl.setFromMatrixPosition(this.matrixWorld);const B=A.ray.origin.distanceTo(dl);this.getObjectForDistance(B).raycast(A,I)}}update(A){const I=this.levels;if(I.length>1){dl.setFromMatrixPosition(A.matrixWorld),xU.setFromMatrixPosition(this.matrixWorld);const C=dl.distanceTo(xU)/A.zoom;I[0].object.visible=!0;let B,i;for(B=1,i=I.length;B=Q)I[B-1].object.visible=!1,I[B].object.visible=!0;else break}for(this._currentLevel=B-1;B=C.length&&C.push({start:-1,count:-1,z:-1});const i=C[this.index];B.push(i),this.index++,i.start=A.start,i.count=A.count,i.z=I}reset(){this.list.length=0,this.index=0}}const PE="batchId",Ce=new _A,jU=new _A,r_=new _A,XU=new _A,jw=new da,Nl=new MC,it=new Vg,On=new f,Xw=new a_,LC=new Qg,Fl=[];function l_(g,A,I=0){const C=A.itemSize;if(g.isInterleavedBufferAttribute||g.array.constructor!==A.array.constructor){const B=g.count;for(let i=0;i65536?new Uint32Array(i):new Uint16Array(i);I.setIndex(new oI(e,1))}const Q=B>65536?new Uint32Array(C):new Uint16Array(C);I.setAttribute(PE,new oI(Q,1)),this._geometryInitialized=!0}}_validateGeometry(A){if(A.getAttribute(PE))throw new Error(`BatchedMesh: Geometry cannot use attribute "${PE}"`);const I=this.geometry;if(!!A.getIndex()!=!!I.getIndex())throw new Error('BatchedMesh: All geometries must consistently have "index".');for(const C in I.attributes){if(C===PE)continue;if(!A.hasAttribute(C))throw new Error(`BatchedMesh: Added geometry missing "${C}". All geometries must have consistent attributes.`);const B=A.getAttribute(C),i=I.getAttribute(C);if(B.itemSize!==i.itemSize||B.normalized!==i.normalized)throw new Error("BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}setCustomSort(A){return this.customSort=A,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new MC);const A=this._geometryCount,I=this.boundingBox,C=this._active;I.makeEmpty();for(let B=0;B=this._maxGeometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");const B={vertexStart:-1,vertexCount:-1,indexStart:-1,indexCount:-1};let i=null;const Q=this._reservedRanges,e=this._drawRanges,t=this._bounds;this._geometryCount!==0&&(i=Q[Q.length-1]),I===-1?B.vertexCount=A.getAttribute("position").count:B.vertexCount=I,i===null?B.vertexStart=0:B.vertexStart=i.vertexStart+i.vertexCount;const E=A.getIndex(),s=E!==null;if(s&&(C===-1?B.indexCount=E.count:B.indexCount=C,i===null?B.indexStart=0:B.indexStart=i.indexStart+i.indexCount),B.indexStart!==-1&&B.indexStart+B.indexCount>this._maxIndexCount||B.vertexStart+B.vertexCount>this._maxVertexCount)throw new Error("BatchedMesh: Reserved space request exceeds the maximum buffer size.");const a=this._visibility,r=this._active,l=this._matricesTexture,h=this._matricesTexture.image.data;a.push(!0),r.push(!0);const w=this._geometryCount;this._geometryCount++,r_.toArray(h,w*16),l.needsUpdate=!0,Q.push(B),e.push({start:s?B.indexStart:B.vertexStart,count:-1}),t.push({boxInitialized:!1,box:new MC,sphereInitialized:!1,sphere:new Vg});const S=this.geometry.getAttribute(PE);for(let c=0;c=this._geometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");this._validateGeometry(I);const C=this.geometry,B=C.getIndex()!==null,i=C.getIndex(),Q=I.getIndex(),e=this._reservedRanges[A];if(B&&Q.count>e.indexCount||I.attributes.position.count>e.vertexCount)throw new Error("BatchedMesh: Reserved space not large enough for provided geometry.");const t=e.vertexStart,E=e.vertexCount;for(const l in C.attributes){if(l===PE)continue;const h=I.getAttribute(l),w=C.getAttribute(l);l_(h,w,t);const S=h.itemSize;for(let c=h.count,G=E;c=I.length||I[A]===!1?this:(I[A]=!1,this._visibilityChanged=!0,this)}getInstanceCountAt(A){return this._multiDrawInstances===null?null:this._multiDrawInstances[A]}setInstanceCountAt(A,I){return this._multiDrawInstances===null&&(this._multiDrawInstances=new Int32Array(this._maxGeometryCount).fill(1)),this._multiDrawInstances[A]=I,A}getBoundingBoxAt(A,I){if(this._active[A]===!1)return null;const B=this._bounds[A],i=B.box,Q=this.geometry;if(B.boxInitialized===!1){i.makeEmpty();const e=Q.index,t=Q.attributes.position,E=this._drawRanges[A];for(let s=E.start,a=E.start+E.count;s=Q||C[A]===!1?this:(I.toArray(i,A*16),B.needsUpdate=!0,this)}getMatrixAt(A,I){const C=this._active,B=this._matricesTexture.image.data,i=this._geometryCount;return A>=i||C[A]===!1?null:I.fromArray(B,A*16)}setVisibleAt(A,I){const C=this._visibility,B=this._active,i=this._geometryCount;return A>=i||B[A]===!1||C[A]===I?this:(C[A]=I,this._visibilityChanged=!0,this)}getVisibleAt(A){const I=this._visibility,C=this._active,B=this._geometryCount;return A>=B||C[A]===!1?!1:I[A]}raycast(A,I){const C=this._visibility,B=this._active,i=this._drawRanges,Q=this._geometryCount,e=this.matrixWorld,t=this.geometry;LC.material=this.material,LC.geometry.index=t.index,LC.geometry.attributes=t.attributes,LC.geometry.boundingBox===null&&(LC.geometry.boundingBox=new MC),LC.geometry.boundingSphere===null&&(LC.geometry.boundingSphere=new Vg);for(let E=0;E({...I})),this._reservedRanges=A._reservedRanges.map(I=>({...I})),this._visibility=A._visibility.slice(),this._active=A._active.slice(),this._bounds=A._bounds.map(I=>({boxInitialized:I.boxInitialized,box:I.box.clone(),sphereInitialized:I.sphereInitialized,sphere:I.sphere.clone()})),this._maxGeometryCount=A._maxGeometryCount,this._maxVertexCount=A._maxVertexCount,this._maxIndexCount=A._maxIndexCount,this._geometryInitialized=A._geometryInitialized,this._geometryCount=A._geometryCount,this._multiDrawCounts=A._multiDrawCounts.slice(),this._multiDrawStarts=A._multiDrawStarts.slice(),this._matricesTexture=A._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.slice(),this}dispose(){return this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this}onBeforeRender(A,I,C,B,i){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const Q=B.getIndex(),e=Q===null?1:Q.array.BYTES_PER_ELEMENT,t=this._active,E=this._visibility,s=this._multiDrawStarts,a=this._multiDrawCounts,r=this._drawRanges,l=this.perObjectFrustumCulled;l&&(XU.multiplyMatrices(C.projectionMatrix,C.matrixWorldInverse).multiply(this.matrixWorld),jw.setFromProjectionMatrix(XU,A.coordinateSystem));let h=0;if(this.sortObjects){jU.copy(this.matrixWorld).invert(),On.setFromMatrixPosition(C.matrixWorld).applyMatrix4(jU);for(let c=0,G=E.length;c0){const B=I[C[0]];if(B!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let i=0,Q=B.length;iC)return;zw.applyMatrix4(g.matrixWorld);const t=A.ray.origin.distanceTo(zw);if(!(tA.far))return{distance:t,point:$U.clone().applyMatrix4(g.matrixWorld),index:B,face:null,faceIndex:null,object:g}}const AN=new f,IN=new f;class Qi extends Vi{constructor(A,I){super(A,I),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const A=this.geometry;if(A.index===null){const I=A.attributes.position,C=[];for(let B=0,i=I.count;B0){const B=I[C[0]];if(B!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let i=0,Q=B.length;iB.far)return;i.push({distance:E,distanceToRay:Math.sqrt(e),point:t,index:A,face:null,object:Q})}}class c_ extends Ig{constructor(A,I,C,B,i,Q,e,t,E){super(A,I,C,B,i,Q,e,t,E),this.isVideoTexture=!0,this.minFilter=Q!==void 0?Q:hg,this.magFilter=i!==void 0?i:hg,this.generateMipmaps=!1;const s=this;function a(){s.needsUpdate=!0,A.requestVideoFrameCallback(a)}"requestVideoFrameCallback"in A&&A.requestVideoFrameCallback(a)}clone(){return new this.constructor(this.image).copy(this)}update(){const A=this.image;"requestVideoFrameCallback"in A===!1&&A.readyState>=A.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class D_ extends Ig{constructor(A,I){super({width:A,height:I}),this.isFramebufferTexture=!0,this.magFilter=Zg,this.minFilter=Zg,this.generateMipmaps=!1,this.needsUpdate=!0}}class WD extends Ig{constructor(A,I,C,B,i,Q,e,t,E,s,a,r){super(null,Q,e,t,E,s,B,i,a,r),this.isCompressedTexture=!0,this.image={width:I,height:C},this.mipmaps=A,this.flipY=!1,this.generateMipmaps=!1}}class h_ extends WD{constructor(A,I,C,B,i,Q){super(A,I,C,i,Q),this.isCompressedArrayTexture=!0,this.image.depth=B,this.wrapR=tB}}class S_ extends WD{constructor(A,I,C){super(void 0,A[0].width,A[0].height,I,C,NQ),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=A}}class w_ extends Ig{constructor(A,I,C,B,i,Q,e,t,E){super(A,I,C,B,i,Q,e,t,E),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Ni{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(A,I){const C=this.getUtoTmapping(A);return this.getPoint(C,I)}getPoints(A=5){const I=[];for(let C=0;C<=A;C++)I.push(this.getPoint(C/A));return I}getSpacedPoints(A=5){const I=[];for(let C=0;C<=A;C++)I.push(this.getPointAt(C/A));return I}getLength(){const A=this.getLengths();return A[A.length-1]}getLengths(A=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===A+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const I=[];let C,B=this.getPoint(0),i=0;I.push(0);for(let Q=1;Q<=A;Q++)C=this.getPoint(Q/A),i+=C.distanceTo(B),I.push(i),B=C;return this.cacheArcLengths=I,I}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(A,I){const C=this.getLengths();let B=0;const i=C.length;let Q;I?Q=I:Q=A*C[i-1];let e=0,t=i-1,E;for(;e<=t;)if(B=Math.floor(e+(t-e)/2),E=C[B]-Q,E<0)e=B+1;else if(E>0)t=B-1;else{t=B;break}if(B=t,C[B]===Q)return B/(i-1);const s=C[B],r=C[B+1]-s,l=(Q-s)/r;return(B+l)/(i-1)}getTangent(A,I){let B=A-1e-4,i=A+1e-4;B<0&&(B=0),i>1&&(i=1);const Q=this.getPoint(B),e=this.getPoint(i),t=I||(Q.isVector2?new cA:new f);return t.copy(e).sub(Q).normalize(),t}getTangentAt(A,I){const C=this.getUtoTmapping(A);return this.getTangent(C,I)}computeFrenetFrames(A,I){const C=new f,B=[],i=[],Q=[],e=new f,t=new _A;for(let l=0;l<=A;l++){const h=l/A;B[l]=this.getTangentAt(h,new f)}i[0]=new f,Q[0]=new f;let E=Number.MAX_VALUE;const s=Math.abs(B[0].x),a=Math.abs(B[0].y),r=Math.abs(B[0].z);s<=E&&(E=s,C.set(1,0,0)),a<=E&&(E=a,C.set(0,1,0)),r<=E&&C.set(0,0,1),e.crossVectors(B[0],C).normalize(),i[0].crossVectors(B[0],e),Q[0].crossVectors(B[0],i[0]);for(let l=1;l<=A;l++){if(i[l]=i[l-1].clone(),Q[l]=Q[l-1].clone(),e.crossVectors(B[l-1],B[l]),e.length()>Number.EPSILON){e.normalize();const h=Math.acos(Jg(B[l-1].dot(B[l]),-1,1));i[l].applyMatrix4(t.makeRotationAxis(e,h))}Q[l].crossVectors(B[l],i[l])}if(I===!0){let l=Math.acos(Jg(i[0].dot(i[A]),-1,1));l/=A,B[0].dot(e.crossVectors(i[0],i[A]))>0&&(l=-l);for(let h=1;h<=A;h++)i[h].applyMatrix4(t.makeRotationAxis(B[h],l*h)),Q[h].crossVectors(B[h],i[h])}return{tangents:B,normals:i,binormals:Q}}clone(){return new this.constructor().copy(this)}copy(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}toJSON(){const A={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return A.arcLengthDivisions=this.arcLengthDivisions,A.type=this.type,A}fromJSON(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}}class VD extends Ni{constructor(A=0,I=0,C=1,B=1,i=0,Q=Math.PI*2,e=!1,t=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=A,this.aY=I,this.xRadius=C,this.yRadius=B,this.aStartAngle=i,this.aEndAngle=Q,this.aClockwise=e,this.aRotation=t}getPoint(A,I=new cA){const C=I,B=Math.PI*2;let i=this.aEndAngle-this.aStartAngle;const Q=Math.abs(i)B;)i-=B;i0?0:(Math.floor(Math.abs(e)/i)+1)*i:t===0&&e===i-1&&(e=i-2,t=1);let E,s;this.closed||e>0?E=B[(e-1)%i]:(ql.subVectors(B[0],B[1]).add(B[0]),E=ql);const a=B[e%i],r=B[(e+1)%i];if(this.closed||e+2B.length-2?B.length-1:Q+1],a=B[Q>B.length-3?B.length-1:Q+2];return C.set(BN(e,t.x,E.x,s.x,a.x),BN(e,t.y,E.y,s.y,a.y)),C}copy(A){super.copy(A),this.points=[];for(let I=0,C=A.points.length;I=C){const Q=B[i]-C,e=this.curves[i],t=e.getLength(),E=t===0?0:1-Q/t;return e.getPointAt(E,I)}i++}return null}getLength(){const A=this.getCurveLengths();return A[A.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 A=[];let I=0;for(let C=0,B=this.curves.length;C1&&!I[I.length-1].equals(I[0])&&I.push(I[0]),I}copy(A){super.copy(A),this.curves=[];for(let I=0,C=A.curves.length;I0){const a=E.getPoint(0);a.equals(this.currentPoint)||this.lineTo(a.x,a.y)}this.curves.push(E);const s=E.getPoint(1);return this.currentPoint.copy(s),this}copy(A){return super.copy(A),this.currentPoint.copy(A.currentPoint),this}toJSON(){const A=super.toJSON();return A.currentPoint=this.currentPoint.toArray(),A}fromJSON(A){return super.fromJSON(A),this.currentPoint.fromArray(A.currentPoint),this}}class Fa extends lI{constructor(A=[new cA(0,-.5),new cA(.5,0),new cA(0,.5)],I=12,C=0,B=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:A,segments:I,phiStart:C,phiLength:B},I=Math.floor(I),B=Jg(B,0,Math.PI*2);const i=[],Q=[],e=[],t=[],E=[],s=1/I,a=new f,r=new cA,l=new f,h=new f,w=new f;let S=0,c=0;for(let G=0;G<=A.length-1;G++)switch(G){case 0:S=A[G+1].x-A[G].x,c=A[G+1].y-A[G].y,l.x=c*1,l.y=-S,l.z=c*0,w.copy(l),l.normalize(),t.push(l.x,l.y,l.z);break;case A.length-1:t.push(w.x,w.y,w.z);break;default:S=A[G+1].x-A[G].x,c=A[G+1].y-A[G].y,l.x=c*1,l.y=-S,l.z=c*0,h.copy(l),l.x+=w.x,l.y+=w.y,l.z+=w.z,l.normalize(),t.push(l.x,l.y,l.z),w.copy(h)}for(let G=0;G<=I;G++){const u=C+G*s*B,M=Math.sin(u),R=Math.cos(u);for(let N=0;N<=A.length-1;N++){a.x=A[N].x*M,a.y=A[N].y,a.z=A[N].x*R,Q.push(a.x,a.y,a.z),r.x=G/I,r.y=N/(A.length-1),e.push(r.x,r.y);const F=t[3*N+0]*M,q=t[3*N+1],K=t[3*N+0]*R;E.push(F,q,K)}}for(let G=0;G0&&u(!0),I>0&&u(!1)),this.setIndex(s),this.setAttribute("position",new $A(a,3)),this.setAttribute("normal",new $A(r,3)),this.setAttribute("uv",new $A(l,2));function G(){const M=new f,R=new f;let N=0;const F=(I-A)/C;for(let q=0;q<=i;q++){const K=[],U=q/i,L=U*(I-A)+A;for(let O=0;O<=B;O++){const b=O/B,eA=b*t+e,tA=Math.sin(eA),rA=Math.cos(eA);R.x=L*tA,R.y=-U*C+S,R.z=L*rA,a.push(R.x,R.y,R.z),M.set(tA,F,rA).normalize(),r.push(M.x,M.y,M.z),l.push(b,1-U),K.push(h++)}w.push(K)}for(let q=0;q.9&&F<.1&&(u<.2&&(Q[G+0]+=1),M<.2&&(Q[G+2]+=1),R<.2&&(Q[G+4]+=1))}}function r(G){i.push(G.x,G.y,G.z)}function l(G,u){const M=G*3;u.x=A[M+0],u.y=A[M+1],u.z=A[M+2]}function h(){const G=new f,u=new f,M=new f,R=new f,N=new cA,F=new cA,q=new cA;for(let K=0,U=0;K80*I){e=E=g[0],t=s=g[1];for(let h=I;hE&&(E=a),r>s&&(s=r);l=Math.max(E-e,s-t),l=l!==0?32767/l:0}return ga(i,Q,I,e,t,l,0),Q}};function ff(g,A,I,C,B){let i,Q;if(B===O_(g,A,I,C)>0)for(i=A;i=A;i-=C)Q=iN(i,g[i],g[i+1],Q);return Q&&Ih(Q,Q.next)&&(Ba(Q),Q=Q.next),Q}function Ot(g,A){if(!g)return g;A||(A=g);let I=g,C;do if(C=!1,!I.steiner&&(Ih(I,I.next)||kg(I.prev,I,I.next)===0)){if(Ba(I),I=A=I.prev,I===I.next)break;C=!0}else I=I.next;while(C||I!==A);return A}function ga(g,A,I,C,B,i,Q){if(!g)return;!Q&&i&&L_(g,C,B,i);let e=g,t,E;for(;g.prev!==g.next;){if(t=g.prev,E=g.next,i?F_(g,C,B,i):N_(g)){A.push(t.i/I|0),A.push(g.i/I|0),A.push(E.i/I|0),Ba(g),g=E.next,e=E.next;continue}if(g=E,g===e){Q?Q===1?(g=R_(Ot(g),A,I),ga(g,A,I,C,B,i,2)):Q===2&&K_(g,A,I,C,B,i):ga(Ot(g),A,I,C,B,i,1);break}}}function N_(g){const A=g.prev,I=g,C=g.next;if(kg(A,I,C)>=0)return!1;const B=A.x,i=I.x,Q=C.x,e=A.y,t=I.y,E=C.y,s=Bi?B>Q?B:Q:i>Q?i:Q,l=e>t?e>E?e:E:t>E?t:E;let h=C.next;for(;h!==A;){if(h.x>=s&&h.x<=r&&h.y>=a&&h.y<=l&&lo(B,e,i,t,Q,E,h.x,h.y)&&kg(h.prev,h,h.next)>=0)return!1;h=h.next}return!0}function F_(g,A,I,C){const B=g.prev,i=g,Q=g.next;if(kg(B,i,Q)>=0)return!1;const e=B.x,t=i.x,E=Q.x,s=B.y,a=i.y,r=Q.y,l=et?e>E?e:E:t>E?t:E,S=s>a?s>r?s:r:a>r?a:r,c=lu(l,h,A,I,C),G=lu(w,S,A,I,C);let u=g.prevZ,M=g.nextZ;for(;u&&u.z>=c&&M&&M.z<=G;){if(u.x>=l&&u.x<=w&&u.y>=h&&u.y<=S&&u!==B&&u!==Q&&lo(e,s,t,a,E,r,u.x,u.y)&&kg(u.prev,u,u.next)>=0||(u=u.prevZ,M.x>=l&&M.x<=w&&M.y>=h&&M.y<=S&&M!==B&&M!==Q&&lo(e,s,t,a,E,r,M.x,M.y)&&kg(M.prev,M,M.next)>=0))return!1;M=M.nextZ}for(;u&&u.z>=c;){if(u.x>=l&&u.x<=w&&u.y>=h&&u.y<=S&&u!==B&&u!==Q&&lo(e,s,t,a,E,r,u.x,u.y)&&kg(u.prev,u,u.next)>=0)return!1;u=u.prevZ}for(;M&&M.z<=G;){if(M.x>=l&&M.x<=w&&M.y>=h&&M.y<=S&&M!==B&&M!==Q&&lo(e,s,t,a,E,r,M.x,M.y)&&kg(M.prev,M,M.next)>=0)return!1;M=M.nextZ}return!0}function R_(g,A,I){let C=g;do{const B=C.prev,i=C.next.next;!Ih(B,i)&&qf(B,C,C.next,i)&&Ca(B,i)&&Ca(i,B)&&(A.push(B.i/I|0),A.push(C.i/I|0),A.push(i.i/I|0),Ba(C),Ba(C.next),C=g=i),C=C.next}while(C!==g);return Ot(C)}function K_(g,A,I,C,B,i){let Q=g;do{let e=Q.next.next;for(;e!==Q.prev;){if(Q.i!==e.i&&x_(Q,e)){let t=mf(Q,e);Q=Ot(Q,Q.next),t=Ot(t,t.next),ga(Q,A,I,C,B,i,0),ga(t,A,I,C,B,i,0);return}e=e.next}Q=Q.next}while(Q!==g)}function J_(g,A,I,C){const B=[];let i,Q,e,t,E;for(i=0,Q=A.length;i=I.next.y&&I.next.y!==I.y){const r=I.x+(Q-I.y)*(I.next.x-I.x)/(I.next.y-I.y);if(r<=i&&r>C&&(C=r,B=I.x=I.x&&I.x>=t&&i!==I.x&&lo(QB.x||I.x===B.x&&Y_(B,I)))&&(B=I,s=a)),I=I.next;while(I!==e);return B}function Y_(g,A){return kg(g.prev,g,A.prev)<0&&kg(A.next,g,g.next)<0}function L_(g,A,I,C){let B=g;do B.z===0&&(B.z=lu(B.x,B.y,A,I,C)),B.prevZ=B.prev,B.nextZ=B.next,B=B.next;while(B!==g);B.prevZ.nextZ=null,B.prevZ=null,H_(B)}function H_(g){let A,I,C,B,i,Q,e,t,E=1;do{for(I=g,g=null,i=null,Q=0;I;){for(Q++,C=I,e=0,A=0;A0||t>0&&C;)e!==0&&(t===0||!C||I.z<=C.z)?(B=I,I=I.nextZ,e--):(B=C,C=C.nextZ,t--),i?i.nextZ=B:g=B,B.prevZ=i,i=B;I=C}i.nextZ=null,E*=2}while(Q>1);return g}function lu(g,A,I,C,B){return g=(g-I)*B|0,A=(A-C)*B|0,g=(g|g<<8)&16711935,g=(g|g<<4)&252645135,g=(g|g<<2)&858993459,g=(g|g<<1)&1431655765,A=(A|A<<8)&16711935,A=(A|A<<4)&252645135,A=(A|A<<2)&858993459,A=(A|A<<1)&1431655765,g|A<<1}function T_(g){let A=g,I=g;do(A.x=(g-Q)*(i-e)&&(g-Q)*(C-e)>=(I-Q)*(A-e)&&(I-Q)*(i-e)>=(B-Q)*(C-e)}function x_(g,A){return g.next.i!==A.i&&g.prev.i!==A.i&&!v_(g,A)&&(Ca(g,A)&&Ca(A,g)&&b_(g,A)&&(kg(g.prev,g,A.prev)||kg(g,A.prev,A))||Ih(g,A)&&kg(g.prev,g,g.next)>0&&kg(A.prev,A,A.next)>0)}function kg(g,A,I){return(A.y-g.y)*(I.x-A.x)-(A.x-g.x)*(I.y-A.y)}function Ih(g,A){return g.x===A.x&&g.y===A.y}function qf(g,A,I,C){const B=Tl(kg(g,A,I)),i=Tl(kg(g,A,C)),Q=Tl(kg(I,C,g)),e=Tl(kg(I,C,A));return!!(B!==i&&Q!==e||B===0&&Hl(g,I,A)||i===0&&Hl(g,C,A)||Q===0&&Hl(I,g,C)||e===0&&Hl(I,A,C))}function Hl(g,A,I){return A.x<=Math.max(g.x,I.x)&&A.x>=Math.min(g.x,I.x)&&A.y<=Math.max(g.y,I.y)&&A.y>=Math.min(g.y,I.y)}function Tl(g){return g>0?1:g<0?-1:0}function v_(g,A){let I=g;do{if(I.i!==g.i&&I.next.i!==g.i&&I.i!==A.i&&I.next.i!==A.i&&qf(I,I.next,g,A))return!0;I=I.next}while(I!==g);return!1}function Ca(g,A){return kg(g.prev,g,g.next)<0?kg(g,A,g.next)>=0&&kg(g,g.prev,A)>=0:kg(g,A,g.prev)<0||kg(g,g.next,A)<0}function b_(g,A){let I=g,C=!1;const B=(g.x+A.x)/2,i=(g.y+A.y)/2;do I.y>i!=I.next.y>i&&I.next.y!==I.y&&B<(I.next.x-I.x)*(i-I.y)/(I.next.y-I.y)+I.x&&(C=!C),I=I.next;while(I!==g);return C}function mf(g,A){const I=new cu(g.i,g.x,g.y),C=new cu(A.i,A.x,A.y),B=g.next,i=A.prev;return g.next=A,A.prev=g,I.next=B,B.prev=I,C.next=I,I.prev=C,i.next=C,C.prev=i,C}function iN(g,A,I,C){const B=new cu(g,A,I);return C?(B.next=C.next,B.prev=C,C.next.prev=B,C.next=B):(B.prev=B,B.next=B),B}function Ba(g){g.next.prev=g.prev,g.prev.next=g.next,g.prevZ&&(g.prevZ.nextZ=g.nextZ),g.nextZ&&(g.nextZ.prevZ=g.prevZ)}function cu(g,A,I){this.i=g,this.x=A,this.y=I,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function O_(g,A,I,C){let B=0;for(let i=A,Q=I-C;i2&&g[A-1].equals(g[0])&&g.pop()}function eN(g,A){for(let I=0;INumber.EPSILON){const GA=Math.sqrt(hA),XA=Math.sqrt(J*J+IA*IA),fA=SA.x-T/GA,JA=SA.y+jA/GA,aI=lA.x-IA/XA,RA=lA.y+J/XA,zA=((aI-fA)*IA-(RA-JA)*J)/(jA*IA-T*J);UA=fA+jA*zA-EA.x,uA=JA+T*zA-EA.y;const wI=UA*UA+uA*uA;if(wI<=2)return new cA(UA,uA);LA=Math.sqrt(wI/2)}else{let GA=!1;jA>Number.EPSILON?J>Number.EPSILON&&(GA=!0):jA<-Number.EPSILON?J<-Number.EPSILON&&(GA=!0):Math.sign(T)===Math.sign(IA)&&(GA=!0),GA?(UA=-T,uA=jA,LA=Math.sqrt(hA)):(UA=jA,uA=T,LA=Math.sqrt(hA/2))}return new cA(UA/LA,uA/LA)}const V=[];for(let EA=0,SA=eA.length,lA=SA-1,UA=EA+1;EA=0;EA--){const SA=EA/S,lA=l*Math.cos(SA*Math.PI/2),UA=h*Math.sin(SA*Math.PI/2)+w;for(let uA=0,LA=eA.length;uA=0;){const UA=lA;let uA=lA-1;uA<0&&(uA=EA.length-1);for(let LA=0,jA=s+S*2;LA0)&&l.push(u,M,N),(c!==C-1||t0!=A>0&&this.version++,this._anisotropy=A}get clearcoat(){return this._clearcoat}set clearcoat(A){this._clearcoat>0!=A>0&&this.version++,this._clearcoat=A}get iridescence(){return this._iridescence}set iridescence(A){this._iridescence>0!=A>0&&this.version++,this._iridescence=A}get dispersion(){return this._dispersion}set dispersion(A){this._dispersion>0!=A>0&&this.version++,this._dispersion=A}get sheen(){return this._sheen}set sheen(A){this._sheen>0!=A>0&&this.version++,this._sheen=A}get transmission(){return this._transmission}set transmission(A){this._transmission>0!=A>0&&this.version++,this._transmission=A}copy(A){return super.copy(A),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=A.anisotropy,this.anisotropyRotation=A.anisotropyRotation,this.anisotropyMap=A.anisotropyMap,this.clearcoat=A.clearcoat,this.clearcoatMap=A.clearcoatMap,this.clearcoatRoughness=A.clearcoatRoughness,this.clearcoatRoughnessMap=A.clearcoatRoughnessMap,this.clearcoatNormalMap=A.clearcoatNormalMap,this.clearcoatNormalScale.copy(A.clearcoatNormalScale),this.dispersion=A.dispersion,this.ior=A.ior,this.iridescence=A.iridescence,this.iridescenceMap=A.iridescenceMap,this.iridescenceIOR=A.iridescenceIOR,this.iridescenceThicknessRange=[...A.iridescenceThicknessRange],this.iridescenceThicknessMap=A.iridescenceThicknessMap,this.sheen=A.sheen,this.sheenColor.copy(A.sheenColor),this.sheenColorMap=A.sheenColorMap,this.sheenRoughness=A.sheenRoughness,this.sheenRoughnessMap=A.sheenRoughnessMap,this.transmission=A.transmission,this.transmissionMap=A.transmissionMap,this.thickness=A.thickness,this.thicknessMap=A.thicknessMap,this.attenuationDistance=A.attenuationDistance,this.attenuationColor.copy(A.attenuationColor),this.specularIntensity=A.specularIntensity,this.specularIntensityMap=A.specularIntensityMap,this.specularColor.copy(A.specularColor),this.specularColorMap=A.specularColorMap,this}}class Tf extends ag{constructor(A){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new KA(16777215),this.specular=new KA(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new KA(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Le,this.normalScale=new cA(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new lC,this.combine=ha,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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.specular.copy(A.specular),this.shininess=A.shininess,this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.envMapRotation.copy(A.envMapRotation),this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.flatShading=A.flatShading,this.fog=A.fog,this}}class xf extends ag{constructor(A){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new KA(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new KA(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Le,this.normalScale=new cA(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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.gradientMap=A.gradientMap,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.fog=A.fog,this}}class vf extends ag{constructor(A){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Le,this.normalScale=new cA(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(A)}copy(A){return super.copy(A),this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.flatShading=A.flatShading,this}}class bf extends ag{constructor(A){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new KA(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new KA(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Le,this.normalScale=new cA(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new lC,this.combine=ha,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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.envMapRotation.copy(A.envMapRotation),this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.flatShading=A.flatShading,this.fog=A.fog,this}}class Of extends ag{constructor(A){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new KA(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Le,this.normalScale=new cA(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.defines={MATCAP:""},this.color.copy(A.color),this.matcap=A.matcap,this.map=A.map,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.flatShading=A.flatShading,this.fog=A.fog,this}}class _f extends pC{constructor(A){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(A)}copy(A){return super.copy(A),this.scale=A.scale,this.dashSize=A.dashSize,this.gapSize=A.gapSize,this}}function Mt(g,A,I){return!g||!I&&g.constructor===A?g:typeof A.BYTES_PER_ELEMENT=="number"?new A(g):Array.prototype.slice.call(g)}function Pf(g){return ArrayBuffer.isView(g)&&!(g instanceof DataView)}function Zf(g){function A(B,i){return g[B]-g[i]}const I=g.length,C=new Array(I);for(let B=0;B!==I;++B)C[B]=B;return C.sort(A),C}function Du(g,A,I){const C=g.length,B=new g.constructor(C);for(let i=0,Q=0;Q!==C;++i){const e=I[i]*A;for(let t=0;t!==A;++t)B[Q++]=g[e+t]}return B}function jk(g,A,I,C){let B=1,i=g[0];for(;i!==void 0&&i[C]===void 0;)i=g[B++];if(i===void 0)return;let Q=i[C];if(Q!==void 0)if(Array.isArray(Q))do Q=i[C],Q!==void 0&&(A.push(i.time),I.push.apply(I,Q)),i=g[B++];while(i!==void 0);else if(Q.toArray!==void 0)do Q=i[C],Q!==void 0&&(A.push(i.time),Q.toArray(I,I.length)),i=g[B++];while(i!==void 0);else do Q=i[C],Q!==void 0&&(A.push(i.time),I.push(Q)),i=g[B++];while(i!==void 0)}function W_(g,A,I,C,B=30){const i=g.clone();i.name=A;const Q=[];for(let t=0;t=C)){a.push(E.times[l]);for(let w=0;wi.tracks[t].times[0]&&(e=i.tracks[t].times[0]);for(let t=0;t=e.times[h]){const c=h*a+s,G=c+a-s;w=e.values.slice(c,G)}else{const c=e.createInterpolant(),G=s,u=a-s;c.evaluate(i),w=c.resultBuffer.slice(G,u)}t==="quaternion"&&new gg().fromArray(w).normalize().conjugate().toArray(w);const S=E.times.length;for(let c=0;c=i)){const e=I[1];A=i)break I}Q=C,C=0;break g}break A}for(;C>>1;AI;)--Q;if(++Q,i!==0||Q!==B){i>=Q&&(Q=Math.max(Q,1),i=Q-1);const e=this.getValueSize();this.times=C.slice(i,Q),this.values=this.values.slice(i*e,Q*e)}return this}validate(){let A=!0;const I=this.getValueSize();I-Math.floor(I)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),A=!1);const C=this.times,B=this.values,i=C.length;i===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),A=!1);let Q=null;for(let e=0;e!==i;e++){const t=C[e];if(typeof t=="number"&&isNaN(t)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,e,t),A=!1;break}if(Q!==null&&Q>t){console.error("THREE.KeyframeTrack: Out of order keys.",this,e,t,Q),A=!1;break}Q=t}if(B!==void 0&&Pf(B))for(let e=0,t=B.length;e!==t;++e){const E=B[e];if(isNaN(E)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,e,E),A=!1;break}}return A}optimize(){const A=this.times.slice(),I=this.values.slice(),C=this.getValueSize(),B=this.getInterpolation()===yc,i=A.length-1;let Q=1;for(let e=1;e0){A[Q]=A[i];for(let e=i*C,t=Q*C,E=0;E!==C;++E)I[t+E]=I[e+E];++Q}return Q!==A.length?(this.times=A.slice(0,Q),this.values=I.slice(0,Q*C)):(this.times=A,this.values=I),this}clone(){const A=this.times.slice(),I=this.values.slice(),C=this.constructor,B=new C(this.name,A,I);return B.createInterpolant=this.createInterpolant,B}}Fi.prototype.TimeBufferType=Float32Array;Fi.prototype.ValueBufferType=Float32Array;Fi.prototype.DefaultInterpolation=FQ;class CE extends Fi{}CE.prototype.ValueTypeName="bool";CE.prototype.ValueBufferType=Array;CE.prototype.DefaultInterpolation=vt;CE.prototype.InterpolantFactoryMethodLinear=void 0;CE.prototype.InterpolantFactoryMethodSmooth=void 0;class zk extends Fi{}zk.prototype.ValueTypeName="color";class KQ extends Fi{}KQ.prototype.ValueTypeName="number";class jf extends gE{constructor(A,I,C,B){super(A,I,C,B)}interpolate_(A,I,C,B){const i=this.resultBuffer,Q=this.sampleValues,e=this.valueSize,t=(C-I)/(B-I);let E=A*e;for(let s=E+e;E!==s;E+=4)gg.slerpFlat(i,0,Q,E-e,Q,E,t);return i}}class ji extends Fi{InterpolantFactoryMethodLinear(A){return new jf(this.times,this.values,this.getValueSize(),A)}}ji.prototype.ValueTypeName="quaternion";ji.prototype.DefaultInterpolation=FQ;ji.prototype.InterpolantFactoryMethodSmooth=void 0;class BE extends Fi{}BE.prototype.ValueTypeName="string";BE.prototype.ValueBufferType=Array;BE.prototype.DefaultInterpolation=vt;BE.prototype.InterpolantFactoryMethodLinear=void 0;BE.prototype.InterpolantFactoryMethodSmooth=void 0;class JQ extends Fi{}JQ.prototype.ValueTypeName="vector";class _t{constructor(A="",I=-1,C=[],B=HD){this.name=A,this.tracks=C,this.duration=I,this.blendMode=B,this.uuid=pB(),this.duration<0&&this.resetDuration()}static parse(A){const I=[],C=A.tracks,B=1/(A.fps||1);for(let Q=0,e=C.length;Q!==e;++Q)I.push(z_(C[Q]).scale(B));const i=new this(A.name,A.duration,I,A.blendMode);return i.uuid=A.uuid,i}static toJSON(A){const I=[],C=A.tracks,B={name:A.name,duration:A.duration,tracks:I,uuid:A.uuid,blendMode:A.blendMode};for(let i=0,Q=C.length;i!==Q;++i)I.push(Fi.toJSON(C[i]));return B}static CreateFromMorphTargetSequence(A,I,C,B){const i=I.length,Q=[];for(let e=0;e1){const a=s[1];let r=B[a];r||(B[a]=r=[]),r.push(E)}}const Q=[];for(const e in B)Q.push(this.CreateFromMorphTargetSequence(e,B[e],I,C));return Q}static parseAnimation(A,I){if(!A)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const C=function(a,r,l,h,w){if(l.length!==0){const S=[],c=[];jk(l,S,c,h),S.length!==0&&w.push(new a(r,S,c))}},B=[],i=A.name||"default",Q=A.fps||30,e=A.blendMode;let t=A.length||-1;const E=A.hierarchy||[];for(let a=0;a{I&&I(i),this.manager.itemEnd(A)},0),i;if(oQ[A]!==void 0){oQ[A].push({onLoad:I,onProgress:C,onError:B});return}oQ[A]=[],oQ[A].push({onLoad:I,onProgress:C,onError:B});const Q=new Request(A,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),e=this.mimeType,t=this.responseType;fetch(Q).then(E=>{if(E.status===200||E.status===0){if(E.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||E.body===void 0||E.body.getReader===void 0)return E;const s=oQ[A],a=E.body.getReader(),r=E.headers.get("X-File-Size")||E.headers.get("Content-Length"),l=r?parseInt(r):0,h=l!==0;let w=0;const S=new ReadableStream({start(c){G();function G(){a.read().then(({done:u,value:M})=>{if(u)c.close();else{w+=M.byteLength;const R=new ProgressEvent("progress",{lengthComputable:h,loaded:w,total:l});for(let N=0,F=s.length;N{switch(t){case"arraybuffer":return E.arrayBuffer();case"blob":return E.blob();case"document":return E.text().then(s=>new DOMParser().parseFromString(s,e));case"json":return E.json();default:if(e===void 0)return E.text();{const a=/charset="?([^;"\s]*)"?/i.exec(e),r=a&&a[1]?a[1].toLowerCase():void 0,l=new TextDecoder(r);return E.arrayBuffer().then(h=>l.decode(h))}}}).then(E=>{wQ.add(A,E);const s=oQ[A];delete oQ[A];for(let a=0,r=s.length;a{const s=oQ[A];if(s===void 0)throw this.manager.itemError(A),E;delete oQ[A];for(let a=0,r=s.length;a{this.manager.itemEnd(A)}),this.manager.itemStart(A)}setResponseType(A){return this.responseType=A,this}setMimeType(A){return this.mimeType=A,this}}class A3 extends UC{constructor(A){super(A)}load(A,I,C,B){const i=this,Q=new $C(this.manager);Q.setPath(this.path),Q.setRequestHeader(this.requestHeader),Q.setWithCredentials(this.withCredentials),Q.load(A,function(e){try{I(i.parse(JSON.parse(e)))}catch(t){B?B(t):console.error(t),i.manager.itemError(A)}},C,B)}parse(A){const I=[];for(let C=0;C0:B.vertexColors=A.vertexColors),A.uniforms!==void 0)for(const i in A.uniforms){const Q=A.uniforms[i];switch(B.uniforms[i]={},Q.type){case"t":B.uniforms[i].value=C(Q.value);break;case"c":B.uniforms[i].value=new KA().setHex(Q.value);break;case"v2":B.uniforms[i].value=new cA().fromArray(Q.value);break;case"v3":B.uniforms[i].value=new f().fromArray(Q.value);break;case"v4":B.uniforms[i].value=new $I().fromArray(Q.value);break;case"m3":B.uniforms[i].value=new MI().fromArray(Q.value);break;case"m4":B.uniforms[i].value=new _A().fromArray(Q.value);break;default:B.uniforms[i].value=Q.value}}if(A.defines!==void 0&&(B.defines=A.defines),A.vertexShader!==void 0&&(B.vertexShader=A.vertexShader),A.fragmentShader!==void 0&&(B.fragmentShader=A.fragmentShader),A.glslVersion!==void 0&&(B.glslVersion=A.glslVersion),A.extensions!==void 0)for(const i in A.extensions)B.extensions[i]=A.extensions[i];if(A.lights!==void 0&&(B.lights=A.lights),A.clipping!==void 0&&(B.clipping=A.clipping),A.size!==void 0&&(B.size=A.size),A.sizeAttenuation!==void 0&&(B.sizeAttenuation=A.sizeAttenuation),A.map!==void 0&&(B.map=C(A.map)),A.matcap!==void 0&&(B.matcap=C(A.matcap)),A.alphaMap!==void 0&&(B.alphaMap=C(A.alphaMap)),A.bumpMap!==void 0&&(B.bumpMap=C(A.bumpMap)),A.bumpScale!==void 0&&(B.bumpScale=A.bumpScale),A.normalMap!==void 0&&(B.normalMap=C(A.normalMap)),A.normalMapType!==void 0&&(B.normalMapType=A.normalMapType),A.normalScale!==void 0){let i=A.normalScale;Array.isArray(i)===!1&&(i=[i,i]),B.normalScale=new cA().fromArray(i)}return A.displacementMap!==void 0&&(B.displacementMap=C(A.displacementMap)),A.displacementScale!==void 0&&(B.displacementScale=A.displacementScale),A.displacementBias!==void 0&&(B.displacementBias=A.displacementBias),A.roughnessMap!==void 0&&(B.roughnessMap=C(A.roughnessMap)),A.metalnessMap!==void 0&&(B.metalnessMap=C(A.metalnessMap)),A.emissiveMap!==void 0&&(B.emissiveMap=C(A.emissiveMap)),A.emissiveIntensity!==void 0&&(B.emissiveIntensity=A.emissiveIntensity),A.specularMap!==void 0&&(B.specularMap=C(A.specularMap)),A.specularIntensityMap!==void 0&&(B.specularIntensityMap=C(A.specularIntensityMap)),A.specularColorMap!==void 0&&(B.specularColorMap=C(A.specularColorMap)),A.envMap!==void 0&&(B.envMap=C(A.envMap)),A.envMapRotation!==void 0&&B.envMapRotation.fromArray(A.envMapRotation),A.envMapIntensity!==void 0&&(B.envMapIntensity=A.envMapIntensity),A.reflectivity!==void 0&&(B.reflectivity=A.reflectivity),A.refractionRatio!==void 0&&(B.refractionRatio=A.refractionRatio),A.lightMap!==void 0&&(B.lightMap=C(A.lightMap)),A.lightMapIntensity!==void 0&&(B.lightMapIntensity=A.lightMapIntensity),A.aoMap!==void 0&&(B.aoMap=C(A.aoMap)),A.aoMapIntensity!==void 0&&(B.aoMapIntensity=A.aoMapIntensity),A.gradientMap!==void 0&&(B.gradientMap=C(A.gradientMap)),A.clearcoatMap!==void 0&&(B.clearcoatMap=C(A.clearcoatMap)),A.clearcoatRoughnessMap!==void 0&&(B.clearcoatRoughnessMap=C(A.clearcoatRoughnessMap)),A.clearcoatNormalMap!==void 0&&(B.clearcoatNormalMap=C(A.clearcoatNormalMap)),A.clearcoatNormalScale!==void 0&&(B.clearcoatNormalScale=new cA().fromArray(A.clearcoatNormalScale)),A.iridescenceMap!==void 0&&(B.iridescenceMap=C(A.iridescenceMap)),A.iridescenceThicknessMap!==void 0&&(B.iridescenceThicknessMap=C(A.iridescenceThicknessMap)),A.transmissionMap!==void 0&&(B.transmissionMap=C(A.transmissionMap)),A.thicknessMap!==void 0&&(B.thicknessMap=C(A.thicknessMap)),A.anisotropyMap!==void 0&&(B.anisotropyMap=C(A.anisotropyMap)),A.sheenColorMap!==void 0&&(B.sheenColorMap=C(A.sheenColorMap)),A.sheenRoughnessMap!==void 0&&(B.sheenRoughnessMap=C(A.sheenRoughnessMap)),B}setTextures(A){return this.textures=A,this}static createMaterialFromType(A){const I={ShadowMaterial:Lf,SpriteMaterial:Ok,RawShaderMaterial:Hf,ShaderMaterial:FB,PointsMaterial:Na,MeshPhysicalMaterial:fg,MeshStandardMaterial:IE,MeshPhongMaterial:Tf,MeshToonMaterial:xf,MeshNormalMaterial:vf,MeshLambertMaterial:bf,MeshDepthMaterial:vk,MeshDistanceMaterial:bk,MeshBasicMaterial:Wg,MeshMatcapMaterial:Of,LineDashedMaterial:_f,LineBasicMaterial:pC,Material:ag};return new I[A]}}class UB{static decodeText(A){if(typeof TextDecoder<"u")return new TextDecoder().decode(A);let I="";for(let C=0,B=A.length;C0){const t=new $k(I);i=new ia(t),i.setCrossOrigin(this.crossOrigin);for(let E=0,s=A.length;E0){B=new ia(this.manager),B.setCrossOrigin(this.crossOrigin);for(let Q=0,e=A.length;Q{const S=new MC;S.min.fromArray(w.boxMin),S.max.fromArray(w.boxMax);const c=new Vg;return c.radius=w.sphereRadius,c.center.fromArray(w.sphereCenter),{boxInitialized:w.boxInitialized,box:S,sphereInitialized:w.sphereInitialized,sphere:c}}),Q._maxGeometryCount=A.maxGeometryCount,Q._maxVertexCount=A.maxVertexCount,Q._maxIndexCount=A.maxIndexCount,Q._geometryInitialized=A.geometryInitialized,Q._geometryCount=A.geometryCount,Q._matricesTexture=E(A.matricesTexture.uuid);break;case"LOD":Q=new df;break;case"Line":Q=new Vi(e(A.geometry),t(A.material));break;case"LineLoop":Q=new PD(e(A.geometry),t(A.material));break;case"LineSegments":Q=new Qi(e(A.geometry),t(A.material));break;case"PointCloud":case"Points":Q=new ZD(e(A.geometry),t(A.material));break;case"Sprite":Q=new Mf(t(A.material));break;case"Group":Q=new Ai;break;case"Bone":Q=new pa;break;default:Q=new RI}if(Q.uuid=A.uuid,A.name!==void 0&&(Q.name=A.name),A.matrix!==void 0?(Q.matrix.fromArray(A.matrix),A.matrixAutoUpdate!==void 0&&(Q.matrixAutoUpdate=A.matrixAutoUpdate),Q.matrixAutoUpdate&&Q.matrix.decompose(Q.position,Q.quaternion,Q.scale)):(A.position!==void 0&&Q.position.fromArray(A.position),A.rotation!==void 0&&Q.rotation.fromArray(A.rotation),A.quaternion!==void 0&&Q.quaternion.fromArray(A.quaternion),A.scale!==void 0&&Q.scale.fromArray(A.scale)),A.up!==void 0&&Q.up.fromArray(A.up),A.castShadow!==void 0&&(Q.castShadow=A.castShadow),A.receiveShadow!==void 0&&(Q.receiveShadow=A.receiveShadow),A.shadow&&(A.shadow.bias!==void 0&&(Q.shadow.bias=A.shadow.bias),A.shadow.normalBias!==void 0&&(Q.shadow.normalBias=A.shadow.normalBias),A.shadow.radius!==void 0&&(Q.shadow.radius=A.shadow.radius),A.shadow.mapSize!==void 0&&Q.shadow.mapSize.fromArray(A.shadow.mapSize),A.shadow.camera!==void 0&&(Q.shadow.camera=this.parseObject(A.shadow.camera))),A.visible!==void 0&&(Q.visible=A.visible),A.frustumCulled!==void 0&&(Q.frustumCulled=A.frustumCulled),A.renderOrder!==void 0&&(Q.renderOrder=A.renderOrder),A.userData!==void 0&&(Q.userData=A.userData),A.layers!==void 0&&(Q.layers.mask=A.layers),A.children!==void 0){const r=A.children;for(let l=0;l"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(A){return this.options=A,this}load(A,I,C,B){A===void 0&&(A=""),this.path!==void 0&&(A=this.path+A),A=this.manager.resolveURL(A);const i=this,Q=wQ.get(A);if(Q!==void 0){if(i.manager.itemStart(A),Q.then){Q.then(E=>{I&&I(E),i.manager.itemEnd(A)}).catch(E=>{B&&B(E)});return}return setTimeout(function(){I&&I(Q),i.manager.itemEnd(A)},0),Q}const e={};e.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",e.headers=this.requestHeader;const t=fetch(A,e).then(function(E){return E.blob()}).then(function(E){return createImageBitmap(E,Object.assign(i.options,{colorSpaceConversion:"none"}))}).then(function(E){return wQ.add(A,E),I&&I(E),i.manager.itemEnd(A),E}).catch(function(E){B&&B(E),wQ.remove(A),i.manager.itemError(A),i.manager.itemEnd(A)});wQ.add(A,t),i.manager.itemStart(A)}}let xl;class gM{static getContext(){return xl===void 0&&(xl=new(window.AudioContext||window.webkitAudioContext)),xl}static setContext(A){xl=A}}class E3 extends UC{constructor(A){super(A)}load(A,I,C,B){const i=this,Q=new $C(this.manager);Q.setResponseType("arraybuffer"),Q.setPath(this.path),Q.setRequestHeader(this.requestHeader),Q.setWithCredentials(this.withCredentials),Q.load(A,function(t){try{const E=t.slice(0);gM.getContext().decodeAudioData(E,function(a){I(a)}).catch(e)}catch(E){e(E)}},C,B);function e(t){B?B(t):console.error(t),i.manager.itemError(A)}}}const lN=new _A,cN=new _A,Qt=new _A;class o3{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new _g,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new _g,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(A){const I=this._cache;if(I.focus!==A.focus||I.fov!==A.fov||I.aspect!==A.aspect*this.aspect||I.near!==A.near||I.far!==A.far||I.zoom!==A.zoom||I.eyeSep!==this.eyeSep){I.focus=A.focus,I.fov=A.fov,I.aspect=A.aspect*this.aspect,I.near=A.near,I.far=A.far,I.zoom=A.zoom,I.eyeSep=this.eyeSep,Qt.copy(A.projectionMatrix);const B=I.eyeSep/2,i=B*I.near/I.focus,Q=I.near*Math.tan(Jt*I.fov*.5)/I.zoom;let e,t;cN.elements[12]=-B,lN.elements[12]=B,e=-Q*I.aspect+i,t=Q*I.aspect+i,Qt.elements[0]=2*I.near/(t-e),Qt.elements[8]=(t+e)/(t-e),this.cameraL.projectionMatrix.copy(Qt),e=-Q*I.aspect-i,t=Q*I.aspect-i,Qt.elements[0]=2*I.near/(t-e),Qt.elements[8]=(t+e)/(t-e),this.cameraR.projectionMatrix.copy(Qt)}this.cameraL.matrixWorld.copy(A.matrixWorld).multiply(cN),this.cameraR.matrixWorld.copy(A.matrixWorld).multiply(lN)}}class CM{constructor(A=!0){this.autoStart=A,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=DN(),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 A=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const I=DN();A=(I-this.oldTime)/1e3,this.oldTime=I,this.elapsedTime+=A}return A}}function DN(){return(typeof performance>"u"?Date:performance).now()}const et=new f,hN=new gg,n3=new f,tt=new f;class s3 extends RI{constructor(){super(),this.type="AudioListener",this.context=gM.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new CM}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(A){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=A,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(A){return this.gain.gain.setTargetAtTime(A,this.context.currentTime,.01),this}updateMatrixWorld(A){super.updateMatrixWorld(A);const I=this.context.listener,C=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(et,hN,n3),tt.set(0,0,-1).applyQuaternion(hN),I.positionX){const B=this.context.currentTime+this.timeDelta;I.positionX.linearRampToValueAtTime(et.x,B),I.positionY.linearRampToValueAtTime(et.y,B),I.positionZ.linearRampToValueAtTime(et.z,B),I.forwardX.linearRampToValueAtTime(tt.x,B),I.forwardY.linearRampToValueAtTime(tt.y,B),I.forwardZ.linearRampToValueAtTime(tt.z,B),I.upX.linearRampToValueAtTime(C.x,B),I.upY.linearRampToValueAtTime(C.y,B),I.upZ.linearRampToValueAtTime(C.z,B)}else I.setPosition(et.x,et.y,et.z),I.setOrientation(tt.x,tt.y,tt.z,C.x,C.y,C.z)}}class iq extends RI{constructor(A){super(),this.type="Audio",this.listener=A,this.context=A.context,this.gain=this.context.createGain(),this.gain.connect(A.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(A){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=A,this.connect(),this}setMediaElementSource(A){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(A),this.connect(),this}setMediaStreamSource(A){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(A),this.connect(),this}setBuffer(A){return this.buffer=A,this.sourceType="buffer",this.autoplay&&this.play(),this}play(A=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+A;const I=this.context.createBufferSource();return I.buffer=this.buffer,I.loop=this.loop,I.loopStart=this.loopStart,I.loopEnd=this.loopEnd,I.onended=this.onEnded.bind(this),I.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=I,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 A=1,I=this.filters.length;A0){this.source.disconnect(this.filters[0]);for(let A=1,I=this.filters.length;A0&&this._mixBufferRegionAdditive(C,B,this._addIndex*I,1,I);for(let t=I,E=I+I;t!==E;++t)if(C[t]!==C[t+I]){e.setValue(C,B);break}}saveOriginalState(){const A=this.binding,I=this.buffer,C=this.valueSize,B=C*this._origIndex;A.getValue(I,B);for(let i=C,Q=B;i!==Q;++i)I[i]=I[B+i%C];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const A=this.valueSize*3;this.binding.setValue(this.buffer,A)}_setAdditiveIdentityNumeric(){const A=this._addIndex*this.valueSize,I=A+this.valueSize;for(let C=A;C=.5)for(let Q=0;Q!==i;++Q)A[I+Q]=A[C+Q]}_slerp(A,I,C,B){gg.slerpFlat(A,I,A,I,A,C,B)}_slerpAdditive(A,I,C,B,i){const Q=this._workIndex*i;gg.multiplyQuaternionsFlat(A,Q,A,I,A,C),gg.slerpFlat(A,I,A,I,A,Q,B)}_lerp(A,I,C,B,i){const Q=1-B;for(let e=0;e!==i;++e){const t=I+e;A[t]=A[t]*Q+A[C+e]*B}}_lerpAdditive(A,I,C,B,i){for(let Q=0;Q!==i;++Q){const e=I+Q;A[e]=A[e]+A[C+Q]*B}}}const BM="\\[\\]\\.:\\/",c3=new RegExp("["+BM+"]","g"),iM="[^"+BM+"]",D3="[^"+BM.replace("\\.","")+"]",h3=/((?:WC+[\/:])*)/.source.replace("WC",iM),S3=/(WCOD+)?/.source.replace("WCOD",D3),w3=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",iM),G3=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",iM),y3=new RegExp("^"+h3+S3+w3+G3+"$"),u3=["material","materials","bones","map"];class k3{constructor(A,I,C){const B=C||HI.parseTrackName(I);this._targetGroup=A,this._bindings=A.subscribe_(I,B)}getValue(A,I){this.bind();const C=this._targetGroup.nCachedObjects_,B=this._bindings[C];B!==void 0&&B.getValue(A,I)}setValue(A,I){const C=this._bindings;for(let B=this._targetGroup.nCachedObjects_,i=C.length;B!==i;++B)C[B].setValue(A,I)}bind(){const A=this._bindings;for(let I=this._targetGroup.nCachedObjects_,C=A.length;I!==C;++I)A[I].bind()}unbind(){const A=this._bindings;for(let I=this._targetGroup.nCachedObjects_,C=A.length;I!==C;++I)A[I].unbind()}}class HI{constructor(A,I,C){this.path=I,this.parsedPath=C||HI.parseTrackName(I),this.node=HI.findNode(A,this.parsedPath.nodeName),this.rootNode=A,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(A,I,C){return A&&A.isAnimationObjectGroup?new HI.Composite(A,I,C):new HI(A,I,C)}static sanitizeNodeName(A){return A.replace(/\s/g,"_").replace(c3,"")}static parseTrackName(A){const I=y3.exec(A);if(I===null)throw new Error("PropertyBinding: Cannot parse trackName: "+A);const C={nodeName:I[2],objectName:I[3],objectIndex:I[4],propertyName:I[5],propertyIndex:I[6]},B=C.nodeName&&C.nodeName.lastIndexOf(".");if(B!==void 0&&B!==-1){const i=C.nodeName.substring(B+1);u3.indexOf(i)!==-1&&(C.nodeName=C.nodeName.substring(0,B),C.objectName=i)}if(C.propertyName===null||C.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+A);return C}static findNode(A,I){if(I===void 0||I===""||I==="."||I===-1||I===A.name||I===A.uuid)return A;if(A.skeleton){const C=A.skeleton.getBoneByName(I);if(C!==void 0)return C}if(A.children){const C=function(i){for(let Q=0;Q=i){const a=i++,r=A[a];I[r.uuid]=s,A[s]=r,I[E]=a,A[a]=t;for(let l=0,h=B;l!==h;++l){const w=C[l],S=w[a],c=w[s];w[s]=S,w[a]=c}}}this.nCachedObjects_=i}uncache(){const A=this._objects,I=this._indicesByUUID,C=this._bindings,B=C.length;let i=this.nCachedObjects_,Q=A.length;for(let e=0,t=arguments.length;e!==t;++e){const E=arguments[e],s=E.uuid,a=I[s];if(a!==void 0)if(delete I[s],a0&&(I[l.uuid]=a),A[a]=l,A.pop();for(let h=0,w=B;h!==w;++h){const S=C[h];S[a]=S[r],S.pop()}}}this.nCachedObjects_=i}subscribe_(A,I){const C=this._bindingsIndicesByPath;let B=C[A];const i=this._bindings;if(B!==void 0)return i[B];const Q=this._paths,e=this._parsedPaths,t=this._objects,E=t.length,s=this.nCachedObjects_,a=new Array(E);B=i.length,C[A]=B,Q.push(A),e.push(I),i.push(a);for(let r=s,l=t.length;r!==l;++r){const h=t[r];a[r]=new HI(h,A,I)}return a}unsubscribe_(A){const I=this._bindingsIndicesByPath,C=I[A];if(C!==void 0){const B=this._paths,i=this._parsedPaths,Q=this._bindings,e=Q.length-1,t=Q[e],E=A[e];I[E]=C,Q[C]=t,Q.pop(),i[C]=i[e],i.pop(),B[C]=B[e],B.pop()}}}class eq{constructor(A,I,C=null,B=I.blendMode){this._mixer=A,this._clip=I,this._localRoot=C,this.blendMode=B;const i=I.tracks,Q=i.length,e=new Array(Q),t={endingStart:yt,endingEnd:yt};for(let E=0;E!==Q;++E){const s=i[E].createInterpolant(null);e[E]=s,s.settings=t}this._interpolantSettings=t,this._interpolants=e,this._propertyBindings=new Array(Q),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=PJ,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(A){return this._startTime=A,this}setLoop(A,I){return this.loop=A,this.repetitions=I,this}setEffectiveWeight(A){return this.weight=A,this._effectiveWeight=this.enabled?A:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(A){return this._scheduleFading(A,0,1)}fadeOut(A){return this._scheduleFading(A,1,0)}crossFadeFrom(A,I,C){if(A.fadeOut(I),this.fadeIn(I),C){const B=this._clip.duration,i=A._clip.duration,Q=i/B,e=B/i;A.warp(1,Q,I),this.warp(e,1,I)}return this}crossFadeTo(A,I,C){return A.crossFadeFrom(this,I,C)}stopFading(){const A=this._weightInterpolant;return A!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this}setEffectiveTimeScale(A){return this.timeScale=A,this._effectiveTimeScale=this.paused?0:A,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(A){return this.timeScale=this._clip.duration/A,this.stopWarping()}syncWith(A){return this.time=A.time,this.timeScale=A.timeScale,this.stopWarping()}halt(A){return this.warp(this._effectiveTimeScale,0,A)}warp(A,I,C){const B=this._mixer,i=B.time,Q=this.timeScale;let e=this._timeScaleInterpolant;e===null&&(e=B._lendControlInterpolant(),this._timeScaleInterpolant=e);const t=e.parameterPositions,E=e.sampleValues;return t[0]=i,t[1]=i+C,E[0]=A/Q,E[1]=I/Q,this}stopWarping(){const A=this._timeScaleInterpolant;return A!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(A,I,C,B){if(!this.enabled){this._updateWeight(A);return}const i=this._startTime;if(i!==null){const t=(A-i)*C;t<0||C===0?I=0:(this._startTime=null,I=C*t)}I*=this._updateTimeScale(A);const Q=this._updateTime(I),e=this._updateWeight(A);if(e>0){const t=this._interpolants,E=this._propertyBindings;switch(this.blendMode){case Kk:for(let s=0,a=t.length;s!==a;++s)t[s].evaluate(Q),E[s].accumulateAdditive(e);break;case HD:default:for(let s=0,a=t.length;s!==a;++s)t[s].evaluate(Q),E[s].accumulate(B,e)}}}_updateWeight(A){let I=0;if(this.enabled){I=this.weight;const C=this._weightInterpolant;if(C!==null){const B=C.evaluate(A)[0];I*=B,A>C.parameterPositions[1]&&(this.stopFading(),B===0&&(this.enabled=!1))}}return this._effectiveWeight=I,I}_updateTimeScale(A){let I=0;if(!this.paused){I=this.timeScale;const C=this._timeScaleInterpolant;if(C!==null){const B=C.evaluate(A)[0];I*=B,A>C.parameterPositions[1]&&(this.stopWarping(),I===0?this.paused=!0:this.timeScale=I)}}return this._effectiveTimeScale=I,I}_updateTime(A){const I=this._clip.duration,C=this.loop;let B=this.time+A,i=this._loopCount;const Q=C===ZJ;if(A===0)return i===-1?B:Q&&(i&1)===1?I-B:B;if(C===_J){i===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));A:{if(B>=I)B=I;else if(B<0)B=0;else{this.time=B;break A}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=B,this._mixer.dispatchEvent({type:"finished",action:this,direction:A<0?-1:1})}}else{if(i===-1&&(A>=0?(i=0,this._setEndings(!0,this.repetitions===0,Q)):this._setEndings(this.repetitions===0,!0,Q)),B>=I||B<0){const e=Math.floor(B/I);B-=I*e,i+=Math.abs(e);const t=this.repetitions-i;if(t<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,B=A>0?I:0,this.time=B,this._mixer.dispatchEvent({type:"finished",action:this,direction:A>0?1:-1});else{if(t===1){const E=A<0;this._setEndings(E,!E,Q)}else this._setEndings(!1,!1,Q);this._loopCount=i,this.time=B,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:e})}}else this.time=B;if(Q&&(i&1)===1)return I-B}return B}_setEndings(A,I,C){const B=this._interpolantSettings;C?(B.endingStart=ut,B.endingEnd=ut):(A?B.endingStart=this.zeroSlopeAtStart?ut:yt:B.endingStart=Ws,I?B.endingEnd=this.zeroSlopeAtEnd?ut:yt:B.endingEnd=Ws)}_scheduleFading(A,I,C){const B=this._mixer,i=B.time;let Q=this._weightInterpolant;Q===null&&(Q=B._lendControlInterpolant(),this._weightInterpolant=Q);const e=Q.parameterPositions,t=Q.sampleValues;return e[0]=i,t[0]=I,e[1]=i+A,t[1]=C,this}}const d3=new Float32Array(1);class p3 extends Xi{constructor(A){super(),this._root=A,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(A,I){const C=A._localRoot||this._root,B=A._clip.tracks,i=B.length,Q=A._propertyBindings,e=A._interpolants,t=C.uuid,E=this._bindingsByRootAndName;let s=E[t];s===void 0&&(s={},E[t]=s);for(let a=0;a!==i;++a){const r=B[a],l=r.name;let h=s[l];if(h!==void 0)++h.referenceCount,Q[a]=h;else{if(h=Q[a],h!==void 0){h._cacheIndex===null&&(++h.referenceCount,this._addInactiveBinding(h,t,l));continue}const w=I&&I._propertyBindings[a].binding.parsedPath;h=new Qq(HI.create(C,l,w),r.ValueTypeName,r.getValueSize()),++h.referenceCount,this._addInactiveBinding(h,t,l),Q[a]=h}e[a].resultBuffer=h.buffer}}_activateAction(A){if(!this._isActiveAction(A)){if(A._cacheIndex===null){const C=(A._localRoot||this._root).uuid,B=A._clip.uuid,i=this._actionsByClip[B];this._bindAction(A,i&&i.knownActions[0]),this._addInactiveAction(A,B,C)}const I=A._propertyBindings;for(let C=0,B=I.length;C!==B;++C){const i=I[C];i.useCount++===0&&(this._lendBinding(i),i.saveOriginalState())}this._lendAction(A)}}_deactivateAction(A){if(this._isActiveAction(A)){const I=A._propertyBindings;for(let C=0,B=I.length;C!==B;++C){const i=I[C];--i.useCount===0&&(i.restoreOriginalState(),this._takeBackBinding(i))}this._takeBackAction(A)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const A=this;this.stats={actions:{get total(){return A._actions.length},get inUse(){return A._nActiveActions}},bindings:{get total(){return A._bindings.length},get inUse(){return A._nActiveBindings}},controlInterpolants:{get total(){return A._controlInterpolants.length},get inUse(){return A._nActiveControlInterpolants}}}}_isActiveAction(A){const I=A._cacheIndex;return I!==null&&I=0;--C)A[C].stop();return this}update(A){A*=this.timeScale;const I=this._actions,C=this._nActiveActions,B=this.time+=A,i=Math.sign(A),Q=this._accuIndex^=1;for(let E=0;E!==C;++E)I[E]._update(B,A,i,Q);const e=this._bindings,t=this._nActiveBindings;for(let E=0;E!==t;++E)e[E].apply(Q);return this}setTime(A){this.time=0;for(let I=0;Ithis.max.x||A.ythis.max.y)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y}getParameter(A,I){return I.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(A){return!(A.max.xthis.max.x||A.max.ythis.max.y)}clampPoint(A,I){return I.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return this.clampPoint(A,yN).distanceTo(A)}intersect(A){return this.min.max(A.min),this.max.min(A.max),this.isEmpty()&&this.makeEmpty(),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}}const uN=new f,vl=new f;class Eq{constructor(A=new f,I=new f){this.start=A,this.end=I}set(A,I){return this.start.copy(A),this.end.copy(I),this}copy(A){return this.start.copy(A.start),this.end.copy(A.end),this}getCenter(A){return A.addVectors(this.start,this.end).multiplyScalar(.5)}delta(A){return A.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(A,I){return this.delta(I).multiplyScalar(A).add(this.start)}closestPointToPointParameter(A,I){uN.subVectors(A,this.start),vl.subVectors(this.end,this.start);const C=vl.dot(vl);let i=vl.dot(uN)/C;return I&&(i=Jg(i,0,1)),i}closestPointToPoint(A,I,C){const B=this.closestPointToPointParameter(A,I);return this.delta(C).multiplyScalar(B).add(this.start)}applyMatrix4(A){return this.start.applyMatrix4(A),this.end.applyMatrix4(A),this}equals(A){return A.start.equals(this.start)&&A.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const kN=new f;class f3 extends RI{constructor(A,I){super(),this.light=A,this.matrixAutoUpdate=!1,this.color=I,this.type="SpotLightHelper";const C=new lI,B=[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 Q=0,e=1,t=32;Q1)for(let a=0;a.99999)this.quaternion.set(0,0,0,1);else if(A.y<-.99999)this.quaternion.set(1,0,0,0);else{NN.set(A.z,0,-A.x).normalize();const I=Math.acos(A.y);this.quaternion.setFromAxisAngle(NN,I)}}setLength(A,I=A*.2,C=I*.2){this.line.scale.set(1,Math.max(1e-4,A-I),1),this.line.updateMatrix(),this.cone.scale.set(C,I,C),this.cone.position.y=A,this.cone.updateMatrix()}setColor(A){this.line.material.color.set(A),this.cone.material.color.set(A)}copy(A){return super.copy(A,!1),this.line.copy(A.line),this.cone.copy(A.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class Z3 extends Qi{constructor(A=1){const I=[0,0,0,A,0,0,0,0,0,0,A,0,0,0,0,0,0,A],C=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],B=new lI;B.setAttribute("position",new $A(I,3)),B.setAttribute("color",new $A(C,3));const i=new pC({vertexColors:!0,toneMapped:!1});super(B,i),this.type="AxesHelper"}setColors(A,I,C){const B=new KA,i=this.geometry.attributes.color.array;return B.set(A),B.toArray(i,0),B.toArray(i,3),B.set(I),B.toArray(i,6),B.toArray(i,9),B.set(C),B.toArray(i,12),B.toArray(i,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class W3{constructor(){this.type="ShapePath",this.color=new KA,this.subPaths=[],this.currentPath=null}moveTo(A,I){return this.currentPath=new Ia,this.subPaths.push(this.currentPath),this.currentPath.moveTo(A,I),this}lineTo(A,I){return this.currentPath.lineTo(A,I),this}quadraticCurveTo(A,I,C,B){return this.currentPath.quadraticCurveTo(A,I,C,B),this}bezierCurveTo(A,I,C,B,i,Q){return this.currentPath.bezierCurveTo(A,I,C,B,i,Q),this}splineThru(A){return this.currentPath.splineThru(A),this}toShapes(A){function I(c){const G=[];for(let u=0,M=c.length;uNumber.EPSILON){if(U<0&&(F=G[N],K=-K,q=G[R],U=-U),c.yq.y)continue;if(c.y===F.y){if(c.x===F.x)return!0}else{const L=U*(c.x-F.x)-K*(c.y-F.y);if(L===0)return!0;if(L<0)continue;M=!M}}else{if(c.y!==F.y)continue;if(q.x<=c.x&&c.x<=F.x||F.x<=c.x&&c.x<=q.x)return!0}}return M}const B=Zi.isClockWise,i=this.subPaths;if(i.length===0)return[];let Q,e,t;const E=[];if(i.length===1)return e=i[0],t=new Ue,t.curves=e.curves,E.push(t),E;let s=!B(i[0].getPoints());s=A?!s:s;const a=[],r=[];let l=[],h=0,w;r[h]=void 0,l[h]=[];for(let c=0,G=i.length;c1){let c=!1,G=0;for(let u=0,M=r.length;u0&&c===!1&&(l=a)}let S;for(let c=0,G=r.length;c{const a=typeof E=="function"?E(A):E;if(a!==A){const r=A;A=s?a:Object.assign({},A,a),I.forEach(l=>l(A,r))}},B=()=>A,i=(E,s=B,a=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let r=s(A);function l(){const h=s(A);if(!a(r,h)){const w=r;E(r=h,w)}}return I.add(l),()=>I.delete(l)},t={setState:C,getState:B,subscribe:(E,s,a)=>s||a?i(E,s,a):(I.add(E),()=>I.delete(E)),destroy:()=>I.clear()};return A=g(C,B,t),t}const z3=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),FN=z3?x.useEffect:x.useLayoutEffect;function eM(g){const A=typeof g=="function"?X3(g):g,I=(C=A.getState,B=Object.is)=>{const[,i]=x.useReducer(S=>S+1,0),Q=A.getState(),e=x.useRef(Q),t=x.useRef(C),E=x.useRef(B),s=x.useRef(!1),a=x.useRef();a.current===void 0&&(a.current=C(Q));let r,l=!1;(e.current!==Q||t.current!==C||E.current!==B||s.current)&&(r=C(Q),l=!B(a.current,r)),FN(()=>{l&&(a.current=r),e.current=Q,t.current=C,E.current=B,s.current=!1});const h=x.useRef(Q);FN(()=>{const S=()=>{try{const G=A.getState(),u=t.current(G);E.current(a.current,u)||(e.current=G,a.current=u,i())}catch{s.current=!0,i()}},c=A.subscribe(S);return A.getState()!==h.current&&S(),c},[]);const w=l?r:a.current;return x.useDebugValue(w),w};return Object.assign(I,A),I[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");const C=[I,A];return{next(){const B=C.length<=0;return{value:C.shift(),done:B}}}},I}var sq={exports:{}},aq={exports:{}},rq={};/** + * @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(g){function A(Y,V){var _=Y.length;Y.push(V);A:for(;0<_;){var QA=_-1>>>1,pA=Y[QA];if(0>>1;QAB(yA,_))aAB(wA,yA)?(Y[QA]=wA,Y[aA]=_,QA=aA):(Y[QA]=yA,Y[CA]=_,QA=CA);else if(aAB(wA,_))Y[QA]=wA,Y[aA]=_,QA=aA;else break A}}return V}function B(Y,V){var _=Y.sortIndex-V.sortIndex;return _!==0?_:Y.id-V.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;g.unstable_now=function(){return i.now()}}else{var Q=Date,e=Q.now();g.unstable_now=function(){return Q.now()-e}}var t=[],E=[],s=1,a=null,r=3,l=!1,h=!1,w=!1,S=typeof setTimeout=="function"?setTimeout:null,c=typeof clearTimeout=="function"?clearTimeout:null,G=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function u(Y){for(var V=I(E);V!==null;){if(V.callback===null)C(E);else if(V.startTime<=Y)C(E),V.sortIndex=V.expirationTime,A(t,V);else break;V=I(E)}}function M(Y){if(w=!1,u(Y),!h)if(I(t)!==null)h=!0,rA(R);else{var V=I(E);V!==null&&kA(M,V.startTime-Y)}}function R(Y,V){h=!1,w&&(w=!1,c(q),q=-1),l=!0;var _=r;try{for(u(V),a=I(t);a!==null&&(!(a.expirationTime>V)||Y&&!L());){var QA=a.callback;if(typeof QA=="function"){a.callback=null,r=a.priorityLevel;var pA=QA(a.expirationTime<=V);V=g.unstable_now(),typeof pA=="function"?a.callback=pA:a===I(t)&&C(t),u(V)}else C(t);a=I(t)}if(a!==null)var OA=!0;else{var CA=I(E);CA!==null&&kA(M,CA.startTime-V),OA=!1}return OA}finally{a=null,r=_,l=!1}}var N=!1,F=null,q=-1,K=5,U=-1;function L(){return!(g.unstable_now()-UY||125QA?(Y.sortIndex=_,A(E,Y),I(t)===null&&Y===I(E)&&(w?(c(q),q=-1):w=!0,kA(M,_-QA))):(Y.sortIndex=pA,A(t,Y),h||l||(h=!0,rA(R))),Y},g.unstable_shouldYield=L,g.unstable_wrapCallback=function(Y){var V=r;return function(){var _=r;r=V;try{return Y.apply(this,arguments)}finally{r=_}}}})(rq);aq.exports=rq;var Su=aq.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 $3=function(A){var I={},C=x,B=Su,i=Object.assign;function Q(o){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+o,D=1;DZ||k[H]!==p[Z]){var sA=` +`+k[H].replace(" at new "," at ");return o.displayName&&sA.includes("")&&(sA=sA.replace("",o.displayName)),sA}while(1<=H&&0<=Z);break}}}finally{rg=!1,Error.prepareStackTrace=D}return(o=o?o.displayName||o.name:"")?SI(o):""}var vC=Object.prototype.hasOwnProperty,lB=[],fI=-1;function eI(o){return{current:o}}function ZI(o){0>fI||(o.current=lB[fI],lB[fI]=null,fI--)}function tI(o,n){fI++,lB[fI]=o.current,o.current=n}var NC={},Xg=eI(NC),Tg=eI(!1),ti=NC;function Sg(o,n){var D=o.type.contextTypes;if(!D)return NC;var y=o.stateNode;if(y&&y.__reactInternalMemoizedUnmaskedChildContext===n)return y.__reactInternalMemoizedMaskedChildContext;var k={},p;for(p in D)k[p]=n[p];return y&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=n,o.__reactInternalMemoizedMaskedChildContext=k),k}function wg(o){return o=o.childContextTypes,o!=null}function xQ(){ZI(Tg),ZI(Xg)}function bC(o,n,D){if(Xg.current!==NC)throw Error(Q(168));tI(Xg,n),tI(Tg,D)}function oE(o,n,D){var y=o.stateNode;if(n=n.childContextTypes,typeof y.getChildContext!="function")return D;y=y.getChildContext();for(var k in y)if(!(k in n))throw Error(Q(108,q(o)||"Unknown",k));return i({},D,y)}function nE(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||NC,ti=Xg.current,tI(Xg,o),tI(Tg,Tg.current),!0}function en(o,n,D){var y=o.stateNode;if(!y)throw Error(Q(169));D?(o=oE(o,n,ti),y.__reactInternalMemoizedMergedChildContext=o,ZI(Tg),ZI(Xg),tI(Xg,o)):ZI(Tg),tI(Tg,D)}var Ei=Math.clz32?Math.clz32:Zm,_m=Math.log,Pm=Math.LN2;function Zm(o){return o>>>=0,o===0?32:31-(_m(o)/Pm|0)|0}var Za=64,Wa=4194304;function tn(o){switch(o&-o){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 o&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return o&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return o}}function Va(o,n){var D=o.pendingLanes;if(D===0)return 0;var y=0,k=o.suspendedLanes,p=o.pingedLanes,H=D&268435455;if(H!==0){var Z=H&~k;Z!==0?y=tn(Z):(p&=H,p!==0&&(y=tn(p)))}else H=D&~k,H!==0?y=tn(H):p!==0&&(y=tn(p));if(y===0)return 0;if(n!==0&&n!==y&&!(n&k)&&(k=y&-y,p=n&-n,k>=p||k===16&&(p&4194240)!==0))return n;if(y&4&&(y|=D&16),n=o.entangledLanes,n!==0)for(o=o.entanglements,n&=y;0D;D++)n.push(o);return n}function En(o,n,D){o.pendingLanes|=n,n!==536870912&&(o.suspendedLanes=0,o.pingedLanes=0),o=o.eventTimes,n=31-Ei(n),o[n]=D}function jm(o,n){var D=o.pendingLanes&~n;o.pendingLanes=n,o.suspendedLanes=0,o.pingedLanes=0,o.expiredLanes&=n,o.mutableReadLanes&=n,o.entangledLanes&=n,n=o.entanglements;var y=o.eventTimes;for(o=o.expirationTimes;0>=H,k-=H,IQ=1<<32-Ei(n)+k|D<_I?(eC=yI,yI=null):eC=yI.sibling;var PI=QI(gA,yI,nA[_I],vA);if(PI===null){yI===null&&(yI=eC);break}o&&yI&&PI.alternate===null&&n(gA,yI),z=p(PI,z,_I),NI===null?CI=PI:NI.sibling=PI,NI=PI,yI=eC}if(_I===nA.length)return D(gA,yI),lg&&_e(gA,_I),CI;if(yI===null){for(;_I_I?(eC=yI,yI=null):eC=yI.sibling;var VQ=QI(gA,yI,PI.value,vA);if(VQ===null){yI===null&&(yI=eC);break}o&&yI&&VQ.alternate===null&&n(gA,yI),z=p(VQ,z,_I),NI===null?CI=VQ:NI.sibling=VQ,NI=VQ,yI=eC}if(PI.done)return D(gA,yI),lg&&_e(gA,_I),CI;if(yI===null){for(;!PI.done;_I++,PI=nA.next())PI=GI(gA,PI.value,vA),PI!==null&&(z=p(PI,z,_I),NI===null?CI=PI:NI.sibling=PI,NI=PI);return lg&&_e(gA,_I),CI}for(yI=y(gA,yI);!PI.done;_I++,PI=nA.next())PI=Bg(yI,gA,_I,PI.value,vA),PI!==null&&(o&&PI.alternate!==null&&yI.delete(PI.key===null?_I:PI.key),z=p(PI,z,_I),NI===null?CI=PI:NI.sibling=PI,NI=PI);return o&&yI.forEach(function(qY){return n(gA,qY)}),lg&&_e(gA,_I),CI}function xB(gA,z,nA,vA){if(typeof nA=="object"&&nA!==null&&nA.type===s&&nA.key===null&&(nA=nA.props.children),typeof nA=="object"&&nA!==null){switch(nA.$$typeof){case t:A:{for(var CI=nA.key,NI=z;NI!==null;){if(NI.key===CI){if(CI=nA.type,CI===s){if(NI.tag===7){D(gA,NI.sibling),z=k(NI,nA.props.children),z.return=gA,gA=z;break A}}else if(NI.elementType===CI||typeof CI=="object"&&CI!==null&&CI.$$typeof===u&&pd(CI)===NI.type){D(gA,NI.sibling),z=k(NI,nA.props),z.ref=sn(gA,NI,nA),z.return=gA,gA=z;break A}D(gA,NI);break}else n(gA,NI);NI=NI.sibling}nA.type===s?(z=ze(nA.props.children,gA.mode,vA,nA.key),z.return=gA,gA=z):(vA=Yr(nA.type,nA.key,nA.props,null,gA.mode,vA),vA.ref=sn(gA,z,nA),vA.return=gA,gA=vA)}return H(gA);case E:A:{for(NI=nA.key;z!==null;){if(z.key===NI)if(z.tag===4&&z.stateNode.containerInfo===nA.containerInfo&&z.stateNode.implementation===nA.implementation){D(gA,z.sibling),z=k(z,nA.children||[]),z.return=gA,gA=z;break A}else{D(gA,z);break}else n(gA,z);z=z.sibling}z=WS(nA,gA.mode,vA),z.return=gA,gA=z}return H(gA);case u:return NI=nA._init,xB(gA,z,NI(nA._payload),vA)}if(tA(nA))return BI(gA,z,nA,vA);if(N(nA))return JC(gA,z,nA,vA);Qr(gA,nA)}return typeof nA=="string"&&nA!==""||typeof nA=="number"?(nA=""+nA,z!==null&&z.tag===6?(D(gA,z.sibling),z=k(z,nA),z.return=gA,gA=z):(D(gA,z),z=ZS(nA,gA.mode,vA),z.return=gA,gA=z),H(gA)):D(gA,z)}return xB}var DE=Ud(!0),Nd=Ud(!1),an={},YB=eI(an),rn=eI(an),hE=eI(an);function qi(o){if(o===an)throw Error(Q(174));return o}function nS(o,n){tI(hE,n),tI(rn,o),tI(YB,an),o=kA(n),ZI(YB),tI(YB,o)}function SE(){ZI(YB),ZI(rn),ZI(hE)}function Fd(o){var n=qi(hE.current),D=qi(YB.current);n=Y(D,o.type,n),D!==n&&(tI(rn,o),tI(YB,n))}function sS(o){rn.current===o&&(ZI(YB),ZI(rn))}var Gg=eI(0);function er(o){for(var n=o;n!==null;){if(n.tag===13){var D=n.memoizedState;if(D!==null&&(D=D.dehydrated,D===null||be(D)||tE(D)))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===o)break;for(;n.sibling===null;){if(n.return===null||n.return===o)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var aS=[];function rS(){for(var o=0;oD?D:4,o(!0);var y=LB.transition;LB.transition={};try{o(!1),n()}finally{OI=D,LB.transition=y}}function Od(){return mi().memoizedState}function tY(o,n,D){var y=PQ(o);D={lane:y,action:D,hasEagerState:!1,eagerState:null,next:null},_d(o)?Pd(n,D):(Zd(o,n,D),D=_C(),o=HB(o,y,D),o!==null&&Wd(o,n,y))}function EY(o,n,D){var y=PQ(o),k={lane:y,action:D,hasEagerState:!1,eagerState:null,next:null};if(_d(o))Pd(n,k);else{Zd(o,n,k);var p=o.alternate;if(o.lanes===0&&(p===null||p.lanes===0)&&(p=n.lastRenderedReducer,p!==null))try{var H=n.lastRenderedState,Z=p(H,D);if(k.hasEagerState=!0,k.eagerState=Z,Ki(Z,H))return}catch{}finally{}D=_C(),o=HB(o,y,D),o!==null&&Wd(o,n,y)}}function _d(o){var n=o.alternate;return o===Ug||n!==null&&n===Ug}function Pd(o,n){ln=Er=!0;var D=o.pending;D===null?n.next=n:(n.next=D.next,D.next=n),o.pending=n}function Zd(o,n,D){xg!==null&&o.mode&1&&!(JI&2)?(o=n.interleaved,o===null?(D.next=D,fi===null?fi=[n]:fi.push(n)):(D.next=o.next,o.next=D),n.interleaved=D):(o=n.pending,o===null?D.next=D:(D.next=o.next,o.next=D),n.pending=D)}function Wd(o,n,D){if(D&4194240){var y=n.lanes;y&=o.pendingLanes,D|=y,n.lanes=D,Wh(o,D)}}var rr={readContext:fB,useCallback:RC,useContext:RC,useEffect:RC,useImperativeHandle:RC,useInsertionEffect:RC,useLayoutEffect:RC,useMemo:RC,useReducer:RC,useRef:RC,useState:RC,useDebugValue:RC,useDeferredValue:RC,useTransition:RC,useMutableSource:RC,useSyncExternalStore:RC,useId:RC,unstable_isNewReconciler:!1},oY={readContext:fB,useCallback:function(o,n){return CQ().memoizedState=[o,n===void 0?null:n],o},useContext:fB,useEffect:SS,useImperativeHandle:function(o,n,D){return D=D!=null?D.concat([o]):null,sr(4194308,4,Td.bind(null,n,o),D)},useLayoutEffect:function(o,n){return sr(4194308,4,o,n)},useInsertionEffect:function(o,n){return sr(4,2,o,n)},useMemo:function(o,n){var D=CQ();return n=n===void 0?null:n,o=o(),D.memoizedState=[o,n],o},useReducer:function(o,n,D){var y=CQ();return n=D!==void 0?D(n):n,y.memoizedState=y.baseState=n,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:n},y.queue=o,o=o.dispatch=tY.bind(null,Ug,o),[y.memoizedState,o]},useRef:function(o){var n=CQ();return o={current:o},n.memoizedState=o},useState:hS,useDebugValue:wS,useDeferredValue:function(o){var n=hS(o),D=n[0],y=n[1];return SS(function(){var k=LB.transition;LB.transition={};try{y(o)}finally{LB.transition=k}},[o]),D},useTransition:function(){var o=hS(!1),n=o[0];return o=eY.bind(null,o[1]),CQ().memoizedState=o,[n,o]},useMutableSource:function(){},useSyncExternalStore:function(o,n,D){var y=Ug,k=CQ();if(lg){if(D===void 0)throw Error(Q(407));D=D()}else{if(D=n(),xg===null)throw Error(Q(349));wE&30||Jd(y,n,D)}k.memoizedState=D;var p={value:D,getSnapshot:n};return k.queue=p,SS(qd.bind(null,y,p,o),[o]),y.flags|=2048,Dn(9,fd.bind(null,y,p,D,n),void 0,null),D},useId:function(){var o=CQ(),n=xg.identifierPrefix;if(lg){var D=gQ,y=IQ;D=(y&~(1<<32-Ei(y)-1)).toString(32)+D,n=":"+n+"R"+D,D=cn++,0HS&&(n.flags|=128,y=!0,Gn(k,!1),n.lanes=4194304)}else{if(!y)if(o=er(p),o!==null){if(n.flags|=128,y=!0,o=o.updateQueue,o!==null&&(n.updateQueue=o,n.flags|=4),Gn(k,!0),k.tail===null&&k.tailMode==="hidden"&&!p.alternate&&!lg)return KC(n),null}else 2*iC()-k.renderingStartTime>HS&&D!==1073741824&&(n.flags|=128,y=!0,Gn(k,!1),n.lanes=4194304);k.isBackwards?(p.sibling=n.child,n.child=p):(o=k.last,o!==null?o.sibling=p:n.child=p,k.last=p)}return k.tail!==null?(n=k.tail,k.rendering=n,k.tail=n.sibling,k.renderingStartTime=iC(),n.sibling=null,o=Gg.current,tI(Gg,y?o&1|2:o&1),n):(KC(n),null);case 22:case 23:return OS(),y=n.memoizedState!==null,o!==null&&o.memoizedState!==null!==y&&(n.flags|=8192),y&&n.mode&1?SB&1073741824&&(KC(n),ZA&&n.subtreeFlags&6&&(n.flags|=8192)):KC(n),null;case 24:return null;case 25:return null}throw Error(Q(156,n.tag))}var lY=e.ReactCurrentOwner,hB=!1;function OC(o,n,D,y){n.child=o===null?Nd(n,null,D,y):DE(n,o.child,D,y)}function g0(o,n,D,y,k){D=D.render;var p=n.ref;return aE(n,k),y=cS(o,n,D,y,p,k),D=DS(),o!==null&&!hB?(n.updateQueue=o.updateQueue,n.flags&=-2053,o.lanes&=~k,BQ(o,n,k)):(lg&&D&&QS(n),n.flags|=1,OC(o,n,y,k),n.child)}function C0(o,n,D,y,k){if(o===null){var p=D.type;return typeof p=="function"&&!PS(p)&&p.defaultProps===void 0&&D.compare===null&&D.defaultProps===void 0?(n.tag=15,n.type=p,B0(o,n,p,y,k)):(o=Yr(D.type,null,y,n,n.mode,k),o.ref=n.ref,o.return=n,n.child=o)}if(p=o.child,!(o.lanes&k)){var H=p.memoizedProps;if(D=D.compare,D=D!==null?D:za,D(H,y)&&o.ref===n.ref)return BQ(o,n,k)}return n.flags|=1,o=WQ(p,y),o.ref=n.ref,o.return=n,n.child=o}function B0(o,n,D,y,k){if(o!==null&&za(o.memoizedProps,y)&&o.ref===n.ref)if(hB=!1,(o.lanes&k)!==0)o.flags&131072&&(hB=!0);else return n.lanes=o.lanes,BQ(o,n,k);return uS(o,n,D,y,k)}function i0(o,n,D){var y=n.pendingProps,k=y.children,p=o!==null?o.memoizedState:null;if(y.mode==="hidden")if(!(n.mode&1))n.memoizedState={baseLanes:0,cachePool:null},tI(GE,SB),SB|=D;else if(D&1073741824)n.memoizedState={baseLanes:0,cachePool:null},y=p!==null?p.baseLanes:D,tI(GE,SB),SB|=y;else return o=p!==null?p.baseLanes|D:D,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:o,cachePool:null},n.updateQueue=null,tI(GE,SB),SB|=o,null;else p!==null?(y=p.baseLanes|D,n.memoizedState=null):y=D,tI(GE,SB),SB|=y;return OC(o,n,k,D),n.child}function Q0(o,n){var D=n.ref;(o===null&&D!==null||o!==null&&o.ref!==D)&&(n.flags|=512,n.flags|=2097152)}function uS(o,n,D,y,k){var p=wg(D)?ti:Xg.current;return p=Sg(n,p),aE(n,k),D=cS(o,n,D,y,p,k),y=DS(),o!==null&&!hB?(n.updateQueue=o.updateQueue,n.flags&=-2053,o.lanes&=~k,BQ(o,n,k)):(lg&&y&&QS(n),n.flags|=1,OC(o,n,D,k),n.child)}function e0(o,n,D,y,k){if(wg(D)){var p=!0;nE(n)}else p=!1;if(aE(n,k),n.stateNode===null)o!==null&&(o.alternate=null,n.alternate=null,n.flags|=2),Gd(n,D,y),iS(n,D,y,k),y=!0;else if(o===null){var H=n.stateNode,Z=n.memoizedProps;H.props=Z;var sA=H.context,FA=D.contextType;typeof FA=="object"&&FA!==null?FA=fB(FA):(FA=wg(D)?ti:Xg.current,FA=Sg(n,FA));var WA=D.getDerivedStateFromProps,GI=typeof WA=="function"||typeof H.getSnapshotBeforeUpdate=="function";GI||typeof H.UNSAFE_componentWillReceiveProps!="function"&&typeof H.componentWillReceiveProps!="function"||(Z!==y||sA!==FA)&&yd(n,H,y,FA),vQ=!1;var QI=n.memoizedState;H.state=QI,gr(n,y,H,k),sA=n.memoizedState,Z!==y||QI!==sA||Tg.current||vQ?(typeof WA=="function"&&(BS(n,D,WA,y),sA=n.memoizedState),(Z=vQ||wd(n,D,Z,y,QI,sA,FA))?(GI||typeof H.UNSAFE_componentWillMount!="function"&&typeof H.componentWillMount!="function"||(typeof H.componentWillMount=="function"&&H.componentWillMount(),typeof H.UNSAFE_componentWillMount=="function"&&H.UNSAFE_componentWillMount()),typeof H.componentDidMount=="function"&&(n.flags|=4194308)):(typeof H.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=y,n.memoizedState=sA),H.props=y,H.state=sA,H.context=FA,y=Z):(typeof H.componentDidMount=="function"&&(n.flags|=4194308),y=!1)}else{H=n.stateNode,cd(o,n),Z=n.memoizedProps,FA=n.type===n.elementType?Z:oi(n.type,Z),H.props=FA,GI=n.pendingProps,QI=H.context,sA=D.contextType,typeof sA=="object"&&sA!==null?sA=fB(sA):(sA=wg(D)?ti:Xg.current,sA=Sg(n,sA));var Bg=D.getDerivedStateFromProps;(WA=typeof Bg=="function"||typeof H.getSnapshotBeforeUpdate=="function")||typeof H.UNSAFE_componentWillReceiveProps!="function"&&typeof H.componentWillReceiveProps!="function"||(Z!==GI||QI!==sA)&&yd(n,H,y,sA),vQ=!1,QI=n.memoizedState,H.state=QI,gr(n,y,H,k);var BI=n.memoizedState;Z!==GI||QI!==BI||Tg.current||vQ?(typeof Bg=="function"&&(BS(n,D,Bg,y),BI=n.memoizedState),(FA=vQ||wd(n,D,FA,y,QI,BI,sA)||!1)?(WA||typeof H.UNSAFE_componentWillUpdate!="function"&&typeof H.componentWillUpdate!="function"||(typeof H.componentWillUpdate=="function"&&H.componentWillUpdate(y,BI,sA),typeof H.UNSAFE_componentWillUpdate=="function"&&H.UNSAFE_componentWillUpdate(y,BI,sA)),typeof H.componentDidUpdate=="function"&&(n.flags|=4),typeof H.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof H.componentDidUpdate!="function"||Z===o.memoizedProps&&QI===o.memoizedState||(n.flags|=4),typeof H.getSnapshotBeforeUpdate!="function"||Z===o.memoizedProps&&QI===o.memoizedState||(n.flags|=1024),n.memoizedProps=y,n.memoizedState=BI),H.props=y,H.state=BI,H.context=sA,y=FA):(typeof H.componentDidUpdate!="function"||Z===o.memoizedProps&&QI===o.memoizedState||(n.flags|=4),typeof H.getSnapshotBeforeUpdate!="function"||Z===o.memoizedProps&&QI===o.memoizedState||(n.flags|=1024),y=!1)}return kS(o,n,D,y,p,k)}function kS(o,n,D,y,k,p){Q0(o,n);var H=(n.flags&128)!==0;if(!y&&!H)return k&&en(n,D,!1),BQ(o,n,p);y=n.stateNode,lY.current=n;var Z=H&&typeof D.getDerivedStateFromError!="function"?null:y.render();return n.flags|=1,o!==null&&H?(n.child=DE(n,o.child,null,p),n.child=DE(n,null,Z,p)):OC(o,n,Z,p),n.memoizedState=y.state,k&&en(n,D,!0),n.child}function t0(o){var n=o.stateNode;n.pendingContext?bC(o,n.pendingContext,n.pendingContext!==n.context):n.context&&bC(o,n.context,!1),nS(o,n.containerInfo)}function E0(o,n,D,y,k){return cE(),oS(k),n.flags|=256,OC(o,n,D,y),n.child}var Dr={dehydrated:null,treeContext:null,retryLane:0};function hr(o){return{baseLanes:o,cachePool:null}}function o0(o,n,D){var y=n.pendingProps,k=Gg.current,p=!1,H=(n.flags&128)!==0,Z;if((Z=H)||(Z=o!==null&&o.memoizedState===null?!1:(k&2)!==0),Z?(p=!0,n.flags&=-129):(o===null||o.memoizedState!==null)&&(k|=1),tI(Gg,k&1),o===null)return ES(n),o=n.memoizedState,o!==null&&(o=o.dehydrated,o!==null)?(n.mode&1?tE(o)?n.lanes=8:n.lanes=1073741824:n.lanes=1,null):(k=y.children,o=y.fallback,p?(y=n.mode,p=n.child,k={mode:"hidden",children:k},!(y&1)&&p!==null?(p.childLanes=0,p.pendingProps=k):p=Lr(k,y,0,null),o=ze(o,y,D,null),p.return=n,o.return=n,p.sibling=o,n.child=p,n.child.memoizedState=hr(D),n.memoizedState=Dr,o):MS(n,k));if(k=o.memoizedState,k!==null){if(Z=k.dehydrated,Z!==null){if(H)return n.flags&256?(n.flags&=-257,Sr(o,n,D,Error(Q(422)))):n.memoizedState!==null?(n.child=o.child,n.flags|=128,null):(p=y.fallback,k=n.mode,y=Lr({mode:"visible",children:y.children},k,0,null),p=ze(p,k,D,null),p.flags|=2,y.return=n,p.return=n,y.sibling=p,n.child=y,n.mode&1&&DE(n,o.child,null,D),n.child.memoizedState=hr(D),n.memoizedState=Dr,p);if(!(n.mode&1))n=Sr(o,n,D,null);else if(tE(Z))n=Sr(o,n,D,Error(Q(419)));else if(y=(D&o.childLanes)!==0,hB||y){if(y=xg,y!==null){switch(D&-D){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}y=p&(y.suspendedLanes|D)?0:p,y!==0&&y!==k.retryLane&&(k.retryLane=y,HB(o,y,-1))}_S(),n=Sr(o,n,D,Error(Q(421)))}else be(Z)?(n.flags|=128,n.child=o.child,n=UY.bind(null,o),EE(Z,n),n=null):(D=k.treeContext,SA&&(DB=Oh(Z),cB=n,lg=!0,ni=null,on=!1,D!==null&&(qB[mB++]=IQ,qB[mB++]=gQ,qB[mB++]=Oe,IQ=D.id,gQ=D.overflow,Oe=n)),n=MS(n,n.pendingProps.children),n.flags|=4096);return n}return p?(y=s0(o,n,y.children,y.fallback,D),p=n.child,k=o.child.memoizedState,p.memoizedState=k===null?hr(D):{baseLanes:k.baseLanes|D,cachePool:null},p.childLanes=o.childLanes&~D,n.memoizedState=Dr,y):(D=n0(o,n,y.children,D),n.memoizedState=null,D)}return p?(y=s0(o,n,y.children,y.fallback,D),p=n.child,k=o.child.memoizedState,p.memoizedState=k===null?hr(D):{baseLanes:k.baseLanes|D,cachePool:null},p.childLanes=o.childLanes&~D,n.memoizedState=Dr,y):(D=n0(o,n,y.children,D),n.memoizedState=null,D)}function MS(o,n){return n=Lr({mode:"visible",children:n},o.mode,0,null),n.return=o,o.child=n}function n0(o,n,D,y){var k=o.child;return o=k.sibling,D=WQ(k,{mode:"visible",children:D}),!(n.mode&1)&&(D.lanes=y),D.return=n,D.sibling=null,o!==null&&(y=n.deletions,y===null?(n.deletions=[o],n.flags|=16):y.push(o)),n.child=D}function s0(o,n,D,y,k){var p=n.mode;o=o.child;var H=o.sibling,Z={mode:"hidden",children:D};return!(p&1)&&n.child!==o?(D=n.child,D.childLanes=0,D.pendingProps=Z,n.deletions=null):(D=WQ(o,Z),D.subtreeFlags=o.subtreeFlags&14680064),H!==null?y=WQ(H,y):(y=ze(y,p,k,null),y.flags|=2),y.return=n,D.return=n,D.sibling=y,n.child=D,y}function Sr(o,n,D,y){return y!==null&&oS(y),DE(n,o.child,null,D),o=MS(n,n.pendingProps.children),o.flags|=2,n.memoizedState=null,o}function a0(o,n,D){o.lanes|=n;var y=o.alternate;y!==null&&(y.lanes|=n),gS(o.return,n,D)}function dS(o,n,D,y,k){var p=o.memoizedState;p===null?o.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:y,tail:D,tailMode:k}:(p.isBackwards=n,p.rendering=null,p.renderingStartTime=0,p.last=y,p.tail=D,p.tailMode=k)}function r0(o,n,D){var y=n.pendingProps,k=y.revealOrder,p=y.tail;if(OC(o,n,y.children,D),y=Gg.current,y&2)y=y&1|2,n.flags|=128;else{if(o!==null&&o.flags&128)A:for(o=n.child;o!==null;){if(o.tag===13)o.memoizedState!==null&&a0(o,D,n);else if(o.tag===19)a0(o,D,n);else if(o.child!==null){o.child.return=o,o=o.child;continue}if(o===n)break A;for(;o.sibling===null;){if(o.return===null||o.return===n)break A;o=o.return}o.sibling.return=o.return,o=o.sibling}y&=1}if(tI(Gg,y),!(n.mode&1))n.memoizedState=null;else switch(k){case"forwards":for(D=n.child,k=null;D!==null;)o=D.alternate,o!==null&&er(o)===null&&(k=D),D=D.sibling;D=k,D===null?(k=n.child,n.child=null):(k=D.sibling,D.sibling=null),dS(n,!1,k,D,p);break;case"backwards":for(D=null,k=n.child,n.child=null;k!==null;){if(o=k.alternate,o!==null&&er(o)===null){n.child=k;break}o=k.sibling,k.sibling=D,D=k,k=o}dS(n,!0,D,null,p);break;case"together":dS(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function BQ(o,n,D){if(o!==null&&(n.dependencies=o.dependencies),yE|=n.lanes,!(D&n.childLanes))return null;if(o!==null&&n.child!==o.child)throw Error(Q(153));if(n.child!==null){for(o=n.child,D=WQ(o,o.pendingProps),n.child=D,D.return=n;o.sibling!==null;)o=o.sibling,D=D.sibling=WQ(o,o.pendingProps),D.return=n;D.sibling=null}return n.child}function cY(o,n,D){switch(n.tag){case 3:t0(n),cE();break;case 5:Fd(n);break;case 1:wg(n.type)&&nE(n);break;case 4:nS(n,n.stateNode.containerInfo);break;case 10:ld(n,n.type._context,n.memoizedProps.value);break;case 13:var y=n.memoizedState;if(y!==null)return y.dehydrated!==null?(tI(Gg,Gg.current&1),n.flags|=128,null):D&n.child.childLanes?o0(o,n,D):(tI(Gg,Gg.current&1),o=BQ(o,n,D),o!==null?o.sibling:null);tI(Gg,Gg.current&1);break;case 19:if(y=(D&n.childLanes)!==0,o.flags&128){if(y)return r0(o,n,D);n.flags|=128}var k=n.memoizedState;if(k!==null&&(k.rendering=null,k.tail=null,k.lastEffect=null),tI(Gg,Gg.current),y)break;return null;case 22:case 23:return n.lanes=0,i0(o,n,D)}return BQ(o,n,D)}function DY(o,n){switch(eS(n),n.tag){case 1:return wg(n.type)&&xQ(),o=n.flags,o&65536?(n.flags=o&-65537|128,n):null;case 3:return SE(),ZI(Tg),ZI(Xg),rS(),o=n.flags,o&65536&&!(o&128)?(n.flags=o&-65537|128,n):null;case 5:return sS(n),null;case 13:if(ZI(Gg),o=n.memoizedState,o!==null&&o.dehydrated!==null){if(n.alternate===null)throw Error(Q(340));cE()}return o=n.flags,o&65536?(n.flags=o&-65537|128,n):null;case 19:return ZI(Gg),null;case 4:return SE(),null;case 10:return IS(n.type._context),null;case 22:case 23:return OS(),null;case 24:return null;default:return null}}var wr=!1,Ze=!1,hY=typeof WeakSet=="function"?WeakSet:Set,TA=null;function Gr(o,n){var D=o.ref;if(D!==null)if(typeof D=="function")try{D(null)}catch(y){BB(o,n,y)}else D.current=null}function pS(o,n,D){try{D()}catch(y){BB(o,n,y)}}var l0=!1;function SY(o,n){for(V(o.containerInfo),TA=n;TA!==null;)if(o=TA,n=o.child,(o.subtreeFlags&1028)!==0&&n!==null)n.return=o,TA=n;else for(;TA!==null;){o=TA;try{var D=o.alternate;if(o.flags&1024)switch(o.tag){case 0:case 11:case 15:break;case 1:if(D!==null){var y=D.memoizedProps,k=D.memoizedState,p=o.stateNode,H=p.getSnapshotBeforeUpdate(o.elementType===o.type?y:oi(o.type,y),k);p.__reactInternalSnapshotBeforeUpdate=H}break;case 3:ZA&&xA(o.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(Q(163))}}catch(Z){BB(o,o.return,Z)}if(n=o.sibling,n!==null){n.return=o.return,TA=n;break}TA=o.return}return D=l0,l0=!1,D}function We(o,n,D){var y=n.updateQueue;if(y=y!==null?y.lastEffect:null,y!==null){var k=y=y.next;do{if((k.tag&o)===o){var p=k.destroy;k.destroy=void 0,p!==void 0&&pS(n,D,p)}k=k.next}while(k!==y)}}function yn(o,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var D=n=n.next;do{if((D.tag&o)===o){var y=D.create;D.destroy=y()}D=D.next}while(D!==n)}}function US(o){var n=o.ref;if(n!==null){var D=o.stateNode;switch(o.tag){case 5:o=rA(D);break;default:o=D}typeof n=="function"?n(o):n.current=o}}function c0(o,n,D){if(Ri&&typeof Ri.onCommitFiberUnmount=="function")try{Ri.onCommitFiberUnmount(ja,n)}catch{}switch(n.tag){case 0:case 11:case 14:case 15:if(o=n.updateQueue,o!==null&&(o=o.lastEffect,o!==null)){var y=o=o.next;do{var k=y,p=k.destroy;k=k.tag,p!==void 0&&(k&2||k&4)&&pS(n,D,p),y=y.next}while(y!==o)}break;case 1:if(Gr(n,D),o=n.stateNode,typeof o.componentWillUnmount=="function")try{o.props=n.memoizedProps,o.state=n.memoizedState,o.componentWillUnmount()}catch(H){BB(n,D,H)}break;case 5:Gr(n,D);break;case 4:ZA?y0(o,n,D):EA&&EA&&(n=n.stateNode.containerInfo,D=vI(n),bI(n,D))}}function D0(o,n,D){for(var y=n;;)if(c0(o,y,D),y.child===null||ZA&&y.tag===4){if(y===n)break;for(;y.sibling===null;){if(y.return===null||y.return===n)return;y=y.return}y.sibling.return=y.return,y=y.sibling}else y.child.return=y,y=y.child}function h0(o){var n=o.alternate;n!==null&&(o.alternate=null,h0(n)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&(n=o.stateNode,n!==null&&LA(n)),o.stateNode=null,o.return=null,o.dependencies=null,o.memoizedProps=null,o.memoizedState=null,o.pendingProps=null,o.stateNode=null,o.updateQueue=null}function S0(o){return o.tag===5||o.tag===3||o.tag===4}function w0(o){A:for(;;){for(;o.sibling===null;){if(o.return===null||S0(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.flags&2||o.child===null||o.tag===4)continue A;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function G0(o){if(ZA){A:{for(var n=o.return;n!==null;){if(S0(n))break A;n=n.return}throw Error(Q(160))}var D=n;switch(D.tag){case 5:n=D.stateNode,D.flags&32&&(rI(n),D.flags&=-33),D=w0(o),FS(o,D,n);break;case 3:case 4:n=D.stateNode.containerInfo,D=w0(o),NS(o,D,n);break;default:throw Error(Q(161))}}}function NS(o,n,D){var y=o.tag;if(y===5||y===6)o=o.stateNode,n?cI(D,o,n):RA(D,o);else if(y!==4&&(o=o.child,o!==null))for(NS(o,n,D),o=o.sibling;o!==null;)NS(o,n,D),o=o.sibling}function FS(o,n,D){var y=o.tag;if(y===5||y===6)o=o.stateNode,n?bA(D,o,n):aI(D,o);else if(y!==4&&(o=o.child,o!==null))for(FS(o,n,D),o=o.sibling;o!==null;)FS(o,n,D),o=o.sibling}function y0(o,n,D){for(var y=n,k=!1,p,H;;){if(!k){k=y.return;A:for(;;){if(k===null)throw Error(Q(160));switch(p=k.stateNode,k.tag){case 5:H=!1;break A;case 3:p=p.containerInfo,H=!0;break A;case 4:p=p.containerInfo,H=!0;break A}k=k.return}k=!0}if(y.tag===5||y.tag===6)D0(o,y,D),H?Cg(p,y.stateNode):kI(p,y.stateNode);else if(y.tag===18)H?AI(p,y.stateNode):HA(p,y.stateNode);else if(y.tag===4){if(y.child!==null){p=y.stateNode.containerInfo,H=!0,y.child.return=y,y=y.child;continue}}else if(c0(o,y,D),y.child!==null){y.child.return=y,y=y.child;continue}if(y===n)break;for(;y.sibling===null;){if(y.return===null||y.return===n)return;y=y.return,y.tag===4&&(k=!1)}y.sibling.return=y.return,y=y.sibling}}function RS(o,n){if(ZA){switch(n.tag){case 0:case 11:case 14:case 15:We(3,n,n.return),yn(3,n),We(5,n,n.return);return;case 1:return;case 5:var D=n.stateNode;if(D!=null){var y=n.memoizedProps;o=o!==null?o.memoizedProps:y;var k=n.type,p=n.updateQueue;n.updateQueue=null,p!==null&&iI(D,p,k,o,y,n)}return;case 6:if(n.stateNode===null)throw Error(Q(162));D=n.memoizedProps,zA(n.stateNode,o!==null?o.memoizedProps:D,D);return;case 3:SA&&o!==null&&o.memoizedState.isDehydrated&&BA(n.stateNode.containerInfo);return;case 12:return;case 13:yr(n);return;case 19:yr(n);return;case 17:return}throw Error(Q(163))}switch(n.tag){case 0:case 11:case 14:case 15:We(3,n,n.return),yn(3,n),We(5,n,n.return);return;case 12:return;case 13:yr(n);return;case 19:yr(n);return;case 3:SA&&o!==null&&o.memoizedState.isDehydrated&&BA(n.stateNode.containerInfo);break;case 22:case 23:return}A:if(EA){switch(n.tag){case 1:case 5:case 6:break A;case 3:case 4:n=n.stateNode,bI(n.containerInfo,n.pendingChildren);break A}throw Error(Q(163))}}function yr(o){var n=o.updateQueue;if(n!==null){o.updateQueue=null;var D=o.stateNode;D===null&&(D=o.stateNode=new hY),n.forEach(function(y){var k=NY.bind(null,o,y);D.has(y)||(D.add(y),y.then(k,k))})}}function wY(o,n){for(TA=n;TA!==null;){n=TA;var D=n.deletions;if(D!==null)for(var y=0;y";case kr:return":has("+(fS(o)||"")+")";case Mr:return'[role="'+o.value+'"]';case pr:return'"'+o.value+'"';case dr:return'[data-testname="'+o.value+'"]';default:throw Error(Q(365))}}function p0(o,n){var D=[];o=[o,0];for(var y=0;yk&&(k=H),y&=~p}if(y=k,y=iC()-y,y=(120>y?120:480>y?480:1080>y?1080:1920>y?1920:3e3>y?3e3:4320>y?4320:1960*yY(y/1960))-y,10o?16:o,_Q===null)var y=!1;else{if(o=_Q,_Q=null,Kr=0,JI&6)throw Error(Q(331));var k=JI;for(JI|=4,TA=o.current;TA!==null;){var p=TA,H=p.child;if(TA.flags&16){var Z=p.deletions;if(Z!==null){for(var sA=0;sAiC()-LS?Ve(o,0):YS|=D),CB(o,n)}function m0(o,n){n===0&&(o.mode&1?(n=Wa,Wa<<=1,!(Wa&130023424)&&(Wa=4194304)):n=1);var D=_C();o=qr(o,n),o!==null&&(En(o,n,D),CB(o,D))}function UY(o){var n=o.memoizedState,D=0;n!==null&&(D=n.retryLane),m0(o,D)}function NY(o,n){var D=0;switch(o.tag){case 13:var y=o.stateNode,k=o.memoizedState;k!==null&&(D=k.retryLane);break;case 19:y=o.stateNode;break;default:throw Error(Q(314))}y!==null&&y.delete(n),m0(o,D)}var Y0;Y0=function(o,n,D){if(o!==null)if(o.memoizedProps!==n.pendingProps||Tg.current)hB=!0;else{if(!(o.lanes&D)&&!(n.flags&128))return hB=!1,cY(o,n,D);hB=!!(o.flags&131072)}else hB=!1,lg&&n.flags&1048576&&ud(n,ir,n.index);switch(n.lanes=0,n.tag){case 2:var y=n.type;o!==null&&(o.alternate=null,n.alternate=null,n.flags|=2),o=n.pendingProps;var k=Sg(n,Xg.current);aE(n,D),k=cS(null,n,y,o,k,D);var p=DS();return n.flags|=1,typeof k=="object"&&k!==null&&typeof k.render=="function"&&k.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,wg(y)?(p=!0,nE(n)):p=!1,n.memoizedState=k.state!==null&&k.state!==void 0?k.state:null,CS(n),k.updater=Cr,n.stateNode=k,k._reactInternals=n,iS(n,y,o,D),n=kS(null,n,y,!0,p,D)):(n.tag=0,lg&&p&&QS(n),OC(null,n,k,D),n=n.child),n;case 16:y=n.elementType;A:{switch(o!==null&&(o.alternate=null,n.alternate=null,n.flags|=2),o=n.pendingProps,k=y._init,y=k(y._payload),n.type=y,k=n.tag=RY(y),o=oi(y,o),k){case 0:n=uS(null,n,y,o,D);break A;case 1:n=e0(null,n,y,o,D);break A;case 11:n=g0(null,n,y,o,D);break A;case 14:n=C0(null,n,y,oi(y.type,o),D);break A}throw Error(Q(306,y,""))}return n;case 0:return y=n.type,k=n.pendingProps,k=n.elementType===y?k:oi(y,k),uS(o,n,y,k,D);case 1:return y=n.type,k=n.pendingProps,k=n.elementType===y?k:oi(y,k),e0(o,n,y,k,D);case 3:A:{if(t0(n),o===null)throw Error(Q(387));y=n.pendingProps,p=n.memoizedState,k=p.element,cd(o,n),gr(n,y,null,D);var H=n.memoizedState;if(y=H.element,SA&&p.isDehydrated)if(p={element:y,isDehydrated:!1,cache:H.cache,transitions:H.transitions},n.updateQueue.baseState=p,n.memoizedState=p,n.flags&256){k=Error(Q(423)),n=E0(o,n,y,D,k);break A}else if(y!==k){k=Error(Q(424)),n=E0(o,n,y,D,k);break A}else for(SA&&(DB=bh(n.stateNode.containerInfo),cB=n,lg=!0,ni=null,on=!1),D=Nd(n,null,y,D),n.child=D;D;)D.flags=D.flags&-3|4096,D=D.sibling;else{if(cE(),y===k){n=BQ(o,n,D);break A}OC(o,n,y,D)}n=n.child}return n;case 5:return Fd(n),o===null&&ES(n),y=n.type,k=n.pendingProps,p=o!==null?o.memoizedProps:null,H=k.children,yA(y,k)?H=null:p!==null&&yA(y,p)&&(n.flags|=32),Q0(o,n),OC(o,n,H,D),n.child;case 6:return o===null&&ES(n),null;case 13:return o0(o,n,D);case 4:return nS(n,n.stateNode.containerInfo),y=n.pendingProps,o===null?n.child=DE(n,null,y,D):OC(o,n,y,D),n.child;case 11:return y=n.type,k=n.pendingProps,k=n.elementType===y?k:oi(y,k),g0(o,n,y,k,D);case 7:return OC(o,n,n.pendingProps,D),n.child;case 8:return OC(o,n,n.pendingProps.children,D),n.child;case 12:return OC(o,n,n.pendingProps.children,D),n.child;case 10:A:{if(y=n.type._context,k=n.pendingProps,p=n.memoizedProps,H=k.value,ld(n,y,H),p!==null)if(Ki(p.value,H)){if(p.children===k.children&&!Tg.current){n=BQ(o,n,D);break A}}else for(p=n.child,p!==null&&(p.return=n);p!==null;){var Z=p.dependencies;if(Z!==null){H=p.child;for(var sA=Z.firstContext;sA!==null;){if(sA.context===y){if(p.tag===1){sA=AQ(-1,D&-D),sA.tag=2;var FA=p.updateQueue;if(FA!==null){FA=FA.shared;var WA=FA.pending;WA===null?sA.next=sA:(sA.next=WA.next,WA.next=sA),FA.pending=sA}}p.lanes|=D,sA=p.alternate,sA!==null&&(sA.lanes|=D),gS(p.return,D,n),Z.lanes|=D;break}sA=sA.next}}else if(p.tag===10)H=p.type===n.type?null:p.child;else if(p.tag===18){if(H=p.return,H===null)throw Error(Q(341));H.lanes|=D,Z=H.alternate,Z!==null&&(Z.lanes|=D),gS(H,D,n),H=p.sibling}else H=p.child;if(H!==null)H.return=p;else for(H=p;H!==null;){if(H===n){H=null;break}if(p=H.sibling,p!==null){p.return=H.return,H=p;break}H=H.return}p=H}OC(o,n,k.children,D),n=n.child}return n;case 9:return k=n.type,y=n.pendingProps.children,aE(n,D),k=fB(k),y=y(k),n.flags|=1,OC(o,n,y,D),n.child;case 14:return y=n.type,k=oi(y,n.pendingProps),k=oi(y.type,k),C0(o,n,y,k,D);case 15:return B0(o,n,n.type,n.pendingProps,D);case 17:return y=n.type,k=n.pendingProps,k=n.elementType===y?k:oi(y,k),o!==null&&(o.alternate=null,n.alternate=null,n.flags|=2),n.tag=1,wg(y)?(o=!0,nE(n)):o=!1,aE(n,D),Gd(n,y,k),iS(n,y,k,D),kS(null,n,y,!0,o,D);case 19:return r0(o,n,D);case 22:return i0(o,n,D)}throw Error(Q(156,n.tag))};function L0(o,n){return Vh(o,n)}function FY(o,n,D,y){this.tag=o,this.key=D,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=y,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function TB(o,n,D,y){return new FY(o,n,D,y)}function PS(o){return o=o.prototype,!(!o||!o.isReactComponent)}function RY(o){if(typeof o=="function")return PS(o)?1:0;if(o!=null){if(o=o.$$typeof,o===w)return 11;if(o===G)return 14}return 2}function WQ(o,n){var D=o.alternate;return D===null?(D=TB(o.tag,n,o.key,o.mode),D.elementType=o.elementType,D.type=o.type,D.stateNode=o.stateNode,D.alternate=o,o.alternate=D):(D.pendingProps=n,D.type=o.type,D.flags=0,D.subtreeFlags=0,D.deletions=null),D.flags=o.flags&14680064,D.childLanes=o.childLanes,D.lanes=o.lanes,D.child=o.child,D.memoizedProps=o.memoizedProps,D.memoizedState=o.memoizedState,D.updateQueue=o.updateQueue,n=o.dependencies,D.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},D.sibling=o.sibling,D.index=o.index,D.ref=o.ref,D}function Yr(o,n,D,y,k,p){var H=2;if(y=o,typeof o=="function")PS(o)&&(H=1);else if(typeof o=="string")H=5;else A:switch(o){case s:return ze(D.children,k,p,n);case a:H=8,k|=8;break;case r:return o=TB(12,D,n,k|2),o.elementType=r,o.lanes=p,o;case S:return o=TB(13,D,n,k),o.elementType=S,o.lanes=p,o;case c:return o=TB(19,D,n,k),o.elementType=c,o.lanes=p,o;case M:return Lr(D,k,p,n);default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case l:H=10;break A;case h:H=9;break A;case w:H=11;break A;case G:H=14;break A;case u:H=16,y=null;break A}throw Error(Q(130,o==null?o:typeof o,""))}return n=TB(H,D,n,k),n.elementType=o,n.type=y,n.lanes=p,n}function ze(o,n,D,y){return o=TB(7,o,y,n),o.lanes=D,o}function Lr(o,n,D,y){return o=TB(22,o,y,n),o.elementType=M,o.lanes=D,o.stateNode={},o}function ZS(o,n,D){return o=TB(6,o,null,n),o.lanes=D,o}function WS(o,n,D){return n=TB(4,o.children!==null?o.children:[],o.key,n),n.lanes=D,n.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},n}function KY(o,n,D,y,k){this.tag=n,this.containerInfo=o,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=mA,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Zh(0),this.expirationTimes=Zh(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Zh(0),this.identifierPrefix=y,this.onRecoverableError=k,SA&&(this.mutableSourceEagerHydrationData=null)}function H0(o,n,D,y,k,p,H,Z,sA){return o=new KY(o,n,D,Z,sA),n===1?(n=1,p===!0&&(n|=8)):n=0,p=TB(3,null,null,n),o.current=p,p.stateNode=o,p.memoizedState={element:y,isDehydrated:D,cache:null,transitions:null},CS(p),o}function T0(o){if(!o)return NC;o=o._reactInternals;A:{if(K(o)!==o||o.tag!==1)throw Error(Q(170));var n=o;do{switch(n.tag){case 3:n=n.stateNode.context;break A;case 1:if(wg(n.type)){n=n.stateNode.__reactInternalMemoizedMergedChildContext;break A}}n=n.return}while(n!==null);throw Error(Q(171))}if(o.tag===1){var D=o.type;if(wg(D))return oE(o,D,n)}return n}function x0(o){var n=o._reactInternals;if(n===void 0)throw typeof o.render=="function"?Error(Q(188)):(o=Object.keys(o).join(","),Error(Q(268,o)));return o=O(n),o===null?null:o.stateNode}function v0(o,n){if(o=o.memoizedState,o!==null&&o.dehydrated!==null){var D=o.retryLane;o.retryLane=D!==0&&D=FA&&p>=GI&&k<=WA&&H<=QI){o.splice(n,1);break}else if(y!==FA||D.width!==sA.width||QIH){if(!(p!==GI||D.height!==sA.height||WAk)){FA>y&&(sA.width+=FA-y,sA.x=y),WAp&&(sA.height+=GI-p,sA.y=p),QID&&(D=H)),H ")+` + +No matching component was found for: + `)+o.join(" > ")}return null},I.getPublicRootInstance=function(o){if(o=o.current,!o.child)return null;switch(o.child.tag){case 5:return rA(o.child.stateNode);default:return o.child.stateNode}},I.injectIntoDevTools=function(o){if(o={bundleType:o.bundleType,version:o.version,rendererPackageName:o.rendererPackageName,rendererConfig:o.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:e.ReactCurrentDispatcher,findHostInstanceByFiber:JY,findFiberByHostInstance:o.findFiberByHostInstance||fY,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")o=!1;else{var n=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(n.isDisabled||!n.supportsFiber)o=!0;else{try{ja=n.inject(o),Ri=n}catch{}o=!!n.checkDCE}}return o},I.isAlreadyRendering=function(){return!1},I.observeVisibleRects=function(o,n,D,y){if(!J)throw Error(Q(363));o=qS(o,n);var k=JA(o,D,y).disconnect;return{disconnect:function(){k()}}},I.registerMutableSourceForHydration=function(o,n){var D=n._getVersion;D=D(n._source),o.mutableSourceEagerHydrationData==null?o.mutableSourceEagerHydrationData=[n,D]:o.mutableSourceEagerHydrationData.push(n,D)},I.runWithPriority=function(o,n){var D=OI;try{return OI=o,n()}finally{OI=D}},I.shouldError=function(){return null},I.shouldSuspend=function(){return!1},I.updateContainer=function(o,n,D,y){var k=n.current,p=_C(),H=PQ(k);return D=T0(D),n.context===null?n.context=D:n.pendingContext=D,n=AQ(p,H),n.payload={element:o},y=y===void 0?null:y,y!==null&&(n.callback=y),bQ(k,n),o=HB(k,H,p),o!==null&&Ir(o,k,H),H},I};sq.exports=$3;var A4=sq.exports;const I4=wD(A4),g4=g=>typeof g=="object"&&typeof g.then=="function",dt=[];function lq(g,A,I=(C,B)=>C===B){if(g===A)return!0;if(!g||!A)return!1;const C=g.length;if(A.length!==C)return!1;for(let B=0;B0&&(i.timeout&&clearTimeout(i.timeout),i.timeout=setTimeout(i.remove,C.lifespan)),i.response;if(!I)throw i.promise}const B={keys:A,equal:C.equal,remove:()=>{const i=dt.indexOf(B);i!==-1&&dt.splice(i,1)},promise:(g4(g)?g:g(...A)).then(i=>{B.response=i,C.lifespan&&C.lifespan>0&&(B.timeout=setTimeout(B.remove,C.lifespan))}).catch(i=>B.error=i)};if(dt.push(B),!I)throw B.promise}const ah=(g,A,I)=>cq(g,A,!1,I),C4=(g,A,I)=>void cq(g,A,!0,I),B4=g=>{if(g===void 0||g.length===0)dt.splice(0,dt.length);else{const A=dt.find(I=>lq(g,I.keys,I.equal));A&&A.remove()}},tM={},i4=g=>void Object.assign(tM,g);function Q4(g,A){function I(s,{args:a=[],attach:r,...l},h){let w=`${s[0].toUpperCase()}${s.slice(1)}`,S;if(s==="primitive"){if(l.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const c=l.object;S=$E(c,{type:s,root:h,attach:r,primitive:!0})}else{const c=tM[w];if(!c)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(a))throw new Error("R3F: The args prop must be an array!");S=$E(new c(...a),{type:s,root:h,attach:r,memoizedProps:{args:a}})}return S.__r3f.attach===void 0&&(S instanceof lI?S.__r3f.attach="geometry":S instanceof ag&&(S.__r3f.attach="material")),w!=="inject"&&EG(S,l),S}function C(s,a){let r=!1;if(a){var l,h;(l=a.__r3f)!=null&&l.attach?tG(s,a,a.__r3f.attach):a.isObject3D&&s.isObject3D&&(s.add(a),r=!0),r||(h=s.__r3f)==null||h.objects.push(a),a.__r3f||$E(a,{}),a.__r3f.parent=s,Gu(a),Ao(a)}}function B(s,a,r){let l=!1;if(a){var h,w;if((h=a.__r3f)!=null&&h.attach)tG(s,a,a.__r3f.attach);else if(a.isObject3D&&s.isObject3D){a.parent=s,a.dispatchEvent({type:"added"}),s.dispatchEvent({type:"childadded",child:a});const S=s.children.filter(G=>G!==a),c=S.indexOf(r);s.children=[...S.slice(0,c),a,...S.slice(c)],l=!0}l||(w=s.__r3f)==null||w.objects.push(a),a.__r3f||$E(a,{}),a.__r3f.parent=s,Gu(a),Ao(a)}}function i(s,a,r=!1){s&&[...s].forEach(l=>Q(a,l,r))}function Q(s,a,r){if(a){var l,h,w;if(a.__r3f&&(a.__r3f.parent=null),(l=s.__r3f)!=null&&l.objects&&(s.__r3f.objects=s.__r3f.objects.filter(M=>M!==a)),(h=a.__r3f)!=null&&h.attach)qN(s,a,a.__r3f.attach);else if(a.isObject3D&&s.isObject3D){var S;s.remove(a),(S=a.__r3f)!=null&&S.root&&r4(kc(a),a)}const G=(w=a.__r3f)==null?void 0:w.primitive,u=!G&&(r===void 0?a.dispose!==null:r);if(!G){var c;i((c=a.__r3f)==null?void 0:c.objects,a,u),i(a.children,a,u)}if(delete a.__r3f,u&&a.dispose&&a.type!=="Scene"){const M=()=>{try{a.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?Su.unstable_scheduleCallback(Su.unstable_IdlePriority,M):M()}Ao(s)}}function e(s,a,r,l){var h;const w=(h=s.__r3f)==null?void 0:h.parent;if(!w)return;const S=I(a,r,s.__r3f.root);if(s.children){for(const c of s.children)c.__r3f&&C(S,c);s.children=s.children.filter(c=>!c.__r3f)}s.__r3f.objects.forEach(c=>C(S,c)),s.__r3f.objects=[],s.__r3f.autoRemovedBeforeAppend||Q(w,s),S.parent&&(S.__r3f.autoRemovedBeforeAppend=!0),C(w,S),S.raycast&&S.__r3f.eventCount&&kc(S).getState().internal.interaction.push(S),[l,l.alternate].forEach(c=>{c!==null&&(c.stateNode=S,c.ref&&(typeof c.ref=="function"?c.ref(S):c.ref.current=S))})}const t=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:I4({createInstance:I,removeChild:Q,appendChild:C,appendInitialChild:C,insertBefore:B,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(s,a)=>{if(!a)return;const r=s.getState().scene;r.__r3f&&(r.__r3f.root=s,C(r,a))},removeChildFromContainer:(s,a)=>{a&&Q(s.getState().scene,a)},insertInContainerBefore:(s,a,r)=>{if(!a||!r)return;const l=s.getState().scene;l.__r3f&&B(l,a,r)},getRootHostContext:()=>null,getChildHostContext:s=>s,finalizeInitialChildren(s){var a;return!!((a=s==null?void 0:s.__r3f)!=null?a:{}).handlers},prepareUpdate(s,a,r,l){var h;if(((h=s==null?void 0:s.__r3f)!=null?h:{}).primitive&&l.object&&l.object!==s)return[!0];{const{args:S=[],children:c,...G}=l,{args:u=[],children:M,...R}=r;if(!Array.isArray(S))throw new Error("R3F: the args prop must be an array!");if(S.some((F,q)=>F!==u[q]))return[!0];const N=uq(s,G,R,!0);return N.changes.length?[!1,N]:null}},commitUpdate(s,[a,r],l,h,w,S){a?e(s,l,w,S):EG(s,r)},commitMount(s,a,r,l){var h;const w=(h=s.__r3f)!=null?h:{};s.raycast&&w.handlers&&w.eventCount&&kc(s).getState().internal.interaction.push(s)},getPublicInstance:s=>s,prepareForCommit:()=>null,preparePortalMount:s=>$E(s.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(s){var a;const{attach:r,parent:l}=(a=s.__r3f)!=null?a:{};r&&l&&qN(l,s,r),s.isObject3D&&(s.visible=!1),Ao(s)},unhideInstance(s,a){var r;const{attach:l,parent:h}=(r=s.__r3f)!=null?r:{};l&&h&&tG(h,s,l),(s.isObject3D&&a.visible==null||a.visible)&&(s.visible=!0),Ao(s)},createTextInstance:t,hideTextInstance:t,unhideTextInstance:t,getCurrentEventPriority:()=>A?A():co.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&tg.fun(performance.now)?performance.now:tg.fun(Date.now)?Date.now:()=>0,scheduleTimeout:tg.fun(setTimeout)?setTimeout:void 0,cancelTimeout:tg.fun(clearTimeout)?clearTimeout:void 0}),applyProps:EG}}var RN,KN;const eG=g=>"colorSpace"in g||"outputColorSpace"in g,Dq=()=>{var g;return(g=tM.ColorManagement)!=null?g:null},hq=g=>g&&g.isOrthographicCamera,e4=g=>g&&g.hasOwnProperty("current"),qa=typeof window<"u"&&((RN=window.document)!=null&&RN.createElement||((KN=window.navigator)==null?void 0:KN.product)==="ReactNative")?x.useLayoutEffect:x.useEffect;function Sq(g){const A=x.useRef(g);return qa(()=>void(A.current=g),[g]),A}function t4({set:g}){return qa(()=>(g(new Promise(()=>null)),()=>g(!1)),[g]),null}class wq extends x.Component{constructor(...A){super(...A),this.state={error:!1}}componentDidCatch(A){this.props.set(A)}render(){return this.state.error?null:this.props.children}}wq.getDerivedStateFromError=()=>({error:!0});const Gq="__default",JN=new Map,E4=g=>g&&!!g.memoized&&!!g.changes;function yq(g){var A;const I=typeof window<"u"?(A=window.devicePixelRatio)!=null?A:2:1;return Array.isArray(g)?Math.min(Math.max(g[0],I),g[1]):g}const Zn=g=>{var A;return(A=g.__r3f)==null?void 0:A.root.getState()};function kc(g){let A=g.__r3f.root;for(;A.getState().previousRoot;)A=A.getState().previousRoot;return A}const tg={obj:g=>g===Object(g)&&!tg.arr(g)&&typeof g!="function",fun:g=>typeof g=="function",str:g=>typeof g=="string",num:g=>typeof g=="number",boo:g=>typeof g=="boolean",und:g=>g===void 0,arr:g=>Array.isArray(g),equ(g,A,{arrays:I="shallow",objects:C="reference",strict:B=!0}={}){if(typeof g!=typeof A||!!g!=!!A)return!1;if(tg.str(g)||tg.num(g)||tg.boo(g))return g===A;const i=tg.obj(g);if(i&&C==="reference")return g===A;const Q=tg.arr(g);if(Q&&I==="reference")return g===A;if((Q||i)&&g===A)return!0;let e;for(e in g)if(!(e in A))return!1;if(i&&I==="shallow"&&C==="shallow"){for(e in B?A:g)if(!tg.equ(g[e],A[e],{strict:B,objects:"reference"}))return!1}else for(e in B?A:g)if(g[e]!==A[e])return!1;if(tg.und(e)){if(Q&&g.length===0&&A.length===0||i&&Object.keys(g).length===0&&Object.keys(A).length===0)return!0;if(g!==A)return!1}return!0}};function o4(g){const A={nodes:{},materials:{}};return g&&g.traverse(I=>{I.name&&(A.nodes[I.name]=I),I.material&&!A.materials[I.material.name]&&(A.materials[I.material.name]=I.material)}),A}function n4(g){g.dispose&&g.type!=="Scene"&&g.dispose();for(const A in g)A.dispose==null||A.dispose(),delete g[A]}function $E(g,A){const I=g;return I.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...A},g}function wu(g,A){let I=g;if(A.includes("-")){const C=A.split("-"),B=C.pop();return I=C.reduce((i,Q)=>i[Q],g),{target:I,key:B}}else return{target:I,key:A}}const fN=/-\d+$/;function tG(g,A,I){if(tg.str(I)){if(fN.test(I)){const i=I.replace(fN,""),{target:Q,key:e}=wu(g,i);Array.isArray(Q[e])||(Q[e]=[])}const{target:C,key:B}=wu(g,I);A.__r3f.previousAttach=C[B],C[B]=A}else A.__r3f.previousAttach=I(g,A)}function qN(g,A,I){var C,B;if(tg.str(I)){const{target:i,key:Q}=wu(g,I),e=A.__r3f.previousAttach;e===void 0?delete i[Q]:i[Q]=e}else(C=A.__r3f)==null||C.previousAttach==null||C.previousAttach(g,A);(B=A.__r3f)==null||delete B.previousAttach}function uq(g,{children:A,key:I,ref:C,...B},{children:i,key:Q,ref:e,...t}={},E=!1){const s=g.__r3f,a=Object.entries(B),r=[];if(E){const h=Object.keys(t);for(let w=0;w{var S;if((S=g.__r3f)!=null&&S.primitive&&h==="object"||tg.equ(w,t[h]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(h))return r.push([h,w,!0,[]]);let c=[];h.includes("-")&&(c=h.split("-")),r.push([h,w,!1,c]);for(const G in B){const u=B[G];G.startsWith(`${h}-`)&&r.push([G,u,!1,G.split("-")])}});const l={...B};return s!=null&&s.memoizedProps&&s!=null&&s.memoizedProps.args&&(l.args=s.memoizedProps.args),s!=null&&s.memoizedProps&&s!=null&&s.memoizedProps.attach&&(l.attach=s.memoizedProps.attach),{memoized:l,changes:r}}const s4=typeof process<"u"&&!1;function EG(g,A){var I;const C=g.__r3f,B=C==null?void 0:C.root,i=B==null||B.getState==null?void 0:B.getState(),{memoized:Q,changes:e}=E4(A)?A:uq(g,A),t=C==null?void 0:C.eventCount;g.__r3f&&(g.__r3f.memoizedProps=Q);for(let s=0;sc[G],g),!(S&&S.set))){const[c,...G]=h.reverse();w=G.reverse().reduce((u,M)=>u[M],g),a=c}if(r===Gq+"remove")if(w.constructor){let c=JN.get(w.constructor);c||(c=new w.constructor,JN.set(w.constructor,c)),r=c[a]}else r=0;if(l&&C)r?C.handlers[a]=r:delete C.handlers[a],C.eventCount=Object.keys(C.handlers).length;else if(S&&S.set&&(S.copy||S instanceof ft)){if(Array.isArray(r))S.fromArray?S.fromArray(r):S.set(...r);else if(S.copy&&r&&r.constructor&&(s4?S.constructor.name===r.constructor.name:S.constructor===r.constructor))S.copy(r);else if(r!==void 0){const c=S instanceof KA;!c&&S.setScalar?S.setScalar(r):S instanceof ft&&r instanceof ft?S.mask=r.mask:S.set(r),!Dq()&&i&&!i.linear&&c&&S.convertSRGBToLinear()}}else if(w[a]=r,w[a]instanceof Ig&&w[a].format===oB&&w[a].type===Wi&&i){const c=w[a];eG(c)&&eG(i.gl)?c.colorSpace=i.gl.outputColorSpace:c.encoding=i.gl.outputEncoding}Ao(g)}if(C&&C.parent&&g.raycast&&t!==C.eventCount){const s=kc(g).getState().internal,a=s.interaction.indexOf(g);a>-1&&s.interaction.splice(a,1),C.eventCount&&s.interaction.push(g)}return!(e.length===1&&e[0][0]==="onUpdate")&&e.length&&(I=g.__r3f)!=null&&I.parent&&Gu(g),g}function Ao(g){var A,I;const C=(A=g.__r3f)==null||(I=A.root)==null||I.getState==null?void 0:I.getState();C&&C.internal.frames===0&&C.invalidate()}function Gu(g){g.onUpdate==null||g.onUpdate(g)}function kq(g,A){g.manual||(hq(g)?(g.left=A.width/-2,g.right=A.width/2,g.top=A.height/2,g.bottom=A.height/-2):g.aspect=A.width/A.height,g.updateProjectionMatrix(),g.updateMatrixWorld())}function Wl(g){return(g.eventObject||g.object).uuid+"/"+g.index+g.instanceId}function a4(){var g;const A=typeof self<"u"&&self||typeof window<"u"&&window;if(!A)return co.DefaultEventPriority;switch((g=A.event)==null?void 0:g.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return co.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return co.ContinuousEventPriority;default:return co.DefaultEventPriority}}function Mq(g,A,I,C){const B=I.get(A);B&&(I.delete(A),I.size===0&&(g.delete(C),B.target.releasePointerCapture(C)))}function r4(g,A){const{internal:I}=g.getState();I.interaction=I.interaction.filter(C=>C!==A),I.initialHits=I.initialHits.filter(C=>C!==A),I.hovered.forEach((C,B)=>{(C.eventObject===A||C.object===A)&&I.hovered.delete(B)}),I.capturedMap.forEach((C,B)=>{Mq(I.capturedMap,A,C,B)})}function l4(g){function A(t){const{internal:E}=g.getState(),s=t.offsetX-E.initialClick[0],a=t.offsetY-E.initialClick[1];return Math.round(Math.sqrt(s*s+a*a))}function I(t){return t.filter(E=>["Move","Over","Enter","Out","Leave"].some(s=>{var a;return(a=E.__r3f)==null?void 0:a.handlers["onPointer"+s]}))}function C(t,E){const s=g.getState(),a=new Set,r=[],l=E?E(s.internal.interaction):s.internal.interaction;for(let c=0;c{const u=Zn(c.object),M=Zn(G.object);return!u||!M?c.distance-G.distance:M.events.priority-u.events.priority||c.distance-G.distance}).filter(c=>{const G=Wl(c);return a.has(G)?!1:(a.add(G),!0)});s.events.filter&&(w=s.events.filter(w,s));for(const c of w){let G=c.object;for(;G;){var S;(S=G.__r3f)!=null&&S.eventCount&&r.push({...c,eventObject:G}),G=G.parent}}if("pointerId"in t&&s.internal.capturedMap.has(t.pointerId))for(let c of s.internal.capturedMap.get(t.pointerId).values())a.has(Wl(c.intersection))||r.push(c.intersection);return r}function B(t,E,s,a){const r=g.getState();if(t.length){const l={stopped:!1};for(const h of t){const w=Zn(h.object)||r,{raycaster:S,pointer:c,camera:G,internal:u}=w,M=new f(c.x,c.y,0).unproject(G),R=U=>{var L,O;return(L=(O=u.capturedMap.get(U))==null?void 0:O.has(h.eventObject))!=null?L:!1},N=U=>{const L={intersection:h,target:E.target};u.capturedMap.has(U)?u.capturedMap.get(U).set(h.eventObject,L):u.capturedMap.set(U,new Map([[h.eventObject,L]])),E.target.setPointerCapture(U)},F=U=>{const L=u.capturedMap.get(U);L&&Mq(u.capturedMap,h.eventObject,L,U)};let q={};for(let U in E){let L=E[U];typeof L!="function"&&(q[U]=L)}let K={...h,...q,pointer:c,intersections:t,stopped:l.stopped,delta:s,unprojectedPoint:M,ray:S.ray,camera:G,stopPropagation(){const U="pointerId"in E&&u.capturedMap.get(E.pointerId);if((!U||U.has(h.eventObject))&&(K.stopped=l.stopped=!0,u.hovered.size&&Array.from(u.hovered.values()).find(L=>L.eventObject===h.eventObject))){const L=t.slice(0,t.indexOf(h));i([...L,h])}},target:{hasPointerCapture:R,setPointerCapture:N,releasePointerCapture:F},currentTarget:{hasPointerCapture:R,setPointerCapture:N,releasePointerCapture:F},nativeEvent:E};if(a(K),l.stopped===!0)break}}return t}function i(t){const{internal:E}=g.getState();for(const s of E.hovered.values())if(!t.length||!t.find(a=>a.object===s.object&&a.index===s.index&&a.instanceId===s.instanceId)){const r=s.eventObject.__r3f,l=r==null?void 0:r.handlers;if(E.hovered.delete(Wl(s)),r!=null&&r.eventCount){const h={...s,intersections:t};l.onPointerOut==null||l.onPointerOut(h),l.onPointerLeave==null||l.onPointerLeave(h)}}}function Q(t,E){for(let s=0;si([]);case"onLostPointerCapture":return E=>{const{internal:s}=g.getState();"pointerId"in E&&s.capturedMap.has(E.pointerId)&&requestAnimationFrame(()=>{s.capturedMap.has(E.pointerId)&&(s.capturedMap.delete(E.pointerId),i([]))})}}return function(s){const{onPointerMissed:a,internal:r}=g.getState();r.lastEvent.current=s;const l=t==="onPointerMove",h=t==="onClick"||t==="onContextMenu"||t==="onDoubleClick",S=C(s,l?I:void 0),c=h?A(s):0;t==="onPointerDown"&&(r.initialClick=[s.offsetX,s.offsetY],r.initialHits=S.map(u=>u.eventObject)),h&&!S.length&&c<=2&&(Q(s,r.interaction),a&&a(s)),l&&i(S);function G(u){const M=u.eventObject,R=M.__r3f,N=R==null?void 0:R.handlers;if(R!=null&&R.eventCount)if(l){if(N.onPointerOver||N.onPointerEnter||N.onPointerOut||N.onPointerLeave){const F=Wl(u),q=r.hovered.get(F);q?q.stopped&&u.stopPropagation():(r.hovered.set(F,u),N.onPointerOver==null||N.onPointerOver(u),N.onPointerEnter==null||N.onPointerEnter(u))}N.onPointerMove==null||N.onPointerMove(u)}else{const F=N[t];F?(!h||r.initialHits.includes(M))&&(Q(s,r.interaction.filter(q=>!r.initialHits.includes(q))),F(u)):h&&r.initialHits.includes(M)&&Q(s,r.interaction.filter(q=>!r.initialHits.includes(q)))}}B(S,s,c,G)}}return{handlePointer:e}}const c4=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],dq=g=>!!(g!=null&&g.render),rh=x.createContext(null),D4=(g,A)=>{const I=eM((e,t)=>{const E=new f,s=new f,a=new f;function r(c=t().camera,G=s,u=t().size){const{width:M,height:R,top:N,left:F}=u,q=M/R;G instanceof f?a.copy(G):a.set(...G);const K=c.getWorldPosition(E).distanceTo(a);if(hq(c))return{width:M/c.zoom,height:R/c.zoom,top:N,left:F,factor:1,distance:K,aspect:q};{const U=c.fov*Math.PI/180,L=2*Math.tan(U/2)*K,O=L*(M/R);return{width:O,height:L,top:N,left:F,factor:M/O,distance:K,aspect:q}}}let l;const h=c=>e(G=>({performance:{...G.performance,current:c}})),w=new cA;return{set:e,get:t,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(c=1)=>g(t(),c),advance:(c,G)=>A(c,G,t()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new CM,pointer:w,mouse:w,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const c=t();l&&clearTimeout(l),c.performance.current!==c.performance.min&&h(c.performance.min),l=setTimeout(()=>h(t().performance.max),c.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:r},setEvents:c=>e(G=>({...G,events:{...G.events,...c}})),setSize:(c,G,u,M,R)=>{const N=t().camera,F={width:c,height:G,top:M||0,left:R||0,updateStyle:u};e(q=>({size:F,viewport:{...q.viewport,...r(N,s,F)}}))},setDpr:c=>e(G=>{const u=yq(c);return{viewport:{...G.viewport,dpr:u,initialDpr:G.viewport.initialDpr||u}}}),setFrameloop:(c="always")=>{const G=t().clock;G.stop(),G.elapsedTime=0,c!=="never"&&(G.start(),G.elapsedTime=0),e(()=>({frameloop:c}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:x.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(c,G,u)=>{const M=t().internal;return M.priority=M.priority+(G>0?1:0),M.subscribers.push({ref:c,priority:G,store:u}),M.subscribers=M.subscribers.sort((R,N)=>R.priority-N.priority),()=>{const R=t().internal;R!=null&&R.subscribers&&(R.priority=R.priority-(G>0?1:0),R.subscribers=R.subscribers.filter(N=>N.ref!==c))}}}}}),C=I.getState();let B=C.size,i=C.viewport.dpr,Q=C.camera;return I.subscribe(()=>{const{camera:e,size:t,viewport:E,gl:s,set:a}=I.getState();if(t.width!==B.width||t.height!==B.height||E.dpr!==i){var r;B=t,i=E.dpr,kq(e,t),s.setPixelRatio(E.dpr);const l=(r=t.updateStyle)!=null?r:typeof HTMLCanvasElement<"u"&&s.domElement instanceof HTMLCanvasElement;s.setSize(t.width,t.height,l)}e!==Q&&(Q=e,a(l=>({viewport:{...l.viewport,...l.viewport.getCurrentViewport(e)}})))}),I.subscribe(e=>g(e)),I};let Vl,h4=new Set,S4=new Set,w4=new Set;function oG(g,A){if(g.size)for(const{callback:I}of g.values())I(A)}function Wn(g,A){switch(g){case"before":return oG(h4,A);case"after":return oG(S4,A);case"tail":return oG(w4,A)}}let nG,sG;function aG(g,A,I){let C=A.clock.getDelta();for(A.frameloop==="never"&&typeof g=="number"&&(C=g-A.clock.elapsedTime,A.clock.oldTime=A.clock.elapsedTime,A.clock.elapsedTime=g),nG=A.internal.subscribers,Vl=0;Vl0)&&!((s=i.gl.xr)!=null&&s.isPresenting)&&(C+=aG(E,i))}if(I=!1,Wn("after",E),C===0)return Wn("tail",E),A=!1,cancelAnimationFrame(B)}function e(E,s=1){var a;if(!E)return g.forEach(r=>e(r.store.getState(),s));(a=E.gl.xr)!=null&&a.isPresenting||!E.internal.active||E.frameloop==="never"||(s>1?E.internal.frames=Math.min(60,E.internal.frames+s):I?E.internal.frames=2:E.internal.frames=1,A||(A=!0,requestAnimationFrame(Q)))}function t(E,s=!0,a,r){if(s&&Wn("before",E),a)aG(E,a,r);else for(const l of g.values())aG(E,l.store.getState());s&&Wn("after",E)}return{loop:Q,invalidate:e,advance:t}}function ma(){const g=x.useContext(rh);if(!g)throw new Error("R3F: Hooks can only be used within the Canvas component!");return g}function jC(g=I=>I,A){return ma()(g,A)}function DC(g,A=0){const I=ma(),C=I.getState().internal.subscribe,B=Sq(g);return qa(()=>C(B,A,I),[A,C,I]),null}const mN=new WeakMap;function pq(g,A){return function(I,...C){let B=mN.get(I);return B||(B=new I,mN.set(I,B)),g&&g(B),Promise.all(C.map(i=>new Promise((Q,e)=>B.load(i,t=>{t.scene&&Object.assign(t,o4(t.scene)),Q(t)},A,t=>e(new Error(`Could not load ${i}: ${t==null?void 0:t.message}`))))))}}function ve(g,A,I,C){const B=Array.isArray(A)?A:[A],i=ah(pq(I,C),[g,...B],{equal:tg.equ});return Array.isArray(A)?i:i[0]}ve.preload=function(g,A,I){const C=Array.isArray(A)?A:[A];return C4(pq(I),[g,...C])};ve.clear=function(g,A){const I=Array.isArray(A)?A:[A];return B4([g,...I])};const To=new Map,{invalidate:YN,advance:LN}=G4(To),{reconciler:xo,applyProps:ZE}=Q4(To,a4),WE={objects:"shallow",strict:!1},y4=(g,A)=>{const I=typeof g=="function"?g(A):g;return dq(I)?I:new uf({powerPreference:"high-performance",canvas:A,antialias:!0,alpha:!0,...g})};function u4(g,A){const I=typeof HTMLCanvasElement<"u"&&g instanceof HTMLCanvasElement;if(A){const{width:C,height:B,top:i,left:Q,updateStyle:e=I}=A;return{width:C,height:B,top:i,left:Q,updateStyle:e}}else if(typeof HTMLCanvasElement<"u"&&g instanceof HTMLCanvasElement&&g.parentElement){const{width:C,height:B,top:i,left:Q}=g.parentElement.getBoundingClientRect();return{width:C,height:B,top:i,left:Q,updateStyle:I}}else if(typeof OffscreenCanvas<"u"&&g instanceof OffscreenCanvas)return{width:g.width,height:g.height,top:0,left:0,updateStyle:I};return{width:0,height:0,top:0,left:0}}function k4(g){const A=To.get(g),I=A==null?void 0:A.fiber,C=A==null?void 0:A.store;A&&console.warn("R3F.createRoot should only be called once!");const B=typeof reportError=="function"?reportError:console.error,i=C||D4(YN,LN),Q=I||xo.createContainer(i,co.ConcurrentRoot,null,!1,null,"",B,null);A||To.set(g,{fiber:Q,store:i});let e,t=!1,E;return{configure(s={}){let{gl:a,size:r,scene:l,events:h,onCreated:w,shadows:S=!1,linear:c=!1,flat:G=!1,legacy:u=!1,orthographic:M=!1,frameloop:R="always",dpr:N=[1,2],performance:F,raycaster:q,camera:K,onPointerMissed:U}=s,L=i.getState(),O=L.gl;L.gl||L.set({gl:O=y4(a,g)});let b=L.raycaster;b||L.set({raycaster:b=new fa});const{params:eA,...tA}=q||{};if(tg.equ(tA,b,WE)||ZE(b,{...tA}),tg.equ(eA,b.params,WE)||ZE(b,{params:{...b.params,...eA}}),!L.camera||L.camera===E&&!tg.equ(E,K,WE)){E=K;const _=K instanceof ka,QA=_?K:M?new AE(0,0,0,0,.1,1e3):new _g(75,0,.1,1e3);_||(QA.position.z=5,K&&(ZE(QA,K),("aspect"in K||"left"in K||"right"in K||"bottom"in K||"top"in K)&&(QA.manual=!0,QA.updateProjectionMatrix())),!L.camera&&!(K!=null&&K.rotation)&&QA.lookAt(0,0,0)),L.set({camera:QA}),b.camera=QA}if(!L.scene){let _;l instanceof $c?_=l:(_=new $c,l&&ZE(_,l)),L.set({scene:$E(_)})}if(!L.xr){var rA;const _=(OA,CA)=>{const yA=i.getState();yA.frameloop!=="never"&&LN(OA,!0,yA,CA)},QA=()=>{const OA=i.getState();OA.gl.xr.enabled=OA.gl.xr.isPresenting,OA.gl.xr.setAnimationLoop(OA.gl.xr.isPresenting?_:null),OA.gl.xr.isPresenting||YN(OA)},pA={connect(){const OA=i.getState().gl;OA.xr.addEventListener("sessionstart",QA),OA.xr.addEventListener("sessionend",QA)},disconnect(){const OA=i.getState().gl;OA.xr.removeEventListener("sessionstart",QA),OA.xr.removeEventListener("sessionend",QA)}};typeof((rA=O.xr)==null?void 0:rA.addEventListener)=="function"&&pA.connect(),L.set({xr:pA})}if(O.shadowMap){const _=O.shadowMap.enabled,QA=O.shadowMap.type;if(O.shadowMap.enabled=!!S,tg.boo(S))O.shadowMap.type=us;else if(tg.str(S)){var kA;const pA={basic:IJ,percentage:YD,soft:us,variance:Di};O.shadowMap.type=(kA=pA[S])!=null?kA:us}else tg.obj(S)&&Object.assign(O.shadowMap,S);(_!==O.shadowMap.enabled||QA!==O.shadowMap.type)&&(O.shadowMap.needsUpdate=!0)}const Y=Dq();Y&&("enabled"in Y?Y.enabled=!u:"legacyMode"in Y&&(Y.legacyMode=u)),t||ZE(O,{outputEncoding:c?3e3:3001,toneMapping:G?Pi:uk}),L.legacy!==u&&L.set(()=>({legacy:u})),L.linear!==c&&L.set(()=>({linear:c})),L.flat!==G&&L.set(()=>({flat:G})),a&&!tg.fun(a)&&!dq(a)&&!tg.equ(a,O,WE)&&ZE(O,a),h&&!L.events.handlers&&L.set({events:h(i)});const V=u4(g,r);return tg.equ(V,L.size,WE)||L.setSize(V.width,V.height,V.updateStyle,V.top,V.left),N&&L.viewport.dpr!==yq(N)&&L.setDpr(N),L.frameloop!==R&&L.setFrameloop(R),L.onPointerMissed||L.set({onPointerMissed:U}),F&&!tg.equ(F,L.performance,WE)&&L.set(_=>({performance:{..._.performance,...F}})),e=w,t=!0,this},render(s){return t||this.configure(),xo.updateContainer($.jsx(M4,{store:i,children:s,onCreated:e,rootElement:g}),Q,null,()=>{}),i},unmount(){Uq(g)}}}function M4({store:g,children:A,onCreated:I,rootElement:C}){return qa(()=>{const B=g.getState();B.set(i=>({internal:{...i.internal,active:!0}})),I&&I(B),g.getState().events.connected||B.events.connect==null||B.events.connect(C)},[]),$.jsx(rh.Provider,{value:g,children:A})}function Uq(g,A){const I=To.get(g),C=I==null?void 0:I.fiber;if(C){const B=I==null?void 0:I.store.getState();B&&(B.internal.active=!1),xo.updateContainer(null,C,null,()=>{B&&setTimeout(()=>{try{var i,Q,e,t;B.events.disconnect==null||B.events.disconnect(),(i=B.gl)==null||(Q=i.renderLists)==null||Q.dispose==null||Q.dispose(),(e=B.gl)==null||e.forceContextLoss==null||e.forceContextLoss(),(t=B.gl)!=null&&t.xr&&B.xr.disconnect(),n4(B),To.delete(g)}catch{}},500)})}}function EM(g,A,I){return $.jsx(d4,{children:g,container:A,state:I},A.uuid)}function d4({state:g={},children:A,container:I}){const{events:C,size:B,...i}=g,Q=ma(),[e]=x.useState(()=>new fa),[t]=x.useState(()=>new cA),E=x.useCallback((a,r)=>{const l={...a};Object.keys(a).forEach(w=>{(c4.includes(w)||a[w]!==r[w]&&r[w])&&delete l[w]});let h;if(r&&B){const w=r.camera;h=a.viewport.getCurrentViewport(w,new f,B),w!==a.camera&&kq(w,B)}return{...l,scene:I,raycaster:e,pointer:t,mouse:t,previousRoot:Q,events:{...a.events,...r==null?void 0:r.events,...C},size:{...a.size,...B},viewport:{...a.viewport,...h},...i}},[g]),[s]=x.useState(()=>{const a=Q.getState();return eM((l,h)=>({...a,scene:I,raycaster:e,pointer:t,mouse:t,previousRoot:Q,events:{...a.events,...C},size:{...a.size,...B},...i,set:l,get:h,setEvents:w=>l(S=>({...S,events:{...S.events,...w}}))}))});return x.useEffect(()=>{const a=Q.subscribe(r=>s.setState(l=>E(r,l)));return()=>{a()}},[E]),x.useEffect(()=>{s.setState(a=>E(Q.getState(),a))},[E]),x.useEffect(()=>()=>{s.destroy()},[]),$.jsx($.Fragment,{children:xo.createPortal($.jsx(rh.Provider,{value:s,children:A}),s,null)})}xo.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:x.version});function yu(g,A,I){var C,B,i,Q,e;A==null&&(A=100);function t(){var s=Date.now()-Q;s=0?C=setTimeout(t,A-s):(C=null,I||(e=g.apply(i,B),i=B=null))}var E=function(){i=this,B=arguments,Q=Date.now();var s=I&&!C;return C||(C=setTimeout(t,A)),s&&(e=g.apply(i,B),i=B=null),e};return E.clear=function(){C&&(clearTimeout(C),C=null)},E.flush=function(){C&&(e=g.apply(i,B),i=B=null,clearTimeout(C),C=null)},E}yu.debounce=yu;var p4=yu;const HN=wD(p4);function U4(g){let{debounce:A,scroll:I,polyfill:C,offsetSize:B}=g===void 0?{debounce:0,scroll:!1,offsetSize:!1}:g;const i=C||(typeof window>"u"?class{}:window.ResizeObserver);if(!i)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[Q,e]=x.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),t=x.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:Q}),E=A?typeof A=="number"?A:A.scroll:null,s=A?typeof A=="number"?A:A.resize:null,a=x.useRef(!1);x.useEffect(()=>(a.current=!0,()=>void(a.current=!1)));const[r,l,h]=x.useMemo(()=>{const G=()=>{if(!t.current.element)return;const{left:u,top:M,width:R,height:N,bottom:F,right:q,x:K,y:U}=t.current.element.getBoundingClientRect(),L={left:u,top:M,width:R,height:N,bottom:F,right:q,x:K,y:U};t.current.element instanceof HTMLElement&&B&&(L.height=t.current.element.offsetHeight,L.width=t.current.element.offsetWidth),Object.freeze(L),a.current&&!K4(t.current.lastBounds,L)&&e(t.current.lastBounds=L)};return[G,s?HN(G,s):G,E?HN(G,E):G]},[e,B,E,s]);function w(){t.current.scrollContainers&&(t.current.scrollContainers.forEach(G=>G.removeEventListener("scroll",h,!0)),t.current.scrollContainers=null),t.current.resizeObserver&&(t.current.resizeObserver.disconnect(),t.current.resizeObserver=null)}function S(){t.current.element&&(t.current.resizeObserver=new i(h),t.current.resizeObserver.observe(t.current.element),I&&t.current.scrollContainers&&t.current.scrollContainers.forEach(G=>G.addEventListener("scroll",h,{capture:!0,passive:!0})))}const c=G=>{!G||G===t.current.element||(w(),t.current.element=G,t.current.scrollContainers=Nq(G),S())};return F4(h,!!I),N4(l),x.useEffect(()=>{w(),S()},[I,h,l]),x.useEffect(()=>w,[]),[c,Q,r]}function N4(g){x.useEffect(()=>{const A=g;return window.addEventListener("resize",A),()=>void window.removeEventListener("resize",A)},[g])}function F4(g,A){x.useEffect(()=>{if(A){const I=g;return window.addEventListener("scroll",I,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",I,!0)}},[g,A])}function Nq(g){const A=[];if(!g||g===document.body)return A;const{overflow:I,overflowX:C,overflowY:B}=window.getComputedStyle(g);return[I,C,B].some(i=>i==="auto"||i==="scroll")&&A.push(g),[...A,...Nq(g.parentElement)]}const R4=["x","y","top","bottom","left","right","width","height"],K4=(g,A)=>R4.every(I=>g[I]===A[I]);var J4=Object.defineProperty,f4=Object.defineProperties,q4=Object.getOwnPropertyDescriptors,TN=Object.getOwnPropertySymbols,m4=Object.prototype.hasOwnProperty,Y4=Object.prototype.propertyIsEnumerable,xN=(g,A,I)=>A in g?J4(g,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):g[A]=I,vN=(g,A)=>{for(var I in A||(A={}))m4.call(A,I)&&xN(g,I,A[I]);if(TN)for(var I of TN(A))Y4.call(A,I)&&xN(g,I,A[I]);return g},L4=(g,A)=>f4(g,q4(A)),bN,ON;typeof window<"u"&&((bN=window.document)!=null&&bN.createElement||((ON=window.navigator)==null?void 0:ON.product)==="ReactNative")?x.useLayoutEffect:x.useEffect;function Fq(g,A,I){if(!g)return;if(I(g)===!0)return g;let C=g.child;for(;C;){const B=Fq(C,A,I);if(B)return B;C=C.sibling}}function Rq(g){try{return Object.defineProperties(g,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return g}}const _N=console.error;console.error=function(){const g=[...arguments].join("");if(g!=null&&g.startsWith("Warning:")&&g.includes("useContext")){console.error=_N;return}return _N.apply(this,arguments)};const oM=Rq(x.createContext(null));class Kq extends x.Component{render(){return x.createElement(oM.Provider,{value:this._reactInternals},this.props.children)}}function H4(){const g=x.useContext(oM);if(g===null)throw new Error("its-fine: useFiber must be called within a !");const A=x.useId();return x.useMemo(()=>{for(const C of[g,g==null?void 0:g.alternate]){if(!C)continue;const B=Fq(C,!1,i=>{let Q=i.memoizedState;for(;Q;){if(Q.memoizedState===A)return!0;Q=Q.next}});if(B)return B}},[g,A])}function T4(){const g=H4(),[A]=x.useState(()=>new Map);A.clear();let I=g;for(;I;){if(I.type&&typeof I.type=="object"){const B=I.type._context===void 0&&I.type.Provider===I.type?I.type:I.type._context;B&&B!==oM&&!A.has(B)&&A.set(B,x.useContext(Rq(B)))}I=I.return}return A}function x4(){const g=T4();return x.useMemo(()=>Array.from(g.keys()).reduce((A,I)=>C=>x.createElement(A,null,x.createElement(I.Provider,L4(vN({},C),{value:g.get(I)}))),A=>x.createElement(Kq,vN({},A))),[g])}const rG={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 v4(g){const{handlePointer:A}=l4(g);return{priority:1,enabled:!0,compute(I,C,B){C.pointer.set(I.offsetX/C.size.width*2-1,-(I.offsetY/C.size.height)*2+1),C.raycaster.setFromCamera(C.pointer,C.camera)},connected:void 0,handlers:Object.keys(rG).reduce((I,C)=>({...I,[C]:A(C)}),{}),update:()=>{var I;const{events:C,internal:B}=g.getState();(I=B.lastEvent)!=null&&I.current&&C.handlers&&C.handlers.onPointerMove(B.lastEvent.current)},connect:I=>{var C;const{set:B,events:i}=g.getState();i.disconnect==null||i.disconnect(),B(Q=>({events:{...Q.events,connected:I}})),Object.entries((C=i.handlers)!=null?C:[]).forEach(([Q,e])=>{const[t,E]=rG[Q];I.addEventListener(t,e,{passive:E})})},disconnect:()=>{const{set:I,events:C}=g.getState();if(C.connected){var B;Object.entries((B=C.handlers)!=null?B:[]).forEach(([i,Q])=>{if(C&&C.connected instanceof HTMLElement){const[e]=rG[i];C.connected.removeEventListener(e,Q)}}),I(i=>({events:{...i.events,connected:void 0}}))}}}}const b4=x.forwardRef(function({children:A,fallback:I,resize:C,style:B,gl:i,events:Q=v4,eventSource:e,eventPrefix:t,shadows:E,linear:s,flat:a,legacy:r,orthographic:l,frameloop:h,dpr:w,performance:S,raycaster:c,camera:G,scene:u,onPointerMissed:M,onCreated:R,...N},F){x.useMemo(()=>i4(j3),[]);const q=x4(),[K,U]=U4({scroll:!0,debounce:{scroll:50,resize:0},...C}),L=x.useRef(null),O=x.useRef(null);x.useImperativeHandle(F,()=>L.current);const b=Sq(M),[eA,tA]=x.useState(!1),[rA,kA]=x.useState(!1);if(eA)throw eA;if(rA)throw rA;const Y=x.useRef(null);qa(()=>{const _=L.current;U.width>0&&U.height>0&&_&&(Y.current||(Y.current=k4(_)),Y.current.configure({gl:i,events:Q,shadows:E,linear:s,flat:a,legacy:r,orthographic:l,frameloop:h,dpr:w,performance:S,raycaster:c,camera:G,scene:u,size:U,onPointerMissed:(...QA)=>b.current==null?void 0:b.current(...QA),onCreated:QA=>{QA.events.connect==null||QA.events.connect(e?e4(e)?e.current:e:O.current),t&&QA.setEvents({compute:(pA,OA)=>{const CA=pA[t+"X"],yA=pA[t+"Y"];OA.pointer.set(CA/OA.size.width*2-1,-(yA/OA.size.height)*2+1),OA.raycaster.setFromCamera(OA.pointer,OA.camera)}}),R==null||R(QA)}}),Y.current.render($.jsx(q,{children:$.jsx(wq,{set:kA,children:$.jsx(x.Suspense,{fallback:$.jsx(t4,{set:tA}),children:A})})})))}),x.useEffect(()=>{const _=L.current;if(_)return()=>Uq(_)},[]);const V=e?"none":"auto";return $.jsx("div",{ref:O,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:V,...B},...N,children:$.jsx("div",{ref:K,style:{width:"100%",height:"100%"},children:$.jsx("canvas",{ref:L,style:{display:"block"},children:I})})})}),O4=x.forwardRef(function(A,I){return $.jsx(Kq,{children:$.jsx(b4,{...A,ref:I})})});function CD(){return CD=Object.assign?Object.assign.bind():function(g){for(var A=1;A(A,I,C)=>{const B=C.subscribe;return C.subscribe=(Q,e,t)=>{let E=Q;if(e){const s=(t==null?void 0:t.equalityFn)||Object.is;let a=Q(C.getState());E=r=>{const l=Q(r);if(!s(a,l)){const h=a;e(a=l,h)}},t!=null&&t.fireImmediately&&e(a,a)}return B(E)},g(A,I,C)},Jq=x.createContext(null);function P4({map:g,children:A,onChange:I,domElement:C}){const B=g.map(t=>t.name+t.keys).join("-"),i=x.useMemo(()=>eM(_4(()=>g.reduce((t,E)=>({...t,[E.name]:!1}),{}))),[B]),Q=x.useMemo(()=>[i.subscribe,i.getState,i],[B]),e=i.setState;return x.useEffect(()=>{const E=g.map(({name:l,keys:h,up:w})=>({keys:h,up:w,fn:S=>{e({[l]:S}),I&&I(l,S,Q[1]())}})).reduce((l,{keys:h,fn:w,up:S=!0})=>(h.forEach(c=>l[c]={fn:w,pressed:!1,up:S}),l),{}),s=({key:l,code:h})=>{const w=E[l]||E[h];if(!w)return;const{fn:S,pressed:c,up:G}=w;w.pressed=!0,(G||!c)&&S(!0)},a=({key:l,code:h})=>{const w=E[l]||E[h];if(!w)return;const{fn:S,up:c}=w;w.pressed=!1,c&&S(!1)},r=C||window;return r.addEventListener("keydown",s,{passive:!0}),r.addEventListener("keyup",a,{passive:!0}),()=>{r.removeEventListener("keydown",s),r.removeEventListener("keyup",a)}},[C,B]),x.createElement(Jq.Provider,{value:Q,children:A})}function Z4(g){const[A,I,C]=x.useContext(Jq);return[A,I]}function PN(g,A){if(A===Jk)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),g;if(A===bt||A===Ga){let I=g.getIndex();if(I===null){const Q=[],e=g.getAttribute("position");if(e!==void 0){for(let t=0;tA in g?W4(g,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):g[A]=I,qq=(g,A,I)=>(V4(g,typeof A!="symbol"?A+"":A,I),I);const Mc={uniforms:{turbidity:{value:2},rayleigh:{value:1},mieCoefficient:{value:.005},mieDirectionalG:{value:.8},sunPosition:{value:new f},up:{value:new f(0,1,0)}},vertexShader:` + uniform vec3 sunPosition; + uniform float rayleigh; + uniform float turbidity; + uniform float mieCoefficient; + uniform vec3 up; + + varying vec3 vWorldPosition; + varying vec3 vSunDirection; + varying float vSunfade; + varying vec3 vBetaR; + varying vec3 vBetaM; + varying float vSunE; + + // constants for atmospheric scattering + const float e = 2.71828182845904523536028747135266249775724709369995957; + const float pi = 3.141592653589793238462643383279502884197169; + + // wavelength of used primaries, according to preetham + const vec3 lambda = vec3( 680E-9, 550E-9, 450E-9 ); + // this pre-calcuation replaces older TotalRayleigh(vec3 lambda) function: + // (8.0 * pow(pi, 3.0) * pow(pow(n, 2.0) - 1.0, 2.0) * (6.0 + 3.0 * pn)) / (3.0 * N * pow(lambda, vec3(4.0)) * (6.0 - 7.0 * pn)) + const vec3 totalRayleigh = vec3( 5.804542996261093E-6, 1.3562911419845635E-5, 3.0265902468824876E-5 ); + + // mie stuff + // K coefficient for the primaries + const float v = 4.0; + const vec3 K = vec3( 0.686, 0.678, 0.666 ); + // MieConst = pi * pow( ( 2.0 * pi ) / lambda, vec3( v - 2.0 ) ) * K + const vec3 MieConst = vec3( 1.8399918514433978E14, 2.7798023919660528E14, 4.0790479543861094E14 ); + + // earth shadow hack + // cutoffAngle = pi / 1.95; + const float cutoffAngle = 1.6110731556870734; + const float steepness = 1.5; + const float EE = 1000.0; + + float sunIntensity( float zenithAngleCos ) { + zenithAngleCos = clamp( zenithAngleCos, -1.0, 1.0 ); + return EE * max( 0.0, 1.0 - pow( e, -( ( cutoffAngle - acos( zenithAngleCos ) ) / steepness ) ) ); + } + + vec3 totalMie( float T ) { + float c = ( 0.2 * T ) * 10E-18; + return 0.434 * c * MieConst; + } + + void main() { + + vec4 worldPosition = modelMatrix * vec4( position, 1.0 ); + vWorldPosition = worldPosition.xyz; + + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + gl_Position.z = gl_Position.w; // set z to camera.far + + vSunDirection = normalize( sunPosition ); + + vSunE = sunIntensity( dot( vSunDirection, up ) ); + + vSunfade = 1.0 - clamp( 1.0 - exp( ( sunPosition.y / 450000.0 ) ), 0.0, 1.0 ); + + float rayleighCoefficient = rayleigh - ( 1.0 * ( 1.0 - vSunfade ) ); + + // extinction (absorbtion + out scattering) + // rayleigh coefficients + vBetaR = totalRayleigh * rayleighCoefficient; + + // mie coefficients + vBetaM = totalMie( turbidity ) * mieCoefficient; + + } + `,fragmentShader:` + varying vec3 vWorldPosition; + varying vec3 vSunDirection; + varying float vSunfade; + varying vec3 vBetaR; + varying vec3 vBetaM; + varying float vSunE; + + uniform float mieDirectionalG; + uniform vec3 up; + + const vec3 cameraPos = vec3( 0.0, 0.0, 0.0 ); + + // constants for atmospheric scattering + const float pi = 3.141592653589793238462643383279502884197169; + + const float n = 1.0003; // refractive index of air + const float N = 2.545E25; // number of molecules per unit volume for air at 288.15K and 1013mb (sea level -45 celsius) + + // optical length at zenith for molecules + const float rayleighZenithLength = 8.4E3; + const float mieZenithLength = 1.25E3; + // 66 arc seconds -> degrees, and the cosine of that + const float sunAngularDiameterCos = 0.999956676946448443553574619906976478926848692873900859324; + + // 3.0 / ( 16.0 * pi ) + const float THREE_OVER_SIXTEENPI = 0.05968310365946075; + // 1.0 / ( 4.0 * pi ) + const float ONE_OVER_FOURPI = 0.07957747154594767; + + float rayleighPhase( float cosTheta ) { + return THREE_OVER_SIXTEENPI * ( 1.0 + pow( cosTheta, 2.0 ) ); + } + + float hgPhase( float cosTheta, float g ) { + float g2 = pow( g, 2.0 ); + float inverse = 1.0 / pow( 1.0 - 2.0 * g * cosTheta + g2, 1.5 ); + return ONE_OVER_FOURPI * ( ( 1.0 - g2 ) * inverse ); + } + + void main() { + + vec3 direction = normalize( vWorldPosition - cameraPos ); + + // optical length + // cutoff angle at 90 to avoid singularity in next formula. + float zenithAngle = acos( max( 0.0, dot( up, direction ) ) ); + float inverse = 1.0 / ( cos( zenithAngle ) + 0.15 * pow( 93.885 - ( ( zenithAngle * 180.0 ) / pi ), -1.253 ) ); + float sR = rayleighZenithLength * inverse; + float sM = mieZenithLength * inverse; + + // combined extinction factor + vec3 Fex = exp( -( vBetaR * sR + vBetaM * sM ) ); + + // in scattering + float cosTheta = dot( direction, vSunDirection ); + + float rPhase = rayleighPhase( cosTheta * 0.5 + 0.5 ); + vec3 betaRTheta = vBetaR * rPhase; + + float mPhase = hgPhase( cosTheta, mieDirectionalG ); + vec3 betaMTheta = vBetaM * mPhase; + + vec3 Lin = pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex ), vec3( 1.5 ) ); + Lin *= mix( vec3( 1.0 ), pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5.0 ), 0.0, 1.0 ) ); + + // nightsky + float theta = acos( direction.y ); // elevation --> y-axis, [-pi/2, pi/2] + float phi = atan( direction.z, direction.x ); // azimuth --> x-axis [-pi/2, pi/2] + vec2 uv = vec2( phi, theta ) / vec2( 2.0 * pi, pi ) + vec2( 0.5, 0.0 ); + vec3 L0 = vec3( 0.1 ) * Fex; + + // composition + solar disc + float sundisk = smoothstep( sunAngularDiameterCos, sunAngularDiameterCos + 0.00002, cosTheta ); + L0 += ( vSunE * 19000.0 * Fex ) * sundisk; + + vec3 texColor = ( Lin + L0 ) * 0.04 + vec3( 0.0, 0.0003, 0.00075 ); + + vec3 retColor = pow( texColor, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) ); + + gl_FragColor = vec4( retColor, 1.0 ); + + #include + #include <${fq>=154?"colorspace_fragment":"encodings_fragment"}> + + } + `},mq=new FB({name:"SkyShader",fragmentShader:Mc.fragmentShader,vertexShader:Mc.vertexShader,uniforms:Hk.clone(Mc.uniforms),side:TC,depthWrite:!1});let nM=class extends Qg{constructor(){super(new HQ(1,1,1),mq)}};qq(nM,"SkyShader",Mc);qq(nM,"material",mq);var j4=Object.defineProperty,X4=(g,A,I)=>A in g?j4(g,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):g[A]=I,$g=(g,A,I)=>(X4(g,typeof A!="symbol"?A+"":A,I),I);const VE=new lC(0,0,0,"YXZ"),jE=new f,z4={type:"change"},$4={type:"lock"},AP={type:"unlock"},ZN=Math.PI/2;let IP=class extends Xi{constructor(A,I){super(),$g(this,"camera"),$g(this,"domElement"),$g(this,"isLocked"),$g(this,"minPolarAngle"),$g(this,"maxPolarAngle"),$g(this,"pointerSpeed"),$g(this,"onMouseMove",C=>{if(!this.domElement||this.isLocked===!1)return;const B=C.movementX||C.mozMovementX||C.webkitMovementX||0,i=C.movementY||C.mozMovementY||C.webkitMovementY||0;VE.setFromQuaternion(this.camera.quaternion),VE.y-=B*.002*this.pointerSpeed,VE.x-=i*.002*this.pointerSpeed,VE.x=Math.max(ZN-this.maxPolarAngle,Math.min(ZN-this.minPolarAngle,VE.x)),this.camera.quaternion.setFromEuler(VE),this.dispatchEvent(z4)}),$g(this,"onPointerlockChange",()=>{this.domElement&&(this.domElement.ownerDocument.pointerLockElement===this.domElement?(this.dispatchEvent($4),this.isLocked=!0):(this.dispatchEvent(AP),this.isLocked=!1))}),$g(this,"onPointerlockError",()=>{console.error("THREE.PointerLockControls: Unable to use Pointer Lock API")}),$g(this,"connect",C=>{this.domElement=C||this.domElement,this.domElement&&(this.domElement.ownerDocument.addEventListener("mousemove",this.onMouseMove),this.domElement.ownerDocument.addEventListener("pointerlockchange",this.onPointerlockChange),this.domElement.ownerDocument.addEventListener("pointerlockerror",this.onPointerlockError))}),$g(this,"disconnect",()=>{this.domElement&&(this.domElement.ownerDocument.removeEventListener("mousemove",this.onMouseMove),this.domElement.ownerDocument.removeEventListener("pointerlockchange",this.onPointerlockChange),this.domElement.ownerDocument.removeEventListener("pointerlockerror",this.onPointerlockError))}),$g(this,"dispose",()=>{this.disconnect()}),$g(this,"getObject",()=>this.camera),$g(this,"direction",new f(0,0,-1)),$g(this,"getDirection",C=>C.copy(this.direction).applyQuaternion(this.camera.quaternion)),$g(this,"moveForward",C=>{jE.setFromMatrixColumn(this.camera.matrix,0),jE.crossVectors(this.camera.up,jE),this.camera.position.addScaledVector(jE,C)}),$g(this,"moveRight",C=>{jE.setFromMatrixColumn(this.camera.matrix,0),this.camera.position.addScaledVector(jE,C)}),$g(this,"lock",()=>{this.domElement&&this.domElement.requestPointerLock()}),$g(this,"unlock",()=>{this.domElement&&this.domElement.ownerDocument.exitPointerLock()}),this.camera=A,this.domElement=I,this.isLocked=!1,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.pointerSpeed=1,I&&this.connect(I)}};function BD(g){if(typeof TextDecoder<"u")return new TextDecoder().decode(g);let A="";for(let I=0,C=g.length;I=2.0 are supported."));return}const t=new qP(i,{path:I||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});t.fileLoader.setRequestHeader(this.requestHeader);for(let E=0;E=0&&e[s]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+s+'".')}}t.setExtensions(Q),t.setPlugins(e),t.parse(C,B)}parseAsync(A,I){const C=this;return new Promise(function(B,i){C.parse(A,I,B,i)})}};function CP(){let g={};return{get:function(A){return g[A]},add:function(A,I){g[A]=I},remove:function(A){delete g[A]},removeAll:function(){g={}}}}const mI={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};let BP=class{constructor(A){this.parser=A,this.name=mI.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const A=this.parser,I=this.parser.json.nodes||[];for(let C=0,B=I.length;C=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return I.loadTextureImage(A,i.source,Q)}},hP=class{constructor(A){this.parser=A,this.name=mI.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(A){const I=this.name,C=this.parser,B=C.json,i=B.textures[A];if(!i.extensions||!i.extensions[I])return null;const Q=i.extensions[I],e=B.images[Q.source];let t=C.textureLoader;if(e.uri){const E=C.options.manager.getHandler(e.uri);E!==null&&(t=E)}return this.detectSupport().then(function(E){if(E)return C.loadTextureImage(A,Q.source,t);if(B.extensionsRequired&&B.extensionsRequired.indexOf(I)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return C.loadTexture(A)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(A){const I=new Image;I.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",I.onload=I.onerror=function(){A(I.height===1)}})),this.isSupported}},SP=class{constructor(A){this.parser=A,this.name=mI.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(A){const I=this.name,C=this.parser,B=C.json,i=B.textures[A];if(!i.extensions||!i.extensions[I])return null;const Q=i.extensions[I],e=B.images[Q.source];let t=C.textureLoader;if(e.uri){const E=C.options.manager.getHandler(e.uri);E!==null&&(t=E)}return this.detectSupport().then(function(E){if(E)return C.loadTextureImage(A,Q.source,t);if(B.extensionsRequired&&B.extensionsRequired.indexOf(I)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return C.loadTexture(A)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(A){const I=new Image;I.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",I.onload=I.onerror=function(){A(I.height===1)}})),this.isSupported}},wP=class{constructor(A){this.name=mI.EXT_MESHOPT_COMPRESSION,this.parser=A}loadBufferView(A){const I=this.parser.json,C=I.bufferViews[A];if(C.extensions&&C.extensions[this.name]){const B=C.extensions[this.name],i=this.parser.getDependency("buffer",B.buffer),Q=this.parser.options.meshoptDecoder;if(!Q||!Q.supported){if(I.extensionsRequired&&I.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return i.then(function(e){const t=B.byteOffset||0,E=B.byteLength||0,s=B.count,a=B.byteStride,r=new Uint8Array(e,t,E);return Q.decodeGltfBufferAsync?Q.decodeGltfBufferAsync(s,a,r,B.mode,B.filter).then(function(l){return l.buffer}):Q.ready.then(function(){const l=new ArrayBuffer(s*a);return Q.decodeGltfBuffer(new Uint8Array(l),s,a,r,B.mode,B.filter),l})})}else return null}},GP=class{constructor(A){this.name=mI.EXT_MESH_GPU_INSTANCING,this.parser=A}createNodeMesh(A){const I=this.parser.json,C=I.nodes[A];if(!C.extensions||!C.extensions[this.name]||C.mesh===void 0)return null;const B=I.meshes[C.mesh];for(const E of B.primitives)if(E.mode!==_B.TRIANGLES&&E.mode!==_B.TRIANGLE_STRIP&&E.mode!==_B.TRIANGLE_FAN&&E.mode!==void 0)return null;const Q=C.extensions[this.name].attributes,e=[],t={};for(const E in Q)e.push(this.parser.getDependency("accessor",Q[E]).then(s=>(t[E]=s,t[E])));return e.length<1?null:(e.push(this.parser.createNodeMesh(A)),Promise.all(e).then(E=>{const s=E.pop(),a=s.isGroup?s.children:[s],r=E[0].count,l=[];for(const h of a){const w=new _A,S=new f,c=new gg,G=new f(1,1,1),u=new Ua(h.geometry,h.material,r);for(let M=0;M=152?{TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3"}:{TEXCOORD_0:"uv",TEXCOORD_1:"uv2"},COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},ie={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},UP={CUBICSPLINE:void 0,LINEAR:FQ,STEP:vt},cG={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function NP(g){return g.DefaultMaterial===void 0&&(g.DefaultMaterial=new IE({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:pi})),g.DefaultMaterial}function nt(g,A,I){for(const C in I.extensions)g[C]===void 0&&(A.userData.gltfExtensions=A.userData.gltfExtensions||{},A.userData.gltfExtensions[C]=I.extensions[C])}function rQ(g,A){A.extras!==void 0&&(typeof A.extras=="object"?Object.assign(g.userData,A.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+A.extras))}function FP(g,A,I){let C=!1,B=!1,i=!1;for(let E=0,s=A.length;E0||g.search(/^data\:image\/jpeg/)===0?"image/jpeg":g.search(/\.webp($|\?)/i)>0||g.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const fP=new _A;let qP=class{constructor(A={},I={}){this.json=A,this.extensions={},this.plugins={},this.options=I,this.cache=new CP,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let C=!1,B=!1,i=-1;typeof navigator<"u"&&typeof navigator.userAgent<"u"&&(C=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,B=navigator.userAgent.indexOf("Firefox")>-1,i=B?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||C||B&&i<98?this.textureLoader=new gn(this.options.manager):this.textureLoader=new IM(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new $C(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(A){this.extensions=A}setPlugins(A){this.plugins=A}parse(A,I){const C=this,B=this.json,i=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(Q){return Q._markDefs&&Q._markDefs()}),Promise.all(this._invokeAll(function(Q){return Q.beforeRoot&&Q.beforeRoot()})).then(function(){return Promise.all([C.getDependencies("scene"),C.getDependencies("animation"),C.getDependencies("camera")])}).then(function(Q){const e={scene:Q[0][B.scene||0],scenes:Q[0],animations:Q[1],cameras:Q[2],asset:B.asset,parser:C,userData:{}};return nt(i,e,B),rQ(e,B),Promise.all(C._invokeAll(function(t){return t.afterRoot&&t.afterRoot(e)})).then(function(){for(const t of e.scenes)t.updateMatrixWorld();A(e)})}).catch(I)}_markDefs(){const A=this.json.nodes||[],I=this.json.skins||[],C=this.json.meshes||[];for(let B=0,i=I.length;B{const t=this.associations.get(Q);t!=null&&this.associations.set(e,t);for(const[E,s]of Q.children.entries())i(s,e.children[E])};return i(C,B),B.name+="_instance_"+A.uses[I]++,B}_invokeOne(A){const I=Object.values(this.plugins);I.push(this);for(let C=0;C=2&&S.setY(K,N[F*t+1]),t>=3&&S.setZ(K,N[F*t+2]),t>=4&&S.setW(K,N[F*t+3]),t>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return S})}loadTexture(A){const I=this.json,C=this.options,i=I.textures[A].source,Q=I.images[i];let e=this.textureLoader;if(Q.uri){const t=C.manager.getHandler(Q.uri);t!==null&&(e=t)}return this.loadTextureImage(A,i,e)}loadTextureImage(A,I,C){const B=this,i=this.json,Q=i.textures[A],e=i.images[I],t=(e.uri||e.bufferView)+":"+Q.sampler;if(this.textureCache[t])return this.textureCache[t];const E=this.loadImageSource(I,C).then(function(s){s.flipY=!1,s.name=Q.name||e.name||"",s.name===""&&typeof e.uri=="string"&&e.uri.startsWith("data:image/")===!1&&(s.name=e.uri);const r=(i.samplers||{})[Q.sampler]||{};return s.magFilter=jN[r.magFilter]||hg,s.minFilter=jN[r.minFilter]||EB,s.wrapS=XN[r.wrapS]||Bi,s.wrapT=XN[r.wrapT]||Bi,B.associations.set(s,{textures:A}),s}).catch(function(){return null});return this.textureCache[t]=E,E}loadImageSource(A,I){const C=this,B=this.json,i=this.options;if(this.sourceCache[A]!==void 0)return this.sourceCache[A].then(a=>a.clone());const Q=B.images[A],e=self.URL||self.webkitURL;let t=Q.uri||"",E=!1;if(Q.bufferView!==void 0)t=C.getDependency("bufferView",Q.bufferView).then(function(a){E=!0;const r=new Blob([a],{type:Q.mimeType});return t=e.createObjectURL(r),t});else if(Q.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+A+" is missing URI and bufferView");const s=Promise.resolve(t).then(function(a){return new Promise(function(r,l){let h=r;I.isImageBitmapLoader===!0&&(h=function(w){const S=new Ig(w);S.needsUpdate=!0,r(S)}),I.load(UB.resolveURL(a,i.path),h,void 0,l)})}).then(function(a){return E===!0&&e.revokeObjectURL(t),rQ(a,Q),a.userData.mimeType=Q.mimeType||JP(Q.uri),a}).catch(function(a){throw console.error("THREE.GLTFLoader: Couldn't load texture",t),a});return this.sourceCache[A]=s,s}assignTexture(A,I,C,B){const i=this;return this.getDependency("texture",C.index).then(function(Q){if(!Q)return null;if(C.texCoord!==void 0&&C.texCoord>0&&(Q=Q.clone(),Q.channel=C.texCoord),i.extensions[mI.KHR_TEXTURE_TRANSFORM]){const e=C.extensions!==void 0?C.extensions[mI.KHR_TEXTURE_TRANSFORM]:void 0;if(e){const t=i.associations.get(Q);Q=i.extensions[mI.KHR_TEXTURE_TRANSFORM].extendTexture(Q,e),i.associations.set(Q,t)}}return B!==void 0&&(typeof B=="number"&&(B=B===WN?pt:kQ),"colorSpace"in Q?Q.colorSpace=B:Q.encoding=B===pt?WN:gP),A[I]=Q,Q})}assignFinalMaterial(A){const I=A.geometry;let C=A.material;const B=I.attributes.tangent===void 0,i=I.attributes.color!==void 0,Q=I.attributes.normal===void 0;if(A.isPoints){const e="PointsMaterial:"+C.uuid;let t=this.cache.get(e);t||(t=new Na,ag.prototype.copy.call(t,C),t.color.copy(C.color),t.map=C.map,t.sizeAttenuation=!1,this.cache.add(e,t)),C=t}else if(A.isLine){const e="LineBasicMaterial:"+C.uuid;let t=this.cache.get(e);t||(t=new pC,ag.prototype.copy.call(t,C),t.color.copy(C.color),t.map=C.map,this.cache.add(e,t)),C=t}if(B||i||Q){let e="ClonedMaterial:"+C.uuid+":";B&&(e+="derivative-tangents:"),i&&(e+="vertex-colors:"),Q&&(e+="flat-shading:");let t=this.cache.get(e);t||(t=C.clone(),i&&(t.vertexColors=!0),Q&&(t.flatShading=!0),B&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(e,t),this.associations.set(t,this.associations.get(C))),C=t}A.material=C}getMaterialType(){return IE}loadMaterial(A){const I=this,C=this.json,B=this.extensions,i=C.materials[A];let Q;const e={},t=i.extensions||{},E=[];if(t[mI.KHR_MATERIALS_UNLIT]){const a=B[mI.KHR_MATERIALS_UNLIT];Q=a.getMaterialType(),E.push(a.extendParams(e,i,I))}else{const a=i.pbrMetallicRoughness||{};if(e.color=new KA(1,1,1),e.opacity=1,Array.isArray(a.baseColorFactor)){const r=a.baseColorFactor;e.color.setRGB(r[0],r[1],r[2],kQ),e.opacity=r[3]}a.baseColorTexture!==void 0&&E.push(I.assignTexture(e,"map",a.baseColorTexture,pt)),e.metalness=a.metallicFactor!==void 0?a.metallicFactor:1,e.roughness=a.roughnessFactor!==void 0?a.roughnessFactor:1,a.metallicRoughnessTexture!==void 0&&(E.push(I.assignTexture(e,"metalnessMap",a.metallicRoughnessTexture)),E.push(I.assignTexture(e,"roughnessMap",a.metallicRoughnessTexture))),Q=this._invokeOne(function(r){return r.getMaterialType&&r.getMaterialType(A)}),E.push(Promise.all(this._invokeAll(function(r){return r.extendMaterialParams&&r.extendMaterialParams(A,e)})))}i.doubleSided===!0&&(e.side=XB);const s=i.alphaMode||cG.OPAQUE;if(s===cG.BLEND?(e.transparent=!0,e.depthWrite=!1):(e.transparent=!1,s===cG.MASK&&(e.alphaTest=i.alphaCutoff!==void 0?i.alphaCutoff:.5)),i.normalTexture!==void 0&&Q!==Wg&&(E.push(I.assignTexture(e,"normalMap",i.normalTexture)),e.normalScale=new cA(1,1),i.normalTexture.scale!==void 0)){const a=i.normalTexture.scale;e.normalScale.set(a,a)}if(i.occlusionTexture!==void 0&&Q!==Wg&&(E.push(I.assignTexture(e,"aoMap",i.occlusionTexture)),i.occlusionTexture.strength!==void 0&&(e.aoMapIntensity=i.occlusionTexture.strength)),i.emissiveFactor!==void 0&&Q!==Wg){const a=i.emissiveFactor;e.emissive=new KA().setRGB(a[0],a[1],a[2],kQ)}return i.emissiveTexture!==void 0&&Q!==Wg&&E.push(I.assignTexture(e,"emissiveMap",i.emissiveTexture,pt)),Promise.all(E).then(function(){const a=new Q(e);return i.name&&(a.name=i.name),rQ(a,i),I.associations.set(a,{materials:A}),i.extensions&&nt(B,a,i),a})}createUniqueName(A){const I=HI.sanitizeNodeName(A||"");return I in this.nodeNamesUsed?I+"_"+ ++this.nodeNamesUsed[I]:(this.nodeNamesUsed[I]=0,I)}loadGeometries(A){const I=this,C=this.extensions,B=this.primitiveCache;function i(e){return C[mI.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,I).then(function(t){return zN(t,e,I)})}const Q=[];for(let e=0,t=A.length;e0&&RP(c,i),c.name=I.createUniqueName(i.name||"mesh_"+A),rQ(c,i),S.extensions&&nt(B,c,S),I.assignFinalMaterial(c),a.push(c)}for(let l=0,h=a.length;l1?s=new Ai:E.length===1?s=E[0]:s=new RI,s!==E[0])for(let a=0,r=E.length;a{const a=new Map;for(const[r,l]of B.associations)(r instanceof ag||r instanceof Ig)&&a.set(r,l);return s.traverse(r=>{const l=B.associations.get(r);l!=null&&a.set(r,l)}),a};return B.associations=E(i),i})}_createAnimationTracks(A,I,C,B,i){const Q=[],e=A.name?A.name:A.uuid,t=[];ie[i.path]===ie.weights?A.traverse(function(r){r.morphTargetInfluences&&t.push(r.name?r.name:r.uuid)}):t.push(e);let E;switch(ie[i.path]){case ie.weights:E=KQ;break;case ie.rotation:E=ji;break;case ie.position:case ie.scale:E=JQ;break;default:switch(C.itemSize){case 1:E=KQ;break;case 2:case 3:default:E=JQ;break}break}const s=B.interpolation!==void 0?UP[B.interpolation]:FQ,a=this._getArrayFromAccessor(C);for(let r=0,l=t.length;r{const e={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(Q,e).then(I).catch(B)},C,B)}decodeDracoFile(A,I,C,B){const i={attributeIDs:C||this.defaultAttributeIDs,attributeTypes:B||this.defaultAttributeTypes,useUniqueIDs:!!C};this.decodeGeometry(A,i).then(I)}decodeGeometry(A,I){for(const t in I.attributeTypes){const E=I.attributeTypes[t];E.BYTES_PER_ELEMENT!==void 0&&(I.attributeTypes[t]=E.name)}const C=JSON.stringify(I);if(hG.has(A)){const t=hG.get(A);if(t.key===C)return t.promise;if(A.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let B;const i=this.workerNextTaskID++,Q=A.byteLength,e=this._getWorker(i,Q).then(t=>(B=t,new Promise((E,s)=>{B._callbacks[i]={resolve:E,reject:s},B.postMessage({type:"decode",id:i,taskConfig:I,buffer:A},[A])}))).then(t=>this._createGeometry(t.geometry));return e.catch(()=>!0).then(()=>{B&&i&&this._releaseTask(B,i)}),hG.set(A,{key:C,promise:e}),e}_createGeometry(A){const I=new lI;A.index&&I.setIndex(new oI(A.index.array,1));for(let C=0;C{C.load(A,B,void 0,i)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const A=typeof WebAssembly!="object"||this.decoderConfig.type==="js",I=[];return A?I.push(this._loadLibrary("draco_decoder.js","text")):(I.push(this._loadLibrary("draco_wasm_wrapper.js","text")),I.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(I).then(C=>{const B=C[0];A||(this.decoderConfig.wasmBinary=C[1]);const i=LP.toString(),Q=["/* draco decoder */",B,"","/* worker */",i.substring(i.indexOf("{")+1,i.lastIndexOf("}"))].join(` +`);this.workerSourceURL=URL.createObjectURL(new Blob([Q]))}),this.decoderPending}_getWorker(A,I){return this._initDecoder().then(()=>{if(this.workerPool.lengthi._taskLoad?-1:1});const C=this.workerPool[this.workerPool.length-1];return C._taskCosts[A]=I,C._taskLoad+=I,C})}_releaseTask(A,I){A._taskLoad-=A._taskCosts[I],delete A._callbacks[I],delete A._taskCosts[I]}debug(){console.log("Task load: ",this.workerPool.map(A=>A._taskLoad))}dispose(){for(let A=0;A{const a=s.draco,r=new a.Decoder,l=new a.DecoderBuffer;l.Init(new Int8Array(t),t.byteLength);try{const h=I(a,r,l,E),w=h.attributes.map(S=>S.array.buffer);h.index&&w.push(h.index.array.buffer),self.postMessage({type:"decode",id:e.id,geometry:h},w)}catch(h){console.error(h),self.postMessage({type:"error",id:e.id,error:h.message})}finally{a.destroy(l),a.destroy(r)}});break}};function I(Q,e,t,E){const s=E.attributeIDs,a=E.attributeTypes;let r,l;const h=e.GetEncodedGeometryType(t);if(h===Q.TRIANGULAR_MESH)r=new Q.Mesh,l=e.DecodeBufferToMesh(t,r);else if(h===Q.POINT_CLOUD)r=new Q.PointCloud,l=e.DecodeBufferToPointCloud(t,r);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!l.ok()||r.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+l.error_msg());const w={index:null,attributes:[]};for(const S in s){const c=self[a[S]];let G,u;if(E.useUniqueIDs)u=s[S],G=e.GetAttributeByUniqueId(r,u);else{if(u=e.GetAttributeId(r,Q[s[S]]),u===-1)continue;G=e.GetAttribute(r,u)}w.attributes.push(B(Q,e,r,S,c,G))}return h===Q.TRIANGULAR_MESH&&(w.index=C(Q,e,r)),Q.destroy(r),w}function C(Q,e,t){const s=t.num_faces()*3,a=s*4,r=Q._malloc(a);e.GetTrianglesUInt32Array(t,a,r);const l=new Uint32Array(Q.HEAPF32.buffer,r,s).slice();return Q._free(r),{array:l,itemSize:1}}function B(Q,e,t,E,s,a){const r=a.num_components(),h=t.num_points()*r,w=h*s.BYTES_PER_ELEMENT,S=i(Q,s),c=Q._malloc(w);e.GetAttributeDataArrayForAllPoints(t,a,S,w,c);const G=new s(Q.HEAPF32.buffer,c,h).slice();return Q._free(c),{name:E,array:G,itemSize:r}}function i(Q,e){switch(e){case Float32Array:return Q.DT_FLOAT32;case Int8Array:return Q.DT_INT8;case Int16Array:return Q.DT_INT16;case Int32Array:return Q.DT_INT32;case Uint8Array:return Q.DT_UINT8;case Uint16Array:return Q.DT_UINT16;case Uint32Array:return Q.DT_UINT32}}}let jl;const SG=()=>{if(jl)return jl;const g="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",A="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",I=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),C=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]);if(typeof WebAssembly!="object")return{supported:!1};let B=g;WebAssembly.validate(I)&&(B=A);let i;const Q=WebAssembly.instantiate(e(B),{}).then(a=>{i=a.instance,i.exports.__wasm_call_ctors()});function e(a){const r=new Uint8Array(a.length);for(let h=0;h96?w-71:w>64?w-65:w>47?w+4:w>46?63:62}let l=0;for(let h=0;hg===Object(g)&&!Array.isArray(g)&&typeof g!="function";function lh(g,A){const I=jC(i=>i.gl),C=ve(gn,wG(g)?Object.values(g):g);return x.useLayoutEffect(()=>{A==null||A(C)},[A]),x.useEffect(()=>{if("initTexture"in I){let i=[];Array.isArray(C)?i=C:C instanceof Ig?i=[C]:wG(C)&&(i=Object.values(C)),i.forEach(Q=>{Q instanceof Ig&&I.initTexture(Q)})}},[I,C]),x.useMemo(()=>{if(wG(g)){const i={};let Q=0;for(const e in g)i[e]=C[Q++];return i}else return C},[g,C])}lh.preload=g=>ve.preload(gn,g);lh.clear=g=>ve.clear(gn,g);var HP=Object.defineProperty,TP=(g,A,I)=>A in g?HP(g,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):g[A]=I,WI=(g,A,I)=>(TP(g,typeof A!="symbol"?A+"":A,I),I);function GG(g,A,I,C,B){let i;if(g=g.subarray||g.slice?g:g.buffer,I=I.subarray||I.slice?I:I.buffer,g=A?g.subarray?g.subarray(A,B&&A+B):g.slice(A,B&&A+B):g,I.set)I.set(g,C);else for(i=0;i{const I=Array.isArray(A);return A instanceof f?[A.x,A.y,A.z]:A instanceof cA?[A.x,A.y,0]:I&&A.length===3?[A[0],A[1],A[2]]:I&&A.length===2?[A[0],A[1],0]:A}).flat()}class vP extends lI{constructor(){super(),WI(this,"type","MeshLine"),WI(this,"isMeshLine",!0),WI(this,"positions",[]),WI(this,"previous",[]),WI(this,"next",[]),WI(this,"side",[]),WI(this,"width",[]),WI(this,"indices_array",[]),WI(this,"uvs",[]),WI(this,"counters",[]),WI(this,"widthCallback",null),WI(this,"_attributes"),WI(this,"_points",[]),WI(this,"points"),WI(this,"matrixWorld",new _A),Object.defineProperties(this,{points:{enumerable:!0,get(){return this._points},set(A){this.setPoints(A,this.widthCallback)}}})}setMatrixWorld(A){this.matrixWorld=A}setPoints(A,I){if(A=xP(A),this._points=A,this.widthCallback=I??null,this.positions=[],this.counters=[],A.length&&A[0]instanceof f)for(let C=0;C0&&(C=this.copyV3(B),this.next.push(C[0],C[1],C[2]),this.next.push(C[0],C[1],C[2]))}this.compareV3(A-1,0)?C=this.copyV3(1):C=this.copyV3(A-1),this.next.push(C[0],C[1],C[2]),this.next.push(C[0],C[1],C[2]),!this._attributes||this._attributes.position.count!==this.counters.length?this._attributes={position:new oI(new Float32Array(this.positions),3),previous:new oI(new Float32Array(this.previous),3),next:new oI(new Float32Array(this.next),3),side:new oI(new Float32Array(this.side),1),width:new oI(new Float32Array(this.width),1),uv:new oI(new Float32Array(this.uvs),2),index:new oI(new Uint16Array(this.indices_array),1),counters:new oI(new Float32Array(this.counters),1)}:(this._attributes.position.copyArray(new Float32Array(this.positions)),this._attributes.position.needsUpdate=!0,this._attributes.previous.copyArray(new Float32Array(this.previous)),this._attributes.previous.needsUpdate=!0,this._attributes.next.copyArray(new Float32Array(this.next)),this._attributes.next.needsUpdate=!0,this._attributes.side.copyArray(new Float32Array(this.side)),this._attributes.side.needsUpdate=!0,this._attributes.width.copyArray(new Float32Array(this.width)),this._attributes.width.needsUpdate=!0,this._attributes.uv.copyArray(new Float32Array(this.uvs)),this._attributes.uv.needsUpdate=!0,this._attributes.index.copyArray(new Uint16Array(this.indices_array)),this._attributes.index.needsUpdate=!0),this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setIndex(this._attributes.index),this.computeBoundingSphere(),this.computeBoundingBox()}advance({x:A,y:I,z:C}){const B=this._attributes.position.array,i=this._attributes.previous.array,Q=this._attributes.next.array,e=B.length;GG(B,0,i,0,e),GG(B,6,B,0,e-6),B[e-6]=A,B[e-5]=I,B[e-4]=C,B[e-3]=A,B[e-2]=I,B[e-1]=C,GG(B,6,Q,0,e-6),Q[e-6]=A,Q[e-5]=I,Q[e-4]=C,Q[e-3]=A,Q[e-2]=I,Q[e-1]=C,this._attributes.position.needsUpdate=!0,this._attributes.previous.needsUpdate=!0,this._attributes.next.needsUpdate=!0}}const bP=` + #include + #include + #include + #include + + attribute vec3 previous; + attribute vec3 next; + attribute float side; + attribute float width; + attribute float counters; + + uniform vec2 resolution; + uniform float lineWidth; + uniform vec3 color; + uniform float opacity; + uniform float sizeAttenuation; + + varying vec2 vUV; + varying vec4 vColor; + varying float vCounters; + + vec2 fix(vec4 i, float aspect) { + vec2 res = i.xy / i.w; + res.x *= aspect; + return res; + } + + void main() { + float aspect = resolution.x / resolution.y; + vColor = vec4(color, opacity); + vUV = uv; + vCounters = counters; + + mat4 m = projectionMatrix * modelViewMatrix; + vec4 finalPosition = m * vec4(position, 1.0) * aspect; + vec4 prevPos = m * vec4(previous, 1.0); + vec4 nextPos = m * vec4(next, 1.0); + + vec2 currentP = fix(finalPosition, aspect); + vec2 prevP = fix(prevPos, aspect); + vec2 nextP = fix(nextPos, aspect); + + float w = lineWidth * width; + + vec2 dir; + if (nextP == currentP) dir = normalize(currentP - prevP); + else if (prevP == currentP) dir = normalize(nextP - currentP); + else { + vec2 dir1 = normalize(currentP - prevP); + vec2 dir2 = normalize(nextP - currentP); + dir = normalize(dir1 + dir2); + + vec2 perp = vec2(-dir1.y, dir1.x); + vec2 miter = vec2(-dir.y, dir.x); + //w = clamp(w / dot(miter, perp), 0., 4. * lineWidth * width); + } + + //vec2 normal = (cross(vec3(dir, 0.), vec3(0., 0., 1.))).xy; + vec4 normal = vec4(-dir.y, dir.x, 0., 1.); + normal.xy *= .5 * w; + //normal *= projectionMatrix; + if (sizeAttenuation == 0.) { + normal.xy *= finalPosition.w; + normal.xy /= (vec4(resolution, 0., 1.) * projectionMatrix).xy * aspect; + } + + finalPosition.xy += normal.xy * side; + gl_Position = finalPosition; + #include + #include + vec4 mvPosition = modelViewMatrix * vec4(position, 1.0); + #include + #include + } +`,OP=parseInt(Vo.replace(/\D+/g,"")),_P=OP>=154?"colorspace_fragment":"encodings_fragment",PP=` + #include + #include + #include + + uniform sampler2D map; + uniform sampler2D alphaMap; + uniform float useGradient; + uniform float useMap; + uniform float useAlphaMap; + uniform float useDash; + uniform float dashArray; + uniform float dashOffset; + uniform float dashRatio; + uniform float visibility; + uniform float alphaTest; + uniform vec2 repeat; + uniform vec3 gradient[2]; + + varying vec2 vUV; + varying vec4 vColor; + varying float vCounters; + + void main() { + #include + vec4 diffuseColor = vColor; + if (useGradient == 1.) diffuseColor = vec4(mix(gradient[0], gradient[1], vCounters), 1.0); + if (useMap == 1.) diffuseColor *= texture2D(map, vUV * repeat); + if (useAlphaMap == 1.) diffuseColor.a *= texture2D(alphaMap, vUV * repeat).a; + if (diffuseColor.a < alphaTest) discard; + if (useDash == 1.) diffuseColor.a *= ceil(mod(vCounters + dashOffset, dashArray) - (dashArray * dashRatio)); + diffuseColor.a *= step(vCounters, visibility); + #include + gl_FragColor = diffuseColor; + #include + #include + #include <${_P}> + } +`;class ZP extends FB{constructor(A){super({uniforms:{...YA.fog,lineWidth:{value:1},map:{value:null},useMap:{value:0},alphaMap:{value:null},useAlphaMap:{value:0},color:{value:new KA(16777215)},gradient:{value:[new KA(16711680),new KA(65280)]},opacity:{value:1},resolution:{value:new cA(1,1)},sizeAttenuation:{value:1},dashArray:{value:0},dashOffset:{value:0},dashRatio:{value:.5},useDash:{value:0},useGradient:{value:0},visibility:{value:1},alphaTest:{value:0},repeat:{value:new cA(1,1)}},vertexShader:bP,fragmentShader:PP}),WI(this,"lineWidth"),WI(this,"map"),WI(this,"useMap"),WI(this,"alphaMap"),WI(this,"useAlphaMap"),WI(this,"color"),WI(this,"gradient"),WI(this,"resolution"),WI(this,"sizeAttenuation"),WI(this,"dashArray"),WI(this,"dashOffset"),WI(this,"dashRatio"),WI(this,"useDash"),WI(this,"useGradient"),WI(this,"visibility"),WI(this,"repeat"),this.type="MeshLineMaterial",Object.defineProperties(this,{lineWidth:{enumerable:!0,get(){return this.uniforms.lineWidth.value},set(I){this.uniforms.lineWidth.value=I}},map:{enumerable:!0,get(){return this.uniforms.map.value},set(I){this.uniforms.map.value=I}},useMap:{enumerable:!0,get(){return this.uniforms.useMap.value},set(I){this.uniforms.useMap.value=I}},alphaMap:{enumerable:!0,get(){return this.uniforms.alphaMap.value},set(I){this.uniforms.alphaMap.value=I}},useAlphaMap:{enumerable:!0,get(){return this.uniforms.useAlphaMap.value},set(I){this.uniforms.useAlphaMap.value=I}},color:{enumerable:!0,get(){return this.uniforms.color.value},set(I){this.uniforms.color.value=I}},gradient:{enumerable:!0,get(){return this.uniforms.gradient.value},set(I){this.uniforms.gradient.value=I}},opacity:{enumerable:!0,get(){return this.uniforms.opacity.value},set(I){this.uniforms.opacity.value=I}},resolution:{enumerable:!0,get(){return this.uniforms.resolution.value},set(I){this.uniforms.resolution.value.copy(I)}},sizeAttenuation:{enumerable:!0,get(){return this.uniforms.sizeAttenuation.value},set(I){this.uniforms.sizeAttenuation.value=I}},dashArray:{enumerable:!0,get(){return this.uniforms.dashArray.value},set(I){this.uniforms.dashArray.value=I,this.useDash=I!==0?1:0}},dashOffset:{enumerable:!0,get(){return this.uniforms.dashOffset.value},set(I){this.uniforms.dashOffset.value=I}},dashRatio:{enumerable:!0,get(){return this.uniforms.dashRatio.value},set(I){this.uniforms.dashRatio.value=I}},useDash:{enumerable:!0,get(){return this.uniforms.useDash.value},set(I){this.uniforms.useDash.value=I}},useGradient:{enumerable:!0,get(){return this.uniforms.useGradient.value},set(I){this.uniforms.useGradient.value=I}},visibility:{enumerable:!0,get(){return this.uniforms.visibility.value},set(I){this.uniforms.visibility.value=I}},alphaTest:{enumerable:!0,get(){return this.uniforms.alphaTest.value},set(I){this.uniforms.alphaTest.value=I}},repeat:{enumerable:!0,get(){return this.uniforms.repeat.value},set(I){this.uniforms.repeat.value.copy(I)}}}),this.setValues(A)}copy(A){return super.copy(A),this.lineWidth=A.lineWidth,this.map=A.map,this.useMap=A.useMap,this.alphaMap=A.alphaMap,this.useAlphaMap=A.useAlphaMap,this.color.copy(A.color),this.gradient=A.gradient,this.opacity=A.opacity,this.resolution.copy(A.resolution),this.sizeAttenuation=A.sizeAttenuation,this.dashArray=A.dashArray,this.dashOffset=A.dashOffset,this.dashRatio=A.dashRatio,this.useDash=A.useDash,this.useGradient=A.useGradient,this.visibility=A.visibility,this.alphaTest=A.alphaTest,this.repeat.copy(A.repeat),this}}let Xl=null,Hq="https://www.gstatic.com/draco/versioned/decoders/1.5.5/";function Tq(g,A,I){return C=>{I&&I(C),g&&(Xl||(Xl=new YP),Xl.setDecoderPath(typeof g=="string"?g:Hq),C.setDRACOLoader(Xl)),A&&C.setMeshoptDecoder(typeof SG=="function"?SG():SG)}}function Ya(g,A=!0,I=!0,C){return ve(sM,g,Tq(A,I,C))}Ya.preload=(g,A=!0,I=!0,C)=>ve.preload(sM,g,Tq(A,I,C));Ya.clear=g=>ve.clear(sM,g);Ya.setDecoderPath=g=>{Hq=g};const WP=x.forwardRef(({domElement:g,selector:A,onChange:I,onLock:C,onUnlock:B,enabled:i=!0,makeDefault:Q,...e},t)=>{const{camera:E,...s}=e,a=jC(R=>R.setEvents),r=jC(R=>R.gl),l=jC(R=>R.camera),h=jC(R=>R.invalidate),w=jC(R=>R.events),S=jC(R=>R.get),c=jC(R=>R.set),G=E||l,u=g||w.connected||r.domElement,M=x.useMemo(()=>new IP(G),[G]);return x.useEffect(()=>{if(i){M.connect(u);const R=S().events.compute;return a({compute(N,F){const q=F.size.width/2,K=F.size.height/2;F.pointer.set(q/F.size.width*2-1,-(K/F.size.height)*2+1),F.raycaster.setFromCamera(F.pointer,F.camera)}}),()=>{M.disconnect(),a({compute:R})}}},[i,M]),x.useEffect(()=>{const R=q=>{h(),I&&I(q)};M.addEventListener("change",R),C&&M.addEventListener("lock",C),B&&M.addEventListener("unlock",B);const N=()=>M.lock(),F=A?Array.from(document.querySelectorAll(A)):[document];return F.forEach(q=>q&&q.addEventListener("click",N)),()=>{M.removeEventListener("change",R),C&&M.removeEventListener("lock",C),B&&M.removeEventListener("unlock",B),F.forEach(q=>q?q.removeEventListener("click",N):void 0)}},[I,C,B,A,M,h]),x.useEffect(()=>{if(Q){const R=S().controls;return c({controls:M}),()=>c({controls:R})}},[Q,M]),x.createElement("primitive",CD({ref:t,object:M},s))}),VP="modulepreload",jP=function(g){return"/"+g},$N={},XP=function(A,I,C){let B=Promise.resolve();if(I&&I.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),Q=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));B=Promise.all(I.map(e=>{if(e=jP(e),e in $N)return;$N[e]=!0;const t=e.endsWith(".css"),E=t?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${e}"]${E}`))return;const s=document.createElement("link");if(s.rel=t?"stylesheet":VP,t||(s.as="script",s.crossOrigin=""),s.href=e,Q&&s.setAttribute("nonce",Q),document.head.appendChild(s),t)return new Promise((a,r)=>{s.addEventListener("load",a),s.addEventListener("error",()=>r(new Error(`Unable to preload CSS for ${e}`)))})}))}return B.then(()=>A()).catch(i=>{const Q=new Event("vite:preloadError",{cancelable:!0});if(Q.payload=i,window.dispatchEvent(Q),!Q.defaultPrevented)throw i})};function zP(g,A,I=new f){const C=Math.PI*(g-.5),B=2*Math.PI*(A-.5);return I.x=Math.cos(B),I.y=Math.sin(C),I.z=Math.sin(B),I}const $P=x.forwardRef(({inclination:g=.6,azimuth:A=.1,distance:I=1e3,mieCoefficient:C=.005,mieDirectionalG:B=.8,rayleigh:i=.5,turbidity:Q=10,sunPosition:e=zP(g,A),...t},E)=>{const s=x.useMemo(()=>new f().setScalar(I),[I]),[a]=x.useState(()=>new nM);return x.createElement("primitive",CD({object:a,ref:E,"material-uniforms-mieCoefficient-value":C,"material-uniforms-mieDirectionalG-value":B,"material-uniforms-rayleigh-value":i,"material-uniforms-sunPosition-value":e,"material-uniforms-turbidity-value":Q,scale:s},t))});var AZ={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const AF=g=>{let A;const I=new Set,C=(s,a)=>{const r=typeof s=="function"?s(A):s;if(!Object.is(r,A)){const l=A;A=a??(typeof r!="object"||r===null)?r:Object.assign({},A,r),I.forEach(h=>h(A,l))}},B=()=>A,t={setState:C,getState:B,getInitialState:()=>E,subscribe:s=>(I.add(s),()=>I.delete(s)),destroy:()=>{(AZ?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),I.clear()}},E=A=g(C,B,t);return t},xq=g=>g?AF(g):AF;var vq={exports:{}},bq={},Oq={exports:{}},_q={};/** + * @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 vo=x;function IZ(g,A){return g===A&&(g!==0||1/g===1/A)||g!==g&&A!==A}var gZ=typeof Object.is=="function"?Object.is:IZ,CZ=vo.useState,BZ=vo.useEffect,iZ=vo.useLayoutEffect,QZ=vo.useDebugValue;function eZ(g,A){var I=A(),C=CZ({inst:{value:I,getSnapshot:A}}),B=C[0].inst,i=C[1];return iZ(function(){B.value=I,B.getSnapshot=A,yG(B)&&i({inst:B})},[g,I,A]),BZ(function(){return yG(B)&&i({inst:B}),g(function(){yG(B)&&i({inst:B})})},[g]),QZ(I),I}function yG(g){var A=g.getSnapshot;g=g.value;try{var I=A();return!gZ(g,I)}catch{return!0}}function tZ(g,A){return A()}var EZ=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?tZ:eZ;_q.useSyncExternalStore=vo.useSyncExternalStore!==void 0?vo.useSyncExternalStore:EZ;Oq.exports=_q;var oZ=Oq.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 ch=x,nZ=oZ;function sZ(g,A){return g===A&&(g!==0||1/g===1/A)||g!==g&&A!==A}var aZ=typeof Object.is=="function"?Object.is:sZ,rZ=nZ.useSyncExternalStore,lZ=ch.useRef,cZ=ch.useEffect,DZ=ch.useMemo,hZ=ch.useDebugValue;bq.useSyncExternalStoreWithSelector=function(g,A,I,C,B){var i=lZ(null);if(i.current===null){var Q={hasValue:!1,value:null};i.current=Q}else Q=i.current;i=DZ(function(){function t(l){if(!E){if(E=!0,s=l,l=C(l),B!==void 0&&Q.hasValue){var h=Q.value;if(B(h,l))return a=h}return a=l}if(h=a,aZ(s,l))return h;var w=C(l);return B!==void 0&&B(h,w)?h:(s=l,a=w)}var E=!1,s,a,r=I===void 0?null:I;return[function(){return t(A())},r===null?void 0:function(){return t(r())}]},[A,I,C,B]);var e=rZ(g,i[0],i[1]);return cZ(function(){Q.hasValue=!0,Q.value=e},[e]),hZ(e),e};vq.exports=bq;var SZ=vq.exports;const wZ=wD(SZ);var aM={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{useDebugValue:GZ}=uI,{useSyncExternalStoreWithSelector:yZ}=wZ;let IF=!1;const uZ=g=>g;function rM(g,A=uZ,I){(aM?"production":void 0)!=="production"&&I&&!IF&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),IF=!0);const C=yZ(g.subscribe,g.getState,g.getServerState||g.getInitialState,A,I);return GZ(C),C}const gF=g=>{(aM?"production":void 0)!=="production"&&typeof g!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const A=typeof g=="function"?xq(g):g,I=(C,B)=>rM(A,C,B);return Object.assign(I,A),I},kZ=g=>g?gF(g):gF;var MZ=g=>((aM?"production":void 0)!=="production"&&console.warn("[DEPRECATED] Default export is deprecated. Instead use `import { create } from 'zustand'`."),kZ(g));let d;const TI=new Array(128).fill(void 0);TI.push(void 0,null,!0,!1);let ps=TI.length;function Og(g){ps===TI.length&&TI.push(TI.length+1);const A=ps;return ps=TI[A],TI[A]=g,A}function XI(g){return TI[g]}function Qa(g){const A=XI(g);return function(I){I<132||(TI[I]=ps,ps=I)}(g),A}function VA(g){return g==null}let ts=null;function ea(){return ts!==null&&ts.byteLength!==0||(ts=new Float64Array(d.memory.buffer)),ts}let Es=null;function sI(){return Es!==null&&Es.byteLength!==0||(Es=new Int32Array(d.memory.buffer)),Es}const Pq=typeof TextDecoder<"u"?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder<"u"&&Pq.decode();let os=null;function Zq(g,A){return g>>>=0,Pq.decode((os!==null&&os.byteLength!==0||(os=new Uint8Array(d.memory.buffer)),os).subarray(g,g+A))}function v(g,A){if(!(g instanceof A))throw new Error(`expected instance of ${A.name}`);return g.ptr}let ns=null;function ng(){return ns!==null&&ns.byteLength!==0||(ns=new Float32Array(d.memory.buffer)),ns}let ig=128;function cg(g){if(ig==1)throw new Error("out of js stack");return TI[--ig]=g,ig}function CF(g,A){return g>>>=0,ng().subarray(g/4,g/4+A)}let ss=null;function Wq(){return ss!==null&&ss.byteLength!==0||(ss=new Uint32Array(d.memory.buffer)),ss}let yB=0;function st(g,A){const I=A(4*g.length,4)>>>0;return ng().set(g,I/4),yB=g.length,I}function zl(g,A){const I=A(4*g.length,4)>>>0;return Wq().set(g,I/4),yB=g.length,I}function uG(g,A){try{return g.apply(this,A)}catch(I){d.__wbindgen_exn_store(Og(I))}}const SC=Object.freeze({Ball:0,0:"Ball",Cuboid:1,1:"Cuboid",Capsule:2,2:"Capsule",Segment:3,3:"Segment",Polyline:4,4:"Polyline",Triangle:5,5:"Triangle",TriMesh:6,6:"TriMesh",HeightField:7,7:"HeightField",Compound:8,8:"Compound",ConvexPolyhedron:9,9:"ConvexPolyhedron",Cylinder:10,10:"Cylinder",Cone:11,11:"Cone",RoundCuboid:12,12:"RoundCuboid",RoundTriangle:13,13:"RoundTriangle",RoundCylinder:14,14:"RoundCylinder",RoundCone:15,15:"RoundCone",RoundConvexPolyhedron:16,16:"RoundConvexPolyhedron",HalfSpace:17,17:"HalfSpace"}),Dh=Object.freeze({X:0,0:"X",Y:1,1:"Y",Z:2,2:"Z",AngX:3,3:"AngX",AngY:4,4:"AngY",AngZ:5,5:"AngZ"}),Si=Object.freeze({Revolute:0,0:"Revolute",Fixed:1,1:"Fixed",Prismatic:2,2:"Prismatic",Rope:3,3:"Rope",Spring:4,4:"Spring",Spherical:5,5:"Spherical",Generic:6,6:"Generic"});class Pt{static __wrap(A){A>>>=0;const I=Object.create(Pt.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawbroadphase_free(A)}constructor(){const A=d.rawbroadphase_new();return this.__wbg_ptr=A>>>0,this}}class Mu{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawccdsolver_free(A)}constructor(){const A=d.rawccdsolver_new();return this.__wbg_ptr=A>>>0,this}}class Vq{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawcharactercollision_free(A)}constructor(){const A=d.rawcharactercollision_new();return this.__wbg_ptr=A>>>0,this}handle(){return d.rawcharactercollision_handle(this.__wbg_ptr)}translationDeltaApplied(){const A=d.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return X.__wrap(A)}translationDeltaRemaining(){const A=d.rawcharactercollision_translationDeltaRemaining(this.__wbg_ptr);return X.__wrap(A)}toi(){return d.rawcharactercollision_toi(this.__wbg_ptr)}worldWitness1(){const A=d.rawcharactercollision_worldWitness1(this.__wbg_ptr);return X.__wrap(A)}worldWitness2(){const A=d.rawcharactercollision_worldWitness2(this.__wbg_ptr);return X.__wrap(A)}worldNormal1(){const A=d.rawcharactercollision_worldNormal1(this.__wbg_ptr);return X.__wrap(A)}worldNormal2(){const A=d.rawcharactercollision_worldNormal2(this.__wbg_ptr);return X.__wrap(A)}}class yg{static __wrap(A){A>>>=0;const I=Object.create(yg.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawcolliderset_free(A)}coTranslation(A){const I=d.rawcolliderset_coTranslation(this.__wbg_ptr,A);return X.__wrap(I)}coRotation(A){const I=d.rawcolliderset_coRotation(this.__wbg_ptr,A);return qI.__wrap(I)}coSetTranslation(A,I,C,B){d.rawcolliderset_coSetTranslation(this.__wbg_ptr,A,I,C,B)}coSetTranslationWrtParent(A,I,C,B){d.rawcolliderset_coSetTranslationWrtParent(this.__wbg_ptr,A,I,C,B)}coSetRotation(A,I,C,B,i){d.rawcolliderset_coSetRotation(this.__wbg_ptr,A,I,C,B,i)}coSetRotationWrtParent(A,I,C,B,i){d.rawcolliderset_coSetRotationWrtParent(this.__wbg_ptr,A,I,C,B,i)}coIsSensor(A){return d.rawcolliderset_coIsSensor(this.__wbg_ptr,A)!==0}coShapeType(A){return d.rawcolliderset_coShapeType(this.__wbg_ptr,A)}coHalfspaceNormal(A){const I=d.rawcolliderset_coHalfspaceNormal(this.__wbg_ptr,A);return I===0?void 0:X.__wrap(I)}coHalfExtents(A){const I=d.rawcolliderset_coHalfExtents(this.__wbg_ptr,A);return I===0?void 0:X.__wrap(I)}coSetHalfExtents(A,I){v(I,X),d.rawcolliderset_coSetHalfExtents(this.__wbg_ptr,A,I.__wbg_ptr)}coRadius(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawcolliderset_coRadius(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}coSetRadius(A,I){d.rawcolliderset_coSetRadius(this.__wbg_ptr,A,I)}coHalfHeight(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawcolliderset_coHalfHeight(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}coSetHalfHeight(A,I){d.rawcolliderset_coSetHalfHeight(this.__wbg_ptr,A,I)}coRoundRadius(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawcolliderset_coRoundRadius(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}coSetRoundRadius(A,I){d.rawcolliderset_coSetRoundRadius(this.__wbg_ptr,A,I)}coVertices(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawcolliderset_coVertices(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=sI()[B/4+1];let i;return I!==0&&(i=CF(I,C).slice(),d.__wbindgen_free(I,4*C,4)),i}finally{d.__wbindgen_add_to_stack_pointer(16)}}coIndices(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawcolliderset_coIndices(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=sI()[B/4+1];let i;return I!==0&&(i=function(Q,e){return Q>>>=0,Wq().subarray(Q/4,Q/4+e)}(I,C).slice(),d.__wbindgen_free(I,4*C,4)),i}finally{d.__wbindgen_add_to_stack_pointer(16)}}coTriMeshFlags(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawcolliderset_coTriMeshFlags(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=sI()[B/4+1];return I===0?void 0:C>>>0}finally{d.__wbindgen_add_to_stack_pointer(16)}}coHeightFieldFlags(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawcolliderset_coHeightFieldFlags(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=sI()[B/4+1];return I===0?void 0:C>>>0}finally{d.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldHeights(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawcolliderset_coHeightfieldHeights(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=sI()[B/4+1];let i;return I!==0&&(i=CF(I,C).slice(),d.__wbindgen_free(I,4*C,4)),i}finally{d.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldScale(A){const I=d.rawcolliderset_coHeightfieldScale(this.__wbg_ptr,A);return I===0?void 0:X.__wrap(I)}coHeightfieldNRows(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawcolliderset_coHeightfieldNRows(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=sI()[B/4+1];return I===0?void 0:C>>>0}finally{d.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldNCols(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawcolliderset_coHeightfieldNCols(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=sI()[B/4+1];return I===0?void 0:C>>>0}finally{d.__wbindgen_add_to_stack_pointer(16)}}coParent(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawcolliderset_coParent(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ea()[B/8+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}coSetEnabled(A,I){d.rawcolliderset_coSetEnabled(this.__wbg_ptr,A,I)}coIsEnabled(A){return d.rawcolliderset_coIsEnabled(this.__wbg_ptr,A)!==0}coSetContactSkin(A,I){d.rawcolliderset_coSetContactSkin(this.__wbg_ptr,A,I)}coContactSkin(A){return d.rawcolliderset_coContactSkin(this.__wbg_ptr,A)}coFriction(A){return d.rawcolliderset_coFriction(this.__wbg_ptr,A)}coRestitution(A){return d.rawcolliderset_coRestitution(this.__wbg_ptr,A)}coDensity(A){return d.rawcolliderset_coDensity(this.__wbg_ptr,A)}coMass(A){return d.rawcolliderset_coMass(this.__wbg_ptr,A)}coVolume(A){return d.rawcolliderset_coVolume(this.__wbg_ptr,A)}coCollisionGroups(A){return d.rawcolliderset_coCollisionGroups(this.__wbg_ptr,A)>>>0}coSolverGroups(A){return d.rawcolliderset_coSolverGroups(this.__wbg_ptr,A)>>>0}coActiveHooks(A){return d.rawcolliderset_coActiveHooks(this.__wbg_ptr,A)>>>0}coActiveCollisionTypes(A){return d.rawcolliderset_coActiveCollisionTypes(this.__wbg_ptr,A)}coActiveEvents(A){return d.rawcolliderset_coActiveEvents(this.__wbg_ptr,A)>>>0}coContactForceEventThreshold(A){return d.rawcolliderset_coContactForceEventThreshold(this.__wbg_ptr,A)}coContainsPoint(A,I){return v(I,X),d.rawcolliderset_coContainsPoint(this.__wbg_ptr,A,I.__wbg_ptr)!==0}coCastShape(A,I,C,B,i,Q,e,t,E){v(I,X),v(C,EI),v(B,X),v(i,qI),v(Q,X);const s=d.rawcolliderset_coCastShape(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q.__wbg_ptr,e,t,E);return s===0?void 0:yh.__wrap(s)}coCastCollider(A,I,C,B,i,Q,e){v(I,X),v(B,X);const t=d.rawcolliderset_coCastCollider(this.__wbg_ptr,A,I.__wbg_ptr,C,B.__wbg_ptr,i,Q,e);return t===0?void 0:hh.__wrap(t)}coIntersectsShape(A,I,C,B){return v(I,EI),v(C,X),v(B,qI),d.rawcolliderset_coIntersectsShape(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr)!==0}coContactShape(A,I,C,B,i){v(I,EI),v(C,X),v(B,qI);const Q=d.rawcolliderset_coContactShape(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i);return Q===0?void 0:ta.__wrap(Q)}coContactCollider(A,I,C){const B=d.rawcolliderset_coContactCollider(this.__wbg_ptr,A,I,C);return B===0?void 0:ta.__wrap(B)}coProjectPoint(A,I,C){v(I,X);const B=d.rawcolliderset_coProjectPoint(this.__wbg_ptr,A,I.__wbg_ptr,C);return Sh.__wrap(B)}coIntersectsRay(A,I,C,B){return v(I,X),v(C,X),d.rawcolliderset_coIntersectsRay(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B)!==0}coCastRay(A,I,C,B,i){return v(I,X),v(C,X),d.rawcolliderset_coCastRay(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B,i)}coCastRayAndGetNormal(A,I,C,B,i){v(I,X),v(C,X);const Q=d.rawcolliderset_coCastRayAndGetNormal(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B,i);return Q===0?void 0:Gh.__wrap(Q)}coSetSensor(A,I){d.rawcolliderset_coSetSensor(this.__wbg_ptr,A,I)}coSetRestitution(A,I){d.rawcolliderset_coSetRestitution(this.__wbg_ptr,A,I)}coSetFriction(A,I){d.rawcolliderset_coSetFriction(this.__wbg_ptr,A,I)}coFrictionCombineRule(A){return d.rawcolliderset_coFrictionCombineRule(this.__wbg_ptr,A)>>>0}coSetFrictionCombineRule(A,I){d.rawcolliderset_coSetFrictionCombineRule(this.__wbg_ptr,A,I)}coRestitutionCombineRule(A){return d.rawcolliderset_coRestitutionCombineRule(this.__wbg_ptr,A)>>>0}coSetRestitutionCombineRule(A,I){d.rawcolliderset_coSetRestitutionCombineRule(this.__wbg_ptr,A,I)}coSetCollisionGroups(A,I){d.rawcolliderset_coSetCollisionGroups(this.__wbg_ptr,A,I)}coSetSolverGroups(A,I){d.rawcolliderset_coSetSolverGroups(this.__wbg_ptr,A,I)}coSetActiveHooks(A,I){d.rawcolliderset_coSetActiveHooks(this.__wbg_ptr,A,I)}coSetActiveEvents(A,I){d.rawcolliderset_coSetActiveEvents(this.__wbg_ptr,A,I)}coSetActiveCollisionTypes(A,I){d.rawcolliderset_coSetActiveCollisionTypes(this.__wbg_ptr,A,I)}coSetShape(A,I){v(I,EI),d.rawcolliderset_coSetShape(this.__wbg_ptr,A,I.__wbg_ptr)}coSetContactForceEventThreshold(A,I){d.rawcolliderset_coSetContactForceEventThreshold(this.__wbg_ptr,A,I)}coSetDensity(A,I){d.rawcolliderset_coSetDensity(this.__wbg_ptr,A,I)}coSetMass(A,I){d.rawcolliderset_coSetMass(this.__wbg_ptr,A,I)}coSetMassProperties(A,I,C,B,i){v(C,X),v(B,X),v(i,qI),d.rawcolliderset_coSetMassProperties(this.__wbg_ptr,A,I,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr)}constructor(){const A=d.rawcolliderset_new();return this.__wbg_ptr=A>>>0,this}len(){return d.rawcolliderset_len(this.__wbg_ptr)>>>0}contains(A){return d.rawcolliderset_contains(this.__wbg_ptr,A)!==0}createCollider(A,I,C,B,i,Q,e,t,E,s,a,r,l,h,w,S,c,G,u,M,R,N,F,q,K){try{const O=d.__wbindgen_add_to_stack_pointer(-16);v(I,EI),v(C,X),v(B,qI),v(e,X),v(t,X),v(E,qI),v(K,Rg),d.rawcolliderset_createCollider(O,this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q,e.__wbg_ptr,t.__wbg_ptr,E.__wbg_ptr,s,a,r,l,h,w,S,c,G,u,M,R,N,F,q,K.__wbg_ptr);var U=sI()[O/4+0],L=ea()[O/8+1];return U===0?void 0:L}finally{d.__wbindgen_add_to_stack_pointer(16)}}remove(A,I,C,B){v(I,qQ),v(C,Rg),d.rawcolliderset_remove(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B)}isHandleValid(A){return d.rawcolliderset_contains(this.__wbg_ptr,A)!==0}forEachColliderHandle(A){try{d.rawcolliderset_forEachColliderHandle(this.__wbg_ptr,cg(A))}finally{TI[ig++]=void 0}}}class hh{static __wrap(A){A>>>=0;const I=Object.create(hh.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawcollidershapecasthit_free(A)}colliderHandle(){return d.rawcharactercollision_handle(this.__wbg_ptr)}time_of_impact(){return d.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}witness1(){const A=d.rawcollidershapecasthit_witness1(this.__wbg_ptr);return X.__wrap(A)}witness2(){const A=d.rawcollidershapecasthit_witness2(this.__wbg_ptr);return X.__wrap(A)}normal1(){const A=d.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return X.__wrap(A)}normal2(){const A=d.rawcharactercollision_translationDeltaRemaining(this.__wbg_ptr);return X.__wrap(A)}}class lM{static __wrap(A){A>>>=0;const I=Object.create(lM.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawcontactforceevent_free(A)}collider1(){return d.rawcharactercollision_handle(this.__wbg_ptr)}collider2(){return d.rawcontactforceevent_collider2(this.__wbg_ptr)}total_force(){const A=d.rawcontactforceevent_total_force(this.__wbg_ptr);return X.__wrap(A)}total_force_magnitude(){return d.rawcontactforceevent_total_force_magnitude(this.__wbg_ptr)}max_force_direction(){const A=d.rawcontactforceevent_max_force_direction(this.__wbg_ptr);return X.__wrap(A)}max_force_magnitude(){return d.rawcontactforceevent_max_force_magnitude(this.__wbg_ptr)}}class cM{static __wrap(A){A>>>=0;const I=Object.create(cM.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawcontactmanifold_free(A)}normal(){const A=d.rawcontactmanifold_normal(this.__wbg_ptr);return X.__wrap(A)}local_n1(){const A=d.rawcontactmanifold_local_n1(this.__wbg_ptr);return X.__wrap(A)}local_n2(){const A=d.rawcontactmanifold_local_n2(this.__wbg_ptr);return X.__wrap(A)}subshape1(){return d.rawcontactmanifold_subshape1(this.__wbg_ptr)>>>0}subshape2(){return d.rawcontactmanifold_subshape2(this.__wbg_ptr)>>>0}num_contacts(){return d.rawcontactmanifold_num_contacts(this.__wbg_ptr)>>>0}contact_local_p1(A){const I=d.rawcontactmanifold_contact_local_p1(this.__wbg_ptr,A);return I===0?void 0:X.__wrap(I)}contact_local_p2(A){const I=d.rawcontactmanifold_contact_local_p2(this.__wbg_ptr,A);return I===0?void 0:X.__wrap(I)}contact_dist(A){return d.rawcontactmanifold_contact_dist(this.__wbg_ptr,A)}contact_fid1(A){return d.rawcontactmanifold_contact_fid1(this.__wbg_ptr,A)>>>0}contact_fid2(A){return d.rawcontactmanifold_contact_fid2(this.__wbg_ptr,A)>>>0}contact_impulse(A){return d.rawcontactmanifold_contact_impulse(this.__wbg_ptr,A)}contact_tangent_impulse_x(A){return d.rawcontactmanifold_contact_tangent_impulse_x(this.__wbg_ptr,A)}contact_tangent_impulse_y(A){return d.rawcontactmanifold_contact_tangent_impulse_y(this.__wbg_ptr,A)}num_solver_contacts(){return d.rawcontactmanifold_num_solver_contacts(this.__wbg_ptr)>>>0}solver_contact_point(A){const I=d.rawcontactmanifold_solver_contact_point(this.__wbg_ptr,A);return I===0?void 0:X.__wrap(I)}solver_contact_dist(A){return d.rawcontactmanifold_solver_contact_dist(this.__wbg_ptr,A)}solver_contact_friction(A){return d.rawcontactmanifold_solver_contact_friction(this.__wbg_ptr,A)}solver_contact_restitution(A){return d.rawcontactmanifold_solver_contact_restitution(this.__wbg_ptr,A)}solver_contact_tangent_velocity(A){const I=d.rawcontactmanifold_solver_contact_tangent_velocity(this.__wbg_ptr,A);return X.__wrap(I)}}class DM{static __wrap(A){A>>>=0;const I=Object.create(DM.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawcontactpair_free(A)}collider1(){return d.rawcontactpair_collider1(this.__wbg_ptr)}collider2(){return d.rawcontactpair_collider2(this.__wbg_ptr)}numContactManifolds(){return d.rawcontactpair_numContactManifolds(this.__wbg_ptr)>>>0}contactManifold(A){const I=d.rawcontactpair_contactManifold(this.__wbg_ptr,A);return I===0?void 0:cM.__wrap(I)}}class dZ{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawdebugrenderpipeline_free(A)}constructor(){const A=d.rawdebugrenderpipeline_new();return this.__wbg_ptr=A>>>0,this}vertices(){return Qa(d.rawdebugrenderpipeline_vertices(this.__wbg_ptr))}colors(){return Qa(d.rawdebugrenderpipeline_colors(this.__wbg_ptr))}render(A,I,C,B,i){v(A,Rg),v(I,yg),v(C,fQ),v(B,mQ),v(i,fe),d.rawdebugrenderpipeline_render(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr)}}class hM{static __wrap(A){A>>>=0;const I=Object.create(hM.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawdeserializedworld_free(A)}takeGravity(){const A=d.rawdeserializedworld_takeGravity(this.__wbg_ptr);return A===0?void 0:X.__wrap(A)}takeIntegrationParameters(){const A=d.rawdeserializedworld_takeIntegrationParameters(this.__wbg_ptr);return A===0?void 0:Zt.__wrap(A)}takeIslandManager(){const A=d.rawdeserializedworld_takeIslandManager(this.__wbg_ptr);return A===0?void 0:qQ.__wrap(A)}takeBroadPhase(){const A=d.rawdeserializedworld_takeBroadPhase(this.__wbg_ptr);return A===0?void 0:Pt.__wrap(A)}takeNarrowPhase(){const A=d.rawdeserializedworld_takeNarrowPhase(this.__wbg_ptr);return A===0?void 0:fe.__wrap(A)}takeBodies(){const A=d.rawdeserializedworld_takeBodies(this.__wbg_ptr);return A===0?void 0:Rg.__wrap(A)}takeColliders(){const A=d.rawdeserializedworld_takeColliders(this.__wbg_ptr);return A===0?void 0:yg.__wrap(A)}takeImpulseJoints(){const A=d.rawdeserializedworld_takeImpulseJoints(this.__wbg_ptr);return A===0?void 0:fQ.__wrap(A)}takeMultibodyJoints(){const A=d.rawdeserializedworld_takeMultibodyJoints(this.__wbg_ptr);return A===0?void 0:mQ.__wrap(A)}}class pZ{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawdynamicraycastvehiclecontroller_free(A)}constructor(A){const I=d.rawdynamicraycastvehiclecontroller_new(A);return this.__wbg_ptr=I>>>0,this}current_vehicle_speed(){return d.rawdynamicraycastvehiclecontroller_current_vehicle_speed(this.__wbg_ptr)}chassis(){return d.rawdynamicraycastvehiclecontroller_chassis(this.__wbg_ptr)}index_up_axis(){return d.rawdynamicraycastvehiclecontroller_index_up_axis(this.__wbg_ptr)>>>0}set_index_up_axis(A){d.rawdynamicraycastvehiclecontroller_set_index_up_axis(this.__wbg_ptr,A)}index_forward_axis(){return d.rawdynamicraycastvehiclecontroller_index_forward_axis(this.__wbg_ptr)>>>0}set_index_forward_axis(A){d.rawdynamicraycastvehiclecontroller_set_index_forward_axis(this.__wbg_ptr,A)}add_wheel(A,I,C,B,i){v(A,X),v(I,X),v(C,X),d.rawdynamicraycastvehiclecontroller_add_wheel(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B,i)}num_wheels(){return d.rawdynamicraycastvehiclecontroller_num_wheels(this.__wbg_ptr)>>>0}update_vehicle(A,I,C,B,i,Q,e){try{v(I,Rg),v(C,yg),v(B,SM),d.rawdynamicraycastvehiclecontroller_update_vehicle(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,!VA(Q),VA(Q)?0:Q,cg(e))}finally{TI[ig++]=void 0}}wheel_chassis_connection_point_cs(A){const I=d.rawdynamicraycastvehiclecontroller_wheel_chassis_connection_point_cs(this.__wbg_ptr,A);return I===0?void 0:X.__wrap(I)}set_wheel_chassis_connection_point_cs(A,I){v(I,X),d.rawdynamicraycastvehiclecontroller_set_wheel_chassis_connection_point_cs(this.__wbg_ptr,A,I.__wbg_ptr)}wheel_suspension_rest_length(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_suspension_rest_length(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}set_wheel_suspension_rest_length(A,I){d.rawdynamicraycastvehiclecontroller_set_wheel_suspension_rest_length(this.__wbg_ptr,A,I)}wheel_max_suspension_travel(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_max_suspension_travel(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}set_wheel_max_suspension_travel(A,I){d.rawdynamicraycastvehiclecontroller_set_wheel_max_suspension_travel(this.__wbg_ptr,A,I)}wheel_radius(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_radius(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}set_wheel_radius(A,I){d.rawdynamicraycastvehiclecontroller_set_wheel_radius(this.__wbg_ptr,A,I)}wheel_suspension_stiffness(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_suspension_stiffness(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}set_wheel_suspension_stiffness(A,I){d.rawdynamicraycastvehiclecontroller_set_wheel_suspension_stiffness(this.__wbg_ptr,A,I)}wheel_suspension_compression(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_suspension_compression(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}set_wheel_suspension_compression(A,I){d.rawdynamicraycastvehiclecontroller_set_wheel_suspension_compression(this.__wbg_ptr,A,I)}wheel_suspension_relaxation(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_suspension_relaxation(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}set_wheel_suspension_relaxation(A,I){d.rawdynamicraycastvehiclecontroller_set_wheel_suspension_relaxation(this.__wbg_ptr,A,I)}wheel_max_suspension_force(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_max_suspension_force(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}set_wheel_max_suspension_force(A,I){d.rawdynamicraycastvehiclecontroller_set_wheel_max_suspension_force(this.__wbg_ptr,A,I)}wheel_brake(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_brake(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}set_wheel_brake(A,I){d.rawdynamicraycastvehiclecontroller_set_wheel_brake(this.__wbg_ptr,A,I)}wheel_steering(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_steering(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}set_wheel_steering(A,I){d.rawdynamicraycastvehiclecontroller_set_wheel_steering(this.__wbg_ptr,A,I)}wheel_engine_force(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_engine_force(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}set_wheel_engine_force(A,I){d.rawdynamicraycastvehiclecontroller_set_wheel_engine_force(this.__wbg_ptr,A,I)}wheel_direction_cs(A){const I=d.rawdynamicraycastvehiclecontroller_wheel_direction_cs(this.__wbg_ptr,A);return I===0?void 0:X.__wrap(I)}set_wheel_direction_cs(A,I){v(I,X),d.rawdynamicraycastvehiclecontroller_set_wheel_direction_cs(this.__wbg_ptr,A,I.__wbg_ptr)}wheel_axle_cs(A){const I=d.rawdynamicraycastvehiclecontroller_wheel_axle_cs(this.__wbg_ptr,A);return I===0?void 0:X.__wrap(I)}set_wheel_axle_cs(A,I){v(I,X),d.rawdynamicraycastvehiclecontroller_set_wheel_axle_cs(this.__wbg_ptr,A,I.__wbg_ptr)}wheel_friction_slip(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_friction_slip(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}set_wheel_friction_slip(A,I){d.rawdynamicraycastvehiclecontroller_set_wheel_friction_slip(this.__wbg_ptr,A,I)}wheel_side_friction_stiffness(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_side_friction_stiffness(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}set_wheel_side_friction_stiffness(A,I){d.rawdynamicraycastvehiclecontroller_set_wheel_side_friction_stiffness(this.__wbg_ptr,A,I)}wheel_rotation(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_rotation(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}wheel_forward_impulse(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_forward_impulse(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}wheel_side_impulse(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_side_impulse(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}wheel_suspension_force(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_suspension_force(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}wheel_contact_normal_ws(A){const I=d.rawdynamicraycastvehiclecontroller_wheel_contact_normal_ws(this.__wbg_ptr,A);return I===0?void 0:X.__wrap(I)}wheel_contact_point_ws(A){const I=d.rawdynamicraycastvehiclecontroller_wheel_contact_point_ws(this.__wbg_ptr,A);return I===0?void 0:X.__wrap(I)}wheel_suspension_length(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_suspension_length(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ng()[B/4+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}wheel_hard_point_ws(A){const I=d.rawdynamicraycastvehiclecontroller_wheel_hard_point_ws(this.__wbg_ptr,A);return I===0?void 0:X.__wrap(I)}wheel_is_in_contact(A){return d.rawdynamicraycastvehiclecontroller_wheel_is_in_contact(this.__wbg_ptr,A)!==0}wheel_ground_object(A){try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.rawdynamicraycastvehiclecontroller_wheel_ground_object(B,this.__wbg_ptr,A);var I=sI()[B/4+0],C=ea()[B/8+1];return I===0?void 0:C}finally{d.__wbindgen_add_to_stack_pointer(16)}}}class jq{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_raweventqueue_free(A)}constructor(A){const I=d.raweventqueue_new(A);return this.__wbg_ptr=I>>>0,this}drainCollisionEvents(A){try{d.raweventqueue_drainCollisionEvents(this.__wbg_ptr,cg(A))}finally{TI[ig++]=void 0}}drainContactForceEvents(A){try{d.raweventqueue_drainContactForceEvents(this.__wbg_ptr,cg(A))}finally{TI[ig++]=void 0}}clear(){d.raweventqueue_clear(this.__wbg_ptr)}}class nC{static __wrap(A){A>>>=0;const I=Object.create(nC.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawgenericjoint_free(A)}static generic(A,I,C,B){v(A,X),v(I,X),v(C,X);const i=d.rawgenericjoint_generic(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B);return i===0?void 0:nC.__wrap(i)}static spring(A,I,C,B,i){v(B,X),v(i,X);const Q=d.rawgenericjoint_spring(A,I,C,B.__wbg_ptr,i.__wbg_ptr);return nC.__wrap(Q)}static rope(A,I,C){v(I,X),v(C,X);const B=d.rawgenericjoint_rope(A,I.__wbg_ptr,C.__wbg_ptr);return nC.__wrap(B)}static spherical(A,I){v(A,X),v(I,X);const C=d.rawgenericjoint_spherical(A.__wbg_ptr,I.__wbg_ptr);return nC.__wrap(C)}static prismatic(A,I,C,B,i,Q){v(A,X),v(I,X),v(C,X);const e=d.rawgenericjoint_prismatic(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B,i,Q);return e===0?void 0:nC.__wrap(e)}static fixed(A,I,C,B){v(A,X),v(I,qI),v(C,X),v(B,qI);const i=d.rawgenericjoint_fixed(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr);return nC.__wrap(i)}static revolute(A,I,C){v(A,X),v(I,X),v(C,X);const B=d.rawgenericjoint_revolute(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr);return B===0?void 0:nC.__wrap(B)}}class fQ{static __wrap(A){A>>>=0;const I=Object.create(fQ.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawimpulsejointset_free(A)}jointType(A){return d.rawimpulsejointset_jointType(this.__wbg_ptr,A)}jointBodyHandle1(A){return d.rawimpulsejointset_jointBodyHandle1(this.__wbg_ptr,A)}jointBodyHandle2(A){return d.rawimpulsejointset_jointBodyHandle2(this.__wbg_ptr,A)}jointFrameX1(A){const I=d.rawimpulsejointset_jointFrameX1(this.__wbg_ptr,A);return qI.__wrap(I)}jointFrameX2(A){const I=d.rawimpulsejointset_jointFrameX2(this.__wbg_ptr,A);return qI.__wrap(I)}jointAnchor1(A){const I=d.rawimpulsejointset_jointAnchor1(this.__wbg_ptr,A);return X.__wrap(I)}jointAnchor2(A){const I=d.rawimpulsejointset_jointAnchor2(this.__wbg_ptr,A);return X.__wrap(I)}jointSetAnchor1(A,I){v(I,X),d.rawimpulsejointset_jointSetAnchor1(this.__wbg_ptr,A,I.__wbg_ptr)}jointSetAnchor2(A,I){v(I,X),d.rawimpulsejointset_jointSetAnchor2(this.__wbg_ptr,A,I.__wbg_ptr)}jointContactsEnabled(A){return d.rawimpulsejointset_jointContactsEnabled(this.__wbg_ptr,A)!==0}jointSetContactsEnabled(A,I){d.rawimpulsejointset_jointSetContactsEnabled(this.__wbg_ptr,A,I)}jointLimitsEnabled(A,I){return d.rawimpulsejointset_jointLimitsEnabled(this.__wbg_ptr,A,I)!==0}jointLimitsMin(A,I){return d.rawimpulsejointset_jointLimitsMin(this.__wbg_ptr,A,I)}jointLimitsMax(A,I){return d.rawimpulsejointset_jointLimitsMax(this.__wbg_ptr,A,I)}jointSetLimits(A,I,C,B){d.rawimpulsejointset_jointSetLimits(this.__wbg_ptr,A,I,C,B)}jointConfigureMotorModel(A,I,C){d.rawimpulsejointset_jointConfigureMotorModel(this.__wbg_ptr,A,I,C)}jointConfigureMotorVelocity(A,I,C,B){d.rawimpulsejointset_jointConfigureMotorVelocity(this.__wbg_ptr,A,I,C,B)}jointConfigureMotorPosition(A,I,C,B,i){d.rawimpulsejointset_jointConfigureMotorPosition(this.__wbg_ptr,A,I,C,B,i)}jointConfigureMotor(A,I,C,B,i,Q){d.rawimpulsejointset_jointConfigureMotor(this.__wbg_ptr,A,I,C,B,i,Q)}constructor(){const A=d.rawimpulsejointset_new();return this.__wbg_ptr=A>>>0,this}createJoint(A,I,C,B){return v(A,nC),d.rawimpulsejointset_createJoint(this.__wbg_ptr,A.__wbg_ptr,I,C,B)}remove(A,I){d.rawimpulsejointset_remove(this.__wbg_ptr,A,I)}len(){return d.rawimpulsejointset_len(this.__wbg_ptr)>>>0}contains(A){return d.rawimpulsejointset_contains(this.__wbg_ptr,A)!==0}forEachJointHandle(A){try{d.rawimpulsejointset_forEachJointHandle(this.__wbg_ptr,cg(A))}finally{TI[ig++]=void 0}}forEachJointAttachedToRigidBody(A,I){try{d.rawimpulsejointset_forEachJointAttachedToRigidBody(this.__wbg_ptr,A,cg(I))}finally{TI[ig++]=void 0}}}class Zt{static __wrap(A){A>>>=0;const I=Object.create(Zt.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawintegrationparameters_free(A)}constructor(){const A=d.rawintegrationparameters_new();return this.__wbg_ptr=A>>>0,this}get dt(){return d.rawintegrationparameters_dt(this.__wbg_ptr)}get erp(){return d.rawintegrationparameters_erp(this.__wbg_ptr)}get normalizedAllowedLinearError(){return d.rawdynamicraycastvehiclecontroller_current_vehicle_speed(this.__wbg_ptr)}get normalizedPredictionDistance(){return d.rawcontactforceevent_max_force_magnitude(this.__wbg_ptr)}get numSolverIterations(){return d.rawintegrationparameters_numSolverIterations(this.__wbg_ptr)>>>0}get numAdditionalFrictionIterations(){return d.rawdynamicraycastvehiclecontroller_index_up_axis(this.__wbg_ptr)>>>0}get numInternalPgsIterations(){return d.rawdynamicraycastvehiclecontroller_index_forward_axis(this.__wbg_ptr)>>>0}get minIslandSize(){return d.rawimpulsejointset_len(this.__wbg_ptr)>>>0}get maxCcdSubsteps(){return d.rawintegrationparameters_maxCcdSubsteps(this.__wbg_ptr)>>>0}get lengthUnit(){return d.rawintegrationparameters_lengthUnit(this.__wbg_ptr)}set dt(A){d.rawintegrationparameters_set_dt(this.__wbg_ptr,A)}set erp(A){d.rawintegrationparameters_set_erp(this.__wbg_ptr,A)}set normalizedAllowedLinearError(A){d.rawintegrationparameters_set_normalizedAllowedLinearError(this.__wbg_ptr,A)}set normalizedPredictionDistance(A){d.rawintegrationparameters_set_normalizedPredictionDistance(this.__wbg_ptr,A)}set numSolverIterations(A){d.rawintegrationparameters_set_numSolverIterations(this.__wbg_ptr,A)}set numAdditionalFrictionIterations(A){d.rawdynamicraycastvehiclecontroller_set_index_up_axis(this.__wbg_ptr,A)}set numInternalPgsIterations(A){d.rawdynamicraycastvehiclecontroller_set_index_forward_axis(this.__wbg_ptr,A)}set minIslandSize(A){d.rawintegrationparameters_set_minIslandSize(this.__wbg_ptr,A)}set maxCcdSubsteps(A){d.rawintegrationparameters_set_maxCcdSubsteps(this.__wbg_ptr,A)}set lengthUnit(A){d.rawintegrationparameters_set_lengthUnit(this.__wbg_ptr,A)}switchToStandardPgsSolver(){d.rawintegrationparameters_switchToStandardPgsSolver(this.__wbg_ptr)}switchToSmallStepsPgsSolver(){d.rawintegrationparameters_switchToSmallStepsPgsSolver(this.__wbg_ptr)}switchToSmallStepsPgsSolverWithoutWarmstart(){d.rawintegrationparameters_switchToSmallStepsPgsSolverWithoutWarmstart(this.__wbg_ptr)}}class qQ{static __wrap(A){A>>>=0;const I=Object.create(qQ.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawislandmanager_free(A)}constructor(){const A=d.rawislandmanager_new();return this.__wbg_ptr=A>>>0,this}forEachActiveRigidBodyHandle(A){try{d.rawislandmanager_forEachActiveRigidBodyHandle(this.__wbg_ptr,cg(A))}finally{TI[ig++]=void 0}}}class UZ{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawkinematiccharactercontroller_free(A)}constructor(A){const I=d.rawkinematiccharactercontroller_new(A);return this.__wbg_ptr=I>>>0,this}up(){const A=d.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return X.__wrap(A)}setUp(A){v(A,X),d.rawkinematiccharactercontroller_setUp(this.__wbg_ptr,A.__wbg_ptr)}normalNudgeFactor(){return d.rawkinematiccharactercontroller_normalNudgeFactor(this.__wbg_ptr)}setNormalNudgeFactor(A){d.rawkinematiccharactercontroller_setNormalNudgeFactor(this.__wbg_ptr,A)}offset(){return d.rawintegrationparameters_dt(this.__wbg_ptr)}setOffset(A){d.rawkinematiccharactercontroller_setOffset(this.__wbg_ptr,A)}slideEnabled(){return d.rawkinematiccharactercontroller_slideEnabled(this.__wbg_ptr)!==0}setSlideEnabled(A){d.rawkinematiccharactercontroller_setSlideEnabled(this.__wbg_ptr,A)}autostepMaxHeight(){try{const C=d.__wbindgen_add_to_stack_pointer(-16);d.rawkinematiccharactercontroller_autostepMaxHeight(C,this.__wbg_ptr);var A=sI()[C/4+0],I=ng()[C/4+1];return A===0?void 0:I}finally{d.__wbindgen_add_to_stack_pointer(16)}}autostepMinWidth(){try{const C=d.__wbindgen_add_to_stack_pointer(-16);d.rawkinematiccharactercontroller_autostepMinWidth(C,this.__wbg_ptr);var A=sI()[C/4+0],I=ng()[C/4+1];return A===0?void 0:I}finally{d.__wbindgen_add_to_stack_pointer(16)}}autostepIncludesDynamicBodies(){const A=d.rawkinematiccharactercontroller_autostepIncludesDynamicBodies(this.__wbg_ptr);return A===16777215?void 0:A!==0}autostepEnabled(){return d.rawkinematiccharactercontroller_autostepEnabled(this.__wbg_ptr)!==0}enableAutostep(A,I,C){d.rawkinematiccharactercontroller_enableAutostep(this.__wbg_ptr,A,I,C)}disableAutostep(){d.rawkinematiccharactercontroller_disableAutostep(this.__wbg_ptr)}maxSlopeClimbAngle(){return d.rawkinematiccharactercontroller_maxSlopeClimbAngle(this.__wbg_ptr)}setMaxSlopeClimbAngle(A){d.rawkinematiccharactercontroller_setMaxSlopeClimbAngle(this.__wbg_ptr,A)}minSlopeSlideAngle(){return d.rawkinematiccharactercontroller_minSlopeSlideAngle(this.__wbg_ptr)}setMinSlopeSlideAngle(A){d.rawkinematiccharactercontroller_setMinSlopeSlideAngle(this.__wbg_ptr,A)}snapToGroundDistance(){try{const C=d.__wbindgen_add_to_stack_pointer(-16);d.rawkinematiccharactercontroller_snapToGroundDistance(C,this.__wbg_ptr);var A=sI()[C/4+0],I=ng()[C/4+1];return A===0?void 0:I}finally{d.__wbindgen_add_to_stack_pointer(16)}}enableSnapToGround(A){d.rawkinematiccharactercontroller_enableSnapToGround(this.__wbg_ptr,A)}disableSnapToGround(){d.rawkinematiccharactercontroller_disableSnapToGround(this.__wbg_ptr)}snapToGroundEnabled(){return d.rawkinematiccharactercontroller_snapToGroundEnabled(this.__wbg_ptr)!==0}computeColliderMovement(A,I,C,B,i,Q,e,t,E,s,a){try{v(I,Rg),v(C,yg),v(B,SM),v(Q,X),d.rawkinematiccharactercontroller_computeColliderMovement(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q.__wbg_ptr,e,!VA(t),VA(t)?0:t,E,!VA(s),VA(s)?0:s,cg(a))}finally{TI[ig++]=void 0}}computedMovement(){const A=d.rawkinematiccharactercontroller_computedMovement(this.__wbg_ptr);return X.__wrap(A)}computedGrounded(){return d.rawkinematiccharactercontroller_computedGrounded(this.__wbg_ptr)!==0}numComputedCollisions(){return d.rawkinematiccharactercontroller_numComputedCollisions(this.__wbg_ptr)>>>0}computedCollision(A,I){return v(I,Vq),d.rawkinematiccharactercontroller_computedCollision(this.__wbg_ptr,A,I.__wbg_ptr)!==0}}class mQ{static __wrap(A){A>>>=0;const I=Object.create(mQ.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawmultibodyjointset_free(A)}jointType(A){return d.rawmultibodyjointset_jointType(this.__wbg_ptr,A)}jointFrameX1(A){const I=d.rawmultibodyjointset_jointFrameX1(this.__wbg_ptr,A);return qI.__wrap(I)}jointFrameX2(A){const I=d.rawmultibodyjointset_jointFrameX2(this.__wbg_ptr,A);return qI.__wrap(I)}jointAnchor1(A){const I=d.rawmultibodyjointset_jointAnchor1(this.__wbg_ptr,A);return X.__wrap(I)}jointAnchor2(A){const I=d.rawmultibodyjointset_jointAnchor2(this.__wbg_ptr,A);return X.__wrap(I)}jointContactsEnabled(A){return d.rawmultibodyjointset_jointContactsEnabled(this.__wbg_ptr,A)!==0}jointSetContactsEnabled(A,I){d.rawmultibodyjointset_jointSetContactsEnabled(this.__wbg_ptr,A,I)}jointLimitsEnabled(A,I){return d.rawmultibodyjointset_jointLimitsEnabled(this.__wbg_ptr,A,I)!==0}jointLimitsMin(A,I){return d.rawmultibodyjointset_jointLimitsMin(this.__wbg_ptr,A,I)}jointLimitsMax(A,I){return d.rawmultibodyjointset_jointLimitsMax(this.__wbg_ptr,A,I)}constructor(){const A=d.rawmultibodyjointset_new();return this.__wbg_ptr=A>>>0,this}createJoint(A,I,C,B){return v(A,nC),d.rawmultibodyjointset_createJoint(this.__wbg_ptr,A.__wbg_ptr,I,C,B)}remove(A,I){d.rawmultibodyjointset_remove(this.__wbg_ptr,A,I)}contains(A){return d.rawmultibodyjointset_contains(this.__wbg_ptr,A)!==0}forEachJointHandle(A){try{d.rawmultibodyjointset_forEachJointHandle(this.__wbg_ptr,cg(A))}finally{TI[ig++]=void 0}}forEachJointAttachedToRigidBody(A,I){try{d.rawmultibodyjointset_forEachJointAttachedToRigidBody(this.__wbg_ptr,A,cg(I))}finally{TI[ig++]=void 0}}}class fe{static __wrap(A){A>>>=0;const I=Object.create(fe.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawnarrowphase_free(A)}constructor(){const A=d.rawnarrowphase_new();return this.__wbg_ptr=A>>>0,this}contact_pairs_with(A,I){d.rawnarrowphase_contact_pairs_with(this.__wbg_ptr,A,Og(I))}contact_pair(A,I){const C=d.rawnarrowphase_contact_pair(this.__wbg_ptr,A,I);return C===0?void 0:DM.__wrap(C)}intersection_pairs_with(A,I){d.rawnarrowphase_intersection_pairs_with(this.__wbg_ptr,A,Og(I))}intersection_pair(A,I){return d.rawnarrowphase_intersection_pair(this.__wbg_ptr,A,I)!==0}}class NZ{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawphysicspipeline_free(A)}constructor(){const A=d.rawphysicspipeline_new();return this.__wbg_ptr=A>>>0,this}step(A,I,C,B,i,Q,e,t,E,s){v(A,X),v(I,Zt),v(C,qQ),v(B,Pt),v(i,fe),v(Q,Rg),v(e,yg),v(t,fQ),v(E,mQ),v(s,Mu),d.rawphysicspipeline_step(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr,E.__wbg_ptr,s.__wbg_ptr)}stepWithEvents(A,I,C,B,i,Q,e,t,E,s,a,r,l,h){v(A,X),v(I,Zt),v(C,qQ),v(B,Pt),v(i,fe),v(Q,Rg),v(e,yg),v(t,fQ),v(E,mQ),v(s,Mu),v(a,jq),d.rawphysicspipeline_stepWithEvents(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr,E.__wbg_ptr,s.__wbg_ptr,a.__wbg_ptr,Og(r),Og(l),Og(h))}}class iD{static __wrap(A){A>>>=0;const I=Object.create(iD.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawpointcolliderprojection_free(A)}colliderHandle(){return d.rawpointcolliderprojection_colliderHandle(this.__wbg_ptr)}point(){const A=d.rawpointcolliderprojection_point(this.__wbg_ptr);return X.__wrap(A)}isInside(){return d.rawpointcolliderprojection_isInside(this.__wbg_ptr)!==0}featureType(){return d.rawpointcolliderprojection_featureType(this.__wbg_ptr)}featureId(){try{const C=d.__wbindgen_add_to_stack_pointer(-16);d.rawpointcolliderprojection_featureId(C,this.__wbg_ptr);var A=sI()[C/4+0],I=sI()[C/4+1];return A===0?void 0:I>>>0}finally{d.__wbindgen_add_to_stack_pointer(16)}}}class Sh{static __wrap(A){A>>>=0;const I=Object.create(Sh.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawpointprojection_free(A)}point(){const A=d.rawpointprojection_point(this.__wbg_ptr);return X.__wrap(A)}isInside(){return d.rawpointprojection_isInside(this.__wbg_ptr)!==0}}class SM{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawquerypipeline_free(A)}constructor(){const A=d.rawquerypipeline_new();return this.__wbg_ptr=A>>>0,this}update(A,I){v(A,Rg),v(I,yg),d.rawquerypipeline_update(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr)}castRay(A,I,C,B,i,Q,e,t,E,s,a){try{v(A,Rg),v(I,yg),v(C,X),v(B,X);const r=d.rawquerypipeline_castRay(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q,e,!VA(t),VA(t)?0:t,!VA(E),VA(E)?0:E,!VA(s),VA(s)?0:s,cg(a));return r===0?void 0:wM.__wrap(r)}finally{TI[ig++]=void 0}}castRayAndGetNormal(A,I,C,B,i,Q,e,t,E,s,a){try{v(A,Rg),v(I,yg),v(C,X),v(B,X);const r=d.rawquerypipeline_castRayAndGetNormal(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q,e,!VA(t),VA(t)?0:t,!VA(E),VA(E)?0:E,!VA(s),VA(s)?0:s,cg(a));return r===0?void 0:wh.__wrap(r)}finally{TI[ig++]=void 0}}intersectionsWithRay(A,I,C,B,i,Q,e,t,E,s,a,r){try{v(A,Rg),v(I,yg),v(C,X),v(B,X),d.rawquerypipeline_intersectionsWithRay(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q,cg(e),t,!VA(E),VA(E)?0:E,!VA(s),VA(s)?0:s,!VA(a),VA(a)?0:a,cg(r))}finally{TI[ig++]=void 0,TI[ig++]=void 0}}intersectionWithShape(A,I,C,B,i,Q,e,t,E,s){try{const l=d.__wbindgen_add_to_stack_pointer(-16);v(A,Rg),v(I,yg),v(C,X),v(B,qI),v(i,EI),d.rawquerypipeline_intersectionWithShape(l,this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q,!VA(e),VA(e)?0:e,!VA(t),VA(t)?0:t,!VA(E),VA(E)?0:E,cg(s));var a=sI()[l/4+0],r=ea()[l/8+1];return a===0?void 0:r}finally{d.__wbindgen_add_to_stack_pointer(16),TI[ig++]=void 0}}projectPoint(A,I,C,B,i,Q,e,t,E){try{v(A,Rg),v(I,yg),v(C,X);const s=d.rawquerypipeline_projectPoint(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B,i,!VA(Q),VA(Q)?0:Q,!VA(e),VA(e)?0:e,!VA(t),VA(t)?0:t,cg(E));return s===0?void 0:iD.__wrap(s)}finally{TI[ig++]=void 0}}projectPointAndGetFeature(A,I,C,B,i,Q,e,t){try{v(A,Rg),v(I,yg),v(C,X);const E=d.rawquerypipeline_projectPointAndGetFeature(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B,!VA(i),VA(i)?0:i,!VA(Q),VA(Q)?0:Q,!VA(e),VA(e)?0:e,cg(t));return E===0?void 0:iD.__wrap(E)}finally{TI[ig++]=void 0}}intersectionsWithPoint(A,I,C,B,i,Q,e,t,E){try{v(A,Rg),v(I,yg),v(C,X),d.rawquerypipeline_intersectionsWithPoint(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,cg(B),i,!VA(Q),VA(Q)?0:Q,!VA(e),VA(e)?0:e,!VA(t),VA(t)?0:t,cg(E))}finally{TI[ig++]=void 0,TI[ig++]=void 0}}castShape(A,I,C,B,i,Q,e,t,E,s,a,r,l,h){try{v(A,Rg),v(I,yg),v(C,X),v(B,qI),v(i,X),v(Q,EI);const w=d.rawquerypipeline_castShape(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q.__wbg_ptr,e,t,E,s,!VA(a),VA(a)?0:a,!VA(r),VA(r)?0:r,!VA(l),VA(l)?0:l,cg(h));return w===0?void 0:hh.__wrap(w)}finally{TI[ig++]=void 0}}intersectionsWithShape(A,I,C,B,i,Q,e,t,E,s,a){try{v(A,Rg),v(I,yg),v(C,X),v(B,qI),v(i,EI),d.rawquerypipeline_intersectionsWithShape(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,cg(Q),e,!VA(t),VA(t)?0:t,!VA(E),VA(E)?0:E,!VA(s),VA(s)?0:s,cg(a))}finally{TI[ig++]=void 0,TI[ig++]=void 0}}collidersWithAabbIntersectingAabb(A,I,C){try{v(A,X),v(I,X),d.rawquerypipeline_collidersWithAabbIntersectingAabb(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,cg(C))}finally{TI[ig++]=void 0}}}class wM{static __wrap(A){A>>>=0;const I=Object.create(wM.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawraycolliderhit_free(A)}colliderHandle(){return d.rawcharactercollision_handle(this.__wbg_ptr)}timeOfImpact(){return d.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}}class wh{static __wrap(A){A>>>=0;const I=Object.create(wh.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawraycolliderintersection_free(A)}colliderHandle(){return d.rawpointcolliderprojection_colliderHandle(this.__wbg_ptr)}normal(){const A=d.rawcollidershapecasthit_witness1(this.__wbg_ptr);return X.__wrap(A)}time_of_impact(){return d.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}featureType(){return d.rawpointcolliderprojection_featureType(this.__wbg_ptr)}featureId(){try{const C=d.__wbindgen_add_to_stack_pointer(-16);d.rawpointcolliderprojection_featureId(C,this.__wbg_ptr);var A=sI()[C/4+0],I=sI()[C/4+1];return A===0?void 0:I>>>0}finally{d.__wbindgen_add_to_stack_pointer(16)}}}class Gh{static __wrap(A){A>>>=0;const I=Object.create(Gh.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawrayintersection_free(A)}normal(){const A=d.rawcollidershapecasthit_witness1(this.__wbg_ptr);return X.__wrap(A)}time_of_impact(){return d.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}featureType(){return d.rawpointcolliderprojection_featureType(this.__wbg_ptr)}featureId(){try{const C=d.__wbindgen_add_to_stack_pointer(-16);d.rawpointcolliderprojection_featureId(C,this.__wbg_ptr);var A=sI()[C/4+0],I=sI()[C/4+1];return A===0?void 0:I>>>0}finally{d.__wbindgen_add_to_stack_pointer(16)}}}class Rg{static __wrap(A){A>>>=0;const I=Object.create(Rg.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawrigidbodyset_free(A)}rbTranslation(A){const I=d.rawrigidbodyset_rbTranslation(this.__wbg_ptr,A);return X.__wrap(I)}rbRotation(A){const I=d.rawrigidbodyset_rbRotation(this.__wbg_ptr,A);return qI.__wrap(I)}rbSleep(A){d.rawrigidbodyset_rbSleep(this.__wbg_ptr,A)}rbIsSleeping(A){return d.rawrigidbodyset_rbIsSleeping(this.__wbg_ptr,A)!==0}rbIsMoving(A){return d.rawrigidbodyset_rbIsMoving(this.__wbg_ptr,A)!==0}rbNextTranslation(A){const I=d.rawrigidbodyset_rbNextTranslation(this.__wbg_ptr,A);return X.__wrap(I)}rbNextRotation(A){const I=d.rawrigidbodyset_rbNextRotation(this.__wbg_ptr,A);return qI.__wrap(I)}rbSetTranslation(A,I,C,B,i){d.rawrigidbodyset_rbSetTranslation(this.__wbg_ptr,A,I,C,B,i)}rbSetRotation(A,I,C,B,i,Q){d.rawrigidbodyset_rbSetRotation(this.__wbg_ptr,A,I,C,B,i,Q)}rbSetLinvel(A,I,C){v(I,X),d.rawrigidbodyset_rbSetLinvel(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbSetAngvel(A,I,C){v(I,X),d.rawrigidbodyset_rbSetAngvel(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbSetNextKinematicTranslation(A,I,C,B){d.rawrigidbodyset_rbSetNextKinematicTranslation(this.__wbg_ptr,A,I,C,B)}rbSetNextKinematicRotation(A,I,C,B,i){d.rawrigidbodyset_rbSetNextKinematicRotation(this.__wbg_ptr,A,I,C,B,i)}rbRecomputeMassPropertiesFromColliders(A,I){v(I,yg),d.rawrigidbodyset_rbRecomputeMassPropertiesFromColliders(this.__wbg_ptr,A,I.__wbg_ptr)}rbSetAdditionalMass(A,I,C){d.rawrigidbodyset_rbSetAdditionalMass(this.__wbg_ptr,A,I,C)}rbSetAdditionalMassProperties(A,I,C,B,i,Q){v(C,X),v(B,X),v(i,qI),d.rawrigidbodyset_rbSetAdditionalMassProperties(this.__wbg_ptr,A,I,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q)}rbLinvel(A){const I=d.rawrigidbodyset_rbLinvel(this.__wbg_ptr,A);return X.__wrap(I)}rbAngvel(A){const I=d.rawrigidbodyset_rbAngvel(this.__wbg_ptr,A);return X.__wrap(I)}rbLockTranslations(A,I,C){d.rawrigidbodyset_rbLockTranslations(this.__wbg_ptr,A,I,C)}rbSetEnabledTranslations(A,I,C,B,i){d.rawrigidbodyset_rbSetEnabledTranslations(this.__wbg_ptr,A,I,C,B,i)}rbLockRotations(A,I,C){d.rawrigidbodyset_rbLockRotations(this.__wbg_ptr,A,I,C)}rbSetEnabledRotations(A,I,C,B,i){d.rawrigidbodyset_rbSetEnabledRotations(this.__wbg_ptr,A,I,C,B,i)}rbDominanceGroup(A){return d.rawrigidbodyset_rbDominanceGroup(this.__wbg_ptr,A)}rbSetDominanceGroup(A,I){d.rawrigidbodyset_rbSetDominanceGroup(this.__wbg_ptr,A,I)}rbEnableCcd(A,I){d.rawrigidbodyset_rbEnableCcd(this.__wbg_ptr,A,I)}rbSetSoftCcdPrediction(A,I){d.rawrigidbodyset_rbSetSoftCcdPrediction(this.__wbg_ptr,A,I)}rbMass(A){return d.rawrigidbodyset_rbMass(this.__wbg_ptr,A)}rbInvMass(A){return d.rawrigidbodyset_rbInvMass(this.__wbg_ptr,A)}rbEffectiveInvMass(A){const I=d.rawrigidbodyset_rbEffectiveInvMass(this.__wbg_ptr,A);return X.__wrap(I)}rbLocalCom(A){const I=d.rawrigidbodyset_rbLocalCom(this.__wbg_ptr,A);return X.__wrap(I)}rbWorldCom(A){const I=d.rawrigidbodyset_rbWorldCom(this.__wbg_ptr,A);return X.__wrap(I)}rbInvPrincipalInertiaSqrt(A){const I=d.rawrigidbodyset_rbInvPrincipalInertiaSqrt(this.__wbg_ptr,A);return X.__wrap(I)}rbPrincipalInertiaLocalFrame(A){const I=d.rawrigidbodyset_rbPrincipalInertiaLocalFrame(this.__wbg_ptr,A);return qI.__wrap(I)}rbPrincipalInertia(A){const I=d.rawrigidbodyset_rbPrincipalInertia(this.__wbg_ptr,A);return X.__wrap(I)}rbEffectiveWorldInvInertiaSqrt(A){const I=d.rawrigidbodyset_rbEffectiveWorldInvInertiaSqrt(this.__wbg_ptr,A);return QD.__wrap(I)}rbEffectiveAngularInertia(A){const I=d.rawrigidbodyset_rbEffectiveAngularInertia(this.__wbg_ptr,A);return QD.__wrap(I)}rbWakeUp(A){d.rawrigidbodyset_rbWakeUp(this.__wbg_ptr,A)}rbIsCcdEnabled(A){return d.rawrigidbodyset_rbIsCcdEnabled(this.__wbg_ptr,A)!==0}rbSoftCcdPrediction(A){return d.rawrigidbodyset_rbSoftCcdPrediction(this.__wbg_ptr,A)}rbNumColliders(A){return d.rawrigidbodyset_rbNumColliders(this.__wbg_ptr,A)>>>0}rbCollider(A,I){return d.rawrigidbodyset_rbCollider(this.__wbg_ptr,A,I)}rbBodyType(A){return d.rawrigidbodyset_rbBodyType(this.__wbg_ptr,A)}rbSetBodyType(A,I,C){d.rawrigidbodyset_rbSetBodyType(this.__wbg_ptr,A,I,C)}rbIsFixed(A){return d.rawrigidbodyset_rbIsFixed(this.__wbg_ptr,A)!==0}rbIsKinematic(A){return d.rawrigidbodyset_rbIsKinematic(this.__wbg_ptr,A)!==0}rbIsDynamic(A){return d.rawrigidbodyset_rbIsDynamic(this.__wbg_ptr,A)!==0}rbLinearDamping(A){return d.rawrigidbodyset_rbLinearDamping(this.__wbg_ptr,A)}rbAngularDamping(A){return d.rawrigidbodyset_rbAngularDamping(this.__wbg_ptr,A)}rbSetLinearDamping(A,I){d.rawrigidbodyset_rbSetLinearDamping(this.__wbg_ptr,A,I)}rbSetAngularDamping(A,I){d.rawrigidbodyset_rbSetAngularDamping(this.__wbg_ptr,A,I)}rbSetEnabled(A,I){d.rawrigidbodyset_rbSetEnabled(this.__wbg_ptr,A,I)}rbIsEnabled(A){return d.rawrigidbodyset_rbIsEnabled(this.__wbg_ptr,A)!==0}rbGravityScale(A){return d.rawrigidbodyset_rbGravityScale(this.__wbg_ptr,A)}rbSetGravityScale(A,I,C){d.rawrigidbodyset_rbSetGravityScale(this.__wbg_ptr,A,I,C)}rbResetForces(A,I){d.rawrigidbodyset_rbResetForces(this.__wbg_ptr,A,I)}rbResetTorques(A,I){d.rawrigidbodyset_rbResetTorques(this.__wbg_ptr,A,I)}rbAddForce(A,I,C){v(I,X),d.rawrigidbodyset_rbAddForce(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbApplyImpulse(A,I,C){v(I,X),d.rawrigidbodyset_rbApplyImpulse(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbAddTorque(A,I,C){v(I,X),d.rawrigidbodyset_rbAddTorque(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbApplyTorqueImpulse(A,I,C){v(I,X),d.rawrigidbodyset_rbApplyTorqueImpulse(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbAddForceAtPoint(A,I,C,B){v(I,X),v(C,X),d.rawrigidbodyset_rbAddForceAtPoint(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B)}rbApplyImpulseAtPoint(A,I,C,B){v(I,X),v(C,X),d.rawrigidbodyset_rbApplyImpulseAtPoint(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B)}rbAdditionalSolverIterations(A){return d.rawrigidbodyset_rbAdditionalSolverIterations(this.__wbg_ptr,A)>>>0}rbSetAdditionalSolverIterations(A,I){d.rawrigidbodyset_rbSetAdditionalSolverIterations(this.__wbg_ptr,A,I)}rbUserData(A){return d.rawrigidbodyset_rbUserData(this.__wbg_ptr,A)>>>0}rbSetUserData(A,I){d.rawrigidbodyset_rbSetUserData(this.__wbg_ptr,A,I)}constructor(){const A=d.rawrigidbodyset_new();return this.__wbg_ptr=A>>>0,this}createRigidBody(A,I,C,B,i,Q,e,t,E,s,a,r,l,h,w,S,c,G,u,M,R,N,F,q,K,U){return v(I,X),v(C,qI),v(e,X),v(t,X),v(E,X),v(s,X),v(a,qI),d.rawrigidbodyset_createRigidBody(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B,i,Q,e.__wbg_ptr,t.__wbg_ptr,E.__wbg_ptr,s.__wbg_ptr,a.__wbg_ptr,r,l,h,w,S,c,G,u,M,R,N,F,q,K,U)}remove(A,I,C,B,i){v(I,qQ),v(C,yg),v(B,fQ),v(i,mQ),d.rawrigidbodyset_remove(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr)}len(){return d.rawcolliderset_len(this.__wbg_ptr)>>>0}contains(A){return d.rawrigidbodyset_contains(this.__wbg_ptr,A)!==0}forEachRigidBodyHandle(A){try{d.rawrigidbodyset_forEachRigidBodyHandle(this.__wbg_ptr,cg(A))}finally{TI[ig++]=void 0}}propagateModifiedBodyPositionsToColliders(A){v(A,yg),d.rawrigidbodyset_propagateModifiedBodyPositionsToColliders(this.__wbg_ptr,A.__wbg_ptr)}}class qI{static __wrap(A){A>>>=0;const I=Object.create(qI.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawrotation_free(A)}constructor(A,I,C,B){const i=d.rawrotation_new(A,I,C,B);return this.__wbg_ptr=i>>>0,this}static identity(){const A=d.rawrotation_identity();return qI.__wrap(A)}get x(){return d.rawrotation_x(this.__wbg_ptr)}get y(){return d.rawintegrationparameters_dt(this.__wbg_ptr)}get z(){return d.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}get w(){return d.rawintegrationparameters_erp(this.__wbg_ptr)}}class QD{static __wrap(A){A>>>=0;const I=Object.create(QD.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawsdpmatrix3_free(A)}elements(){return Qa(d.rawsdpmatrix3_elements(this.__wbg_ptr))}}class FZ{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawserializationpipeline_free(A)}constructor(){const A=d.rawserializationpipeline_new();return this.__wbg_ptr=A>>>0,this}serializeAll(A,I,C,B,i,Q,e,t,E){return v(A,X),v(I,Zt),v(C,qQ),v(B,Pt),v(i,fe),v(Q,Rg),v(e,yg),v(t,fQ),v(E,mQ),Qa(d.rawserializationpipeline_serializeAll(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr,E.__wbg_ptr))}deserializeAll(A){const I=d.rawserializationpipeline_deserializeAll(this.__wbg_ptr,Og(A));return I===0?void 0:hM.__wrap(I)}}class EI{static __wrap(A){A>>>=0;const I=Object.create(EI.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawshape_free(A)}static cuboid(A,I,C){const B=d.rawshape_cuboid(A,I,C);return EI.__wrap(B)}static roundCuboid(A,I,C,B){const i=d.rawshape_roundCuboid(A,I,C,B);return EI.__wrap(i)}static ball(A){const I=d.rawshape_ball(A);return EI.__wrap(I)}static halfspace(A){v(A,X);const I=d.rawshape_halfspace(A.__wbg_ptr);return EI.__wrap(I)}static capsule(A,I){const C=d.rawshape_capsule(A,I);return EI.__wrap(C)}static cylinder(A,I){const C=d.rawshape_cylinder(A,I);return EI.__wrap(C)}static roundCylinder(A,I,C){const B=d.rawshape_roundCylinder(A,I,C);return EI.__wrap(B)}static cone(A,I){const C=d.rawshape_cone(A,I);return EI.__wrap(C)}static roundCone(A,I,C){const B=d.rawshape_roundCone(A,I,C);return EI.__wrap(B)}static polyline(A,I){const C=st(A,d.__wbindgen_malloc),B=yB,i=zl(I,d.__wbindgen_malloc),Q=yB,e=d.rawshape_polyline(C,B,i,Q);return EI.__wrap(e)}static trimesh(A,I,C){const B=st(A,d.__wbindgen_malloc),i=yB,Q=zl(I,d.__wbindgen_malloc),e=yB,t=d.rawshape_trimesh(B,i,Q,e,C);return EI.__wrap(t)}static heightfield(A,I,C,B,i){const Q=st(C,d.__wbindgen_malloc),e=yB;v(B,X);const t=d.rawshape_heightfield(A,I,Q,e,B.__wbg_ptr,i);return EI.__wrap(t)}static segment(A,I){v(A,X),v(I,X);const C=d.rawshape_segment(A.__wbg_ptr,I.__wbg_ptr);return EI.__wrap(C)}static triangle(A,I,C){v(A,X),v(I,X),v(C,X);const B=d.rawshape_triangle(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr);return EI.__wrap(B)}static roundTriangle(A,I,C,B){v(A,X),v(I,X),v(C,X);const i=d.rawshape_roundTriangle(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B);return EI.__wrap(i)}static convexHull(A){const I=st(A,d.__wbindgen_malloc),C=yB,B=d.rawshape_convexHull(I,C);return B===0?void 0:EI.__wrap(B)}static roundConvexHull(A,I){const C=st(A,d.__wbindgen_malloc),B=yB,i=d.rawshape_roundConvexHull(C,B,I);return i===0?void 0:EI.__wrap(i)}static convexMesh(A,I){const C=st(A,d.__wbindgen_malloc),B=yB,i=zl(I,d.__wbindgen_malloc),Q=yB,e=d.rawshape_convexMesh(C,B,i,Q);return e===0?void 0:EI.__wrap(e)}static roundConvexMesh(A,I,C){const B=st(A,d.__wbindgen_malloc),i=yB,Q=zl(I,d.__wbindgen_malloc),e=yB,t=d.rawshape_roundConvexMesh(B,i,Q,e,C);return t===0?void 0:EI.__wrap(t)}castShape(A,I,C,B,i,Q,e,t,E,s){v(A,X),v(I,qI),v(C,X),v(B,EI),v(i,X),v(Q,qI),v(e,X);const a=d.rawshape_castShape(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q.__wbg_ptr,e.__wbg_ptr,t,E,s);return a===0?void 0:yh.__wrap(a)}intersectsShape(A,I,C,B,i){return v(A,X),v(I,qI),v(C,EI),v(B,X),v(i,qI),d.rawshape_intersectsShape(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr)!==0}contactShape(A,I,C,B,i,Q){v(A,X),v(I,qI),v(C,EI),v(B,X),v(i,qI);const e=d.rawshape_contactShape(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q);return e===0?void 0:ta.__wrap(e)}containsPoint(A,I,C){return v(A,X),v(I,qI),v(C,X),d.rawshape_containsPoint(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr)!==0}projectPoint(A,I,C,B){v(A,X),v(I,qI),v(C,X);const i=d.rawshape_projectPoint(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B);return Sh.__wrap(i)}intersectsRay(A,I,C,B,i){return v(A,X),v(I,qI),v(C,X),v(B,X),d.rawshape_intersectsRay(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i)!==0}castRay(A,I,C,B,i,Q){return v(A,X),v(I,qI),v(C,X),v(B,X),d.rawshape_castRay(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q)}castRayAndGetNormal(A,I,C,B,i,Q){v(A,X),v(I,qI),v(C,X),v(B,X);const e=d.rawshape_castRayAndGetNormal(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q);return e===0?void 0:Gh.__wrap(e)}}class yh{static __wrap(A){A>>>=0;const I=Object.create(yh.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawshapecasthit_free(A)}time_of_impact(){return d.rawrotation_x(this.__wbg_ptr)}witness1(){const A=d.rawshapecasthit_witness1(this.__wbg_ptr);return X.__wrap(A)}witness2(){const A=d.rawcontactforceevent_total_force(this.__wbg_ptr);return X.__wrap(A)}normal1(){const A=d.rawshapecasthit_normal1(this.__wbg_ptr);return X.__wrap(A)}normal2(){const A=d.rawshapecasthit_normal2(this.__wbg_ptr);return X.__wrap(A)}}class ta{static __wrap(A){A>>>=0;const I=Object.create(ta.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawshapecontact_free(A)}distance(){return d.rawkinematiccharactercontroller_maxSlopeClimbAngle(this.__wbg_ptr)}point1(){const A=d.rawpointprojection_point(this.__wbg_ptr);return X.__wrap(A)}point2(){const A=d.rawcollidershapecasthit_witness1(this.__wbg_ptr);return X.__wrap(A)}normal1(){const A=d.rawcollidershapecasthit_witness2(this.__wbg_ptr);return X.__wrap(A)}normal2(){const A=d.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return X.__wrap(A)}}class X{static __wrap(A){A>>>=0;const I=Object.create(X.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();d.__wbg_rawvector_free(A)}static zero(){const A=d.rawvector_zero();return X.__wrap(A)}constructor(A,I,C){const B=d.rawvector_new(A,I,C);return this.__wbg_ptr=B>>>0,this}get x(){return d.rawrotation_x(this.__wbg_ptr)}set x(A){d.rawvector_set_x(this.__wbg_ptr,A)}get y(){return d.rawintegrationparameters_dt(this.__wbg_ptr)}set y(A){d.rawintegrationparameters_set_dt(this.__wbg_ptr,A)}get z(){return d.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}set z(A){d.rawvector_set_z(this.__wbg_ptr,A)}xyz(){const A=d.rawvector_xyz(this.__wbg_ptr);return X.__wrap(A)}yxz(){const A=d.rawvector_yxz(this.__wbg_ptr);return X.__wrap(A)}zxy(){const A=d.rawvector_zxy(this.__wbg_ptr);return X.__wrap(A)}xzy(){const A=d.rawvector_xzy(this.__wbg_ptr);return X.__wrap(A)}yzx(){const A=d.rawvector_yzx(this.__wbg_ptr);return X.__wrap(A)}zyx(){const A=d.rawvector_zyx(this.__wbg_ptr);return X.__wrap(A)}}async function Xq(g){if(d!==void 0)return d;g===void 0&&(g=new URL("rapier_wasm3d_bg.wasm",""));const A=function(){const B={wbg:{}};return B.wbg.__wbindgen_number_new=function(i){return Og(i)},B.wbg.__wbindgen_boolean_get=function(i){const Q=XI(i);return typeof Q=="boolean"?Q?1:0:2},B.wbg.__wbindgen_object_drop_ref=function(i){Qa(i)},B.wbg.__wbindgen_number_get=function(i,Q){const e=XI(Q),t=typeof e=="number"?e:void 0;ea()[i/8+1]=VA(t)?0:t,sI()[i/4+0]=!VA(t)},B.wbg.__wbindgen_is_function=function(i){return typeof XI(i)=="function"},B.wbg.__wbg_rawraycolliderintersection_new=function(i){return Og(wh.__wrap(i))},B.wbg.__wbg_rawcontactforceevent_new=function(i){return Og(lM.__wrap(i))},B.wbg.__wbg_call_01734de55d61e11d=function(){return uG(function(i,Q,e){return Og(XI(i).call(XI(Q),XI(e)))},arguments)},B.wbg.__wbg_call_4c92f6aec1e1d6e6=function(){return uG(function(i,Q,e,t){return Og(XI(i).call(XI(Q),XI(e),XI(t)))},arguments)},B.wbg.__wbg_call_776890ca77946e2f=function(){return uG(function(i,Q,e,t,E){return Og(XI(i).call(XI(Q),XI(e),XI(t),XI(E)))},arguments)},B.wbg.__wbg_bind_60a9a80cada2f33c=function(i,Q,e,t){return Og(XI(i).bind(XI(Q),XI(e),XI(t)))},B.wbg.__wbg_buffer_085ec1f694018c4f=function(i){return Og(XI(i).buffer)},B.wbg.__wbg_newwithbyteoffsetandlength_6da8e527659b86aa=function(i,Q,e){return Og(new Uint8Array(XI(i),Q>>>0,e>>>0))},B.wbg.__wbg_new_8125e318e6245eed=function(i){return Og(new Uint8Array(XI(i)))},B.wbg.__wbg_set_5cf90238115182c3=function(i,Q,e){XI(i).set(XI(Q),e>>>0)},B.wbg.__wbg_length_72e2208bbc0efc61=function(i){return XI(i).length},B.wbg.__wbg_newwithbyteoffsetandlength_69193e31c844b792=function(i,Q,e){return Og(new Float32Array(XI(i),Q>>>0,e>>>0))},B.wbg.__wbg_set_6146c51d49a2c0df=function(i,Q,e){XI(i).set(XI(Q),e>>>0)},B.wbg.__wbg_length_d7327c75a759af37=function(i){return XI(i).length},B.wbg.__wbg_newwithlength_68d29ab115d0099c=function(i){return Og(new Float32Array(i>>>0))},B.wbg.__wbindgen_throw=function(i,Q){throw new Error(Zq(i,Q))},B.wbg.__wbindgen_memory=function(){return Og(d.memory)},B}();(typeof g=="string"||typeof Request=="function"&&g instanceof Request||typeof URL=="function"&&g instanceof URL)&&(g=fetch(g));const{instance:I,module:C}=await async function(B,i){if(typeof Response=="function"&&B instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(B,i)}catch(e){if(B.headers.get("Content-Type")=="application/wasm")throw e;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e)}const Q=await B.arrayBuffer();return await WebAssembly.instantiate(Q,i)}{const Q=await WebAssembly.instantiate(B,i);return Q instanceof WebAssembly.Instance?{instance:Q,module:B}:Q}}(await g,A);return function(B,i){return d=B.exports,Xq.__wbindgen_wasm_module=i,ns=null,ts=null,Es=null,ss=null,os=null,d}(I,C)}class Mo{constructor(A,I,C){this.x=A,this.y=I,this.z=C}}class j{static new(A,I,C){return new Mo(A,I,C)}static intoRaw(A){return new X(A.x,A.y,A.z)}static zeros(){return j.new(0,0,0)}static fromRaw(A){if(!A)return null;let I=j.new(A.x,A.y,A.z);return A.free(),I}static copy(A,I){A.x=I.x,A.y=I.y,A.z=I.z}}class eD{constructor(A,I,C,B){this.x=A,this.y=I,this.z=C,this.w=B}}class UI{static identity(){return new eD(0,0,0,1)}static fromRaw(A){if(!A)return null;let I=new eD(A.x,A.y,A.z,A.w);return A.free(),I}static intoRaw(A){return new qI(A.x,A.y,A.z,A.w)}static copy(A,I){A.x=I.x,A.y=I.y,A.z=I.z,A.w=I.w}}class GM{constructor(A){this.elements=A}get m11(){return this.elements[0]}get m12(){return this.elements[1]}get m21(){return this.m12}get m13(){return this.elements[2]}get m31(){return this.m13}get m22(){return this.elements[3]}get m23(){return this.elements[4]}get m32(){return this.m23}get m33(){return this.elements[5]}}class tD{static fromRaw(A){const I=new GM(A.elements());return A.free(),I}}var ZB,EC,ED,oD,bo,Wt,Lg,nD,sD,aD,GQ,Ea,rD,oa,he;(function(g){g[g.Dynamic=0]="Dynamic",g[g.Fixed=1]="Fixed",g[g.KinematicPositionBased=2]="KinematicPositionBased",g[g.KinematicVelocityBased=3]="KinematicVelocityBased"})(ZB||(ZB={}));class lD{constructor(A,I,C){this.rawSet=A,this.colliderSet=I,this.handle=C}finalizeDeserialization(A){this.colliderSet=A}isValid(){return this.rawSet.contains(this.handle)}lockTranslations(A,I){return this.rawSet.rbLockTranslations(this.handle,A,I)}lockRotations(A,I){return this.rawSet.rbLockRotations(this.handle,A,I)}setEnabledTranslations(A,I,C,B){return this.rawSet.rbSetEnabledTranslations(this.handle,A,I,C,B)}restrictTranslations(A,I,C,B){this.setEnabledTranslations(A,I,C,B)}setEnabledRotations(A,I,C,B){return this.rawSet.rbSetEnabledRotations(this.handle,A,I,C,B)}restrictRotations(A,I,C,B){this.setEnabledRotations(A,I,C,B)}dominanceGroup(){return this.rawSet.rbDominanceGroup(this.handle)}setDominanceGroup(A){this.rawSet.rbSetDominanceGroup(this.handle,A)}additionalSolverIterations(){return this.rawSet.rbAdditionalSolverIterations(this.handle)}setAdditionalSolverIterations(A){this.rawSet.rbSetAdditionalSolverIterations(this.handle,A)}enableCcd(A){this.rawSet.rbEnableCcd(this.handle,A)}setSoftCcdPrediction(A){this.rawSet.rbSetSoftCcdPrediction(this.handle,A)}softCcdPrediction(){return this.rawSet.rbSoftCcdPrediction(this.handle)}translation(){let A=this.rawSet.rbTranslation(this.handle);return j.fromRaw(A)}rotation(){let A=this.rawSet.rbRotation(this.handle);return UI.fromRaw(A)}nextTranslation(){let A=this.rawSet.rbNextTranslation(this.handle);return j.fromRaw(A)}nextRotation(){let A=this.rawSet.rbNextRotation(this.handle);return UI.fromRaw(A)}setTranslation(A,I){this.rawSet.rbSetTranslation(this.handle,A.x,A.y,A.z,I)}setLinvel(A,I){let C=j.intoRaw(A);this.rawSet.rbSetLinvel(this.handle,C,I),C.free()}gravityScale(){return this.rawSet.rbGravityScale(this.handle)}setGravityScale(A,I){this.rawSet.rbSetGravityScale(this.handle,A,I)}setRotation(A,I){this.rawSet.rbSetRotation(this.handle,A.x,A.y,A.z,A.w,I)}setAngvel(A,I){let C=j.intoRaw(A);this.rawSet.rbSetAngvel(this.handle,C,I),C.free()}setNextKinematicTranslation(A){this.rawSet.rbSetNextKinematicTranslation(this.handle,A.x,A.y,A.z)}setNextKinematicRotation(A){this.rawSet.rbSetNextKinematicRotation(this.handle,A.x,A.y,A.z,A.w)}linvel(){return j.fromRaw(this.rawSet.rbLinvel(this.handle))}angvel(){return j.fromRaw(this.rawSet.rbAngvel(this.handle))}mass(){return this.rawSet.rbMass(this.handle)}effectiveInvMass(){return j.fromRaw(this.rawSet.rbEffectiveInvMass(this.handle))}invMass(){return this.rawSet.rbInvMass(this.handle)}localCom(){return j.fromRaw(this.rawSet.rbLocalCom(this.handle))}worldCom(){return j.fromRaw(this.rawSet.rbWorldCom(this.handle))}invPrincipalInertiaSqrt(){return j.fromRaw(this.rawSet.rbInvPrincipalInertiaSqrt(this.handle))}principalInertia(){return j.fromRaw(this.rawSet.rbPrincipalInertia(this.handle))}principalInertiaLocalFrame(){return UI.fromRaw(this.rawSet.rbPrincipalInertiaLocalFrame(this.handle))}effectiveWorldInvInertiaSqrt(){return tD.fromRaw(this.rawSet.rbEffectiveWorldInvInertiaSqrt(this.handle))}effectiveAngularInertia(){return tD.fromRaw(this.rawSet.rbEffectiveAngularInertia(this.handle))}sleep(){this.rawSet.rbSleep(this.handle)}wakeUp(){this.rawSet.rbWakeUp(this.handle)}isCcdEnabled(){return this.rawSet.rbIsCcdEnabled(this.handle)}numColliders(){return this.rawSet.rbNumColliders(this.handle)}collider(A){return this.colliderSet.get(this.rawSet.rbCollider(this.handle,A))}setEnabled(A){this.rawSet.rbSetEnabled(this.handle,A)}isEnabled(){return this.rawSet.rbIsEnabled(this.handle)}bodyType(){return this.rawSet.rbBodyType(this.handle)}setBodyType(A,I){return this.rawSet.rbSetBodyType(this.handle,A,I)}isSleeping(){return this.rawSet.rbIsSleeping(this.handle)}isMoving(){return this.rawSet.rbIsMoving(this.handle)}isFixed(){return this.rawSet.rbIsFixed(this.handle)}isKinematic(){return this.rawSet.rbIsKinematic(this.handle)}isDynamic(){return this.rawSet.rbIsDynamic(this.handle)}linearDamping(){return this.rawSet.rbLinearDamping(this.handle)}angularDamping(){return this.rawSet.rbAngularDamping(this.handle)}setLinearDamping(A){this.rawSet.rbSetLinearDamping(this.handle,A)}recomputeMassPropertiesFromColliders(){this.rawSet.rbRecomputeMassPropertiesFromColliders(this.handle,this.colliderSet.raw)}setAdditionalMass(A,I){this.rawSet.rbSetAdditionalMass(this.handle,A,I)}setAdditionalMassProperties(A,I,C,B,i){let Q=j.intoRaw(I),e=j.intoRaw(C),t=UI.intoRaw(B);this.rawSet.rbSetAdditionalMassProperties(this.handle,A,Q,e,t,i),Q.free(),e.free(),t.free()}setAngularDamping(A){this.rawSet.rbSetAngularDamping(this.handle,A)}resetForces(A){this.rawSet.rbResetForces(this.handle,A)}resetTorques(A){this.rawSet.rbResetTorques(this.handle,A)}addForce(A,I){const C=j.intoRaw(A);this.rawSet.rbAddForce(this.handle,C,I),C.free()}applyImpulse(A,I){const C=j.intoRaw(A);this.rawSet.rbApplyImpulse(this.handle,C,I),C.free()}addTorque(A,I){const C=j.intoRaw(A);this.rawSet.rbAddTorque(this.handle,C,I),C.free()}applyTorqueImpulse(A,I){const C=j.intoRaw(A);this.rawSet.rbApplyTorqueImpulse(this.handle,C,I),C.free()}addForceAtPoint(A,I,C){const B=j.intoRaw(A),i=j.intoRaw(I);this.rawSet.rbAddForceAtPoint(this.handle,B,i,C),B.free(),i.free()}applyImpulseAtPoint(A,I,C){const B=j.intoRaw(A),i=j.intoRaw(I);this.rawSet.rbApplyImpulseAtPoint(this.handle,B,i,C),B.free(),i.free()}}class WB{constructor(A){this.enabled=!0,this.status=A,this.translation=j.zeros(),this.rotation=UI.identity(),this.gravityScale=1,this.linvel=j.zeros(),this.mass=0,this.massOnly=!1,this.centerOfMass=j.zeros(),this.translationsEnabledX=!0,this.translationsEnabledY=!0,this.angvel=j.zeros(),this.principalAngularInertia=j.zeros(),this.angularInertiaLocalFrame=UI.identity(),this.translationsEnabledZ=!0,this.rotationsEnabledX=!0,this.rotationsEnabledY=!0,this.rotationsEnabledZ=!0,this.linearDamping=0,this.angularDamping=0,this.canSleep=!0,this.sleeping=!1,this.ccdEnabled=!1,this.softCcdPrediction=0,this.dominanceGroup=0,this.additionalSolverIterations=0}static dynamic(){return new WB(ZB.Dynamic)}static kinematicPositionBased(){return new WB(ZB.KinematicPositionBased)}static kinematicVelocityBased(){return new WB(ZB.KinematicVelocityBased)}static fixed(){return new WB(ZB.Fixed)}static newDynamic(){return new WB(ZB.Dynamic)}static newKinematicPositionBased(){return new WB(ZB.KinematicPositionBased)}static newKinematicVelocityBased(){return new WB(ZB.KinematicVelocityBased)}static newStatic(){return new WB(ZB.Fixed)}setDominanceGroup(A){return this.dominanceGroup=A,this}setAdditionalSolverIterations(A){return this.additionalSolverIterations=A,this}setEnabled(A){return this.enabled=A,this}setTranslation(A,I,C){if(typeof A!="number"||typeof I!="number"||typeof C!="number")throw TypeError("The translation components must be numbers.");return this.translation={x:A,y:I,z:C},this}setRotation(A){return UI.copy(this.rotation,A),this}setGravityScale(A){return this.gravityScale=A,this}setAdditionalMass(A){return this.mass=A,this.massOnly=!0,this}setLinvel(A,I,C){if(typeof A!="number"||typeof I!="number"||typeof C!="number")throw TypeError("The linvel components must be numbers.");return this.linvel={x:A,y:I,z:C},this}setAngvel(A){return j.copy(this.angvel,A),this}setAdditionalMassProperties(A,I,C,B){return this.mass=A,j.copy(this.centerOfMass,I),j.copy(this.principalAngularInertia,C),UI.copy(this.angularInertiaLocalFrame,B),this.massOnly=!1,this}enabledTranslations(A,I,C){return this.translationsEnabledX=A,this.translationsEnabledY=I,this.translationsEnabledZ=C,this}restrictTranslations(A,I,C){return this.enabledTranslations(A,I,C)}lockTranslations(){return this.enabledTranslations(!1,!1,!1)}enabledRotations(A,I,C){return this.rotationsEnabledX=A,this.rotationsEnabledY=I,this.rotationsEnabledZ=C,this}restrictRotations(A,I,C){return this.enabledRotations(A,I,C)}lockRotations(){return this.restrictRotations(!1,!1,!1)}setLinearDamping(A){return this.linearDamping=A,this}setAngularDamping(A){return this.angularDamping=A,this}setCanSleep(A){return this.canSleep=A,this}setSleeping(A){return this.sleeping=A,this}setCcdEnabled(A){return this.ccdEnabled=A,this}setSoftCcdPrediction(A){return this.softCcdPrediction=A,this}setUserData(A){return this.userData=A,this}}class uh{constructor(){this.fconv=new Float64Array(1),this.uconv=new Uint32Array(this.fconv.buffer),this.data=new Array,this.size=0}set(A,I){let C=this.index(A);for(;this.data.length<=C;)this.data.push(null);this.data[C]==null&&(this.size+=1),this.data[C]=I}len(){return this.size}delete(A){let I=this.index(A);IA!=null)}index(A){return this.fconv[0]=A,this.uconv[0]}}class yM{constructor(A){this.raw=A||new Rg,this.map=new uh,A&&A.forEachRigidBodyHandle(I=>{this.map.set(I,new lD(A,null,I))})}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}finalizeDeserialization(A){this.map.forEach(I=>I.finalizeDeserialization(A))}createRigidBody(A,I){let C=j.intoRaw(I.translation),B=UI.intoRaw(I.rotation),i=j.intoRaw(I.linvel),Q=j.intoRaw(I.centerOfMass),e=j.intoRaw(I.angvel),t=j.intoRaw(I.principalAngularInertia),E=UI.intoRaw(I.angularInertiaLocalFrame),s=this.raw.createRigidBody(I.enabled,C,B,I.gravityScale,I.mass,I.massOnly,Q,i,e,t,E,I.translationsEnabledX,I.translationsEnabledY,I.translationsEnabledZ,I.rotationsEnabledX,I.rotationsEnabledY,I.rotationsEnabledZ,I.linearDamping,I.angularDamping,I.status,I.canSleep,I.sleeping,I.softCcdPrediction,I.ccdEnabled,I.dominanceGroup,I.additionalSolverIterations);C.free(),B.free(),i.free(),Q.free(),e.free(),t.free(),E.free();const a=new lD(this.raw,A,s);return a.userData=I.userData,this.map.set(s,a),a}remove(A,I,C,B,i){for(let Q=0;QB.unmap(Q)),i.forEachJointHandleAttachedToRigidBody(A,Q=>i.unmap(Q)),this.raw.remove(A,I.raw,C.raw,B.raw,i.raw),this.map.delete(A)}len(){return this.map.len()}contains(A){return this.get(A)!=null}get(A){return this.map.get(A)}forEach(A){this.map.forEach(A)}forEachActiveRigidBody(A,I){A.forEachActiveRigidBodyHandle(C=>{I(this.get(C))})}getAll(){return this.map.getAll()}}class uM{constructor(A){this.raw=A||new Zt}free(){this.raw&&this.raw.free(),this.raw=void 0}get dt(){return this.raw.dt}get erp(){return this.raw.erp}get lengthUnit(){return this.raw.lengthUnit}get normalizedAllowedLinearError(){return this.raw.normalizedAllowedLinearError}get normalizedPredictionDistance(){return this.raw.normalizedPredictionDistance}get numSolverIterations(){return this.raw.numSolverIterations}get numAdditionalFrictionIterations(){return this.raw.numAdditionalFrictionIterations}get numInternalPgsIterations(){return this.raw.numInternalPgsIterations}get minIslandSize(){return this.raw.minIslandSize}get maxCcdSubsteps(){return this.raw.maxCcdSubsteps}set dt(A){this.raw.dt=A}set erp(A){this.raw.erp=A}set lengthUnit(A){this.raw.lengthUnit=A}set normalizedAllowedLinearError(A){this.raw.normalizedAllowedLinearError=A}set normalizedPredictionDistance(A){this.raw.normalizedPredictionDistance=A}set numSolverIterations(A){this.raw.numSolverIterations=A}set numAdditionalFrictionIterations(A){this.raw.numAdditionalFrictionIterations=A}set numInternalPgsIterations(A){this.raw.numInternalPgsIterations=A}set minIslandSize(A){this.raw.minIslandSize=A}set maxCcdSubsteps(A){this.raw.maxCcdSubsteps=A}switchToStandardPgsSolver(){this.raw.switchToStandardPgsSolver()}switchToSmallStepsPgsSolver(){this.raw.switchToSmallStepsPgsSolver()}switchToSmallStepsPgsSolverWithoutWarmstart(){this.raw.switchToSmallStepsPgsSolverWithoutWarmstart()}}(function(g){g[g.Revolute=0]="Revolute",g[g.Fixed=1]="Fixed",g[g.Prismatic=2]="Prismatic",g[g.Rope=3]="Rope",g[g.Spring=4]="Spring",g[g.Spherical=5]="Spherical",g[g.Generic=6]="Generic"})(EC||(EC={})),function(g){g[g.AccelerationBased=0]="AccelerationBased",g[g.ForceBased=1]="ForceBased"}(ED||(ED={})),function(g){g[g.X=1]="X",g[g.Y=2]="Y",g[g.Z=4]="Z",g[g.AngX=8]="AngX",g[g.AngY=16]="AngY",g[g.AngZ=32]="AngZ"}(oD||(oD={}));class ii{constructor(A,I,C){this.rawSet=A,this.bodySet=I,this.handle=C}static newTyped(A,I,C){switch(A.jointType(C)){case Si.Revolute:return new UM(A,I,C);case Si.Prismatic:return new pM(A,I,C);case Si.Fixed:return new kM(A,I,C);case Si.Spring:return new dM(A,I,C);case Si.Rope:return new MM(A,I,C);case Si.Spherical:return new FM(A,I,C);case Si.Generic:return new NM(A,I,C);default:return new ii(A,I,C)}}finalizeDeserialization(A){this.bodySet=A}isValid(){return this.rawSet.contains(this.handle)}body1(){return this.bodySet.get(this.rawSet.jointBodyHandle1(this.handle))}body2(){return this.bodySet.get(this.rawSet.jointBodyHandle2(this.handle))}type(){return this.rawSet.jointType(this.handle)}frameX1(){return UI.fromRaw(this.rawSet.jointFrameX1(this.handle))}frameX2(){return UI.fromRaw(this.rawSet.jointFrameX2(this.handle))}anchor1(){return j.fromRaw(this.rawSet.jointAnchor1(this.handle))}anchor2(){return j.fromRaw(this.rawSet.jointAnchor2(this.handle))}setAnchor1(A){const I=j.intoRaw(A);this.rawSet.jointSetAnchor1(this.handle,I),I.free()}setAnchor2(A){const I=j.intoRaw(A);this.rawSet.jointSetAnchor2(this.handle,I),I.free()}setContactsEnabled(A){this.rawSet.jointSetContactsEnabled(this.handle,A)}contactsEnabled(){return this.rawSet.jointContactsEnabled(this.handle)}}class kh extends ii{limitsEnabled(){return this.rawSet.jointLimitsEnabled(this.handle,this.rawAxis())}limitsMin(){return this.rawSet.jointLimitsMin(this.handle,this.rawAxis())}limitsMax(){return this.rawSet.jointLimitsMax(this.handle,this.rawAxis())}setLimits(A,I){this.rawSet.jointSetLimits(this.handle,this.rawAxis(),A,I)}configureMotorModel(A){this.rawSet.jointConfigureMotorModel(this.handle,this.rawAxis(),A)}configureMotorVelocity(A,I){this.rawSet.jointConfigureMotorVelocity(this.handle,this.rawAxis(),A,I)}configureMotorPosition(A,I,C){this.rawSet.jointConfigureMotorPosition(this.handle,this.rawAxis(),A,I,C)}configureMotor(A,I,C,B){this.rawSet.jointConfigureMotor(this.handle,this.rawAxis(),A,I,C,B)}}class kM extends ii{}class MM extends ii{}class dM extends ii{}class pM extends kh{rawAxis(){return Dh.X}}class UM extends kh{rawAxis(){return Dh.AngX}}class NM extends ii{}class FM extends ii{}class Ti{constructor(){}static fixed(A,I,C,B){let i=new Ti;return i.anchor1=A,i.anchor2=C,i.frame1=I,i.frame2=B,i.jointType=EC.Fixed,i}static spring(A,I,C,B,i){let Q=new Ti;return Q.anchor1=B,Q.anchor2=i,Q.length=A,Q.stiffness=I,Q.damping=C,Q.jointType=EC.Spring,Q}static rope(A,I,C){let B=new Ti;return B.anchor1=I,B.anchor2=C,B.length=A,B.jointType=EC.Rope,B}static generic(A,I,C,B){let i=new Ti;return i.anchor1=A,i.anchor2=I,i.axis=C,i.axesMask=B,i.jointType=EC.Generic,i}static spherical(A,I){let C=new Ti;return C.anchor1=A,C.anchor2=I,C.jointType=EC.Spherical,C}static prismatic(A,I,C){let B=new Ti;return B.anchor1=A,B.anchor2=I,B.axis=C,B.jointType=EC.Prismatic,B}static revolute(A,I,C){let B=new Ti;return B.anchor1=A,B.anchor2=I,B.axis=C,B.jointType=EC.Revolute,B}intoRaw(){let A,I,C=j.intoRaw(this.anchor1),B=j.intoRaw(this.anchor2),i=!1,Q=0,e=0;switch(this.jointType){case EC.Fixed:let t=UI.intoRaw(this.frame1),E=UI.intoRaw(this.frame2);I=nC.fixed(C,t,B,E),t.free(),E.free();break;case EC.Spring:I=nC.spring(this.length,this.stiffness,this.damping,C,B);break;case EC.Rope:I=nC.rope(this.length,C,B);break;case EC.Prismatic:A=j.intoRaw(this.axis),this.limitsEnabled&&(i=!0,Q=this.limits[0],e=this.limits[1]),I=nC.prismatic(C,B,A,i,Q,e),A.free();break;case EC.Generic:A=j.intoRaw(this.axis);let s=this.axesMask;I=nC.generic(C,B,A,s);break;case EC.Spherical:I=nC.spherical(C,B);break;case EC.Revolute:A=j.intoRaw(this.axis),I=nC.revolute(C,B,A),A.free()}return C.free(),B.free(),I}}class RM{constructor(A){this.raw=A||new fQ,this.map=new uh,A&&A.forEachJointHandle(I=>{this.map.set(I,ii.newTyped(A,null,I))})}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}finalizeDeserialization(A){this.map.forEach(I=>I.finalizeDeserialization(A))}createJoint(A,I,C,B,i){const Q=I.intoRaw(),e=this.raw.createJoint(Q,C,B,i);Q.free();let t=ii.newTyped(this.raw,A,e);return this.map.set(e,t),t}remove(A,I){this.raw.remove(A,I),this.unmap(A)}forEachJointHandleAttachedToRigidBody(A,I){this.raw.forEachJointAttachedToRigidBody(A,I)}unmap(A){this.map.delete(A)}len(){return this.map.len()}contains(A){return this.get(A)!=null}get(A){return this.map.get(A)}forEach(A){this.map.forEach(A)}getAll(){return this.map.getAll()}}class YQ{constructor(A,I){this.rawSet=A,this.handle=I}static newTyped(A,I){switch(A.jointType(I)){case Si.Revolute:return new fM(A,I);case Si.Prismatic:return new JM(A,I);case Si.Fixed:return new KM(A,I);case Si.Spherical:return new qM(A,I);default:return new YQ(A,I)}}isValid(){return this.rawSet.contains(this.handle)}setContactsEnabled(A){this.rawSet.jointSetContactsEnabled(this.handle,A)}contactsEnabled(){return this.rawSet.jointContactsEnabled(this.handle)}}class Mh extends YQ{}class KM extends YQ{}class JM extends Mh{rawAxis(){return Dh.X}}class fM extends Mh{rawAxis(){return Dh.AngX}}class qM extends YQ{}class mM{constructor(A){this.raw=A||new mQ,this.map=new uh,A&&A.forEachJointHandle(I=>{this.map.set(I,YQ.newTyped(this.raw,I))})}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}createJoint(A,I,C,B){const i=A.intoRaw(),Q=this.raw.createJoint(i,I,C,B);i.free();let e=YQ.newTyped(this.raw,Q);return this.map.set(Q,e),e}remove(A,I){this.raw.remove(A,I),this.map.delete(A)}unmap(A){this.map.delete(A)}len(){return this.map.len()}contains(A){return this.get(A)!=null}get(A){return this.map.get(A)}forEach(A){this.map.forEach(A)}forEachJointHandleAttachedToRigidBody(A,I){this.raw.forEachJointAttachedToRigidBody(A,I)}getAll(){return this.map.getAll()}}(function(g){g[g.Average=0]="Average",g[g.Min=1]="Min",g[g.Multiply=2]="Multiply",g[g.Max=3]="Max"})(bo||(bo={}));class YM{constructor(A){this.raw=A||new Mu}free(){this.raw&&this.raw.free(),this.raw=void 0}}class LM{constructor(A){this.raw=A||new qQ}free(){this.raw&&this.raw.free(),this.raw=void 0}forEachActiveRigidBodyHandle(A){this.raw.forEachActiveRigidBodyHandle(A)}}class HM{constructor(A){this.raw=A||new Pt}free(){this.raw&&this.raw.free(),this.raw=void 0}}class TM{constructor(A){this.raw=A||new fe,this.tempManifold=new xM(null)}free(){this.raw&&this.raw.free(),this.raw=void 0}contactPairsWith(A,I){this.raw.contact_pairs_with(A,I)}intersectionPairsWith(A,I){this.raw.intersection_pairs_with(A,I)}contactPair(A,I,C){const B=this.raw.contact_pair(A,I);if(B){const i=B.collider1()!=A;let Q;for(Q=0;QQ(_o.fromRaw(I,h)),e,t,E,s,a),r.free(),l.free()}intersectionWithShape(A,I,C,B,i,Q,e,t,E,s){let a=j.intoRaw(C),r=UI.intoRaw(B),l=i.intoRaw(),h=this.raw.intersectionWithShape(A.raw,I.raw,a,r,l,Q,e,t,E,s);return a.free(),r.free(),l.free(),h}projectPoint(A,I,C,B,i,Q,e,t,E){let s=j.intoRaw(C),a=Oo.fromRaw(I,this.raw.projectPoint(A.raw,I.raw,s,B,i,Q,e,t,E));return s.free(),a}projectPointAndGetFeature(A,I,C,B,i,Q,e,t){let E=j.intoRaw(C),s=Oo.fromRaw(I,this.raw.projectPointAndGetFeature(A.raw,I.raw,E,B,i,Q,e,t));return E.free(),s}intersectionsWithPoint(A,I,C,B,i,Q,e,t,E){let s=j.intoRaw(C);this.raw.intersectionsWithPoint(A.raw,I.raw,s,B,i,Q,e,t,E),s.free()}castShape(A,I,C,B,i,Q,e,t,E,s,a,r,l,h){let w=j.intoRaw(C),S=UI.intoRaw(B),c=j.intoRaw(i),G=Q.intoRaw(),u=Qn.fromRaw(I,this.raw.castShape(A.raw,I.raw,w,S,c,G,e,t,E,s,a,r,l,h));return w.free(),S.free(),c.free(),G.free(),u}intersectionsWithShape(A,I,C,B,i,Q,e,t,E,s,a){let r=j.intoRaw(C),l=UI.intoRaw(B),h=i.intoRaw();this.raw.intersectionsWithShape(A.raw,I.raw,r,l,h,Q,e,t,E,s,a),r.free(),l.free(),h.free()}collidersWithAabbIntersectingAabb(A,I,C){let B=j.intoRaw(A),i=j.intoRaw(I);this.raw.collidersWithAabbIntersectingAabb(B,i,C),B.free(),i.free()}}class cD{constructor(A){this.raw=A||new FZ}free(){this.raw&&this.raw.free(),this.raw=void 0}serializeAll(A,I,C,B,i,Q,e,t,E){let s=j.intoRaw(A);const a=this.raw.serializeAll(s,I.raw,C.raw,B.raw,i.raw,Q.raw,e.raw,t.raw,E.raw);return s.free(),a}deserializeAll(A){return Ha.fromRaw(this.raw.deserializeAll(A))}}class PM{constructor(A,I){this.vertices=A,this.colors=I}}class ZM{constructor(A){this.raw=A||new dZ}free(){this.raw&&this.raw.free(),this.raw=void 0,this.vertices=void 0,this.colors=void 0}render(A,I,C,B,i){this.raw.render(A.raw,I.raw,C.raw,B.raw,i.raw),this.vertices=this.raw.vertices(),this.colors=this.raw.colors()}}class WM{}class VM{constructor(A,I,C,B,i){this.params=I,this.bodies=C,this.colliders=B,this.queries=i,this.raw=new UZ(A),this.rawCharacterCollision=new Vq,this._applyImpulsesToDynamicBodies=!1,this._characterMass=null}free(){this.raw&&(this.raw.free(),this.rawCharacterCollision.free()),this.raw=void 0,this.rawCharacterCollision=void 0}up(){return this.raw.up()}setUp(A){let I=j.intoRaw(A);return this.raw.setUp(I)}applyImpulsesToDynamicBodies(){return this._applyImpulsesToDynamicBodies}setApplyImpulsesToDynamicBodies(A){this._applyImpulsesToDynamicBodies=A}characterMass(){return this._characterMass}setCharacterMass(A){this._characterMass=A}offset(){return this.raw.offset()}setOffset(A){this.raw.setOffset(A)}normalNudgeFactor(){return this.raw.normalNudgeFactor()}setNormalNudgeFactor(A){this.raw.setNormalNudgeFactor(A)}slideEnabled(){return this.raw.slideEnabled()}setSlideEnabled(A){this.raw.setSlideEnabled(A)}autostepMaxHeight(){return this.raw.autostepMaxHeight()}autostepMinWidth(){return this.raw.autostepMinWidth()}autostepIncludesDynamicBodies(){return this.raw.autostepIncludesDynamicBodies()}autostepEnabled(){return this.raw.autostepEnabled()}enableAutostep(A,I,C){this.raw.enableAutostep(A,I,C)}disableAutostep(){return this.raw.disableAutostep()}maxSlopeClimbAngle(){return this.raw.maxSlopeClimbAngle()}setMaxSlopeClimbAngle(A){this.raw.setMaxSlopeClimbAngle(A)}minSlopeSlideAngle(){return this.raw.minSlopeSlideAngle()}setMinSlopeSlideAngle(A){this.raw.setMinSlopeSlideAngle(A)}snapToGroundDistance(){return this.raw.snapToGroundDistance()}enableSnapToGround(A){this.raw.enableSnapToGround(A)}disableSnapToGround(){this.raw.disableSnapToGround()}snapToGroundEnabled(){return this.raw.snapToGroundEnabled()}computeColliderMovement(A,I,C,B,i){let Q=j.intoRaw(I);this.raw.computeColliderMovement(this.params.dt,this.bodies.raw,this.colliders.raw,this.queries.raw,A.handle,Q,this._applyImpulsesToDynamicBodies,this._characterMass,C,B,this.colliders.castClosure(i)),Q.free()}computedMovement(){return j.fromRaw(this.raw.computedMovement())}computedGrounded(){return this.raw.computedGrounded()}numComputedCollisions(){return this.raw.numComputedCollisions()}computedCollision(A,I){if(this.raw.computedCollision(A,this.rawCharacterCollision)){let C=this.rawCharacterCollision;return(I=I??new WM).translationDeltaApplied=j.fromRaw(C.translationDeltaApplied()),I.translationDeltaRemaining=j.fromRaw(C.translationDeltaRemaining()),I.toi=C.toi(),I.witness1=j.fromRaw(C.worldWitness1()),I.witness2=j.fromRaw(C.worldWitness2()),I.normal1=j.fromRaw(C.worldNormal1()),I.normal2=j.fromRaw(C.worldNormal2()),I.collider=this.colliders.get(C.handle()),I}return null}}class jM{constructor(A,I,C,B){this.raw=new pZ(A.handle),this.bodies=I,this.colliders=C,this.queries=B,this._chassis=A}free(){this.raw&&this.raw.free(),this.raw=void 0}updateVehicle(A,I,C,B){this.raw.update_vehicle(A,this.bodies.raw,this.colliders.raw,this.queries.raw,I,C,this.colliders.castClosure(B))}currentVehicleSpeed(){return this.raw.current_vehicle_speed()}chassis(){return this._chassis}get indexUpAxis(){return this.raw.index_up_axis()}set indexUpAxis(A){this.raw.set_index_up_axis(A)}get indexForwardAxis(){return this.raw.index_forward_axis()}set setIndexForwardAxis(A){this.raw.set_index_forward_axis(A)}addWheel(A,I,C,B,i){let Q=j.intoRaw(A),e=j.intoRaw(I),t=j.intoRaw(C);this.raw.add_wheel(Q,e,t,B,i),Q.free(),e.free(),t.free()}numWheels(){return this.raw.num_wheels()}wheelChassisConnectionPointCs(A){return j.fromRaw(this.raw.wheel_chassis_connection_point_cs(A))}setWheelChassisConnectionPointCs(A,I){let C=j.intoRaw(I);this.raw.set_wheel_chassis_connection_point_cs(A,C),C.free()}wheelSuspensionRestLength(A){return this.raw.wheel_suspension_rest_length(A)}setWheelSuspensionRestLength(A,I){this.raw.set_wheel_suspension_rest_length(A,I)}wheelMaxSuspensionTravel(A){return this.raw.wheel_max_suspension_travel(A)}setWheelMaxSuspensionTravel(A,I){this.raw.set_wheel_max_suspension_travel(A,I)}wheelRadius(A){return this.raw.wheel_radius(A)}setWheelRadius(A,I){this.raw.set_wheel_radius(A,I)}wheelSuspensionStiffness(A){return this.raw.wheel_suspension_stiffness(A)}setWheelSuspensionStiffness(A,I){this.raw.set_wheel_suspension_stiffness(A,I)}wheelSuspensionCompression(A){return this.raw.wheel_suspension_compression(A)}setWheelSuspensionCompression(A,I){this.raw.set_wheel_suspension_compression(A,I)}wheelSuspensionRelaxation(A){return this.raw.wheel_suspension_relaxation(A)}setWheelSuspensionRelaxation(A,I){this.raw.set_wheel_suspension_relaxation(A,I)}wheelMaxSuspensionForce(A){return this.raw.wheel_max_suspension_force(A)}setWheelMaxSuspensionForce(A,I){this.raw.set_wheel_max_suspension_force(A,I)}wheelBrake(A){return this.raw.wheel_brake(A)}setWheelBrake(A,I){this.raw.set_wheel_brake(A,I)}wheelSteering(A){return this.raw.wheel_steering(A)}setWheelSteering(A,I){this.raw.set_wheel_steering(A,I)}wheelEngineForce(A){return this.raw.wheel_engine_force(A)}setWheelEngineForce(A,I){this.raw.set_wheel_engine_force(A,I)}wheelDirectionCs(A){return j.fromRaw(this.raw.wheel_direction_cs(A))}setWheelDirectionCs(A,I){let C=j.intoRaw(I);this.raw.set_wheel_direction_cs(A,C),C.free()}wheelAxleCs(A){return j.fromRaw(this.raw.wheel_axle_cs(A))}setWheelAxleCs(A,I){let C=j.intoRaw(I);this.raw.set_wheel_axle_cs(A,C),C.free()}wheelFrictionSlip(A){return this.raw.wheel_friction_slip(A)}setWheelFrictionSlip(A,I){this.raw.set_wheel_friction_slip(A,I)}wheelSideFrictionStiffness(A){return this.raw.wheel_side_friction_stiffness(A)}setWheelSideFrictionStiffness(A,I){this.raw.set_wheel_side_friction_stiffness(A,I)}wheelRotation(A){return this.raw.wheel_rotation(A)}wheelForwardImpulse(A){return this.raw.wheel_forward_impulse(A)}wheelSideImpulse(A){return this.raw.wheel_side_impulse(A)}wheelSuspensionForce(A){return this.raw.wheel_suspension_force(A)}wheelContactNormal(A){return j.fromRaw(this.raw.wheel_contact_normal_ws(A))}wheelContactPoint(A){return j.fromRaw(this.raw.wheel_contact_point_ws(A))}wheelSuspensionLength(A){return this.raw.wheel_suspension_length(A)}wheelHardPoint(A){return j.fromRaw(this.raw.wheel_hard_point_ws(A))}wheelIsInContact(A){return this.raw.wheel_is_in_contact(A)}wheelGroundObject(A){return this.colliders.get(this.raw.wheel_ground_object(A))}}class Ha{constructor(A,I,C,B,i,Q,e,t,E,s,a,r,l,h){this.gravity=A,this.integrationParameters=new uM(I),this.islands=new LM(C),this.broadPhase=new HM(B),this.narrowPhase=new TM(i),this.bodies=new yM(Q),this.colliders=new $M(e),this.impulseJoints=new RM(t),this.multibodyJoints=new mM(E),this.ccdSolver=new YM(s),this.queryPipeline=new _M(a),this.physicsPipeline=new OM(r),this.serializationPipeline=new cD(l),this.debugRenderPipeline=new ZM(h),this.characterControllers=new Set,this.vehicleControllers=new Set,this.impulseJoints.finalizeDeserialization(this.bodies),this.bodies.finalizeDeserialization(this.colliders),this.colliders.finalizeDeserialization(this.bodies)}free(){this.integrationParameters.free(),this.islands.free(),this.broadPhase.free(),this.narrowPhase.free(),this.bodies.free(),this.colliders.free(),this.impulseJoints.free(),this.multibodyJoints.free(),this.ccdSolver.free(),this.queryPipeline.free(),this.physicsPipeline.free(),this.serializationPipeline.free(),this.debugRenderPipeline.free(),this.characterControllers.forEach(A=>A.free()),this.vehicleControllers.forEach(A=>A.free()),this.integrationParameters=void 0,this.islands=void 0,this.broadPhase=void 0,this.narrowPhase=void 0,this.bodies=void 0,this.colliders=void 0,this.ccdSolver=void 0,this.impulseJoints=void 0,this.multibodyJoints=void 0,this.queryPipeline=void 0,this.physicsPipeline=void 0,this.serializationPipeline=void 0,this.debugRenderPipeline=void 0,this.characterControllers=void 0,this.vehicleControllers=void 0}static fromRaw(A){return A?new Ha(j.fromRaw(A.takeGravity()),A.takeIntegrationParameters(),A.takeIslandManager(),A.takeBroadPhase(),A.takeNarrowPhase(),A.takeBodies(),A.takeColliders(),A.takeImpulseJoints(),A.takeMultibodyJoints()):null}takeSnapshot(){return this.serializationPipeline.serializeAll(this.gravity,this.integrationParameters,this.islands,this.broadPhase,this.narrowPhase,this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints)}static restoreSnapshot(A){return new cD().deserializeAll(A)}debugRender(){return this.debugRenderPipeline.render(this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints,this.narrowPhase),new PM(this.debugRenderPipeline.vertices,this.debugRenderPipeline.colors)}step(A,I){this.physicsPipeline.step(this.gravity,this.integrationParameters,this.islands,this.broadPhase,this.narrowPhase,this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints,this.ccdSolver,A,I),this.queryPipeline.update(this.bodies,this.colliders)}propagateModifiedBodyPositionsToColliders(){this.bodies.raw.propagateModifiedBodyPositionsToColliders(this.colliders.raw)}updateSceneQueries(){this.propagateModifiedBodyPositionsToColliders(),this.queryPipeline.update(this.bodies,this.colliders)}get timestep(){return this.integrationParameters.dt}set timestep(A){this.integrationParameters.dt=A}get lengthUnit(){return this.integrationParameters.lengthUnit}set lengthUnit(A){this.integrationParameters.lengthUnit=A}get numSolverIterations(){return this.integrationParameters.numSolverIterations}set numSolverIterations(A){this.integrationParameters.numSolverIterations=A}get numAdditionalFrictionIterations(){return this.integrationParameters.numAdditionalFrictionIterations}set numAdditionalFrictionIterations(A){this.integrationParameters.numAdditionalFrictionIterations=A}get numInternalPgsIterations(){return this.integrationParameters.numInternalPgsIterations}set numInternalPgsIterations(A){this.integrationParameters.numInternalPgsIterations=A}switchToStandardPgsSolver(){this.integrationParameters.switchToStandardPgsSolver()}switchToSmallStepsPgsSolver(){this.integrationParameters.switchToSmallStepsPgsSolver()}switchToSmallStepsPgsSolverWithoutWarmstart(){this.integrationParameters.switchToSmallStepsPgsSolverWithoutWarmstart()}createRigidBody(A){return this.bodies.createRigidBody(this.colliders,A)}createCharacterController(A){let I=new VM(A,this.integrationParameters,this.bodies,this.colliders,this.queryPipeline);return this.characterControllers.add(I),I}removeCharacterController(A){this.characterControllers.delete(A),A.free()}createVehicleController(A){let I=new jM(A,this.bodies,this.colliders,this.queryPipeline);return this.vehicleControllers.add(I),I}removeVehicleController(A){this.vehicleControllers.delete(A),A.free()}createCollider(A,I){let C=I?I.handle:void 0;return this.colliders.createCollider(this.bodies,A,C)}createImpulseJoint(A,I,C,B){return this.impulseJoints.createJoint(this.bodies,A,I.handle,C.handle,B)}createMultibodyJoint(A,I,C,B){return this.multibodyJoints.createJoint(A,I.handle,C.handle,B)}getRigidBody(A){return this.bodies.get(A)}getCollider(A){return this.colliders.get(A)}getImpulseJoint(A){return this.impulseJoints.get(A)}getMultibodyJoint(A){return this.multibodyJoints.get(A)}removeRigidBody(A){this.bodies&&this.bodies.remove(A.handle,this.islands,this.colliders,this.impulseJoints,this.multibodyJoints)}removeCollider(A,I){this.colliders&&this.colliders.remove(A.handle,this.islands,this.bodies,I)}removeImpulseJoint(A,I){this.impulseJoints&&this.impulseJoints.remove(A.handle,I)}removeMultibodyJoint(A,I){this.impulseJoints&&this.multibodyJoints.remove(A.handle,I)}forEachCollider(A){this.colliders.forEach(A)}forEachRigidBody(A){this.bodies.forEach(A)}forEachActiveRigidBody(A){this.bodies.forEachActiveRigidBody(this.islands,A)}castRay(A,I,C,B,i,Q,e,t){return this.queryPipeline.castRay(this.bodies,this.colliders,A,I,C,B,i,Q?Q.handle:null,e?e.handle:null,this.colliders.castClosure(t))}castRayAndGetNormal(A,I,C,B,i,Q,e,t){return this.queryPipeline.castRayAndGetNormal(this.bodies,this.colliders,A,I,C,B,i,Q?Q.handle:null,e?e.handle:null,this.colliders.castClosure(t))}intersectionsWithRay(A,I,C,B,i,Q,e,t,E){this.queryPipeline.intersectionsWithRay(this.bodies,this.colliders,A,I,C,B,i,Q,e?e.handle:null,t?t.handle:null,this.colliders.castClosure(E))}intersectionWithShape(A,I,C,B,i,Q,e,t){let E=this.queryPipeline.intersectionWithShape(this.bodies,this.colliders,A,I,C,B,i,Q?Q.handle:null,e?e.handle:null,this.colliders.castClosure(t));return E!=null?this.colliders.get(E):null}projectPoint(A,I,C,B,i,Q,e){return this.queryPipeline.projectPoint(this.bodies,this.colliders,A,I,C,B,i?i.handle:null,Q?Q.handle:null,this.colliders.castClosure(e))}projectPointAndGetFeature(A,I,C,B,i,Q){return this.queryPipeline.projectPointAndGetFeature(this.bodies,this.colliders,A,I,C,B?B.handle:null,i?i.handle:null,this.colliders.castClosure(Q))}intersectionsWithPoint(A,I,C,B,i,Q,e){this.queryPipeline.intersectionsWithPoint(this.bodies,this.colliders,A,this.colliders.castClosure(I),C,B,i?i.handle:null,Q?Q.handle:null,this.colliders.castClosure(e))}castShape(A,I,C,B,i,Q,e,t,E,s,a,r){return this.queryPipeline.castShape(this.bodies,this.colliders,A,I,C,B,i,Q,e,t,E,s?s.handle:null,a?a.handle:null,this.colliders.castClosure(r))}intersectionsWithShape(A,I,C,B,i,Q,e,t,E){this.queryPipeline.intersectionsWithShape(this.bodies,this.colliders,A,I,C,this.colliders.castClosure(B),i,Q,e?e.handle:null,t?t.handle:null,this.colliders.castClosure(E))}collidersWithAabbIntersectingAabb(A,I,C){this.queryPipeline.collidersWithAabbIntersectingAabb(A,I,this.colliders.castClosure(C))}contactPairsWith(A,I){this.narrowPhase.contactPairsWith(A.handle,this.colliders.castClosure(I))}intersectionPairsWith(A,I){this.narrowPhase.intersectionPairsWith(A.handle,this.colliders.castClosure(I))}contactPair(A,I,C){this.narrowPhase.contactPair(A.handle,I.handle,C)}intersectionPair(A,I){return this.narrowPhase.intersectionPair(A.handle,I.handle)}}(function(g){g[g.NONE=0]="NONE",g[g.COLLISION_EVENTS=1]="COLLISION_EVENTS",g[g.CONTACT_FORCE_EVENTS=2]="CONTACT_FORCE_EVENTS"})(GQ||(GQ={}));class XM{free(){this.raw&&this.raw.free(),this.raw=void 0}collider1(){return this.raw.collider1()}collider2(){return this.raw.collider2()}totalForce(){return j.fromRaw(this.raw.total_force())}totalForceMagnitude(){return this.raw.total_force_magnitude()}maxForceDirection(){return j.fromRaw(this.raw.max_force_direction())}maxForceMagnitude(){return this.raw.max_force_magnitude()}}class zM{constructor(A,I){this.raw=I||new jq(A)}free(){this.raw&&this.raw.free(),this.raw=void 0}drainCollisionEvents(A){this.raw.drainCollisionEvents(A)}drainContactForceEvents(A){let I=new XM;this.raw.drainContactForceEvents(C=>{I.raw=C,A(I),I.free()})}clear(){this.raw.clear()}}(function(g){g[g.NONE=0]="NONE",g[g.FILTER_CONTACT_PAIRS=1]="FILTER_CONTACT_PAIRS",g[g.FILTER_INTERSECTION_PAIRS=2]="FILTER_INTERSECTION_PAIRS"})(Ea||(Ea={})),function(g){g[g.EMPTY=0]="EMPTY",g[g.COMPUTE_IMPULSE=1]="COMPUTE_IMPULSE"}(rD||(rD={})),function(g){g[g.DYNAMIC_DYNAMIC=1]="DYNAMIC_DYNAMIC",g[g.DYNAMIC_KINEMATIC=12]="DYNAMIC_KINEMATIC",g[g.DYNAMIC_FIXED=2]="DYNAMIC_FIXED",g[g.KINEMATIC_KINEMATIC=52224]="KINEMATIC_KINEMATIC",g[g.KINEMATIC_FIXED=8704]="KINEMATIC_FIXED",g[g.FIXED_FIXED=32]="FIXED_FIXED",g[g.DEFAULT=15]="DEFAULT",g[g.ALL=60943]="ALL"}(oa||(oa={}));class DD{constructor(A,I,C,B){this.colliderSet=A,this.handle=I,this._parent=C,this._shape=B}finalizeDeserialization(A){this.handle!=null&&(this._parent=A.get(this.colliderSet.raw.coParent(this.handle)))}ensureShapeIsCached(){this._shape||(this._shape=jg.fromRaw(this.colliderSet.raw,this.handle))}get shape(){return this.ensureShapeIsCached(),this._shape}isValid(){return this.colliderSet.raw.contains(this.handle)}translation(){return j.fromRaw(this.colliderSet.raw.coTranslation(this.handle))}rotation(){return UI.fromRaw(this.colliderSet.raw.coRotation(this.handle))}isSensor(){return this.colliderSet.raw.coIsSensor(this.handle)}setSensor(A){this.colliderSet.raw.coSetSensor(this.handle,A)}setShape(A){let I=A.intoRaw();this.colliderSet.raw.coSetShape(this.handle,I),I.free(),this._shape=A}setEnabled(A){this.colliderSet.raw.coSetEnabled(this.handle,A)}isEnabled(){return this.colliderSet.raw.coIsEnabled(this.handle)}setRestitution(A){this.colliderSet.raw.coSetRestitution(this.handle,A)}setFriction(A){this.colliderSet.raw.coSetFriction(this.handle,A)}frictionCombineRule(){return this.colliderSet.raw.coFrictionCombineRule(this.handle)}setFrictionCombineRule(A){this.colliderSet.raw.coSetFrictionCombineRule(this.handle,A)}restitutionCombineRule(){return this.colliderSet.raw.coRestitutionCombineRule(this.handle)}setRestitutionCombineRule(A){this.colliderSet.raw.coSetRestitutionCombineRule(this.handle,A)}setCollisionGroups(A){this.colliderSet.raw.coSetCollisionGroups(this.handle,A)}setSolverGroups(A){this.colliderSet.raw.coSetSolverGroups(this.handle,A)}contactSkin(){return this.colliderSet.raw.coContactSkin(this.handle)}setContactSkin(A){return this.colliderSet.raw.coSetContactSkin(this.handle,A)}activeHooks(){return this.colliderSet.raw.coActiveHooks(this.handle)}setActiveHooks(A){this.colliderSet.raw.coSetActiveHooks(this.handle,A)}activeEvents(){return this.colliderSet.raw.coActiveEvents(this.handle)}setActiveEvents(A){this.colliderSet.raw.coSetActiveEvents(this.handle,A)}activeCollisionTypes(){return this.colliderSet.raw.coActiveCollisionTypes(this.handle)}setContactForceEventThreshold(A){return this.colliderSet.raw.coSetContactForceEventThreshold(this.handle,A)}contactForceEventThreshold(){return this.colliderSet.raw.coContactForceEventThreshold(this.handle)}setActiveCollisionTypes(A){this.colliderSet.raw.coSetActiveCollisionTypes(this.handle,A)}setDensity(A){this.colliderSet.raw.coSetDensity(this.handle,A)}setMass(A){this.colliderSet.raw.coSetMass(this.handle,A)}setMassProperties(A,I,C,B){let i=j.intoRaw(I),Q=j.intoRaw(C),e=UI.intoRaw(B);this.colliderSet.raw.coSetMassProperties(this.handle,A,i,Q,e),i.free(),Q.free(),e.free()}setTranslation(A){this.colliderSet.raw.coSetTranslation(this.handle,A.x,A.y,A.z)}setTranslationWrtParent(A){this.colliderSet.raw.coSetTranslationWrtParent(this.handle,A.x,A.y,A.z)}setRotation(A){this.colliderSet.raw.coSetRotation(this.handle,A.x,A.y,A.z,A.w)}setRotationWrtParent(A){this.colliderSet.raw.coSetRotationWrtParent(this.handle,A.x,A.y,A.z,A.w)}shapeType(){return this.colliderSet.raw.coShapeType(this.handle)}halfExtents(){return j.fromRaw(this.colliderSet.raw.coHalfExtents(this.handle))}setHalfExtents(A){const I=j.intoRaw(A);this.colliderSet.raw.coSetHalfExtents(this.handle,I)}radius(){return this.colliderSet.raw.coRadius(this.handle)}setRadius(A){this.colliderSet.raw.coSetRadius(this.handle,A)}roundRadius(){return this.colliderSet.raw.coRoundRadius(this.handle)}setRoundRadius(A){this.colliderSet.raw.coSetRoundRadius(this.handle,A)}halfHeight(){return this.colliderSet.raw.coHalfHeight(this.handle)}setHalfHeight(A){this.colliderSet.raw.coSetHalfHeight(this.handle,A)}vertices(){return this.colliderSet.raw.coVertices(this.handle)}indices(){return this.colliderSet.raw.coIndices(this.handle)}heightfieldHeights(){return this.colliderSet.raw.coHeightfieldHeights(this.handle)}heightfieldScale(){let A=this.colliderSet.raw.coHeightfieldScale(this.handle);return j.fromRaw(A)}heightfieldNRows(){return this.colliderSet.raw.coHeightfieldNRows(this.handle)}heightfieldNCols(){return this.colliderSet.raw.coHeightfieldNCols(this.handle)}parent(){return this._parent}friction(){return this.colliderSet.raw.coFriction(this.handle)}restitution(){return this.colliderSet.raw.coRestitution(this.handle)}density(){return this.colliderSet.raw.coDensity(this.handle)}mass(){return this.colliderSet.raw.coMass(this.handle)}volume(){return this.colliderSet.raw.coVolume(this.handle)}collisionGroups(){return this.colliderSet.raw.coCollisionGroups(this.handle)}solverGroups(){return this.colliderSet.raw.coSolverGroups(this.handle)}containsPoint(A){let I=j.intoRaw(A),C=this.colliderSet.raw.coContainsPoint(this.handle,I);return I.free(),C}projectPoint(A,I){let C=j.intoRaw(A),B=Cn.fromRaw(this.colliderSet.raw.coProjectPoint(this.handle,C,I));return C.free(),B}intersectsRay(A,I){let C=j.intoRaw(A.origin),B=j.intoRaw(A.dir),i=this.colliderSet.raw.coIntersectsRay(this.handle,C,B,I);return C.free(),B.free(),i}castShape(A,I,C,B,i,Q,e,t){let E=j.intoRaw(A),s=j.intoRaw(C),a=UI.intoRaw(B),r=j.intoRaw(i),l=I.intoRaw(),h=QE.fromRaw(this.colliderSet,this.colliderSet.raw.coCastShape(this.handle,E,l,s,a,r,Q,e,t));return E.free(),s.free(),a.free(),r.free(),l.free(),h}castCollider(A,I,C,B,i,Q){let e=j.intoRaw(A),t=j.intoRaw(C),E=Qn.fromRaw(this.colliderSet,this.colliderSet.raw.coCastCollider(this.handle,e,I.handle,t,B,i,Q));return e.free(),t.free(),E}intersectsShape(A,I,C){let B=j.intoRaw(I),i=UI.intoRaw(C),Q=A.intoRaw(),e=this.colliderSet.raw.coIntersectsShape(this.handle,Q,B,i);return B.free(),i.free(),Q.free(),e}contactShape(A,I,C,B){let i=j.intoRaw(I),Q=UI.intoRaw(C),e=A.intoRaw(),t=Vt.fromRaw(this.colliderSet.raw.coContactShape(this.handle,e,i,Q,B));return i.free(),Q.free(),e.free(),t}contactCollider(A,I){return Vt.fromRaw(this.colliderSet.raw.coContactCollider(this.handle,A.handle,I))}castRay(A,I,C){let B=j.intoRaw(A.origin),i=j.intoRaw(A.dir),Q=this.colliderSet.raw.coCastRay(this.handle,B,i,I,C);return B.free(),i.free(),Q}castRayAndGetNormal(A,I,C){let B=j.intoRaw(A.origin),i=j.intoRaw(A.dir),Q=Bn.fromRaw(this.colliderSet.raw.coCastRayAndGetNormal(this.handle,B,i,I,C));return B.free(),i.free(),Q}}(function(g){g[g.Density=0]="Density",g[g.Mass=1]="Mass",g[g.MassProps=2]="MassProps"})(he||(he={}));class Fg{constructor(A){this.enabled=!0,this.shape=A,this.massPropsMode=he.Density,this.density=1,this.friction=.5,this.restitution=0,this.rotation=UI.identity(),this.translation=j.zeros(),this.isSensor=!1,this.collisionGroups=4294967295,this.solverGroups=4294967295,this.frictionCombineRule=bo.Average,this.restitutionCombineRule=bo.Average,this.activeCollisionTypes=oa.DEFAULT,this.activeEvents=GQ.NONE,this.activeHooks=Ea.NONE,this.mass=0,this.centerOfMass=j.zeros(),this.contactForceEventThreshold=0,this.contactSkin=0,this.principalAngularInertia=j.zeros(),this.angularInertiaLocalFrame=UI.identity()}static ball(A){const I=new dh(A);return new Fg(I)}static capsule(A,I){const C=new Nh(A,I);return new Fg(C)}static segment(A,I){const C=new Fh(A,I);return new Fg(C)}static triangle(A,I,C){const B=new Rh(A,I,C);return new Fg(B)}static roundTriangle(A,I,C,B){const i=new Kh(A,I,C,B);return new Fg(i)}static polyline(A,I){const C=new Jh(A,I);return new Fg(C)}static trimesh(A,I,C){const B=new fh(A,I,C);return new Fg(B)}static cuboid(A,I,C){const B=new ph(A,I,C);return new Fg(B)}static roundCuboid(A,I,C,B){const i=new Uh(A,I,C,B);return new Fg(i)}static heightfield(A,I,C,B,i){const Q=new qh(A,I,C,B,i);return new Fg(Q)}static cylinder(A,I){const C=new mh(A,I);return new Fg(C)}static roundCylinder(A,I,C){const B=new Yh(A,I,C);return new Fg(B)}static cone(A,I){const C=new Lh(A,I);return new Fg(C)}static roundCone(A,I,C){const B=new Hh(A,I,C);return new Fg(B)}static convexHull(A){const I=new na(A,null);return new Fg(I)}static convexMesh(A,I){const C=new na(A,I);return new Fg(C)}static roundConvexHull(A,I){const C=new sa(A,null,I);return new Fg(C)}static roundConvexMesh(A,I,C){const B=new sa(A,I,C);return new Fg(B)}setTranslation(A,I,C){if(typeof A!="number"||typeof I!="number"||typeof C!="number")throw TypeError("The translation components must be numbers.");return this.translation={x:A,y:I,z:C},this}setRotation(A){return UI.copy(this.rotation,A),this}setSensor(A){return this.isSensor=A,this}setEnabled(A){return this.enabled=A,this}setContactSkin(A){return this.contactSkin=A,this}setDensity(A){return this.massPropsMode=he.Density,this.density=A,this}setMass(A){return this.massPropsMode=he.Mass,this.mass=A,this}setMassProperties(A,I,C,B){return this.massPropsMode=he.MassProps,this.mass=A,j.copy(this.centerOfMass,I),j.copy(this.principalAngularInertia,C),UI.copy(this.angularInertiaLocalFrame,B),this}setRestitution(A){return this.restitution=A,this}setFriction(A){return this.friction=A,this}setFrictionCombineRule(A){return this.frictionCombineRule=A,this}setRestitutionCombineRule(A){return this.restitutionCombineRule=A,this}setCollisionGroups(A){return this.collisionGroups=A,this}setSolverGroups(A){return this.solverGroups=A,this}setActiveHooks(A){return this.activeHooks=A,this}setActiveEvents(A){return this.activeEvents=A,this}setActiveCollisionTypes(A){return this.activeCollisionTypes=A,this}setContactForceEventThreshold(A){return this.contactForceEventThreshold=A,this}}class $M{constructor(A){this.raw=A||new yg,this.map=new uh,A&&A.forEachColliderHandle(I=>{this.map.set(I,new DD(this,I,null))})}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}castClosure(A){return I=>A?A(this.get(I)):void 0}finalizeDeserialization(A){this.map.forEach(I=>I.finalizeDeserialization(A))}createCollider(A,I,C){let B=C!=null&&C!=null;if(B&&isNaN(C))throw Error("Cannot create a collider with a parent rigid-body handle that is not a number.");let i=I.shape.intoRaw(),Q=j.intoRaw(I.translation),e=UI.intoRaw(I.rotation),t=j.intoRaw(I.centerOfMass),E=j.intoRaw(I.principalAngularInertia),s=UI.intoRaw(I.angularInertiaLocalFrame),a=this.raw.createCollider(I.enabled,i,Q,e,I.massPropsMode,I.mass,t,E,s,I.density,I.friction,I.restitution,I.frictionCombineRule,I.restitutionCombineRule,I.isSensor,I.collisionGroups,I.solverGroups,I.activeCollisionTypes,I.activeHooks,I.activeEvents,I.contactForceEventThreshold,I.contactSkin,B,B?C:0,A.raw);i.free(),Q.free(),e.free(),t.free(),E.free(),s.free();let r=B?A.get(C):null,l=new DD(this,a,r,I.shape);return this.map.set(a,l),l}remove(A,I,C,B){this.raw.remove(A,I.raw,C.raw,B),this.unmap(A)}unmap(A){this.map.delete(A)}get(A){return this.map.get(A)}len(){return this.map.len()}contains(A){return this.get(A)!=null}forEach(A){this.map.forEach(A)}getAll(){return this.map.getAll()}}function RZ(g,A,I,C){return new(I||(I=Promise))(function(B,i){function Q(E){try{t(C.next(E))}catch(s){i(s)}}function e(E){try{t(C.throw(E))}catch(s){i(s)}}function t(E){var s;E.done?B(E.value):(s=E.value,s instanceof I?s:new I(function(a){a(s)})).then(Q,e)}t((C=C.apply(g,[])).next())})}for(var KZ={byteLength:function(g){var A=BF(g),I=A[0],C=A[1];return 3*(I+C)/4-C},toByteArray:function(g){var A,I,C=BF(g),B=C[0],i=C[1],Q=new JZ(function(E,s,a){return 3*(s+a)/4-a}(0,B,i)),e=0,t=i>0?B-4:B;for(I=0;I>16&255,Q[e++]=A>>8&255,Q[e++]=255&A;return i===2&&(A=OB[g.charCodeAt(I)]<<2|OB[g.charCodeAt(I+1)]>>4,Q[e++]=255&A),i===1&&(A=OB[g.charCodeAt(I)]<<10|OB[g.charCodeAt(I+1)]<<4|OB[g.charCodeAt(I+2)]>>2,Q[e++]=A>>8&255,Q[e++]=255&A),Q},fromByteArray:function(g){for(var A,I=g.length,C=I%3,B=[],i=16383,Q=0,e=I-C;Qe?e:Q+i));return C===1?(A=g[I-1],B.push(xi[A>>2]+xi[A<<4&63]+"==")):C===2&&(A=(g[I-2]<<8)+g[I-1],B.push(xi[A>>10]+xi[A>>4&63]+xi[A<<2&63]+"=")),B.join("")}},xi=[],OB=[],JZ=typeof Uint8Array<"u"?Uint8Array:Array,kG="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",XE=0,fZ=kG.length;XE0)throw new Error("Invalid string. Length must be a multiple of 4");var I=g.indexOf("=");return I===-1&&(I=A),[I,I===A?0:4-I%4]}function qZ(g,A,I){for(var C,B,i=[],Q=A;Q>18&63]+xi[B>>12&63]+xi[B>>6&63]+xi[63&B]);return i.join("")}function zq(){return RZ(this,void 0,void 0,function*(){yield Xq(KZ.toByteArray("AGFzbQEAAAAB4QuWAWACf38AYAN/f38AYAR/f39/AGACf38Bf2ABfwF/YAN/f38Bf2ABfwBgBX9/f39/AGAGf39/f31/AGACf3wBf2ABfwF9YAV/f399fwBgBn9/f39/fwBgBX9/f399AGADf399AGADf3x/AGAEf39/fwF/YAZ/f39/f30AYAR/f399AX9gBH9/f38BfWAAAX9gA39/fwF9YAN/f30Bf2ACf30AYAZ/f39/f38Bf2ACf3wBfWADf3x9AGADf398AGAEf3x/fwBgAX0BfWAMf39/f39/f39/f31/AX9gB39/f39/f38AYAh/f39/f39/fwBgAn9/AX1gBX9/f39/AX9gCX9/f39/f39/fwBgAABgAX8BfGAIf39/f39/f30AYAt/f39/f39/f319fwBgA35+fwF+YAN/fH8BfWADfX19AX9gD39/f39/f39/f39/f39/fwBgBn99f39/fQBgBX9/fX9/AGAGf3x/f39/AGADf3x/AX9gBX98f39/AGAGf3x9fX19AGACfX0Bf2AFf3x9fX0AYAF8AX9gCn99fX9/f39/f38AYAp/f39/f39/f39/AGAJf39/f39/fX9/AX9gCn9/f39/f31/f38AYAZ/fX1/f30AYAt/f39/f39/f39/fwBgBH99f38Bf2AGf39/f319AGAPf39/f39/f39/f398f3x/AGADf319AGAPf39/f399f39/f398f3x/AX9gAX0Bf2ADf3x8AX9gBX98f319AGAEf3x9fwBgAn98AGACf3wBfGAFf398fH8BfGADfX1/AX9gBH19fX0Bf2AOf39/f39/f39/f39/f38AYAN/fX8AYAd/f39/f399AGALf39/f39/f399f38AYAx/fX9/f39/f39/f38Bf2APf39/f39/f39/f39/fX1/AGAIf39/f31/f38AYAZ/f39/f38BfWAJf39/f39/f399AGAIf39/f399f38AYAl/f39/f31/f38AYBJ/f39/f39/f39/f399f319fX0AYAd/f39/f39/AX1gCH9/f399fX9/AGAGf399f31/AGAJf39/f39/fX9/AGAHf399f399fwBgC39/f39/f39/fX1/AX9gC39/f31/f39/fX9/AGAIf31/f39/f38AYAp/fX9/f39/f39/AGAMf39/f31/f39/f39/AGAHf39/f39/fQF/YAZ/fX9/f38AYAZ/fH9/f30Bf2AIf31/fX99f38AYAt/f39/fX9/f39/fwBgBH9/fX8AYAN/fn4Bf2AFf39+fn8AYAd/f39/f31/AX9gEn9/f39/f399fX9/f39/fH98fwF/YAZ/f39/fX0Bf2AQf39/f399f39/f39/fH98fwBgCn9/f39/f39/f38Bf2AGf3x/f31/AX9gCn98f39/f399fX8Bf2Abf39/f319f39/f39/f39/f39/fX1/f399f39/AXxgDX9/f39/f399fX19fX0AYA1/f39/f39/f398f3x/AGAbf39/f39/f31/f399fX1/f39/f39/f319f3x/AGAHf39/f399fwF9YAl/f39/f39+fn4AYAZ/f39/f30Bf2ANf39/f39/f39/fH98fwF/YAx/f39/f39/f3x/fH8Bf2AFf3x/f38Bf2AHf39/f39/fwF/YAh/fH98f319fwF/YAN/fn8Bf2AGf3x/f31/AX1gA35/fwF/YAJ9fQF9YAV/fH9/fQF/YAR/fH9/AX9gBX19fX9/AX9gA31/fwF/YA5/fX9/f3x/f399f39/fwBgBH98fH0Bf2AHf3x9f39/fwBgBn98fX9/fwBgE39/f39/f39/f39/f39/f39/f38AYAR/f399AGAJf31/f39/f39/AGACf34AYAN/fH8BfGAFf39/f30Bf2AGf3x/fX19AGAHf3x/fX19fQBgBH99fX8AYAZ/f319fX0AYAd/fH19fX1/AGAGf3x9fX1/AGAFf39+f38AYAR/fn9/AGAEf31/fwBgBX9/fH9/AAKFBhYDd2JnFV9fd2JpbmRnZW5fbnVtYmVyX25ldwA0A3diZxZfX3diaW5kZ2VuX2Jvb2xlYW5fZ2V0AAQDd2JnGl9fd2JpbmRnZW5fb2JqZWN0X2Ryb3BfcmVmAAYDd2JnFV9fd2JpbmRnZW5fbnVtYmVyX2dldAAAA3diZxZfX3diaW5kZ2VuX2lzX2Z1bmN0aW9uAAQDd2JnJF9fd2JnX3Jhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX25ldwAEA3diZx5fX3diZ19yYXdjb250YWN0Zm9yY2VldmVudF9uZXcABAN3YmcbX193YmdfY2FsbF8wMTczNGRlNTVkNjFlMTFkAAUDd2JnG19fd2JnX2NhbGxfNGM5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YXV0b3N0ZXBNYXhIZWlnaHQAnAowcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9hdXRvc3RlcE1pbldpZHRoAJ0KPXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfYXV0b3N0ZXBJbmNsdWRlc0R5bmFtaWNCb2RpZXMApAovcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9hdXRvc3RlcEVuYWJsZWQAnQsucmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9lbmFibGVBdXRvc3RlcADYCS9yYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2Rpc2FibGVBdXRvc3RlcACeCzJyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX21heFNsb3BlQ2xpbWJBbmdsZQC6CzVyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NldE1heFNsb3BlQ2xpbWJBbmdsZQCfCzJyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX21pblNsb3BlU2xpZGVBbmdsZQC7CzVyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NldE1pblNsb3BlU2xpZGVBbmdsZQCgCzRyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NuYXBUb0dyb3VuZERpc3RhbmNlAJ4KMnJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfZW5hYmxlU25hcFRvR3JvdW5kAN4KM3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfZGlzYWJsZVNuYXBUb0dyb3VuZAChCzNyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NuYXBUb0dyb3VuZEVuYWJsZWQAogs3cmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9jb21wdXRlQ29sbGlkZXJNb3ZlbWVudACfBTByYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2NvbXB1dGVkTW92ZW1lbnQA0gcwcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9jb21wdXRlZEdyb3VuZGVkALwLNXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfbnVtQ29tcHV0ZWRDb2xsaXNpb25zAL0LMXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfY29tcHV0ZWRDb2xsaXNpb24AwAcgX193YmdfcmF3Y2hhcmFjdGVyY29sbGlzaW9uX2ZyZWUA2AsZcmF3Y2hhcmFjdGVyY29sbGlzaW9uX25ldwDHCRxyYXdjaGFyYWN0ZXJjb2xsaXNpb25faGFuZGxlANkLLXJhd2NoYXJhY3RlcmNvbGxpc2lvbl90cmFuc2xhdGlvbkRlbHRhQXBwbGllZADTBy9yYXdjaGFyYWN0ZXJjb2xsaXNpb25fdHJhbnNsYXRpb25EZWx0YVJlbWFpbmluZwDUBxlyYXdjaGFyYWN0ZXJjb2xsaXNpb25fdG9pAL4LI3Jhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZFdpdG5lc3MxANUHI3Jhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZFdpdG5lc3MyANoEInJhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZE5vcm1hbDEA1gcicmF3Y2hhcmFjdGVyY29sbGlzaW9uX3dvcmxkTm9ybWFsMgCOBS1fX3diZ19yYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX2ZyZWUAnAcmcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9uZXcAyAk4cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9jdXJyZW50X3ZlaGljbGVfc3BlZWQAvwsqcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9jaGFzc2lzAMALMHJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfaW5kZXhfdXBfYXhpcwDBCzRyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF9pbmRleF91cF9heGlzAKMLNXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfaW5kZXhfZm9yd2FyZF9heGlzAMILOXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X2luZGV4X2ZvcndhcmRfYXhpcwCkCyxyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX2FkZF93aGVlbADFBS1yYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX251bV93aGVlbHMAwwsxcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl91cGRhdGVfdmVoaWNsZQCFBkRyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2NoYXNzaXNfY29ubmVjdGlvbl9wb2ludF9jcwCGBkhyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9jaGFzc2lzX2Nvbm5lY3Rpb25fcG9pbnRfY3MApQc/cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9zdXNwZW5zaW9uX3Jlc3RfbGVuZ3RoAJAIQ3Jhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX3N1c3BlbnNpb25fcmVzdF9sZW5ndGgAgQo+cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9tYXhfc3VzcGVuc2lvbl90cmF2ZWwAkQhCcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfbWF4X3N1c3BlbnNpb25fdHJhdmVsAIIKL3Jhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfcmFkaXVzAJIIM3Jhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX3JhZGl1cwCDCj1yYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX3N1c3BlbnNpb25fc3RpZmZuZXNzAJMIQXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX3N1c3BlbnNpb25fc3RpZmZuZXNzAIQKP3Jhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfc3VzcGVuc2lvbl9jb21wcmVzc2lvbgCUCENyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9zdXNwZW5zaW9uX2NvbXByZXNzaW9uAIUKPnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfc3VzcGVuc2lvbl9yZWxheGF0aW9uAJUIQnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX3N1c3BlbnNpb25fcmVsYXhhdGlvbgCGCj1yYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX21heF9zdXNwZW5zaW9uX2ZvcmNlAJYIQXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX21heF9zdXNwZW5zaW9uX2ZvcmNlAIcKLnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfYnJha2UAlwgycmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfYnJha2UAiAoxcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9zdGVlcmluZwCYCDVyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9zdGVlcmluZwCJCjVyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2VuZ2luZV9mb3JjZQCZCDlyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9lbmdpbmVfZm9yY2UAigo1cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9kaXJlY3Rpb25fY3MAhwY5cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfZGlyZWN0aW9uX2NzAKYHMHJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfYXhsZV9jcwCIBjRyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9heGxlX2NzAKcHNnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfZnJpY3Rpb25fc2xpcACaCDpyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9mcmljdGlvbl9zbGlwAIsKQHJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfc2lkZV9mcmljdGlvbl9zdGlmZm5lc3MAmwhEcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfc2lkZV9mcmljdGlvbl9zdGlmZm5lc3MAjAoxcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9yb3RhdGlvbgCcCDhyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2ZvcndhcmRfaW1wdWxzZQCdCDVyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX3NpZGVfaW1wdWxzZQCeCDlyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX3N1c3BlbnNpb25fZm9yY2UAnwg6cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9jb250YWN0X25vcm1hbF93cwCJBjlyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2NvbnRhY3RfcG9pbnRfd3MAigY6cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9zdXNwZW5zaW9uX2xlbmd0aACgCDZyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2hhcmRfcG9pbnRfd3MAiwY2cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9pc19pbl9jb250YWN0AI4JNnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfZ3JvdW5kX29iamVjdACwBxdfX3diZ19yYXdjY2Rzb2x2ZXJfZnJlZQDwCRByYXdjY2Rzb2x2ZXJfbmV3APEJHHJhd2ltcHVsc2Vqb2ludHNldF9qb2ludFR5cGUAsQcjcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Qm9keUhhbmRsZTEA8QgjcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Qm9keUhhbmRsZTIAwAgfcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50RnJhbWVYMQCRBh9yYXdpbXB1bHNlam9pbnRzZXRfam9pbnRGcmFtZVgyAJIGH3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEFuY2hvcjEAkwYfcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50QW5jaG9yMgCUBiJyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRTZXRBbmNob3IxAKEHInJhd2ltcHVsc2Vqb2ludHNldF9qb2ludFNldEFuY2hvcjIAogcncmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Q29udGFjdHNFbmFibGVkAMEIKnJhd2ltcHVsc2Vqb2ludHNldF9qb2ludFNldENvbnRhY3RzRW5hYmxlZACXCSVyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRMaW1pdHNFbmFibGVkAKgHIXJhd2ltcHVsc2Vqb2ludHNldF9qb2ludExpbWl0c01pbgDXByFyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRMaW1pdHNNYXgA2AchcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50U2V0TGltaXRzAKkHK3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludENvbmZpZ3VyZU1vdG9yTW9kZWwAswcucmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Q29uZmlndXJlTW90b3JWZWxvY2l0eQCMCC5yYXdpbXB1bHNlam9pbnRzZXRfam9pbnRDb25maWd1cmVNb3RvclBvc2l0aW9uAI0IJnJhd2ltcHVsc2Vqb2ludHNldF9qb2ludENvbmZpZ3VyZU1vdG9yAI4IHV9fd2JnX3Jhd2ltcHVsc2Vqb2ludHNldF9mcmVlAPIJFnJhd2ltcHVsc2Vqb2ludHNldF9uZXcA8wkecmF3aW1wdWxzZWpvaW50c2V0X2NyZWF0ZUpvaW50ANwIGXJhd2ltcHVsc2Vqb2ludHNldF9yZW1vdmUA0gkWcmF3aW1wdWxzZWpvaW50c2V0X2xlbgDECxtyYXdpbXB1bHNlam9pbnRzZXRfY29udGFpbnMA2QklcmF3aW1wdWxzZWpvaW50c2V0X2ZvckVhY2hKb2ludEhhbmRsZQDZBTJyYXdpbXB1bHNlam9pbnRzZXRfZm9yRWFjaEpvaW50QXR0YWNoZWRUb1JpZ2lkQm9keQCYCSNfX3diZ19yYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfZnJlZQDYCxxyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbmV3APQJG3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19kdADFCxxyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfZXJwAMYLLHJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19udW1Tb2x2ZXJJdGVyYXRpb25zANoLJ3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19tYXhDY2RTdWJzdGVwcwDHCyNyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbGVuZ3RoVW5pdADICx9yYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X2R0AKULIHJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfZXJwAKYLOXJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbm9ybWFsaXplZEFsbG93ZWRMaW5lYXJFcnJvcgCnCzlyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X25vcm1hbGl6ZWRQcmVkaWN0aW9uRGlzdGFuY2UAqAswcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9udW1Tb2x2ZXJJdGVyYXRpb25zAPEKKnJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbWluSXNsYW5kU2l6ZQCpCytyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X21heENjZFN1YnN0ZXBzAKoLJ3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbGVuZ3RoVW5pdACrCzJyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc3dpdGNoVG9TdGFuZGFyZFBnc1NvbHZlcgD9CjRyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc3dpdGNoVG9TbWFsbFN0ZXBzUGdzU29sdmVyAP4KRHJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zd2l0Y2hUb1NtYWxsU3RlcHNQZ3NTb2x2ZXJXaXRob3V0V2FybXN0YXJ0AP8KG19fd2JnX3Jhd2lzbGFuZG1hbmFnZXJfZnJlZQD1CRRyYXdpc2xhbmRtYW5hZ2VyX25ldwDTCS1yYXdpc2xhbmRtYW5hZ2VyX2ZvckVhY2hBY3RpdmVSaWdpZEJvZHlIYW5kbGUA3QUaX193YmdfcmF3Z2VuZXJpY2pvaW50X2ZyZWUA2AsXcmF3Z2VuZXJpY2pvaW50X2dlbmVyaWMAoAUWcmF3Z2VuZXJpY2pvaW50X3NwcmluZwCHBRRyYXdnZW5lcmljam9pbnRfcm9wZQCKBRlyYXdnZW5lcmljam9pbnRfc3BoZXJpY2FsAIsFGXJhd2dlbmVyaWNqb2ludF9wcmlzbWF0aWMA4wIVcmF3Z2VuZXJpY2pvaW50X2ZpeGVkAOQCGHJhd2dlbmVyaWNqb2ludF9yZXZvbHV0ZQCrAx5yYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludFR5cGUA5AUhcmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRGcmFtZVgxAKEFIXJhd211bHRpYm9keWpvaW50c2V0X2pvaW50RnJhbWVYMgCiBSFyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludEFuY2hvcjEAowUhcmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRBbmNob3IyAKQFKXJhd211bHRpYm9keWpvaW50c2V0X2pvaW50Q29udGFjdHNFbmFibGVkAOMGLHJhd211bHRpYm9keWpvaW50c2V0X2pvaW50U2V0Q29udGFjdHNFbmFibGVkAPUGJ3Jhd211bHRpYm9keWpvaW50c2V0X2pvaW50TGltaXRzRW5hYmxlZADeBSNyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludExpbWl0c01pbgD2BSNyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludExpbWl0c01heAD3BR9fX3diZ19yYXdtdWx0aWJvZHlqb2ludHNldF9mcmVlAPYJGHJhd211bHRpYm9keWpvaW50c2V0X25ldwD3CSByYXdtdWx0aWJvZHlqb2ludHNldF9jcmVhdGVKb2ludADdCBtyYXdtdWx0aWJvZHlqb2ludHNldF9yZW1vdmUAogodcmF3bXVsdGlib2R5am9pbnRzZXRfY29udGFpbnMApAgncmF3bXVsdGlib2R5am9pbnRzZXRfZm9yRWFjaEpvaW50SGFuZGxlAL8JNHJhd211bHRpYm9keWpvaW50c2V0X2ZvckVhY2hKb2ludEF0dGFjaGVkVG9SaWdpZEJvZHkAmQkdcmF3cmlnaWRib2R5c2V0X3JiVHJhbnNsYXRpb24AlQYacmF3cmlnaWRib2R5c2V0X3JiUm90YXRpb24AwQYXcmF3cmlnaWRib2R5c2V0X3JiU2xlZXAA5wkccmF3cmlnaWRib2R5c2V0X3JiSXNTbGVlcGluZwDCCBpyYXdyaWdpZGJvZHlzZXRfcmJJc01vdmluZwDyCCFyYXdyaWdpZGJvZHlzZXRfcmJOZXh0VHJhbnNsYXRpb24AlgYecmF3cmlnaWRib2R5c2V0X3JiTmV4dFJvdGF0aW9uAJcGIHJhd3JpZ2lkYm9keXNldF9yYlNldFRyYW5zbGF0aW9uALsKHXJhd3JpZ2lkYm9keXNldF9yYlNldFJvdGF0aW9uAK8KG3Jhd3JpZ2lkYm9keXNldF9yYlNldExpbnZlbADJBxtyYXdyaWdpZGJvZHlzZXRfcmJTZXRBbmd2ZWwAygctcmF3cmlnaWRib2R5c2V0X3JiU2V0TmV4dEtpbmVtYXRpY1RyYW5zbGF0aW9uAP8HKnJhd3JpZ2lkYm9keXNldF9yYlNldE5leHRLaW5lbWF0aWNSb3RhdGlvbgDQBjZyYXdyaWdpZGJvZHlzZXRfcmJSZWNvbXB1dGVNYXNzUHJvcGVydGllc0Zyb21Db2xsaWRlcnMA6AcjcmF3cmlnaWRib2R5c2V0X3JiU2V0QWRkaXRpb25hbE1hc3MAgAgtcmF3cmlnaWRib2R5c2V0X3JiU2V0QWRkaXRpb25hbE1hc3NQcm9wZXJ0aWVzAKsFGHJhd3JpZ2lkYm9keXNldF9yYkxpbnZlbADCBhhyYXdyaWdpZGJvZHlzZXRfcmJBbmd2ZWwAmAYicmF3cmlnaWRib2R5c2V0X3JiTG9ja1RyYW5zbGF0aW9ucwDRBihyYXdyaWdpZGJvZHlzZXRfcmJTZXRFbmFibGVkVHJhbnNsYXRpb25zAJcKH3Jhd3JpZ2lkYm9keXNldF9yYkxvY2tSb3RhdGlvbnMA0gYlcmF3cmlnaWRib2R5c2V0X3JiU2V0RW5hYmxlZFJvdGF0aW9ucwC0BSByYXdyaWdpZGJvZHlzZXRfcmJEb21pbmFuY2VHcm91cADDCCNyYXdyaWdpZGJvZHlzZXRfcmJTZXREb21pbmFuY2VHcm91cAClCBtyYXdyaWdpZGJvZHlzZXRfcmJFbmFibGVDY2QAmgkmcmF3cmlnaWRib2R5c2V0X3JiU2V0U29mdENjZFByZWRpY3Rpb24AyQkWcmF3cmlnaWRib2R5c2V0X3JiTWFzcwCBCBlyYXdyaWdpZGJvZHlzZXRfcmJJbnZNYXNzAMQIInJhd3JpZ2lkYm9keXNldF9yYkVmZmVjdGl2ZUludk1hc3MAmQYacmF3cmlnaWRib2R5c2V0X3JiTG9jYWxDb20AmgYacmF3cmlnaWRib2R5c2V0X3JiV29ybGRDb20AmwYpcmF3cmlnaWRib2R5c2V0X3JiSW52UHJpbmNpcGFsSW5lcnRpYVNxcnQAnAYscmF3cmlnaWRib2R5c2V0X3JiUHJpbmNpcGFsSW5lcnRpYUxvY2FsRnJhbWUAnQYicmF3cmlnaWRib2R5c2V0X3JiUHJpbmNpcGFsSW5lcnRpYQDkBi5yYXdyaWdpZGJvZHlzZXRfcmJFZmZlY3RpdmVXb3JsZEludkluZXJ0aWFTcXJ0AMYFKXJhd3JpZ2lkYm9keXNldF9yYkVmZmVjdGl2ZUFuZ3VsYXJJbmVydGlhAMMGGHJhd3JpZ2lkYm9keXNldF9yYldha2VVcACCCB5yYXdyaWdpZGJvZHlzZXRfcmJJc0NjZEVuYWJsZWQAxQgjcmF3cmlnaWRib2R5c2V0X3JiU29mdENjZFByZWRpY3Rpb24AxggecmF3cmlnaWRib2R5c2V0X3JiTnVtQ29sbGlkZXJzAMcIGnJhd3JpZ2lkYm9keXNldF9yYkNvbGxpZGVyAKoHGnJhd3JpZ2lkYm9keXNldF9yYkJvZHlUeXBlAMgIHXJhd3JpZ2lkYm9keXNldF9yYlNldEJvZHlUeXBlALMIGXJhd3JpZ2lkYm9keXNldF9yYklzRml4ZWQAqggdcmF3cmlnaWRib2R5c2V0X3JiSXNLaW5lbWF0aWMAqwgbcmF3cmlnaWRib2R5c2V0X3JiSXNEeW5hbWljALQIH3Jhd3JpZ2lkYm9keXNldF9yYkxpbmVhckRhbXBpbmcAyQggcmF3cmlnaWRib2R5c2V0X3JiQW5ndWxhckRhbXBpbmcAyggicmF3cmlnaWRib2R5c2V0X3JiU2V0TGluZWFyRGFtcGluZwDaCSNyYXdyaWdpZGJvZHlzZXRfcmJTZXRBbmd1bGFyRGFtcGluZwDKCRxyYXdyaWdpZGJvZHlzZXRfcmJTZXRFbmFibGVkAPAHG3Jhd3JpZ2lkYm9keXNldF9yYklzRW5hYmxlZADLCB5yYXdyaWdpZGJvZHlzZXRfcmJHcmF2aXR5U2NhbGUAzAghcmF3cmlnaWRib2R5c2V0X3JiU2V0R3Jhdml0eVNjYWxlALcHHXJhd3JpZ2lkYm9keXNldF9yYlJlc2V0Rm9yY2VzAMsJHnJhd3JpZ2lkYm9keXNldF9yYlJlc2V0VG9ycXVlcwDMCRpyYXdyaWdpZGJvZHlzZXRfcmJBZGRGb3JjZQDLBx5yYXdyaWdpZGJvZHlzZXRfcmJBcHBseUltcHVsc2UAzAcbcmF3cmlnaWRib2R5c2V0X3JiQWRkVG9ycXVlAM0HJHJhd3JpZ2lkYm9keXNldF9yYkFwcGx5VG9ycXVlSW1wdWxzZQDOByFyYXdyaWdpZGJvZHlzZXRfcmJBZGRGb3JjZUF0UG9pbnQA6wYlcmF3cmlnaWRib2R5c2V0X3JiQXBwbHlJbXB1bHNlQXRQb2ludADpBSxyYXdyaWdpZGJvZHlzZXRfcmJBZGRpdGlvbmFsU29sdmVySXRlcmF0aW9ucwDNCC9yYXdyaWdpZGJvZHlzZXRfcmJTZXRBZGRpdGlvbmFsU29sdmVySXRlcmF0aW9ucwDbCRpyYXdyaWdpZGJvZHlzZXRfcmJVc2VyRGF0YQDOCB1yYXdyaWdpZGJvZHlzZXRfcmJTZXRVc2VyRGF0YQCPCRpfX3diZ19yYXdyaWdpZGJvZHlzZXRfZnJlZQDiBxNyYXdyaWdpZGJvZHlzZXRfbmV3AOMHH3Jhd3JpZ2lkYm9keXNldF9jcmVhdGVSaWdpZEJvZHkAtQMWcmF3cmlnaWRib2R5c2V0X3JlbW92ZQCmBRhyYXdyaWdpZGJvZHlzZXRfY29udGFpbnMA3AkmcmF3cmlnaWRib2R5c2V0X2ZvckVhY2hSaWdpZEJvZHlIYW5kbGUAwAk5cmF3cmlnaWRib2R5c2V0X3Byb3BhZ2F0ZU1vZGlmaWVkQm9keVBvc2l0aW9uc1RvQ29sbGlkZXJzAI0KGF9fd2JnX3Jhd2Jyb2FkcGhhc2VfZnJlZQD4CRFyYXdicm9hZHBoYXNlX25ldwD5CRxyYXdjb2xsaWRlcnNldF9jb1RyYW5zbGF0aW9uAJ4GGXJhd2NvbGxpZGVyc2V0X2NvUm90YXRpb24AxAYfcmF3Y29sbGlkZXJzZXRfY29TZXRUcmFuc2xhdGlvbgCDCChyYXdjb2xsaWRlcnNldF9jb1NldFRyYW5zbGF0aW9uV3J0UGFyZW50AOQHHHJhd2NvbGxpZGVyc2V0X2NvU2V0Um90YXRpb24A3AYlcmF3Y29sbGlkZXJzZXRfY29TZXRSb3RhdGlvbldydFBhcmVudADVChlyYXdjb2xsaWRlcnNldF9jb0lzU2Vuc29yAM8IGnJhd2NvbGxpZGVyc2V0X2NvU2hhcGVUeXBlAJgKIHJhd2NvbGxpZGVyc2V0X2NvSGFsZnNwYWNlTm9ybWFsAKcFHHJhd2NvbGxpZGVyc2V0X2NvSGFsZkV4dGVudHMAlgUfcmF3Y29sbGlkZXJzZXRfY29TZXRIYWxmRXh0ZW50cwCbCRdyYXdjb2xsaWRlcnNldF9jb1JhZGl1cwCECBpyYXdjb2xsaWRlcnNldF9jb1NldFJhZGl1cwDnChtyYXdjb2xsaWRlcnNldF9jb0hhbGZIZWlnaHQAhQgecmF3Y29sbGlkZXJzZXRfY29TZXRIYWxmSGVpZ2h0AOgKHHJhd2NvbGxpZGVyc2V0X2NvUm91bmRSYWRpdXMAhggfcmF3Y29sbGlkZXJzZXRfY29TZXRSb3VuZFJhZGl1cwDpChlyYXdjb2xsaWRlcnNldF9jb1ZlcnRpY2VzAJ8GGHJhd2NvbGxpZGVyc2V0X2NvSW5kaWNlcwCgBh1yYXdjb2xsaWRlcnNldF9jb1RyaU1lc2hGbGFncwD2BiFyYXdjb2xsaWRlcnNldF9jb0hlaWdodEZpZWxkRmxhZ3MA9wYjcmF3Y29sbGlkZXJzZXRfY29IZWlnaHRmaWVsZEhlaWdodHMAoQYhcmF3Y29sbGlkZXJzZXRfY29IZWlnaHRmaWVsZFNjYWxlAIwFIXJhd2NvbGxpZGVyc2V0X2NvSGVpZ2h0ZmllbGROUm93cwCiBiFyYXdjb2xsaWRlcnNldF9jb0hlaWdodGZpZWxkTkNvbHMAowYXcmF3Y29sbGlkZXJzZXRfY29QYXJlbnQA6QcbcmF3Y29sbGlkZXJzZXRfY29TZXRFbmFibGVkAMEHGnJhd2NvbGxpZGVyc2V0X2NvSXNFbmFibGVkALUIH3Jhd2NvbGxpZGVyc2V0X2NvU2V0Q29udGFjdFNraW4A3QkccmF3Y29sbGlkZXJzZXRfY29Db250YWN0U2tpbgDQCBlyYXdjb2xsaWRlcnNldF9jb0ZyaWN0aW9uANEIHHJhd2NvbGxpZGVyc2V0X2NvUmVzdGl0dXRpb24A0ggYcmF3Y29sbGlkZXJzZXRfY29EZW5zaXR5APMIFXJhd2NvbGxpZGVyc2V0X2NvTWFzcwD0CBdyYXdjb2xsaWRlcnNldF9jb1ZvbHVtZQD1CCByYXdjb2xsaWRlcnNldF9jb0NvbGxpc2lvbkdyb3VwcwDxBx1yYXdjb2xsaWRlcnNldF9jb1NvbHZlckdyb3VwcwDyBxxyYXdjb2xsaWRlcnNldF9jb0FjdGl2ZUhvb2tzANMIJXJhd2NvbGxpZGVyc2V0X2NvQWN0aXZlQ29sbGlzaW9uVHlwZXMA1AgdcmF3Y29sbGlkZXJzZXRfY29BY3RpdmVFdmVudHMA1QgrcmF3Y29sbGlkZXJzZXRfY29Db250YWN0Rm9yY2VFdmVudFRocmVzaG9sZADWCB5yYXdjb2xsaWRlcnNldF9jb0NvbnRhaW5zUG9pbnQA3wUacmF3Y29sbGlkZXJzZXRfY29DYXN0U2hhcGUApwMdcmF3Y29sbGlkZXJzZXRfY29DYXN0Q29sbGlkZXIAyAQgcmF3Y29sbGlkZXJzZXRfY29JbnRlcnNlY3RzU2hhcGUAvQQdcmF3Y29sbGlkZXJzZXRfY29Db250YWN0U2hhcGUA8QEgcmF3Y29sbGlkZXJzZXRfY29Db250YWN0Q29sbGlkZXIApQUdcmF3Y29sbGlkZXJzZXRfY29Qcm9qZWN0UG9pbnQAhQUecmF3Y29sbGlkZXJzZXRfY29JbnRlcnNlY3RzUmF5APwEGHJhd2NvbGxpZGVyc2V0X2NvQ2FzdFJheQDZBCRyYXdjb2xsaWRlcnNldF9jb0Nhc3RSYXlBbmRHZXROb3JtYWwAoQMacmF3Y29sbGlkZXJzZXRfY29TZXRTZW5zb3IAiQgfcmF3Y29sbGlkZXJzZXRfY29TZXRSZXN0aXR1dGlvbgDNCRxyYXdjb2xsaWRlcnNldF9jb1NldEZyaWN0aW9uAN4JJHJhd2NvbGxpZGVyc2V0X2NvRnJpY3Rpb25Db21iaW5lUnVsZQDXCCdyYXdjb2xsaWRlcnNldF9jb1NldEZyaWN0aW9uQ29tYmluZVJ1bGUAgAkncmF3Y29sbGlkZXJzZXRfY29SZXN0aXR1dGlvbkNvbWJpbmVSdWxlANgIKnJhd2NvbGxpZGVyc2V0X2NvU2V0UmVzdGl0dXRpb25Db21iaW5lUnVsZQCBCSNyYXdjb2xsaWRlcnNldF9jb1NldENvbGxpc2lvbkdyb3VwcwCrByByYXdjb2xsaWRlcnNldF9jb1NldFNvbHZlckdyb3VwcwCdBx9yYXdjb2xsaWRlcnNldF9jb1NldEFjdGl2ZUhvb2tzAIIJIHJhd2NvbGxpZGVyc2V0X2NvU2V0QWN0aXZlRXZlbnRzAIMJKHJhd2NvbGxpZGVyc2V0X2NvU2V0QWN0aXZlQ29sbGlzaW9uVHlwZXMAhAkZcmF3Y29sbGlkZXJzZXRfY29TZXRTaGFwZQD+Bi5yYXdjb2xsaWRlcnNldF9jb1NldENvbnRhY3RGb3JjZUV2ZW50VGhyZXNob2xkAN8JG3Jhd2NvbGxpZGVyc2V0X2NvU2V0RGVuc2l0eQDgCRhyYXdjb2xsaWRlcnNldF9jb1NldE1hc3MA4QkicmF3Y29sbGlkZXJzZXRfY29TZXRNYXNzUHJvcGVydGllcwCvBRlfX3diZ19yYXdjb2xsaWRlcnNldF9mcmVlAIMHEnJhd2NvbGxpZGVyc2V0X25ldwCEBxJyYXdjb2xsaWRlcnNldF9sZW4AyQsXcmF3Y29sbGlkZXJzZXRfY29udGFpbnMA4gkdcmF3Y29sbGlkZXJzZXRfY3JlYXRlQ29sbGlkZXIA6QMVcmF3Y29sbGlkZXJzZXRfcmVtb3ZlAOoFJHJhd2NvbGxpZGVyc2V0X2ZvckVhY2hDb2xsaWRlckhhbmRsZQDBCRpfX3diZ19yYXdzaGFwZWNvbnRhY3RfZnJlZQDYCxlfX3diZ19yYXduYXJyb3dwaGFzZV9mcmVlAPoJEnJhd25hcnJvd3BoYXNlX25ldwD7CSFyYXduYXJyb3dwaGFzZV9jb250YWN0X3BhaXJzX3dpdGgApQobcmF3bmFycm93cGhhc2VfY29udGFjdF9wYWlyAKMHJnJhd25hcnJvd3BoYXNlX2ludGVyc2VjdGlvbl9wYWlyc193aXRoAKYKIHJhd25hcnJvd3BoYXNlX2ludGVyc2VjdGlvbl9wYWlyAPgIHV9fd2JnX3Jhd2NvbnRhY3RtYW5pZm9sZF9mcmVlANgLGHJhd2NvbnRhY3RwYWlyX2NvbGxpZGVyMQDBChhyYXdjb250YWN0cGFpcl9jb2xsaWRlcjIAwgoicmF3Y29udGFjdHBhaXJfbnVtQ29udGFjdE1hbmlmb2xkcwDDCh5yYXdjb250YWN0cGFpcl9jb250YWN0TWFuaWZvbGQA6gcZcmF3Y29udGFjdG1hbmlmb2xkX25vcm1hbACFBxtyYXdjb250YWN0bWFuaWZvbGRfbG9jYWxfbjEAiwcbcmF3Y29udGFjdG1hbmlmb2xkX2xvY2FsX24yAIwHHHJhd2NvbnRhY3RtYW5pZm9sZF9zdWJzaGFwZTEAxAoccmF3Y29udGFjdG1hbmlmb2xkX3N1YnNoYXBlMgDFCh9yYXdjb250YWN0bWFuaWZvbGRfbnVtX2NvbnRhY3RzALAKI3Jhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X2xvY2FsX3AxALsGI3Jhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X2xvY2FsX3AyALwGH3Jhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X2Rpc3QAnAkfcmF3Y29udGFjdG1hbmlmb2xkX2NvbnRhY3RfZmlkMQCdCR9yYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9maWQyAJ4JInJhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X2ltcHVsc2UAnwkscmF3Y29udGFjdG1hbmlmb2xkX2NvbnRhY3RfdGFuZ2VudF9pbXB1bHNlX3gAoAkscmF3Y29udGFjdG1hbmlmb2xkX2NvbnRhY3RfdGFuZ2VudF9pbXB1bHNlX3kAoQkmcmF3Y29udGFjdG1hbmlmb2xkX251bV9zb2x2ZXJfY29udGFjdHMAsQoncmF3Y29udGFjdG1hbmlmb2xkX3NvbHZlcl9jb250YWN0X3BvaW50AL0GJnJhd2NvbnRhY3RtYW5pZm9sZF9zb2x2ZXJfY29udGFjdF9kaXN0AKIJKnJhd2NvbnRhY3RtYW5pZm9sZF9zb2x2ZXJfY29udGFjdF9mcmljdGlvbgD5CC1yYXdjb250YWN0bWFuaWZvbGRfc29sdmVyX2NvbnRhY3RfcmVzdGl0dXRpb24A+ggycmF3Y29udGFjdG1hbmlmb2xkX3NvbHZlcl9jb250YWN0X3RhbmdlbnRfdmVsb2NpdHkAxQYdX193YmdfcmF3cG9pbnRwcm9qZWN0aW9uX2ZyZWUA2AsYcmF3cG9pbnRwcm9qZWN0aW9uX3BvaW50AOsHG3Jhd3BvaW50cHJvamVjdGlvbl9pc0luc2lkZQDKCyVfX3diZ19yYXdwb2ludGNvbGxpZGVycHJvamVjdGlvbl9mcmVlANgLKXJhd3BvaW50Y29sbGlkZXJwcm9qZWN0aW9uX2NvbGxpZGVySGFuZGxlAMsLIHJhd3BvaW50Y29sbGlkZXJwcm9qZWN0aW9uX3BvaW50ANkHI3Jhd3BvaW50Y29sbGlkZXJwcm9qZWN0aW9uX2lzSW5zaWRlAMwLJnJhd3BvaW50Y29sbGlkZXJwcm9qZWN0aW9uX2ZlYXR1cmVUeXBlANoLJHJhd3BvaW50Y29sbGlkZXJwcm9qZWN0aW9uX2ZlYXR1cmVJZACOCh1fX3diZ19yYXdyYXlpbnRlcnNlY3Rpb25fZnJlZQDYCxxfX3diZ19yYXdyYXljb2xsaWRlcmhpdF9mcmVlANgLE19fd2JnX3Jhd3NoYXBlX2ZyZWUArAgPcmF3c2hhcGVfY3Vib2lkAM4JFHJhd3NoYXBlX3JvdW5kQ3Vib2lkAMIJDXJhd3NoYXBlX2JhbGwA4wkScmF3c2hhcGVfaGFsZnNwYWNlAOcFEHJhd3NoYXBlX2NhcHN1bGUAtAcRcmF3c2hhcGVfY3lsaW5kZXIA1AkWcmF3c2hhcGVfcm91bmRDeWxpbmRlcgDPCQ1yYXdzaGFwZV9jb25lANUJEnJhd3NoYXBlX3JvdW5kQ29uZQDQCRFyYXdzaGFwZV9wb2x5bGluZQDtBxByYXdzaGFwZV90cmltZXNoAOwHFHJhd3NoYXBlX2hlaWdodGZpZWxkALAFEHJhd3NoYXBlX3NlZ21lbnQA3QYRcmF3c2hhcGVfdHJpYW5nbGUAxwUWcmF3c2hhcGVfcm91bmRUcmlhbmdsZQC9BRNyYXdzaGFwZV9jb252ZXhIdWxsAPgHGHJhd3NoYXBlX3JvdW5kQ29udmV4SHVsbADzBxNyYXdzaGFwZV9jb252ZXhNZXNoALIHGHJhd3NoYXBlX3JvdW5kQ29udmV4TWVzaACsBxJyYXdzaGFwZV9jYXN0U2hhcGUAswEYcmF3c2hhcGVfaW50ZXJzZWN0c1NoYXBlAMIDFXJhd3NoYXBlX2NvbnRhY3RTaGFwZQDdARZyYXdzaGFwZV9jb250YWluc1BvaW50AO0EFXJhd3NoYXBlX3Byb2plY3RQb2ludACcBBZyYXdzaGFwZV9pbnRlcnNlY3RzUmF5AJ8EEHJhd3NoYXBlX2Nhc3RSYXkAkQQccmF3c2hhcGVfY2FzdFJheUFuZEdldE5vcm1hbADKAhpfX3diZ19yYXdzaGFwZWNhc3RoaXRfZnJlZQDYCxhyYXdzaGFwZWNhc3RoaXRfd2l0bmVzczEA2gcXcmF3c2hhcGVjYXN0aGl0X25vcm1hbDEA2wcXcmF3c2hhcGVjYXN0aGl0X25vcm1hbDIA3AciX193YmdfcmF3Y29sbGlkZXJzaGFwZWNhc3RoaXRfZnJlZQDYCyZyYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF90aW1lX29mX2ltcGFjdADNCyByYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF93aXRuZXNzMQDdByByYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF93aXRuZXNzMgDeBw9yYXdyb3RhdGlvbl9uZXcAxgoUcmF3cm90YXRpb25faWRlbnRpdHkA6goNcmF3cm90YXRpb25feADbCw5yYXd2ZWN0b3JfemVybwCVCw1yYXd2ZWN0b3JfbmV3AN8KD3Jhd3ZlY3Rvcl9zZXRfeADOCw9yYXd2ZWN0b3Jfc2V0X3oArAsNcmF3dmVjdG9yX3h5egC2CA1yYXd2ZWN0b3JfeXh6ALcIDXJhd3ZlY3Rvcl96eHkAuAgNcmF3dmVjdG9yX3h6eQC5CA1yYXd2ZWN0b3JfeXp4ALoIDXJhd3ZlY3Rvcl96eXgAuwgWcmF3c2RwbWF0cml4M19lbGVtZW50cwCkByFfX3diZ19yYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX2ZyZWUAnwoacmF3ZGVidWdyZW5kZXJwaXBlbGluZV9uZXcA9AcfcmF3ZGVidWdyZW5kZXJwaXBlbGluZV92ZXJ0aWNlcwCmCB1yYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX2NvbG9ycwCnCB1yYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX3JlbmRlcgCaBRhfX3diZ19yYXdldmVudHF1ZXVlX2ZyZWUA5QcfX193YmdfcmF3Y29udGFjdGZvcmNlZXZlbnRfZnJlZQDYCx5yYXdjb250YWN0Zm9yY2VldmVudF9jb2xsaWRlcjIAzwsgcmF3Y29udGFjdGZvcmNlZXZlbnRfdG90YWxfZm9yY2UA3wcqcmF3Y29udGFjdGZvcmNlZXZlbnRfdG90YWxfZm9yY2VfbWFnbml0dWRlANALKHJhd2NvbnRhY3Rmb3JjZWV2ZW50X21heF9mb3JjZV9kaXJlY3Rpb24A4AcocmF3Y29udGFjdGZvcmNlZXZlbnRfbWF4X2ZvcmNlX21hZ25pdHVkZQDRCxFyYXdldmVudHF1ZXVlX25ldwDCByJyYXdldmVudHF1ZXVlX2RyYWluQ29sbGlzaW9uRXZlbnRzAI8KJXJhd2V2ZW50cXVldWVfZHJhaW5Db250YWN0Rm9yY2VFdmVudHMAkAoTcmF3ZXZlbnRxdWV1ZV9jbGVhcgDPBx1fX3diZ19yYXdwaHlzaWNzcGlwZWxpbmVfZnJlZQCgChZyYXdwaHlzaWNzcGlwZWxpbmVfbmV3AIUJF3Jhd3BoeXNpY3NwaXBlbGluZV9zdGVwAKkEIXJhd3BoeXNpY3NwaXBlbGluZV9zdGVwV2l0aEV2ZW50cwCWBBtfX3diZ19yYXdxdWVyeXBpcGVsaW5lX2ZyZWUA8AkUcmF3cXVlcnlwaXBlbGluZV9uZXcA/AkXcmF3cXVlcnlwaXBlbGluZV91cGRhdGUAwwcYcmF3cXVlcnlwaXBlbGluZV9jYXN0UmF5AKAEJHJhd3F1ZXJ5cGlwZWxpbmVfY2FzdFJheUFuZEdldE5vcm1hbAD+AyVyYXdxdWVyeXBpcGVsaW5lX2ludGVyc2VjdGlvbnNXaXRoUmF5AOwCJnJhd3F1ZXJ5cGlwZWxpbmVfaW50ZXJzZWN0aW9uV2l0aFNoYXBlAKQEHXJhd3F1ZXJ5cGlwZWxpbmVfcHJvamVjdFBvaW50ALUEKnJhd3F1ZXJ5cGlwZWxpbmVfcHJvamVjdFBvaW50QW5kR2V0RmVhdHVyZQC5BCdyYXdxdWVyeXBpcGVsaW5lX2ludGVyc2VjdGlvbnNXaXRoUG9pbnQA0QMacmF3cXVlcnlwaXBlbGluZV9jYXN0U2hhcGUA0QIncmF3cXVlcnlwaXBlbGluZV9pbnRlcnNlY3Rpb25zV2l0aFNoYXBlAN8CMnJhd3F1ZXJ5cGlwZWxpbmVfY29sbGlkZXJzV2l0aEFhYmJJbnRlcnNlY3RpbmdBYWJiAOcGH19fd2JnX3Jhd2Rlc2VyaWFsaXplZHdvcmxkX2ZyZWUA/QkgcmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUdyYXZpdHkAlAcucmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUludGVncmF0aW9uUGFyYW1ldGVycwDOBCZyYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlSXNsYW5kTWFuYWdlcgCNByNyYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlQnJvYWRQaGFzZQCYByRyYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlTmFycm93UGhhc2UAzAQfcmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUJvZGllcwCbBSJyYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlQ29sbGlkZXJzAIgFJnJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VJbXB1bHNlSm9pbnRzAI4HKHJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VNdWx0aWJvZHlKb2ludHMAjwcccmF3c2VyaWFsaXphdGlvbnBpcGVsaW5lX25ldwDcCyVyYXdzZXJpYWxpemF0aW9ucGlwZWxpbmVfc2VyaWFsaXplQWxsAIYDJ3Jhd3NlcmlhbGl6YXRpb25waXBlbGluZV9kZXNlcmlhbGl6ZUFsbACWBzxyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X251bUFkZGl0aW9uYWxGcmljdGlvbkl0ZXJhdGlvbnMAows1cmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9udW1JbnRlcm5hbFBnc0l0ZXJhdGlvbnMApAsPcmF3dmVjdG9yX3NldF95AKULInJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfdXAA0wcXcmF3c2hhcGVjb250YWN0X25vcm1hbDIA0wcWcmF3c2hhcGVjb250YWN0X3BvaW50MQDrBxZyYXdzaGFwZWNvbnRhY3RfcG9pbnQyAN0HGXJhd3JheWludGVyc2VjdGlvbl9ub3JtYWwA3QchcmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fbm9ybWFsAN0HF3Jhd3NoYXBlY29udGFjdF9ub3JtYWwxAN4HH3Jhd2NvbGxpZGVyc2hhcGVjYXN0aGl0X25vcm1hbDEA0wcfcmF3Y29sbGlkZXJzaGFwZWNhc3RoaXRfbm9ybWFsMgDUBxhyYXdzaGFwZWNhc3RoaXRfd2l0bmVzczIA3wcmcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9vZmZzZXQAxQs1cmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX25vcm1hbGl6ZWRBbGxvd2VkTGluZWFyRXJyb3IAvws4cmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX251bUFkZGl0aW9uYWxGcmljdGlvbkl0ZXJhdGlvbnMAwQsxcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX251bUludGVybmFsUGdzSXRlcmF0aW9ucwDCCyZyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbWluSXNsYW5kU2l6ZQDECxNyYXdyaWdpZGJvZHlzZXRfbGVuAMkLGHJhd3NoYXBlY29udGFjdF9kaXN0YW5jZQC6Cx5yYXdyYXlpbnRlcnNlY3Rpb25fZmVhdHVyZVR5cGUA2gspcmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fY29sbGlkZXJIYW5kbGUAywshcmF3cmF5aW50ZXJzZWN0aW9uX3RpbWVfb2ZfaW1wYWN0AM0LJnJhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX2ZlYXR1cmVUeXBlANoLIHJhd3JheWNvbGxpZGVyaGl0X2NvbGxpZGVySGFuZGxlANkLKXJhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX3RpbWVfb2ZfaW1wYWN0AM0LJnJhd2NvbGxpZGVyc2hhcGVjYXN0aGl0X2NvbGxpZGVySGFuZGxlANkLHnJhd3JheWNvbGxpZGVyaGl0X3RpbWVPZkltcGFjdADNCx5yYXdzaGFwZWNhc3RoaXRfdGltZV9vZl9pbXBhY3QA2wsNcmF3cm90YXRpb25feQDFCw1yYXdyb3RhdGlvbl96AM0LDXJhd3JvdGF0aW9uX3cAxgsLcmF3dmVjdG9yX3gA2wsLcmF3dmVjdG9yX3kAxQsLcmF3dmVjdG9yX3oAzQsecmF3Y29udGFjdGZvcmNlZXZlbnRfY29sbGlkZXIxANkLNXJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19ub3JtYWxpemVkUHJlZGljdGlvbkRpc3RhbmNlANELHHJhd2NvbGxpZGVyc2V0X2lzSGFuZGxlVmFsaWQA4gkjX193YmdfcmF3c2VyaWFsaXphdGlvbnBpcGVsaW5lX2ZyZWUA2AsccmF3cmF5aW50ZXJzZWN0aW9uX2ZlYXR1cmVJZACOCiRyYXdyYXljb2xsaWRlcmludGVyc2VjdGlvbl9mZWF0dXJlSWQAjgoZX193YmdfcmF3Y29udGFjdHBhaXJfZnJlZQDYCyVfX3diZ19yYXdyYXljb2xsaWRlcmludGVyc2VjdGlvbl9mcmVlANgLFl9fd2JnX3Jhd3JvdGF0aW9uX2ZyZWUA2AsUX193YmdfcmF3dmVjdG9yX2ZyZWUA2AsYX193YmdfcmF3c2RwbWF0cml4M19mcmVlANgLH19fd2JpbmRnZW5fYWRkX3RvX3N0YWNrX3BvaW50ZXIAhw0PX193YmluZGdlbl9mcmVlAIUMEV9fd2JpbmRnZW5fbWFsbG9jAMgKFF9fd2JpbmRnZW5fZXhuX3N0b3JlAKQMCfYOAQBBAQvFB5gMhA3SAcoNpA2mDcoN+gyJDaUNiA2aC5ML5gnpC5wMmwztC64K1wSNDY4N3QqMDaMKowqhBKEElw2yDdsG2wb5AvoC9wS1B7wEugq/B7IIlAuZBfMEygS4BZ0MnQydDJ0M0QmIB4AKqAObArQDngeGBb8I5QbNBfsKsw2iDLQNsQ2wDaEMqA36C6gG9AWABvEDtgf0AcEElgnHBMQFrgWdBZ4MngyeDJ4M/gfABqMIggP7AYUD1wrmCrMKzQTMBfEFsA2gDNcLnwz5C/8M9QWaDIsNig2HB4cHkAQapw2vDc0Nyw3MDdgKnAP5BM0N7gFKOIUN4wuJB+EL4wvdC+oL5wvhC+EL5AvlC+ILyg3dCvAIkQmBC9sKvArKDW8vYlNDzwEwGJoLlgvKDegJ6wucDJIN3gvdCowN4Qr7CN0K4AqKCPUHqwLrCtMG1Aa1B7wEugq/B7IIlAuZBfMEygS4BaUMpQylDKUM0QmIB4AKqAObArQDzQWzDaIMtA2xDbANpgyoDfwL9AWMDFaPDFGODGyNDFLbBtsG+QL6ArINmgyTDZIJyg3pCewLqAyuDP4Jsgy+A7UMqgWrDLQM/gm6DLAMzwW2DJsM3ganDNYKuAysDOIKqgytDLcMqw2vDLMMsQycDKkMuwy5DN0K3QqaDJUMvwHODM4MzgzODNMM8QLCDMIMwgzCDKIM8gK+DL4Mvgy+DNQM8wLKDMoMygzKDKAM9ALHDMcMxwzHDNUM/wTNBvsCxQf9CL0KgwvFA78F6wPgBdAM0AzQDNAMnAWdBMEFyQK2AuUC5QryC+wKxAnaBukGsg3VDKwNtw2wDdcMqA2oDf4I7QW5B44DvwrHB70Ilwv8A/QEqQO5Bc8MzwzPDM8M0QmIB4AKqAObArQDswOzDaIMtA2xDdoM/wuaBJEMkAOSDK4BlAy8AZMMfZAM7QLGB4sDyQqpCdoIrQv6A+8EsgO1BcEMwQzBDMEMzQrjAYwL4QOvAosElwXJBv8JxgK4BLkN0wzbDIAMgA3+BewJrwu+CKoKgAbcArYH+gHBBJYJjAPEBfcDnQXFDMUMxQzFDP4H0QSjCP8B6wGNAuIFsA2gDNgM/QuFAqMKowqhBKEEsg39B5ID6AKGDOII9AaCBOME9gOzBMsMywzLDMsMzwrBAZAL5gOxAoUEhgfIB70JmgP6BP4LuA3UDK0N2QzzC6oN/wXbBZcH7gKsA68IrwjUA9MD9gTbBtsG+QL6AvsHkwNYhwzhCG6BBOIExgPQBcAMwAzADMAMX1SIC9gDrgLuA7ALugfTAtwM8ASWDLoN3QysBa0F3gzuBaEKqQ3QB4gD4wpg4wiCAfMD5gT1A9EFxgzGDMYMxgxVTIQL1wO8AuwDsQu7B+AE1gzyBLsN3wy/DeAM7wX4BakN6wm4A+oJWuEHcsMD1QT0A9IFvwy/DL8MvwxIW4sL1gO1Au0DsgvuB6EBmA2ABdULvA3hDOIM/QWBBcQNgQHPA4ECiQzfCLUNgATlBMgDtg3JDMkMyQzJDMsKf5EL4wO0Ao0Eswu8B6YE4wzxBL0N5AzsBcsG0gKMCdIE7QatCI8DpQSXAt8ExAzEDMQMxAzMCoUBiQvkA7sChgSpBaICmQqXDNMFqQi+DeUMmAXmDIEMgQ3jBboDtwP3AZ4EsgG6BM4DjwT9BNAEvgqlAsgFqQLABcgMyAzIDMgM1ArmAYUL3QOzAoQE5wy0C7QKlQ35Bb8GwA3oDK4N6QyCDJ8DkwmTCZkEmQS9A/wHkQOkAogM4AjWC/8D5ATHA7oF0QzRDNEM0QzSCswBhwvlA7oCigTqDLUKlg3aBcEN6wyYC+wMgwygA5oHmQe8A7wDpwTHBvYCrgf2COQK1Au/A9cF3APwBcMMwwzDDMMM0QflBagIyQOaAvsD7wvtDLYK8AvfBsMN7gzCDe4L6wrTBtQG2AbXAqcJhwnxBuYImAOrBPwC6gS8DLwMvAy8DMoKywGPC+IDuQKIBPkGiwiVCt0EiQW/BscN8wyCDfQM9gv7BdUG2gKlCYsJ8wbnCJUDrASAA+gEzAzMDMwMzAzQCtQBjQvfA7cCgwTABIsC7gn4BtUFqQjJDfcMkgX4DPgLuwTZBtYCqAmICfIG6AiXA68E/gLrBL0MvQy9DL0Mzgq9AY4L4AOwAokE+gaWCt4E2gXIDfUMmAv2DPcL/AXXBtkCpgmJCe8G5AiWA64E/wLnBNIM0gzSDNIM0wrWAYoL5wOyAowEigfmB5QKygP+BPEFxQ3vDK4L8Az0C/oF1gbYAqQJignwBuUImQOtBP0C6QTNDM0MzQzNDNEKsQGGC94DuAKHBLEFtwSHCJ4F1AXGDfEMmQ3yDPULiQPkCZUHrgiuA/0DkQXDBcQC5gL9BvYHpQPZA+EF6AbwApsDkQfWCa0D+APxC8oNtQ3NDcoN6AvgC9wKkwX5DL4J7QuuCtcEmg38DMoNmgy3Cv0M5gvoBe8Hyg37DO0LuAqeDZsNyg2cDZ0Ngw2YDP4MigyNCYMFyg37DMoNhg3hAqsKnw0KqZhTuA2m5gYDVH1CfwN+IwBBwANrImskAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAygCLCJiIAFLBEAgAygCKCABQQJ0aigCACFmIAIoAgAhYiBrIAJBxAAQow0hcCAAQbwDakEANgIAIABB+AJqQQA2AgAgcCBwKgIEIGIgZmoiowGzImGVIh44AgQgcCBwKgIQIGGVOAIQIANBIGooAgAiYiABSwRAAkACQCABQQFqImYgYkkEQCADQRxqKAIAImIgZkECdGoioQEoAgAhbSBtIGIgAUECdGoiogEoAgAiAUkNAiBtIAMoAgginQFNDQEgbSCdAUHkocEAEO4IAAsgZiBiQdShwQAQ7QgACyADKAIEIaABAkACQCABIG1GBEAgAEGQA2pBADYCACABIQMMAQsgbSABayJlIAAoAvACSwRAIwBBIGsidCQAQQQgAEHwAmoiaygCACJmQQF0IgMgZSADIGVLGyIDIANBBE0bImNB/ABsIWIgY0GRhKEISUECdCEDAkAgZkUEQCB0QQA2AhgMAQsgdEEENgIYIHQgZkH8AGw2AhwgdCBrKAIENgIUCyB0QQhqIAMgYiB0QRRqEOEGIHQoAgwhAwJAIHQoAghFBEAgayBjNgIAIGsgAzYCBAwBCyADQYGAgIB4Rg0AIAMEQCADIHRBEGooAgBB2IDEACgCACIAQaMHIAAbEQAAAAsMDwsgdEEgaiQAIAAoAvgCIWMLIAAoAvQCIGNB/ABsaiEDIGVBAk8EQCBtIAFBf3NqImJBA3EhASBlQQJrQQNPBEAgYkF8cSFtA0AgA0EAQcQAEKINIgNCADcCSCADQYCAgPwDNgJEIANB0ABqQgA3AgAgA0HYAGpCADcCACADQeAAakIANwIAIANB6ABqQgA3AgAgA0HwAGpCADcCACADQfgAakEANgIAIANB/ABqQQBBxAAQog0aIANBxAFqQgA3AgAgA0HAAWpBgICA/AM2AgAgA0HMAWpCADcCACADQdQBakIANwIAIANB3AFqQgA3AgAgA0HkAWpCADcCACADQewBakIANwIAIANB9AFqQQA2AgAgA0H4AWpBAEHEABCiDRogA0HAAmpCADcCACADQbwCakGAgID8AzYCACADQcgCakIANwIAIANB0AJqQgA3AgAgA0HYAmpCADcCACADQeACakIANwIAIANB6AJqQgA3AgAgA0HwAmpBADYCACADQfQCakEAQcQAEKINGiADQbwDakIANwIAIANBuANqQYCAgPwDNgIAIANBxANqQgA3AgAgA0HMA2pCADcCACADQdQDakIANwIAIANB3ANqQgA3AgAgA0HkA2pCADcCACADQewDakEANgIAIANB8ANqIQMgbUEEayJtDQALCyABBEADQCADQQBBxAAQog0iA0IANwJIIANBgICA/AM2AkQgA0HQAGpCADcCACADQdgAakIANwIAIANB4ABqQgA3AgAgA0HoAGpCADcCACADQfAAakIANwIAIANB+ABqQQA2AgAgA0H8AGohAyABQQFrIgENAAsLIGMgZWpBAWshYwsgA0EAQcQAEKINIgFCADcCSCABQYCAgPwDNgJEIAFB0ABqQgA3AgAgAUHYAGpCADcCACABQeAAakIANwIAIAFB6ABqQgA3AgAgAUHwAGpCADcCACABQfgAakEANgIAIABBkANqQQA2AgAgACBjQQFqNgL4AiCiASgCACIBIKEBKAIAIgNLDQELIAMgnQFNBEACQCABIANGBEAgAEEANgKQAyAAQYQDaiJlQQA2AgAgASEDDAELQQAhYyADIAFrImYgACgCiANLBEAgAEGIA2pBACBmEKYGIAAoApADIWMLIAAoAowDImIgY0EYbGohbSBmQQJPBEAgbUEAIAMgAUF/c2pBGGwQog0aIGMgZmoiAUEBayFjIAFBGGwgYmpBGGshbQsgbUIANwIAIG1BEGpCADcCACBtQQhqQgA3AgAgACBjQQFqNgKQAyAAQYQDaiJlQQA2AgAgogEoAgAiASChASgCACIDSw0KCyADIJ0BTQRAAkACQCABIANGBEAgZUEANgIAIAMhAQwBC0EAIWMgAyABayJmIAAoAvwCSwRAIABB/AJqQQAgZhCmBiAAKAKEAyFjCyAAKAKAAyJiIGNBGGxqIW0gZkECTwRAIG1BACADIAFBf3NqQRhsEKINGiBjIGZqIgFBAWshYyABQRhsIGJqQRhrIW0LIG1CADcCACBtQRBqQgA3AgAgbUEIakIANwIAIGUgY0EBajYCACChASgCACIBIKIBKAIAIgNJDQELIAEgnQFNBEAgASADRg0JIABBtANqIXkgoAEgAUEDdGohlQEgoAEgA0EDdGohbSANQSRqKAIAIXUgDUEgaigCACF7IAQoAhAhcyAEKAIMIWogDSgCECFuIA0oAgwhbANAIG1BBGooAgAhAQJAAkACQAJAAkACQAJAAkAgbSgCACIDIHVPDQAge0UNACB7IANBFGxqImsoAgAgAUcNAAJAIGsoAgQiZiBuTw0AIGxFDQAgbCBmQZQCbGoiAygCAEGAgICAeEYNACBrQQhqKAIAImMgAygCkAJGDQIL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A0L////7BzcDICADQoCAgIDw//+/fzcDGCADQv////v///+//wA3AxAgAyBwKQPIAjcCVCADQYCAgPwDNgJkIAMgcCkDsAI3A2ggA0HcAGogcEHQAmopAwA3AgAgA0HwAGogcEGwAmoiAEEIaikDADcDACADQfgAaiAAQRBqKQMANwMAIANCADcDiAEgA0KAgID8AzcDgAEgA0L////7BzcDoAEgA0EAOgCoASADQv////sHNwK8ASADQQA6AMQBIAMgcCkDoAI3A5ABIANBmAFqIHBBqAJqKQMANwMAIAMgcCkDiAI3AKkBIANBsQFqIHBBiAJqIgBBCGopAwA3AAAgA0G4AWogAEEPaigAADYAACADIHApA/ABNwDFASADQc0BaiBwQfABaiIAQQhqKQMANwAAIANB1AFqIABBD2ooAAA2AAAgA0EAOgDgASADQv////sHNwPYASADQQA6APwBIANC////+wc3AvQBIANBADoAmAIgA0L////7BzcDkAIgA0HwAWogcEHYAWoiAEEPaigAADYAACADQekBaiAAQQhqKQMANwAAIAMgcCkD2AE3AOEBIANBjAJqIHBBwAFqIgBBD2ooAAA2AAAgA0GFAmogAEEIaikDADcAACADIHApA8ABNwD9ASADQagCaiBwQagBaiIAQQ9qKAAANgAAIANBoQJqIABBCGopAwA3AAAgAyBwKQOoATcAmQIgA0EAOgC0AiADQv////sHNwKsAiADQbcCaiAFLQAAOgAAIAMgcC8AgQM7ALUCIANCfzcDwAIgA0GAAjsBvAIgA0EANgK4AiADQfACaiBwQfgAaiIAQShqKQMANwMAIANB6AJqIABBIGopAwA3AwAgA0HgAmogAEEYaikDADcDACADQdgCaiAAQRBqKQMANwMAIANB0AJqIABBCGopAwA3AwAgAyBwKQN4NwPIAiADQX82AvgCIANBpANqIHBByABqIgBBKGopAwA3AgAgA0GcA2ogAEEgaikDADcCACADQZQDaiAAQRhqKQMANwIAIANBjANqIABBEGopAwA3AgAgA0GEA2ogAEEIaikDADcCACADIHApA0g3AvwCIANBfzYCvAMgA0L/////HzcCtAMgA0J/NwKsAyADQcgDaiBwQbADaigCADYCACADIHApA6gDNwPAAyADQoGAgIBwNwLMAyADQdwDaiBwQZwDaigCADYCACADIHApApQDNwLUAyADQeADaiEDIAFBAWsiAQ0ACyALIGNqQQFrIWMLIANC////+////7//ADcDECADQgA3AwggA0IANwMAIANB////+wc2AlAgA0KAgICA8P//v383A0ggA0L////7////v/8ANwNAIANC////+wc3AzggA0KAgICA8P//v383AzAgA0L////7////v/8ANwMoIANC////+wc3AyAgA0KAgICA8P//v383AxggAyBwKQPIAjcCVCADQYCAgPwDNgJkIAMgcCkDsAI3A2ggA0HcAGogcEHQAmopAwA3AgAgA0HwAGogcEGwAmoiAEEIaikDADcDACADQfgAaiAAQRBqKQMANwMAIANCADcDiAEgA0KAgID8AzcDgAEgA0L////7BzcDoAEgA0EAOgCoASADQv////sHNwK8ASADQQA6AMQBIAMgcCkDoAI3A5ABIANBmAFqIHBBqAJqKQMANwMAIAMgcCkDiAI3AKkBIANBsQFqIHBBiAJqIgBBCGopAwA3AAAgA0G4AWogAEEPaigAADYAACADIHApA/ABNwDFASADQc0BaiBwQfABaiIAQQhqKQMANwAAIANB1AFqIABBD2ooAAA2AAAgA0EAOgDgASADQv////sHNwPYASADQQA6APwBIANC////+wc3AvQBIANBADoAmAIgA0L////7BzcDkAIgA0HwAWogcEHYAWoiAEEPaigAADYAACADQekBaiAAQQhqKQMANwAAIAMgcCkD2AE3AOEBIANBjAJqIHBBwAFqIgBBD2ooAAA2AAAgA0GFAmogAEEIaikDADcAACADIHApA8ABNwD9ASADQagCaiBwQagBaiIAQQ9qKAAANgAAIANBoQJqIABBCGopAwA3AAAgAyBwKQOoATcAmQIgA0EAOgC0AiADQv////sHNwKsAiADQbcCaiBwQYMDai0AADoAACADIHAvAIEDOwC1AiADQn83A8ACIANBgAI7AbwCIANBADYCuAIgA0HwAmogcEH4AGoiAEEoaikDADcDACADQegCaiAAQSBqKQMANwMAIANB4AJqIABBGGopAwA3AwAgA0HYAmogAEEQaikDADcDACADQdACaiAAQQhqKQMANwMAIAMgcCkDeDcDyAIgA0F/NgL4AiADQaQDaiBwQcgAaiIAQShqKQMA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OwFEIANC////+/f//7//ADcCPCADQv////v3//+//wA3AjQgA0L////79///v/8ANwIsIANCgICAgPD//79/NwIkIANBEGpCfzcCACADQRhqQn83AgAgA0EgakF/NgIAIANByABqQgA3AgAgA0HQAGpCfzcCACADQdgAakJ/NwIAIANB4ABqQn83AgAgA0HoAGpBfzYCACADQYQBakL////79///v/8ANwIAIANB/ABqQv////v3//+//wA3AgAgA0H0AGpC////+/f//7//ADcCACADQewAakKAgICA8P//v383AgAgA0GMAWpBADsBACADQZABaiEDIAFBAmsiAQ0ACwsgBiBjakEBayFjIAUEQCADQn83AgggA0IANwIAIANBADsBRCADQv////v3//+//wA3AjwgA0L////79///v/8ANwI0IANC////+/f//7//ADcCLCADQoCAgIDw//+/fzcCJCADQRBqQn83AgAgA0EYakJ/NwIAIANBIGpBfzYCACADQcgAaiEDCwsgA0J/NwIIIANCADcCACADQQA7AUQgA0L////79///v/8ANwI8IANC////+/f//7//ADcCNCADQv////v3//+//wA3AiwgA0KAgICA8P//v383AiQgA0EQakJ/NwIAIANBGGpCfzcCACADQSBqQX82AgAgY0EBaiFtCyANIG02AqQCIA1BADYC4AIgDSgCjAIiByJjIA1B2AJqIgYoAgBLBEAjAEEgayIIJABBBCAGKAIAIgVBAXQiACAHIAAgB0sbIgAgAEEETRsiA0GQA2whASADQYbXxwJJQQN0IQACQCAFRQRAIAhBADYCGAwBCyAIQQg2AhggCCAFQZADbDYCHCAIIAYoAgQ2AhQLIAhBCGogACABIAhBFGoQ4QYgCCgCDCEAAkAgCCgCCEUEQCAGIAM2AgAgBiAANgIEDAELIABBgYCAgHhGDQAgAARAIAAgCEEQaigCAEHYgMQAKAIAIgBBowcgABsRAAAACwwKCyAIQSBqJAAgDSgCjAIhYwsgDUHcAmooAgAiA0H/ASAHQZADbBCiDRogDSAHNgLgAkEAIW0gcEEANgJ4AkACQCBjIAcgByBjSxsiY0UNACANKAKIAiEBA0AgASgCACIGIApPDQIgAyEHIHBB+ABqIWYjAEEwayJlJAACQAJAIAQoAhAiDCAJIAZBgANsakEQaiJuKAIIIgVNDQAgBCgCDCJrRQ0AIGsgBUHwAmxqIgsoAgBFDQAgbkEMaigCACIAIAsoAgRHDQAgbkHrAmotAAAhbSBuQdACaioCACE+IG5BzAJqKgIAIVEgbkG0AmoqAgAhUyBuQbACaioCACE1IG5BmAJqKgIAIVIgbkGUAmoqAgAhMiBuQfwBaioCACEzIG5B+AFqKgIAITYgbkHgAWoqAgAhNyBuQdwBaioCACEuIG5BxAFqKgIAITEgbkHAAWoqAgAhMCBuQbwBaioCACEaIG5BuAFqKgIAIRQgbkG0AWoqAgAhFSBuQbABaioCACEOIG5BrAFqKgIAIQ8gbkGoAWoqAgAhFyBuQaQBaioCACEZIG5BoAFqKgIAISkgbkGcAWoqAgAhISBuQZgBaioCACEnIG5BlAFqKgIAISIgbkGQAWoqAgAhHiBuQYwBaioCACEdIG5BiAFqKgIAIRwgbkGAAWoqAgAhOSBuQfwAaioCACEfIG5B9ABqKgIAITQgbkHwAGoqAgAhIyBuQegAaioCACE6IG5B5ABqKgIAISQgbkHcAGoqAgAhRSBuQdgAaioCACEgIG5B0ABqKgIAIUYgbkHMAGoqAgAhKiBuQcQAaioCACFAIG5BQGsqAgAhKCBuKAIEIQggbigCACEDIAtB6QJqLQAARQRAIBohEyAUIRAgFSEWIA4hEiAPIRggFyEbIBkhESApIRogISEUICchFSAiIQ4gHiEPIB0hFyAcIRkgHyElICMhHyAkISMgAyELICAhJCAIIWIgKiEgIAUhAyAoISogACEIDAILIB8gOYwgbUEgcSILGyElIDkgH4wgCxshOSAjIDSMIG1BEHEiCxshHyA0ICOMIAsbITQgJCA6jCBtQQhxIgsbISMgOiAkjCALGyE6ICAgRYwgbUEEcSILGyEkIEUgIIwgCxshRSAqIEaMIG1BAnEiCxshICBGICqMIAsbIUYgKCBAjCBtQQFxIgsbISogQCAojCALGyFAID6MIT4gUYwhUSBTjCFTIDWMITUgUowhUiAyjCEyIDOMITMgNowhNiA3jCE3IC6MIS4gMYwhMSAwjCEwICkhEyAhIRAgJyEWICIhEiAeIRggHSEbIBwhESAFIQsgACFiDAELQaSVwQBBE0GAzsEAEO8JAAsCQAJAAkAgCyAMTw0AIGsgC0HwAmxqInIoAgBFDQAgcigCBCBiRw0AIAMgDE8NASBrIANB8AJsaiIAKAIARQ0BIAAoAgQgCEcNASBuQThqKQMAIaUBIG5B7AJqKAIAIQsgbkGEAWoqAgAhKyBuQfgAaioCACEoIG5B7ABqKgIAISkgbkHgAGoqAgAhISBuQdQAaioCACEnIG5ByABqKgIAISIgbikDMCGkASBlQRBqIgggckGQAWooAgA2AgAgZUEcaiByQZwBaigCADYCACBlQSBqIgUgckHwAWopAgA3AwAgZUEoaiIDIHJB+AFqKAIANgIAIGUgckGIAWopAgA3AwggZSByQZQBaikCADcCFCByQdAAaioCACEeIHJBzABqKgIAIR0gckHIAGoqAgAhHCByQUBrKgIAIS0gckE8aioCACEvIHJBOGoqAgAhOyByQcQAaioCACEsIABBEGooAgAhACAHQagBaiBuQdgBaigCADYCACAHQaABaiBuQdABaikDADcDACAHIG5ByAFqKQMANwOYASAHIG5BgAJqKQMANwPQASAHQdgBaiBuQYgCaikDADcDACAHQeABaiBuQZACaigCADYCACAHIG5BuAJqKQMANwOIAiAHQZACaiBuQcACaikDADcDACAHQZgCaiBuQcgCaigCADYCACAHQbMCaiBuQeMCaikAADcAACAHQawCaiBuQdwCaikCADcCACAHIG5B1AJqKQIANwKkAiAHIGUpAwg3AsACIAdByAJqIAgpAwA3AgAgB0HQAmogZUEYaikDADcCACAHQdgCaiAFKQMANwIAIAdB4AJqIAMoAgA2AgAgZigCACEMIAcgpQE3AwggByCkATcDACAHIDc4ArABIAcgLjgCrAEgByAxOAKUASAHIDA4ApABIAcgEzgCjAEgByAQOAKIASAHIBY4AoQBIAcgEjgCgAEgByAYOAJ8IAcgGzgCeCAHIBE4AnQgByAaOAJwIAcgFDgCbCAHIBU4AmggByAOOAJkIAcgDzgCYCAHIBc4AlwgByAZOAJYIAcgKzgCVCAHIDk4AlAgByAlOAJMIAcgKDgCSCAHIDQ4AkQgByAfOAJAIAcgKTgCPCAHIDo4AjggByAjOAI0IAcgITgCMCAHIEU4AiwgByAkOAIoIAcgJzgCJCAHIEY4AiAgByAgOAIcIAcgIjgCGCAHIEA4AhQgByAqOAIQIAcg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B0EBdCIFIAYgBSAGSxsiBSAFQQRNGyIIQThsIQYgCEGTyaQSSUECdCEFAkAgB0UEQCADQQA2AhgMAQsgA0EENgIYIAMgB0E4bDYCHCADIAsoAgQ2AhQLIANBCGogBSAGIANBFGoQ4QYgAygCDCEHAkAgAygCCEUEQCALIAg2AgAgCyAHNgIEDAELIAdBgYCAgHhGDQAgB0UNCAwKCyADQSBqJAAgDSgCvAIhYwsgDUG4AmooAgAgY0E4bGohAyAMQQJPBEAgASAAQX9zaiIGQQFxIQUgACABQQJrRwRAIAZBfnEhAQNAIANCADcCJCADQf////sHNgIgIANCgICAgPD//79/NwIYIANC/////w83AhAgA0L/////DzcCCCADQgA3AgAgA0EsakIANwIAIANBNGpBADYCACADQdgAakH////7BzYCACADQdAAakKAgICA8P//v383AgAgA0HIAGpC/////w83AgAgA0FAa0L/////DzcCACADQThqQgA3AgAgA0HcAGpCADcCACADQeQAakIANwIAIANB7ABqQQA2AgAgA0HwAGohAyABQQJrIgENAAsLIAwgY2pBAWshYyAFBEAgA0IANwIkIANB////+wc2AiAgA0KAgICA8P//v383AhggA0L/////DzcCECADQv////8PNwIIIANCADcCACADQSxqQgA3AgAgA0E0akEANgIAIANBOGohAwsLIANCADcCJCADQf////sHNgIgIANCgICAgPD//79/NwIYIANC/////w83AhAgA0L/////DzcCCCADQgA3AgAgA0EsakIANwIAIANBNGpBADYCACBjQQFqIQELIA0gATYCvAIgowEEQCCjAUEBayGPASAEKAIQIZkBIAQoAgwhmwEghwEoAhAhmAEghwEoAiQhhAEghwEoAiAhnAEgDSgChAMhbSANKAKAAyEBIIcBKAIMIZYBIHAoAjghhQEgcCgCMCGAASBwKAI0IYsBIHAqAhwhOyBwKgIEITEDQCBtIA0oApADIgAgACBtSxsiBwRAIA0oAowDIQNBACFiA0AgAyBiaiIFQQhqKgIAIQ8gBUEEaioCACEOIAEgYmoiBiAFKgIAIAYqAgCSOAIAIAZBBGoiACAOIAAqAgCSOAIAIAZBCGoiACAPIAAqAgCSOAIAIAVBFGoqAgAhDyAFQRBqKgIAIQ4g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AA4CAQACCyAHLQCMAg0BCyAHKAKEAiIDIAcoAogCIgBqIAZLDQogAyAHQRhqKAIARw0HIANFDQAgAEECdCENIAdBEGooAgAhDCADQQNxIWJBACEHIANBBE8EQCANIG1qIQEgA0F8cSEAQQAhAwNAIAMgDGoicyABIANqIm4qAgA4AgAgc0EEaiBuQQRqKgIAOAIAIHNBCGogbkEIaioCADgCACBzQQxqIG5BDGoqAgA4AgAgA0EQaiEDIAAgB0EEaiIHRw0ACwsgYkUNACBtIAdBAnQiACANamohAyAAIAxqIQEDQCABIAMqAgA4AgAgA0EEaiEDIAFBBGohASBiQQFrImINAAsLIAogY0EIaiJjRw0ACwsgcEHAA2okAA8LIAAgZUHg4sEAEO0IAAsgACB0QfDiwQAQ7QgACwwDC0GklcEAQRNB9OPBABDvCQALDAMLIAMgnQFB5KHBABDuCAALIAEgA0HkocEAEO8IAAtB3vfAAEEdQej4wAAQ0gsAC0GMhcEAQTRBwIXBABDSCwALIAcNAgsQ7goACyADIAFBEGooAgBB2IDEACgCACIAQaMHIAAbEQAAAAsgByADQRBqKAIAQdiAxAAoAgAiAEGjByAAGxEAAAALQYTLwABBNUG8y8AAENILAAtBBCABQdiAxAAoAgAiAEGjByAAGxEAAAALIAEgC0EQaigCAEHYgMQAKAIAIgBBowcgABsRAAAAC6zUAgNLfyx9BX4jAEGQA2siFSQAIAAtAOADBEAgAEIANwMQIABBiAJqQQA2AgAgAEHQAWpCADcDACAAQbgBakIANwMAIABBoAFqQgA3AwAgAEGIAWpCADcDACAAQfAAakIANwMAIABB2ABqQgA3AwAgAEFAa0IANwMAIABBKGpCADcDACAAQdgDakEANgIAIABB0AJqQgA3AwAgAEG4AmpCADcDACAAQaACakIANwMAIABBgAJqQgA3AwAgAEHoAWpCADcDACAAQdADakIANwMAIABBuANqQgA3AwAgAEGgA2pCADcDACAAQYgDakIANwMAIABB8AJqQgA3AwAgAEHoAmpCADcDAAsgCEHIAGoiDygCACETIA9BADYCACAJQcgAaiIPKAIAIRYgD0EANgIAIAlBxABqKAIAIhAgFkEDdGohHiAIQcQAaigCACIPIBNBA3RqIRogBigCECEfIAYo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FSAVKQD/ATcDeCAXQQhqQQA2AgAgF0IANwIAIA9BEGoiDyAaKQMANwMAIBMgFikDADcDACAVIBUpAzA3A9gCIAhBKGoghwE3AwAgCCCGATcDICAIQdAAakIANwMAIAhByABqQgA3AwAgCEGYAWpB////+wc2AgAgCEGQAWpCgICAgPD//79/NwMAIAhBiAFqQv////v///+//wA3AwAgCEGAAWpC////+wc3AwAgCEH4AGpCgICAgPD//79/NwMAIAhB8ABqQv////v///+//wA3AwAgCEHoAGpC////+wc3AwAgCEHgAGpCgICAgPD//79/NwMAIAhB2ABqQv////v///+//wA3AwAgCEGAA2oiFi0AACElIAhBMGogFSkD2AI3AwAgCEE4aiATKQMANwMAIAhBQGsgDykDADcDACAIQaQBakIANwIAIAhBnAFqQgA3AgAgCEGsAWpBgICA/AM2AgAgCEGwAWpCADcDACAIQbgBakIANwMAIAhBwAFqQgA3AwAgCEHIAWpBgICA/AM2AgAgCEHMAWpCADcCACAIQdQBakIANwIAIAhB3AFqQgA3AgAgCEHkAWpBADYCACAIQfABakEAOgAAIAhB6AFqQv////sHNwMAIAhB8QFqIBUpA9gBNwAAIAhB+QFqIBspAwA3AAAgCEGAAmogHygAADYAACAIQYwCakEAOgAAIAhBhAJqQv////sHNwIAIAhBqAJqQQA6AAAgCEGgAmpC////+wc3AwAgCEHEAmpBADoAACAIQbwCakL////7BzcCACAIQZwCaiAjKAAANgAAIAhBlQJqIDMpAwA3AAAgCEGNAmogFSkDwAE3AAAgCEG4AmogLSgAADYAACAIQbECaiAiKQMANwAAIAhBqQJqIBUpA6gBNwAAIAhB1AJqIDUoAAA2AAAgCEHNAmogKCkDADcAACAIQcUCaiAVKQOQATcAACAIQeACakEAOgAAIAhB2AJqQv////sHNwMAIAhB8AJqICQoAAA2AAAgCEHpAmogLCkDADcAACAIQeECaiAVKQN4NwAAIAhBhANqQYACOwEAIBZBADYCACAIQfwCakEAOgAAIAhB9AJqQv////sHNwIAIBIoAghFDQVBACEWIBIoAgRBADYCjAMgEiASKAKEAkEGajYChAIgEkEQaigCACEPAkAgEkEUaigCACIIRQRA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IAhBkAFqQoCAgIDw//+/fzcDACAIQYgBakL////7////v/8ANwMAIAhBgAFqQv////sHNwMAIAhB+ABqQoCAgIDw//+/fzcDACAIQfAAakL////7////v/8ANwMAIAhB6ABqQv////sHNwMAIAhB4ABqQoCAgIDw//+/fzcDACAIQdgAakL////7////v/8ANwMAIAhBgANqIhstAAAhJiAIQawBaiBbOAIAIAhByAFqQYCAgPwDNgIAIAhBzAFqQgA3AgAgCEHUAWpCADcCACAIQdwBakIANwIAIAhB5AFqQQA2AgAgCEHwAWpBADoAACAIQegBakL////7BzcDACAIQagBaiAfKAIANgIAIAhBoAFqIBUpA/ABNwIAIAhBwAFqIBMpAwA3AwAgCEG4AWogFikDADcDACAIQbABaiAVKQPYAjcDACAIQYQCakL////7BzcCACAIQYwCakEAOgAAIAhBoAJqQv////sHNwMAIAhBqAJqQQA6AAAgCEGAAmogIygAADYAACAIQfkBaiAtKQMANwAAIAhB8QFqIBUpA9gBNwAAIAhBjQJqIBUpA8ABNwAAIAhBlQJqIDUpAwA3AAAgCEGcAmogMygAADYAACAIQakCaiAVKQOoATcAACAIQbECaiAoKQMANwAAIAhBuAJqICIoAAA2AAAgCEHEAmpBADoAACAIQbwCakL////7BzcCACAIQdQCaiAkKAAANgAAIAhBzQJqICwpAwA3AAAgCEHFAmogFSkDkAE3AAAgCEHgAmpBADoAACAIQdgCakL////7BzcDACAIQfwCakEAOgAAIAhB9AJqQv////sHNwIAIAhBhANqQYACOwEAIBtBPzYCACAIQfACaiARKAAANgAAIAhB6QJqICUpAwA3AAAgCEHhAmogFSkDeDcAACASKAIIRQ0BIBIoAgRBADYCjAMgEiASKAKEAiIIQQYgJmlrIhZrNgKEAiAIIBZGBEAgEigCDARAIBIoAhAQlQILIBJCgICAgMAANwIMIBJBFGpCADcCACASKAIcBEAgEigCIBCVAgsgEkKAgICAwAA3AhwgEkEkakIANwIAIBIoAiwEQCASKAIwEJUCCyASQoCAgIDAADcCLCASQTRqQgA3AgAMCwsgEigCGCIIIBZNDRYgFSAWQQJ0IhMgEkEQaigCAGoiHzYCNCAVIB82AjAg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nsEAEO8JAAtBpJXBAEETQbSewQAQ7wkACyBCICVBCGoiJUcNAAsgESgCNCEiIBEqAlQhXyARKgIMIVsLIFsgX1sEQEGBgICAeCAiRQ0BGgsgWyBfXUUNASAvIF84AgRBgICAgHgLNgIAIBEoAkgiAQRAIBEoAkQgAUECdEELakF4cWsQlQILIBEoAjgEQCARKAI8EJUCCyARKAIsBEAgESgCMBCVAgsgESgCICIBBEAgESgCHCABQQJ0QQtqQXhxaxCVAgsgESgCEEUNASARKAIUEJUCDAELQQAhJiARQQA2ApQBIBFCgICAgMAANwKMAQJAAkACQAJAAkACQCAiBEAgBygCECE+IAYoAhAhPCAHKAIMIT0gBigCDCEwAkACQAJAA0AgESAiQQFrIiQ2AjQgESgCMCIcICRBNGxqIhAoAgAiAUECRg0FIBAoAjAhDyAQKAIsIRIgECgCKCETIBAoAiQhFCAQKAIgISAgECgCHCEhIBAqAhghWyAQKAIUIQggECgCECEbIBAoAgwhAiAQKAIIISMgECgCBCEQAkAgJEUEQCABIR0gECEXICMhGCACIR4gGyECIAghECBbIWMgISEIICAhISAUISAgEyEjIBIhEyAPIRIMAQsgHCgCACEdIBwgATYCACAcKAIEIRcgHCAQNgIEIBwoAgwhHiAcIAI2AgwgHCgCFCEQIBwgCDYCFCAcKAIcIQggHCAhNgIcIBxBCGoiKCgCACEYICggIzYCACAcQRBqIiUoAgAhAiAlIBs2AgAgHEEYaiIbKgIAIWMgGyBbOAIAIBxBIGoiJigCACEhICYgIDYCACAcKAIkISAgHCAUNgIkIBxBKGoiFCgCACEjIBQgEzYCACAcKAIsIRMgHCASNgIsIBxBMGoiJygCACESICcgDzYCACARQeABaiIBQTBqIikgJygCADYCACABQShqIicgFCkCADcDACABQSBqIisgJikCADcDACABQRhqIiYgGykCADcDACABQRBqIhsgJSkCADcDACABQQhqIiUgKCkCADcDACARIBwpAgA3A+ABQQAhD0EBIQEgIkEETwRAICRBAmsiD0EAIA8gJE0bISRBACEUA0AgHCAUQTRsaiIUIBwgAUEAQX8gHCABQTRsaiIPQRhqKgIAIlsgD0HMAGoqAgAiWl8iDxsgDyBaIFtfG0EBakECSWoi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ACARICE2AswBIBEgBTYCyAEgESAGNgLEASARIAFBCGo2ArwBIBEgBzYCuAEgESARQSxqNgLcASARIBFBDGo2AtgBIBEgEUGYAWo2AtQBIBEgEUEQajYCwAEgESAKNgLQASARQeABaiACEOsFIBEgEUG4AWo2AsACIBFBADYC6AIgEUKAgICAwAA3AuACAkAgCigCaCIxRQ0AIBFB4AJqQQAQswYgESgC5AIiJiARKALoAiIBQQJ0akEANgIAIAFBAWoiE0UNACAKKAKMASE2IAooAogBITggCigCZCFCA0AgESATQQFrIgg2AugCAkACQCAIQQJ0IkMgJmooAgAiASAxSQRAIBEoAuACITsgQiABQQd0aiInLQB4QQFxRQ0BICdB5ABqKAIAIQEgJ0HoAGooAgAhAiAnQewAaigCACEPICcoAmAhECARQfACaiAnIBFB4AFqEN4CQQAhFCARIDggEEEEdGpBACAQIDZJIhAbQQhqQQAgEBs2AnQgESA4IA9BBHRqQQAgDyA2SSIPG0EIakEAIA8bNgKAASARIDggAkEEdGpBACACIDZJIgIbQQhqQQAgAhs2AnwgESA4IAFBBHRqQQAgASA2SSIBG0EIakEAIAEbNgJ4IBEtAPMCQQN0IisgES0A8gJBAnQiPyARLQDwAiIXIBEtAPECQQF0Ii5ycnKtQv8BgyGKASARQfQAaiEBQgAhhwEDQAJAIIoBIIcBiEIBg1ANACABKAIAIgFFDQACQAJAIAEoAgAiHCARKALAAiIpKAIAIgIoAhBPDQAgAigCDCICRQ0AIAIgHEGoAWxqIiooAgBFDQAgAUEEaigCACIiICooAgRHDQAgKkEQaigCACEdICpBDGooAgAhASAqKAIIIRsgKSgCBCISKAIIISQgEigCBCEPAkAgEigCACIoBEAgG0EBRw0BIAEgD0cNASAdICRGDQQMAQsgG0UNAwsgKkHUAGooAgAgEigCSHFFDQIgEkHMAGooAgAgKkHQAGooAgBxRQ0CQQAhI0EAISAgKEUNASApKAIIIgJBGGooAgBFDQEgAigCDCIlQQRrITogD0G5893xeWxBBXcgJHNBufPd8XlsIhBBGXatQoGChIiQoMCAAX4hiQEgAkEQaigCACEgIAIoAgghGCACKAIEITRBACEeA0AgECAgcSICICVqKQAAIogBIIkBhSKGAUKBgoSIkKDAgAF9IIYBQn+Fg0KAgYKEiJCgwIB/gyGGAQJAAkADQCCGAVAEQCCIASCIAUIBhoNCgIGChIiQoMCAf4NQDQNBACEgDAYLIDoghgF6p0EDdiACaiAgcUECdGsoAgAiECAYTw0BIIYBQgF9IIYBgyGGASA0IBBBBHRqIhAoAgAgD0cNACAQQQRqKAIAICRHDQALIBBBDGohIAwECyAQIBhB5PTAABDtCAALIAIgHkEIaiIeaiEQDAALAAtBpJXBAEETQZSfwQAQ7wkACwJAIBtFDQAgKSgCCCICQRhqKAIARQ0AIAIoAgwiJUEEayE6IAFBufPd8XlsQQV3IB1zQbnz3fF5bCIQQRl2rUKBgoSIkKDAgAF+IYkBIAJBEGooAgAhGCACKAIIISMgAigCBCE0QQAhHgNAIBAgGHEiAiAlaikAACKIASCJAYUihgFCgYKEiJCgwIABfSCGAUJ/hYNCgIGChIiQoMCAf4MhhgECQAJAA0AghgFQBEAgiAEgiAFCAYaDQoCBgoSIkKDAgH+DUA0DQQAhIwwFCyA6IIYBeqdBA3YgAmogGHFBAnRrKAIAIhAgI08NASCGAUIBfSCGAYMhhgEgNCAQQQR0aiIQKAIAIAFHDQAgEEEEaigCACAdRw0ACyAQQQxqISMMAwsgECAjQeT0wAAQ7QgACyACIB5BCGoiHmohEAwACwALQQAhGAJ/QQAgKEUNABpBACApKAIMIhAoAhAgD00NABpBACAQKAIMIhBFDQAaQQAgECAPQfACbGoiDygCAEUNABogD0EIakEAIA8oAgQgJEYbCyECAkAgG0UNACApKAIMIg8oAhAgAU0NACAPKAIMIg9FDQAgDyABQfACbGoiASgCAEUNACABQQhqQQAgASgCBCAdRhshGAsCQAJAICANACACRQ0AIAJBLGotAAANAQsgIw0BIBhFDQEgGEEsai0AAEUNAQsgKSgCFCIBKAIEISRDAAAAACFjAkAgKSgCECIPQThqKAIAIhAgASgCACIoTQ0AIA9BNGooAgAiAUUNACAQIBxNDQAgASAoQQxsaiIeKAIAICRHDQAgASAcQQxsaiIBKAIAICJHDQAgDygCCCIQIB5BBGooAgAiG00NACAPKAIQIh1FDQAgASgCBCElAkAgDygCBCIeIBtBBHRqIjooAggiASAPKAIUIg9JBEADQCAdIAFBOGxqIjRBNGooAgAgJUYNAiAPIDQoAigiAUsNAAsLIA8gOkEAIBAgG0sbQQxqKAIAIgFNDQEDQCAdIAFBOGxqIhsoAjAgJUYNASAPIBtBLGooAgAiAUsNAAsMAQsgASAPTw0AIBAgHSABQThsaiIBKAIwTQ0AIB5FDQAgECABQTRqKAIATQ0AIAEoAggiD0UNACABKAIEIh0gD0GoAWxqITpBACEbA0ACQCAdQYQBaigCACIQRQ0AIB1BgAFqKAIAIiVFDQAgJSIBIQ8gEEE8bCI0QTxrIkdBPG5BAWpBA3EiEARAIBBBPGwhEANAIA8gASAPQTBqKgIAIAEqAjBdGyEBIA9BPGohDyAQQTxrIhANAAsLIEdBtAFPBEAgJSA0aiEQA0AgD0G0AWogD0H4AGogD0E8aiAPIAEgD0EwaioCACABKgIwXRsiASAPQewAaioCACABKgIwXRsiASAPQagBaioCACABKgIwXRsiASAPQeQBaioCACABKgIwXRshASAQIA9B8AFqIg9HDQALCyABRQ0AIBtFBEAgHSEbIAEhHgwBCyAeIAEgHioCMCABKgIwXyIBGyEeIBsgHSABGyEbCyA6IB1BqAFqIh1HDQALIBtFDQAgHioCMCFjCyApKAIYIgFBlAFqKAIAIQ8gASgCkAEgDygCCEEBa0F4cWohEEEAIQEgIARAICAqAgAhW0EBIQELIBFBiANqIBBBCGogDyAoICQgHCAiIBIgKkEIaiACIBggASBbICMEfyAjKgIAIV9BAQVBAAsgXyApKAIcKgIAICkoAiAqAgAgYxBwIBEoAogDQQJGDQAgKSgCJCIPKAIIIgIhIiAPKAIAIAJGBEAgDyACEKsGIA8oAgghIgsgDygCBCISICJBNGxqIgEgESkCiAM3AgAgAUEwaiARQYgDaiIQQTBqKAIANgIAIAFBKGogEEEoaikCADcCACABQSBqIBBBIGopAgA3AgAgAUEYaiAQQRhqKQIANwIAIAFBEGogEEEQaikCADcCACABQQhqIBBBCGopAgA3AgAgDyAiQQFqNgIIIBFB2ABqIg9BCGoiECASIAJBNGxqIgFBCGopAgA3AwAgD0EQaiIeIAFBEGopAgA3AwAgEUHYA2oiD0EIaiIgIAFBJGopAgA3AwAgD0EQaiIYIAFBLGopAgA3AwAgESABKQIANwNYIBEgASkCHDcD2AMgASoCGCFbAkAgAkUEQEEAIQEMAQsDQEEAQX8gEiACQQFrIh1BAXYiAUE0bGoiD0EYaiIbKgIAIl8gW2AiIxsgIyBbIF9gG0EBakECSQRAIAIhAQwCCyASIAJBNGxqIgIgDykCADcCACACQTBqIA9BMGooAgA2AgAgAkEoaiAPQShqKQIANwIAIAJBIGogD0EgaikCADcCACACQRhqIBspAgA3AgAgAkEQaiAPQRBqKQIANwIAIAJBCGogD0EIaikCADcCACABIQIgHUEBSw0ACwsgEiABQTRsaiIBIBEpA1g3AgAgASBbOAIYIAEgESkD2AM3AhwgAUEQaiAeKQMANwIAIAFBCGogECkDADcCACABQSRqICApAwA3AgAgAUEsaiAYKQMANwIACyCHAUIBfCGHASARQfQAaiAUQQFqIhRBAnRqIQEgFEEERw0ACwwCCyABIDFBkN3AABDtCAALIBFB8AJqICcgEUHgAWoQ3gIgES0A8AIiF0ECRg0CIBEtAPMCQQN0ISsgES0A8gJBAnQhPyARLQDxAkEBdCEuCyAnQfgAaiEBAkAgF0EBcSAuQQJxID9BBHEgK0EIcXJyciICrSKGAUIBg1ANACABLQAAQQFxDQAgJygCYCIPIDFLDQAgJiBDaiAPNgIAIBEgEzYC6AIgEyEICwJAIIYBQgKDUA0AIAEtAABBAXENACAnQeQAaigCACIPIDFLDQAgCCA7RgRAIBFB4AJqIDsQswYgESgC5AIhJiARKALoAiEICyAmIAhBAnRqIA82AgAgESAIQQFqIgg2AugCCwJAIIYBQgSDUA0AIAEtAABBAXENACAnQegAaigCACIPIDFLDQAgESgC4AIgCEYEQCARQeACaiAIELMGIBEoAuQCISYgESgC6AIhCAsgJiAIQQJ0aiAPNgIAIBEgCEEBaiIINgLoAgsCQCACQQhJBEAgCCETDAELIAEtAABBAXEEQCAIIRMMAQsgJ0HsAGooAgAiASAxSwRAIAghEwwBCyARKALgAiAIRgRAIBFB4AJqIAgQswYgESgC5AIhJiARKALoAiEICyAmIAhBAnRqIAE2AgAgESAIQQFqIhM2AugCCyATDQALCyARKALgAgRAIBEoAuQCEJUCCyBBICFBCGoiIUcNAAsLIBEoAtQCRQ0AIBEoAtgCEJUCCyARKAI0IiINAQwGCwsgISgCACIAID5PDQIgPSAAQagBbGoiACgCAEUNAiAAKAIEICEoAgRHDQIgACgCCA0BC0HYwMAAQStBpJ3BABC5CgALQaSVwQBBE0G0ncEAEO8JAAtBpJXBAEETQZSdwQAQ7wkAC0EEIQJBBCEgIAcoAgwiAUUNBQwBCyARKAKUASECIBEoApABISAgESgCjAEhJiAHKAIMIgFFDQEgICACQTRsaiECCyAGKAIQIRwgBigCDCEeIAcoAhAhIiAgIRQDQCAUQTBrIQ8CQAJAAkACQAJAAkADQCAPQTBqIhMgAkYNCiATKAIAIhJBAkYNCiATQRxqKAIAIh0gIk8NCSABIB1BqAFsaiIIKAIARQ0JIBNBIGooAgAiJCAIKAIERw0JIBNBJGooAgAiISAiTw0BIAEgIUGoAWxqIhAoAgBFDQEgE0EoaigCACIoIBAoAgRHDQEgD0E0aiEPIAhBpAFqLQAAIBBBpAFqLQAAckUNAAsgD0EQaigCACEbIA9BDGooAgAhFCAPQQhqKAIAIS4gEkEBRw0BIAgoAggiKkUNAiAPKAIAIhIgHE8NAyAeRQ0DIB4gEkHwAmxqIhMoAgBFDQMgD0EEaigCACIjIBMoAgRHDQNBASEXAkAgESgCKEUNACARKAIcIjBBBGshMSASQbnz3fF5bEEFdyAjc0G5893xeWwiGEEZdq1CgYKEiJCgwIABfiGIAUEAISsgESgCICElIBEoAhghJyARKAIUITYDQCAYICVxIhggMGopAAAihwEgiAGFIoYBQoGChIiQoMCAAX0ghgFCf4WDQoCBgoSIkKDAgH+DIYYBA0AghgFQBEAghwEghwFCAYaDQoCBgoSIkKDAgH+DQgBSDQMgGCArQQhqIitqIRgMAgsgMSCGAXqnQQN2IBhqICVxQQJ0aygCACIpICdPDQcghgFCAX0ghgGDIYYBIDYgKUEEdGoiKSgCACASRw0AIClBBGooAgAgI0cNAAsLIBFB4AFqIBNB8ABqICkqAgwgE0E4aiATQdABahDbASARKgL4ASFtIBEqAvQBIXEgESoC8AEhdiARKgLsASF3IBEqAugBIXIgESoC5AEhcyARKgLgASFuQQAhFwsgCEEMakEAICobIRICfSAXBEAgE0HsAGoqAgAhXiATQegAaioCACFiIBNB5ABqKgIAIV0gE0HgAGoqAgAhXCATQdwAaioCACFgIBNB1ABqKgIAIVogE0HYAGoqAgAMAQsgbiFaIHIhYCB3IVwgdiFdIHEhYiBtIV4gcwshWyBaIBJBHGoqAgAiY5QgWyJhIBJBGGoqAgAiZJSTIlsgW5IhWyBgIGSUIFogEkEgaioCACJllJMiXyBfkiFfIF4gZSBcIFuUIFogX5QgYSBhIGWUIGAgY5STIl4gXpIiXpSTkpKSIXsgYiBjIFwgX5QgYCBelCBaIFuUk5KSkiF8IF0gZCBcIF6UIGEgW5QgYCBflJOSkpIhfSBgIBJBFGoqAgAiXZQgWiASQQxqKgIAIl6UIFwgEkEQaioCACJilJIgYSASKgIIImSUk5IhWyBgIGSUIGEgXZQgXCBelCBaIGKUk5KSIV8gYSBilCBcIGSUIFogXZSSkiBgIF6UkyFjIFwgXZQgWiBklJMgYSBelJMgYCBilJMhYAwFC0GklcEAQRNB1J3BABDvCQALIAhBlAFqKgIAIXsgCEGQAWoqAgAhfCAIQYwBaioCACF9IAhBiAFqKgIAIWAgCEGEAWoqAgAhWyAIQYABaioCACFfIAhB/ABqKgIAIWMMAwtB2MDAAEErQeSdwQAQuQoAC0GklcEAQRNB9J3BABDvCQALICkgJ0Hk9MAAEO0IAAsCQAJAAkACQCAuQQFGBEAgECgCCCIpRQ0BIBQgHE8NAiAeRQ0CIB4gFEHwAmxqIhMoAgBFDQIgEygCBCAbRw0CQQEhIwJAIBEoAihFDQAgESgCHCIrQQRrIS4gFEG5893xeWxBBXcgG3NBufPd8XlsIhhBGXatQoGChIiQoMCAAX4hiAFBACEXIBEoAiAhEiARKAIYISUgESgCFCEqA0AgEiAYcSIYICtqKQAAIocBIIgBhSKGAUKBgoSIkKDAgAF9IIYBQn+Fg0KAgYKEiJCgwIB/gyGGAQNAIIYBUARAIIcBIIcBQgGGg0KAgYKEiJCgwIB/g0IAUg0DIBggF0EIaiIXaiEYDAILIC4ghgF6p0EDdiAYaiAScUECdGsoAgAiJyAlTw0GIIYBQgF9IIYBgyGGASAqICdBBHRqIicoAgAgFEcNACAnQQRqKAIAIBtHDQALCyARQeABaiATQfAAaiAnKgIMIBNBOGogE0HQAWoQ2wEgESoC+AEhZyARKgL0ASFvIBEqAvABIWwgESoC7AEhaiARKgLoASF0IBEqAuQBIXggESoC4AEheUEAISMLIBBBDGpBACApGyESAn0gIwRAIBNB7ABqKgIAIWEgE0HoAGoqAgAhZCATQeQAaioCACFlIBNB4ABqKgIAIV0gE0HUAGoqAgAhXCATQdwAaioCACFeIBNB2ABqKgIADAELIHkhXCBqIV0gbCFlIG8hZCBnIWEgdCFeIHgLIVogXCASQRxqKgIAImmUIFogEkEYaioCACJwlJMiYiBikiFiIF4iaCBwlCBcIBJBIGoqAgAia5STIl4gXpIhXiBhIGsgXSBilCBcIF6UIFogWiBrlCBoIGmUkyJhIGGSImGUk5KSkiF+IGQgaSBdIF6UIGggYZQgXCBilJOSkpIhfyBlIHAgXSBhlCBaIGKUIGggXpSTkpKSIYABIGggEkEUaioCACJhlCBcIBJBDGoqAgAiZJQgXSASQRBqKgIAImWUkiBaIBIqAggiaZSTkiFwIGggaZQgWiBhlCBdIGSUIFwgZZSTkpIhXiBaIGWUIF0gaZQgXCBhlJKSIGggZJSTIWIgXSBhlCBcIGmUkyBaIGSUkyBoIGWUkyFdIBBBiAFqKgIAIWsgEEGEAWoqAgAhYSAQQYABaioCACFkIBBB/ABqKgIAIWUgEEGUAWoqAgAhdSAQQZABaioCACGBASAQQYwBaioCACGCAQwECyAQQfwAaioCACJlIWIgEEGAAWoqAgAiZCFeIBBBhAFqKgIAImEhcCAQQYgBaioCACJrIV0gEEGMAWoqAgAiggEhgAEgEEGQAWoqAgAigQEhfyAQQZQBaioCACJ1IX4MAwtB2MDAAEErQYSewQAQuQoAC0GklcEAQRNBlJ7BABDvCQALICcgJUHk9MAAEO0IAAsgESAIQYQBaioCACJaIGGUIAhBgAFqKgIAIlwgZJQgCEH8AGoqAgAiaCBllCAIQYgBaioCACJpIGuUkpKSOAKUAyARIFwgZZQgaSBhlCBoIGSUk5IgWiBrlJM4ApADIBEgaSBklCBoIGGUkiBcIGuUkyBaIGWUkzgCjAMgESBaIGSUIGkgZZQgaCBrlJMgXCBhlJOSOAKIAyBcIIIBIAhBjAFqKgIAkyJllCBoIIEBIAhBkAFqKgIAkyJrlJMiYSBhkiFhIFoga5QgXCB1IAhBlAFqKgIAkyJ1lJMiZCBkkiFkIBEgdSBpIGGUIFwgZJQgaCBoIHWUIFogZZSTInUgdZIidZSTkpI4AqADIBEgayBpIHWUIGggYZQgWiBklJOSkjgCnAMgESBlIGkgZJQgWiB1lCBcIGGUk5KSOAKYAyBfIIABIH2TImGUIGMgfyB8kyJklJMiWiBakiFaIFsgZJQgXyB+IHuTImWUkyJcIFySIVwgESBlIGAgWpQgXyBclCBjIGMgZZQgWyBhlJMiZSBlkiJllJOSkjgC+AEgESBkIGAgZZQgYyBalCBbIFyUk5KSOAL0ASARIGEgYCBclCBbIGWUIF8gWpSTkpI4AvABIBEgWyBwlCBfIF6UIGMgYpQgYCBdlJKSkjgC7AEgESBfIGKUIGAgcJQgYyBelJOSIFsgXZSTOALoASARIGAgXpQgYyBwlJIgXyBdlJMgWyBilJM4AuQBIBEgWyBelCBgIGKUIGMgXZSTIF8gcJSTkjgC4AEgCigCkAEgCigClAEiEygCCEEBa0F4cWpBCGoiEiARQYgDaiAIQThqIhcoAgAgCEE8aiIUKAIAIhgoAghBAWtBeHFqQQhqIBggEEE4aiIYKAIAIBBBPGoiGygCACIjKAIIQQFrQXhxakEIaiAjIBMoAgwiExEYACEjAkAgEiARQeABaiAXKAIAIBQoAgAiEigCCEEBa0F4cWpBCGogEiAYKAIAIBsoAgAiEigCCEEBa0F4cWpBCGogEiATERgAICNyQQFxDQAgEEHkAGooAgAgCEHkAGooAgByQQFxRQ0AIBEgKDYCzAEgESAhNgLIASARICQ2AsQBIBEgHTYCwAEgEUKAgICAEDcCuAEgDSAGIAcgEUG4AWoiCEEAIA4oAgwiEBEHACARICg2AswBIBEgITYCyAEgESAkNgLEASARIB02AsABIBFCgYCAgBA3ArgBIA0gBiAHIAhBACAQEQcAIA9BMGohFAwBCyAPQTBqIRQMAAsACyACRQ0BICAoAgBBAkYNAQtBpJXBAEETQcSdwQAQ7wkACyAmRQ0AICAQlQILIC8gESkCEDcCACAvQRhqIBFBEGoiAUEYaigCADYCACAvQRBqIAFBEGopAgA3AgAgL0EIaiABQQhqKQIANwIAIBEoAkgiAQRAIBEoAkQgAUECdEELakF4cWsQlQILIBEoAjgEQCARKAI8EJUCCyARKAIsRQ0AIBEoAjAQlQILIBFB8ANqJAAMAQtBpJXBAEETQaSewQAQ7wkACyMAQSBrIgIkAAJAIC8oAgBBgoCAgHhIDQAgLygCCCIBRQ0AIAYoAgwiD0UNICAvKAIEIgggAUEEdGohECAGKAIQIRMgAkEcaiESIAJBDGohFwNAIAgoAgAiASATTw0hIA8gAUHwAmxqIgEoAgBFDSEgASgCBCAIQQRqKAIARw0hIAFBKGoqAgBDmpkZPpRDAAAAAEMAAIA/IAFB8ABqIhQqAgAiWyBblCABQfQAaioCACJbIFuUkiABQfgAaioCACJbIFuUkhCYASABQfwAaioCACJbIFuUIAFBgAFqKgIAIlsgW5SSIAFBhAFqKgIAIlsgW5SSEJgBIAFBLGoqAgCUkiJblSJaIFtDCOU8Hl8bIFogW0MI5TyeYBuUIlsgWyB6IFsgel0bIHogelwbIVsgAkEEaiIeIBQgWyBbIAhBDGoqAgAiWiBaIFtdGyBaIFpcGyABQThqIAFB0AFqENsBIAFB7ABqIBIoAgA2AgAgAUHkAGogHkEQaikCADcCACABQdwAaiAXKQIANwIAIAFB1ABqIAIpAgQ3AgAgECAIQRBqIghHDQALCyACQSBqJAAgFSgC2AIiAUGCgICAeEgNBCAVKALoAiICBEAgFSgC5AIgAkECdEELakF4cWsQlQILIAFFDQQgFSgC3AIQlQIMBAsMFwsgASABQaCAwgAQ7QgACyAUIBRBkIDCABDtCAALIBIgEkGAgMIAEO0IAAsgAygCFCEBIAMoAgghAgJAAkAgBigCDCITBEAgAygCECIIIAFBA3RqIR8gAygCBCIPIAJBA3RqIRkgBigCECECA0ACfyAPQQBHIA8gGUdxRQRAIAhFDQQgCCAfRg0EIAhBCGohEEEADAELIAghECAPIghBCGoLIRYgCCgCACIBIAJPDQMgEyABQfACbGoiASgCAEUNAyABKAIEIAgoAgRHDQMgAUHQAGogAUHsAGooAgA2AgAgAUHIAGogAUHkAGopAgA3AgAgAUFAayABQdwAaikCADcCACABQThqIgggAUHUAGopAgA3AgAgAUHcAmogByAVQRBqIAgQkgIgECEIIBYhDwwACwALIAEgAnINAQsgACAVQTBqIAMgBCBVIAUgBiAHIDIgCSAVKAIUIgEgFSgCGCIQQfy8wABBACALIAwgDSAOQQAQuwUgFUEANgIYAkAgEEUNACAHKAIMIhZFDQAgBygCECECIBBBAWtB/////wFxIQggASEPAkAgEEEBcUUNACABQQhqIQ8gAiABKAIAIhlNDQAgFiAZQagBbGoiGSgCAEUNACAZKAIEIAEoAgRHDQAgGUH4AGpBADYCAAsgCEUNACABIBBBA3RqIQgDQAJAIA8oAgAiASACTw0AIBYgAUGoAWxqIgEoAgBFDQAgASgCBCAPQQRqKAIARw0AIAFB+ABqQQA2AgALAkAgAiAPQQhqKAIAIhBNDQAgFiAQQagBbGoiECgCAEUNACAQKAIEIA9BDGooAgBHDQAgEEH4AGpBADYCAAsgCCAPQRBqIg9HDQALCyAzRQ0KDAELCwwSC0EAQQBBlK3BABDtCAALQciswQBBOUGErcEAELkKAAtBhKzBAEEzQbiswQAQuQoAC0EAQQBBnKvBABDtCAALQQFBAEGsq8EAEOwIAAsQ7goAC0EAQQBBjKvBABDtCAALQaSVwQBBE0HoosEAEO8JAAsgAygCCCIABEAgAygCBCIQIABBA3RqIQMgFUHoAmohBANAIBAoAgAiACAGKAIQTw0LIAYoAgwiAUUNCyABIABB8AJsaiIAKAIARQ0LIAAoAgQgEEEEaigCAEcNCyAVQdgCaiIBIABBwAFqIgIgAEE4aiIFEIEGIABB+AFqIAFBCGoiBygCADYCACAAQfABaiAVKQLYAjcCACAAQYQCaiAAQdwBaioCACJbOAIAIABBgAJqIFs4AgAgAEH8AWogWzgCACABIAIgBRC/AiAAQbgBaiIFIAQpAgA3AgAgAEGwAWoiAiAHKQIANwIAIABBqAFqIBUpAtgCNwIAIABBiAJqLQAAIgFBAXEEQCAAQQA2AvwBCyABQQJxBEAgAEEANgKAAgsgAUEEcQRAIABBADYChAILIAFBCHEEQCAAQgA3AqgBIAJBADYCAAsgAUEQcQRAIABBrAFqQQA2AgAgAEG0AWpCADcCAAsgAUEgcQRAIAJBADYCACAFQgA3AgALIAMgEEEIaiIQRw0ACwsgVARAIEAQlQILIBUoAiAEQCAVKAIkEJUCCyAVKAIQBEAgFSgCFBCVAgsgFUGQA2okAA8LIBIoAggiCARAIAhBAUYNASASKAIEIQ8CfyAIQegDbCIbQdAHayIjQegDbkEBakEHcSIIRQRAIA8iE0HoA2oMAQsgCEHoA2whCCAPIRMDQCATQfQGaiIfIB8oAgAgFms2AgAgE0HoA2ohEyAIQegDayIIDQALIBNB6ANqCyEIICNB2BpJDQEgDyAbaiEfA0AgE0H0BmoiDyAPKAIAIBZrNgIAIAhB9AZqIg8gDygCACAWazYCACAIQdwKaiIPIA8oAgAgFms2AgAgCEHEDmoiDyAPKAIAIBZrNgIAIAhBrBJqIg8gDygCACAWazYCACAIQZQWaiIPIA8oAgAgFms2AgAgCEH8GWoiDyAPKAIAIBZrNgIAIAhB5B1qIg8gDygCACAWazYCACAIQdgaaiETIB8gCEHAHmoiCEcNAAsMAQtBAUEAQaStwQAQ7AgACyASIBktAOkCRToAjAIgEigCCEUNASASKAIEIQgLIAhBgANqLQAARQ0BIBlBOGopAwAhhgEgGUFAaykDACGHASAZQcgAaikDACGIASAIQbgBaiAZQdAAaigCADYCACAIQbABaiCIATcDACAIQagBaiCHATcDACAIQaABaiCGATcDACASIAZBARAoDAMLQQBBAEG0rcEAEO0IAAsgFUHIAGogGUHQAGooAgA2AgAgGiAZQcgAaikCADcDACAZQUBrKQIAIYYBIAggGUE4aikCADcCICAIQShqIIYBNwIAIAhBMGogGikCADcCACAIQThqIBpBCGooAgA2AgALIBIgBkEBECgMAAsACyAPIhZBCGoLIQ8gFigCACITIB9PDQEgF0UNASAXIBNB8AJsaiIZKAIARQ0BIBYoAgQiFiAZKAIERw0BIBlB6QJqLQAADQEgGUHAAmotAABBBHENASAZQdQCakEANgIAIBlB2AJqQQA6AAAgGUHqAmotAABFDQEgAygCBCESAkAgAygCCCIUIBlBDGooAgAiIE0NACASICBBA3RqIiAoAgAgE0cNACAgKAIEIBZGDQILIBkgFDYCDCADKAIAIBRGBEAgAyAUELAGIAMoAgghFCADKAIEIRILIAMgFEEBajYCCCASIBRBA3RqIhIgFjYCBCASIBM2AgAMAQsLDAULQdjAwABBK0GA+MEAELkKAAtB2IvBAEEUQdiMwQAQ7wkAC0Hs+cAAQSdBgPvAABDSCwALQd73wABBHUHo+MAAENILAAtBBCAWQdiAxAAoAgAiAEGjByAAGxEAAAALQaSVwQBBE0H048EAEO8JAAuXhgEDGX8afQJ+IwBBoAhrIgwkACACIAMoApQBEQQAIQAgBCAFKAKUAREEACENAkACQAJAAkACQAJAIAwCfQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB/wFxIgAOAwIAAQULIA1B/wFxDggFAgoKBwoKCwoLIA1B/wFxDggECQIJCQkJCgkLIA1B/wFxDQMgAiADEKoJIQIgBCAFEKoJIQAgAkUNGSAARQ0ZIAAqAgAhJSACKgIAITIgASoCECIoICiUIAFBFGoqAgAiKiAqlJIgAUEYaioCACImICaUkhCYASInIDKTICWTIjMgCl1FBEAgC0GEAWpBADYCAAwaC0MAAAAAIQogJSABKgIMIi0gJ0MAAAAAWwR9QwAAgD8FICYgJ5UhLiAoICeVIQogKiAnlQsiJiABKgIAIiuUIAogASoCBCI9lJMiLCAskiIvlCA9IC4gPZQgJiABKgIIIjSUkyIsICySIieUICsgCiA0lCAuICuUkyIsICySIiiUk5IgLpMiKpQhKSAlIC0gKJQgKyAvlCA0ICeUk5IgJpMiLJQhKyAlIC0gJ5QgNCAolCA9IC+Uk5IgCpMiJZQhLSAyIC6UIS8gMiAmlCEnIDIgCpQhKEEAIQMjAEEgayIAJAAgAEEANgIEIABBIGokACALQYQBaigCAEUEQCALKAJ8RQRAIAtB/ABqQQAQqgYgCygChAEhAwsgCyADQQFqNgKEASALQYABaigCACADQTxsaiIAQgA3AgAgAEGAgICAfDYCOCAAQYCAgIB8NgI0IAAgMzgCMCAAICk4AiwgACArOAIoIAAgLTgCJCAAIC84AiAgACAnOAIcIAAgKDgCGCAAQQhqQgA3AgAgAEEQakIANwIADBkLIAtBgAFqKAIAIgBBgICAgHw2AjggAEGAgICAfDYCNCAAIC04AiQgACAoOAIYIAAgMzgCMCAAQSxqICk4AgAgAEEoaiArOAIAIABBIGogLzgCACAAQRxqICc4AgAMGAsgAiADEKsJIQcgBCAFEKsJIQYgB0UNGCAGRQ0YIAsgARCYAg0YIAwgASoCDCIvOALcByAMIAEqAggiKYw4AtgHIAwgASoCBCIrjDgC1AcgDCABKgIAIi2MOALQByAMIC8gLSABQRRqKgIAIieUICsgASoCECIolJMiJSAlkiIqlCArICsgAUEYaioCACIslCApICeUkyIlICWSIiaUIC0gKSAolCAtICyUkyIlICWSIiWUk5IgLJM4AugHIAwgLyAllCAtICqUICkgJpSTkiAnkzgC5AcgDCAvICaUICkgJZQgKyAqlJOSICiTOALgByAMQYAFaiAHIAYgARDYASAMKgKABSIlIApeDQogDEHoBWogBiAHIAxB0AdqENgBAkAgDCoC6AUiJyAKXg0AIAxBoAZqIAcgBiABEOoBIAogDCoCoAYiCl0NACAMQeAGaiAMQYgFaikCADcDACAMIAwpAoAFNwPYBiAlICddIAogJ11xDQwgCiAlXkUNFSAMQeAGaiAMQagGaikCADcDACAMIAwpAqAGNwPYBgwVCyALQYQBakEANgIADBgLIAIgAxCtCSEGIAQgBRCtCSEDIAZFDRcgA0UNFyAGKgIUITwgBioCDCEyIAYqAhAhPSAGKgIIITggBioCACE6IAYqAgQhOyADKgIEIi0gASoCACI1lCADKgIAIi8gASoCBCI2lJMiLCAskiEpIC8gASoCCCI3lCADKgIIIiogNZSTIiwgLJIhKyAMQSBqIgAgAUEYaioCACInICogASoCDCI0ICmUIDUgK5QgNiAqIDaUIC0gN5STIiwgLJIiLJSTkpKSOAIIIAAgAUEUaioCACIoIC0gNCArlCA3ICyUIDUgKZSTkpKSOAIEIAAgASoCECIqIC8gNCAslCA2ICmUIDcgK5STkpKSOAIAIDUgA0EQaioCACIrlCA2IAMqAgwiLZSTIiwgLJIhMyA3IC2UIDUgA0EUaioCACIvlJMiLCAskiEpIABBFGogJyAvIDQgM5QgNSAplCA2IDYgL5QgNyArlJMiLCAskiIslJOSkpI4AgAgAEEQaiAoICsgNCAplCA3ICyUIDUgM5STkpKSOAIAIAAgKiAtIDQgLJQgNiAzlCA3ICmUk5KSkjgCDCAMKgIsIiggDCoCICI0kyInICeUIAxBMGoqAgAiKiAMKgIkIjOTIjUgNZSSIAxBNGoqAgAiLCAMKgIoIi+TIjYgNpSSIT5BACEFAkACQCAyIDqTIjcgN5QgPSA7kyIpICmUkiA8IDiTIisgK5SSIi5DAAAANF8iAEUNACA+QwAAADRfRQ0AQQAhBAwBCyAnIDogNJMiOZQgNSA7IDOTIiaUkiA2IDggL5MiJZSSIS0CQAJAAkACQAJAAkACQAJAAkAgAEUEQCA3IDmUICkgJpSSICsgJZSSITAgPkMAAAA0Xw0BQwAAAAAhOSAuID6UIjEgNyAnlCApIDWUkiArIDaUkiIrICuUIiaTIiVDAAAANF5FDQQgJYtDAAAANF8NBEMAAMB/QwAAgD8gMZggMSAxXBtDAADAf0MAAIA/ICaYICYgJlwbXA0DIDG8IgIgJrwiAEsNAiAAIAJrQQVPDQMMBAtDAAAAACElQQAhBCAtID6VIidDAAAAAF5FBEBDAAAAACEmDAoLICdDAACAPyAnQwAAgD9dGyEnDAgLQwAAAAAhJyAwjCAulSI5QwAAAABeRQ0DIDlDAACAPyA5QwAAgD9dGyE5DAYLIAIgAGtBBUkNAQsgKyAtlCAwID6UkyAllSIlQwAAgD8gJUMAAIA/XRtDAAAAACAlQwAAAABeGyE5CyAtICsgOZSSID6VIidDAAAAAF1FBEAgJ0MAAIA/XkUNBEMAAAAAISUgKyAwkyAulSInQwAAAABeRQ0CICdDAACAPyAnQwAAgD9dGyE5QwAAgD8hJwwEC0MAAAAAIScgMIwgLpUiOUMAAAAAXg0CC0EAIQRDAAAAACElQwAAAAAhJgwEC0MBAAAAISZBACEEDAMLIDlDAACAPyA5QwAAgD9dGyE5C0MAAAAAISVBACEEIDlDAAAAAFsNACA5QwAAgD9bBEBDAQAAACElDAELQwAAgD8gOZMhJUEBIQQLQwAAAAAhJiAnQwAAAABbDQAgJ0MAAIA/WwRAQwEAAAAhJgwBC0MAAIA/ICeTISZBASEFCyAMIDk4AtgHIAwgJTgC1AcgDCAENgLQByAMICc4AugBIAwgJjgC5AEgDCAFNgLgASAMQaAGaiAMQdAHahDbCCAMQdgGaiAMQeABahDbCAJ9IC8gDCoC2AYiKZQgLCAMKgLcBiImlJIiKyA4IAwqAqAGIieUIDwgDCoCpAYiJZSSIi2TIjwgPJQgNCAplCAoICaUkiIsIDogJ5QgMiAllJIiL5MiNCA0lCAzICmUICogJpSSIiYgOyAnlCA9ICWUkiInkyIpICmUkpIiJUMAAIAoXkUEQEMAAAAAIShDAAAAACEqQwAAgD8MAQsgPCAlEJgBIiWVISogNCAllSEoICkgJZULISUgNCAolCApICWUkiA8ICqUkiAGKgIYIjqTIAMqAhgiO5MiNyAKX0UEQCALQYQBakEANgIADBgLIAEqAgAhLiABKgIIITAgASoCBCExIAEqAgwhOEEAIQMjAEEgayIAJAAgAEEANgIEIABBIGokACAxICwgASoCEJMiPJQgLiAmIAFBFGoqAgCTIjOUkyIKIAqSITUgMCAzlCAxICsgAUEYaioCAJMiJpSTIgogCpIhNiA7IDggJSAulCAoIDGUkyIKIAqSIjKUIDEgKiAxlCAlIDCUkyIKIAqSIj2UIC4gKCAwlCAqIC6UkyIKIAqSIimUk5IgKpMiLJQgJiA4IDWUIDEgNpQgLiAuICaUIDAgPJSTIgogCpIiK5STkpKSITQgOyA4ICmUIC4gMpQgMCA9lJOSICWTIiaUIDMgOCArlCAuIDWUIDAgNpSTkpKSITMgOyA4ID2UIDAgKZQgMSAylJOSICiTIgqUIDwgOCA2lCAwICuUIDEgNZSTkpKSISkgLSAqIDqUkiErICcgJSA6lJIhLSAvICggOpSSIScgC0GEAWooAgBFBEAgCygCfEUEQCALQfwAakEAEKoGIAsoAoQBIQMLIAsgA0EBajYChAEgC0GAAWooAgAgA0E8bGoiAEIANwIAIABBgICAgHw2AjggAEGAgICAfDYCNCAAIDc4AjAgACA0OAIsIAAgMzgCKCAAICk4AiQgACArOAIgIAAgLTgCHCAAICc4AhggAEEIakIANwIAIABBEGpCADcCAAwTCyALQYABaigCACIAQYCAgIB8NgI4IABBgICAgHw2AjQgACApOAIkIAAgJzgCGCAAIDc4AjAgAEEsaiA0OAIAIABBKGogMzgCACAAQSBqICs4AgAgAEEcaiAtOAIADBILIA1B/wFxDQELIAIgAxCqCSIABEAgDCABKgIMIi84AiwgDCABKgIIIimMOAIoIAwgASoCBCIrjDgCJCAMIAEqAgAiLYw4AiAgDCAvIC0gAUEUaioCACInlCArIAEqAhAiKJSTIiUgJZIiKpQgKyArIAFBGGoqAgAiLJQgKSAnlJMiJSAlkiImlCAtICkgKJQgLSAslJMiJSAlkiIllJOSICyTOAI4IAwgLyAllCAtICqUICkgJpSTkiAnkzgCNCAMIC8gJpQgKSAllCArICqUk5IgKJM4AjAgDEEgaiAEIAVBMGooAgAgACoCACAIIAkgBiAHIAogC0EBELcBDBYLIAQgBRCqCSIARQ0VIAEgAiADQTBqKAIAIAAqAgAgBiAHIAggCSAKIAtBABC3AQwVCwJAIABBBGsOBAADAwIDCyANQf8BcUEBaw4HAAMDAwMDBAMLIAIgAxCrCSINQQAgBCAFEK8JIgAbDQcgAiADEK8JIQIgBCAFEKsJIQAgAkUNEyAARQ0TIAwgASoCDCIvOAIsIAwgASoCCCIpjDgCKCAMIAEqAgQiK4w4AiQgDCABKgIAIi2MOAIgIAwgLyAtIAFBFGoqAgAiJ5QgKyABKgIQIiiUkyIlICWSIiqUICsgKyABQRhqKgIAIiyUICkgJ5STIiUgJZIiJpQgLSApICiUIC0gLJSTIiUgJZIiJZSTkiAskzgCOCAMIC8gJZQgLSAqlCApICaUk5IgJ5M4AjQgDCAvICaUICkgJZQgKyAqlJOSICiTOAIwIAxBIGogASAAIAIgCCAJIAYgByAKIAtBARAzDBMLIAxBIGogBCAFKAKwAREAACAMKAIgIgVFDQcgDCoCKCElIAwoAiQhBCACIAMQrAkiAEUNCCABIAAgBSAEICUgCiALQQAQkgEMEgsgDUH/AXFBB0YNAQsgDEEIaiACIAMoArABEQAAIAxBFGogBCAFKAKwAREAAEEBIQ4gDCgCCCIdRQ0QIAwoAhQiHkUNEEEAIQ4gDCoCHCE1IAwoAhghIyAMKgIQITYgDCgCDCEkIAsgARCYAg0QIAsqAogBIiggKJQgC0GMAWoqAgAiKiAqlJIgC0GQAWoqAgAiJiAmlJIiJUMAAIAoXkUNASAlEJgBIS4gDEEgahCtCiAMICggLpU4ArwCICogLpUhKCAmIC6VDAoLIAxB4AFqIAIgAygCsAERAAAgDCgC4AEiA0UNBiAMKgLoASEmIAwoAuQBIQIgDCABKgIMIi04AiwgDCABKgIIIjOMOAIoIAwgASoCBCIpjDgCJCAMIAEqAgAiK4w4AiAgDCAtICsgAUEUaioCACIvlCApIAEqAhAiJ5STIiUgJZIiKJQgKSApIAFBGGoqAgAiKpQgMyAvlJMiJSAlkiIslCArIDMgJ5QgKyAqlJMiJSAlkiIllJOSICqTOAI4IAwgLSAllCArICiUIDMgLJSTkiAvkzgCNCAMIC0gLJQgMyAllCApICiUk5IgJ5M4AjAgBCAFEKwJIgBFDQcgDEEgaiAAIAMgAiAmIAogC0EBEJIBDA8LIAxBIGoQrQogASoCECIqICqUIAFBFGoqAgAiJiAmlJIgAUEYaioCACIlICWUkiIuQwAAgCheDQcgDEGAgID8AzYCvAJDAAAAACEoQwAAAAAMCAsgC0GEAWpBADYCAAwNCyAMQdgGaiICQQxqIC8gKyAMKgLsBSIolCAtIAxB6AVqIgBBCGoqAgAiKpSTIgogCpIiLJQgLSAtIABBDGoqAgAiJpQgKSAolJMiCiAKkiIllCArICkgKpQgKyAmlJMiCiAKkiIKlJOSICaTOAIAIAJBCGogLyAllCApIAqUIC0gLJSTkiAqkzgCACAMICc4AtgGIAwgLyAKlCArICyUICkgJZSTkiAokzgC3AYMCAsgDCABKgIMIi84AiwgDCABKgIIIimMOAIoIAwgASoCBCIrjDgCJCAMIAEqAgAiLYw4AiAgDCAvIC0gAUEUaioCACInlCArIAEqAhAiKJSTIiUgJZIiKpQgKyArIAFBGGoqAgAiLJQgKSAnlJMiJSAlkiImlCAtICkgKJQgLSAslJMiJSAlkiIllJOSICyTOAI4IAwgLyAllCAtICqUICkgJpSTkiAnkzgCNCAMIC8gJpQgKSAllCArICqUk5IgKJM4AjAgASAMQSBqIA0gACAGIAcgCCAJIAogC0EAEDMMCwtBASEODAoLQdjAwABBK0GwwsAAELkKAAtBASEODAgLQdjAwABBK0HAwsAAELkKAAsgDCAqIC4QmAEiLpU4ArwCICYgLpUhKCAlIC6VCzgCxAIgDCAoOALAAiAMQdgGaiICIB0gDEG8AmogJCgCDCIhEQEAIAwgDCoCxAKMOALoASAMIAwqAsACjDgC5AEgDCAMKgK8Aow4AuABIAxB0AdqIgAgHiABIAxB4AFqIgMgIygCFCIiEQIAIAMgAiAAEKMJIAxBIGoiAEEYaiAMQegBaikCADcCACAAQSBqIAxB8AFqKQIANwIAIAxByABqIANBGGopAgA3AgAgDEHQAGogA0EgaigCADYCACAMQQA2AtwBIAxBADYCzAEgDCAMKQLgATcCMEMAAKA1EJgBISkgDEGABWogABA6AkACQAJAAkACQAJ9AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAMKgKABSImICaUIAwqAoQFIiggKJSSIAwqAogFIiogKpSSIidDAAAAAF5FDQAgJxCYASEwICdDAADIK15FDQAgNiAKkiA1kiEyICaMIDCVIS4gKIwgMJUhMSAqjCAwlSEwQ///f38hJUGQzgAhAgNAIAwgKowgJxCYASIKlTgC8AUgDCAojCAKlTgC7AUgDCAmjCAKlTgC6AUgCiAlYA0CIAxBoAZqIgMgHSAMQegFaiAhEQEAIAwgDCoC8AWMOALYByAMIAwqAuwFjDgC1AcgDCAMKgLoBYw4AtAHIAxB2AZqIgAgHiABIAxB0AdqICIRAgAgDEHgAWogAyAAEKMJIAwqAugFIiggDCoC4AGUIAwqAuwFIicgDCoC5AGUkiAMKgLwBSIqIAwqAugBlJIiJYtDAACAf11FDQNBAyEDICWMIDJeDRcCQCAKICWSICkgCpRfRQRAIAxBIGogDEHgAWoQqAJFDRggDCoC8AUhMCAMKgLsBSExIAwqAugFIS4gDEGABWogDEEgahA6IAwoAtwBQQNHBEAgAkEBayICDQJDAACAPyEoQwAAAAAhKkMAAAAAIScMGgsgJUMAAKC1X0UNA0EBIQMgDEHQB2ogDEEgakEBENMBIAxB5AdqKgIAISwgDEHgB2oqAgAhMiAMKgLcByEpIAwqAtgHISogDCoC1AchJyAMKgLQByEoDBkLDBcLIAohJSAMKgKABSImICaUIAwqAoQFIiggKJSSIAwqAogFIiogKpSSIidDAADIK14NAAsLIAxB8AJqQgQ3AgAgDEHIAmoiAkEgaiIAQgA3AgAgAkEQakIENwIAIAxCgICAgMAANwLgAiAMQgA3AtACIAxCgICAgMAANwLIAiACQQA2AgggAkEsakEANgIAIAJBFGpBADYCACAAQQA2AgAgAkEkaiEYIAxB1AJqIRkCQAJAAkAgDCgC3AEiEUF/RwRAIBFBAWohDkEAIQUDQCAMQeABaiIPQSBqIg0hAiMAQSBrIgMkAAJAIAUgDEEgaiIAKAK8AU0EQCAFQQNNDQEgBUEEQdi1wgAQ7QgACyADQRRqQgA3AgAgA0EBNgIMIANBsLXCADYCCCADQYCFwgA2AhAgA0EIakHItcIAEO8KAAsgA0EgaiQAIAIgACAFQSRsakEQaiICQSBqKAIANgIAIA9BGGoiBCACQRhqKQIANwMAIA9BEGoiAyACQRBqKQIANwMAIA9BCGoiACACQQhqKQIANwMAIAwgAikCADcD4AEgDCgC0AIiAiAMKALIAkYEQCAMQcgCaiACELgGIAwoAtACIQILIAwoAswCIAJBJGxqIg8gDCkD4AE3AgAgD0EIaiAAKQMANwIAIA9BEGogAykDADcCACAPQRhqIAQpAwA3AgAgD0EgaiANKAIANgIAIAwgAkEBaiIDNgLQAiAOIAVBAWoiBUcNAAtDAACAPyExQwAAAAAhMkMAAAAAISlDAAAAACEqQwAAAAAhJ0MAAAAAIShDAAAAACEuQwAAAAAhMCARDgQVAgMBAwsgDCgC0AIhAwwCCyADQQFNDQQgA0ECRg0FIANBA00NBiAMKALMAiIQKgIEISggECoCSCAQKgIAIgqTISogEEEoaioCACAokyIlIBBB0ABqKgIAIBAqAggiJpMiLpQgEEEsaioCACAmkyIxIBBBzABqKgIAICiTIjCUkyAQKgJsIAqTlCAxICqUIBAqAiQgCpMiCiAulJMgEEHwAGoqAgAgKJOUkiAKIDCUICUgKpSTIBBB9ABqKgIAICaTlJJDAAAAAF4EQCAQQSRqIgQpAgAhPyAEIBBByABqIhQpAgA3AgAgDEHgAWoiAEEgaiIVIARBIGoiGigCADYCACAAQRhqIg8gBEEYaiIRKQIANwMAIABBEGoiDiAEQRBqIgIpAgA3AwAgAEEIaiINIARBCGoiACkCADcDACAAIBRBCGoiBSkCADcCACACIBRBEGoiBCkCADcCACARIBRBGGoiAikCADcCACAaIBRBIGoiACgCADYCACAMID83A+ABIBQgDCkD4AE3AgAgACAVKAIANgIAIAIgDykDADcCACAEIA4pAwA3AgAgBSANKQMANwIACyAMQQI2AoADIAxCgICAgBA3AvgCIAxBAjYCjAMgDEKBgICAMDcChAMgDEEDNgKYAyAMQoCAgIAgNwKQAyAMQQE2AqQDIAxCgICAgDA3ApwDIAxBAjYCsAMgDEKDgICAEDcCqAMgDEEANgK8AyAMQoOAgIAgNwK0AyAMQQM2AsgDIAxCgICAgBA3AsADIAxBADYC1AMgDEKCgICAEDcCzAMgDEHgAWoiEiAQIAMgDEH4AmogDEGoA2oQxgQgDEHYA2oiAEEwaiIQIBJBMGoiGygCADYCACAAQShqIhQgEkEoaiITKQIANwMAIABBIGoiFSASQSBqIg0pAgA3AwAgAEEYaiIaIBJBGGoiBSkCADcDACAAQRBqIg8gEkEQaiIEKQIANwMAIABBCGoiACASQQhqIgMpAgA3AwAgDCAMKQLgATcD2AMgDC0AlAIhAiASIAwoAswCIAwoAtACIAxBhANqIAxBtANqEMYEIAxBkARqIg5BMGogGygCADYCACAOQShqIBMpAgA3AwAgDkEgaiANKQIANwMAIA5BGGogBSkCADcDACAOQRBqIAQpAgA3AwAgDkEIaiADKQIANwMAIAwgDCkC4AE3A5AEIAwtAJQCIREgEiAMKALMAiAMKALQAiAMQZADaiAMQcADahDGBCAMQcgEaiIOQTBqIBsoAgA2AgAgDkEoaiATKQIANwMAIA5BIGogDSkCADcDACAOQRhqIAUpAgA3AwAgDkEQaiAEKQIANwMAIA5BCGogAykCADcDACAMIAwpAuABNwPIBCAMLQCUAiEOIBIgDCgCzAIgDCgC0AIgDEGcA2ogDEHMA2oQxgQgDEGABWoiEkEwaiAbKAIANgIAIBJBKGogEykCADcDACASQSBqIA0pAgA3AwAgEkEYaiAFKQIANwMAIBJBEGogBCkCADcDACASQQhqIAMpAgA3AwAgDCAMKQLgATcDgAUgDC0AlAIhDSAMKALcAiIEIAwoAtQCIgVGBEAgGSAEEKsGIAwoAtQCIQUgDCgC3AIhBAsgDCgC2AIiAyAEQTRsaiITIAwpA9gDNwIAIBNBMGogECgCADYCACATQShqIBQpAwA3AgAgE0EgaiAVKQMANwIAIBNBGGogGikDADcCACATQRBqIA8pAwA3AgAgE0EIaiAAKQMANwIAIAwgBEEBaiIENgLcAiAEIAVGBEAgGSAFEKsGIAwoAtQCIQUgDCgC3AIhBCAMKALYAiEDCyADIARBNGxqIg8gDCkDkAQ3AgAgD0EwaiAMQZAEaiIAQTBqKAIANgIAIA9BKGogAEEoaikDADcCACAPQSBqIABBIGopAwA3AgAgD0EYaiAAQRhqKQMANwIAIA9BEGogAEEQaikDADcCACAPQQhqIABBCGopAwA3AgAgDCAEQQFqIgQ2AtwCIAQgBUYEQCAZIAUQqwYgDCgC1AIhBSAMKALcAiEEIAwoAtgCIQMLIAMgBEE0bGoiDyAMKQPIBDcCACAPQTBqIAxByARqIgBBMGooAgA2AgAgD0EoaiAAQShqKQMANwIAIA9BIGogAEEgaikDADcCACAPQRhqIABBGGopAwA3AgAgD0EQaiAAQRBqKQMANwIAIA9BCGogAEEIaikDADcCACAMIARBAWoiBDYC3AIgBCAFRgRAIBkgBRCrBiAMKALcAiEEIAwoAtgCIQMLIAMgBEE0bGoiBSAMKQOABTcCACAFQTBqIAxBgAVqIgBBMGooAgA2AgAgBUEoaiAAQShqKQMANwIAIAVBIGogAEEgaikDADcCACAFQRhqIABBGGopAwA3AgAgBUEQaiAAQRBqKQMANwIAIAVBCGogAEEIaikDADcCACAMIARBAWoiADYC3AIgAkUNCiAARQ0HIAwoAtACRQ0IIAMqAhggDCgCzAIiACoCAJQgA0EcaioCACAAKgIElJIgA0EgaioCACAAKgIIlJIiCkMAAKC1XQ0VIAqMIQogDCgC9AIiAyEEIAwoAuwCIANGBEAgGCADELAGIAwoAvQCIQQLIAwoAvACIg8gBEEDdGoiACAKOAIEQQAhBSAAQQA2AgAgDCAEQQFqNgL0AiAPIANBA3RqIgAqAgQhCiAAKAIAIQQCQCADRQ0AA0AgCiAPIANBAWsiAkEBdiIFQQN0aiIAQQRqKgIAXkUEQCADIQUMAgsgDyADQQN0aiAAKQIANwIAIAUhAyACQQFLDQALCyAPIAVBA3RqIgAgCjgCBCAAIAQ2AgAMCgsgA0EBTQ0IIAwoAswCIgBBLGoqAgAgACoCCJMiJ0MAAAAAIAAqAiQgACoCAJMiKIsgAEEoaioCACAAKgIEkyIqi14iABsiCiAojCAqIAAbIiYgJpRDAAAAACAnjCAAGyIlICWUIAogCpSSkhCYASIwlSEKIAwgKiAKlCAoICUgMJUiMZSTOAKYCCAMICggJiAwlSIulCAnIAqUkzgClAggDCAnIDGUICogLpSTOAKQCCAMQZAHaiIDIB0gDEGQCGogIREBACAMIAwqApgIjDgC6AEgDCAMKgKUCIw4AuQBIAwgDCoCkAiMOALgASAMQdgGaiICIB4gASAMQeABaiIAICIRAgAgACADIAIQowkgDCgC0AIiAiAMKALIAkYEQCAMQcgCaiACELgGIAwoAtACIQILIAwoAswCIAJBJGxqIgMgDCkC4AE3AgAgA0EIaiAMQeABaiIAQQhqKQIANwIAIANBEGogAEEQaikCADcCACADQRhqIABBGGopAgA3AgAgA0EgaiAAQSBqKAIANgIAIAwgAkEBaiIDNgLQAgsgDEECNgLABSAMQoCAgIAQNwK4BSAMQQE2AswFIAxCgICAgCA3AsQFIAxBATYC2AUgDEKBgICAEDcC0AUgDEEANgLkBSAMQgA3AtwFIAxB4AFqIhAgDCgCzAIgAyAMQbgFaiAMQdAFahDGBCAMQegFaiIAQTBqIhQgEEEwaiIVKAIANgIAIABBKGoiGiAQQShqIg8pAgA3AwAgAEEgaiIRIBBBIGoiBSkCADcDACAAQRhqIg4gEEEYaiIEKQIANwMAIABBEGoiDSAQQRBqIgIpAgA3AwAgAEEIaiIDIBBBCGoiACkCADcDACAMIAwpAuABNwPoBSAQIAwoAswCIAwoAtACIAxBxAVqIAxB3AVqEMYEIAxBoAZqIhBBMGogFSgCADYCACAQQShqIA8pAgA3AwAgEEEgaiAFKQIANwMAIBBBGGogBCkCADcDACAQQRBqIAIpAgA3AwAgEEEIaiAAKQIANwMAIAwgDCkC4AE3A6AGIAwoAtwCIgIgDCgC1AIiBUYEQCAZIAIQqwYgDCgC1AIhBSAMKALcAiECCyAMKALYAiIEIAJBNGxqIgAgDCkD6AU3AgAgAEEwaiAUKAIANgIAIABBKGogGikDADcCACAAQSBqIBEpAwA3AgAgAEEYaiAOKQMANwIAIABBEGogDSkDADcCACAAQQhqIAMpAwA3AgAgDCACQQFqIgI2AtwCIAIgBUYEQCAZIAUQqwYgDCgC2AIhBCAMKALcAiECCyAEIAJBNGxqIgMgDCkDoAY3AgAgA0EoaiAMQaAGaiIAQShqKQMANwIAIANBIGogAEEgaikDADcCACADQRhqIABBGGopAwA3AgAgA0EQaiAAQRBqKQMANwIAIANBCGogAEEIaikDADcCACADQTBqIABBMGooAgA2AgAgDCACQQFqNgLcAiAMKAL0AiIDIQUgDCgC7AIgA0YEQCAYIAMQsAYgDCgC9AIhBQsgDCgC8AIiDSAFQQN0akIANwIAIAwgBUEBajYC9AIgDSADQQN0aiIAKgIEIQogACgCACEEAkAgA0UEQEEAIQUMAQsDQCAKIA0gA0EBayICQQF2IgVBA3RqIgBBBGoqAgBeRQRAIAMhBQwCCyANIANBA3RqIAApAgA3AgAgBSEDIAJBAUsNAAsLIA0gBUEDdGoiACAKOAIEIAAgBDYCACAMKAL0AiIDIQUgDCgC7AIgA0YEQCAYIAMQsAYgDCgC9AIhBQsgDCgC8AIiDSAFQQN0akIBNwIADAkLQQEhAyAMQeABaiAMQSBqQQEQ0wEgDEH0AWoqAgAhLCAMQfABaioCACEyIAwqAuwBISkgDCoC6AEhKiAMKgLkASEnIAwqAuABISgMFAtByO7AAEEnQdjvwAAQuQoAC0EBIANBuOvAABDtCAALQQJBAkHI68AAEO0IAAtBAyADQdjrwAAQ7QgAC0EAQQBB6OvAABDtCAALQQBBAEH468AAEO0IAAtBASADQejswAAQ7QgACwJAIBFFDQACQCAMKALcAiIAQQJPBEAgDCgC0AIiAEEBTQ0BIAwoAtgCIgJBzABqKgIAIAwoAswCIgAqAiSUIAJB0ABqKgIAIABBKGoqAgCUkiACQdQAaioCACAAQSxqKgIAlJIiCkMAAKC1XQ0NIAqMIQogDCgC9AIiAyEFIAwoAuwCIANGBEAgGCADELAGIAwoAvQCIQULIAwoAvACIhEgBUEDdGoiACAKOAIEIABBATYCACAMIAVBAWo2AvQCIBEgA0EDdGoiACoCBCEKIAAoAgAhBAJAIANFBEBBACEFDAELA0AgCiARIANBAWsiAkEBdiIFQQN0aiIAQQRqKgIAXkUEQCADIQUMAgsgESADQQN0aiAAKQIANwIAIAUhAyACQQFLDQALCyARIAVBA3RqIgAgCjgCBCAAIAQ2AgAMAgtBASAAQYjswAAQ7QgAC0EBIABBmOzAABDtCAALAkAgDkUNAAJAIAwoAtwCIgBBA08EQCAMKALQAiIAQQJNDQEgDCgC2AIiAkGAAWoqAgAgDCgCzAIiACoCSJQgAkGEAWoqAgAgAEHMAGoqAgCUkiACQYgBaioCACAAQdAAaioCAJSSIgpDAACgtV0NDSAKjCEKIAwoAvQCIgMhBSAMKALsAiADRgRAIBggAxCwBiAMKAL0AiEFCyAMKALwAiIOIAVBA3RqIgAgCjgCBCAAQQI2AgAgDCAFQQFqNgL0AiAOIANBA3RqIgAqAgQhCiAAKAIAIQQCQCADRQRAQQAhBQwBCwNAIAogDiADQQFrIgJBAXYiBUEDdGoiAEEEaioCAF5FBEAgAyEFDAILIA4gA0EDdGogACkCADcCACAFIQMgAkEBSw0ACwsgDiAFQQN0aiIAIAo4AgQgACAENgIADAILQQIgAEGo7MAAEO0IAAtBAiAAQbjswAAQ7QgACyANRQ0BIAwoAtwCIgBBBEkNAyAMKALQAiIAQQNNDQIgDCgC2AIiAkG0AWoqAgAgDCgCzAIiACoCbJQgAkG4AWoqAgAgAEHwAGoqAgCUkiACQbwBaioCACAAQfQAaioCAJSSIgpDAACgtV0NCiAKjCEKIAwoAvQCIgMhBSAMKALsAiADRgRAIBggAxCwBiAMKAL0AiEFCyAMKALwAiINIAVBA3RqIgAgCjgCBCAAQQM2AgALIAwgBUEBajYC9AIgDSADQQN0aiIAKgIEIQogACgCACEEAkAgA0UEQEEAIQUMAQsDQCAKIA0gA0EBayICQQF2IgVBA3RqIgBBBGoqAgBeRQRAIAMhBQwCCyANIANBA3RqIAApAgA3AgAgBSEDIAJBAUsNAAsLIA0gBUEDdGoiACAENgIAIAAgCjgCBAsCQCAMKAL0AiICBEAgDCgC8AIiAA0BC0HYwMAAQStB+OzAABC5CgALIAxB2AZqIgNBJGohECADQRhqIRsgA0EMaiEUIAAoAgAhFkP//39/IShBACETA0AgDCgC8AIhDwNAIAwgAkEBayINNgL0AiAPIA1BA3RqIgAqAgQhCiAAKAIAIQACQCANRQRAIAAhDiAKISYMAQsgDyoCBCEmIA8gCjgCBCAPKAIAIQ4gDyAANgIAQQAhA0EBIQUgAkEETwRAIA1BAmsiA0EAIAMgDU0bIRFBACEEA0AgDyAEQQN0aiAPIAUgDyAFQQN0aiIDQQRqKgIAIANBDGoqAgBeRWoiA0EDdGopAgA3AgAgAyEEIBEgA0EBdEEBciIFTw0ACwsCQAJAIAJBAmsgBUYEQCAPIANBA3RqIA8gBUEDdGoiAikCADcCACACIAo4AgQgAiAANgIAIAUhAwwBCyAPIANBA3RqIgIgCjgCBCACIAA2AgAgAw0AQQAhBQwBCwNAIA8gA0EBayIEQQF2IgVBA3RqIgJBBGoqAgAgCl1FBEAgAyEFDAILIA8gA0EDdGogAikCADcCACAFIQMgBEEBSw0ACwsgDyAFQQN0aiICIAo4AgQgAiAANgIACyAOIAwoAtwCIgVPDQQgDEGYCGoiACAOQTRsIgMgDCgC2AJqIhFBFGooAgA2AgAgDCARKQIMNwOQCCAMQZgHaiIEIBFBIGooAgA2AgAgDCARKQIYNwOQByAMQegBaiIVIBFBLGooAgA2AgAgES0AMCECIBEpAgAhQCARKQIkIT8gDEHgBmogEUEIaigCADYCACAMID83A+ABIAwgQDcD2AYgFEEIaiAAKAIANgIAIBQgDCkDkAg3AgAgG0EIaiAEKAIANgIAIBsgDCkDkAc3AgAgEEEIaiAVKAIANgIAIBAgDCkD4AE3AgAgDCACOgCIByACRQRAIAxBhAhqIgIgHSAbICERAQAgDCAMKgL4Bow4AugBIAwgDCoC9AaMOALkASAMIAwqAvAGjDgC4AEgDEGQCGoiACAeIAEgDEHgAWogIhECACAMQZAHaiACIAAQowkgDCgC0AIiHyICIAwoAsgCRgRAIAxByAJqIB8QuAYgDCgC0AIhAgsgDCgCzAIgAkEkbGoiBSAMKQKQBzcCACAFQSBqIAxBkAdqIgBBIGooAgA2AgAgBUEYaiAAQRhqKQIANwIAIAVBEGogAEEQaikCADcCACAFQQhqIAQpAgA3AgAgDCACQQFqIgI2AtACIA4gFiAMKgKQByAMKgLwBpQgDCoClAcgDCoC9AaUkiAEKgIAIAwqAvgGlJIiCiAoXSIAGyEWIAwoAtwCIQQCQAJAAkACQCAmIAogKCAAGyIokkMAAEg3XUUEQCAEIA5NDQQgDCgC2AIgA2pBAToAMCAMKALkBiICIAwoAtwCIgBPDQMgDCgC2AIgAkE0bGogDCgC2AYQhgkhAyAMKALoBiICIAwoAtwCIgBPDQIgDCgC2AIgAkE0bGogDCgC3AYQhgkhAiAMKALsBiIEIAwoAtwCIgBPDQEgDCgC2AIgBEE0bGogDCgC4AYQhgkhACAMQcgCaiIEIB8gDCgC5AYgAxDfASAEIB8gDCgC6AYgAhDfASAEIB8gDCgC7AYgABDfASAMKALoAiIARQ0QICaMISUgDCgC3AIhICAMKALkAiISIABBA3RqIRoDQAJAAkAgDCgC3AIiFyASKAIAIgBLBEAgDCgC2AIgAEE0bGoiAi0AMA0CIAwgHzYCwAcgDCAXQQFrNgLMByAMIBdBAWo2AsgHIAwgADYCxAcgDCACIBIoAgQiAEEBakEDcEECdGooAgA2ArwHIAwgAiAAQQJqQQNwQQJ0aigCADYCuAcgDEHgAWoiAyAMKALMAiAMKALQAiAMQbgHaiAMQcQHahDGBCAMQdAHaiIAQTBqIg8gA0EwaigCADYCACAAQShqIhEgA0EoaikCADcDACAAQSBqIg4gA0EgaikCADcDACAAQRhqIg0gA0EYaikCADcDACAAQRBqIgUgA0EQaikCADcDACAAQQhqIgQgFSkCADcDACAMIAwpAuABNwPQByAMLQCUAiEDIAIgEigCBEEBakEDcEECdGpBDGogFzYCACAMKALcAiICIAwoAtQCRgRAIBkgAhCrBiAMKALcAiECCyAMKALYAiIAIAJBNGxqIhwgDCkD0Ac3AgAgHEEwaiAPKAIANgIAIBxBKGogESkDADcCACAcQSBqIA4pAwA3AgAgHEEYaiANKQMANwIAIBxBEGogBSkDADcCACAcQQhqIAQpAwA3AgAgDCACQQFqIgI2AtwCIAMNAQwCCyAAIBdB+O3AABDtCAALAkAgAiAXSwRAIAAgF0E0bGoiBCgCACICIAwoAtACIgNPDQECQAJAIAwoAswCIgAgAkEkbGoiAioCACAEKgIYlCACKgIEIARBHGoqAgCUkiACKgIIIARBIGoqAgCUkiIKICVdRQRAIApDAACgtV0NFyAKjCEKIAwoAvQCIgMhBCAMKALsAiADRgRAIBggAxCwBiAMKAL0AiEECyAMKALwAiINIARBA3RqIgAgCjgCBCAAIBc2AgAgDCAEQQFqNgL0AiANIANBA3RqIgAqAgQhCiAAKAIAIQQgAw0BQQAhBQwCCyAMQeABaiAMQdgGaiAAIAMQ+QMgDEHwAWoqAgAhMiAMKgL4BiEwIAwqAvQGITEgDCoC8AYhLiAMQfQBaioCAAwTCwNAIAogDSADQQFrIgJBAXYiBUEDdGoiAEEEaioCAF5FBEAgAyEFDAILIA0gA0EDdGogACkCADcCACAFIQMgAkEBSw0ACwsgDSAFQQN0aiIAIAo4AgQgACAENgIADAILIBcgAkGI7sAAEO0IAAsgAiADQZjuwAAQ7QgACyAaIBJBCGoiEkcNAAsgDCgC3AIiACAgRg0QAkAgACAgSwRAIAwoAtgCICBBNGxqQRRqIABBAWs2AgAgDCgC3AIiAEUNASAMKALYAiAAQTRsakEkayAgNgIAIAxBADYC6AIgE0GQzgBGDRIgE0EBaiETIAwoAvQCIgJFDQ0MCQsgICAAQdjtwAAQ7QgAC0HYwMAAQStB6O3AABC5CgALIAQgFk0EQCAWIARBqO7AABDtCAALIAxB4AFqIAwoAtgCIBZBNGxqIgAgDCgCzAIgAhD5AyAAQSBqKgIAITAgAEEcaioCACExIAAqAhghLiAMQfABaioCACEyIAxB9AFqKgIADAwLIAQgAEHI7cAAEO0IAAsgAiAAQbjtwAAQ7QgACyACIABBqO3AABDtCAALIA4gBEGY7cAAEO0IAAsgDSICDQALCwwEC0EDIABB2OzAABDtCAALQQMgAEHI7MAAEO0IAAsgDiAFQYjtwAAQ7QgACyAMKALcAiEFCyAFIBZNDQIgDEHgAWogDCgC2AIgFkE0bGoiACAMKALMAiAMKALQAhD5AyAAQSBqKgIAITAgAEEcaioCACExIAAqAhghLiAMQfABaioCACEyIAxB9AFqKgIACyEsIAwqAuwBISkgDCoC6AEhKiAMKgLkASEnIAwqAuABISgLIAwoAsgCBEAgDCgCzAIQlQILIAwoAtQCBEAgDCgC2AIQlQILIAwoAuACBEAgDCgC5AIQlQILIAwoAuwCBEAgDCgC8AIQlQILQQEhAwwDCyAWIAVBuO7AABDtCAALIAwoAsgCBEAgDCgCzAIQlQILIAwoAtQCBEAgDCgC2AIQlQILIAwoAuACBEAgDCgC5AIQlQILIAwoAuwCBEAgDCgC8AIQlQILQQMhA0MAAIA/IShDAAAAACEqQwAAAAAhJwwBCyAMQdAHaiAMQSBqQQAQ0wEgDEHkB2oqAgAhLCAMQeAHaioCACEyIAwqAtwHISkgDCoC2AchKiAMKgLUByEnIAwqAtAHIShBASEDIAwqAvAFITAgDCoC7AUhMSAMKgLoBSEuCyALQYABaigCACEAAkACQAJAAkACQAJAIAtBhAFqKAIAIg5FBEBBBCEEQQAhAgwBCyAOQaLEiBFLDQggDkE8bCICQQBIDQhBkfrDAC0AABogAkEEEKMMIgRFDQELIAQgACACEKMNIQ0gC0EANgKEAUMAAAAAIQpDAAAAACEmQwAAAAAhJQJAIANBAWsOAwADAgMLIAwgMTgC3AYgDCAuOALYBiAMIDA4AuAGIAwgASoCDCI3IDEgASoCACI4lCAuIAEqAgQiOpSTIgogCpIiJpQgOiAwIDqUIDEgASoCCCI7lJMiCiAKkiIllCA4IC4gO5QgMCA4lJMiCiAKkiIKlJOSIDCTOALYByAMIDcgCpQgOCAmlCA7ICWUk5IgMZM4AtQHIAwgNyAllCA7IAqUIDogJpSTkiAukzgC0AcgDEEsaiAJNgIAIAwgCDYCKCAMIAc2AiQgDCAGNgIgIAxBIGogASAMQdgGaiAMQdAHahCRCkUEQCAODQVBACEODAsLICkgKJMhPSAyICeTITQgLCAqkyEzIAxB4AFqIgMQkAkgDEEgaiICEJAJIB0gDEHYBmoiACADICQoAhwRAQAgHiAMQdAHaiACICMoAhwRAQAgASoCECEKIAEgACADIAIgC0EAECUgCygChAEhAwJAIAwqAtgGIisgLlwEQCADIQkMAQsgDCoC3AYiLSAxXARAIAMhCQwBCyAMKgLgBiIvIDBcBEAgAyEJDAELIDogKSAKkyIplCA4IDIgAUEUaioCAJMiJpSTIgogCpIhPCA7ICaUIDogLCABQRhqKgIAkyIllJMiCiAKkiEyICUgNyA8lCA6IDKUIDggOCAllCA7ICmUkyIKIAqSIgqUk5KSISwgJiA3IAqUIDggPJQgOyAylJOSkiEmICkgNyAylCA7IAqUIDogPJSTkpIhJSA9ICuUIDQgLZSSIDMgL5SSIQogC0H8AGoiACgCACADRgRAIAAgAxCqBiALKAKEASEDCyALIANBAWoiCTYChAEgCygCgAEgA0E8bGoiAEIANwIAIABCADcCNCAAIAo4AjAgACAsOAIsIAAgJjgCKCAAICU4AiQgACAqOAIgIAAgJzgCHCAAICg4AhggAEEIakIANwIAIABBEGpCADcCAAsgBiAIcgRAIDAgM5QgMSA0lCAuID2UkpIhJgJAIAkCfyAJRQRAQQAhBEEADAELQQAhBCAmQwAAAABgDQEgJkMAAKBAlCElIAsoAoABQTBqIQNBACECAkADQCADKgIAIgogJWAgCkMAAAAAYHJFDQEgA0E8aiEDIAkgAkEBaiICRw0ACwwCC0EBIQQgAkEBagsiAEYNACAJIABrIQEgJkMAAKBAlCElIAsoAoABIABBPGxqIQMDQCADQTBqIQACQAJAICZDAAAAAGANACAAKgIAIgpDAAAAAGANACAKICVgDQAgBEEBaiEEDAELIAMgBEFEbGoiAiADKQIANwIAIAJBOGogA0E4aigCADYCACACQTBqIAApAgA3AgAgAkEoaiADQShqKQIANwIAIAJBIGogA0EgaikCADcCACACQRhqIANBGGopAgA3AgAgAkEQaiADQRBqKQIANwIAIAJBCGogA0EIaikCADcCAAsgA0E8aiEDIAFBAWsiAQ0ACwsgCyAJIARrIgk2AoQBCyALQYgBaiEDIAsoAoABIQICQCA2QwAAAABbIDVDAAAAAFtxDQAgCUUNACAJQTxsIQEgNiA1kiEnIDUgDCoC2AeUISggNSAMKgLUB5QhKiA1IAwqAtAHlCEsIDYgDCoC4AaUISYgNiAMKgLcBpQhJSA2IAwqAtgGlCEKQQAhBQNAIAIgBWoiBEEYaiIAIAogACoCAJI4AgAgBEEcaiIAICUgACoCAJI4AgAgBEEgaiIAICYgACoCAJI4AgAgBEEkaiIAICwgACoCAJI4AgAgBEEoaiIAICogACoCAJI4AgAgBEEsaiIAICggACoCAJI4AgAgBEEwaiIAIAAqAgAgJ5M4AgAgASAFQTxqIgVHDQALCyADIAwpAtgGNwIAIAsgDCkC0Ac3ApQBIANBCGogDEHgBmooAgA2AgAgC0GcAWogDEHYB2ooAgA2AgAgCUUNAyAORQRAQQAhDgwLCyACIAlBPGxqIQYgDkE8bCIBIA1qIQUgDUE8aiEAIAFBPGsiBEE8bkEBcSEBA0AgAigCNCEIAn8gDSABDQAaIAAgCCANKAI0Rw0AGiAAIAIoAjggDSgCOEcNABogAiANKQIANwIAIAJBEGogDUEQaikCADcCACACQQhqIA1BCGopAgA3AgAgAAshAyAEQTxPBEADQAJAIAggA0E0aigCAEcNACACKAI4IANBOGooAgBHDQAgAiADKQIANwIAIAJBEGogA0EQaikCADcCACACQQhqIANBCGopAgA3AgALAkAgCCADQfAAaigCAEcNACACKAI4IANB9ABqKAIARw0AIAIgA0E8aiIHKQIANwIAIAJBEGogB0EQaikCADcCACACQQhqIAdBCGopAgA3AgALIAUgA0H4AGoiA0cNAAsLIAYgAkE8aiICRw0ACwwDC0EEIAJB2IDEACgCACIAQaMHIAAbEQAAAAsgKCEKICchJiAqISULIAsgJTgCkAEgCyAmOAKMASALIAo4AogBCyAODQBBACEODAYLIA0QlQJBACEODAULIAsgCjgClAEgCyAoOAKIASALQZwBaiAsOAIAIAtBmAFqICY4AgAgC0GQAWogKjgCACALQYwBaiAlOAIADAQLIAtBgAFqKAIAIQBBACEFQQQhBCALQYQBaigCACINBEAgDUGixIgRSw0BIA1BPGwiBUEASA0BQZH6wwAtAAAaIAVBBBCjDCIERQ0CCyAEIAAgBRCjDSEEIAtBADYChAEgDEHYBmoiAkEIaioCACEvIAxB5AZqIgMqAgAhJSAMKgLcByEnIAwqAtAHISkgDCoC3AYhKCAMKgLYByErIAwqAtQHIS0gDEEgaiIFQQhqIAMoAgA2AgAgDCAMKQLcBjcDICAMQeABaiIAIAcgBRCUDSAMICcgKCAtlCAvICmUkyIKIAqSIiqUICkgJSAplCAoICuUkyIKIAqSIiyUIC0gLyArlCAlIC2UkyIKIAqSIgqUk5IgJZMiJjgC0AQgDCAnICyUICsgCpQgKSAqlJOSIC+TIiU4AswEIAwgJyAKlCAtICqUICsgLJSTkiAokyIKOALIBCAFIAYgDEHIBGoQlA0gASACQQRyIAAgBSALQQAQJSALQZwBaiAmOAIAIAtBmAFqICU4AgAgCyAKOAKUASALQZABaiADKAIANgIAIAsgDCkC3AY3AogBIAsoAoQBIgAEQCANRQ0EIAsoAoABIgIgAEE8bGohByANQTxsIgEgBGohBiAEQTxqIQAgAUE8ayIFQTxuQQFxIQEDQCACKAI0IQkCfyAEIAENABogACAJIAQoAjRHDQAaIAAgAigCOCAEKAI4Rw0AGiACIAQpAgA3AgAgAkEQaiAEQRBqKQIANwIAIAJBCGogBEEIaikCADcCACAACyEDIAVBPE8EQANAAkAgCSADQTRqKAIARw0AIAIoAjggA0E4aigCAEcNACACIAMpAgA3AgAgAkEQaiADQRBqKQIANwIAIAJBCGogA0EIaikCADcCAAsCQCAJIANB8ABqKAIARw0AIAIoAjggA0H0AGooAgBHDQAgAiADQTxqIggpAgA3AgAgAkEQaiAIQRBqKQIANwIAIAJBCGogCEEIaikCADcCAAsgBiADQfgAaiIDRw0ACwsgByACQTxqIgJHDQALCyANRQ0DIAQQlQIMAwsQ7goAC0EEIAVB2IDEACgCACIAQaMHIAAbEQAAAAsgCyAlOAKUASALIAo4AogBIAtBnAFqICo4AgAgC0GYAWogLDgCACALQZABaiAuOAIAIAtBjAFqICY4AgALIAxBoAhqJAAgDgvUgwEDGH8RfQN+IwBBsAJrIgMkAAJAAkACQAJAAkAgAkUEQCAAQgQ3AhAgAEIANwIIIABCgICAgMAANwIADAELAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAJBqtWq1QBLDQAgAkEMbCIYQQBIDQBBkfrDAC0AABoCQAJ/AkACQAJAAkACQAJAAkACQAJAAkAgGEEEEKMMIgQEQCAEIAEgGBCjDSIRIAJBDGxqIRYgESoCCCEeIBEqAgQhHCARKgIAIR0CQCACQQFGBEAgHiEgIBwhGyAdIR8MAQsgEUEMaiEEIB0hHyAcIRsgHiEgA0AgICAEQQhqKgIAIiIgICAiYBshICAbIARBBGoqAgAiISAbICFgGyEbIB4gIiAeICJfGyEeIBwgISAcICFfGyEcIB8gBCoCACIhIB8gIWAbIR8gHSAhIB0gIV8bIR0gFiAEQQxqIgRHDQALCyAgIB6SQwAAAD+UISUgGyAckkMAAAA/lCEiIB8gHZJDAAAAP5QhISAgIB6TIh4gHpQgGyAckyIbIBuUIB8gHZMiGyAblJKSEJgBIRsgESEEA0AgBCAEKgIAICGTIBuVOAIAIARBCGoiBSAFKgIAICWTIBuVOAIAIARBBGoiBSAFKgIAICKTIBuVOAIAIBYgBEEMaiIERw0ACyADQQA2AhQgA0KAgICAwAA3AgwgA0EANgIgIANCgICAgMAANwIYIANBADYCLCADQoCAgIDAADcCJCADQegBaiEQIBEhBEMAAAAAISBDAAAAACEfIwBBIGsiDCQAAkAgAiIPBEAgD0EMbCIFIARqIQ4gBCoCCEQAAAAAAADwPyAPuKO2IhuUIRwgBCoCBCAblCEdIAQqAgAgG5QhHgJAIA9BAUYNACAEQQxqIQICQCAFQRhrIgZBDG5BAXEEQCACIQUgBCECDAELIARBGGohBSAeIAQqAgwgG5SSIR4gHCAEQRRqKgIAIBuUkiEcIB0gBEEQaioCACAblJIhHQsgBkEMSQ0AA0AgHiAFKgIAIBuUkiAFQQxqIgYqAgAgG5SSIR4gHCACQRRqKgIAIBuUkiAFQRRqKgIAIBuUkiEcIB0gAkEQaioCACAblJIgBUEQaioCACAblJIhHSAGIQIgDiAFQRhqIgVHDQALC0MAAIA/IA+zlSEqA0AgKiAEKgIIIByTIiWUIRsgJyAlIBuUkiEnICggBCoCBCAdkyIiIBuUkiEoICkgBCoCACAekyIhIBuUkiEpICsgJSAqICKUIhuUkiErICYgIiAblJIhJiAjICEgG5SSISMgJCAqICGUIhsgJZSSISQgHyAiIBuUkiEfICAgISAblJIhICAOIARBDGoiBEcNAAsgECAgOAIMIBAgHDgCCCAQIB04AgQgECAeOAIAIBBBLGogJzgCACAQQShqICg4AgAgEEEkaiApOAIAIBBBIGogKzgCACAQQRxqICY4AgAgEEEYaiAjOAIAIBBBFGogJDgCACAQQRBqIB84AgAgDEEgaiQADAELIAxBFGpCADcCACAMQQE2AgwgDEHQp8MANgIIIAxBgIXCADYCECAMQQhqQcCowwAQ7woACyADQZgBaiAQQSxqKAIANgIAIANB+ABqIgVBGGogA0GMAmoiBCkCADcDACAFQRBqIBBBHGoiAikCADcDACADQYABaiADQfwBaikCADcDACADIAMpAvQBNwN4IBAgBRA5AkACQAJAIAMoAvQBDgMAAgECC0HMisIAQStBiJHCABC5CgALQcyKwgBBK0H4kMIAELkKAAsgA0HoAWoiBUEQaikCACEtIAVBGGoqAgAhHSACKQIAIS4gBUEoaikCACEsIAQqAgAhHCADQZgCaioCACEbIAMqAugBIR8gAyoC7AEhISADQTxqIgJBLGogAyoC8AEiHjgCACACQShqIBs4AgAgAkEcaiIFICE4AgAgAkEYaiAcOAIAIAMgLDcCXCADIC43AkwgAyAfOAJIIAMgHTgCRCADIC03AjwjAEEQayEGIAJBDGoqAgAiHCAFKgIAIhtdBEAgAikCACEsIAIgAkEQaiIEKQIANwIAIAQgLDcCACACQQhqIgQpAgAhLCACIBs4AgwgBCACQRhqIgQoAgA2AgAgBCAsNwIAIBshHCAFKgIAIRsLIBsgAkEsaioCACIdXQRAIAIpAiAhLCACIAIpAhA3AiAgBkEIaiIFIAJBKGoiBCgCADYCACAEIAJBGGopAgA3AgAgBiAsNwMAIAJBEGohBAJAIBwgHV1FBEAgBCECDAELIAQgAikCADcCACAEQQhqIAJBCGopAgA3AgALIAIgBikDADcCACACIB04AgwgAkEIaiAFKAIANgIACwJAAkACQCADKgJIIhtDAAAAAFsNACAbiyIbQwAAgH9cBEAgG0OVv9YzXw0BIBsgG0MAAAA0lF8NAQsgAyoCWCIbQwAAAABbDQEgG4siG0MAAIB/XARAIBtDlb/WM18NAiAbIBtDAAAANJRfDQILIAMqAmgiG0MAAAAAWw0CIBuLIhtDAACAf1wEQCAbQ5W/1jNfDQMgGyAbQwAAADSUXw0DCyARKgIIRAAAAAAAAPA/IA+4o7YiG5QhHCARKgIEIBuUIR0gESoCACAblCEgIA9BAUYNCiARQQxqIQIgGEEYayIFQQxuQQFxRQ0IIAIhBCARIQIMCQtBkfrDAC0AABpBDEEEEKMMIgRFDQMgBCABKQIANwIAIARBCGogAUEIaigCADYCAEGR+sMALQAAGkEYQQQQowwiB0UNJSAHQgA3AgAgB0EQakIANwIAIAdBCGpCADcCAEECIQxBAQwNCyAPQQFGDQMgAyoCPCImIAEqAgyUIiUgAyoCQCIkIAFBEGoqAgAiIpSSIAMqAkQiIyABQRRqKgIAlCIhkiIcICYgASoCAJQiICAkIAEqAgQiH5SSICMgASoCCJQiHZIiG14hBUECIQcgD0ECRwRAIBwgGyAbIBxdGyEeIAFBGGohBCAYQSRrIgZBDG5BAWoiAkEBcSEKIAZBDE8EQCACQf7///8DcSEOQQIhAgNAICYgBCoCAJQgJCAEQQRqKgIAlJIgIyAEQQhqKgIAlJIiGyAeXiEIICYgBEEMaioCAJQgJCAEQRBqKgIAlJIgIyAEQRRqKgIAlJIiHCAbIB4gCBsiG14hBiAcIBsgBhshHiACQQFqIAIgBSAIGyAGGyEFIARBGGohBCACIA5HIQYgAkECaiIHIQIgBg0ACwsgCgRAIAcgBSAmIAQqAgCUICQgBCoCBJSSICMgBCoCCJSSIB5eGyEFCyAFIA9PDQULIANB8AFqIAEgBUEMbGoiAkEIaigCADYCACADIAIpAgA3A+gBICIgJIwiIpQgJZMgIZMiHCAfICKUICCTIB2TIhteIQVBAiEHIA9BAkYNCyAcIBsgGyAcXRshHiABQRhqIQQgGEEkayIGQQxuQQFqIgJBAXEhCiAGQQxPBEAgAkH+////A3EhDkECIQIDQCAEQQRqKgIAICKUICYgBCoCAJSTICMgBEEIaioCAJSTIhsgHl4hCCAEQRBqKgIAICKUICYgBEEMaioCAJSTICMgBEEUaioCAJSTIhwgGyAeIAgbIhteIQYgHCAbIAYbIR4gAkEBaiACIAUgCBsgBhshBSAEQRhqIQQgAiAORyEGIAJBAmoiByECIAYNAAsLIApFDQsgByAFIAQqAgQgIpQgJiAEKgIAlJMgIyAEKgIIlJMgHl4bIQUMCwsgD0EDdCICQQBIDQ1BkfrDAC0AABogAkEEEKMMIglFDSQgA0EANgJ0IAMgCTYCcCADIA82AmwgAyoCVCEkIAMqAlAhJSADKgJMISIgAyoCRCEhIAMqAkAhICADKgI8IR4gESEEA0AgIiAEKgIAIh+UICUgBEEEaioCACIdlJIgJCAEQQhqKgIAIhuUkiEcIB4gH5QgICAdlJIgISAblJIhGyAHIAMoAmxGBEAgA0HsAGogBxCwBiADKAJwIQkgAygCdCEHCyAHIgZBA3QgCWoiAiAcOAIEIAIgGzgCACADIAdBAWoiBzYCdCAWIARBDGoiBEcNAAsMBAsMJAtBBEEMQdiAxAAoAgAiAEGjByAAGxEAAAALIANB8AFqIAFBCGooAgA2AgAgAyABKQIANwPoAUEAIQUMBwsgBSAPQfTywgAQ7QgACyADKAJwIQQgA0EANgLMASADQoCAgIDAADcCxAEgA0EANgLkASADQoCAgIDAADcC3AECQAJAAkACQCAHQQFLBEAgBkH/////AXEiFkEBaiITQQFxIQoCQCAWRQRAQ///f/8hGyAEIQJBACEFDAELIBNB/v///wNxIQ5D//9//yEbIAQhAkEAIQUDQEEBQQEgCCACKgIAIAJBBGoqAgBDAAAAAJSSIh0gG14iCRsgAkEIaioCACACQQxqKgIAQwAAAACUkiIcIB0gGyAJGyIbXiIMGyEIIBwgGyAMGyEbIAVBAWogBSALIAkbIAwbIQsgAkEQaiECIA4gBUECaiIFRw0ACwsgCgRAQQEgCCACKgIAIAJBBGoqAgBDAAAAAJSSIBteIgIbIQggBSALIAIbIQsLIAhFDQECQAJAAkAgByALTQRAIBNBAXEhESAWDQFD//9//yEbQQAhAkEAIQAMAgsgE0EBcSEKAkAgFkUEQEP//3//IRsgBCECQQAhBQwBCyATQf7///8DcSEOQ///f/8hGyAEIQJBACEFA0BBAUEBIA0gAkEEaioCAEMAAACAlCACKgIAkyIdIBteIgwbIAJBDGoqAgBDAAAAgJQgAkEIaioCAJMiHCAdIBsgDBsiG14iCBshDSAFQQFqIAUgCSAMGyAIGyEJIBwgGyAIGyEbIAJBEGohAiAOIAVBAmoiBUcNAAsLIAoEQEEBIA0gAkEEaioCAEMAAACAlCACKgIAkyAbXiICGyENIAUgCSACGyEJCyANRQ0FIAcgCU0NBgJAIAQgCUEDdGopAgAiLKe+IhwgBCALQQN0aiIQKgIAkyIbIBuUICxCIIinviIdIBAqAgSTIiAgIJSSIh5DAAAAAFwNACATQQFxIQoCQCAWRQRAQ///f/8hG0EAIQ0gBCECQQAhBQwBCyATQf7///8DcSEOQ///f/8hG0EAIQ0gBCECQQAhBQNAIAIqAgBDAAAAgJQgAkEEaioCAJMiHSAbXiEMIAJBCGoqAgBDAAAAgJQgAkEMaioCAJMiHCAdIBsgDBsiG14hCCAcIBsgCBshG0EBQQEgDSAMGyAIGyENIAVBAWogBSAJIAwbIAgbIQkgAkEQaiECIA4gBUECaiIFRw0ACwsgCgRAQQEgDSACKgIAQwAAAICUIAJBBGoqAgCTIBteIgIbIQ0gBSAJIAIbIQkLIA1FDQYgByAJTQ0HIAQgCUEDdGopAgAiLKe+IhwgECoCAJMiGyAblCAsQiCIp74iHSAQKgIEkyIgICCUkiIeQwAAAABcDQAgE0EBcSEKAkAgFkUEQEP//3//IRtBACENIAQhAkEAIQUMAQsgE0H+////A3EhDkP//3//IRtBACENIAQhAkEAIQUDQCACKgIAQwAAAACUIAJBBGoqAgCSIh0gG14hDCACQQhqKgIAQwAAAACUIAJBDGoqAgCSIhwgHSAbIAwbIhteIQggHCAbIAgbIRtBAUEBIA0gDBsgCBshDSAFQQFqIAUgCSAMGyAIGyEJIAJBEGohAiAOIAVBAmoiBUcNAAsLIAoEQEEBIA0gAioCAEMAAAAAlCACQQRqKgIAkiAbXiICGyENIAUgCSACGyEJCyANRQ0GIAcgCU0NByAEIAlBA3RqKQIAIiynviIcIBAqAgCTIhsgG5QgLEIgiKe+Ih0gECoCBJMiICAglJIhHgsgCSALRw0CIANB9AFqQgA3AgAgA0EBNgLsASADQYyQwwA2AugBIANBgIXCADYC8AEgA0HoAWpBlJDDABDvCgALIBNB/v///wNxIQFD//9//yEbQQAhAkEAIQADQEEBQQEgAiAEQQRqKgIAQwAAAICUIAQqAgCTIh0gG14iBhsgBEEMaioCAEMAAACAlCAEQQhqKgIAkyIcIB0gGyAGGyIbXiIFGyECIABBAWogACAJIAYbIAUbIQkgHCAbIAUbIRsgBEEQaiEEIAEgAEECaiIARw0ACwsgEQRAQQEgAiAEQQRqKgIAQwAAAICUIAQqAgCTIBteIgEbIQIgACAJIAEbIQkLIAJFDQMgByAJTQ0EIAsgB0HEj8MAEO0IAAsgHhCYASEfIANBmAFqIAk2AgAgAyALNgKUASADQoGAgIAQNwKMAUEAIQggA0EANgKAASADQoCAgIDAADcCeCADIB9DAAAAAFw6AJwBIAMgICAflbytIBuMIB+VvK1CIIaENwKEASAQKQIAIiynviAckyIcIByUICxCIIinviAdkyIbIBuUkhCYASEdIANBiAJqIAs2AgAgAyAJNgKEAiADQgA3AvwBIANBADYC8AEgA0KAgICAwAA3AugBIAMgHUMAAAAAXDoAjAIgAyAbIB2VvK0gHIwgHZW8rUIghoQ3AvQBIAZBAWohDEEEIQ0gBCEFQQAhAgNAAkAgAiALRg0AIAIgCUYNACADKAKUASIGIAdPDSgCQCAFKQIAIiynviIcIAQgBkEDdGoiBioCAJMgAyoChAGUICxCIIinviIbIAYqAgSTIAMqAogBlJJDAABIN15FBEAgAygChAIiBiAHTw0qIBwgBCAGQQN0aiIGKgIAkyADKgL0AZQgGyAGKgIEkyADKgL4AZSSQwAASDdeDQEgAygCzAEiEiADKALEAUYEQCADQcQBaiASELMGIAMoAswBIRILIAMoAsgBIBJBAnRqIAI2AgAgAyASQQFqNgLMAQwCCyADKAKAASISIAMoAnhGBEAgA0H4AGogEhCzBiADKAKAASESCyADKAJ8IBJBAnRqIAI2AgAgAyASQQFqNgKAAQwBCyADKALoASAIRgRAIANB6AFqIAgQswYgAygC7AEhDSADKALwASEICyANIAhBAnRqIAI2AgAgAyAIQQFqIgg2AvABCyAFQQhqIQUgDCACQQFqIgJHDQALDAQLQeCOwwBBI0GEj8MAELkKAAtBzIrCAEErQZSPwwAQuQoAC0HMisIAQStBpI/DABC5CgALIAkgB0G0j8MAEO0IAAsgA0HcAWpBABC+BiADKALgASIFIAMoAuQBIgJBKGxqIg4gAykCeDcCACAOQQhqIANB+ABqIgZBCGopAgA3AgAgDkEQaiAGQRBqKQIANwIAIA5BGGogBkEYaikCADcCACAOQSBqIAZBIGopAgA3AgAgAyACQQFqIgI2AuQBIAMoAtwBIAJGBEAgA0HcAWogAhC+BiADKALgASEFIAMoAuQBIQILIANB2AFqIAJBAWoiDTYCACAFIAJBKGxqIgUgAykC6AE3AgAgBUEgaiADQegBaiICQSBqKQIANwIAIAVBGGogAkEYaikCADcCACAFQRBqIAJBEGopAgA3AgAgBUEIaiACQQhqKQIANwIAIAMgAykC3AE3A9ABAn9BACANRQ0AGkEAIQoDQAJAAkACQAJAAkACQAJAAkACQCAKIA1JBEAgAygC1AEiFyAKQShsaiIQLQAkRQ0JIBAoAggiBUUNCSAQKgIMIR8gECgCBCECIBBBEGoqAgAhHSAFQQJ0IRJD//9//yEbQQAhCwNAIAIoAgAiBiAHTw0EIB8gBCAGQQN0aiIFKgIAlCAdIAVBBGoqAgCUkiIcIBteIQUgHCAbIAUbIRtBASALIAUbIQsgBiAMIAUbIQwgAkEEaiECIBJBBGsiEg0ACyALQQFHDQkgEEEkakEAOgAAIBAoAhgiCyANTw0EIBAoAhQiCCANTw0BIAcgDE0NBSAXIAtBKGxqIgZBIGooAgAiDiAHTw0GIBcgCEEobGoiBSgCHCEJIAQgDEEDdGopAgAiLKe+IhwgBCAOQQN0aiICKgIAkyIfIB+UICxCIIinviIbIAIqAgSTIh0gHZSSEJgBIR4gA0GYAWoiFiAMNgIAIAMgDjYClAEgAyALNgKQASADIA1BAWoiFTYCjAEgA0EANgKAASADQoCAgIDAADcCeCADIB5DAAAAAFw6AJwBIAMgHSAelbytIB+MIB6VvK1CIIaENwKEASAHIAlLDQIgCSAHQdSQwwAQ7QgACyAKIA1B0I7DABDtCAALIAggDUG0kMMAEO0IAAsgBCAJQQN0aikCACIsp74gHJMiHCAclCAsQiCIp74gG5MiGyAblJIQmAEhHSADQYgCaiIOIAk2AgAgBiANNgIUIAMgCDYC/AEgBSAVNgIYIAMgDDYChAIgAyANNgKAAkEAIQsgA0EANgLwASADQoCAgIDAADcC6AEgAyAdQwAAAABcOgCMAiADIBsgHZW8rSAcjCAdlbytQiCGhDcC9AEgECgCCCIFRQ0FIBAoAgQhAiAFQQJ0IQlBBCEIA0ACQCACKAIAIhAgDEYNACADKAKUASIGIAdPDSwgByAQTQ0GIAQgEEEDdGopAgAiLKe+IhwgBCAGQQN0aiIFKgIAkyADKgKEAZQgLEIgiKe+IhsgBSoCBJMgAyoCiAGUkkMAAEg3XkUEQCADKAKEAiIGIAdPDS0gHCAEIAZBA3RqIgUqAgCTIAMqAvQBlCAbIAUqAgSTIAMqAvgBlJJDAABIN15FDQEgAygC6AEgC0YEQCADQegBaiALELMGIAMoAvABIQsgAygC7AEhCAsgCCALQQJ0aiAQNgIAIAMgC0EBaiILNgLwAQwBCyADKAKAASISIAMoAnhGBEAgA0H4AGogEhCzBiADKAKAASESCyADKAJ8IBJBAnRqIBA2AgAgAyASQQFqNgKAAQsgAkEEaiECIAlBBGsiCQ0ACwwFCyAGIAdBhJ/DABDtCAALIAsgDUGkkMMAEO0IAAsgDCAHQdSQwwAQ7QgACyAOIAdB5JDDABDtCAALIBAgB0GEkcMAEO0IAAsgAygCzAEiAgRAQQAhBSADKALIASEJA0ACQCACIAVLBEACQCADKAKUASIGIAdJBEAgCSAFQQJ0aiIIKAIAIhAgB08NASAEIBBBA3RqKQIAIiynviIcIAQgBkEDdGoiBioCAJMgAyoChAGUICxCIIinviIbIAYqAgSTIAMqAogBlJJDAABIN15FBEAgAygChAIiBiAHTw0rIBwgBCAGQQN0aiIMKgIAkyADKgL0AZQgGyAMKgIEkyADKgL4AZSSQwAASDdeRQRAIAVBAWohBQwFCyADKALoASALRgRAIANB6AFqIAsQswYgAygC8AEhCwsgAygC7AEgC0ECdGogEDYCACAIIAkgAkEBayICQQJ0aigCADYCACADIAtBAWoiCzYC8AEMBAsgAygCgAEiDCADKAJ4RgRAIANB+ABqIAwQswYgAygCgAEhDAsgAygCfCAMQQJ0aiAQNgIAIAggCSACQQFrIgJBAnRqKAIANgIAIAMgDEEBajYCgAEMAwsMKQsgECAHQYSRwwAQ7QgACyAFIAJBxJDDABDtCAALIAIgBUcNAAsgAyACNgLMAQsgDSADKALQASIFRgRAIANB0AFqIA0QvgYgAygC2AEiDUEBaiEVIAMoAtABIQULIAMoAtQBIhcgDUEobGoiBiADKQJ4NwIAIAZBCGogA0H4AGoiAkEIaikCADcCACAGQRBqIAJBEGopAgA3AgAgBkEYaiACQRhqKQIANwIAIAZBIGogFikCADcCACADIBU2AtgBIAUgFUYEQCADQdABaiAVEL4GIAMoAtQBIRcgAygC2AEhFQsgFyAVQShsaiIFIAMpAugBNwIAIAVBIGogDikCADcCACAFQRhqIANB6AFqIgJBGGopAgA3AgAgBUEQaiACQRBqKQIANwIAIAVBCGogAkEIaikCADcCACADIBVBAWoiDTYC2AELIApBAWoiCiANRw0ACyADQQA2AvABIANCgICAgMAANwLoAUEAIA1FDQAaIBdBJGohBEEAIQIDQCAELQAABEBBACEFQQQhByACIQQDQAJAIAQgDUkEQCAXIARBKGxqIgYtACRFDQEgBigCHCEEIAMoAugBIAVGBEAgA0HoAWogBRCzBiADKALsASEHIAMoAvABIQULIAcgBUECdGogBDYCACADIAVBAWoiBTYC8AEMAQsgBCANQcCOwwAQ7QgACyAGKAIUIgQgAkcNAAsgAygC7AEhDiADKALoASEKIAMoAtQBIQYgAygC2AEiAgRAIAYhBANAIAQoAgAEQCAEQQRqKAIAEJUCCyAEQShqIQQgAkEBayICDQALCyADKALQAQRAIAYQlQILIAMoAsQBBEAgAygCyAEQlQILAkACQAJAIAVFBEBBACEJQQQhBAwBCyAFQarVqtUASw0OIAVBDGwiAkEASA0OQQAhCUGR+sMALQAAGiACQQQQowwiBEUNJSAFQQJ0IQwgBCECIA4hBwNAIAcoAgAiBiAPTw0CIAIgASAGQQxsaiIGKQIANwIAIAJBCGogBkEIaigCADYCACACQQxqIQIgCUEBaiEJIAdBBGohByAMQQRrIgwNAAsLIAoEQCAOEJUCCwJAIAVBAXRBBGsiBkUEQEEEIQsMAQsgBkGq1arVAEsNDiAGQQxsIgJBAEgNDkGR+sMALQAAGiACQQQQowwiC0UNAgtBACECIANBADYC8AEgAyALNgLsASADIAY2AugBQQIhByAFQQFrIgZBAk8EQANAIAMoAugBIAJGBEAgA0HoAWogAhCyBiADKALsASELIAMoAvABIQILIAsgAkEMbGoiDiAHNgIIIA4gB0EBazYCBCAOQQA2AgAgAyACQQFqIgI2AvABIAdBAWoiByAFRw0ACwsCQCAFQQJrIg0EQEEAIQwDQCADKALoASACRgRAIANB6AFqIAIQsgYgAygC8AEhAgsgAygC7AEiByACQQxsaiIOIAw2AgggDiAMQQFqIgw2AgQgDiAGNgIAIAMgAkEBaiICNgLwASAMIA1HDQALDAELIAMoAuwBIQcLIAMoAugBIQwgAygCbARAIAMoAnAQlQILIAxBgYCAgHhGDQgMDAsgBiAPQdSYwwAQ7QgACwwiCyAEQShqIQQgDSACQQFqIgJHDQALIA0LIgIgAkGwjsMAEO0IAAsgEUEYaiEEICAgESoCDCAblJIhICAcIBFBFGoqAgAgG5SSIRwgHSARQRBqKgIAIBuUkiEdCyAFQQxJDQADQCAgIAQqAgAgG5SSIARBDGoiBSoCACAblJIhICAcIAJBFGoqAgAgG5SSIARBFGoqAgAgG5SSIRwgHSACQRBqKgIAIBuUkiAEQRBqKgIAIBuUkiEdIAUhAiAWIARBGGoiBEcNAAsLIB+LIh8gIYsiGyAbIB9fGyIfIB6LIhsgGyAfXxshGyARIQQDQCAEIAQqAgAgIJMgG5U4AgAgBEEIaiICIAIqAgAgHJMgG5U4AgAgBEEEaiICIAIqAgAgHZMgG5U4AgAgFiAEQQxqIgRHDQALIBhBDGsiCEEMbkEBaiINQQFxIQYgAyoCRCEgIAMqAkAhHSADKgI8IR8CQCAIQQxJBEBD//9//yEeIBEhAgwBCyANQf7///8DcSEFQ///f/8hHiARIQIDQCAfIAIqAgCUIB0gAkEEaioCAJSSICAgAkEIaioCAJSSIhsgHl4hByAfIAJBDGoqAgCUIB0gAkEQaioCAJSSICAgAkEUaioCAJSSIhwgGyAeIAcbIhteIQ4gHCAbIA4bIR5BAUEBIAsgBxsgDhshCyAJQQFqIAkgBCAHGyAOGyEEIAJBGGohAiAFIAlBAmoiCUcNAAsLIAYEQEEBIAsgHyACKgIAlCAdIAIqAgSUkiAgIAIqAgiUkiAeXiICGyELIAkgBCACGyEECwJAIAsEQCANQQFxIQYgHYwhHQJAIAhBDEkEQEP//3//IR5BACELIBEhAkEAIQkMAQsgDUH+////A3EhBUP//3//IR5BACELIBEhAkEAIQkDQCACQQRqKgIAIB2UIB8gAioCAJSTICAgAkEIaioCAJSTIhsgHl4hByACQRBqKgIAIB2UIB8gAkEMaioCAJSTICAgAkEUaioCAJSTIhwgGyAeIAcbIhteIQ4gHCAbIA4bIR5BAUEBIAsgBxsgDhshCyAJQQFqIAkgCCAHGyAOGyEIIAJBGGohAiAFIAlBAmoiCUcNAAsLIAYEQEEBIAsgAioCBCAdlCAfIAIqAgCUkyAgIAIqAgiUkyAeXiICGyELIAkgCCACGyEICyALDQEgCCEEC0EBIQUMAQsCQCAEIA9JBEAgCCAPSQRAIBEgCEEMbGohByARIARBDGxqIQlBACEMQX8hC0MAAAAAISAgESECA0AgAioCBCEjIAIqAgAhJCACKgIIISUgByoCACIcIAkqAgAiIpMiGyAblCAHKgIEIiEgCSoCBCIekyIbIBuUkiAHKgIIIh8gCSoCCCIdkyIbIBuUkhCYASEbICQgHJMiHCAclCAjICGTIhwgHJSSICUgH5MiHCAclJIQmAEhHyAiICSTIhwgHJQgHiAjkyIcIByUkiAdICWTIhwgHJSSEJgBIR4CQAJAAkAgGyAfXkUEQCAbIB5eRQ0BIB8hHCAbIR0gHiEbDAMLIBsgHl4NASAeIRwgGyEdIB8hGwwCCyAfIB4gHiAfXSIFGyEcIB4gHyAFGyEdDAELIB8gHiAeIB9dIgUbIR0gGyEcIB4gHyAFGyEbC0MAAAAAQwAAAAAgHCAdIBuTkiAbIBwgHZMiH5IgGyAfkyAcIB0gG5KSlJSUIhsgG0MAAAAAXRsgGyAbXBsQmAFDAACAPpQiGyAgXiEFIBsgICAFGyEgIAwgCyAFGyELIAxBAWohDCAWIAJBDGoiAkcNAAsMAgsgCCAPQcSYwwAQ7QgACyAEIA9BtJjDABDtCAALIAtBf0cNAUESIQlBkpjDACEEQQAhBQsgACAFNgIEIABBgICAgHg2AgAgAEEMaiAJNgIAIABBCGogBDYCAAwTCyADQfgAaiIFIAQgCCALIBEgDxCjBCADQegBaiICIAggBCALIBEgDxCjBCAFQShqQoKAgIAQNwIAIAVBIGpCATcCACACQShqQoKAgIAQNwIAIAJBIGpCADcCACADQoGAgIAQNwKQASADQgA3AoACQZH6wwAtAAAaQZABQQQQowwiBARAIAQgA0H4AGpByAAQow0iDEHIAGogA0HoAWpByAAQow0aIBEgC0EMbGohCCARIQJBBCEXQQAhBQNAAkACQCACKgIAIhwgCSoCAFwNACACQQRqKgIAIAkqAgRcDQAgAkEIaioCACAJKgIIWw0BCwJAIBwgByoCAFwNACACQQRqKgIAIAcqAgRcDQAgAkEIaioCACAHKgIIWw0BCwJAIAsgD0kEQAJAIBwgCCoCAFwNACACQQRqKgIAIAgqAgRcDQAgAkEIaioCACAIKgIIWw0DCwJ/IAwtAEUEQEMAAAAAISBBfwwBCyAPIAwoAjAiDU0NAiAcIBEgDUEMbGoiBioCAJMgDCoCDJQgAkEEaioCACAGKgIEkyAMKgIQlJIgAkEIaioCACAGKgIIkyAMKgIUlJIiG0MAAAAAXkUgG0MAAEg3XXIhBkMAAAAAIBsgBhshIEEAIAZrCyEGAkACQCAMLQCNAQ0AIA8gDCgCeCINTQ0DIBwgESANQQxsaiIOKgIAkyAMKgJUlCACQQRqKgIAIA4qAgSTIAwqAliUkiACQQhqKgIAIA4qAgiTIAwqAlyUkiIbQwAASDddDQBBASENIBsgIF4NAQtBACENIAZBf0cNACADKAIMIApGBEAgA0EMaiAKELMGIAMoAhAhFyADKAIUIQoLIBcgCkECdGogBTYCACADIApBAWoiCjYCFAwDCyAMIA1ByABsaiAFIBEgDxDcBQwCCyALIA9BpJjDABDtCAALIA0gD0GYm8MAEO0IAAsgAkEMaiECIA8gBUEBaiIFRw0AC0EAIAwQ4AFBASAMEOABQYCAgIB4IQxBAgwCC0EEQZABQdiAxAAoAgAiAEGjByAAGxEAAAALAkAgBSAPSQRAQZH6wwAtAAAaQRhBBBCjDCIERQ0aIAQgAykD6AE3AgAgBEEIaiADQfABaigCADYCACAEIAEgBUEMbGoiAikCADcCDCAEQRRqIAJBCGooAgA2AgBBkfrDAC0AABpBGEEEEKMMIgcNAQwaCyAFIA9B9PLCABDtCAALIAdCgICAgBA3AgggB0KAgICAEDcCACAHQRBqQgA3AgBBAiEMQQILIQVBAiECIAUhCQsgDEGAgICAeEcNASADIAk2AjggAyAENgI0IAMgBTYCMCAJRQRAQQAhAiADQQA2AkQgA0KAgICAwAA3AjwMFQsgD0ECdCEaQQAhBQNAIAkgBSAFIAlJGyEOIAVByABsIQIgBSEMAkACQAJAAkACQAJAAkADQCAMIA5GDRkCQCACIARqIghBxABqIgYtAABFDQAgCEHFAGotAAANAEEAIQcgA0EANgIgIAhBCGooAgAiBUUNByAIQQRqKAIAIQcgBUECdCEXIAhBFGoqAgAhHiAIQRBqKgIAIR8gCEEMaioCACEdQ///f/8hG0EAIQoDQCAHKAIAIg4gD08NBCAdIBEgDkEMbGoiBSoCAJQgHyAFKgIElJIgHiAFKgIIlJIiHCAbXiESIBwgGyASGyEbQQEgCiASGyEKIA4gDSASGyENIAdBBGohByAXQQRrIhcNAAtBACEHIApBAUYNAgwHCyACQcgAaiECIAxBAWoiDCAJRw0AC0EAIQcMGgsgBkEAOgAAIANBADYCLCADKAIkRQRAIANBJGpBABCzBiADKAIsIQcLIAMoAiggB0ECdGogDDYCACADIAdBAWo2AiwgCEEYaigCACAIQSRqKAIAIA0gA0EYaiIGIBEgDyADQSRqIgUgBCAJENsCIAhBHGooAgAgCEEoaigCACANIAYgESAPIAUgBCAJENsCIAhBIGooAgAgCEEsaigCACANIAYgESAPIAUgBCAJENsCIBpBAEgNBwJAIBoQNiIURQ0AIBRBBGstAABBA3FFDQAgFEEAIBoQog0aCyAURQ0BIAMoAiAiEARAIAMoAhwiDiAQQQN0aiELQQAhByAOIQUDQAJAIAUoAgAiBiAJSQRAIAQgBkHIAGxqIAVBBGooAgBBAWpBA3BBAnRqQTBqKAIAIgYgD0kNASAGIA9BxJTDABDtCAALIAYgCUG0lMMAEO0IAAsgFCAGQQJ0aiIGKAIAQQFqIQogBiAKNgIAIApBAUogB3IhByALIAVBCGoiBUcNAAsgDiEGIAdBAXENAwwECyAUEJUCDBQLIA4gD0GEn8MAEO0IAAtBBCAaQdiAxAAoAgAiAEGjByAAGxEAAAALAkACQAJAAkACQAJAAkACQAJAAkADQEEAIRUgBiALRgRAQQAhEgwLCyAGKAIAIgUgCU8NAiAEIAVByABsaiIFIAYoAgQiCkEBakEDcEECdGpBMGooAgAiCCAPTw0DIApBA08NBCAFIApBAnRqQTBqKAIAIgUgD08NByAGQQhqIQYgESAFQQxsaiIKKgIIIBEgCEEMbGoiBSoCCJMhHiAKKgIEIAUqAgSTIR8gCioCACAFKgIAkyEdQ///f/8hG0EAIQggDiEFQQAhBwNAIAUoAgAiCiAJTw0GIAQgCkHIAGxqIAVBBGooAgBBAWpBA3BBAnRqQTBqKAIAIgogD08NByAdIBEgCkEMbGoiCioCAJQgHyAKKgIElJIgHiAKKgIIlJIiHCAbXiEKIBwgGyAKGyEbQQEgCCAKGyEIIAcgEiAKGyESIAdBAWohByALIAVBCGoiBUcNAAsgCEUNASAQIBJNDQggDiASQQN0aiIFKAIAIgogCU8NCSAEIApByABsaiAFKAIEQQFqQQNwQQJ0akEwaigCACIFIA9JBEAgFCAFQQJ0aigCAEEBRw0BDAsLCyAFIA9B9JPDABDtCAALIBQQlQIgAEEIaiASrTcCACAAQQE2AgQgAygCOCEFIAMoAjQhBAwbCyAFIAlBpJPDABDtCAALIAggD0G0k8MAEO0IAAsgCkEDQYibwwAQ7QgACyAKIAlB1JTDABDtCAALIAogD0GUn8MAEO0IAAsgBSAPQcSTwwAQ7QgACyASIBBB1JPDABDtCAALIAogCUHkk8MAEO0IAAsgA0IENwIcIAMoAhghFiADQQA2AhhBASAQIBBBAU0bIQhBBCEZQQAhCwNAIA4gEiAQcEEDdGoiBSgCBCEHIAUoAgAhEwJ/AkACQAJAIAtBAUYEQCAJIBNLBEAgBiAEIBNByABsaiAHQQFqQQNwQQJ0akEwaigCAEYNBCAGIQoMAgsgEyAJQYSUwwAQ7QgACyAJIBNNDQEgDyAEIBNByABsaiAHQQFqQQNwQQJ0akEwaigCACIKTQRAIAogD0GklMMAEO0IAAsgFCAKQQJ0aigCAEEBTA0CCyAEIBNByABsaiIFLQBEBEAgBUHEAGpBADoAACADKAIsIgcgAygCJEYEQCADQSRqIAcQswYgAygCLCEHCyADKAIoIAdBAnRqIBM2AgAgAyAHQQFqNgIsCyAKIQZBAQwCCyATIAlBlJTDABDtCAALIAMoAhggFUYEQCADQRhqIBUQsAYgAygCHCEZIAMoAiAhFQsgGSAVQQN0aiIFIAc2AgQgBSATNgIAIAMgFUEBaiIVNgIgQQALIQsgEkEBaiESIAhBAWsiCA0ACyAWRQ0AIA4QlQILIAMoAiAhFSAUEJUCIBVFDRAgFUHxuJwOSw0DIBVByABsIgJBAEgNAyADKAIsIRAgAygCKCEZIAMoAhwhBUGR+sMALQAAGgJAAkAgAkEEEKMMIgoEQEEAIQggA0EANgKAASADIAo2AnwgAyAVNgJ4IAUgFUEDdGohDiADKAI0IRMgAygCOCEUIAUhBANAIAQoAgAiAiAUTwRAIAIgFEHglsMAEO0IAAsgBEEEaigCACIGQQNPDQIgA0HoAWogDSATIAJByABsaiICIAZBAWpBA3BBAnRqQTBqKAIAIAIgBkECdGpBMGooAgAgESAPEKMEIAggAygCeEYEQCADQfgAaiELIwBBIGsiByQAAkACQCAIQQFqIgZFDQBBBCALKAIAIghBAXQiAiAGIAIgBksbIgIgAkEETRsiCkHIAGwhBiAKQfK4nA5JQQJ0IQICQCAIRQRAIAdBADYCGAwBCyAHQQQ2AhggByAIQcgAbDYCHCAHIAsoAgQ2AhQLIAdBCGogAiAGIAdBFGoQ4QYgBygCDCECIAcoAghFBEAgCyAKNgIAIAsgAjYCBAwCCyACQYGAgIB4Rg0BIAJFDQAgAiAHQRBqKAIAQdiAxAAoAgAiAEGjByAAGxEAAAALEO4KAAsgB0EgaiQAIAMoAoABIQggAygCfCEKCyAIIgJByABsIApqIANB6AFqQcgAEKMNGiADIAJBAWoiCDYCgAEgDiAEQQhqIgRHDQALDAILDBwLIAZBA0GIm8MAEO0IAAsgCEUNCCAFKAIEIQcgBSgCACEJIApBAjYCJCAKQSxqQQA2AgAgCkEoaiAHNgIAIApBHGogCTYCACAKQSBqIBQgFUEBR2o2AgAgCiAUIBVqQQFrNgIYIAkgFE8NByAHQQJLDQYgFCATIAlByABsaiAHQQJ0aiIGQRhqIgQoAgAiCU0NBSATIAlByABsai0ARA0BIAQgFDYCACAGQSRqQQE2AgAgFUEBRwRAQQEgFWshFiAFQQxqIQtBACACayEOQQIhBANAIAQgDmpBAkYNCiALQQRrKAIAIQkgCygCACEHIApB9ABqQQA2AgAgCkHwAGogBzYCACAKQewAakECNgIAIApB5ABqIAk2AgAgCkHgAGogBCAUaiIGQQJrNgIAIApB6ABqIARBACAEIBVHGyAUajYCACAJIBRPDQkgB0EDTw0IIBQgEyAJQcgAbGogB0ECdGoiBUEYaiICKAIAIglNDQcgEyAJQcgAbGotAEQNAyACIAZBAWs2AgAgBUEkakEBNgIAIAtBCGohCyAKQcgAaiEKIBYgBEEBaiIEakECRw0ACyADKAKAASEIIAMoAnwhCgsCQCAQRQ0AIBBBAnQhAiADKAI0IRYgDSAPSQRAIAIgGWohCSARIA1BDGxqIRAgCEHIAGwhDiAKQcUAaiEGA0AgFCAZKAIAIgRNDQ8gFiAEQcgAbGoiBCgCCCICBEAgBCgCBCISIAJBAnRqIQcDQCAPIBIoAgAiF00NEwJAAkAgESAXQQxsaiITKgIAIh0gECoCAFwNACATKgIEIBAqAgRcDQAgEyoCCCAQKgIIWw0BCyAIRQ0AQQAhAkF/IQtDAAAAACEbIA4hBSAGIQQDQAJAIAQtAAANACAEQRVrKAIAIg0gD08NESAdIBEgDUEMbGoiDSoCAJMgBEE5ayoCAJQgEyoCBCANKgIEkyAEQTVrKgIAlJIgEyoCCCANKgIIkyAEQTFrKgIAlJIiHCAbXkUNACACIQsgHCEbCyACQQFqIQIgBEHIAGohBCAFQcgAayIFDQALIAtBf0YNACAIIAtNDRAgCiALQcgAbGoiBC0ARQ0AIAQoAjAiAiAPTw0RIB0gESACQQxsaiICKgIAkyAEKgIMlCATKgIEIAIqAgSTIARBEGoqAgCUkiATKgIIIAIqAgiTIARBFGoqAgCUkkMAAEg3XQ0AIAQgFyARIA8Q3AULIAcgEkEEaiISRw0ACwsgCSAZQQRqIhlHDQALDAELA0AgFCAZKAIAIgRNDQ4gFiAEQcgAbGoiBCgCCA0PIBlBBGohGSACQQRrIgINAAsLIAMoAhQiDQRAIApBxQBqIQkgCEHIAGwhBiAKQTBqIQ5BACESIAMoAhAhEANAAkACQAJAIA0gEksEQAJAIAhFDQAgBiECIA4hBCAQIBJBAnRqIhYoAgAiFCAPSQRAIBEgFEEMbGohE0EAIQJBfyELQwAAAAAhGyAGIQUgCSEEA0AgBC0AAEUEQCAPIARBFWsoAgAiB00NBSACIAsgEyoCACARIAdBDGxqIgsqAgCTIARBOWsqAgCUIBMqAgQgCyoCBJMgBEE1ayoCAJSSIBMqAgggCyoCCJMgBEExayoCAJSSIhxDAABIN11Bf3MgGyAcXXEiBxshCyAcIBsgBxshGwsgAkEBaiECIARByABqIQQgBUHIAGsiBQ0ACyALQX9GDQEgCCALTQ0EIAogC0HIAGxqIBQgESAPENwFIBYgECANQQFrIg1BAnRqKAIANgIADAULA0AgBEEVai0AAEUEQCAPIAQoAgAiB00NBCAUIA9BqJvDABDtCAALIARByABqIQQgAkHIAGsiAg0ACwsgEkEBaiESDAMLIBIgDUHklMMAEO0IAAsgByAPQZibwwAQ7QgACyALIAhB9JTDABDtCAALIA0gEkcNAAsgAyANNgIUCyAIIAMoAjAgAygCOCICa0sEQCADQTBqIAIgCBClBiADKAI4IQILIAMoAjQiBCACQcgAbGogCiAIQcgAbBCjDRogAyACIAhqIgk2AjggAygCeARAIAoQlQILIAMoAiAhBwsgDEEBaiEFIAlBAWsgDEYNEwwBCwtBhJbDAEHKAEHQlsMAELkKAAsQ7goACyAAIAw2AgwgACAJNgIIIAAgBDYCBCAAIAU2AgAgACAHrSACrUIghoQ3AhAMDQsgCSAUQfSVwwAQ7QgACyAHQQNB5JXDABDtCAALIAkgFEHUlcMAEO0IAAsgCCAIQcSVwwAQ7QgACyANIA9B+JrDABDtCAALIAsgCEG0lcMAEO0IAAsgAiAPQZibwwAQ7QgACyAEIBRBhJXDABDtCAALIA8gBCgCBCgCACIXSw0BCyAXIA9BlJXDABDtCAALIA0gD0GklcMAEO0IAAsCQAJAIAMoAjgiBSAMQQFqIgRPBEAgAygCNCEEIAwgBUEBa0cEQCAFQcgAbEHIAGshDkEAIQsgAiEJA0AgBCAJaiIGQYwBai0AAARAIAZBjQFqLQAARSALciELCyAOIAlByABqIglHDQALIAtBAXENAwsgBSAMTQ0BIAIgBGpBxABqQQE6AAAgA0EANgJEIANCgICAgMAANwI8IAQgBUHIAGxqDAgLIAQgBUGEk8MAEOwIAAsgDCAFQciSwwAQ7QgACyAAQQA2AgQgAEEMakErNgIAIABBCGpB2JLDADYCAAsgAEGAgICAeDYCACAFBEAgBCECA0AgAigCAARAIAJBBGooAgAQlQILIAJByABqIQIgBUEBayIFDQALCyADKAIwRQ0AIAQQlQILIAMoAiQEQCADKAIoEJUCCyADKAIYBEAgAygCHBCVAgsgAygCDARAIAMoAhAQlQILIBEQlQIMBQsgDiAJQbiSwwAQ7QgACyAMQQFqIQkLIAMgBzYCIEEAIQIgA0EANgJEIANCgICAgMAANwI8IAlFDQEgBCAJQcgAbGoLIQVBACECQQQhEgNAIARBxABqLQAABEAgBEE4aigCACEKIARBNGooAgAhDiAEQTBqKAIAIQYgAygCPCACRgRAIANBPGogAhCyBiADKAJAIRIgAygCRCECCyASIAJBDGxqIgggCjYCCCAIIA42AgQgCCAGNgIAIAMgAkEBaiICNgJECyAFIARByABqIgRHDQALC0GR+sMALQAAGiAYQQQQowwiBEUNAyAEIAEgGBCjDSEBIANB+ABqIg1BCGoiDCAPNgIAIAMgATYCfCADIA82AnggAygCQCEFIAIhBEEAIQICQAJAAkACQAJAAn8gDSgCCCIIBEAgCEEASA0CQZH6wwAtAAAaIAhBARCjDCIKRQ0DIApBACAIEKINGiAIQf////8BSw0CIAhBAnQiAUEASA0CQZH6wwAtAAAaIAFBBBCjDCIGRQ0EIAhBB3EhDiAIQQFrQQdPBEAgCEF4cSELIAYhAQNAIAEgAjYCACABQRxqIAJBB2o2AgAgAUEYaiACQQZqNgIAIAFBFGogAkEFajYCACABQRBqIAJBBGo2AgAgAUEMaiACQQNqNgIAIAFBCGogAkECajYCACABQQRqIAJBAWo2AgAgAUEgaiEBIAsgAkEIaiICRw0ACwsgDgRAIAYgAkECdGohAQNAIAEgAjYCACABQQRqIQEgAkEBaiECIA5BAWsiDg0ACwsgBSAEQQxsaiIOIAQNARpBASEHIAhFDQYMBQsgBEUNBUEBIQpBBCEGIAUgBEEMbGoLIQ4gBSECAkACQAJAA0AgAigCACIBIAhPDQEgASAKakEBOgAAIAJBBGooAgAiASAITw0CIAEgCmpBAToAACACQQhqKAIAIgEgCE8NAyABIApqQQE6AAAgDiACQQxqIgJHDQALQQAhBwwGCyABIAhBjKrDABDtCAALIAEgCEGcqsMAEO0IAAsgASAIQayqwwAQ7QgACxDuCgALQQEgCEHYgMQAKAIAIgBBowcgABsRAAAAC0EEIAFB2IDEACgCACIAQaMHIAAbEQAAAAsgDSgCBCEPQQAhAiAIIQECQAJAA0ACQAJAAkAgAiAISQRAIAIgCmoiCS0AAEUNASACQQFqIQIMAgsgAiAIQeypwwAQ7QgACyABIAJNDQEgDSABQQFrIgE2AgggDyABQQxsaiILKQIAISwgDyACQQxsaiIEQQhqIAtBCGooAgA2AgAgBCAsNwIAIAEgCE8NAyAGIAFBAnRqIAI2AgAgCSABIApqLQAAOgAACyABIAJHDQEMAwsLIAIgAUHUi8IAEOoIAAsgASAIQfypwwAQ7QgACwJAAkACQCAHRQRAA0AgBSgCACIBIAhPDQMgBSAGIAFBAnRqKAIANgIAIAVBBGoiASgCACICIAhPDQQgASAGIAJBAnRqKAIANgIAIAVBCGoiASgCACICIAhPDQIgASAGIAJBAnRqKAIANgIAIA4gBUEMaiIFRw0ACwsgBhCVAiAKEJUCDAMLIAIgCEHcqcMAEO0IAAsgASAIQbypwwAQ7QgACyACIAhBzKnDABDtCAALIANB6AFqIgJBCGoiASAMKAIANgIAIANB/AFqIANBxABqKAIANgIAIAAgAykCeDcCACADIAMpAjw3AvQBIABBCGogASkDADcCACAAQRBqIAJBEGopAwA3AgAgAygCNCEAIAMoAjgiAgRAIAAhBANAIAQoAgAEQCAEQQRqKAIAEJUCCyAEQcgAaiEEIAJBAWsiAg0ACwsgAygCMARAIAAQlQILIAMoAiQEQCADKAIoEJUCCyADKAIYBEAgAygCHBCVAgsgAygCDARAIAMoAhAQlQILIBEQlQILIANBsAJqJAAPC0EEQRhB2IDEACgCACIAQaMHIAAbEQAAAAtBBCACQdiAxAAoAgAiAEGjByAAGxEAAAALQQQgGEHYgMQAKAIAIgBBowcgABsRAAAACyAGIAdB9JDDABDtCAALyV0DIn8efQR+IwBB8ABrIgwkACAHIAhBA3RqISQCQAJAAkACQAJAAkAgCEUNACAAQTRqKAIABEAgAEEoaigCACIiQQRrISUgAEEUaigCACEmIABBGGooAgAhHCAAQSxqKAIAIRkgAEEkaigCACEfIABBIGooAgAhJyAAKAIEISAgACgCCCEYIAchFANAIBRBBGooAgAiESAUKAIAIg1BufPd8XlsQQV3c0G5893xeWwiCkEZdq1CgYKEiJCgwIABfiFMIBRBCGohFEEAIRICQAJAAkADQCAKIBlxIgogImopAAAiSyBMhSJKQoGChIiQoMCAAX0gSkJ/hYNCgIGChIiQoMCAf4MhSgNAIEpQBEAgSyBLQgGGg0KAgYKEiJCgwIB/g0IAUg0FIAogEkEIaiISaiEKDAILICUgSnqnQQN2IApqIBlxQQJ0aygCACILIB9PDQIgSkIBfSBKgyFKICcgC0EEdGoiCygCACANRw0AIAtBBGooAgAgEUcNAAsLIAsoAgwiCkF/Rg0CIAogGEkEQCAgIApBLGxqIgotACgiCyAcTw0CIApBHGoiDSoCACExIApBIGoqAgAhMCANQv////f3/////gA3AgAgCkEUaiINKgIAISwgCkEYaioCACEvIA1C////9/f////+ADcCACAKQRBqKgIAITIgCioCDCEtIApC////9/f////+ADcCDAJ/IC0gJiALQQZ0aiIOKgI0Ii2VjiIui0MAAABPXQRAIC6oDAELQYCAgIB4CyEKIC8gLZWOIi9DAAAAz2AhCyAKQYCAgIB4IC5DAAAAz2AbIQ0gLkP///9OXiERAn8gL4tDAAAAT10EQCAvqAwBC0GAgICAeAtBgICAgHggCxshCyAvQ////05eIQ8CfyAwIC2VjiIwi0MAAABPXQRAIDCoDAELQYCAgIB4CyEKQf////8HIA0gERshDSAuIC5cIRFB/////wcgCyAPGyELIC8gL1whEAJ/IDEgLZWOIi6LQwAAAE9dBEAgLqgMAQtBgICAgHgLIQ9BACANIBEbIRFBACALIBAbIRYCfyAsIC2VjiIvi0MAAABPXQRAIC+oDAELQYCAgIB4CyELIBEgFkohEAJ/IDIgLZWOIi2LQwAAAE9dBEAgLagMAQtBgICAgHgLIQ0gEA0DQf////8HIA1BgICAgHggLUMAAADPYBsgLUP///9OXhtBACAtIC1bGyINQf////8HIA9BgICAgHggLkMAAADPYBsgLkP///9OXhtBACAuIC5bGyIXSgRAA0AgESAWTg0FIBYgESARIBZIaiIRTg0ADAULAAtB/////wcgC0GAgICAeCAvQwAAAM9gGyAvQ////05eG0EAIC8gL1sbIg9B/////wcgCkGAgICAeCAwQwAA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NwPABiABQdgAaioCACF3IAFB3ABqKgIAIXggAUHgAGoqAgAheSABQeQAaioCACF6IAFB6ABqKgIAIXsgAUHsAGoqAgAhfCABQfAAaioCACF9IAFB9ABqKgIAIX4gAUH4AGoqAgAhfyABQfwAaioCACGAASABQYABaioCACGBASABQYQBaioCACGCASABQYgBaioCACGDASABQYwBaioCACGEASABQZABaioCACGFASABQZQBaioCACGGASABQZgBaioCACGHASABQZwBaigCACEsIARBuAZqIi0gAUGoAWooAgA2AgAgBCABQaABaikCADcDsAYgAUGsAWoqAgAhiAEgBEGYBmoiAkEQaiIuIAFBwAFqKQMANwMAIAJBCGoiLyABQbgBaikDADcDACAEIAFBsAFqKQMANwOYBiABQcgBaioCACGJASABQcwBaioCACGKASABQdABaioCACGLASABQdQBaioCACGMASAEQZAGaiIwIAFB4AFqKQMANwMAIAQgAUHYAWopAwA3A4gGIAFB6AFqKgIAIY0BIAFB7AFqKgIAIY4BIAFB8AFqLQAAITEgBEHwBWoiAkEPaiIyIAFBgAJqKAAANgAAIAJBCGoiMyABQfkBaikAADcDACAEIAFB8QFqKQAANwPwBSABQYQCaioCACGPASABQYgCaioCACGQASABQYwCai0AACE0IARB2AVqIgJBD2oiNSABQZwCaigAADYAACACQQhqIjYgAUGVAmopAAA3AwAgBCABQY0CaikAADcD2AUgAUGgAmoqAgAhkQEgAUGkAmoqAgAhkgEgAUGoAmotAAAhNyAEQcAFaiICQQ9qIjggAUG4AmooAAA2AAAgAkEIaiI5IAFBsQJqKQAANwMAIAQgAUGpAmopAAA3A8AFIAFBvAJqKgIAIZMBIAFBwAJqKgIAIZQBIAFBxAJqLQAAITogBEGoBWoiAkEPaiI7IAFB1AJqKAAANgAAIAJBCGoiPCABQc0CaikAADcDACAEIAFBxQJqKQAANwOoBSABQdgCaioCACGVASABQdwCaioCACGWASABQeACai0AACE9IARBkAVqIgJBD2oiPiABQfACaigAADYAACACQQhqIj8gAUHpAmopAAA3AwAgBCABQeECaikAADcDkAUgAUH0AmoqAgAhlwEgAUH4AmoqAgAhmAEgAUH8Amot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NwMAIAFBGGogC0EYaikAADcDACABQRBqIAtBEGopAAA3AwAgAUEIaiALQQhqKQAANwMAIAogGS8AADsB3AQgCiALKQAANwOYBCAKLQCQByEMIAotAJwHIQEgCikClAchXiAKLQDcByEFIApB2ANqIgdBN2ogBkE3aikAADcAACAHQTBqIAZBMGopAAA3AwAgB0EoaiAGQShqKQAANwMAIAdBIGogBkEgaikAADcDACAHQRhqIAZBGGopAAA3AwAgB0EQaiAGQRBqKQAANwMAIAdBCGogBkEIaikAADcDACAKIAYpAAA3A9gDIAotAJwIIQggCkGYA2oiB0E3aiAEQTdqKQAANwAAIAdBMGogBEEwaikAADcDACAHQShqIARBKGopAAA3AwAgB0EgaiAEQSBqKQAANwMAIAdBGGogBEEYaikAADcDACAHQRBqIARBEGopAAA3AwAgB0EIaiAEQQhqKQAANwMAIAogBCkAADcDmAMgCi0A3AghByAKQZYDaiAYQQJqLQAAOgAAIAogGC8AADsBlAMMAgsgASAbQYDdwAAQ7QgACyAKQegEaiAgQQhqKAIANgIAIAogICkCADcD4ARBBCEHIAooApAGIQlBBCEIQQQhBUEEIQELIAlB/wFxQQJHBEAgA0H4AGohDyAKIDE4AqwFIAogLzgCqAUgCiAuOAKkBSAKIC04AqAFIApB4AZqIg5BKGogDUEoaikCADcDACAOQSBqIA1BIGopAgA3AwAgDkEYaiANQRhqKQIANwMAIA5BEGogDUEQaikCADcDACAOQQhqIA1BCGopAgA3AwAgCiAMOgCQByAKIA0pAgA3A+AGIBkgCi8B3AQ7AAAgGUECaiAKQd4Eai0AADoAACAKIAE6AJwHIAogXjcClAcgC0E3aiAKQZgEaiIBQTdqKQAANwAAIAtBMGogAUEwaikDADcAACALQShqIAFBKGopAwA3AAAgC0EgaiABQSBqKQMANwAAIAtBGGogAUEYaikDADcAACALQRBqIAFBEGopAwA3AAAgC0EIaiABQQhqKQMANwAAIAsgCikDmAQ3AAAgCiAFOgDcByAGQTdqIApB2ANqIgFBN2opAAA3AAAgBkEwaiABQTBqKQMANwAAIAZBKGogAUEoaikDADcAACAGQSBqIAFBIGopAwA3AAAgBkEYaiABQRhqKQMANwAAIAZBEGogAUEQaikDADcAACAGQQhqIAFBCGopAwA3AAAgBiAKKQPYAzcAACAKIAg6AJwIIARBN2ogCkGYA2oiAUE3aikAADcAACAEQTBqIAFBMGopAwA3AAAgBEEoaiABQShqKQMANwAAIARBIGogAUEgaikDADcAACAEQRhqIAFBGGopAwA3AAAgBEEQaiABQRBqKQMANwAAIARBCGogAUEIaikDADcAACAEIAopA5gDNwAAIAogBzoA3AggGEECaiAKQZYDai0AADoAACAYIAovAZQDOwAAIAlBFXZBCHEgCUEOdkEEcSAJQQd2QQJxIAlBAXFycnKtIV9CACFdA0ACQCBfIF2IQgGDUA0AIF2nIQEgDy0AAEEBcQRAIAFBAnQiByAKQaAFamoqAgAiLSA2XUUNASAKQeAGaiABQQZ0aiIFLQA8IgFBBEYNASADIAdqQeAAaigCACASTw0BIBAgBSkAADcAACAQQThqIAVBOGooAAA2AAAgEEEwaiAFQTBqKQAANwAAIBBBKGogBUEoaikAADcAACAQQSBqIAVBIGopAAA3AAAgEEEYaiAFQRhqKQAANwAAIBBBEGogBUEQaikAADcAACAQQQhqIAVBCGopAAA3AAAgCkHGAmogBUE/ai0AADoAACAKIAUvAD07AcQCIApByAJqIgJBN2ogCkGwBWoiBUE3aikAADcAACACQTBqIAVBMGopAAA3AwAgAkEoaiAFQShqKQAANwMAIAJBIGogBUEgaikAADcDACACQRhqIAVBGGopAAA3AwAgAkEQaiAFQRBqKQAANwMAIAJBCGogBUEIaikAADcDACAKIAopALAFNwPIAiABIQIgLSE2DAELIAFBAnQiASADakHgAGooAgAiByAbTw0AIApBoAVqIAFqKgIAjCEtIAooAsACIgkhBSAKKAK4AiAJRgRAIApBuAJqIAkQsAYgCigCwAIhBQsgCigCvAIiASAFQQN0aiIIIC04AgQgCCAHNgIAIAogBUEBajYCwAIgASAJQQN0aiIFKgIEIS0gBSgCACEHAkAgCUUEQEEAIQUMAQsDQCAtIAEgCUEBayIIQQF2IgVBA3RqIg5BBGoqAgBeRQRAIAkhBQwCCyABIAlBA3RqIA4pAgA3AgAgBSEJIAhBAUsNAAsLIAEgBUEDdGoiASAtOAIEIAEgBzYCAAsgXUIBfCJdQgRSDQALIApBiANqIApBuAJqENsDIAooAogDDQEMAgsLAkAgDEEERwRAIApBggpqIApB3gRqLQAAOgAAIAogCi8B3AQ7AYAKIApBmwdqIApBmAVqKAIANgAAIApBkwdqIApB4ARqIgFBMGopAwA3AAAgCkGLB2ogAUEoaikDADcAACAKQYMHaiABQSBqKQMANwAAIApB+wZqIAFBGGopAwA3AAAgCkHzBmogAUEQaikDADcAACAKQesGaiABQQhqKQMANwAAIAogCikD4AQ3AOMGIApBsAVqIgFBN2ogCkHgBmoiAkE3aikAADcAACABQTBqIAJBMGopAAA3AwAgAUEoaiACQShqKQAANwMAIAFBIGogAkEgaikAADcDACABQRhqIAJBGGopAAA3AwAgAUEQaiACQRBqKQAANwMAIAFBCGogAkEIaikAADcDACAKIAopAOAGNwOwBSAMIQIMAQsgCkGwBWoiAUE3aiAKQcgCaiIDQTdqKQAANwAAIAFBMGogA0EwaikDADcDACABQShqIANBKGopAwA3AwAgAUEgaiADQSBqKQMANwMAIAFBGGogA0EYaikDADcDACABQRBqIANBEGopAwA3AwAgAUEIaiADQQhqKQMANwMAIApBggpqIApBxgJqLQAAOgAAIAogCikDyAI3A7AFIAogCi8BxAI7AYAKCyAKKAK4AkUNASAKKAK8AhCVAgwBCyAKQbAFaiIBQQhqIApByAJqIgNBCGopAwA3AwAgAUEQaiADQRBqKQMANwMAIAFBGGogA0EYaikDADcDACABQSBqIANBIGopAwA3AwAgAUEoaiADQShqKQMANwMAIAFBMGogA0EwaikDADcDACABQTdqIANBN2opAAA3AAAgCkGCCmogCkHGAmotAAA6AAAgCiAKKQPIAjcDsAUgCiAKLwHEAjsBgAogCigCuAJFDQAgCigCvAIQlQILIAJB/wFxQQRHDQELIABBBDoAPAwBCyAAIAopALMFNwAAIAAgCi8BgAo7AD0gAEE4aiAKQesFaigAADYAACAAQTBqIApB4wVqKQAANwAAIABBKGogCkHbBWopAAA3AAAgAEEgaiAKQdMFaikAADcAACAAQRhqIApBywVqKQAANwAAIABBEGogCkHDBWopAAA3AAAgAEEIaiAKQbsFaikAADcAACAAQT9qIApB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CCADQQRqKgIAIQsgAyoCACEKIAEoAgAgAGtBA00EQCABIABBBBDMBiABKAIIIQALIAEoAgQgAGogCjgAACABIABBBGoiADYCCCABKAIAIABrQQNNBEAgASAAQQQQzAYgASgCCCEACyABIABBBGo2AgggASgCBCAAaiALOAAADAcLIAkoAgwhAyABKAIAIgIoAgghACACKAIAIABrQQNNBEAgAiAAQQQQzAYgAigCCCEACyACIABBBGo2AgggAigCBCAAakENNgAAIAMgARDiBiIADQcgAyoCDCEKIAIoAgAgAigCCCIBa0EDTQRAIAIgAUEEEMwGIAIoAgghAQsgAiABQQRqNgIIIAIoAgQgAWogCjgAAAwGCyAJKAIMIQMgASgCACICKAIIIQAgAigCACAAa0EDTQRAIAIgAEEEEMwGIAIoAgghAAsgAiAAQQRqNgIIIAIoAgQgAGpBDjYAACADIAEQ4gYiAA0GIANBDGogARDiBiIADQYgA0EYaiABEOIGIgANBiADKgIkIQogAigCACACKAIIIgFrQQNNBEAgAiABQQQQzAYgAigCCCEBCyACIAFBBGo2AgggAigCBCABaiAKOAAADAULIAkoAgwhAyABKAIAIgEoAgghACABKAIAIABrQQNNBEAgASAAQQQQzAYgASgCCCEACyABKAIEIABqQQ82AAAgASAAQQRqIgA2AgggAyoCBCELIAMqAgAhCiABKAIAIABrQQNNBEAgASAAQQQQzAYgASgCCCEACyABKAIEIABqIAo4AAAgASAAQQRqIgA2AgggASgCACAAa0EDTQRAIAEgAEEEEMwGIAEoAgghAAsgASgCBCAAaiALOAAAIAEgAEEEaiIANgIIIAMqAgghCiABKAIAIABrQQNNBEAgASAAQQQQzAYgASgCCCEACyABIABBBGo2AgggASgCBCAAaiAKOAAADAQLIAkoAgwhAyABKAIAIgEoAgghACABKAIAIABrQQNNBEAgASAAQQQQzAYgASgCCCEACyABKAIEIABqQRA2AAAgASAAQQRqIgA2AgggAyoCBCELIAMqAgAhCiABKAIAIABrQQNNBEAgASAAQQQQzAYgASgCCCEACyABKAIEIABqIAo4AAAgASAAQQRqIgA2AgggASgCACAAa0EDTQRAIAEgAEEEEMwGIAEoAgghAAsgASgCBCAAaiALOAAAIAEgAEEEaiIANgIIIAMqAgghCiABKAIAIABrQQNNBEAgASAAQQQQzAYgASgCCCEACyABIABBBGo2AgggASgCBCAAaiAKOAAADAMLIAkoAgwhAyABKAIAIgAoAgghAiAAKAIAIAJrQQNNBEAgACACQQQQzAYgACgCCCECCyAAIAJBBGo2AgggACgCBCACakERNgAAIAMgARC1ASIADQMgAyoCYCEKIAEoAgAiASgCCCEAIAEoAgAgAGtBA00EQCABIABBBBDMBiABKAIIIQALIAEgAEEEajYCCCABKAIEIABqIAo4AAAMAgsgCSgCDCEDIAEoAgAiASgCCCEAIAEoAgAgAGtBA00EQCABIABBBBDMBiABKAIIIQALIAEoAgQgAGpBEjYAACABIABBBGoiADYCCCABKAIAIABrQQNNBEAgASAAQQQQzAYgASgCCCEACyABIABBBGo2AgggASgCBCAAaiADNgAADAELIAEoAgAhBQJAIAgoAnhBgICAgHhGBEAgBSgCCCICIAUoAgBGBEAgBSACQQEQzAYgBSgCCCECCyAFIAJBAWo2AgggBSgCBCACakEAOgAADAELIAUoAggiAiAFKAIARgRAIAUgAkEBEMwGIAUoAgghAgsgBSgCBCACakEBOgAAIAUgAkEBaiIDNgIIIAhBgAFqKAIAIQAgCEH8AGooAgAhBCAFKAIAIANrQQdNBEAgBSADQQgQzAYgBSgCCCEDCyAFIANBCGoiAjYCCCAFKAIEIANqIACtNwAAIAAEQCAAQQJ0IQcDQCAEKAIAIQAgBEEEaiEEIAUgBSgCACACa0EDSwR/IAIFIAUgAkEEEMwGIAUoAggLIgNBBGoiAjYCCCAFKAIEIANqIAA2AAAgB0EEayIHDQALCyAIQYwBaigCACEAIAhBiAFqKAIAIQQgBSgCACACa0EHTQRAIAUgAkEIEMwGIAUoAgghAgsgBSACQQhqIgM2AgggBSgCBCACaiAArTcAACAABEAgAEECdCEHA0AgBCgCACEAIARBBGohBCAFIAUoAgAgA2tBA0sEfyADBSAFIANBBBDMBiAFKAIICyICQQRqIgM2AgggBSgCBCACaiAANgAAIAdBBGsiBw0ACwsgCEGYAWooAgAhACAIQZQBaigCACECIAUoAgAgA2tBB00EQCAFIANBCBDMBiAFKAII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QTALIQEgD0EBaiEPIBdFDQEMBAsgASADQczHwwAQ7QgACyADIAlNDQIgBSABOgAAIAlBAWohCQwCCyAMQShBuO/DABDtCAALIAkgA0Hcx8MAEO4IAAsgAyAJSQ0BCyAAIA87AQggACAJNgIEIAAgAjYCACAHQcAGaiQADwsgCSADQezHwwAQ7ggACyABQShBuO/DABDuCAALIAVBKEG478MAEO4IAAtByO/DAEEaQbjvwwAQuQoAC+YmAx5/H30CfiMAQfAHayILJAAgC0EcaiAGIAcoAoABEQAAIAtBGGogBzYCACALQRBqIAQ2AgAgCyAKOgA0IAsgCTgCMCALIAg4AiwgCyAGNgIUIAsgAzYCDCALIAU2AgggCyACNgIEIAsgATYCAAJAAkAgAyAEKAIQEQQAIgFBIGooAgAiEQRAIAtBADYCQCALQoCAgIDAADcCOCALQThqIgJBABCwBiALKAI8IAsoAkAiA0EDdGpCgICAgPD///9+NwIAIAsgA0EBajYCQCALQYQBaiACENsDAkACQCALKAKEAUUEQEEEIQEMAQsgC0E0aiEYIAtBMGohGSALQSxqIRogAUHEAGooAgAhDSABQUBrKAIAIQ8gAUEcaigCACEbIAtBoAZqIgFBA2ohBSALQYAEaiEVIAtB/QNqIRIgC0H0AmohCiALQdACaiETIAFBKGohECALQYgGaiEUQ///f38hCSALQcADaiEWQQQhAQJAAkACQANAIAkgCyoCjAGMXw0EIAsoAogBIgIgEU8NAiAbIAJBB3RqIgMtAHhBAXEiDARAIAMoAmAiBCANSSECIA8gBEEMbGpBACACG0EIakEAIAIbIRwgA0HsAGooAgAiBCANSSECIA8gBEEMbGpBACACG0EIakEAIAIbIR0gA0HoAGooAgAiBCANSSECIA8gBEEMbGpBACACG0EIakEAIAIbIR4gA0HkAGooAgAiBCANSSECIA8gBEEMbGpBACACG0EIakEAIAIbIRcLIANB+ABqIR8gCyAJOAK0AyAWQgA3AwAgC0IANwO4A0EAIQYgC0EANgLMAyALQQQ6ALwFIAtBBDoAgAUgC0EEOgDEBCALQQQ6AIgEIANBNGoqAgAhCCADQThqKgIAISkgA0E8aioCACEsIANBFGoqAgAhPiADQcQAaioCACEwIANBGGoqAgAhPyADQcgA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MGopAAA3AwAgAUEoaiADQShqKQAANwMAIAFBIGogA0EgaikAADcDACABQRhqIANBGGopAAA3AwAgAUEQaiADQRBqKQAANwMAIAFBCGogA0EIaikAADcDACALIAspANADNwOgBiACIQEMAQsgC0GgBmoiAkE3aiALQcgAaiIDQTdqKAAANgAAIAJBMGogA0EwaikDADcDACACQShqIANBKGopAwA3AwAgAkEgaiADQSBqKQMANwMAIAJBGGogA0EYaikDADcDACACQRBqIANBEGopAwA3AwAgAkEIaiADQQhqKQMANwMAIAtB4gVqIAtBxgBqLQAAOgAAIAsgCykDSDcDoAYgCyALLwFEOwHgBQsgCygCOEUNASALKAI8EJUCDAELIAtBoAZqIgJBCGogC0HIAGoiA0EIaikDADcDACACQRBqIANBEGopAwA3AwAgAkEYaiADQRhqKQMANwMAIAJBIGogA0EgaikDADcDACACQShqIANBKGopAwA3AwAgAkEwaiADQTBqKQMANwMAIAJBN2ogA0E3aigAADYAACALQeIFaiALQcYAai0AADoAACALIAspA0g3A6AGIAsgCy8BRDsB4AUgCygCOEUNACALKAI8EJUCCyABQf8BcUEERw0BCyAAQQQ6ADQMAQsgACALLwHgBTsANSAAIAspAKcGNwAAIABBN2ogC0HiBWotAAA6AAAgAEEIaiALQa8GaikAADcAACAAQRBqIAtBtwZqKQAANwAAIABBGGogC0G/BmopAAA3AAAgAEEgaiALQccGaikAADcAACAAQShqIAtBzwZqKQAANwAAIABBMGogC0HXBmooAAA2AAAgACABOgA0CyALQfAHaiQAC+guAxp/B30EfiMAQcACayIEJABDAAAANBCYASEjIARBADYCDCAEQoCAgIDAADcCBCAEQQA2AhggBEKAgICAwAA3AhAgBEEANgIkIARCgICAgMAANwIcIARBADYCMCAEQoCAgIDAADcCKCAEQQA2AkwgBEIANwJEIARB6IvCADYCQCAEQQA2AjwgBEKAgICAwAA3AjQgBEEANgJYIARCgICAgMAANwJQIARBADYCZCAEQoCAgIDAADcCXCAEQQA2AnAgBEKAgICAwAA3AmggBEEANgJ8IARCgICAgMAANwJ0AkAgASgCCCIKIANqIgZBA08EQAJAIARB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AkAgCUH8AGoiBygCCCIGBH8gASgCACoCACIIQwAAAABgDQEgCEMAAKBAlCEIIAcoAgRBMGohAAJAA0AgACoCACImIAhgICZDAAAAAGByRQ0BIABBPGohACAGIANBAWoiA0cNAAsMAgtBASEEIANBAWoFQQALIQAgACAGRg0AIAYgAGshAyAHKAIEIABBPGxqIQAgASgCACEPA0AgAEEwaiEMAkACQCAPKgIAIghDAAAAAGANACAMKgIAIiZDAAAAAGANACAIQwAAoECUICZfDQAgBEEBaiEEDAELIAAgBEFEbGoiASAAKQIANwIAIAFBOGogAEE4aigCADYCACABQTBqIAwpAgA3AgAgAUEoaiAAQShqKQIANwIAIAFBIGogAEEgaikCADcCACABQRhqIABBGGopAgA3AgAgAUEQaiAAQRBqKQIANwIAIAFBCGogAEEIaikCADcCAAsgAEE8aiEAIANBAWsiAw0ACwsgByAGIARrNgIICyAJIAtBKGoiACALQRhqIgEgChsiAykCADcCiAEgCSABIAAgChsiACkCADcClAEgCUGQAWogA0EIaigCADYCACAJQZwBaiAAQQhqKAIANgIAIAkoAoQBIgAEQCAFRQ0FIAkoAoABIg4gAEE8bGohBCAFQTxsIgAgAmohBiACQTxqIQEgAEE8ayIHQTxuQQFxIQkDQCAOKAI0IQMCfyACIAkNABogASADIAIoAjRHDQAaIAEgDigCOCACKAI4Rw0AGiAOIAIpAgA3AgAgDkEQaiACQRBqKQIANwIAIA5BCGogAkEIaikCADcCACABCyENIAdBPE8EQANAAkAgAyANQTRqKAIARw0AIA4oAjggDUE4aigCAEcNACAOIA0pAgA3AgAgDkEQaiANQRBqKQIANwIAIA5BCGogDUEIaikCADcCAAsCQCADIA1B8ABqKAIARw0AIA4oAjggDUH0AGooAgBHDQAgDiANQTxqIgApAgA3AgAgDkEQaiAAQRBqKQIANwIAIA5BCGogAEEIaikCADcCAAsgBiANQfgAaiINRw0ACwsgBCAOQTxqIg5HDQALCyAFRQ0EIAIQlQIMBAtBBCANQdiAxAAoAgAiAEGjByAAGxEAAAALEO4KAAsgCUGEAWpBADYCAAwBCyAJQYQBakEANgIACyALQYACaiQAC4MiAhl/A34jAEHwAGsi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DQALIAkgCUEHSWohCSACCyIEQQFxRQ0BDAMLCwwFC0HYwMAAQStBzMfAABC5CgALQQAhA0EAIQgLIAAEQCAAEJUCCyADRQ0BCyADIAhBNGxqIgBBMGogATgCACAAQSxqIBc4AgAgAEEoaiAYOAIAIABBJGogGTgCACAAQSBqIAU4AgAgAEEcaiAWOAIAIABBGGogFTgCACAAQRRqIBQ4AgAgAEEQaiAMNgIAIABBDGogDjYCACAAQQhqIA02AgAgAEEEaiAPNgIAIABBNGoiACAAKAIAQQFyNgIAIAdBgAFqEOgBCyAGQbACaiQADwtBBEHQDEHYgMQAKAIAIgBBowcgABsRAAAAC/kmAw59Fn8BfiMAQaABayISJAAgASgCACIRQf////8Hcb4iAiABKAIEIhNB/////wdxviIDIAIgA2AbIgIgASgCCCIVQf////8Hcb4iAyACIANgGyICIAEoAgwiEEH/////B3G+IgMgAiADYBsiAiABKAIQIhRB/////wdxviIDIAIgA2AbIgIgASgCFCIWQf////8Hcb4iAyACIANgGyICIAEoAhgiF0H/////B3G+IgMgAiADYBsiAiABKAIcIhlB/////wdxviIDIAIgA2AbIgIgASgCICIYQf////8Hcb4iAyACIANgGyIJQwAAAABcBEAgASAYviAJlTgCICABIBm+IAmVOAIcIAEgF74gCZU4AhggASAWviAJlTgCFCABIBS+IAmVOAIQIAEgEL4gCZU4AgwgASAVviAJlTgCCCABIBO+IAmVOAIEIAEgEb4gCZU4AgALIBJBQGsiE0EgaiABQSBqKAIANgIAIBNBGGogAUEYaikCADcDACATQRBqIAFBEGopAgA3AwAgE0EIaiABQQhqKQIANwMAIBIgASkCADcDQCASQegAaiEcQQAhFCMAQRBrIhkkACAZQgA3AwggE0EkaiEeIBNBFGohHyAZQRBqIRpBASEVA0AgFEECdCIbIBNqQQRqIhEgFEEDbCIBQQJ0aiIWKgIAIgIgApQhAiAURQRAIAIgFkEEaioCACICIAKUkiECCyACEJgBIgUgBYwgFioCACIDQwAAAABgIhAbIQQgFiADIASSOAIAAkACQAJAIAIgBSADIAOMIBAblJIiAiACkiICQwAAAABcBEAgESABQQNqQQJ0aiEXIAIQmAEhAiAW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IBFB/////wdxviABQf////8Hcb4iApJDAAAANJReIhAEQEECIRVBASERIAEhEwwBC0EBIRVBACEUQQAiESAmp0H/////B3G+IAIgE0H/////B3G+kkMAAAA0lF5FDQEaC0EAIRQCQCAQRQ0AAkAgEUEBayIQQQJ0IhYgEkE4amoiASoCACICQwAAAABbDQAgAosgE0H/////B3G+IBJBLGogFmooAgBB/////wdxvpJDAAAANJRfDQAgEEUNASASQThqIBFBAnRyQQhrIQELIAFBADYCAEEBIRQLIBULIREgEkE0aiEcIBJBKGohHSASQQhqIRgCQAJAAkADQCARIBRGBEAgEkE0aiIRIAkgESoCAJQ4AgAgEiAJIBIqAiyUOAIsIBIgCSASKgIwlDgCMCASQegAaiIBQQhqIhMgESgCADYCACASQfwAaiASQQRqIhFBCGopAgA3AgAgEkGEAWogEUEQaikCADcCACASQYwBaiARQRhqKQIANwIAIBJBlAFqIBFBIGopAgA3AgAgACASKQIsNwIAIBIgEikCBDcCdCAAQQhqIBMpAwA3AgAgAEEQaiABQRBqKQMANwIAIABBGGogAUEYaikDADcCACAAQSBqIAFBIGopAwA3AgAgAEEoaiABQShqKQMANwIAIABBMGogAUEwaigCADYCAAwECwJAAkAgESAUa0EBaiIBQQJNBEAgAUECRw0CIBRBAnQiASASQThqaioCACIEIASUIgMgEkEsaiABaiIBKgIAIgUgAUEEaiITKgIAIgKTQwAAAD+UIgYgBpSSIgZDAAAAAGANAUHMisIAQStBqJDCABC5CgALAn8CQAJAIBFBAWsiFkEDSQRAIBFBA08NASAUQQJ0IhcgEkEsaiIBaiITKgIAIQQgFkECdCIVIAFqIhsqAgAhBSABIBFBAnRqIh4qAgAiAyECIBJBOGogFWoiHyoCACIGIAaUIgdDAAAAAFwEQCADIAcgBSADk0MAAAA/lCICQwAAwH9DAACAPyACmCACIAJcGyAHIAIgApSSEJgBlJKVkyECCyARIBRNBEAgA7whEyAGvCEQIAW8DAQLIBJBOGogF2oiFSoCACIFQwAAAABbDQIgBCACkyICQwAAAABgIQEgBSAFlCACIAKMIAEbIgYgBpSSEJgBIQMgEyAGIAOVIgYgBpQiCCAElCAFjCADIAOMIAEblSIHIAeUIgogFEEBaiITQQJ0IgEgEkEsamoiECoCACILlJIgBiAHlCIMIAySIAWUIgOTOAIAIBAgCiAElCAIIAuUkiADkiIDOAIAIBUgDCAEIAuTlCAIIAqTIAWUkiIEOAIAIBQgFkcEQCAUDQkgEkE4aiABaiIBKgIAIQIgASAGIAKUOAIAIAIgB4yUIQUgBCECCyASKAIEBEAgGCAUQQxsaiIBQQxqIhUgByABKgIAIgSUIAYgFSoCACIIlJI4AgAgASAGIASUIAcgCJSTOAIAIAFBBGoiFSoCACEEIBUgBiAElCAHIAFBEGoiFSoCACIIlJM4AgAgFSAHIASUIAYgCJSSOAIAIAFBCGoiFSoCACEEIBUgBiAElCAHIAFBFGoiASoCACIIlJM4AgAgASAHIASUIAYgCJSSOAIACyARIBNGDQIgEUECayEgIBRBDGwhGSARQQFrISEgEkEsaiEVIBJBOGohEyAUIQEDQCAFQwAAAABbDQMgBYwgBSAFlCACIAKMIAJDAAAAAGAiEBsiBCAElJIQmAEiByAHjCAQGyIIlSEGIAQgB5UhByABQQFqIhAgFEsEQCATIBdqIAg4AgALIAYgBpQiCCADlCAHIAeUIgogFSAXaiIaQQhqIiIqAgAiC5SSIAcgBpQiDCAMkiATIBdqIiNBBGoiJCoCACINlCIOkiEEICIgBDgCACAaQQRqIAogA5QgCCALlJIgDpM4AgAgJCAMIAMgC5OUIA0gCiAIk5SSIgM4AgAgASAgRwRAIAFBf0cNCiAjQQhqIgEqAgAhAiABIAcgApQ4AgAgAiAGjJQhBSADIQILIBIoAgQEQCASQQRqIBlqIgFBHGoiGiAGIAFBEGoiIioCACIDlCAHIBoqAgAiCJSSOAIAICIgByADlCAGIAiUkzgCACABQRRqIhoqAgAhAyAaIAcgA5QgBiABQSBqIhoqAgAiCJSTOAIAIBogBiADlCAHIAiUkjgCACABQRhqIhoqAgAhAyAaIAcgA5QgBiABQSRqIgEqAgAiCJSTOAIAIAEgBiADlCAHIAiUkjgCAAsgGUEMaiEZIBNBBGohEyAVQQRqIRUgBCEDICEgECIBRw0ACwwCC0G4kMIAENMLAAtByJDCABDTCwALIB4oAgAhEyAfKAIAIRAgGygCAAshASAQQf////8Hcb4gAUH/////B3G+IBNB/////wdxvpJDAAAANJRfRQ0BIBYhEQwBCyATIAUgApJDAAAAP5QiBSAGEJgBIgaTOAIAIAEgBSAGkiIFOAIAAkAgEigCBARAIAUgApMiAkMAAAAAYCETIAMgAiACjCATGyICIAKUkhCYASIDQwAAADReDQELIBFBAWshEQwBCyAYIBRBDGxqIgFBDGoiFSoCACEFIBUgAiADlSICIAWUIAQgAyADjCATG5UiAyABKgIAIgSUkzgCACABIAIgBJQgAyAFlJI4AgAgAUEEaiITKgIAIQQgEyACIASUIAMgAUEQaiITKgIAIgWUkjgCACATIAIgBZQgAyAElJM4AgAgAUEIaiITKgIAIQQgEyACIASUIAMgAUEUaiIBKgIAIgWUkjgCACABIAIgBZQgAyAElJM4AgAgEUEBayERCyARQQJLDQFBACEUAkAgEUUNACARQQFrIhNBAnQiFSASQSxqIhBqIhYoAgAhAQJAIBJBOGogFWooAgBB/////wdxviAQIBFBAnRqKAIAQf////8Hcb4gAUH/////B3G+kkMAAAA0lF4EQCATIRAMAQsgE0UEQCATIREMAgsgEUECayIVQQJ0IhAgEkEsamooAgAhASASQThqIBBqKAIAQf////8Hcb4gFigCAEH/////B3G+IAFB/////wdxvpJDAAAANJReBEAgFSEQIBMhEQwBCyAVRQRAIBUhEQwCCyASQSxqIBFBA2siEEECdGooAgAhASAVIRELIBBBAWohFSAQQQJ0IhMgHGohFiATIB1qIRADQCAWIRMgFUEBayIVRQ0BIBMqAgAiAkMAAAAAXARAIBNBBGshFiABQf////8HcSEXIBAoAgAhASAQQQRrIRAgAosgF74gAUH/////B3G+kkMAAAA0lF9FDQELCyATQQA2AgBBASEUCyAlQQFqIiUNAAsgAEECNgIMDAILQeiQwgAQ0wsAC0HYkMIAENMLAAsgEkGgAWokAAvZPQMTf0Z9BH4jAEGAAWsiBSQAAkACQAJAAkACQAJ/AkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCvAEOBAABAgMECyABQYCAgPwDNgKwASAAIAEpAhA3AgAgAEEIaiABQRhqKAIANgIADB0LIAVBCGoiA0EIaiIC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QQxqNgIAIARBBEkEQCACQQA6APsBIAJBJTsA+QEgAkEENgL8ASACQQE6APgBIAJB+AFqEIALIQEMFgsgAzUACCEbIAEgBUEQayIENgIEIAEgA0EQajYCACAEQQRJDQMgAzUADCEcIAEgBUEUayIENgIEIAEgA0EUajYCACAEQQRJDQQgAygAECEVIAEgBUEYayIENgIEIAEgA0EYajYCACAEQQRJBEAgAkEAOgD7ASACQSU7APkBIAJBBDYC/AEgAkEBOgD4ASACQfgBahCACyEBDBYLIAM1ABQhHSABIAVBHGsiBDYCBCABIANBHGo2AgAgBEEESQ0FIAM1ABghHiABIAVBIGsiBDYCBCABIANBIGo2AgAgBEEESQ0GIAMoABwhFiABIAVBJGsiBDYCBCABIANBJGo2AgAgBEEESQRAIAJBADoA+wEgAkElOwD5ASACQQQ2AvwBIAJBAToA+AEgAkH4AWoQgAshAQwWCyADNQAgIR8gASAFQShrIgQ2AgQgASADQShqNgIAIARBBEkNByADNQAkISAgASAFQSxrIgQ2AgQgASADQSxqNgIAIARBBEkNCCADKAAoIRcgASAFQTBrIgQ2AgQgASADQTBqNgIAIARBBEkEQCACQQA6APsBIAJBJTsA+QEgAkEENgL8ASACQQE6APgBIAJB+AFqEIALIQEMFgsgAzUALCEhIAEgBUE0ayIENgIEIAEgA0E0ajYCACAEQQRJDQkgAzUAMCEiIAEgBUE4ayIENgIEIAEgA0E4ajYCACAEQQRJDQogAygANCEYIAEgBUE8ayIENgIEIAEgA0E8ajYCACAEQQRJBEAgAkEAOgD7ASACQSU7APkBIAJBBDYC/AEgAkEBOgD4ASACQfgBahCACyEBDBYLIAM1ADghIyABIAVBQGoiBDYCBCABIANBQGs2AgAgBEEESQ0LIAM1ADwhJCABIAVBxABrIgQ2AgQgASADQcQAajYCACAEQQRJDQwgAygAQCEZIAEgBUHIAGsiBDYCBCABIANByABqNgIAIARBBEkEQCACQQA6APsBIAJBJTsA+QEgAkEENgL8ASACQQE6APgBIAJB+AFqEIALIQEMFgsgAzUARCElIAEgBUHMAGs2AgQgASADQcwAajYCACADNQBIISYgAkEGNgK8AiACIAE2ArgCIAJBwAJqIAJBuAJqEMcCIAItANgCIgRBA0YNDSAEQQJGBEBBACACQc8DakHYr8AAEPcHIQEMFgsgAkHcAmogAkG4AmoQxwIgAi0A9AIiCEEDRg0OIAhBAkYEQEEBIAJBzwNqQdivwAAQ9wchAQwWCyACQfgCaiACQbgCahDHAiACLQCQAyILQQNGDQ8gC0ECRgRAQQIgAkHPA2pB2K/AABD3ByEBDBYLIAJBlANqIAJBuAJqEMcCIAItAKwDIgxBA0YNECAMQQJGBEBBAyACQc8DakHYr8AAEPcHIQEMFgsgAkGwA2ogAkG4AmoQxwIgAi0AyAMiDUEDRg0RIA1BAkYEQEEEIAJBzwNqQdivwAAQ9wchAQwWCyACQfgBaiACQbgCahDHAgJAAkACQCACLQCQAiIaQQJrDgIBAAILIAIoAvgBIQEMFwtBBSACQc8DakHYr8AAEPcHIQEMFgsgAkE+aiACQZMCai0AADoAACACQZwCaiIDQQJqIAJB2QJqIgVBAmotAAA6AAAgAkG+AWogAkH1AmoiBkECai0AADoAACACQZ4BaiACQZEDaiIHQQJqLQAAOgAAIAJB/gBqIAJBrQNqIglBAmotAAA6AAAgAiACLwCRAjsBPCACIAUvAAA7AZwCIAIgBi8AADsBvAEgAiAHLwAAOwGcASACIAkvAAA7AXwgAkHeAGogAkHJA2oiBUECai0AADoAACACQeABaiIGQQhqIAJBzAJqKQIANwMAIAZBEGogAkHUAmooAgA2AgAgAkGnAmogAkHcAmoiBkEIaikCADcAACACQa8CaiAGQRBqKQIANwAAIAJBoAFqIgZBEGogAkH4AmoiB0EQaikCADcDACAGQQhqIAdBCGopAgA3AwAgAiAFLwAAOwFcIAIgAikCxAI3A+ABIAIgAikC3AI3AJ8CIAIgAikC+AI3A6ABIAIoAsACIQkgAkGAAWoiBUEQaiACQZQDaiIGQRBqKQIANwMAIAVBCGogBkEIaikCADcDACACQeAAaiIFQRBqIAJBsANqIgZBEGopAgA3AwAgBUEIaiAGQQhqKQIANwMAIAJBQGsiBUEQaiACQfgBaiIGQRBqKQIANwMAIAVBCGogBkEIaikCADcDACACIAIpApQDNwOAASACIAIpArADNwNgIAIgAikC+AE3A0AgAkHAAWoiBUEXaiADQRdqKAAANgAAIAVBEGogA0EQaikBADcDACAFQQhqIANBCGopAQA3AwAgAiACKQGcAjcDwAEgASgCBCIFRQ0SIAEgBUEBazYCBCABIAEoAgAiA0EBajYCACADLQAAIgZBAk8EQEGR+sMALQAAGkEMQQQQowwiAUUNFCABIAY6AAQgAUGCgICAeDYCAAwWCyAFQQVJDRQgASAFQQVrIgo2AgQgASADQQVqNgIAIAMoAAEiB0EDTwRAIAJBAToA+AEgAiAHrTcDgAIgAkH4AWpB8IzAAEHcgsAAELEIIQEMFgsgCkEPTQRAIAJCgcqAgIACNwP4ASACQfgBahCACyEBDBYLIAAgAikDCDcCXCAAIAIpAyA3AnggACACKQPAATcAqQEgA0ERajUAACEnIAMoAAUhCiADKQAJISggASAFQRVrNgIEIAEgA0EVajYCACAAQeQAaiACQQhqIgFBCGopAwA3AgAgAEHsAGogAUEQaikDADcCACAAQYABaiACQSBqIgFBCGopAwA3AgAgAEGIAWogAUEQaikDADcCACAAQcABaiACQdcBaigAADYAACAAQbkBaiACQcABaiIBQRBqKQMANwAAIABBsQFqIAFBCGopAwA3AAAgAEHHAWogAkG+AWotAAA6AAAgACACLwG8ATsAxQEgACACKQOgATcCyAEgAEHQAWogAkGgAWoiAUEIaikDADcCACAAQdgBaiABQRBqKQMANwIAIAAgAi8BnAE7AOEBIABB4wFqIAJBngFqLQAAOgAAIAAgAikDgAE3AuQBIABB7AFqIAJBgAFqIgFBCGopAwA3AgAgAEH0AWogAUEQaikDADcCACAAQf8BaiACQf4Aai0AADoAACAAIAIvAXw7AP0BIABBkAJqIAJB4ABqIgFBEGopAwA3AgAgAEGIAmogAUEIaikDADcCACAAIAIpA2A3AoACIABBmwJqIAJB3gBqLQAAOgAAIAAgAi8BXDsAmQIgAEGsAmogAkFAayIBQRBqKQMANwIAIABBpAJqIAFBCGopAwA3AgAgACACKQNANwKcAiAAQbcCaiACQT5qLQAAOgAAIAAgAi8BPDsAtQIgAEGkAWogAkHgAWoiAUEQaigCADYCACAAQZwBaiABQQhqKQMANwIAIAAgAikD4AE3ApQBIABBDGogJz4CACAAICg3AgQgACAGQQBHOgC9AiAAIAc6ALwCIAAgEzoAuwIg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GJSUkiEYIBQgGSAKKgIEIApBEGoqAgCSQwAAAD+UIBWTIhQgFJSUkiEUIA0gC0EEaiILRw0AC0ECIBMgFF4iCiAYIBQgEyAKG10bIgpBAmoiCCAKQQFrIAhBA0kbIQ0gCkEBaiIIIApBAmsgCEEDSRshDCABQSBqKAIAIgshCiABKAIYIAtGBEAgAUEYaiALELQGIAEoAiAhCgsgAUEcaigCACAKQQd0aiIIQgA3A2AgCEEAOgB4IAggBzoAdCAIIAY2AnAgCEL////7////v383A1ggCEL////7////v383A1AgCEL////7////v383A0ggCEL////7////v383A0AgCEL////7////v383AzggCEL////7////v383AzAgCEL////79///v/8ANwMoIAhC////+/f//7//ADcDICAIQv////v3//+//wA3AxggCEL////79///v/8ANwMQIAhC////+/f//7//ADcDCCAIQv////v3//+//wA3AwAgCEHoAGpCADcDACABIApBAWo2AiAgCSAXOAJMIAkgFTgCSCAJIBY4AkQgCUHgAGoiBiADIAQgBSgCBCIEIAUoAggiByAJQcQAaiIDIAwgAi0AACIKEJcEIAlB7ABqIggoAgAhDCAJKAJoIQ4gBiAJKAJgIAkoAmQgBCAHIAMgDSAKEJcEIAgoAgAhDyAJKAJoIRAgCSgCZCERIAkoAmAhEiAGIA4gDCAEIAcgAyANIAoQlwQgCCgCACEEIAkoAmghByAJKAJkIQogCSgCYCEIIAlBDGogASACIBIgESAFIAtBABBBIAlBKGogASACIBAgDyAFIAtBARBBIAMgASACIAggCiAFIAtBAhBBIAYgASACIAcgBCAFIAtBAxBBIAEoAiAiAiALTQ0EIAkqAnghFyAJKgJ0IRUgCSoCcCEWIAkqAmwhEyAJKgJoIRQgCSoCZCEYIAkoAmAhAyAJKgJcIRkgCSoCWCEaIAkqAlQhGyAJKgJQIRwgCSoCTCEdIAkqAkghHiAJKAJEIQQgCSoCQCEfIAkqAjwhICAJKgI4ISEgCSoCNCEiIAkqAjAhIyAJKgIsISQgCSgCKCEFIAkqAiQhJSAJKgIgISYgCSoCHCEnIAkqAhghKCAJKgIUISkgCSoCECEqIAEoAhwgC0EHdGoiAiAJKAIMNgJgIAJB7ABqIAM2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AC0AABoCQCAGQQQQowwiCQRAIAVBADYCECAFIAk2AgwgBSAHNgIIIAdB1arVKksNAyAHQRhsIgZBAEgNA0GR+sMALQAAGiAGQQQQowwiCUUNASAJIQYCQCAHQQJJDQAgB0EBayIIQQNxIQogB0ECa0EDTwRAIAhBfHEhCANAIAZC////+////79/NwIQIAZC////+/f//79/NwIIIAZC////+/f//7//ADcCACAGQdgAakL////7////v383AgAgBkHQAGpC////+/f//79/NwIAIAZByABqQv////v3//+//wA3AgAgBkFAa0L////7////v383AgAgBkE4akL////79///v383AgAgBkEwakL////79///v/8ANwIAIAZBKGpC////+////79/NwIAIAZBIGpC////+/f//79/NwIAIAZBGGpC////+/f//7//ADcCACAGQeAAaiEGIAhBBGsiCA0ACwsgCkUNAANAIAZC////+////79/NwIQIAZC////+/f//79/NwIIIAZC////+/f//7//ADcCACAGQRhqIQYgCkEBayIKDQALCyAGQv////v///+/fzcCECAGQv////v3//+/fzcCCCAGQv////v3//+//wA3AgAgBSAHNgIcIAUgCTYCGCAFIAc2AhQgB0EEdCIGQQBIDQNBkfrDAC0AABogBkEEEKMMIglFDQUgCSEGAkAgB0ECSQ0AIAdBAWsiCEEDcSEKIAdBAmtBA08EQCAIQXxxIQgDQCAGQn83AgggBkEAOgAEIAZBfzYCACAGQThqQn83AgAgBkE0akEAOgAAIAZBMGpBfzYCACAGQShqQn83AgAgBkEkakEAOgAAIAZBIGpBfzYCACAGQRhqQn83AgAgBkEUakEAOgAAIAZBEGpBfzYCACAGQUBrIQYgCEEEayIIDQALCyAKRQ0AA0AgBkJ/NwIIIAZBADoABCAGQX82AgAgBkEQaiEGIApBAWsiCg0ACwsgBkJ/NwIIIAZBADoABCAGQX82AgAMBAsMBAsMAwsgBUEANgIQIAVCgICAgMAANwIIIAVBADYCHCAFQoCAgIDAADcCFEEEIQkMAQsQ7goACyAAQYQBaiEGIAAoAoQBBEAgACgCiAEQlQILIAAgBzYCjAEgACAJNgKIASAAIAc2AoQBIAUgBjYCiAEgBSAFQQhqNgKQASAF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FJQgDiANIA6UIBIgD5STIg0gDZIiDZSTkpKSOAK4ASAFIANB6ABqKgIAIBIgECAUlCAPIA2UIAQgEZSTkpKSOAK0ASAFIANB5ABqKgIAIBMgECANlCAOIBGUIA8gFJSTkpKSOAKwASAGIAFBOGooAgAgAUE8aigCACIDKAIIQQFrQXhxakEIaiABQfwAaiAFQaABaiADKAK4ARECACAFIAk2AoQCIAUgAjYCgAIgBUGIAWogAiAJIAYQ4gEMAgsgBiABQThqKAIAIAFBPGooAgAiAygCCEEBa0F4cWpBCGogAUH8AGogAygCiAERAQAgBSAJNgKEAiAFIAI2AoACIAVBiAFqIAIgCSAGEOIBDAELQaSVwQBBE0G0gcIAEO8JAAsgAkEBaiECIApBqAFqIQoMAAsACyAAQcgAaiEBIAVBIGoQwwkgACgCaCICIAAoAmBGBEAgAEHgAGogAhC0BiAAKAJoIQILIABB5ABqKAIAIAJBB3RqIAVBIGpB4AAQow0iA0HoAGpCfzcDACADQoGAgIBwNwNgIANBADoAeCADQQA6AHQgA0F/NgJwIAAgAkEBajYCaCAFQYACaiICIAEgBUEHaiAFKAIMIAUoAhAgBUEUakEAQQAgHhBjIAVBiAFqIgNBEGogBUGUAmopAgAiJzcDACADQQhqIAVBjAJqKQIAIig3AwAgBSAFKQKEAiIpNwOIASABQRBqICc3AgAgAUEIaiAoNwIAIAEgKTcCACACQRBqICc3AwAgAkEIaiAoNwMAIAVB2AJqQv////v///+/fzcDACAFQdACakL////79///v383AwAgBUHAAmpC////+////79/NwMAIAVBuAJqQv////v3//+/fzcDACAFQagCakL////7////v383AwAgBUGgAmpC////+/f//79/NwMAIAUgKTcDgAIgBUL////79///v/8ANwPIAiAFQv////v3//+//wA3A7ACIAVC////+/f//7//ADcDmAIgBUGgAWogAhCiBCAAKAJoBEAgACgCZCAFQaABakHgABCjDRogBSgCFARAIAUoAhgQlQILIAUoAggEQCAFKAIMEJUCCyAFQeACaiQADwtBAEEAQYTXwAAQ7QgAC0EEIAZB2IDEACgCACIAQaMHIAAbEQAAAAuCPwMIfx99An4jAEGgA2siCiQAIApBuAFqIAQg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EJUCDAYLQdjAwABBK0Hwz8AAELkKAAsgDiABQdjrwQAQ3wshACAMQTxqQY4BNgIAIAxBKGoiAUEMakGPATYCACAMQQxqQgM3AgAgDCAINgI4IAwgCjYCMCAMQY4BNgIsIAwgADYCKCAMQQM2AgQgDEHA68EANgIAIAwgATYCCCAMQejrwQAQ7woACyAKIAFBgOvBABDfCyEAIAxBPGpBjgE2AgAgDEEoaiIBQQxqQY8BNgIAIAxBDGpCAzcCACAMIA02AjggDCAKNgIwIAxBjgE2AiwgDCAANgIoIAxBAzYCBCAMQejqwQA2AgAgDCABNgIIIAxBkOvBABDvCgALIAUgAigCACIDTQ0AQd3/wABBG0G06sEAENILAAsgAyAFQaTqwQAQ7QgACyALQQFNDQEgEyALQQEQzgULIAAoAhQhCwsgACIJKAIIIgAgC2oiCiECIAAgCkkEQCALIAkoAgAgACIHa0sEQCAJIAAgCxCNBiAJKAIIIQcLIAkoAgQgB0EDdGohAyALQQJPBEAgC0EBayIIQQdxIQIgC0ECa0EHTwRAIAhBeHEhCANAIANC////+/f/////ADcCACADQThqQv////v3/////wA3AgAgA0EwakL////79/////8ANwIAIANBKGpC////+/f/////ADcCACADQSBqQv////v3/////wA3AgAgA0EYakL////79/////8ANwIAIANBEGpC////+/f/////ADcCACADQQhqQv////v3/////wA3AgAgA0FAayEDIAhBCGsiCA0ACwsgAgRAA0AgA0L////79/////8ANwIAIANBCGohAyACQQFrIgINAAsLIAcgC2pBAWshBwsgA0L////79/////8ANwIAIAkoAhQhCyAHQQFqIQILIAkgAjYCCCALBEAgAEECayEHIApBAmshAyAJKAIQIg4gC0EMbGohDQNAAkACQCAJKAIIIgogB0sEQCANQQxrIQ0gB0EDdCECIANBA3QhCANAIAkoAgQiACACaiIPKgIAIh8gDSoCACIgXw0DIAMgCk8NAiAPQQRqKAIAIQogACAIaiIAIB84AgAgAEEEaiAKNgIAIAJBCGshAiAIQQhrIQggA0EBayEDIAdBAWsiByAJKAIIIgpJDQALCyAHIApB9OnBABDtCAALIAMgCkGE6sEAEO0IAAsgAyAKTwRA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CEEoaiALKAIANgIAIAhBIGogDikDADcDACAIQRhqIBApAwA3AwAgCEEQaiAVKQMANwMAIAhBCGogBykDADcDACACIAIpA6gCNwP4ASACQYgDaiACQfABahCIAiACKAKMAyEIIAIoAogDIg5BAkYNBSACQcADaiIDQShqIhAgDCgCADYCACADQSBqIgwgDykCADcDACADQRhqIg8gESkCADcDACADQRBqIhEgFikCADcDACADQQhqIgsgFykCADcDACACIAkpAgA3A8ADIA5FBEBBASACQe8DakHEgMAAEPcHIQUMCQsgAkHYAmoiA0EoaiAQKAIANgIAIANBIGogDCkDADcDACADQRhqIA8pAwA3AwAgA0EQaiARKQMANwMAIANBCGogCykDADcDACACQegBaiIMIAcoAgA2AgAgAiACKQPAAzcD2AIgAiACKQOoAjcD4AEgAiAUKQIANwPQASACIBRBCGopAgA3A9gBIAJBuAFqIg4gCygCADYCACACIBJBCGopAgA3A8gBIAIgEikCADcDwAEgAiACKQPAAzcDsAEgAiANKQIANwOgASACIA1BCGopAgA3A6gBIAIgCikCADcDkAEgAiAKQQhqKQIANwOYASAEKAIEIgdBA00EQCACQoHKgIDAADcDiAMgAkGIA2oQgAshBQwJCyAEIAdBBGsiCzYCBCAEIAQoAgAiA0EEajYCACALQQNNBEAgAkKByoCAwAA3A4gDIAJBiANqEIALIQUMCQsgAygAACELIAQgB0EIayIPNgIEIAQgA0EIajYCACAPQQNNBEAgAkKByoCAwAA3A4gDIAJBiANqEIALIQUMCQsgAygABCEPIAQgB0EMayIQNgIEIAQgA0EMajYCACAQQQNNBEAgAkKByoCAwAA3A4gDIAJBiANqEIALIQUMCQsgAygACCEQIAQgB0EQayIRNgIEIAQgA0EQajYCACARQQRJDQYgAygADCERIAQgB0EUayIVNgIEIAQgA0EUajYCACAVRQRAIAJCgcqAgBA3A4gDIAJBiANqEIALIQUMCQsgAygAECEVIAQgB0EVayIWNgIEIAQgA0EVajYCACAWRQRAIAJCgcqAgBA3A4gDIAJBiANqEIALIQUMCQsgAy0AFCEWIAQgB0EWazYCBCAEIANBFmo2AgAgAkGIAWoiByAMKAIANgIAIAJB2ABq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QQhqIAhBCGooAgA2AgAgAyAEKQIANwOoAyADQdADaiABIAkQiQIgA0GMBGoiCCANIAJBARBLIANBigRqIBxBAmotAAAiCzoAACADIBwvAAAiBTsBiAQgAygCoAQhDSADKAKcBCEUIAMtAJgEIQQgAyoClAQhLSADKgKMBCEoIAMqApAEISkgCEECaiIIIAs6AAAgAyAFOwGMBCAoICyTIiYgJpQgKSArkyImICaUkiAtICqTIiYgJpSSEJgBISYgA0G4AmogBmoiBUEMaiAEOgAAIAVBCGogLTgCACAFQQRqICk4AgAgBSAoOAIAIANBqAJqIAxqICY4AgAgBUEYaiANQQAgFEEDSSIEGzYCACAFQRRqIBRBAiAEGzYCACAFQRBqIAk2AgAgBUENaiADLwGMBDsAACAFQQ9qIAgtAAA6AAAMBAsgCSAaQdT9wgAQ7QgACyAFIA5B5P3CABDtCAALIAggDkH0/cIAEO0IAAsgBCAOQYT+wgAQ7QgACyAMQQRqIQwgBkEcaiEGIC5CAXwiLkIEUg0ACyAXIAMpA6gCNwIAIBggGSkDADcCACADQeABaiADQbgCaiIEQRBqKAIANgIAIANByAFqIBNBCGopAgA3AwAgAyADKQK4AjcD0AEgAyATKQIANwPAASADIARBCGopAgA3A9gBIAMoAuACIQggAygC5AIhDSADKALoAiEMIAMoAswCIQQgA0GoAWoiBkEQaiAQQRBqKQIANwMAIAZBCGogEEEIaikCADcDACADQaABaiAPQRBqKQIANwMAIAMgECkCADcDqAEgAyAPKQIANwOQASADIA9BCGopAgA3A5gBIARBBUcEQCADKAKgAyELIAMoAoQDDAILIA1BBEYNBSADQcMCaiADQcgBaikDADcAACADIAMpA8ABNwC7AiADQdADaiICQQhqIANBuAJqIgFBCGopAAA3AwAgAkEPaiABQQ9qKAAANgAAIAMgAykAuAI3A9ADIAghICANIQcMBgsgFyADKQOAAjcCACAYIAMpA4gCNwIAICYgJ11BAXQgJyApXkECdHIgJyAoXkEDdHIgBHKtIS9BBCEEQQQhDEEEIQtBBAshBSAKQfgAaiEUIANB+AFqIBgpAgA3AwAgAyAXKQIANwPwASADQbgCaiIGQRBqIANB4AFqKAIANgIAIAZBCGogAykD2AE3AwAg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AAAAXARAQwAAwH9DAACAPyAPmCAPIA9cGyIIQwAAAM9gIQIgECAXkkMAAAA/lCAKlUMAAAA/kiARlY4iC0MAAADPYCEFQf////8HAn9DAADAf0MAAIA/IA6YIA4gDlwbIgmLQwAAAE9dBEAgCagMAQtBgICAgHgLQYCAgIB4IAlDAAAAz2AbIAlD////Tl4bIQMgCSAJXCEEQf////8HAn8gCItDAAAAT10EQCAIqAwBC0GAgICAeAtBgICAgHggAhsgCEP///9OXhshAiAIIAhcIQYgFiASkkMAAAA/lCAMlUMAAAA/kiAUlY4iCEMAAADPYCEHQQAgAyAEGyElQQAgAiAGGyEoQf////8HAn8gC4tDAAAAT10EQCALqAwBC0GAgICAeAtBgICAgHggBRsgC0P///9OXhtBACALIAtbGyEEQf////8HAn8gCItDAAAAT10EQCAIqAwBC0GAgICAeAtBgICAgHggBxsgCEP///9OXhtBACAIIAhbGyEjA0AgHSECIB4hBgJAAkACfSAPQwAAAABeRQRAQ///f38gD0MAAAAAXUUNARogDCAUICOylEMAAAC/kpQgFZMgD5UMAQsgDCAUICNBAWqylEMAAAC/kpQgFZMgD5ULIgggE14CfSAOQwAAAABeRQRAQ///f38gDkMAAAAAXUUNARogCiARIASylEMAAAC/kpQgDZMgDpUMAQsgCiARIARBAWqylEMAAAC/kpQgDZMgDpULIgkgE15xDQAgKEEAIAggCV8bQQAgCEMAAAAAYBshISAEIQUCQAJAIAlDAAAAAGBFDQAgCCAJYEUNACAEICVqIQVBACEDICUNAQtBASEDICFFDQELICAgIWoiByAfICFqIgEgIUEAShsiJkEASCAkICZMciIpIAUgBGsiBCAGaiIeIAIgBGoiHSAEQQBKGyInQQBIICIgJ0xyIgRxDQAgAyAEcg0BIAEgB04NASAgIB9rIQMgASEEA0AgHEFAayAnIAQQygFFBEAgBEEBaiEEIANBAWsiAw0BDAMLCyAAQQU6ADQMBwsgACAcKQIINwIAIABBMGogHEEIaiIBQTBqKQIANwIAIABBKGogAUEoaikCADcCACAAQSBqIAFBIGopAgA3AgAgAEEYaiABQRhqKQIANwIAIABBEGogAUEQaikCADcCACAAQQhqIAFBCGopAgA3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IAdBB0lqIQcgBCEDDAELCyAEIAQoAgAiAUECcjYCACABQQRxRQ0BIApBHEsNACAIQThqIQQgA0EBdkEfcUEcbCEBA0AgASAEaiICLQAAQQJxRQRAIAIgAigCACICQQRyNgIAIAJBAnFFDQMLIAFBHGoiAUGsBkcNAAsLIAgQlQILIAVBEGoiAUEQaiIEIAVBKGoiAkEQaigCADYCACABQQhqIgEgAkEIaikDADcDACAFIAUpAyg3AxAgBkECRg0AIAAgBjYCACAAIAUpAxA3AgQgAEEMaiABKQMANwIAIABBFGogBCgCADYCAAwNCyAAQQI2AgAgAEEBOgAEDAwLIAItAAAhASACQQE6AAAgBSABOgAQIAENA0HsgMQAKAIAQf////8HcQRAQbyExAAoAgBBAEchCAsgAi0AAQ0FAkAgAkEMaigCACIBRQ0AAn9BwPrDACkDACIMQgBSBEAgAkEIaigCACIHIAFBDGxqDAELEKEIIgQoAgAhASAEIAFBAWs2AgAgBSAENgIoIAQpAwghDCABQQFGBEAgBUEoahDGCQtBwPrDACAMNwMAIAIoAgwiAUUNASACQQhqKAIAIgcgAUEMbGoLIQRBACEBQQEhCQNAAkAgASAHaiIKKAIAIgYpAwggDFENACAGQRRqIgMoAgAhCyADIAsgCkEEaigCACALGzYCACALDQAgCUEBayEDIApBCGooAgAiBARAIAZBGGogBDYCAAsgAigCDCIGIANNDQcgAigCCCABaiIEKAIAIQEgBEEEaikCACEMIAQgBEEMaiAGIAlrQQxsEKENGiACIAZBAWs2AgwgAUUNAiAFIAE2AiggBSAMNwIsIAxCIIinIQMCQCAIDQBB7IDEACgCAEH/////B3FFDQBBvITEACgCAEUNACACQQE6AAELIAJBADoAAAJAIAMEQAJAIAMtABlFBEAgAy0AGEUEQEEAIQcDQCAHQQZNBEBBACEBA0AgASAHdiECIAFBAWohASACRQ0ACwsgByAHQQtJaiEHIAMtABhFDQALCyADKAIAIQkgA0ECNgIAIAlBAkYNDSADKAIUIQcgAygCBCECIAMoAgghCCADKAIMIQYgAygCECEEIAMQlQIgBSgCKCEBDAELIAMoAgAhCSADQQI2AgAgCUECRg0OIANBAToAGCADKAIUIQcgAygCBCECIAMoAggh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KgIEIRUgAioCACEpQX8hDSABKAJAIApBBHRqIgJBADoABCACIA42AgAgBEEBRgRAQX8hC0F/IQxD//9//yETQ///f/8hGUP//39/IRpD//9/fyEbQ///f/8hHEP//3//IR1D//9//yEeQ///f38hH0P//39/ISBD//9/fyEhQ///f/8hIkP//3//ISND//9//yEkQ///f38hJUP//39/ISZD//9/fyEnDAgLIAUoAggiAiADKAIEIgtNBEAgCyEKDAcLIAEoAkQiAiALTQRAIAshCgwBCyAFKAIEIAtBGGxqIgIqAhQhIiACKgIQISMgAioCDCEkIAIqAgghJSACKgIEISYgAioCACEnIAEoAkAgC0EEdGoiAkEBOgAEIAIgDjYCACAEQQJGBEBBfyEMQ///f/8hE0P//3//IRlD//9/fyEaQ///f38hG0P//3//IRxD//9//yEdQ///f/8hHkP//39/IR9D//9/fyEgQ///f38hIQwICyAFKAIIIgIgAygCCCIMTQRAIAwhCgwHCyABKAJEIgIgDE0EQCAMIQoMAQsgBSgCBCAMQRhsaiICKgIUIRwgAioCECEdIAIqAgwhHiACKgIIIR8gAioCBCEgIAIqAgAhISABKAJAIAxBBHRqIgJBAjoABCACIA42AgAgBEEDRgRAQ///f/8hE0P//3//IRlD//9/fyEaQ///f38hGwwICyAFKAIIIgIgAygCDCINTQRAIA0hCgwHCyANIAEoAkQiAkkNBSANIQoLIAogAkH01sAAEO0IAAsgCiACQYTWwAAQ7QgACyAKIAJBlNbAABDtCAALIAogA0Gk1sAAEO0IAAsgCiACQbTWwAAQ7QgACyAFKAIEIA1BGGxqIgIqAgAhGyACKgIEIRogAioCCCEWIAIqAgwhGSACKgIQIRMgAioCFCEXIAEoAkAgDUEEdGoiAkEDOgAEIAIgDjYCAAwBCyAKIAJB5NbAABDtCAALIAkgFzgC/AEgCSATOAL4ASAJIBk4AvQBIAkgFjgC8AEgCSAaOALsASAJIBs4AugBIAkgHDgC5AEgCSAdOALgASAJIB44AtwBIAkgHzgC2AEgCSAgOALUASAJICE4AtABIAkgIjgCzAEgCSAjOALIASAJICQ4AsQBIAkgJTgCwAEgCSAmOAK8ASAJICc4ArgBIAkgGDgCtAEgCSAoOAKw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IAAbEQAAAAsQ7goACyACQSBqJAAgBSgCSCEGCyAFKAJEIAZB9ABsaiICIBU2AgQgAiARNgIAIBopAgAhUSAPKQIAIVIgAiAxOAIgIAIgMjgCHCACIDA4AhggAiADKQPgATcCJCACQSxqICAoAgA2AgAgAiADKQOAAzcCMCACQThqIBMoAgA2AgAgAiBSNwIIIAJBEGogUTcCACACIAQpAgA3AjwgAkHEAGogECkCADcCACACQcwAaiASKQIANwIAIAJB1ABqIBgpAgA3AgAgAkHcAGogGSkCADcCACACQeQAaiAeKQIANwIAIAJB7ABqIB8pAgA3AgAgBSAGQQFqNgJIIANB4AFqIQZDAAAAACExIAVBKGoqAgAiMyADQagBaiICQSBqKgIAIjSUITUgAkEkaioCACEyIAIqAhwhMCAFKgIkIjggOJQgMyAzlJIgBUEsaioCACIzIDOUkhCYASE8IDggMJQhOAJAIDxDAAAAAFwgMCAwlCA0IDSUkiAyIDKUkhCYASIwQwAAAABccUUEQCA4IDWSIDMgMpSSITIMAQtDAACAv0MAAIA/IDggNZIgMyAylJIiMiA8IDCUlSIxIDFDAACAP14bIDFDAACAv10bEOwEITELIAYgAikCADcCACAGQQhqIAJBCGopAgA3AgAgBkEQaiACQRBqKQIANwIAIAZBGGogAkEYaikCADcCACAGQSBqIAJBIGopAgA3AgAgBkEoaiACQShqKQIANwIAIAZBMGogAkEwaikCADcCACAGIDEgBSoCNF86ADkgBiAyQwAAAABdQX9zIDEgBSoCMGBxOgA4IANBoAJqIgpBCGogGikCADcDACADIA8pAgA3A6ACIAMgNiADKgJQkjgCuAIgAyA3IAMqAkySOAK0AiADIDsgAyoCSJI4ArACIANBgANqIglBKGogA0EYaiICQShqKQIANwMAIAlBIGogAkEgaikCADcDACAJQRhqIAJBGGopAgA3AwAgCUEQaiACQRBqKQIANwMAIBMgAkEIaikCADcDACADIAMpAhg3A4ADIANB2ABqIRggA0HgAGohECADQcgAaiESQQAhGSMAQYACayICJAACQCAFKAIIIh5BAkYNACAGLQA4RQ0AIAUoAgAhHyAYKgIEITIgBSoCBCExIAVBDGoqAgAhMCAFQRBqKAIAISAgGCoCACE+IAVBFGoqAgAhPyAFQRhqLQAARQRAAkAgBygCECARTQ0AIAcoAgwiBkUNACAGIBFBqAFsaiIGKAIARQ0AIAYoAgQgFUcNACAGKAIIRQ0AIAZBDGooAgAiESAIKAIQTw0AIAgoAgwiFUUNACAVIBFB8AJsaiIRKAIARQ0AIBEoAgQgBkEQaigCAEcNACARQekCai0AAEUNAgsgCSAJKAIkQQhyNgIkCyACQQhqIgZBCGogCkEIaikCADcDACAGQRhqIDBDAACAPyAyIB4blCAxQwAAgD8gMiAfG5QiMJIiMSAFQSxqKgIAIjOUIApBGGoqAgCSOAIAIAZBFGogMSAFQShqKgIAIjSUIApBFGoqAgCSOAIAIAIgCikCADcDCCACIDEgBSoCJCI1lCAKKgIQkjgCGCAzIDUgECoCACJAlCA0IBAqAgQiQ5SSIBAqAggiRCAzlJIiMpQhOSBEIDmTIjggOJQgQCA1IDKUIkGTIjwgPJQgQyA0IDKUIkWTIj0gPZSSkhCYASIyQ6zFJzdfDQAgAiA4IDKVOAIsIAIgPSAylTgCKCACIDwgMpU4AiQgAkGAAjsBYCACIDA4AlwgAiAxOAJYIAJBqAFqIAwgCCAHIAogBUEkaiIRIA0gDiACQdgAaiAJECYgAi0A5AFBBEcNACACQYACOwFgIAIgMDgCXCACIDAgP0MAAIA/ID4gIBuUkiIyOAJYIAJBqAFqIAwgCCAHIAJBCGogAkEkaiANIA4gAkHYAGogCRAmIAItAOQBQQRHDQAgAkEwaiIGQQhqIAJBEGoiFSkDADcDACAGQRhqIDIgAioCLJQgAioCIJI4AgAgBkEUaiAyIAIqAiiUIAIqAhySOAIAIAIgAikDCDcDMCACIDIgAioCJJQgAioCGJI4AkAgAiAzjCJIOAJUIAIgNIwiSTgCUCACIDWMIko4AkwgAkGAAjsBYCACIDA4AlwgAiAxOAJYIAJBqAFqIAwgCCAHIAYgAkHMAGogDSAOIAJB2ABqIAkQJgJAIAItAOQBQQRGDQAgAkHYAGoiBkEwaiACQeABaikCADcDACAGQShqIAJBqAFqIgpBMGopAgA3AwAgBkEgaiAKQShqKQIANwMAIAZBGGogCkEgaikCADcDACAGQRBqIApBGGopAgA3AwAgBkEIaiAKQRBqKQIANwMAIAIgAikCsAE3A1ggAkGQAWoiBkEUaiA4OAIAIAZBEGogPTgCACACIDw4ApwBIAIgOTgCmAEgAiBFOAKUASACIEE4ApABQwAAAABDAAAAACAKQQhqIgpBIGoqAgAiOCAGKgIQIj6MlCAKKgIcIjwgBioCDCI/lJMgCkEkaioCACI9IAYqAhQiQZSTIjkgOUMAAAAAXRsgOSA5XBtDVACAP5QhOSACQegBaiIKIEEgPSA5lJI4AhQgCiA+IDggOZSSOAIQIAogPyA8IDmUkjgCDEMAAAAAQwAAAAAgOCAGKgIEIj6MlCA8IAYqAgAiP5STID0gBioCCCJBlJMiOSA5QwAAAABdGyA5IDlcG0NUAIA/lCE5IAogQSA9IDmUkjgCCCAKID4gOCA5lJI4AgQgCiA/IDwgOZSSOAIAIAIqAvgBIUsgAioC7AEhTCACKgL0ASFNIAIqAugBIU4gAioC/AEhTyACKgLwASFQQwAAAAAhOSACQfQAaiIGKgIIITggBioCACE8IAYqAgQhPSARKgIAIj4gPpQgESoCBCI/ID+UkiARKgIIIkEgQZSSEJgBIUUgPCA8lCA9ID2UkiA4IDiUkhCYASFGAkAgRUMAAAAAWw0AIEZDAAAAAFsNAEMAAIC/QwAAgD8gPiA8lCA/ID2UkiBBIDiUkiBFIEaUlSI4IDhDAACAP14bIDhDAACAv10bEOwEITkLIDUgTiBNkpQgNCBMIEuSlJIgMyBQIE+SlJJDAAAAAGBFDQAgOSAFKgIwXg0BCyACQdgAaiIGQQhqIBUpAwA3AwAgBkEYaiAyIAIqAiyUIAIqAiCSOAIAIAZBFGogMiACKgIolCACKgIckjgCACACIAIpAwg3A1ggAiAyIAIqAiSUIAIqAhiSOAJoIAIgSDgC8AEgAiBJOALsASACIEo4AugBIAJBgAI7ATggAiAwOAI0IAIgMTgCMCACQagBaiAMIAggByAGIAJB6AFqIA0gDiACQTBqIAkQJiBEIDMgMSAxIAIqArABIAItAOQBQQRGG5MiMZQiM5MhMCBAIDUgMZQiNZMiOCACKgIkIjyUIEMgNCAxlCI0kyI9IAIqAigiOZSSIDAgAioCLCJAlJIiMSAxIDIgMSAyXRsgMiAyXBshMiAQIDAgQCAylCIxkzgCCCAQID0gOSAylCIwkzgCBCAQIDggPCAylCIykzgCACASIBIqAgAgNSAykpI4AgAgEiA0IDCSIBIqAgSSOAIEIBIgMyAxkiASKgIIkjgCCEEBIRkLIAJBgAJqJAAgGUUEQCADQcgAaiEQIwBBgAFrIgIkACAFKgIkIjIgA0EIaiIJKgIAIjSUIAVBKGoqAgAiMSAJKgIEIjWUkiAFQSxqKgIAIjAgCSoCCCI4lJIhMyACIDggMCAzlJM4AhAgAiA1IDEgM5STOAIMIAIgNCAyIDOUkzgCCCACQRRqIAUgAkEIaiADQeABaiIGEJgEIAJBOGogBSAJIAYQmAQgAkHcAGoiCiAFIANB4ABqIAYQmAQgA0GAA2ohCQJ9AkACQAJAIDIgAioCdCIzlCAxIApBHGoqAgAiNJSSIDAgCkEgaioCACI1lJIiOEMAAAAAXkUNACAGLQA4RQ0AIDIgAioCUJQgMSACQThqIgpBHGoqAgCUkiAwIApBIGoqAgCUkkMAAAAAXkUNAQsCQCA4QwAAAABdRQ0AIAYtADlFDQAgMiACKgIslCAxIAJBFGoiCkEcaioCAJSSIDAgCkEgaioCAJSSQwAAAABdRQ0CCyAQQQE6AA0gAioCYCACQewAaioCAJIgNJIhMSAzIAIqAlwgAioCaJKSITAgAioCZCACQfAAaioCAJIgNZIMAgsgAkHsAGoqAgAgAioCYJIhMSACKgJoIAIqAlySITAgAkHwAGoqAgAgAioCZJIMAQsgAkHsAGoqAgAgAioCYJIhMSACKgJoIAIqAlySITAgAkHwAGoqAgAgAioCZJILITIgCSAwIAYqAhwgOpSSOAIAIAkgMiAGQSRqKgIAIDqUkjgCCCAJIDEgBkEgaioCACA6lJI4AgQgAkGAAWokACAUIBMoAgA2AgAgAyADKQKAAzcDYAsgBCAaKQIANwMAIAMgNiADKgJQkjgC2AIgAyA3IAMqAkySOALUAiADIDsgAyoCSJI4AtACIAMgDykCADcDwAIgAyAFIEIgCCAHIAwgDSAOIANBwAJqIANB2ABqIANBGGogA0HwAGogA0HgAGoQNToAVCAuRQ0CIAMqAmAiMiAylCADKgJkIjEgMZSSIAMqAmgiMCAwlJIiM0P+5tsuXg0BDAILCyADKgJoITIgA0EANgJoIAMqAmQhMSADKgJgITAgA0IANwNgIAMgMCADKgJIkjgCSCADIDEgAyoCTJI4AkwgAyAyIAMqAlCSOAJQCyAtBEAgA0HgAWoiCUEIaiAPQQhqKQIANwMAIANB+AFqIAMqAlAgC0GMAWoqAgCSOAIAIANB9AFqIAMqAkwgC0GIAWoqAgCSOAIAIAMgDykCADcD4AEgAyADKgJIIAtBhAFqKgIAkjgC8AEgA0HAAmohBiADQdgAaiELIANBGGohDyADQcgAaiEEIwBB4ABrIgIkAAJAAkAgBSgCHCIKQQJGDQAgBCoCACI0IAUqAiQiMZQgBCoCBCI1IAVBKGoqAgAiMJSSIAQqAggiNiAFQSxqKgIAIjOUkkOsxSe3XUUNACAFQSBqKgIAITcgBSoCBCE7IAUoAgAhBSALKgIEITIgAiAzjDgCUCACIDCMOAJMIAIgMYw4AkggAkGAAjsBXCACIDtDAACAPyAyIAUblDgCWCACIDdDAACAPyAyIAoblDgCVCACQQhqIAwgCCAHIAkgAkHIAGogDSAOIAJB1ABqIA8QJiACLQBEQQRGDQAgBEEBOgAMIAYgAioCECIyOAIIIAYgAikCCDcCACAEIDYgMyAylJM4AgggBCA1IDAgMpSTOAIEIAQgNCAxIDKUkzgCACAGIAJBFGopAgA3AgwgBkEUaiACQQhqIgVBFGopAgA3AgAgBkEcaiAFQRxqKQIANwIAIAZBJGogBUEkaikCADcCACAGQSxqIAVBLGopAgA3AgAgBkE0aiAFQTRqKQIANwIAIAZBPGogBUE8aigCADYCAAwBCyAGQQQ6ADwLIAJB4ABqJAALIANByAJqIANB0ABqKQMAIlE3AwAgAyADKQNIIlI3A8ACIBsoAgAiAiBSNwJMIAJB1ABqIFE3AgACQCAAKAIoLQAARQ0AAkAgACgCLCIAKAIABEAgACoCBCEyDAELQwAAAAAhMiAcKAIAIgAoAgBFDQAgKSgCACAAKAIEIAAoAggQqAoiAEUNAEMAAAAAQwAAgD8gAEHUAWoqAgAiMpUgMkMAAAAAWxshMgsgGygCACIAQcgAaigCACICRQ0AIABBxABqKAIAIQAgAkH0AGwhEgNAIBwoAgAiDkE0aigCACIHKAIIIQsgKigCACEFICsoAgAhCCApKAIAIQIgLCoCACExIBsoAgAhBiAOKAIwIQwgA0H8tMAANgLsAiADIAE2AugCIAMgITYC5AIgAyAoNgLgAiADICc2AtwCIAMgJjYC2AIgAyAlNgLUAiADICQ2AtACIANBATYCzAIgAyAiNgLIAiADICM2AsQCIAMgHTYCwAIgA0HAAmohDSMAQaACayIEJAAgBEHQAGoiCSAMIAtBAWtBeHFqQQhqIgsgBygCfBEAACAAIg5B2ABqKgIAITggAEE0aioCACFCIABB3ABqKgIAITwgAEE4aioCACFAIABB4ABqKgIAIT0gACoCMCFDIAQgBiIAKgIEQwAAgD8gBCoCXCAEKgJQkyAAKgIki5QgCUEQaioCACAEKgJUkyAAQShqKgIAi5SSIAlBFGoqAgAgBCoCWJMgAEEsaioCAIuUkiAAKAIAG5RDzcyMP5QiMDgCBCAEQQA2AhAgBEKAgICAwAA3AgggBEEsaiALIA5BCGogBygCiAERAQACQCAwQwAAAABgBEAgBEEUaiIAQRRqIDAgBEEsaiIGQRRqKgIAkjgCACAAQRBqIDAgBkEQaioCAJI4AgAgBCAwIAQqAjiSOAIgIAQgBCoCNCAwkzgCHCAEIAQqAjAgMJM4AhggBCAEKgIsIDCTOAIUIARByABqIAc2AgAgBCALNgJEIAQgDjYCPCAEIAI2AjQgBCANNgIwIAQgCDYCLCAEIARBBGo2AkwgBCAEQZ8CajYCQCAEIARBCGo2AjggBEHQAGogABDrBSAEIAY2ArABIARBADYCzAEgBEKAgICAwAA3AsQBAkAgBUHoAGooAgAiC0UNACAEQcQBakEAELMGIAQoAsgBIAQoAswBIgBBAnRqQQA2AgAgAEEBaiINRQ0AIAVBjAFqKAIAIQ8gBUGIAWooAgAhCiAFQeQAaigCACEaA0AgBCANQQFrIgA2AswBAkACQCAEKALIASAAQQJ0aiIRKAIAIgAgC0kEQCAEKALEASEUIBogAEEHdGoiBi0AeEEBcQ0BIARB0AFqIAYgBEHQAGoQ3gIMAgsgACALQZDdwAAQ7QgACyAGQeQAaigCACEFIAZB6ABqKAIAIQcgBkHsAGooAgAhCCAGKAJgIQkgBEHQAWogBiAEQdAAahDeAkEAIQAgBCAKIAlBBHRqQQAgCSAPSSIJG0EIakEAIAkbNgLoASAEIAogCEEEdGpBACAIIA9JIggbQQhqQQAgCBs2AvQBIAQgCiAHQQR0akEAIAcgD0kiBxtBCGpBACAHGzYC8AEgBCAKIAVBBHRqQQAgBSAPSSIFG0EIakEAIAUbNgLsASAELQDQASAELQDRAUEBdHIgBC0A0gFBAnRyIAQtANMBQQN0cq1C/wGDIVIgBEHoAWohB0IAIVEDQAJAIFIgUYhCAYNQDQAgBygCACIHRQ0AIAcoAgAiCCAEKAKwASIJKAIAIgUoAhBPDQAgBSgCDCIFRQ0AIAUgCEGoAWxqIgUoAgBFDQAgB0EEaigCACIHIAUoAgRHDQAgBUEIaiIMKAIARQ0AIAVBEGooAgAhFiAFQQxqKAIAIRAgCSgCBCAJKAIIIhNBDGoiFygCACATQRBqIhMoAgAgCCAHIAwQtgRFDQAgEygCACAQTQ0AIBcoAgAiB0UNACAHIBBB8AJsaiIHKAIARQ0AIAcoAgQgFkcNACAHQekCai0AAA0AIAkoAgwiDCgCCCEIIAxBADYCCCAIBEAgDCgCBEGAAWohBwNAIAdBBGsoAgAEQCAHKAIAEJUCCyAHQShrKAIABEAgB0EkaygCABCVAgsgB0GoAWohByAIQQFrIggNAAsLIAQgCSgCECIHQRBqKgIAIjAgBUGEAWoqAgAiNpQgB0EMaioCACIzIAVBgAFqKgIAIjeUIAcqAggiNCAFQfwAaioCACI7lCAHQRRqKgIAIjUgBUGIAWoqAgAiOpSSkpI4AoQCIAQgMyA7lCA1IDaUIDQgN5STkiAwIDqUkzgCgAIgBCA1IDeUIDQgNpSSIDMgOpSTIDAgO5STOAL8ASAEIDAgN5QgNSA7lCA0IDqUkyAzIDaUk5I4AvgBIDMgBUGMAWoqAgAgB0EYaioCAJMiO5QgNCAFQZABaioCACAHQRxqKgIAkyI6lJMiNiA2kiE2IDAgOpQgMyAFQZQBaioCACAHQSBqKgIAkyI5lJMiNyA3kiE3IAQgOSA1IDaUIDMgN5QgNCA0IDmUIDAgO5STIjkgOZIiOZSTkpI4ApACIAQgOiA1IDmUIDQgNpQgMCA3lJOSkjgCjAIgBCA7IDUgN5QgMCA5lCAzIDaUk5KSOAKIAiAJQRxqKAIAIRMgBUE4aigCACEXIAVBPGooAgAiBSgCCCEVIAwoAgghCCAJKAIYIRggCSgCFCEZIAkoAiAqAgAhMCAEQQA2ApQCIBkgBEH4AWogGCATIBcgFUEBa0F4cWpBCGogBSAwIAwgBEGUAmoQMBoCQCAEKAKUAiIFRQ0AIAUgBCgCmAIiCSgCABEGACAJKAIERQ0AIAkoAggaIAUQlQILIAwoAggiCSAITwRAIAggCUYNASAMKAIEIQUgCUGoAWwhCSAIQagBbCEMA0AgBSAMaiIIQdQAaiAWNgIAIAhB0ABqIBA2AgAgCEHMAGpBATYCACAHKgIIIjAgCEGMAWoqAgAiN5QgByoCDCIzIAhBiAFqKgIAIjuUkyI0IDSSITQgByoCECI1IDuUIDAgCEGQAWoqAgAiOpSTIjYgNpIhNiAIQfAAaiA6IAcqAhQiOSA0lCAwIDaUIDMgMyA6lCA1IDeUkyI6IDqSIjqUk5KSOAIAIAhB7ABqIDcgOSA2lCA1IDqUIDAgNJSTkpI4AgAgCEHoAGogOyA5IDqUIDMgNJQgNSA2lJOSkjgCACAFQagBaiEFIAwgCUGoAWsiCUcNAAsMAQsgCCAJQayOwQAQ7AgACyBRQgF8IVEgBEHoAWogAEEBaiIAQQJ0aiEHIABBBEcNAAsLIAQtANABIgVBAkYNASAGQfgAaiEAAkAgBC0A0wFBA3RBCHEgBC0A0gFBAnRBBHEgBC0A0QFBAXRBAnEgBUEBcXJyciIHrSJRQgGDUA0AIAAtAABBAXENACAGKAJgIgUgC0sNACARIAU2AgAgBCANNgLMAQsCQCBRQgKDUA0AIAAtAABBAXENACAGQeQAaigCACIIIAtLDQAgFCAEKALMASIFRgRAIARBxAFqIBQQswYgBCgCzAEhBQsgBCgCyAEgBUECdGogCDYCACAEIAVBAWo2AswBCwJAIFFCBINQDQAgAC0AAEEBcQ0AIAZB6ABqKAIAIgggC0sNACAEKALMASIFIAQoAsQBRgRAIARBxAFqIAUQswYgBCgCzAEhBQsgBCgCyAEgBUECdGogCDYCACAEIAVBAWo2AswBCwJAIAdBCEkNACAALQAAQQFxDQAgBkHsAGooAgAiBSALSw0AIAQoAswBIgAgBCgCxAFGBEAgBEHEAWogABCzBiAEKALMASEACyAEKALIASAAQQJ0aiAFNgIAIAQgAEEBaiINNgLMASANDQEMAgsgBCgCzAEiDQ0ACwsgBCgCxAEEQCAEKALIARCVAgsgBCgCDCEIAkAgBCgCECIARQ0AQwAAAABDAACAPyAxlSIwIDFDCOU8Hl8bIDAgMUMI5TyeYBsiMSA9IDggQ5QgQiA8lJIgQCA9lJIiMJSUITkgMSA8IDCUlCFCIDEgOCAwlJQhQCAIIABBqAFsaiEJIAJBHGohCwNAAkAgCEHMAGooAgAEQAJAIAhB0ABqKAIAIgcgAigCEE8NACACKAIMIgBFDQAgACAHQfACbGoiACgCAEUNACAIQdQAaigCACIGIAAoAgRHDQAgAEHAAmotAABBAXFFBEAgAEEBNgLAAiACKAIkIgUgAigCHEYEQCALIAUQsAYgAigCJCEFCyACIAVBAWo2AiQgAigCICAFQQN0aiIFIAY2AgQgBSAHNgIACyAIQYQBaigCACIFRQ0CIAhBgAFqKAIAQSRqIQcgBUE8bCEFA0ACQCAHQQxqKgIAIAQqAgRfRQ0AIAcqAgAiNyAAKgJAIjGUIAdBCGoqAgAiOyAAKgI4IjCUkyIzIDOSITMgOyAAKgI8IjSUIAdBBGoqAgAiNiAxlJMiNSA1kiE1QwAAAABDAAAAACAIKgJwIkMgOSAAKgKQASJEIAAqAkwgNiAAKgJEIjogM5QgMSA1lCAwIDYgMJQgNyA0lJMiNiA2kiI4lJOSkpIgACoC9AGTIjYgACoClAEiPJQgACoCSCA3IDogNZQgNCA4lCAxIDOUk5KSkiAAKgLwAZMiNyAAKgKYASI9lJOSk5QgCCoCaCI+IEAgACoCiAEiPyAAKgJQIDsgOiA4lCAwIDOUIDQgNZSTkpKSIAAqAvgBkyIzID2UIDYgACoCnAEiO5STkpOUIAgqAmwiNCBCIAAqAowBIjggNyA7lCAzIDyUk5KTlJKSIjEgMUMAAAAAXRsgMSAxXBshMCA3QwAAAABDAACAPyAAKgLcASIxlSAxQwAAAABbGyIxIDKUIDEgMpKVIjogNCAwlJQiNJQgNiA6ID4gMJSUIjWUkyExIDMgNZQgNyA6IEMgMJSUIjeUkyEwIDYgN5QgMyA0lJMhMyAALQDpAiEGAkAgNUMAAAAAWyA0QwAAAABbcSA3QwAAAABbcQ0AIAYNACAAIEQgNyAAKgKEApSSOAKQASAAIDggNCAAKgKAApSSOAKMASAAID8gNSAAKgL8AZSSOAKIASAALQDYAgRAIAAgACgCwAJBBHI2AsACCyAAQQA2AtQCIABBADoA2AILIDNDAAAAAFwgMEMAAAAAXHIgMUMAAAAAXHJFDQAgBg0AIDMgACoCsAEiNJQgMCAAKgK4ASI1lJIgMSAAKgK8ASI3lJIhNiAAIDcgNpQgNCAzIAAqAqgBIjiUIDAgACoCrAEiN5SSIDEgNJSSIjqUIDUgMyA3lCAwIAAqArQBIjCUkiAxIDWUkiIxlJKSIDuSOAKcASAAID0gNSA2lCA3IDqUIDAgMZSSkpI4ApgBIAAgPCA0IDaUIDggOpQgNyAxlJKSkjgClAEgAC0A2AIEQCAAIAAoAsACQQRyNgLAAgsgAEEANgLUAiAAQQA6ANgCCyAHQTxqIQcgBUE8ayIFDQALDAILQaSVwQBBE0GcjsEAEO8JAAtB2MDAAEErQYyOwQAQuQoACyAJIAhBqAFqIghHDQALIAQoAgwhCCAEKAIQIgdFDQAgCEGAAWohAANAIABBBGsoAgAEQCAAKAIAEJUCCyAAQShrKAIABEAgAEEkaygCABCVAgsgAEGoAWohACAHQQFrIgcNAAsLIAQoAggEQCAIEJUCCyAEQaACaiQADAELIARB3ABqQgA3AgAgBEEBNgJUIARBpL3AADYCUCAEQfy8wAA2AlggBEHQAGpBnL7AABDvCgALIA5B9ABqIQAgEkH0AGsiEg0ACwsgA0GwA2okAAuIGAIOfwp9IwBBQGoiAyQAIABB2ABqKAIAIQkgAEHcAGooAgAhBiAAQThqQQA2AgAgAEEgakEANgIAIANBAToACyAGQQxsIQgCQAJAAkACQAJAAkACQAJAAkACQAJAIAZFBEAgA0EANgIUIANCgICAgMAANwIMIANBADYCICADQoCAgIDAADcCGEEEIQIMAQtBkfrDAC0AABogBkECdCICQQQQowwiAUUNASADQQA2AhQgAyABNgIQIAMgBjYCDCAGQdWq1SpLDQIgBkEYbCIBQQBIDQJBkfrDAC0AABogAUEEEKMMIgJFDQMgAiEBAkAgBkECSQ0AIAZBAWsiB0EDcSEEIAZBAmtBA08EQCAHQXxxIQUDQCABQv////v///+/fzcCECABQv////v3//+/fzcCCCABQv////v3//+//wA3AgAgAUHYAGpC////+////79/NwIAIAFB0ABqQv////v3//+/fzcCACABQcgAakL////79///v/8ANwIAIAFBQGtC////+////79/NwIAIAFBOGpC////+/f//79/NwIAIAFBMGpC////+/f//7//ADcCACABQShqQv////v///+/fzcCACABQSBqQv////v3//+/fzcCACABQRhqQv////v3//+//wA3AgAgAUHgAGohASAFQQRrIgUNAAsLIARFDQADQCABQv////v///+/fzcCECABQv////v3//+/fzcCCCABQv////v3//+//wA3AgAgAUEYaiEBIARBAWsiBA0ACwsgAUL////79///v/8ANwIAIAFC////+////79/NwIQIAFC////+/f//79/NwIIIAMgBjYCICADIAI2AhwgAyAGNgIYQZH6wwAtAAAaIAhBBBCjDCICRQ0EIAIhAQJAIAZBAkkNACAGQQFrIgdBA3EhBCAGQQJrQQNPBEAgB0F8cSEFA0AgAUJ/NwIIIAFBADoABCABQX82AgAgAUEsakF/NgIAIAFBKGpBADoAACABQSBqQn83AgAgAUEcakEAOgAAIAFBFGpCfzcCACABQRBqQQA6AAAgAUEwaiEBIAVBBGsiBQ0ACwsgBEUNAANAIAFBfzYCCCABQQA6AAQgAUF/NgIAIAFBDGohASAEQQFrIgQNAAsLIAFBfzYCCCABQQA6AAQgAUF/NgIACyAAKAI8BEAgACgCQBCVAgsgACAGNgJEIAAgAjYCQCAAIAY2AjwgBgR/IAggCWohDCAAQTxqIQ1BACEEA0AgCSgCACIBIAAoAlAiAk8NBiAJKAIEIgcgAk8NByAJKAIIIgUgAk8NCCAEQQFqIQggACgCTCICIAFBDGxqIgEqAgQhFCACIAVBDGxqIgUqAgAhEiACIAdBDGxqIgIqAgAhFSACKgIIIRAgASoCCCEWIAUqAgghDyACKgIEIRcgBSoCBCETIAEqAgAhGCAEIAZPBEAgACgCPCAGIgJrIAggAmsiB0kEQCANIAYgBxCPBiAAKAJEIQILIAAoAkAgAkEMbGohASAHQQJPBEAgBCAGayIFQQNxIQogBCAGQX9zakEDTwRAIAVBfHEhBQNAIAFCfzcCCCABQQA6AAQgAUF/NgIAIAFBLGpBfzYCACABQShqQQA6AAAgAUEgakJ/NwIAIAFBHGpBADoAACABQRRqQn83AgAgAUEQakEAOgAAIAFBMGohASAFQQRrIgUNAAsLIAoEQCALIAZrQQNxIQUDQCABQX82AgggAUEAOgAEIAFBfzYCACABQQxqIQEgBUEBayIFDQALCyACIAdqQQFrIQILIAFBfzYCCCABQQA6AAQgAUF/NgIAIAAgAkEBaiIGNgJEIAMgAygCICIHIARNBH8gCCAHIgJrIQogCiADKAIYIAJrSwRAIANBGGogByAKEKYGIAMoAiAhAgsgAygCHCACQRhsaiEBIApBAk8EQCAEIAdrIgVBA3EhDiAEIAdBf3NqQQNPBEAgBUF8cSEFA0AgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAFB2ABqQv////v///+/fzcCACABQdAAakL////79///v383AgAgAUHIAGpC////+/f//7//ADcCACABQUBrQv////v///+/fzcCACABQThqQv////v3//+/fzcCACABQTBqQv////v3//+//wA3AgAgAUEoakL////7////v383AgAgAUEgakL////79///v383AgAgAUEYakL////79///v/8ANwIAIAFB4ABqIQEgBUEEayIFDQALCyAOBEAgCyAHa0EDcSEFA0AgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAFBGGohASAFQQFrIgUNAAsLIAIgCmpBAWshAgsgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAJBAWoFIAgLNgIgCyAEIAZPDQkgACgCQCAEQQxsaiAENgIIIAMoAiAiAiAETQ0KIAMoAhwgBEEYbGoiAiAPIA8gECAQIBYgECAWXiIBGyAWIBZcGyIRIA8gEV4bIBEgEVwbOAIUIAIgEyATIBcgFyAUIBQgF10iBxsgFCAUXBsiESARIBNdGyARIBFcGzgCECACIBIgEiAVIBUgGCAVIBheIgUbIBggGFwbIhEgESASXRsgESARXBs4AgwgAiAWIBYgECABGyAQIBBcGyIQIBAgDyAPIBBeGyAPIA9cGzgCCCACIBQgFCAXIAcbIBcgF1wbIg8gDyATIA8gE10bIBMgE1wbOAIEIAIgGCAYIBUgBRsgFSAVXBsiDyAPIBIgDyASXRsgEiASXBs4AgAgAygCFCIBIAMoAgxGBEAgA0EMaiABELMGIAMoAhQhAQsgAygCECABQQJ0aiAENgIAIAMgAUEBajYCFCALQQFqIQsgCCEEIAwgCUEMaiIJRw0ACyAAKAIgBUEACyEEIAQgAEEYaiICKAIARgRAIAIgBBC0BiAAKAIgIQQLIABBHGooAgAgBEEHdGoiAkKBgICAcDcDYCACQQA6AHggAkEAOgB0IAJBfzYCcCACQv////v///+/fzcDWCACQv////v///+/fzcDUCACQv////v///+/fzcDSCACQv////v///+/fzcDQCACQv////v///+/fzcDOCACQv////v///+/fzcDMCACQv////v3//+//wA3AyggAkL////79///v/8ANwMgIAJC////+/f//7//ADcDGCACQv////v3//+//wA3AxAgAkL////79///v/8ANwMIIAJC////+/f//7//ADcDACACQegAakJ/NwMAIAAgBEEBajYCICADQSRqIAAgA0ELaiADKAIQIgIgAygCFCADQRhqQQBBABBBIANBLGoqAgAhEiADQTBqKgIAIQ8gA0E0aioCACETIANBOGoqAgAhFCADKgIoIRUgACADQTxqKgIAIhA4AhQgACAUOAIQIAAgEzgCDCAAIA84AgggACASOAIEIAAgFTgCACAAKAIgRQ0JIAAoAhwiAEH///97NgJcIABC////+////79/NwJUIAAgEDgCUCAAQf///3s2AkwgAEL////7////v383AkQgACAUOAJAIABB////ezYCPCAAQv////v///+/fzcCNCAAIBM4AjAgAEH////7BzYCLCAAQv////v3//+//wA3AiQgACAPOAIgIABB////+wc2AhwgAEL////79///v/8ANwIUIAAgEjgCECAAQf////sHNgIMIABC////+/f//7//ADcCBCAAIBU4AgAgAygCGARAIAMoAhwQlQILIAMoAgwEQCACEJUCCyADQUBrJAAPC0EEIAJB2IDEACgCACIAQaMHIAAbEQAAAAsQ7goAC0EEIAFB2IDEACgCACIAQaMHIAAbEQAAAAtBBCAIQdiAxAAoAgAiAEGjByAAGxEAAAALIAEgAkH0+sIAEO0IAAsgByACQYT7wgAQ7QgACyAFIAJBlPvCABDtCAALIAQgBkHAmcIAEO0IAAsgBCACQdCZwgAQ7QgAC0EAQQBBsJnCABDtCAALohECNH8CfQJAIAEoAgwiCCABKAIQIhYgCCAWSRsiDUUEQEEEIR5BACENDAELAkAgDUH/////AEsNACANQQN0IgNBAEgNAEGR+sMALQAA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IAFBIGohCiABKAIgIgVFBEAgCkEAELAGIAEoAiAhBSABKAIoIQYLIAEgBkEBaiIDNgIoIAFBJGooAgAiBCAGQQN0akL///97NwIAIAMgBUYEQCAKIAUQsAYgASgCJCEEIAEoAighAwtBACEGIAFB1ABqQQA2AgAgAUE8aiAcOAIAIAFBOGogGzgCACABIANBAWo2AiggAUHIAGpBADYCACAEIANBA3RqQv////v3/////wA3AgAgAUFAayEKIAEoAkAiBUUEQCAKQQAQsAYgASgCQCEFIAEoAkghBgsgASAGQQFqIgM2AkggAUHEAGooAgAiBCAGQQN0akL///97NwIAIAMgBUYEQCAKIAUQsAYgASgCRCEEIAEoAkghAwsgAUEAOgCRASABQdwAaiAaOAIAIAFB2ABqIBk4AgAgASADQQFqNgJIIAQgA0EDdGpC////+/f/////ADcCACABKAJgBEAgAUHkAGooAgAQlQILIAFCgICAgMAANwJgIAFBADoAkAEgAUHoAGpCADcCACABQYQBakKAgICAcDcCACABKAKMAQ0DIAFB+ABqKAIARQ0BQfDzwQBBKkGg9cEAELkKAAsgGCAdX0UNCEGR+sMALQAAGkEQQQQQowwiA0UNCSADQv////v3/////wA3AgggA0L///97NwIAIBsgHF9FDQhBkfrDAC0AABpBEEEEEKMMIgRFDQkgBEL////79/////8ANwIIIARC////ezcCACAZIBpfRQ0IQZH6wwAtAAAaQRBBBBCjDCIGRQ0JIAZC////+/f/////ADcCCCAGQv///3s3AgBBkfrDAC0AABpBlAFBBBCjDCIBRQ0DIAFBADsBkAEgAUL/////DzcCiAEgAUIENwKAASABQgA3AnggAUKAgICAwAA3AnAgAUIANwJoIAFCgICAgMAANwJgIAEgGjgCXCABIBk4AlggAUIENwJQIAFCAjcCSCABIAY2AkQgAUECNgJAIAEgHDgCPCABIBs4AjggAUIENwIwIAFCAjcCKCABIAQ2AiQgAUECNgIgIAEgHTgCHCABIBg4AhggAUIENwIQIAFCAjcCCCABIAM2AgQgAUECNgIACyAALQA8IQMgAC0APSEEAkAgAigCDCIGQX9GBEAgAigCCCIGIAIoAgBGBEAgAiAGELoGIAIoAgghBgsgAiAGQQFqNgIIIAIoAgQgBkEsbGoiAiADOgApIAIgBDoAKCACQX82AiQgAiAaOAIgIAIgHDgCHCACIB04AhggAiAZOAIUIAIgGzgCECACIBg4AgwgAiABNgIEIAJBATYCAAwBCyACKAIIIgUgBk0NBCACIAIoAgQgBkEsbGoiAigCJDYCDCACQQRqIQUCQCACKAIARQ0AIAUoAgAiCkUNACAKEJQFCyACIAM6ACkgAiAEOgAoIAJBfzYCJCACIBo4AiAgAiAcOAIcIAIgHTgCGCACIBk4AhQgAiAbOAIQIAIgGDgCDCACQQE2AgAgBSABNgIACyAAQTBqKAIAIgEgACgCKEYEQCAAQShqIAEQswYgACgCMCEBCyAAIAFBAWo2AjAgAEEsaigCACABQQJ0aiAGNgIAIBEgCUEQaigCACICcSIAIAkoAgwiA2opAABCgIGChIiQoMCAf4MiF1AEQEEIIQEDQCAAIAFqIQAgAUEIaiEBIAMgACACcSIAaikAAEKAgYKEiJCgwIB/gyIXUA0ACwsgAyAXeqdBA3YgAGogAnEiAWosAAAiBUEATgRAIAMgAykDAEKAgYKEiJCgwIB/g3qnQQN2IgFqLQAAIQULIAkoAgghAAJAIAVBAXEiE0UNACAJQRRqKAIADQAgCSgCBCESIwBBMGsiDCQAAkAgCUEMaiIKKAIMIhBBAWoiAUUEQBCaCiAMKAIIGgwBCyAKKAIEIgVBAWoiAkEDdiEEAkACQAJAAkACQAJAIAUgBEEHbCAFQQhJGyILQQF2IAFJBEAgASALQQFqIgIgASACSxsiAkEISQ0BAn8gAkGAgICAAkkEQEEBIQEgAkEDdCICQQ5JDQZBfyACQQduQQFrZ3ZBAWoMAQsQmgogDCgCKEGBgICAeEcNCCAMKAIsCyIBQf////8DSw0FDAQLQQAhASAKKAIAIQMCQCAEIAJBB3FBAEdqIgRFDQAgBEEBcSENIARBAUcEQCAEQf7///8DcSEEA0AgASADaiIIKQMAIRcgCCAXQn+FQgeIQoGChIiQoMCAAYMgF0L//v379+/fv/8AhHw3AwAgCEEIaiIIKQMAIRcgCCAXQn+FQgeIQoGChIiQoMCAAYMgF0L//v379+/fv/8AhHw3AwAgAUEQaiEBIARBAmsiBA0ACwsgDUUNACABIANqIgEpAwAhFyABIBdCf4VCB4hCgYKEiJCgwIABgyAXQv/+/fv379+//wCEfDcDAAsgAkEITwRAIAIgA2ogAykAADcAAAwCCyADQQhqIAMgAhChDRogBUF/Rw0BQQAhCwwCC0EEQQggAkEESRshAQwCCyADQQRrIRRBACEBA0ACQCADIAEiAmoiDS0AAEGAAUcNAAJAAkAgACAUIAJBAnQiBGsiFSgCACIBSwRAIAMgBGtBBGshCANAIAMgEiABQRRsaigCACIOIAVxIg8iBGopAABCgIGChIiQoMCAf4MiF1AEQEEIIQEDQCABIARqIQQgAUEIaiEBIAMgBCAFcSIEaikAAEKAgYKEiJCgwIB/gyIXUA0ACwsgAyAXeqdBA3YgBGogBXEiBGosAABBAE4EQCADKQMAQoCBgoSIkKDAgH+DeqdBA3YhBAsgBCAPayACIA9rcyAFcUEISQ0CIAMgBEECdGtBBGshASADIARqIg8tAAAhFiAPIA5BGXYiDjoAACAEQQhrIAVxIANqQQhqIA46AAAgFkH/AUYNAyAILQAAIQQgCCABLQAAOgAAIAEgBDoAACAILQABIQQgCCABLQABOgABIAEgBDoAASAILQACIQQgCCABLQACOgACIAEgBDoAAiAILQADIQQgCCABLQADOgADIAEgBDoAAyAAIBUoAgAiAUsNAAsLIAEgAEGE98AAEO0IAAsgDSAOQRl2IgE6AAAgAkEIayAFcSADakEIaiABOgAADAELIA1B/wE6AAAgAkEIayAFcSADakEIakH/AToAACABIAgoAAA2AAALIAJBAWohASACIAVHDQALCyAKIAsgEGs2AggMAwsgAUECdCIDQQdqIQIgAiADSQ0AIAJBeHEiAyABQQhqIgRqIQIgAiADTw0BCxCaCiAMKAIQGgwBCwJAIAJBAE4EQEGR+sMALQAAGiACQQgQowwiCEUEQEEIIAJB2IDEACgCACIAQaMHIAAbEQAAAAsgAyAIakH/ASAEEKINIQIgAUEBayIDIAFBA3ZBB2wgA0EISRsgEGshECAKKAIAIQsCQCAFQX9HBEAgC0EEayENQQAhCANAIAggC2osAABBAE4EQCANIAhBAnQiDmsoAgAiASAATw0FIAIgEiABQRRsaigCACIPIANxIgRqKQAAQoCBgoSIkKDAgH+DIhdQBEBBCCEBA0AgASAEaiEEIAFBCGohASACIAMgBHEi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QgA3AgAgE0EgakIANwIAIBNBKGpCADcCACATQTBqQgA3AgAgE0E4akIANwIAAkACQAJAIAkEQCAJQSxqLQAADQEgEkHAAmogCUHMAGoQ/AgMAgsgEkHIAGoiCUE4aiASQQhqIhNBOGopAgA3AwAgCUEwaiATQTBqKQIANwMAIAlBKGogE0EoaikCADcDACAJQSBqIBNBIGopAgA3AwAgCUEYaiATQRhqKQIANwMAIAlBEGogE0EQaikCADcDACAJQQhqIBNBCGopAgA3AwAgEiASKQIINwNIDAILIBJB2AJqIAlByABqKAIANgIAIBJB0AJqIAlBQGspAgA3AwAgEkHIAmogCUE4aikCADcDACASQeQCaiAJQdABaigCADYCACASQfACaiAJQfAAaigCADYCACASQfwCaiAJQfwAaigCADYCACASIAkpAjA3A8ACIBIgCSkCaDcD6AIgEiAJQcgBaikCADcC3AIgEiAJQfQAaikCADcC9AILIBJByABqIglBOGogEkHAAmoiE0E4aikDADcDACAJQTBqIBNBMGopAwA3AwAgCUEoaiATQShqKQMANwMAIAlBIGogE0EgaikDADcDACAJQRhqIBNBGGopAwA3AwAgCUEQaiATQRBqKQMANwMAIAlBCGogE0EIaikDADcDACASIBIpA8ACNwNICwJAAkACQCAKBEAgCkEsai0AAA0BIBJBwAJqIApBzABqEPwIDAILIBJBiAFqIglBOGogEkEIaiIKQThqKQIANwMAIAlBMGogCkEwaikCADcDACAJQShqIApBKGopAgA3AwAgCUEgaiAKQSBqKQIANwMAIAlBGGogCkEYaikCADcDACAJQRBqIApBEGopAgA3AwAgCUEIaiAKQQhqKQIANwMAIBIgEikCCDcDiAEMAgsgEkHYAmogCkHIAGooAgA2AgAgEkHQAmogCkFAaykCADcDACASQcgCaiAKQThqKQIANwMAIBJB5AJqIApB0AFqKAIANgIAIBJB8AJqIApB8ABqKAIANgIAIBJB/AJqIApB/ABqKAIANgIAIBIgCikCMDcDwAIgEiAKKQJoNwPoAiASIApByAFqKQIANwLcAiASIApB9ABqKQIANwL0AgsgEkGIAWoiCUE4aiASQcACaiIKQThqKQMANwMAIAlBMGogCkEwaikDADcDACAJQShqIApB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BTYCACAHIANBAWo2AgwgBiAEQQhqNgIIIAdBMGoiBSgCACEDIAVBADYCACAHQSxqKAIAIgYgA0EMbGohCCADRQ0BA0AgBigCACIDRQRAIAZBDGohBgwDCyADQRRqIgkoAgAhBSAJIAUgBikCBCILpyAFGzYCACADIAMoAgAiBUEBazYCACAEIAs3AiwgBCADNgIoIAVBAUYEQCAEQShqEOUJCyAIIAZBDGoiBkcNAAsMAgsACyAIIAZrQQxuIQUgBiAIRg0AIAcoAiwiAyAGIANrQQxuQQxsaiEDA0AgAygCACIIKAIAIQYgCCAGQQFrNgIAIAZBAUYEQCADEOUJCyADQQxqIQMgBUEBayIFDQALCwJAIAFBHGotAAANAEHsgMQAKAIAQf////8HcUUNAEG8hMQAKAIARQ0AIAdBAToAAQsgB0EAOgAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACIAEoAiQiAikDACACKAIIENMEQQFrDgMBAgMAC0G4xMAAQShBgMnAABC5CgALIAQgASgCKCgCACICLQAAIgE6ACcgAkEBOgAAIAENC0EAIQdB7IDEACgCAEH/////B3EEQEG8hMQAKAIAQQBHIQcLIAItAAENBCACQQhqKAIAIgZBDGshBSACQQxqKAIAIghBDGwhA0F/IQEDQCADRQ0GIAFBAWohASAFQQxqIQUgA0EMayEDIAYoAgQhCSAGQQxqIQYgCSAKRw0ACyABIAhPDQMgBUEEaikCACELIAUoAgAhASAFIAVBDGogAxChDRogAiAIQQFrNgIMIAFFDQUgASABKAIAIgNBAWs2AgAgBCALNwIsIAQgATYCKCADQQFGBEAgBEEoahDlCQsCQCAHDQBB7IDEACgCAEH/////B3FFDQBBvITEACgCAEUNACACQQE6AAELIAJBADoAACAEKAIIIQEgBEECNgIIIAFBAkYNBiAAIAQoAhw2AhggACAEKQIUNwIQIAAgBCkCDDcCCCAAIAE2AgQgAEEANgIADAILIAQgASgCKCgCACICLQAAIgE6ACcgAkEBOgAAIAENCkEAIQdB7IDEACgCAEH/////B3EEQEG8hMQAKAIAQQBHIQcLIAItAAENByACQQhqKAIAIgZBDGshBSACQQxqKAIAIghBDGwhA0F/IQEDQCADRQ0JIAFBAWohASAF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AkEEEMwGIAMoAggLIgRBBGoiAjYCCCADKAIEIARqIAY2AAAgBUEEayIFDQALCyABQcQAaigCACECIAFBQGsoAgAhByAAKAIAIgMoAgghBCADKAIAIARrQQdNBEAgAyAEQQgQzAYgAygCCCEECyADIARBCGoiADYCCCADKAIEIARqIAKtNwAAQQAhBCACRQ0AIAcgAkEMbGohBgNAIActAAQhAiAHKAIAIQEgAygCACAAa0EDTQRAIAMgAEEEEMwGIAMoAgghAAsgAygCBCAAaiABNgAAIAMgAEEEaiIANgIIIAAgAygCAEYEQCADIABBARDMBiADKAIIIQALIAMoAgQgAGogAjoAACADIABBAWoiAjYCCCAHQQhqKAIAIQEgAygCACACa0EDTQRAIAMgAkEEEMwGIAMoAgghAgsgAyACQQRqIgA2AgggAygCBCACaiABNgAAIAYgB0EMaiIHRw0ACwsgCEHgAGokACAEC+cNAgh/A34jAEHgBWsiAyQAIANBADYC1AUgA0IANwLMBSADQoCAgIDAADcCxAUgA0HcAGogA0HEBWoiBBBnIANBADYC1AUgA0IANwLMBSADQoCAgIDAADcCxAUgA0GYAWogBBBnIANBlAFqQQA2AgAgA0GMAWpCADcCACADQdgAakEANgIAIANB0ABqQgA3AgAgA0FAa0IENwIAIANBOGpCADcCACADQTBqQgQ3AgAgA0EoakIANwIAIANBIGpCBDcCACADQRhqIgpCADcCACADQRBqQgQ3AgAgA0IANwKEAiADQQA2AsABIANCgICAgMAANwKEASADQoCAgIDAADcCSCADQgA3AgggA0KAgICAgAE3AgAgA0H8AWpCADcCACADQewBakIENwIAIANB5AFqQgA3AgAgA0HUAWpCADcCACADQcwBakKAgICAwAA3AgAgA0HEAWpCBDcCACADQQE6AIwCIANCgICAgMAANwL0ASADQoCAgIDAADcC3AEgBEELakIANwAAIANBkAJqIgVBmAFqQgA3AwAgA0GwA2pCADcDACAFQcABakIANwMAIANBsQVqIgdBC2pCADcAACADQZ4FaiIIQQtqQgA3AAAgA0GLBWoiBkELakIANwAAIANB+ARqIglBC2pCADcAACADQgA3A6ADIANCADcDyAMgA0IANwDHBSADQgA3ALQFIANCADcAoQUgA0IANwCOBSADQgA3APsEIANB8ANqIARBD2ooAAA2AAAgA0HpA2ogBEEIaikAADcAACADIAMpAMQFNwDhAyADQYUEaiAHQQhqKQAANwAAIAVB/AFqIAdBD2ooAAA2AAAgAyADKQCxBTcA/QMgA0GoBGogCEEPaigAADYAACADQaEEaiAIQQhqKQAANwAAIAMgAykAngU3AJkEIANBxARqIAZBD2ooAAA2AAAgA0G9BGogBkEIaikAADcAACADIAMpAIsFNwC1BCADQeAEaiAJQQ9qKAAANgAAIANB2QRqIAlBCGopAAA3AAAgAyADKQD4BDcA0QQgA0G0AmpBADYCACADQgA3AqwCIAVBMGpCADcDACADQgA3A7gCIANB////+wc2AogDIANCgICAgPD//79/NwOAAyADQv////v///+//wA3A/gCIANC////+wc3A/ACIANCgICAgPD//79/NwPoAiADQv////v///+//wA3A+ACIANC////+wc3A9gCIANCgICAgPD//79/NwPQAiADQv////v///+//wA3A8gCIANBADYCqAIgA0IANwOgAiADQoCAgICAgIDAPzcDmAIgA0IANwOQAiADQZQDakIANwIAIANCADcCjAMgA0GAAjsB9AQgA0EANgLwBCADQQA6AOwEIANC////+wc3AuQEIANBADoA0AQgA0L////7BzcDyAQgA0EAOgC0BCADQv////sHNwKsBCADQQA6AJgEIANC////+wc3A5AEIANBADoA/AMgA0L////7BzcC9AMgA0EAOgDgAyADQv////sHNwPYAyADQgA3A8ADIANCgICA/AM3A7gDIANBgICA/AM2ApwDIAMoAgghByADQQxqIAooAgAiCEEGaiIEEIMDIANBHGogBBCDAyADQSxqIAQQgwMgA0HEAGooAgAiBSADKAI8RgRAIANBPGogBUEBEKQGIAMoAkQhBQsgAygCQCAFQQR0aiIGQgA3AgggBkKAgICAwAA3AgAgAyAFQQFqNgJEIAMgAygChAJBBmoiBjYChAICQCADKAIoIARPBEAgA0HAAWohCSADKAIgIAhBAnRqIgRBFGpBzZmz7gM2AgAgBEEMakLNmbPu05mz5j03AgAgA0HEBWogA0GQAmoQyAEgAygCCCIFIAMoAgBGBEAgAyAFELkGIAMoAoQCIQYgAygCCCEFCyADKAIEIAVB6ANsaiIEQgA3AwggBCACNgIEIAQgATYCACAEQRBqQgA3AwAgBEEYakIANwMAIARBIGogA0GQAmpB6AIQow0aIARBADYCkAMgBCAINgKMAyAEIAc2AogDIARB3ANqQgA3AgAgBEHUA2pCADcCACAEQgA3AswDIAQgAykCxAUiCzcClAMgBEGcA2ogA0HMBWopAgAiDDcCACAEQaQDaiADQcQFaiIBQRBqKQIAIg03AgAgBEGsA2ogAUEYaigCACIBNgIAIAQgCzcCsAMgBEG4A2ogDDcCACAEQcADaiANNwIAIARByANqIAE2AgAgAyAFQQFqIgE2AgggCSABIAYQrAIgAygCCCIBIAdNDQEgACADQZACEKMNGiADQeAFaiQADwtB3vfAAEEdQej4wAAQ0gsACyAHIAFBjKfBABDtCAAL3wsCCX8BfiMAQSBrIgUkACAALQAAIQIgAEEBOgAAIAUgAjoABwJAAkACQAJAIAJFBEBB7IDEACgCAEH/////B3EEQEG8hMQAKAIAQQBHIQcLIAAtAAENASAAQTRqLQAADQQgAEEBOgA0AkAgAEEMaigCACIBRQ0AIABBCGooAgAiAyECIAFBDGwiBkEMayIIQQxuQQFqQQdxIgEEQCABQQxsIQEDQCACKAIAQRRqIgkoAgAhBCAJIARBAiAEGzYCACACQQxqIQIgAUEMayIBDQALCyAIQdQASQ0AIAMgBmohBANAIAIoAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJBDGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJBGGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJBJGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJBMGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJBPGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJByABqKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACACQdQAaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgBCACQeAAaiICRw0ACwsgAEEYaiIBKAIAIQIgAUEANgIAIABBFGooAgAiASACQQxsaiEDIAJFDQIDQCABKAIAIgJFBEAgAUEMaiEBDAQLIAJBFGoiBigCACEEIAYgBCABKQIEIgqnIAQbNgIAIAIgAigCACIEQQFrNgIAIAUgCjcCDCAFIAI2AgggBEEBRgRAIAVBCGoQ5QkLIAMgAUEMaiIBRw0ACwwDCyAFQgA3AhQgBUGAgMAANgIQIAVBATYCDCAFQYSRwAA2AgggBUEHaiAFQQhqEPAKAAsgBSAHOgAMIAUgADYCCEG4hcAAQSsgBUEIakGQh8AAQZSIwAAQiAgACyADIAFrQQxuIQQgASADRg0AIAAoAhQiAiABIAJrQQxuQQxsaiECA0AgAigCACIDKAIAIQEgAyABQQFrNgIAIAFBAUYEQCACEOUJCyACQQxqIQIgBEEBayIEDQALCwJAIABBJGooAgAiAUUNACAAQSBqKAIAIgMhAiABQQxsIgZBDGsiCEEMbkEBakEHcSIBBEAgAUEMbCEBA0AgAigCAEEUaiIJKAIAIQQgCSAEQQIgBBs2AgAgAkEMaiECIAFBDGsiAQ0ACwsgCEHUAEkNACADIAZqIQQDQCACKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACACQQxqKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACACQRhqKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACACQSRqKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACACQTBqKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACACQTxqKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACACQcgAaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkHUAGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAQgAkHgAGoiAkcNAAsLIABBMGoiASgCACECIAFBADYCACAAQSxqKAIAIgEgAkEMbGohAwJAIAJFDQADQCABKAIAIgJFBEAgAUEMaiEBDAILIAJBFGoiBigCACEEIAYgBCABKQIEIgqnIAQbNgIAIAIgAigCACIEQQFrNgIAIAUgCjcCDCAFIAI2AgggBEEBRgRAIAVBCGoQ5QkLIAMgAUEMaiIBRw0ACwwBCyADIAFrQQxuIQQgASADRg0AIAAoAiwiAiABIAJrQQxuQQxsaiECA0AgAigCACIDKAIAIQEgAyABQQFrNgIAIAFBAUYEQCACEOUJCyACQQxqIQIgBEEBayIEDQALCwJAIAcNAEHsgMQAKAIAQf////8HcUUNAEG8hMQAKAIARQ0AIABBAToAAQsgAEEAOgAAIAVBIGokAAv8CgINfwV9IwBBgAJrIgQkAAJ9AkAgACgCRCIFBEAgBSgCACIIQQJHDQELQQAhCCAEQSBqQQA2AgAgBEEYakIANwMAIARBEGpCADcDACAEQgA3AwhDAACAPyEUQwAAAAAMAQsgBEEQaiAFQRxqKQIANwMAIARBGGogBUEkaikCADcDACAEQSBqIAVBLGooAgA2AgAgBCAFKQIUNwMIIAUqAgghFSAFKgIMIRMgBSoCECEUIAUqAgQLIREgAEIANwIYIABBKGpCADcCACAAQSBqQoCAgICAgIDAPzcCACAAQTBqQgA3AgAgAEE4akIANwIAIABBQGtBADYCACAAQRhqIQcCQCACKAIIIgZFDQAgAigCBCIFIAZBA3RqIQkgASgCDCIMBEAgBEEoaiIGQQhqIQogBEGIAWohAiABKAIQIQ0gBkEgaiEOIAZBGGohDyAGQRBqIRADQAJAIAUoAgAiASANTw0AIAwgAUGoAWxqIgEoAgBFDQAgASgCBCAFQQRqKAIARw0AIAFB6gBqLQAADQAgASgCCEUNACAOIAFBLGooAgA2AgAgDyABQSRqKQIANwMAIBAgAUEcaikCADcDACAKIAFBFGopAgA3AwAgBCABQQxqKQIANwMoIAFBOGooAgAgAUE8aigCACIGKAIIQQFrQXhxakEIaiELAkACQAJAAkACQCABQTBqKAIAQQFrDgICAAELIARB+ABqIgZBCGogAUE0aigCACIBQQhqKQIANwMAIAIgAUEQaikCADcDACAGQRhqIAFBGGopAgA3AwAgBkEgaiABQSBqKQIANwMAIAZBKGogAUEoaigCADYCACAEIAEpAgA3A3gMAwsgAUE0aioCACISQwAAAABbBEAMAgsgBEH4AGogCyASIAYoApABEQ4ADAILIAFBNGoqAgAiEkMAAAAAWwRADAELIARB1AFqIgEgC0MAAIA/IAYoApABEQ4AIAEgEhDZCCAEQfgAaiIGQShqIAFBKGooAgA2AgAgBkEgaiABQSBqKQIANwMAIAZBGGogAUEYaikCADcDACACIAFBEGopAgA3AwAgBkEIaiABQQhqKQIANwMAIAQgBCkC1AE3A3gMAQsgAkIANwIAIAJBCGpCADcCACACQRBqQgA3AgAg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CSgCACAJKAIEIgcoAghBAWtBeHFqQQhqIgkgBygCnAERCgAiDCAMIA1eGyAMIAxcGzgCACALQQxqIAkgCEEIaiIIIAcoAowBEQEAIAIqAgQhDCACIAsqAgwiDSANlCALKgIQIg0gDZSSIAsqAhQiDSANlJIQmAEgCyoCGJIiDSANIAwgDCANXRsgDCAMXBs4AgQCQAJAAkACQCAKKAIAQQFrDgICAAELIAtByABqIgJBCGogCigCBCIBQQhqKQIANwMAIAJBEGogAUEQaikCADcDACACQRhqIAFBGGopAgA3AwAgAkEgaiABQSBqKQIANwMAIAJBKGogAUEoaigCADYCACALIAEpAgA3A0gMAgsgCioCBCIMQwAAAABbBEAgC0HgAGpCADcDACALQegAakIANwMAIAtB8ABqQQA2AgAgC0IANwNYIAtCADcDSCALQoCAgICAgIDAPzcDUAwCCyALQcgAaiAJIAwgBygCkAERDgAMAQsgCioCBCIMQwAAAABbBEAgC0HgAGpCADcDACALQegAakIANwMAIAtB8ABqQQA2AgAgC0IANwNYIAtCADcDSCALQoCAgICAgIDAPzcDUAwBCyALQfQAaiIBIAlDAACAPyAHKAKQAREOACABIAwQ2QggC0HIAGoiAkEoaiABQShqKAIANgIAIAJBIGogAUEgaikCADcDACACQRhqIAFBGGopAgA3AwAgAkEQaiABQRBqKQIANwMAIAJBCGogAUEIaikCADcDACALIAspAnQ3A0gLIAtBHGogC0HIAGogCBDqAyAAKAIIIgggACgCAEYEQCAAIAgQsAYgACgCCCEICyAAIAhBAWo2AgggACgCBCAIQQN0aiIAIAY2AgQgACAFNgIAIANBGGoiASALQRxqEMQHIAtB9ABqIgAgASAEEIEGIANB0ABqIABBCGoiAigCADYCACADIAspAnQ3AkggA0HcAGogA0E0aioCACIMOAIAIANB2ABqIAw4AgAgAyAMOAJUIAAgASAEEL8CIANBEGogAEEQaikCADcCACADQQhqIAIpAgA3AgAgAyALKQJ0NwIAIAMtAGAiAEEBcQRAIANBADYCVAsgAEECcQRAIANBADYCWAsgAEEEcQRAIANBADYCXAsgAEEIcQRAIANBADYCCCADQgA3AgALIABBEHEEQCADQQA2AgQgA0IANwIMCyAAQSBxBEAgA0EANgIIIANCADcCEAsgC0GgAWokAAvkCgMFfwF9An4CQCAAIAFB2ABqELYFIgMNACABQegAaiAAEOIGIgMNACAAIAFB9ABqELYFIgMNACABQYQBaiAAEOIGIgMNACABLQC4AiEEIAAoAgAiAygCCCICIAMoAgBGBEAgAyACQQEQzAYgAygCCCECCyADIAJBAWo2AgggAygCBCACaiAEOgAAIAEtALkCIQQgACgCACIDKAIIIgIgAygCAEYEQCADIAJBARDMBiADKAIIIQILIAMgAkEBajYCCCADKAIEIAJqIAQ6AAAgAS0AugIhBCAAKAIAIgMoAggiAiADKAIARgRAIAMgAkEBEMwGIAMoAgghAgsgAyACQQFqNgIIIAMoAgQgAmogBDoAACABLQC7AiEEIAAoAgAiAygCCCICIAMoAgBGBEAgAyACQQEQzAYgAygCCCECCyADIAJBAWo2AgggAygCBCACaiAEOgAAIAAoAgAiBCgCCCECA0AgASAFaiIGQRBqKgIAIQcgBCgCACACa0EDTQRAIAQgAkEEEMwGIAQoAgghAgsgBCgCBCACaiAHOAAAIAQgAkEEaiICNgIIIAZBFGoqAgAhByAEKAIAIAJrQQNNBEAgBCACQQQQzAYgBCgCCCECCyAEKAIEIAJqIAc4AAAgBCACQQRqIgM2AgggBkEYaioCACEHIAQoAgAgA2tBA00EQCAEIANBBBDMBiAEKAIIIQMLIAQgA0EEaiICNgIIIAQoAgQgA2ogBzgAACAFQQxqIgVByABHDQALIAAoAgAiAigCCCEDQQAhBQNAIAEgBWoiBEGQAWoqAgAhByACKAIAIANrQQNNBEAgAiADQQQQzAYgAigCCCEDCyACKAIEIANqIAc4AAAgAiADQQRqIgM2AgggBEGUAWoqAgAhByACKAIAIANrQQNNBEAgAiADQQQQzAYgAigCCCEDCyACKAIEIANqIAc4AAAgAiADQQRqIgM2AgggBEGYAWoqAgAhByACKAIAIANrQQNNBEAgAiADQQQQzAYgAigCCCEDCyACKAIEIANqIAc4AAAgAiADQQRqIgM2AgggBEGcAWoqAgAhByACKAIAIANrQQNNBEAgAiADQQQQzAYgAigCCCEDCyACKAIEIANqIAc4AAAgAiADQQRqIgM2AgggBEGgAWoqAgAhByACKAIAIANrQQNNBEAgAiADQQQQzAYgAigCCCEDCyACKAIEIANqIAc4AAAgAiADQQRqIgM2AgggBEGkAWoqAgAhByACKAIAIANrQQNNBEAgAiADQQQQzAYgAigCCCEDCyACKAIEIANqIAc4AAAgAiADQQRqIgM2AgggBEGoAWotAAAhBCACKAIAIANrQQNNBEAgAiADQQQQzAYgAigCCCEDCyACKAIEIANqIAQ2AAAgAiADQQRqIgM2AgggBUEcaiIFQagBRw0ACyABLQC9AiEFIAAoAgAiBCgCCCICIAQoAgBGBEAgBCACQQEQzAYgBCgCCCECC0EBIQMgBCACQQFqNgIIIAQoAgQgAmogBToAACAAKAIAIQQCQAJAAkACQAJAIAEtALwCQQFrDgIBAgALQQAhAyAEKAIAIAQoAggiAmtBBEkNAgwDCyAEKAIAIAQoAggiAmtBBEkNAQwCC0ECIQMgBCgCACAEKAIIIgJrQQNLDQELIAQgAkEEEMwGIAQoAgghAgsgBCgCBCACaiADNgAAIAQgAkEEajYCCCABQQhqKQMAIQggASkDACEJIAAoAgAiACgCCCECIAAoAgAgAmtBD00EQCAAIAJBEBDMBiAAKAIIIQILIAAgAkEQajYCCCAAKAIEIAJqIgAgCDcACCAAIAk3AABBACEDCyADC/oKAgl/A34jAEHgAGsiAiQAAkAgASgCBCIERQRAIABBgICAgHg2AgAMAQsgASAEQQFrNgIEIAEoAgAhASACQQI2AgQgAiABNgIAIAJBMGogAhCTAgJAAkACQAJAAkACQAJAAkAgAigCMCIIQYGAgIB4RwRAIAJBIGoiASACQUBrKAIANgIAIAIgAikCODcDGCAIQYCAgIB4RgRAQQBBlIvAAEHcgsAAEPcHIQEMCQsgAigCNCEKIAJBEGogASgCADYCACACIAIpAxg3AwggAigCBCIBBEAgAiABQQFrNgIEIAIoAgAiAygCBCIEQQhJDQIgAyAEQQhrIgU2AgQgAyADKAIAIgFBCGo2AgAgASkAACIMQoCAgIAQWgRAIAJBAToAMCACIAw3AzggAkEwaiACQdwAakG0gMAAELEIIQEMCQsgBUEHTQRAIAJCgcqAgIABNwMwIAJBMGoQgAshAQwJCyADIARBEGsiBjYCBCADIAFBEGoiCTYCACACQcgAaiABKQAIEMYGIAIoAkwhASACKAJIDQgCQEGAgAggASABQYCACE8bIgdFBEBBBCEEDAELQZH6wwAtAAAaIAdBA3QiBUEEEKMMIgRFDQQLQQAhBSACQQA2AlAgAiAENgJMIAIgBzYCSCABRQ0GA0AgBkEISQ0FIAMgBkEIayIGNgIEIAMgCUEIaiIHNgIAIAkpAAAiC0KAgICAEFoEQCACQQE6ADAgAiALNwM4IAJBMGogAkHcAGpBtIDAABCxCCEBDAkLIAZBCEkNBiADIAZBCGsiBjYCBCADIAdBCGoiCTYCACAHKQAAIg1CgICAgBBaBEAgAkEBOgAwIAIgDTcDOCACQTBqIAJB3ABqQbSAwAAQsQghAQwJCyACKAJIIAVGBEAgAkHIAGogBRCwBiACKAJQIQUgAigCTCEECyAEIAVBA3RqIgcgDT4CBCAHIAs+AgAgAiAFQQFqIgU2AlAgAUEBayIBDQALIAIoAkwhBCACKAJIIgdBgoCAgHhIBEAgBCEBDAkLIAMoAgQhBgwGC0EBQZSLwABB3ILAABD3ByEBDAcLIAIoAjQhAQwHCyACQoHKgICAATcDMCACQTBqEIALIQEMBQtBBCAFQdiAxAAoAgAiAEGjByAAGxEAAAALIAJCgcqAgIABNwMwIAJBMGoQgAshAQwCCyACQoHKgICAATcDMCACQTBqEIALIQEMAQsCQAJAIAZBCE8EQCADIAZBCGs2AgQgAyADKAIAIgFBCGo2AgAgASkAACILQoCAgIAQWgRAIAJBAToAMCACIAs3AzggAkEwaiACQdwAakG0gMAAELEIIQEMAwsgC6ciAyAFRwRAIAJByABqIgZBDGpBAjYCACACQTBqIgFBDGpCAjcCACACIAM2AlggAkECNgI0IAJBkK/AADYCMCACQQI2AkwgAiAFNgJcIAIgBjYCOCACIAJB3ABqNgJQIAIgAkHYAGo2AkggAkEkaiIDIAEQsAQgASADEJUJQZH6wwAtAAAaQQxBBBCjDCIBRQ0CIAEgAikCMDcCACABQQhqIAJBOGooAgA2AgAgAigCJARAIAIoAigQlQILIAdFDQUgBBCVAgwFCyAAIAIpAwg3AgggAEEQaiACQRBqKAIANgIAIAAgDD4CJCAAIAWtQoGAgIAQfjcCHCAAIAQ2AhggACAHNgIUIAAgCjYCBCAAIAg2AgAMBgsgAkKByoCAgAE3AzAgAkEwahCACyEBDAELQQRBDEHYgMQAKAIAIgBBowcgABsRAAAACyAHRQ0BIAQQlQIMAQsgAigCSEUNACACKAJMEJUCCyAIRQ0AIAoQlQILIABBgYCAgHg2AgAgACABNgIECyACQeAAaiQAC5IJAgx/CH0CQAJAAkAgAigCDCAAKAIIIgogACgCDCIDak8EQCAAKAIQIgggASgCCCIJSw0CIAMgA0EBaiIMaiENIA0gCSAIayAMaksNASACKAIEIg4gCkECdGohBiABKAIEIgsgCEECdGohBQJAIANBCE8EQCADIQcDQCAPIAQgBWoiAioCACAEIAZqIgEqAgCUkiEPIBMgAkEcaioCACABQRxqKgIAlJIhEyAUIAJBGGoqAgAgAUEYaioCAJSSIRQgFSACQRRqKgIAIAFBFGoqAgCUkiEVIBYgAkEQaioCACABQRBqKgIAlJIhFiARIAJBDGoqAgAgAUEMaioCAJSSIREgEiACQQhqKgIAIAFBCGoqAgCUkiESIBAgAkEEaioCACABQQRqKgIAlJIhECAEQSBqIQQgB0EIayIHQQdLDQALIA8gFpJDAAAAAJIgECAVkpIgEiAUkpIgESATkpIhDyADIANBeHEiBE0NASADIARBf3NqIQUgA0EDcSIHBEAgCyADQQJ0QWBxIgEgCEECdGpqIQIgDiABIApBAnRqaiEBA0AgBEEBaiEEIA8gAioCACABKgIAlJIhDyACQQRqIQIgAUEEaiEBIAdBAWsiBw0ACwsgBUEDSQ0BIA4gBEECdCIBIApBAnRqaiECIAsgASAIQQJ0amohASADIARrIQQDQCAPIAEqAgAgAioCAJSSIAFBBGoqAgAgAkEEaioCAJSSIAFBCGoqAgAgAkEIaioCAJSSIAFBDGoqAgAgAkEMaioCAJSSIQ8gAkEQaiECIAFBEGohASAEQQRrIgQNAAsMAQsgA0UNACAFKgIAIAYqAgCUQwAAAACSIQ8gA0EBRg0AIA8gBUEEaioCACAGQQRqKgIAlJIhDyADQQJGDQAgDyAFQQhqKgIAIAZBCGoqAgCUkiEPIANBA0YNACAPIAVBDGoqAgAgBkEMaioCAJSSIQ8gA0EERg0AIA8gBUEQaioCACAGQRBqKgIAlJIhDyADQQVGDQAgDyAFQRRqKgIAIAZBFGoqAgCUkiEPIANBBkYNACAPIAVBGGoqAgAgBkEYaioCAJSSIQ8LIAAgACoCGCIRIAAqAiQgDyAAKgIokiARIAAqAjSUk5SSIhIgAEEgaioCACIQIBAgEl4bIAAqAhwiECAQIBJdGyIQOAIYIAMgCGoiACAJTQRAIAkgAGsgDGogDUkNBAJAIANFDQAgCyAAQQJ0aiEAIBAgEZMhECADQQFxIQVBACECIANBAUcEQEEAIQRBACADQX5xayEDIAAhASAGIQIDQCACIAIqAgAgECABKgIAlJM4AgAgAkEEaiIHIAcqAgAgECABQQRqKgIAlJM4AgAgAUEIaiEBIAJBCGohAiADIARBAmsiBEcNAAtBACAEayECCyAFRQ0AIAJBAnQiAiAGaiIBIAEqAgAgECAAIAJqKgIAlJM4AgALDwsgACAJQZzVwQAQ7AgAC0He98AAQR1B6PjAABDSCwALQcz9wABBKUHo/sAAENILAAsgCCAJQazVwQAQ7AgAC0HM/cAAQSlB6P7AABDSCwAL9gkCAn0EfyMAQUBqIgYkACAGIAE2AgwCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAggiCSABTQ0AIAIoAgQiB0UNACAHIAFBLGxqIggoAgBFDQEgCCgCBCIIRQ0CIAgoAogBIghBf0YEQCAHIAFBLGxqIgdBFGoqAgAgB0EgaioCAJJDAAAAP5QgACoCNCIFlY4iBEMAAADPYCEJIAZB/////wcCfyAEi0MAAABPXQRAIASoDAELQYCAgIB4C0GAgICAeCAJGyAEQ////05eG0EAIAQgBFsbNgIYIAdBEGoqAgAgB0EcaioCAJJDAAAAP5QgBZWOIgRDAAAAz2AhCSAGQf////8HAn8gBItDAAAAT10EQCAEqAwBC0GAgICAeAtBgICAgHggCRsgBEP///9OXhtBACAEIARbGzYCFCAHKgIMIAdBGGoqAgCSQwAAAD+UIAWVjiIEQwAAAM9gIQggBkH/////BwJ/IASLQwAAAE9dBEAgBKgMAQtBgICAgHgLQYCAgIB4IAgbIARD////Tl4bQQAgBCAEWxs2AhAgACAGQRBqIAIgAxBrIgAgAigCCCIDTw0EIAIoAgQiCCAAQSxsaiIAKAIARQ0NIAAoAgQiAEUNDiAAQYQBaigCACICIQcgACgCfCACRgRAIABB/ABqIAIQswYgACgChAEhBwsgACAHQQFqNgKEASAAQYABaigCACAHQQJ0aiABNgIAIAAgAUEBEJ0CIAYoAgwiACADTw0GIAggAEEsbGoiACgCAEUNDSAAKAIEIgBFDQ4gACACNgKIAQwBCyAHIAFBLGxqIgJBFGoqAgAgAkEgaioCAJJDAAAAP5QgACoCNCIFlY4iBEMAAADPYCEDIAZB/////wcCfyAEi0MAAABPXQRAIASoDAELQYCAgIB4C0GAgICAeCADGyAEQ////05eG0EAIAQgBFsbNgIkIAJBEGoqAgAgAkEcaioCAJJDAAAAP5QgBZWOIgRDAAAAz2AhAyAGQf////8HAn8gBItDAAAAT10EQCAEqAwBC0GAgICAeAtBgICAgHggAxsgBEP///9OXhtBACAEIARbGzYCICACKgIMIAJBGGoqAgCSQwAAAD+UIAWVjiIEQwAAAM9gIQIgBkH/////BwJ/IASLQwAAAE9dBEAgBKgMAQtBgICAgHgLQYCAgIB4IAIbIARD////Tl4bQQAgBCAEWxs2AhwgACAGQRxqENYEIgBFDQcgACgCACIAIAlPDQggByAAQSxsaiIAKAIARQ0MIAAoAgQiAEUNDSAAQYQBaigCACICIAhNDQogAEGAAWooAgAgCEECdGoiACgCACABRw0LCyAGQUBrJAAPCyAGQTRqQgA3AgAgBkEBNgIsIAZBmPPBADYCKCAGQfy8wAA2AjAgBkEoakGg88EAEO8KAAtB2MDAAEErQfTywQAQuQoACyAAIANBjPDBABDtCAALAAsgACADQZzwwQAQ7QgACwALQdjAwABBK0HM78EAELkKAAsgACAJQdzvwQAQ7QgACwALIAggAkHs78EAEO0IAAsgBkEANgIoQQAgACAGQQxqIAZBKGpB/O/BABDzCgALIAZBNGpCADcCACAGQQE2AiwgBkGY88EANgIoIAZB/LzAADYCMCAGQShqQcDzwQAQ7woAC0HYwMAAQStBsPPBABC5CgAL6AkCDX8IfQJAAkACQCADRQ0AIAIoAgwiBUEITwRAIAVBA3EhCyAAIAVBAnRBYHFqIQkgBSAFQXhxIgpBf3NqQQNJIQ0DQCACIAxBOGxqIg4oAhAiByAFaiIIIAFLDQMgBSAIaiABSw0EIAxBAWohDCAIQQJ0IQ8gB0ECdCEQQwAAAAAhESAAIQcgBSEIQwAAAAAhFEMAAAAAIRVDAAAAACEWQwAAAAAhF0MAAAAAIRhDAAAAACETQwAAAAAhEgNAIBEgByAQaiIEKgIAIAcgD2oiBioCAJSSIREgEiAEQRxqKgIAIAZBHGoqAgCUkiESIBMgBEEYaioCACAGQRhqKgIAlJIhEyAYIARBFGoqAgAgBkEUaioCAJSSIRggFyAEQRBqKgIAIAZBEGoqAgCUkiEXIBYgBEEMaioCACAGQQxqKgIAlJIhFiAVIARBCGoqAgAgBkEIaioCAJSSIRUgFCAEQQRqKgIAIAZBBGoqAgCUkiEUIAdBIGohByAIQQhrIghBB0sNAAsgESAXkkMAAAAAkiAUIBiSkiAVIBOSkiAWIBKSkiERAkAgBSAKTQ0AAkAgC0UEQCAKIQcMAQsgCSAQaiEEIAkgD2ohBiALIQggCiEHA0AgB0EBaiEHIBEgBCoCACAGKgIAlJIhESAEQQRqIQQgBkEEaiEGIAhBAWsiCA0ACwsgDQ0AIAAgB0ECdCIIIA9qaiEEIAAgCCAQamohBiAFIAdrIQcDQCARIAYqAgAgBCoCAJSSIAZBBGoqAgAgBEEEaioCAJSSIAZBCGoqAgAgBEEIaioCAJSSIAZBDGoqAgAgBEEMaioCAJSSIREgBEEQaiEEIAZBEGohBiAHQQRrIgcNAAsLIA4gESAOKgIwlCAOKgI0kiISOAI0IA5DAAAAAEMAAIA/IBEgEpIiE5UiEiATQwjlPB5dGyASIBNDCOU8nl4bOAIkIAMgDEcNAAsMAQsgBUUEQCACQSRqIQQDQCAEQRRrKAIAIAFLDQMgBEEMaioCAEMAAAAAlCAEQRBqIgAqAgCSIRIgACASOAIAIARDAAAAAEMAAIA/IBJDAAAAAJIiE5UiEiATQwjlPB5dGyASIBNDCOU8nl4bOAIAIARBOGohBCADQQFrIgMNAAsMAQsgAkEkaiEEIAVBAUYhCyAFQQNGIQggBUEFRiEKIAVBBkYhBwNAIARBFGsoAgAiAiAFaiINIAFLDQIgBSANaiABSw0DAn0gACACQQJ0aiIJKgIAIAAgDUECdGoiAioCAJRDAAAAAJIiESALDQAaIBEgCUEEaioCACACQQRqKgIAlJIiESAFQQJGDQAaIBEgCUEIaioCACACQQhqKgIAlJIiESAIDQAaIBEgCUEMaioCACACQQxqKgIAlJIiESAFQQRGDQAaIBEgCUEQaioCACACQRBqKgIAlJIiESAKDQAaIBEgCUEUaioCACACQRRqKgIAlJIiESAHDQAaIBEgCUEYaioCACACQRhqKgIAlJILIhEgBEEMaioCAJQgBEEQaiICKgIAkiESIAIgEjgCACAEQwAAAABDAACAPyARIBKSIhOVIhIgE0MI5TweXRsgEiATQwjlPJ5eGzgCACAEQThqIQQgA0EBayIDDQALCw8LQd73wABBHUHo+MAAENILAAtB3vfAAEEdQej4wAAQ0gsAC+4JAhV9A38jAEEwayIbJABDAACgNRCYASEaAkACQCAEKgIMIgYgBpQgBEEQaioCACIKIAqUkiAEQRRqKgIAIgsgC5SSEJgBIhFDAAAAAFsNACARiyIJQwAAgH9cBEAgCUMAAAA0Xw0BIAkgCUMAAAA0lF8NAQsgBCoCCCESIAQqAgQhEyAEKgIAIRQgCyARlSIWjCEJIAogEZUiGYwhCiAGIBGVIheMIQsgFyAXlCAWIBaUkhCYASIGQwAAAABcBEAgCSAGlSAClCEMIAsgBpUgApQhCAsgA0EANgKsASADQQA2ArwBIANBMGpBADYCACADQShqQgA3AgAgA0EkaiAMOAIAIANBIGogASAKmCIGOAIAIANBHGogCDgCACADQRhqIAwgEpM4AgAgAyAIIBSTOAIQIANBFGogBiATkzgCACAbIAMQOkP//39/IQdBkM4AIR0CQAJAAkADQCAbKgIAIg4gDpQgGyoCBCIQIBCUkiAbKgIIIg8gD5SSIgZDAADIK15FDQEgD4wgBhCYASIMlSENIBCMIAyVIQYgDowgDJUhCAJ9IAcgDF8iHEUEQEMAAAAAIRVDAAAAACEOIAggCJQgDSANlJIQmAEiB0MAAAAAXARAIA0gB5UgApQhFSAIIAeVIAKUIQ4LIAEgBpgMAQsgGEMAAAAAXg0CIBIgD5IhFSAUIA6SIQ4gEyAQkgshEAJAAkACQCAWIA2UIBcgCJQgGSAGlJKSIg9DAAAAAFsNACAPiyIHQwAAgH9cBEAgB0MAAAA0Xw0BIAcgB0MAAAA0lF8NAQsgDSAVIBKTlCAGIBAgE5OUIAggDiAUk5SSkiAPlSIHQwAAAABgDQELQQAhBCAcDQQgD0MAAKA1XkUNAQwECyAPQwAAAABdIAdDAAAAAF5xRQRAIBxFDQFBACEEDAQLIAUgGCAHkiIYIBGVXQRAQQAhBAwECyASIBYgB5QiCZIhEiATIBkgB5QiCpIhEyAUIBcgB5QiC5IhFEP//39/IQwCQCADKAK8ASIEQQFqIhxFDQAgAyADKgIQIAuTOAIQIAMgAyoCFCAKkzgCFCADIAMqAhggCZM4AhggBEUNACADIAMqAjQgC5M4AjQgAyADKgI4IAqTOAI4IAMgAyoCPCAJkzgCPCAcQQJGDQAgAyADKgJYIAuTOAJYIAMgAyoCXCAKkzgCXCADIAMqAmAgCZM4AmAgHEEDRg0AIAMgAyoCfCALkzgCfCADIAMqAoABIAqTOAKAASADIAMqAoQBIAmTOAKEASAIIQsgBiEKIA0hCSAcQQRGDQFBBEEEQei2wgAQ7QgACyAIIQsgBiEKIA0hCQsgCCAOIBSTIgeUIAYgECATkyIIlJIgDSAVIBKTIgaUkiINi0MAAIB/XUUNA0EAIQQgDCANkiAaIAyUXw0CIBtBADYCLCAbQgA3AiQgGyAVOAIgIBsgEDgCHCAbIA44AhggGyAGOAIUIBsgCDgCECAbIAc4AgwgAyAbQQxqEKgCGiAbIAMQOiADKAK8AUEDRwRAIAwhByAdQQFrIh0NAQwDCwsgDUMAAKC1Xw0BCyAAQRBqIAk4AgAgAEEMaiAKOAIAIABBCGogCzgCACAAIBggEZU4AgRBASEECyAAIAQ2AgAMAgtB0LPCAEEnQYi0wgAQuQoACyAAQQA2AgALIBtBMGokAAvOCAIefQZ/IwBBEGshIiACQRhqISQgAkEMaiEnIANBGGoqAgAhGCADQRRqKgIAIRkgAkEgaioCACEaIAJBHGoqAgAhGyACQRRqKgIAIRwgAkEQaioCACEdIAMqAhAhHiACKgIYIREgAioCDCEUIAIqAgghHyACKgIEISAgAioCACEVIAMqAgghByADKgIEIQggAyoCACEJIAMqAgwhCkP//3//IRJBACEDA0AgASADaioCACEhICJBADYCDCAiQgA3AgQgIkEEaiADaiIlQYCAgPx7NgIAIAogIioCDCINIAiUICIqAggiDiAHlJMiBCAEkiIGlCAHICIqAgQiDyAHlCANIAmUkyIEIASSIgWUIAggDiAJlCAPIAiUkyIEIASSIgSUk5IgD5MiCyARlCAKIAWUIAkgBJQgByAGlJOSIA6TIgwgG5SSIAogBJQgCCAGlCAJIAWUk5IgDZMiBCAalJIhBiAHAn0gHyAElCAVIAuUICAgDJSSkiIFIBQgC5QgDCAdlJIgBCAclJIiBF5FBEAgJyAkIAQgBl4iJhshIyAUIBEgJhsMAQsgJCEjIBEgBSAGXkUNABogAiEjIBULIgSUIAkgIyoCCCILlJMiBSAFkiEQICIgGCALIAogCSAjKgIEIgyUIAggBJSTIgUgBZIiBpQgCSAQlCAIIAggC5QgByAMlJMiBSAFkiIFlJOSkpI4AgwgIiAZIAwgCiAQlCAHIAWUIAkgBpSTkpKSOAIIICIgHiAEIAogBZQgCCAGlCAHIBCUk5KSkjgCBCASICUqAgCMICGTIgRdBEAgDiEXIA8hFiAEIRIgDSETCyAiQQA2AgwgIkIANwIEICVBgICA/AM2AgAgCiAiKgIMIg0gCJQgIioCCCIOIAeUkyIEIASSIgaUIAcgIioCBCIPIAeUIA0gCZSTIgQgBJIiBZQgCCAOIAmUIA8gCJSTIgQgBJIiBJSTkiAPkyILIBGUIAogBZQgCSAElCAHIAaUk5IgDpMiDCAblJIgCiAElCAIIAaUIAkgBZSTkiANkyIEIBqUkiEGIAcCfSAfIASUIBUgC5QgICAMlJKSIgUgFCALlCAMIB2UkiAEIByUkiIEXkUEQCAnICQgBCAGXiImGyEjIBQgESAmGwwBCyAkISMgESAFIAZeRQ0AGiACISMgFQsiBJQgCSAjKgIIIguUkyIFIAWSIRAgIiAYIAsgCiAJICMqAgQiDJQgCCAElJMiBSAFkiIGlCAJIBCUIAggCCALlCAHIAyUkyIFIAWSIgWUk5KSkjgCDCAiIBkgDCAKIBCUIAcgBZQgCSAGlJOSkpI4AgggIiAeIAQgCiAFlCAIIAaUIAcgEJSTkpKSOAIEIBIgJSoCACAhkyIEXQRAIA4hFyAPIRYgBCESIA0hEwsgA0EEaiIDQQxHDQALIAAgFjgCBCAAIBI4AgAgAEEMaiATOAIAIABBCGogFzgCAAuMCQINfQN/IwBBQGoiBCQAIAAoAgQhFCAAKAIIIhUoAgAhBQJAIAEEQCABKgIEIgwgBSoCECABKgIQkyIRlCABKgIAIgkgBUEUaioCACABQRRqKgIAkyIKlJMiBiAGkiELIAEqAggiBiAKlCAMIAVBGGoqAgAgAUEYaioCAJMiB5STIgggCJIhDSAEQSBqIhNBGGogByABKgIMIgggC5QgDCANlCAJIAkgB5QgBiARlJMiByAHkiIQlJOSkjgCACATQRRqIAogCCAQlCAJIAuUIAYgDZSTkpI4AgAgBCAGIAUqAggiCpQgDCAFKgIEIgeUIAkgBSoCACIOlCAIIAUqAgwiD5SSkpI4AiwgBCAMIA6UIAggCpQgCSAHlJOSIAYgD5STOAIoIAQgCCAHlCAJIAqUkiAMIA+UkyAGIA6UkzgCJCAEIAYgB5QgCCAOlCAJIA+UkyAMIAqUk5I4AiAgBCARIAggDZQgBiAQlCAMIAuUk5KSOAIwDAELIARBIGoiE0EYaiAFQRhqKAIANgIAIBNBEGogBUEQaikCADcDACATQQhqIAVBCGopAgA3AwAgBCAFKQIANwMgCyAEQQRqIBQgBEEgaiACIAMgACgCDCAAQRBqKAIAIAAoAgAqAgAQUwJAAkACQAJAIAQoAgRBAWsOAwEDAwALIAAoAighAQwBCwJ9IAEEQCAEQQxqKgIAIgogASoCACIMlCABKgIEIgkgBCoCCCIHlJMiBiAGkiEGIAEqAggiCCAHlCAEQRBqKgIAIg0gDJSTIgsgC5IhCyABQRhqKgIAIA0gASoCDCIOIAaUIAwgC5QgCSAJIA2UIAggCpSTIg0gDZIiD5STkpKSIQ0gASoCECAHIA8gDpQgCSAGlCAIIAuUk5KSkiEJIAFBFGoqAgAgCiAOIAuUIAggD5QgDCAGlJOSkpIMAQsgBEEQaioCACENIAQqAgghCSAEQQxqKgIACyEMIBUoAgAiASoCDCEGIAFBGGoqAgAgBEEEaiICQRhqKgIAIgcgBiACQRRqKgIAIg4gASoCACIIlCABKgIEIgsgBCoCFCIPlJMiCiAKkiIRlCAIIAEqAggiCiAPlCAHIAiUkyIQIBCSIhCUIAsgCyAHlCAKIA6UkyIHIAeSIgeUk5KSkiANkyISIBKUIAEqAhAgDyAHIAaUIAsgEZQgCiAQlJOSkpIgCZMiCyALlCABQRRqKgIAIA4gBiAQlCAKIAeUIAggEZSTkpKSIAyTIgYgBpSSkhCYASEGAkAgACgCGCICKAIAIgFBA00EQCAAKAIUIAFBAnRqIAY4AgAgAigCACIBQQRPDQEgACgCICgCACEDIAAoAhwgAUEFdGoiASAEQRRqIgUpAgA3AhQgASANOAIQIAEgDDgCDCABIAk4AgggAUEBNgIEIAEgAzYCACABQRxqIAVBCGooAgA2AgAgAigCACIBQQRJBEAgACgCJCABaiEBDAMLIAFBBEHQoMIAEO0IAAsgAUEEQbCgwgAQ7QgACyABQQRBwKDCABDtCAALIAFBAToAAAsgBEFAayQAC9QIAi99BX8gAwRAIAAoAhAiNgRAAkAgAyAAKAIMRgRAIAIqAgAiBCABKgIUIg+UIAJBBGoqAgAiBSABKgIsIhCUkiACQQhqKgIAIgYgASoCRCIRlJIgAkEMaioCACIHIAEqAlwiEpSSIAJBEGoqAgAiCCABKgJ0IhOUkiACQRRqKgIAIgkgASoCjAEiFJSSIQogBCABKgIQIhWUIAUgASoCKCIWlJIgBiABKgJAIheUkiAHIAEqAlgiGJSSIAggASoCcCIZlJIgCSABKgKIASIalJIhCyAEIAEqAgwiG5QgBSABKgIkIhyUkiAGIAEqAjwiHZSSIAcgASoCVCIelJIgCCABKgJsIh+UkiAJIAEqAoQBIiCUkiEMIAQgASoCCCIhlCAFIAEqAiAiIpSSIAYgASoCOCIjlJIgByABKgJQIiSUkiAIIAEqAmgiJZSSIAkgASoCgAEiJpSSIQ0gBCABKgIEIieUIAUgASoCHCIolJIgBiABKgI0IimUkiAHIAEqAkwiKpSSIAggASoCZCIrlJIgCSABKgJ8IiyUkiEOIAQgASoCACItlCAFIAEqAhgiLpSSIAYgASoCMCIvlJIgByABKgJIIjCUkiAIIAEqAmAiMZSSIAkgASoCeCIylJIhBCAAKAIEIjMhACADITQgAiEBA0AgACAAKgIAIAQgASoCAJRDAAAAAJIgDiABQQRqKgIAlJIgDSABQQhqKgIAlJIgDCABQQxqKgIAlJIgCyABQRBqKgIAlJIgCiABQRRqKgIAlJKSOAIAIABBBGohACABQRhqIQEgNEEBayI0DQALIANBAk8EQCAzIANBAnQiN2ohM0EBITUDQAJAIDUgNkcEQCAUIAIgNUEYbGoiAEEUaioCACIElCATIABBEGoqAgAiBZQgEiAAQQxqKgIAIgaUIBEgAEEIaioCACIHlCAPIAAqAgAiCJQgECAAQQRqKgIAIgmUkpKSkpIhCiAaIASUIBkgBZQgGCAGlCAXIAeUIBUgCJQgFiAJlJKSkpKSIQsgICAElCAfIAWUIB4gBpQgHSAHlCAbIAiUIBwgCZSSkpKSkiEMICYgBJQgJSAFlCAkIAaUICMgB5QgISAIlCAiIAmUkpKSkpIhDSAsIASUICsgBZQgKiAGlCApIAeUICcgCJQgKCAJlJKSkpKSIQ4gMiAElCAxIAWUIDAgBpQgLyAHlCAtIAiUIC4gCZSSkpKSkiEEIDVBAWohNSAzIQAgAyE0IAIhAQNAIAAgACoCACAEIAEqAgCUQwAAAACSIA4gAUEEaioCAJSSIA0gAUEIaioCAJSSIAwgAUEMaioCAJSSIAsgAUEQaioCAJSSIAogAUEUaioCAJSSkjgCACAAQQRqIQAgAUEYaiEBIDRBAWsiNA0ACwwBCwwECyAzIDdqITMgAyA1Rw0ACwsPC0HE98AAQRpB9ILBABDSCwALCwtB3vfAAEEdQfj4wAAQ0gsAC/UIAgh9A38jAEEwayILJAAgASoCCCEFIAEqAgQhBiABKgIAIQggASoCDCEJIAIoAgAhDCACKAIEIQJBACEBAkAgAEHgAmotAAAiAEEBcUUEQCACRQ0BIAwgCSAIQwAAAACUIgQgBpMiAyADkiIDlCAIIAUgBJMiBCAEkiIElCAGIAZDAAAAAJQgBUMAAAAAlJMiByAHkiIHlJOSQwAAAACSOAIIIAwgCSAElCAFIAeUIAggA5STkkMAAAAAkjgCBCAMIAkgB5QgBiADlCAFIASUk5JDAACAP5I4AgBBASEBCyAAQQJxRQRAIAEgAk8NASAMIAFBGGxqIg0gCSAIIAZDAAAAAJQiB5MiAyADkiIDlCAIIAVDAAAAAJQgCEMAAAAAlJMiBCAEkiIElCAGIAcgBZMiByAHkiIHlJOSQwAAAACSOAIIIA0gCSAElCAFIAeUIAggA5STkkMAAIA/kjgCBCANIAkgB5QgBiADlCAFIASUk5JDAAAAAJI4AgAgAUEBaiEBCyAAQQRxRQRAIAEgAk8NASAMIAFBGGxqIg0gCSAIQwAAAACUIAZDAAAAAJSTIgMgA5IiA5QgCCAFQwAAAACUIgcgCJMiBCAEkiIElCAGIAYgB5MiByAHkiIHlJOSQwAAgD+SOAIIIA0gCSAElCAFIAeUIAggA5STkkMAAAAAkjgCBCANIAkgB5QgBiADlCAFIASUk5JDAAAAAJI4AgAgAUEBaiEBCwJAAkACQAJAAkACQEEDIABBA3YiAGlrDgQDAgEABQsgAiABQQNqTwRAIAFBGGwgDGoiAEFAayAFIAaUIgMgA5IiAyAJIAiUIgQgBJIiBJM4AgAgAEE8aiAFIAiUIgcgB5IiByAJIAaUIgogCpIiCpI4AgAgAEEsaiAEIAOSOAIAIABBJGogCCAGlCIDIAOSIgMgBSAJlCIEIASSIgSTOAIAIABBFGogByAKkzgCACAAQRBqIAQgA5I4AgAgAEHEAGogBSAFlCIFIAkgCZQiCSAIIAiUIgiTIgMgBiAGlCIGk5I4AgAgAEEoaiAGIAOSIAWTOAIAIABBDGogCSAIkiAGkyAFkzgCAAwDCwwFC0HQtMEAQRNBpLXBABC5CgALIAsgBiAFlCIDIAOSIgMgCCAJlCIEIASSIgSTOAIoIAsgCCAFlCIHIAeSIgcgBiAJlCIKIAqSIgqSOAIkIAsgAyAEkjgCICALIAggBpQiAyADkiIDIAUgCZQiBCAEkiIEkzgCGCALIAcgCpM4AhQgCyADIASSOAIQIAsgBSAFlCIFIAkgCZQiCSAIIAiUIgiTIgMgBiAGlCIGk5I4AiwgCyAGIAOSIAWTOAIcIAsgCCAJkiAGkyAFkzgCDCABIAJPDQMgAEF/c2giAEEDTw0DIAFBGGwgDGoiAUEMaiALQQxqIABBDGxqIgAqAgA4AgAgAUEQaiAAQQRqKQIANwIACyALQTBqJAAPCwALQbjEwABBKEG0tcEAELkKAAtB3vfAAEEdQfj4wAAQ0gsAC6wJAgV/GX0jAEGAAmsiBSQAIAVBqAFqQQA2AgAgBUG4AWpBADYCACAFQoKAgIAwNwMIIAVCgICAgBA3AwAgBUIANwOgASAFQgA3A7ABIAVBMGpBAEHwABCiDRogAioCDCIOjCIcIA4gDpQgAkEQaioCACIZIBmUkiACQRRqKgIAIg8gD5SSIhUQmAEiCpUiECABKgIYIguUIBmMIh0gCpUiEiABQRxqKgIAIh6UkiAPjCIfIAqVIhMgAUEgaioCACIWlJIhDCABQRhqIQYgAUEMaiEIAn0gECABKgIAIg2UIBIgASoCBCIglJIgEyABKgIIIiGUkiIRIBAgASoCDCIalCASIAFBEGoqAgAiIpSSIBMgAUEUaioCACIUlJIiCl5FBEAgCCAGIAogDF4iCRshByAaIAsgCRsMAQsgBiEHIAsgDCARXUUNABogASEHIA0LIQogBUEwakEANgIAIAVBKGpCADcDACAFQSRqIAcqAgggEyABKgIkIheUkiACKgIIIhuTIgw4AgAgBUEgaiAHKgIEIBIgF5SSIAIqAgQiEpMiETgCACAFQRxqIAogECAXlJIgAioCACITkyIKOAIAIAVBGGogDDgCACAFQRRqIBE4AgAgBUEANgK8ASAFQQA2AqwBIAUgCjgCECAFQcABaiABIAUgAiADEIMBIAUoAsABIQICQCAERQRAIAJFBEAgAEEENgIADAILIAUqAsQBIgpDAAAAAFwEQCAAIAo4AgggAEEDNgIAIABBFGogBUHQAWooAgA2AgAgACAFQcgBaikCADcCDAwCCyAWIA8gFRCYASIKlSIYIBggGJQgDiAKlSIOIA6UIBkgCpUiDyAPlJKSEJgBIgqVIhCUIAsgDiAKlSIVlCAeIA8gCpUiFpSSkiEMAkAgISAQlCANIBWUICAgFpSSkiIRIBQgEJQgGiAVlCAiIBaUkpIiCl5FBEAgCCAGIAogDF4iAhshBiAaIAsgAhshCwwBCyAMIBFdRQ0AIA0hCyABIQYLIAYqAgghDSAGKgIEIQogBUHoAWogHzgCACAFQeQBaiAdOAIAIAVBADYCvAEgBUEANgKsASAFQQA2AjAgBUIANwMoIAUgHDgC4AEgBSAbIBggDiAXIBWUIAuSIgwgE5OUIA8gCiAXIBaUkiIRIBKTlJIgGCANIBcgEJSSIg0gG5OUkkNvEoM6kiIUlJIiCjgC3AEgBSANIAqTIgs4AiQgBSASIA8gFJSSIgo4AtgBIAUgESAKkyINOAIgIAUgEyAOIBSUkiIKOALUASAFIAwgCpMiCjgCHCAFIAs4AhggBSANOAIUIAUgCjgCECAFQewBaiABIAUgBUHUAWogFENvEoM6khCDAUEEIQECQCAFKALsAUUNACADIBQgBSoC8AGTIgNgRQ0AIAAgAzgCCCAAIAVB/AFqKgIAjDgCFCAAIAVB+AFqKgIAjDgCECAAIAVB9AFqKgIAjDgCDEEDIQELIAAgATYCAAwBCyACBEAgACAFKgLEATgCCCAAQQM2AgAgACAFQcgBaikCADcCDCAAQRRqIAVB0AFqKAIANgIADAELIABBBDYCAAsgBUGAAmokAAvQCQIKfwZ9IwBBIGsiBSQAAkACQCAAQSBqKAIAIgcEQCAAQRxqKAIAIQQgB0EBRg0CIAQqAgggASoCACIOlCAEQQxqKgIAIAEqAgQiD5SSIARBEGoqAgAgASoCCCIQlJIhDSAHQRRsQShrIgFBFG5BAWoiA0EBcSEKIAFBFEkEQCAEIQFBACEDDAILIANB/v///wFxIQsgBCEBQQAhAwNAIA4gAUEcaioCAJQgDyABQSBqKgIAlJIgECABQSRqKgIAlJIiESANXiEJIA4gAUEwaioCAJQgDyABQTRqKgIAlJIgECABQThqKgIAlJIiEiARIA0gCRsiDV4hBiASIA0gBhshDSADQQFqIQwgA0ECaiIDIAwgCCAJGyAGGyEIIAFBKGohASADIAtHDQALDAELQQBBAEGE88IAEO0IAAsgCkUNACADQQFqIAggDiABQRxqKgIAlCAPIAFBIGoqAgCUkiAQIAFBJGoqAgCUkiANXhshCAsgByAITQRAIAggB0GU88IAEO0IAAsCQAJAAkACQAJAAkBBBCAEIAhBFGxqIgQoAgQiASABQQRPGyIBIAQoAgAiAyABaiIETQRAIABB3ABqKAIAIgcgBEkNASAAQdAAaigCACIHIARJDQIgAUUNBSADQQJ0IgkgAEHYAGooAgBqIgcoAgAiAyAAKAIIIgRPDQQgAEHMAGooAgAhBiACIAAoAgQiACADQQxsaiIKKQIANwIAIAJBCGogCkEIaigCADYCACAFIANBgICAgHxxIgo2AgQgCg0GIAIgA0GAgICABHI2AjAgBSAGIAlqIgkoAgAiA0GAgICAfHEiBjYCBCAGDQMgAiADQYCAgIB4cjYCQCABQQFGDQUgBCAHKAIEIgNNDQQgAiAAIANBDGxqIgYpAgA3AgwgAkEUaiAGQQhqKAIANgIAIAUgA0GAgICAfHEiBjYCBCAGDQYgAkE0aiADQYCAgIAEcjYCACAFIAkoAgQiA0GAgICAfHEiBjYCBCAGDQMgAkHEAGogA0GAgICAeHI2AgAgAUECRg0FIAQgBygCCCIDTQ0EIAIgACADQQxsaiIGKQIANwIYIAJBIGogBkEIaigCADYCACAFIANBgICAgHxxIgY2AgQgBg0GIAJBOGogA0GAgICABHI2AgAgBSAJKAIIIgNBgICAgHxxIgY2AgQgBg0DIAJByABqIANBgICAgHhyNgIAIAFBA0YNBSAEIAcoAgwiA00NBCACIAAgA0EMbGoiACkCADcCJCACQSxqIABBCGooAgA2AgAgBSADQYCAgIB8cSIANgIEIAANBiACQTxqIANBgICAgARyNgIAIAUgCSgCDCIAQYCAgIB8cSIENgIEIAQNAyACQcwAaiAAQYCAgIB4cjYCAAwFCyADIARBpPPCABDvCAALIAQgB0Gk88IAEO4IAAsgBCAHQbTzwgAQ7ggACyAFQQA2AgggBUEEaiAFQQhqQbz/wgAQ+QoACyADIARBxPPCABDtCAALIAUgCEGAgICAfHEiADYCBCAARQRAIAIgATYCVCACIAhBgICAgHxyNgJQIAVBIGokAA8LIAVBADYCCCAFQQRqIAVBCGpBzP/CABD5CgALIAVBADYCCCAFQQRqIAVBCGpBrP/CABD5CgALhwkBCX8jAEHwAWsiCyQAAkACQAJAIABFDQAgACgCACIMQX9GDQEgACAMQQFqNgIAIAFFDQAgASgCACIMQX9GDQEgASAMQQFqNgIAIAJFDQAgAigCACIMQX9GDQEgAiAMQQFqNgIAIANFDQAgAygCACIMQX9GDQEgAyAMQQFqNgIAIARFDQAgBCgCACIMQX9GDQEgBCAMQQFqNgIAIAVFDQAgBSgCACIMQX9GDQEgBSAMQQFqNgIAIAZFDQAgBigCACIMQX9GDQEgBiAMQQFqNgIAIAdFDQAgBygCACIMQX9GDQEgByAMQQFqNgIAIAtBQGsiDEEIaiACQQRqIg1BCGopAgA3AwAgCyANKQIANwNAIAxBGGogAUEEaiINQQhqKAIANgIAIAsgDSkCADcDUCALQeAAaiINQQhqIAZBBGoiDkEIaikCADcDACALIA4pAgA3A2AgDUEYaiAFQQRqIg5BCGooAgA2AgAgCyAOKQIANwNwIARBCGooAgAiDigCCCEPIAQoAgQhECAAQQhqKAIAIhEoAgghEiAAKAIEIRMgC0EBOgCJASALIApBAEc6AIgBIAsgCDgChAEgCyAJOAKAAUEEIQogC0G4AWogDCADQQRqIBMgEkEBa0F4cWpBCGogESANIAdBBGogECAPQQFrQXhxakEIaiAOIAtBgAFqEMECAkAgCy0A7AEiDEEFRg0AIAtBgAFqIg1BMGoiDyALQbgBaiIOQTBqKAIANgIAIA1BKGoiECAOQShqKQIANwMAIA1BIGoiESAOQSBqKQIANwMAIA1BGGogDkEYaikCADcDACANQRBqIhIgDkEQaikCADcDACANQQhqIA5BCGopAgA3AwAgC0H+AGoiDSALQe8Bai0AADoAACALIAspArgBNwOAASALIAsvAO0BOwF8IAxBBEYNACALQQZqIA0tAAA6AAAgC0EIaiIKQQhqIAtBgAFqIg1BCGopAwA3AwAgCkEQaiASKQMANwMAIApBGGogDUEYaikDADcDACAKQSBqIBEpAwA3AwAgCkEoaiAQKQMANwMAIApBMGogDygCADYCACALIAsvAXw7AQQgCyALKQOAATcDCCAMIQoLIAcgBygCAEEBazYCACAGIAYoAgBBAWs2AgAgBSAFKAIAQQFrNgIAIAQgBCgCAEEBazYCACADIAMoAgBBAWs2AgAgAiACKAIAQQFrNgIAIAEgASgCAEEBazYCACAAIAAoAgBBAWs2AgBBACEAIApBBEcEQEGR+sMALQAAGkE8QQQQowwiAEUNAyAAQQA2AgAgACALKQMINwIEIAAgCjoAOCAAIAsvAQQ7ADkgAEEMaiALQRBqKQMANwIAIABBFGogC0EYaikDADcCACAAQRxqIAtBIGopAwA3AgAgAEEkaiALQShqKQMANwIAIABBLGogC0EwaikDADcCACAAQTRqIAtBOGooAgA2AgAgAEE7aiALQQZqLQAAOgAACyALQfABaiQAIAAPCxCQDQALEJENAAtBBEE8QdiAxAAoAgAiAEGjByAAGxEAAAAL8ggCC30GfyMAQRBrIhAkACABKgIAIQYCQAJAAn8CQAJAIAMqAgAiCUMAAAAAXARAQwAAgD8gCZUiBSAGIAIqAgAiBpOUIgcgBSABKgIMIAaTlCIFXiEPIAcgBSAPGyEEQ///f/8hBiAFIAcgDxsiBUP//3//Xg0BIAVD//9//1sNAkEADAMLIAYgAioCACIGXgRADAULIAEqAgwgBl0EQAwFC0P//39/IQVD//9//yEGDAMLQX9BASAPGyERIAUhBkEADAELQQELIRRD//9/fyEFAn8CQCAEQ///f39dRQRAIARD//9/f1sNAUEADAILQQFBfyAPGyESIAQhBUEADAELQQELIRNBACEPIAVDAAAAAF0NASAFIAZdDQELAkAgAyoCBCIKQwAAAABcBEBDAACAPyAKlSIHIAEqAgQgAioCBCIEk5QiCCAHIAFBEGoqAgAgBJOUIgReIQ8gCCAEIA8bIQcCQCAEIAggDxsiBCAGXkUEQCAEIAZcDQFBASEUDAELQX5BAiAPGyERQQAhFCAEIQYLAkAgBSAHXkUEQCAFIAdcDQFBASETDAELQQJBfiAPGyESQQAhEyAHIQULQQAhDyAFQwAAAABdDQIgBSAGXQ0CDAELIAIqAgQiBCABKgIEXQ0BIAQgAUEQaioCAF4NAQsCQCADKgIIIgtDAAAAAFwEQEMAAIA/IAuVIgcgASoCCCACKgIIIgSTlCIIIAcgAUEUaioCACAEk5QiBF4hASAIIAQgARshBwJAIAQgCCABGyIEIAZeRQRAIAQgBlwNAUEBIRQMAQtBfUEDIAEbIRFBACEUIAQhBgsCQCAFIAdeRQRAIAUgB1wNAUEBIRMMAQtBA0F9IAEbIRJBACETIAchBQsgBUMAAAAAXQ0CIAUgBl0NAgwBCyACKgIIIgQgASoCCF0NASAEIAFBFGoqAgBeDQELAn0gFEUEQCAQQgA3AgQgEEEANgIMAn0gEUEATgRAQwAAgL8gEUEBayIBQQNJDQEaQfCcwgAQ0wsACyARQX9zIQFDAACAPwshDCAQQQRqIAFBAnRqIAw4AgAgECoCDCEMIBAqAgghDSAQKgIEDAELIAuMIAkgCZQgCiAKlJIgCyALlJIQmAEiBJUhDCAKjCAElSENIAmMIASVCyEOAn0gE0UEQCAQQgA3AgQgEEEANgIMAn0gEkEATgRAQwAAgD8gEkEBayIBQQNJDQEaQYCdwgAQ0wsACyASQX9zIQFDAACAvwshBCAQQQRqIAFBAnRqIAQ4AgAgECoCDCEIIBAqAgghByAQKgIEDAELIAuMIAkgCZQgCiAKlJIgCyALlJIQmAEiBJUhCCAKjCAElSEHIAmMIASVCyEEIAAgBjgCBCAAQShqIBI2AgAgAEEkaiAIOAIAIABBIGogBzgCACAAQRxqIAQ4AgAgAEEYaiAFOAIAIABBFGogETYCACAAQRBqIAw4AgAgAEEMaiANOAIAIABBCGogDjgCAEEBIQ8LIAAgDzYCACAQQRBqJAALtAkBBn8gACgCCCEEIAAoAgQhBSABKAIAIgIoAgghAyACKAIAIANrQQdNBEAgAiADQQgQzAYgAigCCCEDCyACIANBCGo2AgggAigCBCADaiAErTcAACAEQQxsIQICQANAIAIEQCACQQxrIQIgBSABEOIGIQMgBUEMaiEFIANFDQEMAgsLIABBFGooAgAhAyAAQRBqKAIAIQYgASgCACICKAIIIQQgAigCACAEa0EHTQRAIAIgBEEIEMwGIAIoAgghBAsgAiAEQQhqIgU2AgggAigCBCAEaiADrTcAACADBEAgBiADQQN0aiEEA0AgBkEEaigCACEHIAYoAgAhAyACKAIAIAVrQQNNBEAgAiAFQQQQzAYgAigCCCEFCyACKAIEIAVqIAM2AAAgAiAFQQRqIgM2AgggAigCACADa0EDTQRAIAIgA0EEEMwGIAIoAgghAwsgAiADQQRqIgU2AgggAigCBCADaiAHNgAAIAQgBkEIaiIGRw0ACwsgAEEgaigCACEEIABBHGooAgAhBSABKAIAIgIoAgghAyACKAIAIANrQQdNBEAgAiADQQgQzAYgAigCCCEDCyACIANBCGo2AgggAigCBCADaiAErTcAACAEQRRsIQYDQCAGBEAgBSgCACEEIAIoAgAgAigCCCIDa0EDTQRAIAIgA0EEEMwGIAIoAgghAwsgAigCBCADaiAENgAAIAIgA0EEaiIDNgIIIAUoAgQhBCACKAIAIANrQQNNBEAgAiADQQQQzAYgAigCCCEDCyACIANBBGo2AgggAigCBCADaiAENgAAIAZBFGshBiAFQQhqIQMgBUEUaiEFIAMgARDiBiIDRQ0BDAILCyAAQSxqKAIAIQYgAEEoaigCACEFIAEoAgAiAigCCCEEIAIoAgAgBGtBB00EQCACIARBCBDMBiACKAIIIQQLIAIgBEEIaiIDNgIIIAIoAgQgBGogBq03AAAgBgRAIAUgBkEFdGohBgNAIAUoAgQhBCAFKAIAIQcgAigCACADa0EDTQRAIAIgA0EEEMwGIAIoAgghAwsgAigCBCADaiAHNgAAIAIgA0EEaiIDNgIIIAIoAgAgA2tBA00EQCACIANBBBDMBiACKAIIIQMLIAIoAgQgA2ogBDYAACACIANBBGoiAzYCCCAFQQxqKAIAIQQgBUEIaigCACEHIAIoAgAgA2tBA00EQCACIANBBBDMBiACKAIIIQMLIAIoAgQgA2ogBzYAACACIANBBGoiAzYCCCACKAIAIANrQQNNBEAgAiADQQQQzAYgAigCCCEDCyACIANBBGo2AgggAigCBCADaiAENgAAIAVBEGoiBCABEOIGIgMNAiAEQQxqLQAAIQcgAigCCCIFIAIoAgBGBEAgAiAFQQEQzAYgAigCCCEFCyACIAVBAWoiAzYCCCACKAIEIAVqIAc6AAAgBiAEQRBqIgVHDQALCyABIABBNGooAgAgAEE4aigCABD8BiIDDQAgASAAQUBrKAIAIABBxABqKAIAEPwGIgMNACABIABBzABqKAIAIABB0ABqKAIAEPwGIgMNACABIABB2ABqKAIAIABB3ABqKAIAEPwGIgMNAEEAIQMLIAML3BUDGn8DfgN9IwBBIGsiESQAIAEoAgwiB0EEayEEIAAoAggiGSAAKAIEIhggACgCACIXQbnz3fF5bEEFd3NBufPd8XlsQQV3c0G5893xeWwiFkEZdiIarUKBgoSIkKDAgAF+IR8gAUEQaigCACEGIAEoAgghDSABKAIEIQkgGb4hICAYviEhIBe+ISIgFiEKAkADQAJAIB8gBiAKcSIKIAdqKQAAIh6FIh1CgYKEiJCgwIABfSAdQn+Fg0KAgYKEiJCgwIB/gyIdUA0AAkADQCAEIB16p0EDdiAKaiAGcUECdGsoAgAiCCANTw0BAkACQCAJIAhBFGxqIgMqAgQgIlwNACADQQRqIgMqAgQgIVwNACADKgIIICBbDQELIB1CAX0gHYMiHVANAwwBCwsgCSAIQRRsakEQaiEDIAIoAgghCgwDCyAIIA1BkI3CABDtCAALIB4gHkIBhoNCgIGChIiQoMCAf4NQBEAgCiAFQQhqIgVqIQoMAQsLIAYgFnEiBSAHaikAAEKAgYKEiJCgwIB/gyIdUARAQQghCgNAIAUgCmohAyAKQQhqIQogAyAGcSIFIAdqKQAAQoCBgoSIkKDAgH+DIh1QDQALCyACKAIIIQoCQCAdeqdBA3YgBWogBnEiBSAHaiwAACIDQQBOBH8gBykDAEKAgYKEiJCgwIB/g3qnQQN2IgUgB2otAAAFIAMLQQFxIhxFDQAgAUEUaigCAA0AIwBBMGsiFSQAAkAgAUEMaiISKAIMIhtBAWoiCEUEQBCaCiAVKAIIGgwBCyASKAIEIg5BAWoiB0EDdiEEAkACQAJAAkACQAJAIA4gBEEHbCAOQQhJGyIQQQF2IAhJBEAgCCAQQQFqIgMgAyAISRsiBEEISQ0BAn8gBEGAgICAAkkEQEEBIQMgBEEDdCIEQQ5JDQZBfyAEQQduQQFrZ3ZBAWoMAQsQmgogFSgCKEGBgICAeEcNCCAVKAIsCyIDQf////8DSw0FDAQLQQAhAyASKAIAIQwCQCAEIAdBB3FBAEdqIgRFDQAgBEEBcSEIIARBAUcEQCAEQf7///8DcSEGA0AgAyAMaiIEKQMAIR0gBCAdQn+FQgeIQoGChIiQoMCAAYMgHUL//v379+/fv/8AhHw3AwAgBEEIaiIEKQMAIR0gBCAdQn+FQgeIQoGChIiQoMCAAYMgHUL//v379+/fv/8AhHw3AwAgA0EQaiEDIAZBAmsiBg0ACwsgCEUNACADIAxqIgMpAwAhHSADIB1Cf4VCB4hCgYKEiJCgwIABgyAdQv/+/fv379+//wCEfDcDAAsgB0EITwRAIAcgDGogDCkAADcAAAwCCyAMQQhqIAwgBxChDRogDkF/Rw0BQQAhEAwCC0EEQQggBEEESRshAwwCCyAMQQRrIQVBACEDA0ACQCAMIAMiBGoiEy0AAEGAAUcNAAJAAkAgDSAFIARBAnQiCGsiBygCACIDSwRAIAwgCGtBBGshCwNAIAwgCSADQRRsaigCACIUIA5xIg8iBmopAABCgIGChIiQoMCAf4MiHVAEQEEIIQMDQCADIAZqIQggA0EIaiEDIAwgCCAOcSIGaikAAEKAgYKEiJCgwIB/gyIdUA0ACwsgDCAdeqdBA3YgBmogDnEiBmosAABBAE4EQCAMKQMAQoCBgoSIkKDAgH+DeqdBA3YhBgsgBiAPayAEIA9rcyAOcUEISQ0CIAwgBkECdGtBBGshDyAGIAxqIgMtAAAhCCADIBRBGXYiAzoAACAGQQhrIA5xIAxqQQhqIAM6AAAgCEH/AUYNAyALLQAAIQMgCyAPLQAAOgAAIA8gAzoAACALLQABIQMgCyAPLQABOgABIA8gAzoAASALLQACIQMgCyAPLQACOgACIA8gAzoAAiALLQADIQMgCyAPLQADOgADIA8gAzoAAyANIAcoAgAiA0sNAAsLIAMgDUGwjcIAEO0IAAsgEyAUQRl2IgM6AAAgBEEIayAOcSAMakEIaiADOgAADAELIBNB/wE6AAAgBEEIayAOcSAMakEIakH/AToAACAPIAsoAAA2AAALIARBAWohAyAEIA5HDQALCyASIBAgG2s2AggMAwsgA0ECdCIEQQdqIQggBCAISw0AIAhBeHEiByADQQhqIghqIQUgBSAHTw0BCxCaCiAVKAIQGgwBCwJAIAVBAE4EQEGR+sMALQAAGiAFQQgQowwiBEUEQEEIIAVB2IDEACgCACIAQaMHIAAbEQAAAAsgBCAHakH/ASAIEKINIQsgA0EBayIQIANBA3ZBB2wgEEEISRsgG2shDyASKAIAIRQCQCAOQX9HBEAgFEEEayEFA0AgEyAUaiwAAEEATgRAIAUgE0ECdCIHaygCACIDIA1PDQUgCyAJIANBFGxqKAIAIgggEHEiBmopAABCgIGChIiQoMCAf4MiHVAEQEEIIQMDQCADIAZqIQQgA0EIaiEDIAsgBCAQcSIGaikAAEKAgYKEiJCgwIB/gyIdUA0ACwsgCyAdeqdBA3YgBmogEHEiA2osAABBAE4EQCALKQMAQoCBgoSIkKDAgH+DeqdBA3YhAwsgAyALaiAIQRl2IgQ6AAAgA0EIayAQcSALakEIaiAEOgAAIAsgA0ECdGtBBGsgFCAHa0EEaygAADYCAAsgDiATRiEDIBNBAWohEyADRQ0ACyASIA82AgggEiAQNgIEIBIgCzYCACAODQEMBAsgEiAPNgIIIBIgEDYCBCASIAs2AgALIBQgDkECdEELakF4cWsQlQIMAgsQmgogFSgCGBoMAQsgAyANQbCNwgAQ7QgACyAVQTBqJAAgFiABKAIQIgZxIgMgASgCDCIHaikAAEKAgYKEiJCgwIB/gyIdUARAQQghBQNAIAMgBWohAyAFQQhqIQUgByADIAZxIgNqKQAAQoCBgoSIkKDAgH+DIh1QDQALCyAdeqdBA3YgA2ogBnEiBSAHaiwAAEEASA0AIAcpAwBCgIGChIiQoMCAf4N6p0EDdiEFCyAFIAdqIBo6AAAgBUEIayAGcSAHakEIaiAaOgAAIAEgASgCFCAcayIJNgIUIAFBGGoiAygCAEEBaiEEIAMgBDYCACAHIAVBAnRrQQRrIA02AgAgASgCCCEFAkAgDSABKAIAIgNHDQAgBCAJaiAFayIJIA0iAyAFa00NAAJAIAUgBSAJaiIDSw0AIANBFGwhBCADQefMmTNJQQJ0IQkCQCANRQRAIBFBADYCGAwBCyARQQQ2AhggESANQRRsNgIcIBEgASgCBDYCFAsgEUEIaiAJIAQgEUEUahDhBiARKAIMIQkgESgCCEUEQCABIAM2AgAgASAJNgIEDAILIA0hAyAJQYGAgIB4Rg0BIAlFDQAgCSARQRBqKAIAQdiAxAAoAgAiAEGjByAAGxEAAAALEO4KAAsgAyAFRgRAIAEgBRCuBiABKAIIIQULIAEgBUEBaiIDNgIIIAEoAgQiASAFQRRsaiIJIAo2AhAgCSAZNgIMIAkgGDYCCCAJIBc2AgQgCSAWNgIAIAMgDUsEQCABIA1BFGxqQRBqIQMMAQsgDSADQaCNwgAQ7QgACyAKIAMoAgAiBUYEQCACKAIAIApGBEAgAiAKELIGIAIoAgghCgsgAigCBCAKQQxsaiIBIAApAgA3AgAgAUEIaiAAQQhqKAIANgIAIAIgCkEBajYCCCADKAIAIQULIBFBIGokACAFC/EKAgR/DX0jAEHgAGsiCyQAIAtBEGoiDSAAQRhqIg4oAgA2AgAgCyAAKQIQNwMIIAtBGGoiDCABIAtBCGogAhEBACAMQRRqKAIAIQEgCygCKCEMIAstACQhAgJAIAsqAgggCyoCGCIZkyIPIA+UIAsqAgwgCyoCHCIakyIQIBCUkiANKgIAIAsqAiAiG5MiESARlJIiEkMAAAAAXkUEQEMAAIA/IQ8gACoCECISIBKUIABBFGoqAgAiECAQlJIgDioCACIRIBGUkiITQwAAAABeRQRAQwAAAAAhEUMAAAAAIRAMAgsgESATEJgBIg+VIREgECAPlSEQIBIgD5UhDwwBCyARIBIQmAEiFJUhESAQIBSVIRAgDyAUlSEPCyALIBE4AjggCyAQOAI0IAsgDzgCMCACBEAgCyARjCIROAI4IAsgEIwiEDgCNCALIA+MIg84AjAgFIwhFAsCQCAUIAMgCJJfRQRAIAlBhAFqQQA2AgAMAQsgCyAAKgIMIhUgECAAKgIAIgiUIA8gACoCBCISlJMiEyATkiIWlCASIBEgEpQgECAAKgIIIhOUkyIXIBeSIheUIAggDyATlCARIAiUkyIYIBiSIhiUk5IgEZMiETgCRCALIBUgGJQgCCAWlCATIBeUk5IgEJMiCDgCQCALIBUgF5QgEyAYlCASIBaUk5IgD5MiDzgCPCALQSRqIAc2AgAgCyAGNgIgIAsgBTYCHCALIAQ2AhgCQCALQRhqIAAgC0EwaiALQTxqEJEKBEAgDyALKgI8IhCUIAggCyoCQCIPlJIgESALKgJEIgiUkiIVQ+b/fz9dRQ0BCyAJQYQBakEANgIADAELQQAhAEEAIQIjAEEgayIEJAACQAJAAkACQAJAAkACQAJAIAxBAWsOAwECAwALIAQgAUGAgICAfHEiAjYCBCACDQMgAUGAgICABHIhAgwCCyAEIAFBgICAgHxxIgI2AgQgAg0DIAFBgICAgHhyIQIMAQsgBCABQYCAgIB8cSICNgIEIAINAyABQYCAgIB8ciECCyAEQSBqJAAMAwsgBEEANgIIIARBBGogBEEIakGs/8IAEPkKAAsgBEEANgIIIARBBGogBEEIakG8/8IAEPkKAAsgBEEANgIIIARBBGogBEEIakHM/8IAEPkKAAsjAEEgayIBJAAgAUEANgIEIAFBIGokACALQdgAakIANwMAIAtB0ABqQgA3AwAgC0IANwNIIBsgCCADlCISIAobIQggGiAPIAOUIhMgChshDyAZIBAgA5QiFiAKGyERIBIgGyAKGyEQIBMgGiAKGyESIBYgGSAKGyETIAJBgICAgHwgChshAUGAgICAfCACIAobIQIgFCAVlCADkyEDAkAgCUGEAWooAgBBAUcEQCAJQQA2AoQBIAkoAnxFBEAgCUH8AGpBABCqBiAJKAKEASEACyAJIABBAWo2AoQBIAlBgAFqKAIAIABBPGxqIgAgCykDSDcCACAAIAE2AjggACACNgI0IAAgAzgCMCAAIAg4AiwgACAPOAIoIAAgETgCJCAAIBA4AiAgACASOAIcIAAgEzgCGCAAQQhqIAtByABqIgFBCGopAwA3AgAgAEEQaiABQRBqKQMANwIADAELIAlBgAFqKAIAIgAgATYCOCAAIAI2AjQgACAROAIkIAAgEzgCGCAAIAM4AjAgAEEsaiAIOAIAIABBKGogDzgCACAAQSBqIBA4AgAgAEEcaiASOAIACyAJIAtBPGoiACALQTBqIgEgChsiAikCADcCiAEgCSABIAAgChsiACkCADcClAEgCUGQAWogAkEIaigCADYCACAJQZwBaiAAQQhqKAIANgIACyALQeAAaiQAC68LAhF/AX0jAEEgayIGJAAgBkEIaiEEIAEiAkEsaigCACEHIAIoAighAwJ/AkAgAigCAARAIAJBEGooAgAiAQRAIAJBCGooAgAhCSAC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AkECQbTIwgAQ7QgACyADQRhqQo6AgICgATcDACADQoKAgIDgADcDECADQoyAgICAATcDCCADQoCAgIDAADcDACAMQwAAAMNgIQJB/wACfyAMi0MAAABPXQRAIAyoDAELQYCAgIB4C0GAfyACGyAMQwAA/kJeG0EAIAwgDFsbQQFqwEECbSIBwCECIAFB/wFxQQJJDQIgAkECQcTIwgAQ7QgACyADIAJBBHRqIgEoAgwhBCABKAIIIQUgASgCBCEGIAEoAgAhByADQRhqQv2BgIDAHTcDACADQvSBgIDgHzcDECADQtmBgICAGTcDCCADQtCBgICgGzcDACABKAIMIQggASgCCCEJIAEoAgQhCiAPjCERIA6MIRIgDSAMlCINIRMgDSIQIRQgASgCAAwCCyADIAJBBHRqIgEoAgwhBCABKAIIIQUgASgCBCEGIAEoAgAhByADQRhqQvuBgICgGzcDACADQvKBgIDgHzcDECADQumBgICAGTcDCCADQuCBgIDAHTcDACABKAIMIQggASgCCCEJIAEoAgQhCiAOjCESIA2MIhMhECANIRQgDyAMlCIRIQ8gASgCAAwBCyADIAJBBHRqIgEoAgwhBCABKAIIIQUgASgCBCEGIAEoAgAhByADQRhqQv2BgICQHTcDACADQtmBgICwHzcDECADQvSBgICAHDcDCCADQtCBgICgHjcDACABKAIMIQggASgCCCEJIAEoAgQhCiAPjCERIA0hEyANjCIQIRQgDiAMlCIOIRIgASgCAAshASADIAY2AgQgAyAHNgIAIAMgBTYCCCADIAQ2AgwgA0EsaiADELIFIAMgCDYCDCADIAk2AgggAyAKNgIEIAMgATYCACADQTxqIAMQswUgAyALIAJBA2xqQQpqIgFBgICAgHxxIgI2AkwgAkUEQCAAIBI4AiwgACAPOAIoIAAgFDgCJCAAIBI4AiAgACAROAIcIAAgEDgCGCAAIA44AhQgACAROAIQIAAgEzgCDCAAIA44AgggACAPOAIEIAAgDTgCACAAIAMpAiw3AjAgACADKQI8NwJAIABBOGogA0E0aikCADcCACAAQcgAaiADQcQAaikCADcCACAAQQQ2AlQgACABQYCAgIB8cjYCUCADQdAAaiQADwsgA0EANgIAIANBzABqIANBzP/CABD5CgAL4BICFH8GfiMAQfAA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ADYCACABQQxqIAJBGGooAgA2AgAgAUEwaiACQSRqKAIANgIAIAFBJGogAkEwaigCADYCACALIAspAowBNwIwIAsgCykCmAE3AiQgCyALKQKkATcCSCALIAspArABNwI8IAsgAzoAVCALIAsqAogBOAIgDAILIAsgBiAHKAKsAREAACALKAIAIgYEQCALQYgBaiABIAUgBiALKAIEIAIgAyAEIAggCSAKECwgCy0AvAEiAUEERwRAIAtBgAFqIAtBlAFqKAIANgIAIAtBKGogC0GgAWooAgA2AgAgC0HgAGogC0GsAWooAgA2AgAgC0HwAGogC0G4AWooAgA2AgAgCyALKQKMATcDeCALIAspApgBNwMgIAsgCykCpAE3A1ggCyALKQKwATcDaCALKgKIASEJCyAAIAk4AgAgACALKQMgNwIEIAAgCykDeDcCECAAIAspA2g3AhwgACALKQNYNwIoIAAgAToANCAAQQxqIAtBKGooAgA2AgAgAEEYaiALQYABaigCADYCACAAQSRqIAtB8ABqKAIANgIAIABBMGogC0HgAGooAgA2AgAgAEE3aiALQYoBai0AADoAACAAIAsvAIgBOwA1DAMLIABBBToANAwCCyALQSBqIAEgAiAMIA0gAyAEIAUgDiAPIAYgByAIIAkgC0HYAGoQNwsgAEEwaiALQSBqIgFBMGopAgA3AgAgAEEoaiABQShqKQIANwIAIABBIGogAUEgaikCADcCACAAQRhqIAFBGGopAgA3AgAgAEEQaiABQRBqKQIANwIAIABBCGogAUEIaikCADcCACAAIAspAiA3AgALIAtBwAFqJAALjggCCX8CfiMAQdAAayICJAACQCABKAIEIgNFBEAgAEGAgICAeDYCAAwBCyABIANBAWs2AgQCQCABKAIAIgcoAgQiAUEHTQRAIAJCgcqAgIABNwMgIAJBIGoQgAshAwwBCyAHIAFBCGs2AgQgByAHKAIAIgFBCGo2AgAgAkE4aiABKQAAEMYGIAIoAjwhASACKAI4BEAgASEDDAELAkACQAJAAkACQAJAQYCABCABIAFBgIAETxsiBkUEQEEEIQMMAQtBkfrDAC0AABogBkEEdCIEQQQQowwiA0UNAQtBACEEIAJBADYCECACIAM2AgwgAiAGNgIIIAEEQANAIAJBAzYCPCACIAc2AjggAkEg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IgIkAAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAABBAWsOEQECAwQFBgcICQoLDA0ODxARAAsgAiAALQABOgAIIAJBJGpCATcCACACQQI2AhwgAkG0s8MANgIYIAJBngc2AhQgAiACQRBqNgIgIAIgAkEIajYCECABIAJBGGoQiwwMEQsgAiAAKQMINwMIIAJBJGpCATcCACACQQI2AhwgAkHQs8MANgIYIAJB/AA2AhQgAiACQRBqNgIgIAIgAkEIajYCECABIAJBGGoQiwwMEAsgAiAAKQMINwMIIAJBJGpCATcCACACQQI2AhwgAkHQs8MANgIYIAJBnwc2AhQgAiACQRBqNgIgIAIgAkEIajYCECABIAJBGGoQiwwMDwsgAiAAKwMIOQMIIAJBJGpCATcCACACQQI2AhwgAkHws8MANgIYIAJBoAc2AhQgAiACQRBqNgIgIAIgAkEIajYCECABIAJBGGoQiwwMDgsgAiAAKAIENgIIIAJBJGpCATcCACACQQI2AhwgAkGMtMMANgIYIAJBoQc2AhQgAiACQRBqNgIgIAIgAkEIajYCECABIAJBGGoQiwwMDQsgAiAAKQIENwIIIAJBJGpCATcCACACQQE2AhwgAkGktMMANgIYIAJBogc2AhQgAiACQRBqNgIgIAIgAkEIajYCECABIAJBGGoQiwwMDAsgAkEkakIANwIAIAJBATYCHCACQay0wwA2AhggAkGgs8MANgIgIAEgAkEYahCLDAwLCyACQSRqQgA3AgAgAkEBNgIcIAJBwLTDADYCGCACQaCzwwA2AiAgASACQRhqEIsMDAoLIAJBJGpCADcCACACQQE2AhwgAkHUtMMANgIYIAJBoLPDADYCICABIAJBGGoQiwwMCQsgAkEkakIANwIAIAJBATYCHCACQey0wwA2AhggAkGgs8MANgIgIAEgAkEYahCLDAwICyACQSRqQgA3AgAgAkEBNgIcIAJB/LTDADYCGCACQaCzwwA2AiAgASACQRhqEIsMDAcLIAJBJGpCADcCACACQQE2AhwgAkGItcMANgIYIAJBoLPDADYCICABIAJBGGoQiwwMBgsgAkEkakIANwIAIAJBATYCHCACQZS1wwA2AhggAkGgs8MANgIgIAEgAkEYahCLDAwFCyACQSRqQgA3AgAg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lCAOIAFBFGoqAgCUkiANIAFBGGoqAgCUkosgFF9FDQEMCAsLIAMgBEHY8MIAEO0IAAsgBCACIAsoAgBqIgNNBEAgAyAEQejwwgAQ7QgACyAIIAUgA0ECdGooAgAiA0sNASADIAhB+PDCABDtCAALIAEgB0HI8MIAEO0IAAsgAkEBaiECIA8gCSADQRRsaiIHKgIIlCAOIAdBDGoqAgCUkiANIAdBEGoqAgCUkiATYEUNAAtBAiEIDAILIAYgAkG48MIAEO0IAAtBAEEAQbyqwwAQ7QgACyAAIAM2AgQgACAINgIAIApBEGokAAuRCAEHfyABIAAoAgAiBygCCCIFTwRAIAcgBSABQQFqIgkiBEkEfyAFIQYgCSAFayIKIAcoAgAgBWtLBEAgByAFIAoQpAYgBygCCCEGCyAHKAIEIAZBBHRqIQQgCkECTwRAIAEgBWsiB0EDcSEIIAVBf3MgAWpBA08EQCAHQXxxIQUDQCAEQn83AgggBEEAOgAEIARBfzYCACAEQThqQn83AgAgBEE0akEAOgAAIARBMGpBfzYCACAEQShqQn83AgAgBEEkakEAOgAAIARBIGpBfzYCACAEQRhqQn83AgAgBEEUakEAOgAAIARBEGpBfzYCACAEQUBrIQQgBUEEayIFDQALCyAIBEADQCAEQn83AgggBEEAOgAEIARBfzYCACAEQRBqIQQgCEEBayIIDQALCyAGIApqQQFrIQYLIARCfzcCCCAEQQA6AAQgBEF/NgIAIAZBAWoFIAQLNgIIIAkgACgCBCIHKAIIIgVLBEAgCSAFIgZrIgkgBygCACAFa0sEQCAHIAUgCRCmBiAHKAIIIQYLIAcoAgQgBkEYbGohBCAJQQJPBEAgASAFayIKQQNxIQggBUF/cyABakEDTwRAIApBfHEhBQNAIARC////+////79/NwIQIARC////+/f//79/NwIIIARC////+/f//7//ADcCACAEQdgAakL////7////v383AgAgBEHQAGpC////+/f//79/NwIAIARByABqQv////v3//+//wA3AgAgBEFAa0L////7////v383AgAgBEE4akL////79///v383AgAgBEEwakL////79///v/8ANwIAIARBKGpC////+////79/NwIAIARBIGpC////+/f//79/NwIAIARBGGpC////+/f//7//ADcCACAEQeAAaiEEIAVBBGsiBQ0ACwsgCARAA0AgBEL////7////v383AhAgBEL////79///v383AgggBEL////79///v/8ANwIAIARBGGohBCAIQQFrIggNAAsLIAYgCWpBAWshBgsgBEL////7////v383AhAgBEL////79///v383AgggBEL////79///v/8ANwIAIAZBAWohCQsgByAJNgIIIAAoAgAiBygCCCEFCyABIAVJBEAgBygCBCABQQR0aiIGIAE2AgggBkEMaiACNgIAIAEgACgCBCICKAIIIgZJBEAgAigCBCABQRhsaiICIAMpAgA3AgAgAkEQaiADQRBqKQIANwIAIAJBCGogA0EIaikCADcCACAAKAIIIgAoAgghCCAAKAIAIAhGBEAgACAIELMGIAAoAgghCAsgACAIQQFqNgIIIAAoAgQgCEECdGogATYCAA8LIAEgBkGk18AAEO0IAAsgASAFQZTXwAAQ7QgAC6UHAgN/EH0jAEGAAmsiBSQAIAVBqAFqQQA2AgAgBUG4AWpBADYCACAFQoKAgIAwNwMIIAVCgICAgBA3AwAgBUIANwOgASAFQgA3A7ABIAVBMGpBAEHwABCiDUEANgIAIAVBKGpCADcDACABKgIEIhAgAkEQaioCACIIjCIRlCABKgIAIgsgAioCDCIJlJMgAkEUaioCACIKIAEqAggiDpSTIAFBEGoqAgAiFSARlCAJIAEqAgwiD5STIAogAUEUaioCACIWlJNeIQYgBUEcaiALIA8gBhsgAioCACISkyIMOAIAIAVBJGogASABQQxqIgcgBhsiBioCCCACKgIIIhOTIg04AgAgBUEgaiAGKgIEIAIqAgQiFJMiFzgCACAFQRhqIA04AgAgBUEUaiAXOAIAIAVBADYCvAEgBUEANgKsASAFIAw4AhAgBUHAAWogASAFIAIgAxCkASAFKALAASECAkAgBEUEQCACRQRAIABBBDYCAAwCCyAFKgLEASIMQwAAAABcBEAgACAMOAIIIABBAzYCACAAQRRqIAVB0AFqKAIANgIAIAAgBUHIAWopAgA3AgwMAgsgASAHIA4gCiAJIAmUIAggCJSSIAogCpSSEJgBIg2VIg6UIAsgCSANlSIMlCAQIAggDZUiCJSSkiAWIA6UIA8gDJQgFSAIlJKSXiICGyIEKgII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QQQQzAYgAigCCCEACyACKAIEIABqIAM4AAAgAiAAQQRqIgA2AgggASoCBCEDIAIoAgAgAGtBA00EQCACIABBBBDMBiACKAIIIQALIAIoAgQgAGogAzgAACACIABBBGoiADYCCCABKgIIIQMgAigCACAAa0EDTQRAIAIgAEEEEMwGIAIoAgghAAsgAigCBCAAaiADOAAAIAIgAEEEaiIANgIIIAEqAgwhAyACKAIAIABrQQNNBEAgAiAAQQQQzAYgAigCCCEACyACKAIEIABqIAM4AAAgAiAAQQRqIgA2AgggASoCECEDIAIoAgAgAGtBA00EQCACIABBBBDMBiACKAIIIQALIAIoAgQgAGogAzgAACACIABBBGoiADYCCCABQRRqKgIAIQMgAigCACAAa0EDTQRAIAIgAEEEEMwGIAIoAgghAAsgAigCBCAAaiADOAAAIAIgAEEEaiIANgIIIAFBGGoqAgAhAyACKAIAIABrQQNNBEAgAiAAQQQQzAYgAigCCCEACyACKAIEIABqIAM4AAAgAiAAQQRqIgA2AgggAUEcaioCACEDIAIoAgAgAGtBA00EQCACIABBBBDMBiACKAIIIQALIAIoAgQgAGogAzgAACACIABBBGoiADYCCCABKgIgIQMgAigCACAAa0EDTQRAIAIgAEEEEMwGIAIoAgghAAsgAigCBCAAaiADOAAAIAIgAEEEaiIANgIIIAFBJGoqAgAhAyACKAIAIABrQQNNBEAgAiAAQQQQzAYgAigCCCEACyACKAIEIABqIAM4AAAgAiAAQQRqIgA2AgggAUEoaioCACEDIAIoAgAgAGtBA00EQCACIABBBBDMBiACKAIIIQALIAIoAgQgAGogAzgAACACIABBBGoiADYCCCABQSxqKgIAIQMgAigCACAAa0EDTQRAIAIgAEEEEMwGIAIoAgghAAsgAiAAQQRqNgIIIAIoAgQgAGogAzgAAEEAC/sFAhB/C30jAEGQAmsiBCQAIAIqAgghGCACKgIEIRkgAioCACEaIARBCGoiAyABQQBBABCfAiAEQgA3AlwgBCABNgJYIARB5ABqIANB3AAQow0aIAQoAmRBAUYhASAEQfUBaiEJIARBkAFqIQsgBEHoAGohBUP//39/IRsgGiEUIBkhHCAYIR0DQAJAIARB6AFqIgNBIGoiDCAFQSBqIg0oAgA2AgAgA0EYaiIOIAVBGGoiDykCADcDACADQRBqIhAgBUEQaiIRKQIANwMAIANBCGoiEiAFQQhqIhMpAgA3AwAgBEEANgJkIAQgBSkCADcD6AECQCABQQFxDQAgBCgCvAEhBiAEKAK4ASEBIAQoArQBIQcDQCAEKAKMASEIIARBADYCjAEgCEEBRgRAIAshAwwCCyAEIAFBAWoiATYCuAEgBygCDEEBayABTQRAIAYgBygCEEECa08NAyAEQQA2ArgBIAQgBkEBaiIGNgK8AUEAIQELIARB5ABqIAcgASAGEJ8CIBIgEykCADcDACAQIBEpAgA3AwAgDiAPKQIANwMAIAwgDSgCADYCACAEKAJkIQggBEEANgJkIAQgBSkCADcD6AEgCEEBRw0ACwsgBEHAAWoiAUEgaiADQSBqKAIANgIAIAFBGGogA0EYaikCADcDACABQRBqIANBEGopAgA3AwAgAUEIaiADQQhqKQIANwMAIAQgAykCADcDwAEgBEHoAWogASACQQAQSyAEQeYBaiIBIAlBAmotAAA6AAAgBCAJLwAAOwHkASAbIAQqAugBIh4gGpMiFSAVlCAEKgLsASIVIBmTIhYgFpSSIAQqAvABIhYgGJMiFyAXlJIiF14EQCAELQD0ASEKIARBBmogAS0AADoAACAEIAQvAeQBOwEEIBUhHCAWIR0gFyEbIB4hFAtBACEBDAELCyAAIAo6AAwgACAdOAIIIAAgHDgCBCAAIBQ4AgAgACAELwAEOwANIABBD2ogBEEGai0AADoAACAEQZACaiQAC7YFARR9IAFBMGoqAgAhEyABQSxqKgIAIRQgAUEkaioCACEDIAFBIGoqAgAhDiABKgIoIRUgASoCHCEPIAEqAhghDSABKgIUIREgASoCECESIAEqAgwhBSABKgIIIQggASoCBCEEIAEqAgAhCQJ9IAEqAjQgApRDAAAAP5QiCiAKlCABQThqKgIAIAKUQwAAAD+UIgYgBpSSIAFBPGoqAgAgApRDAAAAP5QiByAHlJIiC0MAAIAoXwRAQwAAgD8hC0MAAAAAIQZDAAAAACEHQwAAAAAMAQsjAEEQayIBQwAAAH84AgwgASoCDBogCxCYASIMEMABIRAgDBDCAUMAAIA/lCELIAcgEEMAAIA/lCAMlSIMlCEHIAYgDJQhBiAKIAyUCyEKIAAgBSALlCAJIAqUkyAEIAaUkyAIIAeUkzgCDCAAIAUgB5QgBCAKlCAIIAuUkiAJIAaUk5I4AgggACAJIAeUIAUgBpQgBCALlCAIIAqUk5KSOAIEIAAgCCAGlCAFIAqUIAkgC5SSkiAEIAeUkzgCACANIA0gAyAFIAkgDpQgBCAPlJMiDSANkiINlCAJIAggD5QgCSADlJMiDCAMkiIMlCAEIAQgA5QgCCAOlJMiAyADkiIQlJOSkpIiFpMhAyAAQRhqIBMgApQgFpIgAyALIAogESARIA4gBSAMlCAIIBCUIAkgDZSTkpKSIg6TIgmUIAYgEiASIA8gBSAQlCAEIA2UIAggDJSTkpKSIg+TIgiUkyIEIASSIgSUIAogByAIlCAKIAOUkyIFIAWSIgWUIAYgBiADlCAHIAmUkyIDIAOSIgOUk5KSkjgCACAAQRRqIBQgApQgDpIgCSALIAWUIAcgA5QgCiAElJOSkpI4AgAgACAVIAKUIA+SIAggCyADlCAGIASUIAcgBZSTkpKSOAIQC6EFARF9AkACQCACKgIAIAEqAgAiBZMiCCADKgIEIAEqAgQiBpMiDZQgAioCBCAGkyILIAMqAgAgBZMiDpSTIgcgBEEUaioCACIPlCAEKgIMIhAgCyADKgIIIAEqAggiCZMiE5QgAioCCCAJkyISIA2UkyIMlCAEQRBqKgIAIhQgEiAOlCAIIBOUkyIKlJKSIhFDAAAAAFwEQCAMIAQqAgAgBZMiBZQgCiAEKgIEIAaTIgaUkiAHIAQqAgggCZMiFZSSIQkgEUMAAAAAXSAJQwAAAABdcQ0CAkAgEUMAAAAAXkUNACAJQwAAAABeRQ0ADAMLIA0gDyAFlCAQIBWUk4wiDZQgDiAUIBWUIA8gBpSTIg6UkyATIBAgBpQgFCAFlJMiD5STIQUgEYshBgJAAkAgCUMAAAAAXUUEQCAFQwAAAABdDQUgBSAGXg0FIAsgDZQgCCAOlJMgEiAPlJMiCEMAAAAAXg0FIAUgCJMgBl4NBUMAAIA/IAaVIgsgCIyUIQYgCyAFlCEFIAsgCZQhCSAHIAcgB5QgDCAMlCAKIAqUkpIQmAEiB5UhCCAKIAeVIQogDCAHlSEHDAQLIAVDAAAAAF4NBCAFjCIQIAZeDQQgCyANlCAIIA6UkyASIA+UkyIIQwAAAABdDQEgCCAFkyAGXg0BQwAAgD8gBpUiCyAIlCEGIAsgEJQhBSALIAmMlCEJIAeMIAcgB5QgDCAMlCAKIAqUkpIQmAEiB5UhCCAKjCAHlSEKIAyMIAeVIQcMAwsACwwCCwwBCyAAIAY4AiAgACAFOAIcIAAgCDgCFCAAIAo4AhAgACAHOAIMIAAgCTgCCCAAIBFDAAAAAF1FNgIEIABBAjYCACAAIAWMIAaTQwAAgD+SOAIYDwsgAEEENgIAC8oGAgl/B30CQAJAAkACQCAHKAIMIgsgASgChAIiDUEBdCIQIAYoAgAiDGpPBEAgAigCjAMgBSAMamohESAAKgIYIRUgACoCBCEWIAAqAhQhFyADKgIEIRQgAyoCACEYIAcoAgQhACAQBEAgACAMQQJ0aiIDIBBBAnRqIQIgECEMIAMhAANAAkAgC0ECdCISIANqIhMgACAAIAJGIg4bIg9FDQAgD0EANgIAIA9BBGoiDyAAIBJqIAIgDhsiAkYhACATIAMgDhsiAyASaiITIA8gABsiDkUNACAOQQA2AgAgDyASaiACIAAbIQIgEyADIAAbIQMgDiAMQQJHQQJ0aiEAIAxBAmsiDA0BCwsgBygCDCELIAcoAgQhAAsgC0EBRiARQQBHcQ0BIBFBACALQQFHGyICIAtPDQEgACACQQJ0akGAgID8AzYCACALQQFGIA0gEWoiAkEAR3ENAiACQQAgC0EBRxsiAiALTw0CIAAgAkECdGoiA0GAgID8AzYCACAGKAIAIgIgDWoiByANaiALSw0DIAFB3ABqIAAgB0ECdGogDRDFASAKKAIAIgAgCUkNBCAAIAlB5LfBABDtCAALQd73wABBHUHo+MAAENILAAtB3f/AAEEbQcS3wQAQ0gsAC0Hd/8AAQRtB1LfBABDSCwALQd73wABBHUHo+MAAENILAAsgCiAAQQFqNgIAIAYgAiAQajYCACAIIABBOGxqIgBBADYCNCAAQQA2AiwgAEP//39/QwAAAAAgBCAUXhs4AiAgAEP//3//QwAAAIAgBCAYXRs4AhwgAEL/////DzcCFCAAIAI2AhAgACANNgIMIAAgASgCiAI2AgggACAFNgIEIABBATYCACAAQwAAAABDAACAPyADKgIAIhmVIhogGUMI5TweXxsgGiAZQwjlPJ5gGzgCJCAAQwAAAABDAAAAACAEIBSTIhQgFEMAAAAAXRsgFCAUXBtDAAAAAEMAAAAAIBggBJMiBCAEQwAAAABdGyAEIARcG5MgF0MAAAAAQwAAgD8gFpUgFkMAAAAAWxuUlEMAAAAAkjgCKCAAQwAAgD8gF5VDAACAv5IiBCAElCAVIBUgBEMAAIA/kkMAAIBAlJSUlTgCMAv5BAEnfSACQRRqKgIAIRIgA0EUaioCACETIAIqAhAhFCADKgIQIRUgAEEUaiACQRhqKgIAIhAgASoCACIIIAIqAgAiBiACKgIIIgeUIgQgBJIiGSACKgIEIg0gAioCDCIOlCIEIASSIhqTi5QgASoCBCIEIA0gB5QiBSAFkiIbIAYgDpQiBSAFkiIckouUkiABKgIIIgUgByAHlCIWIA4gDpQiHSAGIAaUIh6TIh8gDSANlCIXk5KLlJIiEZIiICADQRhqKgIAIiEgCCADKgIAIgkgAyoCCCIKlCILIAuSIiIgAyoCBCILIAMqAgwiD5QiDCAMkiIjk4uUIAQgCyAKlCIMIAySIiQgCSAPlCIMIAySIiWSi5SSIAUgCiAKlCIMIA8gD5QiJiAJIAmUIieTIiggCyALlCIYk5KLlJIiKZIiKiAgICpgGzgCACAAIBAgEZMiECAhICmTIhEgECARXxs4AgggAEEQaiASIAUgGyAck4uUIAggBiANlCIGIAaSIgYgByAOlCIHIAeSIgeSi5QgBCAXIB+SIBaTi5SSkiINkiIOIBMgBSAkICWTi5QgCCAJIAuUIgkgCZIiCSAKIA+UIgogCpIiCpKLlCAEIBggKJIgDJOLlJKSIguSIg8gDiAPYBs4AgAgACAUIAUgGSAakouUIAQgBiAHk4uUIAggHiAdkiAXkyAWk4uUkpIiBpIiByAVIAUgIiAjkouUIAQgCSAKk4uUIAggJyAmkiAYkyAMk4uUkpIiCJIiBCAEIAdfGzgCDCAAIBIgDZMiBCATIAuTIgUgBCAFXxs4AgQgACAUIAaTIgQgFSAIkyIIIAQgCF8bOAIAC+AFAQd/An8gAUUEQCAAKAIcIQhBLSEKIAVBAWoMAQtBK0GAgMQAIAAoAhwiCEEBcSIBGyEKIAEgBWoLIQYCQCAIQQRxRQRAQQAhAgwBCwJAIANBEE8EQCACIAMQ2gEhAQwBCyADRQRAQQAhAQwBCyADQQNxIQkCQCADQQRJBEBBACEBDAELIANBfHEhDEEAIQEDQCABIAIgB2oiCywAAEG/f0pqIAtBAWosAABBv39KaiALQQJqLAAAQb9/SmogC0EDaiwAAEG/f0pqIQEgDCAHQQRqIgdHDQALCyAJRQ0AIAIgB2ohBwNAIAEgBywAAEG/f0pqIQEgB0EBaiEHIAlBAWsiCQ0ACwsgASAGaiEGCwJAAkAgACgCAEUEQEEBIQEgACgCFCIGIAAoAhgiACAKIAIgAxDaCg0BDAILIAYgACgCBCIHTwRAQQEhASAAKAIUIgYgACgCGCIAIAogAiADENoKDQEMAgsgCEEIcQRAIAAoAhAhCyAAQTA2AhAgAC0AICEMQQEhASAAQQE6ACAgACgCFCIIIAAoAhgiCSAKIAIgAxDaCg0BIAcgBmtBAWohAQJAA0AgAUEBayIBRQ0BIAhBMCAJKAIQEQMARQ0AC0EBDwtBASEBIAggBCAFIAkoAgwRBQANASAAIAw6ACAgACALNgIQQQAhAQwBCyAHIAZrIQYCQAJAAkAgAC0AICIBQQFrDgMAAQACCyAGIQFBACEGDAELIAZBAXYhASAGQQFqQQF2IQYLIAFBAWohASAAQRhqKAIAIQcgACgCECEIIAAoAhQhAAJAA0AgAUEBayIBRQ0BIAAgCCAHKAIQEQMARQ0AC0EBDwtBASEBIAAgByAKIAIgAxDaCg0AIAAgBCAFIAcoAgwRBQANAEEAIQEDQCABIAZGBEBBAA8LIAFBAWohASAAIAggBygCEBEDAEUNAAsgAUEBayAGSQ8LIAEPCyAGIAQgBSAAKAIMEQUAC6EJAg99An8jAEHgAGsiEyQAIBNBCGoiFEEgaiADQSBqKAIANgIAIBRBGGogA0EYaikCADcDACAUQRBqIANBEGopAgA3AwAgFEEIaiADQQhqKQIANwMAIBMgAykCADcDCCATQSxqIBQQOQJAAkACQCATKAI4DgMAAgECC0HMisIAQStBiJHCABC5CgALQcyKwgBBK0H4kMIAELkKAAsgEyoCNCEKIBMqAjAhCCATKgIsIQsCQCATQSxqIgNBKGoqAgAiBiATQUBrKgIAIgwgA0EkaioCACIElCADQRhqKgIAIg0gA0EgaioCACIJlJOUIANBEGoqAgAiEiAJIBNB3ABqKgIAIgeUIAQgE0HYAGoqAgAiBZSTlCATQcgAaioCACIOIAwgB5QgDSAFlJOUk5JDAAAAAF1FBEAgBSEPIAYhECAEIREgCSEFIA4hBiAHIQQgCCEJIAohCAwBCyAJIQ8gDiEQIAchESAKIQkLIBMgBDgCTCATIA84AkggEyAQOAJEIBMgETgCQCATIAU4AjwgEyAGOAI4IBMgDTgCNCATIAw4AjAgEyASOAIsIBNBCGohFAJAAkAgE0EsaiIDKgIAIgQgAyoCECIFkiADKgIgIgaSIgdDAAAAAF5FBEAgBCAFXiAEIAZecQ0BIAUgBl5FBEAgBkMAAIA/kiAEkyAFkxCYASIEIASSIQQgAyoCHCADKgIUkiAElSEFIAMqAgQgAyoCDJMgBJUhBiADKgIYIAMqAgiSIASVIQcgBEMAAIA+lCEEDAMLIAVDAACAP5IgBJMgBpMQmAEiBCAEkiEFIAMqAhwgAyoCFJIgBZUhBCADKgIYIAMqAgiTIAWVIQYgAyoCDCADKgIEkiAFlSEHIAVDAACAPpQhBQwCCyAHQwAAgD+SEJgBIgQgBJIhBiADKgIEIAMqAgyTIAaVIQQgAyoCFCADKgIckyAGlSEHIAMqAhggAyoCCJMgBpUhBSAGQwAAgD6UIQYMAQsgBEMAAIA/kiAFkyAGkxCYASIEIASSIQcgAyoCGCADKgIIkiAHlSEEIAMqAhQgAyoCHJMgB5UhBiADKgIMIAMqAgSSIAeVIQUgB0MAAIA+lCEHCyAUIAY4AgwgFCAEOAIIIBQgBTgCBCAUIAc4AgAgEyoCCCIFIAWUIBRBCGoiAyoCACIGIAaUkiATKgIMIgcgB5QgEyoCFCIKIAqUkpIQmAEhBCADIAYgBJU4AgAgEyAHIASVOAIMIBMgBSAElTgCCCAAIBMpAgg3AgAgEyAKIASVOAIUIABBCGogAykCADcCAEMAAAAAIAsgC0MAAAA0XRsQmAEhBEMAAAAAIAkgCUMAAAA0XRsQmAEhBUMAAAAAIAggCEMAAAA0XRsQmAEhCCAAQwAAAABDAACAPyAElSAEQwAAAABbGzgCICAAQwAAAABDAACAPyAClSACQwAAAABbGzgCHCAAQRhqIAFBCGooAgA2AgAgACABKQIANwIQIABBJGpDAAAAAEMAAIA/IAWVIAVDAAAAAFsbOAIAIABBKGpDAAAAAEMAAIA/IAiVIAhDAAAAAFsbOAIAIBNB4ABqJAALgAYCB38HfSMAQRBrIgMkAAJAIAEoAgQiAkUEQCAAQQA2AgAMAQsgASACQQFrNgIEAn8CQCABKAIAIgEoAgQiBEEDTQ0AIAEoAgAhAiABIARBBGsiBzYCBCABIAJBBGo2AgACQCAHQQNNDQAgAigAACEHIAEgBEEIayIFNgIEIAEgAkEIajYCAAJAIAVBA00NACACKgAEIQkgASAEQQxrIgU2AgQgASACQQxqNgIAAkAgBUEDTQ0AIAIqAAghCiABIARBEGsiBTYCBCABIAJBEGo2AgAgBUEESQ0DIAIqAAwhCyABIARBFGsiBTYCBCABIAJBFGo2AgAgBUEESQ0CIAIoABAhBSABIARBGGsiBjYCBCABIAJBGGo2AgAgBkEESQ0BIAIqABQhDCABIARBHGsiBjYCBCABIAJBHGo2AgAgBkEESQ0AIAIqABghDSABIARBIGsiBjYCBCABIAJBIGo2AgAgBkEESQ0DIAIqABwhDiABIARBJGsiBjYCBCABIAJBJGo2AgAgBkEESQ0CIAIoACAhBiABIARBKGsiCDYCBCABIAJBKGo2AgAgCEEESQ0BIAIqACQhDyABIARBLGsiCDYCBCABIAJBLGo2AgAgCEEESQ0AIAAgAioAKDgCLCAAIA84AiggACAGNgIkIAAgDjgCICAAIA04AhwgACAMOAIYIAAgBTYCFCAAIAs4AhAgACAKOAIMIAAgCTgCCCAAIAc2AgQgAEEBNgIAIAEgBEEwazYCBCABIAJBMGo2AgAgACACKgAsOAIwDAULIANBADoACyADQSU7AAkgA0EENgIMIANBAToACCADQQhqEIALDAMLIANBADoACyADQSU7AAkgA0EENgIMIANBAToACCADQQhqEIALDAILIANBADoACyADQSU7AAkgA0EENgIMIANBAToACCADQQhqEIALDAELIANBADoACyADQSU7AAkgA0EENgIMIANBAToACCADQQhqEIALCyEBIABBAjYCACAAIAE2AgQLIANBEGokAAvTBQIFfxB9AkACQAJAAkACQAJAIAEvAcABQZgBcUGYAUcNACABQdwAaigCACIDIAJNDQEgAUHYAGooAgAgAkEMbGoiBCgCACIFIAFB0ABqKAIAIgNPDQIgAyAEKAIEIgdNDQMgBCgCCCIEIANPDQQgASgCYEGAgICAeEYNACABQfQAaigCACIDIAJNDQUgAUHMAGooAgAi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GyIDSQRAIAFBCGogBCADEJAGIAEoAhAhBQsgAUEMaigCACEMAkAgBEEATA0AIAlBAWshDgJAIARBAXFFBEAgBCEHDAELIAwgBUGUAmxqIgMgCiAEQQFqIgcgBCAORiIIGzYCCCADIAtBASAIGzYCBCADQYCAgIB4NgIAIAVBAWohBQsgBEEBRg0AIAcgCWtBAWohCCAMIAVBlAJsaiEDA0AgA0GAgICAeDYCACADQZQCakGAgICAeDYCACADQQRqQQEgCyAIGzYCACADQQhqIAdBAWoiDSAKIAgbNgIAIANBnAJqIAogB0ECaiIHIA0gDkYiDRs2AgAgA0GYAmogC0EBIA0bNgIAIAhBAmohCCADQagEaiEDIAVBAmohBSAHIAlHDQALCyABIAU2AhACQCAEIAVJBEAgDCAEQZQCbGoiAygCAEGAgICAeEcNASABIAMpAgQ3AgAgASABKAIYQQFqNgIYIAEoAhQhASADIAJBkAIQow0gATYCkAIgACABNgIEIAAgBDYCACAGQTBqJAAPCyAEIAVBkJzAABDtCAALIAZBJGpCADcCACAGQQE2AhwgBkG0nMAANgIYIAZBgIDAADYCICAGQRhqQbycwAAQ7woAC4EGAQV/IABBCGshASABIABBBGsoAgAiA0F4cSIAaiECAkACQAJAAkAgA0EBcQ0AIANBA3FFDQEgASgCACIDIABqIQAgASADayIBQaCExAAoAgBGBEAgAigCBEEDcUEDRw0BQZiExAAgADYCACACIAIoAgRBfnE2AgQgASAAQQFyNgIEIAIgADYCAA8LIAEgAxDDBAsCQAJAIAIoAgQiA0ECcUUEQCACQaSExAAoAgBGDQIgAkGghMQAKAIARg0FIAIgA0F4cSICEMMEIAEgACACaiIAQQFyNgIEIAAgAWogADYCACABQaCExAAoAgBHDQFBmITEACAANgIADwsgAiADQX5xNgIEIAEgAEEBcjYCBCAAIAFqIAA2AgALIABBgAJJDQIgASAAEIIFQQAhAUG4hMQAQbiExAAoAgBBAWsiADYCACAADQFBgILEACgCACIABEADQCABQQFqIQEgACgCCCIADQALC0G4hMQAQf8fIAEgAUH/H00bNgIADwtBpITEACABNgIAQZyExABBnITEACgCACAAaiIANgIAIAEgAEEBcjYCBEGghMQAKAIA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BGsiBiAAKAIAIARrSwRAIAAgBCAGEKYGIAAoAgghBQsgACgCBCAFQRhsaiEDIAZBAk8EQCAEQX9zIAFqIgRBB3EhASAGQQJrQQdPBEAgBEF4cSEEA0AgA0IANwIAIANBEGpCADcCACADQQhqQgA3AgAgA0EYakIANwIAIANBIGpCADcCACADQShqQgA3AgAgA0EwakIANwIAIANBOGpCADcCACADQUBrQgA3AgAgA0HIAGpCADcCACADQdAAakIANwIAIANB2ABqQgA3AgAgA0HgAGpCADcCACADQegAakIANwIAIANB8ABqQgA3AgAgA0GIAWpCADcCACADQYABakIANwIAIANB+ABqQgA3AgAgA0GgAWpCADcCACADQZgBakIANwIAIANBkAFqQgA3AgAgA0GoAWpCADcCACADQbABakIANwIAIANBuAFqQgA3AgAgA0HAAWohAyAEQQhrIgQNAAsLIAEEQANAIANCADcCACADQRBqQgA3AgAgA0EIakIANwIAIANBGGohAyABQQFrIgENAAsLIAUgBmpBAWshBQsgA0IANwIAIANBEGpCADcCACADQQhqQgA3AgAgBUEBaiEBCyAAIAE2AggCQAJAAkAgAkUEQEEEIQMMAQsgAkH/////AUsNASACQQJ0IgFBAEgNAUGR+sMALQAAGiABQQQQowwiA0UNAiADQQAgARCiDRoLIAAoAgwEQCAAKAIQEJUCCyAAIAM2AhAgACACNgIMIABBGGogAjYCACAAQRRqIAI2AgAPCxDuCgALQQQgAUHYgMQAKAIAIgBBowcgABsRAAAAC+oYAhR/BX4jAEEQayISJAAgEiADNwMIIBIgAjcDACABKQMQIAFBGGopAwAgEhDSAyEbIAEoAghFBEAgAUEQaiEKIwBBIGsiECQAAkAgASgCDCIPQQFqIgVFBEAQmwogECgCABoMAQsgASgCBCILQQFqIg1BA3YhCAJAAkACQAJAIAsgCEEHbCALQQhJGyIMQQF2IAVJBEAgBSAMQQFqIgggBSAISxsiCEEISQ0BIAhBgICAgAJJBEBBASEFIAhBA3QiCEEOSQ0FQX8gCEEHbkEBa2d2QQFqIQUMBQsQmwogECgCGEGBgICAeEcNBSAQKAIcIQUMBAtBACEFIAEoAgAhCQJAIAggDUEHcUEAR2oiCEUNACAIQQFxIQYg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IABB+AFqKgIAkjgCECABIAOnviAAQbACaikCACIEp76SOAIAIAEgA0IgiKe+IARCIIinvpI4AgQgBkEDRg0DIAUoAoQBIgEgAEHnA2otAAAiAksNAgsgAiABQaDIwQAQ7QgACyAFIAJBgMjBABDtCAALIAUoAoABIAJBPGxqIgEgAEHgAmoqAgAiBzgCFCABIABBlANqKQIAIgM3AgggASAHIABB5AJqKgIAkjgCECABIAOnviAAQZwDaikCACIEp76SOAIAIAEgA0IgiKe+IARCIIinvpI4AgQgBkEERw0BCw8LQQRBBEGQyMEAEO0IAAvsBAMCfgJ/AX0CQAJAAkAgAiAAKAKABSIFSwRAIAAtAIgFIgZFDQICQCABIAVBAnRqKAIAIgVBhAFqKAIAIgEgAC0AhAUiAk0NACAFKAKAASACQTxsaiIBIAAqAigiBzgCFCABIABB9ABqKQIAIgM3AgggASAHIAAqAiySOAIQIAEgA6e+IABB/ABqKQIAIgSnvpI4AgAgASADQiCIp74gBEIgiKe+kjgCBCAGQQFGDQMgBSgChAEiASAAQYUFai0AACICTQ0AIAUoAoABIAJBPGxqIgEgAEG4AWoqAgAiBzgCFCABIABBhAJqKQIAIgM3AgggASAHIABBvAFqKgIAkjgCECABIAOnviAAQYwCaikCACIEp76SOAIAIAEgA0IgiKe+IARCIIinvpI4AgQgBkECRg0DIAUoAoQBIgEgAEGGBWotAAAiAk0NACAFKAKAASACQTxsaiIBIABByAJqKgIAIgc4AhQgASAAQZQDaikCACIDNwIIIAEgByAAQcwCaioCAJI4AhAgASADp74gAEGcA2opAgAiBKe+kjgCACABIANCIIinviAEQiCIp76SOAIEIAZBA0YNAyAFKAKEASIBIABBhwVqLQAAIgJLDQILIAIgAUGIzMEAEO0IAAsgBSACQejLwQAQ7QgACyAFKAKAASACQTxsaiIBIABB2ANqKgIAIgc4AhQgASAAQaQEaikCACIDNwIIIAEgByAAQdwDaioCAJI4AhAgASADp74gAEGsBGopAgAiBKe+kjgCACABIANCIIinviAEQiCIp76SOAIEIAZBBEcNAQsPC0EEQQRB+MvBABDtCAALoQQCFX0BfyABQShqIRggAUEkaioCACEJAkACQCABKgIgIgtD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2BNLDQEgAkE0bCIDQQBIDQFBkfrDAC0AABogA0EEEKMMIgVFDQILIAUgByADEKMNIQMgAEHoAGogAUHoAGopAgA3AgAgAEHwAGogAUHwAGooAgA2AgAgACAEKQMANwJ8IABBhAFqIAYoAgA2AgAgACABKQKIATcCiAEgAEGQAWogAUGQAWooAgA2AgAgACABKQKUATcClAEgAEGcAWogAUGcAWooAgA2AgAgAUH0AGooAgAhBSABQfgAai8BACEGIAAgDzYCpAEgACAQNgKgASAAIAEpAgA3AgAgAEEIaiABQQhqKQIANwIAIABBEGogAUEQaikCADcCACAAQRhqIAFBGGopAgA3AgAgACABKQIgNwIgIABBKGogAUEoaikCADcCACAAQTBqIAFBMGopAgA3AgAgAEE4aiABQThqKQIANwIAIABB+ABqIAY7AQAgAEH0AGogBTYCACAAQeQAaiAINgIAIABB4ABqIAI2AgAgAEHcAGogAzYCACAAQdgAaiACNgIAIABB1ABqIAk2AgAgAEHQAGogCjYCACAAQcwAaiALNgIAIABByABqIAw2AgAgAEHEAGogDTYCACAAIA42AkAgBEEQaiQADwsQ7goAC0EEIANB2IDEACgCACIAQaMHIAAbEQAAAAvQBAEIfyMAQRBrIgckAAJ/IAIoAgQiBARAQQEgACACKAIAIAQgASgCDBEFAA0BGgsgAkEMaigCACIDBEAgAigCCCIEIANBDGxqIQggB0EMaiEJA0ACQAJAAkACQCAELwEAQQFrDgICAQALAkAgBCgCBCICQcEATwRAIAFBDGooAgAhAwNAQQEgAEGq3sMAQcAAIAMRBQANCBogAkFAaiICQcAASw0ACwwBCyACRQ0DCyAAQarewwAgAiABQQxqKAIAEQUARQ0CQQEMBQsgACAEKAIEIARBCGooAgAgAUEMaigCABEFAEUNAUEBDAQLIAQvAQIhAiAJQQA6AAAgB0EANgIIAkACQAJ/AkACQAJAIAQvAQBBAWsOAgEAAgsgBEEIagwCCyAELwECIgNB6AdPBEBBBEEFIANBkM4ASRshBQwDC0EBIQUgA0EKSQ0CQQJBAyADQeQASRshBQwCCyAEQQRqCygCACIFQQZJBEAgBQ0BQQAhBQwCCyAFQQVB7N7DABDuCAALIAdBCGogBWohBgJAIAVBAXFF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NgIAIANFDQAgAygCACIEQX9GDQEgAyAEQQFqNgIAIAVByAJqIgRBCGoiDCABQQRqIgZBCGopAgA3AwAgBEEQaiINIABBBGoiBykCADcDACAEQRhqIg4gB0EIaigCADYCACAFQegCaiIEQQhqIg8gA0EMaikCADcDACAEQRBqIhAgAkEEaiIHKQIANwMAIARBGGoiESAHQQhqKAIANgIAIAUgBikCADcDyAIgBSADKQIENwPoAiMAQeAAayIGQc0AaiIHQQtqQgA3AAAgBkE6aiIIQQtqQgA3AAAgBkEnaiIJQQtqQgA3AAAgBkEUaiIKQQtqQgA3AAAgBUHIBWoiBEH4AGpCADcDACAEQfAAakIANwMAIARCADcDaCAEQgA3A5ABIARBmAFqQgA3AwAgBkEBaiILQQtqQgA3AAAgBEHcAGpCADcCACAEQgA3AlQgBkIANwBQIARBsQFqIAdBCGopAAA3AAAgBkIANwA9IAZCADcAKiAGQgA3ABcgBkIANwAEIAQgBikATTcAqQEgBEG4AWogB0EPaigAADYAACAEIAYpADo3AMUBIARBzQFqIAhBCGopAAA3AAAgBEHUAWogCEEPaigAADYAACAEIAYpACc3AOEBIARB6QFqIAlBCGopAAA3AAAgBEHwAWogCUEPaigAADYAACAEQYwCaiAKQQ9qKAAANgAAIARBhQJqIApBCGopAAA3AAAgBCAGKQAUNwD9ASAEQagCaiALQQ9qKAAANgAAIARBoQJqIAtBCGopAAA3AAAgBCAGKQABNwCZAiAEQgA3AwggBEIANwMAIARBgAI7AbwCIARBPzYCuAIgBEEAOgC0AiAEQv////sHNwKsAiAEQQA6AJgCIARC////+wc3A5ACIARBADoA/AEgBEL////7BzcC9AEgBEEAOgDgASAEQv////sHNwPYASAEQQA6AMQBIARC////+wc3ArwBIARBADoAqAEgBEL////7BzcDoAEgBEIANwOIASAEQoCAgPwDNwOAASAEQYCAgPwDNgJkIARB////+wc2AlAgBEKAgICA8P//v383A0ggBEL////7////v/8ANwNAIARC////+wc3AzggBEKAgICA8P//v383AzAgBEL////7////v/8ANwMoIARC////+wc3AyAgBEKAgICA8P//v383AxggBEL////7////v/8A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AUEDSw0LIAJBADoASyACQSU7AEkgAkEENgJMIAJBAToASCACQcgAahCACwshASADQZOAgIB4NgI8IAMgATYCAAwYCyACQcgAaiAIEN0CAn8gAigCSEUEQCACQcABaiIEQQhqIgYgAkHIAGoiAUEQaikCADcDACAEQRBqIgogAUEYaikCADcDACAEQRhqIgUgAkHoAGopAgA3AwAgAiABQQhqKQIANwPAASAIKAIEIgFBBEkEQCACQQA6AEsgAkElOwBJIAJBBDYCTCACQQE6AEggAkHIAGoQgAsMAgsgAigCTCEEIAggAUEEazYCBCAIIAgoAgAiAUEEajYCACABKAAAIQEgAyACKQPAATcCBCADQQxqIAYpAwA3AgAgA0EUaiAKKQMANwIAIANBHGogBSkDADcCACADQY6AgIB4NgI8IAMgATYCJCADIAQ2AgAMGQsgAigCTAshASADQZOAgIB4NgI8IAMgATYCAAwXCwJ/IARBBE8EQCAIIAZBCGsiATYCBCAIIAdBCGo2AgAgAUEESQRAIAJBADoASyACQSU7AEkgAkEENgJMIAJBAToASCACQcgAahCACwwCCyAHKAAEIQQgCCAGQQxrIgE2AgQgCCAHQQxqNgIAIAFBA00EQCACQQA6AEsgAkElOwBJIAJBBDYCTCACQQE6AEggAkHIAGoQgAsMAgsgByoACCE7IAggBkEQazYCBCAIIAdBEGo2AgAgBygADCEBIANBj4CAgHg2AjwgAyABNgIIIAMgOzgCBCADIAQ2AgAMGAsgAkEAOgBLIAJBJTsASSACQQQ2AkwgAkEBOgBIIAJByABqEIALCyEBIANBk4CAgHg2AjwgAyABNgIADBYLAn8gBEEETwRAIAggBkEIayIBNgIEIAggB0EIajYCACABQQRJBEAgAkEAOgBLIAJBJTsASSACQQQ2AkwgAkEBOgBIIAJByABqEIALDAILIAcoAAQhBCAIIAZBDGsiATYCBCAIIAdBDGo2AgAgAUEDTQRAIAJBADoASyACQSU7AEkgAkEENgJMIAJBAToASCACQcgAahCACwwCCyAHKgAIITsgCCAGQRBrNgIEIAggB0EQajYCACAHKAAMIQEgA0GQgICAeDYCPCADIAE2AgggAyA7OAIEIAMgBDYCAAwXCyACQQA6AEsgAkElOwBJIAJBBDYCTCACQQE6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ACEPIAooAgAgDWtBBEkNAwwEC0EBIQ8gCigCACANa0EESQ0CDAMLQQIhDyAKKAIAIA1rQQRJDQEMAgtBAyEPIAooAgAgDWtBA0sNAQsgCiANQQQQzAYgCigCCCENCyAKKAIEIA1qIA82AAAgCiANQQRqNgIIIA5B6ABqLwEAIQwgECgCBCIKKAIIIQ0gCigCACANa0EBTQRAIAogDUECEMwGIAooAgghDQsgCigCBCANaiAMOwAAIAogDUECaiINNgIIIA5B0ABqKAIAIQwgDkHUAGooAgAhDyAKKAIAIA1rQQNNBEAgCiANQQQQzAYgCigCCCENCyAKKAIEIA1qIAw2AAAgCiANQQRqIg02AgggCigCACANa0EDTQRAIAogDUEEEMwGIAooAgghDQsgCigCBCANaiAPNgAAIAogDUEEaiINNgIIIA5B3ABqKAIAIQwgDkHYAGooAgAhDyAKKAIAIA1rQQNNBEAgCiANQQQQzAYgCigCCCENCyAKKAIEIA1qIA82AAAgCiANQQRqIg02AgggCigCACANa0EDTQRAIAogDUEEEMwGIAooAgghDQsgCigCBCANaiAMNgAAIAogDUEEaiINNgIIIA5B4ABqKAIAIQwgCigCACANa0EDTQRAIAogDUEEEMwGIAooAgghDQsgCigCBCANaiAMNgAAIAogDUEEajYCCCAOQeQAaigCACEMIBAoAgQiCigCCCENIAooAgAgDWtBA00EQCAKIA1BBBDMBiAKKAIIIQ0LIAooAgQgDWogDDYAACAKIA1BBGo2AgggECgCBCEKAkACQAJAAkACQCAOQeoAai0AAEEBaw4CAQIAC0EAIQ8gCigCACAKKAIIIg1rQQRJDQIMAwtBASEPIAooAgAgCigCCCINa0EESQ0BDAILQQIhDyAKKAIAIAooAggiDWtBA0sNAQsgCiANQQQQzAYgCigCCCENCyAKKAIEIA1qIA82AAAgCiANQQRqNgIIIA5BmAFqKAIAIQwgECgCBCIKKAIIIQ0gCigCACANa0EDTQRAIAogDUEEEMwGIAooAgghDQsgCigCBCANaiAMNgAAIAogDUEEajYCCCAOQZwBaioCACEeIBAoAgQiCigCCCENIAooAgAgDWtBA00EQCAKIA1BBBDMBiAKKAIIIQ0LIAooAgQgDWogHjgAACAKIA1BBGo2Aggg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aiALQQhqKAIANgIAIAkgCykCADcDICAPKAIAIQsgDygCBCIPKAIIIRMgCUEwaiIUQQhqIBBBCGooAgA2AgAgCSAQKQIANwMwIAxBNGooAgAiECgCCCEVIAwoAjAhFiAJQQE6AEkgCSASOgBIIAkgBzgCRCAJIAg4AkAgCUH4AGogDEH0AGogESAWIBVBAWtBeHFqQQhqIBAgCSAUIAsgE0EBa0F4cWpBCGogDyAJQUBrEMECAkACQCAJLQCsASIPQQVHBEAgCUFAayILQTBqIhAgCUH4AGoiDEEwaigCADYCACALQShqIhIgDEEoaikCADcDACALQSBqIhEgDEEgaikCADcDACALQRhqIhMgDEEYaikCADcDACALQRBqIhQgDEEQaikCADcDACALQQhqIgsgDEEIaikCADcDACAJQT5qIhUgDEE3ai0AADoAACAJIAkpAng3A0AgCSAJLwCtATsBPCAPQQRHDQELIApBBDoANAwBCyAKIAkvATw7ADUgCiAJKQNANwIAIApBN2ogFS0AADoAACAKQQhqIAspAwA3AgAgCkEQaiAUKQMANwIAIApBGGogEykDADcCACAKQSBqIBEpAwA3AgAgCkEoaiASKQMANwIAIApBMGogECgCADYCACAKIA86ADQLIAlBsAFqJAAMAQtB2LPAAEHMAEHMtMAAEO8JAAsgBiAGKAIAQQFrNgIAIAUgBSgCAEEBazYCACAEIAQoAgBBAWs2AgAgAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACAAIAAoAgBBAWs2AgAgDS0APEEERwRAQZH6wwAtAAAaQTxBBBCjDCIORQ0DIA5BADYCACAOIA0pAgg3AgQgDkEMaiANQRBqKQIANwIAIA5BFGogDUEYaikCADcCACAOQRxqIA1BIGopAgA3AgAgDkEkaiANQShqKQIANwIAIA5BLGogDUEwaikCADcCACAOQTRqIA1BOGopAgA3AgALIA1BQGskACAODwsQkA0ACxCRDQALQQRBPEHYgMQAKAIAIgBBowcgABsRAAAAC7QDAgl9AX8jAEFAaiIFJAAgAioCBCIHIAMqAgwiDZQgAioCACILIANBEGoqAgAiDpSTIgggCJIhCSACKgIIIgggDpQgByADQRRqKgIAIgaUkyIMIAySIQogBUEEaiIPQRRqIAYgAioCDCIMIAmUIAcgCpQgCyALIAaUIAggDZSTIgYgBpIiBpSTkpI4AgAgD0EQaiAOIAwgBpQgCyAJlCAIIAqUk5KSOAIAIAUgDSAMIAqUIAggBpQgByAJlJOSkjgCECAHIAMqAgAgAioCEJMiDZQgCyADKgIEIAJBFGoqAgCTIg6UkyIJIAmSIQkgDiAIlCADKgIIIAJBGGoqAgCTIgYgB5STIgogCpIhCiAFIAYgDCAJlCAHIAqUIAsgBiALlCANIAiUkyIGIAaSIgaUk5KSOAIMIAUgDiAMIAaUIAsgCZQgCCAKlJOSkjgCCCAFIA0gDCAKlCAIIAaUIAcgCZSTkpI4AgQgBUEcaiABIAFBDGogAUEYaiAPEIMCAn8gBSgCHEEERwRAQQEgBSoCJCIHIARfDQEaC0EACyECIAAgBzgCBCAAIAI2AgAgBUFAayQAC7cDAgx9AX8jAEEwayIQJAAgAyoCACACKgIQIg2TIgwgAioCBCIHlCADKgIEIAJBFGoqAgAiDpMiCCACKgIAIgmUkyIGIAaSIQogCCACKgIIIgaUIAMqAgggAkEYaioCACIPkyIEIAeUkyILIAuSIQUgECAEIAIqAgwiCyAKlCAHIAWUIAkgBCAJlCAMIAaUkyIEIASSIgSUk5KSOAIIIBAgCCALIASUIAkgCpQgBiAFlJOSkjgCBCAQIAwgCyAFlCAGIASUIAcgCpSTkpI4AgAgEEEMaiICIAEgEEEBEEsgECoCDCEKIBAqAhQhBSAQKgIQIQwgEC0AGCEBIABBFGogAkEUaigCAEEAIBAoAhwiAkEDSSIDGzYCACAAIAJBAiADGzYCECAAIAE6AAwgACAPIAUgCSAGIAqUIAkgBZSTIgggCJIiCJQgByAHIAWUIAYgDJSTIgUgBZIiBZSTIAsgCSAMlCAHIAqUkyIEIASSIgSUkpKSOAIIIAAgDiAMIAYgBZQgCSAElJMgCCALlJKSkjgCBCAAIA0gCiAHIASUIAYgCJSTIAUgC5SSkpI4AgAgEEEwaiQAC80CAQR/IAC8IgNBF3ZB/wFxIgJB/wFGBEAgACAAkiIAIACVDwsCfwJAIANBAXQiAUGAgICAeEsEQCACDQFBACECIANBCXQiAUEATgRAA0AgAkEBayECIAFBAXQiAUEATg0ACwsgA0EBIAJrdAwCCyAAQwAAAACUIAAgAUGAgICAeEYbDwsgA0H///8DcUGAgIAEcgshASACQYABSgRAA0ACQCABQYCAgARrIgRBAEgNACAEIgENACAAQwAAAACUDwsgAUEBdCEBIAJBAWsiAkGAAUoNAAtBgAEhAgsCQCABQYCAgARrIgRBAEgNACAEIgENACAAQwAAAACUDwsgAUH///8DTQRAA0AgAkEBayECIAFBgICAAkkhBCABQQF0IQEgBA0ACwsgA0GAgICAeHEgAUEBIAJrdiABQYCAgARrIAJBF3RyIAJBAEwbcr4LkwoCBn8EfSMAQeAHayIEJAACQAJAAkAgAEUNACAAKAIAIgNBf0YNASAAIANBAWo2AgAgAUUNACABKAIAIgNBf0YNASABIANBAWo2AgAgAkUNACACKAIAIgNBf0YNASACIANBAWo2AgBBAiEFIAIgAioCBCIKIAqUIAJBCGoqAgAiCyALlJIgAkEMaioCACIJIAmUkiIMQwAAAABeBH8gBCAJIAwQmAEiCZU4AtQCIAQgCyAJlTgC0AIgBCAKIAmVOALMAiMAQdAFayIDJAAgA0GwA2pCADcDACADQbgDakIANwMAIANB2ANqQgA3AwAgA0ELakIANwAAIANBvQVqIgVBC2pCADcAACADQaoFaiIGQQtqQgA3AAAgA0GXBWoiB0ELakIANwAAIANBhAVqIghBC2pCADcAACADQgA3A6gDIANCADcD0AMgA0IANwADIANCADcAwAUgA0IANwCtBSADQgA3AJoFIANCADcAhwUgA0GcA2pCADcCACADQgA3ApQDIANB8QNqIANBCGopAAA3AAAgA0H4A2ogA0EPaigAADYAACADIAMpAAA3AOkDIANBlARqIAVBD2ooAAA2AAAgA0GNBGogBUEIaikAADcAACADIAMpAL0FNwCFBCADQbAEaiAGQQ9qKAAANgAAIANBqQRqIAZBCGopAAA3AAAgAyADKQCqBTcAoQQgA0HMBGogB0EPaigAADYAACADQcUEaiAHQQhqKQAANwAAIAMgAykAlwU3AL0EIANB6ARqIAhBD2ooAAA2AAAgA0HhBGogCEEIaikAADcAACADIAMpAIQFNwDZBCADQgA3A8gCIANCADcDwAIgA0GAAjsB/AQgA0E3NgL4BCADQQA6APQEIANC////+wc3AuwEIANBADoA2AQgA0L////7BzcD0AQgA0EAOgC8BCADQv////sHNwK0BCADQQA6AKAEIANC////+wc3A5gEIANBADoAhAQgA0L////7BzcC/AMgA0EAOgDoAyADQv////sHNwPgAyADQgA3A8gDIANCgICA/AM3A8ADIANBgICA/AM2AqQDIANB////+wc2ApADIANCgICAgPD//79/NwOIAyADQv////v///+//wA3A4ADIANC////+wc3A/gCIANCgICAgPD//79/NwPwAiADQv////v///+//wA3A+gCIANC////+wc3A+ACIANCgICAgPD//79/NwPYAiADQv////v///+//wA3A9ACIANBmANqIARBzAJqIgUQ2gMgAyADQcACakHAAhCjDSIDQfQAaiAFENoDIARBmAVqIgUgA0HAAhCjDRogA0HQBWokACAEQYgGaiAAQQRqIgNBCGooAgA2AgAgBEGABmogAykCADcDACAEQdgCaiIDIAVBvQIQow0aIAQvAdYHIQYgBC0A1QchBSAEQeQDaiABQQRqIgdBCGooAgA2AgAgBCAHKQIANwLcAyAEQQhqIANBvQIQow0aIAIoAgBBAWsFIAMLNgIAIAEgASgCAEEBazYCACAAIAAoAgBBAWs2AgBBACECIAVBAkcEQCAEQZwFaiAEQQhqQb0CEKMNGkGR+sMALQAAGkHIAkEIEKMMIgJFDQMgAkEANgIAIAJBBGogBEGYBWpBwQIQow0aIAIgBjsBxgIgAiAFOgDFAgsgBEHgB2okACACDwsQkA0ACxCRDQALQQhByAJB2IDEACgCACIAQaMHIAAbEQAAAAunAwEQfSACQRRqKgIAIQ4gAioCECEPIAIqAgQiCiADKgIAIgaUIAIqAgAiCyADKgIEIgWUkyIHIAeSIQggAioCCCIHIAWUIAogAyoCCCIElJMiDCAMkiEJIAEqAggiECAEIAIqAgwiDCAIlCAKIAmUIAsgCyAElCAHIAaUkyIEIASSIgSUk5KSIg2UIAEqAgAiESAGIAwgCZQgByAElCAKIAiUk5KSIgaUIAEqAgQiEiAFIAwgBJQgCyAIlCAHIAmUk5KSIgiUkpIgAUEUaioCACIFIA2UIAEqAgwiBCAGlCABQRBqKgIAIhMgCJSSkl4hAyAAIAJBGGoqAgAgDSABKgIYIgmUIBAgBSADG5IiBSAMIAsgCCAJlCASIBMgAxuSIgiUIAogBiAJlCARIAQgAxuSIgmUkyIGIAaSIgaUIAsgByAJlCALIAWUkyIEIASSIgSUIAogCiAFlCAHIAiUkyIFIAWSIgWUk5KSkjgCCCAAIA4gCCAMIASUIAcgBZQgCyAGlJOSkpI4AgQgACAPIAkgDCAFlCAKIAaUIAcgBJSTkpKSOAIAC6kDAgp9AX8jAEEgayIOJAAgAioCCCIJIAMqAgQiCpQgAioCBCILIAMqAggiBpSTIgggCJIhByACKgIAIgggBpQgCSADKgIAIgSUkyIMIAySIQUgDiAEIAIqAgwiDCAHlCAJIAWUIAsgCyAElCAIIAqUkyIEIASSIgSUk5KSIg0gBiAMIASUIAsgB5QgCCAFlJOSkiIGIAaUIA0gDZQgCiAMIAWUIAggBJQgCSAHlJOSkiIHIAeUkpIQmAEiBZUiBDgCCCAOIAYgBZUiCjgCECAOIAcgBZUiBjgCDCAOQRRqIAEgDkEIahC3AyAAIAJBGGoqAgAgCiABKgJgIgeUIA4qAhySIgUgDCAIIAYgB5QgDioCGJIiCpQgCyAOKgIUIAQgB5SSIgeUkyIGIAaSIgaUIAggCSAHlCAIIAWUkyIEIASSIgSUIAsgCyAFlCAJIAqUkyIFIAWSIgWUk5KSkjgCCCAAIAJBFGoqAgAgCiAMIASUIAkgBZQgCCAGlJOSkpI4AgQgACACKgIQIAcgDCAFlCALIAaUIAkgBJSTkpKSOAIAIA5BIGokAAuzAwEKfSACKgIEIgogAyoCACIHlCACKgIAIgsgAyoCBCIIlJMiCSAJkiEGIAIqAggiCSAIlCAKIAMqAggiBJSTIgUgBZIhBSAEIAIqAgwiDCAGlCAKIAWUIAsgCyAElCAJIAeUkyIEIASSIgSUk5KSIg0gDZQgByAMIAWUIAkgBJQgCiAGlJOSkiIHIAeUIAggDCAElCALIAaUIAkgBZSTkpIiBSAFlJKSEJgBIQYgACACQRhqKgIAIAEqAgwiCCANIAaVIgSUIAS8QYCAgIB4cSABKAIIQf////8HcXK+kiIEIAIqAgwiDCALIAggBSAGlSIFlCAFvEGAgICAeHEgASgCBEH/////B3FyvpIiBZQgCiAIIAcgBpUiBpQgBrxBgICAgHhxIAEoAgBB/////wdxcr6SIgaUkyIHIAeSIgeUIAsgCSAGlCALIASUkyIIIAiSIgiUIAogCiAElCAJIAWUkyIEIASSIgSUk5KSkjgCCCAAIAJBFGoqAgAgBSAMIAiUIAkgBJQgCyAHlJOSkpI4AgQgACACKgIQIAYgDCAElCAKIAeUIAkgCJSTkpKSOAIAC44EAQl/IwBBIGsiAiQAAkACQCABKAIEIgNBB00EQCACQoHKgICAATcDCCACQQhqEIALIQMMAQsgASADQQhrIgU2AgQgASABKAIAIgNBCGo2AgAgAkEYaiADKQAAEMYGIAIoAhwhAyACKAIYDQACfwJAAkACQEGAgAggAyADQYCACE8bIgRFBEBBBCEHDAELQZH6wwAtAAAaIARBA3QiBkEEEKMMIgdFDQELIAIgBzYCDCACIAQ2AghBACEEIAJBADYCECADBEAgASgCACEGA0AgBUEESQ0DIAEgBUEEayIFNgIEIAEgBkEEaiIINgIAIAVBBEkEQCACQoHKgIDAADcDGCACQRhqEIALDAULIAYoAAAhCSABIAVBBGsiBTYCBCABIAhBBGoiBjYCACAIKAAAIQggAigCCCAERgRAIAJBCGogBBCwBiACKAIMIQcgAigCECEECyAHIARBA3RqIgogCDYCBCAKIAk2AgAgAiAEQQFqIgQ2AhAgA0EBayIDDQALCyAAIAIpAgg3AgAgAEEIaiACQRBqKAIANgIADAQLQQQgBkHYgMQAKAIAIgBBowcgABsRAAAACyACQoHKgIDAADcDGCACQRhqEIALCyEBIABBgICAgHg2AgAgACABNgIEIAIoAghFDQEgAigCDBCVAgwBCyAAQYCAgIB4NgIAIAAgAzYCBAsgAkEgaiQAC98DAgR/BX4jAEHQAGsiAyQAIANBQGsiBEIANwMAIANCADcDOCADIAE3AzAgAyABQvPK0cunjNmy9ACFNwMgIAMgAULt3pHzlszct+QAhTcDGCADIAA3AyggAyAAQuHklfPW7Nm87ACFNwMQIAMgAEL1ys2D16zbt/MAhTcDCCACKAIEIQUgAyACKAIANgJMIANBCGoiAiADQcwAaiIGQQQQngIgAyAFNgJMIAIgBkEEEJ4CIAMpAwghASADKQMYIQAgBDUCACEHIAMpAzghCCADKQMgIQkgAykDECEKIANB0ABqJAAgACABfCILQiCJIAggB0I4hoQiByAJhSIBIAp8IgggAUIQiYUiAXwiCSABQhWJhSEBIAEgCCAAQg2JIAuFIgh8IgpCIIlC/wGFfCILIAFCEImFIQAgACAKIAhCEYmFIgEgByAJhXwiB0IgiXwiCCAAQhWJhSEAIAAgByABQg2JhSIBIAt8IgdCIIl8IgkgAEIQiYUhACAAIAcgAUIRiYUiASAIfCIHQiCJfCIIIABCFYmFIQAgACABQg2JIAeFIgEgCXwiB0IgiXwiCSABQhGJIAeFIgEgCHwgAUINiYUiAXwiByAAQhCJIAmFQhWJIAFCEYmFIAdCIImFhQvbAwIEfwV+IwBB0ABrIgMkACADQUBrIgRCADcDACADQgA3AzggAyABNwMwIAMgAULzytHLp4zZsvQAhTcDICADIAFC7d6R85bM3LfkAIU3AxggAyAANwMoIAMgAELh5JXz1uzZvOwAhTcDECADIABC9crNg9es27fzAIU3AwggAigCBCEFIAMgAigCADYCTCADQQhqIgIgA0HMAGoiBhDAAyADIAU2AkwgAiAGEMADIAMpAwghASADKQMYIQAgBDUCACEHIAMpAzghCCADKQMgIQkgAykDECEKIANB0ABqJAAgACABfCILQiCJIAggB0I4hoQiByAJhSIBIAp8IgggAUIQiYUiAXwiCSABQhWJhSEBIAEgCCAAQg2JIAuFIgh8IgpCIIlC/wGFfCILIAFCEImFIQAgACAKIAhCEYmFIgEgByAJhXwiB0IgiXwiCCAAQhWJhSEAIAAgByABQg2JhSIBIAt8IgdCIIl8IgkgAEIQiYUhACAAIAcgAUIRiYUiASAIfCIHQiCJfCIIIABCFYmFIQAgACABQg2JIAeFIgEgCXwiB0IgiXwiCSABQhGJIAeFIgEgCHwgAUINiYUiAXwiByAAQhCJIAmFQhWJIAFCEYmFIAdCIImFhQuvAwIMfQF/IwBBMGsiECQAIAMqAgAgAioCECINkyIMIAIqAgQiB5QgAyoCBCACQRRqKgIAIg6TIgggAioCACIJlJMiBiAGkiEKIAggAioCCCIGlCADKgIIIAJBGGoqAgAiD5MiBCAHlJMiCyALkiEFIBAgBCACKgIMIgsgCpQgByAFlCAJIAQgCZQgDCAGlJMiBCAEkiIElJOSkjgCECAQIAggCyAElCAJIAqUIAYgBZSTkpI4AgwgECAMIAsgBZQgBiAElCAHIAqUk5KSOAIIIBBBFGoiAiABIBBBCGoQ9QIgECoCFCEKIBAqAhwhBSAQKgIYIQwgEC0AICEBIABBFGpBACACQRRqKAIAIBAoAiQiAhs2AgAgACACNgIQIAAgAToADCAAIA8gBSAJIAYgCpQgCSAFlJMiCCAIkiIIlCAHIAcgBZQgBiAMlJMiBSAFkiIFlJMgCyAJIAyUIAcgCpSTIgQgBJIiBJSSkpI4AgggACAOIAwgBiAFlCAJIASUkyAIIAuUkpKSOAIEIAAgDSAKIAcgBJQgBiAIlJMgBSALlJKSkjgCACAQQTBqJAALvgMBCn0gACABKgIYIgZDq6qqPpQgASoCDCIDQ6uqqj6UIAEqAgAiBEOrqqo+lJKSIgogBpMiBiAGlCABQRxqKgIAIgVDq6qqPpQgAUEQaioCACIIQ6uqqj6UIAEqAgQiC0Orqqo+lJKSIgYgBZMiBSAFlJIgAUEgaioCACIHQ6uqqj6UIAFBFGoqAgAiCUOrqqo+lCABKgIIIgxDq6qqPpSSkiIFIAeTIgcgB5SSIgcgCiADkyIDIAOUIAYgCJMiAyADlJIgBSAJkyIDIAOUkiIDIAogBJMiBCAElCAGIAuTIgQgBJSSIAUgDJMiBCAElJIiBEMAAAAAIARDAAAAAF4bIgQgAyAEXhsiAyADIAddGxCYATgCDCAAIAJBGGoqAgAgBSACKgIMIgsgBiACKgIAIgOUIAogAioCBCIElJMiCCAIkiIHlCADIAogAioCCCIIlCAFIAOUkyIJIAmSIgmUIAQgBCAFlCAGIAiUkyIFIAWSIgWUk5KSkjgCCCAAIAJBFGoqAgAgBiALIAmUIAggBZQgAyAHlJOSkpI4AgQgACACKgIQIAogCyAFlCAEIAeUIAggCZSTkpKSOAIAC6YDAgl9An8jAEFAaiINJAAgASoCBCIIIAIqAgwiC5QgASoCACIJIAJBEGoqAgAiDJSTIgUgBZIhBiABKgIIIgUgDJQgCCACQRRqKgIAIgSUkyIKIAqSIQcgDUEEaiIOQRRqIAQgASoCDCIKIAaUIAggB5QgCSAJIASUIAUgC5STIgQgBJIiBJSTkpI4AgAgDkEQaiAMIAogBJQgCSAGlCAFIAeUk5KSOAIAIA0gCyAKIAeUIAUgBJQgCCAGlJOSkjgCECAIIAIqAgAgASoCEJMiC5QgCSACKgIEIAFBFGoqAgCTIgyUkyIGIAaSIQYgDCAFlCACKgIIIAFBGGoqAgCTIgQgCJSTIgcgB5IhByANIAQgCiAGlCAIIAeUIAkgBCAJlCALIAWUkyIEIASSIgSUk5KSOAIMIA0gDCAKIASUIAkgBpQgBSAHlJOSkjgCCCANIAsgCiAHlCAFIASUIAggBpSTkpI4AgQgDUEcaiAAIABBDGogAEEYaiAOEIMCAn8gDSgCHEEERwRAQQEgDSoCJCADXw0BGgtBAAshASANQUBrJAAgAQu0JAQLfwp9An4BfAJAAkACQCAARQ0AIAAoAgANASAAQX82AgAgAkUNACACKAIAIhtBf0YNASACIBtBAWo2AgAgA0UNACADKAIAIhtBf0YNASADIBtBAWo2AgAgB0UNACAHKAIAIhtBf0YNASAHIBtBAWo2AgAgCEUNACAIKAIAIhtBf0YNASAIIBtBAWo2AgAgCUUNACAJKAIAIhtBf0YNASAJIBtBAWo2AgAgCkUNACAKKAIAIhtBf0YNASAKIBtBAWo2AgAgC0UNACALKAIAIhtBf0YNASALIBtBAWo2AgAgFEEDTQ0CQZq1wABBGRCPDQALEJANAAsQkQ0ACyAAQQRqIR0gB0EEaiEhIApBBGohIiALQQRqISMjAEGgCmsiGyQAIBtBEGoiHEEQaiIeIAJBBGoiHykCADcDACAcQQhqIiAgA0EEaiIkQQhqKQIANwMAIBxBGGoiJSAfQQhqKAIANgIAIBsgJCkCADcDECAbQbgHaiIcQgA3AhQgHEIANwNAIBxBADoAjQEgHCAUOgCMASAcQQA2AnwgHEKAgID8AzcCdCAcQgA3AwAgHEEsakEANgIAIBxBJGpCADcCACAcQRxqQgA3AgAgHEHQAGpCADcDACAcQcgAakKAgICAgICAwD83AwAgHEHYAGpCADcDACAcQeAAakIANwMAIBxB6ABqQgA3AwAgHEHwAGpBADYCACAcQQhqQgA3AwAgHEGBgIAINgKIASAcQYCAgPwDNgIQIBxBADoAjgEgHEIANwOAASAcQgA3AzAgHEE4akIANwMAIBsgAUEARzoAwwggG0HwAWoiASAcQfQAEKMNGiAbQbgCaiAgKQMANwMAIBtBwAJqIB4pAwA3AwAgG0HIAmogJSgCADYCACAbIBspAxA3A7ACIBsvAMMIIR4gGy0AxQghHyAbLQDHCCEUIBwgAUH0ABCjDRogG0GcCGogCEEEaiIgQQhqKAIANgIAIBsgICkCADcClAggASAcQegAEKMNGiAbQeACaiAJQQRqIhxBCGooAgA2AgAgGyAcKQIANwPYAiAbQTBqIAFB9AAQow0aIBsgFDoAvwEgGyAZOgC+AUEAIRQgGyAfQcABcSAMRUEAQQIgDRtyQQBBBCAOG3JBAEEIIA8bckEAQRAgEBtyQQBBICARG3JyOgC9ASAbIB47ALsBIBsgGEEARzoAugEgGyAWQQBHOgC5ASAbIBVBAEc6ALgBIBsgGjYCtAEgGyAXOAKwASAbIBM4AqwBIBsgEjgCqAEgGyAEOAKkAQJAIAZFBEAgG0HEAWogISAFICIgIxCQByAbQbgHaiAbQeAAakHgABCjDRogG0HwAWoiAUEIaiAbQdABaikCADcDACABQRBqIBtB2AFqKQIANwMAIAFBGGogG0HgAWopAgA3AwAgAUEgaiAbQegBaikCADcDACAbIBspAsgBNwPwASAbKgLEASEFDAELIBtB8AFqIgFBIGogG0HYAGopAwA3AwAgAUEYaiAbQTBqIgZBIGopAwA3AwAgAUEQaiAGQRhqKQMANwMAIAFBCGogBkEQaikDADcDACAbIBspAzg3A/ABIBtBuAdqIBtB4ABqQeAAEKMNGkEBIRQLIBtBMGoiDEEQaiAbQfABaiIBQQhqIg8pAwA3AwAgDEEYaiABQRBqKQMANwMAIAxBIGogAUEYaikDADcDACAbQdgAaiABQSBqKQMANwMAIBsgBTgCNCAbIBQ2AjAgGyAbKQPwATcDOCAbQeAAaiAbQbgHakHgABCjDRojAEGgAmsiBiQAIAZBuAFqIg1BGGoQ+gogDUEQakIANwMAIA1BCGpCADcDACANQcwAakIANwIAIA1B1ABqQgA3AgAgBkGRAmpCADcAACAGQgA3A7gBIAZCADcC/AEgBkFAayANQcQAEKMNGiAGQRdqQgA3AAAgBkEfakIANwAAIAZBKGoiDkEQaiANQdgAaikDADcDACAOQQhqIA1B0ABqKQMANwMAIAZBDmogBkGbAmotAAA6AAAgBkIANwAPIAYgBikDgAI3AyggBiAGLwCZAjsBDCAGQaABaiIOQRRqIAxByABqIhAoAgA2AgAgBiAMKQJANwKsASAMQcwAaioCACEEIAxB0ABqIhEqAgAhKSAMQdQAaioCACEqIAxB2ABqIhQqAgAhKyAMQcQAaioCACEsIBAqAgAhLSAMKgJAIS4gDkEIaiAUKAIANgIAIAYgESkDADcDoAEgBkGIAWoiDkEIaiAMQeQAaigCADYCACAGIAwpAlw3A4gBIA5BFGogDEHwAGooAgA2AgAgBiAMKQJoNwKUASAMQThqKQMAITAgDCkDMCExIAwoAoQBIRAgDC0AjAEhESANEPoKAkACQAJAAkAgDCgCAEUEQCAMQRRqKgIAIAYqAsgBXA0BIAxBGGoqAgAgBioCzAFcDQEgDEEcaioCACAGKgLQAVwNASAMQSBqKgIAIAYqAtQBXA0BIAxBJGoqAgAgBioC2AFcDQEgDEEoaioCACAGKgLcAVwNASAMQSxqKgIAIAYqAuABXA0BIAYqAsQBIQUgBioCwAEhEiAGKgK8ASETIAxBEGoqAgAhFyAMQQxqKgIAISYgDEEIaioCACEnQQAhDQJAIAwqAgQiKCAGKgK4ASIvXA0AIBMgJ1wNACASICZcDQAgBSAXWw0DCyAoIC+MXA0BICcgE4xcDQEgJiASjFwNASAXIAWMWw0CDAELQQAhDSAMKgIEQwAAAABbDQELQZH6wwAtAAAaQTBBBBCjDCINRQ0BIA0gDCkCADcCACANQShqIAxBKGopAgA3AgAgDUEgaiAMQSBqKQIANwIAIA1BGGogDEEYaikCADcCACANQRBqIAxBEGopAgA3AgAgDUEIaiAMQQhqKQIANwIACyAMKgKAASEXIAwtAIoBIRQgDC0AiwEhFSAMLQCOASEWIAwqAnQhJiAMKgJ8IScgDCoCeCEoIAwtAI0BIRgCfQJAIAwtAIgBIg4EQCAMLQCJAQ0BC0MAAAA/QwAAgL8gDhshEkMAAAAAIRNBACEMQ83MzD5DAACAvyAOGwwBCyAGQZgBakIANwMAIAZBkAFqQgA3AwAgBkIANwOIAUMAAAA/IRJDAAAAQCETQQEhDEPNzMw+CyEFIAEgMTcDECABQgA3AwAgASAEOAI8IAEgLTgCOCABICw4AjQgASAuOAIwIAEgFDoALSABQQA6ACwgASAXOAIoIAFC////+wc3AyAgASAGKQOgATcDQCABQRhqIDA3AwAgAUEIakIANwMAIAFByABqIAZBoAFqIg5BCGopAwA3AwAgAUHQAGogDkEQaikDADcDACABICs4AmQgASAqOAJgIAEgKTgCXCABIAQ4AlggAUIANwNoIAFB8ABqQgA3AwAgAUH4AGpCADcDACABICg4ApgBIAEgJzgCnAEgASAGKQOIATcDgAEgAUGIAWogBkGIAWoiDkEIaikDADcDACABQZABaiAOQRBqKQMANwMAIAFBoAFqIAZBQGtBxAAQow0aIAEgDTYC5AEgASAYOgCAAiABQgA3A6ACIAEgJjgCnAIgAUGoAmpCADcDACABQbACakIANwMAIAEgBikDKDcD6AEgAUHwAWogBkEoaiINQQhqKQMANwMAIAFB+AFqIA1BEGopAwA3AwAgASAGKQEMNwCBAiABQYkCaiAGQQxqIg1BCGopAQA3AAAgAUGRAmogDUEQaikBADcAACABQZgCaiAGQSNqKAAANgAAIAEgFToA4gIgASAROgDhAiABIBY6AOACIAFBADYC3AIgAUKAgICAwAA3AtQCIAEgDDoA0AIgASATOALMAiABQYCAgIAENgLIAiABIBI4AsQCIAEgBTgCwAIgASAQNgK8AiABQf8BNgK4AiABIAYoALgBNgDjAiABQecCaiAGQbwBai0AADoAACAGQaACaiQADAELQQRBMEHYgMQAKAIAIgBBowcgABsRAAAACyABKALUAgRAIAFB2AJqKAIAEJUCCyABQoCAgIDAADcC1AIgAUIANwMAIAFB3AJqQQA2AgAgAUEIakIANwMAIBsgGygCqARB/wFyNgKoBCAbKALwASEMIBsoAvQBIQYgG0HoBGogD0HMAhCjDRogG0HgBGogG0HQBGopAwA3AwAgGyAbKQPIBDcD2AQgGygCxAQhDgJAAkACQAJAIB0oAgAEQCAdKAIEIgEgHUEQaigCACINTw0CIB1BDGooAgAgAUHwAmxqIg0oAgANAyANIAY2AgwgDUEBNgIAIB0gDSkCBDcCACANQQhqIAw2AgAgDSAdKAIUIgY2AgQgHSAdKAIYQQFqNgIYIA1BEGogG0HoBGpBzAIQow0aIA0gDjYC3AIgDUHgAmogGykD2AQ3AwAgDUHoAmogG0HgBGopAwA3AwAMAQsgDkGAgICAeEYEQCAMIQEMAQsgGyAGNgK8ByAbIAw2ArgHIBtBuAdqIhlBCGogD0HMAhCjDRogG0GYCmogG0HIBGoiAUEIaikDADcDACAbIA42AowKIBsgASkDADcDkAogG0EIaiEWIwBBMGsiDiQAIB1BEGooAgAiAUEBdCEPIB0oAgQhESAdKAIAIRQCQCABIB0oAggiBiABayIMTQ0AAkAgASABaiABSQ0AIAFB4AVsIQ0gD0GiluQCSUEDdCEQAkAgBkUEQCAOQQA2AhwMAQsgDkEINgIcIA4gBkHwAmw2AiAgDiAdQQxqKAIANgIYCyAOQQxqIBAgDSAOQRhqEOEGIA4oAhAhBiAOKAIMRQRAIB0gDzYCCCAdQQxqIAY2AgAgASEMDAILIAZBgYCAgHhGDQEgBkUNACAGIA5BFGooAgBB2IDEACgCACIAQaMHIAAbEQAAAAsQ7goACyABIQ0gDyABayIGQQAgBiAPTRsiECAMSwRAIB1BCGohDCMAQSBrIgYkAAJAAkAgASAQaiINIAFJDQBBBCAMKAIAIhBBAXQiFSANIA0gFUkbIg0gDUEETRsiFUHwAmwhDSAVQaKW5AJJQQN0IRgCQCAQRQRAIAZBADYCGAwBCyAGQQg2AhggBiAQQfACbDYCHCAGIAwoAgQ2AhQLIAZBCGogGCANIAZBFGoQ4QYgBigCDCENIAYoAghFBEAgDCAVNgIAIAwgDTYCBAwCCyANQYGAgIB4Rg0BIA1FDQAgDSAGQRBqKAIAQdiAxAAoAgAiAEGjByAAGxEAAAALEO4KAAsgBkEgaiQAIB0oAhAhDQsgHUEMaigCACEVAkAgAUEATA0AIA9BAWshGAJAIAFBAXFFBEAgASEGDAELIBUgDUHwAmxqIgwgESABQQFqIgYgASAYRiIQGzYCCCAMIBRBASAQGzYCBCAMQQA2AgAgDUEBaiENCyABQQFGDQAgBiAPa0EBaiEQIBUgDUHwAmxqIQwDQCAMQQA2AgAgDEHwAmpBADYCACAMQQRqQQEgFCAQGzYCACAMQQhqIAZBAWoiGiARIBAbNgIAIAxB+AJqIBEgBkECaiIGIBggGkYiGhs2AgAgDEH0AmogFEEBIBobNgIAIBBBAmohECAMQeAFaiEMIA1BAmohDSAGIA9HDQALCyAdIA02AhACQAJAIAEgDUkEQCAVIAFB8AJsaiIGKAIADQEgBkEBNgIAIB0gBikCBDcCACAGIB0oAhQiDDYCBCAdIB0oAhhBAWo2AhggBkEIaiAZQegCEKMNGiAWIAw2AgQgFiABNgIAIA5BMGokAAwCCyABIA1BkJzAABDtCAALIA5BJGpCADcCACAOQQE2AhwgDkG0nMAANgIYIA5BgIDAADYCICAOQRhqQbycwAAQ7woACyAbKAIMIQYgGygCCCEBCyAdQSRqKAIAIhQgHSgCHEYEQCAdQRxqIBQQsAYgHSgCJCEUCyAdIBRBAWo2AiQgHUEgaigCACAUQQN0aiIMIAY2AgQgDCABNgIAIBtBoApqJAAgAa0gBq1CIIaEvyEyDAILIAEgDUGQnMAAEO0IAAsgG0G4B2oiAEEMakIANwIAIBtBATYCvAcgG0G0nMAANgK4ByAbQYCAwAA2AsAHIABBvJzAABDvCgALIAsgCygCAEEBazYCACAKIAooAgBBAWs2AgAgCSAJKAIAQQFrNgIAIAggCCgCAEEBazYCACAHIAcoAgBBAWs2AgAgAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACAAQQA2AgAgMgvNAwIEfwF+IABBFGooAgAhBQJAAkACQCAEKAIMIgYEQCAEKAIQIQcgAyAFTw0CIABBEGooAgAiCCADQQN0aiIEKAIAIAFHDQIgBCgCBCACRw0CIAAgBUEBayIFNgIUIAQgCCAFQQN0aikCACIJNwIAIAMgBUkNAQwCCwJAIAMgBU8NACAAQRBqKAIAIgYgA0EDdGoiBCgCACABRw0AIAQoAgQgAkcNACAAIAVBAWsiBTYCFCAEIAYgBUEDdGopAgA3AgALIAAoAggiBCADTQ0CIAEgA0EDdCAAKAIEIgNqIgEoAgBHDQIgASgCBCACRw0CIAAgBEEBayIANgIIIAEgAyAAQQN0aikCADcCAAwCCyAJpyIFIAdPDQAgBiAFQfACbGoiBSgCAEUNACAFKAIEIARBBGooAgBHDQAgBUEMaiADNgIACyAAKAIIIgQgA00NACABIAAoAgQiBSADQQN0aiIBKAIARw0AIAEoAgQgAkcNACAAIARBAWsiADYCCCABIAUgAEEDdGopAgAiCTcCACAAIANNDQAgCaciACAHTw0AIAYgAEHwAmxqIgAoAgBFDQAgACgCBCABQQRqKAIARw0AIABBDGogAzYCAAsLtwMCBn0HfwJAIAEoAggiDARAIAEoAgQhCQJAIAxBAUYNACACKgIAIgQgCSoCDJQgAioCBCIFIAlBEGoqAgCUkiACKgIIIgYgCUEUaioCAJSSIgMgBCAJKgIAlCAFIAkqAgSUkiAGIAkqAgiUkiIHXiEKQQIhAiAMQQJGDQAgAyAHIAMgB14bIQMgCUEYaiEBIAxBDGxBJGsiC0EMbkEBaiINQQFxIQ4gC0EMTwRAIA1B/v///wNxIQ8DQCAEIAEqAgCUIAUgAUEEaioCAJSSIAYgAUEIaioCAJSSIgcgA14hCyAEIAFBDGoqAgCUIAUgAUEQaioCAJSSIAYgAUEUaioCAJSSIgggByADIAsbIgNeIQ0gCCADIA0bIQMgAkEBaiACIAogCxsgDRshCiABQRhqIQEgAiAPRyELIAJBAmohAiALDQALCyAORQ0AIAIgCiAEIAEqAgCUIAUgASoCBJSSIAYgASoCCJSSIANeGyEKCyAKIAxPDQEgACAJIApBDGxqIgEpAgA3AgAgAEEIaiABQQhqKAIANgIADwtBAEEAQbyqwwAQ7QgACyAKIAxB9PLCABDtCAALrgMCAX8MfSMAQUBqIgYkACADKgIAIAIqAhAiEJMiCCACKgIEIgmUIAMqAgQgAkEUaioCACIRkyIKIAIqAgAiC5STIgcgB5IhDCAKIAIqAggiB5QgAyoCCCACQRhqKgIAIhKTIg0gCZSTIg4gDpIhDyAGIA0gAioCDCIOIAyUIAkgD5QgCyANIAuUIAggB5STIg0gDZIiDZSTkpI4AhQgBiAKIA4gDZQgCyAMlCAHIA+Uk5KSOAIQIAYgCCAOIA+UIAcgDZQgCSAMlJOSkjgCDCAGQRhqIAEgBkEMaiAEIAUQPwJAAkAgBigCLEEERwRAIAYtACQiAUECRw0BCyAAQQI6AAwMAQsgBioCICEFIAYqAhwhDCAGKgIYIQ8gACABOgAMIAAgEiAFIAsgByAPlCALIAWUkyIIIAiSIgiUIAkgCSAFlCAHIAyUkyIFIAWSIgWUkyALIAyUIAkgD5STIgogCpIiCiAOlJKSkjgCCCAAIBEgDCAHIAWUIAsgCpSTIAggDpSSkpI4AgQgACAQIA8gCSAKlCAHIAiUkyAFIA6UkpKSOAIACyAGQUBrJAALvgMBC30gAioCBCINIAEqAgAiEZQgASoCBCIOIAIqAgAiD5STIhMgESAEKgIEIhWUIA4gBCoCACIWlJOUIA4gAioCCCISlCABKgIIIhAgDZSTIhQgDiAEKgIIIheUIBAgFZSTlCAQIA+UIBIgEZSTIg4gECAWlCARIBeUk5SSkiERIAACfwJAIAhDAAAAAF9FDQAgB0MAAAAAYEUNAEEAIBFDAAAAAF0NARoLIBMgDyAGKgIEIgeUIA0gBioCACIQlJOUIBQgDSAGKgIIIg2UIBIgB5STlCAOIBIgEJQgDyANlJOUkpIhBwJAIApDAAAAAF9FDQAgCUMAAAAAYEUNAEEBIAdDAAAAAF4NARoLIBMgBSoCBCIJIAMqAgAiDZQgAyoCBCIPIAUqAgAiEpSTlCAUIA8gBSoCCCIPlCADKgIIIhAgCZSTlCAOIBAgEpQgDyANlJOUkpIhCQJAIAwgCpNDAAAAAGBFDQAgCyAIk0MAAAAAYEUNAEECIAlDAAAAAF0NARoLIAAgETgCECAAIAeMOAIMIAAgCTgCCCAAIBcgE5QgDiAVlCAUIBaUkpJDAAAAAGBFNgIEQQMLNgIAC7YDAgZ9B38CQCABKAIIIgwEQCABKAIEIQkCQCAMQQFGDQAgAioCACIEIAkqAgyUIAIqAgQiBSAJQRBqKgIAlJIgAioCCCIGIAlBFGoqAgCUkiIDIAQgCSoCAJQgBSAJKgIElJIgBiAJKgIIlJIiB14hCkECIQIgDEECRg0AIAMgByADIAdeGyEDIAlBGGohASAMQQxsQSRrIgtBDG5BAWoiDUEBcSEOIAtBDE8EQCANQf7///8DcSEPA0AgBCABKgIAlCAFIAFBBGoqAgCUkiAGIAFBCGoqAgCUkiIHIANeIQsgBCABQQxqKgIAlCAFIAFBEGoqAgCUkiAGIAFBFGoqAgCUkiIIIAcgAyALGyIDXiENIAggAyANGyEDIAJBAWogAiAKIAsbIA0bIQogAUEYaiEBIAIgD0chCyACQQJqIQIgCw0ACwsgDkUNACACIAogBCABKgIAlCAFIAEqAgSUkiAGIAEqAgiUkiADXhshCgsgCiAMSQ0BIAogDEH08sIAEO0IAAtBAEEAQbyqwwAQ7QgACyAAIAkgCkEMbGoiASkCADcCACAAQQhqIAFBCGooAgA2AgAL/wMBB38jAEEgayICJAACQCABKAIEIgNFBEAgAEGAgICAeDYCAAwBCyABIANBAWs2AgQCQCABKAIAIgcoAgQiBEEHTQRAIAJCgcqAgIABNwMIIAJBCGoQgAshAwwBCyAHIARBCGs2AgQgByAHKAIAIgFBCGoiCDYCACACQRhqIAEpAAAQxgYgAigCHCEFIAIoAhgEQCAFIQMMAQsCQAJAAkBBgIAQIAUgBUGAgBBPGyIGRQRAQQQhAwwBC0GR+sMALQAAGiAGQQJ0IgFBBBCjDCIDRQ0BC0EAIQEgAkEANgIQIAIgAzYCDCACIAY2AgggBUUNASAEQQxrIQQDQCAEQQRqQQNNBEAgAkKByoCAwAA3AxggAkEYahCACyEDIAIoAghFDQQgAigCDBCVAgwECyAHIAQ2AgQgByAIQQRqIgY2AgAgCCgAACEIIAIoAgggAUYEQCACQQhqIAEQswYgAigCDCEDIAIoAhAhAQsgAyABQQJ0aiAINgIAIAIgAUEBaiIBNgIQIARBBGshBCAGIQggBUEBayIFDQALIAIoAgwhAyACKAIIIgZBgICAgHhGDQIMAQtBBCABQdiAxAAoAgAiAEGjByAAGxEAAAALIAAgATYCCCAAIAM2AgQgACAGNgIADAELIABBgYCAgHg2AgAgACADNgIECyACQSBqJAALoQMBC30gAioCACILIAMqAggiB5QgAioCCCIMIAMqAgAiBZSTIgkgCZIhCCACKgIEIgkgBZQgCyADKgIEIgqUkyINIA2SIQQgCiACKgIMIg0gCJQgCyAElCAMIAwgCpQgCSAHlJMiCiAKkiIKlJOSkiEOAkACQAJAIAUgDSAKlCAMIAiUIAkgBJSTkpIiBSAFlCAHIA0gBJQgCSAKlCALIAiUk5KSIgQgBJSSEJgBIgdDAAAAAFwEQCAOIAEqAgAiCJQiCiAEIAQgB5UgASoCBCIElCIGlCAFIAUgB5UgBJQiBJQgCpOSXg0BIAiMIQgMAwsgASoCACAOmCEIDAELQwAAAAAhBgtDAAAAACEECyAAIAJBGGoqAgAgBiANIAsgCJQgCSAElJMiBSAFkiIFlCALIAwgBJQgCyAGlJMiByAHkiIHlCAJIAkgBpQgDCAIlJMiBiAGkiIGlJOSkpI4AgggACACQRRqKgIAIAggDSAHlCAMIAaUIAsgBZSTkpKSOAIEIAAgAioCECAEIA0gBpQgCSAFlCAMIAeUk5KSkjgCAAuwBAIBfwd9IwBBEGsiAyQAAn0gASoCACIFIAWUIAEqAggiBCAElJIQmAEiBkMAAAA0XwRAQwAAgD8hBUMAAAAADAELIAUgBpUhBSAEIAaVCyEEAkAgASoCBCIIi0MAAAA/XUUEQCACQSxqIAAqAgQiBiAFjJQiCTgCACACQShqIAAqAgAgCJgiBzgCACACIAQgBpQiCjgCJCACQSBqIAYgBIyUIgQ4AgAgAkEcaiAHOAIAIAIgCTgCGCACQRRqIAUgBpQiBTgCACACQRBqIAc4AgAgAiAEOAIMIAIgCjgCCCACIAc4AgQgAiAFOAIAIAJBMGohASACQUBrIQACQCAIQwAAAABdRQRAIANCkICAgKACNwIIIANCjICAgOABNwIAIAAgAxCzBSACQpOAgIDMADcCUCADQo+AgICQAjcCCCADQouAgIDQATcCAAwBCyADQoaAgICAATcCCCADQoKAgIDAADcCACAAIAMQswUgAkKJgICAzAA3AlAgA0KFgICA8AA3AgggA0KBgICAMDcCAAsgASADELIFDAELIAJBEGogACoCACIGOAIAIAJBFGogBCAAKgIEIgSUIgc4AgAgAiAFIASUIgQ4AgwgAiAHOAIIIAIgBow4AgQgAiAEOAIAIANBCGpCADcDACADQgA3AwAgAkFAayADELMFIAJCgICAgCw3AlAgA0KLgICAsAE3AgggA0KBgICAsAE3AgAgAkEwaiADELIFCyADQRBqJAAL3QIBAX8gACgCGARAIABBHGooAgAQlQILIAAoAiQEQCAAQShqKAIAEJUCCyAAKAIwBEAgAEE0aigCABCVAgsgACgCPARAIABBQGsoAgAQlQILIAAoAkgEQCAAQcwAaigCABCVAgsgACgCVARAIABB2ABqKAIAEJUCCwJAIAAoAmAiAUGAgICAeEYNACABBEAgAEHkAGooAgAQlQILIABB7ABqKAIARQ0AIABB8ABqKAIAEJUCCwJAIAAoAngiAUGAgICAeEYNACABBEAgAEH8AGooAgAQlQILIABBhAFqKAIABEAgAEGIAWooAgAQlQILIABBkAFqKAIARQ0AIABBlAFqKAIAEJUCCwJAIAAoApwBIgFBgICAgHhGDQAgAQRAIABBoAFqKAIAEJUCCyAAQagBaigCAARAIABBrAFqKAIAEJUCCyAAQbQBaigCAEUNACAAQbgBaigCABCVAgsLnAMBEH0gAyoCACACKgIQIg+TIgkgAioCBCIKlCADKgIEIAJBFGoqAgAiEJMiCyACKgIAIgyUkyIHIAeSIQggCyACKgIIIgeUIAMqAgggAkEYaioC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AyAAQfQDaikCADcDACACQTBqIgUgAEHsA2opAgA3AwAgAkEoaiIGIABB5ANqKQIANwMAIAJBIGoiByAAQdwDaikCADcDACACQRhqIgggAEHUA2opAgA3AwAgAkEQaiIJIABBzANqKQIANwMAIAJBCGoiCiAAQcQDaikCADcDAEGR+sMALQAAGiACIABBvANqKQIANwMAQcgAQQQQowwiAUUNAyABIAQ2AgQgAUEANgIAIAEgAikDADcCCCABQRBqIAopAwA3AgAgAUEYaiAJKQMANwIAIAFBIGogCCkDADcCACABQShqIAcpAwA3AgAgAUEwaiAGKQMANwIAIAFBOGogBSkDADcCACABQUBrIAMpAwA3AgALIAJBQGskACABDwsQkA0ACxCRDQALQQRByABB2IDEACgCACIAQaMHIAAbEQAAAAu2AgESfSAAQRRqIAJBGGoqAgAiCSABKgIAIgogAioCACIDIAIqAggiBJQiBSAFkiINIAIqAgQiBSACKgIMIgaUIgggCJIiDpOLlCABKgIEIgggBSAElCIHIAeSIg8gAyAGlCIHIAeSIhCSi5SSIAEqAggiByAEIASUIgsgBiAGlCIRIAMgA5QiEpMiEyAFIAWUIgyTkouUkiIUkjgCACAAIAkgFJM4AgggAEEQaiACQRRqKgIAIgkgByAPIBCTi5QgCiADIAWUIgMgA5IiAyAEIAaUIgQgBJIiBJKLlCAIIAwgE5IgC5OLlJKSIgWSOAIAIAAgAioCECIGIAcgDSAOkouUIAggAyAEk4uUIAogEiARkiAMkyALk4uUkpIiA5I4AgwgACAJIAWTOAIEIAAgBiADkzgCAAuGAwEKfyMAQUBqIgIkAAJAAkAgAARAIAAoAgANASAAQQA2AgAgAEH8A2oiAygCACEEIANBADYCACAEBEAgAkE4aiIDIABBuARqKQIANwMAIAJBMGoiBSAAQbAEaikCADcDACACQShqIgYgAEGoBGopAgA3AwAgAkEgaiIHIABBoARqKQIANwMAIAJBGGoiCCAAQZgEaikCADcDACACQRBqIgkgAEGQBGopAgA3AwAgAkEIaiIKIABBiARqKQIANwMAQZH6wwAtAAAaIAIgAEGABGopAgA3AwBByABBBBCjDCIBRQ0DIAEgBDYCBCABQQA2AgAgASACKQMANwIIIAFBEGogCikD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QeMASwRAIAinIgZB//8DcUHkAG4hBCADQQJrIgMgBUEJamogBiAEQeQAbGtB//8DcUEBdEHi3MMAai8AADsAAAsCQCAEQQpPBEAgA0ECayIDIAVBCWpqIARBAXRB4tzDAGovAAA7AAAMAQsgA0EBayIDIAVBCWpqIARBMGo6AAALIAIgAUHowMMAQQAgBUEJaiADakEnIANrEIYCIQEgBUEwaiQAIAEL4wICA38HfSMAQTBrIgMkACADQQA2AhQgA0KAgID8AzcCDCADQRhqIgQgASACIANBDGoiBRCZBCADQYCAgPx7NgIMIAMqAhghByAEIAEgAiAFEJkEIANCgICAgICAgMA/NwIMIAMqAhghCCAEIAEgAiAFEJkEIANBgICA/Hs2AhAgAyoCHCEJIAQgASACIAUQmQQgA0KAgICAgICAwD83AhAgAyoCHCEKIAQgASACIAUQmQQgA0GAgID8ezYCFCADKgIgIQsgBCABIAIgBRCZBCABKgIIIgZDAAAAAGBFBEAgA0EkakIANwIAIANBATYCHCADQdSSwgA2AhggA0GAhcIANgIgIANBGGpB3JLCABDvCgALIAMqAiAhDCAAQRRqIAsgBpI4AgAgAEEQaiAJIAaSOAIAIAAgByAGkjgCDCAAIAwgBpM4AgggACAKIAaTOAIEIAAgCCAGkzgCACADQTBqJAAL4wICA38HfSMAQTBrIgMkACADQQA2AhQgA0KAgID8AzcCDCADQRhqIgQgASACIANBDGoiBRC8AyADQYCAgPx7NgIMIAMqAhghByAEIAEgAiAFELwDIANCgICAgICAgMA/NwIMIAMqAhghCCAEIAEgAiAFELwDIANBgICA/Hs2AhAgAyoCHCEJIAQgASACIAUQvAMgA0KAgICAgICAwD83AhAgAyoCHCEKIAQgASACIAUQvAMgA0GAgID8ezYCFCADKgIgIQsgBCABIAIgBRC8AyABKgIIIgZDAAAAAGBFBEAgA0EkakIANwIAIANBATYCHCADQdSSwgA2AhggA0GAhcIANgIgIANBGGpB3JLCABDvCgALIAMqAiAhDCAAQRRqIAsgBpI4AgAgAEEQaiAJIAaSOAIAIAAgByAGkjgCDCAAIAwgBpM4AgggACAKIAaTOAIEIAAgCCAGkzgCACADQTBqJAALygICAX8JfSMAQeABayIDJAAgAioCACABKgIQkyIKIAEqAgQiB5QgAioCBCABQRRqKgIAkyILIAEqAgAiCJSTIgUgBZIhBSALIAEqAggiCZQgAioCCCABQRhqKgIAkyIEIAeUkyIGIAaSIQYgAyAEIAEqAgwiDCAFlCAHIAaUIAggBCAIlCAKIAmUkyIEIASSIgSUk5KSOAIMIAMgCyAMIASUIAggBZQgCSAGlJOSkjgCCCADIAogDCAGlCAJIASUIAcgBZSTkpI4AgQgA0HIAWpCADcDACADQdgBakEANgIAIANCgoCAgDA3AyggA0KAgICAEDcDICADQgA3A8ABIANCADcD0AEgA0EwakEAQZABEKINGiADQQA2AtwBIANBEGogACgCBCAAKAIIIANBIGogA0EEakEBECMgAy0AHCEAIANB4AFqJAAgAAuLAwEHfyMAQZABayIDJAAgA0HIAGogAUEYahD3AiABKAIEIQdBBCEIQQQhBQJAAkACQAJAIAEoAggiBgRAIAZBqtWq1QBLDQIgBkEMbCICQQBIDQJBkfrDAC0AABogAkEEEKMMIgVFDQELIAUgByACEKMNIQUgAUEQaigCACEHIAFBFGooAgAiAgRAIAJB/////wBLDQIgAkEDdCIEQQBIDQJBkfrDAC0AABogBEEEEKMMIghFDQMLIAggByAEEKMNIQQgAyADQcgAakHIABCjDSEDQZH6wwAtAAAaQeAAQQQQowwiAUUNAyABIAI2AhQgASAENgIQIAEgAjYCDCABIAY2AgggASAFNgIEIAEgBjYCACABQRhqIANByAAQow0aIABB6NjCADYCBCAAIAE2AgAgA0GQAWokAA8LQQQgAkHYgMQAKAIAIgBBowcgABsRAAAACxDuCgALQQQgBEHYgMQAKAIAIgBBowcgABsRAAAAC0EEQeAAQdiAxAAoAgAiAEGjByAAGxEAAAALyQIBA38jAEGAAWsiBCQAAkACQAJ/AkAgASgCHCICQRBxRQRAIAJBIHENASAANQIAQQEgARDcBAwCCyAAKAIAIQBBACECA0AgAiAEakH/AGogAEEPcSIDQTBB1wAgA0EKSRtqOgAAIAJBAWshAiAAQRBJIQMgAEEEdiEAIANFDQALIAJBgAFqIgBBgAFLDQIgAUEBQeDcwwBBAiACIARqQYABakEAIAJrEIYCDAELIAAoAgAhAEEAIQIDQCAC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IASUIAggBZQgCSAGlJOSkjgCCCADIAogDCAGlCAJIASUIAcgBZSTkpI4AgQgA0HIAWpCADcDACADQdgBakEANgIAIANCgoCAgDA3AyggA0KAgICAEDcDICADQgA3A8ABIANCADcD0AEgA0EwakEAQZABEKINGiADQQA2AtwBIANBEGogACADQSBqIANBBGpBARAgIAMtABwhACADQeABaiQAIAALwgICAX8JfSMAQeABayIDJAAgAioCACABKgIQkyIKIAEqAgQiB5QgAioCBCABQRRqKgIAkyILIAEqAgAiCJSTIgUgBZIhBSALIAEqAggiCZQgAioCCCABQRhqKgIAkyIEIAeUkyIGIAaSIQYgAyAEIAEqAgwiDCAFlCAHIAaUIAggBCAIlCAKIAmUkyIEIASSIgSUk5KSOAIMIAMgCyAMIASUIAggBZQgCSAGlJOSkjgCCCADIAogDCAGlCAJIASUIAcgBZSTkpI4AgQgA0HIAWpCADcDACADQdgBakEANgIAIANCgoCAgDA3AyggA0KAgICAEDcDICADQgA3A8ABIANCADcD0AEgA0EwakEAQZABEKINGiADQQA2AtwBIANBEGogACADQSBqIANBBGpBARAfIAMtABwhACADQeABaiQAIAALwgICAX8JfSMAQeABayIDJAAgAioCACABKgIQkyIKIAEqAgQiB5QgAioCBCABQRRqKgIAkyILIAEqAgAiCJSTIgUgBZIhBSALIAEqAggiCZQgAioCCCABQRhqKgIAkyIEIAeUkyIGIAaSIQYgAyAEIAEqAgwiDCAFlCAHIAaUIAggBCAIlCAKIAmUkyIEIASSIgSUk5KSOAIMIAMgCyAMIASUIAggBZQgCSAGlJOSkjgCCCADIAogDCAGlCAJIASUIAcgBZSTkpI4AgQgA0HIAWpCADcDACADQdgBakEANgIAIANCgoCAgDA3AyggA0KAgICAEDcDICADQgA3A8ABIANCADcD0AEgA0EwakEAQZABEKINGiADQQA2AtwBIANBEGogACADQSBqIANBBGpBARAcIAMtABwhACADQeABaiQAIAALwgICAX8JfSMAQeABayIDJAAgAioCACABKgIQkyIKIAEqAgQiB5QgAioCBCABQRRqKgIAkyILIAEqAgAiCJSTIgUgBZIhBSALIAEqAggiCZQgAioCCCABQRhqKgIAkyIEIAeUkyIGIAaSIQYgAyAEIAEqAgwiDCAFlCAHIAaUIAggBCAIlCAKIAmUkyIEIASSIgSUk5KSOAIMIAMgCyAMIASUIAggBZQgCSAGlJOSkjgCCCADIAogDCAGlCAJIASUIAcgBZSTkpI4AgQgA0HIAWpCADcDACADQdgBakEANgIAIANCgoCAgDA3AyggA0KAgICAEDcDICADQgA3A8ABIANCADcD0AEgA0EwakEAQZABEKINGiADQQA2AtwBIANBEGogACADQSBqIANBBGpBARAeIAMtABwhACADQeABaiQAIAALwgICAX8JfSMAQeABayIDJAAgAioCACABKgIQkyIKIAEqAgQiB5QgAioCBCABQRRqKgIAkyILIAEqAgAiCJSTIgUgBZIhBSALIAEqAggiCZQgAioCCCABQRhqKgIAkyIEIAeUkyIGIAaSIQYgAyAEIAEqAgwiDCAFlCAHIAaUIAggBCAIlCAKIAmUkyIEIASSIgSUk5KSOAIMIAMgCyAMIASUIAggBZQgCSAGlJOSkjgCCCADIAogDCAGlCAJIASUIAcgBZSTkpI4AgQgA0HIAWpCADcDACADQdgBakEANgIAIANCgoCAgDA3AyggA0KAgICAEDcDICADQgA3A8ABIANCADcD0AEgA0EwakEAQZABEKINGiADQQA2AtwBIANBEGogACADQSBqIANBBGpBARAdIAMtABwhACADQeABaiQAIAAL6wICAn0CfwJAIAC8IgRB/////wdxIgNB////+wNNBEAgA0GAgID4A08EQCAEQQBOBEBDAACAPyAAk0MAAAA/lCIAEJgBIgK8QYBgcb4hASAAIAAgAENr0w28lEO6Ey+9kpRDdaoqPpKUIABDruU0v5RDAACAP5KVIAKUIAAgASABlJMgAiABkpWSIAGSIgAgAJIPC0PaD8k/IABDAACAP5JDAAAAP5QiABCYASIBIAEgACAAIABDa9MNvJRDuhMvvZKUQ3WqKj6SlCAAQ67lNL+UQwAAgD+SlZRDaCGis5KSkyIAIACSIQEMAgtD2g/JPyEBIANBgYCAlANJDQFDaCGiMyAAIACUIgEgASABQ2vTDbyUQ7oTL72SlEN1qio+kpQgAUOu5TS/lEMAAIA/kpUgAJSTIACTQ9oPyT+SDwsgA0GAgID8A0cEQEMAAAAAIAAg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8P//v383AzAgBUL////7////v/8ANwMoIAVC////+wc3AyAgBUKAgICA8P//v383AxggBUL////7////v/8ANwMQIAdB+AVqIANBBGoiBkEIaigCADYCACAHQfAFaiAGKQIANwMAIAdByAJqIgYgBUHAAhCjDRogB0HUA2ogBEEMaigCADYCACAHIAQpAgQ3AswDIAdBCGoiCCAGQcACEKMNGiAEIAQoAgBBAWs2AgAgAyADKAIAQQFrNgIAIAVBBGogCEHAAhCjDRpBkfrDAC0AABpByAJBCBCjDCIDRQ0CIANBADYCACADQQRqIAdBiAVqQcQCEKMNGiAHQdAHaiQAIAMPCxCQDQALEJENAAtBCEHIAkHYgMQAKAIAIgNBowcgAxsRAAAAC8UCAQh/IwBBMGsiAiQAAkACQCAABEAgACgCAA0BIABBADYCACAAQTxqIgMoAgAhBCADQQI2AgAgBEECRwRAIAJBKGoiAyAAQegAaikCADcDACACQSBqIgUgAEHgAGopAgA3AwAgAkEYaiIGIABB2ABqKQIANwMAIAJBEGoiByAAQdAAaikCADcDACACQQhqIgggAEHIAGopAgA3AwBBkfrDAC0AABogAiAAQUBrKQIANwMAQThBBBCjDCIBRQ0DIAEgBDYCBCABQQA2AgAgASACKQMANwIIIAFBEGogCCkDADcCACABQRhqIAcpAwA3AgAgAUEgaiAGKQMANwIAIAFBKGogBSkDADcCACABQTBqIAMpAwA3AgALIAJBMGokACABDwsQkA0ACxCRDQALQQRBOEHYgMQAKAIAIgBBowcgABsRAAAAC7QCAgh9AX8jAEEgayILJAAgASoCACIDIAOUIAEqAgQiAyADlJIQmAEhAyABKgIIIgZDAAAAAGBFBEAgC0EUakIANwIAIAtBATYCDCALQdSSwgA2AgggC0GAhcIANgIQIAtBCGpByKvDABDvCgALIAAgAyAGkjgCDCAAIAJBGGoqAgAgAioCDCIDIAIqAgAiBkMAAAAAlCIEIAIqAgQiCEMAAAAAlCIFkyIHIAeSIgeUIAYgAioCCCIJQwAAAACUIgogBJMiBCAEkiIElCAIIAUgCpMiBSAFkiIFlJOSQwAAAACSkjgCCCAAIAJBFGoqAgAgAyAElCAJIAWUIAYgB5STkkMAAAAAkpI4AgQgACACKgIQIAMgBZQgCCAHlCAJIASUk5JDAAAAAJKSOAIAIAtBIGokAAuKCAEIfyMAQdAHayIFJAACQAJAAkAgAUUNACABKAIAIgNBf0YNASABIANBAWo2AgAgAkUNACACKAIAIgNBf0YNASACIANBAWo2AgAjAEHgAGsiBEHNAGoiBkELakIANwAAIARBOmoiB0ELakIANwAAIARBJ2oiCEELakIANwAAIARBFGoiCUELakIANwAAIAVBiAVqIgNB+ABqQgA3AwAgA0HwAGpCADcDACADQgA3A2ggA0IANwOQASADQZgBakIANwMAIARBAWoiCkELakIANwAAIANB3ABqQgA3AgAgA0IANwJUIARCADcAUCADQbEBaiAGQQhqKQAANwAAIARCADcAPSAEQgA3ACogBEIANwAXIARCADcABCADIAQpAE03AKkBIANBuAFqIAZBD2ooAAA2AAAgAyAEKQA6NwDFASADQc0BaiAHQQhqKQAANwAAIANB1AFqIAdBD2ooAAA2AAAgAyAEKQAnNwDhASADQekBaiAIQQhqKQAANwAAIANB8AFqIAhBD2ooAAA2AAAgA0GMAmogCUEPaigAADYAACADQYUCaiAJQQhqKQAANwAAIAMgBCkAFDcA/QEgA0GoAmogCkEPaigAADYAACADQaECaiAKQQhqKQAANwAAIAMgBCkAATcAmQIgA0EQakEANgIAIANBCGpCADcDACADQgA3AwAgA0GAAjsBvAIgA0GAgoA4NgK4AiADQQA6ALQCIANC////+wc3AqwCIANBADoAmAIgA0L////7BzcDkAIgA0EAOgD8ASADQv////sHNwL0ASADQQA6AOABIANC////+wc3A9gBIANBADoAxAEgA0L////7BzcCvAEgA0EAOgCoASADQv////sHNwOgASADQgA3A4gBIANCgICA/AM3A4ABIANBgICA/AM2AmQgA0H////7BzYCUCADQoCAgIDw//+/fzcDSCADQv////v///+//wA3A0AgA0L////7BzcDOCADQoCAgIDw//+/fzcDMCADQv////v///+//wA3AyggA0L////7BzcDICADQoCAgIDw//+/fzcDGCADIAA4AhQgBUH4BWogAUEEaiIEQQhqKAIANgIAIAVB8AVqIAQpAgA3AwAgBUHIAmoiBCADQcACEKMNGiAFQdQDaiACQQxqKAIANgIAIAUgAikCBDcCzAMgBUEIaiIGIARBwAIQow0aIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgA0EEaiAGQcACEKMNGkGR+sMALQAAGkHIAkEIEKMMIgFFDQIgAUEANgIAIAFBBGogBUGIBWpBxAIQow0aIAVB0AdqJAAgAQ8LEJANAAsQkQ0AC0EIQcgCQdiAxAAoAgAiAUGjByABGxEAAAALgwgBCH8jAEHQB2siBCQAAkACQAJAIABFDQAgACgCACICQX9GDQEgACACQQFqNgIAIAFFDQAgASgCACICQX9GDQEgASACQQFqNgIAIwBB4ABrIgNBzQBqIgVBC2pCADcAACADQTpqIgZBC2pCADcAACADQSdqIgdBC2pCADcAACADQRRqIghBC2pCADcAACAEQYgFaiICQfgAakIANwMAIAJB8ABqQgA3AwAgAkIANwNoIAJCADcDkAEgAkGYAWpCADcDACADQQFqIglBC2pCADcAACACQdwAakIANwIAIAJCADcCVCADQgA3AFAgAkGxAWogBUEIaikAADcAACADQgA3AD0gA0IANwAqIANCADcAFyADQgA3AAQgAiADKQBNNwCpASACQbgBaiAFQQ9qKAAANgAAIAIgAykAOjcAxQEgAkHNAWogBkEIaikAADcAACACQdQBaiAGQQ9qKAAANgAAIAIgAykAJzcA4QEgAkHpAWogB0EIaikAADcAACACQfABaiAHQQ9qKAAANgAAIAJBjAJqIAhBD2ooAAA2AAAgAkGFAmogCEEIaikAADcAACACIAMpABQ3AP0BIAJBqAJqIAlBD2ooAAA2AAAgAkGhAmogCUEIaikAADcAACACIAMpAAE3AJkCIAJCADcDCCACQgA3AwAgAkGAAjsBvAIgAkEHNgK4AiACQQA6ALQCIAJC////+wc3AqwCIAJBADoAmAIgAkL////7BzcDkAIgAkEAOgD8ASACQv////sHNwL0ASACQQA6AOABIAJC////+wc3A9gBIAJBADoAxAEgAkL////7BzcCvAEgAkEAOgCoASACQv////sHNwOgASACQgA3A4gBIAJCgICA/AM3A4ABIAJBgICA/AM2AmQgAkH////7BzYCUCACQoCAgIDw//+/fzcDSCACQv////v///+//wA3A0AgAkL////7BzcDOCACQoCAgIDw//+/fzcDMCACQv////v///+//wA3AyggAkL////7BzcDICACQoCAgIDw//+/fzcDGCACQv////v///+//wA3AxAgBEH4BWogAEEEaiIDQQhqKAIANgIAIARB8AVqIAMpAgA3AwAgBEHIAmoiAyACQcACEKMNGiAEQdQDaiABQQxqKAIANgIAIAQgASkCBDcCzAMgBEEIaiIFIANBwAIQow0aIAEgASgCAEEBazYCACAAIAAoAgBBAWs2AgAgAkEEaiAFQcACEKMNGkGR+sMALQAAGkHIAkEIEKMMIgBFDQIgAEEANgIAIABBBGogBEGIBWpBxAIQow0aIARB0AdqJAAgAA8LEJANAAsQkQ0AC0EIQcgCQdiAxAAoAgAiAEGjByAAGxEAAAALwwICA38BfiMAQRBrIgMkAAJAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iBacgBUIgiKcQqQoiAkUNAgJAAkAgAkEwaigCACACQTRqKAIAIgIoAghBAWtBeHFqQQhqIgQgAigClAERBABB/wFxQQhGBEAgBCACELEJIgINAQsgACAAKAIAQQFrNgIAQQAhAAwBCyACQTBqKAIAIQQgAikCKCEFIAAgACgCAEEBazYCACADQQhqIgIgBDYCACADIAU3AwBBkfrDAC0AABpBEEEEEKMMIgBFDQQgAEEANgIAIAAgAykDADcCBCAAQQxqIAIoAgA2AgALIANBEGokACAADwsQkA0ACxCRDQALQdizwABBzABBzLTAABDvCQALQQRBEEHYgMQAKAIAIgBBowcgABsRAAAAC80CAgR/AX4jAEFAaiICJABBASEEAkAgAC0ABA0AIAAtAAUhBAJAIAAoAgAiAygCHCIFQQRxRQRAIARFDQFBASEEIAMoAhRBk9zDAEECIANBGGooAgAoAgwRBQBFDQEMAgsgBEUEQEEBIQQgAygCFEGx3MMAQQEgA0EYaigCACgCDBEFAA0CIAMoAhwhBQtBASEEIAJBAToAGyACQTRqQfTbwwA2AgAgAiADKQIUNwIMIAIgAkEbajYCFCACIAMpAgg3AiQgAykCACEGIAIgBTYCOCACIAMoAhA2AiwgAiADLQAgOgA8IAIgBjcCHCACIAJBDGo2AjAgASACQRxqQbjOwAAoAgARAwANASACKAIwQZjc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zQBqIgtBC2pCADcAACAFQTpqIgxBC2pCADcAACAFQSdqIg1BC2pCADcAACAFQRRqIg5BC2pCADcAACAGQdACaiIEQfgAakIANwMAIARB8ABqQgA3AwAgBEIANwNoIARCADcDkAEgBEGYAWpCADcDACAFQQFqIg9BC2pCADcAACAEQdwAakIANwIAIARCADcCVCAFQgA3AFAgBEGxAWogC0EIaikAADcAACAFQgA3AD0gBUIANwAqIAVCADcAFyAFQgA3AAQgBCAFKQBNNwCpASAEQbgBaiALQQ9qKAAANgAAIAQgBSkAOjcAxQEgBEHNAWogDEEIaikAADcAACAEQdQBaiAMQQ9qKAAANgAAIAQgBSkAJzcA4QEgBEHpAWogDUEIaikAADcAACAEQfABaiANQQ9qKAAANgAAIARBjAJqIA5BD2ooAAA2AAAgBEGFAmogDkEIaikAADcAACAEIAUpABQ3AP0BIARBqAJqIA9BD2ooAAA2AAAgBEGhAmogD0EIaikAADcAACAEIAUpAAE3AJkCIARCADcDCCAEQgA3AwAgBEGAAjsBvAIgBCADQf8BcTYCuAIgBEEAOgC0AiAEQv////sHNwKsAiAEQQA6AJgCIARC////+wc3A5ACIARBADoA/AEgBEL////7BzcC9AEgBEEAOgDgASAEQv////sHNwPYASAEQQA6AMQBIARC////+wc3ArwBIARBADoAqAEgBEL////7BzcDoAEgBEIANwOIASAEQoCAgPwDNwOAASAEQYCAgPwDNgJkIARB////+wc2AlAgBEKAgICA8P//v383A0ggBEL////7////v/8ANwNAIARC////+wc3AzggBEKAgICA8P//v383AzAgBEL////7////v/8ANwMoIARC////+wc3AyAgBEKAgICA8P//v383AxggBEL////7////v/8ANwMQIAZBwANqIAlBCGooAgA2AgAgBkG4A2ogCSkCADcDACAGQRBqIgMgBEHAAhCjDRogBkGcAWogCkEIaigCADYCACAGIAopAgA3ApQBIAQgA0HAAhCjDRogBkGQBWoiBUEIaiARKAIANgIAIAYgBikCBDcDkAUgBEHYAGogBRDaAyADIARBwAIQow0aIANB9ABqIBAQ2gMgCCADQcACEKMNGgwCCyAIQQI6AL0CDAELIAhBAjoAvQIL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QThrKAIARQ0AIAEoAgAiBCgCACEDIAQgA0EBazYCACADQQFGBEAgARCiCAsgAUEIaygCAEECSQ0AIAFBBGsoAgAQlQILIAFBqAFqIQEgAkEBayICDQALCyAAKAIIBEAgACgCDBCVAgsgACgCHARAIABBIGooAgAQlQILIAAoAigEQCAAQSxqKAIAEJUCCwveAgIDfwN9IwBB0ABrIgIkACACQRBqIgFBAToAPCABQoCAgICg4fWRPDcCACABQtufpPqz+8OkPzcCMCABQQI2AgggAUGX7sbGAzYCOCABQQA2AhwgAUEoakKAgID8AzcCACABQSBqQs2Zs/IDNwIAIAJBDGogAUEsaigCADYCACACIAIpAjQ3AgRBkfrDAC0AABogAi0ATCEDIAIqAkAhBCACKgJEIQUgAioCSCEGQeAAQQQQowwiAUUEQEEEQeAAQdiAxAAoAgAiAUGjByABGxEAAAALIAFBAjYCICABQQI2AgwgASAAOAIIIAFCgICAgBA3AgAgASACKQIANwIkIAFCADcCTCABQoCAgIDAADcCRCABIAM6AEAgASAGOAI8IAEgBTgCOCABIAQ4AjQgAUHUAGpCADcCACABQdwAakEAOwEAIAFBLGogAkEIaikCADcCACACQdAAaiQAIAEL+lYDHX0cfwF+IwBBEGsiPSQAAkACQCAARQ0AIAAoAgANASAAQX82AgAgAkUNACACKAIADQEgAkF/NgIAIANFDQAgAygCACIrQX9GDQEgAyArQQFqNgIAIARFDQAgBCgCACIrQX9GDQEgBCArQQFqNgIAID0gCDYCDCAAQQRqIQggAkEEaiEsIANBBGohKiAEQQRqISsgBkEARyEGIwBBQGoiLiQAAkAgPUEMaiImKAIAEARBAUYEQCAuICY2AgwgLkE8akH8tMAANgIAIC5BLGogCCkCKDcCACAuQQE2AiggLiAHQf//A3E2AhggLiAHQRB2NgIUIC5BADYCHCAuQQAgBSAFQUFxGzYCNCAuIAY2AhAgLiAuQQxqNgI4DAELIC5BPGpB/LTAADYCACAuQSxqIAgpAig3AgAgLkEANgI4IC5BATYCKCAuQQA2AhwgLiAHQf//A3E2AhggLiAHQRB2NgIUIC4gBjYCECAuQQAgBSAFQUFxGzYCNAsgKyEoIC5BEGohOSMAQfAAayInJAACQAJA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aikCADcDACABQShqIABBJGopAgA3AwAgAUEgaiAAQRxqKQIANwMAIAFBGGogAEEUaikCADcDACABQRBqIABBDGopAgA3AwAgASAAKQIENwMIIAAQlQIgAUEIahCDBiABQUBrJAAPCxCQDQALEJENAAvNAwEFfyMAQUBqIgEkACABQQxqIQIjAEEgayIDJAAgA0EANgIYIANBCGpBCEGgBSADQRRqEOEGIAMoAgwhAAJAIAMoAghFBEBBBCEEDAELIABBgYCAgHhGBEBBCCEADAELIAAEQCAAIANBEGooAgBB2IDEACgCACIAQaMHIAAbEQAAAAsQ7goACyAAQgA3A/gDIABCgICAgBA3A9ACIABCgICAgBA3A6gBIABBATYCCCAAQoCAgIAQNwMAIAJCgICAgMAANwIoIAJCADcCGCACQgQ3AhAgAiAANgIMIAIgBDYCCCACQgE3AgAgAEGABGpBADYCACAAQdgCakEDNgIAIABBsAFqQQI2AgAgAkEwakEANgIAIAJBIGpCBDcCACADQSBqJABBkfrDAC0AABpBOEEEEKMMIgBFBEBBBEE4QdiAxAAoAgAiAEGjByAAGxEAAAALIABBADYCACAAIAEpAgw3AgQgAEEMaiABQRRqKQIANwIAIABBFGogAUEcaikCADcCACAAQRxqIAFBJGopAgA3AgAgAEEkaiABQSxqKQIANwIAIABBLGogAUE0aikCADcCACAAQTRqIAFBPGooAgA2AgAgAUFAayQAIAALwgECA38BfiMAQRBrIgEkAAJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAKAIEIgNB6ABqKQIAIQQgA0HwAGooAgAhAyAAIAI2AgAgAUEIaiICIAM2AgAgASAENwMAQZH6wwAtAAAaQRBBBBCjDCIARQ0CIABBADYCACAAIAEpAwA3AgQgAEEMaiACKAIANgIAIAFBEGokACAADwsQkA0ACxCRDQALQQRBEEHYgMQAKAIAIgBBowcgABsRAAAAC58BAQV9IAAgASoCACICIAEqAgwiAyACIANgGyABKgIYIgSSOAIMIAAgAiADIAIgA18bIASTOAIAIABBFGogBCABKgIIIgIgAUEUaioCACIDIAIgA2AbkjgCACAAQRBqIAQgASoCBCIFIAFBEGoqAgAiBiAFIAZgG5I4AgAgACAC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GGogAUEIaigCADYCACAAIAEpAgA3AhAgACAEKQIANwIAIABBCGogBEEIaikCADcCACAAQShqQwAAAABDAACAPyAHlSAHQwAAAABbGzgCAAujAQIBfwR9IwBBIGsiAyQAIAIqAgAiBSAFlCACKgIEIgYgBpSSIAIqAggiByAHlJIQmAEhBCADIAUgBJUiBTgCCCADIAYgBJUiBjgCDCADIAcgBJUiBDgCECADQRRqIAEgA0EIahC3AyAAIAQgASoCYCIElCADKgIckjgCCCAAIAYgBJQgAyoCGJI4AgQgACADKgIUIAUgBJSSOAIAIANBIGokAAufAQECfwJAIAAoAhAgAU0NACAAKAIMIgNFDQAgAyABQfACbGoiAygCAEUNACADKAIEIAJHDQAgA0EIaiEEIANBwAJqLQAAQQFxDQAgA0EBNgLAAiAAQSRqKAIAIgMgACgCHEYEQCAAQRxqIAMQsAYgACgCJCEDCyAAIANBAWo2AiQgAEEgaigCACADQQN0aiIAIAI2AgQgACABNgIACyAEC54BAQJ/AkAgACgCECABTQ0AIAAoAgwiA0UNACADIAFBqAFsaiIDKAIARQ0AIAMoAgQgAkcNACADQQhqIQQgA0H4AGotAABBAXENACADQQE2AnggAEEkaigCACIDIAAoAhxGBEAgAEEcaiADELAGIAAoAiQhAwsgACADQQFqNgIkIABBIGooAgAgA0EDdGoiACACNgIEIAAgATYCAAsgBAu4AQECfyMAQRBrIgEkAAJAAkAgAARAIAAoAgANASAAKAIEIQIgAEIANwIAAkAgAkUEQEEAIQAMAQsgAUEIaiICIABBEGooAgA2AgBBkfrDAC0AABogASAAQQhqKQIANwMAQRBBBBCjDCIARQ0DIABBADYCACAAIAEpAwA3AgQgAEEMaiACKAIANgIACyABQRBqJAAgAA8LEJANAAsQkQ0AC0EEQRBB2IDEACgCACIAQaMHIAAbEQAAAAumAQEFfSACKgIAIgYgBpQgAioCBCIFIAWUkiACKgIIIgMgA5SSEJgBIQQgACADIASVIgcgASoCDCIDlCABKAIIQf////8HcSAHvEGAgICAeHFyvpI4AgggACADIAUgBJUiBZQgASgCBEH/////B3EgBbxBgICAgHhxcr6SOAIEIAAgAyAGIASVIgSUIAEoAgBB////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ICkgBCAtcSIRaikAAEKAgYKEiJCgwIB/gyJyUA0ACwsgKSByeqdBA3YgEWogLXEiEWosAABBAE4EQCApKQMAQoCBgoSIkKDAgH+DeqdBA3YhEQsgESAbayAKIBtrcyAtcUEISQ0DICkgEUECdGtBBGshGyARIClqIgEtAAAhBCABIB9BGXYiAToAACARQQhrIC1xIClqQQhqIAE6AAAgBEH/AUYNAiAlLQAAIQEgJSAbLQAAOgAAIBsgAToAACAlLQABIQEgJSAbLQABOgABIBsgAToAASAlLQACIQEgJSAbLQACOgACIBsgAToAAiAlLQADIQEgJSAbLQADOgADIBsgAToAAyANIAsoAgAiAUsNAAsLIAEgDUHMmcAAEO0IAAsgIkH/AToAACAKQQhrIC1xIClqQQhqQf8BOgAAIBsgJSgAADYAAAwBCyAiIB9BGXYiAToAACAKQQhrIC1xIClqQQhqIAE6AAALIApBAWohASAKIC1HDQALCyAmIA4gHWs2AggLCyAVQSBqJAAgByACKAK4BCIEcSIQIAIoArQEIhFqKQAAQoCBgoSIkKDAgH+DInRQBEBBCCEBA0AgASAQaiEKIAFBCGohASARIAQgCnEiEGopAABCgIGChIiQoMCAf4MidFANAAsLIBEgdHqnQQN2IBBqIARxIgFqLAAAQQBIDQAgESkDAEKAgYKEiJCgwIB/g3qnQQN2IQELIAEgEWogMjoAACABQQhrIARxIBFqQQhqIDI6AAAgESABQQJ0a0EEayANNgIAIAIgAigCvAQgEmsiCzYCvAQgAiACKALABEEBaiIKNgLABCACKAKwBCEBIA0gAigCqAQiBEcNAiAKIAtqIAFrIgogDSABa00EQCANIQQMAwsgASAKaiIEIAFJDT0gBEEEdCELIARBgICAwABJQQJ0IQogAiANBH8gAiACKAKsBDYC0AUgAiANQQR0NgLYBUEEBUEACzYC1AUgAkHIAWogCiALIAJB0AVqEOEGIAIoAswBIQogAigCyAFFBEAgAiAENgKoBCACIAo2AqwEDAMLIA0hBCAKQYGAgIB4Rg0CIApFDT0gCiACKALQAUHYgMQAKAIAIgBBowcgABsRAAAACwwkCyABIA1BvJnAABDtCAALIAEgBEYEQCACQagEaiABEK0GIAIoArAEIQELIAIoAqwEIhYgAUEE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IgQgIEEARzoADCAEIBs2AgggBCAeNgIEIAQgETYCACADIAdBAWoiBDYCwAELIBohCyAFDQALIAMoAtABIREgAygCzAEhISADKALIASENIAMoAsQBIQcgAygCwAEhBCADKAK4ASEFIAMoArwBIQELIAVBgoCAgHhIBEAgASEFDBcLIB9BAEetIXJBgICAgHghEEIADA8LDCALDF0LIANCgcqAgBA3A7gBIANBuAFqEIALIQUMEwsgA0EAOgC7ASADQSU7ALkBIANBBDYCvAEgA0EBOgC4ASADQbgBahCACyEHDBELDFoLDFkLIANCgcqAgBA3A4gBIANBiAFqEIALIQUMDwsMVwsgA0KByoCAEDcDiAEgA0GIAWoQgAshBQwNCyADQoHKgIDAADcDuAEgA0G4AWoQgAshBQwMCyADKALAASENIHFCIIYgc4QhdSByQiCGQoCAgICAYIMMBAsgB0EETwRAIBMgEEELazYCBCATIAFBC2o2AgAgASgAByEFQYSAgIB4IRBCACFyQgAMBAsgA0KByoCAwAA3A7gBIANBuAFqEIALIQUMCgsCQCAHBEAgEyAQQQhrNgIEIBMgAUEIajYCAAJAIAEtAAciH0ECTwRAQZH6wwAtAAAaQQxBBBCjDCIFRQ0BIAUgHzoABCAFQYKAgIB4NgIADA0LIAdBCE0EQCADQoHKgICAATcDuAEgA0G4AWoQgAshBQwNCyATIBBBEGsiGDYCBCATIAFBEGoiCzYCACADQegAaiABKQAIEMYGIAMoAmwhBSADKAJoDQxBACEEAkACQCAFRQRAQdCYwAAhB0EEIQFBACENQQAhIUEAIREMAQsgA0HoAGogBRDwAwJ/IAMoAmgiBwRAIAMoAnQhESADKAJwISEgAygCbAwBCyADQfAAaigCACEhIAMoAmwLIQ0gBUH///8/Sw1eIAVBBHQiEEEASA1eQZH6wwAtAAAaIBBBBBCjDCIBRQ0BCyADIBE2AtABIAMgITYCzAEgAyANNgLIASADIAc2AsQBIANBADYCwAEgAyABNgK8ASADIAU2ArgBIAUEQANAIBhBA00EQCADQoHKgIDAADcDaCADQegAahCACyEFDAYLIBMgGEEEayIHNgIEIBMgC0EEajYCAAJAAkACQCAHQQhPBEAgCygAACEeIBMgGEEMayIHNgIEIBMgC0EMajYCACALKQAEInFCgICAgBBaBEAgA0EBOgBoIAMgcTcDcCADQegAaiADQThqQbSAwAAQsQghBQwKCyAHRQ0BIBMgGEENayIYNgIEIBMgC0ENaiIaNgIAIAstAAwiIEECTwRAQZH6wwAtAAAaQQxBBBCjDCIFRQ1dIAUgIDoABCAFQYKAgIB4NgIADAoLIAVBAWshBSBxpyEbIAMoAsQBIhBBBGshDSAeQbnz3fF5bCIRQRl2IhmtQoGChIiQoMCAAX4hc0EAIRIgAygCyAEhCyARIQcCQANAIHMgByALcSIXIBBqKQAAInWFInFCgYKEiJCgwIABfSBxQn+Fg0KAgYKEiJCgwIB/gyFyA0AgclAEQCB1IHVCAYaDQoCBgoSIkKDAgH+DQgBSDQMgFyASQQhqIhJqIQcMAgsgDSByeqdBA3YgF2ogC3FBAnRrKAIAIgcgBE8NICByQgF9IHKDIXIgASAHQQR0aiIHKAIEIB5HDQALCyAHIBs2AgggB0EMaiAgQQBHOgAADAQLIAsgEXEiISAQaikAAEKAgYKEiJCgwIB/gyJyUARAQQghBwNAIAcgIWohDSAHQQhqIQcgCyANcSIhIBBqKQAAQoCBgoSIkKDAgH+DInJQDQALCyAQIHJ6p0EDdiAhaiALcSIHaiwAACINQQBOBEAgECAQKQMAQoCBgoSIkKDAgH+DeqdBA3YiB2otAAAhDQsCQCANQQFxIg1FDQAgAygCzAENACADQcQBaiABIAQQnQEgESADKALIASILcSIHIAMoAsQBIhBqKQAAQoCBgoSIkKDAgH+DInJQBEBBCCEBA0AgASAHaiEHIAFBCGohASAQIAcgC3EiB2opAABCgIGChIiQoMCAf4MiclANAAsLIBAgcnqnQQN2IAdqIAtxIgdqLAAAQQBIDQAgECkDAEKAgYKEiJCgwIB/g3qnQQN2IQcLIAcgEGogGToAACAHQQhrIAtxIBBqQQhqIBk6AAAgECAHQQJ0a0EEayAENgIAIAMgAygCzAEgDWsiDTYCzAEgAyADKALQAUEBaiILNgLQASADKALAASEHIAQgAygCuAEiAUcNAiALIA1qIAdrIgEgBCAHa00EQCAEIQEMAwsgByABIAdqIgFLDWMgAUEEdCENIAFBgICAwABJQQJ0IQsgAyAEBH8gAyADKAK8ATYCaCADIARBBHQ2AnBBBAVBAAs2AmwgA0HQAGogCyANIANB6ABqEOEGIAMoAlQhCyADKAJQRQRAIAMgATYCuAEgAyALNgK8AQwDCyAEIQEgC0GBgICAeEYNAgwcCyADQoHKgICAATcDaCADQegAahCACyEFDAgLIANCgcqAgBA3A2ggA0HoAGoQgAshBQwHCyABIAdGBEAgA0G4AWogBxCtBiADKALAASEHCyADKAK8ASIBIAdBBHRqIgQgIEEARzoADCAEIBs2AgggBCAeNgIEIAQgETYCACADIAdBAWoiBDYCwAELIBohCyAFDQALIAMoAtABIREgAygCzAEhISADKALIASENIAMoAsQBIQcgAygCwAEhBCADKAK4ASEFIAMoArwBIQELIAVBgoCAgHhIBEAgASEFDA4LIB9BAEetIXJBg4CAgHghEEIADAYLDBcLDFQLIANCgcqAgBA3A7gBIANBuAFqEIALIQUMCgsgAygCyAEiAQRAIAMoAsQBIAFBAnRBC2pBeHFrEJUCCyADKAK4AUUNCSADKAK8ARCVAgwJCwJAIAcEQCATIBBBCGs2AgQgEyABQQhqNgIAAkAgAS0AByIfQQJPBEBBkfrDAC0AABpBDEEEEKMMIgVFDQEgBSAfOgAEIAVBgoCAgHg2AgAMDAsgB0EITQRAIANCgcqAgIABNwO4ASADQbgBahCACyEFDAwLIBMgEEEQayIvNgIEIBMgAUEQaiILNgIAIANB6ABqIAEpAAgQxgYgAygCbCEFIAMoAmgNC0EAIQQCQAJAIAVFBEBB0JjAACEHQQQhAUEAIQ1BACEhQQAhEQwBCyADQegAaiAFEPADAn8gAygCaCIHBEAgAygCdCERIAMoAnAhISADKAJsDAELIANB8ABqKAIAISEgAygCbAshDSAFQebMmTNLDV0gBUEUbCIQQQBIDV1BkfrDAC0AABogEEEEEKMMIgFFDQELIAMgETYC0AEgAyAhNgLMASADIA02AsgBIAMgBzYCxAEgA0EANgLAASADIAE2ArwBIAMgBTYCuAEgBQRAIANBxAFqIRcDQAJAAkACQAJAIC9BBE8EQCATIC9BBGsiBzYCBCATIAtBBGo2AgAgB0EESQRAIANCgcqAgMAANwNoIANB6ABqEIALIQUMCwsgCygAACEVIBMgL0EIayIHNgIEIBMgC0EIajYCACAHQQhJDQEgCygABCEeIBMgL0EQayIHNgIEIBMgC0EQajYCACALKQAIInFCgICAgBBaBEAgA0EBOgBoIAMgcTcDcCADQegAaiADQThqQbSAwAAQsQghBQwLCyAHRQ0CIBMgL0ERayIvNgIEIBMgC0ERaiIaNgIAIAstABAiIEECTwRAQZH6wwAtAAAaQQxBBBCjDCIFRQ1dIAUgIDoABCAFQYKAgIB4NgIADAsLIAVBAWshBSADKALEASISQQRrIQ0gHiAVQbnz3fF5bEEFd3NBufPd8XlsIhFBGXYiG61CgYKEiJCgwIABfiFzIHGnIRlBACEQIAMoAsgBIQsgESEHAkADQCBzIAcgC3EiGCASaikAACJ1hSJxQoGChIiQoMCAAX0gcUJ/hYNCgIGChIiQoMCAf4MhcgNAIHJQBEAgdSB1QgGGg0KAgYKEiJCgwIB/g0IAUg0DIBggEEEIaiIQaiEHDAILIA0gcnqnQQN2IBhqIAtxQQJ0aygCACIHIARPDSAgckIBfSBygyFyIAEgB0EUbGoiBygCACAVRw0AIAdBBGooAgAgHkcNAAsLIAcgGTYCDCAHQRBqICBBAEc6AAAMBQsgCyARcSIhIBJqKQAAQoCBgoSIkKDAgH+DInJQBEBBCCEHA0AgByAhaiENIAdBCGohByALIA1xIiEgEmopAABCgIGChIiQoMCAf4MiclANAAsLIBIgcnqnQQN2ICFqIAtxIgdqLAAAIg1BAE4EQCASIBIpAwBCgIGChIiQoMCAf4N6p0EDdiIHai0AACENCwJAIA1BAXEiDUUNACADKALMAQ0AIBcgASAEEJ4BIBEgAygCyAEiC3EiByADKALEASISaikAAEKAgYKEiJCgwIB/gyJyUARAQQghAQNAIAEgB2ohByABQQhqIQEgEiAHIAtxIgdqKQAAQoCBgoSIkKDAgH+DInJQDQALCyASIHJ6p0EDdiAHaiALcSIHaiwAAEEASA0AIBIpAwBCgIGChIiQoMCAf4N6p0EDdiEHCyAHIBJqIBs6AAAgB0EIayALcSASakEIaiAbOgAAIBIgB0ECdGtBBGsgBDYCACADIAMoAswBIA1rIg02AswBIAMgAygC0AFBAWoiCzYC0AEgAygCwAEhByAEIAMoArgBIgFHDQMgCyANaiAHayIBIAQgB2tNBEAgBCEBDAQLIAcgASAHaiIBSw1jIAFBFGwhDSABQefMmTNJQQJ0IQsgAyAEBH8gAyADKAK8ATYCaCADIARBFGw2AnBBBAVBAAs2AmwgA0HQAGogCyANIANB6ABqEOEGIAMoAlQhCyADKAJQRQRAIAMgATYCuAEgAyALNgK8AQwECyAEIQEgC0GBgICAeEYNAwwcCyADQoHKgIDAADcDaCADQegAahCACyEFDAkLIANCgcqAgIABNwNoIANB6ABqEIALIQUMCAsgA0KByoCAEDcDaCADQegAahCACyEFDAcLIAEgB0YEQCADQbgBaiAHEK4GIAMoAsABIQcLIAMoArwBIgEgB0EUbGoiBCAgQQBHOgAQIAQgGTYCDCAEIBE2AgggBCAeNgIEIAQgFTYCACADIAdBAWoiBDYCwAELIBohCyAFDQALIAMoAtABIREgAygCzAEhISADKALIASENIAMoAsQBIQcgAygCwAEhBCADKAK4ASEFIAMoArwBIQELQYKAgIB4IRAgBUGCgICAeEgEQCABIQUMDQsgH0EAR60hckIADAULDBYLDFMLIANCgcqAgBA3A7gBIANBuAFqEIALIQUMCQsgAygCyAEiAQRAIAMoAsQBIAFBAnRBC2pBeHFrEJUCCyADKAK4AUUNCCADKAK8ARCVAgwICyAHRQ0DIBMgEEEIazYCBCATIAFBCGo2AgAgAS0AByIfQQJPBEBBkfrDAC0AABpBDEEEEKMMIgVFDVEgBSAfOgAEIAVBgoCAgHg2AgAMCAsgB0EITQRAIANCgcqAgIABNwO4ASADQbgBahCACyEFDAgLIBMgEEEQayIvNgIEIBMgAUEQaiILNgIAIANB6ABqIAEpAAgQxgYgAygCbCEFIAMoAmgNB0EAIQQCQCAFRQRAQdCYwAAhB0EEIQFBACENQQAhIUEAIREMAQsgA0HoAGogBRDwAwJ/IAMoAmgiBwRAIAMoAnQhESADKAJwISEgAygCbAwBCyADQfAAaigCACEhIAMoAmwLIQ0gBUHmzJkzSw1YIAVBFGwiEEEASA1YQZH6wwAtAAAaIBBBBBCjDCIBRQ0TCyADIBE2AtABIAMgITYCzAEgAyANNgLIASADIAc2AsQBIANBADYCwAEgAyABNgK8ASADIAU2ArgBIAUEQCADQcQBaiEXA0ACQAJAAkACQCAvQQRPBEAgEyAvQQRrIgc2AgQgEyALQQRqNgIAIAdBBEkEQCADQoHKgIDAADcDaCADQegAahCACyEFDAwLIAsoAAAhFSATIC9BCGsiBzYCBCATIAtBCGo2AgAgB0EISQ0BIAsoAAQhHiATIC9BEGsiBzYCBCATIAtBEGo2AgAgCykACCJxQoCAgIAQWgRAIANBAToAaCADIHE3A3AgA0HoAGogA0E4akG0gMAAELEIIQUMDAsgB0UNAiATIC9BEWsiLzYCBCATIAtBEWoiGjYCACALLQAQIiBBAk8EQEGR+sMALQAAGkEMQQQQowwiBUUNWCAFICA6AAQgBUGCgICAeDYCAAwMCyAFQQFrIQUgAygCxAEiEkEEayENIB4gFUG5893xeWxBBXdzQbnz3fF5bCIRQRl2IhutQoGChIiQoMCAAX4hcyBxpyEZQQAhECADKALIASELIBEhBwJAA0AgcyAHIAtxIhggEmopAAAidYUicUKBgoSIkKDAgAF9IHFCf4WDQoCBgoSIkKDAgH+DIXIDQCByUARAIHUgdUIBhoNCgIGChIiQoMCAf4NCAFINAyAYIBBBCGoiEGohBwwCCyANIHJ6p0EDdiAYaiALcUECdGsoAgAiByAETw0bIHJCAX0gcoMhciABIAdBFGxqIgcoAgAgFUcNACAHQQRqKAIAIB5HDQALCyAHIBk2AgwgB0EQaiAgQQBHOgAADAULIAsgEXEiISASaikAAEKAgYKEiJCgwIB/gyJyUARAQQghBwNAIAcgIWohDSAHQQhqIQcgCyANcSIhIBJqKQAAQoCBgoSIkKDAgH+DInJQDQALCyASIHJ6p0EDdiAhaiALcSIHaiwAACINQQBOBEAgEiASKQMAQoCBgoSIkKDAgH+DeqdBA3YiB2otAAAhDQsCQCANQQFxIg1FDQAgAygCzAENACAXIAEgBBCeASARIAMoAsgBIgtxIgcgAygCxAEiEmopAABCgIGChIiQoMCAf4MiclAEQEEIIQEDQCABIAdqIQcgAUEIaiEBIBIgByALcSIHaikAAEKAgYKEiJCgwIB/gyJyUA0ACwsgEiByeqdBA3YgB2ogC3EiB2osAABBAEgNACASKQMAQoCBgoSIkKDAgH+DeqdBA3YhBwsgByASaiAbOgAAIAdBCGsgC3EgEmpBCGogGzoAACASIAdBAnRrQQRrIAQ2AgAgAyADKALMASANayINNgLMASADIAMoAtABQQFqIgs2AtABIAMoAsABIQcgBCADKAK4ASIBRw0DIAsgDWogB2siASAEIAdrTQRAIAQhAQwECyAHIAEgB2oiAUsNXiABQRRsIQ0gAUHnzJkzSUECdCELIAMgBAR/IAMgAygCvAE2AmggAyAEQRRsNgJwQQQFQQALNgJsIANB0ABqIAsgDSADQegAahDhBiADKAJUIQsgAygCUEUEQCADIAE2ArgBIAMgCzYCvAEMBAsgBCEBIAtBgYCAgHhGDQMMFwsgA0KByoCAwAA3A2ggA0HoAGoQgAshBQwKCyADQoHKgICAATcDaCADQegAahCACyEFDAkLIANCgcqAgBA3A2ggA0HoAGoQgAshBQwICyABIAdGBEAgA0G4AWogBxCuBiADKALAASEHCyADKAK8ASIBIAdBFGxqIgQgIEEARzoAECAEIBk2AgwgBCARNgIIIAQgHjYCBCAEIBU2AgAgAyAHQQFqIgQ2AsABCyAaIQsgBQ0ACyADKALQASERIAMoAswBISEgAygCyAEhDSADKALEASEHIAMoAsABIQQgAygCuAEhBSADKAK8ASEBCyAFQYKAgIB4SARAIAEhBQwICyAfQQBHrSFyQYGAgIB4IRBCAAshcSADIHU3ArABIAMgCzYCrAEgAyAhNgKgASADIA02ApwBIAMgBzYCmAEgAyAENgKUASADIAE2ApABIAMgBTYCjAEgAyAQNgKIASADIBGtIHJCIIZCgICAgPAfgyBxhIQ3AqQBIANBCGohBEEAIQtBACEFAkACQAJAAkACQAJAAkACQCADQYgBaiIHKAIAIgFB/////wdrQQAgAUGFgICAeEgbQQFrDgUBAgMEBQALQZH6wwAtAAAaQTBBBBCjDCILRQ1ZIAsgBykCADcCACALQShqIAdBKGopAgA3AgAgC0EgaiAHQSBqKQIANwIAIAtBGGogB0EYaikCADcCACALQRBqIAdBEGopAgA3AgAgC0EIaiAHQQhqKQIANwIAQbypwgAhBQwEC0GR+sMALQAAGkEgQQQQowwiC0UNBCALIAcpAgQ3AgAgC0EYaiAHQRxqKQIANwIAIAtBEGogB0EUaikCADcCACALQQhqIAdBDGopAgA3AgBB/KjCACEFDAMLQZH6wwAtAAAaQSBBBBCjDCILRQ0DIAsgBykCBDcCACALQRhqIAdBHGopAgA3AgAgC0EQaiAHQRRqKQIANwIAIAtBCGogB0EMaikCADcCAEG8qMIAIQUMAgtBkfrDAC0AABpBIEEEEKMMIgtFDQIgCyAHKQIENwIAIAtBGGogB0EcaikCADcCACALQRBqIAdBFGopAgA3AgAgC0EIaiAHQQxqKQIANwIAQcinwgAhBQwBC0GR+sMALQAAGkEgQQQQowwiC0UNASALIAcpAgQ3AgAgC0EYaiAHQRxqKQIANwIAIAtBEGogB0EUaikCADcCACALQQhqIAdBDGopAgA3AgBB/KfCACEFCyAEIAU2AgQgBCALNgIADAELQQRBIEHYgMQAKAIAIgBBowcgABsRAAAACyADKAIMISEgAygCCCELIANBADYCcCADQoCAgIAQNwJoIANB0AFqQbiSwAA2AgAgA0EDOgDYASADQSA2AsgBIANBADYC1AEgA0EANgLAASADQQA2ArgBIAMgA0HoAGo2AswBIANBuAFqEKANDQEgA0HYAGoiASADQfAAaigCADYCACADIAMpAmg3A1BBkfrDAC0AABpBDEEEEKMMIgVFDU8gBSADKQNQNwIAIAVBCGogASgCADYCACALRQ0GIAUQvQcLIDUgIkEARzoAJSA1IB1BAEc6ACQgNSAhNgIgIDUgCzYCHCA1IG82AhggNSBuNgIUIDUgbTYCECA1IGw2AgwgNSAsNgIIIDUgFDYCBCA1IAg2AgAMDQtB0JLAAEE3IANBOGpBiJPAAEHkk8AAEIgIAAsgA0KByoCAEDcDuAEgA0G4AWoQgAshBQwDCyADKALIASIBBEAgAygCxAEgAUECdEELakF4cWsQlQILIAMoArgBRQ0CIAMoArwBEJUCDAILIAMoAsgBIgEEQCADKALEASABQQJ0QQtqQXhxaxCVAgsgAygCuAFFDQEgAygCvAEQlQIMAQsgEEUEQCAHIQUMAQsgBRCVAiAHIQULIDVBgICAgHg2AgAgNSAFNgIEICwEQCAUQYABaiEQA0AgEEEEaygCAARAIBAoAgAQlQILIBBBKGsoAgAEQCAQQSRrKAIAEJUCCyAQQagBaiEQICxBAWsiLA0ACwsgCEUNByAUEJUCDAcLIANCgcqAgMAANwOIASADQYgBahCACwshASA1QYCAgIB4NgIAIDUgATYCBAwFCyADKAKIAUUNACADKAKMARCVAgsgBwRAIAEQlQILIAghAQwBCyADQbgBahCACyEBIAMoAogBRQ0AIAMoAowBEJUCCyADKAIYIQggAygCHCIsBEAgCEGAAWohEANAIBBBBGsoAgAEQCAQKAIAEJUCCyAQQShrKAIABEAgEEEkaygCABCVAgsgEEGoAWohECAsQQFrIiwNAAsLIAMoAhRFDQAgCBCVAgsgNUGAgICAeDYCACA1IAE2AgQLIANB4AFqJAAMAwsgC0UNRiALIAMoAlhB2IDEACgCACIAQaMHIAAbEQAAAAsgByAEQbyZwAAQ7QgAC0EEIBBB2IDEACgCACIAQaMHIAAbEQAAAAsgAigCrAQhBAJAIAIoAqgEIhBBgICAgHhHBEAgUCBSKQIANwIAIFBBGGoiDSBSQRhqKQIANwIAIFBBEGoiCyBSQRBqKQIANwIAIFBBCGoiCCBSQQhqKQIANwIAIAIgBDYC1AUgAiAQNgLQBQJ/IBMoAgQiBUEDTQRAIAJCgcqAgMAANwOoBCACQagEahCACwwBCyATIAVBBGsiATYCBCATIBMoAgAiFEEEajYCACABQQNNBEAgAkKByoCAwAA3A6gEIAJBqARqEIALDAELIBQoAAAhESATIAVBCGsiATYCBCATIBRBCGo2AgAgAUEDTQRAIAJCgcqAgMAANwOoBCACQagEahCACwwBCyAUKAAEIRogEyAFQQxrIgE2AgQgEyAUQQxqNgIAIAFBA0sNAiACQoHKgIDAADcDqAQgAkGoBGoQgAsLIQQgAkHQBWoQ6gYLIAoEQCAcIQMDQCADEOoGIANBOGohAyAKQQFrIgoNAAsLIAIoAtAIRQ0DIBwQlQIMAwsgFCgACCEDIBMgBUEQazYCBCATIBRBEGo2AgAgAkG4AmoiAUEIaiIHIAgpAgA3AwAgAUEQaiIFIAspAgA3AwAgAUEYaiIIIA0pAgA3AwAgAiBQKQIANwO4AiAUKAAMIQEgAigC0AggCkYEQCACQdAIaiAKELEGIAIoAtQIIRwgAigC2AghCgsgHCAKQThsaiILIAQ2AgQgCyAQNgIAIAsgAikDuAI3AgggC0EQaiAHKQMANwIAIAtBGGogBSkDADcCACALQSBqIAgpAwA3AgAgCyABNgI0IAsgAzYCMCALIBo2AiwgCyARNgIoIAIgCkEBaiIKNgLYCCAWQQFrIhYNAAsgAigC1AghHCACKALQCCIIQYKAgIB4Tg0CIBwhBAwBC0EBQfCKwABB3ILAABD3ByEECyBPBEAgCRCVAgsgBCEJDCULIE9BgoCAgHhODQAMJAsgAkECNgK8AiACIDs2ArgCIAJBqARqIAJBuAJqEKMCIAIoAqwEIQQCQAJAIAIoAqgEIgtBgICAgHhrDgIAJAELQQBB8IrAAEHcgsAAEPcHIQQMIwsCQAJAAkAgAigCvAIEQCACKAK4AiISKAIEIgFBB00EQCACQoHKgICAATcDqAQgAkGoBGoQgAshBwwmCyACKAKwBCEhIBIgAUEIayINNgIEIBIgEigCACIBQQhqIhg2AgAgAkHQBWogASkAABDGBiACKALUBSEHIAIoAtAFDSUCQEHMmQMgByAHQcyZA08bIhBFBEBBBCEXDAELQZH6wwAtAAAaIBBBFGwiAUEEEKMMIhdFDT0LIAJBADYCsAQgAiAXNgKsBCACIBA2AqgEIAdFDQJBACEWA0AgDUUNByASIA1BAWsiATYCBCASIBhBAWoiBTYCACAYLQAAIhRBAk8EQEGR+sMALQAAGkEMQQQQowwiB0UNPSAHIBQ6AAQgB0GCgICAeDYCAAwmCyABRQ0IIBIgAUEBayIBNgIEIBIgBUEBaiIDNgIAIAUtAAAiEEECTwRAQZH6wwAtAAAaQQxBBBCjDCIHRQ09IAcgEDoABCAHQYKAgIB4NgIADCYLIAFBA00EQCACQoHKgIDAADcD0AUgAkHQBWoQgAshBwwmCyASIAFBBGsiATYCBCASIANBBGoiBTYCACABQQNNBEAgAkKByoCAwAA3A9AFIAJB0AVqEIALIQcMJgsgAygAACEaIBIgAUEEayIBNgIEIBIgBUEEaiINNgIAIAFBA00EQCACQoHKgIDAADcD0AUgAkHQBWoQgAshBwwmCyAFKAAAISMgEiABQQRrIgM2AgQgEiANQQRqIgE2AgAgA0EDTQRAIAJCgcqAgMAANwPQBSACQdAFahCACyEHDCYLIBRBAEchBSANKAAAISsgEiADQQRrIg02AgQgEiABQQRqIhg2AgAgEEEARyERIAEoAAAhASACKAKoBCAWRgRAIAJBqARqIBYQrgYgAigCrAQhFyACKAKwBCEWCyAXIBZBFGxqIgMgEToAESADIAU6ABAgAyABNgIMIAMgKzYCCCADICM2AgQgAyAaNgIAIAIgFkEBaiIWNgKwBCAHQQFrIgcNAAsgAigCrAQhFyACKAKoBCIQQYKAgIB4Tg0BIBchBwwlC0EBQfCKwABB3ILAABD3ByEHDCQLIAtBgoCAgHhODQEMJAtBACEWCyA7KAIEIgFBB00EQCACQoHKgICAATcDqAQgAkGoBGoQgAshBwwgCyA7IAFBCGsiDTYCBCA7IDsoAgAiAUEIaiIYNgIAIAJB0AVqIAEpAAAQxgYgAigC1AUhEiACKALQBQRAIBIhBwwgCwJAQdWqBSASIBJB1aoFTxsiFEUEQEEEIQcMAQtBkfrDAC0AABogFEEMbCIBQQQQowwiB0UNOQtBACEDIAJBADYCsAQgAiAHNgKsBCACIBQ2AqgEIBIEQAJAA0ACQCANQQRPBEAgOyANQQRrIgE2AgQgOyAYQQRqIgU2AgAgAUEESQ0jIBgoAAAhGiA7IAFBBGsiATYCBCA7IAVBBGoiETYCACABQQRPDQEMIwsMIgsgBTUAACF0IDsgAUEEayINNgIEIDsgEUEEaiIYNgIAIBE1AAAhdyACKAKoBCADRgRAIAJBqARqIAMQsgYgAigCsAQhAyACKAKsBCEHCyAHIANBDGxqIgEgd0IghiB0hDcCBCABIBo2AgAgAiADQQFqIgM2ArAEIBJBAWsiEg0ACyACKAKsBCEHIAIoAqgEIhRBgYCAgHhKDQAMIQsLIE9BgoCAgHhIDSQgAigC0AYhASACIAIoAtQGNgKIAiACIAE2AoQCIAIgAzYCgAIgAiAHNgL8ASACIBQ2AvgBIAIgFjYC9AEgAiAXNgLwASACIBA2AuwBIAIgITYC6AEgAiAENgLkASACIAs2AuABIAIgCjYC3AEgAiAcNgLYASACIAg2AtQBIAIgQDYC0AEgAiAJNgLMASACIE82AsgBIAIoAhQiAUUNASACIAFBAWs2AhQgAigCECEMIAJBATYCsAYgAiAMNgKsBiAMKAIEIgFBB00EQCACQoHKgICAATcDqAQgAkGoBGoQgAshCQwdCyAMIAFBCGs2AgRBCCEJIAwgDCgCACIBQQhqNgIAIAJB0AVqIAEpAAAQxgYgAigC1AUhASACKALQBQRAIAEhCQwdC0GhFiABIAFBoRZPGyIIBEBBkfrDAC0AABogCEHwAmwiCkEIEKMMIglFDQULIAJBADYCvAYgAiAJNgK4BiACIAg2ArQGIAFFDQUgAkGwBGohLUEAIQoDQAJAAkACQAJAIAwoAgQiCUEETwRAIAwgCUEEayIENgIEIAwgDCgCACIFQQRqNgIAIAUoAAAiJQ4CAgMBCyACQoHKgIDAADcDqAQgAkGoBGoQgAshCQwgCyACQQE6AKgEIAIgJa03A7AEIAJBqARqQZiJwABB3ILAABCxCCEJDB8LAkACQCAEBEAgDCAJQQVrNgIEIAwgBUEFajYCACAFLQAEIhgOAgQCAQsgAkKByoCAEDcDqAQgAkGoBGoQgAshCQwgC0GR+sMALQAAGkEMQQQQowwiCUUNOyAJIBg2AgQgCUGEgICAeDYCAAwfCyAEQQVPBEAgDCAJQQlrNgIEIAwgBUEJajYCACAFKAAFIUVBASEYDAILIAJCgcqAgMAANwOoBCACQagEahCACyEJDB4LAkACQCAEQQRPBEAgDCAJQQhrNgIEIAwgBUEIajYCACAFKAAEIRggAkGoBGogDBDoAyACKAKsBCEcIAIoAqgEDQEgAkHQBWoiCEEQaiIXIC1BEGoiESkCADcDACAIQQhqIhIgLUEIaiIUKQIANwMAIAIgLSkCADcD0AUgAkGoBGogDBDoAyACKAKsBCENIAIoAqgEBEAgDSEJDCELIAJBmAhqIghBEGoiICARKQIANwMAIAhBCGoiHSAUKQIANwMAIAJBsAhqIghBCGoiIiASKQMANwMAIAhBEGoiHyAXKQMANwMAIAIgLSkCADcDmAggAiACKQPQBTcDsAgCQCAMKAIEIggEQCAMIAhBAWs2AgQgDCAMKAIAIghBAWo2AgAgCC0AACFUIAJBqARqIAwQjgIgAigCrAQhFiACKAKoBA0NIAJBuAJqIghBIGoiGiAtQSBqIiMpAgA3AwAgCEEYaiIQIC1BGGoiCykCADcDACAIQRBqIgMgESkCADcDACAIQQhqIgcgFCkCADcDACACIC0pAgA3A7gCIAwoAgQiGUUEQCACQoHKgIAQNwOoBCACQagEahCACyEJDCMLIAwgGUEBayIFNgIEIAwgDCgCACIbQQFqIgk2AgBBACEIAkACQAJAIBstAAAiBA4CAgEAC0GR+sMALQAAGkEMQQQQowwiCUUNQCAJIAQ2AgQgCUGEgICAeDYCAAwkCwJ/AkACQAJAAkAgGUEFTwRAIAwgGUEFayIINgIEIAwgG0EFajYCACAbKAABIgkOAgIDAQsgAkKByoCAwAA3A6gEIAJBqARqEIALIQkMKAsgAkEBOgCoBCACIAmtNwOwBCACQagEakGYicAAQdyCwAAQsQghCQwnCyACQagEaiAMEI4CIAIoAqgERQ0BIAIoAqwEIQkMJgsgCEEETwRAIAwgGUEJazYCBCAMIBtBCWo2AgAgGygABQwCCyACQQA6AKsEIAJBJTsAqQQgAkEENgKsBCACQQE6AKgEIAJBqARqEIALIQkMJQsgEiAUKQIANwMAIBcgESkCADcDACACQdAFaiIIQRhqIAspAgA3AwAgCEEgaiAjKQIANwMAIAIgLSkCADcD0AUgAigCrAQLIQRBkfrDAC0AABpBMEEEEKMMIghFDUIgCCAENgIEIAggCTYCACAIIAIpA9AFNwIIIAhBEGogEikDADcCACAIQRhqIBcpAwA3AgAgCEEgaiACQdAFaiIEQRhqKQMANwIAIAhBKGogBEEgaikDADcCACAMKAIAIQkgDCgCBCEFCyAFQQRJDSEgDCAFQQRrIgQ2AgQgDCAJQQRqNgIAIARBBEkNISAJKAAAIVUgDCAFQQhrIgQ2AgQgDCAJQQhqNgIAIARBBEkNISAJNQAEIXkgDCAFQQxrIgQ2AgQgDCAJQQxqNgIAIARBBEkNISAJNQAIIYMBIAwgBUEQayIENgIEIAwgCUEQajYCACAEQQRJDSEgCSgADCFYIAwgBUEUayIENgIEIAwgCUEUajYCACAEQQRJDSEgCTUAECF9IAwgBUEYayIENgIEIAwgCUEYajYCACAEQQRJDSEgCTUAFCGEASAMIAVBHGsiBDYCBCAMIAlBHGo2AgAgBEEESQ0hIAkoABghWSAMIAVBIGsiBDYCBCAMIAlBIGo2AgAgBEEESQ0hIAkoABwhViAMIAVBJGsiBDYCBCAMIAlBJGo2AgAgBEEESQ0hIAkoACAhWiAMIAVBKGsiBDYCBCAMIAlBKGo2AgAgBEEESQ0hIAkoACQhWyAMIAVBLGsiBDYCBCAMIAlBLGo2AgAgBEEESQ0hIAkoACghXCAMIAVBMGsiBDYCBCAMIAlBMGo2AgAgAkHQCGoiC0EIaiIbIAcpAwA3AwAgC0EQaiIZIAMpAwA3AwAgC0EYaiISIBApAwA3AwAgC0EgaiIDIBopAwA3AwAgAiACKQO4AjcD0AggBEEESQ0OIAkoACwhPiAMIAVBNGsiBDYCBCAMIAlBNGo2AgAgBEEESQ0OIAkoADAhPyAMIAVBOGsiBDYCBCAMIAlBOGo2AgAgBEEESQ0OIAk1ADQhfiAMIAVBPGsiBDYCBCAMIAlBPGo2AgACQCAEQQRJDQAgCTUAOCGFASAMIAVBQGoiBDYCBCAMIAlBQGs2AgAgBEEESQ0AIAkoADwhQiAMIAVBxABrIgQ2AgQgDCAJQcQAajYCACAEQQRPDQILIAJBADoAqwQgAkElOwCpBCACQQQ2AqwEIAJBAToAqAQgAkGoBGoQgAshCQwgCyACQoHKgIAQNwOoBCACQagEahCACyEJDCELIAk1AEAhfyAMIAVByABrIgQ2AgQgDCAJQcgAajYCACAEQQRJDQ0gCTUARCGCASAMIAVBzABrIgQ2AgQgDCAJQcwAajYCACAEQQRJDQ0gCSgASCFDIAwgBUHQAGsiBDYCBCAMIAlB0ABqNgIAIARBBEkNDSAJNQBMIYABIAwgBUHUAGsiBDYCBCAMIAlB1ABqNgIAAkACQCAEQQRJDQAgCTUAUCGBASAMIAVB2ABrIgQ2AgQgDCAJQdgAajYCACAEQQRJDQAgCSgAVCFdIAwgBUHcAGsiBDYCBCAMIAlB3ABqNgIAIARBBE8NAQsgAkEAOgCrBCACQSU7AKkEIAJBBDYCrAQgAkEBOgCoBCACQagEahCACyEJDB8LIAk1AFghhgEgDCAFQeAAayIENgIEIAwgCUHgAGo2AgAgBEEESQ0OIAk1AFwheyAMIAVB5ABrIgQ2AgQgDCAJQeQAajYCACAEQQRJBEAgAkEAOgCrBCACQSU7AKkEIAJBBDYCrAQgAkEBOgCoBCACQagEahCACyEJDB8LIAkoAGAhRiAMIAVB6ABrIgQ2AgQgDCAJQegAajYCACAEQQRJDQ8gCSgAZCFXIAwgBUHsAGsiBDYCBCAMIAlB7ABqNgIAIARBBEkNDyAJKABoIT0gDCAFQfAAayIENgIEIAwgCUHwAGo2AgAgBEEESQ0PIAk1AGwhfCAMIAVB9ABrIgQ2AgQgDCAJQfQAajYCACAEQQRJDRAgCTUAcCF1IAwgBUH4AGsiBDYCBCAMIAlB+ABqNgIAIARBBEkNECAJKAB0ITkgDCAFQfwAayIENgIEIAwgCUH8AGo2AgAgBEEESQ0QIAk1AHgheiAMIAVBgAFrIgQ2AgQgDCAJQYABajYCACAEQQRJDREgCTUAfCFyIAwgBUGEAWsiBDYCBCAMIAlBhAFqNgIAIARBBEkNEiAJKACAASE4IAwgBUGIAWsiBDYCBCAMIAlBiAFqNgIAIARBBEkNEiAJKACEASE0IAwgBUGMAWsiBDYCBCAMIAlBjAFqNgIAIARBBEkNEiAJNQCIASF4IAwgBUGQAWsiBDYCBCAMIAlBkAFqNgIAAkACQCAEQQRJDQAgCTUAjAEhdiAMIAVBlAFrIgQ2AgQgDCAJQZQBajYCACAEQQRJDQAgCSgAkAEhNyAMIAVBmAFrIgQ2AgQgDCAJQZgBajYCACAEQQRPDQELIAJBADoAqwQgAkElOwCpBCACQQQ2AqwEIAJBAToAqAQgAkGoBGoQgAshCQwfCyAJNQCUASFzIAwgBUGcAWsiBDYCBCAMIAlBnAFqNgIAIARBA00EQCACQQA6AKsEIAJBJTsAqQQgAkEENgKsBCACQQE6AKgEIAJBqARqEIALIQkMHwsgCTUAmAEhcSAMIAVBoAFrIgQ2AgQgDCAJQaABajYCACAEQQNNBEAgAkEAOgCrBCACQSU7AKkEIAJBBDYCrAQgAkEBOgCoBCACQagEahCACyEJDB8LIAkoAJwBIUcgDCAFQaQBayIENgIEIAwgCUGkAWo2AgAgBEUNEyAJKACgASFTIAwgBUGlAWsiBDYCBCAMIAlBpQFqNgIAIAktAKQBIh5BAk8EQEGR+sMALQAAGkEMQQQQowwiCUUNPSAJIB46AAQgCUGCgICAeDYCAAwfCyAERQ0UIAwgBUGmAWsiBDYCBCAMIAlBpgFqNgIAIAktAKUBIhdBAk8EQEGR+sMALQAAGkEMQQQQowwiCUUNPSAJIBc6AAQgCUGCgICAeDYCAAwfCyAEQQNNBEAgAkEAOgCrBCACQSU7AKkEIAJBBDYCrAQgAkEBOgCoBCACQagEahCACyEJDB8LIAwgBUGqAWsiBDYCBCAMIAlBqgFqNgIAIARBCEkNFSAJKACmASFIIAwgBUGyAWsiBDYCBCAMIAlBsgFqNgIAIAkpAKoBIowBQoCAgIAQWgRAIAJBAToAqAQgAiCMATcDsAQgAkGoBGogAkH/CGpBtIDAABCxCCEJDB8LIARBCEkNFiAMIAVBugFrIgQ2AgQgDCAJQboBajYCACAJKQCyASKNAUKAgICAEFoEQCACQQE6AKgEIAIgjQE3A7AEIAJBqARqIAJB/whqQbSAwAAQsQghCQwfCyAEQQhJDRcgDCAFQcIBayIENgIEIAwgCUHCAWo2AgAgCSkAugEijgFCgICAgBBaBEAgAkEBOgCoBCACII4BNwOwBCACQagEaiACQf8IakG0gMAAELEIIQkMHwsgBEEDTQRAIAJCgcqAgMAANwOoBCACQagEahCACyEJDB8LIAwgBUHGAWs2AgQgDCAJQcYBajYCACAJKADCASFJIAJBqARqIAwQrwMgAigCrAQhCyACKAKoBCIHQYCAgIB4RgRAIAshCQwfCyAMKAIEIglBA00EQCACQQA6AKsEIAJBJTsAqQQgAkEENgKsBCACQQE6AKgEIAJBqARqEIALIQkMHgsgAigCsAQhESAMIAlBBGsiBDYCBCAMIAwoAgAiFUEEajYCACAEQQNNBEAgAkEAOgCrBCACQSU7AKkEIAJBBDYCrAQgAkEBOgCoBCACQagEahCACyEJDB4LIBUoAAAhISAMIAlBCGsiBDYCBCAMIBVBCGo2AgAgBEEDTQRAIAJBADoAqwQgAkElOwCpBCACQQQ2AqwEIAJBAToAqAQgAkGoBGoQgAshCQweCyAVKAAEISsgDCAJQQxrIgQ2AgQgDCAVQQxqNgIAIARBA00EQCACQQA6AKsEIAJBJTsAqQQgAkEENgKsBCACQQE6AKgEIAJBqARqEIALIQkMHgsgFSgACCEjIAwgCUEQayIENgIEIAwgFUEQajYCACAERQ0YIBUoAAwhQCAMIAlBEWsiBDYCBCAMIBVBEWo2AgAgFS0AECIaQQJPBEBBkfrDAC0AABpBDEEEEKMMIglFDT0gCSAaOgAEIAlBgoCAgHg2AgAMHgsgBEEDTQRAIAJCgcqAgMAANwOoBCACQagEahCACyEJDB4LIAwgCUEVayIENgIEIAwgFUEVajYCACAEQQRJDRkgFSgAESE8IAwgCUEZayIENgIEIAwgFUEZajYCACAVKAAVIhBBBE8EQCACQQE6AKgEIAIgEK03A7AEIAJBqARqQZCNwABB3ILAABCxCCEJDB4LIARFBEAgAkKByoCAEDcDqAQgAkGoBGoQgAshCQweCyAMIAlBGmsiBDYCBCAMIBVBGmo2AgAgBEUNGiAVLQAZIRQgDCAJQRtrIgQ2AgQgDCAVQRtqNgIAIBUtABoiBUECTwRAQZH6wwAtAAAaQQxBBBCjDCIJRQ09IAkgBToABCAJQYKAgIB4NgIADB4LIARBCEkNGyAMIAlBI2siBDYCBCAMIBVBI2o2AgAgFSkAGyKPAUKAgICAEFoEQCACQQE6AKgEIAIgjwE3A7AEIAJBqARqIAJB/whqQbSAwAAQsQghCQweCyAEQQ9LDQIgAkKByoCAgAI3A6gEIAJBqARqEIALIQkMHQsgAkKByoCAwAA3A6gEIAJBqARqEIALIQkMHwsgHCEJDB4LIIMBQiCGIHmEIYMBIIQBQiCGIH2EIYQBIIUBQiCGIH6EIYUBIIIBQiCGIH+EIYIBIIEBQiCGIIABhCGBASB7QiCGIIYBhCGAASB1QiCGIHyEIX0gckIghiB6hCF5IHZCIIYgeIQhdyBxQiCGIHOEIXQgHkEARyFLIBdBAEchTCCMAachRSCNAachTSCOAachTiAaQQBHIRogBUEARyEXIBVBL2o1AAAhcyAVNQAjIXEgFSkAJyF2IAwgCUEzazYCBCAMIBVBM2o2AgAgAkG4B2oiBEEIaiAbKQMANwMAIARBEGogGSkDADcDACAEQRhqIBIpAwA3AwAgBEEgaiADKQMANwMAIAJBtgdqIAJBzwhqLQAAOgAAIAIgAikD0Ag3A7gHIAIgAi8AzQg7AbQHIAJB+AdqIgRBEGogHykDADcDACAEQQhqICIpAwA3AwAgAiACKQOwCDcD+AcgAkHgB2oiBEEQaiAgKQMANwMAIARBCGogHSkDADcDACACIAIpA5gINwPgByACQbIHaiACQf4Iai0AADoAACACIAIvAPwIOwGwByACQawHaiACQZcIai0AADoAACACIAIoAJMINgKoByBzQiCGIHZCIIiEIX8gcSB2QiCGhCF+II8BpyEyCyACQZAHaiIJQRBqIhUgAkH4B2oiBEEQaikDADcDACAJQQhqIh4gBEEIaikDADcDACACQfgGaiIJQQhqIiAgAkHgB2oiBEEIaikDADcDACAJQRBqIh0gBEEQaikDADcDACACQdAGaiIJQQhqIiIgAkG4B2oiBEEIaikDADcDACAJQRBqIh8gBEEQaikDADcDACAJQRhqIhsgBEEYaikDADcDACAJQSBqIhkgBEEgaikDADcDACACIAIpA/gHNwOQByACIAIpA+AHNwP4BiACIAIpA7gHNwPQBiACQc4GaiISIAJBtgdqLQAAOgAAIAJBygZqIgMgAkGyB2otAAA6AAAgAkHEBmoiBSACQawHai0AADoAACACIAIvAbQHOwHMBiACIAIvAbAHOwHIBiACIAIoAqgHNgLABiACKAK0BiAKRgRAIAJBtAZqISYjAEEgayIpJAAgCkEBaiIERQ1AQQQgJigCACIOQQF0IgogBCAEIApJGyIKIApBBE0bIglB8AJsIQQgCUGiluQCSUEDdCEKAkAgDkUEQCApQQA2AhgMAQsgKUEINgIYICkgDkHwAmw2AhwgKSAmKAIENgIUCyApQQhqIAogBCApQRRqEOEGICkoAgwhCgJAICkoAghFBEAgJiAJNgIAICYgCjYCBAwBCyAKQYGAgIB4Rg0AIApFDUEgCiApQRBqKAIAQdiAxAAoAgAiAEGjByAAGxEAAAALIClBIGokACACKAK8BiEKCyACKAK4BiIJIApB8AJsaiIEIH43AxggBCAcNgI4IAQgTDoANSAEIEs6ADQgBCBINgIwIAQgUzYCLCAEIEc2AiggBCBJNgIUIAQgTjYCECAEIE02AgwgBCBFNgIIIAQgGDYCBCAEICU2AgAgBCACKQOQBzcCPCAEQSBqIH83AwAgBEHEAGogHikDADcCACAEQcwAaiAVKQMANwIAIAQgDTYCVCAEID82AnAgBCCFATcCdCAEIEI2AnwgBCCCATcDgAEgBCBDNgKIASAEIIEBNwKMASAEIF02ApQBIAQggAE3A5gBIAQgRjYCoAEgBCBXNgKkASAEIFk2AqgBIAQgVjYCrAEgBCBaNgKwASAEIFs2ArQBIAQgXDYCuAEgBCA+NgK8ASAEIBY2AsABIAQgAikD+AY3A1ggBEHgAGogICkDADcDACAEQegAaiAdKQMANwMAIAQgCDYC7AEgBCBVNgLwASAEIIMBNwL0ASAEIFg2AvwBIAQghAE3A4ACIAQgVDoAiAIgBEHkAWogGSkDADcCACAEQdwBaiAbKQMANwIAIARB1AFqIB8pAwA3AgAgBEHMAWogIikDADcCACAEIAIpA9AGNwLEASAEIAIvAcwGOwCJAiAEQYsCaiASLQAAOgAAIAQgGjoA2AIgBCBANgLUAiAEICM2AtACIAQgKzYCzAIgBCAhNgLIAiAEIDI2AsQCIAQgPDYCwAIgBCB0NwO4AiAEIDc2ArQCIAQgdzcCrAIgBCA0NgKoAiAEIDg2AqQCIAQgeTcCnAIgBCA5NgKYAiAEIH03A5ACIAQgPTYCjAIgBCACLwHIBjsA2QIgBEHbAmogAy0AADoAACAEIBc6AOoCIAQgEDoA6QIgBCAUOgDoAiAEIBE2AuQCIAQgCzYC4AIgBCAHNgLcAiAEQe8CaiAFLQAAOgAAIAQgAigCwAY2AOsCIAIgCkEBaiIKNgK8BiABQQFrIgENAAsgAigCtAYiCEGCgICAeEgNHAwXC0EEQdS5wABB3ILAABD3ByEJDCMLQQVB1LnAAEHcgsAAEPcHIQkMGgsgAkKByoCAEDcD0AUgAkHQBWoQgAshBwwdCyACQoHKgIAQNwPQBSACQdAFahCACyEHDBwLQQggCkHYgMQAKAIAIgBBowcgABsRAAAAC0EAIQoMEQsgFiEJDBQLIAJBADoAqwQgAkElOwCpBCACQQQ2AqwEIAJBAToAqAQgAkGoBGoQgAshCQwRCyACQQA6AKsEIAJBJTsAqQQgAkEENgKsBCACQQE6AKgEIAJBqARqEIALIQkMEAsgAkEAOgCrBCACQSU7AKkEIAJBBDYCrAQgAkEBOgCoBCACQagEahCACyEJDA8LIAJBADoAqwQgAkElOwCpBCACQQQ2AqwEIAJBAToAqAQgAkGoBGoQgAshCQwOCyACQQA6AKsEIAJBJTsAqQQgAkEENgKsBCACQQE6AKgEIAJBqARqEIALIQkMDQsgAkEAOgCrBCACQSU7AKkEIAJBBDYCrAQgAkEBOgCoBCACQagEahCACyEJDAwLIAJBADoAqwQgAkElOwCpBCACQQQ2AqwEIAJBAToAqAQgAkGoBGoQgAshCQwLCyACQoHKgIAQNwOoBCACQagEahCACyEJDAoLIAJCgcqAgBA3A6gEIAJBqARqEIALIQkMCQsgAkKByoCAgAE3A6gEIAJBqARqEIALIQkMCAsgAkKByoCAgAE3A6gEIAJBqARqEIALIQkMBwsgAkKByoCAgAE3A6gEIAJBqARqEIALIQkMBgsgAkKByoCAEDcDqAQgAkGoBGoQgAshCQwECyACQoHKgIDAADcDqAQgAkGoBGoQgAshCQwDCyACQoHKgIAQNwOoBCACQagEahCACyEJDAILIAJCgcqAgIABNwOoBCACQagEahCACyEJDAELAkACQAJAIAwoAgQiBUEETwRAIAwgBUEEayIBNgIEIAwgDCgCACIDQQRqNgIAAkACQAJAAkAgAQRAIAM1AAAhcSAMIAVBBWsiBDYCBCAMIANBBWoiCzYCACADLQAEIgcOAgMCAQsgAkKByoCAEDcDqAQgAkGoBGoQgAshAQwHC0GR+sMALQAAGkEMQQQQowwiAUUNJiABIAc2AgQgAUGEgICAeDYCAAwGCyABQQVJDQEgDCAFQQlrIgQ2AgQgDCADQQlqIgs2AgAgAygABSEWQQEhBwsgBEEISQ0DIAwgBEEIazYCBCAMIAtBCGo2AgAgCykAACJzQoCAgIAQVA0CIAJBAToAqAQgAiBzNwOwBCACQagEaiACQf8IakG0gMAAELEIIQEMBAsgAkKByoCAwAA3A6gEIAJBqARqEIALIQEMAwsgAkKByoCAwAA3A6gEIAJBqARqEIALIQEMAgsgAkGoBGogAkGsBmoQhAMgAigCrAQhAQJAAkACQCACKAKoBCIEQYCAgIB4aw4CAAECC0EBQcCLwABB3ILAABD3ByEBCyAKBEAgCSEDA0ACQCADKAIARQ0AIANB7AFqKAIAIgQEQCAEEJUCCyADQdwCaigCAEUNACADQeACaigCABCVAgsgA0HwAmohAyAKQQFrIgoNAAsLIAhFBEAgASEJDAgLIAkQlQIgASEJDAcLIAIgAigCsAQ2ArQCIAIgATYCsAIgAiAENgKsAiACIAo2AqACIAIgCTYCnAIgAiAINgKYAiACIBY2ApQCIAIgBzYCkAIgAiBzQiCGIHGENwKkAiACQagEaiEfQQAhAUEAIQRBACEWQQAhCUEAIRhBACEhQgAhckIAIXRBACErQgAhdUEAIRRBACEaQQAhL0EAIR1BACEsQQAhMkEAITFBACE8QQAhNEEAIT5BACE3QQAhOEEAIT9BACFCQQAhOUEAIUNBACE9QQAhQCMAQZACayIOJAACQCACQRBqIgooAgQiCEUEQCAfQQI2AgAMAQsgCiAIQQFrNgIEAkAgCigCACIgKAIEIghBB00EQCAOQoHKgICAATcDyAEgDkHIAWoQgAshCgwBCyAgIAhBCGs2AgRBCCEKICAgICgCACIIQQhqNgIAIA5B+AFqIAgpAAAQxgYgDigC/AEhCCAOKAL4AQRAIAghCgwBCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBB4TAgCCAIQeEwTxsiBwRAQZH6wwAtAAAaIAdBqAFsIgVBCBCjDCIKRQ0BCyAOQQA2AhAgDiAKNgIMIA4gBzYCCCAIRQ0JIA5ByAFqIgVBCGohGSAFQQRqIRcDQAJAAkACQAJAICAoAgQiB0EETwRAICAgB0EEayIFNgIEICAgICgCACIDQQRqNgIAIAMoAAAiEQ4CAgMBCyAOQoHKgIDAADcDyAEgCiEBIA5ByAFqEIALIQoMEgsgDkEBOgDIASAOIBGtNwPQASAKIQEgDkHIAWpBmInAAEHcgsAAELEIIQoMEQsCQAJAIAUEQCAgIAdBBWs2AgQgICADQQVqNgIAIAMtAAQiEg4CBAIBCyAOQoHKgIAQNwPIASAKIQEgDkHIAWoQgAshCgwSC0GR+sMALQAAGkEMQQQQowwiCEUNNSAIIBI2AgQgCEGEgICAeDYCACAKIQEgCCEKDBELIAVBBU8EQCAgIAdBCWs2AgQgICADQQlqNgIAIAMoAAUhFEEBIRIMAgsgDkKByoCAwAA3A8gBIAohASAOQcgBahCACyEKDBALAkACQCAFQQRPBEAgICAHQQhrIgE2AgQgICADQQhqNgIAIAMoAAQhEiAOQQs2AowBIA4gIDYCiAEgAUEESQ0BICAgB0EMazYCBCAgIANBDGo2AgBBASEaAkACQAJAIAMoAAgiAQ4CAQIACyAOQQE6AMgBIA4gAa03A9ABIA5ByAFqQZiJwABB3ILAABCxCCEKDBMLQQAhGgsgDkHIAWogDkGIAWoQ+AIgDigCzAEhCSAOKALIAQRAIAkhCiAOKAIQIRYMEgsgCUUEQEEBQcCJwABB3ILAABD3ByEKIA4oAhAhFgwSCyAOIA4oAtABIjE2ApQBIA4gCTYCkAECQAJAIA4oAowBIhsEQCAOIBtBAWsiATYCjAECQAJAAkACQAJAAkAgDigCiAEiFSgCBCIFQQRPBEAgFSAFQQRrIgQ2AgQgFSAVKAIAIgdBBGo2AgAgBygAACIQDgMCAwQBCyAOQoHKgIDAADcDyAEgDkHIAWoQgAshAQwZCyAOQQE6AMgBIA4gEK03A9ABIA5ByAFqQfCMwABB3ILAABCxCCEBDBgLIARBBE8EQCAVIAVBCGs2AgQgFSAHQQhqNgIAIAcoAAQhIwwDCyAOQQA6AMsBIA5BJTsAyQEgDkEENgLMASAOQQE6AMgBIA5ByAFqEIALIQEMFwsgBEEETwRAIBUgBUEIazYCBCAVIAdBCGo2AgAgBygABCEjDAILIA5BADoAywEgDkElOwDJASAOQQQ2AswBIA5BAToAyAEgDkHIAWoQgAshAQwWCyAOQcgBaiAVEI4CIA4oAsgBDQFBkfrDAC0AABpBLEEEEKMMIiNFDQsgIyAXKQIANwIAICNBKGogF0EoaigCADYCACAjQSBqIBdBIGopAgA3AgAgI0EYaiAXQRhqKQIANwIAICNBEGogF0EQaikCADcCACAjQQhqIBdBCGopAgA3AgALIAFFDQIgDiAbQQJrIgE2AowBIBUoAgQiBUEDSw0DIA5CgcqAgMAANwPIASAOQcgBahCACyEBDBMLIA4oAswBIQEMEwtBAkHAicAAQdyCwAAQ9wchAQwSC0EDQcCJwABB3ILAABD3ByEBDBALIBUgBUEEayIENgIEIBUgFSgCACIDQQRqNgIAIAFFDQggAygAACE8IA4gG0EDayIHNgKMAQJAAkACQCAEBEAgFSAFQQVrNgIEIBUgA0EFajYCACADLQAEIhQOAgMCAQsgDkKByoCAEDcDyAEgDkHIAWoQgAshAQwSC0GR+sMALQAAGkEMQQQQowwiAUUNOCABIBQ2AgQgAUGEgICAeDYCAAwRCyAEQQVJDQggFSAFQQlrIgE2AgQgFSADQQlqNgIAIAFBBEkEQCAOQoHKgIDAADcDyAEgDkHIAWoQgAshAQwRCyADKAAFITQgFSAFQQ1rNgIEIBUgA0ENajYCACADKAAJIT4gDkHIAWogFRDoAyAOKALMASEBIA4oAsgBDRAgDkH4AWoiBEEQaiAZQRBqKQIANwMAIARBCGogGUEIaikCADcDACAOIBkpAgA3A/gBQQEhFAsgDkGYAWoiBUEQaiIcIA5B+AFqIgRBEGopAwA3AwAgBUEIaiINIARBCGopAwA3AwAgDiAOKQP4ATcDmAECQCAHBEAgDiAbQQRrIgc2AowBIA5ByAFqIBUQ6AMgDigCzAEhBCAOKALIAUUNASAEIQEMEQtBBUHAicAAQdyCwAAQ9wchAQwQCyAOQbABaiIFQRBqIgsgGUEQaikCADcDACAFQQhqIgMgGUEIaikCADcDACAOIBkpAgA3A7ABAkAgBwRAIA4gG0EFayIHNgKMASAVKAIEIiJBA00EQCAOQQA6AMsBIA5BJTsAyQEgDkEENgLMASAOQQE6AMgBIA5ByAFqEIALIQEMEgsgFSAiQQRrIgU2AgQgFSAVKAIAIh5BBGo2AgAgBUEDTQRAIA5BADoAywEgDkElOwDJASAOQQQ2AswBIA5BAToAyAEgDkHIAWoQgAshAQwSCyAeKAAAITcgFSAiQQhrIgU2AgQgFSAeQQhqNgIAIAVBBEkNCyAeKAAEITggFSAiQQxrIgU2AgQgFSAeQQxqNgIAIB4oAAgiIUEETwRAIA5BAToAyAEgDiAhrTcD0AEgDkHIAWpBkI3AAEHcgsAAELEIIQEMEgsgBUEESQ0MIBUgIkEQayIFNgIEIBUgHkEQajYCACAeKAAMIi9BBEkNASAOQQE6AMgBIA4gL603A9ABIA5ByAFqQZCNwABB3ILAABCxCCEBDBELQQZBwInAAEHcgsAAEPcHIQEMEAsCQCAHBEAgDiAbQQZrIgc2AowBIAVBAU0EQCAOQoHKgIAgNwPIASAOQcgBahCACyEBDBILIBUgIkESayIFNgIEIBUgHkESajYCACAFQQRJDQ0gHi8AECEdIBUgIkEWayIFNgIEIBUgHkEWajYCACAFQQRJBEAgDkKByoCAwAA3A8gBIA5ByAFqEIALIQEMEgsgHigAEiE/IBUgIkEaayIFNgIEIBUgHkEaajYCACAFQQRJDQ4gHigAFiFCIBUgIkEeayIFNgIEIBUgHkEeajYCACAFQQRJBEAgDkKByoCAwAA3A8gBIA5ByAFqEIALIQEMEgsgHigAGiE5IBUgIkEiayIFNgIEIBUgHkEiajYCACAFQQNNBEAgDkKByoCAwAA3A8gBIA5ByAFqEIALIQEMEgsgHigAHiFDIBUgIkEmayIFNgIEIBUgHkEmajYCACAFQQNNBEAgDkKByoCAwAA3A8gBIA5ByAFqEIALIQEMEgsgHigAIiE9IBUgIkEqayIFNgIEIBUgHkEqajYCACAFQQRJDQ8gHigAJiFAIBUgIkEuayIFNgIEIBUgHkEuajYCACAeKAAqIhhBA0kNASAOQQE6AMgBIA4gGK03A9ABIA5ByAFqQfCMwABB3ILAABCxCCEBDBELQQdBwInAAEHcgsAAEPcHIQEMEAsCQCAHBEAgDiAbQQdrIgc2AowBIAVBA0sNASAOQoHKgIDAADcDyAEgDkHIAWoQgAshAQwRC0EIQcCJwABB3ILAABD3ByEBDBALIBUgIkEyayIFNgIEIBUgHkEyajYCAAJAIAcEQCAeKAAuISsgDiAbQQhrIgc2AowBIAVBA0sNASAOQQA6AMsBIA5BJTsAyQEgDkEENgLMASAOQQE6AMgBIA5ByAFqEIALIQEMEQtBCUHAicAAQdyCwAAQ9wchAQwQCyAVICJBNmsiBTYCBCAVIB5BNmo2AgACQCAHBEAgHigAMiEsIA4gG0EJayIHNgKMASAFQQNLDQEgDkEAOgDLASAOQSU7AMkBIA5BBDYCzAEgDkEBOgDIASAOQcgBahCACyEBDBELQQpBwInAAEHcgsAAEPcHIQEMEAsgFSAiQTprIgU2AgQgFSAeQTpqNgIAIAcEQCAeKAA2ITIgDiAbQQprNgKMASAFQQ9LDQMgDkKByoCAgAI3A8gBIA5ByAFqEIALIQEMEAtBC0HAicAAQdyCwAAQ9wchAQwPCyAOQoHKgIDAADcDyAEgCiEBIA5ByAFqEIALIQoMEQsgDkKByoCAwAA3A8gBIA5ByAFqEIALIQoMDwsgHkHGAGo1AAAhcyAeNQA6IXEgHikAPiF2IBUgIkHKAGs2AgQgFSAeQcoAajYCACAOQegAaiIFQQhqIA0pAwA3AwAgBUEQaiAcKQMANwMAIA5B0ABqIgVBCGogAykDADcDACAFQRBqIAspAwA3AwAgDiAOKQOYATcDaCAOIA4pA7ABNwNQIA5BzgBqIA5BhwFqLQAAOgAAIA4gDi8AhQE7AUwgc0IghiB2QiCIhCFyIHEgdkIghoQhdCAQrSAjrUIghoQhdQsgDkEwaiIHQRBqIhwgDkHoAGoiBUEQaikDADcDACAHQQhqIg0gBUEIaikDADcDACAOQRhqIgdBCGoiCyAOQdAAaiIFQQhqKQMANwMAIAdBEGoiAyAFQRBqKQMANwMAIA5BFmoiByAOQc4Aai0AADoAACAOIA4pA2g3AzAgDiAOKQNQNwMYIA4gDi8BTDsBFCAOKAIIIBZGBEAgDkEIaiEjIwBBIGsiGyQAIBZBAWoiBUUNOkEEICMoAgAiEEEBdCIKIAUgBSAKSRsiCiAKQQRNGyIWQagBbCEFIBZBsZiMBklBA3QhCgJAIBBFBEAgG0EANgIYDAELIBtBCDYCGCAbIBBBqAFsNgIcIBsgIygCBDYCFAsgG0EIaiAKIAUgG0EUahDhBiAbKAIMIQoCQCAbKAIIRQRAICMgFjYCACAjIAo2AgQMAQsgCkGBgICAeEYNACAKRQ07IAogG0EQaigCAEHYgMQAKAIAIgBBowcgABsRAAAACyAbQSBqJAAgDigCECEWIA4oAgwhCgsgCiAWQagBbGoiBSABNgIUIAUgPjYCECAFIDQ2AgwgBSAUNgIIIAUgEjYCBCAFIBE2AgAgHCkDACF2IA0pAwAhcyAOKQMwIXEgBUHIAGogcjcDACAFIHQ3A0AgBSBxNwMYIAVBIGogczcDACAFQShqIHY3AwAgBSAENgJ8IAUgPDYCeCAFIC86AHUgBSAhOgB0IAUgODYCcCAFIDc2AmwgBSAYOgBqIAUgHTsBaCAFIEA2AmQgBSA9NgJgIAUgQzYCXCAFIDk2AlggBSBCNgJUIAUgPzYCUCAFIDE2AjwgBSAJNgI4IAUgdTcDMCALKQMAIXQgAykDACFyIA4pAxghdSAFIBo6AKQBIAVBkAFqIHI3AwAgBUGIAWogdDcDACAFIHU3A4ABIAUgKzYCmAEgBSAsNgKcASAFIDI2AqABIAUgDi8BFDsApQEgBUGnAWogBy0AADoAACAOIBZBAWoiFjYCECAIQQFrIggNAAsgDigCDCEKIA4oAggiB0GCgICAeEgNDgwJC0EIIAVB2IDEACgCACIAQaMHIAAbEQAAAAtBBEEsQdiAxAAoAgAiAEGjByAAGxEAAAALIA5CgcqAgMAANwPIASAOQcgBahCACyEBDAcLQQRBwInAAEHcgsAAEPcHIQEMBgsgDkKByoCAwAA3A8gBIA5ByAFqEIALIQEMBQsgDkKByoCAwAA3A8gBIA5ByAFqEIALIQEMBAsgDkKByoCAwAA3A8gBIA5ByAFqEIALIQEMAwsgDkKByoCAwAA3A8gBIA5ByAFqEIALIQEMAgsgDkKByoCAwAA3A8gBIA5ByAFqEIALIQEMAQsCQAJAAkAgICgCBCIFQQRPBEAgICAFQQRrIgg2AgQgICAgKAIAIgNBBGo2AgACQAJAAkACQCAIBEAgAzUAACFxICAgBUEFayIENgIEICAgA0EFaiIJNgIAIAMtAAQiAQ4CAwIBCyAOQoHKgIAQNwPIASAOQcgBahCACyEIDAcLQZH6wwAtAAAaQQxBBBCjDCIIRQ0uIAggATYCBCAIQYSAgIB4NgIADAYLIAhBBUkNASAgIAVBCWsiBDYCBCAgIANBCWoiCTYCACADKAAFIRpBASEBCyAEQQhJDQMgICAEQQhrNgIEICAgCUEIajYCACAJKQAAInNCgICAgBBUDQIgDkEBOgDIASAOIHM3A9ABIA5ByAFqIA5B+AFqQbSAwAAQsQghCAwECyAOQoHKgIDAADcDyAEgDkHIAWoQgAshCAwDCyAOQoHKgIDAADcDyAEgDkHIAWoQgAshCAwCCyAOQcgBaiAgEK8DIA4oAswBIQQCQAJAIA4oAsgBIgNBgICAgHhGBEAgBCEIDAELIA4oAtABIQUgDkHIAWogIBCvAyAOKALMASEIIA4oAsgBIglBgICAgHhHDQEgA0UNACAEEJUCCyAWBEAgCkE4aiEBA0ACQCABQThrKAIARQ0AIAEoAgAiBCgCACEJIAQgCUEBazYCACAJQQFGBEAgARCiCAsgAUEIaygCAEECSQ0AIAFBBGsoAgAQlQILIAFBqAFqIQEgFkEBayIWDQALCyAHBEAgChCVAgsgCCEKDAcLIB8gDigC0AE2AjAgHyAINgIsIB8gCTYCKCAfIAU2AiQgHyAENgIgIB8gAzYCHCAfIHNCIIYgcYQ3AhQgHyAWNgIQIB8gCjYCDCAfIAc2AgggHyAaNgIEIB8gATYCAAwHCyAOQoHKgICAATcDyAEgDkHIAWoQgAshCAsgFgRAIApBOGohAQNAAkAgAUE4aygCAEUNACABKAIAIgQoAgAhCSAEIAlBAWs2AgAgCUEBRgRAIAEQoggLIAFBCGsoAgBBAkkNACABQQRrKAIAEJUCCyABQagBaiEBIBZBAWsiFg0ACwsgBwRAIAoQlQILIAghCgwECyAQQQJJDQAgIxCVAgsgCSAJKAIAIghBAWs2AgAgCEEBRgRAIA5BkAFqEKIICyABIQogDigCECEWCyAOKAIMIQELIBYEQCABQThqIQEDQAJAIAFBOGsoAgBFDQAgASgCACIIKAIAIQQgCCAEQQFrNgIAIARBAUYEQCABEKIICyABQQhrKAIAQQJJDQAgAUEEaygCABCVAgsgAUGoAWohASAWQQFrIhYNAAsLIA4oAghFDQAgDigCDBCVAgsgH0EDNgIAIB8gCjYCBAsgDkGQAmokAAJAAkACfyACKAKoBCIHQQNHBEAgAkH4AmoiBSACQagEaiIDQRBqKQIANwMAIAJB8AJqIgFBEGoiCSADQRhqKQIANwMAIAFBGGoiBCADQSBqKQIANwMAIAFBIGoiCiADQShqKQIANwMAIAFBKGoiCCADQTBqKAIANgIAIAIgAikCsAQ3A/ACIAdBAkcNAkEGQdS5wABB3ILAABD3BwwBCyACKAKsBAshASAzQQI2AgAgMyABNgIEDAELIAIoAqwEIQEgAkG4AmoiA0EwaiAIKAIANgIAIANBKGogCikDADcCACADQSBqIAQpAwA3AgAgA0EYaiAJKQMANwIAIANBEGogBSkDADcCACACIAIpA/ACNwLAAiACIAE2ArwCIAIgBzYCuAIgAkGoBGohKkEAIRFBACEXQQAhFEEAIRojAEGgCmsiDyQAAkAgAkEQaiIIKAIEIgFFBEAgKkECNgIADAELIAggAUEBazYCBCAIKAIAIQggD0EDNgIIIA8gCDYCBAJAIAgoAgQiAUEHTQRAIA9CgcqAgIABNwOgBSAPQaAFahCACyEKDAELIAggAUEIayIJNgIEIAggCCgCACIBQQhqIgU2AgAgD0HgB2ogASkAABDGBiAPKALkByEKIA8oAuAHDQACQEGAgAggCiAKQYCACE8bIhJFBEBBBCELDAELQZH6wwAtAAAaIBJBA3QiAUEEEKMMIgtFDSYLIA9BADYCqAUgDyALNgKkBSAPIBI2AqAFAkACQAJAIAoEQANAIAlBBEkNBCAIIAlBBGsiBDYCBCAIIAVBBGoiATYCACAEQQRJDQQgBSgAACEHIAggBEEEayIJNgIEIAggAUEEaiIFNgIAIAEoAAAhBCAPKAKgBSARRgRAIA9BoAVqIBEQsAYgDygCqAUhESAPKAKkBSELCyALIBFBA3RqIgEgBDYCBCABIAc2AgAgDyARQQFqIhE2AqgFIApBAWsiCg0ACyAPKAKkBSELIA8oAqAFIhJBgoCAgHhIBEAgCyEKDAULIA8oAggiCgRAIA8oAgQhCAwCC0EBQZSPwABB3ILAABD3ByEKDAILQQMhCgsgDyAKQQFrNgIIIAgoAgQiAUEHTQRAIA9CgcqAgIABNwOgBSAPQaAFahCACyEKDAELIAggAUEIayIFNgIEIAggCCgCACIBQQhqIgk2AgAgD0HgB2ogASkAABDGBiAPKALkByEKIA8oAuAHDQACQEHVqgUgCiAKQdWqBU8bIgRFBEBBBCEHDAELQZH6wwAtAAAaIARBDGwiAUEEEKMMIgdFDSgLIA9BADYC6AcgDyAHNgLkByAPIAQ2AuAHIAoEQANAAkACQAJAIAVBBE8EQCAIIAVBBGsiFjYCBCAIIAlBBGo2AgACQAJAAkAgCSgAACINDgIBAgALIA9BAToAoAUgDyANrTcDqAUgD0GgBWpBmInAAEHcgsAAELEIIQoMAwsCQAJAIBYEQCAIIAVBBWsiAzYCBCAIIAlBBWoiBDYCACAJLQAEIgEOAgcCAQsgD0KByoCAEDcDoAUgD0GgBWoQgAshCgwEC0GR+sMALQAAGkEMQQQQowwiCkUNLiAKIAE2AgQgCkGEgICAeDYCAAwDCyAWQQRLBEBBASEBQXchA0EJIRogBCEWDAQLIA9CgcqAgMAANwOgBSAPQaAFahCACyEKDAILAkAgFkEETwRAIAggBUEIayIBNgIEIAggCUEIaiIWNgIAIAFBBEkNASAJKAAEIQFBdCEDQQwhGgwECyAPQoHKgIDAADcDoAUgD0GgBWoQgAshCgwCCyAPQoHKgIDAADcDoAUgD0GgBWoQgAshCgwBCyAPQoHKgIDAADcDoAUgD0GgBWoQgAshCgsgDygC4AdFDQQgDygC5AcQlQIMBAsgCCADIAVqIgM2AgQgCCAJIBpqIgQ2AgAgFigAACEaCyAPKALgByAXRgRAIA9B4AdqIBcQsgYgDygC6AchFyAPKALkByEHCyAHIBdBDGxqIgkgGjYCCCAJIAE2AgQgCSANNgIAIA8gF0EBaiIXNgLoByADIQUgBCEJIApBAWsiCg0ACyAPKALkByEHIA8oAuAHIgRBgoCAgHhIBEAgByEKDAILIAgoAgQhBQsCQAJAAkACQAJAAkACQAJAAkACQAJAIAVBBE8EQCAIIAVBBGsiCjYCBCAIIAgoAgAiCUEEajYCAAJAAkACQAJAIAoEQCAJKAAAISkgCCAFQQVrIhY2AgQgCCAJQQVqIgE2AgAgCS0ABCIDDgIDAgELIA9CgcqAgBA3A6AFIA9BoAVqEIALIQoMDwtBkfrDAC0AABpBDEEEEKMMIgpFDTUgCiADNgIEIApBhICAgHg2AgAMDgsgCkEFSQ0BIAggBUEJayIWNgIEIAggCUEJaiIBNgIAIAkoAAUhGkEBIQMLIBZBCEkNAyAIIBZBCGs2AgQgCCABQQhqNgIAIAEpAAAicUKAgICAEFQNAiAPQQE6AKAFIA8gcTcDqAUgD0GgBWogD0HgB2pBtIDAABCxCCEKDAwLIA9CgcqAgMAANwOgBSAPQaAFahCACyEKDAsLIA9CgcqAgMAANwOgBSAPQaAFahCACyEKDAoLIA8oAggiAUUNBCAPIAFBAWs2AgggDygCBCEBIA9BAjYCECAPIAE2AgwgD0GgBWogD0EMahCjAiAPKAKkBSEKAkACQCAPKAKgBSJEQYCAgIB4aw4CAAoBC0EAQfCKwABB3ILAABD3ByEKDAkLAkACQCAPKAIQIgEEQCAPKAKoBSEtIA8gAUEBazYCECAPKAIMIiQoAgQiAUEHTQRAIA9CgcqAgIABNwOgBSAPQaAFahCACyEBDAsLICQgAUEIazYCBEEIIQkgJCAkKAIAIgFBCGo2AgAgD0HgB2ogASkAABDGBiAPKALkByEIIA8oAuAHBEAgCCEBDAsLQaoVIAggCEGqFU8bIgUEQEGR+sMALQAAGiAFQYADbCIBQQgQowwiCUUNOQsgD0EANgIcIA8gCTYCGCAPIAU2AhQgCEUNAiAPQaAFakEEciEmA0AgDyAkNgKYBSAkKAIEIgVBBEkNBSAkIAVBBGsiATYCBCAkICQoAgAiDUEEajYCACABQQRJBEAgD0KByoCAwAA3A6AFIA9BoAVqEIALIQEMCwsgDSgAACElICQgBUEIayIBNgIEICQgDUEIajYCACAPQQM2ApwFIAFBBEkNBiANKAAEIQ4gJCAFQQxrIgE2AgQgJCANQQxqNgIAIAFBBEkEQCAPQoHKgIDAADcDoAUgD0GgBWoQgAshAQwLCyANKAAIIRUgJCAFQRBrNgIEICQgDUEQajYCACANKAAMIR4gD0GgBWogD0GYBWoQPCAPKAKgBSEBIA8tAN0HIgxBA0YNCiAPQeAHaiAmQbkCEKMNGiAMQQJGBEBBAkG0jsAAQdyCwAAQ9wchAQwLCwJAIA8oApwFIg0EQAJAIA8oApgFIhAoAgQiFkEESQ0AIA8vAd4HISAgECgCACEcIBAgFkEEayIFNgIEIBAgHEEEajYCACAFQQRJDQAgHCgAACEdIBAgFkEIayIFNgIEIBAgHEEIajYCACAFQQRJDQAgHCgABCEiIBAgFkEMayIFNgIEIBAgHEEMajYCACAFQQRJDQAgHCgACCEfIBAgFkEQayIFNgIEIBAgHEEQajYCACAFQQRJDQAgHCgADCEbIBAgFkEUayIFNgIEIBAgHEEUajYCACAFQQNLDQILIA9BADoAowUgD0ElOwChBSAPQQQ2AqQFIA9BAToAoAUgD0GgBWoQgAshAQwMC0EDQbSOwABB3ILAABD3ByEBDAsLIBwoABAhGSAQIBZBGGsiBTYCBCAQIBxBGGo2AgACQCANQQFHBEAgBUEESQ0JIBwoABQhGCAQIBZBHGsiBTYCBCAQIBxBHGo2AgAgBUEETw0BIA9CgcqAgMAANwOgBSAPQaAFahCACyEBDAwLQQRBtI7AAEHcgsAAEPcHIQEMCwsgHCgAGCEjIBAgFkEgazYCBCAQIBxBIGo2AgAgHCgAHCEQIA9B3AJqIA9B4AdqQbkCEKMNGiAkKAIEIi5BA00EQCAPQoHKgIDAADcDoAUgD0GgBWoQgAshAQwLCyAkIC5BBGsiBTYCBCAkICQoAgAiOkEEajYCACAFQQNNBEAgD0KByoCAwAA3A6AFIA9BoAVqEIALIQEMCwsgOigAACEcICQgLkEIayIFNgIEICQgOkEIajYCACAFQQNNBEAgD0KByoCAwAA3A6AFIA9BoAVqEIALIQEMCwsgOigABCEWICQgLkEMayIFNgIEICQgOkEMajYCACAFQQNNBEAgD0KByoCAwAA3A6AFIA9BoAVqEIALIQEMCwsgOigACCENICQgLkEQazYCBCAkIDpBEGo2AgAgOigADCEFIA9BIGogD0HcAmpBuQIQow0aIA8oAhQgFEYEQCAPQRRqIBQQtwYgDygCHCEUIA8oAhghCQsgCSAUQYADbGoiLiABNgJAIC4gEDYCPCAuICM2AjggLiAYNgI0IC4gGTYCMCAuIBs2AiwgLiAfNgIoIC4gIjYCJCAuIB02AiAgLiAeNgIcIC4gFTYCGCAuIA42AhQgLiAlNgIQIC4gBTYCDCAuIA02AgggLiAWNgIEIC4gHDYCACAuQcQAaiAPQSBqQbkCEKMNGiAuICA7Af4CIC4gDDoA/QIgDyAUQQFqIhQ2AhwgCEEBayIIDQALIA8oAhghCSAPKAIUIgVBgoCAgHhODQEgCSEBDAoLQQFB8IrAAEHcgsAAEPcHIQEMCQsgREGCgICAeEgNCQsgD0GgBWogD0EEahCEAyAPKAKkBSEIAkACQCAPKAKgBSIBQYCAgIB4aw4CAAEHC0EDQZSPwABB3ILAABD3ByEICyBEBEAgChCVAgsgBQRAIAkQlQILIAghCgwICyAPQoHKgICAATcDoAUgD0GgBWoQgAshCgwICyAPQoHKgIDAADcDoAUgD0GgBWoQgAshAQwECyAPQoHKgIDAADcDoAUgD0GgBWoQgAshAQwDCyAPQoHKgIDAADcDoAUgD0GgBWoQgAshAQwCC0ECQZSPwABB3ILAABD3ByEKDAMLICogDygCqAU2AkggKiAINgJEICogATYCQCAqIBQ2AjwgKiAJNgI4ICogBTYCNCAqIC02AjAgKiAKNgIsICogRDYCKCAqIBE2AiQgKiALNgIgICogEjYCHCAqIHE+AhggKiApNgIUICogFzYCECAqIAc2AgwgKiAENgIIICogGjYCBCAqIAM2AgAMBwsgDygCFEUNACAPKAIYEJUCCyBEBEAgChCVAgsgASEKCyAERQ0BIAcQlQIMAQsgBEUNACAHEJUCCyASRQ0BIAsQlQIMAQsgD0KByoCAwAA3A+AHIA9B4AdqEIALIQogDygCoAVFDQAgDygCpAUQlQILICpBAzYCACAqIAo2AgQLIA9BoApqJAACQAJAAn8gAigCqAQiCEEDRwRAIAIoAqwEIQEgAkGgA2ogAkGwBGpBxAAQow0aIAhBAkcNAkEHQdS5wABB3ILAABD3BwwBCyACKAKsBAshASAzQQI2AgAgMyABNgIEDAELIAJB2AVqIAJBoANqQcQAEKMNGiACIAE2AtQFIAIgCDYC0AUgAkGoBGohJEEAIQRBACEIQQAhCUEAIR1BACEHQQAhRkEAIRxBACELQQAhR0EAISNBACERQQAhNEEAISxBACFFQQAhF0EAIRZBACENQQAhFEEAITJBACE+QQAhN0EAITFBACEaQgAhckIAIXRBACESQQAhOEEAIRhCACF1QgAhd0EAIT9CACF5QQAhQkEAITlBACFDQQAhPUEAIUtBACFMQQAhQEEAITZBACFBQQAhSEEAIUlBACFNQQAhTiMAQfAOayIGJAACQCACQRBqIgooAgQiAUUEQCAkQQI2AgAMAQsgCiABQQFrNgIEIAooAgAhDyAGQQM2AgQgBiAPNgIAAkAgDygCBCIBQQdNBEAgBkKByoCAgAE3A/AJIAZB8AlqEIALIQoMAQsgDyABQQhrNgIEIA8gDygCACIBQQhqNgIAIAZBsAxqIAEpAAAQxgYgBigCtAwhECAGKAKwDARAIBAhCgwBC0EEIQNB1x0gECAQQdcdTxsiKwRAQZH6wwAtAAAaICtBlAJsIgpBBBCjDCIDRQ0qCyAGQQA2AhAgBiADNgIMIAYgKzYCCAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgEARAIAZB8AlqIgFBHGohOiABQQhqISogAUEEciEuA0ACQAJAAkACQCAPKAIEIgNBBE8EQCAPIANBBGsiBTYCBCAPIA8oAgAiGUEEajYCACAZKAAAIgEOAgIDAQsgBkKByoCAwAA3A/AJIAZB8AlqEIALIQoMEwsgBkEBOgDwCSAGIAGtNwP4CSAGQfAJakGYicAAQdyCwAAQsQghCgwSCwJAAkAgBQRAIA8gA0EFazYCBCAPIBlBBWo2AgBBgICAgHghK0EAIQogGS0ABCIBDgIEAgELIAZCgcqAgBA3A/AJIAZB8AlqEIALIQoMEwtBkfrDAC0AABpBDEEEEKMMIgpFDTggCiABNgIEIApBhICAgHg2AgAMEgsgBUEFTwRAIA8gA0EJazYCBCAPIBlBCWo2AgAgGSgABSEsQQEhCgwCCyAGQoHKgIDAADcD8AkgBkHwCWoQgAshCgwRCwJAIAVBBE8EQCAPIANBCGsiATYCBCAPIBlBCGo2AgAgGSgABCE5IAZBDzYCnAMgBiAPNgKYAyABQQdNBEAgBkKByoCAgAE3A/AJIAZB8AlqEIALIQoMEwsgDyADQRBrNgIEIA8gGUEQajYCACAGQbAMaiAZKQAIEMYGIAYoArQMIQkgBigCsAwEQCAJIQoMEwsCQEHkECAJIAlB5BBPGyIrRQRAQQghCgwBC0GR+sMALQAAGiArQegDbCIBQQgQowwiCkUNPgsgBkEANgKEBCAGIAo2AoAEIAYgKzYC/AMCQAJAAkACQAJAAkACQCAJBEBBACEsA0AgDygCBCIIQQhJDQIgDyAIQQhrIgE2AgQgDyAPKAIAIgRBCGo2AgAgBCkAACJ7QoCAgIAQWgRAIAZBAToA8AkgBiB7NwP4CSAGQfAJaiAGQegJakG0gMAAELEIIQUMGwsgAUEISQ0DIA8gCEEQayIBNgIEIA8gBEEQajYCACAEKQAIInxCgICAgBBaBEAgBkEBOgDwCSAGIHw3A/gJIAZB8AlqIAZB6AlqQbSAwAAQsQghBQwbCyABQQhJDQQgDyAIQRhrIgE2AgQgDyAEQRhqNgIAIAQpABAidUKAgICAEFoEQCAGQQE6APAJIAYgdTcD+AkgBkHwCWogBkHoCWpBtIDAABCxCCEFDBsLIAFBBEkNBSAPIAhBHGsiATYCBCAPIARBHGo2AgAgAUEESQRAIAZCgcqAgMAANwPwCSAGQfAJahCACyEFDBsLIAQoABghDCAPIAhBIGs2AgQgDyAEQSBqNgIAIAQoABwhKSAGIA82AugJIAZBAzYC7AkgBkHwCWogBkHoCWoQPCAGKALwCSEFIAYtAK0MIkRBA0YNGiAGQbAMaiAuQbkCEKMNGiBEQQJGBEBBAEHkjsAAQdyCwAAQ9wchBQwbCwJAIAYoAuwJIggEQAJAIAYoAugJIgMoAgQiBEEESQ0AIAYvAa4MIS0gAygCACEHIAMgBEEEayIBNgIEIAMgB0EEajYCACABQQRJDQAgBygAACEmIAMgBEEIayIBNgIEIAMgB0EIajYCACABQQRJDQAgBygABCElIAMgBEEMayIBNgIEIAMgB0EMajYCACABQQRJDQAgBygACCEOIAMgBEEQayIBNgIEIAMgB0EQajYCACABQQRJDQAgBygADCEVIAMgBEEUayIBNgIEIAMgB0EUajYCACABQQNLDQILIAZBADoA8wkgBkElOwDxCSAGQQQ2AvQJIAZBAToA8AkgBkHwCWoQgAshBQwcC0EBQeSOwABB3ILAABD3ByEFDBsLIAcoABAhHiADIARBGGsiATYCBCADIAdBGGo2AgACQCAIQQFHBEACQCABQQRJDQAgBygAFCEgIAMgBEEcayIBNgIEIAMgB0EcajYCACABQQRJDQAgBygAGCEdIAMgBEEgayIBNgIEIAMgB0EgajYCACABQQRJDQAgBygAHCEiIAMgBEEkayIBNgIEIAMgB0EkajYCACABQQNLDQILIAZBADoA8wkgBkElOwDxCSAGQQQ2AvQJIAZBAToA8AkgBkHwCWoQgAshBQwcC0ECQeSOwABB3ILAABD3ByEFDBsLIAcoACAhHyADIARBKGs2AgQgAyAHQShqNgIAIAcoACQhGyAGQfgGaiAGQbAMakG5AhCjDRogBkHwCWogDxDoAyAGKAL0CSEIIAYoAvAJDQYgBkG4CWoiAUEQaiIZICpBEGoiAykCADcDACABQQhqIhggKkEIaiIHKQIANwMAIAYgKikCADcDuAkgBkHwCWogDxDoAyAGKAL0CSEBIAYoAvAJDQcgBkHQCWoiBEEQaiIXIAMpAgA3AwAgBEEIaiIRIAcpAgA3AwAgBiAqKQIANwPQCQJAAkAgDygCBCIHQQRJDQAgDygCACEDIA8gB0EEayIENgIEIA8gA0EEajYCACAEQQRJDQAgAygAACESIA8gB0EIayIENgIEIA8gA0EIajYCACAEQQRPDQELIAZBADoA8wkgBkElOwDxCSAGQQQ2AvQJIAZBAToA8AkgBkHwCWoQgAshBQwbCyADNQAEIXogDyAHQQxrIgQ2AgQgDyADQQxqNgIAAkACQCAEQQRJDQAgAzUACCFyIA8gB0EQayIENgIEIA8gA0EQajYCACAEQQRJDQAgAygADCEUIA8gB0EUayIENgIEIA8gA0EUajYCACAEQQNLDQELIAZBADoA8wkgBkElOwDxCSAGQQQ2AvQJIAZBAToA8AkgBkHwCWoQgAshBQwbCyADNQAQIXggDyAHQRhrIgQ2AgQgDyADQRhqNgIAIARBBEkNCCADNQAUIXYgDyAHQRxrIgQ2AgQgDyADQRxqNgIAIARBBEkNCCADKAAYIRogDyAHQSBrIgQ2AgQgDyADQSBqNgIAIARBBEkNCCADNQAcIXMgDyAHQSRrIgQ2AgQgDyADQSRqNgIAAkACQCAEQQRJDQAgAzUAICFxIA8gB0EoayIENgIEIA8gA0EoajYCACAEQQRJDQAgAygAJCEjIA8gB0EsayIENgIEIA8gA0EsajYCACAEQQRPDQELIAZBADoA8wkgBkElOwDxCSAGQQQ2AvQJIAZBAToA8AkgBkHwCWoQgAshBQwbCyB7pyEcIHynIRYgdachDSByQiCGIHqEIXIgdkIghiB4hCF4IHFCIIYgc4QhdiADNQAoIXMgDyAHQTBrNgIEIA8gA0EwajYCACADNQAsIXEgBkG4BGogBkH4BmpBuQIQow0aIAZBoARqIgRBEGoiCyAZKQMANwMAIARBCGoiAyAYKQMANwMAIAZBiARqIgRBCGoiByARKQMANwMAIARBEGoiBCAXKQMANwMAIAYgBikDuAk3A6AEIAYgBikD0Ak3A4gEIHMgcUIghoQhcSAGKAL8AyAsRgRAIAZB/ANqICwQuQYgBigChAQhLCAGKAKABCEKCyAKICxB6ANsaiIRIAU2AkggESAgNgJEIBEgHjYCQCARIBU2AjwgESAONgI4IBEgJTYCNCARICY2AjAgESAbNgIsIBEgHzYCKCARICI2AiQgESAdNgIgIBEgcTcDGCARICM2AhQgESB2NwIMIBEgGjYCCCARICk2AgQgESAMNgIAIBFBzABqIAZBuARqQbkCEKMNGiARIAg2ApQDIBEgDTYCkAMgESAWNgKMAyARIBw2AogDIBEgLTsBhgMgESBEOgCFAyARIAYpA6AENwOYAyARQaADaiADKQMANwMAIBFBqANqIAspAwA3AwAgESABNgKwAyARIAYpA4gENwK0AyARQbwDaiAHKQMANwIAIBFBxANqIAQpAwA3AgAgESB4NwLcAyARIBQ2AtgDIBEgcjcD0AMgESASNgLMAyAGICxBAWoiLDYChAQgCUEBayIJDQALIAYoAoAEIQogBigC/AMiK0GCgICAeEgNGgwJC0EAISwMCAsgBkKByoCAgAE3A/AJIAZB8AlqEIALIQUMFwsgBkKByoCAgAE3A/AJIAZB8AlqEIALIQUMFgsgBkKByoCAgAE3A/AJIAZB8AlqEIALIQUMFQsgBkKByoCAwAA3A/AJIAZB8AlqEIALIQUMFAsgCCEFDBMLIAEhBQwSCyAGQQA6APMJIAZBJTsA8QkgBkEENgL0CSAGQQE6APAJIAZB8AlqEIALIQUMEQsgBkKByoCAwAA3A/AJIAZB8AlqEIALIQoMEQsgBkHwCWogBkGYA2oQzwIgBigC9AkhFAJAAkACQAJAAkACQAJAAkACQCAGKALwCSIjQYCAgIB4aw4CAAIBC0EBQeCNwABB3ILAABD3ByEIDBYLIAYpAvgJIXQgBkHwCWogBkGYA2oQzwIgBigC9AkhGgJAAkACQCAGKALwCSI0QYCAgIB4aw4CAAIBC0ECQeCNwABB3ILAABD3ByEIDBYLIAYpAvgJIXUgBkHwCWogBkGYA2oQzwIgBigC9AkhGAJAAkACQCAGKALwCSIRQYCAgIB4aw4CAAIBC0EDQeCNwABB3ILAABD3ByEIDBYLAkAgBigCnAMiAQRAIAYpAvgJIXkgBiABQQFrNgKcAyAGKAKYAyIEKAIEIgFBB00EQCAGQoHKgICAATcD8AkgBkHwCWoQgAshCAwXCyAEIAFBCGs2AgQgBCAEKAIAIgFBCGo2AgAgBkGwDGogASkAABDGBiAGKAK0DCEIIAYoArAMDRYgBiAENgL4BiAGIAg2AvwGAkBBgIAEIAggCEGAgARPGyIIRQRAQQQhHAwBC0GR+sMALQAAGiAIQQR0IgFBBBCjDCIcRQ1DCyAGQQA2ArgMIAYgHDYCtAwgBiAINgKwDCAGQfAJaiAGQfgGahDMAiAGKALwCSIdQYGAgIB4Rg0FQQAhCQNAIB1BgICAgHhHBEAgBikC+AkhcSAGKAL0CSEIIAkgBigCsAxGBEAgBkGwDGogCRCtBiAGKAK0DCEcIAYoArgMIQkLIAkiAUEEdCAcaiIEIHE3AgggBCAINgIEIAQgHTYCACAGIAFBAWoiCTYCuAwgBkHwCWogBkH4BmoQzAIgBigC8AkiHUGBgICAeEcNAQwWCwsgBigCtAwhFiAGKAKwDCJCQYKAgIB4Tg0BIBYhCAwWC0EEQeCNwABB3ILAABD3ByEIDBULIAZB8AlqIAZBmANqEJMCIAYoAvQJIgghASAGKALwCSI+QYGAgIB4Rg0RIAZBqANqIhsgKkEIaiIHKAIANgIAIAYgKikCADcDoAMgPkGAgICAeEYEQEEFQeCNwABB3ILAABD3ByEBDBILIAZB8AlqIAZBmANqEKgBIAYoAvQJIkYhASAGKALwCSI3QYGAgIB4Rg0QIAZByANqIgQgBygCADYCACAGQbgDaiIBIDpBCGoiBSgCADYCACAGICopAgA3A8ADIAYgOikCADcDsAMgN0GAgICAeEYEQEEGQeCNwABB3ILAABD3ByEBDBELIAYoAoQKIUMgBigCiAohSCAGQcAEaiIZIAQoAgA2AgAgBkHYCWoiAyABKAIANgIAIAYgBikDwAM3A7gEIAYgBikDsAM3A9AJIAZB8AlqIAZBmANqEJMCIAYoAvQJIkchASAGKALwCSI4QYGAgIB4Rg0PIAZB2ANqIiAgBygCADYCACAGICopAgA3A9ADIDhBgICAgHhGBEBBB0HgjcAAQdyCwAAQ9wchAQwQCyAGQfAJaiAGQZgDahCoASAGKAL0CSJFIQQgBigC8AkiP0GBgICAeEYNDiAGQfgDaiIEIAcoAgA2AgAgBkHoA2oiASAFKAIANgIAIAYgKikCADcD8AMgBiA6KQIANwPgAyA/QYCAgIB4RgRAQQhB4I3AAEHcgsAAEPcHIQQMDwsgBigChAohPSAGKAKICiFJIAZBuAxqIh0gBCgCADYCACAGQYAHaiIiIAEoAgA2AgAgBiAGKQPwAzcDsAwgBiAGKQPgAzcD+AYCQCAGKAKcAyIHBEAgBiAHQQFrIgQ2ApwDIAYoApgDIhIoAgQiBUEISQ0GIBIgBUEIayIBNgIEIBIgEigCACILQQhqNgIAIAspAAAieEKAgICAEFQNASAGQQE6APAJIAYgeDcD+AkgBkHwCWogBkHoCWpBtIDAABCxCCEEDA8LQQlB4I3AAEHcgsAAEPcHIQQMDgsCQCAEBEAgBiAHQQJrIgQ2ApwDIAFFDQcgEiAFQQlrIgE2AgQgEiALQQlqNgIAIAstAAgiHkECSQ0BQZH6wwAtAAAaQQxBBBCjDCIERQ1BIAQgHjoABCAEQYKAgIB4NgIADA8LQQpB4I3AAEHcgsAAEPcHIQQMDgsCQCAEBEAgBiAHQQNrIgQ2ApwDIAFBCEkNCCASIAVBEWsiATYCBCASIAtBEWo2AgAgCykACSJ2QoCAgIAQVA0BIAZBAToA8AkgBiB2NwP4CSAGQfAJaiAGQegJakG0gMAAELEIIQQMDwtBC0HgjcAAQdyCwAAQ9wchBAwOCyAEBEAgBiAHQQRrNgKcAyAGQQE2AqQEIAYgEjYCoAQgAUEHTQRAIAZCgcqAgIABNwPwCSAGQfAJahCACyEEDA8LIBIgBUEZayIFNgIEIBIgC0EZaiIxNgIAIAZBuAlqIAspABEQxgYgBigCvAkhFyAGKAK4CQRAIBchBAwPCwJAQarVAiAXIBdBqtUCTxsiMkUEQEEEIQQMAQtBkfrDAC0AABogMkEYbCIBQQQQowwiBEUNQgsgBkEANgL4CSAGIAQ2AvQJIAYgMjYC8AkgF0UNCEEAIRwDQCAFQQRJDQ4gEiAFQQRrIgE2AgQgEiAxQQRqIgU2AgAgAUEESQ0OIDEoAAAhByASIAFBBGsiATYCBCASIAVBBGoiCzYCACABQQRJDQ4gBTUAACFzIBIgAUEEayIFNgIEIBIgC0EEaiIBNgIAIAVBBEkNDiALNQAAIXEgEiAFQQRrIgU2AgQgEiABQQRqIg02AgAgBUEESQ0OIAEoAAAhASASIAVBBGsiBTYCBCASIA1BBGoiCzYCACAFQQRJDQ4gcUIghiBzhCFzIA01AAAhcSASIAVBBGsiBTYCBCASIAtBBGoiMTYCACBxIAs1AABCIIaEIXEgBigC8AkgHEYEQCAGQfAJaiAcEK8GIAYoAvgJIRwgBigC9AkhBAsgBCAcQRhsaiILIHE3AhAgCyABNgIMIAsgczcCBCALIAc2AgAgBiAcQQFqIhw2AvgJIBdBAWsiFw0ACyAGKAL0CSEEIAYoAvAJIjJBgoCAgHhIDQ4MCQtBDEHgjcAAQdyCwAAQ9wchBAwNCyAYIQgMFAsgGiEIDBQLIBQhCAwUCyAGKAL0CSEIDA8LIAZCgcqAgIABNwPwCSAGQfAJahCACyEEDAgLIAZCgcqAgBA3A/AJIAZB8AlqEIALIQQMBwsgBkKByoCAgAE3A/AJIAZB8AlqEIALIQQMBgtBACEcCyAGQfAJaiAGQaAEahDPAiAGKAL0CSESAkACQAJAIAYoAvAJIkBBgICAgHhrDgIAAQILQQFB+I/AAEHcgsAAEPcHIRILIDIEQCAEEJUCCyASIQQMBQsgBikC+AkhdyAGQfAJaiAGQZgDahDQASAGKAL0CSELAkACQAJAAkACQCAGKALwCSI2QYCAgIB4aw4CAAIBC0ENQeCNwABB3ILAABD3ByEHDAILIAYoAvgJITEgBkHwCWogBkGYA2oQ0AEgBigC9AkhDQJAAkACQAJAIAYoAvAJIkFBgICAgHhrDgIAAgELQQ5B4I3AAEHcgsAAEPcHIQcMAgsgBigC+AkhFyAGQfAJaiAGQZgDahDMAiAGKAL0CSEHAkACQCAGKALwCSJNQYCAgIB4aw4CAAEGC0EPQeCNwABB3ILAABD3ByEHCyAXBEAgDSEBA0AgASgCAARAIAFBBGooAgAQlQILIAFBEGohASAXQQFrIhcNAAsLIEFFDQEgDRCVAgwBCyANIQcLIDEEQCALIQEDQCABKAIABEAgAUEEaigCABCVAgsgAUEQaiEBIDFBAWsiMQ0ACwsgNkUNASALEJUCDAELIAshBwsgMgRAIAQQlQILIEAEQCASEJUCCyAHIQQMBQsgBikC+AkhciAGQZADaiIfIBsoAgA2AgAgBkGAA2oiGyAZKAIANgIAIAZB8AJqIhkgAygCADYCACAGQeACaiIDICAoAgA2AgAgBkHQAmoiBSAdKAIANgIAIAYgBikDoAM3A4gDIAYgBikDuAQ3A/gCIAYgBikD0Ak3A+gCIAYgBikD0AM3A9gCIAYgBikDsAw3A8gCIAZBwAJqIgEgIigCADYCACAGIAYpA/gGNwO4AiArQYCAgIB4Rg0QIAZBsAJqIiIgHygCADYCACAGQaACaiIfIBsoAgA2AgAgBkGQAmoiGyAZKAIANgIAIAZBgAJqIhkgAygCADYCACAGQfABaiIDIAUoAgA2AgAgBiAGKQOIAzcDqAIgBiAGKQP4AjcDmAIgBiAGKQPoAjcDiAIgBiAGKQPYAjcD+AEgBiAGKQPIAjcD6AEgBkHgAWoiBSABKAIANgIAIAZB1gFqIgEgBkG3AmotAAA6AAAgBiAGKQO4AjcD2AEgBiAGLwC1AjsB1AEgK0GBgICAeEYNECB4pyFLIB5BAEchTCB2pyFOIAZB0AFqICIoAgA2AgAgBkHAAWogHygCADYCACAGQbABaiAbKAIANgIAIAZBoAFqIBkoAgA2AgAgBkGQAWogAygCADYCACAGIAYpA6gCNwPIASAGIAYpA5gCNwO4ASAGIAYpA4gCNwOoASAGIAYpA/gBNwOYASAGIAYpA+gBNwOIASAGQYABaiAFKAIANgIAIAZB9gBqIAEtAAA6AAAgBiAGKQPYATcDeCAGIAYvAdQBOwF0CyAGQfAAaiIeIAZB0AFqKAIANgIAIAZB4ABqIiAgBkHAAWooAgA2AgAgBkHQAGoiHSAGQbABaigCADYCACAGQUBrIiIgBkGgAWooAgA2AgAgBkEwaiIfIAZBkAFqKAIANgIAIAYgBikDyAE3A2ggBiAGKQO4ATcDWCAGIAYpA6gBNwNIIAYgBikDmAE3AzggBiAGKQOIATcDKCAGQSBqIhsgBkGAAWooAgA2AgAgBkEWaiIZIAZB9gBqLQAAOgAAIAYgBikDeDcDGCAGIAYvAXQ7ARQgK0GCgICAeEYNDyAGKAIQIgUgBigCCEYEQCAGQQhqIQ4jAEEgayIlJAAgBUEBaiIFRQ09QQQgDigCACIVQQF0IgEgBSABIAVLGyIBIAFBBE0bIgNBlAJsIQUgA0GC89oDSUECdCEBAkAgFUUEQCAlQQA2AhgMAQsgJUEENgIYICUgFUGUAmw2AhwgJSAOKAIENgIUCyAlQQhqIAEgBSAlQRRqEOEGICUoAgwhAQJAICUoAghFBEAgDiADNgIAIA4gATYCBAwBCyABQYGAgIB4Rg0AIAFFDT4gASAlQRBqKAIAQdiAxAAoAgAiAEGjByAAGxEAAAALICVBIGokACAGKAIQIQULIAYoAgwiAyAFQZQCbGoiASAINgJMIAEgPjYCSCABIAk2AkQgASAWNgJAIAEgQjYCPCABIHk3AjQgASAYNgIwIAEgETYCLCABIHU3AiQgASAaNgIgIAEgNDYCHCABIHQ3AhQgASAUNgIQIAEgIzYCDCABICw2AgggASAKNgIEIAEgKzYCACABIAYpA2g3AlAgAUHYAGogHigCADYCACABIEY2AmAgASA3NgJcIAEgQzYCcCABIEg2AnQgASA4NgKEASABIEc2AogBIAEgBikDWDcCZCABQewAaiAgKAIANgIAIAEgBikDSDcCeCABQYABaiAdKAIANgIAIAEgBikDODcCjAEgAUGUAWogIigCADYCACABIEU2ApwBIAEgPzYCmAEgASBJNgKwASABID02AqwBIAEgTDoAjAIgASBONgKIAiABIEs2AoQCIAEgcjcC/AEgASAHNgL4ASABIE02AvQBIAEgFzYC8AEgASANNgLsASABIEE2AugBIAEgMTYC5AEgASALNgLgASABIDY2AtwBIAEgdzcC1AEgASASNgLQASABIEA2AswBIAEgHDYCyAEgASAENgLEASABIDI2AsABIAEgBikDKDcCoAEgAUGoAWogHygCADYCACABIAYpAxg3ArQBIAFBvAFqIBsoAgA2AgAgASA5NgKQAiABQY8CaiAZLQAAOgAAIAEgBi8BFDsAjQIgBiAFQQFqIh02AhAgEEEBayIQDQALIAMhCiAGKAIIIitBgoCAgHhIDQ8LAkACQAJAAkACQAJAAkACQCAPKAIEIghBBE8EQCAPIAhBBGsiATYCBCAPIA8oAgAiCkEEajYCAAJAAkACQAJAIAEEQCAKNQAAIXEgDyAIQQVrIgk2AgQgDyAKQQVqIgU2AgAgCi0ABCIHDgIDAgELIAZCgcqAgBA3A/AJIAZB8AlqEIALIQoMDAtBkfrDAC0AABpBDEEEEKMMIgpFDT8gCiAHNgIEIApBhICAgHg2AgAMCwsgAUEFSQ0BIA8gCEEJayIJNgIEIA8gCkEJaiIFNgIAIAooAAUhOUEBIQcLIAlBCEkNAyAPIAlBCGs2AgQgDyAFQQhqNgIAIAUpAAAidkKAgICAEFQNAiAGQQE6APAJIAYgdjcD+AkgBkHwCWogBkHoCWpBtIDAABCxCCEKDAkLIAZCgcqAgMAANwPwCSAGQfAJahCACyEKDAgLIAZCgcqAgMAANwPwCSAGQfAJahCACyEKDAcLAkAgBigCBCIBBEAgBiABQQFrIiw2AgQgBigCACIWKAIEIgFBB00EQCAGQoHKgICAATcD8AkgBkHwCWoQgAshCgwICyAWIAFBCGsiCTYCBCAWIBYoAgAiAUEIaiIFNgIAIAZBsAxqIAEpAAAQxgYgBigCtAwhCiAGKAKwDA0HAkBBzJkDIAogCkHMmQNPGyIIRQRAQQQhIwwBC0GR+sMALQAAGiAIQRRsIgFBBBCjDCIjRQ0+C0EAIRAgBkEANgK4DCAGICM2ArQMIAYgCDYCsAwgCkUNAQNAAkAgCUEETwRAIBYgCUEEayIBNgIEIBYgBUEEaiIENgIAAkAgAUEETwRAIAUoAAAhCyAWIAFBBGsiATYCBCAWIARBBGoiCDYCACABQQRJDQggBCgAACEEIBYgAUEEayIJNgIEIBYgCEEEaiIBNgIAIAlBBE8NASAGQoHKgIDAADcD8AkgBkHwCWoQgAshCgwLCyAGQoHKgIDAADcD8AkgBkHwCWoQgAshCgwKCyAIKAAAIQggFiAJQQRrIgk2AgQgFiABQQRqIg02AgAgCUEISQ0HIAEoAAAhASAWIAlBCGsiCTYCBCAWIA1BCGoiBTYCACANKQAAInNCgICAgBBUDQEgBkEBOgDwCSAGIHM3A/gJIAZB8AlqIAZB6AlqQbSAwAAQsQghCgwJCyAGQoHKgIDAADcD8AkgBkHwCWoQgAshCgwICyAGKAKwDCAQRgRAIAZBsAxqIBAQrgYgBigCtAwhIyAGKAK4DCEQCyAjIBBBFGxqIg0gcz4CECANIAQ2AgwgDSABNgIIIA0gCDYCBCANIAs2AgAgBiAQQQFqIhA2ArgMIApBAWsiCg0ACyAGKAK0DCEjIAYoArAMIghBgoCAgHhIBEAgIyEKDAgLIAYoAgQhLAwBC0EBQcSPwABB3ILAABD3ByEKDAYLAkACQCAsBEAgBiAsQQFrNgIEIAYoAgAhASAGQQI2AvwGIAYgATYC+AYgBkHwCWogBkH4BmoQowIgBigC9AkhCgJAAkAgBigC8AkiEkGAgICAeGsOAgAEAQtBAEHwisAAQdyCwAAQ9wchCgwDCwJAAkAgBigC/AYEQCAGKAL4BiIXKAIEIgFBB00EQCAGQoHKgICAATcD8AkgBkHwCWoQgAshCQwCCyAGKAL4CSEWIBcgAUEIayI0NgIEIBcgFygCACIBQQhqIho2AgAgBkGwDGogASkAABDGBiAGKAK0DCEJIAYoArAMDQECQEGAgAQgCSAJQYCABE8bIhRFBEBBBCERDAELQZH6wwAtAAAaIBRBBHQiAUEEEKMMIhFFDUILQQAhBSAGQQA2AvgJIAYgETYC9AkgBiAUNgLwCSAJRQ0EA0ACQAJ/IDRBA00EQCAGQoHKgIDAADcDsAwgBkGwDGoQgAsMAQsgFyA0QQRrIgE2AgQgFyAaQQRqIgs2AgAgAUEDTQRAIAZCgcqAgMAANwOwDCAGQbAMahCACwwBCyAaKAAAIQ0gFyABQQRrIgE2AgQgFyALQQRqIgQ2AgAgAUEDTQRAIAZCgcqAgMAANwOwDCAGQbAMahCACwwBCyALKAAAIQsgFyABQQRrIhw2AgQgFyAEQQRqIgE2AgAgHEEDSw0BIAZCgcqAgMAANwOwDCAGQbAMahCACwshCSAGKALwCUUNAyAGKAL0CRCVAgwDCyAEKAAAIQQgFyAcQQRrIjQ2AgQgFyABQQRqIho2AgAgASgAACEBIAYoAvAJIAVGBEAgBkHwCWogBRCtBiAGKAL0CSERIAYoAvgJIQULIBEgBUEEdGoiHCABNgIMIBwgBDYCCCAcIAs2AgQgHCANNgIAIAYgBUEBaiIFNgL4CSAJQQFrIgkNAAsgBigC9AkhESAGKALwCSIUQYKAgIB4Tg0CIBEhCQwBC0EBQfCKwABB3ILAABD3ByEJCyASBEAgChCVAgsgCSEKDAMLIBJBgoCAgHhODQEMAgtBAkHEj8AAQdyCwAAQ9wchCgwBCyAGQfAJaiAGEIQDIAYoAvQJIQECQAJAIAYoAvAJIgRBgICAgHhrDgIAAQYLQQNBxI/AAEHcgsAAEPcHIQELIBIEQCAKEJUCCyAUBEAgERCVAgsgASEKCyAIRQ0FICMQlQIMBQsgBkKByoCAgAE3A/AJIAZB8AlqEIALIQoMBQsgBkKByoCAwAA3A/AJIAZB8AlqEIALIQoMAgsgBkKByoCAgAE3A/AJIAZB8AlqEIALIQoMAQsgJCAGKAL4CTYCSCAkIAE2AkQgJCAENgJAICQgBTYCPCAkIBE2AjggJCAUNgI0ICQgFjYCMCAkIAo2AiwgJCASNgIoICQgEDYCJCAkICM2AiAgJCAINgIcICQgdkIghiBxhDcCFCAkIB02AhAgJCADNgIMICQgKzYCCCAkIDk2AgQgJCAHNgIADBILIAYoArAMRQ0AIAYoArQMEJUCCyAdBEAgAyEBA0AgASgCAEGAgICAeEcEQCABEIwCCyABQZQCaiEBIB1BAWsiHQ0ACwsgK0UNDyADEJUCDA8LIB0EQCADIQEDQCABKAIAQYCAgIB4RwRAIAEQjAILIAFBlAJqIQEgHUEBayIdDQALCyArRQ0OIAMQlQIMDgsgBkEAOgC7CSAGQSU7ALkJIAZBBDYCvAkgBkEBOgC4CSAGQbgJahCACyEEIAYoAvAJRQ0AIAYoAvQJEJUCCyA/BEAgRRCVAgsgPQRAIEkQlQILCyAEIQEgOARAIEcQlQILCyA3BEAgRhCVAgsgQwRAIEgQlQILCyA+BEAgCBCVAgsLIAEhCCAJBEAgFiEBA0AgASgCAARAIAFBBGooAgAQlQILIAFBEGohASAJQQFrIgkNAAsLIEJFDQIgFhCVAgwCCyAGKAL0CSEIIAYoArQMIRwgCUUNACABQQFqIR0gHCEBA0AgASgCAARAIAFBBGooAgAQlQILIAFBEGohASAdQQFrIh0NAAsLIAYoArAMRQ0AIBwQlQILIBFFDQAgGBCVAgsgNEUNACAaEJUCCyAjRQ0AIBQQlQILICsEQCAKEJUCCyAIIQoMAQsgBigC/AMEQCAKEJUCCyAFIQoLIAYoAgwhCCAGKAIQIh0EQCAIIQEDQCABKAIAQYCAgIB4RwRAIAEQjAILIAFBlAJqIQEgHUEBayIdDQALCyAGKAIIRQ0AIAgQlQILICRBAzYCACAkIAo2AgQLIAZB8A5qJAACfyACKAKoBCIKQQNHBEAgAigCrAQhCCACQeQDaiACQbAEaiIBQcQAEKMNGiAKQQJGBEBBCEHUucAAQdyCwAAQ9wcMAgsgM0GwAWogAkHkA2pBxAAQow0aIAJBqARqIglBIGogAkGQAmoiBEEgaikCADcDACAJQRhqIARBGGopAgA3AwAgCUEQaiAEQRBqKQIANwMAIAEgBEEIaikCADcDACAJQTBqIAJBuAJqIgFBCGopAgA3AwAgAkHgBGogAUEQaikCADcDACACQegEaiABQRhqKQIANwMAIAJB8ARqIAFBIGopAgA3AwAgAkH4BGogAkHgAmopAgA3AwAgAkGABWogAUEwaigCADYCACACIAIpApACNwOoBCACIAIpArgCNwPQBCACQYQFaiACQdAFakHMABCjDRogMyAJQagBEKMNIgEgCDYCrAEgASAKNgKoASABQfQBaiACQRhqQcwAEKMNGiABQcACaiACQeQAakHkABCjDRogAUGkA2ogAkHIAWpBxAAQow0aIAEgkQFCIIYgkAGENwKwBCABIF82AqwEIAEgiwE+AqgEIAEgigE+AqQEIAEgiQE+AqAEIAEgiAE+ApwEIAEghwE+ApgEIAEgajYClAQgASBpNgKQBCABIGg2AowEIAEgZzYCiAQgASBmNgKEBCABIGU2AoAEIAEgZDYC/AMgASBjNgL4AyABIGI2AvQDIAEgYTYC8AMgASBgNgLsAyABIGs2AugDDCQLIAIoAqwECyEBIDNBAjYCACAzIAE2AgQgAkHQBWoQmwcLIAJBuAJqEIMGCyACQZACahD7BgwHCyACQoHKgICAATcDqAQgAkGoBGoQgAshAQsgCgRAIAkhAwNAAkAgAygCAEUNACADQewBaigCACIEBEAgBBCVAgsgA0HcAmooAgBFDQAgA0HgAmooAgAQlQILIANB8AJqIQMgCkEBayIKDQALCyAIRQRAIAEhCQwFCyAJEJUCIAEhCQwECyAHRQ0AIAsQlQILIAhFDQEgCBCVAgwBCyACQQA6AKsEIAJBJTsAqQQgAkEENgKsBCACQQE6AKgEIAJBqARqEIALIQkgCEUNACAIEJUCCyACKAK4BiEBIAoEQCABIQMDQAJAIAMoAgBFDQAgA0HsAWooAgAiCARAIAgQlQILIANB3AJqKAIARQ0AIANB4AJqKAIAEJUCCyADQfACaiEDIApBAWsiCg0ACwsgAigCtAZFDQAgARCVAgsgM0ECNgIAIDMgCTYCBAsgAkHIAWoQ1gUMBwsgAkKByoCAwAA3A9AFIAJB0AVqEIALIQcgAigCqARFDQAgAigCrAQQlQILIAsEQCAEEJUCCyAQBEAgFxCVAgsgByEEDAILIAIoAqgERQ0AIAIoAqwEEJUCCyALBEAgBBCVAgsgByEECyBPBEAgCRCVAgsgCgRAIBwhAwNAIAMQ6gYgA0E4aiEDIApBAWsiCg0ACwsgCARAIBwQlQILIAQhCQsgAigC0AYiASgCACEIIAEgCEEBazYCACAIQQFHDQAgAkHQBmoQoggLIDNBAjYCACAzIAk2AgQLIAJB5ABqEJAEDA4LIAJCgcqAgMAANwPQBSACQdAFahCACyEBIAIoArgEIgoEQCACKAK0BCAKQQJ0QQtqQXhxaxCVAgsgAigCqARFDQAgAigCrAQQlQILIAkEQCAIIQoDQCAKEL4HIApBQGshCiAJQQFrIgkNAAsLIBgEQCAIEJUCCyABIQgMAQsgCQRAIAEhCgNAIAoQvgcgCkFAayEKIAlBAWsiCQ0ACwsgAigCuAJFDQAgARCVAgsgAwRAIAUhCgNAAkAgCigCAEUNACAKQQRqKAIAIgFFDQAgARD3CAsgCkEsaiEKIANBAWsiAw0ACwsgHARAIAUQlQILIAghBQwJCyACQagEahCACyEFIBJFDQcgC0UNByALEPcIDAcLICtFDQAgCBCVAgsgCUUNASAQEJUCDAELIAlFDQAgEBCVAgsgAkGoBGoQ5gYMAwtBAiACQf8IakG0r8AAEPcHIQUgDQRAIAkQlQILIAcEQCALEJUCCyAbBEAgGRCVAgsgEEUNAiAjEJUCDAILIAIoAswBIQUgDQRAIAkQlQILIAcEQCALEJUCCyAbBEAgGRCVAgsgEEUNASAjEJUCDAELIAJCgcqAgBA3A6gEIAJBqARqEIALIQULIAIoArwHIQEgAwRAIAEhCgNAAkAgCigCAEUNACAKQQRqKAIAIghFDQAgCBD3CAsgCkEsaiEKIANBAWsiAw0ACwsgAigCuAdFDQAgARCVAgsgM0ECNgIAIDMgBTYCBAsgAkEYahDuBgwBCyAzQQI2AgAgMyAKNgIECyACQYAJaiQADAYLQQRBDEHYgMQAKAIAIgBBowcgABsRAAAAC0EEIAFB2IDEACgCACIAQaMHIAAbEQAAAAtBBCANQdiAxAAoAgAiAEGjByAAGxEAAAALQQRBMEHYgMQAKAIAIgBBowcgABsRAAAAC0EEIApB2IDEACgCACIAQaMHIAAbEQAAAAtBCCABQdiAxAAoAgAiAEGjByAAGxEAAAALAkACQCAoKAKYCCIDQQJHBEAgKCgCnAghByAoQegDaiIWIChBmAhqIgtBCGpBsAQQow0aIChBFGoiDSAWQdQAEKMNGiAoQZgDaiIFIBZB1ABqQcwAEKMNGiAoQcgCaiIJIChBiAVqQcwAEKMNGiAoQfgBaiIEIChB1AVqQcwAEKMNGiALIChBoAZqQeQAEKMNGiAoQbABaiIKIChBhAdqQcQAEKMNGiAoQegAaiIIIChByAdqQcQAEKMNGiAwQQxqIChBlAhqKAIANgIAIDAgKCkCjAg3AgQgMEEwaiANQRhqKQIANwIAIDBBKGogDUEQaikCADcCACAwQSBqIA1BCGopAgA3AgAgMCAoKQIUNwIYIBZBMGogDUHQAGooAgAiATYCACAWQShqIA1ByABqKQIAIno3AwAgFkEgaiANQUBrKQIAInI3AwAgFkEYaiAoQcwAaikCACJ4NwMAIBZBEGogDUEwaikCACJ2NwMAIBZBCGogDUEoaikCACJzNwMAICggKCkCNCJxNwPoAyAwIAc2AhQgMCADNgIQIDBBATYCACAwIHE3AjggMEFAayBzNwIAIDBByABqIHY3AgAgMEHQAGogeDcCACAwQdgAaiByNwIAIDBB4ABqIHo3AgAgMEHoAGogATYCACAwQewAaiAFQcwAEKMNGiAwQbgBaiAJQcwAEKMNGiAwQYQCaiAEQcwAEKMNGiAwQdACaiALQeQAEKMNGiAwQbQDaiAKQcQAEKMNGiAwQfgDaiAIQcQAEKMNGiAoKAIIBEAgKCgCDBCVAgsgKCgCBCIBQYMBSw0BDAILICgoApwIEL0HIDBBAjYCACAoKAIIBEAgXhCVAgsgKCgCBCIBQYQBSQ0BCyABEAILIChB0AxqJAAMAQsQ7goACyAAIAAoAgBBAWs2AgBBACEAIFEoAgRBAkcEQEGR+sMALQAAGkHABEEEEKMMIgBFDQMgAEEANgIAIABBBGogUUEEakG8BBCjDRoLIFFBwARqJAAgAA8LEJANAAsQkQ0AC0EEQcAEQdiAxAAoAgAiAEGjByAAGxEAAAALlwEBCX0gAioCACIEIAEqAgAiBpQgAioCBCIFIAEqAgQiB5SSIAEqAggiCCACKgIIIgOUkiAEIAEqAgwiCZQgBSABQRBqKgIAIgqUkiADIAFBFGoqAgAiC5SSXiECIAAgCCALIAIbIAMgASoCGCIDlJI4AgggACAHIAogAhsgBSADlJI4AgQgACAGIAkgAhsgBCADlJI4AgALuQEBBH8jAEHgAGsiAiQAAkACQCAABEAgACgCAA0BIABBADYCACAAQdQCaiIEKAIAIQMgBEGAgICAeDYCACADQYCAgIB4RwRAIAIgAEHYAmpB4AAQow0hAEGR+sMALQAAGkHoAEEEEKMMIgFFDQMgASADNgIEIAFBADYCACABQQhqIABB4AAQow0aCyACQeAAaiQAIAEPCxCQDQALEJENAAtBBEHoAEHYgMQAKAIAIgBBowcgABsRAAAAC54BAQZ9AkACQAJAIAIqAgAiAyADlCACKgIIIgQgBJSSEJgBIgdDAAAAAFwEQCABKgIAIgUgAioCBJQiCCAEIAQgB5UgASoCBCIElCIGlCADIAMgB5UgBJQiA5QgCJOSXg0BIAWMIQUMAwsgASoCACACKgIEmCEFDAELQwAAAAAhBgtDAAAAACEDCyAAIAY4AgggACAFOAIEIAAgAzgCAAueAQEHfQJAAkACQCACKgIAIgUgBZQgAioCCCIGIAaUkhCYASIHQwAAAABcBEAgASoCACIEIAIqAgSUIgMgBSAHlSABKgIEIgmUIgggBZQgA5MgBiAHlSAJlCIDIAaUkl4NASAEjCEEDAMLIAEqAgAgAioCBJghBAwBC0MAAAAAIQMLQwAAAAAhCAsgACADOAIIIAAgBDgCBCAAIAg4AgALYgAgACgCHARAIABBIGooAgAQlQILIAAoAggEQCAAKAIMEJUCCyAAKAIoBEAgAEEsaigCABCVAgsgAEE0aigCAARAIABBOGooAgAQlQILIAAoAkAEQCAAQcQAaigCABCVAgsLeAEGfwJAIAAEQCAAKAIADQEgAEEgaigCACEBIABBHGooAgAhAiAAQRRqKAIAIQMgAEEQaigCACEEIABBCGooAgAhBSAAKAIEIQYgABCVAiAGBEAgBRCVAgsgBARAIAMQlQILIAIEQCABEJUCCw8LEJANAAsQkQ0AC6IBAgJ/AX4CQAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iBacgBUIgiKcQkwciA0UNAiACQf//A3EhBAJAIAJBEHYiAiADQdAAaigCAEYEQCADQdQAaigCACAERg0BCyADIAQ2AlQgAyACNgJQIAMgAygCcEEQcjYCcAsgAEEANgIADwsQkA0ACxCRDQALQdizwABBzABB3LTAABDvCQALwAICB30BfyAAIAEqAhgiAyADIAEqAgwiBCAEIAEqAgAiAiACIARdIgkbIAIgAlwbIgUgAyAFXhsgBSAFXBs4AgwgACACIAIgBCAJGyAEIARcGyICIAIgAyACIANdGyADIANcGzgCACAAQRRqIAFBIGoqAgAiBiIEIAQgAUEUaioCACIHIgIgAiABKgIIIgUiAyACIANeGyADIANcGyICIAIgBF0bIAIgAlwbOAIAIABBEGogAUEcaioCACIDIAMgAUEQaioCACIEIAQgASoCBCICIAIgBF0bIAIgAlwbIgggAyAIXhsgCCAIXBs4AgAgACAFIAUgByAFIAddGyAHIAdcGyIFIAUgBiAFIAZdGyAGIAZcGzgCCCAAIAIgAiAEIAIgBF0bIAQgBFwbIgIgAiADIAIgA10bIAMgA1wbOAIEC5YBAQN/IwBBgAFrIgMkACAAKAIAIQADQCACIANqQf8AaiAAQQ9xIgRBMEHXACAEQQpJG2o6AAAgAkEBayECIABBEEkhBCAAQQR2IQAgBEUNAAsgAkGAAWoiAEGAAUsEQCAAQYABQdDcwwAQ7AgACyABQQFB4NzDAEECIAIgA2pBgAFqQQAgAmsQhgIhACADQYABaiQAIAALlQEBA38jAEGAAWsiAyQAIAAoAgAhAANAIAIgA2pB/wBqIABBD3EiBEEwQTcgBEEKSRtqOgAAIAJBAWshAiAAQRBJIQQgAEEEdiEAIARFDQALIAJBgAFqIgBBgAFLBEAgAEGAAUHQ3MMAEOwIAAsgAUEBQeDcwwBBAiACIANqQYABakEAIAJrEIYCIQAgA0GAAWokACAAC6MBAgF/AX4CQAJAAkAgAEUNACAAKAIADQEgAEF/NgIAIAJFDQAgAigCACIDQX9GDQEgAiADQQFqNgIAIABBBGogAb0iBKcgBEIgiKcQ3ggiA0UNAiADQZgBaiACKQIENwIAIANBoAFqIAJBDGooAgA2AgAgAiACKAIAQQFrNgIAIABBADYCAA8LEJANAAsQkQ0AC0Hor8AAQdAAQfiwwAAQ7wkAC6MBAgF/AX4CQAJAAkAgAEUNACAAKAIADQEgAEF/NgIAIAJFDQAgAigCACIDQX9GDQEgAiADQQFqNgIAIABBBGogAb0iBKcgBEIgiKcQ3ggiA0UNAiADQbQBaiACKQIENwIAIANBvAFqIAJBDGooAgA2AgAgAiACKAIAQQFrNgIAIABBADYCAA8LEJANAAsQkQ0AC0Hor8AAQdAAQfiwwAAQ7wkAC9QDAgl/AX4CQAJAIAAEQCAAKAIAIgNBf0YNASAAIANBAWo2AgAgAb0iDKchAyAMQiCIpyEFIAK9IgynIQYgDEIgiKchCQJAIABBBGoiBEE4aigCACIHIANNDQAgBEE0aigCACIIRQ0AIAYgB08NACAIIANBDGxqIgMoAgAgBUcNACAJIAggBkEMbGoiBygCAEcNACAEKAIIIgggA0EEaigCACIFTQ0AIAQoAhAiBkUNACAHKAIEIQkCQCAEKAIEIgcgBUEEdGooAggiAyAEKAIUIgRJBEADQCAGIANBOGxqIgtBNGooAgAgCUYNAiAEIAsoAigiA0sNAAsLIAQgByAFQQR0akEAIAUgCEkbQQxqKAIAIgNNDQEDQCAGIANBOGxqIgUoAjAgCUYNASAEIAVBLGooAgAiA0sNAAsMAQsgAyAETw0AIAggBiADQThsaigCME0NACAHRQ0AIAYgA0E4bGoiA0EAIAggA0E0aigCAEsbIQoLIAAgACgCAEEBazYCACAKRQRAQQAPC0GR+sMALQAAGkEIQQQQowwiAEUNAiAAIAo2AgQgAEEANgIAIAAPCxCQDQALEJENAAtBBEEIQdiAxAAoAgAiAEGjByAAGxEAAAALmwECAn8DfiMAQSBrIgEkAAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEMaikCACEDIABBFGopAgAhBCAAKQIEIQUgAUEGEBM2AgQgASAENwIYIAEgAzcCECABIAU3AgggAUEEaiABQQhqQQYQuAcgASgCBCECIAAgACgCAEEBazYCACABQSBqJAAgAg8LEJANAAsQkQ0AC5oBAQJ/AkACQCAARQ0AIAAoAgANASAAQX82AgAgAkUNACACKAIAIgNBf0YNASACIANBAWo2AgACQCAAQQxqKAIAIAFNDQAgAEEIaigCACIERQ0AIAQgAUHUAWxqIgEgAikCBDcCXCABQeQAaiACQQxqKAIANgIAIAIoAgBBAWshAwsgAiADNgIAIABBADYCAA8LEJANAAsQkQ0AC5oBAQJ/AkACQCAARQ0AIAAoAgANASAAQX82AgAgAkUNACACKAIAIgNBf0YNASACIANBAWo2AgACQCAAQQxqKAIAIAFNDQAgAEEIaigCACIERQ0AIAQgAUHUAWxqIgEgAikCBDcCaCABQfAAaiACQQxqKAIANgIAIAIoAgBBAWshAwsgAiADNgIAIABBADYCAA8LEJANAAsQkQ0AC5oBAQJ/AkACQCAARQ0AIAAoAgANASAAQX82AgAgAkUNACACKAIAIgNBf0YNASACIANBAWo2AgACQCAAQQxqKAIAIAFNDQAgAEEIaigCACIERQ0AIAQgAUHUAWxqIgEgAikCBDcCdCABQfwAaiACQQxqKAIANgIAIAIoAgBBAWshAwsgAiADNgIAIABBADYCAA8LEJANAAsQkQ0AC5gBAgF/AX4CQAJAAkAgAARAIAAoAgAiA0F/Rg0BIAAgA0EBajYCACACQQZPDQIgAEEEaiABvSIEpyAEQiCIpxDeCCIDRQ0DIANB6QJqLQAAIQMgACAAKAIAQQFrNgIAQQEgAnRB/wFxIgAgA3EgAEYPCxCQDQALEJENAAtBmrXAAEEZEI8NAAtB6K/AAEHQAEHosMAAEO8JAAu/AQICfwF+IwBBEGsiBSQAAkACQAJAIAAEQCAAKAIADQEgAEF/NgIAIAJBBk8NAiAAQQRqIAG9IgenIAdCIIinEN4IIgZFDQMgBSAEOAIMIAUgAzgCCCAGQTBqIgYgBi0AuQJBASACQf8BcSICdHI6ALkCIAYgAkEMbGpBEGogBUEIaikCADcCACAAQQA2AgAgBUEQaiQADwsQkA0ACxCRDQALQZq1wABBGRCPDQALQeivwABB0ABB+LDAABDvCQALnQECAn8BfgJAAkACQCAABEAgACgCACIDQX9GDQEgACADQQFqNgIAIABBBGogAb0iBacgBUIgiKcQqAoiA0UNAiADQdwCaigCACIEIAJNDQMgA0HYAmooAgAgAkEDdGorAgAhASAAIAAoAgBBAWs2AgAgAQ8LEJANAAsQkQ0AC0HAssAAQc0AQbizwAAQ7wkACyACIARB3LXAABDtCAALngECAn8BfgJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIFpyAFQiCIpxCTByIDRQ0CIAJB//8DcSEEAkAgAkEQdiICIAMoAkhGBEAgA0HMAGooAgAgBEYNAQsgAyAENgJMIAMgAjYCSCADIAMoAnBBEHI2AnALIABBADYCAA8LEJANAAsQkQ0AC0HYs8AAQcwAQdy0wAAQ7wkAC6UGAQl/IwBBIGsiBiQAIAYgATYCECAGIAA2AgwgBiABNgIIIAYgAzYCHCAGIAI2AhggBiADNgIUIAZBFGohCkEAIQFBACEDIwBBIGsiByQAIAZBCGoiCygCBCEMAkACQAJAAkACQAJAAkACQCALKAIIIgBFBEBBBCECDAELQQQhAiAAIABBA24iAUEDbEcgAWoiAwRAIANBqtWq1QBLDQQgA0EMbCIBQQBIDQRBkfrDAC0AABogAUEEEKMMIgJFDQILQQAhAQNAIABBAk0NAyACIAVqIgggBSAMaiIJKgIAOAIAIAhBBGogCUEEaikCADcCACAFQQxqIQUgAUEBaiEBIABBA2siAA0ACwsgByABNgIcIAcgAjYCGCAHIAM2AhQgCigCBCEDAkAgCigCCCIFRQRAIAcgB0EUakEEQQAgBBCwCCAHKAIEIQUgBygCACEADAELQQAhCEEEIQIgBSAFQQNuIgBBA2xHIABqIgkEQCAJQarVqtUASw0EIAlBDGwiAEEASA0EQZH6wwAtAAAaIABBBBCjDCICRQ0FCyACIQAgAyEBA0BBAyAFIAVBA08bIg1BAUYNBiAFQQJNDQcgACABKAIANgIAIABBBGogASkCBDcCACAAQQxqIQAgCEEBaiEIIAEgDUECdGohASAFIA1rIgUNAAsgB0EIaiAHQRRqIAIgCCAEELAIIAcoAgwhBSAHKAIIIQAgCUUNACACEJUCCyAKKAIABEAgAxCVAgsgCygCAARAIAwQlQILIAYgADYCACAGIAU2AgQgB0EgaiQADAYLQQQgAUHYgMQAKAIAIgBBowcgABsRAAAAC0HcmcAAQcsAQZibwAAQtwsACxDuCgALQQQgAEHYgMQAKAIAIgBBowcgABsRAAAAC0EBQQFBoLjAABDtCAALQQJBAkGwuMAAEO0IAAsCQAJAIAYoAgAiAEUEQEEAIQEMAQsgBigCBCECQZH6wwAtAAAaQQxBBBCjDCIBRQ0BIAEgAjYCCCABIAA2AgQgAUEANgIACyAGQSBqJAAgAQ8LQQRBDEHYgMQAKAIAIgBBowcgABsRAAAAC6cBAgF/A34jAEEQayIIJAAgCCAEIAUgBiAHIAMgAigCACABLQAAIgEQlwQgCEEMaigCACEEIAgoAgghBSAIIAgoAgAgCCgCBCAGIAcgAyACKAIEIgIgARCXBCAIKQIAIQkgCCkCCCEKIAggBSAEIAYgByADIAIgARCXBCAIKQIAIQsgACAIKQIINwIYIAAgCzcCECAAIAo3AgggACAJNwIAIAhBEGokAAuWAQEHfSABKgIAIgUgAioCACIGlCABKgIEIgcgAioCBCIIlJIgASoCCCIJIAIqAggiCpSSIgRDAAAAAF8iAUEAIAMbRQRAIAAgCiAEIAmUkzgCCCAAIAggBCAHlJM4AgQgACAGIAUgBJSTOAIAIAAgAToADA8LIAAgAikCADcCACAAQQhqIAJBCGooAgA2AgAgAEEBOgAMC48BAQJ/IAAtAAghASAAKAIAIgJFBEAgAUEARw8LAkAgAUUEQCAAKAIEIQEgAkEBRw0BIAAtAAlFDQEgAS0AHEEEcQ0BIAEoAhRBsNzDAEEBIAFBGGooAgAoAgwRBQBFDQELIABBAToACEEBDwsgACABKAIUQazZwwBBASABQRhqKAIAKAIMEQUAIgA6AAggAAufAQICfwF8AkAgAQRAIAEoAgAiA0F/Rg0BIAEgA0EBajYCAAJ/AkACQAJAIAIgAUEMaigCAEkEQCABQQhqKAIAIgQNAQsgASADNgIADAELIAQgAkHUAWxqIgIrAgQhBSACKAIAIQIgASADNgIAIAINAQtEAAAAAAAAAAAhBUEADAELQQELIQEgACAFOQMIIAAgATYCAA8LEJANAAsQkQ0AC5YBAgJ/AX4CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIEpyAEQiCIpxDeCCIDRQ0CQQYhAiADQegCai0AAEE3ayIDQf8BcUEITQRAIAPAQQJ0Qdy5wABqKAIAIQILIAAgACgCAEEBazYCACACDwsQkA0ACxCRDQALQeivwABB0ABB6LDAABDvCQALoQYBCX8jAEEgayIFJAAgBSABNgIQIAUgADYCDCAFIAE2AgggBSADNgIcIAUgAjYCGCAFIAM2AhQgBUEUaiEJQQAhAUEAIQMjAEEgayIGJAAgBUEIaiIKKAIEIQsCQAJAAkACQAJAAkACQAJAIAooAggiAEUEQEEEIQIMAQtBBCECIAAgAEEDbiIBQQNsRyABaiIDBEAgA0Gq1arVAEsNBCADQQxsIgFBAEgNBEGR+sMALQAAGiABQQQQowwiAkUNAgtBACEBA0AgAEECTQ0DIAIgBGoiByAEIAtqIggqAgA4AgAgB0EEaiAIQQRqKQIANwIAIARBDGohBCABQQFqIQEgAEEDayIADQALCyAGIAE2AhwgBiACNgIYIAYgAzYCFCAJKAIEIQMCQCAJKAIIIgRFBEAgBiAGQRRqQQRBABDpCCAGKAIEIQQgBigCACEADAELQQAhB0EEIQIgBCAEQQNuIgBBA2xHIABqIggEQCAIQarVqtUASw0EIAhBDGwiAEEASA0EQZH6wwAtAAAaIABBBBCjDCICRQ0FCyACIQAgAyEBA0BBAyAEIARBA08bIgxBAUYNBiAEQQJNDQcgACABKAIANgIAIABBBGogASkCBDcCACAAQQxqIQAgB0EBaiEHIAEgDEECdGohASAEIAxrIgQNAAsgBkEIaiAGQRRqIAIgBxDpCCAGKAIMIQQgBigCCCEAIAhFDQAgAhCVAgsgCSgCAARAIAMQlQILIAooAgAEQCALEJUCCyAFIAA2AgAgBSAENgIEIAZBIGokAAwGC0EEIAFB2IDEACgCACIAQaMHIAAbEQAAAAtB3JnAAEHLAEGYm8AAELcLAAsQ7goAC0EEIABB2IDEACgCACIAQaMHIAAbEQAAAAtBAUEBQYC4wAAQ7QgAC0ECQQJBkLjAABDtCAALAkACQCAFKAIAIgBFBEBBACEBDAELIAUoAgQhAkGR+sMALQAAGkEMQQQQowwiAUUNASABIAI2AgggASAANgIEIAFBADYCAAsgBUEgaiQAIAEPC0EEQQxB2IDEACgCACIAQaMHIAAbEQAAAAueAQIBfwF+AkACQAJAIAAEQCAAKAIADQEgAEF/NgIAIAJBBk8NAgJAAkACQCADDgIBAAILQQEhBAsgAEEEaiABvSIFpyAFQiCIpxDeCCIDRQ0EIAMgAkEcbGpB2AFqIAQ6AAAgAEEANgIADwtBmrXAAEEZEI8NAAsQkA0ACxCRDQALQZq1wABBGRCPDQALQeivwABB0ABB+LDAABDvCQALlQMDBX8BfQF+IwBBIGsiAiQAIAIgADgCDCACIABDAAAAAJQiBzgCECACIAc4AgggAiAAjDgCGCACIAeMIgA4AhwgAiAAOAIUIwBBMGsiAyQAIANBCGoiBCACQRRqIgVBCGooAgA2AgAgA0EUaiACQQhqIgZBCGooAgA2AgAgAyAFKQIAIgg3AwAgAyAGKQIANwIMIANBGGoiBUEQaiIGIANBEGopAwA3AwAgBUEIaiIFIAQpAwA3AwAgAyAINwMYQZH6wwAtAAAaQSRBBBCjDCIERQRAQQRBJEHYgMQAKAIAIgJBowcgAhsRAAAACyAEQoGAgIAQNwIAIAQgAykDGDcCCCAEIAE4AiAgBEEQaiAFKQMANwIAIARBGGogBikDADcCACACQajSwgA2AgQgAiAENgIAIANBMGokAEGR+sMALQAAGiACKAIEIQQgAigCACEFQQxBBBCjDCIDRQRAQQRBDEHYgMQAKAIAIgJBowcgAhsRAAAACyADIAQ2AgggAyAFNgIEIANBADYCACACQSBqJAAgAwuUAQIBfwR9IwBBMGsiBSQAIAVBDGogASACIAMQRiAFKAIYIQECQCACKgIAIAUqAgwiCJMiBiAGlCACKgIEIAUqAhAiBpMiByAHlJIgAioCCCAFKgIUIgeTIgkgCZSSEJgBIAReRQRAIAAgATYCDCAAIAc4AgggACAGOAIEIAAgCDgCAAwBCyAAQQI6AAwLIAVBMGokAAuWAQICfwN9IwBBQGoiBCQAIAFBCGoiBSoCACEGIAEqAgAhByABKgIEIQggBEEgaiAFKAIANgIAIAQgBow4AhQgBCAIjDgCECAEIAeMOAIMIAQgASkCADcCGCAEQSRqIgEgBEEMaiACIAMQpgIgACAEKQIkNwIAIABBCGogAUEIaigCADYCACAAIAQtADA6AAwgBEFAayQAC54BAgF/AX4CQAJAAkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IgWnIAVCIIinEJIHIgRFDQIgBEGcAmoqAgAgAlsNBCADRQ0DIARB0AJqLQAARQ0DIARBADoA0AIgBCAEKAK4AkEEcjYCuAIMAwsQkA0ACxCRDQALQcCywABBzQBByLPAABDvCQALIAQgAjgCnAILIABBADYCAAu4AQEDfyMAQSBrIgMkACADIAAoAgAiBRASIgA2AgAgAyACNgIEIAAgAkYEQBAVIgQQCyIAIAEgAhAQIQEgBEGEAU8EQCAEEAILIABBhAFPBEAgABACCyAFIAFBABARIAFBhAFPBEAgARACCyADQSBqJAAPCyADQQA2AggjAEEQayIAJAAgACADQQRqNgIMIAAgAzYCCEEAIABBCGpBgLvAACAAQQxqQYC7wAAgA0EIakHwu8AAELQEAAuUAQIBfwR9IwBBMGsiBSQAIAVBDGogASACIAMQSyAFKAIYIQECQCACKgIAIAUqAgwiCJMiBiAGlCACKgIEIAUqAhAiBpMiByAHlJIgAioCCCAFKgIUIgeTIgkgCZSSEJgBIAReRQRAIAAgATYCDCAAIAc4AgggACAGOAIEIAAgCDgCAAwBCyAAQQI6AAwLIAVBMGokAAuYAQEHfSABQewAaioCACIFIAEqAmAiBpMiAiAClCABQfAAaioCACICIAFB5ABqKgIAIgeTIgMgA5SSIAFB9ABqKgIAIgMgAUHoAGoqAgAiCJMiBCAElJIQmAEhBCAAIAggA5JDAAAAP5Q4AgggACAHIAKSQwAAAD+UOAIEIAAgBiAFkkMAAAA/lDgCACAAIARDAAAAP5Q4AgwLkwEBB30gAUEkaioCACIFIAEqAhgiBpMiAiAClCABQShqKgIAIgIgAUEcaioCACIHkyIDIAOUkiABQSxqKgIAIgMgAUEgaioCACIIkyIEIASUkhCYASEEIAAgCCADkkMAAAA/lDgCCCAAIAcgApJDAAAAP5Q4AgQgACAGIAWSQwAAAD+UOAIAIAAgBEMAAAA/lDgCDAuVAQEHfSABQUBrKgIAIgUgASoCNCIGkyICIAKUIAFBxABqKgIAIgIgAUE4aioCACIHkyIDIAOUkiABQcgAaioCACIDIAFBPGoqAgAiCJMiBCAElJIQmAEhBCAAIAggA5JDAAAAP5Q4AgggACAHIAKSQwAAAD+UOAIEIAAgBiAFkkMAAAA/lDgCACAAIARDAAAAP5Q4AgwLgwEBA38CQEEIIAAoAgAiAkGAgICAeHMiASABQQhPGyIBQQFrQQdJDQAgAQRAIAJFDQEgACgCBBCVAgwBCyAALQAEQQNHDQAgAEEIaigCACICKAIAIgMgAkEEaigCACIBKAIAEQYAIAEoAgQEQCABKAIIGiADEJUCCyACEJUCCyAAEJUCC1sBAX8gAEEQaigCACIBBEAgACgCDCABQQJ0QQtqQXhxaxCVAgsgACgCAARAIAAoAgQQlQILIAAoAhwEQCAAQSBqKAIAEJUCCyAAKAIoBEAgAEEsaigCABCVAgsLhQECAn8CfiMAQUBqIgMkACADQRxqIgQgASACQQEQRiADQRBqIARBCGopAgAiBTcDACADIAMpAhwiBjcDCCAEQRRqKAIAIQIgAygCLCEBIABBCGogBTcCACAAIAY3AgAgAEEUaiACQQAgAUEDSSICGzYCACAAIAFBAiACGzYCECADQUBrJAALkAEBAn8CQAJAIABFDQAgACgCACIDQX9GDQEgACADQQFqNgIAIAJFDQAgAigCAA0BIAJBfzYCAAJAIABBzABqKAIAIgMgAU0NACAAQcgAaigCACIERQ0AIAJBBGogBCABQfQAbGpB9AAQow0aCyACQQA2AgAgACAAKAIAQQFrNgIAIAEgA0kPCxCQDQALEJENAAuSAQICfwF+AkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IgWnIAVCIIinEJMHIgNFDQICQAJAIANB4gBqLQAAQQFNBEAgAg0CQQIhBAwBCyACRQ0BCyADIAQ6AGIgAyADKAJwQYACcjYCcAsgAEEANgIADwsQkA0ACxCRDQALQdizwABBzABB3LTAABDvCQAL2QMBBH8jAEEwayIDJAAgA0EMaiECIABBAEchBEGR+sMALQAAGgJAAkBBgAJBwAAQowwiAARAIABBADoAyAEgAEKBgICAEDcDwAEgAEEBOgCcASAAQgQ3ApQBIABCADcCjAEgAEKAgICAwAA3AoQBIABBADsBgAEgAEIANwNAIABCADcDAEGR+sMALQAAGkGAAkHAABCjDCIBRQ0CIAFBADoAyAEgAUKBgICAEDcDwAEgAUEBOgCcASABQgQ3ApQBIAFCADcCjAEgAUKAgICAwAA3AoQBIAFBADsBgAEgAUIANwNAIAFCADcDACACIAQ6ACAgAkEBNgIYIAJBATYCECACIAE2AgwgAkEBNgIIIAIgADYCBCACQQE2AgAgAkEcaiABNgIAIAJBFGogADYCAAwBCwwBC0GR+sMALQAAGkEoQQQQowwiAEUEQEEEQShB2IDEACgCACIAQaMHIAAbEQAAAAsgAEEANgIAIAAgAykCDDcCBCAAQQxqIANBFGopAgA3AgAgAEEUaiADQRxqKQIANwIAIABBHGogA0EkaikCADcCACAAQSRqIANBLGooAgA2AgAgA0EwaiQAIAAPC0HAAEGAAkHYgMQAKAIAIgBBowcgABsRAAAAC5UBAQF/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kQ0AC0HAssAAQc0AQbizwAAQ7wkAC3MCAX8BfgJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgOnIANCIIinEKgKIgJFDQIgAkEQaigCACECIAAgACgCAEEBazYCACACDwsQkA0ACxCRDQALQcCywABBzQBBuLPAABDvCQALdAIBfwF+AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQqQoiAkUNAiACQZwBai0AACECIAAgACgCAEEBazYCACACDwsQkA0ACxCRDQALQdizwABBzABBzLTAABDvCQALdgMBfwF+AX0CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIDpyADQiCIpxCpCiICRQ0CIAJBlAFqKgIAIQQgACAAKAIAQQFrNgIAIAQPCxCQDQALEJENAAtB2LPAAEHMAEHMtMAAEO8JAAt2AwF/AX4BfQJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgOnIANCIIinEKkKIgJFDQIgAkHkAGoqAgAhBCAAIAAoAgBBAWs2AgAgBA8LEJANAAsQkQ0AC0HYs8AAQcwAQcy0wAAQ7wkAC3YDAX8BfgF9AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQqQoiAkUNAiACQegAaioCACEEIAAgACgCAEEBazYCACAEDwsQkA0ACxCRDQALQdizwABBzABBzLTAABDvCQALdAIBfwF+AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQqQoiAkUNAiACQdgAaigCACECIAAgACgCAEEBazYCACACDwsQkA0ACxCRDQALQdizwABBzABBzLTAABDvCQALdAIBfwF+AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQqQoiAkUNAiACQeAAai8BACECIAAgACgCAEEBazYCACACDwsQkA0ACxCRDQALQdizwABBzABBzLTAABDvCQALdAIBfwF+AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQ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6AIgBCoCACABKgIAkyIDIAOUIAQqAgQgASoCBJMiAyADlJIgBCoCCCABKgIIkyIDIAOUkhCYASEDIAQtAAwhACAEQRBqJAAgAyADjCADIAAbIAIbC2sCAX0BfyMAQSBrIgQkACAEIAAgASACEFcgBC0ADCEAIAQqAgAgASoCAJMiAyADlCAEKgIEIAEqAgSTIgMgA5SSIAQqAgggASoCCJMiAyADlJIQmAEhAyAEQSBqJAAgAyADjCADIAAbIAIbC4ABAQF/IwBB0AFrIgIkACACQbgBakIANwMAIAJByAFqQQA2AgAgAkKCgICAMDcDGCACQoCAgIAQNwMQIAJCADcDsAEgAkIANwPAASACQSBqQQBBkAEQog0aIAJBADYCzAEgAiAAIAJBEGogAUEBECAgAi0ADCEAIAJB0AFqJAAgAAuAAQEBfyMAQdABayICJAAgAkG4AWpCADcDACACQcgBakEANgIAIAJCgoCAgDA3AxggAkKAgICAEDcDECACQgA3A7ABIAJCADcDwAEgAkEgakEAQZABEKINGiACQQA2AswBIAIgACACQRBqIAFBARAcIAItAAwhACACQdABaiQAIAALgAEBAX8jAEHQAWsiAiQAIAJBuAFqQgA3AwAgAkHIAWpBADYCACACQoKAgIAwNwMYIAJCgICAgBA3AxAgAkIANwOwASACQgA3A8ABIAJBIGpBAEGQARCiDRogAkEANgLMASACIAAgAkEQaiABQQEQHiACLQAMIQAgAkHQAWokACAAC4ABAQF/IwBB0AFrIgIkACACQbgBakIANwMAIAJByAFqQQA2AgAgAkKCgICAMDcDGCACQoCAgIAQNwMQIAJCADcDsAEgAkIANwPAASACQSBqQQBBkAEQog0aIAJBADYCzAEgAiAAIAJBEGogAUEBEB8gAi0ADCEAIAJB0AFqJAAgAAuAAQEBfyMAQdABayICJAAgAkG4AWpCADcDACACQcgBakEANgIAIAJCgoCAgDA3AxggAkKAgICAEDcDECACQgA3A7ABIAJCADcDwAEgAkEgakEAQZABEKINGiACQQA2AswBIAIgACACQRBqIAFBARAdIAItAAwhACACQdABaiQAIAALkAEBAX8jAEHgAGsiBCQAIAQgASACIAMQLUEAIQMCQCAEKAIAQYCAgIB4RwRAQZH6wwAtAAAaQegAQQQQowwiA0UNASADQoGAgIAQNwIAIANBCGogBEHgABCjDRoLIABB6ODCADYCBCAAIAM2AgAgBEHgAGokAA8LQQRB6ABB2IDEACgCACIAQaMHIAAbEQAAAAtxAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EIaiIAQQxqQgI3AgAgA0EgaiIBQQxqQQI2AgAgA0EDNgIMIANBpMDDADYCCCADQQI2AiQgAyABNgIQIAMgA0EEajYCKCADIAM2AiAgACACEO8KAAtxAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EIaiIAQQxqQgI3AgAgA0EgaiIBQQxqQQI2AgAgA0EDNgIMIANB0MDDADYCCCADQQI2AiQgAyABNgIQIAMgA0EEajYCKCADIAM2AiAgACACEO8KAAtxAQF/IwBBMGsiAyQAIAMgADYCACADIAE2AgQgA0EIaiIAQQxqQgI3AgAgA0EgaiIBQQxqQQI2AgAgA0ECNgIMIANB3N/DADYCCCADQQI2AiQgAyABNgIQIAMgA0EEajYCKCADIAM2AiAgACACEO8KAAtxAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EIaiIAQQxqQgI3AgAgA0EgaiIBQQxqQQI2AgAgA0ECNgIMIANBsNrDADYCCCADQQI2AiQgAyABNgIQIAMgAzYCKCADIANBBGo2AiAgACACEO8KAAtxAQF/IwBBMGsiAyQAIAMgADYCACADIAE2AgQgA0EIaiIAQQxqQgI3AgAgA0EgaiIBQQxqQQI2AgAgA0ECNgIMIANB/N/DADYCCCADQQI2AiQgAyABNgIQIAMgA0EEajYCKCADIAM2AiAgACACEO8KAAtxAQF/IwBBMGsiAyQAIAMgADYCACADIAE2AgQgA0EIaiIAQQxqQgI3AgAgA0EgaiIBQQxqQQI2AgAgA0ECNgIMIANBsODDADYCCCADQQI2AiQgAyABNgIQIAMgA0EEajYCKCADIAM2AiAgACACEO8KAAu9BwMGfwJ9A34gASgCHEEBcSEFIAEoAggEQCABIAAqAgAgBSABQQxqKAIAEPMBDwsgACgCACIAviEIAkAgAEH/////B3G+IglDyhsOWmANACAJQwAAAABcIAlDF7fROF1xDQAgASAIIAVBARCnAg8LIwBBkAFrIgAkACAIvCEGAn9BAyAIi0MAAIB/Ww0AGkECIAggCFwNABpBBCAGQf////8HcUUNABogBkH///8DcUGAgIAEciAGQQF0Qf7//wdxIAZBF3ZB/wFxIgIbIgStIgpCAYMhDCAGQYCAgPwHcUUEQCACQZYBayEEQgEhCyAMUAwBC0KAgIAQIApCAYYgBEGAgIAERiIEGyEKQgJCASAEGyELQeh+Qel+IAQbIAJqIQQgDFALIQIgACAEOwGIASAAIAs3A4ABIABCATcDeCAAIAo3A3AgACACOgCKAQJAAkACQAJAAkACQAJAQQMgAkECa0H/AXEiAiACQQNPGyIDBEBB5tjDAEHn2MMAQejAwwAgBRsgBkEASBshBEEBIQJBASAGQR92IAUbIQYCQCADQQJrDgIDAAILIABBGGogAEHwAGogAEEHahBxAkAgACgCGEUEQCAAQeAAaiAAQfAAaiAAQQdqECkMAQsgAEHoAGogAEEgaigCADYCACAAIAApAhg3A2ALIAAoAmQiA0UNAyAAKAJgIgctAABBME0NBCAALgFoIQUgAEEBNgIgIAAgBzYCHCAAQQI7ARggA0EBSw0FDAYLIABBAzYCICAAQejYwwA2AhwgAEECOwEYQQEhAkEAIQZB6MDDACEEDAYLIABBAzYCICAAQevYwwA2AhwgAEECOwEYDAULIABBAzYCICAAQQI7ARggAEHv2MMANgIcDAQLQfzUwwBBIUHA2MMAELkKAAtB2NfDAEEfQdDYwwAQuQoACyAAQThqIANBAWs2AgAgAEE0aiAHQQFqNgIAIABBLGpBATYCACAAQShqQbzYwwA2AgAgAEECOwEwIABBAjsBJEEDIQILAn8gBUEASgRAIABBGGogAkEMbGoiA0EBNgIIIANB4NjDADYCBCADQQI7AQAgBUEBawwBCyAAQRhqIAJBDGxqIgNBAjYCCCADQeLYwwA2AgQgA0ECOwEAQQEgBWsLIQUgAEEYaiACQQxsaiIDQQ5qIAU7AQAgA0EMakEBOwEAIAJBAmohAgsgAEHsAGogAjYCACAAIAY2AmQgACAENgJgIAAgAEEYajYCaCABIABB4ABqEMsCIQEgAEGQAWokACABC3ACAX8BfgJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgOnIANCIIinEN4IIgJFDQIgAisDACEBIAAgACgCAEEBazYCACABDwsQkA0ACxCRDQALQeivwABB0ABB6LDAABDvCQALxwECAX8BfgJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgOnIANCIIinEKgKIgJFDQIgAioCgAFDAAAAAFwgAkGEAWoqAgBDAAAAAFxyIAJBiAFqKgIAQwAAAABcciACQYwBaioCAEMAAAAAXHIgAkGQAWoqAgBDAAAAAFxyIAJBlAFqKgIAQwAAAABcciECIAAgACgCAEEBazYCACACDwsQkA0ACxCRDQALQcCywABBzQBBuLPAABDvCQALtQIDA38BfQF+AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iBqcgBkIgiKcQqQoiAkUNAiMAQTBrIgMkAAJ9AkACQAJAIAIoAihBAWsOAgECAAsgAkEsaioCAAwCCyADQQRqIAIoAjAgAkE0aigCACIEKAIIQQFrQXhxakEIakMAAIA/IAQoApABEQ4AIAMqAiAgAkEsaioCAJQMAQsgA0EEaiACKAIwIAJBNGooAgAiBCgCCEEBa0F4cWpBCGpDAACAPyAEKAKQAREOACADKgIgQwAAAABDAACAPyACQSxqKAIAKgIcIgWVIAVDAAAAAFsblAshBSADQTBqJAAgACAAKAIAQQFrNgIAIAUPCxCQDQALEJENAAtB2LPAAEHMAEHMtMAAEO8JAAuSAgMDfwF9AX4CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIGpyAGQiCIpxCpCiICRQ0CIwBBMGsiAyQAAn0CQAJAAkAgAigCKEEBaw4CAQIACyADQQRqIAIoAjAgAkE0aigCACIEKAIIQQFrQXhxakEIaiACQSxqKgIAIAQoApABEQ4AQwAAAABDAACAPyADKgIgIgWVIAVDAAAAAFsbDAILIAJBLGoqAgAMAQtDAAAAACACQSxqKAIAKgIcIgVDAAAAAFsNABpDAACAPyAFlQshBSADQTBqJAAgACAAKAIAQQFrNgIAIAUPCxCQDQALEJENAAtB2LPAAEHMAEHMtMAAEO8JAAvFAQMCfwF9AX4CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIFpyAFQiCIpxCpCiIDRQ0CIwBBMGsiAiQAIAJBBGogAygCMCADQTRqKAIAIgMoAghBAWtBeHFqQQhqQwAAgD8gAygCkAERDgAgAioCICEEIAJBMGokACAAIAAoAgBBAWs2AgBDAAAAAEMAAIA/IASVIARDAAAAAFsbDwsQkA0ACxCRDQALQdizwABBzABBzLTAABDvCQALbgEHfSAAQgI3AhAgACABKgIAIgQgAioCACIFlCABKgIEIgYgAioCBCIHlJIgASoCCCIIIAIqAggiCZSSIgNDAAAAAF86AAwgACAJIAggA5STOAIIIAAgByAGIAOUkzgCBCAAIAUgBCADlJM4AgALSAAgABDmBiAAKAJgBEAgAEHkAGooAgAQlQILIAAoAnAEQCAAQfQAaigCABCVAgsgACgCfARAIABBgAFqKAIAEJUCCyAAEJUCC7ADAgl/AX4CQCAABEAgACgCACIDQX9GDQEgACADQQFqNgIAIAG9IgynIQMgDEIgiKchBiACvSIMpyEHIAxCIIinIQhBAiELAkAgAEEEaiIEQThqKAIAIgkgA00NACAEQTRqKAIAIgVFDQAgByAJTw0AIAUgA0EMbGooAgAgBkcNACAIIAUgB0EMbGoiCCgCAEcNACAEQSBqKAIAIgcgBSADQQxsakEIaigCACIGTQ0AIARBKGooAgAiBUUNACAIQQhqKAIAIQgCQCAEQRxqKAIAIgkgBkEEdGooAggiAyAEQSxqKAIAIgRJBEADQCAFIANBFGxqIgpBDGooAgAgCEYNAiAEIAooAgAiA0sNAAsLIAQgCSAGQQR0akEAIAYgB0kbQQxqKAIAIgNNDQEgBUEEaiEGA0AgA0EUbCIKIAVqKAIIIAhGDQEgBCAGIApqKAIAIgNLDQALDAELIAMgBE8NACAHIAUgA0EUbGooAghNDQAgCUUNACAHIAUgA0EUbGoiA0EMaigCAE0NACADLQAQIQsLIAAgACgCAEEBazYCACALQQFxDwsQkA0ACxCRDQALbwIDfwF9AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIAAoAgQiA0HgAGooAgAiBCABTQ0CIANB3ABqKAIAIAFBNGxqKgIYIQUgACACNgIAIAUPCxCQDQALEJENAAsgASAEQfy2wAAQ7QgAC28CA38BfQJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAKAIEIgNB4ABqKAIAIgQgAU0NAiADQdwAaigCACABQTRsaioCHCEFIAAgAjYCACAFDwsQkA0ACxCRDQALIAEgBEGMt8AAEO0IAAtmAQJ/IwBBIGsiAiQAIAAoAgAhAyACQQxqIgAgAUH8vMAAEJkLIAIgAzYCGCACIANBBGo2AhwgACACQRhqQfzRwAAQjwUaIAAgAkEcakH80cAAEI8FGiAAEK8HIQAgAkEgaiQAIAALawAgAEIANwIcIAAgASkCADcCACAAQSRqQgA3AgAgAEEsakIANwIAIABBNGpCADcCACAAQTxqQQA2AgAgAEEYaiABQRhqKAIANgIAIABBEGogAUEQaikCADcCACAAQQhqIAFBCGopAgA3AgALaQEGfSABKgIAIQMgAioCACIEIASUIAIqAgQiBSAFlJIgAioCCCIGIAaUkiIHEJgBIQggAEICNwIQIAAgByADIAOUXzoADCAAIAYgAyAIlSIDlDgCCCAAIAUgA5Q4AgQgACAEIAOUOAIAC2YBBH1BACEBIAAgBCoCACIGIAaUIAQqAgQiByAHlJIgBCoCCCIFIAWUkiIIQwAAgCheBH8gAEEMaiAFIAgQmAEiBZU4AgAgAEEIaiAHIAWVOAIAIAAgBiAFlTgCBEEBBUEACzYCAAtwAgJ/An1DAACgQCEEQwAAoEBDAACAPyAAQR91IgEgAHMgAWsiAUEBcRshAyABQQJPBEADQCADIAQgBJQiBEMAAIA/IAFBAnEblCEDIAFBA0shAiABQQF2IQEgAg0ACwtDAACAPyADlSADIABBAEgbC2wCAX4BfwJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIDpyADQiCIpxCTByIERQ0CIARB7ABqQQMgAiACQQNPGzoAACAAQQA2AgAPCxCQDQALEJENAAtB2LPAAEHMAEHctMAAEO8JAAtsAgF+AX8CQAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iA6cgA0IgiKcQkwciBEUNAiAEQe0AakEDIAIgAkEDTxs6AAAgAEEANgIADwsQkA0ACxCRDQALQdizwABBzABB3LTAABDvCQALbAIBfgF/AkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IgOnIANCIIinEJMHIgRFDQIgBEHYAGogAkEAIAJBB00bNgIAIABBADYCAA8LEJANAAsQkQ0AC0HYs8AAQcwAQdy0wAAQ7wkAC2wCAX4BfwJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIDpyADQiCIpxCTByIERQ0CIARB3ABqIAJBACACQQNNGzYCACAAQQA2AgAPCxCQDQALEJENAAtB2LPAAEHMAEHctMAAEO8JAAttAgF+AX8CQAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iA6cgA0IgiKcQkwciBEUNAiAEQeAAakEAIAIgAkHQI3EbOwEAIABBADYCAA8LEJANAAsQkQ0AC0HYs8AAQcwAQdy0wAAQ7wkAC9ALASZ/IwBB8AhrIgIkACMAQaADayIBJAAgAUGIA2oiAEEIaiIDQgA3AwAgAEEQaiIEQgA3AwAgAUHwAmoiAEEIaiIFQgA3AwAgAEEQaiIGQgA3AwAgAUHYAmoiAEEQaiIHQgA3AwAgAEEIaiIIQgA3AwAgAUHAAmoiAEEQaiIJQgA3AwAgAEEIaiIKQgA3AwAgAUGoAmoiAEEQaiILQgA3AwAgAEEIaiIMQgA3AwAgAUGQAmoiAEEQaiINQgA3AwAgAEEIaiIOQgA3AwAgAUH4AWoiAEEQaiIPQgA3AwAgAEEIaiIQQgA3AwAgAUHgAWoiAEEQaiIRQgA3AwAgAEEIaiISQgA3AwAgAUHIAWoiAEEQaiITQgA3AwAgAEEIaiIUQgA3AwAgAUGwAWoiAEEQaiIVQgA3AwAgAEEIaiIWQgA3AwAgAUGYAWoiAEEQaiIXQgA3AwAgAEEIaiIYQgA3AwAgAUGAAWoiAEEQaiIZQgA3AwAgAEEIaiIaQgA3AwAgAUHoAGoiAEEQaiIbQgA3AwAgAEEIaiIcQgA3AwAgAUHIAGoiAEEYaiIdQgA3AwAgAEEQaiIeQgA3AwAgAEEIaiIfQgA3AwAgAUEwaiIAQRBqIiBCADcDACAAQQhqIiFCADcDACABQRhqIgBBEGoiIkIANwMAIABBCGoiI0IANwMAIAFBEGoiJEIANwMAIAFBCGoiJUIANwMAIAJBCGoiAEIANwMAIABBGGogBCkDADcDACAAQRBqIAMpAwA3AwAgACABKQOIAzcDCCAAQTBqIAYpAwA3AwAgAEEoaiAFKQMANwMAIAAgASkD8AI3AyAgAEHIAGogBykDADcDACAAQUBrIAgpAwA3AwAgACABKQPYAjcDOCAAQeAAaiAJKQMANwMAIABB2ABqIAopAwA3AwAgACABKQPAAjcDUCAAQfgAaiALKQMANwMAIABB8ABqIAwpAwA3AwAgACABKQOoAjcDaCAAQZABaiANKQMANwMAIABBiAFqIA4pAwA3AwAgACABKQOQAjcDgAEgAEGoAWogDykDADcDACAAQaABaiAQKQMANwMAIAAgASkD+AE3A5gBIABBwAFqIBEpAwA3AwAgAEG4AWogEikDADcDACAAIAEpA+ABNwOwASAAQdgBaiATKQMANwMAIABB0AFqIBQpAwA3AwAgACABKQPIATcDyAEgAEHwAWogFSkDADcDACAAQegBaiAWKQMANwMAIAAgASkDsAE3A+ABIABCADcDkAIgAEEANgKIAiAAQgA3A4ACIABBqAJqIBcpAwA3AwAgAEGgAmogGCkDADcDACAAIAEpA5gBNwOYAiAAQcACaiAZKQMANwMAIABBuAJqIBopAwA3AwAgACABKQOAATcDsAIgAEHYAmogGykDADcDACAAQdACaiAcKQMANwMAIAAgASkDaDcDyAIgAEH4AmogHSkDADcDACAAQfACaiAeKQMANwMAIABB6AJqIB8pAwA3AwAgACABKQNINwPgAiAAQZADaiAgKQMANwMAIABBiANqICEpAwA3AwAgACABKQMwNwOAAyAAQagDaiAiKQMANwMAIABBoANqICMpAwA3AwAgACABKQMYNwOYAyAAQcADaiAkKQMANwMAIABBuANqICUpAwA3AwAgACABKQMANwOwAyAAQagEakIENwMAIABBoARqQgA3AwAgAEKAgICAwAA3A5gEIABBkARqQgQ3AwAgAEGIBGpCADcDACAAQoCAgIDAADcDgAQgAEH4A2pCBDcDACAAQfADakIANwMAIABCgICAgMAANwPoAyAAQQE6AOADIABBADYC2AMgAEIANwPQAyABQaADaiQAIAJBwARqIABBsAQQow0aQZH6wwAtAAAaQbgEQQgQowwiAEUEQEEIQbgEQdiAxAAoAgAiAEGjByAAGxEAAAALIABBADYCACAAQQRqIAJBvARqQbQEEKMNGiACQfAIaiQAIAALaQECfyMAQSBrIgIkACACIAE2AgRBASEDAkAgACgCACABRg0AQQIhAyAAKAIEIAFGDQBBACEDIAAoAgggAUYNACACQQA2AgggAEEIaiACQQRqIAJBCGpBpK7CABD4CgALIAJBIGokACADC3sBAX8jAEHAAWsiAyQAIANBqAFqQgA3AwAgA0G4AWpBADYCACADQoKAgIAwNwMIIANCgICAgBA3AwAgA0IANwOgASADQgA3A7ABIANBEGpBAEGQARCiDRogA0EANgK8ASAAIAEgAyACQQAQHiAAQQM2AhAgA0HAAWokAAt7AQF/IwBBwAFrIgMkACADQagBakIANwMAIANBuAFqQQA2AgAgA0KCgICAMDcDCCADQoCAgIAQNwMAIANCADcDoAEgA0IANwOwASADQRBqQQBBkAEQog0aIANBADYCvAEgACABIAMgAkEAEB0gAEEDNgIQIANBwAFqJAALewEBfyMAQcABayIDJAAgA0GoAWpCADcDACADQbgBakEANgIAIANCgoCAgDA3AwggA0KAgICAEDcDACADQgA3A6ABIANCADcDsAEgA0EQakEAQZABEKINGiADQQA2ArwBIAAgASADIAJBABAgIABBAzYCECADQcABaiQAC3sBAX8jAEHAAWsiAyQAIANBqAFqQgA3AwAgA0G4AWpBADYCACADQoKAgIAwNwMIIANCgICAgBA3AwAgA0IANwOgASADQgA3A7ABIANBEGpBAEGQARCiDRogA0EANgK8ASAAIAEgAyACQQAQHCAAQQM2AhAgA0HAAWokAAt7AQF/IwBBwAFrIgMkACADQagBakIANwMAIANBuAFqQQA2AgAgA0KCgICAMDcDCCADQoCAgIAQNwMAIANCADcDoAEgA0IANwOwASADQRBqQQBBkAEQog0aIANBADYCvAEgACABIAMgAkEAEB8gAEEDNgIQIANBwAFqJAALfAEBfyMAQcABayIEJAAgBEGoAWpCADcDACAEQbgBakEANgIAIARCgoCAgDA3AwggBEKAgICAEDcDACAEQgA3A6ABIARCADcDsAEgBEEQakEAQZABEKINGiAEQQA2ArwBIAAgASgCBCABKAIIIAQgAiADECMgBEHAAWokAAtwAQF/IwBBIGsiAiQAAn9BASAAIAEQ4QQNABogAkEUakIANwIAIAJBATYCDCACQbDZwwA2AgggAkHowMMANgIQQQEgASgCFCABQRhqKAIAIAJBCGoQoQINABogAEEEaiABEOEECyEAIAJB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QSBqJAAgAEEAIARCmdbpx/True4qhSADQryVw7/u/bSrYIWEUBsLcQIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJkEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCmdbpx/True4qhSADQryVw7/u/bSrYIWEUBsLcwIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCgJ29s6vYydTpAIUgA0KDyIjC7pew7Ll/hYRQGwtyAgF/An4jAEEgayICJAAgAkEYaiAAIAEoAmARAAAgAkEIaiACKAIYIgAgAigCHEEMaigCABEAACACQRBqKQMAIQMgAikDCCEEIAJBIGokACAAQQAgBELy6eKc4PPT+wWFIANCw7WZyZrEuO/EAIWEUBsLcQIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCg8D608y8m90RhSADQrXNucb+l+7DGYWEUBsLcQIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJkEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCg8D608y8m90RhSADQrXNucb+l+7DGYWEUBsLcgIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARC09792/DyxLK8f4UgA0LgnLDxtMDE9USFhFAbC3ICAX8CfiMAQSBrIgIkACACQRhqIAAgASgCZBEAACACQQhqIAIoAhgiACACKAIcQQxqKAIAEQAAIAJBEGopAwAhAyACKQMIIQQgAkEgaiQAIABBACAEQtPe/dvw8sSyvH+FIANC4Jyw8bTAxPVEhYRQGwtzAgF/An4jAEEgayICJAAgAkEYaiAAIAEoAmARAAAgAkEIaiACKAIYIgAgAigCHEEMaigCABEAACACQRBqKQMAIQMgAikDCCEEIAJBIGokACAAQQAgBEKCn6eJj9vSrtUAhSADQqOfwI7cueyu8ACFhFAbC3MCAX8CfiMAQSBrIgIkACACQRhqIAAgASgCZBEAACACQQhqIAIoAhgiACACKAIcQQxqKAIAEQAAIAJBEGopAwAhAyACKQMIIQQgAkEgaiQAIABBACAEQoKfp4mP29Ku1QCFIANCo5/Ajty57K7wAIWEUBsLcQIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARC+9HAgq20791bhSADQrnO5I6d39WHZoWEUBsLfQEBf0GR+sMALQAAGkEcQQQQowwiAkUEQEEEQRxB2IDEACgCACIAQaMHIAAbEQAAAAsgAiABKQIANwIAIAJBGGogAUEYaigCADYCACACQRBqIAFBEGopAgA3AgAgAkEIaiABQQhqKQIANwIAIABBqNLCADYCBCAAIAI2AgALaAAjAEEwayIAJABBkPrDAC0AAARAIABBGGpCATcCACAAQQI2AhAgAEGkusMANgIMIABBAjYCKCAAIAE2AiwgACAAQSRqNgIUIAAgAEEsajYCJCAAQQxqQcy6wwAQ7woACyAAQTBqJAALyQMBDH8jAEEQayIFJAACQCAABEAgACgCACIDQX9GDQEgACADQQFqNgIAIAUgATYCDCAFQQxqIQgjAEEgayICJAAgAkGBATYCCCACQQxqIABBBGoQggsCQCACKAIMIgEgAigCECIHRg0AIAIoAhQhBiACKAIYIglBDGohCgNAIAFBFGohAwJAAkAgASgCACILQX9HBEAgAUEQaigCACIMDQELIAMgB0YNAwwBCwJAIAFBBGooAgAiBCAJQRBqKAIATw0AIAooAgAiDUUNACANIARBlAJsaiIEKAIAQYCAgIB4Rg0AIAQoApACIAFBCGooAgBHDQACQCAMIARBCGooAgBJBEAgBEEEaigCAA0BC0GkiMAAQStB2KLAABC5CgALIAIgBq0gC61CIIaEvxAANgIcIAIgCCACQQhqIAJBHGoQxwogAigCBCIBQYQBTwRAIAEQAgsgAigCHCIBQYQBTwRAIAEQAgsgAyAHRw0BDAMLQYCAwABBE0HIosAAEO8JAAsgBkEBaiEGIAMhAQwACwALIAIoAggiAUGEAU8EQCABEAILIAJBIGokACAAIAAoAgBBAWs2AgAgBUEQaiQADwsQkA0ACxCRDQALnQIBBn8jAEEQayIDJAACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIAMgATYCDCADQQxqIQYjAEEgayIBJAAgAUGBATYCCCABQQxqIABBBGoQ9gogASgCFCEEIAEoAhAhByABKAIMIQIDQAJAAkACQCACIAdHBEAgAigCAA0BDAILIAEoAggiAkGEAU8EQCACEAILIAFBIGokAAwCCyABIAStIAJBBGo1AgBCIIaEvxAANgIcIAEgBiABQQhqIAFBHGoQxwogASgCBCIFQYQBTwRAIAUQAgsgASgCHCIFQYQBSQ0AIAUQAgsgAkHwAmohAiAEQQFqIQQMAQsLIAAgACgCAEEBazYCACADQRBqJAAPCxCQDQALEJENAAudAgEGfyMAQRBrIgMkAAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAyABNgIMIANBDGohBiMAQSBrIgEkACABQYEBNgIIIAFBDGogAEEEahD3CiABKAIUIQQgASgCECEHIAEoAgwhAgNAAkACQAJAIAIgB0cEQCACKAIADQEMAgsgASgCCCICQYQBTwRAIAIQAgsgAUEgaiQADAILIAEgBK0gAkEEajUCAEIghoS/EAA2AhwgASAGIAFBCGogAUEcahDHCiABKAIEIgVBhAFPBEAgBRACCyABKAIcIgVBhAFJDQAgBRACCyACQagBaiECIARBAWohBAwBCwsgACAAKAIAQQFrNgIAIANBEGokAA8LEJANAAsQkQ0AC9QBAQR/IwBBEGsiBSQAIAVBCGohBkGR+sMALQAAGkEYQQQQowwiBEUEQEEEQRhB2IDEACgCACIEQaMHIAQbEQAAAAsgBCADOAIUIAQgAjgCECAEIAE4AgwgBCAAOAIIIARCgYCAgBA3AgAgBkG0iMMANgIEIAYgBDYCAEGR+sMALQAAGiAFKAIMIQYgBSgCCCEHQQxBBBCjDCIERQRAQQRBDEHYgMQAKAIAIgRBowcgBBsRAAAACyAEIAY2AgggBCAHNgIEIARBADYCACAFQRBqJAAgBAvOAQAgAEL////7////v383AzAgAEL////79///v/8ANwMoIABC////+/f//7//ADcDICAAQv////v3//+//wA3AxggAEL////79///v/8ANwMQIABC////+/f//7//ADcDCCAAQv////v3//+//wA3AwAgAEHYAGpC////+////79/NwMAIABB0ABqQv////v///+/fzcDACAAQcgAakL////7////v383AwAgAEFAa0L////7////v383AwAgAEE4akL////7////v383AwALYAEDfSAAIAIqAhAiBCABKgIAIgOSOAIMIAAgBCADkzgCACAAQRRqIAMgAkEYaioCACIEkjgCACAAQRBqIAMgAkEUaioCACIFkjgCACAAIAQgA5M4AgggACAFIAOTOAIEC1sAQX8CfyAAQwAAAD+SIAGVjSIAIAKzIgEgACABXRtDAAAAACAAQwAAAABeGyIAQwAAAABgIQIgAiAAQwAAgE9dcQRAIACpDAELQQALQQAgAhsgAEP//39PXhsLWQECfwJAIAAoAgAiAEEQaigCACIBRQ0AIABBFGooAgAhAiABQQA6AAAgAkUNACABEJUCCwJAIABBf0YNACAAIAAoAgQiAUEBazYCBCABQQFHDQAgABCVAgsLlAEBAX9BkfrDAC0AABpB+ABBBBCjDCIARQRAQQRB+ABB2IDEACgCACIAQaMHIAAbEQAAAAsgAEKAgICAgICAwD83AhQgAEIANwIMIABBfzYCCCAAQoCAgIBwNwIAIABBHGpBAEHEABCiDRogAEECOgB0IABBADYCcCAAQoCAgICAgIDAPzcCaCAAQoCAgPwDNwJgIAALgAECAX8BfkGR+sMALQAAGkE8QQQQowwiAUUEQEEEQTxB2IDEACgCACIBQaMHIAEbEQAAAAsgAUIBNwI0IAFBADYCKCABQgQ3AiAgAUIANwIYIAFCgICAgMAANwIQIAFCBDcCCCABQgA3AgAgASAAvSICPgIsIAEgAkIgiD4CMCABC2MCAX4BfwJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIDpyADQiCIpxCSByIERQ0CIARBKGogAjgCACAAQQA2AgAPCxCQDQALEJENAAtBwLLAAEHNAEHIs8AAEO8JAAtkAgF+AX8CQAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iA6cgA0IgiKcQkgciBEUNAiAEQZwBaiACOAIAIABB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BCACKgIAlJI4AgAgA0EQaiQAC1oAIAAgAS0AA0EARyACLQADQQBHcToAAyAAIAEtAAJBAEcgAi0AAkEAR3E6AAIgACABLQABQQBHIAItAAFBAEdxOgABIAAgAS0AAEEARyACLQAAQQBHcToAAAtWAAJAIAAEQCAAKAIADQEgAEEANgIAIABBHGogA0EARzoAACAAQRhqIAI4AgAgAEEUakEBNgIAIABBEGogATgCACAAQQxqQQE2AgAPCxCQDQALEJENAAtVAgF/AX4CQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQ3gghAiAAIAAoAgBBAWs2AgAgAkEARw8LEJANAAsQkQ0AC2ECAX4BfwJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIDpyADQiCIpxCSByIERQ0CIAQgAjgCmAEgAEEANgIADwsQkA0ACxCRDQALQcCywABBzQBByLPAABDvCQALYQIBfgF/AkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IgOnIANCIIinEJIHIgRFDQIgBCACNgK8AiAAQQA2AgAPCxCQDQALEJENAAtBwLLAAEHNAEHIs8AAEO8JAAtVAgF/AX4CQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQqAohAiAAIAAoAgBBAWs2AgAgAkEARw8LEJANAAsQkQ0AC2ECAX4BfwJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIDpyADQiCIpxCTByIERQ0CIAQgAjgClAEgAEEANgIADwsQkA0ACxCRDQALQdizwABBzABB3LTAABDvCQALYAIBfgF/AkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IgOnIANCIIinEJMHIgRFDQIgBCACOAJkIABBADYCAA8LEJANAAsQkQ0AC0HYs8AAQcwAQdy0wAAQ7wkAC2ECAX4BfwJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIDpyADQiCIpxCTByIERQ0CIAQgAjgCmAEgAEEANgIADwsQkA0ACxCRDQALQdizwABBzABB3LTAABDvCQALgQECAn8BfgJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIFpyAF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ByAGQQJrQQNPBEAgAkF8cSEGIAshAQNAIAEgBTYCACABQRxqIAVBBGoiBDYCACABQRhqIAVBA2oiCDYCACABQRRqIAg2AgAgAUEQaiAFQQJqIgg2AgAgAUEMaiAINgIAIAFBCGogBUEBaiIINgIAIAEgCDYCBCABQSBqIQEgBCEFIAQgBkcNAAsLIAcEQCALIARBA3RqIQEDQCABIAQ2AgAgASAEQQFqIgQ2AgQgAUEIaiEBIAdBAWsiBw0ACwsgAiESDAILDAgLIAEoAgghAiABKAIEIQsLIANBKGpCBDcCACADQSBqQgA3AgBBACEEIANBOGpBADYCACADQoCAgIDAADcCMCADQoCAgICAAjcCGCADQv////v///+/fzcCECADQv////v3//+/fzcCCCADQv////v3//+//wA3AgAgA0EBOgBLAkACQAJAIAJFBEAgA0EANgJUIANCgICAgMAANwJMIANBADYCRCADQoCAgIDAADcCPCADQQA2AmAgA0KAgICAwAA3AlgMAQtBkfrDAC0AABogAkECdCIBQQQQowwiBEUNCSADQQA2AlQgAyAENgJQIAMgAjYCTCACQdWq1SpLDQMgAkEYbCIBQQBIDQNBkfrDAC0AABogAUEEEKMMIgdFDQIgByEBAkAgAkECSQ0AIAJBAWsiBkEDcSEEIAJBAmtBA08EQCAGQXxxIQUDQCABQv////v///+/fzcCECABQv////v3//+/fzcCCCABQv////v3//+//wA3AgAgAUHYAGpC////+////79/NwIAIAFB0ABqQv////v3//+/fzcCACABQcgAakL////79///v/8ANwIAIAFBQGtC////+////79/NwIAIAFBOGpC////+/f//79/NwIAIAFBMGpC////+/f//7//ADcCACABQShqQv////v///+/fzcCACABQSBqQv////v3//+/fzcCACABQRhqQv////v3//+//wA3AgAgAUHgAGohASAFQQRrIgUNAAsLIARFDQADQCABQv////v///+/fzcCECABQv////v3//+/fzcCCCABQv////v3//+//wA3AgAgAUEYaiEBIARBAWsiBA0ACwsgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAMgAjYCYCADIAc2AlwgAyACNgJYIAJBDGwiAUEASA0DQZH6wwAtAAAaIAFBBBCjDCIORQ0JIAJBA3QhByAOIQECQCACQQJJDQAgAkEBayIGQQNxIQQgAkECa0EDTwRAIAZBfHEhBQNAIAFCfzcCCCABQQA6AAQgAUF/NgIAIAFBLGpBfzYCACABQShqQQA6AAAgAUEgakJ/NwIAIAFBHGpBADoAACABQRRqQn83AgAgAUEQakEAOgAAIAFBMGohASAFQQRrIgUNAAsLIARFDQADQCABQX82AgggAUEAOgAEIAFBfzYCACABQQxqIQEgBEEBayIEDQALCyAHIAtqIRQgAUF/NgIIIAFBADoABCABQX82AgAgAyACNgJEIAMgDjYCQCADIAI2AjwgDSgCBCETIA0oAgghECADQTxqIRUgAiEHQQAhBCALIREDQCARKAIAIgEgEE8NBSARQQRqKAIAIgYgEE8NBiAEQQFqIQggEyAGQQxsaiIGKgIEIRcgBioCACEYIAYqAgghGSATIAFBDGxqIgEqAgAhGiABKgIEIRsgASoCCCEcIAQgB08EQCAIIAciBmsiCSADKAI8IAZrSwRAIBUgByAJEI8GIAMoAkAhDiADKAJEIQYLIA4gBkEMbGohASAJQQJPBEAgBCAHayIFQQNxIQwgBCAHQX9zakEDTwRAIAVBfHEhBQNAIAFCfzcCCCABQQA6AAQgAUF/NgIAIAFBLGpBfzYCACABQShqQQA6AAAgAUEgakJ/NwIAIAFBHGpBADoAACABQRRqQn83AgAgAUEQakEAOgAAIAFBMGohASAFQQRrIgUNAAsLIAwEQCAPIAdrQQNxIQUDQCABQX82AgggAUEAOgAEIAFBfzYCACABQQxqIQEgBUEBayIFDQALCyAGIAlqQQFrIQYLIAFBfzYCCCABQQA6AAQgAUF/NgIAIAMgBkEBaiIHNgJEIAMgAygCYCIJIARNBH8gCCAJIgZrIQwgDCADKAJYIAZrSwRAIANB2ABqIAkgDBCmBiADKAJgIQYLIAMoAlwgBkEYbGohASAMQQJPBEAgBCAJayIFQQNxIRYgBCAJQX9zakEDTwRAIAVBfHEhBQNAIAFC////+////79/NwIQIAFC////+/f//79/NwIIIAFC////+/f//7//ADcCACABQdgAakL////7////v383AgAgAUHQAGpC////+/f//79/NwIAIAFByABqQv////v3//+//wA3AgAgAUFAa0L////7////v383AgAgAUE4akL////79///v383AgAgAUEwakL////79///v/8ANwIAIAFBKGpC////+////79/NwIAIAFBIGpC////+/f//79/NwIAIAFBGGpC////+/f//7//ADcCACABQeAAaiEBIAVBBGsiBQ0ACwsgFgRAIA8gCWtBA3EhBQNAIAFC////+////79/NwIQIAFC////+/f//79/NwIIIAFC////+/f//7//ADcCACABQRhqIQEgBUEBayIFDQALCyAGIAxqQQFrIQYLIAFC////+////79/NwIQIAFC////+/f//79/NwIIIAFC////+/f//7//ADcCACAGQQFqBSAICzYCYAsgBCAHTw0HIA4gBEEMbGogBDYCCCADKAJgIgEgBE0NCCADKAJcIARBGGxqIgEgHCAZIBwgG0MAAAAAlCIfIBpDAAAAAJQiIJIiI5IgGSAYQwAAAACUIiEgF0MAAAAAlCIikiIkkl4bOAIUIAEgGyAXIBxDAAAAAJQiHSAbICCSkiAhIBeSIBlDAAAAAJQiHpJeGzgCECABIBogGCAdIBogH5KSIBggIpIgHpJeGzgCDCABIBwgGSAjIByTICQgGZNeGzgCCCABIBsgFyAdICAgG5OSICEgF5MgHpJeGzgCBCABIBogGCAdIB8gGpOSICIgGJMgHpJeGzgCACADKAJUIgEgAygCTEYEQCADQcwAaiABELMGIAMoAlQhAQsgAygCUCIFIAFBAnRqIAQ2AgAgAyABQQFqIgE2AlQgD0EBaiEPIAghBCAUIBFBCGoiEUcNAAsgAygCGCIEIAMoAiAiB0cNAQsgA0EYaiAEELQGIAMoAlQhASADKAJQIQUgAygCICEHCyADKAIcIAdBB3RqIgRCgYCAgHA3A2AgBEEAOgB4IARBADoAdCAEQX82AnAgBEL////7////v383A1ggBEL////7////v383A1AgBEL////7////v383A0ggBEL////7////v383A0AgBEL////7////v383AzggBEL////7////v383AzAgBEL////79///v/8ANwMoIARC////+/f//7//ADcDICAEQv////v3//+//wA3AxggBEL////79///v/8ANwMQIARC////+/f//7//ADcDCCAEQv////v3//+//wA3AwAgBEHoAGpCfzcDACADIAdBAWo2AiAgA0HkAGogAyADQcsAaiAFIAEgA0HYAGpBAEEAEEEgAyADQfwAaioCACIXOAIUIAMgA0H4AGoqAgAiGDgCECADIANB9ABqKgIAIhk4AgwgAyADQfAAaioCACIaOAIIIAMgA0HsAGoqAgAiGzgCBCADIAMqAmgiHDgCACADKAIgRQ0GIAMoAhwiAUH///97NgJcIAFC////+////79/NwJUIAEgFzgCUCABQf///3s2AkwgAUL////7////v383AkQgASAYOAJAIAFB////ezYCPCABQv////v///+/fzcCNCABIBk4AjAgAUH////7BzYCLCABQv////v3//+//wA3AiQgASAaOAIgIAFB////+wc2AhwgAUL////79///v/8ANwIUIAEgGzgCECABQf////sHNgIMIAFC////+/f//7//ADcCBCABIBw4AgAgAygCWARAIAMoAlwQlQILIAMoAkwEQCAFEJUCCyAKQRhqIANByAAQow0aIApBFGogAjYCACAKQRBqIAs2AgAgCiASNgIMIApBCGogDUEIaigCADYCACAKIA0pAgA3AgAgA0GAAWokAAwICwwGCxDuCgALIAEgEEHgycIAEO0IAAsgBiAQQfDJwgAQ7QgACyAEIAdBwJnCABDtCAALIAQgAUHQmcIAEO0IAAtBAEEAQbCZwgAQ7QgAC0EEIAFB2IDEACgCACIAQaMHIAAbEQAAAAtBkfrDAC0AABpB6ABBBBCjDCIBRQRAQQRB6ABB2IDEACgCACIAQaMHIAAbEQAAAAsgAUKBgICAEDcCACABQQhqIApB4AAQow0aIABB6NjCADYCBCAAIAE2AgAgCkHgAGokAAt4AgF/AX0jAEHgAGsiAiQAIAIgARDXAUGR+sMALQAAGiABKgJgIQNB5ABBBBCjDCIBRQRAQQRB5ABB2IDEACgCACIAQaMHIAAbEQAAAAsgASACQeAAEKMNIgEgAzgCYCAAQaSDwwA2AgQgACABNgIAIAJB4ABqJAALXQEBfyMAQTBrIgMkACADIAE2AgwgAyAANgIIIANBHGpCATcCACADQQE2AhQgA0HI2cMANgIQIANBuwc2AiwgAyADQShqNgIYIAMgA0EIajYCKCADQRBqIAIQ7woAC70CAQN/IwBBoAFrIgIkAAJAIAAEQCAAKAIADQEgAkEEaiIBIABBBGpBnAEQow0aIAAQlQIgASgCkAEiACgCACEDIAAgA0EBazYCACADQQFGBEAgAUGQAWoQoggLIAFB4ABqKAIABEAgAUHkAGooAgAQlQILIAFB7ABqKAIABEAgAUHwAGooAgAQlQILIAFB+ABqKAIABEAgAUH8AGooAgAQlQILIAFBhAFqKAIABEAgAUGIAWooAgAQlQILIAEoAgAEQCABKAIEEJUCCyABKAIMBEAgAUEQaigCABCVAgsgASgCGARAIAFBHGooAgAQlQILIAEoAiQEQCABQShqKAIAEJUCCyABKAIwBEAgAUE0aigCABCVAgsgASgCPARAIAFBQGsoAgAQlQILIAJBoAFqJAAPCxCQDQALEJENAAvwAgEDfyMAQaABayIBJAAgAUEEaiEAQZH6wwAtAAAaQQhBBBCjDCICRQRAQQRBCEHYgMQAKAIAIgBBowcgABsRAAAACyAAQYquj+EDNgKYASAAQZTkwQA2ApQBIAAgAjYCkAEgAEIENwKIASAAQgA3AoABIABCgICAgMAANwJ4IABCBDcCcCAAQgA3AmggAEKAgICAgAI3AmAgAEL////7////v383AlggAEL////79///v383AlAgAEL////79///v/8ANwJIIABCBDcCQCAAQgA3AjggAEKAgICAEDcCMCAAQgQ3AiggAEIANwIgIABCgICAgMAANwIYIABCBDcCECAAQgA3AgggAEKAgICAwAA3AgAgAkKBgICAEDcCAEGR+sMALQAAGkGgAUEEEKMMIgBFBEBBBEGgAUHYgMQAKAIAIgBBowcgABsRAAAACyAAQQA2AgAgAEEEaiABQQRqQZwBEKMNGiABQaABaiQAIAALSwECfyMAQdAAayIBJAACQCAABEAgACgCAA0BIAFBBGoiAiAAQQRqQcwAEKMNGiAAEJUCIAIQmwcgAUHQAGokAA8LEJANAAsQkQ0AC/QDAQd/IwBB0ABrIgQkACAEQQRqIQEjAEEgayICJAAgAkEANgIYQQQhACACQQhqQQRBMCACQRRqEOEGIAIoAgwhAwJAIAIoAghFBEBBBCEFIAMhAAwBCyADQYGAgIB4Rg0AIANFBEAQ7goACyADIAJBEGooAgBB2IDEACgCACIAQaMHIAAbEQAAAAsgAEKAgICAEDcCACAAQoCAgIAQNwIYIABCATcCCCAAQShqQgA3AgAgAEEgakIDNwIAIABBEGpCgYCAgCA3AgBBkfrDAC0AABoCQAJAQaABQQQQowwiAwRAQZH6wwAtAAAaQYAeQQgQowwiBkUNASABQgA3AhggAUEKNgIoIAFCBDcCECABIAA2AgwgASAFNgIIIAFCATcCACABQSBqQgQ3AgAgAUHEAGpCBDcCACABQTxqQgA3AgAgAUE4aiAGNgIAIAFBMGpCgICAgKABNwIAIAFBLGogAzYCACACQSBqJAAMAgtBBEGgAUHYgMQAKAIAIgBBowcgABsRAAAAC0EIQYAeQdiAxAAoAgAiAEGjByAAGxEAAAALQZH6wwAtAAAaQdAAQQQQowwiAEUEQEEEQdAAQdiAxAAoAgAiAEGjByAAGxEAAAALIABBADYCACAAQQRqIARBBGpBzAAQow0aIARB0ABqJAAgAAtoAQJ/IwBB0ABrIgAkACAAQQxqENkKQZH6wwAtAAAaQcgAQQQQowwiAUUEQEEEQcgAQdiAxAAoAgAiAEGjByAAGxEAAAALIAFBADYCACABQQRqIABBDGpBxAAQow0aIABB0ABqJAAgAQtLAQJ/IwBB0ABrIgEkAAJAIAAEQCAAKAIADQEgAUEEaiICIABBBGpBzAAQow0aIAAQlQIgAhDuBiABQdAAaiQADwsQkA0ACxCRDQALSwECfyMAQdAAayIBJAACQCAABEAgACgCAA0BIAFBBGoiAiAAQQRqQcwAEKMNGiAAEJUCIAIQ8wUgAUHQAGokAA8LEJANAAsQkQ0AC8sDAQd/IwBB0ABrIgMkACADQQRqIQAjAEFAaiICJAAgAkEkaiIBQRBqIgRCADcCACABQQhqIgVCgICAgMAANwIAIAFBGGoiBkEANgIAIAJBADYCJCABQQQQ4AIgAkEIaiIBQRhqIAYoAgA2AgAgAUEQaiAEKQIANwMAIAFBCGogBSkCADcDACACIAIpAiQ3AwhBkfrDAC0AABoCQAJAQaABQQQQowwiAQRAQZH6wwAtAAAaQaABQQQQowwiBEUNAiAAIAIpAwg3AgAgAEKAgICAwAA3AhwgAEHEAGpCBDcCACAAQTxqQgA3AgAgAEE4aiAENgIAIABBMGpCgICAgKABNwIAIABBLGogATYCACAAQSRqQoCAgICgATcCACAAQRhqIAJBCGoiAUEYaigCADYCACAAQRBqIAFBEGopAwA3AgAgAEEIaiABQQhqKQMANwIAIAJBQGskAAwBCwwBC0GR+sMALQAAGkHQAEEEEKMMIgBFBEBBBEHQAEHYgMQAKAIAIgBBowcgABsRAAAACyAAQQA2AgAgAEEEaiADQQRqQcwAEKMNGiADQdAAaiQAIAAPC0EEQaABQdiAxAAoAgAiAEGjByAAGxEAAAALSwECfyMAQfAAayIBJAACQCAABEAgACgCAA0BIAFBDGoiAiAAQQRqQeQAEKMNGiAAEJUCIAIQkAQgAUHwAGokAA8LEJANAAsQkQ0AC5UCAQJ/IwBB8ABrIgEkACABQQxqIgBBADsBYCAAQoCAgIDAADcCECAAQoCAgIBwNwIIIABCgICAgMAANwIAIABCgICAgMAANwIcIABCgICAgMAANwJEIABBGGpBADYCACAAQSxqQgA3AgAgAEEoakH488AANgIAIABBJGpBADYCACAAQTRqQgA3AgAgAEHcAGpBADYCACAAQdQAakIANwIAIABB0ABqQfjzwAA2AgAgAEHMAGpBADYCACAAQTxqQgQ3AgBBkfrDAC0AABpB6ABBBBCjDCIARQRAQQRB6ABB2IDEACgCACIAQaMHIAAbEQAAAAsgAEEANgIAIABBBGogAUEMakHkABCjDRogAUHwAGokACAAC0sBAn8jAEHQAGsiASQAAkAgAARAIAAoAgANASABQQxqIgIgAEEEakHEABCjDRogABCVAiACENYFIAFB0ABqJAAPCxCQDQALEJENAAvJAwEHfyMAQdAAayIBJAAgAUEMaiEAQZH6wwAtAAAaAkACQAJAAkBBCEEEEKMMIgIEQCACQoGAgIAQNwIAQZH6wwAtAAAaQaABQQQQowwiA0UNBEGR+sMALQAAGkGwBEEEEKMMIgRFDQFBkfrDAC0AABpBoAFBBBCjDCIFRQ0EQZH6wwAtAAAaQcgBQQQQowwiBkUNAiAAIAI2AjwgAEKAgICAoAE3AhQgACAENgIQIABCgICAgKABNwIIIAAgAzYCBCAAQQo2AgAgAEFAa0GswMAANgIAIABBNGpCBDcCACAAQSxqQgA3AgAgAEEoaiAGNgIAIABBIGpCgICAgKABNwIAIABBHGogBTYCAAwDC0EEQQhB2IDEACgCACIAQaMHIAAbEQAAAAtBBEGwBEHYgMQAKAIAIgBBowcgABsRAAAAC0EEQcgBQdiAxAAoAgAiAEGjByAAGxEAAAALQZH6wwAtAAAaQcgAQQQQowwiAEUEQEEEQcgAQdiAxAAoAgAiAEGjByAAGxEAAAALIABBADYCACAAQQRqIAFBDGpBxAAQow0aIAFB0ABqJAAgAA8LQQRBoAFB2IDEACgCACIAQaMHIAAbEQAAAAuRAwEDfyMAQaABayIBJAAgAUEEaiEAQZH6wwAtAAAaQQhBBBCjDCICRQRAQQRBCEHYgMQAKAIAIgBBowcgABsRAAAACyAAIAI2ApABIAJCgYCAgBA3AgAgAEGKro/hAzYCmAEgAEL////79///v/8ANwJIIABCgICAgMAANwIAIABCADcCCCAAQgQ3AhAgAEKAgICAwAA3AhggAEIANwIgIABCBDcCKCAAQoCAgIAQNwIwIABCADcCOCAAQgQ3AkAgAEGUAWpBlOTBADYCACAAQYgBakIENwIAIABBgAFqQgA3AgAgAEH4AGpCgICAgMAANwIAIABB8ABqQgQ3AgAgAEHoAGpCADcCACAAQeAAakKAgICAgAI3AgAgAEHYAGpC////+////79/NwIAIABB0ABqQv////v3//+/fzcCAEGR+sMALQAAGkGgAUEEEKMMIgBFBEBBBEGgAUHYgMQAKAIAIgBBowcgABsRAAAACyAAQQA2AgAgAEEEaiABQQRqQZwBEKMNGiABQaABaiQAIAAL4AEBAn8jAEHABGsiAiQAAkAgAARAIAAoAgANASACQQRqIgEgAEEEakG8BBCjDRogABCVAiABKAKEAkGAgICAeEcEQCABQYQCahDuBgsgASgC0AJBgICAgHhHBEAgAUHQAmoQkAQLIAEoArQDQYCAgIB4RwRAIAFBtANqENYFCyABKAIQQQJHBEAgAUEQahD7BgsgASgCOEECRwRAIAFBOGoQgwYLIAEoAmxBAkcEQCABQewAahCbBwsgASgCuAFBAkcEQCABQbgBahDzBQsgAkHABGokAA8LEJANAAsQkQ0ACzUBAX8gAEEQaigCACIBBEAgACgCDCABQQJ0QQtqQXhxaxCVAgsgACgCAARAIAAoAgQQlQILC20BAX9BkfrDAC0AABpBGEEEEKMMIgJFBEBBBEEYQdiAxAAoAgAiAEGjByAAGxEAAAALIAIgASkCADcCACACQRBqIAFBEGopAgA3AgAgAkEIaiABQQhqKQIANwIAIABBvMvCADYCBCAAIAI2AgALSwEBfyMAQTBrIgMkACADQQxqIAAgAEEMaiAAQRhqIAEQgwICfyADKAIMQQRHBEBBASADKgIUIAJfDQEaC0EACyEAIANBMGokACAAC08BAX8CQCAABEAgACgCAA0BAkAgAEEMaigCACABTQ0AIABBCGooAgAiA0UNACADIAFB1AFsaiACOAKAAQsgAEEANgIADwsQkA0ACxCRDQALTwEBfwJAIAAEQCAAKAIADQECQCAAQQxqKAIAIAFNDQAgAEEIaigCACIDRQ0AIAMgAUHUAWxqIAI4AoQBCyAAQQA2AgAPCxCQDQALEJENAAtPAQF/AkAgAARAIAAoAgANAQJAIABBDGooAgAgAU0NACAAQQhqKAIAIgNFDQAgAyABQdQBbGogAjgCiAELIABBADYCAA8LEJANAAsQkQ0AC08BAX8CQCAABEAgACgCAA0BAkAgAEEMaigCACABTQ0AIABBCGooAgAiA0UNACADIAFB1AFsaiACOAKMAQsgAEEANgIADwsQkA0ACxCRDQALTwEBfwJAIAAEQCAAKAIADQECQCAAQQxqKAIAIAFNDQAgAEEIaigCACIDRQ0AIAMgAUHUAWxqIAI4ApABCyAAQQA2AgAPCxCQDQALEJENAAtPAQF/AkAgAARAIAAoAgANAQJAIABBDGooAgAgAU0NACAAQQhqKAIAIgNFDQAgAyABQdQBbGogAjgClAELIABBADYCAA8LEJANAAsQkQ0AC08BAX8CQCAABEAgACgCAA0BAkAgAEEMaigCACABTQ0AIABBCGooAgAiA0UNACADIAFB1AFsaiACOAKsAQsgAEEANgIADwsQkA0ACxCRDQALTwEBfwJAIAAEQCAAKAIADQECQCAAQQxqKAIAIAFNDQAgAEEIaigCACIDRQ0AIAMgAUHUAWxqIAI4AsABCyAAQQA2AgAPCxCQDQALEJENAAtPAQF/AkAgAARAIAAoAgANAQJAIABBDGooAgAgAU0NACAAQQhqKAIAIgNFDQAgAyABQdQBbGogAjgCuAELIABBADYCAA8LEJANAAsQkQ0AC08BAX8CQCAABEAgACgCAA0BAkAgAEEMaigCACABTQ0AIABBCGooAgAiA0UNACADIAFB1AFsaiACOAK8AQsgAEEANgIADwsQkA0ACxCRDQALTwEBfwJAIAAEQCAAKAIADQECQCAAQQxqKAIAIAFNDQAgAEEIaigCACIDRQ0AIAMgAUHUAWxqIAI4ApgBCyAAQQA2AgAPCxCQDQALEJENAAtPAQF/AkAgAARAIAAoAgANAQJAIABBDGooAgAgAU0NACAAQQhqKAIAIgNFDQAgAyABQdQBbGogAjgCnAELIABBADYCAA8LEJANAAsQkQ0AC6EHAg1/DH0CQAJAIABFDQAgACgCAA0BIABBfzYCACABRQ0AIAEoAgANASABQX82AgAgAUEEaiEEAkAgAEEEaiIFQSRqKAIAIgNFDQAgBUEgaigCACICIANBA3RqIQggBSgCDCIKBEAgBEEcaiELIAUoAhAhDANAIAJBCGohBQJAAkAgAigCACIDIAxPDQAgCiADQfACbGoiAygCAEUNACADKAIEIAJBBGooAgBGDQELIAggBSICRw0BDAMLAkACQCADQcACai0AAEECcUUNACADQeQCaigCACICRQ0AIANB4AJqKAIAIgYgAkEDdGohDQNAAkAgBigCACIJIAQoAhBPDQAgBCgCDCICRQ0AIAIgCUGoAWxqIgIoAgBFDQAgBkEEaigCACIOIAIoAgRHDQAgAkH4AGotAABBAXFFBEAgAkEBNgJ4IAQoAiQiByAEKAIcRgRAIAsgBxCwBiAEKAIkIQcLIAQgB0EBajYCJCAEKAIgIAdBA3RqIgcgDjYCBCAHIAk2AgALIAIoAghFDQMgAyoCSCEYIAMqAkwhGSADKgJQIRogAyoCQCERIAMqAjwhEiADKgJEIRQgAyoCOCETIAIgAigCeEEIcjYCeCACQYgBaiAUIAJBIGoqAgAiD5QgEyACQRRqKgIAIhCUkyASIAJBGGoqAgAiFpSTIBEgAkEcaioCACIXlJM4AgAgAkGEAWogESAPlCATIBaUIBQgF5SSIBIgEJSTkjgCACACQYABaiARIBCUIBIgD5QgFCAWlCATIBeUk5KSOAIAIAJB/ABqIBIgF5QgFCAQlCATIA+UkpIgESAWlJM4AgAgEyACQShqKgIAIhaUIBIgAkEkaioCACIXlJMiDyAPkiEPIBEgF5QgAkEsaioCACIVIBOUkyIQIBCSIRAgAkGUAWogGiAVIBQgD5QgEyAQlCASIBIgFZQgESAWlJMiFSAVkiIVlJOSkpI4AgAgAkGQAWogGSAWIBQgEJQgESAVlCATIA+Uk5KSkjgCACACQYwBaiAYIBcgFSAUlCASIA+UIBEgEJSTkpKSOAIACyANIAZBCGoiBkcNAAsLIAggBSICRw0BDAMLC0HYwMAAQStBhOTBABC5CgALIANBAWtB/////wFxIQUgA0EHcSIGBEADQCACQQhqIQIgBkEBayIGDQALCyAFQQdJDQADQCAIIAJBQGsiAkcNAAsLIAFBADYCACAAQQA2AgAPCxCQDQALEJENAAtFAQF/AkAgAQRAIAEoAgBBf0YNASAAIAEoAgRBA0cEfyABQQhqKAIAIQJBAQVBAAs2AgAgACACNgIEDwsQkA0ACxCRDQAL0AMCBX8CfCMAQRBrIgQkAAJAIAAEQCAAKAIADQEgAEF/NgIAIAQgATYCDCAEQQxqIQMjAEFAaiIBJAAgAUGBATYCGCABQRxqIABBBGoiAigCECIFIAJBFGooAgAiBhBhAkAgASgCHCICQQJGDQADQCABKwIsIQcgASsCJCEIAkAgAkUEQCABIAgQADYCNCABIAcQADYCOCABQYIBNgI8IAFBCGogAyABQRhqIAFBNGogAUE4aiABQTxqEKcKIAEoAgwiAkGEAU8EQCACEAILIAEoAjwiAkGEAU8EQCACEAILIAEoAjgiAkGEAU8EQCACEAILIAEoAjQiAkGEAUkNASACEAIMAQsgASAIEAA2AjQgASAHEAA2AjggAUGDATYCPCABQRBqIAMgAUEYaiABQTRqIAFBOGogAUE8ahCnCiABKAIUIgJBhAFPBEAgAhACCyABKAI8IgJBhAFPBEAgAhACCyABKAI4IgJBhAFPBEAgAhACCyABKAI0IgJBhAFJDQAgAhACCyABQRxqIAUgBhBhIAEoAhwiAkECRw0ACyABKAIYIgNBhAFJDQAgAxACCyABQUBrJAAgAEEANgIAIARBEGokAA8LEJANAAsQkQ0AC/sVAhp/An4jAEEQayIXJAACQCAABEAgACgCAA0BIABBfzYCACAXIAE2AgwgF0EMaiEZIwBB0ABrIgUkACAFQYEBNgIkIABBBGoiAUEcaigCACIEQYABaiEaIAEoAhghGwJAAkACQAJAAkACQAJAAkADQAJAAkACQAJAAkACQAJAAkAgG0EBaw4FAQIDBA4ACyAEKAIAIQFBACEHA0AgBCgCzAEgBCgCyAFBAWsgAXEiA0E0bGoiCCgCMCIJIAFBAWpHBEAgASAJRwRAIAdBBk0EQEEAIQEDQCABIAd2IQMgAUEBaiEBIANFDQALCyAEKAIAIQEgByAHQQtJaiEHDAILIAQoAkAgBCgCyAFBf3NxIAFGDQ9BBiAHIAdBBk8bIQJBACEBA0AgASACdiEDIAFBAWohASADRQ0ACyAEKAIAIQEgByAHQQdJaiEHDAELIAQoAsABIANBAWpNBEAgBCgCxAEiAyABQQAgA2txaiEJCyAEKAIAIgMgAUYhAiAEIAkgAyACGzYCACACDQVBBiAHIAdBBk8bIQhBACEBA0AgASAIdiECIAFBAWohASACRQ0ACyAHIAdBB0lqIQcgAyEBDAALAAsgBCgCBCEJIAQoAgAhAUEAIQYCQANAAkAgAUEBdiICQR9xIghBH0cEQCABQQJqIQcgAUEBcUUEQCACIAQoAkAiA0EBdkYNESAHIAEgA3NBP0tyIQcLIAkNASAGQQZNBEBBACEBA0AgASAGdiEDIAFBAWohASADRQ0ACwsgBCgCBCEJIAQoAgAhASAGIAZBC0lqIQYMAgsgBkEGTQRAQQAhAQNAIAEgBnYhAyABQQFqIQEgA0UNAAsLIAQoAgQhCSAEKAIAIQEgBiAGQQtJaiEGDAELIAQoAgAiAyABRiEBIAQgByADIAEbNgIAAkAgAQRAIAhBHkYEQCAJKAIAIgFFBEBBACEGA0AgBkEGTQRAQQAhAQNAIAEgBnYhAyABQQFqIQEgA0UNAAsLIAYgBkELSWohBiAJKAIAIgFFDQALCyABKAIAIQMgBCABNgIEIAQgB0F+cSADQQBHckECajYCAAsgCSAIQTRsIgdqIgFBBGohCiABQTRqIgItAABBAXFFBEBBACEGA0AgBkEGTQRAQQAhAQNAIAEgBnYhAyABQQFqIQEgA0UNAAsLIAYgBkELSWohBiACLQAAQQFxRQ0ACwsgCigCLCELIAooAighDCAKKAIkIQ0gCigCICEOIAooAhwhDyAKKAIYIRAgCigCFCERIAooAhAhEiAKKAIMIRMgCigCCCEUIAooAgQhFSAKKAIAIRYgCEEeRw0BQQAhAQNAIAEgCWoiAkE0aiIDLQAAQQJxRQRAIAMgAygCACIDQQRyNgIAIANBAnFFDQoLIAJB6ABqIgMtAABBAnFFBEAgAyADKAIAIgNBBHI2AgAgA0ECcUUNCgsgAUHoAGoiAUGYDEcNAAsMAwtBBiAGIAZBBk8bIQggBCgCBCEJQQAhAQNAIAEgCHYhAiABQQFqIQEgAkUNAAsgBiAGQQdJaiEGIAMhAQwBCwsgAiACKAIAIgFBAnI2AgAgAUEEcUUNBSAIQRxLDQAgCUHoAGohAwNAIAMgB2oiAS0AAEECcUUEQCABIAEoAgAiAUEEcjYCACABQQJxRQ0HCyAHQTRqIgdB5AtHDQALCyAJEJUCDAQLIAUgBC0AACIBOgAoIARBAToAACABDQRBACEHQeyAxAAoAgBB/////wdxBEBBvITEACgCAEEARyEHCyAELQABDQcCQCAEKAIMIgFFDQACf0HA+sMAKQMAIhxCAFIEQCAEKAIIIgYgAUEMbGoMAQsQoQgiAygCACEBIAMgAUEBazYCACAFIAM2AjggAykDCCEcIAFBAUYEQCAFQThqEMYJC0HA+sMAIBw3AwAgBCgCDCIBRQ0BIAQoAggiBiABQQxsagshA0EAIQFBACEJA0ACQCABIAZqIgooAgAiCCkDCCAcUQ0AIAhBFGoiAigCACEYIAIgGCAKQQRqKAIAIBgbNgIAIBgNACAKQQhqKAIAIgMEQCAIQRhqIAM2AgALIAQoAgwiAiAJTQ0JIAQoAgggAWoiAygCACEBIANBBGopAgAhHCADIANBDGogAiAJa0EMbEEMaxChDRogBCACQQFrNgIMIAFFDQIgBSABNgI4IAUgHDcCPAJAIAcNAEHsgMQAKAIAQf////8HcUUNAEG8hMQAKAIARQ0AIARBAToAAQsgBEEAOgAAAkAgHEIgiKciAkUNACACLQA1RQRAIAItADRFBEBBACEGA0AgBkEGTQRAQQAhAQNAIAEgBnYhAyABQQFqIQEgA0UNAAsLIAYgBkELSWohBiACLQA0RQ0ACwsgAigCACEBIAJBADYCACABRQ0NIAIoAjAhCyACKAIEIRYgAigCCCEVIAIoAgwhFCACKAIQIRMgAigCFCESIAIoAhghESACKAIcIRAgAigCICEPIAIoAiQhDiACKAIoIQ0gAigCLCEMIAIQlQIgBSgCOCEBDAELIAIoAgAhAyACQQA2AgAgA0UNECACQQE6ADQgAigCMCELIAIoAgQhFiACKAIIIRUgAigCDCEUIAIoAhAhEyACKAIUIRIgAigCGCERIAIoAhwhECACKAIgIQ8gAigCJCEOIAIoAighDSACKAIsIQwLIAEgASgCACIBQQFrNgIAIAFBAUYEQCAFQThqEOUJCyACDQYMDgsgCUEBaiEJIAYgAUEMaiIBaiADRw0ACwsgBw0KQeyAxAAoAgBB/////wdxRQ0KQbyExAAoAgBFDQogBEEBOgABDAoLAkAgBEEYai0AAA0AEO0KIAUpAxAiHSAEKQMIIhxUDQAgHCAdUQRAIAUoAhggBEEQaigCAEkNAQsgBEEBOgAYCyAFQcQAakIANwIAIAVBATYCPCAFQaSUwAA2AjggBUGAgMAANgJAIAVBOGpB8IbAABDvCgALIAVBKGogBEEIahCUAyAFQcQAakIANwIAIAVBATYCPCAFQaSUwAA2AjggBUGAgMAANgJAIAVBOGpBgIfAABDvCgALIAhBMGogBCgCxAEgAWo2AgAgCCgCLCELIAgoAighDCAIKAIkIQ0gCCgCICEOIAgoAhwhDyAIKAIYIRAgCCgCFCERIAgoAhAhEiAIKAIMIRMgCCgCCCEUIAgoAgQhFSAIKAIAIRYgGhDnAQtBkfrDAC0AABpBNEEEEKMMIgFFDQUgASALNgIwIAEgDDYCLCABIA02AiggASAONgIkIAEgDzYCICABIBA2AhwgASARNgIYIAEgEjYCFCABIBM2AhAgASAUNgIMIAEgFTYCCCABIBY2AgQgAUEANgIAIAUgARAGNgI4IAVBCGogGSAFQSRqIAVBOGoQxwogBSgCDCIBQYQBTwRAIAEQAgsgBSgCOCIBQYQBSQ0BIAEQAgwBCwsgBUIANwJEIAVBgIDAADYCQCAFQQE2AjwgBUGEkcAANgI4IAVBKGogBUE4ahDwCgALIAkgAkGohcAAEOsIAAsgBSAHOgA8IAUgBDYCOEG4hcAAQSsgBUE4akGQh8AAQfCIwAAQiAgAC0GkiMAAQStB0IjAABC5CgALQQRBNEHYgMQAKAIAIgBBowcgABsRAAAACyAEQQA6AAALIAUoAiQiAUGEAU8EQCABEAILIAVB0ABqJAAMAQtBpIjAAEErQeCIwAAQuQoACyAAQQA2AgAgF0EQaiQADwsQkA0ACxCRDQALTwEBfwJAAn8gACgCACIEBEBBACAEIAEgAiADIAAoAgQoAhQREABFDQEaCyAAKAIIIgQNAUEBCw8LIAQgASACIAMgAEEMaigCACgCGBEQAAtBAQJ/AkAgAARAIAAoAgANASAAQcgAaigCACEBIABBxABqKAIAIQIgABCVAiACBEAgARCVAgsPCxCQDQALEJENAAtOACAAIAAtALoCQQEgAUH/AXEiAXRyOgC6AiAAIAFBHGxqIgBBnAFqIAU4AgAgAEGYAWogBDgCACAAQZQBaiACOAIAIABBkAFqIAM4AgALbQIBfwF9QZH6wwAtAAAaIAEqAgwhA0EQQQQQowwiAkUEQEEEQRBB2IDEACgCACIAQaMHIAAbEQAAAAsgAiADOAIMIAIgASkCADcCACACQQhqIAFBCGooAgA2AgAgAEG0iMMANgIEIAAgAjYCAAttAQN9QZH6wwAtAAAaIAEqAgghAiABKgIEIQMgASoCACEEQQxBBBCjDCIBRQRAQQRBDEHYgMQAKAIAIgBBowcgABsRAAAACyABIAI4AgggASADOAIEIAEgBDgCACAAQdyAwwA2AgQgACABNgIAC20BA31BkfrDAC0AABogASoCCCECIAEqAgQhAyABKgIAIQRBDEEEEKMMIgFFBEBBBEEMQdiAxAAoAgAiAEGjByAAGxEAAAALIAEgAjgCCCABIAM4AgQgASAEOAIAIABB7IXDADYCBCAAIAE2AgALigICAn8BfgJAIAAEQCAAKAIADQEgAEF/NgIAIAJBAEchBiADQQBHIQcgBEEARyEEIAVBAEchBQJAAkAgAEEEaiABvSIIpyAIQiCIpxCSByICBEAgAkGAAmotAAAiA0EBcSAGRg0BIANBAnFBAXYgB0YNASADQQRxQQJ2IARGDQEMAgtBwLLAAEHNAEHIs8AAEO8JAAsCQCACLQDhAg0AIAVFDQAgAkHQAmotAAAEQCACIAIoArgCQQRyNgK4AgsgAkEAOgDQAiACQcwCakEANgIACyACIANB+AFxIAZFQQBBAiAHG3JBAEEEIAQbcnI6AIACIAIQ9QQLIABBADYCAA8LEJANAAsQkQ0AC+ECAgJ/AX4CQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAQQAhAgJAIABBBGogAb0iBKcgBEIgiKcQqQoiAwRAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIANBMGooAgAgA0E0aigCACIDKAIIQQFrQXhxakEIaiADKAKUAREEAEH/AXFBAWsOEhEAAQIDBAUGBwgJCgsMDQ4PEBMLQQIhAgwSC0EDIQIMEQtBBSECDBALQQYhAgwPC0EEIQIMDgtBESECDA0LQQchAgwMC0EIIQIMCwtBCSECDAoLQQohAgwJC0ELIQIMCAtBDCECDAcLQQ0hAgwGC0EOIQIMBQtBDyECDAQLQRAhAgwDC0HstcAAQRRBpLbAABC3CwALQQEhAgwBC0HYs8AAQcwAQcy0wAAQ7wkACyAAIAAoAgBBAWs2AgAgAkH/AXEPCxCQDQALEJENAAtqAQF/IwBB4ABrIgIkACACIAEQ1wFBkfrDAC0AABpB4ABBBBCjDCIBRQRAQQRB4ABB2IDEACgCACIAQaMHIAAbEQAAAAsgASACQeAAEKMNIQEgAEHo4MIANgIEIAAgATYCACACQeAAaiQAC0ABAX8jAEEgayIAJAAgAEEUakIANwIAIABBATYCDCAAQYSvwwA2AgggAEGMr8MANgIQIABBCGpB9K/DABDvCgALQAEBfyMAQSBrIgAkACAAQRRqQgA3AgAgAEEBNgIMIABB7LzDADYCCCAAQfS8wwA2AhAgAEEIakGgvcMAEO8KAAtJAQF/AkAgAQRAIAEoAgBBf0YNASAAIAFBDGooAgAiAkECRzYCACAAQwAAAAAgAUEQaioCACACQQJGGzgCBA8LEJANAAsQkQ0AC0kBAX8CQCABBEAgASgCAEF/Rg0BIAAgAUEMaigCACICQQJHNgIAIABDAAAAACABQRhqKgIAIAJBAkYbOAIEDwsQkA0ACxCRDQALSQEBfwJAIAEEQCABKAIAQX9GDQEgACABQSBqKAIAIgJBAkc2AgAgAEMAAAAAIAFBJGoqAgAgAkECRhs4AgQPCxCQDQALEJENAAvRAgIGfwJ+IwBBoAJrIgEkAAJAIAAEQCAAKAIADQEgASAAQQhqQaACEKMNIQEgABCVAgJAIAEiAigCBCIFRQ0AIAIoAgAhASACKAIMIgYEQCABQQhqIQMgASkDAEJ/hUKAgYKEiJCgwIB/gyEHIAEhAANAIAdQBEADQCAAQcACayEAIAMpAwAhCCADQQhqIQMgCEJ/hUKAgYKEiJCgwIB/gyIHUA0ACwsgACAHeqdBA3ZBWGxqIgRBGGsoAgAEQCAEQRRrKAIAEJUCCyAHQgF9IQggBEEMaygCAARAIARBCGsoAgAQlQILIAcgCIMhByAGQQFrIgYNAAsLIAVBAWpBKGwiACAFakF3Rg0AIAEgAGsQlQILIAIoAogCBEAgAkGMAmooAgAQlQILIAIoApQCBEAgAkGYAmooAgAQlQILIAJBoAJqJAAPCxCQDQALEJENAAu0CQEDfyMAQbAEayIBJAACQCAABEAgACgCAA0BIAEgAEEIakGwBBCjDSEBIAAQlQIgASgC6AMEQCABQewDaigCABCVAgsgAUH4A2ooAgAhAiABQfwDaigCACIDBEAgAiEAA0AgACgCAARAIABBBGooAgAQlQILIABBDGohACADQQFrIgMNAAsLIAEoAvQDBEAgAhCVAgsgAUGEBGooAgAhAiABQYgEaigCACIDBEAgAiEAA0AgACgCAARAIABBBGooAgAQlQILIABBDGohACADQQFrIgMNAAsLIAEoAoAEBEAgAhCVAgsgASgCjAQEQCABQZAEaigCABCVAgsgASgCmAQEQCABQZwEaigCABCVAgsgAUGoBGooAgAhAiABQawEaigCACIDBEAgAiEAA0AgACgCAARAIABBBGooAgAQlQILIABBEGooAgAEQCAAQRRqKAIAEJUCCyAAQRxqKAIABEAgAEEgaigCABCVAgsgAEEoaigCAARAIABBLGooAgAQlQILIABBNGooAgAEQCAAQThqKAIAEJUCCyAAQUBrKAIABEAgAEHEAGooAgAQlQILIABBzABqKAIABEAgAEHQAGooAgAQlQILIABB2ABqKAIABEAgAEHcAGooAgAQlQILIABB5ABqKAIABEAgAEHoAGooAgAQlQILIABB8ABqKAIABEAgAEH0AGooAgAQlQILIABB/ABqKAIABEAgAEGAAWooAgAQlQILIABBiAFqKAIABEAgAEGMAWooAgAQlQILIABBlAFqKAIABEAgAEGYAWooAgAQlQILIABBoAFqKAIABEAgAEGkAWooAgAQlQILIABBrAFqKAIABEAgAEGwAWooAgAQlQILIABBuAFqKAIABEAgAEG8AWooAgAQlQILIABByAFqKAIABEAgAEHMAWooAgAQlQILIABB1AFqKAIABEAgAEHYAWooAgAQlQILIABB4AFqKAIABEAgAEHkAWooAgAQlQILIABB7AFqKAIABEAgAEHwAWooAgAQlQILIABB+AFqKAIABEAgAEH8AWooAgAQlQILIABBhAJqKAIABEAgAEGIAmooAgAQlQILIABBkAJqKAIABEAgAEGUAmooAgAQlQILIABBnAJqKAIABEAgAEGgAmooAgAQlQILIABBqAJqKAIABEAgAEGsAmooAgAQlQILIABBtAJqKAIABEAgAEG4AmooAgAQlQILIABBwAJqKAIABEAgAEHEAmooAgAQlQILIABBzAJqKAIABEAgAEHQAmooAgAQlQILIABB2AJqKAIABEAgAEHcAmooAgAQlQILIABB5AJqKAIABEAgAEHoAmooAgAQlQILIABB8AJqKAIABEAgAEH0AmooAgAQlQILIABB/AJqKAIABEAgAEGAA2ooAgAQlQILIABBiANqKAIABEAgAEGMA2ooAgAQlQILIABBlANqKAIABEAgAEGYA2ooAgAQlQILIABBpANqKAIABEAgAEGoA2ooAgAQlQILIABBtANqKAIABEAgAEG4A2ooAgAQlQILIABBwANqIQAgA0EBayIDDQALCyABKAKkBARAIAIQlQILIAFBsARqJAAPCxCQDQALEJENAAtIACABIAAoAghJBEAgACgCBCABQSRsaiIAQSBqKAIAIQEgAiAAIAAoAhwgASgCCEEBa0F4cWpBCGogAUEAIAAgAygCEBEMAAsLQgEBfgJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iA6cgA0IgiKcgAkEARxAkIABBADYCAA8LEJANAAsQkQ0AC1wAIAAgASgCCEH/////B3EgAigCCEGAgICAeHFyNgIIIAAgASgCBEH/////B3EgAigCBEGAgICAeHFyNgIEIAAgASgCAEH/////B3EgAigCAEGAgICAeHFyNgIAC0UBAX8CQCAABEAgACgCAEF/Rg0BQf///wchASAAQQxqKAIAQQJHBH8gAEEcai0AAEEBcQVB////BwsPCxCQDQALEJENAAvLCQIZfwF+AkAgAARAIAAoAgAiBEF/Rg0BIAAgBEEBajYCAEEAIQQjAEHgAGsiAyQAIAMgAjYCECADQYEBNgIUIANBGGohAiABvSIcpyITIQcgHEIgiKciFiEKAkAgEyAAQQRqIgZBOGooAgBPDQAgBkE0aigCACILRQ0AIAsgB0EMbGoi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AkEEQQQQowwiAUUEQEEEQQRB2IDEACgCACIAQaMHIAAbEQAAAAsgASACOAIAIABB2LrCADYCBCAAIAE2AgALQAEBfyMAQSBrIgAkACAAQRRqQgA3AgAgAEEBNgIMIABBiLzDADYCCCAAQYy2wwA2AhAgAEEIakHAvMMAEO8KAAtAAQF/IwBBIGsiACQAIABBFGpCADcCACAAQQE2AgwgAEGIvsMANgIIIABBsL3DADYCECAAQQhqQZC+wwAQ7woAC7gCAQJ/IwBBIGsiAiQAIAJBATsBHCACIAE2AhggAiAANgIUIAJB1NnDADYCECACQejAwwA2AgwjAEEQayIBJAAgAkEMaiIAKAIIIgJFBEBBgLjDAEErQfi6wwAQuQoACyABIAAoAgw2AgwgASAANgIIIAEgAjYCBCMAQRBrIgAkACABQQRqIgEoAgAiAkEMaigCACEDAkACfwJAAkAgAigCBA4CAAEDCyADDQJBACECQYy2wwAMAQsgAw0BIAIoAgAiAygCBCECIAMoAgALIQMgACACNgIEIAAgAzYCACAAQai7wwAgASgCBCIAKAIIIAEoAgggAC0AECAALQAREMgGAAsgACACNgIMIABBgICAgHg2AgAgAEG8u8MAIAEoAgQiACgCCCABKAIIIAAtABAgAC0AERDIBgALPwEBfyMAQRBrIgIkACACQbSCwAA2AgwgAiAANgIIQQAgAkEIakG8lMAAIAJBDGpBvJTAACABQfSRwAAQtAQACzAAAkAgAARAIAAoAgANASAAQQA2AgAgAEEBIAEgAUEBTRs2AgQPCxCQDQALEJENAAs/AQF/IwBBEGsiAiQAIAJBqMDAADYCDCACIAA2AghBACACQQhqQczRwAAgAkEMakHM0cAAIAFB3MzAABC0BAALOQEBfyMAQRBrIgUkACAFIAI2AgwgBSABNgIIIAAgBUEIakG80cAAIAVBDGpBvNHAACADIAQQtAQACzkBAX8jAEEQayIEJAAgBCABNgIMIAQgADYCCEEAIARBCGpB7NHAACAEQQxqQezRwAAgAiADELQEAAs5AQF/IwBBEGsiBCQAIAQgATYCDCAEIAA2AghBACAEQQhqQfzRwAAgBEEMakH80cAAIAIgAxC0BAALOAEBfyAAQQA2AgggACABKAIYNgIMIAAgAUEMaigCACICNgIAIAAgAiABQRBqKAIAQfACbGo2AgQLOAEBfyAAQQA2AgggACABKAIYNgIMIAAgAUEMaigCACICNgIAIAAgAiABQRBqKAIAQagBbGo2AgQLOQEBfyMAQRBrIgQkACAEIAE2AgwgBCAANgIIQQAgBEEIakH4isIAIARBDGpB+IrCACACIAMQtAQACzwBAX8jAEEQayIDJAAgA0Hki8IANgIMIAMgADYCCEEAIANBCGpB9InCACADQQxqQfSJwgAgASACELQEAAs9ACAAQgA3AhAgAEIANwIAIABCgICAgICAgMA/NwIIIABBGGpCADcCACAAQSBqQgA3AgAgAEEoakEANgIACz0AIABCADcCECAAQgA3AgAgAEKAgICAgICAwD83AgggAEEYakIANwIAIABBIGpCADcCACAAQShqQQA2AgALLgACQCAABEAgACgCAA0BIABBADYCACAAQUBrIAFBAEc6AAAPCxCQDQALEJENAAujAQEBfwJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGoiAUL////7983EgTs3AiggAUKAgID8883EwTo3AiAgAUKAgID8AzcCGCABQoCAgPSDgIDAPzcCECABQr+Gu8nTmbOmPzcCCCABQoGAgICQkaLEPDcCACABQQE2AkAgAUKCgICAgBA3AjggAUKEgICAEDcCMCAAQQA2AgAPCxCQDQALEJENAAswAAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGoQ2QogAEEANgIADwsQkA0ACxCRDQALowEBAX8CQCAABEAgACgCAA0BIABBfzYCACAAQQRqIgFC////+/fNxIE7NwIoIAFCgICA/PPNxME6NwIgIAFCgICA/AM3AhggAUKAgID8g4CAwD83AhAgAUK/hrvJo7PmjD83AgggAUKEgICAkJGixDw3AgAgAUEBNgJAIAFCgoCAgIAQNwI4IAFChICAgBA3AjAgAEEANgIADwsQkA0ACxCRDQALTQEBfkGR+sMALQAAGiAAKQIAIQFBDEEEEKMMIgBFBEBBBEEMQdiAxAAoAgAiAEGjByAAGxEAAAALIAAgATcCBCAAQYCAgIB4NgIAIAALMgEBfyABKAIcIgJBEHFFBEAgAkEgcUUEQCAAIAEQhA0PCyAAIAEQoAcPCyAAIAEQnwcLNAEBfyAAIAE2AgwgAEEANgIIIAAgAUEgaigCACICNgIAIAAgAiABQSRqKAIAQRRsajYCBAsvAQF9IAEqAgAiAiAClCABKgIEIgIgApSSIAEqAggiAiAClJIgACoCACICIAKUXwsvAQF/IwBBEGsiAyQAIANBCGogACABIAJBARBVIAMoAgghACADQRBqJAAgAEEBRgswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARDmASADKAIIIQAgA0EgaiQAIABBBEcLMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQsQEgAygCCCEAIANBIGokACAAQQRHCzABAX8jAEEgayIDJAAgA0EIaiAAIAEgAkEBEMwBIAMoAgghACADQSBqJAAgAEEERwsvAQF/IwBBEGsiAyQAIANBCGogACABIAJBARBfIAMoAgghACADQRBqJAAgAEEBRgswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARCFASADKAIIIQAgA0EgaiQAIABBBEcLMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQ1gEgAygCCCEAIANBIGokACAAQQRHCy8BAX8jAEEQayIDJAAgA0EIaiAAIAEgAkEBEEggAygCCCEAIANBEGokACAAQQFGCzABAX8jAEEgayIDJAAgA0EIaiAAIAEgAkEBEOMBIAMoAgghACADQSBqJAAgAEEERwswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARDUASADKAIIIQAgA0EgaiQAIABBBEcLMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQvQEgAygCCCEAIANBIGokACAAQQRHCzABAX8jAEEgayIDJAAgA0EIaiAAIAEgAkEBEMsBIAMoAgghACADQSBqJAAgAEEERwswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARDBASADKAIIIQAgA0EgaiQAIABBBEcLLwEBfyMAQSBrIgMkACADQQhqIAAgASACQQAQfyADKAIIIQAgA0EgaiQAIABBBEcLLgEBfwJAIAAoAgAiAEF/Rg0AIAAgACgCBCIBQQFrNgIEIAFBAUcNACAAEJUCCwsuAQF/IwBBEGsiACQAIABBCGoiAiABQZyVwAAQtQsgAhCBByEBIABBEGokACABCy0BAX8jAEEwayICJAAgAkEMaiAAIAFBARBGIAItABghACACQTBqJAAgAEEARwtFAQF/QZH6wwAtAAAaQRBBBBCjDCIARQRAQQRBEEHYgMQAKAIAIgBBowcgABsRAAAACyAAQgA3AgAgAEEIakIANwIAIAALLgEBfyMAQRBrIgAkACAAQQhqIgIgAUGo08AAELULIAIQgQchASAAQRBqJAAgAQstAQF/IwBBMGsiAiQAIAJBDGogACABQQEQSyACLQAYIQAgAkEwaiQAIABBAEcLyQMCAn0DfwJAIAAqAgAiASABWyAAKgIEIgIgAltxRQRAIAIgAZIhAQwBCyABvCIDQYCAgPwDRgRAIAIQxQQhAQwBCyADQR52QQJxIgUgArwiBEEfdnIhAAJAAkACQAJAAkACQCAEQf////8HcSIERQRAQ9sPScAhASAADgMBAQIGCyADQf////8HcSIDRQ0CIANBgICA/AdHDQMgBEGAgID8B0cNBEPkyxbAIQEgAEEDRg0FIABBAnRB8PnDAGoqAgAhAQwGCyACIQEMBQtD2w9JQCEBDAQLQ9sPyT8gApghAQwDCyAEQYCAgPwHRyADQYCAgOgAaiAET3FFBEBD2w/JPyACmCEBDAMLAn0gBQRAQwAAAAAgBEGAgIDoAGogA0kNARoLIAIgAZWLEMUECyEBAkACQAJAIAAOAwQBAgALIAFDLr27M5JD2w9JwJIhAQwECyABjCEBDAMLQ9sPSUAgAUMuvbszkpMhAQwCC0PbD0nAIQEgAEEDRg0AIABBAnRB/PnDAGoqAgAhAQsLIAFDAAAAAGBFBEBBqOjCAEEoQbjpwgAQuQoAC0PbD8k/IAGTIgIgAiABIAGSIgEgASACXhsgASABXBsLMwAgACABKAIUIAJBACABQRhqKAIAKAIMEQUAOgAIIAAgATYCBCAAQQE6AAkgAEEANgIAC0ABAX8gACgCACEBAkAgAC0ABA0AQeyAxAAoAgBB/////wdxRQ0AQbyExAAoAgBFDQAgAUEBOgABCyABQQA6AAALKwACQCAABEAgACgCAA0BIABBADYCACAAQTxqIAE4AgAPCxCQDQALEJENAAsvAAJAIAAEQCAAKAIADQEgAEKAgICAEDcCACAAQQhqIAE4AgAPCxCQDQALEJENAAsoAAJAIAAEQCAAKAIAQX9GDQEgAEEMaigCAEECRw8LEJANAAsQkQ0ACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEEMakECNgIADwsQkA0ACxCRDQALKwACQCAABEAgACgCAA0BIABBADYCACAAQTRqIAE4AgAPCxCQDQALEJENAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBOGogATgCAA8LEJANAAsQkQ0ACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEEgakECNgIADwsQkA0ACxCRDQALKAACQCAABEAgACgCAEF/Rg0BIABBIGooAgBBAkcPCxCQDQALEJENAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBNGogATYCAA8LEJANAAsQkQ0ACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEE4aiABNgIADwsQkA0ACxCRDQALKwACQCAABEAgACgCAA0BIABBADYCACAAQQhqIAE4AgAPCxCQDQALEJENAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBEGogATgCAA8LEJANAAsQkQ0ACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEEoaiABOAIADwsQkA0ACxCRDQALKwACQCAABEAgACgCAA0BIABBADYCACAAQTBqIAE4AgAPCxCQDQALEJENAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBQGsgATYCAA8LEJANAAsQkQ0ACywAAkAgAARAIAAoAgANASAAQQA2AgAgAEHEAGogATYCAA8LEJANAAsQkQ0ACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEEkaiABOAIADwsQkA0ACxCRDQALKwACQCAABEAgACgCAA0BIABBADYCACAAQQxqIAE4AgAPCxCQDQALEJENAAssAQF/IwBBIGsiAiQAIAJBBGogACABEPUCIAItABAhACACQSBqJAAgAEEARwstAQJ9IAAqAgwgACoCACIBIAAqAgQiAiABIAJfGyIBIAAqAggiAiABIAJfG5ILMAEBfSAAIAIqAgggASoCACIDlDgCCCAAIAMgAioCBJQ4AgQgACADIAIqAgCUOAIACy4AIAAgASkCYDcCACAAQRBqIAFB8ABqKQIANwIAIABBCGogAUHoAGopAgA3AgALLAAgACABKQIYNwIAIABBEGogAUEoaikCADcCACAAQQhqIAFBIGopAgA3AgALLAAgACABKQIANwIAIABBEGogAUEQaikCADcCACAAQQhqIAFBCGopAgA3AgAL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AAAACyAAQQA2AgAgAAslACAARQRAQcy6wABBMhCPDQALIAAgAiADIAQgBSABKAIQESIACzYAIAEoAhQgACgCAC0AAEECdCIAQeyEwgBqKAIAIABB3ITCAGooAgAgAUEYaigCACgCDBEFAAsfACABQQNPBEBB3f/AAEEbIAIQ0gsACyAAIAFBAnRqCyIBAn4gACkDACICQj+HIQMgAiADhSADfSACQgBZIAEQ3AQLIwAgAEUEQEHMusAAQTIQjw0ACyAAIAIgAyAEIAEoAhARAgALJAAgAEUEQEHMusAAQTIQjw0ACyAAIAIgAyAEIAEoAhARkwEACyMAIABFBEBBzLrAAEEyEI8NAAsgACACIAMgBCABKAIQERAACyQAIABFBEBBzLrAAEEyEI8NAAsgACACIAMgBCABKAIQEZQBAAsjACAARQRAQcy6wABBMhCPDQALIAAgAiADIAQgASgCEBEcAAsgACAAKAIAQYCAgIB4ckGAgICAeEcEQCAAKAIEEJUCCwshACAARQRAQcy6wABBMhCPDQALIAAgAiADIAEoAhARAQALJAAgAC0AAEUEQCABQfzewwBBBRDVAQ8LIAFBgd/DAEEEENUBCx0AIAEoAgBFBEAACyAAQeCuwAA2AgQgACABNgIACx8AIABFBEBBzLrAAEEyEI8NAAsgACACIAEoAhARAwALHQAgASgCAEUEQAALIABB6IzBADYCBCAAIAE2AgALHQAgASgCAEUEQAALIABBrJHCADYCBCAAIAE2AgALEgAgACgCAARAIAAoAgQQlQILCzQAIABC////9//////+ADcCCCAAQv////f/////fjcCACAAQRBqQv////f3/////gA3AgALNAAgAEL////3//////4ANwIIIABC////9/////9+NwIAIABBEGpC////9/f////+ADcCAAs0ACAAQv////f//////gA3AgggAEL////3/////343AgAgAEEQakL////39/////4ANwIACxkAIAAoAgAiACgCACAAQQRqKAIAIAEQ5AELGgAgAEEANgIIIABCADcCACAAIAEqAgA4AgwLHQAgAEGA1MIANgIEIAAgATYCACAAIAEqAhg4AggLHQAgAEH40MIANgIEIAAgATYCACAAIAEqAgw4AggLHQAgAEHA1MIANgIEIAAgATYCACAAIAEqAiQ4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CAALQZ3VwwBBKyAEELkKAAsgACABIAMgASAEEJkMAAsgACABQQAgBiAEEJkMAAsgACAAQuTex4WQ0IXefTcDCCAAQsH3+ejMk7LRQTcDAAsgACAAQvrjiteK4c/pMTcDCCAAQvCvscvKttSfVjcDAAsiACAAQqmsrcSVj+en7AA3AwggAEK57fb3hrjlqpl/NwMACxMAIABBmJLAADYCBCAAIAE2AgALEwAgAEGoksAANgIEIAAgATYCAAsTACAAQaiVwAA2AgQgACABNgIACxAAIABBATYCACAAIAE2AgQLEwAgAEGMmMAANgIEIAAgATYCAAsQACAAQQQ2AgAgACABNgIECxoAAn8gAUEJTwRAIAEgABCoBAwBCyAAEDYLCxYAQZj6wwAgADYCAEGU+sMAQQE2AgALEwAgAEGAzcAANgIEIAAgATYCAAsTACAAQbjzwAA2AgQgACABNgIACyEAIABCifrijP2gkNN9NwMIIABCndnp0cnQn7TSADcDAAsiACAAQqOfwI7cueyu8AA3AwggAEKCn6eJj9vSrtUANwMACyEAIABC1K+GgveIkID7ADcDCCAAQuC1mePThODOVjcDAAshACAAQtDNgN2r7o77dTcDCCAAQvKTw8jynPTvkH83AwALIQAgAELrhsyJ36+p2Bo3AwggAEKRm/vnmZ/7lNkANwMACyAAIABCtc25xv6X7sMZNwMIIABCg8D608y8m90RNwMACyAAIABCytHxnsTGv7odNwMIIABCr6qE8t7lqd1QNwMACyAAIABCl6yTlOqv6o1gNwMIIABC9O7W1f6l28xANwMACyAAIABCuc7kjp3f1YdmNwMIIABC+9HAgq20791bNwMACyEAIABC1quQsMXD8IIDNwMIIABCwsC8vdWkm4CIfzcDAAsgACAAQqny597pjbu+YTcDCCAAQumL6b+42puzTDcDAAsgACAAQuvYufTc/cTBRTcDCCAAQtqo+6ni1rHufjcDAAsiACAAQoPIiMLul7DsuX83AwggAEKAnb2zq9jJ1OkANwMACyAAIABC9biA8vbZ7KZuNwMIIABCv9bo557UqpRxNwMACyIAIABCsaPC/JeDqaSkfzcDCCAAQtnZiuLanay3/gA3AwALIQAgAELDtZnJmsS478QANwMIIABC8uninODz0/sFNwMACyAAIABCkMihrteVyrt3NwMIIABC/N37z620ne4zNwMACyAAIABC3+OkwtGivOQSNwMIIABCpK7P8qvV2oQ7NwMACyAAIABCvJXDv+79tKtgNwMIIABCmdbpx/True4qNwMACyEAIABCgr/J1t2g79uxfzcDCCAAQvOEzryV7Nr4bDcDAAshACAAQuCcsPG0wMT1RDcDCCAAQtPe/dvw8sSyvH83AwALEwAgAEGQhsIANgIEIAAgATYCAAsTACAAQaCGwgA2AgQgACABNgIACxMAIABBsIbCADYCBCAAIAE2AgALEwAgAEHAhsIANgIEIAAgATYCAAsTACAAQdCGwgA2AgQgACABNgIACxMAIABB4IbCADYCBCAAIAE2AgALEwAgAEHwhsIANgIEIAAgATYCAAsTACAAQYCHwgA2AgQgACABNgIACxMAIABBkIfCADYCBCAAIAE2AgALEwAgAEGgh8IANgIEIAAgATYCAAsTACAAQbCHwgA2AgQgACABNgIACxMAIABBwIfCADYCBCAAIAE2AgALEwAgAEHQh8IANgIEIAAgATYCAAsTACAAQeCHwgA2AgQgACABNgIACxMAIABB8IfCADYCBCAAIAE2AgALEwAgAEGAiMIANgIEIAAgATYCAAsTACAAQZCIwgA2AgQgACABNgIACxMAIABBoIjCADYCBCAAIAE2AgALEwAgAEGwiMIANgIEIAAgATYCAAsTACAAQcCIwgA2AgQgACABNgIACxMAIABB0IjCADYCBCAAIAE2AgALEwAgAEHgiMIANgIEIAAgATYCAAsTACAAQfCIwgA2AgQgACABNgIACxAAIABBAzYCACAAIAE2AgQLEAAgAEECNgIAIAAgATYCBAsQACAAQQA2AgAgACABNgIECw4AIAAgAUEYaiACENUCCxMAIABBhM7CADYCBCAAIAE2AgALEwAgAEHc0MIANgIEIAAgATYCAAsTACAAQeTTwgA2AgQgACABNgIACxMAIABBpNTCADYCBCAAIAE2AgALEwAgAEHk1MIANgIEIAAgATYCAAsPACAAIAFB4ABqIAIQ1QILEAAgAEEJNgIAIAAgATYCBAsTACAAQcjXwgA2AgQgACABNgIACxAAIABBBjYCACAAIAE2AgQLEwAgAEGk2sIANgIEIAAgATYCAAsQACAAQQU2AgAgACABNgIECxMAIABBgN3CADYCBCAAIAE2AgALDgAgACABQTRqIAIQ1QILEAAgAEEINgIAIAAgATYCBAsQACAAQQo2AgAgACABNgIECxMAIABBpOLCADYCBCAAIAE2AgALEQAgACABKgIAIAEqAgQQ7AYLEAAgAEELNgIAIAAgATYCBAsTACAAQaDlwgA2AgQgACABNgIACxEAIAAgASoCACABKgIEEMwDCxAAIABBDDYCACAAIAE2AgQLEwAgAEHI6cIANgIEIAAgATYCAAsZACAAQoCAgIDw//+//wA3AgggAEIANwIACxAAIABBBzYCACAAIAE2AgQLEAAgAEENNgIAIAAgATYCBAsTACAAQdirwwA2AgQgACABNgIACxAAIABBDjYCACAAIAE2AgQLEwAgAEH0q8MANgIEIAAgATYCAAsQACAAQQ82AgAgACABNgIECxMAIABBkKzDADYCBCAAIAE2AgALEAAgAEEQNgIAIAAgATYCBAsTACAAQayswwA2AgQgACABNgIACxAAIABBETYCACAAIAE2AgQLEwAgAEHIrMMANgIEIAAgATYCAAsRACAAKAIAIAAoAgQgARDkAQsfACABKAIUIAAoAgAgACgCBCABQRhqKAIAKAIMEQUACyIAIABCjYSZ6OiU74GjfzcDCCAAQqSF9JiC9Ziku383AwALIAAgAELrnd3g6M63nQc3AwggAEL9xtfm68XEvTM3AwALEwAgAEGYu8MANgIEIAAgATYCAAsRACABIAAoAgAgACgCBBDVAQvKAwIEfQF/IwBBEGsiASQAAkACQAJAAkACQAJAAkAgAg4DAAECAwtDAABAQBCYASEFIABBATYCACAAQQxqQwAAgL9DAACAPyADQQRxGyAFlTgCACAAQQhqQwAAgL9DAACAPyADQQJxGyAFlTgCACAAQwAAgL9DAACAPyADQQFxGyAFlTgCBAwFCyABQQA2AgwgAUIANwIEIAFBBGoiCSADQQNxIgJBfkEBIAJBAUsbaiIEQQJ0akMAAIC/QwAAgD8gA0ECdiIDIAR2QQFxGzgCACAJIAJBAWtBAiACGyICQQJ0akMAAIC/QwAAgD8gAyACdkEBcRs4AgAgASoCBCIGIAaUIAEqAggiByAHlJIgASoCDCIIIAiUkhCYASEFIABBATYCACAAQQxqIAggBZU4AgAgAEEIaiAHIAWVOAIAIAAgBiAFlTgCBAwECyABQQA2AgwgAUIANwIEIANBA08NAUMAAIA/IQUMAgsgAEEANgIADAILQwAAgL8hBSADQQNrIgNBA0kNAEHkyMIAENMLAAsgAUEEaiADQQJ0aiAFOAIAIABBATYCACAAIAEpAgQ3AgQgAEEMaiABQQxqKAIANgIACyABQRBqJAAL4AMBBX0jAEEgayIEJAACQAJAAkACQAJAIAEqAgwgASoCAJMiBSAFlCABQRBqKgIAIAEqAgSTIgYgBpSSIAFBFGoqAgAgASoCCJMiCCAIlJIiB0MAAIAoXgRAIAQgCCAHEJgBIgeVIgg4AhAgBCAGIAeVIgY4AgwgBCAFIAeVIgU4AgggAg4DBAIDAQsgAEIBNwIAIABBCGpCgICA/AM3AgAMBAsgAEEANgIADAMLIARBADYCHCAEQgA3AhRBAiAGiyIHIAWLIgldIgEgCIsgByAJIAEbXRtBAnQiASAEQRRqakGAgID8AzYCACAEKgIUIAUgBEEIaiABaioCACIFlJMiByAHlCAEKgIYIAYgBZSTIgkgCZSSIAQqAhwgCCAFlJMiBSAFlJIQmAEhBiAAQQE2AgAgAEEMaiAFIAaVOAIAIABBCGogCSAGlTgCACAAIAcgBpU4AgQMAgsgAEEBNgIAIABBDGpBADYCACAAQQhqIAUgBYwgAxs4AgAgACAGjCAGIAMbOAIEDAELIAMEQCAAQQE2AgAgAEEMaiAIjDgCACAAQQhqIAaMOAIAIAAgBYw4AgQMAQsgACAEKQIINwIEIABBATYCACAAQQxqIARBEGooAgA2AgALIARBIGokAAubBQIDfQF/QQAhBAJAAkACQAJAAkACQAJAAkACQCACQQFrDgMBAggACyABQRRqKAIAIgIgA0sNBSADIAJBiPHCABDtCAALIAFBLGooAgAiAiADTQ0BIAFBKGooAgAgA0EFdGoiBCgCCCIDIAFBIGooAgAiAk8EQCADIAJByPHCABDtCAALIARBDGooAgAiBCACSQ0DIAQgAkHY8cIAEO0IAAsgAUEgaigCACICIANLDQEgAyACQejxwgAQ7QgACyADIAJBuPHCABDtCAALIAAgAUEcaigCACADQRRsaiIBKQIINwIEIABBDGogAUEQaigCADYCAAwCCyAAQQxqIAFBHGooAgAiAiADQRRsaiIBQRBqKgIAIAIgBEEUbGoiAkEQaioCAJIiBSABKgIIIAIqAgiSIgYgBpQgAUEMaioCACACQQxqKgIAkiIHIAeUkiAFIAWUkhCYASIFlTgCACAAQQhqIAcgBZU4AgAgACAGIAWVOAIEDAELAkACQCABQRBqKAIAIANBA3RqIgMoAgQiAiADKAIAIgQgAmoiA00EQCABQThqKAIAIgggA0kNASACRQ0CIAFBNGooAgAgBEECdGohBCACQQJ0IQIgAUEcaigCACEIIAFBIGooAgAhAQNAIAQoAgAiAyABSQRAIARBBGohBCAFIAggA0EUbGoiAyoCCJIhBSAGIANBEGoqAgCSIQYgByADQQxqKgIAkiEHIAJBBGsiAg0BDAQLCyADIAFBqPHCABDtCAALIAQgA0GY8cIAEO8IAAsgAyAIQZjxwgAQ7ggACyAAQQxqIAYgBSAFlCAHIAeUkiAGIAaUkhCYASIGlTgCACAAQQhqIAcgBpU4AgAgACAFIAaVOAIEC0EBIQQLIAAgBDYCAAsNACAAKgIEIAAqAgiSCw4AIAAoAgAaA0AMAAsACw4AIAA1AgBBASABENwECw4AIAApAwBBASABENwEC8oCAgJ/AX4gACgCACkDACEEIwBBgAFrIgMkAAJAAkACQAJ/AkAgASgCHCIAQRBxRQRAIABBIHENASAEQQEgARDcBAwCC0EAIQADQCAAIANqQf8AakEwQdcAIASnQQ9xIgJBCkkbIAJqOgAAIABBAWshACAEQhBUIQIgBEIEiCEEIAJFDQALIABBgAFqIgJBgAFLDQIgAUEBQeDcwwBBAiAAIANqQYABakEAIABrEIYCDAELQQAhAANAIAAgA2pB/wBqQTBBNyAEp0EPcSICQQpJGyACajoAACAAQQFrIQAgBEIQVCECIARCBIghBCACRQ0ACyAAQYABaiICQYABSw0CIAFBAUHg3MMAQQIgACADakGAAWpBACAAaxCGAgshACADQYABaiQADAILIAJBgAFB0NzDABDsCAALIAJBgAFB0NzDABDsCAALIAALCwAgACMAaiQAIwALHAAgASgCFEHIg8AAQREgAUEYaigCACgCDBEFAAscACABKAIUQeyCwABBESABQRhqKAIAKAIMEQUACxwAIAEoAhRBxK/AAEEUIAFBGGooAgAoAgwRBQALHAAgASgCFEGgr8AAQRQgAUEYaigCACgCDBEFAAsMACAAKAIAIAEQ6AsLDgAgAEG4ksAAIAEQoQILHAAgASgCFEHMlMAAQQUgAUEYaigCACgCDBEFAAsJACAAIAEQFAALDQBBgLzAAEEbEI8NAAsOAEGbvMAAQc8AEI8NAAsMACAAKAIAIAEQ8AgLDgAgAUGQzcAAQQIQ1QELCwAgACABIAIQuQELjQICA38GfSMAQSBrIgMkACADQQA2AhAgA0KAgID8AzcCCCADQRRqIgQgASACIANBCGoiBRCZBCADQYCAgPx7NgIIIAMqAhQhBiAEIAEgAiAFEJkEIANCgICAgICAgMA/NwIIIAMqAhQhByAEIAEgAiAFEJkEIANBgICA/Hs2AgwgAyoCGCEIIAQgASACIAUQmQQgA0KAgICAgICAwD83AgwgAyoCGCEJIAQgASACIAUQmQQgA0GAgID8ezYCECADKgIcIQogBCABIAIgBRCZBCADKgIcIQsgAEEUaiAKOAIAIABBEGogCDgCACAAIAY4AgwgACALOAIIIAAgCTgCBCAAIAc4AgAgA0EgaiQAC40CAgN/Bn0jAEEgayIDJAAgA0EANgIQIANCgICA/AM3AgggA0EUaiIEIAEgAiADQQhqIgUQvAMgA0GAgID8ezYCCCADKgIUIQYgBCABIAIgBRC8AyADQoCAgICAgIDAPzcCCCADKgIUIQcgBCABIAIgBRC8AyADQYCAgPx7NgIMIAMqAhghCCAEIAEgAiAFELwDIANCgICAgICAgMA/NwIMIAMqAhghCSAEIAEgAiAFELwDIANBgICA/Hs2AhAgAyoCHCEKIAQgASACIAUQvAMgAyoCHCELIABBFGogCjgCACAAQRBqIAg4AgAgACAGOAIMIAAgCzgCCCAAIAk4AgQgACAHOAIAIANBIGokAAsLACACIAAgARC5AQsLACAAIAEgAhDVAgsNACAAKgIkQwAAAACSCw4AIABBrLjDACABEKECCw4AIABBwL3DACABEKECCxwAIAEoAhRBsL3DAEEFIAFBGGooAgAoAgwRBQALHAAgASgCFEG1vcMAQQsgAUEYaigCACgCDBEFAAucBAEFfyMAQRBrIgMkAAJAAn8CQCABQYABTwRAIANBADYCDCABQYAQSQ0BIAFBgIAESQRAIAMgAUE/cUGAAXI6AA4gAyABQQx2QeABcjoADCADIAFBBnZBP3FBgAFyOgANQQMMAwsgAyABQT9xQYABcjoADyADIAFBBnZBP3FBgAFyOgAOIAMgAUEMdkE/cUGAAXI6AA0gAyABQRJ2QQdxQfABcjoADEEEDAILIAAoAggiAiAAKAIARgRAIwBBIGsiBCQAAkACQCACQQFqIgJFDQBBCCAAKAIAIgZBAXQiBSACIAIgBUkbIgIgAkEITRsiBUF/c0EfdiECAkAgBkUEQCAEQQA2AhgMAQsgBCAGNgIcIARBATYCGCAEIAAoAgQ2AhQLIARBCGogAiAFIARBFGoQqQYgBCgCDCECIAQoAghFBEAgACAFNgIAIAAgAjYCBAwCCyACQYGAgIB4Rg0BIAJFDQAgAiAEQRBqKAIAQdiAxAAoAgAiAEGjByAAGxEAAAALEO4KAAsgBEEgaiQAIAAoAgghAgsgACACQQFqNgIIIAAoAgQgAmogAToAAAwCCyADIAFBP3FBgAFyOgANIAMgAUEGdkHAAXI6AAxBAgshASABIAAoAgAgACgCCCICa0sEQCAAIAIgARDOBiAAKAIIIQILIAAoAgQgAmogA0EMaiABEKMNGiAAIAEgAmo2AggLIANBEGokAEEACw4AIABB9NvDACABEKECCw4AIABBk4DAAEEgENUBC50FAQh/AkACfwJAIAIiBSAAIAFrSwRAIAEgBWohBiAAIAVqIQIgACAFQRBJDQIaIAJBfHEhBEEAIAJBA3EiB2shCSAHBEAgASAFakEBayEDA0AgAkEBayICIAMtAAA6AAAgA0EBayEDIAIgBEsNAAsLIAQgBSAHayIHQXxxIgVrIQIgBiAJaiIGQQNxBEAgBUEATA0CIAZBA3QiA0EYcSEJIAZBfHEiCEEEayEBQQAgA2tBGHEhCiAIKAIAIQMDQCADIAp0IQggBEEEayIEIAggASgCACIDIAl2cjYCACABQQRrIQEgAiAESQ0ACwwCCyAFQQBMDQEgASAHakEEayEBA0AgBEEEayIEIAEoAgA2AgAgAUEEayEBIAIgBEkNAAsMAQsCQCAFQRBJBEAgACECDAELQQAgAGtBA3EiBiAAaiEEIAYEQCAAIQIgASEDA0AgAiADLQAAOgAAIANBAWohAyAEIAJBAWoiAksNAAsLIAUgBmsiBUF8cSIHIARqIQICQCABIAZqIgZBA3EEQCAHQQBMDQEgBkEDdCIDQRhxIQkgBkF8cSIIQQRqIQFBACADa0EYcSEKIAgoAgAhAwNAIAMgCXYhCCAEIAggASgCACIDIAp0cjYCACABQQRqIQEgBEEEaiIEIAJJDQALDAELIAdBAEwNACAGIQEDQCAEIAEoAgA2AgAgAUEEaiEBIARBBGoiBCACSQ0ACwsgBUEDcSEFIAYgB2ohAQsgBUUNAiACIAVqIQMDQCACIAEtAAA6AAAgAUEBaiEBIAMgAkEBaiICSw0ACwwCCyAHQQNxIgFFDQEgBiAFayEGIAIgAWsLIQMgBkEBayEBA0AgAkEBayICIAEtAAA6AAAgAUEBayEBIAIgA0sNAAsLIAALrwEBA38gASEFAkAgAkEQSQRAIAAhAQwBC0EAIABrQQNxIgMgAGohBCADBEAgACEBA0AgASAFOgAAIAQgAUEBaiIBSw0ACwsgAiADayICQXxxIgMgBGohASADQQBKBEAgBUH/AXFBgYKECGwhAwNAIAQgAzYCACAEQQRqIgQgAUkNAAsLIAJBA3EhAgsgAgRAIAEgAmohAgNAIAEgBToAACACIAFBAWoiAUsNAAsLIAALvAIBCH8CQCACIgZBEEkEQCAAIQIMAQtBACAAa0EDcSIEIABqIQUgBARAIAAhAiABIQMDQCACIAMtAAA6AAAgA0EBaiEDIAUgAkEBaiICSw0ACwsgBiAEayIGQXxxIgcgBWohAgJAIAEgBGoiBEEDcQRAIAdBAEwNASAEQQN0IgNBGHEhCSAEQXxxIghBBGohAUEAIANrQRhxIQogCCgCACEDA0AgAyAJdiEIIAUgCCABKAIAIgMgCnRyNgIAIAFBBGohASAFQQRqIgUgAkkNAAsMAQsgB0EATA0AIAQhAQNAIAUgASgCADYCACABQQRqIQEgBUEEaiIFIAJJDQALCyAGQQNxIQYgBCAHaiEBCyAGBEAgAiAGaiEDA0AgAiABLQAAOgAAIAFBAWohASADIAJBAWoiAksNAAsLIAALHAAgASgCFEGHtsMAQQUgAUEYaigCACgCDBEFAAscACABKAIUQfi1wwBBDyABQRhqKAIAKAIMEQUAC1MAIwBBIGsiACQAIABBDGpCATcCACAAQQI2AgQgAEH8lMIANgIAIABBAjYCHCAAQYyVwgA2AhggACAAQRhqNgIIIAEgABCLDCEBIABBIGokACABCw0AIABCgYCAgBA3AwALCQAgAEEANgIACwcAIABBGGoLCQAgAEEANgIACwcAIAAQzwULBwAgACoCAAsHACAAKgIYCwcAIAAqAgQLBABBAQsEAEEBCwcAQ9sPyT8LBABBAAsEAEEECwcAQwAAAAALBABBAAsEAEEACwcAQ9sPSUALBABBAgsEAEEDCwQAQQkLBABBBgsEAEEFCwQAQQgLBABBCgsHAEPbD0k/CwQAQQsLBABBDAsHAEP//39/CwQAQQcLBAAgAAsEAEENCwQAQQ4LBABBDwsEAEEQCwQAQRELAwABCwMAAQsDAAELAwABCwvv+QMKAEGAgMAAC4ONAU5vIGVsZW1lbnQgYXQgaW5kZXhDYW5ub3QgZGVzZXJpYWxpemUgY3VzdG9tIHNoYXBlLgAEAAAAAAAAAAEAAAAFAAAABAAAAAAAAAABAAAABgAAAEFsbG9jYXRpb24gZnJvbSBpdGVyYXRvciBlcnJvcjogdGhlIGl0ZXJhdG9yIGRpZCBub3QgeWllbGQgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGVsZW1lbnRzLi9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2Jhc2UvZGVmYXVsdF9hbGxvY2F0b3IucnMAAACuABAAcwAAAHwAAAAJAAAAAHN0cnVjdCBCaXRWZWMgd2l0aCAyIGVsZW1lbnRzAAA1ARAAHQAAAAcAAAAIAAAABAAAAAgAAABhIHR1cGxlIG9mIHNpemUgMgAAAAQAAAAAAAAAAQAAAAkAAAAEAAAAAAAAAAEAAAAKAAAAc3RydWN0IFRyaU1lc2ggd2l0aCA3IGVsZW1lbnRzAACgARAAHgAAAGEgdHVwbGUgb2Ygc2l6ZSAzAAAABAAAAAAAAAABAAAACwAAAHN0cnVjdCBDb21wb3VuZCB3aXRoIDQgZWxlbWVudHMA7AEQAB8AAABzdHJ1Y3QgUG9seWxpbmUgd2l0aCAzIGVsZW1lbnRzABQCEAAfAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Nyb3NzYmVhbS1jaGFubmVsLTAuNS44L3NyYy93YWtlci5ycwAAPAIQAGoAAABoAAAAKwAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAPAIQAGoAAAADAQAAKwAAADwCEABqAAAA3gAAAC8AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY3Jvc3NiZWFtLWNoYW5uZWwtMC41Ljgvc3JjL2NoYW5uZWwucnMEAxAAbAAAAP8CAAAVAAAABAMQAGwAAAAHAwAAFQAAAAwAAAAIAAAABAAAAA0AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY3Jvc3NiZWFtLWNoYW5uZWwtMC41Ljgvc3JjL2ZsYXZvcnMvemVyby5ycwAAAKADEABxAAAAZgEAACsAAABjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlAKADEABxAAAAwAAAADYAAACgAxAAcQAAALkAAAA2AAAAoAMQAHEAAAAWAQAAKwAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgMoAEEAAYAAAAc3RydWN0IENvbGxpZGVyIHdpdGggMTIgZWxlbWVudHOgBBAAIAAAAHN0cnVjdCBIZWlnaHRGaWVsZCB3aXRoIDYgZWxlbWVudHMAAMgEEAAiAAAAdmFyaWFudCBpbmRleCAwIDw9IGkgPCAxOQAAAPQEEAAZAAAAc3RydWN0IFRyaU1lc2hDb25uZWN0ZWRDb21wb25lbnRzIHdpdGggMyBlbGVtZW50cwAAABgFEAAxAAAAc3RydWN0IEdyYXBoIHdpdGggMiBlbGVtZW50c1QFEAAcAAAAc3RydWN0IExVIHdpdGggMiBlbGVtZW50cwAAAHgFEAAZAAAAc3RydWN0IFJpZ2lkQm9keVNldCB3aXRoIDIgZWxlbWVudHMAnAUQACMAAABzdHJ1Y3QgSXNsYW5kTWFuYWdlciB3aXRoIDUgZWxlbWVudHPIBRAAJAAAAHN0cnVjdCBDb252ZXhQb2x5aGVkcm9uIHdpdGggOCBlbGVtZW50cwD0BRAAJwAAAHN0cnVjdCBDb250YWN0TWFuaWZvbGREYXRhIHdpdGggNyBlbGVtZW50cwAAJAYQACoAAAB2YXJpYW50IGluZGV4IDAgPD0gaSA8IDNYBhAAGAAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgNHgGEAAYAAAAc3RydWN0IFFidmggd2l0aCA1IGVsZW1lbnRzAJgGEAAbAAAAc3RydWN0IE11bHRpYm9keSB3aXRoIDE2IGVsZW1lbnRzAAAAvAYQACEAAABzdHJ1Y3QgU0FQUmVnaW9uIHdpdGggNyBlbGVtZW50c+gGEAAgAAAAc3RydWN0IEltcHVsc2VKb2ludCB3aXRoIDUgZWxlbWVudHMAEAcQACMAAABzdHJ1Y3QgTXVsdGlib2R5Sm9pbnQgd2l0aCAzIGVsZW1lbnRzAAAAPAcQACUAAABzdHJ1Y3QgSW1wdWxzZUpvaW50U2V0IHdpdGggNCBlbGVtZW50cwAAbAcQACYAAABzdHJ1Y3QgTXVsdGlib2R5Sm9pbnRTZXQgd2l0aCA0IGVsZW1lbnRznAcQACgAAABzdHJ1Y3QgTXVsdGlib2R5V29ya3NwYWNlIHdpdGggMiBlbGVtZW50cwAAAMwHEAApAAAAdmFyaWFudCBpbmRleCAwIDw9IGkgPCA2AAgQABgAAABzdHJ1Y3QgVHJpTWVzaFNoYXBlQ29udGFjdE1hbmlmb2xkc1dvcmtzcGFjZSB3aXRoIDMgZWxlbWVudHMgCBAAPAAAAGNhbm5vdCByZWN1cnNpdmVseSBhY3F1aXJlIG11dGV4ZAgQACAAAAAvcnVzdGMvMDdkY2E0ODlhYzJkOTMzYzc4ZDNjNTE1OGUzZjQzYmVlZmViMDJjZS9saWJyYXJ5L3N0ZC9zcmMvc3lzL3dhc20vLi4vdW5zdXBwb3J0ZWQvbG9ja3MvbXV0ZXgucnMAAIwIEABmAAAAFAAAAAkAAAAHAAAACAAAAAQAAAAOAAAADwAAAAcAAAAkAAAABAAAABAAAAAHAAAADAAAAAQAAAARAAAAEgAAAAwAAAAEAAAAEwAAABQAAAAVAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQAEAAAAAAAAAAEAAAAWAAAAL3J1c3RjLzA3ZGNhNDg5YWMyZDkzM2M3OGQzYzUxNThlM2Y0M2JlZWZlYjAyY2UvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAJgJEABLAAAAMwoAAA4AAABjYW5ub3QgdHJhbnNtdXRlX2NvcHkgaWYgRHN0IGlzIGxhcmdlciB0aGFuIFNyYwD0CRAALwAAAAcAAAAEAAAABAAAABcAAAAHAAAABAAAAAQAAAAYAAAARXJyb3JpbnZhbGlkIHZhbHVlOiAsIGV4cGVjdGVkIABRChAADwAAAGAKEAALAAAAaW52YWxpZCBsZW5ndGggAHwKEAAPAAAAYAoQAAsAAABQb2lzb25FcnJvcgAHAAAADAAAAAQAAAAZAAAAGgAAABsAAAAcAAAABwAAAAwAAAAEAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9wYXJ0aXRpb25pbmcvcWJ2aC90cmF2ZXJzYWwucnMA6AoQAHcAAABOAAAAIwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvc2hhcGUvdHJpbWVzaC5ycwAAAHALEABpAAAAWgMAAB4AAABwCxAAaQAAAFsDAAAeAAAAcAsQAGkAAABcAwAAHgAAAAcAAAAkAAAABAAAAB8AAAAgAAAAIQAAACIAAAAHAAAAJAAAAAQAAAAfAAAAIAAAACEAAAAiAAAAIwAAAB4AAAAAAAAA//////////8vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaW5kZXhtYXAtMS45LjMvc3JjL21hcC9jb3JlLnJzWAwQAGQAAAAqAAAAIwAAAFgMEABkAAAAIgAAAA8AAABNYXRyaXggaW5pdC4gZXJyb3I6IHRoZSBzbGljZSBkaWQgbm90IGNvbnRhaW4gdGhlIHJpZ2h0IG51bWJlciBvZiBlbGVtZW50cy4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2NvbnN0cnVjdGlvbi5ycwAAACcNEABuAAAAawAAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9kYXRhL2FyZW5hLnJzAKgNEABnAAAACgEAACgAAABjb3JydXB0IGZyZWUgbGlzdAAAACAOEAARAAAAqA0QAGcAAAALAQAAKwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2RhdGEvZ3JhcGgucnNhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmVkZ2VzLmxlbigpICE9IGNyYXRlOjpJTlZBTElEX1VTSVpFAAAATA4QAGcAAADcAAAACQAAAEdyYXBoOjphZGRfZWRnZTogbm9kZSBpbmRpY2VzIG91dCBvZiBib3VuZHMAAA8QACsAAABMDhAAZwAAAOQAAAAbAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5ub2Rlcy5sZW4oKSAhPSBjcmF0ZTo6SU5WQUxJRF9VU0laRQAATA4QAGcAAACzAAAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2RhdGEvY29hcmVuYS5ycwAAAJAPEABpAAAAXQAAACIAAACQDxAAaQAAAE4AAAASAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTkuMC9zcmMvZHluYW1pY3Mvam9pbnQvaW1wdWxzZV9qb2ludC9pbXB1bHNlX2pvaW50X3NldC5ycwAcEBAAiwAAAA0BAAAXAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTkuMC9zcmMvZHluYW1pY3Mvam9pbnQvbXVsdGlib2R5X2pvaW50L211bHRpYm9keV9qb2ludF9zZXQucnMAuBAQAI8AAAB9AAAAKwAAALgQEACPAAAAfgAAAEYAAAC4EBAAjwAAAKgAAAA+AAAAuBAQAI8AAACpAAAALwAAALgQEACPAAAArAAAAEIAAABQYXJlbnQgcmlnaWQgYm9keSBub3QgZm91bmQuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTkuMC9zcmMvZ2VvbWV0cnkvY29sbGlkZXJfc2V0LnJzAAC0ERAAcgAAAHkAAAAOAAAAtBEQAHIAAAB9AAAANQAAALQREAByAAAAgAAAACIAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9nZW9tZXRyeS9pbnRlcmFjdGlvbl9ncmFwaC5ycwBYEhAAdwAAAIIAAAA/AAAAWBIQAHcAAACDAAAAGAAAAFgSEAB3AAAAgwAAADEAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9waXBlbGluZS9kZWJ1Z19yZW5kZXJfcGlwZWxpbmUvZGVidWdfcmVuZGVyX2JhY2tlbmQucnMAExAAkAAAADwAAAA4AAAAABMQAJAAAAA9AAAAOAAAAG5vIGVudHJ5IGZvdW5kIGZvciBrZXkvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9waXBlbGluZS9kZWJ1Z19yZW5kZXJfcGlwZWxpbmUvZGVidWdfcmVuZGVyX3BpcGVsaW5lLnJzAMYTEACRAAAAzwEAADEAAADGExAAkQAAANoBAAAxAAAAAAAAAAEAAAAHAAAAJAAAAAQAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAABwAAACQAAAAEAAAAEAAAAC4AAAAvAAAAMAAAADEAAAAHAAAAJAAAAAQAAAAHAAAAJAAAAAQAAAAQAAAALgAAAC8AAAAwAAAAMQAAANQUEADUFBAALwAAAAcAAAAkAAAABAAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAACAFBAAEAAAABgJEAAuAAAALwAAADAAAAAxAAAAtBQQANQUEADUFBAALwAAAOAUEAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAAAAAAAAEAAAACAAAAAwAAAMYTEACRAAAAJwIAADEAAADGExAAkQAAADICAAAxAAAAxhMQAJEAAADsAAAAPgAAAMYTEACRAAAA7AAAAEgAAAAHAAAADAAAAAQAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAABwAAAAwAAAAEAAAAEQAAAFIAAABTAAAAVAAAAFUAAAAHAAAADAAAAAQAAAAHAAAADAAAAAQAAAARAAAAUgAAAFMAAABUAAAAVQAAAGwWEABsFhAAUwAAAAcAAAAMAAAABAAAAFYAAABXAAAAWAAAAFkAAABaAAAAWwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAAAYFhAAEQAAACgJEABSAAAAUwAAAFQAAABVAAAATBYQAGwWEABsFhAAUwAAAHgWEABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABiAAAAYwAAAGQAAABBAAAAQgAAAGUAAABEAAAAZgAAAGcAAABoAAAABwAAAAgAAAAEAAAAaQAAAAEAAABFeHBlY3RlZCAgY29tcG9uZW50cywgZm91bmQgdBcQAAkAAAB9FxAAEwAAAGFuIGFycmF5IG9mIGxlbmd0aCAzBAAAAAAAAAABAAAAagAAAGFuIGFycmF5IG9mIGxlbmd0aCA2BAAAAAAAAAABAAAAawAAAEludmFsaWQgSW1wdWxzZUpvaW50IHJlZmVyZW5jZS4gSXQgbWF5IGhhdmUgYmVlbiByZW1vdmVkIGZyb20gdGhlIHBoeXNpY3MgV29ybGQucmFwaWVyM2QvLi4vc3JjL2R5bmFtaWNzL2ltcHVsc2Vfam9pbnRfc2V0LnJzAAAAOBgQAC0AAAALAAAARAAAADgYEAAtAAAAFgAAAEgAAABJbnZhbGlkIEpvaW50IHJlZmVyZW5jZS4gSXQgbWF5IGhhdmUgYmVlbiByZW1vdmVkIGZyb20gdGhlIHBoeXNpY3MgV29ybGQucmFwaWVyM2QvLi4vc3JjL2R5bmFtaWNzL211bHRpYm9keV9qb2ludF9zZXQucnPRGBAALwAAAA4AAAAOAAAA0RgQAC8AAAAPAAAAHgAAANEYEAAvAAAAGgAAAA4AAADRGBAALwAAABsAAAAnAAAASW52YWxpZCBSaWdpZEJvZHkgcmVmZXJlbmNlLiBJdCBtYXkgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgcGh5c2ljcyBXb3JsZC5yYXBpZXIzZC8uLi9zcmMvZHluYW1pY3MvcmlnaWRfYm9keV9zZXQucnMAjRkQACoAAAArAAAAOwAAAI0ZEAAqAAAANgAAAD8AAABJbnZhbGlkIENvbGxpZGVyIHJlZmVyZW5jZS4gSXQgbWF5IGhhdmUgYmVlbiByZW1vdmVkIGZyb20gdGhlIHBoeXNpY3MgV29ybGQucmFwaWVyM2QvLi4vc3JjL2dlb21ldHJ5L2NvbGxpZGVyX3NldC5ycyQaEAAoAAAAFwAAAA4AAAAkGhAAKAAAACMAAAAOAAAAJBoQACgAAABqAAAADQAAAAcAAAAEAAAABAAAAGwAAABtAAAAbQAAADAuMTMuMWludmFsaWQgZW51bSB2YWx1ZSBwYXNzZWRyYXBpZXIzZC8uLi9zcmMvZHluYW1pY3MvcmlnaWRfYm9keS5ycwAAALMaEAAmAAAAAgIAADIAAABOb3QgeWV0IGltcGxlbWVudGVkLnJhcGllcjNkLy4uL3NyYy9nZW9tZXRyeS9jb2xsaWRlci5ycwAbEAAkAAAAlAAAACIAAAAAGxAAJAAAAEoCAAAOAAAAABsQACQAAACNAgAADgAAAHJhcGllcjNkLy4uL3NyYy9nZW9tZXRyeS9uYXJyb3dfcGhhc2UucnNUGxAAKAAAANYAAAAwAAAAVBsQACgAAADaAAAAMAAAAFQbEAAoAAAA3gAAADAAAAByYXBpZXIzZC8uLi9zcmMvZ2VvbWV0cnkvc2hhcGUucnMAAACsGxAAIQAAACIBAABAAAAArBsQACEAAAAtAQAAOAAAAKwbEAAhAAAALQEAAD4AAACsGxAAIQAAAHQBAABAAAAArBsQACEAAAB0AQAARgAAAKwbEAAhAAAAfwEAAEAAAACsGxAAIQAAAH8BAABGAAAAbgAAAGQAAAAEAAAAbwAAAAQAAAAAAAAAAQAAAHAAAABxAAAAcgAAAAQAAAAAAAAAAQAAAHMAAAB0AAAAdQAAAAwAAAAEAAAAdgAAAHcAAAB4AAAAeQAAABAAAAAEAAAAegAAAHsAAABzdHJ1Y3QgRGVzZXJpYWxpemFibGVXb3JsZCB3aXRoIDkgZWxlbWVudHMAAKgcEAAqAAAAAAAAAAUAAAAGAAAABgAAAAYAAAAGAAAABgAAAAIAAAABAAAASW52YWxpZCBzaXplIDogc2l6ZXMgbXVzdCBmaXQgaW4gYSB1c2l6ZSAoMCB0byApAB0QAA0AAAANHRAAIgAAAC8dEAABAAAA/////2Nsb3N1cmUgaW52b2tlZCByZWN1cnNpdmVseSBvciBhZnRlciBiZWluZyBkcm9wcGVkAACJAAAABAAAAAQAAACKAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2pzLXN5cy0wLjMuNjQvc3JjL2xpYi5ycwAAkB0QAF4AAAAKGAAAAQAAAG51bGwgcG9pbnRlciBwYXNzZWQgdG8gcnVzdHJlY3Vyc2l2ZSB1c2Ugb2YgYW4gb2JqZWN0IGRldGVjdGVkIHdoaWNoIHdvdWxkIGxlYWQgdG8gdW5zYWZlIGFsaWFzaW5nIGluIHJ1c3RjYXBhY2l0eSBvdmVyZmxvdwBUaGUgbG9vc2VuaW5nIG1hcmdpbiBtdXN0IGJlIHBvc2l0aXZlLgAAfB4QACYAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL2JvdW5kaW5nX3ZvbHVtZS9hYWJiLnJzrB4QAHAAAABHAgAACQAAAEluZGV4IG91dCBvZiBib3VuZHMALB8QABMAAABBbGxvY2F0aW9uIGZyb20gaXRlcmF0b3IgZXJyb3I6IHRoZSBpdGVyYXRvciBkaWQgbm90IHlpZWxkIHRoZSBjb3JyZWN0IG51bWJlciBvZiBlbGVtZW50cy4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2RlZmF1bHRfYWxsb2NhdG9yLnJzAAAAoh8QAHMAAAB8AAAACQAAAAAAAACQAAAAAAAAAAEAAACRAAAAkgAAAJMAAACUAAAAlQAAAJYAAACXAAAAmAAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWUvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3F1ZXJ5L2RlZmF1bHRfcXVlcnlfZGlzcGF0Y2hlci5ycwAAAIMgEAB6AAAAzQEAADEAAACDIBAAegAAAOABAAAxAAAAgyAQAHoAAAAJAgAAJwAAAIMgEAB6AAAAOwIAAC8AAACDIBAAegAAAEoCAAAvAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Nyb3NzYmVhbS1jaGFubmVsLTAuNS44L3NyYy93YWtlci5ycwAAUCEQAGoAAABoAAAAKwAAAFAhEABqAAAARgAAACgAAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAFAhEABqAAAA0QAAACsAAABQIRAAagAAAN4AAAAvAAAAUCEQAGoAAADGAAAAKwAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGUvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY3Jvc3NiZWFtLWNoYW5uZWwtMC41Ljgvc3JjL2NoYW5uZWwucnNgIhAAbAAAALsBAAAtAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Nyb3NzYmVhbS1jaGFubmVsLTAuNS44L3NyYy9jb250ZXh0LnJz3CIQAGwAAAAzAAAAHgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jcm9zc2JlYW0tY2hhbm5lbC0wLjUuOC9zcmMvZmxhdm9ycy9saXN0LnJzAAAAWCMQAHEAAAAFAQAAQwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jcm9zc2JlYW0tY2hhbm5lbC0wLjUuOC9zcmMvZmxhdm9ycy96ZXJvLnJzAAAA3CMQAHEAAADoAAAALQAAAJkAAAAIAAAABAAAAJoAAADcIxAAcQAAAOEAAAArAAAA3CMQAHEAAAD/AAAAJgAAANwjEABxAAAAAQEAAEkAAADcIxAAcQAAAAIBAABHAAAA3CMQAHEAAAABAQAAJwAAANwjEABxAAAABgEAAEkAAADcIxAAcQAAAAcBAABHAAAA3CMQAHEAAAAGAQAAJwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jcm9zc2JlYW0tY2hhbm5lbC0wLjUuOC9zcmMvZmxhdm9ycy9hcnJheS5ycwAA8CQQAHIAAAB2AQAAKgAAAPAkEAByAAAAeAEAADcAAABNYXRyaXggaW5pdC4gZnJvbSBpdGVyYXRvcjogaXRlcmF0b3Igbm90IGxvbmcgZW5vdWdo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cnRpb24gZmFpbGVkOiBtaW5fYm91bmQuaXNfZmluaXRlKCkvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3F1ZXJ5L2dqay9namsucnNvNxAAaQAAAIwAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9zaGFwZS9oZWlnaHRmaWVsZDMucnMAAOg3EABuAAAAyAIAACkAAADoNxAAbgAAANQCAAAnAAAA6DcQAG4AAADVAgAAJwAAAOg3EABuAAAA1gIAACcAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3NoYXBlL3BvbHlnb25hbF9mZWF0dXJlM2QucnMAAACYOBAAdQAAALgAAAAWAAAAAAAAAJg4EAB1AAAAFAEAAB4AAACYOBAAdQAAABYBAAA6AAAAmDgQAHUAAAA+AQAAHgAAAJg4EAB1AAAAQAEAADoAAACYOBAAdQAAAGQBAAARAAAAmDgQAHUAAABlAQAAEQAAAJg4EAB1AAAAagEAABUAAACYOBAAdQAAAGsBAAAVAAAAaW5kZXggb3V0IG9mIGJvdW5kcwCbAAAAJAAAAAQAAADTAAAA1AAAANUAAADWAAAAmwAAACQAAAAEAAAA0wAAANQAAADVAAAA1gAAACMAAADXAAAA//////////8vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaW5kZXhtYXAtMS45LjMvc3JjL21hcC9jb3JlLnJzADoQAGQAAAAqAAAAIwAAAAA6EABkAAAAqwIAAB4AAAAAOhAAZAAAANABAAAeAAAAaW5kZXggbm90IGZvdW5kAAA6EABkAAAANwAAAAoAAABhc3NlcnRpb24gZmFpbGVkOiBpbmRpY2VzLmNhcGFjaXR5KCkgLSBpbmRpY2VzLmxlbigpID49IGVudHJpZXMubGVuKCkvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaW5kZXhtYXAtMS45LjMvc3JjL21hcC9jb3JlL3Jhdy5ycwAAAPk6EABoAAAAEAAAAAUAAAD5OhAAaAAAAIMAAAAaAAAAADoQAGQAAAAiAAAADwAAAGdlbW06IGRpbWVuc2lvbnMgbWlzbWF0Y2ggZm9yIGFkZGl0aW9uLgCUOxAAJwAAAEdlbXY6IGRpbWVuc2lvbnMgbWlzbWF0Y2guTWF0cml4IHNsaWNpbmcgb3V0IG9mIGJvdW5kcy4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL21hdHJpeF92aWV3LnJz+zsQAG0AAAAWAQAACQAAAPs7EABtAAAAGgEAAAkAAABSb3dzIHJhbmdlIHBhaXI6IHRoZSByYW5nZXMgbXVzdCBub3Qgb3ZlcmxhcC4AAAD7OxAAbQAAABIDAAAFAAAAUm93cyByYW5nZSBwYWlyOiBpbmRleCBvdXQgb2YgcmFuZ2UuRGF0YSBzdG9yYWdlIGJ1ZmZlciBkaW1lbnNpb24gbWlzbWF0Y2guL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS92ZWNfc3RvcmFnZS5ycxM9EABtAAAAVAAAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2NvbnN0cnVjdGlvbi5ycwAAkD0QAG4AAABgBAAADAAAAENvbXBvbmVudHdpc2UgbXVsL2RpdjogbWlzbWF0Y2hlZCBtYXRyaXggZGltZW5zaW9ucy4QPhAANAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2Jhc2UvY29tcG9uZW50d2lzZS5ycwBMPhAAbwAAAJYAAAAFAAAATWF0cml4IHZpZXc6IGlucHV0IGRhdGEgYnVmZmVyIHRvbyBzbWFsbC4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2NvbnN0cnVjdGlvbl92aWV3LnJz9T4QAHMAAAAwAAAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2Jhc2Uvb3BzLnJzTWF0cml4IGluZGV4IG91dCBvZiBib3VuZHMuTWF0cml4IGFkZGl0aW9uL3N1YnRyYWN0aW9uIGRpbWVuc2lvbnMgbWlzbWF0Y2gu+D8QADAAAAB4PxAAZQAAAGgBAAABAAAAIGFuZCA6IGxlZnQgcm93cyAhPSByaWdodCByb3dzLk1hdHJpeCBtdWx0aXBsaWNhdGlvbiBvdXRwdXQgZGltZW5zaW9ucyBtaXNtYXRjaCA6IGxlZnQgY29scyAhPSByaWdodCByb3dzLgAAX0AQADEAAABAQBAABQAAAJBAEAAaAAAAeD8QAGUAAADVAgAACQAAAEF4cHk6IG1pc21hdGNoZWQgdmVjdG9yIHNoYXBlcy4A1EAQAB8AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2JsYXMucnMAAPxAEABmAAAAQgEAAAkAAAD8QBAAZgAAAAgCAAAJAAAARG90IHByb2R1Y3QgZGltZW5zaW9ucyBtaXNtYXRjaCBmb3Igc2hhcGVzIACEQRAAKwAAAEBAEAAFAAAARUAQABoAAAD8QBAAZgAAACAAAAAJAAAA/EAQAGYAAAAYAwAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2Jhc2UvbWF0cml4LnJzTWF0cml4IGVsZW1lbnRzIHN3YXAgaW5kZXggb3V0IG9mIGJvdW5kcy4AAADoQRAAaAAAALwEAAAJAAAAVW5hYmxlIHRvIGNvcHkgZnJvbSBhIG1hdHJpeCB3aXRoIGEgZGlmZmVyZW50IHNoYXBlLuhBEABoAAAA5QQAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2VkaXRpb24ucnNhc3NlcnRpb24gZmFpbGVkOiBpcm93MSA8IHNlbGYubnJvd3MoKSAmJiBpcm93MiA8IHNlbGYubnJvd3MoKQDQQhAAaQAAADgBAAAJAAAAVGhlIGlucHV0IHZlY3RvciBtdXN0IG5vdCBiZSBlbXB0eS4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL21pbl9tYXgucnOrQxAAaQAAAOEAAAAJAAAATWF4aW11bSBudW1iZXIgb2YgcGVybXV0YXRpb25zIGV4Y2VlZGVkLi9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2xpbmFsZy9wZXJtdXRhdGlvbl9zZXF1ZW5jZS5yc0xEEAB4AAAAVQAAAA0AAABMRBAAeAAAAFkAAAAWAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvbGluYWxnL2x1LnJzTFUgc29sdmUgbWF0cml4IGRpbWVuc2lvbiBtaXNtYXRjaC4AAABKRRAAIwAAAOREEABmAAAA9gAAAAkAAABMVSBzb2x2ZTogdW5hYmxlIHRvIHNvbHZlIGEgbm9uLXNxdWFyZSBzeXN0ZW0uAADkRBAAZgAAAPsAAAAJAAAA5EQQAGYAAABoAAAAHgAAAEluZGV4IG91dCBvZiBib3VuZHMuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS9pbmRleGluZy5ycwAA7EUQAGoAAABSAQAAGgAAAJsAAAAIAAAABAAAANgAAAACAAAAAAAAAPg5EABBkI3BAAvxfC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2NvbnRyb2wvY2hhcmFjdGVyX2NvbnRyb2xsZXIucnMAAACQRhAAeQAAAE8DAAA5AAAAkEYQAHkAAABQAwAAIwAAAJBGEAB5AAAAQAMAADgAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9jb250cm9sL3JheV9jYXN0X3ZlaGljbGVfY29udHJvbGxlci5yczxHEACAAAAAIgEAABkAAAA8RxAAgAAAADoBAAAlAAAAPEcQAIAAAABNAQAAJQAAADxHEACAAAAAWQEAACoAAAA8RxAAgAAAAJ8BAAAeAAAAPEcQAIAAAAC6AQAADgAAADxHEACAAAAA0AEAAA4AAAA8RxAAgAAAAKYCAAASAAAAPEcQAIAAAACpAgAAKQAAADxHEACAAAAArgIAACgAAAA8RxAAgAAAALQCAAAxAAAAPEcQAIAAAABgAgAALQAAADxHEACAAAAAcAIAACQAAAA8RxAAgAAAAHICAAA4AAAAPEcQAIAAAABzAgAAMQAAADxHEACAAAAAdQIAACwAAABhc3NlcnRpb24gZmFpbGVkOiBudW1fd2hlZWxzX29uX2dyb3VuZCA+IDAAADxHEACAAAAAeAIAABkAAABhc3NlcnRpb24gZmFpbGVkOiBtYXhfaW1wX3NxdWFyZWQgPj0gMC4wPEcQAIAAAACGAgAAFQAAADxHEACAAAAAMAIAAC0AAAA8RxAAgAAAADQCAAAeAAAAPEcQAIAAAAA8AgAAJAAAADxHEACAAAAAQgIAADAAAAA8RxAAgAAAAEMCAAApAAAAPEcQAIAAAABHAgAAJAAAADxHEACAAAAATwIAACQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9kYXRhL2FyZW5hLnJzAKBJEABnAAAACgEAACgAAABjb3JydXB0IGZyZWUgbGlzdAAAABhKEAARAAAAoEkQAGcAAAALAQAAKwAAAGluc2VydGluZyB3aWxsIGFsd2F5cyBzdWNjZWVkIGFmdGVyIHJlc2VydmluZyBhZGRpdGlvbmFsIHNwYWNlAACQAAAAAAAAAAEAAADZAAAAoEkQAGcAAABMAQAADgAAAE5vIGVsZW1lbnQgYXQgaW5kZXgvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9kYXRhL2NvYXJlbmEucnO3ShAAaQAAAE4AAAASAAAAt0oQAGkAAACBAAAAKwAAALdKEABpAAAAggAAABMAAAC3ShAAaQAAAIIAAAArAAAAt0oQAGkAAAB4AAAAKwAAALdKEABpAAAAeQAAABMAAAC3ShAAaQAAAHkAAAAiAAAAQ2Fubm90IGluZGV4IHRoZSBzYW1lIG9iamVjdCB0d2ljZS4AkEsQACMAAAC3ShAAaQAAAHAAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTkuMC9zcmMvZGF0YS9ncmFwaC5yc2Fzc2VydGlvbiBmYWlsZWQ6IHNlbGYubm9kZXMubGVuKCkgIT0gY3JhdGU6OklOVkFMSURfVVNJWkUAAADMSxAAZwAAALMAAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5lZGdlcy5sZW4oKSAhPSBjcmF0ZTo6SU5WQUxJRF9VU0laRQAAzEsQAGcAAADcAAAACQAAAEdyYXBoOjphZGRfZWRnZTogbm9kZSBpbmRpY2VzIG91dCBvZiBib3VuZHMAzEwQACsAAADMSxAAZwAAAOQAAAAbAAAAAAEvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9keW5hbWljcy9jY2QvY2NkX3NvbHZlci5ycwAAEk0QAHQAAACCAAAAHgAAABJNEAB0AAAAjQAAACkAAABDb3VsZCBub3QgZmluZCB0aGUgQ29sbGlkZXJQYXJlbnQgY29tcG9uZW50LhJNEAB0AAAAkQAAABoAAAASTRAAdAAAAKoAAAA1AAAAEk0QAHQAAACrAAAANQAAAGFzc2VydGlvbiBmYWlsZWQ6IHRvaS50b2kgPD0gZHQAEk0QAHQAAABnAQAADQAAABJNEAB0AAAAbwEAADEAAAASTRAAdAAAAHIBAAAxAAAAEk0QAHQAAACGAQAALgAAABJNEAB0AAAAhwEAADsAAAASTRAAdAAAAIsBAAAuAAAAEk0QAHQAAACMAQAAOwAAABJNEAB0AAAAlAEAACUAAAASTRAAdAAAAJUBAAA2AAAAEk0QAHQAAACWAQAAIgAAABJNEAB0AAAA2wEAACEAAAASTRAAdAAAANwBAAAhAAAAEk0QAHQAAADqAQAARwAAABJNEAB0AAAA6wEAACIAAAASTRAAdAAAAPoBAABHAAAAEk0QAHQAAAD7AQAAIgAAABJNEAB0AAAA/gAAAB4AAAASTRAAdAAAAAkBAAApAAAAEk0QAHQAAAANAQAAGgAAABJNEAB0AAAAIgEAADUAAAASTRAAdAAAACMBAAA1AAAAEk0QAHQAAAA1AQAAPgAAABJNEAB0AAAANgEAAD4AAAASTRAAdAAAAJ0BAAAtAAAAYXNzZXJ0aW9uIGZhaWxlZDogc3RhcnRfdGltZSA8PSBlbmRfdGltZS9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2R5bmFtaWNzL2NjZC90b2lfZW50cnkucnMAzE8QAHMAAAA2AAAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2R5bmFtaWNzL2lzbGFuZF9tYW5hZ2VyLnJzUFAQAHQAAACAAAAALwAAAFBQEAB0AAAAgAAAAE8AAABQUBAAdAAAAIEAAAAhAAAAUFAQAHQAAACFAAAAOQAAAFRoZSBtaW5pbXVtIGlzbGFuZCBzaXplIG11c3QgYmUgYXQgbGVhc3QgMS4ABFEQACsAAABQUBAAdAAAAKEAAAAJAAAAUFAQAHQAAAANAQAAVAAAAFBQEAB0AAAALgEAADsAAABQUBAAdAAAAOMAAAAdAAAAUFAQAHQAAADWAAAAQAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2R5bmFtaWNzL2pvaW50L2ltcHVsc2Vfam9pbnQvaW1wdWxzZV9qb2ludF9zZXQucnMAiFEQAIsAAAAfAQAAIwAAAIhREACLAAAAJgEAAB4AAACIURAAiwAAACcBAAAeAAAAiFEQAIsAAAA0AQAAEQAAAIhREACLAAAATQEAABsAAACIURAAiwAAAG4BAABXAAAAiFEQAIsAAABzAQAAJwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHkucnMAAACEUhAAhQAAALAAAAA5AAAAhFIQAIUAAACMAAAAJQAAAIRSEACFAAAAjAAAABgAAACEUhAAhQAAAIkAAAAYAAAAhFIQAIUAAACPAAAALgAAAIRSEACFAAAAjwAAACYAAACEUhAAhQAAALkAAAAnAAAAhFIQAIUAAADKAAAAFgAAAIRSEACFAAAAYgEAABgAAACEUhAAhQAAAHgBAAAdAAAAhFIQAIUAAAB+AQAALgAAAIRSEACFAAAAfwEAACgAAACEUhAAhQAAAIEBAAArAAAAhFIQAIUAAACUAQAAIAAAAIRSEACFAAAAqwEAACUAAACEUhAAhQAAAL4BAAAjAAAAhFIQAIUAAADIAQAAHQAAAIRSEACFAAAAyQEAACQAAACEUhAAhQAAAM0BAABGAAAAhFIQAIUAAADBAQAAQgAAAIRSEACFAAAA4wEAACMAAACEUhAAhQAAAOwBAAAuAAAAhFIQAIUAAADMAgAAPAAAAIRSEACFAAAAzAIAACQAAACEUhAAhQAAAM0CAAA4AAAAhFIQAIUAAADNAgAAIAAAAIRSEACFAAAALQIAACMAAACEUhAAhQAAAC4CAAAdAAAAhFIQAIUAAAAyAgAANQAAAIRSEACFAAAATgIAACwAAACEUhAAhQAAAJECAAAgAAAAhFIQAIUAAACSAgAAIAAAAIRSEACFAAAAVQIAAC4AAACEUhAAhQAAAFYCAAAoAAAAhFIQAIUAAABXAgAANAAAAIRSEACFAAAAlQIAADIAAACEUhAAhQAAAJYCAAAyAAAAhFIQAIUAAACqAgAAMgAAAIRSEACFAAAAqwIAADIAAACEUhAAhQAAAPgCAAA7AAAAhFIQAIUAAAAEAwAAMAAAAIRSEACFAAAACgMAAB8AAACEUhAAhQAAABIDAAAwAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi52ZWxvY2l0aWVzLmxlbigpID49IFNQQVRJQUxfRElNAACEUhAAhQAAABYDAAAVAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5kYW1waW5nLmxlbigpID49IFNQQVRJQUxfRElNAIRSEACFAAAAFwMAABUAAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmFjY2VsZXJhdGlvbnMubGVuKCkgPj0gU1BBVElBTF9ESU0AAACEUhAAhQAAABgDAAAVAAAAhFIQAIUAAAAdAwAAHwAAAIRSEACFAAAALgMAADAAAACEUhAAhQAAADcDAAAaAAAAhFIQAIUAAABFAwAAJwAAAIRSEACFAAAAWQMAACgAAACEUhAAhQAAAFoDAAAmAAAAQSByaWdpZC1ib2R5IHRoYXQgaXMgbm90IGF0IHRoZSByb290IG9mIGEgbXVsdGlib2R5IG11c3QgYmUgZHluYW1pYy70VhAARAAAAIRSEACFAAAAZwMAAA0AAACEUhAAhQAAAJUDAAAfAAAAhFIQAIUAAACXAwAAHAAAAIRSEACFAAAAmwMAAC0AAACEUhAAhQAAAJsDAAAWAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTkuMC9zcmMvZHluYW1pY3Mvam9pbnQvbXVsdGlib2R5X2pvaW50L211bHRpYm9keV9qb2ludF9zZXQucnMAkFcQAI8AAADBAAAASgAAAJBXEACPAAAAxAAAAEMAAACQVxAAjwAAAMUAAAA9AAAAkFcQAI8AAADHAAAAMQAAAJBXEACPAAAA2gAAADkAAACQVxAAjwAAAN4AAAA1AAAAkFcQAI8AAADfAAAATQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHlfbGluay5ycwAAkFgQAIoAAABxAAAAHQAAAEludGVybmFsIGVycm9yOiBjaXJjdWxhciByaWdpZCBib2R5IGRlcGVuZGVuY3kuACxZEAAvAAAAkFgQAIoAAABzAAAACQAAAEludmFsaWQgcGFyZW50IGluZGV4LgAAAHRZEAAVAAAAkFgQAIoAAAB3AAAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHlfam9pbnQucnMApFkQAIsAAABhAAAALgAAAKRZEACLAAAAYQAAABwAAABub3QgeWV0IGltcGxlbWVudGVkAKRZEACLAAAAbwAAABEAAACkWRAAiwAAAHMAAAA7AAAApFkQAIsAAAB6AAAAEgAAAKRZEACLAAAAVgAAACMAAACkWRAAiwAAAKQAAAARAAAApFkQAIsAAACsAAAAEgAAAKRZEACLAAAAygAAAC4AAACkWRAAiwAAAMoAAAAiAAAApFkQAIsAAADOAAAAEQAAAKRZEACLAAAA0gAAADoAAACkWRAAiwAAANUAAAASAAAApFkQAIsAAAC5AAAAMQAAAKRZEACLAAAA4wAAABQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9keW5hbWljcy9qb2ludC9tdWx0aWJvZHlfam9pbnQvdW5pdF9tdWx0aWJvZHlfam9pbnQucnM0WxAAkAAAACEAAAAOAAAANFsQAJAAAAAiAAAADgAAADRbEACQAAAAPAAAAAUAAAA0WxAAkAAAAFcAAAAOAAAANFsQAJAAAABYAAAADgAAADRbEACQAAAAfgAAAAUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9keW5hbWljcy9yaWdpZF9ib2R5X2NvbXBvbmVudHMucnMAJFwQAHsAAADBAwAAOwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2R5bmFtaWNzL3NvbHZlci9jYXRlZ29yaXphdGlvbi5ycwCwXBAAewAAAA8AAAAZAAAAsFwQAHsAAAA0AAAAFgAAALBcEAB7AAAANQAAABoAAACwXBAAewAAADYAAAAaAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTkuMC9zcmMvZHluYW1pY3Mvc29sdmVyL2NvbnRhY3RfY29uc3RyYWludC9jb250YWN0X2NvbnN0cmFpbnRz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c2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2dlb21ldHJ5L2Jyb2FkX3BoYXNlX211bHRpX3NhcC9zYXBfcmVnaW9uLnJzGnoQAIYAAABHAAAACQAAABp6EACGAAAARgAAAAkAAAAaehAAhgAAAIoAAAAJAAAAGnoQAIYAAACCAAAADQAAABp6EACGAAAArgAAACIAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9nZW9tZXRyeS9icm9hZF9waGFzZV9tdWx0aV9zYXAvc2FwX3V0aWxzLnJzAAAA8HoQAIUAAAANAAAABQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2dlb21ldHJ5L2ludGVyYWN0aW9uX2dyYXBoLnJzAIh7EAB3AAAAggAAAD8AAACIexAAdwAAAIMAAAAYAAAAiHsQAHcAAACDAAAAMQAAAIh7EAB3AAAA6AAAAD0AAACIexAAdwAAAOkAAAApAAAAiHsQAHcAAADpAAAAQgAAAIh7EAB3AAAA8AAAADkAAACIexAAdwAAAPEAAAAlAAAAiHsQAHcAAADxAAAAPgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2dlb21ldHJ5L25hcnJvd19waGFzZS5ycwAAkHwQAHIAAAC4AAAAKAAAAJB8EAByAAAAjgEAABEAAACQfBAAcgAAAJoBAAARAAAAkHwQAHIAAADkAQAALwAAAJB8EAByAAAA5AEAAE4AAACQfBAAcgAAAMMCAAAgAAAAkHwQAHIAAADEAgAAIAAAAJB8EAByAAAAxgIAACEAAACQfBAAcgAAAMcCAAAhAAAAkHwQAHIAAADWAgAAJgAAAJB8EAByAAAA2gIAACYAAACQfBAAcgAAACoDAAAhAAAAkHwQAHIAAAArAwAAIQAAAJB8EAByAAAANQMAAD4AAACQfBAAcgAAADYDAAA+AAAAQSBjb250YWN0IG1hbmlmb2xkIGNhbm5vdCBjb250YWluIG1vcmUgdGhhbiAyNTUgY29udGFjdHMgY3VycmVudGx5LCBkcm9wcGluZyBjb250YWN0IGluIGV4Y2Vzcy4A9H0QAF8AAAByYXBpZXIzZDo6Z2VvbWV0cnk6Om5hcnJvd19waGFzZVx+EAAgAAAAXH4QACAAAACQfBAAcgAAAJB8EAByAAAAPAQAACMAAACQfBAAcgAAAE0EAAAuAAAAkHwQAHIAAABZBAAALgAAAJB8EAByAAAAbQQAABkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9nZW9tZXRyeS9jb2xsaWRlcl9zZXQucnMAANR+EAByAAAArAAAADYAAADUfhAAcgAAABcBAAAcAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTkuMC9zcmMvcGlwZWxpbmUvcGh5c2ljc19waXBlbGluZS5ycwAAaH8QAHYAAAAzAQAAIQAAAGh/EAB2AAAANAEAACEAAABofxAAdgAAAOoAAAAdAAAAaH8QAHYAAADxAAAAKwAAAGh/EAB2AAAA8wAAADMAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9waXBlbGluZS9xdWVyeV9waXBlbGluZS5yczCAEAB0AAAAYQEAABoAAAAwgBAAdAAAAIkBAAA/AAAAMIAQAHQAAACUAQAANgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL3BpcGVsaW5lL3VzZXJfY2hhbmdlcy5ycwAA1IAQAHIAAAAUAAAALAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL3V0aWxzLnJzVW5hYmxlIHRvIGluZGV4IHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UuAAAAuoEQACcAAABYgRAAYgAAABEDAAAJAAAA2EUQABQAAABYgRAAYgAAABIDAAAJAAAAWIEQAGIAAAAfAwAACQAAAER5bmFtaWNGaXhlZEtpbmVtYXRpY1Bvc2l0aW9uQmFzZWRLaW5lbWF0aWNWZWxvY2l0eUJhc2VkBwAAAAUAAAAWAAAAFgAAACSCEAArghAAMIIQAEaCEAABAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3NpbWJhLTAuOC4xL3NyYy9zaW1kL2F1dG9fc2ltZF9pbXBsLnJzgIIQAGwAAAC/BQAAAQAAANsAAAAIAAAABAAAANwAAADdAAAA2wAAAAwAAAAEAAAA3gAAANsAAAAMAAAABAAAAN8AAADgAAAAIAAAAAQAAADhAAAA4gAAAMQAAAAEAAAA4wAAAOQAAAB4AAAABAAAAOUAAADbAAAAGAAAAAQAAADmAAAA5wAAACAAAAAEAAAA6AAAANsAAAAMAAAABAAAAOkAAADqAAAAYAAAAAQAAADrAAAA2wAAAAwAAAAEAAAA7AAAAO0AAABgAAAABAAAAO4AAADvAAAAMAAAAAQAAADwAAAA2wAAAAgAAAAEAAAA8QAAAPIAAABUAAAABAAAAPMAAADnAAAAIAAAAAQAAAD0AAAA2wAAABwAAAAEAAAA9QAAAPYAAABkAAAABAAAAPcAAADbAAAAKAAAAAQAAAD4AAAA4AAAACAAAAAEAAAA+QAAANsAAAAkAAAABAAAAPoAAADbAAAABAAAAAQAAAD7AAAA2wAAAAgAAAAEAAAA/AAAANsAAAAQAAAABAAAAP0AAABhc3NlcnRpb24gZmFpbGVkOiBtaW4gPD0gbWF4L3J1c3RjLzA3ZGNhNDg5YWMyZDkzM2M3OGQzYzUxNThlM2Y0M2JlZWZlYjAyY2UvbGlicmFyeS9jb3JlL3NyYy9jbXAucnMAnIQQAEcAAABvAwAACQAAANsAAAAEAAAABAAAAP4AQZCKwgAL4wFhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvYXNzZXJ0aW9uIGZhaWxlZDogbWlkIDw9IHNlbGYubGVuKCljYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlANsAAAAEAAAABAAAAP8AAAAvcnVzdGMvMDdkY2E0ODlhYzJkOTMzYzc4ZDNjNTE1OGUzZjQzYmVlZmViMDJjZS9saWJyYXJ5L2FsbG9jL3NyYy92ZWMvbW9kLnJziIUQAEwAAAC0BQAADQAAAAAAAAD//////////+iFEABBgIzCAAuitgFjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2luZGV4bWFwLTEuOS4zL3NyYy9tYXAvY29yZS5ycwArhhAAZAAAACoAAAAjAAAAK4YQAGQAAACrAgAAHgAAACuGEABkAAAAIgAAAA8AAABNYXRyaXggaW5kZXggb3V0IG9mIGJvdW5kcy4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2JsYXMucnNEb3QgcHJvZHVjdCBkaW1lbnNpb25zIG1pc21hdGNoIGZvciBzaGFwZXMgIGFuZCA6IGxlZnQgcm93cyAhPSByaWdodCByb3dzLgBBhxAAKwAAAGyHEAAFAAAAcYcQABoAAADbhhAAZgAAACAAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvbGluYWxnL3N5bW1ldHJpY19laWdlbi5ycwC0hxAAcwAAAMkAAAAvAAAAtIcQAHMAAACQAAAAIQAAALSHEABzAAAAkQAAACEAAAC0hxAAcwAAALAAAAA4AAAAtIcQAHMAAAD+AAAAGAAAALSHEABzAAAAQAAAAD4AAAC0hxAAcwAAAFQAAAAgAAAASW5kZXggb3V0IG9mIGJvdW5kcy7bAAAACAAAAAQAAAAAAQAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9ib3VuZGluZ192b2x1bWUvYWFiYi5yc1RoZSBsb29zZW5pbmcgbWFyZ2luIG11c3QgYmUgcG9zaXRpdmUuAAAsiRAAJgAAALyIEABwAAAARwIAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL2JvdW5kaW5nX3ZvbHVtZS9hYWJiX3V0aWxzLnJzUG9pbnQgY2xvdWQgQWFiYiBjb25zdHJ1Y3Rpb246IHRoZSBpbnB1dCBpdGVyYXRvciBzaG91bGQgeWllbGQgYXQgbGVhc3Qgb25lIHBvaW50LmyJEAB2AAAAQAAAABgAAABsiRAAdgAAAFcAAAAYAAAAdHdvIGFycmF5cyBjb250YWluaW5nIGF0IGxlYXN0ICBmbG9hdHMAAFSKEAAfAAAAc4oQAAcAAAAYAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9tYXNzX3Byb3BlcnRpZXMvbWFzc19wcm9wZXJ0aWVzX3RyaW1lc2gzZC5ycwAAAJCKEACFAAAAFgAAABcAAACQihAAhQAAABcAAAAXAAAAkIoQAIUAAAAYAAAAFwAAAJCKEACFAAAApQAAABIAAACQihAAhQAAAKYAAAASAAAAkIoQAIUAAACnAAAAEgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvcGFydGl0aW9uaW5nL3FidmgvdXRpbHMucnMAeIsQAHMAAAAlAAAAEQAAAHiLEABzAAAAEgAAABEAAAB4ixAAcwAAABMAAAAWAAAAeIsQAHMAAAAVAAAAEgAAAHiLEABzAAAAFwAAABUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3BhcnRpdGlvbmluZy9xYnZoL2J1aWxkLnJzADyMEABzAAAARAEAABMAAAA8jBAAcwAAACwBAAAZAAAAPIwQAHMAAAAtAQAAEgAAADyMEABzAAAAswEAABMAAAA8jBAAcwAAALUBAAATAAAAPIwQAHMAAAC3AQAAEwAAADyMEABzAAAAuwEAACEAAAA8jBAAcwAAAIEBAAAqAAAAPIwQAHMAAAB5AQAAHwAAADyMEABzAAAAWwEAACYAAAA8jBAAcwAAAF0BAAAdAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9wYXJ0aXRpb25pbmcvcWJ2aC90cmF2ZXJzYWwucnMAYI0QAHcAAABOAAAAIwAAAGCNEAB3AAAA3QAAACMAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3F1ZXJ5L2NsaXAvY2xpcF9hYWJiX2xpbmUucnMAAAD4jRAAdQAAAI0AAAATAAAA+I0QAHUAAACbAAAAEwAAAFRoZSBwcm94aW1pdHkgbWFyZ2luIG11c3QgYmUgcG9zaXRpdmUgb3IgbnVsbC4AAJCOEAAuAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19iYWxsX2JhbGwucnMAAADIjhAAiQAAAA8AAAAFAAAAVGhlIGNvbXBvc2l0ZSBzaGFwZSBtdXN0IG5vdCBiZSBlbXB0eS4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3F1ZXJ5L2Nsb3Nlc3RfcG9pbnRzL2Nsb3Nlc3RfcG9pbnRzX2NvbXBvc2l0ZV9zaGFwZV9zaGFwZS5ycwCKjxAAlQAAABsAAAAKAAAAio8QAJUAAACBAAAAIQAAAIqPEACVAAAAggAAACEAAACKjxAAlQAAAIMAAAAhAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZS9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvcXVlcnkvY2xvc2VzdF9wb2ludHMvY2xvc2VzdF9wb2ludHNfY3Vib2lkX2N1Ym9pZC5ycwAAAIiQEACNAAAAUgAAAAUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3F1ZXJ5L2Nsb3Nlc3RfcG9pbnRzL2Nsb3Nlc3RfcG9pbnRzX2N1Ym9pZF90cmlhbmdsZS5ycwAokRAAjwAAAE0AAAAFAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19oYWxmc3BhY2Vfc3VwcG9ydF9tYXAucnMAAADIkRAAlQAAAA0AAAAFAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19zdXBwb3J0X21hcF9zdXBwb3J0X21hcC5ycwBwkhAAlwAAACAAAAAkAAAA2wAAABgAAAAEAAAAAQEAAAIBAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3F1ZXJ5L2NvbnRhY3QvY29udGFjdF9zdXBwb3J0X21hcF9zdXBwb3J0X21hcC5ycwAAACyTEACJAAAAHgAAACQAAADgAAAAIAAAAAQAAAD5AAAAAwEAAAQBAAAFAQAABgEAADCUEAAwlBAABAEAAAcBAAAIAQAA5wAAACAAAAAEAAAA6AAAAAkBAAAKAQAACwEAAAwBAABwlBAAcJQQAAoBAAANAQAADgEAAOAAAAAgAAAABAAAAOAAAAAgAAAABAAAAOEAAAAPAQAAEAEAABEBAAASAQAAMJQQADCUEAAQAQAAEwEAABQBAADnAAAAIAAAAAQAAADnAAAAIAAAAAQAAAD0AAAAFQEAABYBAAAXAQAAGAEAAHCUEABwlBAAFgEAABkBAAAaAQAA7wAAADAAAAAEAAAA7wAAADAAAAAEAAAA8AAAABsBAAAcAQAAHQEAAB4BAACwlBAAsJQQABwBAAAfAQAAIAEAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvcXVlcnkvZGlzdGFuY2UvZGlzdGFuY2VfY29tcG9zaXRlX3NoYXBlX3NoYXBlLnJzAAAA8JQQAIkAAAAXAAAACgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvcXVlcnkvZGlzdGFuY2UvZGlzdGFuY2Vfc3VwcG9ydF9tYXBfc3VwcG9ydF9tYXAucnMAjJUQAIsAAAA0AAAAJAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvcXVlcnkvZXBhL2VwYTMucnMAACiWEABqAAAARgAAAA4AAAAolhAAagAAAEcAAAAOAAAAKJYQAGoAAABIAAAADgAAACiWEABqAAAAXgAAAA0AAAAolhAAagAAAF8AAAANAAAAKJYQAGoAAABgAAAADQAAACiWEABqAAAAbgAAAA0AAAAolhAAagAAAG8AAAATAAAAKJYQAGoAAABwAAAAEwAAACiWEABqAAAAgQAAAA0AAAAolhAAagAAAIcAAAAcAAAAKJYQAGoAAACHAAAAEwAAACiWEABqAAAAiAAAABMAAAAolhAAagAAAIkAAAATAAAAKJYQAGoAAACKAAAAEwAAACiWEABqAAAA7AAAACQAAAAolhAAagAAAO0AAAAkAAAAKJYQAGoAAADuAAAAJAAAACiWEABqAAAACQEAACcAAAAolhAAagAAAAkBAABEAAAAKJYQAGoAAAAOAQAAJwAAACiWEABqAAAADgEAAEQAAAAolhAAagAAABMBAAAnAAAAKJYQAGoAAAATAQAARAAAACiWEABqAAAAGAEAACcAAAAolhAAagAAABgBAABEAAAAKJYQAGoAAAAdAQAAKAAAACiWEABqAAAAOQEAADIAAAAolhAAagAAAEABAAAiAAAAKJYQAGoAAABZAQAAFwAAACiWEABqAAAAWwEAACwAAAAolhAAagAAAFwBAAAsAAAAKJYQAGoAAABdAQAALAAAACiWEABqAAAAkwEAABcAAAAolhAAagAAAJQBAAAjAAAAKJYQAGoAAABrAQAAHwAAACiWEABqAAAAfwEAADoAAAAolhAAagAAAH8BAAAvAAAAKJYQAGoAAABUAQAALAAAACiWEABqAAAAnwEAACQAAAAolhAAagAAAKUBAAAXAAAAKJYQAGoAAACuAQAAJgAAACiWEABqAAAAsgEAAB8AAAAolhAAagAAALQBAAAfAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9xdWVyeS9namsvZ2prLnJzAAAAVJkQAGkAAABDAAAADgAAAGFzc2VydGlvbiBmYWlsZWQ6IG1pbl9ib3VuZC5pc19maW5pdGUoKQBUmRAAaQAAAIwAAAAJAAAAVJkQAGkAAABYAQAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvcXVlcnkvZ2prL3Zvcm9ub2lfc2ltcGxleDMucnMAABiaEAB2AAAALQAAABcAAAAYmhAAdgAAAFYAAAASAAAAmIgQABQAAAAYmhAAdgAAAGEAAAAJAAAAGJoQAHYAAABmAAAACQAAABiaEAB2AAAAZwAAAAoAAAAYmhAAdgAAAG0AAAAJAAAAGJoQAHYAAABzAAAACgAAABiaEAB2AAAAlAAAABYAAAAYmhAAdgAAAO4AAAAeAAAAGJoQAHYAAAAXAQAAHgAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuZGltID09IDMAGJoQAHYAAADCAAAADQAAABiaEAB2AAAAZQEAABQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3F1ZXJ5L2ludGVyc2VjdGlvbl90ZXN0L2ludGVyc2VjdGlvbl90ZXN0X3N1cHBvcnRfbWFwX3N1cHBvcnRfbWFwLnJzAAAAeJsQAJ0AAAA5AAAAKQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvcXVlcnkvbm9ubGluZWFyX3NoYXBlX2Nhc3Qvbm9ubGluZWFyX3NoYXBlX2Nhc3RfY29tcG9zaXRlX3NoYXBlX3NoYXBlLnJzAAAA2wAAAAQAAAAEAAAAIQEAACIBAAAjAQAAJAEAACUBAAAmAQAAJwEAACgBAAApAQAAKgEAANsAAAAEAAAABAAAAPsAAAArAQAALAEAAC0BAAAuAQAA2wAAAAQAAAAEAAAA2wAAAAQAAAAEAAAA+wAAACsBAAAsAQAALQEAAC4BAAAg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AAAAYXNzZXJ0aW9uIGZhaWxlZDogIXRyaWFuZ2xlc1t0cmlhbmdsZXNbbWlkZGxlX2ZhY2V0XS5hZGpbbWlkZGxlX2lkXV0udmFsaWQAAKTIEACDAAAAXAEAAAkAAACkyBAAgwAAAEgBAAAWAAAATWlzc2luZ1N1cHBvcnRQb2ludFVucmVhY2hhYmxlL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy90cmFuc2Zvcm1hdGlvbi9jb252ZXhfaHVsbDMvaW5pdGlhbF9tZXNoLnJzbm8gdHJpYW5nbGUgZm91bmQujssQAIQAAAC5AAAAOAAAAI7LEACEAAAAnwAAACMAAACOyxAAhAAAAJ8AAAA6AAAAjssQAIQAAAB7AAAAMgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvdHJhbnNmb3JtYXRpb24vY29udmV4X2h1bGwzL3RyaWFuZ2xlX2ZhY2V0LnJzAABkzBAAhgAAABUAAAAUAAAAZMwQAIYAAAAVAAAAIQAAAGTMEACGAAAAFgAAABQAAABhc3NlcnRpb24gZmFpbGVkOiBkaXN0YW5jZSA+IGNyYXRlOjptYXRoOjpERUZBVUxUX0VQU0lMT04AAABkzBAAhgAAACoAAAAJAAAAZMwQAIYAAAA1AAAAGwAAAGTMEACGAAAANQAAACsAAABkzBAAhgAAAEsAAAAJAAAAZMwQAIYAAABYAAAAEgAAAGTMEACGAAAAWQAAABIAAABkzBAAhgAAAHAAAAAWAAAAZMwQAIYAAABxAAAAFgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvdHJhbnNmb3JtYXRpb24vY29udmV4X2h1bGwzL3ZhbGlkYXRpb24ucnMAANjNEACCAAAABgAAABIAAADYzRAAggAAAA8AAAAUAAAA2M0QAIIAAAAPAAAACQAAANjNEACCAAAAEAAAAAkAAADYzRAAggAAABEAAAAJAAAA2M0QAIIAAAAVAAAACQAAANjNEACCAAAACQAAABEAAABhc3NlcnRpb24gZmFpbGVkOiBmYWNldHNbZmFjZXQuYWRqW2ldXS52YWxpZNjNEACCAAAACQAAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3RyYW5zZm9ybWF0aW9uL2NvbnZleF9odWxsX3V0aWxzLnJzCM8QAHwAAAApAAAAIgAAAAjPEAB8AAAAQgAAACIAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3RyYW5zZm9ybWF0aW9uL3RvX291dGxpbmUvYmFsbF90b19vdXRsaW5lLnJzAAAApM8QAIUAAAAeAAAAFAAAAKTPEACFAAAAIgAAABQAAACkzxAAhQAAADwAAAARAAAApM8QAIUAAABAAAAAEQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvdHJhbnNmb3JtYXRpb24vdG9fb3V0bGluZS9jYXBzdWxlX3RvX291dGxpbmUucnNs0BAAiAAAABwAAAAIAAAAAAAAAAEAAAAAAAAAAgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvdHJhbnNmb3JtYXRpb24vdG9fb3V0bGluZS9yb3VuZF9jb252ZXhfcG9seWhlZHJvbl90b19vdXRsaW5lLnJzFNEQAJgAAAAwAAAAGgAAABTREACYAAAAIgAAADQAAAAU0RAAmAAAACMAAAAeAAAAFNEQAJgAAAAPAAAAGgAAABTREACYAAAAEgAAADgAAAAU0RAAmAAAABUAAAAcAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy90cmFuc2Zvcm1hdGlvbi90b190cmltZXNoL2NvbnZleF9wb2x5aGVkcm9uX3RvX3RyaW1lc2gucnMAAAzSEACSAAAADQAAABwAAAAM0hAAkgAAAA8AAAAzAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy90cmFuc2Zvcm1hdGlvbi91dGlscy5yc8DSEABwAAAAxAAAABAAAADA0hAAcAAAAMUAAAAQAAAAYXNzZXJ0aW9uIGZhaWxlZDogbnN1YmRpdnMgPiAwAADA0hAAcAAAANYAAAAFAAAAwNIQAHAAAABEAQAAHQAAAMDSEABwAAAAMwEAACcAAABDYW5ub3QgY29tcHV0ZSB0aGUgY2VudGVyIG9mIGxlc3MgdGhhbiAxIHBvaW50LgCg0xAALwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvdXRpbHMvY2VudGVyLnJz2NMQAGgAAAAHAAAABQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvdXRpbHMvY2xlYW51cC5ycwAAAFDUEABpAAAAHQAAABEAAABQ1BAAaQAAAB4AAAARAAAAUNQQAGkAAAAfAAAAEQAAAFDUEABpAAAAEwAAAA0AAABQ1BAAaQAAABUAAAANAAAAUNQQAGkAAAAMAAAACQAAAFDUEABpAAAADQAAAAkAAABQ1BAAaQAAAA4AAAAJAAAA+LgQAHsAAAAHAAAAGAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1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dGVkYdwQADcAAABE3BAAHQAAAJgEAAANAAAAb3ZlcmZsb3cgd2hlbiBhZGRpbmcgZHVyYXRpb24gdG8gaW5zdGFudGxpYnJhcnkvc3RkL3NyYy90aW1lLnJzANjcEAAXAAAAoQEAACEAAABtZW1vcnkgYWxsb2NhdGlvbiBvZiAgYnl0ZXMgZmFpbGVkAAAA3RAAFQAAABXdEAANAAAAbGlicmFyeS9zdGQvc3JjL2FsbG9jLnJzNN0QABgAAABiAQAACQAAAGxpYnJhcnkvc3RkL3NyYy9wYW5pY2tpbmcucnNc3RAAHAAAAIQCAAAeAAAApAMAAAwAAAAEAAAAqAMAAKkDAAAIAAAABAAAAKoDAACpAwAACAAAAAQAAACrAwAArAMAAK0DAAAQAAAABAAAAK4DAACvAwAAsAMAAAAAAAABAAAAsQMAAHRpbWUgbm90IGltcGxlbWVudGVkIG9uIHRoaXMgcGxhdGZvcm0AAADg3RAAJQAAAGxpYnJhcnkvc3RkL3NyYy9zeXMvd2FzbS8uLi91bnN1cHBvcnRlZC90aW1lLnJzABDeEAAvAAAADQAAAAkAAABIYXNoIHRhYmxlIGNhcGFjaXR5IG92ZXJmbG93UN4QABwAAAAvcnVzdC9kZXBzL2hhc2hicm93bi0wLjE0LjMvc3JjL3Jhdy9tb2QucnMAAHTeEAAqAAAAVgAAACgAAABFcnJvckxheW91dEVycm9ysgMAAAwAAAAEAAAAswMAALQDAAC1AwAAbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yc2NhcGFjaXR5IG92ZXJmbG93AAAA9N4QABEAAADY3hAAHAAAADsCAAAFAAAAYSBmb3JtYXR0aW5nIHRyYWl0IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yALYDAAAAAAAAAQAAALcDAABsaWJyYXJ5L2FsbG9jL3NyYy9mbXQucnNk3xAAGAAAAGQCAAAgAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQC2AwAAAAAAAAEAAAC4AwAAbGlicmFyeS9hbGxvYy9zcmMvc3luYy5ycwAAAMjfEAAZAAAAbwEAADIAAABzd2FwX3JlbW92ZSBpbmRleCAoaXMgKSBzaG91bGQgYmUgPCBs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ADPuEAAbAAAAaQAAABcAAAAweDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAaOAQABsAAADyBQAAHwAAAGZhbHNldHJ1ZQAAAGjgEAAbAAAANQkAABoAAABo4BAAGwAAAC4JAAAiAAAAcmFuZ2Ugc3RhcnQgaW5kZXggIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIKjvEAASAAAAuu8QACIAAAByYW5nZSBlbmQgaW5kZXgg7O8QABAAAAC67xAAIgAAAHNsaWNlIGluZGV4IHN0YXJ0cyBhdCAgYnV0IGVuZHMgYXQgAAzwEAAWAAAAIvAQAA0AAABbLi4uXWJlZ2luIDw9IGVuZCAoIDw9ICkgd2hlbiBzbGljaW5nIGBgRfAQAA4AAABT8BAABAAAAFfwEAAQAAAAZ/AQAAEAAABieXRlIGluZGV4ICBpcyBub3QgYSBjaGFyIGJvdW5kYXJ5OyBpdCBpcyBpbnNpZGUgIChieXRlcyApIG9mIGAAiPAQAAsAAACT8BAAJgAAALnwEAAIAAAAwfAQAAYAAABn8BAAAQAAACBpcyBvdXQgb2YgYm91bmRzIG9mIGAAAIjwEAALAAAA8PAQABYAAABn8BAAAQAAAGxpYnJhcnkvY29yZS9zcmMvc3RyL21vZC5ycwAg8RAAGwAAAAkBAAAsAAAAbGlicmFyeS9jb3JlL3NyYy91bmljb2RlL3ByaW50YWJsZS5ycwAAAEzxEAAlAAAAGgAAADYAAABM8RAAJQAAAAoAAAArAAAAAAYBAQMBBAIFBwcCCAgJAgoFCwIOBBABEQISBRMRFAEVAhcCGQ0cBR0IHwEkAWoEawKvA7ECvALPAtEC1AzV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").buffer)})}function $q(){return function(){let g,A;try{const B=d.__wbindgen_add_to_stack_pointer(-16);d.version(B);var I=sI()[B/4+0],C=sI()[B/4+1];return g=I,A=C,Zq(I,C)}finally{d.__wbindgen_add_to_stack_pointer(16),d.__wbindgen_free(g,A,1)}}()}OB[45]=62,OB[95]=63;var mZ=Object.freeze({__proto__:null,version:$q,Vector3:Mo,VectorOps:j,Quaternion:eD,RotationOps:UI,SdpMatrix3:GM,SdpMatrix3Ops:tD,get RigidBodyType(){return ZB},RigidBody:lD,RigidBodyDesc:WB,RigidBodySet:yM,IntegrationParameters:uM,get JointType(){return EC},get MotorModel(){return ED},get JointAxesMask(){return oD},ImpulseJoint:ii,UnitImpulseJoint:kh,FixedImpulseJoint:kM,RopeImpulseJoint:MM,SpringImpulseJoint:dM,PrismaticImpulseJoint:pM,RevoluteImpulseJoint:UM,GenericImpulseJoint:NM,SphericalImpulseJoint:FM,JointData:Ti,ImpulseJointSet:RM,MultibodyJoint:YQ,UnitMultibodyJoint:Mh,FixedMultibodyJoint:KM,PrismaticMultibodyJoint:JM,RevoluteMultibodyJoint:fM,SphericalMultibodyJoint:qM,MultibodyJointSet:mM,get CoefficientCombineRule(){return bo},CCDSolver:YM,IslandManager:LM,BroadPhase:HM,NarrowPhase:TM,TempContactManifold:xM,Shape:jg,get ShapeType(){return Lg},get HeightFieldFlags(){return nD},get TriMeshFlags(){return sD},Ball:dh,HalfSpace:bM,Cuboid:ph,RoundCuboid:Uh,Capsule:Nh,Segment:Fh,Triangle:Rh,RoundTriangle:Kh,Polyline:Jh,TriMesh:fh,ConvexPolyhedron:na,RoundConvexPolyhedron:sa,Heightfield:qh,Cylinder:mh,RoundCylinder:Yh,Cone:Lh,RoundCone:Hh,get ActiveCollisionTypes(){return oa},Collider:DD,get MassPropsMode(){return he},ColliderDesc:Fg,ColliderSet:$M,get FeatureType(){return Wt},Ray:vM,RayIntersection:Bn,RayColliderIntersection:_o,RayColliderHit:La,PointProjection:Cn,PointColliderProjection:Oo,ShapeCastHit:QE,ColliderShapeCastHit:Qn,ShapeContact:Vt,World:Ha,PhysicsPipeline:OM,SerializationPipeline:cD,get ActiveEvents(){return GQ},TempContactForceEvent:XM,EventQueue:zM,get ActiveHooks(){return Ea},get SolverFlags(){return rD},DebugRenderBuffers:PM,DebugRenderPipeline:ZM,get QueryFilterFlags(){return aD},QueryPipeline:_M,init:zq,CharacterCollision:WM,KinematicCharacterController:VM,DynamicRayCastVehicleController:jM});const YZ=Object.freeze(Object.defineProperty({__proto__:null,get ActiveCollisionTypes(){return oa},get ActiveEvents(){return GQ},get ActiveHooks(){return Ea},Ball:dh,BroadPhase:HM,CCDSolver:YM,Capsule:Nh,CharacterCollision:WM,get CoefficientCombineRule(){return bo},Collider:DD,ColliderDesc:Fg,ColliderSet:$M,ColliderShapeCastHit:Qn,Cone:Lh,ConvexPolyhedron:na,Cuboid:ph,Cylinder:mh,DebugRenderBuffers:PM,DebugRenderPipeline:ZM,DynamicRayCastVehicleController:jM,EventQueue:zM,get FeatureType(){return Wt},FixedImpulseJoint:kM,FixedMultibodyJoint:KM,GenericImpulseJoint:NM,HalfSpace:bM,get HeightFieldFlags(){return nD},Heightfield:qh,ImpulseJoint:ii,ImpulseJointSet:RM,IntegrationParameters:uM,IslandManager:LM,get JointAxesMask(){return oD},JointData:Ti,get JointType(){return EC},KinematicCharacterController:VM,get MassPropsMode(){return he},get MotorModel(){return ED},MultibodyJoint:YQ,MultibodyJointSet:mM,NarrowPhase:TM,PhysicsPipeline:OM,PointColliderProjection:Oo,PointProjection:Cn,Polyline:Jh,PrismaticImpulseJoint:pM,PrismaticMultibodyJoint:JM,Quaternion:eD,get QueryFilterFlags(){return aD},QueryPipeline:_M,Ray:vM,RayColliderHit:La,RayColliderIntersection:_o,RayIntersection:Bn,RevoluteImpulseJoint:UM,RevoluteMultibodyJoint:fM,RigidBody:lD,RigidBodyDesc:WB,RigidBodySet:yM,get RigidBodyType(){return ZB},RopeImpulseJoint:MM,RotationOps:UI,RoundCone:Hh,RoundConvexPolyhedron:sa,RoundCuboid:Uh,RoundCylinder:Yh,RoundTriangle:Kh,SdpMatrix3:GM,SdpMatrix3Ops:tD,Segment:Fh,SerializationPipeline:cD,Shape:jg,ShapeCastHit:QE,ShapeContact:Vt,get ShapeType(){return Lg},get SolverFlags(){return rD},SphericalImpulseJoint:FM,SphericalMultibodyJoint:qM,SpringImpulseJoint:dM,TempContactForceEvent:XM,TempContactManifold:xM,TriMesh:fh,get TriMeshFlags(){return sD},Triangle:Rh,UnitImpulseJoint:kh,UnitMultibodyJoint:Mh,Vector3:Mo,VectorOps:j,World:Ha,default:mZ,init:zq,version:$q},Symbol.toStringTag,{value:"Module"}));function LZ(g,A=1e-4){A=Math.max(A,Number.EPSILON);const I={},C=g.getIndex(),B=g.getAttribute("position"),i=C?C.count:B.count;let Q=0;const e=Object.keys(g.attributes),t={},E={},s=[],a=["getX","getY","getZ","getW"];for(let w=0,S=e.length;w[]))}const r=Math.log10(1/A),l=Math.pow(10,r);for(let w=0;w{const[A,I,C]=g;return new f(A,I,C)},QF=({x:g,y:A,z:I,w:C})=>TZ.set(g,A,I,C),bZ=g=>{if(Array.isArray(g))return new Mo(g[0],g[1],g[2]);if(typeof g=="number")return new Mo(g,g,g);{const A=g;return new Mo(A.x,A.y,A.z)}},OZ={fixed:1,dynamic:0,kinematicPosition:2,kinematicVelocity:3},Am=g=>OZ[g],_Z=(g,A)=>{const I=Array.from(g);for(let C=0;Cg?g instanceof gg?[g.x,g.y,g.z,g.w]:g instanceof f||g instanceof lC?[g.x,g.y,g.z]:Array.isArray(g)?g:[g]:[0];function Qe(g){const A=x.useRef();return A.current===void 0&&(A.current={value:typeof g=="function"?g():g}),A.current.value}const PZ=g=>{const A=x.useRef(g),I=x.useRef(0),C=x.useRef(0);x.useEffect(()=>{A.current=g},[g]),x.useEffect(()=>{const B=()=>{const i=performance.now(),Q=i-C.current;I.current=requestAnimationFrame(B),A.current(Q/1e3),C.current=i};return I.current=requestAnimationFrame(B),()=>cancelAnimationFrame(I.current)},[])},ZZ=({onStep:g,updatePriority:A})=>(DC((I,C)=>{g(C)},A),null),WZ=({onStep:g})=>(PZ(A=>{g(A)}),null),VZ=({onStep:g,type:A,updatePriority:I})=>A==="independent"?uI.createElement(WZ,{onStep:g}):uI.createElement(ZZ,{onStep:g,updatePriority:I});var jZ=x.memo(VZ);function XZ(g,A){if(g==null)return{};var I={},C=Object.keys(g),B,i;for(i=0;i=0)&&(I[B]=g[B]);return I}function Ad(g,A){if(g==null)return{};var I=XZ(g,A),C,B;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(g);for(B=0;B=0)&&Object.prototype.propertyIsEnumerable.call(g,C)&&(I[C]=g[C])}return I}const zZ=["mass","linearDamping","angularDamping","type","onCollisionEnter","onCollisionExit","onIntersectionEnter","onIntersectionExit","onContactForce","children","canSleep","ccd","gravityScale","softCcdPrediction"],$Z=(g,A,I)=>{const C=A.slice();if(g==="heightfield"){const i=C[3];return i.x*=I.x,i.x*=I.y,i.x*=I.z,C}if(g==="trimesh"||g==="convexHull")return C[0]=_Z(C[0],I),C;const B=[I.x,I.y,I.z,I.x,I.x];return C.map((i,Q)=>B[Q]*i)},AW=(g,A,I,C)=>{const B=$Z(g.shape,g.args,I),i=Fg[g.shape](...B);return A.createCollider(i,C==null?void 0:C())},IW=["shape","args"],eF="Please pick ONLY ONE of the `density`, `mass` and `massProperties` options.",gW=(g,A)=>{if(A.density!==void 0){if(A.mass!==void 0||A.massProperties!==void 0)throw new Error(eF);g.setDensity(A.density);return}if(A.mass!==void 0){if(A.massProperties!==void 0)throw new Error(eF);g.setMass(A.mass);return}A.massProperties!==void 0&&g.setMassProperties(A.massProperties.mass,A.massProperties.centerOfMass,A.massProperties.principalAngularInertia,A.massProperties.angularInertiaLocalFrame)},gm={sensor:(g,A)=>{g.setSensor(A)},collisionGroups:(g,A)=>{g.setCollisionGroups(A)},solverGroups:(g,A)=>{g.setSolverGroups(A)},friction:(g,A)=>{g.setFriction(A)},frictionCombineRule:(g,A)=>{g.setFrictionCombineRule(A)},restitution:(g,A)=>{g.setRestitution(A)},restitutionCombineRule:(g,A)=>{g.setRestitutionCombineRule(A)},activeCollisionTypes:(g,A)=>{g.setActiveCollisionTypes(A)},contactSkin:(g,A)=>{g.setContactSkin(A)},quaternion:()=>{},position:()=>{},rotation:()=>{},scale:()=>{}},Cm=Object.keys(gm),CW=(g,A,I)=>{const C=I.get(g.handle);if(C){var B;const i=C.object.parent.getWorldScale(xZ),Q=(B=C.worldParent)===null||B===void 0?void 0:B.matrixWorld.clone().invert();C.object.updateWorldMatrix(!0,!1),Ne.copy(C.object.matrixWorld),Q&&Ne.premultiply(Q),Ne.decompose(yC,ui,jt),g.parent()?(g.setTranslationWrtParent({x:yC.x*i.x,y:yC.y*i.y,z:yC.z*i.z}),g.setRotationWrtParent(ui)):(g.setTranslation({x:yC.x*i.x,y:yC.y*i.y,z:yC.z*i.z}),g.setRotation(ui)),Cm.forEach(e=>{if(e in A){const t=A[e];gm[e](g,t,A)}}),gW(g,A)}},BW=(g,A,I)=>{const C=x.useMemo(()=>Cm.flatMap(B=>Im(A[B])),[A]);x.useEffect(()=>{const B=g();CW(B,A,I)},[...C,g])},iW=g=>{let A=!1;return g.traverseAncestors(I=>{I.userData.r3RapierType==="MeshCollider"&&(A=!0)}),A},QW=(g,A,I)=>({collider:g,worldParent:I||void 0,object:A}),eW={cuboid:"cuboid",ball:"ball",hull:"convexHull",trimesh:"trimesh"},tW=({object:g,ignoreMeshColliders:A=!0,options:I})=>{const C=[];g.updateWorldMatrix(!0,!1);const B=g.matrixWorld.clone().invert(),i=Q=>{if("isMesh"in Q){if(A&&iW(Q))return;const e=Q.getWorldScale(jt),t=eW[I.colliders||"cuboid"];Q.updateWorldMatrix(!0,!1),Ne.copy(Q.matrixWorld).premultiply(B).decompose(yC,ui,jt);const E=new lC().setFromQuaternion(ui,"XYZ"),{geometry:s}=Q,{args:a,offset:r}=EW(s,I.colliders||"cuboid"),l=zI(zI({},im(I)),{},{args:a,shape:t,rotation:[E.x,E.y,E.z],position:[yC.x+r.x*e.x,yC.y+r.y*e.y,yC.z+r.z*e.z],scale:[e.x,e.y,e.z]});C.push(l)}};return I.includeInvisible?g.traverse(i):g.traverseVisible(i),C},EW=(g,A)=>{switch(A){case"cuboid":{g.computeBoundingBox();const{boundingBox:C}=g,B=C.getSize(new f);return{args:[B.x/2,B.y/2,B.z/2],offset:C.getCenter(new f)}}case"ball":{g.computeBoundingSphere();const{boundingSphere:C}=g;return{args:[C.radius],offset:C.center}}case"trimesh":{var I;const C=g.index?g.clone():LZ(g);return{args:[C.attributes.position.array,(I=C.index)===null||I===void 0?void 0:I.array],offset:new f}}case"hull":return{args:[g.clone().attributes.position.array],offset:new f}}return{args:[],offset:new f}},Bm=g=>({collision:!!(g!=null&&g.onCollisionEnter||g!=null&&g.onCollisionExit||g!=null&&g.onIntersectionEnter||g!=null&&g.onIntersectionExit),contactForce:!!(g!=null&&g.onContactForce)}),oW=(g,A,I,C={})=>{const{onCollisionEnter:B,onCollisionExit:i,onIntersectionEnter:Q,onIntersectionExit:e,onContactForce:t}=A;x.useEffect(()=>{const E=g();if(E){const{collision:s,contactForce:a}=Bm(A),r=s||C.collision,l=a||C.contactForce;r&&l?E.setActiveEvents(GQ.COLLISION_EVENTS|GQ.CONTACT_FORCE_EVENTS):r?E.setActiveEvents(GQ.COLLISION_EVENTS):l&&E.setActiveEvents(GQ.CONTACT_FORCE_EVENTS),I.set(E.handle,{onCollisionEnter:B,onCollisionExit:i,onIntersectionEnter:Q,onIntersectionExit:e,onContactForce:t})}return()=>{E&&I.delete(E.handle)}},[B,i,Q,e,t,C])},im=(g={})=>Ad(g,zZ),Ta=()=>{const g=x.useContext(Qm);if(!g)throw new Error("react-three-rapier: useRapier must be used within !");return g},Id=(g,A,I=!0)=>{const[C,B]=x.useState([]);return x.useEffect(()=>{g.current&&A.colliders!==!1&&B(tW({object:g.current,options:A,ignoreMeshColliders:I}))},[A.colliders]),C},nW=x.memo(()=>{const{world:g}=Ta(),A=x.useRef(null);return DC(()=>{const I=A.current;if(!I)return;const C=g.debugRender();I.geometry.setAttribute("position",new oI(C.vertices,3)),I.geometry.setAttribute("color",new oI(C.colors,4))}),uI.createElement("group",null,uI.createElement("lineSegments",{ref:A,frustumCulled:!1},uI.createElement("lineBasicMaterial",{color:16777215,vertexColors:!0}),uI.createElement("bufferGeometry",null)))}),sW=g=>{let A;const I={get(Q,e){return A||(A=g()),Reflect.get(A,e)},set(Q,e,t){return A||(A=g()),Reflect.set(A,e,t)}};return{proxy:new Proxy({},I),reset:()=>{A=void 0},set:Q=>{A=Q}}},Qm=x.createContext(void 0),$l=(g,A)=>{var I,C,B,i,Q,e;return{target:{rigidBody:g.rigidBody.object,collider:g.collider.object,colliderObject:(I=g.collider.state)===null||I===void 0?void 0:I.object,rigidBodyObject:(C=g.rigidBody.state)===null||C===void 0?void 0:C.object},other:{rigidBody:A.rigidBody.object,collider:A.collider.object,colliderObject:(B=A.collider.state)===null||B===void 0?void 0:B.object,rigidBodyObject:(i=A.rigidBody.state)===null||i===void 0?void 0:i.object},rigidBody:A.rigidBody.object,collider:A.collider.object,colliderObject:(Q=A.collider.state)===null||Q===void 0?void 0:Q.object,rigidBodyObject:(e=A.rigidBody.state)===null||e===void 0?void 0:e.object}},tF=async()=>{let g=await XP(()=>Promise.resolve().then(()=>YZ),void 0);return await g.init(),g},aW=g=>{const{colliders:A="cuboid",children:I,timeStep:C=1/60,paused:B=!1,interpolate:i=!0,updatePriority:Q,updateLoop:e="follow",debug:t=!1,gravity:E=[0,-9.81,0],allowedLinearError:s=.001,predictionDistance:a=.002,numSolverIterations:r=4,numAdditionalFrictionIterations:l=4,numInternalPgsIterations:h=1,minIslandSize:w=128,maxCcdSubsteps:S=1,erp:c=.8,lengthUnit:G=1}=g,u=ah(tF,["@react-thee/rapier",tF]),{invalidate:M}=jC(),R=Qe(()=>new Map),N=Qe(()=>new Map),F=Qe(()=>new Map),q=Qe(()=>new Map),K=Qe(()=>new zM(!1)),U=Qe(()=>new Set),L=Qe(()=>new Set),{proxy:O,reset:b,set:eA}=Qe(()=>sW(()=>new u.World(vZ(E))));x.useEffect(()=>()=>{O.free(),b()},[]),x.useEffect(()=>{O.gravity=bZ(E),O.integrationParameters.numSolverIterations=r,O.integrationParameters.numAdditionalFrictionIterations=l,O.integrationParameters.numInternalPgsIterations=h,O.integrationParameters.normalizedAllowedLinearError=s,O.integrationParameters.minIslandSize=w,O.integrationParameters.maxCcdSubsteps=S,O.integrationParameters.normalizedPredictionDistance=a,O.integrationParameters.erp=c,O.lengthUnit=G},[O,...E,r,l,h,s,w,S,a,c,G]);const tA=x.useCallback(_=>{var QA;const pA=O.getCollider(_),OA=q.get(_),CA=N.get(_),yA=pA==null||(QA=pA.parent())===null||QA===void 0?void 0:QA.handle,aA=yA!==void 0?O.getRigidBody(yA):void 0,wA=aA&&yA!==void 0?F.get(yA):void 0,II=yA!==void 0?R.get(yA):void 0;return{collider:{object:pA,events:OA,state:CA},rigidBody:{object:aA,events:wA,state:II}}},[]),[rA]=x.useState({previousState:{},accumulator:0}),kA=x.useCallback(_=>{const QA=O,pA=C==="vary",OA=ua.clamp(_,0,.5),CA=aA=>{U.forEach(wA=>{wA.current(QA)}),QA.timestep=aA,QA.step(K),L.forEach(wA=>{wA.current(QA)})};if(pA)CA(OA);else for(rA.accumulator+=OA;rA.accumulator>=C;)i&&(rA.previousState={},QA.forEachRigidBody(aA=>{rA.previousState[aA.handle]={position:aA.translation(),rotation:aA.rotation()}})),CA(C),rA.accumulator-=C;const yA=pA||!i||B?1:rA.accumulator/C;R.forEach((aA,wA)=>{const II=QA.getRigidBody(wA),mA=F.get(wA);if(mA!=null&&mA.onSleep||mA!=null&&mA.onWake){if(II.isSleeping()&&!aA.isSleeping){var P;mA==null||(P=mA.onSleep)===null||P===void 0||P.call(mA)}if(!II.isSleeping()&&aA.isSleeping){var ZA;mA==null||(ZA=mA.onWake)===null||ZA===void 0||ZA.call(mA)}aA.isSleeping=II.isSleeping()}if(!II||II.isSleeping()&&!("isInstancedMesh"in aA.object)||!aA.setMatrix)return;let EA=II.translation(),SA=II.rotation(),lA=rA.previousState[wA];lA&&(Ne.compose(lA.position,QF(lA.rotation),aA.scale).premultiply(aA.invertedWorldMatrix).decompose(yC,ui,jt),aA.meshType=="mesh"&&(aA.object.position.copy(yC),aA.object.quaternion.copy(ui))),Ne.compose(EA,QF(SA),aA.scale).premultiply(aA.invertedWorldMatrix).decompose(yC,ui,jt),aA.meshType=="instancedMesh"?aA.setMatrix(Ne):(aA.object.position.lerp(yC,yA),aA.object.quaternion.slerp(ui,yA))}),K.drainCollisionEvents((aA,wA,II)=>{const mA=tA(aA),P=tA(wA);if(!(mA!=null&&mA.collider.object)||!(P!=null&&P.collider.object))return;const ZA=$l(mA,P),EA=$l(P,mA);if(II)QA.contactPair(mA.collider.object,P.collider.object,(rI,W)=>{var MA,DA,qA,xA,KI,vI,jI,pg;(MA=mA.rigidBody.events)===null||MA===void 0||(DA=MA.onCollisionEnter)===null||DA===void 0||DA.call(MA,zI(zI({},ZA),{},{manifold:rI,flipped:W})),(qA=P.rigidBody.events)===null||qA===void 0||(xA=qA.onCollisionEnter)===null||xA===void 0||xA.call(qA,zI(zI({},EA),{},{manifold:rI,flipped:W})),(KI=mA.collider.events)===null||KI===void 0||(vI=KI.onCollisionEnter)===null||vI===void 0||vI.call(KI,zI(zI({},ZA),{},{manifold:rI,flipped:W})),(jI=P.collider.events)===null||jI===void 0||(pg=jI.onCollisionEnter)===null||pg===void 0||pg.call(jI,zI(zI({},EA),{},{manifold:rI,flipped:W}))});else{var SA,lA,UA,uA,LA,jA,T,J;(SA=mA.rigidBody.events)===null||SA===void 0||(lA=SA.onCollisionExit)===null||lA===void 0||lA.call(SA,ZA),(UA=P.rigidBody.events)===null||UA===void 0||(uA=UA.onCollisionExit)===null||uA===void 0||uA.call(UA,EA),(LA=mA.collider.events)===null||LA===void 0||(jA=LA.onCollisionExit)===null||jA===void 0||jA.call(LA,ZA),(T=P.collider.events)===null||T===void 0||(J=T.onCollisionExit)===null||J===void 0||J.call(T,EA)}if(II){if(QA.intersectionPair(mA.collider.object,P.collider.object)){var IA,hA,dA,GA,XA,fA,JA,aI;(IA=mA.rigidBody.events)===null||IA===void 0||(hA=IA.onIntersectionEnter)===null||hA===void 0||hA.call(IA,ZA),(dA=P.rigidBody.events)===null||dA===void 0||(GA=dA.onIntersectionEnter)===null||GA===void 0||GA.call(dA,EA),(XA=mA.collider.events)===null||XA===void 0||(fA=XA.onIntersectionEnter)===null||fA===void 0||fA.call(XA,ZA),(JA=P.collider.events)===null||JA===void 0||(aI=JA.onIntersectionEnter)===null||aI===void 0||aI.call(JA,EA)}}else{var RA,zA,wI,iI,bA,cI,kI,Cg;(RA=mA.rigidBody.events)===null||RA===void 0||(zA=RA.onIntersectionExit)===null||zA===void 0||zA.call(RA,ZA),(wI=P.rigidBody.events)===null||wI===void 0||(iI=wI.onIntersectionExit)===null||iI===void 0||iI.call(wI,EA),(bA=mA.collider.events)===null||bA===void 0||(cI=bA.onIntersectionExit)===null||cI===void 0||cI.call(bA,ZA),(kI=P.collider.events)===null||kI===void 0||(Cg=kI.onIntersectionExit)===null||Cg===void 0||Cg.call(kI,EA)}}),K.drainContactForceEvents(aA=>{var wA,II,mA,P,ZA,EA,SA,lA;const UA=tA(aA.collider1()),uA=tA(aA.collider2());if(!(UA!=null&&UA.collider.object)||!(uA!=null&&uA.collider.object))return;const LA=$l(UA,uA),jA=$l(uA,UA);(wA=UA.rigidBody.events)===null||wA===void 0||(II=wA.onContactForce)===null||II===void 0||II.call(wA,zI(zI({},LA),{},{totalForce:aA.totalForce(),totalForceMagnitude:aA.totalForceMagnitude(),maxForceDirection:aA.maxForceDirection(),maxForceMagnitude:aA.maxForceMagnitude()})),(mA=uA.rigidBody.events)===null||mA===void 0||(P=mA.onContactForce)===null||P===void 0||P.call(mA,zI(zI({},jA),{},{totalForce:aA.totalForce(),totalForceMagnitude:aA.totalForceMagnitude(),maxForceDirection:aA.maxForceDirection(),maxForceMagnitude:aA.maxForceMagnitude()})),(ZA=UA.collider.events)===null||ZA===void 0||(EA=ZA.onContactForce)===null||EA===void 0||EA.call(ZA,zI(zI({},LA),{},{totalForce:aA.totalForce(),totalForceMagnitude:aA.totalForceMagnitude(),maxForceDirection:aA.maxForceDirection(),maxForceMagnitude:aA.maxForceMagnitude()})),(SA=uA.collider.events)===null||SA===void 0||(lA=SA.onContactForce)===null||lA===void 0||lA.call(SA,zI(zI({},jA),{},{totalForce:aA.totalForce(),totalForceMagnitude:aA.totalForceMagnitude(),maxForceDirection:aA.maxForceDirection(),maxForceMagnitude:aA.maxForceMagnitude()}))}),QA.forEachActiveRigidBody(()=>{M()})},[B,C,i,O]),Y=x.useMemo(()=>({rapier:u,world:O,setWorld:_=>{eA(_)},physicsOptions:{colliders:A,gravity:E},rigidBodyStates:R,colliderStates:N,rigidBodyEvents:F,colliderEvents:q,beforeStepCallbacks:U,afterStepCallbacks:L,isPaused:B,isDebug:t,step:kA}),[B,kA,t,A,E]),V=x.useCallback(_=>{B||kA(_)},[B,kA]);return uI.createElement(Qm.Provider,{value:Y},uI.createElement(jZ,{onStep:V,type:e,updatePriority:Q}),t&&uI.createElement(nW,null),I)};function aC(){return aC=Object.assign?Object.assign.bind():function(g){for(var A=1;A{const C=x.useRef(),B=x.useCallback(()=>(C.current||(C.current=g()),C.current),I);return x.useEffect(()=>{const i=B(),Q=()=>A(i);return()=>{Q(),C.current=void 0}},[B]),B},rW=({x:g,y:A,z:I}={x:0,y:0,z:0})=>new f(g,A,I),gd=(g,A=null)=>{const I=x.useRef(A);return g&&typeof g!="function"?(g.current||(g.current=I.current),g):I},JB=x.memo(x.forwardRef((g,A)=>{const{children:I,position:C,rotation:B,quaternion:i,scale:Q,name:e}=g,{world:t,colliderEvents:E,colliderStates:s}=Ta(),a=rm(),r=gd(A),l=x.useRef(null),h=IW.flatMap(c=>Array.isArray(g[c])?[...g[c]]:g[c]),w=em(()=>{const c=l.current.getWorldScale(rW()),G=AW(g,t,c,a==null?void 0:a.getRigidBody);return typeof A=="function"&&A(G),r.current=G,G},c=>{t.getCollider(c.handle)&&t.removeCollider(c,!0)},[...h,a]);x.useEffect(()=>{const c=w();return s.set(c.handle,QW(c,l.current,a==null?void 0:a.ref.current)),()=>{s.delete(c.handle)}},[w]);const S=x.useMemo(()=>zI(zI({},im(a==null?void 0:a.options)),g),[g,a==null?void 0:a.options]);return BW(w,S,s),oW(w,S,E,Bm(a==null?void 0:a.options)),uI.createElement("object3D",{position:C,rotation:B,quaternion:i,scale:Q,ref:l,name:e},I)})),tm=uI.forwardRef((g,A)=>uI.createElement(JB,aC({},g,{shape:"cuboid",ref:A})));tm.displayName="CuboidCollider";const lW=uI.forwardRef((g,A)=>uI.createElement(JB,aC({},g,{shape:"roundCuboid",ref:A})));lW.displayName="RoundCuboidCollider";const cW=uI.forwardRef((g,A)=>uI.createElement(JB,aC({},g,{shape:"ball",ref:A})));cW.displayName="BallCollider";const Em=uI.forwardRef((g,A)=>uI.createElement(JB,aC({},g,{shape:"capsule",ref:A})));Em.displayName="CapsuleCollider";const DW=uI.forwardRef((g,A)=>uI.createElement(JB,aC({},g,{shape:"heightfield",ref:A})));DW.displayName="HeightfieldCollider";const hW=uI.forwardRef((g,A)=>uI.createElement(JB,aC({},g,{shape:"trimesh",ref:A})));hW.displayName="TrimeshCollider";const SW=uI.forwardRef((g,A)=>uI.createElement(JB,aC({},g,{shape:"cone",ref:A})));SW.displayName="ConeCollider";const wW=uI.forwardRef((g,A)=>uI.createElement(JB,aC({},g,{shape:"roundCone",ref:A})));wW.displayName="RoundConeCollider";const om=uI.forwardRef((g,A)=>uI.createElement(JB,aC({},g,{shape:"cylinder",ref:A})));om.displayName="CylinderCollider";om.displayName="RoundCylinderCollider";const GW=uI.forwardRef((g,A)=>uI.createElement(JB,aC({},g,{shape:"convexHull",ref:A})));GW.displayName="ConvexHullCollider";const yW=g=>{var A;const I=Am((g==null?void 0:g.type)||"dynamic"),C=new WB(I);return C.canSleep=(A=g==null?void 0:g.canSleep)!==null&&A!==void 0?A:!0,C},uW=({rigidBody:g,object:A,setMatrix:I,getMatrix:C,worldScale:B,meshType:i="mesh"})=>{A.updateWorldMatrix(!0,!1);const Q=A.parent.matrixWorld.clone().invert();return{object:A,rigidBody:g,invertedWorldMatrix:Q,setMatrix:I||(e=>{A.matrix.copy(e)}),getMatrix:C||(e=>e.copy(A.matrix)),scale:B||A.getWorldScale(jt).clone(),isSleeping:!1,meshType:i}},kW=["args","colliders","canSleep"],nm={gravityScale:(g,A)=>{g.setGravityScale(A,!0)},additionalSolverIterations(g,A){g.setAdditionalSolverIterations(A)},linearDamping:(g,A)=>{g.setLinearDamping(A)},angularDamping:(g,A)=>{g.setAngularDamping(A)},dominanceGroup:(g,A)=>{g.setDominanceGroup(A)},enabledRotations:(g,[A,I,C])=>{g.setEnabledRotations(A,I,C,!0)},enabledTranslations:(g,[A,I,C])=>{g.setEnabledTranslations(A,I,C,!0)},lockRotations:(g,A)=>{g.lockRotations(A,!0)},lockTranslations:(g,A)=>{g.lockTranslations(A,!0)},angularVelocity:(g,[A,I,C])=>{g.setAngvel({x:A,y:I,z:C},!0)},linearVelocity:(g,[A,I,C])=>{g.setLinvel({x:A,y:I,z:C},!0)},ccd:(g,A)=>{g.enableCcd(A)},softCcdPrediction:(g,A)=>{g.setSoftCcdPrediction(A)},userData:(g,A)=>{g.userData=A},type(g,A){g.setBodyType(Am(A),!0)},position:()=>{},rotation:()=>{},quaternion:()=>{},scale:()=>{}},sm=Object.keys(nm),MW=(g,A,I,C=!0)=>{if(!g)return;const B=I.get(g.handle);B&&(C&&(B.object.updateWorldMatrix(!0,!1),Ne.copy(B.object.matrixWorld).decompose(yC,ui,jt),g.setTranslation(yC,!1),g.setRotation(ui,!1)),sm.forEach(i=>{i in A&&nm[i](g,A[i])}))},dW=(g,A,I,C=!0)=>{const B=x.useMemo(()=>sm.flatMap(i=>Im(A[i])),[A]);x.useEffect(()=>{const i=g();MW(i,A,I,C)},B)},pW=(g,A,I)=>{const{onWake:C,onSleep:B,onCollisionEnter:i,onCollisionExit:Q,onIntersectionEnter:e,onIntersectionExit:t,onContactForce:E}=A,s={onWake:C,onSleep:B,onCollisionEnter:i,onCollisionExit:Q,onIntersectionEnter:e,onIntersectionExit:t,onContactForce:E};x.useEffect(()=>{const a=g();return I.set(a.handle,s),()=>{I.delete(a.handle)}},[C,B,i,Q,e,t,E])},UW=["children","type","position","rotation","scale","quaternion","transformState"],am=x.createContext(void 0),rm=()=>x.useContext(am),xa=x.memo(x.forwardRef((g,A)=>{const{children:I,type:C,position:B,rotation:i,scale:Q,quaternion:e,transformState:t}=g,E=Ad(g,UW),s=x.useRef(null),a=gd(A),{world:r,rigidBodyStates:l,physicsOptions:h,rigidBodyEvents:w}=Ta(),S=x.useMemo(()=>zI(zI(zI({},h),g),{},{children:void 0}),[h,g]),c=kW.flatMap(R=>Array.isArray(S[R])?[...S[R]]:S[R]),G=Id(s,S),u=em(()=>{const R=yW(S),N=r.createRigidBody(R);return typeof A=="function"&&A(N),a.current=N,N},R=>{r.getRigidBody(R.handle)&&r.removeRigidBody(R)},c);x.useEffect(()=>{const R=u(),N=uW({rigidBody:R,object:s.current});return l.set(R.handle,g.transformState?g.transformState(N):N),()=>{l.delete(R.handle)}},[u]),dW(u,S,l),pW(u,S,w);const M=x.useMemo(()=>({ref:s,getRigidBody:u,options:S}),[u]);return uI.createElement(am.Provider,{value:M},uI.createElement("object3D",aC({ref:s},E,{position:B,rotation:i,quaternion:e,scale:Q}),I,G.map((R,N)=>uI.createElement(JB,aC({key:N},R)))))}));xa.displayName="RigidBody";const NW=x.memo(g=>{const{children:A,type:I}=g,{physicsOptions:C}=Ta(),B=x.useRef(null),{options:i}=rm(),Q=x.useMemo(()=>zI(zI(zI({},C),i),{},{children:void 0,colliders:I}),[C,i]),e=Id(B,Q,!1);return uI.createElement("object3D",{ref:B,userData:{r3RapierType:"MeshCollider"}},A,e.map((t,E)=>uI.createElement(JB,aC({key:E},t))))});NW.displayName="MeshCollider";const FW=["children","instances","colliderNodes","position","rotation","quaternion","scale"],RW=x.memo(x.forwardRef((g,A)=>{const I=gd(A,[]),C=x.useRef(null),B=x.useRef(null),{children:i,instances:Q,colliderNodes:e=[],position:t,rotation:E,quaternion:s,scale:a}=g,r=Ad(g,FW),l=Id(C,zI(zI({},g),{},{children:void 0})),h=()=>{const S=B.current.children[0];if(S&&"isInstancedMesh"in S)return S};x.useEffect(()=>{const S=h();S?S.instanceMatrix.setUsage(Bf):console.warn("InstancedRigidBodies expects exactly one child, which must be an InstancedMesh")},[]);const w=(S,c)=>{const G=h();return G?zI(zI({},S),{},{getMatrix:u=>(G.getMatrixAt(c,u),u),setMatrix:u=>{G.setMatrixAt(c,u),G.instanceMatrix.needsUpdate=!0},meshType:"instancedMesh"}):S};return uI.createElement("object3D",aC({ref:C},r,{position:t,rotation:E,quaternion:s,scale:a}),uI.createElement("object3D",{ref:B},i),Q==null?void 0:Q.map((S,c)=>uI.createElement(xa,aC({},r,S,{ref:G=>I.current[c]=G,transformState:G=>w(G,c)}),uI.createElement(uI.Fragment,null,e.map((G,u)=>uI.createElement(x.Fragment,{key:u},G)),l.map((G,u)=>uI.createElement(JB,aC({key:u},G)))))))}));RW.displayName="InstancedRigidBodies";function KW(g){const A=lh("grass.jpg");return A.wrapS=A.wrapT=Bi,$.jsxs(xa,{...g,type:"fixed",colliders:!1,children:[$.jsxs("mesh",{receiveShadow:!0,position:[0,0,0],"rotation-x":-Math.PI/2,children:[$.jsx("planeGeometry",{args:[1e3,1e3]}),$.jsx("meshStandardMaterial",{roughness:100,metalness:0,map:A,"map-repeat":[240,240],color:"green"})]}),$.jsx(tm,{args:[1e3,2,1e3],position:[0,-2,0]})]})}function JW(g){const{nodes:A,materials:I}=Ya("axe.glb");return $.jsx("group",{dispose:null,...g,children:$.jsxs("group",{rotation:[0,Math.PI/1.8,-.3],scale:.5,children:[$.jsx("mesh",{geometry:A.Mesh_1001_1.geometry,material:I.material_2}),$.jsx("mesh",{geometry:A.Mesh_1001_2.geometry,material:I.material_3})]})})}Ya.preload("axe.glb");function dc(g,A,I){return Math.max(A,Math.min(I,g))}const fW=.05,EF=.1;function lm(g,A,I){const C=A.gamepad;if(C==null)return;const B=I.components;for(const i in B){let Q=g[i];Q==null&&(g[i]=Q={});const{gamepadIndices:e}=B[i];let t=!1,E=!1;if(e.button!=null&&e.buttonfW)}e.xAxis!=null&&e.xAxisEF)),e.yAxis!=null&&e.yAxisEF)),Q.state=t?"pressed":E?"touched":"default"}}function oF(g,A){if(A===Jk)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),g;if(A===bt||A===Ga){let I=g.getIndex();if(I===null){const Q=[],e=g.getAttribute("position");if(e!==void 0){for(let t=0;t=2.0 are supported."));return}const E=new r8(i,{path:I||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});E.fileLoader.setRequestHeader(this.requestHeader);for(let s=0;s=0&&e[a]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+a+'".')}}E.setExtensions(Q),E.setPlugins(e),E.parse(C,B)}parseAsync(A,I){const C=this;return new Promise(function(B,i){C.parse(A,I,B,i)})}}function mW(){let g={};return{get:function(A){return g[A]},add:function(A,I){g[A]=I},remove:function(A){delete g[A]},removeAll:function(){g={}}}}const YI={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class YW{constructor(A){this.parser=A,this.name=YI.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const A=this.parser,I=this.parser.json.nodes||[];for(let C=0,B=I.length;C=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return I.loadTextureImage(A,i.source,Q)}}class XW{constructor(A){this.parser=A,this.name=YI.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(A){const I=this.name,C=this.parser,B=C.json,i=B.textures[A];if(!i.extensions||!i.extensions[I])return null;const Q=i.extensions[I],e=B.images[Q.source];let t=C.textureLoader;if(e.uri){const E=C.options.manager.getHandler(e.uri);E!==null&&(t=E)}return this.detectSupport().then(function(E){if(E)return C.loadTextureImage(A,Q.source,t);if(B.extensionsRequired&&B.extensionsRequired.indexOf(I)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return C.loadTexture(A)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(A){const I=new Image;I.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",I.onload=I.onerror=function(){A(I.height===1)}})),this.isSupported}}class zW{constructor(A){this.parser=A,this.name=YI.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(A){const I=this.name,C=this.parser,B=C.json,i=B.textures[A];if(!i.extensions||!i.extensions[I])return null;const Q=i.extensions[I],e=B.images[Q.source];let t=C.textureLoader;if(e.uri){const E=C.options.manager.getHandler(e.uri);E!==null&&(t=E)}return this.detectSupport().then(function(E){if(E)return C.loadTextureImage(A,Q.source,t);if(B.extensionsRequired&&B.extensionsRequired.indexOf(I)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return C.loadTexture(A)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(A){const I=new Image;I.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",I.onload=I.onerror=function(){A(I.height===1)}})),this.isSupported}}class $W{constructor(A){this.name=YI.EXT_MESHOPT_COMPRESSION,this.parser=A}loadBufferView(A){const I=this.parser.json,C=I.bufferViews[A];if(C.extensions&&C.extensions[this.name]){const B=C.extensions[this.name],i=this.parser.getDependency("buffer",B.buffer),Q=this.parser.options.meshoptDecoder;if(!Q||!Q.supported){if(I.extensionsRequired&&I.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return i.then(function(e){const t=B.byteOffset||0,E=B.byteLength||0,s=B.count,a=B.byteStride,r=new Uint8Array(e,t,E);return Q.decodeGltfBufferAsync?Q.decodeGltfBufferAsync(s,a,r,B.mode,B.filter).then(function(l){return l.buffer}):Q.ready.then(function(){const l=new ArrayBuffer(s*a);return Q.decodeGltfBuffer(new Uint8Array(l),s,a,r,B.mode,B.filter),l})})}else return null}}class A8{constructor(A){this.name=YI.EXT_MESH_GPU_INSTANCING,this.parser=A}createNodeMesh(A){const I=this.parser.json,C=I.nodes[A];if(!C.extensions||!C.extensions[this.name]||C.mesh===void 0)return null;const B=I.meshes[C.mesh];for(const E of B.primitives)if(E.mode!==PB.TRIANGLES&&E.mode!==PB.TRIANGLE_STRIP&&E.mode!==PB.TRIANGLE_FAN&&E.mode!==void 0)return null;const Q=C.extensions[this.name].attributes,e=[],t={};for(const E in Q)e.push(this.parser.getDependency("accessor",Q[E]).then(s=>(t[E]=s,t[E])));return e.length<1?null:(e.push(this.parser.createNodeMesh(A)),Promise.all(e).then(E=>{const s=E.pop(),a=s.isGroup?s.children:[s],r=E[0].count,l=[];for(const h of a){const w=new _A,S=new f,c=new gg,G=new f(1,1,1),u=new Ua(h.geometry,h.material,r);for(let M=0;M0||g.search(/^data\:image\/jpeg/)===0?"image/jpeg":g.search(/\.webp($|\?)/i)>0||g.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const a8=new _A;class r8{constructor(A={},I={}){this.json=A,this.extensions={},this.plugins={},this.options=I,this.cache=new mW,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let C=!1,B=!1,i=-1;typeof navigator<"u"&&(C=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,B=navigator.userAgent.indexOf("Firefox")>-1,i=B?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||C||B&&i<98?this.textureLoader=new gn(this.options.manager):this.textureLoader=new IM(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new $C(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(A){this.extensions=A}setPlugins(A){this.plugins=A}parse(A,I){const C=this,B=this.json,i=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(Q){return Q._markDefs&&Q._markDefs()}),Promise.all(this._invokeAll(function(Q){return Q.beforeRoot&&Q.beforeRoot()})).then(function(){return Promise.all([C.getDependencies("scene"),C.getDependencies("animation"),C.getDependencies("camera")])}).then(function(Q){const e={scene:Q[0][B.scene||0],scenes:Q[0],animations:Q[1],cameras:Q[2],asset:B.asset,parser:C,userData:{}};return at(i,e,B),oe(e,B),Promise.all(C._invokeAll(function(t){return t.afterRoot&&t.afterRoot(e)})).then(function(){for(const t of e.scenes)t.updateMatrixWorld();A(e)})}).catch(I)}_markDefs(){const A=this.json.nodes||[],I=this.json.skins||[],C=this.json.meshes||[];for(let B=0,i=I.length;B{const t=this.associations.get(Q);t!=null&&this.associations.set(e,t);for(const[E,s]of Q.children.entries())i(s,e.children[E])};return i(C,B),B.name+="_instance_"+A.uses[I]++,B}_invokeOne(A){const I=Object.values(this.plugins);I.push(this);for(let C=0;C=2&&S.setY(K,N[F*t+1]),t>=3&&S.setZ(K,N[F*t+2]),t>=4&&S.setW(K,N[F*t+3]),t>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return S})}loadTexture(A){const I=this.json,C=this.options,i=I.textures[A].source,Q=I.images[i];let e=this.textureLoader;if(Q.uri){const t=C.manager.getHandler(Q.uri);t!==null&&(e=t)}return this.loadTextureImage(A,i,e)}loadTextureImage(A,I,C){const B=this,i=this.json,Q=i.textures[A],e=i.images[I],t=(e.uri||e.bufferView)+":"+Q.sampler;if(this.textureCache[t])return this.textureCache[t];const E=this.loadImageSource(I,C).then(function(s){s.flipY=!1,s.name=Q.name||e.name||"",s.name===""&&typeof e.uri=="string"&&e.uri.startsWith("data:image/")===!1&&(s.name=e.uri);const r=(i.samplers||{})[Q.sampler]||{};return s.magFilter=sF[r.magFilter]||hg,s.minFilter=sF[r.minFilter]||EB,s.wrapS=aF[r.wrapS]||Bi,s.wrapT=aF[r.wrapT]||Bi,B.associations.set(s,{textures:A}),s}).catch(function(){return null});return this.textureCache[t]=E,E}loadImageSource(A,I){const C=this,B=this.json,i=this.options;if(this.sourceCache[A]!==void 0)return this.sourceCache[A].then(a=>a.clone());const Q=B.images[A],e=self.URL||self.webkitURL;let t=Q.uri||"",E=!1;if(Q.bufferView!==void 0)t=C.getDependency("bufferView",Q.bufferView).then(function(a){E=!0;const r=new Blob([a],{type:Q.mimeType});return t=e.createObjectURL(r),t});else if(Q.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+A+" is missing URI and bufferView");const s=Promise.resolve(t).then(function(a){return new Promise(function(r,l){let h=r;I.isImageBitmapLoader===!0&&(h=function(w){const S=new Ig(w);S.needsUpdate=!0,r(S)}),I.load(UB.resolveURL(a,i.path),h,void 0,l)})}).then(function(a){return E===!0&&e.revokeObjectURL(t),a.userData.mimeType=Q.mimeType||s8(Q.uri),a}).catch(function(a){throw console.error("THREE.GLTFLoader: Couldn't load texture",t),a});return this.sourceCache[A]=s,s}assignTexture(A,I,C,B){const i=this;return this.getDependency("texture",C.index).then(function(Q){if(!Q)return null;if(C.texCoord!==void 0&&C.texCoord>0&&(Q=Q.clone(),Q.channel=C.texCoord),i.extensions[YI.KHR_TEXTURE_TRANSFORM]){const e=C.extensions!==void 0?C.extensions[YI.KHR_TEXTURE_TRANSFORM]:void 0;if(e){const t=i.associations.get(Q);Q=i.extensions[YI.KHR_TEXTURE_TRANSFORM].extendTexture(Q,e),i.associations.set(Q,t)}}return B!==void 0&&(Q.colorSpace=B),A[I]=Q,Q})}assignFinalMaterial(A){const I=A.geometry;let C=A.material;const B=I.attributes.tangent===void 0,i=I.attributes.color!==void 0,Q=I.attributes.normal===void 0;if(A.isPoints){const e="PointsMaterial:"+C.uuid;let t=this.cache.get(e);t||(t=new Na,ag.prototype.copy.call(t,C),t.color.copy(C.color),t.map=C.map,t.sizeAttenuation=!1,this.cache.add(e,t)),C=t}else if(A.isLine){const e="LineBasicMaterial:"+C.uuid;let t=this.cache.get(e);t||(t=new pC,ag.prototype.copy.call(t,C),t.color.copy(C.color),t.map=C.map,this.cache.add(e,t)),C=t}if(B||i||Q){let e="ClonedMaterial:"+C.uuid+":";B&&(e+="derivative-tangents:"),i&&(e+="vertex-colors:"),Q&&(e+="flat-shading:");let t=this.cache.get(e);t||(t=C.clone(),i&&(t.vertexColors=!0),Q&&(t.flatShading=!0),B&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(e,t),this.associations.set(t,this.associations.get(C))),C=t}A.material=C}getMaterialType(){return IE}loadMaterial(A){const I=this,C=this.json,B=this.extensions,i=C.materials[A];let Q;const e={},t=i.extensions||{},E=[];if(t[YI.KHR_MATERIALS_UNLIT]){const a=B[YI.KHR_MATERIALS_UNLIT];Q=a.getMaterialType(),E.push(a.extendParams(e,i,I))}else{const a=i.pbrMetallicRoughness||{};if(e.color=new KA(1,1,1),e.opacity=1,Array.isArray(a.baseColorFactor)){const r=a.baseColorFactor;e.color.setRGB(r[0],r[1],r[2],rC),e.opacity=r[3]}a.baseColorTexture!==void 0&&E.push(I.assignTexture(e,"map",a.baseColorTexture,GC)),e.metalness=a.metallicFactor!==void 0?a.metallicFactor:1,e.roughness=a.roughnessFactor!==void 0?a.roughnessFactor:1,a.metallicRoughnessTexture!==void 0&&(E.push(I.assignTexture(e,"metalnessMap",a.metallicRoughnessTexture)),E.push(I.assignTexture(e,"roughnessMap",a.metallicRoughnessTexture))),Q=this._invokeOne(function(r){return r.getMaterialType&&r.getMaterialType(A)}),E.push(Promise.all(this._invokeAll(function(r){return r.extendMaterialParams&&r.extendMaterialParams(A,e)})))}i.doubleSided===!0&&(e.side=XB);const s=i.alphaMode||dG.OPAQUE;if(s===dG.BLEND?(e.transparent=!0,e.depthWrite=!1):(e.transparent=!1,s===dG.MASK&&(e.alphaTest=i.alphaCutoff!==void 0?i.alphaCutoff:.5)),i.normalTexture!==void 0&&Q!==Wg&&(E.push(I.assignTexture(e,"normalMap",i.normalTexture)),e.normalScale=new cA(1,1),i.normalTexture.scale!==void 0)){const a=i.normalTexture.scale;e.normalScale.set(a,a)}if(i.occlusionTexture!==void 0&&Q!==Wg&&(E.push(I.assignTexture(e,"aoMap",i.occlusionTexture)),i.occlusionTexture.strength!==void 0&&(e.aoMapIntensity=i.occlusionTexture.strength)),i.emissiveFactor!==void 0&&Q!==Wg){const a=i.emissiveFactor;e.emissive=new KA().setRGB(a[0],a[1],a[2],rC)}return i.emissiveTexture!==void 0&&Q!==Wg&&E.push(I.assignTexture(e,"emissiveMap",i.emissiveTexture,GC)),Promise.all(E).then(function(){const a=new Q(e);return i.name&&(a.name=i.name),oe(a,i),I.associations.set(a,{materials:A}),i.extensions&&at(B,a,i),a})}createUniqueName(A){const I=HI.sanitizeNodeName(A||"");return I in this.nodeNamesUsed?I+"_"+ ++this.nodeNamesUsed[I]:(this.nodeNamesUsed[I]=0,I)}loadGeometries(A){const I=this,C=this.extensions,B=this.primitiveCache;function i(e){return C[YI.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,I).then(function(t){return rF(t,e,I)})}const Q=[];for(let e=0,t=A.length;e0&&o8(c,i),c.name=I.createUniqueName(i.name||"mesh_"+A),oe(c,i),S.extensions&&at(B,c,S),I.assignFinalMaterial(c),a.push(c)}for(let l=0,h=a.length;l1?s=new Ai:E.length===1?s=E[0]:s=new RI,s!==E[0])for(let a=0,r=E.length;a{const a=new Map;for(const[r,l]of B.associations)(r instanceof ag||r instanceof Ig)&&a.set(r,l);return s.traverse(r=>{const l=B.associations.get(r);l!=null&&a.set(r,l)}),a};return B.associations=E(i),i})}_createAnimationTracks(A,I,C,B,i){const Q=[],e=A.name?A.name:A.uuid,t=[];ee[i.path]===ee.weights?A.traverse(function(r){r.morphTargetInfluences&&t.push(r.name?r.name:r.uuid)}):t.push(e);let E;switch(ee[i.path]){case ee.weights:E=KQ;break;case ee.rotation:E=ji;break;case ee.position:case ee.scale:E=JQ;break;default:switch(C.itemSize){case 1:E=KQ;break;case 2:case 3:default:E=JQ;break}break}const s=B.interpolation!==void 0?e8[B.interpolation]:FQ,a=this._getArrayFromAccessor(C);for(let r=0,l=t.length;r{I instanceof Qg&&I.material instanceof ag&&(I.material.colorWrite=(A==null?void 0:A.colorWrite)??!0)})}function k8(g,A){return{type:"hand",inputSource:g,pose:c8(g.hand),assetPath:G8(g.handedness)}}function M8({inputSource:g,pose:A},I,C){D8(A,I,g.hand,C,g.handedness)}const d8=["wrist","thumb-metacarpal","thumb-phalanx-proximal","thumb-phalanx-distal","thumb-tip","index-finger-metacarpal","index-finger-phalanx-proximal","index-finger-phalanx-intermediate","index-finger-phalanx-distal","index-finger-tip","middle-finger-metacarpal","middle-finger-phalanx-proximal","middle-finger-phalanx-intermediate","middle-finger-phalanx-distal","middle-finger-tip","ring-finger-metacarpal","ring-finger-phalanx-proximal","ring-finger-phalanx-intermediate","ring-finger-phalanx-distal","ring-finger-tip","pinky-finger-metacarpal","pinky-finger-phalanx-proximal","pinky-finger-phalanx-intermediate","pinky-finger-phalanx-distal","pinky-finger-tip"];function p8(g,A,I){const C=new Float32Array(g.size*16),B=d8.map(i=>{const Q=A.getObjectByName(i);if(Q==null)throw new Error(`missing joint "${i}" in hand model`);return Q.matrixAutoUpdate=!1,Q});return i=>{if(i==null)return;const Q=typeof I=="function"?I():I;if(Q==null)return;i.fillPoses(g.values(),Q,C);const e=B.length;for(let t=0;tI.push(B);return A.addEventListener("selectstart",C),A.addEventListener("selectend",C),A.addEventListener("select",C),A.addEventListener("squeeze",C),A.addEventListener("squeezestart",C),A.addEventListener("squeezeend",C),{cleanup(){A.removeEventListener("selectstart",C),A.removeEventListener("selectend",C),A.removeEventListener("select",C),A.removeEventListener("squeeze",C),A.removeEventListener("squeezestart",C),A.removeEventListener("squeezeend",C)},state:{type:"transientPointer",inputSource:g,events:I}}}function lF(g){if(g.hand!=null)return"hand";switch(g.targetRayMode){case"gaze":return"gaze";case"screen":return"screenInput";case"tracked-pointer":return"controller";case"transient-pointer":return"transientPointer"}}function F8(g){const A=new m1(g);return{controller:async(I,C)=>({state:await Y1(C,A)}),hand:(I,C)=>({state:k8(C)}),gaze:(I,C)=>({state:{type:"gaze",inputSource:C}}),screenInput:(I,C)=>({state:{type:"screenInput",inputSource:C}}),transientPointer:(I,C)=>N8(C,I)}}function R8(g,A){let I=new Set;const C=F8(A),B=new Map;return(i,Q,e,t)=>{var s;I=new Set(i.inputSources);const E={};if(t==="all"){E.controllerStates=[],E.gazeStates=[],E.handStates=[],E.screenInputStates=[],E.transientPointerStates=[];for(const a of B.values())a()}else if(t!=null){const a=t.length;for(let r=0;rc===l);if(S===-1)throw new Error(`unable to find removed input source ${l}`);w.splice(S,1),(s=B.get(l))==null||s(),B.delete(l)}}return e!=null&&e.forEach(async a=>{const r=lF(a);let l=C[r](i,a),h;if(l instanceof Promise){if(h=await l,!I.has(a))return;g[r](h.state)}else h=l,cF(`${r}States`,E,Q).push(h.state);h.cleanup!=null&&B.set(a,h.cleanup)}),E}}function cF(g,A,I){let C=A[g];return C==null&&(A[g]=C=I==null?[]:[...I[g]]),C}function K8(g,A){const I=(C,B)=>{B!=null&&C.visibilityState===B.visibilityState||A(C.visibilityState==="visible")};return I(g.getState()),g.subscribe(I)}class J8 extends Wg{constructor(){super({transparent:!0,toneMapped:!1,depthWrite:!1})}onBeforeCompile(A,I){super.onBeforeCompile(A,I),A.vertexShader=`varying vec2 vLocalPosition; +`+A.vertexShader,A.vertexShader=A.vertexShader.replace("#include ",`#include + vLocalPosition = position.xy * 2.0;`),A.fragmentShader=`varying vec2 vLocalPosition; +`+A.fragmentShader,A.fragmentShader=A.fragmentShader.replace("#include ",`#include + float value = max(0.0, 1.0 - sqrt(dot(vLocalPosition, vLocalPosition))); + diffuseColor.a = diffuseColor.a * value * value;`)}}const f8=new f(0,0,1),DF=new gg,FG=new f;function q8(g,A,I,C){const B=I.getIntersection();if(B==null||!I.getEnabled()){g.visible=!1;return}g.visible=!0;const i=typeof C.color=="function"?C.color(I):C.color;Array.isArray(i)?A.color.set(...i):A.color.set(i??"white"),A.opacity=typeof C.opacity=="function"?C.opacity(I):C.opacity??.4,g.position.copy(B.pointOnFace),g.scale.setScalar(C.size??.1),B.normal!=null&&(DF.setFromUnitVectors(f8,B.normal),B.object.getWorldQuaternion(g.quaternion),g.quaternion.multiply(DF),FG.set(0,0,C.cursorOffset??.01),FG.applyQuaternion(g.quaternion),g.position.add(FG)),g.updateMatrix()}class m8 extends Wg{constructor(){super({transparent:!0,toneMapped:!1})}onBeforeCompile(A,I){super.onBeforeCompile(A,I),A.vertexShader=`varying float vFade; +`+A.vertexShader,A.vertexShader=A.vertexShader.replace("#include ",`#include + vFade = position.z + 0.5;`),A.fragmentShader=`varying float vFade; +`+A.fragmentShader,A.fragmentShader=A.fragmentShader.replace("#include ",`#include + diffuseColor.a *= vFade;`)}}function Y8(g,A,I,C){if(!I.getEnabled()){g.visible=!1;return}g.visible=!0;const B=I.getIntersection(),i=typeof C.color=="function"?C.color(I):C.color;Array.isArray(i)?A.color.set(...i):A.color.set(i??"white"),A.opacity=typeof C.opacity=="function"?C.opacity(I):C.opacity??.4;let Q=C.maxLength??1;B!=null&&(Q=Math.min(Q,B.distance)),g.position.z=-Q/2;const e=C.size??.005;g.scale.set(e,e,Q),g.updateMatrix()}function L8(g,A,I,C,B,i={}){const Q=s=>{s.inputSource===I&&g.down(Object.assign(s,{button:i.button??0}))},e=s=>{s.inputSource===I&&g.up(Object.assign(s,{button:i.button??0}))},t=`${C}start`,E=`${C}end`;return A.addEventListener(t,Q),A.addEventListener(E,e),()=>{A.removeEventListener(t,Q),A.removeEventListener(E,e)}}function H8(g){var A;return g.getButtonsDown().size>0?.6:Sm(((A=g.getIntersection())==null?void 0:A.distance)??1/0,.07,0,.2,.4)}function hD(g){return g.getButtonsDown().size>0?.6:.4}function T8(g){var A;return Sm(((A=g.getIntersection())==null?void 0:A.distance)??1/0,.1,.03,.2,.6)}function Sm(g,A,I,C,B){return C+Math.max(0,Math.min(1,(g-A)/(I-A)))*(B-C)}function x8(g,A){return(I,C)=>{const B=hF(A),i=hF(g);if(i===B)return I.identity(),!0;if(C==null||i==null||B==null)return!1;const Q=C.getPose(i,B);return Q==null?!1:(I.fromArray(Q.transform.matrix),!0)}}function hF(g){return typeof g=="function"?g():g}function v8({anchors:g=!0,handTracking:A=!0,layers:I=!0,meshDetection:C=!0,planeDetection:B=!0,referenceSpaceType:i="local-floor",customSessionInit:Q,depthSensing:e=!1}={}){if(Q!=null)return Q;const t=[i],E=[];return zE(g,"anchors",t,E),zE(A,"hand-tracking",t,E),zE(I,"layers",t,E),zE(C,"mesh-detection",t,E),zE(B,"plane-detection",t,E),zE(e,"depth-sensing",t,E),{requiredFeatures:t,optionalFeatures:E}}function zE(g,A,I,C){if(g!==!1){if(g===!0){C.push(A);return}I.push(A)}}function re(g,A,I){return typeof g=="function"?g:(typeof g=="object"&&(A!=null&&b8(g,A)?g=g[A]:"default"in g&&(g=g.default)),g===!1?!1:g===!0?I:g??I)}function b8(g,A){return A in g}function wm(g,A,I){return g??(g=I),g===!1?!1:typeof g=="function"?g:A!=null&&A in g?g[A]??I:"default"in g?g.default??I:g}const Gm={handStates:[],controllerStates:[],transientPointerStates:[],gazeStates:[],screenInputStates:[],detectedMeshes:[],detectedPlanes:[],mode:null};function O8(g){const A=xq(()=>({...Gm,controller:g==null?void 0:g.controller,hand:g==null?void 0:g.hand,gaze:g==null?void 0:g.gaze,screenInput:g==null?void 0:g.screenInput,transientPointer:g==null?void 0:g.transientPointer,detectedMesh:g==null?void 0:g.detectedMesh,detectedPlane:g==null?void 0:g.detectedPlane})),I=R8({controller:e=>A.setState({controllerStates:[...A.getState().controllerStates,e]})},g),C=Z8(A,I),B=P8(g==null?void 0:g.enterGrantedSession,e=>Ac(e,g,void 0,Q));let i,Q;return Object.assign(A,{setWebXRManager(e){if(Q===e)return;Q=e;const{referenceSpaceType:t="local-floor",foveation:E}={};Q.setReferenceSpaceType(t),E!=null&&Q.setFoveation(E);const{session:s}=A.getState();s!=null&&um(Q,s),i==null||i(),i=_8(e,C)},setFrameRate(e){const{session:t}=A.getState();t!=null&&ym(t,e)},setHand(e,t){if(t==null){A.setState({hand:e});return}const E=A.getState().hand,s={};typeof E=="object"&&Object.assign(s,E),Object.assign(s,{default:re(E,void 0,{}),[t]:e}),A.setState({hand:s})},setController(e,t){if(t==null){A.setState({controller:e});return}const E=A.getState().controller,s={};typeof E=="object"&&Object.assign(s,E),Object.assign(s,{default:re(E,void 0,{}),[t]:e}),A.setState({controller:s})},setTransientPointer(e,t){if(t==null){A.setState({transientPointer:e});return}const E=A.getState().transientPointer,s={};typeof E=="object"&&Object.assign(s,E),Object.assign(s,{default:re(E,void 0,{}),[t]:e}),A.setState({transientPointer:s})},setGaze(e){A.setState({gaze:e})},setScreenInput(e){A.setState({screenInput:e})},setDetectedPlane(e,t){if(t==null){A.setState({detectedPlane:e});return}const E=A.getState().detectedPlane,s={};typeof E=="object"&&Object.assign(s,E),Object.assign(s,{default:re(E,void 0,{}),[t]:e}),A.setState({detectedPlane:s})},setDetectedMesh(e,t){if(t==null){A.setState({detectedMesh:e});return}const E=A.getState().detectedMesh,s={};typeof E=="object"&&Object.assign(s,E),Object.assign(s,{default:re(E,void 0,{}),[t]:e}),A.setState({detectedMesh:s})},destroy(){i==null||i(),B==null||B(),C(void 0,void 0)},enterXR:(e,t)=>Ac(e,g,t,Q),enterAR:e=>Ac("immersive-ar",g,e,Q),enterVR:e=>Ac("immersive-vr",g,e,Q),onBeforeFrame(e,t,E){const{origin:s}=A.getState(),a=t.parent??e;s!=a&&A.setState({origin:a}),Q!=null&&W8(A,E,Q)}})}async function ym(g,A){if(A===!1)return;const{supportedFrameRates:I}=g;if(I==null||I.length===0)return;if(typeof A=="function"){const B=A(I);return B===!1?void 0:g.updateTargetFrameRate(B)}const C=A==="high"?1:A==="mid"?.5:0;return g.updateTargetFrameRate(I[Math.ceil((I.length-1)*C)])}async function Ac(g,A,I,C){if(navigator.xr==null)throw new Error("xr not supported");const B=await navigator.xr.requestSession(g,v8(Object.assign({},A,I)));return ym(B,"high"),um(C,B),B}function um(g,A,I){g!=null&&(XRWebGLLayer.getNativeFramebufferScaleFactor(A),g==null||g.setSession(A))}const SF=["immersive-ar","immersive-vr","inline"];function _8(g,A){const I=()=>{const C=g.getSession();A(C,C.environmentBlendMode==="opaque"?"immersive-vr":"immersive-ar")};return g.addEventListener("sessionstart",I),()=>g.removeEventListener("sessionstart",I)}function P8(g=SF,A){var C;if(g===!1)return;g===!0&&(g=SF);const I=async()=>{var B;for(const i of g)await((B=navigator.xr)==null?void 0:B.isSessionSupported(i))&&A(i)};return(C=navigator.xr)==null||C.addEventListener("sessiongranted",I),()=>{var B;return(B=navigator.xr)==null?void 0:B.removeEventListener("sessiongranted",I)}}function Z8(g,A){let I;return(C,B)=>{if(I==null||I(),C==null||B==null)return;const i=t=>g.setState(A(t.session,g.getState(),t.added,t.removed));C.addEventListener("inputsourceschange",i);const Q=()=>g.setState({frameRate:C.frameRate,visibilityState:C.visibilityState}),e=()=>{I==null||I(),I=void 0,g.setState(Gm)};C.addEventListener("end",e),C.addEventListener("frameratechange",Q),C.addEventListener("visibilitychange",Q),g.setState({...A(C,void 0,C.inputSources,void 0),frameRate:C.frameRate,visibilityState:C.visibilityState,detectedMeshes:[],detectedPlanes:[],mode:B,session:C}),I=()=>{A(C,g.getState(),void 0,"all"),C.removeEventListener("end",e),C.removeEventListener("frameratechange",Q),C.removeEventListener("visibilitychange",Q),C.removeEventListener("inputsourceschange",i)}}}function W8(g,A,I){const C=I.getReferenceSpace(),{detectedMeshes:B,detectedPlanes:i,session:Q,controllerStates:e,handStates:t}=g.getState();if(A==null||C==null||Q==null)return;const E=wF(i,A.detectedPlanes),s=wF(B,A.detectedMeshes);(i!=E||B!=s)&&g.setState({detectedPlanes:E,detectedMeshes:s});const a=e.length;for(let l=0;l{I instanceof Qg&&I.material instanceof ag&&(I.material.colorWrite=(A==null?void 0:A.colorWrite)??!0)})}function $8(g,A,I){const C=[];for(const B in A.components){const i=A.components[B];let Q=I[B];Q==null&&(I[B]=Q={state:"default"}),C.push(...Object.values(i.visualResponses).map(e=>A1(g,Q,e)))}return()=>{const B=C.length;for(let i=0;i{};if(I.valueNodeProperty==="visibility")return()=>C.visible=I.states.includes(A.state);const B=g.getObjectByName(I.minNodeName),i=g.getObjectByName(I.maxNodeName);return B==null||i==null?()=>{}:()=>{const Q=I1(A,I);C.quaternion.slerpQuaternions(B.quaternion,i.quaternion,Q),C.position.lerpVectors(B.position,i.position,Q),C.updateMatrix()}}function I1(g,{componentProperty:A,states:I}){const C=I.includes(g.state);switch(A){case"xAxis":return C?GF(g).x:.5;case"yAxis":return C?GF(g).y:.5;case"button":return C?g.button??0:0;case"state":return C?1:0}}const Xn=new cA;function GF({xAxis:g=0,yAxis:A=0}){if(Xn.lengthSq()>1){const C=Math.atan2(A,g);Xn.set(Math.cos(C),Math.sin(C))}else Xn.set(g,A);return Xn.multiplyScalar(.5).addScalar(.5),Xn}function g1({_listeners:g,__r3f:A}){return g!=null&&Object.keys(g).length>0||A!=null&&(A==null?void 0:A.eventCount)>0}function C1({_listeners:g,__r3f:A},I){if(g!=null&&I in g)return g[I];if(A==null)return;const C=A.handlers[B1[I]];if(C!=null)return[C]}const B1={click:"onClick",contextmenu:"onContextMenu",dblclick:"onDoubleClick",pointercancel:"onPointerCancel",pointerdown:"onPointerDown",pointerenter:"onPointerEnter",pointerleave:"onPointerLeave",pointermove:"onPointerMove",pointerout:"onPointerOut",pointerover:"onPointerOver",pointerup:"onPointerUp",wheel:"onWheel"};class WC{constructor(A,I,C,B,i,Q=i.object,e=Q){FI(this,"type");FI(this,"bubbles");FI(this,"nativeEvent");FI(this,"pointer");FI(this,"intersection");FI(this,"currentObject");FI(this,"object");FI(this,"stopPropagation");FI(this,"stopImmediatePropagation");this.type=A,this.bubbles=I,this.nativeEvent=C,this.pointer=B,this.intersection=i,this.currentObject=Q,this.object=e}get pointerId(){return this.pointer.id}get pointerType(){return this.pointer.type}get pointerState(){return this.pointer.state}get timeStamp(){return this.nativeEvent.timeStamp}get button(){return this.nativeEvent.button}get shiftKey(){return this.nativeEvent.shiftKey??!1}get metaKey(){return this.nativeEvent.metaKey??!1}get ctrlKey(){return this.nativeEvent.ctrlKey??!1}get altKey(){return this.nativeEvent.altKey??!1}get distance(){return this.intersection.distance}get distanceToRay(){return this.intersection.distanceToRay}get point(){return this.intersection.point}get index(){return this.intersection.index}get face(){return this.intersection.face}get faceIndex(){return this.intersection.faceIndex}get uv(){return this.intersection.uv}get uv1(){return this.intersection.uv1}get normal(){return this.intersection.normal}get instanceId(){return this.intersection.instanceId}get pointOnLine(){return this.intersection.pointOnLine}get batchId(){return this.intersection.batchId}get pointerPosition(){return this.intersection.pointerPosition}get pointerQuaternion(){return this.intersection.pointerQuaternion}get pointOnFace(){return this.intersection.pointOnFace}get localPoint(){return this.intersection.localPoint}get details(){return this.intersection.details}get target(){return this.object}get currentTarget(){return this.currentObject}retarget(A){const{type:I,bubbles:C,nativeEvent:B,pointer:i,intersection:Q,target:e}=this;return new WC(I,C,B,i,Q,A,e)}}class i1 extends WC{get deltaX(){return this.nativeEvent.deltaX}get deltaY(){return this.nativeEvent.deltaY}get deltaZ(){return this.nativeEvent.deltaZ}constructor(A,I,C){super("wheel",!0,A,I,C)}}function bB(g){km(g,g.currentObject)}function km(g,A){if(A==null)return;const I=C1(A,g.type);let C=!g.bubbles;if(I!=null&&I.length>0){const B=g.retarget(A),i=I.length;B.stopPropagation=()=>C=!0;let Q=!1;B.stopImmediatePropagation=()=>{C=!0,Q=!0};for(let e=0;e=0;e--){const t=this.pointerEnteredHelper[e];bB(new WC("pointerenter",!1,A,this,C,t))}if(C!=null&&bB(new WC("pointermove",!0,A,this,C)),this.prevIntersection=this.intersection,this.prevEnabled=this.enabled,!this.wasMoved){this.wasMoved=!0;const e=this.onFirstMove.length;for(let t=0;tC){e.set(A.button,A.timeStamp);return}bB(new WC("dblclick",!0,A,this,this.intersection)),e.delete(A.button)}cancel(A){if(this.enabled){if(!this.wasMoved){this.onFirstMove.push(this.cancel.bind(this,A));return}this.intersection!=null&&bB(new WC("pointercancel",!0,A,this,this.intersection))}}wheel(A,I,C){if(!this.enabled)return;let B=this.intersection;if(C||(B=this.computeIntersection(A,I,this.pointerCapture)),!this.wasMoved&&C){this.onFirstMove.push(this.cancel.bind(this,I));return}B!=null&&bB(new i1(I,this,B))}exit(A){var I;if(!this.wasMoved){this.onFirstMove.push(this.exit.bind(this,A));return}this.pointerCapture!=null&&((I=this.parentReleasePointerCapture)==null||I.call(this),this.pointerCapture=void 0),this.intersection=void 0,this.commit(A)}}function dm(g,A,I,C){if(g==null)return;const B=I.indexOf(g);B!=-1?I.splice(B,1):C.push(g),A.push(g),dm(g.parent,A,I,C)}function Q1(g,A,I,C,B){if(A==null)return!1;const i=A.get(I);return!(i==null||C-i>B||i!=g.get(I))}function id(g,A,I){return A.face==null?!1:(g.setFromNormalAndCoplanarPoint(A.face.normal,A.localPoint),g.applyMatrix4(I.matrixWorld),!0)}function e1(g,A,I,C,B,i){if(A==="none"||A==="listener"&&!g)return!1;if(I==="all")return!0;if(typeof I=="function")return I(C,B,i);let Q,e;"deny"in I?(e=!0,Q=I.deny):(e=!1,Q=I.allow);let t;return Array.isArray(Q)?t=Q.includes(B):t=Q===B,e?!t:t}function Th(g,A,I,C,B,i=!1,Q,e){const t=i||g1(g),E=g.pointerEvents??Q??"listener",s=g.pointerEventsType??e??"all";e1(t,E,s,A,I,C)&&B(g);const r=g.children.length;for(let l=0;l0)&&(g=Q)}return g}function t1(g,A){const{pointerEventsOrder:I=0}=g.object,{pointerEventsOrder:C=0}=A.object;return I!=C?C-I:g.distance-A.distance}const sQ=new fa,E1=new _A,$n=[];function o1(g,A,I,C,B,i,Q,e){if(Q!=null)return n1(g,A,Q);let t;if(Th(I,C,B,i,E=>{let s=0;const a=((t==null?void 0:t.details.lineIndex)??A.length-2)+2;for(let r=1;r0;C--){const B=A[C-1],i=A[C];if(JG.origin.copy(B).applyMatrix4(g),JG.direction.copy(i).applyMatrix4(g).sub(sQ.ray.origin).normalize(),JG.intersectPlane(I,uF)!=null)return uF.clone()}}const fG=new fa,qG=new f,kF=new Gi,a1=new _A,mG=[];function r1(g,A,I,C,B,i,Q,e,t){if(e!=null)return l1(g,A,I,e);let E;if(fG.ray.origin.copy(g),fG.ray.direction.copy(I).applyQuaternion(A),Th(C,B,i,Q,s=>{s.raycast(fG,mG),E=Qd(E,mG,t),mG.length=0}),E!=null)return Object.assign(E,{details:{type:"ray"},pointerPosition:g.clone(),pointerQuaternion:A.clone(),pointOnFace:E.point,localPoint:E.point.clone().applyMatrix4(a1.copy(E.object.matrixWorld).invert())})}const MF=new He;function l1(g,A,I,{intersection:C,object:B}){if(C.details.type!="ray")return;qG.copy(I).applyQuaternion(A),MF.set(g,qG),id(kF,C,B);const i=MF.intersectPlane(kF,new f)??C.point;return{...C,object:B,pointOnFace:i,point:qG.clone().multiplyScalar(C.distance).add(g),pointerPosition:g.clone(),pointerQuaternion:A.clone()}}const YG=new Vg,LG=[];function pm(g,A,I,C,B,i,Q,e,t){if(e!=null)return h1(g,A,e);let E;if(YG.center.copy(g),YG.radius=I,Th(C,B,i,Q,s=>{D1(YG,s,LG),E=Qd(E,LG,t),LG.length=0}),E!=null)return Object.assign(E,{details:{type:"sphere"},pointOnFace:E.point,pointerPosition:g.clone(),pointerQuaternion:A.clone(),localPoint:E.point.clone().applyMatrix4(SD.copy(E.object.matrixWorld).invert())})}const Ic=new _A;function c1(g){return"spherecast"in g}function D1(g,A,I){if(A.updateWorldMatrix(!0,!1),c1(A)){A.spherecast(g,I);return}if(A instanceof Ua){A.geometry.boundingSphere==null&&A.geometry.computeBoundingSphere(),A.geometry.boundingBox==null&&A.geometry.computeBoundingBox();for(let B=0;Bg.radius*g.radius)return;HG.max(S1);const Q=Uo.center.clone().sub(FF);Q.divide(HG),w1(Q);const e=gc.clone();return{distance:Math.sqrt(i),face:{a:0,b:0,c:0,materialIndex:0,normal:Q},normal:Q,point:e,instanceId:C,object:A}}function w1(g){const A=Math.abs(g.x),I=Math.abs(g.y),C=Math.abs(g.z);if(A>=I&&A>=C){g.set(g.x<0?-1:1,0,0);return}if(I>=A&&I>=C){g.set(0,g.y<0?-1:1,0);return}g.set(0,0,g.z<0?-1:1)}const Uu={radius:.07};function G1(g,A,I=Uu,C="grab"){const B=new f,i=new gg,Q=ed();return new Bd(Q,C,A,(e,t,E)=>{const s=g.current;if(s!=null)return s.updateWorldMatrix(!0,!1),B.setFromMatrixPosition(s.matrixWorld),i.setFromRotationMatrix(s.matrixWorld),pm(B,i,I.radius??Uu.radius,e,Q,C,A,E,I)},void 0,void 0,void 0,I)}const y1=new f(0,0,-1),as={direction:y1,minDistance:0,linePoints:null};function u1(g,A,I=as,C="ray"){const B=new f,i=new gg,Q=ed();return new Bd(Q,C,A,(e,t,E)=>{const s=g.current;if(s==null)return;s.updateWorldMatrix(!0,!1);let a;const r=I.linePoints??as.linePoints;if(r==null?(B.setFromMatrixPosition(s.matrixWorld),i.setFromRotationMatrix(s.matrixWorld),a=r1(B,i,I.direction??as.direction,e,Q,C,A,E,I)):a=o1(s.matrixWorld,r,e,Q,C,A,E,I),a!=null&&!(a.distance<(I.minDistance??as.minDistance)))return a},void 0,void 0,void 0,I)}const No={button:0,downRadius:.03,hoverRadius:.1};function k1(g,A,I=No,C="touch"){const B=new f,i=new gg,Q=ed();return new Bd(Q,C,A,(e,t,E)=>{const s=g.current;if(s!=null)return s.updateWorldMatrix(!0,!1),B.setFromMatrixPosition(s.matrixWorld),i.setFromRotationMatrix(s.matrixWorld),pm(B,i,I.hoverRadius??No.hoverRadius,e,Q,C,A,E,I)},M1(I),void 0,void 0,I)}function M1(g=No){let A=!1;return I=>{if(!I.getEnabled())return;const C=I.getIntersection(),B=d1(C,g.downRadius??No.downRadius);if(B===A)return;const i={timeStamp:performance.now(),button:g.button??No.button};B?I.down(i):I.up(i),A=B}}function d1(g,A){return g==null?!1:g.distance<=A}let p1=23412;function ed(){return p1++}new f;new cA;let U1=class{constructor(){FI(this,"pointers",[]);FI(this,"isDefaults",[]);FI(this,"enabled",!0)}register(A,I){return this.pointers.push(A),this.isDefaults.push(I),this.unregister.bind(this,A)}unregister(A){const I=this.pointers.indexOf(A);I!==-1&&(this.isDefaults.splice(I,1),this.pointers.splice(I,1))}move(A,I){var Q,e;if(!this.enabled)return;const C=this.pointers.length;if(C===0)return;for(let t=0;t=g.lastChangedTime)return A;const I=new lI;return I.setIndex(new oI(g.indices,1)),I.setAttribute("position",new oI(g.vertices,3)),Object.assign(I,{creationTime:g.lastChangedTime})}function JF(g,A){return A!=null&&A.createdAt!=null&&A.createdAt>=g.lastChangedTime?A:Object.assign(N1(g.polygon),{createdAt:g.lastChangedTime})}const As=new tq,Cc=new cA;function N1(g){const A=new Ue,I=g.map(({x:B,z:i})=>new cA(B,i));As.setFromPoints(I),As.getSize(Cc);for(const B of I)B.sub(As.min),B.divide(Cc);A.setFromPoints(I);const C=new Ka(A);return C.scale(Cc.x,Cc.y,1),C.translate(As.min.x,As.min.y,0),C.rotateX(Math.PI/2),C}new f;new f;new f;const Is=new lC(0,0,0,"YXZ"),Bc=new gg;function F1(g,A,I){g.matrixWorld.decompose(A.position,Bc,A.scale),Is.setFromQuaternion(Bc),Is.z=0,Is.x=dc(Is.x-10*Math.PI/180,-Math.PI/2,1.1*Math.PI/4),Bc.setFromEuler(Is),A.quaternion.slerp(Bc,I/100)}function R1(g){return g.userData.teleportTarget===!0}function K1(g={}){return A=>!(!R1(A.object)||g.customFilter!=null&&!g.customFilter(A))}function J1(){return new jD(new f(0,0,0),new f(0,0,-8),new f(0,-20,-15)).getPoints(20)}let f1=class extends Qg{constructor(I){const C=new vP,B=new Float32Array(I.length*3);for(let e=0;ee.distanceTo(I[t+1]))}update(I){if(!I.getEnabled()||I.getButtonsDown().size===0){this.visible=!1;return}this.visible=!0;const B=I.getIntersection();if((B==null?void 0:B.details.type)!="lines"){this.material.visibility=this.multiplier;return}const{distanceOnLine:i,lineIndex:Q}=B.details,e=this.lineLengths[Q];this.material.visibility=this.multiplier*(Q+i/e)/this.lineLengths.length;const{color:t="white",opacity:E=.4,size:s=.01}=this.options;this.material.lineWidth=s,this.material.opacity=typeof E=="function"?E(I):E;const a=typeof t=="function"?t(I):t;Array.isArray(a)?this.material.color.set(...a):this.material.color.set(a),console.log(this.material.visibility,this.multiplier,Q,e,i,this.lineLengths.length)}};const Um=new qW,Nm="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles/",q1="generic-trigger";class m1{constructor(A){FI(this,"baseAssetPath");FI(this,"defaultProfileId");FI(this,"profilesListPromise");FI(this,"profilePromisesMap",new Map);FI(this,"loadAsync",this.load);this.baseAssetPath=(A==null?void 0:A.baseAssetPath)??Nm,this.defaultProfileId=(A==null?void 0:A.defaultControllerProfileId)??q1}async load(A,I){const C=await this.loadProfile(A);for(const B in C.layouts)if(B.includes(I))return C.layouts[B];throw new Error(`No matching layout for "${I}", in profile ${C.profileId} with layouts ${Object.keys(C.layouts).join(", ")}.`)}async loadProfile(A){this.profilesListPromise??(this.profilesListPromise=fF(new URL("profilesList.json",this.baseAssetPath).href));const I=await this.profilesListPromise,C=A.length;for(let i=0;i{const C=x.useRef(null);return x.useImperativeHandle(I,()=>C.current,[]),T1(C,g,(B,i,Q)=>{C.current!=null&&(C.current.visible=Q!=null)}),$.jsx("group",{visible:!1,matrixAutoUpdate:!1,ref:C,children:$.jsx(xh.Provider,{value:g,children:A})})});function fm(){const g=x.useContext(xh);if(g==null)throw new Error("XR objects must be placed inside the XROrigin");return g}function H1(g){const A=fm();return x.useMemo(()=>x8(g,A),[g,A])}function T1(g,A,I){const C=H1(A);DC((B,i,Q)=>{g.current!=null&&(C(g.current.matrix,Q),I==null||I(B,i,Q))},-100)}let x1=0;const qF=new Map;function eE(g){let A=qF.get(g);return A==null&&qF.set(g,A=x1++),A}function v1(){return cC(g=>g.visibilityState)}function b1(g,A){const I=x.useRef(A);I.current=A;const[C,B]=x.useMemo(()=>{let i;return[Q=>{let e=!1;return navigator.xr==null?(i=!1,()=>{}):(navigator.xr.isSessionSupported(g).then(t=>{i=t,!e&&Q()}).catch(t=>{var E;e||(E=I.current)==null||E.call(I,t)}),()=>e=!0)},()=>i]},[g]);return x.useSyncExternalStore(C,B)}function td(g){const A=x.useContext(zi);if(A==null||A.type!="hand")throw new Error('useXRHandState() can only be used inside a or with using useXRHandState("left")');return A}const O1=Symbol("loadXRHandModel"),_1=x.forwardRef((g,A)=>{const I=td(),C=ah(y8,[I.assetPath,void 0,O1]);u8(C,g),x.useImperativeHandle(A,()=>C,[C]);const B=fm(),i=x.useMemo(()=>p8(I.inputSource.hand,C,B),[I.inputSource,C,B]);return DC((Q,e,t)=>i(t)),$.jsx("primitive",{object:C})});x.forwardRef(({joint:g,children:A},I)=>{const C=td();return $.jsx(ei,{ref:I,space:()=>C.inputSource.hand.get(g),children:A})});function qm({children:g}){const A=x.useMemo(()=>new U1,[]);return Ym(A),DC(I=>A.move(I.scene,{timeStamp:performance.now()}),-50),$.jsx(Jm.Provider,{value:A,children:g})}function P1(g,A,I,C){const B=x.useMemo(()=>({}),[]);Object.assign(B,Uu,I);const i=x.useMemo(()=>G1(g,A,B,C),[g,A,B,C]);return od(i,I==null?void 0:I.makeDefault),i}function mm(g,A,I,C){const B=x.useMemo(()=>({}),[]);Object.assign(B,as,I);const i=x.useMemo(()=>u1(g,A,B,C),[g,A,B,C]);return od(i,I==null?void 0:I.makeDefault),i}function Z1(g,A,I,C){const B=x.useMemo(()=>({}),[]);Object.assign(B,No,I);const i=x.useMemo(()=>k1(g,A,B,C),[g,A,B,C]);return od(i,I==null?void 0:I.makeDefault),i}const W1=x.forwardRef((g,A)=>{const I=x.useMemo(()=>new m8,[]),C=x.useRef(null);return x.useImperativeHandle(A,()=>C.current,[]),DC(()=>C.current!=null&&Y8(C.current,I,g.pointer,g)),$.jsx("mesh",{matrixAutoUpdate:!1,renderOrder:g.renderOrder??2,ref:C,material:I,children:$.jsx("boxGeometry",{})})}),vh=x.forwardRef((g,A)=>{const I=x.useMemo(()=>new J8,[]),C=x.useRef(null);x.useImperativeHandle(A,()=>C.current,[]),DC(()=>C.current!=null&&q8(C.current,I,g.pointer,g));const B=jC(i=>i.scene);return EM($.jsx("mesh",{renderOrder:g.renderOrder??1,ref:C,matrixAutoUpdate:!1,material:I,children:$.jsx("planeGeometry",{})}),B)});function Ed(g,A,I,C){const B=cC(i=>i.session);x.useEffect(()=>{if(B!=null)return L8(g,B,A,I)},[I,A,g,B,C])}function od(g,A=!1){const I=x.useContext(Jm);I==null?(Ym(g),DC(C=>g.move(C.scene,{timeStamp:performance.now()}),-50)):x.useEffect(()=>I.register(g,A),[I,g,A]),x.useEffect(()=>()=>g.exit({timeStamp:performance.now()}),[g])}function Ym(g){const A=xm();x.useEffect(()=>K8(A,I=>g.setEnabled(I,{timeStamp:performance.now()})),[A,g])}const V1=x.forwardRef(({pointer:g,linePoints:A,...I},C)=>{const B=x.useMemo(()=>new f1(A),[A]);return x.useImperativeHandle(C,()=>B,[B]),B.options=I,DC(()=>B.update(g)),$.jsx("primitive",{object:B})});function Lm(g,A,I){const C=x.useContext(zi);if(C==null)throw new Error("DefaultXRInputSourceGrabPointer can only be used inside a XRInputSource");const B=x.useRef(null),i=P1(B,C,I);Ed(i,C.inputSource,g);const Q=I.cursorModel;return $.jsx(ei,{ref:B,space:A(C.inputSource),children:Q!==!1&&$.jsx(vh,{pointer:i,opacity:H8,...uC(Q)})})}const j1=Lm.bind(null,"select",g=>()=>g.hand.get("index-finger-tip")),X1=Lm.bind(null,"squeeze",g=>g.gripSpace);function va(g){const A=x.useContext(zi);if(A==null)throw new Error("DefaultXRInputSourceRayPointer can only be used inside a XRInputSource");const I=x.useRef(null),C=mm(I,A,g);Ed(C,A.inputSource,"select");const B=g.rayModel,i=g.cursorModel;return $.jsxs(ei,{ref:I,space:A.inputSource.targetRaySpace,children:[B!==!1&&$.jsx(W1,{pointer:C,opacity:hD,...uC(B)}),i!==!1&&$.jsx(vh,{pointer:C,opacity:hD,...uC(i)})]})}function z1(g){const A=td(),I=x.useRef(null),C=Z1(I,A,g),B=g.cursorModel;return $.jsx(ei,{ref:I,space:()=>A.inputSource.hand.get("index-finger-tip"),children:B!==!1&&$.jsx(vh,{pointer:C,opacity:T8,...uC(B)})})}function $1(g){const A=g.model,I=g.grabPointer,C=g.rayPointer,B=g.teleportPointer??!1;return $.jsxs($.Fragment,{children:[A!==!1&&$.jsx(x.Suspense,{children:$.jsx(cV,{...uC(A)})}),$.jsxs(qm,{children:[I!==!1&&$.jsx(X1,{...uC(I)}),C!==!1&&$.jsx(va,{makeDefault:!0,minDistance:.2,...uC(C)}),B!==!1&&$.jsx(Hm,{...uC(B)})]})]})}function AV(g){var e;const A=g.model,I=g.grabPointer,C=g.rayPointer,B=g.touchPointer,i=g.teleportPointer??!1,Q=C===!1?!1:(e=uC(C))==null?void 0:e.rayModel;return $.jsxs($.Fragment,{children:[A!==!1&&$.jsx(x.Suspense,{children:$.jsx(_1,{...uC(A)})}),$.jsxs(qm,{children:[I!==!1&&$.jsx(j1,{...uC(I)}),B!==!1&&$.jsx(z1,{...uC(B)}),C!==!1&&$.jsx(va,{makeDefault:!0,minDistance:.2,...uC(C),rayModel:Q===!1?!1:{maxLength:.2,...uC(Q)}}),i!==!1&&$.jsx(Hm,{...uC(i)})]})]})}function IV(g){return $.jsx(va,{...g,rayModel:!1})}function gV(g){return $.jsx(va,{...g,rayModel:!1})}function CV(g){return $.jsx(va,{...g,cursorModel:!1,rayModel:!1})}function Hm(g){const A=x.useContext(zi);if(A==null)throw new Error("DefaultXRInputSourceRayPointer can only be used inside a XRInputSource");const I=x.useRef(null),C=x.useRef(null),B=x.useMemo(()=>J1(),[]),i=mm(C,A,{...g,linePoints:B,customFilter:K1(g)},"teleport");Ed(i,A.inputSource,"select");const Q=g.rayModel,e=g.cursorModel,t=jC(s=>s.scene),E=x.useRef(null);return DC((s,a)=>{E.current!=null&&(E.current.visible=i.getEnabled()&&i.getButtonsDown().size>0);const r=C.current,l=I.current;r==null||l==null||F1(l,r,a*1e3)}),$.jsxs($.Fragment,{children:[$.jsx(ei,{ref:I,space:A.inputSource.targetRaySpace}),EM($.jsxs("group",{ref:C,children:[Q!==!1&&$.jsx(V1,{linePoints:B,pointer:i,opacity:hD,...uC(Q)}),e!==!1&&$.jsx(vh,{ref:E,pointer:i,opacity:hD,...uC(e)})]}),t)]})}function uC(g){if(g!==!0)return g}function BV({children:g}){const A=jC(e=>e.gl.xr),I=cC(e=>e.origin),C=x.useCallback(()=>A.getReferenceSpace(),[A]),B=v1()==="visible",i=ma(),Q=x.useMemo(()=>Object.assign({},i,{getState(){return{...i.getState(),scene:I}}}),[I,i]);return I==null?null:$.jsx($.Fragment,{children:xo.createPortal($.jsx(rh.Provider,{value:i,children:$.jsxs(xh.Provider,{value:C,children:[$.jsxs("group",{matrixAutoUpdate:!1,visible:B,children:[$.jsx(iV,{}),$.jsx(QV,{}),$.jsx(eV,{}),$.jsx(tV,{}),$.jsx(EV,{})]}),$.jsx(oV,{}),$.jsx(nV,{}),g]})}),Q,null)})}function iV(){const g=cC(I=>I.controllerStates);let A=cC(I=>I.controller);return A===!1?null:$.jsx($.Fragment,{children:g.map(I=>{const C=re(A,I.inputSource.handedness,{});return C===!1?null:$.jsx(ei,{space:I.inputSource.gripSpace,children:$.jsx(zi.Provider,{value:I,children:$.jsx(x.Suspense,{children:typeof C=="function"?$.jsx(C,{}):$.jsx($1,{...C})})})},eE(I))})})}function QV(){const g=cC(I=>I.handStates),A=cC(I=>I.hand);return A===!1?null:$.jsx($.Fragment,{children:g.map(I=>{const C=re(A,I.inputSource.handedness,{});return C===!1?null:$.jsx(ei,{space:()=>I.inputSource.hand.get("wrist"),children:$.jsx(zi.Provider,{value:I,children:$.jsx(x.Suspense,{children:typeof C=="function"?$.jsx(C,{}):$.jsx(AV,{...C})})})},eE(I))})})}function eV(){const g=cC(I=>I.transientPointerStates),A=cC(I=>I.transientPointer);return A===!1?null:$.jsx($.Fragment,{children:g.map(I=>{const C=re(A,I.inputSource.handedness,{});return C===!1?null:$.jsx(ei,{space:()=>I.inputSource.targetRaySpace,children:$.jsx(zi.Provider,{value:I,children:$.jsx(x.Suspense,{children:typeof C=="function"?$.jsx(C,{}):$.jsx(IV,{...C})})})},eE(I))})})}function tV(){const g=cC(I=>I.gazeStates),A=cC(I=>I.gaze);return A===!1?null:$.jsx($.Fragment,{children:g.map(I=>$.jsx(ei,{space:()=>I.inputSource.targetRaySpace,children:$.jsx(zi.Provider,{value:I,children:$.jsx(x.Suspense,{children:typeof A=="function"?$.jsx(A,{}):$.jsx(gV,{...Tm(A)})})})},eE(I)))})}function EV(){const g=cC(I=>I.screenInputStates),A=cC(I=>I.screenInput);return A===!1?null:$.jsx($.Fragment,{children:g.map(I=>$.jsx(ei,{space:()=>I.inputSource.targetRaySpace,children:$.jsx(zi.Provider,{value:I,children:$.jsx(x.Suspense,{children:typeof A=="function"?$.jsx(A,{}):$.jsx(CV,{...Tm(A)})})})},eE(I)))})}function Tm(g){if(g!==!0)return g}function oV(){const g=cC(I=>I.detectedMeshes),A=cC(I=>I.detectedMesh);if(A!==!1)return $.jsx($.Fragment,{children:g.map(I=>{const C=wm(A,I.semanticLabel,!1);return C===!1?null:$.jsx(ei,{space:I.meshSpace,children:$.jsx(Rm.Provider,{value:I,children:$.jsx(x.Suspense,{children:$.jsx(C,{})})})},eE(I))})})}function nV(){const g=cC(I=>I.detectedPlanes),A=cC(I=>I.detectedPlane);if(A!=null)return $.jsx($.Fragment,{children:g.map(I=>{const C=wm(A,I.semanticLabel,!1);return C===!1?null:$.jsx(ei,{space:I.planeSpace,children:$.jsx(Km.Provider,{value:I,children:$.jsx(x.Suspense,{children:$.jsx(C,{})})})},eE(I))})})}function sV(g){return O8(g)}function aV({children:g,store:A}){A.setWebXRManager(jC(C=>C.gl.xr));const I=ma();return x.useEffect(()=>{let C;return A.subscribe((B,i)=>{const Q=B.mode!=null,e=i.mode!=null;if(Q!==e){if(Q){const{camera:t,gl:E}=I.getState();C=t,I.setState({camera:E.xr.getCamera()});return}C!=null&&I.setState({camera:C})}})},[I,A]),DC((C,B,i)=>A.onBeforeFrame(C.scene,C.camera,i),-1e3),$.jsxs(Fm.Provider,{value:A,children:[$.jsx(BV,{}),g]})}function xm(){const g=x.useContext(Fm);if(g==null)throw new Error("XR features can only be used inside the component");return g}function cC(g=A=>A){return rM(xm(),g)}x.forwardRef(({id:g,children:A,onPress:I,onRelease:C},B)=>{const i=nd(),[Q,e]=x.useState(void 0);if(x.useImperativeHandle(B,()=>Q,[Q]),rV(g,t=>t==="pressed"?I==null?void 0:I():C==null?void 0:C()),DC(()=>{var t;return e((t=i.gamepad[g])==null?void 0:t.object)}),Q!=null)return EM(A,Q)});function rV(g,A,I){const C=nd(),B=x.useRef();DC(()=>{var Q;const i=(Q=C==null?void 0:C.gamepad[g])==null?void 0:Q.state;i!=null&&i!=B.current&&A(i),B.current=i})}function nd(g){const A=x.useContext(zi);if(A==null||A.type!="controller")throw new Error('useXRControllerState() can only be used inside a or using useXRControllerState("left")');return A}const lV=Symbol("loadXRControllerModel"),cV=x.forwardRef((g,A)=>{const I=nd(),C=ah(X8,[I.layout,void 0,lV]);z8(C,g),I.object=C,x.useImperativeHandle(A,()=>C,[C]);const B=x.useMemo(()=>$8(C,I.layout,I.gamepad),[C,I.layout,I.gamepad]);return DC(B),$.jsx("primitive",{object:C})});x.forwardRef((g,A)=>{const I=DV(),C=hV(I);return $.jsx("mesh",{ref:A,geometry:C,...g})});function DV(){const g=x.useContext(Rm);if(g==null)throw new Error("useXRMesh can only be used inside XRMesh or ForEachXRMesh");return g}function hV(g,A=!0){const[I,C]=x.useState(KF(g,void 0));return DC(()=>C(B=>KF(g,B))),x.useEffect(()=>{if(A)return()=>I.dispose()},[I]),I}x.forwardRef((g,A)=>{const I=SV(),C=wV(I);return $.jsx("mesh",{ref:A,geometry:C,...g})});function SV(){const g=x.useContext(Km);if(g==null)throw new Error("useXRPlane can only be used inside XRPlane or ForEachXRPlane");return g}function wV(g,A=!0){const[I,C]=x.useState(JF(g,void 0));return DC(()=>C(B=>JF(g,B))),x.useEffect(()=>{if(A)return()=>I.dispose()},[I]),I}function GV(g,A){const I=cC(C=>C.mode);return A!=null?Array.isArray(A)?!A.includes(I):A!=I:g!=null?Array.isArray(g)?g.includes(I):g===I:!0}function yV({children:g,allow:A,deny:I}){return GV(A,I)?$.jsx($.Fragment,{children:g}):null}x.forwardRef(({children:g,...A},I)=>{const C=jC(Q=>Q.gl.xr.getCamera()),B=jC(Q=>Q.gl.xr),i=x.useCallback(()=>B.getReferenceSpace(),[B]);return $.jsxs("group",{ref:I,...A,children:[$.jsx("primitive",{object:C}),$.jsx(xh.Provider,{value:i,children:g})]})});const vm=x.forwardRef(({store:g,mode:A,onError:I,options:C,children:B,...i},Q)=>{const e=rM(g,E=>E.session),t=b1(A,I);return $.jsx("button",{ref:Q,...i,onClick:()=>e!=null?e.end():g.enterXR(A,C).catch(I),children:typeof B=="function"?B(t?e!=null?"entered":"exited":"unsupported"):B})});x.forwardRef((g,A)=>$.jsx(vm,{ref:A,mode:"immersive-ar",...g}));x.forwardRef((g,A)=>$.jsx(vm,{ref:A,mode:"immersive-vr",...g}));const uV={onBlur:"pointerleave",onHover:"pointerenter",onMove:"pointermove",onSelect:{type:"click",filter:g=>g.pointerType==="ray"},onSelectEnd:{type:"pointerup",filter:g=>g.pointerType==="ray"},onSelectStart:{type:"pointerdown",filter:g=>g.pointerType==="ray"},onSqueeze:{type:"click",filter:g=>g.pointerType==="grab"},onSqueezeEnd:{type:"pointerup",filter:g=>g.pointerType==="grab"},onSqueezeStart:{type:"pointerdown",filter:g=>g.pointerType==="grab"}};function nQ(g,A,I){const C=x.useRef(I);C.current=I,x.useEffect(()=>{const{current:B}=g;if(B==null)return;const i=uV[A],Q=typeof i=="string"?t=>{var E;return(E=C.current)==null?void 0:E.call(C,{intersection:t,intersections:[t],target:t.pointerState})}:t=>{var E;t instanceof WC&&!i.filter(t)||(E=C.current)==null||E.call(C,{intersection:t,intersections:[t],target:t.pointerState})},e=typeof i=="string"?i:i.type;return B.addEventListener(e,Q),()=>B.removeEventListener(e,Q)},[g,A])}const kV=x.forwardRef(({onHover:g,onBlur:A,onSelectStart:I,onSelectEnd:C,onSelect:B,onSqueezeStart:i,onSqueezeEnd:Q,onSqueeze:e,onMove:t,children:E},s)=>{const a=x.useRef(null);return x.useImperativeHandle(s,()=>a.current),nQ(a,"onHover",g),nQ(a,"onBlur",A),nQ(a,"onSelectStart",I),nQ(a,"onSelectEnd",C),nQ(a,"onSelect",B),nQ(a,"onSqueezeStart",i),nQ(a,"onSqueezeEnd",Q),nQ(a,"onSqueeze",e),nQ(a,"onMove",t),$.jsx("group",{ref:a,children:E})});x.forwardRef(function({onSelectStart:A,onSelectEnd:I,children:C,...B},i){const Q=x.useRef(),e=x.useRef(null),t=x.useMemo(()=>new _A,[]);return x.useImperativeHandle(i,()=>e.current),DC(()=>{const E=Q.current,s=e.current;!s||!E||(s.applyMatrix4(t),s.applyMatrix4(E.matrixWorld),s.updateMatrixWorld(),t.copy(E.matrixWorld).invert())}),$.jsx(kV,{ref:e,onSelectStart:E=>{U8(E.target)&&(E.target.type==="controller"||E.target.type==="hand")&&E.target.object!=null&&(Q.current=E.target.object,t.copy(E.target.object.matrixWorld).invert(),A==null||A(E))},onSelectEnd:E=>{E.target.controller===Q.current&&(Q.current=void 0),I==null||I(E)},...B,children:C})});const MV=5,TG=new f,mF=new f,YF=new f,dV=new f,LF=new f;function pV({lerp:g=ua.lerp}){const A=x.useRef(),I=x.useRef(),C=Ta(),[,B]=Z4();return DC(i=>{const{forward:Q,backward:e,left:t,right:E,jump:s}=B(),a=I.current.linvel();LF.set(a.x,a.y,a.z);const{x:r,y:l,z:h}=I.current.translation();i.camera.position.set(r,l,h),A.current!=null&&(A.current.children[0].rotation.x=g(A.current.children[0].rotation.x,Math.sin((LF.length()>1)*i.clock.elapsedTime*10)/6,.1),A.current.rotation.copy(i.camera.rotation),A.current.position.copy(i.camera.position).add(i.camera.getWorldDirection(dV).multiplyScalar(1))),mF.set(0,0,e-Q),YF.set(t-E,0,0),TG.subVectors(mF,YF).normalize().multiplyScalar(MV).applyEuler(i.camera.rotation),I.current.setLinvel({x:TG.x,y:a.y,z:TG.z});const S=C.world.castRay(new vM(I.current.translation(),{x:0,y:-1,z:0})),c=S&&S.collider&&Math.abs(S.toi)<=1.75;s&&c&&I.current.setLinvel({x:0,y:7.5,z:0})}),$.jsxs($.Fragment,{children:[$.jsx(xa,{ref:I,colliders:!1,mass:1,type:"dynamic",position:[0,10,0],enabledRotations:[!1,!1,!1],children:$.jsx(Em,{args:[.75,.5]})}),$.jsx(yV,{deny:"immersive-vr",children:$.jsx("group",{ref:A,onPointerMissed:i=>A.current.children[0].rotation.x=-.5,children:$.jsx(JW,{position:[.3,-.35,.5]})})})]})}const bm=MZ(g=>({cubes:[],addCube:(A,I,C)=>g(B=>({cubes:[...B.cubes,[A,I,C]]}))})),UV=()=>bm(A=>A.cubes).map((A,I)=>$.jsx(Om,{position:A},I));function Om(g){const A=x.useRef(),[I,C]=x.useState(null),B=bm(E=>E.addCube),i=lh("dirt.jpg"),Q=x.useCallback(E=>{E.stopPropagation(),C(Math.floor(E.faceIndex/2))},[]),e=x.useCallback(()=>C(null),[]),t=x.useCallback(E=>{E.stopPropagation();const{x:s,y:a,z:r}=A.current.translation(),l=[[s+1,a,r],[s-1,a,r],[s,a+1,r],[s,a-1,r],[s,a,r+1],[s,a,r-1]];B(...l[Math.floor(E.faceIndex/2)])},[]);return $.jsx(xa,{...g,type:"fixed",colliders:"cuboid",ref:A,children:$.jsxs("mesh",{receiveShadow:!0,castShadow:!0,onPointerMove:Q,onPointerOut:e,onClick:t,children:[[...Array(6)].map((E,s)=>$.jsx("meshStandardMaterial",{attach:`material-${s}`,map:i,color:I===s?"hotpink":"white"},s)),$.jsx("boxGeometry",{})]})})}const HF=sV();function NV(){return $.jsxs($.Fragment,{children:[$.jsx("button",{onClick:()=>HF.enterVR(),children:"Enter VR"}),$.jsx(P4,{map:[{name:"forward",keys:["ArrowUp","w","W"]},{name:"backward",keys:["ArrowDown","s","S"]},{name:"left",keys:["ArrowLeft","a","A"]},{name:"right",keys:["ArrowRight","d","D"]},{name:"jump",keys:["Space"]}],children:$.jsx(O4,{shadows:!0,camera:{fov:45},children:$.jsxs(aV,{store:HF,children:[$.jsx($P,{sunPosition:[100,20,100]}),$.jsx("ambientLight",{intensity:.8}),$.jsx("directionalLight",{intensity:5,position:[100,60,100]}),$.jsxs(aW,{gravity:[0,-30,0],children:[$.jsx(KW,{}),$.jsx(pV,{}),$.jsx(Om,{position:[0,.5,-10]}),$.jsx(UV,{})]}),$.jsx(WP,{})]})})})]})}zK(document.getElementById("root")).render($.jsx(x.StrictMode,{children:$.jsx(NV,{})})); diff --git a/examples/minecraft/axe.glb b/examples/minecraft/axe.glb new file mode 100644 index 00000000..3548983a Binary files /dev/null and b/examples/minecraft/axe.glb differ diff --git a/examples/minecraft/dirt.jpg b/examples/minecraft/dirt.jpg new file mode 100644 index 00000000..746c93c2 Binary files /dev/null and b/examples/minecraft/dirt.jpg differ diff --git a/examples/minecraft/favicon.ico b/examples/minecraft/favicon.ico new file mode 100644 index 00000000..bcd5dfd6 Binary files /dev/null and b/examples/minecraft/favicon.ico differ diff --git a/examples/minecraft/grass.jpg b/examples/minecraft/grass.jpg new file mode 100644 index 00000000..6ee761ab Binary files /dev/null and b/examples/minecraft/grass.jpg differ diff --git a/examples/minecraft/index.html b/examples/minecraft/index.html new file mode 100644 index 00000000..906c1d71 --- /dev/null +++ b/examples/minecraft/index.html @@ -0,0 +1,12 @@ + + + + + + Document + + + +
+ + \ No newline at end of file diff --git a/examples/minecraft/logo192.png b/examples/minecraft/logo192.png new file mode 100644 index 00000000..fc44b0a3 Binary files /dev/null and b/examples/minecraft/logo192.png differ diff --git a/examples/minecraft/logo512.png b/examples/minecraft/logo512.png new file mode 100644 index 00000000..a4e47a65 Binary files /dev/null and b/examples/minecraft/logo512.png differ diff --git a/examples/minecraft/manifest.json b/examples/minecraft/manifest.json new file mode 100644 index 00000000..080d6c77 --- /dev/null +++ b/examples/minecraft/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/examples/minecraft/robots.txt b/examples/minecraft/robots.txt new file mode 100644 index 00000000..e9e57dc4 --- /dev/null +++ b/examples/minecraft/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/examples/pingpong/assets/index-DaWaGE_e.js b/examples/pingpong/assets/index-DaWaGE_e.js new file mode 100644 index 00000000..adbb9e24 --- /dev/null +++ b/examples/pingpong/assets/index-DaWaGE_e.js @@ -0,0 +1,4254 @@ +var YY=Object.defineProperty;var HY=(g,A,I)=>A in g?YY(g,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):g[A]=I;var LI=(g,A,I)=>(HY(g,typeof A!="symbol"?A+"":A,I),I);(function(){const A=document.createElement("link").relList;if(A&&A.supports&&A.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))C(i);new MutationObserver(i=>{for(const B of i)if(B.type==="childList")for(const Q of B.addedNodes)Q.tagName==="LINK"&&Q.rel==="modulepreload"&&C(Q)}).observe(document,{childList:!0,subtree:!0});function I(i){const B={};return i.integrity&&(B.integrity=i.integrity),i.referrerPolicy&&(B.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?B.credentials="include":i.crossOrigin==="anonymous"?B.credentials="omit":B.credentials="same-origin",B}function C(i){if(i.ep)return;i.ep=!0;const B=I(i);fetch(i.href,B)}})();function Er(g){return g&&g.__esModule&&Object.prototype.hasOwnProperty.call(g,"default")?g.default:g}var bF={exports:{}},sD={},OF={exports:{}},_I={};/** + * @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 or=Symbol.for("react.element"),TY=Symbol.for("react.portal"),xY=Symbol.for("react.fragment"),vY=Symbol.for("react.strict_mode"),bY=Symbol.for("react.profiler"),OY=Symbol.for("react.provider"),_Y=Symbol.for("react.context"),PY=Symbol.for("react.forward_ref"),ZY=Symbol.for("react.suspense"),WY=Symbol.for("react.memo"),VY=Symbol.for("react.lazy"),fp=Symbol.iterator;function jY(g){return g===null||typeof g!="object"?null:(g=fp&&g[fp]||g["@@iterator"],typeof g=="function"?g:null)}var _F={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},PF=Object.assign,ZF={};function Fn(g,A,I){this.props=g,this.context=A,this.refs=ZF,this.updater=I||_F}Fn.prototype.isReactComponent={};Fn.prototype.setState=function(g,A){if(typeof g!="object"&&typeof g!="function"&&g!=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,g,A,"setState")};Fn.prototype.forceUpdate=function(g){this.updater.enqueueForceUpdate(this,g,"forceUpdate")};function WF(){}WF.prototype=Fn.prototype;function yk(g,A,I){this.props=g,this.context=A,this.refs=ZF,this.updater=I||_F}var uk=yk.prototype=new WF;uk.constructor=yk;PF(uk,Fn.prototype);uk.isPureReactComponent=!0;var Np=Array.isArray,VF=Object.prototype.hasOwnProperty,kk={current:null},jF={key:!0,ref:!0,__self:!0,__source:!0};function XF(g,A,I){var C,i={},B=null,Q=null;if(A!=null)for(C in A.ref!==void 0&&(Q=A.ref),A.key!==void 0&&(B=""+A.key),A)VF.call(A,C)&&!jF.hasOwnProperty(C)&&(i[C]=A[C]);var e=arguments.length-2;if(e===1)i.children=I;else if(1>>1,j=H[Y];if(0>>1;Yi(X,v))gAi(AA,X)?(H[Y]=AA,H[gA]=v,Y=gA):(H[Y]=X,H[P]=v,Y=P);else if(gAi(AA,v))H[Y]=AA,H[gA]=v,Y=gA;else break A}}return O}function i(H,O){var v=H.sortIndex-O.sortIndex;return v!==0?v:H.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var B=performance;g.unstable_now=function(){return B.now()}}else{var Q=Date,e=Q.now();g.unstable_now=function(){return Q.now()-e}}var t=[],E=[],o=1,s=null,r=3,l=!1,h=!1,w=!1,D=typeof setTimeout=="function"?setTimeout:null,c=typeof clearTimeout=="function"?clearTimeout:null,G=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(H){for(var O=I(E);O!==null;){if(O.callback===null)C(E);else if(O.startTime<=H)C(E),O.sortIndex=O.expirationTime,A(t,O);else break;O=I(E)}}function k(H){if(w=!1,y(H),!h)if(I(t)!==null)h=!0,CA(F);else{var O=I(E);O!==null&&lA(k,O.startTime-H)}}function F(H,O){h=!1,w&&(w=!1,c(K),K=-1),l=!0;var v=r;try{for(y(O),s=I(t);s!==null&&(!(s.expirationTime>O)||H&&!m());){var Y=s.callback;if(typeof Y=="function"){s.callback=null,r=s.priorityLevel;var j=Y(s.expirationTime<=O);O=g.unstable_now(),typeof j=="function"?s.callback=j:s===I(t)&&C(t),y(O)}else C(t);s=I(t)}if(s!==null)var QA=!0;else{var P=I(E);P!==null&&lA(k,P.startTime-O),QA=!1}return QA}finally{s=null,r=v,l=!1}}var U=!1,f=null,K=-1,N=5,p=-1;function m(){return!(g.unstable_now()-pH||125Y?(H.sortIndex=v,A(E,H),I(t)===null&&H===I(E)&&(w?(c(K),K=-1):w=!0,lA(k,v-Y))):(H.sortIndex=j,A(t,H),h||l||(h=!0,CA(F))),H},g.unstable_shouldYield=m,g.unstable_wrapCallback=function(H){var O=r;return function(){var v=r;r=O;try{return H.apply(this,arguments)}finally{r=v}}}})(gR);IR.exports=gR;var eH=IR.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 tH=z,AB=eH;function _A(g){for(var A="https://reactjs.org/docs/error-decoder.html?invariant="+g,I=1;I"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),py=Object.prototype.hasOwnProperty,EH=/^[: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]*$/,Rp={},Kp={};function oH(g){return py.call(Kp,g)?!0:py.call(Rp,g)?!1:EH.test(g)?Kp[g]=!0:(Rp[g]=!0,!1)}function nH(g,A,I,C){if(I!==null&&I.type===0)return!1;switch(typeof A){case"function":case"symbol":return!0;case"boolean":return C?!1:I!==null?!I.acceptsBooleans:(g=g.toLowerCase().slice(0,5),g!=="data-"&&g!=="aria-");default:return!1}}function sH(g,A,I,C){if(A===null||typeof A>"u"||nH(g,A,I,C))return!0;if(C)return!1;if(I!==null)switch(I.type){case 3:return!A;case 4:return A===!1;case 5:return isNaN(A);case 6:return isNaN(A)||1>A}return!1}function wi(g,A,I,C,i,B,Q){this.acceptsBooleans=A===2||A===3||A===4,this.attributeName=C,this.attributeNamespace=i,this.mustUseProperty=I,this.propertyName=g,this.type=A,this.sanitizeURL=B,this.removeEmptyString=Q}var qC={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(g){qC[g]=new wi(g,0,!1,g,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(g){var A=g[0];qC[A]=new wi(A,1,!1,g[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(g){qC[g]=new wi(g,2,!1,g.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(g){qC[g]=new wi(g,2,!1,g,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(g){qC[g]=new wi(g,3,!1,g.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(g){qC[g]=new wi(g,3,!0,g,null,!1,!1)});["capture","download"].forEach(function(g){qC[g]=new wi(g,4,!1,g,null,!1,!1)});["cols","rows","size","span"].forEach(function(g){qC[g]=new wi(g,6,!1,g,null,!1,!1)});["rowSpan","start"].forEach(function(g){qC[g]=new wi(g,5,!1,g.toLowerCase(),null,!1,!1)});var Mk=/[\-:]([a-z])/g;function pk(g){return g[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(g){var A=g.replace(Mk,pk);qC[A]=new wi(A,1,!1,g,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(g){var A=g.replace(Mk,pk);qC[A]=new wi(A,1,!1,g,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(g){var A=g.replace(Mk,pk);qC[A]=new wi(A,1,!1,g,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(g){qC[g]=new wi(g,1,!1,g.toLowerCase(),null,!1,!1)});qC.xlinkHref=new wi("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(g){qC[g]=new wi(g,1,!1,g.toLowerCase(),null,!0,!0)});function Uk(g,A,I,C){var i=qC.hasOwnProperty(A)?qC[A]:null;(i!==null?i.type!==0:C||!(2e||i[Q]!==B[e]){var t=` +`+i[Q].replace(" at new "," at ");return g.displayName&&t.includes("")&&(t=t.replace("",g.displayName)),t}while(1<=Q&&0<=e);break}}}finally{Kw=!1,Error.prepareStackTrace=I}return(g=g?g.displayName||g.name:"")?Zs(g):""}function aH(g){switch(g.tag){case 5:return Zs(g.type);case 16:return Zs("Lazy");case 13:return Zs("Suspense");case 19:return Zs("SuspenseList");case 0:case 2:case 15:return g=Jw(g.type,!1),g;case 11:return g=Jw(g.type.render,!1),g;case 1:return g=Jw(g.type,!0),g;default:return""}}function Fy(g){if(g==null)return null;if(typeof g=="function")return g.displayName||g.name||null;if(typeof g=="string")return g;switch(g){case xo:return"Fragment";case To:return"Portal";case Uy:return"Profiler";case fk:return"StrictMode";case fy:return"Suspense";case Ny:return"SuspenseList"}if(typeof g=="object")switch(g.$$typeof){case BR:return(g.displayName||"Context")+".Consumer";case iR:return(g._context.displayName||"Context")+".Provider";case Nk:var A=g.render;return g=g.displayName,g||(g=A.displayName||A.name||"",g=g!==""?"ForwardRef("+g+")":"ForwardRef"),g;case Fk:return A=g.displayName||null,A!==null?A:Fy(g.type)||"Memo";case Ye:A=g._payload,g=g._init;try{return Fy(g(A))}catch{}}return null}function rH(g){var A=g.type;switch(g.tag){case 24:return"Cache";case 9:return(A.displayName||"Context")+".Consumer";case 10:return(A._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return g=A.render,g=g.displayName||g.name||"",A.displayName||(g!==""?"ForwardRef("+g+")":"ForwardRef");case 7:return"Fragment";case 5:return A;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Fy(A);case 8:return A===fk?"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 A=="function")return A.displayName||A.name||null;if(typeof A=="string")return A}return null}function et(g){switch(typeof g){case"boolean":case"number":case"string":case"undefined":return g;case"object":return g;default:return""}}function eR(g){var A=g.type;return(g=g.nodeName)&&g.toLowerCase()==="input"&&(A==="checkbox"||A==="radio")}function lH(g){var A=eR(g)?"checked":"value",I=Object.getOwnPropertyDescriptor(g.constructor.prototype,A),C=""+g[A];if(!g.hasOwnProperty(A)&&typeof I<"u"&&typeof I.get=="function"&&typeof I.set=="function"){var i=I.get,B=I.set;return Object.defineProperty(g,A,{configurable:!0,get:function(){return i.call(this)},set:function(Q){C=""+Q,B.call(this,Q)}}),Object.defineProperty(g,A,{enumerable:I.enumerable}),{getValue:function(){return C},setValue:function(Q){C=""+Q},stopTracking:function(){g._valueTracker=null,delete g[A]}}}}function fl(g){g._valueTracker||(g._valueTracker=lH(g))}function tR(g){if(!g)return!1;var A=g._valueTracker;if(!A)return!0;var I=A.getValue(),C="";return g&&(C=eR(g)?g.checked?"true":"false":g.value),g=C,g!==I?(A.setValue(g),!0):!1}function Sh(g){if(g=g||(typeof document<"u"?document:void 0),typeof g>"u")return null;try{return g.activeElement||g.body}catch{return g.body}}function Ry(g,A){var I=A.checked;return Rg({},A,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:I??g._wrapperState.initialChecked})}function qp(g,A){var I=A.defaultValue==null?"":A.defaultValue,C=A.checked!=null?A.checked:A.defaultChecked;I=et(A.value!=null?A.value:I),g._wrapperState={initialChecked:C,initialValue:I,controlled:A.type==="checkbox"||A.type==="radio"?A.checked!=null:A.value!=null}}function ER(g,A){A=A.checked,A!=null&&Uk(g,"checked",A,!1)}function Ky(g,A){ER(g,A);var I=et(A.value),C=A.type;if(I!=null)C==="number"?(I===0&&g.value===""||g.value!=I)&&(g.value=""+I):g.value!==""+I&&(g.value=""+I);else if(C==="submit"||C==="reset"){g.removeAttribute("value");return}A.hasOwnProperty("value")?Jy(g,A.type,I):A.hasOwnProperty("defaultValue")&&Jy(g,A.type,et(A.defaultValue)),A.checked==null&&A.defaultChecked!=null&&(g.defaultChecked=!!A.defaultChecked)}function mp(g,A,I){if(A.hasOwnProperty("value")||A.hasOwnProperty("defaultValue")){var C=A.type;if(!(C!=="submit"&&C!=="reset"||A.value!==void 0&&A.value!==null))return;A=""+g._wrapperState.initialValue,I||A===g.value||(g.value=A),g.defaultValue=A}I=g.name,I!==""&&(g.name=""),g.defaultChecked=!!g._wrapperState.initialChecked,I!==""&&(g.name=I)}function Jy(g,A,I){(A!=="number"||Sh(g.ownerDocument)!==g)&&(I==null?g.defaultValue=""+g._wrapperState.initialValue:g.defaultValue!==""+I&&(g.defaultValue=""+I))}var Ws=Array.isArray;function gn(g,A,I,C){if(g=g.options,A){A={};for(var i=0;i"+A.valueOf().toString()+"",A=Nl.firstChild;g.firstChild;)g.removeChild(g.firstChild);for(;A.firstChild;)g.appendChild(A.firstChild)}});function ua(g,A){if(A){var I=g.firstChild;if(I&&I===g.lastChild&&I.nodeType===3){I.nodeValue=A;return}}g.textContent=A}var Ba={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},cH=["Webkit","ms","Moz","O"];Object.keys(Ba).forEach(function(g){cH.forEach(function(A){A=A+g.charAt(0).toUpperCase()+g.substring(1),Ba[A]=Ba[g]})});function aR(g,A,I){return A==null||typeof A=="boolean"||A===""?"":I||typeof A!="number"||A===0||Ba.hasOwnProperty(g)&&Ba[g]?(""+A).trim():A+"px"}function rR(g,A){g=g.style;for(var I in A)if(A.hasOwnProperty(I)){var C=I.indexOf("--")===0,i=aR(I,A[I],C);I==="float"&&(I="cssFloat"),C?g.setProperty(I,i):g[I]=i}}var hH=Rg({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 Ly(g,A){if(A){if(hH[g]&&(A.children!=null||A.dangerouslySetInnerHTML!=null))throw Error(_A(137,g));if(A.dangerouslySetInnerHTML!=null){if(A.children!=null)throw Error(_A(60));if(typeof A.dangerouslySetInnerHTML!="object"||!("__html"in A.dangerouslySetInnerHTML))throw Error(_A(61))}if(A.style!=null&&typeof A.style!="object")throw Error(_A(62))}}function Yy(g,A){if(g.indexOf("-")===-1)return typeof A.is=="string";switch(g){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 Hy=null;function Rk(g){return g=g.target||g.srcElement||window,g.correspondingUseElement&&(g=g.correspondingUseElement),g.nodeType===3?g.parentNode:g}var Ty=null,Cn=null,Bn=null;function Hp(g){if(g=ar(g)){if(typeof Ty!="function")throw Error(_A(280));var A=g.stateNode;A&&(A=hD(A),Ty(g.stateNode,g.type,A))}}function lR(g){Cn?Bn?Bn.push(g):Bn=[g]:Cn=g}function cR(){if(Cn){var g=Cn,A=Bn;if(Bn=Cn=null,Hp(g),A)for(g=0;g>>=0,g===0?32:31-(UH(g)/fH|0)|0}var Fl=64,Rl=4194304;function Vs(g){switch(g&-g){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 g&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return g&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return g}}function uh(g,A){var I=g.pendingLanes;if(I===0)return 0;var C=0,i=g.suspendedLanes,B=g.pingedLanes,Q=I&268435455;if(Q!==0){var e=Q&~i;e!==0?C=Vs(e):(B&=Q,B!==0&&(C=Vs(B)))}else Q=I&~i,Q!==0?C=Vs(Q):B!==0&&(C=Vs(B));if(C===0)return 0;if(A!==0&&A!==C&&!(A&i)&&(i=C&-C,B=A&-A,i>=B||i===16&&(B&4194240)!==0))return A;if(C&4&&(C|=I&16),A=g.entangledLanes,A!==0)for(g=g.entanglements,A&=C;0I;I++)A.push(g);return A}function nr(g,A,I){g.pendingLanes|=A,A!==536870912&&(g.suspendedLanes=0,g.pingedLanes=0),g=g.eventTimes,A=31-ZB(A),g[A]=I}function KH(g,A){var I=g.pendingLanes&~A;g.pendingLanes=A,g.suspendedLanes=0,g.pingedLanes=0,g.expiredLanes&=A,g.mutableReadLanes&=A,g.entangledLanes&=A,A=g.entanglements;var C=g.eventTimes;for(g=g.expirationTimes;0=ea),Wp=" ",Vp=!1;function mR(g,A){switch(g){case"keyup":return eT.indexOf(A.keyCode)!==-1;case"keydown":return A.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function LR(g){return g=g.detail,typeof g=="object"&&"data"in g?g.data:null}var vo=!1;function ET(g,A){switch(g){case"compositionend":return LR(A);case"keypress":return A.which!==32?null:(Vp=!0,Wp);case"textInput":return g=A.data,g===Wp&&Vp?null:g;default:return null}}function oT(g,A){if(vo)return g==="compositionend"||!Tk&&mR(g,A)?(g=JR(),$c=Lk=Pe=null,vo=!1,g):null;switch(g){case"paste":return null;case"keypress":if(!(A.ctrlKey||A.altKey||A.metaKey)||A.ctrlKey&&A.altKey){if(A.char&&1=A)return{node:I,offset:A-g};g=C}A:{for(;I;){if(I.nextSibling){I=I.nextSibling;break A}I=I.parentNode}I=void 0}I=$p(I)}}function xR(g,A){return g&&A?g===A?!0:g&&g.nodeType===3?!1:A&&A.nodeType===3?xR(g,A.parentNode):"contains"in g?g.contains(A):g.compareDocumentPosition?!!(g.compareDocumentPosition(A)&16):!1:!1}function vR(){for(var g=window,A=Sh();A instanceof g.HTMLIFrameElement;){try{var I=typeof A.contentWindow.location.href=="string"}catch{I=!1}if(I)g=A.contentWindow;else break;A=Sh(g.document)}return A}function xk(g){var A=g&&g.nodeName&&g.nodeName.toLowerCase();return A&&(A==="input"&&(g.type==="text"||g.type==="search"||g.type==="tel"||g.type==="url"||g.type==="password")||A==="textarea"||g.contentEditable==="true")}function ST(g){var A=vR(),I=g.focusedElem,C=g.selectionRange;if(A!==I&&I&&I.ownerDocument&&xR(I.ownerDocument.documentElement,I)){if(C!==null&&xk(I)){if(A=C.start,g=C.end,g===void 0&&(g=A),"selectionStart"in I)I.selectionStart=A,I.selectionEnd=Math.min(g,I.value.length);else if(g=(A=I.ownerDocument||document)&&A.defaultView||window,g.getSelection){g=g.getSelection();var i=I.textContent.length,B=Math.min(C.start,i);C=C.end===void 0?B:Math.min(C.end,i),!g.extend&&B>C&&(i=C,C=B,B=i),i=AU(I,B);var Q=AU(I,C);i&&Q&&(g.rangeCount!==1||g.anchorNode!==i.node||g.anchorOffset!==i.offset||g.focusNode!==Q.node||g.focusOffset!==Q.offset)&&(A=A.createRange(),A.setStart(i.node,i.offset),g.removeAllRanges(),B>C?(g.addRange(A),g.extend(Q.node,Q.offset)):(A.setEnd(Q.node,Q.offset),g.addRange(A)))}}for(A=[],g=I;g=g.parentNode;)g.nodeType===1&&A.push({element:g,left:g.scrollLeft,top:g.scrollTop});for(typeof I.focus=="function"&&I.focus(),I=0;I=document.documentMode,bo=null,Py=null,Ea=null,Zy=!1;function IU(g,A,I){var C=I.window===I?I.document:I.nodeType===9?I:I.ownerDocument;Zy||bo==null||bo!==Sh(C)||(C=bo,"selectionStart"in C&&xk(C)?C={start:C.selectionStart,end:C.selectionEnd}:(C=(C.ownerDocument&&C.ownerDocument.defaultView||window).getSelection(),C={anchorNode:C.anchorNode,anchorOffset:C.anchorOffset,focusNode:C.focusNode,focusOffset:C.focusOffset}),Ea&&fa(Ea,C)||(Ea=C,C=Mh(Py,"onSelect"),0Po||(g.current=$y[Po],$y[Po]=null,Po--)}function cg(g,A){Po++,$y[Po]=g.current,g.current=A}var tt={},Ci=st(tt),Ji=st(!1),wE=tt;function cn(g,A){var I=g.type.contextTypes;if(!I)return tt;var C=g.stateNode;if(C&&C.__reactInternalMemoizedUnmaskedChildContext===A)return C.__reactInternalMemoizedMaskedChildContext;var i={},B;for(B in I)i[B]=A[B];return C&&(g=g.stateNode,g.__reactInternalMemoizedUnmaskedChildContext=A,g.__reactInternalMemoizedMaskedChildContext=i),i}function qi(g){return g=g.childContextTypes,g!=null}function Uh(){wg(Ji),wg(Ci)}function tU(g,A,I){if(Ci.current!==tt)throw Error(_A(168));cg(Ci,A),cg(Ji,I)}function XR(g,A,I){var C=g.stateNode;if(A=A.childContextTypes,typeof C.getChildContext!="function")return I;C=C.getChildContext();for(var i in C)if(!(i in A))throw Error(_A(108,rH(g)||"Unknown",i));return Rg({},I,C)}function fh(g){return g=(g=g.stateNode)&&g.__reactInternalMemoizedMergedChildContext||tt,wE=Ci.current,cg(Ci,g),cg(Ji,Ji.current),!0}function EU(g,A,I){var C=g.stateNode;if(!C)throw Error(_A(169));I?(g=XR(g,A,wE),C.__reactInternalMemoizedMergedChildContext=g,wg(Ji),wg(Ci),cg(Ci,g)):wg(Ji),cg(Ji,I)}var bQ=null,DD=!1,Ww=!1;function zR(g){bQ===null?bQ=[g]:bQ.push(g)}function FT(g){DD=!0,zR(g)}function at(){if(!Ww&&bQ!==null){Ww=!0;var g=0,A=tg;try{var I=bQ;for(tg=1;g>=Q,i-=Q,PQ=1<<32-ZB(A)+i|I<K?(N=f,f=null):N=f.sibling;var p=r(c,f,y[K],k);if(p===null){f===null&&(f=N);break}g&&f&&p.alternate===null&&A(c,f),G=B(p,G,K),U===null?F=p:U.sibling=p,U=p,f=N}if(K===y.length)return I(c,f),Mg&&zt(c,K),F;if(f===null){for(;KK?(N=f,f=null):N=f.sibling;var m=r(c,f,p.value,k);if(m===null){f===null&&(f=N);break}g&&f&&m.alternate===null&&A(c,f),G=B(m,G,K),U===null?F=m:U.sibling=m,U=m,f=N}if(p.done)return I(c,f),Mg&&zt(c,K),F;if(f===null){for(;!p.done;K++,p=y.next())p=s(c,p.value,k),p!==null&&(G=B(p,G,K),U===null?F=p:U.sibling=p,U=p);return Mg&&zt(c,K),F}for(f=C(c,f);!p.done;K++,p=y.next())p=l(f,c,K,p.value,k),p!==null&&(g&&p.alternate!==null&&f.delete(p.key===null?K:p.key),G=B(p,G,K),U===null?F=p:U.sibling=p,U=p);return g&&f.forEach(function(q){return A(c,q)}),Mg&&zt(c,K),F}function D(c,G,y,k){if(typeof y=="object"&&y!==null&&y.type===xo&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Ul:A:{for(var F=y.key,U=G;U!==null;){if(U.key===F){if(F=y.type,F===xo){if(U.tag===7){I(c,U.sibling),G=i(U,y.props.children),G.return=c,c=G;break A}}else if(U.elementType===F||typeof F=="object"&&F!==null&&F.$$typeof===Ye&&sU(F)===U.type){I(c,U.sibling),G=i(U,y.props),G.ref=Gs(c,U,y),G.return=c,c=G;break A}I(c,U);break}else A(c,U);U=U.sibling}y.type===xo?(G=aE(y.props.children,c.mode,k,y.key),G.return=c,c=G):(k=eh(y.type,y.key,y.props,null,c.mode,k),k.ref=Gs(c,G,y),k.return=c,c=k)}return Q(c);case To:A:{for(U=y.key;G!==null;){if(G.key===U)if(G.tag===4&&G.stateNode.containerInfo===y.containerInfo&&G.stateNode.implementation===y.implementation){I(c,G.sibling),G=i(G,y.children||[]),G.return=c,c=G;break A}else{I(c,G);break}else A(c,G);G=G.sibling}G=gG(y,c.mode,k),G.return=c,c=G}return Q(c);case Ye:return U=y._init,D(c,G,U(y._payload),k)}if(Ws(y))return h(c,G,y,k);if(cs(y))return w(c,G,y,k);Hl(c,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,G!==null&&G.tag===6?(I(c,G.sibling),G=i(G,y),G.return=c,c=G):(I(c,G),G=IG(y,c.mode,k),G.return=c,c=G),Q(c)):I(c,G)}return D}var Dn=gK(!0),CK=gK(!1),Rh=st(null),Kh=null,Vo=null,_k=null;function Pk(){_k=Vo=Kh=null}function Zk(g){var A=Rh.current;wg(Rh),g._currentValue=A}function gu(g,A,I){for(;g!==null;){var C=g.alternate;if((g.childLanes&A)!==A?(g.childLanes|=A,C!==null&&(C.childLanes|=A)):C!==null&&(C.childLanes&A)!==A&&(C.childLanes|=A),g===I)break;g=g.return}}function en(g,A){Kh=g,_k=Vo=null,g=g.dependencies,g!==null&&g.firstContext!==null&&(g.lanes&A&&(Ni=!0),g.firstContext=null)}function dB(g){var A=g._currentValue;if(_k!==g)if(g={context:g,memoizedValue:A,next:null},Vo===null){if(Kh===null)throw Error(_A(308));Vo=g,Kh.dependencies={lanes:0,firstContext:g}}else Vo=Vo.next=g;return A}var iE=null;function Wk(g){iE===null?iE=[g]:iE.push(g)}function iK(g,A,I,C){var i=A.interleaved;return i===null?(I.next=I,Wk(A)):(I.next=i.next,i.next=I),A.interleaved=I,Ie(g,C)}function Ie(g,A){g.lanes|=A;var I=g.alternate;for(I!==null&&(I.lanes|=A),I=g,g=g.return;g!==null;)g.childLanes|=A,I=g.alternate,I!==null&&(I.childLanes|=A),I=g,g=g.return;return I.tag===3?I.stateNode:null}var He=!1;function Vk(g){g.updateQueue={baseState:g.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function BK(g,A){g=g.updateQueue,A.updateQueue===g&&(A.updateQueue={baseState:g.baseState,firstBaseUpdate:g.firstBaseUpdate,lastBaseUpdate:g.lastBaseUpdate,shared:g.shared,effects:g.effects})}function jQ(g,A){return{eventTime:g,lane:A,tag:0,payload:null,callback:null,next:null}}function At(g,A,I){var C=g.updateQueue;if(C===null)return null;if(C=C.shared,jI&2){var i=C.pending;return i===null?A.next=A:(A.next=i.next,i.next=A),C.pending=A,Ie(g,I)}return i=C.interleaved,i===null?(A.next=A,Wk(C)):(A.next=i.next,i.next=A),C.interleaved=A,Ie(g,I)}function Ih(g,A,I){if(A=A.updateQueue,A!==null&&(A=A.shared,(I&4194240)!==0)){var C=A.lanes;C&=g.pendingLanes,I|=C,A.lanes=I,Jk(g,I)}}function aU(g,A){var I=g.updateQueue,C=g.alternate;if(C!==null&&(C=C.updateQueue,I===C)){var i=null,B=null;if(I=I.firstBaseUpdate,I!==null){do{var Q={eventTime:I.eventTime,lane:I.lane,tag:I.tag,payload:I.payload,callback:I.callback,next:null};B===null?i=B=Q:B=B.next=Q,I=I.next}while(I!==null);B===null?i=B=A:B=B.next=A}else i=B=A;I={baseState:C.baseState,firstBaseUpdate:i,lastBaseUpdate:B,shared:C.shared,effects:C.effects},g.updateQueue=I;return}g=I.lastBaseUpdate,g===null?I.firstBaseUpdate=A:g.next=A,I.lastBaseUpdate=A}function Jh(g,A,I,C){var i=g.updateQueue;He=!1;var B=i.firstBaseUpdate,Q=i.lastBaseUpdate,e=i.shared.pending;if(e!==null){i.shared.pending=null;var t=e,E=t.next;t.next=null,Q===null?B=E:Q.next=E,Q=t;var o=g.alternate;o!==null&&(o=o.updateQueue,e=o.lastBaseUpdate,e!==Q&&(e===null?o.firstBaseUpdate=E:e.next=E,o.lastBaseUpdate=t))}if(B!==null){var s=i.baseState;Q=0,o=E=t=null,e=B;do{var r=e.lane,l=e.eventTime;if((C&r)===r){o!==null&&(o=o.next={eventTime:l,lane:0,tag:e.tag,payload:e.payload,callback:e.callback,next:null});A:{var h=g,w=e;switch(r=A,l=I,w.tag){case 1:if(h=w.payload,typeof h=="function"){s=h.call(l,s,r);break A}s=h;break A;case 3:h.flags=h.flags&-65537|128;case 0:if(h=w.payload,r=typeof h=="function"?h.call(l,s,r):h,r==null)break A;s=Rg({},s,r);break A;case 2:He=!0}}e.callback!==null&&e.lane!==0&&(g.flags|=64,r=i.effects,r===null?i.effects=[e]:r.push(e))}else l={eventTime:l,lane:r,tag:e.tag,payload:e.payload,callback:e.callback,next:null},o===null?(E=o=l,t=s):o=o.next=l,Q|=r;if(e=e.next,e===null){if(e=i.shared.pending,e===null)break;r=e,e=r.next,r.next=null,i.lastBaseUpdate=r,i.shared.pending=null}}while(!0);if(o===null&&(t=s),i.baseState=t,i.firstBaseUpdate=E,i.lastBaseUpdate=o,A=i.shared.interleaved,A!==null){i=A;do Q|=i.lane,i=i.next;while(i!==A)}else B===null&&(i.shared.lanes=0);uE|=Q,g.lanes=Q,g.memoizedState=s}}function rU(g,A,I){if(g=A.effects,A.effects=null,g!==null)for(A=0;AI?I:4,g(!0);var C=jw.transition;jw.transition={};try{g(!1),A()}finally{tg=I,jw.transition=C}}function yK(){return MB().memoizedState}function qT(g,A,I){var C=gt(g);if(I={lane:C,action:I,hasEagerState:!1,eagerState:null,next:null},uK(g))kK(A,I);else if(I=iK(g,A,I,C),I!==null){var i=hi();WB(I,g,C,i),dK(I,A,C)}}function mT(g,A,I){var C=gt(g),i={lane:C,action:I,hasEagerState:!1,eagerState:null,next:null};if(uK(g))kK(A,i);else{var B=g.alternate;if(g.lanes===0&&(B===null||B.lanes===0)&&(B=A.lastRenderedReducer,B!==null))try{var Q=A.lastRenderedState,e=B(Q,I);if(i.hasEagerState=!0,i.eagerState=e,VB(e,Q)){var t=A.interleaved;t===null?(i.next=i,Wk(A)):(i.next=t.next,t.next=i),A.interleaved=i;return}}catch{}finally{}I=iK(g,A,i,C),I!==null&&(i=hi(),WB(I,g,C,i),dK(I,A,C))}}function uK(g){var A=g.alternate;return g===Fg||A!==null&&A===Fg}function kK(g,A){oa=mh=!0;var I=g.pending;I===null?A.next=A:(A.next=I.next,I.next=A),g.pending=A}function dK(g,A,I){if(I&4194240){var C=A.lanes;C&=g.pendingLanes,I|=C,A.lanes=I,Jk(g,I)}}var Lh={readContext:dB,useCallback:jC,useContext:jC,useEffect:jC,useImperativeHandle:jC,useInsertionEffect:jC,useLayoutEffect:jC,useMemo:jC,useReducer:jC,useRef:jC,useState:jC,useDebugValue:jC,useDeferredValue:jC,useTransition:jC,useMutableSource:jC,useSyncExternalStore:jC,useId:jC,unstable_isNewReconciler:!1},LT={readContext:dB,useCallback:function(g,A){return EQ().memoizedState=[g,A===void 0?null:A],g},useContext:dB,useEffect:cU,useImperativeHandle:function(g,A,I){return I=I!=null?I.concat([g]):null,Ch(4194308,4,hK.bind(null,A,g),I)},useLayoutEffect:function(g,A){return Ch(4194308,4,g,A)},useInsertionEffect:function(g,A){return Ch(4,2,g,A)},useMemo:function(g,A){var I=EQ();return A=A===void 0?null:A,g=g(),I.memoizedState=[g,A],g},useReducer:function(g,A,I){var C=EQ();return A=I!==void 0?I(A):A,C.memoizedState=C.baseState=A,g={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:g,lastRenderedState:A},C.queue=g,g=g.dispatch=qT.bind(null,Fg,g),[C.memoizedState,g]},useRef:function(g){var A=EQ();return g={current:g},A.memoizedState=g},useState:lU,useDebugValue:Cd,useDeferredValue:function(g){return EQ().memoizedState=g},useTransition:function(){var g=lU(!1),A=g[0];return g=JT.bind(null,g[1]),EQ().memoizedState=g,[A,g]},useMutableSource:function(){},useSyncExternalStore:function(g,A,I){var C=Fg,i=EQ();if(Mg){if(I===void 0)throw Error(_A(407));I=I()}else{if(I=A(),yC===null)throw Error(_A(349));yE&30||EK(C,A,I)}i.memoizedState=I;var B={value:I,getSnapshot:A};return i.queue=B,cU(nK.bind(null,C,B,g),[g]),C.flags|=2048,La(9,oK.bind(null,C,B,I,A),void 0,null),I},useId:function(){var g=EQ(),A=yC.identifierPrefix;if(Mg){var I=ZQ,C=PQ;I=(C&~(1<<32-ZB(C)-1)).toString(32)+I,A=":"+A+"R"+I,I=qa++,0<\/script>",g=g.removeChild(g.firstChild)):typeof C.is=="string"?g=Q.createElement(I,{is:C.is}):(g=Q.createElement(I),I==="select"&&(Q=g,C.multiple?Q.multiple=!0:C.size&&(Q.size=C.size))):g=Q.createElementNS(g,I),g[sQ]=A,g[Ra]=C,qK(g,A,!1,!1),A.stateNode=g;A:{switch(Q=Yy(I,C),I){case"dialog":Dg("cancel",g),Dg("close",g),i=C;break;case"iframe":case"object":case"embed":Dg("load",g),i=C;break;case"video":case"audio":for(i=0;iGn&&(A.flags|=128,C=!0,ys(B,!1),A.lanes=4194304)}else{if(!C)if(g=qh(Q),g!==null){if(A.flags|=128,C=!0,I=g.updateQueue,I!==null&&(A.updateQueue=I,A.flags|=4),ys(B,!0),B.tail===null&&B.tailMode==="hidden"&&!Q.alternate&&!Mg)return XC(A),null}else 2*Wg()-B.renderingStartTime>Gn&&I!==1073741824&&(A.flags|=128,C=!0,ys(B,!1),A.lanes=4194304);B.isBackwards?(Q.sibling=A.child,A.child=Q):(I=B.last,I!==null?I.sibling=Q:A.child=Q,B.last=Q)}return B.tail!==null?(A=B.tail,B.rendering=A,B.tail=A.sibling,B.renderingStartTime=Wg(),A.sibling=null,I=fg.current,cg(fg,C?I&1|2:I&1),A):(XC(A),null);case 22:case 23:return Ed(),C=A.memoizedState!==null,g!==null&&g.memoizedState!==null!==C&&(A.flags|=8192),C&&A.mode&1?Wi&1073741824&&(XC(A),A.subtreeFlags&6&&(A.flags|=8192)):XC(A),null;case 24:return null;case 25:return null}throw Error(_A(156,A.tag))}function _T(g,A){switch(bk(A),A.tag){case 1:return qi(A.type)&&Uh(),g=A.flags,g&65536?(A.flags=g&-65537|128,A):null;case 3:return Sn(),wg(Ji),wg(Ci),zk(),g=A.flags,g&65536&&!(g&128)?(A.flags=g&-65537|128,A):null;case 5:return Xk(A),null;case 13:if(wg(fg),g=A.memoizedState,g!==null&&g.dehydrated!==null){if(A.alternate===null)throw Error(_A(340));hn()}return g=A.flags,g&65536?(A.flags=g&-65537|128,A):null;case 19:return wg(fg),null;case 4:return Sn(),null;case 10:return Zk(A.type._context),null;case 22:case 23:return Ed(),null;case 24:return null;default:return null}}var xl=!1,Ii=!1,PT=typeof WeakSet=="function"?WeakSet:Set,eI=null;function jo(g,A){var I=g.ref;if(I!==null)if(typeof I=="function")try{I(null)}catch(C){Yg(g,A,C)}else I.current=null}function nu(g,A,I){try{I()}catch(C){Yg(g,A,C)}}var pU=!1;function ZT(g,A){if(Wy=kh,g=vR(),xk(g)){if("selectionStart"in g)var I={start:g.selectionStart,end:g.selectionEnd};else A:{I=(I=g.ownerDocument)&&I.defaultView||window;var C=I.getSelection&&I.getSelection();if(C&&C.rangeCount!==0){I=C.anchorNode;var i=C.anchorOffset,B=C.focusNode;C=C.focusOffset;try{I.nodeType,B.nodeType}catch{I=null;break A}var Q=0,e=-1,t=-1,E=0,o=0,s=g,r=null;I:for(;;){for(var l;s!==I||i!==0&&s.nodeType!==3||(e=Q+i),s!==B||C!==0&&s.nodeType!==3||(t=Q+C),s.nodeType===3&&(Q+=s.nodeValue.length),(l=s.firstChild)!==null;)r=s,s=l;for(;;){if(s===g)break I;if(r===I&&++E===i&&(e=Q),r===B&&++o===C&&(t=Q),(l=s.nextSibling)!==null)break;s=r,r=s.parentNode}s=l}I=e===-1||t===-1?null:{start:e,end:t}}else I=null}I=I||{start:0,end:0}}else I=null;for(Vy={focusedElem:g,selectionRange:I},kh=!1,eI=A;eI!==null;)if(A=eI,g=A.child,(A.subtreeFlags&1028)!==0&&g!==null)g.return=A,eI=g;else for(;eI!==null;){A=eI;try{var h=A.alternate;if(A.flags&1024)switch(A.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var w=h.memoizedProps,D=h.memoizedState,c=A.stateNode,G=c.getSnapshotBeforeUpdate(A.elementType===A.type?w:HB(A.type,w),D);c.__reactInternalSnapshotBeforeUpdate=G}break;case 3:var y=A.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(_A(163))}}catch(k){Yg(A,A.return,k)}if(g=A.sibling,g!==null){g.return=A.return,eI=g;break}eI=A.return}return h=pU,pU=!1,h}function na(g,A,I){var C=A.updateQueue;if(C=C!==null?C.lastEffect:null,C!==null){var i=C=C.next;do{if((i.tag&g)===g){var B=i.destroy;i.destroy=void 0,B!==void 0&&nu(A,I,B)}i=i.next}while(i!==C)}}function GD(g,A){if(A=A.updateQueue,A=A!==null?A.lastEffect:null,A!==null){var I=A=A.next;do{if((I.tag&g)===g){var C=I.create;I.destroy=C()}I=I.next}while(I!==A)}}function su(g){var A=g.ref;if(A!==null){var I=g.stateNode;switch(g.tag){case 5:g=I;break;default:g=I}typeof A=="function"?A(g):A.current=g}}function YK(g){var A=g.alternate;A!==null&&(g.alternate=null,YK(A)),g.child=null,g.deletions=null,g.sibling=null,g.tag===5&&(A=g.stateNode,A!==null&&(delete A[sQ],delete A[Ra],delete A[zy],delete A[fT],delete A[NT])),g.stateNode=null,g.return=null,g.dependencies=null,g.memoizedProps=null,g.memoizedState=null,g.pendingProps=null,g.stateNode=null,g.updateQueue=null}function HK(g){return g.tag===5||g.tag===3||g.tag===4}function UU(g){A:for(;;){for(;g.sibling===null;){if(g.return===null||HK(g.return))return null;g=g.return}for(g.sibling.return=g.return,g=g.sibling;g.tag!==5&&g.tag!==6&&g.tag!==18;){if(g.flags&2||g.child===null||g.tag===4)continue A;g.child.return=g,g=g.child}if(!(g.flags&2))return g.stateNode}}function au(g,A,I){var C=g.tag;if(C===5||C===6)g=g.stateNode,A?I.nodeType===8?I.parentNode.insertBefore(g,A):I.insertBefore(g,A):(I.nodeType===8?(A=I.parentNode,A.insertBefore(g,I)):(A=I,A.appendChild(g)),I=I._reactRootContainer,I!=null||A.onclick!==null||(A.onclick=ph));else if(C!==4&&(g=g.child,g!==null))for(au(g,A,I),g=g.sibling;g!==null;)au(g,A,I),g=g.sibling}function ru(g,A,I){var C=g.tag;if(C===5||C===6)g=g.stateNode,A?I.insertBefore(g,A):I.appendChild(g);else if(C!==4&&(g=g.child,g!==null))for(ru(g,A,I),g=g.sibling;g!==null;)ru(g,A,I),g=g.sibling}var NC=null,xB=!1;function Me(g,A,I){for(I=I.child;I!==null;)TK(g,A,I),I=I.sibling}function TK(g,A,I){if(rQ&&typeof rQ.onCommitFiberUnmount=="function")try{rQ.onCommitFiberUnmount(aD,I)}catch{}switch(I.tag){case 5:Ii||jo(I,A);case 6:var C=NC,i=xB;NC=null,Me(g,A,I),NC=C,xB=i,NC!==null&&(xB?(g=NC,I=I.stateNode,g.nodeType===8?g.parentNode.removeChild(I):g.removeChild(I)):NC.removeChild(I.stateNode));break;case 18:NC!==null&&(xB?(g=NC,I=I.stateNode,g.nodeType===8?Zw(g.parentNode,I):g.nodeType===1&&Zw(g,I),pa(g)):Zw(NC,I.stateNode));break;case 4:C=NC,i=xB,NC=I.stateNode.containerInfo,xB=!0,Me(g,A,I),NC=C,xB=i;break;case 0:case 11:case 14:case 15:if(!Ii&&(C=I.updateQueue,C!==null&&(C=C.lastEffect,C!==null))){i=C=C.next;do{var B=i,Q=B.destroy;B=B.tag,Q!==void 0&&(B&2||B&4)&&nu(I,A,Q),i=i.next}while(i!==C)}Me(g,A,I);break;case 1:if(!Ii&&(jo(I,A),C=I.stateNode,typeof C.componentWillUnmount=="function"))try{C.props=I.memoizedProps,C.state=I.memoizedState,C.componentWillUnmount()}catch(e){Yg(I,A,e)}Me(g,A,I);break;case 21:Me(g,A,I);break;case 22:I.mode&1?(Ii=(C=Ii)||I.memoizedState!==null,Me(g,A,I),Ii=C):Me(g,A,I);break;default:Me(g,A,I)}}function fU(g){var A=g.updateQueue;if(A!==null){g.updateQueue=null;var I=g.stateNode;I===null&&(I=g.stateNode=new PT),A.forEach(function(C){var i=gx.bind(null,g,C);I.has(C)||(I.add(C),C.then(i,i))})}}function qB(g,A){var I=A.deletions;if(I!==null)for(var C=0;Ci&&(i=Q),C&=~B}if(C=i,C=Wg()-C,C=(120>C?120:480>C?480:1080>C?1080:1920>C?1920:3e3>C?3e3:4320>C?4320:1960*VT(C/1960))-C,10g?16:g,Ze===null)var C=!1;else{if(g=Ze,Ze=null,Th=0,jI&6)throw Error(_A(331));var i=jI;for(jI|=4,eI=g.current;eI!==null;){var B=eI,Q=B.child;if(eI.flags&16){var e=B.deletions;if(e!==null){for(var t=0;tWg()-ed?sE(g,0):Qd|=I),mi(g,A)}function WK(g,A){A===0&&(g.mode&1?(A=Rl,Rl<<=1,!(Rl&130023424)&&(Rl=4194304)):A=1);var I=hi();g=Ie(g,A),g!==null&&(nr(g,A,I),mi(g,I))}function Ix(g){var A=g.memoizedState,I=0;A!==null&&(I=A.retryLane),WK(g,I)}function gx(g,A){var I=0;switch(g.tag){case 13:var C=g.stateNode,i=g.memoizedState;i!==null&&(I=i.retryLane);break;case 19:C=g.stateNode;break;default:throw Error(_A(314))}C!==null&&C.delete(A),WK(g,I)}var VK;VK=function(g,A,I){if(g!==null)if(g.memoizedProps!==A.pendingProps||Ji.current)Ni=!0;else{if(!(g.lanes&I)&&!(A.flags&128))return Ni=!1,bT(g,A,I);Ni=!!(g.flags&131072)}else Ni=!1,Mg&&A.flags&1048576&&$R(A,Fh,A.index);switch(A.lanes=0,A.tag){case 2:var C=A.type;ih(g,A),g=A.pendingProps;var i=cn(A,Ci.current);en(A,I),i=Ad(null,A,C,g,i,I);var B=Id();return A.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(A.tag=1,A.memoizedState=null,A.updateQueue=null,qi(C)?(B=!0,fh(A)):B=!1,A.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Vk(A),i.updater=wD,A.stateNode=i,i._reactInternals=A,iu(A,C,g,I),A=eu(null,A,C,!0,B,I)):(A.tag=0,Mg&&B&&vk(A),li(null,A,i,I),A=A.child),A;case 16:C=A.elementType;A:{switch(ih(g,A),g=A.pendingProps,i=C._init,C=i(C._payload),A.type=C,i=A.tag=ix(C),g=HB(C,g),i){case 0:A=Qu(null,A,C,g,I);break A;case 1:A=kU(null,A,C,g,I);break A;case 11:A=yU(null,A,C,g,I);break A;case 14:A=uU(null,A,C,HB(C.type,g),I);break A}throw Error(_A(306,C,""))}return A;case 0:return C=A.type,i=A.pendingProps,i=A.elementType===C?i:HB(C,i),Qu(g,A,C,i,I);case 1:return C=A.type,i=A.pendingProps,i=A.elementType===C?i:HB(C,i),kU(g,A,C,i,I);case 3:A:{if(RK(A),g===null)throw Error(_A(387));C=A.pendingProps,B=A.memoizedState,i=B.element,BK(g,A),Jh(A,C,null,I);var Q=A.memoizedState;if(C=Q.element,B.isDehydrated)if(B={element:C,isDehydrated:!1,cache:Q.cache,pendingSuspenseBoundaries:Q.pendingSuspenseBoundaries,transitions:Q.transitions},A.updateQueue.baseState=B,A.memoizedState=B,A.flags&256){i=wn(Error(_A(423)),A),A=dU(g,A,C,I,i);break A}else if(C!==i){i=wn(Error(_A(424)),A),A=dU(g,A,C,I,i);break A}else for(ji=$e(A.stateNode.containerInfo.firstChild),Xi=A,Mg=!0,bB=null,I=CK(A,null,C,I),A.child=I;I;)I.flags=I.flags&-3|4096,I=I.sibling;else{if(hn(),C===i){A=ge(g,A,I);break A}li(g,A,C,I)}A=A.child}return A;case 5:return QK(A),g===null&&Iu(A),C=A.type,i=A.pendingProps,B=g!==null?g.memoizedProps:null,Q=i.children,jy(C,i)?Q=null:B!==null&&jy(C,B)&&(A.flags|=32),FK(g,A),li(g,A,Q,I),A.child;case 6:return g===null&&Iu(A),null;case 13:return KK(g,A,I);case 4:return jk(A,A.stateNode.containerInfo),C=A.pendingProps,g===null?A.child=Dn(A,null,C,I):li(g,A,C,I),A.child;case 11:return C=A.type,i=A.pendingProps,i=A.elementType===C?i:HB(C,i),yU(g,A,C,i,I);case 7:return li(g,A,A.pendingProps,I),A.child;case 8:return li(g,A,A.pendingProps.children,I),A.child;case 12:return li(g,A,A.pendingProps.children,I),A.child;case 10:A:{if(C=A.type._context,i=A.pendingProps,B=A.memoizedProps,Q=i.value,cg(Rh,C._currentValue),C._currentValue=Q,B!==null)if(VB(B.value,Q)){if(B.children===i.children&&!Ji.current){A=ge(g,A,I);break A}}else for(B=A.child,B!==null&&(B.return=A);B!==null;){var e=B.dependencies;if(e!==null){Q=B.child;for(var t=e.firstContext;t!==null;){if(t.context===C){if(B.tag===1){t=jQ(-1,I&-I),t.tag=2;var E=B.updateQueue;if(E!==null){E=E.shared;var o=E.pending;o===null?t.next=t:(t.next=o.next,o.next=t),E.pending=t}}B.lanes|=I,t=B.alternate,t!==null&&(t.lanes|=I),gu(B.return,I,A),e.lanes|=I;break}t=t.next}}else if(B.tag===10)Q=B.type===A.type?null:B.child;else if(B.tag===18){if(Q=B.return,Q===null)throw Error(_A(341));Q.lanes|=I,e=Q.alternate,e!==null&&(e.lanes|=I),gu(Q,I,A),Q=B.sibling}else Q=B.child;if(Q!==null)Q.return=B;else for(Q=B;Q!==null;){if(Q===A){Q=null;break}if(B=Q.sibling,B!==null){B.return=Q.return,Q=B;break}Q=Q.return}B=Q}li(g,A,i.children,I),A=A.child}return A;case 9:return i=A.type,C=A.pendingProps.children,en(A,I),i=dB(i),C=C(i),A.flags|=1,li(g,A,C,I),A.child;case 14:return C=A.type,i=HB(C,A.pendingProps),i=HB(C.type,i),uU(g,A,C,i,I);case 15:return fK(g,A,A.type,A.pendingProps,I);case 17:return C=A.type,i=A.pendingProps,i=A.elementType===C?i:HB(C,i),ih(g,A),A.tag=1,qi(C)?(g=!0,fh(A)):g=!1,en(A,I),MK(A,C,i),iu(A,C,i,I),eu(null,A,C,!0,g,I);case 19:return JK(g,A,I);case 22:return NK(g,A,I)}throw Error(_A(156,A.tag))};function jK(g,A){return uR(g,A)}function Cx(g,A,I,C){this.tag=g,this.key=I,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=A,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=C,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function GB(g,A,I,C){return new Cx(g,A,I,C)}function nd(g){return g=g.prototype,!(!g||!g.isReactComponent)}function ix(g){if(typeof g=="function")return nd(g)?1:0;if(g!=null){if(g=g.$$typeof,g===Nk)return 11;if(g===Fk)return 14}return 2}function Ct(g,A){var I=g.alternate;return I===null?(I=GB(g.tag,A,g.key,g.mode),I.elementType=g.elementType,I.type=g.type,I.stateNode=g.stateNode,I.alternate=g,g.alternate=I):(I.pendingProps=A,I.type=g.type,I.flags=0,I.subtreeFlags=0,I.deletions=null),I.flags=g.flags&14680064,I.childLanes=g.childLanes,I.lanes=g.lanes,I.child=g.child,I.memoizedProps=g.memoizedProps,I.memoizedState=g.memoizedState,I.updateQueue=g.updateQueue,A=g.dependencies,I.dependencies=A===null?null:{lanes:A.lanes,firstContext:A.firstContext},I.sibling=g.sibling,I.index=g.index,I.ref=g.ref,I}function eh(g,A,I,C,i,B){var Q=2;if(C=g,typeof g=="function")nd(g)&&(Q=1);else if(typeof g=="string")Q=5;else A:switch(g){case xo:return aE(I.children,i,B,A);case fk:Q=8,i|=8;break;case Uy:return g=GB(12,I,A,i|2),g.elementType=Uy,g.lanes=B,g;case fy:return g=GB(13,I,A,i),g.elementType=fy,g.lanes=B,g;case Ny:return g=GB(19,I,A,i),g.elementType=Ny,g.lanes=B,g;case QR:return uD(I,i,B,A);default:if(typeof g=="object"&&g!==null)switch(g.$$typeof){case iR:Q=10;break A;case BR:Q=9;break A;case Nk:Q=11;break A;case Fk:Q=14;break A;case Ye:Q=16,C=null;break A}throw Error(_A(130,g==null?g:typeof g,""))}return A=GB(Q,I,A,i),A.elementType=g,A.type=C,A.lanes=B,A}function aE(g,A,I,C){return g=GB(7,g,C,A),g.lanes=I,g}function uD(g,A,I,C){return g=GB(22,g,C,A),g.elementType=QR,g.lanes=I,g.stateNode={isHidden:!1},g}function IG(g,A,I){return g=GB(6,g,null,A),g.lanes=I,g}function gG(g,A,I){return A=GB(4,g.children!==null?g.children:[],g.key,A),A.lanes=I,A.stateNode={containerInfo:g.containerInfo,pendingChildren:null,implementation:g.implementation},A}function Bx(g,A,I,C,i){this.tag=A,this.containerInfo=g,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=mw(0),this.expirationTimes=mw(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=mw(0),this.identifierPrefix=C,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function sd(g,A,I,C,i,B,Q,e,t){return g=new Bx(g,A,I,e,t),A===1?(A=1,B===!0&&(A|=8)):A=0,B=GB(3,null,null,A),g.current=B,B.stateNode=g,B.memoizedState={element:C,isDehydrated:I,cache:null,transitions:null,pendingSuspenseBoundaries:null},Vk(B),g}function Qx(g,A,I){var C=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(AJ)}catch(g){console.error(g)}}AJ(),AR.exports=IB;var nx=AR.exports,IJ,LU=nx;IJ=LU.createRoot,LU.hydrateRoot;/** + * @license + * Copyright 2010-2024 Three.js Authors + * SPDX-License-Identifier: MIT + */const Jn="164",sx={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},ax={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},gJ=0,Su=1,CJ=2,rx=3,iJ=0,UD=1,ra=2,TB=3,pB=0,gi=1,fi=2,XQ=0,rE=1,wu=2,Gu=3,yu=4,BJ=5,Oe=100,QJ=101,eJ=102,tJ=103,EJ=104,oJ=200,nJ=201,sJ=202,aJ=203,bh=204,Oh=205,rJ=206,lJ=207,cJ=208,hJ=209,DJ=210,SJ=211,wJ=212,GJ=213,yJ=214,uJ=0,kJ=1,dJ=2,Ha=3,MJ=4,pJ=5,UJ=6,fJ=7,lr=0,NJ=1,FJ=2,cQ=0,RJ=1,KJ=2,JJ=3,cd=4,qJ=5,mJ=6,LJ=7,uu="attached",YJ="detached",fD=300,Ce=301,Et=302,Ta=303,xa=304,qn=306,jB=1e3,Fi=1001,dE=1002,BC=1003,cr=1004,lx=1004,We=1005,cx=1005,hg=1006,lE=1007,hx=1007,Ri=1008,Dx=1008,DQ=1009,HJ=1010,TJ=1011,hd=1012,Dd=1013,ME=1014,yB=1015,hr=1016,Sd=1017,wd=1018,mn=1020,xJ=35902,vJ=1021,bJ=1022,Ki=1023,OJ=1024,_J=1025,cE=1026,yn=1027,Gd=1028,yd=1029,PJ=1030,ud=1031,kd=1033,th=33776,Eh=33777,oh=33778,nh=33779,ku=35840,du=35841,Mu=35842,pu=35843,Uu=36196,fu=37492,Nu=37496,Fu=37808,Ru=37809,Ku=37810,Ju=37811,qu=37812,mu=37813,Lu=37814,Yu=37815,Hu=37816,Tu=37817,xu=37818,vu=37819,bu=37820,Ou=37821,sh=36492,_u=36494,Pu=36495,ZJ=36283,Zu=36284,Wu=36285,Vu=36286,WJ=2200,VJ=2201,jJ=2202,pE=2300,ie=2301,ah=2302,QE=2400,eE=2401,va=2402,ND=2500,dd=2501,Md=0,Dr=1,UE=2,XJ=3200,pd=3201,rt=0,zJ=1,OQ="",FC="srgb",dC="srgb-linear",FD="display-p3",Sr="display-p3-linear",ba="linear",rg="srgb",Oa="rec709",_a="p3",Sx=0,AE=7680,wx=7681,Gx=7682,yx=7683,ux=34055,kx=34056,dx=5386,Mx=512,px=513,Ux=514,fx=515,Nx=516,Fx=517,Rx=518,ju=519,$J=512,Aq=513,Iq=514,Ud=515,gq=516,Cq=517,iq=518,Bq=519,Pa=35044,Qq=35048,Kx=35040,Jx=35045,qx=35049,mx=35041,Lx=35046,Yx=35050,Hx=35042,Tx="100",Xu="300 es",aQ=2e3,Za=2001;class le{addEventListener(A,I){this._listeners===void 0&&(this._listeners={});const C=this._listeners;C[A]===void 0&&(C[A]=[]),C[A].indexOf(I)===-1&&C[A].push(I)}hasEventListener(A,I){if(this._listeners===void 0)return!1;const C=this._listeners;return C[A]!==void 0&&C[A].indexOf(I)!==-1}removeEventListener(A,I){if(this._listeners===void 0)return;const i=this._listeners[A];if(i!==void 0){const B=i.indexOf(I);B!==-1&&i.splice(B,1)}}dispatchEvent(A){if(this._listeners===void 0)return;const C=this._listeners[A.type];if(C!==void 0){A.target=this;const i=C.slice(0);for(let B=0,Q=i.length;B>8&255]+zC[g>>16&255]+zC[g>>24&255]+"-"+zC[A&255]+zC[A>>8&255]+"-"+zC[A>>16&15|64]+zC[A>>24&255]+"-"+zC[I&63|128]+zC[I>>8&255]+"-"+zC[I>>16&255]+zC[I>>24&255]+zC[C&255]+zC[C>>8&255]+zC[C>>16&255]+zC[C>>24&255]).toLowerCase()}function Hg(g,A,I){return Math.max(A,Math.min(I,g))}function fd(g,A){return(g%A+A)%A}function xx(g,A,I,C,i){return C+(g-A)*(i-C)/(I-A)}function vx(g,A,I){return g!==A?(I-g)/(A-g):0}function la(g,A,I){return(1-I)*g+I*A}function bx(g,A,I,C){return la(g,A,1-Math.exp(-I*C))}function Ox(g,A=1){return A-Math.abs(fd(g,A*2)-A)}function _x(g,A,I){return g<=A?0:g>=I?1:(g=(g-A)/(I-A),g*g*(3-2*g))}function Px(g,A,I){return g<=A?0:g>=I?1:(g=(g-A)/(I-A),g*g*g*(g*(g*6-15)+10))}function Zx(g,A){return g+Math.floor(Math.random()*(A-g+1))}function Wx(g,A){return g+Math.random()*(A-g)}function Vx(g){return g*(.5-Math.random())}function jx(g){g!==void 0&&(YU=g);let A=YU+=1831565813;return A=Math.imul(A^A>>>15,A|1),A^=A+Math.imul(A^A>>>7,A|61),((A^A>>>14)>>>0)/4294967296}function Xx(g){return g*hE}function zx(g){return g*un}function $x(g){return(g&g-1)===0&&g!==0}function A2(g){return Math.pow(2,Math.ceil(Math.log(g)/Math.LN2))}function I2(g){return Math.pow(2,Math.floor(Math.log(g)/Math.LN2))}function g2(g,A,I,C,i){const B=Math.cos,Q=Math.sin,e=B(I/2),t=Q(I/2),E=B((A+C)/2),o=Q((A+C)/2),s=B((A-C)/2),r=Q((A-C)/2),l=B((C-A)/2),h=Q((C-A)/2);switch(i){case"XYX":g.set(e*o,t*s,t*r,e*E);break;case"YZY":g.set(t*r,e*o,t*s,e*E);break;case"ZXZ":g.set(t*s,t*r,e*o,e*E);break;case"XZX":g.set(e*o,t*h,t*l,e*E);break;case"YXY":g.set(t*l,e*o,t*h,e*E);break;case"ZYZ":g.set(t*h,t*l,e*o,e*E);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function ci(g,A){switch(A.constructor){case Float32Array:return g;case Uint32Array:return g/4294967295;case Uint16Array:return g/65535;case Uint8Array:return g/255;case Int32Array:return Math.max(g/2147483647,-1);case Int16Array:return Math.max(g/32767,-1);case Int8Array:return Math.max(g/127,-1);default:throw new Error("Invalid component type.")}}function KI(g,A){switch(A.constructor){case Float32Array:return g;case Uint32Array:return Math.round(g*4294967295);case Uint16Array:return Math.round(g*65535);case Uint8Array:return Math.round(g*255);case Int32Array:return Math.round(g*2147483647);case Int16Array:return Math.round(g*32767);case Int8Array:return Math.round(g*127);default:throw new Error("Invalid component type.")}}const RD={DEG2RAD:hE,RAD2DEG:un,generateUUID:zi,clamp:Hg,euclideanModulo:fd,mapLinear:xx,inverseLerp:vx,lerp:la,damp:bx,pingpong:Ox,smoothstep:_x,smootherstep:Px,randInt:Zx,randFloat:Wx,randFloatSpread:Vx,seededRandom:jx,degToRad:Xx,radToDeg:zx,isPowerOfTwo:$x,ceilPowerOfTwo:A2,floorPowerOfTwo:I2,setQuaternionFromProperEuler:g2,normalize:KI,denormalize:ci};class mA{constructor(A=0,I=0){mA.prototype.isVector2=!0,this.x=A,this.y=I}get width(){return this.x}set width(A){this.x=A}get height(){return this.y}set height(A){this.y=A}set(A,I){return this.x=A,this.y=I,this}setScalar(A){return this.x=A,this.y=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setComponent(A,I){switch(A){case 0:this.x=I;break;case 1:this.y=I;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y)}copy(A){return this.x=A.x,this.y=A.y,this}add(A){return this.x+=A.x,this.y+=A.y,this}addScalar(A){return this.x+=A,this.y+=A,this}addVectors(A,I){return this.x=A.x+I.x,this.y=A.y+I.y,this}addScaledVector(A,I){return this.x+=A.x*I,this.y+=A.y*I,this}sub(A){return this.x-=A.x,this.y-=A.y,this}subScalar(A){return this.x-=A,this.y-=A,this}subVectors(A,I){return this.x=A.x-I.x,this.y=A.y-I.y,this}multiply(A){return this.x*=A.x,this.y*=A.y,this}multiplyScalar(A){return this.x*=A,this.y*=A,this}divide(A){return this.x/=A.x,this.y/=A.y,this}divideScalar(A){return this.multiplyScalar(1/A)}applyMatrix3(A){const I=this.x,C=this.y,i=A.elements;return this.x=i[0]*I+i[3]*C+i[6],this.y=i[1]*I+i[4]*C+i[7],this}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this}clamp(A,I){return this.x=Math.max(A.x,Math.min(I.x,this.x)),this.y=Math.max(A.y,Math.min(I.y,this.y)),this}clampScalar(A,I){return this.x=Math.max(A,Math.min(I,this.x)),this.y=Math.max(A,Math.min(I,this.y)),this}clampLength(A,I){const C=this.length();return this.divideScalar(C||1).multiplyScalar(Math.max(A,Math.min(I,C)))}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(A){return this.x*A.x+this.y*A.y}cross(A){return this.x*A.y-this.y*A.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(A){const I=Math.sqrt(this.lengthSq()*A.lengthSq());if(I===0)return Math.PI/2;const C=this.dot(A)/I;return Math.acos(Hg(C,-1,1))}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const I=this.x-A.x,C=this.y-A.y;return I*I+C*C}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)}setLength(A){return this.normalize().multiplyScalar(A)}lerp(A,I){return this.x+=(A.x-this.x)*I,this.y+=(A.y-this.y)*I,this}lerpVectors(A,I,C){return this.x=A.x+(I.x-A.x)*C,this.y=A.y+(I.y-A.y)*C,this}equals(A){return A.x===this.x&&A.y===this.y}fromArray(A,I=0){return this.x=A[I],this.y=A[I+1],this}toArray(A=[],I=0){return A[I]=this.x,A[I+1]=this.y,A}fromBufferAttribute(A,I){return this.x=A.getX(I),this.y=A.getY(I),this}rotateAround(A,I){const C=Math.cos(I),i=Math.sin(I),B=this.x-A.x,Q=this.y-A.y;return this.x=B*C-Q*i+A.x,this.y=B*i+Q*C+A.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class FI{constructor(A,I,C,i,B,Q,e,t,E){FI.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],A!==void 0&&this.set(A,I,C,i,B,Q,e,t,E)}set(A,I,C,i,B,Q,e,t,E){const o=this.elements;return o[0]=A,o[1]=i,o[2]=e,o[3]=I,o[4]=B,o[5]=t,o[6]=C,o[7]=Q,o[8]=E,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(A){const I=this.elements,C=A.elements;return I[0]=C[0],I[1]=C[1],I[2]=C[2],I[3]=C[3],I[4]=C[4],I[5]=C[5],I[6]=C[6],I[7]=C[7],I[8]=C[8],this}extractBasis(A,I,C){return A.setFromMatrix3Column(this,0),I.setFromMatrix3Column(this,1),C.setFromMatrix3Column(this,2),this}setFromMatrix4(A){const I=A.elements;return this.set(I[0],I[4],I[8],I[1],I[5],I[9],I[2],I[6],I[10]),this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,I){const C=A.elements,i=I.elements,B=this.elements,Q=C[0],e=C[3],t=C[6],E=C[1],o=C[4],s=C[7],r=C[2],l=C[5],h=C[8],w=i[0],D=i[3],c=i[6],G=i[1],y=i[4],k=i[7],F=i[2],U=i[5],f=i[8];return B[0]=Q*w+e*G+t*F,B[3]=Q*D+e*y+t*U,B[6]=Q*c+e*k+t*f,B[1]=E*w+o*G+s*F,B[4]=E*D+o*y+s*U,B[7]=E*c+o*k+s*f,B[2]=r*w+l*G+h*F,B[5]=r*D+l*y+h*U,B[8]=r*c+l*k+h*f,this}multiplyScalar(A){const I=this.elements;return I[0]*=A,I[3]*=A,I[6]*=A,I[1]*=A,I[4]*=A,I[7]*=A,I[2]*=A,I[5]*=A,I[8]*=A,this}determinant(){const A=this.elements,I=A[0],C=A[1],i=A[2],B=A[3],Q=A[4],e=A[5],t=A[6],E=A[7],o=A[8];return I*Q*o-I*e*E-C*B*o+C*e*t+i*B*E-i*Q*t}invert(){const A=this.elements,I=A[0],C=A[1],i=A[2],B=A[3],Q=A[4],e=A[5],t=A[6],E=A[7],o=A[8],s=o*Q-e*E,r=e*t-o*B,l=E*B-Q*t,h=I*s+C*r+i*l;if(h===0)return this.set(0,0,0,0,0,0,0,0,0);const w=1/h;return A[0]=s*w,A[1]=(i*E-o*C)*w,A[2]=(e*C-i*Q)*w,A[3]=r*w,A[4]=(o*I-i*t)*w,A[5]=(i*B-e*I)*w,A[6]=l*w,A[7]=(C*t-E*I)*w,A[8]=(Q*I-C*B)*w,this}transpose(){let A;const I=this.elements;return A=I[1],I[1]=I[3],I[3]=A,A=I[2],I[2]=I[6],I[6]=A,A=I[5],I[5]=I[7],I[7]=A,this}getNormalMatrix(A){return this.setFromMatrix4(A).invert().transpose()}transposeIntoArray(A){const I=this.elements;return A[0]=I[0],A[1]=I[3],A[2]=I[6],A[3]=I[1],A[4]=I[4],A[5]=I[7],A[6]=I[2],A[7]=I[5],A[8]=I[8],this}setUvTransform(A,I,C,i,B,Q,e){const t=Math.cos(B),E=Math.sin(B);return this.set(C*t,C*E,-C*(t*Q+E*e)+Q+A,-i*E,i*t,-i*(-E*Q+t*e)+e+I,0,0,1),this}scale(A,I){return this.premultiply(CG.makeScale(A,I)),this}rotate(A){return this.premultiply(CG.makeRotation(-A)),this}translate(A,I){return this.premultiply(CG.makeTranslation(A,I)),this}makeTranslation(A,I){return A.isVector2?this.set(1,0,A.x,0,1,A.y,0,0,1):this.set(1,0,A,0,1,I,0,0,1),this}makeRotation(A){const I=Math.cos(A),C=Math.sin(A);return this.set(I,-C,0,C,I,0,0,0,1),this}makeScale(A,I){return this.set(A,0,0,0,I,0,0,0,1),this}equals(A){const I=this.elements,C=A.elements;for(let i=0;i<9;i++)if(I[i]!==C[i])return!1;return!0}fromArray(A,I=0){for(let C=0;C<9;C++)this.elements[C]=A[C+I];return this}toArray(A=[],I=0){const C=this.elements;return A[I]=C[0],A[I+1]=C[1],A[I+2]=C[2],A[I+3]=C[3],A[I+4]=C[4],A[I+5]=C[5],A[I+6]=C[6],A[I+7]=C[7],A[I+8]=C[8],A}clone(){return new this.constructor().fromArray(this.elements)}}const CG=new FI;function eq(g){for(let A=g.length-1;A>=0;--A)if(g[A]>=65535)return!0;return!1}const C2={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function zo(g,A){return new C2[g](A)}function Wa(g){return document.createElementNS("http://www.w3.org/1999/xhtml",g)}function tq(){const g=Wa("canvas");return g.style.display="block",g}const HU={};function Eq(g){g in HU||(HU[g]=!0,console.warn(g))}const TU=new FI().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),xU=new FI().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),Ol={[dC]:{transfer:ba,primaries:Oa,toReference:g=>g,fromReference:g=>g},[FC]:{transfer:rg,primaries:Oa,toReference:g=>g.convertSRGBToLinear(),fromReference:g=>g.convertLinearToSRGB()},[Sr]:{transfer:ba,primaries:_a,toReference:g=>g.applyMatrix3(xU),fromReference:g=>g.applyMatrix3(TU)},[FD]:{transfer:rg,primaries:_a,toReference:g=>g.convertSRGBToLinear().applyMatrix3(xU),fromReference:g=>g.applyMatrix3(TU).convertLinearToSRGB()}},i2=new Set([dC,Sr]),Ag={enabled:!0,_workingColorSpace:dC,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(g){if(!i2.has(g))throw new Error(`Unsupported working color space, "${g}".`);this._workingColorSpace=g},convert:function(g,A,I){if(this.enabled===!1||A===I||!A||!I)return g;const C=Ol[A].toReference,i=Ol[I].fromReference;return i(C(g))},fromWorkingColorSpace:function(g,A){return this.convert(g,this._workingColorSpace,A)},toWorkingColorSpace:function(g,A){return this.convert(g,A,this._workingColorSpace)},getPrimaries:function(g){return Ol[g].primaries},getTransfer:function(g){return g===OQ?ba:Ol[g].transfer}};function En(g){return g<.04045?g*.0773993808:Math.pow(g*.9478672986+.0521327014,2.4)}function iG(g){return g<.0031308?g*12.92:1.055*Math.pow(g,.41666)-.055}let Eo;class oq{static getDataURL(A){if(/^data:/i.test(A.src)||typeof HTMLCanvasElement>"u")return A.src;let I;if(A instanceof HTMLCanvasElement)I=A;else{Eo===void 0&&(Eo=Wa("canvas")),Eo.width=A.width,Eo.height=A.height;const C=Eo.getContext("2d");A instanceof ImageData?C.putImageData(A,0,0):C.drawImage(A,0,0,A.width,A.height),I=Eo}return I.width>2048||I.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",A),I.toDataURL("image/jpeg",.6)):I.toDataURL("image/png")}static sRGBToLinear(A){if(typeof HTMLImageElement<"u"&&A instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&A instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&A instanceof ImageBitmap){const I=Wa("canvas");I.width=A.width,I.height=A.height;const C=I.getContext("2d");C.drawImage(A,0,0,A.width,A.height);const i=C.getImageData(0,0,A.width,A.height),B=i.data;for(let Q=0;Q0&&(C.userData=this.userData),I||(A.textures[this.uuid]=C),C}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(A){if(this.mapping!==fD)return A;if(A.applyMatrix3(this.matrix),A.x<0||A.x>1)switch(this.wrapS){case jB:A.x=A.x-Math.floor(A.x);break;case Fi:A.x=A.x<0?0:1;break;case dE:Math.abs(Math.floor(A.x)%2)===1?A.x=Math.ceil(A.x)-A.x:A.x=A.x-Math.floor(A.x);break}if(A.y<0||A.y>1)switch(this.wrapT){case jB:A.y=A.y-Math.floor(A.y);break;case Fi:A.y=A.y<0?0:1;break;case dE:Math.abs(Math.floor(A.y)%2)===1?A.y=Math.ceil(A.y)-A.y:A.y=A.y-Math.floor(A.y);break}return this.flipY&&(A.y=1-A.y),A}set needsUpdate(A){A===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(A){A===!0&&this.pmremVersion++}}ig.DEFAULT_IMAGE=null;ig.DEFAULT_MAPPING=fD;ig.DEFAULT_ANISOTROPY=1;class Ig{constructor(A=0,I=0,C=0,i=1){Ig.prototype.isVector4=!0,this.x=A,this.y=I,this.z=C,this.w=i}get width(){return this.z}set width(A){this.z=A}get height(){return this.w}set height(A){this.w=A}set(A,I,C,i){return this.x=A,this.y=I,this.z=C,this.w=i,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this.w=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setW(A){return this.w=A,this}setComponent(A,I){switch(A){case 0:this.x=I;break;case 1:this.y=I;break;case 2:this.z=I;break;case 3:this.w=I;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){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: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this.w=A.w!==void 0?A.w:1,this}add(A){return this.x+=A.x,this.y+=A.y,this.z+=A.z,this.w+=A.w,this}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this.w+=A,this}addVectors(A,I){return this.x=A.x+I.x,this.y=A.y+I.y,this.z=A.z+I.z,this.w=A.w+I.w,this}addScaledVector(A,I){return this.x+=A.x*I,this.y+=A.y*I,this.z+=A.z*I,this.w+=A.w*I,this}sub(A){return this.x-=A.x,this.y-=A.y,this.z-=A.z,this.w-=A.w,this}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this.w-=A,this}subVectors(A,I){return this.x=A.x-I.x,this.y=A.y-I.y,this.z=A.z-I.z,this.w=A.w-I.w,this}multiply(A){return this.x*=A.x,this.y*=A.y,this.z*=A.z,this.w*=A.w,this}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this.w*=A,this}applyMatrix4(A){const I=this.x,C=this.y,i=this.z,B=this.w,Q=A.elements;return this.x=Q[0]*I+Q[4]*C+Q[8]*i+Q[12]*B,this.y=Q[1]*I+Q[5]*C+Q[9]*i+Q[13]*B,this.z=Q[2]*I+Q[6]*C+Q[10]*i+Q[14]*B,this.w=Q[3]*I+Q[7]*C+Q[11]*i+Q[15]*B,this}divideScalar(A){return this.multiplyScalar(1/A)}setAxisAngleFromQuaternion(A){this.w=2*Math.acos(A.w);const I=Math.sqrt(1-A.w*A.w);return I<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=A.x/I,this.y=A.y/I,this.z=A.z/I),this}setAxisAngleFromRotationMatrix(A){let I,C,i,B;const t=A.elements,E=t[0],o=t[4],s=t[8],r=t[1],l=t[5],h=t[9],w=t[2],D=t[6],c=t[10];if(Math.abs(o-r)<.01&&Math.abs(s-w)<.01&&Math.abs(h-D)<.01){if(Math.abs(o+r)<.1&&Math.abs(s+w)<.1&&Math.abs(h+D)<.1&&Math.abs(E+l+c-3)<.1)return this.set(1,0,0,0),this;I=Math.PI;const y=(E+1)/2,k=(l+1)/2,F=(c+1)/2,U=(o+r)/4,f=(s+w)/4,K=(h+D)/4;return y>k&&y>F?y<.01?(C=0,i=.707106781,B=.707106781):(C=Math.sqrt(y),i=U/C,B=f/C):k>F?k<.01?(C=.707106781,i=0,B=.707106781):(i=Math.sqrt(k),C=U/i,B=K/i):F<.01?(C=.707106781,i=.707106781,B=0):(B=Math.sqrt(F),C=f/B,i=K/B),this.set(C,i,B,I),this}let G=Math.sqrt((D-h)*(D-h)+(s-w)*(s-w)+(r-o)*(r-o));return Math.abs(G)<.001&&(G=1),this.x=(D-h)/G,this.y=(s-w)/G,this.z=(r-o)/G,this.w=Math.acos((E+l+c-1)/2),this}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this.z=Math.min(this.z,A.z),this.w=Math.min(this.w,A.w),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this.z=Math.max(this.z,A.z),this.w=Math.max(this.w,A.w),this}clamp(A,I){return this.x=Math.max(A.x,Math.min(I.x,this.x)),this.y=Math.max(A.y,Math.min(I.y,this.y)),this.z=Math.max(A.z,Math.min(I.z,this.z)),this.w=Math.max(A.w,Math.min(I.w,this.w)),this}clampScalar(A,I){return this.x=Math.max(A,Math.min(I,this.x)),this.y=Math.max(A,Math.min(I,this.y)),this.z=Math.max(A,Math.min(I,this.z)),this.w=Math.max(A,Math.min(I,this.w)),this}clampLength(A,I){const C=this.length();return this.divideScalar(C||1).multiplyScalar(Math.max(A,Math.min(I,C)))}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(A){return this.x*A.x+this.y*A.y+this.z*A.z+this.w*A.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(A){return this.normalize().multiplyScalar(A)}lerp(A,I){return this.x+=(A.x-this.x)*I,this.y+=(A.y-this.y)*I,this.z+=(A.z-this.z)*I,this.w+=(A.w-this.w)*I,this}lerpVectors(A,I,C){return this.x=A.x+(I.x-A.x)*C,this.y=A.y+(I.y-A.y)*C,this.z=A.z+(I.z-A.z)*C,this.w=A.w+(I.w-A.w)*C,this}equals(A){return A.x===this.x&&A.y===this.y&&A.z===this.z&&A.w===this.w}fromArray(A,I=0){return this.x=A[I],this.y=A[I+1],this.z=A[I+2],this.w=A[I+3],this}toArray(A=[],I=0){return A[I]=this.x,A[I+1]=this.y,A[I+2]=this.z,A[I+3]=this.w,A}fromBufferAttribute(A,I){return this.x=A.getX(I),this.y=A.getY(I),this.z=A.getZ(I),this.w=A.getW(I),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 nq extends le{constructor(A=1,I=1,C={}){super(),this.isRenderTarget=!0,this.width=A,this.height=I,this.depth=1,this.scissor=new Ig(0,0,A,I),this.scissorTest=!1,this.viewport=new Ig(0,0,A,I);const i={width:A,height:I,depth:1};C=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:hg,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1},C);const B=new ig(i,C.mapping,C.wrapS,C.wrapT,C.magFilter,C.minFilter,C.format,C.type,C.anisotropy,C.colorSpace);B.flipY=!1,B.generateMipmaps=C.generateMipmaps,B.internalFormat=C.internalFormat,this.textures=[];const Q=C.count;for(let e=0;e=0?1:-1,y=1-c*c;if(y>Number.EPSILON){const F=Math.sqrt(y),U=Math.atan2(F,c*G);D=Math.sin(D*U)/F,e=Math.sin(e*U)/F}const k=e*G;if(t=t*D+r*k,E=E*D+l*k,o=o*D+h*k,s=s*D+w*k,D===1-e){const F=1/Math.sqrt(t*t+E*E+o*o+s*s);t*=F,E*=F,o*=F,s*=F}}A[I]=t,A[I+1]=E,A[I+2]=o,A[I+3]=s}static multiplyQuaternionsFlat(A,I,C,i,B,Q){const e=C[i],t=C[i+1],E=C[i+2],o=C[i+3],s=B[Q],r=B[Q+1],l=B[Q+2],h=B[Q+3];return A[I]=e*h+o*s+t*l-E*r,A[I+1]=t*h+o*r+E*s-e*l,A[I+2]=E*h+o*l+e*r-t*s,A[I+3]=o*h-e*s-t*r-E*l,A}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get w(){return this._w}set w(A){this._w=A,this._onChangeCallback()}set(A,I,C,i){return this._x=A,this._y=I,this._z=C,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(A){return this._x=A.x,this._y=A.y,this._z=A.z,this._w=A.w,this._onChangeCallback(),this}setFromEuler(A,I=!0){const C=A._x,i=A._y,B=A._z,Q=A._order,e=Math.cos,t=Math.sin,E=e(C/2),o=e(i/2),s=e(B/2),r=t(C/2),l=t(i/2),h=t(B/2);switch(Q){case"XYZ":this._x=r*o*s+E*l*h,this._y=E*l*s-r*o*h,this._z=E*o*h+r*l*s,this._w=E*o*s-r*l*h;break;case"YXZ":this._x=r*o*s+E*l*h,this._y=E*l*s-r*o*h,this._z=E*o*h-r*l*s,this._w=E*o*s+r*l*h;break;case"ZXY":this._x=r*o*s-E*l*h,this._y=E*l*s+r*o*h,this._z=E*o*h+r*l*s,this._w=E*o*s-r*l*h;break;case"ZYX":this._x=r*o*s-E*l*h,this._y=E*l*s+r*o*h,this._z=E*o*h-r*l*s,this._w=E*o*s+r*l*h;break;case"YZX":this._x=r*o*s+E*l*h,this._y=E*l*s+r*o*h,this._z=E*o*h-r*l*s,this._w=E*o*s-r*l*h;break;case"XZY":this._x=r*o*s-E*l*h,this._y=E*l*s-r*o*h,this._z=E*o*h+r*l*s,this._w=E*o*s+r*l*h;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+Q)}return I===!0&&this._onChangeCallback(),this}setFromAxisAngle(A,I){const C=I/2,i=Math.sin(C);return this._x=A.x*i,this._y=A.y*i,this._z=A.z*i,this._w=Math.cos(C),this._onChangeCallback(),this}setFromRotationMatrix(A){const I=A.elements,C=I[0],i=I[4],B=I[8],Q=I[1],e=I[5],t=I[9],E=I[2],o=I[6],s=I[10],r=C+e+s;if(r>0){const l=.5/Math.sqrt(r+1);this._w=.25/l,this._x=(o-t)*l,this._y=(B-E)*l,this._z=(Q-i)*l}else if(C>e&&C>s){const l=2*Math.sqrt(1+C-e-s);this._w=(o-t)/l,this._x=.25*l,this._y=(i+Q)/l,this._z=(B+E)/l}else if(e>s){const l=2*Math.sqrt(1+e-C-s);this._w=(B-E)/l,this._x=(i+Q)/l,this._y=.25*l,this._z=(t+o)/l}else{const l=2*Math.sqrt(1+s-C-e);this._w=(Q-i)/l,this._x=(B+E)/l,this._y=(t+o)/l,this._z=.25*l}return this._onChangeCallback(),this}setFromUnitVectors(A,I){let C=A.dot(I)+1;return CMath.abs(A.z)?(this._x=-A.y,this._y=A.x,this._z=0,this._w=C):(this._x=0,this._y=-A.z,this._z=A.y,this._w=C)):(this._x=A.y*I.z-A.z*I.y,this._y=A.z*I.x-A.x*I.z,this._z=A.x*I.y-A.y*I.x,this._w=C),this.normalize()}angleTo(A){return 2*Math.acos(Math.abs(Hg(this.dot(A),-1,1)))}rotateTowards(A,I){const C=this.angleTo(A);if(C===0)return this;const i=Math.min(1,I/C);return this.slerp(A,i),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(A){return this._x*A._x+this._y*A._y+this._z*A._z+this._w*A._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 A=this.length();return A===0?(this._x=0,this._y=0,this._z=0,this._w=1):(A=1/A,this._x=this._x*A,this._y=this._y*A,this._z=this._z*A,this._w=this._w*A),this._onChangeCallback(),this}multiply(A){return this.multiplyQuaternions(this,A)}premultiply(A){return this.multiplyQuaternions(A,this)}multiplyQuaternions(A,I){const C=A._x,i=A._y,B=A._z,Q=A._w,e=I._x,t=I._y,E=I._z,o=I._w;return this._x=C*o+Q*e+i*E-B*t,this._y=i*o+Q*t+B*e-C*E,this._z=B*o+Q*E+C*t-i*e,this._w=Q*o-C*e-i*t-B*E,this._onChangeCallback(),this}slerp(A,I){if(I===0)return this;if(I===1)return this.copy(A);const C=this._x,i=this._y,B=this._z,Q=this._w;let e=Q*A._w+C*A._x+i*A._y+B*A._z;if(e<0?(this._w=-A._w,this._x=-A._x,this._y=-A._y,this._z=-A._z,e=-e):this.copy(A),e>=1)return this._w=Q,this._x=C,this._y=i,this._z=B,this;const t=1-e*e;if(t<=Number.EPSILON){const l=1-I;return this._w=l*Q+I*this._w,this._x=l*C+I*this._x,this._y=l*i+I*this._y,this._z=l*B+I*this._z,this.normalize(),this}const E=Math.sqrt(t),o=Math.atan2(E,e),s=Math.sin((1-I)*o)/E,r=Math.sin(I*o)/E;return this._w=Q*s+this._w*r,this._x=C*s+this._x*r,this._y=i*s+this._y*r,this._z=B*s+this._z*r,this._onChangeCallback(),this}slerpQuaternions(A,I,C){return this.copy(A).slerp(I,C)}random(){const A=2*Math.PI*Math.random(),I=2*Math.PI*Math.random(),C=Math.random(),i=Math.sqrt(1-C),B=Math.sqrt(C);return this.set(i*Math.sin(A),i*Math.cos(A),B*Math.sin(I),B*Math.cos(I))}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._w===this._w}fromArray(A,I=0){return this._x=A[I],this._y=A[I+1],this._z=A[I+2],this._w=A[I+3],this._onChangeCallback(),this}toArray(A=[],I=0){return A[I]=this._x,A[I+1]=this._y,A[I+2]=this._z,A[I+3]=this._w,A}fromBufferAttribute(A,I){return this._x=A.getX(I),this._y=A.getY(I),this._z=A.getZ(I),this._w=A.getW(I),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class T{constructor(A=0,I=0,C=0){T.prototype.isVector3=!0,this.x=A,this.y=I,this.z=C}set(A,I,C){return C===void 0&&(C=this.z),this.x=A,this.y=I,this.z=C,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setComponent(A,I){switch(A){case 0:this.x=I;break;case 1:this.y=I;break;case 2:this.z=I;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this}add(A){return this.x+=A.x,this.y+=A.y,this.z+=A.z,this}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this}addVectors(A,I){return this.x=A.x+I.x,this.y=A.y+I.y,this.z=A.z+I.z,this}addScaledVector(A,I){return this.x+=A.x*I,this.y+=A.y*I,this.z+=A.z*I,this}sub(A){return this.x-=A.x,this.y-=A.y,this.z-=A.z,this}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this}subVectors(A,I){return this.x=A.x-I.x,this.y=A.y-I.y,this.z=A.z-I.z,this}multiply(A){return this.x*=A.x,this.y*=A.y,this.z*=A.z,this}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this}multiplyVectors(A,I){return this.x=A.x*I.x,this.y=A.y*I.y,this.z=A.z*I.z,this}applyEuler(A){return this.applyQuaternion(vU.setFromEuler(A))}applyAxisAngle(A,I){return this.applyQuaternion(vU.setFromAxisAngle(A,I))}applyMatrix3(A){const I=this.x,C=this.y,i=this.z,B=A.elements;return this.x=B[0]*I+B[3]*C+B[6]*i,this.y=B[1]*I+B[4]*C+B[7]*i,this.z=B[2]*I+B[5]*C+B[8]*i,this}applyNormalMatrix(A){return this.applyMatrix3(A).normalize()}applyMatrix4(A){const I=this.x,C=this.y,i=this.z,B=A.elements,Q=1/(B[3]*I+B[7]*C+B[11]*i+B[15]);return this.x=(B[0]*I+B[4]*C+B[8]*i+B[12])*Q,this.y=(B[1]*I+B[5]*C+B[9]*i+B[13])*Q,this.z=(B[2]*I+B[6]*C+B[10]*i+B[14])*Q,this}applyQuaternion(A){const I=this.x,C=this.y,i=this.z,B=A.x,Q=A.y,e=A.z,t=A.w,E=2*(Q*i-e*C),o=2*(e*I-B*i),s=2*(B*C-Q*I);return this.x=I+t*E+Q*s-e*o,this.y=C+t*o+e*E-B*s,this.z=i+t*s+B*o-Q*E,this}project(A){return this.applyMatrix4(A.matrixWorldInverse).applyMatrix4(A.projectionMatrix)}unproject(A){return this.applyMatrix4(A.projectionMatrixInverse).applyMatrix4(A.matrixWorld)}transformDirection(A){const I=this.x,C=this.y,i=this.z,B=A.elements;return this.x=B[0]*I+B[4]*C+B[8]*i,this.y=B[1]*I+B[5]*C+B[9]*i,this.z=B[2]*I+B[6]*C+B[10]*i,this.normalize()}divide(A){return this.x/=A.x,this.y/=A.y,this.z/=A.z,this}divideScalar(A){return this.multiplyScalar(1/A)}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this.z=Math.min(this.z,A.z),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this.z=Math.max(this.z,A.z),this}clamp(A,I){return this.x=Math.max(A.x,Math.min(I.x,this.x)),this.y=Math.max(A.y,Math.min(I.y,this.y)),this.z=Math.max(A.z,Math.min(I.z,this.z)),this}clampScalar(A,I){return this.x=Math.max(A,Math.min(I,this.x)),this.y=Math.max(A,Math.min(I,this.y)),this.z=Math.max(A,Math.min(I,this.z)),this}clampLength(A,I){const C=this.length();return this.divideScalar(C||1).multiplyScalar(Math.max(A,Math.min(I,C)))}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(A){return this.x*A.x+this.y*A.y+this.z*A.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(A){return this.normalize().multiplyScalar(A)}lerp(A,I){return this.x+=(A.x-this.x)*I,this.y+=(A.y-this.y)*I,this.z+=(A.z-this.z)*I,this}lerpVectors(A,I,C){return this.x=A.x+(I.x-A.x)*C,this.y=A.y+(I.y-A.y)*C,this.z=A.z+(I.z-A.z)*C,this}cross(A){return this.crossVectors(this,A)}crossVectors(A,I){const C=A.x,i=A.y,B=A.z,Q=I.x,e=I.y,t=I.z;return this.x=i*t-B*e,this.y=B*Q-C*t,this.z=C*e-i*Q,this}projectOnVector(A){const I=A.lengthSq();if(I===0)return this.set(0,0,0);const C=A.dot(this)/I;return this.copy(A).multiplyScalar(C)}projectOnPlane(A){return QG.copy(this).projectOnVector(A),this.sub(QG)}reflect(A){return this.sub(QG.copy(A).multiplyScalar(2*this.dot(A)))}angleTo(A){const I=Math.sqrt(this.lengthSq()*A.lengthSq());if(I===0)return Math.PI/2;const C=this.dot(A)/I;return Math.acos(Hg(C,-1,1))}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const I=this.x-A.x,C=this.y-A.y,i=this.z-A.z;return I*I+C*C+i*i}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)+Math.abs(this.z-A.z)}setFromSpherical(A){return this.setFromSphericalCoords(A.radius,A.phi,A.theta)}setFromSphericalCoords(A,I,C){const i=Math.sin(I)*A;return this.x=i*Math.sin(C),this.y=Math.cos(I)*A,this.z=i*Math.cos(C),this}setFromCylindrical(A){return this.setFromCylindricalCoords(A.radius,A.theta,A.y)}setFromCylindricalCoords(A,I,C){return this.x=A*Math.sin(I),this.y=C,this.z=A*Math.cos(I),this}setFromMatrixPosition(A){const I=A.elements;return this.x=I[12],this.y=I[13],this.z=I[14],this}setFromMatrixScale(A){const I=this.setFromMatrixColumn(A,0).length(),C=this.setFromMatrixColumn(A,1).length(),i=this.setFromMatrixColumn(A,2).length();return this.x=I,this.y=C,this.z=i,this}setFromMatrixColumn(A,I){return this.fromArray(A.elements,I*4)}setFromMatrix3Column(A,I){return this.fromArray(A.elements,I*3)}setFromEuler(A){return this.x=A._x,this.y=A._y,this.z=A._z,this}setFromColor(A){return this.x=A.r,this.y=A.g,this.z=A.b,this}equals(A){return A.x===this.x&&A.y===this.y&&A.z===this.z}fromArray(A,I=0){return this.x=A[I],this.y=A[I+1],this.z=A[I+2],this}toArray(A=[],I=0){return A[I]=this.x,A[I+1]=this.y,A[I+2]=this.z,A}fromBufferAttribute(A,I){return this.x=A.getX(I),this.y=A.getY(I),this.z=A.getZ(I),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const A=Math.random()*Math.PI*2,I=Math.random()*2-1,C=Math.sqrt(1-I*I);return this.x=C*Math.cos(A),this.y=I,this.z=C*Math.sin(A),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const QG=new T,vU=new Bg;class uC{constructor(A=new T(1/0,1/0,1/0),I=new T(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=A,this.max=I}set(A,I){return this.min.copy(A),this.max.copy(I),this}setFromArray(A){this.makeEmpty();for(let I=0,C=A.length;Ithis.max.x||A.ythis.max.y||A.zthis.max.z)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y&&this.min.z<=A.min.z&&A.max.z<=this.max.z}getParameter(A,I){return I.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y),(A.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(A){return!(A.max.xthis.max.x||A.max.ythis.max.y||A.max.zthis.max.z)}intersectsSphere(A){return this.clampPoint(A.center,mB),mB.distanceToSquared(A.center)<=A.radius*A.radius}intersectsPlane(A){let I,C;return A.normal.x>0?(I=A.normal.x*this.min.x,C=A.normal.x*this.max.x):(I=A.normal.x*this.max.x,C=A.normal.x*this.min.x),A.normal.y>0?(I+=A.normal.y*this.min.y,C+=A.normal.y*this.max.y):(I+=A.normal.y*this.max.y,C+=A.normal.y*this.min.y),A.normal.z>0?(I+=A.normal.z*this.min.z,C+=A.normal.z*this.max.z):(I+=A.normal.z*this.max.z,C+=A.normal.z*this.min.z),I<=-A.constant&&C>=-A.constant}intersectsTriangle(A){if(this.isEmpty())return!1;this.getCenter(ks),Pl.subVectors(this.max,ks),oo.subVectors(A.a,ks),no.subVectors(A.b,ks),so.subVectors(A.c,ks),pe.subVectors(no,oo),Ue.subVectors(so,no),mt.subVectors(oo,so);let I=[0,-pe.z,pe.y,0,-Ue.z,Ue.y,0,-mt.z,mt.y,pe.z,0,-pe.x,Ue.z,0,-Ue.x,mt.z,0,-mt.x,-pe.y,pe.x,0,-Ue.y,Ue.x,0,-mt.y,mt.x,0];return!eG(I,oo,no,so,Pl)||(I=[1,0,0,0,1,0,0,0,1],!eG(I,oo,no,so,Pl))?!1:(Zl.crossVectors(pe,Ue),I=[Zl.x,Zl.y,Zl.z],eG(I,oo,no,so,Pl))}clampPoint(A,I){return I.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return this.clampPoint(A,mB).distanceTo(A)}getBoundingSphere(A){return this.isEmpty()?A.makeEmpty():(this.getCenter(A.center),A.radius=this.getSize(mB).length()*.5),A}intersect(A){return this.min.max(A.min),this.max.min(A.max),this.isEmpty()&&this.makeEmpty(),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}applyMatrix4(A){return this.isEmpty()?this:(KQ[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(A),KQ[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(A),KQ[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(A),KQ[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(A),KQ[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(A),KQ[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(A),KQ[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(A),KQ[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(A),this.setFromPoints(KQ),this)}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}}const KQ=[new T,new T,new T,new T,new T,new T,new T,new T],mB=new T,_l=new uC,oo=new T,no=new T,so=new T,pe=new T,Ue=new T,mt=new T,ks=new T,Pl=new T,Zl=new T,Lt=new T;function eG(g,A,I,C,i){for(let B=0,Q=g.length-3;B<=Q;B+=3){Lt.fromArray(g,B);const e=i.x*Math.abs(Lt.x)+i.y*Math.abs(Lt.y)+i.z*Math.abs(Lt.z),t=A.dot(Lt),E=I.dot(Lt),o=C.dot(Lt);if(Math.max(-Math.max(t,E,o),Math.min(t,E,o))>e)return!1}return!0}const E2=new uC,ds=new T,tG=new T;class jg{constructor(A=new T,I=-1){this.isSphere=!0,this.center=A,this.radius=I}set(A,I){return this.center.copy(A),this.radius=I,this}setFromPoints(A,I){const C=this.center;I!==void 0?C.copy(I):E2.setFromPoints(A).getCenter(C);let i=0;for(let B=0,Q=A.length;Bthis.radius*this.radius&&(I.sub(this.center).normalize(),I.multiplyScalar(this.radius).add(this.center)),I}getBoundingBox(A){return this.isEmpty()?(A.makeEmpty(),A):(A.set(this.center,this.center),A.expandByScalar(this.radius),A)}applyMatrix4(A){return this.center.applyMatrix4(A),this.radius=this.radius*A.getMaxScaleOnAxis(),this}translate(A){return this.center.add(A),this}expandByPoint(A){if(this.isEmpty())return this.center.copy(A),this.radius=0,this;ds.subVectors(A,this.center);const I=ds.lengthSq();if(I>this.radius*this.radius){const C=Math.sqrt(I),i=(C-this.radius)*.5;this.center.addScaledVector(ds,i/C),this.radius+=i}return this}union(A){return A.isEmpty()?this:this.isEmpty()?(this.copy(A),this):(this.center.equals(A.center)===!0?this.radius=Math.max(this.radius,A.radius):(tG.subVectors(A.center,this.center).setLength(A.radius),this.expandByPoint(ds.copy(A.center).add(tG)),this.expandByPoint(ds.copy(A.center).sub(tG))),this)}equals(A){return A.center.equals(this.center)&&A.radius===this.radius}clone(){return new this.constructor().copy(this)}}const JQ=new T,EG=new T,Wl=new T,fe=new T,oG=new T,Vl=new T,nG=new T;class lt{constructor(A=new T,I=new T(0,0,-1)){this.origin=A,this.direction=I}set(A,I){return this.origin.copy(A),this.direction.copy(I),this}copy(A){return this.origin.copy(A.origin),this.direction.copy(A.direction),this}at(A,I){return I.copy(this.origin).addScaledVector(this.direction,A)}lookAt(A){return this.direction.copy(A).sub(this.origin).normalize(),this}recast(A){return this.origin.copy(this.at(A,JQ)),this}closestPointToPoint(A,I){I.subVectors(A,this.origin);const C=I.dot(this.direction);return C<0?I.copy(this.origin):I.copy(this.origin).addScaledVector(this.direction,C)}distanceToPoint(A){return Math.sqrt(this.distanceSqToPoint(A))}distanceSqToPoint(A){const I=JQ.subVectors(A,this.origin).dot(this.direction);return I<0?this.origin.distanceToSquared(A):(JQ.copy(this.origin).addScaledVector(this.direction,I),JQ.distanceToSquared(A))}distanceSqToSegment(A,I,C,i){EG.copy(A).add(I).multiplyScalar(.5),Wl.copy(I).sub(A).normalize(),fe.copy(this.origin).sub(EG);const B=A.distanceTo(I)*.5,Q=-this.direction.dot(Wl),e=fe.dot(this.direction),t=-fe.dot(Wl),E=fe.lengthSq(),o=Math.abs(1-Q*Q);let s,r,l,h;if(o>0)if(s=Q*t-e,r=Q*e-t,h=B*o,s>=0)if(r>=-h)if(r<=h){const w=1/o;s*=w,r*=w,l=s*(s+Q*r+2*e)+r*(Q*s+r+2*t)+E}else r=B,s=Math.max(0,-(Q*r+e)),l=-s*s+r*(r+2*t)+E;else r=-B,s=Math.max(0,-(Q*r+e)),l=-s*s+r*(r+2*t)+E;else r<=-h?(s=Math.max(0,-(-Q*B+e)),r=s>0?-B:Math.min(Math.max(-B,-t),B),l=-s*s+r*(r+2*t)+E):r<=h?(s=0,r=Math.min(Math.max(-B,-t),B),l=r*(r+2*t)+E):(s=Math.max(0,-(Q*B+e)),r=s>0?B:Math.min(Math.max(-B,-t),B),l=-s*s+r*(r+2*t)+E);else r=Q>0?-B:B,s=Math.max(0,-(Q*r+e)),l=-s*s+r*(r+2*t)+E;return C&&C.copy(this.origin).addScaledVector(this.direction,s),i&&i.copy(EG).addScaledVector(Wl,r),l}intersectSphere(A,I){JQ.subVectors(A.center,this.origin);const C=JQ.dot(this.direction),i=JQ.dot(JQ)-C*C,B=A.radius*A.radius;if(i>B)return null;const Q=Math.sqrt(B-i),e=C-Q,t=C+Q;return t<0?null:e<0?this.at(t,I):this.at(e,I)}intersectsSphere(A){return this.distanceSqToPoint(A.center)<=A.radius*A.radius}distanceToPlane(A){const I=A.normal.dot(this.direction);if(I===0)return A.distanceToPoint(this.origin)===0?0:null;const C=-(this.origin.dot(A.normal)+A.constant)/I;return C>=0?C:null}intersectPlane(A,I){const C=this.distanceToPlane(A);return C===null?null:this.at(C,I)}intersectsPlane(A){const I=A.distanceToPoint(this.origin);return I===0||A.normal.dot(this.direction)*I<0}intersectBox(A,I){let C,i,B,Q,e,t;const E=1/this.direction.x,o=1/this.direction.y,s=1/this.direction.z,r=this.origin;return E>=0?(C=(A.min.x-r.x)*E,i=(A.max.x-r.x)*E):(C=(A.max.x-r.x)*E,i=(A.min.x-r.x)*E),o>=0?(B=(A.min.y-r.y)*o,Q=(A.max.y-r.y)*o):(B=(A.max.y-r.y)*o,Q=(A.min.y-r.y)*o),C>Q||B>i||((B>C||isNaN(C))&&(C=B),(Q=0?(e=(A.min.z-r.z)*s,t=(A.max.z-r.z)*s):(e=(A.max.z-r.z)*s,t=(A.min.z-r.z)*s),C>t||e>i)||((e>C||C!==C)&&(C=e),(t=0?C:i,I)}intersectsBox(A){return this.intersectBox(A,JQ)!==null}intersectTriangle(A,I,C,i,B){oG.subVectors(I,A),Vl.subVectors(C,A),nG.crossVectors(oG,Vl);let Q=this.direction.dot(nG),e;if(Q>0){if(i)return null;e=1}else if(Q<0)e=-1,Q=-Q;else return null;fe.subVectors(this.origin,A);const t=e*this.direction.dot(Vl.crossVectors(fe,Vl));if(t<0)return null;const E=e*this.direction.dot(oG.cross(fe));if(E<0||t+E>Q)return null;const o=-e*fe.dot(nG);return o<0?null:this.at(o/Q,B)}applyMatrix4(A){return this.origin.applyMatrix4(A),this.direction.transformDirection(A),this}equals(A){return A.origin.equals(this.origin)&&A.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class iI{constructor(A,I,C,i,B,Q,e,t,E,o,s,r,l,h,w,D){iI.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],A!==void 0&&this.set(A,I,C,i,B,Q,e,t,E,o,s,r,l,h,w,D)}set(A,I,C,i,B,Q,e,t,E,o,s,r,l,h,w,D){const c=this.elements;return c[0]=A,c[4]=I,c[8]=C,c[12]=i,c[1]=B,c[5]=Q,c[9]=e,c[13]=t,c[2]=E,c[6]=o,c[10]=s,c[14]=r,c[3]=l,c[7]=h,c[11]=w,c[15]=D,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 iI().fromArray(this.elements)}copy(A){const I=this.elements,C=A.elements;return I[0]=C[0],I[1]=C[1],I[2]=C[2],I[3]=C[3],I[4]=C[4],I[5]=C[5],I[6]=C[6],I[7]=C[7],I[8]=C[8],I[9]=C[9],I[10]=C[10],I[11]=C[11],I[12]=C[12],I[13]=C[13],I[14]=C[14],I[15]=C[15],this}copyPosition(A){const I=this.elements,C=A.elements;return I[12]=C[12],I[13]=C[13],I[14]=C[14],this}setFromMatrix3(A){const I=A.elements;return this.set(I[0],I[3],I[6],0,I[1],I[4],I[7],0,I[2],I[5],I[8],0,0,0,0,1),this}extractBasis(A,I,C){return A.setFromMatrixColumn(this,0),I.setFromMatrixColumn(this,1),C.setFromMatrixColumn(this,2),this}makeBasis(A,I,C){return this.set(A.x,I.x,C.x,0,A.y,I.y,C.y,0,A.z,I.z,C.z,0,0,0,0,1),this}extractRotation(A){const I=this.elements,C=A.elements,i=1/ao.setFromMatrixColumn(A,0).length(),B=1/ao.setFromMatrixColumn(A,1).length(),Q=1/ao.setFromMatrixColumn(A,2).length();return I[0]=C[0]*i,I[1]=C[1]*i,I[2]=C[2]*i,I[3]=0,I[4]=C[4]*B,I[5]=C[5]*B,I[6]=C[6]*B,I[7]=0,I[8]=C[8]*Q,I[9]=C[9]*Q,I[10]=C[10]*Q,I[11]=0,I[12]=0,I[13]=0,I[14]=0,I[15]=1,this}makeRotationFromEuler(A){const I=this.elements,C=A.x,i=A.y,B=A.z,Q=Math.cos(C),e=Math.sin(C),t=Math.cos(i),E=Math.sin(i),o=Math.cos(B),s=Math.sin(B);if(A.order==="XYZ"){const r=Q*o,l=Q*s,h=e*o,w=e*s;I[0]=t*o,I[4]=-t*s,I[8]=E,I[1]=l+h*E,I[5]=r-w*E,I[9]=-e*t,I[2]=w-r*E,I[6]=h+l*E,I[10]=Q*t}else if(A.order==="YXZ"){const r=t*o,l=t*s,h=E*o,w=E*s;I[0]=r+w*e,I[4]=h*e-l,I[8]=Q*E,I[1]=Q*s,I[5]=Q*o,I[9]=-e,I[2]=l*e-h,I[6]=w+r*e,I[10]=Q*t}else if(A.order==="ZXY"){const r=t*o,l=t*s,h=E*o,w=E*s;I[0]=r-w*e,I[4]=-Q*s,I[8]=h+l*e,I[1]=l+h*e,I[5]=Q*o,I[9]=w-r*e,I[2]=-Q*E,I[6]=e,I[10]=Q*t}else if(A.order==="ZYX"){const r=Q*o,l=Q*s,h=e*o,w=e*s;I[0]=t*o,I[4]=h*E-l,I[8]=r*E+w,I[1]=t*s,I[5]=w*E+r,I[9]=l*E-h,I[2]=-E,I[6]=e*t,I[10]=Q*t}else if(A.order==="YZX"){const r=Q*t,l=Q*E,h=e*t,w=e*E;I[0]=t*o,I[4]=w-r*s,I[8]=h*s+l,I[1]=s,I[5]=Q*o,I[9]=-e*o,I[2]=-E*o,I[6]=l*s+h,I[10]=r-w*s}else if(A.order==="XZY"){const r=Q*t,l=Q*E,h=e*t,w=e*E;I[0]=t*o,I[4]=-s,I[8]=E*o,I[1]=r*s+w,I[5]=Q*o,I[9]=l*s-h,I[2]=h*s-l,I[6]=e*o,I[10]=w*s+r}return I[3]=0,I[7]=0,I[11]=0,I[12]=0,I[13]=0,I[14]=0,I[15]=1,this}makeRotationFromQuaternion(A){return this.compose(o2,A,n2)}lookAt(A,I,C){const i=this.elements;return _i.subVectors(A,I),_i.lengthSq()===0&&(_i.z=1),_i.normalize(),Ne.crossVectors(C,_i),Ne.lengthSq()===0&&(Math.abs(C.z)===1?_i.x+=1e-4:_i.z+=1e-4,_i.normalize(),Ne.crossVectors(C,_i)),Ne.normalize(),jl.crossVectors(_i,Ne),i[0]=Ne.x,i[4]=jl.x,i[8]=_i.x,i[1]=Ne.y,i[5]=jl.y,i[9]=_i.y,i[2]=Ne.z,i[6]=jl.z,i[10]=_i.z,this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,I){const C=A.elements,i=I.elements,B=this.elements,Q=C[0],e=C[4],t=C[8],E=C[12],o=C[1],s=C[5],r=C[9],l=C[13],h=C[2],w=C[6],D=C[10],c=C[14],G=C[3],y=C[7],k=C[11],F=C[15],U=i[0],f=i[4],K=i[8],N=i[12],p=i[1],m=i[5],q=i[9],L=i[13],_=i[2],IA=i[6],CA=i[10],lA=i[14],H=i[3],O=i[7],v=i[11],Y=i[15];return B[0]=Q*U+e*p+t*_+E*H,B[4]=Q*f+e*m+t*IA+E*O,B[8]=Q*K+e*q+t*CA+E*v,B[12]=Q*N+e*L+t*lA+E*Y,B[1]=o*U+s*p+r*_+l*H,B[5]=o*f+s*m+r*IA+l*O,B[9]=o*K+s*q+r*CA+l*v,B[13]=o*N+s*L+r*lA+l*Y,B[2]=h*U+w*p+D*_+c*H,B[6]=h*f+w*m+D*IA+c*O,B[10]=h*K+w*q+D*CA+c*v,B[14]=h*N+w*L+D*lA+c*Y,B[3]=G*U+y*p+k*_+F*H,B[7]=G*f+y*m+k*IA+F*O,B[11]=G*K+y*q+k*CA+F*v,B[15]=G*N+y*L+k*lA+F*Y,this}multiplyScalar(A){const I=this.elements;return I[0]*=A,I[4]*=A,I[8]*=A,I[12]*=A,I[1]*=A,I[5]*=A,I[9]*=A,I[13]*=A,I[2]*=A,I[6]*=A,I[10]*=A,I[14]*=A,I[3]*=A,I[7]*=A,I[11]*=A,I[15]*=A,this}determinant(){const A=this.elements,I=A[0],C=A[4],i=A[8],B=A[12],Q=A[1],e=A[5],t=A[9],E=A[13],o=A[2],s=A[6],r=A[10],l=A[14],h=A[3],w=A[7],D=A[11],c=A[15];return h*(+B*t*s-i*E*s-B*e*r+C*E*r+i*e*l-C*t*l)+w*(+I*t*l-I*E*r+B*Q*r-i*Q*l+i*E*o-B*t*o)+D*(+I*E*s-I*e*l-B*Q*s+C*Q*l+B*e*o-C*E*o)+c*(-i*e*o-I*t*s+I*e*r+i*Q*s-C*Q*r+C*t*o)}transpose(){const A=this.elements;let I;return I=A[1],A[1]=A[4],A[4]=I,I=A[2],A[2]=A[8],A[8]=I,I=A[6],A[6]=A[9],A[9]=I,I=A[3],A[3]=A[12],A[12]=I,I=A[7],A[7]=A[13],A[13]=I,I=A[11],A[11]=A[14],A[14]=I,this}setPosition(A,I,C){const i=this.elements;return A.isVector3?(i[12]=A.x,i[13]=A.y,i[14]=A.z):(i[12]=A,i[13]=I,i[14]=C),this}invert(){const A=this.elements,I=A[0],C=A[1],i=A[2],B=A[3],Q=A[4],e=A[5],t=A[6],E=A[7],o=A[8],s=A[9],r=A[10],l=A[11],h=A[12],w=A[13],D=A[14],c=A[15],G=s*D*E-w*r*E+w*t*l-e*D*l-s*t*c+e*r*c,y=h*r*E-o*D*E-h*t*l+Q*D*l+o*t*c-Q*r*c,k=o*w*E-h*s*E+h*e*l-Q*w*l-o*e*c+Q*s*c,F=h*s*t-o*w*t-h*e*r+Q*w*r+o*e*D-Q*s*D,U=I*G+C*y+i*k+B*F;if(U===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const f=1/U;return A[0]=G*f,A[1]=(w*r*B-s*D*B-w*i*l+C*D*l+s*i*c-C*r*c)*f,A[2]=(e*D*B-w*t*B+w*i*E-C*D*E-e*i*c+C*t*c)*f,A[3]=(s*t*B-e*r*B-s*i*E+C*r*E+e*i*l-C*t*l)*f,A[4]=y*f,A[5]=(o*D*B-h*r*B+h*i*l-I*D*l-o*i*c+I*r*c)*f,A[6]=(h*t*B-Q*D*B-h*i*E+I*D*E+Q*i*c-I*t*c)*f,A[7]=(Q*r*B-o*t*B+o*i*E-I*r*E-Q*i*l+I*t*l)*f,A[8]=k*f,A[9]=(h*s*B-o*w*B-h*C*l+I*w*l+o*C*c-I*s*c)*f,A[10]=(Q*w*B-h*e*B+h*C*E-I*w*E-Q*C*c+I*e*c)*f,A[11]=(o*e*B-Q*s*B-o*C*E+I*s*E+Q*C*l-I*e*l)*f,A[12]=F*f,A[13]=(o*w*i-h*s*i+h*C*r-I*w*r-o*C*D+I*s*D)*f,A[14]=(h*e*i-Q*w*i-h*C*t+I*w*t+Q*C*D-I*e*D)*f,A[15]=(Q*s*i-o*e*i+o*C*t-I*s*t-Q*C*r+I*e*r)*f,this}scale(A){const I=this.elements,C=A.x,i=A.y,B=A.z;return I[0]*=C,I[4]*=i,I[8]*=B,I[1]*=C,I[5]*=i,I[9]*=B,I[2]*=C,I[6]*=i,I[10]*=B,I[3]*=C,I[7]*=i,I[11]*=B,this}getMaxScaleOnAxis(){const A=this.elements,I=A[0]*A[0]+A[1]*A[1]+A[2]*A[2],C=A[4]*A[4]+A[5]*A[5]+A[6]*A[6],i=A[8]*A[8]+A[9]*A[9]+A[10]*A[10];return Math.sqrt(Math.max(I,C,i))}makeTranslation(A,I,C){return A.isVector3?this.set(1,0,0,A.x,0,1,0,A.y,0,0,1,A.z,0,0,0,1):this.set(1,0,0,A,0,1,0,I,0,0,1,C,0,0,0,1),this}makeRotationX(A){const I=Math.cos(A),C=Math.sin(A);return this.set(1,0,0,0,0,I,-C,0,0,C,I,0,0,0,0,1),this}makeRotationY(A){const I=Math.cos(A),C=Math.sin(A);return this.set(I,0,C,0,0,1,0,0,-C,0,I,0,0,0,0,1),this}makeRotationZ(A){const I=Math.cos(A),C=Math.sin(A);return this.set(I,-C,0,0,C,I,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(A,I){const C=Math.cos(I),i=Math.sin(I),B=1-C,Q=A.x,e=A.y,t=A.z,E=B*Q,o=B*e;return this.set(E*Q+C,E*e-i*t,E*t+i*e,0,E*e+i*t,o*e+C,o*t-i*Q,0,E*t-i*e,o*t+i*Q,B*t*t+C,0,0,0,0,1),this}makeScale(A,I,C){return this.set(A,0,0,0,0,I,0,0,0,0,C,0,0,0,0,1),this}makeShear(A,I,C,i,B,Q){return this.set(1,C,B,0,A,1,Q,0,I,i,1,0,0,0,0,1),this}compose(A,I,C){const i=this.elements,B=I._x,Q=I._y,e=I._z,t=I._w,E=B+B,o=Q+Q,s=e+e,r=B*E,l=B*o,h=B*s,w=Q*o,D=Q*s,c=e*s,G=t*E,y=t*o,k=t*s,F=C.x,U=C.y,f=C.z;return i[0]=(1-(w+c))*F,i[1]=(l+k)*F,i[2]=(h-y)*F,i[3]=0,i[4]=(l-k)*U,i[5]=(1-(r+c))*U,i[6]=(D+G)*U,i[7]=0,i[8]=(h+y)*f,i[9]=(D-G)*f,i[10]=(1-(r+w))*f,i[11]=0,i[12]=A.x,i[13]=A.y,i[14]=A.z,i[15]=1,this}decompose(A,I,C){const i=this.elements;let B=ao.set(i[0],i[1],i[2]).length();const Q=ao.set(i[4],i[5],i[6]).length(),e=ao.set(i[8],i[9],i[10]).length();this.determinant()<0&&(B=-B),A.x=i[12],A.y=i[13],A.z=i[14],LB.copy(this);const E=1/B,o=1/Q,s=1/e;return LB.elements[0]*=E,LB.elements[1]*=E,LB.elements[2]*=E,LB.elements[4]*=o,LB.elements[5]*=o,LB.elements[6]*=o,LB.elements[8]*=s,LB.elements[9]*=s,LB.elements[10]*=s,I.setFromRotationMatrix(LB),C.x=B,C.y=Q,C.z=e,this}makePerspective(A,I,C,i,B,Q,e=aQ){const t=this.elements,E=2*B/(I-A),o=2*B/(C-i),s=(I+A)/(I-A),r=(C+i)/(C-i);let l,h;if(e===aQ)l=-(Q+B)/(Q-B),h=-2*Q*B/(Q-B);else if(e===Za)l=-Q/(Q-B),h=-Q*B/(Q-B);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+e);return t[0]=E,t[4]=0,t[8]=s,t[12]=0,t[1]=0,t[5]=o,t[9]=r,t[13]=0,t[2]=0,t[6]=0,t[10]=l,t[14]=h,t[3]=0,t[7]=0,t[11]=-1,t[15]=0,this}makeOrthographic(A,I,C,i,B,Q,e=aQ){const t=this.elements,E=1/(I-A),o=1/(C-i),s=1/(Q-B),r=(I+A)*E,l=(C+i)*o;let h,w;if(e===aQ)h=(Q+B)*s,w=-2*s;else if(e===Za)h=B*s,w=-1*s;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+e);return t[0]=2*E,t[4]=0,t[8]=0,t[12]=-r,t[1]=0,t[5]=2*o,t[9]=0,t[13]=-l,t[2]=0,t[6]=0,t[10]=w,t[14]=-h,t[3]=0,t[7]=0,t[11]=0,t[15]=1,this}equals(A){const I=this.elements,C=A.elements;for(let i=0;i<16;i++)if(I[i]!==C[i])return!1;return!0}fromArray(A,I=0){for(let C=0;C<16;C++)this.elements[C]=A[C+I];return this}toArray(A=[],I=0){const C=this.elements;return A[I]=C[0],A[I+1]=C[1],A[I+2]=C[2],A[I+3]=C[3],A[I+4]=C[4],A[I+5]=C[5],A[I+6]=C[6],A[I+7]=C[7],A[I+8]=C[8],A[I+9]=C[9],A[I+10]=C[10],A[I+11]=C[11],A[I+12]=C[12],A[I+13]=C[13],A[I+14]=C[14],A[I+15]=C[15],A}}const ao=new T,LB=new iI,o2=new T(0,0,0),n2=new T(1,1,1),Ne=new T,jl=new T,_i=new T,bU=new iI,OU=new Bg;class mC{constructor(A=0,I=0,C=0,i=mC.DEFAULT_ORDER){this.isEuler=!0,this._x=A,this._y=I,this._z=C,this._order=i}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get order(){return this._order}set order(A){this._order=A,this._onChangeCallback()}set(A,I,C,i=this._order){return this._x=A,this._y=I,this._z=C,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(A){return this._x=A._x,this._y=A._y,this._z=A._z,this._order=A._order,this._onChangeCallback(),this}setFromRotationMatrix(A,I=this._order,C=!0){const i=A.elements,B=i[0],Q=i[4],e=i[8],t=i[1],E=i[5],o=i[9],s=i[2],r=i[6],l=i[10];switch(I){case"XYZ":this._y=Math.asin(Hg(e,-1,1)),Math.abs(e)<.9999999?(this._x=Math.atan2(-o,l),this._z=Math.atan2(-Q,B)):(this._x=Math.atan2(r,E),this._z=0);break;case"YXZ":this._x=Math.asin(-Hg(o,-1,1)),Math.abs(o)<.9999999?(this._y=Math.atan2(e,l),this._z=Math.atan2(t,E)):(this._y=Math.atan2(-s,B),this._z=0);break;case"ZXY":this._x=Math.asin(Hg(r,-1,1)),Math.abs(r)<.9999999?(this._y=Math.atan2(-s,l),this._z=Math.atan2(-Q,E)):(this._y=0,this._z=Math.atan2(t,B));break;case"ZYX":this._y=Math.asin(-Hg(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(r,l),this._z=Math.atan2(t,B)):(this._x=0,this._z=Math.atan2(-Q,E));break;case"YZX":this._z=Math.asin(Hg(t,-1,1)),Math.abs(t)<.9999999?(this._x=Math.atan2(-o,E),this._y=Math.atan2(-s,B)):(this._x=0,this._y=Math.atan2(e,l));break;case"XZY":this._z=Math.asin(-Hg(Q,-1,1)),Math.abs(Q)<.9999999?(this._x=Math.atan2(r,E),this._y=Math.atan2(e,B)):(this._x=Math.atan2(-o,l),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+I)}return this._order=I,C===!0&&this._onChangeCallback(),this}setFromQuaternion(A,I,C){return bU.makeRotationFromQuaternion(A),this.setFromRotationMatrix(bU,I,C)}setFromVector3(A,I=this._order){return this.set(A.x,A.y,A.z,I)}reorder(A){return OU.setFromEuler(this),this.setFromQuaternion(OU,A)}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._order===this._order}fromArray(A){return this._x=A[0],this._y=A[1],this._z=A[2],A[3]!==void 0&&(this._order=A[3]),this._onChangeCallback(),this}toArray(A=[],I=0){return A[I]=this._x,A[I+1]=this._y,A[I+2]=this._z,A[I+3]=this._order,A}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}mC.DEFAULT_ORDER="XYZ";class DE{constructor(){this.mask=1}set(A){this.mask=(1<>>0}enable(A){this.mask|=1<1){for(let I=0;I1){for(let C=0;C0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.visibility=this._visibility,i.active=this._active,i.bounds=this._bounds.map(e=>({boxInitialized:e.boxInitialized,boxMin:e.box.min.toArray(),boxMax:e.box.max.toArray(),sphereInitialized:e.sphereInitialized,sphereRadius:e.sphere.radius,sphereCenter:e.sphere.center.toArray()})),i.maxGeometryCount=this._maxGeometryCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.geometryCount=this._geometryCount,i.matricesTexture=this._matricesTexture.toJSON(A),this.boundingSphere!==null&&(i.boundingSphere={center:i.boundingSphere.center.toArray(),radius:i.boundingSphere.radius}),this.boundingBox!==null&&(i.boundingBox={min:i.boundingBox.min.toArray(),max:i.boundingBox.max.toArray()}));function B(e,t){return e[t.uuid]===void 0&&(e[t.uuid]=t.toJSON(A)),t.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(A).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(A).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=B(A.geometries,this.geometry);const e=this.geometry.parameters;if(e!==void 0&&e.shapes!==void 0){const t=e.shapes;if(Array.isArray(t))for(let E=0,o=t.length;E0){i.children=[];for(let e=0;e0){i.animations=[];for(let e=0;e0&&(C.geometries=e),t.length>0&&(C.materials=t),E.length>0&&(C.textures=E),o.length>0&&(C.images=o),s.length>0&&(C.shapes=s),r.length>0&&(C.skeletons=r),l.length>0&&(C.animations=l),h.length>0&&(C.nodes=h)}return C.object=i,C;function Q(e){const t=[];for(const E in e){const o=e[E];delete o.metadata,t.push(o)}return t}}clone(A){return new this.constructor().copy(this,A)}copy(A,I=!0){if(this.name=A.name,this.up.copy(A.up),this.position.copy(A.position),this.rotation.order=A.rotation.order,this.quaternion.copy(A.quaternion),this.scale.copy(A.scale),this.matrix.copy(A.matrix),this.matrixWorld.copy(A.matrixWorld),this.matrixAutoUpdate=A.matrixAutoUpdate,this.matrixWorldAutoUpdate=A.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=A.matrixWorldNeedsUpdate,this.layers.mask=A.layers.mask,this.visible=A.visible,this.castShadow=A.castShadow,this.receiveShadow=A.receiveShadow,this.frustumCulled=A.frustumCulled,this.renderOrder=A.renderOrder,this.animations=A.animations.slice(),this.userData=JSON.parse(JSON.stringify(A.userData)),I===!0)for(let C=0;C0?i.multiplyScalar(1/Math.sqrt(B)):i.set(0,0,0)}static getBarycoord(A,I,C,i,B){YB.subVectors(i,I),mQ.subVectors(C,I),aG.subVectors(A,I);const Q=YB.dot(YB),e=YB.dot(mQ),t=YB.dot(aG),E=mQ.dot(mQ),o=mQ.dot(aG),s=Q*E-e*e;if(s===0)return B.set(0,0,0),null;const r=1/s,l=(E*t-e*o)*r,h=(Q*o-e*t)*r;return B.set(1-l-h,h,l)}static containsPoint(A,I,C,i){return this.getBarycoord(A,I,C,i,LQ)===null?!1:LQ.x>=0&&LQ.y>=0&&LQ.x+LQ.y<=1}static getInterpolation(A,I,C,i,B,Q,e,t){return this.getBarycoord(A,I,C,i,LQ)===null?(t.x=0,t.y=0,"z"in t&&(t.z=0),"w"in t&&(t.w=0),null):(t.setScalar(0),t.addScaledVector(B,LQ.x),t.addScaledVector(Q,LQ.y),t.addScaledVector(e,LQ.z),t)}static isFrontFacing(A,I,C,i){return YB.subVectors(C,I),mQ.subVectors(A,I),YB.cross(mQ).dot(i)<0}set(A,I,C){return this.a.copy(A),this.b.copy(I),this.c.copy(C),this}setFromPointsAndIndices(A,I,C,i){return this.a.copy(A[I]),this.b.copy(A[C]),this.c.copy(A[i]),this}setFromAttributeAndIndices(A,I,C,i){return this.a.fromBufferAttribute(A,I),this.b.fromBufferAttribute(A,C),this.c.fromBufferAttribute(A,i),this}clone(){return new this.constructor().copy(this)}copy(A){return this.a.copy(A.a),this.b.copy(A.b),this.c.copy(A.c),this}getArea(){return YB.subVectors(this.c,this.b),mQ.subVectors(this.a,this.b),YB.cross(mQ).length()*.5}getMidpoint(A){return A.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(A){return Vi.getNormal(this.a,this.b,this.c,A)}getPlane(A){return A.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(A,I){return Vi.getBarycoord(A,this.a,this.b,this.c,I)}getInterpolation(A,I,C,i,B){return Vi.getInterpolation(A,this.a,this.b,this.c,I,C,i,B)}containsPoint(A){return Vi.containsPoint(A,this.a,this.b,this.c)}isFrontFacing(A){return Vi.isFrontFacing(this.a,this.b,this.c,A)}intersectsBox(A){return A.intersectsTriangle(this)}closestPointToPoint(A,I){const C=this.a,i=this.b,B=this.c;let Q,e;co.subVectors(i,C),ho.subVectors(B,C),rG.subVectors(A,C);const t=co.dot(rG),E=ho.dot(rG);if(t<=0&&E<=0)return I.copy(C);lG.subVectors(A,i);const o=co.dot(lG),s=ho.dot(lG);if(o>=0&&s<=o)return I.copy(i);const r=t*s-o*E;if(r<=0&&t>=0&&o<=0)return Q=t/(t-o),I.copy(C).addScaledVector(co,Q);cG.subVectors(A,B);const l=co.dot(cG),h=ho.dot(cG);if(h>=0&&l<=h)return I.copy(B);const w=l*E-t*h;if(w<=0&&E>=0&&h<=0)return e=E/(E-h),I.copy(C).addScaledVector(ho,e);const D=o*h-l*s;if(D<=0&&s-o>=0&&l-h>=0)return jU.subVectors(B,i),e=(s-o)/(s-o+(l-h)),I.copy(i).addScaledVector(jU,e);const c=1/(D+w+r);return Q=w*c,e=r*c,I.copy(C).addScaledVector(co,Q).addScaledVector(ho,e)}equals(A){return A.a.equals(this.a)&&A.b.equals(this.b)&&A.c.equals(this.c)}}const sq={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},Fe={h:0,s:0,l:0},zl={h:0,s:0,l:0};function hG(g,A,I){return I<0&&(I+=1),I>1&&(I-=1),I<1/6?g+(A-g)*6*I:I<1/2?A:I<2/3?g+(A-g)*6*(2/3-I):g}class ZA{constructor(A,I,C){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(A,I,C)}set(A,I,C){if(I===void 0&&C===void 0){const i=A;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(A,I,C);return this}setScalar(A){return this.r=A,this.g=A,this.b=A,this}setHex(A,I=FC){return A=Math.floor(A),this.r=(A>>16&255)/255,this.g=(A>>8&255)/255,this.b=(A&255)/255,Ag.toWorkingColorSpace(this,I),this}setRGB(A,I,C,i=Ag.workingColorSpace){return this.r=A,this.g=I,this.b=C,Ag.toWorkingColorSpace(this,i),this}setHSL(A,I,C,i=Ag.workingColorSpace){if(A=fd(A,1),I=Hg(I,0,1),C=Hg(C,0,1),I===0)this.r=this.g=this.b=C;else{const B=C<=.5?C*(1+I):C+I-C*I,Q=2*C-B;this.r=hG(Q,B,A+1/3),this.g=hG(Q,B,A),this.b=hG(Q,B,A-1/3)}return Ag.toWorkingColorSpace(this,i),this}setStyle(A,I=FC){function C(B){B!==void 0&&parseFloat(B)<1&&console.warn("THREE.Color: Alpha component of "+A+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(A)){let B;const Q=i[1],e=i[2];switch(Q){case"rgb":case"rgba":if(B=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(e))return C(B[4]),this.setRGB(Math.min(255,parseInt(B[1],10))/255,Math.min(255,parseInt(B[2],10))/255,Math.min(255,parseInt(B[3],10))/255,I);if(B=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(e))return C(B[4]),this.setRGB(Math.min(100,parseInt(B[1],10))/100,Math.min(100,parseInt(B[2],10))/100,Math.min(100,parseInt(B[3],10))/100,I);break;case"hsl":case"hsla":if(B=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(e))return C(B[4]),this.setHSL(parseFloat(B[1])/360,parseFloat(B[2])/100,parseFloat(B[3])/100,I);break;default:console.warn("THREE.Color: Unknown color model "+A)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(A)){const B=i[1],Q=B.length;if(Q===3)return this.setRGB(parseInt(B.charAt(0),16)/15,parseInt(B.charAt(1),16)/15,parseInt(B.charAt(2),16)/15,I);if(Q===6)return this.setHex(parseInt(B,16),I);console.warn("THREE.Color: Invalid hex color "+A)}else if(A&&A.length>0)return this.setColorName(A,I);return this}setColorName(A,I=FC){const C=sq[A.toLowerCase()];return C!==void 0?this.setHex(C,I):console.warn("THREE.Color: Unknown color "+A),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(A){return this.r=A.r,this.g=A.g,this.b=A.b,this}copySRGBToLinear(A){return this.r=En(A.r),this.g=En(A.g),this.b=En(A.b),this}copyLinearToSRGB(A){return this.r=iG(A.r),this.g=iG(A.g),this.b=iG(A.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(A=FC){return Ag.fromWorkingColorSpace($C.copy(this),A),Math.round(Hg($C.r*255,0,255))*65536+Math.round(Hg($C.g*255,0,255))*256+Math.round(Hg($C.b*255,0,255))}getHexString(A=FC){return("000000"+this.getHex(A).toString(16)).slice(-6)}getHSL(A,I=Ag.workingColorSpace){Ag.fromWorkingColorSpace($C.copy(this),I);const C=$C.r,i=$C.g,B=$C.b,Q=Math.max(C,i,B),e=Math.min(C,i,B);let t,E;const o=(e+Q)/2;if(e===Q)t=0,E=0;else{const s=Q-e;switch(E=o<=.5?s/(Q+e):s/(2-Q-e),Q){case C:t=(i-B)/s+(i0!=A>0&&this.version++,this._alphaTest=A}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(A){if(A!==void 0)for(const I in A){const C=A[I];if(C===void 0){console.warn(`THREE.Material: parameter '${I}' has value of undefined.`);continue}const i=this[I];if(i===void 0){console.warn(`THREE.Material: '${I}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(C):i&&i.isVector3&&C&&C.isVector3?i.copy(C):this[I]=C}}toJSON(A){const I=A===void 0||typeof A=="string";I&&(A={textures:{},images:{}});const C={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};C.uuid=this.uuid,C.type=this.type,this.name!==""&&(C.name=this.name),this.color&&this.color.isColor&&(C.color=this.color.getHex()),this.roughness!==void 0&&(C.roughness=this.roughness),this.metalness!==void 0&&(C.metalness=this.metalness),this.sheen!==void 0&&(C.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(C.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(C.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(C.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(C.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(C.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(C.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(C.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(C.shininess=this.shininess),this.clearcoat!==void 0&&(C.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(C.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(C.clearcoatMap=this.clearcoatMap.toJSON(A).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(C.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(A).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(C.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(A).uuid,C.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(C.dispersion=this.dispersion),this.iridescence!==void 0&&(C.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(C.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(C.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(C.iridescenceMap=this.iridescenceMap.toJSON(A).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(C.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(A).uuid),this.anisotropy!==void 0&&(C.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(C.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(C.anisotropyMap=this.anisotropyMap.toJSON(A).uuid),this.map&&this.map.isTexture&&(C.map=this.map.toJSON(A).uuid),this.matcap&&this.matcap.isTexture&&(C.matcap=this.matcap.toJSON(A).uuid),this.alphaMap&&this.alphaMap.isTexture&&(C.alphaMap=this.alphaMap.toJSON(A).uuid),this.lightMap&&this.lightMap.isTexture&&(C.lightMap=this.lightMap.toJSON(A).uuid,C.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(C.aoMap=this.aoMap.toJSON(A).uuid,C.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(C.bumpMap=this.bumpMap.toJSON(A).uuid,C.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(C.normalMap=this.normalMap.toJSON(A).uuid,C.normalMapType=this.normalMapType,C.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(C.displacementMap=this.displacementMap.toJSON(A).uuid,C.displacementScale=this.displacementScale,C.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(C.roughnessMap=this.roughnessMap.toJSON(A).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(C.metalnessMap=this.metalnessMap.toJSON(A).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(C.emissiveMap=this.emissiveMap.toJSON(A).uuid),this.specularMap&&this.specularMap.isTexture&&(C.specularMap=this.specularMap.toJSON(A).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(C.specularIntensityMap=this.specularIntensityMap.toJSON(A).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(C.specularColorMap=this.specularColorMap.toJSON(A).uuid),this.envMap&&this.envMap.isTexture&&(C.envMap=this.envMap.toJSON(A).uuid,this.combine!==void 0&&(C.combine=this.combine)),this.envMapRotation!==void 0&&(C.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(C.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(C.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(C.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(C.gradientMap=this.gradientMap.toJSON(A).uuid),this.transmission!==void 0&&(C.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(C.transmissionMap=this.transmissionMap.toJSON(A).uuid),this.thickness!==void 0&&(C.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(C.thicknessMap=this.thicknessMap.toJSON(A).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(C.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(C.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(C.size=this.size),this.shadowSide!==null&&(C.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(C.sizeAttenuation=this.sizeAttenuation),this.blending!==rE&&(C.blending=this.blending),this.side!==pB&&(C.side=this.side),this.vertexColors===!0&&(C.vertexColors=!0),this.opacity<1&&(C.opacity=this.opacity),this.transparent===!0&&(C.transparent=!0),this.blendSrc!==bh&&(C.blendSrc=this.blendSrc),this.blendDst!==Oh&&(C.blendDst=this.blendDst),this.blendEquation!==Oe&&(C.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(C.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(C.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(C.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(C.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(C.blendAlpha=this.blendAlpha),this.depthFunc!==Ha&&(C.depthFunc=this.depthFunc),this.depthTest===!1&&(C.depthTest=this.depthTest),this.depthWrite===!1&&(C.depthWrite=this.depthWrite),this.colorWrite===!1&&(C.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(C.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==ju&&(C.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(C.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(C.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==AE&&(C.stencilFail=this.stencilFail),this.stencilZFail!==AE&&(C.stencilZFail=this.stencilZFail),this.stencilZPass!==AE&&(C.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(C.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(C.rotation=this.rotation),this.polygonOffset===!0&&(C.polygonOffset=!0),this.polygonOffsetFactor!==0&&(C.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(C.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(C.linewidth=this.linewidth),this.dashSize!==void 0&&(C.dashSize=this.dashSize),this.gapSize!==void 0&&(C.gapSize=this.gapSize),this.scale!==void 0&&(C.scale=this.scale),this.dithering===!0&&(C.dithering=!0),this.alphaTest>0&&(C.alphaTest=this.alphaTest),this.alphaHash===!0&&(C.alphaHash=!0),this.alphaToCoverage===!0&&(C.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(C.premultipliedAlpha=!0),this.forceSinglePass===!0&&(C.forceSinglePass=!0),this.wireframe===!0&&(C.wireframe=!0),this.wireframeLinewidth>1&&(C.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(C.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(C.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(C.flatShading=!0),this.visible===!1&&(C.visible=!1),this.toneMapped===!1&&(C.toneMapped=!1),this.fog===!1&&(C.fog=!1),Object.keys(this.userData).length>0&&(C.userData=this.userData);function i(B){const Q=[];for(const e in B){const t=B[e];delete t.metadata,Q.push(t)}return Q}if(I){const B=i(A.textures),Q=i(A.images);B.length>0&&(C.textures=B),Q.length>0&&(C.images=Q)}return C}clone(){return new this.constructor().copy(this)}copy(A){this.name=A.name,this.blending=A.blending,this.side=A.side,this.vertexColors=A.vertexColors,this.opacity=A.opacity,this.transparent=A.transparent,this.blendSrc=A.blendSrc,this.blendDst=A.blendDst,this.blendEquation=A.blendEquation,this.blendSrcAlpha=A.blendSrcAlpha,this.blendDstAlpha=A.blendDstAlpha,this.blendEquationAlpha=A.blendEquationAlpha,this.blendColor.copy(A.blendColor),this.blendAlpha=A.blendAlpha,this.depthFunc=A.depthFunc,this.depthTest=A.depthTest,this.depthWrite=A.depthWrite,this.stencilWriteMask=A.stencilWriteMask,this.stencilFunc=A.stencilFunc,this.stencilRef=A.stencilRef,this.stencilFuncMask=A.stencilFuncMask,this.stencilFail=A.stencilFail,this.stencilZFail=A.stencilZFail,this.stencilZPass=A.stencilZPass,this.stencilWrite=A.stencilWrite;const I=A.clippingPlanes;let C=null;if(I!==null){const i=I.length;C=new Array(i);for(let B=0;B!==i;++B)C[B]=I[B].clone()}return this.clippingPlanes=C,this.clipIntersection=A.clipIntersection,this.clipShadows=A.clipShadows,this.shadowSide=A.shadowSide,this.colorWrite=A.colorWrite,this.precision=A.precision,this.polygonOffset=A.polygonOffset,this.polygonOffsetFactor=A.polygonOffsetFactor,this.polygonOffsetUnits=A.polygonOffsetUnits,this.dithering=A.dithering,this.alphaTest=A.alphaTest,this.alphaHash=A.alphaHash,this.alphaToCoverage=A.alphaToCoverage,this.premultipliedAlpha=A.premultipliedAlpha,this.forceSinglePass=A.forceSinglePass,this.visible=A.visible,this.toneMapped=A.toneMapped,this.userData=JSON.parse(JSON.stringify(A.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(A){A===!0&&this.version++}}class Vg extends Gg{constructor(A){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new ZA(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 mC,this.combine=lr,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.envMapRotation.copy(A.envMapRotation),this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.fog=A.fog,this}}const _Q=h2();function h2(){const g=new ArrayBuffer(4),A=new Float32Array(g),I=new Uint32Array(g),C=new Uint32Array(512),i=new Uint32Array(512);for(let t=0;t<256;++t){const E=t-127;E<-27?(C[t]=0,C[t|256]=32768,i[t]=24,i[t|256]=24):E<-14?(C[t]=1024>>-E-14,C[t|256]=1024>>-E-14|32768,i[t]=-E-1,i[t|256]=-E-1):E<=15?(C[t]=E+15<<10,C[t|256]=E+15<<10|32768,i[t]=13,i[t|256]=13):E<128?(C[t]=31744,C[t|256]=64512,i[t]=24,i[t|256]=24):(C[t]=31744,C[t|256]=64512,i[t]=13,i[t|256]=13)}const B=new Uint32Array(2048),Q=new Uint32Array(64),e=new Uint32Array(64);for(let t=1;t<1024;++t){let E=t<<13,o=0;for(;!(E&8388608);)E<<=1,o-=8388608;E&=-8388609,o+=947912704,B[t]=E|o}for(let t=1024;t<2048;++t)B[t]=939524096+(t-1024<<13);for(let t=1;t<31;++t)Q[t]=t<<23;Q[31]=1199570944,Q[32]=2147483648;for(let t=33;t<63;++t)Q[t]=2147483648+(t-32<<23);Q[63]=3347054592;for(let t=1;t<64;++t)t!==32&&(e[t]=1024);return{floatView:A,uint32View:I,baseTable:C,shiftTable:i,mantissaTable:B,exponentTable:Q,offsetTable:e}}function pi(g){Math.abs(g)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),g=Hg(g,-65504,65504),_Q.floatView[0]=g;const A=_Q.uint32View[0],I=A>>23&511;return _Q.baseTable[I]+((A&8388607)>>_Q.shiftTable[I])}function Xs(g){const A=g>>10;return _Q.uint32View[0]=_Q.mantissaTable[_Q.offsetTable[A]+(g&1023)]+_Q.exponentTable[A],_Q.floatView[0]}const D2={toHalfFloat:pi,fromHalfFloat:Xs},IC=new T,$l=new mA;class yI{constructor(A,I,C=!1){if(Array.isArray(A))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=A,this.itemSize=I,this.count=A!==void 0?A.length/I:0,this.normalized=C,this.usage=Pa,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=yB,this.version=0}onUploadCallback(){}set needsUpdate(A){A===!0&&this.version++}get updateRange(){return Eq("THREE.BufferAttribute: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(A){return this.usage=A,this}addUpdateRange(A,I){this.updateRanges.push({start:A,count:I})}clearUpdateRanges(){this.updateRanges.length=0}copy(A){return this.name=A.name,this.array=new A.array.constructor(A.array),this.itemSize=A.itemSize,this.count=A.count,this.normalized=A.normalized,this.usage=A.usage,this.gpuType=A.gpuType,this}copyAt(A,I,C){A*=this.itemSize,C*=I.itemSize;for(let i=0,B=this.itemSize;i0&&(A.userData=this.userData),this.parameters!==void 0){const t=this.parameters;for(const E in t)t[E]!==void 0&&(A[E]=t[E]);return A}A.data={attributes:{}};const I=this.index;I!==null&&(A.data.index={type:I.array.constructor.name,array:Array.prototype.slice.call(I.array)});const C=this.attributes;for(const t in C){const E=C[t];A.data.attributes[t]=E.toJSON(A.data)}const i={};let B=!1;for(const t in this.morphAttributes){const E=this.morphAttributes[t],o=[];for(let s=0,r=E.length;s0&&(i[t]=o,B=!0)}B&&(A.data.morphAttributes=i,A.data.morphTargetsRelative=this.morphTargetsRelative);const Q=this.groups;Q.length>0&&(A.data.groups=JSON.parse(JSON.stringify(Q)));const e=this.boundingSphere;return e!==null&&(A.data.boundingSphere={center:e.center.toArray(),radius:e.radius}),A}clone(){return new this.constructor().copy(this)}copy(A){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const I={};this.name=A.name;const C=A.index;C!==null&&this.setIndex(C.clone(I));const i=A.attributes;for(const E in i){const o=i[E];this.setAttribute(E,o.clone(I))}const B=A.morphAttributes;for(const E in B){const o=[],s=B[E];for(let r=0,l=s.length;r0){const i=I[C[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let B=0,Q=i.length;B(A.far-A.near)**2))&&(XU.copy(B).invert(),Yt.copy(A.ray).applyMatrix4(XU),!(C.boundingBox!==null&&Yt.intersectsBox(C.boundingBox)===!1)&&this._computeIntersections(A,I,Yt)))}_computeIntersections(A,I,C){let i;const B=this.geometry,Q=this.material,e=B.index,t=B.attributes.position,E=B.attributes.uv,o=B.attributes.uv1,s=B.attributes.normal,r=B.groups,l=B.drawRange;if(e!==null)if(Array.isArray(Q))for(let h=0,w=r.length;hI.far?null:{distance:E,point:Qc.clone(),object:g}}function ec(g,A,I,C,i,B,Q,e,t,E){g.getVertexPosition(e,So),g.getVertexPosition(t,wo),g.getVertexPosition(E,Go);const o=M2(g,A,I,C,So,wo,Go,Bc);if(o){i&&(gc.fromBufferAttribute(i,e),Cc.fromBufferAttribute(i,t),ic.fromBufferAttribute(i,E),o.uv=Vi.getInterpolation(Bc,So,wo,Go,gc,Cc,ic,new mA)),B&&(gc.fromBufferAttribute(B,e),Cc.fromBufferAttribute(B,t),ic.fromBufferAttribute(B,E),o.uv1=Vi.getInterpolation(Bc,So,wo,Go,gc,Cc,ic,new mA)),Q&&($U.fromBufferAttribute(Q,e),Af.fromBufferAttribute(Q,t),If.fromBufferAttribute(Q,E),o.normal=Vi.getInterpolation(Bc,So,wo,Go,$U,Af,If,new T),o.normal.dot(C.direction)>0&&o.normal.multiplyScalar(-1));const s={a:e,b:t,c:E,normal:new T,materialIndex:0};Vi.getNormal(So,wo,Go,s.normal),o.face=s}return o}class ct extends MI{constructor(A=1,I=1,C=1,i=1,B=1,Q=1){super(),this.type="BoxGeometry",this.parameters={width:A,height:I,depth:C,widthSegments:i,heightSegments:B,depthSegments:Q};const e=this;i=Math.floor(i),B=Math.floor(B),Q=Math.floor(Q);const t=[],E=[],o=[],s=[];let r=0,l=0;h("z","y","x",-1,-1,C,I,A,Q,B,0),h("z","y","x",1,-1,C,I,-A,Q,B,1),h("x","z","y",1,1,A,C,I,i,Q,2),h("x","z","y",1,-1,A,C,-I,i,Q,3),h("x","y","z",1,-1,A,I,C,i,B,4),h("x","y","z",-1,-1,A,I,-C,i,B,5),this.setIndex(t),this.setAttribute("position",new sI(E,3)),this.setAttribute("normal",new sI(o,3)),this.setAttribute("uv",new sI(s,2));function h(w,D,c,G,y,k,F,U,f,K,N){const p=k/f,m=F/K,q=k/2,L=F/2,_=U/2,IA=f+1,CA=K+1;let lA=0,H=0;const O=new T;for(let v=0;v0?1:-1,o.push(O.x,O.y,O.z),s.push(j/f),s.push(1-v/K),lA+=1}}for(let v=0;v0&&(I.defines=this.defines),I.vertexShader=this.vertexShader,I.fragmentShader=this.fragmentShader,I.lights=this.lights,I.clipping=this.clipping;const C={};for(const i in this.extensions)this.extensions[i]===!0&&(C[i]=!0);return Object.keys(C).length>0&&(I.extensions=C),I}}class wr extends YI{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new iI,this.projectionMatrix=new iI,this.projectionMatrixInverse=new iI,this.coordinateSystem=aQ}copy(A,I){return super.copy(A,I),this.matrixWorldInverse.copy(A.matrixWorldInverse),this.projectionMatrix.copy(A.projectionMatrix),this.projectionMatrixInverse.copy(A.projectionMatrixInverse),this.coordinateSystem=A.coordinateSystem,this}getWorldDirection(A){return super.getWorldDirection(A).negate()}updateMatrixWorld(A){super.updateMatrixWorld(A),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(A,I){super.updateWorldMatrix(A,I),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const Re=new T,gf=new mA,Cf=new mA;class CC extends wr{constructor(A=50,I=1,C=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=A,this.zoom=1,this.near=C,this.far=i,this.focus=10,this.aspect=I,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(A,I){return super.copy(A,I),this.fov=A.fov,this.zoom=A.zoom,this.near=A.near,this.far=A.far,this.focus=A.focus,this.aspect=A.aspect,this.view=A.view===null?null:Object.assign({},A.view),this.filmGauge=A.filmGauge,this.filmOffset=A.filmOffset,this}setFocalLength(A){const I=.5*this.getFilmHeight()/A;this.fov=un*2*Math.atan(I),this.updateProjectionMatrix()}getFocalLength(){const A=Math.tan(hE*.5*this.fov);return .5*this.getFilmHeight()/A}getEffectiveFOV(){return un*2*Math.atan(Math.tan(hE*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(A,I,C){Re.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),I.set(Re.x,Re.y).multiplyScalar(-A/Re.z),Re.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),C.set(Re.x,Re.y).multiplyScalar(-A/Re.z)}getViewSize(A,I){return this.getViewBounds(A,gf,Cf),I.subVectors(Cf,gf)}setViewOffset(A,I,C,i,B,Q){this.aspect=A/I,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=A,this.view.fullHeight=I,this.view.offsetX=C,this.view.offsetY=i,this.view.width=B,this.view.height=Q,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const A=this.near;let I=A*Math.tan(hE*.5*this.fov)/this.zoom,C=2*I,i=this.aspect*C,B=-.5*i;const Q=this.view;if(this.view!==null&&this.view.enabled){const t=Q.fullWidth,E=Q.fullHeight;B+=Q.offsetX*i/t,I-=Q.offsetY*C/E,i*=Q.width/t,C*=Q.height/E}const e=this.filmOffset;e!==0&&(B+=A*e/this.getFilmWidth()),this.projectionMatrix.makePerspective(B,B+i,I,I-C,A,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){const I=super.toJSON(A);return I.object.fov=this.fov,I.object.zoom=this.zoom,I.object.near=this.near,I.object.far=this.far,I.object.focus=this.focus,I.object.aspect=this.aspect,this.view!==null&&(I.object.view=Object.assign({},this.view)),I.object.filmGauge=this.filmGauge,I.object.filmOffset=this.filmOffset,I}}const yo=-90,uo=1;class rq extends YI{constructor(A,I,C){super(),this.type="CubeCamera",this.renderTarget=C,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new CC(yo,uo,A,I);i.layers=this.layers,this.add(i);const B=new CC(yo,uo,A,I);B.layers=this.layers,this.add(B);const Q=new CC(yo,uo,A,I);Q.layers=this.layers,this.add(Q);const e=new CC(yo,uo,A,I);e.layers=this.layers,this.add(e);const t=new CC(yo,uo,A,I);t.layers=this.layers,this.add(t);const E=new CC(yo,uo,A,I);E.layers=this.layers,this.add(E)}updateCoordinateSystem(){const A=this.coordinateSystem,I=this.children.concat(),[C,i,B,Q,e,t]=I;for(const E of I)this.remove(E);if(A===aQ)C.up.set(0,1,0),C.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),B.up.set(0,0,-1),B.lookAt(0,1,0),Q.up.set(0,0,1),Q.lookAt(0,-1,0),e.up.set(0,1,0),e.lookAt(0,0,1),t.up.set(0,1,0),t.lookAt(0,0,-1);else if(A===Za)C.up.set(0,-1,0),C.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),B.up.set(0,0,1),B.lookAt(0,1,0),Q.up.set(0,0,-1),Q.lookAt(0,-1,0),e.up.set(0,-1,0),e.lookAt(0,0,1),t.up.set(0,-1,0),t.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+A);for(const E of I)this.add(E),E.updateMatrixWorld()}update(A,I){this.parent===null&&this.updateMatrixWorld();const{renderTarget:C,activeMipmapLevel:i}=this;this.coordinateSystem!==A.coordinateSystem&&(this.coordinateSystem=A.coordinateSystem,this.updateCoordinateSystem());const[B,Q,e,t,E,o]=this.children,s=A.getRenderTarget(),r=A.getActiveCubeFace(),l=A.getActiveMipmapLevel(),h=A.xr.enabled;A.xr.enabled=!1;const w=C.texture.generateMipmaps;C.texture.generateMipmaps=!1,A.setRenderTarget(C,0,i),A.render(I,B),A.setRenderTarget(C,1,i),A.render(I,Q),A.setRenderTarget(C,2,i),A.render(I,e),A.setRenderTarget(C,3,i),A.render(I,t),A.setRenderTarget(C,4,i),A.render(I,E),C.texture.generateMipmaps=w,A.setRenderTarget(C,5,i),A.render(I,o),A.setRenderTarget(s,r,l),A.xr.enabled=h,C.texture.needsPMREMUpdate=!0}}class Gr extends ig{constructor(A,I,C,i,B,Q,e,t,E,o){A=A!==void 0?A:[],I=I!==void 0?I:Ce,super(A,I,C,i,B,Q,e,t,E,o),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(A){this.image=A}}class lq extends XB{constructor(A=1,I={}){super(A,A,I),this.isWebGLCubeRenderTarget=!0;const C={width:A,height:A,depth:1},i=[C,C,C,C,C,C];this.texture=new Gr(i,I.mapping,I.wrapS,I.wrapT,I.magFilter,I.minFilter,I.format,I.type,I.anisotropy,I.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=I.generateMipmaps!==void 0?I.generateMipmaps:!1,this.texture.minFilter=I.minFilter!==void 0?I.minFilter:hg}fromEquirectangularTexture(A,I){this.texture.type=I.type,this.texture.colorSpace=I.colorSpace,this.texture.generateMipmaps=I.generateMipmaps,this.texture.minFilter=I.minFilter,this.texture.magFilter=I.magFilter;const C={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 ); + + } + `},i=new ct(5,5,5),B=new UB({name:"CubemapFromEquirect",uniforms:kn(C.uniforms),vertexShader:C.vertexShader,fragmentShader:C.fragmentShader,side:gi,blending:XQ});B.uniforms.tEquirect.value=I;const Q=new eg(i,B),e=I.minFilter;return I.minFilter===Ri&&(I.minFilter=hg),new rq(1,10,this).update(A,Q),I.minFilter=e,Q.geometry.dispose(),Q.material.dispose(),this}clear(A,I,C,i){const B=A.getRenderTarget();for(let Q=0;Q<6;Q++)A.setRenderTarget(this,Q),A.clear(I,C,i);A.setRenderTarget(B)}}const wG=new T,N2=new T,F2=new FI;class OB{constructor(A=new T(1,0,0),I=0){this.isPlane=!0,this.normal=A,this.constant=I}set(A,I){return this.normal.copy(A),this.constant=I,this}setComponents(A,I,C,i){return this.normal.set(A,I,C),this.constant=i,this}setFromNormalAndCoplanarPoint(A,I){return this.normal.copy(A),this.constant=-I.dot(this.normal),this}setFromCoplanarPoints(A,I,C){const i=wG.subVectors(C,I).cross(N2.subVectors(A,I)).normalize();return this.setFromNormalAndCoplanarPoint(i,A),this}copy(A){return this.normal.copy(A.normal),this.constant=A.constant,this}normalize(){const A=1/this.normal.length();return this.normal.multiplyScalar(A),this.constant*=A,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(A){return this.normal.dot(A)+this.constant}distanceToSphere(A){return this.distanceToPoint(A.center)-A.radius}projectPoint(A,I){return I.copy(A).addScaledVector(this.normal,-this.distanceToPoint(A))}intersectLine(A,I){const C=A.delta(wG),i=this.normal.dot(C);if(i===0)return this.distanceToPoint(A.start)===0?I.copy(A.start):null;const B=-(A.start.dot(this.normal)+this.constant)/i;return B<0||B>1?null:I.copy(A.start).addScaledVector(C,B)}intersectsLine(A){const I=this.distanceToPoint(A.start),C=this.distanceToPoint(A.end);return I<0&&C>0||C<0&&I>0}intersectsBox(A){return A.intersectsPlane(this)}intersectsSphere(A){return A.intersectsPlane(this)}coplanarPoint(A){return A.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(A,I){const C=I||F2.getNormalMatrix(A),i=this.coplanarPoint(wG).applyMatrix4(A),B=this.normal.applyMatrix3(C).normalize();return this.constant=-i.dot(B),this}translate(A){return this.constant-=A.dot(this.normal),this}equals(A){return A.normal.equals(this.normal)&&A.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Ht=new jg,tc=new T;class yr{constructor(A=new OB,I=new OB,C=new OB,i=new OB,B=new OB,Q=new OB){this.planes=[A,I,C,i,B,Q]}set(A,I,C,i,B,Q){const e=this.planes;return e[0].copy(A),e[1].copy(I),e[2].copy(C),e[3].copy(i),e[4].copy(B),e[5].copy(Q),this}copy(A){const I=this.planes;for(let C=0;C<6;C++)I[C].copy(A.planes[C]);return this}setFromProjectionMatrix(A,I=aQ){const C=this.planes,i=A.elements,B=i[0],Q=i[1],e=i[2],t=i[3],E=i[4],o=i[5],s=i[6],r=i[7],l=i[8],h=i[9],w=i[10],D=i[11],c=i[12],G=i[13],y=i[14],k=i[15];if(C[0].setComponents(t-B,r-E,D-l,k-c).normalize(),C[1].setComponents(t+B,r+E,D+l,k+c).normalize(),C[2].setComponents(t+Q,r+o,D+h,k+G).normalize(),C[3].setComponents(t-Q,r-o,D-h,k-G).normalize(),C[4].setComponents(t-e,r-s,D-w,k-y).normalize(),I===aQ)C[5].setComponents(t+e,r+s,D+w,k+y).normalize();else if(I===Za)C[5].setComponents(e,s,w,y).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+I);return this}intersectsObject(A){if(A.boundingSphere!==void 0)A.boundingSphere===null&&A.computeBoundingSphere(),Ht.copy(A.boundingSphere).applyMatrix4(A.matrixWorld);else{const I=A.geometry;I.boundingSphere===null&&I.computeBoundingSphere(),Ht.copy(I.boundingSphere).applyMatrix4(A.matrixWorld)}return this.intersectsSphere(Ht)}intersectsSprite(A){return Ht.center.set(0,0,0),Ht.radius=.7071067811865476,Ht.applyMatrix4(A.matrixWorld),this.intersectsSphere(Ht)}intersectsSphere(A){const I=this.planes,C=A.center,i=-A.radius;for(let B=0;B<6;B++)if(I[B].distanceToPoint(C)0?A.max.x:A.min.x,tc.y=i.normal.y>0?A.max.y:A.min.y,tc.z=i.normal.z>0?A.max.z:A.min.z,i.distanceToPoint(tc)<0)return!1}return!0}containsPoint(A){const I=this.planes;for(let C=0;C<6;C++)if(I[C].distanceToPoint(A)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function cq(){let g=null,A=!1,I=null,C=null;function i(B,Q){I(B,Q),C=g.requestAnimationFrame(i)}return{start:function(){A!==!0&&I!==null&&(C=g.requestAnimationFrame(i),A=!0)},stop:function(){g.cancelAnimationFrame(C),A=!1},setAnimationLoop:function(B){I=B},setContext:function(B){g=B}}}function R2(g){const A=new WeakMap;function I(e,t){const E=e.array,o=e.usage,s=E.byteLength,r=g.createBuffer();g.bindBuffer(t,r),g.bufferData(t,E,o),e.onUploadCallback();let l;if(E instanceof Float32Array)l=g.FLOAT;else if(E instanceof Uint16Array)e.isFloat16BufferAttribute?l=g.HALF_FLOAT:l=g.UNSIGNED_SHORT;else if(E instanceof Int16Array)l=g.SHORT;else if(E instanceof Uint32Array)l=g.UNSIGNED_INT;else if(E instanceof Int32Array)l=g.INT;else if(E instanceof Int8Array)l=g.BYTE;else if(E instanceof Uint8Array)l=g.UNSIGNED_BYTE;else if(E instanceof Uint8ClampedArray)l=g.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+E);return{buffer:r,type:l,bytesPerElement:E.BYTES_PER_ELEMENT,version:e.version,size:s}}function C(e,t,E){const o=t.array,s=t._updateRange,r=t.updateRanges;if(g.bindBuffer(E,e),s.count===-1&&r.length===0&&g.bufferSubData(E,0,o),r.length!==0){for(let l=0,h=r.length;l 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`,V2=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; +#endif`,j2=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,X2=`#if NUM_CLIPPING_PLANES > 0 + vClipPosition = - mvPosition.xyz; +#endif`,z2=`#if defined( USE_COLOR_ALPHA ) + diffuseColor *= vColor; +#elif defined( USE_COLOR ) + diffuseColor.rgb *= vColor; +#endif`,$2=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) + varying vec3 vColor; +#endif`,Av=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) + varying vec3 vColor; +#endif`,Iv=`#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`,gv=`#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`,Cv=`#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`,iv=`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`,Bv=`#ifdef USE_DISPLACEMENTMAP + uniform sampler2D displacementMap; + uniform float displacementScale; + uniform float displacementBias; +#endif`,Qv=`#ifdef USE_DISPLACEMENTMAP + transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); +#endif`,ev=`#ifdef USE_EMISSIVEMAP + vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); + totalEmissiveRadiance *= emissiveColor.rgb; +#endif`,tv=`#ifdef USE_EMISSIVEMAP + uniform sampler2D emissiveMap; +#endif`,Ev="gl_FragColor = linearToOutputTexel( gl_FragColor );",ov=` +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 ); +}`,nv=`#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`,sv=`#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`,av=`#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`,rv=`#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`,lv=`#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`,cv=`#ifdef USE_FOG + vFogDepth = - mvPosition.z; +#endif`,hv=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,Dv=`#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`,Sv=`#ifdef USE_FOG + uniform vec3 fogColor; + varying float vFogDepth; + #ifdef FOG_EXP2 + uniform float fogDensity; + #else + uniform float fogNear; + uniform float fogFar; + #endif +#endif`,wv=`#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 +}`,Gv=`#ifdef USE_LIGHTMAP + uniform sampler2D lightMap; + uniform float lightMapIntensity; +#endif`,yv=`LambertMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularStrength = specularStrength;`,uv=`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`,kv=`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`,dv=`#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`,Mv=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,pv=`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`,Uv=`BlinnPhongMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularColor = specular; +material.specularShininess = shininess; +material.specularStrength = specularStrength;`,fv=`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`,Nv=`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_DISPERSION + material.dispersion = dispersion; +#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`,Fv=`struct PhysicalMaterial { + vec3 diffuseColor; + float roughness; + vec3 specularColor; + float specularF90; + float dispersion; + #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 ); +}`,Rv=` +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`,Kv=`#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`,Jv=`#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`,qv=`#if defined( USE_LOGDEPTHBUF ) + gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,mv=`#if defined( USE_LOGDEPTHBUF ) + uniform float logDepthBufFC; + varying float vFragDepth; + varying float vIsPerspective; +#endif`,Lv=`#ifdef USE_LOGDEPTHBUF + varying float vFragDepth; + varying float vIsPerspective; +#endif`,Yv=`#ifdef USE_LOGDEPTHBUF + vFragDepth = 1.0 + gl_Position.w; + vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); +#endif`,Hv=`#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`,Tv=`#ifdef USE_MAP + uniform sampler2D map; +#endif`,xv=`#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`,vv=`#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`,bv=`float metalnessFactor = metalness; +#ifdef USE_METALNESSMAP + vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); + metalnessFactor *= texelMetalness.b; +#endif`,Ov=`#ifdef USE_METALNESSMAP + uniform sampler2D metalnessMap; +#endif`,_v=`#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`,Pv=`#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`,Zv=`#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`,Wv=`#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`,Vv=`#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`,jv=`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;`,Xv=`#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`,zv=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,$v=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,Ab=`#ifndef FLAT_SHADED + vNormal = normalize( transformedNormal ); + #ifdef USE_TANGENT + vTangent = normalize( transformedTangent ); + vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); + #endif +#endif`,Ib=`#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`,gb=`#ifdef USE_CLEARCOAT + vec3 clearcoatNormal = nonPerturbedNormal; +#endif`,Cb=`#ifdef USE_CLEARCOAT_NORMALMAP + vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; + clearcoatMapN.xy *= clearcoatNormalScale; + clearcoatNormal = normalize( tbn2 * clearcoatMapN ); +#endif`,ib=`#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`,Bb=`#ifdef USE_IRIDESCENCEMAP + uniform sampler2D iridescenceMap; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + uniform sampler2D iridescenceThicknessMap; +#endif`,Qb=`#ifdef OPAQUE +diffuseColor.a = 1.0; +#endif +#ifdef USE_TRANSMISSION +diffuseColor.a *= material.transmissionAlpha; +#endif +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,eb=`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 ); +}`,tb=`#ifdef PREMULTIPLIED_ALPHA + gl_FragColor.rgb *= gl_FragColor.a; +#endif`,Eb=`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;`,ob=`#ifdef DITHERING + gl_FragColor.rgb = dithering( gl_FragColor.rgb ); +#endif`,nb=`#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`,sb=`float roughnessFactor = roughness; +#ifdef USE_ROUGHNESSMAP + vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); + roughnessFactor *= texelRoughness.g; +#endif`,ab=`#ifdef USE_ROUGHNESSMAP + uniform sampler2D roughnessMap; +#endif`,rb=`#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 ) { + float shadow = 1.0; + vec3 lightToPosition = shadowCoord.xyz; + + float lightToPositionLength = length( lightToPosition ); + if ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) { + float dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; + vec3 bd3D = normalize( lightToPosition ); + vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); + #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) + vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; + shadow = ( + 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 + shadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); + #endif + } + return shadow; + } +#endif`,lb=`#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`,cb=`#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`,hb=`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; +}`,Db=`#ifdef USE_SKINNING + mat4 boneMatX = getBoneMatrix( skinIndex.x ); + mat4 boneMatY = getBoneMatrix( skinIndex.y ); + mat4 boneMatZ = getBoneMatrix( skinIndex.z ); + mat4 boneMatW = getBoneMatrix( skinIndex.w ); +#endif`,Sb=`#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`,wb=`#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`,Gb=`#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`,yb=`float specularStrength; +#ifdef USE_SPECULARMAP + vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); + specularStrength = texelSpecular.r; +#else + specularStrength = 1.0; +#endif`,ub=`#ifdef USE_SPECULARMAP + uniform sampler2D specularMap; +#endif`,kb=`#if defined( TONE_MAPPING ) + gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); +#endif`,db=`#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 ) { + const float StartCompression = 0.8 - 0.04; + const 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( newPeak ), g ); +} +vec3 CustomToneMapping( vec3 color ) { return color; }`,Mb=`#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.dispersion, 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`,pb=`#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 dispersion, const in float ior, const in float thickness, + const in vec3 attenuationColor, const in float attenuationDistance ) { + vec4 transmittedLight; + vec3 transmittance; + #ifdef USE_DISPERSION + float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion; + vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread ); + for ( int i = 0; i < 3; i ++ ) { + vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix ); + vec3 refractedRayExit = position + transmissionRay; + + vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); + vec2 refractionCoords = ndcPos.xy / ndcPos.w; + refractionCoords += 1.0; + refractionCoords /= 2.0; + + vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] ); + transmittedLight[ i ] = transmissionSample[ i ]; + transmittedLight.a += transmissionSample.a; + transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ]; + } + transmittedLight.a /= 3.0; + + #else + + 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; + transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); + transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); + + #endif + 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`,Ub=`#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`,fb=`#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`,Nb=`#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`,Fb=`#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 Rb=`varying vec2 vUv; +uniform mat3 uvTransform; +void main() { + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; + gl_Position = vec4( position.xy, 1.0, 1.0 ); +}`,Kb=`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 +}`,Jb=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,qb=`#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 +}`,mb=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,Lb=`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 +}`,Yb=`#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; +}`,Hb=`#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 +}`,Tb=`#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; +}`,xb=`#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 ); +}`,vb=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include +}`,bb=`uniform sampler2D tEquirect; +varying vec3 vWorldDirection; +#include +void main() { + vec3 direction = normalize( vWorldDirection ); + vec2 sampleUV = equirectUv( direction ); + gl_FragColor = texture2D( tEquirect, sampleUV ); + #include + #include +}`,Ob=`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 +}`,_b=`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 +}`,Pb=`#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 +}`,Zb=`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 +}`,Wb=`#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 +}`,Vb=`#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 +}`,jb=`#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; +}`,Xb=`#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 +}`,zb=`#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 +}`,$b=`#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 +}`,AO=`#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 +}`,IO=`#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 +}`,gO=`#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 +}`,CO=`#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_DISPERSION + uniform float dispersion; +#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 +}`,iO=`#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 +}`,BO=`#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 +}`,QO=`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 +}`,eO=`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 +}`,tO=`#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,EO=`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 +}`,oO=`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 +}`,nO=`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 +}`,RI={alphahash_fragment:K2,alphahash_pars_fragment:J2,alphamap_fragment:q2,alphamap_pars_fragment:m2,alphatest_fragment:L2,alphatest_pars_fragment:Y2,aomap_fragment:H2,aomap_pars_fragment:T2,batching_pars_vertex:x2,batching_vertex:v2,begin_vertex:b2,beginnormal_vertex:O2,bsdfs:_2,iridescence_fragment:P2,bumpmap_pars_fragment:Z2,clipping_planes_fragment:W2,clipping_planes_pars_fragment:V2,clipping_planes_pars_vertex:j2,clipping_planes_vertex:X2,color_fragment:z2,color_pars_fragment:$2,color_pars_vertex:Av,color_vertex:Iv,common:gv,cube_uv_reflection_fragment:Cv,defaultnormal_vertex:iv,displacementmap_pars_vertex:Bv,displacementmap_vertex:Qv,emissivemap_fragment:ev,emissivemap_pars_fragment:tv,colorspace_fragment:Ev,colorspace_pars_fragment:ov,envmap_fragment:nv,envmap_common_pars_fragment:sv,envmap_pars_fragment:av,envmap_pars_vertex:rv,envmap_physical_pars_fragment:dv,envmap_vertex:lv,fog_vertex:cv,fog_pars_vertex:hv,fog_fragment:Dv,fog_pars_fragment:Sv,gradientmap_pars_fragment:wv,lightmap_pars_fragment:Gv,lights_lambert_fragment:yv,lights_lambert_pars_fragment:uv,lights_pars_begin:kv,lights_toon_fragment:Mv,lights_toon_pars_fragment:pv,lights_phong_fragment:Uv,lights_phong_pars_fragment:fv,lights_physical_fragment:Nv,lights_physical_pars_fragment:Fv,lights_fragment_begin:Rv,lights_fragment_maps:Kv,lights_fragment_end:Jv,logdepthbuf_fragment:qv,logdepthbuf_pars_fragment:mv,logdepthbuf_pars_vertex:Lv,logdepthbuf_vertex:Yv,map_fragment:Hv,map_pars_fragment:Tv,map_particle_fragment:xv,map_particle_pars_fragment:vv,metalnessmap_fragment:bv,metalnessmap_pars_fragment:Ov,morphinstance_vertex:_v,morphcolor_vertex:Pv,morphnormal_vertex:Zv,morphtarget_pars_vertex:Wv,morphtarget_vertex:Vv,normal_fragment_begin:jv,normal_fragment_maps:Xv,normal_pars_fragment:zv,normal_pars_vertex:$v,normal_vertex:Ab,normalmap_pars_fragment:Ib,clearcoat_normal_fragment_begin:gb,clearcoat_normal_fragment_maps:Cb,clearcoat_pars_fragment:ib,iridescence_pars_fragment:Bb,opaque_fragment:Qb,packing:eb,premultiplied_alpha_fragment:tb,project_vertex:Eb,dithering_fragment:ob,dithering_pars_fragment:nb,roughnessmap_fragment:sb,roughnessmap_pars_fragment:ab,shadowmap_pars_fragment:rb,shadowmap_pars_vertex:lb,shadowmap_vertex:cb,shadowmask_pars_fragment:hb,skinbase_vertex:Db,skinning_pars_vertex:Sb,skinning_vertex:wb,skinnormal_vertex:Gb,specularmap_fragment:yb,specularmap_pars_fragment:ub,tonemapping_fragment:kb,tonemapping_pars_fragment:db,transmission_fragment:Mb,transmission_pars_fragment:pb,uv_pars_fragment:Ub,uv_pars_vertex:fb,uv_vertex:Nb,worldpos_vertex:Fb,background_vert:Rb,background_frag:Kb,backgroundCube_vert:Jb,backgroundCube_frag:qb,cube_vert:mb,cube_frag:Lb,depth_vert:Yb,depth_frag:Hb,distanceRGBA_vert:Tb,distanceRGBA_frag:xb,equirect_vert:vb,equirect_frag:bb,linedashed_vert:Ob,linedashed_frag:_b,meshbasic_vert:Pb,meshbasic_frag:Zb,meshlambert_vert:Wb,meshlambert_frag:Vb,meshmatcap_vert:jb,meshmatcap_frag:Xb,meshnormal_vert:zb,meshnormal_frag:$b,meshphong_vert:AO,meshphong_frag:IO,meshphysical_vert:gO,meshphysical_frag:CO,meshtoon_vert:iO,meshtoon_frag:BO,points_vert:QO,points_frag:eO,shadow_vert:tO,shadow_frag:EO,sprite_vert:oO,sprite_frag:nO},XA={common:{diffuse:{value:new ZA(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new FI},alphaMap:{value:null},alphaMapTransform:{value:new FI},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new FI}},envmap:{envMap:{value:null},envMapRotation:{value:new FI},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new FI}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new FI}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new FI},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new FI},normalScale:{value:new mA(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new FI},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new FI}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new FI}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new FI}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new ZA(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 ZA(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new FI},alphaTest:{value:0},uvTransform:{value:new FI}},sprite:{diffuse:{value:new ZA(16777215)},opacity:{value:1},center:{value:new mA(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new FI},alphaMap:{value:null},alphaMapTransform:{value:new FI},alphaTest:{value:0}}},_B={basic:{uniforms:ai([XA.common,XA.specularmap,XA.envmap,XA.aomap,XA.lightmap,XA.fog]),vertexShader:RI.meshbasic_vert,fragmentShader:RI.meshbasic_frag},lambert:{uniforms:ai([XA.common,XA.specularmap,XA.envmap,XA.aomap,XA.lightmap,XA.emissivemap,XA.bumpmap,XA.normalmap,XA.displacementmap,XA.fog,XA.lights,{emissive:{value:new ZA(0)}}]),vertexShader:RI.meshlambert_vert,fragmentShader:RI.meshlambert_frag},phong:{uniforms:ai([XA.common,XA.specularmap,XA.envmap,XA.aomap,XA.lightmap,XA.emissivemap,XA.bumpmap,XA.normalmap,XA.displacementmap,XA.fog,XA.lights,{emissive:{value:new ZA(0)},specular:{value:new ZA(1118481)},shininess:{value:30}}]),vertexShader:RI.meshphong_vert,fragmentShader:RI.meshphong_frag},standard:{uniforms:ai([XA.common,XA.envmap,XA.aomap,XA.lightmap,XA.emissivemap,XA.bumpmap,XA.normalmap,XA.displacementmap,XA.roughnessmap,XA.metalnessmap,XA.fog,XA.lights,{emissive:{value:new ZA(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:RI.meshphysical_vert,fragmentShader:RI.meshphysical_frag},toon:{uniforms:ai([XA.common,XA.aomap,XA.lightmap,XA.emissivemap,XA.bumpmap,XA.normalmap,XA.displacementmap,XA.gradientmap,XA.fog,XA.lights,{emissive:{value:new ZA(0)}}]),vertexShader:RI.meshtoon_vert,fragmentShader:RI.meshtoon_frag},matcap:{uniforms:ai([XA.common,XA.bumpmap,XA.normalmap,XA.displacementmap,XA.fog,{matcap:{value:null}}]),vertexShader:RI.meshmatcap_vert,fragmentShader:RI.meshmatcap_frag},points:{uniforms:ai([XA.points,XA.fog]),vertexShader:RI.points_vert,fragmentShader:RI.points_frag},dashed:{uniforms:ai([XA.common,XA.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:RI.linedashed_vert,fragmentShader:RI.linedashed_frag},depth:{uniforms:ai([XA.common,XA.displacementmap]),vertexShader:RI.depth_vert,fragmentShader:RI.depth_frag},normal:{uniforms:ai([XA.common,XA.bumpmap,XA.normalmap,XA.displacementmap,{opacity:{value:1}}]),vertexShader:RI.meshnormal_vert,fragmentShader:RI.meshnormal_frag},sprite:{uniforms:ai([XA.sprite,XA.fog]),vertexShader:RI.sprite_vert,fragmentShader:RI.sprite_frag},background:{uniforms:{uvTransform:{value:new FI},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:RI.background_vert,fragmentShader:RI.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new FI}},vertexShader:RI.backgroundCube_vert,fragmentShader:RI.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:RI.cube_vert,fragmentShader:RI.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:RI.equirect_vert,fragmentShader:RI.equirect_frag},distanceRGBA:{uniforms:ai([XA.common,XA.displacementmap,{referencePosition:{value:new T},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:RI.distanceRGBA_vert,fragmentShader:RI.distanceRGBA_frag},shadow:{uniforms:ai([XA.lights,XA.fog,{color:{value:new ZA(0)},opacity:{value:1}}]),vertexShader:RI.shadow_vert,fragmentShader:RI.shadow_frag}};_B.physical={uniforms:ai([_B.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new FI},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new FI},clearcoatNormalScale:{value:new mA(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new FI},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new FI},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new FI},sheen:{value:0},sheenColor:{value:new ZA(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new FI},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new FI},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new FI},transmissionSamplerSize:{value:new mA},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new FI},attenuationDistance:{value:0},attenuationColor:{value:new ZA(0)},specularColor:{value:new ZA(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new FI},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new FI},anisotropyVector:{value:new mA},anisotropyMap:{value:null},anisotropyMapTransform:{value:new FI}}]),vertexShader:RI.meshphysical_vert,fragmentShader:RI.meshphysical_frag};const Ec={r:0,b:0,g:0},Tt=new mC,sO=new iI;function aO(g,A,I,C,i,B,Q){const e=new ZA(0);let t=B===!0?0:1,E,o,s=null,r=0,l=null;function h(G){let y=G.isScene===!0?G.background:null;return y&&y.isTexture&&(y=(G.backgroundBlurriness>0?I:A).get(y)),y}function w(G){let y=!1;const k=h(G);k===null?c(e,t):k&&k.isColor&&(c(k,1),y=!0);const F=g.xr.getEnvironmentBlendMode();F==="additive"?C.buffers.color.setClear(0,0,0,1,Q):F==="alpha-blend"&&C.buffers.color.setClear(0,0,0,0,Q),(g.autoClear||y)&&g.clear(g.autoClearColor,g.autoClearDepth,g.autoClearStencil)}function D(G,y){const k=h(y);k&&(k.isCubeTexture||k.mapping===qn)?(o===void 0&&(o=new eg(new ct(1,1,1),new UB({name:"BackgroundCubeMaterial",uniforms:kn(_B.backgroundCube.uniforms),vertexShader:_B.backgroundCube.vertexShader,fragmentShader:_B.backgroundCube.fragmentShader,side:gi,depthTest:!1,depthWrite:!1,fog:!1})),o.geometry.deleteAttribute("normal"),o.geometry.deleteAttribute("uv"),o.onBeforeRender=function(F,U,f){this.matrixWorld.copyPosition(f.matrixWorld)},Object.defineProperty(o.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(o)),Tt.copy(y.backgroundRotation),Tt.x*=-1,Tt.y*=-1,Tt.z*=-1,k.isCubeTexture&&k.isRenderTargetTexture===!1&&(Tt.y*=-1,Tt.z*=-1),o.material.uniforms.envMap.value=k,o.material.uniforms.flipEnvMap.value=k.isCubeTexture&&k.isRenderTargetTexture===!1?-1:1,o.material.uniforms.backgroundBlurriness.value=y.backgroundBlurriness,o.material.uniforms.backgroundIntensity.value=y.backgroundIntensity,o.material.uniforms.backgroundRotation.value.setFromMatrix4(sO.makeRotationFromEuler(Tt)),o.material.toneMapped=Ag.getTransfer(k.colorSpace)!==rg,(s!==k||r!==k.version||l!==g.toneMapping)&&(o.material.needsUpdate=!0,s=k,r=k.version,l=g.toneMapping),o.layers.enableAll(),G.unshift(o,o.geometry,o.material,0,0,null)):k&&k.isTexture&&(E===void 0&&(E=new eg(new GQ(2,2),new UB({name:"BackgroundMaterial",uniforms:kn(_B.background.uniforms),vertexShader:_B.background.vertexShader,fragmentShader:_B.background.fragmentShader,side:pB,depthTest:!1,depthWrite:!1,fog:!1})),E.geometry.deleteAttribute("normal"),Object.defineProperty(E.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(E)),E.material.uniforms.t2D.value=k,E.material.uniforms.backgroundIntensity.value=y.backgroundIntensity,E.material.toneMapped=Ag.getTransfer(k.colorSpace)!==rg,k.matrixAutoUpdate===!0&&k.updateMatrix(),E.material.uniforms.uvTransform.value.copy(k.matrix),(s!==k||r!==k.version||l!==g.toneMapping)&&(E.material.needsUpdate=!0,s=k,r=k.version,l=g.toneMapping),E.layers.enableAll(),G.unshift(E,E.geometry,E.material,0,0,null))}function c(G,y){G.getRGB(Ec,aq(g)),C.buffers.color.setClear(Ec.r,Ec.g,Ec.b,y,Q)}return{getClearColor:function(){return e},setClearColor:function(G,y=1){e.set(G),t=y,c(e,t)},getClearAlpha:function(){return t},setClearAlpha:function(G){t=G,c(e,t)},render:w,addToRenderList:D}}function rO(g,A){const I=g.getParameter(g.MAX_VERTEX_ATTRIBS),C={},i=r(null);let B=i,Q=!1;function e(p,m,q,L,_){let IA=!1;const CA=s(L,q,m);B!==CA&&(B=CA,E(B.object)),IA=l(p,L,q,_),IA&&h(p,L,q,_),_!==null&&A.update(_,g.ELEMENT_ARRAY_BUFFER),(IA||Q)&&(Q=!1,k(p,m,q,L),_!==null&&g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,A.get(_).buffer))}function t(){return g.createVertexArray()}function E(p){return g.bindVertexArray(p)}function o(p){return g.deleteVertexArray(p)}function s(p,m,q){const L=q.wireframe===!0;let _=C[p.id];_===void 0&&(_={},C[p.id]=_);let IA=_[m.id];IA===void 0&&(IA={},_[m.id]=IA);let CA=IA[L];return CA===void 0&&(CA=r(t()),IA[L]=CA),CA}function r(p){const m=[],q=[],L=[];for(let _=0;_=0){const v=_[H];let Y=IA[H];if(Y===void 0&&(H==="instanceMatrix"&&p.instanceMatrix&&(Y=p.instanceMatrix),H==="instanceColor"&&p.instanceColor&&(Y=p.instanceColor)),v===void 0||v.attribute!==Y||Y&&v.data!==Y.data)return!0;CA++}return B.attributesNum!==CA||B.index!==L}function h(p,m,q,L){const _={},IA=m.attributes;let CA=0;const lA=q.getAttributes();for(const H in lA)if(lA[H].location>=0){let v=IA[H];v===void 0&&(H==="instanceMatrix"&&p.instanceMatrix&&(v=p.instanceMatrix),H==="instanceColor"&&p.instanceColor&&(v=p.instanceColor));const Y={};Y.attribute=v,v&&v.data&&(Y.data=v.data),_[H]=Y,CA++}B.attributes=_,B.attributesNum=CA,B.index=L}function w(){const p=B.newAttributes;for(let m=0,q=p.length;m=0){let O=_[lA];if(O===void 0&&(lA==="instanceMatrix"&&p.instanceMatrix&&(O=p.instanceMatrix),lA==="instanceColor"&&p.instanceColor&&(O=p.instanceColor)),O!==void 0){const v=O.normalized,Y=O.itemSize,j=A.get(O);if(j===void 0)continue;const QA=j.buffer,P=j.type,X=j.bytesPerElement,gA=P===g.INT||P===g.UNSIGNED_INT||O.gpuType===Dd;if(O.isInterleavedBufferAttribute){const AA=O.data,wA=AA.stride,dA=O.offset;if(AA.isInstancedInterleavedBuffer){for(let V=0;V0&&g.getShaderPrecisionFormat(g.FRAGMENT_SHADER,g.HIGH_FLOAT).precision>0)return"highp";U="mediump"}return U==="mediump"&&g.getShaderPrecisionFormat(g.VERTEX_SHADER,g.MEDIUM_FLOAT).precision>0&&g.getShaderPrecisionFormat(g.FRAGMENT_SHADER,g.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let E=I.precision!==void 0?I.precision:"highp";const o=t(E);o!==E&&(console.warn("THREE.WebGLRenderer:",E,"not supported, using",o,"instead."),E=o);const s=I.logarithmicDepthBuffer===!0,r=g.getParameter(g.MAX_TEXTURE_IMAGE_UNITS),l=g.getParameter(g.MAX_VERTEX_TEXTURE_IMAGE_UNITS),h=g.getParameter(g.MAX_TEXTURE_SIZE),w=g.getParameter(g.MAX_CUBE_MAP_TEXTURE_SIZE),D=g.getParameter(g.MAX_VERTEX_ATTRIBS),c=g.getParameter(g.MAX_VERTEX_UNIFORM_VECTORS),G=g.getParameter(g.MAX_VARYING_VECTORS),y=g.getParameter(g.MAX_FRAGMENT_UNIFORM_VECTORS),k=l>0,F=g.getParameter(g.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:B,getMaxPrecision:t,textureFormatReadable:Q,textureTypeReadable:e,precision:E,logarithmicDepthBuffer:s,maxTextures:r,maxVertexTextures:l,maxTextureSize:h,maxCubemapSize:w,maxAttributes:D,maxVertexUniforms:c,maxVaryings:G,maxFragmentUniforms:y,vertexTextures:k,maxSamples:F}}function hO(g){const A=this;let I=null,C=0,i=!1,B=!1;const Q=new OB,e=new FI,t={value:null,needsUpdate:!1};this.uniform=t,this.numPlanes=0,this.numIntersection=0,this.init=function(s,r){const l=s.length!==0||r||C!==0||i;return i=r,C=s.length,l},this.beginShadows=function(){B=!0,o(null)},this.endShadows=function(){B=!1},this.setGlobalState=function(s,r){I=o(s,r,0)},this.setState=function(s,r,l){const h=s.clippingPlanes,w=s.clipIntersection,D=s.clipShadows,c=g.get(s);if(!i||h===null||h.length===0||B&&!D)B?o(null):E();else{const G=B?0:C,y=G*4;let k=c.clippingState||null;t.value=k,k=o(h,r,y,l);for(let F=0;F!==y;++F)k[F]=I[F];c.clippingState=k,this.numIntersection=w?this.numPlanes:0,this.numPlanes+=G}};function E(){t.value!==I&&(t.value=I,t.needsUpdate=C>0),A.numPlanes=C,A.numIntersection=0}function o(s,r,l,h){const w=s!==null?s.length:0;let D=null;if(w!==0){if(D=t.value,h!==!0||D===null){const c=l+w*4,G=r.matrixWorldInverse;e.getNormalMatrix(G),(D===null||D.length0){const E=new lq(t.height);return E.fromEquirectangularTexture(g,Q),A.set(Q,E),Q.addEventListener("dispose",i),I(E.texture,Q.mapping)}else return null}}return Q}function i(Q){const e=Q.target;e.removeEventListener("dispose",i);const t=A.get(e);t!==void 0&&(A.delete(e),t.dispose())}function B(){A=new WeakMap}return{get:C,dispose:B}}class YE extends wr{constructor(A=-1,I=1,C=1,i=-1,B=.1,Q=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=A,this.right=I,this.top=C,this.bottom=i,this.near=B,this.far=Q,this.updateProjectionMatrix()}copy(A,I){return super.copy(A,I),this.left=A.left,this.right=A.right,this.top=A.top,this.bottom=A.bottom,this.near=A.near,this.far=A.far,this.zoom=A.zoom,this.view=A.view===null?null:Object.assign({},A.view),this}setViewOffset(A,I,C,i,B,Q){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=A,this.view.fullHeight=I,this.view.offsetX=C,this.view.offsetY=i,this.view.width=B,this.view.height=Q,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const A=(this.right-this.left)/(2*this.zoom),I=(this.top-this.bottom)/(2*this.zoom),C=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let B=C-A,Q=C+A,e=i+I,t=i-I;if(this.view!==null&&this.view.enabled){const E=(this.right-this.left)/this.view.fullWidth/this.zoom,o=(this.top-this.bottom)/this.view.fullHeight/this.zoom;B+=E*this.view.offsetX,Q=B+E*this.view.width,e-=o*this.view.offsetY,t=e-o*this.view.height}this.projectionMatrix.makeOrthographic(B,Q,e,t,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){const I=super.toJSON(A);return I.object.zoom=this.zoom,I.object.left=this.left,I.object.right=this.right,I.object.top=this.top,I.object.bottom=this.bottom,I.object.near=this.near,I.object.far=this.far,this.view!==null&&(I.object.view=Object.assign({},this.view)),I}}const $o=4,Bf=[.125,.215,.35,.446,.526,.582],gE=20,GG=new YE,Qf=new ZA;let yG=null,uG=0,kG=0,dG=!1;const IE=(1+Math.sqrt(5))/2,ko=1/IE,ef=[new T(-IE,ko,0),new T(IE,ko,0),new T(-ko,0,IE),new T(ko,0,IE),new T(0,IE,-ko),new T(0,IE,ko),new T(-1,1,-1),new T(1,1,-1),new T(-1,1,1),new T(1,1,1)];class zu{constructor(A){this._renderer=A,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(A,I=0,C=.1,i=100){yG=this._renderer.getRenderTarget(),uG=this._renderer.getActiveCubeFace(),kG=this._renderer.getActiveMipmapLevel(),dG=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(256);const B=this._allocateTargets();return B.depthBuffer=!0,this._sceneToCubeUV(A,C,i,B),I>0&&this._blur(B,0,0,I),this._applyPMREM(B),this._cleanup(B),B}fromEquirectangular(A,I=null){return this._fromTexture(A,I)}fromCubemap(A,I=null){return this._fromTexture(A,I)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=of(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=Ef(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(A){this._lodMax=Math.floor(Math.log2(A)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let A=0;A2?y:0,y,y),o.setRenderTarget(i),w&&o.render(h,e),o.render(A,e)}h.geometry.dispose(),h.material.dispose(),o.toneMapping=r,o.autoClear=s,A.background=D}_textureToCubeUV(A,I){const C=this._renderer,i=A.mapping===Ce||A.mapping===Et;i?(this._cubemapMaterial===null&&(this._cubemapMaterial=of()),this._cubemapMaterial.uniforms.flipEnvMap.value=A.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=Ef());const B=i?this._cubemapMaterial:this._equirectMaterial,Q=new eg(this._lodPlanes[0],B),e=B.uniforms;e.envMap.value=A;const t=this._cubeSize;oc(I,0,0,3*t,2*t),C.setRenderTarget(I),C.render(Q,GG)}_applyPMREM(A){const I=this._renderer,C=I.autoClear;I.autoClear=!1;const i=this._lodPlanes.length;for(let B=1;BgE&&console.warn(`sigmaRadians, ${B}, is too large and will clip, as it requested ${D} samples when the maximum is set to ${gE}`);const c=[];let G=0;for(let f=0;fy-$o?i-y+$o:0),U=4*(this._cubeSize-k);oc(I,F,U,3*k,2*k),t.setRenderTarget(I),t.render(s,GG)}}function SO(g){const A=[],I=[],C=[];let i=g;const B=g-$o+1+Bf.length;for(let Q=0;Qg-$o?t=Bf[Q-g+$o-1]:Q===0&&(t=0),C.push(t);const E=1/(e-2),o=-E,s=1+E,r=[o,o,s,o,s,s,o,o,s,s,o,s],l=6,h=6,w=3,D=2,c=1,G=new Float32Array(w*h*l),y=new Float32Array(D*h*l),k=new Float32Array(c*h*l);for(let U=0;U2?0:-1,N=[f,K,0,f+2/3,K,0,f+2/3,K+1,0,f,K,0,f+2/3,K+1,0,f,K+1,0];G.set(N,w*h*U),y.set(r,D*h*U);const p=[U,U,U,U,U,U];k.set(p,c*h*U)}const F=new MI;F.setAttribute("position",new yI(G,w)),F.setAttribute("uv",new yI(y,D)),F.setAttribute("faceIndex",new yI(k,c)),A.push(F),i>$o&&i--}return{lodPlanes:A,sizeLods:I,sigmas:C}}function tf(g,A,I){const C=new XB(g,A,I);return C.texture.mapping=qn,C.texture.name="PMREM.cubeUv",C.scissorTest=!0,C}function oc(g,A,I,C,i){g.viewport.set(A,I,C,i),g.scissor.set(A,I,C,i)}function wO(g,A,I){const C=new Float32Array(gE),i=new T(0,1,0);return new UB({name:"SphericalGaussianBlur",defines:{n:gE,CUBEUV_TEXEL_WIDTH:1/A,CUBEUV_TEXEL_HEIGHT:1/I,CUBEUV_MAX_MIP:`${g}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:C},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:Jd(),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:XQ,depthTest:!1,depthWrite:!1})}function Ef(){return new UB({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Jd(),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:XQ,depthTest:!1,depthWrite:!1})}function of(){return new UB({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Jd(),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:XQ,depthTest:!1,depthWrite:!1})}function Jd(){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 GO(g){let A=new WeakMap,I=null;function C(e){if(e&&e.isTexture){const t=e.mapping,E=t===Ta||t===xa,o=t===Ce||t===Et;if(E||o){let s=A.get(e);const r=s!==void 0?s.texture.pmremVersion:0;if(e.isRenderTargetTexture&&e.pmremVersion!==r)return I===null&&(I=new zu(g)),s=E?I.fromEquirectangular(e,s):I.fromCubemap(e,s),s.texture.pmremVersion=e.pmremVersion,A.set(e,s),s.texture;if(s!==void 0)return s.texture;{const l=e.image;return E&&l&&l.height>0||o&&l&&i(l)?(I===null&&(I=new zu(g)),s=E?I.fromEquirectangular(e):I.fromCubemap(e),s.texture.pmremVersion=e.pmremVersion,A.set(e,s),e.addEventListener("dispose",B),s.texture):null}}}return e}function i(e){let t=0;const E=6;for(let o=0;oA.maxTextureSize&&(U=Math.ceil(F/A.maxTextureSize),F=A.maxTextureSize);const f=new Float32Array(F*U*4*s),K=new KD(f,F,U,s);K.type=yB,K.needsUpdate=!0;const N=k*4;for(let m=0;m0)return g;const i=A*I;let B=nf[i];if(B===void 0&&(B=new Float32Array(i),nf[i]=B),A!==0){C.toArray(B,0);for(let Q=1,e=0;Q!==A;++Q)e+=I,g[Q].toArray(B,e)}return B}function sC(g,A){if(g.length!==A.length)return!1;for(let I=0,C=g.length;I":" "} ${e}: ${I[Q]}`)}return C.join(` +`)}function G_(g){const A=Ag.getPrimaries(Ag.workingColorSpace),I=Ag.getPrimaries(g);let C;switch(A===I?C="":A===_a&&I===Oa?C="LinearDisplayP3ToLinearSRGB":A===Oa&&I===_a&&(C="LinearSRGBToLinearDisplayP3"),g){case dC:case Sr:return[C,"LinearTransferOETF"];case FC:case FD:return[C,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",g),[C,"LinearTransferOETF"]}}function Df(g,A,I){const C=g.getShaderParameter(A,g.COMPILE_STATUS),i=g.getShaderInfoLog(A).trim();if(C&&i==="")return"";const B=/ERROR: 0:(\d+)/.exec(i);if(B){const Q=parseInt(B[1]);return I.toUpperCase()+` + +`+i+` + +`+w_(g.getShaderSource(A),Q)}else return i}function y_(g,A){const I=G_(A);return`vec4 ${g}( vec4 value ) { return ${I[0]}( ${I[1]}( value ) ); }`}function u_(g,A){let I;switch(A){case RJ:I="Linear";break;case KJ:I="Reinhard";break;case JJ:I="OptimizedCineon";break;case cd:I="ACESFilmic";break;case mJ:I="AgX";break;case LJ:I="Neutral";break;case qJ:I="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",A),I="Linear"}return"vec3 "+g+"( vec3 color ) { return "+I+"ToneMapping( color ); }"}function k_(g){return[g.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",g.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(zs).join(` +`)}function d_(g){const A=[];for(const I in g){const C=g[I];C!==!1&&A.push("#define "+I+" "+C)}return A.join(` +`)}function M_(g,A){const I={},C=g.getProgramParameter(A,g.ACTIVE_ATTRIBUTES);for(let i=0;i/gm;function $u(g){return g.replace(p_,f_)}const U_=new Map;function f_(g,A){let I=RI[A];if(I===void 0){const C=U_.get(A);if(C!==void 0)I=RI[C],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',A,C);else throw new Error("Can not resolve #include <"+A+">")}return $u(I)}const N_=/#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 Gf(g){return g.replace(N_,F_)}function F_(g,A,I,C){let i="";for(let B=parseInt(A);B0&&(D+=` +`),c=["#define SHADER_TYPE "+I.shaderType,"#define SHADER_NAME "+I.shaderName,h].filter(zs).join(` +`),c.length>0&&(c+=` +`)):(D=[yf(I),"#define SHADER_TYPE "+I.shaderType,"#define SHADER_NAME "+I.shaderName,h,I.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",I.batching?"#define USE_BATCHING":"",I.instancing?"#define USE_INSTANCING":"",I.instancingColor?"#define USE_INSTANCING_COLOR":"",I.instancingMorph?"#define USE_INSTANCING_MORPH":"",I.useFog&&I.fog?"#define USE_FOG":"",I.useFog&&I.fogExp2?"#define FOG_EXP2":"",I.map?"#define USE_MAP":"",I.envMap?"#define USE_ENVMAP":"",I.envMap?"#define "+o:"",I.lightMap?"#define USE_LIGHTMAP":"",I.aoMap?"#define USE_AOMAP":"",I.bumpMap?"#define USE_BUMPMAP":"",I.normalMap?"#define USE_NORMALMAP":"",I.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",I.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",I.displacementMap?"#define USE_DISPLACEMENTMAP":"",I.emissiveMap?"#define USE_EMISSIVEMAP":"",I.anisotropy?"#define USE_ANISOTROPY":"",I.anisotropyMap?"#define USE_ANISOTROPYMAP":"",I.clearcoatMap?"#define USE_CLEARCOATMAP":"",I.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",I.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",I.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",I.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",I.specularMap?"#define USE_SPECULARMAP":"",I.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",I.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",I.roughnessMap?"#define USE_ROUGHNESSMAP":"",I.metalnessMap?"#define USE_METALNESSMAP":"",I.alphaMap?"#define USE_ALPHAMAP":"",I.alphaHash?"#define USE_ALPHAHASH":"",I.transmission?"#define USE_TRANSMISSION":"",I.transmissionMap?"#define USE_TRANSMISSIONMAP":"",I.thicknessMap?"#define USE_THICKNESSMAP":"",I.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",I.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",I.mapUv?"#define MAP_UV "+I.mapUv:"",I.alphaMapUv?"#define ALPHAMAP_UV "+I.alphaMapUv:"",I.lightMapUv?"#define LIGHTMAP_UV "+I.lightMapUv:"",I.aoMapUv?"#define AOMAP_UV "+I.aoMapUv:"",I.emissiveMapUv?"#define EMISSIVEMAP_UV "+I.emissiveMapUv:"",I.bumpMapUv?"#define BUMPMAP_UV "+I.bumpMapUv:"",I.normalMapUv?"#define NORMALMAP_UV "+I.normalMapUv:"",I.displacementMapUv?"#define DISPLACEMENTMAP_UV "+I.displacementMapUv:"",I.metalnessMapUv?"#define METALNESSMAP_UV "+I.metalnessMapUv:"",I.roughnessMapUv?"#define ROUGHNESSMAP_UV "+I.roughnessMapUv:"",I.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+I.anisotropyMapUv:"",I.clearcoatMapUv?"#define CLEARCOATMAP_UV "+I.clearcoatMapUv:"",I.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+I.clearcoatNormalMapUv:"",I.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+I.clearcoatRoughnessMapUv:"",I.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+I.iridescenceMapUv:"",I.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+I.iridescenceThicknessMapUv:"",I.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+I.sheenColorMapUv:"",I.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+I.sheenRoughnessMapUv:"",I.specularMapUv?"#define SPECULARMAP_UV "+I.specularMapUv:"",I.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+I.specularColorMapUv:"",I.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+I.specularIntensityMapUv:"",I.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+I.transmissionMapUv:"",I.thicknessMapUv?"#define THICKNESSMAP_UV "+I.thicknessMapUv:"",I.vertexTangents&&I.flatShading===!1?"#define USE_TANGENT":"",I.vertexColors?"#define USE_COLOR":"",I.vertexAlphas?"#define USE_COLOR_ALPHA":"",I.vertexUv1s?"#define USE_UV1":"",I.vertexUv2s?"#define USE_UV2":"",I.vertexUv3s?"#define USE_UV3":"",I.pointsUvs?"#define USE_POINTS_UV":"",I.flatShading?"#define FLAT_SHADED":"",I.skinning?"#define USE_SKINNING":"",I.morphTargets?"#define USE_MORPHTARGETS":"",I.morphNormals&&I.flatShading===!1?"#define USE_MORPHNORMALS":"",I.morphColors?"#define USE_MORPHCOLORS":"",I.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE":"",I.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+I.morphTextureStride:"",I.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+I.morphTargetsCount:"",I.doubleSided?"#define DOUBLE_SIDED":"",I.flipSided?"#define FLIP_SIDED":"",I.shadowMapEnabled?"#define USE_SHADOWMAP":"",I.shadowMapEnabled?"#define "+t:"",I.sizeAttenuation?"#define USE_SIZEATTENUATION":"",I.numLightProbes>0?"#define USE_LIGHT_PROBES":"",I.useLegacyLights?"#define LEGACY_LIGHTS":"",I.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," 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(zs).join(` +`),c=[yf(I),"#define SHADER_TYPE "+I.shaderType,"#define SHADER_NAME "+I.shaderName,h,I.useFog&&I.fog?"#define USE_FOG":"",I.useFog&&I.fogExp2?"#define FOG_EXP2":"",I.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",I.map?"#define USE_MAP":"",I.matcap?"#define USE_MATCAP":"",I.envMap?"#define USE_ENVMAP":"",I.envMap?"#define "+E:"",I.envMap?"#define "+o:"",I.envMap?"#define "+s:"",r?"#define CUBEUV_TEXEL_WIDTH "+r.texelWidth:"",r?"#define CUBEUV_TEXEL_HEIGHT "+r.texelHeight:"",r?"#define CUBEUV_MAX_MIP "+r.maxMip+".0":"",I.lightMap?"#define USE_LIGHTMAP":"",I.aoMap?"#define USE_AOMAP":"",I.bumpMap?"#define USE_BUMPMAP":"",I.normalMap?"#define USE_NORMALMAP":"",I.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",I.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",I.emissiveMap?"#define USE_EMISSIVEMAP":"",I.anisotropy?"#define USE_ANISOTROPY":"",I.anisotropyMap?"#define USE_ANISOTROPYMAP":"",I.clearcoat?"#define USE_CLEARCOAT":"",I.clearcoatMap?"#define USE_CLEARCOATMAP":"",I.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",I.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",I.dispersion?"#define USE_DISPERSION":"",I.iridescence?"#define USE_IRIDESCENCE":"",I.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",I.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",I.specularMap?"#define USE_SPECULARMAP":"",I.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",I.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",I.roughnessMap?"#define USE_ROUGHNESSMAP":"",I.metalnessMap?"#define USE_METALNESSMAP":"",I.alphaMap?"#define USE_ALPHAMAP":"",I.alphaTest?"#define USE_ALPHATEST":"",I.alphaHash?"#define USE_ALPHAHASH":"",I.sheen?"#define USE_SHEEN":"",I.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",I.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",I.transmission?"#define USE_TRANSMISSION":"",I.transmissionMap?"#define USE_TRANSMISSIONMAP":"",I.thicknessMap?"#define USE_THICKNESSMAP":"",I.vertexTangents&&I.flatShading===!1?"#define USE_TANGENT":"",I.vertexColors||I.instancingColor?"#define USE_COLOR":"",I.vertexAlphas?"#define USE_COLOR_ALPHA":"",I.vertexUv1s?"#define USE_UV1":"",I.vertexUv2s?"#define USE_UV2":"",I.vertexUv3s?"#define USE_UV3":"",I.pointsUvs?"#define USE_POINTS_UV":"",I.gradientMap?"#define USE_GRADIENTMAP":"",I.flatShading?"#define FLAT_SHADED":"",I.doubleSided?"#define DOUBLE_SIDED":"",I.flipSided?"#define FLIP_SIDED":"",I.shadowMapEnabled?"#define USE_SHADOWMAP":"",I.shadowMapEnabled?"#define "+t:"",I.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",I.numLightProbes>0?"#define USE_LIGHT_PROBES":"",I.useLegacyLights?"#define LEGACY_LIGHTS":"",I.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",I.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",I.toneMapping!==cQ?"#define TONE_MAPPING":"",I.toneMapping!==cQ?RI.tonemapping_pars_fragment:"",I.toneMapping!==cQ?u_("toneMapping",I.toneMapping):"",I.dithering?"#define DITHERING":"",I.opaque?"#define OPAQUE":"",RI.colorspace_pars_fragment,y_("linearToOutputTexel",I.outputColorSpace),I.useDepthPacking?"#define DEPTH_PACKING "+I.depthPacking:"",` +`].filter(zs).join(` +`)),Q=$u(Q),Q=Sf(Q,I),Q=wf(Q,I),e=$u(e),e=Sf(e,I),e=wf(e,I),Q=Gf(Q),e=Gf(e),I.isRawShaderMaterial!==!0&&(G=`#version 300 es +`,D=[l,"#define attribute in","#define varying out","#define texture2D texture"].join(` +`)+` +`+D,c=["#define varying in",I.glslVersion===Xu?"":"layout(location = 0) out highp vec4 pc_fragColor;",I.glslVersion===Xu?"":"#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(` +`)+` +`+c);const y=G+D+Q,k=G+c+e,F=hf(i,i.VERTEX_SHADER,y),U=hf(i,i.FRAGMENT_SHADER,k);i.attachShader(w,F),i.attachShader(w,U),I.index0AttributeName!==void 0?i.bindAttribLocation(w,0,I.index0AttributeName):I.morphTargets===!0&&i.bindAttribLocation(w,0,"position"),i.linkProgram(w);function f(m){if(g.debug.checkShaderErrors){const q=i.getProgramInfoLog(w).trim(),L=i.getShaderInfoLog(F).trim(),_=i.getShaderInfoLog(U).trim();let IA=!0,CA=!0;if(i.getProgramParameter(w,i.LINK_STATUS)===!1)if(IA=!1,typeof g.debug.onShaderError=="function")g.debug.onShaderError(i,w,F,U);else{const lA=Df(i,F,"vertex"),H=Df(i,U,"fragment");console.error("THREE.WebGLProgram: Shader Error "+i.getError()+" - VALIDATE_STATUS "+i.getProgramParameter(w,i.VALIDATE_STATUS)+` + +Material Name: `+m.name+` +Material Type: `+m.type+` + +Program Info Log: `+q+` +`+lA+` +`+H)}else q!==""?console.warn("THREE.WebGLProgram: Program Info Log:",q):(L===""||_==="")&&(CA=!1);CA&&(m.diagnostics={runnable:IA,programLog:q,vertexShader:{log:L,prefix:D},fragmentShader:{log:_,prefix:c}})}i.deleteShader(F),i.deleteShader(U),K=new rh(i,w),N=M_(i,w)}let K;this.getUniforms=function(){return K===void 0&&f(this),K};let N;this.getAttributes=function(){return N===void 0&&f(this),N};let p=I.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return p===!1&&(p=i.getProgramParameter(w,D_)),p},this.destroy=function(){C.releaseStatesOfProgram(this),i.deleteProgram(w),this.program=void 0},this.type=I.shaderType,this.name=I.shaderName,this.id=S_++,this.cacheKey=A,this.usedTimes=1,this.program=w,this.vertexShader=F,this.fragmentShader=U,this}let Y_=0;class H_{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(A){const I=A.vertexShader,C=A.fragmentShader,i=this._getShaderStage(I),B=this._getShaderStage(C),Q=this._getShaderCacheForMaterial(A);return Q.has(i)===!1&&(Q.add(i),i.usedTimes++),Q.has(B)===!1&&(Q.add(B),B.usedTimes++),this}remove(A){const I=this.materialCache.get(A);for(const C of I)C.usedTimes--,C.usedTimes===0&&this.shaderCache.delete(C.code);return this.materialCache.delete(A),this}getVertexShaderID(A){return this._getShaderStage(A.vertexShader).id}getFragmentShaderID(A){return this._getShaderStage(A.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(A){const I=this.materialCache;let C=I.get(A);return C===void 0&&(C=new Set,I.set(A,C)),C}_getShaderStage(A){const I=this.shaderCache;let C=I.get(A);return C===void 0&&(C=new T_(A),I.set(A,C)),C}}class T_{constructor(A){this.id=Y_++,this.code=A,this.usedTimes=0}}function x_(g,A,I,C,i,B,Q){const e=new DE,t=new H_,E=new Set,o=[],s=i.logarithmicDepthBuffer,r=i.vertexTextures;let l=i.precision;const h={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 w(N){return E.add(N),N===0?"uv":`uv${N}`}function D(N,p,m,q,L){const _=q.fog,IA=L.geometry,CA=N.isMeshStandardMaterial?q.environment:null,lA=(N.isMeshStandardMaterial?I:A).get(N.envMap||CA),H=lA&&lA.mapping===qn?lA.image.height:null,O=h[N.type];N.precision!==null&&(l=i.getMaxPrecision(N.precision),l!==N.precision&&console.warn("THREE.WebGLProgram.getParameters:",N.precision,"not supported, using",l,"instead."));const v=IA.morphAttributes.position||IA.morphAttributes.normal||IA.morphAttributes.color,Y=v!==void 0?v.length:0;let j=0;IA.morphAttributes.position!==void 0&&(j=1),IA.morphAttributes.normal!==void 0&&(j=2),IA.morphAttributes.color!==void 0&&(j=3);let QA,P,X,gA;if(O){const AI=_B[O];QA=AI.vertexShader,P=AI.fragmentShader}else QA=N.vertexShader,P=N.fragmentShader,t.update(N),X=t.getVertexShaderID(N),gA=t.getFragmentShaderID(N);const AA=g.getRenderTarget(),wA=L.isInstancedMesh===!0,dA=L.isBatchedMesh===!0,V=!!N.map,MA=!!N.matcap,$=!!lA,GA=!!N.aoMap,cA=!!N.lightMap,pA=!!N.bumpMap,SA=!!N.normalMap,LA=!!N.displacementMap,UA=!!N.emissiveMap,x=!!N.metalnessMap,J=!!N.roughnessMap,Z=N.anisotropy>0,sA=N.clearcoat>0,EA=N.dispersion>0,aA=N.iridescence>0,qA=N.sheen>0,TA=N.transmission>0,fA=Z&&!!N.anisotropyMap,bA=sA&&!!N.clearcoatMap,RA=sA&&!!N.clearcoatNormalMap,OA=sA&&!!N.clearcoatRoughnessMap,zA=aA&&!!N.iridescenceMap,VA=aA&&!!N.iridescenceThicknessMap,YA=qA&&!!N.sheenColorMap,PA=qA&&!!N.sheenRoughnessMap,xA=!!N.specularMap,aI=!!N.specularColorMap,gI=!!N.specularIntensityMap,BA=TA&&!!N.transmissionMap,KA=TA&&!!N.thicknessMap,DA=!!N.gradientMap,HA=!!N.alphaMap,jA=N.alphaTest>0,QI=!!N.alphaHash,BI=!!N.extensions;let wI=cQ;N.toneMapped&&(AA===null||AA.isXRRenderTarget===!0)&&(wI=g.toneMapping);const pI={shaderID:O,shaderType:N.type,shaderName:N.name,vertexShader:QA,fragmentShader:P,defines:N.defines,customVertexShaderID:X,customFragmentShaderID:gA,isRawShaderMaterial:N.isRawShaderMaterial===!0,glslVersion:N.glslVersion,precision:l,batching:dA,instancing:wA,instancingColor:wA&&L.instanceColor!==null,instancingMorph:wA&&L.morphTexture!==null,supportsVertexTextures:r,outputColorSpace:AA===null?g.outputColorSpace:AA.isXRRenderTarget===!0?AA.texture.colorSpace:dC,alphaToCoverage:!!N.alphaToCoverage,map:V,matcap:MA,envMap:$,envMapMode:$&&lA.mapping,envMapCubeUVHeight:H,aoMap:GA,lightMap:cA,bumpMap:pA,normalMap:SA,displacementMap:r&&LA,emissiveMap:UA,normalMapObjectSpace:SA&&N.normalMapType===zJ,normalMapTangentSpace:SA&&N.normalMapType===rt,metalnessMap:x,roughnessMap:J,anisotropy:Z,anisotropyMap:fA,clearcoat:sA,clearcoatMap:bA,clearcoatNormalMap:RA,clearcoatRoughnessMap:OA,dispersion:EA,iridescence:aA,iridescenceMap:zA,iridescenceThicknessMap:VA,sheen:qA,sheenColorMap:YA,sheenRoughnessMap:PA,specularMap:xA,specularColorMap:aI,specularIntensityMap:gI,transmission:TA,transmissionMap:BA,thicknessMap:KA,gradientMap:DA,opaque:N.transparent===!1&&N.blending===rE&&N.alphaToCoverage===!1,alphaMap:HA,alphaTest:jA,alphaHash:QI,combine:N.combine,mapUv:V&&w(N.map.channel),aoMapUv:GA&&w(N.aoMap.channel),lightMapUv:cA&&w(N.lightMap.channel),bumpMapUv:pA&&w(N.bumpMap.channel),normalMapUv:SA&&w(N.normalMap.channel),displacementMapUv:LA&&w(N.displacementMap.channel),emissiveMapUv:UA&&w(N.emissiveMap.channel),metalnessMapUv:x&&w(N.metalnessMap.channel),roughnessMapUv:J&&w(N.roughnessMap.channel),anisotropyMapUv:fA&&w(N.anisotropyMap.channel),clearcoatMapUv:bA&&w(N.clearcoatMap.channel),clearcoatNormalMapUv:RA&&w(N.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:OA&&w(N.clearcoatRoughnessMap.channel),iridescenceMapUv:zA&&w(N.iridescenceMap.channel),iridescenceThicknessMapUv:VA&&w(N.iridescenceThicknessMap.channel),sheenColorMapUv:YA&&w(N.sheenColorMap.channel),sheenRoughnessMapUv:PA&&w(N.sheenRoughnessMap.channel),specularMapUv:xA&&w(N.specularMap.channel),specularColorMapUv:aI&&w(N.specularColorMap.channel),specularIntensityMapUv:gI&&w(N.specularIntensityMap.channel),transmissionMapUv:BA&&w(N.transmissionMap.channel),thicknessMapUv:KA&&w(N.thicknessMap.channel),alphaMapUv:HA&&w(N.alphaMap.channel),vertexTangents:!!IA.attributes.tangent&&(SA||Z),vertexColors:N.vertexColors,vertexAlphas:N.vertexColors===!0&&!!IA.attributes.color&&IA.attributes.color.itemSize===4,pointsUvs:L.isPoints===!0&&!!IA.attributes.uv&&(V||HA),fog:!!_,useFog:N.fog===!0,fogExp2:!!_&&_.isFogExp2,flatShading:N.flatShading===!0,sizeAttenuation:N.sizeAttenuation===!0,logarithmicDepthBuffer:s,skinning:L.isSkinnedMesh===!0,morphTargets:IA.morphAttributes.position!==void 0,morphNormals:IA.morphAttributes.normal!==void 0,morphColors:IA.morphAttributes.color!==void 0,morphTargetsCount:Y,morphTextureStride:j,numDirLights:p.directional.length,numPointLights:p.point.length,numSpotLights:p.spot.length,numSpotLightMaps:p.spotLightMap.length,numRectAreaLights:p.rectArea.length,numHemiLights:p.hemi.length,numDirLightShadows:p.directionalShadowMap.length,numPointLightShadows:p.pointShadowMap.length,numSpotLightShadows:p.spotShadowMap.length,numSpotLightShadowsWithMaps:p.numSpotLightShadowsWithMaps,numLightProbes:p.numLightProbes,numClippingPlanes:Q.numPlanes,numClipIntersection:Q.numIntersection,dithering:N.dithering,shadowMapEnabled:g.shadowMap.enabled&&m.length>0,shadowMapType:g.shadowMap.type,toneMapping:wI,useLegacyLights:g._useLegacyLights,decodeVideoTexture:V&&N.map.isVideoTexture===!0&&Ag.getTransfer(N.map.colorSpace)===rg,premultipliedAlpha:N.premultipliedAlpha,doubleSided:N.side===fi,flipSided:N.side===gi,useDepthPacking:N.depthPacking>=0,depthPacking:N.depthPacking||0,index0AttributeName:N.index0AttributeName,extensionClipCullDistance:BI&&N.extensions.clipCullDistance===!0&&C.has("WEBGL_clip_cull_distance"),extensionMultiDraw:BI&&N.extensions.multiDraw===!0&&C.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:C.has("KHR_parallel_shader_compile"),customProgramCacheKey:N.customProgramCacheKey()};return pI.vertexUv1s=E.has(1),pI.vertexUv2s=E.has(2),pI.vertexUv3s=E.has(3),E.clear(),pI}function c(N){const p=[];if(N.shaderID?p.push(N.shaderID):(p.push(N.customVertexShaderID),p.push(N.customFragmentShaderID)),N.defines!==void 0)for(const m in N.defines)p.push(m),p.push(N.defines[m]);return N.isRawShaderMaterial===!1&&(G(p,N),y(p,N),p.push(g.outputColorSpace)),p.push(N.customProgramCacheKey),p.join()}function G(N,p){N.push(p.precision),N.push(p.outputColorSpace),N.push(p.envMapMode),N.push(p.envMapCubeUVHeight),N.push(p.mapUv),N.push(p.alphaMapUv),N.push(p.lightMapUv),N.push(p.aoMapUv),N.push(p.bumpMapUv),N.push(p.normalMapUv),N.push(p.displacementMapUv),N.push(p.emissiveMapUv),N.push(p.metalnessMapUv),N.push(p.roughnessMapUv),N.push(p.anisotropyMapUv),N.push(p.clearcoatMapUv),N.push(p.clearcoatNormalMapUv),N.push(p.clearcoatRoughnessMapUv),N.push(p.iridescenceMapUv),N.push(p.iridescenceThicknessMapUv),N.push(p.sheenColorMapUv),N.push(p.sheenRoughnessMapUv),N.push(p.specularMapUv),N.push(p.specularColorMapUv),N.push(p.specularIntensityMapUv),N.push(p.transmissionMapUv),N.push(p.thicknessMapUv),N.push(p.combine),N.push(p.fogExp2),N.push(p.sizeAttenuation),N.push(p.morphTargetsCount),N.push(p.morphAttributeCount),N.push(p.numDirLights),N.push(p.numPointLights),N.push(p.numSpotLights),N.push(p.numSpotLightMaps),N.push(p.numHemiLights),N.push(p.numRectAreaLights),N.push(p.numDirLightShadows),N.push(p.numPointLightShadows),N.push(p.numSpotLightShadows),N.push(p.numSpotLightShadowsWithMaps),N.push(p.numLightProbes),N.push(p.shadowMapType),N.push(p.toneMapping),N.push(p.numClippingPlanes),N.push(p.numClipIntersection),N.push(p.depthPacking)}function y(N,p){e.disableAll(),p.supportsVertexTextures&&e.enable(0),p.instancing&&e.enable(1),p.instancingColor&&e.enable(2),p.instancingMorph&&e.enable(3),p.matcap&&e.enable(4),p.envMap&&e.enable(5),p.normalMapObjectSpace&&e.enable(6),p.normalMapTangentSpace&&e.enable(7),p.clearcoat&&e.enable(8),p.iridescence&&e.enable(9),p.alphaTest&&e.enable(10),p.vertexColors&&e.enable(11),p.vertexAlphas&&e.enable(12),p.vertexUv1s&&e.enable(13),p.vertexUv2s&&e.enable(14),p.vertexUv3s&&e.enable(15),p.vertexTangents&&e.enable(16),p.anisotropy&&e.enable(17),p.alphaHash&&e.enable(18),p.batching&&e.enable(19),p.dispersion&&e.enable(20),N.push(e.mask),e.disableAll(),p.fog&&e.enable(0),p.useFog&&e.enable(1),p.flatShading&&e.enable(2),p.logarithmicDepthBuffer&&e.enable(3),p.skinning&&e.enable(4),p.morphTargets&&e.enable(5),p.morphNormals&&e.enable(6),p.morphColors&&e.enable(7),p.premultipliedAlpha&&e.enable(8),p.shadowMapEnabled&&e.enable(9),p.useLegacyLights&&e.enable(10),p.doubleSided&&e.enable(11),p.flipSided&&e.enable(12),p.useDepthPacking&&e.enable(13),p.dithering&&e.enable(14),p.transmission&&e.enable(15),p.sheen&&e.enable(16),p.opaque&&e.enable(17),p.pointsUvs&&e.enable(18),p.decodeVideoTexture&&e.enable(19),p.alphaToCoverage&&e.enable(20),N.push(e.mask)}function k(N){const p=h[N.type];let m;if(p){const q=_B[p];m=Kd.clone(q.uniforms)}else m=N.uniforms;return m}function F(N,p){let m;for(let q=0,L=o.length;q0?C.push(c):l.transparent===!0?i.push(c):I.push(c)}function t(s,r,l,h,w,D){const c=Q(s,r,l,h,w,D);l.transmission>0?C.unshift(c):l.transparent===!0?i.unshift(c):I.unshift(c)}function E(s,r){I.length>1&&I.sort(s||b_),C.length>1&&C.sort(r||uf),i.length>1&&i.sort(r||uf)}function o(){for(let s=A,r=g.length;s=B.length?(Q=new kf,B.push(Q)):Q=B[i],Q}function I(){g=new WeakMap}return{get:A,dispose:I}}function __(){const g={};return{get:function(A){if(g[A.id]!==void 0)return g[A.id];let I;switch(A.type){case"DirectionalLight":I={direction:new T,color:new ZA};break;case"SpotLight":I={position:new T,direction:new T,color:new ZA,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":I={position:new T,color:new ZA,distance:0,decay:0};break;case"HemisphereLight":I={direction:new T,skyColor:new ZA,groundColor:new ZA};break;case"RectAreaLight":I={color:new ZA,position:new T,halfWidth:new T,halfHeight:new T};break}return g[A.id]=I,I}}}function P_(){const g={};return{get:function(A){if(g[A.id]!==void 0)return g[A.id];let I;switch(A.type){case"DirectionalLight":I={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new mA};break;case"SpotLight":I={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new mA};break;case"PointLight":I={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new mA,shadowCameraNear:1,shadowCameraFar:1e3};break}return g[A.id]=I,I}}}let Z_=0;function W_(g,A){return(A.castShadow?2:0)-(g.castShadow?2:0)+(A.map?1:0)-(g.map?1:0)}function V_(g){const A=new __,I=P_(),C={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 E=0;E<9;E++)C.probe.push(new T);const i=new T,B=new iI,Q=new iI;function e(E,o){let s=0,r=0,l=0;for(let m=0;m<9;m++)C.probe[m].set(0,0,0);let h=0,w=0,D=0,c=0,G=0,y=0,k=0,F=0,U=0,f=0,K=0;E.sort(W_);const N=o===!0?Math.PI:1;for(let m=0,q=E.length;m0&&(g.has("OES_texture_float_linear")===!0?(C.rectAreaLTC1=XA.LTC_FLOAT_1,C.rectAreaLTC2=XA.LTC_FLOAT_2):(C.rectAreaLTC1=XA.LTC_HALF_1,C.rectAreaLTC2=XA.LTC_HALF_2)),C.ambient[0]=s,C.ambient[1]=r,C.ambient[2]=l;const p=C.hash;(p.directionalLength!==h||p.pointLength!==w||p.spotLength!==D||p.rectAreaLength!==c||p.hemiLength!==G||p.numDirectionalShadows!==y||p.numPointShadows!==k||p.numSpotShadows!==F||p.numSpotMaps!==U||p.numLightProbes!==K)&&(C.directional.length=h,C.spot.length=D,C.rectArea.length=c,C.point.length=w,C.hemi.length=G,C.directionalShadow.length=y,C.directionalShadowMap.length=y,C.pointShadow.length=k,C.pointShadowMap.length=k,C.spotShadow.length=F,C.spotShadowMap.length=F,C.directionalShadowMatrix.length=y,C.pointShadowMatrix.length=k,C.spotLightMatrix.length=F+U-f,C.spotLightMap.length=U,C.numSpotLightShadowsWithMaps=f,C.numLightProbes=K,p.directionalLength=h,p.pointLength=w,p.spotLength=D,p.rectAreaLength=c,p.hemiLength=G,p.numDirectionalShadows=y,p.numPointShadows=k,p.numSpotShadows=F,p.numSpotMaps=U,p.numLightProbes=K,C.version=Z_++)}function t(E,o){let s=0,r=0,l=0,h=0,w=0;const D=o.matrixWorldInverse;for(let c=0,G=E.length;c=Q.length?(e=new df(g),Q.push(e)):e=Q[B],e}function C(){A=new WeakMap}return{get:I,dispose:C}}class qD extends Gg{constructor(A){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=XJ,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(A)}copy(A){return super.copy(A),this.depthPacking=A.depthPacking,this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this}}class mD extends Gg{constructor(A){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(A)}copy(A){return super.copy(A),this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this}}const X_=`void main() { + gl_Position = vec4( position, 1.0 ); +}`,z_=`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 $_(g,A,I){let C=new yr;const i=new mA,B=new mA,Q=new Ig,e=new qD({depthPacking:pd}),t=new mD,E={},o=I.maxTextureSize,s={[pB]:gi,[gi]:pB,[fi]:fi},r=new UB({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new mA},radius:{value:4}},vertexShader:X_,fragmentShader:z_}),l=r.clone();l.defines.HORIZONTAL_PASS=1;const h=new MI;h.setAttribute("position",new yI(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const w=new eg(h,r),D=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=UD;let c=this.type;this.render=function(U,f,K){if(D.enabled===!1||D.autoUpdate===!1&&D.needsUpdate===!1||U.length===0)return;const N=g.getRenderTarget(),p=g.getActiveCubeFace(),m=g.getActiveMipmapLevel(),q=g.state;q.setBlending(XQ),q.buffers.color.setClear(1,1,1,1),q.buffers.depth.setTest(!0),q.setScissorTest(!1);const L=c!==TB&&this.type===TB,_=c===TB&&this.type!==TB;for(let IA=0,CA=U.length;IAo||i.y>o)&&(i.x>o&&(B.x=Math.floor(o/O.x),i.x=B.x*O.x,H.mapSize.x=B.x),i.y>o&&(B.y=Math.floor(o/O.y),i.y=B.y*O.y,H.mapSize.y=B.y)),H.map===null||L===!0||_===!0){const Y=this.type!==TB?{minFilter:BC,magFilter:BC}:{};H.map!==null&&H.map.dispose(),H.map=new XB(i.x,i.y,Y),H.map.texture.name=lA.name+".shadowMap",H.camera.updateProjectionMatrix()}g.setRenderTarget(H.map),g.clear();const v=H.getViewportCount();for(let Y=0;Y0||f.map&&f.alphaTest>0){const q=p.uuid,L=f.uuid;let _=E[q];_===void 0&&(_={},E[q]=_);let IA=_[L];IA===void 0&&(IA=p.clone(),_[L]=IA,f.addEventListener("dispose",F)),p=IA}if(p.visible=f.visible,p.wireframe=f.wireframe,N===TB?p.side=f.shadowSide!==null?f.shadowSide:f.side:p.side=f.shadowSide!==null?f.shadowSide:s[f.side],p.alphaMap=f.alphaMap,p.alphaTest=f.alphaTest,p.map=f.map,p.clipShadows=f.clipShadows,p.clippingPlanes=f.clippingPlanes,p.clipIntersection=f.clipIntersection,p.displacementMap=f.displacementMap,p.displacementScale=f.displacementScale,p.displacementBias=f.displacementBias,p.wireframeLinewidth=f.wireframeLinewidth,p.linewidth=f.linewidth,K.isPointLight===!0&&p.isMeshDistanceMaterial===!0){const q=g.properties.get(p);q.light=K}return p}function k(U,f,K,N,p){if(U.visible===!1)return;if(U.layers.test(f.layers)&&(U.isMesh||U.isLine||U.isPoints)&&(U.castShadow||U.receiveShadow&&p===TB)&&(!U.frustumCulled||C.intersectsObject(U))){U.modelViewMatrix.multiplyMatrices(K.matrixWorldInverse,U.matrixWorld);const L=A.update(U),_=U.material;if(Array.isArray(_)){const IA=L.groups;for(let CA=0,lA=IA.length;CA=1):lA.indexOf("OpenGL ES")!==-1&&(CA=parseFloat(/^OpenGL ES (\d)/.exec(lA)[1]),IA=CA>=2);let H=null,O={};const v=g.getParameter(g.SCISSOR_BOX),Y=g.getParameter(g.VIEWPORT),j=new Ig().fromArray(v),QA=new Ig().fromArray(Y);function P(BA,KA,DA,HA){const jA=new Uint8Array(4),QI=g.createTexture();g.bindTexture(BA,QI),g.texParameteri(BA,g.TEXTURE_MIN_FILTER,g.NEAREST),g.texParameteri(BA,g.TEXTURE_MAG_FILTER,g.NEAREST);for(let BI=0;BI"u"?!1:/OculusBrowser/g.test(navigator.userAgent),E=new mA,o=new WeakMap;let s;const r=new WeakMap;let l=!1;try{l=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function h(x,J){return l?new OffscreenCanvas(x,J):Wa("canvas")}function w(x,J,Z){let sA=1;const EA=UA(x);if((EA.width>Z||EA.height>Z)&&(sA=Z/Math.max(EA.width,EA.height)),sA<1)if(typeof HTMLImageElement<"u"&&x instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&x instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&x instanceof ImageBitmap||typeof VideoFrame<"u"&&x instanceof VideoFrame){const aA=Math.floor(sA*EA.width),qA=Math.floor(sA*EA.height);s===void 0&&(s=h(aA,qA));const TA=J?h(aA,qA):s;return TA.width=aA,TA.height=qA,TA.getContext("2d").drawImage(x,0,0,aA,qA),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+EA.width+"x"+EA.height+") to ("+aA+"x"+qA+")."),TA}else return"data"in x&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+EA.width+"x"+EA.height+")."),x;return x}function D(x){return x.generateMipmaps&&x.minFilter!==BC&&x.minFilter!==hg}function c(x){g.generateMipmap(x)}function G(x,J,Z,sA,EA=!1){if(x!==null){if(g[x]!==void 0)return g[x];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+x+"'")}let aA=J;if(J===g.RED&&(Z===g.FLOAT&&(aA=g.R32F),Z===g.HALF_FLOAT&&(aA=g.R16F),Z===g.UNSIGNED_BYTE&&(aA=g.R8)),J===g.RED_INTEGER&&(Z===g.UNSIGNED_BYTE&&(aA=g.R8UI),Z===g.UNSIGNED_SHORT&&(aA=g.R16UI),Z===g.UNSIGNED_INT&&(aA=g.R32UI),Z===g.BYTE&&(aA=g.R8I),Z===g.SHORT&&(aA=g.R16I),Z===g.INT&&(aA=g.R32I)),J===g.RG&&(Z===g.FLOAT&&(aA=g.RG32F),Z===g.HALF_FLOAT&&(aA=g.RG16F),Z===g.UNSIGNED_BYTE&&(aA=g.RG8)),J===g.RG_INTEGER&&(Z===g.UNSIGNED_BYTE&&(aA=g.RG8UI),Z===g.UNSIGNED_SHORT&&(aA=g.RG16UI),Z===g.UNSIGNED_INT&&(aA=g.RG32UI),Z===g.BYTE&&(aA=g.RG8I),Z===g.SHORT&&(aA=g.RG16I),Z===g.INT&&(aA=g.RG32I)),J===g.RGB&&Z===g.UNSIGNED_INT_5_9_9_9_REV&&(aA=g.RGB9_E5),J===g.RGBA){const qA=EA?ba:Ag.getTransfer(sA);Z===g.FLOAT&&(aA=g.RGBA32F),Z===g.HALF_FLOAT&&(aA=g.RGBA16F),Z===g.UNSIGNED_BYTE&&(aA=qA===rg?g.SRGB8_ALPHA8:g.RGBA8),Z===g.UNSIGNED_SHORT_4_4_4_4&&(aA=g.RGBA4),Z===g.UNSIGNED_SHORT_5_5_5_1&&(aA=g.RGB5_A1)}return(aA===g.R16F||aA===g.R32F||aA===g.RG16F||aA===g.RG32F||aA===g.RGBA16F||aA===g.RGBA32F)&&A.get("EXT_color_buffer_float"),aA}function y(x,J){return D(x)===!0||x.isFramebufferTexture&&x.minFilter!==BC&&x.minFilter!==hg?Math.log2(Math.max(J.width,J.height))+1:x.mipmaps!==void 0&&x.mipmaps.length>0?x.mipmaps.length:x.isCompressedTexture&&Array.isArray(x.image)?J.mipmaps.length:1}function k(x){const J=x.target;J.removeEventListener("dispose",k),U(J),J.isVideoTexture&&o.delete(J)}function F(x){const J=x.target;J.removeEventListener("dispose",F),K(J)}function U(x){const J=C.get(x);if(J.__webglInit===void 0)return;const Z=x.source,sA=r.get(Z);if(sA){const EA=sA[J.__cacheKey];EA.usedTimes--,EA.usedTimes===0&&f(x),Object.keys(sA).length===0&&r.delete(Z)}C.remove(x)}function f(x){const J=C.get(x);g.deleteTexture(J.__webglTexture);const Z=x.source,sA=r.get(Z);delete sA[J.__cacheKey],Q.memory.textures--}function K(x){const J=C.get(x);if(x.depthTexture&&x.depthTexture.dispose(),x.isWebGLCubeRenderTarget)for(let sA=0;sA<6;sA++){if(Array.isArray(J.__webglFramebuffer[sA]))for(let EA=0;EA=i.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+x+" texture units while this GPU supports only "+i.maxTextures),N+=1,x}function q(x){const J=[];return J.push(x.wrapS),J.push(x.wrapT),J.push(x.wrapR||0),J.push(x.magFilter),J.push(x.minFilter),J.push(x.anisotropy),J.push(x.internalFormat),J.push(x.format),J.push(x.type),J.push(x.generateMipmaps),J.push(x.premultiplyAlpha),J.push(x.flipY),J.push(x.unpackAlignment),J.push(x.colorSpace),J.join()}function L(x,J){const Z=C.get(x);if(x.isVideoTexture&&SA(x),x.isRenderTargetTexture===!1&&x.version>0&&Z.__version!==x.version){const sA=x.image;if(sA===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(sA.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{j(Z,x,J);return}}I.bindTexture(g.TEXTURE_2D,Z.__webglTexture,g.TEXTURE0+J)}function _(x,J){const Z=C.get(x);if(x.version>0&&Z.__version!==x.version){j(Z,x,J);return}I.bindTexture(g.TEXTURE_2D_ARRAY,Z.__webglTexture,g.TEXTURE0+J)}function IA(x,J){const Z=C.get(x);if(x.version>0&&Z.__version!==x.version){j(Z,x,J);return}I.bindTexture(g.TEXTURE_3D,Z.__webglTexture,g.TEXTURE0+J)}function CA(x,J){const Z=C.get(x);if(x.version>0&&Z.__version!==x.version){QA(Z,x,J);return}I.bindTexture(g.TEXTURE_CUBE_MAP,Z.__webglTexture,g.TEXTURE0+J)}const lA={[jB]:g.REPEAT,[Fi]:g.CLAMP_TO_EDGE,[dE]:g.MIRRORED_REPEAT},H={[BC]:g.NEAREST,[cr]:g.NEAREST_MIPMAP_NEAREST,[We]:g.NEAREST_MIPMAP_LINEAR,[hg]:g.LINEAR,[lE]:g.LINEAR_MIPMAP_NEAREST,[Ri]:g.LINEAR_MIPMAP_LINEAR},O={[$J]:g.NEVER,[Bq]:g.ALWAYS,[Aq]:g.LESS,[Ud]:g.LEQUAL,[Iq]:g.EQUAL,[iq]:g.GEQUAL,[gq]:g.GREATER,[Cq]:g.NOTEQUAL};function v(x,J){if(J.type===yB&&A.has("OES_texture_float_linear")===!1&&(J.magFilter===hg||J.magFilter===lE||J.magFilter===We||J.magFilter===Ri||J.minFilter===hg||J.minFilter===lE||J.minFilter===We||J.minFilter===Ri)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),g.texParameteri(x,g.TEXTURE_WRAP_S,lA[J.wrapS]),g.texParameteri(x,g.TEXTURE_WRAP_T,lA[J.wrapT]),(x===g.TEXTURE_3D||x===g.TEXTURE_2D_ARRAY)&&g.texParameteri(x,g.TEXTURE_WRAP_R,lA[J.wrapR]),g.texParameteri(x,g.TEXTURE_MAG_FILTER,H[J.magFilter]),g.texParameteri(x,g.TEXTURE_MIN_FILTER,H[J.minFilter]),J.compareFunction&&(g.texParameteri(x,g.TEXTURE_COMPARE_MODE,g.COMPARE_REF_TO_TEXTURE),g.texParameteri(x,g.TEXTURE_COMPARE_FUNC,O[J.compareFunction])),A.has("EXT_texture_filter_anisotropic")===!0){if(J.magFilter===BC||J.minFilter!==We&&J.minFilter!==Ri||J.type===yB&&A.has("OES_texture_float_linear")===!1)return;if(J.anisotropy>1||C.get(J).__currentAnisotropy){const Z=A.get("EXT_texture_filter_anisotropic");g.texParameterf(x,Z.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(J.anisotropy,i.getMaxAnisotropy())),C.get(J).__currentAnisotropy=J.anisotropy}}}function Y(x,J){let Z=!1;x.__webglInit===void 0&&(x.__webglInit=!0,J.addEventListener("dispose",k));const sA=J.source;let EA=r.get(sA);EA===void 0&&(EA={},r.set(sA,EA));const aA=q(J);if(aA!==x.__cacheKey){EA[aA]===void 0&&(EA[aA]={texture:g.createTexture(),usedTimes:0},Q.memory.textures++,Z=!0),EA[aA].usedTimes++;const qA=EA[x.__cacheKey];qA!==void 0&&(EA[x.__cacheKey].usedTimes--,qA.usedTimes===0&&f(J)),x.__cacheKey=aA,x.__webglTexture=EA[aA].texture}return Z}function j(x,J,Z){let sA=g.TEXTURE_2D;(J.isDataArrayTexture||J.isCompressedArrayTexture)&&(sA=g.TEXTURE_2D_ARRAY),J.isData3DTexture&&(sA=g.TEXTURE_3D);const EA=Y(x,J),aA=J.source;I.bindTexture(sA,x.__webglTexture,g.TEXTURE0+Z);const qA=C.get(aA);if(aA.version!==qA.__version||EA===!0){I.activeTexture(g.TEXTURE0+Z);const TA=Ag.getPrimaries(Ag.workingColorSpace),fA=J.colorSpace===OQ?null:Ag.getPrimaries(J.colorSpace),bA=J.colorSpace===OQ||TA===fA?g.NONE:g.BROWSER_DEFAULT_WEBGL;g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,J.flipY),g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,J.premultiplyAlpha),g.pixelStorei(g.UNPACK_ALIGNMENT,J.unpackAlignment),g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,bA);let RA=w(J.image,!1,i.maxTextureSize);RA=LA(J,RA);const OA=B.convert(J.format,J.colorSpace),zA=B.convert(J.type);let VA=G(J.internalFormat,OA,zA,J.colorSpace,J.isVideoTexture);v(sA,J);let YA;const PA=J.mipmaps,xA=J.isVideoTexture!==!0,aI=qA.__version===void 0||EA===!0,gI=aA.dataReady,BA=y(J,RA);if(J.isDepthTexture)VA=g.DEPTH_COMPONENT16,J.type===yB?VA=g.DEPTH_COMPONENT32F:J.type===ME?VA=g.DEPTH_COMPONENT24:J.type===mn&&(VA=g.DEPTH24_STENCIL8),aI&&(xA?I.texStorage2D(g.TEXTURE_2D,1,VA,RA.width,RA.height):I.texImage2D(g.TEXTURE_2D,0,VA,RA.width,RA.height,0,OA,zA,null));else if(J.isDataTexture)if(PA.length>0){xA&&aI&&I.texStorage2D(g.TEXTURE_2D,BA,VA,PA[0].width,PA[0].height);for(let KA=0,DA=PA.length;KA>=1,DA>>=1}}else if(PA.length>0){if(xA&&aI){const KA=UA(PA[0]);I.texStorage2D(g.TEXTURE_2D,BA,VA,KA.width,KA.height)}for(let KA=0,DA=PA.length;KA0&&BA++;const DA=UA(OA[0]);I.texStorage2D(g.TEXTURE_CUBE_MAP,BA,PA,DA.width,DA.height)}for(let DA=0;DA<6;DA++)if(RA){xA?gI&&I.texSubImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_X+DA,0,0,0,OA[DA].width,OA[DA].height,VA,YA,OA[DA].data):I.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_X+DA,0,PA,OA[DA].width,OA[DA].height,0,VA,YA,OA[DA].data);for(let HA=0;HA>aA),OA=Math.max(1,J.height>>aA);EA===g.TEXTURE_3D||EA===g.TEXTURE_2D_ARRAY?I.texImage3D(EA,aA,fA,RA,OA,J.depth,0,qA,TA,null):I.texImage2D(EA,aA,fA,RA,OA,0,qA,TA,null)}I.bindFramebuffer(g.FRAMEBUFFER,x),pA(J)?e.framebufferTexture2DMultisampleEXT(g.FRAMEBUFFER,sA,EA,C.get(Z).__webglTexture,0,cA(J)):(EA===g.TEXTURE_2D||EA>=g.TEXTURE_CUBE_MAP_POSITIVE_X&&EA<=g.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&g.framebufferTexture2D(g.FRAMEBUFFER,sA,EA,C.get(Z).__webglTexture,aA),I.bindFramebuffer(g.FRAMEBUFFER,null)}function X(x,J,Z){if(g.bindRenderbuffer(g.RENDERBUFFER,x),J.depthBuffer&&!J.stencilBuffer){let sA=g.DEPTH_COMPONENT24;if(Z||pA(J)){const EA=J.depthTexture;EA&&EA.isDepthTexture&&(EA.type===yB?sA=g.DEPTH_COMPONENT32F:EA.type===ME&&(sA=g.DEPTH_COMPONENT24));const aA=cA(J);pA(J)?e.renderbufferStorageMultisampleEXT(g.RENDERBUFFER,aA,sA,J.width,J.height):g.renderbufferStorageMultisample(g.RENDERBUFFER,aA,sA,J.width,J.height)}else g.renderbufferStorage(g.RENDERBUFFER,sA,J.width,J.height);g.framebufferRenderbuffer(g.FRAMEBUFFER,g.DEPTH_ATTACHMENT,g.RENDERBUFFER,x)}else if(J.depthBuffer&&J.stencilBuffer){const sA=cA(J);Z&&pA(J)===!1?g.renderbufferStorageMultisample(g.RENDERBUFFER,sA,g.DEPTH24_STENCIL8,J.width,J.height):pA(J)?e.renderbufferStorageMultisampleEXT(g.RENDERBUFFER,sA,g.DEPTH24_STENCIL8,J.width,J.height):g.renderbufferStorage(g.RENDERBUFFER,g.DEPTH_STENCIL,J.width,J.height),g.framebufferRenderbuffer(g.FRAMEBUFFER,g.DEPTH_STENCIL_ATTACHMENT,g.RENDERBUFFER,x)}else{const sA=J.textures;for(let EA=0;EA1;if(qA||(sA.__webglTexture===void 0&&(sA.__webglTexture=g.createTexture()),sA.__version=J.version,Q.memory.textures++),aA){Z.__webglFramebuffer=[];for(let TA=0;TA<6;TA++)if(J.mipmaps&&J.mipmaps.length>0){Z.__webglFramebuffer[TA]=[];for(let fA=0;fA0){Z.__webglFramebuffer=[];for(let TA=0;TA0&&pA(x)===!1){Z.__webglMultisampledFramebuffer=g.createFramebuffer(),Z.__webglColorRenderbuffer=[],I.bindFramebuffer(g.FRAMEBUFFER,Z.__webglMultisampledFramebuffer);for(let TA=0;TA0)for(let fA=0;fA0)for(let fA=0;fA0){if(pA(x)===!1){const J=x.textures,Z=x.width,sA=x.height;let EA=g.COLOR_BUFFER_BIT;const aA=x.stencilBuffer?g.DEPTH_STENCIL_ATTACHMENT:g.DEPTH_ATTACHMENT,qA=C.get(x),TA=J.length>1;if(TA)for(let fA=0;fA0&&A.has("WEBGL_multisampled_render_to_texture")===!0&&J.__useRenderToTexture!==!1}function SA(x){const J=Q.render.frame;o.get(x)!==J&&(o.set(x,J),x.update())}function LA(x,J){const Z=x.colorSpace,sA=x.format,EA=x.type;return x.isCompressedTexture===!0||x.isVideoTexture===!0||Z!==dC&&Z!==OQ&&(Ag.getTransfer(Z)===rg?(sA!==Ki||EA!==DQ)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",Z)),J}function UA(x){return typeof HTMLImageElement<"u"&&x instanceof HTMLImageElement?(E.width=x.naturalWidth||x.width,E.height=x.naturalHeight||x.height):typeof VideoFrame<"u"&&x instanceof VideoFrame?(E.width=x.displayWidth,E.height=x.displayHeight):(E.width=x.width,E.height=x.height),E}this.allocateTextureUnit=m,this.resetTextureUnits=p,this.setTexture2D=L,this.setTexture2DArray=_,this.setTexture3D=IA,this.setTextureCube=CA,this.rebindTextures=wA,this.setupRenderTarget=dA,this.updateRenderTargetMipmap=V,this.updateMultisampleRenderTarget=GA,this.setupDepthRenderbuffer=AA,this.setupFrameBufferTexture=P,this.useMultisampledRTT=pA}function yq(g,A){function I(C,i=OQ){let B;const Q=Ag.getTransfer(i);if(C===DQ)return g.UNSIGNED_BYTE;if(C===Sd)return g.UNSIGNED_SHORT_4_4_4_4;if(C===wd)return g.UNSIGNED_SHORT_5_5_5_1;if(C===xJ)return g.UNSIGNED_INT_5_9_9_9_REV;if(C===HJ)return g.BYTE;if(C===TJ)return g.SHORT;if(C===hd)return g.UNSIGNED_SHORT;if(C===Dd)return g.INT;if(C===ME)return g.UNSIGNED_INT;if(C===yB)return g.FLOAT;if(C===hr)return g.HALF_FLOAT;if(C===vJ)return g.ALPHA;if(C===bJ)return g.RGB;if(C===Ki)return g.RGBA;if(C===OJ)return g.LUMINANCE;if(C===_J)return g.LUMINANCE_ALPHA;if(C===cE)return g.DEPTH_COMPONENT;if(C===yn)return g.DEPTH_STENCIL;if(C===Gd)return g.RED;if(C===yd)return g.RED_INTEGER;if(C===PJ)return g.RG;if(C===ud)return g.RG_INTEGER;if(C===kd)return g.RGBA_INTEGER;if(C===th||C===Eh||C===oh||C===nh)if(Q===rg)if(B=A.get("WEBGL_compressed_texture_s3tc_srgb"),B!==null){if(C===th)return B.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(C===Eh)return B.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(C===oh)return B.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(C===nh)return B.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(B=A.get("WEBGL_compressed_texture_s3tc"),B!==null){if(C===th)return B.COMPRESSED_RGB_S3TC_DXT1_EXT;if(C===Eh)return B.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(C===oh)return B.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(C===nh)return B.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(C===ku||C===du||C===Mu||C===pu)if(B=A.get("WEBGL_compressed_texture_pvrtc"),B!==null){if(C===ku)return B.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(C===du)return B.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(C===Mu)return B.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(C===pu)return B.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(C===Uu||C===fu||C===Nu)if(B=A.get("WEBGL_compressed_texture_etc"),B!==null){if(C===Uu||C===fu)return Q===rg?B.COMPRESSED_SRGB8_ETC2:B.COMPRESSED_RGB8_ETC2;if(C===Nu)return Q===rg?B.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:B.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(C===Fu||C===Ru||C===Ku||C===Ju||C===qu||C===mu||C===Lu||C===Yu||C===Hu||C===Tu||C===xu||C===vu||C===bu||C===Ou)if(B=A.get("WEBGL_compressed_texture_astc"),B!==null){if(C===Fu)return Q===rg?B.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:B.COMPRESSED_RGBA_ASTC_4x4_KHR;if(C===Ru)return Q===rg?B.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:B.COMPRESSED_RGBA_ASTC_5x4_KHR;if(C===Ku)return Q===rg?B.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:B.COMPRESSED_RGBA_ASTC_5x5_KHR;if(C===Ju)return Q===rg?B.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:B.COMPRESSED_RGBA_ASTC_6x5_KHR;if(C===qu)return Q===rg?B.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:B.COMPRESSED_RGBA_ASTC_6x6_KHR;if(C===mu)return Q===rg?B.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:B.COMPRESSED_RGBA_ASTC_8x5_KHR;if(C===Lu)return Q===rg?B.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:B.COMPRESSED_RGBA_ASTC_8x6_KHR;if(C===Yu)return Q===rg?B.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:B.COMPRESSED_RGBA_ASTC_8x8_KHR;if(C===Hu)return Q===rg?B.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:B.COMPRESSED_RGBA_ASTC_10x5_KHR;if(C===Tu)return Q===rg?B.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:B.COMPRESSED_RGBA_ASTC_10x6_KHR;if(C===xu)return Q===rg?B.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:B.COMPRESSED_RGBA_ASTC_10x8_KHR;if(C===vu)return Q===rg?B.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:B.COMPRESSED_RGBA_ASTC_10x10_KHR;if(C===bu)return Q===rg?B.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:B.COMPRESSED_RGBA_ASTC_12x10_KHR;if(C===Ou)return Q===rg?B.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:B.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(C===sh||C===_u||C===Pu)if(B=A.get("EXT_texture_compression_bptc"),B!==null){if(C===sh)return Q===rg?B.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:B.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(C===_u)return B.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(C===Pu)return B.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(C===ZJ||C===Zu||C===Wu||C===Vu)if(B=A.get("EXT_texture_compression_rgtc"),B!==null){if(C===sh)return B.COMPRESSED_RED_RGTC1_EXT;if(C===Zu)return B.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(C===Wu)return B.COMPRESSED_RED_GREEN_RGTC2_EXT;if(C===Vu)return B.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return C===mn?g.UNSIGNED_INT_24_8:g[C]!==void 0?g[C]:null}return{convert:I}}class uq extends CC{constructor(A=[]){super(),this.isArrayCamera=!0,this.cameras=A}}class uB extends YI{constructor(){super(),this.isGroup=!0,this.type="Group"}}const g3={type:"move"};class pG{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new uB,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 uB,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new T,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new T),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new uB,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new T,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new T),this._grip}dispatchEvent(A){return this._targetRay!==null&&this._targetRay.dispatchEvent(A),this._grip!==null&&this._grip.dispatchEvent(A),this._hand!==null&&this._hand.dispatchEvent(A),this}connect(A){if(A&&A.hand){const I=this._hand;if(I)for(const C of A.hand.values())this._getHandJoint(I,C)}return this.dispatchEvent({type:"connected",data:A}),this}disconnect(A){return this.dispatchEvent({type:"disconnected",data:A}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(A,I,C){let i=null,B=null,Q=null;const e=this._targetRay,t=this._grip,E=this._hand;if(A&&I.session.visibilityState!=="visible-blurred"){if(E&&A.hand){Q=!0;for(const w of A.hand.values()){const D=I.getJointPose(w,C),c=this._getHandJoint(E,w);D!==null&&(c.matrix.fromArray(D.transform.matrix),c.matrix.decompose(c.position,c.rotation,c.scale),c.matrixWorldNeedsUpdate=!0,c.jointRadius=D.radius),c.visible=D!==null}const o=E.joints["index-finger-tip"],s=E.joints["thumb-tip"],r=o.position.distanceTo(s.position),l=.02,h=.005;E.inputState.pinching&&r>l+h?(E.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:A.handedness,target:this})):!E.inputState.pinching&&r<=l-h&&(E.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:A.handedness,target:this}))}else t!==null&&A.gripSpace&&(B=I.getPose(A.gripSpace,C),B!==null&&(t.matrix.fromArray(B.transform.matrix),t.matrix.decompose(t.position,t.rotation,t.scale),t.matrixWorldNeedsUpdate=!0,B.linearVelocity?(t.hasLinearVelocity=!0,t.linearVelocity.copy(B.linearVelocity)):t.hasLinearVelocity=!1,B.angularVelocity?(t.hasAngularVelocity=!0,t.angularVelocity.copy(B.angularVelocity)):t.hasAngularVelocity=!1));e!==null&&(i=I.getPose(A.targetRaySpace,C),i===null&&B!==null&&(i=B),i!==null&&(e.matrix.fromArray(i.transform.matrix),e.matrix.decompose(e.position,e.rotation,e.scale),e.matrixWorldNeedsUpdate=!0,i.linearVelocity?(e.hasLinearVelocity=!0,e.linearVelocity.copy(i.linearVelocity)):e.hasLinearVelocity=!1,i.angularVelocity?(e.hasAngularVelocity=!0,e.angularVelocity.copy(i.angularVelocity)):e.hasAngularVelocity=!1,this.dispatchEvent(g3)))}return e!==null&&(e.visible=i!==null),t!==null&&(t.visible=B!==null),E!==null&&(E.visible=Q!==null),this}_getHandJoint(A,I){if(A.joints[I.jointName]===void 0){const C=new uB;C.matrixAutoUpdate=!1,C.visible=!1,A.joints[I.jointName]=C,A.add(C)}return A.joints[I.jointName]}}const C3=` +void main() { + + gl_Position = vec4( position, 1.0 ); + +}`,i3=` +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_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; + + } else { + + gl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; + + } + +}`;class B3{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(A,I,C){if(this.texture===null){const i=new ig,B=A.properties.get(i);B.__webglTexture=I.texture,(I.depthNear!=C.depthNear||I.depthFar!=C.depthFar)&&(this.depthNear=I.depthNear,this.depthFar=I.depthFar),this.texture=i}}render(A,I){if(this.texture!==null){if(this.mesh===null){const C=I.cameras[0].viewport,i=new UB({vertexShader:C3,fragmentShader:i3,uniforms:{depthColor:{value:this.texture},depthWidth:{value:C.z},depthHeight:{value:C.w}}});this.mesh=new eg(new GQ(20,20),i)}A.render(this.mesh,I)}}reset(){this.texture=null,this.mesh=null}}class Q3 extends le{constructor(A,I){super();const C=this;let i=null,B=1,Q=null,e="local-floor",t=1,E=null,o=null,s=null,r=null,l=null,h=null;const w=new B3,D=I.getContextAttributes();let c=null,G=null;const y=[],k=[],F=new mA;let U=null;const f=new CC;f.layers.enable(1),f.viewport=new Ig;const K=new CC;K.layers.enable(2),K.viewport=new Ig;const N=[f,K],p=new uq;p.layers.enable(1),p.layers.enable(2);let m=null,q=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(P){let X=y[P];return X===void 0&&(X=new pG,y[P]=X),X.getTargetRaySpace()},this.getControllerGrip=function(P){let X=y[P];return X===void 0&&(X=new pG,y[P]=X),X.getGripSpace()},this.getHand=function(P){let X=y[P];return X===void 0&&(X=new pG,y[P]=X),X.getHandSpace()};function L(P){const X=k.indexOf(P.inputSource);if(X===-1)return;const gA=y[X];gA!==void 0&&(gA.update(P.inputSource,P.frame,E||Q),gA.dispatchEvent({type:P.type,data:P.inputSource}))}function _(){i.removeEventListener("select",L),i.removeEventListener("selectstart",L),i.removeEventListener("selectend",L),i.removeEventListener("squeeze",L),i.removeEventListener("squeezestart",L),i.removeEventListener("squeezeend",L),i.removeEventListener("end",_),i.removeEventListener("inputsourceschange",IA);for(let P=0;P=0&&(k[AA]=null,y[AA].disconnect(gA))}for(let X=0;X=k.length){k.push(gA),AA=dA;break}else if(k[dA]===null){k[dA]=gA,AA=dA;break}if(AA===-1)break}const wA=y[AA];wA&&wA.connect(gA)}}const CA=new T,lA=new T;function H(P,X,gA){CA.setFromMatrixPosition(X.matrixWorld),lA.setFromMatrixPosition(gA.matrixWorld);const AA=CA.distanceTo(lA),wA=X.projectionMatrix.elements,dA=gA.projectionMatrix.elements,V=wA[14]/(wA[10]-1),MA=wA[14]/(wA[10]+1),$=(wA[9]+1)/wA[5],GA=(wA[9]-1)/wA[5],cA=(wA[8]-1)/wA[0],pA=(dA[8]+1)/dA[0],SA=V*cA,LA=V*pA,UA=AA/(-cA+pA),x=UA*-cA;X.matrixWorld.decompose(P.position,P.quaternion,P.scale),P.translateX(x),P.translateZ(UA),P.matrixWorld.compose(P.position,P.quaternion,P.scale),P.matrixWorldInverse.copy(P.matrixWorld).invert();const J=V+UA,Z=MA+UA,sA=SA-x,EA=LA+(AA-x),aA=$*MA/Z*J,qA=GA*MA/Z*J;P.projectionMatrix.makePerspective(sA,EA,aA,qA,J,Z),P.projectionMatrixInverse.copy(P.projectionMatrix).invert()}function O(P,X){X===null?P.matrixWorld.copy(P.matrix):P.matrixWorld.multiplyMatrices(X.matrixWorld,P.matrix),P.matrixWorldInverse.copy(P.matrixWorld).invert()}this.updateCamera=function(P){if(i===null)return;w.texture!==null&&(P.near=w.depthNear,P.far=w.depthFar),p.near=K.near=f.near=P.near,p.far=K.far=f.far=P.far,(m!==p.near||q!==p.far)&&(i.updateRenderState({depthNear:p.near,depthFar:p.far}),m=p.near,q=p.far,f.near=m,f.far=q,K.near=m,K.far=q,f.updateProjectionMatrix(),K.updateProjectionMatrix(),P.updateProjectionMatrix());const X=P.parent,gA=p.cameras;O(p,X);for(let AA=0;AA0&&(D.alphaTest.value=c.alphaTest);const G=A.get(c),y=G.envMap,k=G.envMapRotation;if(y&&(D.envMap.value=y,xt.copy(k),xt.x*=-1,xt.y*=-1,xt.z*=-1,y.isCubeTexture&&y.isRenderTargetTexture===!1&&(xt.y*=-1,xt.z*=-1),D.envMapRotation.value.setFromMatrix4(e3.makeRotationFromEuler(xt)),D.flipEnvMap.value=y.isCubeTexture&&y.isRenderTargetTexture===!1?-1:1,D.reflectivity.value=c.reflectivity,D.ior.value=c.ior,D.refractionRatio.value=c.refractionRatio),c.lightMap){D.lightMap.value=c.lightMap;const F=g._useLegacyLights===!0?Math.PI:1;D.lightMapIntensity.value=c.lightMapIntensity*F,I(c.lightMap,D.lightMapTransform)}c.aoMap&&(D.aoMap.value=c.aoMap,D.aoMapIntensity.value=c.aoMapIntensity,I(c.aoMap,D.aoMapTransform))}function Q(D,c){D.diffuse.value.copy(c.color),D.opacity.value=c.opacity,c.map&&(D.map.value=c.map,I(c.map,D.mapTransform))}function e(D,c){D.dashSize.value=c.dashSize,D.totalSize.value=c.dashSize+c.gapSize,D.scale.value=c.scale}function t(D,c,G,y){D.diffuse.value.copy(c.color),D.opacity.value=c.opacity,D.size.value=c.size*G,D.scale.value=y*.5,c.map&&(D.map.value=c.map,I(c.map,D.uvTransform)),c.alphaMap&&(D.alphaMap.value=c.alphaMap,I(c.alphaMap,D.alphaMapTransform)),c.alphaTest>0&&(D.alphaTest.value=c.alphaTest)}function E(D,c){D.diffuse.value.copy(c.color),D.opacity.value=c.opacity,D.rotation.value=c.rotation,c.map&&(D.map.value=c.map,I(c.map,D.mapTransform)),c.alphaMap&&(D.alphaMap.value=c.alphaMap,I(c.alphaMap,D.alphaMapTransform)),c.alphaTest>0&&(D.alphaTest.value=c.alphaTest)}function o(D,c){D.specular.value.copy(c.specular),D.shininess.value=Math.max(c.shininess,1e-4)}function s(D,c){c.gradientMap&&(D.gradientMap.value=c.gradientMap)}function r(D,c){D.metalness.value=c.metalness,c.metalnessMap&&(D.metalnessMap.value=c.metalnessMap,I(c.metalnessMap,D.metalnessMapTransform)),D.roughness.value=c.roughness,c.roughnessMap&&(D.roughnessMap.value=c.roughnessMap,I(c.roughnessMap,D.roughnessMapTransform)),c.envMap&&(D.envMapIntensity.value=c.envMapIntensity)}function l(D,c,G){D.ior.value=c.ior,c.sheen>0&&(D.sheenColor.value.copy(c.sheenColor).multiplyScalar(c.sheen),D.sheenRoughness.value=c.sheenRoughness,c.sheenColorMap&&(D.sheenColorMap.value=c.sheenColorMap,I(c.sheenColorMap,D.sheenColorMapTransform)),c.sheenRoughnessMap&&(D.sheenRoughnessMap.value=c.sheenRoughnessMap,I(c.sheenRoughnessMap,D.sheenRoughnessMapTransform))),c.clearcoat>0&&(D.clearcoat.value=c.clearcoat,D.clearcoatRoughness.value=c.clearcoatRoughness,c.clearcoatMap&&(D.clearcoatMap.value=c.clearcoatMap,I(c.clearcoatMap,D.clearcoatMapTransform)),c.clearcoatRoughnessMap&&(D.clearcoatRoughnessMap.value=c.clearcoatRoughnessMap,I(c.clearcoatRoughnessMap,D.clearcoatRoughnessMapTransform)),c.clearcoatNormalMap&&(D.clearcoatNormalMap.value=c.clearcoatNormalMap,I(c.clearcoatNormalMap,D.clearcoatNormalMapTransform),D.clearcoatNormalScale.value.copy(c.clearcoatNormalScale),c.side===gi&&D.clearcoatNormalScale.value.negate())),c.dispersion>0&&(D.dispersion.value=c.dispersion),c.iridescence>0&&(D.iridescence.value=c.iridescence,D.iridescenceIOR.value=c.iridescenceIOR,D.iridescenceThicknessMinimum.value=c.iridescenceThicknessRange[0],D.iridescenceThicknessMaximum.value=c.iridescenceThicknessRange[1],c.iridescenceMap&&(D.iridescenceMap.value=c.iridescenceMap,I(c.iridescenceMap,D.iridescenceMapTransform)),c.iridescenceThicknessMap&&(D.iridescenceThicknessMap.value=c.iridescenceThicknessMap,I(c.iridescenceThicknessMap,D.iridescenceThicknessMapTransform))),c.transmission>0&&(D.transmission.value=c.transmission,D.transmissionSamplerMap.value=G.texture,D.transmissionSamplerSize.value.set(G.width,G.height),c.transmissionMap&&(D.transmissionMap.value=c.transmissionMap,I(c.transmissionMap,D.transmissionMapTransform)),D.thickness.value=c.thickness,c.thicknessMap&&(D.thicknessMap.value=c.thicknessMap,I(c.thicknessMap,D.thicknessMapTransform)),D.attenuationDistance.value=c.attenuationDistance,D.attenuationColor.value.copy(c.attenuationColor)),c.anisotropy>0&&(D.anisotropyVector.value.set(c.anisotropy*Math.cos(c.anisotropyRotation),c.anisotropy*Math.sin(c.anisotropyRotation)),c.anisotropyMap&&(D.anisotropyMap.value=c.anisotropyMap,I(c.anisotropyMap,D.anisotropyMapTransform))),D.specularIntensity.value=c.specularIntensity,D.specularColor.value.copy(c.specularColor),c.specularColorMap&&(D.specularColorMap.value=c.specularColorMap,I(c.specularColorMap,D.specularColorMapTransform)),c.specularIntensityMap&&(D.specularIntensityMap.value=c.specularIntensityMap,I(c.specularIntensityMap,D.specularIntensityMapTransform))}function h(D,c){c.matcap&&(D.matcap.value=c.matcap)}function w(D,c){const G=A.get(c).light;D.referencePosition.value.setFromMatrixPosition(G.matrixWorld),D.nearDistance.value=G.shadow.camera.near,D.farDistance.value=G.shadow.camera.far}return{refreshFogUniforms:C,refreshMaterialUniforms:i}}function E3(g,A,I,C){let i={},B={},Q=[];const e=g.getParameter(g.MAX_UNIFORM_BUFFER_BINDINGS);function t(G,y){const k=y.program;C.uniformBlockBinding(G,k)}function E(G,y){let k=i[G.id];k===void 0&&(h(G),k=o(G),i[G.id]=k,G.addEventListener("dispose",D));const F=y.program;C.updateUBOMapping(G,F);const U=A.render.frame;B[G.id]!==U&&(r(G),B[G.id]=U)}function o(G){const y=s();G.__bindingPointIndex=y;const k=g.createBuffer(),F=G.__size,U=G.usage;return g.bindBuffer(g.UNIFORM_BUFFER,k),g.bufferData(g.UNIFORM_BUFFER,F,U),g.bindBuffer(g.UNIFORM_BUFFER,null),g.bindBufferBase(g.UNIFORM_BUFFER,y,k),k}function s(){for(let G=0;G0&&(k+=F-U),G.__size=k,G.__cache={},this}function w(G){const y={boundary:0,storage:0};return typeof G=="number"||typeof G=="boolean"?(y.boundary=4,y.storage=4):G.isVector2?(y.boundary=8,y.storage=8):G.isVector3||G.isColor?(y.boundary=16,y.storage=12):G.isVector4?(y.boundary=16,y.storage=16):G.isMatrix3?(y.boundary=48,y.storage=48):G.isMatrix4?(y.boundary=64,y.storage=64):G.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",G),y}function D(G){const y=G.target;y.removeEventListener("dispose",D);const k=Q.indexOf(y.__bindingPointIndex);Q.splice(k,1),g.deleteBuffer(i[y.id]),delete i[y.id],delete B[y.id]}function c(){for(const G in i)g.deleteBuffer(i[G]);Q=[],i={},B={}}return{bind:t,update:E,dispose:c}}class kq{constructor(A={}){const{canvas:I=tq(),context:C=null,depth:i=!0,stencil:B=!1,alpha:Q=!1,antialias:e=!1,premultipliedAlpha:t=!0,preserveDrawingBuffer:E=!1,powerPreference:o="default",failIfMajorPerformanceCaveat:s=!1}=A;this.isWebGLRenderer=!0;let r;if(C!==null){if(typeof WebGLRenderingContext<"u"&&C instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");r=C.getContextAttributes().alpha}else r=Q;const l=new Uint32Array(4),h=new Int32Array(4);let w=null,D=null;const c=[],G=[];this.domElement=I,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=FC,this._useLegacyLights=!1,this.toneMapping=cQ,this.toneMappingExposure=1;const y=this;let k=!1,F=0,U=0,f=null,K=-1,N=null;const p=new Ig,m=new Ig;let q=null;const L=new ZA(0);let _=0,IA=I.width,CA=I.height,lA=1,H=null,O=null;const v=new Ig(0,0,IA,CA),Y=new Ig(0,0,IA,CA);let j=!1;const QA=new yr;let P=!1,X=!1;const gA=new iI,AA=new T,wA={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function dA(){return f===null?lA:1}let V=C;function MA(b,hA){return I.getContext(b,hA)}try{const b={alpha:!0,depth:i,stencil:B,antialias:e,premultipliedAlpha:t,preserveDrawingBuffer:E,powerPreference:o,failIfMajorPerformanceCaveat:s};if("setAttribute"in I&&I.setAttribute("data-engine",`three.js r${Jn}`),I.addEventListener("webglcontextlost",BA,!1),I.addEventListener("webglcontextrestored",KA,!1),I.addEventListener("webglcontextcreationerror",DA,!1),V===null){const hA="webgl2";if(V=MA(hA,b),V===null)throw MA(hA)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(b){throw console.error("THREE.WebGLRenderer: "+b.message),b}let $,GA,cA,pA,SA,LA,UA,x,J,Z,sA,EA,aA,qA,TA,fA,bA,RA,OA,zA,VA,YA,PA,xA;function aI(){$=new yO(V),$.init(),YA=new yq(V,$),GA=new cO(V,$,A,YA),cA=new A3(V),pA=new dO(V),SA=new v_,LA=new I3(V,$,cA,SA,GA,YA,pA),UA=new DO(y),x=new GO(y),J=new R2(V),PA=new rO(V,J),Z=new uO(V,J,pA,PA),sA=new pO(V,Z,J,pA),OA=new MO(V,GA,LA),fA=new hO(SA),EA=new x_(y,UA,x,$,GA,PA,fA),aA=new t3(y,SA),qA=new O_,TA=new j_($),RA=new aO(y,UA,x,cA,sA,r,t),bA=new $_(y,sA,GA),xA=new E3(V,pA,GA,cA),zA=new lO(V,$,pA),VA=new kO(V,$,pA),pA.programs=EA.programs,y.capabilities=GA,y.extensions=$,y.properties=SA,y.renderLists=qA,y.shadowMap=bA,y.state=cA,y.info=pA}aI();const gI=new Q3(y,V);this.xr=gI,this.getContext=function(){return V},this.getContextAttributes=function(){return V.getContextAttributes()},this.forceContextLoss=function(){const b=$.get("WEBGL_lose_context");b&&b.loseContext()},this.forceContextRestore=function(){const b=$.get("WEBGL_lose_context");b&&b.restoreContext()},this.getPixelRatio=function(){return lA},this.setPixelRatio=function(b){b!==void 0&&(lA=b,this.setSize(IA,CA,!1))},this.getSize=function(b){return b.set(IA,CA)},this.setSize=function(b,hA,NA=!0){if(gI.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}IA=b,CA=hA,I.width=Math.floor(b*lA),I.height=Math.floor(hA*lA),NA===!0&&(I.style.width=b+"px",I.style.height=hA+"px"),this.setViewport(0,0,b,hA)},this.getDrawingBufferSize=function(b){return b.set(IA*lA,CA*lA).floor()},this.setDrawingBufferSize=function(b,hA,NA){IA=b,CA=hA,lA=NA,I.width=Math.floor(b*NA),I.height=Math.floor(hA*NA),this.setViewport(0,0,b,hA)},this.getCurrentViewport=function(b){return b.copy(p)},this.getViewport=function(b){return b.copy(v)},this.setViewport=function(b,hA,NA,yA){b.isVector4?v.set(b.x,b.y,b.z,b.w):v.set(b,hA,NA,yA),cA.viewport(p.copy(v).multiplyScalar(lA).round())},this.getScissor=function(b){return b.copy(Y)},this.setScissor=function(b,hA,NA,yA){b.isVector4?Y.set(b.x,b.y,b.z,b.w):Y.set(b,hA,NA,yA),cA.scissor(m.copy(Y).multiplyScalar(lA).round())},this.getScissorTest=function(){return j},this.setScissorTest=function(b){cA.setScissorTest(j=b)},this.setOpaqueSort=function(b){H=b},this.setTransparentSort=function(b){O=b},this.getClearColor=function(b){return b.copy(RA.getClearColor())},this.setClearColor=function(){RA.setClearColor.apply(RA,arguments)},this.getClearAlpha=function(){return RA.getClearAlpha()},this.setClearAlpha=function(){RA.setClearAlpha.apply(RA,arguments)},this.clear=function(b=!0,hA=!0,NA=!0){let yA=0;if(b){let uA=!1;if(f!==null){const $A=f.texture.format;uA=$A===kd||$A===ud||$A===yd}if(uA){const $A=f.texture.type,EI=$A===DQ||$A===ME||$A===hd||$A===mn||$A===Sd||$A===wd,oI=RA.getClearColor(),hI=RA.getClearAlpha(),dI=oI.r,vA=oI.g,uI=oI.b;EI?(l[0]=dI,l[1]=vA,l[2]=uI,l[3]=hI,V.clearBufferuiv(V.COLOR,0,l)):(h[0]=dI,h[1]=vA,h[2]=uI,h[3]=hI,V.clearBufferiv(V.COLOR,0,h))}else yA|=V.COLOR_BUFFER_BIT}hA&&(yA|=V.DEPTH_BUFFER_BIT),NA&&(yA|=V.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),V.clear(yA)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){I.removeEventListener("webglcontextlost",BA,!1),I.removeEventListener("webglcontextrestored",KA,!1),I.removeEventListener("webglcontextcreationerror",DA,!1),qA.dispose(),TA.dispose(),SA.dispose(),UA.dispose(),x.dispose(),sA.dispose(),PA.dispose(),xA.dispose(),EA.dispose(),gI.dispose(),gI.removeEventListener("sessionstart",AI),gI.removeEventListener("sessionend",TI),WI.stop()};function BA(b){b.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),k=!0}function KA(){console.log("THREE.WebGLRenderer: Context Restored."),k=!1;const b=pA.autoReset,hA=bA.enabled,NA=bA.autoUpdate,yA=bA.needsUpdate,uA=bA.type;aI(),pA.autoReset=b,bA.enabled=hA,bA.autoUpdate=NA,bA.needsUpdate=yA,bA.type=uA}function DA(b){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",b.statusMessage)}function HA(b){const hA=b.target;hA.removeEventListener("dispose",HA),jA(hA)}function jA(b){QI(b),SA.remove(b)}function QI(b){const hA=SA.get(b).programs;hA!==void 0&&(hA.forEach(function(NA){EA.releaseProgram(NA)}),b.isShaderMaterial&&EA.releaseShaderCache(b))}this.renderBufferDirect=function(b,hA,NA,yA,uA,$A){hA===null&&(hA=wA);const EI=uA.isMesh&&uA.matrixWorld.determinant()<0,oI=eC(b,hA,NA,yA,uA);cA.setMaterial(yA,EI);let hI=NA.index,dI=1;if(yA.wireframe===!0){if(hI=Z.getWireframeAttribute(NA),hI===void 0)return;dI=2}const vA=NA.drawRange,uI=NA.attributes.position;let ag=vA.start*dI,Eg=(vA.start+vA.count)*dI;$A!==null&&(ag=Math.max(ag,$A.start*dI),Eg=Math.min(Eg,($A.start+$A.count)*dI)),hI!==null?(ag=Math.max(ag,0),Eg=Math.min(Eg,hI.count)):uI!=null&&(ag=Math.max(ag,0),Eg=Math.min(Eg,uI.count));const zg=Eg-ag;if(zg<0||zg===1/0)return;PA.setup(uA,yA,oI,NA,hI);let OC,JI=zA;if(hI!==null&&(OC=J.get(hI),JI=VA,JI.setIndex(OC)),uA.isMesh)yA.wireframe===!0?(cA.setLineWidth(yA.wireframeLinewidth*dA()),JI.setMode(V.LINES)):JI.setMode(V.TRIANGLES);else if(uA.isLine){let cI=yA.linewidth;cI===void 0&&(cI=1),cA.setLineWidth(cI*dA()),uA.isLineSegments?JI.setMode(V.LINES):uA.isLineLoop?JI.setMode(V.LINE_LOOP):JI.setMode(V.LINE_STRIP)}else uA.isPoints?JI.setMode(V.POINTS):uA.isSprite&&JI.setMode(V.TRIANGLES);if(uA.isBatchedMesh)uA._multiDrawInstances!==null?JI.renderMultiDrawInstances(uA._multiDrawStarts,uA._multiDrawCounts,uA._multiDrawCount,uA._multiDrawInstances):JI.renderMultiDraw(uA._multiDrawStarts,uA._multiDrawCounts,uA._multiDrawCount);else if(uA.isInstancedMesh)JI.renderInstances(ag,zg,uA.count);else if(NA.isInstancedBufferGeometry){const cI=NA._maxInstanceCount!==void 0?NA._maxInstanceCount:1/0,PI=Math.min(NA.instanceCount,cI);JI.renderInstances(ag,zg,PI)}else JI.render(ag,zg)};function BI(b,hA,NA){b.transparent===!0&&b.side===fi&&b.forceSinglePass===!1?(b.side=gi,b.needsUpdate=!0,ii(b,hA,NA),b.side=pB,b.needsUpdate=!0,ii(b,hA,NA),b.side=fi):ii(b,hA,NA)}this.compile=function(b,hA,NA=null){NA===null&&(NA=b),D=TA.get(NA),D.init(hA),G.push(D),NA.traverseVisible(function(uA){uA.isLight&&uA.layers.test(hA.layers)&&(D.pushLight(uA),uA.castShadow&&D.pushShadow(uA))}),b!==NA&&b.traverseVisible(function(uA){uA.isLight&&uA.layers.test(hA.layers)&&(D.pushLight(uA),uA.castShadow&&D.pushShadow(uA))}),D.setupLights(y._useLegacyLights);const yA=new Set;return b.traverse(function(uA){const $A=uA.material;if($A)if(Array.isArray($A))for(let EI=0;EI<$A.length;EI++){const oI=$A[EI];BI(oI,NA,uA),yA.add(oI)}else BI($A,NA,uA),yA.add($A)}),G.pop(),D=null,yA},this.compileAsync=function(b,hA,NA=null){const yA=this.compile(b,hA,NA);return new Promise(uA=>{function $A(){if(yA.forEach(function(EI){SA.get(EI).currentProgram.isReady()&&yA.delete(EI)}),yA.size===0){uA(b);return}setTimeout($A,10)}$.get("KHR_parallel_shader_compile")!==null?$A():setTimeout($A,10)})};let wI=null;function pI(b){wI&&wI(b)}function AI(){WI.stop()}function TI(){WI.start()}const WI=new cq;WI.setAnimationLoop(pI),typeof self<"u"&&WI.setContext(self),this.setAnimationLoop=function(b){wI=b,gI.setAnimationLoop(b),b===null?WI.stop():WI.start()},gI.addEventListener("sessionstart",AI),gI.addEventListener("sessionend",TI),this.render=function(b,hA){if(hA!==void 0&&hA.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(k===!0)return;b.matrixWorldAutoUpdate===!0&&b.updateMatrixWorld(),hA.parent===null&&hA.matrixWorldAutoUpdate===!0&&hA.updateMatrixWorld(),gI.enabled===!0&&gI.isPresenting===!0&&(gI.cameraAutoUpdate===!0&&gI.updateCamera(hA),hA=gI.getCamera()),b.isScene===!0&&b.onBeforeRender(y,b,hA,f),D=TA.get(b,G.length),D.init(hA),G.push(D),gA.multiplyMatrices(hA.projectionMatrix,hA.matrixWorldInverse),QA.setFromProjectionMatrix(gA),X=this.localClippingEnabled,P=fA.init(this.clippingPlanes,X),w=qA.get(b,c.length),w.init(),c.push(w),xg(b,hA,0,y.sortObjects),w.finish(),y.sortObjects===!0&&w.sort(H,O);const NA=gI.enabled===!1||gI.isPresenting===!1||gI.hasDepthSensing()===!1;NA&&RA.addToRenderList(w,b),this.info.render.frame++,P===!0&&fA.beginShadows();const yA=D.state.shadowsArray;bA.render(yA,b,hA),P===!0&&fA.endShadows(),this.info.autoReset===!0&&this.info.reset();const uA=w.opaque,$A=w.transmissive;if(D.setupLights(y._useLegacyLights),hA.isArrayCamera){const EI=hA.cameras;if($A.length>0)for(let oI=0,hI=EI.length;oI0&&TC(uA,$A,b,hA),NA&&RA.render(b),yg(w,b,hA);f!==null&&(LA.updateMultisampleRenderTarget(f),LA.updateRenderTargetMipmap(f)),b.isScene===!0&&b.onAfterRender(y,b,hA),PA.resetDefaultState(),K=-1,N=null,G.pop(),G.length>0?(D=G[G.length-1],P===!0&&fA.setGlobalState(y.clippingPlanes,D.state.camera)):D=null,c.pop(),c.length>0?w=c[c.length-1]:w=null};function xg(b,hA,NA,yA){if(b.visible===!1)return;if(b.layers.test(hA.layers)){if(b.isGroup)NA=b.renderOrder;else if(b.isLOD)b.autoUpdate===!0&&b.update(hA);else if(b.isLight)D.pushLight(b),b.castShadow&&D.pushShadow(b);else if(b.isSprite){if(!b.frustumCulled||QA.intersectsSprite(b)){yA&&AA.setFromMatrixPosition(b.matrixWorld).applyMatrix4(gA);const EI=sA.update(b),oI=b.material;oI.visible&&w.push(b,EI,oI,NA,AA.z,null)}}else if((b.isMesh||b.isLine||b.isPoints)&&(!b.frustumCulled||QA.intersectsObject(b))){const EI=sA.update(b),oI=b.material;if(yA&&(b.boundingSphere!==void 0?(b.boundingSphere===null&&b.computeBoundingSphere(),AA.copy(b.boundingSphere.center)):(EI.boundingSphere===null&&EI.computeBoundingSphere(),AA.copy(EI.boundingSphere.center)),AA.applyMatrix4(b.matrixWorld).applyMatrix4(gA)),Array.isArray(oI)){const hI=EI.groups;for(let dI=0,vA=hI.length;dI0&&xC(uA,hA,NA),$A.length>0&&xC($A,hA,NA),EI.length>0&&xC(EI,hA,NA),cA.buffers.depth.setTest(!0),cA.buffers.depth.setMask(!0),cA.buffers.color.setMask(!0),cA.setPolygonOffset(!1)}function TC(b,hA,NA,yA){if((NA.isScene===!0?NA.overrideMaterial:null)!==null)return;D.state.transmissionRenderTarget[yA.id]===void 0&&(D.state.transmissionRenderTarget[yA.id]=new XB(1,1,{generateMipmaps:!0,type:$.has("EXT_color_buffer_half_float")||$.has("EXT_color_buffer_float")?hr:DQ,minFilter:Ri,samples:4,stencilBuffer:B,resolveDepthBuffer:!1,resolveStencilBuffer:!1}));const $A=D.state.transmissionRenderTarget[yA.id],EI=yA.viewport||p;$A.setSize(EI.z,EI.w);const oI=y.getRenderTarget();y.setRenderTarget($A),y.getClearColor(L),_=y.getClearAlpha(),_<1&&y.setClearColor(16777215,.5),y.clear();const hI=y.toneMapping;y.toneMapping=cQ;const dI=yA.viewport;if(yA.viewport!==void 0&&(yA.viewport=void 0),D.setupLightsView(yA),P===!0&&fA.setGlobalState(y.clippingPlanes,yA),xC(b,NA,yA),LA.updateMultisampleRenderTarget($A),LA.updateRenderTargetMipmap($A),$.has("WEBGL_multisampled_render_to_texture")===!1){let vA=!1;for(let uI=0,ag=hA.length;uI0),uI=!!NA.morphAttributes.position,ag=!!NA.morphAttributes.normal,Eg=!!NA.morphAttributes.color;let zg=cQ;yA.toneMapped&&(f===null||f.isXRRenderTarget===!0)&&(zg=y.toneMapping);const OC=NA.morphAttributes.position||NA.morphAttributes.normal||NA.morphAttributes.color,JI=OC!==void 0?OC.length:0,cI=SA.get(yA),PI=D.state.lights;if(P===!0&&(X===!0||b!==N)){const tC=b===N&&yA.id===K;fA.setState(yA,b,tC)}let DI=!1;yA.version===cI.__version?(cI.needsLights&&cI.lightsStateVersion!==PI.state.version||cI.outputColorSpace!==oI||uA.isBatchedMesh&&cI.batching===!1||!uA.isBatchedMesh&&cI.batching===!0||uA.isInstancedMesh&&cI.instancing===!1||!uA.isInstancedMesh&&cI.instancing===!0||uA.isSkinnedMesh&&cI.skinning===!1||!uA.isSkinnedMesh&&cI.skinning===!0||uA.isInstancedMesh&&cI.instancingColor===!0&&uA.instanceColor===null||uA.isInstancedMesh&&cI.instancingColor===!1&&uA.instanceColor!==null||uA.isInstancedMesh&&cI.instancingMorph===!0&&uA.morphTexture===null||uA.isInstancedMesh&&cI.instancingMorph===!1&&uA.morphTexture!==null||cI.envMap!==hI||yA.fog===!0&&cI.fog!==$A||cI.numClippingPlanes!==void 0&&(cI.numClippingPlanes!==fA.numPlanes||cI.numIntersection!==fA.numIntersection)||cI.vertexAlphas!==dI||cI.vertexTangents!==vA||cI.morphTargets!==uI||cI.morphNormals!==ag||cI.morphColors!==Eg||cI.toneMapping!==zg||cI.morphTargetsCount!==JI)&&(DI=!0):(DI=!0,cI.__version=yA.version);let vg=cI.currentProgram;DI===!0&&(vg=ii(yA,hA,uA));let Kg=!1,ug=!1,yi=!1;const Qg=vg.getUniforms(),og=cI.uniforms;if(cA.useProgram(vg.program)&&(Kg=!0,ug=!0,yi=!0),yA.id!==K&&(K=yA.id,ug=!0),Kg||N!==b){Qg.setValue(V,"projectionMatrix",b.projectionMatrix),Qg.setValue(V,"viewMatrix",b.matrixWorldInverse);const tC=Qg.map.cameraPosition;tC!==void 0&&tC.setValue(V,AA.setFromMatrixPosition(b.matrixWorld)),GA.logarithmicDepthBuffer&&Qg.setValue(V,"logDepthBufFC",2/(Math.log(b.far+1)/Math.LN2)),(yA.isMeshPhongMaterial||yA.isMeshToonMaterial||yA.isMeshLambertMaterial||yA.isMeshBasicMaterial||yA.isMeshStandardMaterial||yA.isShaderMaterial)&&Qg.setValue(V,"isOrthographic",b.isOrthographicCamera===!0),N!==b&&(N=b,ug=!0,yi=!0)}if(uA.isSkinnedMesh){Qg.setOptional(V,uA,"bindMatrix"),Qg.setOptional(V,uA,"bindMatrixInverse");const tC=uA.skeleton;tC&&(tC.boneTexture===null&&tC.computeBoneTexture(),Qg.setValue(V,"boneTexture",tC.boneTexture,LA))}uA.isBatchedMesh&&(Qg.setOptional(V,uA,"batchingTexture"),Qg.setValue(V,"batchingTexture",uA._matricesTexture,LA));const Bi=NA.morphAttributes;if((Bi.position!==void 0||Bi.normal!==void 0||Bi.color!==void 0)&&OA.update(uA,NA,vg),(ug||cI.receiveShadow!==uA.receiveShadow)&&(cI.receiveShadow=uA.receiveShadow,Qg.setValue(V,"receiveShadow",uA.receiveShadow)),yA.isMeshGouraudMaterial&&yA.envMap!==null&&(og.envMap.value=hI,og.flipEnvMap.value=hI.isCubeTexture&&hI.isRenderTargetTexture===!1?-1:1),yA.isMeshStandardMaterial&&yA.envMap===null&&hA.environment!==null&&(og.envMapIntensity.value=hA.environmentIntensity),ug&&(Qg.setValue(V,"toneMappingExposure",y.toneMappingExposure),cI.needsLights&&RB(og,yi),$A&&yA.fog===!0&&aA.refreshFogUniforms(og,$A),aA.refreshMaterialUniforms(og,yA,lA,CA,D.state.transmissionRenderTarget[b.id]),rh.upload(V,bC(cI),og,LA)),yA.isShaderMaterial&&yA.uniformsNeedUpdate===!0&&(rh.upload(V,bC(cI),og,LA),yA.uniformsNeedUpdate=!1),yA.isSpriteMaterial&&Qg.setValue(V,"center",uA.center),Qg.setValue(V,"modelViewMatrix",uA.modelViewMatrix),Qg.setValue(V,"normalMatrix",uA.normalMatrix),Qg.setValue(V,"modelMatrix",uA.matrixWorld),yA.isShaderMaterial||yA.isRawShaderMaterial){const tC=yA.uniformsGroups;for(let AQ=0,IQ=tC.length;AQ0&&LA.useMultisampledRTT(b)===!1?uA=SA.get(b).__webglMultisampledFramebuffer:Array.isArray(vA)?uA=vA[NA]:uA=vA,p.copy(b.viewport),m.copy(b.scissor),q=b.scissorTest}else p.copy(v).multiplyScalar(lA).floor(),m.copy(Y).multiplyScalar(lA).floor(),q=j;if(cA.bindFramebuffer(V.FRAMEBUFFER,uA)&&yA&&cA.drawBuffers(b,uA),cA.viewport(p),cA.scissor(m),cA.setScissorTest(q),$A){const hI=SA.get(b.texture);V.framebufferTexture2D(V.FRAMEBUFFER,V.COLOR_ATTACHMENT0,V.TEXTURE_CUBE_MAP_POSITIVE_X+hA,hI.__webglTexture,NA)}else if(EI){const hI=SA.get(b.texture),dI=hA||0;V.framebufferTextureLayer(V.FRAMEBUFFER,V.COLOR_ATTACHMENT0,hI.__webglTexture,NA||0,dI)}K=-1},this.readRenderTargetPixels=function(b,hA,NA,yA,uA,$A,EI){if(!(b&&b.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let oI=SA.get(b).__webglFramebuffer;if(b.isWebGLCubeRenderTarget&&EI!==void 0&&(oI=oI[EI]),oI){cA.bindFramebuffer(V.FRAMEBUFFER,oI);try{const hI=b.texture,dI=hI.format,vA=hI.type;if(!GA.textureFormatReadable(dI)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!GA.textureTypeReadable(vA)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}hA>=0&&hA<=b.width-yA&&NA>=0&&NA<=b.height-uA&&V.readPixels(hA,NA,yA,uA,YA.convert(dI),YA.convert(vA),$A)}finally{const hI=f!==null?SA.get(f).__webglFramebuffer:null;cA.bindFramebuffer(V.FRAMEBUFFER,hI)}}},this.copyFramebufferToTexture=function(b,hA,NA=0){const yA=Math.pow(2,-NA),uA=Math.floor(hA.image.width*yA),$A=Math.floor(hA.image.height*yA);LA.setTexture2D(hA,0),V.copyTexSubImage2D(V.TEXTURE_2D,NA,0,0,b.x,b.y,uA,$A),cA.unbindTexture()},this.copyTextureToTexture=function(b,hA,NA,yA=0){const uA=hA.image.width,$A=hA.image.height,EI=YA.convert(NA.format),oI=YA.convert(NA.type);LA.setTexture2D(NA,0),V.pixelStorei(V.UNPACK_FLIP_Y_WEBGL,NA.flipY),V.pixelStorei(V.UNPACK_PREMULTIPLY_ALPHA_WEBGL,NA.premultiplyAlpha),V.pixelStorei(V.UNPACK_ALIGNMENT,NA.unpackAlignment),hA.isDataTexture?V.texSubImage2D(V.TEXTURE_2D,yA,b.x,b.y,uA,$A,EI,oI,hA.image.data):hA.isCompressedTexture?V.compressedTexSubImage2D(V.TEXTURE_2D,yA,b.x,b.y,hA.mipmaps[0].width,hA.mipmaps[0].height,EI,hA.mipmaps[0].data):V.texSubImage2D(V.TEXTURE_2D,yA,b.x,b.y,EI,oI,hA.image),yA===0&&NA.generateMipmaps&&V.generateMipmap(V.TEXTURE_2D),cA.unbindTexture()},this.copyTextureToTexture3D=function(b,hA,NA,yA,uA=0){const $A=b.max.x-b.min.x,EI=b.max.y-b.min.y,oI=b.max.z-b.min.z,hI=YA.convert(yA.format),dI=YA.convert(yA.type);let vA;if(yA.isData3DTexture)LA.setTexture3D(yA,0),vA=V.TEXTURE_3D;else if(yA.isDataArrayTexture||yA.isCompressedArrayTexture)LA.setTexture2DArray(yA,0),vA=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,yA.flipY),V.pixelStorei(V.UNPACK_PREMULTIPLY_ALPHA_WEBGL,yA.premultiplyAlpha),V.pixelStorei(V.UNPACK_ALIGNMENT,yA.unpackAlignment);const uI=V.getParameter(V.UNPACK_ROW_LENGTH),ag=V.getParameter(V.UNPACK_IMAGE_HEIGHT),Eg=V.getParameter(V.UNPACK_SKIP_PIXELS),zg=V.getParameter(V.UNPACK_SKIP_ROWS),OC=V.getParameter(V.UNPACK_SKIP_IMAGES),JI=NA.isCompressedTexture?NA.mipmaps[uA]:NA.image;V.pixelStorei(V.UNPACK_ROW_LENGTH,JI.width),V.pixelStorei(V.UNPACK_IMAGE_HEIGHT,JI.height),V.pixelStorei(V.UNPACK_SKIP_PIXELS,b.min.x),V.pixelStorei(V.UNPACK_SKIP_ROWS,b.min.y),V.pixelStorei(V.UNPACK_SKIP_IMAGES,b.min.z),NA.isDataTexture||NA.isData3DTexture?V.texSubImage3D(vA,uA,hA.x,hA.y,hA.z,$A,EI,oI,hI,dI,JI.data):yA.isCompressedArrayTexture?V.compressedTexSubImage3D(vA,uA,hA.x,hA.y,hA.z,$A,EI,oI,hI,JI.data):V.texSubImage3D(vA,uA,hA.x,hA.y,hA.z,$A,EI,oI,hI,dI,JI),V.pixelStorei(V.UNPACK_ROW_LENGTH,uI),V.pixelStorei(V.UNPACK_IMAGE_HEIGHT,ag),V.pixelStorei(V.UNPACK_SKIP_PIXELS,Eg),V.pixelStorei(V.UNPACK_SKIP_ROWS,zg),V.pixelStorei(V.UNPACK_SKIP_IMAGES,OC),uA===0&&yA.generateMipmaps&&V.generateMipmap(vA),cA.unbindTexture()},this.initTexture=function(b){b.isCubeTexture?LA.setTextureCube(b,0):b.isData3DTexture?LA.setTexture3D(b,0):b.isDataArrayTexture||b.isCompressedArrayTexture?LA.setTexture2DArray(b,0):LA.setTexture2D(b,0),cA.unbindTexture()},this.resetState=function(){F=0,U=0,f=null,cA.reset(),PA.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return aQ}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(A){this._outputColorSpace=A;const I=this.getContext();I.drawingBufferColorSpace=A===FD?"display-p3":"srgb",I.unpackColorSpace=Ag.workingColorSpace===Sr?"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(A){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=A}}class LD{constructor(A,I=25e-5){this.isFogExp2=!0,this.name="",this.color=new ZA(A),this.density=I}clone(){return new LD(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class YD{constructor(A,I=1,C=1e3){this.isFog=!0,this.name="",this.color=new ZA(A),this.near=I,this.far=C}clone(){return new YD(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class _h extends YI{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 mC,this.environmentIntensity=1,this.environmentRotation=new mC,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(A,I){return super.copy(A,I),A.background!==null&&(this.background=A.background.clone()),A.environment!==null&&(this.environment=A.environment.clone()),A.fog!==null&&(this.fog=A.fog.clone()),this.backgroundBlurriness=A.backgroundBlurriness,this.backgroundIntensity=A.backgroundIntensity,this.backgroundRotation.copy(A.backgroundRotation),this.environmentIntensity=A.environmentIntensity,this.environmentRotation.copy(A.environmentRotation),A.overrideMaterial!==null&&(this.overrideMaterial=A.overrideMaterial.clone()),this.matrixAutoUpdate=A.matrixAutoUpdate,this}toJSON(A){const I=super.toJSON(A);return this.fog!==null&&(I.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(I.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(I.object.backgroundIntensity=this.backgroundIntensity),I.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(I.object.environmentIntensity=this.environmentIntensity),I.object.environmentRotation=this.environmentRotation.toArray(),I}}class Yn{constructor(A,I){this.isInterleavedBuffer=!0,this.array=A,this.stride=I,this.count=A!==void 0?A.length/I:0,this.usage=Pa,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=zi()}onUploadCallback(){}set needsUpdate(A){A===!0&&this.version++}get updateRange(){return Eq("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(A){return this.usage=A,this}addUpdateRange(A,I){this.updateRanges.push({start:A,count:I})}clearUpdateRanges(){this.updateRanges.length=0}copy(A){return this.array=new A.array.constructor(A.array),this.count=A.count,this.stride=A.stride,this.usage=A.usage,this}copyAt(A,I,C){A*=this.stride,C*=I.stride;for(let i=0,B=this.stride;iA.far||I.push({distance:t,point:Us.clone(),uv:Vi.getInterpolation(Us,nc,Ns,sc,Mf,UG,pf,new mA),face:null,object:this})}copy(A,I){return super.copy(A,I),A.center!==void 0&&this.center.copy(A.center),this.material=A.material,this}}function ac(g,A,I,C,i,B){fo.subVectors(g,I).addScalar(.5).multiply(C),i!==void 0?(fs.x=B*fo.x-i*fo.y,fs.y=i*fo.x+B*fo.y):fs.copy(fo),g.copy(A),g.x+=fs.x,g.y+=fs.y,g.applyMatrix4(dq)}const rc=new T,Uf=new T;class pq extends YI{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(A){super.copy(A,!1);const I=A.levels;for(let C=0,i=I.length;C0){let C,i;for(C=1,i=I.length;C0){rc.setFromMatrixPosition(this.matrixWorld);const i=A.ray.origin.distanceTo(rc);this.getObjectForDistance(i).raycast(A,I)}}update(A){const I=this.levels;if(I.length>1){rc.setFromMatrixPosition(A.matrixWorld),Uf.setFromMatrixPosition(this.matrixWorld);const C=rc.distanceTo(Uf)/A.zoom;I[0].object.visible=!0;let i,B;for(i=1,B=I.length;i=Q)I[i-1].object.visible=!1,I[i].object.visible=!0;else break}for(this._currentLevel=i-1;i=C.length&&C.push({start:-1,count:-1,z:-1});const B=C[this.index];i.push(B),this.index++,B.start=A.start,B.count=A.count,B.z=I}reset(){this.list.length=0,this.index=0}}const Fo="batchId",Ke=new iI,Lf=new iI,c3=new iI,Yf=new iI,FG=new yr,hc=new uC,vt=new jg,Ks=new T,RG=new l3,Ai=new eg,Dc=[];function h3(g,A,I=0){const C=A.itemSize;if(g.isInterleavedBufferAttribute||g.array.constructor!==A.array.constructor){const i=g.count;for(let B=0;B65536?new Uint32Array(B):new Uint16Array(B);I.setIndex(new yI(e,1))}const Q=i>65536?new Uint32Array(C):new Uint16Array(C);I.setAttribute(Fo,new yI(Q,1)),this._geometryInitialized=!0}}_validateGeometry(A){if(A.getAttribute(Fo))throw new Error(`BatchedMesh: Geometry cannot use attribute "${Fo}"`);const I=this.geometry;if(!!A.getIndex()!=!!I.getIndex())throw new Error('BatchedMesh: All geometries must consistently have "index".');for(const C in I.attributes){if(C===Fo)continue;if(!A.hasAttribute(C))throw new Error(`BatchedMesh: Added geometry missing "${C}". All geometries must have consistent attributes.`);const i=A.getAttribute(C),B=I.getAttribute(C);if(i.itemSize!==B.itemSize||i.normalized!==B.normalized)throw new Error("BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}setCustomSort(A){return this.customSort=A,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new uC);const A=this._geometryCount,I=this.boundingBox,C=this._active;I.makeEmpty();for(let i=0;i=this._maxGeometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");const i={vertexStart:-1,vertexCount:-1,indexStart:-1,indexCount:-1};let B=null;const Q=this._reservedRanges,e=this._drawRanges,t=this._bounds;this._geometryCount!==0&&(B=Q[Q.length-1]),I===-1?i.vertexCount=A.getAttribute("position").count:i.vertexCount=I,B===null?i.vertexStart=0:i.vertexStart=B.vertexStart+B.vertexCount;const E=A.getIndex(),o=E!==null;if(o&&(C===-1?i.indexCount=E.count:i.indexCount=C,B===null?i.indexStart=0:i.indexStart=B.indexStart+B.indexCount),i.indexStart!==-1&&i.indexStart+i.indexCount>this._maxIndexCount||i.vertexStart+i.vertexCount>this._maxVertexCount)throw new Error("BatchedMesh: Reserved space request exceeds the maximum buffer size.");const s=this._visibility,r=this._active,l=this._matricesTexture,h=this._matricesTexture.image.data;s.push(!0),r.push(!0);const w=this._geometryCount;this._geometryCount++,c3.toArray(h,w*16),l.needsUpdate=!0,Q.push(i),e.push({start:o?i.indexStart:i.vertexStart,count:-1}),t.push({boxInitialized:!1,box:new uC,sphereInitialized:!1,sphere:new jg});const D=this.geometry.getAttribute(Fo);for(let c=0;c=this._geometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");this._validateGeometry(I);const C=this.geometry,i=C.getIndex()!==null,B=C.getIndex(),Q=I.getIndex(),e=this._reservedRanges[A];if(i&&Q.count>e.indexCount||I.attributes.position.count>e.vertexCount)throw new Error("BatchedMesh: Reserved space not large enough for provided geometry.");const t=e.vertexStart,E=e.vertexCount;for(const l in C.attributes){if(l===Fo)continue;const h=I.getAttribute(l),w=C.getAttribute(l);h3(h,w,t);const D=h.itemSize;for(let c=h.count,G=E;c=I.length||I[A]===!1?this:(I[A]=!1,this._visibilityChanged=!0,this)}getInstanceCountAt(A){return this._multiDrawInstances===null?null:this._multiDrawInstances[A]}setInstanceCountAt(A,I){return this._multiDrawInstances===null&&(this._multiDrawInstances=new Int32Array(this._maxGeometryCount).fill(1)),this._multiDrawInstances[A]=I,A}getBoundingBoxAt(A,I){if(this._active[A]===!1)return null;const i=this._bounds[A],B=i.box,Q=this.geometry;if(i.boxInitialized===!1){B.makeEmpty();const e=Q.index,t=Q.attributes.position,E=this._drawRanges[A];for(let o=E.start,s=E.start+E.count;o=Q||C[A]===!1?this:(I.toArray(B,A*16),i.needsUpdate=!0,this)}getMatrixAt(A,I){const C=this._active,i=this._matricesTexture.image.data,B=this._geometryCount;return A>=B||C[A]===!1?null:I.fromArray(i,A*16)}setVisibleAt(A,I){const C=this._visibility,i=this._active,B=this._geometryCount;return A>=B||i[A]===!1||C[A]===I?this:(C[A]=I,this._visibilityChanged=!0,this)}getVisibleAt(A){const I=this._visibility,C=this._active,i=this._geometryCount;return A>=i||C[A]===!1?!1:I[A]}raycast(A,I){const C=this._visibility,i=this._active,B=this._drawRanges,Q=this._geometryCount,e=this.matrixWorld,t=this.geometry;Ai.material=this.material,Ai.geometry.index=t.index,Ai.geometry.attributes=t.attributes,Ai.geometry.boundingBox===null&&(Ai.geometry.boundingBox=new uC),Ai.geometry.boundingSphere===null&&(Ai.geometry.boundingSphere=new jg);for(let E=0;E({...I})),this._reservedRanges=A._reservedRanges.map(I=>({...I})),this._visibility=A._visibility.slice(),this._active=A._active.slice(),this._bounds=A._bounds.map(I=>({boxInitialized:I.boxInitialized,box:I.box.clone(),sphereInitialized:I.sphereInitialized,sphere:I.sphere.clone()})),this._maxGeometryCount=A._maxGeometryCount,this._maxVertexCount=A._maxVertexCount,this._maxIndexCount=A._maxIndexCount,this._geometryInitialized=A._geometryInitialized,this._geometryCount=A._geometryCount,this._multiDrawCounts=A._multiDrawCounts.slice(),this._multiDrawStarts=A._multiDrawStarts.slice(),this._matricesTexture=A._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.slice(),this}dispose(){return this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this}onBeforeRender(A,I,C,i,B){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const Q=i.getIndex(),e=Q===null?1:Q.array.BYTES_PER_ELEMENT,t=this._active,E=this._visibility,o=this._multiDrawStarts,s=this._multiDrawCounts,r=this._drawRanges,l=this.perObjectFrustumCulled;l&&(Yf.multiplyMatrices(C.projectionMatrix,C.matrixWorldInverse).multiply(this.matrixWorld),FG.setFromProjectionMatrix(Yf,A.coordinateSystem));let h=0;if(this.sortObjects){Lf.copy(this.matrixWorld).invert(),Ks.setFromMatrixPosition(C.matrixWorld).applyMatrix4(Lf);for(let c=0,G=E.length;c0){const i=I[C[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let B=0,Q=i.length;BC)return;KG.applyMatrix4(g.matrixWorld);const t=A.ray.origin.distanceTo(KG);if(!(tA.far))return{distance:t,point:Tf.clone().applyMatrix4(g.matrixWorld),index:i,face:null,faceIndex:null,object:g}}const xf=new T,vf=new T;class NB extends SQ{constructor(A,I){super(A,I),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const A=this.geometry;if(A.index===null){const I=A.attributes.position,C=[];for(let i=0,B=I.count;i0){const i=I[C[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let B=0,Q=i.length;Bi.far)return;B.push({distance:E,distanceToRay:Math.sqrt(e),point:t,index:A,face:null,object:Q})}}class D3 extends ig{constructor(A,I,C,i,B,Q,e,t,E){super(A,I,C,i,B,Q,e,t,E),this.isVideoTexture=!0,this.minFilter=Q!==void 0?Q:hg,this.magFilter=B!==void 0?B:hg,this.generateMipmaps=!1;const o=this;function s(){o.needsUpdate=!0,A.requestVideoFrameCallback(s)}"requestVideoFrameCallback"in A&&A.requestVideoFrameCallback(s)}clone(){return new this.constructor(this.image).copy(this)}update(){const A=this.image;"requestVideoFrameCallback"in A===!1&&A.readyState>=A.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class S3 extends ig{constructor(A,I){super({width:A,height:I}),this.isFramebufferTexture=!0,this.magFilter=BC,this.minFilter=BC,this.generateMipmaps=!1,this.needsUpdate=!0}}class vD extends ig{constructor(A,I,C,i,B,Q,e,t,E,o,s,r){super(null,Q,e,t,E,o,i,B,s,r),this.isCompressedTexture=!0,this.image={width:I,height:C},this.mipmaps=A,this.flipY=!1,this.generateMipmaps=!1}}class w3 extends vD{constructor(A,I,C,i,B,Q){super(A,I,C,B,Q),this.isCompressedArrayTexture=!0,this.image.depth=i,this.wrapR=Fi}}class G3 extends vD{constructor(A,I,C){super(void 0,A[0].width,A[0].height,I,C,Ce),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=A}}class y3 extends ig{constructor(A,I,C,i,B,Q,e,t,E){super(A,I,C,i,B,Q,e,t,E),this.isCanvasTexture=!0,this.needsUpdate=!0}}class zB{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(A,I){const C=this.getUtoTmapping(A);return this.getPoint(C,I)}getPoints(A=5){const I=[];for(let C=0;C<=A;C++)I.push(this.getPoint(C/A));return I}getSpacedPoints(A=5){const I=[];for(let C=0;C<=A;C++)I.push(this.getPointAt(C/A));return I}getLength(){const A=this.getLengths();return A[A.length-1]}getLengths(A=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===A+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const I=[];let C,i=this.getPoint(0),B=0;I.push(0);for(let Q=1;Q<=A;Q++)C=this.getPoint(Q/A),B+=C.distanceTo(i),I.push(B),i=C;return this.cacheArcLengths=I,I}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(A,I){const C=this.getLengths();let i=0;const B=C.length;let Q;I?Q=I:Q=A*C[B-1];let e=0,t=B-1,E;for(;e<=t;)if(i=Math.floor(e+(t-e)/2),E=C[i]-Q,E<0)e=i+1;else if(E>0)t=i-1;else{t=i;break}if(i=t,C[i]===Q)return i/(B-1);const o=C[i],r=C[i+1]-o,l=(Q-o)/r;return(i+l)/(B-1)}getTangent(A,I){let i=A-1e-4,B=A+1e-4;i<0&&(i=0),B>1&&(B=1);const Q=this.getPoint(i),e=this.getPoint(B),t=I||(Q.isVector2?new mA:new T);return t.copy(e).sub(Q).normalize(),t}getTangentAt(A,I){const C=this.getUtoTmapping(A);return this.getTangent(C,I)}computeFrenetFrames(A,I){const C=new T,i=[],B=[],Q=[],e=new T,t=new iI;for(let l=0;l<=A;l++){const h=l/A;i[l]=this.getTangentAt(h,new T)}B[0]=new T,Q[0]=new T;let E=Number.MAX_VALUE;const o=Math.abs(i[0].x),s=Math.abs(i[0].y),r=Math.abs(i[0].z);o<=E&&(E=o,C.set(1,0,0)),s<=E&&(E=s,C.set(0,1,0)),r<=E&&C.set(0,0,1),e.crossVectors(i[0],C).normalize(),B[0].crossVectors(i[0],e),Q[0].crossVectors(i[0],B[0]);for(let l=1;l<=A;l++){if(B[l]=B[l-1].clone(),Q[l]=Q[l-1].clone(),e.crossVectors(i[l-1],i[l]),e.length()>Number.EPSILON){e.normalize();const h=Math.acos(Hg(i[l-1].dot(i[l]),-1,1));B[l].applyMatrix4(t.makeRotationAxis(e,h))}Q[l].crossVectors(i[l],B[l])}if(I===!0){let l=Math.acos(Hg(B[0].dot(B[A]),-1,1));l/=A,i[0].dot(e.crossVectors(B[0],B[A]))>0&&(l=-l);for(let h=1;h<=A;h++)B[h].applyMatrix4(t.makeRotationAxis(i[h],l*h)),Q[h].crossVectors(i[h],B[h])}return{tangents:i,normals:B,binormals:Q}}clone(){return new this.constructor().copy(this)}copy(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}toJSON(){const A={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return A.arcLengthDivisions=this.arcLengthDivisions,A.type=this.type,A}fromJSON(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}}class bD extends zB{constructor(A=0,I=0,C=1,i=1,B=0,Q=Math.PI*2,e=!1,t=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=A,this.aY=I,this.xRadius=C,this.yRadius=i,this.aStartAngle=B,this.aEndAngle=Q,this.aClockwise=e,this.aRotation=t}getPoint(A,I=new mA){const C=I,i=Math.PI*2;let B=this.aEndAngle-this.aStartAngle;const Q=Math.abs(B)i;)B-=i;B0?0:(Math.floor(Math.abs(e)/B)+1)*B:t===0&&e===B-1&&(e=B-2,t=1);let E,o;this.closed||e>0?E=i[(e-1)%B]:(uc.subVectors(i[0],i[1]).add(i[0]),E=uc);const s=i[e%B],r=i[(e+1)%B];if(this.closed||e+2i.length-2?i.length-1:Q+1],s=i[Q>i.length-3?i.length-1:Q+2];return C.set(_f(e,t.x,E.x,o.x,s.x),_f(e,t.y,E.y,o.y,s.y)),C}copy(A){super.copy(A),this.points=[];for(let I=0,C=A.points.length;I=C){const Q=i[B]-C,e=this.curves[B],t=e.getLength(),E=t===0?0:1-Q/t;return e.getPointAt(E,I)}B++}return null}getLength(){const A=this.getCurveLengths();return A[A.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 A=[];let I=0;for(let C=0,i=this.curves.length;C1&&!I[I.length-1].equals(I[0])&&I.push(I[0]),I}copy(A){super.copy(A),this.curves=[];for(let I=0,C=A.curves.length;I0){const s=E.getPoint(0);s.equals(this.currentPoint)||this.lineTo(s.x,s.y)}this.curves.push(E);const o=E.getPoint(1);return this.currentPoint.copy(o),this}copy(A){return super.copy(A),this.currentPoint.copy(A.currentPoint),this}toJSON(){const A=super.toJSON();return A.currentPoint=this.currentPoint.toArray(),A}fromJSON(A){return super.fromJSON(A),this.currentPoint.fromArray(A.currentPoint),this}}class Mr extends MI{constructor(A=[new mA(0,-.5),new mA(.5,0),new mA(0,.5)],I=12,C=0,i=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:A,segments:I,phiStart:C,phiLength:i},I=Math.floor(I),i=Hg(i,0,Math.PI*2);const B=[],Q=[],e=[],t=[],E=[],o=1/I,s=new T,r=new mA,l=new T,h=new T,w=new T;let D=0,c=0;for(let G=0;G<=A.length-1;G++)switch(G){case 0:D=A[G+1].x-A[G].x,c=A[G+1].y-A[G].y,l.x=c*1,l.y=-D,l.z=c*0,w.copy(l),l.normalize(),t.push(l.x,l.y,l.z);break;case A.length-1:t.push(w.x,w.y,w.z);break;default:D=A[G+1].x-A[G].x,c=A[G+1].y-A[G].y,l.x=c*1,l.y=-D,l.z=c*0,h.copy(l),l.x+=w.x,l.y+=w.y,l.z+=w.z,l.normalize(),t.push(l.x,l.y,l.z),w.copy(h)}for(let G=0;G<=I;G++){const y=C+G*o*i,k=Math.sin(y),F=Math.cos(y);for(let U=0;U<=A.length-1;U++){s.x=A[U].x*k,s.y=A[U].y,s.z=A[U].x*F,Q.push(s.x,s.y,s.z),r.x=G/I,r.y=U/(A.length-1),e.push(r.x,r.y);const f=t[3*U+0]*k,K=t[3*U+1],N=t[3*U+0]*F;E.push(f,K,N)}}for(let G=0;G0&&y(!0),I>0&&y(!1)),this.setIndex(o),this.setAttribute("position",new sI(s,3)),this.setAttribute("normal",new sI(r,3)),this.setAttribute("uv",new sI(l,2));function G(){const k=new T,F=new T;let U=0;const f=(I-A)/C;for(let K=0;K<=B;K++){const N=[],p=K/B,m=p*(I-A)+A;for(let q=0;q<=i;q++){const L=q/i,_=L*t+e,IA=Math.sin(_),CA=Math.cos(_);F.x=m*IA,F.y=-p*C+D,F.z=m*CA,s.push(F.x,F.y,F.z),k.set(IA,f,CA).normalize(),r.push(k.x,k.y,k.z),l.push(L,1-p),N.push(h++)}w.push(N)}for(let K=0;K.9&&f<.1&&(y<.2&&(Q[G+0]+=1),k<.2&&(Q[G+2]+=1),F<.2&&(Q[G+4]+=1))}}function r(G){B.push(G.x,G.y,G.z)}function l(G,y){const k=G*3;y.x=A[k+0],y.y=A[k+1],y.z=A[k+2]}function h(){const G=new T,y=new T,k=new T,F=new T,U=new mA,f=new mA,K=new mA;for(let N=0,p=0;N80*I){e=E=g[0],t=o=g[1];for(let h=I;hE&&(E=s),r>o&&(o=r);l=Math.max(E-e,o-t),l=l!==0?32767/l:0}return ja(B,Q,I,e,t,l,0),Q}};function qq(g,A,I,C,i){let B,Q;if(i===P3(g,A,I,C)>0)for(B=A;B=A;B-=C)Q=Pf(B,g[B],g[B+1],Q);return Q&&VD(Q,Q.next)&&(za(Q),Q=Q.next),Q}function fE(g,A){if(!g)return g;A||(A=g);let I=g,C;do if(C=!1,!I.steiner&&(VD(I,I.next)||Ng(I.prev,I,I.next)===0)){if(za(I),I=A=I.prev,I===I.next)break;C=!0}else I=I.next;while(C||I!==A);return A}function ja(g,A,I,C,i,B,Q){if(!g)return;!Q&&B&&T3(g,C,i,B);let e=g,t,E;for(;g.prev!==g.next;){if(t=g.prev,E=g.next,B?R3(g,C,i,B):F3(g)){A.push(t.i/I|0),A.push(g.i/I|0),A.push(E.i/I|0),za(g),g=E.next,e=E.next;continue}if(g=E,g===e){Q?Q===1?(g=K3(fE(g),A,I),ja(g,A,I,C,i,B,2)):Q===2&&J3(g,A,I,C,i,B):ja(fE(g),A,I,C,i,B,1);break}}}function F3(g){const A=g.prev,I=g,C=g.next;if(Ng(A,I,C)>=0)return!1;const i=A.x,B=I.x,Q=C.x,e=A.y,t=I.y,E=C.y,o=iB?i>Q?i:Q:B>Q?B:Q,l=e>t?e>E?e:E:t>E?t:E;let h=C.next;for(;h!==A;){if(h.x>=o&&h.x<=r&&h.y>=s&&h.y<=l&&An(i,e,B,t,Q,E,h.x,h.y)&&Ng(h.prev,h,h.next)>=0)return!1;h=h.next}return!0}function R3(g,A,I,C){const i=g.prev,B=g,Q=g.next;if(Ng(i,B,Q)>=0)return!1;const e=i.x,t=B.x,E=Q.x,o=i.y,s=B.y,r=Q.y,l=et?e>E?e:E:t>E?t:E,D=o>s?o>r?o:r:s>r?s:r,c=Ik(l,h,A,I,C),G=Ik(w,D,A,I,C);let y=g.prevZ,k=g.nextZ;for(;y&&y.z>=c&&k&&k.z<=G;){if(y.x>=l&&y.x<=w&&y.y>=h&&y.y<=D&&y!==i&&y!==Q&&An(e,o,t,s,E,r,y.x,y.y)&&Ng(y.prev,y,y.next)>=0||(y=y.prevZ,k.x>=l&&k.x<=w&&k.y>=h&&k.y<=D&&k!==i&&k!==Q&&An(e,o,t,s,E,r,k.x,k.y)&&Ng(k.prev,k,k.next)>=0))return!1;k=k.nextZ}for(;y&&y.z>=c;){if(y.x>=l&&y.x<=w&&y.y>=h&&y.y<=D&&y!==i&&y!==Q&&An(e,o,t,s,E,r,y.x,y.y)&&Ng(y.prev,y,y.next)>=0)return!1;y=y.prevZ}for(;k&&k.z<=G;){if(k.x>=l&&k.x<=w&&k.y>=h&&k.y<=D&&k!==i&&k!==Q&&An(e,o,t,s,E,r,k.x,k.y)&&Ng(k.prev,k,k.next)>=0)return!1;k=k.nextZ}return!0}function K3(g,A,I){let C=g;do{const i=C.prev,B=C.next.next;!VD(i,B)&&mq(i,C,C.next,B)&&Xa(i,B)&&Xa(B,i)&&(A.push(i.i/I|0),A.push(C.i/I|0),A.push(B.i/I|0),za(C),za(C.next),C=g=B),C=C.next}while(C!==g);return fE(C)}function J3(g,A,I,C,i,B){let Q=g;do{let e=Q.next.next;for(;e!==Q.prev;){if(Q.i!==e.i&&b3(Q,e)){let t=Lq(Q,e);Q=fE(Q,Q.next),t=fE(t,t.next),ja(Q,A,I,C,i,B,0),ja(t,A,I,C,i,B,0);return}e=e.next}Q=Q.next}while(Q!==g)}function q3(g,A,I,C){const i=[];let B,Q,e,t,E;for(B=0,Q=A.length;B=I.next.y&&I.next.y!==I.y){const r=I.x+(Q-I.y)*(I.next.x-I.x)/(I.next.y-I.y);if(r<=B&&r>C&&(C=r,i=I.x=I.x&&I.x>=t&&B!==I.x&&An(Qi.x||I.x===i.x&&H3(i,I)))&&(i=I,o=s)),I=I.next;while(I!==e);return i}function H3(g,A){return Ng(g.prev,g,A.prev)<0&&Ng(A.next,g,g.next)<0}function T3(g,A,I,C){let i=g;do i.z===0&&(i.z=Ik(i.x,i.y,A,I,C)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==g);i.prevZ.nextZ=null,i.prevZ=null,x3(i)}function x3(g){let A,I,C,i,B,Q,e,t,E=1;do{for(I=g,g=null,B=null,Q=0;I;){for(Q++,C=I,e=0,A=0;A0||t>0&&C;)e!==0&&(t===0||!C||I.z<=C.z)?(i=I,I=I.nextZ,e--):(i=C,C=C.nextZ,t--),B?B.nextZ=i:g=i,i.prevZ=B,B=i;I=C}B.nextZ=null,E*=2}while(Q>1);return g}function Ik(g,A,I,C,i){return g=(g-I)*i|0,A=(A-C)*i|0,g=(g|g<<8)&16711935,g=(g|g<<4)&252645135,g=(g|g<<2)&858993459,g=(g|g<<1)&1431655765,A=(A|A<<8)&16711935,A=(A|A<<4)&252645135,A=(A|A<<2)&858993459,A=(A|A<<1)&1431655765,g|A<<1}function v3(g){let A=g,I=g;do(A.x=(g-Q)*(B-e)&&(g-Q)*(C-e)>=(I-Q)*(A-e)&&(I-Q)*(B-e)>=(i-Q)*(C-e)}function b3(g,A){return g.next.i!==A.i&&g.prev.i!==A.i&&!O3(g,A)&&(Xa(g,A)&&Xa(A,g)&&_3(g,A)&&(Ng(g.prev,g,A.prev)||Ng(g,A.prev,A))||VD(g,A)&&Ng(g.prev,g,g.next)>0&&Ng(A.prev,A,A.next)>0)}function Ng(g,A,I){return(A.y-g.y)*(I.x-A.x)-(A.x-g.x)*(I.y-A.y)}function VD(g,A){return g.x===A.x&&g.y===A.y}function mq(g,A,I,C){const i=Uc(Ng(g,A,I)),B=Uc(Ng(g,A,C)),Q=Uc(Ng(I,C,g)),e=Uc(Ng(I,C,A));return!!(i!==B&&Q!==e||i===0&&pc(g,I,A)||B===0&&pc(g,C,A)||Q===0&&pc(I,g,C)||e===0&&pc(I,A,C))}function pc(g,A,I){return A.x<=Math.max(g.x,I.x)&&A.x>=Math.min(g.x,I.x)&&A.y<=Math.max(g.y,I.y)&&A.y>=Math.min(g.y,I.y)}function Uc(g){return g>0?1:g<0?-1:0}function O3(g,A){let I=g;do{if(I.i!==g.i&&I.next.i!==g.i&&I.i!==A.i&&I.next.i!==A.i&&mq(I,I.next,g,A))return!0;I=I.next}while(I!==g);return!1}function Xa(g,A){return Ng(g.prev,g,g.next)<0?Ng(g,A,g.next)>=0&&Ng(g,g.prev,A)>=0:Ng(g,A,g.prev)<0||Ng(g,g.next,A)<0}function _3(g,A){let I=g,C=!1;const i=(g.x+A.x)/2,B=(g.y+A.y)/2;do I.y>B!=I.next.y>B&&I.next.y!==I.y&&i<(I.next.x-I.x)*(B-I.y)/(I.next.y-I.y)+I.x&&(C=!C),I=I.next;while(I!==g);return C}function Lq(g,A){const I=new gk(g.i,g.x,g.y),C=new gk(A.i,A.x,A.y),i=g.next,B=A.prev;return g.next=A,A.prev=g,I.next=i,i.prev=I,C.next=I,I.prev=C,B.next=C,C.prev=B,C}function Pf(g,A,I,C){const i=new gk(g,A,I);return C?(i.next=C.next,i.prev=C,C.next.prev=i,C.next=i):(i.prev=i,i.next=i),i}function za(g){g.next.prev=g.prev,g.prev.next=g.next,g.prevZ&&(g.prevZ.nextZ=g.nextZ),g.nextZ&&(g.nextZ.prevZ=g.prevZ)}function gk(g,A,I){this.i=g,this.x=A,this.y=I,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function P3(g,A,I,C){let i=0;for(let B=A,Q=I-C;B2&&g[A-1].equals(g[0])&&g.pop()}function Wf(g,A){for(let I=0;INumber.EPSILON){const aA=Math.sqrt(sA),qA=Math.sqrt(J*J+Z*Z),TA=GA.x-x/aA,fA=GA.y+UA/aA,bA=cA.x-Z/qA,RA=cA.y+J/qA,OA=((bA-TA)*Z-(RA-fA)*J)/(UA*Z-x*J);pA=TA+UA*OA-$.x,SA=fA+x*OA-$.y;const zA=pA*pA+SA*SA;if(zA<=2)return new mA(pA,SA);LA=Math.sqrt(zA/2)}else{let aA=!1;UA>Number.EPSILON?J>Number.EPSILON&&(aA=!0):UA<-Number.EPSILON?J<-Number.EPSILON&&(aA=!0):Math.sign(x)===Math.sign(Z)&&(aA=!0),aA?(pA=-x,SA=UA,LA=Math.sqrt(sA)):(pA=UA,SA=x,LA=Math.sqrt(sA/2))}return new mA(pA/LA,SA/LA)}const O=[];for(let $=0,GA=_.length,cA=GA-1,pA=$+1;$=0;$--){const GA=$/D,cA=l*Math.cos(GA*Math.PI/2),pA=h*Math.sin(GA*Math.PI/2)+w;for(let SA=0,LA=_.length;SA=0;){const pA=cA;let SA=cA-1;SA<0&&(SA=$.length-1);for(let LA=0,UA=o+D*2;LA0)&&l.push(y,k,U),(c!==C-1||t0!=A>0&&this.version++,this._anisotropy=A}get clearcoat(){return this._clearcoat}set clearcoat(A){this._clearcoat>0!=A>0&&this.version++,this._clearcoat=A}get iridescence(){return this._iridescence}set iridescence(A){this._iridescence>0!=A>0&&this.version++,this._iridescence=A}get dispersion(){return this._dispersion}set dispersion(A){this._dispersion>0!=A>0&&this.version++,this._dispersion=A}get sheen(){return this._sheen}set sheen(A){this._sheen>0!=A>0&&this.version++,this._sheen=A}get transmission(){return this._transmission}set transmission(A){this._transmission>0!=A>0&&this.version++,this._transmission=A}copy(A){return super.copy(A),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=A.anisotropy,this.anisotropyRotation=A.anisotropyRotation,this.anisotropyMap=A.anisotropyMap,this.clearcoat=A.clearcoat,this.clearcoatMap=A.clearcoatMap,this.clearcoatRoughness=A.clearcoatRoughness,this.clearcoatRoughnessMap=A.clearcoatRoughnessMap,this.clearcoatNormalMap=A.clearcoatNormalMap,this.clearcoatNormalScale.copy(A.clearcoatNormalScale),this.dispersion=A.dispersion,this.ior=A.ior,this.iridescence=A.iridescence,this.iridescenceMap=A.iridescenceMap,this.iridescenceIOR=A.iridescenceIOR,this.iridescenceThicknessRange=[...A.iridescenceThicknessRange],this.iridescenceThicknessMap=A.iridescenceThicknessMap,this.sheen=A.sheen,this.sheenColor.copy(A.sheenColor),this.sheenColorMap=A.sheenColorMap,this.sheenRoughness=A.sheenRoughness,this.sheenRoughnessMap=A.sheenRoughnessMap,this.transmission=A.transmission,this.transmissionMap=A.transmissionMap,this.thickness=A.thickness,this.thicknessMap=A.thicknessMap,this.attenuationDistance=A.attenuationDistance,this.attenuationColor.copy(A.attenuationColor),this.specularIntensity=A.specularIntensity,this.specularIntensityMap=A.specularIntensityMap,this.specularColor.copy(A.specularColor),this.specularColorMap=A.specularColorMap,this}}class xq extends Gg{constructor(A){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new ZA(16777215),this.specular=new ZA(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new ZA(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=rt,this.normalScale=new mA(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new mC,this.combine=lr,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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.specular.copy(A.specular),this.shininess=A.shininess,this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.envMapRotation.copy(A.envMapRotation),this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.flatShading=A.flatShading,this.fog=A.fog,this}}class vq extends Gg{constructor(A){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new ZA(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new ZA(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=rt,this.normalScale=new mA(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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.gradientMap=A.gradientMap,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.fog=A.fog,this}}class bq extends Gg{constructor(A){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=rt,this.normalScale=new mA(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(A)}copy(A){return super.copy(A),this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.flatShading=A.flatShading,this}}class Oq extends Gg{constructor(A){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new ZA(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new ZA(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=rt,this.normalScale=new mA(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new mC,this.combine=lr,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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.envMapRotation.copy(A.envMapRotation),this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.flatShading=A.flatShading,this.fog=A.fog,this}}class _q extends Gg{constructor(A){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new ZA(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=rt,this.normalScale=new mA(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.defines={MATCAP:""},this.color.copy(A.color),this.matcap=A.matcap,this.map=A.map,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.flatShading=A.flatShading,this.fog=A.fog,this}}class Pq extends YC{constructor(A){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(A)}copy(A){return super.copy(A),this.scale=A.scale,this.dashSize=A.dashSize,this.gapSize=A.gapSize,this}}function EE(g,A,I){return!g||!I&&g.constructor===A?g:typeof A.BYTES_PER_ELEMENT=="number"?new A(g):Array.prototype.slice.call(g)}function Zq(g){return ArrayBuffer.isView(g)&&!(g instanceof DataView)}function Wq(g){function A(i,B){return g[i]-g[B]}const I=g.length,C=new Array(I);for(let i=0;i!==I;++i)C[i]=i;return C.sort(A),C}function Ck(g,A,I){const C=g.length,i=new g.constructor(C);for(let B=0,Q=0;Q!==C;++B){const e=I[B]*A;for(let t=0;t!==A;++t)i[Q++]=g[e+t]}return i}function vd(g,A,I,C){let i=1,B=g[0];for(;B!==void 0&&B[C]===void 0;)B=g[i++];if(B===void 0)return;let Q=B[C];if(Q!==void 0)if(Array.isArray(Q))do Q=B[C],Q!==void 0&&(A.push(B.time),I.push.apply(I,Q)),B=g[i++];while(B!==void 0);else if(Q.toArray!==void 0)do Q=B[C],Q!==void 0&&(A.push(B.time),Q.toArray(I,I.length)),B=g[i++];while(B!==void 0);else do Q=B[C],Q!==void 0&&(A.push(B.time),I.push(Q)),B=g[i++];while(B!==void 0)}function j3(g,A,I,C,i=30){const B=g.clone();B.name=A;const Q=[];for(let t=0;t=C)){s.push(E.times[l]);for(let w=0;wB.tracks[t].times[0]&&(e=B.tracks[t].times[0]);for(let t=0;t=e.times[h]){const c=h*s+o,G=c+s-o;w=e.values.slice(c,G)}else{const c=e.createInterpolant(),G=o,y=s-o;c.evaluate(B),w=c.resultBuffer.slice(G,y)}t==="quaternion"&&new Bg().fromArray(w).normalize().conjugate().toArray(w);const D=E.times.length;for(let c=0;c=B)){const e=I[1];A=B)break I}Q=C,C=0;break g}break A}for(;C>>1;AI;)--Q;if(++Q,B!==0||Q!==i){B>=Q&&(Q=Math.max(Q,1),B=Q-1);const e=this.getValueSize();this.times=C.slice(B,Q),this.values=this.values.slice(B*e,Q*e)}return this}validate(){let A=!0;const I=this.getValueSize();I-Math.floor(I)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),A=!1);const C=this.times,i=this.values,B=C.length;B===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),A=!1);let Q=null;for(let e=0;e!==B;e++){const t=C[e];if(typeof t=="number"&&isNaN(t)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,e,t),A=!1;break}if(Q!==null&&Q>t){console.error("THREE.KeyframeTrack: Out of order keys.",this,e,t,Q),A=!1;break}Q=t}if(i!==void 0&&Zq(i))for(let e=0,t=i.length;e!==t;++e){const E=i[e];if(isNaN(E)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,e,E),A=!1;break}}return A}optimize(){const A=this.times.slice(),I=this.values.slice(),C=this.getValueSize(),i=this.getInterpolation()===ah,B=A.length-1;let Q=1;for(let e=1;e0){A[Q]=A[B];for(let e=B*C,t=Q*C,E=0;E!==C;++E)I[t+E]=I[e+E];++Q}return Q!==A.length?(this.times=A.slice(0,Q),this.values=I.slice(0,Q*C)):(this.times=A,this.values=I),this}clone(){const A=this.times.slice(),I=this.values.slice(),C=this.constructor,i=new C(this.name,A,I);return i.createInterpolant=this.createInterpolant,i}}$B.prototype.TimeBufferType=Float32Array;$B.prototype.ValueBufferType=Float32Array;$B.prototype.DefaultInterpolation=ie;class xE extends $B{}xE.prototype.ValueTypeName="bool";xE.prototype.ValueBufferType=Array;xE.prototype.DefaultInterpolation=pE;xE.prototype.InterpolantFactoryMethodLinear=void 0;xE.prototype.InterpolantFactoryMethodSmooth=void 0;class Od extends $B{}Od.prototype.ValueTypeName="color";class ee extends $B{}ee.prototype.ValueTypeName="number";class Xq extends TE{constructor(A,I,C,i){super(A,I,C,i)}interpolate_(A,I,C,i){const B=this.resultBuffer,Q=this.sampleValues,e=this.valueSize,t=(C-I)/(i-I);let E=A*e;for(let o=E+e;E!==o;E+=4)Bg.slerpFlat(B,0,Q,E-e,Q,E,t);return B}}class wQ extends $B{InterpolantFactoryMethodLinear(A){return new Xq(this.times,this.values,this.getValueSize(),A)}}wQ.prototype.ValueTypeName="quaternion";wQ.prototype.DefaultInterpolation=ie;wQ.prototype.InterpolantFactoryMethodSmooth=void 0;class vE extends $B{}vE.prototype.ValueTypeName="string";vE.prototype.ValueBufferType=Array;vE.prototype.DefaultInterpolation=pE;vE.prototype.InterpolantFactoryMethodLinear=void 0;vE.prototype.InterpolantFactoryMethodSmooth=void 0;class te extends $B{}te.prototype.ValueTypeName="vector";class NE{constructor(A="",I=-1,C=[],i=ND){this.name=A,this.tracks=C,this.duration=I,this.blendMode=i,this.uuid=zi(),this.duration<0&&this.resetDuration()}static parse(A){const I=[],C=A.tracks,i=1/(A.fps||1);for(let Q=0,e=C.length;Q!==e;++Q)I.push(A4(C[Q]).scale(i));const B=new this(A.name,A.duration,I,A.blendMode);return B.uuid=A.uuid,B}static toJSON(A){const I=[],C=A.tracks,i={name:A.name,duration:A.duration,tracks:I,uuid:A.uuid,blendMode:A.blendMode};for(let B=0,Q=C.length;B!==Q;++B)I.push($B.toJSON(C[B]));return i}static CreateFromMorphTargetSequence(A,I,C,i){const B=I.length,Q=[];for(let e=0;e1){const s=o[1];let r=i[s];r||(i[s]=r=[]),r.push(E)}}const Q=[];for(const e in i)Q.push(this.CreateFromMorphTargetSequence(e,i[e],I,C));return Q}static parseAnimation(A,I){if(!A)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const C=function(s,r,l,h,w){if(l.length!==0){const D=[],c=[];vd(l,D,c,h),D.length!==0&&w.push(new s(r,D,c))}},i=[],B=A.name||"default",Q=A.fps||30,e=A.blendMode;let t=A.length||-1;const E=A.hierarchy||[];for(let s=0;s{I&&I(B),this.manager.itemEnd(A)},0),B;if(YQ[A]!==void 0){YQ[A].push({onLoad:I,onProgress:C,onError:i});return}YQ[A]=[],YQ[A].push({onLoad:I,onProgress:C,onError:i});const Q=new Request(A,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),e=this.mimeType,t=this.responseType;fetch(Q).then(E=>{if(E.status===200||E.status===0){if(E.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||E.body===void 0||E.body.getReader===void 0)return E;const o=YQ[A],s=E.body.getReader(),r=E.headers.get("X-File-Size")||E.headers.get("Content-Length"),l=r?parseInt(r):0,h=l!==0;let w=0;const D=new ReadableStream({start(c){G();function G(){s.read().then(({done:y,value:k})=>{if(y)c.close();else{w+=k.byteLength;const F=new ProgressEvent("progress",{lengthComputable:h,loaded:w,total:l});for(let U=0,f=o.length;U{switch(t){case"arraybuffer":return E.arrayBuffer();case"blob":return E.blob();case"document":return E.text().then(o=>new DOMParser().parseFromString(o,e));case"json":return E.json();default:if(e===void 0)return E.text();{const s=/charset="?([^;"\s]*)"?/i.exec(e),r=s&&s[1]?s[1].toLowerCase():void 0,l=new TextDecoder(r);return E.arrayBuffer().then(h=>l.decode(h))}}}).then(E=>{WQ.add(A,E);const o=YQ[A];delete YQ[A];for(let s=0,r=o.length;s{const o=YQ[A];if(o===void 0)throw this.manager.itemError(A),E;delete YQ[A];for(let s=0,r=o.length;s{this.manager.itemEnd(A)}),this.manager.itemStart(A)}setResponseType(A){return this.responseType=A,this}setMimeType(A){return this.mimeType=A,this}}class g4 extends HC{constructor(A){super(A)}load(A,I,C,i){const B=this,Q=new Di(this.manager);Q.setPath(this.path),Q.setRequestHeader(this.requestHeader),Q.setWithCredentials(this.withCredentials),Q.load(A,function(e){try{I(B.parse(JSON.parse(e)))}catch(t){i?i(t):console.error(t),B.manager.itemError(A)}},C,i)}parse(A){const I=[];for(let C=0;C0:i.vertexColors=A.vertexColors),A.uniforms!==void 0)for(const B in A.uniforms){const Q=A.uniforms[B];switch(i.uniforms[B]={},Q.type){case"t":i.uniforms[B].value=C(Q.value);break;case"c":i.uniforms[B].value=new ZA().setHex(Q.value);break;case"v2":i.uniforms[B].value=new mA().fromArray(Q.value);break;case"v3":i.uniforms[B].value=new T().fromArray(Q.value);break;case"v4":i.uniforms[B].value=new Ig().fromArray(Q.value);break;case"m3":i.uniforms[B].value=new FI().fromArray(Q.value);break;case"m4":i.uniforms[B].value=new iI().fromArray(Q.value);break;default:i.uniforms[B].value=Q.value}}if(A.defines!==void 0&&(i.defines=A.defines),A.vertexShader!==void 0&&(i.vertexShader=A.vertexShader),A.fragmentShader!==void 0&&(i.fragmentShader=A.fragmentShader),A.glslVersion!==void 0&&(i.glslVersion=A.glslVersion),A.extensions!==void 0)for(const B in A.extensions)i.extensions[B]=A.extensions[B];if(A.lights!==void 0&&(i.lights=A.lights),A.clipping!==void 0&&(i.clipping=A.clipping),A.size!==void 0&&(i.size=A.size),A.sizeAttenuation!==void 0&&(i.sizeAttenuation=A.sizeAttenuation),A.map!==void 0&&(i.map=C(A.map)),A.matcap!==void 0&&(i.matcap=C(A.matcap)),A.alphaMap!==void 0&&(i.alphaMap=C(A.alphaMap)),A.bumpMap!==void 0&&(i.bumpMap=C(A.bumpMap)),A.bumpScale!==void 0&&(i.bumpScale=A.bumpScale),A.normalMap!==void 0&&(i.normalMap=C(A.normalMap)),A.normalMapType!==void 0&&(i.normalMapType=A.normalMapType),A.normalScale!==void 0){let B=A.normalScale;Array.isArray(B)===!1&&(B=[B,B]),i.normalScale=new mA().fromArray(B)}return A.displacementMap!==void 0&&(i.displacementMap=C(A.displacementMap)),A.displacementScale!==void 0&&(i.displacementScale=A.displacementScale),A.displacementBias!==void 0&&(i.displacementBias=A.displacementBias),A.roughnessMap!==void 0&&(i.roughnessMap=C(A.roughnessMap)),A.metalnessMap!==void 0&&(i.metalnessMap=C(A.metalnessMap)),A.emissiveMap!==void 0&&(i.emissiveMap=C(A.emissiveMap)),A.emissiveIntensity!==void 0&&(i.emissiveIntensity=A.emissiveIntensity),A.specularMap!==void 0&&(i.specularMap=C(A.specularMap)),A.specularIntensityMap!==void 0&&(i.specularIntensityMap=C(A.specularIntensityMap)),A.specularColorMap!==void 0&&(i.specularColorMap=C(A.specularColorMap)),A.envMap!==void 0&&(i.envMap=C(A.envMap)),A.envMapRotation!==void 0&&i.envMapRotation.fromArray(A.envMapRotation),A.envMapIntensity!==void 0&&(i.envMapIntensity=A.envMapIntensity),A.reflectivity!==void 0&&(i.reflectivity=A.reflectivity),A.refractionRatio!==void 0&&(i.refractionRatio=A.refractionRatio),A.lightMap!==void 0&&(i.lightMap=C(A.lightMap)),A.lightMapIntensity!==void 0&&(i.lightMapIntensity=A.lightMapIntensity),A.aoMap!==void 0&&(i.aoMap=C(A.aoMap)),A.aoMapIntensity!==void 0&&(i.aoMapIntensity=A.aoMapIntensity),A.gradientMap!==void 0&&(i.gradientMap=C(A.gradientMap)),A.clearcoatMap!==void 0&&(i.clearcoatMap=C(A.clearcoatMap)),A.clearcoatRoughnessMap!==void 0&&(i.clearcoatRoughnessMap=C(A.clearcoatRoughnessMap)),A.clearcoatNormalMap!==void 0&&(i.clearcoatNormalMap=C(A.clearcoatNormalMap)),A.clearcoatNormalScale!==void 0&&(i.clearcoatNormalScale=new mA().fromArray(A.clearcoatNormalScale)),A.iridescenceMap!==void 0&&(i.iridescenceMap=C(A.iridescenceMap)),A.iridescenceThicknessMap!==void 0&&(i.iridescenceThicknessMap=C(A.iridescenceThicknessMap)),A.transmissionMap!==void 0&&(i.transmissionMap=C(A.transmissionMap)),A.thicknessMap!==void 0&&(i.thicknessMap=C(A.thicknessMap)),A.anisotropyMap!==void 0&&(i.anisotropyMap=C(A.anisotropyMap)),A.sheenColorMap!==void 0&&(i.sheenColorMap=C(A.sheenColorMap)),A.sheenRoughnessMap!==void 0&&(i.sheenRoughnessMap=C(A.sheenRoughnessMap)),i}setTextures(A){return this.textures=A,this}static createMaterialFromType(A){const I={ShadowMaterial:Hq,SpriteMaterial:md,RawShaderMaterial:Tq,ShaderMaterial:UB,PointsMaterial:dr,MeshPhysicalMaterial:Tg,MeshStandardMaterial:HE,MeshPhongMaterial:xq,MeshToonMaterial:vq,MeshNormalMaterial:bq,MeshLambertMaterial:Oq,MeshDepthMaterial:qD,MeshDistanceMaterial:mD,MeshBasicMaterial:Vg,MeshMatcapMaterial:_q,LineDashedMaterial:Pq,LineBasicMaterial:YC,Material:Gg};return new I[A]}}class $i{static decodeText(A){if(typeof TextDecoder<"u")return new TextDecoder().decode(A);let I="";for(let C=0,i=A.length;C0){const t=new _d(I);B=new $a(t),B.setCrossOrigin(this.crossOrigin);for(let E=0,o=A.length;E0){i=new $a(this.manager),i.setCrossOrigin(this.crossOrigin);for(let Q=0,e=A.length;Q{const D=new uC;D.min.fromArray(w.boxMin),D.max.fromArray(w.boxMax);const c=new jg;return c.radius=w.sphereRadius,c.center.fromArray(w.sphereCenter),{boxInitialized:w.boxInitialized,box:D,sphereInitialized:w.sphereInitialized,sphere:c}}),Q._maxGeometryCount=A.maxGeometryCount,Q._maxVertexCount=A.maxVertexCount,Q._maxIndexCount=A.maxIndexCount,Q._geometryInitialized=A.geometryInitialized,Q._geometryCount=A.geometryCount,Q._matricesTexture=E(A.matricesTexture.uuid);break;case"LOD":Q=new pq;break;case"Line":Q=new SQ(e(A.geometry),t(A.material));break;case"LineLoop":Q=new TD(e(A.geometry),t(A.material));break;case"LineSegments":Q=new NB(e(A.geometry),t(A.material));break;case"PointCloud":case"Points":Q=new xD(e(A.geometry),t(A.material));break;case"Sprite":Q=new Mq(t(A.material));break;case"Group":Q=new uB;break;case"Bone":Q=new ur;break;default:Q=new YI}if(Q.uuid=A.uuid,A.name!==void 0&&(Q.name=A.name),A.matrix!==void 0?(Q.matrix.fromArray(A.matrix),A.matrixAutoUpdate!==void 0&&(Q.matrixAutoUpdate=A.matrixAutoUpdate),Q.matrixAutoUpdate&&Q.matrix.decompose(Q.position,Q.quaternion,Q.scale)):(A.position!==void 0&&Q.position.fromArray(A.position),A.rotation!==void 0&&Q.rotation.fromArray(A.rotation),A.quaternion!==void 0&&Q.quaternion.fromArray(A.quaternion),A.scale!==void 0&&Q.scale.fromArray(A.scale)),A.up!==void 0&&Q.up.fromArray(A.up),A.castShadow!==void 0&&(Q.castShadow=A.castShadow),A.receiveShadow!==void 0&&(Q.receiveShadow=A.receiveShadow),A.shadow&&(A.shadow.bias!==void 0&&(Q.shadow.bias=A.shadow.bias),A.shadow.normalBias!==void 0&&(Q.shadow.normalBias=A.shadow.normalBias),A.shadow.radius!==void 0&&(Q.shadow.radius=A.shadow.radius),A.shadow.mapSize!==void 0&&Q.shadow.mapSize.fromArray(A.shadow.mapSize),A.shadow.camera!==void 0&&(Q.shadow.camera=this.parseObject(A.shadow.camera))),A.visible!==void 0&&(Q.visible=A.visible),A.frustumCulled!==void 0&&(Q.frustumCulled=A.frustumCulled),A.renderOrder!==void 0&&(Q.renderOrder=A.renderOrder),A.userData!==void 0&&(Q.userData=A.userData),A.layers!==void 0&&(Q.layers.mask=A.layers),A.children!==void 0){const r=A.children;for(let l=0;l"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(A){return this.options=A,this}load(A,I,C,i){A===void 0&&(A=""),this.path!==void 0&&(A=this.path+A),A=this.manager.resolveURL(A);const B=this,Q=WQ.get(A);if(Q!==void 0){if(B.manager.itemStart(A),Q.then){Q.then(E=>{I&&I(E),B.manager.itemEnd(A)}).catch(E=>{i&&i(E)});return}return setTimeout(function(){I&&I(Q),B.manager.itemEnd(A)},0),Q}const e={};e.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",e.headers=this.requestHeader;const t=fetch(A,e).then(function(E){return E.blob()}).then(function(E){return createImageBitmap(E,Object.assign(B.options,{colorSpaceConversion:"none"}))}).then(function(E){return WQ.add(A,E),I&&I(E),B.manager.itemEnd(A),E}).catch(function(E){i&&i(E),WQ.remove(A),B.manager.itemError(A),B.manager.itemEnd(A)});WQ.add(A,t),B.manager.itemStart(A)}}let fc;class Vd{static getContext(){return fc===void 0&&(fc=new(window.AudioContext||window.webkitAudioContext)),fc}static setContext(A){fc=A}}class n4 extends HC{constructor(A){super(A)}load(A,I,C,i){const B=this,Q=new Di(this.manager);Q.setResponseType("arraybuffer"),Q.setPath(this.path),Q.setRequestHeader(this.requestHeader),Q.setWithCredentials(this.withCredentials),Q.load(A,function(t){try{const E=t.slice(0);Vd.getContext().decodeAudioData(E,function(s){I(s)}).catch(e)}catch(E){e(E)}},C,i);function e(t){i?i(t):console.error(t),B.manager.itemError(A)}}}const gN=new iI,CN=new iI,bt=new iI;class s4{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new CC,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new CC,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(A){const I=this._cache;if(I.focus!==A.focus||I.fov!==A.fov||I.aspect!==A.aspect*this.aspect||I.near!==A.near||I.far!==A.far||I.zoom!==A.zoom||I.eyeSep!==this.eyeSep){I.focus=A.focus,I.fov=A.fov,I.aspect=A.aspect*this.aspect,I.near=A.near,I.far=A.far,I.zoom=A.zoom,I.eyeSep=this.eyeSep,bt.copy(A.projectionMatrix);const i=I.eyeSep/2,B=i*I.near/I.focus,Q=I.near*Math.tan(hE*I.fov*.5)/I.zoom;let e,t;CN.elements[12]=-i,gN.elements[12]=i,e=-Q*I.aspect+B,t=Q*I.aspect+B,bt.elements[0]=2*I.near/(t-e),bt.elements[8]=(t+e)/(t-e),this.cameraL.projectionMatrix.copy(bt),e=-Q*I.aspect-B,t=Q*I.aspect-B,bt.elements[0]=2*I.near/(t-e),bt.elements[8]=(t+e)/(t-e),this.cameraR.projectionMatrix.copy(bt)}this.cameraL.matrixWorld.copy(A.matrixWorld).multiply(CN),this.cameraR.matrixWorld.copy(A.matrixWorld).multiply(gN)}}class jd{constructor(A=!0){this.autoStart=A,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=iN(),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 A=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const I=iN();A=(I-this.oldTime)/1e3,this.oldTime=I,this.elapsedTime+=A}return A}}function iN(){return(typeof performance>"u"?Date:performance).now()}const Ot=new T,BN=new Bg,a4=new T,_t=new T;class r4 extends YI{constructor(){super(),this.type="AudioListener",this.context=Vd.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new jd}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(A){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=A,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(A){return this.gain.gain.setTargetAtTime(A,this.context.currentTime,.01),this}updateMatrixWorld(A){super.updateMatrixWorld(A);const I=this.context.listener,C=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Ot,BN,a4),_t.set(0,0,-1).applyQuaternion(BN),I.positionX){const i=this.context.currentTime+this.timeDelta;I.positionX.linearRampToValueAtTime(Ot.x,i),I.positionY.linearRampToValueAtTime(Ot.y,i),I.positionZ.linearRampToValueAtTime(Ot.z,i),I.forwardX.linearRampToValueAtTime(_t.x,i),I.forwardY.linearRampToValueAtTime(_t.y,i),I.forwardZ.linearRampToValueAtTime(_t.z,i),I.upX.linearRampToValueAtTime(C.x,i),I.upY.linearRampToValueAtTime(C.y,i),I.upZ.linearRampToValueAtTime(C.z,i)}else I.setPosition(Ot.x,Ot.y,Ot.z),I.setOrientation(_t.x,_t.y,_t.z,C.x,C.y,C.z)}}let Bm=class extends YI{constructor(A){super(),this.type="Audio",this.listener=A,this.context=A.context,this.gain=this.context.createGain(),this.gain.connect(A.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(A){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=A,this.connect(),this}setMediaElementSource(A){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(A),this.connect(),this}setMediaStreamSource(A){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(A),this.connect(),this}setBuffer(A){return this.buffer=A,this.sourceType="buffer",this.autoplay&&this.play(),this}play(A=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+A;const I=this.context.createBufferSource();return I.buffer=this.buffer,I.loop=this.loop,I.loopStart=this.loopStart,I.loopEnd=this.loopEnd,I.onended=this.onEnded.bind(this),I.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=I,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 A=1,I=this.filters.length;A0){this.source.disconnect(this.filters[0]);for(let A=1,I=this.filters.length;A0&&this._mixBufferRegionAdditive(C,i,this._addIndex*I,1,I);for(let t=I,E=I+I;t!==E;++t)if(C[t]!==C[t+I]){e.setValue(C,i);break}}saveOriginalState(){const A=this.binding,I=this.buffer,C=this.valueSize,i=C*this._origIndex;A.getValue(I,i);for(let B=C,Q=i;B!==Q;++B)I[B]=I[i+B%C];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const A=this.valueSize*3;this.binding.setValue(this.buffer,A)}_setAdditiveIdentityNumeric(){const A=this._addIndex*this.valueSize,I=A+this.valueSize;for(let C=A;C=.5)for(let Q=0;Q!==B;++Q)A[I+Q]=A[C+Q]}_slerp(A,I,C,i){Bg.slerpFlat(A,I,A,I,A,C,i)}_slerpAdditive(A,I,C,i,B){const Q=this._workIndex*B;Bg.multiplyQuaternionsFlat(A,Q,A,I,A,C),Bg.slerpFlat(A,I,A,I,A,Q,i)}_lerp(A,I,C,i,B){const Q=1-i;for(let e=0;e!==B;++e){const t=I+e;A[t]=A[t]*Q+A[C+e]*i}}_lerpAdditive(A,I,C,i,B){for(let Q=0;Q!==B;++Q){const e=I+Q;A[e]=A[e]+A[C+Q]*i}}}const Xd="\\[\\]\\.:\\/",D4=new RegExp("["+Xd+"]","g"),zd="[^"+Xd+"]",S4="[^"+Xd.replace("\\.","")+"]",w4=/((?:WC+[\/:])*)/.source.replace("WC",zd),G4=/(WCOD+)?/.source.replace("WCOD",S4),y4=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",zd),u4=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",zd),k4=new RegExp("^"+w4+G4+y4+u4+"$"),d4=["material","materials","bones","map"];class M4{constructor(A,I,C){const i=C||ZI.parseTrackName(I);this._targetGroup=A,this._bindings=A.subscribe_(I,i)}getValue(A,I){this.bind();const C=this._targetGroup.nCachedObjects_,i=this._bindings[C];i!==void 0&&i.getValue(A,I)}setValue(A,I){const C=this._bindings;for(let i=this._targetGroup.nCachedObjects_,B=C.length;i!==B;++i)C[i].setValue(A,I)}bind(){const A=this._bindings;for(let I=this._targetGroup.nCachedObjects_,C=A.length;I!==C;++I)A[I].bind()}unbind(){const A=this._bindings;for(let I=this._targetGroup.nCachedObjects_,C=A.length;I!==C;++I)A[I].unbind()}}class ZI{constructor(A,I,C){this.path=I,this.parsedPath=C||ZI.parseTrackName(I),this.node=ZI.findNode(A,this.parsedPath.nodeName),this.rootNode=A,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(A,I,C){return A&&A.isAnimationObjectGroup?new ZI.Composite(A,I,C):new ZI(A,I,C)}static sanitizeNodeName(A){return A.replace(/\s/g,"_").replace(D4,"")}static parseTrackName(A){const I=k4.exec(A);if(I===null)throw new Error("PropertyBinding: Cannot parse trackName: "+A);const C={nodeName:I[2],objectName:I[3],objectIndex:I[4],propertyName:I[5],propertyIndex:I[6]},i=C.nodeName&&C.nodeName.lastIndexOf(".");if(i!==void 0&&i!==-1){const B=C.nodeName.substring(i+1);d4.indexOf(B)!==-1&&(C.nodeName=C.nodeName.substring(0,i),C.objectName=B)}if(C.propertyName===null||C.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+A);return C}static findNode(A,I){if(I===void 0||I===""||I==="."||I===-1||I===A.name||I===A.uuid)return A;if(A.skeleton){const C=A.skeleton.getBoneByName(I);if(C!==void 0)return C}if(A.children){const C=function(B){for(let Q=0;Q=B){const s=B++,r=A[s];I[r.uuid]=o,A[o]=r,I[E]=s,A[s]=t;for(let l=0,h=i;l!==h;++l){const w=C[l],D=w[s],c=w[o];w[o]=D,w[s]=c}}}this.nCachedObjects_=B}uncache(){const A=this._objects,I=this._indicesByUUID,C=this._bindings,i=C.length;let B=this.nCachedObjects_,Q=A.length;for(let e=0,t=arguments.length;e!==t;++e){const E=arguments[e],o=E.uuid,s=I[o];if(s!==void 0)if(delete I[o],s0&&(I[l.uuid]=s),A[s]=l,A.pop();for(let h=0,w=i;h!==w;++h){const D=C[h];D[s]=D[r],D.pop()}}}this.nCachedObjects_=B}subscribe_(A,I){const C=this._bindingsIndicesByPath;let i=C[A];const B=this._bindings;if(i!==void 0)return B[i];const Q=this._paths,e=this._parsedPaths,t=this._objects,E=t.length,o=this.nCachedObjects_,s=new Array(E);i=B.length,C[A]=i,Q.push(A),e.push(I),B.push(s);for(let r=o,l=t.length;r!==l;++r){const h=t[r];s[r]=new ZI(h,A,I)}return s}unsubscribe_(A){const I=this._bindingsIndicesByPath,C=I[A];if(C!==void 0){const i=this._paths,B=this._parsedPaths,Q=this._bindings,e=Q.length-1,t=Q[e],E=A[e];I[E]=C,Q[C]=t,Q.pop(),B[C]=B[e],B.pop(),i[C]=i[e],i.pop()}}}class em{constructor(A,I,C=null,i=I.blendMode){this._mixer=A,this._clip=I,this._localRoot=C,this.blendMode=i;const B=I.tracks,Q=B.length,e=new Array(Q),t={endingStart:QE,endingEnd:QE};for(let E=0;E!==Q;++E){const o=B[E].createInterpolant(null);e[E]=o,o.settings=t}this._interpolantSettings=t,this._interpolants=e,this._propertyBindings=new Array(Q),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=VJ,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(A){return this._startTime=A,this}setLoop(A,I){return this.loop=A,this.repetitions=I,this}setEffectiveWeight(A){return this.weight=A,this._effectiveWeight=this.enabled?A:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(A){return this._scheduleFading(A,0,1)}fadeOut(A){return this._scheduleFading(A,1,0)}crossFadeFrom(A,I,C){if(A.fadeOut(I),this.fadeIn(I),C){const i=this._clip.duration,B=A._clip.duration,Q=B/i,e=i/B;A.warp(1,Q,I),this.warp(e,1,I)}return this}crossFadeTo(A,I,C){return A.crossFadeFrom(this,I,C)}stopFading(){const A=this._weightInterpolant;return A!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this}setEffectiveTimeScale(A){return this.timeScale=A,this._effectiveTimeScale=this.paused?0:A,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(A){return this.timeScale=this._clip.duration/A,this.stopWarping()}syncWith(A){return this.time=A.time,this.timeScale=A.timeScale,this.stopWarping()}halt(A){return this.warp(this._effectiveTimeScale,0,A)}warp(A,I,C){const i=this._mixer,B=i.time,Q=this.timeScale;let e=this._timeScaleInterpolant;e===null&&(e=i._lendControlInterpolant(),this._timeScaleInterpolant=e);const t=e.parameterPositions,E=e.sampleValues;return t[0]=B,t[1]=B+C,E[0]=A/Q,E[1]=I/Q,this}stopWarping(){const A=this._timeScaleInterpolant;return A!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(A,I,C,i){if(!this.enabled){this._updateWeight(A);return}const B=this._startTime;if(B!==null){const t=(A-B)*C;t<0||C===0?I=0:(this._startTime=null,I=C*t)}I*=this._updateTimeScale(A);const Q=this._updateTime(I),e=this._updateWeight(A);if(e>0){const t=this._interpolants,E=this._propertyBindings;switch(this.blendMode){case dd:for(let o=0,s=t.length;o!==s;++o)t[o].evaluate(Q),E[o].accumulateAdditive(e);break;case ND:default:for(let o=0,s=t.length;o!==s;++o)t[o].evaluate(Q),E[o].accumulate(i,e)}}}_updateWeight(A){let I=0;if(this.enabled){I=this.weight;const C=this._weightInterpolant;if(C!==null){const i=C.evaluate(A)[0];I*=i,A>C.parameterPositions[1]&&(this.stopFading(),i===0&&(this.enabled=!1))}}return this._effectiveWeight=I,I}_updateTimeScale(A){let I=0;if(!this.paused){I=this.timeScale;const C=this._timeScaleInterpolant;if(C!==null){const i=C.evaluate(A)[0];I*=i,A>C.parameterPositions[1]&&(this.stopWarping(),I===0?this.paused=!0:this.timeScale=I)}}return this._effectiveTimeScale=I,I}_updateTime(A){const I=this._clip.duration,C=this.loop;let i=this.time+A,B=this._loopCount;const Q=C===jJ;if(A===0)return B===-1?i:Q&&(B&1)===1?I-i:i;if(C===WJ){B===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));A:{if(i>=I)i=I;else if(i<0)i=0;else{this.time=i;break A}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:A<0?-1:1})}}else{if(B===-1&&(A>=0?(B=0,this._setEndings(!0,this.repetitions===0,Q)):this._setEndings(this.repetitions===0,!0,Q)),i>=I||i<0){const e=Math.floor(i/I);i-=I*e,B+=Math.abs(e);const t=this.repetitions-B;if(t<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=A>0?I:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:A>0?1:-1});else{if(t===1){const E=A<0;this._setEndings(E,!E,Q)}else this._setEndings(!1,!1,Q);this._loopCount=B,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:e})}}else this.time=i;if(Q&&(B&1)===1)return I-i}return i}_setEndings(A,I,C){const i=this._interpolantSettings;C?(i.endingStart=eE,i.endingEnd=eE):(A?i.endingStart=this.zeroSlopeAtStart?eE:QE:i.endingStart=va,I?i.endingEnd=this.zeroSlopeAtEnd?eE:QE:i.endingEnd=va)}_scheduleFading(A,I,C){const i=this._mixer,B=i.time;let Q=this._weightInterpolant;Q===null&&(Q=i._lendControlInterpolant(),this._weightInterpolant=Q);const e=Q.parameterPositions,t=Q.sampleValues;return e[0]=B,t[0]=I,e[1]=B+A,t[1]=C,this}}const U4=new Float32Array(1);class f4 extends le{constructor(A){super(),this._root=A,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(A,I){const C=A._localRoot||this._root,i=A._clip.tracks,B=i.length,Q=A._propertyBindings,e=A._interpolants,t=C.uuid,E=this._bindingsByRootAndName;let o=E[t];o===void 0&&(o={},E[t]=o);for(let s=0;s!==B;++s){const r=i[s],l=r.name;let h=o[l];if(h!==void 0)++h.referenceCount,Q[s]=h;else{if(h=Q[s],h!==void 0){h._cacheIndex===null&&(++h.referenceCount,this._addInactiveBinding(h,t,l));continue}const w=I&&I._propertyBindings[s].binding.parsedPath;h=new Qm(ZI.create(C,l,w),r.ValueTypeName,r.getValueSize()),++h.referenceCount,this._addInactiveBinding(h,t,l),Q[s]=h}e[s].resultBuffer=h.buffer}}_activateAction(A){if(!this._isActiveAction(A)){if(A._cacheIndex===null){const C=(A._localRoot||this._root).uuid,i=A._clip.uuid,B=this._actionsByClip[i];this._bindAction(A,B&&B.knownActions[0]),this._addInactiveAction(A,i,C)}const I=A._propertyBindings;for(let C=0,i=I.length;C!==i;++C){const B=I[C];B.useCount++===0&&(this._lendBinding(B),B.saveOriginalState())}this._lendAction(A)}}_deactivateAction(A){if(this._isActiveAction(A)){const I=A._propertyBindings;for(let C=0,i=I.length;C!==i;++C){const B=I[C];--B.useCount===0&&(B.restoreOriginalState(),this._takeBackBinding(B))}this._takeBackAction(A)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const A=this;this.stats={actions:{get total(){return A._actions.length},get inUse(){return A._nActiveActions}},bindings:{get total(){return A._bindings.length},get inUse(){return A._nActiveBindings}},controlInterpolants:{get total(){return A._controlInterpolants.length},get inUse(){return A._nActiveControlInterpolants}}}}_isActiveAction(A){const I=A._cacheIndex;return I!==null&&I=0;--C)A[C].stop();return this}update(A){A*=this.timeScale;const I=this._actions,C=this._nActiveActions,i=this.time+=A,B=Math.sign(A),Q=this._accuIndex^=1;for(let E=0;E!==C;++E)I[E]._update(i,A,B,Q);const e=this._bindings,t=this._nActiveBindings;for(let E=0;E!==t;++E)e[E].apply(Q);return this}setTime(A){this.time=0;for(let I=0;Ithis.max.x||A.ythis.max.y)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y}getParameter(A,I){return I.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(A){return!(A.max.xthis.max.x||A.max.ythis.max.y)}clampPoint(A,I){return I.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return this.clampPoint(A,EN).distanceTo(A)}intersect(A){return this.min.max(A.min),this.max.min(A.max),this.isEmpty()&&this.makeEmpty(),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}}const oN=new T,Nc=new T;class Em{constructor(A=new T,I=new T){this.start=A,this.end=I}set(A,I){return this.start.copy(A),this.end.copy(I),this}copy(A){return this.start.copy(A.start),this.end.copy(A.end),this}getCenter(A){return A.addVectors(this.start,this.end).multiplyScalar(.5)}delta(A){return A.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(A,I){return this.delta(I).multiplyScalar(A).add(this.start)}closestPointToPointParameter(A,I){oN.subVectors(A,this.start),Nc.subVectors(this.end,this.start);const C=Nc.dot(Nc);let B=Nc.dot(oN)/C;return I&&(B=Hg(B,0,1)),B}closestPointToPoint(A,I,C){const i=this.closestPointToPointParameter(A,I);return this.delta(C).multiplyScalar(i).add(this.start)}applyMatrix4(A){return this.start.applyMatrix4(A),this.end.applyMatrix4(A),this}equals(A){return A.start.equals(this.start)&&A.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const nN=new T;class m4 extends YI{constructor(A,I){super(),this.light=A,this.matrixAutoUpdate=!1,this.color=I,this.type="SpotLightHelper";const C=new MI,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let Q=0,e=1,t=32;Q1)for(let s=0;s.99999)this.quaternion.set(0,0,0,1);else if(A.y<-.99999)this.quaternion.set(1,0,0,0);else{cN.set(A.z,0,-A.x).normalize();const I=Math.acos(A.y);this.quaternion.setFromAxisAngle(cN,I)}}setLength(A,I=A*.2,C=I*.2){this.line.scale.set(1,Math.max(1e-4,A-I),1),this.line.updateMatrix(),this.cone.scale.set(C,I,C),this.cone.position.y=A,this.cone.updateMatrix()}setColor(A){this.line.material.color.set(A),this.cone.material.color.set(A)}copy(A){return super.copy(A,!1),this.line.copy(A.line),this.cone.copy(A.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class V4 extends NB{constructor(A=1){const I=[0,0,0,A,0,0,0,0,0,0,A,0,0,0,0,0,0,A],C=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],i=new MI;i.setAttribute("position",new sI(I,3)),i.setAttribute("color",new sI(C,3));const B=new YC({vertexColors:!0,toneMapped:!1});super(i,B),this.type="AxesHelper"}setColors(A,I,C){const i=new ZA,B=this.geometry.attributes.color.array;return i.set(A),i.toArray(B,0),i.toArray(B,3),i.set(I),i.toArray(B,6),i.toArray(B,9),i.set(C),i.toArray(B,12),i.toArray(B,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class j4{constructor(){this.type="ShapePath",this.color=new ZA,this.subPaths=[],this.currentPath=null}moveTo(A,I){return this.currentPath=new Va,this.subPaths.push(this.currentPath),this.currentPath.moveTo(A,I),this}lineTo(A,I){return this.currentPath.lineTo(A,I),this}quadraticCurveTo(A,I,C,i){return this.currentPath.quadraticCurveTo(A,I,C,i),this}bezierCurveTo(A,I,C,i,B,Q){return this.currentPath.bezierCurveTo(A,I,C,i,B,Q),this}splineThru(A){return this.currentPath.splineThru(A),this}toShapes(A){function I(c){const G=[];for(let y=0,k=c.length;yNumber.EPSILON){if(p<0&&(f=G[U],N=-N,K=G[F],p=-p),c.yK.y)continue;if(c.y===f.y){if(c.x===f.x)return!0}else{const m=p*(c.x-f.x)-N*(c.y-f.y);if(m===0)return!0;if(m<0)continue;k=!k}}else{if(c.y!==f.y)continue;if(K.x<=c.x&&c.x<=f.x||f.x<=c.x&&c.x<=K.x)return!0}}return k}const i=hQ.isClockWise,B=this.subPaths;if(B.length===0)return[];let Q,e,t;const E=[];if(B.length===1)return e=B[0],t=new Bt,t.curves=e.curves,E.push(t),E;let o=!i(B[0].getPoints());o=A?!o:o;const s=[],r=[];let l=[],h=0,w;r[h]=void 0,l[h]=[];for(let c=0,G=B.length;c1){let c=!1,G=0;for(let y=0,k=r.length;y0&&c===!1&&(l=s)}let D;for(let c=0,G=r.length;c{const s=typeof E=="function"?E(A):E;if(s!==A){const r=A;A=o?s:Object.assign({},A,s),I.forEach(l=>l(A,r))}},i=()=>A,B=(E,o=i,s=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let r=o(A);function l(){const h=o(A);if(!s(r,h)){const w=r;E(r=h,w)}}return I.add(l),()=>I.delete(l)},t={setState:C,getState:i,subscribe:(E,o,s)=>o||s?B(E,o,s):(I.add(E),()=>I.delete(E)),destroy:()=>I.clear()};return A=g(C,i,t),t}const A1=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),hN=A1?z.useEffect:z.useLayoutEffect;function sm(g){const A=typeof g=="function"?$4(g):g,I=(C=A.getState,i=Object.is)=>{const[,B]=z.useReducer(D=>D+1,0),Q=A.getState(),e=z.useRef(Q),t=z.useRef(C),E=z.useRef(i),o=z.useRef(!1),s=z.useRef();s.current===void 0&&(s.current=C(Q));let r,l=!1;(e.current!==Q||t.current!==C||E.current!==i||o.current)&&(r=C(Q),l=!i(s.current,r)),hN(()=>{l&&(s.current=r),e.current=Q,t.current=C,E.current=i,o.current=!1});const h=z.useRef(Q);hN(()=>{const D=()=>{try{const G=A.getState(),y=t.current(G);E.current(s.current,y)||(e.current=G,s.current=y,B())}catch{o.current=!0,B()}},c=A.subscribe(D);return A.getState()!==h.current&&D(),c},[]);const w=l?r:s.current;return z.useDebugValue(w),w};return Object.assign(I,A),I[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");const C=[I,A];return{next(){const i=C.length<=0;return{value:C.shift(),done:i}}}},I}var am={exports:{}},rm={exports:{}},lm={};/** + * @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(g){function A(H,O){var v=H.length;H.push(O);A:for(;0>>1,j=H[Y];if(0>>1;Yi(X,v))gAi(AA,X)?(H[Y]=AA,H[gA]=v,Y=gA):(H[Y]=X,H[P]=v,Y=P);else if(gAi(AA,v))H[Y]=AA,H[gA]=v,Y=gA;else break A}}return O}function i(H,O){var v=H.sortIndex-O.sortIndex;return v!==0?v:H.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var B=performance;g.unstable_now=function(){return B.now()}}else{var Q=Date,e=Q.now();g.unstable_now=function(){return Q.now()-e}}var t=[],E=[],o=1,s=null,r=3,l=!1,h=!1,w=!1,D=typeof setTimeout=="function"?setTimeout:null,c=typeof clearTimeout=="function"?clearTimeout:null,G=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(H){for(var O=I(E);O!==null;){if(O.callback===null)C(E);else if(O.startTime<=H)C(E),O.sortIndex=O.expirationTime,A(t,O);else break;O=I(E)}}function k(H){if(w=!1,y(H),!h)if(I(t)!==null)h=!0,CA(F);else{var O=I(E);O!==null&&lA(k,O.startTime-H)}}function F(H,O){h=!1,w&&(w=!1,c(K),K=-1),l=!0;var v=r;try{for(y(O),s=I(t);s!==null&&(!(s.expirationTime>O)||H&&!m());){var Y=s.callback;if(typeof Y=="function"){s.callback=null,r=s.priorityLevel;var j=Y(s.expirationTime<=O);O=g.unstable_now(),typeof j=="function"?s.callback=j:s===I(t)&&C(t),y(O)}else C(t);s=I(t)}if(s!==null)var QA=!0;else{var P=I(E);P!==null&&lA(k,P.startTime-O),QA=!1}return QA}finally{s=null,r=v,l=!1}}var U=!1,f=null,K=-1,N=5,p=-1;function m(){return!(g.unstable_now()-pH||125Y?(H.sortIndex=v,A(E,H),I(t)===null&&H===I(E)&&(w?(c(K),K=-1):w=!0,lA(k,v-Y))):(H.sortIndex=j,A(t,H),h||l||(h=!0,CA(F))),H},g.unstable_shouldYield=m,g.unstable_wrapCallback=function(H){var O=r;return function(){var v=r;r=O;try{return H.apply(this,arguments)}finally{r=v}}}})(lm);rm.exports=lm;var Bk=rm.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 I1=function(A){var I={},C=z,i=Bk,B=Object.assign;function Q(n){for(var a="https://reactjs.org/docs/error-decoder.html?invariant="+n,S=1;SeA||d[W]!==R[eA]){var JA=` +`+d[W].replace(" at new "," at ");return n.displayName&&JA.includes("")&&(JA=JA.replace("",n.displayName)),JA}while(1<=W&&0<=eA);break}}}finally{ag=!1,Error.prepareStackTrace=S}return(n=n?n.displayName||n.name:"")?uI(n):""}var zg=Object.prototype.hasOwnProperty,OC=[],JI=-1;function cI(n){return{current:n}}function PI(n){0>JI||(n.current=OC[JI],OC[JI]=null,JI--)}function DI(n,a){JI++,OC[JI]=n.current,n.current=a}var vg={},Kg=cI(vg),ug=cI(!1),yi=vg;function Qg(n,a){var S=n.type.contextTypes;if(!S)return vg;var u=n.stateNode;if(u&&u.__reactInternalMemoizedUnmaskedChildContext===a)return u.__reactInternalMemoizedMaskedChildContext;var d={},R;for(R in S)d[R]=a[R];return u&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=a,n.__reactInternalMemoizedMaskedChildContext=d),d}function og(n){return n=n.childContextTypes,n!=null}function Bi(){PI(ug),PI(Kg)}function tC(n,a,S){if(Kg.current!==vg)throw Error(Q(168));DI(Kg,a),DI(ug,S)}function AQ(n,a,S){var u=n.stateNode;if(a=a.childContextTypes,typeof u.getChildContext!="function")return S;u=u.getChildContext();for(var d in u)if(!(d in a))throw Error(Q(108,K(n)||"Unknown",d));return B({},S,u)}function IQ(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||vg,yi=Kg.current,DI(Kg,n),DI(ug,ug.current),!0}function _C(n,a,S){var u=n.stateNode;if(!u)throw Error(Q(169));S?(n=AQ(n,a,yi),u.__reactInternalMemoizedMergedChildContext=n,PI(ug),PI(Kg),DI(Kg,n)):PI(ug),DI(ug,S)}var Li=Math.clz32?Math.clz32:Lr,ZE=Math.log,wt=Math.LN2;function Lr(n){return n>>>=0,n===0?32:31-(ZE(n)/wt|0)|0}var uQ=64,kQ=4194304;function dQ(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 Gt(n,a){var S=n.pendingLanes;if(S===0)return 0;var u=0,d=n.suspendedLanes,R=n.pingedLanes,W=S&268435455;if(W!==0){var eA=W&~d;eA!==0?u=dQ(eA):(R&=W,R!==0&&(u=dQ(R)))}else W=S&~d,W!==0?u=dQ(W):R!==0&&(u=dQ(R));if(u===0)return 0;if(a!==0&&a!==u&&!(a&d)&&(d=u&-u,R=a&-a,d>=R||d===16&&(R&4194240)!==0))return a;if(u&4&&(u|=S&16),a=n.entangledLanes,a!==0)for(n=n.entanglements,a&=u;0S;S++)a.push(n);return a}function gQ(n,a,S){n.pendingLanes|=a,a!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,a=31-Li(a),n[a]=S}function ce(n,a){var S=n.pendingLanes&~a;n.pendingLanes=a,n.suspendedLanes=0,n.pingedLanes=0,n.expiredLanes&=a,n.mutableReadLanes&=a,n.entangledLanes&=a,a=n.entanglements;var u=n.eventTimes;for(n=n.expirationTimes;0>=W,d-=W,fQ=1<<32-Li(a)+d|S<XI?(hC=NI,NI=null):hC=NI.sibling;var zI=SI(kA,NI,FA[XI],CI);if(zI===null){NI===null&&(NI=hC);break}n&&NI&&zI.alternate===null&&a(kA,NI),nA=R(zI,nA,XI),mI===null?rI=zI:mI.sibling=zI,mI=zI,NI=hC}if(XI===FA.length)return S(kA,NI),kg&&Ut(kA,XI),rI;if(NI===null){for(;XIXI?(hC=NI,NI=null):hC=NI.sibling;var de=SI(kA,NI,zI.value,CI);if(de===null){NI===null&&(NI=hC);break}n&&NI&&de.alternate===null&&a(kA,NI),nA=R(de,nA,XI),mI===null?rI=de:mI.sibling=de,mI=de,NI=hC}if(zI.done)return S(kA,NI),kg&&Ut(kA,XI),rI;if(NI===null){for(;!zI.done;XI++,zI=FA.next())zI=fI(kA,zI.value,CI),zI!==null&&(nA=R(zI,nA,XI),mI===null?rI=zI:mI.sibling=zI,mI=zI);return kg&&Ut(kA,XI),rI}for(NI=u(kA,NI);!zI.done;XI++,zI=FA.next())zI=ng(NI,kA,XI,zI.value,CI),zI!==null&&(n&&zI.alternate!==null&&NI.delete(zI.key===null?XI:zI.key),nA=R(zI,nA,XI),mI===null?rI=zI:mI.sibling=zI,mI=zI);return n&&NI.forEach(function(LY){return a(kA,LY)}),kg&&Ut(kA,XI),rI}function nB(kA,nA,FA,CI){if(typeof FA=="object"&&FA!==null&&FA.type===o&&FA.key===null&&(FA=FA.props.children),typeof FA=="object"&&FA!==null){switch(FA.$$typeof){case t:A:{for(var rI=FA.key,mI=nA;mI!==null;){if(mI.key===rI){if(rI=FA.type,rI===o){if(mI.tag===7){S(kA,mI.sibling),nA=d(mI,FA.props.children),nA.return=kA,kA=nA;break A}}else if(mI.elementType===rI||typeof rI=="object"&&rI!==null&&rI.$$typeof===y&&a0(rI)===mI.type){S(kA,mI.sibling),nA=d(mI,FA.props),nA.ref=Is(kA,mI,FA),nA.return=kA,kA=nA;break A}S(kA,mI);break}else a(kA,mI);mI=mI.sibling}FA.type===o?(nA=qt(FA.props.children,kA.mode,CI,FA.key),nA.return=kA,kA=nA):(CI=dl(FA.type,FA.key,FA.props,null,kA.mode,CI),CI.ref=Is(kA,nA,FA),CI.return=kA,kA=CI)}return W(kA);case E:A:{for(mI=FA.key;nA!==null;){if(nA.key===mI)if(nA.tag===4&&nA.stateNode.containerInfo===FA.containerInfo&&nA.stateNode.implementation===FA.implementation){S(kA,nA.sibling),nA=d(nA,FA.children||[]),nA.return=kA,kA=nA;break A}else{S(kA,nA);break}else a(kA,nA);nA=nA.sibling}nA=fw(FA,kA.mode,CI),nA.return=kA,kA=nA}return W(kA);case y:return mI=FA._init,nB(kA,nA,mI(FA._payload),CI)}if(IA(FA))return lI(kA,nA,FA,CI);if(U(FA))return VC(kA,nA,FA,CI);Wr(kA,FA)}return typeof FA=="string"&&FA!==""||typeof FA=="number"?(FA=""+FA,nA!==null&&nA.tag===6?(S(kA,nA.sibling),nA=d(nA,FA),nA.return=kA,kA=nA):(S(kA,nA),nA=Uw(FA,kA.mode,CI),nA.return=kA,kA=nA),W(kA)):S(kA,nA)}return nB}var Io=r0(!0),l0=r0(!1),gs={},eB=cI(gs),Cs=cI(gs),go=cI(gs);function BQ(n){if(n===gs)throw Error(Q(174));return n}function PS(n,a){DI(go,a),DI(Cs,n),DI(eB,gs),n=lA(a),PI(eB),DI(eB,n)}function Co(){PI(eB),PI(Cs),PI(go)}function c0(n){var a=BQ(go.current),S=BQ(eB.current);a=H(S,n.type,a),S!==a&&(DI(Cs,n),DI(eB,a))}function ZS(n){Cs.current===n&&(PI(eB),PI(Cs))}var Ug=cI(0);function Vr(n){for(var a=n;a!==null;){if(a.tag===13){var S=a.memoizedState;if(S!==null&&(S=S.dehydrated,S===null||xC(S)||vC(S)))return a}else if(a.tag===19&&a.memoizedProps.revealOrder!==void 0){if(a.flags&128)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===n)break;for(;a.sibling===null;){if(a.return===null||a.return===n)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var WS=[];function VS(){for(var n=0;nS?S:4,n(!0);var u=tB.transition;tB.transition={};try{n(!1),a()}finally{xI=S,tB.transition=u}}function N0(){return QQ().memoizedState}function oY(n,a,S){var u=ye(n);S={lane:u,action:S,hasEagerState:!1,eagerState:null,next:null},F0(n)?R0(a,S):(K0(n,a,S),S=ni(),n=EB(n,u,S),n!==null&&J0(n,a,u))}function nY(n,a,S){var u=ye(n),d={lane:u,action:S,hasEagerState:!1,eagerState:null,next:null};if(F0(n))R0(a,d);else{K0(n,a,d);var R=n.alternate;if(n.lanes===0&&(R===null||R.lanes===0)&&(R=a.lastRenderedReducer,R!==null))try{var W=a.lastRenderedState,eA=R(W,S);if(d.hasEagerState=!0,d.eagerState=eA,Hi(eA,W))return}catch{}finally{}S=ni(),n=EB(n,u,S),n!==null&&J0(n,a,u)}}function F0(n){var a=n.alternate;return n===Jg||a!==null&&a===Jg}function R0(n,a){is=Xr=!0;var S=n.pending;S===null?a.next=a:(a.next=S.next,S.next=a),n.pending=a}function K0(n,a,S){$g!==null&&n.mode&1&&!(HI&2)?(n=a.interleaved,n===null?(S.next=S,Ti===null?Ti=[a]:Ti.push(a)):(S.next=n.next,n.next=S),a.interleaved=S):(n=a.pending,n===null?S.next=S:(S.next=n.next,n.next=S),a.pending=S)}function J0(n,a,S){if(S&4194240){var u=a.lanes;u&=n.pendingLanes,S|=u,a.lanes=S,CQ(n,S)}}var gl={readContext:Og,useCallback:ZC,useContext:ZC,useEffect:ZC,useImperativeHandle:ZC,useInsertionEffect:ZC,useLayoutEffect:ZC,useMemo:ZC,useReducer:ZC,useRef:ZC,useState:ZC,useDebugValue:ZC,useDeferredValue:ZC,useTransition:ZC,useMutableSource:ZC,useSyncExternalStore:ZC,useId:ZC,unstable_isNewReconciler:!1},sY={readContext:Og,useCallback:function(n,a){return FQ().memoizedState=[n,a===void 0?null:a],n},useContext:Og,useEffect:Aw,useImperativeHandle:function(n,a,S){return S=S!=null?S.concat([n]):null,Al(4194308,4,M0.bind(null,a,n),S)},useLayoutEffect:function(n,a){return Al(4194308,4,n,a)},useInsertionEffect:function(n,a){return Al(4,2,n,a)},useMemo:function(n,a){var S=FQ();return a=a===void 0?null:a,n=n(),S.memoizedState=[n,a],n},useReducer:function(n,a,S){var u=FQ();return a=S!==void 0?S(a):a,u.memoizedState=u.baseState=a,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:a},u.queue=n,n=n.dispatch=oY.bind(null,Jg,n),[u.memoizedState,n]},useRef:function(n){var a=FQ();return n={current:n},a.memoizedState=n},useState:$S,useDebugValue:Iw,useDeferredValue:function(n){var a=$S(n),S=a[0],u=a[1];return Aw(function(){var d=tB.transition;tB.transition={};try{u(n)}finally{tB.transition=d}},[n]),S},useTransition:function(){var n=$S(!1),a=n[0];return n=EY.bind(null,n[1]),FQ().memoizedState=n,[a,n]},useMutableSource:function(){},useSyncExternalStore:function(n,a,S){var u=Jg,d=FQ();if(kg){if(S===void 0)throw Error(Q(407));S=S()}else{if(S=a(),$g===null)throw Error(Q(349));io&30||S0(u,a,S)}d.memoizedState=S;var R={value:S,getSnapshot:a};return d.queue=R,Aw(G0.bind(null,u,R,n),[n]),u.flags|=2048,Qs(9,w0.bind(null,u,R,S,a),void 0,null),S},useId:function(){var n=FQ(),a=$g.identifierPrefix;if(kg){var S=NQ,u=fQ;S=(u&~(1<<32-Li(u)-1)).toString(32)+S,a=":"+a+"R"+S,S=Bs++,0ww&&(a.flags|=128,u=!0,os(d,!1),a.lanes=4194304)}else{if(!u)if(n=Vr(R),n!==null){if(a.flags|=128,u=!0,n=n.updateQueue,n!==null&&(a.updateQueue=n,a.flags|=4),os(d,!0),d.tail===null&&d.tailMode==="hidden"&&!R.alternate&&!kg)return WC(a),null}else 2*pg()-d.renderingStartTime>ww&&S!==1073741824&&(a.flags|=128,u=!0,os(d,!1),a.lanes=4194304);d.isBackwards?(R.sibling=a.child,a.child=R):(n=d.last,n!==null?n.sibling=R:a.child=R,d.last=R)}return d.tail!==null?(a=d.tail,d.rendering=a,d.tail=a.sibling,d.renderingStartTime=pg(),a.sibling=null,n=Ug.current,DI(Ug,u?n&1|2:n&1),a):(WC(a),null);case 22:case 23:return dw(),u=a.memoizedState!==null,n!==null&&n.memoizedState!==null!==u&&(a.flags|=8192),u&&a.mode&1?Oi&1073741824&&(WC(a),MA&&a.subtreeFlags&6&&(a.flags|=8192)):WC(a),null;case 24:return null;case 25:return null}throw Error(Q(156,a.tag))}var hY=e.ReactCurrentOwner,bi=!1;function oi(n,a,S,u){a.child=n===null?l0(a,null,S,u):Io(a,n.child,S,u)}function v0(n,a,S,u,d){S=S.render;var R=a.ref;return bg(a,d),u=XS(n,a,S,u,R,d),S=zS(),n!==null&&!bi?(a.updateQueue=n.updateQueue,a.flags&=-2053,n.lanes&=~d,RQ(n,a,d)):(kg&&S&&xS(a),a.flags|=1,oi(n,a,u,d),a.child)}function b0(n,a,S,u,d){if(n===null){var R=S.type;return typeof R=="function"&&!pw(R)&&R.defaultProps===void 0&&S.compare===null&&S.defaultProps===void 0?(a.tag=15,a.type=R,O0(n,a,R,u,d)):(n=dl(S.type,null,u,a,a.mode,d),n.ref=a.ref,n.return=a,a.child=n)}if(R=n.child,!(n.lanes&d)){var W=R.memoizedProps;if(S=S.compare,S=S!==null?S:dt,S(W,u)&&n.ref===a.ref)return RQ(n,a,d)}return a.flags|=1,n=ke(R,u),n.ref=a.ref,n.return=a,a.child=n}function O0(n,a,S,u,d){if(n!==null&&dt(n.memoizedProps,u)&&n.ref===a.ref)if(bi=!1,(n.lanes&d)!==0)n.flags&131072&&(bi=!0);else return a.lanes=n.lanes,RQ(n,a,d);return iw(n,a,S,u,d)}function _0(n,a,S){var u=a.pendingProps,d=u.children,R=n!==null?n.memoizedState:null;if(u.mode==="hidden")if(!(a.mode&1))a.memoizedState={baseLanes:0,cachePool:null},DI(Bo,Oi),Oi|=S;else if(S&1073741824)a.memoizedState={baseLanes:0,cachePool:null},u=R!==null?R.baseLanes:S,DI(Bo,Oi),Oi|=u;else return n=R!==null?R.baseLanes|S:S,a.lanes=a.childLanes=1073741824,a.memoizedState={baseLanes:n,cachePool:null},a.updateQueue=null,DI(Bo,Oi),Oi|=n,null;else R!==null?(u=R.baseLanes|S,a.memoizedState=null):u=S,DI(Bo,Oi),Oi|=u;return oi(n,a,d,S),a.child}function P0(n,a){var S=a.ref;(n===null&&S!==null||n!==null&&n.ref!==S)&&(a.flags|=512,a.flags|=2097152)}function iw(n,a,S,u,d){var R=og(S)?yi:Kg.current;return R=Qg(a,R),bg(a,d),S=XS(n,a,S,u,R,d),u=zS(),n!==null&&!bi?(a.updateQueue=n.updateQueue,a.flags&=-2053,n.lanes&=~d,RQ(n,a,d)):(kg&&u&&xS(a),a.flags|=1,oi(n,a,S,d),a.child)}function Z0(n,a,S,u,d){if(og(S)){var R=!0;IQ(a)}else R=!1;if(bg(a,d),a.stateNode===null)n!==null&&(n.alternate=null,a.alternate=null,a.flags|=2),e0(a,S,u),TS(a,S,u,d),u=!0;else if(n===null){var W=a.stateNode,eA=a.memoizedProps;W.props=eA;var JA=W.context,WA=S.contextType;typeof WA=="object"&&WA!==null?WA=Og(WA):(WA=og(S)?yi:Kg.current,WA=Qg(a,WA));var tI=S.getDerivedStateFromProps,fI=typeof tI=="function"||typeof W.getSnapshotBeforeUpdate=="function";fI||typeof W.UNSAFE_componentWillReceiveProps!="function"&&typeof W.componentWillReceiveProps!="function"||(eA!==u||JA!==WA)&&t0(a,W,u,WA),De=!1;var SI=a.memoizedState;W.state=SI,Or(a,u,W,d),JA=a.memoizedState,eA!==u||SI!==JA||ug.current||De?(typeof tI=="function"&&(HS(a,S,tI,u),JA=a.memoizedState),(eA=De||Q0(a,S,eA,u,SI,JA,WA))?(fI||typeof W.UNSAFE_componentWillMount!="function"&&typeof W.componentWillMount!="function"||(typeof W.componentWillMount=="function"&&W.componentWillMount(),typeof W.UNSAFE_componentWillMount=="function"&&W.UNSAFE_componentWillMount()),typeof W.componentDidMount=="function"&&(a.flags|=4194308)):(typeof W.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=u,a.memoizedState=JA),W.props=u,W.state=JA,W.context=WA,u=eA):(typeof W.componentDidMount=="function"&&(a.flags|=4194308),u=!1)}else{W=a.stateNode,g0(n,a),eA=a.memoizedProps,WA=a.type===a.elementType?eA:ti(a.type,eA),W.props=WA,fI=a.pendingProps,SI=W.context,JA=S.contextType,typeof JA=="object"&&JA!==null?JA=Og(JA):(JA=og(S)?yi:Kg.current,JA=Qg(a,JA));var ng=S.getDerivedStateFromProps;(tI=typeof ng=="function"||typeof W.getSnapshotBeforeUpdate=="function")||typeof W.UNSAFE_componentWillReceiveProps!="function"&&typeof W.componentWillReceiveProps!="function"||(eA!==fI||SI!==JA)&&t0(a,W,u,JA),De=!1,SI=a.memoizedState,W.state=SI,Or(a,u,W,d);var lI=a.memoizedState;eA!==fI||SI!==lI||ug.current||De?(typeof ng=="function"&&(HS(a,S,ng,u),lI=a.memoizedState),(WA=De||Q0(a,S,WA,u,SI,lI,JA)||!1)?(tI||typeof W.UNSAFE_componentWillUpdate!="function"&&typeof W.componentWillUpdate!="function"||(typeof W.componentWillUpdate=="function"&&W.componentWillUpdate(u,lI,JA),typeof W.UNSAFE_componentWillUpdate=="function"&&W.UNSAFE_componentWillUpdate(u,lI,JA)),typeof W.componentDidUpdate=="function"&&(a.flags|=4),typeof W.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof W.componentDidUpdate!="function"||eA===n.memoizedProps&&SI===n.memoizedState||(a.flags|=4),typeof W.getSnapshotBeforeUpdate!="function"||eA===n.memoizedProps&&SI===n.memoizedState||(a.flags|=1024),a.memoizedProps=u,a.memoizedState=lI),W.props=u,W.state=lI,W.context=JA,u=WA):(typeof W.componentDidUpdate!="function"||eA===n.memoizedProps&&SI===n.memoizedState||(a.flags|=4),typeof W.getSnapshotBeforeUpdate!="function"||eA===n.memoizedProps&&SI===n.memoizedState||(a.flags|=1024),u=!1)}return Bw(n,a,S,u,R,d)}function Bw(n,a,S,u,d,R){P0(n,a);var W=(a.flags&128)!==0;if(!u&&!W)return d&&_C(a,S,!1),RQ(n,a,R);u=a.stateNode,hY.current=a;var eA=W&&typeof S.getDerivedStateFromError!="function"?null:u.render();return a.flags|=1,n!==null&&W?(a.child=Io(a,n.child,null,R),a.child=Io(a,null,eA,R)):oi(n,a,eA,R),a.memoizedState=u.state,d&&_C(a,S,!0),a.child}function W0(n){var a=n.stateNode;a.pendingContext?tC(n,a.pendingContext,a.pendingContext!==a.context):a.context&&tC(n,a.context,!1),PS(n,a.containerInfo)}function V0(n,a,S,u,d){return Ao(),_S(d),a.flags|=256,oi(n,a,S,u),a.child}var Bl={dehydrated:null,treeContext:null,retryLane:0};function Ql(n){return{baseLanes:n,cachePool:null}}function j0(n,a,S){var u=a.pendingProps,d=Ug.current,R=!1,W=(a.flags&128)!==0,eA;if((eA=W)||(eA=n!==null&&n.memoizedState===null?!1:(d&2)!==0),eA?(R=!0,a.flags&=-129):(n===null||n.memoizedState!==null)&&(d|=1),DI(Ug,d&1),n===null)return OS(a),n=a.memoizedState,n!==null&&(n=n.dehydrated,n!==null)?(a.mode&1?vC(n)?a.lanes=8:a.lanes=1073741824:a.lanes=1,null):(d=u.children,n=u.fallback,R?(u=a.mode,R=a.child,d={mode:"hidden",children:d},!(u&1)&&R!==null?(R.childLanes=0,R.pendingProps=d):R=Ml(d,u,0,null),n=qt(n,u,S,null),R.return=a,n.return=a,R.sibling=n,a.child=R,a.child.memoizedState=Ql(S),a.memoizedState=Bl,n):Qw(a,d));if(d=n.memoizedState,d!==null){if(eA=d.dehydrated,eA!==null){if(W)return a.flags&256?(a.flags&=-257,el(n,a,S,Error(Q(422)))):a.memoizedState!==null?(a.child=n.child,a.flags|=128,null):(R=u.fallback,d=a.mode,u=Ml({mode:"visible",children:u.children},d,0,null),R=qt(R,d,S,null),R.flags|=2,u.return=a,R.return=a,u.sibling=R,a.child=u,a.mode&1&&Io(a,n.child,null,S),a.child.memoizedState=Ql(S),a.memoizedState=Bl,R);if(!(a.mode&1))a=el(n,a,S,null);else if(vC(eA))a=el(n,a,S,Error(Q(419)));else if(u=(S&n.childLanes)!==0,bi||u){if(u=$g,u!==null){switch(S&-S){case 4:R=2;break;case 16:R=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:R=32;break;case 536870912:R=268435456;break;default:R=0}u=R&(u.suspendedLanes|S)?0:R,u!==0&&u!==d.retryLane&&(d.retryLane=u,EB(n,u,-1))}Mw(),a=el(n,a,S,Error(Q(421)))}else xC(eA)?(a.flags|=128,a.child=n.child,a=NY.bind(null,n),ii(eA,a),a=null):(S=d.treeContext,GA&&(vi=RB(eA),xi=a,kg=!0,JB=null,$n=!1,S!==null&&(BB[QB++]=fQ,BB[QB++]=NQ,BB[QB++]=pt,fQ=S.id,NQ=S.overflow,pt=a)),a=Qw(a,a.pendingProps.children),a.flags|=4096);return a}return R?(u=z0(n,a,u.children,u.fallback,S),R=a.child,d=n.child.memoizedState,R.memoizedState=d===null?Ql(S):{baseLanes:d.baseLanes|S,cachePool:null},R.childLanes=n.childLanes&~S,a.memoizedState=Bl,u):(S=X0(n,a,u.children,S),a.memoizedState=null,S)}return R?(u=z0(n,a,u.children,u.fallback,S),R=a.child,d=n.child.memoizedState,R.memoizedState=d===null?Ql(S):{baseLanes:d.baseLanes|S,cachePool:null},R.childLanes=n.childLanes&~S,a.memoizedState=Bl,u):(S=X0(n,a,u.children,S),a.memoizedState=null,S)}function Qw(n,a){return a=Ml({mode:"visible",children:a},n.mode,0,null),a.return=n,n.child=a}function X0(n,a,S,u){var d=n.child;return n=d.sibling,S=ke(d,{mode:"visible",children:S}),!(a.mode&1)&&(S.lanes=u),S.return=a,S.sibling=null,n!==null&&(u=a.deletions,u===null?(a.deletions=[n],a.flags|=16):u.push(n)),a.child=S}function z0(n,a,S,u,d){var R=a.mode;n=n.child;var W=n.sibling,eA={mode:"hidden",children:S};return!(R&1)&&a.child!==n?(S=a.child,S.childLanes=0,S.pendingProps=eA,a.deletions=null):(S=ke(n,eA),S.subtreeFlags=n.subtreeFlags&14680064),W!==null?u=ke(W,u):(u=qt(u,R,d,null),u.flags|=2),u.return=a,S.return=a,S.sibling=u,a.child=S,u}function el(n,a,S,u){return u!==null&&_S(u),Io(a,n.child,null,S),n=Qw(a,a.pendingProps.children),n.flags|=2,a.memoizedState=null,n}function $0(n,a,S){n.lanes|=a;var u=n.alternate;u!==null&&(u.lanes|=a),Ei(n.return,a,S)}function ew(n,a,S,u,d){var R=n.memoizedState;R===null?n.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:u,tail:S,tailMode:d}:(R.isBackwards=a,R.rendering=null,R.renderingStartTime=0,R.last=u,R.tail=S,R.tailMode=d)}function Ap(n,a,S){var u=a.pendingProps,d=u.revealOrder,R=u.tail;if(oi(n,a,u.children,S),u=Ug.current,u&2)u=u&1|2,a.flags|=128;else{if(n!==null&&n.flags&128)A:for(n=a.child;n!==null;){if(n.tag===13)n.memoizedState!==null&&$0(n,S,a);else if(n.tag===19)$0(n,S,a);else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===a)break A;for(;n.sibling===null;){if(n.return===null||n.return===a)break A;n=n.return}n.sibling.return=n.return,n=n.sibling}u&=1}if(DI(Ug,u),!(a.mode&1))a.memoizedState=null;else switch(d){case"forwards":for(S=a.child,d=null;S!==null;)n=S.alternate,n!==null&&Vr(n)===null&&(d=S),S=S.sibling;S=d,S===null?(d=a.child,a.child=null):(d=S.sibling,S.sibling=null),ew(a,!1,d,S,R);break;case"backwards":for(S=null,d=a.child,a.child=null;d!==null;){if(n=d.alternate,n!==null&&Vr(n)===null){a.child=d;break}n=d.sibling,d.sibling=S,S=d,d=n}ew(a,!0,S,null,R);break;case"together":ew(a,!1,null,null,void 0);break;default:a.memoizedState=null}return a.child}function RQ(n,a,S){if(n!==null&&(a.dependencies=n.dependencies),Qo|=a.lanes,!(S&a.childLanes))return null;if(n!==null&&a.child!==n.child)throw Error(Q(153));if(a.child!==null){for(n=a.child,S=ke(n,n.pendingProps),a.child=S,S.return=a;n.sibling!==null;)n=n.sibling,S=S.sibling=ke(n,n.pendingProps),S.return=a;S.sibling=null}return a.child}function DY(n,a,S){switch(a.tag){case 3:W0(a),Ao();break;case 5:c0(a);break;case 1:og(a.type)&&IQ(a);break;case 4:PS(a,a.stateNode.containerInfo);break;case 10:vr(a,a.type._context,a.memoizedProps.value);break;case 13:var u=a.memoizedState;if(u!==null)return u.dehydrated!==null?(DI(Ug,Ug.current&1),a.flags|=128,null):S&a.child.childLanes?j0(n,a,S):(DI(Ug,Ug.current&1),n=RQ(n,a,S),n!==null?n.sibling:null);DI(Ug,Ug.current&1);break;case 19:if(u=(S&a.childLanes)!==0,n.flags&128){if(u)return Ap(n,a,S);a.flags|=128}var d=a.memoizedState;if(d!==null&&(d.rendering=null,d.tail=null,d.lastEffect=null),DI(Ug,Ug.current),u)break;return null;case 22:case 23:return a.lanes=0,_0(n,a,S)}return RQ(n,a,S)}function SY(n,a){switch(vS(a),a.tag){case 1:return og(a.type)&&Bi(),n=a.flags,n&65536?(a.flags=n&-65537|128,a):null;case 3:return Co(),PI(ug),PI(Kg),VS(),n=a.flags,n&65536&&!(n&128)?(a.flags=n&-65537|128,a):null;case 5:return ZS(a),null;case 13:if(PI(Ug),n=a.memoizedState,n!==null&&n.dehydrated!==null){if(a.alternate===null)throw Error(Q(340));Ao()}return n=a.flags,n&65536?(a.flags=n&-65537|128,a):null;case 19:return PI(Ug),null;case 4:return Co(),null;case 10:return lC(a.type._context),null;case 22:case 23:return dw(),null;case 24:return null;default:return null}}var tl=!1,Nt=!1,wY=typeof WeakSet=="function"?WeakSet:Set,II=null;function El(n,a){var S=n.ref;if(S!==null)if(typeof S=="function")try{S(null)}catch(u){Mi(n,a,u)}else S.current=null}function tw(n,a,S){try{S()}catch(u){Mi(n,a,u)}}var Ip=!1;function GY(n,a){for(O(n.containerInfo),II=a;II!==null;)if(n=II,a=n.child,(n.subtreeFlags&1028)!==0&&a!==null)a.return=n,II=a;else for(;II!==null;){n=II;try{var S=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(S!==null){var u=S.memoizedProps,d=S.memoizedState,R=n.stateNode,W=R.getSnapshotBeforeUpdate(n.elementType===n.type?u:ti(n.type,u),d);R.__reactInternalSnapshotBeforeUpdate=W}break;case 3:MA&&jA(n.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(Q(163))}}catch(eA){Mi(n,n.return,eA)}if(a=n.sibling,a!==null){a.return=n.return,II=a;break}II=n.return}return S=Ip,Ip=!1,S}function Ft(n,a,S){var u=a.updateQueue;if(u=u!==null?u.lastEffect:null,u!==null){var d=u=u.next;do{if((d.tag&n)===n){var R=d.destroy;d.destroy=void 0,R!==void 0&&tw(a,S,R)}d=d.next}while(d!==u)}}function ns(n,a){if(a=a.updateQueue,a=a!==null?a.lastEffect:null,a!==null){var S=a=a.next;do{if((S.tag&n)===n){var u=S.create;S.destroy=u()}S=S.next}while(S!==a)}}function Ew(n){var a=n.ref;if(a!==null){var S=n.stateNode;switch(n.tag){case 5:n=CA(S);break;default:n=S}typeof a=="function"?a(n):a.current=n}}function gp(n,a,S){if(Yi&&typeof Yi.onCommitFiberUnmount=="function")try{Yi.onCommitFiberUnmount(ut,a)}catch{}switch(a.tag){case 0:case 11:case 14:case 15:if(n=a.updateQueue,n!==null&&(n=n.lastEffect,n!==null)){var u=n=n.next;do{var d=u,R=d.destroy;d=d.tag,R!==void 0&&(d&2||d&4)&&tw(a,S,R),u=u.next}while(u!==n)}break;case 1:if(El(a,S),n=a.stateNode,typeof n.componentWillUnmount=="function")try{n.props=a.memoizedProps,n.state=a.memoizedState,n.componentWillUnmount()}catch(W){Mi(a,S,W)}break;case 5:El(a,S);break;case 4:MA?tp(n,a,S):$&&$&&(a=a.stateNode.containerInfo,S=BI(a),AI(a,S))}}function Cp(n,a,S){for(var u=a;;)if(gp(n,u,S),u.child===null||MA&&u.tag===4){if(u===a)break;for(;u.sibling===null;){if(u.return===null||u.return===a)return;u=u.return}u.sibling.return=u.return,u=u.sibling}else u.child.return=u,u=u.child}function ip(n){var a=n.alternate;a!==null&&(n.alternate=null,ip(a)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(a=n.stateNode,a!==null&&LA(a)),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 Bp(n){return n.tag===5||n.tag===3||n.tag===4}function Qp(n){A:for(;;){for(;n.sibling===null;){if(n.return===null||Bp(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 A;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function ep(n){if(MA){A:{for(var a=n.return;a!==null;){if(Bp(a))break A;a=a.return}throw Error(Q(160))}var S=a;switch(S.tag){case 5:a=S.stateNode,S.flags&32&&(gI(a),S.flags&=-33),S=Qp(n),nw(n,S,a);break;case 3:case 4:a=S.stateNode.containerInfo,S=Qp(n),ow(n,S,a);break;default:throw Error(Q(161))}}}function ow(n,a,S){var u=n.tag;if(u===5||u===6)n=n.stateNode,a?PA(S,n,a):RA(S,n);else if(u!==4&&(n=n.child,n!==null))for(ow(n,a,S),n=n.sibling;n!==null;)ow(n,a,S),n=n.sibling}function nw(n,a,S){var u=n.tag;if(u===5||u===6)n=n.stateNode,a?YA(S,n,a):bA(S,n);else if(u!==4&&(n=n.child,n!==null))for(nw(n,a,S),n=n.sibling;n!==null;)nw(n,a,S),n=n.sibling}function tp(n,a,S){for(var u=a,d=!1,R,W;;){if(!d){d=u.return;A:for(;;){if(d===null)throw Error(Q(160));switch(R=d.stateNode,d.tag){case 5:W=!1;break A;case 3:R=R.containerInfo,W=!0;break A;case 4:R=R.containerInfo,W=!0;break A}d=d.return}d=!0}if(u.tag===5||u.tag===6)Cp(n,u,S),W?aI(R,u.stateNode):xA(R,u.stateNode);else if(u.tag===18)W?EI(R,u.stateNode):$A(R,u.stateNode);else if(u.tag===4){if(u.child!==null){R=u.stateNode.containerInfo,W=!0,u.child.return=u,u=u.child;continue}}else if(gp(n,u,S),u.child!==null){u.child.return=u,u=u.child;continue}if(u===a)break;for(;u.sibling===null;){if(u.return===null||u.return===a)return;u=u.return,u.tag===4&&(d=!1)}u.sibling.return=u.return,u=u.sibling}}function sw(n,a){if(MA){switch(a.tag){case 0:case 11:case 14:case 15:Ft(3,a,a.return),ns(3,a),Ft(5,a,a.return);return;case 1:return;case 5:var S=a.stateNode;if(S!=null){var u=a.memoizedProps;n=n!==null?n.memoizedProps:u;var d=a.type,R=a.updateQueue;a.updateQueue=null,R!==null&&VA(S,R,d,n,u,a)}return;case 6:if(a.stateNode===null)throw Error(Q(162));S=a.memoizedProps,OA(a.stateNode,n!==null?n.memoizedProps:S,S);return;case 3:GA&&n!==null&&n.memoizedState.isDehydrated&&yA(a.stateNode.containerInfo);return;case 12:return;case 13:ol(a);return;case 19:ol(a);return;case 17:return}throw Error(Q(163))}switch(a.tag){case 0:case 11:case 14:case 15:Ft(3,a,a.return),ns(3,a),Ft(5,a,a.return);return;case 12:return;case 13:ol(a);return;case 19:ol(a);return;case 3:GA&&n!==null&&n.memoizedState.isDehydrated&&yA(a.stateNode.containerInfo);break;case 22:case 23:return}A:if($){switch(a.tag){case 1:case 5:case 6:break A;case 3:case 4:a=a.stateNode,AI(a.containerInfo,a.pendingChildren);break A}throw Error(Q(163))}}function ol(n){var a=n.updateQueue;if(a!==null){n.updateQueue=null;var S=n.stateNode;S===null&&(S=n.stateNode=new wY),a.forEach(function(u){var d=FY.bind(null,n,u);S.has(u)||(S.add(u),u.then(d,d))})}}function yY(n,a){for(II=a;II!==null;){a=II;var S=a.deletions;if(S!==null)for(var u=0;u";case sl:return":has("+(lw(n)||"")+")";case al:return'[role="'+n.value+'"]';case ll:return'"'+n.value+'"';case rl:return'[data-testname="'+n.value+'"]';default:throw Error(Q(365))}}function ap(n,a){var S=[];n=[n,0];for(var u=0;ud&&(d=W),u&=~R}if(u=d,u=pg()-u,u=(120>u?120:480>u?480:1080>u?1080:1920>u?1920:3e3>u?3e3:4320>u?4320:1960*kY(u/1960))-u,10n?16:n,Ge===null)var u=!1;else{if(n=Ge,Ge=null,wl=0,HI&6)throw Error(Q(331));var d=HI;for(HI|=4,II=n.current;II!==null;){var R=II,W=R.child;if(II.flags&16){var eA=R.deletions;if(eA!==null){for(var JA=0;JApg()-Sw?Rt(n,0):Dw|=S),di(n,a)}function yp(n,a){a===0&&(n.mode&1?(a=kQ,kQ<<=1,!(kQ&130023424)&&(kQ=4194304)):a=1);var S=ni();n=ul(n,a),n!==null&&(gQ(n,a,S),di(n,S))}function NY(n){var a=n.memoizedState,S=0;a!==null&&(S=a.retryLane),yp(n,S)}function FY(n,a){var S=0;switch(n.tag){case 13:var u=n.stateNode,d=n.memoizedState;d!==null&&(S=d.retryLane);break;case 19:u=n.stateNode;break;default:throw Error(Q(314))}u!==null&&u.delete(a),yp(n,S)}var up;up=function(n,a,S){if(n!==null)if(n.memoizedProps!==a.pendingProps||ug.current)bi=!0;else{if(!(n.lanes&S)&&!(a.flags&128))return bi=!1,DY(n,a,S);bi=!!(n.flags&131072)}else bi=!1,kg&&a.flags&1048576&&E0(a,Zr,a.index);switch(a.lanes=0,a.tag){case 2:var u=a.type;n!==null&&(n.alternate=null,a.alternate=null,a.flags|=2),n=a.pendingProps;var d=Qg(a,Kg.current);bg(a,S),d=XS(null,a,u,n,d,S);var R=zS();return a.flags|=1,typeof d=="object"&&d!==null&&typeof d.render=="function"&&d.$$typeof===void 0?(a.tag=1,a.memoizedState=null,a.updateQueue=null,og(u)?(R=!0,IQ(a)):R=!1,a.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,YS(a),d.updater=_r,a.stateNode=d,d._reactInternals=a,TS(a,u,n,S),a=Bw(null,a,u,!0,R,S)):(a.tag=0,kg&&R&&xS(a),oi(null,a,d,S),a=a.child),a;case 16:u=a.elementType;A:{switch(n!==null&&(n.alternate=null,a.alternate=null,a.flags|=2),n=a.pendingProps,d=u._init,u=d(u._payload),a.type=u,d=a.tag=KY(u),n=ti(u,n),d){case 0:a=iw(null,a,u,n,S);break A;case 1:a=Z0(null,a,u,n,S);break A;case 11:a=v0(null,a,u,n,S);break A;case 14:a=b0(null,a,u,ti(u.type,n),S);break A}throw Error(Q(306,u,""))}return a;case 0:return u=a.type,d=a.pendingProps,d=a.elementType===u?d:ti(u,d),iw(n,a,u,d,S);case 1:return u=a.type,d=a.pendingProps,d=a.elementType===u?d:ti(u,d),Z0(n,a,u,d,S);case 3:A:{if(W0(a),n===null)throw Error(Q(387));u=a.pendingProps,R=a.memoizedState,d=R.element,g0(n,a),Or(a,u,null,S);var W=a.memoizedState;if(u=W.element,GA&&R.isDehydrated)if(R={element:u,isDehydrated:!1,cache:W.cache,transitions:W.transitions},a.updateQueue.baseState=R,a.memoizedState=R,a.flags&256){d=Error(Q(423)),a=V0(n,a,u,S,d);break A}else if(u!==d){d=Error(Q(424)),a=V0(n,a,u,S,d);break A}else for(GA&&(vi=eC(a.stateNode.containerInfo),xi=a,kg=!0,JB=null,$n=!1),S=l0(a,null,u,S),a.child=S;S;)S.flags=S.flags&-3|4096,S=S.sibling;else{if(Ao(),u===d){a=RQ(n,a,S);break A}oi(n,a,u,S)}a=a.child}return a;case 5:return c0(a),n===null&&OS(a),u=a.type,d=a.pendingProps,R=n!==null?n.memoizedProps:null,W=d.children,X(u,d)?W=null:R!==null&&X(u,R)&&(a.flags|=32),P0(n,a),oi(n,a,W,S),a.child;case 6:return n===null&&OS(a),null;case 13:return j0(n,a,S);case 4:return PS(a,a.stateNode.containerInfo),u=a.pendingProps,n===null?a.child=Io(a,null,u,S):oi(n,a,u,S),a.child;case 11:return u=a.type,d=a.pendingProps,d=a.elementType===u?d:ti(u,d),v0(n,a,u,d,S);case 7:return oi(n,a,a.pendingProps,S),a.child;case 8:return oi(n,a,a.pendingProps.children,S),a.child;case 12:return oi(n,a,a.pendingProps.children,S),a.child;case 10:A:{if(u=a.type._context,d=a.pendingProps,R=a.memoizedProps,W=d.value,vr(a,u,W),R!==null)if(Hi(R.value,W)){if(R.children===d.children&&!ug.current){a=RQ(n,a,S);break A}}else for(R=a.child,R!==null&&(R.return=a);R!==null;){var eA=R.dependencies;if(eA!==null){W=R.child;for(var JA=eA.firstContext;JA!==null;){if(JA.context===u){if(R.tag===1){JA=UQ(-1,S&-S),JA.tag=2;var WA=R.updateQueue;if(WA!==null){WA=WA.shared;var tI=WA.pending;tI===null?JA.next=JA:(JA.next=tI.next,tI.next=JA),WA.pending=JA}}R.lanes|=S,JA=R.alternate,JA!==null&&(JA.lanes|=S),Ei(R.return,S,a),eA.lanes|=S;break}JA=JA.next}}else if(R.tag===10)W=R.type===a.type?null:R.child;else if(R.tag===18){if(W=R.return,W===null)throw Error(Q(341));W.lanes|=S,eA=W.alternate,eA!==null&&(eA.lanes|=S),Ei(W,S,a),W=R.sibling}else W=R.child;if(W!==null)W.return=R;else for(W=R;W!==null;){if(W===a){W=null;break}if(R=W.sibling,R!==null){R.return=W.return,W=R;break}W=W.return}R=W}oi(n,a,d.children,S),a=a.child}return a;case 9:return d=a.type,u=a.pendingProps.children,bg(a,S),d=Og(d),u=u(d),a.flags|=1,oi(n,a,u,S),a.child;case 14:return u=a.type,d=ti(u,a.pendingProps),d=ti(u.type,d),b0(n,a,u,d,S);case 15:return O0(n,a,a.type,a.pendingProps,S);case 17:return u=a.type,d=a.pendingProps,d=a.elementType===u?d:ti(u,d),n!==null&&(n.alternate=null,a.alternate=null,a.flags|=2),a.tag=1,og(u)?(n=!0,IQ(a)):n=!1,bg(a,S),e0(a,u,d),TS(a,u,d,S),Bw(null,a,u,!0,n,S);case 19:return Ap(n,a,S);case 22:return _0(n,a,S)}throw Error(Q(156,a.tag))};function kp(n,a){return pQ(n,a)}function RY(n,a,S,u){this.tag=n,this.key=S,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=u,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function oB(n,a,S,u){return new RY(n,a,S,u)}function pw(n){return n=n.prototype,!(!n||!n.isReactComponent)}function KY(n){if(typeof n=="function")return pw(n)?1:0;if(n!=null){if(n=n.$$typeof,n===w)return 11;if(n===G)return 14}return 2}function ke(n,a){var S=n.alternate;return S===null?(S=oB(n.tag,a,n.key,n.mode),S.elementType=n.elementType,S.type=n.type,S.stateNode=n.stateNode,S.alternate=n,n.alternate=S):(S.pendingProps=a,S.type=n.type,S.flags=0,S.subtreeFlags=0,S.deletions=null),S.flags=n.flags&14680064,S.childLanes=n.childLanes,S.lanes=n.lanes,S.child=n.child,S.memoizedProps=n.memoizedProps,S.memoizedState=n.memoizedState,S.updateQueue=n.updateQueue,a=n.dependencies,S.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},S.sibling=n.sibling,S.index=n.index,S.ref=n.ref,S}function dl(n,a,S,u,d,R){var W=2;if(u=n,typeof n=="function")pw(n)&&(W=1);else if(typeof n=="string")W=5;else A:switch(n){case o:return qt(S.children,d,R,a);case s:W=8,d|=8;break;case r:return n=oB(12,S,a,d|2),n.elementType=r,n.lanes=R,n;case D:return n=oB(13,S,a,d),n.elementType=D,n.lanes=R,n;case c:return n=oB(19,S,a,d),n.elementType=c,n.lanes=R,n;case k:return Ml(S,d,R,a);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case l:W=10;break A;case h:W=9;break A;case w:W=11;break A;case G:W=14;break A;case y:W=16,u=null;break A}throw Error(Q(130,n==null?n:typeof n,""))}return a=oB(W,S,a,d),a.elementType=n,a.type=u,a.lanes=R,a}function qt(n,a,S,u){return n=oB(7,n,u,a),n.lanes=S,n}function Ml(n,a,S,u){return n=oB(22,n,u,a),n.elementType=k,n.lanes=S,n.stateNode={},n}function Uw(n,a,S){return n=oB(6,n,null,a),n.lanes=S,n}function fw(n,a,S){return a=oB(4,n.children!==null?n.children:[],n.key,a),a.lanes=S,a.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},a}function JY(n,a,S,u,d){this.tag=a,this.containerInfo=n,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=dA,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=WE(0),this.expirationTimes=WE(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=WE(0),this.identifierPrefix=u,this.onRecoverableError=d,GA&&(this.mutableSourceEagerHydrationData=null)}function dp(n,a,S,u,d,R,W,eA,JA){return n=new JY(n,a,S,eA,JA),a===1?(a=1,R===!0&&(a|=8)):a=0,R=oB(3,null,null,a),n.current=R,R.stateNode=n,R.memoizedState={element:u,isDehydrated:S,cache:null,transitions:null},YS(R),n}function Mp(n){if(!n)return vg;n=n._reactInternals;A:{if(N(n)!==n||n.tag!==1)throw Error(Q(170));var a=n;do{switch(a.tag){case 3:a=a.stateNode.context;break A;case 1:if(og(a.type)){a=a.stateNode.__reactInternalMemoizedMergedChildContext;break A}}a=a.return}while(a!==null);throw Error(Q(171))}if(n.tag===1){var S=n.type;if(og(S))return AQ(n,S,a)}return a}function pp(n){var a=n._reactInternals;if(a===void 0)throw typeof n.render=="function"?Error(Q(188)):(n=Object.keys(n).join(","),Error(Q(268,n)));return n=q(a),n===null?null:n.stateNode}function Up(n,a){if(n=n.memoizedState,n!==null&&n.dehydrated!==null){var S=n.retryLane;n.retryLane=S!==0&&S=WA&&R>=fI&&d<=tI&&W<=SI){n.splice(a,1);break}else if(u!==WA||S.width!==JA.width||SIW){if(!(R!==fI||S.height!==JA.height||tId)){WA>u&&(JA.width+=WA-u,JA.x=u),tIR&&(JA.height+=fI-R,JA.y=R),SIS&&(S=W)),W ")+` + +No matching component was found for: + `)+n.join(" > ")}return null},I.getPublicRootInstance=function(n){if(n=n.current,!n.child)return null;switch(n.child.tag){case 5:return CA(n.child.stateNode);default:return n.child.stateNode}},I.injectIntoDevTools=function(n){if(n={bundleType:n.bundleType,version:n.version,rendererPackageName:n.rendererPackageName,rendererConfig:n.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:e.ReactCurrentDispatcher,findHostInstanceByFiber:qY,findFiberByHostInstance:n.findFiberByHostInstance||mY,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")n=!1;else{var a=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(a.isDisabled||!a.supportsFiber)n=!0;else{try{ut=a.inject(n),Yi=a}catch{}n=!!a.checkDCE}}return n},I.isAlreadyRendering=function(){return!1},I.observeVisibleRects=function(n,a,S,u){if(!J)throw Error(Q(363));n=cw(n,a);var d=fA(n,S,u).disconnect;return{disconnect:function(){d()}}},I.registerMutableSourceForHydration=function(n,a){var S=a._getVersion;S=S(a._source),n.mutableSourceEagerHydrationData==null?n.mutableSourceEagerHydrationData=[a,S]:n.mutableSourceEagerHydrationData.push(a,S)},I.runWithPriority=function(n,a){var S=xI;try{return xI=n,a()}finally{xI=S}},I.shouldError=function(){return null},I.shouldSuspend=function(){return!1},I.updateContainer=function(n,a,S,u){var d=a.current,R=ni(),W=ye(d);return S=Mp(S),a.context===null?a.context=S:a.pendingContext=S,a=UQ(R,W),a.payload={element:n},u=u===void 0?null:u,u!==null&&(a.callback=u),Se(d,a),n=EB(d,W,R),n!==null&&br(n,d,W),W},I};am.exports=I1;var g1=am.exports;const C1=Er(g1),i1=g=>typeof g=="object"&&typeof g.then=="function",oE=[];function cm(g,A,I=(C,i)=>C===i){if(g===A)return!0;if(!g||!A)return!1;const C=g.length;if(A.length!==C)return!1;for(let i=0;i0&&(B.timeout&&clearTimeout(B.timeout),B.timeout=setTimeout(B.remove,C.lifespan)),B.response;if(!I)throw B.promise}const i={keys:A,equal:C.equal,remove:()=>{const B=oE.indexOf(i);B!==-1&&oE.splice(B,1)},promise:(i1(g)?g:g(...A)).then(B=>{i.response=B,C.lifespan&&C.lifespan>0&&(i.timeout=setTimeout(i.remove,C.lifespan))}).catch(B=>i.error=B)};if(oE.push(i),!I)throw i.promise}const Fr=(g,A,I)=>hm(g,A,!1,I),B1=(g,A,I)=>void hm(g,A,!0,I),Q1=g=>{if(g===void 0||g.length===0)oE.splice(0,oE.length);else{const A=oE.find(I=>cm(g,I.keys,I.equal));A&&A.remove()}},AM={},e1=g=>void Object.assign(AM,g);function t1(g,A){function I(o,{args:s=[],attach:r,...l},h){let w=`${o[0].toUpperCase()}${o.slice(1)}`,D;if(o==="primitive"){if(l.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const c=l.object;D=Lo(c,{type:o,root:h,attach:r,primitive:!0})}else{const c=AM[w];if(!c)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(s))throw new Error("R3F: The args prop must be an array!");D=Lo(new c(...s),{type:o,root:h,attach:r,memoizedProps:{args:s}})}return D.__r3f.attach===void 0&&(D instanceof MI?D.__r3f.attach="geometry":D instanceof Gg&&(D.__r3f.attach="material")),w!=="inject"&&OG(D,l),D}function C(o,s){let r=!1;if(s){var l,h;(l=s.__r3f)!=null&&l.attach?bG(o,s,s.__r3f.attach):s.isObject3D&&o.isObject3D&&(o.add(s),r=!0),r||(h=o.__r3f)==null||h.objects.push(s),s.__r3f||Lo(s,{}),s.__r3f.parent=o,ek(s),Yo(s)}}function i(o,s,r){let l=!1;if(s){var h,w;if((h=s.__r3f)!=null&&h.attach)bG(o,s,s.__r3f.attach);else if(s.isObject3D&&o.isObject3D){s.parent=o,s.dispatchEvent({type:"added"}),o.dispatchEvent({type:"childadded",child:s});const D=o.children.filter(G=>G!==s),c=D.indexOf(r);o.children=[...D.slice(0,c),s,...D.slice(c)],l=!0}l||(w=o.__r3f)==null||w.objects.push(s),s.__r3f||Lo(s,{}),s.__r3f.parent=o,ek(s),Yo(s)}}function B(o,s,r=!1){o&&[...o].forEach(l=>Q(s,l,r))}function Q(o,s,r){if(s){var l,h,w;if(s.__r3f&&(s.__r3f.parent=null),(l=o.__r3f)!=null&&l.objects&&(o.__r3f.objects=o.__r3f.objects.filter(k=>k!==s)),(h=s.__r3f)!=null&&h.attach)yN(o,s,s.__r3f.attach);else if(s.isObject3D&&o.isObject3D){var D;o.remove(s),(D=s.__r3f)!=null&&D.root&&c1(lh(s),s)}const G=(w=s.__r3f)==null?void 0:w.primitive,y=!G&&(r===void 0?s.dispose!==null:r);if(!G){var c;B((c=s.__r3f)==null?void 0:c.objects,s,y),B(s.children,s,y)}if(delete s.__r3f,y&&s.dispose&&s.type!=="Scene"){const k=()=>{try{s.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?Bk.unstable_scheduleCallback(Bk.unstable_IdlePriority,k):k()}Yo(o)}}function e(o,s,r,l){var h;const w=(h=o.__r3f)==null?void 0:h.parent;if(!w)return;const D=I(s,r,o.__r3f.root);if(o.children){for(const c of o.children)c.__r3f&&C(D,c);o.children=o.children.filter(c=>!c.__r3f)}o.__r3f.objects.forEach(c=>C(D,c)),o.__r3f.objects=[],o.__r3f.autoRemovedBeforeAppend||Q(w,o),D.parent&&(D.__r3f.autoRemovedBeforeAppend=!0),C(w,D),D.raycast&&D.__r3f.eventCount&&lh(D).getState().internal.interaction.push(D),[l,l.alternate].forEach(c=>{c!==null&&(c.stateNode=D,c.ref&&(typeof c.ref=="function"?c.ref(D):c.ref.current=D))})}const t=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:C1({createInstance:I,removeChild:Q,appendChild:C,appendInitialChild:C,insertBefore:i,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(o,s)=>{if(!s)return;const r=o.getState().scene;r.__r3f&&(r.__r3f.root=o,C(r,s))},removeChildFromContainer:(o,s)=>{s&&Q(o.getState().scene,s)},insertInContainerBefore:(o,s,r)=>{if(!s||!r)return;const l=o.getState().scene;l.__r3f&&i(l,s,r)},getRootHostContext:()=>null,getChildHostContext:o=>o,finalizeInitialChildren(o){var s;return!!((s=o==null?void 0:o.__r3f)!=null?s:{}).handlers},prepareUpdate(o,s,r,l){var h;if(((h=o==null?void 0:o.__r3f)!=null?h:{}).primitive&&l.object&&l.object!==o)return[!0];{const{args:D=[],children:c,...G}=l,{args:y=[],children:k,...F}=r;if(!Array.isArray(D))throw new Error("R3F: the args prop must be an array!");if(D.some((f,K)=>f!==y[K]))return[!0];const U=km(o,G,F,!0);return U.changes.length?[!1,U]:null}},commitUpdate(o,[s,r],l,h,w,D){s?e(o,l,w,D):OG(o,r)},commitMount(o,s,r,l){var h;const w=(h=o.__r3f)!=null?h:{};o.raycast&&w.handlers&&w.eventCount&&lh(o).getState().internal.interaction.push(o)},getPublicInstance:o=>o,prepareForCommit:()=>null,preparePortalMount:o=>Lo(o.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(o){var s;const{attach:r,parent:l}=(s=o.__r3f)!=null?s:{};r&&l&&yN(l,o,r),o.isObject3D&&(o.visible=!1),Yo(o)},unhideInstance(o,s){var r;const{attach:l,parent:h}=(r=o.__r3f)!=null?r:{};l&&h&&bG(h,o,l),(o.isObject3D&&s.visible==null||s.visible)&&(o.visible=!0),Yo(o)},createTextInstance:t,hideTextInstance:t,unhideTextInstance:t,getCurrentEventPriority:()=>A?A():In.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&lg.fun(performance.now)?performance.now:lg.fun(Date.now)?Date.now:()=>0,scheduleTimeout:lg.fun(setTimeout)?setTimeout:void 0,cancelTimeout:lg.fun(clearTimeout)?clearTimeout:void 0}),applyProps:OG}}var DN,SN;const vG=g=>"colorSpace"in g||"outputColorSpace"in g,Dm=()=>{var g;return(g=AM.ColorManagement)!=null?g:null},Sm=g=>g&&g.isOrthographicCamera,E1=g=>g&&g.hasOwnProperty("current"),Rr=typeof window<"u"&&((DN=window.document)!=null&&DN.createElement||((SN=window.navigator)==null?void 0:SN.product)==="ReactNative")?z.useLayoutEffect:z.useEffect;function wm(g){const A=z.useRef(g);return Rr(()=>void(A.current=g),[g]),A}function o1({set:g}){return Rr(()=>(g(new Promise(()=>null)),()=>g(!1)),[g]),null}class Gm extends z.Component{constructor(...A){super(...A),this.state={error:!1}}componentDidCatch(A){this.props.set(A)}render(){return this.state.error?null:this.props.children}}Gm.getDerivedStateFromError=()=>({error:!0});const ym="__default",wN=new Map,n1=g=>g&&!!g.memoized&&!!g.changes;function um(g){var A;const I=typeof window<"u"?(A=window.devicePixelRatio)!=null?A:2:1;return Array.isArray(g)?Math.min(Math.max(g[0],I),g[1]):g}const ms=g=>{var A;return(A=g.__r3f)==null?void 0:A.root.getState()};function lh(g){let A=g.__r3f.root;for(;A.getState().previousRoot;)A=A.getState().previousRoot;return A}const lg={obj:g=>g===Object(g)&&!lg.arr(g)&&typeof g!="function",fun:g=>typeof g=="function",str:g=>typeof g=="string",num:g=>typeof g=="number",boo:g=>typeof g=="boolean",und:g=>g===void 0,arr:g=>Array.isArray(g),equ(g,A,{arrays:I="shallow",objects:C="reference",strict:i=!0}={}){if(typeof g!=typeof A||!!g!=!!A)return!1;if(lg.str(g)||lg.num(g)||lg.boo(g))return g===A;const B=lg.obj(g);if(B&&C==="reference")return g===A;const Q=lg.arr(g);if(Q&&I==="reference")return g===A;if((Q||B)&&g===A)return!0;let e;for(e in g)if(!(e in A))return!1;if(B&&I==="shallow"&&C==="shallow"){for(e in i?A:g)if(!lg.equ(g[e],A[e],{strict:i,objects:"reference"}))return!1}else for(e in i?A:g)if(g[e]!==A[e])return!1;if(lg.und(e)){if(Q&&g.length===0&&A.length===0||B&&Object.keys(g).length===0&&Object.keys(A).length===0)return!0;if(g!==A)return!1}return!0}};function s1(g){const A={nodes:{},materials:{}};return g&&g.traverse(I=>{I.name&&(A.nodes[I.name]=I),I.material&&!A.materials[I.material.name]&&(A.materials[I.material.name]=I.material)}),A}function a1(g){g.dispose&&g.type!=="Scene"&&g.dispose();for(const A in g)A.dispose==null||A.dispose(),delete g[A]}function Lo(g,A){const I=g;return I.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...A},g}function Qk(g,A){let I=g;if(A.includes("-")){const C=A.split("-"),i=C.pop();return I=C.reduce((B,Q)=>B[Q],g),{target:I,key:i}}else return{target:I,key:A}}const GN=/-\d+$/;function bG(g,A,I){if(lg.str(I)){if(GN.test(I)){const B=I.replace(GN,""),{target:Q,key:e}=Qk(g,B);Array.isArray(Q[e])||(Q[e]=[])}const{target:C,key:i}=Qk(g,I);A.__r3f.previousAttach=C[i],C[i]=A}else A.__r3f.previousAttach=I(g,A)}function yN(g,A,I){var C,i;if(lg.str(I)){const{target:B,key:Q}=Qk(g,I),e=A.__r3f.previousAttach;e===void 0?delete B[Q]:B[Q]=e}else(C=A.__r3f)==null||C.previousAttach==null||C.previousAttach(g,A);(i=A.__r3f)==null||delete i.previousAttach}function km(g,{children:A,key:I,ref:C,...i},{children:B,key:Q,ref:e,...t}={},E=!1){const o=g.__r3f,s=Object.entries(i),r=[];if(E){const h=Object.keys(t);for(let w=0;w{var D;if((D=g.__r3f)!=null&&D.primitive&&h==="object"||lg.equ(w,t[h]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(h))return r.push([h,w,!0,[]]);let c=[];h.includes("-")&&(c=h.split("-")),r.push([h,w,!1,c]);for(const G in i){const y=i[G];G.startsWith(`${h}-`)&&r.push([G,y,!1,G.split("-")])}});const l={...i};return o!=null&&o.memoizedProps&&o!=null&&o.memoizedProps.args&&(l.args=o.memoizedProps.args),o!=null&&o.memoizedProps&&o!=null&&o.memoizedProps.attach&&(l.attach=o.memoizedProps.attach),{memoized:l,changes:r}}const r1=typeof process<"u"&&!1;function OG(g,A){var I;const C=g.__r3f,i=C==null?void 0:C.root,B=i==null||i.getState==null?void 0:i.getState(),{memoized:Q,changes:e}=n1(A)?A:km(g,A),t=C==null?void 0:C.eventCount;g.__r3f&&(g.__r3f.memoizedProps=Q);for(let o=0;oc[G],g),!(D&&D.set))){const[c,...G]=h.reverse();w=G.reverse().reduce((y,k)=>y[k],g),s=c}if(r===ym+"remove")if(w.constructor){let c=wN.get(w.constructor);c||(c=new w.constructor,wN.set(w.constructor,c)),r=c[s]}else r=0;if(l&&C)r?C.handlers[s]=r:delete C.handlers[s],C.eventCount=Object.keys(C.handlers).length;else if(D&&D.set&&(D.copy||D instanceof DE)){if(Array.isArray(r))D.fromArray?D.fromArray(r):D.set(...r);else if(D.copy&&r&&r.constructor&&(r1?D.constructor.name===r.constructor.name:D.constructor===r.constructor))D.copy(r);else if(r!==void 0){const c=D instanceof ZA;!c&&D.setScalar?D.setScalar(r):D instanceof DE&&r instanceof DE?D.mask=r.mask:D.set(r),!Dm()&&B&&!B.linear&&c&&D.convertSRGBToLinear()}}else if(w[s]=r,w[s]instanceof ig&&w[s].format===Ki&&w[s].type===DQ&&B){const c=w[s];vG(c)&&vG(B.gl)?c.colorSpace=B.gl.outputColorSpace:c.encoding=B.gl.outputEncoding}Yo(g)}if(C&&C.parent&&g.raycast&&t!==C.eventCount){const o=lh(g).getState().internal,s=o.interaction.indexOf(g);s>-1&&o.interaction.splice(s,1),C.eventCount&&o.interaction.push(g)}return!(e.length===1&&e[0][0]==="onUpdate")&&e.length&&(I=g.__r3f)!=null&&I.parent&&ek(g),g}function Yo(g){var A,I;const C=(A=g.__r3f)==null||(I=A.root)==null||I.getState==null?void 0:I.getState();C&&C.internal.frames===0&&C.invalidate()}function ek(g){g.onUpdate==null||g.onUpdate(g)}function dm(g,A){g.manual||(Sm(g)?(g.left=A.width/-2,g.right=A.width/2,g.top=A.height/2,g.bottom=A.height/-2):g.aspect=A.width/A.height,g.updateProjectionMatrix(),g.updateMatrixWorld())}function mc(g){return(g.eventObject||g.object).uuid+"/"+g.index+g.instanceId}function l1(){var g;const A=typeof self<"u"&&self||typeof window<"u"&&window;if(!A)return In.DefaultEventPriority;switch((g=A.event)==null?void 0:g.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return In.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return In.ContinuousEventPriority;default:return In.DefaultEventPriority}}function Mm(g,A,I,C){const i=I.get(A);i&&(I.delete(A),I.size===0&&(g.delete(C),i.target.releasePointerCapture(C)))}function c1(g,A){const{internal:I}=g.getState();I.interaction=I.interaction.filter(C=>C!==A),I.initialHits=I.initialHits.filter(C=>C!==A),I.hovered.forEach((C,i)=>{(C.eventObject===A||C.object===A)&&I.hovered.delete(i)}),I.capturedMap.forEach((C,i)=>{Mm(I.capturedMap,A,C,i)})}function h1(g){function A(t){const{internal:E}=g.getState(),o=t.offsetX-E.initialClick[0],s=t.offsetY-E.initialClick[1];return Math.round(Math.sqrt(o*o+s*s))}function I(t){return t.filter(E=>["Move","Over","Enter","Out","Leave"].some(o=>{var s;return(s=E.__r3f)==null?void 0:s.handlers["onPointer"+o]}))}function C(t,E){const o=g.getState(),s=new Set,r=[],l=E?E(o.internal.interaction):o.internal.interaction;for(let c=0;c{const y=ms(c.object),k=ms(G.object);return!y||!k?c.distance-G.distance:k.events.priority-y.events.priority||c.distance-G.distance}).filter(c=>{const G=mc(c);return s.has(G)?!1:(s.add(G),!0)});o.events.filter&&(w=o.events.filter(w,o));for(const c of w){let G=c.object;for(;G;){var D;(D=G.__r3f)!=null&&D.eventCount&&r.push({...c,eventObject:G}),G=G.parent}}if("pointerId"in t&&o.internal.capturedMap.has(t.pointerId))for(let c of o.internal.capturedMap.get(t.pointerId).values())s.has(mc(c.intersection))||r.push(c.intersection);return r}function i(t,E,o,s){const r=g.getState();if(t.length){const l={stopped:!1};for(const h of t){const w=ms(h.object)||r,{raycaster:D,pointer:c,camera:G,internal:y}=w,k=new T(c.x,c.y,0).unproject(G),F=p=>{var m,q;return(m=(q=y.capturedMap.get(p))==null?void 0:q.has(h.eventObject))!=null?m:!1},U=p=>{const m={intersection:h,target:E.target};y.capturedMap.has(p)?y.capturedMap.get(p).set(h.eventObject,m):y.capturedMap.set(p,new Map([[h.eventObject,m]])),E.target.setPointerCapture(p)},f=p=>{const m=y.capturedMap.get(p);m&&Mm(y.capturedMap,h.eventObject,m,p)};let K={};for(let p in E){let m=E[p];typeof m!="function"&&(K[p]=m)}let N={...h,...K,pointer:c,intersections:t,stopped:l.stopped,delta:o,unprojectedPoint:k,ray:D.ray,camera:G,stopPropagation(){const p="pointerId"in E&&y.capturedMap.get(E.pointerId);if((!p||p.has(h.eventObject))&&(N.stopped=l.stopped=!0,y.hovered.size&&Array.from(y.hovered.values()).find(m=>m.eventObject===h.eventObject))){const m=t.slice(0,t.indexOf(h));B([...m,h])}},target:{hasPointerCapture:F,setPointerCapture:U,releasePointerCapture:f},currentTarget:{hasPointerCapture:F,setPointerCapture:U,releasePointerCapture:f},nativeEvent:E};if(s(N),l.stopped===!0)break}}return t}function B(t){const{internal:E}=g.getState();for(const o of E.hovered.values())if(!t.length||!t.find(s=>s.object===o.object&&s.index===o.index&&s.instanceId===o.instanceId)){const r=o.eventObject.__r3f,l=r==null?void 0:r.handlers;if(E.hovered.delete(mc(o)),r!=null&&r.eventCount){const h={...o,intersections:t};l.onPointerOut==null||l.onPointerOut(h),l.onPointerLeave==null||l.onPointerLeave(h)}}}function Q(t,E){for(let o=0;oB([]);case"onLostPointerCapture":return E=>{const{internal:o}=g.getState();"pointerId"in E&&o.capturedMap.has(E.pointerId)&&requestAnimationFrame(()=>{o.capturedMap.has(E.pointerId)&&(o.capturedMap.delete(E.pointerId),B([]))})}}return function(o){const{onPointerMissed:s,internal:r}=g.getState();r.lastEvent.current=o;const l=t==="onPointerMove",h=t==="onClick"||t==="onContextMenu"||t==="onDoubleClick",D=C(o,l?I:void 0),c=h?A(o):0;t==="onPointerDown"&&(r.initialClick=[o.offsetX,o.offsetY],r.initialHits=D.map(y=>y.eventObject)),h&&!D.length&&c<=2&&(Q(o,r.interaction),s&&s(o)),l&&B(D);function G(y){const k=y.eventObject,F=k.__r3f,U=F==null?void 0:F.handlers;if(F!=null&&F.eventCount)if(l){if(U.onPointerOver||U.onPointerEnter||U.onPointerOut||U.onPointerLeave){const f=mc(y),K=r.hovered.get(f);K?K.stopped&&y.stopPropagation():(r.hovered.set(f,y),U.onPointerOver==null||U.onPointerOver(y),U.onPointerEnter==null||U.onPointerEnter(y))}U.onPointerMove==null||U.onPointerMove(y)}else{const f=U[t];f?(!h||r.initialHits.includes(k))&&(Q(o,r.interaction.filter(K=>!r.initialHits.includes(K))),f(y)):h&&r.initialHits.includes(k)&&Q(o,r.interaction.filter(K=>!r.initialHits.includes(K)))}}i(D,o,c,G)}}return{handlePointer:e}}const D1=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],pm=g=>!!(g!=null&&g.render),eS=z.createContext(null),S1=(g,A)=>{const I=sm((e,t)=>{const E=new T,o=new T,s=new T;function r(c=t().camera,G=o,y=t().size){const{width:k,height:F,top:U,left:f}=y,K=k/F;G instanceof T?s.copy(G):s.set(...G);const N=c.getWorldPosition(E).distanceTo(s);if(Sm(c))return{width:k/c.zoom,height:F/c.zoom,top:U,left:f,factor:1,distance:N,aspect:K};{const p=c.fov*Math.PI/180,m=2*Math.tan(p/2)*N,q=m*(k/F);return{width:q,height:m,top:U,left:f,factor:k/q,distance:N,aspect:K}}}let l;const h=c=>e(G=>({performance:{...G.performance,current:c}})),w=new mA;return{set:e,get:t,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(c=1)=>g(t(),c),advance:(c,G)=>A(c,G,t()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new jd,pointer:w,mouse:w,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const c=t();l&&clearTimeout(l),c.performance.current!==c.performance.min&&h(c.performance.min),l=setTimeout(()=>h(t().performance.max),c.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:r},setEvents:c=>e(G=>({...G,events:{...G.events,...c}})),setSize:(c,G,y,k,F)=>{const U=t().camera,f={width:c,height:G,top:k||0,left:F||0,updateStyle:y};e(K=>({size:f,viewport:{...K.viewport,...r(U,o,f)}}))},setDpr:c=>e(G=>{const y=um(c);return{viewport:{...G.viewport,dpr:y,initialDpr:G.viewport.initialDpr||y}}}),setFrameloop:(c="always")=>{const G=t().clock;G.stop(),G.elapsedTime=0,c!=="never"&&(G.start(),G.elapsedTime=0),e(()=>({frameloop:c}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:z.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(c,G,y)=>{const k=t().internal;return k.priority=k.priority+(G>0?1:0),k.subscribers.push({ref:c,priority:G,store:y}),k.subscribers=k.subscribers.sort((F,U)=>F.priority-U.priority),()=>{const F=t().internal;F!=null&&F.subscribers&&(F.priority=F.priority-(G>0?1:0),F.subscribers=F.subscribers.filter(U=>U.ref!==c))}}}}}),C=I.getState();let i=C.size,B=C.viewport.dpr,Q=C.camera;return I.subscribe(()=>{const{camera:e,size:t,viewport:E,gl:o,set:s}=I.getState();if(t.width!==i.width||t.height!==i.height||E.dpr!==B){var r;i=t,B=E.dpr,dm(e,t),o.setPixelRatio(E.dpr);const l=(r=t.updateStyle)!=null?r:typeof HTMLCanvasElement<"u"&&o.domElement instanceof HTMLCanvasElement;o.setSize(t.width,t.height,l)}e!==Q&&(Q=e,s(l=>({viewport:{...l.viewport,...l.viewport.getCurrentViewport(e)}})))}),I.subscribe(e=>g(e)),I};let Lc,w1=new Set,G1=new Set,y1=new Set;function _G(g,A){if(g.size)for(const{callback:I}of g.values())I(A)}function Ls(g,A){switch(g){case"before":return _G(w1,A);case"after":return _G(G1,A);case"tail":return _G(y1,A)}}let PG,ZG;function WG(g,A,I){let C=A.clock.getDelta();for(A.frameloop==="never"&&typeof g=="number"&&(C=g-A.clock.elapsedTime,A.clock.oldTime=A.clock.elapsedTime,A.clock.elapsedTime=g),PG=A.internal.subscribers,Lc=0;Lc0)&&!((o=B.gl.xr)!=null&&o.isPresenting)&&(C+=WG(E,B))}if(I=!1,Ls("after",E),C===0)return Ls("tail",E),A=!1,cancelAnimationFrame(i)}function e(E,o=1){var s;if(!E)return g.forEach(r=>e(r.store.getState(),o));(s=E.gl.xr)!=null&&s.isPresenting||!E.internal.active||E.frameloop==="never"||(o>1?E.internal.frames=Math.min(60,E.internal.frames+o):I?E.internal.frames=2:E.internal.frames=1,A||(A=!0,requestAnimationFrame(Q)))}function t(E,o=!0,s,r){if(o&&Ls("before",E),s)WG(E,s,r);else for(const l of g.values())WG(E,l.store.getState());o&&Ls("after",E)}return{loop:Q,invalidate:e,advance:t}}function Kr(){const g=z.useContext(eS);if(!g)throw new Error("R3F: Hooks can only be used within the Canvas component!");return g}function Ee(g=I=>I,A){return Kr()(g,A)}function MC(g,A=0){const I=Kr(),C=I.getState().internal.subscribe,i=wm(g);return Rr(()=>C(i,A,I),[A,C,I]),null}const uN=new WeakMap;function Um(g,A){return function(I,...C){let i=uN.get(I);return i||(i=new I,uN.set(I,i)),g&&g(i),Promise.all(C.map(B=>new Promise((Q,e)=>i.load(B,t=>{t.scene&&Object.assign(t,s1(t.scene)),Q(t)},A,t=>e(new Error(`Could not load ${B}: ${t==null?void 0:t.message}`))))))}}function St(g,A,I,C){const i=Array.isArray(A)?A:[A],B=Fr(Um(I,C),[g,...i],{equal:lg.equ});return Array.isArray(A)?B:B[0]}St.preload=function(g,A,I){const C=Array.isArray(A)?A:[A];return B1(Um(I),[g,...C])};St.clear=function(g,A){const I=Array.isArray(A)?A:[A];return Q1([g,...I])};const dn=new Map,{invalidate:kN,advance:dN}=u1(dn),{reconciler:Mn,applyProps:Ro}=t1(dn,l1),Ko={objects:"shallow",strict:!1},k1=(g,A)=>{const I=typeof g=="function"?g(A):g;return pm(I)?I:new kq({powerPreference:"high-performance",canvas:A,antialias:!0,alpha:!0,...g})};function d1(g,A){const I=typeof HTMLCanvasElement<"u"&&g instanceof HTMLCanvasElement;if(A){const{width:C,height:i,top:B,left:Q,updateStyle:e=I}=A;return{width:C,height:i,top:B,left:Q,updateStyle:e}}else if(typeof HTMLCanvasElement<"u"&&g instanceof HTMLCanvasElement&&g.parentElement){const{width:C,height:i,top:B,left:Q}=g.parentElement.getBoundingClientRect();return{width:C,height:i,top:B,left:Q,updateStyle:I}}else if(typeof OffscreenCanvas<"u"&&g instanceof OffscreenCanvas)return{width:g.width,height:g.height,top:0,left:0,updateStyle:I};return{width:0,height:0,top:0,left:0}}function M1(g){const A=dn.get(g),I=A==null?void 0:A.fiber,C=A==null?void 0:A.store;A&&console.warn("R3F.createRoot should only be called once!");const i=typeof reportError=="function"?reportError:console.error,B=C||S1(kN,dN),Q=I||Mn.createContainer(B,In.ConcurrentRoot,null,!1,null,"",i,null);A||dn.set(g,{fiber:Q,store:B});let e,t=!1,E;return{configure(o={}){let{gl:s,size:r,scene:l,events:h,onCreated:w,shadows:D=!1,linear:c=!1,flat:G=!1,legacy:y=!1,orthographic:k=!1,frameloop:F="always",dpr:U=[1,2],performance:f,raycaster:K,camera:N,onPointerMissed:p}=o,m=B.getState(),q=m.gl;m.gl||m.set({gl:q=k1(s,g)});let L=m.raycaster;L||m.set({raycaster:L=new Nr});const{params:_,...IA}=K||{};if(lg.equ(IA,L,Ko)||Ro(L,{...IA}),lg.equ(_,L.params,Ko)||Ro(L,{params:{...L.params,..._}}),!m.camera||m.camera===E&&!lg.equ(E,N,Ko)){E=N;const v=N instanceof wr,Y=v?N:k?new YE(0,0,0,0,.1,1e3):new CC(75,0,.1,1e3);v||(Y.position.z=5,N&&(Ro(Y,N),("aspect"in N||"left"in N||"right"in N||"bottom"in N||"top"in N)&&(Y.manual=!0,Y.updateProjectionMatrix())),!m.camera&&!(N!=null&&N.rotation)&&Y.lookAt(0,0,0)),m.set({camera:Y}),L.camera=Y}if(!m.scene){let v;l instanceof _h?v=l:(v=new _h,l&&Ro(v,l)),m.set({scene:Lo(v)})}if(!m.xr){var CA;const v=(QA,P)=>{const X=B.getState();X.frameloop!=="never"&&dN(QA,!0,X,P)},Y=()=>{const QA=B.getState();QA.gl.xr.enabled=QA.gl.xr.isPresenting,QA.gl.xr.setAnimationLoop(QA.gl.xr.isPresenting?v:null),QA.gl.xr.isPresenting||kN(QA)},j={connect(){const QA=B.getState().gl;QA.xr.addEventListener("sessionstart",Y),QA.xr.addEventListener("sessionend",Y)},disconnect(){const QA=B.getState().gl;QA.xr.removeEventListener("sessionstart",Y),QA.xr.removeEventListener("sessionend",Y)}};typeof((CA=q.xr)==null?void 0:CA.addEventListener)=="function"&&j.connect(),m.set({xr:j})}if(q.shadowMap){const v=q.shadowMap.enabled,Y=q.shadowMap.type;if(q.shadowMap.enabled=!!D,lg.boo(D))q.shadowMap.type=ra;else if(lg.str(D)){var lA;const j={basic:iJ,percentage:UD,soft:ra,variance:TB};q.shadowMap.type=(lA=j[D])!=null?lA:ra}else lg.obj(D)&&Object.assign(q.shadowMap,D);(v!==q.shadowMap.enabled||Y!==q.shadowMap.type)&&(q.shadowMap.needsUpdate=!0)}const H=Dm();H&&("enabled"in H?H.enabled=!y:"legacyMode"in H&&(H.legacyMode=y)),t||Ro(q,{outputEncoding:c?3e3:3001,toneMapping:G?cQ:cd}),m.legacy!==y&&m.set(()=>({legacy:y})),m.linear!==c&&m.set(()=>({linear:c})),m.flat!==G&&m.set(()=>({flat:G})),s&&!lg.fun(s)&&!pm(s)&&!lg.equ(s,q,Ko)&&Ro(q,s),h&&!m.events.handlers&&m.set({events:h(B)});const O=d1(g,r);return lg.equ(O,m.size,Ko)||m.setSize(O.width,O.height,O.updateStyle,O.top,O.left),U&&m.viewport.dpr!==um(U)&&m.setDpr(U),m.frameloop!==F&&m.setFrameloop(F),m.onPointerMissed||m.set({onPointerMissed:p}),f&&!lg.equ(f,m.performance,Ko)&&m.set(v=>({performance:{...v.performance,...f}})),e=w,t=!0,this},render(o){return t||this.configure(),Mn.updateContainer(rA.jsx(p1,{store:B,children:o,onCreated:e,rootElement:g}),Q,null,()=>{}),B},unmount(){fm(g)}}}function p1({store:g,children:A,onCreated:I,rootElement:C}){return Rr(()=>{const i=g.getState();i.set(B=>({internal:{...B.internal,active:!0}})),I&&I(i),g.getState().events.connected||i.events.connect==null||i.events.connect(C)},[]),rA.jsx(eS.Provider,{value:g,children:A})}function fm(g,A){const I=dn.get(g),C=I==null?void 0:I.fiber;if(C){const i=I==null?void 0:I.store.getState();i&&(i.internal.active=!1),Mn.updateContainer(null,C,null,()=>{i&&setTimeout(()=>{try{var B,Q,e,t;i.events.disconnect==null||i.events.disconnect(),(B=i.gl)==null||(Q=B.renderLists)==null||Q.dispose==null||Q.dispose(),(e=i.gl)==null||e.forceContextLoss==null||e.forceContextLoss(),(t=i.gl)!=null&&t.xr&&i.xr.disconnect(),a1(i),dn.delete(g)}catch{}},500)})}}function IM(g,A,I){return rA.jsx(U1,{children:g,container:A,state:I},A.uuid)}function U1({state:g={},children:A,container:I}){const{events:C,size:i,...B}=g,Q=Kr(),[e]=z.useState(()=>new Nr),[t]=z.useState(()=>new mA),E=z.useCallback((s,r)=>{const l={...s};Object.keys(s).forEach(w=>{(D1.includes(w)||s[w]!==r[w]&&r[w])&&delete l[w]});let h;if(r&&i){const w=r.camera;h=s.viewport.getCurrentViewport(w,new T,i),w!==s.camera&&dm(w,i)}return{...l,scene:I,raycaster:e,pointer:t,mouse:t,previousRoot:Q,events:{...s.events,...r==null?void 0:r.events,...C},size:{...s.size,...i},viewport:{...s.viewport,...h},...B}},[g]),[o]=z.useState(()=>{const s=Q.getState();return sm((l,h)=>({...s,scene:I,raycaster:e,pointer:t,mouse:t,previousRoot:Q,events:{...s.events,...C},size:{...s.size,...i},...B,set:l,get:h,setEvents:w=>l(D=>({...D,events:{...D.events,...w}}))}))});return z.useEffect(()=>{const s=Q.subscribe(r=>o.setState(l=>E(r,l)));return()=>{s()}},[E]),z.useEffect(()=>{o.setState(s=>E(Q.getState(),s))},[E]),z.useEffect(()=>()=>{o.destroy()},[]),rA.jsx(rA.Fragment,{children:Mn.createPortal(rA.jsx(eS.Provider,{value:o,children:A}),o,null)})}Mn.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:z.version});function tk(g,A,I){var C,i,B,Q,e;A==null&&(A=100);function t(){var o=Date.now()-Q;o=0?C=setTimeout(t,A-o):(C=null,I||(e=g.apply(B,i),B=i=null))}var E=function(){B=this,i=arguments,Q=Date.now();var o=I&&!C;return C||(C=setTimeout(t,A)),o&&(e=g.apply(B,i),B=i=null),e};return E.clear=function(){C&&(clearTimeout(C),C=null)},E.flush=function(){C&&(e=g.apply(B,i),B=i=null,clearTimeout(C),C=null)},E}tk.debounce=tk;var f1=tk;const MN=Er(f1);function N1(g){let{debounce:A,scroll:I,polyfill:C,offsetSize:i}=g===void 0?{debounce:0,scroll:!1,offsetSize:!1}:g;const B=C||(typeof window>"u"?class{}:window.ResizeObserver);if(!B)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[Q,e]=z.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),t=z.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:Q}),E=A?typeof A=="number"?A:A.scroll:null,o=A?typeof A=="number"?A:A.resize:null,s=z.useRef(!1);z.useEffect(()=>(s.current=!0,()=>void(s.current=!1)));const[r,l,h]=z.useMemo(()=>{const G=()=>{if(!t.current.element)return;const{left:y,top:k,width:F,height:U,bottom:f,right:K,x:N,y:p}=t.current.element.getBoundingClientRect(),m={left:y,top:k,width:F,height:U,bottom:f,right:K,x:N,y:p};t.current.element instanceof HTMLElement&&i&&(m.height=t.current.element.offsetHeight,m.width=t.current.element.offsetWidth),Object.freeze(m),s.current&&!J1(t.current.lastBounds,m)&&e(t.current.lastBounds=m)};return[G,o?MN(G,o):G,E?MN(G,E):G]},[e,i,E,o]);function w(){t.current.scrollContainers&&(t.current.scrollContainers.forEach(G=>G.removeEventListener("scroll",h,!0)),t.current.scrollContainers=null),t.current.resizeObserver&&(t.current.resizeObserver.disconnect(),t.current.resizeObserver=null)}function D(){t.current.element&&(t.current.resizeObserver=new B(h),t.current.resizeObserver.observe(t.current.element),I&&t.current.scrollContainers&&t.current.scrollContainers.forEach(G=>G.addEventListener("scroll",h,{capture:!0,passive:!0})))}const c=G=>{!G||G===t.current.element||(w(),t.current.element=G,t.current.scrollContainers=Nm(G),D())};return R1(h,!!I),F1(l),z.useEffect(()=>{w(),D()},[I,h,l]),z.useEffect(()=>w,[]),[c,Q,r]}function F1(g){z.useEffect(()=>{const A=g;return window.addEventListener("resize",A),()=>void window.removeEventListener("resize",A)},[g])}function R1(g,A){z.useEffect(()=>{if(A){const I=g;return window.addEventListener("scroll",I,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",I,!0)}},[g,A])}function Nm(g){const A=[];if(!g||g===document.body)return A;const{overflow:I,overflowX:C,overflowY:i}=window.getComputedStyle(g);return[I,C,i].some(B=>B==="auto"||B==="scroll")&&A.push(g),[...A,...Nm(g.parentElement)]}const K1=["x","y","top","bottom","left","right","width","height"],J1=(g,A)=>K1.every(I=>g[I]===A[I]);var q1=Object.defineProperty,m1=Object.defineProperties,L1=Object.getOwnPropertyDescriptors,pN=Object.getOwnPropertySymbols,Y1=Object.prototype.hasOwnProperty,H1=Object.prototype.propertyIsEnumerable,UN=(g,A,I)=>A in g?q1(g,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):g[A]=I,fN=(g,A)=>{for(var I in A||(A={}))Y1.call(A,I)&&UN(g,I,A[I]);if(pN)for(var I of pN(A))H1.call(A,I)&&UN(g,I,A[I]);return g},T1=(g,A)=>m1(g,L1(A)),NN,FN;typeof window<"u"&&((NN=window.document)!=null&&NN.createElement||((FN=window.navigator)==null?void 0:FN.product)==="ReactNative")?z.useLayoutEffect:z.useEffect;function Fm(g,A,I){if(!g)return;if(I(g)===!0)return g;let C=g.child;for(;C;){const i=Fm(C,A,I);if(i)return i;C=C.sibling}}function Rm(g){try{return Object.defineProperties(g,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return g}}const RN=console.error;console.error=function(){const g=[...arguments].join("");if(g!=null&&g.startsWith("Warning:")&&g.includes("useContext")){console.error=RN;return}return RN.apply(this,arguments)};const gM=Rm(z.createContext(null));class Km extends z.Component{render(){return z.createElement(gM.Provider,{value:this._reactInternals},this.props.children)}}function x1(){const g=z.useContext(gM);if(g===null)throw new Error("its-fine: useFiber must be called within a !");const A=z.useId();return z.useMemo(()=>{for(const C of[g,g==null?void 0:g.alternate]){if(!C)continue;const i=Fm(C,!1,B=>{let Q=B.memoizedState;for(;Q;){if(Q.memoizedState===A)return!0;Q=Q.next}});if(i)return i}},[g,A])}function v1(){const g=x1(),[A]=z.useState(()=>new Map);A.clear();let I=g;for(;I;){if(I.type&&typeof I.type=="object"){const i=I.type._context===void 0&&I.type.Provider===I.type?I.type:I.type._context;i&&i!==gM&&!A.has(i)&&A.set(i,z.useContext(Rm(i)))}I=I.return}return A}function b1(){const g=v1();return z.useMemo(()=>Array.from(g.keys()).reduce((A,I)=>C=>z.createElement(A,null,z.createElement(I.Provider,T1(fN({},C),{value:g.get(I)}))),A=>z.createElement(Km,fN({},A))),[g])}const VG={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 O1(g){const{handlePointer:A}=h1(g);return{priority:1,enabled:!0,compute(I,C,i){C.pointer.set(I.offsetX/C.size.width*2-1,-(I.offsetY/C.size.height)*2+1),C.raycaster.setFromCamera(C.pointer,C.camera)},connected:void 0,handlers:Object.keys(VG).reduce((I,C)=>({...I,[C]:A(C)}),{}),update:()=>{var I;const{events:C,internal:i}=g.getState();(I=i.lastEvent)!=null&&I.current&&C.handlers&&C.handlers.onPointerMove(i.lastEvent.current)},connect:I=>{var C;const{set:i,events:B}=g.getState();B.disconnect==null||B.disconnect(),i(Q=>({events:{...Q.events,connected:I}})),Object.entries((C=B.handlers)!=null?C:[]).forEach(([Q,e])=>{const[t,E]=VG[Q];I.addEventListener(t,e,{passive:E})})},disconnect:()=>{const{set:I,events:C}=g.getState();if(C.connected){var i;Object.entries((i=C.handlers)!=null?i:[]).forEach(([B,Q])=>{if(C&&C.connected instanceof HTMLElement){const[e]=VG[B];C.connected.removeEventListener(e,Q)}}),I(B=>({events:{...B.events,connected:void 0}}))}}}}const _1=z.forwardRef(function({children:A,fallback:I,resize:C,style:i,gl:B,events:Q=O1,eventSource:e,eventPrefix:t,shadows:E,linear:o,flat:s,legacy:r,orthographic:l,frameloop:h,dpr:w,performance:D,raycaster:c,camera:G,scene:y,onPointerMissed:k,onCreated:F,...U},f){z.useMemo(()=>e1(z4),[]);const K=b1(),[N,p]=N1({scroll:!0,debounce:{scroll:50,resize:0},...C}),m=z.useRef(null),q=z.useRef(null);z.useImperativeHandle(f,()=>m.current);const L=wm(k),[_,IA]=z.useState(!1),[CA,lA]=z.useState(!1);if(_)throw _;if(CA)throw CA;const H=z.useRef(null);Rr(()=>{const v=m.current;p.width>0&&p.height>0&&v&&(H.current||(H.current=M1(v)),H.current.configure({gl:B,events:Q,shadows:E,linear:o,flat:s,legacy:r,orthographic:l,frameloop:h,dpr:w,performance:D,raycaster:c,camera:G,scene:y,size:p,onPointerMissed:(...Y)=>L.current==null?void 0:L.current(...Y),onCreated:Y=>{Y.events.connect==null||Y.events.connect(e?E1(e)?e.current:e:q.current),t&&Y.setEvents({compute:(j,QA)=>{const P=j[t+"X"],X=j[t+"Y"];QA.pointer.set(P/QA.size.width*2-1,-(X/QA.size.height)*2+1),QA.raycaster.setFromCamera(QA.pointer,QA.camera)}}),F==null||F(Y)}}),H.current.render(rA.jsx(K,{children:rA.jsx(Gm,{set:lA,children:rA.jsx(z.Suspense,{fallback:rA.jsx(o1,{set:IA}),children:A})})})))}),z.useEffect(()=>{const v=m.current;if(v)return()=>fm(v)},[]);const O=e?"none":"auto";return rA.jsx("div",{ref:q,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:O,...i},...U,children:rA.jsx("div",{ref:N,style:{width:"100%",height:"100%"},children:rA.jsx("canvas",{ref:m,style:{display:"block"},children:I})})})}),P1=z.forwardRef(function(A,I){return rA.jsx(Km,{children:rA.jsx(_1,{...A,ref:I})})});function Ek(){return Ek=Object.assign?Object.assign.bind():function(g){for(var A=1;A=2.0 are supported."));return}const t=new pP(B,{path:I||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});t.fileLoader.setRequestHeader(this.requestHeader);for(let E=0;E=0&&e[o]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+o+'".')}}t.setExtensions(Q),t.setPlugins(e),t.parse(C,i)}parseAsync(A,I){const C=this;return new Promise(function(i,B){C.parse(A,I,i,B)})}};function V1(){let g={};return{get:function(A){return g[A]},add:function(A,I){g[A]=I},remove:function(A){delete g[A]},removeAll:function(){g={}}}}const bI={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};let j1=class{constructor(A){this.parser=A,this.name=bI.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const A=this.parser,I=this.parser.json.nodes||[];for(let C=0,i=I.length;C=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return I.loadTextureImage(A,B.source,Q)}},oP=class{constructor(A){this.parser=A,this.name=bI.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(A){const I=this.name,C=this.parser,i=C.json,B=i.textures[A];if(!B.extensions||!B.extensions[I])return null;const Q=B.extensions[I],e=i.images[Q.source];let t=C.textureLoader;if(e.uri){const E=C.options.manager.getHandler(e.uri);E!==null&&(t=E)}return this.detectSupport().then(function(E){if(E)return C.loadTextureImage(A,Q.source,t);if(i.extensionsRequired&&i.extensionsRequired.indexOf(I)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return C.loadTexture(A)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(A){const I=new Image;I.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",I.onload=I.onerror=function(){A(I.height===1)}})),this.isSupported}},nP=class{constructor(A){this.parser=A,this.name=bI.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(A){const I=this.name,C=this.parser,i=C.json,B=i.textures[A];if(!B.extensions||!B.extensions[I])return null;const Q=B.extensions[I],e=i.images[Q.source];let t=C.textureLoader;if(e.uri){const E=C.options.manager.getHandler(e.uri);E!==null&&(t=E)}return this.detectSupport().then(function(E){if(E)return C.loadTextureImage(A,Q.source,t);if(i.extensionsRequired&&i.extensionsRequired.indexOf(I)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return C.loadTexture(A)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(A){const I=new Image;I.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",I.onload=I.onerror=function(){A(I.height===1)}})),this.isSupported}},sP=class{constructor(A){this.name=bI.EXT_MESHOPT_COMPRESSION,this.parser=A}loadBufferView(A){const I=this.parser.json,C=I.bufferViews[A];if(C.extensions&&C.extensions[this.name]){const i=C.extensions[this.name],B=this.parser.getDependency("buffer",i.buffer),Q=this.parser.options.meshoptDecoder;if(!Q||!Q.supported){if(I.extensionsRequired&&I.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return B.then(function(e){const t=i.byteOffset||0,E=i.byteLength||0,o=i.count,s=i.byteStride,r=new Uint8Array(e,t,E);return Q.decodeGltfBufferAsync?Q.decodeGltfBufferAsync(o,s,r,i.mode,i.filter).then(function(l){return l.buffer}):Q.ready.then(function(){const l=new ArrayBuffer(o*s);return Q.decodeGltfBuffer(new Uint8Array(l),o,s,r,i.mode,i.filter),l})})}else return null}},aP=class{constructor(A){this.name=bI.EXT_MESH_GPU_INSTANCING,this.parser=A}createNodeMesh(A){const I=this.parser.json,C=I.nodes[A];if(!C.extensions||!C.extensions[this.name]||C.mesh===void 0)return null;const i=I.meshes[C.mesh];for(const E of i.primitives)if(E.mode!==lB.TRIANGLES&&E.mode!==lB.TRIANGLE_STRIP&&E.mode!==lB.TRIANGLE_FAN&&E.mode!==void 0)return null;const Q=C.extensions[this.name].attributes,e=[],t={};for(const E in Q)e.push(this.parser.getDependency("accessor",Q[E]).then(o=>(t[E]=o,t[E])));return e.length<1?null:(e.push(this.parser.createNodeMesh(A)),Promise.all(e).then(E=>{const o=E.pop(),s=o.isGroup?o.children:[o],r=E[0].count,l=[];for(const h of s){const w=new iI,D=new T,c=new Bg,G=new T(1,1,1),y=new kr(h.geometry,h.material,r);for(let k=0;k=152?{TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3"}:{TEXCOORD_0:"uv",TEXCOORD_1:"uv2"},COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},qe={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},wP={CUBICSPLINE:void 0,LINEAR:ie,STEP:pE},XG={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function GP(g){return g.DefaultMaterial===void 0&&(g.DefaultMaterial=new HE({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:pB})),g.DefaultMaterial}function Wt(g,A,I){for(const C in I.extensions)g[C]===void 0&&(A.userData.gltfExtensions=A.userData.gltfExtensions||{},A.userData.gltfExtensions[C]=I.extensions[C])}function vQ(g,A){A.extras!==void 0&&(typeof A.extras=="object"?Object.assign(g.userData,A.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+A.extras))}function yP(g,A,I){let C=!1,i=!1,B=!1;for(let E=0,o=A.length;E0||g.search(/^data\:image\/jpeg/)===0?"image/jpeg":g.search(/\.webp($|\?)/i)>0||g.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const MP=new iI;let pP=class{constructor(A={},I={}){this.json=A,this.extensions={},this.plugins={},this.options=I,this.cache=new V1,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let C=!1,i=!1,B=-1;typeof navigator<"u"&&typeof navigator.userAgent<"u"&&(C=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,i=navigator.userAgent.indexOf("Firefox")>-1,B=i?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||C||i&&B<98?this.textureLoader=new xn(this.options.manager):this.textureLoader=new Wd(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Di(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(A){this.extensions=A}setPlugins(A){this.plugins=A}parse(A,I){const C=this,i=this.json,B=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(Q){return Q._markDefs&&Q._markDefs()}),Promise.all(this._invokeAll(function(Q){return Q.beforeRoot&&Q.beforeRoot()})).then(function(){return Promise.all([C.getDependencies("scene"),C.getDependencies("animation"),C.getDependencies("camera")])}).then(function(Q){const e={scene:Q[0][i.scene||0],scenes:Q[0],animations:Q[1],cameras:Q[2],asset:i.asset,parser:C,userData:{}};return Wt(B,e,i),vQ(e,i),Promise.all(C._invokeAll(function(t){return t.afterRoot&&t.afterRoot(e)})).then(function(){for(const t of e.scenes)t.updateMatrixWorld();A(e)})}).catch(I)}_markDefs(){const A=this.json.nodes||[],I=this.json.skins||[],C=this.json.meshes||[];for(let i=0,B=I.length;i{const t=this.associations.get(Q);t!=null&&this.associations.set(e,t);for(const[E,o]of Q.children.entries())B(o,e.children[E])};return B(C,i),i.name+="_instance_"+A.uses[I]++,i}_invokeOne(A){const I=Object.values(this.plugins);I.push(this);for(let C=0;C=2&&D.setY(N,U[f*t+1]),t>=3&&D.setZ(N,U[f*t+2]),t>=4&&D.setW(N,U[f*t+3]),t>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return D})}loadTexture(A){const I=this.json,C=this.options,B=I.textures[A].source,Q=I.images[B];let e=this.textureLoader;if(Q.uri){const t=C.manager.getHandler(Q.uri);t!==null&&(e=t)}return this.loadTextureImage(A,B,e)}loadTextureImage(A,I,C){const i=this,B=this.json,Q=B.textures[A],e=B.images[I],t=(e.uri||e.bufferView)+":"+Q.sampler;if(this.textureCache[t])return this.textureCache[t];const E=this.loadImageSource(I,C).then(function(o){o.flipY=!1,o.name=Q.name||e.name||"",o.name===""&&typeof e.uri=="string"&&e.uri.startsWith("data:image/")===!1&&(o.name=e.uri);const r=(B.samplers||{})[Q.sampler]||{};return o.magFilter=mN[r.magFilter]||hg,o.minFilter=mN[r.minFilter]||Ri,o.wrapS=LN[r.wrapS]||jB,o.wrapT=LN[r.wrapT]||jB,i.associations.set(o,{textures:A}),o}).catch(function(){return null});return this.textureCache[t]=E,E}loadImageSource(A,I){const C=this,i=this.json,B=this.options;if(this.sourceCache[A]!==void 0)return this.sourceCache[A].then(s=>s.clone());const Q=i.images[A],e=self.URL||self.webkitURL;let t=Q.uri||"",E=!1;if(Q.bufferView!==void 0)t=C.getDependency("bufferView",Q.bufferView).then(function(s){E=!0;const r=new Blob([s],{type:Q.mimeType});return t=e.createObjectURL(r),t});else if(Q.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+A+" is missing URI and bufferView");const o=Promise.resolve(t).then(function(s){return new Promise(function(r,l){let h=r;I.isImageBitmapLoader===!0&&(h=function(w){const D=new ig(w);D.needsUpdate=!0,r(D)}),I.load($i.resolveURL(s,B.path),h,void 0,l)})}).then(function(s){return E===!0&&e.revokeObjectURL(t),vQ(s,Q),s.userData.mimeType=Q.mimeType||dP(Q.uri),s}).catch(function(s){throw console.error("THREE.GLTFLoader: Couldn't load texture",t),s});return this.sourceCache[A]=o,o}assignTexture(A,I,C,i){const B=this;return this.getDependency("texture",C.index).then(function(Q){if(!Q)return null;if(C.texCoord!==void 0&&C.texCoord>0&&(Q=Q.clone(),Q.channel=C.texCoord),B.extensions[bI.KHR_TEXTURE_TRANSFORM]){const e=C.extensions!==void 0?C.extensions[bI.KHR_TEXTURE_TRANSFORM]:void 0;if(e){const t=B.associations.get(Q);Q=B.extensions[bI.KHR_TEXTURE_TRANSFORM].extendTexture(Q,e),B.associations.set(Q,t)}}return i!==void 0&&(typeof i=="number"&&(i=i===JN?nE:zQ),"colorSpace"in Q?Q.colorSpace=i:Q.encoding=i===nE?JN:W1),A[I]=Q,Q})}assignFinalMaterial(A){const I=A.geometry;let C=A.material;const i=I.attributes.tangent===void 0,B=I.attributes.color!==void 0,Q=I.attributes.normal===void 0;if(A.isPoints){const e="PointsMaterial:"+C.uuid;let t=this.cache.get(e);t||(t=new dr,Gg.prototype.copy.call(t,C),t.color.copy(C.color),t.map=C.map,t.sizeAttenuation=!1,this.cache.add(e,t)),C=t}else if(A.isLine){const e="LineBasicMaterial:"+C.uuid;let t=this.cache.get(e);t||(t=new YC,Gg.prototype.copy.call(t,C),t.color.copy(C.color),t.map=C.map,this.cache.add(e,t)),C=t}if(i||B||Q){let e="ClonedMaterial:"+C.uuid+":";i&&(e+="derivative-tangents:"),B&&(e+="vertex-colors:"),Q&&(e+="flat-shading:");let t=this.cache.get(e);t||(t=C.clone(),B&&(t.vertexColors=!0),Q&&(t.flatShading=!0),i&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(e,t),this.associations.set(t,this.associations.get(C))),C=t}A.material=C}getMaterialType(){return HE}loadMaterial(A){const I=this,C=this.json,i=this.extensions,B=C.materials[A];let Q;const e={},t=B.extensions||{},E=[];if(t[bI.KHR_MATERIALS_UNLIT]){const s=i[bI.KHR_MATERIALS_UNLIT];Q=s.getMaterialType(),E.push(s.extendParams(e,B,I))}else{const s=B.pbrMetallicRoughness||{};if(e.color=new ZA(1,1,1),e.opacity=1,Array.isArray(s.baseColorFactor)){const r=s.baseColorFactor;e.color.setRGB(r[0],r[1],r[2],zQ),e.opacity=r[3]}s.baseColorTexture!==void 0&&E.push(I.assignTexture(e,"map",s.baseColorTexture,nE)),e.metalness=s.metallicFactor!==void 0?s.metallicFactor:1,e.roughness=s.roughnessFactor!==void 0?s.roughnessFactor:1,s.metallicRoughnessTexture!==void 0&&(E.push(I.assignTexture(e,"metalnessMap",s.metallicRoughnessTexture)),E.push(I.assignTexture(e,"roughnessMap",s.metallicRoughnessTexture))),Q=this._invokeOne(function(r){return r.getMaterialType&&r.getMaterialType(A)}),E.push(Promise.all(this._invokeAll(function(r){return r.extendMaterialParams&&r.extendMaterialParams(A,e)})))}B.doubleSided===!0&&(e.side=fi);const o=B.alphaMode||XG.OPAQUE;if(o===XG.BLEND?(e.transparent=!0,e.depthWrite=!1):(e.transparent=!1,o===XG.MASK&&(e.alphaTest=B.alphaCutoff!==void 0?B.alphaCutoff:.5)),B.normalTexture!==void 0&&Q!==Vg&&(E.push(I.assignTexture(e,"normalMap",B.normalTexture)),e.normalScale=new mA(1,1),B.normalTexture.scale!==void 0)){const s=B.normalTexture.scale;e.normalScale.set(s,s)}if(B.occlusionTexture!==void 0&&Q!==Vg&&(E.push(I.assignTexture(e,"aoMap",B.occlusionTexture)),B.occlusionTexture.strength!==void 0&&(e.aoMapIntensity=B.occlusionTexture.strength)),B.emissiveFactor!==void 0&&Q!==Vg){const s=B.emissiveFactor;e.emissive=new ZA().setRGB(s[0],s[1],s[2],zQ)}return B.emissiveTexture!==void 0&&Q!==Vg&&E.push(I.assignTexture(e,"emissiveMap",B.emissiveTexture,nE)),Promise.all(E).then(function(){const s=new Q(e);return B.name&&(s.name=B.name),vQ(s,B),I.associations.set(s,{materials:A}),B.extensions&&Wt(i,s,B),s})}createUniqueName(A){const I=ZI.sanitizeNodeName(A||"");return I in this.nodeNamesUsed?I+"_"+ ++this.nodeNamesUsed[I]:(this.nodeNamesUsed[I]=0,I)}loadGeometries(A){const I=this,C=this.extensions,i=this.primitiveCache;function B(e){return C[bI.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,I).then(function(t){return YN(t,e,I)})}const Q=[];for(let e=0,t=A.length;e0&&uP(c,B),c.name=I.createUniqueName(B.name||"mesh_"+A),vQ(c,B),D.extensions&&Wt(i,c,D),I.assignFinalMaterial(c),s.push(c)}for(let l=0,h=s.length;l1?o=new uB:E.length===1?o=E[0]:o=new YI,o!==E[0])for(let s=0,r=E.length;s{const s=new Map;for(const[r,l]of i.associations)(r instanceof Gg||r instanceof ig)&&s.set(r,l);return o.traverse(r=>{const l=i.associations.get(r);l!=null&&s.set(r,l)}),s};return i.associations=E(B),B})}_createAnimationTracks(A,I,C,i,B){const Q=[],e=A.name?A.name:A.uuid,t=[];qe[B.path]===qe.weights?A.traverse(function(r){r.morphTargetInfluences&&t.push(r.name?r.name:r.uuid)}):t.push(e);let E;switch(qe[B.path]){case qe.weights:E=ee;break;case qe.rotation:E=wQ;break;case qe.position:case qe.scale:E=te;break;default:switch(C.itemSize){case 1:E=ee;break;case 2:case 3:default:E=te;break}break}const o=i.interpolation!==void 0?wP[i.interpolation]:ie,s=this._getArrayFromAccessor(C);for(let r=0,l=t.length;r{const e={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(Q,e).then(I).catch(i)},C,i)}decodeDracoFile(A,I,C,i){const B={attributeIDs:C||this.defaultAttributeIDs,attributeTypes:i||this.defaultAttributeTypes,useUniqueIDs:!!C};this.decodeGeometry(A,B).then(I)}decodeGeometry(A,I){for(const t in I.attributeTypes){const E=I.attributeTypes[t];E.BYTES_PER_ELEMENT!==void 0&&(I.attributeTypes[t]=E.name)}const C=JSON.stringify(I);if($G.has(A)){const t=$G.get(A);if(t.key===C)return t.promise;if(A.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let i;const B=this.workerNextTaskID++,Q=A.byteLength,e=this._getWorker(B,Q).then(t=>(i=t,new Promise((E,o)=>{i._callbacks[B]={resolve:E,reject:o},i.postMessage({type:"decode",id:B,taskConfig:I,buffer:A},[A])}))).then(t=>this._createGeometry(t.geometry));return e.catch(()=>!0).then(()=>{i&&B&&this._releaseTask(i,B)}),$G.set(A,{key:C,promise:e}),e}_createGeometry(A){const I=new MI;A.index&&I.setIndex(new yI(A.index.array,1));for(let C=0;C{C.load(A,i,void 0,B)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const A=typeof WebAssembly!="object"||this.decoderConfig.type==="js",I=[];return A?I.push(this._loadLibrary("draco_decoder.js","text")):(I.push(this._loadLibrary("draco_wasm_wrapper.js","text")),I.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(I).then(C=>{const i=C[0];A||(this.decoderConfig.wasmBinary=C[1]);const B=NP.toString(),Q=["/* draco decoder */",i,"","/* worker */",B.substring(B.indexOf("{")+1,B.lastIndexOf("}"))].join(` +`);this.workerSourceURL=URL.createObjectURL(new Blob([Q]))}),this.decoderPending}_getWorker(A,I){return this._initDecoder().then(()=>{if(this.workerPool.lengthB._taskLoad?-1:1});const C=this.workerPool[this.workerPool.length-1];return C._taskCosts[A]=I,C._taskLoad+=I,C})}_releaseTask(A,I){A._taskLoad-=A._taskCosts[I],delete A._callbacks[I],delete A._taskCosts[I]}debug(){console.log("Task load: ",this.workerPool.map(A=>A._taskLoad))}dispose(){for(let A=0;A{const s=o.draco,r=new s.Decoder,l=new s.DecoderBuffer;l.Init(new Int8Array(t),t.byteLength);try{const h=I(s,r,l,E),w=h.attributes.map(D=>D.array.buffer);h.index&&w.push(h.index.array.buffer),self.postMessage({type:"decode",id:e.id,geometry:h},w)}catch(h){console.error(h),self.postMessage({type:"error",id:e.id,error:h.message})}finally{s.destroy(l),s.destroy(r)}});break}};function I(Q,e,t,E){const o=E.attributeIDs,s=E.attributeTypes;let r,l;const h=e.GetEncodedGeometryType(t);if(h===Q.TRIANGULAR_MESH)r=new Q.Mesh,l=e.DecodeBufferToMesh(t,r);else if(h===Q.POINT_CLOUD)r=new Q.PointCloud,l=e.DecodeBufferToPointCloud(t,r);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!l.ok()||r.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+l.error_msg());const w={index:null,attributes:[]};for(const D in o){const c=self[s[D]];let G,y;if(E.useUniqueIDs)y=o[D],G=e.GetAttributeByUniqueId(r,y);else{if(y=e.GetAttributeId(r,Q[o[D]]),y===-1)continue;G=e.GetAttribute(r,y)}w.attributes.push(i(Q,e,r,D,c,G))}return h===Q.TRIANGULAR_MESH&&(w.index=C(Q,e,r)),Q.destroy(r),w}function C(Q,e,t){const o=t.num_faces()*3,s=o*4,r=Q._malloc(s);e.GetTrianglesUInt32Array(t,s,r);const l=new Uint32Array(Q.HEAPF32.buffer,r,o).slice();return Q._free(r),{array:l,itemSize:1}}function i(Q,e,t,E,o,s){const r=s.num_components(),h=t.num_points()*r,w=h*o.BYTES_PER_ELEMENT,D=B(Q,o),c=Q._malloc(w);e.GetAttributeDataArrayForAllPoints(t,s,D,w,c);const G=new o(Q.HEAPF32.buffer,c,h).slice();return Q._free(c),{name:E,array:G,itemSize:r}}function B(Q,e){switch(e){case Float32Array:return Q.DT_FLOAT32;case Int8Array:return Q.DT_INT8;case Int16Array:return Q.DT_INT16;case Int32Array:return Q.DT_INT32;case Uint8Array:return Q.DT_UINT8;case Uint16Array:return Q.DT_UINT16;case Uint32Array:return Q.DT_UINT32}}}let Yc;const Ay=()=>{if(Yc)return Yc;const g="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",A="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",I=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),C=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]);if(typeof WebAssembly!="object")return{supported:!1};let i=g;WebAssembly.validate(I)&&(i=A);let B;const Q=WebAssembly.instantiate(e(i),{}).then(s=>{B=s.instance,B.exports.__wasm_call_ctors()});function e(s){const r=new Uint8Array(s.length);for(let h=0;h96?w-71:w>64?w-65:w>47?w+4:w>46?63:62}let l=0;for(let h=0;h.init",E),o&&(o=C("<"+e+">.getTransferables",o));var s=null;typeof E=="function"?s=E.apply(void 0,t):console.error("worker module init function failed to rehydrate"),g[Q]={id:Q,value:s,getTransferables:o},B(s)}catch(r){r&&r.noLog||console.error(r),B(r)}}function I(i,B){var Q,e=i.id,t=i.args;(!g[e]||typeof g[e].value!="function")&&B(new Error("Worker module "+e+": not found or its 'init' did not return a function"));try{var E=(Q=g[e]).value.apply(Q,t);E&&typeof E.then=="function"?E.then(o,function(s){return B(s instanceof Error?s:new Error(""+s))}):o(E)}catch(s){B(s)}function o(s){try{var r=g[e].getTransferables&&g[e].getTransferables(s);(!r||!Array.isArray(r)||!r.length)&&(r=void 0),B(s,r)}catch(l){console.error(l),B(l)}}}function C(i,B){var Q=void 0;self.troikaDefine=function(t){return Q=t};var e=URL.createObjectURL(new Blob(["/** "+i.replace(/\*/g,"")+` **/ + +troikaDefine( +`+B+` +)`],{type:"application/javascript"}));try{importScripts(e)}catch(t){console.error(t)}return URL.revokeObjectURL(e),delete self.troikaDefine,Q}self.addEventListener("message",function(i){var B=i.data,Q=B.messageId,e=B.action,t=B.data;try{e==="registerModule"&&A(t,function(E){E instanceof Error?postMessage({messageId:Q,success:!1,error:E.message}):postMessage({messageId:Q,success:!0,result:{isCallable:typeof E=="function"}})}),e==="callModule"&&I(t,function(E,o){E instanceof Error?postMessage({messageId:Q,success:!1,error:E.message}):postMessage({messageId:Q,success:!0,result:E},o||void 0)})}catch(E){postMessage({messageId:Q,success:!1,error:E.stack})}})}function RP(g){var A=function(){for(var I=[],C=arguments.length;C--;)I[C]=arguments[C];return A._getInitResult().then(function(i){if(typeof i=="function")return i.apply(void 0,I);throw new Error("Worker module function was called but `init` did not return a callable function")})};return A._getInitResult=function(){var I=g.dependencies,C=g.init;I=Array.isArray(I)?I.map(function(B){return B&&B._getInitResult?B._getInitResult():B}):[];var i=Promise.all(I).then(function(B){return C.apply(null,B)});return A._getInitResult=function(){return i},i},A}var mm=function(){var g=!1;if(typeof window<"u"&&typeof window.document<"u")try{var A=new Worker(URL.createObjectURL(new Blob([""],{type:"application/javascript"})));A.terminate(),g=!0}catch(I){typeof process<"u",console.log("Troika createWorkerModule: web workers not allowed; falling back to main thread execution. Cause: ["+I.message+"]")}return mm=function(){return g},g},KP=0,JP=0,Iy=!1,Da=Object.create(null),Sa=Object.create(null),sk=Object.create(null);function vn(g){if((!g||typeof g.init!="function")&&!Iy)throw new Error("requires `options.init` function");var A=g.dependencies,I=g.init,C=g.getTransferables,i=g.workerId;if(!mm())return RP(g);i==null&&(i="#default");var B="workerModule"+ ++KP,Q=g.name||B,e=null;A=A&&A.map(function(E){return typeof E=="function"&&!E.workerModuleData&&(Iy=!0,E=vn({workerId:i,name:"<"+Q+"> function dependency: "+E.name,init:`function(){return ( +`+ch(E)+` +)}`}),Iy=!1),E&&E.workerModuleData&&(E=E.workerModuleData),E});function t(){for(var E=[],o=arguments.length;o--;)E[o]=arguments[o];if(!e){e=HN(i,"registerModule",t.workerModuleData);var s=function(){e=null,Sa[i].delete(s)};(Sa[i]||(Sa[i]=new Set)).add(s)}return e.then(function(r){var l=r.isCallable;if(l)return HN(i,"callModule",{id:B,args:E});throw new Error("Worker module function was called but `init` did not return a callable function")})}return t.workerModuleData={isWorkerModule:!0,id:B,name:Q,dependencies:A,init:ch(I),getTransferables:C&&ch(C)},t}function qP(g){Sa[g]&&Sa[g].forEach(function(A){A()}),Da[g]&&(Da[g].terminate(),delete Da[g])}function ch(g){var A=g.toString();return!/^function/.test(A)&&/^\w+\s*\(/.test(A)&&(A="function "+A),A}function mP(g){var A=Da[g];if(!A){var I=ch(FP);A=Da[g]=new Worker(URL.createObjectURL(new Blob(["/** Worker Module Bootstrap: "+g.replace(/\*/g,"")+` **/ + +;(`+I+")()"],{type:"application/javascript"}))),A.onmessage=function(C){var i=C.data,B=i.messageId,Q=sk[B];if(!Q)throw new Error("WorkerModule response with empty or unknown messageId");delete sk[B],Q(i)}}return A}function HN(g,A,I){return new Promise(function(C,i){var B=++JP;sk[B]=function(Q){Q.success?C(Q.result):i(new Error("Error in worker "+A+" call: "+Q.error))},mP(g).postMessage({messageId:B,action:A,data:I})})}function Lm(){var g=function(A){function I(O,v,Y,j,QA,P,X,gA){var AA=1-X;gA.x=AA*AA*O+2*AA*X*Y+X*X*QA,gA.y=AA*AA*v+2*AA*X*j+X*X*P}function C(O,v,Y,j,QA,P,X,gA,AA,wA){var dA=1-AA;wA.x=dA*dA*dA*O+3*dA*dA*AA*Y+3*dA*AA*AA*QA+AA*AA*AA*X,wA.y=dA*dA*dA*v+3*dA*dA*AA*j+3*dA*AA*AA*P+AA*AA*AA*gA}function i(O,v){for(var Y=/([MLQCZ])([^MLQCZ]*)/g,j,QA,P,X,gA;j=Y.exec(O);){var AA=j[2].replace(/^\s*|\s*$/g,"").split(/[,\s]+/).map(function(wA){return parseFloat(wA)});switch(j[1]){case"M":X=QA=AA[0],gA=P=AA[1];break;case"L":(AA[0]!==X||AA[1]!==gA)&&v("L",X,gA,X=AA[0],gA=AA[1]);break;case"Q":{v("Q",X,gA,X=AA[2],gA=AA[3],AA[0],AA[1]);break}case"C":{v("C",X,gA,X=AA[4],gA=AA[5],AA[0],AA[1],AA[2],AA[3]);break}case"Z":(X!==QA||gA!==P)&&v("L",X,gA,QA,P);break}}}function B(O,v,Y){Y===void 0&&(Y=16);var j={x:0,y:0};i(O,function(QA,P,X,gA,AA,wA,dA,V,MA){switch(QA){case"L":v(P,X,gA,AA);break;case"Q":{for(var $=P,GA=X,cA=1;cA0;)YA[PA]=arguments[PA+2];var xA=TA[VA]||(TA[VA]=Y.getUniformLocation(fA,VA));Y["uniform"+zA].apply(Y,[xA].concat(YA))},setAttribute:function(zA,VA,YA,PA,xA){var aI=qA[zA];aI||(aI=qA[zA]={buf:Y.createBuffer(),loc:Y.getAttribLocation(fA,zA),data:null}),Y.bindBuffer(Y.ARRAY_BUFFER,aI.buf),Y.vertexAttribPointer(aI.loc,VA,Y.FLOAT,!1,0,0),Y.enableVertexAttribArray(aI.loc),QA?Y.vertexAttribDivisor(aI.loc,PA):pA("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(aI.loc,PA),xA!==aI.data&&(Y.bufferData(Y.ARRAY_BUFFER,xA,YA),aI.data=xA)}})}}}X[Z].transaction(aA)},UA=function(Z,sA){AA++;try{Y.activeTexture(Y.TEXTURE0+AA);var EA=gA[Z];EA||(EA=gA[Z]=Y.createTexture(),Y.bindTexture(Y.TEXTURE_2D,EA),Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_MIN_FILTER,Y.NEAREST),Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_MAG_FILTER,Y.NEAREST)),Y.bindTexture(Y.TEXTURE_2D,EA),sA(EA,AA)}finally{AA--}},x=function(Z,sA,EA){var aA=Y.createFramebuffer();wA.push(aA),Y.bindFramebuffer(Y.FRAMEBUFFER,aA),Y.activeTexture(Y.TEXTURE0+sA),Y.bindTexture(Y.TEXTURE_2D,Z),Y.framebufferTexture2D(Y.FRAMEBUFFER,Y.COLOR_ATTACHMENT0,Y.TEXTURE_2D,Z,0);try{EA(aA)}finally{Y.deleteFramebuffer(aA),Y.bindFramebuffer(Y.FRAMEBUFFER,wA[--wA.length-1]||null)}},J=function(){P={},X={},gA={},AA=-1,wA.length=0};var dA=pA,V=SA,MA=LA,$=UA,GA=x,cA=J,QA=typeof WebGL2RenderingContext<"u"&&Y instanceof WebGL2RenderingContext,P={},X={},gA={},AA=-1,wA=[];Y.canvas.addEventListener("webglcontextlost",function(Z){J(),Z.preventDefault()},!1),t.set(Y,j={gl:Y,isWebGL2:QA,getExtension:pA,withProgram:LA,withTexture:UA,withTextureFramebuffer:x,handleContextLoss:J})}v(j)}function s(O,v,Y,j,QA,P,X,gA){X===void 0&&(X=15),gA===void 0&&(gA=null),o(O,function(AA){var wA=AA.gl,dA=AA.withProgram,V=AA.withTexture;V("copy",function(MA,$){wA.texImage2D(wA.TEXTURE_2D,0,wA.RGBA,QA,P,0,wA.RGBA,wA.UNSIGNED_BYTE,v),dA("copy",Q,e,function(GA){var cA=GA.setUniform,pA=GA.setAttribute;pA("aUV",2,wA.STATIC_DRAW,0,new Float32Array([0,0,2,0,0,2])),cA("1i","image",$),wA.bindFramebuffer(wA.FRAMEBUFFER,gA||null),wA.disable(wA.BLEND),wA.colorMask(X&8,X&4,X&2,X&1),wA.viewport(Y,j,QA,P),wA.scissor(Y,j,QA,P),wA.drawArrays(wA.TRIANGLES,0,3)})})})}function r(O,v,Y){var j=O.width,QA=O.height;o(O,function(P){var X=P.gl,gA=new Uint8Array(j*QA*4);X.readPixels(0,0,j,QA,X.RGBA,X.UNSIGNED_BYTE,gA),O.width=v,O.height=Y,s(X,gA,0,0,j,QA)})}var l=Object.freeze({__proto__:null,withWebGLContext:o,renderImageData:s,resizeWebGLCanvasWithoutClearing:r});function h(O,v,Y,j,QA,P){P===void 0&&(P=1);var X=new Uint8Array(O*v),gA=j[2]-j[0],AA=j[3]-j[1],wA=[];B(Y,function(pA,SA,LA,UA){wA.push({x1:pA,y1:SA,x2:LA,y2:UA,minX:Math.min(pA,LA),minY:Math.min(SA,UA),maxX:Math.max(pA,LA),maxY:Math.max(SA,UA)})}),wA.sort(function(pA,SA){return pA.maxX-SA.maxX});for(var dA=0;dAJ.minX&&SA-UAJ.minY){var Z=c(pA,SA,J.x1,J.y1,J.x2,J.y2);ZSA!=x.y2>SA&&pA<(x.x2-x.x1)*(SA-x.y1)/(x.y2-x.y1)+x.x1;J&&(LA+=x.y1p.y!=seg.w>p.y)&&(p.x<(seg.z-seg.x)*(p.y-seg.y)/(seg.w-seg.y)+seg.x);bool crossingUp=crossing&&vLineSegment.y1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1",canonical:"6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye"};function w(UA,x){var J=36,Z=0,sA=new Map,EA=x&&new Map,aA;return UA.split(",").forEach(function qA(TA){if(TA.indexOf("+")!==-1)for(var fA=+TA;fA--;)qA(aA);else{aA=TA;var bA=TA.split(">"),RA=bA[0],OA=bA[1];RA=String.fromCodePoint(Z+=parseInt(RA,J)),OA=String.fromCodePoint(Z+=parseInt(OA,J)),sA.set(RA,OA),x&&EA.set(OA,RA)}}),{map:sA,reverseMap:EA}}var D,c,G;function y(){if(!D){var UA=w(h.pairs,!0),x=UA.map,J=UA.reverseMap;D=x,c=J,G=w(h.canonical,!1).map}}function k(UA){return y(),D.get(UA)||null}function F(UA){return y(),c.get(UA)||null}function U(UA){return y(),G.get(UA)||null}var f=C.L,K=C.R,N=C.EN,p=C.ES,m=C.ET,q=C.AN,L=C.CS,_=C.B,IA=C.S,CA=C.ON,lA=C.BN,H=C.NSM,O=C.AL,v=C.LRO,Y=C.RLO,j=C.LRE,QA=C.RLE,P=C.PDF,X=C.LRI,gA=C.RLI,AA=C.FSI,wA=C.PDI;function dA(UA,x){for(var J=125,Z=new Uint32Array(UA.length),sA=0;sA0)aI--;else if(BA>0){for(gI=0;!PA[PA.length-1]._isolate;)PA.pop();var BI=PA[PA.length-1]._isolInitIndex;BI!=null&&(TA.set(BI,KA),TA.set(KA,BI)),PA.pop(),BA--}xA=PA[PA.length-1],qA[KA]=xA._level,xA._override&&aA(KA,xA._override)}else DA&P?(aI===0&&(gI>0?gI--:!xA._isolate&&PA.length>1&&(PA.pop(),xA=PA[PA.length-1])),qA[KA]=xA._level):DA&_&&(qA[KA]=bA.level);else qA[KA]=xA._level,xA._override&&DA!==lA&&aA(KA,xA._override)}for(var wI=[],pI=null,AI=bA.start;AI<=bA.end;AI++){var TI=Z[AI];if(!(TI&t)){var WI=qA[AI],xg=TI&B,yg=TI===wA;pI&&WI===pI._level?(pI._end=AI,pI._endsWithIsolInit=xg):wI.push(pI={_start:AI,_end:AI,_level:WI,_startsWithPDI:yg,_endsWithIsolInit:xg})}}for(var TC=[],xC=0;xC=0;yA--)if(!(Z[yA]&t)){NA=qA[yA];break}var uA=eC[eC.length-1],$A=qA[uA],EI=bA.level;if(!(Z[uA]&B)){for(var oI=uA+1;oI<=bA.end;oI++)if(!(Z[oI]&t)){EI=qA[oI];break}}TC.push({_seqIndices:eC,_sosType:Math.max(NA,hA)%2?K:f,_eosType:Math.max(EI,$A)%2?K:f})}}for(var hI=0;hI=0;cI--)if(!(Z[vA[cI]]&t)){JI=Z[vA[cI]];break}aA(OC,JI&(B|wA)?CA:JI)}}if(EA.get(N))for(var PI=0;PI=-1;vg--){var Kg=vg===-1?uI:Z[vA[vg]];if(Kg&Q){Kg===O&&aA(DI,q);break}}}if(EA.get(O))for(var ug=0;ug=0&&(Bi=Z[vA[AQ]],!!(Bi&t));AQ--);for(var IQ=Qg+1;IQ=0&&Z[vA[ZE]]&(m|t);ZE--)aA(vA[ZE],N);for(_C++;_C=0&&Z[vA[uQ]]&t;uQ--)aA(vA[uQ],CA);for(var kQ=wt+1;kQ=0;pQ--){var VE=ce[pQ].char;if(VE===Zn||VE===F(U(xI))||k(U(VE))===xI){gQ.push([ce[pQ].seqIndex,CQ]),ce.length=pQ;break}}}gQ.sort(function(lC,Ei){return lC[0]-Ei[0]})}for(var Wn=0;Wn=0;jn--){var xr=vA[jn];if(Z[xr]&WE){var Hi=Z[xr]&MQ?K:f;Hi!==Eg?Qi=Hi:Qi=Eg;break}}}if(Qi){if(Z[vA[pg]]=Z[vA[yt]]=Qi,Qi!==Eg){for(var ei=pg+1;ei=0;kt--)if(Z[vA[kt]]&t)Xn=kt;else{ui=Z[vA[kt]]&MQ?K:f;break}for(var dt=ag,Mt=iB+1;Mt=0&&r(UA[he])&E;he--)qA[he]=bA.level}}return{levels:qA,paragraphs:fA};function XE(lC,Ei){for(var bg=lC;bg=qA&&r(UA[bA])&E;bA--)fA[bA]=aA.level;for(var RA=aA.level,OA=1/0,zA=0;zARA&&(RA=VA),VA=OA;YA--)for(var PA=0;PA=YA){for(var xA=PA;PA+1=YA;)PA++;PA>xA&&EA.push([xA+qA,PA+qA])}}}),EA}function SA(UA,x,J,Z){var sA=LA(UA,x,J,Z),EA=[].concat(UA);return sA.forEach(function(aA,qA){EA[qA]=(x.levels[aA]&1?GA(UA[aA]):null)||UA[aA]}),EA.join("")}function LA(UA,x,J,Z){for(var sA=pA(UA,x,J,Z),EA=[],aA=0;aA/gm;function I(C,i){let B=RI[i];return B?ak(B):C}return g.replace(A,I)}const fC=[];for(let g=0;g<256;g++)fC[g]=(g<16?"0":"")+g.toString(16);function YP(){const g=Math.random()*4294967295|0,A=Math.random()*4294967295|0,I=Math.random()*4294967295|0,C=Math.random()*4294967295|0;return(fC[g&255]+fC[g>>8&255]+fC[g>>16&255]+fC[g>>24&255]+"-"+fC[A&255]+fC[A>>8&255]+"-"+fC[A>>16&15|64]+fC[A>>24&255]+"-"+fC[I&63|128]+fC[I>>8&255]+"-"+fC[I>>16&255]+fC[I>>24&255]+fC[C&255]+fC[C>>8&255]+fC[C>>16&255]+fC[C>>24&255]).toUpperCase()}const Vt=Object.assign||function(){let g=arguments[0];for(let A=1,I=arguments.length;A/gm,` +//!BEGIN_POST_CHUNK $1 +$& +//!END_POST_CHUNK +`),I=ak(I)),l){let w=l({vertexShader:A,fragmentShader:I});A=w.vertexShader,I=w.fragmentShader}if(r){let w=[];I=I.replace(/^\/\/!BEGIN_POST_CHUNK[^]+?^\/\/!END_POST_CHUNK/gm,D=>(w.push(D),"")),s=`${r} +${w.join(` +`)} +${s}`}if(h){const w=` +uniform float ${h}; +`;B=w+B,E=w+E}return t&&(A=`vec3 troika_position_${i}; +vec3 troika_normal_${i}; +vec2 troika_uv_${i}; +${A} +`,B=`${B} +void troikaVertexTransform${i}(inout vec3 position, inout vec3 normal, inout vec2 uv) { + ${t} +} +`,Q=` +troika_position_${i} = vec3(position); +troika_normal_${i} = vec3(normal); +troika_uv_${i} = vec2(uv); +troikaVertexTransform${i}(troika_position_${i}, troika_normal_${i}, troika_uv_${i}); +${Q} +`,A=A.replace(/\b(position|normal|uv)\b/g,(w,D,c,G)=>/\battribute\s+vec[23]\s+$/.test(G.substr(0,c))?D:`troika_${D}_${i}`),g.map&&g.map.channel>0||(A=A.replace(/\bMAP_UV\b/g,`troika_uv_${i}`))),A=vN(A,i,B,Q,e),I=vN(I,i,E,o,s),{vertexShader:A,fragmentShader:I}}function vN(g,A,I,C,i){return(C||i||I)&&(g=g.replace(Ym,` +${I} +void troikaOrigMain${A}() {`),g+=` +void main() { + ${C} + troikaOrigMain${A}(); + ${i} +}`),g}function vP(g,A){return g==="uniforms"?void 0:typeof A=="function"?A.toString():A}let bP=0;const bN=new Map;function OP(g){const A=JSON.stringify(g,vP);let I=bN.get(A);return I==null&&bN.set(A,I=++bP),I}/*! +Custom build of Typr.ts (https://github.com/fredli74/Typr.ts) for use in Troika text rendering. +Original MIT license applies: https://github.com/fredli74/Typr.ts/blob/master/LICENSE +*/function _P(){return typeof window>"u"&&(self.window=self),function(g){var A={parse:function(i){var B=A._bin,Q=new Uint8Array(i);if(B.readASCII(Q,0,4)=="ttcf"){var e=4;B.readUshort(Q,e),e+=2,B.readUshort(Q,e),e+=2;var t=B.readUint(Q,e);e+=4;for(var E=[],o=0;o>>Q&1&&B++;return B},A._lctf.readClassDef=function(i,B){var Q=A._bin,e=[],t=Q.readUshort(i,B);if(B+=2,t==1){var E=Q.readUshort(i,B);B+=2;var o=Q.readUshort(i,B);B+=2;for(var s=0;s0&&(t.featureParams=e+E);var o=Q.readUshort(i,B);B+=2,t.tab=[];for(var s=0;s0&&(t.default=A._lctf.readLangSysTable(i,e+E));var o=Q.readUshort(i,B);B+=2;for(var s=0;s255?-1:A.CFF.glyphByUnicode(i,A.CFF.tableSE[B])},A.CFF.readEncoding=function(i,B,Q){A._bin;var e=[".notdef"],t=i[B];if(B++,t!=0)throw"error: unknown encoding format: "+t;var E=i[B];B++;for(var o=0;o>4,G=15&D;if(c!=15&&w.push(c),G!=15&&w.push(G),G==15)break}for(var y="",k=[0,1,2,3,4,5,6,7,8,9,".","e","e-","reserved","-","endOfNumber"],F=0;F=E.xMax||E.yMin>=E.yMax)return null;if(E.noc>0){E.endPts=[];for(var o=0;o=1&&o.fmt<=2){r=t.readUshort(i,Q),Q+=2;var l=t.readUshort(i,Q);Q+=2;var h=A._lctf.numOfOnes(r),w=A._lctf.numOfOnes(l);if(o.fmt==1){o.pairsets=[];var D=t.readUshort(i,Q);Q+=2;for(var c=0;c=1&&o.fmt<=2){if(o.fmt==1)o.delta=t.readShort(i,Q),Q+=2;else if(o.fmt==2){var r=t.readUshort(i,Q);Q+=2,o.newg=t.readUshorts(i,Q,r),Q+=2*o.newg.length}}else if(B==2&&o.fmt==1){r=t.readUshort(i,Q),Q+=2,o.seqs=[];for(var l=0;l>>8;if((h&=15)!=0)throw"unknown kern table format: "+h;B=A.kern.readFormat0(i,B,s)}return s},A.kern.parseV1=function(i,B,Q,e){var t=A._bin;t.readFixed(i,B),B+=4;var E=t.readUint(i,B);B+=4;for(var o={glyph1:[],rval:[]},s=0;s>>8;if((l&=15)!=0)throw"unknown kern table format: "+l;B=A.kern.readFormat0(i,B,o)}return o},A.kern.readFormat0=function(i,B,Q){var e=A._bin,t=-1,E=e.readUshort(i,B);B+=2,e.readUshort(i,B),B+=2,e.readUshort(i,B),B+=2,e.readUshort(i,B),B+=2;for(var o=0;o=t.map.length?0:t.map[B];if(t.format==4){for(var E=-1,o=0;oB?0:65535&(t.idRangeOffset[E]!=0?t.glyphIdArray[B-t.startCount[E]+(t.idRangeOffset[E]>>1)-(t.idRangeOffset.length-E)]:B+t.idDelta[E])}if(t.format==12){if(B>t.groups[t.groups.length-1][1])return 0;for(o=0;o-1?A.U._simpleGlyph(e,Q):A.U._compoGlyph(e,B,Q))},A.U._simpleGlyph=function(i,B){for(var Q=0;Qt)){for(var D=!0,c=0,G=0;Gt)){for(D=!0,G=0;G>1,E.length=0,s=!0;else if(q=="o3"||q=="o23")E.length%2!=0&&!s&&(r=E.shift()+e.nominalWidthX),o+=E.length>>1,E.length=0,s=!0;else if(q=="o4")E.length>1&&!s&&(r=E.shift()+e.nominalWidthX,s=!0),l&&A.U.P.closePath(t),D+=E.pop(),A.U.P.moveTo(t,w,D),l=!0;else if(q=="o5")for(;E.length>0;)w+=E.shift(),D+=E.shift(),A.U.P.lineTo(t,w,D);else if(q=="o6"||q=="o7")for(var L=E.length,_=q=="o6",IA=0;IAMath.abs(K-D)?w=f+E.shift():D=K+E.shift(),A.U.P.curveTo(t,c,G,y,k,N,p),A.U.P.curveTo(t,F,U,f,K,w,D));else if(q=="o14"){if(E.length>0&&!s&&(r=E.shift()+Q.nominalWidthX,s=!0),E.length==4){var H=E.shift(),O=E.shift(),v=E.shift(),Y=E.shift(),j=A.CFF.glyphBySE(Q,v),QA=A.CFF.glyphBySE(Q,Y);A.U._drawCFF(Q.CharStrings[j],B,Q,e,t),B.x=H,B.y=O,A.U._drawCFF(Q.CharStrings[QA],B,Q,e,t)}l&&(A.U.P.closePath(t),l=!1)}else if(q=="o19"||q=="o20")E.length%2!=0&&!s&&(r=E.shift()+e.nominalWidthX),o+=E.length>>1,E.length=0,s=!0,h+=o+7>>3;else if(q=="o21")E.length>2&&!s&&(r=E.shift()+e.nominalWidthX,s=!0),D+=E.pop(),w+=E.pop(),l&&A.U.P.closePath(t),A.U.P.moveTo(t,w,D),l=!0;else if(q=="o22")E.length>1&&!s&&(r=E.shift()+e.nominalWidthX,s=!0),w+=E.pop(),l&&A.U.P.closePath(t),A.U.P.moveTo(t,w,D),l=!0;else if(q=="o25"){for(;E.length>6;)w+=E.shift(),D+=E.shift(),A.U.P.lineTo(t,w,D);c=w+E.shift(),G=D+E.shift(),y=c+E.shift(),k=G+E.shift(),w=y+E.shift(),D=k+E.shift(),A.U.P.curveTo(t,c,G,y,k,w,D)}else if(q=="o26")for(E.length%2&&(w+=E.shift());E.length>0;)c=w,G=D+E.shift(),w=y=c+E.shift(),D=(k=G+E.shift())+E.shift(),A.U.P.curveTo(t,c,G,y,k,w,D);else if(q=="o27")for(E.length%2&&(D+=E.shift());E.length>0;)G=D,y=(c=w+E.shift())+E.shift(),k=G+E.shift(),w=y+E.shift(),D=k,A.U.P.curveTo(t,c,G,y,k,w,D);else if(q=="o10"||q=="o29"){var P=q=="o10"?e:Q;if(E.length==0)console.debug("error: empty stack");else{var X=E.pop(),gA=P.Subrs[X+P.Bias];B.x=w,B.y=D,B.nStems=o,B.haveWidth=s,B.width=r,B.open=l,A.U._drawCFF(gA,B,Q,e,t),w=B.x,D=B.y,o=B.nStems,s=B.haveWidth,r=B.width,l=B.open}}else if(q=="o30"||q=="o31"){var AA=E.length,wA=(lA=0,q=="o31");for(lA+=AA-(L=-3&AA);lA>>1|(21845&l)<<1;h=(61680&(h=(52428&h)>>>2|(13107&h)<<2))>>>4|(3855&h)<<4,r[l]=((65280&h)>>>8|(255&h)<<8)>>>1}var w=function(q,L,_){for(var IA=q.length,CA=0,lA=new I(L);CA>>v]=Y}return H},D=new A(288);for(l=0;l<144;++l)D[l]=8;for(l=144;l<256;++l)D[l]=9;for(l=256;l<280;++l)D[l]=7;for(l=280;l<288;++l)D[l]=8;var c=new A(32);for(l=0;l<32;++l)c[l]=5;var G=w(D,9),y=w(c,5),k=function(q){for(var L=q[0],_=1;_L&&(L=q[_]);return L},F=function(q,L,_){var IA=L/8|0;return(q[IA]|q[IA+1]<<8)>>(7&L)&_},U=function(q,L){var _=L/8|0;return(q[_]|q[_+1]<<8|q[_+2]<<16)>>(7&L)},f=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],K=function(q,L,_){var IA=new Error(L||f[q]);if(IA.code=q,Error.captureStackTrace&&Error.captureStackTrace(IA,K),!_)throw IA;return IA},N=function(q,L,_){var IA=q.length;if(!IA||_&&!_.l&&IA<5)return L||new A(0);var CA=!L||_,lA=!_||_.i;_||(_={}),L||(L=new A(3*IA));var H,O=function(xA){var aI=L.length;if(xA>aI){var gI=new A(Math.max(2*aI,xA));gI.set(L),L=gI}},v=_.f||0,Y=_.p||0,j=_.b||0,QA=_.l,P=_.d,X=_.m,gA=_.n,AA=8*IA;do{if(!QA){_.f=v=F(q,Y,1);var wA=F(q,Y+1,3);if(Y+=3,!wA){var dA=q[(J=((H=Y)/8|0)+(7&H&&1)+4)-4]|q[J-3]<<8,V=J+dA;if(V>IA){lA&&K(0);break}CA&&O(j+dA),L.set(q.subarray(J,V),j),_.b=j+=dA,_.p=Y=8*V;continue}if(wA==1)QA=G,P=y,X=9,gA=5;else if(wA==2){var MA=F(q,Y,31)+257,$=F(q,Y+10,15)+4,GA=MA+F(q,Y+5,31)+1;Y+=14;for(var cA=new A(GA),pA=new A(19),SA=0;SA<$;++SA)pA[Q[SA]]=F(q,Y+3*SA,7);Y+=3*$;var LA=k(pA),UA=(1<>>4)<16)cA[SA++]=J;else{var sA=0,EA=0;for(J==16?(EA=3+F(q,Y,3),Y+=2,sA=cA[SA-1]):J==17?(EA=3+F(q,Y,7),Y+=3):J==18&&(EA=11+F(q,Y,127),Y+=7);EA--;)cA[SA++]=sA}}var aA=cA.subarray(0,MA),qA=cA.subarray(MA);X=k(aA),gA=k(qA),QA=w(aA,X),P=w(qA,gA)}else K(1);if(Y>AA){lA&&K(0);break}}CA&&O(j+131072);for(var TA=(1<>>4;if((Y+=15&sA)>AA){lA&&K(0);break}if(sA||K(2),RA<256)L[j++]=RA;else{if(RA==256){bA=Y,QA=null;break}var OA=RA-254;if(RA>264){var zA=i[SA=RA-257];OA=F(q,Y,(1<>>4;if(VA||K(3),Y+=15&VA,qA=s[YA],YA>3&&(zA=B[YA],qA+=U(q,Y)&(1<AA){lA&&K(0);break}CA&&O(j+131072);for(var PA=j+OA;jxA.length)&&(gI=xA.length);var BA=new(xA instanceof I?I:xA instanceof C?C:A)(gI-aI);return BA.set(xA.subarray(aI,gI)),BA}(L,0,j)},p=new A(0),m=typeof TextDecoder<"u"&&new TextDecoder;try{m.decode(p,{stream:!0})}catch{}return g.convert_streams=function(q){var L=new DataView(q),_=0;function IA(){var MA=L.getUint16(_);return _+=2,MA}function CA(){var MA=L.getUint32(_);return _+=4,MA}function lA(MA){dA.setUint16(V,MA),V+=2}function H(MA){dA.setUint32(V,MA),V+=4}for(var O={signature:CA(),flavor:CA(),length:CA(),numTables:IA(),reserved:IA(),totalSfntSize:CA(),majorVersion:IA(),minorVersion:IA(),metaOffset:CA(),metaLength:CA(),metaOrigLength:CA(),privOffset:CA(),privLength:CA()},v=0;Math.pow(2,v)<=O.numTables;)v++;v--;for(var Y=16*Math.pow(2,v),j=16*O.numTables-Y,QA=12,P=[],X=0;X{let[q,L]=m.split("+");q=parseInt(q,36),L=L?parseInt(L,36):0,o.set(p+=q,K[N]);for(let _=L;_--;)o.set(++p,K[N])})}}return o.get(f)||E}const r=1,l=2,h=3,w=4,D=[null,"isol","init","fina","medi"];function c(f){const K=new Uint8Array(f.length);let N=E,p=r,m=-1;for(let q=0;q65535&&q++)}return K}function G(f,K){const N=[];for(let m=0;m65535&&m++,N.push(g.U.codeToGlyph(f,q))}const p=f.GSUB;if(p){const{lookupList:m,featureList:q}=p;let L;const _=/^(rlig|liga|mset|isol|init|fina|medi|half|pres|blws|ccmp)$/,IA=[];q.forEach(CA=>{if(_.test(CA.tag))for(let lA=0;lA=0;IA--)if(K[IA]!==-1&&(!_||_(K[IA])))return IA;return-1}function q(_){return k(f,_)===1}function L(_,IA){for(let CA=0;CA<3;CA++)N[IA*3+CA]+=_[CA]||0}}function k(f,K){const N=f.GDEF&&f.GDEF.glyphClassDef;return N?g.U._getGlyphClass(K,N):0}function F(...f){for(let K=0;K0},forEachGlyph(_,IA,CA,lA){let H=0;const O=1/L.unitsPerEm*IA,v=G(f,_);let Y=0;const j=y(f,v);return v.forEach((QA,P)=>{if(QA!==-1){let X=K[QA];if(!X){const{cmds:gA,crds:AA}=g.U.glyphToPath(f,QA);let wA="",dA=0;for(let cA=0,pA=gA.length;cA1?",":"")+AA[dA++]}let V,MA,$,GA;if(AA.length){V=MA=1/0,$=GA=-1/0;for(let cA=0,pA=AA.length;cA$&&($=SA),LA>GA&&(GA=LA)}}else V=$=MA=GA=0;X=K[QA]={index:QA,advanceWidth:f.hmtx.aWidth[QA],xMin:V,yMin:MA,xMax:$,yMax:GA,path:wA}}lA.call(null,X,H+j[P*3]*O,j[P*3+1]*O,Y),H+=j[P*3+2]*O,CA&&(H+=CA*IA)}Y+=_.codePointAt(Y)>65535?2:1}),H}};return L}return function(K){const N=new Uint8Array(K,0,4),p=g._bin.readASCII(N,0,4);if(p==="wOFF")K=A(K);else if(p==="wOF2")throw new Error("woff2 fonts not supported");return U(g.parse(K)[0])}}const WP=vn({name:"Typr Font Parser",dependencies:[_P,PP,ZP],init(g,A,I){const C=g(),i=A();return I(C,i)}});/*! +Custom bundle of @unicode-font-resolver/client v1.0.2 (https://github.com/lojjic/unicode-font-resolver) +for use in Troika text rendering. +Original MIT license applies +*/function VP(){return function(g){var A=function(){this.buckets=new Map};A.prototype.add=function(y){var k=y>>5;this.buckets.set(k,(this.buckets.get(k)||0)|1<<(31&y))},A.prototype.has=function(y){var k=this.buckets.get(y>>5);return k!==void 0&&(k&1<<(31&y))!=0},A.prototype.serialize=function(){var y=[];return this.buckets.forEach(function(k,F){y.push((+F).toString(36)+":"+k.toString(36))}),y.join(",")},A.prototype.deserialize=function(y){var k=this;this.buckets.clear(),y.split(",").forEach(function(F){var U=F.split(":");k.buckets.set(parseInt(U[0],36),parseInt(U[1],36))})};var I=Math.pow(2,8),C=I-1,i=~C;function B(y){var k=function(U){return U&i}(y).toString(16),F=function(U){return(U&i)+I-1}(y).toString(16);return"codepoint-index/plane"+(y>>16)+"/"+k+"-"+F+".json"}function Q(y,k){var F=y&C,U=k.codePointAt(F/6|0);return((U=(U||48)-48)&1<65535&&(Y++,v=Y)},v=0;v65535&&(QA++,j=QA)},j=0;j65535&&(QA++,q[QA]=q[QA-1])}return{fontUrls:Array.from(m.keys()),chars:q}})},Object.defineProperty(g,"__esModule",{value:!0}),g}({})}function jP(g,A){const I=Object.create(null),C=Object.create(null);function i(Q,e){const t=E=>{console.error(`Failure loading font ${Q}`,E)};try{const E=new XMLHttpRequest;E.open("get",Q,!0),E.responseType="arraybuffer",E.onload=function(){if(E.status>=400)t(new Error(E.statusText));else if(E.status>0)try{const o=g(E.response);o.src=Q,e(o)}catch(o){t(o)}},E.onerror=t,E.send()}catch(E){t(E)}}function B(Q,e){let t=I[Q];t?e(t):C[Q]?C[Q].push(e):(C[Q]=[e],i(Q,E=>{E.src=Q,I[Q]=E,C[Q].forEach(o=>o(E)),delete C[Q]}))}return function(Q,e,{lang:t,fonts:E=[],style:o="normal",weight:s="normal",unicodeFontsURL:r}={}){const l=new Uint8Array(Q.length),h=[];Q.length||G();const w=new Map,D=[];if(o!=="italic"&&(o="normal"),typeof s!="number"&&(s=s==="bold"?700:400),E&&!Array.isArray(E)&&(E=[E]),E=E.slice().filter(k=>!k.lang||k.lang.test(t)).reverse(),E.length){let f=0;(function K(N=0){for(let p=N,m=Q.length;p{K(p)});return}if(lA.supportsCodePoint(q)){let H=w.get(lA);typeof H!="number"&&(H=h.length,h.push(lA),w.set(lA,H)),l[p]=H,f=1;break}}}q>65535&&p+1Q.substring(F[0],F[1]+1)).join(` +`);A.getFontsForString(k,{lang:t||void 0,style:o,weight:s,dataUrl:r}).then(({fontUrls:F,chars:U})=>{const f=h.length;let K=0;D.forEach(p=>{for(let m=0,q=p[1]-p[0];m<=q;m++)l[p[0]+m]=U[K++]+f;K++});let N=0;F.forEach((p,m)=>{B(p,q=>{h[m+f]=q,++N===F.length&&G()})})})}else G()}function G(){e({chars:l,fonts:h})}function y(k,F){for(let U=0;U{let N,p;const m=[];for(let q=0;q-1&&(console.info("Typesetter: got text with \\r chars; normalizing to \\n"),h=h.replace(/\r\n/g,` +`).replace(/\r/g,` +`)),G=+G,F=+F,f=+f,U=U||"normal",p=+p,Q({text:h,lang:D,style:k,weight:y,fonts:typeof w=="string"?[{src:w}]:w,unicodeFontsURL:CA,preResolvedFonts:lA},P=>{QA.fontLoad=s()-j;const X=isFinite(f);let gA=null,AA=null,wA=null,dA=null,V=null,MA=null,$=null,GA=null,cA=0,pA=0,SA=m!=="nowrap";const LA=new Map,UA=s();let x=p,J=0,Z=new r;const sA=[Z];P.forEach(fA=>{const{fontObj:bA}=fA,{ascender:RA,descender:OA,unitsPerEm:zA,lineGap:VA,capHeight:YA,xHeight:PA}=bA;let xA=LA.get(bA);if(!xA){const DA=G/zA,HA=U==="normal"?(RA-OA+VA)*DA:U*G,jA=(HA-(RA-OA)*DA)/2,QI=Math.min(HA,(RA-OA)*DA),BI=(RA+OA)/2*DA+QI/2;xA={index:LA.size,src:bA.src,fontObj:bA,fontSizeMult:DA,unitsPerEm:zA,ascender:RA*DA,descender:OA*DA,capHeight:YA*DA,xHeight:PA*DA,lineHeight:HA,baseline:-jA-RA*DA,caretTop:BI,caretBottom:BI-QI},LA.set(bA,xA)}const{fontSizeMult:aI}=xA,gI=h.slice(fA.start,fA.end+1);let BA,KA;bA.forEachGlyph(gI,G,F,(DA,HA,jA,QI)=>{HA+=J,QI+=fA.start,BA=HA,KA=DA;const BI=h.charAt(QI),wI=DA.advanceWidth*aI,pI=Z.count;let AI;if("isEmpty"in DA||(DA.isWhitespace=!!BI&&new RegExp(i).test(BI),DA.canBreakAfter=!!BI&&B.test(BI),DA.isEmpty=DA.xMin===DA.xMax||DA.yMin===DA.yMax||C.test(BI)),!DA.isWhitespace&&!DA.isEmpty&&pA++,SA&&X&&!DA.isWhitespace&&HA+wI+x>f&&pI){if(Z.glyphAt(pI-1).glyphObj.canBreakAfter)AI=new r,x=-HA;else for(let WI=pI;WI--;)if(WI===0&&q==="break-word"){AI=new r,x=-HA;break}else if(Z.glyphAt(WI).glyphObj.canBreakAfter){AI=Z.splitAt(WI+1);const xg=AI.glyphAt(0).x;x-=xg;for(let yg=AI.count;yg--;)AI.glyphAt(yg).x-=xg;break}AI&&(Z.isSoftWrapped=!0,Z=AI,sA.push(Z),cA=f)}let TI=Z.glyphAt(Z.count);TI.glyphObj=DA,TI.x=HA+x,TI.y=jA,TI.width=wI,TI.charIndex=QI,TI.fontData=xA,BI===` +`&&(Z=new r,sA.push(Z),x=-(HA+wI+F*G)+p)}),J=BA+KA.advanceWidth*aI+F*G});let EA=0;sA.forEach(fA=>{let bA=!0;for(let RA=fA.count;RA--;){const OA=fA.glyphAt(RA);bA&&!OA.glyphObj.isWhitespace&&(fA.width=OA.x+OA.width,fA.width>cA&&(cA=fA.width),bA=!1);let{lineHeight:zA,capHeight:VA,xHeight:YA,baseline:PA}=OA.fontData;zA>fA.lineHeight&&(fA.lineHeight=zA);const xA=PA-fA.baseline;xA<0&&(fA.baseline+=xA,fA.cap+=xA,fA.ex+=xA),fA.cap=Math.max(fA.cap,fA.baseline+VA),fA.ex=Math.max(fA.ex,fA.baseline+YA)}fA.baseline-=EA,fA.cap-=EA,fA.ex-=EA,EA+=fA.lineHeight});let aA=0,qA=0;if(L&&(typeof L=="number"?aA=-L:typeof L=="string"&&(aA=-cA*(L==="left"?0:L==="center"?.5:L==="right"?1:E(L)))),_&&(typeof _=="number"?qA=-_:typeof _=="string"&&(qA=_==="top"?0:_==="top-baseline"?-sA[0].baseline:_==="top-cap"?-sA[0].cap:_==="top-ex"?-sA[0].ex:_==="middle"?EA/2:_==="bottom"?EA:_==="bottom-baseline"?-sA[sA.length-1].baseline:E(_)*EA)),!IA){const fA=A.getEmbeddingLevels(h,K);gA=new Uint16Array(pA),AA=new Uint8Array(pA),wA=new Float32Array(pA*2),dA={},$=[1/0,1/0,-1/0,-1/0],GA=[],H&&(MA=new Float32Array(h.length*4)),v&&(V=new Uint8Array(pA*3));let bA=0,RA=-1,OA=-1,zA,VA;if(sA.forEach((YA,PA)=>{let{count:xA,width:aI}=YA;if(xA>0){let gI=0;for(let QI=xA;QI--&&YA.glyphAt(QI).glyphObj.isWhitespace;)gI++;let BA=0,KA=0;if(N==="center")BA=(cA-aI)/2;else if(N==="right")BA=cA-aI;else if(N==="justify"&&YA.isSoftWrapped){let QI=0;for(let BI=xA-gI;BI--;)YA.glyphAt(BI).glyphObj.isWhitespace&&QI++;KA=(cA-aI)/QI}if(KA||BA){let QI=0;for(let BI=0;BI=BI){let WI=TI,xg=TI;for(;xgwI)break;xgHA=QI;for(let QI=0;QI1&&o(MA,RA,yg),RA=AI}if(v){const{charIndex:AI}=BI;for(;AI>OA;)OA++,v.hasOwnProperty(OA)&&(VA=v[OA])}if(!HA.isWhitespace&&!HA.isEmpty){const AI=bA++,{fontSizeMult:TI,src:WI,index:xg}=BI.fontData,yg=dA[WI]||(dA[WI]={});yg[wI]||(yg[wI]={path:HA.path,pathBounds:[HA.xMin,HA.yMin,HA.xMax,HA.yMax]});const TC=BI.x+aA,xC=BI.y+YA.baseline+qA;wA[AI*2]=TC,wA[AI*2+1]=xC;const vC=TC+HA.xMin*TI,ii=xC+HA.yMin*TI,bC=TC+HA.xMax*TI,Gi=xC+HA.yMax*TI;vC<$[0]&&($[0]=vC),ii<$[1]&&($[1]=ii),bC>$[2]&&($[2]=bC),Gi>$[3]&&($[3]=Gi),AI%O===0&&(zA={start:AI,end:AI,rect:[1/0,1/0,-1/0,-1/0]},GA.push(zA)),zA.end++;const eC=zA.rect;if(vCeC[2]&&(eC[2]=bC),Gi>eC[3]&&(eC[3]=Gi),gA[AI]=wI,AA[AI]=xg,v){const RB=AI*3;V[RB]=VA>>16&255,V[RB+1]=VA>>8&255,V[RB+2]=VA&255}}}}}),MA){const YA=h.length-RA;YA>1&&o(MA,RA,YA)}}const TA=[];LA.forEach(({index:fA,src:bA,unitsPerEm:RA,ascender:OA,descender:zA,lineHeight:VA,capHeight:YA,xHeight:PA})=>{TA[fA]={src:bA,unitsPerEm:RA,ascender:OA,descender:zA,lineHeight:VA,capHeight:YA,xHeight:PA}}),QA.typesetting=s()-UA,Y({glyphIds:gA,glyphFontIndices:AA,glyphPositions:wA,glyphData:dA,fontData:TA,caretPositions:MA,glyphColors:V,chunkedBounds:GA,fontSize:G,topBaseline:qA+sA[0].baseline,blockBounds:[aA,qA-EA,aA+cA,qA],visibleBounds:$,timings:QA})})}function t(h,w){e({...h,metricsOnly:!0},D=>{const[c,G,y,k]=D.blockBounds;w({width:y-c,height:k-G})})}function E(h){let w=h.match(/^([\d.]+)%$/),D=w?parseFloat(w[1]):NaN;return isNaN(D)?0:D/100}function o(h,w,D){const c=h[w*4],G=h[w*4+1],y=h[w*4+2],k=h[w*4+3],F=(G-c)/D;for(let U=0;U(Object.defineProperty(h,w,{get(){return this.data[this.index*l.length+D]},set(G){this.data[this.index*l.length+D]=G}}),h),{data:null,index:0}),{typeset:e,measure:t}}const SE=()=>(self.performance||Date).now(),tS=Lm();let ON;function $P(g,A,I,C,i,B,Q,e,t,E,o=!0){return o?IZ(g,A,I,C,i,B,Q,e,t,E).then(null,s=>(ON||(console.warn("WebGL SDF generation failed, falling back to JS",s),ON=!0),PN(g,A,I,C,i,B,Q,e,t,E))):PN(g,A,I,C,i,B,Q,e,t,E)}const hh=[],AZ=5;let lk=0;function Hm(){const g=SE();for(;hh.length&&SE()-gnew Promise((A,I)=>{hh.push(()=>{const C=SE();try{tS.webgl.generateIntoCanvas(...g),A({timing:SE()-C})}catch(i){I(i)}}),lk||(lk=setTimeout(Hm,0))}),gZ=4,CZ=2e3,_N={};let iZ=0;function PN(g,A,I,C,i,B,Q,e,t,E){const o="TroikaTextSDFGenerator_JS_"+iZ++%gZ;let s=_N[o];return s||(s=_N[o]={workerModule:vn({name:o,workerId:o,dependencies:[Lm,SE],init(r,l){const h=r().javascript.generate;return function(...w){const D=l();return{textureData:h(...w),timing:l()-D}}},getTransferables(r){return[r.textureData.buffer]}}),requests:0,idleTimer:null}),s.requests++,clearTimeout(s.idleTimer),s.workerModule(g,A,I,C,i,B).then(({textureData:r,timing:l})=>{const h=SE(),w=new Uint8Array(r.length*4);for(let D=0;D{qP(o)},CZ)),{timing:l}})}function BZ(g){g._warm||(tS.webgl.isSupported(g),g._warm=!0)}const QZ=tS.webglUtils.resizeWebGLCanvasWithoutClearing,Ho={defaultFontURL:null,unicodeFontsURL:null,sdfGlyphSize:64,sdfMargin:1/16,sdfExponent:9,textureWidth:2048},eZ=new ZA;function Jo(){return(self.performance||Date).now()}const ZN=Object.create(null);function Tm(g,A){g=oZ({},g);const I=Jo(),{defaultFontURL:C}=Ho,i=[];if(C&&i.push({label:"default",src:WN(C)}),g.font&&i.push({label:"user",src:WN(g.font)}),g.font=i,g.text=""+g.text,g.sdfGlyphSize=g.sdfGlyphSize||Ho.sdfGlyphSize,g.unicodeFontsURL=g.unicodeFontsURL||Ho.unicodeFontsURL,g.colorRanges!=null){let r={};for(let l in g.colorRanges)if(g.colorRanges.hasOwnProperty(l)){let h=g.colorRanges[l];typeof h!="number"&&(h=eZ.set(h).getHex()),r[l]=h}g.colorRanges=r}Object.freeze(g);const{textureWidth:B,sdfExponent:Q}=Ho,{sdfGlyphSize:e}=g,t=B/e*4;let E=ZN[e];if(!E){const r=document.createElement("canvas");r.width=B,r.height=e*256/t,E=ZN[e]={glyphCount:0,sdfGlyphSize:e,sdfCanvas:r,sdfTexture:new ig(r,void 0,void 0,void 0,hg,hg),contextLost:!1,glyphsByFont:new Map},E.sdfTexture.generateMipmaps=!1,tZ(E)}const{sdfTexture:o,sdfCanvas:s}=E;sZ(g).then(r=>{const{glyphIds:l,glyphFontIndices:h,fontData:w,glyphPositions:D,fontSize:c,timings:G}=r,y=[],k=new Float32Array(l.length*4);let F=0,U=0;const f=Jo(),K=w.map(L=>{let _=E.glyphsByFont.get(L.src);return _||E.glyphsByFont.set(L.src,_=new Map),_});l.forEach((L,_)=>{const IA=h[_],{src:CA,unitsPerEm:lA}=w[IA];let H=K[IA].get(L);if(!H){const{path:QA,pathBounds:P}=r.glyphData[CA][L],X=Math.max(P[2]-P[0],P[3]-P[1])/e*(Ho.sdfMargin*e+.5),gA=E.glyphCount++,AA=[P[0]-X,P[1]-X,P[2]+X,P[3]+X];K[IA].set(L,H={path:QA,atlasIndex:gA,sdfViewBox:AA}),y.push(H)}const{sdfViewBox:O}=H,v=D[U++],Y=D[U++],j=c/lA;k[F++]=v+O[0]*j,k[F++]=Y+O[1]*j,k[F++]=v+O[2]*j,k[F++]=Y+O[3]*j,l[_]=H.atlasIndex}),G.quads=(G.quads||0)+(Jo()-f);const N=Jo();G.sdf={};const p=s.height,m=Math.ceil(E.glyphCount/t),q=Math.pow(2,Math.ceil(Math.log2(m*e)));q>p&&(console.info(`Increasing SDF texture size ${p}->${q}`),QZ(s,B,q),o.dispose()),Promise.all(y.map(L=>xm(L,E,g.gpuAccelerateSDF).then(({timing:_})=>{G.sdf[L.atlasIndex]=_}))).then(()=>{y.length&&!E.contextLost&&(vm(E),o.needsUpdate=!0),G.sdfTotal=Jo()-N,G.total=Jo()-I,A(Object.freeze({parameters:g,sdfTexture:o,sdfGlyphSize:e,sdfExponent:Q,glyphBounds:k,glyphAtlasIndices:l,glyphColors:r.glyphColors,caretPositions:r.caretPositions,chunkedBounds:r.chunkedBounds,ascender:r.ascender,descender:r.descender,lineHeight:r.lineHeight,capHeight:r.capHeight,xHeight:r.xHeight,topBaseline:r.topBaseline,blockBounds:r.blockBounds,visibleBounds:r.visibleBounds,timings:r.timings}))})}),Promise.resolve().then(()=>{E.contextLost||BZ(s)})}function xm({path:g,atlasIndex:A,sdfViewBox:I},{sdfGlyphSize:C,sdfCanvas:i,contextLost:B},Q){if(B)return Promise.resolve({timing:-1});const{textureWidth:e,sdfExponent:t}=Ho,E=Math.max(I[2]-I[0],I[3]-I[1]),o=Math.floor(A/4),s=o%(e/C)*C,r=Math.floor(o/(e/C))*C,l=A%4;return $P(C,C,g,I,E,t,i,s,r,l,Q)}function tZ(g){const A=g.sdfCanvas;A.addEventListener("webglcontextlost",I=>{console.log("Context Lost",I),I.preventDefault(),g.contextLost=!0}),A.addEventListener("webglcontextrestored",I=>{console.log("Context Restored",I),g.contextLost=!1;const C=[];g.glyphsByFont.forEach(i=>{i.forEach(B=>{C.push(xm(B,g,!0))})}),Promise.all(C).then(()=>{vm(g),g.sdfTexture.needsUpdate=!0})})}function EZ({font:g,characters:A,sdfGlyphSize:I},C){let i=Array.isArray(A)?A.join(` +`):""+A;Tm({font:g,sdfGlyphSize:I,text:i},C)}function oZ(g,A){for(let I in A)A.hasOwnProperty(I)&&(g[I]=A[I]);return g}let Hc;function WN(g){return Hc||(Hc=typeof document>"u"?{}:document.createElement("a")),Hc.href=g,Hc.href}function vm(g){if(typeof createImageBitmap!="function"){console.info("Safari<15: applying SDF canvas workaround");const{sdfCanvas:A,sdfTexture:I}=g,{width:C,height:i}=A,B=g.sdfCanvas.getContext("webgl");let Q=I.image.data;(!Q||Q.length!==C*i*4)&&(Q=new Uint8Array(C*i*4),I.image={width:C,height:i,data:Q},I.flipY=!1,I.isDataTexture=!0),B.readPixels(0,0,C,i,B.RGBA,B.UNSIGNED_BYTE,Q)}}const nZ=vn({name:"Typesetter",dependencies:[zP,XP,LP],init(g,A,I){return g(A,I())}}),sZ=vn({name:"Typesetter",dependencies:[nZ],init(g){return function(A){return new Promise(I=>{g.typeset(A,I)})}},getTransferables(g){const A=[];for(let I in g)g[I]&&g[I].buffer&&A.push(g[I].buffer);return A}}),VN={};function aZ(g){let A=VN[g];if(!A){const I=new GQ(1,1,g,g),C=I.clone(),i=I.attributes,B=C.attributes,Q=new MI,e=i.uv.count;for(let t=0;t{Q.setAttribute(t,new sI([...i[t].array,...B[t].array],i[t].itemSize))}),Q.setIndex([...I.index.array,...C.index.array.map(t=>t+e)]),Q.translate(.5,.5,0),A=VN[g]=Q}return A}const rZ="aTroikaGlyphBounds",jN="aTroikaGlyphIndex",lZ="aTroikaGlyphColor";class cZ extends Zd{constructor(){super(),this.detail=1,this.curveRadius=0,this.groups=[{start:0,count:1/0,materialIndex:0},{start:0,count:1/0,materialIndex:1}],this.boundingSphere=new jg,this.boundingBox=new uC}computeBoundingSphere(){}computeBoundingBox(){}setSide(A){const I=this.getIndex().count;this.setDrawRange(A===gi?I/2:0,A===fi?I:I/2)}set detail(A){if(A!==this._detail){this._detail=A,(typeof A!="number"||A<1)&&(A=1);let I=aZ(A);["position","normal","uv"].forEach(C=>{this.attributes[C]=I.attributes[C].clone()}),this.setIndex(I.getIndex().clone())}}get detail(){return this._detail}set curveRadius(A){A!==this._curveRadius&&(this._curveRadius=A,this._updateBounds())}get curveRadius(){return this._curveRadius}updateGlyphs(A,I,C,i,B){gy(this,rZ,A,4),gy(this,jN,I,1),gy(this,lZ,B,3),this._blockBounds=C,this._chunkedBounds=i,this.instanceCount=I.length,this._updateBounds()}_updateBounds(){const A=this._blockBounds;if(A){const{curveRadius:I,boundingBox:C}=this;if(I){const{PI:i,floor:B,min:Q,max:e,sin:t,cos:E}=Math,o=i/2,s=i*2,r=Math.abs(I),l=A[0]/r,h=A[2]/r,w=B((l+o)/s)!==B((h+o)/s)?-r:Q(t(l)*r,t(h)*r),D=B((l-o)/s)!==B((h-o)/s)?r:e(t(l)*r,t(h)*r),c=B((l+i)/s)!==B((h+i)/s)?r*2:e(r-E(l)*r,r-E(h)*r);C.min.set(w,A[1],I<0?-c:0),C.max.set(D,A[3],I<0?0:c)}else C.min.set(A[0],A[1],0),C.max.set(A[2],A[3],0);C.getBoundingSphere(this.boundingSphere)}}applyClipRect(A){let I=this.getAttribute(jN).count,C=this._chunkedBounds;if(C)for(let i=C.length;i--;){I=C[i].end;let B=C[i].rect;if(B[1]A.y&&B[0]A.x)break}this.instanceCount=I}}function gy(g,A,I,C){const i=g.getAttribute(A);I?i&&i.array.length===I.length?(i.array.set(I),i.needsUpdate=!0):(g.setAttribute(A,new Qe(I,C)),delete g._maxInstanceCount,g.dispose()):i&&g.deleteAttribute(A)}const hZ=` +uniform vec2 uTroikaSDFTextureSize; +uniform float uTroikaSDFGlyphSize; +uniform vec4 uTroikaTotalBounds; +uniform vec4 uTroikaClipRect; +uniform mat3 uTroikaOrient; +uniform bool uTroikaUseGlyphColors; +uniform float uTroikaDistanceOffset; +uniform float uTroikaBlurRadius; +uniform vec2 uTroikaPositionOffset; +uniform float uTroikaCurveRadius; +attribute vec4 aTroikaGlyphBounds; +attribute float aTroikaGlyphIndex; +attribute vec3 aTroikaGlyphColor; +varying vec2 vTroikaGlyphUV; +varying vec4 vTroikaTextureUVBounds; +varying float vTroikaTextureChannel; +varying vec3 vTroikaGlyphColor; +varying vec2 vTroikaGlyphDimensions; +`,DZ=` +vec4 bounds = aTroikaGlyphBounds; +bounds.xz += uTroikaPositionOffset.x; +bounds.yw -= uTroikaPositionOffset.y; + +vec4 outlineBounds = vec4( + bounds.xy - uTroikaDistanceOffset - uTroikaBlurRadius, + bounds.zw + uTroikaDistanceOffset + uTroikaBlurRadius +); +vec4 clippedBounds = vec4( + clamp(outlineBounds.xy, uTroikaClipRect.xy, uTroikaClipRect.zw), + clamp(outlineBounds.zw, uTroikaClipRect.xy, uTroikaClipRect.zw) +); + +vec2 clippedXY = (mix(clippedBounds.xy, clippedBounds.zw, position.xy) - bounds.xy) / (bounds.zw - bounds.xy); + +position.xy = mix(bounds.xy, bounds.zw, clippedXY); + +uv = (position.xy - uTroikaTotalBounds.xy) / (uTroikaTotalBounds.zw - uTroikaTotalBounds.xy); + +float rad = uTroikaCurveRadius; +if (rad != 0.0) { + float angle = position.x / rad; + position.xz = vec2(sin(angle) * rad, rad - cos(angle) * rad); + normal.xz = vec2(sin(angle), cos(angle)); +} + +position = uTroikaOrient * position; +normal = uTroikaOrient * normal; + +vTroikaGlyphUV = clippedXY.xy; +vTroikaGlyphDimensions = vec2(bounds[2] - bounds[0], bounds[3] - bounds[1]); + + +float txCols = uTroikaSDFTextureSize.x / uTroikaSDFGlyphSize; +vec2 txUvPerSquare = uTroikaSDFGlyphSize / uTroikaSDFTextureSize; +vec2 txStartUV = txUvPerSquare * vec2( + mod(floor(aTroikaGlyphIndex / 4.0), txCols), + floor(floor(aTroikaGlyphIndex / 4.0) / txCols) +); +vTroikaTextureUVBounds = vec4(txStartUV, vec2(txStartUV) + txUvPerSquare); +vTroikaTextureChannel = mod(aTroikaGlyphIndex, 4.0); +`,SZ=` +uniform sampler2D uTroikaSDFTexture; +uniform vec2 uTroikaSDFTextureSize; +uniform float uTroikaSDFGlyphSize; +uniform float uTroikaSDFExponent; +uniform float uTroikaDistanceOffset; +uniform float uTroikaFillOpacity; +uniform float uTroikaOutlineOpacity; +uniform float uTroikaBlurRadius; +uniform vec3 uTroikaStrokeColor; +uniform float uTroikaStrokeWidth; +uniform float uTroikaStrokeOpacity; +uniform bool uTroikaSDFDebug; +varying vec2 vTroikaGlyphUV; +varying vec4 vTroikaTextureUVBounds; +varying float vTroikaTextureChannel; +varying vec2 vTroikaGlyphDimensions; + +float troikaSdfValueToSignedDistance(float alpha) { + // Inverse of exponential encoding in webgl-sdf-generator + + float maxDimension = max(vTroikaGlyphDimensions.x, vTroikaGlyphDimensions.y); + float absDist = (1.0 - pow(2.0 * (alpha > 0.5 ? 1.0 - alpha : alpha), 1.0 / uTroikaSDFExponent)) * maxDimension; + float signedDist = absDist * (alpha > 0.5 ? -1.0 : 1.0); + return signedDist; +} + +float troikaGlyphUvToSdfValue(vec2 glyphUV) { + vec2 textureUV = mix(vTroikaTextureUVBounds.xy, vTroikaTextureUVBounds.zw, glyphUV); + vec4 rgba = texture2D(uTroikaSDFTexture, textureUV); + float ch = floor(vTroikaTextureChannel + 0.5); //NOTE: can't use round() in WebGL1 + return ch == 0.0 ? rgba.r : ch == 1.0 ? rgba.g : ch == 2.0 ? rgba.b : rgba.a; +} + +float troikaGlyphUvToDistance(vec2 uv) { + return troikaSdfValueToSignedDistance(troikaGlyphUvToSdfValue(uv)); +} + +float troikaGetAADist() { + + #if defined(GL_OES_standard_derivatives) || __VERSION__ >= 300 + return length(fwidth(vTroikaGlyphUV * vTroikaGlyphDimensions)) * 0.5; + #else + return vTroikaGlyphDimensions.x / 64.0; + #endif +} + +float troikaGetFragDistValue() { + vec2 clampedGlyphUV = clamp(vTroikaGlyphUV, 0.5 / uTroikaSDFGlyphSize, 1.0 - 0.5 / uTroikaSDFGlyphSize); + float distance = troikaGlyphUvToDistance(clampedGlyphUV); + + // Extrapolate distance when outside bounds: + distance += clampedGlyphUV == vTroikaGlyphUV ? 0.0 : + length((vTroikaGlyphUV - clampedGlyphUV) * vTroikaGlyphDimensions); + + + + return distance; +} + +float troikaGetEdgeAlpha(float distance, float distanceOffset, float aaDist) { + #if defined(IS_DEPTH_MATERIAL) || defined(IS_DISTANCE_MATERIAL) + float alpha = step(-distanceOffset, -distance); + #else + + float alpha = smoothstep( + distanceOffset + aaDist, + distanceOffset - aaDist, + distance + ); + #endif + + return alpha; +} +`,wZ=` +float aaDist = troikaGetAADist(); +float fragDistance = troikaGetFragDistValue(); +float edgeAlpha = uTroikaSDFDebug ? + troikaGlyphUvToSdfValue(vTroikaGlyphUV) : + troikaGetEdgeAlpha(fragDistance, uTroikaDistanceOffset, max(aaDist, uTroikaBlurRadius)); + +#if !defined(IS_DEPTH_MATERIAL) && !defined(IS_DISTANCE_MATERIAL) +vec4 fillRGBA = gl_FragColor; +fillRGBA.a *= uTroikaFillOpacity; +vec4 strokeRGBA = uTroikaStrokeWidth == 0.0 ? fillRGBA : vec4(uTroikaStrokeColor, uTroikaStrokeOpacity); +if (fillRGBA.a == 0.0) fillRGBA.rgb = strokeRGBA.rgb; +gl_FragColor = mix(fillRGBA, strokeRGBA, smoothstep( + -uTroikaStrokeWidth - aaDist, + -uTroikaStrokeWidth + aaDist, + fragDistance +)); +gl_FragColor.a *= edgeAlpha; +#endif + +if (edgeAlpha == 0.0) { + discard; +} +`;function GZ(g){const A=rk(g,{chained:!0,extensions:{derivatives:!0},uniforms:{uTroikaSDFTexture:{value:null},uTroikaSDFTextureSize:{value:new mA},uTroikaSDFGlyphSize:{value:0},uTroikaSDFExponent:{value:0},uTroikaTotalBounds:{value:new Ig(0,0,0,0)},uTroikaClipRect:{value:new Ig(0,0,0,0)},uTroikaDistanceOffset:{value:0},uTroikaOutlineOpacity:{value:0},uTroikaFillOpacity:{value:1},uTroikaPositionOffset:{value:new mA},uTroikaCurveRadius:{value:0},uTroikaBlurRadius:{value:0},uTroikaStrokeWidth:{value:0},uTroikaStrokeColor:{value:new ZA},uTroikaStrokeOpacity:{value:1},uTroikaOrient:{value:new FI},uTroikaUseGlyphColors:{value:!0},uTroikaSDFDebug:{value:!1}},vertexDefs:hZ,vertexTransform:DZ,fragmentDefs:SZ,fragmentColorTransform:wZ,customRewriter({vertexShader:I,fragmentShader:C}){let i=/\buniform\s+vec3\s+diffuse\b/;return i.test(C)&&(C=C.replace(i,"varying vec3 vTroikaGlyphColor").replace(/\bdiffuse\b/g,"vTroikaGlyphColor"),i.test(I)||(I=I.replace(Ym,`uniform vec3 diffuse; +$& +vTroikaGlyphColor = uTroikaUseGlyphColors ? aTroikaGlyphColor / 255.0 : diffuse; +`))),{vertexShader:I,fragmentShader:C}}});return A.transparent=!0,Object.defineProperties(A,{isTroikaTextMaterial:{value:!0},shadowSide:{get(){return this.side},set(){}}}),A}const iM=new Vg({color:16777215,side:fi,transparent:!0}),XN=8421504,zN=new iI,Tc=new T,Cy=new T,Hs=[],yZ=new T,iy="+x+y";function $N(g){return Array.isArray(g)?g[0]:g}let bm=()=>{const g=new eg(new GQ(1,1),iM);return bm=()=>g,g},Om=()=>{const g=new eg(new GQ(1,1,32,1),iM);return Om=()=>g,g};const uZ={type:"syncstart"},kZ={type:"synccomplete"},_m=["font","fontSize","fontStyle","fontWeight","lang","letterSpacing","lineHeight","maxWidth","overflowWrap","text","direction","textAlign","textIndent","whiteSpace","anchorX","anchorY","colorRanges","sdfGlyphSize"],dZ=_m.concat("material","color","depthOffset","clipRect","curveRadius","orientation","glyphGeometryDetail");let Pm=class extends eg{constructor(){const A=new cZ;super(A,null),this.text="",this.anchorX=0,this.anchorY=0,this.curveRadius=0,this.direction="auto",this.font=null,this.unicodeFontsURL=null,this.fontSize=.1,this.fontWeight="normal",this.fontStyle="normal",this.lang=null,this.letterSpacing=0,this.lineHeight="normal",this.maxWidth=1/0,this.overflowWrap="normal",this.textAlign="left",this.textIndent=0,this.whiteSpace="normal",this.material=null,this.color=null,this.colorRanges=null,this.outlineWidth=0,this.outlineColor=0,this.outlineOpacity=1,this.outlineBlur=0,this.outlineOffsetX=0,this.outlineOffsetY=0,this.strokeWidth=0,this.strokeColor=XN,this.strokeOpacity=1,this.fillOpacity=1,this.depthOffset=0,this.clipRect=null,this.orientation=iy,this.glyphGeometryDetail=1,this.sdfGlyphSize=null,this.gpuAccelerateSDF=!0,this.debugSDF=!1}sync(A){this._needsSync&&(this._needsSync=!1,this._isSyncing?(this._queuedSyncs||(this._queuedSyncs=[])).push(A):(this._isSyncing=!0,this.dispatchEvent(uZ),Tm({text:this.text,font:this.font,lang:this.lang,fontSize:this.fontSize||.1,fontWeight:this.fontWeight||"normal",fontStyle:this.fontStyle||"normal",letterSpacing:this.letterSpacing||0,lineHeight:this.lineHeight||"normal",maxWidth:this.maxWidth,direction:this.direction||"auto",textAlign:this.textAlign,textIndent:this.textIndent,whiteSpace:this.whiteSpace,overflowWrap:this.overflowWrap,anchorX:this.anchorX,anchorY:this.anchorY,colorRanges:this.colorRanges,includeCaretPositions:!0,sdfGlyphSize:this.sdfGlyphSize,gpuAccelerateSDF:this.gpuAccelerateSDF,unicodeFontsURL:this.unicodeFontsURL},I=>{this._isSyncing=!1,this._textRenderInfo=I,this.geometry.updateGlyphs(I.glyphBounds,I.glyphAtlasIndices,I.blockBounds,I.chunkedBounds,I.glyphColors);const C=this._queuedSyncs;C&&(this._queuedSyncs=null,this._needsSync=!0,this.sync(()=>{C.forEach(i=>i&&i())})),this.dispatchEvent(kZ),A&&A()})))}onBeforeRender(A,I,C,i,B,Q){this.sync(),B.isTroikaTextMaterial&&this._prepareForRender(B),B._hadOwnSide=B.hasOwnProperty("side"),this.geometry.setSide(B._actualSide=B.side),B.side=pB}onAfterRender(A,I,C,i,B,Q){B._hadOwnSide?B.side=B._actualSide:delete B.side}dispose(){this.geometry.dispose()}get textRenderInfo(){return this._textRenderInfo||null}get material(){let A=this._derivedMaterial;const I=this._baseMaterial||this._defaultMaterial||(this._defaultMaterial=iM.clone());if((!A||A.baseMaterial!==I)&&(A=this._derivedMaterial=GZ(I),I.addEventListener("dispose",function C(){I.removeEventListener("dispose",C),A.dispose()})),this.outlineWidth||this.outlineBlur||this.outlineOffsetX||this.outlineOffsetY){let C=A._outlineMtl;return C||(C=A._outlineMtl=Object.create(A,{id:{value:A.id+.1}}),C.isTextOutlineMaterial=!0,C.depthWrite=!1,C.map=null,A.addEventListener("dispose",function i(){A.removeEventListener("dispose",i),C.dispose()})),[C,A]}else return A}set material(A){A&&A.isTroikaTextMaterial?(this._derivedMaterial=A,this._baseMaterial=A.baseMaterial):this._baseMaterial=A}get glyphGeometryDetail(){return this.geometry.detail}set glyphGeometryDetail(A){this.geometry.detail=A}get curveRadius(){return this.geometry.curveRadius}set curveRadius(A){this.geometry.curveRadius=A}get customDepthMaterial(){return $N(this.material).getDepthMaterial()}get customDistanceMaterial(){return $N(this.material).getDistanceMaterial()}_prepareForRender(A){const I=A.isTextOutlineMaterial,C=A.uniforms,i=this.textRenderInfo;if(i){const{sdfTexture:e,blockBounds:t}=i;C.uTroikaSDFTexture.value=e,C.uTroikaSDFTextureSize.value.set(e.image.width,e.image.height),C.uTroikaSDFGlyphSize.value=i.sdfGlyphSize,C.uTroikaSDFExponent.value=i.sdfExponent,C.uTroikaTotalBounds.value.fromArray(t),C.uTroikaUseGlyphColors.value=!I&&!!i.glyphColors;let E=0,o=0,s=0,r,l,h,w=0,D=0;if(I){let{outlineWidth:G,outlineOffsetX:y,outlineOffsetY:k,outlineBlur:F,outlineOpacity:U}=this;E=this._parsePercent(G)||0,o=Math.max(0,this._parsePercent(F)||0),r=U,w=this._parsePercent(y)||0,D=this._parsePercent(k)||0}else s=Math.max(0,this._parsePercent(this.strokeWidth)||0),s&&(h=this.strokeColor,C.uTroikaStrokeColor.value.set(h??XN),l=this.strokeOpacity,l==null&&(l=1)),r=this.fillOpacity;C.uTroikaDistanceOffset.value=E,C.uTroikaPositionOffset.value.set(w,D),C.uTroikaBlurRadius.value=o,C.uTroikaStrokeWidth.value=s,C.uTroikaStrokeOpacity.value=l,C.uTroikaFillOpacity.value=r??1,C.uTroikaCurveRadius.value=this.curveRadius||0;let c=this.clipRect;if(c&&Array.isArray(c)&&c.length===4)C.uTroikaClipRect.value.fromArray(c);else{const G=(this.fontSize||.1)*100;C.uTroikaClipRect.value.set(t[0]-G,t[1]-G,t[2]+G,t[3]+G)}this.geometry.applyClipRect(C.uTroikaClipRect.value)}C.uTroikaSDFDebug.value=!!this.debugSDF,A.polygonOffset=!!this.depthOffset,A.polygonOffsetFactor=A.polygonOffsetUnits=this.depthOffset||0;const B=I?this.outlineColor||0:this.color;if(B==null)delete A.color;else{const e=A.hasOwnProperty("color")?A.color:A.color=new ZA;(B!==e._input||typeof B=="object")&&e.set(e._input=B)}let Q=this.orientation||iy;if(Q!==A._orientation){let e=C.uTroikaOrient.value;Q=Q.replace(/[^-+xyz]/g,"");let t=Q!==iy&&Q.match(/^([-+])([xyz])([-+])([xyz])$/);if(t){let[,E,o,s,r]=t;Tc.set(0,0,0)[o]=E==="-"?1:-1,Cy.set(0,0,0)[r]=s==="-"?-1:1,zN.lookAt(yZ,Tc.cross(Cy),Cy),e.setFromMatrix4(zN)}else e.identity();A._orientation=Q}}_parsePercent(A){if(typeof A=="string"){let I=A.match(/^(-?[\d.]+)%$/),C=I?parseFloat(I[1]):NaN;A=(isNaN(C)?0:C/100)*this.fontSize}return A}localPositionToTextCoords(A,I=new mA){I.copy(A);const C=this.curveRadius;return C&&(I.x=Math.atan2(A.x,Math.abs(C)-Math.abs(A.z))*Math.abs(C)),I}worldPositionToTextCoords(A,I=new mA){return Tc.copy(A),this.localPositionToTextCoords(this.worldToLocal(Tc),I)}raycast(A,I){const{textRenderInfo:C,curveRadius:i}=this;if(C){const B=C.blockBounds,Q=i?Om():bm(),e=Q.geometry,{position:t,uv:E}=e.attributes;for(let o=0;o{this[C]=A[C]}),this}clone(){return new this.constructor().copy(this)}};_m.forEach(g=>{const A="_private_"+g;Object.defineProperty(Pm.prototype,g,{get(){return this[A]},set(I){I!==this[A]&&(this[A]=I,this._needsSync=!0)}})});const MZ=z.forwardRef(({sdfGlyphSize:g=64,anchorX:A="center",anchorY:I="middle",font:C,fontSize:i=1,children:B,characters:Q,onSync:e,...t},E)=>{const o=Ee(({invalidate:h})=>h),[s]=z.useState(()=>new Pm),[r,l]=z.useMemo(()=>{const h=[];let w="";return z.Children.forEach(B,D=>{typeof D=="string"||typeof D=="number"?w+=D:h.push(D)}),[h,w]},[B]);return Fr(()=>new Promise(h=>EZ({font:C,characters:Q},h)),["troika-text",C,Q]),z.useLayoutEffect(()=>void s.sync(()=>{o(),e&&e(s)})),z.useEffect(()=>()=>s.dispose(),[s]),z.createElement("primitive",Ek({object:s,ref:E,font:C,text:l,anchorX:A,anchorY:I,fontSize:i,sdfGlyphSize:g},t),r)}),By=g=>g===Object(g)&&!Array.isArray(g)&&typeof g!="function";function BM(g,A){const I=Ee(B=>B.gl),C=St(xn,By(g)?Object.values(g):g);return z.useLayoutEffect(()=>{A==null||A(C)},[A]),z.useEffect(()=>{if("initTexture"in I){let B=[];Array.isArray(C)?B=C:C instanceof ig?B=[C]:By(C)&&(B=Object.values(C)),B.forEach(Q=>{Q instanceof ig&&I.initTexture(Q)})}},[I,C]),z.useMemo(()=>{if(By(g)){const B={};let Q=0;for(const e in g)B[e]=C[Q++];return B}else return C},[g,C])}BM.preload=g=>St.preload(xn,g);BM.clear=g=>St.clear(xn,g);var pZ=Object.defineProperty,UZ=(g,A,I)=>A in g?pZ(g,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):g[A]=I,$I=(g,A,I)=>(UZ(g,typeof A!="symbol"?A+"":A,I),I);function Qy(g,A,I,C,i){let B;if(g=g.subarray||g.slice?g:g.buffer,I=I.subarray||I.slice?I:I.buffer,g=A?g.subarray?g.subarray(A,i&&A+i):g.slice(A,i&&A+i):g,I.set)I.set(g,C);else for(B=0;B{const I=Array.isArray(A);return A instanceof T?[A.x,A.y,A.z]:A instanceof mA?[A.x,A.y,0]:I&&A.length===3?[A[0],A[1],A[2]]:I&&A.length===2?[A[0],A[1],0]:A}).flat()}class NZ extends MI{constructor(){super(),$I(this,"type","MeshLine"),$I(this,"isMeshLine",!0),$I(this,"positions",[]),$I(this,"previous",[]),$I(this,"next",[]),$I(this,"side",[]),$I(this,"width",[]),$I(this,"indices_array",[]),$I(this,"uvs",[]),$I(this,"counters",[]),$I(this,"widthCallback",null),$I(this,"_attributes"),$I(this,"_points",[]),$I(this,"points"),$I(this,"matrixWorld",new iI),Object.defineProperties(this,{points:{enumerable:!0,get(){return this._points},set(A){this.setPoints(A,this.widthCallback)}}})}setMatrixWorld(A){this.matrixWorld=A}setPoints(A,I){if(A=fZ(A),this._points=A,this.widthCallback=I??null,this.positions=[],this.counters=[],A.length&&A[0]instanceof T)for(let C=0;C0&&(C=this.copyV3(i),this.next.push(C[0],C[1],C[2]),this.next.push(C[0],C[1],C[2]))}this.compareV3(A-1,0)?C=this.copyV3(1):C=this.copyV3(A-1),this.next.push(C[0],C[1],C[2]),this.next.push(C[0],C[1],C[2]),!this._attributes||this._attributes.position.count!==this.counters.length?this._attributes={position:new yI(new Float32Array(this.positions),3),previous:new yI(new Float32Array(this.previous),3),next:new yI(new Float32Array(this.next),3),side:new yI(new Float32Array(this.side),1),width:new yI(new Float32Array(this.width),1),uv:new yI(new Float32Array(this.uvs),2),index:new yI(new Uint16Array(this.indices_array),1),counters:new yI(new Float32Array(this.counters),1)}:(this._attributes.position.copyArray(new Float32Array(this.positions)),this._attributes.position.needsUpdate=!0,this._attributes.previous.copyArray(new Float32Array(this.previous)),this._attributes.previous.needsUpdate=!0,this._attributes.next.copyArray(new Float32Array(this.next)),this._attributes.next.needsUpdate=!0,this._attributes.side.copyArray(new Float32Array(this.side)),this._attributes.side.needsUpdate=!0,this._attributes.width.copyArray(new Float32Array(this.width)),this._attributes.width.needsUpdate=!0,this._attributes.uv.copyArray(new Float32Array(this.uvs)),this._attributes.uv.needsUpdate=!0,this._attributes.index.copyArray(new Uint16Array(this.indices_array)),this._attributes.index.needsUpdate=!0),this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setIndex(this._attributes.index),this.computeBoundingSphere(),this.computeBoundingBox()}advance({x:A,y:I,z:C}){const i=this._attributes.position.array,B=this._attributes.previous.array,Q=this._attributes.next.array,e=i.length;Qy(i,0,B,0,e),Qy(i,6,i,0,e-6),i[e-6]=A,i[e-5]=I,i[e-4]=C,i[e-3]=A,i[e-2]=I,i[e-1]=C,Qy(i,6,Q,0,e-6),Q[e-6]=A,Q[e-5]=I,Q[e-4]=C,Q[e-3]=A,Q[e-2]=I,Q[e-1]=C,this._attributes.position.needsUpdate=!0,this._attributes.previous.needsUpdate=!0,this._attributes.next.needsUpdate=!0}}const FZ=` + #include + #include + #include + #include + + attribute vec3 previous; + attribute vec3 next; + attribute float side; + attribute float width; + attribute float counters; + + uniform vec2 resolution; + uniform float lineWidth; + uniform vec3 color; + uniform float opacity; + uniform float sizeAttenuation; + + varying vec2 vUV; + varying vec4 vColor; + varying float vCounters; + + vec2 fix(vec4 i, float aspect) { + vec2 res = i.xy / i.w; + res.x *= aspect; + return res; + } + + void main() { + float aspect = resolution.x / resolution.y; + vColor = vec4(color, opacity); + vUV = uv; + vCounters = counters; + + mat4 m = projectionMatrix * modelViewMatrix; + vec4 finalPosition = m * vec4(position, 1.0) * aspect; + vec4 prevPos = m * vec4(previous, 1.0); + vec4 nextPos = m * vec4(next, 1.0); + + vec2 currentP = fix(finalPosition, aspect); + vec2 prevP = fix(prevPos, aspect); + vec2 nextP = fix(nextPos, aspect); + + float w = lineWidth * width; + + vec2 dir; + if (nextP == currentP) dir = normalize(currentP - prevP); + else if (prevP == currentP) dir = normalize(nextP - currentP); + else { + vec2 dir1 = normalize(currentP - prevP); + vec2 dir2 = normalize(nextP - currentP); + dir = normalize(dir1 + dir2); + + vec2 perp = vec2(-dir1.y, dir1.x); + vec2 miter = vec2(-dir.y, dir.x); + //w = clamp(w / dot(miter, perp), 0., 4. * lineWidth * width); + } + + //vec2 normal = (cross(vec3(dir, 0.), vec3(0., 0., 1.))).xy; + vec4 normal = vec4(-dir.y, dir.x, 0., 1.); + normal.xy *= .5 * w; + //normal *= projectionMatrix; + if (sizeAttenuation == 0.) { + normal.xy *= finalPosition.w; + normal.xy /= (vec4(resolution, 0., 1.) * projectionMatrix).xy * aspect; + } + + finalPosition.xy += normal.xy * side; + gl_Position = finalPosition; + #include + #include + vec4 mvPosition = modelViewMatrix * vec4(position, 1.0); + #include + #include + } +`,RZ=parseInt(Jn.replace(/\D+/g,"")),KZ=RZ>=154?"colorspace_fragment":"encodings_fragment",JZ=` + #include + #include + #include + + uniform sampler2D map; + uniform sampler2D alphaMap; + uniform float useGradient; + uniform float useMap; + uniform float useAlphaMap; + uniform float useDash; + uniform float dashArray; + uniform float dashOffset; + uniform float dashRatio; + uniform float visibility; + uniform float alphaTest; + uniform vec2 repeat; + uniform vec3 gradient[2]; + + varying vec2 vUV; + varying vec4 vColor; + varying float vCounters; + + void main() { + #include + vec4 diffuseColor = vColor; + if (useGradient == 1.) diffuseColor = vec4(mix(gradient[0], gradient[1], vCounters), 1.0); + if (useMap == 1.) diffuseColor *= texture2D(map, vUV * repeat); + if (useAlphaMap == 1.) diffuseColor.a *= texture2D(alphaMap, vUV * repeat).a; + if (diffuseColor.a < alphaTest) discard; + if (useDash == 1.) diffuseColor.a *= ceil(mod(vCounters + dashOffset, dashArray) - (dashArray * dashRatio)); + diffuseColor.a *= step(vCounters, visibility); + #include + gl_FragColor = diffuseColor; + #include + #include + #include <${KZ}> + } +`;class qZ extends UB{constructor(A){super({uniforms:{...XA.fog,lineWidth:{value:1},map:{value:null},useMap:{value:0},alphaMap:{value:null},useAlphaMap:{value:0},color:{value:new ZA(16777215)},gradient:{value:[new ZA(16711680),new ZA(65280)]},opacity:{value:1},resolution:{value:new mA(1,1)},sizeAttenuation:{value:1},dashArray:{value:0},dashOffset:{value:0},dashRatio:{value:.5},useDash:{value:0},useGradient:{value:0},visibility:{value:1},alphaTest:{value:0},repeat:{value:new mA(1,1)}},vertexShader:FZ,fragmentShader:JZ}),$I(this,"lineWidth"),$I(this,"map"),$I(this,"useMap"),$I(this,"alphaMap"),$I(this,"useAlphaMap"),$I(this,"color"),$I(this,"gradient"),$I(this,"resolution"),$I(this,"sizeAttenuation"),$I(this,"dashArray"),$I(this,"dashOffset"),$I(this,"dashRatio"),$I(this,"useDash"),$I(this,"useGradient"),$I(this,"visibility"),$I(this,"repeat"),this.type="MeshLineMaterial",Object.defineProperties(this,{lineWidth:{enumerable:!0,get(){return this.uniforms.lineWidth.value},set(I){this.uniforms.lineWidth.value=I}},map:{enumerable:!0,get(){return this.uniforms.map.value},set(I){this.uniforms.map.value=I}},useMap:{enumerable:!0,get(){return this.uniforms.useMap.value},set(I){this.uniforms.useMap.value=I}},alphaMap:{enumerable:!0,get(){return this.uniforms.alphaMap.value},set(I){this.uniforms.alphaMap.value=I}},useAlphaMap:{enumerable:!0,get(){return this.uniforms.useAlphaMap.value},set(I){this.uniforms.useAlphaMap.value=I}},color:{enumerable:!0,get(){return this.uniforms.color.value},set(I){this.uniforms.color.value=I}},gradient:{enumerable:!0,get(){return this.uniforms.gradient.value},set(I){this.uniforms.gradient.value=I}},opacity:{enumerable:!0,get(){return this.uniforms.opacity.value},set(I){this.uniforms.opacity.value=I}},resolution:{enumerable:!0,get(){return this.uniforms.resolution.value},set(I){this.uniforms.resolution.value.copy(I)}},sizeAttenuation:{enumerable:!0,get(){return this.uniforms.sizeAttenuation.value},set(I){this.uniforms.sizeAttenuation.value=I}},dashArray:{enumerable:!0,get(){return this.uniforms.dashArray.value},set(I){this.uniforms.dashArray.value=I,this.useDash=I!==0?1:0}},dashOffset:{enumerable:!0,get(){return this.uniforms.dashOffset.value},set(I){this.uniforms.dashOffset.value=I}},dashRatio:{enumerable:!0,get(){return this.uniforms.dashRatio.value},set(I){this.uniforms.dashRatio.value=I}},useDash:{enumerable:!0,get(){return this.uniforms.useDash.value},set(I){this.uniforms.useDash.value=I}},useGradient:{enumerable:!0,get(){return this.uniforms.useGradient.value},set(I){this.uniforms.useGradient.value=I}},visibility:{enumerable:!0,get(){return this.uniforms.visibility.value},set(I){this.uniforms.visibility.value=I}},alphaTest:{enumerable:!0,get(){return this.uniforms.alphaTest.value},set(I){this.uniforms.alphaTest.value=I}},repeat:{enumerable:!0,get(){return this.uniforms.repeat.value},set(I){this.uniforms.repeat.value.copy(I)}}}),this.setValues(A)}copy(A){return super.copy(A),this.lineWidth=A.lineWidth,this.map=A.map,this.useMap=A.useMap,this.alphaMap=A.alphaMap,this.useAlphaMap=A.useAlphaMap,this.color.copy(A.color),this.gradient=A.gradient,this.opacity=A.opacity,this.resolution.copy(A.resolution),this.sizeAttenuation=A.sizeAttenuation,this.dashArray=A.dashArray,this.dashOffset=A.dashOffset,this.dashRatio=A.dashRatio,this.useDash=A.useDash,this.useGradient=A.useGradient,this.visibility=A.visibility,this.alphaTest=A.alphaTest,this.repeat.copy(A.repeat),this}}let xc=null,Zm="https://www.gstatic.com/draco/versioned/decoders/1.5.5/";function Wm(g,A,I){return C=>{I&&I(C),g&&(xc||(xc=new fP),xc.setDecoderPath(typeof g=="string"?g:Zm),C.setDRACOLoader(xc)),A&&C.setMeshoptDecoder(typeof Ay=="function"?Ay():Ay)}}function ES(g,A=!0,I=!0,C){return St(CM,g,Wm(A,I,C))}ES.preload=(g,A=!0,I=!0,C)=>St.preload(CM,g,Wm(A,I,C));ES.clear=g=>St.clear(CM,g);ES.setDecoderPath=g=>{Zm=g};const mZ="modulepreload",LZ=function(g){return"/"+g},AF={},YZ=function(A,I,C){let i=Promise.resolve();if(I&&I.length>0){document.getElementsByTagName("link");const B=document.querySelector("meta[property=csp-nonce]"),Q=(B==null?void 0:B.nonce)||(B==null?void 0:B.getAttribute("nonce"));i=Promise.all(I.map(e=>{if(e=LZ(e),e in AF)return;AF[e]=!0;const t=e.endsWith(".css"),E=t?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${e}"]${E}`))return;const o=document.createElement("link");if(o.rel=t?"stylesheet":mZ,t||(o.as="script",o.crossOrigin=""),o.href=e,Q&&o.setAttribute("nonce",Q),document.head.appendChild(o),t)return new Promise((s,r)=>{o.addEventListener("load",s),o.addEventListener("error",()=>r(new Error(`Unable to preload CSS for ${e}`)))})}))}return i.then(()=>A()).catch(B=>{const Q=new Event("vite:preloadError",{cancelable:!0});if(Q.payload=B,window.dispatchEvent(Q),!Q.defaultPrevented)throw B})};var HZ={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const IF=g=>{let A;const I=new Set,C=(o,s)=>{const r=typeof o=="function"?o(A):o;if(!Object.is(r,A)){const l=A;A=s??(typeof r!="object"||r===null)?r:Object.assign({},A,r),I.forEach(h=>h(A,l))}},i=()=>A,t={setState:C,getState:i,getInitialState:()=>E,subscribe:o=>(I.add(o),()=>I.delete(o)),destroy:()=>{(HZ?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),I.clear()}},E=A=g(C,i,t);return t},TZ=g=>g?IF(g):IF;var Vm={exports:{}},jm={},Xm={exports:{}},zm={};/** + * @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 pn=z;function xZ(g,A){return g===A&&(g!==0||1/g===1/A)||g!==g&&A!==A}var vZ=typeof Object.is=="function"?Object.is:xZ,bZ=pn.useState,OZ=pn.useEffect,_Z=pn.useLayoutEffect,PZ=pn.useDebugValue;function ZZ(g,A){var I=A(),C=bZ({inst:{value:I,getSnapshot:A}}),i=C[0].inst,B=C[1];return _Z(function(){i.value=I,i.getSnapshot=A,ey(i)&&B({inst:i})},[g,I,A]),OZ(function(){return ey(i)&&B({inst:i}),g(function(){ey(i)&&B({inst:i})})},[g]),PZ(I),I}function ey(g){var A=g.getSnapshot;g=g.value;try{var I=A();return!vZ(g,I)}catch{return!0}}function WZ(g,A){return A()}var VZ=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?WZ:ZZ;zm.useSyncExternalStore=pn.useSyncExternalStore!==void 0?pn.useSyncExternalStore:VZ;Xm.exports=zm;var $m=Xm.exports;const jZ=Er($m);/** + * @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 oS=z,XZ=$m;function zZ(g,A){return g===A&&(g!==0||1/g===1/A)||g!==g&&A!==A}var $Z=typeof Object.is=="function"?Object.is:zZ,AW=XZ.useSyncExternalStore,IW=oS.useRef,gW=oS.useEffect,CW=oS.useMemo,iW=oS.useDebugValue;jm.useSyncExternalStoreWithSelector=function(g,A,I,C,i){var B=IW(null);if(B.current===null){var Q={hasValue:!1,value:null};B.current=Q}else Q=B.current;B=CW(function(){function t(l){if(!E){if(E=!0,o=l,l=C(l),i!==void 0&&Q.hasValue){var h=Q.value;if(i(h,l))return s=h}return s=l}if(h=s,$Z(o,l))return h;var w=C(l);return i!==void 0&&i(h,w)?h:(o=l,s=w)}var E=!1,o,s,r=I===void 0?null:I;return[function(){return t(A())},r===null?void 0:function(){return t(r())}]},[A,I,C,i]);var e=AW(g,B[0],B[1]);return gW(function(){Q.hasValue=!0,Q.value=e},[e]),iW(e),e};Vm.exports=jm;var BW=Vm.exports;const QW=Er(BW);var eW={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{useDebugValue:tW}=UI,{useSyncExternalStoreWithSelector:EW}=QW;let gF=!1;const oW=g=>g;function AL(g,A=oW,I){(eW?"production":void 0)!=="production"&&I&&!gF&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),gF=!0);const C=EW(g.subscribe,g.getState,g.getServerState||g.getInitialState,A,I);return tW(C),C}let M;const VI=new Array(128).fill(void 0);VI.push(void 0,null,!0,!1);let wa=VI.length;function gC(g){wa===VI.length&&VI.push(VI.length+1);const A=wa;return wa=VI[A],VI[A]=g,A}function gg(g){return VI[g]}function Ar(g){const A=gg(g);return function(I){I<132||(VI[I]=wa,wa=I)}(g),A}function nI(g){return g==null}let $s=null;function Ir(){return $s!==null&&$s.byteLength!==0||($s=new Float64Array(M.memory.buffer)),$s}let Aa=null;function kI(){return Aa!==null&&Aa.byteLength!==0||(Aa=new Int32Array(M.memory.buffer)),Aa}const IL=typeof TextDecoder<"u"?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder<"u"&&IL.decode();let Ia=null;function gL(g,A){return g>>>=0,IL.decode((Ia!==null&&Ia.byteLength!==0||(Ia=new Uint8Array(M.memory.buffer)),Ia).subarray(g,g+A))}function iA(g,A){if(!(g instanceof A))throw new Error(`expected instance of ${A.name}`);return g.ptr}let ga=null;function Sg(){return ga!==null&&ga.byteLength!==0||(ga=new Float32Array(M.memory.buffer)),ga}let sg=128;function dg(g){if(sg==1)throw new Error("out of js stack");return VI[--sg]=g,sg}function CF(g,A){return g>>>=0,Sg().subarray(g/4,g/4+A)}let Ca=null;function CL(){return Ca!==null&&Ca.byteLength!==0||(Ca=new Uint32Array(M.memory.buffer)),Ca}let Zi=0;function jt(g,A){const I=A(4*g.length,4)>>>0;return Sg().set(g,I/4),Zi=g.length,I}function vc(g,A){const I=A(4*g.length,4)>>>0;return CL().set(g,I/4),Zi=g.length,I}function ty(g,A){try{return g.apply(this,A)}catch(I){M.__wbindgen_exn_store(gC(I))}}const UC=Object.freeze({Ball:0,0:"Ball",Cuboid:1,1:"Cuboid",Capsule:2,2:"Capsule",Segment:3,3:"Segment",Polyline:4,4:"Polyline",Triangle:5,5:"Triangle",TriMesh:6,6:"TriMesh",HeightField:7,7:"HeightField",Compound:8,8:"Compound",ConvexPolyhedron:9,9:"ConvexPolyhedron",Cylinder:10,10:"Cylinder",Cone:11,11:"Cone",RoundCuboid:12,12:"RoundCuboid",RoundTriangle:13,13:"RoundTriangle",RoundCylinder:14,14:"RoundCylinder",RoundCone:15,15:"RoundCone",RoundConvexPolyhedron:16,16:"RoundConvexPolyhedron",HalfSpace:17,17:"HalfSpace"}),nS=Object.freeze({X:0,0:"X",Y:1,1:"Y",Z:2,2:"Z",AngX:3,3:"AngX",AngY:4,4:"AngY",AngZ:5,5:"AngZ"}),vB=Object.freeze({Revolute:0,0:"Revolute",Fixed:1,1:"Fixed",Prismatic:2,2:"Prismatic",Rope:3,3:"Rope",Spring:4,4:"Spring",Spherical:5,5:"Spherical",Generic:6,6:"Generic"});class FE{static __wrap(A){A>>>=0;const I=Object.create(FE.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawbroadphase_free(A)}constructor(){const A=M.rawbroadphase_new();return this.__wbg_ptr=A>>>0,this}}class ck{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawccdsolver_free(A)}constructor(){const A=M.rawccdsolver_new();return this.__wbg_ptr=A>>>0,this}}let iL=class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawcharactercollision_free(A)}constructor(){const A=M.rawcharactercollision_new();return this.__wbg_ptr=A>>>0,this}handle(){return M.rawcharactercollision_handle(this.__wbg_ptr)}translationDeltaApplied(){const A=M.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return oA.__wrap(A)}translationDeltaRemaining(){const A=M.rawcharactercollision_translationDeltaRemaining(this.__wbg_ptr);return oA.__wrap(A)}toi(){return M.rawcharactercollision_toi(this.__wbg_ptr)}worldWitness1(){const A=M.rawcharactercollision_worldWitness1(this.__wbg_ptr);return oA.__wrap(A)}worldWitness2(){const A=M.rawcharactercollision_worldWitness2(this.__wbg_ptr);return oA.__wrap(A)}worldNormal1(){const A=M.rawcharactercollision_worldNormal1(this.__wbg_ptr);return oA.__wrap(A)}worldNormal2(){const A=M.rawcharactercollision_worldNormal2(this.__wbg_ptr);return oA.__wrap(A)}},Zg=class BL{static __wrap(A){A>>>=0;const I=Object.create(BL.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawcolliderset_free(A)}coTranslation(A){const I=M.rawcolliderset_coTranslation(this.__wbg_ptr,A);return oA.__wrap(I)}coRotation(A){const I=M.rawcolliderset_coRotation(this.__wbg_ptr,A);return vI.__wrap(I)}coSetTranslation(A,I,C,i){M.rawcolliderset_coSetTranslation(this.__wbg_ptr,A,I,C,i)}coSetTranslationWrtParent(A,I,C,i){M.rawcolliderset_coSetTranslationWrtParent(this.__wbg_ptr,A,I,C,i)}coSetRotation(A,I,C,i,B){M.rawcolliderset_coSetRotation(this.__wbg_ptr,A,I,C,i,B)}coSetRotationWrtParent(A,I,C,i,B){M.rawcolliderset_coSetRotationWrtParent(this.__wbg_ptr,A,I,C,i,B)}coIsSensor(A){return M.rawcolliderset_coIsSensor(this.__wbg_ptr,A)!==0}coShapeType(A){return M.rawcolliderset_coShapeType(this.__wbg_ptr,A)}coHalfspaceNormal(A){const I=M.rawcolliderset_coHalfspaceNormal(this.__wbg_ptr,A);return I===0?void 0:oA.__wrap(I)}coHalfExtents(A){const I=M.rawcolliderset_coHalfExtents(this.__wbg_ptr,A);return I===0?void 0:oA.__wrap(I)}coSetHalfExtents(A,I){iA(I,oA),M.rawcolliderset_coSetHalfExtents(this.__wbg_ptr,A,I.__wbg_ptr)}coRadius(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coRadius(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}coSetRadius(A,I){M.rawcolliderset_coSetRadius(this.__wbg_ptr,A,I)}coHalfHeight(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coHalfHeight(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}coSetHalfHeight(A,I){M.rawcolliderset_coSetHalfHeight(this.__wbg_ptr,A,I)}coRoundRadius(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coRoundRadius(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}coSetRoundRadius(A,I){M.rawcolliderset_coSetRoundRadius(this.__wbg_ptr,A,I)}coVertices(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coVertices(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=kI()[i/4+1];let B;return I!==0&&(B=CF(I,C).slice(),M.__wbindgen_free(I,4*C,4)),B}finally{M.__wbindgen_add_to_stack_pointer(16)}}coIndices(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coIndices(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=kI()[i/4+1];let B;return I!==0&&(B=function(Q,e){return Q>>>=0,CL().subarray(Q/4,Q/4+e)}(I,C).slice(),M.__wbindgen_free(I,4*C,4)),B}finally{M.__wbindgen_add_to_stack_pointer(16)}}coTriMeshFlags(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coTriMeshFlags(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=kI()[i/4+1];return I===0?void 0:C>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}coHeightFieldFlags(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coHeightFieldFlags(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=kI()[i/4+1];return I===0?void 0:C>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldHeights(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coHeightfieldHeights(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=kI()[i/4+1];let B;return I!==0&&(B=CF(I,C).slice(),M.__wbindgen_free(I,4*C,4)),B}finally{M.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldScale(A){const I=M.rawcolliderset_coHeightfieldScale(this.__wbg_ptr,A);return I===0?void 0:oA.__wrap(I)}coHeightfieldNRows(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coHeightfieldNRows(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=kI()[i/4+1];return I===0?void 0:C>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldNCols(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coHeightfieldNCols(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=kI()[i/4+1];return I===0?void 0:C>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}coParent(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coParent(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Ir()[i/8+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}coSetEnabled(A,I){M.rawcolliderset_coSetEnabled(this.__wbg_ptr,A,I)}coIsEnabled(A){return M.rawcolliderset_coIsEnabled(this.__wbg_ptr,A)!==0}coSetContactSkin(A,I){M.rawcolliderset_coSetContactSkin(this.__wbg_ptr,A,I)}coContactSkin(A){return M.rawcolliderset_coContactSkin(this.__wbg_ptr,A)}coFriction(A){return M.rawcolliderset_coFriction(this.__wbg_ptr,A)}coRestitution(A){return M.rawcolliderset_coRestitution(this.__wbg_ptr,A)}coDensity(A){return M.rawcolliderset_coDensity(this.__wbg_ptr,A)}coMass(A){return M.rawcolliderset_coMass(this.__wbg_ptr,A)}coVolume(A){return M.rawcolliderset_coVolume(this.__wbg_ptr,A)}coCollisionGroups(A){return M.rawcolliderset_coCollisionGroups(this.__wbg_ptr,A)>>>0}coSolverGroups(A){return M.rawcolliderset_coSolverGroups(this.__wbg_ptr,A)>>>0}coActiveHooks(A){return M.rawcolliderset_coActiveHooks(this.__wbg_ptr,A)>>>0}coActiveCollisionTypes(A){return M.rawcolliderset_coActiveCollisionTypes(this.__wbg_ptr,A)}coActiveEvents(A){return M.rawcolliderset_coActiveEvents(this.__wbg_ptr,A)>>>0}coContactForceEventThreshold(A){return M.rawcolliderset_coContactForceEventThreshold(this.__wbg_ptr,A)}coContainsPoint(A,I){return iA(I,oA),M.rawcolliderset_coContainsPoint(this.__wbg_ptr,A,I.__wbg_ptr)!==0}coCastShape(A,I,C,i,B,Q,e,t,E){iA(I,oA),iA(C,GI),iA(i,oA),iA(B,vI),iA(Q,oA);const o=M.rawcolliderset_coCastShape(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B.__wbg_ptr,Q.__wbg_ptr,e,t,E);return o===0?void 0:lS.__wrap(o)}coCastCollider(A,I,C,i,B,Q,e){iA(I,oA),iA(i,oA);const t=M.rawcolliderset_coCastCollider(this.__wbg_ptr,A,I.__wbg_ptr,C,i.__wbg_ptr,B,Q,e);return t===0?void 0:QL.__wrap(t)}coIntersectsShape(A,I,C,i){return iA(I,GI),iA(C,oA),iA(i,vI),M.rawcolliderset_coIntersectsShape(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr)!==0}coContactShape(A,I,C,i,B){iA(I,GI),iA(C,oA),iA(i,vI);const Q=M.rawcolliderset_coContactShape(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B);return Q===0?void 0:gr.__wrap(Q)}coContactCollider(A,I,C){const i=M.rawcolliderset_coContactCollider(this.__wbg_ptr,A,I,C);return i===0?void 0:gr.__wrap(i)}coProjectPoint(A,I,C){iA(I,oA);const i=M.rawcolliderset_coProjectPoint(this.__wbg_ptr,A,I.__wbg_ptr,C);return sS.__wrap(i)}coIntersectsRay(A,I,C,i){return iA(I,oA),iA(C,oA),M.rawcolliderset_coIntersectsRay(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,i)!==0}coCastRay(A,I,C,i,B){return iA(I,oA),iA(C,oA),M.rawcolliderset_coCastRay(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,i,B)}coCastRayAndGetNormal(A,I,C,i,B){iA(I,oA),iA(C,oA);const Q=M.rawcolliderset_coCastRayAndGetNormal(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,i,B);return Q===0?void 0:rS.__wrap(Q)}coSetSensor(A,I){M.rawcolliderset_coSetSensor(this.__wbg_ptr,A,I)}coSetRestitution(A,I){M.rawcolliderset_coSetRestitution(this.__wbg_ptr,A,I)}coSetFriction(A,I){M.rawcolliderset_coSetFriction(this.__wbg_ptr,A,I)}coFrictionCombineRule(A){return M.rawcolliderset_coFrictionCombineRule(this.__wbg_ptr,A)>>>0}coSetFrictionCombineRule(A,I){M.rawcolliderset_coSetFrictionCombineRule(this.__wbg_ptr,A,I)}coRestitutionCombineRule(A){return M.rawcolliderset_coRestitutionCombineRule(this.__wbg_ptr,A)>>>0}coSetRestitutionCombineRule(A,I){M.rawcolliderset_coSetRestitutionCombineRule(this.__wbg_ptr,A,I)}coSetCollisionGroups(A,I){M.rawcolliderset_coSetCollisionGroups(this.__wbg_ptr,A,I)}coSetSolverGroups(A,I){M.rawcolliderset_coSetSolverGroups(this.__wbg_ptr,A,I)}coSetActiveHooks(A,I){M.rawcolliderset_coSetActiveHooks(this.__wbg_ptr,A,I)}coSetActiveEvents(A,I){M.rawcolliderset_coSetActiveEvents(this.__wbg_ptr,A,I)}coSetActiveCollisionTypes(A,I){M.rawcolliderset_coSetActiveCollisionTypes(this.__wbg_ptr,A,I)}coSetShape(A,I){iA(I,GI),M.rawcolliderset_coSetShape(this.__wbg_ptr,A,I.__wbg_ptr)}coSetContactForceEventThreshold(A,I){M.rawcolliderset_coSetContactForceEventThreshold(this.__wbg_ptr,A,I)}coSetDensity(A,I){M.rawcolliderset_coSetDensity(this.__wbg_ptr,A,I)}coSetMass(A,I){M.rawcolliderset_coSetMass(this.__wbg_ptr,A,I)}coSetMassProperties(A,I,C,i,B){iA(C,oA),iA(i,oA),iA(B,vI),M.rawcolliderset_coSetMassProperties(this.__wbg_ptr,A,I,C.__wbg_ptr,i.__wbg_ptr,B.__wbg_ptr)}constructor(){const A=M.rawcolliderset_new();return this.__wbg_ptr=A>>>0,this}len(){return M.rawcolliderset_len(this.__wbg_ptr)>>>0}contains(A){return M.rawcolliderset_contains(this.__wbg_ptr,A)!==0}createCollider(A,I,C,i,B,Q,e,t,E,o,s,r,l,h,w,D,c,G,y,k,F,U,f,K,N){try{const q=M.__wbindgen_add_to_stack_pointer(-16);iA(I,GI),iA(C,oA),iA(i,vI),iA(e,oA),iA(t,oA),iA(E,vI),iA(N,Lg),M.rawcolliderset_createCollider(q,this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B,Q,e.__wbg_ptr,t.__wbg_ptr,E.__wbg_ptr,o,s,r,l,h,w,D,c,G,y,k,F,U,f,K,N.__wbg_ptr);var p=kI()[q/4+0],m=Ir()[q/8+1];return p===0?void 0:m}finally{M.__wbindgen_add_to_stack_pointer(16)}}remove(A,I,C,i){iA(I,ne),iA(C,Lg),M.rawcolliderset_remove(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,i)}isHandleValid(A){return M.rawcolliderset_contains(this.__wbg_ptr,A)!==0}forEachColliderHandle(A){try{M.rawcolliderset_forEachColliderHandle(this.__wbg_ptr,dg(A))}finally{VI[sg++]=void 0}}},QL=class eL{static __wrap(A){A>>>=0;const I=Object.create(eL.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawcollidershapecasthit_free(A)}colliderHandle(){return M.rawcharactercollision_handle(this.__wbg_ptr)}time_of_impact(){return M.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}witness1(){const A=M.rawcollidershapecasthit_witness1(this.__wbg_ptr);return oA.__wrap(A)}witness2(){const A=M.rawcollidershapecasthit_witness2(this.__wbg_ptr);return oA.__wrap(A)}normal1(){const A=M.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return oA.__wrap(A)}normal2(){const A=M.rawcharactercollision_translationDeltaRemaining(this.__wbg_ptr);return oA.__wrap(A)}},nW=class tL{static __wrap(A){A>>>=0;const I=Object.create(tL.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawcontactforceevent_free(A)}collider1(){return M.rawcharactercollision_handle(this.__wbg_ptr)}collider2(){return M.rawcontactforceevent_collider2(this.__wbg_ptr)}total_force(){const A=M.rawcontactforceevent_total_force(this.__wbg_ptr);return oA.__wrap(A)}total_force_magnitude(){return M.rawcontactforceevent_total_force_magnitude(this.__wbg_ptr)}max_force_direction(){const A=M.rawcontactforceevent_max_force_direction(this.__wbg_ptr);return oA.__wrap(A)}max_force_magnitude(){return M.rawcontactforceevent_max_force_magnitude(this.__wbg_ptr)}};class QM{static __wrap(A){A>>>=0;const I=Object.create(QM.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawcontactmanifold_free(A)}normal(){const A=M.rawcontactmanifold_normal(this.__wbg_ptr);return oA.__wrap(A)}local_n1(){const A=M.rawcontactmanifold_local_n1(this.__wbg_ptr);return oA.__wrap(A)}local_n2(){const A=M.rawcontactmanifold_local_n2(this.__wbg_ptr);return oA.__wrap(A)}subshape1(){return M.rawcontactmanifold_subshape1(this.__wbg_ptr)>>>0}subshape2(){return M.rawcontactmanifold_subshape2(this.__wbg_ptr)>>>0}num_contacts(){return M.rawcontactmanifold_num_contacts(this.__wbg_ptr)>>>0}contact_local_p1(A){const I=M.rawcontactmanifold_contact_local_p1(this.__wbg_ptr,A);return I===0?void 0:oA.__wrap(I)}contact_local_p2(A){const I=M.rawcontactmanifold_contact_local_p2(this.__wbg_ptr,A);return I===0?void 0:oA.__wrap(I)}contact_dist(A){return M.rawcontactmanifold_contact_dist(this.__wbg_ptr,A)}contact_fid1(A){return M.rawcontactmanifold_contact_fid1(this.__wbg_ptr,A)>>>0}contact_fid2(A){return M.rawcontactmanifold_contact_fid2(this.__wbg_ptr,A)>>>0}contact_impulse(A){return M.rawcontactmanifold_contact_impulse(this.__wbg_ptr,A)}contact_tangent_impulse_x(A){return M.rawcontactmanifold_contact_tangent_impulse_x(this.__wbg_ptr,A)}contact_tangent_impulse_y(A){return M.rawcontactmanifold_contact_tangent_impulse_y(this.__wbg_ptr,A)}num_solver_contacts(){return M.rawcontactmanifold_num_solver_contacts(this.__wbg_ptr)>>>0}solver_contact_point(A){const I=M.rawcontactmanifold_solver_contact_point(this.__wbg_ptr,A);return I===0?void 0:oA.__wrap(I)}solver_contact_dist(A){return M.rawcontactmanifold_solver_contact_dist(this.__wbg_ptr,A)}solver_contact_friction(A){return M.rawcontactmanifold_solver_contact_friction(this.__wbg_ptr,A)}solver_contact_restitution(A){return M.rawcontactmanifold_solver_contact_restitution(this.__wbg_ptr,A)}solver_contact_tangent_velocity(A){const I=M.rawcontactmanifold_solver_contact_tangent_velocity(this.__wbg_ptr,A);return oA.__wrap(I)}}class eM{static __wrap(A){A>>>=0;const I=Object.create(eM.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawcontactpair_free(A)}collider1(){return M.rawcontactpair_collider1(this.__wbg_ptr)}collider2(){return M.rawcontactpair_collider2(this.__wbg_ptr)}numContactManifolds(){return M.rawcontactpair_numContactManifolds(this.__wbg_ptr)>>>0}contactManifold(A){const I=M.rawcontactpair_contactManifold(this.__wbg_ptr,A);return I===0?void 0:QM.__wrap(I)}}class sW{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawdebugrenderpipeline_free(A)}constructor(){const A=M.rawdebugrenderpipeline_new();return this.__wbg_ptr=A>>>0,this}vertices(){return Ar(M.rawdebugrenderpipeline_vertices(this.__wbg_ptr))}colors(){return Ar(M.rawdebugrenderpipeline_colors(this.__wbg_ptr))}render(A,I,C,i,B){iA(A,Lg),iA(I,Zg),iA(C,oe),iA(i,se),iA(B,ot),M.rawdebugrenderpipeline_render(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B.__wbg_ptr)}}let aW=class EL{static __wrap(A){A>>>=0;const I=Object.create(EL.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawdeserializedworld_free(A)}takeGravity(){const A=M.rawdeserializedworld_takeGravity(this.__wbg_ptr);return A===0?void 0:oA.__wrap(A)}takeIntegrationParameters(){const A=M.rawdeserializedworld_takeIntegrationParameters(this.__wbg_ptr);return A===0?void 0:RE.__wrap(A)}takeIslandManager(){const A=M.rawdeserializedworld_takeIslandManager(this.__wbg_ptr);return A===0?void 0:ne.__wrap(A)}takeBroadPhase(){const A=M.rawdeserializedworld_takeBroadPhase(this.__wbg_ptr);return A===0?void 0:FE.__wrap(A)}takeNarrowPhase(){const A=M.rawdeserializedworld_takeNarrowPhase(this.__wbg_ptr);return A===0?void 0:ot.__wrap(A)}takeBodies(){const A=M.rawdeserializedworld_takeBodies(this.__wbg_ptr);return A===0?void 0:Lg.__wrap(A)}takeColliders(){const A=M.rawdeserializedworld_takeColliders(this.__wbg_ptr);return A===0?void 0:Zg.__wrap(A)}takeImpulseJoints(){const A=M.rawdeserializedworld_takeImpulseJoints(this.__wbg_ptr);return A===0?void 0:oe.__wrap(A)}takeMultibodyJoints(){const A=M.rawdeserializedworld_takeMultibodyJoints(this.__wbg_ptr);return A===0?void 0:se.__wrap(A)}};class rW{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawdynamicraycastvehiclecontroller_free(A)}constructor(A){const I=M.rawdynamicraycastvehiclecontroller_new(A);return this.__wbg_ptr=I>>>0,this}current_vehicle_speed(){return M.rawdynamicraycastvehiclecontroller_current_vehicle_speed(this.__wbg_ptr)}chassis(){return M.rawdynamicraycastvehiclecontroller_chassis(this.__wbg_ptr)}index_up_axis(){return M.rawdynamicraycastvehiclecontroller_index_up_axis(this.__wbg_ptr)>>>0}set_index_up_axis(A){M.rawdynamicraycastvehiclecontroller_set_index_up_axis(this.__wbg_ptr,A)}index_forward_axis(){return M.rawdynamicraycastvehiclecontroller_index_forward_axis(this.__wbg_ptr)>>>0}set_index_forward_axis(A){M.rawdynamicraycastvehiclecontroller_set_index_forward_axis(this.__wbg_ptr,A)}add_wheel(A,I,C,i,B){iA(A,oA),iA(I,oA),iA(C,oA),M.rawdynamicraycastvehiclecontroller_add_wheel(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i,B)}num_wheels(){return M.rawdynamicraycastvehiclecontroller_num_wheels(this.__wbg_ptr)>>>0}update_vehicle(A,I,C,i,B,Q,e){try{iA(I,Lg),iA(C,Zg),iA(i,tM),M.rawdynamicraycastvehiclecontroller_update_vehicle(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B,!nI(Q),nI(Q)?0:Q,dg(e))}finally{VI[sg++]=void 0}}wheel_chassis_connection_point_cs(A){const I=M.rawdynamicraycastvehiclecontroller_wheel_chassis_connection_point_cs(this.__wbg_ptr,A);return I===0?void 0:oA.__wrap(I)}set_wheel_chassis_connection_point_cs(A,I){iA(I,oA),M.rawdynamicraycastvehiclecontroller_set_wheel_chassis_connection_point_cs(this.__wbg_ptr,A,I.__wbg_ptr)}wheel_suspension_rest_length(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_rest_length(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}set_wheel_suspension_rest_length(A,I){M.rawdynamicraycastvehiclecontroller_set_wheel_suspension_rest_length(this.__wbg_ptr,A,I)}wheel_max_suspension_travel(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_max_suspension_travel(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}set_wheel_max_suspension_travel(A,I){M.rawdynamicraycastvehiclecontroller_set_wheel_max_suspension_travel(this.__wbg_ptr,A,I)}wheel_radius(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_radius(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}set_wheel_radius(A,I){M.rawdynamicraycastvehiclecontroller_set_wheel_radius(this.__wbg_ptr,A,I)}wheel_suspension_stiffness(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_stiffness(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}set_wheel_suspension_stiffness(A,I){M.rawdynamicraycastvehiclecontroller_set_wheel_suspension_stiffness(this.__wbg_ptr,A,I)}wheel_suspension_compression(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_compression(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}set_wheel_suspension_compression(A,I){M.rawdynamicraycastvehiclecontroller_set_wheel_suspension_compression(this.__wbg_ptr,A,I)}wheel_suspension_relaxation(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_relaxation(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}set_wheel_suspension_relaxation(A,I){M.rawdynamicraycastvehiclecontroller_set_wheel_suspension_relaxation(this.__wbg_ptr,A,I)}wheel_max_suspension_force(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_max_suspension_force(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}set_wheel_max_suspension_force(A,I){M.rawdynamicraycastvehiclecontroller_set_wheel_max_suspension_force(this.__wbg_ptr,A,I)}wheel_brake(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_brake(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}set_wheel_brake(A,I){M.rawdynamicraycastvehiclecontroller_set_wheel_brake(this.__wbg_ptr,A,I)}wheel_steering(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_steering(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}set_wheel_steering(A,I){M.rawdynamicraycastvehiclecontroller_set_wheel_steering(this.__wbg_ptr,A,I)}wheel_engine_force(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_engine_force(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}set_wheel_engine_force(A,I){M.rawdynamicraycastvehiclecontroller_set_wheel_engine_force(this.__wbg_ptr,A,I)}wheel_direction_cs(A){const I=M.rawdynamicraycastvehiclecontroller_wheel_direction_cs(this.__wbg_ptr,A);return I===0?void 0:oA.__wrap(I)}set_wheel_direction_cs(A,I){iA(I,oA),M.rawdynamicraycastvehiclecontroller_set_wheel_direction_cs(this.__wbg_ptr,A,I.__wbg_ptr)}wheel_axle_cs(A){const I=M.rawdynamicraycastvehiclecontroller_wheel_axle_cs(this.__wbg_ptr,A);return I===0?void 0:oA.__wrap(I)}set_wheel_axle_cs(A,I){iA(I,oA),M.rawdynamicraycastvehiclecontroller_set_wheel_axle_cs(this.__wbg_ptr,A,I.__wbg_ptr)}wheel_friction_slip(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_friction_slip(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}set_wheel_friction_slip(A,I){M.rawdynamicraycastvehiclecontroller_set_wheel_friction_slip(this.__wbg_ptr,A,I)}wheel_side_friction_stiffness(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_side_friction_stiffness(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}set_wheel_side_friction_stiffness(A,I){M.rawdynamicraycastvehiclecontroller_set_wheel_side_friction_stiffness(this.__wbg_ptr,A,I)}wheel_rotation(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_rotation(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}wheel_forward_impulse(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_forward_impulse(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}wheel_side_impulse(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_side_impulse(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}wheel_suspension_force(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_force(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}wheel_contact_normal_ws(A){const I=M.rawdynamicraycastvehiclecontroller_wheel_contact_normal_ws(this.__wbg_ptr,A);return I===0?void 0:oA.__wrap(I)}wheel_contact_point_ws(A){const I=M.rawdynamicraycastvehiclecontroller_wheel_contact_point_ws(this.__wbg_ptr,A);return I===0?void 0:oA.__wrap(I)}wheel_suspension_length(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_length(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Sg()[i/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}wheel_hard_point_ws(A){const I=M.rawdynamicraycastvehiclecontroller_wheel_hard_point_ws(this.__wbg_ptr,A);return I===0?void 0:oA.__wrap(I)}wheel_is_in_contact(A){return M.rawdynamicraycastvehiclecontroller_wheel_is_in_contact(this.__wbg_ptr,A)!==0}wheel_ground_object(A){try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_ground_object(i,this.__wbg_ptr,A);var I=kI()[i/4+0],C=Ir()[i/8+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}}class oL{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_raweventqueue_free(A)}constructor(A){const I=M.raweventqueue_new(A);return this.__wbg_ptr=I>>>0,this}drainCollisionEvents(A){try{M.raweventqueue_drainCollisionEvents(this.__wbg_ptr,dg(A))}finally{VI[sg++]=void 0}}drainContactForceEvents(A){try{M.raweventqueue_drainContactForceEvents(this.__wbg_ptr,dg(A))}finally{VI[sg++]=void 0}}clear(){M.raweventqueue_clear(this.__wbg_ptr)}}class GC{static __wrap(A){A>>>=0;const I=Object.create(GC.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawgenericjoint_free(A)}static generic(A,I,C,i){iA(A,oA),iA(I,oA),iA(C,oA);const B=M.rawgenericjoint_generic(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i);return B===0?void 0:GC.__wrap(B)}static spring(A,I,C,i,B){iA(i,oA),iA(B,oA);const Q=M.rawgenericjoint_spring(A,I,C,i.__wbg_ptr,B.__wbg_ptr);return GC.__wrap(Q)}static rope(A,I,C){iA(I,oA),iA(C,oA);const i=M.rawgenericjoint_rope(A,I.__wbg_ptr,C.__wbg_ptr);return GC.__wrap(i)}static spherical(A,I){iA(A,oA),iA(I,oA);const C=M.rawgenericjoint_spherical(A.__wbg_ptr,I.__wbg_ptr);return GC.__wrap(C)}static prismatic(A,I,C,i,B,Q){iA(A,oA),iA(I,oA),iA(C,oA);const e=M.rawgenericjoint_prismatic(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i,B,Q);return e===0?void 0:GC.__wrap(e)}static fixed(A,I,C,i){iA(A,oA),iA(I,vI),iA(C,oA),iA(i,vI);const B=M.rawgenericjoint_fixed(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr);return GC.__wrap(B)}static revolute(A,I,C){iA(A,oA),iA(I,oA),iA(C,oA);const i=M.rawgenericjoint_revolute(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr);return i===0?void 0:GC.__wrap(i)}}class oe{static __wrap(A){A>>>=0;const I=Object.create(oe.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawimpulsejointset_free(A)}jointType(A){return M.rawimpulsejointset_jointType(this.__wbg_ptr,A)}jointBodyHandle1(A){return M.rawimpulsejointset_jointBodyHandle1(this.__wbg_ptr,A)}jointBodyHandle2(A){return M.rawimpulsejointset_jointBodyHandle2(this.__wbg_ptr,A)}jointFrameX1(A){const I=M.rawimpulsejointset_jointFrameX1(this.__wbg_ptr,A);return vI.__wrap(I)}jointFrameX2(A){const I=M.rawimpulsejointset_jointFrameX2(this.__wbg_ptr,A);return vI.__wrap(I)}jointAnchor1(A){const I=M.rawimpulsejointset_jointAnchor1(this.__wbg_ptr,A);return oA.__wrap(I)}jointAnchor2(A){const I=M.rawimpulsejointset_jointAnchor2(this.__wbg_ptr,A);return oA.__wrap(I)}jointSetAnchor1(A,I){iA(I,oA),M.rawimpulsejointset_jointSetAnchor1(this.__wbg_ptr,A,I.__wbg_ptr)}jointSetAnchor2(A,I){iA(I,oA),M.rawimpulsejointset_jointSetAnchor2(this.__wbg_ptr,A,I.__wbg_ptr)}jointContactsEnabled(A){return M.rawimpulsejointset_jointContactsEnabled(this.__wbg_ptr,A)!==0}jointSetContactsEnabled(A,I){M.rawimpulsejointset_jointSetContactsEnabled(this.__wbg_ptr,A,I)}jointLimitsEnabled(A,I){return M.rawimpulsejointset_jointLimitsEnabled(this.__wbg_ptr,A,I)!==0}jointLimitsMin(A,I){return M.rawimpulsejointset_jointLimitsMin(this.__wbg_ptr,A,I)}jointLimitsMax(A,I){return M.rawimpulsejointset_jointLimitsMax(this.__wbg_ptr,A,I)}jointSetLimits(A,I,C,i){M.rawimpulsejointset_jointSetLimits(this.__wbg_ptr,A,I,C,i)}jointConfigureMotorModel(A,I,C){M.rawimpulsejointset_jointConfigureMotorModel(this.__wbg_ptr,A,I,C)}jointConfigureMotorVelocity(A,I,C,i){M.rawimpulsejointset_jointConfigureMotorVelocity(this.__wbg_ptr,A,I,C,i)}jointConfigureMotorPosition(A,I,C,i,B){M.rawimpulsejointset_jointConfigureMotorPosition(this.__wbg_ptr,A,I,C,i,B)}jointConfigureMotor(A,I,C,i,B,Q){M.rawimpulsejointset_jointConfigureMotor(this.__wbg_ptr,A,I,C,i,B,Q)}constructor(){const A=M.rawimpulsejointset_new();return this.__wbg_ptr=A>>>0,this}createJoint(A,I,C,i){return iA(A,GC),M.rawimpulsejointset_createJoint(this.__wbg_ptr,A.__wbg_ptr,I,C,i)}remove(A,I){M.rawimpulsejointset_remove(this.__wbg_ptr,A,I)}len(){return M.rawimpulsejointset_len(this.__wbg_ptr)>>>0}contains(A){return M.rawimpulsejointset_contains(this.__wbg_ptr,A)!==0}forEachJointHandle(A){try{M.rawimpulsejointset_forEachJointHandle(this.__wbg_ptr,dg(A))}finally{VI[sg++]=void 0}}forEachJointAttachedToRigidBody(A,I){try{M.rawimpulsejointset_forEachJointAttachedToRigidBody(this.__wbg_ptr,A,dg(I))}finally{VI[sg++]=void 0}}}class RE{static __wrap(A){A>>>=0;const I=Object.create(RE.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawintegrationparameters_free(A)}constructor(){const A=M.rawintegrationparameters_new();return this.__wbg_ptr=A>>>0,this}get dt(){return M.rawintegrationparameters_dt(this.__wbg_ptr)}get erp(){return M.rawintegrationparameters_erp(this.__wbg_ptr)}get normalizedAllowedLinearError(){return M.rawdynamicraycastvehiclecontroller_current_vehicle_speed(this.__wbg_ptr)}get normalizedPredictionDistance(){return M.rawcontactforceevent_max_force_magnitude(this.__wbg_ptr)}get numSolverIterations(){return M.rawintegrationparameters_numSolverIterations(this.__wbg_ptr)>>>0}get numAdditionalFrictionIterations(){return M.rawdynamicraycastvehiclecontroller_index_up_axis(this.__wbg_ptr)>>>0}get numInternalPgsIterations(){return M.rawdynamicraycastvehiclecontroller_index_forward_axis(this.__wbg_ptr)>>>0}get minIslandSize(){return M.rawimpulsejointset_len(this.__wbg_ptr)>>>0}get maxCcdSubsteps(){return M.rawintegrationparameters_maxCcdSubsteps(this.__wbg_ptr)>>>0}get lengthUnit(){return M.rawintegrationparameters_lengthUnit(this.__wbg_ptr)}set dt(A){M.rawintegrationparameters_set_dt(this.__wbg_ptr,A)}set erp(A){M.rawintegrationparameters_set_erp(this.__wbg_ptr,A)}set normalizedAllowedLinearError(A){M.rawintegrationparameters_set_normalizedAllowedLinearError(this.__wbg_ptr,A)}set normalizedPredictionDistance(A){M.rawintegrationparameters_set_normalizedPredictionDistance(this.__wbg_ptr,A)}set numSolverIterations(A){M.rawintegrationparameters_set_numSolverIterations(this.__wbg_ptr,A)}set numAdditionalFrictionIterations(A){M.rawdynamicraycastvehiclecontroller_set_index_up_axis(this.__wbg_ptr,A)}set numInternalPgsIterations(A){M.rawdynamicraycastvehiclecontroller_set_index_forward_axis(this.__wbg_ptr,A)}set minIslandSize(A){M.rawintegrationparameters_set_minIslandSize(this.__wbg_ptr,A)}set maxCcdSubsteps(A){M.rawintegrationparameters_set_maxCcdSubsteps(this.__wbg_ptr,A)}set lengthUnit(A){M.rawintegrationparameters_set_lengthUnit(this.__wbg_ptr,A)}switchToStandardPgsSolver(){M.rawintegrationparameters_switchToStandardPgsSolver(this.__wbg_ptr)}switchToSmallStepsPgsSolver(){M.rawintegrationparameters_switchToSmallStepsPgsSolver(this.__wbg_ptr)}switchToSmallStepsPgsSolverWithoutWarmstart(){M.rawintegrationparameters_switchToSmallStepsPgsSolverWithoutWarmstart(this.__wbg_ptr)}}class ne{static __wrap(A){A>>>=0;const I=Object.create(ne.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawislandmanager_free(A)}constructor(){const A=M.rawislandmanager_new();return this.__wbg_ptr=A>>>0,this}forEachActiveRigidBodyHandle(A){try{M.rawislandmanager_forEachActiveRigidBodyHandle(this.__wbg_ptr,dg(A))}finally{VI[sg++]=void 0}}}let lW=class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawkinematiccharactercontroller_free(A)}constructor(A){const I=M.rawkinematiccharactercontroller_new(A);return this.__wbg_ptr=I>>>0,this}up(){const A=M.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return oA.__wrap(A)}setUp(A){iA(A,oA),M.rawkinematiccharactercontroller_setUp(this.__wbg_ptr,A.__wbg_ptr)}normalNudgeFactor(){return M.rawkinematiccharactercontroller_normalNudgeFactor(this.__wbg_ptr)}setNormalNudgeFactor(A){M.rawkinematiccharactercontroller_setNormalNudgeFactor(this.__wbg_ptr,A)}offset(){return M.rawintegrationparameters_dt(this.__wbg_ptr)}setOffset(A){M.rawkinematiccharactercontroller_setOffset(this.__wbg_ptr,A)}slideEnabled(){return M.rawkinematiccharactercontroller_slideEnabled(this.__wbg_ptr)!==0}setSlideEnabled(A){M.rawkinematiccharactercontroller_setSlideEnabled(this.__wbg_ptr,A)}autostepMaxHeight(){try{const C=M.__wbindgen_add_to_stack_pointer(-16);M.rawkinematiccharactercontroller_autostepMaxHeight(C,this.__wbg_ptr);var A=kI()[C/4+0],I=Sg()[C/4+1];return A===0?void 0:I}finally{M.__wbindgen_add_to_stack_pointer(16)}}autostepMinWidth(){try{const C=M.__wbindgen_add_to_stack_pointer(-16);M.rawkinematiccharactercontroller_autostepMinWidth(C,this.__wbg_ptr);var A=kI()[C/4+0],I=Sg()[C/4+1];return A===0?void 0:I}finally{M.__wbindgen_add_to_stack_pointer(16)}}autostepIncludesDynamicBodies(){const A=M.rawkinematiccharactercontroller_autostepIncludesDynamicBodies(this.__wbg_ptr);return A===16777215?void 0:A!==0}autostepEnabled(){return M.rawkinematiccharactercontroller_autostepEnabled(this.__wbg_ptr)!==0}enableAutostep(A,I,C){M.rawkinematiccharactercontroller_enableAutostep(this.__wbg_ptr,A,I,C)}disableAutostep(){M.rawkinematiccharactercontroller_disableAutostep(this.__wbg_ptr)}maxSlopeClimbAngle(){return M.rawkinematiccharactercontroller_maxSlopeClimbAngle(this.__wbg_ptr)}setMaxSlopeClimbAngle(A){M.rawkinematiccharactercontroller_setMaxSlopeClimbAngle(this.__wbg_ptr,A)}minSlopeSlideAngle(){return M.rawkinematiccharactercontroller_minSlopeSlideAngle(this.__wbg_ptr)}setMinSlopeSlideAngle(A){M.rawkinematiccharactercontroller_setMinSlopeSlideAngle(this.__wbg_ptr,A)}snapToGroundDistance(){try{const C=M.__wbindgen_add_to_stack_pointer(-16);M.rawkinematiccharactercontroller_snapToGroundDistance(C,this.__wbg_ptr);var A=kI()[C/4+0],I=Sg()[C/4+1];return A===0?void 0:I}finally{M.__wbindgen_add_to_stack_pointer(16)}}enableSnapToGround(A){M.rawkinematiccharactercontroller_enableSnapToGround(this.__wbg_ptr,A)}disableSnapToGround(){M.rawkinematiccharactercontroller_disableSnapToGround(this.__wbg_ptr)}snapToGroundEnabled(){return M.rawkinematiccharactercontroller_snapToGroundEnabled(this.__wbg_ptr)!==0}computeColliderMovement(A,I,C,i,B,Q,e,t,E,o,s){try{iA(I,Lg),iA(C,Zg),iA(i,tM),iA(Q,oA),M.rawkinematiccharactercontroller_computeColliderMovement(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B,Q.__wbg_ptr,e,!nI(t),nI(t)?0:t,E,!nI(o),nI(o)?0:o,dg(s))}finally{VI[sg++]=void 0}}computedMovement(){const A=M.rawkinematiccharactercontroller_computedMovement(this.__wbg_ptr);return oA.__wrap(A)}computedGrounded(){return M.rawkinematiccharactercontroller_computedGrounded(this.__wbg_ptr)!==0}numComputedCollisions(){return M.rawkinematiccharactercontroller_numComputedCollisions(this.__wbg_ptr)>>>0}computedCollision(A,I){return iA(I,iL),M.rawkinematiccharactercontroller_computedCollision(this.__wbg_ptr,A,I.__wbg_ptr)!==0}};class se{static __wrap(A){A>>>=0;const I=Object.create(se.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawmultibodyjointset_free(A)}jointType(A){return M.rawmultibodyjointset_jointType(this.__wbg_ptr,A)}jointFrameX1(A){const I=M.rawmultibodyjointset_jointFrameX1(this.__wbg_ptr,A);return vI.__wrap(I)}jointFrameX2(A){const I=M.rawmultibodyjointset_jointFrameX2(this.__wbg_ptr,A);return vI.__wrap(I)}jointAnchor1(A){const I=M.rawmultibodyjointset_jointAnchor1(this.__wbg_ptr,A);return oA.__wrap(I)}jointAnchor2(A){const I=M.rawmultibodyjointset_jointAnchor2(this.__wbg_ptr,A);return oA.__wrap(I)}jointContactsEnabled(A){return M.rawmultibodyjointset_jointContactsEnabled(this.__wbg_ptr,A)!==0}jointSetContactsEnabled(A,I){M.rawmultibodyjointset_jointSetContactsEnabled(this.__wbg_ptr,A,I)}jointLimitsEnabled(A,I){return M.rawmultibodyjointset_jointLimitsEnabled(this.__wbg_ptr,A,I)!==0}jointLimitsMin(A,I){return M.rawmultibodyjointset_jointLimitsMin(this.__wbg_ptr,A,I)}jointLimitsMax(A,I){return M.rawmultibodyjointset_jointLimitsMax(this.__wbg_ptr,A,I)}constructor(){const A=M.rawmultibodyjointset_new();return this.__wbg_ptr=A>>>0,this}createJoint(A,I,C,i){return iA(A,GC),M.rawmultibodyjointset_createJoint(this.__wbg_ptr,A.__wbg_ptr,I,C,i)}remove(A,I){M.rawmultibodyjointset_remove(this.__wbg_ptr,A,I)}contains(A){return M.rawmultibodyjointset_contains(this.__wbg_ptr,A)!==0}forEachJointHandle(A){try{M.rawmultibodyjointset_forEachJointHandle(this.__wbg_ptr,dg(A))}finally{VI[sg++]=void 0}}forEachJointAttachedToRigidBody(A,I){try{M.rawmultibodyjointset_forEachJointAttachedToRigidBody(this.__wbg_ptr,A,dg(I))}finally{VI[sg++]=void 0}}}class ot{static __wrap(A){A>>>=0;const I=Object.create(ot.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawnarrowphase_free(A)}constructor(){const A=M.rawnarrowphase_new();return this.__wbg_ptr=A>>>0,this}contact_pairs_with(A,I){M.rawnarrowphase_contact_pairs_with(this.__wbg_ptr,A,gC(I))}contact_pair(A,I){const C=M.rawnarrowphase_contact_pair(this.__wbg_ptr,A,I);return C===0?void 0:eM.__wrap(C)}intersection_pairs_with(A,I){M.rawnarrowphase_intersection_pairs_with(this.__wbg_ptr,A,gC(I))}intersection_pair(A,I){return M.rawnarrowphase_intersection_pair(this.__wbg_ptr,A,I)!==0}}class cW{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawphysicspipeline_free(A)}constructor(){const A=M.rawphysicspipeline_new();return this.__wbg_ptr=A>>>0,this}step(A,I,C,i,B,Q,e,t,E,o){iA(A,oA),iA(I,RE),iA(C,ne),iA(i,FE),iA(B,ot),iA(Q,Lg),iA(e,Zg),iA(t,oe),iA(E,se),iA(o,ck),M.rawphysicspipeline_step(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B.__wbg_ptr,Q.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr,E.__wbg_ptr,o.__wbg_ptr)}stepWithEvents(A,I,C,i,B,Q,e,t,E,o,s,r,l,h){iA(A,oA),iA(I,RE),iA(C,ne),iA(i,FE),iA(B,ot),iA(Q,Lg),iA(e,Zg),iA(t,oe),iA(E,se),iA(o,ck),iA(s,oL),M.rawphysicspipeline_stepWithEvents(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B.__wbg_ptr,Q.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr,E.__wbg_ptr,o.__wbg_ptr,s.__wbg_ptr,gC(r),gC(l),gC(h))}}let iF=class nL{static __wrap(A){A>>>=0;const I=Object.create(nL.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawpointcolliderprojection_free(A)}colliderHandle(){return M.rawpointcolliderprojection_colliderHandle(this.__wbg_ptr)}point(){const A=M.rawpointcolliderprojection_point(this.__wbg_ptr);return oA.__wrap(A)}isInside(){return M.rawpointcolliderprojection_isInside(this.__wbg_ptr)!==0}featureType(){return M.rawpointcolliderprojection_featureType(this.__wbg_ptr)}featureId(){try{const C=M.__wbindgen_add_to_stack_pointer(-16);M.rawpointcolliderprojection_featureId(C,this.__wbg_ptr);var A=kI()[C/4+0],I=kI()[C/4+1];return A===0?void 0:I>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}};class sS{static __wrap(A){A>>>=0;const I=Object.create(sS.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawpointprojection_free(A)}point(){const A=M.rawpointprojection_point(this.__wbg_ptr);return oA.__wrap(A)}isInside(){return M.rawpointprojection_isInside(this.__wbg_ptr)!==0}}class tM{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawquerypipeline_free(A)}constructor(){const A=M.rawquerypipeline_new();return this.__wbg_ptr=A>>>0,this}update(A,I){iA(A,Lg),iA(I,Zg),M.rawquerypipeline_update(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr)}castRay(A,I,C,i,B,Q,e,t,E,o,s){try{iA(A,Lg),iA(I,Zg),iA(C,oA),iA(i,oA);const r=M.rawquerypipeline_castRay(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B,Q,e,!nI(t),nI(t)?0:t,!nI(E),nI(E)?0:E,!nI(o),nI(o)?0:o,dg(s));return r===0?void 0:EM.__wrap(r)}finally{VI[sg++]=void 0}}castRayAndGetNormal(A,I,C,i,B,Q,e,t,E,o,s){try{iA(A,Lg),iA(I,Zg),iA(C,oA),iA(i,oA);const r=M.rawquerypipeline_castRayAndGetNormal(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B,Q,e,!nI(t),nI(t)?0:t,!nI(E),nI(E)?0:E,!nI(o),nI(o)?0:o,dg(s));return r===0?void 0:aS.__wrap(r)}finally{VI[sg++]=void 0}}intersectionsWithRay(A,I,C,i,B,Q,e,t,E,o,s,r){try{iA(A,Lg),iA(I,Zg),iA(C,oA),iA(i,oA),M.rawquerypipeline_intersectionsWithRay(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B,Q,dg(e),t,!nI(E),nI(E)?0:E,!nI(o),nI(o)?0:o,!nI(s),nI(s)?0:s,dg(r))}finally{VI[sg++]=void 0,VI[sg++]=void 0}}intersectionWithShape(A,I,C,i,B,Q,e,t,E,o){try{const l=M.__wbindgen_add_to_stack_pointer(-16);iA(A,Lg),iA(I,Zg),iA(C,oA),iA(i,vI),iA(B,GI),M.rawquerypipeline_intersectionWithShape(l,this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B.__wbg_ptr,Q,!nI(e),nI(e)?0:e,!nI(t),nI(t)?0:t,!nI(E),nI(E)?0:E,dg(o));var s=kI()[l/4+0],r=Ir()[l/8+1];return s===0?void 0:r}finally{M.__wbindgen_add_to_stack_pointer(16),VI[sg++]=void 0}}projectPoint(A,I,C,i,B,Q,e,t,E){try{iA(A,Lg),iA(I,Zg),iA(C,oA);const o=M.rawquerypipeline_projectPoint(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i,B,!nI(Q),nI(Q)?0:Q,!nI(e),nI(e)?0:e,!nI(t),nI(t)?0:t,dg(E));return o===0?void 0:iF.__wrap(o)}finally{VI[sg++]=void 0}}projectPointAndGetFeature(A,I,C,i,B,Q,e,t){try{iA(A,Lg),iA(I,Zg),iA(C,oA);const E=M.rawquerypipeline_projectPointAndGetFeature(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i,!nI(B),nI(B)?0:B,!nI(Q),nI(Q)?0:Q,!nI(e),nI(e)?0:e,dg(t));return E===0?void 0:iF.__wrap(E)}finally{VI[sg++]=void 0}}intersectionsWithPoint(A,I,C,i,B,Q,e,t,E){try{iA(A,Lg),iA(I,Zg),iA(C,oA),M.rawquerypipeline_intersectionsWithPoint(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,dg(i),B,!nI(Q),nI(Q)?0:Q,!nI(e),nI(e)?0:e,!nI(t),nI(t)?0:t,dg(E))}finally{VI[sg++]=void 0,VI[sg++]=void 0}}castShape(A,I,C,i,B,Q,e,t,E,o,s,r,l,h){try{iA(A,Lg),iA(I,Zg),iA(C,oA),iA(i,vI),iA(B,oA),iA(Q,GI);const w=M.rawquerypipeline_castShape(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B.__wbg_ptr,Q.__wbg_ptr,e,t,E,o,!nI(s),nI(s)?0:s,!nI(r),nI(r)?0:r,!nI(l),nI(l)?0:l,dg(h));return w===0?void 0:QL.__wrap(w)}finally{VI[sg++]=void 0}}intersectionsWithShape(A,I,C,i,B,Q,e,t,E,o,s){try{iA(A,Lg),iA(I,Zg),iA(C,oA),iA(i,vI),iA(B,GI),M.rawquerypipeline_intersectionsWithShape(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B.__wbg_ptr,dg(Q),e,!nI(t),nI(t)?0:t,!nI(E),nI(E)?0:E,!nI(o),nI(o)?0:o,dg(s))}finally{VI[sg++]=void 0,VI[sg++]=void 0}}collidersWithAabbIntersectingAabb(A,I,C){try{iA(A,oA),iA(I,oA),M.rawquerypipeline_collidersWithAabbIntersectingAabb(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,dg(C))}finally{VI[sg++]=void 0}}}class EM{static __wrap(A){A>>>=0;const I=Object.create(EM.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawraycolliderhit_free(A)}colliderHandle(){return M.rawcharactercollision_handle(this.__wbg_ptr)}timeOfImpact(){return M.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}}class aS{static __wrap(A){A>>>=0;const I=Object.create(aS.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawraycolliderintersection_free(A)}colliderHandle(){return M.rawpointcolliderprojection_colliderHandle(this.__wbg_ptr)}normal(){const A=M.rawcollidershapecasthit_witness1(this.__wbg_ptr);return oA.__wrap(A)}time_of_impact(){return M.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}featureType(){return M.rawpointcolliderprojection_featureType(this.__wbg_ptr)}featureId(){try{const C=M.__wbindgen_add_to_stack_pointer(-16);M.rawpointcolliderprojection_featureId(C,this.__wbg_ptr);var A=kI()[C/4+0],I=kI()[C/4+1];return A===0?void 0:I>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}}class rS{static __wrap(A){A>>>=0;const I=Object.create(rS.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawrayintersection_free(A)}normal(){const A=M.rawcollidershapecasthit_witness1(this.__wbg_ptr);return oA.__wrap(A)}time_of_impact(){return M.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}featureType(){return M.rawpointcolliderprojection_featureType(this.__wbg_ptr)}featureId(){try{const C=M.__wbindgen_add_to_stack_pointer(-16);M.rawpointcolliderprojection_featureId(C,this.__wbg_ptr);var A=kI()[C/4+0],I=kI()[C/4+1];return A===0?void 0:I>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}}class Lg{static __wrap(A){A>>>=0;const I=Object.create(Lg.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawrigidbodyset_free(A)}rbTranslation(A){const I=M.rawrigidbodyset_rbTranslation(this.__wbg_ptr,A);return oA.__wrap(I)}rbRotation(A){const I=M.rawrigidbodyset_rbRotation(this.__wbg_ptr,A);return vI.__wrap(I)}rbSleep(A){M.rawrigidbodyset_rbSleep(this.__wbg_ptr,A)}rbIsSleeping(A){return M.rawrigidbodyset_rbIsSleeping(this.__wbg_ptr,A)!==0}rbIsMoving(A){return M.rawrigidbodyset_rbIsMoving(this.__wbg_ptr,A)!==0}rbNextTranslation(A){const I=M.rawrigidbodyset_rbNextTranslation(this.__wbg_ptr,A);return oA.__wrap(I)}rbNextRotation(A){const I=M.rawrigidbodyset_rbNextRotation(this.__wbg_ptr,A);return vI.__wrap(I)}rbSetTranslation(A,I,C,i,B){M.rawrigidbodyset_rbSetTranslation(this.__wbg_ptr,A,I,C,i,B)}rbSetRotation(A,I,C,i,B,Q){M.rawrigidbodyset_rbSetRotation(this.__wbg_ptr,A,I,C,i,B,Q)}rbSetLinvel(A,I,C){iA(I,oA),M.rawrigidbodyset_rbSetLinvel(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbSetAngvel(A,I,C){iA(I,oA),M.rawrigidbodyset_rbSetAngvel(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbSetNextKinematicTranslation(A,I,C,i){M.rawrigidbodyset_rbSetNextKinematicTranslation(this.__wbg_ptr,A,I,C,i)}rbSetNextKinematicRotation(A,I,C,i,B){M.rawrigidbodyset_rbSetNextKinematicRotation(this.__wbg_ptr,A,I,C,i,B)}rbRecomputeMassPropertiesFromColliders(A,I){iA(I,Zg),M.rawrigidbodyset_rbRecomputeMassPropertiesFromColliders(this.__wbg_ptr,A,I.__wbg_ptr)}rbSetAdditionalMass(A,I,C){M.rawrigidbodyset_rbSetAdditionalMass(this.__wbg_ptr,A,I,C)}rbSetAdditionalMassProperties(A,I,C,i,B,Q){iA(C,oA),iA(i,oA),iA(B,vI),M.rawrigidbodyset_rbSetAdditionalMassProperties(this.__wbg_ptr,A,I,C.__wbg_ptr,i.__wbg_ptr,B.__wbg_ptr,Q)}rbLinvel(A){const I=M.rawrigidbodyset_rbLinvel(this.__wbg_ptr,A);return oA.__wrap(I)}rbAngvel(A){const I=M.rawrigidbodyset_rbAngvel(this.__wbg_ptr,A);return oA.__wrap(I)}rbLockTranslations(A,I,C){M.rawrigidbodyset_rbLockTranslations(this.__wbg_ptr,A,I,C)}rbSetEnabledTranslations(A,I,C,i,B){M.rawrigidbodyset_rbSetEnabledTranslations(this.__wbg_ptr,A,I,C,i,B)}rbLockRotations(A,I,C){M.rawrigidbodyset_rbLockRotations(this.__wbg_ptr,A,I,C)}rbSetEnabledRotations(A,I,C,i,B){M.rawrigidbodyset_rbSetEnabledRotations(this.__wbg_ptr,A,I,C,i,B)}rbDominanceGroup(A){return M.rawrigidbodyset_rbDominanceGroup(this.__wbg_ptr,A)}rbSetDominanceGroup(A,I){M.rawrigidbodyset_rbSetDominanceGroup(this.__wbg_ptr,A,I)}rbEnableCcd(A,I){M.rawrigidbodyset_rbEnableCcd(this.__wbg_ptr,A,I)}rbSetSoftCcdPrediction(A,I){M.rawrigidbodyset_rbSetSoftCcdPrediction(this.__wbg_ptr,A,I)}rbMass(A){return M.rawrigidbodyset_rbMass(this.__wbg_ptr,A)}rbInvMass(A){return M.rawrigidbodyset_rbInvMass(this.__wbg_ptr,A)}rbEffectiveInvMass(A){const I=M.rawrigidbodyset_rbEffectiveInvMass(this.__wbg_ptr,A);return oA.__wrap(I)}rbLocalCom(A){const I=M.rawrigidbodyset_rbLocalCom(this.__wbg_ptr,A);return oA.__wrap(I)}rbWorldCom(A){const I=M.rawrigidbodyset_rbWorldCom(this.__wbg_ptr,A);return oA.__wrap(I)}rbInvPrincipalInertiaSqrt(A){const I=M.rawrigidbodyset_rbInvPrincipalInertiaSqrt(this.__wbg_ptr,A);return oA.__wrap(I)}rbPrincipalInertiaLocalFrame(A){const I=M.rawrigidbodyset_rbPrincipalInertiaLocalFrame(this.__wbg_ptr,A);return vI.__wrap(I)}rbPrincipalInertia(A){const I=M.rawrigidbodyset_rbPrincipalInertia(this.__wbg_ptr,A);return oA.__wrap(I)}rbEffectiveWorldInvInertiaSqrt(A){const I=M.rawrigidbodyset_rbEffectiveWorldInvInertiaSqrt(this.__wbg_ptr,A);return jh.__wrap(I)}rbEffectiveAngularInertia(A){const I=M.rawrigidbodyset_rbEffectiveAngularInertia(this.__wbg_ptr,A);return jh.__wrap(I)}rbWakeUp(A){M.rawrigidbodyset_rbWakeUp(this.__wbg_ptr,A)}rbIsCcdEnabled(A){return M.rawrigidbodyset_rbIsCcdEnabled(this.__wbg_ptr,A)!==0}rbSoftCcdPrediction(A){return M.rawrigidbodyset_rbSoftCcdPrediction(this.__wbg_ptr,A)}rbNumColliders(A){return M.rawrigidbodyset_rbNumColliders(this.__wbg_ptr,A)>>>0}rbCollider(A,I){return M.rawrigidbodyset_rbCollider(this.__wbg_ptr,A,I)}rbBodyType(A){return M.rawrigidbodyset_rbBodyType(this.__wbg_ptr,A)}rbSetBodyType(A,I,C){M.rawrigidbodyset_rbSetBodyType(this.__wbg_ptr,A,I,C)}rbIsFixed(A){return M.rawrigidbodyset_rbIsFixed(this.__wbg_ptr,A)!==0}rbIsKinematic(A){return M.rawrigidbodyset_rbIsKinematic(this.__wbg_ptr,A)!==0}rbIsDynamic(A){return M.rawrigidbodyset_rbIsDynamic(this.__wbg_ptr,A)!==0}rbLinearDamping(A){return M.rawrigidbodyset_rbLinearDamping(this.__wbg_ptr,A)}rbAngularDamping(A){return M.rawrigidbodyset_rbAngularDamping(this.__wbg_ptr,A)}rbSetLinearDamping(A,I){M.rawrigidbodyset_rbSetLinearDamping(this.__wbg_ptr,A,I)}rbSetAngularDamping(A,I){M.rawrigidbodyset_rbSetAngularDamping(this.__wbg_ptr,A,I)}rbSetEnabled(A,I){M.rawrigidbodyset_rbSetEnabled(this.__wbg_ptr,A,I)}rbIsEnabled(A){return M.rawrigidbodyset_rbIsEnabled(this.__wbg_ptr,A)!==0}rbGravityScale(A){return M.rawrigidbodyset_rbGravityScale(this.__wbg_ptr,A)}rbSetGravityScale(A,I,C){M.rawrigidbodyset_rbSetGravityScale(this.__wbg_ptr,A,I,C)}rbResetForces(A,I){M.rawrigidbodyset_rbResetForces(this.__wbg_ptr,A,I)}rbResetTorques(A,I){M.rawrigidbodyset_rbResetTorques(this.__wbg_ptr,A,I)}rbAddForce(A,I,C){iA(I,oA),M.rawrigidbodyset_rbAddForce(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbApplyImpulse(A,I,C){iA(I,oA),M.rawrigidbodyset_rbApplyImpulse(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbAddTorque(A,I,C){iA(I,oA),M.rawrigidbodyset_rbAddTorque(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbApplyTorqueImpulse(A,I,C){iA(I,oA),M.rawrigidbodyset_rbApplyTorqueImpulse(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbAddForceAtPoint(A,I,C,i){iA(I,oA),iA(C,oA),M.rawrigidbodyset_rbAddForceAtPoint(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,i)}rbApplyImpulseAtPoint(A,I,C,i){iA(I,oA),iA(C,oA),M.rawrigidbodyset_rbApplyImpulseAtPoint(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,i)}rbAdditionalSolverIterations(A){return M.rawrigidbodyset_rbAdditionalSolverIterations(this.__wbg_ptr,A)>>>0}rbSetAdditionalSolverIterations(A,I){M.rawrigidbodyset_rbSetAdditionalSolverIterations(this.__wbg_ptr,A,I)}rbUserData(A){return M.rawrigidbodyset_rbUserData(this.__wbg_ptr,A)>>>0}rbSetUserData(A,I){M.rawrigidbodyset_rbSetUserData(this.__wbg_ptr,A,I)}constructor(){const A=M.rawrigidbodyset_new();return this.__wbg_ptr=A>>>0,this}createRigidBody(A,I,C,i,B,Q,e,t,E,o,s,r,l,h,w,D,c,G,y,k,F,U,f,K,N,p){return iA(I,oA),iA(C,vI),iA(e,oA),iA(t,oA),iA(E,oA),iA(o,oA),iA(s,vI),M.rawrigidbodyset_createRigidBody(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,i,B,Q,e.__wbg_ptr,t.__wbg_ptr,E.__wbg_ptr,o.__wbg_ptr,s.__wbg_ptr,r,l,h,w,D,c,G,y,k,F,U,f,K,N,p)}remove(A,I,C,i,B){iA(I,ne),iA(C,Zg),iA(i,oe),iA(B,se),M.rawrigidbodyset_remove(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B.__wbg_ptr)}len(){return M.rawcolliderset_len(this.__wbg_ptr)>>>0}contains(A){return M.rawrigidbodyset_contains(this.__wbg_ptr,A)!==0}forEachRigidBodyHandle(A){try{M.rawrigidbodyset_forEachRigidBodyHandle(this.__wbg_ptr,dg(A))}finally{VI[sg++]=void 0}}propagateModifiedBodyPositionsToColliders(A){iA(A,Zg),M.rawrigidbodyset_propagateModifiedBodyPositionsToColliders(this.__wbg_ptr,A.__wbg_ptr)}}class vI{static __wrap(A){A>>>=0;const I=Object.create(vI.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawrotation_free(A)}constructor(A,I,C,i){const B=M.rawrotation_new(A,I,C,i);return this.__wbg_ptr=B>>>0,this}static identity(){const A=M.rawrotation_identity();return vI.__wrap(A)}get x(){return M.rawrotation_x(this.__wbg_ptr)}get y(){return M.rawintegrationparameters_dt(this.__wbg_ptr)}get z(){return M.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}get w(){return M.rawintegrationparameters_erp(this.__wbg_ptr)}}class jh{static __wrap(A){A>>>=0;const I=Object.create(jh.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawsdpmatrix3_free(A)}elements(){return Ar(M.rawsdpmatrix3_elements(this.__wbg_ptr))}}class hW{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawserializationpipeline_free(A)}constructor(){const A=M.rawserializationpipeline_new();return this.__wbg_ptr=A>>>0,this}serializeAll(A,I,C,i,B,Q,e,t,E){return iA(A,oA),iA(I,RE),iA(C,ne),iA(i,FE),iA(B,ot),iA(Q,Lg),iA(e,Zg),iA(t,oe),iA(E,se),Ar(M.rawserializationpipeline_serializeAll(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B.__wbg_ptr,Q.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr,E.__wbg_ptr))}deserializeAll(A){const I=M.rawserializationpipeline_deserializeAll(this.__wbg_ptr,gC(A));return I===0?void 0:aW.__wrap(I)}}class GI{static __wrap(A){A>>>=0;const I=Object.create(GI.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawshape_free(A)}static cuboid(A,I,C){const i=M.rawshape_cuboid(A,I,C);return GI.__wrap(i)}static roundCuboid(A,I,C,i){const B=M.rawshape_roundCuboid(A,I,C,i);return GI.__wrap(B)}static ball(A){const I=M.rawshape_ball(A);return GI.__wrap(I)}static halfspace(A){iA(A,oA);const I=M.rawshape_halfspace(A.__wbg_ptr);return GI.__wrap(I)}static capsule(A,I){const C=M.rawshape_capsule(A,I);return GI.__wrap(C)}static cylinder(A,I){const C=M.rawshape_cylinder(A,I);return GI.__wrap(C)}static roundCylinder(A,I,C){const i=M.rawshape_roundCylinder(A,I,C);return GI.__wrap(i)}static cone(A,I){const C=M.rawshape_cone(A,I);return GI.__wrap(C)}static roundCone(A,I,C){const i=M.rawshape_roundCone(A,I,C);return GI.__wrap(i)}static polyline(A,I){const C=jt(A,M.__wbindgen_malloc),i=Zi,B=vc(I,M.__wbindgen_malloc),Q=Zi,e=M.rawshape_polyline(C,i,B,Q);return GI.__wrap(e)}static trimesh(A,I,C){const i=jt(A,M.__wbindgen_malloc),B=Zi,Q=vc(I,M.__wbindgen_malloc),e=Zi,t=M.rawshape_trimesh(i,B,Q,e,C);return GI.__wrap(t)}static heightfield(A,I,C,i,B){const Q=jt(C,M.__wbindgen_malloc),e=Zi;iA(i,oA);const t=M.rawshape_heightfield(A,I,Q,e,i.__wbg_ptr,B);return GI.__wrap(t)}static segment(A,I){iA(A,oA),iA(I,oA);const C=M.rawshape_segment(A.__wbg_ptr,I.__wbg_ptr);return GI.__wrap(C)}static triangle(A,I,C){iA(A,oA),iA(I,oA),iA(C,oA);const i=M.rawshape_triangle(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr);return GI.__wrap(i)}static roundTriangle(A,I,C,i){iA(A,oA),iA(I,oA),iA(C,oA);const B=M.rawshape_roundTriangle(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i);return GI.__wrap(B)}static convexHull(A){const I=jt(A,M.__wbindgen_malloc),C=Zi,i=M.rawshape_convexHull(I,C);return i===0?void 0:GI.__wrap(i)}static roundConvexHull(A,I){const C=jt(A,M.__wbindgen_malloc),i=Zi,B=M.rawshape_roundConvexHull(C,i,I);return B===0?void 0:GI.__wrap(B)}static convexMesh(A,I){const C=jt(A,M.__wbindgen_malloc),i=Zi,B=vc(I,M.__wbindgen_malloc),Q=Zi,e=M.rawshape_convexMesh(C,i,B,Q);return e===0?void 0:GI.__wrap(e)}static roundConvexMesh(A,I,C){const i=jt(A,M.__wbindgen_malloc),B=Zi,Q=vc(I,M.__wbindgen_malloc),e=Zi,t=M.rawshape_roundConvexMesh(i,B,Q,e,C);return t===0?void 0:GI.__wrap(t)}castShape(A,I,C,i,B,Q,e,t,E,o){iA(A,oA),iA(I,vI),iA(C,oA),iA(i,GI),iA(B,oA),iA(Q,vI),iA(e,oA);const s=M.rawshape_castShape(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B.__wbg_ptr,Q.__wbg_ptr,e.__wbg_ptr,t,E,o);return s===0?void 0:lS.__wrap(s)}intersectsShape(A,I,C,i,B){return iA(A,oA),iA(I,vI),iA(C,GI),iA(i,oA),iA(B,vI),M.rawshape_intersectsShape(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B.__wbg_ptr)!==0}contactShape(A,I,C,i,B,Q){iA(A,oA),iA(I,vI),iA(C,GI),iA(i,oA),iA(B,vI);const e=M.rawshape_contactShape(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B.__wbg_ptr,Q);return e===0?void 0:gr.__wrap(e)}containsPoint(A,I,C){return iA(A,oA),iA(I,vI),iA(C,oA),M.rawshape_containsPoint(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr)!==0}projectPoint(A,I,C,i){iA(A,oA),iA(I,vI),iA(C,oA);const B=M.rawshape_projectPoint(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i);return sS.__wrap(B)}intersectsRay(A,I,C,i,B){return iA(A,oA),iA(I,vI),iA(C,oA),iA(i,oA),M.rawshape_intersectsRay(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B)!==0}castRay(A,I,C,i,B,Q){return iA(A,oA),iA(I,vI),iA(C,oA),iA(i,oA),M.rawshape_castRay(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B,Q)}castRayAndGetNormal(A,I,C,i,B,Q){iA(A,oA),iA(I,vI),iA(C,oA),iA(i,oA);const e=M.rawshape_castRayAndGetNormal(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,i.__wbg_ptr,B,Q);return e===0?void 0:rS.__wrap(e)}}class lS{static __wrap(A){A>>>=0;const I=Object.create(lS.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawshapecasthit_free(A)}time_of_impact(){return M.rawrotation_x(this.__wbg_ptr)}witness1(){const A=M.rawshapecasthit_witness1(this.__wbg_ptr);return oA.__wrap(A)}witness2(){const A=M.rawcontactforceevent_total_force(this.__wbg_ptr);return oA.__wrap(A)}normal1(){const A=M.rawshapecasthit_normal1(this.__wbg_ptr);return oA.__wrap(A)}normal2(){const A=M.rawshapecasthit_normal2(this.__wbg_ptr);return oA.__wrap(A)}}class gr{static __wrap(A){A>>>=0;const I=Object.create(gr.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawshapecontact_free(A)}distance(){return M.rawkinematiccharactercontroller_maxSlopeClimbAngle(this.__wbg_ptr)}point1(){const A=M.rawpointprojection_point(this.__wbg_ptr);return oA.__wrap(A)}point2(){const A=M.rawcollidershapecasthit_witness1(this.__wbg_ptr);return oA.__wrap(A)}normal1(){const A=M.rawcollidershapecasthit_witness2(this.__wbg_ptr);return oA.__wrap(A)}normal2(){const A=M.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return oA.__wrap(A)}}class oA{static __wrap(A){A>>>=0;const I=Object.create(oA.prototype);return I.__wbg_ptr=A,I}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();M.__wbg_rawvector_free(A)}static zero(){const A=M.rawvector_zero();return oA.__wrap(A)}constructor(A,I,C){const i=M.rawvector_new(A,I,C);return this.__wbg_ptr=i>>>0,this}get x(){return M.rawrotation_x(this.__wbg_ptr)}set x(A){M.rawvector_set_x(this.__wbg_ptr,A)}get y(){return M.rawintegrationparameters_dt(this.__wbg_ptr)}set y(A){M.rawintegrationparameters_set_dt(this.__wbg_ptr,A)}get z(){return M.rawcollidershapecasthit_time_of_impact(this.__wbg_ptr)}set z(A){M.rawvector_set_z(this.__wbg_ptr,A)}xyz(){const A=M.rawvector_xyz(this.__wbg_ptr);return oA.__wrap(A)}yxz(){const A=M.rawvector_yxz(this.__wbg_ptr);return oA.__wrap(A)}zxy(){const A=M.rawvector_zxy(this.__wbg_ptr);return oA.__wrap(A)}xzy(){const A=M.rawvector_xzy(this.__wbg_ptr);return oA.__wrap(A)}yzx(){const A=M.rawvector_yzx(this.__wbg_ptr);return oA.__wrap(A)}zyx(){const A=M.rawvector_zyx(this.__wbg_ptr);return oA.__wrap(A)}}async function sL(g){if(M!==void 0)return M;g===void 0&&(g=new URL("rapier_wasm3d_bg.wasm",""));const A=function(){const i={wbg:{}};return i.wbg.__wbindgen_number_new=function(B){return gC(B)},i.wbg.__wbindgen_boolean_get=function(B){const Q=gg(B);return typeof Q=="boolean"?Q?1:0:2},i.wbg.__wbindgen_object_drop_ref=function(B){Ar(B)},i.wbg.__wbindgen_number_get=function(B,Q){const e=gg(Q),t=typeof e=="number"?e:void 0;Ir()[B/8+1]=nI(t)?0:t,kI()[B/4+0]=!nI(t)},i.wbg.__wbindgen_is_function=function(B){return typeof gg(B)=="function"},i.wbg.__wbg_rawraycolliderintersection_new=function(B){return gC(aS.__wrap(B))},i.wbg.__wbg_rawcontactforceevent_new=function(B){return gC(nW.__wrap(B))},i.wbg.__wbg_call_01734de55d61e11d=function(){return ty(function(B,Q,e){return gC(gg(B).call(gg(Q),gg(e)))},arguments)},i.wbg.__wbg_call_4c92f6aec1e1d6e6=function(){return ty(function(B,Q,e,t){return gC(gg(B).call(gg(Q),gg(e),gg(t)))},arguments)},i.wbg.__wbg_call_776890ca77946e2f=function(){return ty(function(B,Q,e,t,E){return gC(gg(B).call(gg(Q),gg(e),gg(t),gg(E)))},arguments)},i.wbg.__wbg_bind_60a9a80cada2f33c=function(B,Q,e,t){return gC(gg(B).bind(gg(Q),gg(e),gg(t)))},i.wbg.__wbg_buffer_085ec1f694018c4f=function(B){return gC(gg(B).buffer)},i.wbg.__wbg_newwithbyteoffsetandlength_6da8e527659b86aa=function(B,Q,e){return gC(new Uint8Array(gg(B),Q>>>0,e>>>0))},i.wbg.__wbg_new_8125e318e6245eed=function(B){return gC(new Uint8Array(gg(B)))},i.wbg.__wbg_set_5cf90238115182c3=function(B,Q,e){gg(B).set(gg(Q),e>>>0)},i.wbg.__wbg_length_72e2208bbc0efc61=function(B){return gg(B).length},i.wbg.__wbg_newwithbyteoffsetandlength_69193e31c844b792=function(B,Q,e){return gC(new Float32Array(gg(B),Q>>>0,e>>>0))},i.wbg.__wbg_set_6146c51d49a2c0df=function(B,Q,e){gg(B).set(gg(Q),e>>>0)},i.wbg.__wbg_length_d7327c75a759af37=function(B){return gg(B).length},i.wbg.__wbg_newwithlength_68d29ab115d0099c=function(B){return gC(new Float32Array(B>>>0))},i.wbg.__wbindgen_throw=function(B,Q){throw new Error(gL(B,Q))},i.wbg.__wbindgen_memory=function(){return gC(M.memory)},i}();(typeof g=="string"||typeof Request=="function"&&g instanceof Request||typeof URL=="function"&&g instanceof URL)&&(g=fetch(g));const{instance:I,module:C}=await async function(i,B){if(typeof Response=="function"&&i instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(i,B)}catch(e){if(i.headers.get("Content-Type")=="application/wasm")throw e;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e)}const Q=await i.arrayBuffer();return await WebAssembly.instantiate(Q,B)}{const Q=await WebAssembly.instantiate(i,B);return Q instanceof WebAssembly.Instance?{instance:Q,module:i}:Q}}(await g,A);return function(i,B){return M=i.exports,sL.__wbindgen_wasm_module=B,ga=null,$s=null,Aa=null,Ca=null,Ia=null,M}(I,C)}class nn{constructor(A,I,C){this.x=A,this.y=I,this.z=C}}class tA{static new(A,I,C){return new nn(A,I,C)}static intoRaw(A){return new oA(A.x,A.y,A.z)}static zeros(){return tA.new(0,0,0)}static fromRaw(A){if(!A)return null;let I=tA.new(A.x,A.y,A.z);return A.free(),I}static copy(A,I){A.x=I.x,A.y=I.y,A.z=I.z}}class Xh{constructor(A,I,C,i){this.x=A,this.y=I,this.z=C,this.w=i}}class qI{static identity(){return new Xh(0,0,0,1)}static fromRaw(A){if(!A)return null;let I=new Xh(A.x,A.y,A.z,A.w);return A.free(),I}static intoRaw(A){return new vI(A.x,A.y,A.z,A.w)}static copy(A,I){A.x=I.x,A.y=I.y,A.z=I.z,A.w=I.w}}class oM{constructor(A){this.elements=A}get m11(){return this.elements[0]}get m12(){return this.elements[1]}get m21(){return this.m12}get m13(){return this.elements[2]}get m31(){return this.m13}get m22(){return this.elements[3]}get m23(){return this.elements[4]}get m32(){return this.m23}get m33(){return this.elements[5]}}class zh{static fromRaw(A){const I=new oM(A.elements());return A.free(),I}}var hB,SC,$h,AD,Un,KE,Xg,ID,gD,CD,VQ,Cr,iD,ir,Ve;(function(g){g[g.Dynamic=0]="Dynamic",g[g.Fixed=1]="Fixed",g[g.KinematicPositionBased=2]="KinematicPositionBased",g[g.KinematicVelocityBased=3]="KinematicVelocityBased"})(hB||(hB={}));class BD{constructor(A,I,C){this.rawSet=A,this.colliderSet=I,this.handle=C}finalizeDeserialization(A){this.colliderSet=A}isValid(){return this.rawSet.contains(this.handle)}lockTranslations(A,I){return this.rawSet.rbLockTranslations(this.handle,A,I)}lockRotations(A,I){return this.rawSet.rbLockRotations(this.handle,A,I)}setEnabledTranslations(A,I,C,i){return this.rawSet.rbSetEnabledTranslations(this.handle,A,I,C,i)}restrictTranslations(A,I,C,i){this.setEnabledTranslations(A,I,C,i)}setEnabledRotations(A,I,C,i){return this.rawSet.rbSetEnabledRotations(this.handle,A,I,C,i)}restrictRotations(A,I,C,i){this.setEnabledRotations(A,I,C,i)}dominanceGroup(){return this.rawSet.rbDominanceGroup(this.handle)}setDominanceGroup(A){this.rawSet.rbSetDominanceGroup(this.handle,A)}additionalSolverIterations(){return this.rawSet.rbAdditionalSolverIterations(this.handle)}setAdditionalSolverIterations(A){this.rawSet.rbSetAdditionalSolverIterations(this.handle,A)}enableCcd(A){this.rawSet.rbEnableCcd(this.handle,A)}setSoftCcdPrediction(A){this.rawSet.rbSetSoftCcdPrediction(this.handle,A)}softCcdPrediction(){return this.rawSet.rbSoftCcdPrediction(this.handle)}translation(){let A=this.rawSet.rbTranslation(this.handle);return tA.fromRaw(A)}rotation(){let A=this.rawSet.rbRotation(this.handle);return qI.fromRaw(A)}nextTranslation(){let A=this.rawSet.rbNextTranslation(this.handle);return tA.fromRaw(A)}nextRotation(){let A=this.rawSet.rbNextRotation(this.handle);return qI.fromRaw(A)}setTranslation(A,I){this.rawSet.rbSetTranslation(this.handle,A.x,A.y,A.z,I)}setLinvel(A,I){let C=tA.intoRaw(A);this.rawSet.rbSetLinvel(this.handle,C,I),C.free()}gravityScale(){return this.rawSet.rbGravityScale(this.handle)}setGravityScale(A,I){this.rawSet.rbSetGravityScale(this.handle,A,I)}setRotation(A,I){this.rawSet.rbSetRotation(this.handle,A.x,A.y,A.z,A.w,I)}setAngvel(A,I){let C=tA.intoRaw(A);this.rawSet.rbSetAngvel(this.handle,C,I),C.free()}setNextKinematicTranslation(A){this.rawSet.rbSetNextKinematicTranslation(this.handle,A.x,A.y,A.z)}setNextKinematicRotation(A){this.rawSet.rbSetNextKinematicRotation(this.handle,A.x,A.y,A.z,A.w)}linvel(){return tA.fromRaw(this.rawSet.rbLinvel(this.handle))}angvel(){return tA.fromRaw(this.rawSet.rbAngvel(this.handle))}mass(){return this.rawSet.rbMass(this.handle)}effectiveInvMass(){return tA.fromRaw(this.rawSet.rbEffectiveInvMass(this.handle))}invMass(){return this.rawSet.rbInvMass(this.handle)}localCom(){return tA.fromRaw(this.rawSet.rbLocalCom(this.handle))}worldCom(){return tA.fromRaw(this.rawSet.rbWorldCom(this.handle))}invPrincipalInertiaSqrt(){return tA.fromRaw(this.rawSet.rbInvPrincipalInertiaSqrt(this.handle))}principalInertia(){return tA.fromRaw(this.rawSet.rbPrincipalInertia(this.handle))}principalInertiaLocalFrame(){return qI.fromRaw(this.rawSet.rbPrincipalInertiaLocalFrame(this.handle))}effectiveWorldInvInertiaSqrt(){return zh.fromRaw(this.rawSet.rbEffectiveWorldInvInertiaSqrt(this.handle))}effectiveAngularInertia(){return zh.fromRaw(this.rawSet.rbEffectiveAngularInertia(this.handle))}sleep(){this.rawSet.rbSleep(this.handle)}wakeUp(){this.rawSet.rbWakeUp(this.handle)}isCcdEnabled(){return this.rawSet.rbIsCcdEnabled(this.handle)}numColliders(){return this.rawSet.rbNumColliders(this.handle)}collider(A){return this.colliderSet.get(this.rawSet.rbCollider(this.handle,A))}setEnabled(A){this.rawSet.rbSetEnabled(this.handle,A)}isEnabled(){return this.rawSet.rbIsEnabled(this.handle)}bodyType(){return this.rawSet.rbBodyType(this.handle)}setBodyType(A,I){return this.rawSet.rbSetBodyType(this.handle,A,I)}isSleeping(){return this.rawSet.rbIsSleeping(this.handle)}isMoving(){return this.rawSet.rbIsMoving(this.handle)}isFixed(){return this.rawSet.rbIsFixed(this.handle)}isKinematic(){return this.rawSet.rbIsKinematic(this.handle)}isDynamic(){return this.rawSet.rbIsDynamic(this.handle)}linearDamping(){return this.rawSet.rbLinearDamping(this.handle)}angularDamping(){return this.rawSet.rbAngularDamping(this.handle)}setLinearDamping(A){this.rawSet.rbSetLinearDamping(this.handle,A)}recomputeMassPropertiesFromColliders(){this.rawSet.rbRecomputeMassPropertiesFromColliders(this.handle,this.colliderSet.raw)}setAdditionalMass(A,I){this.rawSet.rbSetAdditionalMass(this.handle,A,I)}setAdditionalMassProperties(A,I,C,i,B){let Q=tA.intoRaw(I),e=tA.intoRaw(C),t=qI.intoRaw(i);this.rawSet.rbSetAdditionalMassProperties(this.handle,A,Q,e,t,B),Q.free(),e.free(),t.free()}setAngularDamping(A){this.rawSet.rbSetAngularDamping(this.handle,A)}resetForces(A){this.rawSet.rbResetForces(this.handle,A)}resetTorques(A){this.rawSet.rbResetTorques(this.handle,A)}addForce(A,I){const C=tA.intoRaw(A);this.rawSet.rbAddForce(this.handle,C,I),C.free()}applyImpulse(A,I){const C=tA.intoRaw(A);this.rawSet.rbApplyImpulse(this.handle,C,I),C.free()}addTorque(A,I){const C=tA.intoRaw(A);this.rawSet.rbAddTorque(this.handle,C,I),C.free()}applyTorqueImpulse(A,I){const C=tA.intoRaw(A);this.rawSet.rbApplyTorqueImpulse(this.handle,C,I),C.free()}addForceAtPoint(A,I,C){const i=tA.intoRaw(A),B=tA.intoRaw(I);this.rawSet.rbAddForceAtPoint(this.handle,i,B,C),i.free(),B.free()}applyImpulseAtPoint(A,I,C){const i=tA.intoRaw(A),B=tA.intoRaw(I);this.rawSet.rbApplyImpulseAtPoint(this.handle,i,B,C),i.free(),B.free()}}class DB{constructor(A){this.enabled=!0,this.status=A,this.translation=tA.zeros(),this.rotation=qI.identity(),this.gravityScale=1,this.linvel=tA.zeros(),this.mass=0,this.massOnly=!1,this.centerOfMass=tA.zeros(),this.translationsEnabledX=!0,this.translationsEnabledY=!0,this.angvel=tA.zeros(),this.principalAngularInertia=tA.zeros(),this.angularInertiaLocalFrame=qI.identity(),this.translationsEnabledZ=!0,this.rotationsEnabledX=!0,this.rotationsEnabledY=!0,this.rotationsEnabledZ=!0,this.linearDamping=0,this.angularDamping=0,this.canSleep=!0,this.sleeping=!1,this.ccdEnabled=!1,this.softCcdPrediction=0,this.dominanceGroup=0,this.additionalSolverIterations=0}static dynamic(){return new DB(hB.Dynamic)}static kinematicPositionBased(){return new DB(hB.KinematicPositionBased)}static kinematicVelocityBased(){return new DB(hB.KinematicVelocityBased)}static fixed(){return new DB(hB.Fixed)}static newDynamic(){return new DB(hB.Dynamic)}static newKinematicPositionBased(){return new DB(hB.KinematicPositionBased)}static newKinematicVelocityBased(){return new DB(hB.KinematicVelocityBased)}static newStatic(){return new DB(hB.Fixed)}setDominanceGroup(A){return this.dominanceGroup=A,this}setAdditionalSolverIterations(A){return this.additionalSolverIterations=A,this}setEnabled(A){return this.enabled=A,this}setTranslation(A,I,C){if(typeof A!="number"||typeof I!="number"||typeof C!="number")throw TypeError("The translation components must be numbers.");return this.translation={x:A,y:I,z:C},this}setRotation(A){return qI.copy(this.rotation,A),this}setGravityScale(A){return this.gravityScale=A,this}setAdditionalMass(A){return this.mass=A,this.massOnly=!0,this}setLinvel(A,I,C){if(typeof A!="number"||typeof I!="number"||typeof C!="number")throw TypeError("The linvel components must be numbers.");return this.linvel={x:A,y:I,z:C},this}setAngvel(A){return tA.copy(this.angvel,A),this}setAdditionalMassProperties(A,I,C,i){return this.mass=A,tA.copy(this.centerOfMass,I),tA.copy(this.principalAngularInertia,C),qI.copy(this.angularInertiaLocalFrame,i),this.massOnly=!1,this}enabledTranslations(A,I,C){return this.translationsEnabledX=A,this.translationsEnabledY=I,this.translationsEnabledZ=C,this}restrictTranslations(A,I,C){return this.enabledTranslations(A,I,C)}lockTranslations(){return this.enabledTranslations(!1,!1,!1)}enabledRotations(A,I,C){return this.rotationsEnabledX=A,this.rotationsEnabledY=I,this.rotationsEnabledZ=C,this}restrictRotations(A,I,C){return this.enabledRotations(A,I,C)}lockRotations(){return this.restrictRotations(!1,!1,!1)}setLinearDamping(A){return this.linearDamping=A,this}setAngularDamping(A){return this.angularDamping=A,this}setCanSleep(A){return this.canSleep=A,this}setSleeping(A){return this.sleeping=A,this}setCcdEnabled(A){return this.ccdEnabled=A,this}setSoftCcdPrediction(A){return this.softCcdPrediction=A,this}setUserData(A){return this.userData=A,this}}class cS{constructor(){this.fconv=new Float64Array(1),this.uconv=new Uint32Array(this.fconv.buffer),this.data=new Array,this.size=0}set(A,I){let C=this.index(A);for(;this.data.length<=C;)this.data.push(null);this.data[C]==null&&(this.size+=1),this.data[C]=I}len(){return this.size}delete(A){let I=this.index(A);IA!=null)}index(A){return this.fconv[0]=A,this.uconv[0]}}class nM{constructor(A){this.raw=A||new Lg,this.map=new cS,A&&A.forEachRigidBodyHandle(I=>{this.map.set(I,new BD(A,null,I))})}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}finalizeDeserialization(A){this.map.forEach(I=>I.finalizeDeserialization(A))}createRigidBody(A,I){let C=tA.intoRaw(I.translation),i=qI.intoRaw(I.rotation),B=tA.intoRaw(I.linvel),Q=tA.intoRaw(I.centerOfMass),e=tA.intoRaw(I.angvel),t=tA.intoRaw(I.principalAngularInertia),E=qI.intoRaw(I.angularInertiaLocalFrame),o=this.raw.createRigidBody(I.enabled,C,i,I.gravityScale,I.mass,I.massOnly,Q,B,e,t,E,I.translationsEnabledX,I.translationsEnabledY,I.translationsEnabledZ,I.rotationsEnabledX,I.rotationsEnabledY,I.rotationsEnabledZ,I.linearDamping,I.angularDamping,I.status,I.canSleep,I.sleeping,I.softCcdPrediction,I.ccdEnabled,I.dominanceGroup,I.additionalSolverIterations);C.free(),i.free(),B.free(),Q.free(),e.free(),t.free(),E.free();const s=new BD(this.raw,A,o);return s.userData=I.userData,this.map.set(o,s),s}remove(A,I,C,i,B){for(let Q=0;Qi.unmap(Q)),B.forEachJointHandleAttachedToRigidBody(A,Q=>B.unmap(Q)),this.raw.remove(A,I.raw,C.raw,i.raw,B.raw),this.map.delete(A)}len(){return this.map.len()}contains(A){return this.get(A)!=null}get(A){return this.map.get(A)}forEach(A){this.map.forEach(A)}forEachActiveRigidBody(A,I){A.forEachActiveRigidBodyHandle(C=>{I(this.get(C))})}getAll(){return this.map.getAll()}}class sM{constructor(A){this.raw=A||new RE}free(){this.raw&&this.raw.free(),this.raw=void 0}get dt(){return this.raw.dt}get erp(){return this.raw.erp}get lengthUnit(){return this.raw.lengthUnit}get normalizedAllowedLinearError(){return this.raw.normalizedAllowedLinearError}get normalizedPredictionDistance(){return this.raw.normalizedPredictionDistance}get numSolverIterations(){return this.raw.numSolverIterations}get numAdditionalFrictionIterations(){return this.raw.numAdditionalFrictionIterations}get numInternalPgsIterations(){return this.raw.numInternalPgsIterations}get minIslandSize(){return this.raw.minIslandSize}get maxCcdSubsteps(){return this.raw.maxCcdSubsteps}set dt(A){this.raw.dt=A}set erp(A){this.raw.erp=A}set lengthUnit(A){this.raw.lengthUnit=A}set normalizedAllowedLinearError(A){this.raw.normalizedAllowedLinearError=A}set normalizedPredictionDistance(A){this.raw.normalizedPredictionDistance=A}set numSolverIterations(A){this.raw.numSolverIterations=A}set numAdditionalFrictionIterations(A){this.raw.numAdditionalFrictionIterations=A}set numInternalPgsIterations(A){this.raw.numInternalPgsIterations=A}set minIslandSize(A){this.raw.minIslandSize=A}set maxCcdSubsteps(A){this.raw.maxCcdSubsteps=A}switchToStandardPgsSolver(){this.raw.switchToStandardPgsSolver()}switchToSmallStepsPgsSolver(){this.raw.switchToSmallStepsPgsSolver()}switchToSmallStepsPgsSolverWithoutWarmstart(){this.raw.switchToSmallStepsPgsSolverWithoutWarmstart()}}(function(g){g[g.Revolute=0]="Revolute",g[g.Fixed=1]="Fixed",g[g.Prismatic=2]="Prismatic",g[g.Rope=3]="Rope",g[g.Spring=4]="Spring",g[g.Spherical=5]="Spherical",g[g.Generic=6]="Generic"})(SC||(SC={})),function(g){g[g.AccelerationBased=0]="AccelerationBased",g[g.ForceBased=1]="ForceBased"}($h||($h={})),function(g){g[g.X=1]="X",g[g.Y=2]="Y",g[g.Z=4]="Z",g[g.AngX=8]="AngX",g[g.AngY=16]="AngY",g[g.AngZ=32]="AngZ"}(AD||(AD={}));class fB{constructor(A,I,C){this.rawSet=A,this.bodySet=I,this.handle=C}static newTyped(A,I,C){switch(A.jointType(C)){case vB.Revolute:return new hM(A,I,C);case vB.Prismatic:return new cM(A,I,C);case vB.Fixed:return new aM(A,I,C);case vB.Spring:return new lM(A,I,C);case vB.Rope:return new rM(A,I,C);case vB.Spherical:return new SM(A,I,C);case vB.Generic:return new DM(A,I,C);default:return new fB(A,I,C)}}finalizeDeserialization(A){this.bodySet=A}isValid(){return this.rawSet.contains(this.handle)}body1(){return this.bodySet.get(this.rawSet.jointBodyHandle1(this.handle))}body2(){return this.bodySet.get(this.rawSet.jointBodyHandle2(this.handle))}type(){return this.rawSet.jointType(this.handle)}frameX1(){return qI.fromRaw(this.rawSet.jointFrameX1(this.handle))}frameX2(){return qI.fromRaw(this.rawSet.jointFrameX2(this.handle))}anchor1(){return tA.fromRaw(this.rawSet.jointAnchor1(this.handle))}anchor2(){return tA.fromRaw(this.rawSet.jointAnchor2(this.handle))}setAnchor1(A){const I=tA.intoRaw(A);this.rawSet.jointSetAnchor1(this.handle,I),I.free()}setAnchor2(A){const I=tA.intoRaw(A);this.rawSet.jointSetAnchor2(this.handle,I),I.free()}setContactsEnabled(A){this.rawSet.jointSetContactsEnabled(this.handle,A)}contactsEnabled(){return this.rawSet.jointContactsEnabled(this.handle)}}class hS extends fB{limitsEnabled(){return this.rawSet.jointLimitsEnabled(this.handle,this.rawAxis())}limitsMin(){return this.rawSet.jointLimitsMin(this.handle,this.rawAxis())}limitsMax(){return this.rawSet.jointLimitsMax(this.handle,this.rawAxis())}setLimits(A,I){this.rawSet.jointSetLimits(this.handle,this.rawAxis(),A,I)}configureMotorModel(A){this.rawSet.jointConfigureMotorModel(this.handle,this.rawAxis(),A)}configureMotorVelocity(A,I){this.rawSet.jointConfigureMotorVelocity(this.handle,this.rawAxis(),A,I)}configureMotorPosition(A,I,C){this.rawSet.jointConfigureMotorPosition(this.handle,this.rawAxis(),A,I,C)}configureMotor(A,I,C,i){this.rawSet.jointConfigureMotor(this.handle,this.rawAxis(),A,I,C,i)}}class aM extends fB{}class rM extends fB{}class lM extends fB{}class cM extends hS{rawAxis(){return nS.X}}class hM extends hS{rawAxis(){return nS.AngX}}class DM extends fB{}class SM extends fB{}class oQ{constructor(){}static fixed(A,I,C,i){let B=new oQ;return B.anchor1=A,B.anchor2=C,B.frame1=I,B.frame2=i,B.jointType=SC.Fixed,B}static spring(A,I,C,i,B){let Q=new oQ;return Q.anchor1=i,Q.anchor2=B,Q.length=A,Q.stiffness=I,Q.damping=C,Q.jointType=SC.Spring,Q}static rope(A,I,C){let i=new oQ;return i.anchor1=I,i.anchor2=C,i.length=A,i.jointType=SC.Rope,i}static generic(A,I,C,i){let B=new oQ;return B.anchor1=A,B.anchor2=I,B.axis=C,B.axesMask=i,B.jointType=SC.Generic,B}static spherical(A,I){let C=new oQ;return C.anchor1=A,C.anchor2=I,C.jointType=SC.Spherical,C}static prismatic(A,I,C){let i=new oQ;return i.anchor1=A,i.anchor2=I,i.axis=C,i.jointType=SC.Prismatic,i}static revolute(A,I,C){let i=new oQ;return i.anchor1=A,i.anchor2=I,i.axis=C,i.jointType=SC.Revolute,i}intoRaw(){let A,I,C=tA.intoRaw(this.anchor1),i=tA.intoRaw(this.anchor2),B=!1,Q=0,e=0;switch(this.jointType){case SC.Fixed:let t=qI.intoRaw(this.frame1),E=qI.intoRaw(this.frame2);I=GC.fixed(C,t,i,E),t.free(),E.free();break;case SC.Spring:I=GC.spring(this.length,this.stiffness,this.damping,C,i);break;case SC.Rope:I=GC.rope(this.length,C,i);break;case SC.Prismatic:A=tA.intoRaw(this.axis),this.limitsEnabled&&(B=!0,Q=this.limits[0],e=this.limits[1]),I=GC.prismatic(C,i,A,B,Q,e),A.free();break;case SC.Generic:A=tA.intoRaw(this.axis);let o=this.axesMask;I=GC.generic(C,i,A,o);break;case SC.Spherical:I=GC.spherical(C,i);break;case SC.Revolute:A=tA.intoRaw(this.axis),I=GC.revolute(C,i,A),A.free()}return C.free(),i.free(),I}}class wM{constructor(A){this.raw=A||new oe,this.map=new cS,A&&A.forEachJointHandle(I=>{this.map.set(I,fB.newTyped(A,null,I))})}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}finalizeDeserialization(A){this.map.forEach(I=>I.finalizeDeserialization(A))}createJoint(A,I,C,i,B){const Q=I.intoRaw(),e=this.raw.createJoint(Q,C,i,B);Q.free();let t=fB.newTyped(this.raw,A,e);return this.map.set(e,t),t}remove(A,I){this.raw.remove(A,I),this.unmap(A)}forEachJointHandleAttachedToRigidBody(A,I){this.raw.forEachJointAttachedToRigidBody(A,I)}unmap(A){this.map.delete(A)}len(){return this.map.len()}contains(A){return this.get(A)!=null}get(A){return this.map.get(A)}forEach(A){this.map.forEach(A)}getAll(){return this.map.getAll()}}class ae{constructor(A,I){this.rawSet=A,this.handle=I}static newTyped(A,I){switch(A.jointType(I)){case vB.Revolute:return new uM(A,I);case vB.Prismatic:return new yM(A,I);case vB.Fixed:return new GM(A,I);case vB.Spherical:return new kM(A,I);default:return new ae(A,I)}}isValid(){return this.rawSet.contains(this.handle)}setContactsEnabled(A){this.rawSet.jointSetContactsEnabled(this.handle,A)}contactsEnabled(){return this.rawSet.jointContactsEnabled(this.handle)}}class DS extends ae{}class GM extends ae{}class yM extends DS{rawAxis(){return nS.X}}class uM extends DS{rawAxis(){return nS.AngX}}class kM extends ae{}class dM{constructor(A){this.raw=A||new se,this.map=new cS,A&&A.forEachJointHandle(I=>{this.map.set(I,ae.newTyped(this.raw,I))})}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}createJoint(A,I,C,i){const B=A.intoRaw(),Q=this.raw.createJoint(B,I,C,i);B.free();let e=ae.newTyped(this.raw,Q);return this.map.set(Q,e),e}remove(A,I){this.raw.remove(A,I),this.map.delete(A)}unmap(A){this.map.delete(A)}len(){return this.map.len()}contains(A){return this.get(A)!=null}get(A){return this.map.get(A)}forEach(A){this.map.forEach(A)}forEachJointHandleAttachedToRigidBody(A,I){this.raw.forEachJointAttachedToRigidBody(A,I)}getAll(){return this.map.getAll()}}(function(g){g[g.Average=0]="Average",g[g.Min=1]="Min",g[g.Multiply=2]="Multiply",g[g.Max=3]="Max"})(Un||(Un={}));class MM{constructor(A){this.raw=A||new ck}free(){this.raw&&this.raw.free(),this.raw=void 0}}class pM{constructor(A){this.raw=A||new ne}free(){this.raw&&this.raw.free(),this.raw=void 0}forEachActiveRigidBodyHandle(A){this.raw.forEachActiveRigidBodyHandle(A)}}class UM{constructor(A){this.raw=A||new FE}free(){this.raw&&this.raw.free(),this.raw=void 0}}class fM{constructor(A){this.raw=A||new ot,this.tempManifold=new NM(null)}free(){this.raw&&this.raw.free(),this.raw=void 0}contactPairsWith(A,I){this.raw.contact_pairs_with(A,I)}intersectionPairsWith(A,I){this.raw.intersection_pairs_with(A,I)}contactPair(A,I,C){const i=this.raw.contact_pair(A,I);if(i){const B=i.collider1()!=A;let Q;for(Q=0;QQ(Nn.fromRaw(I,h)),e,t,E,o,s),r.free(),l.free()}intersectionWithShape(A,I,C,i,B,Q,e,t,E,o){let s=tA.intoRaw(C),r=qI.intoRaw(i),l=B.intoRaw(),h=this.raw.intersectionWithShape(A.raw,I.raw,s,r,l,Q,e,t,E,o);return s.free(),r.free(),l.free(),h}projectPoint(A,I,C,i,B,Q,e,t,E){let o=tA.intoRaw(C),s=fn.fromRaw(I,this.raw.projectPoint(A.raw,I.raw,o,i,B,Q,e,t,E));return o.free(),s}projectPointAndGetFeature(A,I,C,i,B,Q,e,t){let E=tA.intoRaw(C),o=fn.fromRaw(I,this.raw.projectPointAndGetFeature(A.raw,I.raw,E,i,B,Q,e,t));return E.free(),o}intersectionsWithPoint(A,I,C,i,B,Q,e,t,E){let o=tA.intoRaw(C);this.raw.intersectionsWithPoint(A.raw,I.raw,o,i,B,Q,e,t,E),o.free()}castShape(A,I,C,i,B,Q,e,t,E,o,s,r,l,h){let w=tA.intoRaw(C),D=qI.intoRaw(i),c=tA.intoRaw(B),G=Q.intoRaw(),y=_n.fromRaw(I,this.raw.castShape(A.raw,I.raw,w,D,c,G,e,t,E,o,s,r,l,h));return w.free(),D.free(),c.free(),G.free(),y}intersectionsWithShape(A,I,C,i,B,Q,e,t,E,o,s){let r=tA.intoRaw(C),l=qI.intoRaw(i),h=B.intoRaw();this.raw.intersectionsWithShape(A.raw,I.raw,r,l,h,Q,e,t,E,o,s),r.free(),l.free(),h.free()}collidersWithAabbIntersectingAabb(A,I,C){let i=tA.intoRaw(A),B=tA.intoRaw(I);this.raw.collidersWithAabbIntersectingAabb(i,B,C),i.free(),B.free()}}class QD{constructor(A){this.raw=A||new hW}free(){this.raw&&this.raw.free(),this.raw=void 0}serializeAll(A,I,C,i,B,Q,e,t,E){let o=tA.intoRaw(A);const s=this.raw.serializeAll(o,I.raw,C.raw,i.raw,B.raw,Q.raw,e.raw,t.raw,E.raw);return o.free(),s}deserializeAll(A){return qr.fromRaw(this.raw.deserializeAll(A))}}class JM{constructor(A,I){this.vertices=A,this.colors=I}}class qM{constructor(A){this.raw=A||new sW}free(){this.raw&&this.raw.free(),this.raw=void 0,this.vertices=void 0,this.colors=void 0}render(A,I,C,i,B){this.raw.render(A.raw,I.raw,C.raw,i.raw,B.raw),this.vertices=this.raw.vertices(),this.colors=this.raw.colors()}}class mM{}class LM{constructor(A,I,C,i,B){this.params=I,this.bodies=C,this.colliders=i,this.queries=B,this.raw=new lW(A),this.rawCharacterCollision=new iL,this._applyImpulsesToDynamicBodies=!1,this._characterMass=null}free(){this.raw&&(this.raw.free(),this.rawCharacterCollision.free()),this.raw=void 0,this.rawCharacterCollision=void 0}up(){return this.raw.up()}setUp(A){let I=tA.intoRaw(A);return this.raw.setUp(I)}applyImpulsesToDynamicBodies(){return this._applyImpulsesToDynamicBodies}setApplyImpulsesToDynamicBodies(A){this._applyImpulsesToDynamicBodies=A}characterMass(){return this._characterMass}setCharacterMass(A){this._characterMass=A}offset(){return this.raw.offset()}setOffset(A){this.raw.setOffset(A)}normalNudgeFactor(){return this.raw.normalNudgeFactor()}setNormalNudgeFactor(A){this.raw.setNormalNudgeFactor(A)}slideEnabled(){return this.raw.slideEnabled()}setSlideEnabled(A){this.raw.setSlideEnabled(A)}autostepMaxHeight(){return this.raw.autostepMaxHeight()}autostepMinWidth(){return this.raw.autostepMinWidth()}autostepIncludesDynamicBodies(){return this.raw.autostepIncludesDynamicBodies()}autostepEnabled(){return this.raw.autostepEnabled()}enableAutostep(A,I,C){this.raw.enableAutostep(A,I,C)}disableAutostep(){return this.raw.disableAutostep()}maxSlopeClimbAngle(){return this.raw.maxSlopeClimbAngle()}setMaxSlopeClimbAngle(A){this.raw.setMaxSlopeClimbAngle(A)}minSlopeSlideAngle(){return this.raw.minSlopeSlideAngle()}setMinSlopeSlideAngle(A){this.raw.setMinSlopeSlideAngle(A)}snapToGroundDistance(){return this.raw.snapToGroundDistance()}enableSnapToGround(A){this.raw.enableSnapToGround(A)}disableSnapToGround(){this.raw.disableSnapToGround()}snapToGroundEnabled(){return this.raw.snapToGroundEnabled()}computeColliderMovement(A,I,C,i,B){let Q=tA.intoRaw(I);this.raw.computeColliderMovement(this.params.dt,this.bodies.raw,this.colliders.raw,this.queries.raw,A.handle,Q,this._applyImpulsesToDynamicBodies,this._characterMass,C,i,this.colliders.castClosure(B)),Q.free()}computedMovement(){return tA.fromRaw(this.raw.computedMovement())}computedGrounded(){return this.raw.computedGrounded()}numComputedCollisions(){return this.raw.numComputedCollisions()}computedCollision(A,I){if(this.raw.computedCollision(A,this.rawCharacterCollision)){let C=this.rawCharacterCollision;return(I=I??new mM).translationDeltaApplied=tA.fromRaw(C.translationDeltaApplied()),I.translationDeltaRemaining=tA.fromRaw(C.translationDeltaRemaining()),I.toi=C.toi(),I.witness1=tA.fromRaw(C.worldWitness1()),I.witness2=tA.fromRaw(C.worldWitness2()),I.normal1=tA.fromRaw(C.worldNormal1()),I.normal2=tA.fromRaw(C.worldNormal2()),I.collider=this.colliders.get(C.handle()),I}return null}}class YM{constructor(A,I,C,i){this.raw=new rW(A.handle),this.bodies=I,this.colliders=C,this.queries=i,this._chassis=A}free(){this.raw&&this.raw.free(),this.raw=void 0}updateVehicle(A,I,C,i){this.raw.update_vehicle(A,this.bodies.raw,this.colliders.raw,this.queries.raw,I,C,this.colliders.castClosure(i))}currentVehicleSpeed(){return this.raw.current_vehicle_speed()}chassis(){return this._chassis}get indexUpAxis(){return this.raw.index_up_axis()}set indexUpAxis(A){this.raw.set_index_up_axis(A)}get indexForwardAxis(){return this.raw.index_forward_axis()}set setIndexForwardAxis(A){this.raw.set_index_forward_axis(A)}addWheel(A,I,C,i,B){let Q=tA.intoRaw(A),e=tA.intoRaw(I),t=tA.intoRaw(C);this.raw.add_wheel(Q,e,t,i,B),Q.free(),e.free(),t.free()}numWheels(){return this.raw.num_wheels()}wheelChassisConnectionPointCs(A){return tA.fromRaw(this.raw.wheel_chassis_connection_point_cs(A))}setWheelChassisConnectionPointCs(A,I){let C=tA.intoRaw(I);this.raw.set_wheel_chassis_connection_point_cs(A,C),C.free()}wheelSuspensionRestLength(A){return this.raw.wheel_suspension_rest_length(A)}setWheelSuspensionRestLength(A,I){this.raw.set_wheel_suspension_rest_length(A,I)}wheelMaxSuspensionTravel(A){return this.raw.wheel_max_suspension_travel(A)}setWheelMaxSuspensionTravel(A,I){this.raw.set_wheel_max_suspension_travel(A,I)}wheelRadius(A){return this.raw.wheel_radius(A)}setWheelRadius(A,I){this.raw.set_wheel_radius(A,I)}wheelSuspensionStiffness(A){return this.raw.wheel_suspension_stiffness(A)}setWheelSuspensionStiffness(A,I){this.raw.set_wheel_suspension_stiffness(A,I)}wheelSuspensionCompression(A){return this.raw.wheel_suspension_compression(A)}setWheelSuspensionCompression(A,I){this.raw.set_wheel_suspension_compression(A,I)}wheelSuspensionRelaxation(A){return this.raw.wheel_suspension_relaxation(A)}setWheelSuspensionRelaxation(A,I){this.raw.set_wheel_suspension_relaxation(A,I)}wheelMaxSuspensionForce(A){return this.raw.wheel_max_suspension_force(A)}setWheelMaxSuspensionForce(A,I){this.raw.set_wheel_max_suspension_force(A,I)}wheelBrake(A){return this.raw.wheel_brake(A)}setWheelBrake(A,I){this.raw.set_wheel_brake(A,I)}wheelSteering(A){return this.raw.wheel_steering(A)}setWheelSteering(A,I){this.raw.set_wheel_steering(A,I)}wheelEngineForce(A){return this.raw.wheel_engine_force(A)}setWheelEngineForce(A,I){this.raw.set_wheel_engine_force(A,I)}wheelDirectionCs(A){return tA.fromRaw(this.raw.wheel_direction_cs(A))}setWheelDirectionCs(A,I){let C=tA.intoRaw(I);this.raw.set_wheel_direction_cs(A,C),C.free()}wheelAxleCs(A){return tA.fromRaw(this.raw.wheel_axle_cs(A))}setWheelAxleCs(A,I){let C=tA.intoRaw(I);this.raw.set_wheel_axle_cs(A,C),C.free()}wheelFrictionSlip(A){return this.raw.wheel_friction_slip(A)}setWheelFrictionSlip(A,I){this.raw.set_wheel_friction_slip(A,I)}wheelSideFrictionStiffness(A){return this.raw.wheel_side_friction_stiffness(A)}setWheelSideFrictionStiffness(A,I){this.raw.set_wheel_side_friction_stiffness(A,I)}wheelRotation(A){return this.raw.wheel_rotation(A)}wheelForwardImpulse(A){return this.raw.wheel_forward_impulse(A)}wheelSideImpulse(A){return this.raw.wheel_side_impulse(A)}wheelSuspensionForce(A){return this.raw.wheel_suspension_force(A)}wheelContactNormal(A){return tA.fromRaw(this.raw.wheel_contact_normal_ws(A))}wheelContactPoint(A){return tA.fromRaw(this.raw.wheel_contact_point_ws(A))}wheelSuspensionLength(A){return this.raw.wheel_suspension_length(A)}wheelHardPoint(A){return tA.fromRaw(this.raw.wheel_hard_point_ws(A))}wheelIsInContact(A){return this.raw.wheel_is_in_contact(A)}wheelGroundObject(A){return this.colliders.get(this.raw.wheel_ground_object(A))}}class qr{constructor(A,I,C,i,B,Q,e,t,E,o,s,r,l,h){this.gravity=A,this.integrationParameters=new sM(I),this.islands=new pM(C),this.broadPhase=new UM(i),this.narrowPhase=new fM(B),this.bodies=new nM(Q),this.colliders=new xM(e),this.impulseJoints=new wM(t),this.multibodyJoints=new dM(E),this.ccdSolver=new MM(o),this.queryPipeline=new KM(s),this.physicsPipeline=new RM(r),this.serializationPipeline=new QD(l),this.debugRenderPipeline=new qM(h),this.characterControllers=new Set,this.vehicleControllers=new Set,this.impulseJoints.finalizeDeserialization(this.bodies),this.bodies.finalizeDeserialization(this.colliders),this.colliders.finalizeDeserialization(this.bodies)}free(){this.integrationParameters.free(),this.islands.free(),this.broadPhase.free(),this.narrowPhase.free(),this.bodies.free(),this.colliders.free(),this.impulseJoints.free(),this.multibodyJoints.free(),this.ccdSolver.free(),this.queryPipeline.free(),this.physicsPipeline.free(),this.serializationPipeline.free(),this.debugRenderPipeline.free(),this.characterControllers.forEach(A=>A.free()),this.vehicleControllers.forEach(A=>A.free()),this.integrationParameters=void 0,this.islands=void 0,this.broadPhase=void 0,this.narrowPhase=void 0,this.bodies=void 0,this.colliders=void 0,this.ccdSolver=void 0,this.impulseJoints=void 0,this.multibodyJoints=void 0,this.queryPipeline=void 0,this.physicsPipeline=void 0,this.serializationPipeline=void 0,this.debugRenderPipeline=void 0,this.characterControllers=void 0,this.vehicleControllers=void 0}static fromRaw(A){return A?new qr(tA.fromRaw(A.takeGravity()),A.takeIntegrationParameters(),A.takeIslandManager(),A.takeBroadPhase(),A.takeNarrowPhase(),A.takeBodies(),A.takeColliders(),A.takeImpulseJoints(),A.takeMultibodyJoints()):null}takeSnapshot(){return this.serializationPipeline.serializeAll(this.gravity,this.integrationParameters,this.islands,this.broadPhase,this.narrowPhase,this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints)}static restoreSnapshot(A){return new QD().deserializeAll(A)}debugRender(){return this.debugRenderPipeline.render(this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints,this.narrowPhase),new JM(this.debugRenderPipeline.vertices,this.debugRenderPipeline.colors)}step(A,I){this.physicsPipeline.step(this.gravity,this.integrationParameters,this.islands,this.broadPhase,this.narrowPhase,this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints,this.ccdSolver,A,I),this.queryPipeline.update(this.bodies,this.colliders)}propagateModifiedBodyPositionsToColliders(){this.bodies.raw.propagateModifiedBodyPositionsToColliders(this.colliders.raw)}updateSceneQueries(){this.propagateModifiedBodyPositionsToColliders(),this.queryPipeline.update(this.bodies,this.colliders)}get timestep(){return this.integrationParameters.dt}set timestep(A){this.integrationParameters.dt=A}get lengthUnit(){return this.integrationParameters.lengthUnit}set lengthUnit(A){this.integrationParameters.lengthUnit=A}get numSolverIterations(){return this.integrationParameters.numSolverIterations}set numSolverIterations(A){this.integrationParameters.numSolverIterations=A}get numAdditionalFrictionIterations(){return this.integrationParameters.numAdditionalFrictionIterations}set numAdditionalFrictionIterations(A){this.integrationParameters.numAdditionalFrictionIterations=A}get numInternalPgsIterations(){return this.integrationParameters.numInternalPgsIterations}set numInternalPgsIterations(A){this.integrationParameters.numInternalPgsIterations=A}switchToStandardPgsSolver(){this.integrationParameters.switchToStandardPgsSolver()}switchToSmallStepsPgsSolver(){this.integrationParameters.switchToSmallStepsPgsSolver()}switchToSmallStepsPgsSolverWithoutWarmstart(){this.integrationParameters.switchToSmallStepsPgsSolverWithoutWarmstart()}createRigidBody(A){return this.bodies.createRigidBody(this.colliders,A)}createCharacterController(A){let I=new LM(A,this.integrationParameters,this.bodies,this.colliders,this.queryPipeline);return this.characterControllers.add(I),I}removeCharacterController(A){this.characterControllers.delete(A),A.free()}createVehicleController(A){let I=new YM(A,this.bodies,this.colliders,this.queryPipeline);return this.vehicleControllers.add(I),I}removeVehicleController(A){this.vehicleControllers.delete(A),A.free()}createCollider(A,I){let C=I?I.handle:void 0;return this.colliders.createCollider(this.bodies,A,C)}createImpulseJoint(A,I,C,i){return this.impulseJoints.createJoint(this.bodies,A,I.handle,C.handle,i)}createMultibodyJoint(A,I,C,i){return this.multibodyJoints.createJoint(A,I.handle,C.handle,i)}getRigidBody(A){return this.bodies.get(A)}getCollider(A){return this.colliders.get(A)}getImpulseJoint(A){return this.impulseJoints.get(A)}getMultibodyJoint(A){return this.multibodyJoints.get(A)}removeRigidBody(A){this.bodies&&this.bodies.remove(A.handle,this.islands,this.colliders,this.impulseJoints,this.multibodyJoints)}removeCollider(A,I){this.colliders&&this.colliders.remove(A.handle,this.islands,this.bodies,I)}removeImpulseJoint(A,I){this.impulseJoints&&this.impulseJoints.remove(A.handle,I)}removeMultibodyJoint(A,I){this.impulseJoints&&this.multibodyJoints.remove(A.handle,I)}forEachCollider(A){this.colliders.forEach(A)}forEachRigidBody(A){this.bodies.forEach(A)}forEachActiveRigidBody(A){this.bodies.forEachActiveRigidBody(this.islands,A)}castRay(A,I,C,i,B,Q,e,t){return this.queryPipeline.castRay(this.bodies,this.colliders,A,I,C,i,B,Q?Q.handle:null,e?e.handle:null,this.colliders.castClosure(t))}castRayAndGetNormal(A,I,C,i,B,Q,e,t){return this.queryPipeline.castRayAndGetNormal(this.bodies,this.colliders,A,I,C,i,B,Q?Q.handle:null,e?e.handle:null,this.colliders.castClosure(t))}intersectionsWithRay(A,I,C,i,B,Q,e,t,E){this.queryPipeline.intersectionsWithRay(this.bodies,this.colliders,A,I,C,i,B,Q,e?e.handle:null,t?t.handle:null,this.colliders.castClosure(E))}intersectionWithShape(A,I,C,i,B,Q,e,t){let E=this.queryPipeline.intersectionWithShape(this.bodies,this.colliders,A,I,C,i,B,Q?Q.handle:null,e?e.handle:null,this.colliders.castClosure(t));return E!=null?this.colliders.get(E):null}projectPoint(A,I,C,i,B,Q,e){return this.queryPipeline.projectPoint(this.bodies,this.colliders,A,I,C,i,B?B.handle:null,Q?Q.handle:null,this.colliders.castClosure(e))}projectPointAndGetFeature(A,I,C,i,B,Q){return this.queryPipeline.projectPointAndGetFeature(this.bodies,this.colliders,A,I,C,i?i.handle:null,B?B.handle:null,this.colliders.castClosure(Q))}intersectionsWithPoint(A,I,C,i,B,Q,e){this.queryPipeline.intersectionsWithPoint(this.bodies,this.colliders,A,this.colliders.castClosure(I),C,i,B?B.handle:null,Q?Q.handle:null,this.colliders.castClosure(e))}castShape(A,I,C,i,B,Q,e,t,E,o,s,r){return this.queryPipeline.castShape(this.bodies,this.colliders,A,I,C,i,B,Q,e,t,E,o?o.handle:null,s?s.handle:null,this.colliders.castClosure(r))}intersectionsWithShape(A,I,C,i,B,Q,e,t,E){this.queryPipeline.intersectionsWithShape(this.bodies,this.colliders,A,I,C,this.colliders.castClosure(i),B,Q,e?e.handle:null,t?t.handle:null,this.colliders.castClosure(E))}collidersWithAabbIntersectingAabb(A,I,C){this.queryPipeline.collidersWithAabbIntersectingAabb(A,I,this.colliders.castClosure(C))}contactPairsWith(A,I){this.narrowPhase.contactPairsWith(A.handle,this.colliders.castClosure(I))}intersectionPairsWith(A,I){this.narrowPhase.intersectionPairsWith(A.handle,this.colliders.castClosure(I))}contactPair(A,I,C){this.narrowPhase.contactPair(A.handle,I.handle,C)}intersectionPair(A,I){return this.narrowPhase.intersectionPair(A.handle,I.handle)}}(function(g){g[g.NONE=0]="NONE",g[g.COLLISION_EVENTS=1]="COLLISION_EVENTS",g[g.CONTACT_FORCE_EVENTS=2]="CONTACT_FORCE_EVENTS"})(VQ||(VQ={}));class HM{free(){this.raw&&this.raw.free(),this.raw=void 0}collider1(){return this.raw.collider1()}collider2(){return this.raw.collider2()}totalForce(){return tA.fromRaw(this.raw.total_force())}totalForceMagnitude(){return this.raw.total_force_magnitude()}maxForceDirection(){return tA.fromRaw(this.raw.max_force_direction())}maxForceMagnitude(){return this.raw.max_force_magnitude()}}class TM{constructor(A,I){this.raw=I||new oL(A)}free(){this.raw&&this.raw.free(),this.raw=void 0}drainCollisionEvents(A){this.raw.drainCollisionEvents(A)}drainContactForceEvents(A){let I=new HM;this.raw.drainContactForceEvents(C=>{I.raw=C,A(I),I.free()})}clear(){this.raw.clear()}}(function(g){g[g.NONE=0]="NONE",g[g.FILTER_CONTACT_PAIRS=1]="FILTER_CONTACT_PAIRS",g[g.FILTER_INTERSECTION_PAIRS=2]="FILTER_INTERSECTION_PAIRS"})(Cr||(Cr={})),function(g){g[g.EMPTY=0]="EMPTY",g[g.COMPUTE_IMPULSE=1]="COMPUTE_IMPULSE"}(iD||(iD={})),function(g){g[g.DYNAMIC_DYNAMIC=1]="DYNAMIC_DYNAMIC",g[g.DYNAMIC_KINEMATIC=12]="DYNAMIC_KINEMATIC",g[g.DYNAMIC_FIXED=2]="DYNAMIC_FIXED",g[g.KINEMATIC_KINEMATIC=52224]="KINEMATIC_KINEMATIC",g[g.KINEMATIC_FIXED=8704]="KINEMATIC_FIXED",g[g.FIXED_FIXED=32]="FIXED_FIXED",g[g.DEFAULT=15]="DEFAULT",g[g.ALL=60943]="ALL"}(ir||(ir={}));class eD{constructor(A,I,C,i){this.colliderSet=A,this.handle=I,this._parent=C,this._shape=i}finalizeDeserialization(A){this.handle!=null&&(this._parent=A.get(this.colliderSet.raw.coParent(this.handle)))}ensureShapeIsCached(){this._shape||(this._shape=QC.fromRaw(this.colliderSet.raw,this.handle))}get shape(){return this.ensureShapeIsCached(),this._shape}isValid(){return this.colliderSet.raw.contains(this.handle)}translation(){return tA.fromRaw(this.colliderSet.raw.coTranslation(this.handle))}rotation(){return qI.fromRaw(this.colliderSet.raw.coRotation(this.handle))}isSensor(){return this.colliderSet.raw.coIsSensor(this.handle)}setSensor(A){this.colliderSet.raw.coSetSensor(this.handle,A)}setShape(A){let I=A.intoRaw();this.colliderSet.raw.coSetShape(this.handle,I),I.free(),this._shape=A}setEnabled(A){this.colliderSet.raw.coSetEnabled(this.handle,A)}isEnabled(){return this.colliderSet.raw.coIsEnabled(this.handle)}setRestitution(A){this.colliderSet.raw.coSetRestitution(this.handle,A)}setFriction(A){this.colliderSet.raw.coSetFriction(this.handle,A)}frictionCombineRule(){return this.colliderSet.raw.coFrictionCombineRule(this.handle)}setFrictionCombineRule(A){this.colliderSet.raw.coSetFrictionCombineRule(this.handle,A)}restitutionCombineRule(){return this.colliderSet.raw.coRestitutionCombineRule(this.handle)}setRestitutionCombineRule(A){this.colliderSet.raw.coSetRestitutionCombineRule(this.handle,A)}setCollisionGroups(A){this.colliderSet.raw.coSetCollisionGroups(this.handle,A)}setSolverGroups(A){this.colliderSet.raw.coSetSolverGroups(this.handle,A)}contactSkin(){return this.colliderSet.raw.coContactSkin(this.handle)}setContactSkin(A){return this.colliderSet.raw.coSetContactSkin(this.handle,A)}activeHooks(){return this.colliderSet.raw.coActiveHooks(this.handle)}setActiveHooks(A){this.colliderSet.raw.coSetActiveHooks(this.handle,A)}activeEvents(){return this.colliderSet.raw.coActiveEvents(this.handle)}setActiveEvents(A){this.colliderSet.raw.coSetActiveEvents(this.handle,A)}activeCollisionTypes(){return this.colliderSet.raw.coActiveCollisionTypes(this.handle)}setContactForceEventThreshold(A){return this.colliderSet.raw.coSetContactForceEventThreshold(this.handle,A)}contactForceEventThreshold(){return this.colliderSet.raw.coContactForceEventThreshold(this.handle)}setActiveCollisionTypes(A){this.colliderSet.raw.coSetActiveCollisionTypes(this.handle,A)}setDensity(A){this.colliderSet.raw.coSetDensity(this.handle,A)}setMass(A){this.colliderSet.raw.coSetMass(this.handle,A)}setMassProperties(A,I,C,i){let B=tA.intoRaw(I),Q=tA.intoRaw(C),e=qI.intoRaw(i);this.colliderSet.raw.coSetMassProperties(this.handle,A,B,Q,e),B.free(),Q.free(),e.free()}setTranslation(A){this.colliderSet.raw.coSetTranslation(this.handle,A.x,A.y,A.z)}setTranslationWrtParent(A){this.colliderSet.raw.coSetTranslationWrtParent(this.handle,A.x,A.y,A.z)}setRotation(A){this.colliderSet.raw.coSetRotation(this.handle,A.x,A.y,A.z,A.w)}setRotationWrtParent(A){this.colliderSet.raw.coSetRotationWrtParent(this.handle,A.x,A.y,A.z,A.w)}shapeType(){return this.colliderSet.raw.coShapeType(this.handle)}halfExtents(){return tA.fromRaw(this.colliderSet.raw.coHalfExtents(this.handle))}setHalfExtents(A){const I=tA.intoRaw(A);this.colliderSet.raw.coSetHalfExtents(this.handle,I)}radius(){return this.colliderSet.raw.coRadius(this.handle)}setRadius(A){this.colliderSet.raw.coSetRadius(this.handle,A)}roundRadius(){return this.colliderSet.raw.coRoundRadius(this.handle)}setRoundRadius(A){this.colliderSet.raw.coSetRoundRadius(this.handle,A)}halfHeight(){return this.colliderSet.raw.coHalfHeight(this.handle)}setHalfHeight(A){this.colliderSet.raw.coSetHalfHeight(this.handle,A)}vertices(){return this.colliderSet.raw.coVertices(this.handle)}indices(){return this.colliderSet.raw.coIndices(this.handle)}heightfieldHeights(){return this.colliderSet.raw.coHeightfieldHeights(this.handle)}heightfieldScale(){let A=this.colliderSet.raw.coHeightfieldScale(this.handle);return tA.fromRaw(A)}heightfieldNRows(){return this.colliderSet.raw.coHeightfieldNRows(this.handle)}heightfieldNCols(){return this.colliderSet.raw.coHeightfieldNCols(this.handle)}parent(){return this._parent}friction(){return this.colliderSet.raw.coFriction(this.handle)}restitution(){return this.colliderSet.raw.coRestitution(this.handle)}density(){return this.colliderSet.raw.coDensity(this.handle)}mass(){return this.colliderSet.raw.coMass(this.handle)}volume(){return this.colliderSet.raw.coVolume(this.handle)}collisionGroups(){return this.colliderSet.raw.coCollisionGroups(this.handle)}solverGroups(){return this.colliderSet.raw.coSolverGroups(this.handle)}containsPoint(A){let I=tA.intoRaw(A),C=this.colliderSet.raw.coContainsPoint(this.handle,I);return I.free(),C}projectPoint(A,I){let C=tA.intoRaw(A),i=bn.fromRaw(this.colliderSet.raw.coProjectPoint(this.handle,C,I));return C.free(),i}intersectsRay(A,I){let C=tA.intoRaw(A.origin),i=tA.intoRaw(A.dir),B=this.colliderSet.raw.coIntersectsRay(this.handle,C,i,I);return C.free(),i.free(),B}castShape(A,I,C,i,B,Q,e,t){let E=tA.intoRaw(A),o=tA.intoRaw(C),s=qI.intoRaw(i),r=tA.intoRaw(B),l=I.intoRaw(),h=OE.fromRaw(this.colliderSet,this.colliderSet.raw.coCastShape(this.handle,E,l,o,s,r,Q,e,t));return E.free(),o.free(),s.free(),r.free(),l.free(),h}castCollider(A,I,C,i,B,Q){let e=tA.intoRaw(A),t=tA.intoRaw(C),E=_n.fromRaw(this.colliderSet,this.colliderSet.raw.coCastCollider(this.handle,e,I.handle,t,i,B,Q));return e.free(),t.free(),E}intersectsShape(A,I,C){let i=tA.intoRaw(I),B=qI.intoRaw(C),Q=A.intoRaw(),e=this.colliderSet.raw.coIntersectsShape(this.handle,Q,i,B);return i.free(),B.free(),Q.free(),e}contactShape(A,I,C,i){let B=tA.intoRaw(I),Q=qI.intoRaw(C),e=A.intoRaw(),t=JE.fromRaw(this.colliderSet.raw.coContactShape(this.handle,e,B,Q,i));return B.free(),Q.free(),e.free(),t}contactCollider(A,I){return JE.fromRaw(this.colliderSet.raw.coContactCollider(this.handle,A.handle,I))}castRay(A,I,C){let i=tA.intoRaw(A.origin),B=tA.intoRaw(A.dir),Q=this.colliderSet.raw.coCastRay(this.handle,i,B,I,C);return i.free(),B.free(),Q}castRayAndGetNormal(A,I,C){let i=tA.intoRaw(A.origin),B=tA.intoRaw(A.dir),Q=On.fromRaw(this.colliderSet.raw.coCastRayAndGetNormal(this.handle,i,B,I,C));return i.free(),B.free(),Q}}(function(g){g[g.Density=0]="Density",g[g.Mass=1]="Mass",g[g.MassProps=2]="MassProps"})(Ve||(Ve={}));class mg{constructor(A){this.enabled=!0,this.shape=A,this.massPropsMode=Ve.Density,this.density=1,this.friction=.5,this.restitution=0,this.rotation=qI.identity(),this.translation=tA.zeros(),this.isSensor=!1,this.collisionGroups=4294967295,this.solverGroups=4294967295,this.frictionCombineRule=Un.Average,this.restitutionCombineRule=Un.Average,this.activeCollisionTypes=ir.DEFAULT,this.activeEvents=VQ.NONE,this.activeHooks=Cr.NONE,this.mass=0,this.centerOfMass=tA.zeros(),this.contactForceEventThreshold=0,this.contactSkin=0,this.principalAngularInertia=tA.zeros(),this.angularInertiaLocalFrame=qI.identity()}static ball(A){const I=new SS(A);return new mg(I)}static capsule(A,I){const C=new yS(A,I);return new mg(C)}static segment(A,I){const C=new uS(A,I);return new mg(C)}static triangle(A,I,C){const i=new kS(A,I,C);return new mg(i)}static roundTriangle(A,I,C,i){const B=new dS(A,I,C,i);return new mg(B)}static polyline(A,I){const C=new MS(A,I);return new mg(C)}static trimesh(A,I,C){const i=new pS(A,I,C);return new mg(i)}static cuboid(A,I,C){const i=new wS(A,I,C);return new mg(i)}static roundCuboid(A,I,C,i){const B=new GS(A,I,C,i);return new mg(B)}static heightfield(A,I,C,i,B){const Q=new US(A,I,C,i,B);return new mg(Q)}static cylinder(A,I){const C=new fS(A,I);return new mg(C)}static roundCylinder(A,I,C){const i=new NS(A,I,C);return new mg(i)}static cone(A,I){const C=new FS(A,I);return new mg(C)}static roundCone(A,I,C){const i=new RS(A,I,C);return new mg(i)}static convexHull(A){const I=new Br(A,null);return new mg(I)}static convexMesh(A,I){const C=new Br(A,I);return new mg(C)}static roundConvexHull(A,I){const C=new Qr(A,null,I);return new mg(C)}static roundConvexMesh(A,I,C){const i=new Qr(A,I,C);return new mg(i)}setTranslation(A,I,C){if(typeof A!="number"||typeof I!="number"||typeof C!="number")throw TypeError("The translation components must be numbers.");return this.translation={x:A,y:I,z:C},this}setRotation(A){return qI.copy(this.rotation,A),this}setSensor(A){return this.isSensor=A,this}setEnabled(A){return this.enabled=A,this}setContactSkin(A){return this.contactSkin=A,this}setDensity(A){return this.massPropsMode=Ve.Density,this.density=A,this}setMass(A){return this.massPropsMode=Ve.Mass,this.mass=A,this}setMassProperties(A,I,C,i){return this.massPropsMode=Ve.MassProps,this.mass=A,tA.copy(this.centerOfMass,I),tA.copy(this.principalAngularInertia,C),qI.copy(this.angularInertiaLocalFrame,i),this}setRestitution(A){return this.restitution=A,this}setFriction(A){return this.friction=A,this}setFrictionCombineRule(A){return this.frictionCombineRule=A,this}setRestitutionCombineRule(A){return this.restitutionCombineRule=A,this}setCollisionGroups(A){return this.collisionGroups=A,this}setSolverGroups(A){return this.solverGroups=A,this}setActiveHooks(A){return this.activeHooks=A,this}setActiveEvents(A){return this.activeEvents=A,this}setActiveCollisionTypes(A){return this.activeCollisionTypes=A,this}setContactForceEventThreshold(A){return this.contactForceEventThreshold=A,this}}class xM{constructor(A){this.raw=A||new Zg,this.map=new cS,A&&A.forEachColliderHandle(I=>{this.map.set(I,new eD(this,I,null))})}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}castClosure(A){return I=>A?A(this.get(I)):void 0}finalizeDeserialization(A){this.map.forEach(I=>I.finalizeDeserialization(A))}createCollider(A,I,C){let i=C!=null&&C!=null;if(i&&isNaN(C))throw Error("Cannot create a collider with a parent rigid-body handle that is not a number.");let B=I.shape.intoRaw(),Q=tA.intoRaw(I.translation),e=qI.intoRaw(I.rotation),t=tA.intoRaw(I.centerOfMass),E=tA.intoRaw(I.principalAngularInertia),o=qI.intoRaw(I.angularInertiaLocalFrame),s=this.raw.createCollider(I.enabled,B,Q,e,I.massPropsMode,I.mass,t,E,o,I.density,I.friction,I.restitution,I.frictionCombineRule,I.restitutionCombineRule,I.isSensor,I.collisionGroups,I.solverGroups,I.activeCollisionTypes,I.activeHooks,I.activeEvents,I.contactForceEventThreshold,I.contactSkin,i,i?C:0,A.raw);B.free(),Q.free(),e.free(),t.free(),E.free(),o.free();let r=i?A.get(C):null,l=new eD(this,s,r,I.shape);return this.map.set(s,l),l}remove(A,I,C,i){this.raw.remove(A,I.raw,C.raw,i),this.unmap(A)}unmap(A){this.map.delete(A)}get(A){return this.map.get(A)}len(){return this.map.len()}contains(A){return this.get(A)!=null}forEach(A){this.map.forEach(A)}getAll(){return this.map.getAll()}}function DW(g,A,I,C){return new(I||(I=Promise))(function(i,B){function Q(E){try{t(C.next(E))}catch(o){B(o)}}function e(E){try{t(C.throw(E))}catch(o){B(o)}}function t(E){var o;E.done?i(E.value):(o=E.value,o instanceof I?o:new I(function(s){s(o)})).then(Q,e)}t((C=C.apply(g,[])).next())})}for(var SW={byteLength:function(g){var A=BF(g),I=A[0],C=A[1];return 3*(I+C)/4-C},toByteArray:function(g){var A,I,C=BF(g),i=C[0],B=C[1],Q=new wW(function(E,o,s){return 3*(o+s)/4-s}(0,i,B)),e=0,t=B>0?i-4:i;for(I=0;I>16&255,Q[e++]=A>>8&255,Q[e++]=255&A;return B===2&&(A=rB[g.charCodeAt(I)]<<2|rB[g.charCodeAt(I+1)]>>4,Q[e++]=255&A),B===1&&(A=rB[g.charCodeAt(I)]<<10|rB[g.charCodeAt(I+1)]<<4|rB[g.charCodeAt(I+2)]>>2,Q[e++]=A>>8&255,Q[e++]=255&A),Q},fromByteArray:function(g){for(var A,I=g.length,C=I%3,i=[],B=16383,Q=0,e=I-C;Qe?e:Q+B));return C===1?(A=g[I-1],i.push(nQ[A>>2]+nQ[A<<4&63]+"==")):C===2&&(A=(g[I-2]<<8)+g[I-1],i.push(nQ[A>>10]+nQ[A>>4&63]+nQ[A<<2&63]+"=")),i.join("")}},nQ=[],rB=[],wW=typeof Uint8Array<"u"?Uint8Array:Array,Ey="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",qo=0,GW=Ey.length;qo0)throw new Error("Invalid string. Length must be a multiple of 4");var I=g.indexOf("=");return I===-1&&(I=A),[I,I===A?0:4-I%4]}function yW(g,A,I){for(var C,i,B=[],Q=A;Q>18&63]+nQ[i>>12&63]+nQ[i>>6&63]+nQ[63&i]);return B.join("")}function rL(){return DW(this,void 0,void 0,function*(){yield sL(SW.toByteArray("AGFzbQEAAAAB4QuWAWACf38AYAN/f38AYAR/f39/AGACf38Bf2ABfwF/YAN/f38Bf2ABfwBgBX9/f39/AGAGf39/f31/AGACf3wBf2ABfwF9YAV/f399fwBgBn9/f39/fwBgBX9/f399AGADf399AGADf3x/AGAEf39/fwF/YAZ/f39/f30AYAR/f399AX9gBH9/f38BfWAAAX9gA39/fwF9YAN/f30Bf2ACf30AYAZ/f39/f38Bf2ACf3wBfWADf3x9AGADf398AGAEf3x/fwBgAX0BfWAMf39/f39/f39/f31/AX9gB39/f39/f38AYAh/f39/f39/fwBgAn9/AX1gBX9/f39/AX9gCX9/f39/f39/fwBgAABgAX8BfGAIf39/f39/f30AYAt/f39/f39/f319fwBgA35+fwF+YAN/fH8BfWADfX19AX9gD39/f39/f39/f39/f39/fwBgBn99f39/fQBgBX9/fX9/AGAGf3x/f39/AGADf3x/AX9gBX98f39/AGAGf3x9fX19AGACfX0Bf2AFf3x9fX0AYAF8AX9gCn99fX9/f39/f38AYAp/f39/f39/f39/AGAJf39/f39/fX9/AX9gCn9/f39/f31/f38AYAZ/fX1/f30AYAt/f39/f39/f39/fwBgBH99f38Bf2AGf39/f319AGAPf39/f39/f39/f398f3x/AGADf319AGAPf39/f399f39/f398f3x/AX9gAX0Bf2ADf3x8AX9gBX98f319AGAEf3x9fwBgAn98AGACf3wBfGAFf398fH8BfGADfX1/AX9gBH19fX0Bf2AOf39/f39/f39/f39/f38AYAN/fX8AYAd/f39/f399AGALf39/f39/f399f38AYAx/fX9/f39/f39/f38Bf2APf39/f39/f39/f39/fX1/AGAIf39/f31/f38AYAZ/f39/f38BfWAJf39/f39/f399AGAIf39/f399f38AYAl/f39/f31/f38AYBJ/f39/f39/f39/f399f319fX0AYAd/f39/f39/AX1gCH9/f399fX9/AGAGf399f31/AGAJf39/f39/fX9/AGAHf399f399fwBgC39/f39/f39/fX1/AX9gC39/f31/f39/fX9/AGAIf31/f39/f38AYAp/fX9/f39/f39/AGAMf39/f31/f39/f39/AGAHf39/f39/fQF/YAZ/fX9/f38AYAZ/fH9/f30Bf2AIf31/fX99f38AYAt/f39/fX9/f39/fwBgBH9/fX8AYAN/fn4Bf2AFf39+fn8AYAd/f39/f31/AX9gEn9/f39/f399fX9/f39/fH98fwF/YAZ/f39/fX0Bf2AQf39/f399f39/f39/fH98fwBgCn9/f39/f39/f38Bf2AGf3x/f31/AX9gCn98f39/f399fX8Bf2Abf39/f319f39/f39/f39/f39/fX1/f399f39/AXxgDX9/f39/f399fX19fX0AYA1/f39/f39/f398f3x/AGAbf39/f39/f31/f399fX1/f39/f39/f319f3x/AGAHf39/f399fwF9YAl/f39/f39+fn4AYAZ/f39/f30Bf2ANf39/f39/f39/fH98fwF/YAx/f39/f39/f3x/fH8Bf2AFf3x/f38Bf2AHf39/f39/fwF/YAh/fH98f319fwF/YAN/fn8Bf2AGf3x/f31/AX1gA35/fwF/YAJ9fQF9YAV/fH9/fQF/YAR/fH9/AX9gBX19fX9/AX9gA31/fwF/YA5/fX9/f3x/f399f39/fwBgBH98fH0Bf2AHf3x9f39/fwBgBn98fX9/fwBgE39/f39/f39/f39/f39/f39/f38AYAR/f399AGAJf31/f39/f39/AGACf34AYAN/fH8BfGAFf39/f30Bf2AGf3x/fX19AGAHf3x/fX19fQBgBH99fX8AYAZ/f319fX0AYAd/fH19fX1/AGAGf3x9fX1/AGAFf39+f38AYAR/fn9/AGAEf31/fwBgBX9/fH9/AAKFBhYDd2JnFV9fd2JpbmRnZW5fbnVtYmVyX25ldwA0A3diZxZfX3diaW5kZ2VuX2Jvb2xlYW5fZ2V0AAQDd2JnGl9fd2JpbmRnZW5fb2JqZWN0X2Ryb3BfcmVmAAYDd2JnFV9fd2JpbmRnZW5fbnVtYmVyX2dldAAAA3diZxZfX3diaW5kZ2VuX2lzX2Z1bmN0aW9uAAQDd2JnJF9fd2JnX3Jhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX25ldwAEA3diZx5fX3diZ19yYXdjb250YWN0Zm9yY2VldmVudF9uZXcABAN3YmcbX193YmdfY2FsbF8wMTczNGRlNTVkNjFlMTFkAAUDd2JnG19fd2JnX2NhbGxfNGM5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YXV0b3N0ZXBNYXhIZWlnaHQAnAowcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9hdXRvc3RlcE1pbldpZHRoAJ0KPXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfYXV0b3N0ZXBJbmNsdWRlc0R5bmFtaWNCb2RpZXMApAovcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9hdXRvc3RlcEVuYWJsZWQAnQsucmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9lbmFibGVBdXRvc3RlcADYCS9yYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2Rpc2FibGVBdXRvc3RlcACeCzJyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX21heFNsb3BlQ2xpbWJBbmdsZQC6CzVyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NldE1heFNsb3BlQ2xpbWJBbmdsZQCfCzJyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX21pblNsb3BlU2xpZGVBbmdsZQC7CzVyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NldE1pblNsb3BlU2xpZGVBbmdsZQCgCzRyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NuYXBUb0dyb3VuZERpc3RhbmNlAJ4KMnJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfZW5hYmxlU25hcFRvR3JvdW5kAN4KM3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfZGlzYWJsZVNuYXBUb0dyb3VuZAChCzNyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NuYXBUb0dyb3VuZEVuYWJsZWQAogs3cmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9jb21wdXRlQ29sbGlkZXJNb3ZlbWVudACfBTByYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2NvbXB1dGVkTW92ZW1lbnQA0gcwcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9jb21wdXRlZEdyb3VuZGVkALwLNXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfbnVtQ29tcHV0ZWRDb2xsaXNpb25zAL0LMXJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfY29tcHV0ZWRDb2xsaXNpb24AwAcgX193YmdfcmF3Y2hhcmFjdGVyY29sbGlzaW9uX2ZyZWUA2AsZcmF3Y2hhcmFjdGVyY29sbGlzaW9uX25ldwDHCRxyYXdjaGFyYWN0ZXJjb2xsaXNpb25faGFuZGxlANkLLXJhd2NoYXJhY3RlcmNvbGxpc2lvbl90cmFuc2xhdGlvbkRlbHRhQXBwbGllZADTBy9yYXdjaGFyYWN0ZXJjb2xsaXNpb25fdHJhbnNsYXRpb25EZWx0YVJlbWFpbmluZwDUBxlyYXdjaGFyYWN0ZXJjb2xsaXNpb25fdG9pAL4LI3Jhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZFdpdG5lc3MxANUHI3Jhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZFdpdG5lc3MyANoEInJhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZE5vcm1hbDEA1gcicmF3Y2hhcmFjdGVyY29sbGlzaW9uX3dvcmxkTm9ybWFsMgCOBS1fX3diZ19yYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX2ZyZWUAnAcmcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9uZXcAyAk4cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9jdXJyZW50X3ZlaGljbGVfc3BlZWQAvwsqcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9jaGFzc2lzAMALMHJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfaW5kZXhfdXBfYXhpcwDBCzRyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF9pbmRleF91cF9heGlzAKMLNXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfaW5kZXhfZm9yd2FyZF9heGlzAMILOXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X2luZGV4X2ZvcndhcmRfYXhpcwCkCyxyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX2FkZF93aGVlbADFBS1yYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX251bV93aGVlbHMAwwsxcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl91cGRhdGVfdmVoaWNsZQCFBkRyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2NoYXNzaXNfY29ubmVjdGlvbl9wb2ludF9jcwCGBkhyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9jaGFzc2lzX2Nvbm5lY3Rpb25fcG9pbnRfY3MApQc/cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9zdXNwZW5zaW9uX3Jlc3RfbGVuZ3RoAJAIQ3Jhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX3N1c3BlbnNpb25fcmVzdF9sZW5ndGgAgQo+cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9tYXhfc3VzcGVuc2lvbl90cmF2ZWwAkQhCcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfbWF4X3N1c3BlbnNpb25fdHJhdmVsAIIKL3Jhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfcmFkaXVzAJIIM3Jhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX3JhZGl1cwCDCj1yYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX3N1c3BlbnNpb25fc3RpZmZuZXNzAJMIQXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX3N1c3BlbnNpb25fc3RpZmZuZXNzAIQKP3Jhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfc3VzcGVuc2lvbl9jb21wcmVzc2lvbgCUCENyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9zdXNwZW5zaW9uX2NvbXByZXNzaW9uAIUKPnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfc3VzcGVuc2lvbl9yZWxheGF0aW9uAJUIQnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX3N1c3BlbnNpb25fcmVsYXhhdGlvbgCGCj1yYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX21heF9zdXNwZW5zaW9uX2ZvcmNlAJYIQXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX21heF9zdXNwZW5zaW9uX2ZvcmNlAIcKLnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfYnJha2UAlwgycmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfYnJha2UAiAoxcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9zdGVlcmluZwCYCDVyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9zdGVlcmluZwCJCjVyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2VuZ2luZV9mb3JjZQCZCDlyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9lbmdpbmVfZm9yY2UAigo1cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9kaXJlY3Rpb25fY3MAhwY5cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfZGlyZWN0aW9uX2NzAKYHMHJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfYXhsZV9jcwCIBjRyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9heGxlX2NzAKcHNnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfZnJpY3Rpb25fc2xpcACaCDpyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9mcmljdGlvbl9zbGlwAIsKQHJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfc2lkZV9mcmljdGlvbl9zdGlmZm5lc3MAmwhEcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfc2lkZV9mcmljdGlvbl9zdGlmZm5lc3MAjAoxcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9yb3RhdGlvbgCcCDhyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2ZvcndhcmRfaW1wdWxzZQCdCDVyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX3NpZGVfaW1wdWxzZQCeCDlyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX3N1c3BlbnNpb25fZm9yY2UAnwg6cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9jb250YWN0X25vcm1hbF93cwCJBjlyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2NvbnRhY3RfcG9pbnRfd3MAigY6cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9zdXNwZW5zaW9uX2xlbmd0aACgCDZyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2hhcmRfcG9pbnRfd3MAiwY2cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9pc19pbl9jb250YWN0AI4JNnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfZ3JvdW5kX29iamVjdACwBxdfX3diZ19yYXdjY2Rzb2x2ZXJfZnJlZQDwCRByYXdjY2Rzb2x2ZXJfbmV3APEJHHJhd2ltcHVsc2Vqb2ludHNldF9qb2ludFR5cGUAsQcjcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Qm9keUhhbmRsZTEA8QgjcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Qm9keUhhbmRsZTIAwAgfcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50RnJhbWVYMQCRBh9yYXdpbXB1bHNlam9pbnRzZXRfam9pbnRGcmFtZVgyAJIGH3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEFuY2hvcjEAkwYfcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50QW5jaG9yMgCUBiJyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRTZXRBbmNob3IxAKEHInJhd2ltcHVsc2Vqb2ludHNldF9qb2ludFNldEFuY2hvcjIAogcncmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Q29udGFjdHNFbmFibGVkAMEIKnJhd2ltcHVsc2Vqb2ludHNldF9qb2ludFNldENvbnRhY3RzRW5hYmxlZACXCSVyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRMaW1pdHNFbmFibGVkAKgHIXJhd2ltcHVsc2Vqb2ludHNldF9qb2ludExpbWl0c01pbgDXByFyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRMaW1pdHNNYXgA2AchcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50U2V0TGltaXRzAKkHK3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludENvbmZpZ3VyZU1vdG9yTW9kZWwAswcucmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Q29uZmlndXJlTW90b3JWZWxvY2l0eQCMCC5yYXdpbXB1bHNlam9pbnRzZXRfam9pbnRDb25maWd1cmVNb3RvclBvc2l0aW9uAI0IJnJhd2ltcHVsc2Vqb2ludHNldF9qb2ludENvbmZpZ3VyZU1vdG9yAI4IHV9fd2JnX3Jhd2ltcHVsc2Vqb2ludHNldF9mcmVlAPIJFnJhd2ltcHVsc2Vqb2ludHNldF9uZXcA8wkecmF3aW1wdWxzZWpvaW50c2V0X2NyZWF0ZUpvaW50ANwIGXJhd2ltcHVsc2Vqb2ludHNldF9yZW1vdmUA0gkWcmF3aW1wdWxzZWpvaW50c2V0X2xlbgDECxtyYXdpbXB1bHNlam9pbnRzZXRfY29udGFpbnMA2QklcmF3aW1wdWxzZWpvaW50c2V0X2ZvckVhY2hKb2ludEhhbmRsZQDZBTJyYXdpbXB1bHNlam9pbnRzZXRfZm9yRWFjaEpvaW50QXR0YWNoZWRUb1JpZ2lkQm9keQCYCSNfX3diZ19yYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfZnJlZQDYCxxyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbmV3APQJG3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19kdADFCxxyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfZXJwAMYLLHJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19udW1Tb2x2ZXJJdGVyYXRpb25zANoLJ3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19tYXhDY2RTdWJzdGVwcwDHCyNyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbGVuZ3RoVW5pdADICx9yYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X2R0AKULIHJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfZXJwAKYLOXJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbm9ybWFsaXplZEFsbG93ZWRMaW5lYXJFcnJvcgCnCzlyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X25vcm1hbGl6ZWRQcmVkaWN0aW9uRGlzdGFuY2UAqAswcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9udW1Tb2x2ZXJJdGVyYXRpb25zAPEKKnJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbWluSXNsYW5kU2l6ZQCpCytyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X21heENjZFN1YnN0ZXBzAKoLJ3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbGVuZ3RoVW5pdACrCzJyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc3dpdGNoVG9TdGFuZGFyZFBnc1NvbHZlcgD9CjRyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc3dpdGNoVG9TbWFsbFN0ZXBzUGdzU29sdmVyAP4KRHJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zd2l0Y2hUb1NtYWxsU3RlcHNQZ3NTb2x2ZXJXaXRob3V0V2FybXN0YXJ0AP8KG19fd2JnX3Jhd2lzbGFuZG1hbmFnZXJfZnJlZQD1CRRyYXdpc2xhbmRtYW5hZ2VyX25ldwDTCS1yYXdpc2xhbmRtYW5hZ2VyX2ZvckVhY2hBY3RpdmVSaWdpZEJvZHlIYW5kbGUA3QUaX193YmdfcmF3Z2VuZXJpY2pvaW50X2ZyZWUA2AsXcmF3Z2VuZXJpY2pvaW50X2dlbmVyaWMAoAUWcmF3Z2VuZXJpY2pvaW50X3NwcmluZwCHBRRyYXdnZW5lcmljam9pbnRfcm9wZQCKBRlyYXdnZW5lcmljam9pbnRfc3BoZXJpY2FsAIsFGXJhd2dlbmVyaWNqb2ludF9wcmlzbWF0aWMA4wIVcmF3Z2VuZXJpY2pvaW50X2ZpeGVkAOQCGHJhd2dlbmVyaWNqb2ludF9yZXZvbHV0ZQCrAx5yYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludFR5cGUA5AUhcmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRGcmFtZVgxAKEFIXJhd211bHRpYm9keWpvaW50c2V0X2pvaW50RnJhbWVYMgCiBSFyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludEFuY2hvcjEAowUhcmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRBbmNob3IyAKQFKXJhd211bHRpYm9keWpvaW50c2V0X2pvaW50Q29udGFjdHNFbmFibGVkAOMGLHJhd211bHRpYm9keWpvaW50c2V0X2pvaW50U2V0Q29udGFjdHNFbmFibGVkAPUGJ3Jhd211bHRpYm9keWpvaW50c2V0X2pvaW50TGltaXRzRW5hYmxlZADeBSNyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludExpbWl0c01pbgD2BSNyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludExpbWl0c01heAD3BR9fX3diZ19yYXdtdWx0aWJvZHlqb2ludHNldF9mcmVlAPYJGHJhd211bHRpYm9keWpvaW50c2V0X25ldwD3CSByYXdtdWx0aWJvZHlqb2ludHNldF9jcmVhdGVKb2ludADdCBtyYXdtdWx0aWJvZHlqb2ludHNldF9yZW1vdmUAogodcmF3bXVsdGlib2R5am9pbnRzZXRfY29udGFpbnMApAgncmF3bXVsdGlib2R5am9pbnRzZXRfZm9yRWFjaEpvaW50SGFuZGxlAL8JNHJhd211bHRpYm9keWpvaW50c2V0X2ZvckVhY2hKb2ludEF0dGFjaGVkVG9SaWdpZEJvZHkAmQkdcmF3cmlnaWRib2R5c2V0X3JiVHJhbnNsYXRpb24AlQYacmF3cmlnaWRib2R5c2V0X3JiUm90YXRpb24AwQYXcmF3cmlnaWRib2R5c2V0X3JiU2xlZXAA5wkccmF3cmlnaWRib2R5c2V0X3JiSXNTbGVlcGluZwDCCBpyYXdyaWdpZGJvZHlzZXRfcmJJc01vdmluZwDyCCFyYXdyaWdpZGJvZHlzZXRfcmJOZXh0VHJhbnNsYXRpb24AlgYecmF3cmlnaWRib2R5c2V0X3JiTmV4dFJvdGF0aW9uAJcGIHJhd3JpZ2lkYm9keXNldF9yYlNldFRyYW5zbGF0aW9uALsKHXJhd3JpZ2lkYm9keXNldF9yYlNldFJvdGF0aW9uAK8KG3Jhd3JpZ2lkYm9keXNldF9yYlNldExpbnZlbADJBxtyYXdyaWdpZGJvZHlzZXRfcmJTZXRBbmd2ZWwAygctcmF3cmlnaWRib2R5c2V0X3JiU2V0TmV4dEtpbmVtYXRpY1RyYW5zbGF0aW9uAP8HKnJhd3JpZ2lkYm9keXNldF9yYlNldE5leHRLaW5lbWF0aWNSb3RhdGlvbgDQBjZyYXdyaWdpZGJvZHlzZXRfcmJSZWNvbXB1dGVNYXNzUHJvcGVydGllc0Zyb21Db2xsaWRlcnMA6AcjcmF3cmlnaWRib2R5c2V0X3JiU2V0QWRkaXRpb25hbE1hc3MAgAgtcmF3cmlnaWRib2R5c2V0X3JiU2V0QWRkaXRpb25hbE1hc3NQcm9wZXJ0aWVzAKsFGHJhd3JpZ2lkYm9keXNldF9yYkxpbnZlbADCBhhyYXdyaWdpZGJvZHlzZXRfcmJBbmd2ZWwAmAYicmF3cmlnaWRib2R5c2V0X3JiTG9ja1RyYW5zbGF0aW9ucwDRBihyYXdyaWdpZGJvZHlzZXRfcmJTZXRFbmFibGVkVHJhbnNsYXRpb25zAJcKH3Jhd3JpZ2lkYm9keXNldF9yYkxvY2tSb3RhdGlvbnMA0gYlcmF3cmlnaWRib2R5c2V0X3JiU2V0RW5hYmxlZFJvdGF0aW9ucwC0BSByYXdyaWdpZGJvZHlzZXRfcmJEb21pbmFuY2VHcm91cADDCCNyYXdyaWdpZGJvZHlzZXRfcmJTZXREb21pbmFuY2VHcm91cAClCBtyYXdyaWdpZGJvZHlzZXRfcmJFbmFibGVDY2QAmgkmcmF3cmlnaWRib2R5c2V0X3JiU2V0U29mdENjZFByZWRpY3Rpb24AyQkWcmF3cmlnaWRib2R5c2V0X3JiTWFzcwCBCBlyYXdyaWdpZGJvZHlzZXRfcmJJbnZNYXNzAMQIInJhd3JpZ2lkYm9keXNldF9yYkVmZmVjdGl2ZUludk1hc3MAmQYacmF3cmlnaWRib2R5c2V0X3JiTG9jYWxDb20AmgYacmF3cmlnaWRib2R5c2V0X3JiV29ybGRDb20AmwYpcmF3cmlnaWRib2R5c2V0X3JiSW52UHJpbmNpcGFsSW5lcnRpYVNxcnQAnAYscmF3cmlnaWRib2R5c2V0X3JiUHJpbmNpcGFsSW5lcnRpYUxvY2FsRnJhbWUAnQYicmF3cmlnaWRib2R5c2V0X3JiUHJpbmNpcGFsSW5lcnRpYQDkBi5yYXdyaWdpZGJvZHlzZXRfcmJFZmZlY3RpdmVXb3JsZEludkluZXJ0aWFTcXJ0AMYFKXJhd3JpZ2lkYm9keXNldF9yYkVmZmVjdGl2ZUFuZ3VsYXJJbmVydGlhAMMGGHJhd3JpZ2lkYm9keXNldF9yYldha2VVcACCCB5yYXdyaWdpZGJvZHlzZXRfcmJJc0NjZEVuYWJsZWQAxQgjcmF3cmlnaWRib2R5c2V0X3JiU29mdENjZFByZWRpY3Rpb24AxggecmF3cmlnaWRib2R5c2V0X3JiTnVtQ29sbGlkZXJzAMcIGnJhd3JpZ2lkYm9keXNldF9yYkNvbGxpZGVyAKoHGnJhd3JpZ2lkYm9keXNldF9yYkJvZHlUeXBlAMgIHXJhd3JpZ2lkYm9keXNldF9yYlNldEJvZHlUeXBlALMIGXJhd3JpZ2lkYm9keXNldF9yYklzRml4ZWQAqggdcmF3cmlnaWRib2R5c2V0X3JiSXNLaW5lbWF0aWMAqwgbcmF3cmlnaWRib2R5c2V0X3JiSXNEeW5hbWljALQIH3Jhd3JpZ2lkYm9keXNldF9yYkxpbmVhckRhbXBpbmcAyQggcmF3cmlnaWRib2R5c2V0X3JiQW5ndWxhckRhbXBpbmcAyggicmF3cmlnaWRib2R5c2V0X3JiU2V0TGluZWFyRGFtcGluZwDaCSNyYXdyaWdpZGJvZHlzZXRfcmJTZXRBbmd1bGFyRGFtcGluZwDKCRxyYXdyaWdpZGJvZHlzZXRfcmJTZXRFbmFibGVkAPAHG3Jhd3JpZ2lkYm9keXNldF9yYklzRW5hYmxlZADLCB5yYXdyaWdpZGJvZHlzZXRfcmJHcmF2aXR5U2NhbGUAzAghcmF3cmlnaWRib2R5c2V0X3JiU2V0R3Jhdml0eVNjYWxlALcHHXJhd3JpZ2lkYm9keXNldF9yYlJlc2V0Rm9yY2VzAMsJHnJhd3JpZ2lkYm9keXNldF9yYlJlc2V0VG9ycXVlcwDMCRpyYXdyaWdpZGJvZHlzZXRfcmJBZGRGb3JjZQDLBx5yYXdyaWdpZGJvZHlzZXRfcmJBcHBseUltcHVsc2UAzAcbcmF3cmlnaWRib2R5c2V0X3JiQWRkVG9ycXVlAM0HJHJhd3JpZ2lkYm9keXNldF9yYkFwcGx5VG9ycXVlSW1wdWxzZQDOByFyYXdyaWdpZGJvZHlzZXRfcmJBZGRGb3JjZUF0UG9pbnQA6wYlcmF3cmlnaWRib2R5c2V0X3JiQXBwbHlJbXB1bHNlQXRQb2ludADpBSxyYXdyaWdpZGJvZHlzZXRfcmJBZGRpdGlvbmFsU29sdmVySXRlcmF0aW9ucwDNCC9yYXdyaWdpZGJvZHlzZXRfcmJTZXRBZGRpdGlvbmFsU29sdmVySXRlcmF0aW9ucwDbCRpyYXdyaWdpZGJvZHlzZXRfcmJVc2VyRGF0YQDOCB1yYXdyaWdpZGJvZHlzZXRfcmJTZXRVc2VyRGF0YQCPCRpfX3diZ19yYXdyaWdpZGJvZHlzZXRfZnJlZQDiBxNyYXdyaWdpZGJvZHlzZXRfbmV3AOMHH3Jhd3JpZ2lkYm9keXNldF9jcmVhdGVSaWdpZEJvZHkAtQMWcmF3cmlnaWRib2R5c2V0X3JlbW92ZQCmBRhyYXdyaWdpZGJvZHlzZXRfY29udGFpbnMA3AkmcmF3cmlnaWRib2R5c2V0X2ZvckVhY2hSaWdpZEJvZHlIYW5kbGUAwAk5cmF3cmlnaWRib2R5c2V0X3Byb3BhZ2F0ZU1vZGlmaWVkQm9keVBvc2l0aW9uc1RvQ29sbGlkZXJzAI0KGF9fd2JnX3Jhd2Jyb2FkcGhhc2VfZnJlZQD4CRFyYXdicm9hZHBoYXNlX25ldwD5CRxyYXdjb2xsaWRlcnNldF9jb1RyYW5zbGF0aW9uAJ4GGXJhd2NvbGxpZGVyc2V0X2NvUm90YXRpb24AxAYfcmF3Y29sbGlkZXJzZXRfY29TZXRUcmFuc2xhdGlvbgCDCChyYXdjb2xsaWRlcnNldF9jb1NldFRyYW5zbGF0aW9uV3J0UGFyZW50AOQHHHJhd2NvbGxpZGVyc2V0X2NvU2V0Um90YXRpb24A3AYlcmF3Y29sbGlkZXJzZXRfY29TZXRSb3RhdGlvbldydFBhcmVudADVChlyYXdjb2xsaWRlcnNldF9jb0lzU2Vuc29yAM8IGnJhd2NvbGxpZGVyc2V0X2NvU2hhcGVUeXBlAJgKIHJhd2NvbGxpZGVyc2V0X2NvSGFsZnNwYWNlTm9ybWFsAKcFHHJhd2NvbGxpZGVyc2V0X2NvSGFsZkV4dGVudHMAlgUfcmF3Y29sbGlkZXJzZXRfY29TZXRIYWxmRXh0ZW50cwCbCRdyYXdjb2xsaWRlcnNldF9jb1JhZGl1cwCECBpyYXdjb2xsaWRlcnNldF9jb1NldFJhZGl1cwDnChtyYXdjb2xsaWRlcnNldF9jb0hhbGZIZWlnaHQAhQgecmF3Y29sbGlkZXJzZXRfY29TZXRIYWxmSGVpZ2h0AOgKHHJhd2NvbGxpZGVyc2V0X2NvUm91bmRSYWRpdXMAhggfcmF3Y29sbGlkZXJzZXRfY29TZXRSb3VuZFJhZGl1cwDpChlyYXdjb2xsaWRlcnNldF9jb1ZlcnRpY2VzAJ8GGHJhd2NvbGxpZGVyc2V0X2NvSW5kaWNlcwCgBh1yYXdjb2xsaWRlcnNldF9jb1RyaU1lc2hGbGFncwD2BiFyYXdjb2xsaWRlcnNldF9jb0hlaWdodEZpZWxkRmxhZ3MA9wYjcmF3Y29sbGlkZXJzZXRfY29IZWlnaHRmaWVsZEhlaWdodHMAoQYhcmF3Y29sbGlkZXJzZXRfY29IZWlnaHRmaWVsZFNjYWxlAIwFIXJhd2NvbGxpZGVyc2V0X2NvSGVpZ2h0ZmllbGROUm93cwCiBiFyYXdjb2xsaWRlcnNldF9jb0hlaWdodGZpZWxkTkNvbHMAowYXcmF3Y29sbGlkZXJzZXRfY29QYXJlbnQA6QcbcmF3Y29sbGlkZXJzZXRfY29TZXRFbmFibGVkAMEHGnJhd2NvbGxpZGVyc2V0X2NvSXNFbmFibGVkALUIH3Jhd2NvbGxpZGVyc2V0X2NvU2V0Q29udGFjdFNraW4A3QkccmF3Y29sbGlkZXJzZXRfY29Db250YWN0U2tpbgDQCBlyYXdjb2xsaWRlcnNldF9jb0ZyaWN0aW9uANEIHHJhd2NvbGxpZGVyc2V0X2NvUmVzdGl0dXRpb24A0ggYcmF3Y29sbGlkZXJzZXRfY29EZW5zaXR5APMIFXJhd2NvbGxpZGVyc2V0X2NvTWFzcwD0CBdyYXdjb2xsaWRlcnNldF9jb1ZvbHVtZQD1CCByYXdjb2xsaWRlcnNldF9jb0NvbGxpc2lvbkdyb3VwcwDxBx1yYXdjb2xsaWRlcnNldF9jb1NvbHZlckdyb3VwcwDyBxxyYXdjb2xsaWRlcnNldF9jb0FjdGl2ZUhvb2tzANMIJXJhd2NvbGxpZGVyc2V0X2NvQWN0aXZlQ29sbGlzaW9uVHlwZXMA1AgdcmF3Y29sbGlkZXJzZXRfY29BY3RpdmVFdmVudHMA1QgrcmF3Y29sbGlkZXJzZXRfY29Db250YWN0Rm9yY2VFdmVudFRocmVzaG9sZADWCB5yYXdjb2xsaWRlcnNldF9jb0NvbnRhaW5zUG9pbnQA3wUacmF3Y29sbGlkZXJzZXRfY29DYXN0U2hhcGUApwMdcmF3Y29sbGlkZXJzZXRfY29DYXN0Q29sbGlkZXIAyAQgcmF3Y29sbGlkZXJzZXRfY29JbnRlcnNlY3RzU2hhcGUAvQQdcmF3Y29sbGlkZXJzZXRfY29Db250YWN0U2hhcGUA8QEgcmF3Y29sbGlkZXJzZXRfY29Db250YWN0Q29sbGlkZXIApQUdcmF3Y29sbGlkZXJzZXRfY29Qcm9qZWN0UG9pbnQAhQUecmF3Y29sbGlkZXJzZXRfY29JbnRlcnNlY3RzUmF5APwEGHJhd2NvbGxpZGVyc2V0X2NvQ2FzdFJheQDZBCRyYXdjb2xsaWRlcnNldF9jb0Nhc3RSYXlBbmRHZXROb3JtYWwAoQMacmF3Y29sbGlkZXJzZXRfY29TZXRTZW5zb3IAiQgfcmF3Y29sbGlkZXJzZXRfY29TZXRSZXN0aXR1dGlvbgDNCRxyYXdjb2xsaWRlcnNldF9jb1NldEZyaWN0aW9uAN4JJHJhd2NvbGxpZGVyc2V0X2NvRnJpY3Rpb25Db21iaW5lUnVsZQDXCCdyYXdjb2xsaWRlcnNldF9jb1NldEZyaWN0aW9uQ29tYmluZVJ1bGUAgAkncmF3Y29sbGlkZXJzZXRfY29SZXN0aXR1dGlvbkNvbWJpbmVSdWxlANgIKnJhd2NvbGxpZGVyc2V0X2NvU2V0UmVzdGl0dXRpb25Db21iaW5lUnVsZQCBCSNyYXdjb2xsaWRlcnNldF9jb1NldENvbGxpc2lvbkdyb3VwcwCrByByYXdjb2xsaWRlcnNldF9jb1NldFNvbHZlckdyb3VwcwCdBx9yYXdjb2xsaWRlcnNldF9jb1NldEFjdGl2ZUhvb2tzAIIJIHJhd2NvbGxpZGVyc2V0X2NvU2V0QWN0aXZlRXZlbnRzAIMJKHJhd2NvbGxpZGVyc2V0X2NvU2V0QWN0aXZlQ29sbGlzaW9uVHlwZXMAhAkZcmF3Y29sbGlkZXJzZXRfY29TZXRTaGFwZQD+Bi5yYXdjb2xsaWRlcnNldF9jb1NldENvbnRhY3RGb3JjZUV2ZW50VGhyZXNob2xkAN8JG3Jhd2NvbGxpZGVyc2V0X2NvU2V0RGVuc2l0eQDgCRhyYXdjb2xsaWRlcnNldF9jb1NldE1hc3MA4QkicmF3Y29sbGlkZXJzZXRfY29TZXRNYXNzUHJvcGVydGllcwCvBRlfX3diZ19yYXdjb2xsaWRlcnNldF9mcmVlAIMHEnJhd2NvbGxpZGVyc2V0X25ldwCEBxJyYXdjb2xsaWRlcnNldF9sZW4AyQsXcmF3Y29sbGlkZXJzZXRfY29udGFpbnMA4gkdcmF3Y29sbGlkZXJzZXRfY3JlYXRlQ29sbGlkZXIA6QMVcmF3Y29sbGlkZXJzZXRfcmVtb3ZlAOoFJHJhd2NvbGxpZGVyc2V0X2ZvckVhY2hDb2xsaWRlckhhbmRsZQDBCRpfX3diZ19yYXdzaGFwZWNvbnRhY3RfZnJlZQDYCxlfX3diZ19yYXduYXJyb3dwaGFzZV9mcmVlAPoJEnJhd25hcnJvd3BoYXNlX25ldwD7CSFyYXduYXJyb3dwaGFzZV9jb250YWN0X3BhaXJzX3dpdGgApQobcmF3bmFycm93cGhhc2VfY29udGFjdF9wYWlyAKMHJnJhd25hcnJvd3BoYXNlX2ludGVyc2VjdGlvbl9wYWlyc193aXRoAKYKIHJhd25hcnJvd3BoYXNlX2ludGVyc2VjdGlvbl9wYWlyAPgIHV9fd2JnX3Jhd2NvbnRhY3RtYW5pZm9sZF9mcmVlANgLGHJhd2NvbnRhY3RwYWlyX2NvbGxpZGVyMQDBChhyYXdjb250YWN0cGFpcl9jb2xsaWRlcjIAwgoicmF3Y29udGFjdHBhaXJfbnVtQ29udGFjdE1hbmlmb2xkcwDDCh5yYXdjb250YWN0cGFpcl9jb250YWN0TWFuaWZvbGQA6gcZcmF3Y29udGFjdG1hbmlmb2xkX25vcm1hbACFBxtyYXdjb250YWN0bWFuaWZvbGRfbG9jYWxfbjEAiwcbcmF3Y29udGFjdG1hbmlmb2xkX2xvY2FsX24yAIwHHHJhd2NvbnRhY3RtYW5pZm9sZF9zdWJzaGFwZTEAxAoccmF3Y29udGFjdG1hbmlmb2xkX3N1YnNoYXBlMgDFCh9yYXdjb250YWN0bWFuaWZvbGRfbnVtX2NvbnRhY3RzALAKI3Jhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X2xvY2FsX3AxALsGI3Jhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X2xvY2FsX3AyALwGH3Jhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X2Rpc3QAnAkfcmF3Y29udGFjdG1hbmlmb2xkX2NvbnRhY3RfZmlkMQCdCR9yYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9maWQyAJ4JInJhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X2ltcHVsc2UAnwkscmF3Y29udGFjdG1hbmlmb2xkX2NvbnRhY3RfdGFuZ2VudF9pbXB1bHNlX3gAoAkscmF3Y29udGFjdG1hbmlmb2xkX2NvbnRhY3RfdGFuZ2VudF9pbXB1bHNlX3kAoQkmcmF3Y29udGFjdG1hbmlmb2xkX251bV9zb2x2ZXJfY29udGFjdHMAsQoncmF3Y29udGFjdG1hbmlmb2xkX3NvbHZlcl9jb250YWN0X3BvaW50AL0GJnJhd2NvbnRhY3RtYW5pZm9sZF9zb2x2ZXJfY29udGFjdF9kaXN0AKIJKnJhd2NvbnRhY3RtYW5pZm9sZF9zb2x2ZXJfY29udGFjdF9mcmljdGlvbgD5CC1yYXdjb250YWN0bWFuaWZvbGRfc29sdmVyX2NvbnRhY3RfcmVzdGl0dXRpb24A+ggycmF3Y29udGFjdG1hbmlmb2xkX3NvbHZlcl9jb250YWN0X3RhbmdlbnRfdmVsb2NpdHkAxQYdX193YmdfcmF3cG9pbnRwcm9qZWN0aW9uX2ZyZWUA2AsYcmF3cG9pbnRwcm9qZWN0aW9uX3BvaW50AOsHG3Jhd3BvaW50cHJvamVjdGlvbl9pc0luc2lkZQDKCyVfX3diZ19yYXdwb2ludGNvbGxpZGVycHJvamVjdGlvbl9mcmVlANgLKXJhd3BvaW50Y29sbGlkZXJwcm9qZWN0aW9uX2NvbGxpZGVySGFuZGxlAMsLIHJhd3BvaW50Y29sbGlkZXJwcm9qZWN0aW9uX3BvaW50ANkHI3Jhd3BvaW50Y29sbGlkZXJwcm9qZWN0aW9uX2lzSW5zaWRlAMwLJnJhd3BvaW50Y29sbGlkZXJwcm9qZWN0aW9uX2ZlYXR1cmVUeXBlANoLJHJhd3BvaW50Y29sbGlkZXJwcm9qZWN0aW9uX2ZlYXR1cmVJZACOCh1fX3diZ19yYXdyYXlpbnRlcnNlY3Rpb25fZnJlZQDYCxxfX3diZ19yYXdyYXljb2xsaWRlcmhpdF9mcmVlANgLE19fd2JnX3Jhd3NoYXBlX2ZyZWUArAgPcmF3c2hhcGVfY3Vib2lkAM4JFHJhd3NoYXBlX3JvdW5kQ3Vib2lkAMIJDXJhd3NoYXBlX2JhbGwA4wkScmF3c2hhcGVfaGFsZnNwYWNlAOcFEHJhd3NoYXBlX2NhcHN1bGUAtAcRcmF3c2hhcGVfY3lsaW5kZXIA1AkWcmF3c2hhcGVfcm91bmRDeWxpbmRlcgDPCQ1yYXdzaGFwZV9jb25lANUJEnJhd3NoYXBlX3JvdW5kQ29uZQDQCRFyYXdzaGFwZV9wb2x5bGluZQDtBxByYXdzaGFwZV90cmltZXNoAOwHFHJhd3NoYXBlX2hlaWdodGZpZWxkALAFEHJhd3NoYXBlX3NlZ21lbnQA3QYRcmF3c2hhcGVfdHJpYW5nbGUAxwUWcmF3c2hhcGVfcm91bmRUcmlhbmdsZQC9BRNyYXdzaGFwZV9jb252ZXhIdWxsAPgHGHJhd3NoYXBlX3JvdW5kQ29udmV4SHVsbADzBxNyYXdzaGFwZV9jb252ZXhNZXNoALIHGHJhd3NoYXBlX3JvdW5kQ29udmV4TWVzaACsBxJyYXdzaGFwZV9jYXN0U2hhcGUAswEYcmF3c2hhcGVfaW50ZXJzZWN0c1NoYXBlAMIDFXJhd3NoYXBlX2NvbnRhY3RTaGFwZQDdARZyYXdzaGFwZV9jb250YWluc1BvaW50AO0EFXJhd3NoYXBlX3Byb2plY3RQb2ludACcBBZyYXdzaGFwZV9pbnRlcnNlY3RzUmF5AJ8EEHJhd3NoYXBlX2Nhc3RSYXkAkQQccmF3c2hhcGVfY2FzdFJheUFuZEdldE5vcm1hbADKAhpfX3diZ19yYXdzaGFwZWNhc3RoaXRfZnJlZQDYCxhyYXdzaGFwZWNhc3RoaXRfd2l0bmVzczEA2gcXcmF3c2hhcGVjYXN0aGl0X25vcm1hbDEA2wcXcmF3c2hhcGVjYXN0aGl0X25vcm1hbDIA3AciX193YmdfcmF3Y29sbGlkZXJzaGFwZWNhc3RoaXRfZnJlZQDYCyZyYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF90aW1lX29mX2ltcGFjdADNCyByYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF93aXRuZXNzMQDdByByYXdjb2xsaWRlcnNoYXBlY2FzdGhpdF93aXRuZXNzMgDeBw9yYXdyb3RhdGlvbl9uZXcAxgoUcmF3cm90YXRpb25faWRlbnRpdHkA6goNcmF3cm90YXRpb25feADbCw5yYXd2ZWN0b3JfemVybwCVCw1yYXd2ZWN0b3JfbmV3AN8KD3Jhd3ZlY3Rvcl9zZXRfeADOCw9yYXd2ZWN0b3Jfc2V0X3oArAsNcmF3dmVjdG9yX3h5egC2CA1yYXd2ZWN0b3JfeXh6ALcIDXJhd3ZlY3Rvcl96eHkAuAgNcmF3dmVjdG9yX3h6eQC5CA1yYXd2ZWN0b3JfeXp4ALoIDXJhd3ZlY3Rvcl96eXgAuwgWcmF3c2RwbWF0cml4M19lbGVtZW50cwCkByFfX3diZ19yYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX2ZyZWUAnwoacmF3ZGVidWdyZW5kZXJwaXBlbGluZV9uZXcA9AcfcmF3ZGVidWdyZW5kZXJwaXBlbGluZV92ZXJ0aWNlcwCmCB1yYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX2NvbG9ycwCnCB1yYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX3JlbmRlcgCaBRhfX3diZ19yYXdldmVudHF1ZXVlX2ZyZWUA5QcfX193YmdfcmF3Y29udGFjdGZvcmNlZXZlbnRfZnJlZQDYCx5yYXdjb250YWN0Zm9yY2VldmVudF9jb2xsaWRlcjIAzwsgcmF3Y29udGFjdGZvcmNlZXZlbnRfdG90YWxfZm9yY2UA3wcqcmF3Y29udGFjdGZvcmNlZXZlbnRfdG90YWxfZm9yY2VfbWFnbml0dWRlANALKHJhd2NvbnRhY3Rmb3JjZWV2ZW50X21heF9mb3JjZV9kaXJlY3Rpb24A4AcocmF3Y29udGFjdGZvcmNlZXZlbnRfbWF4X2ZvcmNlX21hZ25pdHVkZQDRCxFyYXdldmVudHF1ZXVlX25ldwDCByJyYXdldmVudHF1ZXVlX2RyYWluQ29sbGlzaW9uRXZlbnRzAI8KJXJhd2V2ZW50cXVldWVfZHJhaW5Db250YWN0Rm9yY2VFdmVudHMAkAoTcmF3ZXZlbnRxdWV1ZV9jbGVhcgDPBx1fX3diZ19yYXdwaHlzaWNzcGlwZWxpbmVfZnJlZQCgChZyYXdwaHlzaWNzcGlwZWxpbmVfbmV3AIUJF3Jhd3BoeXNpY3NwaXBlbGluZV9zdGVwAKkEIXJhd3BoeXNpY3NwaXBlbGluZV9zdGVwV2l0aEV2ZW50cwCWBBtfX3diZ19yYXdxdWVyeXBpcGVsaW5lX2ZyZWUA8AkUcmF3cXVlcnlwaXBlbGluZV9uZXcA/AkXcmF3cXVlcnlwaXBlbGluZV91cGRhdGUAwwcYcmF3cXVlcnlwaXBlbGluZV9jYXN0UmF5AKAEJHJhd3F1ZXJ5cGlwZWxpbmVfY2FzdFJheUFuZEdldE5vcm1hbAD+AyVyYXdxdWVyeXBpcGVsaW5lX2ludGVyc2VjdGlvbnNXaXRoUmF5AOwCJnJhd3F1ZXJ5cGlwZWxpbmVfaW50ZXJzZWN0aW9uV2l0aFNoYXBlAKQEHXJhd3F1ZXJ5cGlwZWxpbmVfcHJvamVjdFBvaW50ALUEKnJhd3F1ZXJ5cGlwZWxpbmVfcHJvamVjdFBvaW50QW5kR2V0RmVhdHVyZQC5BCdyYXdxdWVyeXBpcGVsaW5lX2ludGVyc2VjdGlvbnNXaXRoUG9pbnQA0QMacmF3cXVlcnlwaXBlbGluZV9jYXN0U2hhcGUA0QIncmF3cXVlcnlwaXBlbGluZV9pbnRlcnNlY3Rpb25zV2l0aFNoYXBlAN8CMnJhd3F1ZXJ5cGlwZWxpbmVfY29sbGlkZXJzV2l0aEFhYmJJbnRlcnNlY3RpbmdBYWJiAOcGH19fd2JnX3Jhd2Rlc2VyaWFsaXplZHdvcmxkX2ZyZWUA/QkgcmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUdyYXZpdHkAlAcucmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUludGVncmF0aW9uUGFyYW1ldGVycwDOBCZyYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlSXNsYW5kTWFuYWdlcgCNByNyYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlQnJvYWRQaGFzZQCYByRyYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlTmFycm93UGhhc2UAzAQfcmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUJvZGllcwCbBSJyYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlQ29sbGlkZXJzAIgFJnJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VJbXB1bHNlSm9pbnRzAI4HKHJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VNdWx0aWJvZHlKb2ludHMAjwcccmF3c2VyaWFsaXphdGlvbnBpcGVsaW5lX25ldwDcCyVyYXdzZXJpYWxpemF0aW9ucGlwZWxpbmVfc2VyaWFsaXplQWxsAIYDJ3Jhd3NlcmlhbGl6YXRpb25waXBlbGluZV9kZXNlcmlhbGl6ZUFsbACWBzxyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X251bUFkZGl0aW9uYWxGcmljdGlvbkl0ZXJhdGlvbnMAows1cmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9udW1JbnRlcm5hbFBnc0l0ZXJhdGlvbnMApAsPcmF3dmVjdG9yX3NldF95AKULInJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfdXAA0wcXcmF3c2hhcGVjb250YWN0X25vcm1hbDIA0wcWcmF3c2hhcGVjb250YWN0X3BvaW50MQDrBxZyYXdzaGFwZWNvbnRhY3RfcG9pbnQyAN0HGXJhd3JheWludGVyc2VjdGlvbl9ub3JtYWwA3QchcmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fbm9ybWFsAN0HF3Jhd3NoYXBlY29udGFjdF9ub3JtYWwxAN4HH3Jhd2NvbGxpZGVyc2hhcGVjYXN0aGl0X25vcm1hbDEA0wcfcmF3Y29sbGlkZXJzaGFwZWNhc3RoaXRfbm9ybWFsMgDUBxhyYXdzaGFwZWNhc3RoaXRfd2l0bmVzczIA3wcmcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9vZmZzZXQAxQs1cmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX25vcm1hbGl6ZWRBbGxvd2VkTGluZWFyRXJyb3IAvws4cmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX251bUFkZGl0aW9uYWxGcmljdGlvbkl0ZXJhdGlvbnMAwQsxcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX251bUludGVybmFsUGdzSXRlcmF0aW9ucwDCCyZyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbWluSXNsYW5kU2l6ZQDECxNyYXdyaWdpZGJvZHlzZXRfbGVuAMkLGHJhd3NoYXBlY29udGFjdF9kaXN0YW5jZQC6Cx5yYXdyYXlpbnRlcnNlY3Rpb25fZmVhdHVyZVR5cGUA2gspcmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fY29sbGlkZXJIYW5kbGUAywshcmF3cmF5aW50ZXJzZWN0aW9uX3RpbWVfb2ZfaW1wYWN0AM0LJnJhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX2ZlYXR1cmVUeXBlANoLIHJhd3JheWNvbGxpZGVyaGl0X2NvbGxpZGVySGFuZGxlANkLKXJhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX3RpbWVfb2ZfaW1wYWN0AM0LJnJhd2NvbGxpZGVyc2hhcGVjYXN0aGl0X2NvbGxpZGVySGFuZGxlANkLHnJhd3JheWNvbGxpZGVyaGl0X3RpbWVPZkltcGFjdADNCx5yYXdzaGFwZWNhc3RoaXRfdGltZV9vZl9pbXBhY3QA2wsNcmF3cm90YXRpb25feQDFCw1yYXdyb3RhdGlvbl96AM0LDXJhd3JvdGF0aW9uX3cAxgsLcmF3dmVjdG9yX3gA2wsLcmF3dmVjdG9yX3kAxQsLcmF3dmVjdG9yX3oAzQsecmF3Y29udGFjdGZvcmNlZXZlbnRfY29sbGlkZXIxANkLNXJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19ub3JtYWxpemVkUHJlZGljdGlvbkRpc3RhbmNlANELHHJhd2NvbGxpZGVyc2V0X2lzSGFuZGxlVmFsaWQA4gkjX193YmdfcmF3c2VyaWFsaXphdGlvbnBpcGVsaW5lX2ZyZWUA2AsccmF3cmF5aW50ZXJzZWN0aW9uX2ZlYXR1cmVJZACOCiRyYXdyYXljb2xsaWRlcmludGVyc2VjdGlvbl9mZWF0dXJlSWQAjgoZX193YmdfcmF3Y29udGFjdHBhaXJfZnJlZQDYCyVfX3diZ19yYXdyYXljb2xsaWRlcmludGVyc2VjdGlvbl9mcmVlANgLFl9fd2JnX3Jhd3JvdGF0aW9uX2ZyZWUA2AsUX193YmdfcmF3dmVjdG9yX2ZyZWUA2AsYX193YmdfcmF3c2RwbWF0cml4M19mcmVlANgLH19fd2JpbmRnZW5fYWRkX3RvX3N0YWNrX3BvaW50ZXIAhw0PX193YmluZGdlbl9mcmVlAIUMEV9fd2JpbmRnZW5fbWFsbG9jAMgKFF9fd2JpbmRnZW5fZXhuX3N0b3JlAKQMCfYOAQBBAQvFB5gMhA3SAcoNpA2mDcoN+gyJDaUNiA2aC5ML5gnpC5wMmwztC64K1wSNDY4N3QqMDaMKowqhBKEElw2yDdsG2wb5AvoC9wS1B7wEugq/B7IIlAuZBfMEygS4BZ0MnQydDJ0M0QmIB4AKqAObArQDngeGBb8I5QbNBfsKsw2iDLQNsQ2wDaEMqA36C6gG9AWABvEDtgf0AcEElgnHBMQFrgWdBZ4MngyeDJ4M/gfABqMIggP7AYUD1wrmCrMKzQTMBfEFsA2gDNcLnwz5C/8M9QWaDIsNig2HB4cHkAQapw2vDc0Nyw3MDdgKnAP5BM0N7gFKOIUN4wuJB+EL4wvdC+oL5wvhC+EL5AvlC+ILyg3dCvAIkQmBC9sKvArKDW8vYlNDzwEwGJoLlgvKDegJ6wucDJIN3gvdCowN4Qr7CN0K4AqKCPUHqwLrCtMG1Aa1B7wEugq/B7IIlAuZBfMEygS4BaUMpQylDKUM0QmIB4AKqAObArQDzQWzDaIMtA2xDbANpgyoDfwL9AWMDFaPDFGODGyNDFLbBtsG+QL6ArINmgyTDZIJyg3pCewLqAyuDP4Jsgy+A7UMqgWrDLQM/gm6DLAMzwW2DJsM3ganDNYKuAysDOIKqgytDLcMqw2vDLMMsQycDKkMuwy5DN0K3QqaDJUMvwHODM4MzgzODNMM8QLCDMIMwgzCDKIM8gK+DL4Mvgy+DNQM8wLKDMoMygzKDKAM9ALHDMcMxwzHDNUM/wTNBvsCxQf9CL0KgwvFA78F6wPgBdAM0AzQDNAMnAWdBMEFyQK2AuUC5QryC+wKxAnaBukGsg3VDKwNtw2wDdcMqA2oDf4I7QW5B44DvwrHB70Ilwv8A/QEqQO5Bc8MzwzPDM8M0QmIB4AKqAObArQDswOzDaIMtA2xDdoM/wuaBJEMkAOSDK4BlAy8AZMMfZAM7QLGB4sDyQqpCdoIrQv6A+8EsgO1BcEMwQzBDMEMzQrjAYwL4QOvAosElwXJBv8JxgK4BLkN0wzbDIAMgA3+BewJrwu+CKoKgAbcArYH+gHBBJYJjAPEBfcDnQXFDMUMxQzFDP4H0QSjCP8B6wGNAuIFsA2gDNgM/QuFAqMKowqhBKEEsg39B5ID6AKGDOII9AaCBOME9gOzBMsMywzLDMsMzwrBAZAL5gOxAoUEhgfIB70JmgP6BP4LuA3UDK0N2QzzC6oN/wXbBZcH7gKsA68IrwjUA9MD9gTbBtsG+QL6AvsHkwNYhwzhCG6BBOIExgPQBcAMwAzADMAMX1SIC9gDrgLuA7ALugfTAtwM8ASWDLoN3QysBa0F3gzuBaEKqQ3QB4gD4wpg4wiCAfMD5gT1A9EFxgzGDMYMxgxVTIQL1wO8AuwDsQu7B+AE1gzyBLsN3wy/DeAM7wX4BakN6wm4A+oJWuEHcsMD1QT0A9IFvwy/DL8MvwxIW4sL1gO1Au0DsgvuB6EBmA2ABdULvA3hDOIM/QWBBcQNgQHPA4ECiQzfCLUNgATlBMgDtg3JDMkMyQzJDMsKf5EL4wO0Ao0Eswu8B6YE4wzxBL0N5AzsBcsG0gKMCdIE7QatCI8DpQSXAt8ExAzEDMQMxAzMCoUBiQvkA7sChgSpBaICmQqXDNMFqQi+DeUMmAXmDIEMgQ3jBboDtwP3AZ4EsgG6BM4DjwT9BNAEvgqlAsgFqQLABcgMyAzIDMgM1ArmAYUL3QOzAoQE5wy0C7QKlQ35Bb8GwA3oDK4N6QyCDJ8DkwmTCZkEmQS9A/wHkQOkAogM4AjWC/8D5ATHA7oF0QzRDNEM0QzSCswBhwvlA7oCigTqDLUKlg3aBcEN6wyYC+wMgwygA5oHmQe8A7wDpwTHBvYCrgf2COQK1Au/A9cF3APwBcMMwwzDDMMM0QflBagIyQOaAvsD7wvtDLYK8AvfBsMN7gzCDe4L6wrTBtQG2AbXAqcJhwnxBuYImAOrBPwC6gS8DLwMvAy8DMoKywGPC+IDuQKIBPkGiwiVCt0EiQW/BscN8wyCDfQM9gv7BdUG2gKlCYsJ8wbnCJUDrASAA+gEzAzMDMwMzAzQCtQBjQvfA7cCgwTABIsC7gn4BtUFqQjJDfcMkgX4DPgLuwTZBtYCqAmICfIG6AiXA68E/gLrBL0MvQy9DL0Mzgq9AY4L4AOwAokE+gaWCt4E2gXIDfUMmAv2DPcL/AXXBtkCpgmJCe8G5AiWA64E/wLnBNIM0gzSDNIM0wrWAYoL5wOyAowEigfmB5QKygP+BPEFxQ3vDK4L8Az0C/oF1gbYAqQJignwBuUImQOtBP0C6QTNDM0MzQzNDNEKsQGGC94DuAKHBLEFtwSHCJ4F1AXGDfEMmQ3yDPULiQPkCZUHrgiuA/0DkQXDBcQC5gL9BvYHpQPZA+EF6AbwApsDkQfWCa0D+APxC8oNtQ3NDcoN6AvgC9wKkwX5DL4J7QuuCtcEmg38DMoNmgy3Cv0M5gvoBe8Hyg37DO0LuAqeDZsNyg2cDZ0Ngw2YDP4MigyNCYMFyg37DMoNhg3hAqsKnw0KqZhTuA2m5gYDVH1CfwN+IwBBwANrImskAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAygCLCJiIAFLBEAgAygCKCABQQJ0aigCACFmIAIoAgAhYiBrIAJBxAAQow0hcCAAQbwDakEANgIAIABB+AJqQQA2AgAgcCBwKgIEIGIgZmoiowGzImGVIh44AgQgcCBwKgIQIGGVOAIQIANBIGooAgAiYiABSwRAAkACQCABQQFqImYgYkkEQCADQRxqKAIAImIgZkECdGoioQEoAgAhbSBtIGIgAUECdGoiogEoAgAiAUkNAiBtIAMoAgginQFNDQEgbSCdAUHkocEAEO4IAAsgZiBiQdShwQAQ7QgACyADKAIEIaABAkACQCABIG1GBEAgAEGQA2pBADYCACABIQMMAQsgbSABayJlIAAoAvACSwRAIwBBIGsidCQAQQQgAEHwAmoiaygCACJmQQF0IgMgZSADIGVLGyIDIANBBE0bImNB/ABsIWIgY0GRhKEISUECdCEDAkAgZkUEQCB0QQA2AhgMAQsgdEEENgIYIHQgZkH8AGw2AhwgdCBrKAIENgIUCyB0QQhqIAMgYiB0QRRqEOEGIHQoAgwhAwJAIHQoAghFBEAgayBjNgIAIGsgAzYCBAwBCyADQYGAgIB4Rg0AIAMEQCADIHRBEGooAgBB2IDEACgCACIAQaMHIAAbEQAAAAsMDwsgdEEgaiQAIAAoAvgCIWMLIAAoAvQCIGNB/ABsaiEDIGVBAk8EQCBtIAFBf3NqImJBA3EhASBlQQJrQQNPBEAgYkF8cSFtA0AgA0EAQcQAEKINIgNCADcCSCADQYCAgPwDNgJEIANB0ABqQgA3AgAgA0HYAGpCADcCACADQeAAakIANwIAIANB6ABqQgA3AgAgA0HwAGpCADcCACADQfgAakEANgIAIANB/ABqQQBBxAAQog0aIANBxAFqQgA3AgAgA0HAAWpBgICA/AM2AgAgA0HMAWpCADcCACADQdQBakIANwIAIANB3AFqQgA3AgAgA0HkAWpCADcCACADQewBakIANwIAIANB9AFqQQA2AgAgA0H4AWpBAEHEABCiDRogA0HAAmpCADcCACADQbwCakGAgID8AzYCACADQcgCakIANwIAIANB0AJqQgA3AgAgA0HYAmpCADcCACADQeACakIANwIAIANB6AJqQgA3AgAgA0HwAmpBADYCACADQfQCakEAQcQAEKINGiADQbwDakIANwIAIANBuANqQYCAgPwDNgIAIANBxANqQgA3AgAgA0HMA2pCADcCACADQdQDakIANwIAIANB3ANqQgA3AgAgA0HkA2pCADcCACADQewDakEANgIAIANB8ANqIQMgbUEEayJtDQALCyABBEADQCADQQBBxAAQog0iA0IANwJIIANBgICA/AM2AkQgA0HQAGpCADcCACADQdgAakIANwIAIANB4ABqQgA3AgAgA0HoAGpCADcCACADQfAAakIANwIAIANB+ABqQQA2AgAgA0H8AGohAyABQQFrIgENAAsLIGMgZWpBAWshYwsgA0EAQcQAEKINIgFCADcCSCABQYCAgPwDNgJEIAFB0ABqQgA3AgAgAUHYAGpCADcCACABQeAAakIANwIAIAFB6ABqQgA3AgAgAUHwAGpCADcCACABQfgAakEANgIAIABBkANqQQA2AgAgACBjQQFqNgL4AiCiASgCACIBIKEBKAIAIgNLDQELIAMgnQFNBEACQCABIANGBEAgAEEANgKQAyAAQYQDaiJlQQA2AgAgASEDDAELQQAhYyADIAFrImYgACgCiANLBEAgAEGIA2pBACBmEKYGIAAoApADIWMLIAAoAowDImIgY0EYbGohbSBmQQJPBEAgbUEAIAMgAUF/c2pBGGwQog0aIGMgZmoiAUEBayFjIAFBGGwgYmpBGGshbQsgbUIANwIAIG1BEGpCADcCACBtQQhqQgA3AgAgACBjQQFqNgKQAyAAQYQDaiJlQQA2AgAgogEoAgAiASChASgCACIDSw0KCyADIJ0BTQRAAkACQCABIANGBEAgZUEANgIAIAMhAQwBC0EAIWMgAyABayJmIAAoAvwCSwRAIABB/AJqQQAgZhCmBiAAKAKEAyFjCyAAKAKAAyJiIGNBGGxqIW0gZkECTwRAIG1BACADIAFBf3NqQRhsEKINGiBjIGZqIgFBAWshYyABQRhsIGJqQRhrIW0LIG1CADcCACBtQRBqQgA3AgAgbUEIakIANwIAIGUgY0EBajYCACChASgCACIBIKIBKAIAIgNJDQELIAEgnQFNBEAgASADRg0JIABBtANqIXkgoAEgAUEDdGohlQEgoAEgA0EDdGohbSANQSRqKAIAIXUgDUEgaigCACF7IAQoAhAhcyAEKAIMIWogDSgCECFuIA0oAgwhbANAIG1BBGooAgAhAQJAAkACQAJAAkACQAJAAkAgbSgCACIDIHVPDQAge0UNACB7IANBFGxqImsoAgAgAUcNAAJAIGsoAgQiZiBuTw0AIGxFDQAgbCBmQZQCbGoiAygCAEGAgICAeEYNACBrQQhqKAIAImMgAygCkAJGDQIL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A0L////7BzcDICADQoCAgIDw//+/fzcDGCADQv////v///+//wA3AxAgAyBwKQPIAjcCVCADQYCAgPwDNgJkIAMgcCkDsAI3A2ggA0HcAGogcEHQAmopAwA3AgAgA0HwAGogcEGwAmoiAEEIaikDADcDACADQfgAaiAAQRBqKQMANwMAIANCADcDiAEgA0KAgID8AzcDgAEgA0L////7BzcDoAEgA0EAOgCoASADQv////sHNwK8ASADQQA6AMQBIAMgcCkDoAI3A5ABIANBmAFqIHBBqAJqKQMANwMAIAMgcCkDiAI3AKkBIANBsQFqIHBBiAJqIgBBCGopAwA3AAAgA0G4AWogAEEPaigAADYAACADIHApA/ABNwDFASADQc0BaiBwQfABaiIAQQhqKQMANwAAIANB1AFqIABBD2ooAAA2AAAgA0EAOgDgASADQv////sHNwPYASADQQA6APwBIANC////+wc3AvQBIANBADoAmAIgA0L////7BzcDkAIgA0HwAWogcEHYAWoiAEEPaigAADYAACADQekBaiAAQQhqKQMANwAAIAMgcCkD2AE3AOEBIANBjAJqIHBBwAFqIgBBD2ooAAA2AAAgA0GFAmogAEEIaikDADcAACADIHApA8ABNwD9ASADQagCaiBwQagBaiIAQQ9qKAAANgAAIANBoQJqIABBCGopAwA3AAAgAyBwKQOoATcAmQIgA0EAOgC0AiADQv////sHNwKsAiADQbcCaiAFLQAAOgAAIAMgcC8AgQM7ALUCIANCfzcDwAIgA0GAAjsBvAIgA0EANgK4AiADQfACaiBwQfgAaiIAQShqKQMANwMAIANB6AJqIABBIGopAwA3AwAgA0HgAmogAEEYaikDADcDACADQdgCaiAAQRBqKQMANwMAIANB0AJqIABBCGopAwA3AwAgAyBwKQN4NwPIAiADQX82AvgCIANBpANqIHBByABqIgBBKGopAwA3AgAgA0GcA2ogAEEgaikDADcCACADQZQDaiAAQRhqKQMANwIAIANBjANqIABBEGopAwA3AgAgA0GEA2ogAEEIaikDADcCACADIHApA0g3AvwCIANBfzYCvAMgA0L/////HzcCtAMgA0J/NwKsAyADQcgDaiBwQbADaigCADYCACADIHApA6gDNwPAAyADQoGAgIBwNwLMAyADQdwDaiBwQZwDaigCADYCACADIHApApQDNwLUAyADQeADaiEDIAFBAWsiAQ0ACyALIGNqQQFrIWMLIANC////+////7//ADcDECADQgA3AwggA0IANwMAIANB////+wc2AlAgA0KAgICA8P//v383A0ggA0L////7////v/8ANwNAIANC////+wc3AzggA0KAgICA8P//v383AzAgA0L////7////v/8ANwMoIANC////+wc3AyAgA0KAgICA8P//v383AxggAyBwKQPIAjcCVCADQYCAgPwDNgJkIAMgcCkDsAI3A2ggA0HcAGogcEHQAmopAwA3AgAgA0HwAGogcEGwAmoiAEEIaikDADcDACADQfgAaiAAQRBqKQMANwMAIANCADcDiAEgA0KAgID8AzcDgAEgA0L////7BzcDoAEgA0EAOgCoASADQv////sHNwK8ASADQQA6AMQBIAMgcCkDoAI3A5ABIANBmAFqIHBBqAJqKQMANwMAIAMgcCkDiAI3AKkBIANBsQFqIHBBiAJqIgBBCGopAwA3AAAgA0G4AWogAEEPaigAADYAACADIHApA/ABNwDFASADQc0BaiBwQfABaiIAQQhqKQMANwAAIANB1AFqIABBD2ooAAA2AAAgA0EAOgDgASADQv////sHNwPYASADQQA6APwBIANC////+wc3AvQBIANBADoAmAIgA0L////7BzcDkAIgA0HwAWogcEHYAWoiAEEPaigAADYAACADQekBaiAAQQhqKQMANwAAIAMgcCkD2AE3AOEBIANBjAJqIHBBwAFqIgBBD2ooAAA2AAAgA0GFAmogAEEIaikDADcAACADIHApA8ABNwD9ASADQagCaiBwQagBaiIAQQ9qKAAANgAAIANBoQJqIABBCGopAwA3AAAgAyBwKQOoATcAmQIgA0EAOgC0AiADQv////sHNwKsAiADQbcCaiBwQYMDai0AADoAACADIHAvAIEDOwC1AiADQn83A8ACIANBgAI7AbwCIANBADYCuAIgA0HwAmogcEH4AGoiAEEoaikDADcDACADQegCaiAAQSBqKQMANwMAIANB4AJqIABBGGopAwA3AwAgA0HYAmogAEEQaikDADcDACADQdACaiAAQQhqKQMANwMAIAMgcCkDeDcDyAIgA0F/NgL4AiADQaQDaiBwQcgAaiIAQShqKQMA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OwFEIANC////+/f//7//ADcCPCADQv////v3//+//wA3AjQgA0L////79///v/8ANwIsIANCgICAgPD//79/NwIkIANBEGpCfzcCACADQRhqQn83AgAgA0EgakF/NgIAIANByABqQgA3AgAgA0HQAGpCfzcCACADQdgAakJ/NwIAIANB4ABqQn83AgAgA0HoAGpBfzYCACADQYQBakL////79///v/8ANwIAIANB/ABqQv////v3//+//wA3AgAgA0H0AGpC////+/f//7//ADcCACADQewAakKAgICA8P//v383AgAgA0GMAWpBADsBACADQZABaiEDIAFBAmsiAQ0ACwsgBiBjakEBayFjIAUEQCADQn83AgggA0IANwIAIANBADsBRCADQv////v3//+//wA3AjwgA0L////79///v/8ANwI0IANC////+/f//7//ADcCLCADQoCAgIDw//+/fzcCJCADQRBqQn83AgAgA0EYakJ/NwIAIANBIGpBfzYCACADQcgAaiEDCwsgA0J/NwIIIANCADcCACADQQA7AUQgA0L////79///v/8ANwI8IANC////+/f//7//ADcCNCADQv////v3//+//wA3AiwgA0KAgICA8P//v383AiQgA0EQakJ/NwIAIANBGGpCfzcCACADQSBqQX82AgAgY0EBaiFtCyANIG02AqQCIA1BADYC4AIgDSgCjAIiByJjIA1B2AJqIgYoAgBLBEAjAEEgayIIJABBBCAGKAIAIgVBAXQiACAHIAAgB0sbIgAgAEEETRsiA0GQA2whASADQYbXxwJJQQN0IQACQCAFRQRAIAhBADYCGAwBCyAIQQg2AhggCCAFQZADbDYCHCAIIAYoAgQ2AhQLIAhBCGogACABIAhBFGoQ4QYgCCgCDCEAAkAgCCgCCEUEQCAGIAM2AgAgBiAANgIEDAELIABBgYCAgHhGDQAgAARAIAAgCEEQaigCAEHYgMQAKAIAIgBBowcgABsRAAAACwwKCyAIQSBqJAAgDSgCjAIhYwsgDUHcAmooAgAiA0H/ASAHQZADbBCiDRogDSAHNgLgAkEAIW0gcEEANgJ4AkACQCBjIAcgByBjSxsiY0UNACANKAKIAiEBA0AgASgCACIGIApPDQIgAyEHIHBB+ABqIWYjAEEwayJlJAACQAJAIAQoAhAiDCAJIAZBgANsakEQaiJuKAIIIgVNDQAgBCgCDCJrRQ0AIGsgBUHwAmxqIgsoAgBFDQAgbkEMaigCACIAIAsoAgRHDQAgbkHrAmotAAAhbSBuQdACaioCACE+IG5BzAJqKgIAIVEgbkG0AmoqAgAhUyBuQbACaioCACE1IG5BmAJqKgIAIVIgbkGUAmoqAgAhMiBuQfwBaioCACEzIG5B+AFqKgIAITYgbkHgAWoqAgAhNyBuQdwBaioCACEuIG5BxAFqKgIAITEgbkHAAWoqAgAhMCBuQbwBaioCACEaIG5BuAFqKgIAIRQgbkG0AWoqAgAhFSBuQbABaioCACEOIG5BrAFqKgIAIQ8gbkGoAWoqAgAhFyBuQaQBaioCACEZIG5BoAFqKgIAISkgbkGcAWoqAgAhISBuQZgBaioCACEnIG5BlAFqKgIAISIgbkGQAWoqAgAhHiBuQYwBaioCACEdIG5BiAFqKgIAIRwgbkGAAWoqAgAhOSBuQfwAaioCACEfIG5B9ABqKgIAITQgbkHwAGoqAgAhIyBuQegAaioCACE6IG5B5ABqKgIAISQgbkHcAGoqAgAhRSBuQdgAaioCACEgIG5B0ABqKgIAIUYgbkHMAGoqAgAhKiBuQcQAaioCACFAIG5BQGsqAgAhKCBuKAIEIQggbigCACEDIAtB6QJqLQAARQRAIBohEyAUIRAgFSEWIA4hEiAPIRggFyEbIBkhESApIRogISEUICchFSAiIQ4gHiEPIB0hFyAcIRkgHyElICMhHyAkISMgAyELICAhJCAIIWIgKiEgIAUhAyAoISogACEIDAILIB8gOYwgbUEgcSILGyElIDkgH4wgCxshOSAjIDSMIG1BEHEiCxshHyA0ICOMIAsbITQgJCA6jCBtQQhxIgsbISMgOiAkjCALGyE6ICAgRYwgbUEEcSILGyEkIEUgIIwgCxshRSAqIEaMIG1BAnEiCxshICBGICqMIAsbIUYgKCBAjCBtQQFxIgsbISogQCAojCALGyFAID6MIT4gUYwhUSBTjCFTIDWMITUgUowhUiAyjCEyIDOMITMgNowhNiA3jCE3IC6MIS4gMYwhMSAwjCEwICkhEyAhIRAgJyEWICIhEiAeIRggHSEbIBwhESAFIQsgACFiDAELQaSVwQBBE0GAzsEAEO8JAAsCQAJAAkAgCyAMTw0AIGsgC0HwAmxqInIoAgBFDQAgcigCBCBiRw0AIAMgDE8NASBrIANB8AJsaiIAKAIARQ0BIAAoAgQgCEcNASBuQThqKQMAIaUBIG5B7AJqKAIAIQsgbkGEAWoqAgAhKyBuQfgAaioCACEoIG5B7ABqKgIAISkgbkHgAGoqAgAhISBuQdQAaioCACEnIG5ByABqKgIAISIgbikDMCGkASBlQRBqIgggckGQAWooAgA2AgAgZUEcaiByQZwBaigCADYCACBlQSBqIgUgckHwAWopAgA3AwAgZUEoaiIDIHJB+AFqKAIANgIAIGUgckGIAWopAgA3AwggZSByQZQBaikCADcCFCByQdAAaioCACEeIHJBzABqKgIAIR0gckHIAGoqAgAhHCByQUBrKgIAIS0gckE8aioCACEvIHJBOGoqAgAhOyByQcQAaioCACEsIABBEGooAgAhACAHQagBaiBuQdgBaigCADYCACAHQaABaiBuQdABaikDADcDACAHIG5ByAFqKQMANwOYASAHIG5BgAJqKQMANwPQASAHQdgBaiBuQYgCaikDADcDACAHQeABaiBuQZACaigCADYCACAHIG5BuAJqKQMANwOIAiAHQZACaiBuQcACaikDADcDACAHQZgCaiBuQcgCaigCADYCACAHQbMCaiBuQeMCaikAADcAACAHQawCaiBuQdwCaikCADcCACAHIG5B1AJqKQIANwKkAiAHIGUpAwg3AsACIAdByAJqIAgpAwA3AgAgB0HQAmogZUEYaikDADcCACAHQdgCaiAFKQMANwIAIAdB4AJqIAMoAgA2AgAgZigCACEMIAcgpQE3AwggByCkATcDACAHIDc4ArABIAcgLjgCrAEgByAxOAKUASAHIDA4ApABIAcgEzgCjAEgByAQOAKIASAHIBY4AoQBIAcgEjgCgAEgByAYOAJ8IAcgGzgCeCAHIBE4AnQgByAaOAJwIAcgFDgCbCAHIBU4AmggByAOOAJkIAcgDzgCYCAHIBc4AlwgByAZOAJYIAcgKzgCVCAHIDk4AlAgByAlOAJMIAcgKDgCSCAHIDQ4AkQgByAfOAJAIAcgKTgCPCAHIDo4AjggByAjOAI0IAcgITgCMCAHIEU4AiwgByAkOAIoIAcgJzgCJCAHIEY4AiAgByAgOAIcIAcgIjgCGCAHIEA4AhQgByAqOAIQIAcg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B0EBdCIFIAYgBSAGSxsiBSAFQQRNGyIIQThsIQYgCEGTyaQSSUECdCEFAkAgB0UEQCADQQA2AhgMAQsgA0EENgIYIAMgB0E4bDYCHCADIAsoAgQ2AhQLIANBCGogBSAGIANBFGoQ4QYgAygCDCEHAkAgAygCCEUEQCALIAg2AgAgCyAHNgIEDAELIAdBgYCAgHhGDQAgB0UNCAwKCyADQSBqJAAgDSgCvAIhYwsgDUG4AmooAgAgY0E4bGohAyAMQQJPBEAgASAAQX9zaiIGQQFxIQUgACABQQJrRwRAIAZBfnEhAQNAIANCADcCJCADQf////sHNgIgIANCgICAgPD//79/NwIYIANC/////w83AhAgA0L/////DzcCCCADQgA3AgAgA0EsakIANwIAIANBNGpBADYCACADQdgAakH////7BzYCACADQdAAakKAgICA8P//v383AgAgA0HIAGpC/////w83AgAgA0FAa0L/////DzcCACADQThqQgA3AgAgA0HcAGpCADcCACADQeQAakIANwIAIANB7ABqQQA2AgAgA0HwAGohAyABQQJrIgENAAsLIAwgY2pBAWshYyAFBEAgA0IANwIkIANB////+wc2AiAgA0KAgICA8P//v383AhggA0L/////DzcCECADQv////8PNwIIIANCADcCACADQSxqQgA3AgAgA0E0akEANgIAIANBOGohAwsLIANCADcCJCADQf////sHNgIgIANCgICAgPD//79/NwIYIANC/////w83AhAgA0L/////DzcCCCADQgA3AgAgA0EsakIANwIAIANBNGpBADYCACBjQQFqIQELIA0gATYCvAIgowEEQCCjAUEBayGPASAEKAIQIZkBIAQoAgwhmwEghwEoAhAhmAEghwEoAiQhhAEghwEoAiAhnAEgDSgChAMhbSANKAKAAyEBIIcBKAIMIZYBIHAoAjghhQEgcCgCMCGAASBwKAI0IYsBIHAqAhwhOyBwKgIEITEDQCBtIA0oApADIgAgACBtSxsiBwRAIA0oAowDIQNBACFiA0AgAyBiaiIFQQhqKgIAIQ8gBUEEaioCACEOIAEgYmoiBiAFKgIAIAYqAgCSOAIAIAZBBGoiACAOIAAqAgCSOAIAIAZBCGoiACAPIAAqAgCSOAIAIAVBFGoqAgAhDyAFQRBqKgIAIQ4g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AA4CAQACCyAHLQCMAg0BCyAHKAKEAiIDIAcoAogCIgBqIAZLDQogAyAHQRhqKAIARw0HIANFDQAgAEECdCENIAdBEGooAgAhDCADQQNxIWJBACEHIANBBE8EQCANIG1qIQEgA0F8cSEAQQAhAwNAIAMgDGoicyABIANqIm4qAgA4AgAgc0EEaiBuQQRqKgIAOAIAIHNBCGogbkEIaioCADgCACBzQQxqIG5BDGoqAgA4AgAgA0EQaiEDIAAgB0EEaiIHRw0ACwsgYkUNACBtIAdBAnQiACANamohAyAAIAxqIQEDQCABIAMqAgA4AgAgA0EEaiEDIAFBBGohASBiQQFrImINAAsLIAogY0EIaiJjRw0ACwsgcEHAA2okAA8LIAAgZUHg4sEAEO0IAAsgACB0QfDiwQAQ7QgACwwDC0GklcEAQRNB9OPBABDvCQALDAMLIAMgnQFB5KHBABDuCAALIAEgA0HkocEAEO8IAAtB3vfAAEEdQej4wAAQ0gsAC0GMhcEAQTRBwIXBABDSCwALIAcNAgsQ7goACyADIAFBEGooAgBB2IDEACgCACIAQaMHIAAbEQAAAAsgByADQRBqKAIAQdiAxAAoAgAiAEGjByAAGxEAAAALQYTLwABBNUG8y8AAENILAAtBBCABQdiAxAAoAgAiAEGjByAAGxEAAAALIAEgC0EQaigCAEHYgMQAKAIAIgBBowcgABsRAAAAC6zUAgNLfyx9BX4jAEGQA2siFSQAIAAtAOADBEAgAEIANwMQIABBiAJqQQA2AgAgAEHQAWpCADcDACAAQbgBakIANwMAIABBoAFqQgA3AwAgAEGIAWpCADcDACAAQfAAakIANwMAIABB2ABqQgA3AwAgAEFAa0IANwMAIABBKGpCADcDACAAQdgDakEANgIAIABB0AJqQgA3AwAgAEG4AmpCADcDACAAQaACakIANwMAIABBgAJqQgA3AwAgAEHoAWpCADcDACAAQdADakIANwMAIABBuANqQgA3AwAgAEGgA2pCADcDACAAQYgDakIANwMAIABB8AJqQgA3AwAgAEHoAmpCADcDAAsgCEHIAGoiDygCACETIA9BADYCACAJQcgAaiIPKAIAIRYgD0EANgIAIAlBxABqKAIAIhAgFkEDdGohHiAIQcQAaigCACIPIBNBA3RqIRogBigCECEfIAYo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FSAVKQD/ATcDeCAXQQhqQQA2AgAgF0IANwIAIA9BEGoiDyAaKQMANwMAIBMgFikDADcDACAVIBUpAzA3A9gCIAhBKGoghwE3AwAgCCCGATcDICAIQdAAakIANwMAIAhByABqQgA3AwAgCEGYAWpB////+wc2AgAgCEGQAWpCgICAgPD//79/NwMAIAhBiAFqQv////v///+//wA3AwAgCEGAAWpC////+wc3AwAgCEH4AGpCgICAgPD//79/NwMAIAhB8ABqQv////v///+//wA3AwAgCEHoAGpC////+wc3AwAgCEHgAGpCgICAgPD//79/NwMAIAhB2ABqQv////v///+//wA3AwAgCEGAA2oiFi0AACElIAhBMGogFSkD2AI3AwAgCEE4aiATKQMANwMAIAhBQGsgDykDADcDACAIQaQBakIANwIAIAhBnAFqQgA3AgAgCEGsAWpBgICA/AM2AgAgCEGwAWpCADcDACAIQbgBakIANwMAIAhBwAFqQgA3AwAgCEHIAWpBgICA/AM2AgAgCEHMAWpCADcCACAIQdQBakIANwIAIAhB3AFqQgA3AgAgCEHkAWpBADYCACAIQfABakEAOgAAIAhB6AFqQv////sHNwMAIAhB8QFqIBUpA9gBNwAAIAhB+QFqIBspAwA3AAAgCEGAAmogHygAADYAACAIQYwCakEAOgAAIAhBhAJqQv////sHNwIAIAhBqAJqQQA6AAAgCEGgAmpC////+wc3AwAgCEHEAmpBADoAACAIQbwCakL////7BzcCACAIQZwCaiAjKAAANgAAIAhBlQJqIDMpAwA3AAAgCEGNAmogFSkDwAE3AAAgCEG4AmogLSgAADYAACAIQbECaiAiKQMANwAAIAhBqQJqIBUpA6gBNwAAIAhB1AJqIDUoAAA2AAAgCEHNAmogKCkDADcAACAIQcUCaiAVKQOQATcAACAIQeACakEAOgAAIAhB2AJqQv////sHNwMAIAhB8AJqICQoAAA2AAAgCEHpAmogLCkDADcAACAIQeECaiAVKQN4NwAAIAhBhANqQYACOwEAIBZBADYCACAIQfwCakEAOgAAIAhB9AJqQv////sHNwIAIBIoAghFDQVBACEWIBIoAgRBADYCjAMgEiASKAKEAkEGajYChAIgEkEQaigCACEPAkAgEkEUaigCACIIRQRA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IAhBkAFqQoCAgIDw//+/fzcDACAIQYgBakL////7////v/8ANwMAIAhBgAFqQv////sHNwMAIAhB+ABqQoCAgIDw//+/fzcDACAIQfAAakL////7////v/8ANwMAIAhB6ABqQv////sHNwMAIAhB4ABqQoCAgIDw//+/fzcDACAIQdgAakL////7////v/8ANwMAIAhBgANqIhstAAAhJiAIQawBaiBbOAIAIAhByAFqQYCAgPwDNgIAIAhBzAFqQgA3AgAgCEHUAWpCADcCACAIQdwBakIANwIAIAhB5AFqQQA2AgAgCEHwAWpBADoAACAIQegBakL////7BzcDACAIQagBaiAfKAIANgIAIAhBoAFqIBUpA/ABNwIAIAhBwAFqIBMpAwA3AwAgCEG4AWogFikDADcDACAIQbABaiAVKQPYAjcDACAIQYQCakL////7BzcCACAIQYwCakEAOgAAIAhBoAJqQv////sHNwMAIAhBqAJqQQA6AAAgCEGAAmogIygAADYAACAIQfkBaiAtKQMANwAAIAhB8QFqIBUpA9gBNwAAIAhBjQJqIBUpA8ABNwAAIAhBlQJqIDUpAwA3AAAgCEGcAmogMygAADYAACAIQakCaiAVKQOoATcAACAIQbECaiAoKQMANwAAIAhBuAJqICIoAAA2AAAgCEHEAmpBADoAACAIQbwCakL////7BzcCACAIQdQCaiAkKAAANgAAIAhBzQJqICwpAwA3AAAgCEHFAmogFSkDkAE3AAAgCEHgAmpBADoAACAIQdgCakL////7BzcDACAIQfwCakEAOgAAIAhB9AJqQv////sHNwIAIAhBhANqQYACOwEAIBtBPzYCACAIQfACaiARKAAANgAAIAhB6QJqICUpAwA3AAAgCEHhAmogFSkDeDcAACASKAIIRQ0BIBIoAgRBADYCjAMgEiASKAKEAiIIQQYgJmlrIhZrNgKEAiAIIBZGBEAgEigCDARAIBIoAhAQlQILIBJCgICAgMAANwIMIBJBFGpCADcCACASKAIcBEAgEigCIBCVAgsgEkKAgICAwAA3AhwgEkEkakIANwIAIBIoAiwEQCASKAIwEJUCCyASQoCAgIDAADcCLCASQTRqQgA3AgAMCwsgEigCGCIIIBZNDRYgFSAWQQJ0IhMgEkEQaigCAGoiHzYCNCAVIB82AjAg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nsEAEO8JAAtBpJXBAEETQbSewQAQ7wkACyBCICVBCGoiJUcNAAsgESgCNCEiIBEqAlQhXyARKgIMIVsLIFsgX1sEQEGBgICAeCAiRQ0BGgsgWyBfXUUNASAvIF84AgRBgICAgHgLNgIAIBEoAkgiAQRAIBEoAkQgAUECdEELakF4cWsQlQILIBEoAjgEQCARKAI8EJUCCyARKAIsBEAgESgCMBCVAgsgESgCICIBBEAgESgCHCABQQJ0QQtqQXhxaxCVAgsgESgCEEUNASARKAIUEJUCDAELQQAhJiARQQA2ApQBIBFCgICAgMAANwKMAQJAAkACQAJAAkACQCAiBEAgBygCECE+IAYoAhAhPCAHKAIMIT0gBigCDCEwAkACQAJAA0AgESAiQQFrIiQ2AjQgESgCMCIcICRBNGxqIhAoAgAiAUECRg0FIBAoAjAhDyAQKAIsIRIgECgCKCETIBAoAiQhFCAQKAIgISAgECgCHCEhIBAqAhghWyAQKAIUIQggECgCECEbIBAoAgwhAiAQKAIIISMgECgCBCEQAkAgJEUEQCABIR0gECEXICMhGCACIR4gGyECIAghECBbIWMgISEIICAhISAUISAgEyEjIBIhEyAPIRIMAQsgHCgCACEdIBwgATYCACAcKAIEIRcgHCAQNgIEIBwoAgwhHiAcIAI2AgwgHCgCFCEQIBwgCDYCFCAcKAIcIQggHCAhNgIcIBxBCGoiKCgCACEYICggIzYCACAcQRBqIiUoAgAhAiAlIBs2AgAgHEEYaiIbKgIAIWMgGyBbOAIAIBxBIGoiJigCACEhICYgIDYCACAcKAIkISAgHCAUNgIkIBxBKGoiFCgCACEjIBQgEzYCACAcKAIsIRMgHCASNgIsIBxBMGoiJygCACESICcgDzYCACARQeABaiIBQTBqIikgJygCADYCACABQShqIicgFCkCADcDACABQSBqIisgJikCADcDACABQRhqIiYgGykCADcDACABQRBqIhsgJSkCADcDACABQQhqIiUgKCkCADcDACARIBwpAgA3A+ABQQAhD0EBIQEgIkEETwRAICRBAmsiD0EAIA8gJE0bISRBACEUA0AgHCAUQTRsaiIUIBwgAUEAQX8gHCABQTRsaiIPQRhqKgIAIlsgD0HMAGoqAgAiWl8iDxsgDyBaIFtfG0EBakECSWoiD0E0bGoiASkCADcCACAUQTBqIAFBMGooAgA2AgAgFEEoaiABQShqKQIANwIAIBRBIGogAUEgaikCADcCACAUQRhqIAFBGGopAgA3AgAgFEEQaiABQRBqKQIANwIAIBRBCGogAUEIaikCADcCACAPIRQgJCAPQQF0QQFyIgFPDQALCwJAICJBAmsgAUcEQCAPIQEMAQsgHCAPQTRsaiIPIBwgAUE0bGoiFCkCADcCACAPQTBqIBRBMGooAgA2AgAgD0EoaiAUQShqKQIANwIAIA9BIGogFEEgaikCADcCACAPQRhqIBRBGGopAgA3AgAgD0EQaiAUQRBqKQIANwIAIA9BCGogFEEIaikCADcCAAsgHCABQTRsaiIPIBEpA+ABNwIAIA9BMGogKSgCADYCACAPQShqICcpAwA3AgAgD0EgaiArKQMANwIAIA9BGGoiFCAmKQMANwIAIA9BEGogGykDADcCACAPQQhqICUpAwA3AgAgEUGIA2oiIkEIaiIkIA9BJGopAgA3AwAgIkEQaiIiIA9BLGopAgA3AwAgESAPKQIcNwOIAyAUKgIAIVsCQCABRQRAQQAhDwwBCwNAQQBBfyAcIAFBAWsiKEEBdiIPQTRsaiIUQRhqIiYqAgAiWiBbYCInGyAnIFogW18bQQFqQQJJBEAgASEPDAILIBwgAUE0bGoiASAUKQIANwIAIAFBMGogFEEwaigCADYCACABQShqIBRBKGopAgA3AgAgAUEgaiAUQSBqKQIANwIAIAFBGGogJikCADcCACABQRBqIBRBEGopAgA3AgAgAUEIaiAUQQhqKQIANwIAIA8hASAoQQFLDQALCyAcIA9BNGxqIgEgESkD4AE3AgAgASBbOAIYIAEgESkDiAM3AhwgAUEQaiAbKQMANwIAIAFBCGogJSkDADcCACABQSRqICQpAwA3AgAgAUEsaiAiKQMANwIAIB1BAkYNBgsgESoCDCBjYEUEQEGEnMEAQR9BpJzBABC5CgALQQAhJgJ/QQAgHUUNABpBACAXIDxPDQAaQQAgMEUNABpBACAwIBdB8AJsaiIPKAIARQ0AGiAPQQhqQQAgDygCBCAYRhsLIQECQCAeRQ0AIAIgPE8NACAwRQ0AIDAgAkHwAmxqIg8oAgBFDQAgD0EIakEAIA8oAgQgEEYbISYLQQAhHCARQQA2AtwCIBFCgICAgMAANwLUAgJAAkACQAJAAkACQAJAAkACQAJAIAFFDQAgAUEsai0AAEUNACAdRQ0BQQEhHCARKAIoRQ0AIBEoAhwiKEEEayElIBdBufPd8XlsQQV3IBhzQbnz3fF5bCIUQRl2rUKBgoSIkKDAgAF+IYgBQQAhDyARKAIgIRsgESgCGCEiIBEoAhQhJwNAIBQgG3EiFCAoaikAACKHASCIAYUihgFCgYKEiJCgwIABfSCGAUJ/hYNCgIGChIiQoMCAf4MhhgEDQCCGAVAEQCCHASCHAUIBhoNCgIGChIiQoMCAf4NCAFINAyAUIA9BCGoiD2ohFAwCCyAlIIYBeqdBA3YgFGogG3FBAnRrKAIAIiQgIk8NBCCGAUIBfSCGAYMhhgEgJyAkQQR0aiIkKAIAIBdHDQAgJEEEaigCACAYRw0ACwtBACEcCwJAAkAgJkUNACAmQSxqLQAARQ0AIB5FDQRBASEbIBEoAihFDQEgESgCHCIlQQRrIScgAkG5893xeWxBBXcgEHNBufPd8XlsIhRBGXatQoGChIiQoMCAAX4hiAFBACEoIBEoAiAhDyARKAIYISIgESgCFCEpA0AgDyAUcSIUICVqKQAAIocBIIgBhSKGAUKBgoSIkKDAgAF9IIYBQn+Fg0KAgYKEiJCgwIB/gyGGAQNAIIYBUARAIIcBIIcBQgGGg0KAgYKEiJCgwIB/g0IAUg0EIBQgKEEIaiIoaiEUDAILICcghgF6p0EDdiAUaiAPcUECdGsoAgAiJCAiTw0HIIYBQgF9IIYBgyGGASApICRBBHRqIiQoAgAgAkcNACAkQQRqKAIAIBBHDQALCwtBACEbIBxFDQgLIBJB/wFxRQRAIBxFBEBBACEUQQQhIQwICyAdRQ0FIBFB4AFqIBFBEGogFyAYIGMQyQEgAUUNBiABQdgCaigCACEPAn8gAUHcAmooAgAiAUUEQEEEISFBAAwBCyARQdQCakEAIAEQjQYgESgC2AIhISARKALcAgshCCAIQQN0ICFqIA8gAUEDdBCjDRogESABIAhqIhQ2AtwCDAcLIBEoApQBIgEgESgCjAFGBEAgEUGMAWogARCrBiARKAKUASEBCyARKAKQASABQTRsaiIPIBI2AjAgDyATNgIsIA8gIzYCKCAPICA2AiQgDyAhNgIgIA8gCDYCHCAPIGM4AhggDyAQNgIUIA8gAjYCECAPIB42AgwgDyAYNgIIIA8gFzYCBCAPIB02AgAgESABQQFqNgKUAQwHC0HYwMAAQStBtJzBABC5CgALICQgIkHk9MAAEO0IAAtB2MDAAEErQcScwQAQuQoACyAkICJB5PTAABDtCAALQdjAwABBK0HUnMEAELkKAAtB2MDAAEErQeScwQAQuQoACwJAIBtFDQACQCAeBEAgEUHgAWogEUEQaiACIBAgYxDJASAmRQ0BICZB2AJqKAIAIQIgJkHcAmooAgAiASARKALUAiAUa0sEQCARQdQCaiAUIAEQjQYgESgC2AIhISARKALcAiEUCyAhIBRBA3RqIAIgAUEDdBCjDRogESABIBRqIhQ2AtwCIBEoAtgCISEMAgtB2MDAAEErQfScwQAQuQoAC0HYwMAAQStBhJ3BABC5CgALIBEgYzgCmAEgFARAID1FDQYgMEUNAiAhIBRBA3RqIUEDQCAhKAIAIgEgPk8NByA9IAFBqAFsaiIBKAIARQ0HIAEoAgQgISgCBEcNByABKAIIRQ0FIAFBDGooAgAiAiA8Tw0GIDAgAkHwAmxqIgIoAgBFDQYgAigCBCABQRBqKAIARw0GIAJB5ABqKgIAIWUgAkHoAGoqAgAhaCACQewAaioCACFpIAFBJGoqAgAhXSABQSxqKgIAIV4gAUEoaioCACFjIBEgAkHgAGoqAgAiXCABQSBqKgIAImCUIAJB1ABqKgIAIlsgAUEUaioCACJilJMgAkHYAGoqAgAiXyABQRhqKgIAImGUkyACQdwAaioCACJaIAFBHGoqAgAiZJSTOAKoASARIFogYJQgWyBhlCBcIGSUkiBfIGKUk5I4AqQBIBEgWiBilCBfIGCUIFwgYZQgWyBklJOSkjgCoAEgESBfIGSUIFwgYpQgWyBglJKSIFogYZSTOAKcASARIGkgXiBcIFsgY5QgXyBdlJMiYCBgkiJglCBbIFogXZQgWyBelJMiYiBikiJilCBfIF8gXpQgWiBjlJMiXiBekiJelJOSkpI4ArQBIBEgaCBjIFwgYpQgWiBelCBbIGCUk5KSkjgCsAEgESBlIF0gXCBelCBfIGCUIFogYpSTkpKSOAKsASARQcADaiICIAFBOGooAgAgAUE8aigCACIIKAIIQQFrQXhxakEIaiABQfwAaiARQZwBaiAIKAK4ARECACARICE2AswBIBEgBTYCyAEgESAGNgLEASARIAFBCGo2ArwBIBEgBzYCuAEgESARQSxqNgLcASARIBFBDGo2AtgBIBEgEUGYAWo2AtQBIBEgEUEQajYCwAEgESAKNgLQASARQeABaiACEOsFIBEgEUG4AWo2AsACIBFBADYC6AIgEUKAgICAwAA3AuACAkAgCigCaCIxRQ0AIBFB4AJqQQAQswYgESgC5AIiJiARKALoAiIBQQJ0akEANgIAIAFBAWoiE0UNACAKKAKMASE2IAooAogBITggCigCZCFCA0AgESATQQFrIgg2AugCAkACQCAIQQJ0IkMgJmooAgAiASAxSQRAIBEoAuACITsgQiABQQd0aiInLQB4QQFxRQ0BICdB5ABqKAIAIQEgJ0HoAGooAgAhAiAnQewAaigCACEPICcoAmAhECARQfACaiAnIBFB4AFqEN4CQQAhFCARIDggEEEEdGpBACAQIDZJIhAbQQhqQQAgEBs2AnQgESA4IA9BBHRqQQAgDyA2SSIPG0EIakEAIA8bNgKAASARIDggAkEEdGpBACACIDZJIgIbQQhqQQAgAhs2AnwgESA4IAFBBHRqQQAgASA2SSIBG0EIakEAIAEbNgJ4IBEtAPMCQQN0IisgES0A8gJBAnQiPyARLQDwAiIXIBEtAPECQQF0Ii5ycnKtQv8BgyGKASARQfQAaiEBQgAhhwEDQAJAIIoBIIcBiEIBg1ANACABKAIAIgFFDQACQAJAIAEoAgAiHCARKALAAiIpKAIAIgIoAhBPDQAgAigCDCICRQ0AIAIgHEGoAWxqIiooAgBFDQAgAUEEaigCACIiICooAgRHDQAgKkEQaigCACEdICpBDGooAgAhASAqKAIIIRsgKSgCBCISKAIIISQgEigCBCEPAkAgEigCACIoBEAgG0EBRw0BIAEgD0cNASAdICRGDQQMAQsgG0UNAwsgKkHUAGooAgAgEigCSHFFDQIgEkHMAGooAgAgKkHQAGooAgBxRQ0CQQAhI0EAISAgKEUNASApKAIIIgJBGGooAgBFDQEgAigCDCIlQQRrITogD0G5893xeWxBBXcgJHNBufPd8XlsIhBBGXatQoGChIiQoMCAAX4hiQEgAkEQaigCACEgIAIoAgghGCACKAIEITRBACEeA0AgECAgcSICICVqKQAAIogBIIkB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KAIAIg1BufPd8XlsQQV3c0G5893xeWwiCkEZdq1CgYKEiJCgwIABfiFMIBRBCGohFEEAIRICQAJAAkADQCAKIBlxIgogImopAAAiSyBMhSJKQoGChIiQoMCAAX0gSkJ/hYNCgIGChIiQoMCAf4MhSgNAIEpQBEAgSyBLQgGGg0KAgYKEiJCgwIB/g0IAUg0FIAogEkEIaiISaiEKDAILICUgSnqnQQN2IApqIBlxQQJ0aygCACILIB9PDQIgSkIBfSBKgyFKICcgC0EEdGoiCygCACANRw0AIAtBBGooAgAgEUcNAAsLIAsoAgwiCkF/Rg0CIAogGEkEQCAgIApBLGxqIgotACgiCyAcTw0CIApBHGoiDSoCACExIApBIGoqAgAhMCANQv////f3/////gA3AgAgCkEUaiINKgIAISwgCkEYaioCACEvIA1C////9/f////+ADcCACAKQRBqKgIAITIgCioCDCEtIApC////9/f////+ADcCDAJ/IC0gJiALQQZ0aiIOKgI0Ii2VjiIui0MAAABPXQRAIC6oDAELQYCAgIB4CyEKIC8gLZWOIi9DAAAAz2AhCyAKQYCAgIB4IC5DAAAAz2AbIQ0gLkP///9OXiERAn8gL4tDAAAAT10EQCAvqAwBC0GAgICAeAtBgICAgHggCxshCyAvQ////05eIQ8CfyAwIC2VjiIwi0MAAABPXQRAIDCoDAELQYCAgIB4CyEKQf////8HIA0gERshDSAuIC5cIRFB/////wcgCyAPGyELIC8gL1whEAJ/IDEgLZWOIi6LQwAAAE9dBEAgLqgMAQtBgICAgHgLIQ9BACANIBEbIRFBACALIBAbIRYCfyAsIC2VjiIvi0MAAABPXQRAIC+oDAELQYCAgIB4CyELIBEgFkohEAJ/IDIgLZWOIi2LQwAAAE9dBEAgLagMAQtBgICAgHgLIQ0gEA0DQf////8HIA1BgICAgHggLUMAAADPYBsgLUP///9OXhtBACAtIC1bGyINQf////8HIA9BgICAgHggLkMAAADPYBsgLkP///9OXhtBACAuIC5bGyIXSgRAA0AgESAWTg0FIBYgESARIBZIaiIRTg0ADAULAAtB/////wcgC0GAgICAeCAvQwAAAM9gGyAvQ////05eG0EAIC8gL1sbIg9B/////wcgCkGAgICAeCAwQwAA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NwPABiABQdgAaioCACF3IAFB3ABqKgIAIXggAUHgAGoqAgAheSABQeQAaioCACF6IAFB6ABqKgIAIXsgAUHsAGoqAgAhfCABQfAAaioCACF9IAFB9ABqKgIAIX4gAUH4AGoqAgAhfyABQfwAaioCACGAASABQYABaioCACGBASABQYQBaioCACGCASABQYgBaioCACGDASABQYwBaioCACGEASABQZABaioCACGFASABQZQBaioCACGGASABQZgBaioCACGHASABQZwBaigCACEsIARBuAZqIi0gAUGoAWooAgA2AgAgBCABQaABaikCADcDsAYgAUGsAWoqAgAhiAEgBEGYBmoiAkEQaiIuIAFBwAFqKQMANwMAIAJBCGoiLyABQbgBaikDADcDACAEIAFBsAFqKQMANwOYBiABQcgBaioCACGJASABQcwBaioCACGKASABQdABaioCACGLASABQdQBaioCACGMASAEQZAGaiIwIAFB4AFqKQMANwMAIAQgAUHYAWopAwA3A4gGIAFB6AFqKgIAIY0BIAFB7AFqKgIAIY4BIAFB8AFqLQAAITEgBEHwBWoiAkEPaiIyIAFBgAJqKAAANgAAIAJBCGoiMyABQfkBaikAADcDACAEIAFB8QFqKQAANwPwBSABQYQCaioCACGPASABQYgCaioCACGQASABQYwCai0AACE0IARB2AVqIgJBD2oiNSABQZwCaigAADYAACACQQhqIjYgAUGVAmopAAA3AwAgBCABQY0CaikAADcD2AUgAUGgAmoqAgAhkQEgAUGkAmoqAgAhkgEgAUGoAmotAAAhNyAEQcAFaiICQQ9qIjggAUG4AmooAAA2AAAgAkEIaiI5IAFBsQJqKQAANwMAIAQgAUGpAmopAAA3A8AFIAFBvAJqKgIAIZMBIAFBwAJqKgIAIZQBIAFBxAJqLQAAITogBEGoBWoiAkEPaiI7IAFB1AJqKAAANgAAIAJBCGoiPCABQc0CaikAADcDACAEIAFBxQJqKQAANwOoBSABQdgCaioCACGVASABQdwCaioCACGWASABQeACai0AACE9IARBkAVqIgJBD2oiPiABQfACaigAADYAACACQQhqIj8gAUHpAmopAAA3AwAgBCABQeECaikAADcDkAUgAUH0AmoqAgAhlwEgAUH4AmoqAgAhmAEgAUH8Amot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NwMAIAFBGGogC0EYaikAADcDACABQRBqIAtBEGopAAA3AwAgAUEIaiALQQhqKQAANwMAIAogGS8AADsB3AQgCiALKQAANwOYBCAKLQCQByEMIAotAJwHIQEgCikClAchXiAKLQDcByEFIApB2ANqIgdBN2ogBkE3aikAADcAACAHQTBqIAZBMGopAAA3AwAgB0EoaiAGQShqKQAANwMAIAdBIGogBkEgaikAADcDACAHQRhqIAZBGGopAAA3AwAgB0EQaiAGQRBqKQAANwMAIAdBCGogBkEIaikAADcDACAKIAYpAAA3A9gDIAotAJwIIQggCkGYA2oiB0E3aiAEQTdqKQAANwAAIAdBMGogBEEwaikAADcDACAHQShqIARBKGopAAA3AwAgB0EgaiAEQSBqKQAANwMAIAdBGGogBEEYaikAADcDACAHQRBqIARBEGopAAA3AwAgB0EIaiAEQQhqKQAANwMAIAogBCkAADcDmAMgCi0A3AghByAKQZYDaiAYQQJqLQAAOgAAIAogGC8AADsBlAMMAgsgASAbQYDdwAAQ7QgACyAKQegEaiAgQQhqKAIANgIAIAogICkCADcD4ARBBCEHIAooApAGIQlBBCEIQQQhBUEEIQELIAlB/wFxQQJHBEAgA0H4AGohDyAKIDE4AqwFIAogLzgCqAUgCiAuOAKkBSAKIC04AqAFIApB4AZqIg5BKGogDUEoaikCADcDACAOQSBqIA1BIGopAgA3AwAgDkEYaiANQRhqKQIANwMAIA5BEGogDUEQaikCADcDACAOQQhqIA1BCGopAgA3AwAgCiAMOgCQByAKIA0pAgA3A+AGIBkgCi8B3AQ7AAAgGUECaiAKQd4Eai0AADoAACAKIAE6AJwHIAogXjcClAcgC0E3aiAKQZgEaiIBQTdqKQAANwAAIAtBMGogAUEwaikDADcAACALQShqIAFBKGopAwA3AAAgC0EgaiABQSBqKQMANwAAIAtBGGogAUEYaikDADcAACALQRBqIAFBEGopAwA3AAAgC0EIaiABQQhqKQMANwAAIAsgCikDmAQ3AAAgCiAFOgDcByAGQTdqIApB2ANqIgFBN2opAAA3AAAgBkEwaiABQTBqKQMANwAAIAZBKGogAUEoaikDADcAACAGQSBqIAFBIGopAwA3AAAgBkEYaiABQRhqKQMANwAAIAZBEGogAUEQaikDADcAACAGQQhqIAFBCGopAwA3AAAgBiAKKQPYAzcAACAKIAg6AJwIIARBN2ogCkGYA2oiAUE3aikAADcAACAEQTBqIAFBMGopAwA3AAAgBEEoaiABQShqKQMANwAAIARBIGogAUEgaikDADcAACAEQRhqIAFBGGopAwA3AAAgBEEQaiABQRBqKQMANwAAIARBCGogAUEIaikDADcAACAEIAopA5gDNwAAIAogBzoA3AggGEECaiAKQZYDai0AADoAACAYIAovAZQDOwAAIAlBFXZBCHEgCUEOdkEEcSAJQQd2QQJxIAlBAXFycnKtIV9CACFdA0ACQCBfIF2IQgGDUA0AIF2nIQEgDy0AAEEBcQRAIAFBAnQiByAKQaAFamoqAgAiLSA2XUUNASAKQeAGaiABQQZ0aiIFLQA8IgFBBEYNASADIAdqQeAAaigCACASTw0BIBAgBSkAADcAACAQQThqIAVBOGooAAA2AAAgEEEwaiAFQTBqKQAANwAAIBBBKGogBUEoaikAADcAACAQQSBqIAVBIGopAAA3AAAgEEEYaiAFQRhqKQAANwAAIBBBEGogBUEQaikAADcAACAQQQhqIAVBCGopAAA3AAAgCkHGAmogBUE/ai0AADoAACAKIAUvAD07AcQCIApByAJqIgJBN2ogCkGwBWoiBUE3aikAADcAACACQTBqIAVBMGopAAA3AwAgAkEoaiAFQShqKQAANwMAIAJBIGogBUEgaikAADcDACACQRhqIAVBGGopAAA3AwAgAkEQaiAFQRBqKQAANwMAIAJBCGogBUEIaikAADcDACAKIAopALAFNwPIAiABIQIgLSE2DAELIAFBAnQiASADakHgAGooAgAiByAbTw0AIApBoAVqIAFqKgIAjCEtIAooAsACIgkhBSAKKAK4AiAJRgRAIApBuAJqIAkQsAYgCigCwAIhBQsgCigCvAIiASAFQQN0aiIIIC04AgQgCCAHNgIAIAogBUEBajYCwAIgASAJQQN0aiIFKgIEIS0gBSgCACEHAkAgCUUEQEEAIQUMAQsDQCAtIAEgCUEBayIIQQF2IgVBA3RqIg5BBGoqAgBeRQRAIAkhBQwCCyABIAlBA3RqIA4pAgA3AgAgBSEJIAhBAUsNAAsLIAEgBUEDdGoiASAtOAIEIAEgBzYCAAsgXUIBfCJdQgRSDQALIApBiANqIApBuAJqENsDIAooAogDDQEMAgsLAkAgDEEERwRAIApBggpqIApB3gRqLQAAOgAAIAogCi8B3AQ7AYAKIApBmwdqIApBmAVqKAIANgAAIApBkwdqIApB4ARqIgFBMGopAwA3AAAgCkGLB2ogAUEoaikDADcAACAKQYMHaiABQSBqKQMANwAAIApB+wZqIAFBGGopAwA3AAAgCkHzBmogAUEQaikDADcAACAKQesGaiABQQhqKQMANwAAIAogCikD4AQ3AOMGIApBsAVqIgFBN2ogCkHgBmoiAkE3aikAADcAACABQTBqIAJBMGopAAA3AwAgAUEoaiACQShqKQAANwMAIAFBIGogAkEgaikAADcDACABQRhqIAJBGGopAAA3AwAgAUEQaiACQRBqKQAANwMAIAFBCGogAkEIaikAADcDACAKIAopAOAGNwOwBSAMIQIMAQsgCkGwBWoiAUE3aiAKQcgCaiIDQTdqKQAANwAAIAFBMGogA0EwaikDADcDACABQShqIANBKGopAwA3AwAgAUEgaiADQSBqKQMANwMAIAFBGGogA0EYaikDADcDACABQRBqIANBEGopAwA3AwAgAUEIaiADQQhqKQMANwMAIApBggpqIApBxgJqLQAAOgAAIAogCikDyAI3A7AFIAogCi8BxAI7AYAKCyAKKAK4AkUNASAKKAK8AhCVAgwBCyAKQbAFaiIBQQhqIApByAJqIgNBCGopAwA3AwAgAUEQaiADQRBqKQMANwMAIAFBGGogA0EYaikDADcDACABQSBqIANBIGopAwA3AwAgAUEoaiADQShqKQMANwMAIAFBMGogA0EwaikDADcDACABQTdqIANBN2opAAA3AAAgCkGCCmogCkHGAmotAAA6AAAgCiAKKQPIAjcDsAUgCiAKLwHEAjsBgAogCigCuAJFDQAgCigCvAIQlQILIAJB/wFxQQRHDQELIABBBDoAPAwBCyAAIAopALMFNwAAIAAgCi8BgAo7AD0gAEE4aiAKQesFaigAADYAACAAQTBqIApB4wVqKQAANwAAIABBKGogCkHbBWopAAA3AAAgAEEgaiAKQdMFaikAADcAACAAQRhqIApBywVqKQAANwAAIABBEGogCkHDBWopAAA3AAAgAEEIaiAKQbsFaikAADcAACAAQT9qIApB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CCADQQRqKgIAIQsgAyoCACEKIAEoAgAgAGtBA00EQCABIABBBBDMBiABKAIIIQALIAEoAgQgAGogCjgAACABIABBBGoiADYCCCABKAIAIABrQQNNBEAgASAAQQQQzAYgASgCCCEACyABIABBBGo2AgggASgCBCAAaiALOAAADAcLIAkoAgwhAyABKAIAIgIoAgghACACKAIAIABrQQNNBEAgAiAAQQQQzAYgAigCCCEACyACIABBBGo2AgggAigCBCAAakENNgAAIAMgARDiBiIADQcgAyoCDCEKIAIoAgAgAigCCCIBa0EDTQRAIAIgAUEEEMwGIAIoAgghAQsgAiABQQRqNgIIIAIoAgQgAWogCjgAAAwGCyAJKAIMIQMgASgCACICKAIIIQAgAigCACAAa0EDTQRAIAIgAEEEEMwGIAIoAgghAAsgAiAAQQRqNgIIIAIoAgQgAGpBDjYAACADIAEQ4gYiAA0GIANBDGogARDiBiIADQYgA0EYaiABEOIGIgANBiADKgIkIQogAigCACACKAIIIgFrQQNNBEAgAiABQQQQzAYgAigCCCEBCyACIAFBBGo2AgggAigCBCABaiAKOAAADAULIAkoAgwhAyABKAIAIgEoAgghACABKAIAIABrQQNNBEAgASAAQQQQzAYgASgCCCEACyABKAIEIABqQQ82AAAgASAAQQRqIgA2AgggAyoCBCELIAMqAgAhCiABKAIAIABrQQNNBEAgASAAQQQQzAYgASgCCCEACyABKAIEIABqIAo4AAAgASAAQQRqIgA2AgggASgCACAAa0EDTQRAIAEgAEEEEMwGIAEoAgghAAsgASgCBCAAaiALOAAAIAEgAEEEaiIANgIIIAMqAgghCiABKAIAIABrQQNNBEAgASAAQQQQzAYgASgCCCEACyABIABBBGo2AgggASgCBCAAaiAKOAAADAQLIAkoAgwhAyABKAIAIgEoAgghACABKAIAIABrQQNNBEAgASAAQQQQzAYgASgCCCEACyABKAIEIABqQRA2AAAgASAAQQRqIgA2AgggAyoCBCELIAMqAgAhCiABKAIAIABrQQNNBEAgASAAQQQQzAYgASgCCCEACyABKAIEIABqIAo4AAAgASAAQQRqIgA2AgggASgCACAAa0EDTQRAIAEgAEEEEMwGIAEoAgghAAsgASgCBCAAaiALOAAAIAEgAEEEaiIANgIIIAMqAgghCiABKAIAIABrQQNNBEAgASAAQQQQzAYgASgCCCEACyABIABBBGo2AgggASgCBCAAaiAKOAAADAMLIAkoAgwhAyABKAIAIgAoAgghAiAAKAIAIAJrQQNNBEAgACACQQQQzAYgACgCCCECCyAAIAJBBGo2AgggACgCBCACakERNgAAIAMgARC1ASIADQMgAyoCYCEKIAEoAgAiASgCCCEAIAEoAgAgAGtBA00EQCABIABBBBDMBiABKAIIIQALIAEgAEEEajYCCCABKAIEIABqIAo4AAAMAgsgCSgCDCEDIAEoAgAiASgCCCEAIAEoAgAgAGtBA00EQCABIABBBBDMBiABKAIIIQALIAEoAgQgAGpBEjYAACABIABBBGoiADYCCCABKAIAIABrQQNNBEAgASAAQQQQzAYgASgCCCEACyABIABBBGo2AgggASgCBCAAaiADNgAADAELIAEoAgAhBQJAIAgoAnhBgICAgHhGBEAgBSgCCCICIAUoAgBGBEAgBSACQQEQzAYgBSgCCCECCyAFIAJBAWo2AgggBSgCBCACakEAOgAADAELIAUoAggiAiAFKAIARgRAIAUgAkEBEMwGIAUoAgghAgsgBSgCBCACakEBOgAAIAUgAkEBaiIDNgIIIAhBgAFqKAIAIQAgCEH8AGooAgAhBCAFKAIAIANrQQdNBEAgBSADQQgQzAYgBSgCCCEDCyAFIANBCGoiAjYCCCAFKAIEIANqIACtNwAAIAAEQCAAQQJ0IQcDQCAEKAIAIQAgBEEEaiEEIAUgBSgCACACa0EDSwR/IAIFIAUgAkEEEMwGIAUoAggLIgNBBGoiAjYCCCAFKAIEIANqIAA2AAAgB0EEayIHDQALCyAIQYwBaigCACEAIAhBiAFqKAIAIQQgBSgCACACa0EHTQRAIAUgAkEIEMwGIAUoAgghAgsgBSACQQhqIgM2AgggBSgCBCACaiAArTcAACAABEAgAEECdCEHA0AgBCgCACEAIARBBGohBCAFIAUoAgAgA2tBA0sEfyADBSAFIANBBBDMBiAFKAIICyICQQRqIgM2AgggBSgCBCACaiAANgAAIAdBBGsiBw0ACwsgCEGYAWooAgAhACAIQZQBaigCACECIAUoAgAgA2tBB00EQCAFIANBCBDMBiAFKAII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QTALIQEgD0EBaiEPIBdFDQEMBAsgASADQczHwwAQ7QgACyADIAlNDQIgBSABOgAAIAlBAWohCQwCCyAMQShBuO/DABDtCAALIAkgA0Hcx8MAEO4IAAsgAyAJSQ0BCyAAIA87AQggACAJNgIEIAAgAjYCACAHQcAGaiQADwsgCSADQezHwwAQ7ggACyABQShBuO/DABDuCAALIAVBKEG478MAEO4IAAtByO/DAEEaQbjvwwAQuQoAC+YmAx5/H30CfiMAQfAHayILJAAgC0EcaiAGIAcoAoABEQAAIAtBGGogBzYCACALQRBqIAQ2AgAgCyAKOgA0IAsgCTgCMCALIAg4AiwgCyAGNgIUIAsgAzYCDCALIAU2AgggCyACNgIEIAsgATYCAAJAAkAgAyAEKAIQEQQAIgFBIGooAgAiEQRAIAtBADYCQCALQoCAgIDAADcCOCALQThqIgJBABCwBiALKAI8IAsoAkAiA0EDdGpCgICAgPD///9+NwIAIAsgA0EBajYCQCALQYQBaiACENsDAkACQCALKAKEAUUEQEEEIQEMAQsgC0E0aiEYIAtBMGohGSALQSxqIRogAUHEAGooAgAhDSABQUBrKAIAIQ8gAUEcaigCACEbIAtBoAZqIgFBA2ohBSALQYAEaiEVIAtB/QNqIRIgC0H0AmohCiALQdACaiETIAFBKGohECALQYgGaiEUQ///f38hCSALQcADaiEWQQQhAQJAAkACQANAIAkgCyoCjAGMXw0EIAsoAogBIgIgEU8NAiAbIAJBB3RqIgMtAHhBAXEiDARAIAMoAmAiBCANSSECIA8gBEEMbGpBACACG0EIakEAIAIbIRwgA0HsAGooAgAiBCANSSECIA8gBEEMbGpBACACG0EIakEAIAIbIR0gA0HoAGooAgAiBCANSSECIA8gBEEMbGpBACACG0EIakEAIAIbIR4gA0HkAGooAgAiBCANSSECIA8gBEEMbGpBACACG0EIakEAIAIbIRcLIANB+ABqIR8gCyAJOAK0AyAWQgA3AwAgC0IANwO4A0EAIQYgC0EANgLMAyALQQQ6ALwFIAtBBDoAgAUgC0EEOgDEBCALQQQ6AIgEIANBNGoqAgAhCCADQThqKgIAISkgA0E8aioCACEsIANBFGoqAgAhPiADQcQAaioCACEwIANBGGoqAgAhPyADQcgA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MGopAAA3AwAgAUEoaiADQShqKQAANwMAIAFBIGogA0EgaikAADcDACABQRhqIANBGGopAAA3AwAgAUEQaiADQRBqKQAANwMAIAFBCGogA0EIaikAADcDACALIAspANADNwOgBiACIQEMAQsgC0GgBmoiAkE3aiALQcgAaiIDQTdqKAAANgAAIAJBMGogA0EwaikDADcDACACQShqIANBKGopAwA3AwAgAkEgaiADQSBqKQMANwMAIAJBGGogA0EYaikDADcDACACQRBqIANBEGopAwA3AwAgAkEIaiADQQhqKQMANwMAIAtB4gVqIAtBxgBqLQAAOgAAIAsgCykDSDcDoAYgCyALLwFEOwHgBQsgCygCOEUNASALKAI8EJUCDAELIAtBoAZqIgJBCGogC0HIAGoiA0EIaikDADcDACACQRBqIANBEGopAwA3AwAgAkEYaiADQRhqKQMANwMAIAJBIGogA0EgaikDADcDACACQShqIANBKGopAwA3AwAgAkEwaiADQTBqKQMANwMAIAJBN2ogA0E3aigAADYAACALQeIFaiALQcYAai0AADoAACALIAspA0g3A6AGIAsgCy8BRDsB4AUgCygCOEUNACALKAI8EJUCCyABQf8BcUEERw0BCyAAQQQ6ADQMAQsgACALLwHgBTsANSAAIAspAKcGNwAAIABBN2ogC0HiBWotAAA6AAAgAEEIaiALQa8GaikAADcAACAAQRBqIAtBtwZqKQAANwAAIABBGGogC0G/BmopAAA3AAAgAEEgaiALQccGaikAADcAACAAQShqIAtBzwZqKQAANwAAIABBMGogC0HXBmooAAA2AAAgACABOgA0CyALQfAHaiQAC+guAxp/B30EfiMAQcACayIEJABDAAAANBCYASEjIARBADYCDCAEQoCAgIDAADcCBCAEQQA2AhggBEKAgICAwAA3AhAgBEEANgIkIARCgICAgMAANwIcIARBADYCMCAEQoCAgIDAADcCKCAEQQA2AkwgBEIANwJEIARB6IvCADYCQCAEQQA2AjwgBEKAgICAwAA3AjQgBEEANgJYIARCgICAgMAANwJQIARBADYCZCAEQoCAgIDAADcCXCAEQQA2AnAgBEKAgICAwAA3AmggBEEANgJ8IARCgICAgMAANwJ0AkAgASgCCCIKIANqIgZBA08EQAJAIARB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AkAgCUH8AGoiBygCCCIGBH8gASgCACoCACIIQwAAAABgDQEgCEMAAKBAlCEIIAcoAgRBMGohAAJAA0AgACoCACImIAhgICZDAAAAAGByRQ0BIABBPGohACAGIANBAWoiA0cNAAsMAgtBASEEIANBAWoFQQALIQAgACAGRg0AIAYgAGshAyAHKAIEIABBPGxqIQAgASgCACEPA0AgAEEwaiEMAkACQCAPKgIAIghDAAAAAGANACAMKgIAIiZDAAAAAGANACAIQwAAoECUICZfDQAgBEEBaiEEDAELIAAgBEFEbGoiASAAKQIANwIAIAFBOGogAEE4aigCADYCACABQTBqIAwpAgA3AgAgAUEoaiAAQShqKQIANwIAIAFBIGogAEEgaikCADcCACABQRhqIABBGGopAgA3AgAgAUEQaiAAQRBqKQIANwIAIAFBCGogAEEIaikCADcCAAsgAEE8aiEAIANBAWsiAw0ACwsgByAGIARrNgIICyAJIAtBKGoiACALQRhqIgEgChsiAykCADcCiAEgCSABIAAgChsiACkCADcClAEgCUGQAWogA0EIaigCADYCACAJQZwBaiAAQQhqKAIANgIAIAkoAoQBIgAEQCAFRQ0FIAkoAoABIg4gAEE8bGohBCAFQTxsIgAgAmohBiACQTxqIQEgAEE8ayIHQTxuQQFxIQkDQCAOKAI0IQMCfyACIAkNABogASADIAIoAjRHDQAaIAEgDigCOCACKAI4Rw0AGiAOIAIpAgA3AgAgDkEQaiACQRBqKQIANwIAIA5BCGogAkEIaikCADcCACABCyENIAdBPE8EQANAAkAgAyANQTRqKAIARw0AIA4oAjggDUE4aigCAEcNACAOIA0pAgA3AgAgDkEQaiANQRBqKQIANwIAIA5BCGogDUEIaikCADcCAAsCQCADIA1B8ABqKAIARw0AIA4oAjggDUH0AGooAgBHDQAgDiANQTxqIgApAgA3AgAgDkEQaiAAQRBqKQIANwIAIA5BCGogAEEIaikCADcCAAsgBiANQfgAaiINRw0ACwsgBCAOQTxqIg5HDQALCyAFRQ0EIAIQlQIMBAtBBCANQdiAxAAoAgAiAEGjByAAGxEAAAALEO4KAAsgCUGEAWpBADYCAAwBCyAJQYQBakEANgIACyALQYACaiQAC4MiAhl/A34jAEHwAGsiBCQAAkAgA0UNAAJ+QciExAApAwBCAFIEQEHQhMQAKQMAIR5B2ITEACkDAAwBC0HYhMQAQgI3AwBByITEAEIBNwMAQgEhHkICCyEdIARBEGpB+IvCACkDADcDACAEIB43AxhB0ITEACAeQgF8NwMAIAQgHTcDICAEQfCLwgApAwA3AwggBEEAOgBkIAFB3ABqKAIAIQYgBCAEQQhqNgI0IAQgBEHkAGo2AjACQCAGBEAgAUHYAGooAgAhAwJAA0AgBEEwaiADEKIBRQ0BIANBDGohAyAGIAVBAWoiBUcNAAsMAgtBASENIAVBAWohBQsgBSAGRg0AIAFB2ABqKAIAIAVBDGxqIQMgBiAFayEFA0ACQCAEQTBqIAMQogFFBEAgDUEBaiENDAELIAMgDUF0bGoiCiADKQIANwIAIApBCGogA0EIaigCADYCAAsgA0EMaiEDIAVBAWsiBQ0ACwsgASAGIA1rNgJcIAQoAgwiA0UNACADIANBA3QiA2pBb0YNACAEKAIIIANrQQhrEJUCCyAEQShqQQA2AgAgBEEYakIENwIAIARCgICAgMAANwIgIARCADcCECAEQoCAgIDAADcCCCAEQQA2AkggBEIANwJAIARB6IvCADYCPCAEQQA2AjggBEKAgICAwAA3AjAgBCABQdAAaigCACIGBH8gBEEIakEAIAYQjAYgBCgCDCIKIAQoAhAiA0ECdGohBSAGQQFHBEAgBUH/ASAGQQJ0QQRrEKINGiADIAZqIgVBAWshAyAFQQJ0IApqQQRrIQULIAVBfzYCACADQQFqBUEACzYCEAJAAkACQAJAAkACQAJAIAFB3ABqKAIAIgNFDQAgBEEgaiELIARBFGohDCABQdgAaigCACIOIANBDGxqIRBBACEGQQQhCEEAIQoDQAJAAn8CQCAOKAIAIgMgDigCBCIFRg0AIAMgDigCCCIDRg0AIAMgBUYNACAKQQFqIRYgDkEMaiEXQQAhAyAEKAIoIhghDwNAIANBAWoiFCADQQJrIANBAkkbIhIgGGohEyAOIANBAnRqIhsoAgAhBSAEKAIgIA9GBEAgCyAPEK0GIAQoAighDwsgBCgCJCAPQQR0aiIJIAo2AgwgCSAFNgIIIAlBfzYCBCAJIBM2AgAgBCAPQQFqIg82AiggDiASQQJ0aigCACITIBsoAgAiGUG5893xeWxBBXdzQbnz3fF5bCISQRl2IhytQoGChIiQoMCAAX4hHiAEKAI8IhFBBGshBSADIBhqIRpBACEVIAQoAkAhDSASIQMCQAJAAkACQANAIAMgDXEiCSARaikAACIfIB6FIh1CgYKEiJCgwIABfSAdQn+Fg0KAgYKEiJCgwIB/gyEdA0AgHVAEQCAfIB9CAYaDQoCBgoSIkKDAgH+DQgBSDQMgCSAVQQhqIhVqIQMMAgsgBSAdeqdBA3YgCWogDXFBAnRrKAIAIgcgBk8NBCAdQgF9IB2DIR0gCCAHQQR0aiIDKAIAIBlHDQAgA0EEaigCACATRw0ACwsgCCAHQQR0aiIBKAIMIQIgASAaNgIMIAQoAigiASACTQ0BIAAgGTYCDCAAIAo2AgggAEEBNgIAIAAgBCgCJCACQQR0aigCDDYCBCATIQpBEAwGCyARIA0gEnEiBWopAABCgIGChIiQoMCAf4MiHVAEQEEIIQMDQCADIAVqIQUgA0EIaiEDIBEgBSANcSIFaikAAEKAgYKEiJCgwIB/gyIdUA0ACwsgESAdeqdBA3YgBWogDXEiA2osAAAiBUEATgRAIBEgESkDAEKAgYKEiJCgwIB/g3qnQQN2IgNqLQAAIQULAkAgBUEBcSIJRQ0AIAQoAkQNACAEQTxqIAggBhCLASASIAQoAkAiDXEiByAEKAI8IhFqKQAAQoCBgoSIkKDAgH+DIh1QBEBBCCEDA0AgAyAHaiEFIANBCGohAyARIAUgDXEiB2opAABCgIGChIiQoMCAf4MiHVANAAsLIBEgHXqnQQN2IAdqIA1xIgNqLAAAQQBIDQAgESkDAEKAgYKEiJCgwIB/g3qnQQN2IQMLIAMgEWogHDoAACADQQhrIA1xIBFqQQhqIBw6AAAgESADQQJ0a0EEayAGNgIAIAQgBCgCRCAJayIJNgJEIAQgBCgCSEEBaiIINgJIIAQoAjghAyAGIAQoAjAiBUcNAiAIIAlqIANrIgUgBiADa00EQCAGIQUMAwsgAyAFaiIFIANJDQkgBUEEdCEJIAVBgICAwABJQQJ0IQgCQCAGRQRAIARBADYCaAwBCyAEIAQoAjQ2AmQgBEEENgJoIAQgBkEEdDYCbAsgBEHYAGogCCAJIARB5ABqEOEGIAQoAlwhCCAEKAJYRQRAIAQgBTYCMCAEIAg2AjQMAwsgBiEFIAhBgYCAgHhGDQIgCEUNCSAIIAQoAmBB2IDEACgCACIAQaMHIAAbEQAAAAsgAiABQdT8wgAQ7QgACyAHIAZBkI3CABDtCAALIAMgBUYEQCAEQTBqIAMQrQYgBCgCOCEDCyAEKAI0IgggA0EEdGoiBSAaNgIMIAUgEjYCCCAFIBM2AgQgBSAZNgIAIAQgA0EBaiIGNgI4IBsoAgAiBSAEKAIQIgNJBEAgBCgCDCAFQQJ0aiAaNgIAIBQiA0EDRg0EDAELCyAFIANB5PzCABDtCAALIABBADYCAEEECyEBIAAgAWogCjYCACAEKAJAIgAEQCAEKAI8IABBAnRBC2pBeHFrEJUCCyAEKAIwBEAgBCgCNBCVAgsgBCgCCARAIAQoAgwQlQILIAQoAhQEQCAEKAIYEJUCCyAEKAIgRQ0IIAQoAiQQlQIMCAsgBCgCHCIDIAQoAhRGBEAgDCADELMGIAQoAhwhAwsgBCgCGCADQQJ0aiAYNgIAIAQgA0EBajYCHCAWIQogECAXIg5HDQALIAZFDQAgBCgCSEUNACAIIAZBBHRqIRcgBCgCPCIUQQRrIQogBCgCJCEQIAQoAighCyAEKAJAIQkgCCEFAkACQANAAkACQCAFKAIAIhIgBSgCBCITTw0AIBNBufPd8XlsQQV3IBJzQbnz3fF5bCIDQRl2rUKBgoSIkKDAgAF+IR5BACEOA0AgAyAJcSIWIBRqKQAAIh8gHoUiHUKBgoSIkKDAgAF9IB1Cf4WDQoCBgoSIkKDAgH+DIR0DQCAdUARAIB8gH0IBhoNCgIGChIiQoMCAf4NCAFINAyAWIA5BCGoiDmohAwwCCyAKIB16p0EDdiAWaiAJcUECdGsoAgAiAyAGTw0FIB1CAX0gHYMhHSAIIANBBHRqIgwoAgAgE0cNACAMQQRqKAIAIBJHDQALCyAFKAIMIgMgC08NBCAQIANBBHRqIAwoAgw2AgQgDCgCDCIDIAtPDQEgECADQQR0aiAFKAIMNgIECyAXIAVBEGoiBUcNAQwECwsgAyALQcT8wgAQ7QgACyADIAZBkI3CABDtCAALIAMgC0G0/MIAEO0IAAsgAUH4AGohBQJAIAEoAngiA0GAgICAeEYNACADBEAgAUH8AGooAgAQlQILIAFBhAFqKAIABEAgAUGIAWooAgAQlQILIAFBkAFqKAIARQ0AIAFBlAFqKAIAEJUCCyAFIAQpAgg3AgAgBUEgaiAEQQhqIgNBIGooAgA2AgAgBUEYaiADQRhqKQIANwIAIAVBEGogA0EQaikCADcCACAFQQhqIANBCGopAgA3AgAgAkUNBCAFKAIAQYCAgIB4Rg0DQQQhCiABQYwBaigCACILBEAgC0H/////AUsNASALQQJ0IgJBAEgNAUGR+sMALQAAGiACQQQQowwiCkUNAyALQQJPBH8gCkH/ASACQQRrIgIQog0gAmoFIAoLQX82AgALIARBADYCVCAEQoCAgIDAADcCTEGR+sMALQAAGkEEQQQQowwiAkUNASACQQA2AgAgBEEBNgJgIAQgAjYCXCAEQQE2AlggBEEANgJsIARCgICAgMAANwJkAkAgCwRAQQAhB0EEIQJBASEQQQAhFQNAIAogFUECdGoiAygCAEF/RgRAIAMgEEEBayIONgIAIAQoAkwgB0YEQCAEQcwAaiAHELMGIAQoAlQhByAEKAJQIQILIAIgB0ECdGogFTYCACAEIAdBAWoiBzYCVCAEKAJsIgMgBCgCZEYEQCAEQeQAaiADELMGIAQoAmwhAwsgBCgCaCIPIANBAnRqIBU2AgAgBCADQQFqIgU2AmwgBQRAIAEoApgBIQwgASgClAEhCSABKAKIASETA0AgBCAFQQFrIgM2AmwCQAJAAkACQAJAAkAgA0ECdCIWIA9qKAIAIgYgC0kEQCATIAZBAnRqKAIAIgYgDE8NASAJIAZBBHRqIgYoAgAiFCAMTw0CIAkgFEEEdGoiFygCACISIAxPDQMgBigCBCIGIAxJDQQMBQsgBiALQYT9wgAQ7QgACyAGIAxBlP3CABDtCAALIBQgDEGk/cIAEO0IAAsgEiAMQbT9wgAQ7QgACyALIAkgBkEEdGoiFCgCDCIITQ0HIAogCEECdGoiBigCAEF/Rw0AIAYgDjYCACAUQQxqIgYoAgAhAyAEKAJMIAdGBEAgBEHMAGogBxCzBiAEKAJUIQcLIAQoAlAiAiAHQQJ0aiADNgIAIAQgB0EBaiIHNgJUIA8gFmogBigCADYCACAEIAU2AmwMAQsgAyEFCwJAIBcoAgQiAyAMTw0AIAsgCSADQQR0aiIGKAIMIghNDQYgCiAIQQJ0aiIDKAIAQX9HDQAgAyAONgIAIAZBDGoiBigCACEDIAQoAkwgB0YEQCAEQcwAaiAHELMGIAQoAlQhBwsgBCgCUCICIAdBAnRqIAM2AgAgBCAHQQFqIgc2AlQgBigCACEDIAQoAmQgBUYEQCAEQeQAaiAFELMGIAQoAmghDyAEKAJsIQULIA8gBUECdGogAzYCACAEIAVBAWoiBTYCbAsCQCAJIBJBBHRqKAIEIgMgDE8NACALIAkgA0EEdGoiBigCDCIITQ0GIAogCEECdGoiAygCAEF/Rw0AIAMgDjYCACAGQQxqIgYoAgAhAyAEKAJMIAdGBEAgBEHMAGogBxCzBiAEKAJUIQcLIAQoAlAiAiAHQQJ0aiADNgIAIAQgB0EBaiIHNgJUIAYoAgAhAyAEKAJkIAVGBEAgBEHkAGogBRCzBiAEKAJoIQ8gBCgCbCEFCyAPIAVBAnRqIAM2AgAgBCAFQQFqIgU2AmwLIAUNAAsLIAQoAlggEEYEQCAEQdgAaiAQELMGIAQoAmAhEAsgBCgCXCAQQQJ0aiAHNgIAIAQgEEEBaiIQNgJgCyALIBVBAWoiFUcNAAsLAkAgASgCnAEiAkGAgICAeEYNACACBEAgAUGgAWooAgAQlQILIAFBqAFqKAIABEAgAUGsAWooAgAQlQILIAFBtAFqKAIARQ0AIAFBuAFqKAIAEJUCCyABIAs2ApwBIAFBpAFqIAs2AgAgAUGgAWogCjYCACABQagBaiAEKQJMNwIAIAFBtAFqIAQpAlg3AgAgAUGwAWogBEHUAGooAgA2AgAgAUG8AWogBEHgAGooAgA2AgAgBCgCZEUNBSAEKAJoEJUCDAULIAggC0HE/cIAEO0IAAsQ7goAC0EEQQRB2IDEACgCACIAQaMHIAAbEQAAAAtBBCACQdiAxAAoAgAiAEGjByAAGxEAAAALQcyKwgBBK0H0/MIAELkKAAsgAEECNgIAIAQoAkAiAARAIAQoAjwgAEECdEELakF4cWsQlQILIAQoAjBFDQAgBCgCNBCVAgsgBEHwAGokAAuBHwMPfxZ9An4jAEHQAmsiDCQAIAwgBzYCDCAMIAE4AgggDCAKNgIQIAwgCzYCFCAMIAAqAgRDAACAPyAIKgIEIAAoAgAblEPNzIw/lCIBOAIYIAxBADYCJCAMQoCAgIDAADcCHCAMQcQAaiAFIAcgBigCiAERAQAgAUMAAAAAYARAIAxBKGoiB0EUaiABIAxBxABqIgpBFGoqAgCSOAIAIAdBEGogASAKQRBqKgIAkjgCACAMIAEgDCoCUJI4AjQgDCAMKgJMIAGTOAIwIAwgDCoCSCABkzgCLCAMIAwqAkQgAZM4AiggDEEAOgBDIAxB4ABqIAY2AgAgDCAINgJ0IAwgADYCcCAMIAU2AlwgDCACNgJMIAwgCTYCSCAMIAM2AkQgDCAMQQhqNgJ8IAwgDEHDAGo2AnggDCAMQRRqNgJsIAwgDEEQajYCaCAMIAxBGGo2AmQgDCAMQc8CajYCWCAMIAxBDGo2AlQgDCAMQRxqNgJQIAxBgAFqIAcQ6wUgDCAKNgLgASAMQQA2AvwBIAxCgICAgMAANwL0AQJAIARB6ABqKAIAIgpFDQAgDEH0AWpBABCzBiAMKAL4ASAMKAL8ASIAQQJ0akEANgIAIABBAWoiDkUNACAEQYwBaigCACEPIARBiAFqKAIAIRAgBEHkAGooAgAhFwNAIAwgDkEBayIANgL8AQJAAkAgDCgC+AEgAEECdGoiGCgCACIAIApJBEAgDCgC9AEhFiAXIABBB3RqIgktAHhBAXENASAMQYACaiAJIAxBgAFqEN4CDAILIAAgCkGQ3cAAEO0IAAsgCUHkAGooAgAhACAJQegAaigCACECIAlB7ABqKAIAIQMgCSgCYCEEIAxBgAJqIAkgDEGAAWoQ3gJBACELIAwgECAEQQR0akEAIAQgD0kiBBtBCGpBACAEGzYCmAIgDCAQIANBBHRqQQAgAyAPSSIDG0EIakEAIAMbNgKkAiAMIBAgAkEEdGpBACACIA9JIgIbQQhqQQAgAhs2AqACIAwgECAAQQR0akEAIAAgD0kiABtBCGpBACAAGzYCnAIgDC0AgAIgDC0AgQJBAXRyIAwtAIICQQJ0ciAMLQCDAkEDdHKtQv8BgyEyIAxBmAJqIQBCACExA0ACQCAyIDGIQgGDUA0AIAAoAgAiAEUNACAAKAIAIgMgDCgC4AEiBCgCACICKAIQTw0AIAIoAgwiAkUNACACIANBqAFsaiICKAIARQ0AIABBBGooAgAiACACKAIERw0AIAQoAgQgBCgCCCIFQQxqIg0oAgAgBUEQaiIRKAIAIAMgACACQQhqIhIQtgRFDQAgBCgCDCIGQQhqIgMoAgAhByADQQA2AgAgBkEEaiEFIAcEQCAFKAIAQYABaiEAA0AgAEEEaygCAARAIAAoAgAQlQILIABBKGsoAgAEQCAAQSRrKAIAEJUCCyAAQagBaiEAIAdBAWsiBw0ACwsgDCAEKAIQIhMoAgAiACoCCCIBIAJBhAFqKgIAIhuUIAAqAgQiICACQYABaioCACIdlCAAKgIAIiEgAkH8AGoqAgAiHpQgACoCDCIfIAJBiAFqKgIAIiKUkpKSOAK0AiAMICAgHpQgHyAblCAhIB2Uk5IgASAilJM4ArACIAwgHyAdlCAhIBuUkiAgICKUkyABIB6UkzgCrAIgDCABIB2UIB8gHpQgISAilJMgICAblJOSOAKoAiAgIAJBjAFqKgIAIAAqAhCTIh6UICEgAkGQAWoqAgAgAEEUaioCAJMiIpSTIhsgG5IhGyABICKUICAgAkGUAWoqAgAgAEEYaioCAJMiHJSTIh0gHZIhHSAMIBwgHyAblCAgIB2UICEgISAclCABIB6UkyIcIBySIhyUk5KSOALAAiAMICIgHyAclCAhIBuUIAEgHZSTkpI4ArwCIAwgHiAfIB2UIAEgHJQgICAblJOSkjgCuAIgBEEcaigCACEAIAJBOGooAgAhByACQTxqKAIAIggoAgghFCAEKAIYIRUgBCgCFCEZIAQoAiAiGioCACEBIAxBADYCxAIgGSAMQagCaiAVIAAgByAUQQFrQXhxakEIaiAIIAEgBiAMQcQCahAwGgJAIAwoAsQCIgBFDQAgACAMKALIAiIGKAIAEQYAIAYoAgRFDQAgBigCCBogABCVAgsCQCAEKAIkKAIAIgYEQCAEKAIoKAIAIggNAQsgAygCACIARQ0BIAUoAgAiCCAAQagBbGohAyAEKAIsIgJBLGoqAgAhIyACQShqKgIAISQgBCgCMEEEaioCACEnIAIqAiQhJiATKAIAIgAqAgwhHyAAKgIAIQEgACoCCCEgIAAqAgQhIQNAICAgCCoCiAEiHpQgASAIQZABaioCACIilJMiGyAbkiEbICEgIpQgICAIQYwBaioCACIclJMiHSAdkiEdAkAgJCAcIB8gG5QgICAdlCABIAEgHJQgISAelJMiHCAckiIclJOSkoyUICYgHiAfIB2UICEgHJQgICAblJOSkpSTICMgIiAfIByUIAEgG5QgISAdlJOSkpSTQ6zFJzdgRQ0AIAIqAgRDAACAPyAnIAIoAgAblEPNzIw/lCEbIAhBhAFqKAIAQTxsIQAgCEGAAWooAgAhBwNAIABFDQEgAEE8ayEAIAcqAjAhHSAHQTxqIQcgGyAdYEUNAAsgBCgCNEEBOgAADAcLIAMgCEGoAWoiCEcNAAsMAQtBACEAAkAgEigCAEUNACACQQxqKAIAIgcgESgCAE8NACANKAIAIg1FDQAgDSAHQfACbGoiBygCAEUNACAHKAIEIAJBEGooAgBHDQAgB0EIakEAIAdB6QJqLQAAQQFLGyEACyAGKgIIISogBioCBCErIAYqAgAhLAJAIAMoAgAiA0UNACADQagBbCEHIAUoAgAhAyAEKAI0IQ0gBCgCMCERIAQoAiwhEgJAIAAEQCADIAdqIRUgBCgCOCEUDAELA0AgEiADIBMoAgAgEUEEaioCABDuBARAIA1BAToAAAsgA0GoAWohAyAHQagBayIHDQALDAELA0AgEiADIBMoAgAiByARQQRqKgIAEO4EBEAgDUEBOgAAIBMoAgAhBwsCQCADQYQBaigCACIERQ0AIANBjAFqKgIAIh4gByoCACIhlCADKgKIASIiIAcqAgQiIJSTIgEgAZIhHyAiIAcqAggiG5QgA0GQAWoqAgAiASAhlJMiHSAdkiEdIAEgByoCDCIcIB+UICEgHZQgICABICCUIB4gG5STIgEgAZIiI5STkpIhASAiIBwgI5QgICAflCAbIB2Uk5KSISAgHiAcIB2UIBsgI5QgISAflJOSkiInjCEhIARBPGwhBSADQYABaigCAEEwaiEHQwAAAAAhH0EAIQRDAAAAACEbQwAAAAAhHQNAIAcqAgAgGioCAF8EQCAHQQRrKgIAIiYgAioCgAEiHpQgB0EIayoCACIoIAIqAoQBIiKUkyIcIBySIRwgKCACKgJ8IiOUIAdBDGsqAgAiJSAelJMiJCAkkiEkIBQqAgAgACoChAEgAioCjAEgJSACKgKIASIpIByUIB4gJJQgIiAlICKUICYgI5STIiUgJZIiJZSTkpKSIi0gACoC6AGTIi4gACoClAEiL5QgAioClAEgJiApICSUICMgJZQgHiAclJOSkpIiJiAAKgLwAZMiHiAAKgKMASIwlJOSICGUICAgACoCgAEgHiAAKgKQASIelCACKgKQASAoICkgJZQgIiAclCAjICSUk5KSkiIiIAAqAuwBkyIcIC+Uk5KUkyABIAAqAogBIBwgMJQgLiAelJOSlJOUIAgqAgQiHCAhlCAgIAgqAgAiI5STIAEgCCoCCCIklJOTIR4gCCAkIAEgHpSTOAIIIAggHCAnIB6UkzgCBCAIICMgICAelJM4AgAgHSAmkiEdIBsgIpIhGyAfIC2SIR8gBEEBaiEECyAHQTxqIQcgBUE8ayIFDQALIARBAEwNACAAKgKIASAbIASyIhuVIAAqAuwBkyIeIAAqAowBIiKUIB8gG5UgACoC6AGTIh8gACoCkAEiHJSTkiIjIAEgACoChAEgHyAAKgKUASIflCAdIBuVIAAqAvABkyIbICKUk5IiHSAhlCAgIAAqAoABIBsgHJQgHiAflJOSIhuUkyABICOUkyIBlJIhHiAUKgIAIiEgHSAnIAGUkpQhHyAhIBsgICABlJKUIgGLIAYqAgCLXgRAIAYgATgCAAsgISAelCEBIB+LIAYqAgSLXgRAIAYgHzgCBAsgAYsgBioCCIteRQ0AIAYgATgCCAsgFSADQagBaiIDRw0ACwsgBioCCCEBIAYqAgQhICAIIAYqAgAgLJMgCCoCAJI4AgAgCCAgICuTIAgqAgSSOAIEIAggASAqkyAIKgIIkjgCCAsgMUIBfCExIAxBmAJqIAtBAWoiC0ECdGohACALQQRHDQALCyAMLQCAAiICQQJGDQEgCUH4AGohAAJAIAwtAIMCQQN0QQhxIAwtAIICQQJ0QQRxIAwtAIECQQF0QQJxIAJBAXFycnIiAq0iMUIBg1ANACAALQAAQQFxDQAgCSgCYCIDIApLDQAgGCADNgIAIAwgDjYC/AELAkAgMUICg1ANACAALQAAQQFxDQAgCUHkAGooAgAiAyAKSw0AIBYgDCgC/AEiCEYEQCAMQfQBaiAWELMGIAwoAvwBIQgLIAwoAvgBIAhBAnRqIAM2AgAgDCAIQQFqNgL8AQsCQCAxQgSDUA0AIAAtAABBAXENACAJQegAaigCACIDIApLDQAgDCgC/AEiCCAMKAL0AUYEQCAMQfQBaiAIELMGIAwoAvwBIQgLIAwoAvgBIAhBAnRqIAM2AgAgDCAIQQFqNgL8AQsCQCACQQhJDQAgAC0AAEEBcQ0AIAlB7ABqKAIAIgIgCksNACAMKAL8ASIAIAwoAvQBRgRAIAxB9AFqIAAQswYgDCgC/AEhAAsgDCgC+AEgAEECdGogAjYCACAMIABBAWoiDjYC/AEgDg0BDAILIAwoAvwBIg4NAAsLIAwoAvQBBEAgDCgC+AEQlQILIAwtAEMhAyAMKAIgIQIgDCgCJCIHBEAgAkGAAWohAANAIABBBGsoAgAEQCAAKAIAEJUCCyAAQShrKAIABEAgAEEkaygCABCVAgsgAEGoAWohACAHQQFrIgcNAAsLIAwoAhwEQCACEJUCCyAMQdACaiQAIANBAEcPCyAMQYwBakIANwIAIAxBATYChAEgDEGkvcAANgKAASAMQfy8wAA2AogBIAxBgAFqQZy+wAAQ7woAC8kkAgl/AX4jAEEQayIJJAACQAJAAkACQAJAAkACQCAAQfUBTwRAIABBzf97Tw0HIABBC2oiAEF4cSEFQZSExAAoAgAiB0UNBEEAIAVrIQICf0EAIAVBgAJJDQAaQR8gBUH///8HSw0AGiAFQQYgAEEIdmciAGt2QQFxIABBAXRrQT5qCyIIQQJ0QfiAxABqKAIAIgFFBEBBACEADAILQQAhACAFQRkgCEEBdmtBACAIQR9HG3QhBANAAkAgASgCBEF4cSIGIAVJDQAgBiAFayIGIAJPDQAgASEDIAYiAg0AQQAhAiABIQAMBAsgAUEUaigCACIGIAAgBiABIARBHXZBBHFqQRBqKAIAIgFHGyAAIAYbIQAgBEEBdCEEIAENAAsMAQtBkITEACgCACIDQRAgAEELakF4cSAAQQtJGyIFQQN2IgR2IgFBA3EEQAJAIAFBf3NBAXEgBGoiBEEDdCIAQYiCxABqIgEgAEGQgsQAaigCACIGKAIIIgBHBEAgACABNgIMIAEgADYCCAwBC0GQhMQAIANBfiAEd3E2AgALIAZBCGohAiAGIARBA3QiAEEDcjYCBCAAIAZqIgAgACgCBEEBcjYCBAwHCyAFQZiExAAoAgBNDQMCQAJAIAFFBEBBlITEACgCACIARQ0GIABoQQJ0QfiAxABqKAIAIgEoAgRBeHEgBWshAiABIQMDQAJAIAEoAhAiAA0AIAFBFGooAgAiAA0AIAMoAhghBwJAAkAgAyADKAIMIgBGBEAgA0EUQRAgA0EUaiIEKAIAIgAbaigCACIBDQFBACEADAILIAMoAggiASAANgIMIAAgATYCCAwBCyAEIANBEGogABshBANAIAQhBiABIgBBFGoiASgCACEIIAEgAEEQaiAIGyEEIABBFEEQIAgbaigCACIBDQALIAZBADYCAAsgB0UNBCADIAMoAhxBAnRB+IDEAGoiASgCAEcEQCAHQRBBFCAHKAIQIANGG2ogADYCACAARQ0FDAQLIAEgADYCACAADQNBlITEAEGUhMQAKAIAQX4gAygCHHdxNgIADAQLIAAoAgRBeHEgBWsiASACSSEEIAEgAiAEGyECIAAgAyAEGyEDIAAhAQwACwALAkBBAiAEdCIAQQAgAGtyIAEgBHRxaCIEQQN0IgBBiILEAGoiASAAQZCCxABqKAIAIgIoAggiAEcEQCAAIAE2AgwgASAANgIIDAELQZCExAAgA0F+IAR3cTYCAAsgAiAFQQNyNgIEIAIgBWoiAyAEQQN0IgAgBWsiBkEBcjYCBCAAIAJqIAY2AgBBmITEACgCACIABEAgAEF4cUGIgsQAaiEBQaCExAAoAgAhCAJ/QZCExAAoAgAiBEEBIABBA3Z0IgBxRQRAQZCExAAgACAEcjYCACABDAELIAEoAggLIQAgASAINgIIIAAgCDYCDCAIIAE2AgwgCCAANgIICyACQQhqIQJBoITEACADNgIAQZiExAAgBjYCAAwICyAAIAc2AhggAygCECIBBEAgACABNgIQIAEgADYCGAsgA0EUaigCACIBRQ0AIABBFGogATYCACABIAA2AhgLAkACQCACQRBPBEAgAyAFQQNyNgIEIAMgBWoiBiACQQFyNgIEIAIgBmogAjYCAEGYhMQAKAIAIgBFDQEgAEF4cUGIgsQAaiEBQaCExAAoAgAhCAJ/QZCExAAoAgAiBEEBIABBA3Z0IgBxRQRAQZCExAAgACAEcjYCACABDAELIAEoAggLIQAgASAINgIIIAAgCDYCDCAIIAE2AgwgCCAANgIIDAELIAMgAiAFaiIAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIEDAELQaCExAAgBjYCAEGYhMQAIAI2AgALIANBCGohAgwGCyAAIANyRQRAQQAhA0ECIAh0IgBBACAAa3IgB3EiAEUNAyAAaEECdEH4gMQAaigCACEACyAARQ0BCwNAIAMgACADIAAoAgRBeHEiASAFayIGIAJJIgQbIAEgBUkiARshAyACIAYgAiAEGyABGyECIAAoAhAiAQR/IAEFIABBFGooAgALIgANAAsLIANFDQBBmITEACgCACIAIAVPIAIgACAFa09xDQAgAygCGCEHAkACQCADIAMoAgwiAEYEQCADQRRBECADQRRqIgQoAgAiABtqKAIAIgENAUEAIQAMAgsgAygCCCIBIAA2AgwgACABNgIIDAELIAQgA0EQaiAAGyEEA0AgBCEGIAEiAEEUaiIBKAIAIQggASAAQRBqIAgbIQQgAEEUQRAgCBtqKAIAIgENAAsgBkEANgIACyAHRQ0CIAMgAygCHEECdEH4gMQAaiIBKAIARwRAIAdBEEEUIAcoAhAgA0YbaiAANgIAIABFDQMMAgsgASAANgIAIAANAUGUhMQAQZSExAAoAgBBfiADKAIcd3E2AgAMAgsCQAJAAkACQAJAQZiExAAoAgAiBCAFSQRAQZyExAAoAgAiACAFTQRAIAVBr4AEakGAgHxxIgBBEHZAACEEIAlBBGoiAUEANgIIIAFBACAAQYCAfHEgBEF/RiIAGzYCBCABQQAgBEEQdCAAGzYCACAJKAIEIgdFBEBBACECDAoLIAkoAgwhBkGohMQAIAkoAggiCEGohMQAKAIAaiIBNgIAQayExABBrITEACgCACIAIAEgACABSxs2AgACQAJAQaSExAAoAgAiAgRAQfiBxAAhAANAIAcgACgCACIBIAAoAgQiBGpGDQIgACgCCCIADQALDAILQbSExAAoAgAiAEEARyAAIAdNcUUEQEG0hMQAIAc2AgALQbiExABB/x82AgBBhILEACAGNgIAQfyBxAAgCDYCAEH4gcQAIAc2AgBBlILEAEGIgsQANgIAQZyCxABBkILEADYCAEGQgsQAQYiCxAA2AgBBpILEAEGYgsQANgIAQZiCxABBkILEADYCAEGsgsQAQaCCxAA2AgBBoILEAEGYgsQANgIAQbSCxABBqILEADYCAEGogsQAQaCCxAA2AgBBvILEAEGwgsQANgIAQbCCxABBqILEADYCAEHEgsQAQbiCxAA2AgBBuILEAEGwgsQANgIAQcyCxABBwILEADYCAEHAgsQAQbiCxAA2AgBB1ILEAEHIgsQANgIAQciCxABBwILEADYCAEHQgsQAQciCxAA2AgBB3ILEAEHQgsQANgIAQdiCxABB0ILEADYCAEHkgsQAQdiCxAA2AgBB4ILEAEHYgsQANgIAQeyCxABB4ILEADYCAEHogsQAQeCCxAA2AgBB9ILEAEHogsQANgIAQfCCxABB6ILEADYCAEH8gsQAQfCCxAA2AgBB+ILEAEHwgsQANgIAQYSDxABB+ILEADYCAEGAg8QAQfiCxAA2AgBBjIPEAEGAg8QANgIAQYiDxABBgIPEADYCAEGUg8QAQYiDxAA2AgBBnIPEAEGQg8QANgIAQZCDxABBiIPEADYCAEGkg8QAQZiDxAA2AgBBmIPEAEGQg8QANgIAQayDxABBoIPEADYCAEGgg8QAQZiDxAA2AgBBtIPEAEGog8QANgIAQaiDxABBoIPEADYCAEG8g8QAQbCDxAA2AgBBsIPEAEGog8QANgIAQcSDxABBuIPEADYCAEG4g8QAQbCDxAA2AgBBzIPEAEHAg8QANgIAQcCDxABBuIPEADYCAEHUg8QAQciDxAA2AgBByIPEAEHAg8QANgIAQdyDxABB0IPEADYCAEHQg8QAQciDxAA2AgBB5IPEAEHYg8QANgIAQdiDxABB0IPEADYCAEHsg8QAQeCDxAA2AgBB4IPEAEHYg8QANgIAQfSDxABB6IPEADYCAEHog8QAQeCDxAA2AgBB/IPEAEHwg8QANgIAQfCDxABB6IPEADYCAEGEhMQAQfiDxAA2AgBB+IPEAEHwg8QANgIAQYyExABBgITEADYCAEGAhMQAQfiDxAA2AgBBpITEACAHQQ9qQXhxIgBBCGsiBDYCAEGIhMQAQYCExAA2AgBBnITEACAIQShrIgEgByAAa2pBCGoiADYCACAEIABBAXI2AgQgASAHakEoNgIEQbCExABBgICAATYCAAwICyACIAdPDQAgASACSw0AIAAoAgwiAUEBcQ0AIAFBAXYgBkYNAwtBtITEAEG0hMQAKAIAIgAgByAAIAdJGzYCACAHIAhqIQRB+IHEACEAAkACQANAIAQgACgCAEcEQCAAKAIIIgANAQwCCwsgACgCDCIBQQFxDQAgAUEBdiAGRg0BC0H4gcQAIQADQAJAIAAoAgAiASACTQRAIAEgACgCBGoiAyACSw0BCyAAKAIIIQAMAQsLQaSExAAgB0EPakF4cSIAQQhrIgQ2AgBBnITEACAIQShrIgEgByAAa2pBCGoiADYCACAEIABBAXI2AgQgASAHakEoNgIEQbCExABBgICAATYCACACIANBIGtBeHFBCGsiACAAIAJBEGpJGyIBQRs2AgRB+IHEACkCACEKIAFBEGpBgILEACkCADcCACABIAo3AghBhILEACAGNgIAQfyBxAAgCDYCAEH4gcQAIAc2AgBBgILEACABQQhqNgIAIAFBHGohAANAIABBBzYCACADIABBBGoiAEsNAAsgASACRg0HIAEgASgCBEF+cTYCBCACIAEgAmsiAEEBcjYCBCABIAA2AgAgAEGAAk8EQCACIAAQggUMCAsgAEF4cUGIgsQAaiEBAn9BkITEACgCACIEQQEgAEEDdnQiAHFFBEBBkITEACAAIARyNgIAIAEMAQsgASgCCAshACABIAI2AgggACACNgIMIAIgATYCDCACIAA2AggMBwsgACAHNgIAIAAgACgCBCAIajYCBCAHQQ9qQXhxQQhrIgMgBUEDcjYCBCAEQQ9qQXhxQQhrIgIgAyAFaiIGayEFIAJBpITEACgCAEYNAyACQaCExAAoAgBGDQQgAigCBCIBQQNxQQFGBEAgAiABQXhxIgAQwwQgACAFaiEFIAAgAmoiAigCBCEBCyACIAFBfnE2AgQgBiAFQQFyNgIEIAUgBmogBTYCACAFQYACTwRAIAYgBRCCBQwGCyAFQXhxQYiCxABqIQECf0GQhMQAKAIAIgRBASAFQQN2dCIAcUUEQEGQhMQAIAAgBHI2AgAgAQwBCyABKAIICyEAIAEgBjYCCCAAIAY2AgwgBiABNgIMIAYgADYCCAwFC0GchMQAIAAgBWsiATYCAEGkhMQAQaSExAAoAgAiBCAFaiIANgIAIAAgAUEBcjYCBCAEIAVBA3I2AgQgBEEIaiECDAgLQaCExAAoAgAhAwJAIAQgBWsiAUEPTQRAQaCExABBADYCAEGYhMQAQQA2AgAgAyAEQQNyNgIEIAMgBGoiACAAKAIEQQFyNgIEDAELQZiExAAgATYCAEGghMQAIAMgBWoiADYCACAAIAFBAXI2AgQgAyAEaiABNgIAIAMgBUEDcjYCBAsgA0EIaiECDAcLIAAgBCAIajYCBEGkhMQAQaSExAAoAgAiA0EPakF4cSIAQQhrIgQ2AgBBnITEAEGchMQAKAIAIAhqIgEgAyAAa2pBCGoiADYCACAEIABBAXI2AgQgASADakEoNgIEQbCExABBgICAATYCAAwDC0GkhMQAIAY2AgBBnITEAEGchMQAKAIAIAVqIgA2AgAgBiAAQQFyNgIEDAELQaCExAAgBjYCAEGYhMQAQZiExAAoAgAgBWoiADYCACAGIABBAXI2AgQgACAGaiAANgIACyADQQhqIQIMAwtBACECQZyExAAoAgAiACAFTQ0CQZyExAAgACAFayIBNgIAQaSExABBpITEACgCACIEIAVqIgA2AgAgACABQQFyNgIEIAQgBUEDcjYCBCAEQQhqIQIMAgsgACAHNgIYIAMoAhAiAQRAIAAgATYCECABIAA2AhgLIANBFGooAgAiAUUNACAAQRRqIAE2AgAgASAANgIYCwJAIAJBEE8EQCADIAVBA3I2AgQgAyAFaiIGIAJBAXI2AgQgAiAGaiACNgIAIAJBgAJPBEAgBiACEIIFDAILIAJBeHFBiILEAGohAQJ/QZCExAAoAgAiBEEBIAJBA3Z0IgBxRQRAQZCExAAgACAEcjYCACABDAELIAEoAggLIQAgASAGNgIIIAAgBjYCDCAGIAE2AgwgBiAANgIIDAELIAMgAiAFaiIAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIECyADQQhqIQILIAlBEGokACACC8cdAgt/L30jAEHAAmsiDyQAQwAAgD8hJEMAAIA/ISYgDCIfIRsCQAJAAkACQAJAA0AgD0E8aiACIB8QggIgD0HYAGogByAfEIICIA8gDyoCRCIaIA8qAmAiHpQgDyoCQCIcIA8qAlwiI5QgDyoCPCIdIA8qAlgiIpQgDyoCSCIgIA8qAmQiJZSSkpI4AoABIA8gHCAilCAgIB6UIB0gI5STkiAaICWUkzgCfCAPICAgI5QgHSAelJIgHCAllJMgGiAilJM4AnggDyAaICOUICAgIpQgHSAllJMgHCAelJOSOAJ0IBwgDyoCaCAPKgJMkyIilCAdIA8qAmwgDyoCUJMiJZSTIh4gHpIhHiAaICWUIBwgDyoCcCAPKgJUkyInlJMiIyAjkiEjIA8gJyAgIB6UIBwgI5QgHSAdICeUIBogIpSTIicgJ5IiJ5STkpI4AowBIA8gJSAgICeUIB0gHpQgGiAjlJOSkjgCiAEgDyAiICAgI5QgGiAnlCAcIB6Uk5KSOAKEASAPQcgBaiABIA9B9ABqIAUgBiAKIAtD//9/fxBTAkACQCAPKALIASIQQQNHBEAgEEEBRg0CIBBBAWsOAgUEAQsgAEEEOgA0DAcLQQNBAiAMIB9bGyEQDAULIA8qAtwBIiEgDyoCdCIalCAPKgLYASIoIA8qAngiHJSTIh0gHZIhHSAoIA8qAnwiIJQgDyoC4AEiKyAalJMiHiAekiEeIA8qAowBICsgDyoCgAEiIyAdlCAaIB6UIBwgKyAclCAhICCUkyIiICKSIiKUk5KSkiAPKgLUASIukyIlICWUIA8qAoQBICggIyAilCAcIB2UICAgHpSTkpKSIA8qAswBIi+TIhwgHJQgDyoCiAEgISAjIB6UICAgIpQgGiAdlJOSkpIgDyoC0AEiMJMiHSAdlJKSIhpDAACAKF5FBEBBAiEQDAULIBoQmAEhGiAPIA04AiAgDyAfOAIcIA8gHzgCGCAPICUgGpUiKTgCFCAPIB0gGpUiKjgCECAPIBwgGpUiJDgCDCAPKgKAASEgIA8qAnghHyAPKgJ8IRwgDyoCdCEdIA9ByAFqIBogAiADIAQgByAIIAkgD0EMaiAPQRhqEMYBICAgKiAdlCAkIB+UkyIaIBqSIhqUIB8gKSAflCAqIByUkyImICaSIiaUIB0gJCAclCApIB2UkyIeIB6SIh6Uk5IgKZMhMSAgIB6UIB0gGpQgHCAmlJOSICqTITIgICAmlCAcIB6UIB8gGpSTkiAkkyEmIA8qAswBIR8gDyoCyAEiGiAbk0MAAKA1XUUEQCAPKALUAUUNBCAaIRsMAQsLIA8qAtABIhsgDVwNAiAPQZABaiIQIAIgGxCCAiAPQYACaiIRIAcgGxCCAiAPKgKUASIbIA8qApACIA8qAqABkyIzlCAPKgKQASIaIBFBFGoqAgAgEEEUaioCAJMiI5STIhwgHJIhICAPKgKYASIcICOUIBsgEUEYaioCACAQQRhqKgIAkyIilJMiHSAdkiEeIA9ByAFqIhBBGGogIiAPKgKcASIdICCUIBsgHpQgGiAaICKUIBwgM5STIiIgIpIiNJSTkpI4AgAgEEEUaiAjIB0gNJQgGiAglCAcIB6Uk5KSOAIAIA8gHCAPKgKIAiIjlCAbIA8qAoQCIiKUIBogDyoCgAIiJZQgHSAPKgKMAiInlJKSkjgC1AEgDyAbICWUIB0gI5QgGiAilJOSIBwgJ5STOALQASAPIB0gIpQgGiAjlJIgGyAnlJMgHCAllJM4AswBIA8gHCAilCAdICWUIBogJ5STIBsgI5STkjgCyAEgDyAzIB0gHpQgHCA0lCAbICCUk5KSOALYASAPQSRqIAMgD0EMaiAEKAIQEQEAIA8gDyoCFIw4ArwCIA8gDyoCEIw4ArgCIA8gDyoCDIw4ArQCIA9BMGogCCAQIA9BtAJqIAkoAhgRAgAgDyoCMCAPKgIkkyAPKgIMlCAPKgI0IA8qAiiTIA8qAhCUkiAPKgI4IA8qAiyTIA8qAhSUkkMAAAAAXkUNAiAAQQQ6ADQMBAtBAiEQQX9B1IDEACgCACIRQQFHIBFBAUsbIhFBf0dBACARQf8BcRsNAiAPQdQBakIANwIAIA9BATYCzAEgD0GsvcIANgLIASAPQYCFwgA2AtABIA9ByAFqQQFBrL/CAEHOARDgBgwCCwALQQEhEAsgDigCAEUEQCAAIA8vAAk7ADUgACAQOgA0IAAgMTgCMCAAIDI4AiwgACAmOAIoIAAgKTgCJCAAICo4AiAgACAkOAIcIAAgKzgCGCAAICE4AhQgACAoOAIQIAAgLjgCDCAAIDA4AgggACAvOAIEIAAgHzgCACAAQTdqIA9BC2otAAA6AAAMAQsgHyAMk4tDrMUnN11FBEAgACAPLwAJOwA1IAAgEDoANCAAIDE4AjAgACAyOAIsIAAgJjgCKCAAICk4AiQgACAqOAIgIAAgJDgCHCAAICs4AhggACAhOAIUIAAgKDgCECAAIC44AgwgACAwOAIIIAAgLzgCBCAAIB84AgAgAEE3aiAPQQtqLQAAOgAADAELIA4qAgQhJUPbD0lAIA4qAgiTQwAAAABDAACAPyAHKgI0IicgAioCNCIukyIbIBuUIAdBOGoqAgAiLyACQThqKgIAIjCTIhsgG5SSIAdBPGoqAgAiMSACQTxqKgIAIjKTIhsgG5SSEJgBIhuVIBtDAAAAAFsbIjqUIhogGiAlQwAAAABDAACAPyAHKgIoIjsgAioCKCI8kyIbIBuUIAdBLGoqAgAiPSACQSxqKgIAIj6TIhsgG5SSIAdBMGoqAgAiPyACQTBqKgIAIkCTIhsgG5SSEJgBIhuVIBtDAAAAAFsblCIbIBogG10bIBsgG1wbIhogGiANIAyTQwAAIEGVIhsgGiAbXRsgGyAbXBshGwJAAkACQCAMIA1dBEAgDSAbIBtDAAAAAFsbIUEgB0EkaioCACFCIAdBIGoqAgAhQyACQSRqKgIAIUQgAkEgaioCACFFIA9BqAFqIRAgByoCHCFGIA9BnAFqIRIgAioCHCFHIA9BzAFqIQ4gDCEbA0AgD0E8aiACIBsQggIgD0HYAGogByAbEIICIA8gDyoCRCIaIA8qAmAiJJQgDyoCQCIfIA8qAlwiIJQgDyoCPCIcIA8qAlgiKZQgDyoCSCIdIA8qAmQiKpSSkpI4AoABIA8gHyAplCAdICSUIBwgIJSTkiAaICqUkzgCfCAPIB0gIJQgHCAklJIgHyAqlJMgGiAplJM4AnggDyAaICCUIB0gKZQgHCAqlJMgHyAklJOSOAJ0IB8gDyoCaCAPKgJMkyIrlCAcIA8qAmwgDyoCUJMiJpSTIiEgIZIhISAaICaUIB8gDyoCcCAPKgJUkyIelJMiKCAokiEoIA8gHiAdICGUIB8gKJQgHCAcIB6UIBogK5STIh4gHpIiHpSTkpI4AowBIA8gJiAdIB6UIBwgIZQgGiAolJOSkjgCiAEgDyArIB0gKJQgGiAelCAfICGUk5KSOAKEASAPQcgBaiABIA9B9ABqIAUgBiAKIAtD//9/fxBiIA8oAsgBIhNBAkYNBCAPQYACaiIRQTBqIhcgDkEwaigCADYCACARQShqIhggDkEoaikCADcDACARQSBqIhQgDkEgaikCADcDACARQRhqIhUgDkEYaikCADcDACARQRBqIhkgDkEQaikCADcDACARQQhqIhYgDkEIaikCADcDACAPIA4pAgA3A4ACIBNFDQQgD0GQAWoiEUEIaiITIBYpAwA3AwAgEUEQaiIWIBkpAwA3AwAgECAVKQMANwMAIBFBIGoiFSAUKQMANwMAIBFBMGoiFCAXKAIANgIAIBFBKGogGCkDADcDACAPIA8pA4ACNwOQASAcIA8qAqwBIjOUIB8gECoCACI0lJMiISAhkiEoIBogNJQgHCAVKgIAIiyUkyIhICGSISsgJCAPKgKcASBGkyI1lCApIA8qAqQBIEKTIjiUkyIhICGSISYgICA4lCAkIBYqAgAgQ5MiLZSTIiEgIZIhHiAaIA8qApABIEeTIjaUIBwgEyoCACBEkyI5lJMiISAhkiEjIB8gOZQgGiAPKgKUASBFkyI3lJMiISAhkiEiICVDAAAAgCAUKgIAIiEgIUMAAAAAXxuSIA0gG5MgLCAdICiUIBwgK5QgHyAfICyUIBogM5STIiwgLJIiLJSTkpIgPyAnIC0gKiAmlCAkIB6UICkgKSAtlCAgIDWUkyItIC2SIi2Uk5KSIkiUIC8gNSAqIB6UICAgLZQgJCAmlJOSkiI1lJOSIEAgLiA3IB0gI5QgGiAilCAcIBwgN5QgHyA2lJMiJCAkkiIklJOSkiI3lCAwIDYgHSAilCAfICSUIBogI5STkpIiNpSTkpOUIDQgHSAslCAfICiUIBogK5STkpIgOyAvIDggKiAtlCApICaUICAgHpSTkpIiIJQgMSBIlJOSIDwgMCA5IB0gJJQgHCAjlCAfICKUk5KSIh+UIDIgN5STkpOUIDMgHSArlCAaICyUIBwgKJSTkpIgPSAxIDWUICcgIJSTkiA+IDIgNpQgLiAflJOSk5SSkoyUXQ0DIDpDAAAAAFsNAiBBIBuSIhsgDV0NAAsLIABBBDoANAwDCyAAQQQ6ADQMAgsgD0G0AWohAQJAICFDAAAAAF5FBEAgDyAbOAK8AiAPIBs4ArgCIA8gDDgCtAIgD0HIAWogISACIA9BgAJqIAcgEiAQIA9BtAJqEMMBDAELIA8gDTgCvAIgDyAbOAK4AiAPIBs4ArQCIA9ByAFqICEgAiADIAQgByAIIAkgECAPQbQCahDGAQsgDyoCzAEhDCAAIA8pA4ACNwIEIABBAToANCAAIAw4AgAgACASKQIANwIQIAAgECkCADcCHCAAIAEpAgA3AiggAEEMaiAPQYgCaigCADYCACAAQRhqIBJBCGooAgA2AgAgAEEkaiAQQQhqKAIANgIAIABBMGogAUEIaigCADYCAAwBCyAAQQQ6ADQLIA9BwAJqJAAL1SADDn8JfQJ+IwBBsAJrIgYkACAEQRhqKAIAIQwgBEEQaigCACENIAQoAhQhDiAEKAIMIQ8gBCgCCCICBEAgBCgCBCIEIAJBqAFsaiEIA0ACQCAEIgJBhAFqKAIAIgRFBEBDAAAAACEUDAELIAJBgAFqKAIAIQNDAAAAACEUAkAgBEE8bCIHQTxrIglBPG5BAXEEQCADIQQgFiEVDAELIANBPGohBCADKgIQIhVDAAAAAJIhFCAVIBZeRQRAIBYhFQwBCyACKgJwIRcgAioCbCEYIAIqAmghGSAVIRYLIAlBPEkNACADIAdqIQMgFSEWA0AgBEEQaioCACIVIBZeBEAgAioCcCEXIAIqAmwhGCACKgJoIRkgFSEWCyAUIBWSIRQgBEHMAGoqAgAiFSAWXgRAIAIqAnAhFyACKgJsIRggAioCaCEZIBUhFgsgFCAVkiEUIAMgBEH4AGoiBEcNAAsLIBogFCACQfAAaioCAJSSIRogGyAUIAJB7ABqKgIAlJIhGyAcIBQgAkHoAGoqAgCUkiEcIAggAkGoAWoiBEcNAAsLQwAAAABDAACAPyABlSIVIAFDCOU8Hl8bIBUgAUMI5TyeYBsiFCAWlCEBIBQgGpQhFiAUIBuUIRUgFCAclCEUIABBDGooAgAhBwJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCCEEBaw4CCAEACyAGQYCU69wDNgJAIAYgBzYCsAEgBkGQAmpCADcDACAGQYACakGAlOvcAzYCACAGQgA3A4gCIAZBgJTr3AM2AvABIAZBADYCmAIgBygCQCEEIAcoAsgBIQggBiAGQegBaiICNgIgAkACQCAEIAhxDQAgB0HIAWohCyAHQUBrIQAgBkG4AWohEiAGQegBaiECA0BBACEJA0ACQAJAIAcoAswBIhMgCEEBayAEcSIIQTRsaigCMCIDIARHBEACfyAHKALEASADaiAEQQFqRwRAIAlBBk0EQEEAIQQDQCAEIAl2IQMgBEEBaiEEIANFDQALCyAJQQtJDAELIAcoAsQBIAcoAgBqIARGDQJBBiAJIAlBBk8bIQNBACEEA0AgBCADdiEIIARBAWohBCAIRQ0ACyAJQQdJCyEIIAAoAgAhBAwCCwJ/IAcoAsABIAhBAWpNBEAgBEEAIAcoAsQBIgNrcSADagwBCyAEQQFqCyEQIAAoAgAiAyAERiERIAAgECADIBEbNgIAIBEEQCACQSRqIARBAWo2AgAgAiATIAhBNGxqNgIgDAYLQQYgCSAJQQZPGyEIQQAhBANAIAQgCHYhECAEQQFqIQQgEEUNAAsgCUEHSSEIIAMhBAwBCyAKQQtHBEAgCkEGTQRAQQAhBANAIAQgCnYhACAEQQFqIQQgAEUNAAsLIAYoArABIgdByAFqIQsgB0FAayEAIApBAWohCiAGKAIgIQIgBygCQCIEIAcoAsgBIghxRQ0DDAQLAkAgBigCQCIAQYCU69wDRg0AIAYpAzghHRDtCiAdIAYpAwgiHlYNAEEAIQQgHSAeUg0IIAYoAhAgAE8NCAsCQEG0+sMAKAIADQAQ+QchAkG4+sMAKAIAIQBBuPrDACACNgIAQbT6wwAoAgAhAkG0+sMAQQE2AgAgBiAANgK4ASAGIAI2ArQBIAJFDQAgAEUNACAAIAAoAgAiAEEBazYCACAAQQFHDQAgEhDlCQtBuPrDACgCACEAQbj6wwBBADYCAAJAIABFBEAgBhD5ByIANgJ4IAYgBkE4ajYCvAEgBiAGQbABajYCuAEgBiAGQSBqNgK0ASAGQbQBaiAGQfgAahCQBSAAIAAoAgAiAEEBazYCACAAQQFHDQEgBkH4AGoQ5QkMAQsgAEEUakIANwIAIAYgADYCeCAGIAZBOGo2ArwBIAYgBkGwAWo2ArgBIAYgBkEgajYCtAEgBkG0AWogBkH4AGoQkAVBuPrDACgCACECQbj6wwAgADYCACAGIAI2ArQBIAJFDQAgAiACKAIAIgBBAWs2AgAgAEEBRw0AIAZBtAFqEOUJCyAGKAKwASIHQcgBaiELIAdBQGshAEEAIQogBigCICECIAcoAkAiBCAHKALIASIIcUUNAgwDCyAIIAlqIQkgCygCACIIIARxRQ0ACwsLIAJCADcDIAsgBigCICICQSBqKAIAIgBFDQEgACACQSRqKAIANgIwIAAgATgCLCAAIBc4AiggACAYOAIkIAAgGTgCICAAIAU4AhwgACAWOAIYIAAgFTgCFCAAIBQ4AhAgACAMNgIMIAAgDjYCCCAAIA02AgQgBigCsAEhAiAAIA82AgAgAkGgAWoQ6AFBAiEEDAILIAZBgJTr3AM2AiggBiAHNgIcIAZB4ABqQgA3AwAgBkHQAGpBgJTr3AM2AgAgBkIANwNYIAZBgJTr3AM2AkBBACEAIAZBADYCaCAGIAZBOGo2AjQgBiAHLQAAIgI6ALQBIAdBAToAACACDQJB7IDEACgCAEH/////B3EEQEG8hMQAKAIAQQBHIQALIActAAENBAJAAkACQAJAAkAgB0EkaigCACICRQ0AAn9BwPrDACkDACIdQgBSBEAgB0EgaigCACIJIAJBDGxqDAELEKEIIgIoAgAhAyACIANBAWs2AgAgBiACNgLoASACKQMIIR0gA0EBRgRAIAZB6AFqEMYJC0HA+sMAIB03AwAgBygCJCICRQ0BIAdBIGooAgAiCSACQQxsagshAkEAIQRBASEIA0ACQCAEIAlqIgooAgAiCykDCCAdUQ0AIAtBFGoiECgCACEDIBAgAyAKQQRqKAIAIAMbNgIAIAMNACAIQQFrIQIgCkEIaigCACIDBEAgC0EYaiADNgIACyAHKAIkIgMgAk0NCiAHKAIgIARqIgQoAgAhAiAEQQRqKQIAIR0gBCAEQQxqIAMgCGtBDGwQoQ0aIAcgA0EBazYCJCACRQ0CIAYoAjQhAyAGIB03AuwBIANBMGoiAyAdQiCIPgIAIAYgAjYC6AECQCAADQBB7IDEACgCAEH/////B3FFDQBBvITEACgCAEUNACAHQQE6AAELIAdBADoAACADKAIAIgANA0HYwMAAQStB0MjAABC5CgALIAhBAWohCCAJIARBDGoiBGogAkcNAAsLIAdBNGotAAANAwJAQbT6wwAoAgANABD5ByEDQbj6wwAoAgAhAkG4+sMAIAM2AgBBtPrDACgCACEDQbT6wwBBATYCACAGIAI2AuwBIAYgAzYC6AEgA0UNACACRQ0AIAIgAigCACICQQFrNgIAIAJBAUcNACAGQewBahDlCQtBuPrDACgCACECQbj6wwBBADYCACACDQEgBhD5ByICNgK0ASAGIAA6AKgCIAYgBzYCpAIgBiABOAKUAiAGIBc4ApACIAYgGDgCjAIgBiAZOAKIAiAGIAU4AoQCIAYgFjgCgAIgBiAVOAL8ASAGIBQ4AvgBIAYgDDYC9AEgBiAONgLwASAGIA02AuwBIAYgDzYC6AEgBiAGQRxqNgKgAiAGIAZBIGo2ApwCIAYgBkE0ajYCmAIgBkGrAmogBkH3AGotAAA6AAAgBiAGLwB1OwCpAiAGQfgAaiAGQegBaiAGQbQBahCHASACIAIoAgAiAEEBazYCACAAQQFHDQIgBkG0AWoQ5QkMAgsgAEEBOgA0IAAgATgCMCAAIBc4AiwgACAYOAIoIAAgGTgCJCAAIAU4AiAgACAWOAIcIAAgFTgCGCAAIBQ4AhQgACAMNgIQIAAgDjYCDCAAIA02AgggACAPNgIEIABBATYCACACIAIoAgAiAEEBazYCACAAQQFGBEAgBkHoAWoQ5QkLQQIhBAwECyACQRRqQgA3AgAgBiACNgKwASAGIAA6AKgCIAYgBzYCpAIgBiABOAKUAiAGIBc4ApACIAYgGDgCjAIgBiAZOAKIAiAGIAU4AoQCIAYgFjgCgAIgBiAVOAL8ASAGIBQ4AvgBIAYgDDYC9AEgBiAONgLwASAGIA02AuwBIAYgDzYC6AEgBiAGQRxqNgKgAiAGIAZBIGo2ApwCIAYgBkE0ajYCmAIgBkGrAmogBkH3AGotAAA6AAAgBiAGLwB1OwCpAiAGQbQBaiAGQegBaiAGQbABahCHAUG4+sMAKAIAIQBBuPrDACACNgIAIAYgADYC6AECQCAARQ0AIAAgACgCACIAQQFrNgIAIABBAUcNACAGQegBahDlCQsgBkH4AGoiAEEIaiAGQbQBaiICQQhqKQIANwMAIABBEGogAkEQaikCADcDACAAQRhqIAJBGGopAgA3AwAgAEEgaiACQSBqKQIANwMAIABBKGogAkEoaikCADcDACAAQTBqIAJBMGooAgA2AgAgBiAGKQK0ATcDeAsgBigCeCIEQQNHDQIQ+QcaQdjAwABBK0HIxsAAELkKAAsCQCAADQBB7IDEACgCAEH/////B3FFDQBBvITEACgCAEUNACAHQQE6AAELIAdBADoAAAtBASEECyAERQ0DDAULIAZCADcC9AEgBkH8vMAANgLwASAGQQE2AuwBIAZB7MvAADYC6AEgBkG0AWogBkHoAWoQ8goACyACIANBvMPAABDrCAALIAYgADoA7AEgBiAHNgLoAUHcw8AAQSsgBkHoAWpB4MjAAEHwyMAAEIgIAAtBuMTAAEEoQczFwAAQuQoACyAHKAJAIgRBAXENACAHQcQAaigCACEDQQAhCUEAIQACQAJAAkACQANAIARBAXZBH3EiCEEfRgRAA0AgCUEGTQRAQQAhBANAIAQgCXYhAiAEQQFqIQQgAkUNAAsLIAcoAkAiBEEBcQ0EIAkgCUELSWohCSAEQQF2QR9xIghBH0YNAAsgBygCRCEDCwJAIAhBHkcNACAADQBBkfrDAC0AABpB0AxBBBCjDCIABEAgAEEAQdAMEKINGgwBCwwHCwJAAn8CQAJAIANFBEBBkfrDAC0AABpB0AxBBBCjDCICRQ0EIAJBAEHQDBCiDSECIAcgBygCRCIDIAIgAxs2AkQgAw0BIAcgAjYCBCACIQMLIAcgBEECaiAHKAJAIgIgAiAERhs2AkAgAiAERw0BIAhBHkcNByAARQ0FIAcgADYCRCAHIAcoAkBBAmo2AkAgAyAANgIAQR4hCAwICyAABEAgABCVAgsgBygCRCEDIAIhACAHKAJADAELQQYgCSAJQQZPGyEIIAcoAkQhA0EAIQQDQCAEIAh2IQogBEEBaiEEIApFDQALIAkgCUEHSWohCSACCyIEQQFxRQ0BDAMLCwwFC0HYwMAAQStBzMfAABC5CgALQQAhA0EAIQgLIAAEQCAAEJUCCyADRQ0BCyADIAhBNGxqIgBBMGogATgCACAAQSxqIBc4AgAgAEEoaiAYOAIAIABBJGogGTgCACAAQSBqIAU4AgAgAEEcaiAWOAIAIABBGGogFTgCACAAQRRqIBQ4AgAgAEEQaiAMNgIAIABBDGogDjYCACAAQQhqIA02AgAgAEEEaiAPNgIAIABBNGoiACAAKAIAQQFyNgIAIAdBgAFqEOgBCyAGQbACaiQADwtBBEHQDEHYgMQAKAIAIgBBowcgABsRAAAAC/kmAw59Fn8BfiMAQaABayISJAAgASgCACIRQf////8Hcb4iAiABKAIEIhNB/////wdxviIDIAIgA2AbIgIgASgCCCIVQf////8Hcb4iAyACIANgGyICIAEoAgwiEEH/////B3G+IgMgAiADYBsiAiABKAIQIhRB/////wdxviIDIAIgA2AbIgIgASgCFCIWQf////8Hcb4iAyACIANgGyICIAEoAhgiF0H/////B3G+IgMgAiADYBsiAiABKAIcIhlB/////wdxviIDIAIgA2AbIgIgASgCICIYQf////8Hcb4iAyACIANgGyIJQwAAAABcBEAgASAYviAJlTgCICABIBm+IAmVOAIcIAEgF74gCZU4AhggASAWviAJlTgCFCABIBS+IAmVOAIQIAEgEL4gCZU4AgwgASAVviAJlTgCCCABIBO+IAmVOAIEIAEgEb4gCZU4AgALIBJBQGsiE0EgaiABQSBqKAIANgIAIBNBGGogAUEYaikCADcDACATQRBqIAFBEGopAgA3AwAgE0EIaiABQQhqKQIANwMAIBIgASkCADcDQCASQegAaiEcQQAhFCMAQRBrIhkkACAZQgA3AwggE0EkaiEeIBNBFGohHyAZQRBqIRpBASEVA0AgFEECdCIbIBNqQQRqIhEgFEEDbCIBQQJ0aiIWKgIAIgIgApQhAiAURQRAIAIgFkEEaioCACICIAKUkiECCyACEJgBIgUgBYwgFioCACIDQwAAAABgIhAbIQQgFiADIASSOAIAAkACQAJAIAIgBSADIAOMIBAblJIiAiACkiICQwAAAABcBEAgESABQQNqQQJ0aiEXIAIQmAEhAiAW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IBFB/////wdxviABQf////8Hcb4iApJDAAAANJReIhAEQEECIRVBASERIAEhEwwBC0EBIRVBACEUQQAiESAmp0H/////B3G+IAIgE0H/////B3G+kkMAAAA0lF5FDQEaC0EAIRQCQCAQRQ0AAkAgEUEBayIQQQJ0IhYgEkE4amoiASoCACICQwAAAABbDQAgAosgE0H/////B3G+IBJBLGogFmooAgBB/////wdxvpJDAAAANJRfDQAgEEUNASASQThqIBFBAnRyQQhrIQELIAFBADYCAEEBIRQLIBULIREgEkE0aiEcIBJBKGohHSASQQhqIRgCQAJAAkADQCARIBRGBEAgEkE0aiIRIAkgESoCAJQ4AgAgEiAJIBIqAiyUOAIsIBIgCSASKgIwlDgCMCASQegAaiIBQQhqIhMgESgCADYCACASQfwAaiASQQRqIhFBCGopAgA3AgAgEkGEAWogEUEQaikCADcCACASQYwBaiARQRhqKQIANwIAIBJBlAFqIBFBIGopAgA3AgAgACASKQIsNwIAIBIgEikCBDcCdCAAQQhqIBMpAwA3AgAgAEEQaiABQRBqKQMANwIAIABBGGogAUEYaikDADcCACAAQSBqIAFBIGopAwA3AgAgAEEoaiABQShqKQMANwIAIABBMGogAUEwaigCADYCAAwECwJAAkAgESAUa0EBaiIBQQJNBEAgAUECRw0CIBRBAnQiASASQThqaioCACIEIASUIgMgEkEsaiABaiIBKgIAIgUgAUEEaiITKgIAIgKTQwAAAD+UIgYgBpSSIgZDAAAAAGANAUHMisIAQStBqJDCABC5CgALAn8CQAJAIBFBAWsiFkEDSQRAIBFBA08NASAUQQJ0IhcgEkEsaiIBaiITKgIAIQQgFkECdCIVIAFqIhsqAgAhBSABIBFBAnRqIh4qAgAiAyECIBJBOGogFWoiHyoCACIGIAaUIgdDAAAAAFwEQCADIAcgBSADk0MAAAA/lCICQwAAwH9DAACAPyACmCACIAJcGyAHIAIgApSSEJgBlJKVkyECCyARIBRNBEAgA7whEyAGvCEQIAW8DAQLIBJBOGogF2oiFSoCACIFQwAAAABbDQIgBCACkyICQwAAAABgIQEgBSAFlCACIAKMIAEbIgYgBpSSEJgBIQMgEyAGIAOVIgYgBpQiCCAElCAFjCADIAOMIAEblSIHIAeUIgogFEEBaiITQQJ0IgEgEkEsamoiECoCACILlJIgBiAHlCIMIAySIAWUIgOTOAIAIBAgCiAElCAIIAuUkiADkiIDOAIAIBUgDCAEIAuTlCAIIAqTIAWUkiIEOAIAIBQgFkcEQCAUDQkgEkE4aiABaiIBKgIAIQIgASAGIAKUOAIAIAIgB4yUIQUgBCECCyASKAIEBEAgGCAUQQxsaiIBQQxqIhUgByABKgIAIgSUIAYgFSoCACIIlJI4AgAgASAGIASUIAcgCJSTOAIAIAFBBGoiFSoCACEEIBUgBiAElCAHIAFBEGoiFSoCACIIlJM4AgAgFSAHIASUIAYgCJSSOAIAIAFBCGoiFSoCACEEIBUgBiAElCAHIAFBFGoiASoCACIIlJM4AgAgASAHIASUIAYgCJSSOAIACyARIBNGDQIgEUECayEgIBRBDGwhGSARQQFrISEgEkEsaiEVIBJBOGohEyAUIQEDQCAFQwAAAABbDQMgBYwgBSAFlCACIAKMIAJDAAAAAGAiEBsiBCAElJIQmAEiByAHjCAQGyIIlSEGIAQgB5UhByABQQFqIhAgFEsEQCATIBdqIAg4AgALIAYgBpQiCCADlCAHIAeUIgogFSAXaiIaQQhqIiIqAgAiC5SSIAcgBpQiDCAMkiATIBdqIiNBBGoiJCoCACINlCIOkiEEICIgBDgCACAaQQRqIAogA5QgCCALlJIgDpM4AgAgJCAMIAMgC5OUIA0gCiAIk5SSIgM4AgAgASAgRwRAIAFBf0cNCiAjQQhqIgEqAgAhAiABIAcgApQ4AgAgAiAGjJQhBSADIQILIBIoAgQEQCASQQRqIBlqIgFBHGoiGiAGIAFBEGoiIioCACIDlCAHIBoqAgAiCJSSOAIAICIgByADlCAGIAiUkzgCACABQRRqIhoqAgAhAyAaIAcgA5QgBiABQSBqIhoqAgAiCJSTOAIAIBogBiADlCAHIAiUkjgCACABQRhqIhoqAgAhAyAaIAcgA5QgBiABQSRqIgEqAgAiCJSTOAIAIAEgBiADlCAHIAiUkjgCAAsgGUEMaiEZIBNBBGohEyAVQQRqIRUgBCEDICEgECIBRw0ACwwCC0G4kMIAENMLAAtByJDCABDTCwALIB4oAgAhEyAfKAIAIRAgGygCAAshASAQQf////8Hcb4gAUH/////B3G+IBNB/////wdxvpJDAAAANJRfRQ0BIBYhEQwBCyATIAUgApJDAAAAP5QiBSAGEJgBIgaTOAIAIAEgBSAGkiIFOAIAAkAgEigCBARAIAUgApMiAkMAAAAAYCETIAMgAiACjCATGyICIAKUkhCYASIDQwAAADReDQELIBFBAWshEQwBCyAYIBRBDGxqIgFBDGoiFSoCACEFIBUgAiADlSICIAWUIAQgAyADjCATG5UiAyABKgIAIgSUkzgCACABIAIgBJQgAyAFlJI4AgAgAUEEaiITKgIAIQQgEyACIASUIAMgAUEQaiITKgIAIgWUkjgCACATIAIgBZQgAyAElJM4AgAgAUEIaiITKgIAIQQgEyACIASUIAMgAUEUaiIBKgIAIgWUkjgCACABIAIgBZQgAyAElJM4AgAgEUEBayERCyARQQJLDQFBACEUAkAgEUUNACARQQFrIhNBAnQiFSASQSxqIhBqIhYoAgAhAQJAIBJBOGogFWooAgBB/////wdxviAQIBFBAnRqKAIAQf////8Hcb4gAUH/////B3G+kkMAAAA0lF4EQCATIRAMAQsgE0UEQCATIREMAgsgEUECayIVQQJ0IhAgEkEsamooAgAhASASQThqIBBqKAIAQf////8Hcb4gFigCAEH/////B3G+IAFB/////wdxvpJDAAAANJReBEAgFSEQIBMhEQwBCyAVRQRAIBUhEQwCCyASQSxqIBFBA2siEEECdGooAgAhASAVIRELIBBBAWohFSAQQQJ0IhMgHGohFiATIB1qIRADQCAWIRMgFUEBayIVRQ0BIBMqAgAiAkMAAAAAXARAIBNBBGshFiABQf////8HcSEXIBAoAgAhASAQQQRrIRAgAosgF74gAUH/////B3G+kkMAAAA0lF9FDQELCyATQQA2AgBBASEUCyAlQQFqIiUNAAsgAEECNgIMDAILQeiQwgAQ0wsAC0HYkMIAENMLAAsgEkGgAWokAAvZPQMTf0Z9BH4jAEGAAWsiBSQAAkACQAJAAkACQAJ/AkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCvAEOBAABAgMECyABQYCAgPwDNgKwASAAIAEpAhA3AgAgAEEIaiABQRhqKAIANgIADB0LIAVBCGoiA0EIaiIC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QQxqNgIAIARBBEkEQCACQQA6APsBIAJBJTsA+QEgAkEENgL8ASACQQE6APgBIAJB+AFqEIALIQEMFgsgAzUACCEbIAEgBUEQayIENgIEIAEgA0EQajYCACAEQQRJDQMgAzUADCEcIAEgBUEUayIENgIEIAEgA0EUajYCACAEQQRJDQQgAygAECEVIAEgBUEYayIENgIEIAEgA0EYajYCACAEQQRJBEAgAkEAOgD7ASACQSU7APkBIAJBBDYC/AEgAkEBOgD4ASACQfgBahCACyEBDBYLIAM1ABQhHSABIAVBHGsiBDYCBCABIANBHGo2AgAgBEEESQ0FIAM1ABghHiABIAVBIGsiBDYCBCABIANBIGo2AgAgBEEESQ0GIAMoABwhFiABIAVBJGsiBDYCBCABIANBJGo2AgAgBEEESQRAIAJBADoA+wEgAkElOwD5ASACQQQ2AvwBIAJBAToA+AEgAkH4AWoQgAshAQwWCyADNQAgIR8gASAFQShrIgQ2AgQgASADQShqNgIAIARBBEkNByADNQAkISAgASAFQSxrIgQ2AgQgASADQSxqNgIAIARBBEkNCCADKAAoIRcgASAFQTBrIgQ2AgQgASADQTBqNgIAIARBBEkEQCACQQA6APsBIAJBJTsA+QEgAkEENgL8ASACQQE6APgBIAJB+AFqEIALIQEMFgsgAzUALCEhIAEgBUE0ayIENgIEIAEgA0E0ajYCACAEQQRJDQkgAzUAMCEiIAEgBUE4ayIENgIEIAEgA0E4ajYCACAEQQRJDQogAygANCEYIAEgBUE8ayIENgIEIAEgA0E8ajYCACAEQQRJBEAgAkEAOgD7ASACQSU7APkBIAJBBDYC/AEgAkEBOgD4ASACQfgBahCACyEBDBYLIAM1ADghIyABIAVBQGoiBDYCBCABIANBQGs2AgAgBEEESQ0LIAM1ADwhJCABIAVBxABrIgQ2AgQgASADQcQAajYCACAEQQRJDQwgAygAQCEZIAEgBUHIAGsiBDYCBCABIANByABqNgIAIARBBEkEQCACQQA6APsBIAJBJTsA+QEgAkEENgL8ASACQQE6APgBIAJB+AFqEIALIQEMFgsgAzUARCElIAEgBUHMAGs2AgQgASADQcwAajYCACADNQBIISYgAkEGNgK8AiACIAE2ArgCIAJBwAJqIAJBuAJqEMcCIAItANgCIgRBA0YNDSAEQQJGBEBBACACQc8DakHYr8AAEPcHIQEMFgsgAkHcAmogAkG4AmoQxwIgAi0A9AIiCEEDRg0OIAhBAkYEQEEBIAJBzwNqQdivwAAQ9wchAQwWCyACQfgCaiACQbgCahDHAiACLQCQAyILQQNGDQ8gC0ECRgRAQQIgAkHPA2pB2K/AABD3ByEBDBYLIAJBlANqIAJBuAJqEMcCIAItAKwDIgxBA0YNECAMQQJGBEBBAyACQc8DakHYr8AAEPcHIQEMFgsgAkGwA2ogAkG4AmoQxwIgAi0AyAMiDUEDRg0RIA1BAkYEQEEEIAJBzwNqQdivwAAQ9wchAQwWCyACQfgBaiACQbgCahDHAgJAAkACQCACLQCQAiIaQQJrDgIBAAILIAIoAvgBIQEMFwtBBSACQc8DakHYr8AAEPcHIQEMFgsgAkE+aiACQZMCai0AADoAACACQZwCaiIDQQJqIAJB2QJqIgVBAmotAAA6AAAgAkG+AWogAkH1AmoiBkECai0AADoAACACQZ4BaiACQZEDaiIHQQJqLQAAOgAAIAJB/gBqIAJBrQNqIglBAmotAAA6AAAgAiACLwCRAjsBPCACIAUvAAA7AZwCIAIgBi8AADsBvAEgAiAHLwAAOwGcASACIAkvAAA7AXwgAkHeAGogAkHJA2oiBUECai0AADoAACACQeABaiIGQQhqIAJBzAJqKQIANwMAIAZBEGogAkHUAmooAgA2AgAgAkGnAmogAkHcAmoiBkEIaikCADcAACACQa8CaiAGQRBqKQIANwAAIAJBoAFqIgZBEGogAkH4AmoiB0EQaikCADcDACAGQQhqIAdBCGopAgA3AwAgAiAFLwAAOwFcIAIgAikCxAI3A+ABIAIgAikC3AI3AJ8CIAIgAikC+AI3A6ABIAIoAsACIQkgAkGAAWoiBUEQaiACQZQDaiIGQRBqKQIANwMAIAVBCGogBkEIaikCADcDACACQeAAaiIFQRBqIAJBsANqIgZBEGopAgA3AwAgBUEIaiAGQQhqKQIANwMAIAJBQGsiBUEQaiACQfgBaiIGQRBqKQIANwMAIAVBCGogBkEIaikCADcDACACIAIpApQDNwOAASACIAIpArADNwNgIAIgAikC+AE3A0AgAkHAAWoiBUEXaiADQRdqKAAANgAAIAVBEGogA0EQaikBADcDACAFQQhqIANBCGopAQA3AwAgAiACKQGcAjcDwAEgASgCBCIFRQ0SIAEgBUEBazYCBCABIAEoAgAiA0EBajYCACADLQAAIgZBAk8EQEGR+sMALQAAGkEMQQQQowwiAUUNFCABIAY6AAQgAUGCgICAeDYCAAwWCyAFQQVJDRQgASAFQQVrIgo2AgQgASADQQVqNgIAIAMoAAEiB0EDTwRAIAJBAToA+AEgAiAHrTcDgAIgAkH4AWpB8IzAAEHcgsAAELEIIQEMFgsgCkEPTQRAIAJCgcqAgIACNwP4ASACQfgBahCACyEBDBYLIAAgAikDCDcCXCAAIAIpAyA3AnggACACKQPAATcAqQEgA0ERajUAACEnIAMoAAUhCiADKQAJISggASAFQRVrNgIEIAEgA0EVajYCACAAQeQAaiACQQhqIgFBCGopAwA3AgAgAEHsAGogAUEQaikDADcCACAAQYABaiACQSBqIgFBCGopAwA3AgAgAEGIAWogAUEQaikDADcCACAAQcABaiACQdcBaigAADYAACAAQbkBaiACQcABaiIBQRBqKQMANwAAIABBsQFqIAFBCGopAwA3AAAgAEHHAWogAkG+AWotAAA6AAAgACACLwG8ATsAxQEgACACKQOgATcCyAEgAEHQAWogAkGgAWoiAUEIaikDADcCACAAQdgBaiABQRBqKQMANwIAIAAgAi8BnAE7AOEBIABB4wFqIAJBngFqLQAAOgAAIAAgAikDgAE3AuQBIABB7AFqIAJBgAFqIgFBCGopAwA3AgAgAEH0AWogAUEQaikDADcCACAAQf8BaiACQf4Aai0AADoAACAAIAIvAXw7AP0BIABBkAJqIAJB4ABqIgFBEGopAwA3AgAgAEGIAmogAUEIaikDADcCACAAIAIpA2A3AoACIABBmwJqIAJB3gBqLQAAOgAAIAAgAi8BXDsAmQIgAEGsAmogAkFAayIBQRBqKQMANwIAIABBpAJqIAFBCGopAwA3AgAgACACKQNANwKcAiAAQbcCaiACQT5qLQAAOgAAIAAgAi8BPDsAtQIgAEGkAWogAkHgAWoiAUEQaigCADYCACAAQZwBaiABQQhqKQMANwIAIAAgAikD4AE3ApQBIABBDGogJz4CACAAICg3AgQgACAGQQBHOgC9AiAAIAc6ALwCIAAgEzoAuwIg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GJSUkiEYIBQgGSAKKgIEIApBEGoqAgCSQwAAAD+UIBWTIhQgFJSUkiEUIA0gC0EEaiILRw0AC0ECIBMgFF4iCiAYIBQgEyAKG10bIgpBAmoiCCAKQQFrIAhBA0kbIQ0gCkEBaiIIIApBAmsgCEEDSRshDCABQSBqKAIAIgshCiABKAIYIAtGBEAgAUEYaiALELQGIAEoAiAhCgsgAUEcaigCACAKQQd0aiIIQgA3A2AgCEEAOgB4IAggBzoAdCAIIAY2AnAgCEL////7////v383A1ggCEL////7////v383A1AgCEL////7////v383A0ggCEL////7////v383A0AgCEL////7////v383AzggCEL////7////v383AzAgCEL////79///v/8ANwMoIAhC////+/f//7//ADcDICAIQv////v3//+//wA3AxggCEL////79///v/8ANwMQIAhC////+/f//7//ADcDCCAIQv////v3//+//wA3AwAgCEHoAGpCADcDACABIApBAWo2AiAgCSAXOAJMIAkgFTgCSCAJIBY4AkQgCUHgAGoiBiADIAQgBSgCBCIEIAUoAggiByAJQcQAaiIDIAwgAi0AACIKEJcEIAlB7ABqIggoAgAhDCAJKAJoIQ4gBiAJKAJgIAkoAmQgBCAHIAMgDSAKEJcEIAgoAgAhDyAJKAJoIRAgCSgCZCERIAkoAmAhEiAGIA4gDCAEIAcgAyANIAoQlwQgCCgCACEEIAkoAmghByAJKAJkIQogCSgCYCEIIAlBDGogASACIBIgESAFIAtBABBBIAlBKGogASACIBAgDyAFIAtBARBBIAMgASACIAggCiAFIAtBAhBBIAYgASACIAcgBCAFIAtBAxBBIAEoAiAiAiALTQ0EIAkqAnghFyAJKgJ0IRUgCSoCcCEWIAkqAmwhEyAJKgJoIRQgCSoCZCEYIAkoAmAhAyAJKgJcIRkgCSoCWCEaIAkqAlQhGyAJKgJQIRwgCSoCTCEdIAkqAkghHiAJKAJEIQQgCSoCQCEfIAkqAjwhICAJKgI4ISEgCSoCNCEiIAkqAjAhIyAJKgIsISQgCSgCKCEFIAkqAiQhJSAJKgIgISYgCSoCHCEnIAkqAhghKCAJKgIUISkgCSoCECEqIAEoAhwgC0EHdGoiAiAJKAIMNgJgIAJB7ABqIAM2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AC0AABoCQCAGQQQQowwiCQRAIAVBADYCECAFIAk2AgwgBSAHNgIIIAdB1arVKksNAyAHQRhsIgZBAEgNA0GR+sMALQAAGiAGQQQQowwiCUUNASAJIQYCQCAHQQJJDQAgB0EBayIIQQNxIQogB0ECa0EDTwRAIAhBfHEhCANAIAZC////+////79/NwIQIAZC////+/f//79/NwIIIAZC////+/f//7//ADcCACAGQdgAakL////7////v383AgAgBkHQAGpC////+/f//79/NwIAIAZByABqQv////v3//+//wA3AgAgBkFAa0L////7////v383AgAgBkE4akL////79///v383AgAgBkEwakL////79///v/8ANwIAIAZBKGpC////+////79/NwIAIAZBIGpC////+/f//79/NwIAIAZBGGpC////+/f//7//ADcCACAGQeAAaiEGIAhBBGsiCA0ACwsgCkUNAANAIAZC////+////79/NwIQIAZC////+/f//79/NwIIIAZC////+/f//7//ADcCACAGQRhqIQYgCkEBayIKDQALCyAGQv////v///+/fzcCECAGQv////v3//+/fzcCCCAGQv////v3//+//wA3AgAgBSAHNgIcIAUgCTYCGCAFIAc2AhQgB0EEdCIGQQBIDQNBkfrDAC0AABogBkEEEKMMIglFDQUgCSEGAkAgB0ECSQ0AIAdBAWsiCEEDcSEKIAdBAmtBA08EQCAIQXxxIQgDQCAGQn83AgggBkEAOgAEIAZBfzYCACAGQThqQn83AgAgBkE0akEAOgAAIAZBMGpBfzYCACAGQShqQn83AgAgBkEkakEAOgAAIAZBIGpBfzYCACAGQRhqQn83AgAgBkEUakEAOgAAIAZBEGpBfzYCACAGQUBrIQYgCEEEayIIDQALCyAKRQ0AA0AgBkJ/NwIIIAZBADoABCAGQX82AgAgBkEQaiEGIApBAWsiCg0ACwsgBkJ/NwIIIAZBADoABCAGQX82AgAMBAsMBAsMAwsgBUEANgIQIAVCgICAgMAANwIIIAVBADYCHCAFQoCAgIDAADcCFEEEIQkMAQsQ7goACyAAQYQBaiEGIAAoAoQBBEAgACgCiAEQlQILIAAgBzYCjAEgACAJNgKIASAAIAc2AoQBIAUgBjYCiAEgBSAFQQhqNgKQASAF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FJQgDiANIA6UIBIgD5STIg0gDZIiDZSTkpKSOAK4ASAFIANB6ABqKgIAIBIgECAUlCAPIA2UIAQgEZSTkpKSOAK0ASAFIANB5ABqKgIAIBMgECANlCAOIBGUIA8gFJSTkpKSOAKwASAGIAFBOGooAgAgAUE8aigCACIDKAIIQQFrQXhxakEIaiABQfwAaiAFQaABaiADKAK4ARECACAFIAk2AoQCIAUgAjYCgAIgBUGIAWogAiAJIAYQ4gEMAgsgBiABQThqKAIAIAFBPGooAgAiAygCCEEBa0F4cWpBCGogAUH8AGogAygCiAERAQAgBSAJNgKEAiAFIAI2AoACIAVBiAFqIAIgCSAGEOIBDAELQaSVwQBBE0G0gcIAEO8JAAsgAkEBaiECIApBqAFqIQoMAAsACyAAQcgAaiEBIAVBIGoQwwkgACgCaCICIAAoAmBGBEAgAEHgAGogAhC0BiAAKAJoIQILIABB5ABqKAIAIAJBB3RqIAVBIGpB4AAQow0iA0HoAGpCfzcDACADQoGAgIBwNwNgIANBADoAeCADQQA6AHQgA0F/NgJwIAAgAkEBajYCaCAFQYACaiICIAEgBUEHaiAFKAIMIAUoAhAgBUEUakEAQQAgHhBjIAVBiAFqIgNBEGogBUGUAmopAgAiJzcDACADQQhqIAVBjAJqKQIAIig3AwAgBSAFKQKEAiIpNwOIASABQRBqICc3AgAgAUEIaiAoNwIAIAEgKTcCACACQRBqICc3AwAgAkEIaiAoNwMAIAVB2AJqQv////v///+/fzcDACAFQdACakL////79///v383AwAgBUHAAmpC////+////79/NwMAIAVBuAJqQv////v3//+/fzcDACAFQagCakL////7////v383AwAgBUGgAmpC////+/f//79/NwMAIAUgKTcDgAIgBUL////79///v/8ANwPIAiAFQv////v3//+//wA3A7ACIAVC////+/f//7//ADcDmAIgBUGgAWogAhCiBCAAKAJoBEAgACgCZCAFQaABakHgABCjDRogBSgCFARAIAUoAhgQlQILIAUoAggEQCAFKAIMEJUCCyAFQeACaiQADwtBAEEAQYTXwAAQ7QgAC0EEIAZB2IDEACgCACIAQaMHIAAbEQAAAAuCPwMIfx99An4jAEGgA2siCiQAIApBuAFqIAQg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EJUCDAYLQdjAwABBK0Hwz8AAELkKAAsgDiABQdjrwQAQ3wshACAMQTxqQY4BNgIAIAxBKGoiAUEMakGPATYCACAMQQxqQgM3AgAgDCAINgI4IAwgCjYCMCAMQY4BNgIsIAwgADYCKCAMQQM2AgQgDEHA68EANgIAIAwgATYCCCAMQejrwQAQ7woACyAKIAFBgOvBABDfCyEAIAxBPGpBjgE2AgAgDEEoaiIBQQxqQY8BNgIAIAxBDGpCAzcCACAMIA02AjggDCAKNgIwIAxBjgE2AiwgDCAANgIoIAxBAzYCBCAMQejqwQA2AgAgDCABNgIIIAxBkOvBABDvCgALIAUgAigCACIDTQ0AQd3/wABBG0G06sEAENILAAsgAyAFQaTqwQAQ7QgACyALQQFNDQEgEyALQQEQzgULIAAoAhQhCwsgACIJKAIIIgAgC2oiCiECIAAgCkkEQCALIAkoAgAgACIHa0sEQCAJIAAgCxCNBiAJKAIIIQcLIAkoAgQgB0EDdGohAyALQQJPBEAgC0EBayIIQQdxIQIgC0ECa0EHTwRAIAhBeHEhCANAIANC////+/f/////ADcCACADQThqQv////v3/////wA3AgAgA0EwakL////79/////8ANwIAIANBKGpC////+/f/////ADcCACADQSBqQv////v3/////wA3AgAgA0EYakL////79/////8ANwIAIANBEGpC////+/f/////ADcCACADQQhqQv////v3/////wA3AgAgA0FAayEDIAhBCGsiCA0ACwsgAgRAA0AgA0L////79/////8ANwIAIANBCGohAyACQQFrIgINAAsLIAcgC2pBAWshBwsgA0L////79/////8ANwIAIAkoAhQhCyAHQQFqIQILIAkgAjYCCCALBEAgAEECayEHIApBAmshAyAJKAIQIg4gC0EMbGohDQNAAkACQCAJKAIIIgogB0sEQCANQQxrIQ0gB0EDdCECIANBA3QhCANAIAkoAgQiACACaiIPKgIAIh8gDSoCACIgXw0DIAMgCk8NAiAPQQRqKAIAIQogACAIaiIAIB84AgAgAEEEaiAKNgIAIAJBCGshAiAIQQhrIQggA0EBayEDIAdBAWsiByAJKAIIIgpJDQALCyAHIApB9OnBABDtCAALIAMgCkGE6sEAEO0IAAsgAyAKTwRAIAMgCkGU6sEAEO0IAAsgACAIaiIAQQRqIA1BBGooAgA2AgAgACAgOAIAIA1BCGogAzYCACADQQFrIQMgDSAORw0ACyAJKAIIIQILIAJBAWshDSACRQ0BIAZFDQAgCSgCBCEOIAkoAhQhACAJQQA2AhQgAEEMbCEDIAkoAhAhBwJAAkACQCABQQNPBEADQCADRQ0FIANBDGshAyAHKAIEIQAgB0EMaiEHIABBAE4NAAsgAEH/////B3EiCiAFSQ0BDAYLIAQgAUECdGohCSADIAdqIQ8gAkEDdEEQayELA0AgByAPRg0EIAciAEEMaiEHIAAoAgQiAUEATg0AIAFB/////wdxIgogBU8NBiAAKAIIIgNBAWoiASANSw0CIAEgDUYNACAAKgIAIR8gCkEsbCIIIARqIgBBDGohAiAIIAlqQRhqKgIAISAgCyADQQN0ayEIIA4gAUEDdGohAyAAQSBqIREgAEEcaiETIABBGGohEANAAkAgA0EEaigCACIBQf////8HcSIAIApGDQAgACAFTw0FAkAgAUEASARAIAMqAgAgIF0NAQwCCyAJIABBLGxqQQxqKgIAIB9fRQ0BCyACKgIAIAQgAEEsbGoiAUEYaioCAF9FDQAgAioCBCABQRxqKgIAX0UNACACKgIIIAFBIGoqAgBfRQ0AIBAqAgAgAUEMaiIBKgIAYEUNACATKgIAIAEqAgRgRQ0AIBEqAgAgASoCCGBFDQAgBiAKIAAgACAKSxsgCiAAIAAgCkkbQQEQ0QELIANBCGohAyAIQQhrIggNAAsMAAsAC0Hd/8AAQRtBxOnBABDSCwALIAEgDUHk6cEAEOwIAAsgACAFQdTpwQAQ7QgACyAMQUBrJAAPCyANQQBBpOnBABDuCAALIAogBUG06cEAEO0IAAtB2MDAAEErQYDQwAAQuQoAC5gZAhB/En0jAEFAaiIFJAACQAJAAkAgACgChAJFDQAgAEE4aigCACIJBH8gACgCMCIHIQQgCSIDQQFxBEAgB0EANgIAIAcgCUEBayIDQQBHQQJ0aiEECyAJQQFHBEAgByAJQQJ0aiEPA0AgCUECdCIQIAdqIgggBCAEIA9GIg0bIgpBADYCACAKIANBAUdBAnRqIgwgBCAQaiAPIA0bIgZGIREgCCAHIA0bIgggEGoiCiAMIBEbIgRBADYCACAKIAggERshByAMIBBqIAYgERshDyAEIANBAkdBAnRqIQQgA0ECayIDDQALCyAAKAI4BUEACyEGIAAoAggiDwRAIAFFDQIgAEFAaygCACEMIABBxABqKAIAIRAgAEHEAWooAgAhESAAQcgBaigCACESIAAoAjAhCSAAKAIEIQ1BACEHAkADQCANIAdB6ANsaiIOKAIAIgMgAk8NBCABIANB8AJsaiILKAIARQ0EIAsoAgQgDigCBEcNBAJAIAdFBEBDAAAAACEgQwAAAAAhG0MAAAAAISRDAAAAACEhQwAAAAAhIkMAAAAAISMMAQsCQCAPIA4oApADIgpLBEACQCANIApB6ANsaiIEKAIAIgMgAk8NACABIANB8AJsaiIDKAIARQ0AIAMoAgQgBCgCBEcNACAKIBJPDQIgDkEMaioCACIfIANBlAFqKgIAIhaUIA4qAggiEyADQZgBaioCACIXlJMhFSADQZwBaioCACIYIA4qAswDIhuUIBYgDkHUA2oqAgAiGZSTISAgFyAZlCAYIA5B0ANqKgIAIhqUkyEUIBogESAKQRhsaiIDKgIMIhyUIBsgAyoCECIdlJMgAyoCCEMAAAAAkiAVIBWSkiAWICCUIBcgFJSTkpIhJCAbIAMqAhQiHpQgGSAclJMgAyoCBEMAAAAAkiATIBiUIA5BEGoqAgAiFSAWlJMiEyATkpIgGCAUlCAWIBYgGpQgFyAblJMiFJSTkpIhGyAZIB2UIBogHpSTIAMqAgBDAAAAAJIgFSAXlCAfIBiUkyITIBOSkiAXIBSUIBggIJSTkpIhICAeQwAAAACSIBYgDkEYaioCACIUlCAXIA5BFGoqAgAiE5STkiEjIB1DAAAAAJIgGCATlCAWIA5BHGoqAgAiE5STkiEiIBxDAAAAAJIgFyATlCAYIBSUk5IhIQwDC0GklcEAQRNBvKfBABDvCQALIAogD0Gsp8EAEO0IAAsgCiASQcynwQAQ7QgACwJAIAcgEkcEQCALQZQBaiIIKgIAIRkgDioC2AMhFSALQZgBaiIKKgIAIRogDkHgA2oqAgAhHCALQZwBaiIEKgIAIR0gDkHcA2oqAgAhHiARIAdBGGxqIgMgIzgCFCADICI4AhAgAyAhOAIMIAMgISAelCAiIBWUkyAkIBkgFSAdlCAcIBmUkyIUlCAaIBwgGpQgHiAdlJMiE5STkpIiHzgCCCADICMgFZQgISAclJMgGyAdIBOUIBkgHiAZlCAVIBqUkyITlJOSkiIVOAIEIAMgIiAclCAjIB6UkyAgIBogE5QgHSAUlJOSkiIUOAIAIAUgC0GoAWoQkgQgByAQRw0BIBAgEEHsp8EAEO0IAAsgEiASQdynwQAQ7QgACyAMIAdBBHRqIgNBDGooAgAgBkYEQCAGBEAgC0GUAmoqAgAgH0MAAAAAQwAAgD8gC0GEAmoqAgAiH5UiEyAfQwjlPB5fGyATIB9DCOU8nmAblJMhICALQZACaioCACAVQwAAAABDAACAPyALQYACaioCACIVlSITIBVDCOU8Hl8bIBMgFUMI5TyeYBuUkyEcIAtBjAJqKgIAIBRDAAAAAEMAAIA/IAtB/AFqKgIAIhSVIhMgFEMI5TweXxsgEyAUQwjlPJ5gG5STIR0gCCoCACIWIAUqAgQiGZQgCioCACIXIAUqAgwiHpSSIAQqAgAiGCAFKgIQIhqUkiEkIAtBoAJqKgIAIBYgJJQgFiAFKgIAIh+UIBcgGZSSIBggBSoCCCIblJIiFCAXlJOTICEgG5QgIiAalJIgIyAFKgIUIhOUkpMhFSALQZwCaioCACAUIBiUIBYgFiAblCAXIBqUkiAYIBOUkiITlJOTICEgGZQgIiAelJIgIyAalJKTIRQgC0GYAmoqAgAgFyATlCAkIBiUk5MgISAflCAiIBmUkiAjIBuUkpMhEyADQQRqKAIAIQMgCSEEIAYhCANAIAQgBCoCACAdIAMqAgCUQwAAAACSIBwgA0EEaioCAJSSICAgA0EIaioCAJSSIBMgA0EMaioCAJSSIBQgA0EQaioCAJSSIBUgA0EUaioCAJSSkjgCACAEQQRqIQQgA0EYaiEDIAhBAWsiCA0ACwsgDyAHQQFqIgdGDQIMAQsLQcT3wABBGkH0gsEAENILAAsgACgCOCEGCyAAQRhqKAIAIQQgAEEQaigCACECIABBIGooAgAhASAAQShqKAIAIQMgACgCMCEKIAVBATYCHCAFIAY2AhggBUEBNgIkIAUgAzYCICADIAZGBEAgBUEBNgIcIAUgBjYCGCAFQQE2AiQgBSAENgIgIAQgBkYEQAJAIAZFDQAgBkEBcSENQQAhByAGQQFHBEAgBkF+cSEMIAohAyACIQQgASEIA0AgAyADKgIAIAgqAgAgBCoCAJSTOAIAIANBBGoiCSAJKgIAIAhBBGoqAgAgBEEEaioCAJSTOAIAIANBCGohAyAEQQhqIQQgCEEIaiEIIAwgB0ECaiIHRw0ACwsgDUUNACAHQQJ0IgQgCmoiAyADKgIAIAEgBGoqAgAgAiAEaioCAJSTOAIACyAFIABBpAFqKAIAIgI2AhggAEGoAWooAgAhASAFIAY2AiAgAiAGRgRAIAEgBkYEQCAAQbwBaigCACIIIABBuAFqKAIAIglNBEACQAJAIAhFDQAgAEGwAWooAgAiByAIQQN0aiEPIAchAwNAIAlBA3QiASAHaiIEIAMgAyAPRiIRGyIQRQ0BIBAoAgAiDSAGTw0CIBAoAgQiDCAGTw0CIAEgA2ohAyAIQQFHQQN0IQIgDCANRwRAIAogDUECdGoiASoCACETIAEgCiAMQQJ0aiIBKAIANgIAIAEgEzgCAAsgAyAPIBEbIQ8gBCAHIBEbIQcgAiAQaiEDIAhBAWsiCA0ACwsgAEGcAWooAgAhCwJAIAZBAWsiCQRAIAtBCGohACAKQQhqIQwgBkECayESIAZBAnRBBGohD0EAIQIgCSEBA0AgAiAGRg0CAkAgBiACIgdBAWoiAkYNACAKIAdBAnRqKgIAIRMgCSAHa0EBcSEQQQAhCCAHIBJHBEAgAUF+cSERIAAhBCAMIQMDQCADIAMqAgAgEyAEKgIAlJM4AgAgA0EEayINIA0qAgAgEyAEQQRrKgIAlJM4AgAgBEEIaiEEIANBCGohAyARIAhBAmoiCEcNAAsLIBBFDQAgCEECdCIEIAogAkECdGpqIgMgAyoCACATIAsgBiAHbCACakECdGogBGoqAgCUkzgCAAsgAUEBayEBIAAgD2ohACAMQQRqIQwgAiAJRw0ACyAGRQ0ICyALIAYgCWwiDCAJakECdGoqAgAiE0MAAAAAWw0HIAZBAmshEUEAIQJBACAGQQJ0ayENIAsgBiAJbEECdGohACAGIQEDQCABIQMgCiAJIgFBAnRqIgQqAgAgE5UhEyAEIBM4AgACQCADIAZNBEAgAUUNCkEAIQggAiARRg0BIAFBfnEhByAAIQQgCiEDA0AgAyADKgIAIBMgBCoCAJSTOAIAIANBBGoiCSAJKgIAIBMgBEEEaioCAJSTOAIAIARBCGohBCADQQhqIQMgByAIQQJqIghHDQALDAELQd73wABBHUH4+MAAENILAAsgAUEBcQRAIAhBAnQiBCAKaiIDIAMqAgAgEyALIAxBAnRqIARqKgIAlJM4AgALIAAgDWohACACQQFqIQIgAUEBayIJIAZsIQwgCyAJIAxqQQJ0aioCACITQwAAAABcDQALDAcLQd73wABBHUH4+MAAENILAAtBuYbBAEE+QfiGwQAQuQoAC0He98AAQR1B6PjAABDSCwALQYiLwQBBLkG4i8EAENILAAsgBUIANwI0IAVB/LzAADYCMCAFQQE2AiwgBUHwisEANgIoIAVBGGogBUEgaiAFQShqQfiKwQAQ9QoACwwDCwwCCyAFQUBrJAAPC0GklcEAQRNBnKfBABDvCQALIAVCADcCNCAFQfy8wAA2AjAgBUEBNgIsIAVBxPzAADYCKCAFQRhqIAVBIGogBUEoakG8/cAAEPQKAAvyGwIZfQN/IwBB8ABrIh0kACABQRxqKgIAIQ0gAUEgaioCACEOIAFBEGoqAgAhCyABKgIYIRAgASoCDCEKIB0gAUEUaioCACIMIAEqAggiB5MiETgCECAdIAsgASoCBCIIkyITOAIMIB0gCiABKgIAIgmTIhY4AgggHSAOIAeTIhc4AhwgHSANIAiTIhg4AhggHSAQIAmTIhk4AhQgHSACKgIEIgUgCJMiEjgCJCAdIAIqAgAiBCAJkyIPOAIgIB0gAioCCCIGIAeTIhQ4AigCQAJAAkACQAJAAkACQCAWIA+UIBMgEpSSIBEgFJSSIhVDAAAAAF8gGSAPlCASIBiUkiAUIBeUkiISQwAAAABfcUUEQCAdIAUgC5MiDzgCMCAdIAQgCpMiFDgCLCAdIAYgDJMiGjgCNCAZIBSUIBggD5SSIBcgGpSSIhsgFiAUlCATIA+UkiARIBqUkiIPXyAPQwAAAABgcQ0BIB0gBSANkyIUOAI8IB0gBCAQkyIaOAI4IB0gBiAOkyIcOAJAIBYgGpQgEyAUlJIgESAclJIiEyAZIBqUIBggFJSSIBcgHJSSIhFfIBFDAAAAAGBxDQIgHSAOIAyTIg44AkwgHSANIAuTIg04AkggHSAQIAqTIhA4AkQgHUHQAGogHUEIaiAdQRRqIB1BxABqIB1BIGogHUEsaiAdQThqIBUgDyASIBEgGyATELkDIB0oAlBBAWsOAwQFBgMLAkACQCAEIAlbDQBBACEBIAmLIgtDAACAf1sNASAEiyIKQwAAgH9bDQEgCSAEk4siBEMAAAA0Xw0AIAQgCiALIAogC14bQwAAADSUX0UNAQsCQCAFIAhbDQBBACEBIAiLIgRDAACAf1sNASAFiyILQwAAgH9bDQEgCCAFk4siBUMAAAA0Xw0AIAUgCyAEIAQgC10bQwAAADSUX0UNAQtBASEBIAYgB1sNAEEAIQEgB4siBUMAAIB/Ww0AIAaLIgRDAACAf1sNAEEBIQEgByAGk4siBkMAAAA0Xw0AIAYgBCAFIAQgBV4bQwAAADSUXyEBCyAAQgA3AhAgACABOgAMIAAgBzgCCCAAIAg4AgQgACAJOAIADAYLAkACQCAEIApbDQBBACEBIAqLIgdDAACAf1sNASAEiyIIQwAAgH9bDQEgCiAEk4siBEMAAAA0Xw0AIAQgCCAHIAcgCF0bQwAAADSUX0UNAQsCQCAFIAtbDQBBACEBIAuLIgRDAACAf1sNASAFiyIHQwAAgH9bDQEgCyAFk4siBUMAAAA0Xw0AIAUgByAEIAQgB10bQwAAADSUX0UNAQtBASEBIAYgDFsNAEEAIQEgDIsiBUMAAIB/Ww0AIAaLIgRDAACAf1sNAEEBIQEgDCAGk4siBkMAAAA0Xw0AIAYgBCAFIAQgBV4bQwAAADSUXyEBCyAAQoCAgIAQNwIQIAAgAToADCAAIAw4AgggACALOAIEIAAgCjgCAAwFCwJAAkAgBCAQWw0AQQAhASAQiyIHQwAAgH9bDQEgBIsiCEMAAIB/Ww0BIBAgBJOLIgRDAAAANF8NACAEIAggByAHIAhdG0MAAAA0lF9FDQELAkAgBSANWw0AQQAhASANiyIEQwAAgH9bDQEgBYsiB0MAAIB/Ww0BIA0gBZOLIgVDAAAANF8NACAFIAcgBCAEIAddG0MAAAA0lF9FDQELQQEhASAGIA5bDQBBACEBIA6LIgVDAACAf1sNACAGiyIEQwAAgH9bDQBBASEBIA4gBpOLIgZDAAAANF8NACAGIAQgBSAEIAVeG0MAAAA0lF8hAQsgAEKAgICAIDcCECAAIAE6AAwgACAOOAIIIAAgDTgCBCAAIBA4AgAMBAtDAACAPyAVIB0qAggiCiAKlCAdKgIMIgwgDJSSIB0qAhAiDSANlJKVIguTIQ4gByANIAuUkiEHIAggDCALlJIhCAJAAkAgCSAKIAuUkiIJIARbDQBBACEBIAmLIgpDAACAf1sNASAEiyIMQwAAgH9bDQEgCSAEk4siBEMAAAA0Xw0AIAQgDCAKIAogDF0bQwAAADSUX0UNAQsCQCAFIAhbDQBBACEBIAiLIgRDAACAf1sNASAFiyIKQwAAgH9bDQEgCCAFk4siBUMAAAA0Xw0AIAUgCiAEIAQgCl0bQwAAADSUX0UNAQtBASEBIAYgB1sNAEEAIQEgB4siBUMAAIB/Ww0AIAaLIgRDAACAf1sNAEEBIQEgByAGk4siBkMAAAA0Xw0AIAYgBCAFIAQgBV4bQwAAADSUXyEBCyAAQgE3AhAgACABOgAMIAAgBzgCCCAAIAg4AgQgACAJOAIAIABBHGogCzgCACAAQRhqIA44AgAMAwtDAACAPyASIB0qAhQiCiAKlCAdKgIYIgwgDJSSIB0qAhwiDSANlJKVIguTIQ4gByANIAuUkiEHIAggDCALlJIhCAJAAkAgCSAKIAuUkiIJIARbDQBBACEBIAmLIgpDAACAf1sNASAEiyIMQwAAgH9bDQEgCSAEk4siBEMAAAA0Xw0AIAQgDCAKIAogDF0bQwAAADSUX0UNAQsCQCAFIAhbDQBBACEBIAiLIgRDAACAf1sNASAFiyIKQwAAgH9bDQEgCCAFk4siBUMAAAA0Xw0AIAUgCiAEIAQgCl0bQwAAADSUX0UNAQtBASEBIAYgB1sNAEEAIQEgB4siBUMAAIB/Ww0AIAaLIgRDAACAf1sNAEEBIQEgByAGk4siBkMAAAA0Xw0AIAYgBCAFIAQgBV4bQwAAADSUXyEBCyAAQoGAgIAgNwIQIAAgAToADCAAIAc4AgggACAIOAIEIAAgCTgCACAAQRxqIAs4AgAgAEEYaiAOOAIADAILQwAAgD8gHSoCRCINIB0qAiyUIB0qAkgiCSAdKgIwlJIgHSoCTCIIIB0qAjSUkiANIA2UIAkgCZSSIAggCJSSlSIHkyEOIAwgCCAHlJIhCCALIAkgB5SSIQkCQAJAIAogDSAHlJIiCyAEWw0AQQAhASALiyIKQwAAgH9bDQEgBIsiDEMAAIB/Ww0BIAsgBJOLIgRDAAAANF8NACAEIAwgCiAKIAxdG0MAAAA0lF9FDQELAkAgBSAJWw0AQQAhASAJiyIEQwAAgH9bDQEgBYsiCkMAAIB/Ww0BIAkgBZOLIgVDAAAANF8NACAFIAogBCAEIApdG0MAAAA0lF9FDQELQQEhASAGIAhbDQBBACEBIAiLIgVDAACAf1sNACAGiyIEQwAAgH9bDQBBASEBIAggBpOLIgZDAAAANF8NACAGIAQgBSAEIAVeG0MAAAA0lF8hAQsgAEKBgICAEDcCECAAIAE6AAwgACAIOAIIIAAgCTgCBCAAIAs4AgAgAEEcaiAHOAIAIABBGGogDjgCAAwBCwJAIB0qAlggHSoCXCIFkiAdKgJgIgSSIgZDAAAAAFsEQCADRQRAIB0qAiwiBSAFlCAdKgIwIgUgBZSSIB0qAjQiBSAFlJIgGyAPkyIFIAUgE5IgEZOVIgUgBSAQIBCUIA0gDZSSIA4gDpSSlJSTIRMgHSoCICIEIASUIB0qAiQiBCAElJIgHSoCKCIEIASUkiIGIBUgFSAPk5UiBCAEIB0qAggiFSAVlCAdKgIMIg8gD5SSIB0qAhAiFiAWlJKUlJMiGCAGIBIgEiARk5UiBiAGIB0qAhQiEiASlCAdKgIYIhEgEZSSIB0qAhwiFyAXlJKUlJMiGV1FBEAgEyAZXkUEQCAMIA4gBZSSIQcgCyANIAWUkiEIIAogECAFlJIhCUEBIQEMBAsgByAGIBeUkiEHIAggBiARlJIhCCAJIAYgEpSSIQlBAiEBIAYhBQwDCyATIBheRQRAIAwgDiAFlJIhByALIA0gBZSSIQggCiAQIAWUkiEJQQEhAQwDCyAHIAQgFpSSIQcgCCAEIA+UkiEIIAkgBCAVlJIhCUEAIQEgBCEFDAILIABBAzYCECAAQQE6AAwgACACKQIANwIAIABBCGogAkEIaigCADYCAAwCCyAdKAJUIR4gHSoCCCELIB0qAhQhCiAdKgIMIQwgHSoCGCENIB1B5ABqIgFBCGoiHyAHIAVDAACAPyAGlSIGlCIFIB0qAhCUkiAEIAaUIgQgHSoCHJSSOAIAIB0gCCAFIAyUkiAEIA2UkjgCaCAdIAkgBSALlJIgBCAKlJI4AmRBACEDAkACQCABKgIAIgYgAioCACIHWw0AIAaLIghDAACAf1sNASAHiyIJQwAAgH9bDQEgBiAHk4siBkMAAAA0Xw0AIAYgCSAIIAggCV0bQwAAADSUX0UNAQsCQCABKgIEIgYgAioCBCIHWw0AIAaLIghDAACAf1sNASAHiyIJQwAAgH9bDQEgBiAHk4siBkMAAAA0Xw0AIAYgCSAIIAggCV0bQwAAADSUX0UNAQtBASEDIAEqAggiBiACKgIIIgdbDQBBACEDIAaLIghDAACAf1sNACAHiyIJQwAAgH9bDQBBASEDIAYgB5OLIgZDAAAANF8NACAGIAkgCCAIIAldG0MAAAA0lF8hAwsgAEEIaiAfKAIANgIAIAAgHSkCZDcCACAAQSBqIAQ4AgAgAEEcaiAFOAIAIABBGGpDAACAPyAFkyAEkzgCACAAQRRqIB42AgAgAEECNgIQIAAgAzoADAwBCyAAQQE2AhAgAEEBOgAMIAAgBzgCCCAAIAg4AgQgACAJOAIAIABBHGogBTgCACAAQRhqQwAAgD8gBZM4AgAgAEEUaiABNgIACyAdQfAAaiQAC/UXAgt/Gn0jAEHQAGsiAyQAAkAgAS0AUEEBcUUNAAJ9AkACQAJAAn0CQAJAIAEoAgxBAWsiCARAIAEoAkxBAXYiByACSyEGIAFBJGooAgAiCiACQQAgByAGG2siCyAIbiIETQ0BIAFBIGooAgAiCSALIAQgCGxrIgVNDQEgAUEYaigCACIMIAUgBCAJbGpqLQAAIQIgAyABIAUgBBCfAiADQcwAaioCACEcIANByABqKgIAISEgA0HEAGoqAgAhIiADQUBrKgIAIScgA0E8aioCACEjIANBOGoqAgAhGSADQTRqKgIAISQgA0EwaioCACElIANBLGoqAgAhJiADKAIoIQ0gAyoCJCEXIAMqAiAhHyADKgIcIRYgAyoCGCETIAMqAhQhDiADKgIQIRAgAyoCDCEdIAMqAgghGiADKgIEIRsgAygCACEHAn0CQAJ9AkAgBkUEQEEAIQYgDUUNDSAZICaTIg8gISAlkyISlCAjICWTIhEgIiAmkyIUlJMiGCAYlCARIBwgJJMiHJQgJyAkkyIRIBKUkyIVIBWUIBEgFJQgDyAclJMiEiASlJKSIhFDAACAKF5FDQ0gAkEBcSECIBggERCYASIRlSEUIBIgEZUhEiAVIBGVIREgB0UNASAUISAgESEeIBIgECAbkyIYIB8gGpMiFZQgDiAakyIaIBYgG5MiG5STIg4gDpQgGiAXIB2TIhyUIBMgHZMiDyAVlJMiECAQlCAPIBuUIBggHJSTIhUgFZSSkiIPQwAAgCheRQ0CGiAOIA8QmAEiD5UhICAQIA+VIR4gFSAPlQwCC0EAIQYgB0UNDCAQIBuTIhUgHyAakyIPlCAOIBqTIhEgFiAbkyISlJMiGCAYlCARIBcgHZMiFJQgEyAdkyIRIA+UkyIPIA+UIBEgEpQgFSAUlJMiEiASlJKSIhFDAACAKF5FDQwgERCYASERIAMgASAFQQFrIAQQnwIgGCARlSEUIBIgEZUhEiAPIBGVIREgAygCKEUNAiAUISAgEiEdIBEgA0HIAGoqAgAgA0EwaioCACIVkyITIANBOGoqAgAgA0EsaioCACIPkyIOlCADQTxqKgIAIBWTIhAgA0HEAGoqAgAgD5MiGJSTIhYgFpQgA0HMAGoqAgAgA0E0aioCACIPkyIVIBCUIANBQGsqAgAgD5MiDyATlJMiGiAalCAPIBiUIBUgDpSTIhsgG5SSkiIPQwAAgCheRQ0DGiAWIA8QmAEiD5UhICAbIA+VIR0gGiAPlQwDCyAUIBFDAACAv0MAAIA/IAIbIg8gFJSTIhiUIBIgDyASlCARQwAAAACUkyIVlJMiHiASIBRDAAAAAJQgEpMiD5QgESAYlJMiGCAYlCAeIB6UIBEgFZQgFCAPlJMiFSAVlJKSEJgBIg+VIR4gGCAPlSEgIBUgD5ULIR0gAyABIAVBAWogBBCfAgJ9IAMoAgAEQCAUIRggEiEVIBEgAyoCICADKgIIIg6TIhYgAyoCECADKgIEIhCTIhOUIAMqAhQgDpMiDiADKgIcIBCTIhCUkyIZIBmUIAMqAiQgAyoCDCIbkyIcIA6UIAMqAhggG5MiGiAWlJMiFyAXlCAaIBCUIBwgE5STIhMgE5SSkiIOQwAAgCheRQ0BGiAZIA4QmAEiDpUhGCATIA6VIRUgFyAOlQwBCyASIBIgFEMAAAAAlCIPkyIVlCARIA8gEZMiD5STIhkgGSAZlCAUIA+UIBIgEUMAAAAAlCASQwAAAACUkyIPlJMiFyAXlCARIA+UIBQgFZSTIhMgE5SSkhCYASIOlSEYIBMgDpUhFSAXIA6VCyEPIAJFDQYMBwsgEiASjCAUQwAAAICUIg+TIhWUIBEgESAPkiIPlJMiGCAYIBiUIBQgD5QgEiASQwAAAACUIBFDAAAAgJSSIg+UkyIaIBqUIBEgD5QgFCAVlJMiGyAblJKSEJgBIg+VISAgGyAPlSEdIBogD5ULIR4gAkEBcSECIA1FDQIgFCEYIBIhFSARIBkgJpMiEyAhICWTIhqUICMgJZMiDiAiICaTIhCUkyIXIBeUIA4gHCAkkyIclCAnICSTIhsgGpSTIhkgGZQgGyAQlCATIByUkyITIBOUkpIiDkMAAIAoXkUNAxogFyAOEJgBIg6VIRggEyAOlSEVIBkgDpUMAwtBkIrCAEEZQeD2wgAQuQoAC0Gw98IAENMLAAsgEiASIBRDAAAAAJSTIhiUIBFDAACAv0MAAIA/IAIbIhUgFJQgEZMiD5STIhkgGSAZlCAUIA+UIBIgEUMAAAAAlCAVIBKUkyIPlJMiFyAXlCARIA+UIBQgGJSTIhMgE5SSkhCYASIOlSEYIBMgDpUhFSAXIA6VCyEPIAJFDQELAkACf0EAIAEoAhBBAmsgBE0NABogAyABIAUgBEEBaiIBEJ8CIAEgCk8NASAMIAUgASAJbGpqLQAAQQFxBEAgA0HMAGoqAgAhDiADQcgAaioCACEaIANBxABqKgIAIRsgA0FAayoCACEcIANBPGoqAgAhISADQThqKgIAISIgA0E0aioCACEZIANBMGoqAgAhFyADQSxqKgIAIRMgAygCKAwBCyADKgIkIQ4gAyoCICEaIAMqAhwhGyADKgIYIRwgAyoCFCEhIAMqAhAhIiADKgIMIRkgAyoCCCEXIAMqAgQhEyADKAIACwRAICIgE5MiHyAaIBeTIhaUICEgF5MiECAbIBOTIhOUkyIXIBeUIBAgDiAZkyIOlCAcIBmTIhAgFpSTIhYgFpQgECATlCAfIA6UkyIOIA6UkpIiEEMAAIAoXkUNAyAXIBAQmAEiEJUhEyAOIBCVIQ4gFiAQlQwECyASIBJDAAAAAJQgFEMAAAAAlJMiE5QgESAUIBFDAAAAAJQiDpMiEJSTIhYgFiAWlCAUIBCUIBIgDiASkyIQlJMiFiAWlCARIBCUIBQgE5STIg4gDpSSkhCYASIQlSETIA4gEJUhDiAWIBCVDAMLQcD3wgAQ0wsACwJ/QQAgCCALSw0AGiADIAEgBSAEQQFrIgEQnwICQCABIApJBEAgDCAFIAEgCWxqai0AAEEBcQ0BIANBzABqKgIAIQ4gA0HIAGoqAgAhGiADQcQAaioCACEbIANBQGsqAgAhHCADQTxqKgIAISEgA0E4aioCACEiIANBNGoqAgAhGSADQTBqKgIAIRcgA0EsaioCACETIAMoAigMAgtB0PfCABDTCwALIAMqAiQhDiADKgIgIRogAyoCHCEbIAMqAhghHCADKgIUISEgAyoCECEiIAMqAgwhGSADKgIIIRcgAyoCBCETIAMoAgALBEAgIiATkyIfIBogF5MiFpQgISAXkyIQIBsgE5MiE5STIhcgF5QgECAOIBmTIg6UIBwgGZMiECAWlJMiFiAWlCAQIBOUIB8gDpSTIg4gDpSSkiIQQwAAgCheRQ0BIBcgEBCYASIQlSETIA4gEJUhDiAWIBCVDAILIBIgFEMAAAAAlCASQwAAAICUkiITlCARIBSMIBFDAAAAgJQiDpMiEJSTIhYgFiAWlCAUIBCUIBIgEiAOkiIQlJMiFiAWlCARIBCUIBQgE5STIg4gDpSSkhCYASIQlSETIA4gEJUhDiAWIBCVDAELIBQhEyASIQ4gEQshECAeIBGSQwAAAD+UIhcgF5QgHSASkkMAAAA/lCIfIB+UkiAgIBSSQwAAAD+UIhYgFpSSEJgBISMgDyARkkMAAAA/lCIgICCUIBUgEpJDAAAAP5QiHSAdlJIgGCAUkkMAAAA/lCIeIB6UkhCYASEZIBQgE5JDAAAAP5QiGCAYlCASIA6SQwAAAD+UIhUgFZQgESAQkkMAAAA/lCIPIA+UkpIQmAEhECAAQSRqIB4gGZU4AgAgAEEgaiAdIBmVOAIAIABBHGogICAZlTgCACAAQRhqIBYgI5U4AgAgAEEUaiAfICOVOAIAIABBEGogFyAjlTgCACAAQQxqIBQ4AgAgAEEIaiASOAIAIAAgETgCBCAAQTBqIBggEJU4AgAgAEEsaiAVIBCVOAIAIABBKGogDyAQlTgCAEEBIQYLIAAgBjYCACADQdAAaiQAC48aAxt/Cn0BfiMAQdACayIFJAAgBSACNgJkIAUgATYCYCAFIAQ6AGwgBSADOAJoIAUgAkEUaioCACIgOAJcIAUgIDgCWCAFICA4AlQgBSAgOAJQIAUgAkEQaioCACIgOAJMIAUgIDgCSCAFICA4AkQgBSAgOAJAIAUgAioCDCIgOAI8IAUgIDgCOCAFICA4AjQgBSAgOAIwIAUgAioCCCIgOAIsIAUgIDgCKCAFICA4AiQgBSAgOAIgIAUgAioCBCIgOAIcIAUgIDgCGCAFICA4AhQgBSAgOAIQIAUgAioCACIgOAIMIAUgIDgCCCAFICA4AgQgBSAgOAIAAkAgAUEgaigCACITRQ0AIAVBADYCgAEgBUKAgICAwAA3AnggBUH4AGoiBEEAELAGIAUoAnwgBSgCgAEiBkEDdGpCgICAgPD///9+NwIAIAUgBkEBajYCgAEgBUGEAWogBBDbAwJAIAUoAoQBRQ0AIAFBzABqKAIAIQ0gAUHQAGooAgAhDCABQdgAaigCACEWIAFB3ABqKAIAIRQgAUHEAGooAgAhEiABQUBrKAIAIRcgAUEcaigCACEeIAVBuAFqIgRBDGohDiAEQRhqIQ9D//9/fyEgA0AgICAFKgKMAYxfDQECQAJAAkACQAJAAn8CQCAFKAKIASIEIBNJBEAgHiAEQQd0aiIKLQB4QQFxIgYEQCAKKAJgIgcgEkkhBCAXIAdBDGxqQQAgBBtBCGpBACAEGyEbIApB7ABqKAIAIgcgEkkhBCAXIAdBDGxqQQAgBBtBCGpBACAEGyEcIApB6ABqKAIAIgcgEkkhBCAXIAdBDGxqQQAgBBtBCGpBACAEGyEdIApB5ABqKAIAIgcgEkkhBCAXIAdBDGxqQQAgBBtBCGpBACAEGyEaCyAFIAM4AqwCIAUgAzgCqAIgBSADOAKkAiAFIAM4AqACIAVB4AFqIAogBSAFQaACahDeASAFIAUpA+ABNwOQASAFIAUpA+gBNwOYASAFKgLwASEiIAUqAvQBISQgBSoC+AEhISAFKgL8ASEjIAYEQCAFICAgI146AKMBIAUgICAhXjoAogEgBSAgICReOgChASAFICAgIl46AKABIAVB4AFqIAVBkAFqIAVBoAFqENcJQwAAAAAhJEEAIRBBACEHQwAAAAAhIiAFLQDgASAFLQDhAUEBdHIgBS0A4gFBAnRyIAUtAOMBQQN0ciIRrSIqQgGDUA0CIBtFDQIgFCAbKAIAIgZNDQQgDCAWIAZBDGxqIgcoAgAiCU0NBSAMIAcoAgQiBE0NBiAMIAcoAggiC00NByAPIA0gC0EMbGoiBykCADcCACAOIA0gBEEMbGoiBCkCADcCACAPQQhqIAdBCGooAgA2AgAgBUG4AWoiB0EIaiANIAlBDGxqIghBCGooAgA2AgAgDkEIaiAEQQhqKAIANgIAIAUgCCkCADcDuAEgBUHgAWogASAGEIkCIAVBoAJqIAcgDiAPIAIQgwICQCAFKAKgAkEERwRAIAUqAqgCIiYgA18NAQtBACEHDAMLQQEhByAmISIMAgtBACEYIAUoApABIgYhB0EAIQhBACEQQQAMAgsgBCATQeibwgAQ7QgACwJAICpC/wGDIipCAoNQDQAgGkUNACAUIBooAgAiBk0NAiAMIBYgBkEMbGoiCCgCACIJTQ0DIAwgCCgCBCIETQ0EIAwgCCgCCCILTQ0FIA8gDSALQQxsaiIIKQIANwIAIA4gDSAEQQxsaiIEKQIANwIAIA9BCGogCEEIaigCADYCACAFQbgBaiIIQQhqIA0gCUEMbGoiCUEIaigCADYCACAOQQhqIARBCGooAgA2AgAgBSAJKQIANwO4ASAFQeABaiABIAYQiQIgBUGgAmogCCAOIA8gAhCDAgJAIAUoAqACQQRGDQAgBSoCqAIiJyADX0UNAEEBIRAgJyEkCwtDAAAAACEjQQAhGEMAAAAAISECf0EAICpCBINQDQAaQQAgHUUNABogFCAdKAIAIgZNDQIgDCAWIAZBDGxqIggoAgAiCU0NAyAMIAgoAgQiBE0NBCAMIAgoAggiC00NBSAPIA0gC0EMbGoiCCkCADcCACAOIA0gBEEMbGoiBCkCADcCACAPQQhqIAhBCGooAgA2AgAgBUG4AWoiCEEIaiANIAlBDGxqIglBCGooAgA2AgAgDkEIaiAEQQhqKAIANgIAIAUgCSkCADcDuAEgBUHgAWogASAGEIkCIAVBoAJqIAggDiAPIAIQgwICQCAFKAKgAkEERg0AIAUqAqgCIiEgA19FDQAgISEoQQEMAQtDAAAAACEhQQALIQgCQCARQf8BcUEISQ0AIBxFDQAgFCAcKAIAIgZNDQIgDCAWIAZBDGxqIgsoAgAiCU0NAyAMIAsoAgQiBE0NBCAMIAsoAggiC00NBSAPIA0gC0EMbGoiCykCADcCACAOIA0gBEEMbGoiBCkCADcCACAPQQhqIAtBCGooAgA2AgAgBUG4AWoiC0EIaiANIAlBDGxqIglBCGooAgA2AgAgDkEIaiAEQQhqKAIANgIAIAUgCSkCADcDuAEgBUHgAWogASAGEIkCIAVBoAJqIAsgDiAPIAIQgwICQCAFKAKgAkEERg0AIAUqAqgCIiMgA19FDQBBASEYICMhKQwBC0MAAAAAISMLIBhBGHQgCEEQdHIgEEEIdHIgB3IhBiAHCyEEIApB+ABqIQkgBkEVdkEIcSAGQQ52QQRxIAdBAXEgBkEHdkECcXJyciILrSIqQgGDUA0EIAktAABBAXEEQCAgICJeRQ0FIARFDQUgCigCYCASTw0FQQEhGSAmISUgIiEgDAULIAooAmAiESATTw0EICKMISIgBSgCgAEiBiEEIAUoAnggBkYEQCAFQfgAaiAGELAGIAUoAoABIQQLIAUoAnwiByAEQQN0aiIVICI4AgQgFSARNgIAIAUgBEEBajYCgAEgByAGQQN0aiIEKgIEISIgBCgCACERAkAgBkUEQEEAIQQMAQsDQCAiIAcgBkEBayIVQQF2IgRBA3RqIh9BBGoqAgBeRQRAIAYhBAwCCyAHIAZBA3RqIB8pAgA3AgAgBCEGIBVBAUsNAAsLIAcgBEEDdGoiBCAiOAIEIAQgETYCAAwECyAGIBRB1P3CABDtCAALIAkgDEHk/cIAEO0IAAsgBCAMQfT9wgAQ7QgACyALIAxBhP7CABDtCAALAkAgKkICg1ANACAJLQAAQQFxBEAgICAkXkUNASAQRQ0BIApB5ABqKAIAIBJPDQFBASEZICchJSAkISAMAQsgCkHkAGooAgAiECATTw0AICSMISIgBSgCgAEiBiEEIAUoAnggBkYEQCAFQfgAaiAGELAGIAUoAoABIQQLIAUoAnwiByAEQQN0aiIRICI4AgQgESAQNgIAIAUgBEEBajYCgAEgByAGQQN0aiIEKgIEISIgBCgCACEQAkAgBkUEQEEAIQQMAQsDQCAiIAcgBkEBayIRQQF2IgRBA3RqIhVBBGoqAgBeRQRAIAYhBAwCCyAHIAZBA3RqIBUpAgA3AgAgBCEGIBFBAUsNAAsLIAcgBEEDdGoiBCAiOAIEIAQgEDYCAAsCQCAqQgSDUA0AIAktAABBAXEEQCAgICFeRQ0BIAhFDQEgCkHoAGooAgAgEk8NAUEBIRkgKCElICEhIAwBCyAKQegAaigCACIIIBNPDQAgIYwhISAFKAKAASIGIQQgBSgCeCAGRgRAIAVB+ABqIAYQsAYgBSgCgAEhBAsgBSgCfCIHIARBA3RqIhAgITgCBCAQIAg2AgAgBSAEQQFqNgKAASAHIAZBA3RqIgQqAgQhISAEKAIAIQgCQCAGRQRAQQAhBAwBCwNAICEgByAGQQFrIhBBAXYiBEEDdGoiEUEEaioCAF5FBEAgBiEEDAILIAcgBkEDdGogESkCADcCACAEIQYgEEEBSw0ACwsgByAEQQN0aiIEICE4AgQgBCAINgIACwJAIAtBCEkNACAJLQAAQQFxBEAgICAjXkUNASAYRQ0BIApB7ABqKAIAIBJPDQFBASEZICkhJSAjISAMAQsgCkHsAGooAgAiCCATTw0AICOMISEgBSgCgAEiBCEHIAUoAnggBEYEQCAFQfgAaiAEELAGIAUoAoABIQcLIAUoAnwiBiAHQQN0aiIKICE4AgQgCiAINgIAIAUgB0EBajYCgAEgBiAEQQN0aiIHKgIEISEgBygCACEIAkAgBEUEQEEAIQcMAQsDQCAhIAYgBEEBayIKQQF2IgdBA3RqIglBBGoqAgBeRQRAIAQhBwwCCyAGIARBA3RqIAkpAgA3AgAgByEEIApBAUsNAAsLIAYgB0EDdGoiBCAhOAIEIAQgCDYCAAsgBUGEAWogBUH4AGoQ2wMgBSgChAENAAsLIAUoAnhFDQAgBSgCfBCVAgsgACAlOAIEIAAgGTYCACAFQdACaiQAC74aAxp/An0EfiMAQdAAayIIJAAgAEEkaiIVKAIAIQUgFUEANgIAAkAgBQRAIABBIGooAgAiFiAFQQxsaiEaIAFBHGohGyACKAIIIQsgAigCBCEPIAIoAgwhFQNAIAhBCGogFkEIaigCADYCACAIIBYpAgA3AwAgCEEMaiAAIAgQjgQCQCAIKAIMDQACQAJAAkACQAJAAkACQAJAIAgoAhQiHEEEayIZKAIAIgUgCCgCECIMKAIIIgRJBEAgDCgCBCAFQRRsaigCECIFIAtPDQkgD0UNCSAPIAVBLGxqIgUoAgBFDQEgBSgCBCEKIAVBADYCBCAKRQ0BIAotAJABRQRAIAooAowBIQQMCAsgACwAPCEQIApB5ABqKAIAIREgCkHoAGooAgAhEyAKQewAaigCACEUIAooAggiDUUEQEEAIQlBACEEQQAhBQwDCyAKKAIEQQRqIQZBACEHA0ACQCAGKAIAIgVB/////wdxIgRB/////wdGDQAgBCALTw0GIA8gBEEsbGoiDioCDEP///9+XA0AQQAhCQJAIAQgFE8NACAEQQV2IgQgE08NACARIARBAnRqIgQoAgAiBkEBIAV0IgVxRQ0AIAQgBiAFQX9zcTYCACAOLAApIBBMIQkLQQEhBSAHQQFqIQQMBAsgBkEIaiEGIA0gB0EBaiIHRw0AC0EAIQlBACEFDAMLIAUgBEH09sAAEO0IAAtB2MDAAEErQazxwQAQuQoACyAEIA1GDQAgDSAEayEHIAooAgQgBEEDdGohBgNAAkACQCAGQQRqKAIAIg5B/////wdxIgRB/////wdGDQAgBCALTw0IIA8gBEEsbGoiFyoCDEP///9+XA0AAkAgBCAUTw0AIARBBXYiBCATTw0AIBEgBEECdGoiBCgCACISQQEgDnQiDnFFDQAgBCASIA5Bf3NxNgIAIAkgFywAKSAQTGohCQsgBUEBaiEFDAELIAYgBUEDdGsgBikCADcCAAsgBkEIaiEGIAdBAWsiBw0ACwsgCiANIAVrNgIIIAogCigCjAEgCWsiFzYCjAECQAJAIApBKGooAgAiDUUEQEEAIQlBACEEQQAhBQwBCyAKQSRqKAIAQQRqIQZBACEHA0ACQCAGKAIAIgVB/////wdxIgRB/////wdGDQAgBCALTw0EIA8gBEEsbGoiDioCDEP///9+XA0AQQAhCQJAIAQgFE8NACAEQQV2IgQgE08NACARIARBAnRqIgQoAgAiBkEBIAV0IgVxRQ0AIAQgBiAFQX9zcTYCACAOLAApIBBMIQkLQQEhBSAHQQFqIQQMAgsgBkEIaiEGIA0gB0EBaiIHRw0AC0EAIQlBACEFDAELIAQgDUYNACAKQSRqKAIAIARBA3RqIQYgDSAEayEHA0ACQAJAIAZBBGooAgAiDkH/////B3EiBEH/////B0YNACAEIAtPDQggDyAEQSxsaiISKgIMQ////35cDQACQCAEIBRPDQAgBEEFdiIEIBNPDQAgESAEQQJ0aiIEKAIAIhhBASAOdCIOcUUNACAEIBggDkF/c3E2AgAgCSASLAApIBBMaiEJCyAFQQFqIQUMAQsgBiAFQQN0ayAGKQIANwIACyAGQQhqIQYgB0EBayIHDQALCyAKIA0gBWs2AiggCkHIAGooAgAiDkUEQEEAIQ1BACEEQQAhBQwCCyAKQcQAaigCAEEEaiEGQQAhBwNAAkAgBigCACIFQf////8HcSIEQf////8HRg0AIAQgC08NAiAPIARBLGxqIhIqAgxD////flwNAEEAIQ0CQCAEIBRPDQAgBEEFdiIEIBNPDQAgESAEQQJ0aiIEKAIAIgZBASAFdCIFcUUNACAEIAYgBUF/c3E2AgAgEiwAKSAQTCENC0EBIQUgB0EBaiEEDAMLIAZBCGohBiAOIAdBAWoiB0cNAAtBACENQQAhBQwCCyAEIAtByOzBABDtCAALIAQgDkYNACAKQcQAaigCACAEQQN0aiEGIA4gBGshBwNAAkACQCAGQQRqKAIAIhJB/////wdxIgRB/////wdGDQAgBCALTw0FIA8gBEEsbGoiGCoCDEP///9+XA0AAkAgBCAUTw0AIARBBXYiBCATTw0AIBEgBEECdGoiBCgCACIdQQEgEnQiEnFFDQAgBCAdIBJBf3NxNgIAIA0gGCwAKSAQTGohDQsgBUEBaiEFDAELIAYgBUEDdGsgBikCADcCAAsgBkEIaiEGIAdBAWsiBw0ACwsgCkEAOgCQASAKIA4gBWs2AkggCiAXIAkgDWprIgQ2AowBCwJAAkACQAJAAkACQAJAAkACQAJAAkAgCEH/////BwJ/AkAgBEUEQAJ/IAwoAgwiBSAca0ECdSEGQYABIAUgBmoiBykAACIgQgGGICCDQoCBgoSIkKDAgH+DeqdBA3YgBSAMQRBqKAIAIAZBCGtxaiIFKQAAIiBCAYYgIINCgIGChIiQoMCAf4N5p0EDdmpBB0sNABogDEEUaiIEIAQoAgBBAWo2AgBB/wELIQQgByAEOgAAIAVBCGogBDoAACAMQRhqIgUgBSgCAEEBazYCACAMKAIIIgUgGSgCACIETQ0EIAwgBUEBayIHNgIIIAwoAgQiBiAHQRRsaiIFQRBqKAIAIQkgBUEIaikCACEgIAYgBEEUbGoiBiAFKQIANwIAIAZBCGogIDcCACAGQRBqIhAoAgAhBSAQIAk2AgAgBCAHSQRAIAwoAgwiCUEEayERIAYoAgAiBkEZdq1CgYKEiJCgwIABfiEiIAwoAhAhDEEAIRADQCAGIAxxIgYgCWopAAAiISAihSIgQoGChIiQoMCAAX0gIEJ/hYNCgIGChIiQoMCAf4MhIANAICBQBEAgISAhQgGGg0KAgYKEiJCgwIB/g1AEQCAGIBBBCGoiEGohBgwDC0GU9cAAQQ9BpPXAABDvCQALICB6ISMgIEIBfSAggyEgIBEgI6dBA3YgBmogDHEiE0ECdGsoAgAgB0cNAAsLIAlBACATa0ECdGpBBGsgBDYCAAsgAUUNAyAKQYgBaigCACEGIAggBTYCJCAFIAtPDQMgDyAFQSxsaiIEQRRqKgIAIARBIGoqAgCSQwAAAD+UIAEqAjQiH5WOIh5DAAAAz2AhCSAei0MAAABPXUUNASAeqAwCCyAZKAIAIgUgDCgCCCIETw0EIAwoAgQgBUEUbGooAhAiBSALTw0FAkAgDyAFQSxsaiIFKAIARQ0AIAUoAgQiBEUNACAEEJQFCyAFIAo2AgQgBUEBNgIADA4LQYCAgIB4C0GAgICAeCAJGyAeQ////05eG0EAIB4gHlsbNgIwIARBEGoqAgAgBEEcaioCAJJDAAAAP5QgH5WOIh5DAAAAz2AhCSAIQf////8HAn8gHotDAAAAT10EQCAeqAwBC0GAgICAeAtBgICAgHggCRsgHkP///9OXhtBACAeIB5bGzYCLCAEKgIMIARBGGoqAgCSQwAAAD+UIB+VjiIeQwAAAM9gIQQgCEH/////BwJ/IB6LQwAAAE9dBEAgHqgMAQtBgICAgHgLQYCAgIB4IAQbIB5D////Tl4bQQAgHiAeWxs2AiggASAIQShqENYEIgRFDQAgBCgCACIEIAtPDQQgDyAEQSxsaiIEKAIARQ0PIAQoAgQiBEUNBSAELQCQAUUEQCABKAIkIgcgASgCHEYEQCAbIAcQsgYgASgCJCEHCyABKAIgIAdBDGxqIgkgCCkCKDcCACAJQQhqIAhBMGooAgA2AgAgASAHQQFqNgIkIARBAToAkAELIARBhAFqKAIAIgcgBk0NBiAEQYABaigCACIMIAZBAnQiEGoiESgCACEJIBEgDCAHQQFrIgdBAnRqKAIANgIAIAQgBzYChAEgCCAJNgI0IAkgCCgCJEcNByAGIAdPDQAgBCgCgAEgEGooAgAiBCALTw0IIA8gBEEsbGoiBCgCAEUNDyAEKAIEIgRFDQkgBCAGNgKIAQsgBSALTw0JIAIgBTYCDCAPIAVBLGxqIgQgFTYCJCAEQv////f3/////gA3AgwgBEEcakL////39/////4ANwIAIARBFGpC////9/f////+ADcCACADKAIIIgQgAygCAEYEQCADIAQQswYgAygCCCEECyADIARBAWo2AgggAygCBCAEQQJ0aiAKNgIAIAUhFQwLCyAEIAVB6NLAABDqCAALIAUgBEH09sAAEO0IAAsgBSALQczxwQAQ7QgACyAEIAtBrPDBABDtCAALQdjAwABBK0Gw88EAELkKAAsgBiAHQejSwAAQ6ggACyAIQQA2AjhBACAIQTRqIAhBJGogCEE4akG88MEAEPMKAAsgBCALQczwwQAQ7QgAC0HYwMAAQStBsPPBABC5CgALIAUgC0G88cEAEO0IAAsgBCALQcjswQAQ7QgACyAaIBZBDGoiFkcNAAsLIAhB0ABqJAAPCyAIQcQAakIANwIAIAhBATYCPCAIQZjzwQA2AjggCEH8vMAANgJAIAhBOGpBwPPBABDvCgALwRsCCn8CfiMAQYACayIFJAAgACgCBCEGAkACQAJAAkACQAJAAkACQAJAIAAoAgBBAWsOAgIBAAsgBUGAlOvcAzYC2AEgBSAGNgIgIAVB4ABqQgA3AwAgBUHQAGpBgJTr3AM2AgAgBUIANwNYIAVBgJTr3AM2AkAgBUEANgJoIAYoAkAhACAGKALIASEHIAUgBUE4aiIBNgJ4AkAgACAHcQ0AIAZByAFqIQogBkFAayECIAVBuAFqIQ0gBUE4aiEBA0BBACEIA0ACQAJAIAYoAswBIg4gB0EBayAAcSIHQRxsaigCGCIEIABHBEACfyAGKALEASAEaiAAQQFqRwRAIAhBBk0EQEEAIQADQCAAIAh2IQQgAEEBaiEAIARFDQALCyAIQQtJDAELIAYoAsQBIAYoAgBqIABGDQJBBiAIIAhBBk8bIQRBACEAA0AgACAEdiEHIABBAWohACAHRQ0ACyAIQQdJCyEHIAIoAgAhAAwCCwJ/IAYoAsABIAdBAWpNBEAgAEEAIAYoAsQBIgRrcSAEagwBCyAAQQFqCyELIAIoAgAiBCAARiEMIAIgCyAEIAwbNgIAIAwEQCABQSRqIABBAWo2AgAgASAOIAdBHGxqNgIgDAgLQQYgCCAIQQZPGyEHQQAhAANAIAAgB3YhCyAAQQFqIQAgC0UNAAsgCEEHSSEHIAQhAAwBCyAJQQtHBEAgCUEGTQRAQQAhAANAIAAgCXYhASAAQQFqIQAgAUUNAAsLIAUoAiAiBkHIAWohCiAGQUBrIQIgCUEBaiEJIAUoAnghASAGKAJAIgAgBigCyAEiB3FFDQMMBAsCQCAFKALYASIBQYCU69wDRg0AIAUpA9ABIQ8Q7QogDyAFKQMIIhBWDQBBACEAIA8gEFINCCAFKAIQIAFPDQgLAkBBtPrDACgCAA0AEPkHIQFBuPrDACgCACEAQbj6wwAgATYCAEG0+sMAKAIAIQFBtPrDAEEBNgIAIAUgADYCuAEgBSABNgK0ASABRQ0AIABFDQAgACAAKAIAIgBBAWs2AgAgAEEBRw0AIA0Q5QkLQbj6wwAoAgAhAEG4+sMAQQA2AgACQCAARQRAIAUQ+QciADYCkAEgBSAFQdABajYCvAEgBSAFQSBqNgK4ASAFIAVB+ABqNgK0ASAFQbQBaiAFQZABahCQBSAAIAAoAgAiAEEBazYCACAAQQFHDQEgBUGQAWoQ5QkMAQsgAEEUakIANwIAIAUgADYCkAEgBSAFQdABajYCvAEgBSAFQSBqNgK4ASAFIAVB+ABqNgK0ASAFQbQBaiAFQZABahCQBUG4+sMAKAIAIQFBuPrDACAANgIAIAUgATYCtAEgAUUNACABIAEoAgAiAEEBazYCACAAQQFHDQAgBUG0AWoQ5QkLIAUoAiAiBkHIAWohCiAGQUBrIQJBACEJIAUoAnghASAGKAJAIgAgBigCyAEiB3FFDQIMAwsgByAIaiEIIAooAgAiByAAcUUNAAsLCyABQgA3AyAMAgsgBUGAlOvcAzYCKCAFIAY2AhwgBUHgAGpCADcDACAFQdAAakGAlOvcAzYCACAFQgA3A1ggBUGAlOvcAzYCQEEAIQEgBUEANgJoIAUgBUE4ajYCNCAFIAYtAAAiADoAtAEgBkEBOgAAAkACQAJAIABFBEBB7IDEACgCAEH/////B3EEQEG8hMQAKAIAQQBHIQELIAYtAAENAgJAAkACQAJAAkACQCAGQSRqKAIAIgBFDQACf0HA+sMAKQMAIg9CAFIEQCAGQSBqKAIAIgggAEEMbGoMAQsQoQgiACgCACECIAAgAkEBazYCACAFIAA2AtABIAApAwghDyACQQFGBEAgBUHQAWoQxgkLQcD6wwAgDzcDACAGKAIkIgBFDQEgBkEgaigCACIIIABBDGxqCyECQQAhAEEBIQcDQAJAIAAgCGoiCSgCACIKKQMIIA9RDQAgCkEUaiILKAIAIQQgCyAEIAlBBGooAgAgBBs2AgAgBA0AIAdBAWshBCAJQQhqKAIAIgIEQCAKQRhqIAI2AgALIAYoAiQiAiAETQ0JIAYoAiAgAGoiBCgCACEAIARBBGopAgAhDyAEIARBDGogAiAHa0EMbBChDRogBiACQQFrNgIkIABFDQIgBSgCNCECIAUgDzcC1AEgAkEwaiICIA9CIIg+AgAgBSAANgLQAQJAIAENAEHsgMQAKAIAQf////8HcUUNAEG8hMQAKAIARQ0AIAZBAToAAQsgBkEAOgAAIAIoAgAiAUUNAyABQQE6ABggASADKQIANwIAIAFBEGogA0EQaikCADcCACABQQhqIANBCGopAgA3AgAMBAsgB0EBaiEHIAggAEEMaiIAaiACRw0ACwsgBkE0ai0AAA0EIAMoAgAhACAFQYgBaiADQRRqKAIANgIAIAVBgAFqIANBDGopAgA3AwAgBSADKQIENwN4AkBBtPrDACgCAA0AEPkHIQNBuPrDACgCACECQbj6wwAgAzYCAEG0+sMAKAIAIQNBtPrDAEEBNgIAIAUgAjYC1AEgBSADNgLQASADRQ0AIAJFDQAgAiACKAIAIgJBAWs2AgAgAkEBRw0AIAVB1AFqEOUJC0G4+sMAKAIAIQJBuPrDAEEANgIAIAINAiAFEPkHIgI2ArQBIABBAkYNDiAFQdwBaiAFQYABaikDADcCACAFQeQBaiAFQYgBaigCADYCACAFQe8BaiAFQfcAai0AADoAACAFIAA2AtABIAUgBSkDeDcC1AEgBSABOgDsASAFIAY2AugBIAUgBS8AdTsA7QEgBSAFQRxqNgL4ASAFIAVBIGo2AvQBIAUgBUE0ajYC8AEgBUGQAWogBUHQAWogBUG0AWoQjwEgAiACKAIAIgBBAWs2AgAgAEEBRw0DIAVBtAFqEOUJDAMLIAMoAgBBAkcNBwsgACAAKAIAIgBBAWs2AgAgAEEBRgRAIAVB0AFqEOUJC0ECIQAMCQsgBSACNgKwASACQRRqQgA3AgAgAEECRg0LIAVB3AFqIAVB+ABqIgNBCGopAwA3AgAgBUHQAWoiBEEUaiADQRBqKAIANgIAIAVB7wFqIAVB9wBqLQAAOgAAIAUgADYC0AEgBSAFKQN4NwLUASAFIAE6AOwBIAUgBjYC6AEgBSAFLwB1OwDtASAFIAVBHGo2AvgBIAUgBUEgajYC9AEgBSAFQTRqNgLwASAFQbQBaiAEIAVBsAFqEI8BQbj6wwAoAgAhAEG4+sMAIAI2AgAgBSAANgLQAQJAIABFDQAgACAAKAIAIgBBAWs2AgAgAEEBRw0AIAVB0AFqEOUJCyAFQZABaiIAQQhqIAVBtAFqIgFBCGopAgA3AwAgAEEQaiABQRBqKQIANwMAIABBGGogAUEYaigCADYCACAFIAUpArQBNwOQAQsgBSgCkAEiAEEDRw0HEPkHGgwKCwJAIAENAEHsgMQAKAIAQf////8HcUUNAEG8hMQAKAIARQ0AIAZBAToAAQsgBkEAOgAAQQEhAAwGCyAFQgA3AtwBIAVB/LzAADYC2AEgBUEBNgLUASAFQezLwAA2AtABIAVBtAFqIAVB0AFqEPIKAAsgBCACQbzDwAAQ6wgACyAFIAE6ANQBIAUgBjYC0AFB3MPAAEErIAVB0AFqQeDIwABB8MjAABCICAALQdjAwABBK0HQyMAAELkKAAsgBigCQCIAQQFxDQIgBkHEAGooAgAhBEEAIQICQAJAAkACQANAIABBAXZBH3EiB0EfRgRAA0AgCEEGTQRAQQAhAANAIAAgCHYhASAAQQFqIQAgAUUNAAsLIAYoAkAiAEEBcQ0EIAggCEELSWohCCAAQQF2QR9xIgdBH0YNAAsgBigCRCEECwJAIAdBHkcNACACDQBBkfrDAC0AABpB6AZBBBCjDCICBEAgAkEAQegGEKINGgwBCwwLCwJAAn8CQAJAIARFBEBBkfrDAC0AABpB6AZBBBCjDCIBRQ0EIAFBAEHoBhCiDSEBIAYgBigCRCIEIAEgBBs2AkQgBA0BIAYgATYCBCABIQQLIAYgAEECaiAGKAJAIgEgACABRhs2AkAgACABRw0BIAdBHkcNByACRQ0FIAYgAjYCRCAGIAYoAkBBAmo2AkAgBCACNgIAQR4hBwwICyACBEAgAhCVAgsgBigCRCEEIAEhAiAGKAJADAELQQYgCCAIQQZPGyEHIAYoAkQhBEEAIQADQCAAIAd2IQkgAEEBaiEAIAlFDQALIAggCEEHSWohCCABCyIAQQFxRQ0BDAMLCwwJC0HYwMAAQStBzMfAABC5CgALQQAhBEEAIQcLIAIEQCACEJUCCyAERQ0DCyAEIAdBHGxqIgBBFGogA0EQaikCADcCACAAQQxqIANBCGopAgA3AgAgAEEEaiADKQIANwIAIABBHGoiACAAKAIAQQFyNgIAIAZBgAFqEOgBDAILIAUoAngiAUEgaigCACIABEAgBSgCICECIAAgAUEkaigCADYCGCAAIAMpAgA3AgAgAEEQaiADQRBqKQIANwIAIABBCGogA0EIaikCADcCACACQaABahDoAUECIQAMAQtBAkEBIAMoAgBBAkYbIQALIABFDQELIAVBgAJqJAAPC0G4xMAAQShBzMXAABC5CgALQdjAwABBK0HIxsAAELkKAAtBBEHoBkHYgMQAKAIAIgBBowcgABsRAAAAC94aAiB9A38jAEHwAGsiJCQAIAFBHGoqAgAhDSABQSBqKgIAIQ4gAUEQaioCACELIAEqAhghDyABKgIMIQogJCABQRRqKgIAIhUgASoCCCIHkyIMOAIQICQgCyABKgIEIgiTIhA4AgwgJCAKIAEqAgAiCZMiEjgCCCAkIA4gB5MiETgCHCAkIA0gCJMiEzgCGCAkIA8gCZMiFDgCFCAkIAIqAggiBiAHkyIaOAIoICQgAioCBCIFIAiTIhs4AiQgJCACKgIAIgQgCZMiHDgCIAJAAkACQAJAAkACQAJAIBIgHJQgECAblJIgDCAalJIiHUMAAAAAXyAUIByUIBsgE5SSIBogEZSSIh5DAAAAAF9xRQRAICQgBiAVkyIWOAI0ICQgBSALkyIXOAIwICQgBCAKkyIYOAIsIBIgGJQgECAXlJIgDCAWlJIiH0MAAAAAYCAUIBiUIBMgF5SSIBEgFpSSIiAgH19xDQEgJCAFIA2TIhk4AjwgJCAEIA+TIiE4AjggJCAGIA6TIiI4AkAgEiAhlCAQIBmUkiAMICKUkiIjIBQgIZQgEyAZlJIgESAilJIiGV8gGUMAAAAAYHENAiAkIA4gFZMiDjgCTCAkIA0gC5MiDTgCSCAkIA8gCpMiDzgCRCAkQdAAaiAkQQhqICRBFGogJEHEAGogJEEgaiAkQSxqICRBOGogHSAfIB4gGSAgICMQuQMgJCgCUEEBaw4DBAUGAwsCQAJAIAQgCVsNAEEAIQEgCYsiC0MAAIB/Ww0BIASLIgpDAACAf1sNASAJIASTiyIEQwAAADRfDQAgBCAKIAsgCiALXhtDAAAANJRfRQ0BCwJAIAUgCFsNAEEAIQEgCIsiBEMAAIB/Ww0BIAWLIgtDAACAf1sNASAIIAWTiyIFQwAAADRfDQAgBSALIAQgBCALXRtDAAAANJRfRQ0BC0EBIQEgBiAHWw0AQQAhASAHiyIFQwAAgH9bDQAgBosiBEMAAIB/Ww0AQQEhASAHIAaTiyIGQwAAADRfDQAgBiAEIAUgBCAFXhtDAAAANJRfIQELIABCADcCECAAIAE6AAwgACAHOAIIIAAgCDgCBCAAIAk4AgAMBgsCQAJAIAQgClsNAEEAIQEgCosiB0MAAIB/Ww0BIASLIghDAACAf1sNASAKIASTiyIEQwAAADRfDQAgBCAIIAcgByAIXRtDAAAANJRfRQ0BCwJAIAUgC1sNAEEAIQEgC4siBEMAAIB/Ww0BIAWLIgdDAACAf1sNASALIAWTiyIFQwAAADRfDQAgBSAHIAQgBCAHXRtDAAAANJRfRQ0BC0EBIQEgBiAVWw0AQQAhASAViyIFQwAAgH9bDQAgBosiBEMAAIB/Ww0AQQEhASAVIAaTiyIGQwAAADRfDQAgBiAEIAUgBCAFXhtDAAAANJRfIQELIABCgICAgBA3AhAgACABOgAMIAAgFTgCCCAAIAs4AgQgACAKOAIADAULAkACQCAEIA9bDQBBACEBIA+LIgdDAACAf1sNASAEiyIIQwAAgH9bDQEgDyAEk4siBEMAAAA0Xw0AIAQgCCAHIAcgCF0bQwAAADSUX0UNAQsCQCAFIA1bDQBBACEBIA2LIgRDAACAf1sNASAFiyIHQwAAgH9bDQEgDSAFk4siBUMAAAA0Xw0AIAUgByAEIAQgB10bQwAAADSUX0UNAQtBASEBIAYgDlsNAEEAIQEgDosiBUMAAIB/Ww0AIAaLIgRDAACAf1sNAEEBIQEgDiAGk4siBkMAAAA0Xw0AIAYgBCAFIAQgBV4bQwAAADSUXyEBCyAAQoCAgIAgNwIQIAAgAToADCAAIA44AgggACANOAIEIAAgDzgCAAwEC0MAAIA/IB0gEiASlCAQIBCUkiAMIAyUkpUiC5MhESAHIAwgC5SSIQcgCCAQIAuUkiEIAkACQCAJIBIgC5SSIgkgBFsNAEEAIQEgCYsiCkMAAIB/Ww0BIASLIgxDAACAf1sNASAJIASTiyIEQwAAADRfDQAgBCAMIAogCiAMXRtDAAAANJRfRQ0BCwJAIAUgCFsNAEEAIQEgCIsiBEMAAIB/Ww0BIAWLIgpDAACAf1sNASAIIAWTiyIFQwAAADRfDQAgBSAKIAQgBCAKXRtDAAAANJRfRQ0BC0EBIQEgBiAHWw0AQQAhASAHiyIFQwAAgH9bDQAgBosiBEMAAIB/Ww0AQQEhASAHIAaTiyIGQwAAADRfDQAgBiAEIAUgBCAFXhtDAAAANJRfIQELIABCATcCECAAIAE6AAwgACAHOAIIIAAgCDgCBCAAIAk4AgAgAEEcaiALOAIAIABBGGogETgCAAwDC0MAAIA/IB4gFCAUlCATIBOUkiARIBGUkpUiC5MhECAHIBEgC5SSIQcgCCATIAuUkiEIAkACQCAJIBQgC5SSIgkgBFsNAEEAIQEgCYsiCkMAAIB/Ww0BIASLIgxDAACAf1sNASAJIASTiyIEQwAAADRfDQAgBCAMIAogCiAMXRtDAAAANJRfRQ0BCwJAIAUgCFsNAEEAIQEgCIsiBEMAAIB/Ww0BIAWLIgpDAACAf1sNASAIIAWTiyIFQwAAADRfDQAgBSAKIAQgBCAKXRtDAAAANJRfRQ0BC0EBIQEgBiAHWw0AQQAhASAHiyIFQwAAgH9bDQAgBosiBEMAAIB/Ww0AQQEhASAHIAaTiyIGQwAAADRfDQAgBiAEIAUgBCAFXhtDAAAANJRfIQELIABCgYCAgCA3AhAgACABOgAMIAAgBzgCCCAAIAg4AgQgACAJOAIAIABBHGogCzgCACAAQRhqIBA4AgAMAgtDAACAPyAPIBiUIBcgDZSSIBYgDpSSIA8gD5QgDSANlJIgDiAOlJKVIgeTIRAgFSAOIAeUkiEIIAsgDSAHlJIhCQJAAkAgCiAPIAeUkiILIARbDQBBACEBIAuLIgpDAACAf1sNASAEiyIMQwAAgH9bDQEgCyAEk4siBEMAAAA0Xw0AIAQgDCAKIAogDF0bQwAAADSUX0UNAQsCQCAFIAlbDQBBACEBIAmLIgRDAACAf1sNASAFiyIKQwAAgH9bDQEgCSAFk4siBUMAAAA0Xw0AIAUgCiAEIAQgCl0bQwAAADSUX0UNAQtBASEBIAYgCFsNAEEAIQEgCIsiBUMAAIB/Ww0AIAaLIgRDAACAf1sNAEEBIQEgCCAGk4siBkMAAAA0Xw0AIAYgBCAFIAQgBV4bQwAAADSUXyEBCyAAQoGAgIAQNwIQIAAgAToADCAAIAg4AgggACAJOAIEIAAgCzgCACAAQRxqIAc4AgAgAEEYaiAQOAIADAELAkAgJCoCWCAkKgJcIgWSICQqAmAiBpIiBEMAAAAAWwRAIANFBEAgGCAYlCAXIBeUkiAWIBaUkiAgIB+TIgYgBiAjkiAZk5UiBiAGIA8gD5QgDSANlJIgDiAOlJKUlJMhFiAcIByUIBsgG5SSIBogGpSSIgQgHSAdIB+TlSIFIAUgEiASlCAQIBCUkiAMIAyUkpSUkyIXIAQgHiAeIBmTlSIEIAQgFCAUlCATIBOUkiARIBGUkpSUkyIYXUUEQCAWIBheRQRAIBUgDiAGlJIhByALIA0gBpSSIQggCiAPIAaUkiEJQQEhAQwECyAHIBEgBJSSIQcgCCATIASUkiEIIAkgFCAElJIhCUECIQEgBCEGDAMLIBYgF15FBEAgFSAOIAaUkiEHIAsgDSAGlJIhCCAKIA8gBpSSIQlBASEBDAMLIAcgDCAFlJIhByAIIBAgBZSSIQggCSASIAWUkiEJQQAhASAFIQYMAgsgAEEDNgIQIABBAToADCAAIAIpAgA3AgAgAEEIaiACQQhqKAIANgIADAILICQoAlQhJSAkQeQAaiIBQQhqIiYgESAGQwAAgD8gBJUiBJQiBpQgByAMIAUgBJQiBZSSkjgCACAkIBMgBpQgCCAQIAWUkpI4AmggJCAUIAaUIAkgEiAFlJKSOAJkQQAhAwJAAkAgASoCACIEIAIqAgAiB1sNACAEiyIIQwAAgH9bDQEgB4siCUMAAIB/Ww0BIAQgB5OLIgRDAAAANF8NACAEIAkgCCAIIAldG0MAAAA0lF9FDQELAkAgASoCBCIEIAIqAgQiB1sNACAEiyIIQwAAgH9bDQEgB4siCUMAAIB/Ww0BIAQgB5OLIgRDAAAANF8NACAEIAkgCCAIIAldG0MAAAA0lF9FDQELQQEhAyABKgIIIgQgAioCCCIHWw0AQQAhAyAEiyIIQwAAgH9bDQAgB4siCUMAAIB/Ww0AQQEhAyAEIAeTiyIEQwAAADRfDQAgBCAJIAggCCAJXRtDAAAANJRfIQMLIABBCGogJigCADYCACAAICQpAmQ3AgAgAEEgaiAGOAIAIABBHGogBTgCACAAQRhqQwAAgD8gBZMgBpM4AgAgAEEUaiAlNgIAIABBAjYCECAAIAM6AAwMAQsgAEEBNgIQIABBAToADCAAIAc4AgggACAIOAIEIAAgCTgCACAAQRxqIAY4AgAgAEEYakMAAIA/IAaTOAIAIABBFGogATYCAAsgJEHwAGokAAulGQMmfwh9CX4jAEHgA2siBSQAIAUgAjYCZCAFIAE2AmAgBSAEOgBsIAUgAzgCaCAFIAIqAgwiKzgCPCAFICs4AjggBSArOAI0IAUgKzgCMCAFIAIqAggiKzgCLCAFICs4AiggBSArOAIkIAUgKzgCICAFIAIqAgQiKzgCHCAFICs4AhggBSArOAIUIAUgKzgCECAFIAIqAgAiKzgCDCAFICs4AgggBSArOAIEIAUgKzgCACAFIAJBFGoqAgAiKzgCXCAFICs4AlggBSArOAJUIAUgKzgCUCAFIAJBEGoqAgAiKzgCTCAFICs4AkggBSArOAJEIAUgKzgCQAJAAkAgAUE4aigCACIXBEAgBUEANgKEASAFQoCAgIDAADcCfCAFQfwAaiIGQQAQsAYgBSgCgAEgBSgChAEiDUEDdGpCgICAgPD///9+NwIAIAUgDUEBajYChAEgBUGUAWogBhDbAwJAAkAgBSgClAFFBEBBBCENDAELIAFBEGooAgAhESABQRRqKAIAIQ4gAUHcAGooAgAhDyABQdgAaigCACESIAFBNGooAgAhJCABKAIEIQkgASgCCCEIIAVB4AFqIgFB5ABqIR0gBUGoAmohHiAFQYwCaiEfIAFBEGohICABQQxqIQogBUHMA2ohC0P//39/IStBBCENAkADQCArIAUqApwBjF8NAgJAAkACQAJAAkACQAJAAkAgBSgCmAEiASAXSQRAICQgAUEHdGoiDC0AeEEBcSIGBEAgDCgCYCIHIA9JIQEgEiAHQQxsakEAIAEbQQhqQQAgARshGCAMQewAaigCACIHIA9JIQEgEiAHQQxsakEAIAEbQQhqQQAgARshGSAMQegAaigCACIHIA9JIQEgEiAHQQxsakEAIAEbQQhqQQAgARshGiAMQeQAaigCACIHIA9JIQEgEiAHQQxsakEAIAEbQQhqQQAgARshEwsgBSADOALMAyAFIAM4AsgDIAUgAzgCxAMgBSADOALAAyAFQeABaiAMIAUgBUHAA2oQ3gEgBSAFKQPgATcD4AIgBSAFKQPoATcD6AIgBSoC8AEhLSAFKgL0ASEsIAUqAvgBIS4gBSoC/AEhLyAGRQ0BIAUgKyAvXjoAswMgBSArIC5eOgCyAyAFICsgLF46ALEDIAUgKyAtXjoAsAMgBUHgAWogBUHgAmogBUGwA2oQ1wlCACE3QgQhNEMAAAAAITBBACEUQQAhB0MAAAAAIS1CBCEzQgAhOCAFLQDgASAFLQDhAUEBdHIgBS0A4gFBAnRyIAUtAOMBQQN0ciIQrSI1QgGDUA0CIBhFDQIgDiAYKAIAIgFNDQMgCCARIAFBA3RqIgYoAgAiAU0NBCAIIAYoAgQiBk0NBSALIAkgBkEMbGoiBikCADcCACALQQhqIAZBCGooAgA2AgAgBUHAA2oiBkEIaiAJIAFBDGxqIgFBCGooAgA2AgAgBSABKQIANwPAAyAFQeABaiAGIAIgAyAEEOMBIAUoAuABQQRGDQIgGCgCACElIAVBqANqIApBCGooAgA2AgAgBSAKKQIANwOgAyAFKQPgASIzQoCAgIBwgyE4QQEhByAFKgLoASEtDAILIAEgF0Hom8IAEO0IAAtCBCE1IAUoAuACIgchAUIEITZCBCE0QgQhMwwFCwJAIDVC/wGDIjtCAoNQDQAgE0UNACAOIBMoAgAiAU0NASAIIBEgAUEDdGoiBigCACIBTQ0CIAggBigCBCIGTQ0DIAsgCSAGQQxsaiIGKQIANwIAIAtBCGogBkEIaigCADYCACAFQcADaiIGQQhqIAkgAUEMbGoiAUEIaigCADYCACAFIAEpAgA3A8ADIAVB4AFqIAYgAiADIAQQ4wEgBSgC4AFBBEYNACATKAIAISEgBUGYA2ogCkEIaigCADYCACAFIAopAgA3A5ADIAUpA+ABIjRCgICAgHCDITdBgAIhFCAFKgLoASEwC0IEITVDAAAAACExQQAhFUIAITlCACE6QgQhNkEAIRYCfUMAAAAAIDtCBINQDQAaQwAAAAAgGkUNABogDiAaKAIAIgFNDQEgCCARIAFBA3RqIgYoAgAiAU0NAiAIIAYoAgQiBk0NAyALIAkgBkEMbGoiBikCADcCACALQQhqIAZBCGooAgA2AgAgBUHAA2oiBkEIaiAJIAFBDGxqIgFBCGooAgA2AgAgBSABKQIANwPAAyAFQeABaiAGIAIgAyAEEOMBQwAAAAAgBSgC4AFBBEYNABogGigCACEmIAVBiANqIApBCGooAgA2AgAgBSAKKQIANwOAAyAFKQPgASI2QoCAgIBwgyE6QYCABCEWIAUqAugBCyEyIBBB/wFxQQhJDQMgGUUNAyAOIBkoAgAiAU0NACAIIBEgAUEDdGoiBigCACIBTQ0BIAggBigCBCIGTQ0CIAsgCSAGQQxsaiIGKQIANwIAIAtBCGogBkEIaigCADYCACAFQcADaiIGQQhqIAkgAUEMbGoiAUEIaigCADYCACAFIAEpAgA3A8ADIAVB4AFqIAYgAiADIAQQ4wEgBSgC4AFBBEYNAyAZKAIAIScgBUH4AmogCkEIaigCADYCACAFIAopAgA3A/ACIAUpA+ABIjVCgICAgHCDITlBgICACCEVIAUqAugBITEMAwsgASAOQYDKwgAQ7QgACyABIAhBkMrCABDtCAALIAYgCEGgysIAEO0IAAsgBUHIAWogBUGYA2ooAgA2AgAgBUG4AWogBUGIA2ooAgA2AgAgBUGoAWogBUH4AmooAgA2AgAgBSAFKQOgAzcD0AEgBSAFKQOQAzcDwAEgBSAFKQOAAzcDsAEgBSAFKQPwAjcDoAEgBSAFQagDaigCADYC2AEgLbwhECAzp0EFRwRAIBVBgICACHEgFEGAAnEgFkGAgARxcnIgB3IhASA5QiCIpyEWIDpCIIinIRQgN0IgiKchFSA4QiCIpyEoIDAhLCAyIS4gMSEvDAELIBBBBEYNASAFQegBaiAFKALYATYCACAFIAUpA9ABNwPgASA0pyEiIBAhDSAhISMMAwsgDEH4AGohKSAFIC84AtwCIAUgLjgC2AIgBSAsOALUAiAFIC04AtACICAgBSkD0AE3AgAgIEEIaiAFKALYATYCACAfIAUpA8ABNwIAIB9BCGogBUHIAWooAgA2AgAgBSAQNgLsASAFICU2AuABIAUgMDgCiAIgBSAhNgL8ASAFIDI4AqQCIAUgJjYCmAIgBSAzQv////8PgyAorUIghoQ3AuQBIAUgNEL/////D4MgFa1CIIaENwKAAiAFIDZC/////w+DIBStQiCGhDcCnAIgHiAFKQOwATcCACAeQQhqIAVBuAFqKAIANgIAIB0gBSkDoAE3AgAgHUEIaiAFQagBaigCADYCACAFIDE4AsACIAUgNUL/////D4MgFq1CIIaENwK4AiAFICc2ArQCIAFBFXZBCHEgAUEOdkEEcSABQQd2QQJxIAdBAXFycnKtITRCACEzA0ACQCA0IDOIQgGDUA0AIDOnIQEgKS0AAEEBcUUEQCABQQJ0IgEgDGpB4ABqKAIAIhsgF08NASAFQdACaiABaioCAIwhLCAFKAKEASIBIQYgBSgCfCABRgRAIAVB/ABqIAEQsAYgBSgChAEhBgsgBSgCgAEiByAGQQN0aiIcICw4AgQgHCAbNgIAIAUgBkEBajYChAEgByABQQN0aiIGKgIEISwgBigCACEbAkAgAUUEQEEAIQYMAQsDQCAsIAcgAUEBayIcQQF2IgZBA3RqIipBBGoqAgBeRQRAIAEhBgwCCyAHIAFBA3RqICopAgA3AgAgBiEBIBxBAUsNAAsLIAcgBkEDdGoiASAsOAIEIAEgGzYCAAwBCyABQQJ0IgcgBUHQAmpqKgIAIiwgK11FDQAgBUHgAWogAUEcbGoiBigCBCIBQQRGDQAgByAMakHgAGooAgAgD08NACAFQZABaiAGQRBqKAIANgIAIAUgBikCCDcDiAEgBigCGCEiIAYoAhQhIyABIQ0gLCErCyAzQgF8IjNCBFINAAsgBUGUAWogBUH8AGoQ2wMgBSgClAENAQwDCwsgBUHoAWogBUGQAWooAgA2AgAgBSAFKQKIATcD4AELIAUoAnxFDQEgBSgCgAEQlQIMAQsgBUHoAWogBUGQAWooAgA2AgAgBSAFKQOIATcD4AEgBSgCfEUNACAFKAKAARCVAgsgDUEERw0BCyAAQQQ2AgAMAQsgACAFKQPgATcCBCAAICI2AhQgACAjNgIQIAAgDTYCACAAQQxqIAVB6AFqKAIANgIACyAFQeADaiQAC7IYAxZ/I30BfiMAQbABayIGJAAgBkEgaiAEIAEgBSgCiAERAQAgBkE0aioCACEoIAYqAighHiAGQTBqKgIAIR8gBioCJCEgIAYqAiAhHCAGKgIsIR0CQCACIAMoAhARBAAiCkEgaigCACIRBEAgBkEANgIQIAZCgICAgMAANwIIIAZBCGoiCEEAELAGIAYoAgwgBigCECIHQQN0akKAgICA8P///343AgAgBiAHQQFqNgIQIAZBFGogCBDbAwJAIAYoAhRFDQAgKCAek0MAAAA/lCEhIB8gIJNDAAAAP5QhIiAdIByTQwAAAD+UISMgHiAokkMAAAC/lCEkICAgH5JDAAAAv5QhJSAcIB2SQwAAAL+UISYgCkHEAGooAgAhDiAKQUBrKAIAIRIgCkEcaigCACEaQ///f38hHQNAIB0gBioCHIxfDQECQAJAAn8CfwJAIAYoAhgiByARSQRAIBogB0EHdGoiCS0AeEEBcSIIBEAgCSgCYCIHIA5JIQogEiAHQQxsakEAIAobQQhqQQAgChshFyAJQewAaigCACIHIA5JIQogEiAHQQxsakEAIAobQQhqQQAgChshGCAJQegAaigCACIHIA5JIQogEiAHQQxsakEAIAobQQhqQQAgChshGSAJQeQAaigCACIHIA5JIQogEiAHQQxsakEAIAobQQhqQQAgChshFQsgCUE0aioCACErIAlBOGoqAgAhLCAJQTxqKgIAIS0gCUFAayoCACEuIAlBxABqKgIAIS8gCUHIAGoqAgAhMCAJQcwAaioCACExIAlB0ABqKgIAITIgCUHUAGoqAgAhMyAJQdgAaioCACE0IAkqAgAhNSAJKgIEITYgCSoCCCE3IAkqAgwhOCAJKgIQITkgCSoCFCE6IAkqAhghOyAJKgIcITwgCSoCICEoIAkqAiQhHiAJKgIoIR8gCSoCLCEgIAkqAjAhHCAGICEgJCAJQdwAaioCAJKSOAJ8IAYgISAkIDSSkjgCeCAGICEgJCAzkpI4AnQgBiAhICQgMpKSOAJwIAYgIiAlIDGSkjgCbCAGICIgJSAwkpI4AmggBiAiICUgL5KSOAJkIAYgIiAlIC6SkjgCYCAGICMgJiAtkpI4AlwgBiAjICYgLJKSOAJYIAYgIyAmICuSkjgCVCAGICMgJiAckpI4AlAgBiAkICCSICGTOAJMIAYgJCAfkiAhkzgCSCAGICQgHpIgIZM4AkQgBiAkICiSICGTOAJAIAYgJSA8kiAikzgCPCAGICUgO5IgIpM4AjggBiAlIDqSICKTOAI0IAYgJSA5kiAikzgCMCAGICYgOJIgI5M4AiwgBiAmIDeSICOTOAIoIAYgJiA2kiAjkzgCJCAGICYgNZIgI5M4AiAgBkGAAWogBkEgahCgAiAGKgKMASEeIAYqAogBIR8gBioChAEhICAGKgKAASEcAkAgCARAIBwgHV0hCCAdICBeIQdDAAAAACEgQQAhFkEAIQxDAAAAACEcQQAgCCAHQQF0ciAdIB9eQQJ0ciAdIB5eQQN0ciILrSI/QgGDUA0EGkEAIBdFDQQaIBcoAgAhByAGQgA3ApQBIAYgBTYCrAEgBiAENgKoASAGIAE2AqQBIAYgADYCoAEgBiAGQZQBajYCnAEgAiAHIAZBnAFqQajHwgAgAygCDBECACAGKAKUAUUNAUEADAQLQQAhD0EAIRBBACEWQQAhDCAdICBeQQh0IBwgHV1yIB0gH15BEHRyIB0gHl5BGHRyDAQLIAYqApgBIilDAAAAAFwNAQwECyAHIBFB6JvCABDtCAALQQEhDCAdICkiHF4LIQoCf0EAID9CAoNQDQAaQQAgFUUNABogFSgCACEHIAZCADcClAEgBiAFNgKsASAGIAQ2AqgBIAYgATYCpAEgBiAANgKgASAGIAZBlAFqNgKcASACIAcgBkGcAWpBqMfCACADKAIMEQIAQQAgBigClAENABogBioCmAEiKkMAAAAAWw0CQQEhFiAqIiAgHV0LIQhDAAAAACEeQQAhDUEAIRBDAAAAACEfAn9BACA/QgSDUA0AGkEAIBlFDQAaIBkoAgAhByAGQgA3ApQBIAYgBTYCrAEgBiAENgKoASAGIAE2AqQBIAYgADYCoAEgBiAGQZQBajYCnAEgAiAHIAZBnAFqQajHwgAgAygCDBECAEEAIAYoApQBDQAaIAYqApgBIh9DAAAAAFsNAkEBIRAgHyE9IB0gH14LIQcCf0EAIAtBCEkNABpBACAYRQ0AGiAYKAIAIQ8gBkIANwKUASAGIAU2AqwBIAYgBDYCqAEgBiABNgKkASAGIAA2AqABIAYgBkGUAWo2ApwBIAIgDyAGQZwBakGox8IAIAMoAgwRAgBBACAGKAKUAQ0AGiAGKgKYASIeQwAAAABbDQIgHSAeXiENIB4hPkEBCyEPIA1BGHQgB0EQdHIgCEEIdHIgCnILIQcgCUH4AGohEyAHQRV2QQhxIAdBDnZBBHEgB0EHdkECcSAHQQFxcnJyIhutIj9CAYNQDQEgEy0AAEEBcQRAIBwgHV1FDQIgDEUNAiAJKAJgIA5PDQJBASEUICkhJyAcIR0MAgsgCSgCYCILIBFPDQEgHIwhHCAGKAIQIgghByAGKAIIIAhGBEAgBkEIaiAIELAGIAYoAhAhBwsgBigCDCIMIAdBA3RqIgogHDgCBCAKIAs2AgAgBiAHQQFqNgIQIAwgCEEDdGoiByoCBCEcIAcoAgAhDQJAIAhFBEBBACEHDAELA0AgHCAMIAhBAWsiC0EBdiIHQQN0aiIKQQRqKgIAXkUEQCAIIQcMAgsgDCAIQQN0aiAKKQIANwIAIAchCCALQQFLDQALCyAMIAdBA3RqIgcgHDgCBCAHIA02AgAMAQsgBigCCARAIAYoAgwQlQILQwAAAAAhJwwECwJAID9CAoNQDQAgEy0AAEEBcQRAIB0gIF5FDQEgFkUNASAJQeQAaigCACAOTw0BQQEhFCAqIScgICEdDAELIAlB5ABqKAIAIgsgEU8NACAgjCEcIAYoAhAiCCEHIAYoAgggCEYEQCAGQQhqIAgQsAYgBigCECEHCyAGKAIMIgwgB0EDdGoiCiAcOAIEIAogCzYCACAGIAdBAWo2AhAgDCAIQQN0aiIHKgIEIRwgBygCACENAkAgCEUEQEEAIQcMAQsDQCAcIAwgCEEBayILQQF2IgdBA3RqIgpBBGoqAgBeRQRAIAghBwwCCyAMIAhBA3RqIAopAgA3AgAgByEIIAtBAUsNAAsLIAwgB0EDdGoiByAcOAIEIAcgDTYCAAsCQCA/QgSDUA0AIBMtAABBAXEEQCAdIB9eRQ0BIBBFDQEgCUHoAGooAgAgDk8NAUEBIRQgPSEnIB8hHQwBCyAJQegAaigCACILIBFPDQAgH4whHCAGKAIQIgghByAGKAIIIAhGBEAgBkEIaiAIELAGIAYoAhAhBwsgBigCDCIQIAdBA3RqIgogHDgCBCAKIAs2AgAgBiAHQQFqNgIQIBAgCEEDdGoiByoCBCEcIAcoAgAhDQJAIAhFBEBBACEHDAELA0AgHCAQIAhBAWsiC0EBdiIHQQN0aiIKQQRqKgIAXkUEQCAIIQcMAgsgECAIQQN0aiAKKQIANwIAIAchCCALQQFLDQALCyAQIAdBA3RqIgcgHDgCBCAHIA02AgALAkAgG0EISQ0AIBMtAABBAXEEQCAdIB5eRQ0BIA9FDQEgCUHsAGooAgAgDk8NAUEBIRQgPiEnIB4hHQwBCyAJQewAaigCACIPIBFPDQAgHowhHCAGKAIQIgghByAGKAIIIAhGBEAgBkEIaiAIELAGIAYoAhAhBwsgBigCDCINIAdBA3RqIgogHDgCBCAKIA82AgAgBiAHQQFqNgIQIA0gCEEDdGoiByoCBCEcIAcoAgAhCwJAIAhFBEBBACEHDAELA0AgHCANIAhBAWsiD0EBdiIHQQN0aiIKQQRqKgIAXkUEQCAIIQcMAgsgDSAIQQN0aiAKKQIANwIAIAchCCAPQQFLDQALCyANIAdBA3RqIgcgHDgCBCAHIAs2AgALIAZBFGogBkEIahDbAyAGKAIUDQALCyAGKAIIBEAgBigCDBCVAgsgFA0BC0HknsIAQSZB/KrCABDvCQALIAZBsAFqJAAgJwv/FQIVfwl9IwBBQGoiBSQAIAAoAgghCyAEKAIMIRIgBCgCBCETIAEoAgghDCABKAIEIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfyAALQBEIhZFBEAgCyAAKAIQIghqIBJLDQ0gEyALQQJ0agwBCyADIAtNDQFBBiEIIAIgC0EYbGoLIQkgACgCFCIQIAxLDQMgACgCECIBQQFqIhQgAWoiFyAMIBBrIBRqSw0MIAEgCEcNASAPIBBBAnRqIQECQCAIQQhPBEAgCCEKA0AgGiABIAdqIgQqAgAgByAJaiIGKgIAlJIhGiAiIARBHGoqAgAgBkEcaioCAJSSISIgISAEQRhqKgIAIAZBGGoqAgCUkiEhICAgBEEUaioCACAGQRRqKgIAlJIhICAfIARBEGoqAgAgBkEQaioCAJSSIR8gHiAEQQxqKgIAIAZBDGoqAgCUkiEeIB0gBEEIaioCACAGQQhqKgIAlJIhHSAcIARBBGoqAgAgBkEEaioCAJSSIRwgB0EgaiEHIApBCGsiCkEHSw0ACyAaIB+SQwAAAACSIBwgIJKSIB0gIZKSIB4gIpKSIRsgCEF4cSIHIAhPDQEgCCAHQX9zaiEGIAhBA3EiCgRAIA8gCEECdEFgcSIBIBBBAnRqaiEEIAEgCWohAQNAIAdBAWohByAbIAQqAgAgASoCAJSSIRsgBEEEaiEEIAFBBGohASAKQQFrIgoNAAsLIAZBA0kNASAPIAdBAnQiASAQQQJ0amohBCAIIAdrIQcgASAJaiEBA0AgGyAEKgIAIAEqAgCUkiAEQQRqKgIAIAFBBGoqAgCUkiAEQQhqKgIAIAFBCGoqAgCUkiAEQQxqKgIAIAFBDGoqAgCUkiEbIARBEGohBCABQRBqIQEgB0EEayIHDQALDAELIAhFBEAMAQsgASoCACAJKgIAlEMAAAAAkiEbIAhBAUYNACAbIAFBBGoqAgAgCUEEaioCAJSSIRsgCEECRg0AIBsgAUEIaioCACAJQQhqKgIAlJIhGyAIQQNGDQAgGyABQQxqKgIAIAlBDGoqAgCUkiEbIAhBBEYNACAbIAFBEGoqAgAgCUEQaioCAJSSIRsgCEEFRg0AIBsgAUEUaioCACAJQRRqKgIAlJIhGyAIQQZGDQAgGyABQRhqKgIAIAlBGGoqAgCUkiEbCyAAKAIMIQ0CfyAALQBFIhhFBEAgACgCGCIGIA1qIBJLDQ0gEyANQQJ0agwBCyADIA1NDQNBBiEGIAIgDUEYbGoLIQkgACgCHCIRIAxLDQYgACgCGCIBQQFqIhUgAWoiGSAMIBFrIBVqSw0MIAEgBkcNBCAPIBFBAnRqIQECQCAGQQhPBEBDAAAAACEaQQAhByAGIQpDAAAAACEcQwAAAAAhHUMAAAAAIR5DAAAAACEfQwAAAAAhIEMAAAAAISFDAAAAACEiA0AgGiABIAdqIgQqAgAgByAJaiIOKgIAlJIhGiAiIARBHGoqAgAgDkEcaioCAJSSISIgISAEQRhqKgIAIA5BGGoqAgCUkiEhICAgBEEUaioCACAOQRRqKgIAlJIhICAfIARBEGoqAgAgDkEQaioCAJSSIR8gHiAEQQxqKgIAIA5BDGoqAgCUkiEeIB0gBEEIaioCACAOQQhqKgIAlJIhHSAcIARBBGoqAgAgDkEEaioCAJSSIRwgB0EgaiEHIApBCGsiCkEHSw0ACyAaIB+SQwAAAACSIBwgIJKSIB0gIZKSIB4gIpKSIRogBiAGQXhxIgdNDQEgBiAHQX9zaiEOIAZBA3EiCgRAIA8gBkECdEFgcSIBIBFBAnRqaiEEIAEgCWohAQNAIAdBAWohByAaIAQqAgAgASoCAJSSIRogBEEEaiEEIAFBBGohASAKQQFrIgoNAAsLIA5BA0kNASAPIAdBAnQiASARQQJ0amohBCAGIAdrIQcgASAJaiEBA0AgGiAEKgIAIAEqAgCUkiAEQQRqKgIAIAFBBGoqAgCUkiAEQQhqKgIAIAFBCGoqAgCUkiAEQQxqKgIAIAFBDGoqAgCUkiEaIARBEGohBCABQRBqIQEgB0EEayIHDQALDAELIAZFBEBDAAAAACEaDAELIAEqAgAgCSoCAJRDAAAAAJIhGiAGQQFGDQAgGiABQQRqKgIAIAlBBGoqAgCUkiEaIAZBAkYNACAaIAFBCGoqAgAgCUEIaioCAJSSIRogBkEDRg0AIBogAUEMaioCACAJQQxqKgIAlJIhGiAGQQRGDQAgGiABQRBqKgIAIAlBEGoqAgCUkiEaIAZBBUYNACAaIAFBFGoqAgAgCUEUaioCAJSSIRogBkEGRg0AIBogAUEYaioCACAJQRhqKgIAlJIhGgsgACAAKgIkIhwgACoCMCAAKgI0IBogG5OSIBwgACoCQJSTlJIiGiAAQSxqKgIAIhsgGiAbXRsgACoCKCIbIBogG14bIho4AiQCfyAWRQRAIAggC2ogEksNDSAIIQQgEyALQQJ0agwBCyADIAtNDQZBBiEEIAIgC0EYbGoLIQAgCCAQaiIBIAxLDQkgDCABayAUaiAXSQ0MIAUgBDYCICAFIAg2AgggBCAIRw0OIBogHJMhGgJAIAhFDQAgDyABQQJ0aiEKIAhBAXEhCUEAIQcgCEEBRwRAIAhBfnEhCCAKIQEgACEEA0AgBCAaIAEqAgCUIAQqAgCSOAIAIARBBGoiCyAaIAFBBGoqAgCUIAsqAgCSOAIAIAFBCGohASAEQQhqIQQgCCAHQQJqIgdHDQALCyAJRQ0AIAAgB0ECdCIAaiIBIBogACAKaioCAJQgASoCAJI4AgALAn8gGEUEQCAGIA1qIBJLDQ0gBiEEIBMgDUECdGoMAQsgAyANTQ0JQQYhBCACIA1BGGxqCyEAIAwgBiARaiIBTwRAIAwgAWsgFWogGUkNDSAFIAQ2AiAgBSAGNgIIIAQgBkcNDwJAIAZFDQAgDyABQQJ0aiECIAZBAXEhA0EAIQcgBkEBRwRAIAZBfnEhCCACIQEgACEEA0AgBCAEKgIAIBogASoCAJSTOAIAIARBBGoiBiAGKgIAIBogAUEEaioCAJSTOAIAIAFBCGohASAEQQhqIQQgCCAHQQJqIgdHDQALCyADRQ0AIAAgB0ECdCIAaiIBIAEqAgAgGiAAIAJqKgIAlJM4AgALIAVBQGskAA8LIAEgDEGc08EAEOwIAAsgCyADQdzSwQAQ7QgACyAFQQhqIgBBDGpBjAE2AgAgBUEoaiICQQxqQgI3AgAgBUEBNgIcIAUgATYCGCAFQQM2AiwgBUGwg8EANgIoIAVBjAE2AgwgBUEBNgIkIAUgCDYCIAwLCyANIANB/NLBABDtCAALIBAgDEHM08EAEOwIAAsgBUEIaiIAQQxqQYwBNgIAIAVBKGoiAkEMakICNwIAIAVBATYCHCAFIAE2AhggBUEDNgIsIAVBsIPBADYCKCAFQYwBNgIMIAVBATYCJCAFIAY2AiAMCAsgCyADQezSwQAQ7QgACyARIAxBvNPBABDsCAALAAsgDSADQYzTwQAQ7QgACyABIAxBrNPBABDsCAALAAtB3vfAAEEdQej4wAAQ0gsAC0HM/cAAQSlB6P7AABDSCwALIAUgADYCMCAFIAVBIGo2AhAgBSAFQRhqNgIIIAJByIPBABDvCgALIAVCADcCNCAFQfy8wAA2AjAgBUEBNgIsIAVB9IHBADYCKCAFQSBqIAVBCGogBUEoakHkgsEAEPUKAAvoGQIYfwZ+IwBB8ANrIgIkAAJAIAEoAgQiBUUEQCAAQYCAgIB4NgI8DAELIAEgBUEBazYCBCACIAEoAgAiBDYCBAJAAkACQAJAAkACQAJAAkACQCAEKAIEIgVBBEkNACAEKAIAIQEgBCAFQQRrIgY2AgQgBCABQQRqNgIAIAZBBEkNACABKAAAIRggBCAFQQhrIgY2AgQgBCABQQhqNgIAIAZBBEkNACABNQAEIRsgBCAFQQxrIgY2AgQgBCABQQxqNgIAAkACQCAGQQRJDQAgATUACCEcIAQgBUEQayIGNgIEIAQgAUEQajYCACAGQQRJDQAgASgADCEZIAQgBUEUayIGNgIEIAQgAUEUajYCACAGQQRPDQELIAJBADoAiwMgAkElOwCJAyACQQQ2AowDIAJBAToAiAMgAkGIA2oQgAshBQwJCyABNQAQIR0gBCAFQRhrIgY2AgQgBCABQRhqNgIAIAJBAzYCCCAGQQdNBEAgAkKByoCAgAE3A4gDIAJBiANqEIALIQUMCQsgATUAFCEeIAQgBUEgazYCBCAEIAFBIGo2AgAgAkHAA2ogASkAGBDGBiACKALEAyEBIAIoAsADBEAgASEFDAkLAkBBgMAAIAEgAUGAwABPGyIHRQRAQRAhBgwBC0GR+sMALQAAGiAHQQd0IgVBEBCjDCIGRQ0CCyACQQA2AhQgAiAGNgIQIAIgBzYCDCABRQ0CIAJB2AJqIgVBHGohCiAFQQxqIQ0gAkH4AWoiBUEcaiESIAVBDGohFCACQZADaiEJA0AgAiAENgLwASACQQI2AvQBIAJBiANqIAJB8AFqEIgCIAIoAowDIQUgAigCiAMiA0ECRg0IIAJBqAJqIghBKGoiCyAJQShqIgwoAgA2AgAgCEEgaiIOIAlBIGoiDykCADcDACAIQRhqIhAgCUEYaiIRKQIANwMAIAhBEGoiFSAJQRBqIhYpAgA3AwAgCEEIaiIHIAlBCGoiFykCADcDACACIAkpAgA3A6gCIANFDQQgAkH4AWoiCEEoaiALKAIANgIAIAhBIGogDikDADcDACAIQRhqIBApAwA3AwAgCEEQaiAVKQMANwMAIAhBCGogBykDADcDACACIAIpA6gCNwP4ASACQYgDaiACQfABahCIAiACKAKMAyEIIAIoAogDIg5BAkYNBSACQcADaiIDQShqIhAgDCgCADYCACADQSBqIgwgDykCADcDACADQRhqIg8gESkCADcDACADQRBqIhEgFikCADcDACADQQhqIgsgFykCADcDACACIAkpAgA3A8ADIA5FBEBBASACQe8DakHEgMAAEPcHIQUMCQsgAkHYAmoiA0EoaiAQKAIANgIAIANBIGogDCkDADcDACADQRhqIA8pAwA3AwAgA0EQaiARKQMANwMAIANBCGogCykDADcDACACQegBaiIMIAcoAgA2AgAgAiACKQPAAzcD2AIgAiACKQOoAjcD4AEgAiAUKQIANwPQASACIBRBCGopAgA3A9gBIAJBuAFqIg4gCygCADYCACACIBJBCGopAgA3A8gBIAIgEikCADcDwAEgAiACKQPAAzcDsAEgAiANKQIANwOgASACIA1BCGopAgA3A6gBIAIgCikCADcDkAEgAiAKQQhqKQIANwOYASAEKAIEIgdBA00EQCACQoHKgIDAADcDiAMgAkGIA2oQgAshBQwJCyAEIAdBBGsiCzYCBCAEIAQoAgAiA0EEajYCACALQQNNBEAgAkKByoCAwAA3A4gDIAJBiANqEIALIQUMCQsgAygAACELIAQgB0EIayIPNgIEIAQgA0EIajYCACAPQQNNBEAgAkKByoCAwAA3A4gDIAJBiANqEIALIQUMCQsgAygABCEPIAQgB0EMayIQNgIEIAQgA0EMajYCACAQQQNNBEAgAkKByoCAwAA3A4gDIAJBiANqEIALIQUMCQsgAygACCEQIAQgB0EQayIRNgIEIAQgA0EQajYCACARQQRJDQYgAygADCERIAQgB0EUayIVNgIEIAQgA0EUajYCACAVRQRAIAJCgcqAgBA3A4gDIAJBiANqEIALIQUMCQsgAygAECEVIAQgB0EVayIWNgIEIAQgA0EVajYCACAWRQRAIAJCgcqAgBA3A4gDIAJBiANqEIALIQUMCQsgAy0AFCEWIAQgB0EWazYCBCAEIANBFmo2AgAgAkGIAWoiByAMKAIANgIAIAJB2ABq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QQhqIAhBCGooAgA2AgAgAyAEKQIANwOoAyADQdADaiABIAkQiQIgA0GMBGoiCCANIAJBARBLIANBigRqIBxBAmotAAAiCzoAACADIBwvAAAiBTsBiAQgAygCoAQhDSADKAKcBCEUIAMtAJgEIQQgAyoClAQhLSADKgKMBCEoIAMqApAEISkgCEECaiIIIAs6AAAgAyAFOwGMBCAoICyTIiYgJpQgKSArkyImICaUkiAtICqTIiYgJpSSEJgBISYgA0G4AmogBmoiBUEMaiAEOgAAIAVBCGogLTgCACAFQQRqICk4AgAgBSAoOAIAIANBqAJqIAxqICY4AgAgBUEYaiANQQAgFEEDSSIEGzYCACAFQRRqIBRBAiAEGzYCACAFQRBqIAk2AgAgBUENaiADLwGMBDsAACAFQQ9qIAgtAAA6AAAMBAsgCSAaQdT9wgAQ7QgACyAFIA5B5P3CABDtCAALIAggDkH0/cIAEO0IAAsgBCAOQYT+wgAQ7QgACyAMQQRqIQwgBkEcaiEGIC5CAXwiLkIEUg0ACyAXIAMpA6gCNwIAIBggGSkDADcCACADQeABaiADQbgCaiIEQRBqKAIANgIAIANByAFqIBNBCGopAgA3AwAgAyADKQK4AjcD0AEgAyATKQIANwPAASADIARBCGopAgA3A9gBIAMoAuACIQggAygC5AIhDSADKALoAiEMIAMoAswCIQQgA0GoAWoiBkEQaiAQQRBqKQIANwMAIAZBCGogEEEIaikCADcDACADQaABaiAPQRBqKQIANwMAIAMgECkCADcDqAEgAyAPKQIANwOQASADIA9BCGopAgA3A5gBIARBBUcEQCADKAKgAyELIAMoAoQDDAILIA1BBEYNBSADQcMCaiADQcgBaikDADcAACADIAMpA8ABNwC7AiADQdADaiICQQhqIANBuAJqIgFBCGopAAA3AwAgAkEPaiABQQ9qKAAANgAAIAMgAykAuAI3A9ADIAghICANIQcMBgsgFyADKQOAAjcCACAYIAMpA4gCNwIAICYgJ11BAXQgJyApXkECdHIgJyAoXkEDdHIgBHKtIS9BBCEEQQQhDEEEIQtBBAshBSAKQfgAaiEUIANB+AFqIBgpAgA3AwAgAyAXKQIANwPwASADQbgCaiIGQRBqIANB4AFqKAIANgIAIAZBCGogAykD2AE3AwAg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AAAAXARAQwAAwH9DAACAPyAPmCAPIA9cGyIIQwAAAM9gIQIgECAXkkMAAAA/lCAKlUMAAAA/kiARlY4iC0MAAADPYCEFQf////8HAn9DAADAf0MAAIA/IA6YIA4gDlwbIgmLQwAAAE9dBEAgCagMAQtBgICAgHgLQYCAgIB4IAlDAAAAz2AbIAlD////Tl4bIQMgCSAJXCEEQf////8HAn8gCItDAAAAT10EQCAIqAwBC0GAgICAeAtBgICAgHggAhsgCEP///9OXhshAiAIIAhcIQYgFiASkkMAAAA/lCAMlUMAAAA/kiAUlY4iCEMAAADPYCEHQQAgAyAEGyElQQAgAiAGGyEoQf////8HAn8gC4tDAAAAT10EQCALqAwBC0GAgICAeAtBgICAgHggBRsgC0P///9OXhtBACALIAtbGyEEQf////8HAn8gCItDAAAAT10EQCAIqAwBC0GAgICAeAtBgICAgHggBxsgCEP///9OXhtBACAIIAhbGyEjA0AgHSECIB4hBgJAAkACfSAPQwAAAABeRQRAQ///f38gD0MAAAAAXUUNARogDCAUICOylEMAAAC/kpQgFZMgD5UMAQsgDCAUICNBAWqylEMAAAC/kpQgFZMgD5ULIgggE14CfSAOQwAAAABeRQRAQ///f38gDkMAAAAAXUUNARogCiARIASylEMAAAC/kpQgDZMgDpUMAQsgCiARIARBAWqylEMAAAC/kpQgDZMgDpULIgkgE15xDQAgKEEAIAggCV8bQQAgCEMAAAAAYBshISAEIQUCQAJAIAlDAAAAAGBFDQAgCCAJYEUNACAEICVqIQVBACEDICUNAQtBASEDICFFDQELICAgIWoiByAfICFqIgEgIUEAShsiJkEASCAkICZMciIpIAUgBGsiBCAGaiIeIAIgBGoiHSAEQQBKGyInQQBIICIgJ0xyIgRxDQAgAyAEcg0BIAEgB04NASAgIB9rIQMgASEEA0AgHEFAayAnIAQQygFFBEAgBEEBaiEEIANBAWsiAw0BDAMLCyAAQQU6ADQMBwsgACAcKQIINwIAIABBMGogHEEIaiIBQTBqKQIANwIAIABBKGogAUEoaikCADcCACAAQSBqIAFBIGopAgA3AgAgAEEYaiABQRhqKQIANwIAIABBEGogAUEQaikCADcCACAAQQhqIAFBCGopAgA3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IAdBB0lqIQcgBCEDDAELCyAEIAQoAgAiAUECcjYCACABQQRxRQ0BIApBHEsNACAIQThqIQQgA0EBdkEfcUEcbCEBA0AgASAEaiICLQAAQQJxRQRAIAIgAigCACICQQRyNgIAIAJBAnFFDQMLIAFBHGoiAUGsBkcNAAsLIAgQlQILIAVBEGoiAUEQaiIEIAVBKGoiAkEQaigCADYCACABQQhqIgEgAkEIaikDADcDACAFIAUpAyg3AxAgBkECRg0AIAAgBjYCACAAIAUpAxA3AgQgAEEMaiABKQMANwIAIABBFGogBCgCADYCAAwNCyAAQQI2AgAgAEEBOgAEDAwLIAItAAAhASACQQE6AAAgBSABOgAQIAENA0HsgMQAKAIAQf////8HcQRAQbyExAAoAgBBAEchCAsgAi0AAQ0FAkAgAkEMaigCACIBRQ0AAn9BwPrDACkDACIMQgBSBEAgAkEIaigCACIHIAFBDGxqDAELEKEIIgQoAgAhASAEIAFBAWs2AgAgBSAENgIoIAQpAwghDCABQQFGBEAgBUEoahDGCQtBwPrDACAMNwMAIAIoAgwiAUUNASACQQhqKAIAIgcgAUEMbGoLIQRBACEBQQEhCQNAAkAgASAHaiIKKAIAIgYpAwggDFENACAGQRRqIgMoAgAhCyADIAsgCkEEaigCACALGzYCACALDQAgCUEBayEDIApBCGooAgAiBARAIAZBGGogBDYCAAsgAigCDCIGIANNDQcgAigCCCABaiIEKAIAIQEgBEEEaikCACEMIAQgBEEMaiAGIAlrQQxsEKENGiACIAZBAWs2AgwgAUUNAiAFIAE2AiggBSAMNwIsIAxCIIinIQMCQCAIDQBB7IDEACgCAEH/////B3FFDQBBvITEACgCAEUNACACQQE6AAELIAJBADoAAAJAIAMEQAJAIAMtABlFBEAgAy0AGEUEQEEAIQcDQCAHQQZNBEBBACEBA0AgASAHdiECIAFBAWohASACRQ0ACwsgByAHQQtJaiEHIAMtABhFDQALCyADKAIAIQkgA0ECNgIAIAlBAkYNDSADKAIUIQcgAygCBCECIAMoAgghCCADKAIMIQYgAygCECEEIAMQlQIgBSgCKCEBDAELIAMoAgAhCSADQQI2AgAgCUECRg0OIANBAToAGCADKAIUIQcgAygCBCECIAMoAggh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KgIEIRUgAioCACEpQX8hDSABKAJAIApBBHRqIgJBADoABCACIA42AgAgBEEBRgRAQX8hC0F/IQxD//9//yETQ///f/8hGUP//39/IRpD//9/fyEbQ///f/8hHEP//3//IR1D//9//yEeQ///f38hH0P//39/ISBD//9/fyEhQ///f/8hIkP//3//ISND//9//yEkQ///f38hJUP//39/ISZD//9/fyEnDAgLIAUoAggiAiADKAIEIgtNBEAgCyEKDAcLIAEoAkQiAiALTQRAIAshCgwBCyAFKAIEIAtBGGxqIgIqAhQhIiACKgIQISMgAioCDCEkIAIqAgghJSACKgIEISYgAioCACEnIAEoAkAgC0EEdGoiAkEBOgAEIAIgDjYCACAEQQJGBEBBfyEMQ///f/8hE0P//3//IRlD//9/fyEaQ///f38hG0P//3//IRxD//9//yEdQ///f/8hHkP//39/IR9D//9/fyEgQ///f38hIQwICyAFKAIIIgIgAygCCCIMTQRAIAwhCgwHCyABKAJEIgIgDE0EQCAMIQoMAQsgBSgCBCAMQRhsaiICKgIUIRwgAioCECEdIAIqAgwhHiACKgIIIR8gAioCBCEgIAIqAgAhISABKAJAIAxBBHRqIgJBAjoABCACIA42AgAgBEEDRgRAQ///f/8hE0P//3//IRlD//9/fyEaQ///f38hGwwICyAFKAIIIgIgAygCDCINTQRAIA0hCgwHCyANIAEoAkQiAkkNBSANIQoLIAogAkH01sAAEO0IAAsgCiACQYTWwAAQ7QgACyAKIAJBlNbAABDtCAALIAogA0Gk1sAAEO0IAAsgCiACQbTWwAAQ7QgACyAFKAIEIA1BGGxqIgIqAgAhGyACKgIEIRogAioCCCEWIAIqAgwhGSACKgIQIRMgAioCFCEXIAEoAkAgDUEEdGoiAkEDOgAEIAIgDjYCAAwBCyAKIAJB5NbAABDtCAALIAkgFzgC/AEgCSATOAL4ASAJIBk4AvQBIAkgFjgC8AEgCSAaOALsASAJIBs4AugBIAkgHDgC5AEgCSAdOALgASAJIB44AtwBIAkgHzgC2AEgCSAgOALUASAJICE4AtABIAkgIjgCzAEgCSAjOALIASAJICQ4AsQBIAkgJTgCwAEgCSAmOAK8ASAJICc4ArgBIAkgGDgCtAEgCSAoOAKw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IAAbEQAAAAsQ7goACyACQSBqJAAgBSgCSCEGCyAFKAJEIAZB9ABsaiICIBU2AgQgAiARNgIAIBopAgAhUSAPKQIAIVIgAiAxOAIgIAIgMjgCHCACIDA4AhggAiADKQPgATcCJCACQSxqICAoAgA2AgAgAiADKQOAAzcCMCACQThqIBMoAgA2AgAgAiBSNwIIIAJBEGogUTcCACACIAQpAgA3AjwgAkHEAGogECkCADcCACACQcwAaiASKQIANwIAIAJB1ABqIBgpAgA3AgAgAkHcAGogGSkCADcCACACQeQAaiAeKQIANwIAIAJB7ABqIB8pAgA3AgAgBSAGQQFqNgJIIANB4AFqIQZDAAAAACExIAVBKGoqAgAiMyADQagBaiICQSBqKgIAIjSUITUgAkEkaioCACEyIAIqAhwhMCAFKgIkIjggOJQgMyAzlJIgBUEsaioCACIzIDOUkhCYASE8IDggMJQhOAJAIDxDAAAAAFwgMCAwlCA0IDSUkiAyIDKUkhCYASIwQwAAAABccUUEQCA4IDWSIDMgMpSSITIMAQtDAACAv0MAAIA/IDggNZIgMyAylJIiMiA8IDCUlSIxIDFDAACAP14bIDFDAACAv10bEOwEITELIAYgAikCADcCACAGQQhqIAJBCGopAgA3AgAgBkEQaiACQRBqKQIANwIAIAZBGGogAkEYaikCADcCACAGQSBqIAJBIGopAgA3AgAgBkEoaiACQShqKQIANwIAIAZBMGogAkEwaikCADcCACAGIDEgBSoCNF86ADkgBiAyQwAAAABdQX9zIDEgBSoCMGBxOgA4IANBoAJqIgpBCGogGikCADcDACADIA8pAgA3A6ACIAMgNiADKgJQkjgCuAIgAyA3IAMqAkySOAK0AiADIDsgAyoCSJI4ArACIANBgANqIglBKGogA0EYaiICQShqKQIANwMAIAlBIGogAkEgaikCADcDACAJQRhqIAJBGGopAgA3AwAgCUEQaiACQRBqKQIANwMAIBMgAkEIaikCADcDACADIAMpAhg3A4ADIANB2ABqIRggA0HgAGohECADQcgAaiESQQAhGSMAQYACayICJAACQCAFKAIIIh5BAkYNACAGLQA4RQ0AIAUoAgAhHyAYKgIEITIgBSoCBCExIAVBDGoqAgAhMCAFQRBqKAIAISAgGCoCACE+IAVB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ASI3lJIhNiAAIDcgNpQgNCAzIAAqAqgBIjiUIDAgACoCrAEiN5SSIDEgNJSSIjqUIDUgMyA3lCAwIAAqArQBIjCUkiAxIDWUkiIxlJKSIDuSOAKcASAAID0gNSA2lCA3IDqUIDAgMZSSkpI4ApgBIAAgPCA0IDaUIDggOpQgNyAxlJKSkjgClAEgAC0A2AIEQCAAIAAoAsACQQRyNgLAAgsgAEEANgLUAiAAQQA6ANgCCyAHQTxqIQcgBUE8ayIFDQALDAILQaSVwQBBE0GcjsEAEO8JAAtB2MDAAEErQYyOwQAQuQoACyAJIAhBqAFqIghHDQALIAQoAgwhCCAEKAIQIgdFDQAgCEGAAWohAANAIABBBGsoAgAEQCAAKAIAEJUCCyAAQShrKAIABEAgAEEkaygCABCVAgsgAEGoAWohACAHQQFrIgcNAAsLIAQoAggEQCAIEJUCCyAEQaACaiQADAELIARB3ABqQgA3AgAgBEEBNgJUIARBpL3AADYCUCAEQfy8wAA2AlggBEHQAGpBnL7AABDvCgALIA5B9ABqIQAgEkH0AGsiEg0ACwsgA0GwA2okAAuIGAIOfwp9IwBBQGoiAyQAIABB2ABqKAIAIQkgAEHcAGooAgAhBiAAQThqQQA2AgAgAEEgakEANgIAIANBAToACyAGQQxsIQgCQAJAAkACQAJAAkACQAJAAkACQAJAIAZFBEAgA0EANgIUIANCgICAgMAANwIMIANBADYCICADQoCAgIDAADcCGEEEIQIMAQtBkfrDAC0AABogBkECdCICQQQQowwiAUUNASADQQA2AhQgAyABNgIQIAMgBjYCDCAGQdWq1SpLDQIgBkEYbCIBQQBIDQJBkfrDAC0AABogAUEEEKMMIgJFDQMgAiEBAkAgBkECSQ0AIAZBAWsiB0EDcSEEIAZBAmtBA08EQCAHQXxxIQUDQCABQv////v///+/fzcCECABQv////v3//+/fzcCCCABQv////v3//+//wA3AgAgAUHYAGpC////+////79/NwIAIAFB0ABqQv////v3//+/fzcCACABQcgAakL////79///v/8ANwIAIAFBQGtC////+////79/NwIAIAFBOGpC////+/f//79/NwIAIAFBMGpC////+/f//7//ADcCACABQShqQv////v///+/fzcCACABQSBqQv////v3//+/fzcCACABQRhqQv////v3//+//wA3AgAgAUHgAGohASAFQQRrIgUNAAsLIARFDQADQCABQv////v///+/fzcCECABQv////v3//+/fzcCCCABQv////v3//+//wA3AgAgAUEYaiEBIARBAWsiBA0ACwsgAUL////79///v/8ANwIAIAFC////+////79/NwIQIAFC////+/f//79/NwIIIAMgBjYCICADIAI2AhwgAyAGNgIYQZH6wwAtAAAaIAhBBBCjDCICRQ0EIAIhAQJAIAZBAkkNACAGQQFrIgdBA3EhBCAGQQJrQQNPBEAgB0F8cSEFA0AgAUJ/NwIIIAFBADoABCABQX82AgAgAUEsakF/NgIAIAFBKGpBADoAACABQSBqQn83AgAgAUEcakEAOgAAIAFBFGpCfzcCACABQRBqQQA6AAAgAUEwaiEBIAVBBGsiBQ0ACwsgBEUNAANAIAFBfzYCCCABQQA6AAQgAUF/NgIAIAFBDGohASAEQQFrIgQNAAsLIAFBfzYCCCABQQA6AAQgAUF/NgIACyAAKAI8BEAgACgCQBCVAgsgACAGNgJEIAAgAjYCQCAAIAY2AjwgBgR/IAggCWohDCAAQTxqIQ1BACEEA0AgCSgCACIBIAAoAlAiAk8NBiAJKAIEIgcgAk8NByAJKAIIIgUgAk8NCCAEQQFqIQggACgCTCICIAFBDGxqIgEqAgQhFCACIAVBDGxqIgUqAgAhEiACIAdBDGxqIgIqAgAhFSACKgIIIRAgASoCCCEWIAUqAgghDyACKgIEIRcgBSoCBCETIAEqAgAhGCAEIAZPBEAgACgCPCAGIgJrIAggAmsiB0kEQCANIAYgBxCPBiAAKAJEIQILIAAoAkAgAkEMbGohASAHQQJPBEAgBCAGayIFQQNxIQogBCAGQX9zakEDTwRAIAVBfHEhBQNAIAFCfzcCCCABQQA6AAQgAUF/NgIAIAFBLGpBfzYCACABQShqQQA6AAAgAUEgakJ/NwIAIAFBHGpBADoAACABQRRqQn83AgAgAUEQakEAOgAAIAFBMGohASAFQQRrIgUNAAsLIAoEQCALIAZrQQNxIQUDQCABQX82AgggAUEAOgAEIAFBfzYCACABQQxqIQEgBUEBayIFDQALCyACIAdqQQFrIQILIAFBfzYCCCABQQA6AAQgAUF/NgIAIAAgAkEBaiIGNgJEIAMgAygCICIHIARNBH8gCCAHIgJrIQogCiADKAIYIAJrSwRAIANBGGogByAKEKYGIAMoAiAhAgsgAygCHCACQRhsaiEBIApBAk8EQCAEIAdrIgVBA3EhDiAEIAdBf3NqQQNPBEAgBUF8cSEFA0AgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAFB2ABqQv////v///+/fzcCACABQdAAakL////79///v383AgAgAUHIAGpC////+/f//7//ADcCACABQUBrQv////v///+/fzcCACABQThqQv////v3//+/fzcCACABQTBqQv////v3//+//wA3AgAgAUEoakL////7////v383AgAgAUEgakL////79///v383AgAgAUEYakL////79///v/8ANwIAIAFB4ABqIQEgBUEEayIFDQALCyAOBEAgCyAHa0EDcSEFA0AgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAFBGGohASAFQQFrIgUNAAsLIAIgCmpBAWshAgsgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAJBAWoFIAgLNgIgCyAEIAZPDQkgACgCQCAEQQxsaiAENgIIIAMoAiAiAiAETQ0KIAMoAhwgBEEYbGoiAiAPIA8gECAQIBYgECAWXiIBGyAWIBZcGyIRIA8gEV4bIBEgEVwbOAIUIAIgEyATIBcgFyAUIBQgF10iBxsgFCAUXBsiESARIBNdGyARIBFcGzgCECACIBIgEiAVIBUgGCAVIBheIgUbIBggGFwbIhEgESASXRsgESARXBs4AgwgAiAWIBYgECABGyAQIBBcGyIQIBAgDyAPIBBeGyAPIA9cGzgCCCACIBQgFCAXIAcbIBcgF1wbIg8gDyATIA8gE10bIBMgE1wbOAIEIAIgGCAYIBUgBRsgFSAVXBsiDyAPIBIgDyASXRsgEiASXBs4AgAgAygCFCIBIAMoAgxGBEAgA0EMaiABELMGIAMoAhQhAQsgAygCECABQQJ0aiAENgIAIAMgAUEBajYCFCALQQFqIQsgCCEEIAwgCUEMaiIJRw0ACyAAKAIgBUEACyEEIAQgAEEYaiICKAIARgRAIAIgBBC0BiAAKAIgIQQLIABBHGooAgAgBEEHdGoiAkKBgICAcDcDYCACQQA6AHggAkEAOgB0IAJBfzYCcCACQv////v///+/fzcDWCACQv////v///+/fzcDUCACQv////v///+/fzcDSCACQv////v///+/fzcDQCACQv////v///+/fzcDOCACQv////v///+/fzcDMCACQv////v3//+//wA3AyggAkL////79///v/8ANwMgIAJC////+/f//7//ADcDGCACQv////v3//+//wA3AxAgAkL////79///v/8ANwMIIAJC////+/f//7//ADcDACACQegAakJ/NwMAIAAgBEEBajYCICADQSRqIAAgA0ELaiADKAIQIgIgAygCFCADQRhqQQBBABBBIANBLGoqAgAhEiADQTBqKgIAIQ8gA0E0aioCACETIANBOGoqAgAhFCADKgIoIRUgACADQTxqKgIAIhA4AhQgACAUOAIQIAAgEzgCDCAAIA84AgggACASOAIEIAAgFTgCACAAKAIgRQ0JIAAoAhwiAEH///97NgJcIABC////+////79/NwJUIAAgEDgCUCAAQf///3s2AkwgAEL////7////v383AkQgACAUOAJAIABB////ezYCPCAAQv////v///+/fzcCNCAAIBM4AjAgAEH////7BzYCLCAAQv////v3//+//wA3AiQgACAPOAIgIABB////+wc2AhwgAEL////79///v/8ANwIUIAAgEjgCECAAQf////sHNgIMIABC////+/f//7//ADcCBCAAIBU4AgAgAygCGARAIAMoAhwQlQILIAMoAgwEQCACEJUCCyADQUBrJAAPC0EEIAJB2IDEACgCACIAQaMHIAAbEQAAAAsQ7goAC0EEIAFB2IDEACgCACIAQaMHIAAbEQAAAAtBBCAIQdiAxAAoAgAiAEGjByAAGxEAAAALIAEgAkH0+sIAEO0IAAsgByACQYT7wgAQ7QgACyAFIAJBlPvCABDtCAALIAQgBkHAmcIAEO0IAAsgBCACQdCZwgAQ7QgAC0EAQQBBsJnCABDtCAALohECNH8CfQJAIAEoAgwiCCABKAIQIhYgCCAWSRsiDUUEQEEEIR5BACENDAELAkAgDUH/////AEsNACANQQN0IgNBAEgNAEGR+sMALQAA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IAFBIGohCiABKAIgIgVFBEAgCkEAELAGIAEoAiAhBSABKAIoIQYLIAEgBkEBaiIDNgIoIAFBJGooAgAiBCAGQQN0akL///97NwIAIAMgBUYEQCAKIAUQsAYgASgCJCEEIAEoAighAwtBACEGIAFB1ABqQQA2AgAgAUE8aiAcOAIAIAFBOGogGzgCACABIANBAWo2AiggAUHIAGpBADYCACAEIANBA3RqQv////v3/////wA3AgAgAUFAayEKIAEoAkAiBUUEQCAKQQAQsAYgASgCQCEFIAEoAkghBgsgASAGQQFqIgM2AkggAUHEAGooAgAiBCAGQQN0akL///97NwIAIAMgBUYEQCAKIAUQsAYgASgCRCEEIAEoAkghAwsgAUEAOgCRASABQdwAaiAaOAIAIAFB2ABqIBk4AgAgASADQQFqNgJIIAQgA0EDdGpC////+/f/////ADcCACABKAJgBEAgAUHkAGooAgAQlQILIAFCgICAgMAANwJgIAFBADoAkAEgAUHoAGpCADcCACABQYQBakKAgICAcDcCACABKAKMAQ0DIAFB+ABqKAIARQ0BQfDzwQBBKkGg9cEAELkKAAsgGCAdX0UNCEGR+sMALQAAGkEQQQQQowwiA0UNCSADQv////v3/////wA3AgggA0L///97NwIAIBsgHF9FDQhBkfrDAC0AABpBEEEEEKMMIgRFDQkgBEL////79/////8ANwIIIARC////ezcCACAZIBpfRQ0IQZH6wwAtAAAaQRBBBBCjDCIGRQ0JIAZC////+/f/////ADcCCCAGQv///3s3AgBBkfrDAC0AABpBlAFBBBCjDCIBRQ0DIAFBADsBkAEgAUL/////DzcCiAEgAUIENwKAASABQgA3AnggAUKAgICAwAA3AnAgAUIANwJoIAFCgICAgMAANwJgIAEgGjgCXCABIBk4AlggAUIENwJQIAFCAjcCSCABIAY2AkQgAUECNgJAIAEgHDgCPCABIBs4AjggAUIENwIwIAFCAjcCKCABIAQ2AiQgAUECNgIgIAEgHTgCHCABIBg4AhggAUIENwIQIAFCAjcCCCABIAM2AgQgAUECNgIACyAALQA8IQMgAC0APSEEAkAgAigCDCIGQX9GBEAgAigCCCIGIAIoAgBGBEAgAiAGELoGIAIoAgghBgsgAiAGQQFqNgIIIAIoAgQgBkEsbGoiAiADOgApIAIgBDoAKCACQX82AiQgAiAaOAIgIAIgHDgCHCACIB04AhggAiAZOAIUIAIgGzgCECACIBg4AgwgAiABNgIEIAJBATYCAAwBCyACKAIIIgUgBk0NBCACIAIoAgQgBkEsbGoiAigCJDYCDCACQQRqIQUCQCACKAIARQ0AIAUoAgAiCkUNACAKEJQFCyACIAM6ACkgAiAEOgAoIAJBfzYCJCACIBo4AiAgAiAcOAIcIAIgHTgCGCACIBk4AhQgAiAbOAIQIAIgGDgCDCACQQE2AgAgBSABNgIACyAAQTBqKAIAIgEgACgCKEYEQCAAQShqIAEQswYgACgCMCEBCyAAIAFBAWo2AjAgAEEsaigCACABQQJ0aiAGNgIAIBEgCUEQaigCACICcSIAIAkoAgwiA2opAABCgIGChIiQoMCAf4MiF1AEQEEIIQEDQCAAIAFqIQAgAUEIaiEBIAMgACACcSIAaikAAEKAgYKEiJCgwIB/gyIXUA0ACwsgAyAXeqdBA3YgAGogAnEiAWosAAAiBUEATgRAIAMgAykDAEKAgYKEiJCgwIB/g3qnQQN2IgFqLQAAIQULIAkoAgghAAJAIAVBAXEiE0UNACAJQRRqKAIADQAgCSgCBCESIwBBMGsiDCQAAkAgCUEMaiIKKAIMIhBBAWoiAUUEQBCaCiAMKAIIGgwBCyAKKAIEIgVBAWoiAkEDdiEEAkACQAJAAkACQAJAIAUgBEEHbCAFQQhJGyILQQF2IAFJBEAgASALQQFqIgIgASACSxsiAkEISQ0BAn8gAkGAgICAAkkEQEEBIQEgAkEDdCICQQ5JDQZBfyACQQduQQFrZ3ZBAWoMAQsQmgogDCgCKEGBgICAeEcNCCAMKAIsCyIBQf////8DSw0FDAQLQQAhASAKKAIAIQMCQCAEIAJBB3FBAEdqIgRFDQAgBEEBcSENIARBAUcEQCAEQf7///8DcSEEA0AgASADaiIIKQMAIRcgCCAXQn+FQgeIQoGChIiQoMCAAYMgF0L//v379+/fv/8AhHw3AwAgCEEIaiIIKQMAIRcgCCAXQn+FQgeIQoGChIiQoMCAAYMgF0L//v379+/fv/8AhHw3AwAgAUEQaiEBIARBAmsiBA0ACwsgDUUNACABIANqIgEpAwAhFyABIBdCf4VCB4hCgYKEiJCgwIABgyAXQv/+/fv379+//wCEfDcDAAsgAkEITwRAIAIgA2ogAykAADcAAAwCCyADQQhqIAMgAhChDRogBUF/Rw0BQQAhCwwCC0EEQQggAkEESRshAQwCCyADQQRrIRRBACEBA0ACQCADIAEiAmoiDS0AAEGAAUcNAAJAAkAgACAUIAJBAnQiBGsiFSgCACIBSwRAIAMgBGtBBGshCANAIAMgEiABQRRsaigCACIOIAVxIg8iBGopAABCgIGChIiQoMCAf4MiF1AEQEEIIQEDQCABIARqIQQgAUEIaiEBIAMgBCAFcSIEaikAAEKAgYKEiJCgwIB/gyIXUA0ACwsgAyAXeqdBA3YgBGogBXEiBGosAABBAE4EQCADKQMAQoCBgoSIkKDAgH+DeqdBA3YhBAsgBCAPayACIA9rcyAFcUEISQ0CIAMgBEECdGtBBGshASADIARqIg8tAAAhFiAPIA5BGXYiDjoAACAEQQhrIAVxIANqQQhqIA46AAAgFkH/AUYNAyAILQAAIQQgCCABLQAAOgAAIAEgBDoAACAILQABIQQgCCABLQABOgABIAEgBDoAASAILQACIQQgCCABLQACOgACIAEgBDoAAiAILQADIQQgCCABLQADOgADIAEgBDoAAyAAIBUoAgAiAUsNAAsLIAEgAEGE98AAEO0IAAsgDSAOQRl2IgE6AAAgAkEIayAFcSADakEIaiABOgAADAELIA1B/wE6AAAgAkEIayAFcSADakEIakH/AToAACABIAgoAAA2AAALIAJBAWohASACIAVHDQALCyAKIAsgEGs2AggMAwsgAUECdCIDQQdqIQIgAiADSQ0AIAJBeHEiAyABQQhqIgRqIQIgAiADTw0BCxCaCiAMKAIQGgwBCwJAIAJBAE4EQEGR+sMALQAAGiACQQgQowwiCEUEQEEIIAJB2IDEACgCACIAQaMHIAAbEQAAAAsgAyAIakH/ASAEEKINIQIgAUEBayIDIAFBA3ZBB2wgA0EISRsgEGshECAKKAIAIQsCQCAFQX9HBEAgC0EEayENQQAhCANAIAggC2osAABBAE4EQCANIAhBAnQiDmsoAgAiASAATw0FIAIgEiABQRRsaigCACIPIANxIgRqKQAAQoCBgoSIkKDAgH+DIhdQBEBBCCEBA0AgASAEaiEEIAFBCGohASACIAMgBHEi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QgA3AgAgE0EgakIANwIAIBNBKGpCADcCACATQTBqQgA3AgAgE0E4akIANwIAAkACQAJAIAkEQCAJQSxqLQAADQEgEkHAAmogCUHMAGoQ/AgMAgsgEkHIAGoiCUE4aiASQQhqIhNBOGopAgA3AwAgCUEwaiATQTBqKQIANwMAIAlBKGogE0EoaikCADcDACAJQSBqIBNBIGopAgA3AwAgCUEYaiATQRhqKQIANwMAIAlBEGogE0EQaikCADcDACAJQQhqIBNBCGopAgA3AwAgEiASKQIINwNIDAILIBJB2AJqIAlByABqKAIANgIAIBJB0AJqIAlBQGspAgA3AwAgEkHIAmogCUE4aikCADcDACASQeQCaiAJQdABaigCADYCACASQfACaiAJQfAAaigCADYCACASQfwCaiAJQfwAaigCADYCACASIAkpAjA3A8ACIBIgCSkCaDcD6AIgEiAJQcgBaikCADcC3AIgEiAJQfQAaikCADcC9AILIBJByABqIglBOGogEkHAAmoiE0E4aikDADcDACAJQTBqIBNBMGopAwA3AwAgCUEoaiATQShqKQMANwMAIAlBIGogE0EgaikDADcDACAJQRhqIBNBGGopAwA3AwAgCUEQaiATQRBqKQMANwMAIAlBCGogE0EIaikDADcDACASIBIpA8ACNwNICwJAAkACQCAKBEAgCkEsai0AAA0BIBJBwAJqIApBzABqEPwIDAILIBJBiAFqIglBOGogEkEIaiIKQThqKQIANwMAIAlBMGogCkEwaikCADcDACAJQShqIApBKGopAgA3AwAgCUEgaiAKQSBqKQIANwMAIAlBGGogCkEYaikCADcDACAJQRBqIApBEGopAgA3AwAgCUEIaiAKQQhqKQIANwMAIBIgEikCCDcDiAEMAgsgEkHYAmogCkHIAGooAgA2AgAgEkHQAmogCkFAaykCADcDACASQcgCaiAKQThqKQIANwMAIBJB5AJqIApB0AFqKAIANgIAIBJB8AJqIApB8ABqKAIANgIAIBJB/AJqIApB/ABqKAIANgIAIBIgCikCMDcDwAIgEiAKKQJoNwPoAiASIApByAFqKQIANwLcAiASIApB9ABqKQIANwL0AgsgEkGIAWoiCUE4aiASQcACaiIKQThqKQMANwMAIAlBMGogCkEwaikDADcDACAJQShqIApB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BTYCACAHIANBAWo2AgwgBiAEQQhqNgIIIAdBMGoiBSgCACEDIAVBADYCACAHQSxqKAIAIgYgA0EMbGohCCADRQ0BA0AgBigCACIDRQRAIAZBDGohBgwDCyADQRRqIgkoAgAhBSAJIAUgBikCBCILpyAFGzYCACADIAMoAgAiBUEBazYCACAEIAs3AiwgBCADNgIoIAVBAUYEQCAEQShqEOUJCyAIIAZBDGoiBkcNAAsMAgsACyAIIAZrQQxuIQUgBiAIRg0AIAcoAiwiAyAGIANrQQxuQQxsaiEDA0AgAygCACIIKAIAIQYgCCAGQQFrNgIAIAZBAUYEQCADEOUJCyADQQxqIQMgBUEBayIFDQALCwJAIAFBHGotAAANAEHsgMQAKAIAQf////8HcUUNAEG8hMQAKAIARQ0AIAdBAToAAQsgB0EAOgAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACIAEoAiQiAikDACACKAIIENMEQQFrDgMBAgMAC0G4xMAAQShBgMnAABC5CgALIAQgASgCKCgCACICLQAAIgE6ACcgAkEBOgAAIAENC0EAIQdB7IDEACgCAEH/////B3EEQEG8hMQAKAIAQQBHIQcLIAItAAENBCACQQhqKAIAIgZBDGshBSACQQxqKAIAIghBDGwhA0F/IQEDQCADRQ0GIAFBAWohASAFQQxqIQUgA0EMayEDIAYoAgQhCSAGQQxqIQYgCSAKRw0ACyABIAhPDQMgBUEEaikCACELIAUoAgAhASAFIAVBDGogAxChDRogAiAIQQFrNgIMIAFFDQUgASABKAIAIgNBAWs2AgAgBCALNwIsIAQgATYCKCADQQFGBEAgBEEoahDlCQsCQCAHDQBB7IDEACgCAEH/////B3FFDQBBvITEACgCAEUNACACQQE6AAELIAJBADoAACAEKAIIIQEgBEECNgIIIAFBAkYNBiAAIAQoAhw2AhggACAEKQIUNwIQIAAgBCkCDDcCCCAAIAE2AgQgAEEANgIADAILIAQgASgCKCgCACICLQAAIgE6ACcgAkEBOgAAIAENCkEAIQdB7IDEACgCAEH/////B3EEQEG8hMQAKAIAQQBHIQcLIAItAAENByACQQhqKAIAIgZBDGshBSACQQxqKAIAIghBDGwhA0F/IQEDQCADRQ0JIAFBAWohASAF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AkEEEMwGIAMoAggLIgRBBGoiAjYCCCADKAIEIARqIAY2AAAgBUEEayIFDQALCyABQcQAaigCACECIAFBQGsoAgAhByAAKAIAIgMoAgghBCADKAIAIARrQQdNBEAgAyAEQQgQzAYgAygCCCEECyADIARBCGoiADYCCCADKAIEIARqIAKtNwAAQQAhBCACRQ0AIAcgAkEMbGohBgNAIActAAQhAiAHKAIAIQEgAygCACAAa0EDTQRAIAMgAEEEEMwGIAMoAgghAAsgAygCBCAAaiABNgAAIAMgAEEEaiIANgIIIAAgAygCAEYEQCADIABBARDMBiADKAIIIQALIAMoAgQgAGogAjoAACADIABBAWoiAjYCCCAHQQhqKAIAIQEgAygCACACa0EDTQRAIAMgAkEEEMwGIAMoAgghAgsgAyACQQRqIgA2AgggAygCBCACaiABNgAAIAYgB0EMaiIHRw0ACwsgCEHgAGokACAEC+cNAgh/A34jAEHgBWsiAyQAIANBADYC1AUgA0IANwLMBSADQoCAgIDAADcCxAUgA0HcAGogA0HEBWoiBBBnIANBADYC1AUgA0IANwLMBSADQoCAgIDAADcCxAUgA0GYAWogBBBnIANBlAFqQQA2AgAgA0GMAWpCADcCACADQdgAakEANgIAIANB0ABqQgA3AgAgA0FAa0IENwIAIANBOGpCADcCACADQTBqQgQ3AgAgA0EoakIANwIAIANBIGpCBDcCACADQRhqIgpCADcCACADQRBqQgQ3AgAgA0IANwKEAiADQQA2AsABIANCgICAgMAANwKEASADQoCAgIDAADcCSCADQgA3AgggA0KAgICAgAE3AgAgA0H8AWpCADcCACADQewBakIENwIAIANB5AFqQgA3AgAgA0HUAWpCADcCACADQcwBakKAgICAwAA3AgAgA0HEAWpCBDcCACADQQE6AIwCIANCgICAgMAANwL0ASADQoCAgIDAADcC3AEgBEELakIANwAAIANBkAJqIgVBmAFqQgA3AwAgA0GwA2pCADcDACAFQcABakIANwMAIANBsQVqIgdBC2pCADcAACADQZ4FaiIIQQtqQgA3AAAgA0GLBWoiBkELakIANwAAIANB+ARqIglBC2pCADcAACADQgA3A6ADIANCADcDyAMgA0IANwDHBSADQgA3ALQFIANCADcAoQUgA0IANwCOBSADQgA3APsEIANB8ANqIARBD2ooAAA2AAAgA0HpA2ogBEEIaikAADcAACADIAMpAMQFNwDhAyADQYUEaiAHQQhqKQAANwAAIAVB/AFqIAdBD2ooAAA2AAAgAyADKQCxBTcA/QMgA0GoBGogCEEPaigAADYAACADQaEEaiAIQQhqKQAANwAAIAMgAykAngU3AJkEIANBxARqIAZBD2ooAAA2AAAgA0G9BGogBkEIaikAADcAACADIAMpAIsFNwC1BCADQeAEaiAJQQ9qKAAANgAAIANB2QRqIAlBCGopAAA3AAAgAyADKQD4BDcA0QQgA0G0AmpBADYCACADQgA3AqwCIAVBMGpCADcDACADQgA3A7gCIANB////+wc2AogDIANCgICAgPD//79/NwOAAyADQv////v///+//wA3A/gCIANC////+wc3A/ACIANCgICAgPD//79/NwPoAiADQv////v///+//wA3A+ACIANC////+wc3A9gCIANCgICAgPD//79/NwPQAiADQv////v///+//wA3A8gCIANBADYCqAIgA0IANwOgAiADQoCAgICAgIDAPzcDmAIgA0IANwOQAiADQZQDakIANwIAIANCADcCjAMgA0GAAjsB9AQgA0EANgLwBCADQQA6AOwEIANC////+wc3AuQEIANBADoA0AQgA0L////7BzcDyAQgA0EAOgC0BCADQv////sHNwKsBCADQQA6AJgEIANC////+wc3A5AEIANBADoA/AMgA0L////7BzcC9AMgA0EAOgDgAyADQv////sHNwPYAyADQgA3A8ADIANCgICA/AM3A7gDIANBgICA/AM2ApwDIAMoAgghByADQQxqIAooAgAiCEEGaiIEEIMDIANBHGogBBCDAyADQSxqIAQQgwMgA0HEAGooAgAiBSADKAI8RgRAIANBPGogBUEBEKQGIAMoAkQhBQsgAygCQCAFQQR0aiIGQgA3AgggBkKAgICAwAA3AgAgAyAFQQFqNgJEIAMgAygChAJBBmoiBjYChAICQCADKAIoIARPBEAgA0HAAWohCSADKAIgIAhBAnRqIgRBFGpBzZmz7gM2AgAgBEEMakLNmbPu05mz5j03AgAgA0HEBWogA0GQAmoQyAEgAygCCCIFIAMoAgBGBEAgAyAFELkGIAMoAoQCIQYgAygCCCEFCyADKAIEIAVB6ANsaiIEQgA3AwggBCACNgIEIAQgATYCACAEQRBqQgA3AwAgBEEYakIANwMAIARBIGogA0GQAmpB6AIQow0aIARBADYCkAMgBCAINgKMAyAEIAc2AogDIARB3ANqQgA3AgAgBEHUA2pCADcCACAEQgA3AswDIAQgAykCxAUiCzcClAMgBEGcA2ogA0HMBWopAgAiDDcCACAEQaQDaiADQcQFaiIBQRBqKQIAIg03AgAgBEGsA2ogAUEYaigCACIBNgIAIAQgCzcCsAMgBEG4A2ogDDcCACAEQcADaiANNwIAIARByANqIAE2AgAgAyAFQQFqIgE2AgggCSABIAYQrAIgAygCCCIBIAdNDQEgACADQZACEKMNGiADQeAFaiQADwtB3vfAAEEdQej4wAAQ0gsACyAHIAFBjKfBABDtCAAL3wsCCX8BfiMAQSBrIgUkACAALQAAIQIgAEEBOgAAIAUgAjoABwJAAkACQAJAIAJFBEBB7IDEACgCAEH/////B3EEQEG8hMQAKAIAQQBHIQcLIAAtAAENASAAQTRqLQAADQQgAEEBOgA0AkAgAEEMaigCACIBRQ0AIABBCGooAgAiAyECIAFBDGwiBkEMayIIQQxuQQFqQQdxIgEEQCABQQxsIQEDQCACKAIAQRRqIgkoAgAhBCAJIARBAiAEGzYCACACQQxqIQIgAUEMayIBDQALCyAIQdQASQ0AIAMgBmohBANAIAIoAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJBDGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJBGGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJBJGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJBMGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJBPGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJByABqKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACACQdQAaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgBCACQeAAaiICRw0ACwsgAEEYaiIBKAIAIQIgAUEANgIAIABBFGooAgAiASACQQxsaiEDIAJFDQIDQCABKAIAIgJFBEAgAUEMaiEBDAQLIAJBFGoiBigCACEEIAYgBCABKQIEIgqnIAQbNgIAIAIgAigCACIEQQFrNgIAIAUgCjcCDCAFIAI2AgggBEEBRgRAIAVBCGoQ5QkLIAMgAUEMaiIBRw0ACwwDCyAFQgA3AhQgBUGAgMAANgIQIAVBATYCDCAFQYSRwAA2AgggBUEHaiAFQQhqEPAKAAsgBSAHOgAMIAUgADYCCEG4hcAAQSsgBUEIakGQh8AAQZSIwAAQiAgACyADIAFrQQxuIQQgASADRg0AIAAoAhQiAiABIAJrQQxuQQxsaiECA0AgAigCACIDKAIAIQEgAyABQQFrNgIAIAFBAUYEQCACEOUJCyACQQxqIQIgBEEBayIEDQALCwJAIABBJGooAgAiAUUNACAAQSBqKAIAIgMhAiABQQxsIgZBDGsiCEEMbkEBakEHcSIBBEAgAUEMbCEBA0AgAigCAEEUaiIJKAIAIQQgCSAEQQIgBBs2AgAgAkEMaiECIAFBDGsiAQ0ACwsgCEHUAEkNACADIAZqIQQDQCACKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACACQQxqKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACACQRhqKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACACQSRqKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACACQTBqKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACACQTxqKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACACQcgAaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkHUAGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAQgAkHgAGoiAkcNAAsLIABBMGoiASgCACECIAFBADYCACAAQSxqKAIAIgEgAkEMbGohAwJAIAJFDQADQCABKAIAIgJFBEAgAUEMaiEBDAILIAJBFGoiBigCACEEIAYgBCABKQIEIgqnIAQbNgIAIAIgAigCACIEQQFrNgIAIAUgCjcCDCAFIAI2AgggBEEBRgRAIAVBCGoQ5QkLIAMgAUEMaiIBRw0ACwwBCyADIAFrQQxuIQQgASADRg0AIAAoAiwiAiABIAJrQQxuQQxsaiECA0AgAigCACIDKAIAIQEgAyABQQFrNgIAIAFBAUYEQCACEOUJCyACQQxqIQIgBEEBayIEDQALCwJAIAcNAEHsgMQAKAIAQf////8HcUUNAEG8hMQAKAIARQ0AIABBAToAAQsgAEEAOgAAIAVBIGokAAv8CgINfwV9IwBBgAJrIgQkAAJ9AkAgACgCRCIFBEAgBSgCACIIQQJHDQELQQAhCCAEQSBqQQA2AgAgBEEYakIANwMAIARBEGpCADcDACAEQgA3AwhDAACAPyEUQwAAAAAMAQsgBEEQaiAFQRxqKQIANwMAIARBGGogBUEkaikCADcDACAEQSBqIAVBLGooAgA2AgAgBCAFKQIUNwMIIAUqAgghFSAFKgIMIRMgBSoCECEUIAUqAgQLIREgAEIANwIYIABBKGpCADcCACAAQSBqQoCAgICAgIDAPzcCACAAQTBqQgA3AgAgAEE4akIANwIAIABBQGtBADYCACAAQRhqIQcCQCACKAIIIgZFDQAgAigCBCIFIAZBA3RqIQkgASgCDCIMBEAgBEEoaiIGQQhqIQogBEGIAWohAiABKAIQIQ0gBkEgaiEOIAZBGGohDyAGQRBqIRADQAJAIAUoAgAiASANTw0AIAwgAUGoAWxqIgEoAgBFDQAgASgCBCAFQQRqKAIARw0AIAFB6gBqLQAADQAgASgCCEUNACAOIAFBLGooAgA2AgAgDyABQSRqKQIANwMAIBAgAUEcaikCADcDACAKIAFBFGopAgA3AwAgBCABQQxqKQIANwMoIAFBOGooAgAgAUE8aigCACIGKAIIQQFrQXhxakEIaiELAkACQAJAAkACQCABQTBqKAIAQQFrDgICAAELIARB+ABqIgZBCGogAUE0aigCACIBQQhqKQIANwMAIAIgAUEQaikCADcDACAGQRhqIAFBGGopAgA3AwAgBkEgaiABQSBqKQIANwMAIAZBKGogAUEoaigCADYCACAEIAEpAgA3A3gMAwsgAUE0aioCACISQwAAAABbBEAMAgsgBEH4AGogCyASIAYoApABEQ4ADAILIAFBNGoqAgAiEkMAAAAAWwRADAELIARB1AFqIgEgC0MAAIA/IAYoApABEQ4AIAEgEhDZCCAEQfgAaiIGQShqIAFBKGooAgA2AgAgBkEgaiABQSBqKQIANwMAIAZBGGogAUEYaikCADcDACACIAFBEGopAgA3AwAgBkEIaiABQQhqKQIANwMAIAQgBCkC1AE3A3gMAQsgAkIANwIAIAJBCGpCADcCACACQRBqQgA3AgAg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CSgCACAJKAIEIgcoAghBAWtBeHFqQQhqIgkgBygCnAERCgAiDCAMIA1eGyAMIAxcGzgCACALQQxqIAkgCEEIaiIIIAcoAowBEQEAIAIqAgQhDCACIAsqAgwiDSANlCALKgIQIg0gDZSSIAsqAhQiDSANlJIQmAEgCyoCGJIiDSANIAwgDCANXRsgDCAMXBs4AgQCQAJAAkACQCAKKAIAQQFrDgICAAELIAtByABqIgJBCGogCigCBCIBQQhqKQIANwMAIAJBEGogAUEQaikCADcDACACQRhqIAFBGGopAgA3AwAgAkEgaiABQSBqKQIANwMAIAJBKGogAUEoaigCADYCACALIAEpAgA3A0gMAgsgCioCBCIMQwAAAABbBEAgC0HgAGpCADcDACALQegAakIANwMAIAtB8ABqQQA2AgAgC0IANwNYIAtCADcDSCALQoCAgICAgIDAPzcDUAwCCyALQcgAaiAJIAwgBygCkAERDgAMAQsgCioCBCIMQwAAAABbBEAgC0HgAGpCADcDACALQegAakIANwMAIAtB8ABqQQA2AgAgC0IANwNYIAtCADcDSCALQoCAgICAgIDAPzcDUAwBCyALQfQAaiIBIAlDAACAPyAHKAKQAREOACABIAwQ2QggC0HIAGoiAkEoaiABQShqKAIANgIAIAJBIGogAUEgaikCADcDACACQRhqIAFBGGopAgA3AwAgAkEQaiABQRBqKQIANwMAIAJBCGogAUEIaikCADcDACALIAspAnQ3A0gLIAtBHGogC0HIAGogCBDqAyAAKAIIIgggACgCAEYEQCAAIAgQsAYgACgCCCEICyAAIAhBAWo2AgggACgCBCAIQQN0aiIAIAY2AgQgACAFNgIAIANBGGoiASALQRxqEMQHIAtB9ABqIgAgASAEEIEGIANB0ABqIABBCGoiAigCADYCACADIAspAnQ3AkggA0HcAGogA0E0aioCACIMOAIAIANB2ABqIAw4AgAgAyAMOAJUIAAgASAEEL8CIANBEGogAEEQaikCADcCACADQQhqIAIpAgA3AgAgAyALKQJ0NwIAIAMtAGAiAEEBcQRAIANBADYCVAsgAEECcQRAIANBADYCWAsgAEEEcQRAIANBADYCXAsgAEEIcQRAIANBADYCCCADQgA3AgALIABBEHEEQCADQQA2AgQgA0IANwIM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IA1BKGoiECAOQShqKQIANwMAIA1BIGoiESAOQSBqKQIANwMAIA1BGGogDkEYaikCADcDACANQRBqIhIgDkEQaikCADcDACANQQhqIA5BCGopAgA3AwAgC0H+AGoiDSALQe8Bai0AADoAACALIAspArgBNwOAASALIAsvAO0BOwF8IAxBBEYNACALQQZqIA0tAAA6AAAgC0EIaiIKQQhqIAtBgAFqIg1BCGopAwA3AwAgCkEQaiASKQMANwMAIApBGGogDUEYaikDADcDACAKQSBqIBEpAwA3AwAgCkEoaiAQKQMANwMAIApBMGogDygCADYCACALIAsvAXw7AQQgCyALKQOAATcDCCAMIQoLIAcgBygCAEEBazYCACAGIAYoAgBBAWs2AgAgBSAFKAIAQQFrNgIAIAQgBCgCAEEBazYCACADIAMoAgBBAWs2AgAgAiACKAIAQQFrNgIAIAEgASgCAEEBazYCACAAIAAoAgBBAWs2AgBBACEAIApBBEcEQEGR+sMALQAAGkE8QQQQowwiAEUNAyAAQQA2AgAgACALKQMINwIEIAAgCjoAOCAAIAsvAQQ7ADkgAEEMaiALQRBqKQMANwIAIABBFGogC0EYaikDADcCACAAQRxqIAtBIGopAwA3AgAgAEEkaiALQShqKQMANwIAIABBLGogC0EwaikDADcCACAAQTRqIAtBOGooAgA2AgAgAEE7aiALQQZqLQAAOgAACyALQfABaiQAIAAPCxCQDQALEJENAAtBBEE8QdiAxAAoAgAiAEGjByAAGxEAAAAL8ggCC30GfyMAQRBrIhAkACABKgIAIQYCQAJAAn8CQAJAIAMqAgAiCUMAAAAAXARAQwAAgD8gCZUiBSAGIAIqAgAiBpOUIgcgBSABKgIMIAaTlCIFXiEPIAcgBSAPGyEEQ///f/8hBiAFIAcgDxsiBUP//3//Xg0BIAVD//9//1sNAkEADAMLIAYgAioCACIGXgRADAULIAEqAgwgBl0EQAwFC0P//39/IQVD//9//yEGDAMLQX9BASAPGyERIAUhBkEADAELQQELIRRD//9/fyEFAn8CQCAEQ///f39dRQRAIARD//9/f1sNAUEADAILQQFBfyAPGyESIAQhBUEADAELQQELIRNBACEPIAVDAAAAAF0NASAFIAZdDQELAkAgAyoCBCIKQwAAAABc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EJEKBEAgDyALKgI8IhCUIAggCyoCQCIPlJIgESALKgJEIgiUkiIVQ+b/fz9dRQ0BCyAJQYQBakEANgIADAELQQAhAEEAIQIjAEEgayIEJAACQAJAAkACQAJAAkACQAJAIAxBAWsOAwECAwALIAQgAUGAgICAfHEiAjYCBCACDQMgAUGAgICABHIhAgwCCyAEIAFBgICAgHxxIgI2AgQgAg0DIAFBgICAgHhyIQIMAQsgBCABQYCAgIB8cSICNgIEIAINAyABQYCAgIB8ciECCyAEQSBqJAAMAwsgBEEANgIIIARBBGogBEEIakGs/8IAEPkKAAsgBEEANgIIIARBBGogBEEIakG8/8IAEPkKAAsgBEEANgIIIARBBGogBEEIakHM/8IAEPkKAAsjAEEgayIBJAAgAUEANgIEIAFBIGokACALQdgAakIANwMAIAtB0ABqQgA3AwAgC0IANwNIIBsgCCADlCISIAobIQggGiAPIAOUIhMgChshDyAZIBAgA5QiFiAKGyERIBIgGyAKGyEQIBMgGiAKGyESIBYgGSAKGyETIAJBgICAgHwgChshAUGAgICAfCACIAobIQIgFCAVlCADkyEDAkAgCUGEAWooAgBBAUcEQCAJQQA2AoQBIAkoAnxFBEAgCUH8AGpBABCqBiAJKAKEASEACyAJIABBAWo2AoQBIAlBgAFqKAIAIABBPGxqIgAgCykDSDcCACAAIAE2AjggACACNgI0IAAgAzgCMCAAIAg4AiwgACAPOAIoIAAgETgCJCAAIBA4AiAgACASOAIcIAAgEzgCGCAAQQhqIAtByABqIgFBCGopAwA3AgAgAEEQaiABQRBqKQMANwIADAELIAlBgAFqKAIAIgAgATYCOCAAIAI2AjQgACAROAIkIAAgEzgCGCAAIAM4AjAgAEEsaiAIOAIAIABBKGogDzgCACAAQSBqIBA4AgAgAEEcaiASOAIACyAJIAtBPGoiACALQTBqIgEgChsiAikCADcCiAEgCSABIAAgChsiACkCADcClAEgCUGQAWogAkEIaigCADYCACAJQZwBaiAAQQhqKAIANgIACyALQeAAaiQAC68LAhF/AX0jAEEgayIGJAAgBkEIaiEEIAEiAkEsaigCACEHIAIoAighAwJ/AkAgAigCAARAIAJBEGooAgAiAQRAIAJBCGooAgAhCSACQQxqKAIAIQggAigCBCEFIAIgAUEBayIKNgIQAkAgBSAIRwRAIAUhAQwBCyACIAlBDGoiATYCCCACIAE2AgQgAiAFQQxqNgIMCyAKBEAgAiABQQRqNgIECyABDQILIAJBADYCAAsCQCADRQ0AIAMgB0YNACACQQI2AhAgAiADNgIIIAJBATYCACACIANBDGoiATYCDCACIAE2AiggAiADQQRqNgIEIAMhAQwBCyACKAIUBEAgAkEkaigCACIBBEAgAiABQQFrIgM2AiQgAigCGCIBIAJBIGooAgBGBEAgAiABQQxqNgIgIAJBHGoiBSgCAEEMaiEBIAUgATYCACACIAE2AhgLIAMEQCACIAFBBGo2AhgLIAENAgsgAkEANgIUC0EADAELIAEqAgAhE0EBCyEBIAQgEzgCBCAEIAE2AgACQCAGKAIIRQRAIABBADYCCCAAQoCAgIDAADcCAAwBCwJAAkACQAJAAkACQAJAAkBBBEF/IAJBEGooAgAiBEEAIAIoAgAiCxsiASACQSRqKAIAIg1BACACKAIUIggbaiIDIAEgA0sbQQFqIgFBfyABGyIBIAFBBE0bIgpB/////wFLDQAgCkECdCIBQQBIDQAgBioCDCETQZH6wwAtAAAaIAFBBBCjDCIORQ0BIA4gEzgCACAGQQE2AhwgBiAONgIYIAYgCjYCFCACKAIsIRIgAigCKCEDIAIoAiAhDyACKAIcIRAgAigCGCEMIAIoAgwhCSACKAIIIQUgAigCBCEHIAtFDQIgBEUEQEEAIQQMAwsgBUEMaiICIAUgByAJRiIBGyEFIAdBDGogCSABGyEJIAIgByABGyICIARBAWsiBEEAR0ECdGohByACRQ0CIAMhASACIQMMAwsQ7goAC0EEIAFB2IDEACgCACIAQaMHIAAbEQAAAAsgA0UNASADIBJGDQEgA0EEaiEHQQIhBCADIQUgA0EMaiIJIQELQQEhESAIRQ0CIAMhAgwBCyAIRQ0CIA1FDQIgEEEMaiIIIAwgDCAPRiIBGyICRQ0CIAxBDGogDyABGyEPIAggECABGyEQIAIgDUEBayINQQBHQQJ0aiEMIAMhAQtBBCELQQIhCANAIAIqAgAhEyAKIAhBAWtGBEAgBkEUaiAKQX8gBEEAIBEbIgMgDWoiAiACIANJG0EBaiIDQX8gAxsQjAYgBigCGCEOCyALIA5qIBM4AgAgBiAINgIcAkACQCARRQ0AIARFBEBBACEEDAELIAVBDGoiAiAFIAcgCUYiAxshBSAHQQxqIAkgAxshCSACIAcgAxsiAiAEQQFrIgRBAEdBAnRqIQcgAg0BCwJAIAFFDQAgASASRg0AIAFBBGohB0EBIRFBAiEEIAEiAiIFQQxqIgkhAQwBCyANRQ0DIBBBDGoiCiAMIAwgD0YiAxsiAkUNAyAMQQxqIA8gAxshDyAKIBAgAxshEEEAIREgAiANQQFrIg1BAEdBAnRqIQwLIAtBBGohCyAIQQFqIQggBigCFCEKDAALAAtBBCELQQIhCANAIAMqAgAhEyAKIAhBAWtGBEAgBkEUaiAKIARBAWoQjAYgBigCGCEOCyALIA5qIBM4AgAgBiAINgIcAkACQCAERQ0AIAVBDGoiCiAHIAcgCUYiAhsiA0UNACAKIAUgAhshBSAHQQxqIAkgAhshCSADIARBAWsiBEEAR0ECdGohBwwBCyABRQ0CIAEgEkYNAiABQQRqIQdBAiEEIAEiBSIDQQxqIgkhAQsgC0EEaiELIAhBAWohCCAGKAIUIQoMAAsACyAAIAYpAhQ3AgAgAEEIaiAGQRxqKAIANgIACyAGQSBqJAALmgoCCX8JfSMAQdAAayIDJABDAACAPyACQQIgAioCBIsiDSACKgIAiyIQXiIEIAIqAgiLIA0gECAEG14bIgtBAnRqKgIAmCEMIAEqAgghDiABKgIEIQ8gASoCACENAn8CQAJAAkACQAJAAkACQCALDgMBAgMAC0HgoMIAQShB1MjCABC5CgALIANBGGpCjoCAgKABNwMAIANCiICAgMABNwMQIANChoCAgCA3AwggA0KAgICAwAA3AwAgDEMAAADDYCECQf8AAn8gDItDAAAAT10EQCAMqAwBC0GAgICAeAtBgH8gAhsgDEMAAP5CXhtBACAMIAxbG0EBasBBAm0iAcAhAiABQf8BcUECSQ0CIAJBAkGkyMIAEO0IAAsgA0EYakKOgICA4AA3AwAgA0KEgICAwAE3AxAgA0KKgICAIDcDCCADQoCAgICAATcDACAMQwAAAMNgIQJB/wACfyAMi0MAAABPXQRAIAyoDAELQYCAgIB4C0GAfyACGyAMQwAA/kJeG0EAIAwgDFsbQQFqwEECbSIBwCECIAFB/wFxQQJJDQIgAkECQbTIwgAQ7QgACyADQRhqQo6AgICgATcDACADQoKAgIDgADcDECADQoyAgICAATcDCCADQoCAgIDAADcDACAMQwAAAMNgIQJB/wACfyAMi0MAAABPXQRAIAyoDAELQYCAgIB4C0GAfyACGyAMQwAA/kJeG0EAIAwgDFsbQQFqwEECbSIBwCECIAFB/wFxQQJJDQIgAkECQcTIwgAQ7QgACyADIAJBBHRqIgEoAgwhBCABKAIIIQUgASgCBCEGIAEoAgAhByADQRhqQv2BgIDAHTcDACADQvSBgIDgHzcDECADQtmBgICAGTcDCCADQtCBgICgGzcDACABKAIMIQggASgCCCEJIAEoAgQhCiAPjCERIA6MIRIgDSAMlCINIRMgDSIQIRQgASgCAAwCCyADIAJBBHRqIgEoAgwhBCABKAIIIQUgASgCBCEGIAEoAgAhByADQRhqQvuBgICgGzcDACADQvKBgIDgHzcDECADQumBgICAGTcDCCADQuCBgIDAHTcDACABKAIMIQggASgCCCEJIAEoAgQhCiAOjCESIA2MIhMhECANIRQgDyAMlCIRIQ8gASgCAAwBCyADIAJBBHRqIgEoAgwhBCABKAIIIQUgASgCBCEGIAEoAgAhByADQRhqQv2BgICQHTcDACADQtmBgICwHzcDECADQvSBgICAHDcDCCADQtCBgICgHjcDACABKAIMIQggASgCCCEJIAEoAgQhCiAPjCERIA0hEyANjCIQIRQgDiAMlCIOIRIgASgCAAshASADIAY2AgQgAyAHNgIAIAMgBTYCCCADIAQ2AgwgA0EsaiADELIFIAMgCDYCDCADIAk2AgggAyAKNgIEIAMgATYCACADQTxqIAMQswUgAyALIAJBA2xqQQpqIgFBgICAgHxxIgI2AkwgAkUEQCAAIBI4AiwgACAPOAIoIAAgFDgCJCAAIBI4AiAgACAROAIcIAAgEDgCGCAAIA44AhQgACAROAIQIAAgEzgCDCAAIA44AgggACAPOAIEIAAgDTgCACAAIAMpAiw3AjAgACADKQI8NwJAIABBOGogA0E0aikCADcCACAAQcgAaiADQcQAaikCADcCACAAQQQ2AlQgACABQYCAgIB8cjYCUCADQdAAaiQADwsgA0EANgIAIANBzABqIANBzP/CABD5CgAL4BICFH8GfiMAQfAA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ADYCACABQQxqIAJBGGooAgA2AgAgAUEwaiACQSRqKAIANgIAIAFBJGogAkEwaigCADYCACALIAspAowBNwIwIAsgCykCmAE3AiQgCyALKQKkATcCSCALIAspArABNwI8IAsgAzoAVCALIAsqAogBOAIgDAILIAsgBiAHKAKsAREAACALKAIAIgYEQCALQYgBaiABIAUgBiALKAIEIAIgAyAEIAggCSAKECwgCy0AvAEiAUEERwRAIAtBgAFqIAtBlAFqKAIANgIAIAtBKGogC0GgAWooAgA2AgAgC0HgAGogC0GsAWooAgA2AgAgC0HwAGogC0G4AWooAgA2AgAgCyALKQKMATcDeCALIAspApgBNwMgIAsgCykCpAE3A1ggCyALKQKwATcDaCALKgKIASEJCyAAIAk4AgAgACALKQMgNwIEIAAgCykDeDcCECAAIAspA2g3AhwgACALKQNYNwIoIAAgAToANCAAQQxqIAtBKGooAgA2AgAgAEEYaiALQYABaigCADYCACAAQSRqIAtB8ABqKAIANgIAIABBMGogC0HgAGooAgA2AgAgAEE3aiALQYoBai0AADoAACAAIAsvAIgBOwA1DAMLIABBBToANAwCCyALQSBqIAEgAiAMIA0gAyAEIAUgDiAPIAYgByAIIAkgC0HYAGoQNwsgAEEwaiALQSBqIgFBMGopAgA3AgAgAEEoaiABQShqKQIANwIAIABBIGogAUEgaikCADcCACAAQRhqIAFBGGopAgA3AgAgAEEQaiABQRBqKQIANwIAIABBCGogAUEIaikCADcCACAAIAspAiA3AgALIAtBwAFqJAALjggCCX8CfiMAQdAAayICJAACQCABKAIEIgNFBEAgAEGAgICAeDYCAAwBCyABIANBAWs2AgQCQCABKAIAIgcoAgQiAUEHTQRAIAJCgcqAgIABNwMgIAJBIGoQgAshAwwBCyAHIAFBCGs2AgQgByAHKAIAIgFBCGo2AgAgAkE4aiABKQAAEMYGIAIoAjwhASACKAI4BEAgASEDDAELAkACQAJAAkACQAJAQYCABCABIAFBgIAETxsiBkUEQEEEIQMMAQtBkfrDAC0AABogBkEEdCIEQQQQowwiA0UNAQtBACEEIAJBADYCECACIAM2AgwgAiAGNgIIIAEEQANAIAJBAzYCPCACIAc2AjggAkEg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IgIkAAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAABBAWsOEQECAwQFBgcICQoLDA0ODxARAAsgAiAALQABOgAIIAJBJGpCATcCACACQQI2AhwgAkG0s8MANgIYIAJBngc2AhQgAiACQRBqNgIgIAIgAkEIajYCECABIAJBGGoQiwwMEQsgAiAAKQMINwMIIAJBJGpCATcCACACQQI2AhwgAkHQs8MANgIYIAJB/AA2AhQgAiACQRBqNgIgIAIgAkEIajYCECABIAJBGGoQiwwMEAsgAiAAKQMINwMIIAJBJGpCATcCACACQQI2AhwgAkHQs8MANgIYIAJBnwc2AhQgAiACQRBqNgIgIAIgAkEIajYCECABIAJBGGoQiwwMDwsgAiAAKwMIOQMIIAJBJGpCATcCACACQQI2AhwgAkHws8MANgIYIAJBoAc2AhQgAiACQRBqNgIgIAIgAkEIajYCECABIAJBGGoQiwwMDgsgAiAAKAIENgIIIAJBJGpCATcCACACQQI2AhwgAkGMtMMANgIYIAJBoQc2AhQgAiACQRBqNgIgIAIgAkEIajYCECABIAJBGGoQiwwMDQsgAiAAKQIENwIIIAJBJGpCATcCACACQQE2AhwgAkGktMMANgIYIAJBogc2AhQgAiACQRBqNgIgIAIgAkEIajYCECABIAJBGGoQiwwMDAsgAkEkakIANwIAIAJBATYCHCACQay0wwA2AhggAkGgs8MANgIgIAEgAkEYahCLDAwLCyACQSRqQgA3AgAgAkEBNgIcIAJBwLTDADYCGCACQaCzwwA2AiAgASACQRhqEIsMDAoLIAJBJGpCADcCACACQQE2AhwgAkHUtMMANgIYIAJBoLPDADYCICABIAJBGGoQiwwMCQsgAkEkakIANwIAIAJBATYCHCACQey0wwA2AhggAkGgs8MANgIgIAEgAkEYahCLDAwICyACQSRqQgA3AgAgAkEBNgIcIAJB/LTDADYCGCACQaCzwwA2AiAgASACQRhqEIsMDAcLIAJBJGpCADcCACACQQE2AhwgAkGItcMANgIYIAJBoLPDADYCICABIAJBGGoQiwwMBgsgAkEkakIANwIAIAJBATYCHCACQZS1wwA2AhggAkGgs8MANgIgIAEgAkEYahCLDAwFCyACQSRqQgA3AgAg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lCAOIAFBFGoqAgCUkiANIAFBGGoqAgCUkosgFF9FDQEMCAsLIAMgBEHY8MIAEO0IAAsgBCACIAsoAgBqIgNNBEAgAyAEQejwwgAQ7QgACyAIIAUgA0ECdGooAgAiA0sNASADIAhB+PDCABDtCAALIAEgB0HI8MIAEO0IAAsgAkEBaiECIA8gCSADQRRsaiIHKgIIlCAOIAdBDGoqAgCUkiANIAdBEGoqAgCUkiATYEUNAAtBAiEIDAILIAYgAkG48MIAEO0IAAtBAEEAQbyqwwAQ7QgACyAAIAM2AgQgACAINgIAIApBEGokAAuRCAEHfyABIAAoAgAiBygCCCIFTwRAIAcgBSABQQFqIgkiBEkEfyAFIQYgCSAFayIKIAcoAgAgBWtLBEAgByAFIAoQpAYgBygCCCEGCyAHKAIEIAZBBHRqIQQgCkECTwRAIAEgBWsiB0EDcSEIIAVBf3MgAWpBA08EQCAHQXxxIQUDQCAEQn83AgggBEEAOgAEIARBfzYCACAEQThqQn83AgAgBEE0akEAOgAAIARBMGpBfzYCACAEQShqQn83AgAgBEEkakEAOgAAIARBIGpBfzYCACAEQRhqQn83AgAgBEEUakEAOgAAIARBEGpBfzYCACAEQUBrIQQgBUEEayIFDQALCyAIBEADQCAEQn83AgggBEEAOgAEIARBfzYCACAEQRBqIQQgCEEBayIIDQALCyAGIApqQQFrIQYLIARCfzcCCCAEQQA6AAQgBEF/NgIAIAZBAWoFIAQLNgIIIAkgACgCBCIHKAIIIgVLBEAgCSAFIgZrIgkgBygCACAFa0sEQCAHIAUgCRCmBiAHKAIIIQYLIAcoAgQgBkEYbGohBCAJQQJPBEAgASAFayIKQQNxIQggBUF/cyABakEDTwRAIApBfHEhBQNAIARC////+////79/NwIQIARC////+/f//79/NwIIIARC////+/f//7//ADcCACAEQdgAakL////7////v383AgAgBEHQAGpC////+/f//79/NwIAIARByABqQv////v3//+//wA3AgAgBEFAa0L////7////v383AgAgBEE4akL////79///v383AgAgBEEwakL////79///v/8ANwIAIARBKGpC////+////79/NwIAIARBIGpC////+/f//79/NwIAIARBGGpC////+/f//7//ADcCACAEQeAAaiEEIAVBBGsiBQ0ACwsgCARAA0AgBEL////7////v383AhAgBEL////79///v383AgggBEL////79///v/8ANwIAIARBGGohBCAIQQFrIggNAAsLIAYgCWpBAWshBgsgBEL////7////v383AhAgBEL////79///v383AgggBEL////79///v/8ANwIAIAZBAWohCQsgByAJNgIIIAAoAgAiBygCCCEFCyABIAVJBEAgBygCBCABQQR0aiIGIAE2AgggBkEMaiACNgIAIAEgACgCBCICKAIIIgZJBEAgAigCBCABQRhsaiICIAMpAgA3AgAgAkEQaiADQRBqKQIANwIAIAJBCGogA0EIaikCADcCACAAKAIIIgAoAgghCCAAKAIAIAhGBEAgACAIELMGIAAoAgghCAsgACAIQQFqNgIIIAAoAgQgCEECdGogATYCAA8LIAEgBkGk18AAEO0IAAsgASAFQZTXwAAQ7QgAC6UHAgN/EH0jAEGAAmsiBSQAIAVBqAFqQQA2AgAgBUG4AWpBADYCACAFQoKAgIAwNwMIIAVCgICAgBA3AwAgBUIANwOgASAFQgA3A7ABIAVBMGpBAEHwABCiDUEANgIAIAVBKGpCADcDACABKgIEIhAgAkEQaioCACIIjCIRlCABKgIAIgsgAioCDCIJlJMgAkEUaioCACIKIAEqAggiDpSTIAFBEGoqAgAiFSARlCAJIAEqAgwiD5STIAogAUEUaioCACIWlJNeIQYgBUEcaiALIA8gBhsgAioCACISkyIMOAIAIAVBJGogASABQQxqIgcgBhsiBioCCCACKgIIIhOTIg04AgAgBUEgaiAGKgIEIAIqAgQiFJMiFzgCACAFQRhqIA04AgAgBUEUaiAXOAIAIAVBADYCvAEgBUEANgKsASAFIAw4AhAgBUHAAWogASAFIAIgAxCkASAFKALAASECAkAgBEUEQCACRQRAIABBBDYCAAwCCyAFKgLEASIMQwAAAABcBEAgACAMOAIIIABBAzYCACAAQRRqIAVB0AFqKAIANgIAIAAgBUHIAWopAgA3AgwMAgsgASAHIA4gCiAJIAmUIAggCJSSIAogCpSSEJgBIg2VIg6UIAsgCSANlSIMlCAQIAggDZUiCJSSkiAWIA6UIA8gDJQgFSAIlJKSXiICGyIEKgII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QQQQzAYgAigCCCEACyACKAIEIABqIAM4AAAgAiAAQQRqIgA2AgggASoCBCEDIAIoAgAgAGtBA00EQCACIABBBBDMBiACKAIIIQALIAIoAgQgAGogAzgAACACIABBBGoiADYCCCABKgIIIQMgAigCACAAa0EDTQRAIAIgAEEEEMwGIAIoAgghAAsgAigCBCAAaiADOAAAIAIgAEEEaiIANgIIIAEqAgwhAyACKAIAIABrQQNNBEAgAiAAQQQQzAYgAigCCCEACyACKAIEIABqIAM4AAAgAiAAQQRqIgA2AgggASoCECEDIAIoAgAgAGtBA00EQCACIABBBBDMBiACKAIIIQALIAIoAgQgAGogAzgAACACIABBBGoiADYCCCABQRRqKgIAIQMgAigCACAAa0EDTQRAIAIgAEEEEMwGIAIoAgghAAsgAigCBCAAaiADOAAAIAIgAEEEaiIANgIIIAFBGGoqAgAhAyACKAIAIABrQQNNBEAgAiAAQQQQzAYgAigCCCEACyACKAIEIABqIAM4AAAgAiAAQQRqIgA2AgggAUEcaioCACEDIAIoAgAgAGtBA00EQCACIABBBBDMBiACKAIIIQALIAIoAgQgAGogAzgAACACIABBBGoiADYCCCABKgIgIQMgAigCACAAa0EDTQRAIAIgAEEEEMwGIAIoAgghAAsgAigCBCAAaiADOAAAIAIgAEEEaiIANgIIIAFBJGoqAgAhAyACKAIAIABrQQNNBEAgAiAAQQQQzAYgAigCCCEACyACKAIEIABqIAM4AAAgAiAAQQRqIgA2AgggAUEoaioCACEDIAIoAgAgAGtBA00EQCACIABBBBDMBiACKAIIIQALIAIoAgQgAGogAzgAACACIABBBGoiADYCCCABQSxqKgIAIQMgAigCACAAa0EDTQRAIAIgAEEEEMwGIAIoAgghAAsgAiAAQQRqNgIIIAIoAgQgAGogAzgAAEEAC/sFAhB/C30jAEGQAmsiBCQAIAIqAgghGCACKgIEIRkgAioCACEaIARBCGoiAyABQQBBABCfAiAEQgA3AlwgBCABNgJYIARB5ABqIANB3AAQow0aIAQoAmRBAUYhASAEQfUBaiEJIARBkAFqIQsgBEHoAGohBUP//39/IRsgGiEUIBkhHCAYIR0DQAJAIARB6AFqIgNBIGoiDCAFQSBqIg0o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AgQiAkUEQCAAQQA2AgAMAQsgASACQQFrNgIEAn8CQCABKAIAIgEoAgQiBEEDTQ0AIAEoAgAhAiABIARBBGsiBzYCBCABIAJBBGo2AgACQCAHQQNNDQAgAigAACEHIAEgBEEIayIFNgIEIAEgAkEIajYCAAJAIAVBA00NACACKgAEIQkgASAEQQxrIgU2AgQgASACQQxqNgIAAkAgBUEDTQ0AIAIqAAghCiABIARBEGsiBTYCBCABIAJBEGo2AgAgBUEESQ0DIAIqAAwhCyABIARBFGsiBTYCBCABIAJBFGo2AgAgBUEESQ0CIAIoABAhBSABIARBGGsiBjYCBCABIAJBGGo2AgAgBkEESQ0BIAIqABQhDCABIARBHGsiBjYCBCABIAJBHGo2AgAgBkEESQ0AIAIqABghDSABIARBIGsiBjYCBCABIAJBIGo2AgAgBkEESQ0DIAIqABwhDiABIARBJGsiBjYCBCABIAJBJGo2AgAgBkEESQ0CIAIoACAhBiABIARBKGsiCDYCBCABIAJBKGo2AgAgCEEESQ0BIAIqACQhDyABIARBLGsiCDYCBCABIAJBLGo2AgAgCEEESQ0AIAAgAioAKDgCLCAAIA84AiggACAGNgIkIAAgDjgCICAAIA04AhwgACAMOAIYIAAgBTYCFCAAIAs4AhAgACAKOAIMIAAgCTgCCCAAIAc2AgQgAEEBNgIAIAEgBEEwazYCBCABIAJBMGo2AgAgACACKgAsOAIwDAULIANBADoACyADQSU7AAkgA0EENgIMIANBAToACCADQQhqEIALDAMLIANBADoACyADQSU7AAkgA0EENgIMIANBAToACCADQQhqEIALDAILIANBADoACyADQSU7AAkgA0EENgIMIANBAToACCADQQhqEIALDAELIANBADoACyADQSU7AAkgA0EENgIMIANBAToACCADQQhqEIALCyEBIABBAjYCACAAIAE2AgQLIANBEGokAAvTBQIFfxB9AkACQAJAAkACQAJAIAEvAcABQZgBcUGYAUcNACABQdwAaigCACIDIAJNDQEgAUHYAGooAgAgAkEMbGoiBCgCACIFIAFB0ABqKAIAIgNPDQIgAyAEKAIEIgdNDQMgBCgCCCIEIANPDQQgASgCYEGAgICAeEYNACABQfQAaigCACIDIAJNDQUgAUHMAGooAgAi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GyIDSQRAIAFBCGogBCADEJAGIAEoAhAhBQsgAUEMaigCACEMAkAgBEEATA0AIAlBAWshDgJAIARBAXFFBEAgBCEHDAELIAwgBUGUAmxqIgMgCiAEQQFqIgcgBCAORiIIGzYCCCADIAtBASAIGzYCBCADQYCAgIB4NgIAIAVBAWohBQsgBEEBRg0AIAcgCWtBAWohCCAMIAVBlAJsaiEDA0AgA0GAgICAeDYCACADQZQCakGAgICAeDYCACADQQRqQQEgCyAIGzYCACADQQhqIAdBAWoiDSAKIAgbNgIAIANBnAJqIAogB0ECaiIHIA0gDkYiDRs2AgAgA0GYAmogC0EBIA0bNgIAIAhBAmohCCADQagEaiEDIAVBAmohBSAHIAlHDQALCyABIAU2AhACQCAEIAVJBEAgDCAEQZQCbGoiAygCAEGAgICAeEcNASABIAMpAgQ3AgAgASABKAIYQQFqNgIYIAEoAhQhASADIAJBkAIQow0gATYCkAIgACABNgIEIAAgBDYCACAGQTBqJAAPCyAEIAVBkJzAABDtCAALIAZBJGpCADcCACAGQQE2AhwgBkG0nMAANgIYIAZBgIDAADYCICAGQRhqQbycwAAQ7woAC4EGAQV/IABBCGshASABIABBBGsoAgAiA0F4cSIAaiECAkACQAJAAkAgA0EBcQ0AIANBA3FFDQEgASgCACIDIABqIQAgASADayIBQaCExAAoAgBGBEAgAigCBEEDcUEDRw0BQZiExAAgADYCACACIAIoAgRBfnE2AgQgASAAQQFyNgIEIAIgADYCAA8LIAEgAxDDBAsCQAJAIAIoAgQiA0ECcUUEQCACQaSExAAoAgBGDQIgAkGghMQAKAIARg0FIAIgA0F4cSICEMMEIAEgACACaiIAQQFyNgIEIAAgAWogADYCACABQaCExAAoAgBHDQFBmITEACAANgIADwsgAiADQX5xNgIEIAEgAEEBcjYCBCAAIAFqIAA2AgALIABBgAJJDQIgASAAEIIFQQAhAUG4hMQAQbiExAAoAgBBAWsiADYCACAADQFBgILEACgCACIABEADQCABQQFqIQEgACgCCCIADQALC0G4hMQAQf8fIAEgAUH/H00bNgIADwtBpITEACABNgIAQZyExABBnITEACgCACAAaiIANgIAIAEgAEEBcjYCBEGghMQAKAIA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BGsiBiAAKAIAIARrSwRAIAAgBCAGEKYGIAAoAgghBQsgACgCBCAFQRhsaiEDIAZBAk8EQCAEQX9zIAFqIgRBB3EhASAGQQJrQQdPBEAgBEF4cSEEA0AgA0IANwIAIANBEGpCADcCACADQQhqQgA3AgAgA0EYakIANwIAIANBIGpCADcCACADQShqQgA3AgAgA0EwakIANwIAIANBOGpCADcCACADQUBrQgA3AgAgA0HIAGpCADcCACADQdAAakIANwIAIANB2ABqQgA3AgAgA0HgAGpCADcCACADQegAakIANwIAIANB8ABqQgA3AgAgA0GIAWpCADcCACADQYABakIANwIAIANB+ABqQgA3AgAgA0GgAWpCADcCACADQZgBakIANwIAIANBkAFqQgA3AgAgA0GoAWpCADcCACADQbABakIANwIAIANBuAFqQgA3AgAgA0HAAWohAyAEQQhrIgQNAAsLIAEEQANAIANCADcCACADQRBqQgA3AgAgA0EIakIANwIAIANBGGohAyABQQFrIgENAAsLIAUgBmpBAWshBQsgA0IANwIAIANBEGpCADcCACADQQhqQgA3AgAgBUEBaiEBCyAAIAE2AggCQAJAAkAgAkUEQEEEIQMMAQsgAkH/////AUsNASACQQJ0IgFBAEgNAUGR+sMALQAAGiABQQQQowwiA0UNAiADQQAgARCiDRoLIAAoAgwEQCAAKAIQEJUCCyAAIAM2AhAgACACNgIMIABBGGogAjYCACAAQRRqIAI2AgAPCxDuCgALQQQgAUHYgMQAKAIAIgBBowcgABsRAAAAC+oYAhR/BX4jAEEQayISJAAgEiADNwMIIBIgAjcDACABKQMQIAFBGGopAwAgEhDSAyEbIAEoAghFBEAgAUEQaiEKIwBBIGsiECQAAkAgASgCDCIPQQFqIgVFBEAQmwogECgCABoMAQsgASgCBCILQQFqIg1BA3YhCAJAAkACQAJAIAsgCEEHbCALQQhJGyIMQQF2IAVJBEAgBSAMQQFqIgggBSAISxsiCEEISQ0BIAhBgICAgAJJBEBBASEFIAhBA3QiCEEOSQ0FQX8gCEEHbkEBa2d2QQFqIQUMBQsQmwogECgCGEGBgICAeEcNBSAQKAIcIQUMBAtBACEFIAEoAgAhCQJAIAggDUEHcUEAR2oiCEUNACAIQQFxIQYg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IABB+AFqKgIAkjgCECABIAOnviAAQbACaikCACIEp76SOAIAIAEgA0IgiKe+IARCIIinvpI4AgQgBkEDRg0DIAUoAoQBIgEgAEHnA2otAAAiAksNAgsgAiABQaDIwQAQ7QgACyAFIAJBgMjBABDtCAALIAUoAoABIAJBPGxqIgEgAEHgAmoqAgAiBzgCFCABIABBlANqKQIAIgM3AgggASAHIABB5AJqKgIAkjgCECABIAOnviAAQZwDaikCACIEp76SOAIAIAEgA0IgiKe+IARCIIinvpI4AgQgBkEERw0BCw8LQQRBBEGQyMEAEO0IAAvsBAMCfgJ/AX0CQAJAAkAgAiAAKAKABSIFSwRAIAAtAIgFIgZFDQICQCABIAVBAnRqKAIAIgVBhAFqKAIAIgEgAC0AhAUiAk0NACAFKAKAASACQTxsaiIBIAAqAigiBzgCFCABIABB9ABqKQIAIgM3AgggASAHIAAqAiySOAIQIAEgA6e+IABB/ABqKQIAIgSnvpI4AgAgASADQiCIp74gBEIgiKe+kjgCBCAGQQFGDQMgBSgChAEiASAAQYUFai0AACICTQ0AIAUoAoABIAJBPGxqIgEgAEG4AWoqAgAiBzgCFCABIABBhAJqKQIAIgM3AgggASAHIABBvAFqKgIAkjgCECABIAOnviAAQYwCaikCACIEp76SOAIAIAEgA0IgiKe+IARCIIinvpI4AgQgBkECRg0DIAUoAoQBIgEgAEGGBWotAAAiAk0NACAFKAKAASACQTxsaiIBIABByAJqKgIAIgc4AhQgASAAQZQDaikCACIDNwIIIAEgByAAQcwCaioCAJI4AhAgASADp74gAEGcA2opAgAiBKe+kjgCACABIANCIIinviAEQiCIp76SOAIEIAZBA0YNAyAFKAKEASIBIABBhwVqLQAAIgJLDQILIAIgAUGIzMEAEO0IAAsgBSACQejLwQAQ7QgACyAFKAKAASACQTxsaiIBIABB2ANqKgIAIgc4AhQgASAAQaQEaikCACIDNwIIIAEgByAAQdwDaioCAJI4AhAgASADp74gAEGsBGopAgAiBKe+kjgCACABIANCIIinviAEQiCIp76SOAIEIAZBBEcNAQsPC0EEQQRB+MvBABDtCAALoQQCFX0BfyABQShqIRggAUEkaioCACEJAkACQCABKgIgIgtD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2BNLDQEgAkE0bCIDQQBIDQFBkfrDAC0AABogA0EEEKMMIgVFDQILIAUgByADEKMNIQMgAEHoAGogAUHoAGopAgA3AgAgAEHwAGogAUHwAGooAgA2AgAgACAEKQMANwJ8IABBhAFqIAYoAgA2AgAgACABKQKIATcCiAEgAEGQAWogAUGQAWooAgA2AgAgACABKQKUATcClAEgAEGcAWogAUGcAWooAgA2AgAgAUH0AGooAgAhBSABQfgAai8BACEGIAAgDzYCpAEgACAQNgKgASAAIAEpAgA3AgAgAEEIaiABQQhqKQIANwIAIABBEGogAUEQaikCADcCACAAQRhqIAFBGGopAgA3AgAgACABKQIgNwIgIABBKGogAUEoaikCADcCACAAQTBqIAFBMGopAgA3AgAgAEE4aiABQThqKQIANwIAIABB+ABqIAY7AQAgAEH0AGogBTYCACAAQeQAaiAINgIAIABB4ABqIAI2AgAgAEHcAGogAzYCACAAQdgAaiACNgIAIABB1ABqIAk2AgAgAEHQAGogCjYCACAAQcwAaiALNgIAIABByABqIAw2AgAgAEHEAGogDTYCACAAIA42AkAgBEEQaiQADwsQ7goAC0EEIANB2IDEACgCACIAQaMHIAAbEQAAAAvQBAEIfyMAQRBrIgckAAJ/IAIoAgQiBARAQQEgACACKAIAIAQgASgCDBEFAA0BGgsgAkEMaigCACIDBEAgAigCCCIEIANBDGxqIQggB0EMaiEJA0ACQAJAAkACQCAELwEAQQFrDgICAQALAkAgBCgCBCICQcEATwRAIAFBDGooAgAhAwNAQQEgAEGq3sMAQcAAIAMRBQANCBogAkFAaiICQcAASw0ACwwBCyACRQ0DCyAAQarewwAgAiABQQxqKAIAEQUARQ0CQQEMBQsgACAEKAIEIARBCGooAgAgAUEMaigCABEFAEUNAUEBDAQLIAQvAQIhAiAJQQA6AAAgB0EANgIIAkACQAJ/AkACQAJAIAQvAQBBAWsOAgEAAgsgBEEIagwCCyAELwECIgNB6AdPBEBBBEEFIANBkM4ASRshBQwDC0EBIQUgA0EKSQ0CQQJBAyADQeQASRshBQwCCyAEQQRqCygCACIFQQZJBEAgBQ0BQQAhBQwCCyAFQQVB7N7DABDuCAALIAdBCGogBWohBgJAIAVBAXFF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NgIAIANFDQAgAygCACIEQX9GDQEgAyAEQQFqNgIAIAVByAJqIgRBCGoiDCABQQRqIgZBCGopAgA3AwAgBEEQaiINIABBBGoiBykCADcDACAEQRhqIg4gB0EIaigCADYCACAFQegCaiIEQQhqIg8gA0EMaikCADcDACAEQRBqIhAgAkEEaiIHKQIANwMAIARBGGoiESAHQQhqKAIANgIAIAUgBikCADcDyAIgBSADKQIENwPoAiMAQeAAayIGQc0AaiIHQQtqQgA3AAAgBkE6aiIIQQtqQgA3AAAgBkEnaiIJQQtqQgA3AAAgBkEUaiIKQQtqQgA3AAAgBUHIBWoiBEH4AGpCADcDACAEQfAAakIANwMAIARCADcDaCAEQgA3A5ABIARBmAFqQgA3AwAgBkEBaiILQQtqQgA3AAAgBEHcAGpCADcCACAEQgA3AlQgBkIANwBQIARBsQFqIAdBCGopAAA3AAAgBkIANwA9IAZCADcAKiAGQgA3ABcgBkIANwAEIAQgBikATTcAqQEgBEG4AWogB0EPaigAADYAACAEIAYpADo3AMUBIARBzQFqIAhBCGopAAA3AAAgBEHUAWogCEEPaigAADYAACAEIAYpACc3AOEBIARB6QFqIAlBCGopAAA3AAAgBEHwAWogCUEPaigAADYAACAEQYwCaiAKQQ9qKAAANgAAIARBhQJqIApBCGopAAA3AAAgBCAGKQAUNwD9ASAEQagCaiALQQ9qKAAANgAAIARBoQJqIAtBCGopAAA3AAAgBCAGKQABNwCZAiAEQgA3AwggBEIANwMAIARBgAI7AbwCIARBPzYCuAIgBEEAOgC0AiAEQv////sHNwKsAiAEQQA6AJgCIARC////+wc3A5ACIARBADoA/AEgBEL////7BzcC9AEgBEEAOgDgASAEQv////sHNwPYASAEQQA6AMQBIARC////+wc3ArwBIARBADoAqAEgBEL////7BzcDoAEgBEIANwOIASAEQoCAgPwDNwOAASAEQYCAgPwDNgJkIARB////+wc2AlAgBEKAgICA8P//v383A0ggBEL////7////v/8ANwNAIARC////+wc3AzggBEKAgICA8P//v383AzAgBEL////7////v/8ANwMoIARC////+wc3AyAgBEKAgICA8P//v383AxggBEL////7////v/8A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AUEDSw0LIAJBADoASyACQSU7AEkgAkEENgJMIAJBAToASCACQcgAahCACwshASADQZOAgIB4NgI8IAMgATYCAAwYCyACQcgAaiAIEN0CAn8gAigCSEUEQCACQcABaiIEQQhqIgYgAkHIAGoiAUEQaikCADcDACAEQRBqIgogAUEYaikCADcDACAEQRhqIgUgAkHoAGopAgA3AwAgAiABQQhqKQIANwPAASAIKAIEIgFBBEkEQCACQQA6AEsgAkElOwBJIAJBBDYCTCACQQE6AEggAkHIAGoQgAsMAgsgAigCTCEEIAggAUEEazYCBCAIIAgoAgAiAUEEajYCACABKAAAIQEgAyACKQPAATcCBCADQQxqIAYpAwA3AgAgA0EUaiAKKQMANwIAIANBHGogBSkDADcCACADQY6AgIB4NgI8IAMgATYCJCADIAQ2AgAMGQsgAigCTAshASADQZOAgIB4NgI8IAMgATYCAAwXCwJ/IARBBE8EQCAIIAZBCGsiATYCBCAIIAdBCGo2AgAgAUEESQRAIAJBADoASyACQSU7AEkgAkEENgJMIAJBAToASCACQcgAahCACwwCCyAHKAAEIQQgCCAGQQxrIgE2AgQgCCAHQQxqNgIAIAFBA00EQCACQQA6AEsgAkElOwBJIAJBBDYCTCACQQE6AEggAkHIAGoQgAsMAgsgByoACCE7IAggBkEQazYCBCAIIAdBEGo2AgAgBygADCEBIANBj4CAgHg2AjwgAyABNgIIIAMgOzgCBCADIAQ2AgAMGAsgAkEAOgBLIAJBJTsASSACQQQ2AkwgAkEBOgBIIAJByABqEIALCyEBIANBk4CAgHg2AjwgAyABNgIADBYLAn8gBEEETwRAIAggBkEIayIBNgIEIAggB0EIajYCACABQQRJBEAgAkEAOgBLIAJBJTsASSACQQQ2AkwgAkEBOgBIIAJByABqEIALDAILIAcoAAQhBCAIIAZBDGsiATYCBCAIIAdBDGo2AgAgAUEDTQRAIAJBADoASyACQSU7AEkgAkEENgJMIAJBAToASCACQcgAahCACwwCCyAHKgAIITsgCCAGQRBrNgIEIAggB0EQajYCACAHKAAMIQEgA0GQgICAeDYCPCADIAE2AgggAyA7OAIEIAMgBDYCAAwXCyACQQA6AEsgAkElOwBJIAJBBDYCTCACQQE6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ACEPIAooAgAgDWtBBEkNAwwEC0EBIQ8gCigCACANa0EESQ0CDAMLQQIhDyAKKAIAIA1rQQRJDQEMAgtBAyEPIAooAgAgDWtBA0sNAQsgCiANQQQQzAYgCigCCCENCyAKKAIEIA1qIA82AAAgCiANQQRqNgIIIA5B6ABqLwEAIQwgECgCBCIKKAIIIQ0gCigCACANa0EBTQRAIAogDUECEMwGIAooAgghDQsgCigCBCANaiAMOwAAIAogDUECaiINNgIIIA5B0ABqKAIAIQwgDkHUAGooAgAhDyAKKAIAIA1rQQNNBEAgCiANQQQQzAYgCigCCCENCyAKKAIEIA1qIAw2AAAgCiANQQRqIg02AgggCigCACANa0EDTQRAIAogDUEEEMwGIAooAgghDQsgCigCBCANaiAPNgAAIAogDUEEaiINNgIIIA5B3ABqKAIAIQwgDkHYAGooAgAhDyAKKAIAIA1rQQNNBEAgCiANQQQQzAYgCigCCCENCyAKKAIEIA1qIA82AAAgCiANQQRqIg02AgggCigCACANa0EDTQRAIAogDUEEEMwGIAooAgghDQsgCigCBCANaiAMNgAAIAogDUEEaiINNgIIIA5B4ABqKAIAIQwgCigCACANa0EDTQRAIAogDUEEEMwGIAooAgghDQsgCigCBCANaiAMNgAAIAogDUEEajYCCCAOQeQAaigCACEMIBAoAgQiCigCCCENIAooAgAgDWtBA00EQCAKIA1BBBDMBiAKKAIIIQ0LIAooAgQgDWogDDYAACAKIA1BBGo2AgggECgCBCEKAkACQAJAAkACQCAOQeoAai0AAEEBaw4CAQIAC0EAIQ8gCigCACAKKAIIIg1rQQRJDQIMAwtBASEPIAooAgAgCigCCCINa0EESQ0BDAILQQIhDyAKKAIAIAooAggiDWtBA0sNAQsgCiANQQQQzAYgCigCCCENCyAKKAIEIA1qIA82AAAgCiANQQRqNgIIIA5BmAFqKAIAIQwgECgCBCIKKAIIIQ0gCigCACANa0EDTQRAIAogDUEEEMwGIAooAgghDQsgCigCBCANaiAMNgAAIAogDUEEajYCCCAOQZwBaioCACEeIBAoAgQiCigCCCENIAooAgAgDWtBA00EQCAKIA1BBBDMBiAKKAIIIQ0LIAooAgQgDWogHjgAACAKIA1BBGo2Aggg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aiALQQhqKAIANgIAIAkgCykCADcDICAPKAIAIQsgDygCBCIPKAIIIRMgCUEwaiIUQQhqIBBBCGooAgA2AgAgCSAQKQIANwMwIAxBNGooAgAiECgCCCEVIAwoAjAhFiAJQQE6AEkgCSASOgBIIAkgBzgCRCAJIAg4AkAgCUH4AGogDEH0AGogESAWIBVBAWtBeHFqQQhqIBAgCSAUIAsgE0EBa0F4cWpBCGogDyAJQUBrEMECAkACQCAJLQCsASIPQQVHBEAgCUFAayILQTBqIhAgCUH4AGoiDEEwaigCADYCACALQShqIhIgDEEoaikCADcDACALQSBqIhEgDEEgaikCADcDACALQRhqIhMgDEEYaikCADcDACALQRBqIhQgDEEQaikCADcDACALQQhqIgsgDEEIaikCADcDACAJQT5qIhUgDEE3ai0AADoAACAJIAkpAng3A0AgCSAJLwCtATsBPCAPQQRHDQELIApBBDoANAwBCyAKIAkvATw7ADUgCiAJKQNANwIAIApBN2ogFS0AADoAACAKQQhqIAspAwA3AgAgCkEQaiAUKQMANwIAIApBGGogEykDADcCACAKQSBqIBEpAwA3AgAgCkEoaiASKQMANwIAIApBMGogECgCADYCACAKIA86ADQLIAlBsAFqJAAMAQtB2LPAAEHMAEHMtMAAEO8JAAsgBiAGKAIAQQFrNgIAIAUgBSgCAEEBazYCACAEIAQoAgBBAWs2AgAgAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACAAIAAoAgBBAWs2AgAgDS0APEEERwRAQZH6wwAtAAAaQTxBBBCjDCIORQ0DIA5BADYCACAOIA0pAgg3AgQgDkEMaiANQRBqKQIANwIAIA5BFGogDUEYaikCADcCACAOQRxqIA1BIGopAgA3AgAgDkEkaiANQShqKQIANwIAIA5BLGogDUEwaikCADcCACAOQTRqIA1BOGopAgA3AgALIA1BQGskACAODwsQkA0ACxCRDQALQQRBPEHYgMQAKAIAIgBBowcgABsRAAAAC7QDAgl9AX8jAEFAaiIFJAAgAioCBCIHIAMqAgwiDZQgAioCACILIANBEGoqAgAiDpSTIgggCJIhCSACKgIIIgggDpQgByADQRRqKgIAIgaUkyIMIAySIQogBUEEaiIPQRRqIAYgAioCDCIMIAmUIAcgCpQgCyALIAaUIAggDZSTIgYgBpIiBpSTkpI4AgAgD0EQaiAOIAwgBpQgCyAJlCAIIAqUk5KSOAIAIAUgDSAMIAqUIAggBpQgByAJlJOSkjgCECAHIAMqAgAgAioCEJMiDZQgCyADKgIEIAJBFGoqAgCTIg6UkyIJIAmSIQkgDiAIlCADKgIIIAJBGGoqAgCTIgYgB5STIgogCpIhCiAFIAYgDCAJlCAHIAqUIAsgBiALlCANIAiUkyIGIAaSIgaUk5KSOAIMIAUgDiAMIAaUIAsgCZQgCCAKlJOSkjgCCCAFIA0gDCAKlCAIIAaUIAcgCZSTkpI4AgQgBUEcaiABIAFBDGogAUEYaiAPEIMCAn8gBSgCHEEERwRAQQEgBSoCJCIHIARfDQEaC0EACyECIAAgBzgCBCAAIAI2AgAgBUFAayQAC7cDAgx9AX8jAEEwayIQJAAgAyoCACACKgIQIg2TIgwgAioCBCIHlCADKgIEIAJBFGoqAgAiDpMiCCACKgIAIgmUkyIGIAaSIQogCCACKgIIIgaUIAMqAgggAkEYaioCACIPkyIEIAeUkyILIAuSIQUgECAEIAIqAgwiCyAKlCAHIAWUIAkgBCAJlCAMIAaUkyIEIASSIgSUk5KSOAIIIBAgCCALIASUIAkgCpQgBiAFlJOSkjgCBCAQIAwgCyAFlCAGIASUIAcgCpSTkpI4AgAgEEEMaiICIAEgEEEBEEsgECoCDCEKIBAqAhQhBSAQKgIQIQwgEC0AGCEBIABBFGogAkEUaigCAEEAIBAoAhwiAkEDSSIDGzYCACAAIAJBAiADGzYCECAAIAE6AAwgACAPIAUgCSAGIAqUIAkgBZSTIgggCJIiCJQgByAHIAWUIAYgDJSTIgUgBZIiBZSTIAsgCSAMlCAHIAqUkyIEIASSIgSUkpKSOAIIIAAgDiAMIAYgBZQgCSAElJMgCCALlJKSkjgCBCAAIA0gCiAHIASUIAYgCJSTIAUgC5SSkpI4AgAgEEEwaiQAC80CAQR/IAC8IgNBF3ZB/wFxIgJB/wFGBEAgACAAkiIAIACVDwsCfwJAIANBAXQiAUGAgICAeEsEQCACDQFBACECIANBCXQiAUEATgRAA0AgAkEBayECIAFBAXQiAUEATg0ACwsgA0EBIAJrdAwCCyAAQwAAAACUIAAgAUGAgICAeEYbDwsgA0H///8DcUGAgIAEcgshASACQYABSgRAA0ACQCABQYCAgARrIgRBAEgNACAEIgENACAAQwAAAACUDwsgAUEBdCEBIAJBAWsiAkGAAUoNAAtBgAEhAgsCQCABQYCAgARrIgRBAEgNACAEIgENACAAQwAAAACUDwsgAUH///8DTQRAA0AgAkEBayECIAFBgICAAkkhBCABQQF0IQEgBA0ACwsgA0GAgICAeHEgAUEBIAJrdiABQYCAgARrIAJBF3RyIAJBAEwbcr4LkwoCBn8EfSMAQeAHayIEJAACQAJAAkAgAEUNACAAKAIAIgNBf0YNASAAIANBAWo2AgAgAUUNACABKAIAIgNBf0YNASABIANBAWo2AgAgAkUNACACKAIAIgNBf0YNASACIANBAWo2AgBBAiEFIAIgAioCBCIKIAqUIAJBCGoqAgAiCyALlJIgAkEMaioCACIJIAmUkiIMQwAAAABeBH8gBCAJIAwQmAEiCZU4AtQCIAQgCyAJlTgC0AIgBCAKIAmVOALMAiMAQdAFayIDJAAgA0GwA2pCADcDACADQbgDakIANwMAIANB2ANqQgA3AwAgA0ELakIANwAAIANBvQVqIgVBC2pCADcAACADQaoFaiIGQQtqQgA3AAAgA0GXBWoiB0ELakIANwAAIANBhAVqIghBC2pCADcAACADQgA3A6gDIANCADcD0AMgA0IANwADIANCADcAwAUgA0IANwCtBSADQgA3AJoFIANCADcAhwUgA0GcA2pCADcCACADQgA3ApQDIANB8QNqIANBCGopAAA3AAAgA0H4A2ogA0EPaigAADYAACADIAMpAAA3AOkDIANBlARqIAVBD2ooAAA2AAAgA0GNBGogBUEIaikAADcAACADIAMpAL0FNwCFBCADQbAEaiAGQQ9qKAAANgAAIANBqQRqIAZBCGopAAA3AAAgAyADKQCqBTcAoQQgA0HMBGogB0EPaigAADYAACADQcUEaiAHQQhqKQAANwAAIAMgAykAlwU3AL0EIANB6ARqIAhBD2ooAAA2AAAgA0HhBGogCEEIaikAADcAACADIAMpAIQFNwDZBCADQgA3A8gCIANCADcDwAIgA0GAAjsB/AQgA0E3NgL4BCADQQA6APQEIANC////+wc3AuwEIANBADoA2AQgA0L////7BzcD0AQgA0EAOgC8BCADQv////sHNwK0BCADQQA6AKAEIANC////+wc3A5gEIANBADoAhAQgA0L////7BzcC/AMgA0EAOgDoAyADQv////sHNwPgAyADQgA3A8gDIANCgICA/AM3A8ADIANBgICA/AM2AqQDIANB////+wc2ApADIANCgICAgPD//79/NwOIAyADQv////v///+//wA3A4ADIANC////+wc3A/gCIANCgICAgPD//79/NwPwAiADQv////v///+//wA3A+gCIANC////+wc3A+ACIANCgICAgPD//79/NwPYAiADQv////v///+//wA3A9ACIANBmANqIARBzAJqIgUQ2gMgAyADQcACakHAAhCjDSIDQfQAaiAFENoDIARBmAVqIgUgA0HAAhCjDRogA0HQBWokACAEQYgGaiAAQQRqIgNBCGooAgA2AgAgBEGABmogAykCADcDACAEQdgCaiIDIAVBvQIQow0aIAQvAdYHIQYgBC0A1QchBSAEQeQDaiABQQRqIgdBCGooAgA2AgAgBCAHKQIANwLcAyAEQQhqIANBvQIQow0aIAIoAgBBAWsFIAMLNgIAIAEgASgCAEEBazYCACAAIAAoAgBBAWs2AgBBACECIAVBAkcEQCAEQZwFaiAEQQhqQb0CEKMNGkGR+sMALQAAGkHIAkEIEKMMIgJFDQMgAkEANgIAIAJBBGogBEGYBWpBwQIQow0aIAIgBjsBxgIgAiAFOgDFAgsgBEHgB2okACACDwsQkA0ACxCRDQALQQhByAJB2IDEACgCACIAQaMHIAAbEQAAAAunAwEQfSACQRRqKgIAIQ4gAioCECEPIAIqAgQiCiADKgIAIgaUIAIqAgAiCyADKgIEIgWUkyIHIAeSIQggAioCCCIHIAWUIAogAyoCCCIElJMiDCAMkiEJIAEqAggiECAEIAIqAgwiDCAIlCAKIAmUIAsgCyAElCAHIAaUkyIEIASSIgSUk5KSIg2UIAEqAgAiESAGIAwgCZQgByAElCAKIAiUk5KSIgaUIAEqAgQiEiAFIAwgBJQgCyAIlCAHIAmUk5KSIgiUkpIgAUEUaioCACIFIA2UIAEqAgwiBCAGlCABQRBqKgIAIhMgCJSSkl4hAyAAIAJBGGoqAgAgDSABKgIYIgmUIBAgBSADG5IiBSAMIAsgCCAJlCASIBMgAxuSIgiUIAog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XUUEQCACQSxqIAAqAgQiBiAFjJQiCTgCACACQShqIAAqAgAgCJgiBzgCACACIAQgBpQiCjgCJCACQSBqIAYgBIyUIgQ4AgAgAkEcaiAHOAIAIAIgCTgCGCACQRRqIAUgBpQiBTgCACACQRBqIAc4AgAgAiAEOAIMIAIgCjgCCCACIAc4AgQgAiAFOAIAIAJBMGohASACQUBrIQACQCAIQwAAAABdRQRAIANCkICAgKACNwIIIANCjICAgOABNwIAIAAgAxCzBSACQpOAgIDMADcCUCADQo+AgICQAjcCCCADQouAgIDQATcCAAwBCyADQoaAgICAATcCCCADQoKAgIDAADcCACAAIAMQswUgAkKJgICAzAA3AlAgA0KFgICA8AA3AgggA0KBgICAMDcCAAsgASADELIFDAELIAJBEGogACoCACIGOAIAIAJBFGogBCAAKgIEIgSUIgc4AgAgAiAFIASUIgQ4AgwgAiAHOAIIIAIgBow4AgQgAiAEOAIAIANBCGpCADcDACADQgA3AwAgAkFAayADELMFIAJCgICAgCw3AlAgA0KLgICAsAE3AgggA0KBgICAsAE3AgAgAkEwaiADELIFCyADQRBqJAAL3QIBAX8gACgCGARAIABBHGooAgAQlQILIAAoAiQEQCAAQShqKAIAEJUCCyAAKAIwBEAgAEE0aigCABCVAgsgACgCPARAIABBQGsoAgAQlQILIAAoAkgEQCAAQcwAaigCABCVAgsgACgCVARAIABB2ABqKAIAEJUCCwJAIAAoAmAiAUGAgICAeEYNACABBEAgAEHkAGooAgAQlQILIABB7ABqKAIARQ0AIABB8ABqKAIAEJUCCwJAIAAoAngiAUGAgICAeEYNACABBEAgAEH8AGooAgAQlQILIABBhAFqKAIABEAgAEGIAWooAgAQlQILIABBkAFqKAIARQ0AIABBlAFqKAIAEJUCCwJAIAAoApwBIgFBgICAgHhGDQAgAQRAIABBoAFqKAIAEJUCCyAAQagBaigCAARAIABBrAFqKAIAEJUCCyAAQbQBaigCAEUNACAAQbgBaigCABCVAgsLnAMBEH0gAyoCACACKgIQIg+TIgkgAioCBCIKlCADKgIEIAJBFGoqAgAiEJMiCyACKgIAIgyUkyIHIAeSIQggCyACKgIIIgeUIAMqAgggAkEYaioC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AyAAQfQDaikCADcDACACQTBqIgUgAEHsA2opAgA3AwAgAkEoaiIGIABB5ANqKQIANwMAIAJBIGoiByAAQdwDaikCADcDACACQRhqIgggAEHUA2opAgA3AwAgAkEQaiIJIABBzANqKQIANwMAIAJBCGoiCiAAQcQDaikCADcDAEGR+sMALQAAGiACIABBvANqKQIANwMAQcgAQQQQowwiAUUNAyABIAQ2AgQgAUEANgIAIAEgAikDADcCCCABQRBqIAopAwA3AgAgAUEYaiAJKQMANwIAIAFBIGogCCkDADcCACABQShqIAcpAwA3AgAgAUEwaiAGKQMANwIAIAFBOGogBSkDADcCACABQUBrIAMpAwA3AgALIAJBQGskACABDwsQkA0ACxCRDQALQQRByABB2IDEACgCACIAQaMHIAAbEQAAAAu2AgESfSAAQRRqIAJBGGoqAgAiCSABKgIAIgogAioCACIDIAIqAggiBJQiBSAFkiINIAIqAgQiBSACKgIMIgaUIgggCJIiDpOLlCABKgIEIgggBSAElCIHIAeSIg8gAyAGlCIHIAeSIhCSi5SSIAEqAggiByAEIASUIgsgBiAGlCIRIAMgA5QiEpMiEyAFIAWUIgyTkouUkiIUkjgCACAAIAkgFJM4AgggAEEQaiACQRRqKgIAIgkgByAPIBCTi5QgCiADIAWUIgMgA5IiAyAEIAaUIgQgBJIiBJKLlCAIIAwgE5IgC5OLlJKSIgWSOAIAIAAgAioCECIGIAcgDSAOkouUIAggAyAEk4uUIAogEiARkiAMkyALk4uUkpIiA5I4AgwgACAJIAWTOAIEIAAgBiADkzgCAAuGAwEKfyMAQUBqIgIkAAJAAkAgAARAIAAoAgANASAAQQA2AgAgAEH8A2oiAygCACEEIANBADYCACAEBEAgAkE4aiIDIABBuARqKQIANwMAIAJBMGoiBSAAQbAEaikCADcDACACQShqIgYgAEGoBGopAgA3AwAgAkEgaiIHIABBoARqKQIANwMAIAJBGGoiCCAAQZgEaikCADcDACACQRBqIgkgAEGQBGopAgA3AwAgAkEIaiIKIABBiARqKQIANwMAQZH6wwAtAAAaIAIgAEGABGopAgA3AwBByABBBBCjDCIBRQ0DIAEgBDYCBCABQQA2AgAgASACKQMANwIIIAFBEGogCikD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QeMASwRAIAinIgZB//8DcUHkAG4hBCADQQJrIgMgBUEJamogBiAEQeQAbGtB//8DcUEBdEHi3MMAai8AADsAAAsCQCAEQQpPBEAgA0ECayIDIAVBCWpqIARBAXRB4tzDAGovAAA7AAAMAQsgA0EBayIDIAVBCWpqIARBMGo6AAALIAIgAUHowMMAQQAgBUEJaiADakEnIANrEIYCIQEgBUEwaiQAIAEL4wICA38HfSMAQTBrIgMkACADQQA2AhQgA0KAgID8AzcCDCADQRhqIgQgASACIANBDGoiBRCZBCADQYCAgPx7NgIMIAMqAhghByAEIAEgAiAFEJkEIANCgICAgICAgMA/NwIMIAMqAhghCCAEIAEgAiAFEJkEIANBgICA/Hs2AhAgAyoCHCEJIAQgASACIAUQmQQgA0KAgICAgICAwD83AhAgAyoCHCEKIAQgASACIAUQmQQgA0GAgID8ezYCFCADKgIgIQsgBCABIAIgBRCZBCABKgIIIgZDAAAAAGBFBEAgA0EkakIANwIAIANBATYCHCADQdSSwgA2AhggA0GAhcIANgIgIANBGGpB3JLCABDvCgALIAMqAiAhDCAAQRRqIAsgBpI4AgAgAEEQaiAJIAaSOAIAIAAgByAGkjgCDCAAIAwgBpM4AgggACAKIAaTOAIEIAAgCCAGkzgCACADQTBqJAAL4wICA38HfSMAQTBrIgMkACADQQA2AhQgA0KAgID8AzcCDCADQRhqIgQgASACIANBDGoiBRC8AyADQYCAgPx7NgIMIAMqAhghByAEIAEgAiAFELwDIANCgICAgICAgMA/NwIMIAMqAhghCCAEIAEgAiAFELwDIANBgICA/Hs2AhAgAyoCHCEJIAQgASACIAUQvAMgA0KAgICAgICAwD83AhAgAyoCHCEKIAQgASACIAUQvAMgA0GAgID8ezYCFCADKgIgIQsgBCABIAIgBRC8AyABKgIIIgZDAAAAAGBFBEAgA0EkakIANwIAIANBATYCHCADQdSSwgA2AhggA0GAhcIANgIgIANBGGpB3JLCABDvCgALIAMqAiAhDCAAQRRqIAsgBpI4AgAgAEEQaiAJIAaSOAIAIAAgByAGkjgCDCAAIAwgBpM4AgggACAKIAaTOAIEIAAgCCAGkzgCACADQTBqJAALygICAX8JfSMAQeABayIDJAAgAioCACABKgIQkyIKIAEqAgQiB5QgAioCBCABQRRqKgIAkyILIAEqAgAiCJSTIgUgBZIhBSALIAEqAggiCZQgAioCCCABQRhqKgIAkyIEIAeUkyIGIAaSIQYgAyAEIAEqAgwiDCAFlCAHIAaUIAggBCAIlCAKIAmUkyIEIASSIgSUk5KSOAIMIAMgCyAMIASUIAggBZQgCSAGlJOSkjgCCCADIAogDCAGlCAJIASUIAcgBZSTkpI4AgQgA0HIAWpCADcDACADQdgBakEANgIAIANCgoCAgDA3AyggA0KAgICAEDcDICADQgA3A8ABIANCADcD0AEgA0EwakEAQZABEKINGiADQQA2AtwBIANBEGogACgCBCAAKAIIIANBIGogA0EEakEBECMgAy0AHCEAIANB4AFqJAAgAAuLAwEHfyMAQZABayIDJAAgA0HIAGogAUEYahD3AiABKAIEIQdBBCEIQQQhBQJAAkACQAJAIAEoAggiBgRAIAZBqtWq1QBLDQIgBkEMbCICQQBIDQJBkfrDAC0AABogAkEEEKMMIgVFDQELIAUgByACEKMNIQUgAUEQaigCACEHIAFBFGooAgAiAgRAIAJB/////wBLDQIgAkEDdCIEQQBIDQJBkfrDAC0AABogBEEEEKMMIghFDQMLIAggByAEEKMNIQQgAyADQcgAakHIABCjDSEDQZH6wwAtAAAaQeAAQQQQowwiAUUNAyABIAI2AhQgASAENgIQIAEgAjYCDCABIAY2AgggASAFNgIEIAEgBjYCACABQRhqIANByAAQow0aIABB6NjCADYCBCAAIAE2AgAgA0GQAWokAA8LQQQgAkHYgMQAKAIAIgBBowcgABsRAAAACxDuCgALQQQgBEHYgMQAKAIAIgBBowcgABsRAAAAC0EEQeAAQdiAxAAoAgAiAEGjByAAGxEAAAALyQIBA38jAEGAAWsiBCQAAkACQAJ/AkAgASgCHCICQRBxRQRAIAJBIHENASAANQIAQQEgARDcBAwCCyAAKAIAIQBBACECA0AgAiAEakH/AGogAEEPcSIDQTBB1wAgA0EKSRtqOgAAIAJBAWshAiAAQRBJIQMgAEEEdiEAIANFDQALIAJBgAFqIgBBgAFLDQIgAUEBQeDcwwBBAiACIARqQYABakEAIAJrEIYCDAELIAAoAgAhAEEAIQIDQCAC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IASUIAggBZQgCSAGlJOSkjgCCCADIAogDCAGlCAJIASUIAcgBZSTkpI4AgQgA0HIAWpCADcDACADQdgBakEANgIAIANCgoCAgDA3AyggA0KAgICAEDcDICADQgA3A8ABIANCADcD0AEgA0EwakEAQZABEKINGiADQQA2AtwBIANBEGogACADQSBqIANBBGpBARAgIAMtABwhACADQeABaiQAIAALwgICAX8JfSMAQeABayIDJAAgAioCACABKgIQkyIKIAEqAgQiB5QgAioCBCABQRRqKgIAkyILIAEqAgAiCJSTIgUgBZIhBSALIAEqAggiCZQgAioCCCABQRhqKgIAkyIEIAeUkyIGIAaSIQYgAyAEIAEqAgwiDCAFlCAHIAaUIAggBCAIlCAKIAmUkyIEIASSIgSUk5KSOAIMIAMgCyAMIASUIAggBZQgCSAGlJOSkjgCCCADIAogDCAGlCAJIASUIAcgBZSTkpI4AgQgA0HIAWpCADcDACADQdgBakEANgIAIANCgoCAgDA3AyggA0KAgICAEDcDICADQgA3A8ABIANCADcD0AEgA0EwakEAQZABEKINGiADQQA2AtwBIANBEGogACADQSBqIANBBGpBARAfIAMtABwhACADQeABaiQAIAALwgICAX8JfSMAQeABayIDJAAgAioCACABKgIQkyIKIAEqAgQiB5QgAioCBCABQRRqKgIAkyILIAEqAgAiCJSTIgUgBZIhBSALIAEqAggiCZQgAioCCCABQRhqKgIAkyIEIAeUkyIGIAaSIQYgAyAEIAEqAgwiDCAFlCAHIAaUIAggBCAIlCAKIAmUkyIEIASSIgSUk5KSOAIMIAMgCyAMIASUIAggBZQgCSAGlJOSkjgCCCADIAogDCAGlCAJIASUIAcgBZSTkpI4AgQgA0HIAWpCADcDACADQdgBakEANgIAIANCgoCAgDA3AyggA0KAgICAEDcDICADQgA3A8ABIANCADcD0AEgA0EwakEAQZABEKINGiADQQA2AtwBIANBEGogACADQSBqIANBBGpBARAcIAMtABwhACADQeABaiQAIAALwgICAX8JfSMAQeABayIDJAAgAioCACABKgIQkyIKIAEqAgQiB5QgAioCBCABQRRqKgIAkyILIAEqAgAiCJSTIgUgBZIhBSALIAEqAggiCZQgAioCCCABQRhqKgIAkyIEIAeUkyIGIAaSIQYgAyAEIAEqAgwiDCAFlCAHIAaUIAggBCAIlCAKIAmUkyIEIASSIgSUk5KSOAIMIAMgCyAMIASUIAggBZQgCSAGlJOSkjgCCCADIAogDCAGlCAJIASUIAcgBZSTkpI4AgQgA0HIAWpCADcDACADQdgBakEANgIAIANCgoCAgDA3AyggA0KAgICAEDcDICADQgA3A8ABIANCADcD0AEgA0EwakEAQZABEKINGiADQQA2AtwBIANBEGogACADQSBqIANBBGpBARAeIAMtABwhACADQeABaiQAIAALwgICAX8JfSMAQeABayIDJAAgAioCACABKgIQkyIKIAEqAgQiB5QgAioCBCABQRRqKgIAkyILIAEqAgAiCJSTIgUgBZIhBSALIAEqAggiCZQgAioCCCABQRhqKgIAkyIEIAeUkyIGIAaSIQYgAyAEIAEqAgwiDCAFlCAHIAaUIAggBCAIlCAKIAmUkyIEIASSIgSUk5KSOAIMIAMgCyAMIASUIAggBZQgCSAGlJOSkjgCCCADIAogDCAGlCAJIASUIAcgBZSTkpI4AgQgA0HIAWpCADcDACADQdgBakEANgIAIANCgoCAgDA3AyggA0KAgICAEDcDICADQgA3A8ABIANCADcD0AEgA0EwakEAQZABEKINGiADQQA2AtwBIANBEGogACADQSBqIANBBGpBARAdIAMtABwhACADQeABaiQAIAAL6wICAn0CfwJAIAC8IgRB/////wdxIgNB////+wNNBEAgA0GAgID4A08EQCAEQQBOBEBDAACAPyAAk0MAAAA/lCIAEJgBIgK8QYBgcb4hASAAIAAgAENr0w28lEO6Ey+9kpRDdaoqPpKUIABDruU0v5RDAACAP5KVIAKUIAAgASABlJMgAiABkpWSIAGSIgAgAJIPC0PaD8k/IABDAACAP5JDAAAAP5QiABCYASIBIAEgACAAIABDa9MNvJRDuhMvvZKUQ3WqKj6SlCAAQ67lNL+UQwAAgD+SlZRDaCGis5KSkyIAIACSIQEMAgtD2g/JPyEBIANBgYCAlANJDQFDaCGiMyAAIACUIgEgASABQ2vTDbyUQ7oTL72SlEN1qio+kpQgAUOu5TS/lEMAAIA/kpUgAJSTIACTQ9oPyT+SDwsgA0GAgID8A0cEQEMAAAAAIAAg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8P//v383AzAgBUL////7////v/8ANwMoIAVC////+wc3AyAgBUKAgICA8P//v383AxggBUL////7////v/8ANwMQIAdB+AVqIANBBGoiBkEIaigCADYCACAHQfAFaiAGKQIANwMAIAdByAJqIgYgBUHAAhCjDRogB0HUA2ogBEEMaigCADYCACAHIAQpAgQ3AswDIAdBCGoiCCAGQcACEKMNGiAEIAQoAgBBAWs2AgAgAyADKAIAQQFrNgIAIAVBBGogCEHAAhCjDRpBkfrDAC0AABpByAJBCBCjDCIDRQ0CIANBADYCACADQQRqIAdBiAVqQcQCEKMNGiAHQdAHaiQAIAMPCxCQDQALEJENAAtBCEHIAkHYgMQAKAIAIgNBowcgAxsRAAAAC8UCAQh/IwBBMGsiAiQAAkACQCAABEAgACgCAA0BIABBADYCACAAQTxqIgMoAgAhBCADQQI2AgAgBEECRwRAIAJBKGoiAyAAQegAaikCADcDACACQSBqIgUgAEHgAGopAgA3AwAgAkEYaiIGIABB2ABqKQIANwMAIAJBEGoiByAAQdAAaikCADcDACACQQhqIgggAEHIAGopAgA3AwBBkfrDAC0AABogAiAAQUBrKQIANwMAQThBBBCjDCIBRQ0DIAEgBDYCBCABQQA2AgAgASACKQMANwIIIAFBEGogCCkDADcCACABQRhqIAcpAwA3AgAgAUEgaiAGKQMANwIAIAFBKGogBSkDADcCACABQTBqIAMpAwA3AgALIAJBMGokACABDwsQkA0ACxCRDQALQQRBOEHYgMQAKAIAIgBBowcgABsRAAAAC7QCAgh9AX8jAEEgayILJAAgASoCACIDIAOUIAEqAgQiAyADlJIQmAEhAyABKgIIIgZDAAAAAGBFBEAgC0EUakIANwIAIAtBATYCDCALQdSSwgA2AgggC0GAhcIANgIQIAtBCGpByKvDABDvCgALIAAgAyAGkjgCDCAAIAJBGGoqAgAgAioCDCIDIAIqAgAiBkMAAAAAlCIEIAIqAgQiCEMAAAAAlCIFkyIHIAeSIgeUIAYgAioCCCIJQwAAAACUIgogBJMiBCAEkiIElCAIIAUgCpMiBSAFkiIFlJOSQwAAAACSkjgCCCAAIAJBFGoqAgAgAyAElCAJIAWUIAYgB5STkkMAAAAAkpI4AgQgACACKgIQIAMgBZQgCCAHlCAJIASUk5JDAAAAAJKSOAIAIAtBIGokAAuKCAEIfyMAQdAHayIFJAACQAJAAkAgAUUNACABKAIAIgNBf0YNASABIANBAWo2AgAgAkUNACACKAIAIgNBf0YNASACIANBAWo2AgAjAEHgAGsiBEHNAGoiBkELakIANwAAIARBOmoiB0ELakIANwAAIARBJ2oiCEELakIANwAAIARBFGoiCUELakIANwAAIAVBiAVqIgNB+ABqQgA3AwAgA0HwAGpCADcDACADQgA3A2ggA0IANwOQASADQZgBakIANwMAIARBAWoiCkELakIANwAAIANB3ABqQgA3AgAgA0IANwJUIARCADcAUCADQbEBaiAGQQhqKQAANwAAIARCADcAPSAEQgA3ACogBEIANwAXIARCADcABCADIAQpAE03AKkBIANBuAFqIAZBD2ooAAA2AAAgAyAEKQA6NwDFASADQc0BaiAHQQhqKQAANwAAIANB1AFqIAdBD2ooAAA2AAAgAyAEKQAnNwDhASADQekBaiAIQQhqKQAANwAAIANB8AFqIAhBD2ooAAA2AAAgA0GMAmogCUEPaigAADYAACADQYUCaiAJQQhqKQAANwAAIAMgBCkAFDcA/QEgA0GoAmogCkEPaigAADYAACADQaECaiAKQQhqKQAANwAAIAMgBCkAATcAmQIgA0EQakEANgIAIANBCGpCADcDACADQgA3AwAgA0GAAjsBvAIgA0GAgoA4NgK4AiADQQA6ALQCIANC////+wc3AqwCIANBADoAmAIgA0L////7BzcDkAIgA0EAOgD8ASADQv////sHNwL0ASADQQA6AOABIANC////+wc3A9gBIANBADoAxAEgA0L////7BzcCvAEgA0EAOgCoASADQv////sHNwOgASADQgA3A4gBIANCgICA/AM3A4ABIANBgICA/AM2AmQgA0H////7BzYCUCADQoCAgIDw//+/fzcDSCADQv////v///+//wA3A0AgA0L////7BzcDOCADQoCAgIDw//+/fzcDMCADQv////v///+//wA3AyggA0L////7BzcDICADQoCAgIDw//+/fzcDGCADIAA4AhQgBUH4BWogAUEEaiIEQQhqKAIANgIAIAVB8AVqIAQpAgA3AwAgBUHIAmoiBCADQcACEKMNGiAFQdQDaiACQQxqKAIANgIAIAUgAikCBDcCzAMgBUEIaiIGIARBwAIQow0aIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgA0EEaiAGQcACEKMNGkGR+sMALQAAGkHIAkEIEKMMIgFFDQIgAUEANgIAIAFBBGogBUGIBWpBxAIQow0aIAVB0AdqJAAgAQ8LEJANAAsQkQ0AC0EIQcgCQdiAxAAoAgAiAUGjByABGxEAAAALgwgBCH8jAEHQB2siBCQAAkACQAJAIABFDQAgACgCACICQX9GDQEgACACQQFqNgIAIAFFDQAgASgCACICQX9GDQEgASACQQFqNgIAIwBB4ABrIgNBzQBqIgVBC2pCADcAACADQTpqIgZBC2pCADcAACADQSdqIgdBC2pCADcAACADQRRqIghBC2pCADcAACAEQYgFaiICQfgAakIANwMAIAJB8ABqQgA3AwAgAkIANwNoIAJCADcDkAEgAkGYAWpCADcDACADQQFqIglBC2pCADcAACACQdwAakIANwIAIAJCADcCVCADQgA3AFAgAkGxAWogBUEIaikAADcAACADQgA3AD0gA0IANwAqIANCADcAFyADQgA3AAQgAiADKQBNNwCpASACQbgBaiAFQQ9qKAAANgAAIAIgAykAOjcAxQEgAkHNAWogBkEIaikAADcAACACQdQBaiAGQQ9qKAAANgAAIAIgAykAJzcA4QEgAkHpAWogB0EIaikAADcAACACQfABaiAHQQ9qKAAANgAAIAJBjAJqIAhBD2ooAAA2AAAgAkGFAmogCEEIaikAADcAACACIAMpABQ3AP0BIAJBqAJqIAlBD2ooAAA2AAAgAkGhAmogCUEIaikAADcAACACIAMpAAE3AJkCIAJCADcDCCACQgA3AwAgAkGAAjsBvAIgAkEHNgK4AiACQQA6ALQCIAJC////+wc3AqwCIAJBADoAmAIgAkL////7BzcDkAIgAkEAOgD8ASACQv////sHNwL0ASACQQA6AOABIAJC////+wc3A9gBIAJBADoAxAEgAkL////7BzcCvAEgAkEAOgCoASACQv////sHNwOgASACQgA3A4gBIAJCgICA/AM3A4ABIAJBgICA/AM2AmQgAkH////7BzYCUCACQoCAgIDw//+/fzcDSCACQv////v///+//wA3A0AgAkL////7BzcDOCACQoCAgIDw//+/fzcDMCACQv////v///+//wA3AyggAkL////7BzcDICACQoCAgIDw//+/fzcDGCACQv////v///+//wA3AxAgBEH4BWogAEEEaiIDQQhqKAIANgIAIARB8AVqIAMpAgA3AwAgBEHIAmoiAyACQcACEKMNGiAEQdQDaiABQQxqKAIANgIAIAQgASkCBDcCzAMgBEEIaiIFIANBwAIQow0aIAEgASgCAEEBazYCACAAIAAoAgBBAWs2AgAgAkEEaiAFQcACEKMNGkGR+sMALQAAGkHIAkEIEKMMIgBFDQIgAEEANgIAIABBBGogBEGIBWpBxAIQow0aIARB0AdqJAAgAA8LEJANAAsQkQ0AC0EIQcgCQdiAxAAoAgAiAEGjByAAGxEAAAALwwICA38BfiMAQRBrIgMkAAJAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iBacgBUIgiKcQqQoiAkUNAgJAAkAgAkEwaigCACACQTRqKAIAIgIoAghBAWtBeHFqQQhqIgQgAigClAERBABB/wFxQQhGBEAgBCACELEJIgINAQsgACAAKAIAQQFrNgIAQQAhAAwBCyACQTBqKAIAIQQgAikCKCEFIAAgACgCAEEBazYCACADQQhqIgIgBDYCACADIAU3AwBBkfrDAC0AABpBEEEEEKMMIgBFDQQgAEEANgIAIAAgAykDADcCBCAAQQxqIAIoAgA2AgALIANBEGokACAADwsQkA0ACxCRDQALQdizwABBzABBzLTAABDvCQALQQRBEEHYgMQAKAIAIgBBowcgABsRAAAAC80CAgR/AX4jAEFAaiICJABBASEEAkAgAC0ABA0AIAAtAAUhBAJAIAAoAgAiAygCHCIFQQRxRQRAIARFDQFBASEEIAMoAhRBk9zDAEECIANBGGooAgAoAgwRBQBFDQEMAgsgBEUEQEEBIQQgAygCFEGx3MMAQQEgA0EYaigCACgCDBEFAA0CIAMoAhwhBQtBASEEIAJBAToAGyACQTRqQfTbwwA2AgAgAiADKQIUNwIMIAIgAkEbajYCFCACIAMpAgg3AiQgAykCACEGIAIgBTYCOCACIAMoAhA2AiwgAiADLQAgOgA8IAIgBjcCHCACIAJBDGo2AjAgASACQRxqQbjOwAAoAgARAwANASACKAIwQZjcwwBBAiACKAI0KAIMEQUAIQQMAQsgASADQbjOwAAoAgARAwAhBAsgAEEBOgAFIAAgBDoABCACQUBrJAALnAIBCX0CQAJAIAAEQCAAKAIAQX9GDQFBkfrDAC0AABogAEHwAGoqAgAhASAAQewAaioCACEHIABB6ABqKgIAIQggAEEYaioCACEJIABBFGoqAgAhAiAAQRBqKgIAIQMgAEEMaioCACEEQRBBBBCjDCIARQ0CIABBADYCACAAIAEgCSAEIAeUIAMgCJSTIgUgBZIiBZQgBCACIAiUIAQgAZSTIgYgBpIiBpQgAyADIAGUIAIgB5STIgEgAZIiAZSTkpI4AgwgACAHIAkgBpQgAiABlCAEIAWUk5KSOAIIIAAgCCAJIAGUIAMgBZQgAiAGlJOSkjgCBCAADwsQkA0ACxCRDQALQQRBEEHYgMQAKAIAIgBBowcgABsRAAAAC8QCAgR/AX4jAEFAaiIDJAAgACgCACEFIAACf0EBIAAtAAgNABogACgCBCIEKAIcIgZBBHFFBEBBASAEKAIUQZPcwwBBrdzDACAFG0ECQQEgBRsgBEEYaigCACgCDBEFAA0BGiABIAQgAigCDBEDAAwBCyAFRQRAQQEgBCgCFEGu3MMAQQIgBEEYaigCACgCDBEFAA0BGiAEKAIcIQYLIANBAToAGyADQTRqQfTbwwA2AgAgAyAEKQIUNwIMIAMgA0EbajYCFCADIAQpAgg3AiQgBCkCACEHIAMgBjYCOCADIAQoAhA2AiwgAyAELQAgOgA8IAMgBzcCHCADIANBDGo2AjBBASABIANBHGogAigCDBEDAA0AGiADKAIwQZjcwwBBAiADKAI0KAIMEQUACzoACCAAIAVBAWo2AgAgA0FAayQAIAAL1AgCCn8BfiMAQSBrIgYkACAAKAIEIgcoAgBBgAFqIQIgACgCACgCACEKIwBBIGsiAyQAIAItAAAhBCACQQE6AAAgAyAEOgAHAkACQAJAIARFBEBB7IDEACgCAEH/////B3EEQEG8hMQAKAIAQQBHIQULIAItAAENAiABKAIAIggoAgAhBCAIIARBAWo2AgAgBEEASA0BIAJBDGooAgAiBCACKAIERgRAIAJBBGogBBCyBiACKAIMIQQLIAIgBEEBaiIJNgIMIAJBCGooAgAgBEEMbGoiBEEANgIIIAQgCjYCBCAEIAg2AgAgAiAJBH9BAQUgAkEYaigCAAtFOgAcAkAgBQ0AQeyAxAAoAgBB/////wdxRQ0AQbyExAAoAgBFDQAgAkEBOgABCyACQQA6AAAgA0EgaiQADAMLIANCADcCFCADQfy8wAA2AhAgA0EBNgIMIANB7MvAADYCCCADQQdqIANBCGoQ8goACwALIAMgBToADCADIAI2AghB3MPAAEErIANBCGpB4MjAAEGoxMAAEIgIAAsCQCAHKAIAIgIoAsQBIAIoAgBqIAIoAkAgAigCyAFBf3NxRgRAIAAoAgQoAgAiAigCyAEgAigCQHFFDQELIAEoAgBBFGoiAygCACECIAMgAkEBIAIbNgIACwJAAkAgASAAKAIIIgEpAwAgASgCCBDTBCIBQQFrQQJPBEACQAJAIAFBAWsOAwAAAwELAAtBuMTAAEEoQeTKwAAQuQoACyAGQRRqIQggACgCBCgCAEGAAWohAEEAIQcjAEEgayIBJAAgAC0AACECIABBAToAACABIAI6AAcCQAJAAkAgAkUEQEHsgMQAKAIAQf////8HcQRAQbyExAAoAgBBAEchBwsgAC0AAQ0CIABBCGooAgAiCUEMayECIABBDGooAgAiA0EMbCEEQX8hBQJAAkADQCAERQ0BIAVBAWohBSACQQxqIQIgBEEMayEEIAkoAgQhCyAJQQxqIQkgCiALRw0ACyADIAVNDQMgCCACKQIANwIAIAhBCGogAkEIaigCADYCACACIAJBDGogBBChDRogACADQQFrIgM2AgwMAQsgCEEANgIACyAAIAMEf0EBBSAAQRhqKAIAC0U6ABwCQCAHDQBB7IDEACgCAEH/////B3FFDQBBvITEACgCAEUNACAAQQE6AAELIABBADoAACABQSBqJAAMAwsgAUIANwIUIAFB/LzAADYCECABQQE2AgwgAUHsy8AANgIIIAFBB2ogAUEIahDyCgALIAUgA0HMw8AAEOsIAAsgASAHOgAMIAEgADYCCEHcw8AAQSsgAUEIakHgyMAAQYjEwAAQiAgACyAGKAIURQ0BIAZBEGogBkEcaigCADYCACAGIAYpAhQiDDcDCCAMpyIBKAIAIQAgASAAQQFrNgIAIABBAUcNACAGQQhqEOUJCyAGQSBqJAAPC0HYwMAAQStB9MrAABC5CgALjQICCX0BfyACKgIAIgMgA5QgAioCBCIGIAaUkiACKgIIIgQgBJSSEJgBIQUgAyAFlSIHIAEqAhgiA5QgBiAFlSIIIAFBHGoqAgCUkiAEIAWVIgkgAUEgaioCAJSSIQogAUEYaiECAkAgByABKgIAIgSUIAggASoCBJSSIAkgASoCCJSSIgsgByABKgIMIgWUIAggAUEQaioCAJSSIAkgAUEUaioCAJSSIgZeRQRAIAFBDGogAiAGIApeIgwbIQIgBSADIAwbIQMMAQsgCiALXUUNACAEIQMgASECCyAAIAIqAgggCSABKgIkIgSUkjgCCCAAIAIqAgQgCCAElJI4AgQgACADIAcgBJSSOAIAC5kCAgJ/CH0gACgCCCICBEAgACgCBCIBKgIIIQcgASoCBCEIIAEqAgAhBAJAIAJBAUYEQCAHIQkgCCEFIAQhAwwBCyABIAJBDGxqIQIgAUEMaiEBIAQhAyAIIQUgByEJA0AgCSABQQhqKgIAIgogCSAKYBshCSAFIAFBBGoqAgAiBiAFIAZgGyEFIAcgCiAHIApfGyEHIAggBiAGIAhgGyEIIAMgASoCACIGIAMgBmAbIQMgBCAGIAQgBl8bIQQgAiABQQxqIgFHDQALCyAAKgJgIAMgBJNDAAAAP5QiBCAFIAiTQwAAAD+UIgMgAyAEYBsiBSAJIAeTQwAAAD+UIgMgAyAFYBuSDwtB4pPCAEHSAEHElMIAEO8JAAuXAgEBfyMAQRBrIgIkACAAKAIAIQACfyABKAIAIAEoAghyBEAgAkEANgIMIAEgAkEMagJ/AkACQCAAQYABTwRAIABBgBBJDQEgAEGAgARPDQIgAiAAQT9xQYABcjoADiACIABBDHZB4AFyOgAMIAIgAEEGdkE/cUGAAXI6AA1BAwwDCyACIAA6AAxBAQwCCyACIABBP3FBgAFyOgANIAIgAEEGdkHAAXI6AAxBAgwBCyACIABBP3FBgAFyOgAPIAIgAEESdkHwAXI6AAwgAiAAQQZ2QT9xQYABcjoADiACIABBDHZBP3FBgAFyOgANQQQLENUBDAELIAEoAhQgACABQRhqKAIAKAIQEQMACyEBIAJBEGokACABC7sBACAAKAIABEAgACgCBBCVAgsgACgCDARAIABBEGooAgAQlQILIAAoAiAEQCAAQSRqKAIAEJUCCyAAQSxqKAIABEAgAEEwaigCABCVAgsgACgCQARAIABBxABqKAIAEJUCCyAAQcwAaigCAARAIABB0ABqKAIAEJUCCyAAKAJgBEAgAEHkAGooAgAQlQILIAAoAnAEQCAAQfQAaigCABCVAgsgACgCfARAIABBgAFqKAIAEJUCCyAAEJUCC44CAQR/IAAiBCgCCCICIAFJBEAgAiEDIAEgAmsiBSAEKAIAIAJrSwRAIAQgAiAFEIwGIAQoAgghAwsgBCgCBCADQQJ0aiEAIAVBAk8EQCACQX9zIAFqIgJBB3EhASAFQQJrQQdPBEAgAkF4cSECA0AgAEEANgIAIABBHGpBADYCACAAQRhqQQA2AgAgAEEUakEANgIAIABBEGpBADYCACAAQQxqQQA2AgAgAEEIakEANgIAIABBBGpBADYCACAAQSBqIQAgAkEIayICDQALCyABBEADQCAAQQA2AgAgAEEEaiEAIAFBAWsiAQ0ACwsgAyAFakEBayEDCyAAQQA2AgAgA0EBaiEBCyAEIAE2AggLtwICBH8BfiMAQRBrIgMkAAJAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iBqcgBkIgiKcQqQoiAkUNAgJAAkAgAigCMCACQTRqKAIAIgQoAghBAWtBeHFqQQhqIgUgBBCrCSICDQAgBSAEELIJIgINACAAIAAoAgBBAWs2AgBBACEADAELIAJBCGooAgAhBCACKQIAIQYgACAAKAIAQQFrNgIAIANBCGogBDYCACADIAY3AwBBkfrDAC0AABpBEEEEEKMMIgBFDQQgAEEANgIAIAAgAykDADcCBCAAQQxqIANBCGooAgA2AgALIANBEGokACAADwsQkA0ACxCRDQALQdizwABBzABBzLTAABDvCQALQQRBEEHYgMQAKAIAIgBBowcgABsRAAAAC5ECAgx9AX8gAEEQaiABIAFBDGoiDiABKgIAIgJDAAAAAJQiBiABKgIEIgeSIAEqAggiCEMAAAAAlCIEkiABKgIMIgNDAAAAAJQiCSABQRBqKgIAIgqSIAFBFGoqAgAiC0MAAAAAlCIFkl4bKgIEOAIAIAAgAiADIAIgB0MAAAAAlCIMkiAEkiADIApDAAAAAJQiDZIgBZJeGzgCDCAAIAEgDiAGIAeTIASSIAkgCpMgBZJeGyoCBDgCBCAAIAIgAyAMIAKTIASSIA0gA5MgBZJeGzgCACAAQRRqIAEgDiAIIAYgDJIiApIgCyAJIA2SIgOSXhsqAgg4AgAgACABIA4gAiAIkyADIAuTXhsqAgg4AggLkwICCH0BfyAAKAIIIgkEQCAAKAIEIgAqAgghBSAAKgIEIQYgACoCACECAkAgCUEBRgRAIAUhByAGIQMgAiEBDAELIAAgCUEMbGohCSAAQQxqIQAgAiEBIAYhAyAFIQcDQCAHIABBCGoqAgAiCCAHIAhgGyEHIAMgAEEEaioCACIEIAMgBGAbIQMgBSAIIAUgCF8bIQUgBiAEIAQgBmAbIQYgASAAKgIAIgQgASAEYBshASACIAQgAiAEXxshAiAJIABBDGoiAEcNAAsLIAEgApNDAAAAP5QiAiADIAaTQwAAAD+UIgEgASACYBsiAyAHIAWTQwAAAD+UIgEgASADYBsPC0Hik8IAQdIAQcSUwgAQ7wkAC4UCAgF/CX0jAEFAaiIFJAAgAyoCACACKgIQkyIMIAIqAgQiCZQgAyoCBCACQRRqKgIAkyINIAIqAgAiCpSTIgcgB5IhByANIAIqAggiC5QgAyoCCCACQRhqKgIAkyIGIAmUkyIIIAiSIQggBSAGIAIqAgwiDiAHlCAJIAiUIAogBiAKlCAMIAuUkyIGIAaSIgaUk5KSOAIYIAUgDSAOIAaUIAogB5QgCyAIlJOSkjgCFCAFIAwgDiAIlCALIAaUIAkgB5STkpI4AhAgBUEcaiIDIAEgBUEQaiAEEEYgBUEIaiADQQhqKQIANwMAIAUgBSkCHDcDACAAIAUgAhCCBiAFQUBrJAALtUYDHH8afQF+AkACQCAARQ0AIAAoAgANASAAQX82AgAgAUUNACABKAIAIgdBf0YNASABIAdBAWo2AgAgAkUNACACKAIAIgdBf0YNASACIAdBAWo2AgAgA0UNACADKAIAIgdBf0YNASADIAdBAWo2AgAgBEUNACAEKAIAIgdBf0YNASAEIAdBAWo2AgAgBUUNACAFKAIAIgdBf0YNASAFIAdBAWo2AgAgAkEEaiEYIARBBGohHyAFQQRqIRkjAEHwAWsiByQAIABBCGoiC0GcAmpBADYCACALQZACakEANgIAIAcgC0GUAmo2AhggByALQYgCajYCFCADQQRqIgkoAjghICAJKAI8IR0gB0GAAWogAUEEaiIeEPYKIAcoAoQBIQwgBygCgAEhCQJAIAtB+AFqKgIAIjJDAAAAAFsEQANAIAkgDEYNAiAJQfACaiEJDAALAAsgCygCgAJBAnFFBEADQCAJIAxGDQIgCUHwAmohCQwACwALIAtBvAFqKgIAISogC0G4AWoqAgAhLyALQbQBaioCACErIAtBrAFqKgIAISwgC0GoAWoqAgAhJiALQaQBaioCACEnIAsqArABIS0gCyoCoAEhNCALQYgCaiENIAtBlAJqIQ4DQCAJIgYgDEYNASAGQfACaiEJIAYoAgBFDQAgByAGQTxqKgIAIi4gBkFAayoCACIxlCIjICOSIiMgBkE4aioCACIpIAZBxABqKgIAIiiUIiIgIpIiIpM4AjggByApIDGUIiQgJJIiJCAuICiUIiUgJZIiJZI4AjQgByAjICKSOAIwIAcgKSAulCIjICOSIiMgMSAolCIiICKSIiKTOAIoIAcgJCAlkzgCJCAHICMgIpI4AiAgByAxIDGUIiMgKCAolCIkICkgKZQiJZMiMCAuIC6UIiKTkjgCPCAHICIgMJIgI5M4AiwgByAlICSSICKTICOTOAIcIC8hJAJ9ICohJSArISIgLSAGQeoCai0AAEUNABogBkHYAmotAABFBEBDAACAPyEkQwAAgD8hJUMAAIA/ISJDAACAPwwBCyAmISQgLCElICchIiA0CyEjIAcgJTgC1AEgByAiOALMASAHICU4AsQBIAcgIjgCvAEgByAlOAK0ASAHICI4AqwBIAcgJEPNzEw+lDgC0AEgByAjQwAAcEOUOALIASAHICRDzczMPZQ4AsABIAcgI0MAAPBClDgCuAEgByAkQwAAgD6UOAKwASAHICNDAAAAAJQ4AqgBICkgBkHUAWoqAgAiJJQgLiAGQdABaioCACIllJMiIyAjkiEjIDEgJZQgKSAGQdgBaioCACIwlJMiIiAikiEiIAZB0ABqKgIAIDAgKCAjlCApICKUIC4gLiAwlCAxICSUkyIwIDCSIjCUk5KSkiEzIAZBzABqKgIAICQgKCAilCAxIDCUICkgI5STkpKSISkgBkHIAGoqAgAgJSAoIDCUIC4gI5QgMSAilJOSkpIhKEFQIQogB0EcaiESA0AgMiASKgIAlCEiIDIgEkEIaioCAJQhJCAyIBJBBGoqAgCUISUgB0GoAWogCmoiBkE8aioCACEwIAZBOGoqAgAhMSAGQTRqKgIAIS4gBkEwaioCACEjIAsoAogCIAsoApACIghrQQJNBEAgDSAIQQMQjAYgCygCkAIhCAsgKCAikiEiIDMgJJIhJCApICWSISUgCygCjAIgCEECdGoiBiAzOAIIIAYgKTgCBCAGICg4AgAgCyAIQQNqIgg2ApACIAsoAogCIAhrQQJNBEAgDSAIQQMQjAYgCygCkAIhCAsgCyAIQQNqNgKQAiALKAKMAiAIQQJ0aiIGICQ4AgggBiAlOAIEIAYgIjgCACAuQwAAgD8gMSAxkkMAAIC/kouTlCIkQwAAgD8gIyAjQwAAtEOVjkMAALRDlJNDAABwQpUiLhCqA0MAAIC/kouTlCEjQwAAAAAhJQJAAkAgLkMAAAAAYEUNACAuQwAAgD9dRQ0AICQhIgwBCwJAIC5DAACAP2BFDQAgLkMAAABAXUUNACAjISIgJCEjDAELQwAAAAAhIgJAIC5DAAAAQGBFDQAgLkMAAEBAXUUNACAjISUgJCEjDAELAkAgLkMAAEBAYEUNACAuQwAAgEBdRQ0AICQhJQwBCyAkICMgLkMAAKBAXSAuQwAAgEBgcSIGGyElICMgJCAGGyEiQwAAAAAhIwsgCygClAIgCygCnAIiCGtBB00EQCAOIAhBCBCMBiALKAKcAiEICyALIAhBCGo2ApwCIAsoApgCIAhBAnRqIgYgMDgCHCAGIDA4AgwgBiAxICRDAAAAv5SSIiQgJZIiJTgCGCAGICQgI5IiIzgCFCAGICQgIpIiIjgCECAGICU4AgggBiAjOAIEIAYgIjgCACASQQxqIRIgCkEQaiIKDQALDAALAAsCQCALKAKAAiIIQQFxRQ0AIAdBQGsgGBD3CiALQSxqIQogC0EoaiEOIAtBJGohDyALQSBqIRMgC0E8aiEQIAtBOGohESALQTRqIRQgC0EwaiEXIAtBzABqIRYgC0HIAGohGiALQcQAaiEbIAtBQGshFSAHKAJAQfwAaiEIIAcoAkghEiAHKAJEISEDQAJAAkAgCEH8AGsiCSAhRwRAIAkoAgANAQwCCyALKAKAAiEIDAMLIAcgEjYCVCAHQQE2AlAgByAIQfgAaygCADYCWCAHIAhB9ABrIgk2AlwCfQJ9AkACQAJAIAkoAgBFDQAgHiAIQfAAaygCACAIQewAaygCABCoCiIcRQ0AIBwtAOICDQEMAgsgCyoCXCErIAsqAlghLCALKgJQISIgCyoCVAwDCyAIQRJrLQAADQAgHEHQAmotAABFBEBDAACAPyErQwAAgD8hLEMAAIA/ISJDAACAPwwCCyALKgKsASErIAsqAqgBISwgCyoCoAEhIiALKgKkAQwBCyALKgK8ASErIAsqArgBISwgCyoCsAEhIiALKgK0AQshIyAKIQYgDiEJIA8hDCATIQ0CQAJAAkAgHC0A4QJBAWsOAwABAQILIBAhBiARIQkgFCEMIBchDQwBCyAWIQYgGiEJIBshDCAVIQ0LICsgBioCAJQhKyAsIAkqAgCUISwgIiANKgIAlCEiICMgDCoCAJQLISMgCEHEAGsoAgAhCSAIQUBqKAIAIgYoAgghDCAHICs4ArQBIAcgLDgCsAEgByAjOAKsASAHICI4AqgBIAsgB0HQAGogB0EUaiAJIAxBAWtBeHFqQQhqIAYgCCAHQagBahA7CyASQQFqIRIgCEGoAWohCAwACwALIAtBsAFqIQ0gC0GgAWohCgJAIAhBwABxRQ0AIAdB5ABqIBgQ9wogC0HgAWohBiAHKAJsIRIgBygCaCEOIAcoAmQhCANAAkAgCCAORwRAIAgoAgBFDQEgCEEEaigCACEPIAhBCGoiCUE0aigCACEMIAdBHGoiEyAJKAIwIAwoAghBAWtBeHFqQQhqIAlB9ABqIAwoAogBEQEAIAcgCTYCjAEgByAPNgKIASAHIBI2AoQBIAdBAjYCgAEgByAHKgIwIiMgByoCJCIik0MAAAA/lDgCfCAHIAcqAiwiJCAHKgIgIiWTQwAAAD+UOAJ4IAcgByoCKCIqIAcqAhwiL5NDAAAAP5Q4AnQgByATNgKQASAHICMgIpJDAAAAP5Q4AsABIAcgJCAlkkMAAAA/lDgCvAEgByAqIC+SQwAAAD+UOAK4ASAHQoCAgICAgIDAPzcCsAEgB0IANwKoASAHQZgBaiIJQQhqIAZBCGopAgA3AwAgByAGKQIANwOYASALIAdBgAFqIAdBFGogB0H0AGpBpK3AACAHQagBaiAJEDsMAQsgCygCgAIhCAwCCyAIQagBaiEIIBJBAWohEgwACwALIAcgDTYCjAEgByAKNgKIASAHIB42AoQBIAcgB0EUajYCgAECQCAIQQhxRQ0AIB1FDQAgHUGAA2whDiALQfAAaiEIIAtB4ABqIQogB0HMAWohDCAHQbwBaiENQQAhBgNAIAYgIGoiCUE4aikDACE8IA1BCGogCkEIaikCADcCACANIAopAgA3AgAgDCAIKQIANwIAIAxBCGogCEEIaikCADcCACAHIDw3AuABIAdBAzYC3AEgByAJQUBrIg82AqgBIAcgCUEcaigCACITNgK4ASAHIAlBGGooAgAiEDYCtAEgByAJQRRqKAIAIhE2ArABIAcgCUEQaiIJNgLoASAHIAkoAgAiCTYCrAEgB0GAAWogCSARIBAgEyAPIA0gDBDNASAOIAZBgANqIgZHDQALIAsoAoACIQgLAkAgCEEEcUUNACAHQRxqIB8QggsgBygCHCIIIAcoAiAiD0YNACALQZABaiETIAtBgAFqIRAgB0HMAWohDSAHQbwBaiEOIAcoAiQhCiAHKAIoIhFBDGohFANAIAhBFGohCQJAAkAgCCgCACIXQX9HBEAgCEEQaigCACIGDQELIAkgD0YNAwwBCwJAAkACQAJAIAhBBGooAgAiDCARQRBqKAIATw0AIBQoAgAiFkUNACAWIAxBlAJsaiIMKAIAQYCAgIB4Rg0AIAwoApACIAhBCGooAgBHDQAgDEEIaigCACIWIAZNDQEgDEEEaigCACIIRQ0BIAggBkHoA2xqIgYoAogDRQ0CIBYgBigCkAMiFk0NAyAOIBApAgA3AgAgDSATKQIANwIAIA5BCGogEEEIaikCADcCACANQQhqIBNBCGopAgA3AgAgByAMNgLoASAHIBc2AuQBIAcgCjYC4AEgB0EENgLcASAHIAY2AuwBIAcgBigCBCIMNgK4ASAHIAYoAgAiFzYCtAEgByAIIBZB6ANsaiIIKAIEIhY2ArABIAcgCCgCACIINgKsASAHIAZByABqIgY2AqgBIAdBgAFqIAggFiAXIAwgBiAOIA0QzQEgCSAPRw0EDAYLQYCAwABBE0HIosAAEO8JAAtBpIjAAEErQdiiwAAQuQoAC0GkiMAAQStB+KvAABC5CgALQaSIwABBK0GIrMAAELkKAAsgCkEBaiEKIAkhCAwACwALIAcoAhghDiAHKAIUIQkCQAJAAkACQAJAIAsoAoACIgpBIHFFDQAgB0EIaiIGIBkoAhAiDDYCACAGIAwgGSgCFEE4bGo2AgQgBygCCCITIAcoAgwiF0YNAANAIBggEygCDCATQRBqKAIAEKkKIQ0gGCATKAIUIBNBGGooAgAQqQohDwJAIA1FDQAgD0UNACATQQhqKAIAIgZFDQAgE0EEaigCACIKIAZBqAFsaiEWA0AgCkGEAWooAgAiBgRAIApBgAFqKAIAIRogBkE8bCEbQQAhDANAAn0gCigCAEEBRgRAIAoqAhgiKyANKgJ0IiOUIAoqAhQiLCANKgJ4IiKUkyIkICSSISogLCANKgJ8IiSUIAoqAhwiJiAjlJMiJSAlkiEvIA0qAowBICYgDSoCgAEiJSAqlCAjIC+UICIgJiAilCArICSUkyImICaSIiaUk5KSkiE0IA0qAogBICsgJSAvlCAkICaUICMgKpSTkpKSIS4gDSoChAEgLCAlICaUICIgKpQgJCAvlJOSkpIhMSAKKgIQIi8gJJQgCioCCCImICOUIAoqAgwiJyAllJIgCioCBCItICKUk5IhKyAtICSUIC8gIpQgJiAllCAnICOUk5KSISwgJyAilCAvICOUIC0gJZSSkiAmICSUkyEqIC8gJZQgLSAjlJMgJiAilJMgJyAklJMMAQsgDSoCjAEhNCANKgKIASEuIA0qAoQBITEgDSoCfCErIA0qAnghLCANKgJ0ISogDSoCgAELIS8gDCAaaiIGQRxqIRAgBkEgaiERIAZBGGohFAJ9IAooAiBBAUYEQCAKKgI4IiUgDyoCdCIilCAKKgI0IikgDyoCeCImlJMiIyAjkiEjICkgDyoCfCInlCAKKgI8IiggIpSTIiQgJJIhJCAPKgKMASAoIA8qAoABIi0gI5QgIiAklCAmICggJpQgJSAnlJMiKCAokiIolJOSkpIhMyAPKgKIASAlIC0gJJQgJyAolCAiICOUk5KSkiE1IA8qAoQBICkgLSAolCAmICOUICcgJJSTkpKSITYgCioCMCIpICeUIAoqAigiKCAilCAKKgIsIjIgLZSSIAoqAiQiMCAmlJOSISMgMCAnlCApICaUICggLZQgMiAilJOSkiElIDIgJpQgKSAilCAwIC2UkpIgKCAnlJMhJCApIC2UIDAgIpSTICggJpSTIDIgJ5STDAELIA8qAowBITMgDyoCiAEhNSAPKgKEASE2IA8qAnwhIyAPKgJ4ISUgDyoCdCEkIA8qAoABCyEiIBAqAgAhJiARKgIAIScgFCoCACEtIAZBKGoqAgAhKSAGQSxqKgIAISggBkEkaioCACEyIAsqAswBITkgCyoCyAEhMCALKgLEASE7IAsqAsABITogCSgCACIIIAkoAggiBmtBAk0EQCAGIAZBA2oiBksNB0EEIAhBAXQiFSAGIAYgFUkbIgYgBkEETRsiBkECdCEVIAZBgICAgAJJQQJ0IRIgByAIBH8gByAIQQJ0NgKwASAHIAkoAgQ2AqgBQQQFQQALNgKsASAHQRxqIBIgFSAHQagBahDhBiAHKAIgIQgCQCAHKAIcRQRAIAkgBjYCACAJIAg2AgQMAQsgCEGBgICAeEYNACAIRQ0IDAkLIAkoAgghBgsgCSgCBCAGQQJ0aiIIIDQgJyAvICogJpQgLCAtlJMiNyA3kiI3lCAqICsgLZQgKiAnlJMiOCA4kiI4lCAsICwgJ5QgKyAmlJMiJyAnkiInlJOSkpI4AgggCCAuICYgLyA4lCArICeUICogN5STkpKSOAIEIAggMSAtIC8gJ5QgLCA3lCArIDiUk5KSkjgCACAJIAZBA2oiBjYCCCAJKAIAIgggBmtBAk0EQCAGIAZBA2oiBksNB0EEIAhBAXQiFSAGIAYgFUkbIgYgBkEETRsiBkECdCEVIAZBgICAgAJJQQJ0IRIgByAIBH8gByAIQQJ0NgKwASAHIAkoAgQ2AqgBQQQFQQALNgKsASAHQRxqIBIgFSAHQagBahDhBiAHKAIgIQgCQCAHKAIcRQRAIAkgBjYCACAJIAg2AgQMAQsgCEGBgICAeEYNACAIRQ0IDAkLIAkoAgghBgsgCSAGQQNqNgIIIAkoAgQgBkECdGoiBiAzICggIiAkICmUICUgMpSTIiYgJpIiJpQgJCAjIDKUICQgKJSTIicgJ5IiJ5QgJSAlICiUICMgKZSTIi0gLZIiLZSTkpKSOAIIIAYgNSApICIgJ5QgIyAtlCAkICaUk5KSkjgCBCAGIDYgMiAiIC2UICUgJpQgIyAnlJOSkpI4AgAgO0MAAIA/IDAgMJJDAACAv5KLk5QiJUMAAIA/IDogOkMAALRDlY5DAAC0Q5STQwAAcEKVIiYQqgNDAACAv5KLk5QhIkMAAAAAISQCQAJAICZDAAAAAGBFDQAgJkMAAIA/XUUNACAlISMMAQsCQCAmQwAAgD9gRQ0AICZDAAAAQF1FDQAgIiEjICUhIgwBC0MAAAAAISMCQCAmQwAAAEBgRQ0AICZDAABAQF1FDQAgIiEkICUhIgwBCwJAICZDAABAQGBFDQAgJkMAAIBAXUUNACAlISQMAQsgJSAiICZDAACgQF0gJkMAAIBAYHEiBhshJCAiICUgBhshI0MAAAAAISILIA4oAgAiCCAOKAIIIgZrQQdNBEAgBiAGQQhqIgZLDQcgCEEBdCIVIAYgBiAVSRsiBkECdCEVIAZBgICAgAJJQQJ0IRIgByAIBH8gByAIQQJ0NgKwASAHIA4oAgQ2AqgBQQQFQQALNgKsASAHQRxqIBIgFSAHQagBahDhBiAHKAIgIQgCQCAHKAIcRQRAIA4gBjYCACAOIAg2AgQMAQsgCEGBgICAeEYNACAIRQ0IDAkLIA4oAgghBgsgDiAGQQhqNgIIIA4oAgQgBkECdGoiBiA5OAIcIAYgOTgCDCAGIDAgJUMAAAC/lJIiJSAkkiIkOAIYIAYgJSAikiIiOAIUIAYgJSAjkiIjOAIQIAYgJDgCCCAGICI4AgQgBiAjOAIAIAsqAvwBISUgCioCjAEhMCAQKgIAISMgCioCkAEhMyARKgIAISIgCioCiAEhNSAUKgIAISQgCyoC3AEhJyALKgLYASEmIAsqAtQBITYgCyoC0AEhLSAJKAIAIgggCSgCCCIGa0ECTQRAIAYgBkEDaiIGSw0HQQQgCEEBdCIQIAYgBiAQSRsiBiAGQQRNGyIGQQJ0IRAgBkGAgICAAklBAnQhESAHIAgEfyAHIAhBAnQ2ArABIAcgCSgCBDYCqAFBBAVBAAs2AqwBIAdBHGogESAQIAdBqAFqEOEGIAcoAiAhCAJAIAcoAhxFBEAgCSAGNgIAIAkgCDYCBAwBCyAIQYGAgIB4Rg0AIAhFDQgMCQsgCSgCCCEGCyAJKAIEIAZBAnRqIgggNCAiIC8gKiAjlCAsICSUkyIpICmSIimUICogKyAklCAqICKUkyIoICiSIiiUICwgLCAilCArICOUkyIyIDKSIjKUk5KSkjgCCCAIIC4gIyAvICiUICsgMpQgKiAplJOSkpI4AgQgCCAxICQgLyAylCAsICmUICsgKJSTkpKSOAIAIAkgBkEDaiIGNgIIIAkoAgAiCCAGa0ECTQRAIAYgBkEDaiIGSw0HQQQgCEEBdCIQIAYgBiAQSRsiBiAGQQRNGyIGQQJ0IRAgBkGAgICAAklBAnQhESAHIAgEfyAHIAhBAnQ2ArABIAcgCSgCBDYCqAFBBAVBAAs2AqwBIAdBHGogESAQIAdBqAFqEOEGIAcoAiAhCAJAIAcoAhxFBEAgCSAGNgIAIAkgCDYCBAwBCyAIQYGAgIB4Rg0AIAhFDQgMCQsgCSgCCCEGCyAJIAZBA2o2AgggKiAjIDAgJZSSIimUICwgJCA1ICWUkiIklJMiIyAjkiEjICsgJJQgKiAiIDMgJZSSIiWUkyIiICKSISIgCSgCBCAGQQJ0aiIGIDQgJSAvICOUICogIpQgLCAsICWUICsgKZSTIiUgJZIiJZSTkpKSOAIIIAYgLiApIC8gIpQgKyAllCAqICOUk5KSkjgCBCAGIDEgJCAvICWUICwgI5QgKyAilJOSkpI4AgAgNkMAAIA/ICYgJpJDAACAv5KLk5QiJEMAAIA/IC0gLUMAALRDlY5DAAC0Q5STQwAAcEKVIiUQqgNDAACAv5KLk5QhIkMAAAAAISoCQAJAICVDAAAAAGBFDQAgJUMAAIA/XUUNACAkISMMAQsCQCAlQwAAgD9gRQ0AICVDAAAAQF1FDQAgIiEjICQhIgwBC0MAAAAAISMCQCAlQwAAAEBgRQ0AICVDAABAQF1FDQAgIiEqICQhIgwBCwJAICVDAABAQGBFDQAgJUMAAIBAXUUNACAkISoMAQsgJCAiICVDAACgQF0gJUMAAIBAYHEiBhshKiAiICQgBhshI0MAAAAAISILIA4oAgAiCCAOKAIIIgZrQQdNBEAgBiAGQQhqIgZLDQcgCEEBdCIQIAYgBiAQSRsiBkECdCEQIAZBgICAgAJJQQJ0IREgByAIBH8gByAIQQJ0NgKwASAHIA4oAgQ2AqgBQQQFQQALNgKsASAHQRxqIBEgECAHQagBahDhBiAHKAIgIQgCQCAHKAIcRQRAIA4gBjYCACAOIAg2AgQMAQsgCEGBgICAeEYNACAIRQ0IDAkLIA4oAgghBgsgDiAGQQhqNgIIIA4oAgQgBkECdGoiBiAnOAIcIAYgJzgCDCAGICYgJEMAAAC/lJIiJCAqkiIlOAIYIAYgJCAikiIiOAIUIAYgJCAjkiIjOAIQIAYgJTgCCCAGICI4AgQgBiAjOAIAIBsgDEE8aiIMRw0ACwsgFiAKQagBaiIKRw0ACwsgFyATQThqIhNHDQALIAsoAoACIQoLAkAgCkEQcUUNACAHIBkoAhAiBjYCACAHIAYgGSgCFEE4bGo2AgQgBygCACIIIAcoAgQiE0YNACALQdQBaioCAEMAAIA/IAtB2AFqKgIAIiUgJZJDAACAv5KLk5QiIkMAAIA/IAtB0AFqKgIAIiMgI0MAALRDlY5DAAC0Q5STQwAAcEKVIiMQqgNDAACAv5KLk5QhJCAjQwAAgD9dICNDAAAAAGBxIgwgI0MAAABAXSAjQwAAgD9gcSIKciIPICNDAABAQF0gI0MAAABAYHEiEHIhBiAlICJDAAAAv5SSIiUgJCAiIAwbICRDAAAAACAjQwAAgEBdICNDAABAQGBxIg0bIAYbkiEqICUgIiAkQwAAAAAgChsgDBtDAAAAACAkICIgI0MAAKBAXSAjQwAAgEBgcSIMGyANGyAGG5IhLyAlQwAAAAAgJCAiIBAbIA8bIiMgIyAiICQgDBsgDRsgBhuSISIgC0HcAWoqAgAhJCALQfwBaioCACEjA0AgGCAIKAIMIAhBEGooAgAQqQohBiAYIAgoAhQgCEEYaigCABCpCiEMAkAgBkUNACAMRQ0AIAhBCGooAgAiDEUNACAIQQRqKAIAIgYgDEGoAWxqIRADQCAGQeAAaigCACIMBEAgDEE0bCENIAZB3ABqKAIAQRBqIQ8DQCAHQYgBaiIRIA8oAgA2AgAgByAPQQhrIgwpAgA3A4ABIAYqAmwhJSAPQQRrKgIAISsgBioCaCEsIAwqAgAhJiAGKgJwIScgDyoCACEtIAkoAgAiDCAJKAIIIgprQQJNBEAgCiAKQQNqIgpLDQdBBCAMQQF0IhQgCiAKIBRJGyIKIApBBE0bIgpBAnQhFCAKQYCAgIACSUECdCEXIAcgDAR/IAcgDEECdDYCsAEgByAJKAIENgKoAUEEBUEACzYCrAEgB0EcaiAXIBQgB0GoAWoQ4QYgBygCICEMAkAgBygCHEUEQCAJIAo2AgAgCSAMNgIEDAELIAxBgYCAgHhGDQAgDEUNCAwKCyAJKAIIIQoLIAkoAgQgCkECdGoiDCAHKQOAATcCACAMQQhqIBEoAgA2AgAgCSAKQQNqIgo2AgggCSgCACIMIAprQQJNBEAgCiAKQQNqIgpLDQdBBCAMQQF0IhEgCiAKIBFJGyIKIApBBE0bIgpBAnQhESAKQYCAgIACSUECdCEUIAcgDAR/IAcgDEECdDYCsAEgByAJKAIENgKoAUEEBUEACzYCrAEgB0EcaiAUIBEgB0GoAWoQ4QYgBygCICEMAkAgBygCHEUEQCAJIAo2AgAgCSAMNgIEDAELIAxBgYCAgHhGDQAgDEUNCAwKCyAJKAIIIQoLIAkgCkEDajYCCCAJKAIEIApBAnRqIgwgLSAjICeUkjgCCCAMICsgIyAllJI4AgQgDCAmICMgLJSSOAIAIA4oAgAiDCAOKAIIIgprQQdNBEAgCiAKQQhqIgpLDQcgDEEBdCIRIAogCiARSRsiCkECdCERIApBgICAgAJJQQJ0IRQgByAMBH8gByAMQQJ0NgKwASAHIA4oAgQ2AqgBQQQFQQALNgKsASAHQRxqIBQgESAHQagBahDhBiAHKAIgIQwCQCAHKAIcRQRAIA4gCjYCACAOIAw2AgQMAQsgDEGBgICAeEYNACAMRQ0IDAoLIA4oAgghCgsgDiAKQQhqNgIIIA4oAgQgCkECdGoiDCAkOAIcIAwgIjgCGCAMICo4AhQgDCAvOAIQIAwgJDgCDCAMICI4AgggDCAqOAIEIAwgLzgCACAPQTRqIQ8gDUE0ayINDQALCyAQIAZBqAFqIgZHDQALCyATIAhBOGoiCEcNAAsLIAdB8AFqJAAMAwsQ7goACyAIIAcoAiRB2IDEACgCACIAQaMHIAAbEQAAAAsgDCAHKAIkQdiAxAAoAgAiAEGjByAAGxEAAAALIAUgBSgCAEEBazYCACAEIAQoAgBBAWs2AgAgAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgAEEANgIADwsQkA0ACxCRDQALpgIBB38jAEEwayICJAACQAJAIAAEQCAAKAIADQEgAEEANgIAIABBFGoiAygCACEEIANBAjYCACAEQQJHBEAgAkEIaiIBQSBqIgMgAEE4aigCADYCACABQRhqIgUgAEEwaikCADcDACABQRBqIgYgAEEoaikCADcDACACQRBqIgcgAEEgaikCADcDAEGR+sMALQAAGiACIABBGGopAgA3AwhBLEEEEKMMIgFFDQMgASAENgIEIAFBADYCACABIAIpAwg3AgggAUEQaiAHKQMANwIAIAFBGGogBikDADcCACABQSBqIAUpAwA3AgAgAUEoaiADKAIANgIACyACQTBqJAAgAQ8LEJANAAsQkQ0AC0EEQSxB2IDEACgCACIAQaMHIAAbEQAAAAuHAgEJfSACKgIAIgUgBZQgAioCBCIJIAmUkiACKgIIIgogCpSSIAEqAgAiBiAGlJMhBgJAIAIqAgwiCyALlCACQRBqKgIAIgwgDJSSIAJBFGoqAgAiDSANlJIiCEMAAAAAXARAIAUgC5QgCSAMlJIgCiANlJIhBUEAIQIgBkMAAAAAXiAFQwAAAABecQ0BIAUgBZQgBiAIlJMiBkMAAAAAXQ0BIAWMIAYQmAGTIAiVIgdDAAAAAF8hAUMAAAAAIAcgARshB0EBIQIgAUUNASAEDQEgBpEgBZMgCJUhBwwBC0EBIQIgBkMAAAAAXkUNAEEAIQILIAAgBzgCBCAAIAIgAyAHYHE2AgAL9QECC30BfyACKgIEIAFBFGoqAgCTIgogASoCCCIDlCACKgIIIAFBGGoqAgCTIgsgASoCBCIFlJMiBiAGkiEGIAsgASoCACIIlCACKgIAIAEqAhCTIgQgA5STIgcgB5IhBwJAIAQgASoCDCIMIAaUIAMgB5QgBSAEIAWUIAogCJSTIgQgBJIiBJSTkpIiDSAAKgIAIgmMXQ0AIAkgDV0NACAKIAwgB5QgCCAElCADIAaUk5KSIgMgACoCBCIJjF0NACADIAleDQAgCyAMIASUIAUgBpQgCCAHlJOSkiIDIAAqAggiBV5FIAMgBYxdQX9zcSEOCyAOC7sDAgJ/C30jAEEwayIDJAAgA0EMaiABIAIQzgIgASoCJCIJQwAAAABgRQRAIANBGGpCADcCACADQQE2AhAgA0HUksIANgIMIANBgIXCADYCFCADQQxqQdySwgAQ7woACyADQShqKgIAIQcgA0EMaiIBQRBqKgIAIQogAyoCECELIAMqAgwhDCADKgIkIQggAyoCGCENIABBFGogA0EsaioCACIOIA4gAUEUaioCACIPIA8gAyoCFCIFIAUgD10iARsgBSAFXBsiBiAGIA5dGyAGIAZcGyAJkjgCACAAQRBqIAcgByAKIAogCyAKIAteIgIbIAsgC1wbIgYgBiAHXRsgBiAGXBsgCZI4AgAgACAIIAggDSANIAwgDCANXSIEGyAMIAxcGyIGIAYgCF0bIAYgBlwbIAmSOAIMIAAgBSAFIA8gARsgDyAPXBsiBSAFIA4gBSAOXRsgDiAOXBsgCZM4AgggACALIAsgCiACGyAKIApcGyIFIAUgByAFIAddGyAHIAdcGyAJkzgCBCAAIAwgDCANIAQbIA0gDVwbIgUgBSAIIAUgCF0bIAggCFwbIAmTOAIAIANBMGokAAu9BAIEfwF+IwBBEGsiDyQAAkACQCAARQ0AIAAoAgANASAAQX82AgAgAkUNACACKAIADQEgAkF/NgIAIANFDQAgAygCACIOQX9GDQEgAyAOQQFqNgIAIARFDQAgBCgCACIOQX9GDQEgBCAOQQFqNgIAIAZFDQAgBigCACIOQX9GDQEgBiAOQQFqNgIAIA8gDTYCDCAPQQxqIQ4jAEHwAGsiDSQAIA0gATgCBCANIABBBGoiEDYCACANIAJBBGo2AgggDSADQQRqIhE2AgwgDSAEQQRqNgIQIA0gBkEEajYCFCANIAdBAEc6ABsgDSAJOAIgIA0gCEEARzYCHCANIAo2AiQgDSAMNgIsIA0gC0EARzYCKCANIAU5AjACQCARIAW9IhKnIBJCIIinEKkKIgcEQCANIAc2AjggDSANQRxqNgJoIA0gDUEbajYCZCANIA1BFGo2AmAgDSANQRBqNgJcIA0gDUEMajYCWCANIA1BCGo2AlQgDSANQQRqNgJQIA0gDTYCTCANIA1BOGo2AkggDSANQTBqNgJEIA0gDUEoajYCQCANIA1BJGo2AjwgDigCABAEQQFGBEAgDSAONgJsIA1BPGogDUHsAGoQZQwCCyANQTxqQQAQZQwBCyAQQgA3AkwgEEHUAGpBADYCAAsgDUHwAGokACAGIAYoAgBBAWs2AgAgBCAEKAIAQQFrNgIAIAMgAygCAEEBazYCACACQQA2AgAgAEEANgIAIA9BEGokAA8LEJANAAsQkQ0AC60KAg5/BH0jAEGQBWsiByQAAkACQAJAIABFDQAgACgCACIEQX9GDQEgACAEQQFqNgIAIAFFDQAgASgCACIEQX9GDQEgASAEQQFqNgIAIAJFDQAgAigCACIEQX9GDQEgAiAEQQFqNgIAIAdBCGohCCAAQQRqIQkgAUEEaiEKIAJBBGohBCMAQaAFayIGJAACQCADQf8BcUE/TQRAIAQqAgAiEyATlCAEKgIEIhQgFJSSIAQqAggiEiASlJIiFUMAAAAAXgRAIAZBBGoiEEEIaiIRIBIgFRCYASISlTgCACAGIBQgEpU4AgggBiATIBKVOAIEIwBB4ABrIgVBzQBqIgtBC2pCADcAACAFQTpqIgxBC2pCADcAACAFQSdqIg1BC2pCADcAACAFQRRqIg5BC2pCADcAACAGQdACaiIEQfgAakIANwMAIARB8ABqQgA3AwAgBEIANwNoIARCADcDkAEgBEGYAWpCADcDACAFQQFqIg9BC2pCADcAACAEQdwAakIANwIAIARCADcCVCAFQgA3AFAgBEGxAWogC0EIaikAADcAACAFQgA3AD0gBUIANwAqIAVCADcAFyAFQgA3AAQgBCAFKQBNNwCpASAEQbgBaiALQQ9qKAAANgAAIAQgBSkAOjcAxQEgBEHNAWogDEEIaikAADcAACAEQdQBaiAMQQ9qKAAANgAAIAQgBSkAJzcA4QEgBEHpAWogDUEIaikAADcAACAEQfABaiANQQ9qKAAANgAAIARBjAJqIA5BD2ooAAA2AAAgBEGFAmogDkEIaikAADcAACAEIAUpABQ3AP0BIARBqAJqIA9BD2ooAAA2AAAgBEGhAmogD0EIaikAADcAACAEIAUpAAE3AJkCIARCADcDCCAEQgA3AwAgBEGAAjsBvAIgBCADQf8BcTYCuAIgBEEAOgC0AiAEQv////sHNwKsAiAEQQA6AJgCIARC////+wc3A5ACIARBADoA/AEgBEL////7BzcC9AEgBEEAOgDgASAEQv////sHNwPYASAEQQA6AMQBIARC////+wc3ArwBIARBADoAqAEgBEL////7BzcDoAEgBEIANwOIASAEQoCAgPwDNwOAASAEQYCAgPwDNgJkIARB////+wc2AlAgBEKAgICA8P//v383A0ggBEL////7////v/8ANwNAIARC////+wc3AzggBEKAgICA8P//v383AzAgBEL////7////v/8ANwMoIARC////+wc3AyAgBEKAgICA8P//v383AxggBEL////7////v/8ANwMQIAZBwANqIAlBCGooAgA2AgAgBkG4A2ogCSkCADcDACAGQRBqIgMgBEHAAhCjDRogBkGcAWogCkEIaigCADYCACAGIAopAgA3ApQBIAQgA0HAAhCjDRogBkGQBWoiBUEIaiARKAIANgIAIAYgBikCBDcDkAUgBEHYAGogBRDaAyADIARBwAIQow0aIANB9ABqIBAQ2gMgCCADQcACEKMNGgwCCyAIQQI6AL0CDAELIAhBAjoAvQILIAZBoAVqJAAgAiACKAIAQQFrNgIAIAEgASgCAEEBazYCACAAIAAoAgBBAWs2AgBBACEAIActAMUCQQJHBEAgB0HQAmogB0EIakHAAhCjDRpBkfrDAC0AABpByAJBCBCjDCIARQ0DIABBADYCACAAQQRqIAdBzAJqQcQCEKMNGgsgB0GQBWokACAADwsQkA0ACxCRDQALQQhByAJB2IDEACgCACIAQaMHIAAbEQAAAAu1AgIDfwJ+IwBBIGsiAyQAAkACQAJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACADQQhqIABBBGogAb0iBacgBUIgiKcQ/wYgAygCCCICRQ0CIAMoAgwiBCACQQhqKAIATw0DIAJBBGooAgAiAkUNAyACIARB6ANsaiICQaABaikCACEFIAJBqAFqKQIAIQYgACAAKAIAQQFrNgIAIANBGGoiAiAGNwMAIAMgBTcDEEGR+sMALQAAGkEUQQQQowwiAEUNBCAAQQA2AgAgACADKQMQNwIEIABBDGogAikDADcCACADQSBqJAAgAA8LEJANAAsQkQ0AC0GIscAAQckAQYCywAAQ7wkAC0GkiMAAQStBkLLAABC5CgALQQRBFEHYgMQAKAIAIgBBowcgABsRAAAAC7UCAgN/An4jAEEgayIDJAACQAJAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIANBCGogAEEEaiABvSIFpyAFQiCIpxD/BiADKAIIIgJFDQIgAygCDCIEIAJBCGooAgBPDQMgAkEEaigCACICRQ0DIAIgBEHoA2xqIgJBvAFqKQIAIQUgAkHEAWopAgAhBiAAIAAoAgBBAWs2AgAgA0EYaiICIAY3AwAgAyAFNwMQQZH6wwAtAAAaQRRBBBCjDCIARQ0EIABBADYCACAAIAMpAxA3AgQgAEEMaiACKQMANwIAIANBIGokACAADwsQkA0ACxCRDQALQYixwABByQBBgLLAABDvCQALQaSIwABBK0GQssAAELkKAAtBBEEUQdiAxAAoAgAiAEGjByAAGxEAAAALtQICA38BfiMAQSBrIgMkAAJAAkACQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgA0EIaiAAQQRqIAG9IgWnIAVCIIinEP8GIAMoAggiAkUNAiADKAIMIgQgAkEIaigCAE8NAyACQQRqKAIAIgJFDQMgAiAEQegDbGoiAkGwAWopAgAhBSACQbgBaigCACECIAAgACgCAEEBazYCACADQRhqIgQgAjYCACADIAU3AxBBkfrDAC0AABpBEEEEEKMMIgBFDQQgAEEANgIAIAAgAykDEDcCBCAAQQxqIAQoAgA2AgAgA0EgaiQAIAAPCxCQDQALEJENAAtBiLHAAEHJAEGAssAAEO8JAAtBpIjAAEErQZCywAAQuQoAC0EEQRBB2IDEACgCACIAQaMHIAAbEQAAAAu1AgIDfwF+IwBBIGsiAyQAAkACQAJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACADQQhqIABBBGogAb0iBacgBUIgiKcQ/wYgAygCCCICRQ0CIAMoAgwiBCACQQhqKAIATw0DIAJBBGooAgAiAkUNAyACIARB6ANsaiICQcwBaikCACEFIAJB1AFqKAIAIQIgACAAKAIAQQFrNgIAIANBGGoiBCACNgIAIAMgBTcDEEGR+sMALQAAGkEQQQQQowwiAEUNBCAAQQA2AgAgACADKQMQNwIEIABBDGogBCgCADYCACADQSBqJAAgAA8LEJANAAsQkQ0AC0GIscAAQckAQYCywAAQ7wkAC0GkiMAAQStBkLLAABC5CgALQQRBEEHYgMQAKAIAIgBBowcgABsRAAAAC78FAgp/AX4jAEFAaiIIJAACQAJAIAAEQCAAKAIAIgRBf0YNASAAIARBAWo2AgAgCEEIaiEEIwBB8ABrIgUkAAJAAkAgAEEEaiIHIAK9Ig6nIA5CIIinEKkKIgYEQCAHIAG9Ig6nIA5CIIinEKkKIgdFDQEgBUE4aiAHQfQAaiAHKAIwIAdBNGooAgAiBygCCEEBa0F4cWpBCGogByAGQfQAaiAGKAIwIAZBNGooAgAiBigCCEEBa0F4cWpBCGogBiADEJ8BIAQCf0EAIAUoAjgiB0ECRg0AGiAFQTBqIgkgBUE4aiIGQTRqKAIANgIAIAVBKGoiCiAGQSxqKQIANwMAIAVBIGoiCyAGQSRqKQIANwMAIAVBGGoiDCAGQRxqKQIANwMAIAVBEGoiDSAGQRRqKQIANwMAIAVBCGogBkEMaikCADcDACAFIAUpAjw3AwBBACAHRQ0AGiAEIAUpAwA3AgQgBEE0aiAJKAIANgIAIARBLGogCikDADcCACAEQSRqIAspAwA3AgAgBEEcaiAMKQMANwIAIARBFGogDSkDADcCACAEQQxqIAVBCGopAwA3AgBBAQs2AgAgBUHwAGokAAwCC0HYs8AAQcwAQcS2wAAQ7wkAC0HYs8AAQcwAQcy0wAAQ7wkACyAAIAAoAgBBAWs2AgACQCAIKAIIRQRAQQAhAAwBC0GR+sMALQAAGkE4QQQQowwiAEUNAyAAQQA2AgAgACAIKQIMNwIEIABBDGogCEEIaiIEQQxqKQIANwIAIABBFGogBEEUaikCADcCACAAQRxqIARBHGopAgA3AgAgAEEkaiAEQSRqKQIANwIAIABBLGogBEEsaikCADcCACAAQTRqIARBNGooAgA2AgALIAhBQGskACAADwsQkA0ACxCRDQALQQRBOEHYgMQAKAIAIgBBowcgABsRAAAAC+ckAiB/A34jAEHwAmsiHyQAAkACQCAARQ0AIAAoAgANASAAQX82AgAgAkUNACACKAIADQEgAkF/NgIAIANFDQAgAygCAA0BIANBfzYCACAERQ0AIAQoAgANASAEQX82AgAgBUUNACAFKAIADQEgBUF/NgIAIB9BCGohHSABvSImpyEWICZCIIinIRkgAkEEaiEPIANBBGohCiAEQQRqIQsgBUEEaiETIwBB8ANrIiIkAAJAAkAgAEEEaiIOQRBqKAIAIBZNDQAgDkEMaigCACAWQfACbGoiBigCAEUNACAGKAIEIBlHDQAgBkEANgIAIAYoAgghJCAGIA4pAgA3AgQgDiAWNgIEIA5BATYCACAOIA4oAhRBAWo2AhQgDiAOKAIYQQFrNgIYIAZB3AJqKAIAIiVBgICAgHhGDQAgBkHoAmopAgAhKCAGQeQCaigCACEgIAZB4AJqKAIAISEgBkEMaigCACEjICIgBkEQakHMAhCjDSEbIA8gFiAZICMgDhC2AyAgBEAgISAgQQN0aiEJIBtBgANqIQcgISEIA0AgG0HQAmogCiAIKAIAIAhBBGooAgAgDyAOQQAQ8AECQCAbKALQAkECRg0AIBsoAoADIgYoAgAhDSAGIA1BAWs2AgAgDUEBRgRAIAcQoggLIBsoAvgCQQJJDQAgGygC/AIQlQILIAkgCEEIaiIIRw0ACwsgG0HQAmohGCMAQYADayIUJAAgFEEANgIMIBRCgICAgMAANwIEAkACQAJAIBYgC0EkaigCAE8NACALQSBqKAIAIgdFDQAgGSAHIBZBA3RqIgYoAgBHDQAgBkF/NgIAIAcgFkEDdGoiBigCBCEXIAZBfzYCBCAXQX9GDQAgC0E8aigCACEaIAtBOGooAgAhFQJAAkACQAJAIAtBMGooAgAiEiAXTQRAQX8hCUF/IQYMAQsgC0EsaigCACAXQQR0aiIHQQxqKAIAIQYgGiAHKAIIIglLDQELA0AgGiAGIgpNDQMgFSAKQYADbGoiBygCBCEGIAcoAgggF0YNAAsgCSEHIAohCQwBCyAVIAlBgANsaigCACEHCwJAAkACQAJAAkACQAJAAn8CQAJAAkACQCAVIAlBgANsaiIKKAIIIg0gEkkEQCAKQQxqKAIAIgogEk8NAyALQSxqKAIAIhwgCkEEdGoiCigCBCERIAooAgAhDiAcIA1BBHRqIgooAgAhDyAKKAIEIQggFSAJQYADbGoiCUE8aigCACEKIAlBOGooAgAhCUGR+sMALQAAGkHgAEEEEKMMIg1FDQEgDSAKNgIUIA0gCTYCECANIBE2AgwgDSAONgIIIA0gCDYCBCANIA82AgAgFEEBNgIYIBQgDTYCFCAUQQQ2AhAgByAaSQ0CA0AgGiAGIglNBEBBBCEeIA1BGGoMBwsgFSAJQYADbGoiCigCBCEGIAooAgggF0YNAAsgByEKIAkhBwwECyANIBJBkPjBABDtCAALQQRB4ABB2IDEACgCACIAQaMHIAAbEQAAAAsgFSAHQYADbGooAgAhCgwBCyAKIBJBoPjBABDtCAALIBUgB0GAA2xqIgkoAggiCCASTw0BIAlBDGooAgAiCSASTw0CIBwgCUEEdGohECAcIAhBBHRqIQxBBCESQQEhCQNAIBUgB0GAA2xqIgdBOGooAgAhHCAHQTxqKAIAIREgDCgCACEOIAwoAgQhDyAQKAIAIQggECgCBCEHIAkgEkYEQCAUQRBqIBJBARCmBiAUKAIUIQ0LIA0gCUEYbGoiEiARNgIUIBIgHDYCECASIAc2AgwgEiAINgIIIBIgDzYCBCASIA42AgAgFCAJQQFqIgk2AhgCQAJAIAogGkkEQCAVIAoiB0GAA2xqKAIAIQoMAQsDQCAaIAYiB00NAiAVIAdBgANsaiIIKAIEIQYgCCgCCCAXRg0ACwsgCygCPCAHTQ0FIAsoAjgiCEUNBSALKAIwIg4gCCAHQYADbGoiCCgCCCIPTQ0GIAhBDGooAgAiCCAOTw0HIAhBBHQgCygCLCIIaiEQIAggD0EEdGohDCAUKAIQIRIMAQsLIBQoAhQhDSAUKAIQIR4gCUUNByANIAlBGGxqCyEKIAtBKGohGiALQUBrIRUgFCgCDCEIIA0hBgNAIAYoAhQhCSAGKAIQIQ8gBigCDCESIAYoAgghHCAGKAIEIREgBigCACEOIBQoAgQgCEYEQCAUQQRqIAgQsAYgFCgCDCEICyAUKAIIIAhBA3RqIgcgCTYCBCAHIA82AgAgFCAIQQFqIgg2AgwCQAJAIAsoAhAgD00NACALKAIMIA9BDGxqIgcoAgBFDQAgBygCBCAJRg0BC0HYwMAAQStB5KTBABC5CgALIAdBADYCACAHKAIIIRAgByALKQIANwIEIAsgDzYCBCALQQE2AgAgCyALKAIUQQFqNgIUIAsgCygCGEEBazYCGCAUQRBqIBogEBDvAgJAIAsoAjwgEE0NACALKAI4IgdFDQAgByAQQYADbGoiD0E4aigCACIJIAsoAhBPDQcgCygCDCIHRQ0HIAcgCUEMbGoiBygCAEUNByAHKAIEIA9BPGooAgBHDQcgByAQNgIICyALKAJIIgwgCygCQCIQRgRAIBUgDBCwBiALKAJIIQwgCygCQCEQCyALIAxBAWoiBzYCSCALKAJEIgkgDEEDdGoiDyARNgIEIA8gDjYCACAHIBBGBEAgFSAQELAGIAsoAkQhCSALKAJIIQcLIAsgB0EBajYCSCAJIAdBA3RqIgcgEjYCBCAHIBw2AgAgCiAGQRhqIgZHDQALDAYLIAggEkGQ+MEAEO0IAAsgCSASQaD4wQAQ7QgAC0HYwMAAQStBgPjBABC5CgALIA8gDkGQ+MEAEO0IAAsgCCAOQaD4wQAQ7QgAC0GklcEAQRNB9KTBABDvCQALIB5FDQAgDRCVAgsCQCAXIAsoAjAiEE8EQCALKAIsIQoMAQsgCygCLCIKIBdBBHRqIg9BCGohDiALKAI4IREgDygCCCIHQX9HBEAgCygCPCEIA0ACQCAHIAhPDQACQCARIAdBgANsaiINKQMIIianIgYgEE8NACANKQMAIScCQAJAIAogBkEEdGoiBigCCCIMIAdGBEAgBkEIaiEJDAELA0AgCCAMTQ0CIBEgDEGAA2xqIgkoAgAiDCAHRw0ACwsgCSAnPgIACyAmQiCIpyIGIBBPDQAgCiAGQQR0akEMaiIGKAIAIgwgB0cEQANAIAggDE0NAiARIAxBgANsaiIGKAIEIgwgB0cNAAsgBkEEaiEGCyAGICdCIIg+AgALIA0gESAIQQFrIghBgANsakGAAxChDSEGIAsgCDYCPCAHIAhPDQAgBkEIaikDACImpyIGIBBPDQACQAJAIAogBkEEdGoiBigCCCIMIAhGBEAgBkEIaiEJDAELA0AgCCAMTQ0CIBEgDEGAA2xqIgkoAgAiDCAIRw0ACwsgCSAHNgIACyAmQiCIpyIGIBBPDQAgCiAGQQR0akEMaiIGKAIAIgwgCEcEQANAIAggDE0NAiARIAxBgANsaiIGKAIEIgwgCEcNAAsgBkEEaiEGCyAGIAc2AgALIA4oAgAiB0F/Rw0ACwsgD0EMaiINKAIAIgdBf0cEQCALKAI8IQgDQAJAIAcgCE8NAAJAIBEgB0GAA2xqIg8pAwgiJqciBiAQTw0AIA8pAwAhJwJAAkAgCiAGQQR0aiIGKAIIIgwgB0YEQCAGQQhqIQkMAQsDQCAIIAxNDQIgESAMQYADbGoiCSgCACIMIAdHDQALCyAJICc+AgALICZCIIinIgYgEE8NACAKIAZBBHRqQQxqIgYoAgAiDCAHRwRAA0AgCCAMTQ0CIBEgDEGAA2xqIgYoAgQiDCAHRw0ACyAGQQRqIQYLIAYgJ0IgiD4CAAsgDyARIAhBAWsiCEGAA2xqQYADEKENIQYgCyAINgI8IAcgCE8NACAGQQhqKQMAIianIgYgEE8NAAJAAkAgCiAGQQR0aiIGKAIIIgwgCEYEQCAGQQhqIQkMAQsDQCAIIAxNDQIgESAMQYADbGoiCSgCACIMIAhHDQALCyAJIAc2AgALICZCIIinIgYgEE8NACAKIAZBBHRqQQxqIgYoAgAiDCAIRwRAA0AgCCAMTQ0CIBEgDEGAA2xqIgYoAgQiDCAIRw0ACyAGQQRqIQYLIAYgBzYCAAsgDSgCACIHQX9HDQALCyALIBBBAWsiEDYCMCAKIBBBBHRqIgcpAgAhJiAKIBdBBHRqIgZBCGogB0EIaikCADcCACAGICY3AgAgECAXTQ0AIA4pAgAiJkIgiKchCCAmpyIMIAsoAjwiCUkEQANAIBEgDEGAA2xqIgYgFzYCCCAJIAYoAgAiDEsNAAsLIAggCU8NACARQQRqIQcDQCAIQYADbCIGIBFqQQxqIBc2AgAgCSAGIAdqKAIAIghLDQALCyAQIBdNDQAgCkUNACAKIBdBBHRqIgZBBGooAgAhDQJAIAYoAgAiDiALKAIkIgdJBEAgByEGDAELIAcgDkEBaiIGSQRAIAYgByIJayIPIAsoAhwgB2tLBEAgC0EcaiAHIA8QjQYgCygCJCEJCyALKAIgIAlBA3RqIQYgD0ECTwRAIA4gB2siCkEHcSEIIA4gB0F/c2pBB08EQCAKQXhxIQcDQCAGQv////8PNwIAIAZBOGpC/////w83AgAgBkEwakL/////DzcCACAGQShqQv////8PNwIAIAZBIGpC/////w83AgAgBkEYakL/////DzcCACAGQRBqQv////8PNwIAIAZBCGpC/////w83AgAgBkFAayEGIAdBCGsiBw0ACwsgCARAA0AgBkL/////DzcCACAGQQhqIQYgCEEBayIIDQALCyAJIA9qQQFrIQkLIAZC/////w83AgAgCUEBaiEGCyALIAY2AiQLIAYgDk0NASALKAIgIA5BA3RqIgYgFzYCBCAGIA02AgALIBggFCkCBDcCACAYQQhqIBRBDGooAgA2AgAgFEGAA2okAAwBCyAOIAZBoJbBABDtCAALIBsoAtACBEAgGygC1AIQlQILQQAhCCMAQRBrIhgkAAJAIBNBJGooAgAgFk0NACATQSBqKAIAIgZFDQAgBiAWQRRsaiIGKAIAIBlHDQAgBkEMaigCACEeIBhBADYCDCAYQoCAgIDAADcCBCATQTxqIQ0gE0E4aiEKQX8hCUF/IQYgHiATQTBqKAIASQRAIBNBLGooAgAgHkEEdGoiBygCCCEGIAdBDGooAgAhCQsgDSgCACEaIAooAgAhEiATQUBrIRxBBCENAkADQAJAAkACQAJAIAYgGkkEQCASIAZBBHRqKAIAIQcMAQsDQCAaIAkiCk0NAiASIApBBHRqIgcoAgQhCSAHKAIIIB5GDQALIAYhByAKIQYLIBMoAjwgBk0NAiATKAI4IgpFDQIgEygCMCIWIAogBkEEdGoiBigCCCIZTQ0EIAZBDGooAgAiBiAWSQ0BIAYgFkGg+MEAEO0IAAsgGCgCBCEHIAgEQCANIAhBA3RqIQYgDSEJA0AgEyAJKAIAIAlBBGooAgBBARAkIAYgCUEIaiIJRw0ACwsgB0UNBCANEJUCDAQLIBMoAiwiCiAGQQR0aiIGKAIEIREgBigCACEOIAogGUEEdGoiBigCACEPIAYoAgQhFiAYKAIEIAhGBEAgGEEEaiAIELAGIBgoAgwhCCAYKAIIIQ0LIA0gCEEDdGoiBiARNgIEIAYgDjYCACAYIAhBAWoiCDYCDCATKAJIIgogEygCQCIVRgRAIBwgChCwBiATKAJAIRUgEygCSCEKCyATIApBAWoiBjYCSCAKQQN0IRkgGSATKAJEIgpqIhkgFjYCBCAZIA82AgAgBiAVRgRAIBwgFRCwBiATKAJEIQogEygCSCEGCyATIAZBAWo2AkggCiAGQQN0aiIGIBE2AgQgBiAONgIAIAchBgwBCwtB2MDAAEErQYD4wQAQuQoACyAZIBZBkPjBABDtCAALIBhBEGokACAdQQhqIBtBzAIQow0aIB0gKDcD4AIgHSAgNgLcAiAdICE2AtgCIB0gJTYC1AIgHSAjNgIEIB0gJDYCAAwBCyAdQYCAgIB4NgLUAgsgIkHwA2okAAJAIB8oAtwCIgdBgICAgHhGDQAgH0HsAWooAgAiBgRAIAYQlQILIAdFDQAgH0HgAmooAgAQlQILIAVBADYCACAEQQA2AgAgA0EANgIAIAJBADYCACAAQQA2AgAgH0HwAmokAA8LEJANAAsQkQ0AC6wCAgN/AX4jAEEQayIDJAACQAJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgWnIAVCIIinEKkKIgJFDQICQCACQTBqKAIAIAJBNGooAgAiAigCCEEBa0F4cWpBCGogAhCsCSICRQRAIAAgACgCAEEBazYCAEEAIQAMAQsgAkEIaigCACEEIAIpAgAhBSAAIAAoAgBBAWs2AgAgA0EIaiAENgIAIAMgBTcDAEGR+sMALQAAGkEQQQQQowwiAEUNBCAAQQA2AgAgACADKQMANwIEIABBDGogA0EIaigCADYCAAsgA0EQaiQAIAAPCxCQDQALEJENAAtB2LPAAEHMAEHMtMAAEO8JAAtBBEEQQdiAxAAoAgAiAEGjByAAGxEAAAALxQIBA38jAEEgayIBJAAgAEEMaigCACECAkACQAJAAkACQAJAAkACQAJAIAAoAgQOAgABAgsgAg0BQQEhAkEAIQBBgIDAACEDDAMLIAJFDQELIAFBFGogABCwBAwCCyAAKAIAIgAoAgAhAyAAKAIEIgBFBEBBASECQQAhAAwBCyAAQQBIDQJBkfrDAC0AABogAEEBEKMMIgJFDQMLIAIgAyAAEKMNIQIgASAANgIcIAEgAjYCGCABIAA2AhQLIAFBEGoiAiABQRxqKAIANgIAIAEgASkCFDcDCEGR+sMALQAAGkEMQQQQowwiAEUNAiAAIAEpAwg3AgAgAEEIaiACKAIANgIAIAFBIGokACAADwsQ7goAC0EBIABB2IDEACgCACIAQaMHIAAbEQAAAAtBBEEMQdiAxAAoAgAiAEGjByAAGxEAAAALjgICCH0BfyABKAIIIgoEQCABKAIEIgEqAgghAyABKgIEIQQgASoCACEFAkAgCkEBRgRAIAMhBiAEIQcgBSEIDAELIAEgCkEMbGohCiABQQxqIQEgBSEIIAQhByADIQYDQCAGIAFBCGoqAgAiCSAGIAlgGyEGIAcgAUEEaioCACICIAIgB18bIQcgAyAJIAMgCV8bIQMgBCACIAIgBGAbIQQgCCABKgIAIgIgAiAIXxshCCAFIAIgAiAFYBshBSAKIAFBDGoiAUcNAAsLIAAgCDgCDCAAIAM4AgggACAEOAIEIAAgBTgCACAAQRRqIAY4AgAgAEEQaiAHOAIADwtB4pPCAEHSAEHElMIAEO8JAAvNAQEEfyAAKAIIIgIEQCAAKAIEQRxqIQEDQCABKAIAIgQoAgAhAyAEIANBAWs2AgAgA0EBRgRAIAEQoggLIAFBJGohASACQQFrIgINAAsLIAAoAgAEQCAAKAIEEJUCCyAAQTBqKAIABEAgAEE0aigCABCVAgsgAEE8aigCAARAIABBQGsoAgAQlQILIABByABqKAIABEAgAEHMAGooAgAQlQILIABB1ABqKAIABEAgAEHYAGooAgAQlQILIAAoAgwEQCAAQRBqKAIAEJUCCwuQAgICfwF+IwBBMGsiCCQAAkACQAJAIABFDQAgACgCAA0BIABBfzYCACADRQ0AIAMoAgAiB0F/Rg0BIAMgB0EBajYCACAERQ0AIAQoAgAiB0F/Rg0BIAQgB0EBajYCACAFRQ0AIAUoAgAiB0F/Rg0BIAUgB0EBajYCACAAQQRqIAG9IgmnIAlCIIinEJIHIgdFDQIgCEEEaiADQQRqIAIgBEEEaiAFQQRqEJAHIAhBADYCACAHIAggBkEARxDNAiAFIAUoAgBBAWs2AgAgBCAEKAIAQQFrNgIAIAMgAygCAEEBazYCACAAQQA2AgAgCEEwaiQADwsQkA0ACxCRDQALQcCywABBzQBByLPAABDvCQALtgICAn0GfyAAKAIIIgNFBEBD//9/fw8LIAAoAgQhBSADQQFxIQYCQCADQQFGBEBBACEDQ///f38hAQwBCyAFQcQAaiEAIANBfnEhB0EAIQND//9/fyEBA0AgAEEoaygCACAAQSRrKAIAIgQoAghBAWtBeHFqQQhqIAQoApwBEQoAIQIgACgCACEEIABBBGsoAgAhCCAAQcgAaiEAIAEgASACIAEgAl0bIAIgAlwbIgIgAiAIIAQoAghBAWtBeHFqQQhqIAQoApwBEQoAIgEgASACXhsgASABXBshASAHIANBAmoiA0cNAAsLIAYEQCAFIANBJGxqIgNBIGooAgAhACABIAEgA0EcaigCACAAKAIIQQFrQXhxakEIaiAAKAKcAREKACICIAEgAl0bIAIgAlwbIQELIAELtgICA30GfyAAKAIIIgRFBEBD//9/fw8LIAAoAgQhBiAEQQFxIQcCQCAEQQFGBEBBACEEQ///f38hAQwBCyAGQcQAaiEAIARBfnEhCEEAIQRD//9/fyEBA0AgAEEoaygCACAAQSRrKAIAIgUoAghBAWtBeHFqQQhqIAUoAqABEQoAIQIgACgCACEFIABBBGsoAgAhCSAAQcgAaiEAIAkgBSgCCEEBa0F4cWpBCGogBSgCoAERCgAiAyADIAIgAiABIAEgAl0bIAEgAVwbIgEgASADXRsgASABXBshASAIIARBAmoiBEcNAAsLIAcEQCAGIARBJGxqIgRBIGooAgAhACAEQRxqKAIAIAAoAghBAWtBeHFqQQhqIAAoAqABEQoAIgIgAiABIAEgAl0bIAEgAVwbIQELIAEL9AECAX8JfSMAQTBrIgQkACADKgIAIAIqAhCTIgsgAioCBCIIlCADKgIEIAJBFGoqAgCTIgwgAioCACIJlJMiBiAGkiEGIAwgAioCCCIKlCADKgIIIAJBGGoqAgCTIgUgCJSTIgcgB5IhByAEIAUgAioCDCINIAaUIAggB5QgCSAFIAmUIAsgCpSTIgUgBZIiBZSTkpI4AiwgBCAMIA0gBZQgCSAGlCAKIAeUk5KSOAIoIAQgCyANIAeUIAogBZQgCCAGlJOSkjgCJCAEQQxqIgMgASAEQSRqEPQBIAAgAyACEIIGIAAgBCkCHDcCECAEQTBqJAALrwMCBX8BfiMAQTBrIgkkAAJAAkACQCAARQ0AIAAoAgANASAAQX82AgAgA0UNACADKAIAIgZBf0YNASADIAZBAWo2AgAgBEUNACAEKAIAIgZBf0YNASAEIAZBAWo2AgAgBUUNACAFKAIAIgZBf0YNASAFIAZBAWo2AgAgAEEEaiABvSILpyALQiCIpxCTByIKRQ0CIAlBBGoiByADQQRqIAIgBEEEaiAFQQRqEJAHIwBBEGsiCCQAQZH6wwAtAAAaQSxBBBCjDCIGRQRAQQRBLEHYgMQAKAIAIgBBowcgABsRAAAACyAGIAcpAgA3AgAgBkEoaiAHQShqKAIANgIAIAZBIGogB0EgaikCADcCACAGQRhqIAdBGGopAgA3AgAgBkEQaiAHQRBqKQIANwIAIAZBCGogB0EIaikCADcCACAIIAY2AgwgCEECNgIIIAogCEEIahDJBCAIQRBqJAAgBSAFKAIAQQFrNgIAIAQgBCgCAEEBazYCACADIAMoAgBBAWs2AgAgAEEANgIAIAlBMGokAA8LEJANAAsQkQ0AC0HYs8AAQcwAQdy0wAAQ7wkAC/0KAhJ/BX0jAEEwayIHJAACQAJAAkAgBARAIAQoAgAiBkF/Rg0BIAQgBkEBajYCACABQQFqIgEgAEEBaiIAbCADRw0CIAcgATYCHCAHIAA2AhggByADNgIUIAcgAjYCECAHIAM2AgwgB0EoaiAEQQxqKAIANgIAIAcgBCkCBDcDICMAQeAAayIQJAAgEEEIaiEGIAdBIGohDiAFQQAgBUH/AXFBAU0bIRUjAEEgayINJAACQAJAAkACQCAHQQxqIg8oAgwiCEECSQ0AIA8oAhAiEUEBTQ0AAkAgCCARbCISRQ0AIA8oAgQiASoCACEYIBJBAWsiAkUEQCAYIRkMAQsgEkECayEDIAEhBSABIAhBAnRqIgohCSAYIRkgAUEEaiIMIQsgAiIAQQFxBEAgGCAKIAwgCEEBRiIAGyIJKgIAIhkgGCAZYBshGSAKIAEgABshBSAJIANBAEdBAnRqIQsgCiAAQQJ0aiEJIAMhAAsgAwRAA0AgGSAIQQJ0IhMgBWoiFiALIAkgC0YiCxsiFCoCACIaIBkgGmAbIRkgCSAIQQAgCxtBAnRqIhcgFCAAQQFHQQJ0aiIURiEJIBkgFiAFIAsbIgUgE2oiCyAUIAkbIhMqAgAiGiAZIBpgGyEZIAsgBSAJGyEFIBMgAEECR0ECdGohCyAXIAhBACAJG0ECdGohCSAAQQJrIgANAAsLIAJBAXEEQCAYIAEgCEECdGoiAiAMIAhBAUYiABsiBSoCACIaIBggGl8bIRggAiABIAAbIQEgBSASQQJrIgJBAEdBAnRqIQwgCiAAQQJ0aiEKCyADRQ0AA0AgGCAIQQJ0IgUgAWoiCSAMIAogDEYiAxsiACoCACIaIBggGl8bIRggACACQQFHQQJ0aiIMIAogCEEAIAMbQQJ0aiIKRiEAIBggCSABIAMbIgEgBWoiAyAMIAAbIgUqAgAiGiAYIBpfGyEYIAMgASAAGyEBIAUgAkECR0ECdGohDCAKIAhBACAAG0ECdGohCiACQQJrIgINAAsLIA4qAgQhGiAOKgIIIRsgDioCACEcQQEhACARQQFrIgIgCEEBayIDbCIBBEAgAUEASA0CQZH6wwAtAAAaIAFBARCjDCIARQ0DIABBACABEKINGgsgBiABNgIUIAYgFToAUCAGIA8pAgA3AgAgBkEkaiACNgIAIAZBIGogAzYCACAGQRxqIAE2AgAgBkEYaiAANgIAIAYgDikCADcCKCAGQcgAaiAbQwAAAD+UIhs4AgAgBkHEAGogGSAalDgCACAGQUBrIBxDAAAAP5QiGTgCACAGQThqIBggGpQ4AgAgBkEQaiAPQRBqKAIANgIAIAZBCGogD0EIaikCADcCACAGQTBqIA5BCGooAgA2AgAgBkE8aiAbjDgCACAGIBmMOAI0IAYgCEEBdEECayARQf////8Hamw2AkwgDUEgaiQADAMLIA1BFGpCADcCACANQQE2AgwgDUHY9cIANgIIIA1BgIXCADYCECANQQhqQdD2wgAQ7woACxDuCgALQQEgAUHYgMQAKAIAIgBBowcgABsRAAAAC0GR+sMALQAAGkHcAEEEEKMMIgBFBEBBBEHcAEHYgMQAKAIAIgBBowcgABsRAAAACyAAQoGAgIAQNwIAIABBCGogEEEIakHUABCjDRogB0Gg3sIANgIEIAcgADYCACAQQeAAaiQAIAcoAgQhASAHKAIAIQIgBCAEKAIAQQFrNgIAQZH6wwAtAAAaQQxBBBCjDCIARQ0DIAAgATYCCCAAIAI2AgQgAEEANgIAIAdBMGokACAADwsQkA0ACxCRDQALQdSAwABB2gBBpILAABC3CwALQQRBDEHYgMQAKAIAIgBBowcgABsRAAAAC6oDAgt9A38jAEEgayINJAAgASoCJCIGQwAAAABgRQRAIA1BFGpCADcCACANQQE2AgwgDUHUksIANgIIIA1BgIXCADYCECANQQhqQdySwgAQ7woACyABQRxqKgIAIQQgAUEQaioCACEHIAEqAgQhCCABKgIAIQkgASoCGCEFIAEqAgwhCiAAQRRqIAYgAUEgaioCACILIAsgAUEUaioCACIMIAwgASoCCCICIAIgDF0iARsgAiACXBsiAyADIAtdGyADIANcG5I4AgAgAEEQaiAEIAQgByAHIAggByAIXiIOGyAIIAhcGyIDIAMgBF0bIAMgA1wbIAaSOAIAIAAgBSAFIAogCiAJIAkgCl0iDxsgCSAJXBsiAyADIAVdGyADIANcGyAGkjgCDCAAIAIgAiAMIAEbIAwgDFwbIgIgAiALIAIgC10bIAsgC1wbIAaTOAIIIAAgCCAIIAcgDhsgByAHXBsiAiACIAQgAiAEXRsgBCAEXBsgBpM4AgQgACAJIAkgCiAPGyAKIApcGyICIAIgBSACIAVdGyAFIAVcGyAGkzgCACANQSBqJAAL0AEBBX8jAEEgayICJAAgAiABKAIAIgZBgICAgHxxIgM2AgQgA0UEQAJAIAIgASgCBCIDQYCAgIB8cSIENgIEIAQNACACIAEoAggiBEGAgICAfHEiBTYCBCAFDQAgAiABKAIMIgFBgICAgHxxIgU2AgQgBQ0AIAAgAUGAgICABHI2AgwgACAEQYCAgIAEcjYCCCAAIANBgICAgARyNgIEIAAgBkGAgICABHI2AgAgAkEgaiQADwsLIAJBADYCCCACQQRqIAJBCGpBrP/CABD5CgAL0AEBBX8jAEEgayICJAAgAiABKAIAIgZBgICAgHxxIgM2AgQgA0UEQAJAIAIgASgCBCIDQYCAgIB8cSIENgIEIAQNACACIAEoAggiBEGAgICAfHEiBTYCBCAFDQAgAiABKAIMIgFBgICAgHxxIgU2AgQgBQ0AIAAgAUGAgICAeHI2AgwgACAEQYCAgIB4cjYCCCAAIANBgICAgHhyNgIEIAAgBkGAgICAeHI2AgAgAkEgaiQADwsLIAJBADYCCCACQQRqIAJBCGpBvP/CABD5CgAL+gECAn8BfgJAAkACQAJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIIpyAIQiCIpxCSByIGRQ0CAkAgBkGAAmotAAAiB0EIcUUgAkEAR3MNACAHQRBxRSADQQBHcw0AIAdBIHFFIARBAEdGDQYLIAVFDQQgBi0A4QINBCAGQdACai0AAEUNAyAGIAYoArgCQQRyNgK4AgwDCxCQDQALEJENAAtBwLLAAEHNAEHIs8AAEO8JAAsgBkEAOgDQAiAGQcwCakEANgIACyAGIAdBxwFxIANFQQR0IAJFQQN0ciAERUEFdHJyOgCAAiAGEPUECyAAQQA2AgAL6wECAX8JfSMAQTBrIgMkACACKgIAIAEqAhCTIgogASoCBCIHlCACKgIEIAFBFGoqAgCTIgsgASoCACIIlJMiBSAFkiEFIAsgASoCCCIJlCACKgIIIAFBGGoqAgCTIgQgB5STIgYgBpIhBiADIAQgASoCDCIMIAWUIAcgBpQgCCAEIAiUIAogCZSTIgQgBJIiBJSTkpI4AhAgAyALIAwgBJQgCCAFlCAJIAaUk5KSOAIMIAMgCiAMIAaUIAkgBJQgByAFlJOSkjgCCCADQRRqIAAgA0EIahD1AiADLQAgIQAgA0EwaiQAIABBAEcLigICAX8BfSABKgIAIQMgACgCACICKAIIIQAgAigCACAAa0EDTQRAIAIgAEEEEMwGIAIoAgghAAsgAigCBCAAaiADOAAAIAIgAEEEaiIANgIIIAEqAgQhAyACKAIAIABrQQNNBEAgAiAAQQQQzAYgAigCCCEACyACKAIEIABqIAM4AAAgAiAAQQRqIgA2AgggASoCCCEDIAIoAgAgAGtBA00EQCACIABBBBDMBiACKAIIIQALIAIoAgQgAGogAzgAACACIABBBGoiADYCCCABKgIMIQMgAigCACAAa0EDTQRAIAIgAEEEEMwGIAIoAgghAAsgAiAAQQRqNgIIIAIoAgQgAGogAzgAAEEAC4YCAQJ/IAAoAgAhACABKAIARQRAIAAoAggiASAAKAIARgRAIAAgAUEBEMwGIAAoAgghAQsgACABQQFqNgIIIAAoAgQgAWpBADoAAEEADwsgAUEIaigCACECIAEoAgQhAyAAKAIIIgEgACgCAEYEQCAAIAFBARDMBiAAKAIIIQELIAAoAgQgAWpBAToAACAAIAFBAWoiATYCCCAAKAIAIAFrQQNNBEAgACABQQQQzAYgACgCCCEBCyAAKAIEIAFqIAM2AAAgACABQQRqIgE2AgggACgCACABa0EDTQRAIAAgAUEEEMwGIAAoAgghAQsgACABQQRqNgIIIAAoAgQgAWogAjYAAEEAC+kBAgF/CX0jAEEwayIDJAAgAioCACABKgIQkyIKIAEqAgQiB5QgAioCBCABQRRqKgIAkyILIAEqAgAiCJSTIgUgBZIhBSALIAEqAggiCZQgAioCCCABQRhqKgIAkyIEIAeUkyIGIAaSIQYgAyAEIAEqAgwiDCAFlCAHIAaUIAggBCAIlCAKIAmUkyIEIASSIgSUk5KSOAIIIAMgCyAMIASUIAggBZQgCSAGlJOSkjgCBCADIAogDCAGlCAJIASUIAcgBZSTkpI4AgAgA0EMaiAAIANBARBGIAMtABghACADQTBqJAAgAEEARwvpAQIBfwl9IwBBMGsiAyQAIAIqAgAgASoCEJMiCiABKgIEIgeUIAIqAgQgAUEUaioCAJMiCyABKgIAIgiUkyIFIAWSIQUgCyABKgIIIgmUIAIqAgggAUEYaioCAJMiBCAHlJMiBiAGkiEGIAMgBCABKgIMIgwgBZQgByAGlCAIIAQgCJQgCiAJlJMiBCAEkiIElJOSkjgCCCADIAsgDCAElCAIIAWUIAkgBpSTkpI4AgQgAyAKIAwgBpQgCSAElCAHIAWUk5KSOAIAIANBDGogACADQQEQSyADLQAYIQAgA0EwaiQAIABBAEcL6gECAX8JfSMAQSBrIgMkACACKgIAIAEqAhCTIgogASoCBCIHlCACKgIEIAFBFGoqAgCTIgsgASoCACIIlJMiBSAFkiEFIAsgASoCCCIJlCACKgIIIAFBGGoqAgCTIgQgB5STIgYgBpIhBiADIAQgASoCDCIMIAWUIAcgBpQgCCAEIAiUIAogCZSTIgQgBJIiBJSTkpI4AgwgAyALIAwgBJQgCCAFlCAJIAaUk5KSOAIIIAMgCiAMIAaUIAkgBJQgByAFlJOSkjgCBCADQRBqIAAgA0EEakEBEKQCIAMtABwhACADQSBqJAAgAAu5eAMgfSd/Bn4gAEGUBGpBADYCACAAQaAEakEANgIAIAMgASoCBCIlIAEqAiwgASoCIJQiIyAHIAYgCiALIAwgDSAAQZgEaiAEETUAIBIEQAJAIAwhPiMAQfAAayIzJAACfkHIhMQAKQMAQgBSBEBB2ITEACkDACFbQdCExAApAwAMAQtCAiFbQdiExABCAjcDAEHIhMQAQgE3AwBCAQshWiAzQRBqQYiNwQApAwAiXDcDACAzIFo3AxhB0ITEACBaQgJ8NwMAIDMgWzcDICAzQYCNwQApAwAiXTcDCCAzQTBqIFw3AwAgMyBdNwMoIDMgWzcDQCAzIFpCAXw3AzggDQRAID4gDUEDdGohSyAFQShqKAIAIjZBBGohTCAFQThqKAIAIUIgBUE0aigCACFAIAVBHGooAgAhPCAFQRBqKAIAIT0gBSgCBCE4A0ACQCA+KAIAIgMgBSgCOE8NACAFKAI0IgFFDQAgPigCBCIMIAEgA0EMbGoiASgCAEcNACABQX82AgAgASgCBCE6IAFBCGooAgAhNyABQn83AgQCQCAzKAIURQ0AIDMpAxggMykDICA+ELADIlpCGYhC/wCDQoGChIiQoMCAAX4hXCBapyEEQQAhASAzKAIMIQ0gMygCCCESA0AgBCANcSIEIBJqKQAAIlogXIUiW0KBgoSIkKDAgAF9IFtCf4WDQoCBgoSIkKDAgH+DIVsDQCBbUARAIFogWkIBhoNCgIGChIiQoMCAf4NCAFINAyAEIAFBCGoiAWohBAwCCyBbeiFdIFtCAX0gW4MhWyASIF2nQQN2IARqIA1xQXRsaiI1QQxrIjQoAgAgA0cNACA0QQRqKAIAIAxHDQALCyA1QQRrKAIAITcLAkAgMygCNEUNACAzKQM4IDMpA0AgPhCwAyJaQhmIQv8Ag0KBgoSIkKDAgAF+IVwgWqchBEEAIQEgMygCLCENIDMoAighEgNAIAQgDXEiBCASaikAACJaIFyFIltCgYKEiJCgwIABfSBbQn+Fg0KAgYKEiJCgwIB/gyFbA0AgW1AEQCBaIFpCAYaDQoCBgoSIkKDAgH+DQgBSDQMgBCABQQhqIgFqIQQMAgsgW3ohXSBbQgF9IFuDIVsgEiBdp0EDdiAEaiANcUF0bGoiNUEMayI0KAIAIANHDQAgNEEEaigCACAMRw0ACwsgNUEEaygCACE6CyAFKAIIITQgBSgCFCE5AkAgAgRAQX8hBEF/IQwgNCA6SwRAIDggOkEEdGoiASgCCCEMIAFBDGooAgAhBAsCQANAAkAgDCA5SQRAID0gDEE4bGoiDSgCMCEBIAwhAyANKAIoIQwMAQsDQCA5IAQiA00NBSA9IANBOGxqIgFBLGooAgAhBCA6IAEoAjAiAUYNAAsLIAEgNEkEQCA9IANBOGxqIj9BNGooAgAiAyA0Tw0CIDggA0EEdGoiAygCBCFBIAMoAgAhEiA4IAFBBHRqIgEoAgQhQwJAIAEoAgAiRSAHKAIQTw0AIAcoAgwiAUUNACABIEVBqAFsaiIBKAIARQ0AIAEoAgQgQ0cNACABKAIIRQ0AIAFBDGooAgAiNSAGKAIQTw0AIAYoAgwiA0UNACADIDVB8AJsaiINKAIARQ0AIAFBEGooAgAiRiANKAIERw0AIA1B6QJqLQAADQAgDUHAAmotAABBBHENACANQdQCakEANgIAIA1B2AJqQQA6AAAgDUHqAmotAABFDQAgAigCBCEBAkAgAigCCCIDIA1BDGooAgAiRE0NACABIERBA3RqIkQoAgAgNUcNACBEKAIEIEZGDQELIA0gAzYCDCACKAIAIANGBEAgAiADELAGIAIoAgghAyACKAIEIQELIAIgA0EBajYCCCABIANBA3RqIgEgRjYCBCABIDU2AgALAkAgBygCECASTQ0AIAcoAgwiAUUNACABIBJBqAFsaiIBKAIARQ0AIAEoAgQgQUcNACABKAIIRQ0AIAFBDGooAgAiNSAGKAIQTw0AIAYoAgwiA0UNACADIDVB8AJsaiINKAIARQ0AIAFBEGooAgAiRiANKAIERw0AIA1B6QJqLQAADQAgDUHAAmotAABBBHENACANQdQCakEANgIAIA1B2AJqQQA6AAAgDUHqAmotAABFDQAgAigCBCEBAkAgAigCCCIDIA1BDGooAgAiRE0NACABIERBA3RqIkQoAgAgNUcNACBEKAIEIEZGDQELIA0gAzYCDCACKAIAIANGBEAgAiADELAGIAIoAgghAyACKAIEIQELIAIgA0EBajYCCCABIANBA3RqIgEgRjYCBCABIDU2AgALID8tACVFDQEgMyBBNgJsIDMgEjYCaCAzIEM2AmQgMyBFNgJgIDNCgYCAgCA3AlggECAGIAcgM0HYAGogPyARKAIMEQcADAELCyABIDRBkPjBABDtCAALIAMgNEGg+MEAEO0IAAtBfyEDQX8hDCA0IDpLBEAgOCA6QQR0aiIBKAIIIQwgAUEMaigCACEDCwJAA0ACQCAMIDlJBEAgPSAMQThsaiIEKAIwIQEgBCgCKCESDAELA0AgOSADIgRNDQQgPSAEQThsaiIBQSxqKAIAIQMgOiABKAIwIgFGDQALIAwhEiAEIQwLIAEgNEkEQCA9IAxBOGxqIgRBNGooAgAiDSA0Tw0CIBIhDCAELQAlRQ0BIDggAUEEdGopAgAhWiAzIDggDUEEdGopAgA3AmggMyBaNwJgIDNCgYCAgCA3AlggECAGIAcgM0HYAGogBCARKAIMEQcADAELCyABIDRBkPjBABDtCAALIA0gNEGg+MEAEO0IAAtBfyEBQX8hBCA3IAUoAiAiEkkEQCA8IDdBBHRqIgMoAgghASADQQxqKAIAIQQLIAUoAiwhAwJAAkADQAJAAkACQAJAIAEgA0kEQCA2IAFBFGxqIg0oAgghDCANKAIAIQ0MAQsDQCAEIjUgA08NAiA2IDVBFGxqIgwoAgQhBCA3IAwoAggiDEYNAAsgASENIDUhAQsgDCASTw0CIDYgAUEUbGoiP0EMaigCACI1IBJJDQEgNSASQaD4wQAQ7QgACyASIDdNDQQgPCA3QQR0aiI1QQhqIT8gNSgCCCIEQX9GDQMDQAJAIAMgBE0NACA2IARBFGxqIg1BCGohQQJAIA0pAggiW6ciASASTw0AIA0pAgAhWgJAAkAgBCA8IAFBBHRqIgwoAggiAUYEQCAMQQhqIQwMAQsDQCABIANPDQIgBCA2IAFBFGxqIgwoAgAiAUcNAAsLIAwgWj4CAAsgW0IgiKciASASTw0AIAQgPCABQQR0akEMaiIMKAIAIgFHBH8DQCABIANPDQIgBCA2IAFBFGxqIgwoAgQiAUcNAAsgDEEEagUgDAsgWkIgiD4CAAsgBSADQQFrIgM2AiwgNiADQRRsaiIBKQIAIVogAUEIaikCACFbIA1BEGogAUEQaigCADYCACBBIFs3AgAgDSBaNwIAIAMgBE0NACBBKQIAIlqnIgEgEk8NAAJAAkAgAyA8IAFBBHRqIgwoAggiAUYEQCAMQQhqIQwMAQsDQCABIANPDQIgAyA2IAFBFGxqIgwoAgAiAUcNAAsLIAwgBDYCAAsgWkIgiKciASASTw0AIAMgPCABQQR0akEMaiIMKAIAIgFHBH8DQCABIANPDQIgAyA2IAFBFGxqIgwoAgQiAUcNAAsgDEEEagUgDAsgBDYCAAsgPygCACIEQX9HDQALDAMLIA0hASA/QRFqLQAARQ0BIDwgDEEEdGopAgAhWiAzIDwgNUEEdGopAgA3AmggMyBaNwJgIDNCgYCAgDA3AlggECAGIAcgM0HYAGpBACARKAIMEQcADAELCyAMIBJBkPjBABDtCAALIDVBDGoiQygCACIEQX9HBEADQAJAIAMgBE0NACA2IARBFGxqIg1BCGohQQJAIA0pAggiW6ciASASTw0AIA0pAgAhWgJAAkAgBCA8IAFBBHRqIgwoAggiAUYEQCAMQQhqIQwMAQsDQCABIANPDQIgBCA2IAFBFGxqIgwoAgAiAUcNAAsLIAwgWj4CAAsgW0IgiKciASASTw0AIAQgPCABQQR0akEMaiIMKAIAIgFHBH8DQCABIANPDQIgBCA2IAFBFGxqIgwoAgQiAUcNAAsgDEEEagUgDAsgWkIgiD4CAAsgBSADQQFrIgM2AiwgNiADQRRsaiIBKQIAIVogAUEIaikCACFbIA1BEGogAUEQaigCADYCACBBIFs3AgAgDSBaNwIAIAMgBE0NACBBKQIAIlqnIgEgEk8NAAJAAkAgAyA8IAFBBHRqIgwoAggiAUYEQCAMQQhqIQwMAQsDQCABIANPDQIgAyA2IAFBFGxqIgwoAgAiAUcNAAsLIAwgBDYCAAsgWkIgiKciASASTw0AIAMgPCABQQR0akEMaiIMKAIAIgFHBH8DQCABIANPDQIgAyA2IAFBFGxqIgwoAgQiAUcNAAsgDEEEagUgDAsgBDYCAAsgQygCACIEQX9HDQALCyAFIBJBAWsiEjYCICA8IBJBBHRqIgEpAgAhWiA/IAFBCGopAgA3AgAgNSBaNwIAIBIgN00NACA/KQIAIlqnIgQgA0kEQANAIDYgBEEUbGoiASA3NgIIIAEoAgAiBCADSQ0ACwsgWkIgiKciBCADTw0AA0AgBEEUbCIBIDZqQQxqIDc2AgAgASBMaigCACIEIANJDQALCwJAAkACQAJAIBIgN00NACA8RQ0AIDwgN0EEdGoiA0EEaigCACEBIAMoAgAiAyBCTw0BIEBFDQEgQCADQQxsaiIEKAIAIAFHDQEgBEEIaiA3NgIACyA0IDpNDQJBkJrBACENA0AgOCA6QQR0aiISIA0tAABBAnRqQQhqIkMoAgAiA0F/RwRAA0ACQCADIDlPDQAgPSADQThsaiIBQTBqITcCQCABKQIwIlunIgQgNE8NACABKQIoIVoCQAJ/IDggBEEEdGoiDCgCCCIEIANGBEAgDEEIagwBCwNAIAQgOU8NAiA9IARBOGxqIgwoAigiBCADRw0ACyAMQShqCyBaPgIACyBbQiCIpyIEIDRPDQAgOCAEQQR0akEMaiIMKAIAIgQgA0cEQANAIAQgOU8NAiA9IARBOGxqQSxqIgwoAgAiBCADRw0ACwsgDCBaQiCIPgIACyA9IDlBAWsiOUE4bGoiBEEwaikCACFaIARBKGopAgAhWyAEQSBqKQIAIVwgBEEYaikCACFdIARBEGopAgAhXiAEQQhqKQIAIV8gASgCBCE/IAEoAgAhQSABIAQpAgA3AgAgAUEIaiIMKAIAIQQgDCBfNwIAIAFBEGogXjcCACABKAIcIQwgAUEYaiBdNwIAIAFBIGoiRSgCACE1IEUgXDcCACABQShqIFs3AgAgNyBaNwIAIAUgOTYCFAJAIAMgOU8NACA3KQIAIlqnIgEgNE8NAAJAAn8gOSA4IAFBBHRqIjcoAggiAUYEQCA3QQhqDAELA0AgASA5Tw0CIDkgPSABQThsaiI3KAIoIgFHDQALIDdBKGoLIAM2AgALIFpCIIinIgEgNE8NACA5IDggAUEEdGpBDGoiNygCACIBRwRAA0AgASA5Tw0CIDkgPSABQThsakEsaiI3KAIAIgFHDQALCyA3IAM2AgALIEFBgICAgHhGDQAgBARAID9BgAFqIQMDQCADQQRrKAIABEAgAygCABCVAgsgA0EoaygCAARAIANBJGsoAgAQlQILIANBqAFqIQMgBEEBayIEDQALCyBBBEAgPxCVAgsgDEUNACAMIDUoAgARBgAgNSgCBEUNACA1KAIIGiAMEJUCCyBDKAIAIgNBf0cNAAsLIA1BAWoiDUGSmsEARw0ACyAFIDRBAWsiNDYCCCA4IDRBBHRqIgEpAgAhWiASQQhqIAFBCGopAgA3AgAgEiBaNwIAIDQgOk0NAiASKQIIIlqnIgQgBSgCFCIBTw0BA0AgPSAEQThsaiIDIDo2AjAgASADKAIoIgRLDQALDAELIDNBCGogAyABIDcQigNBuMTAAEEoQZT6wQAQuQoACyABIFpCIIinIgRNDQADQCA9IARBOGxqIgNBNGogOjYCACABIANBLGooAgAiBEsNAAsLIDQgOk0NACA4RQ0AIDggOkEEdGoiA0EEaigCACEBAkAgAygCACIDIEJPDQAgQEUNACBAIANBDGxqIgQoAgAgAUcNACAEIDo2AgQMAQsgM0EoaiADIAEgOhCKA0G4xMAAQShBpPrBABC5CgALIEsgPkEIaiI+Rw0ACwsgM0EANgJUIDNCgICAgMAANwJMAkACQCAHKAIMIjdFDQAgBUE0aigCACJIBEAgCiALQQN0aiFNIAVBHGooAgAhQiAFQSBqKAIAITwgBUEsaigCACFBIAVBFGooAgAhOSAFQThqKAIAIUkgBUEoaigCACE4IAVBEGooAgAhPiAFKAIEITogBSgCCCE1IAcoAhAhPSAzQdoAaiFKQQQhQwJAAkACQAJAAkADQCAGKAIQIUYgBigCDCFAAkACQAJAA0AgCiBNRgRAIDMoAlAhAQJAIDsEQCA7QRRsIQQgASEDA0AgBSACIAcgBiADIBAgESADQRBqLQAAELoBIANBFGohAyAEQRRrIgQNAAsgO0EUbCEEIDMoAkwhEiAzQekAaiIKQQJqIQwgASEDA0AgAy0AECINQQNGDQIgCiADLwAROwAAIDNB2ABqIjVBCGogA0EIaikCADcDACAMIANBE2otAAA6AAAgMyANOgBoIDMgAykCADcDWCAFIDcgPSA1EGkgA0EUaiEDIARBFGsiBA0ACwwBCyAzKAJMIRILIBJFDQwgARCVAgwMCyAKQQhqIQMgNyAKKAIAIj9BqAFsaiE2IApBBGooAgAhRSA9ID9NBEAgAyEKDAELIDYoAgBFBEAgAyEKDAELIEUgNigCBEcEQCADIQoMAQsgCkEIaiEKIDZB+ABqKAIAQQNJDQAgAyEKID8gSU8NACBIID9BDGxqIksoAgAgRUcNACBLQQRqIUwCQCACRQ0AAkAgNigCCEUNACA2QQxqKAIAIgQgRk8NACBARQ0AIEAgBEHwAmxqIgEoAgBFDQAgNkEQaigCACIKIAEoAgRHDQAgAUHpAmotAAANACABQcACai0AAEEEcQ0AIAFB1AJqQQA2AgAgAUHYAmpBADoAACABQeoCai0AAEUNACACKAIEIQ0CQCACKAIIIgwgAUEMaigCACISTQ0AIA0gEkEDdGoiEigCACAERw0AIBIoAgQgCkYNAQsgASAMNgIMIAIoAgAgDEYEQCACIAwQsAYgAigCBCENIAIoAgghDAsgAiAMQQFqNgIIIA0gDEEDdGoiASAKNgIEIAEgBDYCAAtBfyE0QX8hDSBMKAIAIkQgNUkEQCA6IERBBHRqIgEoAgghDSABQQxqKAIAITQLID5FBEAgDSA5SQ0ODAELAkADQAJAAkAgDSA5SQRAID4gDUE4bGoiBCgCMCEBIAQoAighCgwBCwNAIDkgNCIETQ0FID4gBEE4bGoiAUEsaigCACE0IEQgASgCMCIBRg0ACyANIQogBCENCyABIDVPDQAgPiANQThsakE0aigCACIEIDVPDQIgOiABQQR0aiIMKAIEIQECQCA/IAwoAgAiEkcNACABIEVHDQAgOiAEQQR0aiIBKAIAIRIgASgCBCEBCyAKIQ0gEiA9Tw0BIDcgEkGoAWxqIgooAgBFDQEgCigCBCABRw0BIAooAghFDQEgCkEMaigCACISIEZPDQEgQEUNASBAIBJB8AJsaiIEKAIARQ0BIApBEGooAgAiCiAEKAIERw0BIARB6QJqLQAADQEgBEHAAmotAABBBHENASAEQdQCakEANgIAIARB2AJqQQA6AAAgBEHqAmotAABFDQEgAigCBCEMAkAgAigCCCIBIARBDGooAgAiR00NACAMIEdBA3RqIkcoAgAgEkcNACBHKAIEIApGDQILIAQgATYCDCACKAIAIAFGBEAgAiABELAGIAIoAgQhDCACKAIIIQELIAIgAUEBajYCCCAMIAFBA3RqIgEgCjYCBCABIBI2AgAMAQsLIAEgNUGQ+MEAEO0IAAsgBCA1QaD4wQAQ7QgACyADIQogNi0AeEHAAHFFDQAgNkGkAWotAAAEQEF/IQNBfyEEIEwoAgAiDSA1SQRAIDogDUEEdGoiASgCCCEEIAFBDGooAgAhAwsgPg0CIAQgOU8NAQwNC0F/IQNBfyEEIEtBCGooAgAiNCA8SQRAIEIgNEEEdGoiASgCCCEEIAFBDGooAgAhAwsgOA0CIAQgQU8NAAsMCwsDQAJAIAQgOUkEQCA+IARBOGxqIgEoAjAhEiABKAIoIQEMAQsDQCA5IAMiDE0NBSA+IAxBOGxqIgFBLGooAgAhAyANIAEoAjAiEkYNAAsgBCEBIAwhBAsgEiA1Tw0CID4gBEE4bGpBNGooAgAiBCA1Tw0EIDogBEEEdGoiBCgCBCEMIAQoAgAhNCA6IBJBBHRqIgQoAgAhEiAEKAIEITYgMygCTCA7RgRAIDNBzABqIDsQrgYgMygCUCFDIDMoAlQhOwsgQyA7QRRsaiIEQQA6ABAgBCAMNgIMIAQgNDYCCCAEIDY2AgQgBCASNgIAIAQgMy8AWDsAESAEQRNqIEotAAA6AAAgMyA7QQFqIjs2AlQgASEEDAALAAsDQCAEIQEDQAJAIAEgQUkEQCA4IAFBFGxqIgQoAgghEiAEKAIAIgQhDAwBCwNAIEEgAyINTQ0FIDggDUEUbGoiDCgCBCEDIDQgDCgCCCISRg0ACyABIQwgDSEBCyASIDxPDQUgOCABQRRsakEMaigCACINIDxPDQYgQiASQQR0aiIBKAIAIhIgPU8NByA3IBJBqAFsaiI2KAIARQ0HIAEoAgQiQCA2KAIERw0HIAwhASA2QaQBai0AAA0AIEIgDUEEdGoiNigCACIMID1PDQggNyAMQagBbGoiDSgCAEUNCCA2KAIEIjYgDSgCBEcNCCANQaQBai0AAA0ACyAzKAJMIDtGBEAgM0HMAGogOxCuBiAzKAJUITsLIDMoAlAiQyA7QRRsaiIBQQE6ABAgASA2NgIMIAEgDDYCCCABIEA2AgQgASASNgIAIDMgO0EBaiI7NgJUDAALAAsLIBIgNUGQ+MEAEO0IAAsgBCA1QaD4wQAQ7QgACyASIDxBkPjBABDtCAALIA0gPEGg+MEAEO0IAAtBpJXBAEETQbT6wQAQ7wkAC0GklcEAQRNBxPrBABDvCQALIAtBA3QiA0UNAANAIANBCGsiAw0ACwsCQCAzKAIsIgFFDQAgASABQQxsQRNqQXhxIgFqQXdGDQAgMygCKCABaxCVAgsCQCAzKAIMIgFFDQAgASABQQxsQRNqQXhxIgFqQXdGDQAgMygCCCABaxCVAgsgM0HwAGokAAwBC0HYwMAAQStBgPjBABC5CgALCyAAKAKgBCIBBEAgAEGcBGooAgAhACABQRRsIQEgBygCECEEIAcoAgwhCgNAIABBBGohAwJAIAAoAgBFBEAgBSAKIAQgAxBpDAELIAUgAiAHIAYgAyAQIBFBAhC6AQsgAEEUaiEAIAFBFGsiAQ0ACwtBACE+QQAhOUEAIUFBACFDIwBBsAFrIgAkAAJAAkACQAJAIAtFDQAgBUEUaigCACIBRQ0AIAcoAgwiRUUNASAFQRBqKAIAIgQgAUE4bGohUSAFKAI8IAVBQGsoAgAiUigCCEEBa0F4cWpBCGohU0MAAAAAQwAAgD8gJZUiEyAlQwjlPB5fGyATICVDCOU8nmAbITIgCEE4aigCACI6QQRqIVQgCEE8aigCACEzIAhBMGooAgAhNyAIQSRqKAIAIUYgCEEgaigCACE8IAhBLGooAgAhSyAGKAIQIUwgBigCDCE9IAcoAhAhRANAIAQoAgwiSCBETw0CIEUgSEGoAWxqIgIoAgBFDQIgBEEQaigCACJOIAIoAgRHDQICQAJAAn0CQAJAAkACQAJAAkACQAJAAkACQCAEKAIUIk0gRE8NACBFIE1BqAFsaiIDKAIARQ0AIARBGGooAgAiTyADKAIERw0AIAQtACQhVSACQfgAaigCACJJQQJNBEAgA0H4AGooAgBBA0kNDQtBACEKQQAhDCACKAIIIkoEQCACKAIMIgEgTE8NAiA9RQ0CID0gAUHwAmxqIgEoAgBFDQIgASgCBCACKAIQRw0CIAFBCGohDAsgAygCCCJHBEAgAygCDCIBIExPDQMgPUUNAyA9IAFB8AJsaiIBKAIARQ0DIAEoAgQgAygCEEcNAyABQQhqIQoLQQEhDUEBITggDARAIAwtAOECITgLIAoEQCAKLQDhAiENCyBKRQ0EIEdFDQQgAygCDCESIAIoAhAhQEEAITUCf0EAIAIoAgwiNiBGTw0AGkEAIDxFDQAaIDwgNkEDdGoiAUEEakEAIAEoAgAgQEYbCyEBIAMoAhAhPwJAIBIgRk8NACA8RQ0AIDwgEkEDdGoiCEEEakEAIAgoAgAgP0YbITULIDpFDQMgS0UNA0EAIAEgAUUgNUVyGyEIA0AgCEUNBCA3IAgoAgAiPk0NBCA1KAIAIQECQCAzIEsgPkEEdGoiOSgCCCIISwRAA0AgOiAIQYADbGoiNEEMaigCACABRg0CIDMgNCgCACIISw0ACwsgMyA5QQAgNyA+SxtBDGooAgAiCE0NBQNAIAhBgANsIjQgOmooAgggAUYNASAzIDQgVGooAgAiCEsNAAsMBQsgCCAzTw0EIDcgOiAIQYADbGoiASgCCE0NBCA3IAFBDGooAgBNDQRBACEIIAFB/QJqLQAADQALDAULQaSVwQBBE0HE+8EAEO8JAAtBpJXBAEETQdT7wQAQ7wkAC0GklcEAQRNB5PvBABDvCQALIABB2ABqIQECQAJAIAlBJGooAgAiNSA2TQ0AIAlBIGooAgAiCEUNACAIIDZBFGxqIjQoAgAgQEcNACASIDVPDQAgCCASQRRsaiI1KAIAID9HDQAgNUEEaiI7KAIAIDRBBGoiNCgCACI1Rw0AIDQoAgQiNCA7KAIERw0AIAkoAhAgNU0NACAJKAIMIjtFDQAgOyA1QZQCbGoiNSgCAEGAgICAeEYNACA1KAKQAiA0Rw0AIDVBCGooAgAiUCAIIDZBFGxqQRBqKAIAIkJNDQAgNUEEaigCACI7RQ0AAkACQAJAIDsgQkHoA2xqIjQoAogDRQRAIAggEkEUbGpBEGooAgAhNAwBCyA0KAKQAyAIIBJBFGxqQRBqKAIAIjRGDQELIDQgUE8NAQJAIDsgNEHoA2xqIggoAogDBEAgOyA0QegDbGooApADIEJGDQELDAMLIAEgCDYCDCABID82AgggASASNgIEIAEgNTYCAAwDCyABIDsgQkHoA2xqNgIMIAEgQDYCCCABIDY2AgQgASA1NgIADAILIAFBADYCAAwBCyABQQA2AgALIAAoAlhFDQAgACgCZEGFA2otAABFDQELAkBBASANdCI2IAJB6ABqLwEAIgEgOEECdEH8AXEiCHZxDQBBASA4dCISIAEgDUECdEH8AXEiAXZxDQAgA0HoAGovAQAiNSAIdiA2cQ0AIDUgAXYgEnFFDQELIANB1ABqKAIAIAIoAlBxRQ0AIAJB1ABqKAIAIANB0ABqKAIAcUUNAEEBIQggA0HgAGooAgAgAkHgAGooAgByIj9BAXEEQCADKQIMIVogAikCDCFbIAAgTzYChAEgACBNNgKAASAAIE42AnwgACBINgJ4IAAgBzYCdCAAIAY2AnAgACBKNgJYIAAgWzcCXCAAIEc2AmQgACBaNwJoIABBEGogDiAAQdgAaiAPKAIMEQEAIAAoAhBBAUcNASACKAJ4IUkgACgCFCEICyADQdgAaigCACFCIAJB3ABqKAIAITUgAkHYAGooAgAhOyADQdwAaigCACFAAkAgSUEgcUUEQCADLQB4QSBxRQ0BCwJAIAQoAhwiAUUNACABIARBIGooAgAiEigCABEGACASKAIERQ0AIBIoAggaIAEQlQILIARBADYCHAsgACACQYQBaioCACITIANBhAFqKgIAIh+UIAJBgAFqKgIAIhUgA0GAAWoqAgAiFpQgAkH8AGoiASoCACIUIANB/ABqIhIqAgAiGZQgAkGIAWoqAgAiHSADQYgBaioCACIblJKSkjgCKCAAIBUgGZQgHSAflCAUIBaUk5IgEyAblJM4AiQgACAdIBaUIBQgH5SSIBUgG5STIBMgGZSTOAIgIAAgEyAWlCAdIBmUIBQgG5STIBUgH5STkjgCHCAVIANBjAFqKgIAIAJBjAFqKgIAkyIZlCAUIANBkAFqKgIAIAJBkAFqKgIAkyIblJMiHyAfkiEfIBMgG5QgFSADQZQBaioCACACQZQBaioCAJMiHJSTIhYgFpIhFiAAIBwgHSAflCAVIBaUIBQgFCAclCATIBmUkyIcIBySIhyUk5KSOAI0IAAgGyAdIByUIBQgH5QgEyAWlJOSkjgCMCAAIBkgHSAWlCATIByUIBUgH5STkpI4AiwgA0GcAWoqAgAhJiACQZwBaioCACEoQwAAAAAhIEMAAAAAIRYgDARAIAxBKGoqAgAhFgsgCgRAIApBKGoqAgAhIAsCfSAWQwAAAABeRQRAICMgIEMAAAAAXkUNARoLIABBmAFqIAJBOGooAgAgAkE8aigCACI0KAIIQQFrQXhxakEIaiABIDQoAogBEQEAIAIqApwBQwAAAACSIhNDAAAAAGBFDQwgACoCmAEhHyAAKgKcASEpIAAqAqABIRogACoCpAEhFyAAKgKoASEqIAAqAqwBISEgAEGYAWogA0E4aigCACADQTxqKAIAIgEoAghBAWtBeHFqQQhqIBIgASgCiAERAQAgAyoCnAFDAAAAAJIiFUMAAAAAYEUNDCAAKgKsASEYIAAqAqgBIS0gACoCpAEhGyAAKgKgASEuIAAqApwBIS8gACoCmAEhJ0MAAAAAIRxDAAAAACEeQwAAAAAhGUMAAAAAIRQCQCAMRQ0AIAwqAoABIhQgFJQgDEGEAWoqAgAiGSAZlJIgDEGIAWoqAgAiHiAelJIQmAEiHSAyIBaUIhZeRQ0AIB4gFiAdlSIdlCEeIBkgHZQhGSAUIB2UIRQLIB8gE5MhHSAVIBuSIR9DAAAAACEWQwAAAAAhIgJAIApFDQAgCioCgAEiIiAilCAKQYQBaioCACIWIBaUkiAKQYgBaioCACIcIByUkhCYASIbIDIgIJQiIF5FDQAgHCAgIBuVIhuUIRwgFiAblCEWICIgG5QhIgsgEyAhkiEbIBMgKpIhICATIBeSIRcgGiATkyEaICkgE5MhEyAVIBiSISkgFSAtkiEqIC4gFZMhISAvIBWTIRggJyAVkyEVAkACQCAdIB9fRQ0AIBMgKl9FDQAgGiApX0UNACAVIBdfRQ0AIBggIF9FDQAgGyAhYA0BCyAAIBsgIZM4AqwBIAAgICAYkzgCqAEgACAXIBWTOAKkASAAIBogKZM4AqABIAAgEyAqkzgCnAEgACAdIB+TOAKYASAAIBwgHpM4AmwgACAWIBmTOAJoIAAgIiAUkzgCZCAAQQA2AmAgAEIANwJYIABBCGogAEGYAWogAEHYAGpDAACAP0EBENADIAAoAghBAUcNAgsgHiAckyITIBOUIBkgFpMiEyATlCAUICKTIhMgE5SSkhCYASAllCITIBMgIyATICNeGyAjICNcGwshEyBTIABBHGogAkE4aigCACACQTxqKAIAIgEoAghBAWtBeHFqQQhqIAEgA0E4aigCACADQTxqKAIAIgEoAghBAWtBeHFqQQhqIAEgKCAmkiATkiAEIARBHGogUigCJBE3ABogA0HsAGoqAgAhEyACQewAaioCACEVIAJB9ABqLQAAIgEgA0H0AGotAAAiEiABIBJLGw4DAgMEAQsgBCgCCCEIIARBADYCCCAIBEAgBCgCBEGAAWohAQNAIAFBBGsoAgAEQCABKAIAEJUCCyABQShrKAIABEAgAUEkaygCABCVAgsgAUGoAWohASAIQQFrIggNAAsLIARBADoAJAJAIAQoAhwiAUUNACABIARBIGooAgAiCCgCABEGACAIKAIERQ0AIAgoAggaIAEQlQILIARBADYCHAwFCyATIBMgFSATIBVeGyAVIBVcGwwDCyAVIBOSQwAAAD+UDAILIBUgFSATIBMgFV4bIBMgE1wbDAELIBUgE5QLIRMgA0HwAGoqAgAhFSACQfAAaioCACEUAn0CQAJAAkACQCACQfUAai0AACIBIANB9QBqLQAAIhIgASASSxsOAwECAwALIBUgFSAUIBQgFV0bIBQgFFwbDAMLIBQgFZJDAAAAP5QMAgsgFCAUIBUgFCAVXRsgFSAVXBsMAQsgFCAVlAshFUEAIRJBACE0IAwEQCAMLQDgAiE0CyAKBEAgCi0A4AIhEgsgBEEAOgAkIAQoAggiSEUNACATIR0gFSEfIAggCEF+cSIBIDUgQnEbIAEgOyBAcRshQiAEKAIEIgEgSEGoAWxqIUhBgAEgNMAgOBtBgAEgEsAgDRtrIU0gP0EEcSE/A0ACfSABKAIAQQFGBEAgASoCGCIbIAIqAnwiE5QgASoCFCIeIAIqAoABIhWUkyIUIBSSIRYgHiACKgKEASIUlCABKgIcIiIgE5STIhkgGZIhGSACKgKUASAiIAIqAogBIhwgFpQgEyAZlCAVICIgFZQgGyAUlJMiIiAikiIilJOSkpIhKSACKgKQASAbIBwgGZQgFCAilCATIBaUk5KSkiEqIAIqAowBIB4gHCAilCAVIBaUIBQgGZSTkpKSISIgASoCECIeIBSUIAEqAggiICATlCABKgIMIhcgHJSSIAEqAgQiGiAVlJOSIRsgFyAVlCAeIBOUIBogHJSSkiAgIBSUkyEWIB4gHJQgGiATlJMgICAVlJMgFyAUlJMhGSAaIBSUIB4gFZQgICAclCAXIBOUk5KSDAELIAIqApQBISkgAioCkAEhKiACKgKMASEiIAIqAogBIRkgAioChAEhGyACKgJ8IRYgAioCgAELIRMCfSABKAIgQQFGBEAgAUE4aioCACIgIAMqAnwiFZQgAUE0aioCACIhIAMqAoABIhSUkyIcIBySIRwgISADKgKEASIXlCABQTxqKgIAIhggFZSTIh4gHpIhHiADKgKUASAYIAMqAogBIhogHJQgFSAelCAUIBggFJQgICAXlJMiGCAYkiIYlJOSkpIhLSADKgKQASAgIBogHpQgFyAYlCAVIByUk5KSkiEuIAMqAowBICEgGiAYlCAUIByUIBcgHpSTkpKSIS8gAUEwaioCACIhIBeUIAFBKGoqAgAiGCAVlCABQSxqKgIAIiYgGpSSIAFBJGoqAgAiKCAUlJOSISAgKCAXlCAhIBSUIBggGpQgJiAVlJOSkiEcICYgFJQgISAVlCAoIBqUkpIgGCAXlJMhHiAhIBqUICggFZSTIBggFJSTICYgF5STDAELIAMqApQBIS0gAyoCkAEhLiADKgKMASEvIAMqAoQBISAgAyoCgAEhHCADKgJ8IR4gAyoCiAELIRUgAUHgAGpBADYCACACKAIMIQ0gAigCECESIAEgAigCCCIINgJAIAFByABqIBIgQCAIGyJANgIAIAFBxABqIA0gNiAIGyI2NgIAIAMoAgwhDSADKAIQIRIgAygCCCEIIAFB+ABqIE07AQAgAUHkAGogQjYCACABQcwAaiAINgIAIAFB1ABqIBIgNSAIGyI1NgIAIAFB0ABqIA0gOyAIGyI7NgIAIBYgAUGMAWoqAgAiGpQgEyABKgKIASIhlJMiFCAUkiEUIBsgIZQgFiABQZABaioCACIYlJMiFyAXkiEXIAFB8ABqIBggGSAUlCAWIBeUIBMgEyAYlCAbIBqUkyIYIBiSIhiUk5KSOAIAIAFB7ABqIBogGSAXlCAbIBiUIBYgFJSTkpI4AgAgAUHoAGoiOCAhIBkgGJQgEyAUlCAbIBeUk5KSOAIAIAFB2ABqITQCQCABQYQBaigCACIIRQ0AIAFBgAFqKAIAIUkgCEE8bCFKQQAhDUEAIRIDQAJAIA1BgPgARwRAIC0gDSBJaiIIQSxqKgIAIhQgFSAeIAhBKGoqAgAiF5QgHCAIQSRqKgIAIhqUkyIhICGSIiGUIB4gICAalCAeIBSUkyIYIBiSIhiUIBwgHCAUlCAgIBeUkyIUIBSSIhSUk5KSkiEmIC4gFyAVIBiUICAgFJQgHiAhlJOSkpIhKCAvIBogFSAUlCAcICGUICAgGJSTkpKSISEgCEEwaioCACACKgKcAZMgAyoCnAGTIhQgI11FBEBDAAAAACEXQwAAAAAhGkMAAAAAIRggDARAIBsgCEEYaioCACIYlCAWIAhBIGoqAgAiJ5STIhcgF5IhFyATICeUIBsgCEEcaioCACIklJMiGiAakiEaIAwqAogBICogJCAZIBeUIBsgGpQgFiAWICSUIBMgGJSTIiQgJJIiJJSTkpKSIAwqAuwBkyIwIAwqAowBIiuUICIgGCAZIBqUIBMgJJQgGyAXlJOSkpIgDCoC6AGTIiwgDCoCkAEiMZSTkiEYIAwqAoQBICwgDCoClAEiLJQgKSAnIBkgJJQgFiAXlCATIBqUk5KSkiAMKgLwAZMiFyArlJOSIRogDCoCgAEgFyAxlCAwICyUk5IhFwtDAAAAACEnQwAAAAAhJCAUIAoEfSAKKgKIASAoIAoqAuwBkyIwIAoqAowBIieUICEgCioC6AGTIisgCioCkAEiLJSTkiEkIAoqAoQBICsgCioClAEiK5QgJiAKKgLwAZMiMSAnlJOSIScgCioCgAEgMSAslCAwICuUk5IFQwAAAAALIBeTIAEqAmiUICcgGpMgASoCbJSSICQgGJMgASoCcJSSICWUkiAjXUUNAgsgFiAIQRxqKgIAIhiUIBMgCEEYaioCACInlJMiFyAXkiEXIBsgJ5QgFiAIQSBqKgIAIiSUkyIaIBqSIRogJiApICQgGSAXlCAWIBqUIBMgEyAklCAbIBiUkyImICaSIiaUk5KSkpJDAAAAP5QhJCAoICogGCAZIBqUIBsgJpQgFiAXlJOSkpKSQwAAAD+UIRggISAiICcgGSAmlCATIBeUIBsgGpSTkpKSkkMAAAA/lCEXIAhBEGoqAgBDAAAAAFshRyAIQQhqKQIAIVogCEEUaioCACEaIAEoAmAiCCABKAJYRgRAIDQgCBCrBiABKAJgIQgLIAEgCEEBajYCYCABKAJcIAhBNGxqIgggRzoAMSAIIBI6ADAgCCAaOAIsIAhBADYCKCAIQgA3AiAgCCAfOAIcIAggHTgCGCAIIBQ4AhQgCCAkOAIQIAggGDgCDCAIIBc4AgggCCBaNwIAIARBAToAJAwBC0F/QdSAxAAoAgAiCEECRyAIQQJLGyIIQX9HQQAgCEH/AXEbDQIgAEEBNgJcIABB1PzBADYCWCAAQgA3AmQgAEH8vMAANgJgIABB2ABqQQJB/PzBAEHFBxDgBgwCCyASQQFqIRIgSiANQTxqIg1HDQALCyA/BEAgAEE4aiISQQhqIkkgNEEIaiJKKAIANgIAIAFBADYCYCA0KQIAIVogAUEANgJYIAAgWjcDOCABQdwAaiJHQQQ2AgAgACABQfQAaigCADYCRCAAQcgAaiJOQQhqIk8gOEEIaiJQKAIANgIAIAAgOCkCADcDSCACKAIMIVYgAigCECFXIAMoAgwhWCADKAIQIVkgAigCCCEIIAMoAgghDSAAIAQpAhQ3ApABIAAgBCkCDDcCiAEgACAHNgJ0IAAgBjYCcCAAIAE2AnggACANNgJkIAAgCDYCWCAAIFkgPiANGyI+NgJsIAAgWCA5IA0bIjk2AmggACBXIEEgCBsiQTYCYCAAIFYgQyAIGyJDNgJcIAAgAEHEAGo2AoQBIAAgTjYCgAEgACASNgJ8IA4gAEHYAGogDygCFBEAACAAQaABaiIIIEkoAgA2AgAgACAAKQM4NwOYASABKAJYBEAgRygCABCVAgsgNCAAKQOYATcCACBKIAgoAgA2AgAgUCBPKAIANgIAIDggACkDSDcCACABIAAoAkQ2AnQLIEggAUGoAWoiAUcNAAsLIFVBAEcgBC0AJCIIQQBHc0UNACADQeQAaigCACACQeQAaigCAHJBAXFFDQAgESgCDCEBIAhFBEAgBEEAOgAlIABCATcCWCAAIAQpAhQ3AmggACAEKQIMNwJgIBAgBiAHIABB2ABqIAQgAREHAAwBCyAEQQE6ACUgAEIANwJYIAAgBCkCFDcCaCAAIAQpAgw3AmAgECAGIAcgAEHYAGogBCABEQcACyBRIARBOGoiBEcNAAsLIABBsAFqJAAMAgtBpJXBAEETQbT7wQAQ7wkACyAAQeQAakIANwIAIABBATYCXCAAQaS9wAA2AlggAEH8vMAANgJgIABB2ABqQZy+wAAQ7woACyMAQTBrIgEkAAJAAkACQAJAAkACQCALRQ0AIAVBLGooAgAiAkUNACAFQShqKAIAIQAgBUEgaigCACEIIAcoAgwiNUUNASAFKAI8IAVBQGsoAgAiNigCCEEBa0F4cWpBCGohOSAFQRxqKAIAITQgBigCECE+IAYoAgwhBSAHKAIQITMgAEERaiEEIAJBFGwhEgNAIAggBEEJaygCACICTQ0EIAggBEEFaygCACIATQ0DIDQgAkEEdGoiAygCACIJIDNPDQUgNSAJQagBbGoiAigCAEUNBSADKAIEIgsgAigCBEcNBQJAAn8CQAJAAkACQCA0IABBBHRqIgAoAgAiCiAzTw0AIDUgCkGoAWxqIgMoAgBFDQAgACgCBCIMIAMoAgRHDQAgBEEBayI6LQAAITcgAkH4AGooAgBBAk0EQCADQfgAaigCAEECTQ0GC0EBIQBBASENIAIoAggiPARAIAJBDGooAgAiDSA+Tw0CIAVFDQIgBSANQfACbGoiDSgCAEUNAiANKAIEIAJBEGooAgBHDQIgDUHpAmotAAAhDQsgAygCCCI9BEAgA0EMaigCACIAID5PDQMgBUUNAyAFIABB8AJsaiIAKAIARQ0DIAAoAgQgA0EQaigCAEcNAyAAQekCai0AACEACwJAQQEgAHQiQCACQegAai8BACI4IA1BAnRB/AFxIjt2cQ0AQQEgDXQiDSA4IABBAnRB/AFxIgB2cQ0AIEAgA0HoAGovAQAiOCA7dnENACA4IAB2IA1xRQ0ECyADQdQAaigCACACKAJQcUUNAyACQdQAaigCACADQdAAaigCAHFFDQMgA0HgAGooAgAgAkHgAGooAgByQQJxBEAgA0EMaikCACFaIAJBDGopAgAhWyABIAw2AiwgASAKNgIoIAEgCzYCJCABIAk2AiAgASAHNgIcIAEgBjYCGCABIDw2AgAgASBbNwIEIAEgPTYCDCABIFo3AhAgDiABIA8oAhARAwBFDQQLIAEgAkGEAWoqAgAiIyADQYQBaioCACIUlCACQYABaioCACITIANBgAFqKgIAIh2UIAJB/ABqKgIAIiUgA0H8AGoqAgAiH5QgAkGIAWoqAgAiFSADQYgBaioCACIWlJKSkjgCDCABIBMgH5QgFSAUlCAlIB2Uk5IgIyAWlJM4AgggASAVIB2UICUgFJSSIBMgFpSTICMgH5STOAIEIAEgIyAdlCAVIB+UICUgFpSTIBMgFJSTkjgCACATIANBjAFqKgIAIAJBjAFqKgIAkyIflCAlIANBkAFqKgIAIAJBkAFqKgIAkyIWlJMiFCAUkiEUICMgFpQgEyADQZQBaioCACACQZQBaioCAJMiGZSTIh0gHZIhHSABIBkgFSAUlCATIB2UICUgJSAZlCAjIB+UkyIZIBmSIhmUk5KSOAIYIAEgFiAVIBmUICUgFJQgIyAdlJOSkjgCFCABIB8gFSAdlCAjIBmUIBMgFJSTkpI4AhAgOSABIAJBOGooAgAgAkE8aigCACIAKAIIQQFrQXhxakEIaiAAIANBOGooAgAgA0E8aigCACIAKAIIQQFrQXhxakEIaiAAIDYoAgwRGABBAXEMBAtBpJXBAEETQYT7wQAQ7wkAC0GklcEAQRNBlPvBABDvCQALQaSVwQBBE0Gk+8EAEO8JAAtBAAshACA6IAA6AAAgN0EARyAARg0AIANB5ABqKAIAIAJB5ABqKAIAckEBcUUNACARKAIMIQICQCAARQRAIARBADoAACABIAw2AhQgASAKNgIQIAEgCzYCDCABIAk2AgggAUKBgICAEDcCAAwBCyAEQQE6AAAgASAMNgIUIAEgCjYCECABIAs2AgwgASAJNgIIIAFCgICAgBA3AgALIBAgBiAHIAFBACACEQcACyAEQRRqIQQgEkEUayISDQALCyABQTBqJAAMBAsgCCAAKAIIIgJNDQEgCCAAQQxqKAIAIgBLDQILIAAgCEHk+sEAEO0IAAsgAiAIQdT6wQAQ7QgAC0GklcEAQRNB9PrBABDvCQALC88BAQN/QQAgAEHhAmotAAAiAUEBcSAAQeICai0AACICQQFxaiAAQeACai0AACIDQQFxGyEAIANBAnFFBEAgACABQQF2QQFxaiACQQF2QQFxaiEACyADQQRxRQRAIAAgAUECdkEBcWogAkECdkEBcWohAAsgA0EIcUUEQCAAIAFBA3ZBAXFqIAJBA3ZBAXFqIQALIANBEHFFBEAgACABQQR2QQFxaiACQQR2QQFxaiEACyADQSBxBH8gAAUgACABQQV2QQFxaiACQQV2QQFxagsLxwQCCX8CfiMAQRBrIgckAAJAAkACQCAARQ0AIAAoAgAiBEF/Rg0BIAAgBEEBajYCACABRQ0AIAEoAgAiBEF/Rg0BIAEgBEEBajYCACACRQ0AIAIoAgAiBEF/Rg0BIAIgBEEBajYCACAHQQhqIQkjAEHQAGsiBCQAIARBCGoiCiAAQQRqIgVBCGooAgA2AgAgBEEUaiABQQRqIghBCGooAgA2AgAgBEEYaiACQQRqIgYpAgAiDTcDACAEQSBqIAZBCGooAgAiBjYCACAEIAUpAgAiDjcDACAEIAgpAgA3AgwgBEEoaiIFQSBqIgggBjYCACAFQRhqIgYgDTcDACAFQRBqIgsgBEEQaikDADcDACAFQQhqIgwgCikDADcDACAEIA43AyhBkfrDAC0AABpBMEEEEKMMIgVFBEBBBEEwQdiAxAAoAgAiAEGjByAAGxEAAAALIAVCgYCAgBA3AgAgBSAEKQMoNwIIIAUgAzgCLCAFQRBqIAwpAwA3AgAgBUEYaiALKQMANwIAIAVBIGogBikDADcCACAFQShqIAgoAgA2AgAgCUH8isMANgIEIAkgBTYCACAEQdAAaiQAIAcoAgwhBCAHKAIIIQUgAiACKAIAQQFrNgIAIAEgASgCAEEBazYCACAAIAAoAgBBAWs2AgBBkfrDAC0AABpBDEEEEKMMIgBFDQIgACAENgIIIAAgBTYCBCAAQQA2AgAgB0EQaiQAIAAPCxCQDQALEJENAAtBBEEMQdiAxAAoAgAiAEGjByAAGxEAAAAL8gEBA38CQCABKAIQIAJNDQAgASgCDCIBRQ0AIAEgAkHwAmxqIgEoAgBFDQAgASgCBCADRw0AIAFB6QJqLQAADQAgAUHAAmotAABBBHENACABQdgCakEAOgAAIAFB1AJqQQA2AgAgAUHqAmotAABFDQAgACgCBCEFAkAgACgCCCIEIAFBDGooAgAiBk0NACAFIAZBA3RqIgYoAgAgAkcNACAGKAIEIANGDQELIAEgBDYCDCAAKAIAIARGBEAgACAEELAGIAAoAgQhBSAAKAIIIQQLIAAgBEEBajYCCCAFIARBA3RqIgAgAzYCBCAAIAI2AgALC94BAQp9IAIqAgAgASoCEJMiCiABKgIEIgSUIAIqAgQgAUEUaioCAJMiCyABKgIAIgiUkyIGIAaSIQYgCyABKgIIIgmUIAIqAgggAUEYaioCAJMiBSAElJMiByAHkiEHQwAAAAAgBSABKgIMIgwgBpQgBCAHlCAIIAUgCJQgCiAJlJMiBSAFkiIFlJOSkiINIA2UIAogDCAHlCAJIAWUIAQgBpSTkpIiBCAElCALIAwgBZQgCCAGlCAJIAeUk5KSIgQgBJSSkhCYASAAKgIAkyIEIAMbIAQgBEMAAAAAXRsL2QEBCn0gAioCBCABQRRqKgIAkyIJIAEqAggiBpQgAioCCCABQRhqKgIAkyIKIAEqAgQiA5STIgQgBJIhBCAKIAEqAgAiCJQgAioCACABKgIQkyIFIAaUkyIHIAeSIQcgBSABKgIMIgsgBJQgBiAHlCADIAUgA5QgCSAIlJMiBSAFkiIFlJOSkiIMIAyUIAogCyAFlCADIASUIAggB5STkpIiAyADlJIQmAEhAyAJIAsgB5QgCCAFlCAGIASUk5KSIgYgACoCACIEXyADIAAqAgRfcSAGIASMYHEL4wEBCX0gASoCACIDIAOUIAEqAgQiBiAGlJIgASoCCCIHIAeUkiAAKgIAIgQgBJSTIQQCQCABKgIMIgggCJQgAUEQaioCACIJIAmUkiABQRRqKgIAIgogCpSSIgtDAAAAAFwEQCADIAiUIAYgCZSSIAcgCpSSIQNBACEBIARDAAAAAF4gA0MAAAAAXnENASADIAOUIAQgC5STIgRDAAAAAF0NAUMAAAAAIAOMIAQQmAGTIAuVIgMgA0MAAAAAXxshBUEBIQEMAQtBASEBIARDAAAAAF5FDQBBACEBCyABIAIgBWBxC/gBAgF/AX0jAEEwayIFJAAgBUEEaiABIAIgAkEMahC0AUEAIQICQCAFKAIERQ0AAkAgBSoCCCIGQwAAAABdRQRAIAMgBmBFDQIgACAGOAIEIABBCGogBUEMaiIBKQIANwIAIABBEGogAUEIaikCADcCAAwBCyAFQSxqKAIAIQEgBEUEQCADIAVBHGoqAgAiA2BFDQIgACADOAIEIABBCGogBUEgaiICKQIANwIAIABBFGogATYCACAAQRBqIAJBCGooAgA2AgAMAQsgAEIANwIEIABBDGpCADcCACAAQRRqIAE2AgALQQEhAgsgACACNgIAIAVBMGokAAvoAQIJfQF/IAIqAgAiBSABKgIYIgOUIAIqAgQiBiABQRxqKgIAlJIgAioCCCIHIAFBIGoqAgCUkiEIIAFBGGohAgJAIAEqAgAiBCAFlCABKgIEIAaUkiABKgIIIAeUkiIJIAUgASoCDCIKlCAGIAFBEGoqAgCUkiAHIAFBFGoqAgCUkiILXkUEQCABQQxqIAIgCCALXSIMGyECIAogAyAMGyEDDAELIAggCV1FDQAgBCEDIAEhAgsgACACKgIIIAcgASoCJCIElJI4AgggACACKgIEIAYgBJSSOAIEIAAgAyAFIASUkjgCAAvgAQIJfQF/IwBBEGsiDSQAIAIqAgAgASoCEJMiCiABKgIEIgWUIAIqAgQgAUEUaioCAJMiCyABKgIAIgiUkyIGIAaSIQYgCyABKgIIIgmUIAIqAgggAUEYaioCAJMiBCAFlJMiByAHkiEHIA0gBCABKgIMIgwgBpQgBSAHlCAIIAQgCJQgCiAJlJMiBCAEkiIElJOSkjgCDCANIAsgDCAElCAIIAaUIAkgB5STkpI4AgggDSAKIAwgB5QgCSAElCAFIAaUk5KSOAIEIAAgDUEEaiADEMEEIQUgDUEQaiQAIAUL0ggDEn8HfQJ+IwBBIGsiCyQAAkACQCAARQ0AIAAoAgANASAAQX82AgAgAUUNACABKAIAIghBf0YNASABIAhBAWo2AgAgAkUNACACKAIAIghBf0YNASACIAhBAWo2AgAgA0UNACADKAIAIghBf0YNASADIAhBAWo2AgAgC0GAgO6tBDYCHCALQoCAgPyDgICUwQA3AhQgC0Kuj4X7g4CA0MAANwIMIAtC9tHwhZTcnqo/NwIEIAFBBGohDyACQQRqIQwgA0EEaiEQIwBB8ABrIgkkACALQQRqIggqAhAhGCAIKgIYIRkgCCoCDCEaIAgqAhQhGyAIKgIIIRwgCCoCBCEdIAgqAgAhHiAAQQRqIgooAgghCCAJQRBqIhFCADcDACAJQRhqIhJCADcDACAJQSBqIhNCADcDACAJQShqIhRCADcDACAJQTBqIhVCADcDACAJQThqIhZBADoAACAJIAkpAjw3AwggCCIHIAooAgBGBEAjAEEgayIHJAACQAJAIAhBAWoiBkUNAEEEIAooAgAiDUEBdCIOIAYgBiAOSRsiBiAGQQRNGyIOQdQBbCEGIA5B6KHqBElBAnQhFwJAIA1FBEAgB0EANgIYDAELIAdBBDYCGCAHIA1B1AFsNgIcIAcgCigCBDYCFAsgB0EIaiAXIAYgB0EUahDhBiAHKAIMIQYgBygCCEUEQCAKIA42AgAgCiAGNgIEDAILIAZBgYCAgHhGDQEgBkUNACAGIAdBEGooAgBB2IDEACgCACIAQaMHIAAbEQAAAAsQ7goACyAHQSBqJAAgCigCCCEHCyAKKAIEIAdB1AFsaiIGQQA2AgAgBiAJKQMINwIEIAZBADYCQCAGQgA3AjggBkEMaiARKQMANwIAIAZBFGogEikDADcCACAGQRxqIBMpAwA3AgAgBkEkaiAUKQMANwIAIAZBLGogFSkDADcCACAGQTRqIBYtAAA6AAAgBkHNmbPuAzYCqAEgBkIANwKgASAGIBk4AqwBIAYgGDgCnAEgBiAbOAKYASAGIBw4ApQBIAYgHTgCkAEgBiAeOAKMASAGIAU4AogBIAYgGjgChAEgBiAEOAKAASAGQcwAaiAMQQhqKAIAIg02AgAgBiAMKQIAIh83AkQgBiAQKQIAIiA3AlAgBkHYAGogEEEIaigCACIMNgIAIAYgDykCADcCXCAGQeQAaiAPQQhqKAIANgIAIAYgHzcCaCAGQfAAaiANNgIAIAZB/ABqIAw2AgAgBiAgNwJ0IAZB0AFqQQA2AgAgBkHIAWpCADcCACAGQcABakIANwIAIAZBuAFqQgA3AgAgBkIANwKwASAKIAdBAWoiBzYCCAJAIAcgCEsEQCAJQfAAaiQADAELIAggB0G8j8EAEO0IAAsgAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgAEEANgIAIAtBIGokAA8LEJANAAsQkQ0AC5ECAgN/A34jAEEgayIDJAACQAJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgWnIAVCIIinEKgKIgJFDQIgAkGoAWopAwAhBSACQbABaikDACEGIAIpA6ABIQcgACAAKAIAQQFrNgIAIANBGGoiAiAGNwMAIANBEGoiBCAFNwMAIAMgBzcDCEGR+sMALQAAGkEcQQQQowwiAEUNAyAAQQA2AgAgACADKQMINwIEIABBDGogBCkDADcCACAAQRRqIAIpAwA3AgAgA0EgaiQAIAAPCxCQDQALEJENAAtBwLLAAEHNAEG4s8AAEO8JAAtBBEEcQdiAxAAoAgAiAEGjByAAGxEAAAALgAQBCH8jAEEQayIFJAACQAJAAkAgAEUNACAAKAIAIgNBf0YNASAAIANBAWo2AgAgAUUNACABKAIAIgNBf0YNASABIANBAWo2AgAgAkUNACACKAIAIgNBf0YNASACIANBAWo2AgAgBUEIaiEHIwBBMGsiAyQAIANBCGoiBEEIaiIGIABBBGoiCEEIaigCADYCACADQRxqIAFBBGoiCUEIaigCADYCACAEQSBqIgogAkEEaiIEQQhqKAIANgIAQZH6wwAtAAAaIAMgCCkCADcDCCADIAkpAgA3AhQgAyAEKQIANwMgQSxBBBCjDCIERQRAQQRBLEHYgMQAKAIAIgBBowcgABsRAAAACyAEQoGAgIAQNwIAIAQgAykDCDcCCCAEQRBqIAYpAwA3AgAgBEEYaiADQQhqIgZBEGopAwA3AgAgBEEgaiAGQRhqKQMANwIAIARBKGogCigCADYCACAHQZzFwgA2AgQgByAENgIAIANBMGokACAFKAIMIQMgBSgCCCEEIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgACAAKAIAQQFrNgIAQZH6wwAtAAAaQQxBBBCjDCIARQ0CIAAgAzYCCCAAIAQ2AgQgAEEANgIAIAVBEGokACAADwsQkA0ACxCRDQALQQRBDEHYgMQAKAIAIgBBowcgABsRAAAAC+ABAgl9AX8jAEEQayINJAAgAioCACABKgIQkyIKIAEqAgQiBZQgAioCBCABQRRqKgIAkyILIAEqAgAiCJSTIgYgBpIhBiALIAEqAggiCZQgAioCCCABQRhqKgIAkyIEIAWUkyIHIAeSIQcgDSAEIAEqAgwiDCAGlCAFIAeUIAggBCAIlCAKIAmUkyIEIASSIgSUk5KSOAIMIA0gCyAMIASUIAggBpQgCSAHlJOSkjgCCCANIAogDCAHlCAJIASUIAUgBpSTkpI4AgQgACANQQRqIAMQ0AQhBSANQRBqJAAgBQudAgEBfyMAQfAAayIEJAAgBCABIAIQGQJAIAQoAgBBgICAgHhHBEAgBEHgAGoiAUEIaiAEQQhqKAIANgIAIAQgBCkDADcDYCAEKAIMIQIgBCABIAQoAhAiASAEKAIUEC0gAgRAIAEQlQILQQAhAiAEKAIAQYCAgIB4RwRAQZH6wwAtAAAaQewAQQQQowwiAkUNAiACQoGAgIAQNwIAIAJBCGogBEHgABCjDRogAiADOAJoCyAAQaSDwwA2AgQgACACNgIAIARB8ABqJAAPCyAEQegAaiAEQQxqKAIANgIAIAQgBCkCBDcDYEGAjMIAQSsgBEHgAGpBlJHDAEGoksMAEIgIAAtBBEHsAEHYgMQAKAIAIgBBowcgABsRAAAAC48CAgJ/BH0CQAJAAkAgALwiAUGAgIAETgRAIAFB////+wdLDQFBgX8hAkMAAAAAIQAgAUGAgID8A0YNAQwDCyABQf////8HcUUNASABQQBOBEAgAEMAAABMlLwhAUHofiECDAMLIAAgAJNDAAAAAJUhAAsgAA8LQwAAgL8gACAAlJUPCyABQY32qwJqIgFBF3YgAmqyIQQgAUH///8DcUHzidT5A2q+QwAAgL+SIgAgAEMAAABAkpUiBSAFlCIGIAaUIQMgBEOAcTE/lCAAIARD0fcXN5QgBSAAIABDAAAAP5SUIgAgBiADQ+7pkT6UQ6qqKj+SlCADIANDJp54PpRDE87MPpKUkpKUkiAAk5KSC+8BAwR/AX0BfiAAKAIIIQQgACgCBCEFIAEoAgAgASgCCCIDa0EHTQRAIAEgA0EIEMwGIAEoAgghAwsgASADQQhqIgI2AgggASgCBCADaiAErTcAACAEBEAgBEECdCEDA0AgBSoCACEGIAVBBGohBSABIAEoAgAgAmtBA0sEfyACBSABIAJBBBDMBiABKAIICyIEQQRqIgI2AgggASgCBCAEaiAGOAAAIANBBGsiAw0ACwsgADUCDCEHIAEoAgAgAmtBB00EQCABIAJBCBDMBiABKAIIIQILIAEgAkEIajYCCCABKAIEIAJqIAc3AABBAAvhAQIJfQF/IwBBEGsiDCQAIAwgARDmCiAAIAwqAgw4AgwgDCoCBCIJIAIqAgAiBpQgDCoCACIKIAIqAgQiB5STIgQgBJIhBCAKIAIqAggiCJQgDCoCCCIDIAaUkyIFIAWSIQUgACACQRhqKgIAIAMgAioCDCILIASUIAYgBZQgByADIAeUIAkgCJSTIgMgA5IiA5STkpKSOAIIIAAgAkEUaioCACAJIAsgBZQgCCADlCAGIASUk5KSkjgCBCAAIAIqAhAgCiALIAOUIAcgBJQgCCAFlJOSkpI4AgAgDEEQaiQAC+EBAgl9AX8jAEEQayIMJAAgDCABEIYFIAAgDCoCDDgCDCAMKgIEIgkgAioCACIGlCAMKgIAIgogAioCBCIHlJMiBCAEkiEEIAogAioCCCIIlCAMKgIIIgMgBpSTIgUgBZIhBSAAIAJBGGoqAgAgAyACKgIMIgsgBJQgBiAFlCAHIAMgB5QgCSAIlJMiAyADkiIDlJOSkpI4AgggACACQRRqKgIAIAkgCyAFlCAIIAOUIAYgBJSTkpKSOAIEIAAgAioCECAKIAsgA5QgByAElCAIIAWUk5KSkjgCACAMQRBqJAAL8AEDBH8BfQF+IAEgAkEBa0sEQCABIAJLBEAgAkEMbCAAakEMayEFA0AgACACQQxsaiIEKgIAIQcgBEEMayIDKgIAIAdeBEAgBCkCBCEIIAQgAykCADcCACAEQQhqIANBCGooAgA2AgACQCACQQFGDQBBASEGIAUhAwNAIAcgA0EMayIEKgIAXUUNASADIAQpAgA3AgAgA0EIaiAEQQhqKAIANgIAIAQhAyAGQQFqIgYgAkcNAAsgACEDCyADIAg3AgQgAyAHOAIACyAFQQxqIQUgAkEBaiICIAFHDQALCw8LQezQwABBLkGc0cAAELkKAAuZAQAgACgCAARAIAAoAgQQlQILIAAoAgwEQCAAQRBqKAIAEJUCCyAAKAIYBEAgAEEcaigCABCVAgsgACgCJARAIABBKGooAgAQlQILIAAoAjAEQCAAQTRqKAIAEJUCCyAAKAI8BEAgAEFAaygCABCVAgsgACgCSARAIABBzABqKAIAEJUCCyAAKAJUBEAgAEHYAGooAgAQlQILC90BAgl9AX8jAEEQayIMJAAgAioCACABKgIQkyIJIAEqAgQiBpQgAioCBCABQRRqKgIAkyIKIAEqAgAiB5STIgQgBJIhBCAKIAEqAggiCJQgAioCCCABQRhqKgIAkyIDIAaUkyIFIAWSIQUgDCADIAEqAgwiCyAElCAGIAWUIAcgAyAHlCAJIAiUkyIDIAOSIgOUk5KSOAIMIAwgCiALIAOUIAcgBJQgCCAFlJOSkjgCCCAMIAkgCyAFlCAIIAOUIAYgBJSTkpI4AgQgACAMQQRqEG4hACAMQRBqJAAgAAveAQIJfQF/IwBBEGsiDCQAIAIqAgAgASoCEJMiCSABKgIEIgaUIAIqAgQgAUEUaioCAJMiCiABKgIAIgeUkyIEIASSIQQgCiABKgIIIgiUIAIqAgggAUEYaioCAJMiAyAGlJMiBSAFkiEFIAwgAyABKgIMIgsgBJQgBiAFlCAHIAMgB5QgCSAIlJMiAyADkiIDlJOSkjgCDCAMIAogCyADlCAHIASUIAggBZSTkpI4AgggDCAJIAsgBZQgCCADlCAGIASUk5KSOAIEIAAgDEEEahCCASEAIAxBEGokACAAC90BAgl9AX8jAEEQayIMJAAgAioCACABKgIQkyIJIAEqAgQiBpQgAioCBCABQRRqKgIAkyIKIAEqAgAiB5STIgQgBJIhBCAKIAEqAggiCJQgAioCCCABQRhqKgIAkyIDIAaUkyIFIAWSIQUgDCADIAEqAgwiCyAElCAGIAWUIAcgAyAHlCAJIAiUkyIDIAOSIgOUk5KSOAIMIAwgCiALIAOUIAcgBJQgCCAFlJOSkjgCCCAMIAkgCyAFlCAIIAOUIAYgBJSTkpI4AgQgACAMQQRqEHIhACAMQRBqJAAgAAvhAQIJfQF/IwBBEGsiDCQAIAwgARCiAiAAIAwqAgw4AgwgDCoCBCIJIAIqAgAiBpQgDCoCACIKIAIqAgQiB5STIgQgBJIhBCAKIAIqAggiCJQgDCoCCCIDIAaUkyIFIAWSIQUgACACQRhqKgIAIAMgAioCDCILIASUIAYgBZQgByADIAeUIAkgCJSTIgMgA5IiA5STkpKSOAIIIAAgAkEUaioCACAJIAsgBZQgCCADlCAGIASUk5KSkjgCBCAAIAIqAhAgCiALIAOUIAcgBJQgCCAFlJOSkpI4AgAgDEEQaiQAC+EBAgl9AX8jAEEQayIMJAAgDCABELcEIAAgDCoCDDgCDCAMKgIEIgkgAioCACIGlCAMKgIAIgogAioCBCIHlJMiBCAEkiEEIAogAioCCCIIlCAMKgIIIgMgBpSTIgUgBZIhBSAAIAJBGGoqAgAgAyACKgIMIgsgBJQgBiAFlCAHIAMgB5QgCSAIlJMiAyADkiIDlJOSkpI4AgggACACQRRqKgIAIAkgCyAFlCAIIAOUIAYgBJSTkpKSOAIEIAAgAioCECAKIAsgA5QgByAElCAIIAWUk5KSkjgCACAMQRBqJAAL4QECCX0BfyMAQRBrIgwkACAMIAEQiwIgACAMKgIMOAIMIAwqAgQiCSACKgIAIgaUIAwqAgAiCiACKgIEIgeUkyIEIASSIQQgCiACKgIIIgiUIAwqAggiAyAGlJMiBSAFkiEFIAAgAkEYaioCACADIAIqAgwiCyAElCAGIAWUIAcgAyAHlCAJIAiUkyIDIAOSIgOUk5KSkjgCCCAAIAJBFGoqAgAgCSALIAWUIAggA5QgBiAElJOSkpI4AgQgACACKgIQIAogCyADlCAHIASUIAggBZSTkpKSOAIAIAxBEGokAAu2AQEDfyAAKAI8IgIoAgAhASACIAFBAWs2AgAgAUEBRgRAIABBPGoQoggLIAAoAgAEQCAAKAIEEJUCCyAAQRBqKAIAIQIgAEEUaigCACIDBEAgAiEBA0AgARDqBiABQThqIQEgA0EBayIDDQALCyAAKAIMBEAgAhCVAgsgACgCGARAIABBHGooAgAQlQILIABBJGooAgAEQCAAQShqKAIAEJUCCyAAKAIwBEAgAEE0aigCABCVAgsL2AEBCX0gAioCACABKgIQkyIKIAEqAgQiBZQgAioCBCABQRRqKgIAkyILIAEqAgAiCJSTIgYgBpIhBiALIAEqAggiCZQgAioCCCABQRhqKgIAkyIEIAWUkyIHIAeSIQdDAAAAACAAKgIIIAQgASoCDCIMIAaUIAUgB5QgCCAEIAiUIAogCZSTIgQgBJIiBJSTkpKUIAAqAgAgCiAMIAeUIAkgBJQgBSAGlJOSkpQgACoCBCALIAwgBJQgCCAGlCAJIAeUk5KSlJKSIgUgAxsgBSAFQwAAAABdGwuWAgEBfyMAQfAAayIDJAAgAyABIAIQGQJAIAMoAgBBgICAgHhHBEAgA0HgAGoiAUEIaiADQQhqKAIANgIAIAMgAykDADcDYCADKAIMIQIgAyABIAMoAhAiASADKAIUEC0gAgRAIAEQlQILQQAhAiADKAIAQYCAgIB4RwRAQZH6wwAtAAAaQegAQQQQowwiAkUNAiACQoGAgIAQNwIAIAJBCGogA0HgABCjDRoLIABB6ODCADYCBCAAIAI2AgAgA0HwAGokAA8LIANB6ABqIANBDGooAgA2AgAgAyADKQIENwNgQYCMwgBBKyADQeAAakGUkcMAQaiSwwAQiAgAC0EEQegAQdiAxAAoAgAiAEGjByAAGxEAAAAL6QEBA38jAEEgayICJAACQCAABEAgACgCACIDQX9GDQEgACADQQFqNgIAIAIgATYCFCACQYEBNgIYAkAgAEFAaygCACIBRQ0AIAFBgANsIQMgAEE8aigCAEE4aiEBA0AgAiABKwMAEAA2AhwgAkEIaiACQRRqIAJBGGogAkEcahDHCiACKAIMIgRBhAFPBEAgBBACCyACKAIcIgRBhAFPBEAgBBACCyABQYADaiEBIANBgANrIgMNAAsgAigCGCIBQYQBSQ0AIAEQAgsgACAAKAIAQQFrNgIAIAJBIGokAA8LEJANAAsQkQ0AC6ICAQR9IAEqAgQiBCAElCIDQwAAQECUIQUgASoCACIEIAND2w9JQJSUIgMgA5JDAABAQJUgApQhAiAFQwAAoEGVIAQgBJRDAACAQJRDAABAQJRDAACgQpWSIAKUIgYQmAEhAyAFQwAAIEGVIAKUEJgBIQUgBhCYASEGIABDAAAAAEMAAIA/IAOVIANDAAAAAFsbOAIgIABDAAAAAEMAAIA/IAKVIAJDAAAAAFsbOAIcIABBGGpBADYCACAAQRRqIARDAAAAv5Q4AgAgAEEANgIQIABCgICAgICAgMA/NwIIIABCADcCACAAQSRqQwAAAABDAACAPyAFlSAFQwAAAABbGzgCACAAQShqQwAAAABDAACAPyAGlSAGQwAAAABbGzgCAAvUAQEJfUMAAIA/IQUgAioCACIGIAaUIAIqAgQiByAHlJIgAioCCCIIIAiUkiIJQwAAAABeBEAgCCAJEJgBIgSVIQMgByAElSEFIAYgBJUhBAsgBCABKgIAIgaUIAUgASoCBCIHlJIgAyABKgIIIgiUkiAEIAEqAgwiCZQgBSABQRBqKgIAIgqUkiADIAFBFGoqAgAiC5SSXiECIAAgAyABKgIYIgOUIAggCyACG5I4AgggACAFIAOUIAcgCiACG5I4AgQgACAEIAOUIAYgCSACG5I4AgAL8gECAX8BfQJAAkAgASADSQRAIAAoAjAiBCADTw0BIAIgAUEMbGoiAyoCACACIARBDGxqIgIqAgCTIAAqAgyUIAMqAgQgAioCBJMgAEEQaioCAJSSIAMqAgggAioCCJMgAEEUaioCAJSSIgVDAAAANF5FDQIgACoCQCAFXQRAIAAgATYCPCAAIAU4AkALIAAoAggiAyAAKAIARgRAIAAgAxCzBiAAKAIIIQMLIAAgA0EBajYCCCAAKAIEIANBAnRqIAE2AgAPCyABIANB6JrDABDtCAALIAQgA0H4msMAEO0IAAtBnJrDAEE5QdiawwAQuQoAC+MBAQN/IwBBIGsiAiQAAkAgAARAIAAoAgAiA0F/Rg0BIAAgA0EBajYCACACIAE2AhQgAkGBATYCGAJAIABBDGooAgAiA0UNACAAQQhqKAIAIQEgA0EDdCEDA0AgAiABKwIAEAA2AhwgAkEIaiACQRRqIAJBGGogAkEcahDHCiACKAIMIgRBhAFPBEAgBBACCyACKAIcIgRBhAFPBEAgBBACCyABQQhqIQEgA0EIayIDDQALIAIoAhgiAUGEAUkNACABEAILIAAgACgCAEEBazYCACACQSBqJAAPCxCQDQALEJENAAvrAQIDfwF+IwBBEGsiBCQAAkACQAJAAkAgAARAIAAoAgAiA0F/Rg0BIAAgA0EBajYCACACQQZPDQIgBEEIaiAAQQRqIAG9IganIAZCIIinEP8GIAQoAggiA0UNAyAEKAIMIgUgA0EIaigCAE8NBCADQQRqKAIAIgNFDQQgAyAFQegDbGpBgQNqLQAAIQMgACAAKAIAQQFrNgIAIARBEGokAEEBIAJ0Qf8BcSIAIANxIABGDwsQkA0ACxCRDQALQZq1wABBGRCPDQALQYixwABByQBBgLLAABDvCQALQaSIwABBK0GQssAAELkKAAvsAQIDfwF+IwBBEGsiBCQAAkACQAJAIABFDQAgACgCACIDQX9GDQEgACADQQFqNgIAIAJFDQAgAigCACIDQX9GDQEgAiADQQFqNgIAIABBBGogAb0iBqcgBkIgiKcQqQoiA0UNAiAEQQhqIAJBDGooAgA2AgAgBCACKQIENwMAIAMoAjAgA0E0aigCACIFKAIIQQFrQXhxakEIaiADQfQAaiAEIAUoAkgRBQAhAyACIAIoAgBBAWs2AgAgACAAKAIAQQFrNgIAIARBEGokACADDwsQkA0ACxCRDQALQdizwABBzABBzLTAABDvCQALywEBCn0gAioCACABKgIQkyIJIAEqAgQiA5QgAioCBCABQRRqKgIAkyIKIAEqAgAiB5STIgUgBZIhBSAKIAEqAggiCJQgAioCCCABQRhqKgIAkyIEIAOUkyIGIAaSIQYgBCABKgIMIgsgBZQgAyAGlCAHIAQgB5QgCSAIlJMiBCAEkiIElJOSkiIMIAyUIAkgCyAGlCAIIASUIAMgBZSTkpIiAyADlCAKIAsgBJQgByAFlCAIIAaUk5KSIgMgA5SSkiAAKgIAIgMgA5RfC9sBAQh9IAIqAgAiBSAFlCACKgIEIgYgBpSSIAIqAggiBCAElJIQmAEhAyAGIAOVIQgCQAJAAkAgBSADlSIFIAWUIAQgA5UiAyADlJIQmAEiBEMAAAAAXARAIAggASoCACIGlCIJIAMgAyAElSABKgIEIgqUIgeUIAUgBSAElSAKlCIElCAJk5JeDQEgBowhBgwDCyABKgIAIAiYIQYMAQtDAAAAACEHC0MAAAAAIQQLIAAgByADIAEqAggiA5SSOAIIIAAgBiAIIAOUkjgCBCAAIAQgBSADlJI4AgAL4gEBCH0gACABKgIAIgMgA5QgASoCBCIDIAOUkiABKgIIIgMgA5SSEJgBOAIMIAAgAkEYaioCACACKgIMIgMgAioCACIHQwAAAACUIgQgAioCBCIIQwAAAACUIgWTIgYgBpIiBpQgByACKgIIIglDAAAAAJQiCiAEkyIEIASSIgSUIAggBSAKkyIFIAWSIgWUk5JDAAAAAJKSOAIIIAAgAkEUaioCACADIASUIAkgBZQgByAGlJOSQwAAAACSkjgCBCAAIAIqAhAgAyAFlCAIIAaUIAkgBJSTkkMAAAAAkpI4AgAL4wECAn8CfSMAQTBrIgQkACAEIAIgASgCBCICIAEoAggiBRDFAiAEQRhqIgEgAyACIAUQxQIgAEEUaiAEQRRqKgIAIgYgAUEUaioCACIHIAYgB2AbOAIAIABBEGogBEEQaioCACIGIAFBEGoqAgAiByAGIAdgGzgCACAAIAQqAgwiBiAEKgIkIgcgBiAHYBs4AgwgACAEKgIIIgYgBCoCICIHIAYgB18bOAIIIAAgBCoCBCIGIAQqAhwiByAGIAdfGzgCBCAAIAQqAgAiBiAEKgIYIgcgBiAHXxs4AgAgBEEwaiQAC+kBAgR/AX4jAEEQayIDJAACQAJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACADQQhqIABBBGogAb0iBqcgBkIgiKcQ/wYgAygCCCICRQ0CIAMoAgwiBCACQQhqKAIATw0DIAJBBGooAgAiBUUNA0EGIQIgBSAEQegDbGpBgANqLQAAQTdrIgRB/wFxQQhNBEAgBMBBAnRB3LnAAGooAgAhAgsgACAAKAIAQQFrNgIAIANBEGokACACDwsQkA0ACxCRDQALQYixwABByQBBgLLAABDvCQALQaSIwABBK0GQssAAELkKAAvcAQEFfSABKgIEIgUgAioCBIyUIAIqAgAgASoCACIGlJMgAioCCCABKgIIIgeUkyIIQwAAAABeQQAgBBtFBEAgCCAGIAIqAgyUIAUgAkEQaioCAJSSIAcgAkEUaioCAJSSlSIJQwAAAABgIAMgCWBxRQRAIABBBDYCAA8LIAAgCTgCCCAAQgI3AgAgACAHjCAHIAhDAAAAAF4iARs4AhQgACAFjCAFIAEbOAIQIAAgBowgBiABGzgCDA8LIABCADcCBCAAQQI2AgAgAEEMakIANwIAIABBFGpBADYCAAv7BgQLfwF8AX0BfgJAAkAgALwiCUH/////B3EiAUH////7A00EQCABQYCAgPgDTwRAAkBDAACAPyABvpNDAAAAP5QiALsiDL0iDkIgiKciAkGAgMD/B3FBgIDA/wdGBEAgDCAMoiAMoCEMDAELIA6nIQECQAJAIAJBAEwEQCACQf////8HcSABckUNAyAOQgBTDQELIAJB//8/SwR/IAJBFHUFQQEhAyACRQRAA0AgA0EVayEDIAEiAkEVdCEBIAJBgBBJDQALIAJBC3YhAgsgAkEAIAJB//8/cWdBC2sgAkGAgMAAcRsiBHQgAUEAIARrdnIhAiABIAR0IQEgAyAEawshBCACQf//P3FBgIDAAHIhAyAEQf8HayIKQQFxBEAgA0EBdCABQR92ciEDIAFBAXQhAQsgA0EBdCABQR92ciEDIAFBAXQhAUGAgIABIQRBACECA0AgAiAEaiIGIANKIQUgAiAEIAZqIAUbIQIgA0EAIAYgBRtrQQF0IAFBH3ZyIQMgAUEBdCEBQQAgBCAFGyAHaiEHIARBAUshBSAEQQF2IQQgBQ0AC0GAgICAeCEFQQAhBgNAIAUiBCAIaiEFAkACQCACIANIDQAgAiADRw0BQX8gASAFRyABIAVLGyILRQ0AIAtB/wFxQf8BRg0AIAMhAgwBCyADIAJrIAEgBUlrIQMgAiAFQQBIIAQgBWoiCEEATnFqIQIgBCAGaiEGIAEgBWshAQsgA0EBdCABQR92ciEDIARBAXYhBSABQQF0IQEgBEECTw0ACwwBCyAMIAyhIgwgDKMhDAwBCwJAIAEgA3JFDQAgBkF/RgRAIAdBAWohB0EAIQYMAQsgBkEBcSAGaiEGCyAHQR90IAZBAXZyrSAKQRN0QYCAQHEgB0EBdWpBgICA/wNqrUIghoS/IQwLRBgtRFT7Ifk/IAwgDCAAIAAgAENr0w28lEO6Ey+9kpRDdaoqPpKUIABDruU0v5RDAACAP5KVu6KgIgwgDKChtiIAjCAAIAlBAEgbDwsgAUGAgIAEa0H////HA00NASAAIACUIg0gDSANQ2vTDbyUQ7oTL72SlEN1qio+kpQgDUOu5TS/lEMAAIA/kpUgAJQgAJIPCyABQYCAgPwDRg0BQwAAAAAgACAAk5UhAAsgAA8LIAC7RBgtRFT7Ifk/okQAAAAAAABwOKC2C9oCAgR/BH0jAEEgayIBJAACQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgACoCBCIGIAaUIABBCGoqAgAiByAHlJIgAEEMaioCACIIIAiUkhCYASEFIAEgCCAFlTgCHCABIAcgBZU4AhggASAGIAWVOAIUIAFBCGohAyABQRRqIQRBkfrDAC0AABpBFEEEEKMMIgJFBEBBBEEUQdiAxAAoAgAiAEGjByAAGxEAAAALIAJCgYCAgBA3AgAgAiAEKQIANwIIIAJBEGogBEEIaigCADYCACADQYjrwgA2AgQgAyACNgIAIAEoAgwhAiABKAIIIQMgACAAKAIAQQFrNgIAQZH6wwAtAAAaQQxBBBCjDCIARQ0CIAAgAjYCCCAAIAM2AgQgAEEANgIAIAFBIGokACAADwsQkA0ACxCRDQALQQRBDEHYgMQAKAIAIgBBowcgABsRAAAAC4sCAgR/AX4jAEEwayICJAAgASgCAEGAgICAeEYEQCABKAIMIQMgAkEkaiIEQQhqIgVBADYCACACQoCAgIAQNwIkIARBrLjDACADEKECGiACQSBqIAUoAgAiAzYCACACIAIpAiQiBjcDGCABQQhqIAM2AgAgASAGNwIACyABKQIAIQYgAUKAgICAEDcCACACQRBqIgMgAUEIaiIBKAIANgIAIAFBADYCAEGR+sMALQAAGiACIAY3AwhBDEEEEKMMIgFFBEBBBEEMQdiAxAAoAgAiAEGjByAAGxEAAAALIAEgAikDCDcCACABQQhqIAMoAgA2AgAgAEGIu8MANgIEIAAgATYCACACQTBqJAALmgQDBH8FfQF+IwBBEGsiBiQAAkACQAJAIABFDQAgACgCAA0BIABBfzYCACACRQ0AIAIoAgAiBUF/Rg0BIAIgBUEBajYCACADRQ0AIAMoAgAiBUF/Rg0BIAMgBUEBajYCACAAQQRqIAG9Ig6nIA5CIIinEJIHIgVFDQIgBkEIaiACQQxqKAIANgIAIAYgAikCBDcDACAEQQBHIQgjAEEQayIHJAAgByADQQRqIgQqAgAgBUHoAWoqAgCTIgkgBioCBCIKlCAEKgIEIAVB7AFqKgIAkyIMIAYqAgAiC5STOAIMIAcgCyAEKgIIIAVB8AFqKgIAkyINlCAJIAYqAggiCZSTOAIIIAcgDCAJlCANIAqUkzgCBAJAIAtDAAAAAFwgCkMAAAAAXHIgCUMAAAAAXHJFDQAgBS0A4QINACAFIAsgBUH0AWoqAgCUIAUqAoABkjgCgAEgBUGEAWoiBCAKIAVB+AFqKgIAlCAEKgIAkjgCACAFQYgBaiIEIAkgBUH8AWoqAgCUIAQqAgCSOAIAIAhFDQAgBUHQAmotAAAEQCAFIAUoArgCQQRyNgK4AgsgBUEAOgDQAiAFQcwCakEANgIACyAFIAdBBGogCBDbBCAHQRBqJAAgAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACAAQQA2AgAgBkEQaiQADwsQkA0ACxCRDQALQcCywABBzQBByLPAABDvCQAL4gECAn8BfiMAQaABayIFJAACQAJAIABFDQAgACgCAA0BIABBfzYCACACRQ0AIAIoAgANASACQX82AgAgA0UNACADKAIADQEgA0F/NgIAIAUgAEEEaiABvSIHpyAHQiCIpyACQQRqIANBBGogBEEARxDwAQJAIAUoAgBBAkYNACAFKAIwIgYoAgAhBCAGIARBAWs2AgAgBEEBRgRAIAVBMGoQoggLIAUoAihBAkkNACAFQSxqKAIAEJUCCyADQQA2AgAgAkEANgIAIABBADYCACAFQaABaiQADwsQkA0ACxCRDQAL+AEBAX0gAEE8aiABKgIMIgI4AgAgAEE4aiACOAIAIABBNGogAjgCACAAIAI4AjAgACABKgIIIgI4AiwgACACOAIoIAAgAjgCJCAAIAI4AiAgACABKgIEIgI4AhwgACACOAIYIAAgAjgCFCAAIAI4AhAgACABKgIAIgI4AgwgACACOAIIIAAgAjgCBCAAIAI4AgAgAEHcAGogAUEUaioCACICOAIAIABB2ABqIAI4AgAgAEHUAGogAjgCACAAQdAAaiACOAIAIABBzABqIAFBEGoqAgAiAjgCACAAQcgAaiACOAIAIABBxABqIAI4AgAgAEFAayACOAIAC9oBAgF/An0jAEEwayIEJAAgBCABQTRqIgEgAhDVAiAEQRhqIgIgASADENUCIABBFGogBEEUaioCACIFIAJBFGoqAgAiBiAFIAZgGzgCACAAQRBqIARBEGoqAgAiBSACQRBqKgIAIgYgBSAGYBs4AgAgACAEKgIMIgUgBCoCJCIGIAUgBmAbOAIMIAAgBCoCCCIFIAQqAiAiBiAFIAZfGzgCCCAAIAQqAgQiBSAEKgIcIgYgBSAGXxs4AgQgACAEKgIAIgUgBCoCGCIGIAUgBl8bOAIAIARBMGokAAvPAQEHfSAAIAIqAhAiBSABKgIAIgSSIgYgBCADKgIQIgeSIgggBiAIYBs4AgwgACAFIASTIgUgByAEkyIGIAUgBl8bOAIAIABBFGogBCACQRhqKgIAIgWSIgYgBCADQRhqKgIAIgeSIgggBiAIYBs4AgAgAEEQaiAEIAJBFGoqAgAiBpIiCCAEIANBFGoqAgAiCZIiCiAIIApgGzgCACAAIAUgBJMiBSAHIASTIgcgBSAHXxs4AgggACAGIASTIgUgCSAEkyIEIAQgBWAbOAIEC9sBAgF/An0jAEEwayIEJAAgBCABQeAAaiIBIAIQ1QIgBEEYaiICIAEgAxDVAiAAQRRqIARBFGoqAgAiBSACQRRqKgIAIgYgBSAGYBs4AgAgAEEQaiAEQRBqKgIAIgUgAkEQaioCACIGIAUgBmAbOAIAIAAgBCoCDCIFIAQqAiQiBiAFIAZgGzgCDCAAIAQqAggiBSAEKgIgIgYgBSAGXxs4AgggACAEKgIEIgUgBCoCHCIGIAUgBl8bOAIEIAAgBCoCACIFIAQqAhgiBiAFIAZfGzgCACAEQTBqJAAL2gECAX8CfSMAQTBrIgQkACAEIAFBGGoiASACENUCIARBGGoiAiABIAMQ1QIgAEEUaiAEQRRqKgIAIgUgAkEUaioCACIGIAUgBmAbOAIAIABBEGogBEEQaioCACIFIAJBEGoqAgAiBiAFIAZgGzgCACAAIAQqAgwiBSAEKgIkIgYgBSAGYBs4AgwgACAEKgIIIgUgBCoCICIGIAUgBl8bOAIIIAAgBCoCBCIFIAQqAhwiBiAFIAZfGzgCBCAAIAQqAgAiBSAEKgIYIgYgBSAGXxs4AgAgBEEwaiQAC8kBAQl9IAIqAgAgASoCEJMiCSABKgIEIgaUIAIqAgQgAUEUaioCAJMiCiABKgIAIgeUkyIEIASSIQQgCiABKgIIIgiUIAIqAgggAUEYaioCAJMiAyAGlJMiBSAFkiEFIAAqAgggAyABKgIMIgsgBJQgBiAFlCAHIAMgB5QgCSAIlJMiAyADkiIDlJOSkpQgACoCACAJIAsgBZQgCCADlCAGIASUk5KSlCAAKgIEIAogCyADlCAHIASUIAggBZSTkpKUkpJDAAAAAF8LhQIBBX0gASoCBCIEIASUQwAAQECVIgYgASoCCCIFIAWUQwAAQECVIgeSIAEqAgAiAyAElCAFlEMAAABBlCAClCIClBCYASEEIAMgA5RDAABAQJUiAyAHkiAClBCYASEFIAMgBpIgApQQmAEhAyAAQwAAAABDAACAPyAElSAEQwAAAABbGzgCICAAQwAAAABDAACAPyAClSACQwAAAABbGzgCHCAAQRhqQQA2AgAgAEIANwIQIABCgICAgICAgMA/NwIIIABCADcCACAAQSRqQwAAAABDAACAPyAFlSAFQwAAAABbGzgCACAAQShqQwAAAABDAACAPyADlSADQwAAAABbGzgCAAvHAQEKfSAAIAEqAgwiCDgCDCAAIAEqAggiAow4AgggACABKgIEIgOMOAIEIAAgASoCACIEjDgCACAAIAggBCABQRRqKgIAIgmUIAMgASoCECIKlJMiBSAFkiIFlCADIAMgAUEYaioCACILlCACIAmUkyIGIAaSIgaUIAQgAiAKlCAEIAuUkyIHIAeSIgeUk5IgC5M4AhggACAIIAeUIAQgBZQgAiAGlJOSIAmTOAIUIAAgCCAGlCACIAeUIAMgBZSTkiAKkzgCEAukAQEDfyAAQQxqKAIAIQIgAEEQaigCACIDBEAgAiEBA0AgASgCAEGAgICAeEcEQCABEIwCCyABQZQCaiEBIANBAWsiAw0ACwsgACgCCARAIAIQlQILIAAoAhwEQCAAQSBqKAIAEJUCCyAAKAIoBEAgAEEsaigCABCVAgsgAEE0aigCAARAIABBOGooAgAQlQILIAAoAkAEQCAAQcQAaigCABCVAgsL1QECAX8CfSMAQTBrIgQkACAEIAEgAhDlBiAEQRhqIgIgASADEOUGIABBFGogBEEUaioCACIFIAJBFGoqAgAiBiAFIAZgGzgCACAAQRBqIARBEGoqAgAiBSACQRBqKgIAIgYgBSAGYBs4AgAgACAEKgIMIgUgBCoCJCIGIAUgBmAbOAIMIAAgBCoCCCIFIAQqAiAiBiAFIAZfGzgCCCAAIAQqAgQiBSAEKgIcIgYgBSAGXxs4AgQgACAEKgIAIgUgBCoCGCIGIAUgBl8bOAIAIARBMGokAAvVAQIBfwJ9IwBBMGsiBCQAIAQgASACEM0EIARBGGoiAiABIAMQzQQgAEEUaiAEQRRqKgIAIgUgAkEUaioCACIGIAUgBmAbOAIAIABBEGogBEEQaioCACIFIAJBEGoqAgAiBiAFIAZgGzgCACAAIAQqAgwiBSAEKgIkIgYgBSAGYBs4AgwgACAEKgIIIgUgBCoCICIGIAUgBl8bOAIIIAAgBCoCBCIFIAQqAhwiBiAFIAZfGzgCBCAAIAQqAgAiBSAEKgIYIgYgBSAGXxs4AgAgBEEwaiQAC+QBAwN/AX4BfSMAQRBrIgQkAAJAAkACQAJAIAAEQCAAKAIAIgNBf0YNASAAIANBAWo2AgAgAkEGTw0CIARBCGogAEEEaiABvSIGpyAGQiCIpxD/BiAEKAIIIgNFDQMgBCgCDCIFIANBCGooAgBPDQQgA0EEaigCACIDRQ0EIAMgBUHoA2xqIAJBDGxqQdgAaioCACEHIAAgACgCAEEBazYCACAEQRBqJAAgBw8LEJANAAsQkQ0AC0GatcAAQRkQjw0AC0GIscAAQckAQYCywAAQ7wkAC0GkiMAAQStBkLLAABC5CgAL5AEDA38BfgF9IwBBEGsiBCQAAkACQAJAAkAgAARAIAAoAgAiA0F/Rg0BIAAgA0EBajYCACACQQZPDQIgBEEIaiAAQQRqIAG9IganIAZCIIinEP8GIAQoAggiA0UNAyAEKAIMIgUgA0EIaigCAE8NBCADQQRqKAIAIgNFDQQgAyAFQegDbGogAkEMbGpB3ABqKgIAIQcgACAAKAIAQQFrNgIAIARBEGokACAHDwsQkA0ACxCRDQALQZq1wABBGRCPDQALQYixwABByQBBgLLAABDvCQALQaSIwABBK0GQssAAELkKAAviAQEDfyMAQSBrIgQkAAJAAkAgASAAQRRqKAIAIgVJBEAgAEEQaigCACABQQN0aiIGKAIAIgUgACgCCCIBTw0BIAYoAgQiBiABTw0CIARBHGogACgCBCIAIAZBDGxqIgFBCGooAgA2AgAgBCABKQIANwIUIARBCGoiAUEIaiAAIAVBDGxqIgBBCGooAgA2AgAgBCAAKQIANwMIIAJBACABQbzLwgBBACAEIAMoAhARDAAgBEEgaiQADwsgASAFQYDKwgAQ7QgACyAFIAFBkMrCABDtCAALIAYgAUGgysIAEO0IAAvXAQEIfSAAIAEqAgAiAyADlCABKgIEIgMgA5SSEJgBOAIMIAAgAkEYaioCACACKgIMIgMgAioCACIHQwAAAACUIgQgAioCBCIIQwAAAACUIgWTIgYgBpIiBpQgByACKgIIIglDAAAAAJQiCiAEkyIEIASSIgSUIAggBSAKkyIFIAWSIgWUk5JDAAAAAJKSOAIIIAAgAkEUaioCACADIASUIAkgBZQgByAGlJOSQwAAAACSkjgCBCAAIAIqAhAgAyAFlCAIIAaUIAkgBJSTkkMAAAAAkpI4AgAL1QECAX8CfSMAQTBrIgQkACAEIAEgAhDKAyAEQRhqIgIgASADEMoDIABBFGogBEEUaioCACIFIAJBFGoqAgAiBiAFIAZgGzgCACAAQRBqIARBEGoqAgAiBSACQRBqKgIAIgYgBSAGYBs4AgAgACAEKgIMIgUgBCoCJCIGIAUgBmAbOAIMIAAgBCoCCCIFIAQqAiAiBiAFIAZfGzgCCCAAIAQqAgQiBSAEKgIcIgYgBSAGXxs4AgQgACAEKgIAIgUgBCoCGCIGIAUgBl8bOAIAIARBMGokAAvVAQIBfwJ9IwBBMGsiBCQAIAQgASACEN0EIARBGGoiAiABIAMQ3QQgAEEUaiAEQRRqKgIAIgUgAkEUaioCACIGIAUgBmAbOAIAIABBEGogBEEQaioCACIFIAJBEGoqAgAiBiAFIAZgGzgCACAAIAQqAgwiBSAEKgIkIgYgBSAGYBs4AgwgACAEKgIIIgUgBCoCICIGIAUgBl8bOAIIIAAgBCoCBCIFIAQqAhwiBiAFIAZfGzgCBCAAIAQqAgAiBSAEKgIYIgYgBSAGXxs4AgAgBEEwaiQAC9UBAgF/An0jAEEwayIEJAAgBCABIAIQ3gQgBEEYaiICIAEgAxDeBCAAQRRqIARBFGoqAgAiBSACQRRqKgIAIgYgBSAGYBs4AgAgAEEQaiAEQRBqKgIAIgUgAkEQaioCACIGIAUgBmAbOAIAIAAgBCoCDCIFIAQqAiQiBiAFIAZgGzgCDCAAIAQqAggiBSAEKgIgIgYgBSAGXxs4AgggACAEKgIEIgUgBCoCHCIGIAUgBl8bOAIEIAAgBCoCACIFIAQqAhgiBiAFIAZfGzgCACAEQTBqJAAL1QECAX8CfSMAQTBrIgQkACAEIAEgAhDVAiAEQRhqIgIgASADENUCIABBFGogBEEUaioCACIFIAJBFGoqAgAiBiAFIAZgGzgCACAAQRBqIARBEGoqAgAiBSACQRBqKgIAIgYgBSAGYBs4AgAgACAEKgIMIgUgBCoCJCIGIAUgBmAbOAIMIAAgBCoCCCIFIAQqAiAiBiAFIAZfGzgCCCAAIAQqAgQiBSAEKgIcIgYgBSAGXxs4AgQgACAEKgIAIgUgBCoCGCIGIAUgBl8bOAIAIARBMGokAAvVAQIBfwJ9IwBBMGsiBCQAIAQgASACEMYCIARBGGoiAiABIAMQxgIgAEEUaiAEQRRqKgIAIgUgAkEUaioCACIGIAUgBmAbOAIAIABBEGogBEEQaioCACIFIAJBEGoqAgAiBiAFIAZgGzgCACAAIAQqAgwiBSAEKgIkIgYgBSAGYBs4AgwgACAEKgIIIgUgBCoCICIGIAUgBl8bOAIIIAAgBCoCBCIFIAQqAhwiBiAFIAZfGzgCBCAAIAQqAgAiBSAEKgIYIgYgBSAGXxs4AgAgBEEwaiQAC9UBAgF/An0jAEEwayIEJAAgBCABIAIQmgMgBEEYaiICIAEgAxCaAyAAQRRqIARBFGoqAgAiBSACQRRqKgIAIgYgBSAGYBs4AgAgAEEQaiAEQRBqKgIAIgUgAkEQaioCACIGIAUgBmAbOAIAIAAgBCoCDCIFIAQqAiQiBiAFIAZgGzgCDCAAIAQqAggiBSAEKgIgIgYgBSAGXxs4AgggACAEKgIEIgUgBCoCHCIGIAUgBl8bOAIEIAAgBCoCACIFIAQqAhgiBiAFIAZfGzgCACAEQTBqJAAL4QECAn8EfSMAQUBqIgUkACABQQhqIgYqAgAhCSABKgIAIQcgASoCBCEIIAVBIGogBigCADYCACAFIAmMOAIUIAUgCIw4AhAgBSAHjDgCDCAFIAEpAgA3AhggBUEkaiAFQQxqIAIgAxCmAiAFLQAwIQECQCACKgIAIAUqAiQiCZMiByAHlCACKgIEIAUqAigiB5MiCCAIlJIgAioCCCAFKgIsIgiTIgogCpSSEJgBIAReRQRAIAAgAToADCAAIAg4AgggACAHOAIEIAAgCTgCAAwBCyAAQQI6AAwLIAVBQGskAAvEAQEJfSABQRRqKgIAIgkgAioCACIGlCABKgIQIgogAioCBCIHlJMiBCAEkiEEIAogAioCCCIIlCABQRhqKgIAIgMgBpSTIgUgBZIhBSAAIAJBGGoqAgAgAyACKgIMIgsgBJQgBiAFlCAHIAMgB5QgCSAIlJMiAyADkiIDlJOSkpI4AgggACACQRRqKgIAIAkgCyAFlCAIIAOUIAYgBJSTkpKSOAIEIAAgAioCECAKIAsgA5QgByAElCAIIAWUk5KSkjgCAAvIAQEJfSAAIAEtAAw6AAwgASoCBCIJIAIqAgAiBpQgASoCACIKIAIqAgQiB5STIgQgBJIhBCAKIAIqAggiCJQgASoCCCIDIAaUkyIFIAWSIQUgACACQRhqKgIAIAMgAioCDCILIASUIAYgBZQgByADIAeUIAkgCJSTIgMgA5IiA5STkpKSOAIIIAAgAkEUaioCACAJIAsgBZQgCCADlCAGIASUk5KSkjgCBCAAIAIqAhAgCiALIAOUIAcgBJQgCCAFlJOSkpI4AgALsQEBBH8gAEEQaigCACICBEAgAEEMaigCAEE4aiEBA0ACQCABQThrKAIARQ0AIAEoAgAiBCgCACEDIAQgA0EBazYCACADQQFGBEAgARCiCAsgAUEIaygCAEECSQ0AIAFBBGsoAgAQlQILIAFBqAFqIQEgAkEBayICDQALCyAAKAIIBEAgACgCDBCVAgsgACgCHARAIABBIGooAgAQlQILIAAoAigEQCAAQSxqKAIAEJUCCwveAgIDfwN9IwBB0ABrIgIkACACQRBqIgFBAToAPCABQoCAgICg4fWRPDcCACABQtufpPqz+8OkPzcCMCABQQI2AgggAUGX7sbGAzYCOCABQQA2AhwgAUEoakKAgID8AzcCACABQSBqQs2Zs/IDNwIAIAJBDGogAUEsaigCADYCACACIAIpAjQ3AgRBkfrDAC0AABogAi0ATCEDIAIqAkAhBCACKgJEIQUgAioCSCEGQeAAQQQQowwiAUUEQEEEQeAAQdiAxAAoAgAiAUGjByABGxEAAAALIAFBAjYCICABQQI2AgwgASAAOAIIIAFCgICAgBA3AgAgASACKQIANwIkIAFCADcCTCABQoCAgIDAADcCRCABIAM6AEAgASAGOAI8IAEgBTgCOCABIAQ4AjQgAUHUAGpCADcCACABQdwAakEAOwEAIAFBLGogAkEIaikCADcCACACQdAAaiQAIAEL+lYDHX0cfwF+IwBBEGsiPSQAAkACQCAARQ0AIAAoAgANASAAQX82AgAgAkUNACACKAIADQEgAkF/NgIAIANFDQAgAygCACIrQX9GDQEgAyArQQFqNgIAIARFDQAgBCgCACIrQX9GDQEgBCArQQFqNgIAID0gCDYCDCAAQQRqIQggAkEEaiEsIANBBGohKiAEQQRqISsgBkEARyEGIwBBQGoiLiQAAkAgPUEMaiImKAIAEARBAUYEQCAuICY2AgwgLkE8akH8tMAANgIAIC5BLGogCCkCKDcCACAuQQE2AiggLiAHQf//A3E2AhggLiAHQRB2NgIUIC5BADYCHCAuQQAgBSAFQUFxGzYCNCAuIAY2AhAgLiAuQQxqNgI4DAELIC5BPGpB/LTAADYCACAuQSxqIAgpAig3AgAgLkEANgI4IC5BATYCKCAuQQA2AhwgLiAHQf//A3E2AhggLiAHQRB2NgIUIC4gBjYCECAuQQAgBSAFQUFxGzYCNAsgKyEoIC5BEGohOSMAQfAAayInJAACQAJA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aikCADcDACABQShqIABBJGopAgA3AwAgAUEgaiAAQRxqKQIANwMAIAFBGGogAEEUaikCADcDACABQRBqIABBDGopAgA3AwAgASAAKQIENwMIIAAQlQIgAUEIahCDBiABQUBrJAAPCxCQDQALEJENAAvNAwEFfyMAQUBqIgEkACABQQxqIQIjAEEgayIDJAAgA0EANgIYIANBCGpBCEGgBSADQRRqEOEGIAMoAgwhAAJAIAMoAghFBEBBBCEEDAELIABBgYCAgHhGBEBBCCEADAELIAAEQCAAIANBEGooAgBB2IDEACgCACIAQaMHIAAbEQAAAAsQ7goACyAAQgA3A/gDIABCgICAgBA3A9ACIABCgICAgBA3A6gBIABBATYCCCAAQoCAgIAQNwMAIAJCgICAgMAANwIoIAJCADcCGCACQgQ3AhAgAiAANgIMIAIgBDYCCCACQgE3AgAgAEGABGpBADYCACAAQdgCakEDNgIAIABBsAFqQQI2AgAgAkEwakEANgIAIAJBIGpCBDcCACADQSBqJABBkfrDAC0AABpBOEEEEKMMIgBFBEBBBEE4QdiAxAAoAgAiAEGjByAAGxEAAAALIABBADYCACAAIAEpAgw3AgQgAEEMaiABQRRqKQIANwIAIABBFGogAUEcaikCADcCACAAQRxqIAFBJGopAgA3AgAgAEEkaiABQSxqKQIANwIAIABBLGogAUE0aikCADcCACAAQTRqIAFBPGooAgA2AgAgAUFAayQAIAALwgECA38BfiMAQRBrIgEkAAJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAKAIEIgNB6ABqKQIAIQQgA0HwAGooAgAhAyAAIAI2AgAgAUEIaiICIAM2AgAgASAENwMAQZH6wwAtAAAaQRBBBBCjDCIARQ0CIABBADYCACAAIAEpAwA3AgQgAEEMaiACKAIANgIAIAFBEGokACAADwsQkA0ACxCRDQALQQRBEEHYgMQAKAIAIgBBowcgABsRAAAAC58BAQV9IAAgASoCACICIAEqAgwiAyACIANgGyABKgIYIgSSOAIMIAAgAiADIAIgA18bIASTOAIAIABBFGogBCABKgIIIgIgAUEUaioCACIDIAIgA2AbkjgCACAAQRBqIAQgASoCBCIFIAFBEGoqAgAiBiAFIAZgG5I4AgAgACAC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GGogAUEIaigCADYCACAAIAEpAgA3AhAgACAEKQIANwIAIABBCGogBEEIaikCADcCACAAQShqQwAAAABDAACAPyAHlSAHQwAAAABbGzgCAAujAQIBfwR9IwBBIGsiAyQAIAIqAgAiBSAFlCACKgIEIgYgBpSSIAIqAggiByAHlJIQmAEhBCADIAUgBJUiBTgCCCADIAYgBJUiBjgCDCADIAcgBJUiBDgCECADQRRqIAEgA0EIahC3AyAAIAQgASoCYCIElCADKgIckjgCCCAAIAYgBJQgAyoCGJI4AgQgACADKgIUIAUgBJSSOAIAIANBIGokAAufAQECfwJAIAAoAhAgAU0NACAAKAIMIgNFDQAgAyABQfACbGoiAygCAEUNACADKAIEIAJHDQAgA0EIaiEEIANBwAJqLQAAQQFxDQAgA0EBNgLAAiAAQSRqKAIAIgMgACgCHEYEQCAAQRxqIAMQsAYgACgCJCEDCyAAIANBAWo2AiQgAEEgaigCACADQQN0aiIAIAI2AgQgACABNgIACyAEC54BAQJ/AkAgACgCECABTQ0AIAAoAgwiA0UNACADIAFBqAFsaiIDKAIARQ0AIAMoAgQgAkcNACADQQhqIQQgA0H4AGotAABBAXENACADQQE2AnggAEEkaigCACIDIAAoAhxGBEAgAEEcaiADELAGIAAoAiQhAwsgACADQQFqNgIkIABBIGooAgAgA0EDdGoiACACNgIEIAAgATYCAAsgBAu4AQECfyMAQRBrIgEkAAJAAkAgAARAIAAoAgANASAAKAIEIQIgAEIANwIAAkAgAkUEQEEAIQAMAQsgAUEIaiICIABBEGooAgA2AgBBkfrDAC0AABogASAAQQhqKQIANwMAQRBBBBCjDCIARQ0DIABBADYCACAAIAEpAwA3AgQgAEEMaiACKAIANgIACyABQRBqJAAgAA8LEJANAAsQkQ0AC0EEQRBB2IDEACgCACIAQaMHIAAbEQAAAAumAQEFfSACKgIAIgYgBpQgAioCBCIFIAWUkiACKgIIIgMgA5SSEJgBIQQgACADIASVIgcgASoCDCIDlCABKAIIQf////8HcSAHvEGAgICAeHFyvpI4AgggACADIAUgBJUiBZQgASgCBEH/////B3EgBbxBgICAgHhxcr6SOAIEIAAgAyAGIASVIgSUIAEoAgBB////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ICkgBCAtcSIRaikAAEKAgYKEiJCgwIB/gyJyUA0ACwsgKSByeqdBA3YgEWogLXEiEWosAABBAE4EQCApKQMAQoCBgoSIkKDAgH+DeqdBA3YhEQsgESAbayAKIBtrcyAtcUEISQ0DICkgEUECdGtBBGshGyARIClqIgEtAAAhBCABIB9BGXYiAToAACARQQhrIC1xIClqQQhqIAE6AAAgBEH/AUYNAiAlLQAAIQEgJSAbLQAAOgAAIBsgAToAACAlLQABIQEgJSAbLQABOgABIBsgAToAASAlLQACIQEgJSAbLQACOgACIBsgAToAAiAlLQADIQEgJSAbLQADOgADIBsgAToAAyANIAsoAgAiAUsNAAsLIAEgDUHMmcAAEO0IAAsgIkH/AToAACAKQQhrIC1xIClqQQhqQf8BOgAAIBsgJSgAADYAAAwBCyAiIB9BGXYiAToAACAKQQhrIC1xIClqQQhqIAE6AAALIApBAWohASAKIC1HDQALCyAmIA4gHWs2AggLCyAVQSBqJAAgByACKAK4BCIEcSIQIAIoArQEIhFqKQAAQoCBgoSIkKDAgH+DInRQBEBBCCEBA0AgASAQaiEKIAFBCGohASARIAQgCnEiEGopAABCgIGChIiQoMCAf4MidFANAAsLIBEgdHqnQQN2IBBqIARxIgFqLAAAQQBIDQAgESkDAEKAgYKEiJCgwIB/g3qnQQN2IQELIAEgEWogMjoAACABQQhrIARxIBFqQQhqIDI6AAAgESABQQJ0a0EEayANNgIAIAIgAigCvAQgEmsiCzYCvAQgAiACKALABEEBaiIKNgLABCACKAKwBCEBIA0gAigCqAQiBEcNAiAKIAtqIAFrIgogDSABa00EQCANIQQMAwsgASAKaiIEIAFJDT0gBEEEdCELIARBgICAwABJQQJ0IQogAiANBH8gAiACKAKsBDYC0AUgAiANQQR0NgLYBUEEBUEACzYC1AUgAkHIAWogCiALIAJB0AVqEOEGIAIoAswBIQogAigCyAFFBEAgAiAENgKoBCACIAo2AqwEDAMLIA0hBCAKQYGAgIB4Rg0CIApFDT0gCiACKALQAUHYgMQAKAIAIgBBowcgABsRAAAACwwkCyABIA1BvJnAABDtCAALIAEgBEYEQCACQagEaiABEK0GIAIoArAEIQELIAIoAqwEIhYgAUEE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IgQgIEEARzoADCAEIBs2AgggBCAeNgIEIAQgETYCACADIAdBAWoiBDYCwAELIBohCyAFDQALIAMoAtABIREgAygCzAEhISADKALIASENIAMoAsQBIQcgAygCwAEhBCADKAK4ASEFIAMoArwBIQELIAVBgoCAgHhIBEAgASEFDBcLIB9BAEetIXJBgICAgHghEEIADA8LDCALDF0LIANCgcqAgBA3A7gBIANBuAFqEIALIQUMEwsgA0EAOgC7ASADQSU7ALkBIANBBDYCvAEgA0EBOgC4ASADQbgBahCACyEHDBELDFoLDFkLIANCgcqAgBA3A4gBIANBiAFqEIALIQUMDwsMVwsgA0KByoCAEDcDiAEgA0GIAWoQgAshBQwNCyADQoHKgIDAADcDuAEgA0G4AWoQgAshBQwMCyADKALAASENIHFCIIYgc4QhdSByQiCGQoCAgICAYIMMBAsgB0EETwRAIBMgEEELazYCBCATIAFBC2o2AgAgASgAByEFQYSAgIB4IRBCACFyQgAMBAsgA0KByoCAwAA3A7gBIANBuAFqEIALIQUMCgsCQCAHBEAgEyAQQQhrNgIEIBMgAUEIajYCAAJAIAEtAAciH0ECTwRAQZH6wwAtAAAaQQxBBBCjDCIFRQ0BIAUgHzoABCAFQYKAgIB4NgIADA0LIAdBCE0EQCADQoHKgICAATcDuAEgA0G4AWoQgAshBQwNCyATIBBBEGsiGDYCBCATIAFBEGoiCzYCACADQegAaiABKQAIEMYGIAMoAmwhBSADKAJoDQxBACEEAkACQCAFRQRAQdCYwAAhB0EEIQFBACENQQAhIUEAIREMAQsgA0HoAGogBRDwAwJ/IAMoAmgiBwRAIAMoAnQhESADKAJwISEgAygCbAwBCyADQfAAaigCACEhIAMoAmwLIQ0gBUH///8/Sw1eIAVBBHQiEEEASA1eQZH6wwAtAAAaIBBBBBCjDCIBRQ0BCyADIBE2AtABIAMgITYCzAEgAyANNgLIASADIAc2AsQBIANBADYCwAEgAyABNgK8ASADIAU2ArgBIAUEQANAIBhBA00EQCADQoHKgIDAADcDaCADQegAahCACyEFDAYLIBMgGEEEayIHNgIEIBMgC0EEajYCAAJAAkACQCAHQQhPBEAgCygAACEeIBMgGEEMayIHNgIEIBMgC0EMajYC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QUBqIgMkACADQRxqIgQgASACQQEQRiADQRBqIARBCGopAgAiBTcDACADIAMpAhwiBjcDCCAEQRRqKAIAIQIgAygCLCEBIABBCGogBTcCACAAIAY3AgAgAEEUaiACQQAgAUEDSSICGzYCACAAIAFBAiACGzYCECADQUBrJAALkAEBAn8CQAJAIABFDQAgACgCACIDQX9GDQEgACADQQFqNgIAIAJFDQAgAigCAA0BIAJBfzYCAAJAIABBzABqKAIAIgMgAU0NACAAQcgAaigCACIERQ0AIAJBBGogBCABQfQAbGpB9AAQow0aCyACQQA2AgAgACAAKAIAQQFrNgIAIAEgA0kPCxCQDQALEJENAAuSAQICfwF+AkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IgWnIAVCIIinEJMHIgNFDQICQAJAIANB4gBqLQAAQQFNBEAgAg0CQQIhBAwBCyACRQ0BCyADIAQ6AGIgAyADKAJwQYACcjYCcAsgAEEANgIADwsQkA0ACxCRDQALQdizwABBzABB3LTAABDvCQAL2QMBBH8jAEEwayIDJAAgA0EMaiECIABBAEchBEGR+sMALQAAGgJAAkBBgAJBwAAQowwiAARAIABBADoAyAEgAEKBgICAEDcDwAEgAEEBOgCcASAAQgQ3ApQBIABCADcCjAEgAEKAgICAwAA3AoQBIABBADsBgAEgAEIANwNAIABCADcDAEGR+sMALQAAGkGAAkHAABCjDCIBRQ0CIAFBADoAyAEgAUKBgICAEDcDwAEgAUEBOgCcASABQgQ3ApQBIAFCADcCjAEgAUKAgICAwAA3AoQBIAFBADsBgAEgAUIANwNAIAFCADcDACACIAQ6ACAgAkEBNgIYIAJBATYCECACIAE2AgwgAkEBNgIIIAIgADYCBCACQQE2AgAgAkEcaiABNgIAIAJBFGogADYCAAwBCwwBC0GR+sMALQAAGkEoQQQQowwiAEUEQEEEQShB2IDEACgCACIAQaMHIAAbEQAAAAsgAEEANgIAIAAgAykCDDcCBCAAQQxqIANBFGopAgA3AgAgAEEUaiADQRxqKQIANwIAIABBHGogA0EkaikCADcCACAAQSRqIANBLGooAgA2AgAgA0EwaiQAIAAPC0HAAEGAAkHYgMQAKAIAIgBBowcgABsRAAAAC5UBAQF/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kQ0AC0HAssAAQc0AQbizwAAQ7wkAC3MCAX8BfgJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgOnIANCIIinEKgKIgJFDQIgAkEQaigCACECIAAgACgCAEEBazYCACACDwsQkA0ACxCRDQALQcCywABBzQBBuLPAABDvCQALdAIBfwF+AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQqQoiAkUNAiACQZwBai0AACECIAAgACgCAEEBazYCACACDwsQkA0ACxCRDQALQdizwABBzABBzLTAABDvCQALdgMBfwF+AX0CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIDpyADQiCIpxCpCiICRQ0CIAJBlAFqKgIAIQQgACAAKAIAQQFrNgIAIAQPCxCQDQALEJENAAtB2LPAAEHMAEHMtMAAEO8JAAt2AwF/AX4BfQJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgOnIANCIIinEKkKIgJFDQIgAkHkAGoqAgAhBCAAIAAoAgBBAWs2AgAgBA8LEJANAAsQkQ0AC0HYs8AAQcwAQcy0wAAQ7wkAC3YDAX8BfgF9AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQqQoiAkUNAiACQegAaioCACEEIAAgACgCAEEBazYCACAEDwsQkA0ACxCRDQALQdizwABBzABBzLTAABDvCQALdAIBfwF+AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQqQoiAkUNAiACQdgAaigCACECIAAgACgCAEEBazYCACACDwsQkA0ACxCRDQALQdizwABBzABBzLTAABDvCQALdAIBfwF+AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQqQoiAkUNAiACQeAAai8BACECIAAgACgCAEEBazYCACACDwsQkA0ACxCRDQALQdizwABBzABBzLTAABDvCQALdAIBfwF+AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQ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6AIgBCoCACABKgIAkyIDIAOUIAQqAgQgASoCBJMiAyADlJIgBCoCCCABKgIIkyIDIAOUkhCYASEDIAQtAAwhACAEQRBqJAAgAyADjCADIAAbIAIbC2sCAX0BfyMAQSBrIgQkACAEIAAgASACEFcgBC0ADCEAIAQqAgAgASoCAJMiAyADlCAEKgIEIAEqAgSTIgMgA5SSIAQqAgggASoCCJMiAyADlJIQmAEhAyAEQSBqJAAgAyADjCADIAAbIAIbC4ABAQF/IwBB0AFrIgIkACACQbgBakIANwMAIAJByAFqQQA2AgAgAkKCgICAMDcDGCACQoCAgIAQNwMQIAJCADcDsAEgAkIANwPAASACQSBqQQBBkAEQog0aIAJBADYCzAEgAiAAIAJBEGogAUEBECAgAi0ADCEAIAJB0AFqJAAgAAuAAQEBfyMAQdABayICJAAgAkG4AWpCADcDACACQcgBakEANgIAIAJCgoCAgDA3AxggAkKAgICAEDcDECACQgA3A7ABIAJCADcDwAEgAkEgakEAQZABEKINGiACQQA2AswBIAIgACACQRBqIAFBARAcIAItAAwhACACQdABaiQAIAALgAEBAX8jAEHQAWsiAiQAIAJBuAFqQgA3AwAgAkHIAWpBADYCACACQoKAgIAwNwMYIAJCgICAgBA3AxAgAkIANwOwASACQgA3A8ABIAJBIGpBAEGQARCiDRogAkEANgLMASACIAAgAkEQaiABQQEQHiACLQAMIQAgAkHQAWokACAAC4ABAQF/IwBB0AFrIgIkACACQbgBakIANwMAIAJByAFqQQA2AgAgAkKCgICAMDcDGCACQoCAgIAQNwMQIAJCADcDsAEgAkIANwPAASACQSBqQQBBkAEQog0aIAJBADYCzAEgAiAAIAJBEGogAUEBEB8gAi0ADCEAIAJB0AFqJAAgAAuAAQEBfyMAQdABayICJAAgAkG4AWpCADcDACACQcgBakEANgIAIAJCgoCAgDA3AxggAkKAgICAEDcDECACQgA3A7ABIAJCADcDwAEgAkEgakEAQZABEKINGiACQQA2AswBIAIgACACQRBqIAFBARAdIAItAAwhACACQdABaiQAIAALkAEBAX8jAEHgAGsiBCQAIAQgASACIAMQLUEAIQMCQCAEKAIAQYCAgIB4RwRAQZH6wwAtAAAaQegA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AwA3AwAgACABKQPYAjcDOCAAQeAAaiAJKQMANwMAIABB2ABqIAopAwA3AwAgACABKQPAAjcDUCAAQfgAaiALKQMANwMAIABB8ABqIAwpAwA3AwAgACABKQOoAjcDaCAAQZABaiANKQMANwMAIABBiAFqIA4pAwA3AwAgACABKQOQAjcDgAEgAEGoAWogDykDADcDACAAQaABaiAQKQMANwMAIAAgASkD+AE3A5gBIABBwAFqIBEpAwA3AwAgAEG4AWogEikDADcDACAAIAEpA+ABNwOwASAAQdgBaiATKQMANwMAIABB0AFqIBQpAwA3AwAgACABKQPIATcDyAEgAEHwAWogFSkDADcDACAAQegBaiAWKQMANwMAIAAgASkDsAE3A+ABIABCADcDkAIgAEEANgKIAiAAQgA3A4ACIABBqAJqIBcpAwA3AwAgAEGgAmogGCkDADcDACAAIAEpA5gBNwOYAiAAQcACaiAZKQMANwMAIABBuAJqIBopAwA3AwAgACABKQOAATcDsAIgAEHYAmogGykDADcDACAAQdACaiAcKQMANwMAIAAgASkDaDcDyAIgAEH4AmogHSkDADcDACAAQfACaiAeKQMANwMAIABB6AJqIB8pAwA3AwAgACABKQNINwPgAiAAQZADaiAgKQMANwMAIABBiANqICEpAwA3AwAgACABKQMwNwOAAyAAQagDaiAiKQMANwMAIABBoANqICMpAwA3AwAgACABKQMYNwOYAyAAQcADaiAkKQMANwMAIABBuANqICUpAwA3AwAgACABKQMANwOwAyAAQagEakIENwMAIABBoARqQgA3AwAgAEKAgICAwAA3A5gEIABBkARqQgQ3AwAgAEGIBGpCADcDACAAQoCAgIDAADcDgAQgAEH4A2pCBDcDACAAQfADakIANwMAIABCgICAgMAANwPoAyAAQQE6AOADIABBADYC2AMgAEIANwPQAyABQaADaiQAIAJBwARqIABBsAQQow0aQZH6wwAtAAAaQbgEQQgQowwiAEUEQEEIQbgEQdiAxAAoAgAiAEGjByAAGxEAAAALIABBADYCACAAQQRqIAJBvARqQbQEEKMNGiACQfAIaiQAIAALaQECfyMAQSBrIgIkACACIAE2AgRBASEDAkAgACgCACABRg0AQQIhAyAAKAIEIAFGDQBBACEDIAAoAgggAUYNACACQQA2AgggAEEIaiACQQRqIAJBCGpBpK7CABD4CgALIAJBIGokACADC3sBAX8jAEHAAWsiAyQAIANBqAFqQgA3AwAgA0G4AWpBADYCACADQoKAgIAwNwMIIANCgICAgBA3AwAgA0IANwOgASADQgA3A7ABIANBEGpBAEGQARCiDRogA0EANgK8ASAAIAEgAyACQQAQHiAAQQM2AhAgA0HAAWokAAt7AQF/IwBBwAFrIgMkACADQagBakIANwMAIANBuAFqQQA2AgAgA0KCgICAMDcDCCADQoCAgIAQNwMAIANCADcDoAEgA0IANwOwASADQRBqQQBBkAEQog0aIANBADYCvAEgACABIAMgAkEAEB0gAEEDNgIQIANBwAFqJAALewEBfyMAQcABayIDJAAgA0GoAWpCADcDACADQbgBakEANgIAIANCgoCAgDA3AwggA0KAgICAEDcDACADQgA3A6ABIANCADcDsAEgA0EQakEAQZABEKINGiADQQA2ArwBIAAgASADIAJBABAgIABBAzYCECADQcABaiQAC3sBAX8jAEHAAWsiAyQAIANBqAFqQgA3AwAgA0G4AWpBADYCACADQoKAgIAwNwMIIANCgICAgBA3AwAgA0IANwOgASADQgA3A7ABIANBEGpBAEGQARCiDRogA0EANgK8ASAAIAEgAyACQQAQHCAAQQM2AhAgA0HAAWokAAt7AQF/IwBBwAFrIgMkACADQagBakIANwMAIANBuAFqQQA2AgAgA0KCgICAMDcDCCADQoCAgIAQNwMAIANCADcDoAEgA0IANwOwASADQRBqQQBBkAEQog0aIANBADYCvAEgACABIAMgAkEAEB8gAEEDNgIQIANBwAFqJAALfAEBfyMAQcABayIEJAAgBEGoAWpCADcDACAEQbgBakEANgIAIARCgoCAgDA3AwggBEKAgICAEDcDACAEQgA3A6ABIARCADcDsAEgBEEQakEAQZABEKINGiAEQQA2ArwBIAAgASgCBCABKAIIIAQgAiADECMgBEHAAWokAAtwAQF/IwBBIGsiAiQAAn9BASAAIAEQ4QQNABogAkEUakIANwIAIAJBATYCDCACQbDZwwA2AgggAkHowMMANgIQQQEgASgCFCABQRhqKAIAIAJBCGoQoQINABogAEEEaiABEOEECyEAIAJB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QSBqJAAgAEEAIARCmdbpx/True4qhSADQryVw7/u/bSrYIWEUBsLcQIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJkEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCmdbpx/True4qhSADQryVw7/u/bSrYIWEUBsLcwIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCgJ29s6vYydTpAIUgA0KDyIjC7pew7Ll/hYRQGwtyAgF/An4jAEEgayICJAAgAkEYaiAAIAEoAmARAAAgAkEIaiACKAIYIgAgAigCHEEMaigCABEAACACQRBqKQMAIQMgAikDCCEEIAJBIGokACAAQQAgBELy6eKc4PPT+wWFIANCw7WZyZrEuO/EAIWEUBsLcQIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCg8D608y8m90RhSADQrXNucb+l+7DGYWEUBsLcQIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJkEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCg8D608y8m90RhSADQrXNucb+l+7DGYWEUBsLcgIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARC09792/DyxLK8f4UgA0LgnLDxtMDE9USFhFAbC3ICAX8CfiMAQSBrIgIkACACQRhqIAAgASgCZBEAACACQQhqIAIoAhgiACACKAIcQQxqKAIAEQAAIAJBEGopAwAhAyACKQMIIQQgAkEgaiQAIABBACAEQtPe/dvw8sSyvH+FIANC4Jyw8bTAxPVEhYRQGwtzAgF/An4jAEEgayICJAAgAkEYaiAAIAEoAmARAAAgAkEIaiACKAIYIgAgAigCHEEMaigCABEAACACQRBqKQMAIQMgAikDCCEEIAJBIGokACAAQQAgBEKCn6eJj9vSrtUAhSADQqOfwI7cueyu8ACFhFAbC3MCAX8CfiMAQSBrIgIkACACQRhqIAAgASgCZBEAACACQQhqIAIoAhgiACACKAIcQQxqKAIAEQAAIAJBEGopAwAhAyACKQMIIQQgAkEgaiQAIABBACAEQoKfp4mP29Ku1QCFIANCo5/Ajty57K7wAIWEUBsLcQIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARC+9HAgq20791bhSADQrnO5I6d39WHZoWEUBsLfQEBf0GR+sMALQAAGkEcQQQQowwiAkUEQEEEQRxB2IDEACgCACIAQaMHIAAbEQAAAAsgAiABKQIANwIAIAJBGGogAUEYaigCADYCACACQRBqIAFBEGopAgA3AgAgAkEIaiABQQhqKQIANwIAIABBqNLCADYCBCAAIAI2AgALaAAjAEEwayIAJABBkPrDAC0AAARAIABBGGpCATcCACAAQQI2AhAgAEGkusMANgIMIABBAjYCKCAAIAE2AiwgACAAQSRqNgIUIAAgAEEsajYCJCAAQQxqQcy6wwAQ7woACyAAQTBqJAALyQMBDH8jAEEQayIFJAACQCAABEAgACgCACIDQX9GDQEgACADQQFqNgIAIAUgATYCDCAFQQxqIQgjAEEgayICJAAgAkGBATYCCCACQQxqIABBBGoQggsCQCACKAIMIgEgAigCECIHRg0AIAIoAhQhBiACKAIYIglBDGohCgNAIAFBFGohAwJAAkAgASgCACILQX9HBEAgAUEQaigCACIMDQELIAMgB0YNAwwBCwJAIAFBBGooAgAiBCAJQRBqKAIATw0AIAooAgAiDUUNACANIARBlAJsaiIEKAIAQYCAgIB4Rg0AIAQoApACIAFBCGooAgBHDQACQCAMIARBCGooAgBJBEAgBEEEaigCAA0BC0GkiMAAQStB2KLAABC5CgALIAIgBq0gC61CIIaEvxAANgIcIAIgCCACQQhqIAJBHGoQxwogAigCBCIBQYQBTwRAIAEQAgsgAigCHCIBQYQBTwRAIAEQAgsgAyAHRw0BDAMLQYCAwABBE0HIosAAEO8JAAsgBkEBaiEGIAMhAQwACwALIAIoAggiAUGEAU8EQCABEAILIAJBIGokACAAIAAoAgBBAWs2AgAgBUEQaiQADwsQkA0ACxCRDQALnQIBBn8jAEEQayIDJAACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIAMgATYCDCADQQxqIQYjAEEgayIBJAAgAUGBATYCCCABQQxqIABBBGoQ9gogASgCFCEEIAEoAhAhByABKAIMIQIDQAJAAkACQCACIAdHBEAgAigCAA0BDAILIAEoAggiAkGEAU8EQCACEAILIAFBIGokAAwCCyABIAStIAJBBGo1AgBCIIaEvxAANgIcIAEgBiABQQhqIAFBHGoQxwogASgCBCIFQYQBTwRAIAUQAgsgASgCHCIFQYQBSQ0AIAUQAgsgAkHwAmohAiAEQQFqIQQMAQsLIAAgACgCAEEBazYCACADQRBqJAAPCxCQDQALEJENAAudAgEGfyMAQRBrIgMkAAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAyABNgIMIANBDGohBiMAQSBrIgEkACABQYEBNgIIIAFBDGogAEEEahD3CiABKAIUIQQgASgCECEHIAEoAgwhAgNAAkACQAJAIAIgB0cEQCACKAIADQEMAgsgASgCCCICQYQBTwRAIAIQAgsgAUEgaiQADAILIAEgBK0gAkEEajUCAEIghoS/EAA2AhwgASAGIAFBCGogAUEcahDHCiABKAIEIgVBhAFPBEAgBRACCyABKAIcIgVBhAFJDQAgBRACCyACQagBaiECIARBAWohBAwBCwsgACAAKAIAQQFrNgIAIANBEGokAA8LEJANAAsQkQ0AC9QBAQR/IwBBEGsiBSQAIAVBCGohBkGR+sMALQAAGkEYQQQQowwiBEUEQEEEQRhB2IDEACgCACIEQaMHIAQbEQAAAAsgBCADOAIUIAQgAjgCECAEIAE4AgwgBCAAOAIIIARCgYCAgBA3AgAgBkG0iMMANgIEIAYgBDYCAEGR+sMALQAAGiAFKAIMIQYgBSgCCCEHQQxBBBCjDCIERQRAQQRBDEHYgMQAKAIAIgRBowcgBBsRAAAACyAEIAY2AgggBCAHNgIEIARBADYCACAFQRBqJAAgBAvOAQAgAEL////7////v383AzAgAEL////79///v/8ANwMoIABC////+/f//7//ADcDICAAQv////v3//+//wA3AxggAEL////79///v/8ANwMQIABC////+/f//7//ADcDCCAAQv////v3//+//wA3AwAgAEHYAGpC////+////79/NwMAIABB0ABqQv////v///+/fzcDACAAQcgAakL////7////v383AwAgAEFAa0L////7////v383AwAgAEE4akL////7////v383AwALYAEDfSAAIAIqAhAiBCABKgIAIgOSOAIMIAAgBCADkzgCACAAQRRqIAMgAkEYaioCACIEkjgCACAAQRBqIAMgAkEUaioCACIFkjgCACAAIAQgA5M4AgggACAFIAOTOAIEC1sAQX8CfyAAQwAAAD+SIAGVjSIAIAKzIgEgACABXRtDAAAAACAAQwAAAABeGyIAQwAAAABgIQIgAiAAQwAAgE9dcQRAIACpDAELQQALQQAgAhsgAEP//39PXhsLWQECfwJAIAAoAgAiAEEQaigCACIBRQ0AIABBFGooAgAhAiABQQA6AAAgAkUNACABEJUCCwJAIABBf0YNACAAIAAoAgQiAUEBazYCBCABQQFHDQAgABCVAgsLlAEBAX9BkfrDAC0AABpB+ABBBBCjDCIARQRAQQRB+ABB2IDEACgCACIAQaMHIAAbEQAAAAsgAEKAgICAgICAwD83AhQgAEIANwIMIABBfzYCCCAAQoCAgIBwNwIAIABBHGpBAEHEABCiDRogAEECOgB0IABBADYCcCAAQoCAgICAgIDAPzcCaCAAQoCAgPwDNwJgIAALgAECAX8BfkGR+sMALQAAGkE8QQQQowwiAUUEQEEEQTxB2IDEACgCACIBQaMHIAEbEQAAAAsgAUIBNwI0IAFBADYCKCABQgQ3AiAgAUIANwIYIAFCgICAgMAANwIQIAFCBDcCCCABQgA3AgAgASAAvSICPgIsIAEgAkIgiD4CMCABC2MCAX4BfwJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIDpyADQiCIpxCSByIERQ0CIARBKGogAjgCACAAQQA2AgAPCxCQDQALEJENAAtBwLLAAEHNAEHIs8AAEO8JAAtkAgF+AX8CQAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iA6cgA0IgiKcQkgciBEUNAiAEQZwBaiACOAIAIABB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BCACKgIAlJI4AgAgA0EQaiQAC1oAIAAgAS0AA0EARyACLQADQQBHcToAAyAAIAEtAAJBAEcgAi0AAkEAR3E6AAIgACABLQABQQBHIAItAAFBAEdxOgABIAAgAS0AAEEARyACLQAAQQBHcToAAAtWAAJAIAAEQCAAKAIADQEgAEEANgIAIABBHGogA0EARzoAACAAQRhqIAI4AgAgAEEUakEBNgIAIABBEGogATgCACAAQQxqQQE2AgAPCxCQDQALEJENAAtVAgF/AX4CQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQ3gghAiAAIAAoAgBBAWs2AgAgAkEARw8LEJANAAsQkQ0AC2ECAX4BfwJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIDpyADQiCIpxCSByIERQ0CIAQgAjgCmAEgAEEANgIADwsQkA0ACxCRDQALQcCywABBzQBByLPAABDvCQALYQIBfgF/AkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IgOnIANCIIinEJIHIgRFDQIgBCACNgK8AiAAQQA2AgAPCxCQDQALEJENAAtBwLLAAEHNAEHIs8AAEO8JAAtVAgF/AX4CQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQqAohAiAAIAAoAgBBAWs2AgAgAkEARw8LEJANAAsQkQ0AC2ECAX4BfwJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIDpyADQiCIpxCTByIERQ0CIAQgAjgClAEgAEEANgIADwsQkA0ACxCRDQALQdizwABBzABB3LTAABDvCQALYAIBfgF/AkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IgOnIANCIIinEJMHIgRFDQIgBCACOAJkIABBADYCAA8LEJANAAsQkQ0AC0HYs8AAQcwAQdy0wAAQ7wkAC2ECAX4BfwJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIDpyADQiCIpxCTByIERQ0CIAQgAjgCmAEgAEEANgIADwsQkA0ACxCRDQALQdizwABBzABB3LTAABDvCQALgQECAn8BfgJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIFpyAF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ByAGQQJrQQNPBEAgAkF8cSEGIAshAQNAIAEgBTYCACABQRxqIAVBBGoiBDYCACABQRhqIAVBA2oiCDYCACABQRRqIAg2AgAgAUEQaiAFQQJqIgg2AgAgAUEMaiAINgIAIAFBCGogBUEBaiIINgIAIAEgCDYCBCABQSBqIQEgBCEFIAQgBkcNAAsLIAcEQCALIARBA3RqIQEDQCABIAQ2AgAgASAEQQFqIgQ2AgQgAUEIaiEBIAdBAWsiBw0ACwsgAiESDAILDAgLIAEoAgghAiABKAIEIQsLIANBKGpCBDcCACADQSBqQgA3AgBBACEEIANBOGpBADYCACADQoCAgIDAADcCMCADQoCAgICAAjcCGCADQv////v///+/fzcCECADQv////v3//+/fzcCCCADQv////v3//+//wA3AgAgA0EBOgBLAkACQAJAIAJFBEAgA0EANgJUIANCgICAgMAANwJMIANBADYCRCADQoCAgIDAADcCPCADQQA2AmAgA0KAgICAwAA3AlgMAQtBkfrDAC0AABogAkECdCIBQQQQowwiBEUNCSADQQA2AlQgAyAENgJQIAMgAjYCTCACQdWq1SpLDQMgAkEYbCIBQQBIDQNBkfrDAC0AABogAUEEEKMMIgdFDQIgByEBAkAgAkECSQ0AIAJBAWsiBkEDcSEEIAJBAmtBA08EQCAGQXxxIQUDQCABQv////v///+/fzcCECABQv////v3//+/fzcCCCABQv////v3//+//wA3AgAgAUHYAGpC////+////79/NwIAIAFB0ABqQv////v3//+/fzcCACABQcgAakL////79///v/8ANwIAIAFBQGtC////+////79/NwIAIAFBOGpC////+/f//79/NwIAIAFBMGpC////+/f//7//ADcCACABQShqQv////v///+/fzcCACABQSBqQv////v3//+/fzcCACABQRhqQv////v3//+//wA3AgAgAUHgAGohASAFQQRrIgUNAAsLIARFDQADQCABQv////v///+/fzcCECABQv////v3//+/fzcCCCABQv////v3//+//wA3AgAgAUEYaiEBIARBAWsiBA0ACwsgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAMgAjYCYCADIAc2AlwgAyACNgJYIAJBDGwiAUEASA0DQZH6wwAtAAAaIAFBBBCjDCIORQ0JIAJBA3QhByAOIQECQCACQQJJDQAgAkEBayIGQQNxIQQgAkECa0EDTwRAIAZBfHEhBQNAIAFCfzcCCCABQQA6AAQgAUF/NgIAIAFBLGpBfzYCACABQShqQQA6AAAgAUEgakJ/NwIAIAFBHGpBADoAACABQRRqQn83AgAgAUEQakEAOgAAIAFBMGohASAFQQRrIgUNAAsLIARFDQADQCABQX82AgggAUEAOgAEIAFBfzYCACABQQxqIQEgBEEBayIEDQALCyAHIAtqIRQgAUF/NgIIIAFBADoABCABQX82AgAgAyACNgJEIAMgDjYCQCADIAI2AjwgDSgCBCETIA0oAgghECADQTxqIRUgAiEHQQAhBCALIREDQCARKAIAIgEgEE8NBSARQQRqKAIAIgYgEE8NBiAEQQFqIQggEyAGQQxsaiIGKgIEIRcgBioCACEYIAYqAgghGSATIAFBDGxqIgEqAgAhGiABKgIEIRsgASoCCCEcIAQgB08EQCAIIAciBmsiCSADKAI8IAZrSwRAIBUgByAJEI8GIAMoAkAhDiADKAJEIQYLIA4gBkEMbGohASAJQQJPBEAgBCAHayIFQQNxIQwgBCAHQX9zakEDTwRAIAVBfHEhBQNAIAFCfzcCCCABQQA6AAQgAUF/NgIAIAFBLGpBfzYCACABQShqQQA6AAAgAUEgakJ/NwIAIAFBHGpBADoAACABQRRqQn83AgAgAUEQakEAOgAAIAFBMGohASAFQQRrIgUNAAsLIAwEQCAPIAdrQQNxIQUDQCABQX82AgggAUEAOgAEIAFBfzYCACABQQxqIQEgBUEBayIFDQALCyAGIAlqQQFrIQYLIAFBfzYCCCABQQA6AAQgAUF/NgIAIAMgBkEBaiIHNgJEIAMgAygCYCIJIARNBH8gCCAJIgZrIQwgDCADKAJYIAZrSwRAIANB2ABqIAkgDBCmBiADKAJgIQYLIAMoAlwgBkEYbGohASAMQQJPBEAgBCAJayIFQQNxIRYgBCAJQX9zakEDTwRAIAVBfHEhBQNAIAFC////+////79/NwIQIAFC////+/f//79/NwIIIAFC////+/f//7//ADcCACABQdgAakL////7////v383AgAgAUHQAGpC////+/f//79/NwIAIAFByABqQv////v3//+//wA3AgAgAUFAa0L////7////v383AgAgAUE4akL////79///v383AgAgAUEwakL////79///v/8ANwIAIAFBKGpC////+////79/NwIAIAFBIGpC////+/f//79/NwIAIAFBGGpC////+/f//7//ADcCACABQeAAaiEBIAVBBGsiBQ0ACwsgFgRAIA8gCWtBA3EhBQNAIAFC////+////79/NwIQIAFC////+/f//79/NwIIIAFC////+/f//7//ADcCACABQRhqIQEgBUEBayIFDQALCyAGIAxqQQFrIQYLIAFC////+////79/NwIQIAFC////+/f//79/NwIIIAFC////+/f//7//ADcCACAGQQFqBSAICzYCYAsgBCAHTw0HIA4gBEEMbGogBDYCCCADKAJgIgEgBE0NCCADKAJcIARBGGxqIgEgHCAZIBwgG0MAAAAAlCIfIBpDAAAAAJQiIJIiI5IgGSAYQwAAAACUIiEgF0MAAAAAlCIikiIkkl4bOAIUIAEgGyAXIBxDAAAAAJQiHSAbICCSkiAhIBeSIBlDAAAAAJQiHpJeGzgCECABIBogGCAdIBogH5KSIBggIpIgHpJeGzgCDCABIBwgGSAjIByTICQgGZNeGzgCCCABIBsgFyAdICAgG5OSICEgF5MgHpJeGzgCBCABIBogGCAdIB8gGpOSICIgGJMgHpJeGzgCACADKAJUIgEgAygCTEYEQCADQcwAaiABELMGIAMoAlQhAQsgAygCUCIFIAFBAnRqIAQ2AgAgAyABQQFqIgE2AlQgD0EBaiEPIAghBCAUIBFBCGoiEUcNAAsgAygCGCIEIAMoAiAiB0cNAQsgA0EYaiAEELQGIAMoAlQhASADKAJQIQUgAygCICEHCyADKAIcIAdBB3RqIgRCgYCAgHA3A2AgBEEAOgB4IARBADoAdCAEQX82AnAgBEL////7////v383A1ggBEL////7////v383A1AgBEL////7////v383A0ggBEL////7////v383A0AgBEL////7////v383AzggBEL////7////v383AzAgBEL////79///v/8ANwMoIARC////+/f//7//ADcDICAEQv////v3//+//wA3AxggBEL////79///v/8ANwMQIARC////+/f//7//ADcDCCAEQv////v3//+//wA3AwAgBEHoAGpCfzcDACADIAdBAWo2AiAgA0HkAGogAyADQcsAaiAFIAEgA0HYAGpBAEEAEEEgAyADQfwAaioCACIXOAIUIAMgA0H4AGoqAgAiGDgCECADIANB9ABqKgIAIhk4AgwgAyADQfAAaioCACIaOAIIIAMgA0HsAGoqAgAiGzgCBCADIAMqAmgiHDgCACADKAIgRQ0GIAMoAhwiAUH///97NgJcIAFC////+////79/NwJUIAEgFzgCUCABQf///3s2AkwgAUL////7////v383AkQgASAYOAJAIAFB////ezYCPCABQv////v///+/fzcCNCABIBk4AjAgAUH////7BzYCLCABQv////v3//+//wA3AiQgASAaOAIgIAFB////+wc2AhwgAUL////79///v/8ANwIUIAEgGzgCECABQf////sHNgIMIAFC////+/f//7//ADcCBCABIBw4AgAgAygCWARAIAMoAlwQlQILIAMoAkwEQCAFEJUCCyAKQRhqIANByAAQow0aIApBFGogAjYCACAKQRBqIAs2AgAgCiASNgIMIApBCGogDUEIaigCADYCACAKIA0pAgA3AgAgA0GAAWokAAwICwwGCxDuCgALIAEgEEHgycIAEO0IAAsgBiAQQfDJwgAQ7QgACyAEIAdBwJnCABDtCAALIAQgAUHQmcIAEO0IAAtBAEEAQbCZwgAQ7QgAC0EEIAFB2IDEACgCACIAQaMHIAAbEQAAAAtBkfrDAC0AABpB6ABBBBCjDCIBRQRAQQRB6ABB2IDEACgCACIAQaMHIAAbEQAAAAsgAUKBgICAEDcCACABQQhqIApB4AAQow0aIABB6NjCADYCBCAAIAE2AgAgCkHgAGokAAt4AgF/AX0jAEHgAGsiAiQAIAIgARDXAUGR+sMALQAAGiABKgJgIQNB5ABBBBCjDCIBRQRAQQRB5ABB2IDEACgCACIAQaMHIAAbEQAAAAsgASACQeAAEKMNIgEgAzgCYCAAQaSDwwA2AgQgACABNgIAIAJB4ABqJAALXQEBfyMAQTBrIgMkACADIAE2AgwgAyAANgIIIANBHGpCATcCACADQQE2AhQgA0HI2cMANgIQIANBuwc2AiwgAyADQShqNgIYIAMgA0EIajYCKCADQRBqIAIQ7woAC70CAQN/IwBBoAFrIgIkAAJAIAAEQCAAKAIADQEgAkEEaiIBIABBBGpBnAEQow0aIAAQlQIgASgCkAEiACgCACEDIAAgA0EBazYCACADQQFGBEAgAUGQAWoQoggLIAFB4ABqKAIABEAgAUHkAGooAgAQlQILIAFB7ABqKAIABEAgAUHwAGooAgAQlQILIAFB+ABqKAIABEAgAUH8AGooAgAQlQILIAFBhAFqKAIABEAgAUGIAWooAgAQlQILIAEoAgAEQCABKAIEEJUCCyABKAIMBEAgAUEQaigCABCVAgsgASgCGARAIAFBHGooAgAQlQILIAEoAiQEQCABQShqKAIAEJUCCyABKAIwBEAgAUE0aigCABCVAgsgASgCPARAIAFBQGsoAgAQlQILIAJBoAFqJAAPCxCQDQALEJENAAvwAgEDfyMAQaABayIBJAAgAUEEaiEAQZH6wwAtAAAaQQhBBBCjDCICRQRAQQRBCEHYgMQAKAIAIgBBowcgABsRAAAACyAAQYquj+EDNgKYASAAQZTkwQA2ApQBIAAgAjYCkAEgAEIENwKIASAAQgA3AoABIABCgICAgMAANwJ4IABCBDcCcCAAQgA3AmggAEKAgICAgAI3AmAgAEL////7////v383AlggAEL////79///v383AlAgAEL////79///v/8ANwJIIABCBDcCQCAAQgA3AjggAEKAgICAEDcCMCAAQgQ3AiggAEIANwIgIABCgICAgMAANwIYIABCBDcCECAAQgA3AgggAEKAgICAwAA3AgAgAkKBgICAEDcCAEGR+sMALQAAGkGgAUEEEKMMIgBFBEBBBEGgAUHYgMQAKAIAIgBBowcgABsRAAAACyAAQQA2AgAgAEEEaiABQQRqQZwBEKMNGiABQaABaiQAIAALSwECfyMAQdAAayIBJAACQCAABEAgACgCAA0BIAFBBGoiAiAAQQRqQcwAEKMNGiAAEJUCIAIQmwcgAUHQAGokAA8LEJANAAsQkQ0AC/QDAQd/IwBB0ABrIgQkACAEQQRqIQEjAEEgayICJAAgAkEANgIYQQQhACACQQhqQQRBMCACQRRqEOEGIAIoAgwhAwJAIAIoAghFBEBBBCEFIAMhAAwBCyADQYGAgIB4Rg0AIANFBEAQ7goACyADIAJBEGooAgBB2IDEACgCACIAQaMHIAAbEQAA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GxEAAAALIAIgASkCADcCACACQRBqIAFBEGopAgA3AgAgAkEIaiABQQhqKQIANwIAIABBvMvCADYCBCAAIAI2AgALSwEBfyMAQTBrIgMkACADQQxqIAAgAEEMaiAAQRhqIAEQgwICfyADKAIMQQRHBEBBASADKgIUIAJfDQEaC0EACyEAIANBMGokACAAC08BAX8CQCAABEAgACgCAA0BAkAgAEEMaigCACABTQ0AIABBCGooAgAiA0UNACADIAFB1AFsaiACOAKAAQsgAEEANgIADwsQkA0ACxCRDQALTwEBfwJAIAAEQCAAKAIADQECQCAAQQxqKAIAIAFNDQAgAEEIaigCACIDRQ0AIAMgAUHUAWxqIAI4AoQBCyAAQQA2AgAPCxCQDQALEJENAAtPAQF/AkAgAARAIAAoAgANAQJAIABBDGooAgAgAU0NACAAQQhqKAIAIgNFDQAgAyABQdQBbGogAjgCiAELIABBADYCAA8LEJANAAsQkQ0AC08BAX8CQCAABEAgACgCAA0BAkAgAEEMaigCACABTQ0AIABBCGooAgAiA0UNACADIAFB1AFsaiACOAKMAQsgAEEANgIADwsQkA0ACxCRDQALTwEBfwJAIAAEQCAAKAIADQECQCAAQQxqKAIAIAFNDQAgAEEIaigCACIDRQ0AIAMgAUHUAWxqIAI4ApABCyAAQQA2AgAPCxCQDQALEJENAAtPAQF/AkAgAARAIAAoAgANAQJAIABBDGooAgAgAU0NACAAQQhqKAIAIgNFDQAgAyABQdQBbGogAjgClAELIABBADYCAA8LEJANAAsQkQ0AC08BAX8CQCAABEAgACgCAA0BAkAgAEEMaigCACABTQ0AIABBCGooAgAiA0UNACADIAFB1AFsaiACOAKsAQsgAEEANgIADwsQkA0ACxCRDQALTwEBfwJAIAAEQCAAKAIADQECQCAAQQxqKAIAIAFNDQAgAEEIaigCACIDRQ0AIAMgAUHUAWxqIAI4AsABCyAAQQA2AgAPCxCQDQALEJENAAtPAQF/AkAgAARAIAAoAgANAQJAIABBDGooAgAgAU0NACAAQQhqKAIAIgNFDQAgAyABQdQBbGogAjgCuAELIABBADYCAA8LEJANAAsQkQ0AC08BAX8CQCAABEAgACgCAA0BAkAgAEEMaigCACABTQ0AIABBCGoo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IgRBGGsoAgAEQCAEQRRrKAIAEJUCCyAHQgF9IQggBEEMaygCAARAIARBCGsoAgAQlQILIAcgCIMhByAGQQFrIgYNAAsLIAVBAWpBKGwiACAFakF3Rg0AIAEgAGsQlQILIAIoAogCBEAgAkGMAmooAgAQlQILIAIoApQCBEAgAkGYAmooAgAQlQILIAJBoAJqJAAPCxCQDQALEJENAAu0CQEDfyMAQbAEayIBJAACQCAABEAgACgCAA0BIAEgAEEIakGwBBCjDSEBIAAQlQIgASgC6AMEQCABQewDaigCABCVAgsgAUH4A2ooAgAhAiABQfwDaigCACIDBEAgAiEAA0AgACgCAARAIABBBGooAgAQlQILIABBDGohACADQQFrIgMNAAsLIAEoAvQDBEAgAhCVAgsgAUGEBGooAgAhAiABQYgEaigCACIDBEAgAiEAA0AgACgCAARAIABBBGooAgAQlQILIABBDGohACADQQFrIgMNAAsLIAEoAoAEBEAgAhCVAgsgASgCjAQEQCABQZAEaigCABCVAgsgASgCmAQEQCABQZwEaigCABCVAgsgAUGoBGooAgAhAiABQawEaigCACIDBEAgAiEAA0AgACgCAARAIABBBGooAgAQlQILIABBEGooAgAEQCAAQRRqKAIAEJUCCyAAQRxqKAIABEAgAEEgaigCABCVAgsgAEEoaigCAARAIABBLGooAgAQlQILIABBNGooAgAEQCAAQThqKAIAEJUCCyAAQUBrKAIABEAgAEHEAGooAgAQlQILIABBzABqKAIABEAgAEHQAGooAgAQlQILIABB2ABqKAIABEAgAEHcAGooAgAQlQILIABB5ABqKAIABEAgAEHoAGooAgAQlQILIABB8ABqKAIABEAgAEH0AGooAgAQlQILIABB/ABqKAIABEAgAEGAAWooAgAQlQILIABBiAFqKAIABEAgAEGMAWooAgAQlQILIABBlAFqKAIABEAgAEGYAWooAgAQlQILIABBoAFqKAIABEAgAEGkAWooAgAQlQILIABBrAFqKAIABEAgAEGwAWooAgAQlQILIABBuAFqKAIABEAgAEG8AWooAgAQlQILIABByAFqKAIABEAgAEHMAWooAgAQlQILIABB1AFqKAIABEAgAEHYAWooAgAQlQILIABB4AFqKAIABEAgAEHkAWooAgAQlQILIABB7AFqKAIABEAgAEHwAWooAgAQlQILIABB+AFqKAIABEAgAEH8AWooAgAQlQILIABBhAJqKAIABEAgAEGIAmooAgAQlQILIABBkAJqKAIABEAgAEGUAmooAgAQlQILIABBnAJqKAIABEAgAEGgAmooAgAQlQILIABBqAJqKAIABEAgAEGsAmooAgAQlQILIABBtAJqKAIABEAgAEG4AmooAgAQlQILIABBwAJqKAIABEAgAEHEAmooAgAQlQILIABBzAJqKAIABEAgAEHQAmooAgAQlQILIABB2AJqKAIABEAgAEHcAmooAgAQlQILIABB5AJqKAIABEAgAEHoAmooAgAQlQILIABB8AJqKAIABEAgAEH0AmooAgAQlQILIABB/AJqKAIABEAgAEGAA2ooAgAQlQILIABBiANqKAIABEAgAEGMA2ooAgAQlQILIABBlANqKAIABEAgAEGYA2ooAgAQlQILIABBpANqKAIABEAgAEGoA2ooAgAQlQILIABBtANqKAIABEAgAEG4A2ooAgAQlQILIABBwANqIQAgA0EBayIDDQALCyABKAKkBARAIAIQlQILIAFBsARqJAAPCxCQDQALEJENAAtIACABIAAoAghJBEAgACgCBCABQSRsaiIAQSBqKAIAIQEgAiAAIAAoAhwgASgCCEEBa0F4cWpBCGogAUEAIAAgAygCEBEMAAsLQgEBfgJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iA6cgA0IgiKcgAkEARxAkIABBADYCAA8LEJANAAsQkQ0AC1wAIAAgASgCCEH/////B3EgAigCCEGAgICAeHFyNgIIIAAgASgCBEH/////B3EgAigCBEGAgICAeHFyNgIEIAAgASgCAEH/////B3EgAigCAEGAgICAeHFyNgIAC0UBAX8CQCAABEAgACgCAEF/Rg0BQf///wchASAAQQxqKAIAQQJHBH8gAEEcai0AAEEBcQVB////BwsPCxCQDQALEJENAAvLCQIZfwF+AkAgAARAIAAoAgAiBEF/Rg0BIAAgBEEBajYCAEEAIQQjAEHgAGsiAyQAIAMgAjYCECADQYEBNgIUIANBGGohAiABvSIcpyITIQcgHEIgiKciFiEKAkAgEyAAQQRqIgZBOGooAgBPDQAgBkE0aigCACILRQ0AIAsgB0EMbGoi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AkEEQQQQowwiAUUEQEEEQQRB2IDEACgCACIAQaMHIAAbEQAAAAsgASACOAIAIABB2LrCADYCBCAAIAE2AgALQAEBfyMAQSBrIgAkACAAQRRqQgA3AgAgAEEBNgIMIABBiLzDADYCCCAAQYy2wwA2AhAgAEEIakHAvMMAEO8KAAtAAQF/IwBBIGsiACQAIABBFGpCADcCACAAQQE2AgwgAEGIvsMANgIIIABBsL3DADYCECAAQQhqQZC+wwAQ7woAC7gCAQJ/IwBBIGsiAiQAIAJBATsBHCACIAE2AhggAiAANgIUIAJB1NnDADYCECACQejAwwA2AgwjAEEQayIBJAAgAkEMaiIAKAIIIgJFBEBBgLjDAEErQfi6wwAQuQoACyABIAAoAgw2AgwgASAANgIIIAEgAjYCBCMAQRBrIgAkACABQQRqIgEoAgAiAkEMaigCACEDAkACfwJAAkAgAigCBA4CAAEDCyADDQJBACECQYy2wwAMAQsgAw0BIAIoAgAiAygCBCECIAMoAgALIQMgACACNgIEIAAgAzYCACAAQai7wwAgASgCBCIAKAIIIAEoAgggAC0AECAALQAREMgGAAsgACACNgIMIABBgICAgHg2AgAgAEG8u8MAIAEoAgQiACgCCCABKAIIIAAtABAgAC0AERDIBgALPwEBfyMAQRBrIgIkACACQbSCwAA2AgwgAiAANgIIQQAgAkEIakG8lMAAIAJBDGpBvJTAACABQfSRwAAQtAQACzAAAkAgAARAIAAoAgANASAAQQA2AgAgAEEBIAEgAUEBTRs2AgQPCxCQDQALEJENAAs/AQF/IwBBEGsiAiQAIAJBqMDAADYCDCACIAA2AghBACACQQhqQczRwAAgAkEMakHM0cAAIAFB3MzAABC0BAALOQEBfyMAQRBrIgUkACAFIAI2AgwgBSABNgIIIAAgBUEIakG80cAAIAVBDGpBvNHAACADIAQQtAQACzkBAX8jAEEQayIEJAAgBCABNgIMIAQgADYCCEEAIARBCGpB7NHAACAEQQxqQezRwAAgAiADELQEAAs5AQF/IwBBEGsiBCQAIAQgATYCDCAEIAA2AghBACAEQQhqQfzRwAAgBEEMakH80cAAIAIgAxC0BAALOAEBfyAAQQA2AgggACABKAIYNgIMIAAgAUEMaigCACICNgIAIAAgAiABQRBqKAIAQfACbGo2AgQLOAEBfyAAQQA2AgggACABKAIYNgIMIAAgAUEMaigCACICNgIAIAAgAiABQRBqKAIAQagBbGo2AgQLOQEBfyMAQRBrIgQkACAEIAE2AgwgBCAANgIIQQAgBEEIakH4isIAIARBDGpB+IrCACACIAMQtAQACzwBAX8jAEEQayIDJAAgA0Hki8IANgIMIAMgADYCCEEAIANBCGpB9InCACADQQxqQfSJwgAgASACELQEAAs9ACAAQgA3AhAgAEIANwIAIABCgICAgICAgMA/NwIIIABBGGpCADcCACAAQSBqQgA3AgAgAEEoakEANgIACz0AIABCADcCECAAQgA3AgAgAEKAgICAgICAwD83AgggAEEYakIANwIAIABBIGpCADcCACAAQShqQQA2AgALLgACQCAABEAgACgCAA0BIABBADYCACAAQUBrIAFBAEc6AAAPCxCQDQALEJENAAujAQEBfwJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGoiAUL////7983EgTs3AiggAUKAgID8883EwTo3AiAgAUKAgID8AzcCGCABQoCAgPSDgIDAPzcCECABQr+Gu8nTmbOmPzcCCCABQoGAgICQkaLEPDcCACABQQE2AkAgAUKCgICAgBA3AjggAUKEgICAEDcCMCAAQQA2AgAPCxCQDQALEJENAAswAAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGoQ2QogAEEANgIADwsQkA0ACxCRDQALowEBAX8CQCAABEAgACgCAA0BIABBfzYCACAAQQRqIgFC////+/fNxIE7NwIoIAFCgICA/PPNxME6NwIgIAFCgICA/AM3AhggAUKAgID8g4CAwD83AhAgAUK/hrvJo7PmjD83AgggAUKEgICAkJGixDw3AgAgAUEBNgJAIAFCgoCAgIAQNwI4IAFChICAgBA3AjAgAEEANgIADwsQkA0ACxCRDQALTQEBfkGR+sMALQAAGiAAKQIAIQFBDEEEEKMMIgBFBEBBBEEMQdiAxAAoAgAiAEGjByAAGxEAAAALIAAgATcCBCAAQYCAgIB4NgIAIAALMgEBfyABKAIcIgJBEHFFBEAgAkEgcUUEQCAAIAEQhA0PCyAAIAEQoAcPCyAAIAEQnwcLNAEBfyAAIAE2AgwgAEEANgIIIAAgAUEgaigCACICNgIAIAAgAiABQSRqKAIAQRRsajYCBAsvAQF9IAEqAgAiAiAClCABKgIEIgIgApSSIAEqAggiAiAClJIgACoCACICIAKUXwsvAQF/IwBBEGsiAyQAIANBCGogACABIAJBARBVIAMoAgghACADQRBqJAAgAEEBRgswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARDmASADKAIIIQAgA0EgaiQAIABBBEcLMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQsQEgAygCCCEAIANBIGokACAAQQRHCzABAX8jAEEgayIDJAAgA0EIaiAAIAEgAkEBEMwBIAMoAgghACADQSBqJAAgAEEERwsvAQF/IwBBEGsiAyQAIANBCGogACABIAJBARBfIAMoAgghACADQRBqJAAgAEEBRgswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARCFASADKAIIIQAgA0EgaiQAIABBBEcLMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQ1gEgAygCCCEAIANBIGokACAAQQRHCy8BAX8jAEEQayIDJAAgA0EIaiAAIAEgAkEBEEggAygCCCEAIANBEGokACAAQQFGCzABAX8jAEEgayIDJAAgA0EIaiAAIAEgAkEBEOMBIAMoAgghACADQSBqJAAgAEEERwswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARDUASADKAIIIQAgA0EgaiQAIABBBEcLMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQvQEgAygCCCEAIANBIGokACAAQQRHCzABAX8jAEEgayIDJAAgA0EIaiAAIAEgAkEBEMsBIAMoAgghACADQSBqJAAgAEEERwswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARDBASADKAIIIQAgA0EgaiQAIABBBEcLLwEBfyMAQSBrIgMkACADQQhqIAAgASACQQAQfyADKAIIIQAgA0EgaiQAIABBBEcLLgEBfwJAIAAoAgAiAEF/Rg0AIAAgACgCBCIBQQFrNgIEIAFBAUcNACAAEJUCCwsuAQF/IwBBEGsiACQAIABBCGoiAiABQZyVwAAQtQsgAhCBByEBIABBEGokACABCy0BAX8jAEEwayICJAAgAkEMaiAAIAFBARBGIAItABghACACQTBqJAAgAEEARwtFAQF/QZH6wwAtAAAaQRBBBBCjDCIARQRAQQRBEEHYgMQAKAIAIgBBowcgABsRAAAACyAAQgA3AgAgAEEIakIANwIAIAALLgEBfyMAQRBrIgAkACAAQQhqIgIgAUGo08AAELULIAIQgQchASAAQRBqJAAgAQstAQF/IwBBMGsiAiQAIAJBDGogACABQQEQSyACLQAYIQAgAkEwaiQAIABBAEcLyQMCAn0DfwJAIAAqAgAiASABWyAAKgIEIgIgAltxRQRAIAIgAZIhAQwBCyABvCIDQYCAgPwDRgRAIAIQxQQhAQwBCyADQR52QQJxIgUgArwiBEEfdnIhAAJAAkACQAJAAkACQCAEQf////8HcSIERQRAQ9sPScAhASAADgMBAQIGCyADQf////8HcSIDRQ0CIANBgICA/AdHDQMgBEGAgID8B0cNBEPkyxbAIQEgAEEDRg0FIABBAnRB8PnDAGoqAgAhAQwGCyACIQEMBQtD2w9JQCEBDAQLQ9sPyT8gApghAQwDCyAEQYCAgPwHRyADQYCAgOgAaiAET3FFBEBD2w/JPyACmCEBDAMLAn0gBQRAQwAAAAAgBEGAgIDoAGogA0kNARoLIAIgAZWLEMUECyEBAkACQAJAIAAOAwQBAgALIAFDLr27M5JD2w9JwJIhAQwECyABjCEBDAMLQ9sPSUAgAUMuvbszkpMhAQwCC0PbD0nAIQEgAEEDRg0AIABBAnRB/PnDAGoqAgAhAQsLIAFDAAAAAGBFBEBBqOjCAEEoQbjpwgAQuQoAC0PbD8k/IAGTIgIgAiABIAGSIgEgASACXhsgASABXBsLMwAgACABKAIUIAJBACABQRhqKAIAKAIMEQUAOgAIIAAgATYCBCAAQQE6AAkgAEEANgIAC0ABAX8gACgCACEBAkAgAC0ABA0AQeyAxAAoAgBB/////wdxRQ0AQbyExAAoAgBFDQAgAUEBOgABCyABQQA6AAALKwACQCAABEAgACgCAA0BIABBADYCACAAQTxqIAE4AgAPCxCQDQALEJENAAsvAAJAIAAEQCAAKAIADQEgAEKAgICAEDcCACAAQQhqIAE4AgAPCxCQDQALEJENAAsoAAJAIAAEQCAAKAIAQX9GDQEgAEEMaigCAEECRw8LEJANAAsQkQ0ACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEEMakECNgIADwsQkA0ACxCRDQALKwACQCAABEAgACgCAA0BIABBADYCACAAQTRqIAE4AgAPCxCQDQALEJENAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBOGogATgCAA8LEJANAAsQkQ0ACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEEgakECNgIADwsQkA0ACxCRDQALKAACQCAABEAgACgCAEF/Rg0BIABBIGooAgBBAkcPCxCQDQALEJENAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBNGogATYCAA8LEJANAAsQkQ0ACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEE4aiABNgIADwsQkA0ACxCRDQALKwACQCAABEAgACgCAA0BIABBADYCACAAQQhqIAE4AgAPCxCQDQALEJENAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBEGogATgCAA8LEJANAAsQkQ0ACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEEoaiABOAIADwsQkA0ACxCRDQALKwACQCAABEAgACgCAA0BIABBADYCACAAQTBqIAE4AgAPCxCQDQALEJENAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBQGsgATYCAA8LEJANAAsQkQ0ACywAAkAgAARAIAAoAgANASAAQQA2AgAgAEHEAGogATYCAA8LEJANAAsQkQ0ACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEEkaiABOAIADwsQkA0ACxCRDQALKwACQCAABEAgACgCAA0BIABBADYCACAAQQxqIAE4AgAPCxCQDQALEJENAAssAQF/IwBBIGsiAiQAIAJBBGogACABEPUCIAItABAhACACQSBqJAAgAEEARwstAQJ9IAAqAgwgACoCACIBIAAqAgQiAiABIAJfGyIBIAAqAggiAiABIAJfG5ILMAEBfSAAIAIqAgggASoCACIDlDgCCCAAIAMgAioCBJQ4AgQgACADIAIqAgCUOAIACy4AIAAgASkCYDcCACAAQRBqIAFB8ABqKQIANwIAIABBCGogAUHoAGopAgA3AgALLAAgACABKQIYNwIAIABBEGogAUEoaikCADcCACAAQQhqIAFBIGopAgA3AgALLAAgACABKQIANwIAIABBEGogAUEQaikCADcCACAAQQhqIAFBCGopAgA3AgAL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AAAACyAAQQA2AgAgAAslACAARQRAQcy6wABBMhCPDQALIAAgAiADIAQgBSABKAIQESIACzYAIAEoAhQgACgCAC0AAEECdCIAQeyEwgBqKAIAIABB3ITCAGooAgAgAUEYaigCACgCDBEFAAsfACABQQNPBEBB3f/AAEEbIAIQ0gsACyAAIAFBAnRqCyIBAn4gACkDACICQj+HIQMgAiADhSADfSACQgBZIAEQ3AQLIwAgAEUEQEHMusAAQTIQjw0ACyAAIAIgAyAEIAEoAhARAgALJAAgAEUEQEHMusAAQTIQjw0ACyAAIAIgAyAEIAEoAhARkwEACyMAIABFBEBBzLrAAEEyEI8NAAsgACACIAMgBCABKAIQERAACyQAIABFBEBBzLrAAEEyEI8NAAsgACACIAMgBCABKAIQEZQBAAsjACAARQRAQcy6wABBMhCPDQALIAAgAiADIAQgASgCEBEcAAsgACAAKAIAQYCAgIB4ckGAgICAeEcEQCAAKAIEEJUCCwshACAARQRAQcy6wABBMhCPDQALIAAgAiADIAEoAhARAQALJAAgAC0AAEUEQCABQfzewwBBBRDVAQ8LIAFBgd/DAEEEENUBCx0AIAEoAgBFBEAACyAAQeCuwAA2AgQgACABNgIACx8AIABFBEBBzLrAAEEyEI8NAAsgACACIAEoAhARAwALHQAgASgCAEUEQAALIABB6IzBADYCBCAAIAE2AgALHQAgASgCAEUEQAALIABBrJHCADYCBCAAIAE2AgALEgAgACgCAARAIAAoAgQQlQILCzQAIABC////9//////+ADcCCCAAQv////f/////fjcCACAAQRBqQv////f3/////gA3AgALNAAgAEL////3//////4ANwIIIABC////9/////9+NwIAIABBEGpC////9/f////+ADcCAAs0ACAAQv////f//////gA3AgggAEL////3/////343AgAgAEEQakL////39/////4ANwIACxkAIAAoAgAiACgCACAAQQRqKAIAIAEQ5AELGgAgAEEANgIIIABCADcCACAAIAEqAgA4AgwLHQAgAEGA1MIANgIEIAAgATYCACAAIAEqAhg4AggLHQAgAEH40MIANgIEIAAgATYCACAAIAEqAgw4AggLHQAgAEHA1MIANgIEIAAgATYCACAAIAEqAiQ4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CAALQZ3VwwBBKyAEELkKAAsgACABIAMgASAEEJkMAAsgACABQQAgBiAEEJkMAAsgACAAQuTex4WQ0IXefTcDCCAAQsH3+ejMk7LRQTcDAAsgACAAQvrjiteK4c/pMTcDCCAAQvCvscvKttSfVjcDAAsiACAAQqmsrcSVj+en7AA3AwggAEK57fb3hrjlqpl/NwMACxMAIABBmJLAADYCBCAAIAE2AgALEwAgAEGoksAANgIEIAAgATYCAAsTACAAQaiVwAA2AgQgACABNgIACxAAIABBATYCACAAIAE2AgQLEwAgAEGMmMAANgIEIAAgATYCAAsQACAAQQQ2AgAgACABNgIECxoAAn8gAUEJTwRAIAEgABCoBAwBCyAAEDYLCxYAQZj6wwAgADYCAEGU+sMAQQE2AgALEwAgAEGAzcAANgIEIAAgATYCAAsTACAAQbjzwAA2AgQgACABNgIACyEAIABCifrijP2gkNN9NwMIIABCndnp0cnQn7TSADcDAAsiACAAQqOfwI7cueyu8AA3AwggAEKCn6eJj9vSrtUANwMACyEAIABC1K+GgveIkID7ADcDCCAAQuC1mePThODOVjcDAAshACAAQtDNgN2r7o77dTcDCCAAQvKTw8jynPTvkH83AwALIQAgAELrhsyJ36+p2Bo3AwggAEKRm/vnmZ/7lNkANwMACyAAIABCtc25xv6X7sMZNwMIIABCg8D608y8m90RNwMACyAAIABCytHxnsTGv7odNwMIIABCr6qE8t7lqd1QNwMACyAAIABCl6yTlOqv6o1gNwMIIABC9O7W1f6l28xANwMACyAAIABCuc7kjp3f1YdmNwMIIABC+9HAgq20791bNwMACyEAIABC1quQsMXD8IIDNwMIIABCwsC8vdWkm4CIfzcDAAsgACAAQqny597pjbu+YTcDCCAAQumL6b+42puzTDcDAAsgACAAQuvYufTc/cTBRTcDCCAAQtqo+6ni1rHufjcDAAsiACAAQoPIiMLul7DsuX83AwggAEKAnb2zq9jJ1OkANwMACyAAIABC9biA8vbZ7KZuNwMIIABCv9bo557UqpRxNwMACyIAIABCsaPC/JeDqaSkfzcDCCAAQtnZiuLanay3/gA3AwALIQAgAELDtZnJmsS478QANwMIIABC8uninODz0/sFNwMACyAAIABCkMihrteVyrt3NwMIIABC/N37z620ne4zNwMACyAAIABC3+OkwtGivOQSNwMIIABCpK7P8qvV2oQ7NwMACyAAIABCvJXDv+79tKtgNwMIIABCmdbpx/True4qNwMACyEAIABCgr/J1t2g79uxfzcDCCAAQvOEzryV7Nr4bDcDAAshACAAQuCcsPG0wMT1RDcDCCAAQtPe/dvw8sSyvH83AwALEwAgAEGQhsIANgIEIAAgATYCAAsTACAAQaCGwgA2AgQgACABNgIACxMAIABBsIbCADYCBCAAIAE2AgALEwAgAEHAhsIANgIEIAAgATYCAAsTACAAQdCGwgA2AgQgACABNgIACxMAIABB4IbCADYCBCAAIAE2AgALEwAgAEHwhsIANgIEIAAgATYCAAsTACAAQYCHwgA2AgQgACABNgIACxMAIABBkIfCADYCBCAAIAE2AgALEwAgAEGgh8IANgIEIAAgATYCAAsTACAAQbCHwgA2AgQgACABNgIACxMAIABBwIfCADYCBCAAIAE2AgALEwAgAEHQh8IANgIEIAAgATYCAAsTACAAQeCHwgA2AgQgACABNgIACxMAIABB8IfCADYCBCAAIAE2AgALEwAgAEGAiMIANgIEIAAgATYCAAsTACAAQZCIwgA2AgQgACABNgIACxMAIABBoIjCADYCBCAAIAE2AgALEwAgAEGwiMIANgIEIAAgATYCAAsTACAAQcCIwgA2AgQgACABNgIACxMAIABB0IjCADYCBCAAIAE2AgALEwAgAEHgiMIANgIEIAAgATYCAAsTACAAQfCIwgA2AgQgACABNgIACxAAIABBAzYCACAAIAE2AgQLEAAgAEECNgIAIAAgATYCBAsQACAAQQA2AgAgACABNgIECw4AIAAgAUEYaiACENUCCxMAIABBhM7CADYCBCAAIAE2AgALEwAgAEHc0MIANgIEIAAgATYCAAsTACAAQeTTwgA2AgQgACABNgIACxMAIABBpNTCADYCBCAAIAE2AgALEwAgAEHk1MIANgIEIAAgATYCAAsPACAAIAFB4ABqIAIQ1QILEAAgAEEJNgIAIAAgATYCBAsTACAAQcjXwgA2AgQgACABNgIACxAAIABBBjYCACAAIAE2AgQLEwAgAEGk2sIANgIEIAAgATYCAAsQACAAQQU2AgAgACABNgIECxMAIABBgN3CADYCBCAAIAE2AgALDgAgACABQTRqIAIQ1QILEAAgAEEINgIAIAAgATYCBAsQACAAQQo2AgAgACABNgIECxMAIABBpOLCADYCBCAAIAE2AgALEQAgACABKgIAIAEqAgQQ7AYLEAAgAEELNgIAIAAgATYCBAsTACAAQaDlwgA2AgQgACABNgIACxEAIAAgASoCACABKgIEEMwDCxAAIABBDDYCACAAIAE2AgQLEwAgAEHI6cIANgIEIAAgATYCAAsZACAAQoCAgIDw//+//wA3AgggAEIANwIACxAAIABBBzYCACAAIAE2AgQLEAAgAEENNgIAIAAgATYCBAsTACAAQdirwwA2AgQgACABNgIACxAAIABBDjYCACAAIAE2AgQLEwAgAEH0q8MANgIEIAAgATYCAAsQACAAQQ82AgAgACABNgIECxMAIABBkKzDADYCBCAAIAE2AgALEAAgAEEQNgIAIAAgATYCBAsTACAAQayswwA2AgQgACABNgIACxAAIABBETYCACAAIAE2AgQLEwAgAEHIrMMANgIEIAAgATYCAAsRACAAKAIAIAAoAgQgARDkAQsfACABKAIUIAAoAgAgACgCBCABQRhqKAIAKAIMEQUACyIAIABCjYSZ6OiU74GjfzcDCCAAQqSF9JiC9Ziku383AwALIAAgAELrnd3g6M63nQc3AwggAEL9xtfm68XEvTM3AwALEwAgAEGYu8MANgIEIAAgATYCAAsRACABIAAoAgAgACgCBBDVAQvKAwIEfQF/IwBBEGsiASQAAkACQAJAAkACQAJAAkAgAg4DAAECAwtDAABAQBCYASEFIABBATYCACAAQQxqQwAAgL9DAACAPyADQQRxGyAFlTgCACAAQQhqQwAAgL9DAACAPyADQQJxGyAFlTgCACAAQwAAgL9DAACAPyADQQFxGyAFlTgCBAwFCyABQQA2AgwgAUIANwIEIAFBBGoiCSADQQNxIgJBfkEBIAJBAUsbaiIEQQJ0akMAAIC/QwAAgD8gA0ECdiIDIAR2QQFxGzgCACAJIAJBAWtBAiACGyICQQJ0akMAAIC/QwAAgD8gAyACdkEBcRs4AgAgASoCBCIGIAaUIAEqAggiByAHlJIgASoCDCIIIAiUkhCYASEFIABBATYCACAAQQxqIAggBZU4AgAgAEEIaiAHIAWVOAIAIAAgBiAFlTgCBAwECyABQQA2AgwgAUIANwIEIANBA08NAUMAAIA/IQUMAgsgAEEANgIADAILQwAAgL8hBSADQQNrIgNBA0kNAEHkyMIAENMLAAsgAUEEaiADQQJ0aiAFOAIAIABBATYCACAAIAEpAgQ3AgQgAEEMaiABQQxqKAIANgIACyABQRBqJAAL4AMBBX0jAEEgayIEJAACQAJAAkACQAJAIAEqAgwgASoCAJMiBSAFlCABQRBqKgIAIAEqAgSTIgYgBpSSIAFBFGoqAgAgASoCCJMiCCAIlJIiB0MAAIAoXgRAIAQgCCAHEJgBIgeVIgg4AhAgBCAGIAeVIgY4AgwgBCAFIAeVIgU4AgggAg4DBAIDAQsgAEIBNwIAIABBCGpCgICA/AM3AgAMBAsgAEEANgIADAMLIARBADYCHCAEQgA3AhRBAiAGiyIHIAWLIgldIgEgCIsgByAJIAEbXRtBAnQiASAEQRRqakGAgID8AzYCACAEKgIUIAUgBEEIaiABaioCACIFlJMiByAHlCAEKgIYIAYgBZSTIgkgCZSSIAQqAhwgCCAFlJMiBSAFlJIQmAEhBiAAQQE2AgAgAEEMaiAFIAaVOAIAIABBCGogCSAGlTgCACAAIAcgBpU4AgQMAgsgAEEBNgIAIABBDGpBADYCACAAQQhqIAUgBYwgAxs4AgAgACAGjCAGIAMbOAIEDAELIAMEQCAAQQE2AgAgAEEMaiAIjDgCACAAQQhqIAaMOAIAIAAgBYw4AgQMAQsgACAEKQIINwIEIABBATYCACAAQQxqIARBEGooAgA2AgALIARBIGokAAubBQIDfQF/QQAhBAJAAkACQAJAAkACQAJAAkACQCACQQFrDgMBAggACyABQRRqKAIAIgIgA0sNBSADIAJBiPHCABDtCAALIAFBLGooAgAiAiADTQ0BIAFBKGooAgAgA0EFdGoiBCgCCCIDIAFBIGooAgAiAk8EQCADIAJByPHCABDtCAALIARBDGooAgAiBCACSQ0DIAQgAkHY8cIAEO0IAAsgAUEgaigCACICIANLDQEgAyACQejxwgAQ7QgACyADIAJBuPHCABDtCAALIAAgAUEcaigCACADQRRsaiIBKQIINwIEIABBDGogAUEQaigCADYCAAwCCyAAQQxqIAFBHGooAgAiAiADQRRsaiIBQRBqKgIAIAIgBEEUbGoiAkEQaioCAJIiBSABKgIIIAIqAgiSIgYgBpQgAUEMaioCACACQQxqKgIAkiIHIAeUkiAFIAWUkhCYASIFlTgCACAAQQhqIAcgBZU4AgAgACAGIAWVOAIEDAELAkACQCABQRBqKAIAIANBA3RqIgMoAgQiAiADKAIAIgQgAmoiA00EQCABQThqKAIAIgggA0kNASACRQ0CIAFBNGooAgAgBEECdGohBCACQQJ0IQIgAUEcaigCACEIIAFBIGooAgAhAQNAIAQoAgAiAyABSQRAIARBBGohBCAFIAggA0EUbGoiAyoCCJIhBSAGIANBEGoqAgCSIQYgByADQQxqKgIAkiEHIAJBBGsiAg0BDAQLCyADIAFBqPHCABDtCAALIAQgA0GY8cIAEO8IAAsgAyAIQZjxwgAQ7ggACyAAQQxqIAYgBSAFlCAHIAeUkiAGIAaUkhCYASIGlTgCACAAQQhqIAcgBpU4AgAgACAFIAaVOAIEC0EBIQQLIAAgBDYCAAsNACAAKgIEIAAqAgiSCw4AIAAoAgAaA0AMAAsACw4AIAA1AgBBASABENwECw4AIAApAwBBASABENwEC8oCAgJ/AX4gACgCACkDACEEIwBBgAFrIgMkAAJAAkACQAJ/AkAgASgCHCIAQRBxRQRAIABBIHENASAEQQEgARDcBAwCC0EAIQADQCAAIANqQf8AakEwQdcAIASnQQ9xIgJBCkkbIAJqOgAAIABBAWshACAEQhBUIQIgBEIEiCEEIAJFDQALIABBgAFqIgJBgAFLDQIgAUEBQeDcwwBBAiAAIANqQYABakEAIABrEIYCDAELQQAhAANAIAAgA2pB/wBqQTBBNyAEp0EPcSICQQpJGyACajoAACAAQQFrIQAgBEIQVCECIARCBIghBCACRQ0ACyAAQYABaiICQYABSw0CIAFBAUHg3MMAQQIgACADakGAAWpBACAAaxCGAgshACADQYABaiQADAILIAJBgAFB0NzDABDsCAALIAJBgAFB0NzDABDsCAALIAALCwAgACMAaiQAIwALHAAgASgCFEHIg8AAQREgAUEYaigCACgCDBEFAAscACABKAIUQeyCwABBESABQRhqKAIAKAIMEQUACxwAIAEoAhRBxK/AAEEUIAFBGGooAgAoAgwRBQALHAAgASgCFEGgr8AAQRQgAUEYaigCACgC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bmVsLTAuNS44L3NyYy93YWtlci5ycwAAPAIQAGoAAABoAAAAKwAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAPAIQAGoAAAADAQAAKwAAADwCEABqAAAA3gAAAC8AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY3Jvc3NiZWFtLWNoYW5uZWwtMC41Ljgvc3JjL2NoYW5uZWwucnMEAxAAbAAAAP8CAAAVAAAABAMQAGwAAAAHAwAAFQAAAAwAAAAIAAAABAAAAA0AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY3Jvc3NiZWFtLWNoYW5uZWwtMC41Ljgvc3JjL2ZsYXZvcnMvemVyby5ycwAAAKADEABxAAAAZgEAACsAAABjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlAKADEABxAAAAwAAAADYAAACgAxAAcQAAALkAAAA2AAAAoAMQAHEAAAAWAQAAKwAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgMoAEEAAYAAAAc3RydWN0IENvbGxpZGVyIHdpdGggMTIgZWxlbWVudHOgBBAAIAAAAHN0cnVjdCBIZWlnaHRGaWVsZCB3aXRoIDYgZWxlbWVudHMAAMgEEAAiAAAAdmFyaWFudCBpbmRleCAwIDw9IGkgPCAxOQAAAPQEEAAZAAAAc3RydWN0IFRyaU1lc2hDb25uZWN0ZWRDb21wb25lbnRzIHdpdGggMyBlbGVtZW50cwAAABgFEAAxAAAAc3RydWN0IEdyYXBoIHdpdGggMiBlbGVtZW50c1QFEAAcAAAAc3RydWN0IExVIHdpdGggMiBlbGVtZW50cwAAAHgFEAAZAAAAc3RydWN0IFJpZ2lkQm9keVNldCB3aXRoIDIgZWxlbWVudHMAnAUQACMAAABzdHJ1Y3QgSXNsYW5kTWFuYWdlciB3aXRoIDUgZWxlbWVudHPIBRAAJAAAAHN0cnVjdCBDb252ZXhQb2x5aGVkcm9uIHdpdGggOCBlbGVtZW50cwD0BRAAJwAAAHN0cnVjdCBDb250YWN0TWFuaWZvbGREYXRhIHdpdGggNyBlbGVtZW50cwAAJAYQACoAAAB2YXJpYW50IGluZGV4IDAgPD0gaSA8IDNYBhAAGAAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgNHgGEAAYAAAAc3RydWN0IFFidmggd2l0aCA1IGVsZW1lbnRzAJgGEAAbAAAAc3RydWN0IE11bHRpYm9keSB3aXRoIDE2IGVsZW1lbnRzAAAAvAYQACEAAABzdHJ1Y3QgU0FQUmVnaW9uIHdpdGggNyBlbGVtZW50c+gGEAAgAAAAc3RydWN0IEltcHVsc2VKb2ludCB3aXRoIDUgZWxlbWVudHMAEAcQACMAAABzdHJ1Y3QgTXVsdGlib2R5Sm9pbnQgd2l0aCAzIGVsZW1lbnRzAAAAPAcQACUAAABzdHJ1Y3QgSW1wdWxzZUpvaW50U2V0IHdpdGggNCBlbGVtZW50cwAAbAcQACYAAABzdHJ1Y3QgTXVsdGlib2R5Sm9pbnRTZXQgd2l0aCA0IGVsZW1lbnRznAcQACgAAABzdHJ1Y3QgTXVsdGlib2R5V29ya3NwYWNlIHdpdGggMiBlbGVtZW50cwAAAMwHEAApAAAAdmFyaWFudCBpbmRleCAwIDw9IGkgPCA2AAgQABgAAABzdHJ1Y3QgVHJpTWVzaFNoYXBlQ29udGFjdE1hbmlmb2xkc1dvcmtzcGFjZSB3aXRoIDMgZWxlbWVudHMgCBAAPAAAAGNhbm5vdCByZWN1cnNpdmVseSBhY3F1aXJlIG11dGV4ZAgQACAAAAAvcnVzdGMvMDdkY2E0ODlhYzJkOTMzYzc4ZDNjNTE1OGUzZjQzYmVlZmViMDJjZS9saWJyYXJ5L3N0ZC9zcmMvc3lzL3dhc20vLi4vdW5zdXBwb3J0ZWQvbG9ja3MvbXV0ZXgucnMAAIwIEABmAAAAFAAAAAkAAAAHAAAACAAAAAQAAAAOAAAADwAAAAcAAAAkAAAABAAAABAAAAAHAAAADAAAAAQAAAARAAAAEgAAAAwAAAAEAAAAEwAAABQAAAAVAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQAEAAAAAAAAAAEAAAAWAAAAL3J1c3RjLzA3ZGNhNDg5YWMyZDkzM2M3OGQzYzUxNThlM2Y0M2JlZWZlYjAyY2UvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAJgJEABLAAAAMwoAAA4AAABjYW5ub3QgdHJhbnNtdXRlX2NvcHkgaWYgRHN0IGlzIGxhcmdlciB0aGFuIFNyYwD0CRAALwAAAAcAAAAEAAAABAAAABcAAAAHAAAABAAAAAQAAAAYAAAARXJyb3JpbnZhbGlkIHZhbHVlOiAsIGV4cGVjdGVkIABRChAADwAAAGAKEAALAAAAaW52YWxpZCBsZW5ndGggAHwKEAAPAAAAYAoQAAsAAABQb2lzb25FcnJvcgAHAAAADAAAAAQAAAAZAAAAGgAAABsAAAAcAAAABwAAAAwAAAAEAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9wYXJ0aXRpb25pbmcvcWJ2aC90cmF2ZXJzYWwucnMA6AoQAHcAAABOAAAAIwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvc2hhcGUvdHJpbWVzaC5ycwAAAHALEABpAAAAWgMAAB4AAABwCxAAaQAAAFsDAAAeAAAAcAsQAGkAAABcAwAAHgAAAAcAAAAkAAAABAAAAB8AAAAgAAAAIQAAACIAAAAHAAAAJAAAAAQAAAAfAAAAIAAAACEAAAAiAAAAIwAAAB4AAAAAAAAA//////////8vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaW5kZXhtYXAtMS45LjMvc3JjL21hcC9jb3JlLnJzWAwQAGQAAAAqAAAAIwAAAFgMEABkAAAAIgAAAA8AAABNYXRyaXggaW5pdC4gZXJyb3I6IHRoZSBzbGljZSBkaWQgbm90IGNvbnRhaW4gdGhlIHJpZ2h0IG51bWJlciBvZiBlbGVtZW50cy4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2NvbnN0cnVjdGlvbi5ycwAAACcNEABuAAAAawAAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9kYXRhL2FyZW5hLnJzAKgNEABnAAAACgEAACgAAABjb3JydXB0IGZyZWUgbGlzdAAAACAOEAARAAAAqA0QAGcAAAALAQAAKwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2RhdGEvZ3JhcGgucnNhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmVkZ2VzLmxlbigpICE9IGNyYXRlOjpJTlZBTElEX1VTSVpFAAAATA4QAGcAAADcAAAACQAAAEdyYXBoOjphZGRfZWRnZTogbm9kZSBpbmRpY2VzIG91dCBvZiBib3VuZHMAAA8QACsAAABMDhAAZwAAAOQAAAAbAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5ub2Rlcy5sZW4oKSAhPSBjcmF0ZTo6SU5WQUxJRF9VU0laRQAATA4QAGcAAACzAAAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2RhdGEvY29hcmVuYS5ycwAAAJAPEABpAAAAXQAAACIAAACQDxAAaQAAAE4AAAASAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTkuMC9zcmMvZHluYW1pY3Mvam9pbnQvaW1wdWxzZV9qb2ludC9pbXB1bHNlX2pvaW50X3NldC5ycwAcEBAAiwAAAA0BAAAXAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTkuMC9zcmMvZHluYW1pY3Mvam9pbnQvbXVsdGlib2R5X2pvaW50L211bHRpYm9keV9qb2ludF9zZXQucnMAuBAQAI8AAAB9AAAAKwAAALgQEACPAAAAfgAAAEYAAAC4EBAAjwAAAKgAAAA+AAAAuBAQAI8AAACpAAAALwAAALgQEACPAAAArAAAAEIAAABQYXJlbnQgcmlnaWQgYm9keSBub3QgZm91bmQuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTkuMC9zcmMvZ2VvbWV0cnkvY29sbGlkZXJfc2V0LnJzAAC0ERAAcgAAAHkAAAAOAAAAtBEQAHIAAAB9AAAANQAAALQREAByAAAAgAAAACIAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9nZW9tZXRyeS9pbnRlcmFjdGlvbl9ncmFwaC5ycwBYEhAAdwAAAIIAAAA/AAAAWBIQAHcAAACDAAAAGAAAAFgSEAB3AAAAgwAAADEAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9waXBlbGluZS9kZWJ1Z19yZW5kZXJfcGlwZWxpbmUvZGVidWdfcmVuZGVyX2JhY2tlbmQucnMAExAAkAAAADwAAAA4AAAAABMQAJAAAAA9AAAAOAAAAG5vIGVudHJ5IGZvdW5kIGZvciBrZXkvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9waXBlbGluZS9kZWJ1Z19yZW5kZXJfcGlwZWxpbmUvZGVidWdfcmVuZGVyX3BpcGVsaW5lLnJzAMYTEACRAAAAzwEAADEAAADGExAAkQAAANoBAAAxAAAAAAAAAAEAAAAHAAAAJAAAAAQAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAABwAAACQAAAAEAAAAEAAAAC4AAAAvAAAAMAAAADEAAAAHAAAAJAAAAAQAAAAHAAAAJAAAAAQAAAAQAAAALgAAAC8AAAAwAAAAMQAAANQUEADUFBAALwAAAAcAAAAkAAAABAAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAACAFBAAEAAAABgJEAAuAAAALwAAADAAAAAxAAAAtBQQANQUEADUFBAALwAAAOAUEAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAAAAAAAAEAAAACAAAAAwAAAMYTEACRAAAAJwIAADEAAADGExAAkQAAADICAAAxAAAAxhMQAJEAAADsAAAAPgAAAMYTEACRAAAA7AAAAEgAAAAHAAAADAAAAAQAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAABwAAAAwAAAAEAAAAEQAAAFIAAABTAAAAVAAAAFUAAAAHAAAADAAAAAQAAAAHAAAADAAAAAQAAAARAAAAUgAAAFMAAABUAAAAVQAAAGwWEABsFhAAUwAAAAcAAAAMAAAABAAAAFYAAABXAAAAWAAAAFkAAABaAAAAWwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAAAYFhAAEQAAACgJEABSAAAAUwAAAFQAAABVAAAATBYQAGwWEABsFhAAUwAAAHgWEABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABiAAAAYwAAAGQAAABBAAAAQgAAAGUAAABEAAAAZgAAAGcAAABoAAAABwAAAAgAAAAEAAAAaQAAAAEAAABFeHBlY3RlZCAgY29tcG9uZW50cywgZm91bmQgdBcQAAkAAAB9FxAAEwAAAGFuIGFycmF5IG9mIGxlbmd0aCAzBAAAAAAAAAABAAAAagAAAGFuIGFycmF5IG9mIGxlbmd0aCA2BAAAAAAAAAABAAAAawAAAEludmFsaWQgSW1wdWxzZUpvaW50IHJlZmVyZW5jZS4gSXQgbWF5IGhhdmUgYmVlbiByZW1vdmVkIGZyb20gdGhlIHBoeXNpY3MgV29ybGQucmFwaWVyM2QvLi4vc3JjL2R5bmFtaWNzL2ltcHVsc2Vfam9pbnRfc2V0LnJzAAAAOBgQAC0AAAALAAAARAAAADgYEAAtAAAAFgAAAEgAAABJbnZhbGlkIEpvaW50IHJlZmVyZW5jZS4gSXQgbWF5IGhhdmUgYmVlbiByZW1vdmVkIGZyb20gdGhlIHBoeXNpY3MgV29ybGQucmFwaWVyM2QvLi4vc3JjL2R5bmFtaWNzL211bHRpYm9keV9qb2ludF9zZXQucnPRGBAALwAAAA4AAAAOAAAA0RgQAC8AAAAPAAAAHgAAANEYEAAvAAAAGgAAAA4AAADRGBAALwAAABsAAAAnAAAASW52YWxpZCBSaWdpZEJvZHkgcmVmZXJlbmNlLiBJdCBtYXkgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgcGh5c2ljcyBXb3JsZC5yYXBpZXIzZC8uLi9zcmMvZHluYW1pY3MvcmlnaWRfYm9keV9zZXQucnMAjRkQACoAAAArAAAAOwAAAI0ZEAAqAAAANgAAAD8AAABJbnZhbGlkIENvbGxpZGVyIHJlZmVyZW5jZS4gSXQgbWF5IGhhdmUgYmVlbiByZW1vdmVkIGZyb20gdGhlIHBoeXNpY3MgV29ybGQucmFwaWVyM2QvLi4vc3JjL2dlb21ldHJ5L2NvbGxpZGVyX3NldC5ycyQaEAAoAAAAFwAAAA4AAAAkGhAAKAAAACMAAAAOAAAAJBoQACgAAABqAAAADQAAAAcAAAAEAAAABAAAAGwAAABtAAAAbQAAADAuMTMuMWludmFsaWQgZW51bSB2YWx1ZSBwYXNzZWRyYXBpZXIzZC8uLi9zcmMvZHluYW1pY3MvcmlnaWRfYm9keS5ycwAAALMaEAAmAAAAAgIAADIAAABOb3QgeWV0IGltcGxlbWVudGVkLnJhcGllcjNkLy4uL3NyYy9nZW9tZXRyeS9jb2xsaWRlci5ycwAbEAAkAAAAlAAAACIAAAAAGxAAJAAAAEoCAAAOAAAAABsQACQAAACNAgAADgAAAHJhcGllcjNkLy4uL3NyYy9nZW9tZXRyeS9uYXJyb3dfcGhhc2UucnNUGxAAKAAAANYAAAAwAAAAVBsQACgAAADaAAAAMAAAAFQbEAAoAAAA3gAAADAAAAByYXBpZXIzZC8uLi9zcmMvZ2VvbWV0cnkvc2hhcGUucnMAAACsGxAAIQAAACIBAABAAAAArBsQACEAAAAtAQAAOAAAAKwbEAAhAAAALQEAAD4AAACsGxAAIQAAAHQBAABAAAAArBsQACEAAAB0AQAARgAAAKwbEAAhAAAAfwEAAEAAAACsGxAAIQAAAH8BAABGAAAAbgAAAGQAAAAEAAAAbwAAAAQAAAAAAAAAAQAAAHAAAABxAAAAcgAAAAQAAAAAAAAAAQAAAHMAAAB0AAAAdQAAAAwAAAAEAAAAdgAAAHcAAAB4AAAAeQAAABAAAAAEAAAAegAAAHsAAABzdHJ1Y3QgRGVzZXJpYWxpemFibGVXb3JsZCB3aXRoIDkgZWxlbWVudHMAAKgcEAAqAAAAAAAAAAUAAAAGAAAABgAAAAYAAAAGAAAABgAAAAIAAAABAAAASW52YWxpZCBzaXplIDogc2l6ZXMgbXVzdCBmaXQgaW4gYSB1c2l6ZSAoMCB0byApAB0QAA0AAAANHRAAIgAAAC8dEAABAAAA/////2Nsb3N1cmUgaW52b2tlZCByZWN1cnNpdmVseSBvciBhZnRlciBiZWluZyBkcm9wcGVkAACJAAAABAAAAAQAAACKAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2pzLXN5cy0wLjMuNjQvc3JjL2xpYi5ycwAAkB0QAF4AAAAKGAAAAQAAAG51bGwgcG9pbnRlciBwYXNzZWQgdG8gcnVzdHJlY3Vyc2l2ZSB1c2Ugb2YgYW4gb2JqZWN0IGRldGVjdGVkIHdoaWNoIHdvdWxkIGxlYWQgdG8gdW5zYWZlIGFsaWFzaW5nIGluIHJ1c3RjYXBhY2l0eSBvdmVyZmxvdwBUaGUgbG9vc2VuaW5nIG1hcmdpbiBtdXN0IGJlIHBvc2l0aXZlLgAAfB4QACYAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL2JvdW5kaW5nX3ZvbHVtZS9hYWJiLnJzrB4QAHAAAABHAgAACQAAAEluZGV4IG91dCBvZiBib3VuZHMALB8QABMAAABBbGxvY2F0aW9uIGZyb20gaXRlcmF0b3IgZXJyb3I6IHRoZSBpdGVyYXRvciBkaWQgbm90IHlpZWxkIHRoZSBjb3JyZWN0IG51bWJlciBvZiBlbGVtZW50cy4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2RlZmF1bHRfYWxsb2NhdG9yLnJzAAAAoh8QAHMAAAB8AAAACQAAAAAAAACQAAAAAAAAAAEAAACRAAAAkgAAAJMAAACUAAAAlQAAAJYAAACXAAAAmAAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWUvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3F1ZXJ5L2RlZmF1bHRfcXVlcnlfZGlzcGF0Y2hlci5ycwAAAIMgEAB6AAAAzQEAADEAAACDIBAAegAAAOABAAAxAAAAgyAQAHoAAAAJAgAAJwAAAIMgEAB6AAAAOwIAAC8AAACDIBAAegAAAEoCAAAvAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Nyb3NzYmVhbS1jaGFubmVsLTAuNS44L3NyYy93YWtlci5ycwAAUCEQAGoAAABoAAAAKwAAAFAhEABqAAAARgAAACgAAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAFAhEABqAAAA0QAAACsAAABQIRAAagAAAN4AAAAvAAAAUCEQAGoAAADGAAAAKwAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGUvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY3Jvc3NiZWFtLWNoYW5uZWwtMC41Ljgvc3JjL2NoYW5uZWwucnNgIhAAbAAAALsBAAAtAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Nyb3NzYmVhbS1jaGFubmVsLTAuNS44L3NyYy9jb250ZXh0LnJz3CIQAGwAAAAzAAAAHgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jcm9zc2JlYW0tY2hhbm5lbC0wLjUuOC9zcmMvZmxhdm9ycy9saXN0LnJzAAAAWCMQAHEAAAAFAQAAQwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jcm9zc2JlYW0tY2hhbm5lbC0wLjUuOC9zcmMvZmxhdm9ycy96ZXJvLnJzAAAA3CMQAHEAAADoAAAALQAAAJkAAAAIAAAABAAAAJoAAADcIxAAcQAAAOEAAAArAAAA3CMQAHEAAAD/AAAAJgAAANwjEABxAAAAAQEAAEkAAADcIxAAcQAAAAIBAABHAAAA3CMQAHEAAAABAQAAJwAAANwjEABxAAAABgEAAEkAAADcIxAAcQAAAAcBAABHAAAA3CMQAHEAAAAGAQAAJwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jcm9zc2JlYW0tY2hhbm5lbC0wLjUuOC9zcmMvZmxhdm9ycy9hcnJheS5ycwAA8CQQAHIAAAB2AQAAKgAAAPAkEAByAAAAeAEAADcAAABNYXRyaXggaW5pdC4gZnJvbSBpdGVyYXRvcjogaXRlcmF0b3Igbm90IGxvbmcgZW5vdWdo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cnRpb24gZmFpbGVkOiBtaW5fYm91bmQuaXNfZmluaXRlKCkvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3F1ZXJ5L2dqay9namsucnNvNxAAaQAAAIwAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9zaGFwZS9oZWlnaHRmaWVsZDMucnMAAOg3EABuAAAAyAIAACkAAADoNxAAbgAAANQCAAAnAAAA6DcQAG4AAADVAgAAJwAAAOg3EABuAAAA1gIAACcAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3NoYXBlL3BvbHlnb25hbF9mZWF0dXJlM2QucnMAAACYOBAAdQAAALgAAAAWAAAAAAAAAJg4EAB1AAAAFAEAAB4AAACYOBAAdQAAABYBAAA6AAAAmDgQAHUAAAA+AQAAHgAAAJg4EAB1AAAAQAEAADoAAACYOBAAdQAAAGQBAAARAAAAmDgQAHUAAABlAQAAEQAAAJg4EAB1AAAAagEAABUAAACYOBAAdQAAAGsBAAAVAAAAaW5kZXggb3V0IG9mIGJvdW5kcwCbAAAAJAAAAAQAAADTAAAA1AAAANUAAADWAAAAmwAAACQAAAAEAAAA0wAAANQAAADVAAAA1gAAACMAAADXAAAA//////////8vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaW5kZXhtYXAtMS45LjMvc3JjL21hcC9jb3JlLnJzADoQAGQAAAAqAAAAIwAAAAA6EABkAAAAqwIAAB4AAAAAOhAAZAAAANABAAAeAAAAaW5kZXggbm90IGZvdW5kAAA6EABkAAAANwAAAAoAAABhc3NlcnRpb24gZmFpbGVkOiBpbmRpY2VzLmNhcGFjaXR5KCkgLSBpbmRpY2VzLmxlbigpID49IGVudHJpZXMubGVuKCkvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaW5kZXhtYXAtMS45LjMvc3JjL21hcC9jb3JlL3Jhdy5ycwAAAPk6EABoAAAAEAAAAAUAAAD5OhAAaAAAAIMAAAAaAAAAADoQAGQAAAAiAAAADwAAAGdlbW06IGRpbWVuc2lvbnMgbWlzbWF0Y2ggZm9yIGFkZGl0aW9uLgCUOxAAJwAAAEdlbXY6IGRpbWVuc2lvbnMgbWlzbWF0Y2guTWF0cml4IHNsaWNpbmcgb3V0IG9mIGJvdW5kcy4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL21hdHJpeF92aWV3LnJz+zsQAG0AAAAWAQAACQAAAPs7EABtAAAAGgEAAAkAAABSb3dzIHJhbmdlIHBhaXI6IHRoZSByYW5nZXMgbXVzdCBub3Qgb3ZlcmxhcC4AAAD7OxAAbQAAABIDAAAFAAAAUm93cyByYW5nZSBwYWlyOiBpbmRleCBvdXQgb2YgcmFuZ2UuRGF0YSBzdG9yYWdlIGJ1ZmZlciBkaW1lbnNpb24gbWlzbWF0Y2guL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS92ZWNfc3RvcmFnZS5ycxM9EABtAAAAVAAAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2NvbnN0cnVjdGlvbi5ycwAAkD0QAG4AAABgBAAADAAAAENvbXBvbmVudHdpc2UgbXVsL2RpdjogbWlzbWF0Y2hlZCBtYXRyaXggZGltZW5zaW9ucy4QPhAANAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2Jhc2UvY29tcG9uZW50d2lzZS5ycwBMPhAAbwAAAJYAAAAFAAAATWF0cml4IHZpZXc6IGlucHV0IGRhdGEgYnVmZmVyIHRvbyBzbWFsbC4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2NvbnN0cnVjdGlvbl92aWV3LnJz9T4QAHMAAAAwAAAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2Jhc2Uvb3BzLnJzTWF0cml4IGluZGV4IG91dCBvZiBib3VuZHMuTWF0cml4IGFkZGl0aW9uL3N1YnRyYWN0aW9uIGRpbWVuc2lvbnMgbWlzbWF0Y2gu+D8QADAAAAB4PxAAZQAAAGgBAAABAAAAIGFuZCA6IGxlZnQgcm93cyAhPSByaWdodCByb3dzLk1hdHJpeCBtdWx0aXBsaWNhdGlvbiBvdXRwdXQgZGltZW5zaW9ucyBtaXNtYXRjaCA6IGxlZnQgY29scyAhPSByaWdodCByb3dzLgAAX0AQADEAAABAQBAABQAAAJBAEAAaAAAAeD8QAGUAAADVAgAACQAAAEF4cHk6IG1pc21hdGNoZWQgdmVjdG9yIHNoYXBlcy4A1EAQAB8AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2JsYXMucnMAAPxAEABmAAAAQgEAAAkAAAD8QBAAZgAAAAgCAAAJAAAARG90IHByb2R1Y3QgZGltZW5zaW9ucyBtaXNtYXRjaCBmb3Igc2hhcGVzIACEQRAAKwAAAEBAEAAFAAAARUAQABoAAAD8QBAAZgAAACAAAAAJAAAA/EAQAGYAAAAYAwAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2Jhc2UvbWF0cml4LnJzTWF0cml4IGVsZW1lbnRzIHN3YXAgaW5kZXggb3V0IG9mIGJvdW5kcy4AAADoQRAAaAAAALwEAAAJAAAAVW5hYmxlIHRvIGNvcHkgZnJvbSBhIG1hdHJpeCB3aXRoIGEgZGlmZmVyZW50IHNoYXBlLuhBEABoAAAA5QQAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2VkaXRpb24ucnNhc3NlcnRpb24gZmFpbGVkOiBpcm93MSA8IHNlbGYubnJvd3MoKSAmJiBpcm93MiA8IHNlbGYubnJvd3MoKQDQQhAAaQAAADgBAAAJAAAAVGhlIGlucHV0IHZlY3RvciBtdXN0IG5vdCBiZSBlbXB0eS4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL21pbl9tYXgucnOrQxAAaQAAAOEAAAAJAAAATWF4aW11bSBudW1iZXIgb2YgcGVybXV0YXRpb25zIGV4Y2VlZGVkLi9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2xpbmFsZy9wZXJtdXRhdGlvbl9zZXF1ZW5jZS5yc0xEEAB4AAAAVQAAAA0AAABMRBAAeAAAAFkAAAAWAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvbGluYWxnL2x1LnJzTFUgc29sdmUgbWF0cml4IGRpbWVuc2lvbiBtaXNtYXRjaC4AAABKRRAAIwAAAOREEABmAAAA9gAAAAkAAABMVSBzb2x2ZTogdW5hYmxlIHRvIHNvbHZlIGEgbm9uLXNxdWFyZSBzeXN0ZW0uAADkRBAAZgAAAPsAAAAJAAAA5EQQAGYAAABoAAAAHgAAAEluZGV4IG91dCBvZiBib3VuZHMuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS9pbmRleGluZy5ycwAA7EUQAGoAAABSAQAAGgAAAJsAAAAIAAAABAAAANgAAAACAAAAAAAAAPg5EABBkI3BAAvxfC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2NvbnRyb2wvY2hhcmFjdGVyX2NvbnRyb2xsZXIucnMAAACQRhAAeQAAAE8DAAA5AAAAkEYQAHkAAABQAwAAIwAAAJBGEAB5AAAAQAMAADgAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9jb250cm9sL3JheV9jYXN0X3ZlaGljbGVfY29udHJvbGxlci5yczxHEACAAAAAIgEAABkAAAA8RxAAgAAAADoBAAAlAAAAPEcQAIAAAABNAQAAJQAAADxHEACAAAAAWQEAACoAAAA8RxAAgAAAAJ8BAAAeAAAAPEcQAIAAAAC6AQAADgAAADxHEACAAAAA0AEAAA4AAAA8RxAAgAAAAKYCAAASAAAAPEcQAIAAAACpAgAAKQAAADxHEACAAAAArgIAACgAAAA8RxAAgAAAALQCAAAxAAAAPEcQAIAAAABgAgAALQAAADxHEACAAAAAcAIAACQAAAA8RxAAgAAAAHICAAA4AAAAPEcQAIAAAABzAgAAMQAAADxHEACAAAAAdQIAACwAAABhc3NlcnRpb24gZmFpbGVkOiBudW1fd2hlZWxzX29uX2dyb3VuZCA+IDAAADxHEACAAAAAeAIAABkAAABhc3NlcnRpb24gZmFpbGVkOiBtYXhfaW1wX3NxdWFyZWQgPj0gMC4wPEcQAIAAAACGAgAAFQAAADxHEACAAAAAMAIAAC0AAAA8RxAAgAAAADQCAAAeAAAAPEcQAIAAAAA8AgAAJAAAADxHEACAAAAAQgIAADAAAAA8RxAAgAAAAEMCAAApAAAAPEcQAIAAAABHAgAAJAAAADxHEACAAAAATwIAACQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9kYXRhL2FyZW5hLnJzAKBJEABnAAAACgEAACgAAABjb3JydXB0IGZyZWUgbGlzdAAAABhKEAARAAAAoEkQAGcAAAALAQAAKwAAAGluc2VydGluZyB3aWxsIGFsd2F5cyBzdWNjZWVkIGFmdGVyIHJlc2VydmluZyBhZGRpdGlvbmFsIHNwYWNlAACQAAAAAAAAAAEAAADZAAAAoEkQAGcAAABMAQAADgAAAE5vIGVsZW1lbnQgYXQgaW5kZXgvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9kYXRhL2NvYXJlbmEucnO3ShAAaQAAAE4AAAASAAAAt0oQAGkAAACBAAAAKwAAALdKEABpAAAAggAAABMAAAC3ShAAaQAAAIIAAAArAAAAt0oQAGkAAAB4AAAAKwAAALdKEABpAAAAeQAAABMAAAC3ShAAaQAAAHkAAAAiAAAAQ2Fubm90IGluZGV4IHRoZSBzYW1lIG9iamVjdCB0d2ljZS4AkEsQACMAAAC3ShAAaQAAAHAAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTkuMC9zcmMvZGF0YS9ncmFwaC5yc2Fzc2VydGlvbiBmYWlsZWQ6IHNlbGYubm9kZXMubGVuKCkgIT0gY3JhdGU6OklOVkFMSURfVVNJWkUAAADMSxAAZwAAALMAAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5lZGdlcy5sZW4oKSAhPSBjcmF0ZTo6SU5WQUxJRF9VU0laRQAAzEsQAGcAAADcAAAACQAAAEdyYXBoOjphZGRfZWRnZTogbm9kZSBpbmRpY2VzIG91dCBvZiBib3VuZHMAzEwQACsAAADMSxAAZwAAAOQAAAAbAAAAAAEvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9keW5hbWljcy9jY2QvY2NkX3NvbHZlci5ycwAAEk0QAHQAAACCAAAAHgAAABJNEAB0AAAAjQAAACkAAABDb3VsZCBub3QgZmluZCB0aGUgQ29sbGlkZXJQYXJlbnQgY29tcG9uZW50LhJNEAB0AAAAkQAAABoAAAASTRAAdAAAAKoAAAA1AAAAEk0QAHQAAACrAAAANQAAAGFzc2VydGlvbiBmYWlsZWQ6IHRvaS50b2kgPD0gZHQAEk0QAHQAAABnAQAADQAAABJNEAB0AAAAbwEAADEAAAASTRAAdAAAAHIBAAAxAAAAEk0QAHQAAACGAQAALgAAABJNEAB0AAAAhwEAADsAAAASTRAAdAAAAIsBAAAuAAAAEk0QAHQAAACMAQAAOwAAABJNEAB0AAAAlAEAACUAAAASTRAAdAAAAJUBAAA2AAAAEk0QAHQAAACWAQAAIgAAABJNEAB0AAAA2wEAACEAAAASTRAAdAAAANwBAAAhAAAAEk0QAHQAAADqAQAARwAAABJNEAB0AAAA6wEAACIAAAASTRAAdAAAAPoBAABHAAAAEk0QAHQAAAD7AQAAIgAAABJNEAB0AAAA/gAAAB4AAAASTRAAdAAAAAkBAAApAAAAEk0QAHQAAAANAQAAGgAAABJNEAB0AAAAIgEAADUAAAASTRAAdAAAACMBAAA1AAAAEk0QAHQAAAA1AQAAPgAAABJNEAB0AAAANgEAAD4AAAASTRAAdAAAAJ0BAAAtAAAAYXNzZXJ0aW9uIGZhaWxlZDogc3RhcnRfdGltZSA8PSBlbmRfdGltZS9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2R5bmFtaWNzL2NjZC90b2lfZW50cnkucnMAzE8QAHMAAAA2AAAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2R5bmFtaWNzL2lzbGFuZF9tYW5hZ2VyLnJzUFAQAHQAAACAAAAALwAAAFBQEAB0AAAAgAAAAE8AAABQUBAAdAAAAIEAAAAhAAAAUFAQAHQAAACFAAAAOQAAAFRoZSBtaW5pbXVtIGlzbGFuZCBzaXplIG11c3QgYmUgYXQgbGVhc3QgMS4ABFEQACsAAABQUBAAdAAAAKEAAAAJAAAAUFAQAHQAAAANAQAAVAAAAFBQEAB0AAAALgEAADsAAABQUBAAdAAAAOMAAAAdAAAAUFAQAHQAAADWAAAAQAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2R5bmFtaWNzL2pvaW50L2ltcHVsc2Vfam9pbnQvaW1wdWxzZV9qb2ludF9zZXQucnMAiFEQAIsAAAAfAQAAIwAAAIhREACLAAAAJgEAAB4AAACIURAAiwAAACcBAAAeAAAAiFEQAIsAAAA0AQAAEQAAAIhREACLAAAATQEAABsAAACIURAAiwAAAG4BAABXAAAAiFEQAIsAAABzAQAAJwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHkucnMAAACEUhAAhQAAALAAAAA5AAAAhFIQAIUAAACMAAAAJQAAAIRSEACFAAAAjAAAABgAAACEUhAAhQAAAIkAAAAYAAAAhFIQAIUAAACPAAAALgAAAIRSEACFAAAAjwAAACYAAACEUhAAhQAAALkAAAAnAAAAhFIQAIUAAADKAAAAFgAAAIRSEACFAAAAYgEAABgAAACEUhAAhQAAAHgBAAAdAAAAhFIQAIUAAAB+AQAALgAAAIRSEACFAAAAfwEAACgAAACEUhAAhQAAAIEBAAArAAAAhFIQAIUAAACUAQAAIAAAAIRSEACFAAAAqwEAACUAAACEUhAAhQAAAL4BAAAjAAAAhFIQAIUAAADIAQAAHQAAAIRSEACFAAAAyQEAACQAAACEUhAAhQAAAM0BAABGAAAAhFIQAIUAAADBAQAAQgAAAIRSEACFAAAA4wEAACMAAACEUhAAhQAAAOwBAAAuAAAAhFIQAIUAAADMAgAAPAAAAIRSEACFAAAAzAIAACQAAACEUhAAhQAAAM0CAAA4AAAAhFIQAIUAAADNAgAAIAAAAIRSEACFAAAALQIAACMAAACEUhAAhQAAAC4CAAAdAAAAhFIQAIUAAAAyAgAANQAAAIRSEACFAAAATgIAACwAAACEUhAAhQAAAJECAAAgAAAAhFIQAIUAAACSAgAAIAAAAIRSEACFAAAAVQIAAC4AAACEUhAAhQAAAFYCAAAoAAAAhFIQAIUAAABXAgAANAAAAIRSEACFAAAAlQIAADIAAACEUhAAhQAAAJYCAAAyAAAAhFIQAIUAAACqAgAAMgAAAIRSEACFAAAAqwIAADIAAACEUhAAhQAAAPgCAAA7AAAAhFIQAIUAAAAEAwAAMAAAAIRSEACFAAAACgMAAB8AAACEUhAAhQAAABIDAAAwAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi52ZWxvY2l0aWVzLmxlbigpID49IFNQQVRJQUxfRElNAACEUhAAhQAAABYDAAAVAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5kYW1waW5nLmxlbigpID49IFNQQVRJQUxfRElNAIRSEACFAAAAFwMAABUAAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmFjY2VsZXJhdGlvbnMubGVuKCkgPj0gU1BBVElBTF9ESU0AAACEUhAAhQAAABgDAAAVAAAAhFIQAIUAAAAdAwAAHwAAAIRSEACFAAAALgMAADAAAACEUhAAhQAAADcDAAAaAAAAhFIQAIUAAABFAwAAJwAAAIRSEACFAAAAWQMAACgAAACEUhAAhQAAAFoDAAAmAAAAQSByaWdpZC1ib2R5IHRoYXQgaXMgbm90IGF0IHRoZSByb290IG9mIGEgbXVsdGlib2R5IG11c3QgYmUgZHluYW1pYy70VhAARAAAAIRSEACFAAAAZwMAAA0AAACEUhAAhQAAAJUDAAAfAAAAhFIQAIUAAACXAwAAHAAAAIRSEACFAAAAmwMAAC0AAACEUhAAhQAAAJsDAAAWAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTkuMC9zcmMvZHluYW1pY3Mvam9pbnQvbXVsdGlib2R5X2pvaW50L211bHRpYm9keV9qb2ludF9zZXQucnMAkFcQAI8AAADBAAAASgAAAJBXEACPAAAAxAAAAEMAAACQVxAAjwAAAMUAAAA9AAAAkFcQAI8AAADHAAAAMQAAAJBXEACPAAAA2gAAADkAAACQVxAAjwAAAN4AAAA1AAAAkFcQAI8AAADfAAAATQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHlfbGluay5ycwAAkFgQAIoAAABxAAAAHQAAAEludGVybmFsIGVycm9yOiBjaXJjdWxhciByaWdpZCBib2R5IGRlcGVuZGVuY3kuACxZEAAvAAAAkFgQAIoAAABzAAAACQAAAEludmFsaWQgcGFyZW50IGluZGV4LgAAAHRZEAAVAAAAkFgQAIoAAAB3AAAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHlfam9pbnQucnMApFkQAIsAAABhAAAALgAAAKRZEACLAAAAYQAAABwAAABub3QgeWV0IGltcGxlbWVudGVkAKRZEACLAAAAbwAAABEAAACkWRAAiwAAAHMAAAA7AAAApFkQAIsAAAB6AAAAEgAAAKRZEACLAAAAVgAAACMAAACkWRAAiwAAAKQAAAARAAAApFkQAIsAAACsAAAAEgAAAKRZEACLAAAAygAAAC4AAACkWRAAiwAAAMoAAAAiAAAApFkQAIsAAADOAAAAEQAAAKRZEACLAAAA0gAAADoAAACkWRAAiwAAANUAAAASAAAApFkQAIsAAAC5AAAAMQAAAKRZEACLAAAA4wAAABQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9keW5hbWljcy9qb2ludC9tdWx0aWJvZHlfam9pbnQvdW5pdF9tdWx0aWJvZHlfam9pbnQucnM0WxAAkAAAACEAAAAOAAAANFsQAJAAAAAiAAAADgAAADRbEACQAAAAPAAAAAUAAAA0WxAAkAAAAFcAAAAOAAAANFsQAJAAAABYAAAADgAAADRbEACQAAAAfgAAAAUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9keW5hbWljcy9yaWdpZF9ib2R5X2NvbXBvbmVudHMucnMAJFwQAHsAAADBAwAAOwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2R5bmFtaWNzL3NvbHZlci9jYXRlZ29yaXphdGlvbi5ycwCwXBAAewAAAA8AAAAZAAAAsFwQAHsAAAA0AAAAFgAAALBcEAB7AAAANQAAABoAAACwXBAAewAAADYAAAAaAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTkuMC9zcmMvZHluYW1pY3Mvc29sdmVyL2NvbnRhY3RfY29uc3RyYWludC9jb250YWN0X2NvbnN0cmFpbnRz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c2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2dlb21ldHJ5L2Jyb2FkX3BoYXNlX211bHRpX3NhcC9zYXBfcmVnaW9uLnJzGnoQAIYAAABHAAAACQAAABp6EACGAAAARgAAAAkAAAAaehAAhgAAAIoAAAAJAAAAGnoQAIYAAACCAAAADQAAABp6EACGAAAArgAAACIAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9nZW9tZXRyeS9icm9hZF9waGFzZV9tdWx0aV9zYXAvc2FwX3V0aWxzLnJzAAAA8HoQAIUAAAANAAAABQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2dlb21ldHJ5L2ludGVyYWN0aW9uX2dyYXBoLnJzAIh7EAB3AAAAggAAAD8AAACIexAAdwAAAIMAAAAYAAAAiHsQAHcAAACDAAAAMQAAAIh7EAB3AAAA6AAAAD0AAACIexAAdwAAAOkAAAApAAAAiHsQAHcAAADpAAAAQgAAAIh7EAB3AAAA8AAAADkAAACIexAAdwAAAPEAAAAlAAAAiHsQAHcAAADxAAAAPgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL2dlb21ldHJ5L25hcnJvd19waGFzZS5ycwAAkHwQAHIAAAC4AAAAKAAAAJB8EAByAAAAjgEAABEAAACQfBAAcgAAAJoBAAARAAAAkHwQAHIAAADkAQAALwAAAJB8EAByAAAA5AEAAE4AAACQfBAAcgAAAMMCAAAgAAAAkHwQAHIAAADEAgAAIAAAAJB8EAByAAAAxgIAACEAAACQfBAAcgAAAMcCAAAhAAAAkHwQAHIAAADWAgAAJgAAAJB8EAByAAAA2gIAACYAAACQfBAAcgAAACoDAAAhAAAAkHwQAHIAAAArAwAAIQAAAJB8EAByAAAANQMAAD4AAACQfBAAcgAAADYDAAA+AAAAQSBjb250YWN0IG1hbmlmb2xkIGNhbm5vdCBjb250YWluIG1vcmUgdGhhbiAyNTUgY29udGFjdHMgY3VycmVudGx5LCBkcm9wcGluZyBjb250YWN0IGluIGV4Y2Vzcy4A9H0QAF8AAAByYXBpZXIzZDo6Z2VvbWV0cnk6Om5hcnJvd19waGFzZVx+EAAgAAAAXH4QACAAAACQfBAAcgAAAJB8EAByAAAAPAQAACMAAACQfBAAcgAAAE0EAAAuAAAAkHwQAHIAAABZBAAALgAAAJB8EAByAAAAbQQAABkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9nZW9tZXRyeS9jb2xsaWRlcl9zZXQucnMAANR+EAByAAAArAAAADYAAADUfhAAcgAAABcBAAAcAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTkuMC9zcmMvcGlwZWxpbmUvcGh5c2ljc19waXBlbGluZS5ycwAAaH8QAHYAAAAzAQAAIQAAAGh/EAB2AAAANAEAACEAAABofxAAdgAAAOoAAAAdAAAAaH8QAHYAAADxAAAAKwAAAGh/EAB2AAAA8wAAADMAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOS4wL3NyYy9waXBlbGluZS9xdWVyeV9waXBlbGluZS5yczCAEAB0AAAAYQEAABoAAAAwgBAAdAAAAIkBAAA/AAAAMIAQAHQAAACUAQAANgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL3BpcGVsaW5lL3VzZXJfY2hhbmdlcy5ycwAA1IAQAHIAAAAUAAAALAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE5LjAvc3JjL3V0aWxzLnJzVW5hYmxlIHRvIGluZGV4IHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UuAAAAuoEQACcAAABYgRAAYgAAABEDAAAJAAAA2EUQABQAAABYgRAAYgAAABIDAAAJAAAAWIEQAGIAAAAfAwAACQAAAER5bmFtaWNGaXhlZEtpbmVtYXRpY1Bvc2l0aW9uQmFzZWRLaW5lbWF0aWNWZWxvY2l0eUJhc2VkBwAAAAUAAAAWAAAAFgAAACSCEAArghAAMIIQAEaCEAABAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3NpbWJhLTAuOC4xL3NyYy9zaW1kL2F1dG9fc2ltZF9pbXBsLnJzgIIQAGwAAAC/BQAAAQAAANsAAAAIAAAABAAAANwAAADdAAAA2wAAAAwAAAAEAAAA3gAAANsAAAAMAAAABAAAAN8AAADgAAAAIAAAAAQAAADhAAAA4gAAAMQAAAAEAAAA4wAAAOQAAAB4AAAABAAAAOUAAADbAAAAGAAAAAQAAADmAAAA5wAAACAAAAAEAAAA6AAAANsAAAAMAAAABAAAAOkAAADqAAAAYAAAAAQAAADrAAAA2wAAAAwAAAAEAAAA7AAAAO0AAABgAAAABAAAAO4AAADvAAAAMAAAAAQAAADwAAAA2wAAAAgAAAAEAAAA8QAAAPIAAABUAAAABAAAAPMAAADnAAAAIAAAAAQAAAD0AAAA2wAAABwAAAAEAAAA9QAAAPYAAABkAAAABAAAAPcAAADbAAAAKAAAAAQAAAD4AAAA4AAAACAAAAAEAAAA+QAAANsAAAAkAAAABAAAAPoAAADbAAAABAAAAAQAAAD7AAAA2wAAAAgAAAAEAAAA/AAAANsAAAAQAAAABAAAAP0AAABhc3NlcnRpb24gZmFpbGVkOiBtaW4gPD0gbWF4L3J1c3RjLzA3ZGNhNDg5YWMyZDkzM2M3OGQzYzUxNThlM2Y0M2JlZWZlYjAyY2UvbGlicmFyeS9jb3JlL3NyYy9jbXAucnMAnIQQAEcAAABvAwAACQAAANsAAAAEAAAABAAAAP4AQZCKwgAL4wFhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvYXNzZXJ0aW9uIGZhaWxlZDogbWlkIDw9IHNlbGYubGVuKCljYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlANsAAAAEAAAABAAAAP8AAAAvcnVzdGMvMDdkY2E0ODlhYzJkOTMzYzc4ZDNjNTE1OGUzZjQzYmVlZmViMDJjZS9saWJyYXJ5L2FsbG9jL3NyYy92ZWMvbW9kLnJziIUQAEwAAAC0BQAADQAAAAAAAAD//////////+iFEABBgIzCAAuitgFjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2luZGV4bWFwLTEuOS4zL3NyYy9tYXAvY29yZS5ycwArhhAAZAAAACoAAAAjAAAAK4YQAGQAAACrAgAAHgAAACuGEABkAAAAIgAAAA8AAABNYXRyaXggaW5kZXggb3V0IG9mIGJvdW5kcy4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2JsYXMucnNEb3QgcHJvZHVjdCBkaW1lbnNpb25zIG1pc21hdGNoIGZvciBzaGFwZXMgIGFuZCA6IGxlZnQgcm93cyAhPSByaWdodCByb3dzLgBBhxAAKwAAAGyHEAAFAAAAcYcQABoAAADbhhAAZgAAACAAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvbGluYWxnL3N5bW1ldHJpY19laWdlbi5ycwC0hxAAcwAAAMkAAAAvAAAAtIcQAHMAAACQAAAAIQAAALSHEABzAAAAkQAAACEAAAC0hxAAcwAAALAAAAA4AAAAtIcQAHMAAAD+AAAAGAAAALSHEABzAAAAQAAAAD4AAAC0hxAAcwAAAFQAAAAgAAAASW5kZXggb3V0IG9mIGJvdW5kcy7bAAAACAAAAAQAAAAAAQAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9ib3VuZGluZ192b2x1bWUvYWFiYi5yc1RoZSBsb29zZW5pbmcgbWFyZ2luIG11c3QgYmUgcG9zaXRpdmUuAAAsiRAAJgAAALyIEABwAAAARwIAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL2JvdW5kaW5nX3ZvbHVtZS9hYWJiX3V0aWxzLnJzUG9pbnQgY2xvdWQgQWFiYiBjb25zdHJ1Y3Rpb246IHRoZSBpbnB1dCBpdGVyYXRvciBzaG91bGQgeWllbGQgYXQgbGVhc3Qgb25lIHBvaW50LmyJEAB2AAAAQAAAABgAAABsiRAAdgAAAFcAAAAYAAAAdHdvIGFycmF5cyBjb250YWluaW5nIGF0IGxlYXN0ICBmbG9hdHMAAFSKEAAfAAAAc4oQAAcAAAAYAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9tYXNzX3Byb3BlcnRpZXMvbWFzc19wcm9wZXJ0aWVzX3RyaW1lc2gzZC5ycwAAAJCKEACFAAAAFgAAABcAAACQihAAhQAAABcAAAAXAAAAkIoQAIUAAAAYAAAAFwAAAJCKEACFAAAApQAAABIAAACQihAAhQAAAKYAAAASAAAAkIoQAIUAAACnAAAAEgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvcGFydGl0aW9uaW5nL3FidmgvdXRpbHMucnMAeIsQAHMAAAAlAAAAEQAAAHiLEABzAAAAEgAAABEAAAB4ixAAcwAAABMAAAAWAAAAeIsQAHMAAAAVAAAAEgAAAHiLEABzAAAAFwAAABUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3BhcnRpdGlvbmluZy9xYnZoL2J1aWxkLnJzADyMEABzAAAARAEAABMAAAA8jBAAcwAAACwBAAAZAAAAPIwQAHMAAAAtAQAAEgAAADyMEABzAAAAswEAABMAAAA8jBAAcwAAALUBAAATAAAAPIwQAHMAAAC3AQAAEwAAADyMEABzAAAAuwEAACEAAAA8jBAAcwAAAIEBAAAqAAAAPIwQAHMAAAB5AQAAHwAAADyMEABzAAAAWwEAACYAAAA8jBAAcwAAAF0BAAAdAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9wYXJ0aXRpb25pbmcvcWJ2aC90cmF2ZXJzYWwucnMAYI0QAHcAAABOAAAAIwAAAGCNEAB3AAAA3QAAACMAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3F1ZXJ5L2NsaXAvY2xpcF9hYWJiX2xpbmUucnMAAAD4jRAAdQAAAI0AAAATAAAA+I0QAHUAAACbAAAAEwAAAFRoZSBwcm94aW1pdHkgbWFyZ2luIG11c3QgYmUgcG9zaXRpdmUgb3IgbnVsbC4AAJCOEAAuAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19iYWxsX2JhbGwucnMAAADIjhAAiQAAAA8AAAAFAAAAVGhlIGNvbXBvc2l0ZSBzaGFwZSBtdXN0IG5vdCBiZSBlbXB0eS4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3F1ZXJ5L2Nsb3Nlc3RfcG9pbnRzL2Nsb3Nlc3RfcG9pbnRzX2NvbXBvc2l0ZV9zaGFwZV9zaGFwZS5ycwCKjxAAlQAAABsAAAAKAAAAio8QAJUAAACBAAAAIQAAAIqPEACVAAAAggAAACEAAACKjxAAlQAAAIMAAAAhAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZS9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvcXVlcnkvY2xvc2VzdF9wb2ludHMvY2xvc2VzdF9wb2ludHNfY3Vib2lkX2N1Ym9pZC5ycwAAAIiQEACNAAAAUgAAAAUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3F1ZXJ5L2Nsb3Nlc3RfcG9pbnRzL2Nsb3Nlc3RfcG9pbnRzX2N1Ym9pZF90cmlhbmdsZS5ycwAokRAAjwAAAE0AAAAFAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19oYWxmc3BhY2Vfc3VwcG9ydF9tYXAucnMAAADIkRAAlQAAAA0AAAAFAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19zdXBwb3J0X21hcF9zdXBwb3J0X21hcC5ycwBwkhAAlwAAACAAAAAkAAAA2wAAABgAAAAEAAAAAQEAAAIBAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3F1ZXJ5L2NvbnRhY3QvY29udGFjdF9zdXBwb3J0X21hcF9zdXBwb3J0X21hcC5ycwAAACyTEACJAAAAHgAAACQAAADgAAAAIAAAAAQAAAD5AAAAAwEAAAQBAAAFAQAABgEAADCUEAAwlBAABAEAAAcBAAAIAQAA5wAAACAAAAAEAAAA6AAAAAkBAAAKAQAACwEAAAwBAABwlBAAcJQQAAoBAAANAQAADgEAAOAAAAAgAAAABAAAAOAAAAAgAAAABAAAAOEAAAAPAQAAEAEAABEBAAASAQAAMJQQADCUEAAQAQAAEwEAABQBAADnAAAAIAAAAAQAAADnAAAAIAAAAAQAAAD0AAAAFQEAABYBAAAXAQAAGAEAAHCUEABwlBAAFgEAABkBAAAaAQAA7wAAADAAAAAEAAAA7wAAADAAAAAEAAAA8AAAABsBAAAcAQAAHQEAAB4BAACwlBAAsJQQABwBAAAfAQAAIAEAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvcXVlcnkvZGlzdGFuY2UvZGlzdGFuY2VfY29tcG9zaXRlX3NoYXBlX3NoYXBlLnJzAAAA8JQQAIkAAAAXAAAACgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvcXVlcnkvZGlzdGFuY2UvZGlzdGFuY2Vfc3VwcG9ydF9tYXBfc3VwcG9ydF9tYXAucnMAjJUQAIsAAAA0AAAAJAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvcXVlcnkvZXBhL2VwYTMucnMAACiWEABqAAAARgAAAA4AAAAolhAAagAAAEcAAAAOAAAAKJYQAGoAAABIAAAADgAAACiWEABqAAAAXgAAAA0AAAAolhAAagAAAF8AAAANAAAAKJYQAGoAAABgAAAADQAAACiWEABqAAAAbgAAAA0AAAAolhAAagAAAG8AAAATAAAAKJYQAGoAAABwAAAAEwAAACiWEABqAAAAgQAAAA0AAAAolhAAagAAAIcAAAAcAAAAKJYQAGoAAACHAAAAEwAAACiWEABqAAAAiAAAABMAAAAolhAAagAAAIkAAAATAAAAKJYQAGoAAACKAAAAEwAAACiWEABqAAAA7AAAACQAAAAolhAAagAAAO0AAAAkAAAAKJYQAGoAAADuAAAAJAAAACiWEABqAAAACQEAACcAAAAolhAAagAAAAkBAABEAAAAKJYQAGoAAAAOAQAAJwAAACiWEABqAAAADgEAAEQAAAAolhAAagAAABMBAAAnAAAAKJYQAGoAAAATAQAARAAAACiWEABqAAAAGAEAACcAAAAolhAAagAAABgBAABEAAAAKJYQAGoAAAAdAQAAKAAAACiWEABqAAAAOQEAADIAAAAolhAAagAAAEABAAAiAAAAKJYQAGoAAABZAQAAFwAAACiWEABqAAAAWwEAACwAAAAolhAAagAAAFwBAAAsAAAAKJYQAGoAAABdAQAALAAAACiWEABqAAAAkwEAABcAAAAolhAAagAAAJQBAAAjAAAAKJYQAGoAAABrAQAAHwAAACiWEABqAAAAfwEAADoAAAAolhAAagAAAH8BAAAvAAAAKJYQAGoAAABUAQAALAAAACiWEABqAAAAnwEAACQAAAAolhAAagAAAKUBAAAXAAAAKJYQAGoAAACuAQAAJgAAACiWEABqAAAAsgEAAB8AAAAolhAAagAAALQBAAAfAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy9xdWVyeS9namsvZ2prLnJzAAAAVJkQAGkAAABDAAAADgAAAGFzc2VydGlvbiBmYWlsZWQ6IG1pbl9ib3VuZC5pc19maW5pdGUoKQBUmRAAaQAAAIwAAAAJAAAAVJkQAGkAAABYAQAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvcXVlcnkvZ2prL3Zvcm9ub2lfc2ltcGxleDMucnMAABiaEAB2AAAALQAAABcAAAAYmhAAdgAAAFYAAAASAAAAmIgQABQAAAAYmhAAdgAAAGEAAAAJAAAAGJoQAHYAAABmAAAACQAAABiaEAB2AAAAZwAAAAoAAAAYmhAAdgAAAG0AAAAJAAAAGJoQAHYAAABzAAAACgAAABiaEAB2AAAAlAAAABYAAAAYmhAAdgAAAO4AAAAeAAAAGJoQAHYAAAAXAQAAHgAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuZGltID09IDMAGJoQAHYAAADCAAAADQAAABiaEAB2AAAAZQEAABQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3F1ZXJ5L2ludGVyc2VjdGlvbl90ZXN0L2ludGVyc2VjdGlvbl90ZXN0X3N1cHBvcnRfbWFwX3N1cHBvcnRfbWFwLnJzAAAAeJsQAJ0AAAA5AAAAKQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvcXVlcnkvbm9ubGluZWFyX3NoYXBlX2Nhc3Qvbm9ubGluZWFyX3NoYXBlX2Nhc3RfY29tcG9zaXRlX3NoYXBlX3NoYXBlLnJzAAAA2wAAAAQAAAAEAAAAIQEAACIBAAAjAQAAJAEAACUBAAAmAQAAJwEAACgBAAApAQAAKgEAANsAAAAEAAAABAAAAPsAAAArAQAALAEAAC0BAAAuAQAA2wAAAAQAAAAEAAAA2wAAAAQAAAAEAAAA+wAAACsBAAAsAQAALQEAAC4BAAAg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AAAAYXNzZXJ0aW9uIGZhaWxlZDogIXRyaWFuZ2xlc1t0cmlhbmdsZXNbbWlkZGxlX2ZhY2V0XS5hZGpbbWlkZGxlX2lkXV0udmFsaWQAAKTIEACDAAAAXAEAAAkAAACkyBAAgwAAAEgBAAAWAAAATWlzc2luZ1N1cHBvcnRQb2ludFVucmVhY2hhYmxlL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy90cmFuc2Zvcm1hdGlvbi9jb252ZXhfaHVsbDMvaW5pdGlhbF9tZXNoLnJzbm8gdHJpYW5nbGUgZm91bmQujssQAIQAAAC5AAAAOAAAAI7LEACEAAAAnwAAACMAAACOyxAAhAAAAJ8AAAA6AAAAjssQAIQAAAB7AAAAMgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvdHJhbnNmb3JtYXRpb24vY29udmV4X2h1bGwzL3RyaWFuZ2xlX2ZhY2V0LnJzAABkzBAAhgAAABUAAAAUAAAAZMwQAIYAAAAVAAAAIQAAAGTMEACGAAAAFgAAABQAAABhc3NlcnRpb24gZmFpbGVkOiBkaXN0YW5jZSA+IGNyYXRlOjptYXRoOjpERUZBVUxUX0VQU0lMT04AAABkzBAAhgAAACoAAAAJAAAAZMwQAIYAAAA1AAAAGwAAAGTMEACGAAAANQAAACsAAABkzBAAhgAAAEsAAAAJAAAAZMwQAIYAAABYAAAAEgAAAGTMEACGAAAAWQAAABIAAABkzBAAhgAAAHAAAAAWAAAAZMwQAIYAAABxAAAAFgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvdHJhbnNmb3JtYXRpb24vY29udmV4X2h1bGwzL3ZhbGlkYXRpb24ucnMAANjNEACCAAAABgAAABIAAADYzRAAggAAAA8AAAAUAAAA2M0QAIIAAAAPAAAACQAAANjNEACCAAAAEAAAAAkAAADYzRAAggAAABEAAAAJAAAA2M0QAIIAAAAVAAAACQAAANjNEACCAAAACQAAABEAAABhc3NlcnRpb24gZmFpbGVkOiBmYWNldHNbZmFjZXQuYWRqW2ldXS52YWxpZNjNEACCAAAACQAAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3RyYW5zZm9ybWF0aW9uL2NvbnZleF9odWxsX3V0aWxzLnJzCM8QAHwAAAApAAAAIgAAAAjPEAB8AAAAQgAAACIAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjE1LjAvc3JjL3RyYW5zZm9ybWF0aW9uL3RvX291dGxpbmUvYmFsbF90b19vdXRsaW5lLnJzAAAApM8QAIUAAAAeAAAAFAAAAKTPEACFAAAAIgAAABQAAACkzxAAhQAAADwAAAARAAAApM8QAIUAAABAAAAAEQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvdHJhbnNmb3JtYXRpb24vdG9fb3V0bGluZS9jYXBzdWxlX3RvX291dGxpbmUucnNs0BAAiAAAABwAAAAIAAAAAAAAAAEAAAAAAAAAAgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvdHJhbnNmb3JtYXRpb24vdG9fb3V0bGluZS9yb3VuZF9jb252ZXhfcG9seWhlZHJvbl90b19vdXRsaW5lLnJzFNEQAJgAAAAwAAAAGgAAABTREACYAAAAIgAAADQAAAAU0RAAmAAAACMAAAAeAAAAFNEQAJgAAAAPAAAAGgAAABTREACYAAAAEgAAADgAAAAU0RAAmAAAABUAAAAcAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy90cmFuc2Zvcm1hdGlvbi90b190cmltZXNoL2NvbnZleF9wb2x5aGVkcm9uX3RvX3RyaW1lc2gucnMAAAzSEACSAAAADQAAABwAAAAM0hAAkgAAAA8AAAAzAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xNS4wL3NyYy90cmFuc2Zvcm1hdGlvbi91dGlscy5yc8DSEABwAAAAxAAAABAAAADA0hAAcAAAAMUAAAAQAAAAYXNzZXJ0aW9uIGZhaWxlZDogbnN1YmRpdnMgPiAwAADA0hAAcAAAANYAAAAFAAAAwNIQAHAAAABEAQAAHQAAAMDSEABwAAAAMwEAACcAAABDYW5ub3QgY29tcHV0ZSB0aGUgY2VudGVyIG9mIGxlc3MgdGhhbiAxIHBvaW50LgCg0xAALwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvdXRpbHMvY2VudGVyLnJz2NMQAGgAAAAHAAAABQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTUuMC9zcmMvdXRpbHMvY2xlYW51cC5ycwAAAFDUEABpAAAAHQAAABEAAABQ1BAAaQAAAB4AAAARAAAAUNQQAGkAAAAfAAAAEQAAAFDUEABpAAAAEwAAAA0AAABQ1BAAaQAAABUAAAANAAAAUNQQAGkAAAAMAAAACQAAAFDUEABpAAAADQAAAAkAAABQ1BAAaQAAAA4AAAAJAAAA+LgQAHsAAAAHAAAAGAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1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dGVkYdwQADcAAABE3BAAHQAAAJgEAAANAAAAb3ZlcmZsb3cgd2hlbiBhZGRpbmcgZHVyYXRpb24gdG8gaW5zdGFudGxpYnJhcnkvc3RkL3NyYy90aW1lLnJzANjcEAAXAAAAoQEAACEAAABtZW1vcnkgYWxsb2NhdGlvbiBvZiAgYnl0ZXMgZmFpbGVkAAAA3RAAFQAAABXdEAANAAAAbGlicmFyeS9zdGQvc3JjL2FsbG9jLnJzNN0QABgAAABiAQAACQAAAGxpYnJhcnkvc3RkL3NyYy9wYW5pY2tpbmcucnNc3RAAHAAAAIQCAAAeAAAApAMAAAwAAAAEAAAAqAMAAKkDAAAIAAAABAAAAKoDAACpAwAACAAAAAQAAACrAwAArAMAAK0DAAAQAAAABAAAAK4DAACvAwAAsAMAAAAAAAABAAAAsQMAAHRpbWUgbm90IGltcGxlbWVudGVkIG9uIHRoaXMgcGxhdGZvcm0AAADg3RAAJQAAAGxpYnJhcnkvc3RkL3NyYy9zeXMvd2FzbS8uLi91bnN1cHBvcnRlZC90aW1lLnJzABDeEAAvAAAADQAAAAkAAABIYXNoIHRhYmxlIGNhcGFjaXR5IG92ZXJmbG93UN4QABwAAAAvcnVzdC9kZXBzL2hhc2hicm93bi0wLjE0LjMvc3JjL3Jhdy9tb2QucnMAAHTeEAAqAAAAVgAAACgAAABFcnJvckxheW91dEVycm9ysgMAAAwAAAAEAAAAswMAALQDAAC1AwAAbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yc2NhcGFjaXR5IG92ZXJmbG93AAAA9N4QABEAAADY3hAAHAAAADsCAAAFAAAAYSBmb3JtYXR0aW5nIHRyYWl0IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yALYDAAAAAAAAAQAAALcDAABsaWJyYXJ5L2FsbG9jL3NyYy9mbXQucnNk3xAAGAAAAGQCAAAgAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQC2AwAAAAAAAAEAAAC4AwAAbGlicmFyeS9hbGxvYy9zcmMvc3luYy5ycwAAAMjfEAAZAAAAbwEAADIAAABzd2FwX3JlbW92ZSBpbmRleCAoaXMgKSBzaG91bGQgYmUgPCBs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ADPuEAAbAAAAaQAAABcAAAAweDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAaOAQABsAAADyBQAAHwAAAGZhbHNldHJ1ZQAAAGjgEAAbAAAANQkAABoAAABo4BAAGwAAAC4JAAAiAAAAcmFuZ2Ugc3RhcnQgaW5kZXggIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIKjvEAASAAAAuu8QACIAAAByYW5nZSBlbmQgaW5kZXgg7O8QABAAAAC67xAAIgAAAHNsaWNlIGluZGV4IHN0YXJ0cyBhdCAgYnV0IGVuZHMgYXQgAAzwEAAWAAAAIvAQAA0AAABbLi4uXWJlZ2luIDw9IGVuZCAoIDw9ICkgd2hlbiBzbGljaW5nIGBgRfAQAA4AAABT8BAABAAAAFfwEAAQAAAAZ/AQAAEAAABieXRlIGluZGV4ICBpcyBub3QgYSBjaGFyIGJvdW5kYXJ5OyBpdCBpcyBpbnNpZGUgIChieXRlcyApIG9mIGAAiPAQAAsAAACT8BAAJgAAALnwEAAIAAAAwfAQAAYAAABn8BAAAQAAACBpcyBvdXQgb2YgYm91bmRzIG9mIGAAAIjwEAALAAAA8PAQABYAAABn8BAAAQAAAGxpYnJhcnkvY29yZS9zcmMvc3RyL21vZC5ycwAg8RAAGwAAAAkBAAAsAAAAbGlicmFyeS9jb3JlL3NyYy91bmljb2RlL3ByaW50YWJsZS5ycwAAAEzxEAAlAAAAGgAAADYAAABM8RAAJQAAAAoAAAArAAAAAAYBAQMBBAIFBwcCCAgJAgoFCwIOBBABEQISBRMRFAEVAhcCGQ0cBR0IHwEkAWoEawKvA7ECvALPAtEC1AzV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").buffer)})}function lL(){return function(){let g,A;try{const i=M.__wbindgen_add_to_stack_pointer(-16);M.version(i);var I=kI()[i/4+0],C=kI()[i/4+1];return g=I,A=C,gL(I,C)}finally{M.__wbindgen_add_to_stack_pointer(16),M.__wbindgen_free(g,A,1)}}()}rB[45]=62,rB[95]=63;var uW=Object.freeze({__proto__:null,version:lL,Vector3:nn,VectorOps:tA,Quaternion:Xh,RotationOps:qI,SdpMatrix3:oM,SdpMatrix3Ops:zh,get RigidBodyType(){return hB},RigidBody:BD,RigidBodyDesc:DB,RigidBodySet:nM,IntegrationParameters:sM,get JointType(){return SC},get MotorModel(){return $h},get JointAxesMask(){return AD},ImpulseJoint:fB,UnitImpulseJoint:hS,FixedImpulseJoint:aM,RopeImpulseJoint:rM,SpringImpulseJoint:lM,PrismaticImpulseJoint:cM,RevoluteImpulseJoint:hM,GenericImpulseJoint:DM,SphericalImpulseJoint:SM,JointData:oQ,ImpulseJointSet:wM,MultibodyJoint:ae,UnitMultibodyJoint:DS,FixedMultibodyJoint:GM,PrismaticMultibodyJoint:yM,RevoluteMultibodyJoint:uM,SphericalMultibodyJoint:kM,MultibodyJointSet:dM,get CoefficientCombineRule(){return Un},CCDSolver:MM,IslandManager:pM,BroadPhase:UM,NarrowPhase:fM,TempContactManifold:NM,Shape:QC,get ShapeType(){return Xg},get HeightFieldFlags(){return ID},get TriMeshFlags(){return gD},Ball:SS,HalfSpace:FM,Cuboid:wS,RoundCuboid:GS,Capsule:yS,Segment:uS,Triangle:kS,RoundTriangle:dS,Polyline:MS,TriMesh:pS,ConvexPolyhedron:Br,RoundConvexPolyhedron:Qr,Heightfield:US,Cylinder:fS,RoundCylinder:NS,Cone:FS,RoundCone:RS,get ActiveCollisionTypes(){return ir},Collider:eD,get MassPropsMode(){return Ve},ColliderDesc:mg,ColliderSet:xM,get FeatureType(){return KE},Ray:aL,RayIntersection:On,RayColliderIntersection:Nn,RayColliderHit:Jr,PointProjection:bn,PointColliderProjection:fn,ShapeCastHit:OE,ColliderShapeCastHit:_n,ShapeContact:JE,World:qr,PhysicsPipeline:RM,SerializationPipeline:QD,get ActiveEvents(){return VQ},TempContactForceEvent:HM,EventQueue:TM,get ActiveHooks(){return Cr},get SolverFlags(){return iD},DebugRenderBuffers:JM,DebugRenderPipeline:qM,get QueryFilterFlags(){return CD},QueryPipeline:KM,init:rL,CharacterCollision:mM,KinematicCharacterController:LM,DynamicRayCastVehicleController:YM});const kW=Object.freeze(Object.defineProperty({__proto__:null,get ActiveCollisionTypes(){return ir},get ActiveEvents(){return VQ},get ActiveHooks(){return Cr},Ball:SS,BroadPhase:UM,CCDSolver:MM,Capsule:yS,CharacterCollision:mM,get CoefficientCombineRule(){return Un},Collider:eD,ColliderDesc:mg,ColliderSet:xM,ColliderShapeCastHit:_n,Cone:FS,ConvexPolyhedron:Br,Cuboid:wS,Cylinder:fS,DebugRenderBuffers:JM,DebugRenderPipeline:qM,DynamicRayCastVehicleController:YM,EventQueue:TM,get FeatureType(){return KE},FixedImpulseJoint:aM,FixedMultibodyJoint:GM,GenericImpulseJoint:DM,HalfSpace:FM,get HeightFieldFlags(){return ID},Heightfield:US,ImpulseJoint:fB,ImpulseJointSet:wM,IntegrationParameters:sM,IslandManager:pM,get JointAxesMask(){return AD},JointData:oQ,get JointType(){return SC},KinematicCharacterController:LM,get MassPropsMode(){return Ve},get MotorModel(){return $h},MultibodyJoint:ae,MultibodyJointSet:dM,NarrowPhase:fM,PhysicsPipeline:RM,PointColliderProjection:fn,PointProjection:bn,Polyline:MS,PrismaticImpulseJoint:cM,PrismaticMultibodyJoint:yM,Quaternion:Xh,get QueryFilterFlags(){return CD},QueryPipeline:KM,Ray:aL,RayColliderHit:Jr,RayColliderIntersection:Nn,RayIntersection:On,RevoluteImpulseJoint:hM,RevoluteMultibodyJoint:uM,RigidBody:BD,RigidBodyDesc:DB,RigidBodySet:nM,get RigidBodyType(){return hB},RopeImpulseJoint:rM,RotationOps:qI,RoundCone:RS,RoundConvexPolyhedron:Qr,RoundCuboid:GS,RoundCylinder:NS,RoundTriangle:dS,SdpMatrix3:oM,SdpMatrix3Ops:zh,Segment:uS,SerializationPipeline:QD,Shape:QC,ShapeCastHit:OE,ShapeContact:JE,get ShapeType(){return Xg},get SolverFlags(){return iD},SphericalImpulseJoint:SM,SphericalMultibodyJoint:kM,SpringImpulseJoint:lM,TempContactForceEvent:HM,TempContactManifold:NM,TriMesh:pS,get TriMeshFlags(){return gD},Triangle:kS,UnitImpulseJoint:hS,UnitMultibodyJoint:DS,Vector3:nn,VectorOps:tA,World:qr,default:uW,init:rL,version:lL},Symbol.toStringTag,{value:"Module"}));function dW(g,A=1e-4){A=Math.max(A,Number.EPSILON);const I={},C=g.getIndex(),i=g.getAttribute("position"),B=C?C.count:i.count;let Q=0;const e=Object.keys(g.attributes),t={},E={},o=[],s=["getX","getY","getZ","getW"];for(let w=0,D=e.length;w[]))}const r=Math.log10(1/A),l=Math.pow(10,r);for(let w=0;w{const[A,I,C]=g;return new T(A,I,C)},eF=({x:g,y:A,z:I,w:C})=>pW.set(g,A,I,C),NW=g=>{if(Array.isArray(g))return new nn(g[0],g[1],g[2]);if(typeof g=="number")return new nn(g,g,g);{const A=g;return new nn(A.x,A.y,A.z)}},FW={fixed:1,dynamic:0,kinematicPosition:2,kinematicVelocity:3},cL=g=>FW[g],RW=(g,A)=>{const I=Array.from(g);for(let C=0;Cg?g instanceof Bg?[g.x,g.y,g.z,g.w]:g instanceof T||g instanceof mC?[g.x,g.y,g.z]:Array.isArray(g)?g:[g]:[0];function me(g){const A=z.useRef();return A.current===void 0&&(A.current={value:typeof g=="function"?g():g}),A.current.value}const KW=g=>{const A=z.useRef(g),I=z.useRef(0),C=z.useRef(0);z.useEffect(()=>{A.current=g},[g]),z.useEffect(()=>{const i=()=>{const B=performance.now(),Q=B-C.current;I.current=requestAnimationFrame(i),A.current(Q/1e3),C.current=B};return I.current=requestAnimationFrame(i),()=>cancelAnimationFrame(I.current)},[])},JW=({onStep:g,updatePriority:A})=>(MC((I,C)=>{g(C)},A),null),qW=({onStep:g})=>(KW(A=>{g(A)}),null),mW=({onStep:g,type:A,updatePriority:I})=>A==="independent"?UI.createElement(qW,{onStep:g}):UI.createElement(JW,{onStep:g,updatePriority:I});var LW=z.memo(mW);function YW(g,A){if(g==null)return{};var I={},C=Object.keys(g),i,B;for(B=0;B=0)&&(I[i]=g[i]);return I}function vM(g,A){if(g==null)return{};var I=YW(g,A),C,i;if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(g);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(g,C)&&(I[C]=g[C])}return I}const HW=["mass","linearDamping","angularDamping","type","onCollisionEnter","onCollisionExit","onIntersectionEnter","onIntersectionExit","onContactForce","children","canSleep","ccd","gravityScale","softCcdPrediction"],TW=(g,A,I)=>{const C=A.slice();if(g==="heightfield"){const B=C[3];return B.x*=I.x,B.x*=I.y,B.x*=I.z,C}if(g==="trimesh"||g==="convexHull")return C[0]=RW(C[0],I),C;const i=[I.x,I.y,I.z,I.x,I.x];return C.map((B,Q)=>i[Q]*B)},xW=(g,A,I,C)=>{const i=TW(g.shape,g.args,I),B=mg[g.shape](...i);return A.createCollider(B,C==null?void 0:C())},vW=["shape","args"],tF="Please pick ONLY ONE of the `density`, `mass` and `massProperties` options.",bW=(g,A)=>{if(A.density!==void 0){if(A.mass!==void 0||A.massProperties!==void 0)throw new Error(tF);g.setDensity(A.density);return}if(A.mass!==void 0){if(A.massProperties!==void 0)throw new Error(tF);g.setMass(A.mass);return}A.massProperties!==void 0&&g.setMassProperties(A.massProperties.mass,A.massProperties.centerOfMass,A.massProperties.principalAngularInertia,A.massProperties.angularInertiaLocalFrame)},DL={sensor:(g,A)=>{g.setSensor(A)},collisionGroups:(g,A)=>{g.setCollisionGroups(A)},solverGroups:(g,A)=>{g.setSolverGroups(A)},friction:(g,A)=>{g.setFriction(A)},frictionCombineRule:(g,A)=>{g.setFrictionCombineRule(A)},restitution:(g,A)=>{g.setRestitution(A)},restitutionCombineRule:(g,A)=>{g.setRestitutionCombineRule(A)},activeCollisionTypes:(g,A)=>{g.setActiveCollisionTypes(A)},contactSkin:(g,A)=>{g.setContactSkin(A)},quaternion:()=>{},position:()=>{},rotation:()=>{},scale:()=>{}},SL=Object.keys(DL),OW=(g,A,I)=>{const C=I.get(g.handle);if(C){var i;const B=C.object.parent.getWorldScale(UW),Q=(i=C.worldParent)===null||i===void 0?void 0:i.matrixWorld.clone().invert();C.object.updateWorldMatrix(!0,!1),Qt.copy(C.object.matrixWorld),Q&&Qt.premultiply(Q),Qt.decompose(RC,PB,qE),g.parent()?(g.setTranslationWrtParent({x:RC.x*B.x,y:RC.y*B.y,z:RC.z*B.z}),g.setRotationWrtParent(PB)):(g.setTranslation({x:RC.x*B.x,y:RC.y*B.y,z:RC.z*B.z}),g.setRotation(PB)),SL.forEach(e=>{if(e in A){const t=A[e];DL[e](g,t,A)}}),bW(g,A)}},_W=(g,A,I)=>{const C=z.useMemo(()=>SL.flatMap(i=>hL(A[i])),[A]);z.useEffect(()=>{const i=g();OW(i,A,I)},[...C,g])},PW=g=>{let A=!1;return g.traverseAncestors(I=>{I.userData.r3RapierType==="MeshCollider"&&(A=!0)}),A},ZW=(g,A,I)=>({collider:g,worldParent:I||void 0,object:A}),WW={cuboid:"cuboid",ball:"ball",hull:"convexHull",trimesh:"trimesh"},VW=({object:g,ignoreMeshColliders:A=!0,options:I})=>{const C=[];g.updateWorldMatrix(!0,!1);const i=g.matrixWorld.clone().invert(),B=Q=>{if("isMesh"in Q){if(A&&PW(Q))return;const e=Q.getWorldScale(qE),t=WW[I.colliders||"cuboid"];Q.updateWorldMatrix(!0,!1),Qt.copy(Q.matrixWorld).premultiply(i).decompose(RC,PB,qE);const E=new mC().setFromQuaternion(PB,"XYZ"),{geometry:o}=Q,{args:s,offset:r}=jW(o,I.colliders||"cuboid"),l=Cg(Cg({},GL(I)),{},{args:s,shape:t,rotation:[E.x,E.y,E.z],position:[RC.x+r.x*e.x,RC.y+r.y*e.y,RC.z+r.z*e.z],scale:[e.x,e.y,e.z]});C.push(l)}};return I.includeInvisible?g.traverse(B):g.traverseVisible(B),C},jW=(g,A)=>{switch(A){case"cuboid":{g.computeBoundingBox();const{boundingBox:C}=g,i=C.getSize(new T);return{args:[i.x/2,i.y/2,i.z/2],offset:C.getCenter(new T)}}case"ball":{g.computeBoundingSphere();const{boundingSphere:C}=g;return{args:[C.radius],offset:C.center}}case"trimesh":{var I;const C=g.index?g.clone():dW(g);return{args:[C.attributes.position.array,(I=C.index)===null||I===void 0?void 0:I.array],offset:new T}}case"hull":return{args:[g.clone().attributes.position.array],offset:new T}}return{args:[],offset:new T}},wL=g=>({collision:!!(g!=null&&g.onCollisionEnter||g!=null&&g.onCollisionExit||g!=null&&g.onIntersectionEnter||g!=null&&g.onIntersectionExit),contactForce:!!(g!=null&&g.onContactForce)}),XW=(g,A,I,C={})=>{const{onCollisionEnter:i,onCollisionExit:B,onIntersectionEnter:Q,onIntersectionExit:e,onContactForce:t}=A;z.useEffect(()=>{const E=g();if(E){const{collision:o,contactForce:s}=wL(A),r=o||C.collision,l=s||C.contactForce;r&&l?E.setActiveEvents(VQ.COLLISION_EVENTS|VQ.CONTACT_FORCE_EVENTS):r?E.setActiveEvents(VQ.COLLISION_EVENTS):l&&E.setActiveEvents(VQ.CONTACT_FORCE_EVENTS),I.set(E.handle,{onCollisionEnter:i,onCollisionExit:B,onIntersectionEnter:Q,onIntersectionExit:e,onContactForce:t})}return()=>{E&&I.delete(E.handle)}},[i,B,Q,e,t,C])},GL=(g={})=>vM(g,HW),KS=()=>{const g=z.useContext(yL);if(!g)throw new Error("react-three-rapier: useRapier must be used within !");return g},bM=(g,A,I=!0)=>{const[C,i]=z.useState([]);return z.useEffect(()=>{g.current&&A.colliders!==!1&&i(VW({object:g.current,options:A,ignoreMeshColliders:I}))},[A.colliders]),C},zW=z.memo(()=>{const{world:g}=KS(),A=z.useRef(null);return MC(()=>{const I=A.current;if(!I)return;const C=g.debugRender();I.geometry.setAttribute("position",new yI(C.vertices,3)),I.geometry.setAttribute("color",new yI(C.colors,4))}),UI.createElement("group",null,UI.createElement("lineSegments",{ref:A,frustumCulled:!1},UI.createElement("lineBasicMaterial",{color:16777215,vertexColors:!0}),UI.createElement("bufferGeometry",null)))}),$W=g=>{let A;const I={get(Q,e){return A||(A=g()),Reflect.get(A,e)},set(Q,e,t){return A||(A=g()),Reflect.set(A,e,t)}};return{proxy:new Proxy({},I),reset:()=>{A=void 0},set:Q=>{A=Q}}},yL=z.createContext(void 0),bc=(g,A)=>{var I,C,i,B,Q,e;return{target:{rigidBody:g.rigidBody.object,collider:g.collider.object,colliderObject:(I=g.collider.state)===null||I===void 0?void 0:I.object,rigidBodyObject:(C=g.rigidBody.state)===null||C===void 0?void 0:C.object},other:{rigidBody:A.rigidBody.object,collider:A.collider.object,colliderObject:(i=A.collider.state)===null||i===void 0?void 0:i.object,rigidBodyObject:(B=A.rigidBody.state)===null||B===void 0?void 0:B.object},rigidBody:A.rigidBody.object,collider:A.collider.object,colliderObject:(Q=A.collider.state)===null||Q===void 0?void 0:Q.object,rigidBodyObject:(e=A.rigidBody.state)===null||e===void 0?void 0:e.object}},EF=async()=>{let g=await YZ(()=>Promise.resolve().then(()=>kW),void 0);return await g.init(),g},A8=g=>{const{colliders:A="cuboid",children:I,timeStep:C=1/60,paused:i=!1,interpolate:B=!0,updatePriority:Q,updateLoop:e="follow",debug:t=!1,gravity:E=[0,-9.81,0],allowedLinearError:o=.001,predictionDistance:s=.002,numSolverIterations:r=4,numAdditionalFrictionIterations:l=4,numInternalPgsIterations:h=1,minIslandSize:w=128,maxCcdSubsteps:D=1,erp:c=.8,lengthUnit:G=1}=g,y=Fr(EF,["@react-thee/rapier",EF]),{invalidate:k}=Ee(),F=me(()=>new Map),U=me(()=>new Map),f=me(()=>new Map),K=me(()=>new Map),N=me(()=>new TM(!1)),p=me(()=>new Set),m=me(()=>new Set),{proxy:q,reset:L,set:_}=me(()=>$W(()=>new y.World(fW(E))));z.useEffect(()=>()=>{q.free(),L()},[]),z.useEffect(()=>{q.gravity=NW(E),q.integrationParameters.numSolverIterations=r,q.integrationParameters.numAdditionalFrictionIterations=l,q.integrationParameters.numInternalPgsIterations=h,q.integrationParameters.normalizedAllowedLinearError=o,q.integrationParameters.minIslandSize=w,q.integrationParameters.maxCcdSubsteps=D,q.integrationParameters.normalizedPredictionDistance=s,q.integrationParameters.erp=c,q.lengthUnit=G},[q,...E,r,l,h,o,w,D,s,c,G]);const IA=z.useCallback(v=>{var Y;const j=q.getCollider(v),QA=K.get(v),P=U.get(v),X=j==null||(Y=j.parent())===null||Y===void 0?void 0:Y.handle,gA=X!==void 0?q.getRigidBody(X):void 0,AA=gA&&X!==void 0?f.get(X):void 0,wA=X!==void 0?F.get(X):void 0;return{collider:{object:j,events:QA,state:P},rigidBody:{object:gA,events:AA,state:wA}}},[]),[CA]=z.useState({previousState:{},accumulator:0}),lA=z.useCallback(v=>{const Y=q,j=C==="vary",QA=RD.clamp(v,0,.5),P=gA=>{p.forEach(AA=>{AA.current(Y)}),Y.timestep=gA,Y.step(N),m.forEach(AA=>{AA.current(Y)})};if(j)P(QA);else for(CA.accumulator+=QA;CA.accumulator>=C;)B&&(CA.previousState={},Y.forEachRigidBody(gA=>{CA.previousState[gA.handle]={position:gA.translation(),rotation:gA.rotation()}})),P(C),CA.accumulator-=C;const X=j||!B||i?1:CA.accumulator/C;F.forEach((gA,AA)=>{const wA=Y.getRigidBody(AA),dA=f.get(AA);if(dA!=null&&dA.onSleep||dA!=null&&dA.onWake){if(wA.isSleeping()&&!gA.isSleeping){var V;dA==null||(V=dA.onSleep)===null||V===void 0||V.call(dA)}if(!wA.isSleeping()&&gA.isSleeping){var MA;dA==null||(MA=dA.onWake)===null||MA===void 0||MA.call(dA)}gA.isSleeping=wA.isSleeping()}if(!wA||wA.isSleeping()&&!("isInstancedMesh"in gA.object)||!gA.setMatrix)return;let $=wA.translation(),GA=wA.rotation(),cA=CA.previousState[AA];cA&&(Qt.compose(cA.position,eF(cA.rotation),gA.scale).premultiply(gA.invertedWorldMatrix).decompose(RC,PB,qE),gA.meshType=="mesh"&&(gA.object.position.copy(RC),gA.object.quaternion.copy(PB))),Qt.compose($,eF(GA),gA.scale).premultiply(gA.invertedWorldMatrix).decompose(RC,PB,qE),gA.meshType=="instancedMesh"?gA.setMatrix(Qt):(gA.object.position.lerp(RC,X),gA.object.quaternion.slerp(PB,X))}),N.drainCollisionEvents((gA,AA,wA)=>{const dA=IA(gA),V=IA(AA);if(!(dA!=null&&dA.collider.object)||!(V!=null&&V.collider.object))return;const MA=bc(dA,V),$=bc(V,dA);if(wA)Y.contactPair(dA.collider.object,V.collider.object,(gI,BA)=>{var KA,DA,HA,jA,QI,BI,wI,pI;(KA=dA.rigidBody.events)===null||KA===void 0||(DA=KA.onCollisionEnter)===null||DA===void 0||DA.call(KA,Cg(Cg({},MA),{},{manifold:gI,flipped:BA})),(HA=V.rigidBody.events)===null||HA===void 0||(jA=HA.onCollisionEnter)===null||jA===void 0||jA.call(HA,Cg(Cg({},$),{},{manifold:gI,flipped:BA})),(QI=dA.collider.events)===null||QI===void 0||(BI=QI.onCollisionEnter)===null||BI===void 0||BI.call(QI,Cg(Cg({},MA),{},{manifold:gI,flipped:BA})),(wI=V.collider.events)===null||wI===void 0||(pI=wI.onCollisionEnter)===null||pI===void 0||pI.call(wI,Cg(Cg({},$),{},{manifold:gI,flipped:BA}))});else{var GA,cA,pA,SA,LA,UA,x,J;(GA=dA.rigidBody.events)===null||GA===void 0||(cA=GA.onCollisionExit)===null||cA===void 0||cA.call(GA,MA),(pA=V.rigidBody.events)===null||pA===void 0||(SA=pA.onCollisionExit)===null||SA===void 0||SA.call(pA,$),(LA=dA.collider.events)===null||LA===void 0||(UA=LA.onCollisionExit)===null||UA===void 0||UA.call(LA,MA),(x=V.collider.events)===null||x===void 0||(J=x.onCollisionExit)===null||J===void 0||J.call(x,$)}if(wA){if(Y.intersectionPair(dA.collider.object,V.collider.object)){var Z,sA,EA,aA,qA,TA,fA,bA;(Z=dA.rigidBody.events)===null||Z===void 0||(sA=Z.onIntersectionEnter)===null||sA===void 0||sA.call(Z,MA),(EA=V.rigidBody.events)===null||EA===void 0||(aA=EA.onIntersectionEnter)===null||aA===void 0||aA.call(EA,$),(qA=dA.collider.events)===null||qA===void 0||(TA=qA.onIntersectionEnter)===null||TA===void 0||TA.call(qA,MA),(fA=V.collider.events)===null||fA===void 0||(bA=fA.onIntersectionEnter)===null||bA===void 0||bA.call(fA,$)}}else{var RA,OA,zA,VA,YA,PA,xA,aI;(RA=dA.rigidBody.events)===null||RA===void 0||(OA=RA.onIntersectionExit)===null||OA===void 0||OA.call(RA,MA),(zA=V.rigidBody.events)===null||zA===void 0||(VA=zA.onIntersectionExit)===null||VA===void 0||VA.call(zA,$),(YA=dA.collider.events)===null||YA===void 0||(PA=YA.onIntersectionExit)===null||PA===void 0||PA.call(YA,MA),(xA=V.collider.events)===null||xA===void 0||(aI=xA.onIntersectionExit)===null||aI===void 0||aI.call(xA,$)}}),N.drainContactForceEvents(gA=>{var AA,wA,dA,V,MA,$,GA,cA;const pA=IA(gA.collider1()),SA=IA(gA.collider2());if(!(pA!=null&&pA.collider.object)||!(SA!=null&&SA.collider.object))return;const LA=bc(pA,SA),UA=bc(SA,pA);(AA=pA.rigidBody.events)===null||AA===void 0||(wA=AA.onContactForce)===null||wA===void 0||wA.call(AA,Cg(Cg({},LA),{},{totalForce:gA.totalForce(),totalForceMagnitude:gA.totalForceMagnitude(),maxForceDirection:gA.maxForceDirection(),maxForceMagnitude:gA.maxForceMagnitude()})),(dA=SA.rigidBody.events)===null||dA===void 0||(V=dA.onContactForce)===null||V===void 0||V.call(dA,Cg(Cg({},UA),{},{totalForce:gA.totalForce(),totalForceMagnitude:gA.totalForceMagnitude(),maxForceDirection:gA.maxForceDirection(),maxForceMagnitude:gA.maxForceMagnitude()})),(MA=pA.collider.events)===null||MA===void 0||($=MA.onContactForce)===null||$===void 0||$.call(MA,Cg(Cg({},LA),{},{totalForce:gA.totalForce(),totalForceMagnitude:gA.totalForceMagnitude(),maxForceDirection:gA.maxForceDirection(),maxForceMagnitude:gA.maxForceMagnitude()})),(GA=SA.collider.events)===null||GA===void 0||(cA=GA.onContactForce)===null||cA===void 0||cA.call(GA,Cg(Cg({},UA),{},{totalForce:gA.totalForce(),totalForceMagnitude:gA.totalForceMagnitude(),maxForceDirection:gA.maxForceDirection(),maxForceMagnitude:gA.maxForceMagnitude()}))}),Y.forEachActiveRigidBody(()=>{k()})},[i,C,B,q]),H=z.useMemo(()=>({rapier:y,world:q,setWorld:v=>{_(v)},physicsOptions:{colliders:A,gravity:E},rigidBodyStates:F,colliderStates:U,rigidBodyEvents:f,colliderEvents:K,beforeStepCallbacks:p,afterStepCallbacks:m,isPaused:i,isDebug:t,step:lA}),[i,lA,t,A,E]),O=z.useCallback(v=>{i||lA(v)},[i,lA]);return UI.createElement(yL.Provider,{value:H},UI.createElement(LW,{onStep:O,type:e,updatePriority:Q}),t&&UI.createElement(zW,null),I)};function kC(){return kC=Object.assign?Object.assign.bind():function(g){for(var A=1;A{const C=z.useRef(),i=z.useCallback(()=>(C.current||(C.current=g()),C.current),I);return z.useEffect(()=>{const B=i(),Q=()=>A(B);return()=>{Q(),C.current=void 0}},[i]),i},I8=({x:g,y:A,z:I}={x:0,y:0,z:0})=>new T(g,A,I),OM=(g,A=null)=>{const I=z.useRef(A);return g&&typeof g!="function"?(g.current||(g.current=I.current),g):I},CB=z.memo(z.forwardRef((g,A)=>{const{children:I,position:C,rotation:i,quaternion:B,scale:Q,name:e}=g,{world:t,colliderEvents:E,colliderStates:o}=KS(),s=fL(),r=OM(A),l=z.useRef(null),h=vW.flatMap(c=>Array.isArray(g[c])?[...g[c]]:g[c]),w=uL(()=>{const c=l.current.getWorldScale(I8()),G=xW(g,t,c,s==null?void 0:s.getRigidBody);return typeof A=="function"&&A(G),r.current=G,G},c=>{t.getCollider(c.handle)&&t.removeCollider(c,!0)},[...h,s]);z.useEffect(()=>{const c=w();return o.set(c.handle,ZW(c,l.current,s==null?void 0:s.ref.current)),()=>{o.delete(c.handle)}},[w]);const D=z.useMemo(()=>Cg(Cg({},GL(s==null?void 0:s.options)),g),[g,s==null?void 0:s.options]);return _W(w,D,o),XW(w,D,E,wL(s==null?void 0:s.options)),UI.createElement("object3D",{position:C,rotation:i,quaternion:B,scale:Q,ref:l,name:e},I)})),kL=UI.forwardRef((g,A)=>UI.createElement(CB,kC({},g,{shape:"cuboid",ref:A})));kL.displayName="CuboidCollider";const g8=UI.forwardRef((g,A)=>UI.createElement(CB,kC({},g,{shape:"roundCuboid",ref:A})));g8.displayName="RoundCuboidCollider";const dL=UI.forwardRef((g,A)=>UI.createElement(CB,kC({},g,{shape:"ball",ref:A})));dL.displayName="BallCollider";const C8=UI.forwardRef((g,A)=>UI.createElement(CB,kC({},g,{shape:"capsule",ref:A})));C8.displayName="CapsuleCollider";const i8=UI.forwardRef((g,A)=>UI.createElement(CB,kC({},g,{shape:"heightfield",ref:A})));i8.displayName="HeightfieldCollider";const B8=UI.forwardRef((g,A)=>UI.createElement(CB,kC({},g,{shape:"trimesh",ref:A})));B8.displayName="TrimeshCollider";const Q8=UI.forwardRef((g,A)=>UI.createElement(CB,kC({},g,{shape:"cone",ref:A})));Q8.displayName="ConeCollider";const e8=UI.forwardRef((g,A)=>UI.createElement(CB,kC({},g,{shape:"roundCone",ref:A})));e8.displayName="RoundConeCollider";const _M=UI.forwardRef((g,A)=>UI.createElement(CB,kC({},g,{shape:"cylinder",ref:A})));_M.displayName="CylinderCollider";_M.displayName="RoundCylinderCollider";const t8=UI.forwardRef((g,A)=>UI.createElement(CB,kC({},g,{shape:"convexHull",ref:A})));t8.displayName="ConvexHullCollider";const E8=g=>{var A;const I=cL((g==null?void 0:g.type)||"dynamic"),C=new DB(I);return C.canSleep=(A=g==null?void 0:g.canSleep)!==null&&A!==void 0?A:!0,C},o8=({rigidBody:g,object:A,setMatrix:I,getMatrix:C,worldScale:i,meshType:B="mesh"})=>{A.updateWorldMatrix(!0,!1);const Q=A.parent.matrixWorld.clone().invert();return{object:A,rigidBody:g,invertedWorldMatrix:Q,setMatrix:I||(e=>{A.matrix.copy(e)}),getMatrix:C||(e=>e.copy(A.matrix)),scale:i||A.getWorldScale(qE).clone(),isSleeping:!1,meshType:B}},n8=["args","colliders","canSleep"],ML={gravityScale:(g,A)=>{g.setGravityScale(A,!0)},additionalSolverIterations(g,A){g.setAdditionalSolverIterations(A)},linearDamping:(g,A)=>{g.setLinearDamping(A)},angularDamping:(g,A)=>{g.setAngularDamping(A)},dominanceGroup:(g,A)=>{g.setDominanceGroup(A)},enabledRotations:(g,[A,I,C])=>{g.setEnabledRotations(A,I,C,!0)},enabledTranslations:(g,[A,I,C])=>{g.setEnabledTranslations(A,I,C,!0)},lockRotations:(g,A)=>{g.lockRotations(A,!0)},lockTranslations:(g,A)=>{g.lockTranslations(A,!0)},angularVelocity:(g,[A,I,C])=>{g.setAngvel({x:A,y:I,z:C},!0)},linearVelocity:(g,[A,I,C])=>{g.setLinvel({x:A,y:I,z:C},!0)},ccd:(g,A)=>{g.enableCcd(A)},softCcdPrediction:(g,A)=>{g.setSoftCcdPrediction(A)},userData:(g,A)=>{g.userData=A},type(g,A){g.setBodyType(cL(A),!0)},position:()=>{},rotation:()=>{},quaternion:()=>{},scale:()=>{}},pL=Object.keys(ML),s8=(g,A,I,C=!0)=>{if(!g)return;const i=I.get(g.handle);i&&(C&&(i.object.updateWorldMatrix(!0,!1),Qt.copy(i.object.matrixWorld).decompose(RC,PB,qE),g.setTranslation(RC,!1),g.setRotation(PB,!1)),pL.forEach(B=>{B in A&&ML[B](g,A[B])}))},a8=(g,A,I,C=!0)=>{const i=z.useMemo(()=>pL.flatMap(B=>hL(A[B])),[A]);z.useEffect(()=>{const B=g();s8(B,A,I,C)},i)},r8=(g,A,I)=>{const{onWake:C,onSleep:i,onCollisionEnter:B,onCollisionExit:Q,onIntersectionEnter:e,onIntersectionExit:t,onContactForce:E}=A,o={onWake:C,onSleep:i,onCollisionEnter:B,onCollisionExit:Q,onIntersectionEnter:e,onIntersectionExit:t,onContactForce:E};z.useEffect(()=>{const s=g();return I.set(s.handle,o),()=>{I.delete(s.handle)}},[C,i,B,Q,e,t,E])},l8=["children","type","position","rotation","scale","quaternion","transformState"],UL=z.createContext(void 0),fL=()=>z.useContext(UL),er=z.memo(z.forwardRef((g,A)=>{const{children:I,type:C,position:i,rotation:B,scale:Q,quaternion:e,transformState:t}=g,E=vM(g,l8),o=z.useRef(null),s=OM(A),{world:r,rigidBodyStates:l,physicsOptions:h,rigidBodyEvents:w}=KS(),D=z.useMemo(()=>Cg(Cg(Cg({},h),g),{},{children:void 0}),[h,g]),c=n8.flatMap(F=>Array.isArray(D[F])?[...D[F]]:D[F]),G=bM(o,D),y=uL(()=>{const F=E8(D),U=r.createRigidBody(F);return typeof A=="function"&&A(U),s.current=U,U},F=>{r.getRigidBody(F.handle)&&r.removeRigidBody(F)},c);z.useEffect(()=>{const F=y(),U=o8({rigidBody:F,object:o.current});return l.set(F.handle,g.transformState?g.transformState(U):U),()=>{l.delete(F.handle)}},[y]),a8(y,D,l),r8(y,D,w);const k=z.useMemo(()=>({ref:o,getRigidBody:y,options:D}),[y]);return UI.createElement(UL.Provider,{value:k},UI.createElement("object3D",kC({ref:o},E,{position:i,rotation:B,quaternion:e,scale:Q}),I,G.map((F,U)=>UI.createElement(CB,kC({key:U},F)))))}));er.displayName="RigidBody";const c8=z.memo(g=>{const{children:A,type:I}=g,{physicsOptions:C}=KS(),i=z.useRef(null),{options:B}=fL(),Q=z.useMemo(()=>Cg(Cg(Cg({},C),B),{},{children:void 0,colliders:I}),[C,B]),e=bM(i,Q,!1);return UI.createElement("object3D",{ref:i,userData:{r3RapierType:"MeshCollider"}},A,e.map((t,E)=>UI.createElement(CB,kC({key:E},t))))});c8.displayName="MeshCollider";const h8=["children","instances","colliderNodes","position","rotation","quaternion","scale"],D8=z.memo(z.forwardRef((g,A)=>{const I=OM(A,[]),C=z.useRef(null),i=z.useRef(null),{children:B,instances:Q,colliderNodes:e=[],position:t,rotation:E,quaternion:o,scale:s}=g,r=vM(g,h8),l=bM(C,Cg(Cg({},g),{},{children:void 0})),h=()=>{const D=i.current.children[0];if(D&&"isInstancedMesh"in D)return D};z.useEffect(()=>{const D=h();D?D.instanceMatrix.setUsage(Qq):console.warn("InstancedRigidBodies expects exactly one child, which must be an InstancedMesh")},[]);const w=(D,c)=>{const G=h();return G?Cg(Cg({},D),{},{getMatrix:y=>(G.getMatrixAt(c,y),y),setMatrix:y=>{G.setMatrixAt(c,y),G.instanceMatrix.needsUpdate=!0},meshType:"instancedMesh"}):D};return UI.createElement("object3D",kC({ref:C},r,{position:t,rotation:E,quaternion:o,scale:s}),UI.createElement("object3D",{ref:i},B),Q==null?void 0:Q.map((D,c)=>UI.createElement(er,kC({},r,D,{ref:G=>I.current[c]=G,transformState:G=>w(G,c)}),UI.createElement(UI.Fragment,null,e.map((G,y)=>UI.createElement(z.Fragment,{key:y},G)),l.map((G,y)=>UI.createElement(CB,kC({key:y},G)))))))}));D8.displayName="InstancedRigidBodies";function Dh(g,A,I){return Math.max(A,Math.min(I,g))}const S8=.05,oF=.1;function NL(g,A,I){const C=A.gamepad;if(C==null)return;const i=I.components;for(const B in i){let Q=g[B];Q==null&&(g[B]=Q={});const{gamepadIndices:e}=i[B];let t=!1,E=!1;if(e.button!=null&&e.buttonS8)}e.xAxis!=null&&e.xAxisoF)),e.yAxis!=null&&e.yAxisoF)),Q.state=t?"pressed":E?"touched":"default"}}function nF(g,A){if(A===Md)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),g;if(A===UE||A===Dr){let I=g.getIndex();if(I===null){const Q=[],e=g.getAttribute("position");if(e!==void 0){for(let t=0;t=2.0 are supported."));return}const E=new $8(B,{path:I||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});E.fileLoader.setRequestHeader(this.requestHeader);for(let o=0;o=0&&e[s]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+s+'".')}}E.setExtensions(Q),E.setPlugins(e),E.parse(C,i)}parseAsync(A,I){const C=this;return new Promise(function(i,B){C.parse(A,I,i,B)})}}function G8(){let g={};return{get:function(A){return g[A]},add:function(A,I){g[A]=I},remove:function(A){delete g[A]},removeAll:function(){g={}}}}const OI={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class y8{constructor(A){this.parser=A,this.name=OI.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const A=this.parser,I=this.parser.json.nodes||[];for(let C=0,i=I.length;C=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return I.loadTextureImage(A,B.source,Q)}}class m8{constructor(A){this.parser=A,this.name=OI.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(A){const I=this.name,C=this.parser,i=C.json,B=i.textures[A];if(!B.extensions||!B.extensions[I])return null;const Q=B.extensions[I],e=i.images[Q.source];let t=C.textureLoader;if(e.uri){const E=C.options.manager.getHandler(e.uri);E!==null&&(t=E)}return this.detectSupport().then(function(E){if(E)return C.loadTextureImage(A,Q.source,t);if(i.extensionsRequired&&i.extensionsRequired.indexOf(I)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return C.loadTexture(A)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(A){const I=new Image;I.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",I.onload=I.onerror=function(){A(I.height===1)}})),this.isSupported}}class L8{constructor(A){this.parser=A,this.name=OI.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(A){const I=this.name,C=this.parser,i=C.json,B=i.textures[A];if(!B.extensions||!B.extensions[I])return null;const Q=B.extensions[I],e=i.images[Q.source];let t=C.textureLoader;if(e.uri){const E=C.options.manager.getHandler(e.uri);E!==null&&(t=E)}return this.detectSupport().then(function(E){if(E)return C.loadTextureImage(A,Q.source,t);if(i.extensionsRequired&&i.extensionsRequired.indexOf(I)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return C.loadTexture(A)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(A){const I=new Image;I.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",I.onload=I.onerror=function(){A(I.height===1)}})),this.isSupported}}class Y8{constructor(A){this.name=OI.EXT_MESHOPT_COMPRESSION,this.parser=A}loadBufferView(A){const I=this.parser.json,C=I.bufferViews[A];if(C.extensions&&C.extensions[this.name]){const i=C.extensions[this.name],B=this.parser.getDependency("buffer",i.buffer),Q=this.parser.options.meshoptDecoder;if(!Q||!Q.supported){if(I.extensionsRequired&&I.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return B.then(function(e){const t=i.byteOffset||0,E=i.byteLength||0,o=i.count,s=i.byteStride,r=new Uint8Array(e,t,E);return Q.decodeGltfBufferAsync?Q.decodeGltfBufferAsync(o,s,r,i.mode,i.filter).then(function(l){return l.buffer}):Q.ready.then(function(){const l=new ArrayBuffer(o*s);return Q.decodeGltfBuffer(new Uint8Array(l),o,s,r,i.mode,i.filter),l})})}else return null}}class H8{constructor(A){this.name=OI.EXT_MESH_GPU_INSTANCING,this.parser=A}createNodeMesh(A){const I=this.parser.json,C=I.nodes[A];if(!C.extensions||!C.extensions[this.name]||C.mesh===void 0)return null;const i=I.meshes[C.mesh];for(const E of i.primitives)if(E.mode!==cB.TRIANGLES&&E.mode!==cB.TRIANGLE_STRIP&&E.mode!==cB.TRIANGLE_FAN&&E.mode!==void 0)return null;const Q=C.extensions[this.name].attributes,e=[],t={};for(const E in Q)e.push(this.parser.getDependency("accessor",Q[E]).then(o=>(t[E]=o,t[E])));return e.length<1?null:(e.push(this.parser.createNodeMesh(A)),Promise.all(e).then(E=>{const o=E.pop(),s=o.isGroup?o.children:[o],r=E[0].count,l=[];for(const h of s){const w=new iI,D=new T,c=new Bg,G=new T(1,1,1),y=new kr(h.geometry,h.material,r);for(let k=0;k0||g.search(/^data\:image\/jpeg/)===0?"image/jpeg":g.search(/\.webp($|\?)/i)>0||g.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const z8=new iI;class $8{constructor(A={},I={}){this.json=A,this.extensions={},this.plugins={},this.options=I,this.cache=new G8,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let C=!1,i=!1,B=-1;typeof navigator<"u"&&(C=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,i=navigator.userAgent.indexOf("Firefox")>-1,B=i?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||C||i&&B<98?this.textureLoader=new xn(this.options.manager):this.textureLoader=new Wd(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Di(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(A){this.extensions=A}setPlugins(A){this.plugins=A}parse(A,I){const C=this,i=this.json,B=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(Q){return Q._markDefs&&Q._markDefs()}),Promise.all(this._invokeAll(function(Q){return Q.beforeRoot&&Q.beforeRoot()})).then(function(){return Promise.all([C.getDependencies("scene"),C.getDependencies("animation"),C.getDependencies("camera")])}).then(function(Q){const e={scene:Q[0][i.scene||0],scenes:Q[0],animations:Q[1],cameras:Q[2],asset:i.asset,parser:C,userData:{}};return Xt(B,e,i),Te(e,i),Promise.all(C._invokeAll(function(t){return t.afterRoot&&t.afterRoot(e)})).then(function(){for(const t of e.scenes)t.updateMatrixWorld();A(e)})}).catch(I)}_markDefs(){const A=this.json.nodes||[],I=this.json.skins||[],C=this.json.meshes||[];for(let i=0,B=I.length;i{const t=this.associations.get(Q);t!=null&&this.associations.set(e,t);for(const[E,o]of Q.children.entries())B(o,e.children[E])};return B(C,i),i.name+="_instance_"+A.uses[I]++,i}_invokeOne(A){const I=Object.values(this.plugins);I.push(this);for(let C=0;C=2&&D.setY(N,U[f*t+1]),t>=3&&D.setZ(N,U[f*t+2]),t>=4&&D.setW(N,U[f*t+3]),t>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return D})}loadTexture(A){const I=this.json,C=this.options,B=I.textures[A].source,Q=I.images[B];let e=this.textureLoader;if(Q.uri){const t=C.manager.getHandler(Q.uri);t!==null&&(e=t)}return this.loadTextureImage(A,B,e)}loadTextureImage(A,I,C){const i=this,B=this.json,Q=B.textures[A],e=B.images[I],t=(e.uri||e.bufferView)+":"+Q.sampler;if(this.textureCache[t])return this.textureCache[t];const E=this.loadImageSource(I,C).then(function(o){o.flipY=!1,o.name=Q.name||e.name||"",o.name===""&&typeof e.uri=="string"&&e.uri.startsWith("data:image/")===!1&&(o.name=e.uri);const r=(B.samplers||{})[Q.sampler]||{};return o.magFilter=aF[r.magFilter]||hg,o.minFilter=aF[r.minFilter]||Ri,o.wrapS=rF[r.wrapS]||jB,o.wrapT=rF[r.wrapT]||jB,i.associations.set(o,{textures:A}),o}).catch(function(){return null});return this.textureCache[t]=E,E}loadImageSource(A,I){const C=this,i=this.json,B=this.options;if(this.sourceCache[A]!==void 0)return this.sourceCache[A].then(s=>s.clone());const Q=i.images[A],e=self.URL||self.webkitURL;let t=Q.uri||"",E=!1;if(Q.bufferView!==void 0)t=C.getDependency("bufferView",Q.bufferView).then(function(s){E=!0;const r=new Blob([s],{type:Q.mimeType});return t=e.createObjectURL(r),t});else if(Q.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+A+" is missing URI and bufferView");const o=Promise.resolve(t).then(function(s){return new Promise(function(r,l){let h=r;I.isImageBitmapLoader===!0&&(h=function(w){const D=new ig(w);D.needsUpdate=!0,r(D)}),I.load($i.resolveURL(s,B.path),h,void 0,l)})}).then(function(s){return E===!0&&e.revokeObjectURL(t),s.userData.mimeType=Q.mimeType||X8(Q.uri),s}).catch(function(s){throw console.error("THREE.GLTFLoader: Couldn't load texture",t),s});return this.sourceCache[A]=o,o}assignTexture(A,I,C,i){const B=this;return this.getDependency("texture",C.index).then(function(Q){if(!Q)return null;if(C.texCoord!==void 0&&C.texCoord>0&&(Q=Q.clone(),Q.channel=C.texCoord),B.extensions[OI.KHR_TEXTURE_TRANSFORM]){const e=C.extensions!==void 0?C.extensions[OI.KHR_TEXTURE_TRANSFORM]:void 0;if(e){const t=B.associations.get(Q);Q=B.extensions[OI.KHR_TEXTURE_TRANSFORM].extendTexture(Q,e),B.associations.set(Q,t)}}return i!==void 0&&(Q.colorSpace=i),A[I]=Q,Q})}assignFinalMaterial(A){const I=A.geometry;let C=A.material;const i=I.attributes.tangent===void 0,B=I.attributes.color!==void 0,Q=I.attributes.normal===void 0;if(A.isPoints){const e="PointsMaterial:"+C.uuid;let t=this.cache.get(e);t||(t=new dr,Gg.prototype.copy.call(t,C),t.color.copy(C.color),t.map=C.map,t.sizeAttenuation=!1,this.cache.add(e,t)),C=t}else if(A.isLine){const e="LineBasicMaterial:"+C.uuid;let t=this.cache.get(e);t||(t=new YC,Gg.prototype.copy.call(t,C),t.color.copy(C.color),t.map=C.map,this.cache.add(e,t)),C=t}if(i||B||Q){let e="ClonedMaterial:"+C.uuid+":";i&&(e+="derivative-tangents:"),B&&(e+="vertex-colors:"),Q&&(e+="flat-shading:");let t=this.cache.get(e);t||(t=C.clone(),B&&(t.vertexColors=!0),Q&&(t.flatShading=!0),i&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(e,t),this.associations.set(t,this.associations.get(C))),C=t}A.material=C}getMaterialType(){return HE}loadMaterial(A){const I=this,C=this.json,i=this.extensions,B=C.materials[A];let Q;const e={},t=B.extensions||{},E=[];if(t[OI.KHR_MATERIALS_UNLIT]){const s=i[OI.KHR_MATERIALS_UNLIT];Q=s.getMaterialType(),E.push(s.extendParams(e,B,I))}else{const s=B.pbrMetallicRoughness||{};if(e.color=new ZA(1,1,1),e.opacity=1,Array.isArray(s.baseColorFactor)){const r=s.baseColorFactor;e.color.setRGB(r[0],r[1],r[2],dC),e.opacity=r[3]}s.baseColorTexture!==void 0&&E.push(I.assignTexture(e,"map",s.baseColorTexture,FC)),e.metalness=s.metallicFactor!==void 0?s.metallicFactor:1,e.roughness=s.roughnessFactor!==void 0?s.roughnessFactor:1,s.metallicRoughnessTexture!==void 0&&(E.push(I.assignTexture(e,"metalnessMap",s.metallicRoughnessTexture)),E.push(I.assignTexture(e,"roughnessMap",s.metallicRoughnessTexture))),Q=this._invokeOne(function(r){return r.getMaterialType&&r.getMaterialType(A)}),E.push(Promise.all(this._invokeAll(function(r){return r.extendMaterialParams&&r.extendMaterialParams(A,e)})))}B.doubleSided===!0&&(e.side=fi);const o=B.alphaMode||ny.OPAQUE;if(o===ny.BLEND?(e.transparent=!0,e.depthWrite=!1):(e.transparent=!1,o===ny.MASK&&(e.alphaTest=B.alphaCutoff!==void 0?B.alphaCutoff:.5)),B.normalTexture!==void 0&&Q!==Vg&&(E.push(I.assignTexture(e,"normalMap",B.normalTexture)),e.normalScale=new mA(1,1),B.normalTexture.scale!==void 0)){const s=B.normalTexture.scale;e.normalScale.set(s,s)}if(B.occlusionTexture!==void 0&&Q!==Vg&&(E.push(I.assignTexture(e,"aoMap",B.occlusionTexture)),B.occlusionTexture.strength!==void 0&&(e.aoMapIntensity=B.occlusionTexture.strength)),B.emissiveFactor!==void 0&&Q!==Vg){const s=B.emissiveFactor;e.emissive=new ZA().setRGB(s[0],s[1],s[2],dC)}return B.emissiveTexture!==void 0&&Q!==Vg&&E.push(I.assignTexture(e,"emissiveMap",B.emissiveTexture,FC)),Promise.all(E).then(function(){const s=new Q(e);return B.name&&(s.name=B.name),Te(s,B),I.associations.set(s,{materials:A}),B.extensions&&Xt(i,s,B),s})}createUniqueName(A){const I=ZI.sanitizeNodeName(A||"");return I in this.nodeNamesUsed?I+"_"+ ++this.nodeNamesUsed[I]:(this.nodeNamesUsed[I]=0,I)}loadGeometries(A){const I=this,C=this.extensions,i=this.primitiveCache;function B(e){return C[OI.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,I).then(function(t){return lF(t,e,I)})}const Q=[];for(let e=0,t=A.length;e0&&V8(c,B),c.name=I.createUniqueName(B.name||"mesh_"+A),Te(c,B),D.extensions&&Xt(i,c,D),I.assignFinalMaterial(c),s.push(c)}for(let l=0,h=s.length;l1?o=new uB:E.length===1?o=E[0]:o=new YI,o!==E[0])for(let s=0,r=E.length;s{const s=new Map;for(const[r,l]of i.associations)(r instanceof Gg||r instanceof ig)&&s.set(r,l);return o.traverse(r=>{const l=i.associations.get(r);l!=null&&s.set(r,l)}),s};return i.associations=E(B),B})}_createAnimationTracks(A,I,C,i,B){const Q=[],e=A.name?A.name:A.uuid,t=[];Le[B.path]===Le.weights?A.traverse(function(r){r.morphTargetInfluences&&t.push(r.name?r.name:r.uuid)}):t.push(e);let E;switch(Le[B.path]){case Le.weights:E=ee;break;case Le.rotation:E=wQ;break;case Le.position:case Le.scale:E=te;break;default:switch(C.itemSize){case 1:E=ee;break;case 2:case 3:default:E=te;break}break}const o=i.interpolation!==void 0?P8[i.interpolation]:ie,s=this._getArrayFromAccessor(C);for(let r=0,l=t.length;r{I instanceof eg&&I.material instanceof Gg&&(I.material.colorWrite=(A==null?void 0:A.colorWrite)??!0)})}function EV(g,A){return{type:"hand",inputSource:g,pose:IV(g.hand),assetPath:QV(g.handedness,A)}}function oV({inputSource:g,pose:A},I,C){gV(A,I,g.hand,C,g.handedness)}const nV=["wrist","thumb-metacarpal","thumb-phalanx-proximal","thumb-phalanx-distal","thumb-tip","index-finger-metacarpal","index-finger-phalanx-proximal","index-finger-phalanx-intermediate","index-finger-phalanx-distal","index-finger-tip","middle-finger-metacarpal","middle-finger-phalanx-proximal","middle-finger-phalanx-intermediate","middle-finger-phalanx-distal","middle-finger-tip","ring-finger-metacarpal","ring-finger-phalanx-proximal","ring-finger-phalanx-intermediate","ring-finger-phalanx-distal","ring-finger-tip","pinky-finger-metacarpal","pinky-finger-phalanx-proximal","pinky-finger-phalanx-intermediate","pinky-finger-phalanx-distal","pinky-finger-tip"];function sV(g,A,I){const C=new Float32Array(g.size*16),i=nV.map(B=>{const Q=A.getObjectByName(B);if(Q==null)throw new Error(`missing joint "${B}" in hand model`);return Q.matrixAutoUpdate=!1,Q});return B=>{if(B==null)return;const Q=typeof I=="function"?I():I;if(Q==null)return;B.fillPoses(g.values(),Q,C);const e=i.length;for(let t=0;tI.push(i);return A.addEventListener("selectstart",C),A.addEventListener("selectend",C),A.addEventListener("select",C),A.addEventListener("squeeze",C),A.addEventListener("squeezestart",C),A.addEventListener("squeezeend",C),{cleanup(){A.removeEventListener("selectstart",C),A.removeEventListener("selectend",C),A.removeEventListener("select",C),A.removeEventListener("squeeze",C),A.removeEventListener("squeezestart",C),A.removeEventListener("squeezeend",C)},state:{type:"transientPointer",inputSource:g,events:I}}}function cF(g){if(g.hand!=null)return"hand";switch(g.targetRayMode){case"gaze":return"gaze";case"screen":return"screenInput";case"tracked-pointer":return"controller";case"transient-pointer":return"transientPointer"}}function lV(g){const A=new Gj(g);return{controller:async(I,C)=>({state:await yj(C,A)}),hand:(I,C)=>({state:EV(C,g)}),gaze:(I,C)=>({state:{type:"gaze",inputSource:C}}),screenInput:(I,C)=>({state:{type:"screenInput",inputSource:C}}),transientPointer:(I,C)=>rV(C,I)}}function cV(g,A){let I=new Set;const C=lV(A),i=new Map;return(B,Q,e,t)=>{var o;I=new Set(B.inputSources);const E={};if(t==="all"){E.controllerStates=[],E.gazeStates=[],E.handStates=[],E.screenInputStates=[],E.transientPointerStates=[];for(const s of i.values())s()}else if(t!=null){const s=t.length;for(let r=0;rc===l);if(D===-1)throw new Error(`unable to find removed input source ${l}`);w.splice(D,1),(o=i.get(l))==null||o(),i.delete(l)}}return e!=null&&e.forEach(async s=>{const r=cF(s);let l=C[r](B,s),h;if(l instanceof Promise){if(h=await l,!I.has(s))return;g[r](h.state)}else h=l,hF(`${r}States`,E,Q).push(h.state);h.cleanup!=null&&i.set(s,h.cleanup)}),E}}function hF(g,A,I){let C=A[g];return C==null&&(A[g]=C=I==null?[]:[...I[g]]),C}function hV(g,A){const I=(C,i)=>{i!=null&&C.visibilityState===i.visibilityState||A(C.visibilityState==="visible")};return I(g.getState()),g.subscribe(I)}class DV extends Vg{constructor(){super({transparent:!0,toneMapped:!1,depthWrite:!1})}onBeforeCompile(A,I){super.onBeforeCompile(A,I),A.vertexShader=`varying vec2 vLocalPosition; +`+A.vertexShader,A.vertexShader=A.vertexShader.replace("#include ",`#include + vLocalPosition = position.xy * 2.0;`),A.fragmentShader=`varying vec2 vLocalPosition; +`+A.fragmentShader,A.fragmentShader=A.fragmentShader.replace("#include ",`#include + float value = max(0.0, 1.0 - sqrt(dot(vLocalPosition, vLocalPosition))); + diffuseColor.a = diffuseColor.a * value * value;`)}}const SV=new T(0,0,1),DF=new Bg,ly=new T;function wV(g,A,I,C){const i=I.getIntersection();if(i==null||!I.getEnabled()){g.visible=!1;return}g.visible=!0;const B=typeof C.color=="function"?C.color(I):C.color;Array.isArray(B)?A.color.set(...B):A.color.set(B??"white"),A.opacity=typeof C.opacity=="function"?C.opacity(I):C.opacity??.4,g.position.copy(i.pointOnFace),g.scale.setScalar(C.size??.1),i.normal!=null&&(DF.setFromUnitVectors(SV,i.normal),i.object.getWorldQuaternion(g.quaternion),g.quaternion.multiply(DF),ly.set(0,0,C.cursorOffset??.01),ly.applyQuaternion(g.quaternion),g.position.add(ly)),g.updateMatrix()}class GV extends Vg{constructor(){super({transparent:!0,toneMapped:!1})}onBeforeCompile(A,I){super.onBeforeCompile(A,I),A.vertexShader=`varying float vFade; +`+A.vertexShader,A.vertexShader=A.vertexShader.replace("#include ",`#include + vFade = position.z + 0.5;`),A.fragmentShader=`varying float vFade; +`+A.fragmentShader,A.fragmentShader=A.fragmentShader.replace("#include ",`#include + diffuseColor.a *= vFade;`)}}function yV(g,A,I,C){if(!I.getEnabled()){g.visible=!1;return}g.visible=!0;const i=I.getIntersection(),B=typeof C.color=="function"?C.color(I):C.color;Array.isArray(B)?A.color.set(...B):A.color.set(B??"white"),A.opacity=typeof C.opacity=="function"?C.opacity(I):C.opacity??.4;let Q=C.maxLength??1;i!=null&&(Q=Math.min(Q,i.distance)),g.position.z=-Q/2;const e=C.size??.005;g.scale.set(e,e,Q),g.updateMatrix()}function uV(g,A,I,C,i,B={}){const Q=o=>{o.inputSource===I&&g.down(Object.assign(o,{button:B.button??0}))},e=o=>{o.inputSource===I&&g.up(Object.assign(o,{button:B.button??0}))},t=`${C}start`,E=`${C}end`;return A.addEventListener(t,Q),A.addEventListener(E,e),()=>{A.removeEventListener(t,Q),A.removeEventListener(E,e)}}function kV(g){var A;return g.getButtonsDown().size>0?.6:JL(((A=g.getIntersection())==null?void 0:A.distance)??1/0,.07,0,.2,.4)}function tD(g){return g.getButtonsDown().size>0?.6:.4}function dV(g){var A;return JL(((A=g.getIntersection())==null?void 0:A.distance)??1/0,.1,.03,.2,.6)}function JL(g,A,I,C,i){return C+Math.max(0,Math.min(1,(g-A)/(I-A)))*(i-C)}function MV(g,A){return(I,C)=>{const i=SF(A),B=SF(g);if(B===i)return I.identity(),!0;if(C==null||B==null||i==null)return!1;const Q=C.getPose(B,i);return Q==null?!1:(I.fromArray(Q.transform.matrix),!0)}}function SF(g){return typeof g=="function"?g():g}function pV({anchors:g=!0,handTracking:A=!0,layers:I=!0,meshDetection:C=!0,planeDetection:i=!0,referenceSpaceType:B="local-floor",customSessionInit:Q,depthSensing:e=!1}={}){if(Q!=null)return Q;const t=[B],E=[];return mo(g,"anchors",t,E),mo(A,"hand-tracking",t,E),mo(I,"layers",t,E),mo(C,"mesh-detection",t,E),mo(i,"plane-detection",t,E),mo(e,"depth-sensing",t,E),{requiredFeatures:t,optionalFeatures:E}}function mo(g,A,I,C){if(g!==!1){if(g===!0){C.push(A);return}I.push(A)}}function _e(g,A,I){return typeof g=="function"?g:(typeof g=="object"&&(A!=null&&UV(g,A)?g=g[A]:"default"in g&&(g=g.default)),g===!1?!1:g===!0?I:g??I)}function UV(g,A){return A in g}function qL(g,A,I){return g??(g=I),g===!1?!1:typeof g=="function"?g:A!=null&&A in g?g[A]??I:"default"in g?g.default??I:g}const mL={handStates:[],controllerStates:[],transientPointerStates:[],gazeStates:[],screenInputStates:[],detectedMeshes:[],detectedPlanes:[],mode:null};function fV(g){const A=TZ(()=>({...mL,controller:g==null?void 0:g.controller,hand:g==null?void 0:g.hand,gaze:g==null?void 0:g.gaze,screenInput:g==null?void 0:g.screenInput,transientPointer:g==null?void 0:g.transientPointer,detectedMesh:g==null?void 0:g.detectedMesh,detectedPlane:g==null?void 0:g.detectedPlane})),I=cV({controller:e=>A.setState({controllerStates:[...A.getState().controllerStates,e]})},g),C=RV(A,I),i=FV(g==null?void 0:g.enterGrantedSession,e=>Oc(e,g,void 0,Q));let B,Q;return Object.assign(A,{setWebXRManager(e){if(Q===e)return;Q=e;const{referenceSpaceType:t="local-floor",foveation:E}=g??{};Q.setReferenceSpaceType(t),E!=null&&Q.setFoveation(E);const{session:o}=A.getState();o!=null&&YL(Q,o,g),B==null||B(),B=NV(e,C)},setFrameRate(e){const{session:t}=A.getState();t!=null&&LL(t,e)},setHand(e,t){if(t==null){A.setState({hand:e});return}const E=A.getState().hand,o={};typeof E=="object"&&Object.assign(o,E),Object.assign(o,{default:_e(E,void 0,{}),[t]:e}),A.setState({hand:o})},setController(e,t){if(t==null){A.setState({controller:e});return}const E=A.getState().controller,o={};typeof E=="object"&&Object.assign(o,E),Object.assign(o,{default:_e(E,void 0,{}),[t]:e}),A.setState({controller:o})},setTransientPointer(e,t){if(t==null){A.setState({transientPointer:e});return}const E=A.getState().transientPointer,o={};typeof E=="object"&&Object.assign(o,E),Object.assign(o,{default:_e(E,void 0,{}),[t]:e}),A.setState({transientPointer:o})},setGaze(e){A.setState({gaze:e})},setScreenInput(e){A.setState({screenInput:e})},setDetectedPlane(e,t){if(t==null){A.setState({detectedPlane:e});return}const E=A.getState().detectedPlane,o={};typeof E=="object"&&Object.assign(o,E),Object.assign(o,{default:_e(E,void 0,{}),[t]:e}),A.setState({detectedPlane:o})},setDetectedMesh(e,t){if(t==null){A.setState({detectedMesh:e});return}const E=A.getState().detectedMesh,o={};typeof E=="object"&&Object.assign(o,E),Object.assign(o,{default:_e(E,void 0,{}),[t]:e}),A.setState({detectedMesh:o})},destroy(){B==null||B(),i==null||i(),C(void 0,void 0)},enterXR:(e,t)=>Oc(e,g,t,Q),enterAR:e=>Oc("immersive-ar",g,e,Q),enterVR:e=>Oc("immersive-vr",g,e,Q),onBeforeFrame(e,t,E){const{origin:o}=A.getState(),s=t.parent??e;o!=s&&A.setState({origin:s}),Q!=null&&KV(A,E,Q)}})}async function LL(g,A){if(A===!1)return;const{supportedFrameRates:I}=g;if(I==null||I.length===0)return;if(typeof A=="function"){const i=A(I);return i===!1?void 0:g.updateTargetFrameRate(i)}const C=A==="high"?1:A==="mid"?.5:0;return g.updateTargetFrameRate(I[Math.ceil((I.length-1)*C)])}async function Oc(g,A,I,C){if(navigator.xr==null)throw new Error("xr not supported");const i=await navigator.xr.requestSession(g,pV(Object.assign({},A,I)));return LL(i,(A==null?void 0:A.frameRate)??"high"),YL(C,i,A),i}function YL(g,A,I){if(g==null)return;const C=XRWebGLLayer.getNativeFramebufferScaleFactor(A);let i=I==null?void 0:I.frameBufferScaling;typeof i=="function"&&(i=i(C)),typeof i=="string"&&(i=i==="high"?C:i==="mid"?1:.5),i!=null&&(g==null||g.setFramebufferScaleFactor(i)),g==null||g.setSession(A)}const wF=["immersive-ar","immersive-vr","inline"];function NV(g,A){const I=()=>{const C=g.getSession();A(C,C.environmentBlendMode==="opaque"?"immersive-vr":"immersive-ar")};return g.addEventListener("sessionstart",I),()=>g.removeEventListener("sessionstart",I)}function FV(g=wF,A){var C;if(g===!1)return;g===!0&&(g=wF);const I=async()=>{var i;for(const B of g)await((i=navigator.xr)==null?void 0:i.isSessionSupported(B))&&A(B)};return(C=navigator.xr)==null||C.addEventListener("sessiongranted",I),()=>{var i;return(i=navigator.xr)==null?void 0:i.removeEventListener("sessiongranted",I)}}function RV(g,A){let I;return(C,i)=>{if(I==null||I(),C==null||i==null)return;const B=t=>g.setState(A(t.session,g.getState(),t.added,t.removed));C.addEventListener("inputsourceschange",B);const Q=()=>g.setState({frameRate:C.frameRate,visibilityState:C.visibilityState}),e=()=>{I==null||I(),I=void 0,g.setState(mL)};C.addEventListener("end",e),C.addEventListener("frameratechange",Q),C.addEventListener("visibilitychange",Q),g.setState({...A(C,void 0,C.inputSources,void 0),frameRate:C.frameRate,visibilityState:C.visibilityState,detectedMeshes:[],detectedPlanes:[],mode:i,session:C}),I=()=>{A(C,g.getState(),void 0,"all"),C.removeEventListener("end",e),C.removeEventListener("frameratechange",Q),C.removeEventListener("visibilitychange",Q),C.removeEventListener("inputsourceschange",B)}}}function KV(g,A,I){const C=I.getReferenceSpace(),{detectedMeshes:i,detectedPlanes:B,session:Q,controllerStates:e,handStates:t}=g.getState();if(A==null||C==null||Q==null)return;const E=GF(B,A.detectedPlanes),o=GF(i,A.detectedMeshes);(B!=E||i!=o)&&g.setState({detectedPlanes:E,detectedMeshes:o});const s=e.length;for(let l=0;l{I instanceof eg&&I.material instanceof Gg&&(I.material.colorWrite=(A==null?void 0:A.colorWrite)??!0)})}function YV(g,A,I){const C=[];for(const i in A.components){const B=A.components[i];let Q=I[i];Q==null&&(I[i]=Q={state:"default"}),C.push(...Object.values(B.visualResponses).map(e=>HV(g,Q,e)))}return()=>{const i=C.length;for(let B=0;B{};if(I.valueNodeProperty==="visibility")return()=>C.visible=I.states.includes(A.state);const i=g.getObjectByName(I.minNodeName),B=g.getObjectByName(I.maxNodeName);return i==null||B==null?()=>{}:()=>{const Q=TV(A,I);C.quaternion.slerpQuaternions(i.quaternion,B.quaternion,Q),C.position.lerpVectors(i.position,B.position,Q),C.updateMatrix()}}function TV(g,{componentProperty:A,states:I}){const C=I.includes(g.state);switch(A){case"xAxis":return C?yF(g).x:.5;case"yAxis":return C?yF(g).y:.5;case"button":return C?g.button??0:0;case"state":return C?1:0}}const xs=new mA;function yF({xAxis:g=0,yAxis:A=0}){if(xs.lengthSq()>1){const C=Math.atan2(A,g);xs.set(Math.cos(C),Math.sin(C))}else xs.set(g,A);return xs.multiplyScalar(.5).addScalar(.5),xs}function xV({_listeners:g,__r3f:A}){return g!=null&&Object.keys(g).length>0||A!=null&&(A==null?void 0:A.eventCount)>0}function vV({_listeners:g,__r3f:A},I){if(g!=null&&I in g)return g[I];if(A==null)return;const C=A.handlers[bV[I]];if(C!=null)return[C]}const bV={click:"onClick",contextmenu:"onContextMenu",dblclick:"onDoubleClick",pointercancel:"onPointerCancel",pointerdown:"onPointerDown",pointerenter:"onPointerEnter",pointerleave:"onPointerLeave",pointermove:"onPointerMove",pointerout:"onPointerOut",pointerover:"onPointerOver",pointerup:"onPointerUp",wheel:"onWheel"};class ri{constructor(A,I,C,i,B,Q=B.object,e=Q){LI(this,"type");LI(this,"bubbles");LI(this,"nativeEvent");LI(this,"pointer");LI(this,"intersection");LI(this,"currentObject");LI(this,"object");LI(this,"stopPropagation");LI(this,"stopImmediatePropagation");this.type=A,this.bubbles=I,this.nativeEvent=C,this.pointer=i,this.intersection=B,this.currentObject=Q,this.object=e}get pointerId(){return this.pointer.id}get pointerType(){return this.pointer.type}get pointerState(){return this.pointer.state}get timeStamp(){return this.nativeEvent.timeStamp}get button(){return this.nativeEvent.button}get shiftKey(){return this.nativeEvent.shiftKey??!1}get metaKey(){return this.nativeEvent.metaKey??!1}get ctrlKey(){return this.nativeEvent.ctrlKey??!1}get altKey(){return this.nativeEvent.altKey??!1}get distance(){return this.intersection.distance}get distanceToRay(){return this.intersection.distanceToRay}get point(){return this.intersection.point}get index(){return this.intersection.index}get face(){return this.intersection.face}get faceIndex(){return this.intersection.faceIndex}get uv(){return this.intersection.uv}get uv1(){return this.intersection.uv1}get normal(){return this.intersection.normal}get instanceId(){return this.intersection.instanceId}get pointOnLine(){return this.intersection.pointOnLine}get batchId(){return this.intersection.batchId}get pointerPosition(){return this.intersection.pointerPosition}get pointerQuaternion(){return this.intersection.pointerQuaternion}get pointOnFace(){return this.intersection.pointOnFace}get localPoint(){return this.intersection.localPoint}get details(){return this.intersection.details}get target(){return this.object}get currentTarget(){return this.currentObject}retarget(A){const{type:I,bubbles:C,nativeEvent:i,pointer:B,intersection:Q,target:e}=this;return new ri(I,C,i,B,Q,A,e)}}class OV extends ri{get deltaX(){return this.nativeEvent.deltaX}get deltaY(){return this.nativeEvent.deltaY}get deltaZ(){return this.nativeEvent.deltaZ}constructor(A,I,C){super("wheel",!0,A,I,C)}}function aB(g){HL(g,g.currentObject)}function HL(g,A){if(A==null)return;const I=vV(A,g.type);let C=!g.bubbles;if(I!=null&&I.length>0){const i=g.retarget(A),B=I.length;i.stopPropagation=()=>C=!0;let Q=!1;i.stopImmediatePropagation=()=>{C=!0,Q=!0};for(let e=0;e=0;e--){const t=this.pointerEnteredHelper[e];aB(new ri("pointerenter",!1,A,this,C,t))}if(C!=null&&aB(new ri("pointermove",!0,A,this,C)),this.prevIntersection=this.intersection,this.prevEnabled=this.enabled,!this.wasMoved){this.wasMoved=!0;const e=this.onFirstMove.length;for(let t=0;tC){e.set(A.button,A.timeStamp);return}aB(new ri("dblclick",!0,A,this,this.intersection)),e.delete(A.button)}cancel(A){if(this.enabled){if(!this.wasMoved){this.onFirstMove.push(this.cancel.bind(this,A));return}this.intersection!=null&&aB(new ri("pointercancel",!0,A,this,this.intersection))}}wheel(A,I,C){if(!this.enabled)return;let i=this.intersection;if(C||(i=this.computeIntersection(A,I,this.pointerCapture)),!this.wasMoved&&C){this.onFirstMove.push(this.cancel.bind(this,I));return}i!=null&&aB(new OV(I,this,i))}exit(A){var I;if(!this.wasMoved){this.onFirstMove.push(this.exit.bind(this,A));return}this.pointerCapture!=null&&((I=this.parentReleasePointerCapture)==null||I.call(this),this.pointerCapture=void 0),this.intersection=void 0,this.commit(A)}}function xL(g,A,I,C){if(g==null)return;const i=I.indexOf(g);i!=-1?I.splice(i,1):C.push(g),A.push(g),xL(g.parent,A,I,C)}function _V(g,A,I,C,i){if(A==null)return!1;const B=A.get(I);return!(B==null||C-B>i||B!=g.get(I))}function WM(g,A,I){return A.face==null?!1:(g.setFromNormalAndCoplanarPoint(A.face.normal,A.localPoint),g.applyMatrix4(I.matrixWorld),!0)}function PV(g,A,I,C,i,B){if(A==="none"||A==="listener"&&!g)return!1;if(I==="all")return!0;if(typeof I=="function")return I(C,i,B);let Q,e;"deny"in I?(e=!0,Q=I.deny):(e=!1,Q=I.allow);let t;return Array.isArray(Q)?t=Q.includes(i):t=Q===i,e?!t:t}function JS(g,A,I,C,i,B=!1,Q,e){const t=B||xV(g),E=g.pointerEvents??Q??"listener",o=g.pointerEventsType??e??"all";PV(t,E,o,A,I,C)&&i(g);const r=g.children.length;for(let l=0;l0)&&(g=Q)}return g}function ZV(g,A){const{pointerEventsOrder:I=0}=g.object,{pointerEventsOrder:C=0}=A.object;return I!=C?C-I:g.distance-A.distance}const TQ=new Nr,WV=new iI,bs=[];function VV(g,A,I,C,i,B,Q,e){if(Q!=null)return jV(g,A,Q);let t;if(JS(I,C,i,B,E=>{let o=0;const s=((t==null?void 0:t.details.lineIndex)??A.length-2)+2;for(let r=1;r0;C--){const i=A[C-1],B=A[C];if(Dy.origin.copy(i).applyMatrix4(g),Dy.direction.copy(B).applyMatrix4(g).sub(TQ.ray.origin).normalize(),Dy.intersectPlane(I,kF)!=null)return kF.clone()}}const Sy=new Nr,wy=new T,dF=new OB,zV=new iI,Gy=[];function $V(g,A,I,C,i,B,Q,e,t){if(e!=null)return Aj(g,A,I,e);let E;if(Sy.ray.origin.copy(g),Sy.ray.direction.copy(I).applyQuaternion(A),JS(C,i,B,Q,o=>{o.raycast(Sy,Gy),E=VM(E,Gy,t),Gy.length=0}),E!=null)return Object.assign(E,{details:{type:"ray"},pointerPosition:g.clone(),pointerQuaternion:A.clone(),pointOnFace:E.point,localPoint:E.point.clone().applyMatrix4(zV.copy(E.object.matrixWorld).invert())})}const MF=new lt;function Aj(g,A,I,{intersection:C,object:i}){if(C.details.type!="ray")return;wy.copy(I).applyQuaternion(A),MF.set(g,wy),WM(dF,C,i);const B=MF.intersectPlane(dF,new T)??C.point;return{...C,object:i,pointOnFace:B,point:wy.clone().multiplyScalar(C.distance).add(g),pointerPosition:g.clone(),pointerQuaternion:A.clone()}}const yy=new jg,uy=[];function vL(g,A,I,C,i,B,Q,e,t){if(e!=null)return Cj(g,A,e);let E;if(yy.center.copy(g),yy.radius=I,JS(C,i,B,Q,o=>{gj(yy,o,uy),E=VM(E,uy,t),uy.length=0}),E!=null)return Object.assign(E,{details:{type:"sphere"},pointOnFace:E.point,pointerPosition:g.clone(),pointerQuaternion:A.clone(),localPoint:E.point.clone().applyMatrix4(ED.copy(E.object.matrixWorld).invert())})}const _c=new iI;function Ij(g){return"spherecast"in g}function gj(g,A,I){if(A.updateWorldMatrix(!0,!1),Ij(A)){A.spherecast(g,I);return}if(A instanceof kr){A.geometry.boundingSphere==null&&A.geometry.computeBoundingSphere(),A.geometry.boundingBox==null&&A.geometry.computeBoundingBox();for(let i=0;ig.radius*g.radius)return;ky.max(ij);const Q=an.center.clone().sub(FF);Q.divide(ky),Bj(Q);const e=Pc.clone();return{distance:Math.sqrt(B),face:{a:0,b:0,c:0,materialIndex:0,normal:Q},normal:Q,point:e,instanceId:C,object:A}}function Bj(g){const A=Math.abs(g.x),I=Math.abs(g.y),C=Math.abs(g.z);if(A>=I&&A>=C){g.set(g.x<0?-1:1,0,0);return}if(I>=A&&I>=C){g.set(0,g.y<0?-1:1,0);return}g.set(0,0,g.z<0?-1:1)}const Sk={radius:.07};function Qj(g,A,I=Sk,C="grab"){const i=new T,B=new Bg,Q=jM();return new ZM(Q,C,A,(e,t,E)=>{const o=g.current;if(o!=null)return o.updateWorldMatrix(!0,!1),i.setFromMatrixPosition(o.matrixWorld),B.setFromRotationMatrix(o.matrixWorld),vL(i,B,I.radius??Sk.radius,e,Q,C,A,E,I)},void 0,void 0,void 0,I)}const ej=new T(0,0,-1),ia={direction:ej,minDistance:0,linePoints:null};function tj(g,A,I=ia,C="ray"){const i=new T,B=new Bg,Q=jM();return new ZM(Q,C,A,(e,t,E)=>{const o=g.current;if(o==null)return;o.updateWorldMatrix(!0,!1);let s;const r=I.linePoints??ia.linePoints;if(r==null?(i.setFromMatrixPosition(o.matrixWorld),B.setFromRotationMatrix(o.matrixWorld),s=$V(i,B,I.direction??ia.direction,e,Q,C,A,E,I)):s=VV(o.matrixWorld,r,e,Q,C,A,E,I),s!=null&&!(s.distance<(I.minDistance??ia.minDistance)))return s},void 0,void 0,void 0,I)}const rn={button:0,downRadius:.03,hoverRadius:.1};function Ej(g,A,I=rn,C="touch"){const i=new T,B=new Bg,Q=jM();return new ZM(Q,C,A,(e,t,E)=>{const o=g.current;if(o!=null)return o.updateWorldMatrix(!0,!1),i.setFromMatrixPosition(o.matrixWorld),B.setFromRotationMatrix(o.matrixWorld),vL(i,B,I.hoverRadius??rn.hoverRadius,e,Q,C,A,E,I)},oj(I),void 0,void 0,I)}function oj(g=rn){let A=!1;return I=>{if(!I.getEnabled())return;const C=I.getIntersection(),i=nj(C,g.downRadius??rn.downRadius);if(i===A)return;const B={timeStamp:performance.now(),button:g.button??rn.button};i?I.down(B):I.up(B),A=i}}function nj(g,A){return g==null?!1:g.distance<=A}let sj=23412;function jM(){return sj++}new T;new mA;let aj=class{constructor(){LI(this,"pointers",[]);LI(this,"isDefaults",[]);LI(this,"enabled",!0)}register(A,I){return this.pointers.push(A),this.isDefaults.push(I),this.unregister.bind(this,A)}unregister(A){const I=this.pointers.indexOf(A);I!==-1&&(this.isDefaults.splice(I,1),this.pointers.splice(I,1))}move(A,I){var Q,e;if(!this.enabled)return;const C=this.pointers.length;if(C===0)return;for(let t=0;t=g.lastChangedTime)return A;const I=new MI;return I.setIndex(new yI(g.indices,1)),I.setAttribute("position",new yI(g.vertices,3)),Object.assign(I,{creationTime:g.lastChangedTime})}function JF(g,A){return A!=null&&A.createdAt!=null&&A.createdAt>=g.lastChangedTime?A:Object.assign(rj(g.polygon),{createdAt:g.lastChangedTime})}const Os=new tm,Zc=new mA;function rj(g){const A=new Bt,I=g.map(({x:i,z:B})=>new mA(i,B));Os.setFromPoints(I),Os.getSize(Zc);for(const i of I)i.sub(Os.min),i.divide(Zc);A.setFromPoints(I);const C=new Ur(A);return C.scale(Zc.x,Zc.y,1),C.translate(Os.min.x,Os.min.y,0),C.rotateX(Math.PI/2),C}new T;new T;new T;const _s=new mC(0,0,0,"YXZ"),Wc=new Bg;function lj(g,A,I){g.matrixWorld.decompose(A.position,Wc,A.scale),_s.setFromQuaternion(Wc),_s.z=0,_s.x=Dh(_s.x-10*Math.PI/180,-Math.PI/2,1.1*Math.PI/4),Wc.setFromEuler(_s),A.quaternion.slerp(Wc,I/100)}function cj(g){return g.userData.teleportTarget===!0}function hj(g={}){return A=>!(!cj(A.object)||g.customFilter!=null&&!g.customFilter(A))}function Dj(){return new OD(new T(0,0,0),new T(0,0,-8),new T(0,-20,-15)).getPoints(20)}let Sj=class extends eg{constructor(I){const C=new NZ,i=new Float32Array(I.length*3);for(let e=0;ee.distanceTo(I[t+1]))}update(I){if(!I.getEnabled()||I.getButtonsDown().size===0){this.visible=!1;return}this.visible=!0;const i=I.getIntersection();if((i==null?void 0:i.details.type)!="lines"){this.material.visibility=this.multiplier;return}const{distanceOnLine:B,lineIndex:Q}=i.details,e=this.lineLengths[Q];this.material.visibility=this.multiplier*(Q+B/e)/this.lineLengths.length;const{color:t="white",opacity:E=.4,size:o=.01}=this.options;this.material.lineWidth=o,this.material.opacity=typeof E=="function"?E(I):E;const s=typeof t=="function"?t(I):t;Array.isArray(s)?this.material.color.set(...s):this.material.color.set(s),console.log(this.material.visibility,this.multiplier,Q,e,B,this.lineLengths.length)}};const bL=new w8,OL="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles/",wj="generic-trigger";class Gj{constructor(A){LI(this,"baseAssetPath");LI(this,"defaultProfileId");LI(this,"profilesListPromise");LI(this,"profilePromisesMap",new Map);LI(this,"loadAsync",this.load);this.baseAssetPath=(A==null?void 0:A.baseAssetPath)??OL,this.defaultProfileId=(A==null?void 0:A.defaultControllerProfileId)??wj}async load(A,I){const C=await this.loadProfile(A);for(const i in C.layouts)if(i.includes(I))return C.layouts[i];throw new Error(`No matching layout for "${I}", in profile ${C.profileId} with layouts ${Object.keys(C.layouts).join(", ")}.`)}async loadProfile(A){this.profilesListPromise??(this.profilesListPromise=qF(new URL("profilesList.json",this.baseAssetPath).href));const I=await this.profilesListPromise,C=A.length;for(let B=0;B{const C=z.useRef(null);return z.useImperativeHandle(I,()=>C.current,[]),dj(C,g,(i,B,Q)=>{C.current!=null&&(C.current.visible=Q!=null)}),rA.jsx("group",{visible:!1,matrixAutoUpdate:!1,ref:C,children:rA.jsx(qS.Provider,{value:g,children:A})})});function VL(){const g=z.useContext(qS);if(g==null)throw new Error("XR objects must be placed inside the XROrigin");return g}function kj(g){const A=VL();return z.useMemo(()=>MV(g,A),[g,A])}function dj(g,A,I){const C=kj(A);MC((i,B,Q)=>{g.current!=null&&(C(g.current.matrix,Q),I==null||I(i,B,Q))},-100)}let Mj=0;const mF=new Map;function _E(g){let A=mF.get(g);return A==null&&mF.set(g,A=Mj++),A}function pj(){return LC(g=>g.visibilityState)}function Uj(g,A){const I=z.useRef(A);I.current=A;const[C,i]=z.useMemo(()=>{let B;return[Q=>{let e=!1;return navigator.xr==null?(B=!1,()=>{}):(navigator.xr.isSessionSupported(g).then(t=>{B=t,!e&&Q()}).catch(t=>{var E;e||(E=I.current)==null||E.call(I,t)}),()=>e=!0)},()=>B]},[g]);return z.useSyncExternalStore(C,i)}function mS(g){const A=z.useContext(yQ);if(A==null||A.type!="hand")throw new Error('useXRHandState() can only be used inside a or with using useXRHandState("left")');return A}const fj=Symbol("loadXRHandModel"),jL=z.forwardRef((g,A)=>{const I=mS(),C=Fr(eV,[I.assetPath,void 0,fj]);tV(C,g),z.useImperativeHandle(A,()=>C,[C]);const i=VL(),B=z.useMemo(()=>sV(I.inputSource.hand,C,i),[I.inputSource,C,i]);return MC((Q,e,t)=>B(t)),rA.jsx("primitive",{object:C})});z.forwardRef(({joint:g,children:A},I)=>{const C=mS();return rA.jsx(FB,{ref:I,space:()=>C.inputSource.hand.get(g),children:A})});function XL({children:g}){const A=z.useMemo(()=>new aj,[]);return $L(A),MC(I=>A.move(I.scene,{timeStamp:performance.now()}),-50),rA.jsx(WL.Provider,{value:A,children:g})}function Nj(g,A,I,C){const i=z.useMemo(()=>({}),[]);Object.assign(i,Sk,I);const B=z.useMemo(()=>Qj(g,A,i,C),[g,A,i,C]);return zM(B,I==null?void 0:I.makeDefault),B}function zL(g,A,I,C){const i=z.useMemo(()=>({}),[]);Object.assign(i,ia,I);const B=z.useMemo(()=>tj(g,A,i,C),[g,A,i,C]);return zM(B,I==null?void 0:I.makeDefault),B}function Fj(g,A,I,C){const i=z.useMemo(()=>({}),[]);Object.assign(i,rn,I);const B=z.useMemo(()=>Ej(g,A,i,C),[g,A,i,C]);return zM(B,I==null?void 0:I.makeDefault),B}const Rj=z.forwardRef((g,A)=>{const I=z.useMemo(()=>new GV,[]),C=z.useRef(null);return z.useImperativeHandle(A,()=>C.current,[]),MC(()=>C.current!=null&&yV(C.current,I,g.pointer,g)),rA.jsx("mesh",{matrixAutoUpdate:!1,renderOrder:g.renderOrder??2,ref:C,material:I,children:rA.jsx("boxGeometry",{})})}),LS=z.forwardRef((g,A)=>{const I=z.useMemo(()=>new DV,[]),C=z.useRef(null);z.useImperativeHandle(A,()=>C.current,[]),MC(()=>C.current!=null&&wV(C.current,I,g.pointer,g));const i=Ee(B=>B.scene);return IM(rA.jsx("mesh",{renderOrder:g.renderOrder??1,ref:C,matrixAutoUpdate:!1,material:I,children:rA.jsx("planeGeometry",{})}),i)});function XM(g,A,I,C){const i=LC(B=>B.session);z.useEffect(()=>{if(i!=null)return uV(g,i,A,I)},[I,A,g,i,C])}function zM(g,A=!1){const I=z.useContext(WL);I==null?($L(g),MC(C=>g.move(C.scene,{timeStamp:performance.now()}),-50)):z.useEffect(()=>I.register(g,A),[I,g,A]),z.useEffect(()=>()=>g.exit({timeStamp:performance.now()}),[g])}function $L(g){const A=CY();z.useEffect(()=>hV(A,I=>g.setEnabled(I,{timeStamp:performance.now()})),[A,g])}const Kj=z.forwardRef(({pointer:g,linePoints:A,...I},C)=>{const i=z.useMemo(()=>new Sj(A),[A]);return z.useImperativeHandle(C,()=>i,[i]),i.options=I,MC(()=>i.update(g)),rA.jsx("primitive",{object:i})});function AY(g,A,I){const C=z.useContext(yQ);if(C==null)throw new Error("DefaultXRInputSourceGrabPointer can only be used inside a XRInputSource");const i=z.useRef(null),B=Nj(i,C,I);XM(B,C.inputSource,g);const Q=I.cursorModel;return rA.jsx(FB,{ref:i,space:A(C.inputSource),children:Q!==!1&&rA.jsx(LS,{pointer:B,opacity:kV,...KC(Q)})})}const Jj=AY.bind(null,"select",g=>()=>g.hand.get("index-finger-tip")),qj=AY.bind(null,"squeeze",g=>g.gripSpace);function mr(g){const A=z.useContext(yQ);if(A==null)throw new Error("DefaultXRInputSourceRayPointer can only be used inside a XRInputSource");const I=z.useRef(null),C=zL(I,A,g);XM(C,A.inputSource,"select");const i=g.rayModel,B=g.cursorModel;return rA.jsxs(FB,{ref:I,space:A.inputSource.targetRaySpace,children:[i!==!1&&rA.jsx(Rj,{pointer:C,opacity:tD,...KC(i)}),B!==!1&&rA.jsx(LS,{pointer:C,opacity:tD,...KC(B)})]})}function mj(g){const A=mS(),I=z.useRef(null),C=Fj(I,A,g),i=g.cursorModel;return rA.jsx(FB,{ref:I,space:()=>A.inputSource.hand.get("index-finger-tip"),children:i!==!1&&rA.jsx(LS,{pointer:C,opacity:dV,...KC(i)})})}function Lj(g){const A=g.model,I=g.grabPointer,C=g.rayPointer,i=g.teleportPointer??!1;return rA.jsxs(rA.Fragment,{children:[A!==!1&&rA.jsx(z.Suspense,{children:rA.jsx(A5,{...KC(A)})}),rA.jsxs(XL,{children:[I!==!1&&rA.jsx(qj,{...KC(I)}),C!==!1&&rA.jsx(mr,{makeDefault:!0,minDistance:.2,...KC(C)}),i!==!1&&rA.jsx(IY,{...KC(i)})]})]})}function Yj(g){var e;const A=g.model,I=g.grabPointer,C=g.rayPointer,i=g.touchPointer,B=g.teleportPointer??!1,Q=C===!1?!1:(e=KC(C))==null?void 0:e.rayModel;return rA.jsxs(rA.Fragment,{children:[A!==!1&&rA.jsx(z.Suspense,{children:rA.jsx(jL,{...KC(A)})}),rA.jsxs(XL,{children:[I!==!1&&rA.jsx(Jj,{...KC(I)}),i!==!1&&rA.jsx(mj,{...KC(i)}),C!==!1&&rA.jsx(mr,{makeDefault:!0,minDistance:.2,...KC(C),rayModel:Q===!1?!1:{maxLength:.2,...KC(Q)}}),B!==!1&&rA.jsx(IY,{...KC(B)})]})]})}function Hj(g){return rA.jsx(mr,{...g,rayModel:!1})}function Tj(g){return rA.jsx(mr,{...g,rayModel:!1})}function xj(g){return rA.jsx(mr,{...g,cursorModel:!1,rayModel:!1})}function IY(g){const A=z.useContext(yQ);if(A==null)throw new Error("DefaultXRInputSourceRayPointer can only be used inside a XRInputSource");const I=z.useRef(null),C=z.useRef(null),i=z.useMemo(()=>Dj(),[]),B=zL(C,A,{...g,linePoints:i,customFilter:hj(g)},"teleport");XM(B,A.inputSource,"select");const Q=g.rayModel,e=g.cursorModel,t=Ee(o=>o.scene),E=z.useRef(null);return MC((o,s)=>{E.current!=null&&(E.current.visible=B.getEnabled()&&B.getButtonsDown().size>0);const r=C.current,l=I.current;r==null||l==null||lj(l,r,s*1e3)}),rA.jsxs(rA.Fragment,{children:[rA.jsx(FB,{ref:I,space:A.inputSource.targetRaySpace}),IM(rA.jsxs("group",{ref:C,children:[Q!==!1&&rA.jsx(Kj,{linePoints:i,pointer:B,opacity:tD,...KC(Q)}),e!==!1&&rA.jsx(LS,{ref:E,pointer:B,opacity:tD,...KC(e)})]}),t)]})}function KC(g){if(g!==!0)return g}function vj({children:g}){const A=Ee(e=>e.gl.xr),I=LC(e=>e.origin),C=z.useCallback(()=>A.getReferenceSpace(),[A]),i=pj()==="visible",B=Kr(),Q=z.useMemo(()=>Object.assign({},B,{getState(){return{...B.getState(),scene:I}}}),[I,B]);return I==null?null:rA.jsx(rA.Fragment,{children:Mn.createPortal(rA.jsx(eS.Provider,{value:B,children:rA.jsxs(qS.Provider,{value:C,children:[rA.jsxs("group",{matrixAutoUpdate:!1,visible:i,children:[rA.jsx(bj,{}),rA.jsx(Oj,{}),rA.jsx(_j,{}),rA.jsx(Pj,{}),rA.jsx(Zj,{})]}),rA.jsx(Wj,{}),rA.jsx(Vj,{}),g]})}),Q,null)})}function bj(){const g=LC(I=>I.controllerStates);let A=LC(I=>I.controller);return A===!1?null:rA.jsx(rA.Fragment,{children:g.map(I=>{const C=_e(A,I.inputSource.handedness,{});return C===!1?null:rA.jsx(FB,{space:I.inputSource.gripSpace,children:rA.jsx(yQ.Provider,{value:I,children:rA.jsx(z.Suspense,{children:typeof C=="function"?rA.jsx(C,{}):rA.jsx(Lj,{...C})})})},_E(I))})})}function Oj(){const g=LC(I=>I.handStates),A=LC(I=>I.hand);return A===!1?null:rA.jsx(rA.Fragment,{children:g.map(I=>{const C=_e(A,I.inputSource.handedness,{});return C===!1?null:rA.jsx(FB,{space:()=>I.inputSource.hand.get("wrist"),children:rA.jsx(yQ.Provider,{value:I,children:rA.jsx(z.Suspense,{children:typeof C=="function"?rA.jsx(C,{}):rA.jsx(Yj,{...C})})})},_E(I))})})}function _j(){const g=LC(I=>I.transientPointerStates),A=LC(I=>I.transientPointer);return A===!1?null:rA.jsx(rA.Fragment,{children:g.map(I=>{const C=_e(A,I.inputSource.handedness,{});return C===!1?null:rA.jsx(FB,{space:()=>I.inputSource.targetRaySpace,children:rA.jsx(yQ.Provider,{value:I,children:rA.jsx(z.Suspense,{children:typeof C=="function"?rA.jsx(C,{}):rA.jsx(Hj,{...C})})})},_E(I))})})}function Pj(){const g=LC(I=>I.gazeStates),A=LC(I=>I.gaze);return A===!1?null:rA.jsx(rA.Fragment,{children:g.map(I=>rA.jsx(FB,{space:()=>I.inputSource.targetRaySpace,children:rA.jsx(yQ.Provider,{value:I,children:rA.jsx(z.Suspense,{children:typeof A=="function"?rA.jsx(A,{}):rA.jsx(Tj,{...gY(A)})})})},_E(I)))})}function Zj(){const g=LC(I=>I.screenInputStates),A=LC(I=>I.screenInput);return A===!1?null:rA.jsx(rA.Fragment,{children:g.map(I=>rA.jsx(FB,{space:()=>I.inputSource.targetRaySpace,children:rA.jsx(yQ.Provider,{value:I,children:rA.jsx(z.Suspense,{children:typeof A=="function"?rA.jsx(A,{}):rA.jsx(xj,{...gY(A)})})})},_E(I)))})}function gY(g){if(g!==!0)return g}function Wj(){const g=LC(I=>I.detectedMeshes),A=LC(I=>I.detectedMesh);if(A!==!1)return rA.jsx(rA.Fragment,{children:g.map(I=>{const C=qL(A,I.semanticLabel,!1);return C===!1?null:rA.jsx(FB,{space:I.meshSpace,children:rA.jsx(PL.Provider,{value:I,children:rA.jsx(z.Suspense,{children:rA.jsx(C,{})})})},_E(I))})})}function Vj(){const g=LC(I=>I.detectedPlanes),A=LC(I=>I.detectedPlane);if(A!=null)return rA.jsx(rA.Fragment,{children:g.map(I=>{const C=qL(A,I.semanticLabel,!1);return C===!1?null:rA.jsx(FB,{space:I.planeSpace,children:rA.jsx(ZL.Provider,{value:I,children:rA.jsx(z.Suspense,{children:rA.jsx(C,{})})})},_E(I))})})}function jj(g){return fV(g)}function Xj({children:g,store:A}){A.setWebXRManager(Ee(C=>C.gl.xr));const I=Kr();return z.useEffect(()=>{let C;return A.subscribe((i,B)=>{const Q=i.mode!=null,e=B.mode!=null;if(Q!==e){if(Q){const{camera:t,gl:E}=I.getState();C=t,I.setState({camera:E.xr.getCamera()});return}C!=null&&I.setState({camera:C})}})},[I,A]),MC((C,i,B)=>A.onBeforeFrame(C.scene,C.camera,B),-1e3),rA.jsxs(_L.Provider,{value:A,children:[rA.jsx(vj,{}),g]})}function CY(){const g=z.useContext(_L);if(g==null)throw new Error("XR features can only be used inside the component");return g}function LC(g=A=>A){return AL(CY(),g)}z.forwardRef(({id:g,children:A,onPress:I,onRelease:C},i)=>{const B=$M(),[Q,e]=z.useState(void 0);if(z.useImperativeHandle(i,()=>Q,[Q]),zj(g,t=>t==="pressed"?I==null?void 0:I():C==null?void 0:C()),MC(()=>{var t;return e((t=B.gamepad[g])==null?void 0:t.object)}),Q!=null)return IM(A,Q)});function zj(g,A,I){const C=$M(),i=z.useRef();MC(()=>{var Q;const B=(Q=C==null?void 0:C.gamepad[g])==null?void 0:Q.state;B!=null&&B!=i.current&&A(B),i.current=B})}function $M(g){const A=z.useContext(yQ);if(A==null||A.type!="controller")throw new Error('useXRControllerState() can only be used inside a or using useXRControllerState("left")');return A}const $j=Symbol("loadXRControllerModel"),A5=z.forwardRef((g,A)=>{const I=$M(),C=Fr(mV,[I.layout,void 0,$j]);LV(C,g),I.object=C,z.useImperativeHandle(A,()=>C,[C]);const i=z.useMemo(()=>YV(C,I.layout,I.gamepad),[C,I.layout,I.gamepad]);return MC(i),rA.jsx("primitive",{object:C})});z.forwardRef((g,A)=>{const I=I5(),C=g5(I);return rA.jsx("mesh",{ref:A,geometry:C,...g})});function I5(){const g=z.useContext(PL);if(g==null)throw new Error("useXRMesh can only be used inside XRMesh or ForEachXRMesh");return g}function g5(g,A=!0){const[I,C]=z.useState(KF(g,void 0));return MC(()=>C(i=>KF(g,i))),z.useEffect(()=>{if(A)return()=>I.dispose()},[I]),I}z.forwardRef((g,A)=>{const I=C5(),C=i5(I);return rA.jsx("mesh",{ref:A,geometry:C,...g})});function C5(){const g=z.useContext(ZL);if(g==null)throw new Error("useXRPlane can only be used inside XRPlane or ForEachXRPlane");return g}function i5(g,A=!0){const[I,C]=z.useState(JF(g,void 0));return MC(()=>C(i=>JF(g,i))),z.useEffect(()=>{if(A)return()=>I.dispose()},[I]),I}const B5=z.forwardRef(({children:g,...A},I)=>{const C=Ee(Q=>Q.gl.xr.getCamera()),i=Ee(Q=>Q.gl.xr),B=z.useCallback(()=>i.getReferenceSpace(),[i]);return rA.jsxs("group",{ref:I,...A,children:[rA.jsx("primitive",{object:C}),rA.jsx(qS.Provider,{value:B,children:g})]})}),iY=z.forwardRef(({store:g,mode:A,onError:I,options:C,children:i,...B},Q)=>{const e=AL(g,E=>E.session),t=Uj(A,I);return rA.jsx("button",{ref:Q,...B,onClick:()=>e!=null?e.end():g.enterXR(A,C).catch(I),children:typeof i=="function"?i(t?e!=null?"entered":"exited":"unsupported"):i})});z.forwardRef((g,A)=>rA.jsx(iY,{ref:A,mode:"immersive-ar",...g}));z.forwardRef((g,A)=>rA.jsx(iY,{ref:A,mode:"immersive-vr",...g}));const Q5={onBlur:"pointerleave",onHover:"pointerenter",onMove:"pointermove",onSelect:{type:"click",filter:g=>g.pointerType==="ray"},onSelectEnd:{type:"pointerup",filter:g=>g.pointerType==="ray"},onSelectStart:{type:"pointerdown",filter:g=>g.pointerType==="ray"},onSqueeze:{type:"click",filter:g=>g.pointerType==="grab"},onSqueezeEnd:{type:"pointerup",filter:g=>g.pointerType==="grab"},onSqueezeStart:{type:"pointerdown",filter:g=>g.pointerType==="grab"}};function HQ(g,A,I){const C=z.useRef(I);C.current=I,z.useEffect(()=>{const{current:i}=g;if(i==null)return;const B=Q5[A],Q=typeof B=="string"?t=>{var E;return(E=C.current)==null?void 0:E.call(C,{intersection:t,intersections:[t],target:t.pointerState})}:t=>{var E;t instanceof ri&&!B.filter(t)||(E=C.current)==null||E.call(C,{intersection:t,intersections:[t],target:t.pointerState})},e=typeof B=="string"?B:B.type;return i.addEventListener(e,Q),()=>i.removeEventListener(e,Q)},[g,A])}const e5=z.forwardRef(({onHover:g,onBlur:A,onSelectStart:I,onSelectEnd:C,onSelect:i,onSqueezeStart:B,onSqueezeEnd:Q,onSqueeze:e,onMove:t,children:E},o)=>{const s=z.useRef(null);return z.useImperativeHandle(o,()=>s.current),HQ(s,"onHover",g),HQ(s,"onBlur",A),HQ(s,"onSelectStart",I),HQ(s,"onSelectEnd",C),HQ(s,"onSelect",i),HQ(s,"onSqueezeStart",B),HQ(s,"onSqueezeEnd",Q),HQ(s,"onSqueeze",e),HQ(s,"onMove",t),rA.jsx("group",{ref:s,children:E})});z.forwardRef(function({onSelectStart:A,onSelectEnd:I,children:C,...i},B){const Q=z.useRef(),e=z.useRef(null),t=z.useMemo(()=>new iI,[]);return z.useImperativeHandle(B,()=>e.current),MC(()=>{const E=Q.current,o=e.current;!o||!E||(o.applyMatrix4(t),o.applyMatrix4(E.matrixWorld),o.updateMatrixWorld(),t.copy(E.matrixWorld).invert())}),rA.jsx(e5,{ref:e,onSelectStart:E=>{aV(E.target)&&(E.target.type==="controller"||E.target.type==="hand")&&E.target.object!=null&&(Q.current=E.target.object,t.copy(E.target.object.matrixWorld).invert(),A==null||A(E))},onSelectEnd:E=>{E.target.controller===Q.current&&(Q.current=void 0),I==null||I(E)},...i,children:C})});const t5=Symbol(),A0=Symbol(),Ps="a",Ga="w";let E5=(g,A)=>new Proxy(g,A);const wk=Object.getPrototypeOf,Gk=new WeakMap,BY=g=>g&&(Gk.has(g)?Gk.get(g):wk(g)===Object.prototype||wk(g)===Array.prototype),oD=g=>typeof g=="object"&&g!==null,o5=g=>{if(Array.isArray(g))return Array.from(g);const A=Object.getOwnPropertyDescriptors(g);return Object.values(A).forEach(I=>{I.configurable=!0}),Object.create(wk(g),A)},I0=g=>g[A0]||g,QY=(g,A,I,C)=>{if(!BY(g))return g;let i=C&&C.get(g);if(!i){const t=I0(g);i=(E=>Object.values(Object.getOwnPropertyDescriptors(E)).some(o=>!o.configurable&&!o.writable))(t)?[t,o5(t)]:[t],C==null||C.set(g,i)}const[B,Q]=i;let e=I&&I.get(B);return e&&e[1].f===!!Q||(e=((t,E)=>{const o={f:E};let s=!1;const r=(h,w)=>{if(!s){let D=o[Ps].get(t);if(D||(D={},o[Ps].set(t,D)),h===Ga)D[Ga]=!0;else{let c=D[h];c||(c=new Set,D[h]=c),c.add(w)}}},l={get:(h,w)=>w===A0?t:(r("k",w),QY(Reflect.get(h,w),o[Ps],o.c,o.t)),has:(h,w)=>w===t5?(s=!0,o[Ps].delete(t),!0):(r("h",w),Reflect.has(h,w)),getOwnPropertyDescriptor:(h,w)=>(r("o",w),Reflect.getOwnPropertyDescriptor(h,w)),ownKeys:h=>(r(Ga),Reflect.ownKeys(h))};return E&&(l.set=l.deleteProperty=()=>!1),[l,o]})(B,!!Q),e[1].p=E5(Q||B,e[0]),I&&I.set(B,e)),e[1][Ps]=A,e[1].c=I,e[1].t=C,e[1].p},eY=(g,A,I,C,i=Object.is)=>{if(i(g,A))return!1;if(!oD(g)||!oD(A))return!0;const B=I.get(I0(g));if(!B)return!0;if(C){const e=C.get(g);if(e&&e.n===A)return e.g;C.set(g,{n:A,g:!1})}let Q=null;try{for(const e of B.h||[])if(Q=Reflect.has(g,e)!==Reflect.has(A,e),Q)return Q;if(B[Ga]===!0){if(Q=((e,t)=>{const E=Reflect.ownKeys(e),o=Reflect.ownKeys(t);return E.length!==o.length||E.some((s,r)=>s!==o[r])})(g,A),Q)return Q}else for(const e of B.o||[])if(Q=!!Reflect.getOwnPropertyDescriptor(g,e)!=!!Reflect.getOwnPropertyDescriptor(A,e),Q)return Q;for(const e of B.k||[])if(Q=eY(g[e],A[e],I,C,i),Q)return Q;return Q===null&&(Q=!0),Q}finally{C&&C.set(g,{n:A,g:Q})}},n5=g=>BY(g)&&g[A0]||null,LF=(g,A=!0)=>{Gk.set(g,A)},s5=(g,A,I)=>{const C=[],i=new WeakSet,B=(Q,e)=>{if(i.has(Q))return;oD(Q)&&i.add(Q);const t=oD(Q)&&A.get(I0(Q));if(t){var E,o;if((E=t.h)==null||E.forEach(r=>{const l=`:has(${String(r)})`;C.push(e?[...e,l]:[l])}),t[Ga]===!0){const r=":ownKeys";C.push(e?[...e,r]:[r])}else{var s;(s=t.o)==null||s.forEach(r=>{const l=`:hasOwn(${String(r)})`;C.push(e?[...e,l]:[l])})}(o=t.k)==null||o.forEach(r=>{!("value"in(Object.getOwnPropertyDescriptor(Q,r)||{}))||B(Q[r],e?[...e,r]:[r])})}else e&&C.push(e)};return B(g),C};var nD={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const dy=g=>typeof g=="object"&&g!==null,xe=new WeakMap,Vc=new WeakSet,a5=(g=Object.is,A=(E,o)=>new Proxy(E,o),I=E=>dy(E)&&!Vc.has(E)&&(Array.isArray(E)||!(Symbol.iterator in E))&&!(E instanceof WeakMap)&&!(E instanceof WeakSet)&&!(E instanceof Error)&&!(E instanceof Number)&&!(E instanceof Date)&&!(E instanceof String)&&!(E instanceof RegExp)&&!(E instanceof ArrayBuffer),C=E=>{switch(E.status){case"fulfilled":return E.value;case"rejected":throw E.reason;default:throw E}},i=new WeakMap,B=(E,o,s=C)=>{const r=i.get(E);if((r==null?void 0:r[0])===o)return r[1];const l=Array.isArray(E)?[]:Object.create(Object.getPrototypeOf(E));return LF(l,!0),i.set(E,[o,l]),Reflect.ownKeys(E).forEach(h=>{if(Object.getOwnPropertyDescriptor(l,h))return;const w=Reflect.get(E,h),{enumerable:D}=Reflect.getOwnPropertyDescriptor(E,h),c={value:w,enumerable:D,configurable:!0};if(Vc.has(w))LF(w,!1);else if(w instanceof Promise)delete c.value,c.get=()=>s(w);else if(xe.has(w)){const[G,y]=xe.get(w);c.value=B(G,y(),s)}Object.defineProperty(l,h,c)}),Object.preventExtensions(l)},Q=new WeakMap,e=[1,1],t=E=>{if(!dy(E))throw new Error("object required");const o=Q.get(E);if(o)return o;let s=e[0];const r=new Set,l=(N,p=++e[0])=>{s!==p&&(s=p,r.forEach(m=>m(N,p)))};let h=e[1];const w=(N=++e[1])=>(h!==N&&!r.size&&(h=N,c.forEach(([p])=>{const m=p[1](N);m>s&&(s=m)})),s),D=N=>(p,m)=>{const q=[...p];q[1]=[N,...q[1]],l(q,m)},c=new Map,G=(N,p)=>{if((nD?"production":void 0)!=="production"&&c.has(N))throw new Error("prop listener already exists");if(r.size){const m=p[3](D(N));c.set(N,[p,m])}else c.set(N,[p])},y=N=>{var p;const m=c.get(N);m&&(c.delete(N),(p=m[1])==null||p.call(m))},k=N=>(r.add(N),r.size===1&&c.forEach(([m,q],L)=>{if((nD?"production":void 0)!=="production"&&q)throw new Error("remove already exists");const _=m[3](D(L));c.set(L,[m,_])}),()=>{r.delete(N),r.size===0&&c.forEach(([m,q],L)=>{q&&(q(),c.set(L,[m]))})}),F=Array.isArray(E)?[]:Object.create(Object.getPrototypeOf(E)),f=A(F,{deleteProperty(N,p){const m=Reflect.get(N,p);y(p);const q=Reflect.deleteProperty(N,p);return q&&l(["delete",[p],m]),q},set(N,p,m,q){const L=Reflect.has(N,p),_=Reflect.get(N,p,q);if(L&&(g(_,m)||Q.has(m)&&g(_,Q.get(m))))return!0;y(p),dy(m)&&(m=n5(m)||m);let IA=m;if(m instanceof Promise)m.then(CA=>{m.status="fulfilled",m.value=CA,l(["resolve",[p],CA])}).catch(CA=>{m.status="rejected",m.reason=CA,l(["reject",[p],CA])});else{!xe.has(m)&&I(m)&&(IA=t(m));const CA=!Vc.has(IA)&&xe.get(IA);CA&&G(p,CA)}return Reflect.set(N,p,IA,q),l(["set",[p],m,_]),!0}});Q.set(E,f);const K=[F,w,B,k];return xe.set(f,K),Reflect.ownKeys(E).forEach(N=>{const p=Object.getOwnPropertyDescriptor(E,N);"value"in p&&(f[N]=E[N],delete p.value,delete p.writable),Object.defineProperty(F,N,p)}),f})=>[t,xe,Vc,g,A,I,C,i,B,Q,e],[r5]=a5();function l5(g={}){return r5(g)}function c5(g,A,I){const C=xe.get(g);(nD?"production":void 0)!=="production"&&!C&&console.warn("Please use proxy object");let i;const B=[],Q=C[3];let e=!1;const E=Q(o=>{B.push(o),i||(i=Promise.resolve().then(()=>{i=void 0,e&&A(B.splice(0))}))});return e=!0,()=>{e=!1,E()}}function YF(g,A){const I=xe.get(g);(nD?"production":void 0)!=="production"&&!I&&console.warn("Please use proxy object");const[C,i,B]=I;return B(C,i(),A)}var h5={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{use:HF}=UI,{useSyncExternalStore:D5}=jZ,S5=(g,A)=>{const I=z.useRef();z.useEffect(()=>{I.current=s5(g,A)}),z.useDebugValue(I.current)},w5=new WeakMap;function G5(g,A){const C=z.useRef(),i=z.useRef();let B=!0;const Q=D5(z.useCallback(E=>{const o=c5(g,E);return E(),o},[g,void 0]),()=>{const E=YF(g,HF);try{if(!B&&C.current&&i.current&&!eY(C.current,E,i.current,new WeakMap))return C.current}catch{}return E},()=>YF(g,HF));B=!1;const e=new WeakMap;z.useEffect(()=>{C.current=Q,i.current=e}),(h5?"production":void 0)!=="production"&&S5(Q,e);const t=z.useMemo(()=>new WeakMap,[]);return QY(Q,e,t,w5)}const My=new Audio("ping.mp3"),tr=l5({count:0,api:{pong(g){console.log(g),My.currentTime=0,My.volume=Math.min(Math.max(0,g/20,0),1),My.play(),g>10&&++tr.count},reset:()=>tr.count=0}});function y5(){const g=mS();return rA.jsxs(rA.Fragment,{children:[rA.jsx(z.Suspense,{children:rA.jsx(jL,{renderOrder:-1,colorWrite:!1})}),rA.jsx("group",{scale:.045,children:rA.jsx(z.Suspense,{children:rA.jsx(u5,{handedness:g.inputSource.handedness})})})]})}const TF=new T,xF=new Bg;function u5({handedness:g}){const A=z.useRef(),I=z.useRef(),C=z.useRef(),{count:i}=G5(tr),{nodes:B,materials:Q}=ES("/pingpong.glb"),e=z.useCallback(t=>{tr.api.pong(t.totalForceMagnitude*1300)},[]);return MC(()=>{I.current.getWorldPosition(TF),A.current.setTranslation(TF),I.current.getWorldQuaternion(xF),A.current.setRotation(xF)}),rA.jsxs("group",{position:[0,-1,-1.6],"rotation-z":g==="left"?.6:-.6,"rotation-x":0,"rotation-y":g==="left"?-.7:.7,children:[rA.jsx("group",{ref:I,position:[.1,.3,-2.6],children:rA.jsx(MZ,{anchorX:"center",anchorY:"middle",rotation:[-Math.PI/2,Math.PI,0],position:[0,-.2,0],fontSize:10,scale:.15,children:i})}),rA.jsx(er,{ccd:!0,canSleep:!1,ref:A,type:"kinematicPosition",colliders:!1,children:rA.jsx(_M,{onContactForce:e,args:[.15,1.9]})}),rA.jsx("group",{ref:C,scale:.15,children:rA.jsxs("group",{rotation:[0,-.04,0],scale:141.94,children:[rA.jsx("mesh",{castShadow:!0,receiveShadow:!0,material:Q.wood,geometry:B.mesh.geometry}),rA.jsx("mesh",{castShadow:!0,receiveShadow:!0,material:Q.side,geometry:B.mesh_1.geometry}),rA.jsx("mesh",{castShadow:!0,receiveShadow:!0,material:Q.foam,geometry:B.mesh_2.geometry}),rA.jsx("mesh",{castShadow:!0,receiveShadow:!0,material:Q.lower,geometry:B.mesh_3.geometry}),rA.jsx("mesh",{castShadow:!0,receiveShadow:!0,material:Q.upper,geometry:B.mesh_4.geometry})]})})]})}const vF=jj({hand:y5});function k5(){return rA.jsxs(rA.Fragment,{children:[rA.jsx("button",{onClick:()=>vF.enterAR(),children:"Enter AR"}),rA.jsx(P1,{shadows:!0,dpr:[1,1.5],children:rA.jsx(A8,{maxCcdSubsteps:10,gravity:[0,-5,0],timeStep:"vary",children:rA.jsxs(Xj,{store:vF,children:[rA.jsx("color",{attach:"background",args:["#f0f0f0"]}),rA.jsx("ambientLight",{intensity:.5*Math.PI}),rA.jsx("spotLight",{decay:0,position:[-10,15,-5],angle:1,penumbra:1,intensity:2,castShadow:!0,"shadow-mapSize":1024,"shadow-bias":-1e-4}),rA.jsx(z.Suspense,{children:rA.jsx(d5,{})}),rA.jsx(B5,{})]})})})]})}function d5(){const g=z.useRef(),A=BM("crossp.jpg"),I=z.useCallback(()=>{tr.api.reset(),g.current.resetForces(!0),g.current.resetTorques(!0),g.current.setTranslation({x:0,y:2,z:-.5}),g.current.setAngvel({x:0,y:0,z:0}),g.current.setLinvel({x:0,y:2,z:0})},[]);return rA.jsxs(rA.Fragment,{children:[rA.jsxs(er,{ccd:!0,ref:g,angularDamping:.1,restitution:1.5,canSleep:!1,colliders:!1,enabledTranslations:[!0,!0,!1],children:[rA.jsx(dL,{args:[.02]}),rA.jsxs("mesh",{castShadow:!0,receiveShadow:!0,children:[rA.jsx("sphereGeometry",{args:[.02,64,64]}),rA.jsx("meshStandardMaterial",{map:A})]})]}),rA.jsx(er,{type:"fixed",colliders:!1,position:[0,-3,0],restitution:2.1,onCollisionEnter:I,children:rA.jsx(kL,{args:[1e3,2,1e3]})})]})}IJ(document.getElementById("root")).render(rA.jsx(z.StrictMode,{children:rA.jsx(k5,{})})); diff --git a/examples/pingpong/crossp.jpg b/examples/pingpong/crossp.jpg new file mode 100644 index 00000000..7b45c1b2 Binary files /dev/null and b/examples/pingpong/crossp.jpg differ diff --git a/examples/pingpong/index.html b/examples/pingpong/index.html new file mode 100644 index 00000000..0eab0a29 --- /dev/null +++ b/examples/pingpong/index.html @@ -0,0 +1,12 @@ + + + + + + Document + + + +
+ + \ No newline at end of file diff --git a/examples/pingpong/ping.mp3 b/examples/pingpong/ping.mp3 new file mode 100644 index 00000000..6cc11b7a Binary files /dev/null and b/examples/pingpong/ping.mp3 differ diff --git a/examples/pingpong/pingpong.glb b/examples/pingpong/pingpong.glb new file mode 100644 index 00000000..1f769c0f Binary files /dev/null and b/examples/pingpong/pingpong.glb differ diff --git a/examples/rag-doll/assets/index-D3akbFGU.js b/examples/rag-doll/assets/index-D3akbFGU.js new file mode 100644 index 00000000..ad636551 --- /dev/null +++ b/examples/rag-doll/assets/index-D3akbFGU.js @@ -0,0 +1,4109 @@ +var DH=Object.defineProperty;var JH=(i,e,t)=>e in i?DH(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var yt=(i,e,t)=>(JH(i,typeof e!="symbol"?e+"":e,t),t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();function yh(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var QR={exports:{}},Bh={},jR={exports:{}},Nt={};/** + * @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 xC=Symbol.for("react.element"),PH=Symbol.for("react.portal"),OH=Symbol.for("react.fragment"),QH=Symbol.for("react.strict_mode"),jH=Symbol.for("react.profiler"),qH=Symbol.for("react.provider"),$H=Symbol.for("react.context"),eF=Symbol.for("react.forward_ref"),tF=Symbol.for("react.suspense"),nF=Symbol.for("react.memo"),iF=Symbol.for("react.lazy"),Tv=Symbol.iterator;function sF(i){return i===null||typeof i!="object"?null:(i=Tv&&i[Tv]||i["@@iterator"],typeof i=="function"?i:null)}var qR={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},$R=Object.assign,eS={};function Bc(i,e,t){this.props=i,this.context=e,this.refs=eS,this.updater=t||qR}Bc.prototype.isReactComponent={};Bc.prototype.setState=function(i,e){if(typeof i!="object"&&typeof i!="function"&&i!=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,i,e,"setState")};Bc.prototype.forceUpdate=function(i){this.updater.enqueueForceUpdate(this,i,"forceUpdate")};function tS(){}tS.prototype=Bc.prototype;function AG(i,e,t){this.props=i,this.context=e,this.refs=eS,this.updater=t||qR}var hG=AG.prototype=new tS;hG.constructor=AG;$R(hG,Bc.prototype);hG.isPureReactComponent=!0;var Ev=Array.isArray,nS=Object.prototype.hasOwnProperty,pG={current:null},iS={key:!0,ref:!0,__self:!0,__source:!0};function sS(i,e,t){var n,s={},o=null,r=null;if(e!=null)for(n in e.ref!==void 0&&(r=e.ref),e.key!==void 0&&(o=""+e.key),e)nS.call(e,n)&&!iS.hasOwnProperty(n)&&(s[n]=e[n]);var g=arguments.length-2;if(g===1)s.children=t;else if(1>>1,ye=N[te];if(0>>1;tes(fe,U))xes(we,fe)?(N[te]=we,N[xe]=U,te=xe):(N[te]=fe,N[ee]=U,te=ee);else if(xes(we,U))N[te]=we,N[xe]=U,te=xe;else break e}}return D}function s(N,D){var U=N.sortIndex-D.sortIndex;return U!==0?U:N.id-D.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;i.unstable_now=function(){return o.now()}}else{var r=Date,g=r.now();i.unstable_now=function(){return r.now()-g}}var a=[],l=[],I=1,u=null,d=3,A=!1,p=!1,b=!1,f=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,G=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(N){for(var D=t(l);D!==null;){if(D.callback===null)n(l);else if(D.startTime<=N)n(l),D.sortIndex=D.expirationTime,e(a,D);else break;D=t(l)}}function v(N){if(b=!1,y(N),!p)if(t(a)!==null)p=!0,de(W);else{var D=t(l);D!==null&&he(v,D.startTime-N)}}function W(N,D){p=!1,b&&(b=!1,h(M),M=-1),A=!0;var U=d;try{for(y(D),u=t(a);u!==null&&(!(u.expirationTime>D)||N&&!Y());){var te=u.callback;if(typeof te=="function"){u.callback=null,d=u.priorityLevel;var ye=te(u.expirationTime<=D);D=i.unstable_now(),typeof ye=="function"?u.callback=ye:u===t(a)&&n(a),y(D)}else n(a);u=t(a)}if(u!==null)var Re=!0;else{var ee=t(l);ee!==null&&he(v,ee.startTime-D),Re=!1}return Re}finally{u=null,d=U,A=!1}}var R=!1,x=null,M=-1,V=5,w=-1;function Y(){return!(i.unstable_now()-wN||125te?(N.sortIndex=U,e(l,N),t(a)===null&&N===t(l)&&(b?(h(M),M=-1):b=!0,he(v,U-te))):(N.sortIndex=ye,e(a,N),p||A||(p=!0,de(W))),N},i.unstable_shouldYield=Y,i.unstable_wrapCallback=function(N){var D=d;return function(){var U=d;d=D;try{return N.apply(this,arguments)}finally{d=U}}}})(lS);aS.exports=lS;var hF=aS.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 pF=k,ps=hF;function Se(i){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+i,t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),vb=Object.prototype.hasOwnProperty,mF=/^[: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]*$/,_v={},Uv={};function fF(i){return vb.call(Uv,i)?!0:vb.call(_v,i)?!1:mF.test(i)?Uv[i]=!0:(_v[i]=!0,!1)}function bF(i,e,t,n){if(t!==null&&t.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return n?!1:t!==null?!t.acceptsBooleans:(i=i.toLowerCase().slice(0,5),i!=="data-"&&i!=="aria-");default:return!1}}function GF(i,e,t,n){if(e===null||typeof e>"u"||bF(i,e,t,n))return!0;if(n)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 Ti(i,e,t,n,s,o,r){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=n,this.attributeNamespace=s,this.mustUseProperty=t,this.propertyName=i,this.type=e,this.sanitizeURL=o,this.removeEmptyString=r}var ri={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(i){ri[i]=new Ti(i,0,!1,i,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(i){var e=i[0];ri[e]=new Ti(e,1,!1,i[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(i){ri[i]=new Ti(i,2,!1,i.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(i){ri[i]=new Ti(i,2,!1,i,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(i){ri[i]=new Ti(i,3,!1,i.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(i){ri[i]=new Ti(i,3,!0,i,null,!1,!1)});["capture","download"].forEach(function(i){ri[i]=new Ti(i,4,!1,i,null,!1,!1)});["cols","rows","size","span"].forEach(function(i){ri[i]=new Ti(i,6,!1,i,null,!1,!1)});["rowSpan","start"].forEach(function(i){ri[i]=new Ti(i,5,!1,i.toLowerCase(),null,!1,!1)});var fG=/[\-:]([a-z])/g;function bG(i){return i[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(i){var e=i.replace(fG,bG);ri[e]=new Ti(e,1,!1,i,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(i){var e=i.replace(fG,bG);ri[e]=new Ti(e,1,!1,i,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(i){var e=i.replace(fG,bG);ri[e]=new Ti(e,1,!1,i,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(i){ri[i]=new Ti(i,1,!1,i.toLowerCase(),null,!1,!1)});ri.xlinkHref=new Ti("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(i){ri[i]=new Ti(i,1,!1,i.toLowerCase(),null,!0,!0)});function GG(i,e,t,n){var s=ri.hasOwnProperty(e)?ri[e]:null;(s!==null?s.type!==0:n||!(2g||s[r]!==o[g]){var a=` +`+s[r].replace(" at new "," at ");return i.displayName&&a.includes("")&&(a=a.replace("",i.displayName)),a}while(1<=r&&0<=g);break}}}finally{Xm=!1,Error.prepareStackTrace=t}return(i=i?i.displayName||i.name:"")?xI(i):""}function yF(i){switch(i.tag){case 5:return xI(i.type);case 16:return xI("Lazy");case 13:return xI("Suspense");case 19:return xI("SuspenseList");case 0:case 2:case 15:return i=Hm(i.type,!1),i;case 11:return i=Hm(i.type.render,!1),i;case 1:return i=Hm(i.type,!0),i;default:return""}}function Sb(i){if(i==null)return null;if(typeof i=="function")return i.displayName||i.name||null;if(typeof i=="string")return i;switch(i){case Yl:return"Fragment";case Nl:return"Portal";case Zb:return"Profiler";case yG:return"StrictMode";case wb:return"Suspense";case Rb:return"SuspenseList"}if(typeof i=="object")switch(i.$$typeof){case CS:return(i.displayName||"Context")+".Consumer";case IS:return(i._context.displayName||"Context")+".Provider";case BG:var e=i.render;return i=i.displayName,i||(i=e.displayName||e.name||"",i=i!==""?"ForwardRef("+i+")":"ForwardRef"),i;case vG:return e=i.displayName||null,e!==null?e:Sb(i.type)||"Memo";case qr:e=i._payload,i=i._init;try{return Sb(i(e))}catch{}}return null}function BF(i){var e=i.type;switch(i.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 i=e.render,i=i.displayName||i.name||"",e.displayName||(i!==""?"ForwardRef("+i+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Sb(e);case 8:return e===yG?"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 pg(i){switch(typeof i){case"boolean":case"number":case"string":case"undefined":return i;case"object":return i;default:return""}}function dS(i){var e=i.type;return(i=i.nodeName)&&i.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function vF(i){var e=dS(i)?"checked":"value",t=Object.getOwnPropertyDescriptor(i.constructor.prototype,e),n=""+i[e];if(!i.hasOwnProperty(e)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var s=t.get,o=t.set;return Object.defineProperty(i,e,{configurable:!0,get:function(){return s.call(this)},set:function(r){n=""+r,o.call(this,r)}}),Object.defineProperty(i,e,{enumerable:t.enumerable}),{getValue:function(){return n},setValue:function(r){n=""+r},stopTracking:function(){i._valueTracker=null,delete i[e]}}}}function $u(i){i._valueTracker||(i._valueTracker=vF(i))}function AS(i){if(!i)return!1;var e=i._valueTracker;if(!e)return!0;var t=e.getValue(),n="";return i&&(n=dS(i)?i.checked?"true":"false":i.value),i=n,i!==t?(e.setValue(i),!0):!1}function kA(i){if(i=i||(typeof document<"u"?document:void 0),typeof i>"u")return null;try{return i.activeElement||i.body}catch{return i.body}}function Wb(i,e){var t=e.checked;return fn({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??i._wrapperState.initialChecked})}function Jv(i,e){var t=e.defaultValue==null?"":e.defaultValue,n=e.checked!=null?e.checked:e.defaultChecked;t=pg(e.value!=null?e.value:t),i._wrapperState={initialChecked:n,initialValue:t,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function hS(i,e){e=e.checked,e!=null&&GG(i,"checked",e,!1)}function xb(i,e){hS(i,e);var t=pg(e.value),n=e.type;if(t!=null)n==="number"?(t===0&&i.value===""||i.value!=t)&&(i.value=""+t):i.value!==""+t&&(i.value=""+t);else if(n==="submit"||n==="reset"){i.removeAttribute("value");return}e.hasOwnProperty("value")?Vb(i,e.type,t):e.hasOwnProperty("defaultValue")&&Vb(i,e.type,pg(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(i.defaultChecked=!!e.defaultChecked)}function Pv(i,e,t){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var n=e.type;if(!(n!=="submit"&&n!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+i._wrapperState.initialValue,t||e===i.value||(i.value=e),i.defaultValue=e}t=i.name,t!==""&&(i.name=""),i.defaultChecked=!!i._wrapperState.initialChecked,t!==""&&(i.name=t)}function Vb(i,e,t){(e!=="number"||kA(i.ownerDocument)!==i)&&(t==null?i.defaultValue=""+i._wrapperState.initialValue:i.defaultValue!==""+t&&(i.defaultValue=""+t))}var VI=Array.isArray;function ql(i,e,t,n){if(i=i.options,e){e={};for(var s=0;s"+e.valueOf().toString()+"",e=ed.firstChild;i.firstChild;)i.removeChild(i.firstChild);for(;e.firstChild;)i.appendChild(e.firstChild)}});function qI(i,e){if(e){var t=i.firstChild;if(t&&t===i.lastChild&&t.nodeType===3){t.nodeValue=e;return}}i.textContent=e}var YI={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},ZF=["Webkit","ms","Moz","O"];Object.keys(YI).forEach(function(i){ZF.forEach(function(e){e=e+i.charAt(0).toUpperCase()+i.substring(1),YI[e]=YI[i]})});function bS(i,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||YI.hasOwnProperty(i)&&YI[i]?(""+e).trim():e+"px"}function GS(i,e){i=i.style;for(var t in e)if(e.hasOwnProperty(t)){var n=t.indexOf("--")===0,s=bS(t,e[t],n);t==="float"&&(t="cssFloat"),n?i.setProperty(t,s):i[t]=s}}var wF=fn({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 Hb(i,e){if(e){if(wF[i]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Se(137,i));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Se(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Se(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Se(62))}}function Fb(i,e){if(i.indexOf("-")===-1)return typeof e.is=="string";switch(i){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 Nb=null;function ZG(i){return i=i.target||i.srcElement||window,i.correspondingUseElement&&(i=i.correspondingUseElement),i.nodeType===3?i.parentNode:i}var Yb=null,$l=null,ec=null;function jv(i){if(i=XC(i)){if(typeof Yb!="function")throw Error(Se(280));var e=i.stateNode;e&&(e=Sh(e),Yb(i.stateNode,i.type,e))}}function yS(i){$l?ec?ec.push(i):ec=[i]:$l=i}function BS(){if($l){var i=$l,e=ec;if(ec=$l=null,jv(i),e)for(i=0;i>>=0,i===0?32:31-(YF(i)/KF|0)|0}var td=64,nd=4194304;function MI(i){switch(i&-i){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 i&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return i&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return i}}function JA(i,e){var t=i.pendingLanes;if(t===0)return 0;var n=0,s=i.suspendedLanes,o=i.pingedLanes,r=t&268435455;if(r!==0){var g=r&~s;g!==0?n=MI(g):(o&=r,o!==0&&(n=MI(o)))}else r=t&~s,r!==0?n=MI(r):o!==0&&(n=MI(o));if(n===0)return 0;if(e!==0&&e!==n&&!(e&s)&&(s=n&-n,o=e&-e,s>=o||s===16&&(o&4194240)!==0))return e;if(n&4&&(n|=t&16),e=i.entangledLanes,e!==0)for(i=i.entanglements,e&=n;0t;t++)e.push(i);return e}function VC(i,e,t){i.pendingLanes|=e,e!==536870912&&(i.suspendedLanes=0,i.pingedLanes=0),i=i.eventTimes,e=31-co(e),i[e]=t}function EF(i,e){var t=i.pendingLanes&~e;i.pendingLanes=e,i.suspendedLanes=0,i.pingedLanes=0,i.expiredLanes&=e,i.mutableReadLanes&=e,i.entangledLanes&=e,e=i.entanglements;var n=i.eventTimes;for(i=i.expirationTimes;0=LI),rZ=" ",gZ=!1;function kS(i,e){switch(i){case"keyup":return hN.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function _S(i){return i=i.detail,typeof i=="object"&&"data"in i?i.data:null}var Kl=!1;function mN(i,e){switch(i){case"compositionend":return _S(e);case"keypress":return e.which!==32?null:(gZ=!0,rZ);case"textInput":return i=e.data,i===rZ&&gZ?null:i;default:return null}}function fN(i,e){if(Kl)return i==="compositionend"||!XG&&kS(i,e)?(i=TS(),vA=xG=og=null,Kl=!1,i):null;switch(i){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-i};i=n}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=IZ(t)}}function PS(i,e){return i&&e?i===e?!0:i&&i.nodeType===3?!1:e&&e.nodeType===3?PS(i,e.parentNode):"contains"in i?i.contains(e):i.compareDocumentPosition?!!(i.compareDocumentPosition(e)&16):!1:!1}function OS(){for(var i=window,e=kA();e instanceof i.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)i=e.contentWindow;else break;e=kA(i.document)}return e}function HG(i){var e=i&&i.nodeName&&i.nodeName.toLowerCase();return e&&(e==="input"&&(i.type==="text"||i.type==="search"||i.type==="tel"||i.type==="url"||i.type==="password")||e==="textarea"||i.contentEditable==="true")}function SN(i){var e=OS(),t=i.focusedElem,n=i.selectionRange;if(e!==t&&t&&t.ownerDocument&&PS(t.ownerDocument.documentElement,t)){if(n!==null&&HG(t)){if(e=n.start,i=n.end,i===void 0&&(i=e),"selectionStart"in t)t.selectionStart=e,t.selectionEnd=Math.min(i,t.value.length);else if(i=(e=t.ownerDocument||document)&&e.defaultView||window,i.getSelection){i=i.getSelection();var s=t.textContent.length,o=Math.min(n.start,s);n=n.end===void 0?o:Math.min(n.end,s),!i.extend&&o>n&&(s=n,n=o,o=s),s=CZ(t,o);var r=CZ(t,n);s&&r&&(i.rangeCount!==1||i.anchorNode!==s.node||i.anchorOffset!==s.offset||i.focusNode!==r.node||i.focusOffset!==r.offset)&&(e=e.createRange(),e.setStart(s.node,s.offset),i.removeAllRanges(),o>n?(i.addRange(e),i.extend(r.node,r.offset)):(e.setEnd(r.node,r.offset),i.addRange(e)))}}for(e=[],i=t;i=i.parentNode;)i.nodeType===1&&e.push({element:i,left:i.scrollLeft,top:i.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Ll=null,kb=null,TI=null,_b=!1;function uZ(i,e,t){var n=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;_b||Ll==null||Ll!==kA(n)||(n=Ll,"selectionStart"in n&&HG(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),TI&&sC(TI,n)||(TI=n,n=QA(kb,"onSelect"),0El||(i.current=Qb[El],Qb[El]=null,El--)}function en(i,e){El++,Qb[El]=i.current,i.current=e}var mg={},Bi=yg(mg),ts=yg(!1),Ba=mg;function Ic(i,e){var t=i.type.contextTypes;if(!t)return mg;var n=i.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===e)return n.__reactInternalMemoizedMaskedChildContext;var s={},o;for(o in t)s[o]=e[o];return n&&(i=i.stateNode,i.__reactInternalMemoizedUnmaskedChildContext=e,i.__reactInternalMemoizedMaskedChildContext=s),s}function ns(i){return i=i.childContextTypes,i!=null}function qA(){sn(ts),sn(Bi)}function bZ(i,e,t){if(Bi.current!==mg)throw Error(Se(168));en(Bi,e),en(ts,t)}function sW(i,e,t){var n=i.stateNode;if(e=e.childContextTypes,typeof n.getChildContext!="function")return t;n=n.getChildContext();for(var s in n)if(!(s in e))throw Error(Se(108,BF(i)||"Unknown",s));return fn({},t,n)}function $A(i){return i=(i=i.stateNode)&&i.__reactInternalMemoizedMergedChildContext||mg,Ba=Bi.current,en(Bi,i),en(ts,ts.current),!0}function GZ(i,e,t){var n=i.stateNode;if(!n)throw Error(Se(169));t?(i=sW(i,e,Ba),n.__reactInternalMemoizedMergedChildContext=i,sn(ts),sn(Bi),en(Bi,i)):sn(ts),en(ts,t)}var gr=null,Wh=!1,Pm=!1;function oW(i){gr===null?gr=[i]:gr.push(i)}function zN(i){Wh=!0,oW(i)}function Bg(){if(!Pm&&gr!==null){Pm=!0;var i=0,e=Pt;try{var t=gr;for(Pt=1;i>=r,s-=r,cr=1<<32-co(e)+s|t<M?(V=x,x=null):V=x.sibling;var w=d(h,x,y[M],v);if(w===null){x===null&&(x=V);break}i&&x&&w.alternate===null&&e(h,x),G=o(w,G,M),R===null?W=w:R.sibling=w,R=w,x=V}if(M===y.length)return t(h,x),ln&&qg(h,M),W;if(x===null){for(;MM?(V=x,x=null):V=x.sibling;var Y=d(h,x,w.value,v);if(Y===null){x===null&&(x=V);break}i&&x&&Y.alternate===null&&e(h,x),G=o(Y,G,M),R===null?W=Y:R.sibling=Y,R=Y,x=V}if(w.done)return t(h,x),ln&&qg(h,M),W;if(x===null){for(;!w.done;M++,w=y.next())w=u(h,w.value,v),w!==null&&(G=o(w,G,M),R===null?W=w:R.sibling=w,R=w);return ln&&qg(h,M),W}for(x=n(h,x);!w.done;M++,w=y.next())w=A(x,h,M,w.value,v),w!==null&&(i&&w.alternate!==null&&x.delete(w.key===null?M:w.key),G=o(w,G,M),R===null?W=w:R.sibling=w,R=w);return i&&x.forEach(function(Q){return e(h,Q)}),ln&&qg(h,M),W}function f(h,G,y,v){if(typeof y=="object"&&y!==null&&y.type===Yl&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case qu:e:{for(var W=y.key,R=G;R!==null;){if(R.key===W){if(W=y.type,W===Yl){if(R.tag===7){t(h,R.sibling),G=s(R,y.props.children),G.return=h,h=G;break e}}else if(R.elementType===W||typeof W=="object"&&W!==null&&W.$$typeof===qr&&vZ(W)===R.type){t(h,R.sibling),G=s(R,y.props),G.ref=nI(h,R,y),G.return=h,h=G;break e}t(h,R);break}else e(h,R);R=R.sibling}y.type===Yl?(G=pa(y.props.children,h.mode,v,y.key),G.return=h,h=G):(v=MA(y.type,y.key,y.props,null,h.mode,v),v.ref=nI(h,G,y),v.return=h,h=v)}return r(h);case Nl:e:{for(R=y.key;G!==null;){if(G.key===R)if(G.tag===4&&G.stateNode.containerInfo===y.containerInfo&&G.stateNode.implementation===y.implementation){t(h,G.sibling),G=s(G,y.children||[]),G.return=h,h=G;break e}else{t(h,G);break}else e(h,G);G=G.sibling}G=nf(y,h.mode,v),G.return=h,h=G}return r(h);case qr:return R=y._init,f(h,G,R(y._payload),v)}if(VI(y))return p(h,G,y,v);if(jc(y))return b(h,G,y,v);ld(h,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,G!==null&&G.tag===6?(t(h,G.sibling),G=s(G,y),G.return=h,h=G):(t(h,G),G=tf(y,h.mode,v),G.return=h,h=G),r(h)):t(h,G)}return f}var uc=lW(!0),cW=lW(!1),nh=yg(null),ih=null,Ul=null,KG=null;function LG(){KG=Ul=ih=null}function zG(i){var e=nh.current;sn(nh),i._currentValue=e}function $b(i,e,t){for(;i!==null;){var n=i.alternate;if((i.childLanes&e)!==e?(i.childLanes|=e,n!==null&&(n.childLanes|=e)):n!==null&&(n.childLanes&e)!==e&&(n.childLanes|=e),i===t)break;i=i.return}}function nc(i,e){ih=i,KG=Ul=null,i=i.dependencies,i!==null&&i.firstContext!==null&&(i.lanes&e&&(ji=!0),i.firstContext=null)}function Ts(i){var e=i._currentValue;if(KG!==i)if(i={context:i,memoizedValue:e,next:null},Ul===null){if(ih===null)throw Error(Se(308));Ul=i,ih.dependencies={lanes:0,firstContext:i}}else Ul=Ul.next=i;return e}var aa=null;function TG(i){aa===null?aa=[i]:aa.push(i)}function IW(i,e,t,n){var s=e.interleaved;return s===null?(t.next=t,TG(e)):(t.next=s.next,s.next=t),e.interleaved=t,yr(i,n)}function yr(i,e){i.lanes|=e;var t=i.alternate;for(t!==null&&(t.lanes|=e),t=i,i=i.return;i!==null;)i.childLanes|=e,t=i.alternate,t!==null&&(t.childLanes|=e),t=i,i=i.return;return t.tag===3?t.stateNode:null}var $r=!1;function EG(i){i.updateQueue={baseState:i.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function CW(i,e){i=i.updateQueue,e.updateQueue===i&&(e.updateQueue={baseState:i.baseState,firstBaseUpdate:i.firstBaseUpdate,lastBaseUpdate:i.lastBaseUpdate,shared:i.shared,effects:i.effects})}function Ar(i,e){return{eventTime:i,lane:e,tag:0,payload:null,callback:null,next:null}}function Cg(i,e,t){var n=i.updateQueue;if(n===null)return null;if(n=n.shared,Lt&2){var s=n.pending;return s===null?e.next=e:(e.next=s.next,s.next=e),n.pending=e,yr(i,t)}return s=n.interleaved,s===null?(e.next=e,TG(n)):(e.next=s.next,s.next=e),n.interleaved=e,yr(i,t)}function wA(i,e,t){if(e=e.updateQueue,e!==null&&(e=e.shared,(t&4194240)!==0)){var n=e.lanes;n&=i.pendingLanes,t|=n,e.lanes=t,RG(i,t)}}function ZZ(i,e){var t=i.updateQueue,n=i.alternate;if(n!==null&&(n=n.updateQueue,t===n)){var s=null,o=null;if(t=t.firstBaseUpdate,t!==null){do{var r={eventTime:t.eventTime,lane:t.lane,tag:t.tag,payload:t.payload,callback:t.callback,next:null};o===null?s=o=r:o=o.next=r,t=t.next}while(t!==null);o===null?s=o=e:o=o.next=e}else s=o=e;t={baseState:n.baseState,firstBaseUpdate:s,lastBaseUpdate:o,shared:n.shared,effects:n.effects},i.updateQueue=t;return}i=t.lastBaseUpdate,i===null?t.firstBaseUpdate=e:i.next=e,t.lastBaseUpdate=e}function sh(i,e,t,n){var s=i.updateQueue;$r=!1;var o=s.firstBaseUpdate,r=s.lastBaseUpdate,g=s.shared.pending;if(g!==null){s.shared.pending=null;var a=g,l=a.next;a.next=null,r===null?o=l:r.next=l,r=a;var I=i.alternate;I!==null&&(I=I.updateQueue,g=I.lastBaseUpdate,g!==r&&(g===null?I.firstBaseUpdate=l:g.next=l,I.lastBaseUpdate=a))}if(o!==null){var u=s.baseState;r=0,I=l=a=null,g=o;do{var d=g.lane,A=g.eventTime;if((n&d)===d){I!==null&&(I=I.next={eventTime:A,lane:0,tag:g.tag,payload:g.payload,callback:g.callback,next:null});e:{var p=i,b=g;switch(d=e,A=t,b.tag){case 1:if(p=b.payload,typeof p=="function"){u=p.call(A,u,d);break e}u=p;break e;case 3:p.flags=p.flags&-65537|128;case 0:if(p=b.payload,d=typeof p=="function"?p.call(A,u,d):p,d==null)break e;u=fn({},u,d);break e;case 2:$r=!0}}g.callback!==null&&g.lane!==0&&(i.flags|=64,d=s.effects,d===null?s.effects=[g]:d.push(g))}else A={eventTime:A,lane:d,tag:g.tag,payload:g.payload,callback:g.callback,next:null},I===null?(l=I=A,a=u):I=I.next=A,r|=d;if(g=g.next,g===null){if(g=s.shared.pending,g===null)break;d=g,g=d.next,d.next=null,s.lastBaseUpdate=d,s.shared.pending=null}}while(!0);if(I===null&&(a=u),s.baseState=a,s.firstBaseUpdate=l,s.lastBaseUpdate=I,e=s.shared.interleaved,e!==null){s=e;do r|=s.lane,s=s.next;while(s!==e)}else o===null&&(s.shared.lanes=0);wa|=r,i.lanes=r,i.memoizedState=u}}function wZ(i,e,t){if(i=e.effects,e.effects=null,i!==null)for(e=0;et?t:4,i(!0);var n=Qm.transition;Qm.transition={};try{i(!1),e()}finally{Pt=t,Qm.transition=n}}function WW(){return Es().memoizedState}function _N(i,e,t){var n=dg(i);if(t={lane:n,action:t,hasEagerState:!1,eagerState:null,next:null},xW(i))VW(e,t);else if(t=IW(i,e,t,n),t!==null){var s=Ni();Io(t,i,n,s),MW(t,e,n)}}function UN(i,e,t){var n=dg(i),s={lane:n,action:t,hasEagerState:!1,eagerState:null,next:null};if(xW(i))VW(e,s);else{var o=i.alternate;if(i.lanes===0&&(o===null||o.lanes===0)&&(o=e.lastRenderedReducer,o!==null))try{var r=e.lastRenderedState,g=o(r,t);if(s.hasEagerState=!0,s.eagerState=g,Co(g,r)){var a=e.interleaved;a===null?(s.next=s,TG(e)):(s.next=a.next,a.next=s),e.interleaved=s;return}}catch{}finally{}t=IW(i,e,s,n),t!==null&&(s=Ni(),Io(t,i,n,s),MW(t,e,n))}}function xW(i){var e=i.alternate;return i===mn||e!==null&&e===mn}function VW(i,e){EI=rh=!0;var t=i.pending;t===null?e.next=e:(e.next=t.next,t.next=e),i.pending=e}function MW(i,e,t){if(t&4194240){var n=e.lanes;n&=i.pendingLanes,t|=n,e.lanes=t,RG(i,t)}}var gh={readContext:Ts,useCallback:Ai,useContext:Ai,useEffect:Ai,useImperativeHandle:Ai,useInsertionEffect:Ai,useLayoutEffect:Ai,useMemo:Ai,useReducer:Ai,useRef:Ai,useState:Ai,useDebugValue:Ai,useDeferredValue:Ai,useTransition:Ai,useMutableSource:Ai,useSyncExternalStore:Ai,useId:Ai,unstable_isNewReconciler:!1},DN={readContext:Ts,useCallback:function(i,e){return Xo().memoizedState=[i,e===void 0?null:e],i},useContext:Ts,useEffect:SZ,useImperativeHandle:function(i,e,t){return t=t!=null?t.concat([i]):null,SA(4194308,4,vW.bind(null,e,i),t)},useLayoutEffect:function(i,e){return SA(4194308,4,i,e)},useInsertionEffect:function(i,e){return SA(4,2,i,e)},useMemo:function(i,e){var t=Xo();return e=e===void 0?null:e,i=i(),t.memoizedState=[i,e],i},useReducer:function(i,e,t){var n=Xo();return e=t!==void 0?t(e):e,n.memoizedState=n.baseState=e,i={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:i,lastRenderedState:e},n.queue=i,i=i.dispatch=_N.bind(null,mn,i),[n.memoizedState,i]},useRef:function(i){var e=Xo();return i={current:i},e.memoizedState=i},useState:RZ,useDebugValue:QG,useDeferredValue:function(i){return Xo().memoizedState=i},useTransition:function(){var i=RZ(!1),e=i[0];return i=kN.bind(null,i[1]),Xo().memoizedState=i,[e,i]},useMutableSource:function(){},useSyncExternalStore:function(i,e,t){var n=mn,s=Xo();if(ln){if(t===void 0)throw Error(Se(407));t=t()}else{if(t=e(),jn===null)throw Error(Se(349));Za&30||hW(n,e,t)}s.memoizedState=t;var o={value:t,getSnapshot:e};return s.queue=o,SZ(mW.bind(null,n,o,i),[i]),n.flags|=2048,CC(9,pW.bind(null,n,o,t,e),void 0,null),t},useId:function(){var i=Xo(),e=jn.identifierPrefix;if(ln){var t=Ir,n=cr;t=(n&~(1<<32-co(n)-1)).toString(32)+t,e=":"+e+"R"+t,t=cC++,0<\/script>",i=i.removeChild(i.firstChild)):typeof n.is=="string"?i=r.createElement(t,{is:n.is}):(i=r.createElement(t),t==="select"&&(r=i,n.multiple?r.multiple=!0:n.size&&(r.size=n.size))):i=r.createElementNS(i,t),i[Ho]=e,i[gC]=n,EW(i,e,!1,!1),e.stateNode=i;e:{switch(r=Fb(t,n),t){case"dialog":nn("cancel",i),nn("close",i),s=n;break;case"iframe":case"object":case"embed":nn("load",i),s=n;break;case"video":case"audio":for(s=0;shc&&(e.flags|=128,n=!0,iI(o,!1),e.lanes=4194304)}else{if(!n)if(i=oh(r),i!==null){if(e.flags|=128,n=!0,t=i.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),iI(o,!0),o.tail===null&&o.tailMode==="hidden"&&!r.alternate&&!ln)return hi(e),null}else 2*Rn()-o.renderingStartTime>hc&&t!==1073741824&&(e.flags|=128,n=!0,iI(o,!1),e.lanes=4194304);o.isBackwards?(r.sibling=e.child,e.child=r):(t=o.last,t!==null?t.sibling=r:e.child=r,o.last=r)}return o.tail!==null?(e=o.tail,o.rendering=e,o.tail=e.sibling,o.renderingStartTime=Rn(),e.sibling=null,t=hn.current,en(hn,n?t&1|2:t&1),e):(hi(e),null);case 22:case 23:return ny(),n=e.memoizedState!==null,i!==null&&i.memoizedState!==null!==n&&(e.flags|=8192),n&&e.mode&1?Is&1073741824&&(hi(e),e.subtreeFlags&6&&(e.flags|=8192)):hi(e),null;case 24:return null;case 25:return null}throw Error(Se(156,e.tag))}function e1(i,e){switch(NG(e),e.tag){case 1:return ns(e.type)&&qA(),i=e.flags,i&65536?(e.flags=i&-65537|128,e):null;case 3:return dc(),sn(ts),sn(Bi),UG(),i=e.flags,i&65536&&!(i&128)?(e.flags=i&-65537|128,e):null;case 5:return _G(e),null;case 13:if(sn(hn),i=e.memoizedState,i!==null&&i.dehydrated!==null){if(e.alternate===null)throw Error(Se(340));Cc()}return i=e.flags,i&65536?(e.flags=i&-65537|128,e):null;case 19:return sn(hn),null;case 4:return dc(),null;case 10:return zG(e.type._context),null;case 22:case 23:return ny(),null;case 24:return null;default:return null}}var Id=!1,yi=!1,t1=typeof WeakSet=="function"?WeakSet:Set,De=null;function Dl(i,e){var t=i.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(n){yn(i,e,n)}else t.current=null}function a0(i,e,t){try{t()}catch(n){yn(i,e,n)}}var LZ=!1;function n1(i,e){if(Ub=PA,i=OS(),HG(i)){if("selectionStart"in i)var t={start:i.selectionStart,end:i.selectionEnd};else e:{t=(t=i.ownerDocument)&&t.defaultView||window;var n=t.getSelection&&t.getSelection();if(n&&n.rangeCount!==0){t=n.anchorNode;var s=n.anchorOffset,o=n.focusNode;n=n.focusOffset;try{t.nodeType,o.nodeType}catch{t=null;break e}var r=0,g=-1,a=-1,l=0,I=0,u=i,d=null;t:for(;;){for(var A;u!==t||s!==0&&u.nodeType!==3||(g=r+s),u!==o||n!==0&&u.nodeType!==3||(a=r+n),u.nodeType===3&&(r+=u.nodeValue.length),(A=u.firstChild)!==null;)d=u,u=A;for(;;){if(u===i)break t;if(d===t&&++l===s&&(g=r),d===o&&++I===n&&(a=r),(A=u.nextSibling)!==null)break;u=d,d=u.parentNode}u=A}t=g===-1||a===-1?null:{start:g,end:a}}else t=null}t=t||{start:0,end:0}}else t=null;for(Db={focusedElem:i,selectionRange:t},PA=!1,De=e;De!==null;)if(e=De,i=e.child,(e.subtreeFlags&1028)!==0&&i!==null)i.return=e,De=i;else for(;De!==null;){e=De;try{var p=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(p!==null){var b=p.memoizedProps,f=p.memoizedState,h=e.stateNode,G=h.getSnapshotBeforeUpdate(e.elementType===e.type?b:so(e.type,b),f);h.__reactInternalSnapshotBeforeUpdate=G}break;case 3:var y=e.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Se(163))}}catch(v){yn(e,e.return,v)}if(i=e.sibling,i!==null){i.return=e.return,De=i;break}De=e.return}return p=LZ,LZ=!1,p}function kI(i,e,t){var n=e.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var s=n=n.next;do{if((s.tag&i)===i){var o=s.destroy;s.destroy=void 0,o!==void 0&&a0(e,t,o)}s=s.next}while(s!==n)}}function Mh(i,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var t=e=e.next;do{if((t.tag&i)===i){var n=t.create;t.destroy=n()}t=t.next}while(t!==e)}}function l0(i){var e=i.ref;if(e!==null){var t=i.stateNode;switch(i.tag){case 5:i=t;break;default:i=t}typeof e=="function"?e(i):e.current=i}}function UW(i){var e=i.alternate;e!==null&&(i.alternate=null,UW(e)),i.child=null,i.deletions=null,i.sibling=null,i.tag===5&&(e=i.stateNode,e!==null&&(delete e[Ho],delete e[gC],delete e[Ob],delete e[KN],delete e[LN])),i.stateNode=null,i.return=null,i.dependencies=null,i.memoizedProps=null,i.memoizedState=null,i.pendingProps=null,i.stateNode=null,i.updateQueue=null}function DW(i){return i.tag===5||i.tag===3||i.tag===4}function zZ(i){e:for(;;){for(;i.sibling===null;){if(i.return===null||DW(i.return))return null;i=i.return}for(i.sibling.return=i.return,i=i.sibling;i.tag!==5&&i.tag!==6&&i.tag!==18;){if(i.flags&2||i.child===null||i.tag===4)continue e;i.child.return=i,i=i.child}if(!(i.flags&2))return i.stateNode}}function c0(i,e,t){var n=i.tag;if(n===5||n===6)i=i.stateNode,e?t.nodeType===8?t.parentNode.insertBefore(i,e):t.insertBefore(i,e):(t.nodeType===8?(e=t.parentNode,e.insertBefore(i,t)):(e=t,e.appendChild(i)),t=t._reactRootContainer,t!=null||e.onclick!==null||(e.onclick=jA));else if(n!==4&&(i=i.child,i!==null))for(c0(i,e,t),i=i.sibling;i!==null;)c0(i,e,t),i=i.sibling}function I0(i,e,t){var n=i.tag;if(n===5||n===6)i=i.stateNode,e?t.insertBefore(i,e):t.appendChild(i);else if(n!==4&&(i=i.child,i!==null))for(I0(i,e,t),i=i.sibling;i!==null;)I0(i,e,t),i=i.sibling}var ti=null,ro=!1;function Tr(i,e,t){for(t=t.child;t!==null;)JW(i,e,t),t=t.sibling}function JW(i,e,t){if(No&&typeof No.onCommitFiberUnmount=="function")try{No.onCommitFiberUnmount(vh,t)}catch{}switch(t.tag){case 5:yi||Dl(t,e);case 6:var n=ti,s=ro;ti=null,Tr(i,e,t),ti=n,ro=s,ti!==null&&(ro?(i=ti,t=t.stateNode,i.nodeType===8?i.parentNode.removeChild(t):i.removeChild(t)):ti.removeChild(t.stateNode));break;case 18:ti!==null&&(ro?(i=ti,t=t.stateNode,i.nodeType===8?Jm(i.parentNode,t):i.nodeType===1&&Jm(i,t),nC(i)):Jm(ti,t.stateNode));break;case 4:n=ti,s=ro,ti=t.stateNode.containerInfo,ro=!0,Tr(i,e,t),ti=n,ro=s;break;case 0:case 11:case 14:case 15:if(!yi&&(n=t.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){s=n=n.next;do{var o=s,r=o.destroy;o=o.tag,r!==void 0&&(o&2||o&4)&&a0(t,e,r),s=s.next}while(s!==n)}Tr(i,e,t);break;case 1:if(!yi&&(Dl(t,e),n=t.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=t.memoizedProps,n.state=t.memoizedState,n.componentWillUnmount()}catch(g){yn(t,e,g)}Tr(i,e,t);break;case 21:Tr(i,e,t);break;case 22:t.mode&1?(yi=(n=yi)||t.memoizedState!==null,Tr(i,e,t),yi=n):Tr(i,e,t);break;default:Tr(i,e,t)}}function TZ(i){var e=i.updateQueue;if(e!==null){i.updateQueue=null;var t=i.stateNode;t===null&&(t=i.stateNode=new t1),e.forEach(function(n){var s=I1.bind(null,i,n);t.has(n)||(t.add(n),n.then(s,s))})}}function js(i,e){var t=e.deletions;if(t!==null)for(var n=0;ns&&(s=r),n&=~o}if(n=s,n=Rn()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*s1(n/1960))-n,10i?16:i,rg===null)var n=!1;else{if(i=rg,rg=null,ch=0,Lt&6)throw Error(Se(331));var s=Lt;for(Lt|=4,De=i.current;De!==null;){var o=De,r=o.child;if(De.flags&16){var g=o.deletions;if(g!==null){for(var a=0;aRn()-ey?ha(i,0):$G|=t),is(i,e)}function tx(i,e){e===0&&(i.mode&1?(e=nd,nd<<=1,!(nd&130023424)&&(nd=4194304)):e=1);var t=Ni();i=yr(i,e),i!==null&&(VC(i,e,t),is(i,t))}function c1(i){var e=i.memoizedState,t=0;e!==null&&(t=e.retryLane),tx(i,t)}function I1(i,e){var t=0;switch(i.tag){case 13:var n=i.stateNode,s=i.memoizedState;s!==null&&(t=s.retryLane);break;case 19:n=i.stateNode;break;default:throw Error(Se(314))}n!==null&&n.delete(e),tx(i,t)}var nx;nx=function(i,e,t){if(i!==null)if(i.memoizedProps!==e.pendingProps||ts.current)ji=!0;else{if(!(i.lanes&t)&&!(e.flags&128))return ji=!1,qN(i,e,t);ji=!!(i.flags&131072)}else ji=!1,ln&&e.flags&1048576&&rW(e,th,e.index);switch(e.lanes=0,e.tag){case 2:var n=e.type;WA(i,e),i=e.pendingProps;var s=Ic(e,Bi.current);nc(e,t),s=JG(null,e,n,i,s,t);var o=PG();return e.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,ns(n)?(o=!0,$A(e)):o=!1,e.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,EG(e),s.updater=Vh,e.stateNode=s,s._reactInternals=e,t0(e,n,i,t),e=s0(null,e,n,!0,o,t)):(e.tag=0,ln&&o&&FG(e),Vi(null,e,s,t),e=e.child),e;case 16:n=e.elementType;e:{switch(WA(i,e),i=e.pendingProps,s=n._init,n=s(n._payload),e.type=n,s=e.tag=u1(n),i=so(n,i),s){case 0:e=i0(null,e,n,i,t);break e;case 1:e=NZ(null,e,n,i,t);break e;case 11:e=HZ(null,e,n,i,t);break e;case 14:e=FZ(null,e,n,so(n.type,i),t);break e}throw Error(Se(306,n,""))}return e;case 0:return n=e.type,s=e.pendingProps,s=e.elementType===n?s:so(n,s),i0(i,e,n,s,t);case 1:return n=e.type,s=e.pendingProps,s=e.elementType===n?s:so(n,s),NZ(i,e,n,s,t);case 3:e:{if(LW(e),i===null)throw Error(Se(387));n=e.pendingProps,o=e.memoizedState,s=o.element,CW(i,e),sh(e,n,null,t);var r=e.memoizedState;if(n=r.element,o.isDehydrated)if(o={element:n,isDehydrated:!1,cache:r.cache,pendingSuspenseBoundaries:r.pendingSuspenseBoundaries,transitions:r.transitions},e.updateQueue.baseState=o,e.memoizedState=o,e.flags&256){s=Ac(Error(Se(423)),e),e=YZ(i,e,n,t,s);break e}else if(n!==s){s=Ac(Error(Se(424)),e),e=YZ(i,e,n,t,s);break e}else for(us=Ig(e.stateNode.containerInfo.firstChild),ds=e,ln=!0,go=null,t=cW(e,null,n,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(Cc(),n===s){e=Br(i,e,t);break e}Vi(i,e,n,t)}e=e.child}return e;case 5:return uW(e),i===null&&qb(e),n=e.type,s=e.pendingProps,o=i!==null?i.memoizedProps:null,r=s.children,Jb(n,s)?r=null:o!==null&&Jb(n,o)&&(e.flags|=32),KW(i,e),Vi(i,e,r,t),e.child;case 6:return i===null&&qb(e),null;case 13:return zW(i,e,t);case 4:return kG(e,e.stateNode.containerInfo),n=e.pendingProps,i===null?e.child=uc(e,null,n,t):Vi(i,e,n,t),e.child;case 11:return n=e.type,s=e.pendingProps,s=e.elementType===n?s:so(n,s),HZ(i,e,n,s,t);case 7:return Vi(i,e,e.pendingProps,t),e.child;case 8:return Vi(i,e,e.pendingProps.children,t),e.child;case 12:return Vi(i,e,e.pendingProps.children,t),e.child;case 10:e:{if(n=e.type._context,s=e.pendingProps,o=e.memoizedProps,r=s.value,en(nh,n._currentValue),n._currentValue=r,o!==null)if(Co(o.value,r)){if(o.children===s.children&&!ts.current){e=Br(i,e,t);break e}}else for(o=e.child,o!==null&&(o.return=e);o!==null;){var g=o.dependencies;if(g!==null){r=o.child;for(var a=g.firstContext;a!==null;){if(a.context===n){if(o.tag===1){a=Ar(-1,t&-t),a.tag=2;var l=o.updateQueue;if(l!==null){l=l.shared;var I=l.pending;I===null?a.next=a:(a.next=I.next,I.next=a),l.pending=a}}o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),$b(o.return,t,e),g.lanes|=t;break}a=a.next}}else if(o.tag===10)r=o.type===e.type?null:o.child;else if(o.tag===18){if(r=o.return,r===null)throw Error(Se(341));r.lanes|=t,g=r.alternate,g!==null&&(g.lanes|=t),$b(r,t,e),r=o.sibling}else r=o.child;if(r!==null)r.return=o;else for(r=o;r!==null;){if(r===e){r=null;break}if(o=r.sibling,o!==null){o.return=r.return,r=o;break}r=r.return}o=r}Vi(i,e,s.children,t),e=e.child}return e;case 9:return s=e.type,n=e.pendingProps.children,nc(e,t),s=Ts(s),n=n(s),e.flags|=1,Vi(i,e,n,t),e.child;case 14:return n=e.type,s=so(n,e.pendingProps),s=so(n.type,s),FZ(i,e,n,s,t);case 15:return NW(i,e,e.type,e.pendingProps,t);case 17:return n=e.type,s=e.pendingProps,s=e.elementType===n?s:so(n,s),WA(i,e),e.tag=1,ns(n)?(i=!0,$A(e)):i=!1,nc(e,t),XW(e,n,s),t0(e,n,s,t),s0(null,e,n,!0,i,t);case 19:return TW(i,e,t);case 22:return YW(i,e,t)}throw Error(Se(156,e.tag))};function ix(i,e){return xS(i,e)}function C1(i,e,t,n){this.tag=i,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=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ys(i,e,t,n){return new C1(i,e,t,n)}function sy(i){return i=i.prototype,!(!i||!i.isReactComponent)}function u1(i){if(typeof i=="function")return sy(i)?1:0;if(i!=null){if(i=i.$$typeof,i===BG)return 11;if(i===vG)return 14}return 2}function Ag(i,e){var t=i.alternate;return t===null?(t=Ys(i.tag,e,i.key,i.mode),t.elementType=i.elementType,t.type=i.type,t.stateNode=i.stateNode,t.alternate=i,i.alternate=t):(t.pendingProps=e,t.type=i.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=i.flags&14680064,t.childLanes=i.childLanes,t.lanes=i.lanes,t.child=i.child,t.memoizedProps=i.memoizedProps,t.memoizedState=i.memoizedState,t.updateQueue=i.updateQueue,e=i.dependencies,t.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},t.sibling=i.sibling,t.index=i.index,t.ref=i.ref,t}function MA(i,e,t,n,s,o){var r=2;if(n=i,typeof i=="function")sy(i)&&(r=1);else if(typeof i=="string")r=5;else e:switch(i){case Yl:return pa(t.children,s,o,e);case yG:r=8,s|=8;break;case Zb:return i=Ys(12,t,e,s|2),i.elementType=Zb,i.lanes=o,i;case wb:return i=Ys(13,t,e,s),i.elementType=wb,i.lanes=o,i;case Rb:return i=Ys(19,t,e,s),i.elementType=Rb,i.lanes=o,i;case uS:return Hh(t,s,o,e);default:if(typeof i=="object"&&i!==null)switch(i.$$typeof){case IS:r=10;break e;case CS:r=9;break e;case BG:r=11;break e;case vG:r=14;break e;case qr:r=16,n=null;break e}throw Error(Se(130,i==null?i:typeof i,""))}return e=Ys(r,t,e,s),e.elementType=i,e.type=n,e.lanes=o,e}function pa(i,e,t,n){return i=Ys(7,i,n,e),i.lanes=t,i}function Hh(i,e,t,n){return i=Ys(22,i,n,e),i.elementType=uS,i.lanes=t,i.stateNode={isHidden:!1},i}function tf(i,e,t){return i=Ys(6,i,null,e),i.lanes=t,i}function nf(i,e,t){return e=Ys(4,i.children!==null?i.children:[],i.key,e),e.lanes=t,e.stateNode={containerInfo:i.containerInfo,pendingChildren:null,implementation:i.implementation},e}function d1(i,e,t,n,s){this.tag=e,this.containerInfo=i,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Nm(0),this.expirationTimes=Nm(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Nm(0),this.identifierPrefix=n,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function oy(i,e,t,n,s,o,r,g,a){return i=new d1(i,e,t,g,a),e===1?(e=1,o===!0&&(e|=8)):e=0,o=Ys(3,null,null,e),i.current=o,o.stateNode=i,o.memoizedState={element:n,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},EG(o),i}function A1(i,e,t){var n=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(gx)}catch(i){console.error(i)}}gx(),gS.exports=fs;var b1=gS.exports,ax,OZ=b1;ax=OZ.createRoot,OZ.hydrateRoot;/** + * @license + * Copyright 2010-2024 Three.js Authors + * SPDX-License-Identifier: MIT + */const Na="164",ea={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},ta={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},lx=0,h0=1,cx=2,G1=3,Ix=0,Lh=1,DI=2,oo=3,uo=0,Yi=1,Ns=2,hr=0,ma=1,p0=2,m0=3,f0=4,Cx=5,ig=100,ux=101,dx=102,Ax=103,hx=104,px=200,mx=201,fx=202,bx=203,uh=204,dh=205,Gx=206,yx=207,Bx=208,vx=209,Zx=210,wx=211,Rx=212,Sx=213,Wx=214,xx=0,Vx=1,Mx=2,dC=3,Xx=4,Hx=5,Fx=6,Nx=7,FC=0,Yx=1,Kx=2,Ko=0,Lx=1,zx=2,Tx=3,ly=4,Ex=5,kx=6,_x=7,b0="attached",Ux="detached",zh=300,vr=301,fg=302,AC=303,hC=304,wc=306,Ao=1e3,qi=1001,Sa=1002,Hn=1003,NC=1004,y1=1004,gg=1005,B1=1005,In=1006,fa=1007,v1=1007,$i=1008,Z1=1008,zo=1009,Dx=1010,Jx=1011,cy=1012,Iy=1013,Wa=1014,Ks=1015,YC=1016,Cy=1017,uy=1018,Rc=1020,Px=35902,Ox=1021,Qx=1022,es=1023,jx=1024,qx=1025,ba=1026,pc=1027,dy=1028,Ay=1029,$x=1030,hy=1031,py=1033,XA=33776,HA=33777,FA=33778,NA=33779,G0=35840,y0=35841,B0=35842,v0=35843,Z0=36196,w0=37492,R0=37496,S0=37808,W0=37809,x0=37810,V0=37811,M0=37812,X0=37813,H0=37814,F0=37815,N0=37816,Y0=37817,K0=37818,L0=37819,z0=37820,T0=37821,YA=36492,E0=36494,k0=36495,eV=36283,_0=36284,U0=36285,D0=36286,tV=2200,nV=2201,iV=2202,xa=2300,Zr=2301,KA=2302,ca=2400,Ia=2401,pC=2402,Th=2500,my=2501,fy=0,KC=1,Va=2,sV=3200,oV=3201,vg=0,rV=1,ar="",ni="srgb",qn="srgb-linear",Eh="display-p3",LC="display-p3-linear",mC="linear",qt="srgb",fC="rec709",bC="p3",w1=0,na=7680,R1=7681,S1=7682,W1=7683,x1=34055,V1=34056,M1=5386,X1=512,H1=513,F1=514,N1=515,Y1=516,K1=517,L1=518,J0=519,gV=512,aV=513,lV=514,by=515,cV=516,IV=517,CV=518,uV=519,GC=35044,dV=35048,z1=35040,T1=35045,E1=35049,k1=35041,_1=35046,U1=35050,D1=35042,J1="100",P0="300 es",Fo=2e3,yC=2001;class ko{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;const n=this._listeners;return n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;const s=this._listeners[e];if(s!==void 0){const o=s.indexOf(t);o!==-1&&s.splice(o,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const n=this._listeners[e.type];if(n!==void 0){e.target=this;const s=n.slice(0);for(let o=0,r=s.length;o>8&255]+pi[i>>16&255]+pi[i>>24&255]+"-"+pi[e&255]+pi[e>>8&255]+"-"+pi[e>>16&15|64]+pi[e>>24&255]+"-"+pi[t&63|128]+pi[t>>8&255]+"-"+pi[t>>16&255]+pi[t>>24&255]+pi[n&255]+pi[n>>8&255]+pi[n>>16&255]+pi[n>>24&255]).toLowerCase()}function Bn(i,e,t){return Math.max(e,Math.min(t,i))}function Gy(i,e){return(i%e+e)%e}function P1(i,e,t,n,s){return n+(i-e)*(s-n)/(t-e)}function O1(i,e,t){return i!==e?(t-i)/(e-i):0}function JI(i,e,t){return(1-t)*i+t*e}function Q1(i,e,t,n){return JI(i,e,1-Math.exp(-t*n))}function j1(i,e=1){return e-Math.abs(Gy(i,e*2)-e)}function q1(i,e,t){return i<=e?0:i>=t?1:(i=(i-e)/(t-e),i*i*(3-2*i))}function $1(i,e,t){return i<=e?0:i>=t?1:(i=(i-e)/(t-e),i*i*i*(i*(i*6-15)+10))}function eY(i,e){return i+Math.floor(Math.random()*(e-i+1))}function tY(i,e){return i+Math.random()*(e-i)}function nY(i){return i*(.5-Math.random())}function iY(i){i!==void 0&&(QZ=i);let e=QZ+=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 sY(i){return i*Ga}function oY(i){return i*mc}function rY(i){return(i&i-1)===0&&i!==0}function gY(i){return Math.pow(2,Math.ceil(Math.log(i)/Math.LN2))}function aY(i){return Math.pow(2,Math.floor(Math.log(i)/Math.LN2))}function lY(i,e,t,n,s){const o=Math.cos,r=Math.sin,g=o(t/2),a=r(t/2),l=o((e+n)/2),I=r((e+n)/2),u=o((e-n)/2),d=r((e-n)/2),A=o((n-e)/2),p=r((n-e)/2);switch(s){case"XYX":i.set(g*I,a*u,a*d,g*l);break;case"YZY":i.set(a*d,g*I,a*u,g*l);break;case"ZXZ":i.set(a*u,a*d,g*I,g*l);break;case"XZX":i.set(g*I,a*p,a*A,g*l);break;case"YXY":i.set(a*A,g*I,a*p,g*l);break;case"ZYZ":i.set(a*p,a*A,g*I,g*l);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+s)}}function Fi(i,e){switch(e.constructor){case Float32Array:return i;case Uint32Array:return i/4294967295;case Uint16Array:return i/65535;case Uint8Array:return i/255;case Int32Array:return Math.max(i/2147483647,-1);case Int16Array:return Math.max(i/32767,-1);case Int8Array:return Math.max(i/127,-1);default:throw new Error("Invalid component type.")}}function vt(i,e){switch(e.constructor){case Float32Array:return i;case Uint32Array:return Math.round(i*4294967295);case Uint16Array:return Math.round(i*65535);case Uint8Array:return Math.round(i*255);case Int32Array:return Math.round(i*2147483647);case Int16Array:return Math.round(i*32767);case Int8Array:return Math.round(i*127);default:throw new Error("Invalid component type.")}}const kh={DEG2RAD:Ga,RAD2DEG:mc,generateUUID:As,clamp:Bn,euclideanModulo:Gy,mapLinear:P1,inverseLerp:O1,lerp:JI,damp:Q1,pingpong:j1,smoothstep:q1,smootherstep:$1,randInt:eY,randFloat:tY,randFloatSpread:nY,seededRandom:iY,degToRad:sY,radToDeg:oY,isPowerOfTwo:rY,ceilPowerOfTwo:gY,floorPowerOfTwo:aY,setQuaternionFromProperEuler:lY,normalize:vt,denormalize:Fi};class ce{constructor(e=0,t=0){ce.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,n=this.y,s=e.elements;return this.x=s[0]*t+s[3]*n+s[6],this.y=s[1]*t+s[4]*n+s[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 n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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 n=this.dot(e)/t;return Math.acos(Bn(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}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,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,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 n=Math.cos(t),s=Math.sin(t),o=this.x-e.x,r=this.y-e.y;return this.x=o*n-r*s+e.x,this.y=o*s+r*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Bt{constructor(e,t,n,s,o,r,g,a,l){Bt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,n,s,o,r,g,a,l)}set(e,t,n,s,o,r,g,a,l){const I=this.elements;return I[0]=e,I[1]=s,I[2]=g,I[3]=t,I[4]=o,I[5]=a,I[6]=n,I[7]=r,I[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.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 n=e.elements,s=t.elements,o=this.elements,r=n[0],g=n[3],a=n[6],l=n[1],I=n[4],u=n[7],d=n[2],A=n[5],p=n[8],b=s[0],f=s[3],h=s[6],G=s[1],y=s[4],v=s[7],W=s[2],R=s[5],x=s[8];return o[0]=r*b+g*G+a*W,o[3]=r*f+g*y+a*R,o[6]=r*h+g*v+a*x,o[1]=l*b+I*G+u*W,o[4]=l*f+I*y+u*R,o[7]=l*h+I*v+u*x,o[2]=d*b+A*G+p*W,o[5]=d*f+A*y+p*R,o[8]=d*h+A*v+p*x,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],n=e[1],s=e[2],o=e[3],r=e[4],g=e[5],a=e[6],l=e[7],I=e[8];return t*r*I-t*g*l-n*o*I+n*g*a+s*o*l-s*r*a}invert(){const e=this.elements,t=e[0],n=e[1],s=e[2],o=e[3],r=e[4],g=e[5],a=e[6],l=e[7],I=e[8],u=I*r-g*l,d=g*a-I*o,A=l*o-r*a,p=t*u+n*d+s*A;if(p===0)return this.set(0,0,0,0,0,0,0,0,0);const b=1/p;return e[0]=u*b,e[1]=(s*l-I*n)*b,e[2]=(g*n-s*r)*b,e[3]=d*b,e[4]=(I*t-s*a)*b,e[5]=(s*o-g*t)*b,e[6]=A*b,e[7]=(n*a-l*t)*b,e[8]=(r*t-n*o)*b,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,n,s,o,r,g){const a=Math.cos(o),l=Math.sin(o);return this.set(n*a,n*l,-n*(a*r+l*g)+r+e,-s*l,s*a,-s*(-l*r+a*g)+g+t,0,0,1),this}scale(e,t){return this.premultiply(sf.makeScale(e,t)),this}rotate(e){return this.premultiply(sf.makeRotation(-e)),this}translate(e,t){return this.premultiply(sf.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),n=Math.sin(e);return this.set(t,-n,0,n,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,n=e.elements;for(let s=0;s<9;s++)if(t[s]!==n[s])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const sf=new Bt;function AV(i){for(let e=i.length-1;e>=0;--e)if(i[e]>=65535)return!0;return!1}const cY={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Pl(i,e){return new cY[i](e)}function BC(i){return document.createElementNS("http://www.w3.org/1999/xhtml",i)}function hV(){const i=BC("canvas");return i.style.display="block",i}const jZ={};function pV(i){i in jZ||(jZ[i]=!0,console.warn(i))}const qZ=new Bt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),$Z=new Bt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),dd={[qn]:{transfer:mC,primaries:fC,toReference:i=>i,fromReference:i=>i},[ni]:{transfer:qt,primaries:fC,toReference:i=>i.convertSRGBToLinear(),fromReference:i=>i.convertLinearToSRGB()},[LC]:{transfer:mC,primaries:bC,toReference:i=>i.applyMatrix3($Z),fromReference:i=>i.applyMatrix3(qZ)},[Eh]:{transfer:qt,primaries:bC,toReference:i=>i.convertSRGBToLinear().applyMatrix3($Z),fromReference:i=>i.applyMatrix3(qZ).convertLinearToSRGB()}},IY=new Set([qn,LC]),Ut={enabled:!0,_workingColorSpace:qn,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(i){if(!IY.has(i))throw new Error(`Unsupported working color space, "${i}".`);this._workingColorSpace=i},convert:function(i,e,t){if(this.enabled===!1||e===t||!e||!t)return i;const n=dd[e].toReference,s=dd[t].fromReference;return s(n(i))},fromWorkingColorSpace:function(i,e){return this.convert(i,this._workingColorSpace,e)},toWorkingColorSpace:function(i,e){return this.convert(i,e,this._workingColorSpace)},getPrimaries:function(i){return dd[i].primaries},getTransfer:function(i){return i===ar?mC:dd[i].transfer}};function sc(i){return i<.04045?i*.0773993808:Math.pow(i*.9478672986+.0521327014,2.4)}function of(i){return i<.0031308?i*12.92:1.055*Math.pow(i,.41666)-.055}let al;class mV{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{al===void 0&&(al=BC("canvas")),al.width=e.width,al.height=e.height;const n=al.getContext("2d");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=al}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=BC("canvas");t.width=e.width,t.height=e.height;const n=t.getContext("2d");n.drawImage(e,0,0,e.width,e.height);const s=n.getImageData(0,0,e.width,e.height),o=s.data;for(let r=0;r0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==zh)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Ao:e.x=e.x-Math.floor(e.x);break;case qi:e.x=e.x<0?0:1;break;case Sa: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 Ao:e.y=e.y-Math.floor(e.y);break;case qi:e.y=e.y<0?0:1;break;case Sa:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}}jt.DEFAULT_IMAGE=null;jt.DEFAULT_MAPPING=zh;jt.DEFAULT_ANISOTROPY=1;class Jt{constructor(e=0,t=0,n=0,s=1){Jt.prototype.isVector4=!0,this.x=e,this.y=t,this.z=n,this.w=s}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,n,s){return this.x=e,this.y=t,this.z=n,this.w=s,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,n=this.y,s=this.z,o=this.w,r=e.elements;return this.x=r[0]*t+r[4]*n+r[8]*s+r[12]*o,this.y=r[1]*t+r[5]*n+r[9]*s+r[13]*o,this.z=r[2]*t+r[6]*n+r[10]*s+r[14]*o,this.w=r[3]*t+r[7]*n+r[11]*s+r[15]*o,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,n,s,o;const a=e.elements,l=a[0],I=a[4],u=a[8],d=a[1],A=a[5],p=a[9],b=a[2],f=a[6],h=a[10];if(Math.abs(I-d)<.01&&Math.abs(u-b)<.01&&Math.abs(p-f)<.01){if(Math.abs(I+d)<.1&&Math.abs(u+b)<.1&&Math.abs(p+f)<.1&&Math.abs(l+A+h-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const y=(l+1)/2,v=(A+1)/2,W=(h+1)/2,R=(I+d)/4,x=(u+b)/4,M=(p+f)/4;return y>v&&y>W?y<.01?(n=0,s=.707106781,o=.707106781):(n=Math.sqrt(y),s=R/n,o=x/n):v>W?v<.01?(n=.707106781,s=0,o=.707106781):(s=Math.sqrt(v),n=R/s,o=M/s):W<.01?(n=.707106781,s=.707106781,o=0):(o=Math.sqrt(W),n=x/o,s=M/o),this.set(n,s,o,t),this}let G=Math.sqrt((f-p)*(f-p)+(u-b)*(u-b)+(d-I)*(d-I));return Math.abs(G)<.001&&(G=1),this.x=(f-p)/G,this.y=(u-b)/G,this.z=(d-I)/G,this.w=Math.acos((l+A+h-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 n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this.w=e.w+(t.w-e.w)*n,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 fV extends ko{constructor(e=1,t=1,n={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new Jt(0,0,e,t),this.scissorTest=!1,this.viewport=new Jt(0,0,e,t);const s={width:e,height:t,depth:1};n=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:In,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1},n);const o=new jt(s,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace);o.flipY=!1,o.generateMipmaps=n.generateMipmaps,o.internalFormat=n.internalFormat,this.textures=[];const r=n.count;for(let g=0;g=0?1:-1,y=1-h*h;if(y>Number.EPSILON){const W=Math.sqrt(y),R=Math.atan2(W,h*G);f=Math.sin(f*R)/W,g=Math.sin(g*R)/W}const v=g*G;if(a=a*f+d*v,l=l*f+A*v,I=I*f+p*v,u=u*f+b*v,f===1-g){const W=1/Math.sqrt(a*a+l*l+I*I+u*u);a*=W,l*=W,I*=W,u*=W}}e[t]=a,e[t+1]=l,e[t+2]=I,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,s,o,r){const g=n[s],a=n[s+1],l=n[s+2],I=n[s+3],u=o[r],d=o[r+1],A=o[r+2],p=o[r+3];return e[t]=g*p+I*u+a*A-l*d,e[t+1]=a*p+I*d+l*u-g*A,e[t+2]=l*p+I*A+g*d-a*u,e[t+3]=I*p-g*u-a*d-l*A,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,n,s){return this._x=e,this._y=t,this._z=n,this._w=s,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 n=e._x,s=e._y,o=e._z,r=e._order,g=Math.cos,a=Math.sin,l=g(n/2),I=g(s/2),u=g(o/2),d=a(n/2),A=a(s/2),p=a(o/2);switch(r){case"XYZ":this._x=d*I*u+l*A*p,this._y=l*A*u-d*I*p,this._z=l*I*p+d*A*u,this._w=l*I*u-d*A*p;break;case"YXZ":this._x=d*I*u+l*A*p,this._y=l*A*u-d*I*p,this._z=l*I*p-d*A*u,this._w=l*I*u+d*A*p;break;case"ZXY":this._x=d*I*u-l*A*p,this._y=l*A*u+d*I*p,this._z=l*I*p+d*A*u,this._w=l*I*u-d*A*p;break;case"ZYX":this._x=d*I*u-l*A*p,this._y=l*A*u+d*I*p,this._z=l*I*p-d*A*u,this._w=l*I*u+d*A*p;break;case"YZX":this._x=d*I*u+l*A*p,this._y=l*A*u+d*I*p,this._z=l*I*p-d*A*u,this._w=l*I*u-d*A*p;break;case"XZY":this._x=d*I*u-l*A*p,this._y=l*A*u-d*I*p,this._z=l*I*p+d*A*u,this._w=l*I*u+d*A*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+r)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const n=t/2,s=Math.sin(n);return this._x=e.x*s,this._y=e.y*s,this._z=e.z*s,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,n=t[0],s=t[4],o=t[8],r=t[1],g=t[5],a=t[9],l=t[2],I=t[6],u=t[10],d=n+g+u;if(d>0){const A=.5/Math.sqrt(d+1);this._w=.25/A,this._x=(I-a)*A,this._y=(o-l)*A,this._z=(r-s)*A}else if(n>g&&n>u){const A=2*Math.sqrt(1+n-g-u);this._w=(I-a)/A,this._x=.25*A,this._y=(s+r)/A,this._z=(o+l)/A}else if(g>u){const A=2*Math.sqrt(1+g-n-u);this._w=(o-l)/A,this._x=(s+r)/A,this._y=.25*A,this._z=(a+I)/A}else{const A=2*Math.sqrt(1+u-n-g);this._w=(r-s)/A,this._x=(o+l)/A,this._y=(a+I)/A,this._z=.25*A}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return nMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(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=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Bn(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(n===0)return this;const s=Math.min(1,t/n);return this.slerp(e,s),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 n=e._x,s=e._y,o=e._z,r=e._w,g=t._x,a=t._y,l=t._z,I=t._w;return this._x=n*I+r*g+s*l-o*a,this._y=s*I+r*a+o*g-n*l,this._z=o*I+r*l+n*a-s*g,this._w=r*I-n*g-s*a-o*l,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const n=this._x,s=this._y,o=this._z,r=this._w;let g=r*e._w+n*e._x+s*e._y+o*e._z;if(g<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,g=-g):this.copy(e),g>=1)return this._w=r,this._x=n,this._y=s,this._z=o,this;const a=1-g*g;if(a<=Number.EPSILON){const A=1-t;return this._w=A*r+t*this._w,this._x=A*n+t*this._x,this._y=A*s+t*this._y,this._z=A*o+t*this._z,this.normalize(),this}const l=Math.sqrt(a),I=Math.atan2(l,g),u=Math.sin((1-t)*I)/l,d=Math.sin(t*I)/l;return this._w=r*u+this._w*d,this._x=n*u+this._x*d,this._y=s*u+this._y*d,this._z=o*u+this._z*d,this._onChangeCallback(),this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){const e=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),n=Math.random(),s=Math.sqrt(1-n),o=Math.sqrt(n);return this.set(s*Math.sin(e),s*Math.cos(e),o*Math.sin(t),o*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 H{constructor(e=0,t=0,n=0){H.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,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(e2.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(e2.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,s=this.z,o=e.elements;return this.x=o[0]*t+o[3]*n+o[6]*s,this.y=o[1]*t+o[4]*n+o[7]*s,this.z=o[2]*t+o[5]*n+o[8]*s,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,s=this.z,o=e.elements,r=1/(o[3]*t+o[7]*n+o[11]*s+o[15]);return this.x=(o[0]*t+o[4]*n+o[8]*s+o[12])*r,this.y=(o[1]*t+o[5]*n+o[9]*s+o[13])*r,this.z=(o[2]*t+o[6]*n+o[10]*s+o[14])*r,this}applyQuaternion(e){const t=this.x,n=this.y,s=this.z,o=e.x,r=e.y,g=e.z,a=e.w,l=2*(r*s-g*n),I=2*(g*t-o*s),u=2*(o*n-r*t);return this.x=t+a*l+r*u-g*I,this.y=n+a*I+g*l-o*u,this.z=s+a*u+o*I-r*l,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,n=this.y,s=this.z,o=e.elements;return this.x=o[0]*t+o[4]*n+o[8]*s,this.y=o[1]*t+o[5]*n+o[9]*s,this.z=o[2]*t+o[6]*n+o[10]*s,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 n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,s=e.y,o=e.z,r=t.x,g=t.y,a=t.z;return this.x=s*a-o*g,this.y=o*r-n*a,this.z=n*g-s*r,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return gf.copy(this).projectOnVector(e),this.sub(gf)}reflect(e){return this.sub(gf.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 n=this.dot(e)/t;return Math.acos(Bn(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,s=this.z-e.z;return t*t+n*n+s*s}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,n){const s=Math.sin(t)*e;return this.x=s*Math.sin(n),this.y=Math.cos(t)*e,this.z=s*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,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(),n=this.setFromMatrixColumn(e,1).length(),s=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=s,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,n=Math.sqrt(1-t*t);return this.x=n*Math.cos(e),this.y=t,this.z=n*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const gf=new H,e2=new Dt;class oi{constructor(e=new H(1/0,1/0,1/0),t=new H(-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,n=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,qs),qs.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(oI),hd.subVectors(this.max,oI),ll.subVectors(e.a,oI),cl.subVectors(e.b,oI),Il.subVectors(e.c,oI),Er.subVectors(cl,ll),kr.subVectors(Il,cl),Kg.subVectors(ll,Il);let t=[0,-Er.z,Er.y,0,-kr.z,kr.y,0,-Kg.z,Kg.y,Er.z,0,-Er.x,kr.z,0,-kr.x,Kg.z,0,-Kg.x,-Er.y,Er.x,0,-kr.y,kr.x,0,-Kg.y,Kg.x,0];return!af(t,ll,cl,Il,hd)||(t=[1,0,0,0,1,0,0,0,1],!af(t,ll,cl,Il,hd))?!1:(pd.crossVectors(Er,kr),t=[pd.x,pd.y,pd.z],af(t,ll,cl,Il,hd))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,qs).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(qs).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:(jo[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),jo[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),jo[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),jo[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),jo[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),jo[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),jo[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),jo[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(jo),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 jo=[new H,new H,new H,new H,new H,new H,new H,new H],qs=new H,Ad=new oi,ll=new H,cl=new H,Il=new H,Er=new H,kr=new H,Kg=new H,oI=new H,hd=new H,pd=new H,Lg=new H;function af(i,e,t,n,s){for(let o=0,r=i.length-3;o<=r;o+=3){Lg.fromArray(i,o);const g=s.x*Math.abs(Lg.x)+s.y*Math.abs(Lg.y)+s.z*Math.abs(Lg.z),a=e.dot(Lg),l=t.dot(Lg),I=n.dot(Lg);if(Math.max(-Math.max(a,l,I),Math.min(a,l,I))>g)return!1}return!0}const hY=new oi,rI=new H,lf=new H;class Nn{constructor(e=new H,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 n=this.center;t!==void 0?n.copy(t):hY.setFromPoints(e).getCenter(n);let s=0;for(let o=0,r=e.length;othis.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;rI.subVectors(e,this.center);const t=rI.lengthSq();if(t>this.radius*this.radius){const n=Math.sqrt(t),s=(n-this.radius)*.5;this.center.addScaledVector(rI,s/n),this.radius+=s}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):(lf.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(rI.copy(e.center).add(lf)),this.expandByPoint(rI.copy(e.center).sub(lf))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const qo=new H,cf=new H,md=new H,_r=new H,If=new H,fd=new H,Cf=new H;let xr=class{constructor(e=new H,t=new H(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,qo)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=qo.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(qo.copy(this.origin).addScaledVector(this.direction,t),qo.distanceToSquared(e))}distanceSqToSegment(e,t,n,s){cf.copy(e).add(t).multiplyScalar(.5),md.copy(t).sub(e).normalize(),_r.copy(this.origin).sub(cf);const o=e.distanceTo(t)*.5,r=-this.direction.dot(md),g=_r.dot(this.direction),a=-_r.dot(md),l=_r.lengthSq(),I=Math.abs(1-r*r);let u,d,A,p;if(I>0)if(u=r*a-g,d=r*g-a,p=o*I,u>=0)if(d>=-p)if(d<=p){const b=1/I;u*=b,d*=b,A=u*(u+r*d+2*g)+d*(r*u+d+2*a)+l}else d=o,u=Math.max(0,-(r*d+g)),A=-u*u+d*(d+2*a)+l;else d=-o,u=Math.max(0,-(r*d+g)),A=-u*u+d*(d+2*a)+l;else d<=-p?(u=Math.max(0,-(-r*o+g)),d=u>0?-o:Math.min(Math.max(-o,-a),o),A=-u*u+d*(d+2*a)+l):d<=p?(u=0,d=Math.min(Math.max(-o,-a),o),A=d*(d+2*a)+l):(u=Math.max(0,-(r*o+g)),d=u>0?o:Math.min(Math.max(-o,-a),o),A=-u*u+d*(d+2*a)+l);else d=r>0?-o:o,u=Math.max(0,-(r*d+g)),A=-u*u+d*(d+2*a)+l;return n&&n.copy(this.origin).addScaledVector(this.direction,u),s&&s.copy(cf).addScaledVector(md,d),A}intersectSphere(e,t){qo.subVectors(e.center,this.origin);const n=qo.dot(this.direction),s=qo.dot(qo)-n*n,o=e.radius*e.radius;if(s>o)return null;const r=Math.sqrt(o-s),g=n-r,a=n+r;return a<0?null:g<0?this.at(a,t):this.at(g,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 n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){const n=this.distanceToPlane(e);return n===null?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,s,o,r,g,a;const l=1/this.direction.x,I=1/this.direction.y,u=1/this.direction.z,d=this.origin;return l>=0?(n=(e.min.x-d.x)*l,s=(e.max.x-d.x)*l):(n=(e.max.x-d.x)*l,s=(e.min.x-d.x)*l),I>=0?(o=(e.min.y-d.y)*I,r=(e.max.y-d.y)*I):(o=(e.max.y-d.y)*I,r=(e.min.y-d.y)*I),n>r||o>s||((o>n||isNaN(n))&&(n=o),(r=0?(g=(e.min.z-d.z)*u,a=(e.max.z-d.z)*u):(g=(e.max.z-d.z)*u,a=(e.min.z-d.z)*u),n>a||g>s)||((g>n||n!==n)&&(n=g),(a=0?n:s,t)}intersectsBox(e){return this.intersectBox(e,qo)!==null}intersectTriangle(e,t,n,s,o){If.subVectors(t,e),fd.subVectors(n,e),Cf.crossVectors(If,fd);let r=this.direction.dot(Cf),g;if(r>0){if(s)return null;g=1}else if(r<0)g=-1,r=-r;else return null;_r.subVectors(this.origin,e);const a=g*this.direction.dot(fd.crossVectors(_r,fd));if(a<0)return null;const l=g*this.direction.dot(If.cross(_r));if(l<0||a+l>r)return null;const I=-g*_r.dot(Cf);return I<0?null:this.at(I/r,o)}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 Ee{constructor(e,t,n,s,o,r,g,a,l,I,u,d,A,p,b,f){Ee.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,n,s,o,r,g,a,l,I,u,d,A,p,b,f)}set(e,t,n,s,o,r,g,a,l,I,u,d,A,p,b,f){const h=this.elements;return h[0]=e,h[4]=t,h[8]=n,h[12]=s,h[1]=o,h[5]=r,h[9]=g,h[13]=a,h[2]=l,h[6]=I,h[10]=u,h[14]=d,h[3]=A,h[7]=p,h[11]=b,h[15]=f,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 Ee().fromArray(this.elements)}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){const t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[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,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,n=e.elements,s=1/Cl.setFromMatrixColumn(e,0).length(),o=1/Cl.setFromMatrixColumn(e,1).length(),r=1/Cl.setFromMatrixColumn(e,2).length();return t[0]=n[0]*s,t[1]=n[1]*s,t[2]=n[2]*s,t[3]=0,t[4]=n[4]*o,t[5]=n[5]*o,t[6]=n[6]*o,t[7]=0,t[8]=n[8]*r,t[9]=n[9]*r,t[10]=n[10]*r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,n=e.x,s=e.y,o=e.z,r=Math.cos(n),g=Math.sin(n),a=Math.cos(s),l=Math.sin(s),I=Math.cos(o),u=Math.sin(o);if(e.order==="XYZ"){const d=r*I,A=r*u,p=g*I,b=g*u;t[0]=a*I,t[4]=-a*u,t[8]=l,t[1]=A+p*l,t[5]=d-b*l,t[9]=-g*a,t[2]=b-d*l,t[6]=p+A*l,t[10]=r*a}else if(e.order==="YXZ"){const d=a*I,A=a*u,p=l*I,b=l*u;t[0]=d+b*g,t[4]=p*g-A,t[8]=r*l,t[1]=r*u,t[5]=r*I,t[9]=-g,t[2]=A*g-p,t[6]=b+d*g,t[10]=r*a}else if(e.order==="ZXY"){const d=a*I,A=a*u,p=l*I,b=l*u;t[0]=d-b*g,t[4]=-r*u,t[8]=p+A*g,t[1]=A+p*g,t[5]=r*I,t[9]=b-d*g,t[2]=-r*l,t[6]=g,t[10]=r*a}else if(e.order==="ZYX"){const d=r*I,A=r*u,p=g*I,b=g*u;t[0]=a*I,t[4]=p*l-A,t[8]=d*l+b,t[1]=a*u,t[5]=b*l+d,t[9]=A*l-p,t[2]=-l,t[6]=g*a,t[10]=r*a}else if(e.order==="YZX"){const d=r*a,A=r*l,p=g*a,b=g*l;t[0]=a*I,t[4]=b-d*u,t[8]=p*u+A,t[1]=u,t[5]=r*I,t[9]=-g*I,t[2]=-l*I,t[6]=A*u+p,t[10]=d-b*u}else if(e.order==="XZY"){const d=r*a,A=r*l,p=g*a,b=g*l;t[0]=a*I,t[4]=-u,t[8]=l*I,t[1]=d*u+b,t[5]=r*I,t[9]=A*u-p,t[2]=p*u-A,t[6]=g*I,t[10]=b*u+d}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(pY,e,mY)}lookAt(e,t,n){const s=this.elements;return ls.subVectors(e,t),ls.lengthSq()===0&&(ls.z=1),ls.normalize(),Ur.crossVectors(n,ls),Ur.lengthSq()===0&&(Math.abs(n.z)===1?ls.x+=1e-4:ls.z+=1e-4,ls.normalize(),Ur.crossVectors(n,ls)),Ur.normalize(),bd.crossVectors(ls,Ur),s[0]=Ur.x,s[4]=bd.x,s[8]=ls.x,s[1]=Ur.y,s[5]=bd.y,s[9]=ls.y,s[2]=Ur.z,s[6]=bd.z,s[10]=ls.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,s=t.elements,o=this.elements,r=n[0],g=n[4],a=n[8],l=n[12],I=n[1],u=n[5],d=n[9],A=n[13],p=n[2],b=n[6],f=n[10],h=n[14],G=n[3],y=n[7],v=n[11],W=n[15],R=s[0],x=s[4],M=s[8],V=s[12],w=s[1],Y=s[5],Q=s[9],E=s[13],se=s[2],ge=s[6],de=s[10],he=s[14],N=s[3],D=s[7],U=s[11],te=s[15];return o[0]=r*R+g*w+a*se+l*N,o[4]=r*x+g*Y+a*ge+l*D,o[8]=r*M+g*Q+a*de+l*U,o[12]=r*V+g*E+a*he+l*te,o[1]=I*R+u*w+d*se+A*N,o[5]=I*x+u*Y+d*ge+A*D,o[9]=I*M+u*Q+d*de+A*U,o[13]=I*V+u*E+d*he+A*te,o[2]=p*R+b*w+f*se+h*N,o[6]=p*x+b*Y+f*ge+h*D,o[10]=p*M+b*Q+f*de+h*U,o[14]=p*V+b*E+f*he+h*te,o[3]=G*R+y*w+v*se+W*N,o[7]=G*x+y*Y+v*ge+W*D,o[11]=G*M+y*Q+v*de+W*U,o[15]=G*V+y*E+v*he+W*te,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],n=e[4],s=e[8],o=e[12],r=e[1],g=e[5],a=e[9],l=e[13],I=e[2],u=e[6],d=e[10],A=e[14],p=e[3],b=e[7],f=e[11],h=e[15];return p*(+o*a*u-s*l*u-o*g*d+n*l*d+s*g*A-n*a*A)+b*(+t*a*A-t*l*d+o*r*d-s*r*A+s*l*I-o*a*I)+f*(+t*l*u-t*g*A-o*r*u+n*r*A+o*g*I-n*l*I)+h*(-s*g*I-t*a*u+t*g*d+s*r*u-n*r*d+n*a*I)}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,n){const s=this.elements;return e.isVector3?(s[12]=e.x,s[13]=e.y,s[14]=e.z):(s[12]=e,s[13]=t,s[14]=n),this}invert(){const e=this.elements,t=e[0],n=e[1],s=e[2],o=e[3],r=e[4],g=e[5],a=e[6],l=e[7],I=e[8],u=e[9],d=e[10],A=e[11],p=e[12],b=e[13],f=e[14],h=e[15],G=u*f*l-b*d*l+b*a*A-g*f*A-u*a*h+g*d*h,y=p*d*l-I*f*l-p*a*A+r*f*A+I*a*h-r*d*h,v=I*b*l-p*u*l+p*g*A-r*b*A-I*g*h+r*u*h,W=p*u*a-I*b*a-p*g*d+r*b*d+I*g*f-r*u*f,R=t*G+n*y+s*v+o*W;if(R===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const x=1/R;return e[0]=G*x,e[1]=(b*d*o-u*f*o-b*s*A+n*f*A+u*s*h-n*d*h)*x,e[2]=(g*f*o-b*a*o+b*s*l-n*f*l-g*s*h+n*a*h)*x,e[3]=(u*a*o-g*d*o-u*s*l+n*d*l+g*s*A-n*a*A)*x,e[4]=y*x,e[5]=(I*f*o-p*d*o+p*s*A-t*f*A-I*s*h+t*d*h)*x,e[6]=(p*a*o-r*f*o-p*s*l+t*f*l+r*s*h-t*a*h)*x,e[7]=(r*d*o-I*a*o+I*s*l-t*d*l-r*s*A+t*a*A)*x,e[8]=v*x,e[9]=(p*u*o-I*b*o-p*n*A+t*b*A+I*n*h-t*u*h)*x,e[10]=(r*b*o-p*g*o+p*n*l-t*b*l-r*n*h+t*g*h)*x,e[11]=(I*g*o-r*u*o-I*n*l+t*u*l+r*n*A-t*g*A)*x,e[12]=W*x,e[13]=(I*b*s-p*u*s+p*n*d-t*b*d-I*n*f+t*u*f)*x,e[14]=(p*g*s-r*b*s-p*n*a+t*b*a+r*n*f-t*g*f)*x,e[15]=(r*u*s-I*g*s+I*n*a-t*u*a-r*n*d+t*g*d)*x,this}scale(e){const t=this.elements,n=e.x,s=e.y,o=e.z;return t[0]*=n,t[4]*=s,t[8]*=o,t[1]*=n,t[5]*=s,t[9]*=o,t[2]*=n,t[6]*=s,t[10]*=o,t[3]*=n,t[7]*=s,t[11]*=o,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],s=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,s))}makeTranslation(e,t,n){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,n,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const n=Math.cos(t),s=Math.sin(t),o=1-n,r=e.x,g=e.y,a=e.z,l=o*r,I=o*g;return this.set(l*r+n,l*g-s*a,l*a+s*g,0,l*g+s*a,I*g+n,I*a-s*r,0,l*a-s*g,I*a+s*r,o*a*a+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,s,o,r){return this.set(1,n,o,0,e,1,r,0,t,s,1,0,0,0,0,1),this}compose(e,t,n){const s=this.elements,o=t._x,r=t._y,g=t._z,a=t._w,l=o+o,I=r+r,u=g+g,d=o*l,A=o*I,p=o*u,b=r*I,f=r*u,h=g*u,G=a*l,y=a*I,v=a*u,W=n.x,R=n.y,x=n.z;return s[0]=(1-(b+h))*W,s[1]=(A+v)*W,s[2]=(p-y)*W,s[3]=0,s[4]=(A-v)*R,s[5]=(1-(d+h))*R,s[6]=(f+G)*R,s[7]=0,s[8]=(p+y)*x,s[9]=(f-G)*x,s[10]=(1-(d+b))*x,s[11]=0,s[12]=e.x,s[13]=e.y,s[14]=e.z,s[15]=1,this}decompose(e,t,n){const s=this.elements;let o=Cl.set(s[0],s[1],s[2]).length();const r=Cl.set(s[4],s[5],s[6]).length(),g=Cl.set(s[8],s[9],s[10]).length();this.determinant()<0&&(o=-o),e.x=s[12],e.y=s[13],e.z=s[14],$s.copy(this);const l=1/o,I=1/r,u=1/g;return $s.elements[0]*=l,$s.elements[1]*=l,$s.elements[2]*=l,$s.elements[4]*=I,$s.elements[5]*=I,$s.elements[6]*=I,$s.elements[8]*=u,$s.elements[9]*=u,$s.elements[10]*=u,t.setFromRotationMatrix($s),n.x=o,n.y=r,n.z=g,this}makePerspective(e,t,n,s,o,r,g=Fo){const a=this.elements,l=2*o/(t-e),I=2*o/(n-s),u=(t+e)/(t-e),d=(n+s)/(n-s);let A,p;if(g===Fo)A=-(r+o)/(r-o),p=-2*r*o/(r-o);else if(g===yC)A=-r/(r-o),p=-r*o/(r-o);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+g);return a[0]=l,a[4]=0,a[8]=u,a[12]=0,a[1]=0,a[5]=I,a[9]=d,a[13]=0,a[2]=0,a[6]=0,a[10]=A,a[14]=p,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this}makeOrthographic(e,t,n,s,o,r,g=Fo){const a=this.elements,l=1/(t-e),I=1/(n-s),u=1/(r-o),d=(t+e)*l,A=(n+s)*I;let p,b;if(g===Fo)p=(r+o)*u,b=-2*u;else if(g===yC)p=o*u,b=-1*u;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+g);return a[0]=2*l,a[4]=0,a[8]=0,a[12]=-d,a[1]=0,a[5]=2*I,a[9]=0,a[13]=-A,a[2]=0,a[6]=0,a[10]=b,a[14]=-p,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this}equals(e){const t=this.elements,n=e.elements;for(let s=0;s<16;s++)if(t[s]!==n[s])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}}const Cl=new H,$s=new Ee,pY=new H(0,0,0),mY=new H(1,1,1),Ur=new H,bd=new H,ls=new H,t2=new Ee,n2=new Dt;class Ki{constructor(e=0,t=0,n=0,s=Ki.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=n,this._order=s}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,n,s=this._order){return this._x=e,this._y=t,this._z=n,this._order=s,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,n=!0){const s=e.elements,o=s[0],r=s[4],g=s[8],a=s[1],l=s[5],I=s[9],u=s[2],d=s[6],A=s[10];switch(t){case"XYZ":this._y=Math.asin(Bn(g,-1,1)),Math.abs(g)<.9999999?(this._x=Math.atan2(-I,A),this._z=Math.atan2(-r,o)):(this._x=Math.atan2(d,l),this._z=0);break;case"YXZ":this._x=Math.asin(-Bn(I,-1,1)),Math.abs(I)<.9999999?(this._y=Math.atan2(g,A),this._z=Math.atan2(a,l)):(this._y=Math.atan2(-u,o),this._z=0);break;case"ZXY":this._x=Math.asin(Bn(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-u,A),this._z=Math.atan2(-r,l)):(this._y=0,this._z=Math.atan2(a,o));break;case"ZYX":this._y=Math.asin(-Bn(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(d,A),this._z=Math.atan2(a,o)):(this._x=0,this._z=Math.atan2(-r,l));break;case"YZX":this._z=Math.asin(Bn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-I,l),this._y=Math.atan2(-u,o)):(this._x=0,this._y=Math.atan2(g,A));break;case"XZY":this._z=Math.asin(-Bn(r,-1,1)),Math.abs(r)<.9999999?(this._x=Math.atan2(d,l),this._y=Math.atan2(g,o)):(this._x=Math.atan2(-I,A),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,n===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return t2.makeRotationFromQuaternion(e),this.setFromRotationMatrix(t2,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return n2.setFromEuler(this),this.setFromQuaternion(n2,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}}Ki.DEFAULT_ORDER="XYZ";class ya{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let t=0;t1){for(let n=0;n0&&(s.userData=this.userData),s.layers=this.layers.mask,s.matrix=this.matrix.toArray(),s.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(s.matrixAutoUpdate=!1),this.isInstancedMesh&&(s.type="InstancedMesh",s.count=this.count,s.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(s.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(s.type="BatchedMesh",s.perObjectFrustumCulled=this.perObjectFrustumCulled,s.sortObjects=this.sortObjects,s.drawRanges=this._drawRanges,s.reservedRanges=this._reservedRanges,s.visibility=this._visibility,s.active=this._active,s.bounds=this._bounds.map(g=>({boxInitialized:g.boxInitialized,boxMin:g.box.min.toArray(),boxMax:g.box.max.toArray(),sphereInitialized:g.sphereInitialized,sphereRadius:g.sphere.radius,sphereCenter:g.sphere.center.toArray()})),s.maxGeometryCount=this._maxGeometryCount,s.maxVertexCount=this._maxVertexCount,s.maxIndexCount=this._maxIndexCount,s.geometryInitialized=this._geometryInitialized,s.geometryCount=this._geometryCount,s.matricesTexture=this._matricesTexture.toJSON(e),this.boundingSphere!==null&&(s.boundingSphere={center:s.boundingSphere.center.toArray(),radius:s.boundingSphere.radius}),this.boundingBox!==null&&(s.boundingBox={min:s.boundingBox.min.toArray(),max:s.boundingBox.max.toArray()}));function o(g,a){return g[a.uuid]===void 0&&(g[a.uuid]=a.toJSON(e)),a.uuid}if(this.isScene)this.background&&(this.background.isColor?s.background=this.background.toJSON():this.background.isTexture&&(s.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(s.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){s.geometry=o(e.geometries,this.geometry);const g=this.geometry.parameters;if(g!==void 0&&g.shapes!==void 0){const a=g.shapes;if(Array.isArray(a))for(let l=0,I=a.length;l0){s.children=[];for(let g=0;g0){s.animations=[];for(let g=0;g0&&(n.geometries=g),a.length>0&&(n.materials=a),l.length>0&&(n.textures=l),I.length>0&&(n.images=I),u.length>0&&(n.shapes=u),d.length>0&&(n.skeletons=d),A.length>0&&(n.animations=A),p.length>0&&(n.nodes=p)}return n.object=s,n;function r(g){const a=[];for(const l in g){const I=g[l];delete I.metadata,a.push(I)}return a}}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 n=0;n0?s.multiplyScalar(1/Math.sqrt(o)):s.set(0,0,0)}static getBarycoord(e,t,n,s,o){eo.subVectors(s,t),er.subVectors(n,t),df.subVectors(e,t);const r=eo.dot(eo),g=eo.dot(er),a=eo.dot(df),l=er.dot(er),I=er.dot(df),u=r*l-g*g;if(u===0)return o.set(0,0,0),null;const d=1/u,A=(l*a-g*I)*d,p=(r*I-g*a)*d;return o.set(1-A-p,p,A)}static containsPoint(e,t,n,s){return this.getBarycoord(e,t,n,s,tr)===null?!1:tr.x>=0&&tr.y>=0&&tr.x+tr.y<=1}static getInterpolation(e,t,n,s,o,r,g,a){return this.getBarycoord(e,t,n,s,tr)===null?(a.x=0,a.y=0,"z"in a&&(a.z=0),"w"in a&&(a.w=0),null):(a.setScalar(0),a.addScaledVector(o,tr.x),a.addScaledVector(r,tr.y),a.addScaledVector(g,tr.z),a)}static isFrontFacing(e,t,n,s){return eo.subVectors(n,t),er.subVectors(e,t),eo.cross(er).dot(s)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,s){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[s]),this}setFromAttributeAndIndices(e,t,n,s){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,s),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 eo.subVectors(this.c,this.b),er.subVectors(this.a,this.b),eo.cross(er).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return Cs.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return Cs.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,n,s,o){return Cs.getInterpolation(e,this.a,this.b,this.c,t,n,s,o)}containsPoint(e){return Cs.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return Cs.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,s=this.b,o=this.c;let r,g;Al.subVectors(s,n),hl.subVectors(o,n),Af.subVectors(e,n);const a=Al.dot(Af),l=hl.dot(Af);if(a<=0&&l<=0)return t.copy(n);hf.subVectors(e,s);const I=Al.dot(hf),u=hl.dot(hf);if(I>=0&&u<=I)return t.copy(s);const d=a*u-I*l;if(d<=0&&a>=0&&I<=0)return r=a/(a-I),t.copy(n).addScaledVector(Al,r);pf.subVectors(e,o);const A=Al.dot(pf),p=hl.dot(pf);if(p>=0&&A<=p)return t.copy(o);const b=A*l-a*p;if(b<=0&&l>=0&&p<=0)return g=l/(l-p),t.copy(n).addScaledVector(hl,g);const f=I*p-A*u;if(f<=0&&u-I>=0&&A-p>=0)return a2.subVectors(o,s),g=(u-I)/(u-I+(A-p)),t.copy(s).addScaledVector(a2,g);const h=1/(f+b+d);return r=b*h,g=d*h,t.copy(n).addScaledVector(Al,r).addScaledVector(hl,g)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const bV={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},Dr={h:0,s:0,l:0},yd={h:0,s:0,l:0};function mf(i,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?i+(e-i)*6*t:t<1/2?e:t<2/3?i+(e-i)*6*(2/3-t):i}class Me{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,n)}set(e,t,n){if(t===void 0&&n===void 0){const s=e;s&&s.isColor?this.copy(s):typeof s=="number"?this.setHex(s):typeof s=="string"&&this.setStyle(s)}else this.setRGB(e,t,n);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=ni){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,Ut.toWorkingColorSpace(this,t),this}setRGB(e,t,n,s=Ut.workingColorSpace){return this.r=e,this.g=t,this.b=n,Ut.toWorkingColorSpace(this,s),this}setHSL(e,t,n,s=Ut.workingColorSpace){if(e=Gy(e,1),t=Bn(t,0,1),n=Bn(n,0,1),t===0)this.r=this.g=this.b=n;else{const o=n<=.5?n*(1+t):n+t-n*t,r=2*n-o;this.r=mf(r,o,e+1/3),this.g=mf(r,o,e),this.b=mf(r,o,e-1/3)}return Ut.toWorkingColorSpace(this,s),this}setStyle(e,t=ni){function n(o){o!==void 0&&parseFloat(o)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let s;if(s=/^(\w+)\(([^\)]*)\)/.exec(e)){let o;const r=s[1],g=s[2];switch(r){case"rgb":case"rgba":if(o=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(g))return n(o[4]),this.setRGB(Math.min(255,parseInt(o[1],10))/255,Math.min(255,parseInt(o[2],10))/255,Math.min(255,parseInt(o[3],10))/255,t);if(o=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(g))return n(o[4]),this.setRGB(Math.min(100,parseInt(o[1],10))/100,Math.min(100,parseInt(o[2],10))/100,Math.min(100,parseInt(o[3],10))/100,t);break;case"hsl":case"hsla":if(o=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(g))return n(o[4]),this.setHSL(parseFloat(o[1])/360,parseFloat(o[2])/100,parseFloat(o[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(s=/^\#([A-Fa-f\d]+)$/.exec(e)){const o=s[1],r=o.length;if(r===3)return this.setRGB(parseInt(o.charAt(0),16)/15,parseInt(o.charAt(1),16)/15,parseInt(o.charAt(2),16)/15,t);if(r===6)return this.setHex(parseInt(o,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=ni){const n=bV[e.toLowerCase()];return n!==void 0?this.setHex(n,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=sc(e.r),this.g=sc(e.g),this.b=sc(e.b),this}copyLinearToSRGB(e){return this.r=of(e.r),this.g=of(e.g),this.b=of(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=ni){return Ut.fromWorkingColorSpace(mi.copy(this),e),Math.round(Bn(mi.r*255,0,255))*65536+Math.round(Bn(mi.g*255,0,255))*256+Math.round(Bn(mi.b*255,0,255))}getHexString(e=ni){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=Ut.workingColorSpace){Ut.fromWorkingColorSpace(mi.copy(this),t);const n=mi.r,s=mi.g,o=mi.b,r=Math.max(n,s,o),g=Math.min(n,s,o);let a,l;const I=(g+r)/2;if(g===r)a=0,l=0;else{const u=r-g;switch(l=I<=.5?u/(r+g):u/(2-r-g),r){case n:a=(s-o)/u+(s0!=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 n=e[t];if(n===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const s=this[t];if(s===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}s&&s.isColor?s.set(n):s&&s.isVector3&&n&&n.isVector3?s.copy(n):this[t]=n}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const n={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(n.dispersion=this.dispersion),this.iridescence!==void 0&&(n.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(n.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(n.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapRotation!==void 0&&(n.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==ma&&(n.blending=this.blending),this.side!==uo&&(n.side=this.side),this.vertexColors===!0&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=!0),this.blendSrc!==uh&&(n.blendSrc=this.blendSrc),this.blendDst!==dh&&(n.blendDst=this.blendDst),this.blendEquation!==ig&&(n.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(n.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(n.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(n.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(n.blendAlpha=this.blendAlpha),this.depthFunc!==dC&&(n.depthFunc=this.depthFunc),this.depthTest===!1&&(n.depthTest=this.depthTest),this.depthWrite===!1&&(n.depthWrite=this.depthWrite),this.colorWrite===!1&&(n.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(n.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==J0&&(n.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(n.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(n.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==na&&(n.stencilFail=this.stencilFail),this.stencilZFail!==na&&(n.stencilZFail=this.stencilZFail),this.stencilZPass!==na&&(n.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(n.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaHash===!0&&(n.alphaHash=!0),this.alphaToCoverage===!0&&(n.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=!0),this.forceSinglePass===!0&&(n.forceSinglePass=!0),this.wireframe===!0&&(n.wireframe=!0),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=!0),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),this.fog===!1&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData);function s(o){const r=[];for(const g in o){const a=o[g];delete a.metadata,r.push(a)}return r}if(t){const o=s(e.textures),r=s(e.images);o.length>0&&(n.textures=o),r.length>0&&(n.images=r)}return n}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 n=null;if(t!==null){const s=t.length;n=new Array(s);for(let o=0;o!==s;++o)n[o]=t[o].clone()}return this.clippingPlanes=n,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 Fn extends on{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Me(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 Ki,this.combine=FC,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 lr=vY();function vY(){const i=new ArrayBuffer(4),e=new Float32Array(i),t=new Uint32Array(i),n=new Uint32Array(512),s=new Uint32Array(512);for(let a=0;a<256;++a){const l=a-127;l<-27?(n[a]=0,n[a|256]=32768,s[a]=24,s[a|256]=24):l<-14?(n[a]=1024>>-l-14,n[a|256]=1024>>-l-14|32768,s[a]=-l-1,s[a|256]=-l-1):l<=15?(n[a]=l+15<<10,n[a|256]=l+15<<10|32768,s[a]=13,s[a|256]=13):l<128?(n[a]=31744,n[a|256]=64512,s[a]=24,s[a|256]=24):(n[a]=31744,n[a|256]=64512,s[a]=13,s[a|256]=13)}const o=new Uint32Array(2048),r=new Uint32Array(64),g=new Uint32Array(64);for(let a=1;a<1024;++a){let l=a<<13,I=0;for(;!(l&8388608);)l<<=1,I-=8388608;l&=-8388609,I+=947912704,o[a]=l|I}for(let a=1024;a<2048;++a)o[a]=939524096+(a-1024<<13);for(let a=1;a<31;++a)r[a]=a<<23;r[31]=1199570944,r[32]=2147483648;for(let a=33;a<63;++a)r[a]=2147483648+(a-32<<23);r[63]=3347054592;for(let a=1;a<64;++a)a!==32&&(g[a]=1024);return{floatView:e,uint32View:t,baseTable:n,shiftTable:s,mantissaTable:o,exponentTable:r,offsetTable:g}}function Ji(i){Math.abs(i)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),i=Bn(i,-65504,65504),lr.floatView[0]=i;const e=lr.uint32View[0],t=e>>23&511;return lr.baseTable[t]+((e&8388607)>>lr.shiftTable[t])}function HI(i){const e=i>>10;return lr.uint32View[0]=lr.mantissaTable[lr.offsetTable[e]+(i&1023)]+lr.exponentTable[e],lr.floatView[0]}const ZY={toHalfFloat:Ji,fromHalfFloat:HI},Mn=new H,Bd=new ce;class ct{constructor(e,t,n=!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=n,this.usage=GC,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=Ks,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return pV("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,n){e*=this.itemSize,n*=t.itemSize;for(let s=0,o=this.itemSize;s0&&(e.userData=this.userData),this.parameters!==void 0){const a=this.parameters;for(const l in a)a[l]!==void 0&&(e[l]=a[l]);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 n=this.attributes;for(const a in n){const l=n[a];e.data.attributes[a]=l.toJSON(e.data)}const s={};let o=!1;for(const a in this.morphAttributes){const l=this.morphAttributes[a],I=[];for(let u=0,d=l.length;u0&&(s[a]=I,o=!0)}o&&(e.data.morphAttributes=s,e.data.morphTargetsRelative=this.morphTargetsRelative);const r=this.groups;r.length>0&&(e.data.groups=JSON.parse(JSON.stringify(r)));const g=this.boundingSphere;return g!==null&&(e.data.boundingSphere={center:g.center.toArray(),radius:g.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 n=e.index;n!==null&&this.setIndex(n.clone(t));const s=e.attributes;for(const l in s){const I=s[l];this.setAttribute(l,I.clone(t))}const o=e.morphAttributes;for(const l in o){const I=[],u=o[l];for(let d=0,A=u.length;d0){const s=t[n[0]];if(s!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let o=0,r=s.length;o(e.far-e.near)**2))&&(l2.copy(o).invert(),zg.copy(e.ray).applyMatrix4(l2),!(n.boundingBox!==null&&zg.intersectsBox(n.boundingBox)===!1)&&this._computeIntersections(e,t,zg)))}_computeIntersections(e,t,n){let s;const o=this.geometry,r=this.material,g=o.index,a=o.attributes.position,l=o.attributes.uv,I=o.attributes.uv1,u=o.attributes.normal,d=o.groups,A=o.drawRange;if(g!==null)if(Array.isArray(r))for(let p=0,b=d.length;pt.far?null:{distance:l,point:xd.clone(),object:i}}function Vd(i,e,t,n,s,o,r,g,a,l){i.getVertexPosition(g,ml),i.getVertexPosition(a,fl),i.getVertexPosition(l,bl);const I=XY(i,e,t,n,ml,fl,bl,Wd);if(I){s&&(wd.fromBufferAttribute(s,g),Rd.fromBufferAttribute(s,a),Sd.fromBufferAttribute(s,l),I.uv=Cs.getInterpolation(Wd,ml,fl,bl,wd,Rd,Sd,new ce)),o&&(wd.fromBufferAttribute(o,g),Rd.fromBufferAttribute(o,a),Sd.fromBufferAttribute(o,l),I.uv1=Cs.getInterpolation(Wd,ml,fl,bl,wd,Rd,Sd,new ce)),r&&(I2.fromBufferAttribute(r,g),C2.fromBufferAttribute(r,a),u2.fromBufferAttribute(r,l),I.normal=Cs.getInterpolation(Wd,ml,fl,bl,I2,C2,u2,new H),I.normal.dot(n.direction)>0&&I.normal.multiplyScalar(-1));const u={a:g,b:a,c:l,normal:new H,materialIndex:0};Cs.getNormal(ml,fl,bl,u.normal),I.face=u}return I}class Zg extends ut{constructor(e=1,t=1,n=1,s=1,o=1,r=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:s,heightSegments:o,depthSegments:r};const g=this;s=Math.floor(s),o=Math.floor(o),r=Math.floor(r);const a=[],l=[],I=[],u=[];let d=0,A=0;p("z","y","x",-1,-1,n,t,e,r,o,0),p("z","y","x",1,-1,n,t,-e,r,o,1),p("x","z","y",1,1,e,n,t,s,r,2),p("x","z","y",1,-1,e,n,-t,s,r,3),p("x","y","z",1,-1,e,t,n,s,o,4),p("x","y","z",-1,-1,e,t,-n,s,o,5),this.setIndex(a),this.setAttribute("position",new Pe(l,3)),this.setAttribute("normal",new Pe(I,3)),this.setAttribute("uv",new Pe(u,2));function p(b,f,h,G,y,v,W,R,x,M,V){const w=v/x,Y=W/M,Q=v/2,E=W/2,se=R/2,ge=x+1,de=M+1;let he=0,N=0;const D=new H;for(let U=0;U0?1:-1,I.push(D.x,D.y,D.z),u.push(ye/x),u.push(1-U/M),he+=1}}for(let U=0;U0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const n={};for(const s in this.extensions)this.extensions[s]===!0&&(n[s]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}}class zC extends wt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Ee,this.projectionMatrix=new Ee,this.projectionMatrixInverse=new Ee,this.coordinateSystem=Fo}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 Jr=new H,d2=new ce,A2=new ce;class cn extends zC{constructor(e=50,t=1,n=.1,s=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=s,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=mc*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(Ga*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return mc*2*Math.atan(Math.tan(Ga*.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,n){Jr.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Jr.x,Jr.y).multiplyScalar(-e/Jr.z),Jr.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(Jr.x,Jr.y).multiplyScalar(-e/Jr.z)}getViewSize(e,t){return this.getViewBounds(e,d2,A2),t.subVectors(A2,d2)}setViewOffset(e,t,n,s,o,r){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=n,this.view.offsetY=s,this.view.width=o,this.view.height=r,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(Ga*.5*this.fov)/this.zoom,n=2*t,s=this.aspect*n,o=-.5*s;const r=this.view;if(this.view!==null&&this.view.enabled){const a=r.fullWidth,l=r.fullHeight;o+=r.offsetX*s/a,t-=r.offsetY*n/l,s*=r.width/a,n*=r.height/l}const g=this.filmOffset;g!==0&&(o+=e*g/this.getFilmWidth()),this.projectionMatrix.makePerspective(o,o+s,t,t-n,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 Gl=-90,yl=1;class BV extends wt{constructor(e,t,n){super(),this.type="CubeCamera",this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;const s=new cn(Gl,yl,e,t);s.layers=this.layers,this.add(s);const o=new cn(Gl,yl,e,t);o.layers=this.layers,this.add(o);const r=new cn(Gl,yl,e,t);r.layers=this.layers,this.add(r);const g=new cn(Gl,yl,e,t);g.layers=this.layers,this.add(g);const a=new cn(Gl,yl,e,t);a.layers=this.layers,this.add(a);const l=new cn(Gl,yl,e,t);l.layers=this.layers,this.add(l)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[n,s,o,r,g,a]=t;for(const l of t)this.remove(l);if(e===Fo)n.up.set(0,1,0),n.lookAt(1,0,0),s.up.set(0,1,0),s.lookAt(-1,0,0),o.up.set(0,0,-1),o.lookAt(0,1,0),r.up.set(0,0,1),r.lookAt(0,-1,0),g.up.set(0,1,0),g.lookAt(0,0,1),a.up.set(0,1,0),a.lookAt(0,0,-1);else if(e===yC)n.up.set(0,-1,0),n.lookAt(-1,0,0),s.up.set(0,-1,0),s.lookAt(1,0,0),o.up.set(0,0,1),o.lookAt(0,1,0),r.up.set(0,0,-1),r.lookAt(0,-1,0),g.up.set(0,-1,0),g.lookAt(0,0,1),a.up.set(0,-1,0),a.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const l of t)this.add(l),l.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:n,activeMipmapLevel:s}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[o,r,g,a,l,I]=this.children,u=e.getRenderTarget(),d=e.getActiveCubeFace(),A=e.getActiveMipmapLevel(),p=e.xr.enabled;e.xr.enabled=!1;const b=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0,s),e.render(t,o),e.setRenderTarget(n,1,s),e.render(t,r),e.setRenderTarget(n,2,s),e.render(t,g),e.setRenderTarget(n,3,s),e.render(t,a),e.setRenderTarget(n,4,s),e.render(t,l),n.texture.generateMipmaps=b,e.setRenderTarget(n,5,s),e.render(t,I),e.setRenderTarget(u,d,A),e.xr.enabled=p,n.texture.needsPMREMUpdate=!0}}class TC extends jt{constructor(e,t,n,s,o,r,g,a,l,I){e=e!==void 0?e:[],t=t!==void 0?t:vr,super(e,t,n,s,o,r,g,a,l,I),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class vV extends ho{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const n={width:e,height:e,depth:1},s=[n,n,n,n,n,n];this.texture=new TC(s,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:In}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 n={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 ); + + } + `},s=new Zg(5,5,5),o=new ms({name:"CubemapFromEquirect",uniforms:fc(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:Yi,blending:hr});o.uniforms.tEquirect.value=t;const r=new tn(s,o),g=t.minFilter;return t.minFilter===$i&&(t.minFilter=In),new BV(1,10,this).update(e,r),t.minFilter=g,r.geometry.dispose(),r.material.dispose(),this}clear(e,t,n,s){const o=e.getRenderTarget();for(let r=0;r<6;r++)e.setRenderTarget(this,r),e.clear(t,n,s);e.setRenderTarget(o)}}const Gf=new H,YY=new H,KY=new Bt;class Fs{constructor(e=new H(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,n,s){return this.normal.set(e,t,n),this.constant=s,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,n){const s=Gf.subVectors(n,t).cross(YY.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(s,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 n=e.delta(Gf),s=this.normal.dot(n);if(s===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;const o=-(e.start.dot(this.normal)+this.constant)/s;return o<0||o>1?null:t.copy(e.start).addScaledVector(n,o)}intersectsLine(e){const t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<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 n=t||KY.getNormalMatrix(e),s=this.coplanarPoint(Gf).applyMatrix4(e),o=this.normal.applyMatrix3(n).normalize();return this.constant=-s.dot(o),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 Tg=new Nn,Md=new H;class EC{constructor(e=new Fs,t=new Fs,n=new Fs,s=new Fs,o=new Fs,r=new Fs){this.planes=[e,t,n,s,o,r]}set(e,t,n,s,o,r){const g=this.planes;return g[0].copy(e),g[1].copy(t),g[2].copy(n),g[3].copy(s),g[4].copy(o),g[5].copy(r),this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e,t=Fo){const n=this.planes,s=e.elements,o=s[0],r=s[1],g=s[2],a=s[3],l=s[4],I=s[5],u=s[6],d=s[7],A=s[8],p=s[9],b=s[10],f=s[11],h=s[12],G=s[13],y=s[14],v=s[15];if(n[0].setComponents(a-o,d-l,f-A,v-h).normalize(),n[1].setComponents(a+o,d+l,f+A,v+h).normalize(),n[2].setComponents(a+r,d+I,f+p,v+G).normalize(),n[3].setComponents(a-r,d-I,f-p,v-G).normalize(),n[4].setComponents(a-g,d-u,f-b,v-y).normalize(),t===Fo)n[5].setComponents(a+g,d+u,f+b,v+y).normalize();else if(t===yC)n[5].setComponents(g,u,b,y).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(),Tg.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Tg.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Tg)}intersectsSprite(e){return Tg.center.set(0,0,0),Tg.radius=.7071067811865476,Tg.applyMatrix4(e.matrixWorld),this.intersectsSphere(Tg)}intersectsSphere(e){const t=this.planes,n=e.center,s=-e.radius;for(let o=0;o<6;o++)if(t[o].distanceToPoint(n)0?e.max.x:e.min.x,Md.y=s.normal.y>0?e.max.y:e.min.y,Md.z=s.normal.z>0?e.max.z:e.min.z,s.distanceToPoint(Md)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function ZV(){let i=null,e=!1,t=null,n=null;function s(o,r){t(o,r),n=i.requestAnimationFrame(s)}return{start:function(){e!==!0&&t!==null&&(n=i.requestAnimationFrame(s),e=!0)},stop:function(){i.cancelAnimationFrame(n),e=!1},setAnimationLoop:function(o){t=o},setContext:function(o){i=o}}}function LY(i){const e=new WeakMap;function t(g,a){const l=g.array,I=g.usage,u=l.byteLength,d=i.createBuffer();i.bindBuffer(a,d),i.bufferData(a,l,I),g.onUploadCallback();let A;if(l instanceof Float32Array)A=i.FLOAT;else if(l instanceof Uint16Array)g.isFloat16BufferAttribute?A=i.HALF_FLOAT:A=i.UNSIGNED_SHORT;else if(l instanceof Int16Array)A=i.SHORT;else if(l instanceof Uint32Array)A=i.UNSIGNED_INT;else if(l instanceof Int32Array)A=i.INT;else if(l instanceof Int8Array)A=i.BYTE;else if(l instanceof Uint8Array)A=i.UNSIGNED_BYTE;else if(l instanceof Uint8ClampedArray)A=i.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+l);return{buffer:d,type:A,bytesPerElement:l.BYTES_PER_ELEMENT,version:g.version,size:u}}function n(g,a,l){const I=a.array,u=a._updateRange,d=a.updateRanges;if(i.bindBuffer(l,g),u.count===-1&&d.length===0&&i.bufferSubData(l,0,I),d.length!==0){for(let A=0,p=d.length;A 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`,nK=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; +#endif`,iK=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,sK=`#if NUM_CLIPPING_PLANES > 0 + vClipPosition = - mvPosition.xyz; +#endif`,oK=`#if defined( USE_COLOR_ALPHA ) + diffuseColor *= vColor; +#elif defined( USE_COLOR ) + diffuseColor.rgb *= vColor; +#endif`,rK=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) + varying vec3 vColor; +#endif`,gK=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) + varying vec3 vColor; +#endif`,aK=`#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`,lK=`#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`,cK=`#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`,IK=`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`,CK=`#ifdef USE_DISPLACEMENTMAP + uniform sampler2D displacementMap; + uniform float displacementScale; + uniform float displacementBias; +#endif`,uK=`#ifdef USE_DISPLACEMENTMAP + transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); +#endif`,dK=`#ifdef USE_EMISSIVEMAP + vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); + totalEmissiveRadiance *= emissiveColor.rgb; +#endif`,AK=`#ifdef USE_EMISSIVEMAP + uniform sampler2D emissiveMap; +#endif`,hK="gl_FragColor = linearToOutputTexel( gl_FragColor );",pK=` +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 ); +}`,mK=`#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`,fK=`#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`,bK=`#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`,GK=`#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`,yK=`#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`,BK=`#ifdef USE_FOG + vFogDepth = - mvPosition.z; +#endif`,vK=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,ZK=`#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`,wK=`#ifdef USE_FOG + uniform vec3 fogColor; + varying float vFogDepth; + #ifdef FOG_EXP2 + uniform float fogDensity; + #else + uniform float fogNear; + uniform float fogFar; + #endif +#endif`,RK=`#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 +}`,SK=`#ifdef USE_LIGHTMAP + uniform sampler2D lightMap; + uniform float lightMapIntensity; +#endif`,WK=`LambertMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularStrength = specularStrength;`,xK=`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`,VK=`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`,MK=`#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`,XK=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,HK=`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`,FK=`BlinnPhongMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularColor = specular; +material.specularShininess = shininess; +material.specularStrength = specularStrength;`,NK=`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`,YK=`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_DISPERSION + material.dispersion = dispersion; +#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`,KK=`struct PhysicalMaterial { + vec3 diffuseColor; + float roughness; + vec3 specularColor; + float specularF90; + float dispersion; + #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 ); +}`,LK=` +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`,zK=`#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`,TK=`#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`,EK=`#if defined( USE_LOGDEPTHBUF ) + gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,kK=`#if defined( USE_LOGDEPTHBUF ) + uniform float logDepthBufFC; + varying float vFragDepth; + varying float vIsPerspective; +#endif`,_K=`#ifdef USE_LOGDEPTHBUF + varying float vFragDepth; + varying float vIsPerspective; +#endif`,UK=`#ifdef USE_LOGDEPTHBUF + vFragDepth = 1.0 + gl_Position.w; + vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); +#endif`,DK=`#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`,JK=`#ifdef USE_MAP + uniform sampler2D map; +#endif`,PK=`#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`,OK=`#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`,QK=`float metalnessFactor = metalness; +#ifdef USE_METALNESSMAP + vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); + metalnessFactor *= texelMetalness.b; +#endif`,jK=`#ifdef USE_METALNESSMAP + uniform sampler2D metalnessMap; +#endif`,qK=`#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`,$K=`#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`,e9=`#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`,t9=`#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`,n9=`#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`,i9=`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;`,s9=`#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`,o9=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,r9=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,g9=`#ifndef FLAT_SHADED + vNormal = normalize( transformedNormal ); + #ifdef USE_TANGENT + vTangent = normalize( transformedTangent ); + vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); + #endif +#endif`,a9=`#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`,l9=`#ifdef USE_CLEARCOAT + vec3 clearcoatNormal = nonPerturbedNormal; +#endif`,c9=`#ifdef USE_CLEARCOAT_NORMALMAP + vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; + clearcoatMapN.xy *= clearcoatNormalScale; + clearcoatNormal = normalize( tbn2 * clearcoatMapN ); +#endif`,I9=`#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`,C9=`#ifdef USE_IRIDESCENCEMAP + uniform sampler2D iridescenceMap; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + uniform sampler2D iridescenceThicknessMap; +#endif`,u9=`#ifdef OPAQUE +diffuseColor.a = 1.0; +#endif +#ifdef USE_TRANSMISSION +diffuseColor.a *= material.transmissionAlpha; +#endif +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,d9=`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 ); +}`,A9=`#ifdef PREMULTIPLIED_ALPHA + gl_FragColor.rgb *= gl_FragColor.a; +#endif`,h9=`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;`,p9=`#ifdef DITHERING + gl_FragColor.rgb = dithering( gl_FragColor.rgb ); +#endif`,m9=`#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`,f9=`float roughnessFactor = roughness; +#ifdef USE_ROUGHNESSMAP + vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); + roughnessFactor *= texelRoughness.g; +#endif`,b9=`#ifdef USE_ROUGHNESSMAP + uniform sampler2D roughnessMap; +#endif`,G9=`#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 ) { + float shadow = 1.0; + vec3 lightToPosition = shadowCoord.xyz; + + float lightToPositionLength = length( lightToPosition ); + if ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) { + float dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; + vec3 bd3D = normalize( lightToPosition ); + vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); + #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) + vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; + shadow = ( + 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 + shadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); + #endif + } + return shadow; + } +#endif`,y9=`#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`,B9=`#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`,v9=`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; +}`,Z9=`#ifdef USE_SKINNING + mat4 boneMatX = getBoneMatrix( skinIndex.x ); + mat4 boneMatY = getBoneMatrix( skinIndex.y ); + mat4 boneMatZ = getBoneMatrix( skinIndex.z ); + mat4 boneMatW = getBoneMatrix( skinIndex.w ); +#endif`,w9=`#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`,R9=`#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`,S9=`#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`,W9=`float specularStrength; +#ifdef USE_SPECULARMAP + vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); + specularStrength = texelSpecular.r; +#else + specularStrength = 1.0; +#endif`,x9=`#ifdef USE_SPECULARMAP + uniform sampler2D specularMap; +#endif`,V9=`#if defined( TONE_MAPPING ) + gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); +#endif`,M9=`#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 ) { + const float StartCompression = 0.8 - 0.04; + const 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( newPeak ), g ); +} +vec3 CustomToneMapping( vec3 color ) { return color; }`,X9=`#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.dispersion, 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`,H9=`#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 dispersion, const in float ior, const in float thickness, + const in vec3 attenuationColor, const in float attenuationDistance ) { + vec4 transmittedLight; + vec3 transmittance; + #ifdef USE_DISPERSION + float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion; + vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread ); + for ( int i = 0; i < 3; i ++ ) { + vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix ); + vec3 refractedRayExit = position + transmissionRay; + + vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); + vec2 refractionCoords = ndcPos.xy / ndcPos.w; + refractionCoords += 1.0; + refractionCoords /= 2.0; + + vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] ); + transmittedLight[ i ] = transmissionSample[ i ]; + transmittedLight.a += transmissionSample.a; + transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ]; + } + transmittedLight.a /= 3.0; + + #else + + 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; + transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); + transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); + + #endif + 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`,F9=`#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`,N9=`#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`,Y9=`#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`,K9=`#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 L9=`varying vec2 vUv; +uniform mat3 uvTransform; +void main() { + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; + gl_Position = vec4( position.xy, 1.0, 1.0 ); +}`,z9=`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 +}`,T9=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,E9=`#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 +}`,k9=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,_9=`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 +}`,U9=`#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; +}`,D9=`#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 +}`,J9=`#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; +}`,P9=`#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 ); +}`,O9=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include +}`,Q9=`uniform sampler2D tEquirect; +varying vec3 vWorldDirection; +#include +void main() { + vec3 direction = normalize( vWorldDirection ); + vec2 sampleUV = equirectUv( direction ); + gl_FragColor = texture2D( tEquirect, sampleUV ); + #include + #include +}`,j9=`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 +}`,q9=`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 +}`,$9=`#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 +}`,eL=`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 +}`,tL=`#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 +}`,nL=`#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 +}`,iL=`#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; +}`,sL=`#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 +}`,oL=`#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 +}`,rL=`#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 +}`,gL=`#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 +}`,aL=`#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 +}`,lL=`#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 +}`,cL=`#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_DISPERSION + uniform float dispersion; +#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 +}`,IL=`#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 +}`,CL=`#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 +}`,uL=`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 +}`,dL=`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 +}`,AL=`#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,hL=`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 +}`,pL=`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 +}`,mL=`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 +}`,Zt={alphahash_fragment:zY,alphahash_pars_fragment:TY,alphamap_fragment:EY,alphamap_pars_fragment:kY,alphatest_fragment:_Y,alphatest_pars_fragment:UY,aomap_fragment:DY,aomap_pars_fragment:JY,batching_pars_vertex:PY,batching_vertex:OY,begin_vertex:QY,beginnormal_vertex:jY,bsdfs:qY,iridescence_fragment:$Y,bumpmap_pars_fragment:eK,clipping_planes_fragment:tK,clipping_planes_pars_fragment:nK,clipping_planes_pars_vertex:iK,clipping_planes_vertex:sK,color_fragment:oK,color_pars_fragment:rK,color_pars_vertex:gK,color_vertex:aK,common:lK,cube_uv_reflection_fragment:cK,defaultnormal_vertex:IK,displacementmap_pars_vertex:CK,displacementmap_vertex:uK,emissivemap_fragment:dK,emissivemap_pars_fragment:AK,colorspace_fragment:hK,colorspace_pars_fragment:pK,envmap_fragment:mK,envmap_common_pars_fragment:fK,envmap_pars_fragment:bK,envmap_pars_vertex:GK,envmap_physical_pars_fragment:MK,envmap_vertex:yK,fog_vertex:BK,fog_pars_vertex:vK,fog_fragment:ZK,fog_pars_fragment:wK,gradientmap_pars_fragment:RK,lightmap_pars_fragment:SK,lights_lambert_fragment:WK,lights_lambert_pars_fragment:xK,lights_pars_begin:VK,lights_toon_fragment:XK,lights_toon_pars_fragment:HK,lights_phong_fragment:FK,lights_phong_pars_fragment:NK,lights_physical_fragment:YK,lights_physical_pars_fragment:KK,lights_fragment_begin:LK,lights_fragment_maps:zK,lights_fragment_end:TK,logdepthbuf_fragment:EK,logdepthbuf_pars_fragment:kK,logdepthbuf_pars_vertex:_K,logdepthbuf_vertex:UK,map_fragment:DK,map_pars_fragment:JK,map_particle_fragment:PK,map_particle_pars_fragment:OK,metalnessmap_fragment:QK,metalnessmap_pars_fragment:jK,morphinstance_vertex:qK,morphcolor_vertex:$K,morphnormal_vertex:e9,morphtarget_pars_vertex:t9,morphtarget_vertex:n9,normal_fragment_begin:i9,normal_fragment_maps:s9,normal_pars_fragment:o9,normal_pars_vertex:r9,normal_vertex:g9,normalmap_pars_fragment:a9,clearcoat_normal_fragment_begin:l9,clearcoat_normal_fragment_maps:c9,clearcoat_pars_fragment:I9,iridescence_pars_fragment:C9,opaque_fragment:u9,packing:d9,premultiplied_alpha_fragment:A9,project_vertex:h9,dithering_fragment:p9,dithering_pars_fragment:m9,roughnessmap_fragment:f9,roughnessmap_pars_fragment:b9,shadowmap_pars_fragment:G9,shadowmap_pars_vertex:y9,shadowmap_vertex:B9,shadowmask_pars_fragment:v9,skinbase_vertex:Z9,skinning_pars_vertex:w9,skinning_vertex:R9,skinnormal_vertex:S9,specularmap_fragment:W9,specularmap_pars_fragment:x9,tonemapping_fragment:V9,tonemapping_pars_fragment:M9,transmission_fragment:X9,transmission_pars_fragment:H9,uv_pars_fragment:F9,uv_pars_vertex:N9,uv_vertex:Y9,worldpos_vertex:K9,background_vert:L9,background_frag:z9,backgroundCube_vert:T9,backgroundCube_frag:E9,cube_vert:k9,cube_frag:_9,depth_vert:U9,depth_frag:D9,distanceRGBA_vert:J9,distanceRGBA_frag:P9,equirect_vert:O9,equirect_frag:Q9,linedashed_vert:j9,linedashed_frag:q9,meshbasic_vert:$9,meshbasic_frag:eL,meshlambert_vert:tL,meshlambert_frag:nL,meshmatcap_vert:iL,meshmatcap_frag:sL,meshnormal_vert:oL,meshnormal_frag:rL,meshphong_vert:gL,meshphong_frag:aL,meshphysical_vert:lL,meshphysical_frag:cL,meshtoon_vert:IL,meshtoon_frag:CL,points_vert:uL,points_frag:dL,shadow_vert:AL,shadow_frag:hL,sprite_vert:pL,sprite_frag:mL},Ke={common:{diffuse:{value:new Me(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Bt},alphaMap:{value:null},alphaMapTransform:{value:new Bt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Bt}},envmap:{envMap:{value:null},envMapRotation:{value:new Bt},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Bt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Bt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Bt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Bt},normalScale:{value:new ce(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Bt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Bt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Bt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Bt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Me(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 Me(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Bt},alphaTest:{value:0},uvTransform:{value:new Bt}},sprite:{diffuse:{value:new Me(16777215)},opacity:{value:1},center:{value:new ce(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Bt},alphaMap:{value:null},alphaMapTransform:{value:new Bt},alphaTest:{value:0}}},ao={basic:{uniforms:Wi([Ke.common,Ke.specularmap,Ke.envmap,Ke.aomap,Ke.lightmap,Ke.fog]),vertexShader:Zt.meshbasic_vert,fragmentShader:Zt.meshbasic_frag},lambert:{uniforms:Wi([Ke.common,Ke.specularmap,Ke.envmap,Ke.aomap,Ke.lightmap,Ke.emissivemap,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,Ke.fog,Ke.lights,{emissive:{value:new Me(0)}}]),vertexShader:Zt.meshlambert_vert,fragmentShader:Zt.meshlambert_frag},phong:{uniforms:Wi([Ke.common,Ke.specularmap,Ke.envmap,Ke.aomap,Ke.lightmap,Ke.emissivemap,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,Ke.fog,Ke.lights,{emissive:{value:new Me(0)},specular:{value:new Me(1118481)},shininess:{value:30}}]),vertexShader:Zt.meshphong_vert,fragmentShader:Zt.meshphong_frag},standard:{uniforms:Wi([Ke.common,Ke.envmap,Ke.aomap,Ke.lightmap,Ke.emissivemap,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,Ke.roughnessmap,Ke.metalnessmap,Ke.fog,Ke.lights,{emissive:{value:new Me(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Zt.meshphysical_vert,fragmentShader:Zt.meshphysical_frag},toon:{uniforms:Wi([Ke.common,Ke.aomap,Ke.lightmap,Ke.emissivemap,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,Ke.gradientmap,Ke.fog,Ke.lights,{emissive:{value:new Me(0)}}]),vertexShader:Zt.meshtoon_vert,fragmentShader:Zt.meshtoon_frag},matcap:{uniforms:Wi([Ke.common,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,Ke.fog,{matcap:{value:null}}]),vertexShader:Zt.meshmatcap_vert,fragmentShader:Zt.meshmatcap_frag},points:{uniforms:Wi([Ke.points,Ke.fog]),vertexShader:Zt.points_vert,fragmentShader:Zt.points_frag},dashed:{uniforms:Wi([Ke.common,Ke.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Zt.linedashed_vert,fragmentShader:Zt.linedashed_frag},depth:{uniforms:Wi([Ke.common,Ke.displacementmap]),vertexShader:Zt.depth_vert,fragmentShader:Zt.depth_frag},normal:{uniforms:Wi([Ke.common,Ke.bumpmap,Ke.normalmap,Ke.displacementmap,{opacity:{value:1}}]),vertexShader:Zt.meshnormal_vert,fragmentShader:Zt.meshnormal_frag},sprite:{uniforms:Wi([Ke.sprite,Ke.fog]),vertexShader:Zt.sprite_vert,fragmentShader:Zt.sprite_frag},background:{uniforms:{uvTransform:{value:new Bt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Zt.background_vert,fragmentShader:Zt.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new Bt}},vertexShader:Zt.backgroundCube_vert,fragmentShader:Zt.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Zt.cube_vert,fragmentShader:Zt.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Zt.equirect_vert,fragmentShader:Zt.equirect_frag},distanceRGBA:{uniforms:Wi([Ke.common,Ke.displacementmap,{referencePosition:{value:new H},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Zt.distanceRGBA_vert,fragmentShader:Zt.distanceRGBA_frag},shadow:{uniforms:Wi([Ke.lights,Ke.fog,{color:{value:new Me(0)},opacity:{value:1}}]),vertexShader:Zt.shadow_vert,fragmentShader:Zt.shadow_frag}};ao.physical={uniforms:Wi([ao.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Bt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Bt},clearcoatNormalScale:{value:new ce(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Bt},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Bt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Bt},sheen:{value:0},sheenColor:{value:new Me(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Bt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Bt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Bt},transmissionSamplerSize:{value:new ce},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Bt},attenuationDistance:{value:0},attenuationColor:{value:new Me(0)},specularColor:{value:new Me(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Bt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Bt},anisotropyVector:{value:new ce},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Bt}}]),vertexShader:Zt.meshphysical_vert,fragmentShader:Zt.meshphysical_frag};const Xd={r:0,b:0,g:0},Eg=new Ki,fL=new Ee;function bL(i,e,t,n,s,o,r){const g=new Me(0);let a=o===!0?0:1,l,I,u=null,d=0,A=null;function p(G){let y=G.isScene===!0?G.background:null;return y&&y.isTexture&&(y=(G.backgroundBlurriness>0?t:e).get(y)),y}function b(G){let y=!1;const v=p(G);v===null?h(g,a):v&&v.isColor&&(h(v,1),y=!0);const W=i.xr.getEnvironmentBlendMode();W==="additive"?n.buffers.color.setClear(0,0,0,1,r):W==="alpha-blend"&&n.buffers.color.setClear(0,0,0,0,r),(i.autoClear||y)&&i.clear(i.autoClearColor,i.autoClearDepth,i.autoClearStencil)}function f(G,y){const v=p(y);v&&(v.isCubeTexture||v.mapping===wc)?(I===void 0&&(I=new tn(new Zg(1,1,1),new ms({name:"BackgroundCubeMaterial",uniforms:fc(ao.backgroundCube.uniforms),vertexShader:ao.backgroundCube.vertexShader,fragmentShader:ao.backgroundCube.fragmentShader,side:Yi,depthTest:!1,depthWrite:!1,fog:!1})),I.geometry.deleteAttribute("normal"),I.geometry.deleteAttribute("uv"),I.onBeforeRender=function(W,R,x){this.matrixWorld.copyPosition(x.matrixWorld)},Object.defineProperty(I.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),s.update(I)),Eg.copy(y.backgroundRotation),Eg.x*=-1,Eg.y*=-1,Eg.z*=-1,v.isCubeTexture&&v.isRenderTargetTexture===!1&&(Eg.y*=-1,Eg.z*=-1),I.material.uniforms.envMap.value=v,I.material.uniforms.flipEnvMap.value=v.isCubeTexture&&v.isRenderTargetTexture===!1?-1:1,I.material.uniforms.backgroundBlurriness.value=y.backgroundBlurriness,I.material.uniforms.backgroundIntensity.value=y.backgroundIntensity,I.material.uniforms.backgroundRotation.value.setFromMatrix4(fL.makeRotationFromEuler(Eg)),I.material.toneMapped=Ut.getTransfer(v.colorSpace)!==qt,(u!==v||d!==v.version||A!==i.toneMapping)&&(I.material.needsUpdate=!0,u=v,d=v.version,A=i.toneMapping),I.layers.enableAll(),G.unshift(I,I.geometry,I.material,0,0,null)):v&&v.isTexture&&(l===void 0&&(l=new tn(new Ya(2,2),new ms({name:"BackgroundMaterial",uniforms:fc(ao.background.uniforms),vertexShader:ao.background.vertexShader,fragmentShader:ao.background.fragmentShader,side:uo,depthTest:!1,depthWrite:!1,fog:!1})),l.geometry.deleteAttribute("normal"),Object.defineProperty(l.material,"map",{get:function(){return this.uniforms.t2D.value}}),s.update(l)),l.material.uniforms.t2D.value=v,l.material.uniforms.backgroundIntensity.value=y.backgroundIntensity,l.material.toneMapped=Ut.getTransfer(v.colorSpace)!==qt,v.matrixAutoUpdate===!0&&v.updateMatrix(),l.material.uniforms.uvTransform.value.copy(v.matrix),(u!==v||d!==v.version||A!==i.toneMapping)&&(l.material.needsUpdate=!0,u=v,d=v.version,A=i.toneMapping),l.layers.enableAll(),G.unshift(l,l.geometry,l.material,0,0,null))}function h(G,y){G.getRGB(Xd,GV(i)),n.buffers.color.setClear(Xd.r,Xd.g,Xd.b,y,r)}return{getClearColor:function(){return g},setClearColor:function(G,y=1){g.set(G),a=y,h(g,a)},getClearAlpha:function(){return a},setClearAlpha:function(G){a=G,h(g,a)},render:b,addToRenderList:f}}function GL(i,e){const t=i.getParameter(i.MAX_VERTEX_ATTRIBS),n={},s=d(null);let o=s,r=!1;function g(w,Y,Q,E,se){let ge=!1;const de=u(E,Q,Y);o!==de&&(o=de,l(o.object)),ge=A(w,E,Q,se),ge&&p(w,E,Q,se),se!==null&&e.update(se,i.ELEMENT_ARRAY_BUFFER),(ge||r)&&(r=!1,v(w,Y,Q,E),se!==null&&i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,e.get(se).buffer))}function a(){return i.createVertexArray()}function l(w){return i.bindVertexArray(w)}function I(w){return i.deleteVertexArray(w)}function u(w,Y,Q){const E=Q.wireframe===!0;let se=n[w.id];se===void 0&&(se={},n[w.id]=se);let ge=se[Y.id];ge===void 0&&(ge={},se[Y.id]=ge);let de=ge[E];return de===void 0&&(de=d(a()),ge[E]=de),de}function d(w){const Y=[],Q=[],E=[];for(let se=0;se=0){const U=se[N];let te=ge[N];if(te===void 0&&(N==="instanceMatrix"&&w.instanceMatrix&&(te=w.instanceMatrix),N==="instanceColor"&&w.instanceColor&&(te=w.instanceColor)),U===void 0||U.attribute!==te||te&&U.data!==te.data)return!0;de++}return o.attributesNum!==de||o.index!==E}function p(w,Y,Q,E){const se={},ge=Y.attributes;let de=0;const he=Q.getAttributes();for(const N in he)if(he[N].location>=0){let U=ge[N];U===void 0&&(N==="instanceMatrix"&&w.instanceMatrix&&(U=w.instanceMatrix),N==="instanceColor"&&w.instanceColor&&(U=w.instanceColor));const te={};te.attribute=U,U&&U.data&&(te.data=U.data),se[N]=te,de++}o.attributes=se,o.attributesNum=de,o.index=E}function b(){const w=o.newAttributes;for(let Y=0,Q=w.length;Y=0){let D=se[he];if(D===void 0&&(he==="instanceMatrix"&&w.instanceMatrix&&(D=w.instanceMatrix),he==="instanceColor"&&w.instanceColor&&(D=w.instanceColor)),D!==void 0){const U=D.normalized,te=D.itemSize,ye=e.get(D);if(ye===void 0)continue;const Re=ye.buffer,ee=ye.type,fe=ye.bytesPerElement,xe=ee===i.INT||ee===i.UNSIGNED_INT||D.gpuType===Iy;if(D.isInterleavedBufferAttribute){const we=D.data,It=we.stride,ft=D.offset;if(we.isInstancedInterleavedBuffer){for(let q=0;q0&&i.getShaderPrecisionFormat(i.FRAGMENT_SHADER,i.HIGH_FLOAT).precision>0)return"highp";R="mediump"}return R==="mediump"&&i.getShaderPrecisionFormat(i.VERTEX_SHADER,i.MEDIUM_FLOAT).precision>0&&i.getShaderPrecisionFormat(i.FRAGMENT_SHADER,i.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let l=t.precision!==void 0?t.precision:"highp";const I=a(l);I!==l&&(console.warn("THREE.WebGLRenderer:",l,"not supported, using",I,"instead."),l=I);const u=t.logarithmicDepthBuffer===!0,d=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),A=i.getParameter(i.MAX_VERTEX_TEXTURE_IMAGE_UNITS),p=i.getParameter(i.MAX_TEXTURE_SIZE),b=i.getParameter(i.MAX_CUBE_MAP_TEXTURE_SIZE),f=i.getParameter(i.MAX_VERTEX_ATTRIBS),h=i.getParameter(i.MAX_VERTEX_UNIFORM_VECTORS),G=i.getParameter(i.MAX_VARYING_VECTORS),y=i.getParameter(i.MAX_FRAGMENT_UNIFORM_VECTORS),v=A>0,W=i.getParameter(i.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:o,getMaxPrecision:a,textureFormatReadable:r,textureTypeReadable:g,precision:l,logarithmicDepthBuffer:u,maxTextures:d,maxVertexTextures:A,maxTextureSize:p,maxCubemapSize:b,maxAttributes:f,maxVertexUniforms:h,maxVaryings:G,maxFragmentUniforms:y,vertexTextures:v,maxSamples:W}}function vL(i){const e=this;let t=null,n=0,s=!1,o=!1;const r=new Fs,g=new Bt,a={value:null,needsUpdate:!1};this.uniform=a,this.numPlanes=0,this.numIntersection=0,this.init=function(u,d){const A=u.length!==0||d||n!==0||s;return s=d,n=u.length,A},this.beginShadows=function(){o=!0,I(null)},this.endShadows=function(){o=!1},this.setGlobalState=function(u,d){t=I(u,d,0)},this.setState=function(u,d,A){const p=u.clippingPlanes,b=u.clipIntersection,f=u.clipShadows,h=i.get(u);if(!s||p===null||p.length===0||o&&!f)o?I(null):l();else{const G=o?0:n,y=G*4;let v=h.clippingState||null;a.value=v,v=I(p,d,y,A);for(let W=0;W!==y;++W)v[W]=t[W];h.clippingState=v,this.numIntersection=b?this.numPlanes:0,this.numPlanes+=G}};function l(){a.value!==t&&(a.value=t,a.needsUpdate=n>0),e.numPlanes=n,e.numIntersection=0}function I(u,d,A,p){const b=u!==null?u.length:0;let f=null;if(b!==0){if(f=a.value,p!==!0||f===null){const h=A+b*4,G=d.matrixWorldInverse;g.getNormalMatrix(G),(f===null||f.length0){const l=new vV(a.height);return l.fromEquirectangularTexture(i,r),e.set(r,l),r.addEventListener("dispose",s),t(l.texture,r.mapping)}else return null}}return r}function s(r){const g=r.target;g.removeEventListener("dispose",s);const a=e.get(g);a!==void 0&&(e.delete(g),a.dispose())}function o(){e=new WeakMap}return{get:n,dispose:o}}class lo extends zC{constructor(e=-1,t=1,n=1,s=-1,o=.1,r=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=s,this.near=o,this.far=r,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,n,s,o,r){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=n,this.view.offsetY=s,this.view.width=o,this.view.height=r,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),n=(this.right+this.left)/2,s=(this.top+this.bottom)/2;let o=n-e,r=n+e,g=s+t,a=s-t;if(this.view!==null&&this.view.enabled){const l=(this.right-this.left)/this.view.fullWidth/this.zoom,I=(this.top-this.bottom)/this.view.fullHeight/this.zoom;o+=l*this.view.offsetX,r=o+l*this.view.width,g-=I*this.view.offsetY,a=g-I*this.view.height}this.projectionMatrix.makeOrthographic(o,r,g,a,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 Ol=4,h2=[.125,.215,.35,.446,.526,.582],sa=20,yf=new lo,p2=new Me;let Bf=null,vf=0,Zf=0,wf=!1;const ia=(1+Math.sqrt(5))/2,Bl=1/ia,m2=[new H(-ia,Bl,0),new H(ia,Bl,0),new H(-Bl,0,ia),new H(Bl,0,ia),new H(0,ia,-Bl),new H(0,ia,Bl),new H(-1,1,-1),new H(1,1,-1),new H(-1,1,1),new H(1,1,1)];class O0{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,n=.1,s=100){Bf=this._renderer.getRenderTarget(),vf=this._renderer.getActiveCubeFace(),Zf=this._renderer.getActiveMipmapLevel(),wf=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(256);const o=this._allocateTargets();return o.depthBuffer=!0,this._sceneToCubeUV(e,n,s,o),t>0&&this._blur(o,0,0,t),this._applyPMREM(o),this._cleanup(o),o}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=G2(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=b2(),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?y:0,y,y),I.setRenderTarget(s),b&&I.render(p,g),I.render(e,g)}p.geometry.dispose(),p.material.dispose(),I.toneMapping=d,I.autoClear=u,e.background=f}_textureToCubeUV(e,t){const n=this._renderer,s=e.mapping===vr||e.mapping===fg;s?(this._cubemapMaterial===null&&(this._cubemapMaterial=G2()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=b2());const o=s?this._cubemapMaterial:this._equirectMaterial,r=new tn(this._lodPlanes[0],o),g=o.uniforms;g.envMap.value=e;const a=this._cubeSize;Hd(t,0,0,3*a,2*a),n.setRenderTarget(t),n.render(r,yf)}_applyPMREM(e){const t=this._renderer,n=t.autoClear;t.autoClear=!1;const s=this._lodPlanes.length;for(let o=1;osa&&console.warn(`sigmaRadians, ${o}, is too large and will clip, as it requested ${f} samples when the maximum is set to ${sa}`);const h=[];let G=0;for(let x=0;xy-Ol?s-y+Ol:0),R=4*(this._cubeSize-v);Hd(t,W,R,3*v,2*v),a.setRenderTarget(t),a.render(u,yf)}}function wL(i){const e=[],t=[],n=[];let s=i;const o=i-Ol+1+h2.length;for(let r=0;ri-Ol?a=h2[r-i+Ol-1]:r===0&&(a=0),n.push(a);const l=1/(g-2),I=-l,u=1+l,d=[I,I,u,I,u,u,I,I,u,u,I,u],A=6,p=6,b=3,f=2,h=1,G=new Float32Array(b*p*A),y=new Float32Array(f*p*A),v=new Float32Array(h*p*A);for(let R=0;R2?0:-1,V=[x,M,0,x+2/3,M,0,x+2/3,M+1,0,x,M,0,x+2/3,M+1,0,x,M+1,0];G.set(V,b*p*R),y.set(d,f*p*R);const w=[R,R,R,R,R,R];v.set(w,h*p*R)}const W=new ut;W.setAttribute("position",new ct(G,b)),W.setAttribute("uv",new ct(y,f)),W.setAttribute("faceIndex",new ct(v,h)),e.push(W),s>Ol&&s--}return{lodPlanes:e,sizeLods:t,sigmas:n}}function f2(i,e,t){const n=new ho(i,e,t);return n.texture.mapping=wc,n.texture.name="PMREM.cubeUv",n.scissorTest=!0,n}function Hd(i,e,t,n,s){i.viewport.set(e,t,n,s),i.scissor.set(e,t,n,s)}function RL(i,e,t){const n=new Float32Array(sa),s=new H(0,1,0);return new ms({name:"SphericalGaussianBlur",defines:{n:sa,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${i}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:n},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:s}},vertexShader:Zy(),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:hr,depthTest:!1,depthWrite:!1})}function b2(){return new ms({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Zy(),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:hr,depthTest:!1,depthWrite:!1})}function G2(){return new ms({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Zy(),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:hr,depthTest:!1,depthWrite:!1})}function Zy(){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 SL(i){let e=new WeakMap,t=null;function n(g){if(g&&g.isTexture){const a=g.mapping,l=a===AC||a===hC,I=a===vr||a===fg;if(l||I){let u=e.get(g);const d=u!==void 0?u.texture.pmremVersion:0;if(g.isRenderTargetTexture&&g.pmremVersion!==d)return t===null&&(t=new O0(i)),u=l?t.fromEquirectangular(g,u):t.fromCubemap(g,u),u.texture.pmremVersion=g.pmremVersion,e.set(g,u),u.texture;if(u!==void 0)return u.texture;{const A=g.image;return l&&A&&A.height>0||I&&A&&s(A)?(t===null&&(t=new O0(i)),u=l?t.fromEquirectangular(g):t.fromCubemap(g),u.texture.pmremVersion=g.pmremVersion,e.set(g,u),g.addEventListener("dispose",o),u.texture):null}}}return g}function s(g){let a=0;const l=6;for(let I=0;Ie.maxTextureSize&&(R=Math.ceil(W/e.maxTextureSize),W=e.maxTextureSize);const x=new Float32Array(W*R*4*u),M=new _h(x,W,R,u);M.type=Ks,M.needsUpdate=!0;const V=v*4;for(let Y=0;Y0)return i;const s=e*t;let o=y2[s];if(o===void 0&&(o=new Float32Array(s),y2[s]=o),e!==0){n.toArray(o,0);for(let r=1,g=0;r!==e;++r)g+=t,i[r].toArray(o,g)}return o}function kn(i,e){if(i.length!==e.length)return!1;for(let t=0,n=i.length;t":" "} ${g}: ${t[r]}`)}return n.join(` +`)}function S3(i){const e=Ut.getPrimaries(Ut.workingColorSpace),t=Ut.getPrimaries(i);let n;switch(e===t?n="":e===bC&&t===fC?n="LinearDisplayP3ToLinearSRGB":e===fC&&t===bC&&(n="LinearSRGBToLinearDisplayP3"),i){case qn:case LC:return[n,"LinearTransferOETF"];case ni:case Eh:return[n,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",i),[n,"LinearTransferOETF"]}}function W2(i,e,t){const n=i.getShaderParameter(e,i.COMPILE_STATUS),s=i.getShaderInfoLog(e).trim();if(n&&s==="")return"";const o=/ERROR: 0:(\d+)/.exec(s);if(o){const r=parseInt(o[1]);return t.toUpperCase()+` + +`+s+` + +`+R3(i.getShaderSource(e),r)}else return s}function W3(i,e){const t=S3(e);return`vec4 ${i}( vec4 value ) { return ${t[0]}( ${t[1]}( value ) ); }`}function x3(i,e){let t;switch(e){case Lx:t="Linear";break;case zx:t="Reinhard";break;case Tx:t="OptimizedCineon";break;case ly:t="ACESFilmic";break;case kx:t="AgX";break;case _x:t="Neutral";break;case Ex:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+i+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function V3(i){return[i.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",i.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(FI).join(` +`)}function M3(i){const e=[];for(const t in i){const n=i[t];n!==!1&&e.push("#define "+t+" "+n)}return e.join(` +`)}function X3(i,e){const t={},n=i.getProgramParameter(e,i.ACTIVE_ATTRIBUTES);for(let s=0;s/gm;function Q0(i){return i.replace(H3,N3)}const F3=new Map;function N3(i,e){let t=Zt[e];if(t===void 0){const n=F3.get(e);if(n!==void 0)t=Zt[n],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,n);else throw new Error("Can not resolve #include <"+e+">")}return Q0(t)}const Y3=/#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 M2(i){return i.replace(Y3,K3)}function K3(i,e,t,n){let s="";for(let o=parseInt(e);o0&&(f+=` +`),h=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,p].filter(FI).join(` +`),h.length>0&&(h+=` +`)):(f=[X2(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,p,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 "+I:"",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?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+a:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," 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(FI).join(` +`),h=[X2(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,p,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 "+l:"",t.envMap?"#define "+I:"",t.envMap?"#define "+u:"",d?"#define CUBEUV_TEXEL_WIDTH "+d.texelWidth:"",d?"#define CUBEUV_TEXEL_HEIGHT "+d.texelHeight:"",d?"#define CUBEUV_MAX_MIP "+d.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.dispersion?"#define USE_DISPERSION":"",t.iridescence?"#define USE_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 "+a:"",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":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==Ko?"#define TONE_MAPPING":"",t.toneMapping!==Ko?Zt.tonemapping_pars_fragment:"",t.toneMapping!==Ko?x3("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",Zt.colorspace_pars_fragment,W3("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` +`].filter(FI).join(` +`)),r=Q0(r),r=x2(r,t),r=V2(r,t),g=Q0(g),g=x2(g,t),g=V2(g,t),r=M2(r),g=M2(g),t.isRawShaderMaterial!==!0&&(G=`#version 300 es +`,f=[A,"#define attribute in","#define varying out","#define texture2D texture"].join(` +`)+` +`+f,h=["#define varying in",t.glslVersion===P0?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===P0?"":"#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(` +`)+` +`+h);const y=G+f+r,v=G+h+g,W=S2(s,s.VERTEX_SHADER,y),R=S2(s,s.FRAGMENT_SHADER,v);s.attachShader(b,W),s.attachShader(b,R),t.index0AttributeName!==void 0?s.bindAttribLocation(b,0,t.index0AttributeName):t.morphTargets===!0&&s.bindAttribLocation(b,0,"position"),s.linkProgram(b);function x(Y){if(i.debug.checkShaderErrors){const Q=s.getProgramInfoLog(b).trim(),E=s.getShaderInfoLog(W).trim(),se=s.getShaderInfoLog(R).trim();let ge=!0,de=!0;if(s.getProgramParameter(b,s.LINK_STATUS)===!1)if(ge=!1,typeof i.debug.onShaderError=="function")i.debug.onShaderError(s,b,W,R);else{const he=W2(s,W,"vertex"),N=W2(s,R,"fragment");console.error("THREE.WebGLProgram: Shader Error "+s.getError()+" - VALIDATE_STATUS "+s.getProgramParameter(b,s.VALIDATE_STATUS)+` + +Material Name: `+Y.name+` +Material Type: `+Y.type+` + +Program Info Log: `+Q+` +`+he+` +`+N)}else Q!==""?console.warn("THREE.WebGLProgram: Program Info Log:",Q):(E===""||se==="")&&(de=!1);de&&(Y.diagnostics={runnable:ge,programLog:Q,vertexShader:{log:E,prefix:f},fragmentShader:{log:se,prefix:h}})}s.deleteShader(W),s.deleteShader(R),M=new LA(s,b),V=X3(s,b)}let M;this.getUniforms=function(){return M===void 0&&x(this),M};let V;this.getAttributes=function(){return V===void 0&&x(this),V};let w=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return w===!1&&(w=s.getProgramParameter(b,Z3)),w},this.destroy=function(){n.releaseStatesOfProgram(this),s.deleteProgram(b),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=w3++,this.cacheKey=e,this.usedTimes=1,this.program=b,this.vertexShader=W,this.fragmentShader=R,this}let U3=0;class D3{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,n=e.fragmentShader,s=this._getShaderStage(t),o=this._getShaderStage(n),r=this._getShaderCacheForMaterial(e);return r.has(s)===!1&&(r.add(s),s.usedTimes++),r.has(o)===!1&&(r.add(o),o.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const n of t)n.usedTimes--,n.usedTimes===0&&this.shaderCache.delete(n.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 n=t.get(e);return n===void 0&&(n=new Set,t.set(e,n)),n}_getShaderStage(e){const t=this.shaderCache;let n=t.get(e);return n===void 0&&(n=new J3(e),t.set(e,n)),n}}class J3{constructor(e){this.id=U3++,this.code=e,this.usedTimes=0}}function P3(i,e,t,n,s,o,r){const g=new ya,a=new D3,l=new Set,I=[],u=s.logarithmicDepthBuffer,d=s.vertexTextures;let A=s.precision;const p={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 b(V){return l.add(V),V===0?"uv":`uv${V}`}function f(V,w,Y,Q,E){const se=Q.fog,ge=E.geometry,de=V.isMeshStandardMaterial?Q.environment:null,he=(V.isMeshStandardMaterial?t:e).get(V.envMap||de),N=he&&he.mapping===wc?he.image.height:null,D=p[V.type];V.precision!==null&&(A=s.getMaxPrecision(V.precision),A!==V.precision&&console.warn("THREE.WebGLProgram.getParameters:",V.precision,"not supported, using",A,"instead."));const U=ge.morphAttributes.position||ge.morphAttributes.normal||ge.morphAttributes.color,te=U!==void 0?U.length:0;let ye=0;ge.morphAttributes.position!==void 0&&(ye=1),ge.morphAttributes.normal!==void 0&&(ye=2),ge.morphAttributes.color!==void 0&&(ye=3);let Re,ee,fe,xe;if(D){const Vt=ao[D];Re=Vt.vertexShader,ee=Vt.fragmentShader}else Re=V.vertexShader,ee=V.fragmentShader,a.update(V),fe=a.getVertexShaderID(V),xe=a.getFragmentShaderID(V);const we=i.getRenderTarget(),It=E.isInstancedMesh===!0,ft=E.isBatchedMesh===!0,q=!!V.map,at=!!V.matcap,Ce=!!he,Ge=!!V.aoMap,me=!!V.lightMap,He=!!V.bumpMap,Ze=!!V.normalMap,ke=!!V.displacementMap,nt=!!V.emissiveMap,T=!!V.metalnessMap,X=!!V.roughnessMap,ne=V.anisotropy>0,pe=V.clearcoat>0,Be=V.dispersion>0,be=V.iridescence>0,je=V.sheen>0,Ye=V.transmission>0,Ne=ne&&!!V.anisotropyMap,dt=pe&&!!V.clearcoatMap,Xe=pe&&!!V.clearcoatNormalMap,Oe=pe&&!!V.clearcoatRoughnessMap,Rt=be&&!!V.iridescenceMap,st=be&&!!V.iridescenceThicknessMap,Ue=je&&!!V.sheenColorMap,At=je&&!!V.sheenRoughnessMap,P=!!V.specularMap,ve=!!V.specularColorMap,We=!!V.specularIntensityMap,_=Ye&&!!V.transmissionMap,Ae=Ye&&!!V.thicknessMap,ue=!!V.gradientMap,Fe=!!V.alphaMap,_e=V.alphaTest>0,Mt=!!V.alphaHash,xt=!!V.extensions;let Yt=Ko;V.toneMapped&&(we===null||we.isXRRenderTarget===!0)&&(Yt=i.toneMapping);const rn={shaderID:D,shaderType:V.type,shaderName:V.name,vertexShader:Re,fragmentShader:ee,defines:V.defines,customVertexShaderID:fe,customFragmentShaderID:xe,isRawShaderMaterial:V.isRawShaderMaterial===!0,glslVersion:V.glslVersion,precision:A,batching:ft,instancing:It,instancingColor:It&&E.instanceColor!==null,instancingMorph:It&&E.morphTexture!==null,supportsVertexTextures:d,outputColorSpace:we===null?i.outputColorSpace:we.isXRRenderTarget===!0?we.texture.colorSpace:qn,alphaToCoverage:!!V.alphaToCoverage,map:q,matcap:at,envMap:Ce,envMapMode:Ce&&he.mapping,envMapCubeUVHeight:N,aoMap:Ge,lightMap:me,bumpMap:He,normalMap:Ze,displacementMap:d&&ke,emissiveMap:nt,normalMapObjectSpace:Ze&&V.normalMapType===rV,normalMapTangentSpace:Ze&&V.normalMapType===vg,metalnessMap:T,roughnessMap:X,anisotropy:ne,anisotropyMap:Ne,clearcoat:pe,clearcoatMap:dt,clearcoatNormalMap:Xe,clearcoatRoughnessMap:Oe,dispersion:Be,iridescence:be,iridescenceMap:Rt,iridescenceThicknessMap:st,sheen:je,sheenColorMap:Ue,sheenRoughnessMap:At,specularMap:P,specularColorMap:ve,specularIntensityMap:We,transmission:Ye,transmissionMap:_,thicknessMap:Ae,gradientMap:ue,opaque:V.transparent===!1&&V.blending===ma&&V.alphaToCoverage===!1,alphaMap:Fe,alphaTest:_e,alphaHash:Mt,combine:V.combine,mapUv:q&&b(V.map.channel),aoMapUv:Ge&&b(V.aoMap.channel),lightMapUv:me&&b(V.lightMap.channel),bumpMapUv:He&&b(V.bumpMap.channel),normalMapUv:Ze&&b(V.normalMap.channel),displacementMapUv:ke&&b(V.displacementMap.channel),emissiveMapUv:nt&&b(V.emissiveMap.channel),metalnessMapUv:T&&b(V.metalnessMap.channel),roughnessMapUv:X&&b(V.roughnessMap.channel),anisotropyMapUv:Ne&&b(V.anisotropyMap.channel),clearcoatMapUv:dt&&b(V.clearcoatMap.channel),clearcoatNormalMapUv:Xe&&b(V.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Oe&&b(V.clearcoatRoughnessMap.channel),iridescenceMapUv:Rt&&b(V.iridescenceMap.channel),iridescenceThicknessMapUv:st&&b(V.iridescenceThicknessMap.channel),sheenColorMapUv:Ue&&b(V.sheenColorMap.channel),sheenRoughnessMapUv:At&&b(V.sheenRoughnessMap.channel),specularMapUv:P&&b(V.specularMap.channel),specularColorMapUv:ve&&b(V.specularColorMap.channel),specularIntensityMapUv:We&&b(V.specularIntensityMap.channel),transmissionMapUv:_&&b(V.transmissionMap.channel),thicknessMapUv:Ae&&b(V.thicknessMap.channel),alphaMapUv:Fe&&b(V.alphaMap.channel),vertexTangents:!!ge.attributes.tangent&&(Ze||ne),vertexColors:V.vertexColors,vertexAlphas:V.vertexColors===!0&&!!ge.attributes.color&&ge.attributes.color.itemSize===4,pointsUvs:E.isPoints===!0&&!!ge.attributes.uv&&(q||Fe),fog:!!se,useFog:V.fog===!0,fogExp2:!!se&&se.isFogExp2,flatShading:V.flatShading===!0,sizeAttenuation:V.sizeAttenuation===!0,logarithmicDepthBuffer:u,skinning:E.isSkinnedMesh===!0,morphTargets:ge.morphAttributes.position!==void 0,morphNormals:ge.morphAttributes.normal!==void 0,morphColors:ge.morphAttributes.color!==void 0,morphTargetsCount:te,morphTextureStride:ye,numDirLights:w.directional.length,numPointLights:w.point.length,numSpotLights:w.spot.length,numSpotLightMaps:w.spotLightMap.length,numRectAreaLights:w.rectArea.length,numHemiLights:w.hemi.length,numDirLightShadows:w.directionalShadowMap.length,numPointLightShadows:w.pointShadowMap.length,numSpotLightShadows:w.spotShadowMap.length,numSpotLightShadowsWithMaps:w.numSpotLightShadowsWithMaps,numLightProbes:w.numLightProbes,numClippingPlanes:r.numPlanes,numClipIntersection:r.numIntersection,dithering:V.dithering,shadowMapEnabled:i.shadowMap.enabled&&Y.length>0,shadowMapType:i.shadowMap.type,toneMapping:Yt,useLegacyLights:i._useLegacyLights,decodeVideoTexture:q&&V.map.isVideoTexture===!0&&Ut.getTransfer(V.map.colorSpace)===qt,premultipliedAlpha:V.premultipliedAlpha,doubleSided:V.side===Ns,flipSided:V.side===Yi,useDepthPacking:V.depthPacking>=0,depthPacking:V.depthPacking||0,index0AttributeName:V.index0AttributeName,extensionClipCullDistance:xt&&V.extensions.clipCullDistance===!0&&n.has("WEBGL_clip_cull_distance"),extensionMultiDraw:xt&&V.extensions.multiDraw===!0&&n.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:n.has("KHR_parallel_shader_compile"),customProgramCacheKey:V.customProgramCacheKey()};return rn.vertexUv1s=l.has(1),rn.vertexUv2s=l.has(2),rn.vertexUv3s=l.has(3),l.clear(),rn}function h(V){const w=[];if(V.shaderID?w.push(V.shaderID):(w.push(V.customVertexShaderID),w.push(V.customFragmentShaderID)),V.defines!==void 0)for(const Y in V.defines)w.push(Y),w.push(V.defines[Y]);return V.isRawShaderMaterial===!1&&(G(w,V),y(w,V),w.push(i.outputColorSpace)),w.push(V.customProgramCacheKey),w.join()}function G(V,w){V.push(w.precision),V.push(w.outputColorSpace),V.push(w.envMapMode),V.push(w.envMapCubeUVHeight),V.push(w.mapUv),V.push(w.alphaMapUv),V.push(w.lightMapUv),V.push(w.aoMapUv),V.push(w.bumpMapUv),V.push(w.normalMapUv),V.push(w.displacementMapUv),V.push(w.emissiveMapUv),V.push(w.metalnessMapUv),V.push(w.roughnessMapUv),V.push(w.anisotropyMapUv),V.push(w.clearcoatMapUv),V.push(w.clearcoatNormalMapUv),V.push(w.clearcoatRoughnessMapUv),V.push(w.iridescenceMapUv),V.push(w.iridescenceThicknessMapUv),V.push(w.sheenColorMapUv),V.push(w.sheenRoughnessMapUv),V.push(w.specularMapUv),V.push(w.specularColorMapUv),V.push(w.specularIntensityMapUv),V.push(w.transmissionMapUv),V.push(w.thicknessMapUv),V.push(w.combine),V.push(w.fogExp2),V.push(w.sizeAttenuation),V.push(w.morphTargetsCount),V.push(w.morphAttributeCount),V.push(w.numDirLights),V.push(w.numPointLights),V.push(w.numSpotLights),V.push(w.numSpotLightMaps),V.push(w.numHemiLights),V.push(w.numRectAreaLights),V.push(w.numDirLightShadows),V.push(w.numPointLightShadows),V.push(w.numSpotLightShadows),V.push(w.numSpotLightShadowsWithMaps),V.push(w.numLightProbes),V.push(w.shadowMapType),V.push(w.toneMapping),V.push(w.numClippingPlanes),V.push(w.numClipIntersection),V.push(w.depthPacking)}function y(V,w){g.disableAll(),w.supportsVertexTextures&&g.enable(0),w.instancing&&g.enable(1),w.instancingColor&&g.enable(2),w.instancingMorph&&g.enable(3),w.matcap&&g.enable(4),w.envMap&&g.enable(5),w.normalMapObjectSpace&&g.enable(6),w.normalMapTangentSpace&&g.enable(7),w.clearcoat&&g.enable(8),w.iridescence&&g.enable(9),w.alphaTest&&g.enable(10),w.vertexColors&&g.enable(11),w.vertexAlphas&&g.enable(12),w.vertexUv1s&&g.enable(13),w.vertexUv2s&&g.enable(14),w.vertexUv3s&&g.enable(15),w.vertexTangents&&g.enable(16),w.anisotropy&&g.enable(17),w.alphaHash&&g.enable(18),w.batching&&g.enable(19),w.dispersion&&g.enable(20),V.push(g.mask),g.disableAll(),w.fog&&g.enable(0),w.useFog&&g.enable(1),w.flatShading&&g.enable(2),w.logarithmicDepthBuffer&&g.enable(3),w.skinning&&g.enable(4),w.morphTargets&&g.enable(5),w.morphNormals&&g.enable(6),w.morphColors&&g.enable(7),w.premultipliedAlpha&&g.enable(8),w.shadowMapEnabled&&g.enable(9),w.useLegacyLights&&g.enable(10),w.doubleSided&&g.enable(11),w.flipSided&&g.enable(12),w.useDepthPacking&&g.enable(13),w.dithering&&g.enable(14),w.transmission&&g.enable(15),w.sheen&&g.enable(16),w.opaque&&g.enable(17),w.pointsUvs&&g.enable(18),w.decodeVideoTexture&&g.enable(19),w.alphaToCoverage&&g.enable(20),V.push(g.mask)}function v(V){const w=p[V.type];let Y;if(w){const Q=ao[w];Y=yV.clone(Q.uniforms)}else Y=V.uniforms;return Y}function W(V,w){let Y;for(let Q=0,E=I.length;Q0?n.push(h):A.transparent===!0?s.push(h):t.push(h)}function a(u,d,A,p,b,f){const h=r(u,d,A,p,b,f);A.transmission>0?n.unshift(h):A.transparent===!0?s.unshift(h):t.unshift(h)}function l(u,d){t.length>1&&t.sort(u||Q3),n.length>1&&n.sort(d||H2),s.length>1&&s.sort(d||H2)}function I(){for(let u=e,d=i.length;u=o.length?(r=new F2,o.push(r)):r=o[s],r}function t(){i=new WeakMap}return{get:e,dispose:t}}function q3(){const i={};return{get:function(e){if(i[e.id]!==void 0)return i[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new H,color:new Me};break;case"SpotLight":t={position:new H,direction:new H,color:new Me,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new H,color:new Me,distance:0,decay:0};break;case"HemisphereLight":t={direction:new H,skyColor:new Me,groundColor:new Me};break;case"RectAreaLight":t={color:new Me,position:new H,halfWidth:new H,halfHeight:new H};break}return i[e.id]=t,t}}}function $3(){const i={};return{get:function(e){if(i[e.id]!==void 0)return i[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ce};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ce};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ce,shadowCameraNear:1,shadowCameraFar:1e3};break}return i[e.id]=t,t}}}let e5=0;function t5(i,e){return(e.castShadow?2:0)-(i.castShadow?2:0)+(e.map?1:0)-(i.map?1:0)}function n5(i){const e=new q3,t=$3(),n={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 l=0;l<9;l++)n.probe.push(new H);const s=new H,o=new Ee,r=new Ee;function g(l,I){let u=0,d=0,A=0;for(let Y=0;Y<9;Y++)n.probe[Y].set(0,0,0);let p=0,b=0,f=0,h=0,G=0,y=0,v=0,W=0,R=0,x=0,M=0;l.sort(t5);const V=I===!0?Math.PI:1;for(let Y=0,Q=l.length;Y0&&(i.has("OES_texture_float_linear")===!0?(n.rectAreaLTC1=Ke.LTC_FLOAT_1,n.rectAreaLTC2=Ke.LTC_FLOAT_2):(n.rectAreaLTC1=Ke.LTC_HALF_1,n.rectAreaLTC2=Ke.LTC_HALF_2)),n.ambient[0]=u,n.ambient[1]=d,n.ambient[2]=A;const w=n.hash;(w.directionalLength!==p||w.pointLength!==b||w.spotLength!==f||w.rectAreaLength!==h||w.hemiLength!==G||w.numDirectionalShadows!==y||w.numPointShadows!==v||w.numSpotShadows!==W||w.numSpotMaps!==R||w.numLightProbes!==M)&&(n.directional.length=p,n.spot.length=f,n.rectArea.length=h,n.point.length=b,n.hemi.length=G,n.directionalShadow.length=y,n.directionalShadowMap.length=y,n.pointShadow.length=v,n.pointShadowMap.length=v,n.spotShadow.length=W,n.spotShadowMap.length=W,n.directionalShadowMatrix.length=y,n.pointShadowMatrix.length=v,n.spotLightMatrix.length=W+R-x,n.spotLightMap.length=R,n.numSpotLightShadowsWithMaps=x,n.numLightProbes=M,w.directionalLength=p,w.pointLength=b,w.spotLength=f,w.rectAreaLength=h,w.hemiLength=G,w.numDirectionalShadows=y,w.numPointShadows=v,w.numSpotShadows=W,w.numSpotMaps=R,w.numLightProbes=M,n.version=e5++)}function a(l,I){let u=0,d=0,A=0,p=0,b=0;const f=I.matrixWorldInverse;for(let h=0,G=l.length;h=r.length?(g=new N2(i),r.push(g)):g=r[o],g}function n(){e=new WeakMap}return{get:t,dispose:n}}class Ry extends on{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=sV,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 Sy extends on{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 s5=`void main() { + gl_Position = vec4( position, 1.0 ); +}`,o5=`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 r5(i,e,t){let n=new EC;const s=new ce,o=new ce,r=new Jt,g=new Ry({depthPacking:oV}),a=new Sy,l={},I=t.maxTextureSize,u={[uo]:Yi,[Yi]:uo,[Ns]:Ns},d=new ms({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ce},radius:{value:4}},vertexShader:s5,fragmentShader:o5}),A=d.clone();A.defines.HORIZONTAL_PASS=1;const p=new ut;p.setAttribute("position",new ct(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const b=new tn(p,d),f=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Lh;let h=this.type;this.render=function(R,x,M){if(f.enabled===!1||f.autoUpdate===!1&&f.needsUpdate===!1||R.length===0)return;const V=i.getRenderTarget(),w=i.getActiveCubeFace(),Y=i.getActiveMipmapLevel(),Q=i.state;Q.setBlending(hr),Q.buffers.color.setClear(1,1,1,1),Q.buffers.depth.setTest(!0),Q.setScissorTest(!1);const E=h!==oo&&this.type===oo,se=h===oo&&this.type!==oo;for(let ge=0,de=R.length;geI||s.y>I)&&(s.x>I&&(o.x=Math.floor(I/D.x),s.x=o.x*D.x,N.mapSize.x=o.x),s.y>I&&(o.y=Math.floor(I/D.y),s.y=o.y*D.y,N.mapSize.y=o.y)),N.map===null||E===!0||se===!0){const te=this.type!==oo?{minFilter:Hn,magFilter:Hn}:{};N.map!==null&&N.map.dispose(),N.map=new ho(s.x,s.y,te),N.map.texture.name=he.name+".shadowMap",N.camera.updateProjectionMatrix()}i.setRenderTarget(N.map),i.clear();const U=N.getViewportCount();for(let te=0;te0||x.map&&x.alphaTest>0){const Q=w.uuid,E=x.uuid;let se=l[Q];se===void 0&&(se={},l[Q]=se);let ge=se[E];ge===void 0&&(ge=w.clone(),se[E]=ge,x.addEventListener("dispose",W)),w=ge}if(w.visible=x.visible,w.wireframe=x.wireframe,V===oo?w.side=x.shadowSide!==null?x.shadowSide:x.side:w.side=x.shadowSide!==null?x.shadowSide:u[x.side],w.alphaMap=x.alphaMap,w.alphaTest=x.alphaTest,w.map=x.map,w.clipShadows=x.clipShadows,w.clippingPlanes=x.clippingPlanes,w.clipIntersection=x.clipIntersection,w.displacementMap=x.displacementMap,w.displacementScale=x.displacementScale,w.displacementBias=x.displacementBias,w.wireframeLinewidth=x.wireframeLinewidth,w.linewidth=x.linewidth,M.isPointLight===!0&&w.isMeshDistanceMaterial===!0){const Q=i.properties.get(w);Q.light=M}return w}function v(R,x,M,V,w){if(R.visible===!1)return;if(R.layers.test(x.layers)&&(R.isMesh||R.isLine||R.isPoints)&&(R.castShadow||R.receiveShadow&&w===oo)&&(!R.frustumCulled||n.intersectsObject(R))){R.modelViewMatrix.multiplyMatrices(M.matrixWorldInverse,R.matrixWorld);const E=e.update(R),se=R.material;if(Array.isArray(se)){const ge=E.groups;for(let de=0,he=ge.length;de=1):he.indexOf("OpenGL ES")!==-1&&(de=parseFloat(/^OpenGL ES (\d)/.exec(he)[1]),ge=de>=2);let N=null,D={};const U=i.getParameter(i.SCISSOR_BOX),te=i.getParameter(i.VIEWPORT),ye=new Jt().fromArray(U),Re=new Jt().fromArray(te);function ee(_,Ae,ue,Fe){const _e=new Uint8Array(4),Mt=i.createTexture();i.bindTexture(_,Mt),i.texParameteri(_,i.TEXTURE_MIN_FILTER,i.NEAREST),i.texParameteri(_,i.TEXTURE_MAG_FILTER,i.NEAREST);for(let xt=0;xt"u"?!1:/OculusBrowser/g.test(navigator.userAgent),l=new ce,I=new WeakMap;let u;const d=new WeakMap;let A=!1;try{A=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function p(T,X){return A?new OffscreenCanvas(T,X):BC("canvas")}function b(T,X,ne){let pe=1;const Be=nt(T);if((Be.width>ne||Be.height>ne)&&(pe=ne/Math.max(Be.width,Be.height)),pe<1)if(typeof HTMLImageElement<"u"&&T instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&T instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&T instanceof ImageBitmap||typeof VideoFrame<"u"&&T instanceof VideoFrame){const be=Math.floor(pe*Be.width),je=Math.floor(pe*Be.height);u===void 0&&(u=p(be,je));const Ye=X?p(be,je):u;return Ye.width=be,Ye.height=je,Ye.getContext("2d").drawImage(T,0,0,be,je),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+Be.width+"x"+Be.height+") to ("+be+"x"+je+")."),Ye}else return"data"in T&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+Be.width+"x"+Be.height+")."),T;return T}function f(T){return T.generateMipmaps&&T.minFilter!==Hn&&T.minFilter!==In}function h(T){i.generateMipmap(T)}function G(T,X,ne,pe,Be=!1){if(T!==null){if(i[T]!==void 0)return i[T];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+T+"'")}let be=X;if(X===i.RED&&(ne===i.FLOAT&&(be=i.R32F),ne===i.HALF_FLOAT&&(be=i.R16F),ne===i.UNSIGNED_BYTE&&(be=i.R8)),X===i.RED_INTEGER&&(ne===i.UNSIGNED_BYTE&&(be=i.R8UI),ne===i.UNSIGNED_SHORT&&(be=i.R16UI),ne===i.UNSIGNED_INT&&(be=i.R32UI),ne===i.BYTE&&(be=i.R8I),ne===i.SHORT&&(be=i.R16I),ne===i.INT&&(be=i.R32I)),X===i.RG&&(ne===i.FLOAT&&(be=i.RG32F),ne===i.HALF_FLOAT&&(be=i.RG16F),ne===i.UNSIGNED_BYTE&&(be=i.RG8)),X===i.RG_INTEGER&&(ne===i.UNSIGNED_BYTE&&(be=i.RG8UI),ne===i.UNSIGNED_SHORT&&(be=i.RG16UI),ne===i.UNSIGNED_INT&&(be=i.RG32UI),ne===i.BYTE&&(be=i.RG8I),ne===i.SHORT&&(be=i.RG16I),ne===i.INT&&(be=i.RG32I)),X===i.RGB&&ne===i.UNSIGNED_INT_5_9_9_9_REV&&(be=i.RGB9_E5),X===i.RGBA){const je=Be?mC:Ut.getTransfer(pe);ne===i.FLOAT&&(be=i.RGBA32F),ne===i.HALF_FLOAT&&(be=i.RGBA16F),ne===i.UNSIGNED_BYTE&&(be=je===qt?i.SRGB8_ALPHA8:i.RGBA8),ne===i.UNSIGNED_SHORT_4_4_4_4&&(be=i.RGBA4),ne===i.UNSIGNED_SHORT_5_5_5_1&&(be=i.RGB5_A1)}return(be===i.R16F||be===i.R32F||be===i.RG16F||be===i.RG32F||be===i.RGBA16F||be===i.RGBA32F)&&e.get("EXT_color_buffer_float"),be}function y(T,X){return f(T)===!0||T.isFramebufferTexture&&T.minFilter!==Hn&&T.minFilter!==In?Math.log2(Math.max(X.width,X.height))+1:T.mipmaps!==void 0&&T.mipmaps.length>0?T.mipmaps.length:T.isCompressedTexture&&Array.isArray(T.image)?X.mipmaps.length:1}function v(T){const X=T.target;X.removeEventListener("dispose",v),R(X),X.isVideoTexture&&I.delete(X)}function W(T){const X=T.target;X.removeEventListener("dispose",W),M(X)}function R(T){const X=n.get(T);if(X.__webglInit===void 0)return;const ne=T.source,pe=d.get(ne);if(pe){const Be=pe[X.__cacheKey];Be.usedTimes--,Be.usedTimes===0&&x(T),Object.keys(pe).length===0&&d.delete(ne)}n.remove(T)}function x(T){const X=n.get(T);i.deleteTexture(X.__webglTexture);const ne=T.source,pe=d.get(ne);delete pe[X.__cacheKey],r.memory.textures--}function M(T){const X=n.get(T);if(T.depthTexture&&T.depthTexture.dispose(),T.isWebGLCubeRenderTarget)for(let pe=0;pe<6;pe++){if(Array.isArray(X.__webglFramebuffer[pe]))for(let Be=0;Be=s.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+T+" texture units while this GPU supports only "+s.maxTextures),V+=1,T}function Q(T){const X=[];return X.push(T.wrapS),X.push(T.wrapT),X.push(T.wrapR||0),X.push(T.magFilter),X.push(T.minFilter),X.push(T.anisotropy),X.push(T.internalFormat),X.push(T.format),X.push(T.type),X.push(T.generateMipmaps),X.push(T.premultiplyAlpha),X.push(T.flipY),X.push(T.unpackAlignment),X.push(T.colorSpace),X.join()}function E(T,X){const ne=n.get(T);if(T.isVideoTexture&&Ze(T),T.isRenderTargetTexture===!1&&T.version>0&&ne.__version!==T.version){const pe=T.image;if(pe===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(pe.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{ye(ne,T,X);return}}t.bindTexture(i.TEXTURE_2D,ne.__webglTexture,i.TEXTURE0+X)}function se(T,X){const ne=n.get(T);if(T.version>0&&ne.__version!==T.version){ye(ne,T,X);return}t.bindTexture(i.TEXTURE_2D_ARRAY,ne.__webglTexture,i.TEXTURE0+X)}function ge(T,X){const ne=n.get(T);if(T.version>0&&ne.__version!==T.version){ye(ne,T,X);return}t.bindTexture(i.TEXTURE_3D,ne.__webglTexture,i.TEXTURE0+X)}function de(T,X){const ne=n.get(T);if(T.version>0&&ne.__version!==T.version){Re(ne,T,X);return}t.bindTexture(i.TEXTURE_CUBE_MAP,ne.__webglTexture,i.TEXTURE0+X)}const he={[Ao]:i.REPEAT,[qi]:i.CLAMP_TO_EDGE,[Sa]:i.MIRRORED_REPEAT},N={[Hn]:i.NEAREST,[NC]:i.NEAREST_MIPMAP_NEAREST,[gg]:i.NEAREST_MIPMAP_LINEAR,[In]:i.LINEAR,[fa]:i.LINEAR_MIPMAP_NEAREST,[$i]:i.LINEAR_MIPMAP_LINEAR},D={[gV]:i.NEVER,[uV]:i.ALWAYS,[aV]:i.LESS,[by]:i.LEQUAL,[lV]:i.EQUAL,[CV]:i.GEQUAL,[cV]:i.GREATER,[IV]:i.NOTEQUAL};function U(T,X){if(X.type===Ks&&e.has("OES_texture_float_linear")===!1&&(X.magFilter===In||X.magFilter===fa||X.magFilter===gg||X.magFilter===$i||X.minFilter===In||X.minFilter===fa||X.minFilter===gg||X.minFilter===$i)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),i.texParameteri(T,i.TEXTURE_WRAP_S,he[X.wrapS]),i.texParameteri(T,i.TEXTURE_WRAP_T,he[X.wrapT]),(T===i.TEXTURE_3D||T===i.TEXTURE_2D_ARRAY)&&i.texParameteri(T,i.TEXTURE_WRAP_R,he[X.wrapR]),i.texParameteri(T,i.TEXTURE_MAG_FILTER,N[X.magFilter]),i.texParameteri(T,i.TEXTURE_MIN_FILTER,N[X.minFilter]),X.compareFunction&&(i.texParameteri(T,i.TEXTURE_COMPARE_MODE,i.COMPARE_REF_TO_TEXTURE),i.texParameteri(T,i.TEXTURE_COMPARE_FUNC,D[X.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if(X.magFilter===Hn||X.minFilter!==gg&&X.minFilter!==$i||X.type===Ks&&e.has("OES_texture_float_linear")===!1)return;if(X.anisotropy>1||n.get(X).__currentAnisotropy){const ne=e.get("EXT_texture_filter_anisotropic");i.texParameterf(T,ne.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(X.anisotropy,s.getMaxAnisotropy())),n.get(X).__currentAnisotropy=X.anisotropy}}}function te(T,X){let ne=!1;T.__webglInit===void 0&&(T.__webglInit=!0,X.addEventListener("dispose",v));const pe=X.source;let Be=d.get(pe);Be===void 0&&(Be={},d.set(pe,Be));const be=Q(X);if(be!==T.__cacheKey){Be[be]===void 0&&(Be[be]={texture:i.createTexture(),usedTimes:0},r.memory.textures++,ne=!0),Be[be].usedTimes++;const je=Be[T.__cacheKey];je!==void 0&&(Be[T.__cacheKey].usedTimes--,je.usedTimes===0&&x(X)),T.__cacheKey=be,T.__webglTexture=Be[be].texture}return ne}function ye(T,X,ne){let pe=i.TEXTURE_2D;(X.isDataArrayTexture||X.isCompressedArrayTexture)&&(pe=i.TEXTURE_2D_ARRAY),X.isData3DTexture&&(pe=i.TEXTURE_3D);const Be=te(T,X),be=X.source;t.bindTexture(pe,T.__webglTexture,i.TEXTURE0+ne);const je=n.get(be);if(be.version!==je.__version||Be===!0){t.activeTexture(i.TEXTURE0+ne);const Ye=Ut.getPrimaries(Ut.workingColorSpace),Ne=X.colorSpace===ar?null:Ut.getPrimaries(X.colorSpace),dt=X.colorSpace===ar||Ye===Ne?i.NONE:i.BROWSER_DEFAULT_WEBGL;i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,X.flipY),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,X.premultiplyAlpha),i.pixelStorei(i.UNPACK_ALIGNMENT,X.unpackAlignment),i.pixelStorei(i.UNPACK_COLORSPACE_CONVERSION_WEBGL,dt);let Xe=b(X.image,!1,s.maxTextureSize);Xe=ke(X,Xe);const Oe=o.convert(X.format,X.colorSpace),Rt=o.convert(X.type);let st=G(X.internalFormat,Oe,Rt,X.colorSpace,X.isVideoTexture);U(pe,X);let Ue;const At=X.mipmaps,P=X.isVideoTexture!==!0,ve=je.__version===void 0||Be===!0,We=be.dataReady,_=y(X,Xe);if(X.isDepthTexture)st=i.DEPTH_COMPONENT16,X.type===Ks?st=i.DEPTH_COMPONENT32F:X.type===Wa?st=i.DEPTH_COMPONENT24:X.type===Rc&&(st=i.DEPTH24_STENCIL8),ve&&(P?t.texStorage2D(i.TEXTURE_2D,1,st,Xe.width,Xe.height):t.texImage2D(i.TEXTURE_2D,0,st,Xe.width,Xe.height,0,Oe,Rt,null));else if(X.isDataTexture)if(At.length>0){P&&ve&&t.texStorage2D(i.TEXTURE_2D,_,st,At[0].width,At[0].height);for(let Ae=0,ue=At.length;Ae>=1,ue>>=1}}else if(At.length>0){if(P&&ve){const Ae=nt(At[0]);t.texStorage2D(i.TEXTURE_2D,_,st,Ae.width,Ae.height)}for(let Ae=0,ue=At.length;Ae0&&_++;const ue=nt(Oe[0]);t.texStorage2D(i.TEXTURE_CUBE_MAP,_,At,ue.width,ue.height)}for(let ue=0;ue<6;ue++)if(Xe){P?We&&t.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+ue,0,0,0,Oe[ue].width,Oe[ue].height,st,Ue,Oe[ue].data):t.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+ue,0,At,Oe[ue].width,Oe[ue].height,0,st,Ue,Oe[ue].data);for(let Fe=0;Fe>be),Oe=Math.max(1,X.height>>be);Be===i.TEXTURE_3D||Be===i.TEXTURE_2D_ARRAY?t.texImage3D(Be,be,Ne,Xe,Oe,X.depth,0,je,Ye,null):t.texImage2D(Be,be,Ne,Xe,Oe,0,je,Ye,null)}t.bindFramebuffer(i.FRAMEBUFFER,T),He(X)?g.framebufferTexture2DMultisampleEXT(i.FRAMEBUFFER,pe,Be,n.get(ne).__webglTexture,0,me(X)):(Be===i.TEXTURE_2D||Be>=i.TEXTURE_CUBE_MAP_POSITIVE_X&&Be<=i.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&i.framebufferTexture2D(i.FRAMEBUFFER,pe,Be,n.get(ne).__webglTexture,be),t.bindFramebuffer(i.FRAMEBUFFER,null)}function fe(T,X,ne){if(i.bindRenderbuffer(i.RENDERBUFFER,T),X.depthBuffer&&!X.stencilBuffer){let pe=i.DEPTH_COMPONENT24;if(ne||He(X)){const Be=X.depthTexture;Be&&Be.isDepthTexture&&(Be.type===Ks?pe=i.DEPTH_COMPONENT32F:Be.type===Wa&&(pe=i.DEPTH_COMPONENT24));const be=me(X);He(X)?g.renderbufferStorageMultisampleEXT(i.RENDERBUFFER,be,pe,X.width,X.height):i.renderbufferStorageMultisample(i.RENDERBUFFER,be,pe,X.width,X.height)}else i.renderbufferStorage(i.RENDERBUFFER,pe,X.width,X.height);i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_ATTACHMENT,i.RENDERBUFFER,T)}else if(X.depthBuffer&&X.stencilBuffer){const pe=me(X);ne&&He(X)===!1?i.renderbufferStorageMultisample(i.RENDERBUFFER,pe,i.DEPTH24_STENCIL8,X.width,X.height):He(X)?g.renderbufferStorageMultisampleEXT(i.RENDERBUFFER,pe,i.DEPTH24_STENCIL8,X.width,X.height):i.renderbufferStorage(i.RENDERBUFFER,i.DEPTH_STENCIL,X.width,X.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_STENCIL_ATTACHMENT,i.RENDERBUFFER,T)}else{const pe=X.textures;for(let Be=0;Be1;if(je||(pe.__webglTexture===void 0&&(pe.__webglTexture=i.createTexture()),pe.__version=X.version,r.memory.textures++),be){ne.__webglFramebuffer=[];for(let Ye=0;Ye<6;Ye++)if(X.mipmaps&&X.mipmaps.length>0){ne.__webglFramebuffer[Ye]=[];for(let Ne=0;Ne0){ne.__webglFramebuffer=[];for(let Ye=0;Ye0&&He(T)===!1){ne.__webglMultisampledFramebuffer=i.createFramebuffer(),ne.__webglColorRenderbuffer=[],t.bindFramebuffer(i.FRAMEBUFFER,ne.__webglMultisampledFramebuffer);for(let Ye=0;Ye0)for(let Ne=0;Ne0)for(let Ne=0;Ne0){if(He(T)===!1){const X=T.textures,ne=T.width,pe=T.height;let Be=i.COLOR_BUFFER_BIT;const be=T.stencilBuffer?i.DEPTH_STENCIL_ATTACHMENT:i.DEPTH_ATTACHMENT,je=n.get(T),Ye=X.length>1;if(Ye)for(let Ne=0;Ne0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&X.__useRenderToTexture!==!1}function Ze(T){const X=r.render.frame;I.get(T)!==X&&(I.set(T,X),T.update())}function ke(T,X){const ne=T.colorSpace,pe=T.format,Be=T.type;return T.isCompressedTexture===!0||T.isVideoTexture===!0||ne!==qn&&ne!==ar&&(Ut.getTransfer(ne)===qt?(pe!==es||Be!==zo)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",ne)),X}function nt(T){return typeof HTMLImageElement<"u"&&T instanceof HTMLImageElement?(l.width=T.naturalWidth||T.width,l.height=T.naturalHeight||T.height):typeof VideoFrame<"u"&&T instanceof VideoFrame?(l.width=T.displayWidth,l.height=T.displayHeight):(l.width=T.width,l.height=T.height),l}this.allocateTextureUnit=Y,this.resetTextureUnits=w,this.setTexture2D=E,this.setTexture2DArray=se,this.setTexture3D=ge,this.setTextureCube=de,this.rebindTextures=It,this.setupRenderTarget=ft,this.updateRenderTargetMipmap=q,this.updateMultisampleRenderTarget=Ge,this.setupDepthRenderbuffer=we,this.setupFrameBufferTexture=ee,this.useMultisampledRTT=He}function VV(i,e){function t(n,s=ar){let o;const r=Ut.getTransfer(s);if(n===zo)return i.UNSIGNED_BYTE;if(n===Cy)return i.UNSIGNED_SHORT_4_4_4_4;if(n===uy)return i.UNSIGNED_SHORT_5_5_5_1;if(n===Px)return i.UNSIGNED_INT_5_9_9_9_REV;if(n===Dx)return i.BYTE;if(n===Jx)return i.SHORT;if(n===cy)return i.UNSIGNED_SHORT;if(n===Iy)return i.INT;if(n===Wa)return i.UNSIGNED_INT;if(n===Ks)return i.FLOAT;if(n===YC)return i.HALF_FLOAT;if(n===Ox)return i.ALPHA;if(n===Qx)return i.RGB;if(n===es)return i.RGBA;if(n===jx)return i.LUMINANCE;if(n===qx)return i.LUMINANCE_ALPHA;if(n===ba)return i.DEPTH_COMPONENT;if(n===pc)return i.DEPTH_STENCIL;if(n===dy)return i.RED;if(n===Ay)return i.RED_INTEGER;if(n===$x)return i.RG;if(n===hy)return i.RG_INTEGER;if(n===py)return i.RGBA_INTEGER;if(n===XA||n===HA||n===FA||n===NA)if(r===qt)if(o=e.get("WEBGL_compressed_texture_s3tc_srgb"),o!==null){if(n===XA)return o.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===HA)return o.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===FA)return o.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===NA)return o.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(o=e.get("WEBGL_compressed_texture_s3tc"),o!==null){if(n===XA)return o.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===HA)return o.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===FA)return o.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===NA)return o.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(n===G0||n===y0||n===B0||n===v0)if(o=e.get("WEBGL_compressed_texture_pvrtc"),o!==null){if(n===G0)return o.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===y0)return o.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===B0)return o.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===v0)return o.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(n===Z0||n===w0||n===R0)if(o=e.get("WEBGL_compressed_texture_etc"),o!==null){if(n===Z0||n===w0)return r===qt?o.COMPRESSED_SRGB8_ETC2:o.COMPRESSED_RGB8_ETC2;if(n===R0)return r===qt?o.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:o.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(n===S0||n===W0||n===x0||n===V0||n===M0||n===X0||n===H0||n===F0||n===N0||n===Y0||n===K0||n===L0||n===z0||n===T0)if(o=e.get("WEBGL_compressed_texture_astc"),o!==null){if(n===S0)return r===qt?o.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:o.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===W0)return r===qt?o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:o.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===x0)return r===qt?o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:o.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===V0)return r===qt?o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:o.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===M0)return r===qt?o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:o.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===X0)return r===qt?o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:o.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===H0)return r===qt?o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:o.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===F0)return r===qt?o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:o.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===N0)return r===qt?o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:o.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===Y0)return r===qt?o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:o.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===K0)return r===qt?o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:o.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===L0)return r===qt?o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:o.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===z0)return r===qt?o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:o.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===T0)return r===qt?o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:o.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(n===YA||n===E0||n===k0)if(o=e.get("EXT_texture_compression_bptc"),o!==null){if(n===YA)return r===qt?o.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:o.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(n===E0)return o.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(n===k0)return o.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(n===eV||n===_0||n===U0||n===D0)if(o=e.get("EXT_texture_compression_rgtc"),o!==null){if(n===YA)return o.COMPRESSED_RED_RGTC1_EXT;if(n===_0)return o.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===U0)return o.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===D0)return o.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return n===Rc?i.UNSIGNED_INT_24_8:i[n]!==void 0?i[n]:null}return{convert:t}}class MV extends cn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class Ls extends wt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const l5={type:"move"};class Sf{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Ls,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 Ls,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new H,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new H),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Ls,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new H,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new H),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 n of e.hand.values())this._getHandJoint(t,n)}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,n){let s=null,o=null,r=null;const g=this._targetRay,a=this._grip,l=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(l&&e.hand){r=!0;for(const b of e.hand.values()){const f=t.getJointPose(b,n),h=this._getHandJoint(l,b);f!==null&&(h.matrix.fromArray(f.transform.matrix),h.matrix.decompose(h.position,h.rotation,h.scale),h.matrixWorldNeedsUpdate=!0,h.jointRadius=f.radius),h.visible=f!==null}const I=l.joints["index-finger-tip"],u=l.joints["thumb-tip"],d=I.position.distanceTo(u.position),A=.02,p=.005;l.inputState.pinching&&d>A+p?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!l.inputState.pinching&&d<=A-p&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else a!==null&&e.gripSpace&&(o=t.getPose(e.gripSpace,n),o!==null&&(a.matrix.fromArray(o.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,o.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(o.linearVelocity)):a.hasLinearVelocity=!1,o.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(o.angularVelocity)):a.hasAngularVelocity=!1));g!==null&&(s=t.getPose(e.targetRaySpace,n),s===null&&o!==null&&(s=o),s!==null&&(g.matrix.fromArray(s.transform.matrix),g.matrix.decompose(g.position,g.rotation,g.scale),g.matrixWorldNeedsUpdate=!0,s.linearVelocity?(g.hasLinearVelocity=!0,g.linearVelocity.copy(s.linearVelocity)):g.hasLinearVelocity=!1,s.angularVelocity?(g.hasAngularVelocity=!0,g.angularVelocity.copy(s.angularVelocity)):g.hasAngularVelocity=!1,this.dispatchEvent(l5)))}return g!==null&&(g.visible=s!==null),a!==null&&(a.visible=o!==null),l!==null&&(l.visible=r!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const n=new Ls;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}}const c5=` +void main() { + + gl_Position = vec4( position, 1.0 ); + +}`,I5=` +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_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; + + } else { + + gl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; + + } + +}`;class C5{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,n){if(this.texture===null){const s=new jt,o=e.properties.get(s);o.__webglTexture=t.texture,(t.depthNear!=n.depthNear||t.depthFar!=n.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=s}}render(e,t){if(this.texture!==null){if(this.mesh===null){const n=t.cameras[0].viewport,s=new ms({vertexShader:c5,fragmentShader:I5,uniforms:{depthColor:{value:this.texture},depthWidth:{value:n.z},depthHeight:{value:n.w}}});this.mesh=new tn(new Ya(20,20),s)}e.render(this.mesh,t)}}reset(){this.texture=null,this.mesh=null}}class u5 extends ko{constructor(e,t){super();const n=this;let s=null,o=1,r=null,g="local-floor",a=1,l=null,I=null,u=null,d=null,A=null,p=null;const b=new C5,f=t.getContextAttributes();let h=null,G=null;const y=[],v=[],W=new ce;let R=null;const x=new cn;x.layers.enable(1),x.viewport=new Jt;const M=new cn;M.layers.enable(2),M.viewport=new Jt;const V=[x,M],w=new MV;w.layers.enable(1),w.layers.enable(2);let Y=null,Q=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(ee){let fe=y[ee];return fe===void 0&&(fe=new Sf,y[ee]=fe),fe.getTargetRaySpace()},this.getControllerGrip=function(ee){let fe=y[ee];return fe===void 0&&(fe=new Sf,y[ee]=fe),fe.getGripSpace()},this.getHand=function(ee){let fe=y[ee];return fe===void 0&&(fe=new Sf,y[ee]=fe),fe.getHandSpace()};function E(ee){const fe=v.indexOf(ee.inputSource);if(fe===-1)return;const xe=y[fe];xe!==void 0&&(xe.update(ee.inputSource,ee.frame,l||r),xe.dispatchEvent({type:ee.type,data:ee.inputSource}))}function se(){s.removeEventListener("select",E),s.removeEventListener("selectstart",E),s.removeEventListener("selectend",E),s.removeEventListener("squeeze",E),s.removeEventListener("squeezestart",E),s.removeEventListener("squeezeend",E),s.removeEventListener("end",se),s.removeEventListener("inputsourceschange",ge);for(let ee=0;ee=0&&(v[we]=null,y[we].disconnect(xe))}for(let fe=0;fe=v.length){v.push(xe),we=ft;break}else if(v[ft]===null){v[ft]=xe,we=ft;break}if(we===-1)break}const It=y[we];It&&It.connect(xe)}}const de=new H,he=new H;function N(ee,fe,xe){de.setFromMatrixPosition(fe.matrixWorld),he.setFromMatrixPosition(xe.matrixWorld);const we=de.distanceTo(he),It=fe.projectionMatrix.elements,ft=xe.projectionMatrix.elements,q=It[14]/(It[10]-1),at=It[14]/(It[10]+1),Ce=(It[9]+1)/It[5],Ge=(It[9]-1)/It[5],me=(It[8]-1)/It[0],He=(ft[8]+1)/ft[0],Ze=q*me,ke=q*He,nt=we/(-me+He),T=nt*-me;fe.matrixWorld.decompose(ee.position,ee.quaternion,ee.scale),ee.translateX(T),ee.translateZ(nt),ee.matrixWorld.compose(ee.position,ee.quaternion,ee.scale),ee.matrixWorldInverse.copy(ee.matrixWorld).invert();const X=q+nt,ne=at+nt,pe=Ze-T,Be=ke+(we-T),be=Ce*at/ne*X,je=Ge*at/ne*X;ee.projectionMatrix.makePerspective(pe,Be,be,je,X,ne),ee.projectionMatrixInverse.copy(ee.projectionMatrix).invert()}function D(ee,fe){fe===null?ee.matrixWorld.copy(ee.matrix):ee.matrixWorld.multiplyMatrices(fe.matrixWorld,ee.matrix),ee.matrixWorldInverse.copy(ee.matrixWorld).invert()}this.updateCamera=function(ee){if(s===null)return;b.texture!==null&&(ee.near=b.depthNear,ee.far=b.depthFar),w.near=M.near=x.near=ee.near,w.far=M.far=x.far=ee.far,(Y!==w.near||Q!==w.far)&&(s.updateRenderState({depthNear:w.near,depthFar:w.far}),Y=w.near,Q=w.far,x.near=Y,x.far=Q,M.near=Y,M.far=Q,x.updateProjectionMatrix(),M.updateProjectionMatrix(),ee.updateProjectionMatrix());const fe=ee.parent,xe=w.cameras;D(w,fe);for(let we=0;we0&&(f.alphaTest.value=h.alphaTest);const G=e.get(h),y=G.envMap,v=G.envMapRotation;if(y&&(f.envMap.value=y,kg.copy(v),kg.x*=-1,kg.y*=-1,kg.z*=-1,y.isCubeTexture&&y.isRenderTargetTexture===!1&&(kg.y*=-1,kg.z*=-1),f.envMapRotation.value.setFromMatrix4(d5.makeRotationFromEuler(kg)),f.flipEnvMap.value=y.isCubeTexture&&y.isRenderTargetTexture===!1?-1:1,f.reflectivity.value=h.reflectivity,f.ior.value=h.ior,f.refractionRatio.value=h.refractionRatio),h.lightMap){f.lightMap.value=h.lightMap;const W=i._useLegacyLights===!0?Math.PI:1;f.lightMapIntensity.value=h.lightMapIntensity*W,t(h.lightMap,f.lightMapTransform)}h.aoMap&&(f.aoMap.value=h.aoMap,f.aoMapIntensity.value=h.aoMapIntensity,t(h.aoMap,f.aoMapTransform))}function r(f,h){f.diffuse.value.copy(h.color),f.opacity.value=h.opacity,h.map&&(f.map.value=h.map,t(h.map,f.mapTransform))}function g(f,h){f.dashSize.value=h.dashSize,f.totalSize.value=h.dashSize+h.gapSize,f.scale.value=h.scale}function a(f,h,G,y){f.diffuse.value.copy(h.color),f.opacity.value=h.opacity,f.size.value=h.size*G,f.scale.value=y*.5,h.map&&(f.map.value=h.map,t(h.map,f.uvTransform)),h.alphaMap&&(f.alphaMap.value=h.alphaMap,t(h.alphaMap,f.alphaMapTransform)),h.alphaTest>0&&(f.alphaTest.value=h.alphaTest)}function l(f,h){f.diffuse.value.copy(h.color),f.opacity.value=h.opacity,f.rotation.value=h.rotation,h.map&&(f.map.value=h.map,t(h.map,f.mapTransform)),h.alphaMap&&(f.alphaMap.value=h.alphaMap,t(h.alphaMap,f.alphaMapTransform)),h.alphaTest>0&&(f.alphaTest.value=h.alphaTest)}function I(f,h){f.specular.value.copy(h.specular),f.shininess.value=Math.max(h.shininess,1e-4)}function u(f,h){h.gradientMap&&(f.gradientMap.value=h.gradientMap)}function d(f,h){f.metalness.value=h.metalness,h.metalnessMap&&(f.metalnessMap.value=h.metalnessMap,t(h.metalnessMap,f.metalnessMapTransform)),f.roughness.value=h.roughness,h.roughnessMap&&(f.roughnessMap.value=h.roughnessMap,t(h.roughnessMap,f.roughnessMapTransform)),h.envMap&&(f.envMapIntensity.value=h.envMapIntensity)}function A(f,h,G){f.ior.value=h.ior,h.sheen>0&&(f.sheenColor.value.copy(h.sheenColor).multiplyScalar(h.sheen),f.sheenRoughness.value=h.sheenRoughness,h.sheenColorMap&&(f.sheenColorMap.value=h.sheenColorMap,t(h.sheenColorMap,f.sheenColorMapTransform)),h.sheenRoughnessMap&&(f.sheenRoughnessMap.value=h.sheenRoughnessMap,t(h.sheenRoughnessMap,f.sheenRoughnessMapTransform))),h.clearcoat>0&&(f.clearcoat.value=h.clearcoat,f.clearcoatRoughness.value=h.clearcoatRoughness,h.clearcoatMap&&(f.clearcoatMap.value=h.clearcoatMap,t(h.clearcoatMap,f.clearcoatMapTransform)),h.clearcoatRoughnessMap&&(f.clearcoatRoughnessMap.value=h.clearcoatRoughnessMap,t(h.clearcoatRoughnessMap,f.clearcoatRoughnessMapTransform)),h.clearcoatNormalMap&&(f.clearcoatNormalMap.value=h.clearcoatNormalMap,t(h.clearcoatNormalMap,f.clearcoatNormalMapTransform),f.clearcoatNormalScale.value.copy(h.clearcoatNormalScale),h.side===Yi&&f.clearcoatNormalScale.value.negate())),h.dispersion>0&&(f.dispersion.value=h.dispersion),h.iridescence>0&&(f.iridescence.value=h.iridescence,f.iridescenceIOR.value=h.iridescenceIOR,f.iridescenceThicknessMinimum.value=h.iridescenceThicknessRange[0],f.iridescenceThicknessMaximum.value=h.iridescenceThicknessRange[1],h.iridescenceMap&&(f.iridescenceMap.value=h.iridescenceMap,t(h.iridescenceMap,f.iridescenceMapTransform)),h.iridescenceThicknessMap&&(f.iridescenceThicknessMap.value=h.iridescenceThicknessMap,t(h.iridescenceThicknessMap,f.iridescenceThicknessMapTransform))),h.transmission>0&&(f.transmission.value=h.transmission,f.transmissionSamplerMap.value=G.texture,f.transmissionSamplerSize.value.set(G.width,G.height),h.transmissionMap&&(f.transmissionMap.value=h.transmissionMap,t(h.transmissionMap,f.transmissionMapTransform)),f.thickness.value=h.thickness,h.thicknessMap&&(f.thicknessMap.value=h.thicknessMap,t(h.thicknessMap,f.thicknessMapTransform)),f.attenuationDistance.value=h.attenuationDistance,f.attenuationColor.value.copy(h.attenuationColor)),h.anisotropy>0&&(f.anisotropyVector.value.set(h.anisotropy*Math.cos(h.anisotropyRotation),h.anisotropy*Math.sin(h.anisotropyRotation)),h.anisotropyMap&&(f.anisotropyMap.value=h.anisotropyMap,t(h.anisotropyMap,f.anisotropyMapTransform))),f.specularIntensity.value=h.specularIntensity,f.specularColor.value.copy(h.specularColor),h.specularColorMap&&(f.specularColorMap.value=h.specularColorMap,t(h.specularColorMap,f.specularColorMapTransform)),h.specularIntensityMap&&(f.specularIntensityMap.value=h.specularIntensityMap,t(h.specularIntensityMap,f.specularIntensityMapTransform))}function p(f,h){h.matcap&&(f.matcap.value=h.matcap)}function b(f,h){const G=e.get(h).light;f.referencePosition.value.setFromMatrixPosition(G.matrixWorld),f.nearDistance.value=G.shadow.camera.near,f.farDistance.value=G.shadow.camera.far}return{refreshFogUniforms:n,refreshMaterialUniforms:s}}function h5(i,e,t,n){let s={},o={},r=[];const g=i.getParameter(i.MAX_UNIFORM_BUFFER_BINDINGS);function a(G,y){const v=y.program;n.uniformBlockBinding(G,v)}function l(G,y){let v=s[G.id];v===void 0&&(p(G),v=I(G),s[G.id]=v,G.addEventListener("dispose",f));const W=y.program;n.updateUBOMapping(G,W);const R=e.render.frame;o[G.id]!==R&&(d(G),o[G.id]=R)}function I(G){const y=u();G.__bindingPointIndex=y;const v=i.createBuffer(),W=G.__size,R=G.usage;return i.bindBuffer(i.UNIFORM_BUFFER,v),i.bufferData(i.UNIFORM_BUFFER,W,R),i.bindBuffer(i.UNIFORM_BUFFER,null),i.bindBufferBase(i.UNIFORM_BUFFER,y,v),v}function u(){for(let G=0;G0&&(v+=W-R),G.__size=v,G.__cache={},this}function b(G){const y={boundary:0,storage:0};return typeof G=="number"||typeof G=="boolean"?(y.boundary=4,y.storage=4):G.isVector2?(y.boundary=8,y.storage=8):G.isVector3||G.isColor?(y.boundary=16,y.storage=12):G.isVector4?(y.boundary=16,y.storage=16):G.isMatrix3?(y.boundary=48,y.storage=48):G.isMatrix4?(y.boundary=64,y.storage=64):G.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",G),y}function f(G){const y=G.target;y.removeEventListener("dispose",f);const v=r.indexOf(y.__bindingPointIndex);r.splice(v,1),i.deleteBuffer(s[y.id]),delete s[y.id],delete o[y.id]}function h(){for(const G in s)i.deleteBuffer(s[G]);r=[],s={},o={}}return{bind:a,update:l,dispose:h}}class XV{constructor(e={}){const{canvas:t=hV(),context:n=null,depth:s=!0,stencil:o=!1,alpha:r=!1,antialias:g=!1,premultipliedAlpha:a=!0,preserveDrawingBuffer:l=!1,powerPreference:I="default",failIfMajorPerformanceCaveat:u=!1}=e;this.isWebGLRenderer=!0;let d;if(n!==null){if(typeof WebGLRenderingContext<"u"&&n instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");d=n.getContextAttributes().alpha}else d=r;const A=new Uint32Array(4),p=new Int32Array(4);let b=null,f=null;const h=[],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=ni,this._useLegacyLights=!1,this.toneMapping=Ko,this.toneMappingExposure=1;const y=this;let v=!1,W=0,R=0,x=null,M=-1,V=null;const w=new Jt,Y=new Jt;let Q=null;const E=new Me(0);let se=0,ge=t.width,de=t.height,he=1,N=null,D=null;const U=new Jt(0,0,ge,de),te=new Jt(0,0,ge,de);let ye=!1;const Re=new EC;let ee=!1,fe=!1;const xe=new Ee,we=new H,It={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function ft(){return x===null?he:1}let q=n;function at(F,$){return t.getContext(F,$)}try{const F={alpha:!0,depth:s,stencil:o,antialias:g,premultipliedAlpha:a,preserveDrawingBuffer:l,powerPreference:I,failIfMajorPerformanceCaveat:u};if("setAttribute"in t&&t.setAttribute("data-engine",`three.js r${Na}`),t.addEventListener("webglcontextlost",_,!1),t.addEventListener("webglcontextrestored",Ae,!1),t.addEventListener("webglcontextcreationerror",ue,!1),q===null){const $="webgl2";if(q=at($,F),q===null)throw at($)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(F){throw console.error("THREE.WebGLRenderer: "+F.message),F}let Ce,Ge,me,He,Ze,ke,nt,T,X,ne,pe,Be,be,je,Ye,Ne,dt,Xe,Oe,Rt,st,Ue,At,P;function ve(){Ce=new WL(q),Ce.init(),Ue=new VV(q,Ce),Ge=new BL(q,Ce,e,Ue),me=new g5(q),He=new ML(q),Ze=new O3,ke=new a5(q,Ce,me,Ze,Ge,Ue,He),nt=new ZL(y),T=new SL(y),X=new LY(q),At=new GL(q,X),ne=new xL(q,X,He,At),pe=new HL(q,ne,X,He),Oe=new XL(q,Ge,ke),Ne=new vL(Ze),Be=new P3(y,nt,T,Ce,Ge,At,Ne),be=new A5(y,Ze),je=new j3,Ye=new i5(Ce),Xe=new bL(y,nt,T,me,pe,d,a),dt=new r5(y,pe,Ge),P=new h5(q,He,Ge,me),Rt=new yL(q,Ce,He),st=new VL(q,Ce,He),He.programs=Be.programs,y.capabilities=Ge,y.extensions=Ce,y.properties=Ze,y.renderLists=je,y.shadowMap=dt,y.state=me,y.info=He}ve();const We=new u5(y,q);this.xr=We,this.getContext=function(){return q},this.getContextAttributes=function(){return q.getContextAttributes()},this.forceContextLoss=function(){const F=Ce.get("WEBGL_lose_context");F&&F.loseContext()},this.forceContextRestore=function(){const F=Ce.get("WEBGL_lose_context");F&&F.restoreContext()},this.getPixelRatio=function(){return he},this.setPixelRatio=function(F){F!==void 0&&(he=F,this.setSize(ge,de,!1))},this.getSize=function(F){return F.set(ge,de)},this.setSize=function(F,$,ae=!0){if(We.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}ge=F,de=$,t.width=Math.floor(F*he),t.height=Math.floor($*he),ae===!0&&(t.style.width=F+"px",t.style.height=$+"px"),this.setViewport(0,0,F,$)},this.getDrawingBufferSize=function(F){return F.set(ge*he,de*he).floor()},this.setDrawingBufferSize=function(F,$,ae){ge=F,de=$,he=ae,t.width=Math.floor(F*ae),t.height=Math.floor($*ae),this.setViewport(0,0,F,$)},this.getCurrentViewport=function(F){return F.copy(w)},this.getViewport=function(F){return F.copy(U)},this.setViewport=function(F,$,ae,oe){F.isVector4?U.set(F.x,F.y,F.z,F.w):U.set(F,$,ae,oe),me.viewport(w.copy(U).multiplyScalar(he).round())},this.getScissor=function(F){return F.copy(te)},this.setScissor=function(F,$,ae,oe){F.isVector4?te.set(F.x,F.y,F.z,F.w):te.set(F,$,ae,oe),me.scissor(Y.copy(te).multiplyScalar(he).round())},this.getScissorTest=function(){return ye},this.setScissorTest=function(F){me.setScissorTest(ye=F)},this.setOpaqueSort=function(F){N=F},this.setTransparentSort=function(F){D=F},this.getClearColor=function(F){return F.copy(Xe.getClearColor())},this.setClearColor=function(){Xe.setClearColor.apply(Xe,arguments)},this.getClearAlpha=function(){return Xe.getClearAlpha()},this.setClearAlpha=function(){Xe.setClearAlpha.apply(Xe,arguments)},this.clear=function(F=!0,$=!0,ae=!0){let oe=0;if(F){let re=!1;if(x!==null){const Le=x.texture.format;re=Le===py||Le===hy||Le===Ay}if(re){const Le=x.texture.type,Qe=Le===zo||Le===Wa||Le===cy||Le===Rc||Le===Cy||Le===uy,qe=Xe.getClearColor(),lt=Xe.getClearAlpha(),ht=qe.r,pt=qe.g,mt=qe.b;Qe?(A[0]=ht,A[1]=pt,A[2]=mt,A[3]=lt,q.clearBufferuiv(q.COLOR,0,A)):(p[0]=ht,p[1]=pt,p[2]=mt,p[3]=lt,q.clearBufferiv(q.COLOR,0,p))}else oe|=q.COLOR_BUFFER_BIT}$&&(oe|=q.DEPTH_BUFFER_BIT),ae&&(oe|=q.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),q.clear(oe)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener("webglcontextlost",_,!1),t.removeEventListener("webglcontextrestored",Ae,!1),t.removeEventListener("webglcontextcreationerror",ue,!1),je.dispose(),Ye.dispose(),Ze.dispose(),nt.dispose(),T.dispose(),pe.dispose(),At.dispose(),P.dispose(),Be.dispose(),We.dispose(),We.removeEventListener("sessionstart",Vt),We.removeEventListener("sessionend",Kn),Cn.stop()};function _(F){F.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),v=!0}function Ae(){console.log("THREE.WebGLRenderer: Context Restored."),v=!1;const F=He.autoReset,$=dt.enabled,ae=dt.autoUpdate,oe=dt.needsUpdate,re=dt.type;ve(),He.autoReset=F,dt.enabled=$,dt.autoUpdate=ae,dt.needsUpdate=oe,dt.type=re}function ue(F){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",F.statusMessage)}function Fe(F){const $=F.target;$.removeEventListener("dispose",Fe),_e($)}function _e(F){Mt(F),Ze.remove(F)}function Mt(F){const $=Ze.get(F).programs;$!==void 0&&($.forEach(function(ae){Be.releaseProgram(ae)}),F.isShaderMaterial&&Be.releaseShaderCache(F))}this.renderBufferDirect=function(F,$,ae,oe,re,Le){$===null&&($=It);const Qe=re.isMesh&&re.matrixWorld.determinant()<0,qe=vp(F,$,ae,oe,re);me.setMaterial(oe,Qe);let lt=ae.index,ht=1;if(oe.wireframe===!0){if(lt=ne.getWireframeAttribute(ae),lt===void 0)return;ht=2}const pt=ae.drawRange,mt=ae.attributes.position;let gn=pt.start*ht,Sn=(pt.start+pt.count)*ht;Le!==null&&(gn=Math.max(gn,Le.start*ht),Sn=Math.min(Sn,(Le.start+Le.count)*ht)),lt!==null?(gn=Math.max(gn,0),Sn=Math.min(Sn,lt.count)):mt!=null&&(gn=Math.max(gn,0),Sn=Math.min(Sn,mt.count));const vi=Sn-gn;if(vi<0||vi===1/0)return;At.setup(re,oe,qe,ae,lt);let ss,Xt=Rt;if(lt!==null&&(ss=X.get(lt),Xt=st,Xt.setIndex(ss)),re.isMesh)oe.wireframe===!0?(me.setLineWidth(oe.wireframeLinewidth*ft()),Xt.setMode(q.LINES)):Xt.setMode(q.TRIANGLES);else if(re.isLine){let rt=oe.linewidth;rt===void 0&&(rt=1),me.setLineWidth(rt*ft()),re.isLineSegments?Xt.setMode(q.LINES):re.isLineLoop?Xt.setMode(q.LINE_LOOP):Xt.setMode(q.LINE_STRIP)}else re.isPoints?Xt.setMode(q.POINTS):re.isSprite&&Xt.setMode(q.TRIANGLES);if(re.isBatchedMesh)re._multiDrawInstances!==null?Xt.renderMultiDrawInstances(re._multiDrawStarts,re._multiDrawCounts,re._multiDrawCount,re._multiDrawInstances):Xt.renderMultiDraw(re._multiDrawStarts,re._multiDrawCounts,re._multiDrawCount);else if(re.isInstancedMesh)Xt.renderInstances(gn,vi,re.count);else if(ae.isInstancedBufferGeometry){const rt=ae._maxInstanceCount!==void 0?ae._maxInstanceCount:1/0,kt=Math.min(ae.instanceCount,rt);Xt.renderInstances(gn,vi,kt)}else Xt.render(gn,vi)};function xt(F,$,ae){F.transparent===!0&&F.side===Ns&&F.forceSinglePass===!1?(F.side=Yi,F.needsUpdate=!0,Da(F,$,ae),F.side=uo,F.needsUpdate=!0,Da(F,$,ae),F.side=Ns):Da(F,$,ae)}this.compile=function(F,$,ae=null){ae===null&&(ae=F),f=Ye.get(ae),f.init($),G.push(f),ae.traverseVisible(function(re){re.isLight&&re.layers.test($.layers)&&(f.pushLight(re),re.castShadow&&f.pushShadow(re))}),F!==ae&&F.traverseVisible(function(re){re.isLight&&re.layers.test($.layers)&&(f.pushLight(re),re.castShadow&&f.pushShadow(re))}),f.setupLights(y._useLegacyLights);const oe=new Set;return F.traverse(function(re){const Le=re.material;if(Le)if(Array.isArray(Le))for(let Qe=0;Qe{function Le(){if(oe.forEach(function(Qe){Ze.get(Qe).currentProgram.isReady()&&oe.delete(Qe)}),oe.size===0){re(F);return}setTimeout(Le,10)}Ce.get("KHR_parallel_shader_compile")!==null?Le():setTimeout(Le,10)})};let Yt=null;function rn(F){Yt&&Yt(F)}function Vt(){Cn.stop()}function Kn(){Cn.start()}const Cn=new ZV;Cn.setAnimationLoop(rn),typeof self<"u"&&Cn.setContext(self),this.setAnimationLoop=function(F){Yt=F,We.setAnimationLoop(F),F===null?Cn.stop():Cn.start()},We.addEventListener("sessionstart",Vt),We.addEventListener("sessionend",Kn),this.render=function(F,$){if($!==void 0&&$.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(v===!0)return;F.matrixWorldAutoUpdate===!0&&F.updateMatrixWorld(),$.parent===null&&$.matrixWorldAutoUpdate===!0&&$.updateMatrixWorld(),We.enabled===!0&&We.isPresenting===!0&&(We.cameraAutoUpdate===!0&&We.updateCamera($),$=We.getCamera()),F.isScene===!0&&F.onBeforeRender(y,F,$,x),f=Ye.get(F,G.length),f.init($),G.push(f),xe.multiplyMatrices($.projectionMatrix,$.matrixWorldInverse),Re.setFromProjectionMatrix(xe),fe=this.localClippingEnabled,ee=Ne.init(this.clippingPlanes,fe),b=je.get(F,h.length),b.init(),h.push(b),tu(F,$,0,y.sortObjects),b.finish(),y.sortObjects===!0&&b.sort(N,D);const ae=We.enabled===!1||We.isPresenting===!1||We.hasDepthSensing()===!1;ae&&Xe.addToRenderList(b,F),this.info.render.frame++,ee===!0&&Ne.beginShadows();const oe=f.state.shadowsArray;dt.render(oe,F,$),ee===!0&&Ne.endShadows(),this.info.autoReset===!0&&this.info.reset();const re=b.opaque,Le=b.transmissive;if(f.setupLights(y._useLegacyLights),$.isArrayCamera){const Qe=$.cameras;if(Le.length>0)for(let qe=0,lt=Qe.length;qe0&&iu(re,Le,F,$),ae&&Xe.render(F),nu(b,F,$);x!==null&&(ke.updateMultisampleRenderTarget(x),ke.updateRenderTargetMipmap(x)),F.isScene===!0&&F.onAfterRender(y,F,$),At.resetDefaultState(),M=-1,V=null,G.pop(),G.length>0?(f=G[G.length-1],ee===!0&&Ne.setGlobalState(y.clippingPlanes,f.state.camera)):f=null,h.pop(),h.length>0?b=h[h.length-1]:b=null};function tu(F,$,ae,oe){if(F.visible===!1)return;if(F.layers.test($.layers)){if(F.isGroup)ae=F.renderOrder;else if(F.isLOD)F.autoUpdate===!0&&F.update($);else if(F.isLight)f.pushLight(F),F.castShadow&&f.pushShadow(F);else if(F.isSprite){if(!F.frustumCulled||Re.intersectsSprite(F)){oe&&we.setFromMatrixPosition(F.matrixWorld).applyMatrix4(xe);const Qe=pe.update(F),qe=F.material;qe.visible&&b.push(F,Qe,qe,ae,we.z,null)}}else if((F.isMesh||F.isLine||F.isPoints)&&(!F.frustumCulled||Re.intersectsObject(F))){const Qe=pe.update(F),qe=F.material;if(oe&&(F.boundingSphere!==void 0?(F.boundingSphere===null&&F.computeBoundingSphere(),we.copy(F.boundingSphere.center)):(Qe.boundingSphere===null&&Qe.computeBoundingSphere(),we.copy(Qe.boundingSphere.center)),we.applyMatrix4(F.matrixWorld).applyMatrix4(xe)),Array.isArray(qe)){const lt=Qe.groups;for(let ht=0,pt=lt.length;ht0&&Sg(re,$,ae),Le.length>0&&Sg(Le,$,ae),Qe.length>0&&Sg(Qe,$,ae),me.buffers.depth.setTest(!0),me.buffers.depth.setMask(!0),me.buffers.color.setMask(!0),me.setPolygonOffset(!1)}function iu(F,$,ae,oe){if((ae.isScene===!0?ae.overrideMaterial:null)!==null)return;f.state.transmissionRenderTarget[oe.id]===void 0&&(f.state.transmissionRenderTarget[oe.id]=new ho(1,1,{generateMipmaps:!0,type:Ce.has("EXT_color_buffer_half_float")||Ce.has("EXT_color_buffer_float")?YC:zo,minFilter:$i,samples:4,stencilBuffer:o,resolveDepthBuffer:!1,resolveStencilBuffer:!1}));const Le=f.state.transmissionRenderTarget[oe.id],Qe=oe.viewport||w;Le.setSize(Qe.z,Qe.w);const qe=y.getRenderTarget();y.setRenderTarget(Le),y.getClearColor(E),se=y.getClearAlpha(),se<1&&y.setClearColor(16777215,.5),y.clear();const lt=y.toneMapping;y.toneMapping=Ko;const ht=oe.viewport;if(oe.viewport!==void 0&&(oe.viewport=void 0),f.setupLightsView(oe),ee===!0&&Ne.setGlobalState(y.clippingPlanes,oe),Sg(F,ae,oe),ke.updateMultisampleRenderTarget(Le),ke.updateRenderTargetMipmap(Le),Ce.has("WEBGL_multisampled_render_to_texture")===!1){let pt=!1;for(let mt=0,gn=$.length;mt0),mt=!!ae.morphAttributes.position,gn=!!ae.morphAttributes.normal,Sn=!!ae.morphAttributes.color;let vi=Ko;oe.toneMapped&&(x===null||x.isXRRenderTarget===!0)&&(vi=y.toneMapping);const ss=ae.morphAttributes.position||ae.morphAttributes.normal||ae.morphAttributes.color,Xt=ss!==void 0?ss.length:0,rt=Ze.get(oe),kt=f.state.lights;if(ee===!0&&(fe===!0||F!==V)){const Zi=F===V&&oe.id===M;Ne.setState(oe,F,Zi)}let gt=!1;oe.version===rt.__version?(rt.needsLights&&rt.lightsStateVersion!==kt.state.version||rt.outputColorSpace!==qe||re.isBatchedMesh&&rt.batching===!1||!re.isBatchedMesh&&rt.batching===!0||re.isInstancedMesh&&rt.instancing===!1||!re.isInstancedMesh&&rt.instancing===!0||re.isSkinnedMesh&&rt.skinning===!1||!re.isSkinnedMesh&&rt.skinning===!0||re.isInstancedMesh&&rt.instancingColor===!0&&re.instanceColor===null||re.isInstancedMesh&&rt.instancingColor===!1&&re.instanceColor!==null||re.isInstancedMesh&&rt.instancingMorph===!0&&re.morphTexture===null||re.isInstancedMesh&&rt.instancingMorph===!1&&re.morphTexture!==null||rt.envMap!==lt||oe.fog===!0&&rt.fog!==Le||rt.numClippingPlanes!==void 0&&(rt.numClippingPlanes!==Ne.numPlanes||rt.numIntersection!==Ne.numIntersection)||rt.vertexAlphas!==ht||rt.vertexTangents!==pt||rt.morphTargets!==mt||rt.morphNormals!==gn||rt.morphColors!==Sn||rt.toneMapping!==vi||rt.morphTargetsCount!==Xt)&&(gt=!0):(gt=!0,rt.__version=oe.version);let ci=rt.currentProgram;gt===!0&&(ci=Da(oe,$,re));let Ln=!1,Wn=!1,Js=!1;const un=ci.getUniforms(),dn=rt.uniforms;if(me.useProgram(ci.program)&&(Ln=!0,Wn=!0,Js=!0),oe.id!==M&&(M=oe.id,Wn=!0),Ln||V!==F){un.setValue(q,"projectionMatrix",F.projectionMatrix),un.setValue(q,"viewMatrix",F.matrixWorldInverse);const Zi=un.map.cameraPosition;Zi!==void 0&&Zi.setValue(q,we.setFromMatrixPosition(F.matrixWorld)),Ge.logarithmicDepthBuffer&&un.setValue(q,"logDepthBufFC",2/(Math.log(F.far+1)/Math.LN2)),(oe.isMeshPhongMaterial||oe.isMeshToonMaterial||oe.isMeshLambertMaterial||oe.isMeshBasicMaterial||oe.isMeshStandardMaterial||oe.isShaderMaterial)&&un.setValue(q,"isOrthographic",F.isOrthographicCamera===!0),V!==F&&(V=F,Wn=!0,Js=!0)}if(re.isSkinnedMesh){un.setOptional(q,re,"bindMatrix"),un.setOptional(q,re,"bindMatrixInverse");const Zi=re.skeleton;Zi&&(Zi.boneTexture===null&&Zi.computeBoneTexture(),un.setValue(q,"boneTexture",Zi.boneTexture,ke))}re.isBatchedMesh&&(un.setOptional(q,re,"batchingTexture"),un.setValue(q,"batchingTexture",re._matricesTexture,ke));const Mr=ae.morphAttributes;if((Mr.position!==void 0||Mr.normal!==void 0||Mr.color!==void 0)&&Oe.update(re,ae,ci),(Wn||rt.receiveShadow!==re.receiveShadow)&&(rt.receiveShadow=re.receiveShadow,un.setValue(q,"receiveShadow",re.receiveShadow)),oe.isMeshGouraudMaterial&&oe.envMap!==null&&(dn.envMap.value=lt,dn.flipEnvMap.value=lt.isCubeTexture&<.isRenderTargetTexture===!1?-1:1),oe.isMeshStandardMaterial&&oe.envMap===null&&$.environment!==null&&(dn.envMapIntensity.value=$.environmentIntensity),Wn&&(un.setValue(q,"toneMappingExposure",y.toneMappingExposure),rt.needsLights&&Zp(dn,Js),Le&&oe.fog===!0&&be.refreshFogUniforms(dn,Le),be.refreshMaterialUniforms(dn,oe,he,de,f.state.transmissionRenderTarget[F.id]),LA.upload(q,Vr(rt),dn,ke)),oe.isShaderMaterial&&oe.uniformsNeedUpdate===!0&&(LA.upload(q,Vr(rt),dn,ke),oe.uniformsNeedUpdate=!1),oe.isSpriteMaterial&&un.setValue(q,"center",re.center),un.setValue(q,"modelViewMatrix",re.modelViewMatrix),un.setValue(q,"normalMatrix",re.normalMatrix),un.setValue(q,"modelMatrix",re.matrixWorld),oe.isShaderMaterial||oe.isRawShaderMaterial){const Zi=oe.uniformsGroups;for(let Ja=0,Pa=Zi.length;Ja0&&ke.useMultisampledRTT(F)===!1?re=Ze.get(F).__webglMultisampledFramebuffer:Array.isArray(pt)?re=pt[ae]:re=pt,w.copy(F.viewport),Y.copy(F.scissor),Q=F.scissorTest}else w.copy(U).multiplyScalar(he).floor(),Y.copy(te).multiplyScalar(he).floor(),Q=ye;if(me.bindFramebuffer(q.FRAMEBUFFER,re)&&oe&&me.drawBuffers(F,re),me.viewport(w),me.scissor(Y),me.setScissorTest(Q),Le){const lt=Ze.get(F.texture);q.framebufferTexture2D(q.FRAMEBUFFER,q.COLOR_ATTACHMENT0,q.TEXTURE_CUBE_MAP_POSITIVE_X+$,lt.__webglTexture,ae)}else if(Qe){const lt=Ze.get(F.texture),ht=$||0;q.framebufferTextureLayer(q.FRAMEBUFFER,q.COLOR_ATTACHMENT0,lt.__webglTexture,ae||0,ht)}M=-1},this.readRenderTargetPixels=function(F,$,ae,oe,re,Le,Qe){if(!(F&&F.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let qe=Ze.get(F).__webglFramebuffer;if(F.isWebGLCubeRenderTarget&&Qe!==void 0&&(qe=qe[Qe]),qe){me.bindFramebuffer(q.FRAMEBUFFER,qe);try{const lt=F.texture,ht=lt.format,pt=lt.type;if(!Ge.textureFormatReadable(ht)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!Ge.textureTypeReadable(pt)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}$>=0&&$<=F.width-oe&&ae>=0&&ae<=F.height-re&&q.readPixels($,ae,oe,re,Ue.convert(ht),Ue.convert(pt),Le)}finally{const lt=x!==null?Ze.get(x).__webglFramebuffer:null;me.bindFramebuffer(q.FRAMEBUFFER,lt)}}},this.copyFramebufferToTexture=function(F,$,ae=0){const oe=Math.pow(2,-ae),re=Math.floor($.image.width*oe),Le=Math.floor($.image.height*oe);ke.setTexture2D($,0),q.copyTexSubImage2D(q.TEXTURE_2D,ae,0,0,F.x,F.y,re,Le),me.unbindTexture()},this.copyTextureToTexture=function(F,$,ae,oe=0){const re=$.image.width,Le=$.image.height,Qe=Ue.convert(ae.format),qe=Ue.convert(ae.type);ke.setTexture2D(ae,0),q.pixelStorei(q.UNPACK_FLIP_Y_WEBGL,ae.flipY),q.pixelStorei(q.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ae.premultiplyAlpha),q.pixelStorei(q.UNPACK_ALIGNMENT,ae.unpackAlignment),$.isDataTexture?q.texSubImage2D(q.TEXTURE_2D,oe,F.x,F.y,re,Le,Qe,qe,$.image.data):$.isCompressedTexture?q.compressedTexSubImage2D(q.TEXTURE_2D,oe,F.x,F.y,$.mipmaps[0].width,$.mipmaps[0].height,Qe,$.mipmaps[0].data):q.texSubImage2D(q.TEXTURE_2D,oe,F.x,F.y,Qe,qe,$.image),oe===0&&ae.generateMipmaps&&q.generateMipmap(q.TEXTURE_2D),me.unbindTexture()},this.copyTextureToTexture3D=function(F,$,ae,oe,re=0){const Le=F.max.x-F.min.x,Qe=F.max.y-F.min.y,qe=F.max.z-F.min.z,lt=Ue.convert(oe.format),ht=Ue.convert(oe.type);let pt;if(oe.isData3DTexture)ke.setTexture3D(oe,0),pt=q.TEXTURE_3D;else if(oe.isDataArrayTexture||oe.isCompressedArrayTexture)ke.setTexture2DArray(oe,0),pt=q.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}q.pixelStorei(q.UNPACK_FLIP_Y_WEBGL,oe.flipY),q.pixelStorei(q.UNPACK_PREMULTIPLY_ALPHA_WEBGL,oe.premultiplyAlpha),q.pixelStorei(q.UNPACK_ALIGNMENT,oe.unpackAlignment);const mt=q.getParameter(q.UNPACK_ROW_LENGTH),gn=q.getParameter(q.UNPACK_IMAGE_HEIGHT),Sn=q.getParameter(q.UNPACK_SKIP_PIXELS),vi=q.getParameter(q.UNPACK_SKIP_ROWS),ss=q.getParameter(q.UNPACK_SKIP_IMAGES),Xt=ae.isCompressedTexture?ae.mipmaps[re]:ae.image;q.pixelStorei(q.UNPACK_ROW_LENGTH,Xt.width),q.pixelStorei(q.UNPACK_IMAGE_HEIGHT,Xt.height),q.pixelStorei(q.UNPACK_SKIP_PIXELS,F.min.x),q.pixelStorei(q.UNPACK_SKIP_ROWS,F.min.y),q.pixelStorei(q.UNPACK_SKIP_IMAGES,F.min.z),ae.isDataTexture||ae.isData3DTexture?q.texSubImage3D(pt,re,$.x,$.y,$.z,Le,Qe,qe,lt,ht,Xt.data):oe.isCompressedArrayTexture?q.compressedTexSubImage3D(pt,re,$.x,$.y,$.z,Le,Qe,qe,lt,Xt.data):q.texSubImage3D(pt,re,$.x,$.y,$.z,Le,Qe,qe,lt,ht,Xt),q.pixelStorei(q.UNPACK_ROW_LENGTH,mt),q.pixelStorei(q.UNPACK_IMAGE_HEIGHT,gn),q.pixelStorei(q.UNPACK_SKIP_PIXELS,Sn),q.pixelStorei(q.UNPACK_SKIP_ROWS,vi),q.pixelStorei(q.UNPACK_SKIP_IMAGES,ss),re===0&&oe.generateMipmaps&&q.generateMipmap(pt),me.unbindTexture()},this.initTexture=function(F){F.isCubeTexture?ke.setTextureCube(F,0):F.isData3DTexture?ke.setTexture3D(F,0):F.isDataArrayTexture||F.isCompressedArrayTexture?ke.setTexture2DArray(F,0):ke.setTexture2D(F,0),me.unbindTexture()},this.resetState=function(){W=0,R=0,x=null,me.reset(),At.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Fo}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===Eh?"display-p3":"srgb",t.unpackColorSpace=Ut.workingColorSpace===LC?"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 Dh{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new Me(e),this.density=t}clone(){return new Dh(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class Jh{constructor(e,t=1,n=1e3){this.isFog=!0,this.name="",this.color=new Me(e),this.near=t,this.far=n}clone(){return new Jh(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class Ah extends wt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new Ki,this.environmentIntensity=1,this.environmentRotation=new Ki,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class Wc{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=GC,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=As()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return pV("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,n){e*=this.stride,n*=t.stride;for(let s=0,o=this.stride;se.far||t.push({distance:a,point:lI.clone(),uv:Cs.getInterpolation(lI,Fd,II,Nd,Y2,Wf,K2,new ce),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 Yd(i,e,t,n,s,o){Rl.subVectors(i,t).addScalar(.5).multiply(n),s!==void 0?(cI.x=o*Rl.x-s*Rl.y,cI.y=s*Rl.x+o*Rl.y):cI.copy(Rl),i.copy(e),i.x+=cI.x,i.y+=cI.y,i.applyMatrix4(HV)}const Kd=new H,L2=new H;class NV extends wt{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 n=0,s=t.length;n0){let n,s;for(n=1,s=t.length;n0){Kd.setFromMatrixPosition(this.matrixWorld);const s=e.ray.origin.distanceTo(Kd);this.getObjectForDistance(s).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Kd.setFromMatrixPosition(e.matrixWorld),L2.setFromMatrixPosition(this.matrixWorld);const n=Kd.distanceTo(L2)/e.zoom;t[0].object.visible=!0;let s,o;for(s=1,o=t.length;s=r)t[s-1].object.visible=!1,t[s].object.visible=!0;else break}for(this._currentLevel=s-1;s=n.length&&n.push({start:-1,count:-1,z:-1});const o=n[this.index];s.push(o),this.index++,o.start=e.start,o.count=e.count,o.z=t}reset(){this.list.length=0,this.index=0}}const Wl="batchId",Pr=new Ee,P2=new Ee,B5=new Ee,O2=new Ee,Mf=new EC,Td=new oi,_g=new Nn,dI=new H,Xf=new y5,fi=new tn,Ed=[];function v5(i,e,t=0){const n=e.itemSize;if(i.isInterleavedBufferAttribute||i.array.constructor!==e.array.constructor){const s=i.count;for(let o=0;o65536?new Uint32Array(o):new Uint16Array(o);t.setIndex(new ct(g,1))}const r=s>65536?new Uint32Array(n):new Uint16Array(n);t.setAttribute(Wl,new ct(r,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(Wl))throw new Error(`BatchedMesh: Geometry cannot use attribute "${Wl}"`);const t=this.geometry;if(!!e.getIndex()!=!!t.getIndex())throw new Error('BatchedMesh: All geometries must consistently have "index".');for(const n in t.attributes){if(n===Wl)continue;if(!e.hasAttribute(n))throw new Error(`BatchedMesh: Added geometry missing "${n}". All geometries must have consistent attributes.`);const s=e.getAttribute(n),o=t.getAttribute(n);if(s.itemSize!==o.itemSize||s.normalized!==o.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 oi);const e=this._geometryCount,t=this.boundingBox,n=this._active;t.makeEmpty();for(let s=0;s=this._maxGeometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");const s={vertexStart:-1,vertexCount:-1,indexStart:-1,indexCount:-1};let o=null;const r=this._reservedRanges,g=this._drawRanges,a=this._bounds;this._geometryCount!==0&&(o=r[r.length-1]),t===-1?s.vertexCount=e.getAttribute("position").count:s.vertexCount=t,o===null?s.vertexStart=0:s.vertexStart=o.vertexStart+o.vertexCount;const l=e.getIndex(),I=l!==null;if(I&&(n===-1?s.indexCount=l.count:s.indexCount=n,o===null?s.indexStart=0:s.indexStart=o.indexStart+o.indexCount),s.indexStart!==-1&&s.indexStart+s.indexCount>this._maxIndexCount||s.vertexStart+s.vertexCount>this._maxVertexCount)throw new Error("BatchedMesh: Reserved space request exceeds the maximum buffer size.");const u=this._visibility,d=this._active,A=this._matricesTexture,p=this._matricesTexture.image.data;u.push(!0),d.push(!0);const b=this._geometryCount;this._geometryCount++,B5.toArray(p,b*16),A.needsUpdate=!0,r.push(s),g.push({start:I?s.indexStart:s.vertexStart,count:-1}),a.push({boxInitialized:!1,box:new oi,sphereInitialized:!1,sphere:new Nn});const f=this.geometry.getAttribute(Wl);for(let h=0;h=this._geometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");this._validateGeometry(t);const n=this.geometry,s=n.getIndex()!==null,o=n.getIndex(),r=t.getIndex(),g=this._reservedRanges[e];if(s&&r.count>g.indexCount||t.attributes.position.count>g.vertexCount)throw new Error("BatchedMesh: Reserved space not large enough for provided geometry.");const a=g.vertexStart,l=g.vertexCount;for(const A in n.attributes){if(A===Wl)continue;const p=t.getAttribute(A),b=n.getAttribute(A);v5(p,b,a);const f=p.itemSize;for(let h=p.count,G=l;h=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getInstanceCountAt(e){return this._multiDrawInstances===null?null:this._multiDrawInstances[e]}setInstanceCountAt(e,t){return this._multiDrawInstances===null&&(this._multiDrawInstances=new Int32Array(this._maxGeometryCount).fill(1)),this._multiDrawInstances[e]=t,e}getBoundingBoxAt(e,t){if(this._active[e]===!1)return null;const s=this._bounds[e],o=s.box,r=this.geometry;if(s.boxInitialized===!1){o.makeEmpty();const g=r.index,a=r.attributes.position,l=this._drawRanges[e];for(let I=l.start,u=l.start+l.count;I=r||n[e]===!1?this:(t.toArray(o,e*16),s.needsUpdate=!0,this)}getMatrixAt(e,t){const n=this._active,s=this._matricesTexture.image.data,o=this._geometryCount;return e>=o||n[e]===!1?null:t.fromArray(s,e*16)}setVisibleAt(e,t){const n=this._visibility,s=this._active,o=this._geometryCount;return e>=o||s[e]===!1||n[e]===t?this:(n[e]=t,this._visibilityChanged=!0,this)}getVisibleAt(e){const t=this._visibility,n=this._active,s=this._geometryCount;return e>=s||n[e]===!1?!1:t[e]}raycast(e,t){const n=this._visibility,s=this._active,o=this._drawRanges,r=this._geometryCount,g=this.matrixWorld,a=this.geometry;fi.material=this.material,fi.geometry.index=a.index,fi.geometry.attributes=a.attributes,fi.geometry.boundingBox===null&&(fi.geometry.boundingBox=new oi),fi.geometry.boundingSphere===null&&(fi.geometry.boundingSphere=new Nn);for(let l=0;l({...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,n,s,o){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const r=s.getIndex(),g=r===null?1:r.array.BYTES_PER_ELEMENT,a=this._active,l=this._visibility,I=this._multiDrawStarts,u=this._multiDrawCounts,d=this._drawRanges,A=this.perObjectFrustumCulled;A&&(O2.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse).multiply(this.matrixWorld),Mf.setFromProjectionMatrix(O2,e.coordinateSystem));let p=0;if(this.sortObjects){P2.copy(this.matrixWorld).invert(),dI.setFromMatrixPosition(n.matrixWorld).applyMatrix4(P2);for(let h=0,G=l.length;h0){const s=t[n[0]];if(s!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let o=0,r=s.length;on)return;Hf.applyMatrix4(i.matrixWorld);const a=e.ray.origin.distanceTo(Hf);if(!(ae.far))return{distance:a,point:j2.clone().applyMatrix4(i.matrixWorld),index:s,face:null,faceIndex:null,object:i}}const q2=new H,$2=new H;class ks extends To{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,n=[];for(let s=0,o=t.count;s0){const s=t[n[0]];if(s!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let o=0,r=s.length;os.far)return;o.push({distance:l,distanceToRay:Math.sqrt(g),point:a,index:e,face:null,object:r})}}class Z5 extends jt{constructor(e,t,n,s,o,r,g,a,l){super(e,t,n,s,o,r,g,a,l),this.isVideoTexture=!0,this.minFilter=r!==void 0?r:In,this.magFilter=o!==void 0?o:In,this.generateMipmaps=!1;const I=this;function u(){I.needsUpdate=!0,e.requestVideoFrameCallback(u)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(u)}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 w5 extends jt{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=Hn,this.minFilter=Hn,this.generateMipmaps=!1,this.needsUpdate=!0}}class jh extends jt{constructor(e,t,n,s,o,r,g,a,l,I,u,d){super(null,r,g,a,l,I,s,o,u,d),this.isCompressedTexture=!0,this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class R5 extends jh{constructor(e,t,n,s,o,r){super(e,t,n,o,r),this.isCompressedArrayTexture=!0,this.image.depth=s,this.wrapR=qi}}class S5 extends jh{constructor(e,t,n){super(void 0,e[0].width,e[0].height,t,n,vr),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class W5 extends jt{constructor(e,t,n,s,o,r,g,a,l){super(e,t,n,s,o,r,g,a,l),this.isCanvasTexture=!0,this.needsUpdate=!0}}class po{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,t){const n=this.getUtoTmapping(e);return this.getPoint(n,t)}getPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return t}getSpacedPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPointAt(n/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 n,s=this.getPoint(0),o=0;t.push(0);for(let r=1;r<=e;r++)n=this.getPoint(r/e),o+=n.distanceTo(s),t.push(o),s=n;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){const n=this.getLengths();let s=0;const o=n.length;let r;t?r=t:r=e*n[o-1];let g=0,a=o-1,l;for(;g<=a;)if(s=Math.floor(g+(a-g)/2),l=n[s]-r,l<0)g=s+1;else if(l>0)a=s-1;else{a=s;break}if(s=a,n[s]===r)return s/(o-1);const I=n[s],d=n[s+1]-I,A=(r-I)/d;return(s+A)/(o-1)}getTangent(e,t){let s=e-1e-4,o=e+1e-4;s<0&&(s=0),o>1&&(o=1);const r=this.getPoint(s),g=this.getPoint(o),a=t||(r.isVector2?new ce:new H);return a.copy(g).sub(r).normalize(),a}getTangentAt(e,t){const n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){const n=new H,s=[],o=[],r=[],g=new H,a=new Ee;for(let A=0;A<=e;A++){const p=A/e;s[A]=this.getTangentAt(p,new H)}o[0]=new H,r[0]=new H;let l=Number.MAX_VALUE;const I=Math.abs(s[0].x),u=Math.abs(s[0].y),d=Math.abs(s[0].z);I<=l&&(l=I,n.set(1,0,0)),u<=l&&(l=u,n.set(0,1,0)),d<=l&&n.set(0,0,1),g.crossVectors(s[0],n).normalize(),o[0].crossVectors(s[0],g),r[0].crossVectors(s[0],o[0]);for(let A=1;A<=e;A++){if(o[A]=o[A-1].clone(),r[A]=r[A-1].clone(),g.crossVectors(s[A-1],s[A]),g.length()>Number.EPSILON){g.normalize();const p=Math.acos(Bn(s[A-1].dot(s[A]),-1,1));o[A].applyMatrix4(a.makeRotationAxis(g,p))}r[A].crossVectors(s[A],o[A])}if(t===!0){let A=Math.acos(Bn(o[0].dot(o[e]),-1,1));A/=e,s[0].dot(g.crossVectors(o[0],o[e]))>0&&(A=-A);for(let p=1;p<=e;p++)o[p].applyMatrix4(a.makeRotationAxis(s[p],A*p)),r[p].crossVectors(s[p],o[p])}return{tangents:s,normals:o,binormals:r}}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 qh extends po{constructor(e=0,t=0,n=1,s=1,o=0,r=Math.PI*2,g=!1,a=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=s,this.aStartAngle=o,this.aEndAngle=r,this.aClockwise=g,this.aRotation=a}getPoint(e,t=new ce){const n=t,s=Math.PI*2;let o=this.aEndAngle-this.aStartAngle;const r=Math.abs(o)s;)o-=s;o0?0:(Math.floor(Math.abs(g)/o)+1)*o:a===0&&g===o-1&&(g=o-2,a=1);let l,I;this.closed||g>0?l=s[(g-1)%o]:(Jd.subVectors(s[0],s[1]).add(s[0]),l=Jd);const u=s[g%o],d=s[(g+1)%o];if(this.closed||g+2s.length-2?s.length-1:r+1],u=s[r>s.length-3?s.length-1:r+2];return n.set(nw(g,a.x,l.x,I.x,u.x),nw(g,a.y,l.y,I.y,u.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t=n){const r=s[o]-n,g=this.curves[o],a=g.getLength(),l=a===0?0:1-r/a;return g.getPointAt(l,t)}o++}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 n=0,s=this.curves.length;n1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t0){const u=l.getPoint(0);u.equals(this.currentPoint)||this.lineTo(u.x,u.y)}this.curves.push(l);const I=l.getPoint(1);return this.currentPoint.copy(I),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 UC extends ut{constructor(e=[new ce(0,-.5),new ce(.5,0),new ce(0,.5)],t=12,n=0,s=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:n,phiLength:s},t=Math.floor(t),s=Bn(s,0,Math.PI*2);const o=[],r=[],g=[],a=[],l=[],I=1/t,u=new H,d=new ce,A=new H,p=new H,b=new H;let f=0,h=0;for(let G=0;G<=e.length-1;G++)switch(G){case 0:f=e[G+1].x-e[G].x,h=e[G+1].y-e[G].y,A.x=h*1,A.y=-f,A.z=h*0,b.copy(A),A.normalize(),a.push(A.x,A.y,A.z);break;case e.length-1:a.push(b.x,b.y,b.z);break;default:f=e[G+1].x-e[G].x,h=e[G+1].y-e[G].y,A.x=h*1,A.y=-f,A.z=h*0,p.copy(A),A.x+=b.x,A.y+=b.y,A.z+=b.z,A.normalize(),a.push(A.x,A.y,A.z),b.copy(p)}for(let G=0;G<=t;G++){const y=n+G*I*s,v=Math.sin(y),W=Math.cos(y);for(let R=0;R<=e.length-1;R++){u.x=e[R].x*v,u.y=e[R].y,u.z=e[R].x*W,r.push(u.x,u.y,u.z),d.x=G/t,d.y=R/(e.length-1),g.push(d.x,d.y);const x=a[3*R+0]*v,M=a[3*R+1],V=a[3*R+0]*W;l.push(x,M,V)}}for(let G=0;G0&&y(!0),t>0&&y(!1)),this.setIndex(I),this.setAttribute("position",new Pe(u,3)),this.setAttribute("normal",new Pe(d,3)),this.setAttribute("uv",new Pe(A,2));function G(){const v=new H,W=new H;let R=0;const x=(t-e)/n;for(let M=0;M<=o;M++){const V=[],w=M/o,Y=w*(t-e)+e;for(let Q=0;Q<=s;Q++){const E=Q/s,se=E*a+g,ge=Math.sin(se),de=Math.cos(se);W.x=Y*ge,W.y=-w*n+f,W.z=Y*de,u.push(W.x,W.y,W.z),v.set(ge,x,de).normalize(),d.push(v.x,v.y,v.z),A.push(E,1-w),V.push(p++)}b.push(V)}for(let M=0;M.9&&x<.1&&(y<.2&&(r[G+0]+=1),v<.2&&(r[G+2]+=1),W<.2&&(r[G+4]+=1))}}function d(G){o.push(G.x,G.y,G.z)}function A(G,y){const v=G*3;y.x=e[v+0],y.y=e[v+1],y.z=e[v+2]}function p(){const G=new H,y=new H,v=new H,W=new H,R=new ce,x=new ce,M=new ce;for(let V=0,w=0;V80*t){g=l=i[0],a=I=i[1];for(let p=t;pl&&(l=u),d>I&&(I=d);A=Math.max(l-g,I-a),A=A!==0?32767/A:0}return ZC(o,r,t,g,a,A,0),r}};function _V(i,e,t,n,s){let o,r;if(s===$5(i,e,t,n)>0)for(o=e;o=e;o-=n)r=iw(o,i[o],i[o+1],r);return r&&sp(r,r.next)&&(RC(r),r=r.next),r}function Ma(i,e){if(!i)return i;e||(e=i);let t=i,n;do if(n=!1,!t.steiner&&(sp(t,t.next)||pn(t.prev,t,t.next)===0)){if(RC(t),t=e=t.prev,t===t.next)break;n=!0}else t=t.next;while(n||t!==e);return e}function ZC(i,e,t,n,s,o,r){if(!i)return;!r&&o&&J5(i,n,s,o);let g=i,a,l;for(;i.prev!==i.next;){if(a=i.prev,l=i.next,o?L5(i,n,s,o):K5(i)){e.push(a.i/t|0),e.push(i.i/t|0),e.push(l.i/t|0),RC(i),i=l.next,g=l.next;continue}if(i=l,i===g){r?r===1?(i=z5(Ma(i),e,t),ZC(i,e,t,n,s,o,2)):r===2&&T5(i,e,t,n,s,o):ZC(Ma(i),e,t,n,s,o,1);break}}}function K5(i){const e=i.prev,t=i,n=i.next;if(pn(e,t,n)>=0)return!1;const s=e.x,o=t.x,r=n.x,g=e.y,a=t.y,l=n.y,I=so?s>r?s:r:o>r?o:r,A=g>a?g>l?g:l:a>l?a:l;let p=n.next;for(;p!==e;){if(p.x>=I&&p.x<=d&&p.y>=u&&p.y<=A&&Ql(s,g,o,a,r,l,p.x,p.y)&&pn(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function L5(i,e,t,n){const s=i.prev,o=i,r=i.next;if(pn(s,o,r)>=0)return!1;const g=s.x,a=o.x,l=r.x,I=s.y,u=o.y,d=r.y,A=ga?g>l?g:l:a>l?a:l,f=I>u?I>d?I:d:u>d?u:d,h=q0(A,p,e,t,n),G=q0(b,f,e,t,n);let y=i.prevZ,v=i.nextZ;for(;y&&y.z>=h&&v&&v.z<=G;){if(y.x>=A&&y.x<=b&&y.y>=p&&y.y<=f&&y!==s&&y!==r&&Ql(g,I,a,u,l,d,y.x,y.y)&&pn(y.prev,y,y.next)>=0||(y=y.prevZ,v.x>=A&&v.x<=b&&v.y>=p&&v.y<=f&&v!==s&&v!==r&&Ql(g,I,a,u,l,d,v.x,v.y)&&pn(v.prev,v,v.next)>=0))return!1;v=v.nextZ}for(;y&&y.z>=h;){if(y.x>=A&&y.x<=b&&y.y>=p&&y.y<=f&&y!==s&&y!==r&&Ql(g,I,a,u,l,d,y.x,y.y)&&pn(y.prev,y,y.next)>=0)return!1;y=y.prevZ}for(;v&&v.z<=G;){if(v.x>=A&&v.x<=b&&v.y>=p&&v.y<=f&&v!==s&&v!==r&&Ql(g,I,a,u,l,d,v.x,v.y)&&pn(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function z5(i,e,t){let n=i;do{const s=n.prev,o=n.next.next;!sp(s,o)&&UV(s,n,n.next,o)&&wC(s,o)&&wC(o,s)&&(e.push(s.i/t|0),e.push(n.i/t|0),e.push(o.i/t|0),RC(n),RC(n.next),n=i=o),n=n.next}while(n!==i);return Ma(n)}function T5(i,e,t,n,s,o){let r=i;do{let g=r.next.next;for(;g!==r.prev;){if(r.i!==g.i&&Q5(r,g)){let a=DV(r,g);r=Ma(r,r.next),a=Ma(a,a.next),ZC(r,e,t,n,s,o,0),ZC(a,e,t,n,s,o,0);return}g=g.next}r=r.next}while(r!==i)}function E5(i,e,t,n){const s=[];let o,r,g,a,l;for(o=0,r=e.length;o=t.next.y&&t.next.y!==t.y){const d=t.x+(r-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(d<=o&&d>n&&(n=d,s=t.x=t.x&&t.x>=a&&o!==t.x&&Ql(rs.x||t.x===s.x&&D5(s,t)))&&(s=t,I=u)),t=t.next;while(t!==g);return s}function D5(i,e){return pn(i.prev,i,e.prev)<0&&pn(e.next,i,i.next)<0}function J5(i,e,t,n){let s=i;do s.z===0&&(s.z=q0(s.x,s.y,e,t,n)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==i);s.prevZ.nextZ=null,s.prevZ=null,P5(s)}function P5(i){let e,t,n,s,o,r,g,a,l=1;do{for(t=i,i=null,o=null,r=0;t;){for(r++,n=t,g=0,e=0;e0||a>0&&n;)g!==0&&(a===0||!n||t.z<=n.z)?(s=t,t=t.nextZ,g--):(s=n,n=n.nextZ,a--),o?o.nextZ=s:i=s,s.prevZ=o,o=s;t=n}o.nextZ=null,l*=2}while(r>1);return i}function q0(i,e,t,n,s){return i=(i-t)*s|0,e=(e-n)*s|0,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,i|e<<1}function O5(i){let e=i,t=i;do(e.x=(i-r)*(o-g)&&(i-r)*(n-g)>=(t-r)*(e-g)&&(t-r)*(o-g)>=(s-r)*(n-g)}function Q5(i,e){return i.next.i!==e.i&&i.prev.i!==e.i&&!j5(i,e)&&(wC(i,e)&&wC(e,i)&&q5(i,e)&&(pn(i.prev,i,e.prev)||pn(i,e.prev,e))||sp(i,e)&&pn(i.prev,i,i.next)>0&&pn(e.prev,e,e.next)>0)}function pn(i,e,t){return(e.y-i.y)*(t.x-e.x)-(e.x-i.x)*(t.y-e.y)}function sp(i,e){return i.x===e.x&&i.y===e.y}function UV(i,e,t,n){const s=qd(pn(i,e,t)),o=qd(pn(i,e,n)),r=qd(pn(t,n,i)),g=qd(pn(t,n,e));return!!(s!==o&&r!==g||s===0&&jd(i,t,e)||o===0&&jd(i,n,e)||r===0&&jd(t,i,n)||g===0&&jd(t,e,n))}function jd(i,e,t){return e.x<=Math.max(i.x,t.x)&&e.x>=Math.min(i.x,t.x)&&e.y<=Math.max(i.y,t.y)&&e.y>=Math.min(i.y,t.y)}function qd(i){return i>0?1:i<0?-1:0}function j5(i,e){let t=i;do{if(t.i!==i.i&&t.next.i!==i.i&&t.i!==e.i&&t.next.i!==e.i&&UV(t,t.next,i,e))return!0;t=t.next}while(t!==i);return!1}function wC(i,e){return pn(i.prev,i,i.next)<0?pn(i,e,i.next)>=0&&pn(i,i.prev,e)>=0:pn(i,e,i.prev)<0||pn(i,i.next,e)<0}function q5(i,e){let t=i,n=!1;const s=(i.x+e.x)/2,o=(i.y+e.y)/2;do t.y>o!=t.next.y>o&&t.next.y!==t.y&&s<(t.next.x-t.x)*(o-t.y)/(t.next.y-t.y)+t.x&&(n=!n),t=t.next;while(t!==i);return n}function DV(i,e){const t=new $0(i.i,i.x,i.y),n=new $0(e.i,e.x,e.y),s=i.next,o=e.prev;return i.next=e,e.prev=i,t.next=s,s.prev=t,n.next=t,t.prev=n,o.next=n,n.prev=o,n}function iw(i,e,t,n){const s=new $0(i,e,t);return n?(s.next=n.next,s.prev=n,n.next.prev=s,n.next=s):(s.prev=s,s.next=s),s}function RC(i){i.next.prev=i.prev,i.prev.next=i.next,i.prevZ&&(i.prevZ.nextZ=i.nextZ),i.nextZ&&(i.nextZ.prevZ=i.prevZ)}function $0(i,e,t){this.i=i,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 $5(i,e,t,n){let s=0;for(let o=e,r=t-n;o2&&i[e-1].equals(i[0])&&i.pop()}function ow(i,e){for(let t=0;tNumber.EPSILON){const be=Math.sqrt(pe),je=Math.sqrt(X*X+ne*ne),Ye=Ge.x-T/be,Ne=Ge.y+nt/be,dt=me.x-ne/je,Xe=me.y+X/je,Oe=((dt-Ye)*ne-(Xe-Ne)*X)/(nt*ne-T*X);He=Ye+nt*Oe-Ce.x,Ze=Ne+T*Oe-Ce.y;const Rt=He*He+Ze*Ze;if(Rt<=2)return new ce(He,Ze);ke=Math.sqrt(Rt/2)}else{let be=!1;nt>Number.EPSILON?X>Number.EPSILON&&(be=!0):nt<-Number.EPSILON?X<-Number.EPSILON&&(be=!0):Math.sign(T)===Math.sign(ne)&&(be=!0),be?(He=-T,Ze=nt,ke=Math.sqrt(pe)):(He=nt,Ze=T,ke=Math.sqrt(pe/2))}return new ce(He/ke,Ze/ke)}const D=[];for(let Ce=0,Ge=se.length,me=Ge-1,He=Ce+1;Ce=0;Ce--){const Ge=Ce/f,me=A*Math.cos(Ge*Math.PI/2),He=p*Math.sin(Ge*Math.PI/2)+b;for(let Ze=0,ke=se.length;Ze=0;){const He=me;let Ze=me-1;Ze<0&&(Ze=Ce.length-1);for(let ke=0,nt=I+f*2;ke0)&&A.push(y,v,R),(h!==n-1||a0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class QV extends on{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Me(16777215),this.specular=new Me(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Me(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=vg,this.normalScale=new ce(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Ki,this.combine=FC,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 jV extends on{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Me(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Me(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=vg,this.normalScale=new ce(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 qV extends on{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=vg,this.normalScale=new ce(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 $V extends on{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Me(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Me(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=vg,this.normalScale=new ce(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Ki,this.combine=FC,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 eM extends on{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Me(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=vg,this.normalScale=new ce(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 tM extends ai{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 ua(i,e,t){return!i||!t&&i.constructor===e?i:typeof e.BYTES_PER_ELEMENT=="number"?new e(i):Array.prototype.slice.call(i)}function nM(i){return ArrayBuffer.isView(i)&&!(i instanceof DataView)}function iM(i){function e(s,o){return i[s]-i[o]}const t=i.length,n=new Array(t);for(let s=0;s!==t;++s)n[s]=s;return n.sort(e),n}function eG(i,e,t){const n=i.length,s=new i.constructor(n);for(let o=0,r=0;r!==n;++o){const g=t[o]*e;for(let a=0;a!==e;++a)s[r++]=i[g+a]}return s}function Fy(i,e,t,n){let s=1,o=i[0];for(;o!==void 0&&o[n]===void 0;)o=i[s++];if(o===void 0)return;let r=o[n];if(r!==void 0)if(Array.isArray(r))do r=o[n],r!==void 0&&(e.push(o.time),t.push.apply(t,r)),o=i[s++];while(o!==void 0);else if(r.toArray!==void 0)do r=o[n],r!==void 0&&(e.push(o.time),r.toArray(t,t.length)),o=i[s++];while(o!==void 0);else do r=o[n],r!==void 0&&(e.push(o.time),t.push(r)),o=i[s++];while(o!==void 0)}function iz(i,e,t,n,s=30){const o=i.clone();o.name=e;const r=[];for(let a=0;a=n)){u.push(l.times[A]);for(let b=0;bo.tracks[a].times[0]&&(g=o.tracks[a].times[0]);for(let a=0;a=g.times[p]){const h=p*u+I,G=h+u-I;b=g.values.slice(h,G)}else{const h=g.createInterpolant(),G=I,y=u-I;h.evaluate(o),b=h.resultBuffer.slice(G,y)}a==="quaternion"&&new Dt().fromArray(b).normalize().conjugate().toArray(b);const f=l.times.length;for(let h=0;h=o)){const g=t[1];e=o)break t}r=n,n=0;break n}break e}for(;n>>1;et;)--r;if(++r,o!==0||r!==s){o>=r&&(r=Math.max(r,1),o=r-1);const g=this.getValueSize();this.times=n.slice(o,r),this.values=this.values.slice(o*g,r*g)}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 n=this.times,s=this.values,o=n.length;o===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let r=null;for(let g=0;g!==o;g++){const a=n[g];if(typeof a=="number"&&isNaN(a)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,g,a),e=!1;break}if(r!==null&&r>a){console.error("THREE.KeyframeTrack: Out of order keys.",this,g,a,r),e=!1;break}r=a}if(s!==void 0&&nM(s))for(let g=0,a=s.length;g!==a;++g){const l=s[g];if(isNaN(l)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,g,l),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),n=this.getValueSize(),s=this.getInterpolation()===KA,o=e.length-1;let r=1;for(let g=1;g0){e[r]=e[o];for(let g=o*n,a=r*n,l=0;l!==n;++l)t[a+l]=t[g+l];++r}return r!==e.length?(this.times=e.slice(0,r),this.values=t.slice(0,r*n)):(this.times=e,this.values=t),this}clone(){const e=this.times.slice(),t=this.values.slice(),n=this.constructor,s=new n(this.name,e,t);return s.createInterpolant=this.createInterpolant,s}}mo.prototype.TimeBufferType=Float32Array;mo.prototype.ValueBufferType=Float32Array;mo.prototype.DefaultInterpolation=Zr;class Ta extends mo{}Ta.prototype.ValueTypeName="bool";Ta.prototype.ValueBufferType=Array;Ta.prototype.DefaultInterpolation=xa;Ta.prototype.InterpolantFactoryMethodLinear=void 0;Ta.prototype.InterpolantFactoryMethodSmooth=void 0;class Yy extends mo{}Yy.prototype.ValueTypeName="color";class Rr extends mo{}Rr.prototype.ValueTypeName="number";class rM extends za{constructor(e,t,n,s){super(e,t,n,s)}interpolate_(e,t,n,s){const o=this.resultBuffer,r=this.sampleValues,g=this.valueSize,a=(n-t)/(s-t);let l=e*g;for(let I=l+g;l!==I;l+=4)Dt.slerpFlat(o,0,r,l-g,r,l,a);return o}}class Eo extends mo{InterpolantFactoryMethodLinear(e){return new rM(this.times,this.values,this.getValueSize(),e)}}Eo.prototype.ValueTypeName="quaternion";Eo.prototype.DefaultInterpolation=Zr;Eo.prototype.InterpolantFactoryMethodSmooth=void 0;class Ea extends mo{}Ea.prototype.ValueTypeName="string";Ea.prototype.ValueBufferType=Array;Ea.prototype.DefaultInterpolation=xa;Ea.prototype.InterpolantFactoryMethodLinear=void 0;Ea.prototype.InterpolantFactoryMethodSmooth=void 0;class Sr extends mo{}Sr.prototype.ValueTypeName="vector";class Xa{constructor(e="",t=-1,n=[],s=Th){this.name=e,this.tracks=n,this.duration=t,this.blendMode=s,this.uuid=As(),this.duration<0&&this.resetDuration()}static parse(e){const t=[],n=e.tracks,s=1/(e.fps||1);for(let r=0,g=n.length;r!==g;++r)t.push(gz(n[r]).scale(s));const o=new this(e.name,e.duration,t,e.blendMode);return o.uuid=e.uuid,o}static toJSON(e){const t=[],n=e.tracks,s={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let o=0,r=n.length;o!==r;++o)t.push(mo.toJSON(n[o]));return s}static CreateFromMorphTargetSequence(e,t,n,s){const o=t.length,r=[];for(let g=0;g1){const u=I[1];let d=s[u];d||(s[u]=d=[]),d.push(l)}}const r=[];for(const g in s)r.push(this.CreateFromMorphTargetSequence(g,s[g],t,n));return r}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(u,d,A,p,b){if(A.length!==0){const f=[],h=[];Fy(A,f,h,p),f.length!==0&&b.push(new u(d,f,h))}},s=[],o=e.name||"default",r=e.fps||30,g=e.blendMode;let a=e.length||-1;const l=e.hierarchy||[];for(let u=0;u{t&&t(o),this.manager.itemEnd(e)},0),o;if(nr[e]!==void 0){nr[e].push({onLoad:t,onProgress:n,onError:s});return}nr[e]=[],nr[e].push({onLoad:t,onProgress:n,onError:s});const r=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),g=this.mimeType,a=this.responseType;fetch(r).then(l=>{if(l.status===200||l.status===0){if(l.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||l.body===void 0||l.body.getReader===void 0)return l;const I=nr[e],u=l.body.getReader(),d=l.headers.get("X-File-Size")||l.headers.get("Content-Length"),A=d?parseInt(d):0,p=A!==0;let b=0;const f=new ReadableStream({start(h){G();function G(){u.read().then(({done:y,value:v})=>{if(y)h.close();else{b+=v.byteLength;const W=new ProgressEvent("progress",{lengthComputable:p,loaded:b,total:A});for(let R=0,x=I.length;R{switch(a){case"arraybuffer":return l.arrayBuffer();case"blob":return l.blob();case"document":return l.text().then(I=>new DOMParser().parseFromString(I,g));case"json":return l.json();default:if(g===void 0)return l.text();{const u=/charset="?([^;"\s]*)"?/i.exec(g),d=u&&u[1]?u[1].toLowerCase():void 0,A=new TextDecoder(d);return l.arrayBuffer().then(p=>A.decode(p))}}}).then(l=>{Cr.add(e,l);const I=nr[e];delete nr[e];for(let u=0,d=I.length;u{const I=nr[e];if(I===void 0)throw this.manager.itemError(e),l;delete nr[e];for(let u=0,d=I.length;u{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class lz extends li{constructor(e){super(e)}load(e,t,n,s){const o=this,r=new Li(this.manager);r.setPath(this.path),r.setRequestHeader(this.requestHeader),r.setWithCredentials(this.withCredentials),r.load(e,function(g){try{t(o.parse(JSON.parse(g)))}catch(a){s?s(a):console.error(a),o.manager.itemError(e)}},n,s)}parse(e){const t=[];for(let n=0;n0:s.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const o in e.uniforms){const r=e.uniforms[o];switch(s.uniforms[o]={},r.type){case"t":s.uniforms[o].value=n(r.value);break;case"c":s.uniforms[o].value=new Me().setHex(r.value);break;case"v2":s.uniforms[o].value=new ce().fromArray(r.value);break;case"v3":s.uniforms[o].value=new H().fromArray(r.value);break;case"v4":s.uniforms[o].value=new Jt().fromArray(r.value);break;case"m3":s.uniforms[o].value=new Bt().fromArray(r.value);break;case"m4":s.uniforms[o].value=new Ee().fromArray(r.value);break;default:s.uniforms[o].value=r.value}}if(e.defines!==void 0&&(s.defines=e.defines),e.vertexShader!==void 0&&(s.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(s.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(s.glslVersion=e.glslVersion),e.extensions!==void 0)for(const o in e.extensions)s.extensions[o]=e.extensions[o];if(e.lights!==void 0&&(s.lights=e.lights),e.clipping!==void 0&&(s.clipping=e.clipping),e.size!==void 0&&(s.size=e.size),e.sizeAttenuation!==void 0&&(s.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(s.map=n(e.map)),e.matcap!==void 0&&(s.matcap=n(e.matcap)),e.alphaMap!==void 0&&(s.alphaMap=n(e.alphaMap)),e.bumpMap!==void 0&&(s.bumpMap=n(e.bumpMap)),e.bumpScale!==void 0&&(s.bumpScale=e.bumpScale),e.normalMap!==void 0&&(s.normalMap=n(e.normalMap)),e.normalMapType!==void 0&&(s.normalMapType=e.normalMapType),e.normalScale!==void 0){let o=e.normalScale;Array.isArray(o)===!1&&(o=[o,o]),s.normalScale=new ce().fromArray(o)}return e.displacementMap!==void 0&&(s.displacementMap=n(e.displacementMap)),e.displacementScale!==void 0&&(s.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(s.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(s.roughnessMap=n(e.roughnessMap)),e.metalnessMap!==void 0&&(s.metalnessMap=n(e.metalnessMap)),e.emissiveMap!==void 0&&(s.emissiveMap=n(e.emissiveMap)),e.emissiveIntensity!==void 0&&(s.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(s.specularMap=n(e.specularMap)),e.specularIntensityMap!==void 0&&(s.specularIntensityMap=n(e.specularIntensityMap)),e.specularColorMap!==void 0&&(s.specularColorMap=n(e.specularColorMap)),e.envMap!==void 0&&(s.envMap=n(e.envMap)),e.envMapRotation!==void 0&&s.envMapRotation.fromArray(e.envMapRotation),e.envMapIntensity!==void 0&&(s.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(s.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(s.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(s.lightMap=n(e.lightMap)),e.lightMapIntensity!==void 0&&(s.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(s.aoMap=n(e.aoMap)),e.aoMapIntensity!==void 0&&(s.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(s.gradientMap=n(e.gradientMap)),e.clearcoatMap!==void 0&&(s.clearcoatMap=n(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(s.clearcoatRoughnessMap=n(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(s.clearcoatNormalMap=n(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(s.clearcoatNormalScale=new ce().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(s.iridescenceMap=n(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(s.iridescenceThicknessMap=n(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(s.transmissionMap=n(e.transmissionMap)),e.thicknessMap!==void 0&&(s.thicknessMap=n(e.thicknessMap)),e.anisotropyMap!==void 0&&(s.anisotropyMap=n(e.anisotropyMap)),e.sheenColorMap!==void 0&&(s.sheenColorMap=n(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(s.sheenRoughnessMap=n(e.sheenRoughnessMap)),s}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const t={ShadowMaterial:PV,SpriteMaterial:Wy,RawShaderMaterial:OV,ShaderMaterial:ms,PointsMaterial:_C,MeshPhysicalMaterial:vn,MeshStandardMaterial:La,MeshPhongMaterial:QV,MeshToonMaterial:jV,MeshNormalMaterial:qV,MeshLambertMaterial:$V,MeshDepthMaterial:Ry,MeshDistanceMaterial:Sy,MeshBasicMaterial:Fn,MeshMatcapMaterial:eM,LineDashedMaterial:tM,LineBasicMaterial:ai,Material:on};return new t[e]}}class hs{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let t="";for(let n=0,s=e.length;n0){const a=new Ky(t);o=new SC(a),o.setCrossOrigin(this.crossOrigin);for(let l=0,I=e.length;l0){s=new SC(this.manager),s.setCrossOrigin(this.crossOrigin);for(let r=0,g=e.length;r{const f=new oi;f.min.fromArray(b.boxMin),f.max.fromArray(b.boxMax);const h=new Nn;return h.radius=b.sphereRadius,h.center.fromArray(b.sphereCenter),{boxInitialized:b.boxInitialized,box:f,sphereInitialized:b.sphereInitialized,sphere:h}}),r._maxGeometryCount=e.maxGeometryCount,r._maxVertexCount=e.maxVertexCount,r._maxIndexCount=e.maxIndexCount,r._geometryInitialized=e.geometryInitialized,r._geometryCount=e.geometryCount,r._matricesTexture=l(e.matricesTexture.uuid);break;case"LOD":r=new NV;break;case"Line":r=new To(g(e.geometry),a(e.material));break;case"LineLoop":r=new Oh(g(e.geometry),a(e.material));break;case"LineSegments":r=new ks(g(e.geometry),a(e.material));break;case"PointCloud":case"Points":r=new Qh(g(e.geometry),a(e.material));break;case"Sprite":r=new FV(a(e.material));break;case"Group":r=new Ls;break;case"Bone":r=new kC;break;default:r=new wt}if(r.uuid=e.uuid,e.name!==void 0&&(r.name=e.name),e.matrix!==void 0?(r.matrix.fromArray(e.matrix),e.matrixAutoUpdate!==void 0&&(r.matrixAutoUpdate=e.matrixAutoUpdate),r.matrixAutoUpdate&&r.matrix.decompose(r.position,r.quaternion,r.scale)):(e.position!==void 0&&r.position.fromArray(e.position),e.rotation!==void 0&&r.rotation.fromArray(e.rotation),e.quaternion!==void 0&&r.quaternion.fromArray(e.quaternion),e.scale!==void 0&&r.scale.fromArray(e.scale)),e.up!==void 0&&r.up.fromArray(e.up),e.castShadow!==void 0&&(r.castShadow=e.castShadow),e.receiveShadow!==void 0&&(r.receiveShadow=e.receiveShadow),e.shadow&&(e.shadow.bias!==void 0&&(r.shadow.bias=e.shadow.bias),e.shadow.normalBias!==void 0&&(r.shadow.normalBias=e.shadow.normalBias),e.shadow.radius!==void 0&&(r.shadow.radius=e.shadow.radius),e.shadow.mapSize!==void 0&&r.shadow.mapSize.fromArray(e.shadow.mapSize),e.shadow.camera!==void 0&&(r.shadow.camera=this.parseObject(e.shadow.camera))),e.visible!==void 0&&(r.visible=e.visible),e.frustumCulled!==void 0&&(r.frustumCulled=e.frustumCulled),e.renderOrder!==void 0&&(r.renderOrder=e.renderOrder),e.userData!==void 0&&(r.userData=e.userData),e.layers!==void 0&&(r.layers.mask=e.layers),e.children!==void 0){const d=e.children;for(let A=0;A"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,n,s){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const o=this,r=Cr.get(e);if(r!==void 0){if(o.manager.itemStart(e),r.then){r.then(l=>{t&&t(l),o.manager.itemEnd(e)}).catch(l=>{s&&s(l)});return}return setTimeout(function(){t&&t(r),o.manager.itemEnd(e)},0),r}const g={};g.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",g.headers=this.requestHeader;const a=fetch(e,g).then(function(l){return l.blob()}).then(function(l){return createImageBitmap(l,Object.assign(o.options,{colorSpaceConversion:"none"}))}).then(function(l){return Cr.add(e,l),t&&t(l),o.manager.itemEnd(e),l}).catch(function(l){s&&s(l),Cr.remove(e),o.manager.itemError(e),o.manager.itemEnd(e)});Cr.add(e,a),o.manager.itemStart(e)}}let $d;class Ey{static getContext(){return $d===void 0&&($d=new(window.AudioContext||window.webkitAudioContext)),$d}static setContext(e){$d=e}}class mz extends li{constructor(e){super(e)}load(e,t,n,s){const o=this,r=new Li(this.manager);r.setResponseType("arraybuffer"),r.setPath(this.path),r.setRequestHeader(this.requestHeader),r.setWithCredentials(this.withCredentials),r.load(e,function(a){try{const l=a.slice(0);Ey.getContext().decodeAudioData(l,function(u){t(u)}).catch(g)}catch(l){g(l)}},n,s);function g(a){s?s(a):console.error(a),o.manager.itemError(e)}}}const uw=new Ee,dw=new Ee,Ug=new Ee;class fz{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new cn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new cn,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,Ug.copy(e.projectionMatrix);const s=t.eyeSep/2,o=s*t.near/t.focus,r=t.near*Math.tan(Ga*t.fov*.5)/t.zoom;let g,a;dw.elements[12]=-s,uw.elements[12]=s,g=-r*t.aspect+o,a=r*t.aspect+o,Ug.elements[0]=2*t.near/(a-g),Ug.elements[8]=(a+g)/(a-g),this.cameraL.projectionMatrix.copy(Ug),g=-r*t.aspect-o,a=r*t.aspect-o,Ug.elements[0]=2*t.near/(a-g),Ug.elements[8]=(a+g)/(a-g),this.cameraR.projectionMatrix.copy(Ug)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(dw),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(uw)}}class ky{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Aw(),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=Aw();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function Aw(){return(typeof performance>"u"?Date:performance).now()}const Dg=new H,hw=new Dt,bz=new H,Jg=new H;class Gz extends wt{constructor(){super(),this.type="AudioListener",this.context=Ey.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new ky}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,n=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Dg,hw,bz),Jg.set(0,0,-1).applyQuaternion(hw),t.positionX){const s=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Dg.x,s),t.positionY.linearRampToValueAtTime(Dg.y,s),t.positionZ.linearRampToValueAtTime(Dg.z,s),t.forwardX.linearRampToValueAtTime(Jg.x,s),t.forwardY.linearRampToValueAtTime(Jg.y,s),t.forwardZ.linearRampToValueAtTime(Jg.z,s),t.upX.linearRampToValueAtTime(n.x,s),t.upY.linearRampToValueAtTime(n.y,s),t.upZ.linearRampToValueAtTime(n.z,s)}else t.setPosition(Dg.x,Dg.y,Dg.z),t.setOrientation(Jg.x,Jg.y,Jg.z,n.x,n.y,n.z)}}class AM extends wt{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(n,s,this._addIndex*t,1,t);for(let a=t,l=t+t;a!==l;++a)if(n[a]!==n[a+t]){g.setValue(n,s);break}}saveOriginalState(){const e=this.binding,t=this.buffer,n=this.valueSize,s=n*this._origIndex;e.getValue(t,s);for(let o=n,r=s;o!==r;++o)t[o]=t[s+o%n];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 n=e;n=.5)for(let r=0;r!==o;++r)e[t+r]=e[n+r]}_slerp(e,t,n,s){Dt.slerpFlat(e,t,e,t,e,n,s)}_slerpAdditive(e,t,n,s,o){const r=this._workIndex*o;Dt.multiplyQuaternionsFlat(e,r,e,t,e,n),Dt.slerpFlat(e,t,e,t,e,r,s)}_lerp(e,t,n,s,o){const r=1-s;for(let g=0;g!==o;++g){const a=t+g;e[a]=e[a]*r+e[n+g]*s}}_lerpAdditive(e,t,n,s,o){for(let r=0;r!==o;++r){const g=t+r;e[g]=e[g]+e[n+r]*s}}}const _y="\\[\\]\\.:\\/",Zz=new RegExp("["+_y+"]","g"),Uy="[^"+_y+"]",wz="[^"+_y.replace("\\.","")+"]",Rz=/((?:WC+[\/:])*)/.source.replace("WC",Uy),Sz=/(WCOD+)?/.source.replace("WCOD",wz),Wz=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Uy),xz=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Uy),Vz=new RegExp("^"+Rz+Sz+Wz+xz+"$"),Mz=["material","materials","bones","map"];class Xz{constructor(e,t,n){const s=n||Kt.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,s)}getValue(e,t){this.bind();const n=this._targetGroup.nCachedObjects_,s=this._bindings[n];s!==void 0&&s.getValue(e,t)}setValue(e,t){const n=this._bindings;for(let s=this._targetGroup.nCachedObjects_,o=n.length;s!==o;++s)n[s].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}}class Kt{constructor(e,t,n){this.path=t,this.parsedPath=n||Kt.parseTrackName(t),this.node=Kt.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new Kt.Composite(e,t,n):new Kt(e,t,n)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(Zz,"")}static parseTrackName(e){const t=Vz.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},s=n.nodeName&&n.nodeName.lastIndexOf(".");if(s!==void 0&&s!==-1){const o=n.nodeName.substring(s+1);Mz.indexOf(o)!==-1&&(n.nodeName=n.nodeName.substring(0,s),n.objectName=o)}if(n.propertyName===null||n.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){const n=function(o){for(let r=0;r=o){const u=o++,d=e[u];t[d.uuid]=I,e[I]=d,t[l]=u,e[u]=a;for(let A=0,p=s;A!==p;++A){const b=n[A],f=b[u],h=b[I];b[I]=f,b[u]=h}}}this.nCachedObjects_=o}uncache(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,s=n.length;let o=this.nCachedObjects_,r=e.length;for(let g=0,a=arguments.length;g!==a;++g){const l=arguments[g],I=l.uuid,u=t[I];if(u!==void 0)if(delete t[I],u0&&(t[A.uuid]=u),e[u]=A,e.pop();for(let p=0,b=s;p!==b;++p){const f=n[p];f[u]=f[d],f.pop()}}}this.nCachedObjects_=o}subscribe_(e,t){const n=this._bindingsIndicesByPath;let s=n[e];const o=this._bindings;if(s!==void 0)return o[s];const r=this._paths,g=this._parsedPaths,a=this._objects,l=a.length,I=this.nCachedObjects_,u=new Array(l);s=o.length,n[e]=s,r.push(e),g.push(t),o.push(u);for(let d=I,A=a.length;d!==A;++d){const p=a[d];u[d]=new Kt(p,e,t)}return u}unsubscribe_(e){const t=this._bindingsIndicesByPath,n=t[e];if(n!==void 0){const s=this._paths,o=this._parsedPaths,r=this._bindings,g=r.length-1,a=r[g],l=e[g];t[l]=n,r[n]=a,r.pop(),o[n]=o[g],o.pop(),s[n]=s[g],s.pop()}}}class pM{constructor(e,t,n=null,s=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=n,this.blendMode=s;const o=t.tracks,r=o.length,g=new Array(r),a={endingStart:ca,endingEnd:ca};for(let l=0;l!==r;++l){const I=o[l].createInterpolant(null);g[l]=I,I.settings=a}this._interpolantSettings=a,this._interpolants=g,this._propertyBindings=new Array(r),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=nV,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,n){if(e.fadeOut(t),this.fadeIn(t),n){const s=this._clip.duration,o=e._clip.duration,r=o/s,g=s/o;e.warp(1,r,t),this.warp(g,1,t)}return this}crossFadeTo(e,t,n){return e.crossFadeFrom(this,t,n)}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,n){const s=this._mixer,o=s.time,r=this.timeScale;let g=this._timeScaleInterpolant;g===null&&(g=s._lendControlInterpolant(),this._timeScaleInterpolant=g);const a=g.parameterPositions,l=g.sampleValues;return a[0]=o,a[1]=o+n,l[0]=e/r,l[1]=t/r,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,n,s){if(!this.enabled){this._updateWeight(e);return}const o=this._startTime;if(o!==null){const a=(e-o)*n;a<0||n===0?t=0:(this._startTime=null,t=n*a)}t*=this._updateTimeScale(e);const r=this._updateTime(t),g=this._updateWeight(e);if(g>0){const a=this._interpolants,l=this._propertyBindings;switch(this.blendMode){case my:for(let I=0,u=a.length;I!==u;++I)a[I].evaluate(r),l[I].accumulateAdditive(g);break;case Th:default:for(let I=0,u=a.length;I!==u;++I)a[I].evaluate(r),l[I].accumulate(s,g)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const n=this._weightInterpolant;if(n!==null){const s=n.evaluate(e)[0];t*=s,e>n.parameterPositions[1]&&(this.stopFading(),s===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const n=this._timeScaleInterpolant;if(n!==null){const s=n.evaluate(e)[0];t*=s,e>n.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){const t=this._clip.duration,n=this.loop;let s=this.time+e,o=this._loopCount;const r=n===iV;if(e===0)return o===-1?s:r&&(o&1)===1?t-s:s;if(n===tV){o===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(s>=t)s=t;else if(s<0)s=0;else{this.time=s;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=s,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(o===-1&&(e>=0?(o=0,this._setEndings(!0,this.repetitions===0,r)):this._setEndings(this.repetitions===0,!0,r)),s>=t||s<0){const g=Math.floor(s/t);s-=t*g,o+=Math.abs(g);const a=this.repetitions-o;if(a<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,s=e>0?t:0,this.time=s,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(a===1){const l=e<0;this._setEndings(l,!l,r)}else this._setEndings(!1,!1,r);this._loopCount=o,this.time=s,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:g})}}else this.time=s;if(r&&(o&1)===1)return t-s}return s}_setEndings(e,t,n){const s=this._interpolantSettings;n?(s.endingStart=Ia,s.endingEnd=Ia):(e?s.endingStart=this.zeroSlopeAtStart?Ia:ca:s.endingStart=pC,t?s.endingEnd=this.zeroSlopeAtEnd?Ia:ca:s.endingEnd=pC)}_scheduleFading(e,t,n){const s=this._mixer,o=s.time;let r=this._weightInterpolant;r===null&&(r=s._lendControlInterpolant(),this._weightInterpolant=r);const g=r.parameterPositions,a=r.sampleValues;return g[0]=o,a[0]=t,g[1]=o+e,a[1]=n,this}}const Fz=new Float32Array(1);class Nz extends ko{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){const n=e._localRoot||this._root,s=e._clip.tracks,o=s.length,r=e._propertyBindings,g=e._interpolants,a=n.uuid,l=this._bindingsByRootAndName;let I=l[a];I===void 0&&(I={},l[a]=I);for(let u=0;u!==o;++u){const d=s[u],A=d.name;let p=I[A];if(p!==void 0)++p.referenceCount,r[u]=p;else{if(p=r[u],p!==void 0){p._cacheIndex===null&&(++p.referenceCount,this._addInactiveBinding(p,a,A));continue}const b=t&&t._propertyBindings[u].binding.parsedPath;p=new hM(Kt.create(n,A,b),d.ValueTypeName,d.getValueSize()),++p.referenceCount,this._addInactiveBinding(p,a,A),r[u]=p}g[u].resultBuffer=p.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const n=(e._localRoot||this._root).uuid,s=e._clip.uuid,o=this._actionsByClip[s];this._bindAction(e,o&&o.knownActions[0]),this._addInactiveAction(e,s,n)}const t=e._propertyBindings;for(let n=0,s=t.length;n!==s;++n){const o=t[n];o.useCount++===0&&(this._lendBinding(o),o.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let n=0,s=t.length;n!==s;++n){const o=t[n];--o.useCount===0&&(o.restoreOriginalState(),this._takeBackBinding(o))}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;--n)e[n].stop();return this}update(e){e*=this.timeScale;const t=this._actions,n=this._nActiveActions,s=this.time+=e,o=Math.sign(e),r=this._accuIndex^=1;for(let l=0;l!==n;++l)t[l]._update(s,e,o,r);const g=this._bindings,a=this._nActiveBindings;for(let l=0;l!==a;++l)g[l].apply(r);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,bw).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 Gw=new H,eA=new H;class fM{constructor(e=new H,t=new H){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){Gw.subVectors(e,this.start),eA.subVectors(this.end,this.start);const n=eA.dot(eA);let o=eA.dot(Gw)/n;return t&&(o=Bn(o,0,1)),o}closestPointToPoint(e,t,n){const s=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(s).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 yw=new H;class Ez extends wt{constructor(e,t){super(),this.light=e,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const n=new ut,s=[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 r=0,g=1,a=32;r1)for(let u=0;u.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{Rw.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(Rw,t)}}setLength(e,t=e*.2,n=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),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 tT extends ks{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],s=new ut;s.setAttribute("position",new Pe(t,3)),s.setAttribute("color",new Pe(n,3));const o=new ai({vertexColors:!0,toneMapped:!1});super(s,o),this.type="AxesHelper"}setColors(e,t,n){const s=new Me,o=this.geometry.attributes.color.array;return s.set(e),s.toArray(o,0),s.toArray(o,3),s.set(t),s.toArray(o,6),s.toArray(o,9),s.set(n),s.toArray(o,12),s.toArray(o,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class nT{constructor(){this.type="ShapePath",this.color=new Me,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new vC,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,n,s){return this.currentPath.quadraticCurveTo(e,t,n,s),this}bezierCurveTo(e,t,n,s,o,r){return this.currentPath.bezierCurveTo(e,t,n,s,o,r),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(h){const G=[];for(let y=0,v=h.length;yNumber.EPSILON){if(w<0&&(x=G[R],V=-V,M=G[W],w=-w),h.yM.y)continue;if(h.y===x.y){if(h.x===x.x)return!0}else{const Y=w*(h.x-x.x)-V*(h.y-x.y);if(Y===0)return!0;if(Y<0)continue;v=!v}}else{if(h.y!==x.y)continue;if(M.x<=h.x&&h.x<=x.x||x.x<=h.x&&h.x<=M.x)return!0}}return v}const s=Lo.isClockWise,o=this.subPaths;if(o.length===0)return[];let r,g,a;const l=[];if(o.length===1)return g=o[0],a=new mr,a.curves=g.curves,l.push(a),l;let I=!s(o[0].getPoints());I=e?!I:I;const u=[],d=[];let A=[],p=0,b;d[p]=void 0,A[p]=[];for(let h=0,G=o.length;h1){let h=!1,G=0;for(let y=0,v=d.length;y0&&h===!1&&(A=u)}let f;for(let h=0,G=d.length;h{const u=typeof l=="function"?l(e):l;if(u!==e){const d=e;e=I?u:Object.assign({},e,u),t.forEach(A=>A(e,d))}},s=()=>e,o=(l,I=s,u=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let d=I(e);function A(){const p=I(e);if(!u(d,p)){const b=d;l(d=p,b)}}return t.add(A),()=>t.delete(A)},a={setState:n,getState:s,subscribe:(l,I,u)=>I||u?o(l,I,u):(t.add(l),()=>t.delete(l)),destroy:()=>t.clear()};return e=i(n,s,a),a}const rT=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),Sw=rT?k.useEffect:k.useLayoutEffect;function yM(i){const e=typeof i=="function"?oT(i):i,t=(n=e.getState,s=Object.is)=>{const[,o]=k.useReducer(f=>f+1,0),r=e.getState(),g=k.useRef(r),a=k.useRef(n),l=k.useRef(s),I=k.useRef(!1),u=k.useRef();u.current===void 0&&(u.current=n(r));let d,A=!1;(g.current!==r||a.current!==n||l.current!==s||I.current)&&(d=n(r),A=!s(u.current,d)),Sw(()=>{A&&(u.current=d),g.current=r,a.current=n,l.current=s,I.current=!1});const p=k.useRef(r);Sw(()=>{const f=()=>{try{const G=e.getState(),y=a.current(G);l.current(u.current,y)||(g.current=G,u.current=y,o())}catch{I.current=!0,o()}},h=e.subscribe(f);return e.getState()!==p.current&&f(),h},[]);const b=A?d:u.current;return k.useDebugValue(b),b};return Object.assign(t,e),t[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");const n=[t,e];return{next(){const s=n.length<=0;return{value:n.shift(),done:s}}}},t}var BM={exports:{}},vM={exports:{}},ZM={};/** + * @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(i){function e(N,D){var U=N.length;N.push(D);e:for(;0>>1,ye=N[te];if(0>>1;tes(fe,U))xes(we,fe)?(N[te]=we,N[xe]=U,te=xe):(N[te]=fe,N[ee]=U,te=ee);else if(xes(we,U))N[te]=we,N[xe]=U,te=xe;else break e}}return D}function s(N,D){var U=N.sortIndex-D.sortIndex;return U!==0?U:N.id-D.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;i.unstable_now=function(){return o.now()}}else{var r=Date,g=r.now();i.unstable_now=function(){return r.now()-g}}var a=[],l=[],I=1,u=null,d=3,A=!1,p=!1,b=!1,f=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,G=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(N){for(var D=t(l);D!==null;){if(D.callback===null)n(l);else if(D.startTime<=N)n(l),D.sortIndex=D.expirationTime,e(a,D);else break;D=t(l)}}function v(N){if(b=!1,y(N),!p)if(t(a)!==null)p=!0,de(W);else{var D=t(l);D!==null&&he(v,D.startTime-N)}}function W(N,D){p=!1,b&&(b=!1,h(M),M=-1),A=!0;var U=d;try{for(y(D),u=t(a);u!==null&&(!(u.expirationTime>D)||N&&!Y());){var te=u.callback;if(typeof te=="function"){u.callback=null,d=u.priorityLevel;var ye=te(u.expirationTime<=D);D=i.unstable_now(),typeof ye=="function"?u.callback=ye:u===t(a)&&n(a),y(D)}else n(a);u=t(a)}if(u!==null)var Re=!0;else{var ee=t(l);ee!==null&&he(v,ee.startTime-D),Re=!1}return Re}finally{u=null,d=U,A=!1}}var R=!1,x=null,M=-1,V=5,w=-1;function Y(){return!(i.unstable_now()-wN||125te?(N.sortIndex=U,e(l,N),t(a)===null&&N===t(l)&&(b?(h(M),M=-1):b=!0,he(v,U-te))):(N.sortIndex=ye,e(a,N),p||A||(p=!0,de(W))),N},i.unstable_shouldYield=Y,i.unstable_wrapCallback=function(N){var D=d;return function(){var U=d;d=D;try{return N.apply(this,arguments)}finally{d=U}}}})(ZM);vM.exports=ZM;var iG=vM.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 gT=function(e){var t={},n=k,s=iG,o=Object.assign;function r(c){for(var C="https://reactjs.org/docs/error-decoder.html?invariant="+c,m=1;mO||Z[z]!==S[O]){var Ie=` +`+Z[z].replace(" at new "," at ");return c.displayName&&Ie.includes("")&&(Ie=Ie.replace("",c.displayName)),Ie}while(1<=z&&0<=O);break}}}finally{gn=!1,Error.prepareStackTrace=m}return(c=c?c.displayName||c.name:"")?mt(c):""}var vi=Object.prototype.hasOwnProperty,ss=[],Xt=-1;function rt(c){return{current:c}}function kt(c){0>Xt||(c.current=ss[Xt],ss[Xt]=null,Xt--)}function gt(c,C){Xt++,ss[Xt]=c.current,c.current=C}var ci={},Ln=rt(ci),Wn=rt(!1),Js=ci;function un(c,C){var m=c.type.contextTypes;if(!m)return ci;var B=c.stateNode;if(B&&B.__reactInternalMemoizedUnmaskedChildContext===C)return B.__reactInternalMemoizedMaskedChildContext;var Z={},S;for(S in m)Z[S]=C[S];return B&&(c=c.stateNode,c.__reactInternalMemoizedUnmaskedChildContext=C,c.__reactInternalMemoizedMaskedChildContext=Z),Z}function dn(c){return c=c.childContextTypes,c!=null}function Mr(){kt(Wn),kt(Ln)}function Zi(c,C,m){if(Ln.current!==ci)throw Error(r(168));gt(Ln,C),gt(Wn,m)}function Ja(c,C,m){var B=c.stateNode;if(C=C.childContextTypes,typeof B.getChildContext!="function")return m;B=B.getChildContext();for(var Z in B)if(!(Z in C))throw Error(r(108,M(c)||"Unknown",Z));return o({},m,B)}function Pa(c){return c=(c=c.stateNode)&&c.__reactInternalMemoizedMergedChildContext||ci,Js=Ln.current,gt(Ln,c),gt(Wn,Wn.current),!0}function Vc(c,C,m){var B=c.stateNode;if(!B)throw Error(r(169));m?(c=Ja(c,C,Js),B.__reactInternalMemoizedMergedChildContext=c,kt(Wn),kt(Ln),gt(Ln,c)):kt(Wn),gt(Wn,m)}var Ps=Math.clz32?Math.clz32:iH,tH=Math.log,nH=Math.LN2;function iH(c){return c>>>=0,c===0?32:31-(tH(c)/nH|0)|0}var ou=64,ru=4194304;function Mc(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 gu(c,C){var m=c.pendingLanes;if(m===0)return 0;var B=0,Z=c.suspendedLanes,S=c.pingedLanes,z=m&268435455;if(z!==0){var O=z&~Z;O!==0?B=Mc(O):(S&=z,S!==0&&(B=Mc(S)))}else z=m&~Z,z!==0?B=Mc(z):S!==0&&(B=Mc(S));if(B===0)return 0;if(C!==0&&C!==B&&!(C&Z)&&(Z=B&-B,S=C&-C,Z>=S||Z===16&&(S&4194240)!==0))return C;if(B&4&&(B|=m&16),C=c.entangledLanes,C!==0)for(c=c.entanglements,C&=B;0m;m++)C.push(c);return C}function Xc(c,C,m){c.pendingLanes|=C,C!==536870912&&(c.suspendedLanes=0,c.pingedLanes=0),c=c.eventTimes,C=31-Ps(C),c[C]=m}function rH(c,C){var m=c.pendingLanes&~C;c.pendingLanes=C,c.suspendedLanes=0,c.pingedLanes=0,c.expiredLanes&=C,c.mutableReadLanes&=C,c.entangledLanes&=C,C=c.entanglements;var B=c.eventTimes;for(c=c.expirationTimes;0>=z,Z-=z,Jo=1<<32-Ps(C)+Z|m<Tt?(Jn=Gt,Gt=null):Jn=Gt.sibling;var Et=ot(ie,Gt,le[Tt],Te);if(Et===null){Gt===null&&(Gt=Jn);break}c&&Gt&&Et.alternate===null&&C(ie,Gt),j=S(Et,j,Tt),St===null?$e=Et:St.sibling=Et,St=Et,Gt=Jn}if(Tt===le.length)return m(ie,Gt),an&&xg(ie,Tt),$e;if(Gt===null){for(;TtTt?(Jn=Gt,Gt=null):Jn=Gt.sibling;var zr=ot(ie,Gt,Et.value,Te);if(zr===null){Gt===null&&(Gt=Jn);break}c&&Gt&&zr.alternate===null&&C(ie,Gt),j=S(zr,j,Tt),St===null?$e=zr:St.sibling=zr,St=zr,Gt=Jn}if(Et.done)return m(ie,Gt),an&&xg(ie,Tt),$e;if(Gt===null){for(;!Et.done;Tt++,Et=le.next())Et=bt(ie,Et.value,Te),Et!==null&&(j=S(Et,j,Tt),St===null?$e=Et:St.sibling=Et,St=Et);return an&&xg(ie,Tt),$e}for(Gt=B(ie,Gt);!Et.done;Tt++,Et=le.next())Et=Qt(Gt,ie,Tt,Et.value,Te),Et!==null&&(c&&Et.alternate!==null&&Gt.delete(Et.key===null?Tt:Et.key),j=S(Et,j,Tt),St===null?$e=Et:St.sibling=Et,St=Et);return c&&Gt.forEach(function(UH){return C(ie,UH)}),an&&xg(ie,Tt),$e}function Ss(ie,j,le,Te){if(typeof le=="object"&&le!==null&&le.type===I&&le.key===null&&(le=le.props.children),typeof le=="object"&&le!==null){switch(le.$$typeof){case a:e:{for(var $e=le.key,St=j;St!==null;){if(St.key===$e){if($e=le.type,$e===I){if(St.tag===7){m(ie,St.sibling),j=Z(St,le.props.children),j.return=ie,ie=j;break e}}else if(St.elementType===$e||typeof $e=="object"&&$e!==null&&$e.$$typeof===y&&ZB($e)===St.type){m(ie,St.sibling),j=Z(St,le.props),j.ref=Nc(ie,St,le),j.return=ie,ie=j;break e}m(ie,St);break}else C(ie,St);St=St.sibling}le.type===I?(j=Yg(le.props.children,ie.mode,Te,le.key),j.return=ie,ie=j):(Te=Ou(le.type,le.key,le.props,null,ie.mode,Te),Te.ref=Nc(ie,j,le),Te.return=ie,ie=Te)}return z(ie);case l:e:{for(St=le.key;j!==null;){if(j.key===St)if(j.tag===4&&j.stateNode.containerInfo===le.containerInfo&&j.stateNode.implementation===le.implementation){m(ie,j.sibling),j=Z(j,le.children||[]),j.return=ie,ie=j;break e}else{m(ie,j);break}else C(ie,j);j=j.sibling}j=Wm(le,ie.mode,Te),j.return=ie,ie=j}return z(ie);case y:return St=le._init,Ss(ie,j,St(le._payload),Te)}if(ge(le))return it(ie,j,le,Te);if(R(le))return di(ie,j,le,Te);mu(ie,le)}return typeof le=="string"&&le!==""||typeof le=="number"?(le=""+le,j!==null&&j.tag===6?(m(ie,j.sibling),j=Z(j,le),j.return=ie,ie=j):(m(ie,j),j=Sm(le,ie.mode,Te),j.return=ie,ie=j),z(ie)):m(ie,j)}return Ss}var el=wB(!0),RB=wB(!1),Yc={},vs=rt(Yc),Kc=rt(Yc),tl=rt(Yc);function Bo(c){if(c===Yc)throw Error(r(174));return c}function Dp(c,C){gt(tl,C),gt(Kc,c),gt(vs,Yc),c=he(C),kt(vs),gt(vs,c)}function nl(){kt(vs),kt(Kc),kt(tl)}function SB(c){var C=Bo(tl.current),m=Bo(vs.current);C=N(m,c.type,C),m!==C&&(gt(Kc,c),gt(vs,C))}function Jp(c){Kc.current===c&&(kt(vs),kt(Kc))}var An=rt(0);function fu(c){for(var C=c;C!==null;){if(C.tag===13){var m=C.memoizedState;if(m!==null&&(m=m.dehydrated,m===null||Sg(m)||Ua(m)))return C}else if(C.tag===19&&C.memoizedProps.revealOrder!==void 0){if(C.flags&128)return C}else if(C.child!==null){C.child.return=C,C=C.child;continue}if(C===c)break;for(;C.sibling===null;){if(C.return===null||C.return===c)return null;C=C.return}C.sibling.return=C.return,C=C.sibling}return null}var Pp=[];function Op(){for(var c=0;cm?m:4,c(!0);var B=Zs.transition;Zs.transition={};try{c(!1),C()}finally{zt=m,Zs.transition=B}}function EB(){return vo().memoizedState}function mH(c,C,m){var B=Yr(c);m={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null},kB(c)?_B(C,m):(UB(c,C,m),m=Ri(),c=ws(c,B,m),c!==null&&DB(c,C,B))}function fH(c,C,m){var B=Yr(c),Z={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null};if(kB(c))_B(C,Z);else{UB(c,C,Z);var S=c.alternate;if(c.lanes===0&&(S===null||S.lanes===0)&&(S=C.lastRenderedReducer,S!==null))try{var z=C.lastRenderedState,O=S(z,m);if(Z.hasEagerState=!0,Z.eagerState=O,bo(O,z))return}catch{}finally{}m=Ri(),c=ws(c,B,m),c!==null&&DB(c,C,B)}}function kB(c){var C=c.alternate;return c===bn||C!==null&&C===bn}function _B(c,C){Lc=Gu=!0;var m=c.pending;m===null?C.next=C:(C.next=m.next,m.next=C),c.pending=C}function UB(c,C,m){xn!==null&&c.mode&1&&!(Wt&2)?(c=C.interleaved,c===null?(m.next=m,yo===null?yo=[C]:yo.push(C)):(m.next=c.next,c.next=m),C.interleaved=m):(c=C.pending,c===null?m.next=m:(m.next=c.next,c.next=m),C.pending=m)}function DB(c,C,m){if(m&4194240){var B=C.lanes;B&=c.pendingLanes,m|=B,C.lanes=m,Wp(c,m)}}var wu={readContext:Gs,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},bH={readContext:Gs,useCallback:function(c,C){return Oo().memoizedState=[c,C===void 0?null:C],c},useContext:Gs,useEffect:em,useImperativeHandle:function(c,C,m){return m=m!=null?m.concat([c]):null,vu(4194308,4,KB.bind(null,C,c),m)},useLayoutEffect:function(c,C){return vu(4194308,4,c,C)},useInsertionEffect:function(c,C){return vu(4,2,c,C)},useMemo:function(c,C){var m=Oo();return C=C===void 0?null:C,c=c(),m.memoizedState=[c,C],c},useReducer:function(c,C,m){var B=Oo();return C=m!==void 0?m(C):C,B.memoizedState=B.baseState=C,c={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:c,lastRenderedState:C},B.queue=c,c=c.dispatch=mH.bind(null,bn,c),[B.memoizedState,c]},useRef:function(c){var C=Oo();return c={current:c},C.memoizedState=c},useState:$p,useDebugValue:tm,useDeferredValue:function(c){var C=$p(c),m=C[0],B=C[1];return em(function(){var Z=Zs.transition;Zs.transition={};try{B(c)}finally{Zs.transition=Z}},[c]),m},useTransition:function(){var c=$p(!1),C=c[0];return c=pH.bind(null,c[1]),Oo().memoizedState=c,[C,c]},useMutableSource:function(){},useSyncExternalStore:function(c,C,m){var B=bn,Z=Oo();if(an){if(m===void 0)throw Error(r(407));m=m()}else{if(m=C(),xn===null)throw Error(r(349));il&30||VB(B,C,m)}Z.memoizedState=m;var S={value:m,getSnapshot:C};return Z.queue=S,em(XB.bind(null,B,S,c),[c]),B.flags|=2048,Tc(9,MB.bind(null,B,S,m,C),void 0,null),m},useId:function(){var c=Oo(),C=xn.identifierPrefix;if(an){var m=Po,B=Jo;m=(B&~(1<<32-Ps(B)-1)).toString(32)+m,C=":"+C+"R"+m,m=zc++,0bm&&(C.flags|=128,B=!0,Uc(Z,!1),C.lanes=4194304)}else{if(!B)if(c=fu(S),c!==null){if(C.flags|=128,B=!0,c=c.updateQueue,c!==null&&(C.updateQueue=c,C.flags|=4),Uc(Z,!0),Z.tail===null&&Z.tailMode==="hidden"&&!S.alternate&&!an)return ui(C),null}else 2*Un()-Z.renderingStartTime>bm&&m!==1073741824&&(C.flags|=128,B=!0,Uc(Z,!1),C.lanes=4194304);Z.isBackwards?(S.sibling=C.child,C.child=S):(c=Z.last,c!==null?c.sibling=S:C.child=S,Z.last=S)}return Z.tail!==null?(C=Z.tail,Z.rendering=C,Z.tail=C.sibling,Z.renderingStartTime=Un(),C.sibling=null,c=An.current,gt(An,B?c&1|2:c&1),C):(ui(C),null);case 22:case 23:return Zm(),B=C.memoizedState!==null,c!==null&&c.memoizedState!==null!==B&&(C.flags|=8192),B&&C.mode&1?as&1073741824&&(ui(C),at&&C.subtreeFlags&6&&(C.flags|=8192)):ui(C),null;case 24:return null;case 25:return null}throw Error(r(156,C.tag))}var ZH=g.ReactCurrentOwner,gs=!1;function wi(c,C,m,B){C.child=c===null?RB(C,null,m,B):el(C,c.child,m,B)}function ev(c,C,m,B,Z){m=m.render;var S=C.ref;return Qa(C,Z),B=jp(c,C,m,B,S,Z),m=qp(),c!==null&&!gs?(C.updateQueue=c.updateQueue,C.flags&=-2053,c.lanes&=~Z,Qo(c,C,Z)):(an&&m&&Tp(C),C.flags|=1,wi(c,C,B,Z),C.child)}function tv(c,C,m,B,Z){if(c===null){var S=m.type;return typeof S=="function"&&!Rm(S)&&S.defaultProps===void 0&&m.compare===null&&m.defaultProps===void 0?(C.tag=15,C.type=S,nv(c,C,S,B,Z)):(c=Ou(m.type,null,B,C,C.mode,Z),c.ref=C.ref,c.return=C,C.child=c)}if(S=c.child,!(c.lanes&Z)){var z=S.memoizedProps;if(m=m.compare,m=m!==null?m:cu,m(z,B)&&c.ref===C.ref)return Qo(c,C,Z)}return C.flags|=1,c=Lr(S,B),c.ref=C.ref,c.return=C,C.child=c}function nv(c,C,m,B,Z){if(c!==null&&cu(c.memoizedProps,B)&&c.ref===C.ref)if(gs=!1,(c.lanes&Z)!==0)c.flags&131072&&(gs=!0);else return C.lanes=c.lanes,Qo(c,C,Z);return sm(c,C,m,B,Z)}function iv(c,C,m){var B=C.pendingProps,Z=B.children,S=c!==null?c.memoizedState:null;if(B.mode==="hidden")if(!(C.mode&1))C.memoizedState={baseLanes:0,cachePool:null},gt(sl,as),as|=m;else if(m&1073741824)C.memoizedState={baseLanes:0,cachePool:null},B=S!==null?S.baseLanes:m,gt(sl,as),as|=B;else return c=S!==null?S.baseLanes|m:m,C.lanes=C.childLanes=1073741824,C.memoizedState={baseLanes:c,cachePool:null},C.updateQueue=null,gt(sl,as),as|=c,null;else S!==null?(B=S.baseLanes|m,C.memoizedState=null):B=m,gt(sl,as),as|=B;return wi(c,C,Z,m),C.child}function sv(c,C){var m=C.ref;(c===null&&m!==null||c!==null&&c.ref!==m)&&(C.flags|=512,C.flags|=2097152)}function sm(c,C,m,B,Z){var S=dn(m)?Js:Ln.current;return S=un(C,S),Qa(C,Z),m=jp(c,C,m,B,S,Z),B=qp(),c!==null&&!gs?(C.updateQueue=c.updateQueue,C.flags&=-2053,c.lanes&=~Z,Qo(c,C,Z)):(an&&B&&Tp(C),C.flags|=1,wi(c,C,m,Z),C.child)}function ov(c,C,m,B,Z){if(dn(m)){var S=!0;Pa(C)}else S=!1;if(Qa(C,Z),C.stateNode===null)c!==null&&(c.alternate=null,C.alternate=null,C.flags|=2),fB(C,m,B),zp(C,m,B,Z),B=!0;else if(c===null){var z=C.stateNode,O=C.memoizedProps;z.props=O;var Ie=z.context,Ve=m.contextType;typeof Ve=="object"&&Ve!==null?Ve=Gs(Ve):(Ve=dn(m)?Js:Ln.current,Ve=un(C,Ve));var Je=m.getDerivedStateFromProps,bt=typeof Je=="function"||typeof z.getSnapshotBeforeUpdate=="function";bt||typeof z.UNSAFE_componentWillReceiveProps!="function"&&typeof z.componentWillReceiveProps!="function"||(O!==B||Ie!==Ve)&&bB(C,z,B,Ve),Xr=!1;var ot=C.memoizedState;z.state=ot,du(C,B,z,Z),Ie=C.memoizedState,O!==B||ot!==Ie||Wn.current||Xr?(typeof Je=="function"&&(Lp(C,m,Je,B),Ie=C.memoizedState),(O=Xr||mB(C,m,O,B,ot,Ie,Ve))?(bt||typeof z.UNSAFE_componentWillMount!="function"&&typeof z.componentWillMount!="function"||(typeof z.componentWillMount=="function"&&z.componentWillMount(),typeof z.UNSAFE_componentWillMount=="function"&&z.UNSAFE_componentWillMount()),typeof z.componentDidMount=="function"&&(C.flags|=4194308)):(typeof z.componentDidMount=="function"&&(C.flags|=4194308),C.memoizedProps=B,C.memoizedState=Ie),z.props=B,z.state=Ie,z.context=Ve,B=O):(typeof z.componentDidMount=="function"&&(C.flags|=4194308),B=!1)}else{z=C.stateNode,dB(c,C),O=C.memoizedProps,Ve=C.type===C.elementType?O:Os(C.type,O),z.props=Ve,bt=C.pendingProps,ot=z.context,Ie=m.contextType,typeof Ie=="object"&&Ie!==null?Ie=Gs(Ie):(Ie=dn(m)?Js:Ln.current,Ie=un(C,Ie));var Qt=m.getDerivedStateFromProps;(Je=typeof Qt=="function"||typeof z.getSnapshotBeforeUpdate=="function")||typeof z.UNSAFE_componentWillReceiveProps!="function"&&typeof z.componentWillReceiveProps!="function"||(O!==bt||ot!==Ie)&&bB(C,z,B,Ie),Xr=!1,ot=C.memoizedState,z.state=ot,du(C,B,z,Z);var it=C.memoizedState;O!==bt||ot!==it||Wn.current||Xr?(typeof Qt=="function"&&(Lp(C,m,Qt,B),it=C.memoizedState),(Ve=Xr||mB(C,m,Ve,B,ot,it,Ie)||!1)?(Je||typeof z.UNSAFE_componentWillUpdate!="function"&&typeof z.componentWillUpdate!="function"||(typeof z.componentWillUpdate=="function"&&z.componentWillUpdate(B,it,Ie),typeof z.UNSAFE_componentWillUpdate=="function"&&z.UNSAFE_componentWillUpdate(B,it,Ie)),typeof z.componentDidUpdate=="function"&&(C.flags|=4),typeof z.getSnapshotBeforeUpdate=="function"&&(C.flags|=1024)):(typeof z.componentDidUpdate!="function"||O===c.memoizedProps&&ot===c.memoizedState||(C.flags|=4),typeof z.getSnapshotBeforeUpdate!="function"||O===c.memoizedProps&&ot===c.memoizedState||(C.flags|=1024),C.memoizedProps=B,C.memoizedState=it),z.props=B,z.state=it,z.context=Ie,B=Ve):(typeof z.componentDidUpdate!="function"||O===c.memoizedProps&&ot===c.memoizedState||(C.flags|=4),typeof z.getSnapshotBeforeUpdate!="function"||O===c.memoizedProps&&ot===c.memoizedState||(C.flags|=1024),B=!1)}return om(c,C,m,B,S,Z)}function om(c,C,m,B,Z,S){sv(c,C);var z=(C.flags&128)!==0;if(!B&&!z)return Z&&Vc(C,m,!1),Qo(c,C,S);B=C.stateNode,ZH.current=C;var O=z&&typeof m.getDerivedStateFromError!="function"?null:B.render();return C.flags|=1,c!==null&&z?(C.child=el(C,c.child,null,S),C.child=el(C,null,O,S)):wi(c,C,O,S),C.memoizedState=B.state,Z&&Vc(C,m,!0),C.child}function rv(c){var C=c.stateNode;C.pendingContext?Zi(c,C.pendingContext,C.pendingContext!==C.context):C.context&&Zi(c,C.context,!1),Dp(c,C.containerInfo)}function gv(c,C,m,B,Z){return $a(),Up(Z),C.flags|=256,wi(c,C,m,B),C.child}var Wu={dehydrated:null,treeContext:null,retryLane:0};function xu(c){return{baseLanes:c,cachePool:null}}function av(c,C,m){var B=C.pendingProps,Z=An.current,S=!1,z=(C.flags&128)!==0,O;if((O=z)||(O=c!==null&&c.memoizedState===null?!1:(Z&2)!==0),O?(S=!0,C.flags&=-129):(c===null||c.memoizedState!==null)&&(Z|=1),gt(An,Z&1),c===null)return _p(C),c=C.memoizedState,c!==null&&(c=c.dehydrated,c!==null)?(C.mode&1?Ua(c)?C.lanes=8:C.lanes=1073741824:C.lanes=1,null):(Z=B.children,c=B.fallback,S?(B=C.mode,S=C.child,Z={mode:"hidden",children:Z},!(B&1)&&S!==null?(S.childLanes=0,S.pendingProps=Z):S=Qu(Z,B,0,null),c=Yg(c,B,m,null),S.return=C,c.return=C,S.sibling=c,C.child=S,C.child.memoizedState=xu(m),C.memoizedState=Wu,c):rm(C,Z));if(Z=c.memoizedState,Z!==null){if(O=Z.dehydrated,O!==null){if(z)return C.flags&256?(C.flags&=-257,Vu(c,C,m,Error(r(422)))):C.memoizedState!==null?(C.child=c.child,C.flags|=128,null):(S=B.fallback,Z=C.mode,B=Qu({mode:"visible",children:B.children},Z,0,null),S=Yg(S,Z,m,null),S.flags|=2,B.return=C,S.return=C,B.sibling=S,C.child=B,C.mode&1&&el(C,c.child,null,m),C.child.memoizedState=xu(m),C.memoizedState=Wu,S);if(!(C.mode&1))C=Vu(c,C,m,null);else if(Ua(O))C=Vu(c,C,m,Error(r(419)));else if(B=(m&c.childLanes)!==0,gs||B){if(B=xn,B!==null){switch(m&-m){case 4:S=2;break;case 16:S=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:S=32;break;case 536870912:S=268435456;break;default:S=0}B=S&(B.suspendedLanes|m)?0:S,B!==0&&B!==Z.retryLane&&(Z.retryLane=B,ws(c,B,-1))}wm(),C=Vu(c,C,m,Error(r(421)))}else Sg(O)?(C.flags|=128,C.child=c.child,C=KH.bind(null,c),Da(O,C),C=null):(m=Z.treeContext,Ge&&(rs=Zp(O),os=C,an=!0,Qs=null,Hc=!1,m!==null&&(ys[Bs++]=Jo,ys[Bs++]=Po,ys[Bs++]=Wg,Jo=m.id,Po=m.overflow,Wg=C)),C=rm(C,C.pendingProps.children),C.flags|=4096);return C}return S?(B=cv(c,C,B.children,B.fallback,m),S=C.child,Z=c.child.memoizedState,S.memoizedState=Z===null?xu(m):{baseLanes:Z.baseLanes|m,cachePool:null},S.childLanes=c.childLanes&~m,C.memoizedState=Wu,B):(m=lv(c,C,B.children,m),C.memoizedState=null,m)}return S?(B=cv(c,C,B.children,B.fallback,m),S=C.child,Z=c.child.memoizedState,S.memoizedState=Z===null?xu(m):{baseLanes:Z.baseLanes|m,cachePool:null},S.childLanes=c.childLanes&~m,C.memoizedState=Wu,B):(m=lv(c,C,B.children,m),C.memoizedState=null,m)}function rm(c,C){return C=Qu({mode:"visible",children:C},c.mode,0,null),C.return=c,c.child=C}function lv(c,C,m,B){var Z=c.child;return c=Z.sibling,m=Lr(Z,{mode:"visible",children:m}),!(C.mode&1)&&(m.lanes=B),m.return=C,m.sibling=null,c!==null&&(B=C.deletions,B===null?(C.deletions=[c],C.flags|=16):B.push(c)),C.child=m}function cv(c,C,m,B,Z){var S=C.mode;c=c.child;var z=c.sibling,O={mode:"hidden",children:m};return!(S&1)&&C.child!==c?(m=C.child,m.childLanes=0,m.pendingProps=O,C.deletions=null):(m=Lr(c,O),m.subtreeFlags=c.subtreeFlags&14680064),z!==null?B=Lr(z,B):(B=Yg(B,S,Z,null),B.flags|=2),B.return=C,m.return=C,m.sibling=B,C.child=m,B}function Vu(c,C,m,B){return B!==null&&Up(B),el(C,c.child,null,m),c=rm(C,C.pendingProps.children),c.flags|=2,C.memoizedState=null,c}function Iv(c,C,m){c.lanes|=C;var B=c.alternate;B!==null&&(B.lanes|=C),Yp(c.return,C,m)}function gm(c,C,m,B,Z){var S=c.memoizedState;S===null?c.memoizedState={isBackwards:C,rendering:null,renderingStartTime:0,last:B,tail:m,tailMode:Z}:(S.isBackwards=C,S.rendering=null,S.renderingStartTime=0,S.last=B,S.tail=m,S.tailMode=Z)}function Cv(c,C,m){var B=C.pendingProps,Z=B.revealOrder,S=B.tail;if(wi(c,C,B.children,m),B=An.current,B&2)B=B&1|2,C.flags|=128;else{if(c!==null&&c.flags&128)e:for(c=C.child;c!==null;){if(c.tag===13)c.memoizedState!==null&&Iv(c,m,C);else if(c.tag===19)Iv(c,m,C);else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===C)break e;for(;c.sibling===null;){if(c.return===null||c.return===C)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}B&=1}if(gt(An,B),!(C.mode&1))C.memoizedState=null;else switch(Z){case"forwards":for(m=C.child,Z=null;m!==null;)c=m.alternate,c!==null&&fu(c)===null&&(Z=m),m=m.sibling;m=Z,m===null?(Z=C.child,C.child=null):(Z=m.sibling,m.sibling=null),gm(C,!1,Z,m,S);break;case"backwards":for(m=null,Z=C.child,C.child=null;Z!==null;){if(c=Z.alternate,c!==null&&fu(c)===null){C.child=Z;break}c=Z.sibling,Z.sibling=m,m=Z,Z=c}gm(C,!0,m,null,S);break;case"together":gm(C,!1,null,null,void 0);break;default:C.memoizedState=null}return C.child}function Qo(c,C,m){if(c!==null&&(C.dependencies=c.dependencies),ol|=C.lanes,!(m&C.childLanes))return null;if(c!==null&&C.child!==c.child)throw Error(r(153));if(C.child!==null){for(c=C.child,m=Lr(c,c.pendingProps),C.child=m,m.return=C;c.sibling!==null;)c=c.sibling,m=m.sibling=Lr(c,c.pendingProps),m.return=C;m.sibling=null}return C.child}function wH(c,C,m){switch(C.tag){case 3:rv(C),$a();break;case 5:SB(C);break;case 1:dn(C.type)&&Pa(C);break;case 4:Dp(C,C.stateNode.containerInfo);break;case 10:uB(C,C.type._context,C.memoizedProps.value);break;case 13:var B=C.memoizedState;if(B!==null)return B.dehydrated!==null?(gt(An,An.current&1),C.flags|=128,null):m&C.child.childLanes?av(c,C,m):(gt(An,An.current&1),c=Qo(c,C,m),c!==null?c.sibling:null);gt(An,An.current&1);break;case 19:if(B=(m&C.childLanes)!==0,c.flags&128){if(B)return Cv(c,C,m);C.flags|=128}var Z=C.memoizedState;if(Z!==null&&(Z.rendering=null,Z.tail=null,Z.lastEffect=null),gt(An,An.current),B)break;return null;case 22:case 23:return C.lanes=0,iv(c,C,m)}return Qo(c,C,m)}function RH(c,C){switch(Ep(C),C.tag){case 1:return dn(C.type)&&Mr(),c=C.flags,c&65536?(C.flags=c&-65537|128,C):null;case 3:return nl(),kt(Wn),kt(Ln),Op(),c=C.flags,c&65536&&!(c&128)?(C.flags=c&-65537|128,C):null;case 5:return Jp(C),null;case 13:if(kt(An),c=C.memoizedState,c!==null&&c.dehydrated!==null){if(C.alternate===null)throw Error(r(340));$a()}return c=C.flags,c&65536?(C.flags=c&-65537|128,C):null;case 19:return kt(An),null;case 4:return nl(),null;case 10:return Np(C.type._context),null;case 22:case 23:return Zm(),null;case 24:return null;default:return null}}var Mu=!1,Mg=!1,SH=typeof WeakSet=="function"?WeakSet:Set,ze=null;function Xu(c,C){var m=c.ref;if(m!==null)if(typeof m=="function")try{m(null)}catch(B){_i(c,C,B)}else m.current=null}function am(c,C,m){try{m()}catch(B){_i(c,C,B)}}var uv=!1;function WH(c,C){for(D(c.containerInfo),ze=C;ze!==null;)if(c=ze,C=c.child,(c.subtreeFlags&1028)!==0&&C!==null)C.return=c,ze=C;else for(;ze!==null;){c=ze;try{var m=c.alternate;if(c.flags&1024)switch(c.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var B=m.memoizedProps,Z=m.memoizedState,S=c.stateNode,z=S.getSnapshotBeforeUpdate(c.elementType===c.type?B:Os(c.type,B),Z);S.__reactInternalSnapshotBeforeUpdate=z}break;case 3:at&&_e(c.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(O){_i(c,c.return,O)}if(C=c.sibling,C!==null){C.return=c.return,ze=C;break}ze=c.return}return m=uv,uv=!1,m}function Xg(c,C,m){var B=C.updateQueue;if(B=B!==null?B.lastEffect:null,B!==null){var Z=B=B.next;do{if((Z.tag&c)===c){var S=Z.destroy;Z.destroy=void 0,S!==void 0&&am(C,m,S)}Z=Z.next}while(Z!==B)}}function Dc(c,C){if(C=C.updateQueue,C=C!==null?C.lastEffect:null,C!==null){var m=C=C.next;do{if((m.tag&c)===c){var B=m.create;m.destroy=B()}m=m.next}while(m!==C)}}function lm(c){var C=c.ref;if(C!==null){var m=c.stateNode;switch(c.tag){case 5:c=de(m);break;default:c=m}typeof C=="function"?C(c):C.current=c}}function dv(c,C,m){if(fo&&typeof fo.onCommitFiberUnmount=="function")try{fo.onCommitFiberUnmount(au,C)}catch{}switch(C.tag){case 0:case 11:case 14:case 15:if(c=C.updateQueue,c!==null&&(c=c.lastEffect,c!==null)){var B=c=c.next;do{var Z=B,S=Z.destroy;Z=Z.tag,S!==void 0&&(Z&2||Z&4)&&am(C,m,S),B=B.next}while(B!==c)}break;case 1:if(Xu(C,m),c=C.stateNode,typeof c.componentWillUnmount=="function")try{c.props=C.memoizedProps,c.state=C.memoizedState,c.componentWillUnmount()}catch(z){_i(C,m,z)}break;case 5:Xu(C,m);break;case 4:at?bv(c,C,m):Ce&&Ce&&(C=C.stateNode.containerInfo,m=xt(C),Vt(C,m))}}function Av(c,C,m){for(var B=C;;)if(dv(c,B,m),B.child===null||at&&B.tag===4){if(B===C)break;for(;B.sibling===null;){if(B.return===null||B.return===C)return;B=B.return}B.sibling.return=B.return,B=B.sibling}else B.child.return=B,B=B.child}function hv(c){var C=c.alternate;C!==null&&(c.alternate=null,hv(C)),c.child=null,c.deletions=null,c.sibling=null,c.tag===5&&(C=c.stateNode,C!==null&&ke(C)),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 pv(c){return c.tag===5||c.tag===3||c.tag===4}function mv(c){e:for(;;){for(;c.sibling===null;){if(c.return===null||pv(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 fv(c){if(at){e:{for(var C=c.return;C!==null;){if(pv(C))break e;C=C.return}throw Error(r(160))}var m=C;switch(m.tag){case 5:C=m.stateNode,m.flags&32&&(We(C),m.flags&=-33),m=mv(c),Im(c,m,C);break;case 3:case 4:C=m.stateNode.containerInfo,m=mv(c),cm(c,m,C);break;default:throw Error(r(161))}}}function cm(c,C,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,C?At(m,c,C):Xe(m,c);else if(B!==4&&(c=c.child,c!==null))for(cm(c,C,m),c=c.sibling;c!==null;)cm(c,C,m),c=c.sibling}function Im(c,C,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,C?Ue(m,c,C):dt(m,c);else if(B!==4&&(c=c.child,c!==null))for(Im(c,C,m),c=c.sibling;c!==null;)Im(c,C,m),c=c.sibling}function bv(c,C,m){for(var B=C,Z=!1,S,z;;){if(!Z){Z=B.return;e:for(;;){if(Z===null)throw Error(r(160));switch(S=Z.stateNode,Z.tag){case 5:z=!1;break e;case 3:S=S.containerInfo,z=!0;break e;case 4:S=S.containerInfo,z=!0;break e}Z=Z.return}Z=!0}if(B.tag===5||B.tag===6)Av(c,B,m),z?ve(S,B.stateNode):P(S,B.stateNode);else if(B.tag===18)z?Qe(S,B.stateNode):Le(S,B.stateNode);else if(B.tag===4){if(B.child!==null){S=B.stateNode.containerInfo,z=!0,B.child.return=B,B=B.child;continue}}else if(dv(c,B,m),B.child!==null){B.child.return=B,B=B.child;continue}if(B===C)break;for(;B.sibling===null;){if(B.return===null||B.return===C)return;B=B.return,B.tag===4&&(Z=!1)}B.sibling.return=B.return,B=B.sibling}}function Cm(c,C){if(at){switch(C.tag){case 0:case 11:case 14:case 15:Xg(3,C,C.return),Dc(3,C),Xg(5,C,C.return);return;case 1:return;case 5:var m=C.stateNode;if(m!=null){var B=C.memoizedProps;c=c!==null?c.memoizedProps:B;var Z=C.type,S=C.updateQueue;C.updateQueue=null,S!==null&&st(m,S,Z,c,B,C)}return;case 6:if(C.stateNode===null)throw Error(r(162));m=C.memoizedProps,Oe(C.stateNode,c!==null?c.memoizedProps:m,m);return;case 3:Ge&&c!==null&&c.memoizedState.isDehydrated&&oe(C.stateNode.containerInfo);return;case 12:return;case 13:Hu(C);return;case 19:Hu(C);return;case 17:return}throw Error(r(163))}switch(C.tag){case 0:case 11:case 14:case 15:Xg(3,C,C.return),Dc(3,C),Xg(5,C,C.return);return;case 12:return;case 13:Hu(C);return;case 19:Hu(C);return;case 3:Ge&&c!==null&&c.memoizedState.isDehydrated&&oe(C.stateNode.containerInfo);break;case 22:case 23:return}e:if(Ce){switch(C.tag){case 1:case 5:case 6:break e;case 3:case 4:C=C.stateNode,Vt(C.containerInfo,C.pendingChildren);break e}throw Error(r(163))}}function Hu(c){var C=c.updateQueue;if(C!==null){c.updateQueue=null;var m=c.stateNode;m===null&&(m=c.stateNode=new SH),C.forEach(function(B){var Z=LH.bind(null,c,B);m.has(B)||(m.add(B),B.then(Z,Z))})}}function xH(c,C){for(ze=C;ze!==null;){C=ze;var m=C.deletions;if(m!==null)for(var B=0;B";case Nu:return":has("+(Am(c)||"")+")";case Yu:return'[role="'+c.value+'"]';case Lu:return'"'+c.value+'"';case Ku:return'[data-testname="'+c.value+'"]';default:throw Error(r(365))}}function Zv(c,C){var m=[];c=[c,0];for(var B=0;BZ&&(Z=z),B&=~S}if(B=Z,B=Un()-B,B=(120>B?120:480>B?480:1080>B?1080:1920>B?1920:3e3>B?3e3:4320>B?4320:1960*MH(B/1960))-B,10c?16:c,Nr===null)var B=!1;else{if(c=Nr,Nr=null,_u=0,Wt&6)throw Error(r(331));var Z=Wt;for(Wt|=4,ze=c.current;ze!==null;){var S=ze,z=S.child;if(ze.flags&16){var O=S.deletions;if(O!==null){for(var Ie=0;IeUn()-fm?Hg(c,0):mm|=m),ki(c,C)}function Hv(c,C){C===0&&(c.mode&1?(C=ru,ru<<=1,!(ru&130023424)&&(ru=4194304)):C=1);var m=Ri();c=Ju(c,C),c!==null&&(Xc(c,C,m),ki(c,m))}function KH(c){var C=c.memoizedState,m=0;C!==null&&(m=C.retryLane),Hv(c,m)}function LH(c,C){var m=0;switch(c.tag){case 13:var B=c.stateNode,Z=c.memoizedState;Z!==null&&(m=Z.retryLane);break;case 19:B=c.stateNode;break;default:throw Error(r(314))}B!==null&&B.delete(C),Hv(c,m)}var Fv;Fv=function(c,C,m){if(c!==null)if(c.memoizedProps!==C.pendingProps||Wn.current)gs=!0;else{if(!(c.lanes&m)&&!(C.flags&128))return gs=!1,wH(c,C,m);gs=!!(c.flags&131072)}else gs=!1,an&&C.flags&1048576&&GB(C,pu,C.index);switch(C.lanes=0,C.tag){case 2:var B=C.type;c!==null&&(c.alternate=null,C.alternate=null,C.flags|=2),c=C.pendingProps;var Z=un(C,Ln.current);Qa(C,m),Z=jp(null,C,B,c,Z,m);var S=qp();return C.flags|=1,typeof Z=="object"&&Z!==null&&typeof Z.render=="function"&&Z.$$typeof===void 0?(C.tag=1,C.memoizedState=null,C.updateQueue=null,dn(B)?(S=!0,Pa(C)):S=!1,C.memoizedState=Z.state!==null&&Z.state!==void 0?Z.state:null,Kp(C),Z.updater=Au,C.stateNode=Z,Z._reactInternals=C,zp(C,B,c,m),C=om(null,C,B,!0,S,m)):(C.tag=0,an&&S&&Tp(C),wi(null,C,Z,m),C=C.child),C;case 16:B=C.elementType;e:{switch(c!==null&&(c.alternate=null,C.alternate=null,C.flags|=2),c=C.pendingProps,Z=B._init,B=Z(B._payload),C.type=B,Z=C.tag=TH(B),c=Os(B,c),Z){case 0:C=sm(null,C,B,c,m);break e;case 1:C=ov(null,C,B,c,m);break e;case 11:C=ev(null,C,B,c,m);break e;case 14:C=tv(null,C,B,Os(B.type,c),m);break e}throw Error(r(306,B,""))}return C;case 0:return B=C.type,Z=C.pendingProps,Z=C.elementType===B?Z:Os(B,Z),sm(c,C,B,Z,m);case 1:return B=C.type,Z=C.pendingProps,Z=C.elementType===B?Z:Os(B,Z),ov(c,C,B,Z,m);case 3:e:{if(rv(C),c===null)throw Error(r(387));B=C.pendingProps,S=C.memoizedState,Z=S.element,dB(c,C),du(C,B,null,m);var z=C.memoizedState;if(B=z.element,Ge&&S.isDehydrated)if(S={element:B,isDehydrated:!1,cache:z.cache,transitions:z.transitions},C.updateQueue.baseState=S,C.memoizedState=S,C.flags&256){Z=Error(r(423)),C=gv(c,C,B,m,Z);break e}else if(B!==Z){Z=Error(r(424)),C=gv(c,C,B,m,Z);break e}else for(Ge&&(rs=vp(C.stateNode.containerInfo),os=C,an=!0,Qs=null,Hc=!1),m=RB(C,null,B,m),C.child=m;m;)m.flags=m.flags&-3|4096,m=m.sibling;else{if($a(),B===Z){C=Qo(c,C,m);break e}wi(c,C,B,m)}C=C.child}return C;case 5:return SB(C),c===null&&_p(C),B=C.type,Z=C.pendingProps,S=c!==null?c.memoizedProps:null,z=Z.children,fe(B,Z)?z=null:S!==null&&fe(B,S)&&(C.flags|=32),sv(c,C),wi(c,C,z,m),C.child;case 6:return c===null&&_p(C),null;case 13:return av(c,C,m);case 4:return Dp(C,C.stateNode.containerInfo),B=C.pendingProps,c===null?C.child=el(C,null,B,m):wi(c,C,B,m),C.child;case 11:return B=C.type,Z=C.pendingProps,Z=C.elementType===B?Z:Os(B,Z),ev(c,C,B,Z,m);case 7:return wi(c,C,C.pendingProps,m),C.child;case 8:return wi(c,C,C.pendingProps.children,m),C.child;case 12:return wi(c,C,C.pendingProps.children,m),C.child;case 10:e:{if(B=C.type._context,Z=C.pendingProps,S=C.memoizedProps,z=Z.value,uB(C,B,z),S!==null)if(bo(S.value,z)){if(S.children===Z.children&&!Wn.current){C=Qo(c,C,m);break e}}else for(S=C.child,S!==null&&(S.return=C);S!==null;){var O=S.dependencies;if(O!==null){z=S.child;for(var Ie=O.firstContext;Ie!==null;){if(Ie.context===B){if(S.tag===1){Ie=Do(-1,m&-m),Ie.tag=2;var Ve=S.updateQueue;if(Ve!==null){Ve=Ve.shared;var Je=Ve.pending;Je===null?Ie.next=Ie:(Ie.next=Je.next,Je.next=Ie),Ve.pending=Ie}}S.lanes|=m,Ie=S.alternate,Ie!==null&&(Ie.lanes|=m),Yp(S.return,m,C),O.lanes|=m;break}Ie=Ie.next}}else if(S.tag===10)z=S.type===C.type?null:S.child;else if(S.tag===18){if(z=S.return,z===null)throw Error(r(341));z.lanes|=m,O=z.alternate,O!==null&&(O.lanes|=m),Yp(z,m,C),z=S.sibling}else z=S.child;if(z!==null)z.return=S;else for(z=S;z!==null;){if(z===C){z=null;break}if(S=z.sibling,S!==null){S.return=z.return,z=S;break}z=z.return}S=z}wi(c,C,Z.children,m),C=C.child}return C;case 9:return Z=C.type,B=C.pendingProps.children,Qa(C,m),Z=Gs(Z),B=B(Z),C.flags|=1,wi(c,C,B,m),C.child;case 14:return B=C.type,Z=Os(B,C.pendingProps),Z=Os(B.type,Z),tv(c,C,B,Z,m);case 15:return nv(c,C,C.type,C.pendingProps,m);case 17:return B=C.type,Z=C.pendingProps,Z=C.elementType===B?Z:Os(B,Z),c!==null&&(c.alternate=null,C.alternate=null,C.flags|=2),C.tag=1,dn(B)?(c=!0,Pa(C)):c=!1,Qa(C,m),fB(C,B,Z),zp(C,B,Z,m),om(null,C,B,!0,c,m);case 19:return Cv(c,C,m);case 22:return iv(c,C,m)}throw Error(r(156,C.tag))};function Nv(c,C){return xp(c,C)}function zH(c,C,m,B){this.tag=c,this.key=m,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=C,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=B,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Rs(c,C,m,B){return new zH(c,C,m,B)}function Rm(c){return c=c.prototype,!(!c||!c.isReactComponent)}function TH(c){if(typeof c=="function")return Rm(c)?1:0;if(c!=null){if(c=c.$$typeof,c===b)return 11;if(c===G)return 14}return 2}function Lr(c,C){var m=c.alternate;return m===null?(m=Rs(c.tag,C,c.key,c.mode),m.elementType=c.elementType,m.type=c.type,m.stateNode=c.stateNode,m.alternate=c,c.alternate=m):(m.pendingProps=C,m.type=c.type,m.flags=0,m.subtreeFlags=0,m.deletions=null),m.flags=c.flags&14680064,m.childLanes=c.childLanes,m.lanes=c.lanes,m.child=c.child,m.memoizedProps=c.memoizedProps,m.memoizedState=c.memoizedState,m.updateQueue=c.updateQueue,C=c.dependencies,m.dependencies=C===null?null:{lanes:C.lanes,firstContext:C.firstContext},m.sibling=c.sibling,m.index=c.index,m.ref=c.ref,m}function Ou(c,C,m,B,Z,S){var z=2;if(B=c,typeof c=="function")Rm(c)&&(z=1);else if(typeof c=="string")z=5;else e:switch(c){case I:return Yg(m.children,Z,S,C);case u:z=8,Z|=8;break;case d:return c=Rs(12,m,C,Z|2),c.elementType=d,c.lanes=S,c;case f:return c=Rs(13,m,C,Z),c.elementType=f,c.lanes=S,c;case h:return c=Rs(19,m,C,Z),c.elementType=h,c.lanes=S,c;case v:return Qu(m,Z,S,C);default:if(typeof c=="object"&&c!==null)switch(c.$$typeof){case A:z=10;break e;case p:z=9;break e;case b:z=11;break e;case G:z=14;break e;case y:z=16,B=null;break e}throw Error(r(130,c==null?c:typeof c,""))}return C=Rs(z,m,C,Z),C.elementType=c,C.type=B,C.lanes=S,C}function Yg(c,C,m,B){return c=Rs(7,c,B,C),c.lanes=m,c}function Qu(c,C,m,B){return c=Rs(22,c,B,C),c.elementType=v,c.lanes=m,c.stateNode={},c}function Sm(c,C,m){return c=Rs(6,c,null,C),c.lanes=m,c}function Wm(c,C,m){return C=Rs(4,c.children!==null?c.children:[],c.key,C),C.lanes=m,C.stateNode={containerInfo:c.containerInfo,pendingChildren:null,implementation:c.implementation},C}function EH(c,C,m,B,Z){this.tag=C,this.containerInfo=c,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=ft,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Sp(0),this.expirationTimes=Sp(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Sp(0),this.identifierPrefix=B,this.onRecoverableError=Z,Ge&&(this.mutableSourceEagerHydrationData=null)}function Yv(c,C,m,B,Z,S,z,O,Ie){return c=new EH(c,C,m,O,Ie),C===1?(C=1,S===!0&&(C|=8)):C=0,S=Rs(3,null,null,C),c.current=S,S.stateNode=c,S.memoizedState={element:B,isDehydrated:m,cache:null,transitions:null},Kp(S),c}function Kv(c){if(!c)return ci;c=c._reactInternals;e:{if(V(c)!==c||c.tag!==1)throw Error(r(170));var C=c;do{switch(C.tag){case 3:C=C.stateNode.context;break e;case 1:if(dn(C.type)){C=C.stateNode.__reactInternalMemoizedMergedChildContext;break e}}C=C.return}while(C!==null);throw Error(r(171))}if(c.tag===1){var m=c.type;if(dn(m))return Ja(c,m,C)}return C}function Lv(c){var C=c._reactInternals;if(C===void 0)throw typeof c.render=="function"?Error(r(188)):(c=Object.keys(c).join(","),Error(r(268,c)));return c=Q(C),c===null?null:c.stateNode}function zv(c,C){if(c=c.memoizedState,c!==null&&c.dehydrated!==null){var m=c.retryLane;c.retryLane=m!==0&&m=Ve&&S>=bt&&Z<=Je&&z<=ot){c.splice(C,1);break}else if(B!==Ve||m.width!==Ie.width||otz){if(!(S!==bt||m.height!==Ie.height||JeZ)){Ve>B&&(Ie.width+=Ve-B,Ie.x=B),JeS&&(Ie.height+=bt-S,Ie.y=S),otm&&(m=z)),z ")+` + +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 de(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:g.ReactCurrentDispatcher,findHostInstanceByFiber:kH,findFiberByHostInstance:c.findFiberByHostInstance||_H,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 C=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(C.isDisabled||!C.supportsFiber)c=!0;else{try{au=C.inject(c),fo=C}catch{}c=!!C.checkDCE}}return c},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(c,C,m,B){if(!X)throw Error(r(363));c=hm(c,C);var Z=Ne(c,m,B).disconnect;return{disconnect:function(){Z()}}},t.registerMutableSourceForHydration=function(c,C){var m=C._getVersion;m=m(C._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[C,m]:c.mutableSourceEagerHydrationData.push(C,m)},t.runWithPriority=function(c,C){var m=zt;try{return zt=c,C()}finally{zt=m}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(c,C,m,B){var Z=C.current,S=Ri(),z=Yr(Z);return m=Kv(m),C.context===null?C.context=m:C.pendingContext=m,C=Do(S,z),C.payload={element:c},B=B===void 0?null:B,B!==null&&(C.callback=B),Hr(Z,C),c=ws(Z,z,S),c!==null&&uu(c,Z,z),z},t};BM.exports=gT;var aT=BM.exports;const lT=yh(aT),cT=i=>typeof i=="object"&&typeof i.then=="function",da=[];function wM(i,e,t=(n,s)=>n===s){if(i===e)return!0;if(!i||!e)return!1;const n=i.length;if(e.length!==n)return!1;for(let s=0;s0&&(o.timeout&&clearTimeout(o.timeout),o.timeout=setTimeout(o.remove,n.lifespan)),o.response;if(!t)throw o.promise}const s={keys:e,equal:n.equal,remove:()=>{const o=da.indexOf(s);o!==-1&&da.splice(o,1)},promise:(cT(i)?i:i(...e)).then(o=>{s.response=o,n.lifespan&&n.lifespan>0&&(s.timeout=setTimeout(s.remove,n.lifespan))}).catch(o=>s.error=o)};if(da.push(s),!t)throw s.promise}const Jy=(i,e,t)=>RM(i,e,!1,t),IT=(i,e,t)=>void RM(i,e,!0,t),CT=i=>{if(i===void 0||i.length===0)da.splice(0,da.length);else{const e=da.find(t=>wM(i,t.keys,t.equal));e&&e.remove()}},Py={},uT=i=>void Object.assign(Py,i);function dT(i,e){function t(I,{args:u=[],attach:d,...A},p){let b=`${I[0].toUpperCase()}${I.slice(1)}`,f;if(I==="primitive"){if(A.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const h=A.object;f=Xl(h,{type:I,root:p,attach:d,primitive:!0})}else{const h=Py[b];if(!h)throw new Error(`R3F: ${b} 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(u))throw new Error("R3F: The args prop must be an array!");f=Xl(new h(...u),{type:I,root:p,attach:d,memoizedProps:{args:u}})}return f.__r3f.attach===void 0&&(f instanceof ut?f.__r3f.attach="geometry":f instanceof on&&(f.__r3f.attach="material")),b!=="inject"&&Uf(f,A),f}function n(I,u){let d=!1;if(u){var A,p;(A=u.__r3f)!=null&&A.attach?_f(I,u,u.__r3f.attach):u.isObject3D&&I.isObject3D&&(I.add(u),d=!0),d||(p=I.__r3f)==null||p.objects.push(u),u.__r3f||Xl(u,{}),u.__r3f.parent=I,oG(u),Hl(u)}}function s(I,u,d){let A=!1;if(u){var p,b;if((p=u.__r3f)!=null&&p.attach)_f(I,u,u.__r3f.attach);else if(u.isObject3D&&I.isObject3D){u.parent=I,u.dispatchEvent({type:"added"}),I.dispatchEvent({type:"childadded",child:u});const f=I.children.filter(G=>G!==u),h=f.indexOf(d);I.children=[...f.slice(0,h),u,...f.slice(h)],A=!0}A||(b=I.__r3f)==null||b.objects.push(u),u.__r3f||Xl(u,{}),u.__r3f.parent=I,oG(u),Hl(u)}}function o(I,u,d=!1){I&&[...I].forEach(A=>r(u,A,d))}function r(I,u,d){if(u){var A,p,b;if(u.__r3f&&(u.__r3f.parent=null),(A=I.__r3f)!=null&&A.objects&&(I.__r3f.objects=I.__r3f.objects.filter(v=>v!==u)),(p=u.__r3f)!=null&&p.attach)Xw(I,u,u.__r3f.attach);else if(u.isObject3D&&I.isObject3D){var f;I.remove(u),(f=u.__r3f)!=null&&f.root&&yT(zA(u),u)}const G=(b=u.__r3f)==null?void 0:b.primitive,y=!G&&(d===void 0?u.dispose!==null:d);if(!G){var h;o((h=u.__r3f)==null?void 0:h.objects,u,y),o(u.children,u,y)}if(delete u.__r3f,y&&u.dispose&&u.type!=="Scene"){const v=()=>{try{u.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?iG.unstable_scheduleCallback(iG.unstable_IdlePriority,v):v()}Hl(I)}}function g(I,u,d,A){var p;const b=(p=I.__r3f)==null?void 0:p.parent;if(!b)return;const f=t(u,d,I.__r3f.root);if(I.children){for(const h of I.children)h.__r3f&&n(f,h);I.children=I.children.filter(h=>!h.__r3f)}I.__r3f.objects.forEach(h=>n(f,h)),I.__r3f.objects=[],I.__r3f.autoRemovedBeforeAppend||r(b,I),f.parent&&(f.__r3f.autoRemovedBeforeAppend=!0),n(b,f),f.raycast&&f.__r3f.eventCount&&zA(f).getState().internal.interaction.push(f),[A,A.alternate].forEach(h=>{h!==null&&(h.stateNode=f,h.ref&&(typeof h.ref=="function"?h.ref(f):h.ref.current=f))})}const a=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:lT({createInstance:t,removeChild:r,appendChild:n,appendInitialChild:n,insertBefore:s,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(I,u)=>{if(!u)return;const d=I.getState().scene;d.__r3f&&(d.__r3f.root=I,n(d,u))},removeChildFromContainer:(I,u)=>{u&&r(I.getState().scene,u)},insertInContainerBefore:(I,u,d)=>{if(!u||!d)return;const A=I.getState().scene;A.__r3f&&s(A,u,d)},getRootHostContext:()=>null,getChildHostContext:I=>I,finalizeInitialChildren(I){var u;return!!((u=I==null?void 0:I.__r3f)!=null?u:{}).handlers},prepareUpdate(I,u,d,A){var p;if(((p=I==null?void 0:I.__r3f)!=null?p:{}).primitive&&A.object&&A.object!==I)return[!0];{const{args:f=[],children:h,...G}=A,{args:y=[],children:v,...W}=d;if(!Array.isArray(f))throw new Error("R3F: the args prop must be an array!");if(f.some((x,M)=>x!==y[M]))return[!0];const R=HM(I,G,W,!0);return R.changes.length?[!1,R]:null}},commitUpdate(I,[u,d],A,p,b,f){u?g(I,A,b,f):Uf(I,d)},commitMount(I,u,d,A){var p;const b=(p=I.__r3f)!=null?p:{};I.raycast&&b.handlers&&b.eventCount&&zA(I).getState().internal.interaction.push(I)},getPublicInstance:I=>I,prepareForCommit:()=>null,preparePortalMount:I=>Xl(I.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(I){var u;const{attach:d,parent:A}=(u=I.__r3f)!=null?u:{};d&&A&&Xw(A,I,d),I.isObject3D&&(I.visible=!1),Hl(I)},unhideInstance(I,u){var d;const{attach:A,parent:p}=(d=I.__r3f)!=null?d:{};A&&p&&_f(p,I,A),(I.isObject3D&&u.visible==null||u.visible)&&(I.visible=!0),Hl(I)},createTextInstance:a,hideTextInstance:a,unhideTextInstance:a,getCurrentEventPriority:()=>e?e():jl.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&$t.fun(performance.now)?performance.now:$t.fun(Date.now)?Date.now:()=>0,scheduleTimeout:$t.fun(setTimeout)?setTimeout:void 0,cancelTimeout:$t.fun(clearTimeout)?clearTimeout:void 0}),applyProps:Uf}}var Ww,xw;const kf=i=>"colorSpace"in i||"outputColorSpace"in i,SM=()=>{var i;return(i=Py.ColorManagement)!=null?i:null},WM=i=>i&&i.isOrthographicCamera,AT=i=>i&&i.hasOwnProperty("current"),QC=typeof window<"u"&&((Ww=window.document)!=null&&Ww.createElement||((xw=window.navigator)==null?void 0:xw.product)==="ReactNative")?k.useLayoutEffect:k.useEffect;function xM(i){const e=k.useRef(i);return QC(()=>void(e.current=i),[i]),e}function hT({set:i}){return QC(()=>(i(new Promise(()=>null)),()=>i(!1)),[i]),null}class VM extends k.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}VM.getDerivedStateFromError=()=>({error:!0});const MM="__default",Vw=new Map,pT=i=>i&&!!i.memoized&&!!i.changes;function XM(i){var e;const t=typeof window<"u"?(e=window.devicePixelRatio)!=null?e:2:1;return Array.isArray(i)?Math.min(Math.max(i[0],t),i[1]):i}const pI=i=>{var e;return(e=i.__r3f)==null?void 0:e.root.getState()};function zA(i){let e=i.__r3f.root;for(;e.getState().previousRoot;)e=e.getState().previousRoot;return e}const $t={obj:i=>i===Object(i)&&!$t.arr(i)&&typeof i!="function",fun:i=>typeof i=="function",str:i=>typeof i=="string",num:i=>typeof i=="number",boo:i=>typeof i=="boolean",und:i=>i===void 0,arr:i=>Array.isArray(i),equ(i,e,{arrays:t="shallow",objects:n="reference",strict:s=!0}={}){if(typeof i!=typeof e||!!i!=!!e)return!1;if($t.str(i)||$t.num(i)||$t.boo(i))return i===e;const o=$t.obj(i);if(o&&n==="reference")return i===e;const r=$t.arr(i);if(r&&t==="reference")return i===e;if((r||o)&&i===e)return!0;let g;for(g in i)if(!(g in e))return!1;if(o&&t==="shallow"&&n==="shallow"){for(g in s?e:i)if(!$t.equ(i[g],e[g],{strict:s,objects:"reference"}))return!1}else for(g in s?e:i)if(i[g]!==e[g])return!1;if($t.und(g)){if(r&&i.length===0&&e.length===0||o&&Object.keys(i).length===0&&Object.keys(e).length===0)return!0;if(i!==e)return!1}return!0}};function mT(i){const e={nodes:{},materials:{}};return i&&i.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 fT(i){i.dispose&&i.type!=="Scene"&&i.dispose();for(const e in i)e.dispose==null||e.dispose(),delete i[e]}function Xl(i,e){const t=i;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},i}function sG(i,e){let t=i;if(e.includes("-")){const n=e.split("-"),s=n.pop();return t=n.reduce((o,r)=>o[r],i),{target:t,key:s}}else return{target:t,key:e}}const Mw=/-\d+$/;function _f(i,e,t){if($t.str(t)){if(Mw.test(t)){const o=t.replace(Mw,""),{target:r,key:g}=sG(i,o);Array.isArray(r[g])||(r[g]=[])}const{target:n,key:s}=sG(i,t);e.__r3f.previousAttach=n[s],n[s]=e}else e.__r3f.previousAttach=t(i,e)}function Xw(i,e,t){var n,s;if($t.str(t)){const{target:o,key:r}=sG(i,t),g=e.__r3f.previousAttach;g===void 0?delete o[r]:o[r]=g}else(n=e.__r3f)==null||n.previousAttach==null||n.previousAttach(i,e);(s=e.__r3f)==null||delete s.previousAttach}function HM(i,{children:e,key:t,ref:n,...s},{children:o,key:r,ref:g,...a}={},l=!1){const I=i.__r3f,u=Object.entries(s),d=[];if(l){const p=Object.keys(a);for(let b=0;b{var f;if((f=i.__r3f)!=null&&f.primitive&&p==="object"||$t.equ(b,a[p]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(p))return d.push([p,b,!0,[]]);let h=[];p.includes("-")&&(h=p.split("-")),d.push([p,b,!1,h]);for(const G in s){const y=s[G];G.startsWith(`${p}-`)&&d.push([G,y,!1,G.split("-")])}});const A={...s};return I!=null&&I.memoizedProps&&I!=null&&I.memoizedProps.args&&(A.args=I.memoizedProps.args),I!=null&&I.memoizedProps&&I!=null&&I.memoizedProps.attach&&(A.attach=I.memoizedProps.attach),{memoized:A,changes:d}}const bT=typeof process<"u"&&!1;function Uf(i,e){var t;const n=i.__r3f,s=n==null?void 0:n.root,o=s==null||s.getState==null?void 0:s.getState(),{memoized:r,changes:g}=pT(e)?e:HM(i,e),a=n==null?void 0:n.eventCount;i.__r3f&&(i.__r3f.memoizedProps=r);for(let I=0;Ih[G],i),!(f&&f.set))){const[h,...G]=p.reverse();b=G.reverse().reduce((y,v)=>y[v],i),u=h}if(d===MM+"remove")if(b.constructor){let h=Vw.get(b.constructor);h||(h=new b.constructor,Vw.set(b.constructor,h)),d=h[u]}else d=0;if(A&&n)d?n.handlers[u]=d:delete n.handlers[u],n.eventCount=Object.keys(n.handlers).length;else if(f&&f.set&&(f.copy||f instanceof ya)){if(Array.isArray(d))f.fromArray?f.fromArray(d):f.set(...d);else if(f.copy&&d&&d.constructor&&(bT?f.constructor.name===d.constructor.name:f.constructor===d.constructor))f.copy(d);else if(d!==void 0){const h=f instanceof Me;!h&&f.setScalar?f.setScalar(d):f instanceof ya&&d instanceof ya?f.mask=d.mask:f.set(d),!SM()&&o&&!o.linear&&h&&f.convertSRGBToLinear()}}else if(b[u]=d,b[u]instanceof jt&&b[u].format===es&&b[u].type===zo&&o){const h=b[u];kf(h)&&kf(o.gl)?h.colorSpace=o.gl.outputColorSpace:h.encoding=o.gl.outputEncoding}Hl(i)}if(n&&n.parent&&i.raycast&&a!==n.eventCount){const I=zA(i).getState().internal,u=I.interaction.indexOf(i);u>-1&&I.interaction.splice(u,1),n.eventCount&&I.interaction.push(i)}return!(g.length===1&&g[0][0]==="onUpdate")&&g.length&&(t=i.__r3f)!=null&&t.parent&&oG(i),i}function Hl(i){var e,t;const n=(e=i.__r3f)==null||(t=e.root)==null||t.getState==null?void 0:t.getState();n&&n.internal.frames===0&&n.invalidate()}function oG(i){i.onUpdate==null||i.onUpdate(i)}function FM(i,e){i.manual||(WM(i)?(i.left=e.width/-2,i.right=e.width/2,i.top=e.height/2,i.bottom=e.height/-2):i.aspect=e.width/e.height,i.updateProjectionMatrix(),i.updateMatrixWorld())}function rA(i){return(i.eventObject||i.object).uuid+"/"+i.index+i.instanceId}function GT(){var i;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return jl.DefaultEventPriority;switch((i=e.event)==null?void 0:i.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return jl.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return jl.ContinuousEventPriority;default:return jl.DefaultEventPriority}}function NM(i,e,t,n){const s=t.get(e);s&&(t.delete(e),t.size===0&&(i.delete(n),s.target.releasePointerCapture(n)))}function yT(i,e){const{internal:t}=i.getState();t.interaction=t.interaction.filter(n=>n!==e),t.initialHits=t.initialHits.filter(n=>n!==e),t.hovered.forEach((n,s)=>{(n.eventObject===e||n.object===e)&&t.hovered.delete(s)}),t.capturedMap.forEach((n,s)=>{NM(t.capturedMap,e,n,s)})}function BT(i){function e(a){const{internal:l}=i.getState(),I=a.offsetX-l.initialClick[0],u=a.offsetY-l.initialClick[1];return Math.round(Math.sqrt(I*I+u*u))}function t(a){return a.filter(l=>["Move","Over","Enter","Out","Leave"].some(I=>{var u;return(u=l.__r3f)==null?void 0:u.handlers["onPointer"+I]}))}function n(a,l){const I=i.getState(),u=new Set,d=[],A=l?l(I.internal.interaction):I.internal.interaction;for(let h=0;h{const y=pI(h.object),v=pI(G.object);return!y||!v?h.distance-G.distance:v.events.priority-y.events.priority||h.distance-G.distance}).filter(h=>{const G=rA(h);return u.has(G)?!1:(u.add(G),!0)});I.events.filter&&(b=I.events.filter(b,I));for(const h of b){let G=h.object;for(;G;){var f;(f=G.__r3f)!=null&&f.eventCount&&d.push({...h,eventObject:G}),G=G.parent}}if("pointerId"in a&&I.internal.capturedMap.has(a.pointerId))for(let h of I.internal.capturedMap.get(a.pointerId).values())u.has(rA(h.intersection))||d.push(h.intersection);return d}function s(a,l,I,u){const d=i.getState();if(a.length){const A={stopped:!1};for(const p of a){const b=pI(p.object)||d,{raycaster:f,pointer:h,camera:G,internal:y}=b,v=new H(h.x,h.y,0).unproject(G),W=w=>{var Y,Q;return(Y=(Q=y.capturedMap.get(w))==null?void 0:Q.has(p.eventObject))!=null?Y:!1},R=w=>{const Y={intersection:p,target:l.target};y.capturedMap.has(w)?y.capturedMap.get(w).set(p.eventObject,Y):y.capturedMap.set(w,new Map([[p.eventObject,Y]])),l.target.setPointerCapture(w)},x=w=>{const Y=y.capturedMap.get(w);Y&&NM(y.capturedMap,p.eventObject,Y,w)};let M={};for(let w in l){let Y=l[w];typeof Y!="function"&&(M[w]=Y)}let V={...p,...M,pointer:h,intersections:a,stopped:A.stopped,delta:I,unprojectedPoint:v,ray:f.ray,camera:G,stopPropagation(){const w="pointerId"in l&&y.capturedMap.get(l.pointerId);if((!w||w.has(p.eventObject))&&(V.stopped=A.stopped=!0,y.hovered.size&&Array.from(y.hovered.values()).find(Y=>Y.eventObject===p.eventObject))){const Y=a.slice(0,a.indexOf(p));o([...Y,p])}},target:{hasPointerCapture:W,setPointerCapture:R,releasePointerCapture:x},currentTarget:{hasPointerCapture:W,setPointerCapture:R,releasePointerCapture:x},nativeEvent:l};if(u(V),A.stopped===!0)break}}return a}function o(a){const{internal:l}=i.getState();for(const I of l.hovered.values())if(!a.length||!a.find(u=>u.object===I.object&&u.index===I.index&&u.instanceId===I.instanceId)){const d=I.eventObject.__r3f,A=d==null?void 0:d.handlers;if(l.hovered.delete(rA(I)),d!=null&&d.eventCount){const p={...I,intersections:a};A.onPointerOut==null||A.onPointerOut(p),A.onPointerLeave==null||A.onPointerLeave(p)}}}function r(a,l){for(let I=0;Io([]);case"onLostPointerCapture":return l=>{const{internal:I}=i.getState();"pointerId"in l&&I.capturedMap.has(l.pointerId)&&requestAnimationFrame(()=>{I.capturedMap.has(l.pointerId)&&(I.capturedMap.delete(l.pointerId),o([]))})}}return function(I){const{onPointerMissed:u,internal:d}=i.getState();d.lastEvent.current=I;const A=a==="onPointerMove",p=a==="onClick"||a==="onContextMenu"||a==="onDoubleClick",f=n(I,A?t:void 0),h=p?e(I):0;a==="onPointerDown"&&(d.initialClick=[I.offsetX,I.offsetY],d.initialHits=f.map(y=>y.eventObject)),p&&!f.length&&h<=2&&(r(I,d.interaction),u&&u(I)),A&&o(f);function G(y){const v=y.eventObject,W=v.__r3f,R=W==null?void 0:W.handlers;if(W!=null&&W.eventCount)if(A){if(R.onPointerOver||R.onPointerEnter||R.onPointerOut||R.onPointerLeave){const x=rA(y),M=d.hovered.get(x);M?M.stopped&&y.stopPropagation():(d.hovered.set(x,y),R.onPointerOver==null||R.onPointerOver(y),R.onPointerEnter==null||R.onPointerEnter(y))}R.onPointerMove==null||R.onPointerMove(y)}else{const x=R[a];x?(!p||d.initialHits.includes(v))&&(r(I,d.interaction.filter(M=>!d.initialHits.includes(M))),x(y)):p&&d.initialHits.includes(v)&&r(I,d.interaction.filter(M=>!d.initialHits.includes(M)))}}s(f,I,h,G)}}return{handlePointer:g}}const vT=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],YM=i=>!!(i!=null&&i.render),hp=k.createContext(null),ZT=(i,e)=>{const t=yM((g,a)=>{const l=new H,I=new H,u=new H;function d(h=a().camera,G=I,y=a().size){const{width:v,height:W,top:R,left:x}=y,M=v/W;G instanceof H?u.copy(G):u.set(...G);const V=h.getWorldPosition(l).distanceTo(u);if(WM(h))return{width:v/h.zoom,height:W/h.zoom,top:R,left:x,factor:1,distance:V,aspect:M};{const w=h.fov*Math.PI/180,Y=2*Math.tan(w/2)*V,Q=Y*(v/W);return{width:Q,height:Y,top:R,left:x,factor:v/Q,distance:V,aspect:M}}}let A;const p=h=>g(G=>({performance:{...G.performance,current:h}})),b=new ce;return{set:g,get:a,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(h=1)=>i(a(),h),advance:(h,G)=>e(h,G,a()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new ky,pointer:b,mouse:b,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const h=a();A&&clearTimeout(A),h.performance.current!==h.performance.min&&p(h.performance.min),A=setTimeout(()=>p(a().performance.max),h.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:d},setEvents:h=>g(G=>({...G,events:{...G.events,...h}})),setSize:(h,G,y,v,W)=>{const R=a().camera,x={width:h,height:G,top:v||0,left:W||0,updateStyle:y};g(M=>({size:x,viewport:{...M.viewport,...d(R,I,x)}}))},setDpr:h=>g(G=>{const y=XM(h);return{viewport:{...G.viewport,dpr:y,initialDpr:G.viewport.initialDpr||y}}}),setFrameloop:(h="always")=>{const G=a().clock;G.stop(),G.elapsedTime=0,h!=="never"&&(G.start(),G.elapsedTime=0),g(()=>({frameloop:h}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:k.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(h,G,y)=>{const v=a().internal;return v.priority=v.priority+(G>0?1:0),v.subscribers.push({ref:h,priority:G,store:y}),v.subscribers=v.subscribers.sort((W,R)=>W.priority-R.priority),()=>{const W=a().internal;W!=null&&W.subscribers&&(W.priority=W.priority-(G>0?1:0),W.subscribers=W.subscribers.filter(R=>R.ref!==h))}}}}}),n=t.getState();let s=n.size,o=n.viewport.dpr,r=n.camera;return t.subscribe(()=>{const{camera:g,size:a,viewport:l,gl:I,set:u}=t.getState();if(a.width!==s.width||a.height!==s.height||l.dpr!==o){var d;s=a,o=l.dpr,FM(g,a),I.setPixelRatio(l.dpr);const A=(d=a.updateStyle)!=null?d:typeof HTMLCanvasElement<"u"&&I.domElement instanceof HTMLCanvasElement;I.setSize(a.width,a.height,A)}g!==r&&(r=g,u(A=>({viewport:{...A.viewport,...A.viewport.getCurrentViewport(g)}})))}),t.subscribe(g=>i(g)),t};let gA,wT=new Set,RT=new Set,ST=new Set;function Df(i,e){if(i.size)for(const{callback:t}of i.values())t(e)}function mI(i,e){switch(i){case"before":return Df(wT,e);case"after":return Df(RT,e);case"tail":return Df(ST,e)}}let Jf,Pf;function Of(i,e,t){let n=e.clock.getDelta();for(e.frameloop==="never"&&typeof i=="number"&&(n=i-e.clock.elapsedTime,e.clock.oldTime=e.clock.elapsedTime,e.clock.elapsedTime=i),Jf=e.internal.subscribers,gA=0;gA0)&&!((I=o.gl.xr)!=null&&I.isPresenting)&&(n+=Of(l,o))}if(t=!1,mI("after",l),n===0)return mI("tail",l),e=!1,cancelAnimationFrame(s)}function g(l,I=1){var u;if(!l)return i.forEach(d=>g(d.store.getState(),I));(u=l.gl.xr)!=null&&u.isPresenting||!l.internal.active||l.frameloop==="never"||(I>1?l.internal.frames=Math.min(60,l.internal.frames+I):t?l.internal.frames=2:l.internal.frames=1,e||(e=!0,requestAnimationFrame(r)))}function a(l,I=!0,u,d){if(I&&mI("before",l),u)Of(l,u,d);else for(const A of i.values())Of(l,A.store.getState());I&&mI("after",l)}return{loop:r,invalidate:g,advance:a}}function jC(){const i=k.useContext(hp);if(!i)throw new Error("R3F: Hooks can only be used within the Canvas component!");return i}function Qn(i=t=>t,e){return jC()(i,e)}function Yn(i,e=0){const t=jC(),n=t.getState().internal.subscribe,s=xM(i);return QC(()=>n(s,e,t),[e,n,t]),null}const Hw=new WeakMap;function KM(i,e){return function(t,...n){let s=Hw.get(t);return s||(s=new t,Hw.set(t,s)),i&&i(s),Promise.all(n.map(o=>new Promise((r,g)=>s.load(o,a=>{a.scene&&Object.assign(a,mT(a.scene)),r(a)},e,a=>g(new Error(`Could not load ${o}: ${a==null?void 0:a.message}`))))))}}function qC(i,e,t,n){const s=Array.isArray(e)?e:[e],o=Jy(KM(t,n),[i,...s],{equal:$t.equ});return Array.isArray(e)?o:o[0]}qC.preload=function(i,e,t){const n=Array.isArray(e)?e:[e];return IT(KM(t),[i,...n])};qC.clear=function(i,e){const t=Array.isArray(e)?e:[e];return CT([i,...t])};const bc=new Map,{invalidate:Fw,advance:Nw}=WT(bc),{reconciler:Gc,applyProps:xl}=dT(bc,GT),Vl={objects:"shallow",strict:!1},xT=(i,e)=>{const t=typeof i=="function"?i(e):i;return YM(t)?t:new XV({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...i})};function VT(i,e){const t=typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement;if(e){const{width:n,height:s,top:o,left:r,updateStyle:g=t}=e;return{width:n,height:s,top:o,left:r,updateStyle:g}}else if(typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement&&i.parentElement){const{width:n,height:s,top:o,left:r}=i.parentElement.getBoundingClientRect();return{width:n,height:s,top:o,left:r,updateStyle:t}}else if(typeof OffscreenCanvas<"u"&&i instanceof OffscreenCanvas)return{width:i.width,height:i.height,top:0,left:0,updateStyle:t};return{width:0,height:0,top:0,left:0}}function MT(i){const e=bc.get(i),t=e==null?void 0:e.fiber,n=e==null?void 0:e.store;e&&console.warn("R3F.createRoot should only be called once!");const s=typeof reportError=="function"?reportError:console.error,o=n||ZT(Fw,Nw),r=t||Gc.createContainer(o,jl.ConcurrentRoot,null,!1,null,"",s,null);e||bc.set(i,{fiber:r,store:o});let g,a=!1,l;return{configure(I={}){let{gl:u,size:d,scene:A,events:p,onCreated:b,shadows:f=!1,linear:h=!1,flat:G=!1,legacy:y=!1,orthographic:v=!1,frameloop:W="always",dpr:R=[1,2],performance:x,raycaster:M,camera:V,onPointerMissed:w}=I,Y=o.getState(),Q=Y.gl;Y.gl||Y.set({gl:Q=xT(u,i)});let E=Y.raycaster;E||Y.set({raycaster:E=new OC});const{params:se,...ge}=M||{};if($t.equ(ge,E,Vl)||xl(E,{...ge}),$t.equ(se,E.params,Vl)||xl(E,{params:{...E.params,...se}}),!Y.camera||Y.camera===l&&!$t.equ(l,V,Vl)){l=V;const U=V instanceof zC,te=U?V:v?new lo(0,0,0,0,.1,1e3):new cn(75,0,.1,1e3);U||(te.position.z=5,V&&(xl(te,V),("aspect"in V||"left"in V||"right"in V||"bottom"in V||"top"in V)&&(te.manual=!0,te.updateProjectionMatrix())),!Y.camera&&!(V!=null&&V.rotation)&&te.lookAt(0,0,0)),Y.set({camera:te}),E.camera=te}if(!Y.scene){let U;A instanceof Ah?U=A:(U=new Ah,A&&xl(U,A)),Y.set({scene:Xl(U)})}if(!Y.xr){var de;const U=(Re,ee)=>{const fe=o.getState();fe.frameloop!=="never"&&Nw(Re,!0,fe,ee)},te=()=>{const Re=o.getState();Re.gl.xr.enabled=Re.gl.xr.isPresenting,Re.gl.xr.setAnimationLoop(Re.gl.xr.isPresenting?U:null),Re.gl.xr.isPresenting||Fw(Re)},ye={connect(){const Re=o.getState().gl;Re.xr.addEventListener("sessionstart",te),Re.xr.addEventListener("sessionend",te)},disconnect(){const Re=o.getState().gl;Re.xr.removeEventListener("sessionstart",te),Re.xr.removeEventListener("sessionend",te)}};typeof((de=Q.xr)==null?void 0:de.addEventListener)=="function"&&ye.connect(),Y.set({xr:ye})}if(Q.shadowMap){const U=Q.shadowMap.enabled,te=Q.shadowMap.type;if(Q.shadowMap.enabled=!!f,$t.boo(f))Q.shadowMap.type=DI;else if($t.str(f)){var he;const ye={basic:Ix,percentage:Lh,soft:DI,variance:oo};Q.shadowMap.type=(he=ye[f])!=null?he:DI}else $t.obj(f)&&Object.assign(Q.shadowMap,f);(U!==Q.shadowMap.enabled||te!==Q.shadowMap.type)&&(Q.shadowMap.needsUpdate=!0)}const N=SM();N&&("enabled"in N?N.enabled=!y:"legacyMode"in N&&(N.legacyMode=y)),a||xl(Q,{outputEncoding:h?3e3:3001,toneMapping:G?Ko:ly}),Y.legacy!==y&&Y.set(()=>({legacy:y})),Y.linear!==h&&Y.set(()=>({linear:h})),Y.flat!==G&&Y.set(()=>({flat:G})),u&&!$t.fun(u)&&!YM(u)&&!$t.equ(u,Q,Vl)&&xl(Q,u),p&&!Y.events.handlers&&Y.set({events:p(o)});const D=VT(i,d);return $t.equ(D,Y.size,Vl)||Y.setSize(D.width,D.height,D.updateStyle,D.top,D.left),R&&Y.viewport.dpr!==XM(R)&&Y.setDpr(R),Y.frameloop!==W&&Y.setFrameloop(W),Y.onPointerMissed||Y.set({onPointerMissed:w}),x&&!$t.equ(x,Y.performance,Vl)&&Y.set(U=>({performance:{...U.performance,...x}})),g=b,a=!0,this},render(I){return a||this.configure(),Gc.updateContainer(J.jsx(XT,{store:o,children:I,onCreated:g,rootElement:i}),r,null,()=>{}),o},unmount(){LM(i)}}}function XT({store:i,children:e,onCreated:t,rootElement:n}){return QC(()=>{const s=i.getState();s.set(o=>({internal:{...o.internal,active:!0}})),t&&t(s),i.getState().events.connected||s.events.connect==null||s.events.connect(n)},[]),J.jsx(hp.Provider,{value:i,children:e})}function LM(i,e){const t=bc.get(i),n=t==null?void 0:t.fiber;if(n){const s=t==null?void 0:t.store.getState();s&&(s.internal.active=!1),Gc.updateContainer(null,n,null,()=>{s&&setTimeout(()=>{try{var o,r,g,a;s.events.disconnect==null||s.events.disconnect(),(o=s.gl)==null||(r=o.renderLists)==null||r.dispose==null||r.dispose(),(g=s.gl)==null||g.forceContextLoss==null||g.forceContextLoss(),(a=s.gl)!=null&&a.xr&&s.xr.disconnect(),fT(s),bc.delete(i)}catch{}},500)})}}function Oy(i,e,t){return J.jsx(HT,{children:i,container:e,state:t},e.uuid)}function HT({state:i={},children:e,container:t}){const{events:n,size:s,...o}=i,r=jC(),[g]=k.useState(()=>new OC),[a]=k.useState(()=>new ce),l=k.useCallback((u,d)=>{const A={...u};Object.keys(u).forEach(b=>{(vT.includes(b)||u[b]!==d[b]&&d[b])&&delete A[b]});let p;if(d&&s){const b=d.camera;p=u.viewport.getCurrentViewport(b,new H,s),b!==u.camera&&FM(b,s)}return{...A,scene:t,raycaster:g,pointer:a,mouse:a,previousRoot:r,events:{...u.events,...d==null?void 0:d.events,...n},size:{...u.size,...s},viewport:{...u.viewport,...p},...o}},[i]),[I]=k.useState(()=>{const u=r.getState();return yM((A,p)=>({...u,scene:t,raycaster:g,pointer:a,mouse:a,previousRoot:r,events:{...u.events,...n},size:{...u.size,...s},...o,set:A,get:p,setEvents:b=>A(f=>({...f,events:{...f.events,...b}}))}))});return k.useEffect(()=>{const u=r.subscribe(d=>I.setState(A=>l(d,A)));return()=>{u()}},[l]),k.useEffect(()=>{I.setState(u=>l(r.getState(),u))},[l]),k.useEffect(()=>()=>{I.destroy()},[]),J.jsx(J.Fragment,{children:Gc.createPortal(J.jsx(hp.Provider,{value:I,children:e}),I,null)})}Gc.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:k.version});function rG(i,e,t){var n,s,o,r,g;e==null&&(e=100);function a(){var I=Date.now()-r;I=0?n=setTimeout(a,e-I):(n=null,t||(g=i.apply(o,s),o=s=null))}var l=function(){o=this,s=arguments,r=Date.now();var I=t&&!n;return n||(n=setTimeout(a,e)),I&&(g=i.apply(o,s),o=s=null),g};return l.clear=function(){n&&(clearTimeout(n),n=null)},l.flush=function(){n&&(g=i.apply(o,s),o=s=null,clearTimeout(n),n=null)},l}rG.debounce=rG;var FT=rG;const Yw=yh(FT);function NT(i){let{debounce:e,scroll:t,polyfill:n,offsetSize:s}=i===void 0?{debounce:0,scroll:!1,offsetSize:!1}:i;const o=n||(typeof window>"u"?class{}:window.ResizeObserver);if(!o)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[r,g]=k.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),a=k.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:r}),l=e?typeof e=="number"?e:e.scroll:null,I=e?typeof e=="number"?e:e.resize:null,u=k.useRef(!1);k.useEffect(()=>(u.current=!0,()=>void(u.current=!1)));const[d,A,p]=k.useMemo(()=>{const G=()=>{if(!a.current.element)return;const{left:y,top:v,width:W,height:R,bottom:x,right:M,x:V,y:w}=a.current.element.getBoundingClientRect(),Y={left:y,top:v,width:W,height:R,bottom:x,right:M,x:V,y:w};a.current.element instanceof HTMLElement&&s&&(Y.height=a.current.element.offsetHeight,Y.width=a.current.element.offsetWidth),Object.freeze(Y),u.current&&!zT(a.current.lastBounds,Y)&&g(a.current.lastBounds=Y)};return[G,I?Yw(G,I):G,l?Yw(G,l):G]},[g,s,l,I]);function b(){a.current.scrollContainers&&(a.current.scrollContainers.forEach(G=>G.removeEventListener("scroll",p,!0)),a.current.scrollContainers=null),a.current.resizeObserver&&(a.current.resizeObserver.disconnect(),a.current.resizeObserver=null)}function f(){a.current.element&&(a.current.resizeObserver=new o(p),a.current.resizeObserver.observe(a.current.element),t&&a.current.scrollContainers&&a.current.scrollContainers.forEach(G=>G.addEventListener("scroll",p,{capture:!0,passive:!0})))}const h=G=>{!G||G===a.current.element||(b(),a.current.element=G,a.current.scrollContainers=zM(G),f())};return KT(p,!!t),YT(A),k.useEffect(()=>{b(),f()},[t,p,A]),k.useEffect(()=>b,[]),[h,r,d]}function YT(i){k.useEffect(()=>{const e=i;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[i])}function KT(i,e){k.useEffect(()=>{if(e){const t=i;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[i,e])}function zM(i){const e=[];if(!i||i===document.body)return e;const{overflow:t,overflowX:n,overflowY:s}=window.getComputedStyle(i);return[t,n,s].some(o=>o==="auto"||o==="scroll")&&e.push(i),[...e,...zM(i.parentElement)]}const LT=["x","y","top","bottom","left","right","width","height"],zT=(i,e)=>LT.every(t=>i[t]===e[t]);var TT=Object.defineProperty,ET=Object.defineProperties,kT=Object.getOwnPropertyDescriptors,Kw=Object.getOwnPropertySymbols,_T=Object.prototype.hasOwnProperty,UT=Object.prototype.propertyIsEnumerable,Lw=(i,e,t)=>e in i?TT(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,zw=(i,e)=>{for(var t in e||(e={}))_T.call(e,t)&&Lw(i,t,e[t]);if(Kw)for(var t of Kw(e))UT.call(e,t)&&Lw(i,t,e[t]);return i},DT=(i,e)=>ET(i,kT(e)),Tw,Ew;typeof window<"u"&&((Tw=window.document)!=null&&Tw.createElement||((Ew=window.navigator)==null?void 0:Ew.product)==="ReactNative")?k.useLayoutEffect:k.useEffect;function TM(i,e,t){if(!i)return;if(t(i)===!0)return i;let n=i.child;for(;n;){const s=TM(n,e,t);if(s)return s;n=n.sibling}}function EM(i){try{return Object.defineProperties(i,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return i}}const kw=console.error;console.error=function(){const i=[...arguments].join("");if(i!=null&&i.startsWith("Warning:")&&i.includes("useContext")){console.error=kw;return}return kw.apply(this,arguments)};const Qy=EM(k.createContext(null));class kM extends k.Component{render(){return k.createElement(Qy.Provider,{value:this._reactInternals},this.props.children)}}function JT(){const i=k.useContext(Qy);if(i===null)throw new Error("its-fine: useFiber must be called within a !");const e=k.useId();return k.useMemo(()=>{for(const n of[i,i==null?void 0:i.alternate]){if(!n)continue;const s=TM(n,!1,o=>{let r=o.memoizedState;for(;r;){if(r.memoizedState===e)return!0;r=r.next}});if(s)return s}},[i,e])}function PT(){const i=JT(),[e]=k.useState(()=>new Map);e.clear();let t=i;for(;t;){if(t.type&&typeof t.type=="object"){const s=t.type._context===void 0&&t.type.Provider===t.type?t.type:t.type._context;s&&s!==Qy&&!e.has(s)&&e.set(s,k.useContext(EM(s)))}t=t.return}return e}function OT(){const i=PT();return k.useMemo(()=>Array.from(i.keys()).reduce((e,t)=>n=>k.createElement(e,null,k.createElement(t.Provider,DT(zw({},n),{value:i.get(t)}))),e=>k.createElement(kM,zw({},e))),[i])}const Qf={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 QT(i){const{handlePointer:e}=BT(i);return{priority:1,enabled:!0,compute(t,n,s){n.pointer.set(t.offsetX/n.size.width*2-1,-(t.offsetY/n.size.height)*2+1),n.raycaster.setFromCamera(n.pointer,n.camera)},connected:void 0,handlers:Object.keys(Qf).reduce((t,n)=>({...t,[n]:e(n)}),{}),update:()=>{var t;const{events:n,internal:s}=i.getState();(t=s.lastEvent)!=null&&t.current&&n.handlers&&n.handlers.onPointerMove(s.lastEvent.current)},connect:t=>{var n;const{set:s,events:o}=i.getState();o.disconnect==null||o.disconnect(),s(r=>({events:{...r.events,connected:t}})),Object.entries((n=o.handlers)!=null?n:[]).forEach(([r,g])=>{const[a,l]=Qf[r];t.addEventListener(a,g,{passive:l})})},disconnect:()=>{const{set:t,events:n}=i.getState();if(n.connected){var s;Object.entries((s=n.handlers)!=null?s:[]).forEach(([o,r])=>{if(n&&n.connected instanceof HTMLElement){const[g]=Qf[o];n.connected.removeEventListener(g,r)}}),t(o=>({events:{...o.events,connected:void 0}}))}}}}const jT=k.forwardRef(function({children:e,fallback:t,resize:n,style:s,gl:o,events:r=QT,eventSource:g,eventPrefix:a,shadows:l,linear:I,flat:u,legacy:d,orthographic:A,frameloop:p,dpr:b,performance:f,raycaster:h,camera:G,scene:y,onPointerMissed:v,onCreated:W,...R},x){k.useMemo(()=>uT(sT),[]);const M=OT(),[V,w]=NT({scroll:!0,debounce:{scroll:50,resize:0},...n}),Y=k.useRef(null),Q=k.useRef(null);k.useImperativeHandle(x,()=>Y.current);const E=xM(v),[se,ge]=k.useState(!1),[de,he]=k.useState(!1);if(se)throw se;if(de)throw de;const N=k.useRef(null);QC(()=>{const U=Y.current;w.width>0&&w.height>0&&U&&(N.current||(N.current=MT(U)),N.current.configure({gl:o,events:r,shadows:l,linear:I,flat:u,legacy:d,orthographic:A,frameloop:p,dpr:b,performance:f,raycaster:h,camera:G,scene:y,size:w,onPointerMissed:(...te)=>E.current==null?void 0:E.current(...te),onCreated:te=>{te.events.connect==null||te.events.connect(g?AT(g)?g.current:g:Q.current),a&&te.setEvents({compute:(ye,Re)=>{const ee=ye[a+"X"],fe=ye[a+"Y"];Re.pointer.set(ee/Re.size.width*2-1,-(fe/Re.size.height)*2+1),Re.raycaster.setFromCamera(Re.pointer,Re.camera)}}),W==null||W(te)}}),N.current.render(J.jsx(M,{children:J.jsx(VM,{set:he,children:J.jsx(k.Suspense,{fallback:J.jsx(hT,{set:ge}),children:e})})})))}),k.useEffect(()=>{const U=Y.current;if(U)return()=>LM(U)},[]);const D=g?"none":"auto";return J.jsx("div",{ref:Q,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:D,...s},...R,children:J.jsx("div",{ref:V,style:{width:"100%",height:"100%"},children:J.jsx("canvas",{ref:Y,style:{display:"block"},children:t})})})}),qT=k.forwardRef(function(e,t){return J.jsx(kM,{children:J.jsx(jT,{...e,ref:t})})});function WC(){return WC=Object.assign?Object.assign.bind():function(i){for(var e=1;et&&a.add(Y)}a.normalize(),p.setXYZ(h+W,a.x,a.y,a.z)}}return I.setAttribute("normal",p),I}const eE=parseInt(Na.replace(/\D+/g,""));var tE=Object.defineProperty,nE=(i,e,t)=>e in i?tE(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Ct=(i,e,t)=>(nE(i,typeof e!="symbol"?e+"":e,t),t);const aA=new xr,Uw=new Fs,iE=Math.cos(70*(Math.PI/180)),Dw=(i,e)=>(i%e+e)%e;let sE=class extends ko{constructor(e,t){super(),Ct(this,"object"),Ct(this,"domElement"),Ct(this,"enabled",!0),Ct(this,"target",new H),Ct(this,"minDistance",0),Ct(this,"maxDistance",1/0),Ct(this,"minZoom",0),Ct(this,"maxZoom",1/0),Ct(this,"minPolarAngle",0),Ct(this,"maxPolarAngle",Math.PI),Ct(this,"minAzimuthAngle",-1/0),Ct(this,"maxAzimuthAngle",1/0),Ct(this,"enableDamping",!1),Ct(this,"dampingFactor",.05),Ct(this,"enableZoom",!0),Ct(this,"zoomSpeed",1),Ct(this,"enableRotate",!0),Ct(this,"rotateSpeed",1),Ct(this,"enablePan",!0),Ct(this,"panSpeed",1),Ct(this,"screenSpacePanning",!0),Ct(this,"keyPanSpeed",7),Ct(this,"zoomToCursor",!1),Ct(this,"autoRotate",!1),Ct(this,"autoRotateSpeed",2),Ct(this,"reverseOrbit",!1),Ct(this,"reverseHorizontalOrbit",!1),Ct(this,"reverseVerticalOrbit",!1),Ct(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),Ct(this,"mouseButtons",{LEFT:ea.ROTATE,MIDDLE:ea.DOLLY,RIGHT:ea.PAN}),Ct(this,"touches",{ONE:ta.ROTATE,TWO:ta.DOLLY_PAN}),Ct(this,"target0"),Ct(this,"position0"),Ct(this,"zoom0"),Ct(this,"_domElementKeyEvents",null),Ct(this,"getPolarAngle"),Ct(this,"getAzimuthalAngle"),Ct(this,"setPolarAngle"),Ct(this,"setAzimuthalAngle"),Ct(this,"getDistance"),Ct(this,"listenToKeyEvents"),Ct(this,"stopListenToKeyEvents"),Ct(this,"saveState"),Ct(this,"reset"),Ct(this,"update"),Ct(this,"connect"),Ct(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=()=>I.phi,this.getAzimuthalAngle=()=>I.theta,this.setPolarAngle=P=>{let ve=Dw(P,2*Math.PI),We=I.phi;We<0&&(We+=2*Math.PI),ve<0&&(ve+=2*Math.PI);let _=Math.abs(ve-We);2*Math.PI-_<_&&(ve{let ve=Dw(P,2*Math.PI),We=I.theta;We<0&&(We+=2*Math.PI),ve<0&&(ve+=2*Math.PI);let _=Math.abs(ve-We);2*Math.PI-_<_&&(ven.object.position.distanceTo(n.target),this.listenToKeyEvents=P=>{P.addEventListener("keydown",Ne),this._domElementKeyEvents=P},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener("keydown",Ne),this._domElementKeyEvents=null},this.saveState=()=>{n.target0.copy(n.target),n.position0.copy(n.object.position),n.zoom0=n.object.zoom},this.reset=()=>{n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),n.dispatchEvent(s),n.update(),a=g.NONE},this.update=(()=>{const P=new H,ve=new H(0,1,0),We=new Dt().setFromUnitVectors(e.up,ve),_=We.clone().invert(),Ae=new H,ue=new Dt,Fe=2*Math.PI;return function(){const Mt=n.object.position;We.setFromUnitVectors(e.up,ve),_.copy(We).invert(),P.copy(Mt).sub(n.target),P.applyQuaternion(We),I.setFromVector3(P),n.autoRotate&&a===g.NONE&&se(Q()),n.enableDamping?(I.theta+=u.theta*n.dampingFactor,I.phi+=u.phi*n.dampingFactor):(I.theta+=u.theta,I.phi+=u.phi);let xt=n.minAzimuthAngle,Yt=n.maxAzimuthAngle;isFinite(xt)&&isFinite(Yt)&&(xt<-Math.PI?xt+=Fe:xt>Math.PI&&(xt-=Fe),Yt<-Math.PI?Yt+=Fe:Yt>Math.PI&&(Yt-=Fe),xt<=Yt?I.theta=Math.max(xt,Math.min(Yt,I.theta)):I.theta=I.theta>(xt+Yt)/2?Math.max(xt,I.theta):Math.min(Yt,I.theta)),I.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,I.phi)),I.makeSafe(),n.enableDamping===!0?n.target.addScaledVector(A,n.dampingFactor):n.target.add(A),n.zoomToCursor&&V||n.object.isOrthographicCamera?I.radius=ye(I.radius):I.radius=ye(I.radius*d),P.setFromSpherical(I),P.applyQuaternion(_),Mt.copy(n.target).add(P),n.object.matrixAutoUpdate||n.object.updateMatrix(),n.object.lookAt(n.target),n.enableDamping===!0?(u.theta*=1-n.dampingFactor,u.phi*=1-n.dampingFactor,A.multiplyScalar(1-n.dampingFactor)):(u.set(0,0,0),A.set(0,0,0));let rn=!1;if(n.zoomToCursor&&V){let Vt=null;if(n.object instanceof cn&&n.object.isPerspectiveCamera){const Kn=P.length();Vt=ye(Kn*d);const Cn=Kn-Vt;n.object.position.addScaledVector(x,Cn),n.object.updateMatrixWorld()}else if(n.object.isOrthographicCamera){const Kn=new H(M.x,M.y,0);Kn.unproject(n.object),n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/d)),n.object.updateProjectionMatrix(),rn=!0;const Cn=new H(M.x,M.y,0);Cn.unproject(n.object),n.object.position.sub(Cn).add(Kn),n.object.updateMatrixWorld(),Vt=P.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),n.zoomToCursor=!1;Vt!==null&&(n.screenSpacePanning?n.target.set(0,0,-1).transformDirection(n.object.matrix).multiplyScalar(Vt).add(n.object.position):(aA.origin.copy(n.object.position),aA.direction.set(0,0,-1).transformDirection(n.object.matrix),Math.abs(n.object.up.dot(aA.direction))l||8*(1-ue.dot(n.object.quaternion))>l?(n.dispatchEvent(s),Ae.copy(n.object.position),ue.copy(n.object.quaternion),rn=!1,!0):!1}})(),this.connect=P=>{P===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),n.domElement=P,n.domElement.style.touchAction="none",n.domElement.addEventListener("contextmenu",Oe),n.domElement.addEventListener("pointerdown",ne),n.domElement.addEventListener("pointercancel",Be),n.domElement.addEventListener("wheel",Ye)},this.dispose=()=>{var P,ve,We,_,Ae,ue;n.domElement&&(n.domElement.style.touchAction="auto"),(P=n.domElement)==null||P.removeEventListener("contextmenu",Oe),(ve=n.domElement)==null||ve.removeEventListener("pointerdown",ne),(We=n.domElement)==null||We.removeEventListener("pointercancel",Be),(_=n.domElement)==null||_.removeEventListener("wheel",Ye),(Ae=n.domElement)==null||Ae.ownerDocument.removeEventListener("pointermove",pe),(ue=n.domElement)==null||ue.ownerDocument.removeEventListener("pointerup",Be),n._domElementKeyEvents!==null&&n._domElementKeyEvents.removeEventListener("keydown",Ne)};const n=this,s={type:"change"},o={type:"start"},r={type:"end"},g={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let a=g.NONE;const l=1e-6,I=new nG,u=new nG;let d=1;const A=new H,p=new ce,b=new ce,f=new ce,h=new ce,G=new ce,y=new ce,v=new ce,W=new ce,R=new ce,x=new H,M=new ce;let V=!1;const w=[],Y={};function Q(){return 2*Math.PI/60/60*n.autoRotateSpeed}function E(){return Math.pow(.95,n.zoomSpeed)}function se(P){n.reverseOrbit||n.reverseHorizontalOrbit?u.theta+=P:u.theta-=P}function ge(P){n.reverseOrbit||n.reverseVerticalOrbit?u.phi+=P:u.phi-=P}const de=(()=>{const P=new H;return function(We,_){P.setFromMatrixColumn(_,0),P.multiplyScalar(-We),A.add(P)}})(),he=(()=>{const P=new H;return function(We,_){n.screenSpacePanning===!0?P.setFromMatrixColumn(_,1):(P.setFromMatrixColumn(_,0),P.crossVectors(n.object.up,P)),P.multiplyScalar(We),A.add(P)}})(),N=(()=>{const P=new H;return function(We,_){const Ae=n.domElement;if(Ae&&n.object instanceof cn&&n.object.isPerspectiveCamera){const ue=n.object.position;P.copy(ue).sub(n.target);let Fe=P.length();Fe*=Math.tan(n.object.fov/2*Math.PI/180),de(2*We*Fe/Ae.clientHeight,n.object.matrix),he(2*_*Fe/Ae.clientHeight,n.object.matrix)}else Ae&&n.object instanceof lo&&n.object.isOrthographicCamera?(de(We*(n.object.right-n.object.left)/n.object.zoom/Ae.clientWidth,n.object.matrix),he(_*(n.object.top-n.object.bottom)/n.object.zoom/Ae.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}})();function D(P){n.object instanceof cn&&n.object.isPerspectiveCamera||n.object instanceof lo&&n.object.isOrthographicCamera?d/=P:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function U(P){n.object instanceof cn&&n.object.isPerspectiveCamera||n.object instanceof lo&&n.object.isOrthographicCamera?d*=P:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function te(P){if(!n.zoomToCursor||!n.domElement)return;V=!0;const ve=n.domElement.getBoundingClientRect(),We=P.clientX-ve.left,_=P.clientY-ve.top,Ae=ve.width,ue=ve.height;M.x=We/Ae*2-1,M.y=-(_/ue)*2+1,x.set(M.x,M.y,1).unproject(n.object).sub(n.object.position).normalize()}function ye(P){return Math.max(n.minDistance,Math.min(n.maxDistance,P))}function Re(P){p.set(P.clientX,P.clientY)}function ee(P){te(P),v.set(P.clientX,P.clientY)}function fe(P){h.set(P.clientX,P.clientY)}function xe(P){b.set(P.clientX,P.clientY),f.subVectors(b,p).multiplyScalar(n.rotateSpeed);const ve=n.domElement;ve&&(se(2*Math.PI*f.x/ve.clientHeight),ge(2*Math.PI*f.y/ve.clientHeight)),p.copy(b),n.update()}function we(P){W.set(P.clientX,P.clientY),R.subVectors(W,v),R.y>0?D(E()):R.y<0&&U(E()),v.copy(W),n.update()}function It(P){G.set(P.clientX,P.clientY),y.subVectors(G,h).multiplyScalar(n.panSpeed),N(y.x,y.y),h.copy(G),n.update()}function ft(P){te(P),P.deltaY<0?U(E()):P.deltaY>0&&D(E()),n.update()}function q(P){let ve=!1;switch(P.code){case n.keys.UP:N(0,n.keyPanSpeed),ve=!0;break;case n.keys.BOTTOM:N(0,-n.keyPanSpeed),ve=!0;break;case n.keys.LEFT:N(n.keyPanSpeed,0),ve=!0;break;case n.keys.RIGHT:N(-n.keyPanSpeed,0),ve=!0;break}ve&&(P.preventDefault(),n.update())}function at(){if(w.length==1)p.set(w[0].pageX,w[0].pageY);else{const P=.5*(w[0].pageX+w[1].pageX),ve=.5*(w[0].pageY+w[1].pageY);p.set(P,ve)}}function Ce(){if(w.length==1)h.set(w[0].pageX,w[0].pageY);else{const P=.5*(w[0].pageX+w[1].pageX),ve=.5*(w[0].pageY+w[1].pageY);h.set(P,ve)}}function Ge(){const P=w[0].pageX-w[1].pageX,ve=w[0].pageY-w[1].pageY,We=Math.sqrt(P*P+ve*ve);v.set(0,We)}function me(){n.enableZoom&&Ge(),n.enablePan&&Ce()}function He(){n.enableZoom&&Ge(),n.enableRotate&&at()}function Ze(P){if(w.length==1)b.set(P.pageX,P.pageY);else{const We=At(P),_=.5*(P.pageX+We.x),Ae=.5*(P.pageY+We.y);b.set(_,Ae)}f.subVectors(b,p).multiplyScalar(n.rotateSpeed);const ve=n.domElement;ve&&(se(2*Math.PI*f.x/ve.clientHeight),ge(2*Math.PI*f.y/ve.clientHeight)),p.copy(b)}function ke(P){if(w.length==1)G.set(P.pageX,P.pageY);else{const ve=At(P),We=.5*(P.pageX+ve.x),_=.5*(P.pageY+ve.y);G.set(We,_)}y.subVectors(G,h).multiplyScalar(n.panSpeed),N(y.x,y.y),h.copy(G)}function nt(P){const ve=At(P),We=P.pageX-ve.x,_=P.pageY-ve.y,Ae=Math.sqrt(We*We+_*_);W.set(0,Ae),R.set(0,Math.pow(W.y/v.y,n.zoomSpeed)),D(R.y),v.copy(W)}function T(P){n.enableZoom&&nt(P),n.enablePan&&ke(P)}function X(P){n.enableZoom&&nt(P),n.enableRotate&&Ze(P)}function ne(P){var ve,We;n.enabled!==!1&&(w.length===0&&((ve=n.domElement)==null||ve.ownerDocument.addEventListener("pointermove",pe),(We=n.domElement)==null||We.ownerDocument.addEventListener("pointerup",Be)),Rt(P),P.pointerType==="touch"?dt(P):be(P))}function pe(P){n.enabled!==!1&&(P.pointerType==="touch"?Xe(P):je(P))}function Be(P){var ve,We,_;st(P),w.length===0&&((ve=n.domElement)==null||ve.releasePointerCapture(P.pointerId),(We=n.domElement)==null||We.ownerDocument.removeEventListener("pointermove",pe),(_=n.domElement)==null||_.ownerDocument.removeEventListener("pointerup",Be)),n.dispatchEvent(r),a=g.NONE}function be(P){let ve;switch(P.button){case 0:ve=n.mouseButtons.LEFT;break;case 1:ve=n.mouseButtons.MIDDLE;break;case 2:ve=n.mouseButtons.RIGHT;break;default:ve=-1}switch(ve){case ea.DOLLY:if(n.enableZoom===!1)return;ee(P),a=g.DOLLY;break;case ea.ROTATE:if(P.ctrlKey||P.metaKey||P.shiftKey){if(n.enablePan===!1)return;fe(P),a=g.PAN}else{if(n.enableRotate===!1)return;Re(P),a=g.ROTATE}break;case ea.PAN:if(P.ctrlKey||P.metaKey||P.shiftKey){if(n.enableRotate===!1)return;Re(P),a=g.ROTATE}else{if(n.enablePan===!1)return;fe(P),a=g.PAN}break;default:a=g.NONE}a!==g.NONE&&n.dispatchEvent(o)}function je(P){if(n.enabled!==!1)switch(a){case g.ROTATE:if(n.enableRotate===!1)return;xe(P);break;case g.DOLLY:if(n.enableZoom===!1)return;we(P);break;case g.PAN:if(n.enablePan===!1)return;It(P);break}}function Ye(P){n.enabled===!1||n.enableZoom===!1||a!==g.NONE&&a!==g.ROTATE||(P.preventDefault(),n.dispatchEvent(o),ft(P),n.dispatchEvent(r))}function Ne(P){n.enabled===!1||n.enablePan===!1||q(P)}function dt(P){switch(Ue(P),w.length){case 1:switch(n.touches.ONE){case ta.ROTATE:if(n.enableRotate===!1)return;at(),a=g.TOUCH_ROTATE;break;case ta.PAN:if(n.enablePan===!1)return;Ce(),a=g.TOUCH_PAN;break;default:a=g.NONE}break;case 2:switch(n.touches.TWO){case ta.DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;me(),a=g.TOUCH_DOLLY_PAN;break;case ta.DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;He(),a=g.TOUCH_DOLLY_ROTATE;break;default:a=g.NONE}break;default:a=g.NONE}a!==g.NONE&&n.dispatchEvent(o)}function Xe(P){switch(Ue(P),a){case g.TOUCH_ROTATE:if(n.enableRotate===!1)return;Ze(P),n.update();break;case g.TOUCH_PAN:if(n.enablePan===!1)return;ke(P),n.update();break;case g.TOUCH_DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;T(P),n.update();break;case g.TOUCH_DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;X(P),n.update();break;default:a=g.NONE}}function Oe(P){n.enabled!==!1&&P.preventDefault()}function Rt(P){w.push(P)}function st(P){delete Y[P.pointerId];for(let ve=0;ve=2.0 are supported."));return}const a=new KE(o,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});a.fileLoader.setRequestHeader(this.requestHeader);for(let l=0;l=0&&g[I]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+I+'".')}}a.setExtensions(r),a.setPlugins(g),a.parse(n,s)}parseAsync(e,t){const n=this;return new Promise(function(s,o){n.parse(e,t,s,o)})}};function rE(){let i={};return{get:function(e){return i[e]},add:function(e,t){i[e]=t},remove:function(e){delete i[e]},removeAll:function(){i={}}}}const Ht={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};let gE=class{constructor(e){this.parser=e,this.name=Ht.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let n=0,s=t.length;n=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,o.source,r)}},GE=class{constructor(e){this.parser=e,this.name=Ht.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,n=this.parser,s=n.json,o=s.textures[e];if(!o.extensions||!o.extensions[t])return null;const r=o.extensions[t],g=s.images[r.source];let a=n.textureLoader;if(g.uri){const l=n.options.manager.getHandler(g.uri);l!==null&&(a=l)}return this.detectSupport().then(function(l){if(l)return n.loadTextureImage(e,r.source,a);if(s.extensionsRequired&&s.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return n.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}},yE=class{constructor(e){this.parser=e,this.name=Ht.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,n=this.parser,s=n.json,o=s.textures[e];if(!o.extensions||!o.extensions[t])return null;const r=o.extensions[t],g=s.images[r.source];let a=n.textureLoader;if(g.uri){const l=n.options.manager.getHandler(g.uri);l!==null&&(a=l)}return this.detectSupport().then(function(l){if(l)return n.loadTextureImage(e,r.source,a);if(s.extensionsRequired&&s.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return n.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}},BE=class{constructor(e){this.name=Ht.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,n=t.bufferViews[e];if(n.extensions&&n.extensions[this.name]){const s=n.extensions[this.name],o=this.parser.getDependency("buffer",s.buffer),r=this.parser.options.meshoptDecoder;if(!r||!r.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return o.then(function(g){const a=s.byteOffset||0,l=s.byteLength||0,I=s.count,u=s.byteStride,d=new Uint8Array(g,a,l);return r.decodeGltfBufferAsync?r.decodeGltfBufferAsync(I,u,d,s.mode,s.filter).then(function(A){return A.buffer}):r.ready.then(function(){const A=new ArrayBuffer(I*u);return r.decodeGltfBuffer(new Uint8Array(A),I,u,d,s.mode,s.filter),A})})}else return null}},vE=class{constructor(e){this.name=Ht.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,n=t.nodes[e];if(!n.extensions||!n.extensions[this.name]||n.mesh===void 0)return null;const s=t.meshes[n.mesh];for(const l of s.primitives)if(l.mode!==Vs.TRIANGLES&&l.mode!==Vs.TRIANGLE_STRIP&&l.mode!==Vs.TRIANGLE_FAN&&l.mode!==void 0)return null;const r=n.extensions[this.name].attributes,g=[],a={};for(const l in r)g.push(this.parser.getDependency("accessor",r[l]).then(I=>(a[l]=I,a[l])));return g.length<1?null:(g.push(this.parser.createNodeMesh(e)),Promise.all(g).then(l=>{const I=l.pop(),u=I.isGroup?I.children:[I],d=l[0].count,A=[];for(const p of u){const b=new Ee,f=new H,h=new Dt,G=new H(1,1,1),y=new pr(p.geometry,p.material,d);for(let v=0;v=152?{TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3"}:{TEXCOORD_0:"uv",TEXCOORD_1:"uv2"},COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Qr={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},VE={CUBICSPLINE:void 0,LINEAR:Zr,STEP:xa},qf={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function ME(i){return i.DefaultMaterial===void 0&&(i.DefaultMaterial=new La({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:uo})),i.DefaultMaterial}function Qg(i,e,t){for(const n in t.extensions)i[n]===void 0&&(e.userData.gltfExtensions=e.userData.gltfExtensions||{},e.userData.gltfExtensions[n]=t.extensions[n])}function rr(i,e){e.extras!==void 0&&(typeof e.extras=="object"?Object.assign(i.userData,e.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+e.extras))}function XE(i,e,t){let n=!1,s=!1,o=!1;for(let l=0,I=e.length;l0||i.search(/^data\:image\/jpeg/)===0?"image/jpeg":i.search(/\.webp($|\?)/i)>0||i.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const YE=new Ee;let KE=class{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new rE,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let n=!1,s=!1,o=-1;typeof navigator<"u"&&typeof navigator.userAgent<"u"&&(n=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,s=navigator.userAgent.indexOf("Firefox")>-1,o=s?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||n||s&&o<98?this.textureLoader=new Ly(this.options.manager):this.textureLoader=new Ty(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Li(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const n=this,s=this.json,o=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(r){return r._markDefs&&r._markDefs()}),Promise.all(this._invokeAll(function(r){return r.beforeRoot&&r.beforeRoot()})).then(function(){return Promise.all([n.getDependencies("scene"),n.getDependencies("animation"),n.getDependencies("camera")])}).then(function(r){const g={scene:r[0][s.scene||0],scenes:r[0],animations:r[1],cameras:r[2],asset:s.asset,parser:n,userData:{}};return Qg(o,g,s),rr(g,s),Promise.all(n._invokeAll(function(a){return a.afterRoot&&a.afterRoot(g)})).then(function(){for(const a of g.scenes)a.updateMatrixWorld();e(g)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],n=this.json.meshes||[];for(let s=0,o=t.length;s{const a=this.associations.get(r);a!=null&&this.associations.set(g,a);for(const[l,I]of r.children.entries())o(I,g.children[l])};return o(n,s),s.name+="_instance_"+e.uses[t]++,s}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let n=0;n=2&&f.setY(V,R[x*a+1]),a>=3&&f.setZ(V,R[x*a+2]),a>=4&&f.setW(V,R[x*a+3]),a>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return f})}loadTexture(e){const t=this.json,n=this.options,o=t.textures[e].source,r=t.images[o];let g=this.textureLoader;if(r.uri){const a=n.manager.getHandler(r.uri);a!==null&&(g=a)}return this.loadTextureImage(e,o,g)}loadTextureImage(e,t,n){const s=this,o=this.json,r=o.textures[e],g=o.images[t],a=(g.uri||g.bufferView)+":"+r.sampler;if(this.textureCache[a])return this.textureCache[a];const l=this.loadImageSource(t,n).then(function(I){I.flipY=!1,I.name=r.name||g.name||"",I.name===""&&typeof g.uri=="string"&&g.uri.startsWith("data:image/")===!1&&(I.name=g.uri);const d=(o.samplers||{})[r.sampler]||{};return I.magFilter=Ow[d.magFilter]||In,I.minFilter=Ow[d.minFilter]||$i,I.wrapS=Qw[d.wrapS]||Ao,I.wrapT=Qw[d.wrapT]||Ao,s.associations.set(I,{textures:e}),I}).catch(function(){return null});return this.textureCache[a]=l,l}loadImageSource(e,t){const n=this,s=this.json,o=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(u=>u.clone());const r=s.images[e],g=self.URL||self.webkitURL;let a=r.uri||"",l=!1;if(r.bufferView!==void 0)a=n.getDependency("bufferView",r.bufferView).then(function(u){l=!0;const d=new Blob([u],{type:r.mimeType});return a=g.createObjectURL(d),a});else if(r.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const I=Promise.resolve(a).then(function(u){return new Promise(function(d,A){let p=d;t.isImageBitmapLoader===!0&&(p=function(b){const f=new jt(b);f.needsUpdate=!0,d(f)}),t.load(hs.resolveURL(u,o.path),p,void 0,A)})}).then(function(u){return l===!0&&g.revokeObjectURL(a),rr(u,r),u.userData.mimeType=r.mimeType||NE(r.uri),u}).catch(function(u){throw console.error("THREE.GLTFLoader: Couldn't load texture",a),u});return this.sourceCache[e]=I,I}assignTexture(e,t,n,s){const o=this;return this.getDependency("texture",n.index).then(function(r){if(!r)return null;if(n.texCoord!==void 0&&n.texCoord>0&&(r=r.clone(),r.channel=n.texCoord),o.extensions[Ht.KHR_TEXTURE_TRANSFORM]){const g=n.extensions!==void 0?n.extensions[Ht.KHR_TEXTURE_TRANSFORM]:void 0;if(g){const a=o.associations.get(r);r=o.extensions[Ht.KHR_TEXTURE_TRANSFORM].extendTexture(r,g),o.associations.set(r,a)}}return s!==void 0&&(typeof s=="number"&&(s=s===Jw?Aa:fr),"colorSpace"in r?r.colorSpace=s:r.encoding=s===Aa?Jw:oE),e[t]=r,r})}assignFinalMaterial(e){const t=e.geometry;let n=e.material;const s=t.attributes.tangent===void 0,o=t.attributes.color!==void 0,r=t.attributes.normal===void 0;if(e.isPoints){const g="PointsMaterial:"+n.uuid;let a=this.cache.get(g);a||(a=new _C,on.prototype.copy.call(a,n),a.color.copy(n.color),a.map=n.map,a.sizeAttenuation=!1,this.cache.add(g,a)),n=a}else if(e.isLine){const g="LineBasicMaterial:"+n.uuid;let a=this.cache.get(g);a||(a=new ai,on.prototype.copy.call(a,n),a.color.copy(n.color),a.map=n.map,this.cache.add(g,a)),n=a}if(s||o||r){let g="ClonedMaterial:"+n.uuid+":";s&&(g+="derivative-tangents:"),o&&(g+="vertex-colors:"),r&&(g+="flat-shading:");let a=this.cache.get(g);a||(a=n.clone(),o&&(a.vertexColors=!0),r&&(a.flatShading=!0),s&&(a.normalScale&&(a.normalScale.y*=-1),a.clearcoatNormalScale&&(a.clearcoatNormalScale.y*=-1)),this.cache.add(g,a),this.associations.set(a,this.associations.get(n))),n=a}e.material=n}getMaterialType(){return La}loadMaterial(e){const t=this,n=this.json,s=this.extensions,o=n.materials[e];let r;const g={},a=o.extensions||{},l=[];if(a[Ht.KHR_MATERIALS_UNLIT]){const u=s[Ht.KHR_MATERIALS_UNLIT];r=u.getMaterialType(),l.push(u.extendParams(g,o,t))}else{const u=o.pbrMetallicRoughness||{};if(g.color=new Me(1,1,1),g.opacity=1,Array.isArray(u.baseColorFactor)){const d=u.baseColorFactor;g.color.setRGB(d[0],d[1],d[2],fr),g.opacity=d[3]}u.baseColorTexture!==void 0&&l.push(t.assignTexture(g,"map",u.baseColorTexture,Aa)),g.metalness=u.metallicFactor!==void 0?u.metallicFactor:1,g.roughness=u.roughnessFactor!==void 0?u.roughnessFactor:1,u.metallicRoughnessTexture!==void 0&&(l.push(t.assignTexture(g,"metalnessMap",u.metallicRoughnessTexture)),l.push(t.assignTexture(g,"roughnessMap",u.metallicRoughnessTexture))),r=this._invokeOne(function(d){return d.getMaterialType&&d.getMaterialType(e)}),l.push(Promise.all(this._invokeAll(function(d){return d.extendMaterialParams&&d.extendMaterialParams(e,g)})))}o.doubleSided===!0&&(g.side=Ns);const I=o.alphaMode||qf.OPAQUE;if(I===qf.BLEND?(g.transparent=!0,g.depthWrite=!1):(g.transparent=!1,I===qf.MASK&&(g.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5)),o.normalTexture!==void 0&&r!==Fn&&(l.push(t.assignTexture(g,"normalMap",o.normalTexture)),g.normalScale=new ce(1,1),o.normalTexture.scale!==void 0)){const u=o.normalTexture.scale;g.normalScale.set(u,u)}if(o.occlusionTexture!==void 0&&r!==Fn&&(l.push(t.assignTexture(g,"aoMap",o.occlusionTexture)),o.occlusionTexture.strength!==void 0&&(g.aoMapIntensity=o.occlusionTexture.strength)),o.emissiveFactor!==void 0&&r!==Fn){const u=o.emissiveFactor;g.emissive=new Me().setRGB(u[0],u[1],u[2],fr)}return o.emissiveTexture!==void 0&&r!==Fn&&l.push(t.assignTexture(g,"emissiveMap",o.emissiveTexture,Aa)),Promise.all(l).then(function(){const u=new r(g);return o.name&&(u.name=o.name),rr(u,o),t.associations.set(u,{materials:e}),o.extensions&&Qg(s,u,o),u})}createUniqueName(e){const t=Kt.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,n=this.extensions,s=this.primitiveCache;function o(g){return n[Ht.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(g,t).then(function(a){return jw(a,g,t)})}const r=[];for(let g=0,a=e.length;g0&&HE(h,o),h.name=t.createUniqueName(o.name||"mesh_"+e),rr(h,o),f.extensions&&Qg(s,h,f),t.assignFinalMaterial(h),u.push(h)}for(let A=0,p=u.length;A1?I=new Ls:l.length===1?I=l[0]:I=new wt,I!==l[0])for(let u=0,d=l.length;u{const u=new Map;for(const[d,A]of s.associations)(d instanceof on||d instanceof jt)&&u.set(d,A);return I.traverse(d=>{const A=s.associations.get(d);A!=null&&u.set(d,A)}),u};return s.associations=l(o),o})}_createAnimationTracks(e,t,n,s,o){const r=[],g=e.name?e.name:e.uuid,a=[];Qr[o.path]===Qr.weights?e.traverse(function(d){d.morphTargetInfluences&&a.push(d.name?d.name:d.uuid)}):a.push(g);let l;switch(Qr[o.path]){case Qr.weights:l=Rr;break;case Qr.rotation:l=Eo;break;case Qr.position:case Qr.scale:l=Sr;break;default:switch(n.itemSize){case 1:l=Rr;break;case 2:case 3:default:l=Sr;break}break}const I=s.interpolation!==void 0?VE[s.interpolation]:Zr,u=this._getArrayFromAccessor(n);for(let d=0,A=a.length;d{const g={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(r,g).then(t).catch(s)},n,s)}decodeDracoFile(e,t,n,s){const o={attributeIDs:n||this.defaultAttributeIDs,attributeTypes:s||this.defaultAttributeTypes,useUniqueIDs:!!n};this.decodeGeometry(e,o).then(t)}decodeGeometry(e,t){for(const a in t.attributeTypes){const l=t.attributeTypes[a];l.BYTES_PER_ELEMENT!==void 0&&(t.attributeTypes[a]=l.name)}const n=JSON.stringify(t);if(eb.has(e)){const a=eb.get(e);if(a.key===n)return a.promise;if(e.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let s;const o=this.workerNextTaskID++,r=e.byteLength,g=this._getWorker(o,r).then(a=>(s=a,new Promise((l,I)=>{s._callbacks[o]={resolve:l,reject:I},s.postMessage({type:"decode",id:o,taskConfig:t,buffer:e},[e])}))).then(a=>this._createGeometry(a.geometry));return g.catch(()=>!0).then(()=>{s&&o&&this._releaseTask(s,o)}),eb.set(e,{key:n,promise:g}),g}_createGeometry(e){const t=new ut;e.index&&t.setIndex(new ct(e.index.array,1));for(let n=0;n{n.load(e,s,void 0,o)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const e=typeof WebAssembly!="object"||this.decoderConfig.type==="js",t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then(n=>{const s=n[0];e||(this.decoderConfig.wasmBinary=n[1]);const o=TE.toString(),r=["/* draco decoder */",s,"","/* worker */",o.substring(o.indexOf("{")+1,o.lastIndexOf("}"))].join(` +`);this.workerSourceURL=URL.createObjectURL(new Blob([r]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.lengtho._taskLoad?-1:1});const n=this.workerPool[this.workerPool.length-1];return n._taskCosts[e]=t,n._taskLoad+=t,n})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e{const u=I.draco,d=new u.Decoder,A=new u.DecoderBuffer;A.Init(new Int8Array(a),a.byteLength);try{const p=t(u,d,A,l),b=p.attributes.map(f=>f.array.buffer);p.index&&b.push(p.index.array.buffer),self.postMessage({type:"decode",id:g.id,geometry:p},b)}catch(p){console.error(p),self.postMessage({type:"error",id:g.id,error:p.message})}finally{u.destroy(A),u.destroy(d)}});break}};function t(r,g,a,l){const I=l.attributeIDs,u=l.attributeTypes;let d,A;const p=g.GetEncodedGeometryType(a);if(p===r.TRIANGULAR_MESH)d=new r.Mesh,A=g.DecodeBufferToMesh(a,d);else if(p===r.POINT_CLOUD)d=new r.PointCloud,A=g.DecodeBufferToPointCloud(a,d);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!A.ok()||d.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+A.error_msg());const b={index:null,attributes:[]};for(const f in I){const h=self[u[f]];let G,y;if(l.useUniqueIDs)y=I[f],G=g.GetAttributeByUniqueId(d,y);else{if(y=g.GetAttributeId(d,r[I[f]]),y===-1)continue;G=g.GetAttribute(d,y)}b.attributes.push(s(r,g,d,f,h,G))}return p===r.TRIANGULAR_MESH&&(b.index=n(r,g,d)),r.destroy(d),b}function n(r,g,a){const I=a.num_faces()*3,u=I*4,d=r._malloc(u);g.GetTrianglesUInt32Array(a,u,d);const A=new Uint32Array(r.HEAPF32.buffer,d,I).slice();return r._free(d),{array:A,itemSize:1}}function s(r,g,a,l,I,u){const d=u.num_components(),p=a.num_points()*d,b=p*I.BYTES_PER_ELEMENT,f=o(r,I),h=r._malloc(b);g.GetAttributeDataArrayForAllPoints(a,u,f,b,h);const G=new I(r.HEAPF32.buffer,h,p).slice();return r._free(h),{name:l,array:G,itemSize:d}}function o(r,g){switch(g){case Float32Array:return r.DT_FLOAT32;case Int8Array:return r.DT_INT8;case Int16Array:return r.DT_INT16;case Int32Array:return r.DT_INT32;case Uint8Array:return r.DT_UINT8;case Uint16Array:return r.DT_UINT16;case Uint32Array:return r.DT_UINT32}}}let lA;const tb=()=>{if(lA)return lA;const i="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",e="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",t=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),n=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]);if(typeof WebAssembly!="object")return{supported:!1};let s=i;WebAssembly.validate(t)&&(s=e);let o;const r=WebAssembly.instantiate(g(s),{}).then(u=>{o=u.instance,o.exports.__wasm_call_ctors()});function g(u){const d=new Uint8Array(u.length);for(let p=0;p96?b-71:b>64?b-65:b>47?b+4:b>46?63:62}let A=0;for(let p=0;pparseInt(Na.replace(/\D+/g,"")),kE=EE();var _E=Object.defineProperty,UE=(i,e,t)=>e in i?_E(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,_t=(i,e,t)=>(UE(i,typeof e!="symbol"?e+"":e,t),t);function nb(i,e,t,n,s){let o;if(i=i.subarray||i.slice?i:i.buffer,t=t.subarray||t.slice?t:t.buffer,i=e?i.subarray?i.subarray(e,s&&e+s):i.slice(e,s&&e+s):i,t.set)t.set(i,n);else for(o=0;o{const t=Array.isArray(e);return e instanceof H?[e.x,e.y,e.z]:e instanceof ce?[e.x,e.y,0]:t&&e.length===3?[e[0],e[1],e[2]]:t&&e.length===2?[e[0],e[1],0]:e}).flat()}class JE extends ut{constructor(){super(),_t(this,"type","MeshLine"),_t(this,"isMeshLine",!0),_t(this,"positions",[]),_t(this,"previous",[]),_t(this,"next",[]),_t(this,"side",[]),_t(this,"width",[]),_t(this,"indices_array",[]),_t(this,"uvs",[]),_t(this,"counters",[]),_t(this,"widthCallback",null),_t(this,"_attributes"),_t(this,"_points",[]),_t(this,"points"),_t(this,"matrixWorld",new Ee),Object.defineProperties(this,{points:{enumerable:!0,get(){return this._points},set(e){this.setPoints(e,this.widthCallback)}}})}setMatrixWorld(e){this.matrixWorld=e}setPoints(e,t){if(e=DE(e),this._points=e,this.widthCallback=t??null,this.positions=[],this.counters=[],e.length&&e[0]instanceof H)for(let n=0;n0&&(n=this.copyV3(s),this.next.push(n[0],n[1],n[2]),this.next.push(n[0],n[1],n[2]))}this.compareV3(e-1,0)?n=this.copyV3(1):n=this.copyV3(e-1),this.next.push(n[0],n[1],n[2]),this.next.push(n[0],n[1],n[2]),!this._attributes||this._attributes.position.count!==this.counters.length?this._attributes={position:new ct(new Float32Array(this.positions),3),previous:new ct(new Float32Array(this.previous),3),next:new ct(new Float32Array(this.next),3),side:new ct(new Float32Array(this.side),1),width:new ct(new Float32Array(this.width),1),uv:new ct(new Float32Array(this.uvs),2),index:new ct(new Uint16Array(this.indices_array),1),counters:new ct(new Float32Array(this.counters),1)}:(this._attributes.position.copyArray(new Float32Array(this.positions)),this._attributes.position.needsUpdate=!0,this._attributes.previous.copyArray(new Float32Array(this.previous)),this._attributes.previous.needsUpdate=!0,this._attributes.next.copyArray(new Float32Array(this.next)),this._attributes.next.needsUpdate=!0,this._attributes.side.copyArray(new Float32Array(this.side)),this._attributes.side.needsUpdate=!0,this._attributes.width.copyArray(new Float32Array(this.width)),this._attributes.width.needsUpdate=!0,this._attributes.uv.copyArray(new Float32Array(this.uvs)),this._attributes.uv.needsUpdate=!0,this._attributes.index.copyArray(new Uint16Array(this.indices_array)),this._attributes.index.needsUpdate=!0),this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setIndex(this._attributes.index),this.computeBoundingSphere(),this.computeBoundingBox()}advance({x:e,y:t,z:n}){const s=this._attributes.position.array,o=this._attributes.previous.array,r=this._attributes.next.array,g=s.length;nb(s,0,o,0,g),nb(s,6,s,0,g-6),s[g-6]=e,s[g-5]=t,s[g-4]=n,s[g-3]=e,s[g-2]=t,s[g-1]=n,nb(s,6,r,0,g-6),r[g-6]=e,r[g-5]=t,r[g-4]=n,r[g-3]=e,r[g-2]=t,r[g-1]=n,this._attributes.position.needsUpdate=!0,this._attributes.previous.needsUpdate=!0,this._attributes.next.needsUpdate=!0}}const PE=` + #include + #include + #include + #include + + attribute vec3 previous; + attribute vec3 next; + attribute float side; + attribute float width; + attribute float counters; + + uniform vec2 resolution; + uniform float lineWidth; + uniform vec3 color; + uniform float opacity; + uniform float sizeAttenuation; + + varying vec2 vUV; + varying vec4 vColor; + varying float vCounters; + + vec2 fix(vec4 i, float aspect) { + vec2 res = i.xy / i.w; + res.x *= aspect; + return res; + } + + void main() { + float aspect = resolution.x / resolution.y; + vColor = vec4(color, opacity); + vUV = uv; + vCounters = counters; + + mat4 m = projectionMatrix * modelViewMatrix; + vec4 finalPosition = m * vec4(position, 1.0) * aspect; + vec4 prevPos = m * vec4(previous, 1.0); + vec4 nextPos = m * vec4(next, 1.0); + + vec2 currentP = fix(finalPosition, aspect); + vec2 prevP = fix(prevPos, aspect); + vec2 nextP = fix(nextPos, aspect); + + float w = lineWidth * width; + + vec2 dir; + if (nextP == currentP) dir = normalize(currentP - prevP); + else if (prevP == currentP) dir = normalize(nextP - currentP); + else { + vec2 dir1 = normalize(currentP - prevP); + vec2 dir2 = normalize(nextP - currentP); + dir = normalize(dir1 + dir2); + + vec2 perp = vec2(-dir1.y, dir1.x); + vec2 miter = vec2(-dir.y, dir.x); + //w = clamp(w / dot(miter, perp), 0., 4. * lineWidth * width); + } + + //vec2 normal = (cross(vec3(dir, 0.), vec3(0., 0., 1.))).xy; + vec4 normal = vec4(-dir.y, dir.x, 0., 1.); + normal.xy *= .5 * w; + //normal *= projectionMatrix; + if (sizeAttenuation == 0.) { + normal.xy *= finalPosition.w; + normal.xy /= (vec4(resolution, 0., 1.) * projectionMatrix).xy * aspect; + } + + finalPosition.xy += normal.xy * side; + gl_Position = finalPosition; + #include + #include + vec4 mvPosition = modelViewMatrix * vec4(position, 1.0); + #include + #include + } +`,OE=parseInt(Na.replace(/\D+/g,"")),QE=OE>=154?"colorspace_fragment":"encodings_fragment",jE=` + #include + #include + #include + + uniform sampler2D map; + uniform sampler2D alphaMap; + uniform float useGradient; + uniform float useMap; + uniform float useAlphaMap; + uniform float useDash; + uniform float dashArray; + uniform float dashOffset; + uniform float dashRatio; + uniform float visibility; + uniform float alphaTest; + uniform vec2 repeat; + uniform vec3 gradient[2]; + + varying vec2 vUV; + varying vec4 vColor; + varying float vCounters; + + void main() { + #include + vec4 diffuseColor = vColor; + if (useGradient == 1.) diffuseColor = vec4(mix(gradient[0], gradient[1], vCounters), 1.0); + if (useMap == 1.) diffuseColor *= texture2D(map, vUV * repeat); + if (useAlphaMap == 1.) diffuseColor.a *= texture2D(alphaMap, vUV * repeat).a; + if (diffuseColor.a < alphaTest) discard; + if (useDash == 1.) diffuseColor.a *= ceil(mod(vCounters + dashOffset, dashArray) - (dashArray * dashRatio)); + diffuseColor.a *= step(vCounters, visibility); + #include + gl_FragColor = diffuseColor; + #include + #include + #include <${QE}> + } +`;class qE extends ms{constructor(e){super({uniforms:{...Ke.fog,lineWidth:{value:1},map:{value:null},useMap:{value:0},alphaMap:{value:null},useAlphaMap:{value:0},color:{value:new Me(16777215)},gradient:{value:[new Me(16711680),new Me(65280)]},opacity:{value:1},resolution:{value:new ce(1,1)},sizeAttenuation:{value:1},dashArray:{value:0},dashOffset:{value:0},dashRatio:{value:.5},useDash:{value:0},useGradient:{value:0},visibility:{value:1},alphaTest:{value:0},repeat:{value:new ce(1,1)}},vertexShader:PE,fragmentShader:jE}),_t(this,"lineWidth"),_t(this,"map"),_t(this,"useMap"),_t(this,"alphaMap"),_t(this,"useAlphaMap"),_t(this,"color"),_t(this,"gradient"),_t(this,"resolution"),_t(this,"sizeAttenuation"),_t(this,"dashArray"),_t(this,"dashOffset"),_t(this,"dashRatio"),_t(this,"useDash"),_t(this,"useGradient"),_t(this,"visibility"),_t(this,"repeat"),this.type="MeshLineMaterial",Object.defineProperties(this,{lineWidth:{enumerable:!0,get(){return this.uniforms.lineWidth.value},set(t){this.uniforms.lineWidth.value=t}},map:{enumerable:!0,get(){return this.uniforms.map.value},set(t){this.uniforms.map.value=t}},useMap:{enumerable:!0,get(){return this.uniforms.useMap.value},set(t){this.uniforms.useMap.value=t}},alphaMap:{enumerable:!0,get(){return this.uniforms.alphaMap.value},set(t){this.uniforms.alphaMap.value=t}},useAlphaMap:{enumerable:!0,get(){return this.uniforms.useAlphaMap.value},set(t){this.uniforms.useAlphaMap.value=t}},color:{enumerable:!0,get(){return this.uniforms.color.value},set(t){this.uniforms.color.value=t}},gradient:{enumerable:!0,get(){return this.uniforms.gradient.value},set(t){this.uniforms.gradient.value=t}},opacity:{enumerable:!0,get(){return this.uniforms.opacity.value},set(t){this.uniforms.opacity.value=t}},resolution:{enumerable:!0,get(){return this.uniforms.resolution.value},set(t){this.uniforms.resolution.value.copy(t)}},sizeAttenuation:{enumerable:!0,get(){return this.uniforms.sizeAttenuation.value},set(t){this.uniforms.sizeAttenuation.value=t}},dashArray:{enumerable:!0,get(){return this.uniforms.dashArray.value},set(t){this.uniforms.dashArray.value=t,this.useDash=t!==0?1:0}},dashOffset:{enumerable:!0,get(){return this.uniforms.dashOffset.value},set(t){this.uniforms.dashOffset.value=t}},dashRatio:{enumerable:!0,get(){return this.uniforms.dashRatio.value},set(t){this.uniforms.dashRatio.value=t}},useDash:{enumerable:!0,get(){return this.uniforms.useDash.value},set(t){this.uniforms.useDash.value=t}},useGradient:{enumerable:!0,get(){return this.uniforms.useGradient.value},set(t){this.uniforms.useGradient.value=t}},visibility:{enumerable:!0,get(){return this.uniforms.visibility.value},set(t){this.uniforms.visibility.value=t}},alphaTest:{enumerable:!0,get(){return this.uniforms.alphaTest.value},set(t){this.uniforms.alphaTest.value=t}},repeat:{enumerable:!0,get(){return this.uniforms.repeat.value},set(t){this.uniforms.repeat.value.copy(t)}}}),this.setValues(e)}copy(e){return super.copy(e),this.lineWidth=e.lineWidth,this.map=e.map,this.useMap=e.useMap,this.alphaMap=e.alphaMap,this.useAlphaMap=e.useAlphaMap,this.color.copy(e.color),this.gradient=e.gradient,this.opacity=e.opacity,this.resolution.copy(e.resolution),this.sizeAttenuation=e.sizeAttenuation,this.dashArray=e.dashArray,this.dashOffset=e.dashOffset,this.dashRatio=e.dashRatio,this.useDash=e.useDash,this.useGradient=e.useGradient,this.visibility=e.visibility,this.alphaTest=e.alphaTest,this.repeat.copy(e.repeat),this}}let cA=null,DM="https://www.gstatic.com/draco/versioned/decoders/1.5.5/";function JM(i,e,t){return n=>{t&&t(n),i&&(cA||(cA=new zE),cA.setDecoderPath(typeof i=="string"?i:DM),n.setDRACOLoader(cA)),e&&n.setMeshoptDecoder(typeof tb=="function"?tb():tb)}}function pp(i,e=!0,t=!0,n){return qC(jy,i,JM(e,t,n))}pp.preload=(i,e=!0,t=!0,n)=>qC.preload(jy,i,JM(e,t,n));pp.clear=i=>qC.clear(jy,i);pp.setDecoderPath=i=>{DM=i};const $E=k.forwardRef(({makeDefault:i,camera:e,regress:t,domElement:n,enableDamping:s=!0,keyEvents:o=!1,onChange:r,onStart:g,onEnd:a,...l},I)=>{const u=Qn(R=>R.invalidate),d=Qn(R=>R.camera),A=Qn(R=>R.gl),p=Qn(R=>R.events),b=Qn(R=>R.setEvents),f=Qn(R=>R.set),h=Qn(R=>R.get),G=Qn(R=>R.performance),y=e||d,v=n||p.connected||A.domElement,W=k.useMemo(()=>new sE(y),[y]);return Yn(()=>{W.enabled&&W.update()},-1),k.useEffect(()=>(o&&W.connect(o===!0?v:o),W.connect(v),()=>void W.dispose()),[o,v,t,W,u]),k.useEffect(()=>{const R=V=>{u(),t&&G.regress(),r&&r(V)},x=V=>{g&&g(V)},M=V=>{a&&a(V)};return W.addEventListener("change",R),W.addEventListener("start",x),W.addEventListener("end",M),()=>{W.removeEventListener("start",x),W.removeEventListener("end",M),W.removeEventListener("change",R)}},[r,g,a,W,u,b]),k.useEffect(()=>{if(i){const R=h().controls;return f({controls:W}),()=>f({controls:R})}},[i,W]),k.createElement("primitive",WC({ref:I,object:W,enableDamping:s},l))}),Mo=1e-5;function ek(i,e,t){const n=new mr,s=t-Mo;return n.absarc(Mo,Mo,Mo,-Math.PI/2,-Math.PI,!0),n.absarc(Mo,e-s*2,Mo,Math.PI,Math.PI/2,!0),n.absarc(i-s*2,e-s*2,Mo,Math.PI/2,0,!0),n.absarc(i-s*2,Mo,Mo,0,-Math.PI/2,!0),n}const tk=k.forwardRef(function({args:[e=1,t=1,n=1]=[],radius:s=.05,steps:o=1,smoothness:r=4,bevelSegments:g=4,creaseAngle:a=.4,children:l,...I},u){const d=k.useMemo(()=>ek(e,t,s),[e,t,s]),A=k.useMemo(()=>({depth:n-s*2,bevelEnabled:!0,bevelSegments:g*2,steps:o,bevelSize:s-Mo,bevelThickness:s,curveSegments:r}),[n,s,r]),p=k.useRef(null);return k.useLayoutEffect(()=>{p.current&&(p.current.center(),$T(p.current,a))},[d,A]),k.createElement("mesh",WC({ref:u},I),k.createElement("extrudeGeometry",{ref:p,args:[d,A]}),l)});class nk extends ms{constructor(){super({uniforms:{depth:{value:null},opacity:{value:1},attenuation:{value:2.5},anglePower:{value:12},spotPosition:{value:new H(0,0,0)},lightColor:{value:new Me("white")},cameraNear:{value:0},cameraFar:{value:1},resolution:{value:new ce(0,0)}},transparent:!0,depthWrite:!1,vertexShader:` + varying vec3 vNormal; + varying float vViewZ; + varying float vIntensity; + uniform vec3 spotPosition; + uniform float attenuation; + + #include + #include + + void main() { + // compute intensity + vNormal = normalize(normalMatrix * normal); + vec4 worldPosition = modelMatrix * vec4(position, 1); + vec4 viewPosition = viewMatrix * worldPosition; + vViewZ = viewPosition.z; + + vIntensity = 1.0 - saturate(distance(worldPosition.xyz, spotPosition) / attenuation); + + gl_Position = projectionMatrix * viewPosition; + + #include + } + `,fragmentShader:` + varying vec3 vNormal; + varying float vViewZ; + varying float vIntensity; + + uniform vec3 lightColor; + uniform float anglePower; + uniform sampler2D depth; + uniform vec2 resolution; + uniform float cameraNear; + uniform float cameraFar; + uniform float opacity; + + #include + #include + + float readDepth(sampler2D depthSampler, vec2 uv) { + float fragCoordZ = texture(depthSampler, uv).r; + + // https://github.com/mrdoob/three.js/issues/23072 + #ifdef USE_LOGDEPTHBUF + float viewZ = 1.0 - exp2(fragCoordZ * log(cameraFar + 1.0) / log(2.0)); + #else + float viewZ = perspectiveDepthToViewZ(fragCoordZ, cameraNear, cameraFar); + #endif + + return viewZ; + } + + void main() { + #include + + vec3 normal = vec3(vNormal.x, vNormal.y, abs(vNormal.z)); + float angleIntensity = pow(dot(normal, vec3(0, 0, 1)), anglePower); + float intensity = vIntensity * angleIntensity; + + // fades when z is close to sampled depth, meaning the cone is intersecting existing geometry + bool isSoft = resolution[0] > 0.0 && resolution[1] > 0.0; + if (isSoft) { + vec2 uv = gl_FragCoord.xy / resolution; + intensity *= smoothstep(0.0, 1.0, vViewZ - readDepth(depth, uv)); + } + + gl_FragColor = vec4(lightColor, intensity * opacity); + + #include + #include <${kE>=154?"colorspace_fragment":"encodings_fragment"}> + } + `})}}function ik({opacity:i=1,radiusTop:e,radiusBottom:t,depthBuffer:n,color:s="white",distance:o=5,angle:r=.15,attenuation:g=5,anglePower:a=5}){const l=k.useRef(null),I=Qn(f=>f.size),u=Qn(f=>f.camera),d=Qn(f=>f.viewport.dpr),[A]=k.useState(()=>new nk),[p]=k.useState(()=>new H);e=e===void 0?.1:e,t=t===void 0?r*7:t,Yn(()=>{A.uniforms.spotPosition.value.copy(l.current.getWorldPosition(p)),l.current.lookAt(l.current.parent.target.getWorldPosition(p))});const b=k.useMemo(()=>{const f=new Ka(e,t,o,128,64,!0);return f.applyMatrix4(new Ee().makeTranslation(0,-o/2,0)),f.applyMatrix4(new Ee().makeRotationX(-Math.PI/2)),f},[o,e,t]);return k.createElement(k.Fragment,null,k.createElement("mesh",{ref:l,geometry:b,raycast:()=>null},k.createElement("primitive",{object:A,attach:"material","uniforms-opacity-value":i,"uniforms-lightColor-value":s,"uniforms-attenuation-value":g,"uniforms-anglePower-value":a,"uniforms-depth-value":n,"uniforms-cameraNear-value":u.near,"uniforms-cameraFar-value":u.far,"uniforms-resolution-value":n?[I.width*d,I.height*d]:[0,0]})))}const sk=k.forwardRef(({opacity:i=1,radiusTop:e,radiusBottom:t,depthBuffer:n,color:s="white",distance:o=5,angle:r=.15,attenuation:g=5,anglePower:a=5,volumetric:l=!0,debug:I=!1,children:u,...d},A)=>{const p=k.useRef(null);return k.useImperativeHandle(A,()=>p.current,[]),k.createElement("group",null,I&&p.current&&k.createElement("spotLightHelper",{args:[p.current]}),k.createElement("spotLight",WC({ref:p,angle:r,color:s,distance:o,castShadow:!0},d),l&&k.createElement(ik,{debug:I,opacity:i,radiusTop:e,radiusBottom:t,depthBuffer:n,color:s,distance:o,angle:r,attenuation:g,anglePower:a})),u&&k.cloneElement(u,{spotlightRef:p,debug:I}))});var ok={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const qw=i=>{let e;const t=new Set,n=(I,u)=>{const d=typeof I=="function"?I(e):I;if(!Object.is(d,e)){const A=e;e=u??(typeof d!="object"||d===null)?d:Object.assign({},e,d),t.forEach(p=>p(e,A))}},s=()=>e,a={setState:n,getState:s,getInitialState:()=>l,subscribe:I=>(t.add(I),()=>t.delete(I)),destroy:()=>{(ok?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),t.clear()}},l=e=i(n,s,a);return a},rk=i=>i?qw(i):qw;var PM={exports:{}},OM={},QM={exports:{}},jM={};/** + * @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 yc=k;function gk(i,e){return i===e&&(i!==0||1/i===1/e)||i!==i&&e!==e}var ak=typeof Object.is=="function"?Object.is:gk,lk=yc.useState,ck=yc.useEffect,Ik=yc.useLayoutEffect,Ck=yc.useDebugValue;function uk(i,e){var t=e(),n=lk({inst:{value:t,getSnapshot:e}}),s=n[0].inst,o=n[1];return Ik(function(){s.value=t,s.getSnapshot=e,ib(s)&&o({inst:s})},[i,t,e]),ck(function(){return ib(s)&&o({inst:s}),i(function(){ib(s)&&o({inst:s})})},[i]),Ck(t),t}function ib(i){var e=i.getSnapshot;i=i.value;try{var t=e();return!ak(i,t)}catch{return!0}}function dk(i,e){return e()}var Ak=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?dk:uk;jM.useSyncExternalStore=yc.useSyncExternalStore!==void 0?yc.useSyncExternalStore:Ak;QM.exports=jM;var hk=QM.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 mp=k,pk=hk;function mk(i,e){return i===e&&(i!==0||1/i===1/e)||i!==i&&e!==e}var fk=typeof Object.is=="function"?Object.is:mk,bk=pk.useSyncExternalStore,Gk=mp.useRef,yk=mp.useEffect,Bk=mp.useMemo,vk=mp.useDebugValue;OM.useSyncExternalStoreWithSelector=function(i,e,t,n,s){var o=Gk(null);if(o.current===null){var r={hasValue:!1,value:null};o.current=r}else r=o.current;o=Bk(function(){function a(A){if(!l){if(l=!0,I=A,A=n(A),s!==void 0&&r.hasValue){var p=r.value;if(s(p,A))return u=p}return u=A}if(p=u,fk(I,A))return p;var b=n(A);return s!==void 0&&s(p,b)?p:(I=A,u=b)}var l=!1,I,u,d=t===void 0?null:t;return[function(){return a(e())},d===null?void 0:function(){return a(d())}]},[e,t,n,s]);var g=bk(i,o[0],o[1]);return yk(function(){r.hasValue=!0,r.value=g},[g]),vk(g),g};PM.exports=OM;var Zk=PM.exports;const wk=yh(Zk);var Rk={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{useDebugValue:Sk}=lF,{useSyncExternalStoreWithSelector:Wk}=wk;let $w=!1;const xk=i=>i;function qM(i,e=xk,t){(Rk?"production":void 0)!=="production"&&t&&!$w&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),$w=!0);const n=Wk(i.subscribe,i.getState,i.getServerState||i.getInitialState,e,t);return Sk(n),n}var qy={exports:{}},rc=typeof Reflect=="object"?Reflect:null,eR=rc&&typeof rc.apply=="function"?rc.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},TA;rc&&typeof rc.ownKeys=="function"?TA=rc.ownKeys:Object.getOwnPropertySymbols?TA=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:TA=function(e){return Object.getOwnPropertyNames(e)};function Vk(i){console&&console.warn&&console.warn(i)}var $M=Number.isNaN||function(e){return e!==e};function Ot(){Ot.init.call(this)}qy.exports=Ot;qy.exports.once=Fk;Ot.EventEmitter=Ot;Ot.prototype._events=void 0;Ot.prototype._eventsCount=0;Ot.prototype._maxListeners=void 0;var tR=10;function fp(i){if(typeof i!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof i)}Object.defineProperty(Ot,"defaultMaxListeners",{enumerable:!0,get:function(){return tR},set:function(i){if(typeof i!="number"||i<0||$M(i))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+i+".");tR=i}});Ot.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};Ot.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||$M(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function eX(i){return i._maxListeners===void 0?Ot.defaultMaxListeners:i._maxListeners}Ot.prototype.getMaxListeners=function(){return eX(this)};Ot.prototype.emit=function(e){for(var t=[],n=1;n0&&(r=t[0]),r instanceof Error)throw r;var g=new Error("Unhandled error."+(r?" ("+r.message+")":""));throw g.context=r,g}var a=o[e];if(a===void 0)return!1;if(typeof a=="function")eR(a,this,t);else for(var l=a.length,I=oX(a,l),n=0;n0&&r.length>s&&!r.warned){r.warned=!0;var g=new Error("Possible EventEmitter memory leak detected. "+r.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");g.name="MaxListenersExceededWarning",g.emitter=i,g.type=e,g.count=r.length,Vk(g)}return i}Ot.prototype.addListener=function(e,t){return tX(this,e,t,!1)};Ot.prototype.on=Ot.prototype.addListener;Ot.prototype.prependListener=function(e,t){return tX(this,e,t,!0)};function Mk(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function nX(i,e,t){var n={fired:!1,wrapFn:void 0,target:i,type:e,listener:t},s=Mk.bind(n);return s.listener=t,n.wrapFn=s,s}Ot.prototype.once=function(e,t){return fp(t),this.on(e,nX(this,e,t)),this};Ot.prototype.prependOnceListener=function(e,t){return fp(t),this.prependListener(e,nX(this,e,t)),this};Ot.prototype.removeListener=function(e,t){var n,s,o,r,g;if(fp(t),s=this._events,s===void 0)return this;if(n=s[e],n===void 0)return this;if(n===t||n.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete s[e],s.removeListener&&this.emit("removeListener",e,n.listener||t));else if(typeof n!="function"){for(o=-1,r=n.length-1;r>=0;r--)if(n[r]===t||n[r].listener===t){g=n[r].listener,o=r;break}if(o<0)return this;o===0?n.shift():Xk(n,o),n.length===1&&(s[e]=n[0]),s.removeListener!==void 0&&this.emit("removeListener",e,g||t)}return this};Ot.prototype.off=Ot.prototype.removeListener;Ot.prototype.removeAllListeners=function(e){var t,n,s;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var o=Object.keys(n),r;for(s=0;s=0;s--)this.removeListener(e,t[s]);return this};function iX(i,e,t){var n=i._events;if(n===void 0)return[];var s=n[e];return s===void 0?[]:typeof s=="function"?t?[s.listener||s]:[s]:t?Hk(s):oX(s,s.length)}Ot.prototype.listeners=function(e){return iX(this,e,!0)};Ot.prototype.rawListeners=function(e){return iX(this,e,!1)};Ot.listenerCount=function(i,e){return typeof i.listenerCount=="function"?i.listenerCount(e):sX.call(i,e)};Ot.prototype.listenerCount=sX;function sX(i){var e=this._events;if(e!==void 0){var t=e[i];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0}Ot.prototype.eventNames=function(){return this._eventsCount>0?TA(this._events):[]};function oX(i,e){for(var t=new Array(e),n=0;n{if(t.data.op==="frame"){this.buffers.positions=t.data.positions,this.buffers.quaternions=t.data.quaternions,this.emit(t.data.op,t.data);return}this.emit(t.data.type,t.data)};for(const t of this.messageQueue)this.worker.postMessage(t);this.messageQueue.length=0}disableConstraint(t){let{uuid:n}=t;this.postMessage({op:"disableConstraint",uuid:n})}disableConstraintMotor(t){let{uuid:n}=t;this.postMessage({op:"disableConstraintMotor",uuid:n})}disconnect(){this.worker&&(this.worker.onmessage=null)}enableConstraint(t){let{uuid:n}=t;this.postMessage({op:"enableConstraint",uuid:n})}enableConstraintMotor(t){let{uuid:n}=t;this.postMessage({op:"enableConstraintMotor",uuid:n})}init(){const{allowSleep:t,axisIndex:n,broadphase:s,defaultContactMaterial:o,frictionGravity:r,gravity:g,iterations:a,quatNormalizeFast:l,quatNormalizeSkip:I,solver:u,tolerance:d}=this.config;this.postMessage({op:"init",props:{allowSleep:t,axisIndex:n,broadphase:s,defaultContactMaterial:o,frictionGravity:r,gravity:g,iterations:a,quatNormalizeFast:l,quatNormalizeSkip:I,solver:u,tolerance:d}})}removeBodies(t){let{uuid:n}=t;this.postMessage({op:"removeBodies",uuid:n})}removeConstraint(t){let{uuid:n}=t;this.postMessage({op:"removeConstraint",uuid:n})}removeContactMaterial(t){let{uuid:n}=t;this.postMessage({op:"removeContactMaterial",uuid:n})}removeRay(t){let{uuid:n}=t;this.postMessage({op:"removeRay",uuid:n})}removeRaycastVehicle(t){let{uuid:n}=t;this.postMessage({op:"removeRaycastVehicle",uuid:n})}removeSpring(t){let{uuid:n}=t;this.postMessage({op:"removeSpring",uuid:n})}setAllowSleep(t){let{props:n,uuid:s}=t;this.postMessage({op:"setAllowSleep",props:n,uuid:s})}setAngularDamping(t){let{props:n,uuid:s}=t;this.postMessage({op:"setAngularDamping",props:n,uuid:s})}setAngularFactor(t){let{props:n,uuid:s}=t;this.postMessage({op:"setAngularFactor",props:n,uuid:s})}setAngularVelocity(t){let{props:n,uuid:s}=t;this.postMessage({op:"setAngularVelocity",props:n,uuid:s})}setCollisionFilterGroup(t){let{props:n,uuid:s}=t;this.postMessage({op:"setCollisionFilterGroup",props:n,uuid:s})}setCollisionFilterMask(t){let{props:n,uuid:s}=t;this.postMessage({op:"setCollisionFilterMask",props:n,uuid:s})}setCollisionResponse(t){let{props:n,uuid:s}=t;this.postMessage({op:"setCollisionResponse",props:n,uuid:s})}setConstraintMotorMaxForce(t){let{props:n,uuid:s}=t;this.postMessage({op:"setConstraintMotorMaxForce",props:n,uuid:s})}setConstraintMotorSpeed(t){let{props:n,uuid:s}=t;this.postMessage({op:"setConstraintMotorSpeed",props:n,uuid:s})}setFixedRotation(t){let{props:n,uuid:s}=t;this.postMessage({op:"setFixedRotation",props:n,uuid:s})}setIsTrigger(t){let{props:n,uuid:s}=t;this.postMessage({op:"setIsTrigger",props:n,uuid:s})}setLinearDamping(t){let{props:n,uuid:s}=t;this.postMessage({op:"setLinearDamping",props:n,uuid:s})}setLinearFactor(t){let{props:n,uuid:s}=t;this.postMessage({op:"setLinearFactor",props:n,uuid:s})}setMass(t){let{props:n,uuid:s}=t;this.postMessage({op:"setMass",props:n,uuid:s})}setMaterial(t){let{props:n,uuid:s}=t;this.postMessage({op:"setMaterial",props:n,uuid:s})}setPosition(t){let{props:n,uuid:s}=t;this.postMessage({op:"setPosition",props:n,uuid:s})}setQuaternion(t){let{props:[n,s,o,r],uuid:g}=t;this.postMessage({op:"setQuaternion",props:[n,s,o,r],uuid:g})}setRaycastVehicleBrake(t){let{props:n,uuid:s}=t;this.postMessage({op:"setRaycastVehicleBrake",props:n,uuid:s})}setRaycastVehicleSteeringValue(t){let{props:n,uuid:s}=t;this.postMessage({op:"setRaycastVehicleSteeringValue",props:n,uuid:s})}setRotation(t){let{props:n,uuid:s}=t;this.postMessage({op:"setRotation",props:n,uuid:s})}setSleepSpeedLimit(t){let{props:n,uuid:s}=t;this.postMessage({op:"setSleepSpeedLimit",props:n,uuid:s})}setSleepTimeLimit(t){let{props:n,uuid:s}=t;this.postMessage({op:"setSleepTimeLimit",props:n,uuid:s})}setSpringDamping(t){let{props:n,uuid:s}=t;this.postMessage({op:"setSpringDamping",props:n,uuid:s})}setSpringRestLength(t){let{props:n,uuid:s}=t;this.postMessage({op:"setSpringRestLength",props:n,uuid:s})}setSpringStiffness(t){let{props:n,uuid:s}=t;this.postMessage({op:"setSpringStiffness",props:n,uuid:s})}setUserData(t){let{props:n,uuid:s}=t;this.postMessage({op:"setUserData",props:n,uuid:s})}setVelocity(t){let{props:n,uuid:s}=t;this.postMessage({op:"setVelocity",props:n,uuid:s})}sleep(t){let{uuid:n}=t;this.postMessage({op:"sleep",uuid:n})}step(t){var n;const{buffers:{positions:s,quaternions:o}}=this;!s.byteLength&&!o.byteLength||(n=this.worker)==null||n.postMessage({op:"step",positions:s,props:t,quaternions:o},[s.buffer,o.buffer])}subscribe(t){let{props:{id:n,target:s,type:o},uuid:r}=t;this.postMessage({op:"subscribe",props:{id:n,target:s,type:o},uuid:r})}terminate(){var t;(t=this.worker)==null||t.terminate(),this.worker=null}unsubscribe(t){let{props:n}=t;this.postMessage({op:"unsubscribe",props:n})}wakeUp(t){let{uuid:n}=t;this.postMessage({op:"wakeUp",uuid:n})}postMessage(t){if(this.worker)return this.worker.postMessage(t);this.messageQueue.push(t)}}class ur{constructor(e){e===void 0&&(e=[0,0,0,0,0,0,0,0,0]),this.elements=e}identity(){const e=this.elements;e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1}setZero(){const e=this.elements;e[0]=0,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=0,e[6]=0,e[7]=0,e[8]=0}setTrace(e){const t=this.elements;t[0]=e.x,t[4]=e.y,t[8]=e.z}getTrace(e){e===void 0&&(e=new K);const t=this.elements;return e.x=t[0],e.y=t[4],e.z=t[8],e}vmult(e,t){t===void 0&&(t=new K);const n=this.elements,s=e.x,o=e.y,r=e.z;return t.x=n[0]*s+n[1]*o+n[2]*r,t.y=n[3]*s+n[4]*o+n[5]*r,t.z=n[6]*s+n[7]*o+n[8]*r,t}smult(e){for(let t=0;t0){const o=1/s;this.x*=o,this.y*=o,this.z*=o}else this.x=0,this.y=0,this.z=0;return s}unit(e){e===void 0&&(e=new K);const t=this.x,n=this.y,s=this.z;let o=Math.sqrt(t*t+n*n+s*s);return o>0?(o=1/o,e.x=t*o,e.y=n*o,e.z=s*o):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,n=this.z;return Math.sqrt(e*e+t*t+n*n)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,n=this.y,s=this.z,o=e.x,r=e.y,g=e.z;return Math.sqrt((o-t)*(o-t)+(r-n)*(r-n)+(g-s)*(g-s))}distanceSquared(e){const t=this.x,n=this.y,s=this.z,o=e.x,r=e.y,g=e.z;return(o-t)*(o-t)+(r-n)*(r-n)+(g-s)*(g-s)}scale(e,t){t===void 0&&(t=new K);const n=this.x,s=this.y,o=this.z;return t.x=e*n,t.y=e*s,t.z=e*o,t}vmul(e,t){return t===void 0&&(t=new K),t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,n){return n===void 0&&(n=new K),n.x=this.x+e*t.x,n.y=this.y+e*t.y,n.z=this.z+e*t.z,n}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return this.x===0&&this.y===0&&this.z===0}negate(e){return e===void 0&&(e=new K),e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const n=this.length();if(n>0){const s=_k,o=1/n;s.set(this.x*o,this.y*o,this.z*o);const r=Uk;Math.abs(s.x)<.9?(r.set(1,0,0),s.cross(r,e)):(r.set(0,1,0),s.cross(r,e)),s.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return`${this.x},${this.y},${this.z}`}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,n){const s=this.x,o=this.y,r=this.z;n.x=s+(e.x-s)*t,n.y=o+(e.y-o)*t,n.z=r+(e.z-r)*t}almostEquals(e,t){return t===void 0&&(t=1e-6),!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e){return e===void 0&&(e=1e-6),!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(nR),nR.almostEquals(e,t)}clone(){return new K(this.x,this.y,this.z)}}K.ZERO=new K(0,0,0);K.UNIT_X=new K(1,0,0);K.UNIT_Y=new K(0,1,0);K.UNIT_Z=new K(0,0,1);const _k=new K,Uk=new K,nR=new K;class _s{constructor(e){e===void 0&&(e={}),this.lowerBound=new K,this.upperBound=new K,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,n,s){const o=this.lowerBound,r=this.upperBound,g=n;o.copy(e[0]),g&&g.vmult(o,o),r.copy(o);for(let a=1;ar.x&&(r.x=l.x),l.xr.y&&(r.y=l.y),l.yr.z&&(r.z=l.z),l.z=o.x&&t.y<=s.y&&n.y>=o.y&&t.z<=s.z&&n.z>=o.z}getCorners(e,t,n,s,o,r,g,a){const l=this.lowerBound,I=this.upperBound;e.copy(l),t.set(I.x,l.y,l.z),n.set(I.x,I.y,l.z),s.set(l.x,I.y,I.z),o.set(I.x,l.y,I.z),r.set(l.x,I.y,l.z),g.set(l.x,l.y,I.z),a.copy(I)}toLocalFrame(e,t){const n=sR,s=n[0],o=n[1],r=n[2],g=n[3],a=n[4],l=n[5],I=n[6],u=n[7];this.getCorners(s,o,r,g,a,l,I,u);for(let d=0;d!==8;d++){const A=n[d];e.pointToLocal(A,A)}return t.setFromPoints(n)}toWorldFrame(e,t){const n=sR,s=n[0],o=n[1],r=n[2],g=n[3],a=n[4],l=n[5],I=n[6],u=n[7];this.getCorners(s,o,r,g,a,l,I,u);for(let d=0;d!==8;d++){const A=n[d];e.pointToWorld(A,A)}return t.setFromPoints(n)}overlapsRay(e){const{direction:t,from:n}=e,s=1/t.x,o=1/t.y,r=1/t.z,g=(this.lowerBound.x-n.x)*s,a=(this.upperBound.x-n.x)*s,l=(this.lowerBound.y-n.y)*o,I=(this.upperBound.y-n.y)*o,u=(this.lowerBound.z-n.z)*r,d=(this.upperBound.z-n.z)*r,A=Math.max(Math.max(Math.min(g,a),Math.min(l,I)),Math.min(u,d)),p=Math.min(Math.min(Math.max(g,a),Math.max(l,I)),Math.max(u,d));return!(p<0||A>p)}}const iR=new K,sR=[new K,new K,new K,new K,new K,new K,new K,new K];class Mi{constructor(e,t,n,s){e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=0),s===void 0&&(s=1),this.x=e,this.y=t,this.z=n,this.w=s}set(e,t,n,s){return this.x=e,this.y=t,this.z=n,this.w=s,this}toString(){return`${this.x},${this.y},${this.z},${this.w}`}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const n=Math.sin(t*.5);return this.x=e.x*n,this.y=e.y*n,this.z=e.z*n,this.w=Math.cos(t*.5),this}toAxisAngle(e){e===void 0&&(e=new K),this.normalize();const t=2*Math.acos(this.w),n=Math.sqrt(1-this.w*this.w);return n<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/n,e.y=this.y/n,e.z=this.z/n),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const n=Dk,s=Jk;e.tangents(n,s),this.setFromAxisAngle(n,Math.PI)}else{const n=e.cross(t);this.x=n.x,this.y=n.y,this.z=n.z,this.w=Math.sqrt(e.length()**2*t.length()**2)+e.dot(t),this.normalize()}return this}mult(e,t){t===void 0&&(t=new Mi);const n=this.x,s=this.y,o=this.z,r=this.w,g=e.x,a=e.y,l=e.z,I=e.w;return t.x=n*I+r*g+s*l-o*a,t.y=s*I+r*a+o*g-n*l,t.z=o*I+r*l+n*a-s*g,t.w=r*I-n*g-s*a-o*l,t}inverse(e){e===void 0&&(e=new Mi);const t=this.x,n=this.y,s=this.z,o=this.w;this.conjugate(e);const r=1/(t*t+n*n+s*s+o*o);return e.x*=r,e.y*=r,e.z*=r,e.w*=r,e}conjugate(e){return e===void 0&&(e=new Mi),e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return e===0?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return e===0?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t){t===void 0&&(t=new K);const n=e.x,s=e.y,o=e.z,r=this.x,g=this.y,a=this.z,l=this.w,I=l*n+g*o-a*s,u=l*s+a*n-r*o,d=l*o+r*s-g*n,A=-r*n-g*s-a*o;return t.x=I*l+A*-r+u*-a-d*-g,t.y=u*l+A*-g+d*-r-I*-a,t.z=d*l+A*-a+I*-g-u*-r,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t){t===void 0&&(t="YZX");let n,s,o;const r=this.x,g=this.y,a=this.z,l=this.w;switch(t){case"YZX":const I=r*g+a*l;if(I>.499&&(n=2*Math.atan2(r,l),s=Math.PI/2,o=0),I<-.499&&(n=-2*Math.atan2(r,l),s=-Math.PI/2,o=0),n===void 0){const u=r*r,d=g*g,A=a*a;n=Math.atan2(2*g*l-2*r*a,1-2*d-2*A),s=Math.asin(2*I),o=Math.atan2(2*r*l-2*g*a,1-2*u-2*A)}break;default:throw new Error(`Euler order ${t} not supported yet.`)}e.y=n,e.z=s,e.x=o}setFromEuler(e,t,n,s){s===void 0&&(s="XYZ");const o=Math.cos(e/2),r=Math.cos(t/2),g=Math.cos(n/2),a=Math.sin(e/2),l=Math.sin(t/2),I=Math.sin(n/2);return s==="XYZ"?(this.x=a*r*g+o*l*I,this.y=o*l*g-a*r*I,this.z=o*r*I+a*l*g,this.w=o*r*g-a*l*I):s==="YXZ"?(this.x=a*r*g+o*l*I,this.y=o*l*g-a*r*I,this.z=o*r*I-a*l*g,this.w=o*r*g+a*l*I):s==="ZXY"?(this.x=a*r*g-o*l*I,this.y=o*l*g+a*r*I,this.z=o*r*I+a*l*g,this.w=o*r*g-a*l*I):s==="ZYX"?(this.x=a*r*g-o*l*I,this.y=o*l*g+a*r*I,this.z=o*r*I-a*l*g,this.w=o*r*g+a*l*I):s==="YZX"?(this.x=a*r*g+o*l*I,this.y=o*l*g+a*r*I,this.z=o*r*I-a*l*g,this.w=o*r*g-a*l*I):s==="XZY"&&(this.x=a*r*g-o*l*I,this.y=o*l*g-a*r*I,this.z=o*r*I+a*l*g,this.w=o*r*g+a*l*I),this}clone(){return new Mi(this.x,this.y,this.z,this.w)}slerp(e,t,n){n===void 0&&(n=new Mi);const s=this.x,o=this.y,r=this.z,g=this.w;let a=e.x,l=e.y,I=e.z,u=e.w,d,A,p,b,f;return A=s*a+o*l+r*I+g*u,A<0&&(A=-A,a=-a,l=-l,I=-I,u=-u),1-A>1e-6?(d=Math.acos(A),p=Math.sin(d),b=Math.sin((1-t)*d)/p,f=Math.sin(t*d)/p):(b=1-t,f=t),n.x=b*s+f*a,n.y=b*o+f*l,n.z=b*r+f*I,n.w=b*g+f*u,n}integrate(e,t,n,s){s===void 0&&(s=new Mi);const o=e.x*n.x,r=e.y*n.y,g=e.z*n.z,a=this.x,l=this.y,I=this.z,u=this.w,d=t*.5;return s.x+=d*(o*u+r*I-g*l),s.y+=d*(r*u+g*a-o*I),s.z+=d*(g*u+o*l-r*a),s.w+=d*(-o*a-r*l-g*I),s}}const Dk=new K,Jk=new K,Pk={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};class et{constructor(e){e===void 0&&(e={}),this.id=et.idCounter++,this.type=e.type||0,this.boundingSphereRadius=0,this.collisionResponse=e.collisionResponse?e.collisionResponse:!0,this.collisionFilterGroup=e.collisionFilterGroup!==void 0?e.collisionFilterGroup:1,this.collisionFilterMask=e.collisionFilterMask!==void 0?e.collisionFilterMask:-1,this.material=e.material?e.material:null,this.body=null}updateBoundingSphereRadius(){throw`computeBoundingSphereRadius() not implemented for shape type ${this.type}`}volume(){throw`volume() not implemented for shape type ${this.type}`}calculateLocalInertia(e,t){throw`calculateLocalInertia() not implemented for shape type ${this.type}`}calculateWorldAABB(e,t,n,s){throw`calculateWorldAABB() not implemented for shape type ${this.type}`}}et.idCounter=0;et.types=Pk;class Pi{constructor(e){e===void 0&&(e={}),this.position=new K,this.quaternion=new Mi,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return Pi.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return Pi.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t){return t===void 0&&(t=new K),this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,n,s){return s===void 0&&(s=new K),n.vsub(e,s),t.conjugate(oR),oR.vmult(s,s),s}static pointToWorldFrame(e,t,n,s){return s===void 0&&(s=new K),t.vmult(n,s),s.vadd(e,s),s}static vectorToWorldFrame(e,t,n){return n===void 0&&(n=new K),e.vmult(t,n),n}static vectorToLocalFrame(e,t,n,s){return s===void 0&&(s=new K),t.w*=-1,t.vmult(n,s),t.w*=-1,s}}const oR=new Mi;new K;new K;new K;new K;new K,new K,new K,new K,new K,new K,new K,new K;new K;new Mi;new _s;new ur;new ur;new ur;new K;new K;new K;new K;new K;new K;new K;new K;new K;new K;new Mi;new K;new K;new K;new K;class lG{constructor(){this.rayFromWorld=new K,this.rayToWorld=new K,this.hitNormalWorld=new K,this.hitPointWorld=new K,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,n,s,o,r,g){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(n),this.hitPointWorld.copy(s),this.shape=o,this.body=r,this.distance=g}}let gX,aX,lX,cX,IX,CX,uX;const $y={CLOSEST:1,ANY:2,ALL:4};gX=et.types.SPHERE;aX=et.types.PLANE;lX=et.types.BOX;cX=et.types.CYLINDER;IX=et.types.CONVEXPOLYHEDRON;CX=et.types.HEIGHTFIELD;uX=et.types.TRIMESH;class bi{get[gX](){return this._intersectSphere}get[aX](){return this._intersectPlane}get[lX](){return this._intersectBox}get[cX](){return this._intersectConvex}get[IX](){return this._intersectConvex}get[CX](){return this._intersectHeightfield}get[uX](){return this._intersectTrimesh}constructor(e,t){e===void 0&&(e=new K),t===void 0&&(t=new K),this.from=e.clone(),this.to=t.clone(),this.direction=new K,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=bi.ANY,this.result=new lG,this.hasHit=!1,this.callback=n=>{}}intersectWorld(e,t){return this.mode=t.mode||bi.ANY,this.result=t.result||new lG,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=typeof t.collisionFilterMask<"u"?t.collisionFilterMask:-1,this.collisionFilterGroup=typeof t.collisionFilterGroup<"u"?t.collisionFilterGroup:-1,this.checkCollisionResponse=typeof t.checkCollisionResponse<"u"?t.checkCollisionResponse:!0,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(rR),sb.length=0,e.broadphase.aabbQuery(e,rR,sb),this.intersectBodies(sb),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const n=this.checkCollisionResponse;if(n&&!e.collisionResponse||!(this.collisionFilterGroup&e.collisionFilterMask)||!(e.collisionFilterGroup&this.collisionFilterMask))return;const s=Ok,o=Qk;for(let r=0,g=e.shapes.length;re.boundingSphereRadius)return;const g=this[e.type];g&&g.call(this,e,t,n,s,e)}_intersectBox(e,t,n,s,o){return this._intersectConvex(e.convexPolyhedronRepresentation,t,n,s,o)}_intersectPlane(e,t,n,s,o){const r=this.from,g=this.to,a=this.direction,l=new K(0,0,1);t.vmult(l,l);const I=new K;r.vsub(n,I);const u=I.dot(l);g.vsub(n,I);const d=I.dot(l);if(u*d>0||r.distanceTo(g)=0&&b<=1&&(r.lerp(g,b,A),A.vsub(n,p),p.normalize(),this.reportIntersection(p,A,o,s,-1)),this.result.shouldStop)return;f>=0&&f<=1&&(r.lerp(g,f,A),A.vsub(n,p),p.normalize(),this.reportIntersection(p,A,o,s,-1))}}_intersectConvex(e,t,n,s,o,r){const g=t_,a=aR,l=r&&r.faceList||null,I=e.faces,u=e.vertices,d=e.faceNormals,A=this.direction,p=this.from,b=this.to,f=p.distanceTo(b),h=l?l.length:I.length,G=this.result;for(let y=0;!G.shouldStop&&yf||this.reportIntersection(g,Ui,o,s,v)}}}}_intersectTrimesh(e,t,n,s,o,r){const g=n_,a=a_,l=l_,I=aR,u=i_,d=s_,A=o_,p=g_,b=r_,f=e.indices;e.vertices;const h=this.from,G=this.to,y=this.direction;l.position.copy(n),l.quaternion.copy(t),Pi.vectorToLocalFrame(n,t,y,u),Pi.pointToLocalFrame(n,t,h,d),Pi.pointToLocalFrame(n,t,G,A),A.x*=e.scale.x,A.y*=e.scale.y,A.z*=e.scale.z,d.x*=e.scale.x,d.y*=e.scale.y,d.z*=e.scale.z,A.vsub(d,u),u.normalize();const v=d.distanceSquared(A);e.tree.rayQuery(this,l,a);for(let W=0,R=a.length;!this.result.shouldStop&&W!==R;W++){const x=a[W];e.getNormal(x,g),e.getVertex(f[x*3],to),to.vsub(d,I);const M=u.dot(g),V=g.dot(I)/M;if(V<0)continue;u.scale(V,Ui),Ui.vadd(d,Ui),e.getVertex(f[x*3+1],Ro),e.getVertex(f[x*3+2],So);const w=Ui.distanceSquared(d);!(bi.pointInTriangle(Ui,Ro,to,So)||bi.pointInTriangle(Ui,to,Ro,So))||w>v||(Pi.vectorToWorldFrame(t,g,b),Pi.pointToWorldFrame(n,t,Ui,p),this.reportIntersection(b,p,o,s,x))}a.length=0}reportIntersection(e,t,n,s,o){const r=this.from,g=this.to,a=r.distanceTo(t),l=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(l.hitFaceIndex=typeof o<"u"?o:-1,this.mode){case bi.ALL:this.hasHit=!0,l.set(r,g,e,t,n,s,a),l.hasHit=!0,this.callback(l);break;case bi.CLOSEST:(a=0&&(u=o*l-r*g)>=0&&I+uDate.now()-i}new K;class dr{constructor(e){e===void 0&&(e=[0,0,0,0,0,0,0,0,0]),this.elements=e}identity(){const e=this.elements;e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1}setZero(){const e=this.elements;e[0]=0,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=0,e[6]=0,e[7]=0,e[8]=0}setTrace(e){const t=this.elements;t[0]=e.x,t[4]=e.y,t[8]=e.z}getTrace(e){e===void 0&&(e=new L);const t=this.elements;return e.x=t[0],e.y=t[4],e.z=t[8],e}vmult(e,t){t===void 0&&(t=new L);const n=this.elements,s=e.x,o=e.y,r=e.z;return t.x=n[0]*s+n[1]*o+n[2]*r,t.y=n[3]*s+n[4]*o+n[5]*r,t.z=n[6]*s+n[7]*o+n[8]*r,t}smult(e){for(let t=0;t0){const o=1/s;this.x*=o,this.y*=o,this.z*=o}else this.x=0,this.y=0,this.z=0;return s}unit(e){e===void 0&&(e=new L);const t=this.x,n=this.y,s=this.z;let o=Math.sqrt(t*t+n*n+s*s);return o>0?(o=1/o,e.x=t*o,e.y=n*o,e.z=s*o):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,n=this.z;return Math.sqrt(e*e+t*t+n*n)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,n=this.y,s=this.z,o=e.x,r=e.y,g=e.z;return Math.sqrt((o-t)*(o-t)+(r-n)*(r-n)+(g-s)*(g-s))}distanceSquared(e){const t=this.x,n=this.y,s=this.z,o=e.x,r=e.y,g=e.z;return(o-t)*(o-t)+(r-n)*(r-n)+(g-s)*(g-s)}scale(e,t){t===void 0&&(t=new L);const n=this.x,s=this.y,o=this.z;return t.x=e*n,t.y=e*s,t.z=e*o,t}vmul(e,t){return t===void 0&&(t=new L),t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,n){return n===void 0&&(n=new L),n.x=this.x+e*t.x,n.y=this.y+e*t.y,n.z=this.z+e*t.z,n}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return this.x===0&&this.y===0&&this.z===0}negate(e){return e===void 0&&(e=new L),e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const n=this.length();if(n>0){const s=C_,o=1/n;s.set(this.x*o,this.y*o,this.z*o);const r=u_;Math.abs(s.x)<.9?(r.set(1,0,0),s.cross(r,e)):(r.set(0,1,0),s.cross(r,e)),s.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return`${this.x},${this.y},${this.z}`}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,n){const s=this.x,o=this.y,r=this.z;n.x=s+(e.x-s)*t,n.y=o+(e.y-o)*t,n.z=r+(e.z-r)*t}almostEquals(e,t){return t===void 0&&(t=1e-6),!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e){return e===void 0&&(e=1e-6),!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(lR),lR.almostEquals(e,t)}clone(){return new L(this.x,this.y,this.z)}}L.ZERO=new L(0,0,0);L.UNIT_X=new L(1,0,0);L.UNIT_Y=new L(0,1,0);L.UNIT_Z=new L(0,0,1);const C_=new L,u_=new L,lR=new L;class Us{constructor(e){e===void 0&&(e={}),this.lowerBound=new L,this.upperBound=new L,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,n,s){const o=this.lowerBound,r=this.upperBound,g=n;o.copy(e[0]),g&&g.vmult(o,o),r.copy(o);for(let a=1;ar.x&&(r.x=l.x),l.xr.y&&(r.y=l.y),l.yr.z&&(r.z=l.z),l.z=o.x&&t.y<=s.y&&n.y>=o.y&&t.z<=s.z&&n.z>=o.z}getCorners(e,t,n,s,o,r,g,a){const l=this.lowerBound,I=this.upperBound;e.copy(l),t.set(I.x,l.y,l.z),n.set(I.x,I.y,l.z),s.set(l.x,I.y,I.z),o.set(I.x,l.y,I.z),r.set(l.x,I.y,l.z),g.set(l.x,l.y,I.z),a.copy(I)}toLocalFrame(e,t){const n=IR,s=n[0],o=n[1],r=n[2],g=n[3],a=n[4],l=n[5],I=n[6],u=n[7];this.getCorners(s,o,r,g,a,l,I,u);for(let d=0;d!==8;d++){const A=n[d];e.pointToLocal(A,A)}return t.setFromPoints(n)}toWorldFrame(e,t){const n=IR,s=n[0],o=n[1],r=n[2],g=n[3],a=n[4],l=n[5],I=n[6],u=n[7];this.getCorners(s,o,r,g,a,l,I,u);for(let d=0;d!==8;d++){const A=n[d];e.pointToWorld(A,A)}return t.setFromPoints(n)}overlapsRay(e){const{direction:t,from:n}=e,s=1/t.x,o=1/t.y,r=1/t.z,g=(this.lowerBound.x-n.x)*s,a=(this.upperBound.x-n.x)*s,l=(this.lowerBound.y-n.y)*o,I=(this.upperBound.y-n.y)*o,u=(this.lowerBound.z-n.z)*r,d=(this.upperBound.z-n.z)*r,A=Math.max(Math.max(Math.min(g,a),Math.min(l,I)),Math.min(u,d)),p=Math.min(Math.min(Math.max(g,a),Math.max(l,I)),Math.max(u,d));return!(p<0||A>p)}}const cR=new L,IR=[new L,new L,new L,new L,new L,new L,new L,new L];class Xi{constructor(e,t,n,s){e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=0),s===void 0&&(s=1),this.x=e,this.y=t,this.z=n,this.w=s}set(e,t,n,s){return this.x=e,this.y=t,this.z=n,this.w=s,this}toString(){return`${this.x},${this.y},${this.z},${this.w}`}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const n=Math.sin(t*.5);return this.x=e.x*n,this.y=e.y*n,this.z=e.z*n,this.w=Math.cos(t*.5),this}toAxisAngle(e){e===void 0&&(e=new L),this.normalize();const t=2*Math.acos(this.w),n=Math.sqrt(1-this.w*this.w);return n<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/n,e.y=this.y/n,e.z=this.z/n),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const n=d_,s=A_;e.tangents(n,s),this.setFromAxisAngle(n,Math.PI)}else{const n=e.cross(t);this.x=n.x,this.y=n.y,this.z=n.z,this.w=Math.sqrt(e.length()**2*t.length()**2)+e.dot(t),this.normalize()}return this}mult(e,t){t===void 0&&(t=new Xi);const n=this.x,s=this.y,o=this.z,r=this.w,g=e.x,a=e.y,l=e.z,I=e.w;return t.x=n*I+r*g+s*l-o*a,t.y=s*I+r*a+o*g-n*l,t.z=o*I+r*l+n*a-s*g,t.w=r*I-n*g-s*a-o*l,t}inverse(e){e===void 0&&(e=new Xi);const t=this.x,n=this.y,s=this.z,o=this.w;this.conjugate(e);const r=1/(t*t+n*n+s*s+o*o);return e.x*=r,e.y*=r,e.z*=r,e.w*=r,e}conjugate(e){return e===void 0&&(e=new Xi),e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return e===0?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return e===0?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t){t===void 0&&(t=new L);const n=e.x,s=e.y,o=e.z,r=this.x,g=this.y,a=this.z,l=this.w,I=l*n+g*o-a*s,u=l*s+a*n-r*o,d=l*o+r*s-g*n,A=-r*n-g*s-a*o;return t.x=I*l+A*-r+u*-a-d*-g,t.y=u*l+A*-g+d*-r-I*-a,t.z=d*l+A*-a+I*-g-u*-r,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t){t===void 0&&(t="YZX");let n,s,o;const r=this.x,g=this.y,a=this.z,l=this.w;switch(t){case"YZX":const I=r*g+a*l;if(I>.499&&(n=2*Math.atan2(r,l),s=Math.PI/2,o=0),I<-.499&&(n=-2*Math.atan2(r,l),s=-Math.PI/2,o=0),n===void 0){const u=r*r,d=g*g,A=a*a;n=Math.atan2(2*g*l-2*r*a,1-2*d-2*A),s=Math.asin(2*I),o=Math.atan2(2*r*l-2*g*a,1-2*u-2*A)}break;default:throw new Error(`Euler order ${t} not supported yet.`)}e.y=n,e.z=s,e.x=o}setFromEuler(e,t,n,s){s===void 0&&(s="XYZ");const o=Math.cos(e/2),r=Math.cos(t/2),g=Math.cos(n/2),a=Math.sin(e/2),l=Math.sin(t/2),I=Math.sin(n/2);return s==="XYZ"?(this.x=a*r*g+o*l*I,this.y=o*l*g-a*r*I,this.z=o*r*I+a*l*g,this.w=o*r*g-a*l*I):s==="YXZ"?(this.x=a*r*g+o*l*I,this.y=o*l*g-a*r*I,this.z=o*r*I-a*l*g,this.w=o*r*g+a*l*I):s==="ZXY"?(this.x=a*r*g-o*l*I,this.y=o*l*g+a*r*I,this.z=o*r*I+a*l*g,this.w=o*r*g-a*l*I):s==="ZYX"?(this.x=a*r*g-o*l*I,this.y=o*l*g+a*r*I,this.z=o*r*I-a*l*g,this.w=o*r*g+a*l*I):s==="YZX"?(this.x=a*r*g+o*l*I,this.y=o*l*g+a*r*I,this.z=o*r*I-a*l*g,this.w=o*r*g-a*l*I):s==="XZY"&&(this.x=a*r*g-o*l*I,this.y=o*l*g-a*r*I,this.z=o*r*I+a*l*g,this.w=o*r*g+a*l*I),this}clone(){return new Xi(this.x,this.y,this.z,this.w)}slerp(e,t,n){n===void 0&&(n=new Xi);const s=this.x,o=this.y,r=this.z,g=this.w;let a=e.x,l=e.y,I=e.z,u=e.w,d,A,p,b,f;return A=s*a+o*l+r*I+g*u,A<0&&(A=-A,a=-a,l=-l,I=-I,u=-u),1-A>1e-6?(d=Math.acos(A),p=Math.sin(d),b=Math.sin((1-t)*d)/p,f=Math.sin(t*d)/p):(b=1-t,f=t),n.x=b*s+f*a,n.y=b*o+f*l,n.z=b*r+f*I,n.w=b*g+f*u,n}integrate(e,t,n,s){s===void 0&&(s=new Xi);const o=e.x*n.x,r=e.y*n.y,g=e.z*n.z,a=this.x,l=this.y,I=this.z,u=this.w,d=t*.5;return s.x+=d*(o*u+r*I-g*l),s.y+=d*(r*u+g*a-o*I),s.z+=d*(g*u+o*l-r*a),s.w+=d*(-o*a-r*l-g*I),s}}const d_=new L,A_=new L,h_={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};class tt{constructor(e){e===void 0&&(e={}),this.id=tt.idCounter++,this.type=e.type||0,this.boundingSphereRadius=0,this.collisionResponse=e.collisionResponse?e.collisionResponse:!0,this.collisionFilterGroup=e.collisionFilterGroup!==void 0?e.collisionFilterGroup:1,this.collisionFilterMask=e.collisionFilterMask!==void 0?e.collisionFilterMask:-1,this.material=e.material?e.material:null,this.body=null}updateBoundingSphereRadius(){throw`computeBoundingSphereRadius() not implemented for shape type ${this.type}`}volume(){throw`volume() not implemented for shape type ${this.type}`}calculateLocalInertia(e,t){throw`calculateLocalInertia() not implemented for shape type ${this.type}`}calculateWorldAABB(e,t,n,s){throw`calculateWorldAABB() not implemented for shape type ${this.type}`}}tt.idCounter=0;tt.types=h_;class Oi{constructor(e){e===void 0&&(e={}),this.position=new L,this.quaternion=new Xi,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return Oi.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return Oi.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t){return t===void 0&&(t=new L),this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,n,s){return s===void 0&&(s=new L),n.vsub(e,s),t.conjugate(CR),CR.vmult(s,s),s}static pointToWorldFrame(e,t,n,s){return s===void 0&&(s=new L),t.vmult(n,s),s.vadd(e,s),s}static vectorToWorldFrame(e,t,n){return n===void 0&&(n=new L),e.vmult(t,n),n}static vectorToLocalFrame(e,t,n,s){return s===void 0&&(s=new L),t.w*=-1,t.vmult(n,s),t.w*=-1,s}}const CR=new Xi;new L;new L;new L;new L;new L,new L,new L,new L,new L,new L,new L,new L;new L;new Xi;new Us;new dr;new dr;new dr;new L;new L;new L;new L;new L;new L;new L;new L;new L;new L;new Xi;new L;new L;new L;new L;class cG{constructor(){this.rayFromWorld=new L,this.rayToWorld=new L,this.hitNormalWorld=new L,this.hitPointWorld=new L,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,n,s,o,r,g){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(n),this.hitPointWorld.copy(s),this.shape=o,this.body=r,this.distance=g}}let dX,AX,hX,pX,mX,fX,bX;const eB={CLOSEST:1,ANY:2,ALL:4};dX=tt.types.SPHERE;AX=tt.types.PLANE;hX=tt.types.BOX;pX=tt.types.CYLINDER;mX=tt.types.CONVEXPOLYHEDRON;fX=tt.types.HEIGHTFIELD;bX=tt.types.TRIMESH;class Gi{get[dX](){return this._intersectSphere}get[AX](){return this._intersectPlane}get[hX](){return this._intersectBox}get[pX](){return this._intersectConvex}get[mX](){return this._intersectConvex}get[fX](){return this._intersectHeightfield}get[bX](){return this._intersectTrimesh}constructor(e,t){e===void 0&&(e=new L),t===void 0&&(t=new L),this.from=e.clone(),this.to=t.clone(),this.direction=new L,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=Gi.ANY,this.result=new cG,this.hasHit=!1,this.callback=n=>{}}intersectWorld(e,t){return this.mode=t.mode||Gi.ANY,this.result=t.result||new cG,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=typeof t.collisionFilterMask<"u"?t.collisionFilterMask:-1,this.collisionFilterGroup=typeof t.collisionFilterGroup<"u"?t.collisionFilterGroup:-1,this.checkCollisionResponse=typeof t.checkCollisionResponse<"u"?t.checkCollisionResponse:!0,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(uR),rb.length=0,e.broadphase.aabbQuery(e,uR,rb),this.intersectBodies(rb),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const n=this.checkCollisionResponse;if(n&&!e.collisionResponse||!(this.collisionFilterGroup&e.collisionFilterMask)||!(e.collisionFilterGroup&this.collisionFilterMask))return;const s=p_,o=m_;for(let r=0,g=e.shapes.length;re.boundingSphereRadius)return;const g=this[e.type];g&&g.call(this,e,t,n,s,e)}_intersectBox(e,t,n,s,o){return this._intersectConvex(e.convexPolyhedronRepresentation,t,n,s,o)}_intersectPlane(e,t,n,s,o){const r=this.from,g=this.to,a=this.direction,l=new L(0,0,1);t.vmult(l,l);const I=new L;r.vsub(n,I);const u=I.dot(l);g.vsub(n,I);const d=I.dot(l);if(u*d>0||r.distanceTo(g)=0&&b<=1&&(r.lerp(g,b,A),A.vsub(n,p),p.normalize(),this.reportIntersection(p,A,o,s,-1)),this.result.shouldStop)return;f>=0&&f<=1&&(r.lerp(g,f,A),A.vsub(n,p),p.normalize(),this.reportIntersection(p,A,o,s,-1))}}_intersectConvex(e,t,n,s,o,r){const g=B_,a=AR,l=r&&r.faceList||null,I=e.faces,u=e.vertices,d=e.faceNormals,A=this.direction,p=this.from,b=this.to,f=p.distanceTo(b),h=l?l.length:I.length,G=this.result;for(let y=0;!G.shouldStop&&yf||this.reportIntersection(g,Di,o,s,v)}}}}_intersectTrimesh(e,t,n,s,o,r){const g=v_,a=x_,l=V_,I=AR,u=Z_,d=w_,A=R_,p=W_,b=S_,f=e.indices;e.vertices;const h=this.from,G=this.to,y=this.direction;l.position.copy(n),l.quaternion.copy(t),Oi.vectorToLocalFrame(n,t,y,u),Oi.pointToLocalFrame(n,t,h,d),Oi.pointToLocalFrame(n,t,G,A),A.x*=e.scale.x,A.y*=e.scale.y,A.z*=e.scale.z,d.x*=e.scale.x,d.y*=e.scale.y,d.z*=e.scale.z,A.vsub(d,u),u.normalize();const v=d.distanceSquared(A);e.tree.rayQuery(this,l,a);for(let W=0,R=a.length;!this.result.shouldStop&&W!==R;W++){const x=a[W];e.getNormal(x,g),e.getVertex(f[x*3],no),no.vsub(d,I);const M=u.dot(g),V=g.dot(I)/M;if(V<0)continue;u.scale(V,Di),Di.vadd(d,Di),e.getVertex(f[x*3+1],Wo),e.getVertex(f[x*3+2],xo);const w=Di.distanceSquared(d);!(Gi.pointInTriangle(Di,Wo,no,xo)||Gi.pointInTriangle(Di,no,Wo,xo))||w>v||(Oi.vectorToWorldFrame(t,g,b),Oi.pointToWorldFrame(n,t,Di,p),this.reportIntersection(b,p,o,s,x))}a.length=0}reportIntersection(e,t,n,s,o){const r=this.from,g=this.to,a=r.distanceTo(t),l=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(l.hitFaceIndex=typeof o<"u"?o:-1,this.mode){case Gi.ALL:this.hasHit=!0,l.set(r,g,e,t,n,s,a),l.hasHit=!0,this.callback(l);break;case Gi.CLOSEST:(a=0&&(u=o*l-r*g)>=0&&I+uDate.now()-i}new L;const X_=k.createContext(null),H_=()=>k.useContext(X_),GX=k.createContext(null),yX=()=>{const i=k.useContext(GX);if(!i)throw new Error("Physics context not found. @react-three/cannon & components can only be used within a Physics provider");return i};new H(1,1,1);new H;new Ee;const hR=new wt;function IG(i){const e=k.useRef(null);return i&&typeof i!="function"?i:e}function pR(i){return i.charAt(0).toUpperCase()+i.slice(1)}function ei(i,e){const t=e===void 0?"":`/${e}`;return typeof i=="function"?null:i&&i.current&&`${i.current.uuid}${t}`}const F_=new Ki,N_=new Dt,Y_=i=>e=>i(F_.setFromQuaternion(N_.fromArray(e)).toArray());let BX=0;function ab(i,e,t,n,s,o){return o===void 0&&(o="bodies"),r=>{const g=BX++;t[g]={[n]:r};const a=ei(i,s);return a&&e.subscribe({props:{id:g,target:o,type:n},uuid:a}),()=>{delete t[g],e.unsubscribe({props:g})}}}function mR(i,e){let{position:t=[0,0,0],rotation:n=[0,0,0],userData:s={}}=e;i.userData=s,i.position.set(...t),i.rotation.set(...n),i.updateMatrix()}function fR(i,e,t){let{onCollide:n,onCollideBegin:s,onCollideEnd:o}=e;i[t]={collide:n,collideBegin:s,collideEnd:o}}function $C(i,e,t,n,s){n===void 0&&(n=null),s===void 0&&(s=[]);const o=IG(n),{events:r,refs:g,scaleOverrides:a,subscriptions:l,worker:I}=yX(),u=H_();k.useLayoutEffect(()=>{o.current||(o.current=new wt);const A=o.current,p=I,b=A instanceof pr?(A.instanceMatrix.setUsage(dV),A.count):1,f=A instanceof pr?new Array(b).fill(0).map((G,y)=>`${A.uuid}/${y}`):[A.uuid],h=A instanceof pr?f.map((G,y)=>{const v=e(y);return mR(hR,v),A.setMatrixAt(y,hR.matrix),A.instanceMatrix.needsUpdate=!0,g[G]=A,u==null||u.add(G,v,i),fR(r,v,G),{...v,args:t(v.args)}}):f.map((G,y)=>{const v=e(y);return mR(A,v),g[G]=A,u==null||u.add(G,v,i),fR(r,v,G),{...v,args:t(v.args)}});return p.addBodies({props:h.map(G=>{let{onCollide:y,onCollideBegin:v,onCollideEnd:W,...R}=G;return{onCollide:!!y,...R}}),type:i,uuid:f}),()=>{f.forEach(G=>{delete g[G],u==null||u.remove(G),delete r[G]}),p.removeBodies({uuid:f})}},s);const d=k.useMemo(()=>{const A=(y,v)=>{const W=`set${pR(y)}`;return{set:R=>{const x=ei(o,v);x&&I[W]({props:R,uuid:x})},subscribe:ab(o,I,l,y,v)}},p=y=>({copy:W=>{let{w:R,x,y:M,z:V}=W;const w=ei(o,y);w&&I.setQuaternion({props:[x,M,V,R],uuid:w})},set:(W,R,x,M)=>{const V=ei(o,y);V&&I.setQuaternion({props:[W,R,x,M],uuid:V})},subscribe:ab(o,I,l,"quaternion",y)}),b=y=>({copy:v=>{let{x:W,y:R,z:x}=v;const M=ei(o,y);M&&I.setRotation({props:[W,R,x],uuid:M})},set:(v,W,R)=>{const x=ei(o,y);x&&I.setRotation({props:[v,W,R],uuid:x})},subscribe:v=>{const W=BX++,R="bodies",x="quaternion",M=ei(o,y);return l[W]={[x]:Y_(v)},M&&I.subscribe({props:{id:W,target:R,type:x},uuid:M}),()=>{delete l[W],I.unsubscribe({props:W})}}}),f=(y,v)=>{const W=`set${pR(y)}`;return{copy:R=>{let{x,y:M,z:V}=R;const w=ei(o,v);w&&I[W]({props:[x,M,V],uuid:w})},set:(R,x,M)=>{const V=ei(o,v);V&&I[W]({props:[R,x,M],uuid:V})},subscribe:ab(o,I,l,y,v)}};function h(y){return{allowSleep:A("allowSleep",y),angularDamping:A("angularDamping",y),angularFactor:f("angularFactor",y),angularVelocity:f("angularVelocity",y),applyForce(v,W){const R=ei(o,y);R&&I.applyForce({props:[v,W],uuid:R})},applyImpulse(v,W){const R=ei(o,y);R&&I.applyImpulse({props:[v,W],uuid:R})},applyLocalForce(v,W){const R=ei(o,y);R&&I.applyLocalForce({props:[v,W],uuid:R})},applyLocalImpulse(v,W){const R=ei(o,y);R&&I.applyLocalImpulse({props:[v,W],uuid:R})},applyTorque(v){const W=ei(o,y);W&&I.applyTorque({props:[v],uuid:W})},collisionFilterGroup:A("collisionFilterGroup",y),collisionFilterMask:A("collisionFilterMask",y),collisionResponse:A("collisionResponse",y),fixedRotation:A("fixedRotation",y),isTrigger:A("isTrigger",y),linearDamping:A("linearDamping",y),linearFactor:f("linearFactor",y),mass:A("mass",y),material:A("material",y),position:f("position",y),quaternion:p(y),rotation:b(y),scaleOverride(v){const W=ei(o,y);W&&(a[W]=new H(...v))},sleep(){const v=ei(o,y);v&&I.sleep({uuid:v})},sleepSpeedLimit:A("sleepSpeedLimit",y),sleepTimeLimit:A("sleepTimeLimit",y),userData:A("userData",y),velocity:f("velocity",y),wakeUp(){const v=ei(o,y);v&&I.wakeUp({uuid:v})}}}const G={};return{...h(void 0),at:y=>G[y]||(G[y]=h(y))}},[]);return[o,d]}function K_(i,e,t){return $C("Plane",i,()=>[],e,t)}function L_(i,e,t){const n=[1,1,1];return $C("Box",i,function(s){return s===void 0&&(s=n),s},e,t)}function z_(i,e,t){return $C("Cylinder",i,function(n){return n===void 0&&(n=[]),n},e,t)}function T_(i,e,t){return $C("Sphere",i,function(n){if(n===void 0&&(n=[1]),!Array.isArray(n))throw new Error("useSphere args must be an array");return[n[0]]},e,t)}function vX(i,e,t){return $C("Compound",i,n=>n,e,t)}function ZX(i,e,t,n,s){n===void 0&&(n={}),s===void 0&&(s=[]);const{worker:o}=yX(),r=kh.generateUUID(),g=IG(e),a=IG(t);k.useEffect(()=>{if(g.current&&a.current)return o.addConstraint({props:[g.current.uuid,a.current.uuid,n],type:i,uuid:r}),()=>o.removeConstraint({uuid:r})},s);const l=k.useMemo(()=>{const I={disable:()=>o.disableConstraint({uuid:r}),enable:()=>o.enableConstraint({uuid:r})};return i==="Hinge"?{...I,disableMotor:()=>o.disableConstraintMotor({uuid:r}),enableMotor:()=>o.enableConstraintMotor({uuid:r}),setMotorMaxForce:u=>o.setConstraintMotorMaxForce({props:u,uuid:r}),setMotorSpeed:u=>o.setConstraintMotorSpeed({props:u,uuid:r})}:I},s);return[g,a,l]}function E_(i,e,t,n){return i===void 0&&(i=null),e===void 0&&(e=null),n===void 0&&(n=[]),ZX("PointToPoint",i,e,t,n)}function k_(i,e,t,n){return i===void 0&&(i=null),e===void 0&&(e=null),n===void 0&&(n=[]),ZX("ConeTwist",i,e,t,n)}const __=new H,U_=new H(1,1,1),D_=new Dt,AA=new Ee;function bR(i,e,t,n,s){return n===void 0&&(n=U_),i!==void 0?(AA.compose(__.fromArray(e,i*3),D_.fromArray(t,i*4),n),s&&(s.matrixAutoUpdate=!1,s.matrix.copy(AA)),AA):AA.identity()}const J_=()=>{const i=[];return e=>i.includes(e)?!1:!!i.push(e)};function P_(i){let{allowSleep:e=!1,axisIndex:t=0,broadphase:n="Naive",children:s,defaultContactMaterial:o={contactEquationStiffness:1e6},frictionGravity:r=null,gravity:g=[0,-9.81,0],isPaused:a=!1,iterations:l=5,maxSubSteps:I=10,quatNormalizeFast:u=!1,quatNormalizeSkip:d=0,shouldInvalidate:A=!0,size:p=1e3,solver:b="GS",stepSize:f=1/60,tolerance:h=.001}=i;const{invalidate:G}=Qn(),[{bodies:y,events:v,refs:W,scaleOverrides:R,subscriptions:x,worker:M}]=k.useState(()=>({bodies:{},events:{},refs:{},scaleOverrides:{},subscriptions:{},worker:new Ek({allowSleep:e,axisIndex:t,broadphase:n,defaultContactMaterial:o,frictionGravity:r,gravity:g,iterations:l,quatNormalizeFast:u,quatNormalizeSkip:d,size:p,solver:b,tolerance:h})}));let V=0;const w=k.useCallback((he,N)=>{a||(V+=N,M.step({maxSubSteps:I,stepSize:f,timeSinceLastCalled:V}),V=0)},[a,I,f]),Y=he=>{var N;let{body:D,contact:{bi:U,bj:te,...ye},target:Re,...ee}=he;const fe=(N=v[Re])==null?void 0:N.collide;fe&&fe({body:W[D],contact:{bi:W[U],bj:W[te],...ye},target:W[Re],...ee})},Q=he=>{var N,D;let{bodyA:U,bodyB:te}=he;const ye=(N=v[U])==null?void 0:N.collideBegin;ye&&ye({body:W[te],op:"event",target:W[U],type:"collideBegin"});const Re=(D=v[te])==null?void 0:D.collideBegin;Re&&Re({body:W[U],op:"event",target:W[te],type:"collideBegin"})},E=he=>{var N,D;let{bodyA:U,bodyB:te}=he;const ye=(N=v[U])==null?void 0:N.collideEnd;ye&&ye({body:W[te],op:"event",target:W[U],type:"collideEnd"});const Re=(D=v[te])==null?void 0:D.collideEnd;Re&&Re({body:W[U],op:"event",target:W[te],type:"collideEnd"})},se=he=>{let{active:N,bodies:D=[],observations:U,positions:te,quaternions:ye}=he;for(let Re=0;Re{let[ee,fe,xe]=Re;const It=(x[ee]||{})[xe];It&&It(fe)}),!!N){for(const Re of Object.values(W).filter(J_()))if(Re instanceof pr)for(let ee=0;ee{var N;let{body:D,ray:{uuid:U,...te},...ye}=he;const Re=(N=v[U])==null?void 0:N.rayhit;Re&&Re({body:D?W[D]:null,ray:{uuid:U,...te},...ye})};Yn(w),k.useEffect(()=>(M.connect(),M.init(),M.on("collide",Y),M.on("collideBegin",Q),M.on("collideEnd",E),M.on("frame",se),M.on("rayhit",ge),()=>{M.terminate(),M.removeAllListeners()}),[]),k.useEffect(()=>{M.axisIndex=t},[t]),k.useEffect(()=>{M.broadphase=n},[n]),k.useEffect(()=>{M.gravity=g},[g]),k.useEffect(()=>{M.iterations=l},[l]),k.useEffect(()=>{M.tolerance=h},[h]);const de=k.useMemo(()=>({bodies:y,events:v,refs:W,scaleOverrides:R,subscriptions:x,worker:M}),[y,v,W,x,M]);return J.jsx(GX.Provider,{value:de,children:s})}const wX=k.createRef();let Fl;const QI=new H;function bp(i){const[,,e]=E_(wX,i,{pivotA:[0,0,0],pivotB:[0,0,0]});k.useEffect(()=>void e.disable(),[]);const t=k.useCallback(o=>{Fl!=null&&(Fl=void 0,document.body.style.cursor="grab",o.target.releasePointerCapture(o.pointerId),e.disable())},[]),n=k.useCallback(o=>{Fl==null&&(Fl=o.pointerId,QI.copy(o.point),document.body.style.cursor="grabbing",o.stopPropagation(),o.target.setPointerCapture(o.pointerId),e.enable())},[]),s=k.useCallback(o=>{Fl==o.pointerId&&QI.copy(o.point)});return{onPointerUp:t,onPointerMove:s,onPointerDown:n}}function O_(){const[,i]=T_(()=>({collisionFilterMask:0,type:"Kinematic",mass:0,args:[.5]}),wX);return Yn(()=>{Fl!=null&&i.position.set(QI.x,QI.y,QI.z)}),null}function Q_(i,e=0,t=0,n=0){const s=.45*i,o=.4*i,r=.4*i,g=.15*i,a=.15*i,l=0*i,I=.28*i,u=.6*i,d=.2*i,A=.5*i,p=.15*i,b=.15*i,f=.5*i,h={color:"lightblue",args:[b,f,a],mass:i,position:[-s/3,f/2,0]},G={color:"lightblue",args:[b,f,a],mass:i,position:[s/3,f/2,0]},y={color:"lightblue",args:[p,A,a],mass:i,position:[-s/3,h.position[1]+f/2+A/2,0]},v={color:"lightblue",args:[p,A,a],mass:i,position:[s/3,G.position[1]+f/2+A/2,0]},W={color:"lightblue",args:[s,d,a],mass:i,position:[0,y.position[1]+A/2+d/2,0]},R={color:"indianred",args:[s,u,a*1.5],mass:i,position:[0,W.position[1]+d/2+u/2,0]},x={color:"lightpink",args:[I,I,I],mass:i,position:[0,R.position[1]+u/2+I/2+l,0]},M={color:"indianred",args:[o,g,g],mass:i,position:[-s/2-o/2,R.position[1]+u/2,0]},V={color:"indianred",args:[o,g,g],mass:i,position:[s/2+o/2,R.position[1]+u/2,0]},w={color:"lightpink",args:[r,a,a],mass:i,position:[M.position[0]-r/2-o/2,M.position[1],0]},Y={color:"lightpink",args:[r,a,a],mass:i,position:[V.position[0]+r/2+o/2,V.position[1],0]},Q={bodyA:"head",bodyB:"upperBody",pivotA:[0,-I-l/2,0],pivotB:[0,u/2,0],axisA:[0,1,0],axisB:[0,1,0],angle:e,twistAngle:n},E={bodyA:"lowerLeftLeg",bodyB:"upperLeftLeg",pivotA:[0,f/2,0],pivotB:[0,-A/2,0],axisA:[0,1,0],axisB:[0,1,0],angle:e,twistAngle:n},se={bodyA:"lowerRightLeg",bodyB:"upperRightLeg",pivotA:[0,f/2,0],pivotB:[0,-A/2,0],axisA:[0,1,0],axisB:[0,1,0],angle:e,twistAngle:n},ge={bodyA:"upperLeftLeg",bodyB:"pelvis",pivotA:[0,A/2,0],pivotB:[-s/3,-d/2,0],axisA:[0,1,0],axisB:[0,1,0],angle:e,twistAngle:n},de={bodyA:"upperRightLeg",bodyB:"pelvis",pivotA:[0,A/2,0],pivotB:[s/3,-d/2,0],axisA:[0,1,0],axisB:[0,1,0],angle:e,twistAngle:n},he={bodyA:"pelvis",bodyB:"upperBody",pivotA:[0,d/2,0],pivotB:[0,-u/2,0],axisA:[0,1,0],axisB:[0,1,0],angle:e,twistAngle:n},N={bodyA:"upperBody",bodyB:"upperLeftArm",pivotA:[o/2,0,0],pivotB:[-s/2,u/2,0],axisA:[1,0,0],axisB:[1,0,0],angle:t},D={bodyA:"upperBody",bodyB:"upperRightArm",pivotA:[-o/2,0,0],pivotB:[s/2,u/2,0],axisA:[1,0,0],axisB:[1,0,0],angle:t,twistAngle:n},U={bodyA:"lowerLeftArm",bodyB:"upperLeftArm",pivotA:[r/2,0,0],pivotB:[-o/2,0,0],axisA:[1,0,0],axisB:[1,0,0],angle:e,twistAngle:n},te={bodyA:"lowerRightArm",bodyB:"upperRightArm",pivotA:[-r/2,0,0],pivotB:[o/2,0,0],axisA:[1,0,0],axisB:[1,0,0],angle:e,twistAngle:n};return{shapes:{lowerLeftLeg:h,lowerRightLeg:G,upperLeftLeg:y,upperRightLeg:v,pelvis:W,upperBody:R,head:x,upperLeftArm:M,upperRightArm:V,lowerLeftArm:w,lowerRightArm:Y},joints:{neckJoint:Q,leftKneeJoint:E,rightKneeJoint:se,leftHipJoint:ge,rightHipJoint:de,spineJoint:he,leftShoulder:N,rightShoulder:D,leftElbowJoint:U,rightElbowJoint:te}}}const Hi=k.forwardRef(({children:i,transparent:e=!1,opacity:t=1,color:n="white",args:s=[1,1,1],...o},r)=>J.jsxs(tk,{args:s,receiveShadow:!0,castShadow:!0,ref:r,...o,children:[J.jsx("meshStandardMaterial",{color:n,transparent:e,opacity:t}),i]})),{shapes:j_,joints:Vo}=Q_(5.5,Math.PI/16,Math.PI/16,0),GR=k.createContext(),io=({config:i,children:e,render:t,name:n,...s})=>{const{color:o,args:r,mass:g,position:a}=j_[n],l=k.useContext(GR),[I]=L_(()=>({mass:g,args:r,position:a,linearDamping:.99,...s}));k_(I,l,i);const u=bp(I);return J.jsxs(GR.Provider,{value:I,children:[J.jsx(Hi,{castShadow:!0,receiveShadow:!0,ref:I,...s,...u,scale:r,name:n,color:o,children:t}),e]})};function q_(){const i=k.useRef(),e=k.useRef();return Yn(t=>{e.current.position.y=Math.sin(t.clock.elapsedTime*2)*.1,i.current.scale.y=(1+Math.sin(t.clock.elapsedTime*2))*.6}),J.jsxs(J.Fragment,{children:[J.jsxs("group",{ref:e,children:[J.jsx(Hi,{position:[-.3,.1,.5],args:[.2,.1,.1],color:"black",transparent:!0,opacity:.8}),J.jsx(Hi,{position:[.3,.1,.5],args:[.2,.1,.1],color:"black",transparent:!0,opacity:.8})]}),J.jsx(Hi,{ref:i,position:[0,-.2,.5],args:[.3,.05,.1],color:"#700000",transparent:!0,opacity:.8})]})}function $_(i){return J.jsxs(io,{name:"upperBody",...i,children:[J.jsx(io,{...i,name:"head",config:Vo.neckJoint,render:J.jsx(q_,{})}),J.jsx(io,{...i,name:"upperLeftArm",config:Vo.leftShoulder,children:J.jsx(io,{...i,name:"lowerLeftArm",config:Vo.leftElbowJoint})}),J.jsx(io,{...i,name:"upperRightArm",config:Vo.rightShoulder,children:J.jsx(io,{...i,name:"lowerRightArm",config:Vo.rightElbowJoint})}),J.jsxs(io,{...i,name:"pelvis",config:Vo.spineJoint,children:[J.jsx(io,{...i,name:"upperLeftLeg",config:Vo.leftHipJoint,children:J.jsx(io,{...i,name:"lowerLeftLeg",config:Vo.leftKneeJoint})}),J.jsx(io,{...i,name:"upperRightLeg",config:Vo.rightHipJoint,children:J.jsx(io,{...i,name:"lowerRightLeg",config:Vo.rightKneeJoint})})]})]})}function eU(i){const[e]=vX(()=>({mass:24,linearDamping:.95,angularDamping:.95,shapes:[{type:"Box",mass:10,position:[0,0,0],args:[3.1,3.1,.5]},{type:"Box",mass:10,position:[0,-1.75,1.25],args:[3.1,.5,3.1]},{type:"Box",mass:1,position:[-1.25,-3.5,0],args:[.5,3,.5]},{type:"Box",mass:1,position:[1.25,-3.5,0],args:[.5,3,.5]},{type:"Box",mass:1,position:[-1.25,-3.5,2.5],args:[.5,3,.5]},{type:"Box",mass:1,position:[1.25,-3.5,2.5],args:[.5,3,.5]}],...i})),t=bp(e);return J.jsxs("group",{ref:e,...t,children:[J.jsx(Hi,{position:[0,0,0],scale:[3.1,3.1,.5]}),J.jsx(Hi,{position:[0,-1.75,1.25],scale:[3.1,.5,3.1]}),J.jsx(Hi,{position:[5+-6.25,-3.5,0],scale:[.5,3,.5]}),J.jsx(Hi,{position:[5+-3.75,-3.5,0],scale:[.5,3,.5]}),J.jsx(Hi,{position:[5+-6.25,-3.5,2.5],scale:[.5,3,.5]}),J.jsx(Hi,{position:[5+-3.75,-3.5,2.5],scale:[.5,3,.5]})]})}function tU(i){const{nodes:e,materials:t}=pp("/cup.glb"),[n]=z_(()=>({mass:1,args:[.62,.62,1.2,16],linearDamping:.95,angularDamping:.95,...i})),s=bp(n);return J.jsx("group",{ref:n,...s,dispose:null,children:J.jsxs("group",{rotation:[Math.PI/2,0,0],scale:[.012,.012,.012],children:[J.jsx("mesh",{receiveShadow:!0,castShadow:!0,material:t.default,geometry:e["buffer-0-mesh-0"].geometry}),J.jsx("mesh",{material:t.Liquid,geometry:e["buffer-0-mesh-0_1"].geometry})]})})}function nU(i){const[e]=vX(()=>({mass:54,linearDamping:.95,angularDamping:.95,shapes:[{type:"Box",mass:50,position:[0,0,0],args:[5,.5,5]},{type:"Box",mass:1,position:[2,-2.25,2],args:[.5,4,.5]},{type:"Box",mass:1,position:[-2,-2.25,-2],args:[.5,4,.5]},{type:"Box",mass:1,position:[-2,-2.25,2],args:[.5,4,.5]},{type:"Box",mass:1,position:[2,-2.25,-2],args:[.5,4,.5]}],...i})),t=bp(e);return J.jsxs("group",{ref:e,...t,children:[J.jsx(Hi,{scale:[5,.5,5],position:[0,0,0]}),J.jsx(Hi,{scale:[.5,4,.5],position:[2,-2.25,2]}),J.jsx(Hi,{scale:[.5,4,.5],position:[-2,-2.25,-2]}),J.jsx(Hi,{scale:[.5,4,.5],position:[-2,-2.25,2]}),J.jsx(Hi,{scale:[.5,4,.5],position:[2,-2.25,-2]})]})}function iU(i){return J.jsxs("mesh",{position:[0,10,0],children:[J.jsx("cylinderGeometry",{args:[.5,1.5,2,32]}),J.jsx("meshStandardMaterial",{}),J.jsx(sk,{castShadow:!0,penumbra:.2,radiusTop:.4,radiusBottom:40,distance:80,angle:.45,attenuation:20,anglePower:5,intensity:1,opacity:.2})]})}function EA(i,e,t){return Math.max(e,Math.min(t,i))}const sU=.05,yR=.1;function RX(i,e,t){const n=e.gamepad;if(n==null)return;const s=t.components;for(const o in s){let r=i[o];r==null&&(i[o]=r={});const{gamepadIndices:g}=s[o];let a=!1,l=!1;if(g.button!=null&&g.buttonsU)}g.xAxis!=null&&g.xAxisyR)),g.yAxis!=null&&g.yAxisyR)),r.state=a?"pressed":l?"touched":"default"}}function BR(i,e){if(e===fy)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),i;if(e===Va||e===KC){let t=i.getIndex();if(t===null){const r=[],g=i.getAttribute("position");if(g!==void 0){for(let a=0;a=2.0 are supported."));return}const l=new KU(o,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});l.fileLoader.setRequestHeader(this.requestHeader);for(let I=0;I=0&&g[u]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+u+'".')}}l.setExtensions(r),l.setPlugins(g),l.parse(n,s)}parseAsync(e,t){const n=this;return new Promise(function(s,o){n.parse(e,t,s,o)})}}function rU(){let i={};return{get:function(e){return i[e]},add:function(e,t){i[e]=t},remove:function(e){delete i[e]},removeAll:function(){i={}}}}const Ft={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class gU{constructor(e){this.parser=e,this.name=Ft.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let n=0,s=t.length;n=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,o.source,r)}}class GU{constructor(e){this.parser=e,this.name=Ft.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,n=this.parser,s=n.json,o=s.textures[e];if(!o.extensions||!o.extensions[t])return null;const r=o.extensions[t],g=s.images[r.source];let a=n.textureLoader;if(g.uri){const l=n.options.manager.getHandler(g.uri);l!==null&&(a=l)}return this.detectSupport().then(function(l){if(l)return n.loadTextureImage(e,r.source,a);if(s.extensionsRequired&&s.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return n.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class yU{constructor(e){this.parser=e,this.name=Ft.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,n=this.parser,s=n.json,o=s.textures[e];if(!o.extensions||!o.extensions[t])return null;const r=o.extensions[t],g=s.images[r.source];let a=n.textureLoader;if(g.uri){const l=n.options.manager.getHandler(g.uri);l!==null&&(a=l)}return this.detectSupport().then(function(l){if(l)return n.loadTextureImage(e,r.source,a);if(s.extensionsRequired&&s.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return n.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class BU{constructor(e){this.name=Ft.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,n=t.bufferViews[e];if(n.extensions&&n.extensions[this.name]){const s=n.extensions[this.name],o=this.parser.getDependency("buffer",s.buffer),r=this.parser.options.meshoptDecoder;if(!r||!r.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return o.then(function(g){const a=s.byteOffset||0,l=s.byteLength||0,I=s.count,u=s.byteStride,d=new Uint8Array(g,a,l);return r.decodeGltfBufferAsync?r.decodeGltfBufferAsync(I,u,d,s.mode,s.filter).then(function(A){return A.buffer}):r.ready.then(function(){const A=new ArrayBuffer(I*u);return r.decodeGltfBuffer(new Uint8Array(A),I,u,d,s.mode,s.filter),A})})}else return null}}class vU{constructor(e){this.name=Ft.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,n=t.nodes[e];if(!n.extensions||!n.extensions[this.name]||n.mesh===void 0)return null;const s=t.meshes[n.mesh];for(const l of s.primitives)if(l.mode!==Ms.TRIANGLES&&l.mode!==Ms.TRIANGLE_STRIP&&l.mode!==Ms.TRIANGLE_FAN&&l.mode!==void 0)return null;const r=n.extensions[this.name].attributes,g=[],a={};for(const l in r)g.push(this.parser.getDependency("accessor",r[l]).then(I=>(a[l]=I,a[l])));return g.length<1?null:(g.push(this.parser.createNodeMesh(e)),Promise.all(g).then(l=>{const I=l.pop(),u=I.isGroup?I.children:[I],d=l[0].count,A=[];for(const p of u){const b=new Ee,f=new H,h=new Dt,G=new H(1,1,1),y=new pr(p.geometry,p.material,d);for(let v=0;v0||i.search(/^data\:image\/jpeg/)===0?"image/jpeg":i.search(/\.webp($|\?)/i)>0||i.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const YU=new Ee;class KU{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new rU,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let n=!1,s=!1,o=-1;typeof navigator<"u"&&(n=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,s=navigator.userAgent.indexOf("Firefox")>-1,o=s?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||n||s&&o<98?this.textureLoader=new Ly(this.options.manager):this.textureLoader=new Ty(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Li(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const n=this,s=this.json,o=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(r){return r._markDefs&&r._markDefs()}),Promise.all(this._invokeAll(function(r){return r.beforeRoot&&r.beforeRoot()})).then(function(){return Promise.all([n.getDependencies("scene"),n.getDependencies("animation"),n.getDependencies("camera")])}).then(function(r){const g={scene:r[0][s.scene||0],scenes:r[0],animations:r[1],cameras:r[2],asset:s.asset,parser:n,userData:{}};return jg(o,g,s),eg(g,s),Promise.all(n._invokeAll(function(a){return a.afterRoot&&a.afterRoot(g)})).then(function(){for(const a of g.scenes)a.updateMatrixWorld();e(g)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],n=this.json.meshes||[];for(let s=0,o=t.length;s{const a=this.associations.get(r);a!=null&&this.associations.set(g,a);for(const[l,I]of r.children.entries())o(I,g.children[l])};return o(n,s),s.name+="_instance_"+e.uses[t]++,s}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let n=0;n=2&&f.setY(V,R[x*a+1]),a>=3&&f.setZ(V,R[x*a+2]),a>=4&&f.setW(V,R[x*a+3]),a>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return f})}loadTexture(e){const t=this.json,n=this.options,o=t.textures[e].source,r=t.images[o];let g=this.textureLoader;if(r.uri){const a=n.manager.getHandler(r.uri);a!==null&&(g=a)}return this.loadTextureImage(e,o,g)}loadTextureImage(e,t,n){const s=this,o=this.json,r=o.textures[e],g=o.images[t],a=(g.uri||g.bufferView)+":"+r.sampler;if(this.textureCache[a])return this.textureCache[a];const l=this.loadImageSource(t,n).then(function(I){I.flipY=!1,I.name=r.name||g.name||"",I.name===""&&typeof g.uri=="string"&&g.uri.startsWith("data:image/")===!1&&(I.name=g.uri);const d=(o.samplers||{})[r.sampler]||{};return I.magFilter=ZR[d.magFilter]||In,I.minFilter=ZR[d.minFilter]||$i,I.wrapS=wR[d.wrapS]||Ao,I.wrapT=wR[d.wrapT]||Ao,s.associations.set(I,{textures:e}),I}).catch(function(){return null});return this.textureCache[a]=l,l}loadImageSource(e,t){const n=this,s=this.json,o=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(u=>u.clone());const r=s.images[e],g=self.URL||self.webkitURL;let a=r.uri||"",l=!1;if(r.bufferView!==void 0)a=n.getDependency("bufferView",r.bufferView).then(function(u){l=!0;const d=new Blob([u],{type:r.mimeType});return a=g.createObjectURL(d),a});else if(r.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const I=Promise.resolve(a).then(function(u){return new Promise(function(d,A){let p=d;t.isImageBitmapLoader===!0&&(p=function(b){const f=new jt(b);f.needsUpdate=!0,d(f)}),t.load(hs.resolveURL(u,o.path),p,void 0,A)})}).then(function(u){return l===!0&&g.revokeObjectURL(a),u.userData.mimeType=r.mimeType||NU(r.uri),u}).catch(function(u){throw console.error("THREE.GLTFLoader: Couldn't load texture",a),u});return this.sourceCache[e]=I,I}assignTexture(e,t,n,s){const o=this;return this.getDependency("texture",n.index).then(function(r){if(!r)return null;if(n.texCoord!==void 0&&n.texCoord>0&&(r=r.clone(),r.channel=n.texCoord),o.extensions[Ft.KHR_TEXTURE_TRANSFORM]){const g=n.extensions!==void 0?n.extensions[Ft.KHR_TEXTURE_TRANSFORM]:void 0;if(g){const a=o.associations.get(r);r=o.extensions[Ft.KHR_TEXTURE_TRANSFORM].extendTexture(r,g),o.associations.set(r,a)}}return s!==void 0&&(r.colorSpace=s),e[t]=r,r})}assignFinalMaterial(e){const t=e.geometry;let n=e.material;const s=t.attributes.tangent===void 0,o=t.attributes.color!==void 0,r=t.attributes.normal===void 0;if(e.isPoints){const g="PointsMaterial:"+n.uuid;let a=this.cache.get(g);a||(a=new _C,on.prototype.copy.call(a,n),a.color.copy(n.color),a.map=n.map,a.sizeAttenuation=!1,this.cache.add(g,a)),n=a}else if(e.isLine){const g="LineBasicMaterial:"+n.uuid;let a=this.cache.get(g);a||(a=new ai,on.prototype.copy.call(a,n),a.color.copy(n.color),a.map=n.map,this.cache.add(g,a)),n=a}if(s||o||r){let g="ClonedMaterial:"+n.uuid+":";s&&(g+="derivative-tangents:"),o&&(g+="vertex-colors:"),r&&(g+="flat-shading:");let a=this.cache.get(g);a||(a=n.clone(),o&&(a.vertexColors=!0),r&&(a.flatShading=!0),s&&(a.normalScale&&(a.normalScale.y*=-1),a.clearcoatNormalScale&&(a.clearcoatNormalScale.y*=-1)),this.cache.add(g,a),this.associations.set(a,this.associations.get(n))),n=a}e.material=n}getMaterialType(){return La}loadMaterial(e){const t=this,n=this.json,s=this.extensions,o=n.materials[e];let r;const g={},a=o.extensions||{},l=[];if(a[Ft.KHR_MATERIALS_UNLIT]){const u=s[Ft.KHR_MATERIALS_UNLIT];r=u.getMaterialType(),l.push(u.extendParams(g,o,t))}else{const u=o.pbrMetallicRoughness||{};if(g.color=new Me(1,1,1),g.opacity=1,Array.isArray(u.baseColorFactor)){const d=u.baseColorFactor;g.color.setRGB(d[0],d[1],d[2],qn),g.opacity=d[3]}u.baseColorTexture!==void 0&&l.push(t.assignTexture(g,"map",u.baseColorTexture,ni)),g.metalness=u.metallicFactor!==void 0?u.metallicFactor:1,g.roughness=u.roughnessFactor!==void 0?u.roughnessFactor:1,u.metallicRoughnessTexture!==void 0&&(l.push(t.assignTexture(g,"metalnessMap",u.metallicRoughnessTexture)),l.push(t.assignTexture(g,"roughnessMap",u.metallicRoughnessTexture))),r=this._invokeOne(function(d){return d.getMaterialType&&d.getMaterialType(e)}),l.push(Promise.all(this._invokeAll(function(d){return d.extendMaterialParams&&d.extendMaterialParams(e,g)})))}o.doubleSided===!0&&(g.side=Ns);const I=o.alphaMode||cb.OPAQUE;if(I===cb.BLEND?(g.transparent=!0,g.depthWrite=!1):(g.transparent=!1,I===cb.MASK&&(g.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5)),o.normalTexture!==void 0&&r!==Fn&&(l.push(t.assignTexture(g,"normalMap",o.normalTexture)),g.normalScale=new ce(1,1),o.normalTexture.scale!==void 0)){const u=o.normalTexture.scale;g.normalScale.set(u,u)}if(o.occlusionTexture!==void 0&&r!==Fn&&(l.push(t.assignTexture(g,"aoMap",o.occlusionTexture)),o.occlusionTexture.strength!==void 0&&(g.aoMapIntensity=o.occlusionTexture.strength)),o.emissiveFactor!==void 0&&r!==Fn){const u=o.emissiveFactor;g.emissive=new Me().setRGB(u[0],u[1],u[2],qn)}return o.emissiveTexture!==void 0&&r!==Fn&&l.push(t.assignTexture(g,"emissiveMap",o.emissiveTexture,ni)),Promise.all(l).then(function(){const u=new r(g);return o.name&&(u.name=o.name),eg(u,o),t.associations.set(u,{materials:e}),o.extensions&&jg(s,u,o),u})}createUniqueName(e){const t=Kt.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,n=this.extensions,s=this.primitiveCache;function o(g){return n[Ft.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(g,t).then(function(a){return RR(a,g,t)})}const r=[];for(let g=0,a=e.length;g0&&HU(h,o),h.name=t.createUniqueName(o.name||"mesh_"+e),eg(h,o),f.extensions&&jg(s,h,f),t.assignFinalMaterial(h),u.push(h)}for(let A=0,p=u.length;A1?I=new Ls:l.length===1?I=l[0]:I=new wt,I!==l[0])for(let u=0,d=l.length;u{const u=new Map;for(const[d,A]of s.associations)(d instanceof on||d instanceof jt)&&u.set(d,A);return I.traverse(d=>{const A=s.associations.get(d);A!=null&&u.set(d,A)}),u};return s.associations=l(o),o})}_createAnimationTracks(e,t,n,s,o){const r=[],g=e.name?e.name:e.uuid,a=[];jr[o.path]===jr.weights?e.traverse(function(d){d.morphTargetInfluences&&a.push(d.name?d.name:d.uuid)}):a.push(g);let l;switch(jr[o.path]){case jr.weights:l=Rr;break;case jr.rotation:l=Eo;break;case jr.position:case jr.scale:l=Sr;break;default:switch(n.itemSize){case 1:l=Rr;break;case 2:case 3:default:l=Sr;break}break}const I=s.interpolation!==void 0?VU[s.interpolation]:Zr,u=this._getArrayFromAccessor(n);for(let d=0,A=a.length;d{t instanceof tn&&t.material instanceof on&&(t.material.colorWrite=(e==null?void 0:e.colorWrite)??!0)})}function PU(i,e){return{type:"hand",inputSource:i,pose:zU(i.hand),assetPath:UU(i.handedness,e)}}function OU({inputSource:i,pose:e},t,n){TU(e,t,i.hand,n,i.handedness)}const QU=["wrist","thumb-metacarpal","thumb-phalanx-proximal","thumb-phalanx-distal","thumb-tip","index-finger-metacarpal","index-finger-phalanx-proximal","index-finger-phalanx-intermediate","index-finger-phalanx-distal","index-finger-tip","middle-finger-metacarpal","middle-finger-phalanx-proximal","middle-finger-phalanx-intermediate","middle-finger-phalanx-distal","middle-finger-tip","ring-finger-metacarpal","ring-finger-phalanx-proximal","ring-finger-phalanx-intermediate","ring-finger-phalanx-distal","ring-finger-tip","pinky-finger-metacarpal","pinky-finger-phalanx-proximal","pinky-finger-phalanx-intermediate","pinky-finger-phalanx-distal","pinky-finger-tip"];function jU(i,e,t){const n=new Float32Array(i.size*16),s=QU.map(o=>{const r=e.getObjectByName(o);if(r==null)throw new Error(`missing joint "${o}" in hand model`);return r.matrixAutoUpdate=!1,r});return o=>{if(o==null)return;const r=typeof t=="function"?t():t;if(r==null)return;o.fillPoses(i.values(),r,n);const g=s.length;for(let a=0;at.push(s);return e.addEventListener("selectstart",n),e.addEventListener("selectend",n),e.addEventListener("select",n),e.addEventListener("squeeze",n),e.addEventListener("squeezestart",n),e.addEventListener("squeezeend",n),{cleanup(){e.removeEventListener("selectstart",n),e.removeEventListener("selectend",n),e.removeEventListener("select",n),e.removeEventListener("squeeze",n),e.removeEventListener("squeezestart",n),e.removeEventListener("squeezeend",n)},state:{type:"transientPointer",inputSource:i,events:t}}}function SR(i){if(i.hand!=null)return"hand";switch(i.targetRayMode){case"gaze":return"gaze";case"screen":return"screenInput";case"tracked-pointer":return"controller";case"transient-pointer":return"transientPointer"}}function eD(i){const e=new rJ(i);return{controller:async(t,n)=>({state:await gJ(n,e)}),hand:(t,n)=>({state:PU(n,i)}),gaze:(t,n)=>({state:{type:"gaze",inputSource:n}}),screenInput:(t,n)=>({state:{type:"screenInput",inputSource:n}}),transientPointer:(t,n)=>$U(n,t)}}function tD(i,e){let t=new Set;const n=eD(e),s=new Map;return(o,r,g,a)=>{var I;t=new Set(o.inputSources);const l={};if(a==="all"){l.controllerStates=[],l.gazeStates=[],l.handStates=[],l.screenInputStates=[],l.transientPointerStates=[];for(const u of s.values())u()}else if(a!=null){const u=a.length;for(let d=0;dh===A);if(f===-1)throw new Error(`unable to find removed input source ${A}`);b.splice(f,1),(I=s.get(A))==null||I(),s.delete(A)}}return g!=null&&g.forEach(async u=>{const d=SR(u);let A=n[d](o,u),p;if(A instanceof Promise){if(p=await A,!t.has(u))return;i[d](p.state)}else p=A,WR(`${d}States`,l,r).push(p.state);p.cleanup!=null&&s.set(u,p.cleanup)}),l}}function WR(i,e,t){let n=e[i];return n==null&&(e[i]=n=t==null?[]:[...t[i]]),n}function nD(i,e){const t=(n,s)=>{s!=null&&n.visibilityState===s.visibilityState||e(n.visibilityState==="visible")};return t(i.getState()),i.subscribe(t)}class iD extends Fn{constructor(){super({transparent:!0,toneMapped:!1,depthWrite:!1})}onBeforeCompile(e,t){super.onBeforeCompile(e,t),e.vertexShader=`varying vec2 vLocalPosition; +`+e.vertexShader,e.vertexShader=e.vertexShader.replace("#include ",`#include + vLocalPosition = position.xy * 2.0;`),e.fragmentShader=`varying vec2 vLocalPosition; +`+e.fragmentShader,e.fragmentShader=e.fragmentShader.replace("#include ",`#include + float value = max(0.0, 1.0 - sqrt(dot(vLocalPosition, vLocalPosition))); + diffuseColor.a = diffuseColor.a * value * value;`)}}const sD=new H(0,0,1),xR=new Dt,db=new H;function oD(i,e,t,n){const s=t.getIntersection();if(s==null||!t.getEnabled()){i.visible=!1;return}i.visible=!0;const o=typeof n.color=="function"?n.color(t):n.color;Array.isArray(o)?e.color.set(...o):e.color.set(o??"white"),e.opacity=typeof n.opacity=="function"?n.opacity(t):n.opacity??.4,i.position.copy(s.pointOnFace),i.scale.setScalar(n.size??.1),s.normal!=null&&(xR.setFromUnitVectors(sD,s.normal),s.object.getWorldQuaternion(i.quaternion),i.quaternion.multiply(xR),db.set(0,0,n.cursorOffset??.01),db.applyQuaternion(i.quaternion),i.position.add(db)),i.updateMatrix()}class rD extends Fn{constructor(){super({transparent:!0,toneMapped:!1})}onBeforeCompile(e,t){super.onBeforeCompile(e,t),e.vertexShader=`varying float vFade; +`+e.vertexShader,e.vertexShader=e.vertexShader.replace("#include ",`#include + vFade = position.z + 0.5;`),e.fragmentShader=`varying float vFade; +`+e.fragmentShader,e.fragmentShader=e.fragmentShader.replace("#include ",`#include + diffuseColor.a *= vFade;`)}}function gD(i,e,t,n){if(!t.getEnabled()){i.visible=!1;return}i.visible=!0;const s=t.getIntersection(),o=typeof n.color=="function"?n.color(t):n.color;Array.isArray(o)?e.color.set(...o):e.color.set(o??"white"),e.opacity=typeof n.opacity=="function"?n.opacity(t):n.opacity??.4;let r=n.maxLength??1;s!=null&&(r=Math.min(r,s.distance)),i.position.z=-r/2;const g=n.size??.005;i.scale.set(g,g,r),i.updateMatrix()}function aD(i,e,t,n,s,o={}){const r=I=>{I.inputSource===t&&i.down(Object.assign(I,{button:o.button??0}))},g=I=>{I.inputSource===t&&i.up(Object.assign(I,{button:o.button??0}))},a=`${n}start`,l=`${n}end`;return e.addEventListener(a,r),e.addEventListener(l,g),()=>{e.removeEventListener(a,r),e.removeEventListener(l,g)}}function lD(i){var e;return i.getButtonsDown().size>0?.6:VX(((e=i.getIntersection())==null?void 0:e.distance)??1/0,.07,0,.2,.4)}function bh(i){return i.getButtonsDown().size>0?.6:.4}function cD(i){var e;return VX(((e=i.getIntersection())==null?void 0:e.distance)??1/0,.1,.03,.2,.6)}function VX(i,e,t,n,s){return n+Math.max(0,Math.min(1,(i-e)/(t-e)))*(s-n)}function ID(i,e){return(t,n)=>{const s=VR(e),o=VR(i);if(o===s)return t.identity(),!0;if(n==null||o==null||s==null)return!1;const r=n.getPose(o,s);return r==null?!1:(t.fromArray(r.transform.matrix),!0)}}function VR(i){return typeof i=="function"?i():i}function CD({anchors:i=!0,handTracking:e=!0,layers:t=!0,meshDetection:n=!0,planeDetection:s=!0,referenceSpaceType:o="local-floor",customSessionInit:r,depthSensing:g=!1}={}){if(r!=null)return r;const a=[o],l=[];return Ml(i,"anchors",a,l),Ml(e,"hand-tracking",a,l),Ml(t,"layers",a,l),Ml(n,"mesh-detection",a,l),Ml(s,"plane-detection",a,l),Ml(g,"depth-sensing",a,l),{requiredFeatures:a,optionalFeatures:l}}function Ml(i,e,t,n){if(i!==!1){if(i===!0){n.push(e);return}t.push(e)}}function sg(i,e,t){return typeof i=="function"?i:(typeof i=="object"&&(e!=null&&uD(i,e)?i=i[e]:"default"in i&&(i=i.default)),i===!1?!1:i===!0?t:i??t)}function uD(i,e){return e in i}function MX(i,e,t){return i??(i=t),i===!1?!1:typeof i=="function"?i:e!=null&&e in i?i[e]??t:"default"in i?i.default??t:i}const XX={handStates:[],controllerStates:[],transientPointerStates:[],gazeStates:[],screenInputStates:[],detectedMeshes:[],detectedPlanes:[],mode:null};function dD(i){const e=rk(()=>({...XX,controller:i==null?void 0:i.controller,hand:i==null?void 0:i.hand,gaze:i==null?void 0:i.gaze,screenInput:i==null?void 0:i.screenInput,transientPointer:i==null?void 0:i.transientPointer,detectedMesh:i==null?void 0:i.detectedMesh,detectedPlane:i==null?void 0:i.detectedPlane})),t=tD({controller:g=>e.setState({controllerStates:[...e.getState().controllerStates,g]})},i),n=pD(e,t),s=hD(i==null?void 0:i.enterGrantedSession,g=>hA(g,i,void 0,r));let o,r;return Object.assign(e,{setWebXRManager(g){if(r===g)return;r=g;const{referenceSpaceType:a="local-floor",foveation:l}=i??{};r.setReferenceSpaceType(a),l!=null&&r.setFoveation(l);const{session:I}=e.getState();I!=null&&FX(r,I,i),o==null||o(),o=AD(g,n)},setFrameRate(g){const{session:a}=e.getState();a!=null&&HX(a,g)},setHand(g,a){if(a==null){e.setState({hand:g});return}const l=e.getState().hand,I={};typeof l=="object"&&Object.assign(I,l),Object.assign(I,{default:sg(l,void 0,{}),[a]:g}),e.setState({hand:I})},setController(g,a){if(a==null){e.setState({controller:g});return}const l=e.getState().controller,I={};typeof l=="object"&&Object.assign(I,l),Object.assign(I,{default:sg(l,void 0,{}),[a]:g}),e.setState({controller:I})},setTransientPointer(g,a){if(a==null){e.setState({transientPointer:g});return}const l=e.getState().transientPointer,I={};typeof l=="object"&&Object.assign(I,l),Object.assign(I,{default:sg(l,void 0,{}),[a]:g}),e.setState({transientPointer:I})},setGaze(g){e.setState({gaze:g})},setScreenInput(g){e.setState({screenInput:g})},setDetectedPlane(g,a){if(a==null){e.setState({detectedPlane:g});return}const l=e.getState().detectedPlane,I={};typeof l=="object"&&Object.assign(I,l),Object.assign(I,{default:sg(l,void 0,{}),[a]:g}),e.setState({detectedPlane:I})},setDetectedMesh(g,a){if(a==null){e.setState({detectedMesh:g});return}const l=e.getState().detectedMesh,I={};typeof l=="object"&&Object.assign(I,l),Object.assign(I,{default:sg(l,void 0,{}),[a]:g}),e.setState({detectedMesh:I})},destroy(){o==null||o(),s==null||s(),n(void 0,void 0)},enterXR:(g,a)=>hA(g,i,a,r),enterAR:g=>hA("immersive-ar",i,g,r),enterVR:g=>hA("immersive-vr",i,g,r),onBeforeFrame(g,a,l){const{origin:I}=e.getState(),u=a.parent??g;I!=u&&e.setState({origin:u}),r!=null&&mD(e,l,r)}})}async function HX(i,e){if(e===!1)return;const{supportedFrameRates:t}=i;if(t==null||t.length===0)return;if(typeof e=="function"){const s=e(t);return s===!1?void 0:i.updateTargetFrameRate(s)}const n=e==="high"?1:e==="mid"?.5:0;return i.updateTargetFrameRate(t[Math.ceil((t.length-1)*n)])}async function hA(i,e,t,n){if(navigator.xr==null)throw new Error("xr not supported");const s=await navigator.xr.requestSession(i,CD(Object.assign({},e,t)));return HX(s,(e==null?void 0:e.frameRate)??"high"),FX(n,s,e),s}function FX(i,e,t){if(i==null)return;const n=XRWebGLLayer.getNativeFramebufferScaleFactor(e);let s=t==null?void 0:t.frameBufferScaling;typeof s=="function"&&(s=s(n)),typeof s=="string"&&(s=s==="high"?n:s==="mid"?1:.5),s!=null&&(i==null||i.setFramebufferScaleFactor(s)),i==null||i.setSession(e)}const MR=["immersive-ar","immersive-vr","inline"];function AD(i,e){const t=()=>{const n=i.getSession();e(n,n.environmentBlendMode==="opaque"?"immersive-vr":"immersive-ar")};return i.addEventListener("sessionstart",t),()=>i.removeEventListener("sessionstart",t)}function hD(i=MR,e){var n;if(i===!1)return;i===!0&&(i=MR);const t=async()=>{var s;for(const o of i)await((s=navigator.xr)==null?void 0:s.isSessionSupported(o))&&e(o)};return(n=navigator.xr)==null||n.addEventListener("sessiongranted",t),()=>{var s;return(s=navigator.xr)==null?void 0:s.removeEventListener("sessiongranted",t)}}function pD(i,e){let t;return(n,s)=>{if(t==null||t(),n==null||s==null)return;const o=a=>i.setState(e(a.session,i.getState(),a.added,a.removed));n.addEventListener("inputsourceschange",o);const r=()=>i.setState({frameRate:n.frameRate,visibilityState:n.visibilityState}),g=()=>{t==null||t(),t=void 0,i.setState(XX)};n.addEventListener("end",g),n.addEventListener("frameratechange",r),n.addEventListener("visibilitychange",r),i.setState({...e(n,void 0,n.inputSources,void 0),frameRate:n.frameRate,visibilityState:n.visibilityState,detectedMeshes:[],detectedPlanes:[],mode:s,session:n}),t=()=>{e(n,i.getState(),void 0,"all"),n.removeEventListener("end",g),n.removeEventListener("frameratechange",r),n.removeEventListener("visibilitychange",r),n.removeEventListener("inputsourceschange",o)}}}function mD(i,e,t){const n=t.getReferenceSpace(),{detectedMeshes:s,detectedPlanes:o,session:r,controllerStates:g,handStates:a}=i.getState();if(e==null||n==null||r==null)return;const l=XR(o,e.detectedPlanes),I=XR(s,e.detectedMeshes);(o!=l||s!=I)&&i.setState({detectedPlanes:l,detectedMeshes:I});const u=g.length;for(let A=0;A{t instanceof tn&&t.material instanceof on&&(t.material.colorWrite=(e==null?void 0:e.colorWrite)??!0)})}function BD(i,e,t){const n=[];for(const s in e.components){const o=e.components[s];let r=t[s];r==null&&(t[s]=r={state:"default"}),n.push(...Object.values(o.visualResponses).map(g=>vD(i,r,g)))}return()=>{const s=n.length;for(let o=0;o{};if(t.valueNodeProperty==="visibility")return()=>n.visible=t.states.includes(e.state);const s=i.getObjectByName(t.minNodeName),o=i.getObjectByName(t.maxNodeName);return s==null||o==null?()=>{}:()=>{const r=ZD(e,t);n.quaternion.slerpQuaternions(s.quaternion,o.quaternion,r),n.position.lerpVectors(s.position,o.position,r),n.updateMatrix()}}function ZD(i,{componentProperty:e,states:t}){const n=t.includes(i.state);switch(e){case"xAxis":return n?HR(i).x:.5;case"yAxis":return n?HR(i).y:.5;case"button":return n?i.button??0:0;case"state":return n?1:0}}const ZI=new ce;function HR({xAxis:i=0,yAxis:e=0}){if(ZI.lengthSq()>1){const n=Math.atan2(e,i);ZI.set(Math.cos(n),Math.sin(n))}else ZI.set(i,e);return ZI.multiplyScalar(.5).addScalar(.5),ZI}function wD({_listeners:i,__r3f:e}){return i!=null&&Object.keys(i).length>0||e!=null&&(e==null?void 0:e.eventCount)>0}function RD({_listeners:i,__r3f:e},t){if(i!=null&&t in i)return i[t];if(e==null)return;const n=e.handlers[SD[t]];if(n!=null)return[n]}const SD={click:"onClick",contextmenu:"onContextMenu",dblclick:"onDoubleClick",pointercancel:"onPointerCancel",pointerdown:"onPointerDown",pointerenter:"onPointerEnter",pointerleave:"onPointerLeave",pointermove:"onPointerMove",pointerout:"onPointerOut",pointerover:"onPointerOver",pointerup:"onPointerUp",wheel:"onWheel"};class xi{constructor(e,t,n,s,o,r=o.object,g=r){yt(this,"type");yt(this,"bubbles");yt(this,"nativeEvent");yt(this,"pointer");yt(this,"intersection");yt(this,"currentObject");yt(this,"object");yt(this,"stopPropagation");yt(this,"stopImmediatePropagation");this.type=e,this.bubbles=t,this.nativeEvent=n,this.pointer=s,this.intersection=o,this.currentObject=r,this.object=g}get pointerId(){return this.pointer.id}get pointerType(){return this.pointer.type}get pointerState(){return this.pointer.state}get timeStamp(){return this.nativeEvent.timeStamp}get button(){return this.nativeEvent.button}get shiftKey(){return this.nativeEvent.shiftKey??!1}get metaKey(){return this.nativeEvent.metaKey??!1}get ctrlKey(){return this.nativeEvent.ctrlKey??!1}get altKey(){return this.nativeEvent.altKey??!1}get distance(){return this.intersection.distance}get distanceToRay(){return this.intersection.distanceToRay}get point(){return this.intersection.point}get index(){return this.intersection.index}get face(){return this.intersection.face}get faceIndex(){return this.intersection.faceIndex}get uv(){return this.intersection.uv}get uv1(){return this.intersection.uv1}get normal(){return this.intersection.normal}get instanceId(){return this.intersection.instanceId}get pointOnLine(){return this.intersection.pointOnLine}get batchId(){return this.intersection.batchId}get pointerPosition(){return this.intersection.pointerPosition}get pointerQuaternion(){return this.intersection.pointerQuaternion}get pointOnFace(){return this.intersection.pointOnFace}get localPoint(){return this.intersection.localPoint}get details(){return this.intersection.details}get target(){return this.object}get currentTarget(){return this.currentObject}retarget(e){const{type:t,bubbles:n,nativeEvent:s,pointer:o,intersection:r,target:g}=this;return new xi(t,n,s,o,r,e,g)}}class WD extends xi{get deltaX(){return this.nativeEvent.deltaX}get deltaY(){return this.nativeEvent.deltaY}get deltaZ(){return this.nativeEvent.deltaZ}constructor(e,t,n){super("wheel",!0,e,t,n)}}function xs(i){NX(i,i.currentObject)}function NX(i,e){if(e==null)return;const t=RD(e,i.type);let n=!i.bubbles;if(t!=null&&t.length>0){const s=i.retarget(e),o=t.length;s.stopPropagation=()=>n=!0;let r=!1;s.stopImmediatePropagation=()=>{n=!0,r=!0};for(let g=0;g=0;g--){const a=this.pointerEnteredHelper[g];xs(new xi("pointerenter",!1,e,this,n,a))}if(n!=null&&xs(new xi("pointermove",!0,e,this,n)),this.prevIntersection=this.intersection,this.prevEnabled=this.enabled,!this.wasMoved){this.wasMoved=!0;const g=this.onFirstMove.length;for(let a=0;an){g.set(e.button,e.timeStamp);return}xs(new xi("dblclick",!0,e,this,this.intersection)),g.delete(e.button)}cancel(e){if(this.enabled){if(!this.wasMoved){this.onFirstMove.push(this.cancel.bind(this,e));return}this.intersection!=null&&xs(new xi("pointercancel",!0,e,this,this.intersection))}}wheel(e,t,n){if(!this.enabled)return;let s=this.intersection;if(n||(s=this.computeIntersection(e,t,this.pointerCapture)),!this.wasMoved&&n){this.onFirstMove.push(this.cancel.bind(this,t));return}s!=null&&xs(new WD(t,this,s))}exit(e){var t;if(!this.wasMoved){this.onFirstMove.push(this.exit.bind(this,e));return}this.pointerCapture!=null&&((t=this.parentReleasePointerCapture)==null||t.call(this),this.pointerCapture=void 0),this.intersection=void 0,this.commit(e)}}function KX(i,e,t,n){if(i==null)return;const s=t.indexOf(i);s!=-1?t.splice(s,1):n.push(i),e.push(i),KX(i.parent,e,t,n)}function xD(i,e,t,n,s){if(e==null)return!1;const o=e.get(t);return!(o==null||n-o>s||o!=i.get(t))}function iB(i,e,t){return e.face==null?!1:(i.setFromNormalAndCoplanarPoint(e.face.normal,e.localPoint),i.applyMatrix4(t.matrixWorld),!0)}function VD(i,e,t,n,s,o){if(e==="none"||e==="listener"&&!i)return!1;if(t==="all")return!0;if(typeof t=="function")return t(n,s,o);let r,g;"deny"in t?(g=!0,r=t.deny):(g=!1,r=t.allow);let a;return Array.isArray(r)?a=r.includes(s):a=r===s,g?!a:a}function Gp(i,e,t,n,s,o=!1,r,g){const a=o||wD(i),l=i.pointerEvents??r??"listener",I=i.pointerEventsType??g??"all";VD(a,l,I,e,t,n)&&s(i);const d=i.children.length;for(let A=0;A0)&&(i=r)}return i}function MD(i,e){const{pointerEventsOrder:t=0}=i.object,{pointerEventsOrder:n=0}=e.object;return t!=n?n-t:i.distance-e.distance}const sr=new OC,XD=new Ee,RI=[];function HD(i,e,t,n,s,o,r,g){if(r!=null)return FD(i,e,r);let a;if(Gp(t,n,s,o,l=>{let I=0;const u=((a==null?void 0:a.details.lineIndex)??e.length-2)+2;for(let d=1;d0;n--){const s=e[n-1],o=e[n];if(pb.origin.copy(s).applyMatrix4(i),pb.direction.copy(o).applyMatrix4(i).sub(sr.ray.origin).normalize(),pb.intersectPlane(t,NR)!=null)return NR.clone()}}const mb=new OC,fb=new H,YR=new Fs,YD=new Ee,bb=[];function KD(i,e,t,n,s,o,r,g,a){if(g!=null)return LD(i,e,t,g);let l;if(mb.ray.origin.copy(i),mb.ray.direction.copy(t).applyQuaternion(e),Gp(n,s,o,r,I=>{I.raycast(mb,bb),l=sB(l,bb,a),bb.length=0}),l!=null)return Object.assign(l,{details:{type:"ray"},pointerPosition:i.clone(),pointerQuaternion:e.clone(),pointOnFace:l.point,localPoint:l.point.clone().applyMatrix4(YD.copy(l.object.matrixWorld).invert())})}const KR=new xr;function LD(i,e,t,{intersection:n,object:s}){if(n.details.type!="ray")return;fb.copy(t).applyQuaternion(e),KR.set(i,fb),iB(YR,n,s);const o=KR.intersectPlane(YR,new H)??n.point;return{...n,object:s,pointOnFace:o,point:fb.clone().multiplyScalar(n.distance).add(i),pointerPosition:i.clone(),pointerQuaternion:e.clone()}}const Gb=new Nn,yb=[];function LX(i,e,t,n,s,o,r,g,a){if(g!=null)return ED(i,e,g);let l;if(Gb.center.copy(i),Gb.radius=t,Gp(n,s,o,r,I=>{TD(Gb,I,yb),l=sB(l,yb,a),yb.length=0}),l!=null)return Object.assign(l,{details:{type:"sphere"},pointOnFace:l.point,pointerPosition:i.clone(),pointerQuaternion:e.clone(),localPoint:l.point.clone().applyMatrix4(Gh.copy(l.object.matrixWorld).invert())})}const pA=new Ee;function zD(i){return"spherecast"in i}function TD(i,e,t){if(e.updateWorldMatrix(!0,!1),zD(e)){e.spherecast(i,t);return}if(e instanceof pr){e.geometry.boundingSphere==null&&e.geometry.computeBoundingSphere(),e.geometry.boundingBox==null&&e.geometry.computeBoundingBox();for(let s=0;si.radius*i.radius)return;Bb.max(kD);const r=ac.center.clone().sub(kR);r.divide(Bb),_D(r);const g=mA.clone();return{distance:Math.sqrt(o),face:{a:0,b:0,c:0,materialIndex:0,normal:r},normal:r,point:g,instanceId:n,object:e}}function _D(i){const e=Math.abs(i.x),t=Math.abs(i.y),n=Math.abs(i.z);if(e>=t&&e>=n){i.set(i.x<0?-1:1,0,0);return}if(t>=e&&t>=n){i.set(0,i.y<0?-1:1,0);return}i.set(0,0,i.z<0?-1:1)}const dG={radius:.07};function UD(i,e,t=dG,n="grab"){const s=new H,o=new Dt,r=oB();return new nB(r,n,e,(g,a,l)=>{const I=i.current;if(I!=null)return I.updateWorldMatrix(!0,!1),s.setFromMatrixPosition(I.matrixWorld),o.setFromRotationMatrix(I.matrixWorld),LX(s,o,t.radius??dG.radius,g,r,n,e,l,t)},void 0,void 0,void 0,t)}const DD=new H(0,0,-1),NI={direction:DD,minDistance:0,linePoints:null};function JD(i,e,t=NI,n="ray"){const s=new H,o=new Dt,r=oB();return new nB(r,n,e,(g,a,l)=>{const I=i.current;if(I==null)return;I.updateWorldMatrix(!0,!1);let u;const d=t.linePoints??NI.linePoints;if(d==null?(s.setFromMatrixPosition(I.matrixWorld),o.setFromRotationMatrix(I.matrixWorld),u=KD(s,o,t.direction??NI.direction,g,r,n,e,l,t)):u=HD(I.matrixWorld,d,g,r,n,e,l,t),u!=null&&!(u.distance<(t.minDistance??NI.minDistance)))return u},void 0,void 0,void 0,t)}const lc={button:0,downRadius:.03,hoverRadius:.1};function PD(i,e,t=lc,n="touch"){const s=new H,o=new Dt,r=oB();return new nB(r,n,e,(g,a,l)=>{const I=i.current;if(I!=null)return I.updateWorldMatrix(!0,!1),s.setFromMatrixPosition(I.matrixWorld),o.setFromRotationMatrix(I.matrixWorld),LX(s,o,t.hoverRadius??lc.hoverRadius,g,r,n,e,l,t)},OD(t),void 0,void 0,t)}function OD(i=lc){let e=!1;return t=>{if(!t.getEnabled())return;const n=t.getIntersection(),s=QD(n,i.downRadius??lc.downRadius);if(s===e)return;const o={timeStamp:performance.now(),button:i.button??lc.button};s?t.down(o):t.up(o),e=s}}function QD(i,e){return i==null?!1:i.distance<=e}let jD=23412;function oB(){return jD++}new H;new ce;let qD=class{constructor(){yt(this,"pointers",[]);yt(this,"isDefaults",[]);yt(this,"enabled",!0)}register(e,t){return this.pointers.push(e),this.isDefaults.push(t),this.unregister.bind(this,e)}unregister(e){const t=this.pointers.indexOf(e);t!==-1&&(this.isDefaults.splice(t,1),this.pointers.splice(t,1))}move(e,t){var r,g;if(!this.enabled)return;const n=this.pointers.length;if(n===0)return;for(let a=0;a=i.lastChangedTime)return e;const t=new ut;return t.setIndex(new ct(i.indices,1)),t.setAttribute("position",new ct(i.vertices,3)),Object.assign(t,{creationTime:i.lastChangedTime})}function DR(i,e){return e!=null&&e.createdAt!=null&&e.createdAt>=i.lastChangedTime?e:Object.assign($D(i.polygon),{createdAt:i.lastChangedTime})}const SI=new mM,fA=new ce;function $D(i){const e=new mr,t=i.map(({x:s,z:o})=>new ce(s,o));SI.setFromPoints(t),SI.getSize(fA);for(const s of t)s.sub(SI.min),s.divide(fA);e.setFromPoints(t);const n=new JC(e);return n.scale(fA.x,fA.y,1),n.translate(SI.min.x,SI.min.y,0),n.rotateX(Math.PI/2),n}new H;new H;new H;const WI=new Ki(0,0,0,"YXZ"),bA=new Dt;function eJ(i,e,t){i.matrixWorld.decompose(e.position,bA,e.scale),WI.setFromQuaternion(bA),WI.z=0,WI.x=EA(WI.x-10*Math.PI/180,-Math.PI/2,1.1*Math.PI/4),bA.setFromEuler(WI),e.quaternion.slerp(bA,t/100)}function tJ(i){return i.userData.teleportTarget===!0}function nJ(i={}){return e=>!(!tJ(e.object)||i.customFilter!=null&&!i.customFilter(e))}function iJ(){return new $h(new H(0,0,0),new H(0,0,-8),new H(0,-20,-15)).getPoints(20)}let sJ=class extends tn{constructor(t){const n=new JE,s=new Float32Array(t.length*3);for(let g=0;gg.distanceTo(t[a+1]))}update(t){if(!t.getEnabled()||t.getButtonsDown().size===0){this.visible=!1;return}this.visible=!0;const s=t.getIntersection();if((s==null?void 0:s.details.type)!="lines"){this.material.visibility=this.multiplier;return}const{distanceOnLine:o,lineIndex:r}=s.details,g=this.lineLengths[r];this.material.visibility=this.multiplier*(r+o/g)/this.lineLengths.length;const{color:a="white",opacity:l=.4,size:I=.01}=this.options;this.material.lineWidth=I,this.material.opacity=typeof l=="function"?l(t):l;const u=typeof a=="function"?a(t):a;Array.isArray(u)?this.material.color.set(...u):this.material.color.set(u),console.log(this.material.visibility,this.multiplier,r,g,o,this.lineLengths.length)}};const zX=new oU,TX="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles/",oJ="generic-trigger";class rJ{constructor(e){yt(this,"baseAssetPath");yt(this,"defaultProfileId");yt(this,"profilesListPromise");yt(this,"profilePromisesMap",new Map);yt(this,"loadAsync",this.load);this.baseAssetPath=(e==null?void 0:e.baseAssetPath)??TX,this.defaultProfileId=(e==null?void 0:e.defaultControllerProfileId)??oJ}async load(e,t){const n=await this.loadProfile(e);for(const s in n.layouts)if(s.includes(t))return n.layouts[s];throw new Error(`No matching layout for "${t}", in profile ${n.profileId} with layouts ${Object.keys(n.layouts).join(", ")}.`)}async loadProfile(e){this.profilesListPromise??(this.profilesListPromise=JR(new URL("profilesList.json",this.baseAssetPath).href));const t=await this.profilesListPromise,n=e.length;for(let o=0;o{const n=k.useRef(null);return k.useImperativeHandle(t,()=>n.current,[]),cJ(n,i,(s,o,r)=>{n.current!=null&&(n.current.visible=r!=null)}),J.jsx("group",{visible:!1,matrixAutoUpdate:!1,ref:n,children:J.jsx(yp.Provider,{value:i,children:e})})});function DX(){const i=k.useContext(yp);if(i==null)throw new Error("XR objects must be placed inside the XROrigin");return i}function lJ(i){const e=DX();return k.useMemo(()=>ID(i,e),[i,e])}function cJ(i,e,t){const n=lJ(e);Yn((s,o,r)=>{i.current!=null&&(n(i.current.matrix,r),t==null||t(s,o,r))},-100)}let IJ=0;const PR=new Map;function _a(i){let e=PR.get(i);return e==null&&PR.set(i,e=IJ++),e}function CJ(){return gi(i=>i.visibilityState)}function uJ(i,e){const t=k.useRef(e);t.current=e;const[n,s]=k.useMemo(()=>{let o;return[r=>{let g=!1;return navigator.xr==null?(o=!1,()=>{}):(navigator.xr.isSessionSupported(i).then(a=>{o=a,!g&&r()}).catch(a=>{var l;g||(l=t.current)==null||l.call(t,a)}),()=>g=!0)},()=>o]},[i]);return k.useSyncExternalStore(n,s)}function rB(i){const e=k.useContext(_o);if(e==null||e.type!="hand")throw new Error('useXRHandState() can only be used inside a or with using useXRHandState("left")');return e}const dJ=Symbol("loadXRHandModel"),AJ=k.forwardRef((i,e)=>{const t=rB(),n=Jy(DU,[t.assetPath,void 0,dJ]);JU(n,i),k.useImperativeHandle(e,()=>n,[n]);const s=DX(),o=k.useMemo(()=>jU(t.inputSource.hand,n,s),[t.inputSource,n,s]);return Yn((r,g,a)=>o(a)),J.jsx("primitive",{object:n})});k.forwardRef(({joint:i,children:e},t)=>{const n=rB();return J.jsx(Ds,{ref:t,space:()=>n.inputSource.hand.get(i),children:e})});function JX({children:i}){const e=k.useMemo(()=>new qD,[]);return OX(e),Yn(t=>e.move(t.scene,{timeStamp:performance.now()}),-50),J.jsx(UX.Provider,{value:e,children:i})}function hJ(i,e,t,n){const s=k.useMemo(()=>({}),[]);Object.assign(s,dG,t);const o=k.useMemo(()=>UD(i,e,s,n),[i,e,s,n]);return aB(o,t==null?void 0:t.makeDefault),o}function PX(i,e,t,n){const s=k.useMemo(()=>({}),[]);Object.assign(s,NI,t);const o=k.useMemo(()=>JD(i,e,s,n),[i,e,s,n]);return aB(o,t==null?void 0:t.makeDefault),o}function pJ(i,e,t,n){const s=k.useMemo(()=>({}),[]);Object.assign(s,lc,t);const o=k.useMemo(()=>PD(i,e,s,n),[i,e,s,n]);return aB(o,t==null?void 0:t.makeDefault),o}const mJ=k.forwardRef((i,e)=>{const t=k.useMemo(()=>new rD,[]),n=k.useRef(null);return k.useImperativeHandle(e,()=>n.current,[]),Yn(()=>n.current!=null&&gD(n.current,t,i.pointer,i)),J.jsx("mesh",{matrixAutoUpdate:!1,renderOrder:i.renderOrder??2,ref:n,material:t,children:J.jsx("boxGeometry",{})})}),Bp=k.forwardRef((i,e)=>{const t=k.useMemo(()=>new iD,[]),n=k.useRef(null);k.useImperativeHandle(e,()=>n.current,[]),Yn(()=>n.current!=null&&oD(n.current,t,i.pointer,i));const s=Qn(o=>o.scene);return Oy(J.jsx("mesh",{renderOrder:i.renderOrder??1,ref:n,matrixAutoUpdate:!1,material:t,children:J.jsx("planeGeometry",{})}),s)});function gB(i,e,t,n){const s=gi(o=>o.session);k.useEffect(()=>{if(s!=null)return aD(i,s,e,t)},[t,e,i,s,n])}function aB(i,e=!1){const t=k.useContext(UX);t==null?(OX(i),Yn(n=>i.move(n.scene,{timeStamp:performance.now()}),-50)):k.useEffect(()=>t.register(i,e),[t,i,e]),k.useEffect(()=>()=>i.exit({timeStamp:performance.now()}),[i])}function OX(i){const e=$X();k.useEffect(()=>nD(e,t=>i.setEnabled(t,{timeStamp:performance.now()})),[e,i])}const fJ=k.forwardRef(({pointer:i,linePoints:e,...t},n)=>{const s=k.useMemo(()=>new sJ(e),[e]);return k.useImperativeHandle(n,()=>s,[s]),s.options=t,Yn(()=>s.update(i)),J.jsx("primitive",{object:s})});function QX(i,e,t){const n=k.useContext(_o);if(n==null)throw new Error("DefaultXRInputSourceGrabPointer can only be used inside a XRInputSource");const s=k.useRef(null),o=hJ(s,n,t);gB(o,n.inputSource,i);const r=t.cursorModel;return J.jsx(Ds,{ref:s,space:e(n.inputSource),children:r!==!1&&J.jsx(Bp,{pointer:o,opacity:lD,...ii(r)})})}const bJ=QX.bind(null,"select",i=>()=>i.hand.get("index-finger-tip")),GJ=QX.bind(null,"squeeze",i=>i.gripSpace);function eu(i){const e=k.useContext(_o);if(e==null)throw new Error("DefaultXRInputSourceRayPointer can only be used inside a XRInputSource");const t=k.useRef(null),n=PX(t,e,i);gB(n,e.inputSource,"select");const s=i.rayModel,o=i.cursorModel;return J.jsxs(Ds,{ref:t,space:e.inputSource.targetRaySpace,children:[s!==!1&&J.jsx(mJ,{pointer:n,opacity:bh,...ii(s)}),o!==!1&&J.jsx(Bp,{pointer:n,opacity:bh,...ii(o)})]})}function yJ(i){const e=rB(),t=k.useRef(null),n=pJ(t,e,i),s=i.cursorModel;return J.jsx(Ds,{ref:t,space:()=>e.inputSource.hand.get("index-finger-tip"),children:s!==!1&&J.jsx(Bp,{pointer:n,opacity:cD,...ii(s)})})}function BJ(i){const e=i.model,t=i.grabPointer,n=i.rayPointer,s=i.teleportPointer??!1;return J.jsxs(J.Fragment,{children:[e!==!1&&J.jsx(k.Suspense,{children:J.jsx(zJ,{...ii(e)})}),J.jsxs(JX,{children:[t!==!1&&J.jsx(GJ,{...ii(t)}),n!==!1&&J.jsx(eu,{makeDefault:!0,minDistance:.2,...ii(n)}),s!==!1&&J.jsx(jX,{...ii(s)})]})]})}function vJ(i){var g;const e=i.model,t=i.grabPointer,n=i.rayPointer,s=i.touchPointer,o=i.teleportPointer??!1,r=n===!1?!1:(g=ii(n))==null?void 0:g.rayModel;return J.jsxs(J.Fragment,{children:[e!==!1&&J.jsx(k.Suspense,{children:J.jsx(AJ,{...ii(e)})}),J.jsxs(JX,{children:[t!==!1&&J.jsx(bJ,{...ii(t)}),s!==!1&&J.jsx(yJ,{...ii(s)}),n!==!1&&J.jsx(eu,{makeDefault:!0,minDistance:.2,...ii(n),rayModel:r===!1?!1:{maxLength:.2,...ii(r)}}),o!==!1&&J.jsx(jX,{...ii(o)})]})]})}function ZJ(i){return J.jsx(eu,{...i,rayModel:!1})}function wJ(i){return J.jsx(eu,{...i,rayModel:!1})}function RJ(i){return J.jsx(eu,{...i,cursorModel:!1,rayModel:!1})}function jX(i){const e=k.useContext(_o);if(e==null)throw new Error("DefaultXRInputSourceRayPointer can only be used inside a XRInputSource");const t=k.useRef(null),n=k.useRef(null),s=k.useMemo(()=>iJ(),[]),o=PX(n,e,{...i,linePoints:s,customFilter:nJ(i)},"teleport");gB(o,e.inputSource,"select");const r=i.rayModel,g=i.cursorModel,a=Qn(I=>I.scene),l=k.useRef(null);return Yn((I,u)=>{l.current!=null&&(l.current.visible=o.getEnabled()&&o.getButtonsDown().size>0);const d=n.current,A=t.current;d==null||A==null||eJ(A,d,u*1e3)}),J.jsxs(J.Fragment,{children:[J.jsx(Ds,{ref:t,space:e.inputSource.targetRaySpace}),Oy(J.jsxs("group",{ref:n,children:[r!==!1&&J.jsx(fJ,{linePoints:s,pointer:o,opacity:bh,...ii(r)}),g!==!1&&J.jsx(Bp,{ref:l,pointer:o,opacity:bh,...ii(g)})]}),a)]})}function ii(i){if(i!==!0)return i}function SJ({children:i}){const e=Qn(g=>g.gl.xr),t=gi(g=>g.origin),n=k.useCallback(()=>e.getReferenceSpace(),[e]),s=CJ()==="visible",o=jC(),r=k.useMemo(()=>Object.assign({},o,{getState(){return{...o.getState(),scene:t}}}),[t,o]);return t==null?null:J.jsx(J.Fragment,{children:Gc.createPortal(J.jsx(hp.Provider,{value:o,children:J.jsxs(yp.Provider,{value:n,children:[J.jsxs("group",{matrixAutoUpdate:!1,visible:s,children:[J.jsx(WJ,{}),J.jsx(xJ,{}),J.jsx(VJ,{}),J.jsx(MJ,{}),J.jsx(XJ,{})]}),J.jsx(HJ,{}),J.jsx(FJ,{}),i]})}),r,null)})}function WJ(){const i=gi(t=>t.controllerStates);let e=gi(t=>t.controller);return e===!1?null:J.jsx(J.Fragment,{children:i.map(t=>{const n=sg(e,t.inputSource.handedness,{});return n===!1?null:J.jsx(Ds,{space:t.inputSource.gripSpace,children:J.jsx(_o.Provider,{value:t,children:J.jsx(k.Suspense,{children:typeof n=="function"?J.jsx(n,{}):J.jsx(BJ,{...n})})})},_a(t))})})}function xJ(){const i=gi(t=>t.handStates),e=gi(t=>t.hand);return e===!1?null:J.jsx(J.Fragment,{children:i.map(t=>{const n=sg(e,t.inputSource.handedness,{});return n===!1?null:J.jsx(Ds,{space:()=>t.inputSource.hand.get("wrist"),children:J.jsx(_o.Provider,{value:t,children:J.jsx(k.Suspense,{children:typeof n=="function"?J.jsx(n,{}):J.jsx(vJ,{...n})})})},_a(t))})})}function VJ(){const i=gi(t=>t.transientPointerStates),e=gi(t=>t.transientPointer);return e===!1?null:J.jsx(J.Fragment,{children:i.map(t=>{const n=sg(e,t.inputSource.handedness,{});return n===!1?null:J.jsx(Ds,{space:()=>t.inputSource.targetRaySpace,children:J.jsx(_o.Provider,{value:t,children:J.jsx(k.Suspense,{children:typeof n=="function"?J.jsx(n,{}):J.jsx(ZJ,{...n})})})},_a(t))})})}function MJ(){const i=gi(t=>t.gazeStates),e=gi(t=>t.gaze);return e===!1?null:J.jsx(J.Fragment,{children:i.map(t=>J.jsx(Ds,{space:()=>t.inputSource.targetRaySpace,children:J.jsx(_o.Provider,{value:t,children:J.jsx(k.Suspense,{children:typeof e=="function"?J.jsx(e,{}):J.jsx(wJ,{...qX(e)})})})},_a(t)))})}function XJ(){const i=gi(t=>t.screenInputStates),e=gi(t=>t.screenInput);return e===!1?null:J.jsx(J.Fragment,{children:i.map(t=>J.jsx(Ds,{space:()=>t.inputSource.targetRaySpace,children:J.jsx(_o.Provider,{value:t,children:J.jsx(k.Suspense,{children:typeof e=="function"?J.jsx(e,{}):J.jsx(RJ,{...qX(e)})})})},_a(t)))})}function qX(i){if(i!==!0)return i}function HJ(){const i=gi(t=>t.detectedMeshes),e=gi(t=>t.detectedMesh);if(e!==!1)return J.jsx(J.Fragment,{children:i.map(t=>{const n=MX(e,t.semanticLabel,!1);return n===!1?null:J.jsx(Ds,{space:t.meshSpace,children:J.jsx(kX.Provider,{value:t,children:J.jsx(k.Suspense,{children:J.jsx(n,{})})})},_a(t))})})}function FJ(){const i=gi(t=>t.detectedPlanes),e=gi(t=>t.detectedPlane);if(e!=null)return J.jsx(J.Fragment,{children:i.map(t=>{const n=MX(e,t.semanticLabel,!1);return n===!1?null:J.jsx(Ds,{space:t.planeSpace,children:J.jsx(_X.Provider,{value:t,children:J.jsx(k.Suspense,{children:J.jsx(n,{})})})},_a(t))})})}function NJ(i){return dD(i)}function YJ({children:i,store:e}){e.setWebXRManager(Qn(n=>n.gl.xr));const t=jC();return k.useEffect(()=>{let n;return e.subscribe((s,o)=>{const r=s.mode!=null,g=o.mode!=null;if(r!==g){if(r){const{camera:a,gl:l}=t.getState();n=a,t.setState({camera:l.xr.getCamera()});return}n!=null&&t.setState({camera:n})}})},[t,e]),Yn((n,s,o)=>e.onBeforeFrame(n.scene,n.camera,o),-1e3),J.jsxs(EX.Provider,{value:e,children:[J.jsx(SJ,{}),i]})}function $X(){const i=k.useContext(EX);if(i==null)throw new Error("XR features can only be used inside the component");return i}function gi(i=e=>e){return qM($X(),i)}k.forwardRef(({id:i,children:e,onPress:t,onRelease:n},s)=>{const o=lB(),[r,g]=k.useState(void 0);if(k.useImperativeHandle(s,()=>r,[r]),KJ(i,a=>a==="pressed"?t==null?void 0:t():n==null?void 0:n()),Yn(()=>{var a;return g((a=o.gamepad[i])==null?void 0:a.object)}),r!=null)return Oy(e,r)});function KJ(i,e,t){const n=lB(),s=k.useRef();Yn(()=>{var r;const o=(r=n==null?void 0:n.gamepad[i])==null?void 0:r.state;o!=null&&o!=s.current&&e(o),s.current=o})}function lB(i){const e=k.useContext(_o);if(e==null||e.type!="controller")throw new Error('useXRControllerState() can only be used inside a or using useXRControllerState("left")');return e}const LJ=Symbol("loadXRControllerModel"),zJ=k.forwardRef((i,e)=>{const t=lB(),n=Jy(GD,[t.layout,void 0,LJ]);yD(n,i),t.object=n,k.useImperativeHandle(e,()=>n,[n]);const s=k.useMemo(()=>BD(n,t.layout,t.gamepad),[n,t.layout,t.gamepad]);return Yn(s),J.jsx("primitive",{object:n})});k.forwardRef((i,e)=>{const t=TJ(),n=EJ(t);return J.jsx("mesh",{ref:e,geometry:n,...i})});function TJ(){const i=k.useContext(kX);if(i==null)throw new Error("useXRMesh can only be used inside XRMesh or ForEachXRMesh");return i}function EJ(i,e=!0){const[t,n]=k.useState(UR(i,void 0));return Yn(()=>n(s=>UR(i,s))),k.useEffect(()=>{if(e)return()=>t.dispose()},[t]),t}k.forwardRef((i,e)=>{const t=kJ(),n=_J(t);return J.jsx("mesh",{ref:e,geometry:n,...i})});function kJ(){const i=k.useContext(_X);if(i==null)throw new Error("useXRPlane can only be used inside XRPlane or ForEachXRPlane");return i}function _J(i,e=!0){const[t,n]=k.useState(DR(i,void 0));return Yn(()=>n(s=>DR(i,s))),k.useEffect(()=>{if(e)return()=>t.dispose()},[t]),t}const UJ=k.forwardRef(({children:i,...e},t)=>{const n=Qn(r=>r.gl.xr.getCamera()),s=Qn(r=>r.gl.xr),o=k.useCallback(()=>s.getReferenceSpace(),[s]);return J.jsxs("group",{ref:t,...e,children:[J.jsx("primitive",{object:n}),J.jsx(yp.Provider,{value:o,children:i})]})}),eH=k.forwardRef(({store:i,mode:e,onError:t,options:n,children:s,...o},r)=>{const g=qM(i,l=>l.session),a=uJ(e,t);return J.jsx("button",{ref:r,...o,onClick:()=>g!=null?g.end():i.enterXR(e,n).catch(t),children:typeof s=="function"?s(a?g!=null?"entered":"exited":"unsupported"):s})});k.forwardRef((i,e)=>J.jsx(eH,{ref:e,mode:"immersive-ar",...i}));k.forwardRef((i,e)=>J.jsx(eH,{ref:e,mode:"immersive-vr",...i}));const DJ={onBlur:"pointerleave",onHover:"pointerenter",onMove:"pointermove",onSelect:{type:"click",filter:i=>i.pointerType==="ray"},onSelectEnd:{type:"pointerup",filter:i=>i.pointerType==="ray"},onSelectStart:{type:"pointerdown",filter:i=>i.pointerType==="ray"},onSqueeze:{type:"click",filter:i=>i.pointerType==="grab"},onSqueezeEnd:{type:"pointerup",filter:i=>i.pointerType==="grab"},onSqueezeStart:{type:"pointerdown",filter:i=>i.pointerType==="grab"}};function ir(i,e,t){const n=k.useRef(t);n.current=t,k.useEffect(()=>{const{current:s}=i;if(s==null)return;const o=DJ[e],r=typeof o=="string"?a=>{var l;return(l=n.current)==null?void 0:l.call(n,{intersection:a,intersections:[a],target:a.pointerState})}:a=>{var l;a instanceof xi&&!o.filter(a)||(l=n.current)==null||l.call(n,{intersection:a,intersections:[a],target:a.pointerState})},g=typeof o=="string"?o:o.type;return s.addEventListener(g,r),()=>s.removeEventListener(g,r)},[i,e])}const JJ=k.forwardRef(({onHover:i,onBlur:e,onSelectStart:t,onSelectEnd:n,onSelect:s,onSqueezeStart:o,onSqueezeEnd:r,onSqueeze:g,onMove:a,children:l},I)=>{const u=k.useRef(null);return k.useImperativeHandle(I,()=>u.current),ir(u,"onHover",i),ir(u,"onBlur",e),ir(u,"onSelectStart",t),ir(u,"onSelectEnd",n),ir(u,"onSelect",s),ir(u,"onSqueezeStart",o),ir(u,"onSqueezeEnd",r),ir(u,"onSqueeze",g),ir(u,"onMove",a),J.jsx("group",{ref:u,children:l})});k.forwardRef(function({onSelectStart:e,onSelectEnd:t,children:n,...s},o){const r=k.useRef(),g=k.useRef(null),a=k.useMemo(()=>new Ee,[]);return k.useImperativeHandle(o,()=>g.current),Yn(()=>{const l=r.current,I=g.current;!I||!l||(I.applyMatrix4(a),I.applyMatrix4(l.matrixWorld),I.updateMatrixWorld(),a.copy(l.matrixWorld).invert())}),J.jsx(JJ,{ref:g,onSelectStart:l=>{qU(l.target)&&(l.target.type==="controller"||l.target.type==="hand")&&l.target.object!=null&&(r.current=l.target.object,a.copy(l.target.object.matrixWorld).invert(),e==null||e(l))},onSelectEnd:l=>{l.target.controller===r.current&&(r.current=void 0),t==null||t(l)},...s,children:n})});const OR=NJ({hand:{touchPointer:!1}});function PJ(){return J.jsxs(J.Fragment,{children:[J.jsx("button",{onClick:()=>OR.enterVR(),children:"Enter VR"}),J.jsxs(qT,{dpr:[1,2],shadows:!0,camera:{position:[-40,40,40],fov:25,near:1,far:100},children:[J.jsx($E,{}),J.jsxs(YJ,{store:OR,children:[J.jsx("color",{attach:"background",args:["#171720"]}),J.jsx("fog",{attach:"fog",args:["#171720",60,90]}),J.jsx("ambientLight",{intensity:.2}),J.jsx("pointLight",{position:[-20,-5,-20],color:"red"}),J.jsx(k.Suspense,{children:J.jsxs(P_,{allowSleep:!1,iterations:15,gravity:[0,-200,0],children:[J.jsx(O_,{}),J.jsx($_,{rotation:[-Math.PI/3,0,0]}),J.jsx(OJ,{position:[0,-5,0],rotation:[-Math.PI/2,0,0]}),J.jsx(eU,{position:[0,0,-2.52]}),J.jsx(nU,{position:[8,0,0]}),J.jsx(tU,{position:[8,3,0]}),J.jsx(iU,{position:[0,15,0]})]})}),J.jsx("group",{position:[0,-5,0],children:J.jsx(UJ,{scale:10})})]})]})]})}function OJ(i){const[e]=K_(()=>({type:"Static",...i}));return J.jsxs("mesh",{ref:e,receiveShadow:!0,children:[J.jsx("planeGeometry",{args:[100,100]}),J.jsx("meshPhongMaterial",{color:"#878790",blur:[400,400],resolution:1024,mixBlur:1,mixStrength:3,depthScale:1,minDepthThreshold:.85,metalness:0,roughness:1})]})}ax(document.getElementById("root")).render(J.jsx(k.StrictMode,{children:J.jsx(PJ,{})})); diff --git a/examples/rag-doll/cup.glb b/examples/rag-doll/cup.glb new file mode 100644 index 00000000..de48ca6c Binary files /dev/null and b/examples/rag-doll/cup.glb differ diff --git a/examples/rag-doll/index.html b/examples/rag-doll/index.html new file mode 100644 index 00000000..1b53cdb6 --- /dev/null +++ b/examples/rag-doll/index.html @@ -0,0 +1,12 @@ + + + + + + Document + + + +
+ + \ No newline at end of file diff --git a/examples/room-with-shadows/assets/index-Bwp_3vFn.js b/examples/room-with-shadows/assets/index-Bwp_3vFn.js new file mode 100644 index 00000000..17adf66a --- /dev/null +++ b/examples/room-with-shadows/assets/index-Bwp_3vFn.js @@ -0,0 +1,4303 @@ +var W2=Object.defineProperty;var X2=(n,e,t)=>e in n?W2(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var St=(n,e,t)=>(X2(n,typeof e!="symbol"?e+"":e,t),t);(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 Mg(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var gR={exports:{}},Eg={},vR={exports:{}},Pt={};/** + * @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 bf=Symbol.for("react.element"),j2=Symbol.for("react.portal"),J2=Symbol.for("react.fragment"),K2=Symbol.for("react.strict_mode"),Y2=Symbol.for("react.profiler"),Q2=Symbol.for("react.provider"),Z2=Symbol.for("react.context"),q2=Symbol.for("react.forward_ref"),$2=Symbol.for("react.suspense"),eD=Symbol.for("react.memo"),tD=Symbol.for("react.lazy"),H1=Symbol.iterator;function nD(n){return n===null||typeof n!="object"?null:(n=H1&&n[H1]||n["@@iterator"],typeof n=="function"?n:null)}var _R={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},yR=Object.assign,xR={};function fu(n,e,t){this.props=n,this.context=e,this.refs=xR,this.updater=t||_R}fu.prototype.isReactComponent={};fu.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")};fu.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function AR(){}AR.prototype=fu.prototype;function mA(n,e,t){this.props=n,this.context=e,this.refs=xR,this.updater=t||_R}var gA=mA.prototype=new AR;gA.constructor=mA;yR(gA,fu.prototype);gA.isPureReactComponent=!0;var G1=Array.isArray,SR=Object.prototype.hasOwnProperty,vA={current:null},MR={key:!0,ref:!0,__self:!0,__source:!0};function ER(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)SR.call(e,i)&&!MR.hasOwnProperty(i)&&(r[i]=e[i]);var a=arguments.length-2;if(a===1)r.children=t;else if(1>>1,Ee=F[oe];if(0>>1;oer(ye,H))Rer(Se,ye)?(F[oe]=Se,F[Re]=H,oe=Re):(F[oe]=ye,F[ne]=H,oe=ne);else if(Rer(Se,H))F[oe]=Se,F[Re]=H,oe=Re;else break e}}return W}function r(F,W){var H=F.sortIndex-W.sortIndex;return H!==0?H:F.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=[],f=1,d=null,p=3,m=!1,_=!1,S=!1,y=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function M(F){for(var W=t(u);W!==null;){if(W.callback===null)i(u);else if(W.startTime<=F)i(u),W.sortIndex=W.expirationTime,e(l,W);else break;W=t(u)}}function E(F){if(S=!1,M(F),!_)if(t(l)!==null)_=!0,he(P);else{var W=t(u);W!==null&&ve(E,W.startTime-F)}}function P(F,W){_=!1,S&&(S=!1,g(L),L=-1),m=!0;var H=p;try{for(M(W),d=t(l);d!==null&&(!(d.expirationTime>W)||F&&!U());){var oe=d.callback;if(typeof oe=="function"){d.callback=null,p=d.priorityLevel;var Ee=oe(d.expirationTime<=W);W=n.unstable_now(),typeof Ee=="function"?d.callback=Ee:d===t(l)&&i(l),M(W)}else i(l);d=t(l)}if(d!==null)var Ve=!0;else{var ne=t(u);ne!==null&&ve(E,ne.startTime-W),Ve=!1}return Ve}finally{d=null,p=H,m=!1}}var C=!1,b=null,L=-1,I=5,R=-1;function U(){return!(n.unstable_now()-RF||125oe?(F.sortIndex=H,e(u,F),t(l)===null&&F===t(u)&&(S?(g(L),L=-1):S=!0,ve(E,H-oe))):(F.sortIndex=Ee,e(l,F),_||m||(_=!0,he(P))),F},n.unstable_shouldYield=U,n.unstable_wrapCallback=function(F){var W=p;return function(){var H=p;p=W;try{return F.apply(this,arguments)}finally{p=H}}}})(bR);RR.exports=bR;var pD=RR.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 mD=V,ur=pD;function Me(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"),wy=Object.prototype.hasOwnProperty,gD=/^[: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]*$/,W1={},X1={};function vD(n){return wy.call(X1,n)?!0:wy.call(W1,n)?!1:gD.test(n)?X1[n]=!0:(W1[n]=!0,!1)}function _D(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 yD(n,e,t,i){if(e===null||typeof e>"u"||_D(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 Oi(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 oi={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){oi[n]=new Oi(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];oi[e]=new Oi(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){oi[n]=new Oi(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){oi[n]=new Oi(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){oi[n]=new Oi(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){oi[n]=new Oi(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){oi[n]=new Oi(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){oi[n]=new Oi(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){oi[n]=new Oi(n,5,!1,n.toLowerCase(),null,!1,!1)});var yA=/[\-:]([a-z])/g;function xA(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(yA,xA);oi[e]=new Oi(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(yA,xA);oi[e]=new Oi(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(yA,xA);oi[e]=new Oi(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){oi[n]=new Oi(n,1,!1,n.toLowerCase(),null,!1,!1)});oi.xlinkHref=new Oi("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){oi[n]=new Oi(n,1,!1,n.toLowerCase(),null,!0,!0)});function AA(n,e,t,i){var r=oi.hasOwnProperty(e)?oi[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{Pv=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?bh(n):""}function xD(n){switch(n.tag){case 5:return bh(n.type);case 16:return bh("Lazy");case 13:return bh("Suspense");case 19:return bh("SuspenseList");case 0:case 2:case 15:return n=Iv(n.type,!1),n;case 11:return n=Iv(n.type.render,!1),n;case 1:return n=Iv(n.type,!0),n;default:return""}}function by(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 Tc:return"Fragment";case wc:return"Portal";case Ty:return"Profiler";case SA:return"StrictMode";case Cy:return"Suspense";case Ry:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case BR:return(n.displayName||"Context")+".Consumer";case IR:return(n._context.displayName||"Context")+".Provider";case MA:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case EA:return e=n.displayName||null,e!==null?e:by(n.type)||"Memo";case No:e=n._payload,n=n._init;try{return by(n(e))}catch{}}return null}function AD(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 by(e);case 8:return e===SA?"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 ia(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function DR(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function SD(n){var e=DR(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 $d(n){n._valueTracker||(n._valueTracker=SD(n))}function OR(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=DR(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function Gm(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 Py(n,e){var t=e.checked;return vn({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function J1(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=ia(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 FR(n,e){e=e.checked,e!=null&&AA(n,"checked",e,!1)}function Iy(n,e){FR(n,e);var t=ia(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")?By(n,e.type,t):e.hasOwnProperty("defaultValue")&&By(n,e.type,ia(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function K1(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 By(n,e,t){(e!=="number"||Gm(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var Ph=Array.isArray;function Hc(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=ep.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function Zh(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var Fh={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},MD=["Webkit","ms","Moz","O"];Object.keys(Fh).forEach(function(n){MD.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),Fh[e]=Fh[n]})});function zR(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||Fh.hasOwnProperty(n)&&Fh[n]?(""+e).trim():e+"px"}function HR(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=zR(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var ED=vn({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 Oy(n,e){if(e){if(ED[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Me(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Me(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Me(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Me(62))}}function Fy(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 Ny=null;function wA(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var Uy=null,Gc=null,Vc=null;function Z1(n){if(n=Bf(n)){if(typeof Uy!="function")throw Error(Me(280));var e=n.stateNode;e&&(e=bg(e),Uy(n.stateNode,n.type,e))}}function GR(n){Gc?Vc?Vc.push(n):Vc=[n]:Gc=n}function VR(){if(Gc){var n=Gc,e=Vc;if(Vc=Gc=null,Z1(n),e)for(n=0;n>>=0,n===0?32:31-(OD(n)/FD|0)|0}var tp=64,np=4194304;function Ih(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 jm(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=Ih(a):(s&=o,s!==0&&(i=Ih(s)))}else o=t&~r,o!==0?i=Ih(o):s!==0&&(i=Ih(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 Pf(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-ts(e),n[e]=t}function zD(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=Uh),oE=" ",aE=!1;function cb(n,e){switch(n){case"keyup":return pO.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ub(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var Cc=!1;function gO(n,e){switch(n){case"compositionend":return ub(e);case"keypress":return e.which!==32?null:(aE=!0,oE);case"textInput":return n=e.data,n===oE&&aE?null:n;default:return null}}function vO(n,e){if(Cc)return n==="compositionend"||!LA&&cb(n,e)?(n=ab(),Mm=PA=Wo=null,Cc=!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=hE(t)}}function pb(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?pb(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function mb(){for(var n=window,e=Gm();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=Gm(n.document)}return e}function DA(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 TO(n){var e=mb(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&pb(t.ownerDocument.documentElement,t)){if(i!==null&&DA(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=fE(t,s);var o=fE(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,Rc=null,Wy=null,zh=null,Xy=!1;function dE(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;Xy||Rc==null||Rc!==Gm(i)||(i=Rc,"selectionStart"in i&&DA(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}),zh&&rf(zh,i)||(zh=i,i=Ym(Wy,"onSelect"),0Ic||(n.current=Zy[Ic],Zy[Ic]=null,Ic--)}function $t(n,e){Ic++,Zy[Ic]=n.current,n.current=e}var ra={},Si=la(ra),ji=la(!1),ll=ra;function eu(n,e){var t=n.type.contextTypes;if(!t)return ra;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 Ji(n){return n=n.childContextTypes,n!=null}function Zm(){nn(ji),nn(Si)}function xE(n,e,t){if(Si.current!==ra)throw Error(Me(168));$t(Si,e),$t(ji,t)}function Eb(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(Me(108,AD(n)||"Unknown",r));return vn({},t,i)}function qm(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||ra,ll=Si.current,$t(Si,n),$t(ji,ji.current),!0}function AE(n,e,t){var i=n.stateNode;if(!i)throw Error(Me(169));t?(n=Eb(n,e,ll),i.__reactInternalMemoizedMergedChildContext=n,nn(ji),nn(Si),$t(Si,n)):nn(ji),$t(ji,t)}var Js=null,Pg=!1,Xv=!1;function wb(n){Js===null?Js=[n]:Js.push(n)}function UO(n){Pg=!0,wb(n)}function ca(){if(!Xv&&Js!==null){Xv=!0;var n=0,e=Xt;try{var t=Js;for(Xt=1;n>=o,r-=o,Qs=1<<32-ts(e)+r|t<L?(I=b,b=null):I=b.sibling;var R=p(g,b,M[L],E);if(R===null){b===null&&(b=I);break}n&&b&&R.alternate===null&&e(g,b),x=s(R,x,L),C===null?P=R:C.sibling=R,C=R,b=I}if(L===M.length)return t(g,b),an&&Ha(g,L),P;if(b===null){for(;LL?(I=b,b=null):I=b.sibling;var U=p(g,b,R.value,E);if(U===null){b===null&&(b=I);break}n&&b&&U.alternate===null&&e(g,b),x=s(U,x,L),C===null?P=U:C.sibling=U,C=U,b=I}if(R.done)return t(g,b),an&&Ha(g,L),P;if(b===null){for(;!R.done;L++,R=M.next())R=d(g,R.value,E),R!==null&&(x=s(R,x,L),C===null?P=R:C.sibling=R,C=R);return an&&Ha(g,L),P}for(b=i(g,b);!R.done;L++,R=M.next())R=m(b,g,L,R.value,E),R!==null&&(n&&R.alternate!==null&&b.delete(R.key===null?L:R.key),x=s(R,x,L),C===null?P=R:C.sibling=R,C=R);return n&&b.forEach(function(K){return e(g,K)}),an&&Ha(g,L),P}function y(g,x,M,E){if(typeof M=="object"&&M!==null&&M.type===Tc&&M.key===null&&(M=M.props.children),typeof M=="object"&&M!==null){switch(M.$$typeof){case qd:e:{for(var P=M.key,C=x;C!==null;){if(C.key===P){if(P=M.type,P===Tc){if(C.tag===7){t(g,C.sibling),x=r(C,M.props.children),x.return=g,g=x;break e}}else if(C.elementType===P||typeof P=="object"&&P!==null&&P.$$typeof===No&&EE(P)===C.type){t(g,C.sibling),x=r(C,M.props),x.ref=Ku(g,C,M),x.return=g,g=x;break e}t(g,C);break}else e(g,C);C=C.sibling}M.type===Tc?(x=nl(M.props.children,g.mode,E,M.key),x.return=g,g=x):(E=Im(M.type,M.key,M.props,null,g.mode,E),E.ref=Ku(g,x,M),E.return=g,g=E)}return o(g);case wc:e:{for(C=M.key;x!==null;){if(x.key===C)if(x.tag===4&&x.stateNode.containerInfo===M.containerInfo&&x.stateNode.implementation===M.implementation){t(g,x.sibling),x=r(x,M.children||[]),x.return=g,g=x;break e}else{t(g,x);break}else e(g,x);x=x.sibling}x=$v(M,g.mode,E),x.return=g,g=x}return o(g);case No:return C=M._init,y(g,x,C(M._payload),E)}if(Ph(M))return _(g,x,M,E);if(Vu(M))return S(g,x,M,E);cp(g,M)}return typeof M=="string"&&M!==""||typeof M=="number"?(M=""+M,x!==null&&x.tag===6?(t(g,x.sibling),x=r(x,M),x.return=g,g=x):(t(g,x),x=qv(M,g.mode,E),x.return=g,g=x),o(g)):t(g,x)}return y}var nu=bb(!0),Pb=bb(!1),tg=la(null),ng=null,Dc=null,UA=null;function kA(){UA=Dc=ng=null}function zA(n){var e=tg.current;nn(tg),n._currentValue=e}function ex(n,e,t){for(;n!==null;){var i=n.alternate;if((n.childLanes&e)!==e?(n.childLanes|=e,i!==null&&(i.childLanes|=e)):i!==null&&(i.childLanes&e)!==e&&(i.childLanes|=e),n===t)break;n=n.return}}function Xc(n,e){ng=n,UA=Dc=null,n=n.dependencies,n!==null&&n.firstContext!==null&&(n.lanes&e&&(Gi=!0),n.firstContext=null)}function Or(n){var e=n._currentValue;if(UA!==n)if(n={context:n,memoizedValue:e,next:null},Dc===null){if(ng===null)throw Error(Me(308));Dc=n,ng.dependencies={lanes:0,firstContext:n}}else Dc=Dc.next=n;return e}var Ja=null;function HA(n){Ja===null?Ja=[n]:Ja.push(n)}function Ib(n,e,t,i){var r=e.interleaved;return r===null?(t.next=t,HA(e)):(t.next=r.next,r.next=t),e.interleaved=t,ro(n,i)}function ro(n,e){n.lanes|=e;var t=n.alternate;for(t!==null&&(t.lanes|=e),t=n,n=n.return;n!==null;)n.childLanes|=e,t=n.alternate,t!==null&&(t.childLanes|=e),t=n,n=n.return;return t.tag===3?t.stateNode:null}var Uo=!1;function GA(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Bb(n,e){n=n.updateQueue,e.updateQueue===n&&(e.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,effects:n.effects})}function $s(n,e){return{eventTime:n,lane:e,tag:0,payload:null,callback:null,next:null}}function Zo(n,e,t){var i=n.updateQueue;if(i===null)return null;if(i=i.shared,Dt&2){var r=i.pending;return r===null?e.next=e:(e.next=r.next,r.next=e),i.pending=e,ro(n,t)}return r=i.interleaved,r===null?(e.next=e,HA(i)):(e.next=r.next,r.next=e),i.interleaved=e,ro(n,t)}function wm(n,e,t){if(e=e.updateQueue,e!==null&&(e=e.shared,(t&4194240)!==0)){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,CA(n,t)}}function wE(n,e){var t=n.updateQueue,i=n.alternate;if(i!==null&&(i=i.updateQueue,t===i)){var r=null,s=null;if(t=t.firstBaseUpdate,t!==null){do{var o={eventTime:t.eventTime,lane:t.lane,tag:t.tag,payload:t.payload,callback:t.callback,next:null};s===null?r=s=o:s=s.next=o,t=t.next}while(t!==null);s===null?r=s=e:s=s.next=e}else r=s=e;t={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:s,shared:i.shared,effects:i.effects},n.updateQueue=t;return}n=t.lastBaseUpdate,n===null?t.firstBaseUpdate=e:n.next=e,t.lastBaseUpdate=e}function ig(n,e,t,i){var r=n.updateQueue;Uo=!1;var s=r.firstBaseUpdate,o=r.lastBaseUpdate,a=r.shared.pending;if(a!==null){r.shared.pending=null;var l=a,u=l.next;l.next=null,o===null?s=u:o.next=u,o=l;var f=n.alternate;f!==null&&(f=f.updateQueue,a=f.lastBaseUpdate,a!==o&&(a===null?f.firstBaseUpdate=u:a.next=u,f.lastBaseUpdate=l))}if(s!==null){var d=r.baseState;o=0,f=u=l=null,a=s;do{var p=a.lane,m=a.eventTime;if((i&p)===p){f!==null&&(f=f.next={eventTime:m,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var _=n,S=a;switch(p=e,m=t,S.tag){case 1:if(_=S.payload,typeof _=="function"){d=_.call(m,d,p);break e}d=_;break e;case 3:_.flags=_.flags&-65537|128;case 0:if(_=S.payload,p=typeof _=="function"?_.call(m,d,p):_,p==null)break e;d=vn({},d,p);break e;case 2:Uo=!0}}a.callback!==null&&a.lane!==0&&(n.flags|=64,p=r.effects,p===null?r.effects=[a]:p.push(a))}else m={eventTime:m,lane:p,tag:a.tag,payload:a.payload,callback:a.callback,next:null},f===null?(u=f=m,l=d):f=f.next=m,o|=p;if(a=a.next,a===null){if(a=r.shared.pending,a===null)break;p=a,a=p.next,p.next=null,r.lastBaseUpdate=p,r.shared.pending=null}}while(!0);if(f===null&&(l=d),r.baseState=l,r.firstBaseUpdate=u,r.lastBaseUpdate=f,e=r.shared.interleaved,e!==null){r=e;do o|=r.lane,r=r.next;while(r!==e)}else s===null&&(r.shared.lanes=0);hl|=o,n.lanes=o,n.memoizedState=d}}function TE(n,e,t){if(n=e.effects,e.effects=null,n!==null)for(e=0;et?t:4,n(!0);var i=Jv.transition;Jv.transition={};try{n(!1),e()}finally{Xt=t,Jv.transition=i}}function Yb(){return Fr().memoizedState}function GO(n,e,t){var i=$o(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},Qb(n))Zb(e,t);else if(t=Ib(n,e,t,i),t!==null){var r=Ii();ns(t,n,i,r),qb(t,e,i)}}function VO(n,e,t){var i=$o(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(Qb(n))Zb(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,is(a,o)){var l=e.interleaved;l===null?(r.next=r,HA(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}t=Ib(n,e,r,i),t!==null&&(r=Ii(),ns(t,n,i,r),qb(t,e,i))}}function Qb(n){var e=n.alternate;return n===gn||e!==null&&e===gn}function Zb(n,e){Hh=sg=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function qb(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,CA(n,t)}}var og={readContext:Or,useCallback:mi,useContext:mi,useEffect:mi,useImperativeHandle:mi,useInsertionEffect:mi,useLayoutEffect:mi,useMemo:mi,useReducer:mi,useRef:mi,useState:mi,useDebugValue:mi,useDeferredValue:mi,useTransition:mi,useMutableSource:mi,useSyncExternalStore:mi,useId:mi,unstable_isNewReconciler:!1},WO={readContext:Or,useCallback:function(n,e){return ys().memoizedState=[n,e===void 0?null:e],n},useContext:Or,useEffect:RE,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,Cm(4194308,4,Wb.bind(null,e,n),t)},useLayoutEffect:function(n,e){return Cm(4194308,4,n,e)},useInsertionEffect:function(n,e){return Cm(4,2,n,e)},useMemo:function(n,e){var t=ys();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=ys();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=GO.bind(null,gn,n),[i.memoizedState,n]},useRef:function(n){var e=ys();return n={current:n},e.memoizedState=n},useState:CE,useDebugValue:QA,useDeferredValue:function(n){return ys().memoizedState=n},useTransition:function(){var n=CE(!1),e=n[0];return n=HO.bind(null,n[1]),ys().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=gn,r=ys();if(an){if(t===void 0)throw Error(Me(407));t=t()}else{if(t=e(),Zn===null)throw Error(Me(349));ul&30||Fb(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,RE(Ub.bind(null,i,s,n),[n]),i.flags|=2048,ff(9,Nb.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=ys(),e=Zn.identifierPrefix;if(an){var t=Zs,i=Qs;t=(i&~(1<<32-ts(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=uf++,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[xs]=e,n[af]=i,lP(n,e,!1,!1),e.stateNode=n;e:{switch(o=Fy(t,i),t){case"dialog":tn("cancel",n),tn("close",n),r=i;break;case"iframe":case"object":case"embed":tn("load",n),r=i;break;case"video":case"audio":for(r=0;rsu&&(e.flags|=128,i=!0,Yu(s,!1),e.lanes=4194304)}else{if(!i)if(n=rg(o),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),Yu(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!an)return gi(e),null}else 2*wn()-s.renderingStartTime>su&&t!==1073741824&&(e.flags|=128,i=!0,Yu(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=wn(),e.sibling=null,t=pn.current,$t(pn,i?t&1|2:t&1),e):(gi(e),null);case 22:case 23:return nS(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?rr&1073741824&&(gi(e),e.subtreeFlags&6&&(e.flags|=8192)):gi(e),null;case 24:return null;case 25:return null}throw Error(Me(156,e.tag))}function qO(n,e){switch(FA(e),e.tag){case 1:return Ji(e.type)&&Zm(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return iu(),nn(ji),nn(Si),XA(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return WA(e),null;case 13:if(nn(pn),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(Me(340));tu()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return nn(pn),null;case 4:return iu(),null;case 10:return zA(e.type._context),null;case 22:case 23:return nS(),null;case 24:return null;default:return null}}var hp=!1,xi=!1,$O=typeof WeakSet=="function"?WeakSet:Set,ze=null;function Oc(n,e){var t=n.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){xn(n,e,i)}else t.current=null}function cx(n,e,t){try{t()}catch(i){xn(n,e,i)}}var kE=!1;function eF(n,e){if(jy=Jm,n=mb(),DA(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,f=0,d=n,p=null;t:for(;;){for(var m;d!==t||r!==0&&d.nodeType!==3||(a=o+r),d!==s||i!==0&&d.nodeType!==3||(l=o+i),d.nodeType===3&&(o+=d.nodeValue.length),(m=d.firstChild)!==null;)p=d,d=m;for(;;){if(d===n)break t;if(p===t&&++u===r&&(a=o),p===s&&++f===i&&(l=o),(m=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=m}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(Jy={focusedElem:n,selectionRange:t},Jm=!1,ze=e;ze!==null;)if(e=ze,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,ze=n;else for(;ze!==null;){e=ze;try{var _=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(_!==null){var S=_.memoizedProps,y=_.memoizedState,g=e.stateNode,x=g.getSnapshotBeforeUpdate(e.elementType===e.type?S:Yr(e.type,S),y);g.__reactInternalSnapshotBeforeUpdate=x}break;case 3:var M=e.stateNode.containerInfo;M.nodeType===1?M.textContent="":M.nodeType===9&&M.documentElement&&M.removeChild(M.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Me(163))}}catch(E){xn(e,e.return,E)}if(n=e.sibling,n!==null){n.return=e.return,ze=n;break}ze=e.return}return _=kE,kE=!1,_}function Gh(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&&cx(e,t,s)}r=r.next}while(r!==i)}}function Lg(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 ux(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 hP(n){var e=n.alternate;e!==null&&(n.alternate=null,hP(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[xs],delete e[af],delete e[Qy],delete e[FO],delete e[NO])),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 fP(n){return n.tag===5||n.tag===3||n.tag===4}function zE(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||fP(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 hx(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=Qm));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}function fx(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(fx(n,e,t),n=n.sibling;n!==null;)fx(n,e,t),n=n.sibling}var ti=null,Zr=!1;function wo(n,e,t){for(t=t.child;t!==null;)dP(n,e,t),t=t.sibling}function dP(n,e,t){if(Ss&&typeof Ss.onCommitFiberUnmount=="function")try{Ss.onCommitFiberUnmount(wg,t)}catch{}switch(t.tag){case 5:xi||Oc(t,e);case 6:var i=ti,r=Zr;ti=null,wo(n,e,t),ti=i,Zr=r,ti!==null&&(Zr?(n=ti,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):ti.removeChild(t.stateNode));break;case 18:ti!==null&&(Zr?(n=ti,t=t.stateNode,n.nodeType===8?Wv(n.parentNode,t):n.nodeType===1&&Wv(n,t),tf(n)):Wv(ti,t.stateNode));break;case 4:i=ti,r=Zr,ti=t.stateNode.containerInfo,Zr=!0,wo(n,e,t),ti=i,Zr=r;break;case 0:case 11:case 14:case 15:if(!xi&&(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)&&cx(t,e,o),r=r.next}while(r!==i)}wo(n,e,t);break;case 1:if(!xi&&(Oc(t,e),i=t.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=t.memoizedProps,i.state=t.memoizedState,i.componentWillUnmount()}catch(a){xn(t,e,a)}wo(n,e,t);break;case 21:wo(n,e,t);break;case 22:t.mode&1?(xi=(i=xi)||t.memoizedState!==null,wo(n,e,t),xi=i):wo(n,e,t);break;default:wo(n,e,t)}}function HE(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new $O),e.forEach(function(i){var r=cF.bind(null,n,i);t.has(i)||(t.add(i),i.then(r,r))})}}function Vr(n,e){var t=e.deletions;if(t!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=wn()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*nF(i/1960))-i,10n?16:n,Xo===null)var i=!1;else{if(n=Xo,Xo=null,cg=0,Dt&6)throw Error(Me(331));var r=Dt;for(Dt|=4,ze=n.current;ze!==null;){var s=ze,o=s.child;if(ze.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lwn()-eS?tl(n,0):$A|=t),Ki(n,e)}function AP(n,e){e===0&&(n.mode&1?(e=np,np<<=1,!(np&130023424)&&(np=4194304)):e=1);var t=Ii();n=ro(n,e),n!==null&&(Pf(n,e,t),Ki(n,t))}function lF(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),AP(n,t)}function cF(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(Me(314))}i!==null&&i.delete(e),AP(n,t)}var SP;SP=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||ji.current)Gi=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return Gi=!1,QO(n,e,t);Gi=!!(n.flags&131072)}else Gi=!1,an&&e.flags&1048576&&Tb(e,eg,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;Rm(n,e),n=e.pendingProps;var r=eu(e,Si.current);Xc(e,t),r=JA(null,e,i,n,r,t);var s=KA();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,Ji(i)?(s=!0,qm(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,GA(e),r.updater=Bg,e.stateNode=r,r._reactInternals=e,nx(e,i,n,t),e=sx(null,e,i,!0,s,t)):(e.tag=0,an&&s&&OA(e),bi(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(Rm(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=hF(i),n=Yr(i,n),r){case 0:e=rx(null,e,i,n,t);break e;case 1:e=FE(null,e,i,n,t);break e;case 11:e=DE(null,e,i,n,t);break e;case 14:e=OE(null,e,i,Yr(i.type,n),t);break e}throw Error(Me(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Yr(i,r),rx(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Yr(i,r),FE(n,e,i,r,t);case 3:e:{if(sP(e),n===null)throw Error(Me(387));i=e.pendingProps,s=e.memoizedState,r=s.element,Bb(n,e),ig(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=ru(Error(Me(423)),e),e=NE(n,e,i,t,r);break e}else if(i!==r){r=ru(Error(Me(424)),e),e=NE(n,e,i,t,r);break e}else for(or=Qo(e.stateNode.containerInfo.firstChild),ar=e,an=!0,qr=null,t=Pb(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(tu(),i===r){e=so(n,e,t);break e}bi(n,e,i,t)}e=e.child}return e;case 5:return Lb(e),n===null&&$y(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,Ky(i,r)?o=null:s!==null&&Ky(i,s)&&(e.flags|=32),rP(n,e),bi(n,e,o,t),e.child;case 6:return n===null&&$y(e),null;case 13:return oP(n,e,t);case 4:return VA(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=nu(e,null,i,t):bi(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Yr(i,r),DE(n,e,i,r,t);case 7:return bi(n,e,e.pendingProps,t),e.child;case 8:return bi(n,e,e.pendingProps.children,t),e.child;case 12:return bi(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,$t(tg,i._currentValue),i._currentValue=o,s!==null)if(is(s.value,o)){if(s.children===r.children&&!ji.current){e=so(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=$s(-1,t&-t),l.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var f=u.pending;f===null?l.next=l:(l.next=f.next,f.next=l),u.pending=l}}s.lanes|=t,l=s.alternate,l!==null&&(l.lanes|=t),ex(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(Me(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),ex(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}bi(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,Xc(e,t),r=Or(r),i=i(r),e.flags|=1,bi(n,e,i,t),e.child;case 14:return i=e.type,r=Yr(i,e.pendingProps),r=Yr(i.type,r),OE(n,e,i,r,t);case 15:return nP(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Yr(i,r),Rm(n,e),e.tag=1,Ji(i)?(n=!0,qm(e)):n=!1,Xc(e,t),$b(e,i,r),nx(e,i,r,t),sx(null,e,i,!0,n,t);case 19:return aP(n,e,t);case 22:return iP(n,e,t)}throw Error(Me(156,e.tag))};function MP(n,e){return QR(n,e)}function uF(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 Ir(n,e,t,i){return new uF(n,e,t,i)}function rS(n){return n=n.prototype,!(!n||!n.isReactComponent)}function hF(n){if(typeof n=="function")return rS(n)?1:0;if(n!=null){if(n=n.$$typeof,n===MA)return 11;if(n===EA)return 14}return 2}function ea(n,e){var t=n.alternate;return t===null?(t=Ir(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 Im(n,e,t,i,r,s){var o=2;if(i=n,typeof n=="function")rS(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case Tc:return nl(t.children,r,s,e);case SA:o=8,r|=8;break;case Ty:return n=Ir(12,t,e,r|2),n.elementType=Ty,n.lanes=s,n;case Cy:return n=Ir(13,t,e,r),n.elementType=Cy,n.lanes=s,n;case Ry:return n=Ir(19,t,e,r),n.elementType=Ry,n.lanes=s,n;case LR:return Og(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case IR:o=10;break e;case BR:o=9;break e;case MA:o=11;break e;case EA:o=14;break e;case No:o=16,i=null;break e}throw Error(Me(130,n==null?n:typeof n,""))}return e=Ir(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function nl(n,e,t,i){return n=Ir(7,n,i,e),n.lanes=t,n}function Og(n,e,t,i){return n=Ir(22,n,i,e),n.elementType=LR,n.lanes=t,n.stateNode={isHidden:!1},n}function qv(n,e,t){return n=Ir(6,n,null,e),n.lanes=t,n}function $v(n,e,t){return e=Ir(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function fF(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=Lv(0),this.expirationTimes=Lv(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Lv(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function sS(n,e,t,i,r,s,o,a,l){return n=new fF(n,e,t,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=Ir(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},GA(s),n}function dF(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(CP)}catch(n){console.error(n)}}CP(),CR.exports=fr;var _F=CR.exports,RP,YE=_F;RP=YE.createRoot,YE.hydrateRoot;/** + * @license + * Copyright 2010-2024 Three.js Authors + * SPDX-License-Identifier: MIT + */const mu="164",yF={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},xF={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},bP=0,vx=1,PP=2,AF=3,IP=0,zg=1,Xh=2,Qr=3,rs=0,Ai=1,Pr=2,eo=0,il=1,_x=2,yx=3,xx=4,BP=5,Go=100,LP=101,DP=102,OP=103,FP=104,NP=200,UP=201,kP=202,zP=203,fg=204,dg=205,HP=206,GP=207,VP=208,WP=209,XP=210,jP=211,JP=212,KP=213,YP=214,QP=0,ZP=1,qP=2,pf=3,$P=4,eI=5,tI=6,nI=7,Df=0,iI=1,rI=2,Es=0,sI=1,oI=2,aI=3,cS=4,lI=5,cI=6,uI=7,Ax="attached",hI="detached",Hg=300,oo=301,sa=302,mf=303,gf=304,gu=306,ss=1e3,Vi=1001,dl=1002,Dn=1003,Of=1004,SF=1004,jo=1005,MF=1005,ln=1006,rl=1007,EF=1007,Wi=1008,wF=1008,Ts=1009,fI=1010,dI=1011,uS=1012,hS=1013,pl=1014,Br=1015,Ff=1016,fS=1017,dS=1018,vu=1020,pI=35902,mI=1021,gI=1022,Xi=1023,vI=1024,_I=1025,sl=1026,ou=1027,pS=1028,mS=1029,yI=1030,gS=1031,vS=1033,Bm=33776,Lm=33777,Dm=33778,Om=33779,Sx=35840,Mx=35841,Ex=35842,wx=35843,Tx=36196,Cx=37492,Rx=37496,bx=37808,Px=37809,Ix=37810,Bx=37811,Lx=37812,Dx=37813,Ox=37814,Fx=37815,Nx=37816,Ux=37817,kx=37818,zx=37819,Hx=37820,Gx=37821,Fm=36492,Vx=36494,Wx=36495,xI=36283,Xx=36284,jx=36285,Jx=36286,AI=2200,SI=2201,MI=2202,ml=2300,ao=2301,Nm=2302,Ya=2400,Qa=2401,vf=2402,Gg=2500,_S=2501,yS=0,Nf=1,gl=2,EI=3200,wI=3201,ua=0,TI=1,Ks="",ii="srgb",$n="srgb-linear",Vg="display-p3",Uf="display-p3-linear",_f="linear",Zt="srgb",yf="rec709",xf="p3",TF=0,Va=7680,CF=7681,RF=7682,bF=7683,PF=34055,IF=34056,BF=5386,LF=512,DF=513,OF=514,FF=515,NF=516,UF=517,kF=518,Kx=519,CI=512,RI=513,bI=514,xS=515,PI=516,II=517,BI=518,LI=519,Af=35044,zF=35048,HF=35040,GF=35045,VF=35049,WF=35041,XF=35046,jF=35050,JF=35042,KF="100",Yx="300 es",As=2e3,Sf=2001;let fo=class{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]+vi[n>>16&255]+vi[n>>24&255]+"-"+vi[e&255]+vi[e>>8&255]+"-"+vi[e>>16&15|64]+vi[e>>24&255]+"-"+vi[t&63|128]+vi[t>>8&255]+"-"+vi[t>>16&255]+vi[t>>24&255]+vi[i&255]+vi[i>>8&255]+vi[i>>16&255]+vi[i>>24&255]).toLowerCase()}function An(n,e,t){return Math.max(e,Math.min(t,n))}function AS(n,e){return(n%e+e)%e}function YF(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function QF(n,e,t){return n!==e?(t-n)/(e-n):0}function jh(n,e,t){return(1-t)*n+t*e}function ZF(n,e,t,i){return jh(n,e,1-Math.exp(-t*i))}function qF(n,e=1){return e-Math.abs(AS(n,e*2)-e)}function $F(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function e3(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function t3(n,e){return n+Math.floor(Math.random()*(e-n+1))}function n3(n,e){return n+Math.random()*(e-n)}function i3(n){return n*(.5-Math.random())}function r3(n){n!==void 0&&(QE=n);let e=QE+=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 s3(n){return n*ol}function o3(n){return n*au}function a3(n){return(n&n-1)===0&&n!==0}function l3(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function c3(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function u3(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),f=o((e+i)/2),d=s((e-i)/2),p=o((e-i)/2),m=s((i-e)/2),_=o((i-e)/2);switch(r){case"XYX":n.set(a*f,l*d,l*p,a*u);break;case"YZY":n.set(l*p,a*f,l*d,a*u);break;case"ZXZ":n.set(l*d,l*p,a*f,a*u);break;case"XZX":n.set(a*f,l*_,l*m,a*u);break;case"YXY":n.set(l*m,a*f,l*_,a*u);break;case"ZYZ":n.set(l*_,l*m,a*f,a*u);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function Pi(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 vt(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 kf={DEG2RAD:ol,RAD2DEG:au,generateUUID:lr,clamp:An,euclideanModulo:AS,mapLinear:YF,inverseLerp:QF,lerp:jh,damp:ZF,pingpong:qF,smoothstep:$F,smootherstep:e3,randInt:t3,randFloat:n3,randFloatSpread:i3,seededRandom:r3,degToRad:s3,radToDeg:o3,isPowerOfTwo:a3,ceilPowerOfTwo:l3,floorPowerOfTwo:c3,setQuaternionFromProperEuler:u3,normalize:vt,denormalize:Pi};class le{constructor(e=0,t=0){le.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(An(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 gt{constructor(e,t,i,r,s,o,a,l,u){gt.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 f=this.elements;return f[0]=e,f[1]=r,f[2]=a,f[3]=t,f[4]=s,f[5]=l,f[6]=i,f[7]=o,f[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],f=i[4],d=i[7],p=i[2],m=i[5],_=i[8],S=r[0],y=r[3],g=r[6],x=r[1],M=r[4],E=r[7],P=r[2],C=r[5],b=r[8];return s[0]=o*S+a*x+l*P,s[3]=o*y+a*M+l*C,s[6]=o*g+a*E+l*b,s[1]=u*S+f*x+d*P,s[4]=u*y+f*M+d*C,s[7]=u*g+f*E+d*b,s[2]=p*S+m*x+_*P,s[5]=p*y+m*M+_*C,s[8]=p*g+m*E+_*b,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],f=e[8];return t*o*f-t*a*u-i*s*f+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],f=e[8],d=f*o-a*u,p=a*l-f*s,m=u*s-o*l,_=t*d+i*p+r*m;if(_===0)return this.set(0,0,0,0,0,0,0,0,0);const S=1/_;return e[0]=d*S,e[1]=(r*u-f*i)*S,e[2]=(a*i-r*o)*S,e[3]=p*S,e[4]=(f*t-r*l)*S,e[5]=(r*s-a*t)*S,e[6]=m*S,e[7]=(i*l-u*t)*S,e[8]=(o*t-i*s)*S,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(e_.makeScale(e,t)),this}rotate(e){return this.premultiply(e_.makeRotation(-e)),this}translate(e,t){return this.premultiply(e_.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 e_=new gt;function DI(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const h3={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Nc(n,e){return new h3[n](e)}function Mf(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function OI(){const n=Mf("canvas");return n.style.display="block",n}const ZE={};function FI(n){n in ZE||(ZE[n]=!0,console.warn(n))}const qE=new gt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),$E=new gt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),pp={[$n]:{transfer:_f,primaries:yf,toReference:n=>n,fromReference:n=>n},[ii]:{transfer:Zt,primaries:yf,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[Uf]:{transfer:_f,primaries:xf,toReference:n=>n.applyMatrix3($E),fromReference:n=>n.applyMatrix3(qE)},[Vg]:{transfer:Zt,primaries:xf,toReference:n=>n.convertSRGBToLinear().applyMatrix3($E),fromReference:n=>n.applyMatrix3(qE).convertLinearToSRGB()}},f3=new Set([$n,Uf]),Vt={enabled:!0,_workingColorSpace:$n,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!f3.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=pp[e].toReference,r=pp[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 pp[n].primaries},getTransfer:function(n){return n===Ks?_f:pp[n].transfer}};function Jc(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function t_(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let jl;class NI{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{jl===void 0&&(jl=Mf("canvas")),jl.width=e.width,jl.height=e.height;const i=jl.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=jl}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=Mf("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!==Hg)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case ss:e.x=e.x-Math.floor(e.x);break;case Vi:e.x=e.x<0?0:1;break;case dl: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 ss:e.y=e.y-Math.floor(e.y);break;case Vi:e.y=e.y<0?0:1;break;case dl:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}}Yt.DEFAULT_IMAGE=null;Yt.DEFAULT_MAPPING=Hg;Yt.DEFAULT_ANISOTROPY=1;class Lt{constructor(e=0,t=0,i=0,r=1){Lt.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],f=l[4],d=l[8],p=l[1],m=l[5],_=l[9],S=l[2],y=l[6],g=l[10];if(Math.abs(f-p)<.01&&Math.abs(d-S)<.01&&Math.abs(_-y)<.01){if(Math.abs(f+p)<.1&&Math.abs(d+S)<.1&&Math.abs(_+y)<.1&&Math.abs(u+m+g-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const M=(u+1)/2,E=(m+1)/2,P=(g+1)/2,C=(f+p)/4,b=(d+S)/4,L=(_+y)/4;return M>E&&M>P?M<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(M),r=C/i,s=b/i):E>P?E<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(E),i=C/r,s=L/r):P<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(P),i=b/s,r=L/s),this.set(i,r,s,t),this}let x=Math.sqrt((y-_)*(y-_)+(d-S)*(d-S)+(p-f)*(p-f));return Math.abs(x)<.001&&(x=1),this.x=(y-_)/x,this.y=(d-S)/x,this.z=(p-f)/x,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 UI extends fo{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new Lt(0,0,e,t),this.scissorTest=!1,this.viewport=new Lt(0,0,e,t);const r={width:e,height:t,depth:1};i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:ln,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1},i);const s=new Yt(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,M=1-g*g;if(M>Number.EPSILON){const P=Math.sqrt(M),C=Math.atan2(P,g*x);y=Math.sin(y*C)/P,a=Math.sin(a*C)/P}const E=a*x;if(l=l*y+p*E,u=u*y+m*E,f=f*y+_*E,d=d*y+S*E,y===1-a){const P=1/Math.sqrt(l*l+u*u+f*f+d*d);l*=P,u*=P,f*=P,d*=P}}e[t]=l,e[t+1]=u,e[t+2]=f,e[t+3]=d}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],u=i[r+2],f=i[r+3],d=s[o],p=s[o+1],m=s[o+2],_=s[o+3];return e[t]=a*_+f*d+l*m-u*p,e[t+1]=l*_+f*p+u*d-a*m,e[t+2]=u*_+f*m+a*p-l*d,e[t+3]=f*_-a*d-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),f=a(r/2),d=a(s/2),p=l(i/2),m=l(r/2),_=l(s/2);switch(o){case"XYZ":this._x=p*f*d+u*m*_,this._y=u*m*d-p*f*_,this._z=u*f*_+p*m*d,this._w=u*f*d-p*m*_;break;case"YXZ":this._x=p*f*d+u*m*_,this._y=u*m*d-p*f*_,this._z=u*f*_-p*m*d,this._w=u*f*d+p*m*_;break;case"ZXY":this._x=p*f*d-u*m*_,this._y=u*m*d+p*f*_,this._z=u*f*_+p*m*d,this._w=u*f*d-p*m*_;break;case"ZYX":this._x=p*f*d-u*m*_,this._y=u*m*d+p*f*_,this._z=u*f*_-p*m*d,this._w=u*f*d+p*m*_;break;case"YZX":this._x=p*f*d+u*m*_,this._y=u*m*d+p*f*_,this._z=u*f*_-p*m*d,this._w=u*f*d-p*m*_;break;case"XZY":this._x=p*f*d-u*m*_,this._y=u*m*d-p*f*_,this._z=u*f*_+p*m*d,this._w=u*f*d+p*m*_;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const i=t/2,r=Math.sin(i);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,i=t[0],r=t[4],s=t[8],o=t[1],a=t[5],l=t[9],u=t[2],f=t[6],d=t[10],p=i+a+d;if(p>0){const m=.5/Math.sqrt(p+1);this._w=.25/m,this._x=(f-l)*m,this._y=(s-u)*m,this._z=(o-r)*m}else if(i>a&&i>d){const m=2*Math.sqrt(1+i-a-d);this._w=(f-l)/m,this._x=.25*m,this._y=(r+o)/m,this._z=(s+u)/m}else if(a>d){const m=2*Math.sqrt(1+a-i-d);this._w=(s-u)/m,this._x=(r+o)/m,this._y=.25*m,this._z=(l+f)/m}else{const m=2*Math.sqrt(1+d-i-a);this._w=(o-r)/m,this._x=(s+u)/m,this._y=(l+f)/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(An(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,f=t._w;return this._x=i*f+o*a+r*u-s*l,this._y=r*f+o*l+s*a-i*u,this._z=s*f+o*u+i*l-r*a,this._w=o*f-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),f=Math.atan2(u,a),d=Math.sin((1-t)*f)/u,p=Math.sin(t*f)/u;return this._w=o*d+this._w*p,this._x=i*d+this._x*p,this._y=r*d+this._y*p,this._z=s*d+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 D{constructor(e=0,t=0,i=0){D.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(ew.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(ew.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),f=2*(a*t-s*r),d=2*(s*i-o*t);return this.x=t+l*u+o*d-a*f,this.y=i+l*f+a*u-s*d,this.z=r+l*d+s*f-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 i_.copy(this).projectOnVector(e),this.sub(i_)}reflect(e){return this.sub(i_.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(An(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 i_=new D,ew=new zt;class qn{constructor(e=new D(1/0,1/0,1/0),t=new D(-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,Wr),Wr.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(Zu),gp.subVectors(this.max,Zu),Jl.subVectors(e.a,Zu),Kl.subVectors(e.b,Zu),Yl.subVectors(e.c,Zu),To.subVectors(Kl,Jl),Co.subVectors(Yl,Kl),Ea.subVectors(Jl,Yl);let t=[0,-To.z,To.y,0,-Co.z,Co.y,0,-Ea.z,Ea.y,To.z,0,-To.x,Co.z,0,-Co.x,Ea.z,0,-Ea.x,-To.y,To.x,0,-Co.y,Co.x,0,-Ea.y,Ea.x,0];return!r_(t,Jl,Kl,Yl,gp)||(t=[1,0,0,0,1,0,0,0,1],!r_(t,Jl,Kl,Yl,gp))?!1:(vp.crossVectors(To,Co),t=[vp.x,vp.y,vp.z],r_(t,Jl,Kl,Yl,gp))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Wr).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Wr).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:(Fs[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Fs[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Fs[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Fs[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Fs[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Fs[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Fs[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Fs[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Fs),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 Fs=[new D,new D,new D,new D,new D,new D,new D,new D],Wr=new D,mp=new qn,Jl=new D,Kl=new D,Yl=new D,To=new D,Co=new D,Ea=new D,Zu=new D,gp=new D,vp=new D,wa=new D;function r_(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){wa.fromArray(n,s);const a=r.x*Math.abs(wa.x)+r.y*Math.abs(wa.y)+r.z*Math.abs(wa.z),l=e.dot(wa),u=t.dot(wa),f=i.dot(wa);if(Math.max(-Math.max(l,u,f),Math.min(l,u,f))>a)return!1}return!0}const v3=new qn,qu=new D,s_=new D;let Tn=class{constructor(e=new D,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):v3.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;qu.subVectors(e,this.center);const t=qu.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(qu,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):(s_.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(qu.copy(e.center).add(s_)),this.expandByPoint(qu.copy(e.center).sub(s_))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}};const Ns=new D,o_=new D,_p=new D,Ro=new D,a_=new D,yp=new D,l_=new D;class ha{constructor(e=new D,t=new D(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,Ns)),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=Ns.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Ns.copy(this.origin).addScaledVector(this.direction,t),Ns.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){o_.copy(e).add(t).multiplyScalar(.5),_p.copy(t).sub(e).normalize(),Ro.copy(this.origin).sub(o_);const s=e.distanceTo(t)*.5,o=-this.direction.dot(_p),a=Ro.dot(this.direction),l=-Ro.dot(_p),u=Ro.lengthSq(),f=Math.abs(1-o*o);let d,p,m,_;if(f>0)if(d=o*l-a,p=o*a-l,_=s*f,d>=0)if(p>=-_)if(p<=_){const S=1/f;d*=S,p*=S,m=d*(d+o*p+2*a)+p*(o*d+p+2*l)+u}else p=s,d=Math.max(0,-(o*p+a)),m=-d*d+p*(p+2*l)+u;else p=-s,d=Math.max(0,-(o*p+a)),m=-d*d+p*(p+2*l)+u;else p<=-_?(d=Math.max(0,-(-o*s+a)),p=d>0?-s:Math.min(Math.max(-s,-l),s),m=-d*d+p*(p+2*l)+u):p<=_?(d=0,p=Math.min(Math.max(-s,-l),s),m=p*(p+2*l)+u):(d=Math.max(0,-(o*s+a)),p=d>0?s:Math.min(Math.max(-s,-l),s),m=-d*d+p*(p+2*l)+u);else p=o>0?-s:s,d=Math.max(0,-(o*p+a)),m=-d*d+p*(p+2*l)+u;return i&&i.copy(this.origin).addScaledVector(this.direction,d),r&&r.copy(o_).addScaledVector(_p,p),m}intersectSphere(e,t){Ns.subVectors(e.center,this.origin);const i=Ns.dot(this.direction),r=Ns.dot(Ns)-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,f=1/this.direction.y,d=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),f>=0?(s=(e.min.y-p.y)*f,o=(e.max.y-p.y)*f):(s=(e.max.y-p.y)*f,o=(e.min.y-p.y)*f),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-p.z)*d,l=(e.max.z-p.z)*d):(a=(e.max.z-p.z)*d,l=(e.min.z-p.z)*d),i>l||a>r)||((a>i||i!==i)&&(i=a),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,Ns)!==null}intersectTriangle(e,t,i,r,s){a_.subVectors(t,e),yp.subVectors(i,e),l_.crossVectors(a_,yp);let o=this.direction.dot(l_),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;Ro.subVectors(this.origin,e);const l=a*this.direction.dot(yp.crossVectors(Ro,yp));if(l<0)return null;const u=a*this.direction.dot(a_.cross(Ro));if(u<0||l+u>o)return null;const f=-a*Ro.dot(l_);return f<0?null:this.at(f/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 Ne{constructor(e,t,i,r,s,o,a,l,u,f,d,p,m,_,S,y){Ne.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,f,d,p,m,_,S,y)}set(e,t,i,r,s,o,a,l,u,f,d,p,m,_,S,y){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]=f,g[10]=d,g[14]=p,g[3]=m,g[7]=_,g[11]=S,g[15]=y,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 Ne().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/Ql.setFromMatrixColumn(e,0).length(),s=1/Ql.setFromMatrixColumn(e,1).length(),o=1/Ql.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),f=Math.cos(s),d=Math.sin(s);if(e.order==="XYZ"){const p=o*f,m=o*d,_=a*f,S=a*d;t[0]=l*f,t[4]=-l*d,t[8]=u,t[1]=m+_*u,t[5]=p-S*u,t[9]=-a*l,t[2]=S-p*u,t[6]=_+m*u,t[10]=o*l}else if(e.order==="YXZ"){const p=l*f,m=l*d,_=u*f,S=u*d;t[0]=p+S*a,t[4]=_*a-m,t[8]=o*u,t[1]=o*d,t[5]=o*f,t[9]=-a,t[2]=m*a-_,t[6]=S+p*a,t[10]=o*l}else if(e.order==="ZXY"){const p=l*f,m=l*d,_=u*f,S=u*d;t[0]=p-S*a,t[4]=-o*d,t[8]=_+m*a,t[1]=m+_*a,t[5]=o*f,t[9]=S-p*a,t[2]=-o*u,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const p=o*f,m=o*d,_=a*f,S=a*d;t[0]=l*f,t[4]=_*u-m,t[8]=p*u+S,t[1]=l*d,t[5]=S*u+p,t[9]=m*u-_,t[2]=-u,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const p=o*l,m=o*u,_=a*l,S=a*u;t[0]=l*f,t[4]=S-p*d,t[8]=_*d+m,t[1]=d,t[5]=o*f,t[9]=-a*f,t[2]=-u*f,t[6]=m*d+_,t[10]=p-S*d}else if(e.order==="XZY"){const p=o*l,m=o*u,_=a*l,S=a*u;t[0]=l*f,t[4]=-d,t[8]=u*f,t[1]=p*d+S,t[5]=o*f,t[9]=m*d-_,t[2]=_*d-m,t[6]=a*f,t[10]=S*d+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(_3,e,y3)}lookAt(e,t,i){const r=this.elements;return tr.subVectors(e,t),tr.lengthSq()===0&&(tr.z=1),tr.normalize(),bo.crossVectors(i,tr),bo.lengthSq()===0&&(Math.abs(i.z)===1?tr.x+=1e-4:tr.z+=1e-4,tr.normalize(),bo.crossVectors(i,tr)),bo.normalize(),xp.crossVectors(tr,bo),r[0]=bo.x,r[4]=xp.x,r[8]=tr.x,r[1]=bo.y,r[5]=xp.y,r[9]=tr.y,r[2]=bo.z,r[6]=xp.z,r[10]=tr.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],f=i[1],d=i[5],p=i[9],m=i[13],_=i[2],S=i[6],y=i[10],g=i[14],x=i[3],M=i[7],E=i[11],P=i[15],C=r[0],b=r[4],L=r[8],I=r[12],R=r[1],U=r[5],K=r[9],z=r[13],te=r[2],ie=r[6],he=r[10],ve=r[14],F=r[3],W=r[7],H=r[11],oe=r[15];return s[0]=o*C+a*R+l*te+u*F,s[4]=o*b+a*U+l*ie+u*W,s[8]=o*L+a*K+l*he+u*H,s[12]=o*I+a*z+l*ve+u*oe,s[1]=f*C+d*R+p*te+m*F,s[5]=f*b+d*U+p*ie+m*W,s[9]=f*L+d*K+p*he+m*H,s[13]=f*I+d*z+p*ve+m*oe,s[2]=_*C+S*R+y*te+g*F,s[6]=_*b+S*U+y*ie+g*W,s[10]=_*L+S*K+y*he+g*H,s[14]=_*I+S*z+y*ve+g*oe,s[3]=x*C+M*R+E*te+P*F,s[7]=x*b+M*U+E*ie+P*W,s[11]=x*L+M*K+E*he+P*H,s[15]=x*I+M*z+E*ve+P*oe,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],f=e[2],d=e[6],p=e[10],m=e[14],_=e[3],S=e[7],y=e[11],g=e[15];return _*(+s*l*d-r*u*d-s*a*p+i*u*p+r*a*m-i*l*m)+S*(+t*l*m-t*u*p+s*o*p-r*o*m+r*u*f-s*l*f)+y*(+t*u*d-t*a*m-s*o*d+i*o*m+s*a*f-i*u*f)+g*(-r*a*f-t*l*d+t*a*p+r*o*d-i*o*p+i*l*f)}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],f=e[8],d=e[9],p=e[10],m=e[11],_=e[12],S=e[13],y=e[14],g=e[15],x=d*y*u-S*p*u+S*l*m-a*y*m-d*l*g+a*p*g,M=_*p*u-f*y*u-_*l*m+o*y*m+f*l*g-o*p*g,E=f*S*u-_*d*u+_*a*m-o*S*m-f*a*g+o*d*g,P=_*d*l-f*S*l-_*a*p+o*S*p+f*a*y-o*d*y,C=t*x+i*M+r*E+s*P;if(C===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const b=1/C;return e[0]=x*b,e[1]=(S*p*s-d*y*s-S*r*m+i*y*m+d*r*g-i*p*g)*b,e[2]=(a*y*s-S*l*s+S*r*u-i*y*u-a*r*g+i*l*g)*b,e[3]=(d*l*s-a*p*s-d*r*u+i*p*u+a*r*m-i*l*m)*b,e[4]=M*b,e[5]=(f*y*s-_*p*s+_*r*m-t*y*m-f*r*g+t*p*g)*b,e[6]=(_*l*s-o*y*s-_*r*u+t*y*u+o*r*g-t*l*g)*b,e[7]=(o*p*s-f*l*s+f*r*u-t*p*u-o*r*m+t*l*m)*b,e[8]=E*b,e[9]=(_*d*s-f*S*s-_*i*m+t*S*m+f*i*g-t*d*g)*b,e[10]=(o*S*s-_*a*s+_*i*u-t*S*u-o*i*g+t*a*g)*b,e[11]=(f*a*s-o*d*s-f*i*u+t*d*u+o*i*m-t*a*m)*b,e[12]=P*b,e[13]=(f*S*r-_*d*r+_*i*p-t*S*p-f*i*y+t*d*y)*b,e[14]=(_*a*r-o*S*r-_*i*l+t*S*l+o*i*y-t*a*y)*b,e[15]=(o*d*r-f*a*r+f*i*l-t*d*l-o*i*p+t*a*p)*b,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,f=s*a;return this.set(u*o+i,u*a-r*l,u*l+r*a,0,u*a+r*l,f*a+i,f*l-r*o,0,u*l-r*a,f*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,f=o+o,d=a+a,p=s*u,m=s*f,_=s*d,S=o*f,y=o*d,g=a*d,x=l*u,M=l*f,E=l*d,P=i.x,C=i.y,b=i.z;return r[0]=(1-(S+g))*P,r[1]=(m+E)*P,r[2]=(_-M)*P,r[3]=0,r[4]=(m-E)*C,r[5]=(1-(p+g))*C,r[6]=(y+x)*C,r[7]=0,r[8]=(_+M)*b,r[9]=(y-x)*b,r[10]=(1-(p+S))*b,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=Ql.set(r[0],r[1],r[2]).length();const o=Ql.set(r[4],r[5],r[6]).length(),a=Ql.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],Xr.copy(this);const u=1/s,f=1/o,d=1/a;return Xr.elements[0]*=u,Xr.elements[1]*=u,Xr.elements[2]*=u,Xr.elements[4]*=f,Xr.elements[5]*=f,Xr.elements[6]*=f,Xr.elements[8]*=d,Xr.elements[9]*=d,Xr.elements[10]*=d,t.setFromRotationMatrix(Xr),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=As){const l=this.elements,u=2*s/(t-e),f=2*s/(i-r),d=(t+e)/(t-e),p=(i+r)/(i-r);let m,_;if(a===As)m=-(o+s)/(o-s),_=-2*o*s/(o-s);else if(a===Sf)m=-o/(o-s),_=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=u,l[4]=0,l[8]=d,l[12]=0,l[1]=0,l[5]=f,l[9]=p,l[13]=0,l[2]=0,l[6]=0,l[10]=m,l[14]=_,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,o,a=As){const l=this.elements,u=1/(t-e),f=1/(i-r),d=1/(o-s),p=(t+e)*u,m=(i+r)*f;let _,S;if(a===As)_=(o+s)*d,S=-2*d;else if(a===Sf)_=s*d,S=-1*d;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*f,l[9]=0,l[13]=-m,l[2]=0,l[6]=0,l[10]=S,l[14]=-_,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 Ql=new D,Xr=new Ne,_3=new D(0,0,0),y3=new D(1,1,1),bo=new D,xp=new D,tr=new D,tw=new Ne,nw=new zt;class Bi{constructor(e=0,t=0,i=0,r=Bi.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],f=r[9],d=r[2],p=r[6],m=r[10];switch(t){case"XYZ":this._y=Math.asin(An(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-f,m),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(p,u),this._z=0);break;case"YXZ":this._x=Math.asin(-An(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(a,m),this._z=Math.atan2(l,u)):(this._y=Math.atan2(-d,s),this._z=0);break;case"ZXY":this._x=Math.asin(An(p,-1,1)),Math.abs(p)<.9999999?(this._y=Math.atan2(-d,m),this._z=Math.atan2(-o,u)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-An(d,-1,1)),Math.abs(d)<.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(An(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-f,u),this._y=Math.atan2(-d,s)):(this._x=0,this._y=Math.atan2(a,m));break;case"XZY":this._z=Math.asin(-An(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(p,u),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-f,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 tw.makeRotationFromQuaternion(e),this.setFromRotationMatrix(tw,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return nw.setFromEuler(this),this.setFromQuaternion(nw,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}}Bi.DEFAULT_ORDER="XYZ";class al{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,f=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),f.length>0&&(i.images=f),d.length>0&&(i.shapes=d),p.length>0&&(i.skeletons=p),m.length>0&&(i.animations=m),_.length>0&&(i.nodes=_)}return i.object=r,i;function o(a){const l=[];for(const u in a){const f=a[u];delete f.metadata,l.push(f)}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),ks.subVectors(i,t),u_.subVectors(e,t);const o=jr.dot(jr),a=jr.dot(ks),l=jr.dot(u_),u=ks.dot(ks),f=ks.dot(u_),d=o*u-a*a;if(d===0)return s.set(0,0,0),null;const p=1/d,m=(u*l-a*f)*p,_=(o*f-a*l)*p;return s.set(1-m-_,_,m)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,zs)===null?!1:zs.x>=0&&zs.y>=0&&zs.x+zs.y<=1}static getInterpolation(e,t,i,r,s,o,a,l){return this.getBarycoord(e,t,i,r,zs)===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,zs.x),l.addScaledVector(o,zs.y),l.addScaledVector(a,zs.z),l)}static isFrontFacing(e,t,i,r){return jr.subVectors(i,t),ks.subVectors(e,t),jr.cross(ks).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),ks.subVectors(this.a,this.b),jr.cross(ks).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return sr.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return sr.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return sr.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return sr.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return sr.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;$l.subVectors(r,i),ec.subVectors(s,i),h_.subVectors(e,i);const l=$l.dot(h_),u=ec.dot(h_);if(l<=0&&u<=0)return t.copy(i);f_.subVectors(e,r);const f=$l.dot(f_),d=ec.dot(f_);if(f>=0&&d<=f)return t.copy(r);const p=l*d-f*u;if(p<=0&&l>=0&&f<=0)return o=l/(l-f),t.copy(i).addScaledVector($l,o);d_.subVectors(e,s);const m=$l.dot(d_),_=ec.dot(d_);if(_>=0&&m<=_)return t.copy(s);const S=m*u-l*_;if(S<=0&&u>=0&&_<=0)return a=u/(u-_),t.copy(i).addScaledVector(ec,a);const y=f*_-m*d;if(y<=0&&d-f>=0&&m-_>=0)return lw.subVectors(s,r),a=(d-f)/(d-f+(m-_)),t.copy(r).addScaledVector(lw,a);const g=1/(y+S+p);return o=S*g,a=p*g,t.copy(i).addScaledVector($l,o).addScaledVector(ec,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const kI={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},Po={h:0,s:0,l:0},Sp={h:0,s:0,l:0};function p_(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*6*(2/3-t):n}class Te{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=ii){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,Vt.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=Vt.workingColorSpace){return this.r=e,this.g=t,this.b=i,Vt.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=Vt.workingColorSpace){if(e=AS(e,1),t=An(t,0,1),i=An(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=p_(o,s,e+1/3),this.g=p_(o,s,e),this.b=p_(o,s,e-1/3)}return Vt.toWorkingColorSpace(this,r),this}setStyle(e,t=ii){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=ii){const i=kI[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=Jc(e.r),this.g=Jc(e.g),this.b=Jc(e.b),this}copyLinearToSRGB(e){return this.r=t_(e.r),this.g=t_(e.g),this.b=t_(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=ii){return Vt.fromWorkingColorSpace(_i.copy(this),e),Math.round(An(_i.r*255,0,255))*65536+Math.round(An(_i.g*255,0,255))*256+Math.round(An(_i.b*255,0,255))}getHexString(e=ii){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=Vt.workingColorSpace){Vt.fromWorkingColorSpace(_i.copy(this),t);const i=_i.r,r=_i.g,s=_i.b,o=Math.max(i,r,s),a=Math.min(i,r,s);let l,u;const f=(a+o)/2;if(a===o)l=0,u=0;else{const d=o-a;switch(u=f<=.5?d/(o+a):d/(2-o-a),o){case i:l=(r-s)/d+(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.dispersion!==void 0&&(i.dispersion=this.dispersion),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapRotation!==void 0&&(i.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==il&&(i.blending=this.blending),this.side!==rs&&(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!==fg&&(i.blendSrc=this.blendSrc),this.blendDst!==dg&&(i.blendDst=this.blendDst),this.blendEquation!==Go&&(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!==pf&&(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!==Kx&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Va&&(i.stencilFail=this.stencilFail),this.stencilZFail!==Va&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==Va&&(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 On extends rn{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Te(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 Bi,this.combine=Df,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 Ys=w3();function w3(){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,f=0;for(;!(u&8388608);)u<<=1,f-=8388608;u&=-8388609,f+=947912704,s[l]=u|f}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 zi(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=An(n,-65504,65504),Ys.floatView[0]=n;const e=Ys.uint32View[0],t=e>>23&511;return Ys.baseTable[t]+((e&8388607)>>Ys.shiftTable[t])}function Lh(n){const e=n>>10;return Ys.uint32View[0]=Ys.mantissaTable[Ys.offsetTable[e]+(n&1023)]+Ys.exponentTable[e],Ys.floatView[0]}const T3={toHalfFloat:zi,fromHalfFloat:Lh},In=new D,Mp=new le;class st{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=Af,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=Br,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return FI("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],f=[];for(let d=0,p=u.length;d0&&(r[l]=f,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 f=r[u];this.setAttribute(u,f.clone(t))}const s=e.morphAttributes;for(const u in s){const f=[],d=s[u];for(let p=0,m=d.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))&&(cw.copy(s).invert(),Ta.copy(e.ray).applyMatrix4(cw),!(i.boundingBox!==null&&Ta.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,Ta)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,u=s.attributes.uv,f=s.attributes.uv1,d=s.attributes.normal,p=s.groups,m=s.drawRange;if(a!==null)if(Array.isArray(o))for(let _=0,S=p.length;_t.far?null:{distance:u,point:Pp.clone(),object:n}}function Ip(n,e,t,i,r,s,o,a,l,u){n.getVertexPosition(a,nc),n.getVertexPosition(l,ic),n.getVertexPosition(u,rc);const f=D3(n,e,t,i,nc,ic,rc,bp);if(f){r&&(Tp.fromBufferAttribute(r,a),Cp.fromBufferAttribute(r,l),Rp.fromBufferAttribute(r,u),f.uv=sr.getInterpolation(bp,nc,ic,rc,Tp,Cp,Rp,new le)),s&&(Tp.fromBufferAttribute(s,a),Cp.fromBufferAttribute(s,l),Rp.fromBufferAttribute(s,u),f.uv1=sr.getInterpolation(bp,nc,ic,rc,Tp,Cp,Rp,new le)),o&&(hw.fromBufferAttribute(o,a),fw.fromBufferAttribute(o,l),dw.fromBufferAttribute(o,u),f.normal=sr.getInterpolation(bp,nc,ic,rc,hw,fw,dw,new D),f.normal.dot(i.direction)>0&&f.normal.multiplyScalar(-1));const d={a,b:l,c:u,normal:new D,materialIndex:0};sr.getNormal(nc,ic,rc,d.normal),f.face=d}return f}class po extends ot{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=[],f=[],d=[];let p=0,m=0;_("z","y","x",-1,-1,i,t,e,o,s,0),_("z","y","x",1,-1,i,t,-e,o,s,1),_("x","z","y",1,1,e,i,t,r,o,2),_("x","z","y",1,-1,e,i,-t,r,o,3),_("x","y","z",1,-1,e,t,i,r,s,4),_("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new We(u,3)),this.setAttribute("normal",new We(f,3)),this.setAttribute("uv",new We(d,2));function _(S,y,g,x,M,E,P,C,b,L,I){const R=E/b,U=P/L,K=E/2,z=P/2,te=C/2,ie=b+1,he=L+1;let ve=0,F=0;const W=new D;for(let H=0;H0?1:-1,f.push(W.x,W.y,W.z),d.push(Ee/b),d.push(1-H/L),ve+=1}}for(let H=0;H0&&(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 zf extends Et{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Ne,this.projectionMatrix=new Ne,this.projectionMatrixInverse=new Ne,this.coordinateSystem=As}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 Io=new D,pw=new le,mw=new le;class Bn extends zf{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=au*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(ol*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return au*2*Math.atan(Math.tan(ol*.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){Io.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Io.x,Io.y).multiplyScalar(-e/Io.z),Io.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(Io.x,Io.y).multiplyScalar(-e/Io.z)}getViewSize(e,t){return this.getViewBounds(e,pw,mw),t.subVectors(mw,pw)}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(ol*.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 sc=-90,oc=1;class HI extends Et{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new Bn(sc,oc,e,t);r.layers=this.layers,this.add(r);const s=new Bn(sc,oc,e,t);s.layers=this.layers,this.add(s);const o=new Bn(sc,oc,e,t);o.layers=this.layers,this.add(o);const a=new Bn(sc,oc,e,t);a.layers=this.layers,this.add(a);const l=new Bn(sc,oc,e,t);l.layers=this.layers,this.add(l);const u=new Bn(sc,oc,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===As)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===Sf)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,f]=this.children,d=e.getRenderTarget(),p=e.getActiveCubeFace(),m=e.getActiveMipmapLevel(),_=e.xr.enabled;e.xr.enabled=!1;const S=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=S,e.setRenderTarget(i,5,r),e.render(t,f),e.setRenderTarget(d,p,m),e.xr.enabled=_,i.texture.needsPMREMUpdate=!0}}class Hf extends Yt{constructor(e,t,i,r,s,o,a,l,u,f){e=e!==void 0?e:[],t=t!==void 0?t:oo,super(e,t,i,r,s,o,a,l,u,f),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class GI extends os{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 Hf(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:ln}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 po(5,5,5),s=new hr({name:"CubemapFromEquirect",uniforms:lu(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:Ai,blending:eo});s.uniforms.tEquirect.value=t;const o=new Kt(r,s),a=t.minFilter;return t.minFilter===Wi&&(t.minFilter=ln),new HI(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 v_=new D,U3=new D,k3=new gt;class $r{constructor(e=new D(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=v_.subVectors(i,t).cross(U3.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(v_),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||k3.getNormalMatrix(e),r=this.coplanarPoint(v_).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 Ca=new Tn,Bp=new D;class Gf{constructor(e=new $r,t=new $r,i=new $r,r=new $r,s=new $r,o=new $r){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=As){const i=this.planes,r=e.elements,s=r[0],o=r[1],a=r[2],l=r[3],u=r[4],f=r[5],d=r[6],p=r[7],m=r[8],_=r[9],S=r[10],y=r[11],g=r[12],x=r[13],M=r[14],E=r[15];if(i[0].setComponents(l-s,p-u,y-m,E-g).normalize(),i[1].setComponents(l+s,p+u,y+m,E+g).normalize(),i[2].setComponents(l+o,p+f,y+_,E+x).normalize(),i[3].setComponents(l-o,p-f,y-_,E-x).normalize(),i[4].setComponents(l-a,p-d,y-S,E-M).normalize(),t===As)i[5].setComponents(l+a,p+d,y+S,E+M).normalize();else if(t===Sf)i[5].setComponents(a,d,S,M).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(),Ca.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Ca.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Ca)}intersectsSprite(e){return Ca.center.set(0,0,0),Ca.radius=.7071067811865476,Ca.applyMatrix4(e.matrixWorld),this.intersectsSphere(Ca)}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,Bp.y=r.normal.y>0?e.max.y:e.min.y,Bp.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Bp)<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 VI(){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 z3(n){const e=new WeakMap;function t(a,l){const u=a.array,f=a.usage,d=u.byteLength,p=n.createBuffer();n.bindBuffer(l,p),n.bufferData(l,u,f),a.onUploadCallback();let m;if(u instanceof Float32Array)m=n.FLOAT;else if(u instanceof Uint16Array)a.isFloat16BufferAttribute?m=n.HALF_FLOAT:m=n.UNSIGNED_SHORT;else if(u instanceof Int16Array)m=n.SHORT;else if(u instanceof Uint32Array)m=n.UNSIGNED_INT;else if(u instanceof Int32Array)m=n.INT;else if(u instanceof Int8Array)m=n.BYTE;else if(u instanceof Uint8Array)m=n.UNSIGNED_BYTE;else if(u instanceof Uint8ClampedArray)m=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+u);return{buffer:p,type:m,bytesPerElement:u.BYTES_PER_ELEMENT,version:a.version,size:d}}function i(a,l,u){const f=l.array,d=l._updateRange,p=l.updateRanges;if(n.bindBuffer(u,a),d.count===-1&&p.length===0&&n.bufferSubData(u,0,f),p.length!==0){for(let m=0,_=p.length;m<_;m++){const S=p[m];n.bufferSubData(u,S.start*f.BYTES_PER_ELEMENT,f,S.start,S.count)}l.clearUpdateRanges()}d.count!==-1&&(n.bufferSubData(u,d.offset*f.BYTES_PER_ELEMENT,f,d.offset,d.count),d.count=-1),l.onUploadCallback()}function r(a){return a.isInterleavedBufferAttribute&&(a=a.data),e.get(a)}function s(a){a.isInterleavedBufferAttribute&&(a=a.data);const l=e.get(a);l&&(n.deleteBuffer(l.buffer),e.delete(a))}function o(a,l){if(a.isGLBufferAttribute){const f=e.get(a);(!f||f.version 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`,iN=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; +#endif`,rN=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,sN=`#if NUM_CLIPPING_PLANES > 0 + vClipPosition = - mvPosition.xyz; +#endif`,oN=`#if defined( USE_COLOR_ALPHA ) + diffuseColor *= vColor; +#elif defined( USE_COLOR ) + diffuseColor.rgb *= vColor; +#endif`,aN=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) + varying vec3 vColor; +#endif`,lN=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) + varying vec3 vColor; +#endif`,cN=`#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`,uN=`#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`,hN=`#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`,fN=`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`,dN=`#ifdef USE_DISPLACEMENTMAP + uniform sampler2D displacementMap; + uniform float displacementScale; + uniform float displacementBias; +#endif`,pN=`#ifdef USE_DISPLACEMENTMAP + transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); +#endif`,mN=`#ifdef USE_EMISSIVEMAP + vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); + totalEmissiveRadiance *= emissiveColor.rgb; +#endif`,gN=`#ifdef USE_EMISSIVEMAP + uniform sampler2D emissiveMap; +#endif`,vN="gl_FragColor = linearToOutputTexel( gl_FragColor );",_N=` +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 ); +}`,yN=`#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`,xN=`#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`,AN=`#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`,SN=`#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`,MN=`#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`,EN=`#ifdef USE_FOG + vFogDepth = - mvPosition.z; +#endif`,wN=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,TN=`#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`,CN=`#ifdef USE_FOG + uniform vec3 fogColor; + varying float vFogDepth; + #ifdef FOG_EXP2 + uniform float fogDensity; + #else + uniform float fogNear; + uniform float fogFar; + #endif +#endif`,RN=`#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 +}`,bN=`#ifdef USE_LIGHTMAP + uniform sampler2D lightMap; + uniform float lightMapIntensity; +#endif`,PN=`LambertMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularStrength = specularStrength;`,IN=`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`,BN=`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`,LN=`#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`,DN=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,ON=`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`,FN=`BlinnPhongMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularColor = specular; +material.specularShininess = shininess; +material.specularStrength = specularStrength;`,NN=`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`,UN=`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_DISPERSION + material.dispersion = dispersion; +#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`,kN=`struct PhysicalMaterial { + vec3 diffuseColor; + float roughness; + vec3 specularColor; + float specularF90; + float dispersion; + #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 ); +}`,zN=` +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`,HN=`#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`,GN=`#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`,VN=`#if defined( USE_LOGDEPTHBUF ) + gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,WN=`#if defined( USE_LOGDEPTHBUF ) + uniform float logDepthBufFC; + varying float vFragDepth; + varying float vIsPerspective; +#endif`,XN=`#ifdef USE_LOGDEPTHBUF + varying float vFragDepth; + varying float vIsPerspective; +#endif`,jN=`#ifdef USE_LOGDEPTHBUF + vFragDepth = 1.0 + gl_Position.w; + vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); +#endif`,JN=`#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`,KN=`#ifdef USE_MAP + uniform sampler2D map; +#endif`,YN=`#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`,QN=`#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`,ZN=`float metalnessFactor = metalness; +#ifdef USE_METALNESSMAP + vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); + metalnessFactor *= texelMetalness.b; +#endif`,qN=`#ifdef USE_METALNESSMAP + uniform sampler2D metalnessMap; +#endif`,$N=`#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`,eU=`#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`,tU=`#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`,nU=`#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`,iU=`#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`,rU=`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;`,sU=`#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`,oU=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,aU=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,lU=`#ifndef FLAT_SHADED + vNormal = normalize( transformedNormal ); + #ifdef USE_TANGENT + vTangent = normalize( transformedTangent ); + vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); + #endif +#endif`,cU=`#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`,uU=`#ifdef USE_CLEARCOAT + vec3 clearcoatNormal = nonPerturbedNormal; +#endif`,hU=`#ifdef USE_CLEARCOAT_NORMALMAP + vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; + clearcoatMapN.xy *= clearcoatNormalScale; + clearcoatNormal = normalize( tbn2 * clearcoatMapN ); +#endif`,fU=`#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`,dU=`#ifdef USE_IRIDESCENCEMAP + uniform sampler2D iridescenceMap; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + uniform sampler2D iridescenceThicknessMap; +#endif`,pU=`#ifdef OPAQUE +diffuseColor.a = 1.0; +#endif +#ifdef USE_TRANSMISSION +diffuseColor.a *= material.transmissionAlpha; +#endif +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,mU=`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 ); +}`,gU=`#ifdef PREMULTIPLIED_ALPHA + gl_FragColor.rgb *= gl_FragColor.a; +#endif`,vU=`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;`,_U=`#ifdef DITHERING + gl_FragColor.rgb = dithering( gl_FragColor.rgb ); +#endif`,yU=`#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`,xU=`float roughnessFactor = roughness; +#ifdef USE_ROUGHNESSMAP + vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); + roughnessFactor *= texelRoughness.g; +#endif`,AU=`#ifdef USE_ROUGHNESSMAP + uniform sampler2D roughnessMap; +#endif`,SU=`#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 ) { + float shadow = 1.0; + vec3 lightToPosition = shadowCoord.xyz; + + float lightToPositionLength = length( lightToPosition ); + if ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) { + float dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; + vec3 bd3D = normalize( lightToPosition ); + vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); + #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) + vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; + shadow = ( + 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 + shadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); + #endif + } + return shadow; + } +#endif`,MU=`#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`,EU=`#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`,wU=`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; +}`,TU=`#ifdef USE_SKINNING + mat4 boneMatX = getBoneMatrix( skinIndex.x ); + mat4 boneMatY = getBoneMatrix( skinIndex.y ); + mat4 boneMatZ = getBoneMatrix( skinIndex.z ); + mat4 boneMatW = getBoneMatrix( skinIndex.w ); +#endif`,CU=`#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`,RU=`#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`,bU=`#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`,PU=`float specularStrength; +#ifdef USE_SPECULARMAP + vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); + specularStrength = texelSpecular.r; +#else + specularStrength = 1.0; +#endif`,IU=`#ifdef USE_SPECULARMAP + uniform sampler2D specularMap; +#endif`,BU=`#if defined( TONE_MAPPING ) + gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); +#endif`,LU=`#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 ) { + const float StartCompression = 0.8 - 0.04; + const 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( newPeak ), g ); +} +vec3 CustomToneMapping( vec3 color ) { return color; }`,DU=`#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.dispersion, 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`,OU=`#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 dispersion, const in float ior, const in float thickness, + const in vec3 attenuationColor, const in float attenuationDistance ) { + vec4 transmittedLight; + vec3 transmittance; + #ifdef USE_DISPERSION + float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion; + vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread ); + for ( int i = 0; i < 3; i ++ ) { + vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix ); + vec3 refractedRayExit = position + transmissionRay; + + vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); + vec2 refractionCoords = ndcPos.xy / ndcPos.w; + refractionCoords += 1.0; + refractionCoords /= 2.0; + + vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] ); + transmittedLight[ i ] = transmissionSample[ i ]; + transmittedLight.a += transmissionSample.a; + transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ]; + } + transmittedLight.a /= 3.0; + + #else + + 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; + transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); + transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); + + #endif + 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`,FU=`#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`,NU=`#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`,UU=`#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`,kU=`#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 zU=`varying vec2 vUv; +uniform mat3 uvTransform; +void main() { + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; + gl_Position = vec4( position.xy, 1.0, 1.0 ); +}`,HU=`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 +}`,GU=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,VU=`#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 +}`,WU=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,XU=`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 +}`,jU=`#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; +}`,JU=`#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 +}`,KU=`#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; +}`,YU=`#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 ); +}`,QU=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include +}`,ZU=`uniform sampler2D tEquirect; +varying vec3 vWorldDirection; +#include +void main() { + vec3 direction = normalize( vWorldDirection ); + vec2 sampleUV = equirectUv( direction ); + gl_FragColor = texture2D( tEquirect, sampleUV ); + #include + #include +}`,qU=`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 +}`,$U=`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 +}`,ek=`#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 +}`,tk=`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 +}`,nk=`#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 +}`,ik=`#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 +}`,rk=`#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; +}`,sk=`#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 +}`,ok=`#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 +}`,ak=`#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 +}`,lk=`#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 +}`,ck=`#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 +}`,uk=`#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 +}`,hk=`#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_DISPERSION + uniform float dispersion; +#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 +}`,fk=`#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 +}`,dk=`#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 +}`,pk=`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 +}`,mk=`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 +}`,gk=`#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,vk=`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 +}`,_k=`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 +}`,yk=`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 +}`,at={alphahash_fragment:H3,alphahash_pars_fragment:G3,alphamap_fragment:V3,alphamap_pars_fragment:W3,alphatest_fragment:X3,alphatest_pars_fragment:j3,aomap_fragment:J3,aomap_pars_fragment:K3,batching_pars_vertex:Y3,batching_vertex:Q3,begin_vertex:Z3,beginnormal_vertex:q3,bsdfs:$3,iridescence_fragment:eN,bumpmap_pars_fragment:tN,clipping_planes_fragment:nN,clipping_planes_pars_fragment:iN,clipping_planes_pars_vertex:rN,clipping_planes_vertex:sN,color_fragment:oN,color_pars_fragment:aN,color_pars_vertex:lN,color_vertex:cN,common:uN,cube_uv_reflection_fragment:hN,defaultnormal_vertex:fN,displacementmap_pars_vertex:dN,displacementmap_vertex:pN,emissivemap_fragment:mN,emissivemap_pars_fragment:gN,colorspace_fragment:vN,colorspace_pars_fragment:_N,envmap_fragment:yN,envmap_common_pars_fragment:xN,envmap_pars_fragment:AN,envmap_pars_vertex:SN,envmap_physical_pars_fragment:LN,envmap_vertex:MN,fog_vertex:EN,fog_pars_vertex:wN,fog_fragment:TN,fog_pars_fragment:CN,gradientmap_pars_fragment:RN,lightmap_pars_fragment:bN,lights_lambert_fragment:PN,lights_lambert_pars_fragment:IN,lights_pars_begin:BN,lights_toon_fragment:DN,lights_toon_pars_fragment:ON,lights_phong_fragment:FN,lights_phong_pars_fragment:NN,lights_physical_fragment:UN,lights_physical_pars_fragment:kN,lights_fragment_begin:zN,lights_fragment_maps:HN,lights_fragment_end:GN,logdepthbuf_fragment:VN,logdepthbuf_pars_fragment:WN,logdepthbuf_pars_vertex:XN,logdepthbuf_vertex:jN,map_fragment:JN,map_pars_fragment:KN,map_particle_fragment:YN,map_particle_pars_fragment:QN,metalnessmap_fragment:ZN,metalnessmap_pars_fragment:qN,morphinstance_vertex:$N,morphcolor_vertex:eU,morphnormal_vertex:tU,morphtarget_pars_vertex:nU,morphtarget_vertex:iU,normal_fragment_begin:rU,normal_fragment_maps:sU,normal_pars_fragment:oU,normal_pars_vertex:aU,normal_vertex:lU,normalmap_pars_fragment:cU,clearcoat_normal_fragment_begin:uU,clearcoat_normal_fragment_maps:hU,clearcoat_pars_fragment:fU,iridescence_pars_fragment:dU,opaque_fragment:pU,packing:mU,premultiplied_alpha_fragment:gU,project_vertex:vU,dithering_fragment:_U,dithering_pars_fragment:yU,roughnessmap_fragment:xU,roughnessmap_pars_fragment:AU,shadowmap_pars_fragment:SU,shadowmap_pars_vertex:MU,shadowmap_vertex:EU,shadowmask_pars_fragment:wU,skinbase_vertex:TU,skinning_pars_vertex:CU,skinning_vertex:RU,skinnormal_vertex:bU,specularmap_fragment:PU,specularmap_pars_fragment:IU,tonemapping_fragment:BU,tonemapping_pars_fragment:LU,transmission_fragment:DU,transmission_pars_fragment:OU,uv_pars_fragment:FU,uv_pars_vertex:NU,uv_vertex:UU,worldpos_vertex:kU,background_vert:zU,background_frag:HU,backgroundCube_vert:GU,backgroundCube_frag:VU,cube_vert:WU,cube_frag:XU,depth_vert:jU,depth_frag:JU,distanceRGBA_vert:KU,distanceRGBA_frag:YU,equirect_vert:QU,equirect_frag:ZU,linedashed_vert:qU,linedashed_frag:$U,meshbasic_vert:ek,meshbasic_frag:tk,meshlambert_vert:nk,meshlambert_frag:ik,meshmatcap_vert:rk,meshmatcap_frag:sk,meshnormal_vert:ok,meshnormal_frag:ak,meshphong_vert:lk,meshphong_frag:ck,meshphysical_vert:uk,meshphysical_frag:hk,meshtoon_vert:fk,meshtoon_frag:dk,points_vert:pk,points_frag:mk,shadow_vert:gk,shadow_frag:vk,sprite_vert:_k,sprite_frag:yk},Pe={common:{diffuse:{value:new Te(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new gt},alphaMap:{value:null},alphaMapTransform:{value:new gt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new gt}},envmap:{envMap:{value:null},envMapRotation:{value:new gt},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new gt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new gt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new gt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new gt},normalScale:{value:new le(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new gt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new gt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new gt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new gt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Te(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 Te(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new gt},alphaTest:{value:0},uvTransform:{value:new gt}},sprite:{diffuse:{value:new Te(16777215)},opacity:{value:1},center:{value:new le(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new gt},alphaMap:{value:null},alphaMapTransform:{value:new gt},alphaTest:{value:0}}},es={basic:{uniforms:Ri([Pe.common,Pe.specularmap,Pe.envmap,Pe.aomap,Pe.lightmap,Pe.fog]),vertexShader:at.meshbasic_vert,fragmentShader:at.meshbasic_frag},lambert:{uniforms:Ri([Pe.common,Pe.specularmap,Pe.envmap,Pe.aomap,Pe.lightmap,Pe.emissivemap,Pe.bumpmap,Pe.normalmap,Pe.displacementmap,Pe.fog,Pe.lights,{emissive:{value:new Te(0)}}]),vertexShader:at.meshlambert_vert,fragmentShader:at.meshlambert_frag},phong:{uniforms:Ri([Pe.common,Pe.specularmap,Pe.envmap,Pe.aomap,Pe.lightmap,Pe.emissivemap,Pe.bumpmap,Pe.normalmap,Pe.displacementmap,Pe.fog,Pe.lights,{emissive:{value:new Te(0)},specular:{value:new Te(1118481)},shininess:{value:30}}]),vertexShader:at.meshphong_vert,fragmentShader:at.meshphong_frag},standard:{uniforms:Ri([Pe.common,Pe.envmap,Pe.aomap,Pe.lightmap,Pe.emissivemap,Pe.bumpmap,Pe.normalmap,Pe.displacementmap,Pe.roughnessmap,Pe.metalnessmap,Pe.fog,Pe.lights,{emissive:{value:new Te(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:at.meshphysical_vert,fragmentShader:at.meshphysical_frag},toon:{uniforms:Ri([Pe.common,Pe.aomap,Pe.lightmap,Pe.emissivemap,Pe.bumpmap,Pe.normalmap,Pe.displacementmap,Pe.gradientmap,Pe.fog,Pe.lights,{emissive:{value:new Te(0)}}]),vertexShader:at.meshtoon_vert,fragmentShader:at.meshtoon_frag},matcap:{uniforms:Ri([Pe.common,Pe.bumpmap,Pe.normalmap,Pe.displacementmap,Pe.fog,{matcap:{value:null}}]),vertexShader:at.meshmatcap_vert,fragmentShader:at.meshmatcap_frag},points:{uniforms:Ri([Pe.points,Pe.fog]),vertexShader:at.points_vert,fragmentShader:at.points_frag},dashed:{uniforms:Ri([Pe.common,Pe.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:at.linedashed_vert,fragmentShader:at.linedashed_frag},depth:{uniforms:Ri([Pe.common,Pe.displacementmap]),vertexShader:at.depth_vert,fragmentShader:at.depth_frag},normal:{uniforms:Ri([Pe.common,Pe.bumpmap,Pe.normalmap,Pe.displacementmap,{opacity:{value:1}}]),vertexShader:at.meshnormal_vert,fragmentShader:at.meshnormal_frag},sprite:{uniforms:Ri([Pe.sprite,Pe.fog]),vertexShader:at.sprite_vert,fragmentShader:at.sprite_frag},background:{uniforms:{uvTransform:{value:new gt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:at.background_vert,fragmentShader:at.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new gt}},vertexShader:at.backgroundCube_vert,fragmentShader:at.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:at.cube_vert,fragmentShader:at.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:at.equirect_vert,fragmentShader:at.equirect_frag},distanceRGBA:{uniforms:Ri([Pe.common,Pe.displacementmap,{referencePosition:{value:new D},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:at.distanceRGBA_vert,fragmentShader:at.distanceRGBA_frag},shadow:{uniforms:Ri([Pe.lights,Pe.fog,{color:{value:new Te(0)},opacity:{value:1}}]),vertexShader:at.shadow_vert,fragmentShader:at.shadow_frag}};es.physical={uniforms:Ri([es.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new gt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new gt},clearcoatNormalScale:{value:new le(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new gt},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new gt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new gt},sheen:{value:0},sheenColor:{value:new Te(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new gt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new gt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new gt},transmissionSamplerSize:{value:new le},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new gt},attenuationDistance:{value:0},attenuationColor:{value:new Te(0)},specularColor:{value:new Te(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new gt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new gt},anisotropyVector:{value:new le},anisotropyMap:{value:null},anisotropyMapTransform:{value:new gt}}]),vertexShader:at.meshphysical_vert,fragmentShader:at.meshphysical_frag};const Lp={r:0,b:0,g:0},Ra=new Bi,xk=new Ne;function Ak(n,e,t,i,r,s,o){const a=new Te(0);let l=s===!0?0:1,u,f,d=null,p=0,m=null;function _(x){let M=x.isScene===!0?x.background:null;return M&&M.isTexture&&(M=(x.backgroundBlurriness>0?t:e).get(M)),M}function S(x){let M=!1;const E=_(x);E===null?g(a,l):E&&E.isColor&&(g(E,1),M=!0);const P=n.xr.getEnvironmentBlendMode();P==="additive"?i.buffers.color.setClear(0,0,0,1,o):P==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||M)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil)}function y(x,M){const E=_(M);E&&(E.isCubeTexture||E.mapping===gu)?(f===void 0&&(f=new Kt(new po(1,1,1),new hr({name:"BackgroundCubeMaterial",uniforms:lu(es.backgroundCube.uniforms),vertexShader:es.backgroundCube.vertexShader,fragmentShader:es.backgroundCube.fragmentShader,side:Ai,depthTest:!1,depthWrite:!1,fog:!1})),f.geometry.deleteAttribute("normal"),f.geometry.deleteAttribute("uv"),f.onBeforeRender=function(P,C,b){this.matrixWorld.copyPosition(b.matrixWorld)},Object.defineProperty(f.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(f)),Ra.copy(M.backgroundRotation),Ra.x*=-1,Ra.y*=-1,Ra.z*=-1,E.isCubeTexture&&E.isRenderTargetTexture===!1&&(Ra.y*=-1,Ra.z*=-1),f.material.uniforms.envMap.value=E,f.material.uniforms.flipEnvMap.value=E.isCubeTexture&&E.isRenderTargetTexture===!1?-1:1,f.material.uniforms.backgroundBlurriness.value=M.backgroundBlurriness,f.material.uniforms.backgroundIntensity.value=M.backgroundIntensity,f.material.uniforms.backgroundRotation.value.setFromMatrix4(xk.makeRotationFromEuler(Ra)),f.material.toneMapped=Vt.getTransfer(E.colorSpace)!==Zt,(d!==E||p!==E.version||m!==n.toneMapping)&&(f.material.needsUpdate=!0,d=E,p=E.version,m=n.toneMapping),f.layers.enableAll(),x.unshift(f,f.geometry,f.material,0,0,null)):E&&E.isTexture&&(u===void 0&&(u=new Kt(new Al(2,2),new hr({name:"BackgroundMaterial",uniforms:lu(es.background.uniforms),vertexShader:es.background.vertexShader,fragmentShader:es.background.fragmentShader,side:rs,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=E,u.material.uniforms.backgroundIntensity.value=M.backgroundIntensity,u.material.toneMapped=Vt.getTransfer(E.colorSpace)!==Zt,E.matrixAutoUpdate===!0&&E.updateMatrix(),u.material.uniforms.uvTransform.value.copy(E.matrix),(d!==E||p!==E.version||m!==n.toneMapping)&&(u.material.needsUpdate=!0,d=E,p=E.version,m=n.toneMapping),u.layers.enableAll(),x.unshift(u,u.geometry,u.material,0,0,null))}function g(x,M){x.getRGB(Lp,zI(n)),i.buffers.color.setClear(Lp.r,Lp.g,Lp.b,M,o)}return{getClearColor:function(){return a},setClearColor:function(x,M=1){a.set(x),l=M,g(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(x){l=x,g(a,l)},render:S,addToRenderList:y}}function Sk(n,e){const t=n.getParameter(n.MAX_VERTEX_ATTRIBS),i={},r=p(null);let s=r,o=!1;function a(R,U,K,z,te){let ie=!1;const he=d(z,K,U);s!==he&&(s=he,u(s.object)),ie=m(R,z,K,te),ie&&_(R,z,K,te),te!==null&&e.update(te,n.ELEMENT_ARRAY_BUFFER),(ie||o)&&(o=!1,E(R,U,K,z),te!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,e.get(te).buffer))}function l(){return n.createVertexArray()}function u(R){return n.bindVertexArray(R)}function f(R){return n.deleteVertexArray(R)}function d(R,U,K){const z=K.wireframe===!0;let te=i[R.id];te===void 0&&(te={},i[R.id]=te);let ie=te[U.id];ie===void 0&&(ie={},te[U.id]=ie);let he=ie[z];return he===void 0&&(he=p(l()),ie[z]=he),he}function p(R){const U=[],K=[],z=[];for(let te=0;te=0){const H=te[F];let oe=ie[F];if(oe===void 0&&(F==="instanceMatrix"&&R.instanceMatrix&&(oe=R.instanceMatrix),F==="instanceColor"&&R.instanceColor&&(oe=R.instanceColor)),H===void 0||H.attribute!==oe||oe&&H.data!==oe.data)return!0;he++}return s.attributesNum!==he||s.index!==z}function _(R,U,K,z){const te={},ie=U.attributes;let he=0;const ve=K.getAttributes();for(const F in ve)if(ve[F].location>=0){let H=ie[F];H===void 0&&(F==="instanceMatrix"&&R.instanceMatrix&&(H=R.instanceMatrix),F==="instanceColor"&&R.instanceColor&&(H=R.instanceColor));const oe={};oe.attribute=H,H&&H.data&&(oe.data=H.data),te[F]=oe,he++}s.attributes=te,s.attributesNum=he,s.index=z}function S(){const R=s.newAttributes;for(let U=0,K=R.length;U=0){let W=te[ve];if(W===void 0&&(ve==="instanceMatrix"&&R.instanceMatrix&&(W=R.instanceMatrix),ve==="instanceColor"&&R.instanceColor&&(W=R.instanceColor)),W!==void 0){const H=W.normalized,oe=W.itemSize,Ee=e.get(W);if(Ee===void 0)continue;const Ve=Ee.buffer,ne=Ee.type,ye=Ee.bytesPerElement,Re=ne===n.INT||ne===n.UNSIGNED_INT||W.gpuType===hS;if(W.isInterleavedBufferAttribute){const Se=W.data,pt=Se.stride,_t=W.offset;if(Se.isInstancedInterleavedBuffer){for(let Y=0;Y0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";C="mediump"}return C==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let u=t.precision!==void 0?t.precision:"highp";const f=l(u);f!==u&&(console.warn("THREE.WebGLRenderer:",u,"not supported, using",f,"instead."),u=f);const d=t.logarithmicDepthBuffer===!0,p=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),m=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),_=n.getParameter(n.MAX_TEXTURE_SIZE),S=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),y=n.getParameter(n.MAX_VERTEX_ATTRIBS),g=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),x=n.getParameter(n.MAX_VARYING_VECTORS),M=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),E=m>0,P=n.getParameter(n.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:s,getMaxPrecision:l,textureFormatReadable:o,textureTypeReadable:a,precision:u,logarithmicDepthBuffer:d,maxTextures:p,maxVertexTextures:m,maxTextureSize:_,maxCubemapSize:S,maxAttributes:y,maxVertexUniforms:g,maxVaryings:x,maxFragmentUniforms:M,vertexTextures:E,maxSamples:P}}function wk(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new $r,a=new gt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(d,p){const m=d.length!==0||p||i!==0||r;return r=p,i=d.length,m},this.beginShadows=function(){s=!0,f(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(d,p){t=f(d,p,0)},this.setState=function(d,p,m){const _=d.clippingPlanes,S=d.clipIntersection,y=d.clipShadows,g=n.get(d);if(!r||_===null||_.length===0||s&&!y)s?f(null):u();else{const x=s?0:i,M=x*4;let E=g.clippingState||null;l.value=E,E=f(_,p,M,m);for(let P=0;P!==M;++P)E[P]=t[P];g.clippingState=E,this.numIntersection=S?this.numPlanes:0,this.numPlanes+=x}};function u(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function f(d,p,m,_){const S=d!==null?d.length:0;let y=null;if(S!==0){if(y=l.value,_!==!0||y===null){const g=m+S*4,x=p.matrixWorldInverse;a.getNormalMatrix(x),(y===null||y.length0){const u=new GI(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 Sl extends zf{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,f=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=u*this.view.offsetX,o=s+u*this.view.width,a-=f*this.view.offsetY,l=a-f*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 Uc=4,gw=[.125,.215,.35,.446,.526,.582],Xa=20,__=new Sl,vw=new Te;let y_=null,x_=0,A_=0,S_=!1;const Wa=(1+Math.sqrt(5))/2,ac=1/Wa,_w=[new D(-Wa,ac,0),new D(Wa,ac,0),new D(-ac,0,Wa),new D(ac,0,Wa),new D(0,Wa,-ac),new D(0,Wa,ac),new D(-1,1,-1),new D(1,1,-1),new D(-1,1,1),new D(1,1,1)];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){y_=this._renderer.getRenderTarget(),x_=this._renderer.getActiveCubeFace(),A_=this._renderer.getActiveMipmapLevel(),S_=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=Aw(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=xw(),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?M:0,M,M),f.setRenderTarget(r),S&&f.render(_,a),f.render(e,a)}_.geometry.dispose(),_.material.dispose(),f.toneMapping=p,f.autoClear=d,e.background=y}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===oo||e.mapping===sa;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=Aw()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=xw());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new Kt(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;Dp(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,__)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;const r=this._lodPlanes.length;for(let s=1;sXa&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${y} samples when the maximum is set to ${Xa}`);const g=[];let x=0;for(let b=0;bM-Uc?r-M+Uc:0),C=4*(this._cubeSize-E);Dp(t,P,C,3*E,2*E),l.setRenderTarget(t),l.render(d,__)}}function Ck(n){const e=[],t=[],i=[];let r=n;const s=n-Uc+1+gw.length;for(let o=0;on-Uc?l=gw[o-n+Uc-1]:o===0&&(l=0),i.push(l);const u=1/(a-2),f=-u,d=1+u,p=[f,f,d,f,d,d,f,f,d,d,f,d],m=6,_=6,S=3,y=2,g=1,x=new Float32Array(S*_*m),M=new Float32Array(y*_*m),E=new Float32Array(g*_*m);for(let C=0;C2?0:-1,I=[b,L,0,b+2/3,L,0,b+2/3,L+1,0,b,L,0,b+2/3,L+1,0,b,L+1,0];x.set(I,S*_*C),M.set(p,y*_*C);const R=[C,C,C,C,C,C];E.set(R,g*_*C)}const P=new ot;P.setAttribute("position",new st(x,S)),P.setAttribute("uv",new st(M,y)),P.setAttribute("faceIndex",new st(E,g)),e.push(P),r>Uc&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function yw(n,e,t){const i=new os(n,e,t);return i.texture.mapping=gu,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function Dp(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function Rk(n,e,t){const i=new Float32Array(Xa),r=new D(0,1,0);return new hr({name:"SphericalGaussianBlur",defines:{n:Xa,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:TS(),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:eo,depthTest:!1,depthWrite:!1})}function xw(){return new hr({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:TS(),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:eo,depthTest:!1,depthWrite:!1})}function Aw(){return new hr({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:TS(),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:eo,depthTest:!1,depthWrite:!1})}function TS(){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 bk(n){let e=new WeakMap,t=null;function i(a){if(a&&a.isTexture){const l=a.mapping,u=l===mf||l===gf,f=l===oo||l===sa;if(u||f){let d=e.get(a);const p=d!==void 0?d.texture.pmremVersion:0;if(a.isRenderTargetTexture&&a.pmremVersion!==p)return t===null&&(t=new Qx(n)),d=u?t.fromEquirectangular(a,d):t.fromCubemap(a,d),d.texture.pmremVersion=a.pmremVersion,e.set(a,d),d.texture;if(d!==void 0)return d.texture;{const m=a.image;return u&&m&&m.height>0||f&&m&&r(m)?(t===null&&(t=new Qx(n)),d=u?t.fromEquirectangular(a):t.fromCubemap(a),d.texture.pmremVersion=a.pmremVersion,e.set(a,d),a.addEventListener("dispose",s),d.texture):null}}}return a}function r(a){let l=0;const u=6;for(let f=0;fe.maxTextureSize&&(C=Math.ceil(P/e.maxTextureSize),P=e.maxTextureSize);const b=new Float32Array(P*C*4*d),L=new Wg(b,P,C,d);L.type=Br,L.needsUpdate=!0;const I=E*4;for(let U=0;U0)return n;const r=e*t;let s=Sw[r];if(s===void 0&&(s=new Float32Array(r),Sw[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 Hn(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t":" "} ${a}: ${t[o]}`)}return i.join(` +`)}function bz(n){const e=Vt.getPrimaries(Vt.workingColorSpace),t=Vt.getPrimaries(n);let i;switch(e===t?i="":e===xf&&t===yf?i="LinearDisplayP3ToLinearSRGB":e===yf&&t===xf&&(i="LinearSRGBToLinearDisplayP3"),n){case $n:case Uf:return[i,"LinearTransferOETF"];case ii:case Vg:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function bw(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+` + +`+Rz(n.getShaderSource(e),o)}else return r}function Pz(n,e){const t=bz(e);return`vec4 ${n}( vec4 value ) { return ${t[0]}( ${t[1]}( value ) ); }`}function Iz(n,e){let t;switch(e){case sI:t="Linear";break;case oI:t="Reinhard";break;case aI:t="OptimizedCineon";break;case cS:t="ACESFilmic";break;case cI:t="AgX";break;case uI:t="Neutral";break;case lI:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function Bz(n){return[n.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",n.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(Dh).join(` +`)}function Lz(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(` +`)}function Dz(n,e){const t={},i=n.getProgramParameter(e,n.ACTIVE_ATTRIBUTES);for(let r=0;r/gm;function Zx(n){return n.replace(Oz,Nz)}const Fz=new Map;function Nz(n,e){let t=at[e];if(t===void 0){const i=Fz.get(e);if(i!==void 0)t=at[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 Zx(t)}const Uz=/#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 Bw(n){return n.replace(Uz,kz)}function kz(n,e,t,i){let r="";for(let s=parseInt(e);s0&&(y+=` +`),g=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,_].filter(Dh).join(` +`),g.length>0&&(g+=` +`)):(y=[Lw(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,_,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 "+f:"",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?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," 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(Dh).join(` +`),g=[Lw(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,_,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 "+f:"",t.envMap?"#define "+d:"",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.dispersion?"#define USE_DISPERSION":"",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":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==Es?"#define TONE_MAPPING":"",t.toneMapping!==Es?at.tonemapping_pars_fragment:"",t.toneMapping!==Es?Iz("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",at.colorspace_pars_fragment,Pz("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` +`].filter(Dh).join(` +`)),o=Zx(o),o=Pw(o,t),o=Iw(o,t),a=Zx(a),a=Pw(a,t),a=Iw(a,t),o=Bw(o),a=Bw(a),t.isRawShaderMaterial!==!0&&(x=`#version 300 es +`,y=[m,"#define attribute in","#define varying out","#define texture2D texture"].join(` +`)+` +`+y,g=["#define varying in",t.glslVersion===Yx?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===Yx?"":"#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(` +`)+` +`+g);const M=x+y+o,E=x+g+a,P=Rw(r,r.VERTEX_SHADER,M),C=Rw(r,r.FRAGMENT_SHADER,E);r.attachShader(S,P),r.attachShader(S,C),t.index0AttributeName!==void 0?r.bindAttribLocation(S,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(S,0,"position"),r.linkProgram(S);function b(U){if(n.debug.checkShaderErrors){const K=r.getProgramInfoLog(S).trim(),z=r.getShaderInfoLog(P).trim(),te=r.getShaderInfoLog(C).trim();let ie=!0,he=!0;if(r.getProgramParameter(S,r.LINK_STATUS)===!1)if(ie=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,S,P,C);else{const ve=bw(r,P,"vertex"),F=bw(r,C,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(S,r.VALIDATE_STATUS)+` + +Material Name: `+U.name+` +Material Type: `+U.type+` + +Program Info Log: `+K+` +`+ve+` +`+F)}else K!==""?console.warn("THREE.WebGLProgram: Program Info Log:",K):(z===""||te==="")&&(he=!1);he&&(U.diagnostics={runnable:ie,programLog:K,vertexShader:{log:z,prefix:y},fragmentShader:{log:te,prefix:g}})}r.deleteShader(P),r.deleteShader(C),L=new Um(r,S),I=Dz(r,S)}let L;this.getUniforms=function(){return L===void 0&&b(this),L};let I;this.getAttributes=function(){return I===void 0&&b(this),I};let R=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return R===!1&&(R=r.getProgramParameter(S,Tz)),R},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(S),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=Cz++,this.cacheKey=e,this.usedTimes=1,this.program=S,this.vertexShader=P,this.fragmentShader=C,this}let jz=0;class Jz{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 Kz(e),t.set(e,i)),i}}class Kz{constructor(e){this.id=jz++,this.code=e,this.usedTimes=0}}function Yz(n,e,t,i,r,s,o){const a=new al,l=new Jz,u=new Set,f=[],d=r.logarithmicDepthBuffer,p=r.vertexTextures;let m=r.precision;const _={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function S(I){return u.add(I),I===0?"uv":`uv${I}`}function y(I,R,U,K,z){const te=K.fog,ie=z.geometry,he=I.isMeshStandardMaterial?K.environment:null,ve=(I.isMeshStandardMaterial?t:e).get(I.envMap||he),F=ve&&ve.mapping===gu?ve.image.height:null,W=_[I.type];I.precision!==null&&(m=r.getMaxPrecision(I.precision),m!==I.precision&&console.warn("THREE.WebGLProgram.getParameters:",I.precision,"not supported, using",m,"instead."));const H=ie.morphAttributes.position||ie.morphAttributes.normal||ie.morphAttributes.color,oe=H!==void 0?H.length:0;let Ee=0;ie.morphAttributes.position!==void 0&&(Ee=1),ie.morphAttributes.normal!==void 0&&(Ee=2),ie.morphAttributes.color!==void 0&&(Ee=3);let Ve,ne,ye,Re;if(W){const Ot=es[W];Ve=Ot.vertexShader,ne=Ot.fragmentShader}else Ve=I.vertexShader,ne=I.fragmentShader,l.update(I),ye=l.getVertexShaderID(I),Re=l.getFragmentShaderID(I);const Se=n.getRenderTarget(),pt=z.isInstancedMesh===!0,_t=z.isBatchedMesh===!0,Y=!!I.map,it=!!I.matcap,ce=!!ve,ge=!!I.aoMap,pe=!!I.lightMap,be=!!I.bumpMap,Ae=!!I.normalMap,ke=!!I.displacementMap,Ze=!!I.emissiveMap,k=!!I.metalnessMap,B=!!I.roughnessMap,q=I.anisotropy>0,de=I.clearcoat>0,xe=I.dispersion>0,me=I.iridescence>0,Qe=I.sheen>0,Be=I.transmission>0,Ie=q&&!!I.anisotropyMap,ht=de&&!!I.clearcoatMap,Ce=de&&!!I.clearcoatNormalMap,Ke=de&&!!I.clearcoatRoughnessMap,wt=me&&!!I.iridescenceMap,tt=me&&!!I.iridescenceThicknessMap,He=Qe&&!!I.sheenColorMap,yt=Qe&&!!I.sheenRoughnessMap,Tt=!!I.specularMap,cn=!!I.specularColorMap,mt=!!I.specularIntensityMap,X=Be&&!!I.transmissionMap,_e=Be&&!!I.thicknessMap,fe=!!I.gradientMap,Le=!!I.alphaMap,Ue=I.alphaTest>0,Bt=!!I.alphaHash,jt=!!I.extensions;let en=Es;I.toneMapped&&(Se===null||Se.isXRRenderTarget===!0)&&(en=n.toneMapping);const Wn={shaderID:W,shaderType:I.type,shaderName:I.name,vertexShader:Ve,fragmentShader:ne,defines:I.defines,customVertexShaderID:ye,customFragmentShaderID:Re,isRawShaderMaterial:I.isRawShaderMaterial===!0,glslVersion:I.glslVersion,precision:m,batching:_t,instancing:pt,instancingColor:pt&&z.instanceColor!==null,instancingMorph:pt&&z.morphTexture!==null,supportsVertexTextures:p,outputColorSpace:Se===null?n.outputColorSpace:Se.isXRRenderTarget===!0?Se.texture.colorSpace:$n,alphaToCoverage:!!I.alphaToCoverage,map:Y,matcap:it,envMap:ce,envMapMode:ce&&ve.mapping,envMapCubeUVHeight:F,aoMap:ge,lightMap:pe,bumpMap:be,normalMap:Ae,displacementMap:p&&ke,emissiveMap:Ze,normalMapObjectSpace:Ae&&I.normalMapType===TI,normalMapTangentSpace:Ae&&I.normalMapType===ua,metalnessMap:k,roughnessMap:B,anisotropy:q,anisotropyMap:Ie,clearcoat:de,clearcoatMap:ht,clearcoatNormalMap:Ce,clearcoatRoughnessMap:Ke,dispersion:xe,iridescence:me,iridescenceMap:wt,iridescenceThicknessMap:tt,sheen:Qe,sheenColorMap:He,sheenRoughnessMap:yt,specularMap:Tt,specularColorMap:cn,specularIntensityMap:mt,transmission:Be,transmissionMap:X,thicknessMap:_e,gradientMap:fe,opaque:I.transparent===!1&&I.blending===il&&I.alphaToCoverage===!1,alphaMap:Le,alphaTest:Ue,alphaHash:Bt,combine:I.combine,mapUv:Y&&S(I.map.channel),aoMapUv:ge&&S(I.aoMap.channel),lightMapUv:pe&&S(I.lightMap.channel),bumpMapUv:be&&S(I.bumpMap.channel),normalMapUv:Ae&&S(I.normalMap.channel),displacementMapUv:ke&&S(I.displacementMap.channel),emissiveMapUv:Ze&&S(I.emissiveMap.channel),metalnessMapUv:k&&S(I.metalnessMap.channel),roughnessMapUv:B&&S(I.roughnessMap.channel),anisotropyMapUv:Ie&&S(I.anisotropyMap.channel),clearcoatMapUv:ht&&S(I.clearcoatMap.channel),clearcoatNormalMapUv:Ce&&S(I.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Ke&&S(I.clearcoatRoughnessMap.channel),iridescenceMapUv:wt&&S(I.iridescenceMap.channel),iridescenceThicknessMapUv:tt&&S(I.iridescenceThicknessMap.channel),sheenColorMapUv:He&&S(I.sheenColorMap.channel),sheenRoughnessMapUv:yt&&S(I.sheenRoughnessMap.channel),specularMapUv:Tt&&S(I.specularMap.channel),specularColorMapUv:cn&&S(I.specularColorMap.channel),specularIntensityMapUv:mt&&S(I.specularIntensityMap.channel),transmissionMapUv:X&&S(I.transmissionMap.channel),thicknessMapUv:_e&&S(I.thicknessMap.channel),alphaMapUv:Le&&S(I.alphaMap.channel),vertexTangents:!!ie.attributes.tangent&&(Ae||q),vertexColors:I.vertexColors,vertexAlphas:I.vertexColors===!0&&!!ie.attributes.color&&ie.attributes.color.itemSize===4,pointsUvs:z.isPoints===!0&&!!ie.attributes.uv&&(Y||Le),fog:!!te,useFog:I.fog===!0,fogExp2:!!te&&te.isFogExp2,flatShading:I.flatShading===!0,sizeAttenuation:I.sizeAttenuation===!0,logarithmicDepthBuffer:d,skinning:z.isSkinnedMesh===!0,morphTargets:ie.morphAttributes.position!==void 0,morphNormals:ie.morphAttributes.normal!==void 0,morphColors:ie.morphAttributes.color!==void 0,morphTargetsCount:oe,morphTextureStride:Ee,numDirLights:R.directional.length,numPointLights:R.point.length,numSpotLights:R.spot.length,numSpotLightMaps:R.spotLightMap.length,numRectAreaLights:R.rectArea.length,numHemiLights:R.hemi.length,numDirLightShadows:R.directionalShadowMap.length,numPointLightShadows:R.pointShadowMap.length,numSpotLightShadows:R.spotShadowMap.length,numSpotLightShadowsWithMaps:R.numSpotLightShadowsWithMaps,numLightProbes:R.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:I.dithering,shadowMapEnabled:n.shadowMap.enabled&&U.length>0,shadowMapType:n.shadowMap.type,toneMapping:en,useLegacyLights:n._useLegacyLights,decodeVideoTexture:Y&&I.map.isVideoTexture===!0&&Vt.getTransfer(I.map.colorSpace)===Zt,premultipliedAlpha:I.premultipliedAlpha,doubleSided:I.side===Pr,flipSided:I.side===Ai,useDepthPacking:I.depthPacking>=0,depthPacking:I.depthPacking||0,index0AttributeName:I.index0AttributeName,extensionClipCullDistance:jt&&I.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:jt&&I.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:I.customProgramCacheKey()};return Wn.vertexUv1s=u.has(1),Wn.vertexUv2s=u.has(2),Wn.vertexUv3s=u.has(3),u.clear(),Wn}function g(I){const R=[];if(I.shaderID?R.push(I.shaderID):(R.push(I.customVertexShaderID),R.push(I.customFragmentShaderID)),I.defines!==void 0)for(const U in I.defines)R.push(U),R.push(I.defines[U]);return I.isRawShaderMaterial===!1&&(x(R,I),M(R,I),R.push(n.outputColorSpace)),R.push(I.customProgramCacheKey),R.join()}function x(I,R){I.push(R.precision),I.push(R.outputColorSpace),I.push(R.envMapMode),I.push(R.envMapCubeUVHeight),I.push(R.mapUv),I.push(R.alphaMapUv),I.push(R.lightMapUv),I.push(R.aoMapUv),I.push(R.bumpMapUv),I.push(R.normalMapUv),I.push(R.displacementMapUv),I.push(R.emissiveMapUv),I.push(R.metalnessMapUv),I.push(R.roughnessMapUv),I.push(R.anisotropyMapUv),I.push(R.clearcoatMapUv),I.push(R.clearcoatNormalMapUv),I.push(R.clearcoatRoughnessMapUv),I.push(R.iridescenceMapUv),I.push(R.iridescenceThicknessMapUv),I.push(R.sheenColorMapUv),I.push(R.sheenRoughnessMapUv),I.push(R.specularMapUv),I.push(R.specularColorMapUv),I.push(R.specularIntensityMapUv),I.push(R.transmissionMapUv),I.push(R.thicknessMapUv),I.push(R.combine),I.push(R.fogExp2),I.push(R.sizeAttenuation),I.push(R.morphTargetsCount),I.push(R.morphAttributeCount),I.push(R.numDirLights),I.push(R.numPointLights),I.push(R.numSpotLights),I.push(R.numSpotLightMaps),I.push(R.numHemiLights),I.push(R.numRectAreaLights),I.push(R.numDirLightShadows),I.push(R.numPointLightShadows),I.push(R.numSpotLightShadows),I.push(R.numSpotLightShadowsWithMaps),I.push(R.numLightProbes),I.push(R.shadowMapType),I.push(R.toneMapping),I.push(R.numClippingPlanes),I.push(R.numClipIntersection),I.push(R.depthPacking)}function M(I,R){a.disableAll(),R.supportsVertexTextures&&a.enable(0),R.instancing&&a.enable(1),R.instancingColor&&a.enable(2),R.instancingMorph&&a.enable(3),R.matcap&&a.enable(4),R.envMap&&a.enable(5),R.normalMapObjectSpace&&a.enable(6),R.normalMapTangentSpace&&a.enable(7),R.clearcoat&&a.enable(8),R.iridescence&&a.enable(9),R.alphaTest&&a.enable(10),R.vertexColors&&a.enable(11),R.vertexAlphas&&a.enable(12),R.vertexUv1s&&a.enable(13),R.vertexUv2s&&a.enable(14),R.vertexUv3s&&a.enable(15),R.vertexTangents&&a.enable(16),R.anisotropy&&a.enable(17),R.alphaHash&&a.enable(18),R.batching&&a.enable(19),R.dispersion&&a.enable(20),I.push(a.mask),a.disableAll(),R.fog&&a.enable(0),R.useFog&&a.enable(1),R.flatShading&&a.enable(2),R.logarithmicDepthBuffer&&a.enable(3),R.skinning&&a.enable(4),R.morphTargets&&a.enable(5),R.morphNormals&&a.enable(6),R.morphColors&&a.enable(7),R.premultipliedAlpha&&a.enable(8),R.shadowMapEnabled&&a.enable(9),R.useLegacyLights&&a.enable(10),R.doubleSided&&a.enable(11),R.flipSided&&a.enable(12),R.useDepthPacking&&a.enable(13),R.dithering&&a.enable(14),R.transmission&&a.enable(15),R.sheen&&a.enable(16),R.opaque&&a.enable(17),R.pointsUvs&&a.enable(18),R.decodeVideoTexture&&a.enable(19),R.alphaToCoverage&&a.enable(20),I.push(a.mask)}function E(I){const R=_[I.type];let U;if(R){const K=es[R];U=wS.clone(K.uniforms)}else U=I.uniforms;return U}function P(I,R){let U;for(let K=0,z=f.length;K0?i.push(g):m.transparent===!0?r.push(g):t.push(g)}function l(d,p,m,_,S,y){const g=o(d,p,m,_,S,y);m.transmission>0?i.unshift(g):m.transparent===!0?r.unshift(g):t.unshift(g)}function u(d,p){t.length>1&&t.sort(d||Zz),i.length>1&&i.sort(p||Dw),r.length>1&&r.sort(p||Dw)}function f(){for(let d=e,p=n.length;d=s.length?(o=new Ow,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function $z(){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 D,color:new Te};break;case"SpotLight":t={position:new D,direction:new D,color:new Te,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new D,color:new Te,distance:0,decay:0};break;case"HemisphereLight":t={direction:new D,skyColor:new Te,groundColor:new Te};break;case"RectAreaLight":t={color:new Te,position:new D,halfWidth:new D,halfHeight:new D};break}return n[e.id]=t,t}}}function eH(){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 le};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new le};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new le,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let tH=0;function nH(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function iH(n){const e=new $z,t=eH(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let u=0;u<9;u++)i.probe.push(new D);const r=new D,s=new Ne,o=new Ne;function a(u,f){let d=0,p=0,m=0;for(let U=0;U<9;U++)i.probe[U].set(0,0,0);let _=0,S=0,y=0,g=0,x=0,M=0,E=0,P=0,C=0,b=0,L=0;u.sort(nH);const I=f===!0?Math.PI:1;for(let U=0,K=u.length;U0&&(n.has("OES_texture_float_linear")===!0?(i.rectAreaLTC1=Pe.LTC_FLOAT_1,i.rectAreaLTC2=Pe.LTC_FLOAT_2):(i.rectAreaLTC1=Pe.LTC_HALF_1,i.rectAreaLTC2=Pe.LTC_HALF_2)),i.ambient[0]=d,i.ambient[1]=p,i.ambient[2]=m;const R=i.hash;(R.directionalLength!==_||R.pointLength!==S||R.spotLength!==y||R.rectAreaLength!==g||R.hemiLength!==x||R.numDirectionalShadows!==M||R.numPointShadows!==E||R.numSpotShadows!==P||R.numSpotMaps!==C||R.numLightProbes!==L)&&(i.directional.length=_,i.spot.length=y,i.rectArea.length=g,i.point.length=S,i.hemi.length=x,i.directionalShadow.length=M,i.directionalShadowMap.length=M,i.pointShadow.length=E,i.pointShadowMap.length=E,i.spotShadow.length=P,i.spotShadowMap.length=P,i.directionalShadowMatrix.length=M,i.pointShadowMatrix.length=E,i.spotLightMatrix.length=P+C-b,i.spotLightMap.length=C,i.numSpotLightShadowsWithMaps=b,i.numLightProbes=L,R.directionalLength=_,R.pointLength=S,R.spotLength=y,R.rectAreaLength=g,R.hemiLength=x,R.numDirectionalShadows=M,R.numPointShadows=E,R.numSpotShadows=P,R.numSpotMaps=C,R.numLightProbes=L,i.version=tH++)}function l(u,f){let d=0,p=0,m=0,_=0,S=0;const y=f.matrixWorldInverse;for(let g=0,x=u.length;g=o.length?(a=new Fw(n),o.push(a)):a=o[s],a}function i(){e=new WeakMap}return{get:t,dispose:i}}class RS extends rn{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=EI,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 bS extends rn{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 sH=`void main() { + gl_Position = vec4( position, 1.0 ); +}`,oH=`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 aH(n,e,t){let i=new Gf;const r=new le,s=new le,o=new Lt,a=new RS({depthPacking:wI}),l=new bS,u={},f=t.maxTextureSize,d={[rs]:Ai,[Ai]:rs,[Pr]:Pr},p=new hr({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new le},radius:{value:4}},vertexShader:sH,fragmentShader:oH}),m=p.clone();m.defines.HORIZONTAL_PASS=1;const _=new ot;_.setAttribute("position",new st(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const S=new Kt(_,p),y=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=zg;let g=this.type;this.render=function(C,b,L){if(y.enabled===!1||y.autoUpdate===!1&&y.needsUpdate===!1||C.length===0)return;const I=n.getRenderTarget(),R=n.getActiveCubeFace(),U=n.getActiveMipmapLevel(),K=n.state;K.setBlending(eo),K.buffers.color.setClear(1,1,1,1),K.buffers.depth.setTest(!0),K.setScissorTest(!1);const z=g!==Qr&&this.type===Qr,te=g===Qr&&this.type!==Qr;for(let ie=0,he=C.length;ief||r.y>f)&&(r.x>f&&(s.x=Math.floor(f/W.x),r.x=s.x*W.x,F.mapSize.x=s.x),r.y>f&&(s.y=Math.floor(f/W.y),r.y=s.y*W.y,F.mapSize.y=s.y)),F.map===null||z===!0||te===!0){const oe=this.type!==Qr?{minFilter:Dn,magFilter:Dn}:{};F.map!==null&&F.map.dispose(),F.map=new os(r.x,r.y,oe),F.map.texture.name=ve.name+".shadowMap",F.camera.updateProjectionMatrix()}n.setRenderTarget(F.map),n.clear();const H=F.getViewportCount();for(let oe=0;oe0||b.map&&b.alphaTest>0){const K=R.uuid,z=b.uuid;let te=u[K];te===void 0&&(te={},u[K]=te);let ie=te[z];ie===void 0&&(ie=R.clone(),te[z]=ie,b.addEventListener("dispose",P)),R=ie}if(R.visible=b.visible,R.wireframe=b.wireframe,I===Qr?R.side=b.shadowSide!==null?b.shadowSide:b.side:R.side=b.shadowSide!==null?b.shadowSide:d[b.side],R.alphaMap=b.alphaMap,R.alphaTest=b.alphaTest,R.map=b.map,R.clipShadows=b.clipShadows,R.clippingPlanes=b.clippingPlanes,R.clipIntersection=b.clipIntersection,R.displacementMap=b.displacementMap,R.displacementScale=b.displacementScale,R.displacementBias=b.displacementBias,R.wireframeLinewidth=b.wireframeLinewidth,R.linewidth=b.linewidth,L.isPointLight===!0&&R.isMeshDistanceMaterial===!0){const K=n.properties.get(R);K.light=L}return R}function E(C,b,L,I,R){if(C.visible===!1)return;if(C.layers.test(b.layers)&&(C.isMesh||C.isLine||C.isPoints)&&(C.castShadow||C.receiveShadow&&R===Qr)&&(!C.frustumCulled||i.intersectsObject(C))){C.modelViewMatrix.multiplyMatrices(L.matrixWorldInverse,C.matrixWorld);const z=e.update(C),te=C.material;if(Array.isArray(te)){const ie=z.groups;for(let he=0,ve=ie.length;he=1):ve.indexOf("OpenGL ES")!==-1&&(he=parseFloat(/^OpenGL ES (\d)/.exec(ve)[1]),ie=he>=2);let F=null,W={};const H=n.getParameter(n.SCISSOR_BOX),oe=n.getParameter(n.VIEWPORT),Ee=new Lt().fromArray(H),Ve=new Lt().fromArray(oe);function ne(X,_e,fe,Le){const Ue=new Uint8Array(4),Bt=n.createTexture();n.bindTexture(X,Bt),n.texParameteri(X,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(X,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let jt=0;jt"u"?!1:/OculusBrowser/g.test(navigator.userAgent),u=new le,f=new WeakMap;let d;const p=new WeakMap;let m=!1;try{m=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function _(k,B){return m?new OffscreenCanvas(k,B):Mf("canvas")}function S(k,B,q){let de=1;const xe=Ze(k);if((xe.width>q||xe.height>q)&&(de=q/Math.max(xe.width,xe.height)),de<1)if(typeof HTMLImageElement<"u"&&k instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&k instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&k instanceof ImageBitmap||typeof VideoFrame<"u"&&k instanceof VideoFrame){const me=Math.floor(de*xe.width),Qe=Math.floor(de*xe.height);d===void 0&&(d=_(me,Qe));const Be=B?_(me,Qe):d;return Be.width=me,Be.height=Qe,Be.getContext("2d").drawImage(k,0,0,me,Qe),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+xe.width+"x"+xe.height+") to ("+me+"x"+Qe+")."),Be}else return"data"in k&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+xe.width+"x"+xe.height+")."),k;return k}function y(k){return k.generateMipmaps&&k.minFilter!==Dn&&k.minFilter!==ln}function g(k){n.generateMipmap(k)}function x(k,B,q,de,xe=!1){if(k!==null){if(n[k]!==void 0)return n[k];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+k+"'")}let me=B;if(B===n.RED&&(q===n.FLOAT&&(me=n.R32F),q===n.HALF_FLOAT&&(me=n.R16F),q===n.UNSIGNED_BYTE&&(me=n.R8)),B===n.RED_INTEGER&&(q===n.UNSIGNED_BYTE&&(me=n.R8UI),q===n.UNSIGNED_SHORT&&(me=n.R16UI),q===n.UNSIGNED_INT&&(me=n.R32UI),q===n.BYTE&&(me=n.R8I),q===n.SHORT&&(me=n.R16I),q===n.INT&&(me=n.R32I)),B===n.RG&&(q===n.FLOAT&&(me=n.RG32F),q===n.HALF_FLOAT&&(me=n.RG16F),q===n.UNSIGNED_BYTE&&(me=n.RG8)),B===n.RG_INTEGER&&(q===n.UNSIGNED_BYTE&&(me=n.RG8UI),q===n.UNSIGNED_SHORT&&(me=n.RG16UI),q===n.UNSIGNED_INT&&(me=n.RG32UI),q===n.BYTE&&(me=n.RG8I),q===n.SHORT&&(me=n.RG16I),q===n.INT&&(me=n.RG32I)),B===n.RGB&&q===n.UNSIGNED_INT_5_9_9_9_REV&&(me=n.RGB9_E5),B===n.RGBA){const Qe=xe?_f:Vt.getTransfer(de);q===n.FLOAT&&(me=n.RGBA32F),q===n.HALF_FLOAT&&(me=n.RGBA16F),q===n.UNSIGNED_BYTE&&(me=Qe===Zt?n.SRGB8_ALPHA8:n.RGBA8),q===n.UNSIGNED_SHORT_4_4_4_4&&(me=n.RGBA4),q===n.UNSIGNED_SHORT_5_5_5_1&&(me=n.RGB5_A1)}return(me===n.R16F||me===n.R32F||me===n.RG16F||me===n.RG32F||me===n.RGBA16F||me===n.RGBA32F)&&e.get("EXT_color_buffer_float"),me}function M(k,B){return y(k)===!0||k.isFramebufferTexture&&k.minFilter!==Dn&&k.minFilter!==ln?Math.log2(Math.max(B.width,B.height))+1:k.mipmaps!==void 0&&k.mipmaps.length>0?k.mipmaps.length:k.isCompressedTexture&&Array.isArray(k.image)?B.mipmaps.length:1}function E(k){const B=k.target;B.removeEventListener("dispose",E),C(B),B.isVideoTexture&&f.delete(B)}function P(k){const B=k.target;B.removeEventListener("dispose",P),L(B)}function C(k){const B=i.get(k);if(B.__webglInit===void 0)return;const q=k.source,de=p.get(q);if(de){const xe=de[B.__cacheKey];xe.usedTimes--,xe.usedTimes===0&&b(k),Object.keys(de).length===0&&p.delete(q)}i.remove(k)}function b(k){const B=i.get(k);n.deleteTexture(B.__webglTexture);const q=k.source,de=p.get(q);delete de[B.__cacheKey],o.memory.textures--}function L(k){const B=i.get(k);if(k.depthTexture&&k.depthTexture.dispose(),k.isWebGLCubeRenderTarget)for(let de=0;de<6;de++){if(Array.isArray(B.__webglFramebuffer[de]))for(let xe=0;xe=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+k+" texture units while this GPU supports only "+r.maxTextures),I+=1,k}function K(k){const B=[];return B.push(k.wrapS),B.push(k.wrapT),B.push(k.wrapR||0),B.push(k.magFilter),B.push(k.minFilter),B.push(k.anisotropy),B.push(k.internalFormat),B.push(k.format),B.push(k.type),B.push(k.generateMipmaps),B.push(k.premultiplyAlpha),B.push(k.flipY),B.push(k.unpackAlignment),B.push(k.colorSpace),B.join()}function z(k,B){const q=i.get(k);if(k.isVideoTexture&&Ae(k),k.isRenderTargetTexture===!1&&k.version>0&&q.__version!==k.version){const de=k.image;if(de===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(de.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{Ee(q,k,B);return}}t.bindTexture(n.TEXTURE_2D,q.__webglTexture,n.TEXTURE0+B)}function te(k,B){const q=i.get(k);if(k.version>0&&q.__version!==k.version){Ee(q,k,B);return}t.bindTexture(n.TEXTURE_2D_ARRAY,q.__webglTexture,n.TEXTURE0+B)}function ie(k,B){const q=i.get(k);if(k.version>0&&q.__version!==k.version){Ee(q,k,B);return}t.bindTexture(n.TEXTURE_3D,q.__webglTexture,n.TEXTURE0+B)}function he(k,B){const q=i.get(k);if(k.version>0&&q.__version!==k.version){Ve(q,k,B);return}t.bindTexture(n.TEXTURE_CUBE_MAP,q.__webglTexture,n.TEXTURE0+B)}const ve={[ss]:n.REPEAT,[Vi]:n.CLAMP_TO_EDGE,[dl]:n.MIRRORED_REPEAT},F={[Dn]:n.NEAREST,[Of]:n.NEAREST_MIPMAP_NEAREST,[jo]:n.NEAREST_MIPMAP_LINEAR,[ln]:n.LINEAR,[rl]:n.LINEAR_MIPMAP_NEAREST,[Wi]:n.LINEAR_MIPMAP_LINEAR},W={[CI]:n.NEVER,[LI]:n.ALWAYS,[RI]:n.LESS,[xS]:n.LEQUAL,[bI]:n.EQUAL,[BI]:n.GEQUAL,[PI]:n.GREATER,[II]:n.NOTEQUAL};function H(k,B){if(B.type===Br&&e.has("OES_texture_float_linear")===!1&&(B.magFilter===ln||B.magFilter===rl||B.magFilter===jo||B.magFilter===Wi||B.minFilter===ln||B.minFilter===rl||B.minFilter===jo||B.minFilter===Wi)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),n.texParameteri(k,n.TEXTURE_WRAP_S,ve[B.wrapS]),n.texParameteri(k,n.TEXTURE_WRAP_T,ve[B.wrapT]),(k===n.TEXTURE_3D||k===n.TEXTURE_2D_ARRAY)&&n.texParameteri(k,n.TEXTURE_WRAP_R,ve[B.wrapR]),n.texParameteri(k,n.TEXTURE_MAG_FILTER,F[B.magFilter]),n.texParameteri(k,n.TEXTURE_MIN_FILTER,F[B.minFilter]),B.compareFunction&&(n.texParameteri(k,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(k,n.TEXTURE_COMPARE_FUNC,W[B.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if(B.magFilter===Dn||B.minFilter!==jo&&B.minFilter!==Wi||B.type===Br&&e.has("OES_texture_float_linear")===!1)return;if(B.anisotropy>1||i.get(B).__currentAnisotropy){const q=e.get("EXT_texture_filter_anisotropic");n.texParameterf(k,q.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(B.anisotropy,r.getMaxAnisotropy())),i.get(B).__currentAnisotropy=B.anisotropy}}}function oe(k,B){let q=!1;k.__webglInit===void 0&&(k.__webglInit=!0,B.addEventListener("dispose",E));const de=B.source;let xe=p.get(de);xe===void 0&&(xe={},p.set(de,xe));const me=K(B);if(me!==k.__cacheKey){xe[me]===void 0&&(xe[me]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,q=!0),xe[me].usedTimes++;const Qe=xe[k.__cacheKey];Qe!==void 0&&(xe[k.__cacheKey].usedTimes--,Qe.usedTimes===0&&b(B)),k.__cacheKey=me,k.__webglTexture=xe[me].texture}return q}function Ee(k,B,q){let de=n.TEXTURE_2D;(B.isDataArrayTexture||B.isCompressedArrayTexture)&&(de=n.TEXTURE_2D_ARRAY),B.isData3DTexture&&(de=n.TEXTURE_3D);const xe=oe(k,B),me=B.source;t.bindTexture(de,k.__webglTexture,n.TEXTURE0+q);const Qe=i.get(me);if(me.version!==Qe.__version||xe===!0){t.activeTexture(n.TEXTURE0+q);const Be=Vt.getPrimaries(Vt.workingColorSpace),Ie=B.colorSpace===Ks?null:Vt.getPrimaries(B.colorSpace),ht=B.colorSpace===Ks||Be===Ie?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,B.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,B.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,B.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,ht);let Ce=S(B.image,!1,r.maxTextureSize);Ce=ke(B,Ce);const Ke=s.convert(B.format,B.colorSpace),wt=s.convert(B.type);let tt=x(B.internalFormat,Ke,wt,B.colorSpace,B.isVideoTexture);H(de,B);let He;const yt=B.mipmaps,Tt=B.isVideoTexture!==!0,cn=Qe.__version===void 0||xe===!0,mt=me.dataReady,X=M(B,Ce);if(B.isDepthTexture)tt=n.DEPTH_COMPONENT16,B.type===Br?tt=n.DEPTH_COMPONENT32F:B.type===pl?tt=n.DEPTH_COMPONENT24:B.type===vu&&(tt=n.DEPTH24_STENCIL8),cn&&(Tt?t.texStorage2D(n.TEXTURE_2D,1,tt,Ce.width,Ce.height):t.texImage2D(n.TEXTURE_2D,0,tt,Ce.width,Ce.height,0,Ke,wt,null));else if(B.isDataTexture)if(yt.length>0){Tt&&cn&&t.texStorage2D(n.TEXTURE_2D,X,tt,yt[0].width,yt[0].height);for(let _e=0,fe=yt.length;_e>=1,fe>>=1}}else if(yt.length>0){if(Tt&&cn){const _e=Ze(yt[0]);t.texStorage2D(n.TEXTURE_2D,X,tt,_e.width,_e.height)}for(let _e=0,fe=yt.length;_e0&&X++;const fe=Ze(Ke[0]);t.texStorage2D(n.TEXTURE_CUBE_MAP,X,yt,fe.width,fe.height)}for(let fe=0;fe<6;fe++)if(Ce){Tt?mt&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+fe,0,0,0,Ke[fe].width,Ke[fe].height,tt,He,Ke[fe].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+fe,0,yt,Ke[fe].width,Ke[fe].height,0,tt,He,Ke[fe].data);for(let Le=0;Le<_e.length;Le++){const Bt=_e[Le].image[fe].image;Tt?mt&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+fe,Le+1,0,0,Bt.width,Bt.height,tt,He,Bt.data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+fe,Le+1,yt,Bt.width,Bt.height,0,tt,He,Bt.data)}}else{Tt?mt&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+fe,0,0,0,tt,He,Ke[fe]):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+fe,0,yt,tt,He,Ke[fe]);for(let Le=0;Le<_e.length;Le++){const Ue=_e[Le];Tt?mt&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+fe,Le+1,0,0,tt,He,Ue.image[fe]):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+fe,Le+1,yt,tt,He,Ue.image[fe])}}}y(B)&&g(n.TEXTURE_CUBE_MAP),me.__version=xe.version,B.onUpdate&&B.onUpdate(B)}k.__version=B.version}function ne(k,B,q,de,xe,me){const Qe=s.convert(q.format,q.colorSpace),Be=s.convert(q.type),Ie=x(q.internalFormat,Qe,Be,q.colorSpace);if(!i.get(B).__hasExternalTextures){const Ce=Math.max(1,B.width>>me),Ke=Math.max(1,B.height>>me);xe===n.TEXTURE_3D||xe===n.TEXTURE_2D_ARRAY?t.texImage3D(xe,me,Ie,Ce,Ke,B.depth,0,Qe,Be,null):t.texImage2D(xe,me,Ie,Ce,Ke,0,Qe,Be,null)}t.bindFramebuffer(n.FRAMEBUFFER,k),be(B)?a.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,de,xe,i.get(q).__webglTexture,0,pe(B)):(xe===n.TEXTURE_2D||xe>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&xe<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,de,xe,i.get(q).__webglTexture,me),t.bindFramebuffer(n.FRAMEBUFFER,null)}function ye(k,B,q){if(n.bindRenderbuffer(n.RENDERBUFFER,k),B.depthBuffer&&!B.stencilBuffer){let de=n.DEPTH_COMPONENT24;if(q||be(B)){const xe=B.depthTexture;xe&&xe.isDepthTexture&&(xe.type===Br?de=n.DEPTH_COMPONENT32F:xe.type===pl&&(de=n.DEPTH_COMPONENT24));const me=pe(B);be(B)?a.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,me,de,B.width,B.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,me,de,B.width,B.height)}else n.renderbufferStorage(n.RENDERBUFFER,de,B.width,B.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,k)}else if(B.depthBuffer&&B.stencilBuffer){const de=pe(B);q&&be(B)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,de,n.DEPTH24_STENCIL8,B.width,B.height):be(B)?a.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,de,n.DEPTH24_STENCIL8,B.width,B.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,B.width,B.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,k)}else{const de=B.textures;for(let xe=0;xe1;if(Qe||(de.__webglTexture===void 0&&(de.__webglTexture=n.createTexture()),de.__version=B.version,o.memory.textures++),me){q.__webglFramebuffer=[];for(let Be=0;Be<6;Be++)if(B.mipmaps&&B.mipmaps.length>0){q.__webglFramebuffer[Be]=[];for(let Ie=0;Ie0){q.__webglFramebuffer=[];for(let Be=0;Be0&&be(k)===!1){q.__webglMultisampledFramebuffer=n.createFramebuffer(),q.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,q.__webglMultisampledFramebuffer);for(let Be=0;Be0)for(let Ie=0;Ie0)for(let Ie=0;Ie0){if(be(k)===!1){const B=k.textures,q=k.width,de=k.height;let xe=n.COLOR_BUFFER_BIT;const me=k.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Qe=i.get(k),Be=B.length>1;if(Be)for(let Ie=0;Ie0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&B.__useRenderToTexture!==!1}function Ae(k){const B=o.render.frame;f.get(k)!==B&&(f.set(k,B),k.update())}function ke(k,B){const q=k.colorSpace,de=k.format,xe=k.type;return k.isCompressedTexture===!0||k.isVideoTexture===!0||q!==$n&&q!==Ks&&(Vt.getTransfer(q)===Zt?(de!==Xi||xe!==Ts)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",q)),B}function Ze(k){return typeof HTMLImageElement<"u"&&k instanceof HTMLImageElement?(u.width=k.naturalWidth||k.width,u.height=k.naturalHeight||k.height):typeof VideoFrame<"u"&&k instanceof VideoFrame?(u.width=k.displayWidth,u.height=k.displayHeight):(u.width=k.width,u.height=k.height),u}this.allocateTextureUnit=U,this.resetTextureUnits=R,this.setTexture2D=z,this.setTexture2DArray=te,this.setTexture3D=ie,this.setTextureCube=he,this.rebindTextures=pt,this.setupRenderTarget=_t,this.updateRenderTargetMipmap=Y,this.updateMultisampleRenderTarget=ge,this.setupDepthRenderbuffer=Se,this.setupFrameBufferTexture=ne,this.useMultisampledRTT=be}function YI(n,e){function t(i,r=Ks){let s;const o=Vt.getTransfer(r);if(i===Ts)return n.UNSIGNED_BYTE;if(i===fS)return n.UNSIGNED_SHORT_4_4_4_4;if(i===dS)return n.UNSIGNED_SHORT_5_5_5_1;if(i===pI)return n.UNSIGNED_INT_5_9_9_9_REV;if(i===fI)return n.BYTE;if(i===dI)return n.SHORT;if(i===uS)return n.UNSIGNED_SHORT;if(i===hS)return n.INT;if(i===pl)return n.UNSIGNED_INT;if(i===Br)return n.FLOAT;if(i===Ff)return n.HALF_FLOAT;if(i===mI)return n.ALPHA;if(i===gI)return n.RGB;if(i===Xi)return n.RGBA;if(i===vI)return n.LUMINANCE;if(i===_I)return n.LUMINANCE_ALPHA;if(i===sl)return n.DEPTH_COMPONENT;if(i===ou)return n.DEPTH_STENCIL;if(i===pS)return n.RED;if(i===mS)return n.RED_INTEGER;if(i===yI)return n.RG;if(i===gS)return n.RG_INTEGER;if(i===vS)return n.RGBA_INTEGER;if(i===Bm||i===Lm||i===Dm||i===Om)if(o===Zt)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(i===Bm)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(i===Lm)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(i===Dm)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(i===Om)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(i===Bm)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(i===Lm)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(i===Dm)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(i===Om)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(i===Sx||i===Mx||i===Ex||i===wx)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(i===Sx)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(i===Mx)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(i===Ex)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(i===wx)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(i===Tx||i===Cx||i===Rx)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(i===Tx||i===Cx)return o===Zt?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(i===Rx)return o===Zt?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(i===bx||i===Px||i===Ix||i===Bx||i===Lx||i===Dx||i===Ox||i===Fx||i===Nx||i===Ux||i===kx||i===zx||i===Hx||i===Gx)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(i===bx)return o===Zt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(i===Px)return o===Zt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(i===Ix)return o===Zt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(i===Bx)return o===Zt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(i===Lx)return o===Zt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(i===Dx)return o===Zt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(i===Ox)return o===Zt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(i===Fx)return o===Zt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(i===Nx)return o===Zt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(i===Ux)return o===Zt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(i===kx)return o===Zt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(i===zx)return o===Zt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(i===Hx)return o===Zt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(i===Gx)return o===Zt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(i===Fm||i===Vx||i===Wx)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(i===Fm)return o===Zt?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(i===Vx)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(i===Wx)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(i===xI||i===Xx||i===jx||i===Jx)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(i===Fm)return s.COMPRESSED_RED_RGTC1_EXT;if(i===Xx)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(i===jx)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(i===Jx)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return i===vu?n.UNSIGNED_INT_24_8:n[i]!==void 0?n[i]:null}return{convert:t}}class QI extends Bn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class Lr extends Et{constructor(){super(),this.isGroup=!0,this.type="Group"}}const uH={type:"move"};class E_{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Lr,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 Lr,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new D,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new D),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Lr,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new D,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new D),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 S of e.hand.values()){const y=t.getJointPose(S,i),g=this._getHandJoint(u,S);y!==null&&(g.matrix.fromArray(y.transform.matrix),g.matrix.decompose(g.position,g.rotation,g.scale),g.matrixWorldNeedsUpdate=!0,g.jointRadius=y.radius),g.visible=y!==null}const f=u.joints["index-finger-tip"],d=u.joints["thumb-tip"],p=f.position.distanceTo(d.position),m=.02,_=.005;u.inputState.pinching&&p>m+_?(u.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!u.inputState.pinching&&p<=m-_&&(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(uH)))}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 Lr;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const hH=` +void main() { + + gl_Position = vec4( position, 1.0 ); + +}`,fH=` +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_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; + + } else { + + gl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; + + } + +}`;class dH{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,i){if(this.texture===null){const r=new Yt,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 hr({vertexShader:hH,fragmentShader:fH,uniforms:{depthColor:{value:this.texture},depthWidth:{value:i.z},depthHeight:{value:i.w}}});this.mesh=new Kt(new Al(20,20),r)}e.render(this.mesh,t)}}reset(){this.texture=null,this.mesh=null}}class pH extends fo{constructor(e,t){super();const i=this;let r=null,s=1,o=null,a="local-floor",l=1,u=null,f=null,d=null,p=null,m=null,_=null;const S=new dH,y=t.getContextAttributes();let g=null,x=null;const M=[],E=[],P=new le;let C=null;const b=new Bn;b.layers.enable(1),b.viewport=new Lt;const L=new Bn;L.layers.enable(2),L.viewport=new Lt;const I=[b,L],R=new QI;R.layers.enable(1),R.layers.enable(2);let U=null,K=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(ne){let ye=M[ne];return ye===void 0&&(ye=new E_,M[ne]=ye),ye.getTargetRaySpace()},this.getControllerGrip=function(ne){let ye=M[ne];return ye===void 0&&(ye=new E_,M[ne]=ye),ye.getGripSpace()},this.getHand=function(ne){let ye=M[ne];return ye===void 0&&(ye=new E_,M[ne]=ye),ye.getHandSpace()};function z(ne){const ye=E.indexOf(ne.inputSource);if(ye===-1)return;const Re=M[ye];Re!==void 0&&(Re.update(ne.inputSource,ne.frame,u||o),Re.dispatchEvent({type:ne.type,data:ne.inputSource}))}function te(){r.removeEventListener("select",z),r.removeEventListener("selectstart",z),r.removeEventListener("selectend",z),r.removeEventListener("squeeze",z),r.removeEventListener("squeezestart",z),r.removeEventListener("squeezeend",z),r.removeEventListener("end",te),r.removeEventListener("inputsourceschange",ie);for(let ne=0;ne=0&&(E[Se]=null,M[Se].disconnect(Re))}for(let ye=0;ye=E.length){E.push(Re),Se=_t;break}else if(E[_t]===null){E[_t]=Re,Se=_t;break}if(Se===-1)break}const pt=M[Se];pt&&pt.connect(Re)}}const he=new D,ve=new D;function F(ne,ye,Re){he.setFromMatrixPosition(ye.matrixWorld),ve.setFromMatrixPosition(Re.matrixWorld);const Se=he.distanceTo(ve),pt=ye.projectionMatrix.elements,_t=Re.projectionMatrix.elements,Y=pt[14]/(pt[10]-1),it=pt[14]/(pt[10]+1),ce=(pt[9]+1)/pt[5],ge=(pt[9]-1)/pt[5],pe=(pt[8]-1)/pt[0],be=(_t[8]+1)/_t[0],Ae=Y*pe,ke=Y*be,Ze=Se/(-pe+be),k=Ze*-pe;ye.matrixWorld.decompose(ne.position,ne.quaternion,ne.scale),ne.translateX(k),ne.translateZ(Ze),ne.matrixWorld.compose(ne.position,ne.quaternion,ne.scale),ne.matrixWorldInverse.copy(ne.matrixWorld).invert();const B=Y+Ze,q=it+Ze,de=Ae-k,xe=ke+(Se-k),me=ce*it/q*B,Qe=ge*it/q*B;ne.projectionMatrix.makePerspective(de,xe,me,Qe,B,q),ne.projectionMatrixInverse.copy(ne.projectionMatrix).invert()}function W(ne,ye){ye===null?ne.matrixWorld.copy(ne.matrix):ne.matrixWorld.multiplyMatrices(ye.matrixWorld,ne.matrix),ne.matrixWorldInverse.copy(ne.matrixWorld).invert()}this.updateCamera=function(ne){if(r===null)return;S.texture!==null&&(ne.near=S.depthNear,ne.far=S.depthFar),R.near=L.near=b.near=ne.near,R.far=L.far=b.far=ne.far,(U!==R.near||K!==R.far)&&(r.updateRenderState({depthNear:R.near,depthFar:R.far}),U=R.near,K=R.far,b.near=U,b.far=K,L.near=U,L.far=K,b.updateProjectionMatrix(),L.updateProjectionMatrix(),ne.updateProjectionMatrix());const ye=ne.parent,Re=R.cameras;W(R,ye);for(let Se=0;Se0&&(y.alphaTest.value=g.alphaTest);const x=e.get(g),M=x.envMap,E=x.envMapRotation;if(M&&(y.envMap.value=M,ba.copy(E),ba.x*=-1,ba.y*=-1,ba.z*=-1,M.isCubeTexture&&M.isRenderTargetTexture===!1&&(ba.y*=-1,ba.z*=-1),y.envMapRotation.value.setFromMatrix4(mH.makeRotationFromEuler(ba)),y.flipEnvMap.value=M.isCubeTexture&&M.isRenderTargetTexture===!1?-1:1,y.reflectivity.value=g.reflectivity,y.ior.value=g.ior,y.refractionRatio.value=g.refractionRatio),g.lightMap){y.lightMap.value=g.lightMap;const P=n._useLegacyLights===!0?Math.PI:1;y.lightMapIntensity.value=g.lightMapIntensity*P,t(g.lightMap,y.lightMapTransform)}g.aoMap&&(y.aoMap.value=g.aoMap,y.aoMapIntensity.value=g.aoMapIntensity,t(g.aoMap,y.aoMapTransform))}function o(y,g){y.diffuse.value.copy(g.color),y.opacity.value=g.opacity,g.map&&(y.map.value=g.map,t(g.map,y.mapTransform))}function a(y,g){y.dashSize.value=g.dashSize,y.totalSize.value=g.dashSize+g.gapSize,y.scale.value=g.scale}function l(y,g,x,M){y.diffuse.value.copy(g.color),y.opacity.value=g.opacity,y.size.value=g.size*x,y.scale.value=M*.5,g.map&&(y.map.value=g.map,t(g.map,y.uvTransform)),g.alphaMap&&(y.alphaMap.value=g.alphaMap,t(g.alphaMap,y.alphaMapTransform)),g.alphaTest>0&&(y.alphaTest.value=g.alphaTest)}function u(y,g){y.diffuse.value.copy(g.color),y.opacity.value=g.opacity,y.rotation.value=g.rotation,g.map&&(y.map.value=g.map,t(g.map,y.mapTransform)),g.alphaMap&&(y.alphaMap.value=g.alphaMap,t(g.alphaMap,y.alphaMapTransform)),g.alphaTest>0&&(y.alphaTest.value=g.alphaTest)}function f(y,g){y.specular.value.copy(g.specular),y.shininess.value=Math.max(g.shininess,1e-4)}function d(y,g){g.gradientMap&&(y.gradientMap.value=g.gradientMap)}function p(y,g){y.metalness.value=g.metalness,g.metalnessMap&&(y.metalnessMap.value=g.metalnessMap,t(g.metalnessMap,y.metalnessMapTransform)),y.roughness.value=g.roughness,g.roughnessMap&&(y.roughnessMap.value=g.roughnessMap,t(g.roughnessMap,y.roughnessMapTransform)),g.envMap&&(y.envMapIntensity.value=g.envMapIntensity)}function m(y,g,x){y.ior.value=g.ior,g.sheen>0&&(y.sheenColor.value.copy(g.sheenColor).multiplyScalar(g.sheen),y.sheenRoughness.value=g.sheenRoughness,g.sheenColorMap&&(y.sheenColorMap.value=g.sheenColorMap,t(g.sheenColorMap,y.sheenColorMapTransform)),g.sheenRoughnessMap&&(y.sheenRoughnessMap.value=g.sheenRoughnessMap,t(g.sheenRoughnessMap,y.sheenRoughnessMapTransform))),g.clearcoat>0&&(y.clearcoat.value=g.clearcoat,y.clearcoatRoughness.value=g.clearcoatRoughness,g.clearcoatMap&&(y.clearcoatMap.value=g.clearcoatMap,t(g.clearcoatMap,y.clearcoatMapTransform)),g.clearcoatRoughnessMap&&(y.clearcoatRoughnessMap.value=g.clearcoatRoughnessMap,t(g.clearcoatRoughnessMap,y.clearcoatRoughnessMapTransform)),g.clearcoatNormalMap&&(y.clearcoatNormalMap.value=g.clearcoatNormalMap,t(g.clearcoatNormalMap,y.clearcoatNormalMapTransform),y.clearcoatNormalScale.value.copy(g.clearcoatNormalScale),g.side===Ai&&y.clearcoatNormalScale.value.negate())),g.dispersion>0&&(y.dispersion.value=g.dispersion),g.iridescence>0&&(y.iridescence.value=g.iridescence,y.iridescenceIOR.value=g.iridescenceIOR,y.iridescenceThicknessMinimum.value=g.iridescenceThicknessRange[0],y.iridescenceThicknessMaximum.value=g.iridescenceThicknessRange[1],g.iridescenceMap&&(y.iridescenceMap.value=g.iridescenceMap,t(g.iridescenceMap,y.iridescenceMapTransform)),g.iridescenceThicknessMap&&(y.iridescenceThicknessMap.value=g.iridescenceThicknessMap,t(g.iridescenceThicknessMap,y.iridescenceThicknessMapTransform))),g.transmission>0&&(y.transmission.value=g.transmission,y.transmissionSamplerMap.value=x.texture,y.transmissionSamplerSize.value.set(x.width,x.height),g.transmissionMap&&(y.transmissionMap.value=g.transmissionMap,t(g.transmissionMap,y.transmissionMapTransform)),y.thickness.value=g.thickness,g.thicknessMap&&(y.thicknessMap.value=g.thicknessMap,t(g.thicknessMap,y.thicknessMapTransform)),y.attenuationDistance.value=g.attenuationDistance,y.attenuationColor.value.copy(g.attenuationColor)),g.anisotropy>0&&(y.anisotropyVector.value.set(g.anisotropy*Math.cos(g.anisotropyRotation),g.anisotropy*Math.sin(g.anisotropyRotation)),g.anisotropyMap&&(y.anisotropyMap.value=g.anisotropyMap,t(g.anisotropyMap,y.anisotropyMapTransform))),y.specularIntensity.value=g.specularIntensity,y.specularColor.value.copy(g.specularColor),g.specularColorMap&&(y.specularColorMap.value=g.specularColorMap,t(g.specularColorMap,y.specularColorMapTransform)),g.specularIntensityMap&&(y.specularIntensityMap.value=g.specularIntensityMap,t(g.specularIntensityMap,y.specularIntensityMapTransform))}function _(y,g){g.matcap&&(y.matcap.value=g.matcap)}function S(y,g){const x=e.get(g).light;y.referencePosition.value.setFromMatrixPosition(x.matrixWorld),y.nearDistance.value=x.shadow.camera.near,y.farDistance.value=x.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function vH(n,e,t,i){let r={},s={},o=[];const a=n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS);function l(x,M){const E=M.program;i.uniformBlockBinding(x,E)}function u(x,M){let E=r[x.id];E===void 0&&(_(x),E=f(x),r[x.id]=E,x.addEventListener("dispose",y));const P=M.program;i.updateUBOMapping(x,P);const C=e.render.frame;s[x.id]!==C&&(p(x),s[x.id]=C)}function f(x){const M=d();x.__bindingPointIndex=M;const E=n.createBuffer(),P=x.__size,C=x.usage;return n.bindBuffer(n.UNIFORM_BUFFER,E),n.bufferData(n.UNIFORM_BUFFER,P,C),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,M,E),E}function d(){for(let x=0;x0&&(E+=P-C),x.__size=E,x.__cache={},this}function S(x){const M={boundary:0,storage:0};return typeof x=="number"||typeof x=="boolean"?(M.boundary=4,M.storage=4):x.isVector2?(M.boundary=8,M.storage=8):x.isVector3||x.isColor?(M.boundary=16,M.storage=12):x.isVector4?(M.boundary=16,M.storage=16):x.isMatrix3?(M.boundary=48,M.storage=48):x.isMatrix4?(M.boundary=64,M.storage=64):x.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",x),M}function y(x){const M=x.target;M.removeEventListener("dispose",y);const E=o.indexOf(M.__bindingPointIndex);o.splice(E,1),n.deleteBuffer(r[M.id]),delete r[M.id],delete s[M.id]}function g(){for(const x in r)n.deleteBuffer(r[x]);o=[],r={},s={}}return{bind:l,update:u,dispose:g}}class ZI{constructor(e={}){const{canvas:t=OI(),context:i=null,depth:r=!0,stencil:s=!1,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:u=!1,powerPreference:f="default",failIfMajorPerformanceCaveat:d=!1}=e;this.isWebGLRenderer=!0;let p;if(i!==null){if(typeof WebGLRenderingContext<"u"&&i instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");p=i.getContextAttributes().alpha}else p=o;const m=new Uint32Array(4),_=new Int32Array(4);let S=null,y=null;const g=[],x=[];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=ii,this._useLegacyLights=!1,this.toneMapping=Es,this.toneMappingExposure=1;const M=this;let E=!1,P=0,C=0,b=null,L=-1,I=null;const R=new Lt,U=new Lt;let K=null;const z=new Te(0);let te=0,ie=t.width,he=t.height,ve=1,F=null,W=null;const H=new Lt(0,0,ie,he),oe=new Lt(0,0,ie,he);let Ee=!1;const Ve=new Gf;let ne=!1,ye=!1;const Re=new Ne,Se=new D,pt={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function _t(){return b===null?ve:1}let Y=i;function it(O,Q){return t.getContext(O,Q)}try{const O={alpha:!0,depth:r,stencil:s,antialias:a,premultipliedAlpha:l,preserveDrawingBuffer:u,powerPreference:f,failIfMajorPerformanceCaveat:d};if("setAttribute"in t&&t.setAttribute("data-engine",`three.js r${mu}`),t.addEventListener("webglcontextlost",X,!1),t.addEventListener("webglcontextrestored",_e,!1),t.addEventListener("webglcontextcreationerror",fe,!1),Y===null){const Q="webgl2";if(Y=it(Q,O),Y===null)throw it(Q)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(O){throw console.error("THREE.WebGLRenderer: "+O.message),O}let ce,ge,pe,be,Ae,ke,Ze,k,B,q,de,xe,me,Qe,Be,Ie,ht,Ce,Ke,wt,tt,He,yt,Tt;function cn(){ce=new Pk(Y),ce.init(),He=new YI(Y,ce),ge=new Ek(Y,ce,e,He),pe=new lH(Y),be=new Lk(Y),Ae=new Qz,ke=new cH(Y,ce,pe,Ae,ge,He,be),Ze=new Tk(M),k=new bk(M),B=new z3(Y),yt=new Sk(Y,B),q=new Ik(Y,B,be,yt),de=new Ok(Y,q,B,be),Ke=new Dk(Y,ge,ke),Ie=new wk(Ae),xe=new Yz(M,Ze,k,ce,ge,yt,Ie),me=new gH(M,Ae),Qe=new qz,Be=new rH(ce),Ce=new Ak(M,Ze,k,pe,de,p,l),ht=new aH(M,de,ge),Tt=new vH(Y,be,ge,pe),wt=new Mk(Y,ce,be),tt=new Bk(Y,ce,be),be.programs=xe.programs,M.capabilities=ge,M.extensions=ce,M.properties=Ae,M.renderLists=Qe,M.shadowMap=ht,M.state=pe,M.info=be}cn();const mt=new pH(M,Y);this.xr=mt,this.getContext=function(){return Y},this.getContextAttributes=function(){return Y.getContextAttributes()},this.forceContextLoss=function(){const O=ce.get("WEBGL_lose_context");O&&O.loseContext()},this.forceContextRestore=function(){const O=ce.get("WEBGL_lose_context");O&&O.restoreContext()},this.getPixelRatio=function(){return ve},this.setPixelRatio=function(O){O!==void 0&&(ve=O,this.setSize(ie,he,!1))},this.getSize=function(O){return O.set(ie,he)},this.setSize=function(O,Q,re=!0){if(mt.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}ie=O,he=Q,t.width=Math.floor(O*ve),t.height=Math.floor(Q*ve),re===!0&&(t.style.width=O+"px",t.style.height=Q+"px"),this.setViewport(0,0,O,Q)},this.getDrawingBufferSize=function(O){return O.set(ie*ve,he*ve).floor()},this.setDrawingBufferSize=function(O,Q,re){ie=O,he=Q,ve=re,t.width=Math.floor(O*re),t.height=Math.floor(Q*re),this.setViewport(0,0,O,Q)},this.getCurrentViewport=function(O){return O.copy(R)},this.getViewport=function(O){return O.copy(H)},this.setViewport=function(O,Q,re,$){O.isVector4?H.set(O.x,O.y,O.z,O.w):H.set(O,Q,re,$),pe.viewport(R.copy(H).multiplyScalar(ve).round())},this.getScissor=function(O){return O.copy(oe)},this.setScissor=function(O,Q,re,$){O.isVector4?oe.set(O.x,O.y,O.z,O.w):oe.set(O,Q,re,$),pe.scissor(U.copy(oe).multiplyScalar(ve).round())},this.getScissorTest=function(){return Ee},this.setScissorTest=function(O){pe.setScissorTest(Ee=O)},this.setOpaqueSort=function(O){F=O},this.setTransparentSort=function(O){W=O},this.getClearColor=function(O){return O.copy(Ce.getClearColor())},this.setClearColor=function(){Ce.setClearColor.apply(Ce,arguments)},this.getClearAlpha=function(){return Ce.getClearAlpha()},this.setClearAlpha=function(){Ce.setClearAlpha.apply(Ce,arguments)},this.clear=function(O=!0,Q=!0,re=!0){let $=0;if(O){let ee=!1;if(b!==null){const De=b.texture.format;ee=De===vS||De===gS||De===mS}if(ee){const De=b.texture.type,Xe=De===Ts||De===pl||De===uS||De===vu||De===fS||De===dS,je=Ce.getClearColor(),nt=Ce.getClearAlpha(),lt=je.r,ct=je.g,ut=je.b;Xe?(m[0]=lt,m[1]=ct,m[2]=ut,m[3]=nt,Y.clearBufferuiv(Y.COLOR,0,m)):(_[0]=lt,_[1]=ct,_[2]=ut,_[3]=nt,Y.clearBufferiv(Y.COLOR,0,_))}else $|=Y.COLOR_BUFFER_BIT}Q&&($|=Y.DEPTH_BUFFER_BIT),re&&($|=Y.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),Y.clear($)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener("webglcontextlost",X,!1),t.removeEventListener("webglcontextrestored",_e,!1),t.removeEventListener("webglcontextcreationerror",fe,!1),Qe.dispose(),Be.dispose(),Ae.dispose(),Ze.dispose(),k.dispose(),de.dispose(),yt.dispose(),Tt.dispose(),xe.dispose(),mt.dispose(),mt.removeEventListener("sessionstart",Ot),mt.removeEventListener("sessionend",Yi),Xn.stop()};function X(O){O.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),E=!0}function _e(){console.log("THREE.WebGLRenderer: Context Restored."),E=!1;const O=be.autoReset,Q=ht.enabled,re=ht.autoUpdate,$=ht.needsUpdate,ee=ht.type;cn(),be.autoReset=O,ht.enabled=Q,ht.autoUpdate=re,ht.needsUpdate=$,ht.type=ee}function fe(O){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",O.statusMessage)}function Le(O){const Q=O.target;Q.removeEventListener("dispose",Le),Ue(Q)}function Ue(O){Bt(O),Ae.remove(O)}function Bt(O){const Q=Ae.get(O).programs;Q!==void 0&&(Q.forEach(function(re){xe.releaseProgram(re)}),O.isShaderMaterial&&xe.releaseShaderCache(O))}this.renderBufferDirect=function(O,Q,re,$,ee,De){Q===null&&(Q=pt);const Xe=ee.isMesh&&ee.matrixWorld.determinant()<0,je=A0(O,Q,re,$,ee);pe.setMaterial($,Xe);let nt=re.index,lt=1;if($.wireframe===!0){if(nt=q.getWireframeAttribute(re),nt===void 0)return;lt=2}const ct=re.drawRange,ut=re.attributes.position;let sn=ct.start*lt,Cn=(ct.start+ct.count)*lt;De!==null&&(sn=Math.max(sn,De.start*lt),Cn=Math.min(Cn,(De.start+De.count)*lt)),nt!==null?(sn=Math.max(sn,0),Cn=Math.min(Cn,nt.count)):ut!=null&&(sn=Math.max(sn,0),Cn=Math.min(Cn,ut.count));const Mi=Cn-sn;if(Mi<0||Mi===1/0)return;yt.setup(ee,$,je,re,nt);let Qi,Ct=wt;if(nt!==null&&(Qi=B.get(nt),Ct=tt,Ct.setIndex(Qi)),ee.isMesh)$.wireframe===!0?(pe.setLineWidth($.wireframeLinewidth*_t()),Ct.setMode(Y.LINES)):Ct.setMode(Y.TRIANGLES);else if(ee.isLine){let $e=$.linewidth;$e===void 0&&($e=1),pe.setLineWidth($e*_t()),ee.isLineSegments?Ct.setMode(Y.LINES):ee.isLineLoop?Ct.setMode(Y.LINE_LOOP):Ct.setMode(Y.LINE_STRIP)}else ee.isPoints?Ct.setMode(Y.POINTS):ee.isSprite&&Ct.setMode(Y.TRIANGLES);if(ee.isBatchedMesh)ee._multiDrawInstances!==null?Ct.renderMultiDrawInstances(ee._multiDrawStarts,ee._multiDrawCounts,ee._multiDrawCount,ee._multiDrawInstances):Ct.renderMultiDraw(ee._multiDrawStarts,ee._multiDrawCounts,ee._multiDrawCount);else if(ee.isInstancedMesh)Ct.renderInstances(sn,Mi,ee.count);else if(re.isInstancedBufferGeometry){const $e=re._maxInstanceCount!==void 0?re._maxInstanceCount:1/0,Ht=Math.min(re.instanceCount,$e);Ct.renderInstances(sn,Mi,Ht)}else Ct.render(sn,Mi)};function jt(O,Q,re){O.transparent===!0&&O.side===Pr&&O.forceSinglePass===!1?(O.side=Ai,O.needsUpdate=!0,Pl(O,Q,re),O.side=rs,O.needsUpdate=!0,Pl(O,Q,re),O.side=Pr):Pl(O,Q,re)}this.compile=function(O,Q,re=null){re===null&&(re=O),y=Be.get(re),y.init(Q),x.push(y),re.traverseVisible(function(ee){ee.isLight&&ee.layers.test(Q.layers)&&(y.pushLight(ee),ee.castShadow&&y.pushShadow(ee))}),O!==re&&O.traverseVisible(function(ee){ee.isLight&&ee.layers.test(Q.layers)&&(y.pushLight(ee),ee.castShadow&&y.pushShadow(ee))}),y.setupLights(M._useLegacyLights);const $=new Set;return O.traverse(function(ee){const De=ee.material;if(De)if(Array.isArray(De))for(let Xe=0;Xe{function De(){if($.forEach(function(Xe){Ae.get(Xe).currentProgram.isReady()&&$.delete(Xe)}),$.size===0){ee(O);return}setTimeout(De,10)}ce.get("KHR_parallel_shader_compile")!==null?De():setTimeout(De,10)})};let en=null;function Wn(O){en&&en(O)}function Ot(){Xn.stop()}function Yi(){Xn.start()}const Xn=new VI;Xn.setAnimationLoop(Wn),typeof self<"u"&&Xn.setContext(self),this.setAnimationLoop=function(O){en=O,mt.setAnimationLoop(O),O===null?Xn.stop():Xn.start()},mt.addEventListener("sessionstart",Ot),mt.addEventListener("sessionend",Yi),this.render=function(O,Q){if(Q!==void 0&&Q.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(E===!0)return;O.matrixWorldAutoUpdate===!0&&O.updateMatrixWorld(),Q.parent===null&&Q.matrixWorldAutoUpdate===!0&&Q.updateMatrixWorld(),mt.enabled===!0&&mt.isPresenting===!0&&(mt.cameraAutoUpdate===!0&&mt.updateCamera(Q),Q=mt.getCamera()),O.isScene===!0&&O.onBeforeRender(M,O,Q,b),y=Be.get(O,x.length),y.init(Q),x.push(y),Re.multiplyMatrices(Q.projectionMatrix,Q.matrixWorldInverse),Ve.setFromProjectionMatrix(Re),ye=this.localClippingEnabled,ne=Ie.init(this.clippingPlanes,ye),S=Qe.get(O,g.length),S.init(),g.push(S),td(O,Q,0,M.sortObjects),S.finish(),M.sortObjects===!0&&S.sort(F,W);const re=mt.enabled===!1||mt.isPresenting===!1||mt.hasDepthSensing()===!1;re&&Ce.addToRenderList(S,O),this.info.render.frame++,ne===!0&&Ie.beginShadows();const $=y.state.shadowsArray;ht.render($,O,Q),ne===!0&&Ie.endShadows(),this.info.autoReset===!0&&this.info.reset();const ee=S.opaque,De=S.transmissive;if(y.setupLights(M._useLegacyLights),Q.isArrayCamera){const Xe=Q.cameras;if(De.length>0)for(let je=0,nt=Xe.length;je0&&id(ee,De,O,Q),re&&Ce.render(O),nd(S,O,Q);b!==null&&(ke.updateMultisampleRenderTarget(b),ke.updateRenderTargetMipmap(b)),O.isScene===!0&&O.onAfterRender(M,O,Q),yt.resetDefaultState(),L=-1,I=null,x.pop(),x.length>0?(y=x[x.length-1],ne===!0&&Ie.setGlobalState(M.clippingPlanes,y.state.camera)):y=null,g.pop(),g.length>0?S=g[g.length-1]:S=null};function td(O,Q,re,$){if(O.visible===!1)return;if(O.layers.test(Q.layers)){if(O.isGroup)re=O.renderOrder;else if(O.isLOD)O.autoUpdate===!0&&O.update(Q);else if(O.isLight)y.pushLight(O),O.castShadow&&y.pushShadow(O);else if(O.isSprite){if(!O.frustumCulled||Ve.intersectsSprite(O)){$&&Se.setFromMatrixPosition(O.matrixWorld).applyMatrix4(Re);const Xe=de.update(O),je=O.material;je.visible&&S.push(O,Xe,je,re,Se.z,null)}}else if((O.isMesh||O.isLine||O.isPoints)&&(!O.frustumCulled||Ve.intersectsObject(O))){const Xe=de.update(O),je=O.material;if($&&(O.boundingSphere!==void 0?(O.boundingSphere===null&&O.computeBoundingSphere(),Se.copy(O.boundingSphere.center)):(Xe.boundingSphere===null&&Xe.computeBoundingSphere(),Se.copy(Xe.boundingSphere.center)),Se.applyMatrix4(O.matrixWorld).applyMatrix4(Re)),Array.isArray(je)){const nt=Xe.groups;for(let lt=0,ct=nt.length;lt0&&pa(ee,Q,re),De.length>0&&pa(De,Q,re),Xe.length>0&&pa(Xe,Q,re),pe.buffers.depth.setTest(!0),pe.buffers.depth.setMask(!0),pe.buffers.color.setMask(!0),pe.setPolygonOffset(!1)}function id(O,Q,re,$){if((re.isScene===!0?re.overrideMaterial:null)!==null)return;y.state.transmissionRenderTarget[$.id]===void 0&&(y.state.transmissionRenderTarget[$.id]=new os(1,1,{generateMipmaps:!0,type:ce.has("EXT_color_buffer_half_float")||ce.has("EXT_color_buffer_float")?Ff:Ts,minFilter:Wi,samples:4,stencilBuffer:s,resolveDepthBuffer:!1,resolveStencilBuffer:!1}));const De=y.state.transmissionRenderTarget[$.id],Xe=$.viewport||R;De.setSize(Xe.z,Xe.w);const je=M.getRenderTarget();M.setRenderTarget(De),M.getClearColor(z),te=M.getClearAlpha(),te<1&&M.setClearColor(16777215,.5),M.clear();const nt=M.toneMapping;M.toneMapping=Es;const lt=$.viewport;if($.viewport!==void 0&&($.viewport=void 0),y.setupLightsView($),ne===!0&&Ie.setGlobalState(M.clippingPlanes,$),pa(O,re,$),ke.updateMultisampleRenderTarget(De),ke.updateRenderTargetMipmap(De),ce.has("WEBGL_multisampled_render_to_texture")===!1){let ct=!1;for(let ut=0,sn=Q.length;ut0),ut=!!re.morphAttributes.position,sn=!!re.morphAttributes.normal,Cn=!!re.morphAttributes.color;let Mi=Es;$.toneMapped&&(b===null||b.isXRRenderTarget===!0)&&(Mi=M.toneMapping);const Qi=re.morphAttributes.position||re.morphAttributes.normal||re.morphAttributes.color,Ct=Qi!==void 0?Qi.length:0,$e=Ae.get($),Ht=y.state.lights;if(ne===!0&&(ye===!0||O!==I)){const Ei=O===I&&$.id===L;Ie.setState($,O,Ei)}let et=!1;$.version===$e.__version?($e.needsLights&&$e.lightsStateVersion!==Ht.state.version||$e.outputColorSpace!==je||ee.isBatchedMesh&&$e.batching===!1||!ee.isBatchedMesh&&$e.batching===!0||ee.isInstancedMesh&&$e.instancing===!1||!ee.isInstancedMesh&&$e.instancing===!0||ee.isSkinnedMesh&&$e.skinning===!1||!ee.isSkinnedMesh&&$e.skinning===!0||ee.isInstancedMesh&&$e.instancingColor===!0&&ee.instanceColor===null||ee.isInstancedMesh&&$e.instancingColor===!1&&ee.instanceColor!==null||ee.isInstancedMesh&&$e.instancingMorph===!0&&ee.morphTexture===null||ee.isInstancedMesh&&$e.instancingMorph===!1&&ee.morphTexture!==null||$e.envMap!==nt||$.fog===!0&&$e.fog!==De||$e.numClippingPlanes!==void 0&&($e.numClippingPlanes!==Ie.numPlanes||$e.numIntersection!==Ie.numIntersection)||$e.vertexAlphas!==lt||$e.vertexTangents!==ct||$e.morphTargets!==ut||$e.morphNormals!==sn||$e.morphColors!==Cn||$e.toneMapping!==Mi||$e.morphTargetsCount!==Ct)&&(et=!0):(et=!0,$e.__version=$.version);let ui=$e.currentProgram;et===!0&&(ui=Pl($,Q,ee));let Fn=!1,Rn=!1,kr=!1;const un=ui.getUniforms(),hn=$e.uniforms;if(pe.useProgram(ui.program)&&(Fn=!0,Rn=!0,kr=!0),$.id!==L&&(L=$.id,Rn=!0),Fn||I!==O){un.setValue(Y,"projectionMatrix",O.projectionMatrix),un.setValue(Y,"viewMatrix",O.matrixWorldInverse);const Ei=un.map.cameraPosition;Ei!==void 0&&Ei.setValue(Y,Se.setFromMatrixPosition(O.matrixWorld)),ge.logarithmicDepthBuffer&&un.setValue(Y,"logDepthBufFC",2/(Math.log(O.far+1)/Math.LN2)),($.isMeshPhongMaterial||$.isMeshToonMaterial||$.isMeshLambertMaterial||$.isMeshBasicMaterial||$.isMeshStandardMaterial||$.isShaderMaterial)&&un.setValue(Y,"isOrthographic",O.isOrthographicCamera===!0),I!==O&&(I=O,Rn=!0,kr=!0)}if(ee.isSkinnedMesh){un.setOptional(Y,ee,"bindMatrix"),un.setOptional(Y,ee,"bindMatrixInverse");const Ei=ee.skeleton;Ei&&(Ei.boneTexture===null&&Ei.computeBoneTexture(),un.setValue(Y,"boneTexture",Ei.boneTexture,ke))}ee.isBatchedMesh&&(un.setOptional(Y,ee,"batchingTexture"),un.setValue(Y,"batchingTexture",ee._matricesTexture,ke));const go=re.morphAttributes;if((go.position!==void 0||go.normal!==void 0||go.color!==void 0)&&Ke.update(ee,re,ui),(Rn||$e.receiveShadow!==ee.receiveShadow)&&($e.receiveShadow=ee.receiveShadow,un.setValue(Y,"receiveShadow",ee.receiveShadow)),$.isMeshGouraudMaterial&&$.envMap!==null&&(hn.envMap.value=nt,hn.flipEnvMap.value=nt.isCubeTexture&&nt.isRenderTargetTexture===!1?-1:1),$.isMeshStandardMaterial&&$.envMap===null&&Q.environment!==null&&(hn.envMapIntensity.value=Q.environmentIntensity),Rn&&(un.setValue(Y,"toneMappingExposure",M.toneMappingExposure),$e.needsLights&&S0(hn,kr),De&&$.fog===!0&&me.refreshFogUniforms(hn,De),me.refreshMaterialUniforms(hn,$,ve,he,y.state.transmissionRenderTarget[O.id]),Um.upload(Y,mo($e),hn,ke)),$.isShaderMaterial&&$.uniformsNeedUpdate===!0&&(Um.upload(Y,mo($e),hn,ke),$.uniformsNeedUpdate=!1),$.isSpriteMaterial&&un.setValue(Y,"center",ee.center),un.setValue(Y,"modelViewMatrix",ee.modelViewMatrix),un.setValue(Y,"normalMatrix",ee.normalMatrix),un.setValue(Y,"modelMatrix",ee.matrixWorld),$.isShaderMaterial||$.isRawShaderMaterial){const Ei=$.uniformsGroups;for(let Il=0,Bl=Ei.length;Il0&&ke.useMultisampledRTT(O)===!1?ee=Ae.get(O).__webglMultisampledFramebuffer:Array.isArray(ct)?ee=ct[re]:ee=ct,R.copy(O.viewport),U.copy(O.scissor),K=O.scissorTest}else R.copy(H).multiplyScalar(ve).floor(),U.copy(oe).multiplyScalar(ve).floor(),K=Ee;if(pe.bindFramebuffer(Y.FRAMEBUFFER,ee)&&$&&pe.drawBuffers(O,ee),pe.viewport(R),pe.scissor(U),pe.setScissorTest(K),De){const nt=Ae.get(O.texture);Y.framebufferTexture2D(Y.FRAMEBUFFER,Y.COLOR_ATTACHMENT0,Y.TEXTURE_CUBE_MAP_POSITIVE_X+Q,nt.__webglTexture,re)}else if(Xe){const nt=Ae.get(O.texture),lt=Q||0;Y.framebufferTextureLayer(Y.FRAMEBUFFER,Y.COLOR_ATTACHMENT0,nt.__webglTexture,re||0,lt)}L=-1},this.readRenderTargetPixels=function(O,Q,re,$,ee,De,Xe){if(!(O&&O.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let je=Ae.get(O).__webglFramebuffer;if(O.isWebGLCubeRenderTarget&&Xe!==void 0&&(je=je[Xe]),je){pe.bindFramebuffer(Y.FRAMEBUFFER,je);try{const nt=O.texture,lt=nt.format,ct=nt.type;if(!ge.textureFormatReadable(lt)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!ge.textureTypeReadable(ct)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}Q>=0&&Q<=O.width-$&&re>=0&&re<=O.height-ee&&Y.readPixels(Q,re,$,ee,He.convert(lt),He.convert(ct),De)}finally{const nt=b!==null?Ae.get(b).__webglFramebuffer:null;pe.bindFramebuffer(Y.FRAMEBUFFER,nt)}}},this.copyFramebufferToTexture=function(O,Q,re=0){const $=Math.pow(2,-re),ee=Math.floor(Q.image.width*$),De=Math.floor(Q.image.height*$);ke.setTexture2D(Q,0),Y.copyTexSubImage2D(Y.TEXTURE_2D,re,0,0,O.x,O.y,ee,De),pe.unbindTexture()},this.copyTextureToTexture=function(O,Q,re,$=0){const ee=Q.image.width,De=Q.image.height,Xe=He.convert(re.format),je=He.convert(re.type);ke.setTexture2D(re,0),Y.pixelStorei(Y.UNPACK_FLIP_Y_WEBGL,re.flipY),Y.pixelStorei(Y.UNPACK_PREMULTIPLY_ALPHA_WEBGL,re.premultiplyAlpha),Y.pixelStorei(Y.UNPACK_ALIGNMENT,re.unpackAlignment),Q.isDataTexture?Y.texSubImage2D(Y.TEXTURE_2D,$,O.x,O.y,ee,De,Xe,je,Q.image.data):Q.isCompressedTexture?Y.compressedTexSubImage2D(Y.TEXTURE_2D,$,O.x,O.y,Q.mipmaps[0].width,Q.mipmaps[0].height,Xe,Q.mipmaps[0].data):Y.texSubImage2D(Y.TEXTURE_2D,$,O.x,O.y,Xe,je,Q.image),$===0&&re.generateMipmaps&&Y.generateMipmap(Y.TEXTURE_2D),pe.unbindTexture()},this.copyTextureToTexture3D=function(O,Q,re,$,ee=0){const De=O.max.x-O.min.x,Xe=O.max.y-O.min.y,je=O.max.z-O.min.z,nt=He.convert($.format),lt=He.convert($.type);let ct;if($.isData3DTexture)ke.setTexture3D($,0),ct=Y.TEXTURE_3D;else if($.isDataArrayTexture||$.isCompressedArrayTexture)ke.setTexture2DArray($,0),ct=Y.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}Y.pixelStorei(Y.UNPACK_FLIP_Y_WEBGL,$.flipY),Y.pixelStorei(Y.UNPACK_PREMULTIPLY_ALPHA_WEBGL,$.premultiplyAlpha),Y.pixelStorei(Y.UNPACK_ALIGNMENT,$.unpackAlignment);const ut=Y.getParameter(Y.UNPACK_ROW_LENGTH),sn=Y.getParameter(Y.UNPACK_IMAGE_HEIGHT),Cn=Y.getParameter(Y.UNPACK_SKIP_PIXELS),Mi=Y.getParameter(Y.UNPACK_SKIP_ROWS),Qi=Y.getParameter(Y.UNPACK_SKIP_IMAGES),Ct=re.isCompressedTexture?re.mipmaps[ee]:re.image;Y.pixelStorei(Y.UNPACK_ROW_LENGTH,Ct.width),Y.pixelStorei(Y.UNPACK_IMAGE_HEIGHT,Ct.height),Y.pixelStorei(Y.UNPACK_SKIP_PIXELS,O.min.x),Y.pixelStorei(Y.UNPACK_SKIP_ROWS,O.min.y),Y.pixelStorei(Y.UNPACK_SKIP_IMAGES,O.min.z),re.isDataTexture||re.isData3DTexture?Y.texSubImage3D(ct,ee,Q.x,Q.y,Q.z,De,Xe,je,nt,lt,Ct.data):$.isCompressedArrayTexture?Y.compressedTexSubImage3D(ct,ee,Q.x,Q.y,Q.z,De,Xe,je,nt,Ct.data):Y.texSubImage3D(ct,ee,Q.x,Q.y,Q.z,De,Xe,je,nt,lt,Ct),Y.pixelStorei(Y.UNPACK_ROW_LENGTH,ut),Y.pixelStorei(Y.UNPACK_IMAGE_HEIGHT,sn),Y.pixelStorei(Y.UNPACK_SKIP_PIXELS,Cn),Y.pixelStorei(Y.UNPACK_SKIP_ROWS,Mi),Y.pixelStorei(Y.UNPACK_SKIP_IMAGES,Qi),ee===0&&$.generateMipmaps&&Y.generateMipmap(ct),pe.unbindTexture()},this.initTexture=function(O){O.isCubeTexture?ke.setTextureCube(O,0):O.isData3DTexture?ke.setTexture3D(O,0):O.isDataArrayTexture||O.isCompressedArrayTexture?ke.setTexture2DArray(O,0):ke.setTexture2D(O,0),pe.unbindTexture()},this.resetState=function(){P=0,C=0,b=null,pe.reset(),yt.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return As}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===Vg?"display-p3":"srgb",t.unpackColorSpace=Vt.workingColorSpace===Uf?"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 jg{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new Te(e),this.density=t}clone(){return new jg(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class Jg{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new Te(e),this.near=t,this.far=i}clone(){return new Jg(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class pg extends Et{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 Bi,this.environmentIntensity=1,this.environmentRotation=new Bi,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class yu{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=Af,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=lr()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return FI("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:th.clone(),uv:sr.getInterpolation(th,Op,ih,Fp,Nw,w_,Uw,new le),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 Np(n,e,t,i,r,s){hc.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(nh.x=s*hc.x-r*hc.y,nh.y=r*hc.x+s*hc.y):nh.copy(hc),n.copy(e),n.x+=nh.x,n.y+=nh.y,n.applyMatrix4(qI)}const Up=new D,kw=new D;class eB extends Et{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){Up.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(Up);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Up.setFromMatrixPosition(e.matrixWorld),kw.setFromMatrixPosition(this.matrixWorld);const i=Up.distanceTo(kw)/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 dc="batchId",Bo=new Ne,Kw=new Ne,EH=new Ne,Yw=new Ne,R_=new Gf,Hp=new qn,Pa=new Tn,oh=new D,b_=new MH,yi=new Kt,Gp=[];function wH(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 st(a,1))}const o=r>65536?new Uint32Array(i):new Uint16Array(i);t.setAttribute(dc,new st(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(dc))throw new Error(`BatchedMesh: Geometry cannot use attribute "${dc}"`);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===dc)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 qn);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(),f=u!==null;if(f&&(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 d=this._visibility,p=this._active,m=this._matricesTexture,_=this._matricesTexture.image.data;d.push(!0),p.push(!0);const S=this._geometryCount;this._geometryCount++,EH.toArray(_,S*16),m.needsUpdate=!0,o.push(r),a.push({start:f?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new qn,sphereInitialized:!1,sphere:new Tn});const y=this.geometry.getAttribute(dc);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===dc)continue;const _=t.getAttribute(m),S=i.getAttribute(m);wH(_,S,l);const y=_.itemSize;for(let g=_.count,x=u;g=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getInstanceCountAt(e){return this._multiDrawInstances===null?null:this._multiDrawInstances[e]}setInstanceCountAt(e,t){return this._multiDrawInstances===null&&(this._multiDrawInstances=new Int32Array(this._maxGeometryCount).fill(1)),this._multiDrawInstances[e]=t,e}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 f=u.start,d=u.start+u.count;f=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;yi.material=this.material,yi.geometry.index=l.index,yi.geometry.attributes=l.attributes,yi.geometry.boundingBox===null&&(yi.geometry.boundingBox=new qn),yi.geometry.boundingSphere===null&&(yi.geometry.boundingSphere=new Tn);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,f=this._multiDrawStarts,d=this._multiDrawCounts,p=this._drawRanges,m=this.perObjectFrustumCulled;m&&(Yw.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),R_.setFromProjectionMatrix(Yw,e.coordinateSystem));let _=0;if(this.sortObjects){Kw.copy(this.matrixWorld).invert(),oh.setFromMatrixPosition(i.matrixWorld).applyMatrix4(Kw);for(let g=0,x=u.length;g0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;si)return;P_.applyMatrix4(n.matrixWorld);const l=e.ray.origin.distanceTo(P_);if(!(le.far))return{distance:l,point:Zw.clone().applyMatrix4(n.matrixWorld),index:r,face:null,faceIndex:null,object:n}}const qw=new D,$w=new D;class Nr extends Cs{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,i=[];for(let r=0,s=t.count;r0){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 TH extends Yt{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:ln,this.magFilter=s!==void 0?s:ln,this.generateMipmaps=!1;const f=this;function d(){f.needsUpdate=!0,e.requestVideoFrameCallback(d)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(d)}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 CH extends Yt{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=Dn,this.minFilter=Dn,this.generateMipmaps=!1,this.needsUpdate=!0}}class Zg extends Yt{constructor(e,t,i,r,s,o,a,l,u,f,d,p){super(null,o,a,l,u,f,r,s,d,p),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class RH extends Zg{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=Vi}}class bH extends Zg{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,oo),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class PH extends Yt{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 as{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 f=i[r],p=i[r+1]-f,m=(o-f)/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 le:new D);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 D,r=[],s=[],o=[],a=new D,l=new Ne;for(let m=0;m<=e;m++){const _=m/e;r[m]=this.getTangentAt(_,new D)}s[0]=new D,o[0]=new D;let u=Number.MAX_VALUE;const f=Math.abs(r[0].x),d=Math.abs(r[0].y),p=Math.abs(r[0].z);f<=u&&(u=f,i.set(1,0,0)),d<=u&&(u=d,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 _=Math.acos(An(r[m-1].dot(r[m]),-1,1));s[m].applyMatrix4(l.makeRotationAxis(a,_))}o[m].crossVectors(r[m],s[m])}if(t===!0){let m=Math.acos(An(s[0].dot(s[e]),-1,1));m/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(m=-m);for(let _=1;_<=e;_++)s[_].applyMatrix4(l.makeRotationAxis(r[_],m*_)),o[_].crossVectors(r[_],s[_])}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 qg extends as{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 le){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,f;this.closed||a>0?u=r[(a-1)%s]:(Jp.subVectors(r[0],r[1]).add(r[0]),u=Jp);const d=r[a%s],p=r[(a+1)%s];if(this.closed||a+2r.length-2?r.length-1:o+1],d=r[o>r.length-3?r.length-1:o+2];return i.set(nT(a,l.x,u.x,f.x,d.x),nT(a,l.y,u.y,f.y,d.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 d=u.getPoint(0);d.equals(this.currentPoint)||this.lineTo(d.x,d.y)}this.curves.push(u);const f=u.getPoint(1);return this.currentPoint.copy(f),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 jf extends ot{constructor(e=[new le(0,-.5),new le(.5,0),new le(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=An(r,0,Math.PI*2);const s=[],o=[],a=[],l=[],u=[],f=1/t,d=new D,p=new le,m=new D,_=new D,S=new D;let y=0,g=0;for(let x=0;x<=e.length-1;x++)switch(x){case 0:y=e[x+1].x-e[x].x,g=e[x+1].y-e[x].y,m.x=g*1,m.y=-y,m.z=g*0,S.copy(m),m.normalize(),l.push(m.x,m.y,m.z);break;case e.length-1:l.push(S.x,S.y,S.z);break;default:y=e[x+1].x-e[x].x,g=e[x+1].y-e[x].y,m.x=g*1,m.y=-y,m.z=g*0,_.copy(m),m.x+=S.x,m.y+=S.y,m.z+=S.z,m.normalize(),l.push(m.x,m.y,m.z),S.copy(_)}for(let x=0;x<=t;x++){const M=i+x*f*r,E=Math.sin(M),P=Math.cos(M);for(let C=0;C<=e.length-1;C++){d.x=e[C].x*E,d.y=e[C].y,d.z=e[C].x*P,o.push(d.x,d.y,d.z),p.x=x/t,p.y=C/(e.length-1),a.push(p.x,p.y);const b=l[3*C+0]*E,L=l[3*C+1],I=l[3*C+0]*P;u.push(b,L,I)}}for(let x=0;x0&&M(!0),t>0&&M(!1)),this.setIndex(f),this.setAttribute("position",new We(d,3)),this.setAttribute("normal",new We(p,3)),this.setAttribute("uv",new We(m,2));function x(){const E=new D,P=new D;let C=0;const b=(t-e)/i;for(let L=0;L<=s;L++){const I=[],R=L/s,U=R*(t-e)+e;for(let K=0;K<=r;K++){const z=K/r,te=z*l+a,ie=Math.sin(te),he=Math.cos(te);P.x=U*ie,P.y=-R*i+y,P.z=U*he,d.push(P.x,P.y,P.z),E.set(ie,b,he).normalize(),p.push(E.x,E.y,E.z),m.push(z,1-R),I.push(_++)}S.push(I)}for(let L=0;L.9&&b<.1&&(M<.2&&(o[x+0]+=1),E<.2&&(o[x+2]+=1),P<.2&&(o[x+4]+=1))}}function p(x){s.push(x.x,x.y,x.z)}function m(x,M){const E=x*3;M.x=e[E+0],M.y=e[E+1],M.z=e[E+2]}function _(){const x=new D,M=new D,E=new D,P=new D,C=new le,b=new le,L=new le;for(let I=0,R=0;I80*t){a=u=n[0],l=f=n[1];for(let _=t;_u&&(u=d),p>f&&(f=p);m=Math.max(u-a,f-l),m=m!==0?32767/m:0}return wf(s,o,t,a,l,m,0),o}};function lB(n,e,t,i,r){let s,o;if(r===eG(n,e,t,i)>0)for(s=e;s=e;s-=i)o=iT(s,n[s],n[s+1],o);return o&&r0(o,o.next)&&(Cf(o),o=o.next),o}function vl(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(r0(t,t.next)||mn(t.prev,t,t.next)===0)){if(Cf(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function wf(n,e,t,i,r,s,o){if(!n)return;!o&&s&&KH(n,i,r,s);let a=n,l,u;for(;n.prev!==n.next;){if(l=n.prev,u=n.next,s?zH(n,i,r,s):kH(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(u.i/t|0),Cf(n),n=u.next,a=u.next;continue}if(n=u,n===a){o?o===1?(n=HH(vl(n),e,t),wf(n,e,t,i,r,s,2)):o===2&&GH(n,e,t,i,r,s):wf(vl(n),e,t,i,r,s,1);break}}}function kH(n){const e=n.prev,t=n,i=n.next;if(mn(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,f=rs?r>o?r:o:s>o?s:o,m=a>l?a>u?a:u:l>u?l:u;let _=i.next;for(;_!==e;){if(_.x>=f&&_.x<=p&&_.y>=d&&_.y<=m&&kc(r,a,s,l,o,u,_.x,_.y)&&mn(_.prev,_,_.next)>=0)return!1;_=_.next}return!0}function zH(n,e,t,i){const r=n.prev,s=n,o=n.next;if(mn(r,s,o)>=0)return!1;const a=r.x,l=s.x,u=o.x,f=r.y,d=s.y,p=o.y,m=al?a>u?a:u:l>u?l:u,y=f>d?f>p?f:p:d>p?d:p,g=$x(m,_,e,t,i),x=$x(S,y,e,t,i);let M=n.prevZ,E=n.nextZ;for(;M&&M.z>=g&&E&&E.z<=x;){if(M.x>=m&&M.x<=S&&M.y>=_&&M.y<=y&&M!==r&&M!==o&&kc(a,f,l,d,u,p,M.x,M.y)&&mn(M.prev,M,M.next)>=0||(M=M.prevZ,E.x>=m&&E.x<=S&&E.y>=_&&E.y<=y&&E!==r&&E!==o&&kc(a,f,l,d,u,p,E.x,E.y)&&mn(E.prev,E,E.next)>=0))return!1;E=E.nextZ}for(;M&&M.z>=g;){if(M.x>=m&&M.x<=S&&M.y>=_&&M.y<=y&&M!==r&&M!==o&&kc(a,f,l,d,u,p,M.x,M.y)&&mn(M.prev,M,M.next)>=0)return!1;M=M.prevZ}for(;E&&E.z<=x;){if(E.x>=m&&E.x<=S&&E.y>=_&&E.y<=y&&E!==r&&E!==o&&kc(a,f,l,d,u,p,E.x,E.y)&&mn(E.prev,E,E.next)>=0)return!1;E=E.nextZ}return!0}function HH(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!r0(r,s)&&cB(r,i,i.next,s)&&Tf(r,s)&&Tf(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),Cf(i),Cf(i.next),i=n=s),i=i.next}while(i!==n);return vl(i)}function GH(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&ZH(o,a)){let l=uB(o,a);o=vl(o,o.next),l=vl(l,l.next),wf(o,e,t,i,r,s,0),wf(l,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function VH(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&&kc(or.x||t.x===r.x&&JH(r,t)))&&(r=t,f=d)),t=t.next;while(t!==a);return r}function JH(n,e){return mn(n.prev,n,e.prev)<0&&mn(e.next,n,n.next)<0}function KH(n,e,t,i){let r=n;do r.z===0&&(r.z=$x(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,YH(r)}function YH(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 $x(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 QH(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 ZH(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!qH(n,e)&&(Tf(n,e)&&Tf(e,n)&&$H(n,e)&&(mn(n.prev,n,e.prev)||mn(n,e.prev,e))||r0(n,e)&&mn(n.prev,n,n.next)>0&&mn(e.prev,e,e.next)>0)}function mn(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function r0(n,e){return n.x===e.x&&n.y===e.y}function cB(n,e,t,i){const r=qp(mn(n,e,t)),s=qp(mn(n,e,i)),o=qp(mn(t,i,n)),a=qp(mn(t,i,e));return!!(r!==s&&o!==a||r===0&&Zp(n,t,e)||s===0&&Zp(n,i,e)||o===0&&Zp(t,n,i)||a===0&&Zp(t,e,i))}function Zp(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 qp(n){return n>0?1:n<0?-1:0}function qH(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&&cB(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function Tf(n,e){return mn(n.prev,n,n.next)<0?mn(n,e,n.next)>=0&&mn(n,n.prev,e)>=0:mn(n,e,n.prev)<0||mn(n,n.next,e)<0}function $H(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 uB(n,e){const t=new eA(n.i,n.x,n.y),i=new eA(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 iT(n,e,t,i){const r=new eA(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 Cf(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 eA(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 eG(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function sT(n,e){for(let t=0;tNumber.EPSILON){const me=Math.sqrt(de),Qe=Math.sqrt(B*B+q*q),Be=ge.x-k/me,Ie=ge.y+Ze/me,ht=pe.x-q/Qe,Ce=pe.y+B/Qe,Ke=((ht-Be)*q-(Ce-Ie)*B)/(Ze*q-k*B);be=Be+Ze*Ke-ce.x,Ae=Ie+k*Ke-ce.y;const wt=be*be+Ae*Ae;if(wt<=2)return new le(be,Ae);ke=Math.sqrt(wt/2)}else{let me=!1;Ze>Number.EPSILON?B>Number.EPSILON&&(me=!0):Ze<-Number.EPSILON?B<-Number.EPSILON&&(me=!0):Math.sign(k)===Math.sign(q)&&(me=!0),me?(be=-k,Ae=Ze,ke=Math.sqrt(de)):(be=Ze,Ae=k,ke=Math.sqrt(de/2))}return new le(be/ke,Ae/ke)}const W=[];for(let ce=0,ge=te.length,pe=ge-1,be=ce+1;ce=0;ce--){const ge=ce/y,pe=m*Math.cos(ge*Math.PI/2),be=_*Math.sin(ge*Math.PI/2)+S;for(let Ae=0,ke=te.length;Ae=0;){const be=pe;let Ae=pe-1;Ae<0&&(Ae=ce.length-1);for(let ke=0,Ze=f+y*2;ke0)&&m.push(M,E,C),(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 dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class pB extends rn{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Te(16777215),this.specular=new Te(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Te(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ua,this.normalScale=new le(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Bi,this.combine=Df,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 mB extends rn{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Te(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Te(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ua,this.normalScale=new le(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 gB extends rn{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ua,this.normalScale=new le(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 vB extends rn{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Te(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Te(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ua,this.normalScale=new le(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Bi,this.combine=Df,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 _B extends rn{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Te(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ua,this.normalScale=new le(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 yB extends li{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 qa(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 xB(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function AB(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 tA(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 FS(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 rG(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let l=0;l=i)){d.push(u.times[m]);for(let S=0;Ss.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[_]){const g=_*d+f,x=g+d-f;S=a.values.slice(g,x)}else{const g=a.createInterpolant(),x=f,M=d-f;g.evaluate(s),S=g.resultBuffer.slice(x,M)}l==="quaternion"&&new zt().fromArray(S).normalize().conjugate().toArray(S);const y=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&&xB(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()===Nm,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}}ls.prototype.TimeBufferType=Float32Array;ls.prototype.ValueBufferType=Float32Array;ls.prototype.DefaultInterpolation=ao;class wl extends ls{}wl.prototype.ValueTypeName="bool";wl.prototype.ValueBufferType=Array;wl.prototype.DefaultInterpolation=ml;wl.prototype.InterpolantFactoryMethodLinear=void 0;wl.prototype.InterpolantFactoryMethodSmooth=void 0;class US extends ls{}US.prototype.ValueTypeName="color";class co extends ls{}co.prototype.ValueTypeName="number";class EB extends El{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 f=u+a;u!==f;u+=4)zt.slerpFlat(s,0,o,u-a,o,u,l);return s}}class Rs extends ls{InterpolantFactoryMethodLinear(e){return new EB(this.times,this.values,this.getValueSize(),e)}}Rs.prototype.ValueTypeName="quaternion";Rs.prototype.DefaultInterpolation=ao;Rs.prototype.InterpolantFactoryMethodSmooth=void 0;class Tl extends ls{}Tl.prototype.ValueTypeName="string";Tl.prototype.ValueBufferType=Array;Tl.prototype.DefaultInterpolation=ml;Tl.prototype.InterpolantFactoryMethodLinear=void 0;Tl.prototype.InterpolantFactoryMethodSmooth=void 0;class uo extends ls{}uo.prototype.ValueTypeName="vector";class _l{constructor(e="",t=-1,i=[],r=Gg){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=lr(),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(lG(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(ls.toJSON(i[s]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const s=t.length,o=[];for(let a=0;a1){const d=f[1];let p=r[d];p||(r[d]=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(d,p,m,_,S){if(m.length!==0){const y=[],g=[];FS(m,y,g,_),y.length!==0&&S.push(new d(p,y,g))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const u=e.hierarchy||[];for(let d=0;d{t&&t(s),this.manager.itemEnd(e)},0),s;if(Hs[e]!==void 0){Hs[e].push({onLoad:t,onProgress:i,onError:r});return}Hs[e]=[],Hs[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 f=Hs[e],d=u.body.getReader(),p=u.headers.get("X-File-Size")||u.headers.get("Content-Length"),m=p?parseInt(p):0,_=m!==0;let S=0;const y=new ReadableStream({start(g){x();function x(){d.read().then(({done:M,value:E})=>{if(M)g.close();else{S+=E.byteLength;const P=new ProgressEvent("progress",{lengthComputable:_,loaded:S,total:m});for(let C=0,b=f.length;C{switch(l){case"arraybuffer":return u.arrayBuffer();case"blob":return u.blob();case"document":return u.text().then(f=>new DOMParser().parseFromString(f,a));case"json":return u.json();default:if(a===void 0)return u.text();{const d=/charset="?([^;"\s]*)"?/i.exec(a),p=d&&d[1]?d[1].toLowerCase():void 0,m=new TextDecoder(p);return u.arrayBuffer().then(_=>m.decode(_))}}}).then(u=>{qs.add(e,u);const f=Hs[e];delete Hs[e];for(let d=0,p=f.length;d{const f=Hs[e];if(f===void 0)throw this.manager.itemError(e),u;delete Hs[e];for(let d=0,p=f.length;d{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class uG extends ci{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new Li(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 Te().setHex(o.value);break;case"v2":r.uniforms[s].value=new le().fromArray(o.value);break;case"v3":r.uniforms[s].value=new D().fromArray(o.value);break;case"v4":r.uniforms[s].value=new Lt().fromArray(o.value);break;case"m3":r.uniforms[s].value=new gt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new Ne().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 le().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 le().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:fB,SpriteMaterial:PS,RawShaderMaterial:dB,ShaderMaterial:hr,PointsMaterial:Xf,MeshPhysicalMaterial:Sn,MeshStandardMaterial:Ml,MeshPhongMaterial:pB,MeshToonMaterial:mB,MeshNormalMaterial:gB,MeshLambertMaterial:vB,MeshDepthMaterial:RS,MeshDistanceMaterial:bS,MeshBasicMaterial:On,MeshMatcapMaterial:_B,LineDashedMaterial:yB,LineBasicMaterial:li,Material:rn};return new t[e]}}class cr{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 kS(t);s=new Rf(l),s.setCrossOrigin(this.crossOrigin);for(let u=0,f=e.length;u0){r=new Rf(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const y=new qn;y.min.fromArray(S.boxMin),y.max.fromArray(S.boxMax);const g=new Tn;return g.radius=S.sphereRadius,g.center.fromArray(S.sphereCenter),{boxInitialized:S.boxInitialized,box:y,sphereInitialized:S.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 eB;break;case"Line":o=new Cs(a(e.geometry),l(e.material));break;case"LineLoop":o=new Yg(a(e.geometry),l(e.material));break;case"LineSegments":o=new Nr(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new Qg(a(e.geometry),l(e.material));break;case"Sprite":o=new $I(l(e.material));break;case"Group":o=new Lr;break;case"Bone":o=new Vf;break;default:o=new Et}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=qs.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 qs.add(e,u),t&&t(u),s.manager.itemEnd(e),u}).catch(function(u){r&&r(u),qs.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});qs.add(e,l),s.manager.itemStart(e)}}let $p;class VS{static getContext(){return $p===void 0&&($p=new(window.AudioContext||window.webkitAudioContext)),$p}static setContext(e){$p=e}}class yG extends ci{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new Li(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);VS.getContext().decodeAudioData(u,function(d){t(d)}).catch(a)}catch(u){a(u)}},i,r);function a(l){r?r(l):console.error(l),s.manager.itemError(e)}}}const dT=new Ne,pT=new Ne,Ia=new Ne;class xG{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Bn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Bn,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,Ia.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(ol*t.fov*.5)/t.zoom;let a,l;pT.elements[12]=-r,dT.elements[12]=r,a=-o*t.aspect+s,l=o*t.aspect+s,Ia.elements[0]=2*t.near/(l-a),Ia.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(Ia),a=-o*t.aspect-s,l=o*t.aspect-s,Ia.elements[0]=2*t.near/(l-a),Ia.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(Ia)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(pT),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(dT)}}class WS{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=mT(),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=mT();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function mT(){return(typeof performance>"u"?Date:performance).now()}const Ba=new D,gT=new zt,AG=new D,La=new D;class SG extends Et{constructor(){super(),this.type="AudioListener",this.context=VS.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new WS}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(Ba,gT,AG),La.set(0,0,-1).applyQuaternion(gT),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Ba.x,r),t.positionY.linearRampToValueAtTime(Ba.y,r),t.positionZ.linearRampToValueAtTime(Ba.z,r),t.forwardX.linearRampToValueAtTime(La.x,r),t.forwardY.linearRampToValueAtTime(La.y,r),t.forwardZ.linearRampToValueAtTime(La.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition(Ba.x,Ba.y,Ba.z),t.setOrientation(La.x,La.y,La.z,i.x,i.y,i.z)}}class LB extends Et{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){zt.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;zt.multiplyQuaternionsFlat(e,o,e,t,e,i),zt.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 XS="\\[\\]\\.:\\/",TG=new RegExp("["+XS+"]","g"),jS="[^"+XS+"]",CG="[^"+XS.replace("\\.","")+"]",RG=/((?:WC+[\/:])*)/.source.replace("WC",jS),bG=/(WCOD+)?/.source.replace("WCOD",CG),PG=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",jS),IG=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",jS),BG=new RegExp("^"+RG+bG+PG+IG+"$"),LG=["material","materials","bones","map"];class DG{constructor(e,t,i){const r=i||It.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 It{constructor(e,t,i){this.path=t,this.parsedPath=i||It.parseTrackName(t),this.node=It.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 It.Composite(e,t,i):new It(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(TG,"")}static parseTrackName(e){const t=BG.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);LG.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 d=s++,p=e[d];t[p.uuid]=f,e[f]=p,t[u]=d,e[d]=l;for(let m=0,_=r;m!==_;++m){const S=i[m],y=S[d],g=S[f];S[f]=y,S[d]=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],f=u.uuid,d=t[f];if(d!==void 0)if(delete t[f],d0&&(t[m.uuid]=d),e[d]=m,e.pop();for(let _=0,S=r;_!==S;++_){const y=i[_];y[d]=y[p],y.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,f=this.nCachedObjects_,d=new Array(u);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(d);for(let p=f,m=l.length;p!==m;++p){const _=l[p];d[p]=new It(_,e,t)}return d}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 OB{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:Ya,endingEnd:Ya};for(let u=0;u!==o;++u){const f=s[u].createInterpolant(null);a[u]=f,f.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=SI,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 _S:for(let f=0,d=l.length;f!==d;++f)l[f].evaluate(o),u[f].accumulateAdditive(a);break;case Gg:default:for(let f=0,d=l.length;f!==d;++f)l[f].evaluate(o),u[f].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===MI;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===AI){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=Qa,r.endingEnd=Qa):(e?r.endingStart=this.zeroSlopeAtStart?Qa:Ya:r.endingStart=vf,t?r.endingEnd=this.zeroSlopeAtEnd?Qa:Ya:r.endingEnd=vf)}_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 FG=new Float32Array(1);class NG extends fo{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 f=u[l];f===void 0&&(f={},u[l]=f);for(let d=0;d!==s;++d){const p=r[d],m=p.name;let _=f[m];if(_!==void 0)++_.referenceCount,o[d]=_;else{if(_=o[d],_!==void 0){_._cacheIndex===null&&(++_.referenceCount,this._addInactiveBinding(_,l,m));continue}const S=t&&t._propertyBindings[d].binding.parsedPath;_=new DB(It.create(i,m,S),p.ValueTypeName,p.getValueSize()),++_.referenceCount,this._addInactiveBinding(_,l,m),o[d]=_}a[d].resultBuffer=_.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,xT).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 AT=new D,em=new D;class NB{constructor(e=new D,t=new D){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){AT.subVectors(e,this.start),em.subVectors(this.end,this.start);const i=em.dot(em);let s=em.dot(AT)/i;return t&&(s=An(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 ST=new D;class VG extends Et{constructor(e,t){super(),this.light=e,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const i=new ot,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 d=0;d.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{CT.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(CT,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 n4 extends Nr{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 ot;r.setAttribute("position",new We(t,3)),r.setAttribute("color",new We(i,3));const s=new li({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new Te,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 i4{constructor(){this.type="ShapePath",this.color=new Te,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new Ef,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 x=[];for(let M=0,E=g.length;MNumber.EPSILON){if(R<0&&(b=x[C],I=-I,L=x[P],R=-R),g.yL.y)continue;if(g.y===b.y){if(g.x===b.x)return!0}else{const U=R*(g.x-b.x)-I*(g.y-b.y);if(U===0)return!0;if(U<0)continue;E=!E}}else{if(g.y!==b.y)continue;if(L.x<=g.x&&g.x<=b.x||b.x<=g.x&&g.x<=L.x)return!0}}return E}const r=ws.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 na,l.curves=a.curves,u.push(l),u;let f=!r(s[0].getPoints());f=e?!f:f;const d=[],p=[];let m=[],_=0,S;p[_]=void 0,m[_]=[];for(let g=0,x=s.length;g1){let g=!1,x=0;for(let M=0,E=p.length;M0&&g===!1&&(m=d)}let y;for(let g=0,x=p.length;g{const d=typeof u=="function"?u(e):u;if(d!==e){const p=e;e=f?d:Object.assign({},e,d),t.forEach(m=>m(e,p))}},r=()=>e,s=(u,f=r,d=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let p=f(e);function m(){const _=f(e);if(!d(p,_)){const S=p;u(p=_,S)}}return t.add(m),()=>t.delete(m)},l={setState:i,getState:r,subscribe:(u,f,d)=>f||d?s(u,f,d):(t.add(u),()=>t.delete(u)),destroy:()=>t.clear()};return e=n(i,r,l),l}const a4=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),RT=a4?V.useEffect:V.useLayoutEffect;function zB(n){const e=typeof n=="function"?o4(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=V.useReducer(y=>y+1,0),o=e.getState(),a=V.useRef(o),l=V.useRef(i),u=V.useRef(r),f=V.useRef(!1),d=V.useRef();d.current===void 0&&(d.current=i(o));let p,m=!1;(a.current!==o||l.current!==i||u.current!==r||f.current)&&(p=i(o),m=!r(d.current,p)),RT(()=>{m&&(d.current=p),a.current=o,l.current=i,u.current=r,f.current=!1});const _=V.useRef(o);RT(()=>{const y=()=>{try{const x=e.getState(),M=l.current(x);u.current(d.current,M)||(a.current=x,d.current=M,s())}catch{f.current=!0,s()}},g=e.subscribe(y);return e.getState()!==_.current&&y(),g},[]);const S=m?p:d.current;return V.useDebugValue(S),S};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 HB={exports:{}},GB={exports:{}},VB={};/** + * @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(F,W){var H=F.length;F.push(W);e:for(;0>>1,Ee=F[oe];if(0>>1;oer(ye,H))Rer(Se,ye)?(F[oe]=Se,F[Re]=H,oe=Re):(F[oe]=ye,F[ne]=H,oe=ne);else if(Rer(Se,H))F[oe]=Se,F[Re]=H,oe=Re;else break e}}return W}function r(F,W){var H=F.sortIndex-W.sortIndex;return H!==0?H:F.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=[],f=1,d=null,p=3,m=!1,_=!1,S=!1,y=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function M(F){for(var W=t(u);W!==null;){if(W.callback===null)i(u);else if(W.startTime<=F)i(u),W.sortIndex=W.expirationTime,e(l,W);else break;W=t(u)}}function E(F){if(S=!1,M(F),!_)if(t(l)!==null)_=!0,he(P);else{var W=t(u);W!==null&&ve(E,W.startTime-F)}}function P(F,W){_=!1,S&&(S=!1,g(L),L=-1),m=!0;var H=p;try{for(M(W),d=t(l);d!==null&&(!(d.expirationTime>W)||F&&!U());){var oe=d.callback;if(typeof oe=="function"){d.callback=null,p=d.priorityLevel;var Ee=oe(d.expirationTime<=W);W=n.unstable_now(),typeof Ee=="function"?d.callback=Ee:d===t(l)&&i(l),M(W)}else i(l);d=t(l)}if(d!==null)var Ve=!0;else{var ne=t(u);ne!==null&&ve(E,ne.startTime-W),Ve=!1}return Ve}finally{d=null,p=H,m=!1}}var C=!1,b=null,L=-1,I=5,R=-1;function U(){return!(n.unstable_now()-RF||125oe?(F.sortIndex=H,e(u,F),t(l)===null&&F===t(u)&&(S?(g(L),L=-1):S=!0,ve(E,H-oe))):(F.sortIndex=Ee,e(l,F),_||m||(_=!0,he(P))),F},n.unstable_shouldYield=U,n.unstable_wrapCallback=function(F){var W=p;return function(){var H=p;p=W;try{return F.apply(this,arguments)}finally{p=H}}}})(VB);GB.exports=VB;var iA=GB.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 l4=function(e){var t={},i=V,r=iA,s=Object.assign;function o(c){for(var h="https://reactjs.org/docs/error-decoder.html?invariant="+c,v=1;vG||w[N]!==T[G]){var ae=` +`+w[N].replace(" at new "," at ");return c.displayName&&ae.includes("")&&(ae=ae.replace("",c.displayName)),ae}while(1<=N&&0<=G);break}}}finally{sn=!1,Error.prepareStackTrace=v}return(c=c?c.displayName||c.name:"")?ut(c):""}var Mi=Object.prototype.hasOwnProperty,Qi=[],Ct=-1;function $e(c){return{current:c}}function Ht(c){0>Ct||(c.current=Qi[Ct],Qi[Ct]=null,Ct--)}function et(c,h){Ct++,Qi[Ct]=c.current,c.current=h}var ui={},Fn=$e(ui),Rn=$e(!1),kr=ui;function un(c,h){var v=c.type.contextTypes;if(!v)return ui;var A=c.stateNode;if(A&&A.__reactInternalMemoizedUnmaskedChildContext===h)return A.__reactInternalMemoizedMaskedChildContext;var w={},T;for(T in v)w[T]=h[T];return A&&(c=c.stateNode,c.__reactInternalMemoizedUnmaskedChildContext=h,c.__reactInternalMemoizedMaskedChildContext=w),w}function hn(c){return c=c.childContextTypes,c!=null}function go(){Ht(Rn),Ht(Fn)}function Ei(c,h,v){if(Fn.current!==ui)throw Error(o(168));et(Fn,h),et(Rn,v)}function Il(c,h,v){var A=c.stateNode;if(h=h.childContextTypes,typeof A.getChildContext!="function")return v;A=A.getChildContext();for(var w in A)if(!(w in h))throw Error(o(108,L(c)||"Unknown",w));return s({},v,A)}function Bl(c){return c=(c=c.stateNode)&&c.__reactInternalMemoizedMergedChildContext||ui,kr=Fn.current,et(Fn,c),et(Rn,Rn.current),!0}function Mu(c,h,v){var A=c.stateNode;if(!A)throw Error(o(169));v?(c=Il(c,h,kr),A.__reactInternalMemoizedMergedChildContext=c,Ht(Rn),Ht(Fn),et(Fn,c)):Ht(Rn),et(Rn,v)}var zr=Math.clz32?Math.clz32:t2,$L=Math.log,e2=Math.LN2;function t2(c){return c>>>=0,c===0?32:31-($L(c)/e2|0)|0}var sd=64,od=4194304;function Eu(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 ad(c,h){var v=c.pendingLanes;if(v===0)return 0;var A=0,w=c.suspendedLanes,T=c.pingedLanes,N=v&268435455;if(N!==0){var G=N&~w;G!==0?A=Eu(G):(T&=N,T!==0&&(A=Eu(T)))}else N=v&~w,N!==0?A=Eu(N):T!==0&&(A=Eu(T));if(A===0)return 0;if(h!==0&&h!==A&&!(h&w)&&(w=A&-A,T=h&-h,w>=T||w===16&&(T&4194240)!==0))return h;if(A&4&&(A|=v&16),h=c.entangledLanes,h!==0)for(c=c.entanglements,h&=A;0v;v++)h.push(c);return h}function wu(c,h,v){c.pendingLanes|=h,h!==536870912&&(c.suspendedLanes=0,c.pingedLanes=0),c=c.eventTimes,h=31-zr(h),c[h]=v}function r2(c,h){var v=c.pendingLanes&~h;c.pendingLanes=h,c.suspendedLanes=0,c.pingedLanes=0,c.expiredLanes&=h,c.mutableReadLanes&=h,c.entangledLanes&=h,h=c.entanglements;var A=c.eventTimes;for(c=c.expirationTimes;0>=N,w-=N,Bs=1<<32-zr(h)+w|v<Nt?(Kn=dt,dt=null):Kn=dt.sibling;var Ut=qe(Z,dt,se[Nt],Fe);if(Ut===null){dt===null&&(dt=Kn);break}c&&dt&&Ut.alternate===null&&h(Z,dt),j=T(Ut,j,Nt),At===null?Je=Ut:At.sibling=Ut,At=Ut,dt=Kn}if(Nt===se.length)return v(Z,dt),on&&ga(Z,Nt),Je;if(dt===null){for(;NtNt?(Kn=dt,dt=null):Kn=dt.sibling;var Eo=qe(Z,dt,Ut.value,Fe);if(Eo===null){dt===null&&(dt=Kn);break}c&&dt&&Eo.alternate===null&&h(Z,dt),j=T(Eo,j,Nt),At===null?Je=Eo:At.sibling=Eo,At=Eo,dt=Kn}if(Ut.done)return v(Z,dt),on&&ga(Z,Nt),Je;if(dt===null){for(;!Ut.done;Nt++,Ut=se.next())Ut=ft(Z,Ut.value,Fe),Ut!==null&&(j=T(Ut,j,Nt),At===null?Je=Ut:At.sibling=Ut,At=Ut);return on&&ga(Z,Nt),Je}for(dt=A(Z,dt);!Ut.done;Nt++,Ut=se.next())Ut=Jt(dt,Z,Nt,Ut.value,Fe),Ut!==null&&(c&&Ut.alternate!==null&&dt.delete(Ut.key===null?Nt:Ut.key),j=T(Ut,j,Nt),At===null?Je=Ut:At.sibling=Ut,At=Ut);return c&&dt.forEach(function(V2){return h(Z,V2)}),on&&ga(Z,Nt),Je}function Ar(Z,j,se,Fe){if(typeof se=="object"&&se!==null&&se.type===f&&se.key===null&&(se=se.props.children),typeof se=="object"&&se!==null){switch(se.$$typeof){case l:e:{for(var Je=se.key,At=j;At!==null;){if(At.key===Je){if(Je=se.type,Je===f){if(At.tag===7){v(Z,At.sibling),j=w(At,se.props.children),j.return=Z,Z=j;break e}}else if(At.elementType===Je||typeof Je=="object"&&Je!==null&&Je.$$typeof===M&&wM(Je)===At.type){v(Z,At.sibling),j=w(At,se.props),j.ref=Ru(Z,At,se),j.return=Z,Z=j;break e}v(Z,At);break}else h(Z,At);At=At.sibling}se.type===f?(j=Ma(se.props.children,Z.mode,Fe,se.key),j.return=Z,Z=j):(Fe=Yd(se.type,se.key,se.props,null,Z.mode,Fe),Fe.ref=Ru(Z,j,se),Fe.return=Z,Z=Fe)}return N(Z);case u:e:{for(At=se.key;j!==null;){if(j.key===At)if(j.tag===4&&j.stateNode.containerInfo===se.containerInfo&&j.stateNode.implementation===se.implementation){v(Z,j.sibling),j=w(j,se.children||[]),j.return=Z,Z=j;break e}else{v(Z,j);break}else h(Z,j);j=j.sibling}j=Tv(se,Z.mode,Fe),j.return=Z,Z=j}return N(Z);case M:return At=se._init,Ar(Z,j,At(se._payload),Fe)}if(ie(se))return Ye(Z,j,se,Fe);if(C(se))return pi(Z,j,se,Fe);_d(Z,se)}return typeof se=="string"&&se!==""||typeof se=="number"?(se=""+se,j!==null&&j.tag===6?(v(Z,j.sibling),j=w(j,se),j.return=Z,Z=j):(v(Z,j),j=wv(se,Z.mode,Fe),j.return=Z,Z=j),N(Z)):v(Z,j)}return Ar}var Ul=TM(!0),CM=TM(!1),bu={},vr=$e(bu),Pu=$e(bu),kl=$e(bu);function ds(c){if(c===bu)throw Error(o(174));return c}function V0(c,h){et(kl,h),et(Pu,c),et(vr,bu),c=ve(h),Ht(vr),et(vr,c)}function zl(){Ht(vr),Ht(Pu),Ht(kl)}function RM(c){var h=ds(kl.current),v=ds(vr.current);h=F(v,c.type,h),v!==h&&(et(Pu,c),et(vr,h))}function W0(c){Pu.current===c&&(Ht(vr),Ht(Pu))}var fn=$e(0);function yd(c){for(var h=c;h!==null;){if(h.tag===13){var v=h.memoizedState;if(v!==null&&(v=v.dehydrated,v===null||pa(v)||bl(v)))return h}else if(h.tag===19&&h.memoizedProps.revealOrder!==void 0){if(h.flags&128)return h}else if(h.child!==null){h.child.return=h,h=h.child;continue}if(h===c)break;for(;h.sibling===null;){if(h.return===null||h.return===c)return null;h=h.return}h.sibling.return=h.return,h=h.sibling}return null}var X0=[];function j0(){for(var c=0;cv?v:4,c(!0);var A=_r.transition;_r.transition={};try{c(!1),h()}finally{Ft=v,_r.transition=A}}function GM(){return ps().memoizedState}function g2(c,h,v){var A=Ao(c);v={lane:A,action:v,hasEagerState:!1,eagerState:null,next:null},VM(c)?WM(h,v):(XM(c,h,v),v=Ti(),c=yr(c,A,v),c!==null&&jM(c,h,A))}function v2(c,h,v){var A=Ao(c),w={lane:A,action:v,hasEagerState:!1,eagerState:null,next:null};if(VM(c))WM(h,w);else{XM(c,h,w);var T=c.alternate;if(c.lanes===0&&(T===null||T.lanes===0)&&(T=h.lastRenderedReducer,T!==null))try{var N=h.lastRenderedState,G=T(N,v);if(w.hasEagerState=!0,w.eagerState=G,us(G,N))return}catch{}finally{}v=Ti(),c=yr(c,A,v),c!==null&&jM(c,h,A)}}function VM(c){var h=c.alternate;return c===_n||h!==null&&h===_n}function WM(c,h){Iu=Ad=!0;var v=c.pending;v===null?h.next=h:(h.next=v.next,v.next=h),c.pending=h}function XM(c,h,v){bn!==null&&c.mode&1&&!(Mt&2)?(c=h.interleaved,c===null?(v.next=v,fs===null?fs=[h]:fs.push(h)):(v.next=c.next,c.next=v),h.interleaved=v):(c=h.pending,c===null?v.next=v:(v.next=c.next,c.next=v),h.pending=v)}function jM(c,h,v){if(v&4194240){var A=h.lanes;A&=c.pendingLanes,v|=A,h.lanes=v,T0(c,v)}}var Td={readContext:pr,useCallback:fi,useContext:fi,useEffect:fi,useImperativeHandle:fi,useInsertionEffect:fi,useLayoutEffect:fi,useMemo:fi,useReducer:fi,useRef:fi,useState:fi,useDebugValue:fi,useDeferredValue:fi,useTransition:fi,useMutableSource:fi,useSyncExternalStore:fi,useId:fi,unstable_isNewReconciler:!1},_2={readContext:pr,useCallback:function(c,h){return Ds().memoizedState=[c,h===void 0?null:h],c},useContext:pr,useEffect:Z0,useImperativeHandle:function(c,h,v){return v=v!=null?v.concat([c]):null,Ed(4194308,4,UM.bind(null,h,c),v)},useLayoutEffect:function(c,h){return Ed(4194308,4,c,h)},useInsertionEffect:function(c,h){return Ed(4,2,c,h)},useMemo:function(c,h){var v=Ds();return h=h===void 0?null:h,c=c(),v.memoizedState=[c,h],c},useReducer:function(c,h,v){var A=Ds();return h=v!==void 0?v(h):h,A.memoizedState=A.baseState=h,c={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:c,lastRenderedState:h},A.queue=c,c=c.dispatch=g2.bind(null,_n,c),[A.memoizedState,c]},useRef:function(c){var h=Ds();return c={current:c},h.memoizedState=c},useState:Q0,useDebugValue:q0,useDeferredValue:function(c){var h=Q0(c),v=h[0],A=h[1];return Z0(function(){var w=_r.transition;_r.transition={};try{A(c)}finally{_r.transition=w}},[c]),v},useTransition:function(){var c=Q0(!1),h=c[0];return c=m2.bind(null,c[1]),Ds().memoizedState=c,[h,c]},useMutableSource:function(){},useSyncExternalStore:function(c,h,v){var A=_n,w=Ds();if(on){if(v===void 0)throw Error(o(407));v=v()}else{if(v=h(),bn===null)throw Error(o(349));Hl&30||IM(A,h,v)}w.memoizedState=v;var T={value:v,getSnapshot:h};return w.queue=T,Z0(LM.bind(null,A,T,c),[c]),A.flags|=2048,Lu(9,BM.bind(null,A,T,v,h),void 0,null),v},useId:function(){var c=Ds(),h=bn.identifierPrefix;if(on){var v=Ls,A=Bs;v=(A&~(1<<32-zr(A)-1)).toString(32)+v,h=":"+h+"R"+v,v=Bu++,0vv&&(h.flags|=128,A=!0,Nu(w,!1),h.lanes=4194304)}else{if(!A)if(c=yd(T),c!==null){if(h.flags|=128,A=!0,c=c.updateQueue,c!==null&&(h.updateQueue=c,h.flags|=4),Nu(w,!0),w.tail===null&&w.tailMode==="hidden"&&!T.alternate&&!on)return di(h),null}else 2*jn()-w.renderingStartTime>vv&&v!==1073741824&&(h.flags|=128,A=!0,Nu(w,!1),h.lanes=4194304);w.isBackwards?(T.sibling=h.child,h.child=T):(c=w.last,c!==null?c.sibling=T:h.child=T,w.last=T)}return w.tail!==null?(h=w.tail,w.rendering=h,w.tail=h.sibling,w.renderingStartTime=jn(),h.sibling=null,c=fn.current,et(fn,A?c&1|2:c&1),h):(di(h),null);case 22:case 23:return Sv(),A=h.memoizedState!==null,c!==null&&c.memoizedState!==null!==A&&(h.flags|=8192),A&&h.mode&1?er&1073741824&&(di(h),it&&h.subtreeFlags&6&&(h.flags|=8192)):di(h),null;case 24:return null;case 25:return null}throw Error(o(156,h.tag))}var M2=a.ReactCurrentOwner,$i=!1;function wi(c,h,v,A){h.child=c===null?CM(h,null,v,A):Ul(h,c.child,v,A)}function e1(c,h,v,A,w){v=v.render;var T=h.ref;return Dl(h,w),A=K0(c,h,v,A,T,w),v=Y0(),c!==null&&!$i?(h.updateQueue=c.updateQueue,h.flags&=-2053,c.lanes&=~w,Os(c,h,w)):(on&&v&&U0(h),h.flags|=1,wi(c,h,A,w),h.child)}function t1(c,h,v,A,w){if(c===null){var T=v.type;return typeof T=="function"&&!Ev(T)&&T.defaultProps===void 0&&v.compare===null&&v.defaultProps===void 0?(h.tag=15,h.type=T,n1(c,h,T,A,w)):(c=Yd(v.type,null,A,h,h.mode,w),c.ref=h.ref,c.return=h,h.child=c)}if(T=c.child,!(c.lanes&w)){var N=T.memoizedProps;if(v=v.compare,v=v!==null?v:ud,v(N,A)&&c.ref===h.ref)return Os(c,h,w)}return h.flags|=1,c=Mo(T,A),c.ref=h.ref,c.return=h,h.child=c}function n1(c,h,v,A,w){if(c!==null&&ud(c.memoizedProps,A)&&c.ref===h.ref)if($i=!1,(c.lanes&w)!==0)c.flags&131072&&($i=!0);else return h.lanes=c.lanes,Os(c,h,w);return tv(c,h,v,A,w)}function i1(c,h,v){var A=h.pendingProps,w=A.children,T=c!==null?c.memoizedState:null;if(A.mode==="hidden")if(!(h.mode&1))h.memoizedState={baseLanes:0,cachePool:null},et(Gl,er),er|=v;else if(v&1073741824)h.memoizedState={baseLanes:0,cachePool:null},A=T!==null?T.baseLanes:v,et(Gl,er),er|=A;else return c=T!==null?T.baseLanes|v:v,h.lanes=h.childLanes=1073741824,h.memoizedState={baseLanes:c,cachePool:null},h.updateQueue=null,et(Gl,er),er|=c,null;else T!==null?(A=T.baseLanes|v,h.memoizedState=null):A=v,et(Gl,er),er|=A;return wi(c,h,w,v),h.child}function r1(c,h){var v=h.ref;(c===null&&v!==null||c!==null&&c.ref!==v)&&(h.flags|=512,h.flags|=2097152)}function tv(c,h,v,A,w){var T=hn(v)?kr:Fn.current;return T=un(h,T),Dl(h,w),v=K0(c,h,v,A,T,w),A=Y0(),c!==null&&!$i?(h.updateQueue=c.updateQueue,h.flags&=-2053,c.lanes&=~w,Os(c,h,w)):(on&&A&&U0(h),h.flags|=1,wi(c,h,v,w),h.child)}function s1(c,h,v,A,w){if(hn(v)){var T=!0;Bl(h)}else T=!1;if(Dl(h,w),h.stateNode===null)c!==null&&(c.alternate=null,h.alternate=null,h.flags|=2),yM(h,v,A),N0(h,v,A,w),A=!0;else if(c===null){var N=h.stateNode,G=h.memoizedProps;N.props=G;var ae=N.context,we=v.contextType;typeof we=="object"&&we!==null?we=pr(we):(we=hn(v)?kr:Fn.current,we=un(h,we));var Ge=v.getDerivedStateFromProps,ft=typeof Ge=="function"||typeof N.getSnapshotBeforeUpdate=="function";ft||typeof N.UNSAFE_componentWillReceiveProps!="function"&&typeof N.componentWillReceiveProps!="function"||(G!==A||ae!==we)&&xM(h,N,A,we),vo=!1;var qe=h.memoizedState;N.state=qe,pd(h,A,N,w),ae=h.memoizedState,G!==A||qe!==ae||Rn.current||vo?(typeof Ge=="function"&&(F0(h,v,Ge,A),ae=h.memoizedState),(G=vo||_M(h,v,G,A,qe,ae,we))?(ft||typeof N.UNSAFE_componentWillMount!="function"&&typeof N.componentWillMount!="function"||(typeof N.componentWillMount=="function"&&N.componentWillMount(),typeof N.UNSAFE_componentWillMount=="function"&&N.UNSAFE_componentWillMount()),typeof N.componentDidMount=="function"&&(h.flags|=4194308)):(typeof N.componentDidMount=="function"&&(h.flags|=4194308),h.memoizedProps=A,h.memoizedState=ae),N.props=A,N.state=ae,N.context=we,A=G):(typeof N.componentDidMount=="function"&&(h.flags|=4194308),A=!1)}else{N=h.stateNode,pM(c,h),G=h.memoizedProps,we=h.type===h.elementType?G:Hr(h.type,G),N.props=we,ft=h.pendingProps,qe=N.context,ae=v.contextType,typeof ae=="object"&&ae!==null?ae=pr(ae):(ae=hn(v)?kr:Fn.current,ae=un(h,ae));var Jt=v.getDerivedStateFromProps;(Ge=typeof Jt=="function"||typeof N.getSnapshotBeforeUpdate=="function")||typeof N.UNSAFE_componentWillReceiveProps!="function"&&typeof N.componentWillReceiveProps!="function"||(G!==ft||qe!==ae)&&xM(h,N,A,ae),vo=!1,qe=h.memoizedState,N.state=qe,pd(h,A,N,w);var Ye=h.memoizedState;G!==ft||qe!==Ye||Rn.current||vo?(typeof Jt=="function"&&(F0(h,v,Jt,A),Ye=h.memoizedState),(we=vo||_M(h,v,we,A,qe,Ye,ae)||!1)?(Ge||typeof N.UNSAFE_componentWillUpdate!="function"&&typeof N.componentWillUpdate!="function"||(typeof N.componentWillUpdate=="function"&&N.componentWillUpdate(A,Ye,ae),typeof N.UNSAFE_componentWillUpdate=="function"&&N.UNSAFE_componentWillUpdate(A,Ye,ae)),typeof N.componentDidUpdate=="function"&&(h.flags|=4),typeof N.getSnapshotBeforeUpdate=="function"&&(h.flags|=1024)):(typeof N.componentDidUpdate!="function"||G===c.memoizedProps&&qe===c.memoizedState||(h.flags|=4),typeof N.getSnapshotBeforeUpdate!="function"||G===c.memoizedProps&&qe===c.memoizedState||(h.flags|=1024),h.memoizedProps=A,h.memoizedState=Ye),N.props=A,N.state=Ye,N.context=ae,A=we):(typeof N.componentDidUpdate!="function"||G===c.memoizedProps&&qe===c.memoizedState||(h.flags|=4),typeof N.getSnapshotBeforeUpdate!="function"||G===c.memoizedProps&&qe===c.memoizedState||(h.flags|=1024),A=!1)}return nv(c,h,v,A,T,w)}function nv(c,h,v,A,w,T){r1(c,h);var N=(h.flags&128)!==0;if(!A&&!N)return w&&Mu(h,v,!1),Os(c,h,T);A=h.stateNode,M2.current=h;var G=N&&typeof v.getDerivedStateFromError!="function"?null:A.render();return h.flags|=1,c!==null&&N?(h.child=Ul(h,c.child,null,T),h.child=Ul(h,null,G,T)):wi(c,h,G,T),h.memoizedState=A.state,w&&Mu(h,v,!0),h.child}function o1(c){var h=c.stateNode;h.pendingContext?Ei(c,h.pendingContext,h.pendingContext!==h.context):h.context&&Ei(c,h.context,!1),V0(c,h.containerInfo)}function a1(c,h,v,A,w){return Nl(),G0(w),h.flags|=256,wi(c,h,v,A),h.child}var bd={dehydrated:null,treeContext:null,retryLane:0};function Pd(c){return{baseLanes:c,cachePool:null}}function l1(c,h,v){var A=h.pendingProps,w=fn.current,T=!1,N=(h.flags&128)!==0,G;if((G=N)||(G=c!==null&&c.memoizedState===null?!1:(w&2)!==0),G?(T=!0,h.flags&=-129):(c===null||c.memoizedState!==null)&&(w|=1),et(fn,w&1),c===null)return H0(h),c=h.memoizedState,c!==null&&(c=c.dehydrated,c!==null)?(h.mode&1?bl(c)?h.lanes=8:h.lanes=1073741824:h.lanes=1,null):(w=A.children,c=A.fallback,T?(A=h.mode,T=h.child,w={mode:"hidden",children:w},!(A&1)&&T!==null?(T.childLanes=0,T.pendingProps=w):T=Qd(w,A,0,null),c=Ma(c,A,v,null),T.return=h,c.return=h,T.sibling=c,h.child=T,h.child.memoizedState=Pd(v),h.memoizedState=bd,c):iv(h,w));if(w=c.memoizedState,w!==null){if(G=w.dehydrated,G!==null){if(N)return h.flags&256?(h.flags&=-257,Id(c,h,v,Error(o(422)))):h.memoizedState!==null?(h.child=c.child,h.flags|=128,null):(T=A.fallback,w=h.mode,A=Qd({mode:"visible",children:A.children},w,0,null),T=Ma(T,w,v,null),T.flags|=2,A.return=h,T.return=h,A.sibling=T,h.child=A,h.mode&1&&Ul(h,c.child,null,v),h.child.memoizedState=Pd(v),h.memoizedState=bd,T);if(!(h.mode&1))h=Id(c,h,v,null);else if(bl(G))h=Id(c,h,v,Error(o(419)));else if(A=(v&c.childLanes)!==0,$i||A){if(A=bn,A!==null){switch(v&-v){case 4:T=2;break;case 16:T=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:T=32;break;case 536870912:T=268435456;break;default:T=0}A=T&(A.suspendedLanes|v)?0:T,A!==0&&A!==w.retryLane&&(w.retryLane=A,yr(c,A,-1))}Mv(),h=Id(c,h,v,Error(o(421)))}else pa(G)?(h.flags|=128,h.child=c.child,h=F2.bind(null,c),Pl(G,h),h=null):(v=w.treeContext,ge&&(qi=S0(G),Zi=h,on=!0,Gr=null,Tu=!1,v!==null&&(mr[gr++]=Bs,mr[gr++]=Ls,mr[gr++]=ma,Bs=v.id,Ls=v.overflow,ma=h)),h=iv(h,h.pendingProps.children),h.flags|=4096);return h}return T?(A=u1(c,h,A.children,A.fallback,v),T=h.child,w=c.child.memoizedState,T.memoizedState=w===null?Pd(v):{baseLanes:w.baseLanes|v,cachePool:null},T.childLanes=c.childLanes&~v,h.memoizedState=bd,A):(v=c1(c,h,A.children,v),h.memoizedState=null,v)}return T?(A=u1(c,h,A.children,A.fallback,v),T=h.child,w=c.child.memoizedState,T.memoizedState=w===null?Pd(v):{baseLanes:w.baseLanes|v,cachePool:null},T.childLanes=c.childLanes&~v,h.memoizedState=bd,A):(v=c1(c,h,A.children,v),h.memoizedState=null,v)}function iv(c,h){return h=Qd({mode:"visible",children:h},c.mode,0,null),h.return=c,c.child=h}function c1(c,h,v,A){var w=c.child;return c=w.sibling,v=Mo(w,{mode:"visible",children:v}),!(h.mode&1)&&(v.lanes=A),v.return=h,v.sibling=null,c!==null&&(A=h.deletions,A===null?(h.deletions=[c],h.flags|=16):A.push(c)),h.child=v}function u1(c,h,v,A,w){var T=h.mode;c=c.child;var N=c.sibling,G={mode:"hidden",children:v};return!(T&1)&&h.child!==c?(v=h.child,v.childLanes=0,v.pendingProps=G,h.deletions=null):(v=Mo(c,G),v.subtreeFlags=c.subtreeFlags&14680064),N!==null?A=Mo(N,A):(A=Ma(A,T,w,null),A.flags|=2),A.return=h,v.return=h,v.sibling=A,h.child=v,A}function Id(c,h,v,A){return A!==null&&G0(A),Ul(h,c.child,null,v),c=iv(h,h.pendingProps.children),c.flags|=2,h.memoizedState=null,c}function h1(c,h,v){c.lanes|=h;var A=c.alternate;A!==null&&(A.lanes|=h),D0(c.return,h,v)}function rv(c,h,v,A,w){var T=c.memoizedState;T===null?c.memoizedState={isBackwards:h,rendering:null,renderingStartTime:0,last:A,tail:v,tailMode:w}:(T.isBackwards=h,T.rendering=null,T.renderingStartTime=0,T.last=A,T.tail=v,T.tailMode=w)}function f1(c,h,v){var A=h.pendingProps,w=A.revealOrder,T=A.tail;if(wi(c,h,A.children,v),A=fn.current,A&2)A=A&1|2,h.flags|=128;else{if(c!==null&&c.flags&128)e:for(c=h.child;c!==null;){if(c.tag===13)c.memoizedState!==null&&h1(c,v,h);else if(c.tag===19)h1(c,v,h);else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===h)break e;for(;c.sibling===null;){if(c.return===null||c.return===h)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}A&=1}if(et(fn,A),!(h.mode&1))h.memoizedState=null;else switch(w){case"forwards":for(v=h.child,w=null;v!==null;)c=v.alternate,c!==null&&yd(c)===null&&(w=v),v=v.sibling;v=w,v===null?(w=h.child,h.child=null):(w=v.sibling,v.sibling=null),rv(h,!1,w,v,T);break;case"backwards":for(v=null,w=h.child,h.child=null;w!==null;){if(c=w.alternate,c!==null&&yd(c)===null){h.child=w;break}c=w.sibling,w.sibling=v,v=w,w=c}rv(h,!0,v,null,T);break;case"together":rv(h,!1,null,null,void 0);break;default:h.memoizedState=null}return h.child}function Os(c,h,v){if(c!==null&&(h.dependencies=c.dependencies),Vl|=h.lanes,!(v&h.childLanes))return null;if(c!==null&&h.child!==c.child)throw Error(o(153));if(h.child!==null){for(c=h.child,v=Mo(c,c.pendingProps),h.child=v,v.return=h;c.sibling!==null;)c=c.sibling,v=v.sibling=Mo(c,c.pendingProps),v.return=h;v.sibling=null}return h.child}function E2(c,h,v){switch(h.tag){case 3:o1(h),Nl();break;case 5:RM(h);break;case 1:hn(h.type)&&Bl(h);break;case 4:V0(h,h.stateNode.containerInfo);break;case 10:dM(h,h.type._context,h.memoizedProps.value);break;case 13:var A=h.memoizedState;if(A!==null)return A.dehydrated!==null?(et(fn,fn.current&1),h.flags|=128,null):v&h.child.childLanes?l1(c,h,v):(et(fn,fn.current&1),c=Os(c,h,v),c!==null?c.sibling:null);et(fn,fn.current&1);break;case 19:if(A=(v&h.childLanes)!==0,c.flags&128){if(A)return f1(c,h,v);h.flags|=128}var w=h.memoizedState;if(w!==null&&(w.rendering=null,w.tail=null,w.lastEffect=null),et(fn,fn.current),A)break;return null;case 22:case 23:return h.lanes=0,i1(c,h,v)}return Os(c,h,v)}function w2(c,h){switch(k0(h),h.tag){case 1:return hn(h.type)&&go(),c=h.flags,c&65536?(h.flags=c&-65537|128,h):null;case 3:return zl(),Ht(Rn),Ht(Fn),j0(),c=h.flags,c&65536&&!(c&128)?(h.flags=c&-65537|128,h):null;case 5:return W0(h),null;case 13:if(Ht(fn),c=h.memoizedState,c!==null&&c.dehydrated!==null){if(h.alternate===null)throw Error(o(340));Nl()}return c=h.flags,c&65536?(h.flags=c&-65537|128,h):null;case 19:return Ht(fn),null;case 4:return zl(),null;case 10:return L0(h.type._context),null;case 22:case 23:return Sv(),null;case 24:return null;default:return null}}var Bd=!1,_a=!1,T2=typeof WeakSet=="function"?WeakSet:Set,Oe=null;function Ld(c,h){var v=c.ref;if(v!==null)if(typeof v=="function")try{v(null)}catch(A){Ui(c,h,A)}else v.current=null}function sv(c,h,v){try{v()}catch(A){Ui(c,h,A)}}var d1=!1;function C2(c,h){for(W(c.containerInfo),Oe=h;Oe!==null;)if(c=Oe,h=c.child,(c.subtreeFlags&1028)!==0&&h!==null)h.return=c,Oe=h;else for(;Oe!==null;){c=Oe;try{var v=c.alternate;if(c.flags&1024)switch(c.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var A=v.memoizedProps,w=v.memoizedState,T=c.stateNode,N=T.getSnapshotBeforeUpdate(c.elementType===c.type?A:Hr(c.type,A),w);T.__reactInternalSnapshotBeforeUpdate=N}break;case 3:it&&Ue(c.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(G){Ui(c,c.return,G)}if(h=c.sibling,h!==null){h.return=c.return,Oe=h;break}Oe=c.return}return v=d1,d1=!1,v}function ya(c,h,v){var A=h.updateQueue;if(A=A!==null?A.lastEffect:null,A!==null){var w=A=A.next;do{if((w.tag&c)===c){var T=w.destroy;w.destroy=void 0,T!==void 0&&sv(h,v,T)}w=w.next}while(w!==A)}}function Uu(c,h){if(h=h.updateQueue,h=h!==null?h.lastEffect:null,h!==null){var v=h=h.next;do{if((v.tag&c)===c){var A=v.create;v.destroy=A()}v=v.next}while(v!==h)}}function ov(c){var h=c.ref;if(h!==null){var v=c.stateNode;switch(c.tag){case 5:c=he(v);break;default:c=v}typeof h=="function"?h(c):h.current=c}}function p1(c,h,v){if(cs&&typeof cs.onCommitFiberUnmount=="function")try{cs.onCommitFiberUnmount(ld,h)}catch{}switch(h.tag){case 0:case 11:case 14:case 15:if(c=h.updateQueue,c!==null&&(c=c.lastEffect,c!==null)){var A=c=c.next;do{var w=A,T=w.destroy;w=w.tag,T!==void 0&&(w&2||w&4)&&sv(h,v,T),A=A.next}while(A!==c)}break;case 1:if(Ld(h,v),c=h.stateNode,typeof c.componentWillUnmount=="function")try{c.props=h.memoizedProps,c.state=h.memoizedState,c.componentWillUnmount()}catch(N){Ui(h,v,N)}break;case 5:Ld(h,v);break;case 4:it?x1(c,h,v):ce&&ce&&(h=h.stateNode.containerInfo,v=jt(h),Ot(h,v))}}function m1(c,h,v){for(var A=h;;)if(p1(c,A,v),A.child===null||it&&A.tag===4){if(A===h)break;for(;A.sibling===null;){if(A.return===null||A.return===h)return;A=A.return}A.sibling.return=A.return,A=A.sibling}else A.child.return=A,A=A.child}function g1(c){var h=c.alternate;h!==null&&(c.alternate=null,g1(h)),c.child=null,c.deletions=null,c.sibling=null,c.tag===5&&(h=c.stateNode,h!==null&&ke(h)),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 v1(c){return c.tag===5||c.tag===3||c.tag===4}function _1(c){e:for(;;){for(;c.sibling===null;){if(c.return===null||v1(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 y1(c){if(it){e:{for(var h=c.return;h!==null;){if(v1(h))break e;h=h.return}throw Error(o(160))}var v=h;switch(v.tag){case 5:h=v.stateNode,v.flags&32&&(mt(h),v.flags&=-33),v=_1(c),lv(c,v,h);break;case 3:case 4:h=v.stateNode.containerInfo,v=_1(c),av(c,v,h);break;default:throw Error(o(161))}}}function av(c,h,v){var A=c.tag;if(A===5||A===6)c=c.stateNode,h?yt(v,c,h):Ce(v,c);else if(A!==4&&(c=c.child,c!==null))for(av(c,h,v),c=c.sibling;c!==null;)av(c,h,v),c=c.sibling}function lv(c,h,v){var A=c.tag;if(A===5||A===6)c=c.stateNode,h?He(v,c,h):ht(v,c);else if(A!==4&&(c=c.child,c!==null))for(lv(c,h,v),c=c.sibling;c!==null;)lv(c,h,v),c=c.sibling}function x1(c,h,v){for(var A=h,w=!1,T,N;;){if(!w){w=A.return;e:for(;;){if(w===null)throw Error(o(160));switch(T=w.stateNode,w.tag){case 5:N=!1;break e;case 3:T=T.containerInfo,N=!0;break e;case 4:T=T.containerInfo,N=!0;break e}w=w.return}w=!0}if(A.tag===5||A.tag===6)m1(c,A,v),N?cn(T,A.stateNode):Tt(T,A.stateNode);else if(A.tag===18)N?Xe(T,A.stateNode):De(T,A.stateNode);else if(A.tag===4){if(A.child!==null){T=A.stateNode.containerInfo,N=!0,A.child.return=A,A=A.child;continue}}else if(p1(c,A,v),A.child!==null){A.child.return=A,A=A.child;continue}if(A===h)break;for(;A.sibling===null;){if(A.return===null||A.return===h)return;A=A.return,A.tag===4&&(w=!1)}A.sibling.return=A.return,A=A.sibling}}function cv(c,h){if(it){switch(h.tag){case 0:case 11:case 14:case 15:ya(3,h,h.return),Uu(3,h),ya(5,h,h.return);return;case 1:return;case 5:var v=h.stateNode;if(v!=null){var A=h.memoizedProps;c=c!==null?c.memoizedProps:A;var w=h.type,T=h.updateQueue;h.updateQueue=null,T!==null&&tt(v,T,w,c,A,h)}return;case 6:if(h.stateNode===null)throw Error(o(162));v=h.memoizedProps,Ke(h.stateNode,c!==null?c.memoizedProps:v,v);return;case 3:ge&&c!==null&&c.memoizedState.isDehydrated&&$(h.stateNode.containerInfo);return;case 12:return;case 13:Dd(h);return;case 19:Dd(h);return;case 17:return}throw Error(o(163))}switch(h.tag){case 0:case 11:case 14:case 15:ya(3,h,h.return),Uu(3,h),ya(5,h,h.return);return;case 12:return;case 13:Dd(h);return;case 19:Dd(h);return;case 3:ge&&c!==null&&c.memoizedState.isDehydrated&&$(h.stateNode.containerInfo);break;case 22:case 23:return}e:if(ce){switch(h.tag){case 1:case 5:case 6:break e;case 3:case 4:h=h.stateNode,Ot(h.containerInfo,h.pendingChildren);break e}throw Error(o(163))}}function Dd(c){var h=c.updateQueue;if(h!==null){c.updateQueue=null;var v=c.stateNode;v===null&&(v=c.stateNode=new T2),h.forEach(function(A){var w=N2.bind(null,c,A);v.has(A)||(v.add(A),A.then(w,w))})}}function R2(c,h){for(Oe=h;Oe!==null;){h=Oe;var v=h.deletions;if(v!==null)for(var A=0;A";case Fd:return":has("+(fv(c)||"")+")";case Nd:return'[role="'+c.value+'"]';case kd:return'"'+c.value+'"';case Ud:return'[data-testname="'+c.value+'"]';default:throw Error(o(365))}}function w1(c,h){var v=[];c=[c,0];for(var A=0;Aw&&(w=N),A&=~T}if(A=w,A=jn()-A,A=(120>A?120:480>A?480:1080>A?1080:1920>A?1920:3e3>A?3e3:4320>A?4320:1960*P2(A/1960))-A,10c?16:c,xo===null)var A=!1;else{if(c=xo,xo=null,Wd=0,Mt&6)throw Error(o(331));var w=Mt;for(Mt|=4,Oe=c.current;Oe!==null;){var T=Oe,N=T.child;if(Oe.flags&16){var G=T.deletions;if(G!==null){for(var ae=0;aejn()-gv?xa(c,0):mv|=v),Ni(c,h)}function D1(c,h){h===0&&(c.mode&1?(h=od,od<<=1,!(od&130023424)&&(od=4194304)):h=1);var v=Ti();c=Jd(c,h),c!==null&&(wu(c,h,v),Ni(c,v))}function F2(c){var h=c.memoizedState,v=0;h!==null&&(v=h.retryLane),D1(c,v)}function N2(c,h){var v=0;switch(c.tag){case 13:var A=c.stateNode,w=c.memoizedState;w!==null&&(v=w.retryLane);break;case 19:A=c.stateNode;break;default:throw Error(o(314))}A!==null&&A.delete(h),D1(c,v)}var O1;O1=function(c,h,v){if(c!==null)if(c.memoizedProps!==h.pendingProps||Rn.current)$i=!0;else{if(!(c.lanes&v)&&!(h.flags&128))return $i=!1,E2(c,h,v);$i=!!(c.flags&131072)}else $i=!1,on&&h.flags&1048576&&AM(h,vd,h.index);switch(h.lanes=0,h.tag){case 2:var A=h.type;c!==null&&(c.alternate=null,h.alternate=null,h.flags|=2),c=h.pendingProps;var w=un(h,Fn.current);Dl(h,v),w=K0(null,h,A,c,w,v);var T=Y0();return h.flags|=1,typeof w=="object"&&w!==null&&typeof w.render=="function"&&w.$$typeof===void 0?(h.tag=1,h.memoizedState=null,h.updateQueue=null,hn(A)?(T=!0,Bl(h)):T=!1,h.memoizedState=w.state!==null&&w.state!==void 0?w.state:null,O0(h),w.updater=md,h.stateNode=w,w._reactInternals=h,N0(h,A,c,v),h=nv(null,h,A,!0,T,v)):(h.tag=0,on&&T&&U0(h),wi(null,h,w,v),h=h.child),h;case 16:A=h.elementType;e:{switch(c!==null&&(c.alternate=null,h.alternate=null,h.flags|=2),c=h.pendingProps,w=A._init,A=w(A._payload),h.type=A,w=h.tag=k2(A),c=Hr(A,c),w){case 0:h=tv(null,h,A,c,v);break e;case 1:h=s1(null,h,A,c,v);break e;case 11:h=e1(null,h,A,c,v);break e;case 14:h=t1(null,h,A,Hr(A.type,c),v);break e}throw Error(o(306,A,""))}return h;case 0:return A=h.type,w=h.pendingProps,w=h.elementType===A?w:Hr(A,w),tv(c,h,A,w,v);case 1:return A=h.type,w=h.pendingProps,w=h.elementType===A?w:Hr(A,w),s1(c,h,A,w,v);case 3:e:{if(o1(h),c===null)throw Error(o(387));A=h.pendingProps,T=h.memoizedState,w=T.element,pM(c,h),pd(h,A,null,v);var N=h.memoizedState;if(A=N.element,ge&&T.isDehydrated)if(T={element:A,isDehydrated:!1,cache:N.cache,transitions:N.transitions},h.updateQueue.baseState=T,h.memoizedState=T,h.flags&256){w=Error(o(423)),h=a1(c,h,A,v,w);break e}else if(A!==w){w=Error(o(424)),h=a1(c,h,A,v,w);break e}else for(ge&&(qi=A0(h.stateNode.containerInfo),Zi=h,on=!0,Gr=null,Tu=!1),v=CM(h,null,A,v),h.child=v;v;)v.flags=v.flags&-3|4096,v=v.sibling;else{if(Nl(),A===w){h=Os(c,h,v);break e}wi(c,h,A,v)}h=h.child}return h;case 5:return RM(h),c===null&&H0(h),A=h.type,w=h.pendingProps,T=c!==null?c.memoizedProps:null,N=w.children,ye(A,w)?N=null:T!==null&&ye(A,T)&&(h.flags|=32),r1(c,h),wi(c,h,N,v),h.child;case 6:return c===null&&H0(h),null;case 13:return l1(c,h,v);case 4:return V0(h,h.stateNode.containerInfo),A=h.pendingProps,c===null?h.child=Ul(h,null,A,v):wi(c,h,A,v),h.child;case 11:return A=h.type,w=h.pendingProps,w=h.elementType===A?w:Hr(A,w),e1(c,h,A,w,v);case 7:return wi(c,h,h.pendingProps,v),h.child;case 8:return wi(c,h,h.pendingProps.children,v),h.child;case 12:return wi(c,h,h.pendingProps.children,v),h.child;case 10:e:{if(A=h.type._context,w=h.pendingProps,T=h.memoizedProps,N=w.value,dM(h,A,N),T!==null)if(us(T.value,N)){if(T.children===w.children&&!Rn.current){h=Os(c,h,v);break e}}else for(T=h.child,T!==null&&(T.return=h);T!==null;){var G=T.dependencies;if(G!==null){N=T.child;for(var ae=G.firstContext;ae!==null;){if(ae.context===A){if(T.tag===1){ae=Is(-1,v&-v),ae.tag=2;var we=T.updateQueue;if(we!==null){we=we.shared;var Ge=we.pending;Ge===null?ae.next=ae:(ae.next=Ge.next,Ge.next=ae),we.pending=ae}}T.lanes|=v,ae=T.alternate,ae!==null&&(ae.lanes|=v),D0(T.return,v,h),G.lanes|=v;break}ae=ae.next}}else if(T.tag===10)N=T.type===h.type?null:T.child;else if(T.tag===18){if(N=T.return,N===null)throw Error(o(341));N.lanes|=v,G=N.alternate,G!==null&&(G.lanes|=v),D0(N,v,h),N=T.sibling}else N=T.child;if(N!==null)N.return=T;else for(N=T;N!==null;){if(N===h){N=null;break}if(T=N.sibling,T!==null){T.return=N.return,N=T;break}N=N.return}T=N}wi(c,h,w.children,v),h=h.child}return h;case 9:return w=h.type,A=h.pendingProps.children,Dl(h,v),w=pr(w),A=A(w),h.flags|=1,wi(c,h,A,v),h.child;case 14:return A=h.type,w=Hr(A,h.pendingProps),w=Hr(A.type,w),t1(c,h,A,w,v);case 15:return n1(c,h,h.type,h.pendingProps,v);case 17:return A=h.type,w=h.pendingProps,w=h.elementType===A?w:Hr(A,w),c!==null&&(c.alternate=null,h.alternate=null,h.flags|=2),h.tag=1,hn(A)?(c=!0,Bl(h)):c=!1,Dl(h,v),yM(h,A,w),N0(h,A,w,v),nv(null,h,A,!0,c,v);case 19:return f1(c,h,v);case 22:return i1(c,h,v)}throw Error(o(156,h.tag))};function F1(c,h){return C0(c,h)}function U2(c,h,v,A){this.tag=c,this.key=v,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=h,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=A,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function xr(c,h,v,A){return new U2(c,h,v,A)}function Ev(c){return c=c.prototype,!(!c||!c.isReactComponent)}function k2(c){if(typeof c=="function")return Ev(c)?1:0;if(c!=null){if(c=c.$$typeof,c===S)return 11;if(c===x)return 14}return 2}function Mo(c,h){var v=c.alternate;return v===null?(v=xr(c.tag,h,c.key,c.mode),v.elementType=c.elementType,v.type=c.type,v.stateNode=c.stateNode,v.alternate=c,c.alternate=v):(v.pendingProps=h,v.type=c.type,v.flags=0,v.subtreeFlags=0,v.deletions=null),v.flags=c.flags&14680064,v.childLanes=c.childLanes,v.lanes=c.lanes,v.child=c.child,v.memoizedProps=c.memoizedProps,v.memoizedState=c.memoizedState,v.updateQueue=c.updateQueue,h=c.dependencies,v.dependencies=h===null?null:{lanes:h.lanes,firstContext:h.firstContext},v.sibling=c.sibling,v.index=c.index,v.ref=c.ref,v}function Yd(c,h,v,A,w,T){var N=2;if(A=c,typeof c=="function")Ev(c)&&(N=1);else if(typeof c=="string")N=5;else e:switch(c){case f:return Ma(v.children,w,T,h);case d:N=8,w|=8;break;case p:return c=xr(12,v,h,w|2),c.elementType=p,c.lanes=T,c;case y:return c=xr(13,v,h,w),c.elementType=y,c.lanes=T,c;case g:return c=xr(19,v,h,w),c.elementType=g,c.lanes=T,c;case E:return Qd(v,w,T,h);default:if(typeof c=="object"&&c!==null)switch(c.$$typeof){case m:N=10;break e;case _:N=9;break e;case S:N=11;break e;case x:N=14;break e;case M:N=16,A=null;break e}throw Error(o(130,c==null?c:typeof c,""))}return h=xr(N,v,h,w),h.elementType=c,h.type=A,h.lanes=T,h}function Ma(c,h,v,A){return c=xr(7,c,A,h),c.lanes=v,c}function Qd(c,h,v,A){return c=xr(22,c,A,h),c.elementType=E,c.lanes=v,c.stateNode={},c}function wv(c,h,v){return c=xr(6,c,null,h),c.lanes=v,c}function Tv(c,h,v){return h=xr(4,c.children!==null?c.children:[],c.key,h),h.lanes=v,h.stateNode={containerInfo:c.containerInfo,pendingChildren:null,implementation:c.implementation},h}function z2(c,h,v,A,w){this.tag=h,this.containerInfo=c,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=_t,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=w0(0),this.expirationTimes=w0(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=w0(0),this.identifierPrefix=A,this.onRecoverableError=w,ge&&(this.mutableSourceEagerHydrationData=null)}function N1(c,h,v,A,w,T,N,G,ae){return c=new z2(c,h,v,G,ae),h===1?(h=1,T===!0&&(h|=8)):h=0,T=xr(3,null,null,h),c.current=T,T.stateNode=c,T.memoizedState={element:A,isDehydrated:v,cache:null,transitions:null},O0(T),c}function U1(c){if(!c)return ui;c=c._reactInternals;e:{if(I(c)!==c||c.tag!==1)throw Error(o(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break e;case 1:if(hn(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break e}}h=h.return}while(h!==null);throw Error(o(171))}if(c.tag===1){var v=c.type;if(hn(v))return Il(c,v,h)}return h}function k1(c){var h=c._reactInternals;if(h===void 0)throw typeof c.render=="function"?Error(o(188)):(c=Object.keys(c).join(","),Error(o(268,c)));return c=K(h),c===null?null:c.stateNode}function z1(c,h){if(c=c.memoizedState,c!==null&&c.dehydrated!==null){var v=c.retryLane;c.retryLane=v!==0&&v=we&&T>=ft&&w<=Ge&&N<=qe){c.splice(h,1);break}else if(A!==we||v.width!==ae.width||qeN){if(!(T!==ft||v.height!==ae.height||Gew)){we>A&&(ae.width+=we-A,ae.x=A),GeT&&(ae.height+=ft-T,ae.y=T),qev&&(v=N)),N ")+` + +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 he(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:H2,findFiberByHostInstance:c.findFiberByHostInstance||G2,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 h=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(h.isDisabled||!h.supportsFiber)c=!0;else{try{ld=h.inject(c),cs=h}catch{}c=!!h.checkDCE}}return c},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(c,h,v,A){if(!B)throw Error(o(363));c=dv(c,h);var w=Ie(c,v,A).disconnect;return{disconnect:function(){w()}}},t.registerMutableSourceForHydration=function(c,h){var v=h._getVersion;v=v(h._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[h,v]:c.mutableSourceEagerHydrationData.push(h,v)},t.runWithPriority=function(c,h){var v=Ft;try{return Ft=c,h()}finally{Ft=v}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(c,h,v,A){var w=h.current,T=Ti(),N=Ao(w);return v=U1(v),h.context===null?h.context=v:h.pendingContext=v,h=Is(T,N),h.payload={element:c},A=A===void 0?null:A,A!==null&&(h.callback=A),_o(w,h),c=yr(w,N,T),c!==null&&dd(c,w,N),N},t};HB.exports=l4;var c4=HB.exports;const u4=Mg(c4),h4=n=>typeof n=="object"&&typeof n.then=="function",$a=[];function WB(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=$a.indexOf(r);s!==-1&&$a.splice(s,1)},promise:(h4(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($a.push(r),!t)throw r.promise}const YS=(n,e,t)=>XB(n,e,!1,t),f4=(n,e,t)=>void XB(n,e,!0,t),d4=n=>{if(n===void 0||n.length===0)$a.splice(0,$a.length);else{const e=$a.find(t=>WB(n,t.keys,t.equal));e&&e.remove()}},QS={},jB=n=>void Object.assign(QS,n);function p4(n,e){function t(f,{args:d=[],attach:p,...m},_){let S=`${f[0].toUpperCase()}${f.slice(1)}`,y;if(f==="primitive"){if(m.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const g=m.object;y=Mc(g,{type:f,root:_,attach:p,primitive:!0})}else{const g=QS[S];if(!g)throw new Error(`R3F: ${S} 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(d))throw new Error("R3F: The args prop must be an array!");y=Mc(new g(...d),{type:f,root:_,attach:p,memoizedProps:{args:d}})}return y.__r3f.attach===void 0&&(y instanceof ot?y.__r3f.attach="geometry":y instanceof rn&&(y.__r3f.attach="material")),S!=="inject"&&H_(y,m),y}function i(f,d){let p=!1;if(d){var m,_;(m=d.__r3f)!=null&&m.attach?z_(f,d,d.__r3f.attach):d.isObject3D&&f.isObject3D&&(f.add(d),p=!0),p||(_=f.__r3f)==null||_.objects.push(d),d.__r3f||Mc(d,{}),d.__r3f.parent=f,sA(d),Ec(d)}}function r(f,d,p){let m=!1;if(d){var _,S;if((_=d.__r3f)!=null&&_.attach)z_(f,d,d.__r3f.attach);else if(d.isObject3D&&f.isObject3D){d.parent=f,d.dispatchEvent({type:"added"}),f.dispatchEvent({type:"childadded",child:d});const y=f.children.filter(x=>x!==d),g=y.indexOf(p);f.children=[...y.slice(0,g),d,...y.slice(g)],m=!0}m||(S=f.__r3f)==null||S.objects.push(d),d.__r3f||Mc(d,{}),d.__r3f.parent=f,sA(d),Ec(d)}}function s(f,d,p=!1){f&&[...f].forEach(m=>o(d,m,p))}function o(f,d,p){if(d){var m,_,S;if(d.__r3f&&(d.__r3f.parent=null),(m=f.__r3f)!=null&&m.objects&&(f.__r3f.objects=f.__r3f.objects.filter(E=>E!==d)),(_=d.__r3f)!=null&&_.attach)LT(f,d,d.__r3f.attach);else if(d.isObject3D&&f.isObject3D){var y;f.remove(d),(y=d.__r3f)!=null&&y.root&&S4(km(d),d)}const x=(S=d.__r3f)==null?void 0:S.primitive,M=!x&&(p===void 0?d.dispose!==null:p);if(!x){var g;s((g=d.__r3f)==null?void 0:g.objects,d,M),s(d.children,d,M)}if(delete d.__r3f,M&&d.dispose&&d.type!=="Scene"){const E=()=>{try{d.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?iA.unstable_scheduleCallback(iA.unstable_IdlePriority,E):E()}Ec(f)}}function a(f,d,p,m){var _;const S=(_=f.__r3f)==null?void 0:_.parent;if(!S)return;const y=t(d,p,f.__r3f.root);if(f.children){for(const g of f.children)g.__r3f&&i(y,g);f.children=f.children.filter(g=>!g.__r3f)}f.__r3f.objects.forEach(g=>i(y,g)),f.__r3f.objects=[],f.__r3f.autoRemovedBeforeAppend||o(S,f),y.parent&&(y.__r3f.autoRemovedBeforeAppend=!0),i(S,y),y.raycast&&y.__r3f.eventCount&&km(y).getState().internal.interaction.push(y),[m,m.alternate].forEach(g=>{g!==null&&(g.stateNode=y,g.ref&&(typeof g.ref=="function"?g.ref(y):g.ref.current=y))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:u4({createInstance:t,removeChild:o,appendChild:i,appendInitialChild:i,insertBefore:r,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(f,d)=>{if(!d)return;const p=f.getState().scene;p.__r3f&&(p.__r3f.root=f,i(p,d))},removeChildFromContainer:(f,d)=>{d&&o(f.getState().scene,d)},insertInContainerBefore:(f,d,p)=>{if(!d||!p)return;const m=f.getState().scene;m.__r3f&&r(m,d,p)},getRootHostContext:()=>null,getChildHostContext:f=>f,finalizeInitialChildren(f){var d;return!!((d=f==null?void 0:f.__r3f)!=null?d:{}).handlers},prepareUpdate(f,d,p,m){var _;if(((_=f==null?void 0:f.__r3f)!=null?_:{}).primitive&&m.object&&m.object!==f)return[!0];{const{args:y=[],children:g,...x}=m,{args:M=[],children:E,...P}=p;if(!Array.isArray(y))throw new Error("R3F: the args prop must be an array!");if(y.some((b,L)=>b!==M[L]))return[!0];const C=$B(f,x,P,!0);return C.changes.length?[!1,C]:null}},commitUpdate(f,[d,p],m,_,S,y){d?a(f,m,S,y):H_(f,p)},commitMount(f,d,p,m){var _;const S=(_=f.__r3f)!=null?_:{};f.raycast&&S.handlers&&S.eventCount&&km(f).getState().internal.interaction.push(f)},getPublicInstance:f=>f,prepareForCommit:()=>null,preparePortalMount:f=>Mc(f.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(f){var d;const{attach:p,parent:m}=(d=f.__r3f)!=null?d:{};p&&m&<(m,f,p),f.isObject3D&&(f.visible=!1),Ec(f)},unhideInstance(f,d){var p;const{attach:m,parent:_}=(p=f.__r3f)!=null?p:{};m&&_&&z_(_,f,m),(f.isObject3D&&d.visible==null||d.visible)&&(f.visible=!0),Ec(f)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():zc.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&qt.fun(performance.now)?performance.now:qt.fun(Date.now)?Date.now:()=>0,scheduleTimeout:qt.fun(setTimeout)?setTimeout:void 0,cancelTimeout:qt.fun(clearTimeout)?clearTimeout:void 0}),applyProps:H_}}var bT,PT;const k_=n=>"colorSpace"in n||"outputColorSpace"in n,JB=()=>{var n;return(n=QS.ColorManagement)!=null?n:null},KB=n=>n&&n.isOrthographicCamera,m4=n=>n&&n.hasOwnProperty("current"),Qf=typeof window<"u"&&((bT=window.document)!=null&&bT.createElement||((PT=window.navigator)==null?void 0:PT.product)==="ReactNative")?V.useLayoutEffect:V.useEffect;function YB(n){const e=V.useRef(n);return Qf(()=>void(e.current=n),[n]),e}function g4({set:n}){return Qf(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class QB extends V.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}QB.getDerivedStateFromError=()=>({error:!0});const ZB="__default",IT=new Map,v4=n=>n&&!!n.memoized&&!!n.changes;function qB(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 ch=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()};function km(n){let e=n.__r3f.root;for(;e.getState().previousRoot;)e=e.getState().previousRoot;return e}const qt={obj:n=>n===Object(n)&&!qt.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(qt.str(n)||qt.num(n)||qt.boo(n))return n===e;const s=qt.obj(n);if(s&&i==="reference")return n===e;const o=qt.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(!qt.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(qt.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 _4(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 y4(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function Mc(n,e){const t=n;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},n}function rA(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 BT=/-\d+$/;function z_(n,e,t){if(qt.str(t)){if(BT.test(t)){const s=t.replace(BT,""),{target:o,key:a}=rA(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=rA(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function LT(n,e,t){var i,r;if(qt.str(t)){const{target:s,key:o}=rA(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 $B(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...l}={},u=!1){const f=n.__r3f,d=Object.entries(r),p=[];if(u){const _=Object.keys(l);for(let S=0;S<_.length;S++)r.hasOwnProperty(_[S])||d.unshift([_[S],ZB+"remove"])}d.forEach(([_,S])=>{var y;if((y=n.__r3f)!=null&&y.primitive&&_==="object"||qt.equ(S,l[_]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(_))return p.push([_,S,!0,[]]);let g=[];_.includes("-")&&(g=_.split("-")),p.push([_,S,!1,g]);for(const x in r){const M=r[x];x.startsWith(`${_}-`)&&p.push([x,M,!1,x.split("-")])}});const m={...r};return f!=null&&f.memoizedProps&&f!=null&&f.memoizedProps.args&&(m.args=f.memoizedProps.args),f!=null&&f.memoizedProps&&f!=null&&f.memoizedProps.attach&&(m.attach=f.memoizedProps.attach),{memoized:m,changes:p}}const x4=typeof process<"u"&&!1;function H_(n,e){var t;const i=n.__r3f,r=i==null?void 0:i.root,s=r==null||r.getState==null?void 0:r.getState(),{memoized:o,changes:a}=v4(e)?e:$B(n,e),l=i==null?void 0:i.eventCount;n.__r3f&&(n.__r3f.memoizedProps=o);for(let f=0;fg[x],n),!(y&&y.set))){const[g,...x]=_.reverse();S=x.reverse().reduce((M,E)=>M[E],n),d=g}if(p===ZB+"remove")if(S.constructor){let g=IT.get(S.constructor);g||(g=new S.constructor,IT.set(S.constructor,g)),p=g[d]}else p=0;if(m&&i)p?i.handlers[d]=p:delete i.handlers[d],i.eventCount=Object.keys(i.handlers).length;else if(y&&y.set&&(y.copy||y instanceof al)){if(Array.isArray(p))y.fromArray?y.fromArray(p):y.set(...p);else if(y.copy&&p&&p.constructor&&(x4?y.constructor.name===p.constructor.name:y.constructor===p.constructor))y.copy(p);else if(p!==void 0){const g=y instanceof Te;!g&&y.setScalar?y.setScalar(p):y instanceof al&&p instanceof al?y.mask=p.mask:y.set(p),!JB()&&s&&!s.linear&&g&&y.convertSRGBToLinear()}}else if(S[d]=p,S[d]instanceof Yt&&S[d].format===Xi&&S[d].type===Ts&&s){const g=S[d];k_(g)&&k_(s.gl)?g.colorSpace=s.gl.outputColorSpace:g.encoding=s.gl.outputEncoding}Ec(n)}if(i&&i.parent&&n.raycast&&l!==i.eventCount){const f=km(n).getState().internal,d=f.interaction.indexOf(n);d>-1&&f.interaction.splice(d,1),i.eventCount&&f.interaction.push(n)}return!(a.length===1&&a[0][0]==="onUpdate")&&a.length&&(t=n.__r3f)!=null&&t.parent&&sA(n),n}function Ec(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 sA(n){n.onUpdate==null||n.onUpdate(n)}function eL(n,e){n.manual||(KB(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 om(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function A4(){var n;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return zc.DefaultEventPriority;switch((n=e.event)==null?void 0:n.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return zc.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return zc.ContinuousEventPriority;default:return zc.DefaultEventPriority}}function tL(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function S4(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)=>{tL(t.capturedMap,e,i,r)})}function M4(n){function e(l){const{internal:u}=n.getState(),f=l.offsetX-u.initialClick[0],d=l.offsetY-u.initialClick[1];return Math.round(Math.sqrt(f*f+d*d))}function t(l){return l.filter(u=>["Move","Over","Enter","Out","Leave"].some(f=>{var d;return(d=u.__r3f)==null?void 0:d.handlers["onPointer"+f]}))}function i(l,u){const f=n.getState(),d=new Set,p=[],m=u?u(f.internal.interaction):f.internal.interaction;for(let g=0;g{const M=ch(g.object),E=ch(x.object);return!M||!E?g.distance-x.distance:E.events.priority-M.events.priority||g.distance-x.distance}).filter(g=>{const x=om(g);return d.has(x)?!1:(d.add(x),!0)});f.events.filter&&(S=f.events.filter(S,f));for(const g of S){let x=g.object;for(;x;){var y;(y=x.__r3f)!=null&&y.eventCount&&p.push({...g,eventObject:x}),x=x.parent}}if("pointerId"in l&&f.internal.capturedMap.has(l.pointerId))for(let g of f.internal.capturedMap.get(l.pointerId).values())d.has(om(g.intersection))||p.push(g.intersection);return p}function r(l,u,f,d){const p=n.getState();if(l.length){const m={stopped:!1};for(const _ of l){const S=ch(_.object)||p,{raycaster:y,pointer:g,camera:x,internal:M}=S,E=new D(g.x,g.y,0).unproject(x),P=R=>{var U,K;return(U=(K=M.capturedMap.get(R))==null?void 0:K.has(_.eventObject))!=null?U:!1},C=R=>{const U={intersection:_,target:u.target};M.capturedMap.has(R)?M.capturedMap.get(R).set(_.eventObject,U):M.capturedMap.set(R,new Map([[_.eventObject,U]])),u.target.setPointerCapture(R)},b=R=>{const U=M.capturedMap.get(R);U&&tL(M.capturedMap,_.eventObject,U,R)};let L={};for(let R in u){let U=u[R];typeof U!="function"&&(L[R]=U)}let I={..._,...L,pointer:g,intersections:l,stopped:m.stopped,delta:f,unprojectedPoint:E,ray:y.ray,camera:x,stopPropagation(){const R="pointerId"in u&&M.capturedMap.get(u.pointerId);if((!R||R.has(_.eventObject))&&(I.stopped=m.stopped=!0,M.hovered.size&&Array.from(M.hovered.values()).find(U=>U.eventObject===_.eventObject))){const U=l.slice(0,l.indexOf(_));s([...U,_])}},target:{hasPointerCapture:P,setPointerCapture:C,releasePointerCapture:b},currentTarget:{hasPointerCapture:P,setPointerCapture:C,releasePointerCapture:b},nativeEvent:u};if(d(I),m.stopped===!0)break}}return l}function s(l){const{internal:u}=n.getState();for(const f of u.hovered.values())if(!l.length||!l.find(d=>d.object===f.object&&d.index===f.index&&d.instanceId===f.instanceId)){const p=f.eventObject.__r3f,m=p==null?void 0:p.handlers;if(u.hovered.delete(om(f)),p!=null&&p.eventCount){const _={...f,intersections:l};m.onPointerOut==null||m.onPointerOut(_),m.onPointerLeave==null||m.onPointerLeave(_)}}}function o(l,u){for(let f=0;fs([]);case"onLostPointerCapture":return u=>{const{internal:f}=n.getState();"pointerId"in u&&f.capturedMap.has(u.pointerId)&&requestAnimationFrame(()=>{f.capturedMap.has(u.pointerId)&&(f.capturedMap.delete(u.pointerId),s([]))})}}return function(f){const{onPointerMissed:d,internal:p}=n.getState();p.lastEvent.current=f;const m=l==="onPointerMove",_=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",y=i(f,m?t:void 0),g=_?e(f):0;l==="onPointerDown"&&(p.initialClick=[f.offsetX,f.offsetY],p.initialHits=y.map(M=>M.eventObject)),_&&!y.length&&g<=2&&(o(f,p.interaction),d&&d(f)),m&&s(y);function x(M){const E=M.eventObject,P=E.__r3f,C=P==null?void 0:P.handlers;if(P!=null&&P.eventCount)if(m){if(C.onPointerOver||C.onPointerEnter||C.onPointerOut||C.onPointerLeave){const b=om(M),L=p.hovered.get(b);L?L.stopped&&M.stopPropagation():(p.hovered.set(b,M),C.onPointerOver==null||C.onPointerOver(M),C.onPointerEnter==null||C.onPointerEnter(M))}C.onPointerMove==null||C.onPointerMove(M)}else{const b=C[l];b?(!_||p.initialHits.includes(E))&&(o(f,p.interaction.filter(L=>!p.initialHits.includes(L))),b(M)):_&&p.initialHits.includes(E)&&o(f,p.interaction.filter(L=>!p.initialHits.includes(L)))}}r(y,f,g,x)}}return{handlePointer:a}}const E4=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],nL=n=>!!(n!=null&&n.render),g0=V.createContext(null),w4=(n,e)=>{const t=zB((a,l)=>{const u=new D,f=new D,d=new D;function p(g=l().camera,x=f,M=l().size){const{width:E,height:P,top:C,left:b}=M,L=E/P;x instanceof D?d.copy(x):d.set(...x);const I=g.getWorldPosition(u).distanceTo(d);if(KB(g))return{width:E/g.zoom,height:P/g.zoom,top:C,left:b,factor:1,distance:I,aspect:L};{const R=g.fov*Math.PI/180,U=2*Math.tan(R/2)*I,K=U*(E/P);return{width:K,height:U,top:C,left:b,factor:E/K,distance:I,aspect:L}}}let m;const _=g=>a(x=>({performance:{...x.performance,current:g}})),S=new le;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,x)=>e(g,x,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new WS,pointer:S,mouse:S,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&&_(g.performance.min),m=setTimeout(()=>_(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(x=>({...x,events:{...x.events,...g}})),setSize:(g,x,M,E,P)=>{const C=l().camera,b={width:g,height:x,top:E||0,left:P||0,updateStyle:M};a(L=>({size:b,viewport:{...L.viewport,...p(C,f,b)}}))},setDpr:g=>a(x=>{const M=qB(g);return{viewport:{...x.viewport,dpr:M,initialDpr:x.viewport.initialDpr||M}}}),setFrameloop:(g="always")=>{const x=l().clock;x.stop(),x.elapsedTime=0,g!=="never"&&(x.start(),x.elapsedTime=0),a(()=>({frameloop:g}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:V.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(g,x,M)=>{const E=l().internal;return E.priority=E.priority+(x>0?1:0),E.subscribers.push({ref:g,priority:x,store:M}),E.subscribers=E.subscribers.sort((P,C)=>P.priority-C.priority),()=>{const P=l().internal;P!=null&&P.subscribers&&(P.priority=P.priority-(x>0?1:0),P.subscribers=P.subscribers.filter(C=>C.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:f,set:d}=t.getState();if(l.width!==r.width||l.height!==r.height||u.dpr!==s){var p;r=l,s=u.dpr,eL(a,l),f.setPixelRatio(u.dpr);const m=(p=l.updateStyle)!=null?p:typeof HTMLCanvasElement<"u"&&f.domElement instanceof HTMLCanvasElement;f.setSize(l.width,l.height,m)}a!==o&&(o=a,d(m=>({viewport:{...m.viewport,...m.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};let am,T4=new Set,C4=new Set,R4=new Set;function G_(n,e){if(n.size)for(const{callback:t}of n.values())t(e)}function uh(n,e){switch(n){case"before":return G_(T4,e);case"after":return G_(C4,e);case"tail":return G_(R4,e)}}let V_,W_;function X_(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),V_=e.internal.subscribers,am=0;am0)&&!((f=s.gl.xr)!=null&&f.isPresenting)&&(i+=X_(u,s))}if(t=!1,uh("after",u),i===0)return uh("tail",u),e=!1,cancelAnimationFrame(r)}function a(u,f=1){var d;if(!u)return n.forEach(p=>a(p.store.getState(),f));(d=u.gl.xr)!=null&&d.isPresenting||!u.internal.active||u.frameloop==="never"||(f>1?u.internal.frames=Math.min(60,u.internal.frames+f):t?u.internal.frames=2:u.internal.frames=1,e||(e=!0,requestAnimationFrame(o)))}function l(u,f=!0,d,p){if(f&&uh("before",u),d)X_(u,d,p);else for(const m of n.values())X_(u,m.store.getState());f&&uh("after",u)}return{loop:o,invalidate:a,advance:l}}function Zf(){const n=V.useContext(g0);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function ni(n=t=>t,e){return Zf()(n,e)}function Vn(n,e=0){const t=Zf(),i=t.getState().internal.subscribe,r=YB(n);return Qf(()=>i(r,e,t),[e,i,t]),null}const DT=new WeakMap;function iL(n,e){return function(t,...i){let r=DT.get(t);return r||(r=new t,DT.set(t,r)),n&&n(r),Promise.all(i.map(s=>new Promise((o,a)=>r.load(s,l=>{l.scene&&Object.assign(l,_4(l.scene)),o(l)},e,l=>a(new Error(`Could not load ${s}: ${l==null?void 0:l.message}`))))))}}function qf(n,e,t,i){const r=Array.isArray(e)?e:[e],s=YS(iL(t,i),[n,...r],{equal:qt.equ});return Array.isArray(e)?s:s[0]}qf.preload=function(n,e,t){const i=Array.isArray(e)?e:[e];return f4(iL(t),[n,...i])};qf.clear=function(n,e){const t=Array.isArray(e)?e:[e];return d4([n,...t])};const cu=new Map,{invalidate:OT,advance:FT}=b4(cu),{reconciler:uu,applyProps:pc}=p4(cu,A4),mc={objects:"shallow",strict:!1},P4=(n,e)=>{const t=typeof n=="function"?n(e):n;return nL(t)?t:new ZI({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function I4(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 B4(n){const e=cu.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||w4(OT,FT),o=t||uu.createContainer(s,zc.ConcurrentRoot,null,!1,null,"",r,null);e||cu.set(n,{fiber:o,store:s});let a,l=!1,u;return{configure(f={}){let{gl:d,size:p,scene:m,events:_,onCreated:S,shadows:y=!1,linear:g=!1,flat:x=!1,legacy:M=!1,orthographic:E=!1,frameloop:P="always",dpr:C=[1,2],performance:b,raycaster:L,camera:I,onPointerMissed:R}=f,U=s.getState(),K=U.gl;U.gl||U.set({gl:K=P4(d,n)});let z=U.raycaster;z||U.set({raycaster:z=new Su});const{params:te,...ie}=L||{};if(qt.equ(ie,z,mc)||pc(z,{...ie}),qt.equ(te,z.params,mc)||pc(z,{params:{...z.params,...te}}),!U.camera||U.camera===u&&!qt.equ(u,I,mc)){u=I;const H=I instanceof zf,oe=H?I:E?new Sl(0,0,0,0,.1,1e3):new Bn(75,0,.1,1e3);H||(oe.position.z=5,I&&(pc(oe,I),("aspect"in I||"left"in I||"right"in I||"bottom"in I||"top"in I)&&(oe.manual=!0,oe.updateProjectionMatrix())),!U.camera&&!(I!=null&&I.rotation)&&oe.lookAt(0,0,0)),U.set({camera:oe}),z.camera=oe}if(!U.scene){let H;m instanceof pg?H=m:(H=new pg,m&&pc(H,m)),U.set({scene:Mc(H)})}if(!U.xr){var he;const H=(Ve,ne)=>{const ye=s.getState();ye.frameloop!=="never"&&FT(Ve,!0,ye,ne)},oe=()=>{const Ve=s.getState();Ve.gl.xr.enabled=Ve.gl.xr.isPresenting,Ve.gl.xr.setAnimationLoop(Ve.gl.xr.isPresenting?H:null),Ve.gl.xr.isPresenting||OT(Ve)},Ee={connect(){const Ve=s.getState().gl;Ve.xr.addEventListener("sessionstart",oe),Ve.xr.addEventListener("sessionend",oe)},disconnect(){const Ve=s.getState().gl;Ve.xr.removeEventListener("sessionstart",oe),Ve.xr.removeEventListener("sessionend",oe)}};typeof((he=K.xr)==null?void 0:he.addEventListener)=="function"&&Ee.connect(),U.set({xr:Ee})}if(K.shadowMap){const H=K.shadowMap.enabled,oe=K.shadowMap.type;if(K.shadowMap.enabled=!!y,qt.boo(y))K.shadowMap.type=Xh;else if(qt.str(y)){var ve;const Ee={basic:IP,percentage:zg,soft:Xh,variance:Qr};K.shadowMap.type=(ve=Ee[y])!=null?ve:Xh}else qt.obj(y)&&Object.assign(K.shadowMap,y);(H!==K.shadowMap.enabled||oe!==K.shadowMap.type)&&(K.shadowMap.needsUpdate=!0)}const F=JB();F&&("enabled"in F?F.enabled=!M:"legacyMode"in F&&(F.legacyMode=M)),l||pc(K,{outputEncoding:g?3e3:3001,toneMapping:x?Es:cS}),U.legacy!==M&&U.set(()=>({legacy:M})),U.linear!==g&&U.set(()=>({linear:g})),U.flat!==x&&U.set(()=>({flat:x})),d&&!qt.fun(d)&&!nL(d)&&!qt.equ(d,K,mc)&&pc(K,d),_&&!U.events.handlers&&U.set({events:_(s)});const W=I4(n,p);return qt.equ(W,U.size,mc)||U.setSize(W.width,W.height,W.updateStyle,W.top,W.left),C&&U.viewport.dpr!==qB(C)&&U.setDpr(C),U.frameloop!==P&&U.setFrameloop(P),U.onPointerMissed||U.set({onPointerMissed:R}),b&&!qt.equ(b,U.performance,mc)&&U.set(H=>({performance:{...H.performance,...b}})),a=S,l=!0,this},render(f){return l||this.configure(),uu.updateContainer(J.jsx(L4,{store:s,children:f,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){rL(n)}}}function L4({store:n,children:e,onCreated:t,rootElement:i}){return Qf(()=>{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)},[]),J.jsx(g0.Provider,{value:n,children:e})}function rL(n,e){const t=cu.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),uu.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(),y4(r),cu.delete(n)}catch{}},500)})}}function ZS(n,e,t){return J.jsx(D4,{children:n,container:e,state:t},e.uuid)}function D4({state:n={},children:e,container:t}){const{events:i,size:r,...s}=n,o=Zf(),[a]=V.useState(()=>new Su),[l]=V.useState(()=>new le),u=V.useCallback((d,p)=>{const m={...d};Object.keys(d).forEach(S=>{(E4.includes(S)||d[S]!==p[S]&&p[S])&&delete m[S]});let _;if(p&&r){const S=p.camera;_=d.viewport.getCurrentViewport(S,new D,r),S!==d.camera&&eL(S,r)}return{...m,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...d.events,...p==null?void 0:p.events,...i},size:{...d.size,...r},viewport:{...d.viewport,..._},...s}},[n]),[f]=V.useState(()=>{const d=o.getState();return zB((m,_)=>({...d,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...d.events,...i},size:{...d.size,...r},...s,set:m,get:_,setEvents:S=>m(y=>({...y,events:{...y.events,...S}}))}))});return V.useEffect(()=>{const d=o.subscribe(p=>f.setState(m=>u(p,m)));return()=>{d()}},[u]),V.useEffect(()=>{f.setState(d=>u(o.getState(),d))},[u]),V.useEffect(()=>()=>{f.destroy()},[]),J.jsx(J.Fragment,{children:uu.createPortal(J.jsx(g0.Provider,{value:f,children:e}),f,null)})}uu.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:V.version});function oA(n,e,t){var i,r,s,o,a;e==null&&(e=100);function l(){var f=Date.now()-o;f=0?i=setTimeout(l,e-f):(i=null,t||(a=n.apply(s,r),s=r=null))}var u=function(){s=this,r=arguments,o=Date.now();var f=t&&!i;return i||(i=setTimeout(l,e)),f&&(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}oA.debounce=oA;var O4=oA;const NT=Mg(O4);function F4(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]=V.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=V.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),u=e?typeof e=="number"?e:e.scroll:null,f=e?typeof e=="number"?e:e.resize:null,d=V.useRef(!1);V.useEffect(()=>(d.current=!0,()=>void(d.current=!1)));const[p,m,_]=V.useMemo(()=>{const x=()=>{if(!l.current.element)return;const{left:M,top:E,width:P,height:C,bottom:b,right:L,x:I,y:R}=l.current.element.getBoundingClientRect(),U={left:M,top:E,width:P,height:C,bottom:b,right:L,x:I,y:R};l.current.element instanceof HTMLElement&&r&&(U.height=l.current.element.offsetHeight,U.width=l.current.element.offsetWidth),Object.freeze(U),d.current&&!z4(l.current.lastBounds,U)&&a(l.current.lastBounds=U)};return[x,f?NT(x,f):x,u?NT(x,u):x]},[a,r,u,f]);function S(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(x=>x.removeEventListener("scroll",_,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function y(){l.current.element&&(l.current.resizeObserver=new s(_),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(x=>x.addEventListener("scroll",_,{capture:!0,passive:!0})))}const g=x=>{!x||x===l.current.element||(S(),l.current.element=x,l.current.scrollContainers=sL(x),y())};return U4(_,!!t),N4(m),V.useEffect(()=>{S(),y()},[t,_,m]),V.useEffect(()=>S,[]),[g,o,p]}function N4(n){V.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function U4(n,e){V.useEffect(()=>{if(e){const t=n;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[n,e])}function sL(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,...sL(n.parentElement)]}const k4=["x","y","top","bottom","left","right","width","height"],z4=(n,e)=>k4.every(t=>n[t]===e[t]);var H4=Object.defineProperty,G4=Object.defineProperties,V4=Object.getOwnPropertyDescriptors,UT=Object.getOwnPropertySymbols,W4=Object.prototype.hasOwnProperty,X4=Object.prototype.propertyIsEnumerable,kT=(n,e,t)=>e in n?H4(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,zT=(n,e)=>{for(var t in e||(e={}))W4.call(e,t)&&kT(n,t,e[t]);if(UT)for(var t of UT(e))X4.call(e,t)&&kT(n,t,e[t]);return n},j4=(n,e)=>G4(n,V4(e)),HT,GT;typeof window<"u"&&((HT=window.document)!=null&&HT.createElement||((GT=window.navigator)==null?void 0:GT.product)==="ReactNative")?V.useLayoutEffect:V.useEffect;function oL(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=n.child;for(;i;){const r=oL(i,e,t);if(r)return r;i=i.sibling}}function aL(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const VT=console.error;console.error=function(){const n=[...arguments].join("");if(n!=null&&n.startsWith("Warning:")&&n.includes("useContext")){console.error=VT;return}return VT.apply(this,arguments)};const qS=aL(V.createContext(null));class lL extends V.Component{render(){return V.createElement(qS.Provider,{value:this._reactInternals},this.props.children)}}function J4(){const n=V.useContext(qS);if(n===null)throw new Error("its-fine: useFiber must be called within a !");const e=V.useId();return V.useMemo(()=>{for(const i of[n,n==null?void 0:n.alternate]){if(!i)continue;const r=oL(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 K4(){const n=J4(),[e]=V.useState(()=>new Map);e.clear();let t=n;for(;t;){if(t.type&&typeof t.type=="object"){const r=t.type._context===void 0&&t.type.Provider===t.type?t.type:t.type._context;r&&r!==qS&&!e.has(r)&&e.set(r,V.useContext(aL(r)))}t=t.return}return e}function Y4(){const n=K4();return V.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>V.createElement(e,null,V.createElement(t.Provider,j4(zT({},i),{value:n.get(t)}))),e=>V.createElement(lL,zT({},e))),[n])}const j_={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 Q4(n){const{handlePointer:e}=M4(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(j_).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]=j_[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]=j_[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const Z4=V.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=Q4,eventSource:a,eventPrefix:l,shadows:u,linear:f,flat:d,legacy:p,orthographic:m,frameloop:_,dpr:S,performance:y,raycaster:g,camera:x,scene:M,onPointerMissed:E,onCreated:P,...C},b){V.useMemo(()=>jB(s4),[]);const L=Y4(),[I,R]=F4({scroll:!0,debounce:{scroll:50,resize:0},...i}),U=V.useRef(null),K=V.useRef(null);V.useImperativeHandle(b,()=>U.current);const z=YB(E),[te,ie]=V.useState(!1),[he,ve]=V.useState(!1);if(te)throw te;if(he)throw he;const F=V.useRef(null);Qf(()=>{const H=U.current;R.width>0&&R.height>0&&H&&(F.current||(F.current=B4(H)),F.current.configure({gl:s,events:o,shadows:u,linear:f,flat:d,legacy:p,orthographic:m,frameloop:_,dpr:S,performance:y,raycaster:g,camera:x,scene:M,size:R,onPointerMissed:(...oe)=>z.current==null?void 0:z.current(...oe),onCreated:oe=>{oe.events.connect==null||oe.events.connect(a?m4(a)?a.current:a:K.current),l&&oe.setEvents({compute:(Ee,Ve)=>{const ne=Ee[l+"X"],ye=Ee[l+"Y"];Ve.pointer.set(ne/Ve.size.width*2-1,-(ye/Ve.size.height)*2+1),Ve.raycaster.setFromCamera(Ve.pointer,Ve.camera)}}),P==null||P(oe)}}),F.current.render(J.jsx(L,{children:J.jsx(QB,{set:ve,children:J.jsx(V.Suspense,{fallback:J.jsx(g4,{set:ie}),children:e})})})))}),V.useEffect(()=>{const H=U.current;if(H)return()=>rL(H)},[]);const W=a?"none":"auto";return J.jsx("div",{ref:K,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:W,...r},...C,children:J.jsx("div",{ref:I,style:{width:"100%",height:"100%"},children:J.jsx("canvas",{ref:U,style:{display:"block"},children:t})})})}),q4=V.forwardRef(function(e,t){return J.jsx(lL,{children:J.jsx(Z4,{...e,ref:t})})});function _g(){return _g=Object.assign?Object.assign.bind():function(n){for(var e=1;en.length)&&(e=n.length);for(var t=0,i=new Array(e);tMath.PI&&(t-=Math.PI*2),t}function cL(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}var Mr=function n(e,t,i){var r=this;cL(this,n),Yh(this,"dot2",function(s,o){return r.x*s+r.y*o}),Yh(this,"dot3",function(s,o,a){return r.x*s+r.y*o+r.z*a}),this.x=e,this.y=t,this.z=i},aV=[new Mr(1,1,0),new Mr(-1,1,0),new Mr(1,-1,0),new Mr(-1,-1,0),new Mr(1,0,1),new Mr(-1,0,1),new Mr(1,0,-1),new Mr(-1,0,-1),new Mr(0,1,1),new Mr(0,-1,1),new Mr(0,1,-1),new Mr(0,-1,-1)],WT=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180],XT=new Array(512),jT=new Array(512),lV=function(e){e>0&&e<1&&(e*=65536),e=Math.floor(e),e<256&&(e|=e<<8);for(var t=0;t<256;t++){var i;t&1?i=WT[t]^e&255:i=WT[t]^e>>8&255,XT[t]=XT[t+256]=i,jT[t]=jT[t+256]=aV[i%12]}};lV(0);function cV(n){if(typeof n=="number")n=Math.abs(n);else if(typeof n=="string"){var e=n;n=0;for(var t=0;t1&&arguments[1]!==void 0?arguments[1]:.01,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1/(2*Math.PI);return i/Math.atan(1/t)*Math.atan(Math.sin(2*Math.PI*e*r)/t)},uL=function(e){return 1/(1+e+.48*e*e+.235*e*e*e)},fV=function(e){return e},dV={in:function(e){return 1-Math.cos(e*Math.PI/2)},out:function(e){return Math.sin(e*Math.PI/2)},inOut:function(e){return-(Math.cos(Math.PI*e)-1)/2}},pV={in:function(e){return e*e*e},out:function(e){return 1-Math.pow(1-e,3)},inOut:function(e){return e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2}},mV={in:function(e){return e*e*e*e*e},out:function(e){return 1-Math.pow(1-e,5)},inOut:function(e){return e<.5?16*e*e*e*e*e:1-Math.pow(-2*e+2,5)/2}},gV={in:function(e){return 1-Math.sqrt(1-Math.pow(e,2))},out:function(e){return Math.sqrt(1-Math.pow(e-1,2))},inOut:function(e){return e<.5?(1-Math.sqrt(1-Math.pow(2*e,2)))/2:(Math.sqrt(1-Math.pow(-2*e+2,2))+1)/2}},vV={in:function(e){return e*e*e*e},out:function(e){return 1- --e*e*e*e},inOut:function(e){return e<.5?8*e*e*e*e:1-8*--e*e*e*e}},_V={in:function(e){return e===0?0:Math.pow(2,10*e-10)},out:function(e){return e===1?1:1-Math.pow(2,-10*e)},inOut:function(e){return e===0?0:e===1?1:e<.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2}};function zn(n,e,t){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:.25,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:.01,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:1/0,o=arguments.length>6&&arguments[6]!==void 0?arguments[6]:uL,a=arguments.length>7&&arguments[7]!==void 0?arguments[7]:.001,l="velocity_"+e;if(n.__damp===void 0&&(n.__damp={}),n.__damp[l]===void 0&&(n.__damp[l]=0),Math.abs(n[e]-t)<=a)return n[e]=t,!1;i=Math.max(1e-4,i);var u=2/i,f=o(u*r),d=n[e]-t,p=t,m=s*i;d=Math.min(Math.max(d,-m),m),t=n[e]-d;var _=(n.__damp[l]+u*d)*r;n.__damp[l]=(n.__damp[l]-u*_)*f;var S=t+(d+_)*f;return p-n[e]>0==S>p&&(S=p,n.__damp[l]=(S-p)/r),n[e]=S,!0}var yV=function(e){return e&&e.isCamera},xV=function(e){return e&&e.isLight},hh=new D,KT=new zt,YT=new zt,fh=new Ne,J_=new D;function AV(n,e,t,i,r,s,o){typeof e=="number"?hh.setScalar(e):Array.isArray(e)?hh.set(e[0],e[1],e[2]):hh.copy(e);var a=n.parent;n.updateWorldMatrix(!0,!1),J_.setFromMatrixPosition(n.matrixWorld),yV(n)||xV(n)?fh.lookAt(J_,hh,n.up):fh.lookAt(hh,J_,n.up),yg(n.quaternion,YT.setFromRotationMatrix(fh),t,i,r,s,o),a&&(fh.extractRotation(a.matrixWorld),KT.setFromRotationMatrix(fh),yg(n.quaternion,YT.copy(n.quaternion).premultiply(KT.invert()),t,i,r,s,o))}function Kc(n,e,t,i,r,s,o,a){return zn(n,e,n[e]+oV(n[e],t),i,r,s,o,a)}var dh=new le,QT,ZT;function SV(n,e,t,i,r,s,o){return typeof e=="number"?dh.setScalar(e):Array.isArray(e)?dh.set(e[0],e[1]):dh.copy(e),QT=zn(n,"x",dh.x,t,i,r,s,o),ZT=zn(n,"y",dh.y,t,i,r,s,o),QT||ZT}var gc=new D,qT,$T,eC;function lA(n,e,t,i,r,s,o){return typeof e=="number"?gc.setScalar(e):Array.isArray(e)?gc.set(e[0],e[1],e[2]):gc.copy(e),qT=zn(n,"x",gc.x,t,i,r,s,o),$T=zn(n,"y",gc.y,t,i,r,s,o),eC=zn(n,"z",gc.z,t,i,r,s,o),qT||$T||eC}var Fa=new Lt,tC,nC,iC,rC;function MV(n,e,t,i,r,s,o){return typeof e=="number"?Fa.setScalar(e):Array.isArray(e)?Fa.set(e[0],e[1],e[2],e[3]):Fa.copy(e),tC=zn(n,"x",Fa.x,t,i,r,s,o),nC=zn(n,"y",Fa.y,t,i,r,s,o),iC=zn(n,"z",Fa.z,t,i,r,s,o),rC=zn(n,"w",Fa.w,t,i,r,s,o),tC||nC||iC||rC}var ph=new Bi,sC,oC,aC;function EV(n,e,t,i,r,s,o){return Array.isArray(e)?ph.set(e[0],e[1],e[2],e[3]):ph.copy(e),sC=Kc(n,"x",ph.x,t,i,r,s,o),oC=Kc(n,"y",ph.y,t,i,r,s,o),aC=Kc(n,"z",ph.z,t,i,r,s,o),sC||oC||aC}var vc=new Te,lC,cC,uC;function wV(n,e,t,i,r,s,o){return e instanceof Te?vc.copy(e):Array.isArray(e)?vc.setRGB(e[0],e[1],e[2]):vc.set(e),lC=zn(n,"r",vc.r,t,i,r,s,o),cC=zn(n,"g",vc.g,t,i,r,s,o),uC=zn(n,"b",vc.b,t,i,r,s,o),lC||cC||uC}var Jr=new zt,Gs=new Lt,hC=new Lt,mh=new Lt,fC,dC,pC,mC;function yg(n,e,t,i,r,s,o){var a=n;Array.isArray(e)?Jr.set(e[0],e[1],e[2],e[3]):Jr.copy(e);var l=n.dot(Jr)>0?1:-1;return Jr.x*=l,Jr.y*=l,Jr.z*=l,Jr.w*=l,fC=zn(n,"x",Jr.x,t,i,r,s,o),dC=zn(n,"y",Jr.y,t,i,r,s,o),pC=zn(n,"z",Jr.z,t,i,r,s,o),mC=zn(n,"w",Jr.w,t,i,r,s,o),Gs.set(n.x,n.y,n.z,n.w).normalize(),hC.set(a.__damp.velocity_x,a.__damp.velocity_y,a.__damp.velocity_z,a.__damp.velocity_w),mh.copy(Gs).multiplyScalar(hC.dot(Gs)/Gs.dot(Gs)),a.__damp.velocity_x-=mh.x,a.__damp.velocity_y-=mh.y,a.__damp.velocity_z-=mh.z,a.__damp.velocity_w-=mh.w,n.set(Gs.x,Gs.y,Gs.z,Gs.w),fC||dC||pC||mC}var gh=new KS,gC,vC,_C;function TV(n,e,t,i,r,s,o){return Array.isArray(e)?gh.set(e[0],e[1],e[2]):gh.copy(e),gC=zn(n,"radius",gh.radius,t,i,r,s,o),vC=Kc(n,"phi",gh.phi,t,i,r,s,o),_C=Kc(n,"theta",gh.theta,t,i,r,s,o),gC||vC||_C}var lm=new Ne,yC=new D,xC=new zt,AC=new D,SC,MC,EC;function CV(n,e,t,i,r,s,o){var a=n;return a.__damp===void 0&&(a.__damp={position:new D,rotation:new zt,scale:new D},n.decompose(a.__damp.position,a.__damp.rotation,a.__damp.scale)),Array.isArray(e)?lm.set.apply(lm,iV(e)):lm.copy(e),lm.decompose(yC,xC,AC),SC=lA(a.__damp.position,yC,t,i,r,s,o),MC=yg(a.__damp.rotation,xC,t,i,r,s,o),EC=lA(a.__damp.scale,AC,t,i,r,s,o),n.compose(a.__damp.position,a.__damp.rotation,a.__damp.scale),SC||MC||EC}var RV=Object.freeze({__proto__:null,rsqw:hV,exp:uL,linear:fV,sine:dV,cubic:pV,quint:mV,circ:gV,quart:vV,expo:_V,damp:zn,dampLookAt:AV,dampAngle:Kc,damp2:SV,damp3:lA,damp4:MV,dampE:EV,dampC:wV,dampQ:yg,dampS:TV,dampM:CV});function wC(n,e){if(e===yS)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),n;if(e===gl||e===Nf){let t=n.getIndex();if(t===null){const o=[],a=n.getAttribute("position");if(a!==void 0){for(let l=0;le in n?bV(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,fL=(n,e,t)=>(PV(n,typeof e!="symbol"?e+"":e,t),t);const zm={uniforms:{turbidity:{value:2},rayleigh:{value:1},mieCoefficient:{value:.005},mieDirectionalG:{value:.8},sunPosition:{value:new D},up:{value:new D(0,1,0)}},vertexShader:` + uniform vec3 sunPosition; + uniform float rayleigh; + uniform float turbidity; + uniform float mieCoefficient; + uniform vec3 up; + + varying vec3 vWorldPosition; + varying vec3 vSunDirection; + varying float vSunfade; + varying vec3 vBetaR; + varying vec3 vBetaM; + varying float vSunE; + + // constants for atmospheric scattering + const float e = 2.71828182845904523536028747135266249775724709369995957; + const float pi = 3.141592653589793238462643383279502884197169; + + // wavelength of used primaries, according to preetham + const vec3 lambda = vec3( 680E-9, 550E-9, 450E-9 ); + // this pre-calcuation replaces older TotalRayleigh(vec3 lambda) function: + // (8.0 * pow(pi, 3.0) * pow(pow(n, 2.0) - 1.0, 2.0) * (6.0 + 3.0 * pn)) / (3.0 * N * pow(lambda, vec3(4.0)) * (6.0 - 7.0 * pn)) + const vec3 totalRayleigh = vec3( 5.804542996261093E-6, 1.3562911419845635E-5, 3.0265902468824876E-5 ); + + // mie stuff + // K coefficient for the primaries + const float v = 4.0; + const vec3 K = vec3( 0.686, 0.678, 0.666 ); + // MieConst = pi * pow( ( 2.0 * pi ) / lambda, vec3( v - 2.0 ) ) * K + const vec3 MieConst = vec3( 1.8399918514433978E14, 2.7798023919660528E14, 4.0790479543861094E14 ); + + // earth shadow hack + // cutoffAngle = pi / 1.95; + const float cutoffAngle = 1.6110731556870734; + const float steepness = 1.5; + const float EE = 1000.0; + + float sunIntensity( float zenithAngleCos ) { + zenithAngleCos = clamp( zenithAngleCos, -1.0, 1.0 ); + return EE * max( 0.0, 1.0 - pow( e, -( ( cutoffAngle - acos( zenithAngleCos ) ) / steepness ) ) ); + } + + vec3 totalMie( float T ) { + float c = ( 0.2 * T ) * 10E-18; + return 0.434 * c * MieConst; + } + + void main() { + + vec4 worldPosition = modelMatrix * vec4( position, 1.0 ); + vWorldPosition = worldPosition.xyz; + + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + gl_Position.z = gl_Position.w; // set z to camera.far + + vSunDirection = normalize( sunPosition ); + + vSunE = sunIntensity( dot( vSunDirection, up ) ); + + vSunfade = 1.0 - clamp( 1.0 - exp( ( sunPosition.y / 450000.0 ) ), 0.0, 1.0 ); + + float rayleighCoefficient = rayleigh - ( 1.0 * ( 1.0 - vSunfade ) ); + + // extinction (absorbtion + out scattering) + // rayleigh coefficients + vBetaR = totalRayleigh * rayleighCoefficient; + + // mie coefficients + vBetaM = totalMie( turbidity ) * mieCoefficient; + + } + `,fragmentShader:` + varying vec3 vWorldPosition; + varying vec3 vSunDirection; + varying float vSunfade; + varying vec3 vBetaR; + varying vec3 vBetaM; + varying float vSunE; + + uniform float mieDirectionalG; + uniform vec3 up; + + const vec3 cameraPos = vec3( 0.0, 0.0, 0.0 ); + + // constants for atmospheric scattering + const float pi = 3.141592653589793238462643383279502884197169; + + const float n = 1.0003; // refractive index of air + const float N = 2.545E25; // number of molecules per unit volume for air at 288.15K and 1013mb (sea level -45 celsius) + + // optical length at zenith for molecules + const float rayleighZenithLength = 8.4E3; + const float mieZenithLength = 1.25E3; + // 66 arc seconds -> degrees, and the cosine of that + const float sunAngularDiameterCos = 0.999956676946448443553574619906976478926848692873900859324; + + // 3.0 / ( 16.0 * pi ) + const float THREE_OVER_SIXTEENPI = 0.05968310365946075; + // 1.0 / ( 4.0 * pi ) + const float ONE_OVER_FOURPI = 0.07957747154594767; + + float rayleighPhase( float cosTheta ) { + return THREE_OVER_SIXTEENPI * ( 1.0 + pow( cosTheta, 2.0 ) ); + } + + float hgPhase( float cosTheta, float g ) { + float g2 = pow( g, 2.0 ); + float inverse = 1.0 / pow( 1.0 - 2.0 * g * cosTheta + g2, 1.5 ); + return ONE_OVER_FOURPI * ( ( 1.0 - g2 ) * inverse ); + } + + void main() { + + vec3 direction = normalize( vWorldPosition - cameraPos ); + + // optical length + // cutoff angle at 90 to avoid singularity in next formula. + float zenithAngle = acos( max( 0.0, dot( up, direction ) ) ); + float inverse = 1.0 / ( cos( zenithAngle ) + 0.15 * pow( 93.885 - ( ( zenithAngle * 180.0 ) / pi ), -1.253 ) ); + float sR = rayleighZenithLength * inverse; + float sM = mieZenithLength * inverse; + + // combined extinction factor + vec3 Fex = exp( -( vBetaR * sR + vBetaM * sM ) ); + + // in scattering + float cosTheta = dot( direction, vSunDirection ); + + float rPhase = rayleighPhase( cosTheta * 0.5 + 0.5 ); + vec3 betaRTheta = vBetaR * rPhase; + + float mPhase = hgPhase( cosTheta, mieDirectionalG ); + vec3 betaMTheta = vBetaM * mPhase; + + vec3 Lin = pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex ), vec3( 1.5 ) ); + Lin *= mix( vec3( 1.0 ), pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5.0 ), 0.0, 1.0 ) ); + + // nightsky + float theta = acos( direction.y ); // elevation --> y-axis, [-pi/2, pi/2] + float phi = atan( direction.z, direction.x ); // azimuth --> x-axis [-pi/2, pi/2] + vec2 uv = vec2( phi, theta ) / vec2( 2.0 * pi, pi ) + vec2( 0.5, 0.0 ); + vec3 L0 = vec3( 0.1 ) * Fex; + + // composition + solar disc + float sundisk = smoothstep( sunAngularDiameterCos, sunAngularDiameterCos + 0.00002, cosTheta ); + L0 += ( vSunE * 19000.0 * Fex ) * sundisk; + + vec3 texColor = ( Lin + L0 ) * 0.04 + vec3( 0.0, 0.0003, 0.00075 ); + + vec3 retColor = pow( texColor, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) ); + + gl_FragColor = vec4( retColor, 1.0 ); + + #include + #include <${hL>=154?"colorspace_fragment":"encodings_fragment"}> + + } + `},dL=new hr({name:"SkyShader",fragmentShader:zm.fragmentShader,vertexShader:zm.vertexShader,uniforms:wS.clone(zm.uniforms),side:Ai,depthWrite:!1});let $S=class extends Kt{constructor(){super(new po(1,1,1),dL)}};fL($S,"SkyShader",zm);fL($S,"material",dL);function xg(n){if(typeof TextDecoder<"u")return new TextDecoder().decode(n);let e="";for(let t=0,i=n.length;t=2.0 are supported."));return}const l=new u9(s,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});l.fileLoader.setRequestHeader(this.requestHeader);for(let u=0;u=0&&a[f]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+f+'".')}}l.setExtensions(o),l.setPlugins(a),l.parse(i,r)}parseAsync(e,t){const i=this;return new Promise(function(r,s){i.parse(e,t,r,s)})}};function BV(){let n={};return{get:function(e){return n[e]},add:function(e,t){n[e]=t},remove:function(e){delete n[e]},removeAll:function(){n={}}}}const Rt={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};let LV=class{constructor(e){this.parser=e,this.name=Rt.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let i=0,r=t.length;i=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,s.source,o)}},JV=class{constructor(e){this.parser=e,this.name=Rt.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,s=r.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],a=r.images[o.source];let l=i.textureLoader;if(a.uri){const u=i.options.manager.getHandler(a.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}},KV=class{constructor(e){this.parser=e,this.name=Rt.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,s=r.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],a=r.images[o.source];let l=i.textureLoader;if(a.uri){const u=i.options.manager.getHandler(a.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}},YV=class{constructor(e){this.name=Rt.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,i=t.bufferViews[e];if(i.extensions&&i.extensions[this.name]){const r=i.extensions[this.name],s=this.parser.getDependency("buffer",r.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return s.then(function(a){const l=r.byteOffset||0,u=r.byteLength||0,f=r.count,d=r.byteStride,p=new Uint8Array(a,l,u);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(f,d,p,r.mode,r.filter).then(function(m){return m.buffer}):o.ready.then(function(){const m=new ArrayBuffer(f*d);return o.decodeGltfBuffer(new Uint8Array(m),f,d,p,r.mode,r.filter),m})})}else return null}},QV=class{constructor(e){this.name=Rt.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,i=t.nodes[e];if(!i.extensions||!i.extensions[this.name]||i.mesh===void 0)return null;const r=t.meshes[i.mesh];for(const u of r.primitives)if(u.mode!==Tr.TRIANGLES&&u.mode!==Tr.TRIANGLE_STRIP&&u.mode!==Tr.TRIANGLE_FAN&&u.mode!==void 0)return null;const o=i.extensions[this.name].attributes,a=[],l={};for(const u in o)a.push(this.parser.getDependency("accessor",o[u]).then(f=>(l[u]=f,l[u])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(u=>{const f=u.pop(),d=f.isGroup?f.children:[f],p=u[0].count,m=[];for(const _ of d){const S=new Ne,y=new D,g=new zt,x=new D(1,1,1),M=new Wf(_.geometry,_.material,p);for(let E=0;E=152?{TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3"}:{TEXCOORD_0:"uv",TEXCOORD_1:"uv2"},COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Do={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},i9={CUBICSPLINE:void 0,LINEAR:ao,STEP:ml},Y_={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function r9(n){return n.DefaultMaterial===void 0&&(n.DefaultMaterial=new Ml({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:rs})),n.DefaultMaterial}function Na(n,e,t){for(const i in t.extensions)n[i]===void 0&&(e.userData.gltfExtensions=e.userData.gltfExtensions||{},e.userData.gltfExtensions[i]=t.extensions[i])}function js(n,e){e.extras!==void 0&&(typeof e.extras=="object"?Object.assign(n.userData,e.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+e.extras))}function s9(n,e,t){let i=!1,r=!1,s=!1;for(let u=0,f=e.length;u0||n.search(/^data\:image\/jpeg/)===0?"image/jpeg":n.search(/\.webp($|\?)/i)>0||n.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const c9=new Ne;let u9=class{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new BV,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let i=!1,r=!1,s=-1;typeof navigator<"u"&&typeof navigator.userAgent<"u"&&(i=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,r=navigator.userAgent.indexOf("Firefox")>-1,s=r?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||i||r&&s<98?this.textureLoader=new zS(this.options.manager):this.textureLoader=new GS(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Li(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const i=this,r=this.json,s=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([i.getDependencies("scene"),i.getDependencies("animation"),i.getDependencies("camera")])}).then(function(o){const a={scene:o[0][r.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:r.asset,parser:i,userData:{}};return Na(s,a,r),js(a,r),Promise.all(i._invokeAll(function(l){return l.afterRoot&&l.afterRoot(a)})).then(function(){for(const l of a.scenes)l.updateMatrixWorld();e(a)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],i=this.json.meshes||[];for(let r=0,s=t.length;r{const l=this.associations.get(o);l!=null&&this.associations.set(a,l);for(const[u,f]of o.children.entries())s(f,a.children[u])};return s(i,r),r.name+="_instance_"+e.uses[t]++,r}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let i=0;i=2&&y.setY(I,C[b*l+1]),l>=3&&y.setZ(I,C[b*l+2]),l>=4&&y.setW(I,C[b*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return y})}loadTexture(e){const t=this.json,i=this.options,s=t.textures[e].source,o=t.images[s];let a=this.textureLoader;if(o.uri){const l=i.manager.getHandler(o.uri);l!==null&&(a=l)}return this.loadTextureImage(e,s,a)}loadTextureImage(e,t,i){const r=this,s=this.json,o=s.textures[e],a=s.images[t],l=(a.uri||a.bufferView)+":"+o.sampler;if(this.textureCache[l])return this.textureCache[l];const u=this.loadImageSource(t,i).then(function(f){f.flipY=!1,f.name=o.name||a.name||"",f.name===""&&typeof a.uri=="string"&&a.uri.startsWith("data:image/")===!1&&(f.name=a.uri);const p=(s.samplers||{})[o.sampler]||{};return f.magFilter=RC[p.magFilter]||ln,f.minFilter=RC[p.minFilter]||Wi,f.wrapS=bC[p.wrapS]||ss,f.wrapT=bC[p.wrapT]||ss,r.associations.set(f,{textures:e}),f}).catch(function(){return null});return this.textureCache[l]=u,u}loadImageSource(e,t){const i=this,r=this.json,s=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(d=>d.clone());const o=r.images[e],a=self.URL||self.webkitURL;let l=o.uri||"",u=!1;if(o.bufferView!==void 0)l=i.getDependency("bufferView",o.bufferView).then(function(d){u=!0;const p=new Blob([d],{type:o.mimeType});return l=a.createObjectURL(p),l});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const f=Promise.resolve(l).then(function(d){return new Promise(function(p,m){let _=p;t.isImageBitmapLoader===!0&&(_=function(S){const y=new Yt(S);y.needsUpdate=!0,p(y)}),t.load(cr.resolveURL(d,s.path),_,void 0,m)})}).then(function(d){return u===!0&&a.revokeObjectURL(l),js(d,o),d.userData.mimeType=o.mimeType||l9(o.uri),d}).catch(function(d){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),d});return this.sourceCache[e]=f,f}assignTexture(e,t,i,r){const s=this;return this.getDependency("texture",i.index).then(function(o){if(!o)return null;if(i.texCoord!==void 0&&i.texCoord>0&&(o=o.clone(),o.channel=i.texCoord),s.extensions[Rt.KHR_TEXTURE_TRANSFORM]){const a=i.extensions!==void 0?i.extensions[Rt.KHR_TEXTURE_TRANSFORM]:void 0;if(a){const l=s.associations.get(o);o=s.extensions[Rt.KHR_TEXTURE_TRANSFORM].extendTexture(o,a),s.associations.set(o,l)}}return r!==void 0&&(typeof r=="number"&&(r=r===TC?el:to),"colorSpace"in o?o.colorSpace=r:o.encoding=r===el?TC:IV),e[t]=o,o})}assignFinalMaterial(e){const t=e.geometry;let i=e.material;const r=t.attributes.tangent===void 0,s=t.attributes.color!==void 0,o=t.attributes.normal===void 0;if(e.isPoints){const a="PointsMaterial:"+i.uuid;let l=this.cache.get(a);l||(l=new Xf,rn.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,l.sizeAttenuation=!1,this.cache.add(a,l)),i=l}else if(e.isLine){const a="LineBasicMaterial:"+i.uuid;let l=this.cache.get(a);l||(l=new li,rn.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,this.cache.add(a,l)),i=l}if(r||s||o){let a="ClonedMaterial:"+i.uuid+":";r&&(a+="derivative-tangents:"),s&&(a+="vertex-colors:"),o&&(a+="flat-shading:");let l=this.cache.get(a);l||(l=i.clone(),s&&(l.vertexColors=!0),o&&(l.flatShading=!0),r&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(a,l),this.associations.set(l,this.associations.get(i))),i=l}e.material=i}getMaterialType(){return Ml}loadMaterial(e){const t=this,i=this.json,r=this.extensions,s=i.materials[e];let o;const a={},l=s.extensions||{},u=[];if(l[Rt.KHR_MATERIALS_UNLIT]){const d=r[Rt.KHR_MATERIALS_UNLIT];o=d.getMaterialType(),u.push(d.extendParams(a,s,t))}else{const d=s.pbrMetallicRoughness||{};if(a.color=new Te(1,1,1),a.opacity=1,Array.isArray(d.baseColorFactor)){const p=d.baseColorFactor;a.color.setRGB(p[0],p[1],p[2],to),a.opacity=p[3]}d.baseColorTexture!==void 0&&u.push(t.assignTexture(a,"map",d.baseColorTexture,el)),a.metalness=d.metallicFactor!==void 0?d.metallicFactor:1,a.roughness=d.roughnessFactor!==void 0?d.roughnessFactor:1,d.metallicRoughnessTexture!==void 0&&(u.push(t.assignTexture(a,"metalnessMap",d.metallicRoughnessTexture)),u.push(t.assignTexture(a,"roughnessMap",d.metallicRoughnessTexture))),o=this._invokeOne(function(p){return p.getMaterialType&&p.getMaterialType(e)}),u.push(Promise.all(this._invokeAll(function(p){return p.extendMaterialParams&&p.extendMaterialParams(e,a)})))}s.doubleSided===!0&&(a.side=Pr);const f=s.alphaMode||Y_.OPAQUE;if(f===Y_.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,f===Y_.MASK&&(a.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.normalTexture!==void 0&&o!==On&&(u.push(t.assignTexture(a,"normalMap",s.normalTexture)),a.normalScale=new le(1,1),s.normalTexture.scale!==void 0)){const d=s.normalTexture.scale;a.normalScale.set(d,d)}if(s.occlusionTexture!==void 0&&o!==On&&(u.push(t.assignTexture(a,"aoMap",s.occlusionTexture)),s.occlusionTexture.strength!==void 0&&(a.aoMapIntensity=s.occlusionTexture.strength)),s.emissiveFactor!==void 0&&o!==On){const d=s.emissiveFactor;a.emissive=new Te().setRGB(d[0],d[1],d[2],to)}return s.emissiveTexture!==void 0&&o!==On&&u.push(t.assignTexture(a,"emissiveMap",s.emissiveTexture,el)),Promise.all(u).then(function(){const d=new o(a);return s.name&&(d.name=s.name),js(d,s),t.associations.set(d,{materials:e}),s.extensions&&Na(r,d,s),d})}createUniqueName(e){const t=It.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,i=this.extensions,r=this.primitiveCache;function s(a){return i[Rt.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a,t).then(function(l){return PC(l,a,t)})}const o=[];for(let a=0,l=e.length;a0&&o9(g,s),g.name=t.createUniqueName(s.name||"mesh_"+e),js(g,s),y.extensions&&Na(r,g,y),t.assignFinalMaterial(g),d.push(g)}for(let m=0,_=d.length;m<_;m++)t.associations.set(d[m],{meshes:e,primitives:m});if(d.length===1)return s.extensions&&Na(r,d[0],s),d[0];const p=new Lr;s.extensions&&Na(r,p,s),t.associations.set(p,{meshes:e});for(let m=0,_=d.length;m<_;m++)p.add(d[m]);return p})}loadCamera(e){let t;const i=this.json.cameras[e],r=i[i.type];if(!r){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}return i.type==="perspective"?t=new Bn(kf.radToDeg(r.yfov),r.aspectRatio||1,r.znear||1,r.zfar||2e6):i.type==="orthographic"&&(t=new Sl(-r.xmag,r.xmag,r.ymag,-r.ymag,r.znear,r.zfar)),i.name&&(t.name=this.createUniqueName(i.name)),js(t,i),Promise.resolve(t)}loadSkin(e){const t=this.json.skins[e],i=[];for(let r=0,s=t.joints.length;r1?f=new Lr:u.length===1?f=u[0]:f=new Et,f!==u[0])for(let d=0,p=u.length;d{const d=new Map;for(const[p,m]of r.associations)(p instanceof rn||p instanceof Yt)&&d.set(p,m);return f.traverse(p=>{const m=r.associations.get(p);m!=null&&d.set(p,m)}),d};return r.associations=u(s),s})}_createAnimationTracks(e,t,i,r,s){const o=[],a=e.name?e.name:e.uuid,l=[];Do[s.path]===Do.weights?e.traverse(function(p){p.morphTargetInfluences&&l.push(p.name?p.name:p.uuid)}):l.push(a);let u;switch(Do[s.path]){case Do.weights:u=co;break;case Do.rotation:u=Rs;break;case Do.position:case Do.scale:u=uo;break;default:switch(i.itemSize){case 1:u=co;break;case 2:case 3:default:u=uo;break}break}const f=r.interpolation!==void 0?i9[r.interpolation]:ao,d=this._getArrayFromAccessor(i);for(let p=0,m=l.length;p{const a={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(o,a).then(t).catch(r)},i,r)}decodeDracoFile(e,t,i,r){const s={attributeIDs:i||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!i};this.decodeGeometry(e,s).then(t)}decodeGeometry(e,t){for(const l in t.attributeTypes){const u=t.attributeTypes[l];u.BYTES_PER_ELEMENT!==void 0&&(t.attributeTypes[l]=u.name)}const i=JSON.stringify(t);if(Z_.has(e)){const l=Z_.get(e);if(l.key===i)return l.promise;if(e.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let r;const s=this.workerNextTaskID++,o=e.byteLength,a=this._getWorker(s,o).then(l=>(r=l,new Promise((u,f)=>{r._callbacks[s]={resolve:u,reject:f},r.postMessage({type:"decode",id:s,taskConfig:t,buffer:e},[e])}))).then(l=>this._createGeometry(l.geometry));return a.catch(()=>!0).then(()=>{r&&s&&this._releaseTask(r,s)}),Z_.set(e,{key:i,promise:a}),a}_createGeometry(e){const t=new ot;e.index&&t.setIndex(new st(e.index.array,1));for(let i=0;i{i.load(e,r,void 0,s)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const e=typeof WebAssembly!="object"||this.decoderConfig.type==="js",t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then(i=>{const r=i[0];e||(this.decoderConfig.wasmBinary=i[1]);const s=d9.toString(),o=["/* draco decoder */",r,"","/* worker */",s.substring(s.indexOf("{")+1,s.lastIndexOf("}"))].join(` +`);this.workerSourceURL=URL.createObjectURL(new Blob([o]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.lengths._taskLoad?-1:1});const i=this.workerPool[this.workerPool.length-1];return i._taskCosts[e]=t,i._taskLoad+=t,i})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e{const d=f.draco,p=new d.Decoder,m=new d.DecoderBuffer;m.Init(new Int8Array(l),l.byteLength);try{const _=t(d,p,m,u),S=_.attributes.map(y=>y.array.buffer);_.index&&S.push(_.index.array.buffer),self.postMessage({type:"decode",id:a.id,geometry:_},S)}catch(_){console.error(_),self.postMessage({type:"error",id:a.id,error:_.message})}finally{d.destroy(m),d.destroy(p)}});break}};function t(o,a,l,u){const f=u.attributeIDs,d=u.attributeTypes;let p,m;const _=a.GetEncodedGeometryType(l);if(_===o.TRIANGULAR_MESH)p=new o.Mesh,m=a.DecodeBufferToMesh(l,p);else if(_===o.POINT_CLOUD)p=new o.PointCloud,m=a.DecodeBufferToPointCloud(l,p);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!m.ok()||p.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+m.error_msg());const S={index:null,attributes:[]};for(const y in f){const g=self[d[y]];let x,M;if(u.useUniqueIDs)M=f[y],x=a.GetAttributeByUniqueId(p,M);else{if(M=a.GetAttributeId(p,o[f[y]]),M===-1)continue;x=a.GetAttribute(p,M)}S.attributes.push(r(o,a,p,y,g,x))}return _===o.TRIANGULAR_MESH&&(S.index=i(o,a,p)),o.destroy(p),S}function i(o,a,l){const f=l.num_faces()*3,d=f*4,p=o._malloc(d);a.GetTrianglesUInt32Array(l,d,p);const m=new Uint32Array(o.HEAPF32.buffer,p,f).slice();return o._free(p),{array:m,itemSize:1}}function r(o,a,l,u,f,d){const p=d.num_components(),_=l.num_points()*p,S=_*f.BYTES_PER_ELEMENT,y=s(o,f),g=o._malloc(S);a.GetAttributeDataArrayForAllPoints(l,d,y,S,g);const x=new f(o.HEAPF32.buffer,g,_).slice();return o._free(g),{name:u,array:x,itemSize:p}}function s(o,a){switch(a){case Float32Array:return o.DT_FLOAT32;case Int8Array:return o.DT_INT8;case Int16Array:return o.DT_INT16;case Int32Array:return o.DT_INT32;case Uint8Array:return o.DT_UINT8;case Uint16Array:return o.DT_UINT16;case Uint32Array:return o.DT_UINT32}}}let cm;const q_=()=>{if(cm)return cm;const n="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",e="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",t=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),i=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]);if(typeof WebAssembly!="object")return{supported:!1};let r=n;WebAssembly.validate(t)&&(r=e);let s;const o=WebAssembly.instantiate(a(r),{}).then(d=>{s=d.instance,s.exports.__wasm_call_ctors()});function a(d){const p=new Uint8Array(d.length);for(let _=0;_96?S-71:S>64?S-65:S>47?S+4:S>46?63:62}let m=0;for(let _=0;_e in n?p9(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Gt=(n,e,t)=>(m9(n,typeof e!="symbol"?e+"":e,t),t);function $_(n,e,t,i,r){let s;if(n=n.subarray||n.slice?n:n.buffer,t=t.subarray||t.slice?t:t.buffer,n=e?n.subarray?n.subarray(e,r&&e+r):n.slice(e,r&&e+r):n,t.set)t.set(n,i);else for(s=0;s{const t=Array.isArray(e);return e instanceof D?[e.x,e.y,e.z]:e instanceof le?[e.x,e.y,0]:t&&e.length===3?[e[0],e[1],e[2]]:t&&e.length===2?[e[0],e[1],0]:e}).flat()}class v9 extends ot{constructor(){super(),Gt(this,"type","MeshLine"),Gt(this,"isMeshLine",!0),Gt(this,"positions",[]),Gt(this,"previous",[]),Gt(this,"next",[]),Gt(this,"side",[]),Gt(this,"width",[]),Gt(this,"indices_array",[]),Gt(this,"uvs",[]),Gt(this,"counters",[]),Gt(this,"widthCallback",null),Gt(this,"_attributes"),Gt(this,"_points",[]),Gt(this,"points"),Gt(this,"matrixWorld",new Ne),Object.defineProperties(this,{points:{enumerable:!0,get(){return this._points},set(e){this.setPoints(e,this.widthCallback)}}})}setMatrixWorld(e){this.matrixWorld=e}setPoints(e,t){if(e=g9(e),this._points=e,this.widthCallback=t??null,this.positions=[],this.counters=[],e.length&&e[0]instanceof D)for(let i=0;i0&&(i=this.copyV3(r),this.next.push(i[0],i[1],i[2]),this.next.push(i[0],i[1],i[2]))}this.compareV3(e-1,0)?i=this.copyV3(1):i=this.copyV3(e-1),this.next.push(i[0],i[1],i[2]),this.next.push(i[0],i[1],i[2]),!this._attributes||this._attributes.position.count!==this.counters.length?this._attributes={position:new st(new Float32Array(this.positions),3),previous:new st(new Float32Array(this.previous),3),next:new st(new Float32Array(this.next),3),side:new st(new Float32Array(this.side),1),width:new st(new Float32Array(this.width),1),uv:new st(new Float32Array(this.uvs),2),index:new st(new Uint16Array(this.indices_array),1),counters:new st(new Float32Array(this.counters),1)}:(this._attributes.position.copyArray(new Float32Array(this.positions)),this._attributes.position.needsUpdate=!0,this._attributes.previous.copyArray(new Float32Array(this.previous)),this._attributes.previous.needsUpdate=!0,this._attributes.next.copyArray(new Float32Array(this.next)),this._attributes.next.needsUpdate=!0,this._attributes.side.copyArray(new Float32Array(this.side)),this._attributes.side.needsUpdate=!0,this._attributes.width.copyArray(new Float32Array(this.width)),this._attributes.width.needsUpdate=!0,this._attributes.uv.copyArray(new Float32Array(this.uvs)),this._attributes.uv.needsUpdate=!0,this._attributes.index.copyArray(new Uint16Array(this.indices_array)),this._attributes.index.needsUpdate=!0),this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setIndex(this._attributes.index),this.computeBoundingSphere(),this.computeBoundingBox()}advance({x:e,y:t,z:i}){const r=this._attributes.position.array,s=this._attributes.previous.array,o=this._attributes.next.array,a=r.length;$_(r,0,s,0,a),$_(r,6,r,0,a-6),r[a-6]=e,r[a-5]=t,r[a-4]=i,r[a-3]=e,r[a-2]=t,r[a-1]=i,$_(r,6,o,0,a-6),o[a-6]=e,o[a-5]=t,o[a-4]=i,o[a-3]=e,o[a-2]=t,o[a-1]=i,this._attributes.position.needsUpdate=!0,this._attributes.previous.needsUpdate=!0,this._attributes.next.needsUpdate=!0}}const _9=` + #include + #include + #include + #include + + attribute vec3 previous; + attribute vec3 next; + attribute float side; + attribute float width; + attribute float counters; + + uniform vec2 resolution; + uniform float lineWidth; + uniform vec3 color; + uniform float opacity; + uniform float sizeAttenuation; + + varying vec2 vUV; + varying vec4 vColor; + varying float vCounters; + + vec2 fix(vec4 i, float aspect) { + vec2 res = i.xy / i.w; + res.x *= aspect; + return res; + } + + void main() { + float aspect = resolution.x / resolution.y; + vColor = vec4(color, opacity); + vUV = uv; + vCounters = counters; + + mat4 m = projectionMatrix * modelViewMatrix; + vec4 finalPosition = m * vec4(position, 1.0) * aspect; + vec4 prevPos = m * vec4(previous, 1.0); + vec4 nextPos = m * vec4(next, 1.0); + + vec2 currentP = fix(finalPosition, aspect); + vec2 prevP = fix(prevPos, aspect); + vec2 nextP = fix(nextPos, aspect); + + float w = lineWidth * width; + + vec2 dir; + if (nextP == currentP) dir = normalize(currentP - prevP); + else if (prevP == currentP) dir = normalize(nextP - currentP); + else { + vec2 dir1 = normalize(currentP - prevP); + vec2 dir2 = normalize(nextP - currentP); + dir = normalize(dir1 + dir2); + + vec2 perp = vec2(-dir1.y, dir1.x); + vec2 miter = vec2(-dir.y, dir.x); + //w = clamp(w / dot(miter, perp), 0., 4. * lineWidth * width); + } + + //vec2 normal = (cross(vec3(dir, 0.), vec3(0., 0., 1.))).xy; + vec4 normal = vec4(-dir.y, dir.x, 0., 1.); + normal.xy *= .5 * w; + //normal *= projectionMatrix; + if (sizeAttenuation == 0.) { + normal.xy *= finalPosition.w; + normal.xy /= (vec4(resolution, 0., 1.) * projectionMatrix).xy * aspect; + } + + finalPosition.xy += normal.xy * side; + gl_Position = finalPosition; + #include + #include + vec4 mvPosition = modelViewMatrix * vec4(position, 1.0); + #include + #include + } +`,y9=parseInt(mu.replace(/\D+/g,"")),x9=y9>=154?"colorspace_fragment":"encodings_fragment",A9=` + #include + #include + #include + + uniform sampler2D map; + uniform sampler2D alphaMap; + uniform float useGradient; + uniform float useMap; + uniform float useAlphaMap; + uniform float useDash; + uniform float dashArray; + uniform float dashOffset; + uniform float dashRatio; + uniform float visibility; + uniform float alphaTest; + uniform vec2 repeat; + uniform vec3 gradient[2]; + + varying vec2 vUV; + varying vec4 vColor; + varying float vCounters; + + void main() { + #include + vec4 diffuseColor = vColor; + if (useGradient == 1.) diffuseColor = vec4(mix(gradient[0], gradient[1], vCounters), 1.0); + if (useMap == 1.) diffuseColor *= texture2D(map, vUV * repeat); + if (useAlphaMap == 1.) diffuseColor.a *= texture2D(alphaMap, vUV * repeat).a; + if (diffuseColor.a < alphaTest) discard; + if (useDash == 1.) diffuseColor.a *= ceil(mod(vCounters + dashOffset, dashArray) - (dashArray * dashRatio)); + diffuseColor.a *= step(vCounters, visibility); + #include + gl_FragColor = diffuseColor; + #include + #include + #include <${x9}> + } +`;class S9 extends hr{constructor(e){super({uniforms:{...Pe.fog,lineWidth:{value:1},map:{value:null},useMap:{value:0},alphaMap:{value:null},useAlphaMap:{value:0},color:{value:new Te(16777215)},gradient:{value:[new Te(16711680),new Te(65280)]},opacity:{value:1},resolution:{value:new le(1,1)},sizeAttenuation:{value:1},dashArray:{value:0},dashOffset:{value:0},dashRatio:{value:.5},useDash:{value:0},useGradient:{value:0},visibility:{value:1},alphaTest:{value:0},repeat:{value:new le(1,1)}},vertexShader:_9,fragmentShader:A9}),Gt(this,"lineWidth"),Gt(this,"map"),Gt(this,"useMap"),Gt(this,"alphaMap"),Gt(this,"useAlphaMap"),Gt(this,"color"),Gt(this,"gradient"),Gt(this,"resolution"),Gt(this,"sizeAttenuation"),Gt(this,"dashArray"),Gt(this,"dashOffset"),Gt(this,"dashRatio"),Gt(this,"useDash"),Gt(this,"useGradient"),Gt(this,"visibility"),Gt(this,"repeat"),this.type="MeshLineMaterial",Object.defineProperties(this,{lineWidth:{enumerable:!0,get(){return this.uniforms.lineWidth.value},set(t){this.uniforms.lineWidth.value=t}},map:{enumerable:!0,get(){return this.uniforms.map.value},set(t){this.uniforms.map.value=t}},useMap:{enumerable:!0,get(){return this.uniforms.useMap.value},set(t){this.uniforms.useMap.value=t}},alphaMap:{enumerable:!0,get(){return this.uniforms.alphaMap.value},set(t){this.uniforms.alphaMap.value=t}},useAlphaMap:{enumerable:!0,get(){return this.uniforms.useAlphaMap.value},set(t){this.uniforms.useAlphaMap.value=t}},color:{enumerable:!0,get(){return this.uniforms.color.value},set(t){this.uniforms.color.value=t}},gradient:{enumerable:!0,get(){return this.uniforms.gradient.value},set(t){this.uniforms.gradient.value=t}},opacity:{enumerable:!0,get(){return this.uniforms.opacity.value},set(t){this.uniforms.opacity.value=t}},resolution:{enumerable:!0,get(){return this.uniforms.resolution.value},set(t){this.uniforms.resolution.value.copy(t)}},sizeAttenuation:{enumerable:!0,get(){return this.uniforms.sizeAttenuation.value},set(t){this.uniforms.sizeAttenuation.value=t}},dashArray:{enumerable:!0,get(){return this.uniforms.dashArray.value},set(t){this.uniforms.dashArray.value=t,this.useDash=t!==0?1:0}},dashOffset:{enumerable:!0,get(){return this.uniforms.dashOffset.value},set(t){this.uniforms.dashOffset.value=t}},dashRatio:{enumerable:!0,get(){return this.uniforms.dashRatio.value},set(t){this.uniforms.dashRatio.value=t}},useDash:{enumerable:!0,get(){return this.uniforms.useDash.value},set(t){this.uniforms.useDash.value=t}},useGradient:{enumerable:!0,get(){return this.uniforms.useGradient.value},set(t){this.uniforms.useGradient.value=t}},visibility:{enumerable:!0,get(){return this.uniforms.visibility.value},set(t){this.uniforms.visibility.value=t}},alphaTest:{enumerable:!0,get(){return this.uniforms.alphaTest.value},set(t){this.uniforms.alphaTest.value=t}},repeat:{enumerable:!0,get(){return this.uniforms.repeat.value},set(t){this.uniforms.repeat.value.copy(t)}}}),this.setValues(e)}copy(e){return super.copy(e),this.lineWidth=e.lineWidth,this.map=e.map,this.useMap=e.useMap,this.alphaMap=e.alphaMap,this.useAlphaMap=e.useAlphaMap,this.color.copy(e.color),this.gradient=e.gradient,this.opacity=e.opacity,this.resolution.copy(e.resolution),this.sizeAttenuation=e.sizeAttenuation,this.dashArray=e.dashArray,this.dashOffset=e.dashOffset,this.dashRatio=e.dashRatio,this.useDash=e.useDash,this.useGradient=e.useGradient,this.visibility=e.visibility,this.alphaTest=e.alphaTest,this.repeat.copy(e.repeat),this}}let um=null,gL="https://www.gstatic.com/draco/versioned/decoders/1.5.5/";function vL(n,e,t){return i=>{t&&t(i),n&&(um||(um=new f9),um.setDecoderPath(typeof n=="string"?n:gL),i.setDRACOLoader(um)),e&&i.setMeshoptDecoder(typeof q_=="function"?q_():q_)}}function $f(n,e=!0,t=!0,i){return qf(eM,n,vL(e,t,i))}$f.preload=(n,e=!0,t=!0,i)=>qf.preload(eM,n,vL(e,t,i));$f.clear=n=>qf.clear(eM,n);$f.setDecoderPath=n=>{gL=n};/*! + * camera-controls + * https://github.com/yomotsu/camera-controls + * (c) 2017 @yomotsu + * Released under the MIT License. + */const dn={LEFT:1,RIGHT:2,MIDDLE:4},ue=Object.freeze({NONE:0,ROTATE:1,TRUCK:2,OFFSET:4,DOLLY:8,ZOOM:16,TOUCH_ROTATE:32,TOUCH_TRUCK:64,TOUCH_OFFSET:128,TOUCH_DOLLY:256,TOUCH_ZOOM:512,TOUCH_DOLLY_TRUCK:1024,TOUCH_DOLLY_OFFSET:2048,TOUCH_DOLLY_ROTATE:4096,TOUCH_ZOOM_TRUCK:8192,TOUCH_ZOOM_OFFSET:16384,TOUCH_ZOOM_ROTATE:32768}),_c={NONE:0,IN:1,OUT:-1};function Ua(n){return n.isPerspectiveCamera}function Fo(n){return n.isOrthographicCamera}const yc=Math.PI*2,IC=Math.PI/2,_L=1e-5,_h=Math.PI/180;function Kr(n,e,t){return Math.max(e,Math.min(t,n))}function Qt(n,e=_L){return Math.abs(n)0==m>f&&(m=f,t.value=(m-f)/s),m}function LC(n,e,t,i,r=1/0,s,o){i=Math.max(1e-4,i);const a=2/i,l=a*s,u=1/(1+l+.48*l*l+.235*l*l*l);let f=e.x,d=e.y,p=e.z,m=n.x-f,_=n.y-d,S=n.z-p;const y=f,g=d,x=p,M=r*i,E=M*M,P=m*m+_*_+S*S;if(P>E){const ie=Math.sqrt(P);m=m/ie*M,_=_/ie*M,S=S/ie*M}f=n.x-m,d=n.y-_,p=n.z-S;const C=(t.x+a*m)*s,b=(t.y+a*_)*s,L=(t.z+a*S)*s;t.x=(t.x-a*C)*u,t.y=(t.y-a*b)*u,t.z=(t.z-a*L)*u,o.x=f+(m+C)*u,o.y=d+(_+b)*u,o.z=p+(S+L)*u;const I=y-n.x,R=g-n.y,U=x-n.z,K=o.x-y,z=o.y-g,te=o.z-x;return I*K+R*z+U*te>0&&(o.x=y,o.y=g,o.z=x,t.x=(o.x-y)/s,t.y=(o.y-g)/s,t.z=(o.z-x)/s),o}function ey(n,e){e.set(0,0),n.forEach(t=>{e.x+=t.clientX,e.y+=t.clientY}),e.x/=n.length,e.y/=n.length}function ty(n,e){return Fo(n)?(console.warn(`${e} is not supported in OrthographicCamera`),!0):!1}class M9{constructor(){this._listeners={}}addEventListener(e,t){const i=this._listeners;i[e]===void 0&&(i[e]=[]),i[e].indexOf(t)===-1&&i[e].push(t)}hasEventListener(e,t){const i=this._listeners;return i[e]!==void 0&&i[e].indexOf(t)!==-1}removeEventListener(e,t){const r=this._listeners[e];if(r!==void 0){const s=r.indexOf(t);s!==-1&&r.splice(s,1)}}removeAllEventListeners(e){if(!e){this._listeners={};return}Array.isArray(this._listeners[e])&&(this._listeners[e].length=0)}dispatchEvent(e){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{},this._enabled=!0,this._state=ue.NONE,this._viewport=null,this._changedDolly=0,this._changedZoom=0,this._hasRested=!0,this._boundaryEnclosesCamera=!1,this._needsUpdate=!0,this._updatedLastTime=!1,this._elementRect=new DOMRect,this._isDragging=!1,this._dragNeedsUpdate=!0,this._activePointers=[],this._lockedPointer=null,this._interactiveArea=new DOMRect(0,0,1,1),this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._isUserControllingOffset=!1,this._isUserControllingZoom=!1,this._lastDollyDirection=_c.NONE,this._thetaVelocity={value:0},this._phiVelocity={value:0},this._radiusVelocity={value:0},this._targetVelocity=new rt.Vector3,this._focalOffsetVelocity=new rt.Vector3,this._zoomVelocity={value:0},this._truckInternal=(g,x,M)=>{let E,P;if(Ua(this._camera)){const C=xt.copy(this._camera.position).sub(this._target),b=this._camera.getEffectiveFOV()*_h,L=C.length()*Math.tan(b*.5);E=this.truckSpeed*g*L/this._elementRect.height,P=this.truckSpeed*x*L/this._elementRect.height}else if(Fo(this._camera)){const C=this._camera;E=g*(C.right-C.left)/C.zoom/this._elementRect.width,P=x*(C.top-C.bottom)/C.zoom/this._elementRect.height}else return;this.verticalDragToForward?(M?this.setFocalOffset(this._focalOffsetEnd.x+E,this._focalOffsetEnd.y,this._focalOffsetEnd.z,!0):this.truck(E,0,!0),this.forward(-P,!0)):M?this.setFocalOffset(this._focalOffsetEnd.x+E,this._focalOffsetEnd.y+P,this._focalOffsetEnd.z,!0):this.truck(E,P,!0)},this._rotateInternal=(g,x)=>{const M=yc*this.azimuthRotateSpeed*g/this._elementRect.height,E=yc*this.polarRotateSpeed*x/this._elementRect.height;this.rotate(M,E,!0)},this._dollyInternal=(g,x,M)=>{const E=Math.pow(.95,-g*this.dollySpeed),P=this._sphericalEnd.radius,C=this._sphericalEnd.radius*E,b=Kr(C,this.minDistance,this.maxDistance),L=b-C;this.infinityDolly&&this.dollyToCursor?this._dollyToNoClamp(C,!0):this.infinityDolly&&!this.dollyToCursor?(this.dollyInFixed(L,!0),this._dollyToNoClamp(b,!0)):this._dollyToNoClamp(b,!0),this.dollyToCursor&&(this._changedDolly+=(this.infinityDolly?C:b)-P,this._dollyControlCoord.set(x,M)),this._lastDollyDirection=Math.sign(-g)},this._zoomInternal=(g,x,M)=>{const E=Math.pow(.95,g*this.dollySpeed),P=this._zoom,C=this._zoom*E;this.zoomTo(C,!0),this.dollyToCursor&&(this._changedZoom+=C-P,this._dollyControlCoord.set(x,M))},typeof rt>"u"&&console.error("camera-controls: `THREE` is undefined. You must first run `CameraControls.install( { THREE: THREE } )`. Check the docs for further information."),this._camera=e,this._yAxisUpSpace=new rt.Quaternion().setFromUnitVectors(this._camera.up,dm),this._yAxisUpSpaceInverse=this._yAxisUpSpace.clone().invert(),this._state=ue.NONE,this._target=new rt.Vector3,this._targetEnd=this._target.clone(),this._focalOffset=new rt.Vector3,this._focalOffsetEnd=this._focalOffset.clone(),this._spherical=new rt.Spherical().setFromVector3(xt.copy(this._camera.position).applyQuaternion(this._yAxisUpSpace)),this._sphericalEnd=this._spherical.clone(),this._lastDistance=this._spherical.radius,this._zoom=this._camera.zoom,this._zoomEnd=this._zoom,this._lastZoom=this._zoom,this._nearPlaneCorners=[new rt.Vector3,new rt.Vector3,new rt.Vector3,new rt.Vector3],this._updateNearPlaneCorners(),this._boundary=new rt.Box3(new rt.Vector3(-1/0,-1/0,-1/0),new rt.Vector3(1/0,1/0,1/0)),this._cameraUp0=this._camera.up.clone(),this._target0=this._target.clone(),this._position0=this._camera.position.clone(),this._zoom0=this._zoom,this._focalOffset0=this._focalOffset.clone(),this._dollyControlCoord=new rt.Vector2,this.mouseButtons={left:ue.ROTATE,middle:ue.DOLLY,right:ue.TRUCK,wheel:Ua(this._camera)?ue.DOLLY:Fo(this._camera)?ue.ZOOM:ue.NONE},this.touches={one:ue.TOUCH_ROTATE,two:Ua(this._camera)?ue.TOUCH_DOLLY_TRUCK:Fo(this._camera)?ue.TOUCH_ZOOM_TRUCK:ue.NONE,three:ue.TOUCH_TRUCK};const i=new rt.Vector2,r=new rt.Vector2,s=new rt.Vector2,o=g=>{if(!this._enabled||!this._domElement)return;if(this._interactiveArea.left!==0||this._interactiveArea.top!==0||this._interactiveArea.width!==1||this._interactiveArea.height!==1){const E=this._domElement.getBoundingClientRect(),P=g.clientX/E.width,C=g.clientY/E.height;if(Pthis._interactiveArea.right||Cthis._interactiveArea.bottom)return}const x=g.pointerType!=="mouse"?null:(g.buttons&dn.LEFT)===dn.LEFT?dn.LEFT:(g.buttons&dn.MIDDLE)===dn.MIDDLE?dn.MIDDLE:(g.buttons&dn.RIGHT)===dn.RIGHT?dn.RIGHT:null;if(x!==null){const E=this._findPointerByMouseButton(x);E&&this._disposePointer(E)}if((g.buttons&dn.LEFT)===dn.LEFT&&this._lockedPointer)return;const M={pointerId:g.pointerId,clientX:g.clientX,clientY:g.clientY,deltaX:0,deltaY:0,mouseButton:x};this._activePointers.push(M),this._domElement.ownerDocument.removeEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.removeEventListener("pointerup",l),this._domElement.ownerDocument.addEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.addEventListener("pointerup",l),this._isDragging=!0,p(g)},a=g=>{g.cancelable&&g.preventDefault();const x=g.pointerId,M=this._lockedPointer||this._findPointerById(x);if(M){if(M.clientX=g.clientX,M.clientY=g.clientY,M.deltaX=g.movementX,M.deltaY=g.movementY,this._state=0,g.pointerType==="touch")switch(this._activePointers.length){case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three;break}else(!this._isDragging&&this._lockedPointer||this._isDragging&&(g.buttons&dn.LEFT)===dn.LEFT)&&(this._state=this._state|this.mouseButtons.left),this._isDragging&&(g.buttons&dn.MIDDLE)===dn.MIDDLE&&(this._state=this._state|this.mouseButtons.middle),this._isDragging&&(g.buttons&dn.RIGHT)===dn.RIGHT&&(this._state=this._state|this.mouseButtons.right);m()}},l=g=>{const x=this._findPointerById(g.pointerId);if(!(x&&x===this._lockedPointer)){if(x&&this._disposePointer(x),g.pointerType==="touch")switch(this._activePointers.length){case 0:this._state=ue.NONE;break;case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three;break}else this._state=ue.NONE;_()}};let u=-1;const f=g=>{if(!this._domElement||!this._enabled||this.mouseButtons.wheel===ue.NONE)return;if(this._interactiveArea.left!==0||this._interactiveArea.top!==0||this._interactiveArea.width!==1||this._interactiveArea.height!==1){const C=this._domElement.getBoundingClientRect(),b=g.clientX/C.width,L=g.clientY/C.height;if(bthis._interactiveArea.right||Lthis._interactiveArea.bottom)return}if(g.preventDefault(),this.dollyToCursor||this.mouseButtons.wheel===ue.ROTATE||this.mouseButtons.wheel===ue.TRUCK){const C=performance.now();u-C<1e3&&this._getClientRect(this._elementRect),u=C}const x=w9?-1:-3,M=g.deltaMode===1?g.deltaY/x:g.deltaY/(x*10),E=this.dollyToCursor?(g.clientX-this._elementRect.x)/this._elementRect.width*2-1:0,P=this.dollyToCursor?(g.clientY-this._elementRect.y)/this._elementRect.height*-2+1:0;switch(this.mouseButtons.wheel){case ue.ROTATE:{this._rotateInternal(g.deltaX,g.deltaY),this._isUserControllingRotate=!0;break}case ue.TRUCK:{this._truckInternal(g.deltaX,g.deltaY,!1),this._isUserControllingTruck=!0;break}case ue.OFFSET:{this._truckInternal(g.deltaX,g.deltaY,!0),this._isUserControllingOffset=!0;break}case ue.DOLLY:{this._dollyInternal(-M,E,P),this._isUserControllingDolly=!0;break}case ue.ZOOM:{this._zoomInternal(-M,E,P),this._isUserControllingZoom=!0;break}}this.dispatchEvent({type:"control"})},d=g=>{if(!(!this._domElement||!this._enabled)){if(this.mouseButtons.right===hA.ACTION.NONE){const x=g instanceof PointerEvent?g.pointerId:0,M=this._findPointerById(x);M&&this._disposePointer(M),this._domElement.ownerDocument.removeEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.removeEventListener("pointerup",l);return}g.preventDefault()}},p=g=>{if(!this._enabled)return;if(ey(this._activePointers,ki),this._getClientRect(this._elementRect),i.copy(ki),r.copy(ki),this._activePointers.length>=2){const M=ki.x-this._activePointers[1].clientX,E=ki.y-this._activePointers[1].clientY,P=Math.sqrt(M*M+E*E);s.set(0,P);const C=(this._activePointers[0].clientX+this._activePointers[1].clientX)*.5,b=(this._activePointers[0].clientY+this._activePointers[1].clientY)*.5;r.set(C,b)}if(this._state=0,!g)this._lockedPointer&&(this._state=this._state|this.mouseButtons.left);else if("pointerType"in g&&g.pointerType==="touch")switch(this._activePointers.length){case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three;break}else!this._lockedPointer&&(g.buttons&dn.LEFT)===dn.LEFT&&(this._state=this._state|this.mouseButtons.left),(g.buttons&dn.MIDDLE)===dn.MIDDLE&&(this._state=this._state|this.mouseButtons.middle),(g.buttons&dn.RIGHT)===dn.RIGHT&&(this._state=this._state|this.mouseButtons.right);((this._state&ue.ROTATE)===ue.ROTATE||(this._state&ue.TOUCH_ROTATE)===ue.TOUCH_ROTATE||(this._state&ue.TOUCH_DOLLY_ROTATE)===ue.TOUCH_DOLLY_ROTATE||(this._state&ue.TOUCH_ZOOM_ROTATE)===ue.TOUCH_ZOOM_ROTATE)&&(this._sphericalEnd.theta=this._spherical.theta,this._sphericalEnd.phi=this._spherical.phi,this._thetaVelocity.value=0,this._phiVelocity.value=0),((this._state&ue.TRUCK)===ue.TRUCK||(this._state&ue.TOUCH_TRUCK)===ue.TOUCH_TRUCK||(this._state&ue.TOUCH_DOLLY_TRUCK)===ue.TOUCH_DOLLY_TRUCK||(this._state&ue.TOUCH_ZOOM_TRUCK)===ue.TOUCH_ZOOM_TRUCK)&&(this._targetEnd.copy(this._target),this._targetVelocity.set(0,0,0)),((this._state&ue.DOLLY)===ue.DOLLY||(this._state&ue.TOUCH_DOLLY)===ue.TOUCH_DOLLY||(this._state&ue.TOUCH_DOLLY_TRUCK)===ue.TOUCH_DOLLY_TRUCK||(this._state&ue.TOUCH_DOLLY_OFFSET)===ue.TOUCH_DOLLY_OFFSET||(this._state&ue.TOUCH_DOLLY_ROTATE)===ue.TOUCH_DOLLY_ROTATE)&&(this._sphericalEnd.radius=this._spherical.radius,this._radiusVelocity.value=0),((this._state&ue.ZOOM)===ue.ZOOM||(this._state&ue.TOUCH_ZOOM)===ue.TOUCH_ZOOM||(this._state&ue.TOUCH_ZOOM_TRUCK)===ue.TOUCH_ZOOM_TRUCK||(this._state&ue.TOUCH_ZOOM_OFFSET)===ue.TOUCH_ZOOM_OFFSET||(this._state&ue.TOUCH_ZOOM_ROTATE)===ue.TOUCH_ZOOM_ROTATE)&&(this._zoomEnd=this._zoom,this._zoomVelocity.value=0),((this._state&ue.OFFSET)===ue.OFFSET||(this._state&ue.TOUCH_OFFSET)===ue.TOUCH_OFFSET||(this._state&ue.TOUCH_DOLLY_OFFSET)===ue.TOUCH_DOLLY_OFFSET||(this._state&ue.TOUCH_ZOOM_OFFSET)===ue.TOUCH_ZOOM_OFFSET)&&(this._focalOffsetEnd.copy(this._focalOffset),this._focalOffsetVelocity.set(0,0,0)),this.dispatchEvent({type:"controlstart"})},m=()=>{if(!this._enabled||!this._dragNeedsUpdate)return;this._dragNeedsUpdate=!1,ey(this._activePointers,ki);const x=this._domElement&&this._domElement.ownerDocument.pointerLockElement===this._domElement?this._lockedPointer||this._activePointers[0]:null,M=x?-x.deltaX:r.x-ki.x,E=x?-x.deltaY:r.y-ki.y;if(r.copy(ki),((this._state&ue.ROTATE)===ue.ROTATE||(this._state&ue.TOUCH_ROTATE)===ue.TOUCH_ROTATE||(this._state&ue.TOUCH_DOLLY_ROTATE)===ue.TOUCH_DOLLY_ROTATE||(this._state&ue.TOUCH_ZOOM_ROTATE)===ue.TOUCH_ZOOM_ROTATE)&&(this._rotateInternal(M,E),this._isUserControllingRotate=!0),(this._state&ue.DOLLY)===ue.DOLLY||(this._state&ue.ZOOM)===ue.ZOOM){const P=this.dollyToCursor?(i.x-this._elementRect.x)/this._elementRect.width*2-1:0,C=this.dollyToCursor?(i.y-this._elementRect.y)/this._elementRect.height*-2+1:0,b=this.dollyDragInverted?-1:1;(this._state&ue.DOLLY)===ue.DOLLY?(this._dollyInternal(b*E*fm,P,C),this._isUserControllingDolly=!0):(this._zoomInternal(b*E*fm,P,C),this._isUserControllingZoom=!0)}if((this._state&ue.TOUCH_DOLLY)===ue.TOUCH_DOLLY||(this._state&ue.TOUCH_ZOOM)===ue.TOUCH_ZOOM||(this._state&ue.TOUCH_DOLLY_TRUCK)===ue.TOUCH_DOLLY_TRUCK||(this._state&ue.TOUCH_ZOOM_TRUCK)===ue.TOUCH_ZOOM_TRUCK||(this._state&ue.TOUCH_DOLLY_OFFSET)===ue.TOUCH_DOLLY_OFFSET||(this._state&ue.TOUCH_ZOOM_OFFSET)===ue.TOUCH_ZOOM_OFFSET||(this._state&ue.TOUCH_DOLLY_ROTATE)===ue.TOUCH_DOLLY_ROTATE||(this._state&ue.TOUCH_ZOOM_ROTATE)===ue.TOUCH_ZOOM_ROTATE){const P=ki.x-this._activePointers[1].clientX,C=ki.y-this._activePointers[1].clientY,b=Math.sqrt(P*P+C*C),L=s.y-b;s.set(0,b);const I=this.dollyToCursor?(r.x-this._elementRect.x)/this._elementRect.width*2-1:0,R=this.dollyToCursor?(r.y-this._elementRect.y)/this._elementRect.height*-2+1:0;(this._state&ue.TOUCH_DOLLY)===ue.TOUCH_DOLLY||(this._state&ue.TOUCH_DOLLY_ROTATE)===ue.TOUCH_DOLLY_ROTATE||(this._state&ue.TOUCH_DOLLY_TRUCK)===ue.TOUCH_DOLLY_TRUCK||(this._state&ue.TOUCH_DOLLY_OFFSET)===ue.TOUCH_DOLLY_OFFSET?(this._dollyInternal(L*fm,I,R),this._isUserControllingDolly=!0):(this._zoomInternal(L*fm,I,R),this._isUserControllingZoom=!0)}((this._state&ue.TRUCK)===ue.TRUCK||(this._state&ue.TOUCH_TRUCK)===ue.TOUCH_TRUCK||(this._state&ue.TOUCH_DOLLY_TRUCK)===ue.TOUCH_DOLLY_TRUCK||(this._state&ue.TOUCH_ZOOM_TRUCK)===ue.TOUCH_ZOOM_TRUCK)&&(this._truckInternal(M,E,!1),this._isUserControllingTruck=!0),((this._state&ue.OFFSET)===ue.OFFSET||(this._state&ue.TOUCH_OFFSET)===ue.TOUCH_OFFSET||(this._state&ue.TOUCH_DOLLY_OFFSET)===ue.TOUCH_DOLLY_OFFSET||(this._state&ue.TOUCH_ZOOM_OFFSET)===ue.TOUCH_ZOOM_OFFSET)&&(this._truckInternal(M,E,!0),this._isUserControllingOffset=!0),this.dispatchEvent({type:"control"})},_=()=>{ey(this._activePointers,ki),r.copy(ki),this._dragNeedsUpdate=!1,(this._activePointers.length===0||this._activePointers.length===1&&this._activePointers[0]===this._lockedPointer)&&(this._isDragging=!1),this._activePointers.length===0&&this._domElement&&(this._domElement.ownerDocument.removeEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.removeEventListener("pointerup",l),this.dispatchEvent({type:"controlend"}))};this.lockPointer=()=>{!this._enabled||!this._domElement||(this.cancel(),this._lockedPointer={pointerId:-1,clientX:0,clientY:0,deltaX:0,deltaY:0,mouseButton:null},this._activePointers.push(this._lockedPointer),this._domElement.ownerDocument.removeEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.removeEventListener("pointerup",l),this._domElement.requestPointerLock(),this._domElement.ownerDocument.addEventListener("pointerlockchange",S),this._domElement.ownerDocument.addEventListener("pointerlockerror",y),this._domElement.ownerDocument.addEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.addEventListener("pointerup",l),p())},this.unlockPointer=()=>{var g,x,M;this._lockedPointer!==null&&(this._disposePointer(this._lockedPointer),this._lockedPointer=null),(g=this._domElement)===null||g===void 0||g.ownerDocument.exitPointerLock(),(x=this._domElement)===null||x===void 0||x.ownerDocument.removeEventListener("pointerlockchange",S),(M=this._domElement)===null||M===void 0||M.ownerDocument.removeEventListener("pointerlockerror",y),this.cancel()};const S=()=>{this._domElement&&this._domElement.ownerDocument.pointerLockElement===this._domElement||this.unlockPointer()},y=()=>{this.unlockPointer()};this._addAllEventListeners=g=>{this._domElement=g,this._domElement.style.touchAction="none",this._domElement.style.userSelect="none",this._domElement.style.webkitUserSelect="none",this._domElement.addEventListener("pointerdown",o),this._domElement.addEventListener("pointercancel",l),this._domElement.addEventListener("wheel",f,{passive:!1}),this._domElement.addEventListener("contextmenu",d)},this._removeAllEventListeners=()=>{this._domElement&&(this._domElement.style.touchAction="",this._domElement.style.userSelect="",this._domElement.style.webkitUserSelect="",this._domElement.removeEventListener("pointerdown",o),this._domElement.removeEventListener("pointercancel",l),this._domElement.removeEventListener("wheel",f,{passive:!1}),this._domElement.removeEventListener("contextmenu",d),this._domElement.ownerDocument.removeEventListener("pointermove",a,{passive:!1}),this._domElement.ownerDocument.removeEventListener("pointerup",l),this._domElement.ownerDocument.removeEventListener("pointerlockchange",S),this._domElement.ownerDocument.removeEventListener("pointerlockerror",y))},this.cancel=()=>{this._state!==ue.NONE&&(this._state=ue.NONE,this._activePointers.length=0,_())},t&&this.connect(t),this.update(0)}get camera(){return this._camera}set camera(e){this._camera=e,this.updateCameraUp(),this._camera.updateProjectionMatrix(),this._updateNearPlaneCorners(),this._needsUpdate=!0}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._domElement&&(e?(this._domElement.style.touchAction="none",this._domElement.style.userSelect="none",this._domElement.style.webkitUserSelect="none"):(this.cancel(),this._domElement.style.touchAction="",this._domElement.style.userSelect="",this._domElement.style.webkitUserSelect=""))}get active(){return!this._hasRested}get currentAction(){return this._state}get distance(){return this._spherical.radius}set distance(e){this._spherical.radius===e&&this._sphericalEnd.radius===e||(this._spherical.radius=e,this._sphericalEnd.radius=e,this._needsUpdate=!0)}get azimuthAngle(){return this._spherical.theta}set azimuthAngle(e){this._spherical.theta===e&&this._sphericalEnd.theta===e||(this._spherical.theta=e,this._sphericalEnd.theta=e,this._needsUpdate=!0)}get polarAngle(){return this._spherical.phi}set polarAngle(e){this._spherical.phi===e&&this._sphericalEnd.phi===e||(this._spherical.phi=e,this._sphericalEnd.phi=e,this._needsUpdate=!0)}get boundaryEnclosesCamera(){return this._boundaryEnclosesCamera}set boundaryEnclosesCamera(e){this._boundaryEnclosesCamera=e,this._needsUpdate=!0}set interactiveArea(e){this._interactiveArea.width=Kr(e.width,0,1),this._interactiveArea.height=Kr(e.height,0,1),this._interactiveArea.x=Kr(e.x,0,1-this._interactiveArea.width),this._interactiveArea.y=Kr(e.y,0,1-this._interactiveArea.height)}addEventListener(e,t){super.addEventListener(e,t)}removeEventListener(e,t){super.removeEventListener(e,t)}rotate(e,t,i=!1){return this.rotateTo(this._sphericalEnd.theta+e,this._sphericalEnd.phi+t,i)}rotateAzimuthTo(e,t=!1){return this.rotateTo(e,this._sphericalEnd.phi,t)}rotatePolarTo(e,t=!1){return this.rotateTo(this._sphericalEnd.theta,e,t)}rotateTo(e,t,i=!1){this._isUserControllingRotate=!1;const r=Kr(e,this.minAzimuthAngle,this.maxAzimuthAngle),s=Kr(t,this.minPolarAngle,this.maxPolarAngle);this._sphericalEnd.theta=r,this._sphericalEnd.phi=s,this._sphericalEnd.makeSafe(),this._needsUpdate=!0,i||(this._spherical.theta=this._sphericalEnd.theta,this._spherical.phi=this._sphericalEnd.phi);const o=!i||Wt(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&Wt(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold);return this._createOnRestPromise(o)}dolly(e,t=!1){return this.dollyTo(this._sphericalEnd.radius-e,t)}dollyTo(e,t=!1){return this._isUserControllingDolly=!1,this._lastDollyDirection=_c.NONE,this._changedDolly=0,this._dollyToNoClamp(Kr(e,this.minDistance,this.maxDistance),t)}_dollyToNoClamp(e,t=!1){const i=this._sphericalEnd.radius;if(this.colliderMeshes.length>=1){const o=this._collisionTest(),a=Wt(o,this._spherical.radius);if(!(i>e)&&a)return Promise.resolve();this._sphericalEnd.radius=Math.min(e,o)}else this._sphericalEnd.radius=e;this._needsUpdate=!0,t||(this._spherical.radius=this._sphericalEnd.radius);const s=!t||Wt(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(s)}dollyInFixed(e,t=!1){this._targetEnd.add(this._getCameraDirection(Ah).multiplyScalar(e)),t||this._target.copy(this._targetEnd);const i=!t||Wt(this._target.x,this._targetEnd.x,this.restThreshold)&&Wt(this._target.y,this._targetEnd.y,this.restThreshold)&&Wt(this._target.z,this._targetEnd.z,this.restThreshold);return this._createOnRestPromise(i)}zoom(e,t=!1){return this.zoomTo(this._zoomEnd+e,t)}zoomTo(e,t=!1){this._isUserControllingZoom=!1,this._zoomEnd=Kr(e,this.minZoom,this.maxZoom),this._needsUpdate=!0,t||(this._zoom=this._zoomEnd);const i=!t||Wt(this._zoom,this._zoomEnd,this.restThreshold);return this._changedZoom=0,this._createOnRestPromise(i)}pan(e,t,i=!1){return console.warn("`pan` has been renamed to `truck`"),this.truck(e,t,i)}truck(e,t,i=!1){this._camera.updateMatrix(),vs.setFromMatrixColumn(this._camera.matrix,0),_s.setFromMatrixColumn(this._camera.matrix,1),vs.multiplyScalar(e),_s.multiplyScalar(-t);const r=xt.copy(vs).add(_s),s=kt.copy(this._targetEnd).add(r);return this.moveTo(s.x,s.y,s.z,i)}forward(e,t=!1){xt.setFromMatrixColumn(this._camera.matrix,0),xt.crossVectors(this._camera.up,xt),xt.multiplyScalar(e);const i=kt.copy(this._targetEnd).add(xt);return this.moveTo(i.x,i.y,i.z,t)}elevate(e,t=!1){return xt.copy(this._camera.up).multiplyScalar(e),this.moveTo(this._targetEnd.x+xt.x,this._targetEnd.y+xt.y,this._targetEnd.z+xt.z,t)}moveTo(e,t,i,r=!1){this._isUserControllingTruck=!1;const s=xt.set(e,t,i).sub(this._targetEnd);this._encloseToBoundary(this._targetEnd,s,this.boundaryFriction),this._needsUpdate=!0,r||this._target.copy(this._targetEnd);const o=!r||Wt(this._target.x,this._targetEnd.x,this.restThreshold)&&Wt(this._target.y,this._targetEnd.y,this.restThreshold)&&Wt(this._target.z,this._targetEnd.z,this.restThreshold);return this._createOnRestPromise(o)}lookInDirectionOf(e,t,i,r=!1){const a=xt.set(e,t,i).sub(this._targetEnd).normalize().multiplyScalar(-this._sphericalEnd.radius).add(this._targetEnd);return this.setPosition(a.x,a.y,a.z,r)}fitToBox(e,t,{cover:i=!1,paddingLeft:r=0,paddingRight:s=0,paddingBottom:o=0,paddingTop:a=0}={}){const l=[],u=e.isBox3?Ac.copy(e):Ac.setFromObject(e);u.isEmpty()&&(console.warn("camera-controls: fitTo() cannot be used with an empty box. Aborting"),Promise.resolve());const f=BC(this._sphericalEnd.theta,IC),d=BC(this._sphericalEnd.phi,IC);l.push(this.rotateTo(f,d,t));const p=xt.setFromSpherical(this._sphericalEnd).normalize(),m=UC.setFromUnitVectors(p,iy),_=Wt(Math.abs(p.y),1);_&&m.multiply(sy.setFromAxisAngle(dm,f)),m.multiply(this._yAxisUpSpaceInverse);const S=NC.makeEmpty();kt.copy(u.min).applyQuaternion(m),S.expandByPoint(kt),kt.copy(u.min).setX(u.max.x).applyQuaternion(m),S.expandByPoint(kt),kt.copy(u.min).setY(u.max.y).applyQuaternion(m),S.expandByPoint(kt),kt.copy(u.max).setZ(u.min.z).applyQuaternion(m),S.expandByPoint(kt),kt.copy(u.min).setZ(u.max.z).applyQuaternion(m),S.expandByPoint(kt),kt.copy(u.max).setY(u.min.y).applyQuaternion(m),S.expandByPoint(kt),kt.copy(u.max).setX(u.min.x).applyQuaternion(m),S.expandByPoint(kt),kt.copy(u.max).applyQuaternion(m),S.expandByPoint(kt),S.min.x-=r,S.min.y-=o,S.max.x+=s,S.max.y+=a,m.setFromUnitVectors(iy,p),_&&m.premultiply(sy.invert()),m.premultiply(this._yAxisUpSpace);const y=S.getSize(xt),g=S.getCenter(kt).applyQuaternion(m);if(Ua(this._camera)){const x=this.getDistanceToFitBox(y.x,y.y,y.z,i);l.push(this.moveTo(g.x,g.y,g.z,t)),l.push(this.dollyTo(x,t)),l.push(this.setFocalOffset(0,0,0,t))}else if(Fo(this._camera)){const x=this._camera,M=x.right-x.left,E=x.top-x.bottom,P=i?Math.max(M/y.x,E/y.y):Math.min(M/y.x,E/y.y);l.push(this.moveTo(g.x,g.y,g.z,t)),l.push(this.zoomTo(P,t)),l.push(this.setFocalOffset(0,0,0,t))}return Promise.all(l)}fitToSphere(e,t){const i=[],s="isObject3D"in e?hA.createBoundingSphere(e,ry):ry.copy(e);if(i.push(this.moveTo(s.center.x,s.center.y,s.center.z,t)),Ua(this._camera)){const o=this.getDistanceToFitSphere(s.radius);i.push(this.dollyTo(o,t))}else if(Fo(this._camera)){const o=this._camera.right-this._camera.left,a=this._camera.top-this._camera.bottom,l=2*s.radius,u=Math.min(o/l,a/l);i.push(this.zoomTo(u,t))}return i.push(this.setFocalOffset(0,0,0,t)),Promise.all(i)}setLookAt(e,t,i,r,s,o,a=!1){this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._lastDollyDirection=_c.NONE,this._changedDolly=0;const l=kt.set(r,s,o),u=xt.set(e,t,i);this._targetEnd.copy(l),this._sphericalEnd.setFromVector3(u.sub(l).applyQuaternion(this._yAxisUpSpace)),this.normalizeRotations(),this._needsUpdate=!0,a||(this._target.copy(this._targetEnd),this._spherical.copy(this._sphericalEnd));const f=!a||Wt(this._target.x,this._targetEnd.x,this.restThreshold)&&Wt(this._target.y,this._targetEnd.y,this.restThreshold)&&Wt(this._target.z,this._targetEnd.z,this.restThreshold)&&Wt(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&Wt(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold)&&Wt(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(f)}lerpLookAt(e,t,i,r,s,o,a,l,u,f,d,p,m,_=!1){this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._lastDollyDirection=_c.NONE,this._changedDolly=0;const S=xt.set(r,s,o),y=kt.set(e,t,i);Er.setFromVector3(y.sub(S).applyQuaternion(this._yAxisUpSpace));const g=xc.set(f,d,p),x=kt.set(a,l,u);Sh.setFromVector3(x.sub(g).applyQuaternion(this._yAxisUpSpace)),this._targetEnd.copy(S.lerp(g,m));const M=Sh.theta-Er.theta,E=Sh.phi-Er.phi,P=Sh.radius-Er.radius;this._sphericalEnd.set(Er.radius+P*m,Er.phi+E*m,Er.theta+M*m),this.normalizeRotations(),this._needsUpdate=!0,_||(this._target.copy(this._targetEnd),this._spherical.copy(this._sphericalEnd));const C=!_||Wt(this._target.x,this._targetEnd.x,this.restThreshold)&&Wt(this._target.y,this._targetEnd.y,this.restThreshold)&&Wt(this._target.z,this._targetEnd.z,this.restThreshold)&&Wt(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&Wt(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold)&&Wt(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(C)}setPosition(e,t,i,r=!1){return this.setLookAt(e,t,i,this._targetEnd.x,this._targetEnd.y,this._targetEnd.z,r)}setTarget(e,t,i,r=!1){const s=this.getPosition(xt),o=this.setLookAt(s.x,s.y,s.z,e,t,i,r);return this._sphericalEnd.phi=Kr(this._sphericalEnd.phi,this.minPolarAngle,this.maxPolarAngle),o}setFocalOffset(e,t,i,r=!1){this._isUserControllingOffset=!1,this._focalOffsetEnd.set(e,t,i),this._needsUpdate=!0,r||this._focalOffset.copy(this._focalOffsetEnd);const s=!r||Wt(this._focalOffset.x,this._focalOffsetEnd.x,this.restThreshold)&&Wt(this._focalOffset.y,this._focalOffsetEnd.y,this.restThreshold)&&Wt(this._focalOffset.z,this._focalOffsetEnd.z,this.restThreshold);return this._createOnRestPromise(s)}setOrbitPoint(e,t,i){this._camera.updateMatrixWorld(),vs.setFromMatrixColumn(this._camera.matrixWorldInverse,0),_s.setFromMatrixColumn(this._camera.matrixWorldInverse,1),ka.setFromMatrixColumn(this._camera.matrixWorldInverse,2);const r=xt.set(e,t,i),s=r.distanceTo(this._camera.position),o=r.sub(this._camera.position);vs.multiplyScalar(o.x),_s.multiplyScalar(o.y),ka.multiplyScalar(o.z),xt.copy(vs).add(_s).add(ka),xt.z=xt.z+s,this.dollyTo(s,!1),this.setFocalOffset(-xt.x,xt.y,-xt.z,!1),this.moveTo(e,t,i,!1)}setBoundary(e){if(!e){this._boundary.min.set(-1/0,-1/0,-1/0),this._boundary.max.set(1/0,1/0,1/0),this._needsUpdate=!0;return}this._boundary.copy(e),this._boundary.clampPoint(this._targetEnd,this._targetEnd),this._needsUpdate=!0}setViewport(e,t,i,r){if(e===null){this._viewport=null;return}this._viewport=this._viewport||new rt.Vector4,typeof e=="number"?this._viewport.set(e,t,i,r):this._viewport.copy(e)}getDistanceToFitBox(e,t,i,r=!1){if(ty(this._camera,"getDistanceToFitBox"))return this._spherical.radius;const s=e/t,o=this._camera.getEffectiveFOV()*_h,a=this._camera.aspect;return((r?s>a:st.pointerId===e)}_findPointerByMouseButton(e){return this._activePointers.find(t=>t.mouseButton===e)}_disposePointer(e){this._activePointers.splice(this._activePointers.indexOf(e),1)}_encloseToBoundary(e,t,i){const r=t.lengthSq();if(r===0)return e;const s=kt.copy(t).add(e),a=this._boundary.clampPoint(s,xc).sub(s),l=a.lengthSq();if(l===0)return e.add(t);if(l===r)return e;if(i===0)return e.add(t).add(a);{const u=1+i*l/t.dot(a);return e.add(kt.copy(t).multiplyScalar(u)).add(a.multiplyScalar(1-i))}}_updateNearPlaneCorners(){if(Ua(this._camera)){const e=this._camera,t=e.near,i=e.getEffectiveFOV()*_h,r=Math.tan(i*.5)*t,s=r*e.aspect;this._nearPlaneCorners[0].set(-s,-r,0),this._nearPlaneCorners[1].set(s,-r,0),this._nearPlaneCorners[2].set(s,r,0),this._nearPlaneCorners[3].set(-s,r,0)}else if(Fo(this._camera)){const e=this._camera,t=1/e.zoom,i=e.left*t,r=e.right*t,s=e.top*t,o=e.bottom*t;this._nearPlaneCorners[0].set(i,s,0),this._nearPlaneCorners[1].set(r,s,0),this._nearPlaneCorners[2].set(r,o,0),this._nearPlaneCorners[3].set(i,o,0)}}_collisionTest(){let e=1/0;if(!(this.colliderMeshes.length>=1)||ty(this._camera,"_collisionTest"))return e;const i=this._getTargetDirection(Ah);oy.lookAt(DC,i,this._camera.up);for(let r=0;r<4;r++){const s=kt.copy(this._nearPlaneCorners[r]);s.applyMatrix4(oy);const o=xc.addVectors(this._target,s);pm.set(o,i),pm.far=this._spherical.radius+1;const a=pm.intersectObjects(this.colliderMeshes);a.length!==0&&a[0].distance{const i=()=>{this.removeEventListener("rest",i),t()};this.addEventListener("rest",i)}))}_addAllEventListeners(e){}_removeAllEventListeners(){}get dampingFactor(){return console.warn(".dampingFactor has been deprecated. use smoothTime (in seconds) instead."),0}set dampingFactor(e){console.warn(".dampingFactor has been deprecated. use smoothTime (in seconds) instead.")}get draggingDampingFactor(){return console.warn(".draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead."),0}set draggingDampingFactor(e){console.warn(".draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead.")}static createBoundingSphere(e,t=new rt.Sphere){const i=t,r=i.center;Ac.makeEmpty(),e.traverseVisible(o=>{o.isMesh&&Ac.expandByObject(o)}),Ac.getCenter(r);let s=0;return e.traverseVisible(o=>{if(!o.isMesh)return;const a=o,l=a.geometry.clone();l.applyMatrix4(a.matrixWorld);const f=l.attributes.position;for(let d=0,p=f.count;d{V.useMemo(()=>{const P={Box3:qn,MathUtils:{clamp:kf.clamp},Matrix4:Ne,Quaternion:zt,Raycaster:Su,Sphere:Tn,Spherical:KS,Vector2:le,Vector3:D,Vector4:Lt};ay.install({THREE:P}),jB({CameraControlsImpl:ay})},[]);const{camera:t,domElement:i,makeDefault:r,onStart:s,onEnd:o,onChange:a,regress:l,...u}=n,f=ni(P=>P.camera),d=ni(P=>P.gl),p=ni(P=>P.invalidate),m=ni(P=>P.events),_=ni(P=>P.setEvents),S=ni(P=>P.set),y=ni(P=>P.get),g=ni(P=>P.performance),x=t||f,M=i||m.connected||d.domElement,E=V.useMemo(()=>new ay(x),[x]);return Vn((P,C)=>{E.enabled&&E.update(C)},-1),V.useEffect(()=>(E.connect(M),()=>void E.disconnect()),[M,E]),V.useEffect(()=>{const P=L=>{p(),l&&g.regress(),a&&a(L)},C=L=>{s&&s(L)},b=L=>{o&&o(L)};return E.addEventListener("update",P),E.addEventListener("controlstart",C),E.addEventListener("controlend",b),E.addEventListener("control",P),E.addEventListener("transitionstart",P),E.addEventListener("wake",P),()=>{E.removeEventListener("update",P),E.removeEventListener("controlstart",C),E.removeEventListener("controlend",b),E.removeEventListener("control",P),E.removeEventListener("transitionstart",P),E.removeEventListener("wake",P)}},[E,s,o,p,_,l,a]),V.useEffect(()=>{if(r){const P=y().controls;return S({controls:E}),()=>S({controls:P})}},[r,E]),V.createElement("primitive",_g({ref:e,object:E},u))}),C9=({focus:n=0,size:e=25,samples:t=10}={})=>` +#define PENUMBRA_FILTER_SIZE float(${e}) +#define RGB_NOISE_FUNCTION(uv) (randRGB(uv)) +vec3 randRGB(vec2 uv) { + return vec3( + fract(sin(dot(uv, vec2(12.75613, 38.12123))) * 13234.76575), + fract(sin(dot(uv, vec2(19.45531, 58.46547))) * 43678.23431), + fract(sin(dot(uv, vec2(23.67817, 78.23121))) * 93567.23423) + ); +} + +vec3 lowPassRandRGB(vec2 uv) { + // 3x3 convolution (average) + // can be implemented as separable with an extra buffer for a total of 6 samples instead of 9 + vec3 result = vec3(0); + result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, -1.0)); + result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, 0.0)); + result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, +1.0)); + result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, -1.0)); + result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, 0.0)); + result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, +1.0)); + result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, -1.0)); + result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, 0.0)); + result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, +1.0)); + result *= 0.111111111; // 1.0 / 9.0 + return result; +} +vec3 highPassRandRGB(vec2 uv) { + // by subtracting the low-pass signal from the original signal, we're being left with the high-pass signal + // hp(x) = x - lp(x) + return RGB_NOISE_FUNCTION(uv) - lowPassRandRGB(uv) + 0.5; +} + + +vec2 vogelDiskSample(int sampleIndex, int sampleCount, float angle) { + const float goldenAngle = 2.399963f; // radians + float r = sqrt(float(sampleIndex) + 0.5f) / sqrt(float(sampleCount)); + float theta = float(sampleIndex) * goldenAngle + angle; + float sine = sin(theta); + float cosine = cos(theta); + return vec2(cosine, sine) * r; +} +float penumbraSize( const in float zReceiver, const in float zBlocker ) { // Parallel plane estimation + return (zReceiver - zBlocker) / zBlocker; +} +float findBlocker(sampler2D shadowMap, vec2 uv, float compare, float angle) { + float texelSize = 1.0 / float(textureSize(shadowMap, 0).x); + float blockerDepthSum = float(${n}); + float blockers = 0.0; + + int j = 0; + vec2 offset = vec2(0.); + float depth = 0.; + + #pragma unroll_loop_start + for(int i = 0; i < ${t}; i ++) { + offset = (vogelDiskSample(j, ${t}, angle) * texelSize) * 2.0 * PENUMBRA_FILTER_SIZE; + depth = unpackRGBAToDepth( texture2D( shadowMap, uv + offset)); + if (depth < compare) { + blockerDepthSum += depth; + blockers++; + } + j++; + } + #pragma unroll_loop_end + + if (blockers > 0.0) { + return blockerDepthSum / blockers; + } + return -1.0; +} + + +float vogelFilter(sampler2D shadowMap, vec2 uv, float zReceiver, float filterRadius, float angle) { + float texelSize = 1.0 / float(textureSize(shadowMap, 0).x); + float shadow = 0.0f; + int j = 0; + vec2 vogelSample = vec2(0.0); + vec2 offset = vec2(0.0); + #pragma unroll_loop_start + for (int i = 0; i < ${t}; i++) { + vogelSample = vogelDiskSample(j, ${t}, angle) * texelSize; + offset = vogelSample * (1.0 + filterRadius * float(${e})); + shadow += step( zReceiver, unpackRGBAToDepth( texture2D( shadowMap, uv + offset ) ) ); + j++; + } + #pragma unroll_loop_end + return shadow * 1.0 / ${t}.0; +} + +float PCSS (sampler2D shadowMap, vec4 coords) { + vec2 uv = coords.xy; + float zReceiver = coords.z; // Assumed to be eye-space z in this code + float angle = highPassRandRGB(gl_FragCoord.xy).r * PI2; + float avgBlockerDepth = findBlocker(shadowMap, uv, zReceiver, angle); + if (avgBlockerDepth == -1.0) { + return 1.0; + } + float penumbraRatio = penumbraSize(zReceiver, avgBlockerDepth); + return vogelFilter(shadowMap, uv, zReceiver, 1.25 * penumbraRatio, angle); +}`;function kC(n,e,t){e.traverse(i=>{i.material&&(n.properties.remove(i.material),i.material.dispose==null||i.material.dispose())}),n.info.programs.length=0,n.compile(e,t)}function R9({focus:n=0,samples:e=10,size:t=25}){const i=ni(o=>o.gl),r=ni(o=>o.scene),s=ni(o=>o.camera);return V.useEffect(()=>{const o=at.shadowmap_pars_fragment;return at.shadowmap_pars_fragment=at.shadowmap_pars_fragment.replace("#ifdef USE_SHADOWMAP",`#ifdef USE_SHADOWMAP +`+C9({size:t,samples:e,focus:n})).replace("#if defined( SHADOWMAP_TYPE_PCF )",` +return PCSS(shadowMap, shadowCoord); +#if defined( SHADOWMAP_TYPE_PCF )`),kC(i,r,s),()=>{at.shadowmap_pars_fragment=o,kC(i,r,s)}},[n,t,e]),null}const b9=V.forwardRef(({children:n,enabled:e=!0,speed:t=1,rotationIntensity:i=1,floatIntensity:r=1,floatingRange:s=[-.1,.1],...o},a)=>{const l=V.useRef(null);V.useImperativeHandle(a,()=>l.current,[]);const u=V.useRef(Math.random()*1e4);return Vn(f=>{var d,p;if(!e||t===0)return;const m=u.current+f.clock.getElapsedTime();l.current.rotation.x=Math.cos(m/4*t)/8*i,l.current.rotation.y=Math.sin(m/4*t)/8*i,l.current.rotation.z=Math.sin(m/4*t)/20*i;let _=Math.sin(m/4*t)/10;_=kf.mapLinear(_,-.1,.1,(d=s==null?void 0:s[0])!==null&&d!==void 0?d:-.1,(p=s==null?void 0:s[1])!==null&&p!==void 0?p:.1),l.current.position.y=_*r,l.current.updateMatrix()}),V.createElement("group",o,V.createElement("group",{ref:l,matrixAutoUpdate:!1},n))});function P9(n,e,t=new D){const i=Math.PI*(n-.5),r=2*Math.PI*(e-.5);return t.x=Math.cos(r),t.y=Math.sin(i),t.z=Math.sin(r),t}const I9=V.forwardRef(({inclination:n=.6,azimuth:e=.1,distance:t=1e3,mieCoefficient:i=.005,mieDirectionalG:r=.8,rayleigh:s=.5,turbidity:o=10,sunPosition:a=P9(n,e),...l},u)=>{const f=V.useMemo(()=>new D().setScalar(t),[t]),[d]=V.useState(()=>new $S);return V.createElement("primitive",_g({object:d,ref:u,"material-uniforms-mieCoefficient-value":i,"material-uniforms-mieDirectionalG-value":r,"material-uniforms-rayleigh-value":s,"material-uniforms-sunPosition-value":a,"material-uniforms-turbidity-value":o,scale:f},l))}),B9=V.createContext(null);function L9({iterations:n=10,ms:e=250,threshold:t=.75,step:i=.1,factor:r=.5,flipflops:s=1/0,bounds:o=p=>p>100?[60,100]:[40,60],onIncline:a,onDecline:l,onChange:u,onFallback:f,children:d}){const p=Math.pow(10,0),[m,_]=V.useState(()=>({fps:0,index:0,factor:r,flipped:0,refreshrate:0,fallback:!1,frames:[],averages:[],subscriptions:new Map,subscribe:y=>{const g=Symbol();return m.subscriptions.set(g,y.current),()=>void m.subscriptions.delete(g)}}));let S=0;return Vn(()=>{const{frames:y,averages:g}=m;if(!m.fallback&&g.length=e){if(m.fps=Math.round(y.length/x*1e3*p)/p,m.refreshrate=Math.max(m.refreshrate,m.fps),g[m.index++%n]=m.fps,g.length===n){const[M,E]=o(m.refreshrate),P=g.filter(b=>b>=E),C=g.filter(b=>bn*t&&(m.factor=Math.min(1,m.factor+i),m.flipped++,a&&a(m),m.subscriptions.forEach(b=>b.onIncline&&b.onIncline(m))),C.length>n*t&&(m.factor=Math.max(0,m.factor-i),m.flipped++,l&&l(m),m.subscriptions.forEach(b=>b.onDecline&&b.onDecline(m))),S!==m.factor&&(S=m.factor,u&&u(m),m.subscriptions.forEach(b=>b.onChange&&b.onChange(m))),m.flipped>s&&!m.fallback&&(m.fallback=!0,f&&f(m),m.subscriptions.forEach(b=>b.onFallback&&b.onFallback(m))),m.averages=[]}m.frames=[]}}}),V.createElement(B9.Provider,{value:m},d)}var D9={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const zC=n=>{let e;const t=new Set,i=(f,d)=>{const p=typeof f=="function"?f(e):f;if(!Object.is(p,e)){const m=e;e=d??(typeof p!="object"||p===null)?p:Object.assign({},e,p),t.forEach(_=>_(e,m))}},r=()=>e,l={setState:i,getState:r,getInitialState:()=>u,subscribe:f=>(t.add(f),()=>t.delete(f)),destroy:()=>{(D9?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),t.clear()}},u=e=n(i,r,l);return l},O9=n=>n?zC(n):zC;var yL={exports:{}},xL={},AL={exports:{}},SL={};/** + * @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 hu=V;function F9(n,e){return n===e&&(n!==0||1/n===1/e)||n!==n&&e!==e}var N9=typeof Object.is=="function"?Object.is:F9,U9=hu.useState,k9=hu.useEffect,z9=hu.useLayoutEffect,H9=hu.useDebugValue;function G9(n,e){var t=e(),i=U9({inst:{value:t,getSnapshot:e}}),r=i[0].inst,s=i[1];return z9(function(){r.value=t,r.getSnapshot=e,ly(r)&&s({inst:r})},[n,t,e]),k9(function(){return ly(r)&&s({inst:r}),n(function(){ly(r)&&s({inst:r})})},[n]),H9(t),t}function ly(n){var e=n.getSnapshot;n=n.value;try{var t=e();return!N9(n,t)}catch{return!0}}function V9(n,e){return e()}var W9=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?V9:G9;SL.useSyncExternalStore=hu.useSyncExternalStore!==void 0?hu.useSyncExternalStore:W9;AL.exports=SL;var X9=AL.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 v0=V,j9=X9;function J9(n,e){return n===e&&(n!==0||1/n===1/e)||n!==n&&e!==e}var K9=typeof Object.is=="function"?Object.is:J9,Y9=j9.useSyncExternalStore,Q9=v0.useRef,Z9=v0.useEffect,q9=v0.useMemo,$9=v0.useDebugValue;xL.useSyncExternalStoreWithSelector=function(n,e,t,i,r){var s=Q9(null);if(s.current===null){var o={hasValue:!1,value:null};s.current=o}else o=s.current;s=q9(function(){function l(m){if(!u){if(u=!0,f=m,m=i(m),r!==void 0&&o.hasValue){var _=o.value;if(r(_,m))return d=_}return d=m}if(_=d,K9(f,m))return _;var S=i(m);return r!==void 0&&r(_,S)?_:(f=m,d=S)}var u=!1,f,d,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=Y9(n,s[0],s[1]);return Z9(function(){o.hasValue=!0,o.value=a},[a]),$9(a),a};yL.exports=xL;var e5=yL.exports;const t5=Mg(e5);var n5={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{useDebugValue:i5}=aD,{useSyncExternalStoreWithSelector:r5}=t5;let HC=!1;const s5=n=>n;function ML(n,e=s5,t){(n5?"production":void 0)!=="production"&&t&&!HC&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),HC=!0);const i=r5(n.subscribe,n.getState,n.getServerState||n.getInitialState,e,t);return i5(i),i}function o5(n){const{nodes:e,materials:t}=$f("/room-transformed.glb");return J.jsx("group",{...n,dispose:null,children:J.jsxs("group",{rotation:[-Math.PI/2,0,0],children:[J.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_2.geometry,material:t.Material}),J.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_3.geometry,material:t["Material.002"]}),J.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_4.geometry,material:t["Material.003"]}),J.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_6.geometry,material:t.krzeslo_1}),J.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_7.geometry,material:t.krzeslo_okno}),J.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_8.geometry,material:t.krzeslo_prawe}),J.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_9.geometry,material:t.krzeslo_srodek}),J.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_10.geometry,material:t.podloga}),J.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_11.geometry,material:t.sciana_okno}),J.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_12.geometry,material:t["stolik.001"]}),J.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_16.geometry,material:t["Material.006"]}),J.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_5.geometry,material:t["Material.004"]}),J.jsx("mesh",{geometry:e.Object_13.geometry,children:J.jsx("meshStandardMaterial",{transparent:!0,opacity:.5})}),J.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_14.geometry,material:t["Material.002"]}),J.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_15.geometry,material:t["Material.005"]}),J.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_17.geometry,material:t.mata}),J.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_18.geometry,material:t.stolik})]})})}$f.preload("/room-transformed.glb");function Hm(n,e,t){return Math.max(e,Math.min(t,n))}const a5=.05,GC=.1;function EL(n,e,t){const i=e.gamepad;if(i==null)return;const r=t.components;for(const s in r){let o=n[s];o==null&&(n[s]=o={});const{gamepadIndices:a}=r[s];let l=!1,u=!1;if(a.button!=null&&a.buttona5)}a.xAxis!=null&&a.xAxisGC)),a.yAxis!=null&&a.yAxisGC)),o.state=l?"pressed":u?"touched":"default"}}function VC(n,e){if(e===yS)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),n;if(e===gl||e===Nf){let t=n.getIndex();if(t===null){const o=[],a=n.getAttribute("position");if(a!==void 0){for(let l=0;l=2.0 are supported."));return}const u=new H5(s,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});u.fileLoader.setRequestHeader(this.requestHeader);for(let f=0;f=0&&a[d]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+d+'".')}}u.setExtensions(o),u.setPlugins(a),u.parse(i,r)}parseAsync(e,t){const i=this;return new Promise(function(r,s){i.parse(e,t,r,s)})}}function c5(){let n={};return{get:function(e){return n[e]},add:function(e,t){n[e]=t},remove:function(e){delete n[e]},removeAll:function(){n={}}}}const bt={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class u5{constructor(e){this.parser=e,this.name=bt.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let i=0,r=t.length;i=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,s.source,o)}}class E5{constructor(e){this.parser=e,this.name=bt.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,s=r.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],a=r.images[o.source];let l=i.textureLoader;if(a.uri){const u=i.options.manager.getHandler(a.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class w5{constructor(e){this.parser=e,this.name=bt.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,s=r.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],a=r.images[o.source];let l=i.textureLoader;if(a.uri){const u=i.options.manager.getHandler(a.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class T5{constructor(e){this.name=bt.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,i=t.bufferViews[e];if(i.extensions&&i.extensions[this.name]){const r=i.extensions[this.name],s=this.parser.getDependency("buffer",r.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return s.then(function(a){const l=r.byteOffset||0,u=r.byteLength||0,f=r.count,d=r.byteStride,p=new Uint8Array(a,l,u);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(f,d,p,r.mode,r.filter).then(function(m){return m.buffer}):o.ready.then(function(){const m=new ArrayBuffer(f*d);return o.decodeGltfBuffer(new Uint8Array(m),f,d,p,r.mode,r.filter),m})})}else return null}}class C5{constructor(e){this.name=bt.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,i=t.nodes[e];if(!i.extensions||!i.extensions[this.name]||i.mesh===void 0)return null;const r=t.meshes[i.mesh];for(const u of r.primitives)if(u.mode!==Cr.TRIANGLES&&u.mode!==Cr.TRIANGLE_STRIP&&u.mode!==Cr.TRIANGLE_FAN&&u.mode!==void 0)return null;const o=i.extensions[this.name].attributes,a=[],l={};for(const u in o)a.push(this.parser.getDependency("accessor",o[u]).then(f=>(l[u]=f,l[u])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(u=>{const f=u.pop(),d=f.isGroup?f.children:[f],p=u[0].count,m=[];for(const _ of d){const S=new Ne,y=new D,g=new zt,x=new D(1,1,1),M=new Wf(_.geometry,_.material,p);for(let E=0;E0||n.search(/^data\:image\/jpeg/)===0?"image/jpeg":n.search(/\.webp($|\?)/i)>0||n.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const z5=new Ne;class H5{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new c5,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let i=!1,r=!1,s=-1;typeof navigator<"u"&&(i=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,r=navigator.userAgent.indexOf("Firefox")>-1,s=r?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||i||r&&s<98?this.textureLoader=new zS(this.options.manager):this.textureLoader=new GS(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Li(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const i=this,r=this.json,s=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([i.getDependencies("scene"),i.getDependencies("animation"),i.getDependencies("camera")])}).then(function(o){const a={scene:o[0][r.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:r.asset,parser:i,userData:{}};return za(s,a,r),ko(a,r),Promise.all(i._invokeAll(function(l){return l.afterRoot&&l.afterRoot(a)})).then(function(){for(const l of a.scenes)l.updateMatrixWorld();e(a)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],i=this.json.meshes||[];for(let r=0,s=t.length;r{const l=this.associations.get(o);l!=null&&this.associations.set(a,l);for(const[u,f]of o.children.entries())s(f,a.children[u])};return s(i,r),r.name+="_instance_"+e.uses[t]++,r}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let i=0;i=2&&y.setY(I,C[b*l+1]),l>=3&&y.setZ(I,C[b*l+2]),l>=4&&y.setW(I,C[b*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return y})}loadTexture(e){const t=this.json,i=this.options,s=t.textures[e].source,o=t.images[s];let a=this.textureLoader;if(o.uri){const l=i.manager.getHandler(o.uri);l!==null&&(a=l)}return this.loadTextureImage(e,s,a)}loadTextureImage(e,t,i){const r=this,s=this.json,o=s.textures[e],a=s.images[t],l=(a.uri||a.bufferView)+":"+o.sampler;if(this.textureCache[l])return this.textureCache[l];const u=this.loadImageSource(t,i).then(function(f){f.flipY=!1,f.name=o.name||a.name||"",f.name===""&&typeof a.uri=="string"&&a.uri.startsWith("data:image/")===!1&&(f.name=a.uri);const p=(s.samplers||{})[o.sampler]||{};return f.magFilter=XC[p.magFilter]||ln,f.minFilter=XC[p.minFilter]||Wi,f.wrapS=jC[p.wrapS]||ss,f.wrapT=jC[p.wrapT]||ss,r.associations.set(f,{textures:e}),f}).catch(function(){return null});return this.textureCache[l]=u,u}loadImageSource(e,t){const i=this,r=this.json,s=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(d=>d.clone());const o=r.images[e],a=self.URL||self.webkitURL;let l=o.uri||"",u=!1;if(o.bufferView!==void 0)l=i.getDependency("bufferView",o.bufferView).then(function(d){u=!0;const p=new Blob([d],{type:o.mimeType});return l=a.createObjectURL(p),l});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const f=Promise.resolve(l).then(function(d){return new Promise(function(p,m){let _=p;t.isImageBitmapLoader===!0&&(_=function(S){const y=new Yt(S);y.needsUpdate=!0,p(y)}),t.load(cr.resolveURL(d,s.path),_,void 0,m)})}).then(function(d){return u===!0&&a.revokeObjectURL(l),d.userData.mimeType=o.mimeType||k5(o.uri),d}).catch(function(d){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),d});return this.sourceCache[e]=f,f}assignTexture(e,t,i,r){const s=this;return this.getDependency("texture",i.index).then(function(o){if(!o)return null;if(i.texCoord!==void 0&&i.texCoord>0&&(o=o.clone(),o.channel=i.texCoord),s.extensions[bt.KHR_TEXTURE_TRANSFORM]){const a=i.extensions!==void 0?i.extensions[bt.KHR_TEXTURE_TRANSFORM]:void 0;if(a){const l=s.associations.get(o);o=s.extensions[bt.KHR_TEXTURE_TRANSFORM].extendTexture(o,a),s.associations.set(o,l)}}return r!==void 0&&(o.colorSpace=r),e[t]=o,o})}assignFinalMaterial(e){const t=e.geometry;let i=e.material;const r=t.attributes.tangent===void 0,s=t.attributes.color!==void 0,o=t.attributes.normal===void 0;if(e.isPoints){const a="PointsMaterial:"+i.uuid;let l=this.cache.get(a);l||(l=new Xf,rn.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,l.sizeAttenuation=!1,this.cache.add(a,l)),i=l}else if(e.isLine){const a="LineBasicMaterial:"+i.uuid;let l=this.cache.get(a);l||(l=new li,rn.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,this.cache.add(a,l)),i=l}if(r||s||o){let a="ClonedMaterial:"+i.uuid+":";r&&(a+="derivative-tangents:"),s&&(a+="vertex-colors:"),o&&(a+="flat-shading:");let l=this.cache.get(a);l||(l=i.clone(),s&&(l.vertexColors=!0),o&&(l.flatShading=!0),r&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(a,l),this.associations.set(l,this.associations.get(i))),i=l}e.material=i}getMaterialType(){return Ml}loadMaterial(e){const t=this,i=this.json,r=this.extensions,s=i.materials[e];let o;const a={},l=s.extensions||{},u=[];if(l[bt.KHR_MATERIALS_UNLIT]){const d=r[bt.KHR_MATERIALS_UNLIT];o=d.getMaterialType(),u.push(d.extendParams(a,s,t))}else{const d=s.pbrMetallicRoughness||{};if(a.color=new Te(1,1,1),a.opacity=1,Array.isArray(d.baseColorFactor)){const p=d.baseColorFactor;a.color.setRGB(p[0],p[1],p[2],$n),a.opacity=p[3]}d.baseColorTexture!==void 0&&u.push(t.assignTexture(a,"map",d.baseColorTexture,ii)),a.metalness=d.metallicFactor!==void 0?d.metallicFactor:1,a.roughness=d.roughnessFactor!==void 0?d.roughnessFactor:1,d.metallicRoughnessTexture!==void 0&&(u.push(t.assignTexture(a,"metalnessMap",d.metallicRoughnessTexture)),u.push(t.assignTexture(a,"roughnessMap",d.metallicRoughnessTexture))),o=this._invokeOne(function(p){return p.getMaterialType&&p.getMaterialType(e)}),u.push(Promise.all(this._invokeAll(function(p){return p.extendMaterialParams&&p.extendMaterialParams(e,a)})))}s.doubleSided===!0&&(a.side=Pr);const f=s.alphaMode||uy.OPAQUE;if(f===uy.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,f===uy.MASK&&(a.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.normalTexture!==void 0&&o!==On&&(u.push(t.assignTexture(a,"normalMap",s.normalTexture)),a.normalScale=new le(1,1),s.normalTexture.scale!==void 0)){const d=s.normalTexture.scale;a.normalScale.set(d,d)}if(s.occlusionTexture!==void 0&&o!==On&&(u.push(t.assignTexture(a,"aoMap",s.occlusionTexture)),s.occlusionTexture.strength!==void 0&&(a.aoMapIntensity=s.occlusionTexture.strength)),s.emissiveFactor!==void 0&&o!==On){const d=s.emissiveFactor;a.emissive=new Te().setRGB(d[0],d[1],d[2],$n)}return s.emissiveTexture!==void 0&&o!==On&&u.push(t.assignTexture(a,"emissiveMap",s.emissiveTexture,ii)),Promise.all(u).then(function(){const d=new o(a);return s.name&&(d.name=s.name),ko(d,s),t.associations.set(d,{materials:e}),s.extensions&&za(r,d,s),d})}createUniqueName(e){const t=It.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,i=this.extensions,r=this.primitiveCache;function s(a){return i[bt.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a,t).then(function(l){return JC(l,a,t)})}const o=[];for(let a=0,l=e.length;a0&&N5(g,s),g.name=t.createUniqueName(s.name||"mesh_"+e),ko(g,s),y.extensions&&za(r,g,y),t.assignFinalMaterial(g),d.push(g)}for(let m=0,_=d.length;m<_;m++)t.associations.set(d[m],{meshes:e,primitives:m});if(d.length===1)return s.extensions&&za(r,d[0],s),d[0];const p=new Lr;s.extensions&&za(r,p,s),t.associations.set(p,{meshes:e});for(let m=0,_=d.length;m<_;m++)p.add(d[m]);return p})}loadCamera(e){let t;const i=this.json.cameras[e],r=i[i.type];if(!r){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}return i.type==="perspective"?t=new Bn(kf.radToDeg(r.yfov),r.aspectRatio||1,r.znear||1,r.zfar||2e6):i.type==="orthographic"&&(t=new Sl(-r.xmag,r.xmag,r.ymag,-r.ymag,r.znear,r.zfar)),i.name&&(t.name=this.createUniqueName(i.name)),ko(t,i),Promise.resolve(t)}loadSkin(e){const t=this.json.skins[e],i=[];for(let r=0,s=t.joints.length;r1?f=new Lr:u.length===1?f=u[0]:f=new Et,f!==u[0])for(let d=0,p=u.length;d{const d=new Map;for(const[p,m]of r.associations)(p instanceof rn||p instanceof Yt)&&d.set(p,m);return f.traverse(p=>{const m=r.associations.get(p);m!=null&&d.set(p,m)}),d};return r.associations=u(s),s})}_createAnimationTracks(e,t,i,r,s){const o=[],a=e.name?e.name:e.uuid,l=[];Oo[s.path]===Oo.weights?e.traverse(function(p){p.morphTargetInfluences&&l.push(p.name?p.name:p.uuid)}):l.push(a);let u;switch(Oo[s.path]){case Oo.weights:u=co;break;case Oo.rotation:u=Rs;break;case Oo.position:case Oo.scale:u=uo;break;default:switch(i.itemSize){case 1:u=co;break;case 2:case 3:default:u=uo;break}break}const f=r.interpolation!==void 0?D5[r.interpolation]:ao,d=this._getArrayFromAccessor(i);for(let p=0,m=l.length;p{t instanceof Kt&&t.material instanceof rn&&(t.material.colorWrite=(e==null?void 0:e.colorWrite)??!0)})}function Z5(n,e){return{type:"hand",inputSource:n,pose:V5(n.hand),assetPath:K5(n.handedness)}}function q5({inputSource:n,pose:e},t,i){W5(e,t,n.hand,i,n.handedness)}const $5=["wrist","thumb-metacarpal","thumb-phalanx-proximal","thumb-phalanx-distal","thumb-tip","index-finger-metacarpal","index-finger-phalanx-proximal","index-finger-phalanx-intermediate","index-finger-phalanx-distal","index-finger-tip","middle-finger-metacarpal","middle-finger-phalanx-proximal","middle-finger-phalanx-intermediate","middle-finger-phalanx-distal","middle-finger-tip","ring-finger-metacarpal","ring-finger-phalanx-proximal","ring-finger-phalanx-intermediate","ring-finger-phalanx-distal","ring-finger-tip","pinky-finger-metacarpal","pinky-finger-phalanx-proximal","pinky-finger-phalanx-intermediate","pinky-finger-phalanx-distal","pinky-finger-tip"];function e8(n,e,t){const i=new Float32Array(n.size*16),r=$5.map(s=>{const o=e.getObjectByName(s);if(o==null)throw new Error(`missing joint "${s}" in hand model`);return o.matrixAutoUpdate=!1,o});return s=>{if(s==null)return;const o=typeof t=="function"?t():t;if(o==null)return;s.fillPoses(n.values(),o,i);const a=r.length;for(let l=0;lt.push(r);return e.addEventListener("selectstart",i),e.addEventListener("selectend",i),e.addEventListener("select",i),e.addEventListener("squeeze",i),e.addEventListener("squeezestart",i),e.addEventListener("squeezeend",i),{cleanup(){e.removeEventListener("selectstart",i),e.removeEventListener("selectend",i),e.removeEventListener("select",i),e.removeEventListener("squeeze",i),e.removeEventListener("squeezestart",i),e.removeEventListener("squeezeend",i)},state:{type:"transientPointer",inputSource:n,events:t}}}function KC(n){if(n.hand!=null)return"hand";switch(n.targetRayMode){case"gaze":return"gaze";case"screen":return"screenInput";case"tracked-pointer":return"controller";case"transient-pointer":return"transientPointer"}}function i8(n){const e=new c6(n);return{controller:async(t,i)=>({state:await u6(i,e)}),hand:(t,i)=>({state:Z5(i)}),gaze:(t,i)=>({state:{type:"gaze",inputSource:i}}),screenInput:(t,i)=>({state:{type:"screenInput",inputSource:i}}),transientPointer:(t,i)=>n8(i,t)}}function r8(n,e){let t=new Set;const i=i8(e),r=new Map;return(s,o,a,l)=>{var f;t=new Set(s.inputSources);const u={};if(l==="all"){u.controllerStates=[],u.gazeStates=[],u.handStates=[],u.screenInputStates=[],u.transientPointerStates=[];for(const d of r.values())d()}else if(l!=null){const d=l.length;for(let p=0;pg===m);if(y===-1)throw new Error(`unable to find removed input source ${m}`);S.splice(y,1),(f=r.get(m))==null||f(),r.delete(m)}}return a!=null&&a.forEach(async d=>{const p=KC(d);let m=i[p](s,d),_;if(m instanceof Promise){if(_=await m,!t.has(d))return;n[p](_.state)}else _=m,YC(`${p}States`,u,o).push(_.state);_.cleanup!=null&&r.set(d,_.cleanup)}),u}}function YC(n,e,t){let i=e[n];return i==null&&(e[n]=i=t==null?[]:[...t[n]]),i}function s8(n,e){const t=(i,r)=>{r!=null&&i.visibilityState===r.visibilityState||e(i.visibilityState==="visible")};return t(n.getState()),n.subscribe(t)}class o8 extends On{constructor(){super({transparent:!0,toneMapped:!1,depthWrite:!1})}onBeforeCompile(e,t){super.onBeforeCompile(e,t),e.vertexShader=`varying vec2 vLocalPosition; +`+e.vertexShader,e.vertexShader=e.vertexShader.replace("#include ",`#include + vLocalPosition = position.xy * 2.0;`),e.fragmentShader=`varying vec2 vLocalPosition; +`+e.fragmentShader,e.fragmentShader=e.fragmentShader.replace("#include ",`#include + float value = max(0.0, 1.0 - sqrt(dot(vLocalPosition, vLocalPosition))); + diffuseColor.a = diffuseColor.a * value * value;`)}}const a8=new D(0,0,1),QC=new zt,py=new D;function l8(n,e,t,i){const r=t.getIntersection();if(r==null||!t.getEnabled()){n.visible=!1;return}n.visible=!0;const s=typeof i.color=="function"?i.color(t):i.color;Array.isArray(s)?e.color.set(...s):e.color.set(s??"white"),e.opacity=typeof i.opacity=="function"?i.opacity(t):i.opacity??.4,n.position.copy(r.pointOnFace),n.scale.setScalar(i.size??.1),r.normal!=null&&(QC.setFromUnitVectors(a8,r.normal),r.object.getWorldQuaternion(n.quaternion),n.quaternion.multiply(QC),py.set(0,0,i.cursorOffset??.01),py.applyQuaternion(n.quaternion),n.position.add(py)),n.updateMatrix()}class c8 extends On{constructor(){super({transparent:!0,toneMapped:!1})}onBeforeCompile(e,t){super.onBeforeCompile(e,t),e.vertexShader=`varying float vFade; +`+e.vertexShader,e.vertexShader=e.vertexShader.replace("#include ",`#include + vFade = position.z + 0.5;`),e.fragmentShader=`varying float vFade; +`+e.fragmentShader,e.fragmentShader=e.fragmentShader.replace("#include ",`#include + diffuseColor.a *= vFade;`)}}function u8(n,e,t,i){if(!t.getEnabled()){n.visible=!1;return}n.visible=!0;const r=t.getIntersection(),s=typeof i.color=="function"?i.color(t):i.color;Array.isArray(s)?e.color.set(...s):e.color.set(s??"white"),e.opacity=typeof i.opacity=="function"?i.opacity(t):i.opacity??.4;let o=i.maxLength??1;r!=null&&(o=Math.min(o,r.distance)),n.position.z=-o/2;const a=i.size??.005;n.scale.set(a,a,o),n.updateMatrix()}function h8(n,e,t,i,r,s={}){const o=f=>{f.inputSource===t&&n.down(Object.assign(f,{button:s.button??0}))},a=f=>{f.inputSource===t&&n.up(Object.assign(f,{button:s.button??0}))},l=`${i}start`,u=`${i}end`;return e.addEventListener(l,o),e.addEventListener(u,a),()=>{e.removeEventListener(l,o),e.removeEventListener(u,a)}}function f8(n){var e;return n.getButtonsDown().size>0?.6:RL(((e=n.getIntersection())==null?void 0:e.distance)??1/0,.07,0,.2,.4)}function Ag(n){return n.getButtonsDown().size>0?.6:.4}function d8(n){var e;return RL(((e=n.getIntersection())==null?void 0:e.distance)??1/0,.1,.03,.2,.6)}function RL(n,e,t,i,r){return i+Math.max(0,Math.min(1,(n-e)/(t-e)))*(r-i)}function p8(n,e){return(t,i)=>{const r=ZC(e),s=ZC(n);if(s===r)return t.identity(),!0;if(i==null||s==null||r==null)return!1;const o=i.getPose(s,r);return o==null?!1:(t.fromArray(o.transform.matrix),!0)}}function ZC(n){return typeof n=="function"?n():n}function m8({anchors:n=!0,handTracking:e=!0,layers:t=!0,meshDetection:i=!0,planeDetection:r=!0,referenceSpaceType:s="local-floor",customSessionInit:o,depthSensing:a=!1}={}){if(o!=null)return o;const l=[s],u=[];return Sc(n,"anchors",l,u),Sc(e,"hand-tracking",l,u),Sc(t,"layers",l,u),Sc(i,"mesh-detection",l,u),Sc(r,"plane-detection",l,u),Sc(a,"depth-sensing",l,u),{requiredFeatures:l,optionalFeatures:u}}function Sc(n,e,t,i){if(n!==!1){if(n===!0){i.push(e);return}t.push(e)}}function Vo(n,e,t){return typeof n=="function"?n:(typeof n=="object"&&(e!=null&&g8(n,e)?n=n[e]:"default"in n&&(n=n.default)),n===!1?!1:n===!0?t:n??t)}function g8(n,e){return e in n}function bL(n,e,t){return n??(n=t),n===!1?!1:typeof n=="function"?n:e!=null&&e in n?n[e]??t:"default"in n?n.default??t:n}const PL={handStates:[],controllerStates:[],transientPointerStates:[],gazeStates:[],screenInputStates:[],detectedMeshes:[],detectedPlanes:[],mode:null};function v8(n){const e=O9(()=>({...PL,controller:n==null?void 0:n.controller,hand:n==null?void 0:n.hand,gaze:n==null?void 0:n.gaze,screenInput:n==null?void 0:n.screenInput,transientPointer:n==null?void 0:n.transientPointer,detectedMesh:n==null?void 0:n.detectedMesh,detectedPlane:n==null?void 0:n.detectedPlane})),t=r8({controller:a=>e.setState({controllerStates:[...e.getState().controllerStates,a]})},n),i=x8(e,t),r=y8(n==null?void 0:n.enterGrantedSession,a=>mm(a,n,void 0,o));let s,o;return Object.assign(e,{setWebXRManager(a){if(o===a)return;o=a;const{referenceSpaceType:l="local-floor",foveation:u}={};o.setReferenceSpaceType(l),u!=null&&o.setFoveation(u);const{session:f}=e.getState();f!=null&&BL(o,f),s==null||s(),s=_8(a,i)},setFrameRate(a){const{session:l}=e.getState();l!=null&&IL(l,a)},setHand(a,l){if(l==null){e.setState({hand:a});return}const u=e.getState().hand,f={};typeof u=="object"&&Object.assign(f,u),Object.assign(f,{default:Vo(u,void 0,{}),[l]:a}),e.setState({hand:f})},setController(a,l){if(l==null){e.setState({controller:a});return}const u=e.getState().controller,f={};typeof u=="object"&&Object.assign(f,u),Object.assign(f,{default:Vo(u,void 0,{}),[l]:a}),e.setState({controller:f})},setTransientPointer(a,l){if(l==null){e.setState({transientPointer:a});return}const u=e.getState().transientPointer,f={};typeof u=="object"&&Object.assign(f,u),Object.assign(f,{default:Vo(u,void 0,{}),[l]:a}),e.setState({transientPointer:f})},setGaze(a){e.setState({gaze:a})},setScreenInput(a){e.setState({screenInput:a})},setDetectedPlane(a,l){if(l==null){e.setState({detectedPlane:a});return}const u=e.getState().detectedPlane,f={};typeof u=="object"&&Object.assign(f,u),Object.assign(f,{default:Vo(u,void 0,{}),[l]:a}),e.setState({detectedPlane:f})},setDetectedMesh(a,l){if(l==null){e.setState({detectedMesh:a});return}const u=e.getState().detectedMesh,f={};typeof u=="object"&&Object.assign(f,u),Object.assign(f,{default:Vo(u,void 0,{}),[l]:a}),e.setState({detectedMesh:f})},destroy(){s==null||s(),r==null||r(),i(void 0,void 0)},enterXR:(a,l)=>mm(a,n,l,o),enterAR:a=>mm("immersive-ar",n,a,o),enterVR:a=>mm("immersive-vr",n,a,o),onBeforeFrame(a,l,u){const{origin:f}=e.getState(),d=l.parent??a;f!=d&&e.setState({origin:d}),o!=null&&A8(e,u,o)}})}async function IL(n,e){if(e===!1)return;const{supportedFrameRates:t}=n;if(t==null||t.length===0)return;if(typeof e=="function"){const r=e(t);return r===!1?void 0:n.updateTargetFrameRate(r)}const i=e==="high"?1:e==="mid"?.5:0;return n.updateTargetFrameRate(t[Math.ceil((t.length-1)*i)])}async function mm(n,e,t,i){if(navigator.xr==null)throw new Error("xr not supported");const r=await navigator.xr.requestSession(n,m8(Object.assign({},e,t)));return IL(r,"high"),BL(i,r),r}function BL(n,e,t){n!=null&&(XRWebGLLayer.getNativeFramebufferScaleFactor(e),n==null||n.setSession(e))}const qC=["immersive-ar","immersive-vr","inline"];function _8(n,e){const t=()=>{const i=n.getSession();e(i,i.environmentBlendMode==="opaque"?"immersive-vr":"immersive-ar")};return n.addEventListener("sessionstart",t),()=>n.removeEventListener("sessionstart",t)}function y8(n=qC,e){var i;if(n===!1)return;n===!0&&(n=qC);const t=async()=>{var r;for(const s of n)await((r=navigator.xr)==null?void 0:r.isSessionSupported(s))&&e(s)};return(i=navigator.xr)==null||i.addEventListener("sessiongranted",t),()=>{var r;return(r=navigator.xr)==null?void 0:r.removeEventListener("sessiongranted",t)}}function x8(n,e){let t;return(i,r)=>{if(t==null||t(),i==null||r==null)return;const s=l=>n.setState(e(l.session,n.getState(),l.added,l.removed));i.addEventListener("inputsourceschange",s);const o=()=>n.setState({frameRate:i.frameRate,visibilityState:i.visibilityState}),a=()=>{t==null||t(),t=void 0,n.setState(PL)};i.addEventListener("end",a),i.addEventListener("frameratechange",o),i.addEventListener("visibilitychange",o),n.setState({...e(i,void 0,i.inputSources,void 0),frameRate:i.frameRate,visibilityState:i.visibilityState,detectedMeshes:[],detectedPlanes:[],mode:r,session:i}),t=()=>{e(i,n.getState(),void 0,"all"),i.removeEventListener("end",a),i.removeEventListener("frameratechange",o),i.removeEventListener("visibilitychange",o),i.removeEventListener("inputsourceschange",s)}}}function A8(n,e,t){const i=t.getReferenceSpace(),{detectedMeshes:r,detectedPlanes:s,session:o,controllerStates:a,handStates:l}=n.getState();if(e==null||i==null||o==null)return;const u=$C(s,e.detectedPlanes),f=$C(r,e.detectedMeshes);(s!=u||r!=f)&&n.setState({detectedPlanes:u,detectedMeshes:f});const d=a.length;for(let m=0;m{t instanceof Kt&&t.material instanceof rn&&(t.material.colorWrite=(e==null?void 0:e.colorWrite)??!0)})}function T8(n,e,t){const i=[];for(const r in e.components){const s=e.components[r];let o=t[r];o==null&&(t[r]=o={state:"default"}),i.push(...Object.values(s.visualResponses).map(a=>C8(n,o,a)))}return()=>{const r=i.length;for(let s=0;s{};if(t.valueNodeProperty==="visibility")return()=>i.visible=t.states.includes(e.state);const r=n.getObjectByName(t.minNodeName),s=n.getObjectByName(t.maxNodeName);return r==null||s==null?()=>{}:()=>{const o=R8(e,t);i.quaternion.slerpQuaternions(r.quaternion,s.quaternion,o),i.position.lerpVectors(r.position,s.position,o),i.updateMatrix()}}function R8(n,{componentProperty:e,states:t}){const i=t.includes(n.state);switch(e){case"xAxis":return i?eR(n).x:.5;case"yAxis":return i?eR(n).y:.5;case"button":return i?n.button??0:0;case"state":return i?1:0}}const Eh=new le;function eR({xAxis:n=0,yAxis:e=0}){if(Eh.lengthSq()>1){const i=Math.atan2(e,n);Eh.set(Math.cos(i),Math.sin(i))}else Eh.set(n,e);return Eh.multiplyScalar(.5).addScalar(.5),Eh}function b8({_listeners:n,__r3f:e}){return n!=null&&Object.keys(n).length>0||e!=null&&(e==null?void 0:e.eventCount)>0}function P8({_listeners:n,__r3f:e},t){if(n!=null&&t in n)return n[t];if(e==null)return;const i=e.handlers[I8[t]];if(i!=null)return[i]}const I8={click:"onClick",contextmenu:"onContextMenu",dblclick:"onDoubleClick",pointercancel:"onPointerCancel",pointerdown:"onPointerDown",pointerenter:"onPointerEnter",pointerleave:"onPointerLeave",pointermove:"onPointerMove",pointerout:"onPointerOut",pointerover:"onPointerOver",pointerup:"onPointerUp",wheel:"onWheel"};let ir=class LL{constructor(e,t,i,r,s,o=s.object,a=o){St(this,"type");St(this,"bubbles");St(this,"nativeEvent");St(this,"pointer");St(this,"intersection");St(this,"currentObject");St(this,"object");St(this,"stopPropagation");St(this,"stopImmediatePropagation");this.type=e,this.bubbles=t,this.nativeEvent=i,this.pointer=r,this.intersection=s,this.currentObject=o,this.object=a}get pointerId(){return this.pointer.id}get pointerType(){return this.pointer.type}get pointerState(){return this.pointer.state}get timeStamp(){return this.nativeEvent.timeStamp}get button(){return this.nativeEvent.button}get shiftKey(){return this.nativeEvent.shiftKey??!1}get metaKey(){return this.nativeEvent.metaKey??!1}get ctrlKey(){return this.nativeEvent.ctrlKey??!1}get altKey(){return this.nativeEvent.altKey??!1}get distance(){return this.intersection.distance}get distanceToRay(){return this.intersection.distanceToRay}get point(){return this.intersection.point}get index(){return this.intersection.index}get face(){return this.intersection.face}get faceIndex(){return this.intersection.faceIndex}get uv(){return this.intersection.uv}get uv1(){return this.intersection.uv1}get normal(){return this.intersection.normal}get instanceId(){return this.intersection.instanceId}get pointOnLine(){return this.intersection.pointOnLine}get batchId(){return this.intersection.batchId}get pointerPosition(){return this.intersection.pointerPosition}get pointerQuaternion(){return this.intersection.pointerQuaternion}get pointOnFace(){return this.intersection.pointOnFace}get localPoint(){return this.intersection.localPoint}get details(){return this.intersection.details}get target(){return this.object}get currentTarget(){return this.currentObject}retarget(e){const{type:t,bubbles:i,nativeEvent:r,pointer:s,intersection:o,target:a}=this;return new LL(t,i,r,s,o,e,a)}};class B8 extends ir{get deltaX(){return this.nativeEvent.deltaX}get deltaY(){return this.nativeEvent.deltaY}get deltaZ(){return this.nativeEvent.deltaZ}constructor(e,t,i){super("wheel",!0,e,t,i)}}function wr(n){DL(n,n.currentObject)}function DL(n,e){if(e==null)return;const t=P8(e,n.type);let i=!n.bubbles;if(t!=null&&t.length>0){const r=n.retarget(e),s=t.length;r.stopPropagation=()=>i=!0;let o=!1;r.stopImmediatePropagation=()=>{i=!0,o=!0};for(let a=0;a=0;a--){const l=this.pointerEnteredHelper[a];wr(new ir("pointerenter",!1,e,this,i,l))}if(i!=null&&wr(new ir("pointermove",!0,e,this,i)),this.prevIntersection=this.intersection,this.prevEnabled=this.enabled,!this.wasMoved){this.wasMoved=!0;const a=this.onFirstMove.length;for(let l=0;li){a.set(e.button,e.timeStamp);return}wr(new ir("dblclick",!0,e,this,this.intersection)),a.delete(e.button)}cancel(e){if(this.enabled){if(!this.wasMoved){this.onFirstMove.push(this.cancel.bind(this,e));return}this.intersection!=null&&wr(new ir("pointercancel",!0,e,this,this.intersection))}}wheel(e,t,i){if(!this.enabled)return;let r=this.intersection;if(i||(r=this.computeIntersection(e,t,this.pointerCapture)),!this.wasMoved&&i){this.onFirstMove.push(this.cancel.bind(this,t));return}r!=null&&wr(new B8(t,this,r))}exit(e){var t;if(!this.wasMoved){this.onFirstMove.push(this.exit.bind(this,e));return}this.pointerCapture!=null&&((t=this.parentReleasePointerCapture)==null||t.call(this),this.pointerCapture=void 0),this.intersection=void 0,this.commit(e)}}function FL(n,e,t,i){if(n==null)return;const r=t.indexOf(n);r!=-1?t.splice(r,1):i.push(n),e.push(n),FL(n.parent,e,t,i)}function L8(n,e,t,i,r){if(e==null)return!1;const s=e.get(t);return!(s==null||i-s>r||s!=n.get(t))}function iM(n,e,t){return e.face==null?!1:(n.setFromNormalAndCoplanarPoint(e.face.normal,e.localPoint),n.applyMatrix4(t.matrixWorld),!0)}function D8(n,e,t,i,r,s){if(e==="none"||e==="listener"&&!n)return!1;if(t==="all")return!0;if(typeof t=="function")return t(i,r,s);let o,a;"deny"in t?(a=!0,o=t.deny):(a=!1,o=t.allow);let l;return Array.isArray(o)?l=o.includes(r):l=o===r,a?!l:l}function _0(n,e,t,i,r,s=!1,o,a){const l=s||b8(n),u=n.pointerEvents??o??"listener",f=n.pointerEventsType??a??"all";D8(l,u,f,e,t,i)&&r(n);const p=n.children.length;for(let m=0;m0)&&(n=o)}return n}function O8(n,e){const{pointerEventsOrder:t=0}=n.object,{pointerEventsOrder:i=0}=e.object;return t!=i?i-t:n.distance-e.distance}const Ws=new Su,F8=new Ne,Th=[];function N8(n,e,t,i,r,s,o,a){if(o!=null)return U8(n,e,o);let l;if(_0(t,i,r,s,u=>{let f=0;const d=((l==null?void 0:l.details.lineIndex)??e.length-2)+2;for(let p=1;p0;i--){const r=e[i-1],s=e[i];if(vy.origin.copy(r).applyMatrix4(n),vy.direction.copy(s).applyMatrix4(n).sub(Ws.ray.origin).normalize(),vy.intersectPlane(t,nR)!=null)return nR.clone()}}const _y=new Su,yy=new D,iR=new $r,z8=new Ne,xy=[];function H8(n,e,t,i,r,s,o,a,l){if(a!=null)return G8(n,e,t,a);let u;if(_y.ray.origin.copy(n),_y.ray.direction.copy(t).applyQuaternion(e),_0(i,r,s,o,f=>{f.raycast(_y,xy),u=rM(u,xy,l),xy.length=0}),u!=null)return Object.assign(u,{details:{type:"ray"},pointerPosition:n.clone(),pointerQuaternion:e.clone(),pointOnFace:u.point,localPoint:u.point.clone().applyMatrix4(z8.copy(u.object.matrixWorld).invert())})}const rR=new ha;function G8(n,e,t,{intersection:i,object:r}){if(i.details.type!="ray")return;yy.copy(t).applyQuaternion(e),rR.set(n,yy),iM(iR,i,r);const s=rR.intersectPlane(iR,new D)??i.point;return{...i,object:r,pointOnFace:s,point:yy.clone().multiplyScalar(i.distance).add(n),pointerPosition:n.clone(),pointerQuaternion:e.clone()}}const Ay=new Tn,Sy=[];function NL(n,e,t,i,r,s,o,a,l){if(a!=null)return X8(n,e,a);let u;if(Ay.center.copy(n),Ay.radius=t,_0(i,r,s,o,f=>{W8(Ay,f,Sy),u=rM(u,Sy,l),Sy.length=0}),u!=null)return Object.assign(u,{details:{type:"sphere"},pointOnFace:u.point,pointerPosition:n.clone(),pointerQuaternion:e.clone(),localPoint:u.point.clone().applyMatrix4(Sg.copy(u.object.matrixWorld).invert())})}const gm=new Ne;function V8(n){return"spherecast"in n}function W8(n,e,t){if(e.updateWorldMatrix(!0,!1),V8(e)){e.spherecast(n,t);return}if(e instanceof Wf){e.geometry.boundingSphere==null&&e.geometry.computeBoundingSphere(),e.geometry.boundingBox==null&&e.geometry.computeBoundingBox();for(let r=0;rn.radius*n.radius)return;My.max(j8);const o=Zc.center.clone().sub(cR);o.divide(My),J8(o);const a=vm.clone();return{distance:Math.sqrt(s),face:{a:0,b:0,c:0,materialIndex:0,normal:o},normal:o,point:a,instanceId:i,object:e}}function J8(n){const e=Math.abs(n.x),t=Math.abs(n.y),i=Math.abs(n.z);if(e>=t&&e>=i){n.set(n.x<0?-1:1,0,0);return}if(t>=e&&t>=i){n.set(0,n.y<0?-1:1,0);return}n.set(0,0,n.z<0?-1:1)}const pA={radius:.07};function K8(n,e,t=pA,i="grab"){const r=new D,s=new zt,o=sM();return new nM(o,i,e,(a,l,u)=>{const f=n.current;if(f!=null)return f.updateWorldMatrix(!0,!1),r.setFromMatrixPosition(f.matrixWorld),s.setFromRotationMatrix(f.matrixWorld),NL(r,s,t.radius??pA.radius,a,o,i,e,u,t)},void 0,void 0,void 0,t)}const Y8=new D(0,0,-1),Oh={direction:Y8,minDistance:0,linePoints:null};function Q8(n,e,t=Oh,i="ray"){const r=new D,s=new zt,o=sM();return new nM(o,i,e,(a,l,u)=>{const f=n.current;if(f==null)return;f.updateWorldMatrix(!0,!1);let d;const p=t.linePoints??Oh.linePoints;if(p==null?(r.setFromMatrixPosition(f.matrixWorld),s.setFromRotationMatrix(f.matrixWorld),d=H8(r,s,t.direction??Oh.direction,a,o,i,e,u,t)):d=N8(f.matrixWorld,p,a,o,i,e,u,t),d!=null&&!(d.distance<(t.minDistance??Oh.minDistance)))return d},void 0,void 0,void 0,t)}const qc={button:0,downRadius:.03,hoverRadius:.1};function Z8(n,e,t=qc,i="touch"){const r=new D,s=new zt,o=sM();return new nM(o,i,e,(a,l,u)=>{const f=n.current;if(f!=null)return f.updateWorldMatrix(!0,!1),r.setFromMatrixPosition(f.matrixWorld),s.setFromRotationMatrix(f.matrixWorld),NL(r,s,t.hoverRadius??qc.hoverRadius,a,o,i,e,u,t)},q8(t),void 0,void 0,t)}function q8(n=qc){let e=!1;return t=>{if(!t.getEnabled())return;const i=t.getIntersection(),r=$8(i,n.downRadius??qc.downRadius);if(r===e)return;const s={timeStamp:performance.now(),button:n.button??qc.button};r?t.down(s):t.up(s),e=r}}function $8(n,e){return n==null?!1:n.distance<=e}let e6=23412;function sM(){return e6++}new D;new le;let t6=class{constructor(){St(this,"pointers",[]);St(this,"isDefaults",[]);St(this,"enabled",!0)}register(e,t){return this.pointers.push(e),this.isDefaults.push(t),this.unregister.bind(this,e)}unregister(e){const t=this.pointers.indexOf(e);t!==-1&&(this.isDefaults.splice(t,1),this.pointers.splice(t,1))}move(e,t){var o,a;if(!this.enabled)return;const i=this.pointers.length;if(i===0)return;for(let l=0;l=n.lastChangedTime)return e;const t=new ot;return t.setIndex(new st(n.indices,1)),t.setAttribute("position",new st(n.vertices,3)),Object.assign(t,{creationTime:n.lastChangedTime})}function fR(n,e){return e!=null&&e.createdAt!=null&&e.createdAt>=n.lastChangedTime?e:Object.assign(n6(n.polygon),{createdAt:n.lastChangedTime})}const Ch=new FB,_m=new le;function n6(n){const e=new na,t=n.map(({x:r,z:s})=>new le(r,s));Ch.setFromPoints(t),Ch.getSize(_m);for(const r of t)r.sub(Ch.min),r.divide(_m);e.setFromPoints(t);const i=new Kf(e);return i.scale(_m.x,_m.y,1),i.translate(Ch.min.x,Ch.min.y,0),i.rotateX(Math.PI/2),i}new D;new D;new D;const Rh=new Bi(0,0,0,"YXZ"),ym=new zt;function i6(n,e,t){n.matrixWorld.decompose(e.position,ym,e.scale),Rh.setFromQuaternion(ym),Rh.z=0,Rh.x=Hm(Rh.x-10*Math.PI/180,-Math.PI/2,1.1*Math.PI/4),ym.setFromEuler(Rh),e.quaternion.slerp(ym,t/100)}function r6(n){return n.userData.teleportTarget===!0}function s6(n={}){return e=>!(!r6(e.object)||n.customFilter!=null&&!n.customFilter(e))}function o6(){return new $g(new D(0,0,0),new D(0,0,-8),new D(0,-20,-15)).getPoints(20)}let a6=class extends Kt{constructor(t){const i=new v9,r=new Float32Array(t.length*3);for(let a=0;aa.distanceTo(t[l+1]))}update(t){if(!t.getEnabled()||t.getButtonsDown().size===0){this.visible=!1;return}this.visible=!0;const r=t.getIntersection();if((r==null?void 0:r.details.type)!="lines"){this.material.visibility=this.multiplier;return}const{distanceOnLine:s,lineIndex:o}=r.details,a=this.lineLengths[o];this.material.visibility=this.multiplier*(o+s/a)/this.lineLengths.length;const{color:l="white",opacity:u=.4,size:f=.01}=this.options;this.material.lineWidth=f,this.material.opacity=typeof u=="function"?u(t):u;const d=typeof l=="function"?l(t):l;Array.isArray(d)?this.material.color.set(...d):this.material.color.set(d),console.log(this.material.visibility,this.multiplier,o,a,s,this.lineLengths.length)}};const UL=new l5,kL="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles/",l6="generic-trigger";class c6{constructor(e){St(this,"baseAssetPath");St(this,"defaultProfileId");St(this,"profilesListPromise");St(this,"profilePromisesMap",new Map);St(this,"loadAsync",this.load);this.baseAssetPath=(e==null?void 0:e.baseAssetPath)??kL,this.defaultProfileId=(e==null?void 0:e.defaultControllerProfileId)??l6}async load(e,t){const i=await this.loadProfile(e);for(const r in i.layouts)if(r.includes(t))return i.layouts[r];throw new Error(`No matching layout for "${t}", in profile ${i.profileId} with layouts ${Object.keys(i.layouts).join(", ")}.`)}async loadProfile(e){this.profilesListPromise??(this.profilesListPromise=dR(new URL("profilesList.json",this.baseAssetPath).href));const t=await this.profilesListPromise,i=e.length;for(let s=0;s{const i=V.useRef(null);return V.useImperativeHandle(t,()=>i.current,[]),d6(i,n,(r,s,o)=>{i.current!=null&&(i.current.visible=o!=null)}),J.jsx("group",{visible:!1,matrixAutoUpdate:!1,ref:i,children:J.jsx(y0.Provider,{value:n,children:e})})});function WL(){const n=V.useContext(y0);if(n==null)throw new Error("XR objects must be placed inside the XROrigin");return n}function f6(n){const e=WL();return V.useMemo(()=>p8(n,e),[n,e])}function d6(n,e,t){const i=f6(e);Vn((r,s,o)=>{n.current!=null&&(i(n.current.matrix,o),t==null||t(r,s,o))},-100)}let p6=0;const pR=new Map;function Rl(n){let e=pR.get(n);return e==null&&pR.set(n,e=p6++),e}function m6(){return ai(n=>n.visibilityState)}function g6(n,e){const t=V.useRef(e);t.current=e;const[i,r]=V.useMemo(()=>{let s;return[o=>{let a=!1;return navigator.xr==null?(s=!1,()=>{}):(navigator.xr.isSessionSupported(n).then(l=>{s=l,!a&&o()}).catch(l=>{var u;a||(u=t.current)==null||u.call(t,l)}),()=>a=!0)},()=>s]},[n]);return V.useSyncExternalStore(i,r)}function oM(n){const e=V.useContext(bs);if(e==null||e.type!="hand")throw new Error('useXRHandState() can only be used inside a or with using useXRHandState("left")');return e}const v6=Symbol("loadXRHandModel"),_6=V.forwardRef((n,e)=>{const t=oM(),i=YS(Y5,[t.assetPath,void 0,v6]);Q5(i,n),V.useImperativeHandle(e,()=>i,[i]);const r=WL(),s=V.useMemo(()=>e8(t.inputSource.hand,i,r),[t.inputSource,i,r]);return Vn((o,a,l)=>s(l)),J.jsx("primitive",{object:i})});V.forwardRef(({joint:n,children:e},t)=>{const i=oM();return J.jsx(Ur,{ref:t,space:()=>i.inputSource.hand.get(n),children:e})});function XL({children:n}){const e=V.useMemo(()=>new t6,[]);return JL(e),Vn(t=>e.move(t.scene,{timeStamp:performance.now()}),-50),J.jsx(VL.Provider,{value:e,children:n})}function y6(n,e,t,i){const r=V.useMemo(()=>({}),[]);Object.assign(r,pA,t);const s=V.useMemo(()=>K8(n,e,r,i),[n,e,r,i]);return lM(s,t==null?void 0:t.makeDefault),s}function jL(n,e,t,i){const r=V.useMemo(()=>({}),[]);Object.assign(r,Oh,t);const s=V.useMemo(()=>Q8(n,e,r,i),[n,e,r,i]);return lM(s,t==null?void 0:t.makeDefault),s}function x6(n,e,t,i){const r=V.useMemo(()=>({}),[]);Object.assign(r,qc,t);const s=V.useMemo(()=>Z8(n,e,r,i),[n,e,r,i]);return lM(s,t==null?void 0:t.makeDefault),s}const A6=V.forwardRef((n,e)=>{const t=V.useMemo(()=>new c8,[]),i=V.useRef(null);return V.useImperativeHandle(e,()=>i.current,[]),Vn(()=>i.current!=null&&u8(i.current,t,n.pointer,n)),J.jsx("mesh",{matrixAutoUpdate:!1,renderOrder:n.renderOrder??2,ref:i,material:t,children:J.jsx("boxGeometry",{})})}),x0=V.forwardRef((n,e)=>{const t=V.useMemo(()=>new o8,[]),i=V.useRef(null);V.useImperativeHandle(e,()=>i.current,[]),Vn(()=>i.current!=null&&l8(i.current,t,n.pointer,n));const r=ni(s=>s.scene);return ZS(J.jsx("mesh",{renderOrder:n.renderOrder??1,ref:i,matrixAutoUpdate:!1,material:t,children:J.jsx("planeGeometry",{})}),r)});function aM(n,e,t,i){const r=ai(s=>s.session);V.useEffect(()=>{if(r!=null)return h8(n,r,e,t)},[t,e,n,r,i])}function lM(n,e=!1){const t=V.useContext(VL);t==null?(JL(n),Vn(i=>n.move(i.scene,{timeStamp:performance.now()}),-50)):V.useEffect(()=>t.register(n,e),[t,n,e]),V.useEffect(()=>()=>n.exit({timeStamp:performance.now()}),[n])}function JL(n){const e=ZL();V.useEffect(()=>s8(e,t=>n.setEnabled(t,{timeStamp:performance.now()})),[e,n])}const S6=V.forwardRef(({pointer:n,linePoints:e,...t},i)=>{const r=V.useMemo(()=>new a6(e),[e]);return V.useImperativeHandle(i,()=>r,[r]),r.options=t,Vn(()=>r.update(n)),J.jsx("primitive",{object:r})});function KL(n,e,t){const i=V.useContext(bs);if(i==null)throw new Error("DefaultXRInputSourceGrabPointer can only be used inside a XRInputSource");const r=V.useRef(null),s=y6(r,i,t);aM(s,i.inputSource,n);const o=t.cursorModel;return J.jsx(Ur,{ref:r,space:e(i.inputSource),children:o!==!1&&J.jsx(x0,{pointer:s,opacity:f8,...ri(o)})})}const M6=KL.bind(null,"select",n=>()=>n.hand.get("index-finger-tip")),E6=KL.bind(null,"squeeze",n=>n.gripSpace);function ed(n){const e=V.useContext(bs);if(e==null)throw new Error("DefaultXRInputSourceRayPointer can only be used inside a XRInputSource");const t=V.useRef(null),i=jL(t,e,n);aM(i,e.inputSource,"select");const r=n.rayModel,s=n.cursorModel;return J.jsxs(Ur,{ref:t,space:e.inputSource.targetRaySpace,children:[r!==!1&&J.jsx(A6,{pointer:i,opacity:Ag,...ri(r)}),s!==!1&&J.jsx(x0,{pointer:i,opacity:Ag,...ri(s)})]})}function w6(n){const e=oM(),t=V.useRef(null),i=x6(t,e,n),r=n.cursorModel;return J.jsx(Ur,{ref:t,space:()=>e.inputSource.hand.get("index-finger-tip"),children:r!==!1&&J.jsx(x0,{pointer:i,opacity:d8,...ri(r)})})}function T6(n){const e=n.model,t=n.grabPointer,i=n.rayPointer,r=n.teleportPointer??!1;return J.jsxs(J.Fragment,{children:[e!==!1&&J.jsx(V.Suspense,{children:J.jsx(V6,{...ri(e)})}),J.jsxs(XL,{children:[t!==!1&&J.jsx(E6,{...ri(t)}),i!==!1&&J.jsx(ed,{makeDefault:!0,minDistance:.2,...ri(i)}),r!==!1&&J.jsx(YL,{...ri(r)})]})]})}function C6(n){var a;const e=n.model,t=n.grabPointer,i=n.rayPointer,r=n.touchPointer,s=n.teleportPointer??!1,o=i===!1?!1:(a=ri(i))==null?void 0:a.rayModel;return J.jsxs(J.Fragment,{children:[e!==!1&&J.jsx(V.Suspense,{children:J.jsx(_6,{...ri(e)})}),J.jsxs(XL,{children:[t!==!1&&J.jsx(M6,{...ri(t)}),r!==!1&&J.jsx(w6,{...ri(r)}),i!==!1&&J.jsx(ed,{makeDefault:!0,minDistance:.2,...ri(i),rayModel:o===!1?!1:{maxLength:.2,...ri(o)}}),s!==!1&&J.jsx(YL,{...ri(s)})]})]})}function R6(n){return J.jsx(ed,{...n,rayModel:!1})}function b6(n){return J.jsx(ed,{...n,rayModel:!1})}function P6(n){return J.jsx(ed,{...n,cursorModel:!1,rayModel:!1})}function YL(n){const e=V.useContext(bs);if(e==null)throw new Error("DefaultXRInputSourceRayPointer can only be used inside a XRInputSource");const t=V.useRef(null),i=V.useRef(null),r=V.useMemo(()=>o6(),[]),s=jL(i,e,{...n,linePoints:r,customFilter:s6(n)},"teleport");aM(s,e.inputSource,"select");const o=n.rayModel,a=n.cursorModel,l=ni(f=>f.scene),u=V.useRef(null);return Vn((f,d)=>{u.current!=null&&(u.current.visible=s.getEnabled()&&s.getButtonsDown().size>0);const p=i.current,m=t.current;p==null||m==null||i6(m,p,d*1e3)}),J.jsxs(J.Fragment,{children:[J.jsx(Ur,{ref:t,space:e.inputSource.targetRaySpace}),ZS(J.jsxs("group",{ref:i,children:[o!==!1&&J.jsx(S6,{linePoints:r,pointer:s,opacity:Ag,...ri(o)}),a!==!1&&J.jsx(x0,{ref:u,pointer:s,opacity:Ag,...ri(a)})]}),l)]})}function ri(n){if(n!==!0)return n}function I6({children:n}){const e=ni(a=>a.gl.xr),t=ai(a=>a.origin),i=V.useCallback(()=>e.getReferenceSpace(),[e]),r=m6()==="visible",s=Zf(),o=V.useMemo(()=>Object.assign({},s,{getState(){return{...s.getState(),scene:t}}}),[t,s]);return t==null?null:J.jsx(J.Fragment,{children:uu.createPortal(J.jsx(g0.Provider,{value:s,children:J.jsxs(y0.Provider,{value:i,children:[J.jsxs("group",{matrixAutoUpdate:!1,visible:r,children:[J.jsx(B6,{}),J.jsx(L6,{}),J.jsx(D6,{}),J.jsx(O6,{}),J.jsx(F6,{})]}),J.jsx(N6,{}),J.jsx(U6,{}),n]})}),o,null)})}function B6(){const n=ai(t=>t.controllerStates);let e=ai(t=>t.controller);return e===!1?null:J.jsx(J.Fragment,{children:n.map(t=>{const i=Vo(e,t.inputSource.handedness,{});return i===!1?null:J.jsx(Ur,{space:t.inputSource.gripSpace,children:J.jsx(bs.Provider,{value:t,children:J.jsx(V.Suspense,{children:typeof i=="function"?J.jsx(i,{}):J.jsx(T6,{...i})})})},Rl(t))})})}function L6(){const n=ai(t=>t.handStates),e=ai(t=>t.hand);return e===!1?null:J.jsx(J.Fragment,{children:n.map(t=>{const i=Vo(e,t.inputSource.handedness,{});return i===!1?null:J.jsx(Ur,{space:()=>t.inputSource.hand.get("wrist"),children:J.jsx(bs.Provider,{value:t,children:J.jsx(V.Suspense,{children:typeof i=="function"?J.jsx(i,{}):J.jsx(C6,{...i})})})},Rl(t))})})}function D6(){const n=ai(t=>t.transientPointerStates),e=ai(t=>t.transientPointer);return e===!1?null:J.jsx(J.Fragment,{children:n.map(t=>{const i=Vo(e,t.inputSource.handedness,{});return i===!1?null:J.jsx(Ur,{space:()=>t.inputSource.targetRaySpace,children:J.jsx(bs.Provider,{value:t,children:J.jsx(V.Suspense,{children:typeof i=="function"?J.jsx(i,{}):J.jsx(R6,{...i})})})},Rl(t))})})}function O6(){const n=ai(t=>t.gazeStates),e=ai(t=>t.gaze);return e===!1?null:J.jsx(J.Fragment,{children:n.map(t=>J.jsx(Ur,{space:()=>t.inputSource.targetRaySpace,children:J.jsx(bs.Provider,{value:t,children:J.jsx(V.Suspense,{children:typeof e=="function"?J.jsx(e,{}):J.jsx(b6,{...QL(e)})})})},Rl(t)))})}function F6(){const n=ai(t=>t.screenInputStates),e=ai(t=>t.screenInput);return e===!1?null:J.jsx(J.Fragment,{children:n.map(t=>J.jsx(Ur,{space:()=>t.inputSource.targetRaySpace,children:J.jsx(bs.Provider,{value:t,children:J.jsx(V.Suspense,{children:typeof e=="function"?J.jsx(e,{}):J.jsx(P6,{...QL(e)})})})},Rl(t)))})}function QL(n){if(n!==!0)return n}function N6(){const n=ai(t=>t.detectedMeshes),e=ai(t=>t.detectedMesh);if(e!==!1)return J.jsx(J.Fragment,{children:n.map(t=>{const i=bL(e,t.semanticLabel,!1);return i===!1?null:J.jsx(Ur,{space:t.meshSpace,children:J.jsx(HL.Provider,{value:t,children:J.jsx(V.Suspense,{children:J.jsx(i,{})})})},Rl(t))})})}function U6(){const n=ai(t=>t.detectedPlanes),e=ai(t=>t.detectedPlane);if(e!=null)return J.jsx(J.Fragment,{children:n.map(t=>{const i=bL(e,t.semanticLabel,!1);return i===!1?null:J.jsx(Ur,{space:t.planeSpace,children:J.jsx(GL.Provider,{value:t,children:J.jsx(V.Suspense,{children:J.jsx(i,{})})})},Rl(t))})})}function k6(n){return v8(n)}function z6({children:n,store:e}){e.setWebXRManager(ni(i=>i.gl.xr));const t=Zf();return V.useEffect(()=>{let i;return e.subscribe((r,s)=>{const o=r.mode!=null,a=s.mode!=null;if(o!==a){if(o){const{camera:l,gl:u}=t.getState();i=l,t.setState({camera:u.xr.getCamera()});return}i!=null&&t.setState({camera:i})}})},[t,e]),Vn((i,r,s)=>e.onBeforeFrame(i.scene,i.camera,s),-1e3),J.jsxs(zL.Provider,{value:e,children:[J.jsx(I6,{}),n]})}function ZL(){const n=V.useContext(zL);if(n==null)throw new Error("XR features can only be used inside the component");return n}function ai(n=e=>e){return ML(ZL(),n)}V.forwardRef(({id:n,children:e,onPress:t,onRelease:i},r)=>{const s=cM(),[o,a]=V.useState(void 0);if(V.useImperativeHandle(r,()=>o,[o]),H6(n,l=>l==="pressed"?t==null?void 0:t():i==null?void 0:i()),Vn(()=>{var l;return a((l=s.gamepad[n])==null?void 0:l.object)}),o!=null)return ZS(e,o)});function H6(n,e,t){const i=cM(),r=V.useRef();Vn(()=>{var o;const s=(o=i==null?void 0:i.gamepad[n])==null?void 0:o.state;s!=null&&s!=r.current&&e(s),r.current=s})}function cM(n){const e=V.useContext(bs);if(e==null||e.type!="controller")throw new Error('useXRControllerState() can only be used inside a or using useXRControllerState("left")');return e}const G6=Symbol("loadXRControllerModel"),V6=V.forwardRef((n,e)=>{const t=cM(),i=YS(E8,[t.layout,void 0,G6]);w8(i,n),t.object=i,V.useImperativeHandle(e,()=>i,[i]);const r=V.useMemo(()=>T8(i,t.layout,t.gamepad),[i,t.layout,t.gamepad]);return Vn(r),J.jsx("primitive",{object:i})});V.forwardRef((n,e)=>{const t=W6(),i=X6(t);return J.jsx("mesh",{ref:e,geometry:i,...n})});function W6(){const n=V.useContext(HL);if(n==null)throw new Error("useXRMesh can only be used inside XRMesh or ForEachXRMesh");return n}function X6(n,e=!0){const[t,i]=V.useState(hR(n,void 0));return Vn(()=>i(r=>hR(n,r))),V.useEffect(()=>{if(e)return()=>t.dispose()},[t]),t}V.forwardRef((n,e)=>{const t=j6(),i=J6(t);return J.jsx("mesh",{ref:e,geometry:i,...n})});function j6(){const n=V.useContext(GL);if(n==null)throw new Error("useXRPlane can only be used inside XRPlane or ForEachXRPlane");return n}function J6(n,e=!0){const[t,i]=V.useState(fR(n,void 0));return Vn(()=>i(r=>fR(n,r))),V.useEffect(()=>{if(e)return()=>t.dispose()},[t]),t}const K6=V.forwardRef(({children:n,...e},t)=>{const i=ni(o=>o.gl.xr.getCamera()),r=ni(o=>o.gl.xr),s=V.useCallback(()=>r.getReferenceSpace(),[r]);return J.jsxs("group",{ref:t,...e,children:[J.jsx("primitive",{object:i}),J.jsx(y0.Provider,{value:s,children:n})]})}),qL=V.forwardRef(({store:n,mode:e,onError:t,options:i,children:r,...s},o)=>{const a=ML(n,u=>u.session),l=g6(e,t);return J.jsx("button",{ref:o,...s,onClick:()=>a!=null?a.end():n.enterXR(e,i).catch(t),children:typeof r=="function"?r(l?a!=null?"entered":"exited":"unsupported"):r})});V.forwardRef((n,e)=>J.jsx(qL,{ref:e,mode:"immersive-ar",...n}));V.forwardRef((n,e)=>J.jsx(qL,{ref:e,mode:"immersive-vr",...n}));const Y6={onBlur:"pointerleave",onHover:"pointerenter",onMove:"pointermove",onSelect:{type:"click",filter:n=>n.pointerType==="ray"},onSelectEnd:{type:"pointerup",filter:n=>n.pointerType==="ray"},onSelectStart:{type:"pointerdown",filter:n=>n.pointerType==="ray"},onSqueeze:{type:"click",filter:n=>n.pointerType==="grab"},onSqueezeEnd:{type:"pointerup",filter:n=>n.pointerType==="grab"},onSqueezeStart:{type:"pointerdown",filter:n=>n.pointerType==="grab"}};function Vs(n,e,t){const i=V.useRef(t);i.current=t,V.useEffect(()=>{const{current:r}=n;if(r==null)return;const s=Y6[e],o=typeof s=="string"?l=>{var u;return(u=i.current)==null?void 0:u.call(i,{intersection:l,intersections:[l],target:l.pointerState})}:l=>{var u;l instanceof ir&&!s.filter(l)||(u=i.current)==null||u.call(i,{intersection:l,intersections:[l],target:l.pointerState})},a=typeof s=="string"?s:s.type;return r.addEventListener(a,o),()=>r.removeEventListener(a,o)},[n,e])}const Q6=V.forwardRef(({onHover:n,onBlur:e,onSelectStart:t,onSelectEnd:i,onSelect:r,onSqueezeStart:s,onSqueezeEnd:o,onSqueeze:a,onMove:l,children:u},f)=>{const d=V.useRef(null);return V.useImperativeHandle(f,()=>d.current),Vs(d,"onHover",n),Vs(d,"onBlur",e),Vs(d,"onSelectStart",t),Vs(d,"onSelectEnd",i),Vs(d,"onSelect",r),Vs(d,"onSqueezeStart",s),Vs(d,"onSqueezeEnd",o),Vs(d,"onSqueeze",a),Vs(d,"onMove",l),J.jsx("group",{ref:d,children:u})});V.forwardRef(function({onSelectStart:e,onSelectEnd:t,children:i,...r},s){const o=V.useRef(),a=V.useRef(null),l=V.useMemo(()=>new Ne,[]);return V.useImperativeHandle(s,()=>a.current),Vn(()=>{const u=o.current,f=a.current;!f||!u||(f.applyMatrix4(l),f.applyMatrix4(u.matrixWorld),f.updateMatrixWorld(),l.copy(u.matrixWorld).invert())}),J.jsx(Q6,{ref:a,onSelectStart:u=>{t8(u.target)&&(u.target.type==="controller"||u.target.type==="hand")&&u.target.object!=null&&(o.current=u.target.object,l.copy(u.target.object.matrixWorld).invert(),e==null||e(u))},onSelectEnd:u=>{u.target.controller===o.current&&(o.current=void 0),t==null||t(u)},...r,children:i})});function Z6(){const n=V.useRef();return Vn((e,t)=>{RV.dampE(n.current.rotation,[e.pointer.y*Math.PI/50,e.pointer.x*Math.PI/20,0],.2,t)}),J.jsx("group",{ref:n,children:J.jsx("directionalLight",{position:[5,5,-8],castShadow:!0,intensity:5,"shadow-mapSize":2048,"shadow-bias":-.001,children:J.jsx("orthographicCamera",{attach:"shadow-camera",args:[-8.5,8.5,8.5,-8.5,.1,20]})})})}const mR=k6();function q6(){return J.jsxs(J.Fragment,{children:[J.jsx("button",{onClick:()=>mR.enterVR(),children:"Enter VR"}),J.jsx(q4,{shadows:!0,camera:{position:[5,2,10],fov:50},children:J.jsxs(z6,{store:mR,children:[J.jsx(L9,{onDecline:()=>set(!0)}),J.jsx(R9,{}),J.jsx(T9,{makeDefault:!0}),J.jsx("color",{attach:"background",args:["#d0d0d0"]}),J.jsx("fog",{attach:"fog",args:["#d0d0d0",8,35]}),J.jsx("ambientLight",{intensity:.4}),J.jsx(Z6,{}),J.jsx(o5,{scale:.5,position:[0,-1,0]}),J.jsx(Ey,{}),J.jsx(Ey,{position:[2,4,-8],scale:.9}),J.jsx(Ey,{position:[-2,2,-8],scale:.8}),J.jsx(I9,{inclination:.52,scale:20}),J.jsx(K6,{scale:2,position:[-3.5,-1.85,3.5]})]})})]})}function Ey({color:n="hotpink",floatIntensity:e=15,position:t=[0,5,-8],scale:i=1}){return J.jsx(b9,{floatIntensity:e,children:J.jsxs("mesh",{castShadow:!0,position:t,scale:i,children:[J.jsx("sphereGeometry",{}),J.jsx("meshBasicMaterial",{color:n,roughness:1})]})})}RP(document.getElementById("root")).render(J.jsx(V.StrictMode,{children:J.jsx(q6,{})})); diff --git a/examples/room-with-shadows/index.html b/examples/room-with-shadows/index.html new file mode 100644 index 00000000..981bebe4 --- /dev/null +++ b/examples/room-with-shadows/index.html @@ -0,0 +1,12 @@ + + + + + + Document + + + +
+ + \ No newline at end of file diff --git a/examples/room-with-shadows/room-transformed.glb b/examples/room-with-shadows/room-transformed.glb new file mode 100644 index 00000000..3f25af0d Binary files /dev/null and b/examples/room-with-shadows/room-transformed.glb differ diff --git a/examples/stage/assets/index-p8v5GXA-.js b/examples/stage/assets/index-p8v5GXA-.js new file mode 100644 index 00000000..de869a88 --- /dev/null +++ b/examples/stage/assets/index-p8v5GXA-.js @@ -0,0 +1,4155 @@ +var IL=Object.defineProperty;var PL=(n,e,t)=>e in n?IL(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Nt=(n,e,t)=>(PL(n,typeof e!="symbol"?e+"":e,t),t);(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 tg(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var nC={exports:{}},ng={},iC={exports:{}},Vt={};/** + * @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 gf=Symbol.for("react.element"),BL=Symbol.for("react.portal"),LL=Symbol.for("react.fragment"),DL=Symbol.for("react.strict_mode"),FL=Symbol.for("react.profiler"),NL=Symbol.for("react.provider"),OL=Symbol.for("react.context"),UL=Symbol.for("react.forward_ref"),kL=Symbol.for("react.suspense"),HL=Symbol.for("react.memo"),zL=Symbol.for("react.lazy"),p1=Symbol.iterator;function GL(n){return n===null||typeof n!="object"?null:(n=p1&&n[p1]||n["@@iterator"],typeof n=="function"?n:null)}var rC={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},sC=Object.assign,oC={};function uc(n,e,t){this.props=n,this.context=e,this.refs=oC,this.updater=t||rC}uc.prototype.isReactComponent={};uc.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")};uc.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function aC(){}aC.prototype=uc.prototype;function Hx(n,e,t){this.props=n,this.context=e,this.refs=oC,this.updater=t||rC}var zx=Hx.prototype=new aC;zx.constructor=Hx;sC(zx,uc.prototype);zx.isPureReactComponent=!0;var m1=Array.isArray,lC=Object.prototype.hasOwnProperty,Gx={current:null},uC={key:!0,ref:!0,__self:!0,__source:!0};function cC(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)lC.call(e,i)&&!uC.hasOwnProperty(i)&&(r[i]=e[i]);var a=arguments.length-2;if(a===1)r.children=t;else if(1>>1,Me=k[he];if(0>>1;her(Re,J))Ter(Pe,Re)?(k[he]=Pe,k[Te]=J,he=Te):(k[he]=Re,k[ae]=J,he=ae);else if(Ter(Pe,J))k[he]=Pe,k[Te]=J,he=Te;else break e}}return Z}function r(k,Z){var J=k.sortIndex-Z.sortIndex;return J!==0?J:k.id-Z.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=[],f=1,d=null,p=3,m=!1,y=!1,A=!1,_=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,S=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function M(k){for(var Z=t(u);Z!==null;){if(Z.callback===null)i(u);else if(Z.startTime<=k)i(u),Z.sortIndex=Z.expirationTime,e(l,Z);else break;Z=t(u)}}function w(k){if(A=!1,M(k),!y)if(t(l)!==null)y=!0,oe(L);else{var Z=t(u);Z!==null&&Se(w,Z.startTime-k)}}function L(k,Z){y=!1,A&&(A=!1,g(D),D=-1),m=!0;var J=p;try{for(M(Z),d=t(l);d!==null&&(!(d.expirationTime>Z)||k&&!U());){var he=d.callback;if(typeof he=="function"){d.callback=null,p=d.priorityLevel;var Me=he(d.expirationTime<=Z);Z=n.unstable_now(),typeof Me=="function"?d.callback=Me:d===t(l)&&i(l),M(Z)}else i(l);d=t(l)}if(d!==null)var He=!0;else{var ae=t(u);ae!==null&&Se(w,ae.startTime-Z),He=!1}return He}finally{d=null,p=J,m=!1}}var I=!1,P=null,D=-1,b=5,C=-1;function U(){return!(n.unstable_now()-Ck||125he?(k.sortIndex=J,e(u,k),t(l)===null&&k===t(u)&&(A?(g(D),D=-1):A=!0,Se(w,J-he))):(k.sortIndex=Me,e(l,k),y||m||(y=!0,oe(L))),k},n.unstable_shouldYield=U,n.unstable_wrapCallback=function(k){var Z=p;return function(){var J=p;p=Z;try{return k.apply(this,arguments)}finally{p=J}}}})(mC);pC.exports=mC;var e2=pC.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 t2=Q,vr=e2;function De(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"),Yy=Object.prototype.hasOwnProperty,n2=/^[: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]*$/,v1={},y1={};function i2(n){return Yy.call(y1,n)?!0:Yy.call(v1,n)?!1:n2.test(n)?y1[n]=!0:(v1[n]=!0,!1)}function r2(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 s2(n,e,t,i){if(e===null||typeof e>"u"||r2(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 Xi(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 yi={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){yi[n]=new Xi(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];yi[e]=new Xi(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){yi[n]=new Xi(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){yi[n]=new Xi(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){yi[n]=new Xi(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){yi[n]=new Xi(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){yi[n]=new Xi(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){yi[n]=new Xi(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){yi[n]=new Xi(n,5,!1,n.toLowerCase(),null,!1,!1)});var Wx=/[\-:]([a-z])/g;function Xx(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(Wx,Xx);yi[e]=new Xi(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(Wx,Xx);yi[e]=new Xi(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(Wx,Xx);yi[e]=new Xi(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){yi[n]=new Xi(n,1,!1,n.toLowerCase(),null,!1,!1)});yi.xlinkHref=new Xi("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){yi[n]=new Xi(n,1,!1,n.toLowerCase(),null,!0,!0)});function jx(n,e,t,i){var r=yi.hasOwnProperty(e)?yi[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{a0=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?gh(n):""}function o2(n){switch(n.tag){case 5:return gh(n.type);case 16:return gh("Lazy");case 13:return gh("Suspense");case 19:return gh("SuspenseList");case 0:case 2:case 15:return n=l0(n.type,!1),n;case 11:return n=l0(n.type.render,!1),n;case 1:return n=l0(n.type,!0),n;default:return""}}function $y(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 Su:return"Fragment";case Au:return"Portal";case Qy:return"Profiler";case Jx:return"StrictMode";case Zy:return"Suspense";case qy:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case yC:return(n.displayName||"Context")+".Consumer";case vC:return(n._context.displayName||"Context")+".Provider";case Kx:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case Yx:return e=n.displayName||null,e!==null?e:$y(n.type)||"Memo";case Ho:e=n._payload,n=n._init;try{return $y(n(e))}catch{}}return null}function a2(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 $y(e);case 8:return e===Jx?"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 aa(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function xC(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function l2(n){var e=xC(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 Nd(n){n._valueTracker||(n._valueTracker=l2(n))}function AC(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=xC(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function Mm(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 e_(n,e){var t=e.checked;return bn({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function x1(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=aa(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 SC(n,e){e=e.checked,e!=null&&jx(n,"checked",e,!1)}function t_(n,e){SC(n,e);var t=aa(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")?n_(n,e.type,t):e.hasOwnProperty("defaultValue")&&n_(n,e.type,aa(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function A1(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 n_(n,e,t){(e!=="number"||Mm(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var vh=Array.isArray;function Ou(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=Od.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function Uh(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var Mh={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},u2=["Webkit","ms","Moz","O"];Object.keys(Mh).forEach(function(n){u2.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),Mh[e]=Mh[n]})});function TC(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||Mh.hasOwnProperty(n)&&Mh[n]?(""+e).trim():e+"px"}function CC(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=TC(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var c2=bn({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 s_(n,e){if(e){if(c2[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(De(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(De(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(De(61))}if(e.style!=null&&typeof e.style!="object")throw Error(De(62))}}function o_(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 a_=null;function Qx(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var l_=null,Uu=null,ku=null;function E1(n){if(n=_f(n)){if(typeof l_!="function")throw Error(De(280));var e=n.stateNode;e&&(e=ag(e),l_(n.stateNode,n.type,e))}}function RC(n){Uu?ku?ku.push(n):ku=[n]:Uu=n}function bC(){if(Uu){var n=Uu,e=ku;if(ku=Uu=null,E1(n),e)for(n=0;n>>=0,n===0?32:31-(A2(n)/S2|0)|0}var Ud=64,kd=4194304;function yh(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 Cm(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=yh(a):(s&=o,s!==0&&(i=yh(s)))}else o=t&~r,o!==0?i=yh(o):s!==0&&(i=yh(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 vf(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-os(e),n[e]=t}function T2(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=wh),L1=" ",D1=!1;function YC(n,e){switch(n){case"keyup":return eD.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function QC(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var Mu=!1;function nD(n,e){switch(n){case"compositionend":return QC(e);case"keypress":return e.which!==32?null:(D1=!0,L1);case"textInput":return n=e.data,n===L1&&D1?null:n;default:return null}}function iD(n,e){if(Mu)return n==="compositionend"||!rA&&YC(n,e)?(n=JC(),sm=tA=Ko=null,Mu=!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=U1(t)}}function eR(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?eR(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function tR(){for(var n=window,e=Mm();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=Mm(n.document)}return e}function sA(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 fD(n){var e=tR(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&eR(t.ownerDocument.documentElement,t)){if(i!==null&&sA(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=k1(t,s);var o=k1(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,Eu=null,p_=null,Ch=null,m_=!1;function H1(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;m_||Eu==null||Eu!==Mm(i)||(i=Eu,"selectionStart"in i&&sA(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}),Ch&&Wh(Ch,i)||(Ch=i,i=Im(p_,"onSelect"),0Cu||(n.current=A_[Cu],A_[Cu]=null,Cu--)}function pn(n,e){Cu++,A_[Cu]=n.current,n.current=e}var la={},Bi=pa(la),er=pa(!1),dl=la;function Yu(n,e){var t=n.type.contextTypes;if(!t)return la;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 tr(n){return n=n.childContextTypes,n!=null}function Bm(){yn(er),yn(Bi)}function J1(n,e,t){if(Bi.current!==la)throw Error(De(168));pn(Bi,e),pn(er,t)}function cR(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(De(108,a2(n)||"Unknown",r));return bn({},t,i)}function Lm(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||la,dl=Bi.current,pn(Bi,n),pn(er,er.current),!0}function K1(n,e,t){var i=n.stateNode;if(!i)throw Error(De(169));t?(n=cR(n,e,dl),i.__reactInternalMemoizedMergedChildContext=n,yn(er),yn(Bi),pn(Bi,n)):yn(er),pn(er,t)}var qs=null,lg=!1,S0=!1;function hR(n){qs===null?qs=[n]:qs.push(n)}function ED(n){lg=!0,hR(n)}function ma(){if(!S0&&qs!==null){S0=!0;var n=0,e=ln;try{var t=qs;for(ln=1;n>=o,r-=o,to=1<<32-os(e)+r|t<D?(b=P,P=null):b=P.sibling;var C=p(g,P,M[D],w);if(C===null){P===null&&(P=b);break}n&&P&&C.alternate===null&&e(g,P),S=s(C,S,D),I===null?L=C:I.sibling=C,I=C,P=b}if(D===M.length)return t(g,P),Sn&&Va(g,D),L;if(P===null){for(;DD?(b=P,P=null):b=P.sibling;var U=p(g,P,C.value,w);if(U===null){P===null&&(P=b);break}n&&P&&U.alternate===null&&e(g,P),S=s(U,S,D),I===null?L=U:I.sibling=U,I=U,P=b}if(C.done)return t(g,P),Sn&&Va(g,D),L;if(P===null){for(;!C.done;D++,C=M.next())C=d(g,C.value,w),C!==null&&(S=s(C,S,D),I===null?L=C:I.sibling=C,I=C);return Sn&&Va(g,D),L}for(P=i(g,P);!C.done;D++,C=M.next())C=m(P,g,D,C.value,w),C!==null&&(n&&C.alternate!==null&&P.delete(C.key===null?D:C.key),S=s(C,S,D),I===null?L=C:I.sibling=C,I=C);return n&&P.forEach(function(K){return e(g,K)}),Sn&&Va(g,D),L}function _(g,S,M,w){if(typeof M=="object"&&M!==null&&M.type===Su&&M.key===null&&(M=M.props.children),typeof M=="object"&&M!==null){switch(M.$$typeof){case Fd:e:{for(var L=M.key,I=S;I!==null;){if(I.key===L){if(L=M.type,L===Su){if(I.tag===7){t(g,I.sibling),S=r(I,M.props.children),S.return=g,g=S;break e}}else if(I.elementType===L||typeof L=="object"&&L!==null&&L.$$typeof===Ho&&Z1(L)===I.type){t(g,I.sibling),S=r(I,M.props),S.ref=Wc(g,I,M),S.return=g,g=S;break e}t(g,I);break}else e(g,I);I=I.sibling}M.type===Su?(S=al(M.props.children,g.mode,w,M.key),S.return=g,g=S):(w=dm(M.type,M.key,M.props,null,g.mode,w),w.ref=Wc(g,S,M),w.return=g,g=w)}return o(g);case Au:e:{for(I=M.key;S!==null;){if(S.key===I)if(S.tag===4&&S.stateNode.containerInfo===M.containerInfo&&S.stateNode.implementation===M.implementation){t(g,S.sibling),S=r(S,M.children||[]),S.return=g,g=S;break e}else{t(g,S);break}else e(g,S);S=S.sibling}S=I0(M,g.mode,w),S.return=g,g=S}return o(g);case Ho:return I=M._init,_(g,S,I(M._payload),w)}if(vh(M))return y(g,S,M,w);if(kc(M))return A(g,S,M,w);jd(g,M)}return typeof M=="string"&&M!==""||typeof M=="number"?(M=""+M,S!==null&&S.tag===6?(t(g,S.sibling),S=r(S,M),S.return=g,g=S):(t(g,S),S=b0(M,g.mode,w),S.return=g,g=S),o(g)):t(g,S)}return _}var Zu=mR(!0),gR=mR(!1),Nm=pa(null),Om=null,Iu=null,uA=null;function cA(){uA=Iu=Om=null}function hA(n){var e=Nm.current;yn(Nm),n._currentValue=e}function E_(n,e,t){for(;n!==null;){var i=n.alternate;if((n.childLanes&e)!==e?(n.childLanes|=e,i!==null&&(i.childLanes|=e)):i!==null&&(i.childLanes&e)!==e&&(i.childLanes|=e),n===t)break;n=n.return}}function zu(n,e){Om=n,uA=Iu=null,n=n.dependencies,n!==null&&n.firstContext!==null&&(n.lanes&e&&(qi=!0),n.firstContext=null)}function Wr(n){var e=n._currentValue;if(uA!==n)if(n={context:n,memoizedValue:e,next:null},Iu===null){if(Om===null)throw Error(De(308));Iu=n,Om.dependencies={lanes:0,firstContext:n}}else Iu=Iu.next=n;return e}var Za=null;function fA(n){Za===null?Za=[n]:Za.push(n)}function vR(n,e,t,i){var r=e.interleaved;return r===null?(t.next=t,fA(e)):(t.next=r.next,r.next=t),e.interleaved=t,uo(n,i)}function uo(n,e){n.lanes|=e;var t=n.alternate;for(t!==null&&(t.lanes|=e),t=n,n=n.return;n!==null;)n.childLanes|=e,t=n.alternate,t!==null&&(t.childLanes|=e),t=n,n=n.return;return t.tag===3?t.stateNode:null}var zo=!1;function dA(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function yR(n,e){n=n.updateQueue,e.updateQueue===n&&(e.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,effects:n.effects})}function ro(n,e){return{eventTime:n,lane:e,tag:0,payload:null,callback:null,next:null}}function na(n,e,t){var i=n.updateQueue;if(i===null)return null;if(i=i.shared,Yt&2){var r=i.pending;return r===null?e.next=e:(e.next=r.next,r.next=e),i.pending=e,uo(n,t)}return r=i.interleaved,r===null?(e.next=e,fA(i)):(e.next=r.next,r.next=e),i.interleaved=e,uo(n,t)}function am(n,e,t){if(e=e.updateQueue,e!==null&&(e=e.shared,(t&4194240)!==0)){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,qx(n,t)}}function q1(n,e){var t=n.updateQueue,i=n.alternate;if(i!==null&&(i=i.updateQueue,t===i)){var r=null,s=null;if(t=t.firstBaseUpdate,t!==null){do{var o={eventTime:t.eventTime,lane:t.lane,tag:t.tag,payload:t.payload,callback:t.callback,next:null};s===null?r=s=o:s=s.next=o,t=t.next}while(t!==null);s===null?r=s=e:s=s.next=e}else r=s=e;t={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:s,shared:i.shared,effects:i.effects},n.updateQueue=t;return}n=t.lastBaseUpdate,n===null?t.firstBaseUpdate=e:n.next=e,t.lastBaseUpdate=e}function Um(n,e,t,i){var r=n.updateQueue;zo=!1;var s=r.firstBaseUpdate,o=r.lastBaseUpdate,a=r.shared.pending;if(a!==null){r.shared.pending=null;var l=a,u=l.next;l.next=null,o===null?s=u:o.next=u,o=l;var f=n.alternate;f!==null&&(f=f.updateQueue,a=f.lastBaseUpdate,a!==o&&(a===null?f.firstBaseUpdate=u:a.next=u,f.lastBaseUpdate=l))}if(s!==null){var d=r.baseState;o=0,f=u=l=null,a=s;do{var p=a.lane,m=a.eventTime;if((i&p)===p){f!==null&&(f=f.next={eventTime:m,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var y=n,A=a;switch(p=e,m=t,A.tag){case 1:if(y=A.payload,typeof y=="function"){d=y.call(m,d,p);break e}d=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=A.payload,p=typeof y=="function"?y.call(m,d,p):y,p==null)break e;d=bn({},d,p);break e;case 2:zo=!0}}a.callback!==null&&a.lane!==0&&(n.flags|=64,p=r.effects,p===null?r.effects=[a]:p.push(a))}else m={eventTime:m,lane:p,tag:a.tag,payload:a.payload,callback:a.callback,next:null},f===null?(u=f=m,l=d):f=f.next=m,o|=p;if(a=a.next,a===null){if(a=r.shared.pending,a===null)break;p=a,a=p.next,p.next=null,r.lastBaseUpdate=p,r.shared.pending=null}}while(!0);if(f===null&&(l=d),r.baseState=l,r.firstBaseUpdate=u,r.lastBaseUpdate=f,e=r.shared.interleaved,e!==null){r=e;do o|=r.lane,r=r.next;while(r!==e)}else s===null&&(r.shared.lanes=0);gl|=o,n.lanes=o,n.memoizedState=d}}function $1(n,e,t){if(n=e.effects,e.effects=null,n!==null)for(e=0;et?t:4,n(!0);var i=E0.transition;E0.transition={};try{n(!1),e()}finally{ln=t,E0.transition=i}}function FR(){return Xr().memoizedState}function RD(n,e,t){var i=ra(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},NR(n))OR(e,t);else if(t=vR(n,e,t,i),t!==null){var r=zi();as(t,n,i,r),UR(t,e,i)}}function bD(n,e,t){var i=ra(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(NR(n))OR(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,ls(a,o)){var l=e.interleaved;l===null?(r.next=r,fA(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}t=vR(n,e,r,i),t!==null&&(r=zi(),as(t,n,i,r),UR(t,e,i))}}function NR(n){var e=n.alternate;return n===Rn||e!==null&&e===Rn}function OR(n,e){Rh=Hm=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function UR(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,qx(n,t)}}var zm={readContext:Wr,useCallback:Ti,useContext:Ti,useEffect:Ti,useImperativeHandle:Ti,useInsertionEffect:Ti,useLayoutEffect:Ti,useMemo:Ti,useReducer:Ti,useRef:Ti,useState:Ti,useDebugValue:Ti,useDeferredValue:Ti,useTransition:Ti,useMutableSource:Ti,useSyncExternalStore:Ti,useId:Ti,unstable_isNewReconciler:!1},ID={readContext:Wr,useCallback:function(n,e){return Ss().memoizedState=[n,e===void 0?null:e],n},useContext:Wr,useEffect:tE,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,um(4194308,4,IR.bind(null,e,n),t)},useLayoutEffect:function(n,e){return um(4194308,4,n,e)},useInsertionEffect:function(n,e){return um(4,2,n,e)},useMemo:function(n,e){var t=Ss();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=Ss();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=RD.bind(null,Rn,n),[i.memoizedState,n]},useRef:function(n){var e=Ss();return n={current:n},e.memoizedState=n},useState:eE,useDebugValue:AA,useDeferredValue:function(n){return Ss().memoizedState=n},useTransition:function(){var n=eE(!1),e=n[0];return n=CD.bind(null,n[1]),Ss().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=Rn,r=Ss();if(Sn){if(t===void 0)throw Error(De(407));t=t()}else{if(t=e(),ci===null)throw Error(De(349));ml&30||SR(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,tE(ER.bind(null,i,s,n),[n]),i.flags|=2048,qh(9,MR.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=Ss(),e=ci.identifierPrefix;if(Sn){var t=no,i=to;t=(i&~(1<<32-os(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=Qh++,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[Ms]=e,n[Jh]=i,KR(n,e,!1,!1),e.stateNode=n;e:{switch(o=o_(t,i),t){case"dialog":gn("cancel",n),gn("close",n),r=i;break;case"iframe":case"object":case"embed":gn("load",n),r=i;break;case"video":case"audio":for(r=0;r<_h.length;r++)gn(_h[r],n);r=i;break;case"source":gn("error",n),r=i;break;case"img":case"image":case"link":gn("error",n),gn("load",n),r=i;break;case"details":gn("toggle",n),r=i;break;case"input":x1(n,i),r=e_(n,i),gn("invalid",n);break;case"option":r=i;break;case"select":n._wrapperState={wasMultiple:!!i.multiple},r=bn({},i,{value:void 0}),gn("invalid",n);break;case"textarea":S1(n,i),r=i_(n,i),gn("invalid",n);break;default:r=i}s_(t,r),a=r;for(s in a)if(a.hasOwnProperty(s)){var l=a[s];s==="style"?CC(n,l):s==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,l!=null&&wC(n,l)):s==="children"?typeof l=="string"?(t!=="textarea"||l!=="")&&Uh(n,l):typeof l=="number"&&Uh(n,""+l):s!=="suppressContentEditableWarning"&&s!=="suppressHydrationWarning"&&s!=="autoFocus"&&(Oh.hasOwnProperty(s)?l!=null&&s==="onScroll"&&gn("scroll",n):l!=null&&jx(n,s,l,o))}switch(t){case"input":Nd(n),A1(n,i,!1);break;case"textarea":Nd(n),M1(n);break;case"option":i.value!=null&&n.setAttribute("value",""+aa(i.value));break;case"select":n.multiple=!!i.multiple,s=i.value,s!=null?Ou(n,!!i.multiple,s,!1):i.defaultValue!=null&&Ou(n,!!i.multiple,i.defaultValue,!0);break;default:typeof r.onClick=="function"&&(n.onclick=Pm)}switch(t){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}}i&&(e.flags|=4)}e.ref!==null&&(e.flags|=512,e.flags|=2097152)}return Ci(e),null;case 6:if(n&&e.stateNode!=null)QR(n,e,n.memoizedProps,i);else{if(typeof i!="string"&&e.stateNode===null)throw Error(De(166));if(t=qa(Yh.current),qa(Ts.current),Xd(e)){if(i=e.stateNode,t=e.memoizedProps,i[Ms]=e,(s=i.nodeValue!==t)&&(n=pr,n!==null))switch(n.tag){case 3:Wd(i.nodeValue,t,(n.mode&1)!==0);break;case 5:n.memoizedProps.suppressHydrationWarning!==!0&&Wd(i.nodeValue,t,(n.mode&1)!==0)}s&&(e.flags|=4)}else i=(t.nodeType===9?t:t.ownerDocument).createTextNode(i),i[Ms]=e,e.stateNode=i}return Ci(e),null;case 13:if(yn(Tn),i=e.memoizedState,n===null||n.memoizedState!==null&&n.memoizedState.dehydrated!==null){if(Sn&&dr!==null&&e.mode&1&&!(e.flags&128))pR(),Qu(),e.flags|=98560,s=!1;else if(s=Xd(e),i!==null&&i.dehydrated!==null){if(n===null){if(!s)throw Error(De(318));if(s=e.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(De(317));s[Ms]=e}else Qu(),!(e.flags&128)&&(e.memoizedState=null),e.flags|=4;Ci(e),s=!1}else rs!==null&&(H_(rs),rs=null),s=!0;if(!s)return e.flags&65536?e:null}return e.flags&128?(e.lanes=t,e):(i=i!==null,i!==(n!==null&&n.memoizedState!==null)&&i&&(e.child.flags|=8192,e.mode&1&&(n===null||Tn.current&1?$n===0&&($n=3):RA())),e.updateQueue!==null&&(e.flags|=4),Ci(e),null);case 4:return qu(),B_(n,e),n===null&&Xh(e.stateNode.containerInfo),Ci(e),null;case 10:return hA(e.type._context),Ci(e),null;case 17:return tr(e.type)&&Bm(),Ci(e),null;case 19:if(yn(Tn),s=e.memoizedState,s===null)return Ci(e),null;if(i=(e.flags&128)!==0,o=s.rendering,o===null)if(i)Xc(s,!1);else{if($n!==0||n!==null&&n.flags&128)for(n=e.child;n!==null;){if(o=km(n),o!==null){for(e.flags|=128,Xc(s,!1),i=o.updateQueue,i!==null&&(e.updateQueue=i,e.flags|=4),e.subtreeFlags=0,i=t,t=e.child;t!==null;)s=t,n=i,s.flags&=14680066,o=s.alternate,o===null?(s.childLanes=0,s.lanes=n,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=o.childLanes,s.lanes=o.lanes,s.child=o.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=o.memoizedProps,s.memoizedState=o.memoizedState,s.updateQueue=o.updateQueue,s.type=o.type,n=o.dependencies,s.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),t=t.sibling;return pn(Tn,Tn.current&1|2),e.child}n=n.sibling}s.tail!==null&&Hn()>ec&&(e.flags|=128,i=!0,Xc(s,!1),e.lanes=4194304)}else{if(!i)if(n=km(o),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),Xc(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!Sn)return Ci(e),null}else 2*Hn()-s.renderingStartTime>ec&&t!==1073741824&&(e.flags|=128,i=!0,Xc(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=Hn(),e.sibling=null,t=Tn.current,pn(Tn,i?t&1|2:t&1),e):(Ci(e),null);case 22:case 23:return CA(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?cr&1073741824&&(Ci(e),e.subtreeFlags&6&&(e.flags|=8192)):Ci(e),null;case 24:return null;case 25:return null}throw Error(De(156,e.tag))}function UD(n,e){switch(aA(e),e.tag){case 1:return tr(e.type)&&Bm(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return qu(),yn(er),yn(Bi),gA(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return mA(e),null;case 13:if(yn(Tn),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(De(340));Qu()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return yn(Tn),null;case 4:return qu(),null;case 10:return hA(e.type._context),null;case 22:case 23:return CA(),null;case 24:return null;default:return null}}var Kd=!1,Pi=!1,kD=typeof WeakSet=="function"?WeakSet:Set,tt=null;function Pu(n,e){var t=n.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){Bn(n,e,i)}else t.current=null}function L_(n,e,t){try{t()}catch(i){Bn(n,e,i)}}var fE=!1;function HD(n,e){if(g_=Rm,n=tR(),sA(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,f=0,d=n,p=null;t:for(;;){for(var m;d!==t||r!==0&&d.nodeType!==3||(a=o+r),d!==s||i!==0&&d.nodeType!==3||(l=o+i),d.nodeType===3&&(o+=d.nodeValue.length),(m=d.firstChild)!==null;)p=d,d=m;for(;;){if(d===n)break t;if(p===t&&++u===r&&(a=o),p===s&&++f===i&&(l=o),(m=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=m}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(v_={focusedElem:n,selectionRange:t},Rm=!1,tt=e;tt!==null;)if(e=tt,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,tt=n;else for(;tt!==null;){e=tt;try{var y=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var A=y.memoizedProps,_=y.memoizedState,g=e.stateNode,S=g.getSnapshotBeforeUpdate(e.elementType===e.type?A:ts(e.type,A),_);g.__reactInternalSnapshotBeforeUpdate=S}break;case 3:var M=e.stateNode.containerInfo;M.nodeType===1?M.textContent="":M.nodeType===9&&M.documentElement&&M.removeChild(M.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(De(163))}}catch(w){Bn(e,e.return,w)}if(n=e.sibling,n!==null){n.return=e.return,tt=n;break}tt=e.return}return y=fE,fE=!1,y}function bh(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&&L_(e,t,s)}r=r.next}while(r!==i)}}function hg(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 D_(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 ZR(n){var e=n.alternate;e!==null&&(n.alternate=null,ZR(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[Ms],delete e[Jh],delete e[x_],delete e[SD],delete e[MD])),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 qR(n){return n.tag===5||n.tag===3||n.tag===4}function dE(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||qR(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 F_(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=Pm));else if(i!==4&&(n=n.child,n!==null))for(F_(n,e,t),n=n.sibling;n!==null;)F_(n,e,t),n=n.sibling}function N_(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(N_(n,e,t),n=n.sibling;n!==null;)N_(n,e,t),n=n.sibling}var pi=null,is=!1;function Ro(n,e,t){for(t=t.child;t!==null;)$R(n,e,t),t=t.sibling}function $R(n,e,t){if(ws&&typeof ws.onCommitFiberUnmount=="function")try{ws.onCommitFiberUnmount(ig,t)}catch{}switch(t.tag){case 5:Pi||Pu(t,e);case 6:var i=pi,r=is;pi=null,Ro(n,e,t),pi=i,is=r,pi!==null&&(is?(n=pi,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):pi.removeChild(t.stateNode));break;case 18:pi!==null&&(is?(n=pi,t=t.stateNode,n.nodeType===8?A0(n.parentNode,t):n.nodeType===1&&A0(n,t),Gh(n)):A0(pi,t.stateNode));break;case 4:i=pi,r=is,pi=t.stateNode.containerInfo,is=!0,Ro(n,e,t),pi=i,is=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)&&L_(t,e,o),r=r.next}while(r!==i)}Ro(n,e,t);break;case 1:if(!Pi&&(Pu(t,e),i=t.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=t.memoizedProps,i.state=t.memoizedState,i.componentWillUnmount()}catch(a){Bn(t,e,a)}Ro(n,e,t);break;case 21:Ro(n,e,t);break;case 22:t.mode&1?(Pi=(i=Pi)||t.memoizedState!==null,Ro(n,e,t),Pi=i):Ro(n,e,t);break;default:Ro(n,e,t)}}function pE(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new kD),e.forEach(function(i){var r=YD.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=Hn()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*GD(i/1960))-i,10n?16:n,Yo===null)var i=!1;else{if(n=Yo,Yo=null,Wm=0,Yt&6)throw Error(De(331));var r=Yt;for(Yt|=4,tt=n.current;tt!==null;){var s=tt,o=s.child;if(tt.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lHn()-wA?ol(n,0):EA|=t),nr(n,e)}function ab(n,e){e===0&&(n.mode&1?(e=kd,kd<<=1,!(kd&130023424)&&(kd=4194304)):e=1);var t=zi();n=uo(n,e),n!==null&&(vf(n,e,t),nr(n,t))}function KD(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),ab(n,t)}function YD(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(De(314))}i!==null&&i.delete(e),ab(n,t)}var lb;lb=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||er.current)qi=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return qi=!1,ND(n,e,t);qi=!!(n.flags&131072)}else qi=!1,Sn&&e.flags&1048576&&fR(e,Fm,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;cm(n,e),n=e.pendingProps;var r=Yu(e,Bi.current);zu(e,t),r=yA(null,e,i,n,r,t);var s=_A();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,tr(i)?(s=!0,Lm(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,dA(e),r.updater=cg,e.stateNode=r,r._reactInternals=e,T_(e,i,n,t),e=b_(null,e,i,!0,s,t)):(e.tag=0,Sn&&s&&oA(e),ki(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(cm(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=ZD(i),n=ts(i,n),r){case 0:e=R_(null,e,i,n,t);break e;case 1:e=uE(null,e,i,n,t);break e;case 11:e=aE(null,e,i,n,t);break e;case 14:e=lE(null,e,i,ts(i.type,n),t);break e}throw Error(De(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:ts(i,r),R_(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:ts(i,r),uE(n,e,i,r,t);case 3:e:{if(XR(e),n===null)throw Error(De(387));i=e.pendingProps,s=e.memoizedState,r=s.element,yR(n,e),Um(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=$u(Error(De(423)),e),e=cE(n,e,i,t,r);break e}else if(i!==r){r=$u(Error(De(424)),e),e=cE(n,e,i,t,r);break e}else for(dr=ta(e.stateNode.containerInfo.firstChild),pr=e,Sn=!0,rs=null,t=gR(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(Qu(),i===r){e=co(n,e,t);break e}ki(n,e,i,t)}e=e.child}return e;case 5:return _R(e),n===null&&M_(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,y_(i,r)?o=null:s!==null&&y_(i,s)&&(e.flags|=32),WR(n,e),ki(n,e,o,t),e.child;case 6:return n===null&&M_(e),null;case 13:return jR(n,e,t);case 4:return pA(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=Zu(e,null,i,t):ki(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:ts(i,r),aE(n,e,i,r,t);case 7:return ki(n,e,e.pendingProps,t),e.child;case 8:return ki(n,e,e.pendingProps.children,t),e.child;case 12:return ki(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,pn(Nm,i._currentValue),i._currentValue=o,s!==null)if(ls(s.value,o)){if(s.children===r.children&&!er.current){e=co(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=ro(-1,t&-t),l.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var f=u.pending;f===null?l.next=l:(l.next=f.next,f.next=l),u.pending=l}}s.lanes|=t,l=s.alternate,l!==null&&(l.lanes|=t),E_(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(De(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),E_(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}ki(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,zu(e,t),r=Wr(r),i=i(r),e.flags|=1,ki(n,e,i,t),e.child;case 14:return i=e.type,r=ts(i,e.pendingProps),r=ts(i.type,r),lE(n,e,i,r,t);case 15:return GR(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:ts(i,r),cm(n,e),e.tag=1,tr(i)?(n=!0,Lm(e)):n=!1,zu(e,t),kR(e,i,r),T_(e,i,r,t),b_(null,e,i,!0,n,t);case 19:return JR(n,e,t);case 22:return VR(n,e,t)}throw Error(De(156,e.tag))};function ub(n,e){return NC(n,e)}function QD(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 Hr(n,e,t,i){return new QD(n,e,t,i)}function bA(n){return n=n.prototype,!(!n||!n.isReactComponent)}function ZD(n){if(typeof n=="function")return bA(n)?1:0;if(n!=null){if(n=n.$$typeof,n===Kx)return 11;if(n===Yx)return 14}return 2}function sa(n,e){var t=n.alternate;return t===null?(t=Hr(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 dm(n,e,t,i,r,s){var o=2;if(i=n,typeof n=="function")bA(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case Su:return al(t.children,r,s,e);case Jx:o=8,r|=8;break;case Qy:return n=Hr(12,t,e,r|2),n.elementType=Qy,n.lanes=s,n;case Zy:return n=Hr(13,t,e,r),n.elementType=Zy,n.lanes=s,n;case qy:return n=Hr(19,t,e,r),n.elementType=qy,n.lanes=s,n;case _C:return dg(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case vC:o=10;break e;case yC:o=9;break e;case Kx:o=11;break e;case Yx:o=14;break e;case Ho:o=16,i=null;break e}throw Error(De(130,n==null?n:typeof n,""))}return e=Hr(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function al(n,e,t,i){return n=Hr(7,n,i,e),n.lanes=t,n}function dg(n,e,t,i){return n=Hr(22,n,i,e),n.elementType=_C,n.lanes=t,n.stateNode={isHidden:!1},n}function b0(n,e,t){return n=Hr(6,n,null,e),n.lanes=t,n}function I0(n,e,t){return e=Hr(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function qD(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=c0(0),this.expirationTimes=c0(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=c0(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function IA(n,e,t,i,r,s,o,a,l){return n=new qD(n,e,t,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=Hr(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},dA(s),n}function $D(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(db)}catch(n){console.error(n)}}db(),dC.exports=xr;var rF=dC.exports,pb,SE=rF;pb=SE.createRoot,SE.hydrateRoot;/** + * @license + * Copyright 2010-2024 Three.js Authors + * SPDX-License-Identifier: MIT + */const wl="164",Xa={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},ja={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},mb=0,z_=1,gb=2,sF=3,vb=0,yg=1,Bh=2,ns=3,us=0,Gi=1,hr=2,Cs=0,ll=1,G_=2,V_=3,W_=4,yb=5,jo=100,_b=101,xb=102,Ab=103,Sb=104,Mb=200,Eb=201,wb=202,Tb=203,Jm=204,Km=205,Cb=206,Rb=207,bb=208,Ib=209,Pb=210,Bb=211,Lb=212,Db=213,Fb=214,Nb=0,Ob=1,Ub=2,ef=3,kb=4,Hb=5,zb=6,Gb=7,Af=0,Vb=1,Wb=2,Rs=0,Xb=1,jb=2,Jb=3,DA=4,Kb=5,Yb=6,Qb=7,X_="attached",Zb="detached",ua=300,Is=301,ca=302,tc=303,tf=304,fc=306,cs=1e3,Dn=1001,yl=1002,Yn=1003,Sf=1004,oF=1004,Qo=1005,aF=1005,jt=1006,ul=1007,lF=1007,$i=1008,j_=1008,yr=1009,FA=1010,NA=1011,OA=1012,_g=1013,ha=1014,zn=1015,gi=1016,UA=1017,kA=1018,dc=1020,qb=35902,$b=1021,eI=1022,ei=1023,tI=1024,nI=1025,cl=1026,nc=1027,xg=1028,HA=1029,iI=1030,zA=1031,GA=1033,pm=33776,mm=33777,gm=33778,vm=33779,J_=35840,K_=35841,Y_=35842,Q_=35843,Z_=36196,q_=37492,$_=37496,ex=37808,tx=37809,nx=37810,ix=37811,rx=37812,sx=37813,ox=37814,ax=37815,lx=37816,ux=37817,cx=37818,hx=37819,fx=37820,dx=37821,ym=36492,px=36494,mx=36495,rI=36283,gx=36284,vx=36285,yx=36286,sI=2200,oI=2201,aI=2202,_l=2300,ho=2301,_m=2302,$a=2400,el=2401,nf=2402,Ag=2500,VA=2501,WA=0,Mf=1,xl=2,lI=3200,uI=3201,ga=0,cI=1,$s="",ui="srgb",Wn="srgb-linear",Sg="display-p3",Ef="display-p3-linear",rf="linear",fn="srgb",sf="rec709",of="p3",uF=0,Ja=7680,cF=7681,hF=7682,fF=7683,dF=34055,pF=34056,mF=5386,gF=512,vF=513,yF=514,_F=515,xF=516,AF=517,SF=518,_x=519,hI=512,fI=513,dI=514,XA=515,pI=516,mI=517,gI=518,vI=519,af=35044,MF=35048,EF=35040,wF=35045,TF=35049,CF=35041,RF=35046,bF=35050,IF=35042,PF="100",xx="300 es",Es=2e3,lf=2001;class Ls{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]+Ri[n>>16&255]+Ri[n>>24&255]+"-"+Ri[e&255]+Ri[e>>8&255]+"-"+Ri[e>>16&15|64]+Ri[e>>24&255]+"-"+Ri[t&63|128]+Ri[t>>8&255]+"-"+Ri[t>>16&255]+Ri[t>>24&255]+Ri[i&255]+Ri[i>>8&255]+Ri[i>>16&255]+Ri[i>>24&255]).toLowerCase()}function Ln(n,e,t){return Math.max(e,Math.min(t,n))}function jA(n,e){return(n%e+e)%e}function BF(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function LF(n,e,t){return n!==e?(t-n)/(e-n):0}function Lh(n,e,t){return(1-t)*n+t*e}function DF(n,e,t,i){return Lh(n,e,1-Math.exp(-t*i))}function FF(n,e=1){return e-Math.abs(jA(n,e*2)-e)}function NF(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function OF(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function UF(n,e){return n+Math.floor(Math.random()*(e-n+1))}function kF(n,e){return n+Math.random()*(e-n)}function HF(n){return n*(.5-Math.random())}function zF(n){n!==void 0&&(ME=n);let e=ME+=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 GF(n){return n*hl}function VF(n){return n*ic}function WF(n){return(n&n-1)===0&&n!==0}function XF(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function jF(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function JF(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),f=o((e+i)/2),d=s((e-i)/2),p=o((e-i)/2),m=s((i-e)/2),y=o((i-e)/2);switch(r){case"XYX":n.set(a*f,l*d,l*p,a*u);break;case"YZY":n.set(l*p,a*f,l*d,a*u);break;case"ZXZ":n.set(l*d,l*p,a*f,a*u);break;case"XZX":n.set(a*f,l*y,l*m,a*u);break;case"YXY":n.set(l*m,a*f,l*y,a*u);break;case"ZYZ":n.set(l*y,l*m,a*f,a*u);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function Hi(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 It(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 JA={DEG2RAD:hl,RAD2DEG:ic,generateUUID:mr,clamp:Ln,euclideanModulo:jA,mapLinear:BF,inverseLerp:LF,lerp:Lh,damp:DF,pingpong:FF,smoothstep:NF,smootherstep:OF,randInt:UF,randFloat:kF,randFloatSpread:HF,seededRandom:zF,degToRad:GF,radToDeg:VF,isPowerOfTwo:WF,ceilPowerOfTwo:XF,floorPowerOfTwo:jF,setQuaternionFromProperEuler:JF,normalize:It,denormalize:Hi};class pe{constructor(e=0,t=0){pe.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(Ln(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 bt{constructor(e,t,i,r,s,o,a,l,u){bt.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 f=this.elements;return f[0]=e,f[1]=r,f[2]=a,f[3]=t,f[4]=s,f[5]=l,f[6]=i,f[7]=o,f[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],f=i[4],d=i[7],p=i[2],m=i[5],y=i[8],A=r[0],_=r[3],g=r[6],S=r[1],M=r[4],w=r[7],L=r[2],I=r[5],P=r[8];return s[0]=o*A+a*S+l*L,s[3]=o*_+a*M+l*I,s[6]=o*g+a*w+l*P,s[1]=u*A+f*S+d*L,s[4]=u*_+f*M+d*I,s[7]=u*g+f*w+d*P,s[2]=p*A+m*S+y*L,s[5]=p*_+m*M+y*I,s[8]=p*g+m*w+y*P,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],f=e[8];return t*o*f-t*a*u-i*s*f+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],f=e[8],d=f*o-a*u,p=a*l-f*s,m=u*s-o*l,y=t*d+i*p+r*m;if(y===0)return this.set(0,0,0,0,0,0,0,0,0);const A=1/y;return e[0]=d*A,e[1]=(r*u-f*i)*A,e[2]=(a*i-r*o)*A,e[3]=p*A,e[4]=(f*t-r*l)*A,e[5]=(r*s-a*t)*A,e[6]=m*A,e[7]=(i*l-u*t)*A,e[8]=(o*t-i*s)*A,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(P0.makeScale(e,t)),this}rotate(e){return this.premultiply(P0.makeRotation(-e)),this}translate(e,t){return this.premultiply(P0.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 P0=new bt;function yI(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const KF={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Lu(n,e){return new KF[n](e)}function uf(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function _I(){const n=uf("canvas");return n.style.display="block",n}const EE={};function xI(n){n in EE||(EE[n]=!0,console.warn(n))}const wE=new bt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),TE=new bt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),Zd={[Wn]:{transfer:rf,primaries:sf,toReference:n=>n,fromReference:n=>n},[ui]:{transfer:fn,primaries:sf,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[Ef]:{transfer:rf,primaries:of,toReference:n=>n.applyMatrix3(TE),fromReference:n=>n.applyMatrix3(wE)},[Sg]:{transfer:fn,primaries:of,toReference:n=>n.convertSRGBToLinear().applyMatrix3(TE),fromReference:n=>n.applyMatrix3(wE).convertLinearToSRGB()}},YF=new Set([Wn,Ef]),tn={enabled:!0,_workingColorSpace:Wn,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!YF.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=Zd[e].toReference,r=Zd[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 Zd[n].primaries},getTransfer:function(n){return n===$s?rf:Zd[n].transfer}};function Vu(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function B0(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let Yl;class AI{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{Yl===void 0&&(Yl=uf("canvas")),Yl.width=e.width,Yl.height=e.height;const i=Yl.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=Yl}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=uf("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!==ua)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case cs:e.x=e.x-Math.floor(e.x);break;case Dn:e.x=e.x<0?0:1;break;case yl: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 cs:e.y=e.y-Math.floor(e.y);break;case Dn:e.y=e.y<0?0:1;break;case yl:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}}Jt.DEFAULT_IMAGE=null;Jt.DEFAULT_MAPPING=ua;Jt.DEFAULT_ANISOTROPY=1;class on{constructor(e=0,t=0,i=0,r=1){on.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],f=l[4],d=l[8],p=l[1],m=l[5],y=l[9],A=l[2],_=l[6],g=l[10];if(Math.abs(f-p)<.01&&Math.abs(d-A)<.01&&Math.abs(y-_)<.01){if(Math.abs(f+p)<.1&&Math.abs(d+A)<.1&&Math.abs(y+_)<.1&&Math.abs(u+m+g-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const M=(u+1)/2,w=(m+1)/2,L=(g+1)/2,I=(f+p)/4,P=(d+A)/4,D=(y+_)/4;return M>w&&M>L?M<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(M),r=I/i,s=P/i):w>L?w<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(w),i=I/r,s=D/r):L<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(L),i=P/s,r=D/s),this.set(i,r,s,t),this}let S=Math.sqrt((_-y)*(_-y)+(d-A)*(d-A)+(p-f)*(p-f));return Math.abs(S)<.001&&(S=1),this.x=(_-y)/S,this.y=(d-A)/S,this.z=(p-f)/S,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 SI extends Ls{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new on(0,0,e,t),this.scissorTest=!1,this.viewport=new on(0,0,e,t);const r={width:e,height:t,depth:1};i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:jt,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1},i);const s=new Jt(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,M=1-g*g;if(M>Number.EPSILON){const L=Math.sqrt(M),I=Math.atan2(L,g*S);_=Math.sin(_*I)/L,a=Math.sin(a*I)/L}const w=a*S;if(l=l*_+p*w,u=u*_+m*w,f=f*_+y*w,d=d*_+A*w,_===1-a){const L=1/Math.sqrt(l*l+u*u+f*f+d*d);l*=L,u*=L,f*=L,d*=L}}e[t]=l,e[t+1]=u,e[t+2]=f,e[t+3]=d}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],u=i[r+2],f=i[r+3],d=s[o],p=s[o+1],m=s[o+2],y=s[o+3];return e[t]=a*y+f*d+l*m-u*p,e[t+1]=l*y+f*p+u*d-a*m,e[t+2]=u*y+f*m+a*p-l*d,e[t+3]=f*y-a*d-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),f=a(r/2),d=a(s/2),p=l(i/2),m=l(r/2),y=l(s/2);switch(o){case"XYZ":this._x=p*f*d+u*m*y,this._y=u*m*d-p*f*y,this._z=u*f*y+p*m*d,this._w=u*f*d-p*m*y;break;case"YXZ":this._x=p*f*d+u*m*y,this._y=u*m*d-p*f*y,this._z=u*f*y-p*m*d,this._w=u*f*d+p*m*y;break;case"ZXY":this._x=p*f*d-u*m*y,this._y=u*m*d+p*f*y,this._z=u*f*y+p*m*d,this._w=u*f*d-p*m*y;break;case"ZYX":this._x=p*f*d-u*m*y,this._y=u*m*d+p*f*y,this._z=u*f*y-p*m*d,this._w=u*f*d+p*m*y;break;case"YZX":this._x=p*f*d+u*m*y,this._y=u*m*d+p*f*y,this._z=u*f*y-p*m*d,this._w=u*f*d-p*m*y;break;case"XZY":this._x=p*f*d-u*m*y,this._y=u*m*d-p*f*y,this._z=u*f*y+p*m*d,this._w=u*f*d+p*m*y;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],f=t[6],d=t[10],p=i+a+d;if(p>0){const m=.5/Math.sqrt(p+1);this._w=.25/m,this._x=(f-l)*m,this._y=(s-u)*m,this._z=(o-r)*m}else if(i>a&&i>d){const m=2*Math.sqrt(1+i-a-d);this._w=(f-l)/m,this._x=.25*m,this._y=(r+o)/m,this._z=(s+u)/m}else if(a>d){const m=2*Math.sqrt(1+a-i-d);this._w=(s-u)/m,this._x=(r+o)/m,this._y=.25*m,this._z=(l+f)/m}else{const m=2*Math.sqrt(1+d-i-a);this._w=(o-r)/m,this._x=(s+u)/m,this._y=(l+f)/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(Ln(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,f=t._w;return this._x=i*f+o*a+r*u-s*l,this._y=r*f+o*l+s*a-i*u,this._z=s*f+o*u+i*l-r*a,this._w=o*f-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),f=Math.atan2(u,a),d=Math.sin((1-t)*f)/u,p=Math.sin(t*f)/u;return this._w=o*d+this._w*p,this._x=i*d+this._x*p,this._y=r*d+this._y*p,this._z=s*d+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 O{constructor(e=0,t=0,i=0){O.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(CE.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(CE.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),f=2*(a*t-s*r),d=2*(s*i-o*t);return this.x=t+l*u+o*d-a*f,this.y=i+l*f+a*u-s*d,this.z=r+l*d+s*f-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 D0.copy(this).projectOnVector(e),this.sub(D0)}reflect(e){return this.sub(D0.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(Ln(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 D0=new O,CE=new un;class hi{constructor(e=new O(1/0,1/0,1/0),t=new O(-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(Jc),$d.subVectors(this.max,Jc),Ql.subVectors(e.a,Jc),Zl.subVectors(e.b,Jc),ql.subVectors(e.c,Jc),bo.subVectors(Zl,Ql),Io.subVectors(ql,Zl),ba.subVectors(Ql,ql);let t=[0,-bo.z,bo.y,0,-Io.z,Io.y,0,-ba.z,ba.y,bo.z,0,-bo.x,Io.z,0,-Io.x,ba.z,0,-ba.x,-bo.y,bo.x,0,-Io.y,Io.x,0,-ba.y,ba.x,0];return!F0(t,Ql,Zl,ql,$d)||(t=[1,0,0,0,1,0,0,0,1],!F0(t,Ql,Zl,ql,$d))?!1:(ep.crossVectors(bo,Io),t=[ep.x,ep.y,ep.z],F0(t,Ql,Zl,ql,$d))}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 O,new O,new O,new O,new O,new O,new O,new O],Zr=new O,qd=new hi,Ql=new O,Zl=new O,ql=new O,bo=new O,Io=new O,ba=new O,Jc=new O,$d=new O,ep=new O,Ia=new O;function F0(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){Ia.fromArray(n,s);const a=r.x*Math.abs(Ia.x)+r.y*Math.abs(Ia.y)+r.z*Math.abs(Ia.z),l=e.dot(Ia),u=t.dot(Ia),f=i.dot(Ia);if(Math.max(-Math.max(l,u,f),Math.min(l,u,f))>a)return!1}return!0}const eN=new hi,Kc=new O,N0=new O;class Vn{constructor(e=new O,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):eN.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;Kc.subVectors(e,this.center);const t=Kc.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(Kc,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):(N0.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(Kc.copy(e.center).add(N0)),this.expandByPoint(Kc.copy(e.center).sub(N0))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Vs=new O,O0=new O,tp=new O,Po=new O,U0=new O,np=new O,k0=new O;class vo{constructor(e=new O,t=new O(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,Vs)),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=Vs.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Vs.copy(this.origin).addScaledVector(this.direction,t),Vs.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){O0.copy(e).add(t).multiplyScalar(.5),tp.copy(t).sub(e).normalize(),Po.copy(this.origin).sub(O0);const s=e.distanceTo(t)*.5,o=-this.direction.dot(tp),a=Po.dot(this.direction),l=-Po.dot(tp),u=Po.lengthSq(),f=Math.abs(1-o*o);let d,p,m,y;if(f>0)if(d=o*l-a,p=o*a-l,y=s*f,d>=0)if(p>=-y)if(p<=y){const A=1/f;d*=A,p*=A,m=d*(d+o*p+2*a)+p*(o*d+p+2*l)+u}else p=s,d=Math.max(0,-(o*p+a)),m=-d*d+p*(p+2*l)+u;else p=-s,d=Math.max(0,-(o*p+a)),m=-d*d+p*(p+2*l)+u;else p<=-y?(d=Math.max(0,-(-o*s+a)),p=d>0?-s:Math.min(Math.max(-s,-l),s),m=-d*d+p*(p+2*l)+u):p<=y?(d=0,p=Math.min(Math.max(-s,-l),s),m=p*(p+2*l)+u):(d=Math.max(0,-(o*s+a)),p=d>0?s:Math.min(Math.max(-s,-l),s),m=-d*d+p*(p+2*l)+u);else p=o>0?-s:s,d=Math.max(0,-(o*p+a)),m=-d*d+p*(p+2*l)+u;return i&&i.copy(this.origin).addScaledVector(this.direction,d),r&&r.copy(O0).addScaledVector(tp,p),m}intersectSphere(e,t){Vs.subVectors(e.center,this.origin);const i=Vs.dot(this.direction),r=Vs.dot(Vs)-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,f=1/this.direction.y,d=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),f>=0?(s=(e.min.y-p.y)*f,o=(e.max.y-p.y)*f):(s=(e.max.y-p.y)*f,o=(e.min.y-p.y)*f),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-p.z)*d,l=(e.max.z-p.z)*d):(a=(e.max.z-p.z)*d,l=(e.min.z-p.z)*d),i>l||a>r)||((a>i||i!==i)&&(i=a),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,Vs)!==null}intersectTriangle(e,t,i,r,s){U0.subVectors(t,e),np.subVectors(i,e),k0.crossVectors(U0,np);let o=this.direction.dot(k0),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;Po.subVectors(this.origin,e);const l=a*this.direction.dot(np.crossVectors(Po,np));if(l<0)return null;const u=a*this.direction.dot(U0.cross(Po));if(u<0||l+u>o)return null;const f=-a*Po.dot(k0);return f<0?null:this.at(f/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 $e{constructor(e,t,i,r,s,o,a,l,u,f,d,p,m,y,A,_){$e.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,f,d,p,m,y,A,_)}set(e,t,i,r,s,o,a,l,u,f,d,p,m,y,A,_){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]=f,g[10]=d,g[14]=p,g[3]=m,g[7]=y,g[11]=A,g[15]=_,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 $e().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/$l.setFromMatrixColumn(e,0).length(),s=1/$l.setFromMatrixColumn(e,1).length(),o=1/$l.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),f=Math.cos(s),d=Math.sin(s);if(e.order==="XYZ"){const p=o*f,m=o*d,y=a*f,A=a*d;t[0]=l*f,t[4]=-l*d,t[8]=u,t[1]=m+y*u,t[5]=p-A*u,t[9]=-a*l,t[2]=A-p*u,t[6]=y+m*u,t[10]=o*l}else if(e.order==="YXZ"){const p=l*f,m=l*d,y=u*f,A=u*d;t[0]=p+A*a,t[4]=y*a-m,t[8]=o*u,t[1]=o*d,t[5]=o*f,t[9]=-a,t[2]=m*a-y,t[6]=A+p*a,t[10]=o*l}else if(e.order==="ZXY"){const p=l*f,m=l*d,y=u*f,A=u*d;t[0]=p-A*a,t[4]=-o*d,t[8]=y+m*a,t[1]=m+y*a,t[5]=o*f,t[9]=A-p*a,t[2]=-o*u,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const p=o*f,m=o*d,y=a*f,A=a*d;t[0]=l*f,t[4]=y*u-m,t[8]=p*u+A,t[1]=l*d,t[5]=A*u+p,t[9]=m*u-y,t[2]=-u,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const p=o*l,m=o*u,y=a*l,A=a*u;t[0]=l*f,t[4]=A-p*d,t[8]=y*d+m,t[1]=d,t[5]=o*f,t[9]=-a*f,t[2]=-u*f,t[6]=m*d+y,t[10]=p-A*d}else if(e.order==="XZY"){const p=o*l,m=o*u,y=a*l,A=a*u;t[0]=l*f,t[4]=-d,t[8]=u*f,t[1]=p*d+A,t[5]=o*f,t[9]=m*d-y,t[2]=y*d-m,t[6]=a*f,t[10]=A*d+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(tN,e,nN)}lookAt(e,t,i){const r=this.elements;return lr.subVectors(e,t),lr.lengthSq()===0&&(lr.z=1),lr.normalize(),Bo.crossVectors(i,lr),Bo.lengthSq()===0&&(Math.abs(i.z)===1?lr.x+=1e-4:lr.z+=1e-4,lr.normalize(),Bo.crossVectors(i,lr)),Bo.normalize(),ip.crossVectors(lr,Bo),r[0]=Bo.x,r[4]=ip.x,r[8]=lr.x,r[1]=Bo.y,r[5]=ip.y,r[9]=lr.y,r[2]=Bo.z,r[6]=ip.z,r[10]=lr.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],f=i[1],d=i[5],p=i[9],m=i[13],y=i[2],A=i[6],_=i[10],g=i[14],S=i[3],M=i[7],w=i[11],L=i[15],I=r[0],P=r[4],D=r[8],b=r[12],C=r[1],U=r[5],K=r[9],X=r[13],q=r[2],ie=r[6],oe=r[10],Se=r[14],k=r[3],Z=r[7],J=r[11],he=r[15];return s[0]=o*I+a*C+l*q+u*k,s[4]=o*P+a*U+l*ie+u*Z,s[8]=o*D+a*K+l*oe+u*J,s[12]=o*b+a*X+l*Se+u*he,s[1]=f*I+d*C+p*q+m*k,s[5]=f*P+d*U+p*ie+m*Z,s[9]=f*D+d*K+p*oe+m*J,s[13]=f*b+d*X+p*Se+m*he,s[2]=y*I+A*C+_*q+g*k,s[6]=y*P+A*U+_*ie+g*Z,s[10]=y*D+A*K+_*oe+g*J,s[14]=y*b+A*X+_*Se+g*he,s[3]=S*I+M*C+w*q+L*k,s[7]=S*P+M*U+w*ie+L*Z,s[11]=S*D+M*K+w*oe+L*J,s[15]=S*b+M*X+w*Se+L*he,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],f=e[2],d=e[6],p=e[10],m=e[14],y=e[3],A=e[7],_=e[11],g=e[15];return y*(+s*l*d-r*u*d-s*a*p+i*u*p+r*a*m-i*l*m)+A*(+t*l*m-t*u*p+s*o*p-r*o*m+r*u*f-s*l*f)+_*(+t*u*d-t*a*m-s*o*d+i*o*m+s*a*f-i*u*f)+g*(-r*a*f-t*l*d+t*a*p+r*o*d-i*o*p+i*l*f)}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],f=e[8],d=e[9],p=e[10],m=e[11],y=e[12],A=e[13],_=e[14],g=e[15],S=d*_*u-A*p*u+A*l*m-a*_*m-d*l*g+a*p*g,M=y*p*u-f*_*u-y*l*m+o*_*m+f*l*g-o*p*g,w=f*A*u-y*d*u+y*a*m-o*A*m-f*a*g+o*d*g,L=y*d*l-f*A*l-y*a*p+o*A*p+f*a*_-o*d*_,I=t*S+i*M+r*w+s*L;if(I===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const P=1/I;return e[0]=S*P,e[1]=(A*p*s-d*_*s-A*r*m+i*_*m+d*r*g-i*p*g)*P,e[2]=(a*_*s-A*l*s+A*r*u-i*_*u-a*r*g+i*l*g)*P,e[3]=(d*l*s-a*p*s-d*r*u+i*p*u+a*r*m-i*l*m)*P,e[4]=M*P,e[5]=(f*_*s-y*p*s+y*r*m-t*_*m-f*r*g+t*p*g)*P,e[6]=(y*l*s-o*_*s-y*r*u+t*_*u+o*r*g-t*l*g)*P,e[7]=(o*p*s-f*l*s+f*r*u-t*p*u-o*r*m+t*l*m)*P,e[8]=w*P,e[9]=(y*d*s-f*A*s-y*i*m+t*A*m+f*i*g-t*d*g)*P,e[10]=(o*A*s-y*a*s+y*i*u-t*A*u-o*i*g+t*a*g)*P,e[11]=(f*a*s-o*d*s-f*i*u+t*d*u+o*i*m-t*a*m)*P,e[12]=L*P,e[13]=(f*A*r-y*d*r+y*i*p-t*A*p-f*i*_+t*d*_)*P,e[14]=(y*a*r-o*A*r-y*i*l+t*A*l+o*i*_-t*a*_)*P,e[15]=(o*d*r-f*a*r+f*i*l-t*d*l-o*i*p+t*a*p)*P,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,f=s*a;return this.set(u*o+i,u*a-r*l,u*l+r*a,0,u*a+r*l,f*a+i,f*l-r*o,0,u*l-r*a,f*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,f=o+o,d=a+a,p=s*u,m=s*f,y=s*d,A=o*f,_=o*d,g=a*d,S=l*u,M=l*f,w=l*d,L=i.x,I=i.y,P=i.z;return r[0]=(1-(A+g))*L,r[1]=(m+w)*L,r[2]=(y-M)*L,r[3]=0,r[4]=(m-w)*I,r[5]=(1-(p+g))*I,r[6]=(_+S)*I,r[7]=0,r[8]=(y+M)*P,r[9]=(_-S)*P,r[10]=(1-(p+A))*P,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=$l.set(r[0],r[1],r[2]).length();const o=$l.set(r[4],r[5],r[6]).length(),a=$l.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],qr.copy(this);const u=1/s,f=1/o,d=1/a;return qr.elements[0]*=u,qr.elements[1]*=u,qr.elements[2]*=u,qr.elements[4]*=f,qr.elements[5]*=f,qr.elements[6]*=f,qr.elements[8]*=d,qr.elements[9]*=d,qr.elements[10]*=d,t.setFromRotationMatrix(qr),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=Es){const l=this.elements,u=2*s/(t-e),f=2*s/(i-r),d=(t+e)/(t-e),p=(i+r)/(i-r);let m,y;if(a===Es)m=-(o+s)/(o-s),y=-2*o*s/(o-s);else if(a===lf)m=-o/(o-s),y=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=u,l[4]=0,l[8]=d,l[12]=0,l[1]=0,l[5]=f,l[9]=p,l[13]=0,l[2]=0,l[6]=0,l[10]=m,l[14]=y,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,o,a=Es){const l=this.elements,u=1/(t-e),f=1/(i-r),d=1/(o-s),p=(t+e)*u,m=(i+r)*f;let y,A;if(a===Es)y=(o+s)*d,A=-2*d;else if(a===lf)y=s*d,A=-1*d;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*f,l[9]=0,l[13]=-m,l[2]=0,l[6]=0,l[10]=A,l[14]=-y,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 $l=new O,qr=new $e,tN=new O(0,0,0),nN=new O(1,1,1),Bo=new O,ip=new O,lr=new O,RE=new $e,bE=new un;class ir{constructor(e=0,t=0,i=0,r=ir.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],f=r[9],d=r[2],p=r[6],m=r[10];switch(t){case"XYZ":this._y=Math.asin(Ln(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-f,m),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(p,u),this._z=0);break;case"YXZ":this._x=Math.asin(-Ln(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(a,m),this._z=Math.atan2(l,u)):(this._y=Math.atan2(-d,s),this._z=0);break;case"ZXY":this._x=Math.asin(Ln(p,-1,1)),Math.abs(p)<.9999999?(this._y=Math.atan2(-d,m),this._z=Math.atan2(-o,u)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Ln(d,-1,1)),Math.abs(d)<.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(Ln(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-f,u),this._y=Math.atan2(-d,s)):(this._x=0,this._y=Math.atan2(a,m));break;case"XZY":this._z=Math.asin(-Ln(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(p,u),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-f,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 RE.makeRotationFromQuaternion(e),this.setFromRotationMatrix(RE,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return bE.setFromEuler(this),this.setFromQuaternion(bE,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}}ir.DEFAULT_ORDER="XYZ";class fl{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,f=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),f.length>0&&(i.images=f),d.length>0&&(i.shapes=d),p.length>0&&(i.skeletons=p),m.length>0&&(i.animations=m),y.length>0&&(i.nodes=y)}return i.object=r,i;function o(a){const l=[];for(const u in a){const f=a[u];delete f.metadata,l.push(f)}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){$r.subVectors(r,t),Xs.subVectors(i,t),z0.subVectors(e,t);const o=$r.dot($r),a=$r.dot(Xs),l=$r.dot(z0),u=Xs.dot(Xs),f=Xs.dot(z0),d=o*u-a*a;if(d===0)return s.set(0,0,0),null;const p=1/d,m=(u*l-a*f)*p,y=(o*f-a*l)*p;return s.set(1-m-y,y,m)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,js)===null?!1:js.x>=0&&js.y>=0&&js.x+js.y<=1}static getInterpolation(e,t,i,r,s,o,a,l){return this.getBarycoord(e,t,i,r,js)===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,js.x),l.addScaledVector(o,js.y),l.addScaledVector(a,js.z),l)}static isFrontFacing(e,t,i,r){return $r.subVectors(i,t),Xs.subVectors(e,t),$r.cross(Xs).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 $r.subVectors(this.c,this.b),Xs.subVectors(this.a,this.b),$r.cross(Xs).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return fr.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return fr.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return fr.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return fr.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return fr.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;nu.subVectors(r,i),iu.subVectors(s,i),G0.subVectors(e,i);const l=nu.dot(G0),u=iu.dot(G0);if(l<=0&&u<=0)return t.copy(i);V0.subVectors(e,r);const f=nu.dot(V0),d=iu.dot(V0);if(f>=0&&d<=f)return t.copy(r);const p=l*d-f*u;if(p<=0&&l>=0&&f<=0)return o=l/(l-f),t.copy(i).addScaledVector(nu,o);W0.subVectors(e,s);const m=nu.dot(W0),y=iu.dot(W0);if(y>=0&&m<=y)return t.copy(s);const A=m*u-l*y;if(A<=0&&u>=0&&y<=0)return a=u/(u-y),t.copy(i).addScaledVector(iu,a);const _=f*y-m*d;if(_<=0&&d-f>=0&&m-y>=0)return FE.subVectors(s,r),a=(d-f)/(d-f+(m-y)),t.copy(r).addScaledVector(FE,a);const g=1/(_+A+p);return o=A*g,a=p*g,t.copy(i).addScaledVector(nu,o).addScaledVector(iu,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const MI={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},Lo={h:0,s:0,l:0},sp={h:0,s:0,l:0};function X0(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*6*(2/3-t):n}class ke{constructor(e,t,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,i)}set(e,t,i){if(t===void 0&&i===void 0){const r=e;r&&r.isColor?this.copy(r):typeof r=="number"?this.setHex(r):typeof r=="string"&&this.setStyle(r)}else this.setRGB(e,t,i);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=ui){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,tn.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=tn.workingColorSpace){return this.r=e,this.g=t,this.b=i,tn.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=tn.workingColorSpace){if(e=jA(e,1),t=Ln(t,0,1),i=Ln(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=X0(o,s,e+1/3),this.g=X0(o,s,e),this.b=X0(o,s,e-1/3)}return tn.toWorkingColorSpace(this,r),this}setStyle(e,t=ui){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=ui){const i=MI[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=Vu(e.r),this.g=Vu(e.g),this.b=Vu(e.b),this}copyLinearToSRGB(e){return this.r=B0(e.r),this.g=B0(e.g),this.b=B0(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=ui){return tn.fromWorkingColorSpace(bi.copy(this),e),Math.round(Ln(bi.r*255,0,255))*65536+Math.round(Ln(bi.g*255,0,255))*256+Math.round(Ln(bi.b*255,0,255))}getHexString(e=ui){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=tn.workingColorSpace){tn.fromWorkingColorSpace(bi.copy(this),t);const i=bi.r,r=bi.g,s=bi.b,o=Math.max(i,r,s),a=Math.min(i,r,s);let l,u;const f=(a+o)/2;if(a===o)l=0,u=0;else{const d=o-a;switch(u=f<=.5?d/(o+a):d/(2-o-a),o){case i:l=(r-s)/d+(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.dispersion!==void 0&&(i.dispersion=this.dispersion),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapRotation!==void 0&&(i.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==ll&&(i.blending=this.blending),this.side!==us&&(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!==Jm&&(i.blendSrc=this.blendSrc),this.blendDst!==Km&&(i.blendDst=this.blendDst),this.blendEquation!==jo&&(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!==ef&&(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!==_x&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Ja&&(i.stencilFail=this.stencilFail),this.stencilZFail!==Ja&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==Ja&&(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 Gn extends _n{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new ke(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new ir,this.combine=Af,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 eo=lN();function lN(){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,f=0;for(;!(u&8388608);)u<<=1,f-=8388608;u&=-8388609,f+=947912704,s[l]=u|f}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 Qi(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=Ln(n,-65504,65504),eo.floatView[0]=n;const e=eo.uint32View[0],t=e>>23&511;return eo.baseTable[t]+((e&8388607)>>eo.shiftTable[t])}function xh(n){const e=n>>10;return eo.uint32View[0]=eo.mantissaTable[eo.offsetTable[e]+(n&1023)]+eo.exponentTable[e],eo.floatView[0]}const nl={toHalfFloat:Qi,fromHalfFloat:xh},Jn=new O,op=new pe;class xt{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=af,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=zn,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return xI("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],f=[];for(let d=0,p=u.length;d0&&(r[l]=f,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 f=r[u];this.setAttribute(u,f.clone(t))}const s=e.morphAttributes;for(const u in s){const f=[],d=s[u];for(let p=0,m=d.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))&&(NE.copy(s).invert(),Pa.copy(e.ray).applyMatrix4(NE),!(i.boundingBox!==null&&Pa.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,Pa)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,u=s.attributes.uv,f=s.attributes.uv1,d=s.attributes.normal,p=s.groups,m=s.drawRange;if(a!==null)if(Array.isArray(o))for(let y=0,A=p.length;yt.far?null:{distance:u,point:dp.clone(),object:n}}function pp(n,e,t,i,r,s,o,a,l,u){n.getVertexPosition(a,su),n.getVertexPosition(l,ou),n.getVertexPosition(u,au);const f=gN(n,e,t,i,su,ou,au,fp);if(f){r&&(up.fromBufferAttribute(r,a),cp.fromBufferAttribute(r,l),hp.fromBufferAttribute(r,u),f.uv=fr.getInterpolation(fp,su,ou,au,up,cp,hp,new pe)),s&&(up.fromBufferAttribute(s,a),cp.fromBufferAttribute(s,l),hp.fromBufferAttribute(s,u),f.uv1=fr.getInterpolation(fp,su,ou,au,up,cp,hp,new pe)),o&&(UE.fromBufferAttribute(o,a),kE.fromBufferAttribute(o,l),HE.fromBufferAttribute(o,u),f.normal=fr.getInterpolation(fp,su,ou,au,UE,kE,HE,new O),f.normal.dot(i.direction)>0&&f.normal.multiplyScalar(-1));const d={a,b:l,c:u,normal:new O,materialIndex:0};fr.getNormal(su,ou,au,d.normal),f.face=d}return f}class va 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=[],f=[],d=[];let p=0,m=0;y("z","y","x",-1,-1,i,t,e,o,s,0),y("z","y","x",1,-1,i,t,-e,o,s,1),y("x","z","y",1,1,e,i,t,r,o,2),y("x","z","y",1,-1,e,i,-t,r,o,3),y("x","y","z",1,-1,e,t,i,r,s,4),y("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new ot(u,3)),this.setAttribute("normal",new ot(f,3)),this.setAttribute("uv",new ot(d,2));function y(A,_,g,S,M,w,L,I,P,D,b){const C=w/P,U=L/D,K=w/2,X=L/2,q=I/2,ie=P+1,oe=D+1;let Se=0,k=0;const Z=new O;for(let J=0;J0?1:-1,f.push(Z.x,Z.y,Z.z),d.push(Me/P),d.push(1-J/D),Se+=1}}for(let J=0;J0&&(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 wf extends kt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new $e,this.projectionMatrix=new $e,this.projectionMatrixInverse=new $e,this.coordinateSystem=Es}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 Do=new O,zE=new pe,GE=new pe;class Mn extends wf{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=ic*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(hl*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return ic*2*Math.atan(Math.tan(hl*.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){Do.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Do.x,Do.y).multiplyScalar(-e/Do.z),Do.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(Do.x,Do.y).multiplyScalar(-e/Do.z)}getViewSize(e,t){return this.getViewBounds(e,zE,GE),t.subVectors(GE,zE)}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(hl*.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 lu=-90,uu=1;class TI extends kt{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new Mn(lu,uu,e,t);r.layers=this.layers,this.add(r);const s=new Mn(lu,uu,e,t);s.layers=this.layers,this.add(s);const o=new Mn(lu,uu,e,t);o.layers=this.layers,this.add(o);const a=new Mn(lu,uu,e,t);a.layers=this.layers,this.add(a);const l=new Mn(lu,uu,e,t);l.layers=this.layers,this.add(l);const u=new Mn(lu,uu,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===Es)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===lf)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,f]=this.children,d=e.getRenderTarget(),p=e.getActiveCubeFace(),m=e.getActiveMipmapLevel(),y=e.xr.enabled;e.xr.enabled=!1;const A=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=A,e.setRenderTarget(i,5,r),e.render(t,f),e.setRenderTarget(d,p,m),e.xr.enabled=y,i.texture.needsPMREMUpdate=!0}}class Tf extends Jt{constructor(e,t,i,r,s,o,a,l,u,f){e=e!==void 0?e:[],t=t!==void 0?t:Is,super(e,t,i,r,s,o,a,l,u,f),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class ZA extends _r{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 Tf(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:jt}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 va(5,5,5),s=new Vi({name:"CubemapFromEquirect",uniforms:rc(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:Gi,blending:Cs});s.uniforms.tEquirect.value=t;const o=new an(r,s),a=t.minFilter;return t.minFilter===$i&&(t.minFilter=jt),new TI(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 K0=new O,xN=new O,AN=new bt;class Ur{constructor(e=new O(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=K0.subVectors(i,t).cross(xN.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(K0),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||AN.getNormalMatrix(e),r=this.coplanarPoint(K0).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 Ba=new Vn,mp=new O;class Cf{constructor(e=new Ur,t=new Ur,i=new Ur,r=new Ur,s=new Ur,o=new Ur){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=Es){const i=this.planes,r=e.elements,s=r[0],o=r[1],a=r[2],l=r[3],u=r[4],f=r[5],d=r[6],p=r[7],m=r[8],y=r[9],A=r[10],_=r[11],g=r[12],S=r[13],M=r[14],w=r[15];if(i[0].setComponents(l-s,p-u,_-m,w-g).normalize(),i[1].setComponents(l+s,p+u,_+m,w+g).normalize(),i[2].setComponents(l+o,p+f,_+y,w+S).normalize(),i[3].setComponents(l-o,p-f,_-y,w-S).normalize(),i[4].setComponents(l-a,p-d,_-A,w-M).normalize(),t===Es)i[5].setComponents(l+a,p+d,_+A,w+M).normalize();else if(t===lf)i[5].setComponents(a,d,A,M).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(),Ba.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Ba.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Ba)}intersectsSprite(e){return Ba.center.set(0,0,0),Ba.radius=.7071067811865476,Ba.applyMatrix4(e.matrixWorld),this.intersectsSphere(Ba)}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,mp.y=r.normal.y>0?e.max.y:e.min.y,mp.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(mp)<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 CI(){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 SN(n){const e=new WeakMap;function t(a,l){const u=a.array,f=a.usage,d=u.byteLength,p=n.createBuffer();n.bindBuffer(l,p),n.bufferData(l,u,f),a.onUploadCallback();let m;if(u instanceof Float32Array)m=n.FLOAT;else if(u instanceof Uint16Array)a.isFloat16BufferAttribute?m=n.HALF_FLOAT:m=n.UNSIGNED_SHORT;else if(u instanceof Int16Array)m=n.SHORT;else if(u instanceof Uint32Array)m=n.UNSIGNED_INT;else if(u instanceof Int32Array)m=n.INT;else if(u instanceof Int8Array)m=n.BYTE;else if(u instanceof Uint8Array)m=n.UNSIGNED_BYTE;else if(u instanceof Uint8ClampedArray)m=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+u);return{buffer:p,type:m,bytesPerElement:u.BYTES_PER_ELEMENT,version:a.version,size:d}}function i(a,l,u){const f=l.array,d=l._updateRange,p=l.updateRanges;if(n.bindBuffer(u,a),d.count===-1&&p.length===0&&n.bufferSubData(u,0,f),p.length!==0){for(let m=0,y=p.length;m 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`,kN=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; +#endif`,HN=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,zN=`#if NUM_CLIPPING_PLANES > 0 + vClipPosition = - mvPosition.xyz; +#endif`,GN=`#if defined( USE_COLOR_ALPHA ) + diffuseColor *= vColor; +#elif defined( USE_COLOR ) + diffuseColor.rgb *= vColor; +#endif`,VN=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) + varying vec3 vColor; +#endif`,WN=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) + varying vec3 vColor; +#endif`,XN=`#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`,jN=`#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`,JN=`#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`,KN=`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`,YN=`#ifdef USE_DISPLACEMENTMAP + uniform sampler2D displacementMap; + uniform float displacementScale; + uniform float displacementBias; +#endif`,QN=`#ifdef USE_DISPLACEMENTMAP + transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); +#endif`,ZN=`#ifdef USE_EMISSIVEMAP + vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); + totalEmissiveRadiance *= emissiveColor.rgb; +#endif`,qN=`#ifdef USE_EMISSIVEMAP + uniform sampler2D emissiveMap; +#endif`,$N="gl_FragColor = linearToOutputTexel( gl_FragColor );",e3=` +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 ); +}`,t3=`#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`,n3=`#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`,i3=`#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`,r3=`#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`,s3=`#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`,o3=`#ifdef USE_FOG + vFogDepth = - mvPosition.z; +#endif`,a3=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,l3=`#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`,u3=`#ifdef USE_FOG + uniform vec3 fogColor; + varying float vFogDepth; + #ifdef FOG_EXP2 + uniform float fogDensity; + #else + uniform float fogNear; + uniform float fogFar; + #endif +#endif`,c3=`#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 +}`,h3=`#ifdef USE_LIGHTMAP + uniform sampler2D lightMap; + uniform float lightMapIntensity; +#endif`,f3=`LambertMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularStrength = specularStrength;`,d3=`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`,p3=`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`,m3=`#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`,g3=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,v3=`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`,y3=`BlinnPhongMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularColor = specular; +material.specularShininess = shininess; +material.specularStrength = specularStrength;`,_3=`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`,x3=`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_DISPERSION + material.dispersion = dispersion; +#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`,A3=`struct PhysicalMaterial { + vec3 diffuseColor; + float roughness; + vec3 specularColor; + float specularF90; + float dispersion; + #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 ); +}`,S3=` +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`,M3=`#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`,E3=`#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`,w3=`#if defined( USE_LOGDEPTHBUF ) + gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,T3=`#if defined( USE_LOGDEPTHBUF ) + uniform float logDepthBufFC; + varying float vFragDepth; + varying float vIsPerspective; +#endif`,C3=`#ifdef USE_LOGDEPTHBUF + varying float vFragDepth; + varying float vIsPerspective; +#endif`,R3=`#ifdef USE_LOGDEPTHBUF + vFragDepth = 1.0 + gl_Position.w; + vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); +#endif`,b3=`#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`,I3=`#ifdef USE_MAP + uniform sampler2D map; +#endif`,P3=`#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`,B3=`#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`,L3=`float metalnessFactor = metalness; +#ifdef USE_METALNESSMAP + vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); + metalnessFactor *= texelMetalness.b; +#endif`,D3=`#ifdef USE_METALNESSMAP + uniform sampler2D metalnessMap; +#endif`,F3=`#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`,N3=`#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`,O3=`#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`,U3=`#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`,k3=`#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`,H3=`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;`,z3=`#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`,G3=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,V3=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,W3=`#ifndef FLAT_SHADED + vNormal = normalize( transformedNormal ); + #ifdef USE_TANGENT + vTangent = normalize( transformedTangent ); + vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); + #endif +#endif`,X3=`#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`,j3=`#ifdef USE_CLEARCOAT + vec3 clearcoatNormal = nonPerturbedNormal; +#endif`,J3=`#ifdef USE_CLEARCOAT_NORMALMAP + vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; + clearcoatMapN.xy *= clearcoatNormalScale; + clearcoatNormal = normalize( tbn2 * clearcoatMapN ); +#endif`,K3=`#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`,Y3=`#ifdef USE_IRIDESCENCEMAP + uniform sampler2D iridescenceMap; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + uniform sampler2D iridescenceThicknessMap; +#endif`,Q3=`#ifdef OPAQUE +diffuseColor.a = 1.0; +#endif +#ifdef USE_TRANSMISSION +diffuseColor.a *= material.transmissionAlpha; +#endif +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,Z3=`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 ); +}`,q3=`#ifdef PREMULTIPLIED_ALPHA + gl_FragColor.rgb *= gl_FragColor.a; +#endif`,$3=`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;`,eO=`#ifdef DITHERING + gl_FragColor.rgb = dithering( gl_FragColor.rgb ); +#endif`,tO=`#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`,nO=`float roughnessFactor = roughness; +#ifdef USE_ROUGHNESSMAP + vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); + roughnessFactor *= texelRoughness.g; +#endif`,iO=`#ifdef USE_ROUGHNESSMAP + uniform sampler2D roughnessMap; +#endif`,rO=`#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 ) { + float shadow = 1.0; + vec3 lightToPosition = shadowCoord.xyz; + + float lightToPositionLength = length( lightToPosition ); + if ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) { + float dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; + vec3 bd3D = normalize( lightToPosition ); + vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); + #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) + vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; + shadow = ( + 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 + shadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); + #endif + } + return shadow; + } +#endif`,sO=`#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`,oO=`#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`,aO=`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; +}`,lO=`#ifdef USE_SKINNING + mat4 boneMatX = getBoneMatrix( skinIndex.x ); + mat4 boneMatY = getBoneMatrix( skinIndex.y ); + mat4 boneMatZ = getBoneMatrix( skinIndex.z ); + mat4 boneMatW = getBoneMatrix( skinIndex.w ); +#endif`,uO=`#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`,cO=`#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`,hO=`#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`,fO=`float specularStrength; +#ifdef USE_SPECULARMAP + vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); + specularStrength = texelSpecular.r; +#else + specularStrength = 1.0; +#endif`,dO=`#ifdef USE_SPECULARMAP + uniform sampler2D specularMap; +#endif`,pO=`#if defined( TONE_MAPPING ) + gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); +#endif`,mO=`#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 ) { + const float StartCompression = 0.8 - 0.04; + const 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( newPeak ), g ); +} +vec3 CustomToneMapping( vec3 color ) { return color; }`,gO=`#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.dispersion, 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`,vO=`#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 dispersion, const in float ior, const in float thickness, + const in vec3 attenuationColor, const in float attenuationDistance ) { + vec4 transmittedLight; + vec3 transmittance; + #ifdef USE_DISPERSION + float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion; + vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread ); + for ( int i = 0; i < 3; i ++ ) { + vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix ); + vec3 refractedRayExit = position + transmissionRay; + + vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); + vec2 refractionCoords = ndcPos.xy / ndcPos.w; + refractionCoords += 1.0; + refractionCoords /= 2.0; + + vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] ); + transmittedLight[ i ] = transmissionSample[ i ]; + transmittedLight.a += transmissionSample.a; + transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ]; + } + transmittedLight.a /= 3.0; + + #else + + 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; + transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); + transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); + + #endif + 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`,yO=`#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`,_O=`#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`,xO=`#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`,AO=`#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 SO=`varying vec2 vUv; +uniform mat3 uvTransform; +void main() { + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; + gl_Position = vec4( position.xy, 1.0, 1.0 ); +}`,MO=`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 +}`,EO=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,wO=`#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 +}`,TO=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,CO=`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 +}`,RO=`#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; +}`,bO=`#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 +}`,IO=`#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; +}`,PO=`#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 ); +}`,BO=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include +}`,LO=`uniform sampler2D tEquirect; +varying vec3 vWorldDirection; +#include +void main() { + vec3 direction = normalize( vWorldDirection ); + vec2 sampleUV = equirectUv( direction ); + gl_FragColor = texture2D( tEquirect, sampleUV ); + #include + #include +}`,DO=`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 +}`,FO=`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 +}`,NO=`#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 +}`,OO=`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 +}`,UO=`#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 +}`,kO=`#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 +}`,HO=`#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; +}`,zO=`#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 +}`,GO=`#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 +}`,VO=`#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 +}`,WO=`#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 +}`,XO=`#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 +}`,jO=`#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 +}`,JO=`#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_DISPERSION + uniform float dispersion; +#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 +}`,KO=`#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 +}`,YO=`#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 +}`,QO=`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 +}`,ZO=`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 +}`,qO=`#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,$O=`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 +}`,eU=`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 +}`,tU=`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 +}`,Pt={alphahash_fragment:MN,alphahash_pars_fragment:EN,alphamap_fragment:wN,alphamap_pars_fragment:TN,alphatest_fragment:CN,alphatest_pars_fragment:RN,aomap_fragment:bN,aomap_pars_fragment:IN,batching_pars_vertex:PN,batching_vertex:BN,begin_vertex:LN,beginnormal_vertex:DN,bsdfs:FN,iridescence_fragment:NN,bumpmap_pars_fragment:ON,clipping_planes_fragment:UN,clipping_planes_pars_fragment:kN,clipping_planes_pars_vertex:HN,clipping_planes_vertex:zN,color_fragment:GN,color_pars_fragment:VN,color_pars_vertex:WN,color_vertex:XN,common:jN,cube_uv_reflection_fragment:JN,defaultnormal_vertex:KN,displacementmap_pars_vertex:YN,displacementmap_vertex:QN,emissivemap_fragment:ZN,emissivemap_pars_fragment:qN,colorspace_fragment:$N,colorspace_pars_fragment:e3,envmap_fragment:t3,envmap_common_pars_fragment:n3,envmap_pars_fragment:i3,envmap_pars_vertex:r3,envmap_physical_pars_fragment:m3,envmap_vertex:s3,fog_vertex:o3,fog_pars_vertex:a3,fog_fragment:l3,fog_pars_fragment:u3,gradientmap_pars_fragment:c3,lightmap_pars_fragment:h3,lights_lambert_fragment:f3,lights_lambert_pars_fragment:d3,lights_pars_begin:p3,lights_toon_fragment:g3,lights_toon_pars_fragment:v3,lights_phong_fragment:y3,lights_phong_pars_fragment:_3,lights_physical_fragment:x3,lights_physical_pars_fragment:A3,lights_fragment_begin:S3,lights_fragment_maps:M3,lights_fragment_end:E3,logdepthbuf_fragment:w3,logdepthbuf_pars_fragment:T3,logdepthbuf_pars_vertex:C3,logdepthbuf_vertex:R3,map_fragment:b3,map_pars_fragment:I3,map_particle_fragment:P3,map_particle_pars_fragment:B3,metalnessmap_fragment:L3,metalnessmap_pars_fragment:D3,morphinstance_vertex:F3,morphcolor_vertex:N3,morphnormal_vertex:O3,morphtarget_pars_vertex:U3,morphtarget_vertex:k3,normal_fragment_begin:H3,normal_fragment_maps:z3,normal_pars_fragment:G3,normal_pars_vertex:V3,normal_vertex:W3,normalmap_pars_fragment:X3,clearcoat_normal_fragment_begin:j3,clearcoat_normal_fragment_maps:J3,clearcoat_pars_fragment:K3,iridescence_pars_fragment:Y3,opaque_fragment:Q3,packing:Z3,premultiplied_alpha_fragment:q3,project_vertex:$3,dithering_fragment:eO,dithering_pars_fragment:tO,roughnessmap_fragment:nO,roughnessmap_pars_fragment:iO,shadowmap_pars_fragment:rO,shadowmap_pars_vertex:sO,shadowmap_vertex:oO,shadowmask_pars_fragment:aO,skinbase_vertex:lO,skinning_pars_vertex:uO,skinning_vertex:cO,skinnormal_vertex:hO,specularmap_fragment:fO,specularmap_pars_fragment:dO,tonemapping_fragment:pO,tonemapping_pars_fragment:mO,transmission_fragment:gO,transmission_pars_fragment:vO,uv_pars_fragment:yO,uv_pars_vertex:_O,uv_vertex:xO,worldpos_vertex:AO,background_vert:SO,background_frag:MO,backgroundCube_vert:EO,backgroundCube_frag:wO,cube_vert:TO,cube_frag:CO,depth_vert:RO,depth_frag:bO,distanceRGBA_vert:IO,distanceRGBA_frag:PO,equirect_vert:BO,equirect_frag:LO,linedashed_vert:DO,linedashed_frag:FO,meshbasic_vert:NO,meshbasic_frag:OO,meshlambert_vert:UO,meshlambert_frag:kO,meshmatcap_vert:HO,meshmatcap_frag:zO,meshnormal_vert:GO,meshnormal_frag:VO,meshphong_vert:WO,meshphong_frag:XO,meshphysical_vert:jO,meshphysical_frag:JO,meshtoon_vert:KO,meshtoon_frag:YO,points_vert:QO,points_frag:ZO,shadow_vert:qO,shadow_frag:$O,sprite_vert:eU,sprite_frag:tU},Xe={common:{diffuse:{value:new ke(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new bt},alphaMap:{value:null},alphaMapTransform:{value:new bt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new bt}},envmap:{envMap:{value:null},envMapRotation:{value:new bt},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new bt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new bt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new bt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new bt},normalScale:{value:new pe(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new bt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new bt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new bt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new bt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new ke(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{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 ke(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new bt},alphaTest:{value:0},uvTransform:{value:new bt}},sprite:{diffuse:{value:new ke(16777215)},opacity:{value:1},center:{value:new pe(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new bt},alphaMap:{value:null},alphaMapTransform:{value:new bt},alphaTest:{value:0}}},ss={basic:{uniforms:Oi([Xe.common,Xe.specularmap,Xe.envmap,Xe.aomap,Xe.lightmap,Xe.fog]),vertexShader:Pt.meshbasic_vert,fragmentShader:Pt.meshbasic_frag},lambert:{uniforms:Oi([Xe.common,Xe.specularmap,Xe.envmap,Xe.aomap,Xe.lightmap,Xe.emissivemap,Xe.bumpmap,Xe.normalmap,Xe.displacementmap,Xe.fog,Xe.lights,{emissive:{value:new ke(0)}}]),vertexShader:Pt.meshlambert_vert,fragmentShader:Pt.meshlambert_frag},phong:{uniforms:Oi([Xe.common,Xe.specularmap,Xe.envmap,Xe.aomap,Xe.lightmap,Xe.emissivemap,Xe.bumpmap,Xe.normalmap,Xe.displacementmap,Xe.fog,Xe.lights,{emissive:{value:new ke(0)},specular:{value:new ke(1118481)},shininess:{value:30}}]),vertexShader:Pt.meshphong_vert,fragmentShader:Pt.meshphong_frag},standard:{uniforms:Oi([Xe.common,Xe.envmap,Xe.aomap,Xe.lightmap,Xe.emissivemap,Xe.bumpmap,Xe.normalmap,Xe.displacementmap,Xe.roughnessmap,Xe.metalnessmap,Xe.fog,Xe.lights,{emissive:{value:new ke(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Pt.meshphysical_vert,fragmentShader:Pt.meshphysical_frag},toon:{uniforms:Oi([Xe.common,Xe.aomap,Xe.lightmap,Xe.emissivemap,Xe.bumpmap,Xe.normalmap,Xe.displacementmap,Xe.gradientmap,Xe.fog,Xe.lights,{emissive:{value:new ke(0)}}]),vertexShader:Pt.meshtoon_vert,fragmentShader:Pt.meshtoon_frag},matcap:{uniforms:Oi([Xe.common,Xe.bumpmap,Xe.normalmap,Xe.displacementmap,Xe.fog,{matcap:{value:null}}]),vertexShader:Pt.meshmatcap_vert,fragmentShader:Pt.meshmatcap_frag},points:{uniforms:Oi([Xe.points,Xe.fog]),vertexShader:Pt.points_vert,fragmentShader:Pt.points_frag},dashed:{uniforms:Oi([Xe.common,Xe.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Pt.linedashed_vert,fragmentShader:Pt.linedashed_frag},depth:{uniforms:Oi([Xe.common,Xe.displacementmap]),vertexShader:Pt.depth_vert,fragmentShader:Pt.depth_frag},normal:{uniforms:Oi([Xe.common,Xe.bumpmap,Xe.normalmap,Xe.displacementmap,{opacity:{value:1}}]),vertexShader:Pt.meshnormal_vert,fragmentShader:Pt.meshnormal_frag},sprite:{uniforms:Oi([Xe.sprite,Xe.fog]),vertexShader:Pt.sprite_vert,fragmentShader:Pt.sprite_frag},background:{uniforms:{uvTransform:{value:new bt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Pt.background_vert,fragmentShader:Pt.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new bt}},vertexShader:Pt.backgroundCube_vert,fragmentShader:Pt.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Pt.cube_vert,fragmentShader:Pt.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Pt.equirect_vert,fragmentShader:Pt.equirect_frag},distanceRGBA:{uniforms:Oi([Xe.common,Xe.displacementmap,{referencePosition:{value:new O},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Pt.distanceRGBA_vert,fragmentShader:Pt.distanceRGBA_frag},shadow:{uniforms:Oi([Xe.lights,Xe.fog,{color:{value:new ke(0)},opacity:{value:1}}]),vertexShader:Pt.shadow_vert,fragmentShader:Pt.shadow_frag}};ss.physical={uniforms:Oi([ss.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new bt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new bt},clearcoatNormalScale:{value:new pe(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new bt},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new bt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new bt},sheen:{value:0},sheenColor:{value:new ke(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new bt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new bt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new bt},transmissionSamplerSize:{value:new pe},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new bt},attenuationDistance:{value:0},attenuationColor:{value:new ke(0)},specularColor:{value:new ke(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new bt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new bt},anisotropyVector:{value:new pe},anisotropyMap:{value:null},anisotropyMapTransform:{value:new bt}}]),vertexShader:Pt.meshphysical_vert,fragmentShader:Pt.meshphysical_frag};const gp={r:0,b:0,g:0},La=new ir,nU=new $e;function iU(n,e,t,i,r,s,o){const a=new ke(0);let l=s===!0?0:1,u,f,d=null,p=0,m=null;function y(S){let M=S.isScene===!0?S.background:null;return M&&M.isTexture&&(M=(S.backgroundBlurriness>0?t:e).get(M)),M}function A(S){let M=!1;const w=y(S);w===null?g(a,l):w&&w.isColor&&(g(w,1),M=!0);const L=n.xr.getEnvironmentBlendMode();L==="additive"?i.buffers.color.setClear(0,0,0,1,o):L==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||M)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil)}function _(S,M){const w=y(M);w&&(w.isCubeTexture||w.mapping===fc)?(f===void 0&&(f=new an(new va(1,1,1),new Vi({name:"BackgroundCubeMaterial",uniforms:rc(ss.backgroundCube.uniforms),vertexShader:ss.backgroundCube.vertexShader,fragmentShader:ss.backgroundCube.fragmentShader,side:Gi,depthTest:!1,depthWrite:!1,fog:!1})),f.geometry.deleteAttribute("normal"),f.geometry.deleteAttribute("uv"),f.onBeforeRender=function(L,I,P){this.matrixWorld.copyPosition(P.matrixWorld)},Object.defineProperty(f.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(f)),La.copy(M.backgroundRotation),La.x*=-1,La.y*=-1,La.z*=-1,w.isCubeTexture&&w.isRenderTargetTexture===!1&&(La.y*=-1,La.z*=-1),f.material.uniforms.envMap.value=w,f.material.uniforms.flipEnvMap.value=w.isCubeTexture&&w.isRenderTargetTexture===!1?-1:1,f.material.uniforms.backgroundBlurriness.value=M.backgroundBlurriness,f.material.uniforms.backgroundIntensity.value=M.backgroundIntensity,f.material.uniforms.backgroundRotation.value.setFromMatrix4(nU.makeRotationFromEuler(La)),f.material.toneMapped=tn.getTransfer(w.colorSpace)!==fn,(d!==w||p!==w.version||m!==n.toneMapping)&&(f.material.needsUpdate=!0,d=w,p=w.version,m=n.toneMapping),f.layers.enableAll(),S.unshift(f,f.geometry,f.material,0,0,null)):w&&w.isTexture&&(u===void 0&&(u=new an(new yo(2,2),new Vi({name:"BackgroundMaterial",uniforms:rc(ss.background.uniforms),vertexShader:ss.background.vertexShader,fragmentShader:ss.background.fragmentShader,side:us,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=w,u.material.uniforms.backgroundIntensity.value=M.backgroundIntensity,u.material.toneMapped=tn.getTransfer(w.colorSpace)!==fn,w.matrixAutoUpdate===!0&&w.updateMatrix(),u.material.uniforms.uvTransform.value.copy(w.matrix),(d!==w||p!==w.version||m!==n.toneMapping)&&(u.material.needsUpdate=!0,d=w,p=w.version,m=n.toneMapping),u.layers.enableAll(),S.unshift(u,u.geometry,u.material,0,0,null))}function g(S,M){S.getRGB(gp,EI(n)),i.buffers.color.setClear(gp.r,gp.g,gp.b,M,o)}return{getClearColor:function(){return a},setClearColor:function(S,M=1){a.set(S),l=M,g(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(S){l=S,g(a,l)},render:A,addToRenderList:_}}function rU(n,e){const t=n.getParameter(n.MAX_VERTEX_ATTRIBS),i={},r=p(null);let s=r,o=!1;function a(C,U,K,X,q){let ie=!1;const oe=d(X,K,U);s!==oe&&(s=oe,u(s.object)),ie=m(C,X,K,q),ie&&y(C,X,K,q),q!==null&&e.update(q,n.ELEMENT_ARRAY_BUFFER),(ie||o)&&(o=!1,w(C,U,K,X),q!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,e.get(q).buffer))}function l(){return n.createVertexArray()}function u(C){return n.bindVertexArray(C)}function f(C){return n.deleteVertexArray(C)}function d(C,U,K){const X=K.wireframe===!0;let q=i[C.id];q===void 0&&(q={},i[C.id]=q);let ie=q[U.id];ie===void 0&&(ie={},q[U.id]=ie);let oe=ie[X];return oe===void 0&&(oe=p(l()),ie[X]=oe),oe}function p(C){const U=[],K=[],X=[];for(let q=0;q=0){const J=q[k];let he=ie[k];if(he===void 0&&(k==="instanceMatrix"&&C.instanceMatrix&&(he=C.instanceMatrix),k==="instanceColor"&&C.instanceColor&&(he=C.instanceColor)),J===void 0||J.attribute!==he||he&&J.data!==he.data)return!0;oe++}return s.attributesNum!==oe||s.index!==X}function y(C,U,K,X){const q={},ie=U.attributes;let oe=0;const Se=K.getAttributes();for(const k in Se)if(Se[k].location>=0){let J=ie[k];J===void 0&&(k==="instanceMatrix"&&C.instanceMatrix&&(J=C.instanceMatrix),k==="instanceColor"&&C.instanceColor&&(J=C.instanceColor));const he={};he.attribute=J,J&&J.data&&(he.data=J.data),q[k]=he,oe++}s.attributes=q,s.attributesNum=oe,s.index=X}function A(){const C=s.newAttributes;for(let U=0,K=C.length;U=0){let Z=q[Se];if(Z===void 0&&(Se==="instanceMatrix"&&C.instanceMatrix&&(Z=C.instanceMatrix),Se==="instanceColor"&&C.instanceColor&&(Z=C.instanceColor)),Z!==void 0){const J=Z.normalized,he=Z.itemSize,Me=e.get(Z);if(Me===void 0)continue;const He=Me.buffer,ae=Me.type,Re=Me.bytesPerElement,Te=ae===n.INT||ae===n.UNSIGNED_INT||Z.gpuType===_g;if(Z.isInterleavedBufferAttribute){const Pe=Z.data,ft=Pe.stride,Mt=Z.offset;if(Pe.isInstancedInterleavedBuffer){for(let ne=0;ne0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";I="mediump"}return I==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let u=t.precision!==void 0?t.precision:"highp";const f=l(u);f!==u&&(console.warn("THREE.WebGLRenderer:",u,"not supported, using",f,"instead."),u=f);const d=t.logarithmicDepthBuffer===!0,p=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),m=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),y=n.getParameter(n.MAX_TEXTURE_SIZE),A=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),_=n.getParameter(n.MAX_VERTEX_ATTRIBS),g=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),S=n.getParameter(n.MAX_VARYING_VECTORS),M=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),w=m>0,L=n.getParameter(n.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:s,getMaxPrecision:l,textureFormatReadable:o,textureTypeReadable:a,precision:u,logarithmicDepthBuffer:d,maxTextures:p,maxVertexTextures:m,maxTextureSize:y,maxCubemapSize:A,maxAttributes:_,maxVertexUniforms:g,maxVaryings:S,maxFragmentUniforms:M,vertexTextures:w,maxSamples:L}}function aU(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new Ur,a=new bt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(d,p){const m=d.length!==0||p||i!==0||r;return r=p,i=d.length,m},this.beginShadows=function(){s=!0,f(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(d,p){t=f(d,p,0)},this.setState=function(d,p,m){const y=d.clippingPlanes,A=d.clipIntersection,_=d.clipShadows,g=n.get(d);if(!r||y===null||y.length===0||s&&!_)s?f(null):u();else{const S=s?0:i,M=S*4;let w=g.clippingState||null;l.value=w,w=f(y,p,M,m);for(let L=0;L!==M;++L)w[L]=t[L];g.clippingState=w,this.numIntersection=A?this.numPlanes:0,this.numPlanes+=S}};function u(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function f(d,p,m,y){const A=d!==null?d.length:0;let _=null;if(A!==0){if(_=l.value,y!==!0||_===null){const g=m+A*4,S=p.matrixWorldInverse;a.getNormalMatrix(S),(_===null||_.length0){const u=new ZA(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 zr extends wf{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,f=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=u*this.view.offsetX,o=s+u*this.view.width,a-=f*this.view.offsetY,l=a-f*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 Du=4,VE=[.125,.215,.35,.446,.526,.582],Ya=20,Y0=new zr,WE=new ke;let Q0=null,Z0=0,q0=0,$0=!1;const Ka=(1+Math.sqrt(5))/2,cu=1/Ka,XE=[new O(-Ka,cu,0),new O(Ka,cu,0),new O(-cu,0,Ka),new O(cu,0,Ka),new O(0,Ka,-cu),new O(0,Ka,cu),new O(-1,1,-1),new O(1,1,-1),new O(-1,1,1),new O(1,1,1)];class Ax{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){Q0=this._renderer.getRenderTarget(),Z0=this._renderer.getActiveCubeFace(),q0=this._renderer.getActiveMipmapLevel(),$0=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=KE(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=JE(),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?M:0,M,M),f.setRenderTarget(r),A&&f.render(y,a),f.render(e,a)}y.geometry.dispose(),y.material.dispose(),f.toneMapping=p,f.autoClear=d,e.background=_}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===Is||e.mapping===ca;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=KE()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=JE());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new an(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;vp(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,Y0)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;const r=this._lodPlanes.length;for(let s=1;sYa&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${_} samples when the maximum is set to ${Ya}`);const g=[];let S=0;for(let P=0;PM-Du?r-M+Du:0),I=4*(this._cubeSize-w);vp(t,L,I,3*w,2*w),l.setRenderTarget(t),l.render(d,Y0)}}function uU(n){const e=[],t=[],i=[];let r=n;const s=n-Du+1+VE.length;for(let o=0;on-Du?l=VE[o-n+Du-1]:o===0&&(l=0),i.push(l);const u=1/(a-2),f=-u,d=1+u,p=[f,f,d,f,d,d,f,f,d,d,f,d],m=6,y=6,A=3,_=2,g=1,S=new Float32Array(A*y*m),M=new Float32Array(_*y*m),w=new Float32Array(g*y*m);for(let I=0;I2?0:-1,b=[P,D,0,P+2/3,D,0,P+2/3,D+1,0,P,D,0,P+2/3,D+1,0,P,D+1,0];S.set(b,A*y*I),M.set(p,_*y*I);const C=[I,I,I,I,I,I];w.set(C,g*y*I)}const L=new At;L.setAttribute("position",new xt(S,A)),L.setAttribute("uv",new xt(M,_)),L.setAttribute("faceIndex",new xt(w,g)),e.push(L),r>Du&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function jE(n,e,t){const i=new _r(n,e,t);return i.texture.mapping=fc,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function vp(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function cU(n,e,t){const i=new Float32Array(Ya),r=new O(0,1,0);return new Vi({name:"SphericalGaussianBlur",defines:{n:Ya,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:qA(),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:Cs,depthTest:!1,depthWrite:!1})}function JE(){return new Vi({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:qA(),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:Cs,depthTest:!1,depthWrite:!1})}function KE(){return new Vi({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:qA(),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:Cs,depthTest:!1,depthWrite:!1})}function qA(){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 hU(n){let e=new WeakMap,t=null;function i(a){if(a&&a.isTexture){const l=a.mapping,u=l===tc||l===tf,f=l===Is||l===ca;if(u||f){let d=e.get(a);const p=d!==void 0?d.texture.pmremVersion:0;if(a.isRenderTargetTexture&&a.pmremVersion!==p)return t===null&&(t=new Ax(n)),d=u?t.fromEquirectangular(a,d):t.fromCubemap(a,d),d.texture.pmremVersion=a.pmremVersion,e.set(a,d),d.texture;if(d!==void 0)return d.texture;{const m=a.image;return u&&m&&m.height>0||f&&m&&r(m)?(t===null&&(t=new Ax(n)),d=u?t.fromEquirectangular(a):t.fromCubemap(a),d.texture.pmremVersion=a.pmremVersion,e.set(a,d),a.addEventListener("dispose",s),d.texture):null}}}return a}function r(a){let l=0;const u=6;for(let f=0;fe.maxTextureSize&&(I=Math.ceil(L/e.maxTextureSize),L=e.maxTextureSize);const P=new Float32Array(L*I*4*d),D=new Mg(P,L,I,d);D.type=zn,D.needsUpdate=!0;const b=w*4;for(let U=0;U0)return n;const r=e*t;let s=YE[r];if(s===void 0&&(s=new Float32Array(r),YE[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 ni(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t":" "} ${a}: ${t[o]}`)}return i.join(` +`)}function hk(n){const e=tn.getPrimaries(tn.workingColorSpace),t=tn.getPrimaries(n);let i;switch(e===t?i="":e===of&&t===sf?i="LinearDisplayP3ToLinearSRGB":e===sf&&t===of&&(i="LinearSRGBToLinearDisplayP3"),n){case Wn:case Ef:return[i,"LinearTransferOETF"];case ui:case Sg:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function nw(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+` + +`+ck(n.getShaderSource(e),o)}else return r}function fk(n,e){const t=hk(e);return`vec4 ${n}( vec4 value ) { return ${t[0]}( ${t[1]}( value ) ); }`}function dk(n,e){let t;switch(e){case Xb:t="Linear";break;case jb:t="Reinhard";break;case Jb:t="OptimizedCineon";break;case DA:t="ACESFilmic";break;case Yb:t="AgX";break;case Qb:t="Neutral";break;case Kb:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function pk(n){return[n.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",n.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(Ah).join(` +`)}function mk(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(` +`)}function gk(n,e){const t={},i=n.getProgramParameter(e,n.ACTIVE_ATTRIBUTES);for(let r=0;r/gm;function Sx(n){return n.replace(vk,_k)}const yk=new Map;function _k(n,e){let t=Pt[e];if(t===void 0){const i=yk.get(e);if(i!==void 0)t=Pt[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 Sx(t)}const xk=/#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 sw(n){return n.replace(xk,Ak)}function Ak(n,e,t,i){let r="";for(let s=parseInt(e);s0&&(_+=` +`),g=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,y].filter(Ah).join(` +`),g.length>0&&(g+=` +`)):(_=[ow(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,y,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 "+f:"",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?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," 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(Ah).join(` +`),g=[ow(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,y,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 "+f:"",t.envMap?"#define "+d:"",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.dispersion?"#define USE_DISPERSION":"",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":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==Rs?"#define TONE_MAPPING":"",t.toneMapping!==Rs?Pt.tonemapping_pars_fragment:"",t.toneMapping!==Rs?dk("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",Pt.colorspace_pars_fragment,fk("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` +`].filter(Ah).join(` +`)),o=Sx(o),o=iw(o,t),o=rw(o,t),a=Sx(a),a=iw(a,t),a=rw(a,t),o=sw(o),a=sw(a),t.isRawShaderMaterial!==!0&&(S=`#version 300 es +`,_=[m,"#define attribute in","#define varying out","#define texture2D texture"].join(` +`)+` +`+_,g=["#define varying in",t.glslVersion===xx?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===xx?"":"#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(` +`)+` +`+g);const M=S+_+o,w=S+g+a,L=tw(r,r.VERTEX_SHADER,M),I=tw(r,r.FRAGMENT_SHADER,w);r.attachShader(A,L),r.attachShader(A,I),t.index0AttributeName!==void 0?r.bindAttribLocation(A,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(A,0,"position"),r.linkProgram(A);function P(U){if(n.debug.checkShaderErrors){const K=r.getProgramInfoLog(A).trim(),X=r.getShaderInfoLog(L).trim(),q=r.getShaderInfoLog(I).trim();let ie=!0,oe=!0;if(r.getProgramParameter(A,r.LINK_STATUS)===!1)if(ie=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,A,L,I);else{const Se=nw(r,L,"vertex"),k=nw(r,I,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(A,r.VALIDATE_STATUS)+` + +Material Name: `+U.name+` +Material Type: `+U.type+` + +Program Info Log: `+K+` +`+Se+` +`+k)}else K!==""?console.warn("THREE.WebGLProgram: Program Info Log:",K):(X===""||q==="")&&(oe=!1);oe&&(U.diagnostics={runnable:ie,programLog:K,vertexShader:{log:X,prefix:_},fragmentShader:{log:q,prefix:g}})}r.deleteShader(L),r.deleteShader(I),D=new xm(r,A),b=gk(r,A)}let D;this.getUniforms=function(){return D===void 0&&P(this),D};let b;this.getAttributes=function(){return b===void 0&&P(this),b};let C=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return C===!1&&(C=r.getProgramParameter(A,lk)),C},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(A),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=uk++,this.cacheKey=e,this.usedTimes=1,this.program=A,this.vertexShader=L,this.fragmentShader=I,this}let Rk=0;class bk{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 Ik(e),t.set(e,i)),i}}class Ik{constructor(e){this.id=Rk++,this.code=e,this.usedTimes=0}}function Pk(n,e,t,i,r,s,o){const a=new fl,l=new bk,u=new Set,f=[],d=r.logarithmicDepthBuffer,p=r.vertexTextures;let m=r.precision;const y={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 A(b){return u.add(b),b===0?"uv":`uv${b}`}function _(b,C,U,K,X){const q=K.fog,ie=X.geometry,oe=b.isMeshStandardMaterial?K.environment:null,Se=(b.isMeshStandardMaterial?t:e).get(b.envMap||oe),k=Se&&Se.mapping===fc?Se.image.height:null,Z=y[b.type];b.precision!==null&&(m=r.getMaxPrecision(b.precision),m!==b.precision&&console.warn("THREE.WebGLProgram.getParameters:",b.precision,"not supported, using",m,"instead."));const J=ie.morphAttributes.position||ie.morphAttributes.normal||ie.morphAttributes.color,he=J!==void 0?J.length:0;let Me=0;ie.morphAttributes.position!==void 0&&(Me=1),ie.morphAttributes.normal!==void 0&&(Me=2),ie.morphAttributes.color!==void 0&&(Me=3);let He,ae,Re,Te;if(Z){const Lt=ss[Z];He=Lt.vertexShader,ae=Lt.fragmentShader}else He=b.vertexShader,ae=b.fragmentShader,l.update(b),Re=l.getVertexShaderID(b),Te=l.getFragmentShaderID(b);const Pe=n.getRenderTarget(),ft=X.isInstancedMesh===!0,Mt=X.isBatchedMesh===!0,ne=!!b.map,pt=!!b.matcap,ge=!!Se,Ce=!!b.aoMap,Ee=!!b.lightMap,Ue=!!b.bumpMap,Be=!!b.normalMap,Ye=!!b.displacementMap,lt=!!b.emissiveMap,W=!!b.metalnessMap,N=!!b.roughnessMap,ue=b.anisotropy>0,Ae=b.clearcoat>0,be=b.dispersion>0,we=b.iridescence>0,rt=b.sheen>0,Ve=b.transmission>0,ze=ue&&!!b.anisotropyMap,yt=Ae&&!!b.clearcoatMap,Fe=Ae&&!!b.clearcoatNormalMap,st=Ae&&!!b.clearcoatRoughnessMap,Rt=we&&!!b.iridescenceMap,dt=we&&!!b.iridescenceThicknessMap,je=rt&&!!b.sheenColorMap,at=rt&&!!b.sheenRoughnessMap,Y=!!b.specularMap,Ie=!!b.specularColorMap,Le=!!b.specularIntensityMap,j=Ve&&!!b.transmissionMap,xe=Ve&&!!b.thicknessMap,$=!!b.gradientMap,Ne=!!b.alphaMap,Ze=b.alphaTest>0,Ot=!!b.alphaHash,Bt=!!b.extensions;let Ht=Rs;b.toneMapped&&(Pe===null||Pe.isXRRenderTarget===!0)&&(Ht=n.toneMapping);const hn={shaderID:Z,shaderType:b.type,shaderName:b.name,vertexShader:He,fragmentShader:ae,defines:b.defines,customVertexShaderID:Re,customFragmentShaderID:Te,isRawShaderMaterial:b.isRawShaderMaterial===!0,glslVersion:b.glslVersion,precision:m,batching:Mt,instancing:ft,instancingColor:ft&&X.instanceColor!==null,instancingMorph:ft&&X.morphTexture!==null,supportsVertexTextures:p,outputColorSpace:Pe===null?n.outputColorSpace:Pe.isXRRenderTarget===!0?Pe.texture.colorSpace:Wn,alphaToCoverage:!!b.alphaToCoverage,map:ne,matcap:pt,envMap:ge,envMapMode:ge&&Se.mapping,envMapCubeUVHeight:k,aoMap:Ce,lightMap:Ee,bumpMap:Ue,normalMap:Be,displacementMap:p&&Ye,emissiveMap:lt,normalMapObjectSpace:Be&&b.normalMapType===cI,normalMapTangentSpace:Be&&b.normalMapType===ga,metalnessMap:W,roughnessMap:N,anisotropy:ue,anisotropyMap:ze,clearcoat:Ae,clearcoatMap:yt,clearcoatNormalMap:Fe,clearcoatRoughnessMap:st,dispersion:be,iridescence:we,iridescenceMap:Rt,iridescenceThicknessMap:dt,sheen:rt,sheenColorMap:je,sheenRoughnessMap:at,specularMap:Y,specularColorMap:Ie,specularIntensityMap:Le,transmission:Ve,transmissionMap:j,thicknessMap:xe,gradientMap:$,opaque:b.transparent===!1&&b.blending===ll&&b.alphaToCoverage===!1,alphaMap:Ne,alphaTest:Ze,alphaHash:Ot,combine:b.combine,mapUv:ne&&A(b.map.channel),aoMapUv:Ce&&A(b.aoMap.channel),lightMapUv:Ee&&A(b.lightMap.channel),bumpMapUv:Ue&&A(b.bumpMap.channel),normalMapUv:Be&&A(b.normalMap.channel),displacementMapUv:Ye&&A(b.displacementMap.channel),emissiveMapUv:lt&&A(b.emissiveMap.channel),metalnessMapUv:W&&A(b.metalnessMap.channel),roughnessMapUv:N&&A(b.roughnessMap.channel),anisotropyMapUv:ze&&A(b.anisotropyMap.channel),clearcoatMapUv:yt&&A(b.clearcoatMap.channel),clearcoatNormalMapUv:Fe&&A(b.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:st&&A(b.clearcoatRoughnessMap.channel),iridescenceMapUv:Rt&&A(b.iridescenceMap.channel),iridescenceThicknessMapUv:dt&&A(b.iridescenceThicknessMap.channel),sheenColorMapUv:je&&A(b.sheenColorMap.channel),sheenRoughnessMapUv:at&&A(b.sheenRoughnessMap.channel),specularMapUv:Y&&A(b.specularMap.channel),specularColorMapUv:Ie&&A(b.specularColorMap.channel),specularIntensityMapUv:Le&&A(b.specularIntensityMap.channel),transmissionMapUv:j&&A(b.transmissionMap.channel),thicknessMapUv:xe&&A(b.thicknessMap.channel),alphaMapUv:Ne&&A(b.alphaMap.channel),vertexTangents:!!ie.attributes.tangent&&(Be||ue),vertexColors:b.vertexColors,vertexAlphas:b.vertexColors===!0&&!!ie.attributes.color&&ie.attributes.color.itemSize===4,pointsUvs:X.isPoints===!0&&!!ie.attributes.uv&&(ne||Ne),fog:!!q,useFog:b.fog===!0,fogExp2:!!q&&q.isFogExp2,flatShading:b.flatShading===!0,sizeAttenuation:b.sizeAttenuation===!0,logarithmicDepthBuffer:d,skinning:X.isSkinnedMesh===!0,morphTargets:ie.morphAttributes.position!==void 0,morphNormals:ie.morphAttributes.normal!==void 0,morphColors:ie.morphAttributes.color!==void 0,morphTargetsCount:he,morphTextureStride:Me,numDirLights:C.directional.length,numPointLights:C.point.length,numSpotLights:C.spot.length,numSpotLightMaps:C.spotLightMap.length,numRectAreaLights:C.rectArea.length,numHemiLights:C.hemi.length,numDirLightShadows:C.directionalShadowMap.length,numPointLightShadows:C.pointShadowMap.length,numSpotLightShadows:C.spotShadowMap.length,numSpotLightShadowsWithMaps:C.numSpotLightShadowsWithMaps,numLightProbes:C.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:b.dithering,shadowMapEnabled:n.shadowMap.enabled&&U.length>0,shadowMapType:n.shadowMap.type,toneMapping:Ht,useLegacyLights:n._useLegacyLights,decodeVideoTexture:ne&&b.map.isVideoTexture===!0&&tn.getTransfer(b.map.colorSpace)===fn,premultipliedAlpha:b.premultipliedAlpha,doubleSided:b.side===hr,flipSided:b.side===Gi,useDepthPacking:b.depthPacking>=0,depthPacking:b.depthPacking||0,index0AttributeName:b.index0AttributeName,extensionClipCullDistance:Bt&&b.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:Bt&&b.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:b.customProgramCacheKey()};return hn.vertexUv1s=u.has(1),hn.vertexUv2s=u.has(2),hn.vertexUv3s=u.has(3),u.clear(),hn}function g(b){const C=[];if(b.shaderID?C.push(b.shaderID):(C.push(b.customVertexShaderID),C.push(b.customFragmentShaderID)),b.defines!==void 0)for(const U in b.defines)C.push(U),C.push(b.defines[U]);return b.isRawShaderMaterial===!1&&(S(C,b),M(C,b),C.push(n.outputColorSpace)),C.push(b.customProgramCacheKey),C.join()}function S(b,C){b.push(C.precision),b.push(C.outputColorSpace),b.push(C.envMapMode),b.push(C.envMapCubeUVHeight),b.push(C.mapUv),b.push(C.alphaMapUv),b.push(C.lightMapUv),b.push(C.aoMapUv),b.push(C.bumpMapUv),b.push(C.normalMapUv),b.push(C.displacementMapUv),b.push(C.emissiveMapUv),b.push(C.metalnessMapUv),b.push(C.roughnessMapUv),b.push(C.anisotropyMapUv),b.push(C.clearcoatMapUv),b.push(C.clearcoatNormalMapUv),b.push(C.clearcoatRoughnessMapUv),b.push(C.iridescenceMapUv),b.push(C.iridescenceThicknessMapUv),b.push(C.sheenColorMapUv),b.push(C.sheenRoughnessMapUv),b.push(C.specularMapUv),b.push(C.specularColorMapUv),b.push(C.specularIntensityMapUv),b.push(C.transmissionMapUv),b.push(C.thicknessMapUv),b.push(C.combine),b.push(C.fogExp2),b.push(C.sizeAttenuation),b.push(C.morphTargetsCount),b.push(C.morphAttributeCount),b.push(C.numDirLights),b.push(C.numPointLights),b.push(C.numSpotLights),b.push(C.numSpotLightMaps),b.push(C.numHemiLights),b.push(C.numRectAreaLights),b.push(C.numDirLightShadows),b.push(C.numPointLightShadows),b.push(C.numSpotLightShadows),b.push(C.numSpotLightShadowsWithMaps),b.push(C.numLightProbes),b.push(C.shadowMapType),b.push(C.toneMapping),b.push(C.numClippingPlanes),b.push(C.numClipIntersection),b.push(C.depthPacking)}function M(b,C){a.disableAll(),C.supportsVertexTextures&&a.enable(0),C.instancing&&a.enable(1),C.instancingColor&&a.enable(2),C.instancingMorph&&a.enable(3),C.matcap&&a.enable(4),C.envMap&&a.enable(5),C.normalMapObjectSpace&&a.enable(6),C.normalMapTangentSpace&&a.enable(7),C.clearcoat&&a.enable(8),C.iridescence&&a.enable(9),C.alphaTest&&a.enable(10),C.vertexColors&&a.enable(11),C.vertexAlphas&&a.enable(12),C.vertexUv1s&&a.enable(13),C.vertexUv2s&&a.enable(14),C.vertexUv3s&&a.enable(15),C.vertexTangents&&a.enable(16),C.anisotropy&&a.enable(17),C.alphaHash&&a.enable(18),C.batching&&a.enable(19),C.dispersion&&a.enable(20),b.push(a.mask),a.disableAll(),C.fog&&a.enable(0),C.useFog&&a.enable(1),C.flatShading&&a.enable(2),C.logarithmicDepthBuffer&&a.enable(3),C.skinning&&a.enable(4),C.morphTargets&&a.enable(5),C.morphNormals&&a.enable(6),C.morphColors&&a.enable(7),C.premultipliedAlpha&&a.enable(8),C.shadowMapEnabled&&a.enable(9),C.useLegacyLights&&a.enable(10),C.doubleSided&&a.enable(11),C.flipSided&&a.enable(12),C.useDepthPacking&&a.enable(13),C.dithering&&a.enable(14),C.transmission&&a.enable(15),C.sheen&&a.enable(16),C.opaque&&a.enable(17),C.pointsUvs&&a.enable(18),C.decodeVideoTexture&&a.enable(19),C.alphaToCoverage&&a.enable(20),b.push(a.mask)}function w(b){const C=y[b.type];let U;if(C){const K=ss[C];U=wI.clone(K.uniforms)}else U=b.uniforms;return U}function L(b,C){let U;for(let K=0,X=f.length;K0?i.push(g):m.transparent===!0?r.push(g):t.push(g)}function l(d,p,m,y,A,_){const g=o(d,p,m,y,A,_);m.transmission>0?i.unshift(g):m.transparent===!0?r.unshift(g):t.unshift(g)}function u(d,p){t.length>1&&t.sort(d||Lk),i.length>1&&i.sort(p||aw),r.length>1&&r.sort(p||aw)}function f(){for(let d=e,p=n.length;d=s.length?(o=new lw,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function Fk(){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 O,color:new ke};break;case"SpotLight":t={position:new O,direction:new O,color:new ke,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new O,color:new ke,distance:0,decay:0};break;case"HemisphereLight":t={direction:new O,skyColor:new ke,groundColor:new ke};break;case"RectAreaLight":t={color:new ke,position:new O,halfWidth:new O,halfHeight:new O};break}return n[e.id]=t,t}}}function Nk(){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 pe};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new pe};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new pe,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let Ok=0;function Uk(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function kk(n){const e=new Fk,t=Nk(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let u=0;u<9;u++)i.probe.push(new O);const r=new O,s=new $e,o=new $e;function a(u,f){let d=0,p=0,m=0;for(let U=0;U<9;U++)i.probe[U].set(0,0,0);let y=0,A=0,_=0,g=0,S=0,M=0,w=0,L=0,I=0,P=0,D=0;u.sort(Uk);const b=f===!0?Math.PI:1;for(let U=0,K=u.length;U0&&(n.has("OES_texture_float_linear")===!0?(i.rectAreaLTC1=Xe.LTC_FLOAT_1,i.rectAreaLTC2=Xe.LTC_FLOAT_2):(i.rectAreaLTC1=Xe.LTC_HALF_1,i.rectAreaLTC2=Xe.LTC_HALF_2)),i.ambient[0]=d,i.ambient[1]=p,i.ambient[2]=m;const C=i.hash;(C.directionalLength!==y||C.pointLength!==A||C.spotLength!==_||C.rectAreaLength!==g||C.hemiLength!==S||C.numDirectionalShadows!==M||C.numPointShadows!==w||C.numSpotShadows!==L||C.numSpotMaps!==I||C.numLightProbes!==D)&&(i.directional.length=y,i.spot.length=_,i.rectArea.length=g,i.point.length=A,i.hemi.length=S,i.directionalShadow.length=M,i.directionalShadowMap.length=M,i.pointShadow.length=w,i.pointShadowMap.length=w,i.spotShadow.length=L,i.spotShadowMap.length=L,i.directionalShadowMatrix.length=M,i.pointShadowMatrix.length=w,i.spotLightMatrix.length=L+I-P,i.spotLightMap.length=I,i.numSpotLightShadowsWithMaps=P,i.numLightProbes=D,C.directionalLength=y,C.pointLength=A,C.spotLength=_,C.rectAreaLength=g,C.hemiLength=S,C.numDirectionalShadows=M,C.numPointShadows=w,C.numSpotShadows=L,C.numSpotMaps=I,C.numLightProbes=D,i.version=Ok++)}function l(u,f){let d=0,p=0,m=0,y=0,A=0;const _=f.matrixWorldInverse;for(let g=0,S=u.length;g=o.length?(a=new uw(n),o.push(a)):a=o[s],a}function i(){e=new WeakMap}return{get:t,dispose:i}}class eS extends _n{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=lI,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 tS extends _n{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 zk=`void main() { + gl_Position = vec4( position, 1.0 ); +}`,Gk=`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 Vk(n,e,t){let i=new Cf;const r=new pe,s=new pe,o=new on,a=new eS({depthPacking:uI}),l=new tS,u={},f=t.maxTextureSize,d={[us]:Gi,[Gi]:us,[hr]:hr},p=new Vi({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new pe},radius:{value:4}},vertexShader:zk,fragmentShader:Gk}),m=p.clone();m.defines.HORIZONTAL_PASS=1;const y=new At;y.setAttribute("position",new xt(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const A=new an(y,p),_=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=yg;let g=this.type;this.render=function(I,P,D){if(_.enabled===!1||_.autoUpdate===!1&&_.needsUpdate===!1||I.length===0)return;const b=n.getRenderTarget(),C=n.getActiveCubeFace(),U=n.getActiveMipmapLevel(),K=n.state;K.setBlending(Cs),K.buffers.color.setClear(1,1,1,1),K.buffers.depth.setTest(!0),K.setScissorTest(!1);const X=g!==ns&&this.type===ns,q=g===ns&&this.type!==ns;for(let ie=0,oe=I.length;ief||r.y>f)&&(r.x>f&&(s.x=Math.floor(f/Z.x),r.x=s.x*Z.x,k.mapSize.x=s.x),r.y>f&&(s.y=Math.floor(f/Z.y),r.y=s.y*Z.y,k.mapSize.y=s.y)),k.map===null||X===!0||q===!0){const he=this.type!==ns?{minFilter:Yn,magFilter:Yn}:{};k.map!==null&&k.map.dispose(),k.map=new _r(r.x,r.y,he),k.map.texture.name=Se.name+".shadowMap",k.camera.updateProjectionMatrix()}n.setRenderTarget(k.map),n.clear();const J=k.getViewportCount();for(let he=0;he0||P.map&&P.alphaTest>0){const K=C.uuid,X=P.uuid;let q=u[K];q===void 0&&(q={},u[K]=q);let ie=q[X];ie===void 0&&(ie=C.clone(),q[X]=ie,P.addEventListener("dispose",L)),C=ie}if(C.visible=P.visible,C.wireframe=P.wireframe,b===ns?C.side=P.shadowSide!==null?P.shadowSide:P.side:C.side=P.shadowSide!==null?P.shadowSide:d[P.side],C.alphaMap=P.alphaMap,C.alphaTest=P.alphaTest,C.map=P.map,C.clipShadows=P.clipShadows,C.clippingPlanes=P.clippingPlanes,C.clipIntersection=P.clipIntersection,C.displacementMap=P.displacementMap,C.displacementScale=P.displacementScale,C.displacementBias=P.displacementBias,C.wireframeLinewidth=P.wireframeLinewidth,C.linewidth=P.linewidth,D.isPointLight===!0&&C.isMeshDistanceMaterial===!0){const K=n.properties.get(C);K.light=D}return C}function w(I,P,D,b,C){if(I.visible===!1)return;if(I.layers.test(P.layers)&&(I.isMesh||I.isLine||I.isPoints)&&(I.castShadow||I.receiveShadow&&C===ns)&&(!I.frustumCulled||i.intersectsObject(I))){I.modelViewMatrix.multiplyMatrices(D.matrixWorldInverse,I.matrixWorld);const X=e.update(I),q=I.material;if(Array.isArray(q)){const ie=X.groups;for(let oe=0,Se=ie.length;oe=1):Se.indexOf("OpenGL ES")!==-1&&(oe=parseFloat(/^OpenGL ES (\d)/.exec(Se)[1]),ie=oe>=2);let k=null,Z={};const J=n.getParameter(n.SCISSOR_BOX),he=n.getParameter(n.VIEWPORT),Me=new on().fromArray(J),He=new on().fromArray(he);function ae(j,xe,$,Ne){const Ze=new Uint8Array(4),Ot=n.createTexture();n.bindTexture(j,Ot),n.texParameteri(j,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(j,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let Bt=0;Bt<$;Bt++)j===n.TEXTURE_3D||j===n.TEXTURE_2D_ARRAY?n.texImage3D(xe,0,n.RGBA,1,1,Ne,0,n.RGBA,n.UNSIGNED_BYTE,Ze):n.texImage2D(xe+Bt,0,n.RGBA,1,1,0,n.RGBA,n.UNSIGNED_BYTE,Ze);return Ot}const Re={};Re[n.TEXTURE_2D]=ae(n.TEXTURE_2D,n.TEXTURE_2D,1),Re[n.TEXTURE_CUBE_MAP]=ae(n.TEXTURE_CUBE_MAP,n.TEXTURE_CUBE_MAP_POSITIVE_X,6),Re[n.TEXTURE_2D_ARRAY]=ae(n.TEXTURE_2D_ARRAY,n.TEXTURE_2D_ARRAY,1,1),Re[n.TEXTURE_3D]=ae(n.TEXTURE_3D,n.TEXTURE_3D,1,1),r.setClear(0,0,0,1),s.setClear(1),o.setClear(0),Te(n.DEPTH_TEST),s.setFunc(ef),Ue(!1),Be(z_),Te(n.CULL_FACE),Ce(Cs);function Te(j){u[j]!==!0&&(n.enable(j),u[j]=!0)}function Pe(j){u[j]!==!1&&(n.disable(j),u[j]=!1)}function ft(j,xe){return f[j]!==xe?(n.bindFramebuffer(j,xe),f[j]=xe,j===n.DRAW_FRAMEBUFFER&&(f[n.FRAMEBUFFER]=xe),j===n.FRAMEBUFFER&&(f[n.DRAW_FRAMEBUFFER]=xe),!0):!1}function Mt(j,xe){let $=p,Ne=!1;if(j){$=d.get(xe),$===void 0&&($=[],d.set(xe,$));const Ze=j.textures;if($.length!==Ze.length||$[0]!==n.COLOR_ATTACHMENT0){for(let Ot=0,Bt=Ze.length;Ot"u"?!1:/OculusBrowser/g.test(navigator.userAgent),u=new pe,f=new WeakMap;let d;const p=new WeakMap;let m=!1;try{m=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function y(W,N){return m?new OffscreenCanvas(W,N):uf("canvas")}function A(W,N,ue){let Ae=1;const be=lt(W);if((be.width>ue||be.height>ue)&&(Ae=ue/Math.max(be.width,be.height)),Ae<1)if(typeof HTMLImageElement<"u"&&W instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&W instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&W instanceof ImageBitmap||typeof VideoFrame<"u"&&W instanceof VideoFrame){const we=Math.floor(Ae*be.width),rt=Math.floor(Ae*be.height);d===void 0&&(d=y(we,rt));const Ve=N?y(we,rt):d;return Ve.width=we,Ve.height=rt,Ve.getContext("2d").drawImage(W,0,0,we,rt),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+be.width+"x"+be.height+") to ("+we+"x"+rt+")."),Ve}else return"data"in W&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+be.width+"x"+be.height+")."),W;return W}function _(W){return W.generateMipmaps&&W.minFilter!==Yn&&W.minFilter!==jt}function g(W){n.generateMipmap(W)}function S(W,N,ue,Ae,be=!1){if(W!==null){if(n[W]!==void 0)return n[W];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+W+"'")}let we=N;if(N===n.RED&&(ue===n.FLOAT&&(we=n.R32F),ue===n.HALF_FLOAT&&(we=n.R16F),ue===n.UNSIGNED_BYTE&&(we=n.R8)),N===n.RED_INTEGER&&(ue===n.UNSIGNED_BYTE&&(we=n.R8UI),ue===n.UNSIGNED_SHORT&&(we=n.R16UI),ue===n.UNSIGNED_INT&&(we=n.R32UI),ue===n.BYTE&&(we=n.R8I),ue===n.SHORT&&(we=n.R16I),ue===n.INT&&(we=n.R32I)),N===n.RG&&(ue===n.FLOAT&&(we=n.RG32F),ue===n.HALF_FLOAT&&(we=n.RG16F),ue===n.UNSIGNED_BYTE&&(we=n.RG8)),N===n.RG_INTEGER&&(ue===n.UNSIGNED_BYTE&&(we=n.RG8UI),ue===n.UNSIGNED_SHORT&&(we=n.RG16UI),ue===n.UNSIGNED_INT&&(we=n.RG32UI),ue===n.BYTE&&(we=n.RG8I),ue===n.SHORT&&(we=n.RG16I),ue===n.INT&&(we=n.RG32I)),N===n.RGB&&ue===n.UNSIGNED_INT_5_9_9_9_REV&&(we=n.RGB9_E5),N===n.RGBA){const rt=be?rf:tn.getTransfer(Ae);ue===n.FLOAT&&(we=n.RGBA32F),ue===n.HALF_FLOAT&&(we=n.RGBA16F),ue===n.UNSIGNED_BYTE&&(we=rt===fn?n.SRGB8_ALPHA8:n.RGBA8),ue===n.UNSIGNED_SHORT_4_4_4_4&&(we=n.RGBA4),ue===n.UNSIGNED_SHORT_5_5_5_1&&(we=n.RGB5_A1)}return(we===n.R16F||we===n.R32F||we===n.RG16F||we===n.RG32F||we===n.RGBA16F||we===n.RGBA32F)&&e.get("EXT_color_buffer_float"),we}function M(W,N){return _(W)===!0||W.isFramebufferTexture&&W.minFilter!==Yn&&W.minFilter!==jt?Math.log2(Math.max(N.width,N.height))+1:W.mipmaps!==void 0&&W.mipmaps.length>0?W.mipmaps.length:W.isCompressedTexture&&Array.isArray(W.image)?N.mipmaps.length:1}function w(W){const N=W.target;N.removeEventListener("dispose",w),I(N),N.isVideoTexture&&f.delete(N)}function L(W){const N=W.target;N.removeEventListener("dispose",L),D(N)}function I(W){const N=i.get(W);if(N.__webglInit===void 0)return;const ue=W.source,Ae=p.get(ue);if(Ae){const be=Ae[N.__cacheKey];be.usedTimes--,be.usedTimes===0&&P(W),Object.keys(Ae).length===0&&p.delete(ue)}i.remove(W)}function P(W){const N=i.get(W);n.deleteTexture(N.__webglTexture);const ue=W.source,Ae=p.get(ue);delete Ae[N.__cacheKey],o.memory.textures--}function D(W){const N=i.get(W);if(W.depthTexture&&W.depthTexture.dispose(),W.isWebGLCubeRenderTarget)for(let Ae=0;Ae<6;Ae++){if(Array.isArray(N.__webglFramebuffer[Ae]))for(let be=0;be=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+W+" texture units while this GPU supports only "+r.maxTextures),b+=1,W}function K(W){const N=[];return N.push(W.wrapS),N.push(W.wrapT),N.push(W.wrapR||0),N.push(W.magFilter),N.push(W.minFilter),N.push(W.anisotropy),N.push(W.internalFormat),N.push(W.format),N.push(W.type),N.push(W.generateMipmaps),N.push(W.premultiplyAlpha),N.push(W.flipY),N.push(W.unpackAlignment),N.push(W.colorSpace),N.join()}function X(W,N){const ue=i.get(W);if(W.isVideoTexture&&Be(W),W.isRenderTargetTexture===!1&&W.version>0&&ue.__version!==W.version){const Ae=W.image;if(Ae===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(Ae.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{Me(ue,W,N);return}}t.bindTexture(n.TEXTURE_2D,ue.__webglTexture,n.TEXTURE0+N)}function q(W,N){const ue=i.get(W);if(W.version>0&&ue.__version!==W.version){Me(ue,W,N);return}t.bindTexture(n.TEXTURE_2D_ARRAY,ue.__webglTexture,n.TEXTURE0+N)}function ie(W,N){const ue=i.get(W);if(W.version>0&&ue.__version!==W.version){Me(ue,W,N);return}t.bindTexture(n.TEXTURE_3D,ue.__webglTexture,n.TEXTURE0+N)}function oe(W,N){const ue=i.get(W);if(W.version>0&&ue.__version!==W.version){He(ue,W,N);return}t.bindTexture(n.TEXTURE_CUBE_MAP,ue.__webglTexture,n.TEXTURE0+N)}const Se={[cs]:n.REPEAT,[Dn]:n.CLAMP_TO_EDGE,[yl]:n.MIRRORED_REPEAT},k={[Yn]:n.NEAREST,[Sf]:n.NEAREST_MIPMAP_NEAREST,[Qo]:n.NEAREST_MIPMAP_LINEAR,[jt]:n.LINEAR,[ul]:n.LINEAR_MIPMAP_NEAREST,[$i]:n.LINEAR_MIPMAP_LINEAR},Z={[hI]:n.NEVER,[vI]:n.ALWAYS,[fI]:n.LESS,[XA]:n.LEQUAL,[dI]:n.EQUAL,[gI]:n.GEQUAL,[pI]:n.GREATER,[mI]:n.NOTEQUAL};function J(W,N){if(N.type===zn&&e.has("OES_texture_float_linear")===!1&&(N.magFilter===jt||N.magFilter===ul||N.magFilter===Qo||N.magFilter===$i||N.minFilter===jt||N.minFilter===ul||N.minFilter===Qo||N.minFilter===$i)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),n.texParameteri(W,n.TEXTURE_WRAP_S,Se[N.wrapS]),n.texParameteri(W,n.TEXTURE_WRAP_T,Se[N.wrapT]),(W===n.TEXTURE_3D||W===n.TEXTURE_2D_ARRAY)&&n.texParameteri(W,n.TEXTURE_WRAP_R,Se[N.wrapR]),n.texParameteri(W,n.TEXTURE_MAG_FILTER,k[N.magFilter]),n.texParameteri(W,n.TEXTURE_MIN_FILTER,k[N.minFilter]),N.compareFunction&&(n.texParameteri(W,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(W,n.TEXTURE_COMPARE_FUNC,Z[N.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if(N.magFilter===Yn||N.minFilter!==Qo&&N.minFilter!==$i||N.type===zn&&e.has("OES_texture_float_linear")===!1)return;if(N.anisotropy>1||i.get(N).__currentAnisotropy){const ue=e.get("EXT_texture_filter_anisotropic");n.texParameterf(W,ue.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(N.anisotropy,r.getMaxAnisotropy())),i.get(N).__currentAnisotropy=N.anisotropy}}}function he(W,N){let ue=!1;W.__webglInit===void 0&&(W.__webglInit=!0,N.addEventListener("dispose",w));const Ae=N.source;let be=p.get(Ae);be===void 0&&(be={},p.set(Ae,be));const we=K(N);if(we!==W.__cacheKey){be[we]===void 0&&(be[we]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,ue=!0),be[we].usedTimes++;const rt=be[W.__cacheKey];rt!==void 0&&(be[W.__cacheKey].usedTimes--,rt.usedTimes===0&&P(N)),W.__cacheKey=we,W.__webglTexture=be[we].texture}return ue}function Me(W,N,ue){let Ae=n.TEXTURE_2D;(N.isDataArrayTexture||N.isCompressedArrayTexture)&&(Ae=n.TEXTURE_2D_ARRAY),N.isData3DTexture&&(Ae=n.TEXTURE_3D);const be=he(W,N),we=N.source;t.bindTexture(Ae,W.__webglTexture,n.TEXTURE0+ue);const rt=i.get(we);if(we.version!==rt.__version||be===!0){t.activeTexture(n.TEXTURE0+ue);const Ve=tn.getPrimaries(tn.workingColorSpace),ze=N.colorSpace===$s?null:tn.getPrimaries(N.colorSpace),yt=N.colorSpace===$s||Ve===ze?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,N.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,N.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,N.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,yt);let Fe=A(N.image,!1,r.maxTextureSize);Fe=Ye(N,Fe);const st=s.convert(N.format,N.colorSpace),Rt=s.convert(N.type);let dt=S(N.internalFormat,st,Rt,N.colorSpace,N.isVideoTexture);J(Ae,N);let je;const at=N.mipmaps,Y=N.isVideoTexture!==!0,Ie=rt.__version===void 0||be===!0,Le=we.dataReady,j=M(N,Fe);if(N.isDepthTexture)dt=n.DEPTH_COMPONENT16,N.type===zn?dt=n.DEPTH_COMPONENT32F:N.type===ha?dt=n.DEPTH_COMPONENT24:N.type===dc&&(dt=n.DEPTH24_STENCIL8),Ie&&(Y?t.texStorage2D(n.TEXTURE_2D,1,dt,Fe.width,Fe.height):t.texImage2D(n.TEXTURE_2D,0,dt,Fe.width,Fe.height,0,st,Rt,null));else if(N.isDataTexture)if(at.length>0){Y&&Ie&&t.texStorage2D(n.TEXTURE_2D,j,dt,at[0].width,at[0].height);for(let xe=0,$=at.length;xe<$;xe++)je=at[xe],Y?Le&&t.texSubImage2D(n.TEXTURE_2D,xe,0,0,je.width,je.height,st,Rt,je.data):t.texImage2D(n.TEXTURE_2D,xe,dt,je.width,je.height,0,st,Rt,je.data);N.generateMipmaps=!1}else Y?(Ie&&t.texStorage2D(n.TEXTURE_2D,j,dt,Fe.width,Fe.height),Le&&t.texSubImage2D(n.TEXTURE_2D,0,0,0,Fe.width,Fe.height,st,Rt,Fe.data)):t.texImage2D(n.TEXTURE_2D,0,dt,Fe.width,Fe.height,0,st,Rt,Fe.data);else if(N.isCompressedTexture)if(N.isCompressedArrayTexture){Y&&Ie&&t.texStorage3D(n.TEXTURE_2D_ARRAY,j,dt,at[0].width,at[0].height,Fe.depth);for(let xe=0,$=at.length;xe<$;xe++)je=at[xe],N.format!==ei?st!==null?Y?Le&&t.compressedTexSubImage3D(n.TEXTURE_2D_ARRAY,xe,0,0,0,je.width,je.height,Fe.depth,st,je.data,0,0):t.compressedTexImage3D(n.TEXTURE_2D_ARRAY,xe,dt,je.width,je.height,Fe.depth,0,je.data,0,0):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):Y?Le&&t.texSubImage3D(n.TEXTURE_2D_ARRAY,xe,0,0,0,je.width,je.height,Fe.depth,st,Rt,je.data):t.texImage3D(n.TEXTURE_2D_ARRAY,xe,dt,je.width,je.height,Fe.depth,0,st,Rt,je.data)}else{Y&&Ie&&t.texStorage2D(n.TEXTURE_2D,j,dt,at[0].width,at[0].height);for(let xe=0,$=at.length;xe<$;xe++)je=at[xe],N.format!==ei?st!==null?Y?Le&&t.compressedTexSubImage2D(n.TEXTURE_2D,xe,0,0,je.width,je.height,st,je.data):t.compressedTexImage2D(n.TEXTURE_2D,xe,dt,je.width,je.height,0,je.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):Y?Le&&t.texSubImage2D(n.TEXTURE_2D,xe,0,0,je.width,je.height,st,Rt,je.data):t.texImage2D(n.TEXTURE_2D,xe,dt,je.width,je.height,0,st,Rt,je.data)}else if(N.isDataArrayTexture)Y?(Ie&&t.texStorage3D(n.TEXTURE_2D_ARRAY,j,dt,Fe.width,Fe.height,Fe.depth),Le&&t.texSubImage3D(n.TEXTURE_2D_ARRAY,0,0,0,0,Fe.width,Fe.height,Fe.depth,st,Rt,Fe.data)):t.texImage3D(n.TEXTURE_2D_ARRAY,0,dt,Fe.width,Fe.height,Fe.depth,0,st,Rt,Fe.data);else if(N.isData3DTexture)Y?(Ie&&t.texStorage3D(n.TEXTURE_3D,j,dt,Fe.width,Fe.height,Fe.depth),Le&&t.texSubImage3D(n.TEXTURE_3D,0,0,0,0,Fe.width,Fe.height,Fe.depth,st,Rt,Fe.data)):t.texImage3D(n.TEXTURE_3D,0,dt,Fe.width,Fe.height,Fe.depth,0,st,Rt,Fe.data);else if(N.isFramebufferTexture){if(Ie)if(Y)t.texStorage2D(n.TEXTURE_2D,j,dt,Fe.width,Fe.height);else{let xe=Fe.width,$=Fe.height;for(let Ne=0;Ne>=1,$>>=1}}else if(at.length>0){if(Y&&Ie){const xe=lt(at[0]);t.texStorage2D(n.TEXTURE_2D,j,dt,xe.width,xe.height)}for(let xe=0,$=at.length;xe<$;xe++)je=at[xe],Y?Le&&t.texSubImage2D(n.TEXTURE_2D,xe,0,0,st,Rt,je):t.texImage2D(n.TEXTURE_2D,xe,dt,st,Rt,je);N.generateMipmaps=!1}else if(Y){if(Ie){const xe=lt(Fe);t.texStorage2D(n.TEXTURE_2D,j,dt,xe.width,xe.height)}Le&&t.texSubImage2D(n.TEXTURE_2D,0,0,0,st,Rt,Fe)}else t.texImage2D(n.TEXTURE_2D,0,dt,st,Rt,Fe);_(N)&&g(Ae),rt.__version=we.version,N.onUpdate&&N.onUpdate(N)}W.__version=N.version}function He(W,N,ue){if(N.image.length!==6)return;const Ae=he(W,N),be=N.source;t.bindTexture(n.TEXTURE_CUBE_MAP,W.__webglTexture,n.TEXTURE0+ue);const we=i.get(be);if(be.version!==we.__version||Ae===!0){t.activeTexture(n.TEXTURE0+ue);const rt=tn.getPrimaries(tn.workingColorSpace),Ve=N.colorSpace===$s?null:tn.getPrimaries(N.colorSpace),ze=N.colorSpace===$s||rt===Ve?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,N.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,N.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,N.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,ze);const yt=N.isCompressedTexture||N.image[0].isCompressedTexture,Fe=N.image[0]&&N.image[0].isDataTexture,st=[];for(let $=0;$<6;$++)!yt&&!Fe?st[$]=A(N.image[$],!0,r.maxCubemapSize):st[$]=Fe?N.image[$].image:N.image[$],st[$]=Ye(N,st[$]);const Rt=st[0],dt=s.convert(N.format,N.colorSpace),je=s.convert(N.type),at=S(N.internalFormat,dt,je,N.colorSpace),Y=N.isVideoTexture!==!0,Ie=we.__version===void 0||Ae===!0,Le=be.dataReady;let j=M(N,Rt);J(n.TEXTURE_CUBE_MAP,N);let xe;if(yt){Y&&Ie&&t.texStorage2D(n.TEXTURE_CUBE_MAP,j,at,Rt.width,Rt.height);for(let $=0;$<6;$++){xe=st[$].mipmaps;for(let Ne=0;Ne0&&j++;const $=lt(st[0]);t.texStorage2D(n.TEXTURE_CUBE_MAP,j,at,$.width,$.height)}for(let $=0;$<6;$++)if(Fe){Y?Le&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+$,0,0,0,st[$].width,st[$].height,dt,je,st[$].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+$,0,at,st[$].width,st[$].height,0,dt,je,st[$].data);for(let Ne=0;Ne>we),st=Math.max(1,N.height>>we);be===n.TEXTURE_3D||be===n.TEXTURE_2D_ARRAY?t.texImage3D(be,we,ze,Fe,st,N.depth,0,rt,Ve,null):t.texImage2D(be,we,ze,Fe,st,0,rt,Ve,null)}t.bindFramebuffer(n.FRAMEBUFFER,W),Ue(N)?a.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,Ae,be,i.get(ue).__webglTexture,0,Ee(N)):(be===n.TEXTURE_2D||be>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&be<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,Ae,be,i.get(ue).__webglTexture,we),t.bindFramebuffer(n.FRAMEBUFFER,null)}function Re(W,N,ue){if(n.bindRenderbuffer(n.RENDERBUFFER,W),N.depthBuffer&&!N.stencilBuffer){let Ae=n.DEPTH_COMPONENT24;if(ue||Ue(N)){const be=N.depthTexture;be&&be.isDepthTexture&&(be.type===zn?Ae=n.DEPTH_COMPONENT32F:be.type===ha&&(Ae=n.DEPTH_COMPONENT24));const we=Ee(N);Ue(N)?a.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,we,Ae,N.width,N.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,we,Ae,N.width,N.height)}else n.renderbufferStorage(n.RENDERBUFFER,Ae,N.width,N.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,W)}else if(N.depthBuffer&&N.stencilBuffer){const Ae=Ee(N);ue&&Ue(N)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,Ae,n.DEPTH24_STENCIL8,N.width,N.height):Ue(N)?a.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Ae,n.DEPTH24_STENCIL8,N.width,N.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,N.width,N.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,W)}else{const Ae=N.textures;for(let be=0;be1;if(rt||(Ae.__webglTexture===void 0&&(Ae.__webglTexture=n.createTexture()),Ae.__version=N.version,o.memory.textures++),we){ue.__webglFramebuffer=[];for(let Ve=0;Ve<6;Ve++)if(N.mipmaps&&N.mipmaps.length>0){ue.__webglFramebuffer[Ve]=[];for(let ze=0;ze0){ue.__webglFramebuffer=[];for(let Ve=0;Ve0&&Ue(W)===!1){ue.__webglMultisampledFramebuffer=n.createFramebuffer(),ue.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,ue.__webglMultisampledFramebuffer);for(let Ve=0;Ve0)for(let ze=0;ze0)for(let ze=0;ze0){if(Ue(W)===!1){const N=W.textures,ue=W.width,Ae=W.height;let be=n.COLOR_BUFFER_BIT;const we=W.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,rt=i.get(W),Ve=N.length>1;if(Ve)for(let ze=0;ze0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&N.__useRenderToTexture!==!1}function Be(W){const N=o.render.frame;f.get(W)!==N&&(f.set(W,N),W.update())}function Ye(W,N){const ue=W.colorSpace,Ae=W.format,be=W.type;return W.isCompressedTexture===!0||W.isVideoTexture===!0||ue!==Wn&&ue!==$s&&(tn.getTransfer(ue)===fn?(Ae!==ei||be!==yr)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",ue)),N}function lt(W){return typeof HTMLImageElement<"u"&&W instanceof HTMLImageElement?(u.width=W.naturalWidth||W.width,u.height=W.naturalHeight||W.height):typeof VideoFrame<"u"&&W instanceof VideoFrame?(u.width=W.displayWidth,u.height=W.displayHeight):(u.width=W.width,u.height=W.height),u}this.allocateTextureUnit=U,this.resetTextureUnits=C,this.setTexture2D=X,this.setTexture2DArray=q,this.setTexture3D=ie,this.setTextureCube=oe,this.rebindTextures=ft,this.setupRenderTarget=Mt,this.updateRenderTargetMipmap=ne,this.updateMultisampleRenderTarget=Ce,this.setupDepthRenderbuffer=Pe,this.setupFrameBufferTexture=ae,this.useMultisampledRTT=Ue}function LI(n,e){function t(i,r=$s){let s;const o=tn.getTransfer(r);if(i===yr)return n.UNSIGNED_BYTE;if(i===UA)return n.UNSIGNED_SHORT_4_4_4_4;if(i===kA)return n.UNSIGNED_SHORT_5_5_5_1;if(i===qb)return n.UNSIGNED_INT_5_9_9_9_REV;if(i===FA)return n.BYTE;if(i===NA)return n.SHORT;if(i===OA)return n.UNSIGNED_SHORT;if(i===_g)return n.INT;if(i===ha)return n.UNSIGNED_INT;if(i===zn)return n.FLOAT;if(i===gi)return n.HALF_FLOAT;if(i===$b)return n.ALPHA;if(i===eI)return n.RGB;if(i===ei)return n.RGBA;if(i===tI)return n.LUMINANCE;if(i===nI)return n.LUMINANCE_ALPHA;if(i===cl)return n.DEPTH_COMPONENT;if(i===nc)return n.DEPTH_STENCIL;if(i===xg)return n.RED;if(i===HA)return n.RED_INTEGER;if(i===iI)return n.RG;if(i===zA)return n.RG_INTEGER;if(i===GA)return n.RGBA_INTEGER;if(i===pm||i===mm||i===gm||i===vm)if(o===fn)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(i===pm)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(i===mm)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(i===gm)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(i===vm)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(i===pm)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(i===mm)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(i===gm)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(i===vm)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(i===J_||i===K_||i===Y_||i===Q_)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(i===J_)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(i===K_)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(i===Y_)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(i===Q_)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(i===Z_||i===q_||i===$_)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(i===Z_||i===q_)return o===fn?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(i===$_)return o===fn?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(i===ex||i===tx||i===nx||i===ix||i===rx||i===sx||i===ox||i===ax||i===lx||i===ux||i===cx||i===hx||i===fx||i===dx)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(i===ex)return o===fn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(i===tx)return o===fn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(i===nx)return o===fn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(i===ix)return o===fn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(i===rx)return o===fn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(i===sx)return o===fn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(i===ox)return o===fn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(i===ax)return o===fn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(i===lx)return o===fn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(i===ux)return o===fn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(i===cx)return o===fn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(i===hx)return o===fn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(i===fx)return o===fn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(i===dx)return o===fn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(i===ym||i===px||i===mx)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(i===ym)return o===fn?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(i===px)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(i===mx)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(i===rI||i===gx||i===vx||i===yx)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(i===ym)return s.COMPRESSED_RED_RGTC1_EXT;if(i===gx)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(i===vx)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(i===yx)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return i===dc?n.UNSIGNED_INT_24_8:n[i]!==void 0?n[i]:null}return{convert:t}}class DI extends Mn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class Gr extends kt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const jk={type:"move"};class ty{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Gr,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 Gr,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new O,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new O),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Gr,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new O,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new O),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 A of e.hand.values()){const _=t.getJointPose(A,i),g=this._getHandJoint(u,A);_!==null&&(g.matrix.fromArray(_.transform.matrix),g.matrix.decompose(g.position,g.rotation,g.scale),g.matrixWorldNeedsUpdate=!0,g.jointRadius=_.radius),g.visible=_!==null}const f=u.joints["index-finger-tip"],d=u.joints["thumb-tip"],p=f.position.distanceTo(d.position),m=.02,y=.005;u.inputState.pinching&&p>m+y?(u.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!u.inputState.pinching&&p<=m-y&&(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(jk)))}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 Gr;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const Jk=` +void main() { + + gl_Position = vec4( position, 1.0 ); + +}`,Kk=` +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_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; + + } else { + + gl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; + + } + +}`;class Yk{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,i){if(this.texture===null){const r=new Jt,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 Vi({vertexShader:Jk,fragmentShader:Kk,uniforms:{depthColor:{value:this.texture},depthWidth:{value:i.z},depthHeight:{value:i.w}}});this.mesh=new an(new yo(20,20),r)}e.render(this.mesh,t)}}reset(){this.texture=null,this.mesh=null}}class Qk extends Ls{constructor(e,t){super();const i=this;let r=null,s=1,o=null,a="local-floor",l=1,u=null,f=null,d=null,p=null,m=null,y=null;const A=new Yk,_=t.getContextAttributes();let g=null,S=null;const M=[],w=[],L=new pe;let I=null;const P=new Mn;P.layers.enable(1),P.viewport=new on;const D=new Mn;D.layers.enable(2),D.viewport=new on;const b=[P,D],C=new DI;C.layers.enable(1),C.layers.enable(2);let U=null,K=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(ae){let Re=M[ae];return Re===void 0&&(Re=new ty,M[ae]=Re),Re.getTargetRaySpace()},this.getControllerGrip=function(ae){let Re=M[ae];return Re===void 0&&(Re=new ty,M[ae]=Re),Re.getGripSpace()},this.getHand=function(ae){let Re=M[ae];return Re===void 0&&(Re=new ty,M[ae]=Re),Re.getHandSpace()};function X(ae){const Re=w.indexOf(ae.inputSource);if(Re===-1)return;const Te=M[Re];Te!==void 0&&(Te.update(ae.inputSource,ae.frame,u||o),Te.dispatchEvent({type:ae.type,data:ae.inputSource}))}function q(){r.removeEventListener("select",X),r.removeEventListener("selectstart",X),r.removeEventListener("selectend",X),r.removeEventListener("squeeze",X),r.removeEventListener("squeezestart",X),r.removeEventListener("squeezeend",X),r.removeEventListener("end",q),r.removeEventListener("inputsourceschange",ie);for(let ae=0;ae=0&&(w[Pe]=null,M[Pe].disconnect(Te))}for(let Re=0;Re=w.length){w.push(Te),Pe=Mt;break}else if(w[Mt]===null){w[Mt]=Te,Pe=Mt;break}if(Pe===-1)break}const ft=M[Pe];ft&&ft.connect(Te)}}const oe=new O,Se=new O;function k(ae,Re,Te){oe.setFromMatrixPosition(Re.matrixWorld),Se.setFromMatrixPosition(Te.matrixWorld);const Pe=oe.distanceTo(Se),ft=Re.projectionMatrix.elements,Mt=Te.projectionMatrix.elements,ne=ft[14]/(ft[10]-1),pt=ft[14]/(ft[10]+1),ge=(ft[9]+1)/ft[5],Ce=(ft[9]-1)/ft[5],Ee=(ft[8]-1)/ft[0],Ue=(Mt[8]+1)/Mt[0],Be=ne*Ee,Ye=ne*Ue,lt=Pe/(-Ee+Ue),W=lt*-Ee;Re.matrixWorld.decompose(ae.position,ae.quaternion,ae.scale),ae.translateX(W),ae.translateZ(lt),ae.matrixWorld.compose(ae.position,ae.quaternion,ae.scale),ae.matrixWorldInverse.copy(ae.matrixWorld).invert();const N=ne+lt,ue=pt+lt,Ae=Be-W,be=Ye+(Pe-W),we=ge*pt/ue*N,rt=Ce*pt/ue*N;ae.projectionMatrix.makePerspective(Ae,be,we,rt,N,ue),ae.projectionMatrixInverse.copy(ae.projectionMatrix).invert()}function Z(ae,Re){Re===null?ae.matrixWorld.copy(ae.matrix):ae.matrixWorld.multiplyMatrices(Re.matrixWorld,ae.matrix),ae.matrixWorldInverse.copy(ae.matrixWorld).invert()}this.updateCamera=function(ae){if(r===null)return;A.texture!==null&&(ae.near=A.depthNear,ae.far=A.depthFar),C.near=D.near=P.near=ae.near,C.far=D.far=P.far=ae.far,(U!==C.near||K!==C.far)&&(r.updateRenderState({depthNear:C.near,depthFar:C.far}),U=C.near,K=C.far,P.near=U,P.far=K,D.near=U,D.far=K,P.updateProjectionMatrix(),D.updateProjectionMatrix(),ae.updateProjectionMatrix());const Re=ae.parent,Te=C.cameras;Z(C,Re);for(let Pe=0;Pe0&&(_.alphaTest.value=g.alphaTest);const S=e.get(g),M=S.envMap,w=S.envMapRotation;if(M&&(_.envMap.value=M,Da.copy(w),Da.x*=-1,Da.y*=-1,Da.z*=-1,M.isCubeTexture&&M.isRenderTargetTexture===!1&&(Da.y*=-1,Da.z*=-1),_.envMapRotation.value.setFromMatrix4(Zk.makeRotationFromEuler(Da)),_.flipEnvMap.value=M.isCubeTexture&&M.isRenderTargetTexture===!1?-1:1,_.reflectivity.value=g.reflectivity,_.ior.value=g.ior,_.refractionRatio.value=g.refractionRatio),g.lightMap){_.lightMap.value=g.lightMap;const L=n._useLegacyLights===!0?Math.PI:1;_.lightMapIntensity.value=g.lightMapIntensity*L,t(g.lightMap,_.lightMapTransform)}g.aoMap&&(_.aoMap.value=g.aoMap,_.aoMapIntensity.value=g.aoMapIntensity,t(g.aoMap,_.aoMapTransform))}function o(_,g){_.diffuse.value.copy(g.color),_.opacity.value=g.opacity,g.map&&(_.map.value=g.map,t(g.map,_.mapTransform))}function a(_,g){_.dashSize.value=g.dashSize,_.totalSize.value=g.dashSize+g.gapSize,_.scale.value=g.scale}function l(_,g,S,M){_.diffuse.value.copy(g.color),_.opacity.value=g.opacity,_.size.value=g.size*S,_.scale.value=M*.5,g.map&&(_.map.value=g.map,t(g.map,_.uvTransform)),g.alphaMap&&(_.alphaMap.value=g.alphaMap,t(g.alphaMap,_.alphaMapTransform)),g.alphaTest>0&&(_.alphaTest.value=g.alphaTest)}function u(_,g){_.diffuse.value.copy(g.color),_.opacity.value=g.opacity,_.rotation.value=g.rotation,g.map&&(_.map.value=g.map,t(g.map,_.mapTransform)),g.alphaMap&&(_.alphaMap.value=g.alphaMap,t(g.alphaMap,_.alphaMapTransform)),g.alphaTest>0&&(_.alphaTest.value=g.alphaTest)}function f(_,g){_.specular.value.copy(g.specular),_.shininess.value=Math.max(g.shininess,1e-4)}function d(_,g){g.gradientMap&&(_.gradientMap.value=g.gradientMap)}function p(_,g){_.metalness.value=g.metalness,g.metalnessMap&&(_.metalnessMap.value=g.metalnessMap,t(g.metalnessMap,_.metalnessMapTransform)),_.roughness.value=g.roughness,g.roughnessMap&&(_.roughnessMap.value=g.roughnessMap,t(g.roughnessMap,_.roughnessMapTransform)),g.envMap&&(_.envMapIntensity.value=g.envMapIntensity)}function m(_,g,S){_.ior.value=g.ior,g.sheen>0&&(_.sheenColor.value.copy(g.sheenColor).multiplyScalar(g.sheen),_.sheenRoughness.value=g.sheenRoughness,g.sheenColorMap&&(_.sheenColorMap.value=g.sheenColorMap,t(g.sheenColorMap,_.sheenColorMapTransform)),g.sheenRoughnessMap&&(_.sheenRoughnessMap.value=g.sheenRoughnessMap,t(g.sheenRoughnessMap,_.sheenRoughnessMapTransform))),g.clearcoat>0&&(_.clearcoat.value=g.clearcoat,_.clearcoatRoughness.value=g.clearcoatRoughness,g.clearcoatMap&&(_.clearcoatMap.value=g.clearcoatMap,t(g.clearcoatMap,_.clearcoatMapTransform)),g.clearcoatRoughnessMap&&(_.clearcoatRoughnessMap.value=g.clearcoatRoughnessMap,t(g.clearcoatRoughnessMap,_.clearcoatRoughnessMapTransform)),g.clearcoatNormalMap&&(_.clearcoatNormalMap.value=g.clearcoatNormalMap,t(g.clearcoatNormalMap,_.clearcoatNormalMapTransform),_.clearcoatNormalScale.value.copy(g.clearcoatNormalScale),g.side===Gi&&_.clearcoatNormalScale.value.negate())),g.dispersion>0&&(_.dispersion.value=g.dispersion),g.iridescence>0&&(_.iridescence.value=g.iridescence,_.iridescenceIOR.value=g.iridescenceIOR,_.iridescenceThicknessMinimum.value=g.iridescenceThicknessRange[0],_.iridescenceThicknessMaximum.value=g.iridescenceThicknessRange[1],g.iridescenceMap&&(_.iridescenceMap.value=g.iridescenceMap,t(g.iridescenceMap,_.iridescenceMapTransform)),g.iridescenceThicknessMap&&(_.iridescenceThicknessMap.value=g.iridescenceThicknessMap,t(g.iridescenceThicknessMap,_.iridescenceThicknessMapTransform))),g.transmission>0&&(_.transmission.value=g.transmission,_.transmissionSamplerMap.value=S.texture,_.transmissionSamplerSize.value.set(S.width,S.height),g.transmissionMap&&(_.transmissionMap.value=g.transmissionMap,t(g.transmissionMap,_.transmissionMapTransform)),_.thickness.value=g.thickness,g.thicknessMap&&(_.thicknessMap.value=g.thicknessMap,t(g.thicknessMap,_.thicknessMapTransform)),_.attenuationDistance.value=g.attenuationDistance,_.attenuationColor.value.copy(g.attenuationColor)),g.anisotropy>0&&(_.anisotropyVector.value.set(g.anisotropy*Math.cos(g.anisotropyRotation),g.anisotropy*Math.sin(g.anisotropyRotation)),g.anisotropyMap&&(_.anisotropyMap.value=g.anisotropyMap,t(g.anisotropyMap,_.anisotropyMapTransform))),_.specularIntensity.value=g.specularIntensity,_.specularColor.value.copy(g.specularColor),g.specularColorMap&&(_.specularColorMap.value=g.specularColorMap,t(g.specularColorMap,_.specularColorMapTransform)),g.specularIntensityMap&&(_.specularIntensityMap.value=g.specularIntensityMap,t(g.specularIntensityMap,_.specularIntensityMapTransform))}function y(_,g){g.matcap&&(_.matcap.value=g.matcap)}function A(_,g){const S=e.get(g).light;_.referencePosition.value.setFromMatrixPosition(S.matrixWorld),_.nearDistance.value=S.shadow.camera.near,_.farDistance.value=S.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function $k(n,e,t,i){let r={},s={},o=[];const a=n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS);function l(S,M){const w=M.program;i.uniformBlockBinding(S,w)}function u(S,M){let w=r[S.id];w===void 0&&(y(S),w=f(S),r[S.id]=w,S.addEventListener("dispose",_));const L=M.program;i.updateUBOMapping(S,L);const I=e.render.frame;s[S.id]!==I&&(p(S),s[S.id]=I)}function f(S){const M=d();S.__bindingPointIndex=M;const w=n.createBuffer(),L=S.__size,I=S.usage;return n.bindBuffer(n.UNIFORM_BUFFER,w),n.bufferData(n.UNIFORM_BUFFER,L,I),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,M,w),w}function d(){for(let S=0;S0&&(w+=L-I),S.__size=w,S.__cache={},this}function A(S){const M={boundary:0,storage:0};return typeof S=="number"||typeof S=="boolean"?(M.boundary=4,M.storage=4):S.isVector2?(M.boundary=8,M.storage=8):S.isVector3||S.isColor?(M.boundary=16,M.storage=12):S.isVector4?(M.boundary=16,M.storage=16):S.isMatrix3?(M.boundary=48,M.storage=48):S.isMatrix4?(M.boundary=64,M.storage=64):S.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",S),M}function _(S){const M=S.target;M.removeEventListener("dispose",_);const w=o.indexOf(M.__bindingPointIndex);o.splice(w,1),n.deleteBuffer(r[M.id]),delete r[M.id],delete s[M.id]}function g(){for(const S in r)n.deleteBuffer(r[S]);o=[],r={},s={}}return{bind:l,update:u,dispose:g}}class nS{constructor(e={}){const{canvas:t=_I(),context:i=null,depth:r=!0,stencil:s=!1,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:u=!1,powerPreference:f="default",failIfMajorPerformanceCaveat:d=!1}=e;this.isWebGLRenderer=!0;let p;if(i!==null){if(typeof WebGLRenderingContext<"u"&&i instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");p=i.getContextAttributes().alpha}else p=o;const m=new Uint32Array(4),y=new Int32Array(4);let A=null,_=null;const g=[],S=[];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=ui,this._useLegacyLights=!1,this.toneMapping=Rs,this.toneMappingExposure=1;const M=this;let w=!1,L=0,I=0,P=null,D=-1,b=null;const C=new on,U=new on;let K=null;const X=new ke(0);let q=0,ie=t.width,oe=t.height,Se=1,k=null,Z=null;const J=new on(0,0,ie,oe),he=new on(0,0,ie,oe);let Me=!1;const He=new Cf;let ae=!1,Re=!1;const Te=new $e,Pe=new O,ft={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Mt(){return P===null?Se:1}let ne=i;function pt(T,F){return t.getContext(T,F)}try{const T={alpha:!0,depth:r,stencil:s,antialias:a,premultipliedAlpha:l,preserveDrawingBuffer:u,powerPreference:f,failIfMajorPerformanceCaveat:d};if("setAttribute"in t&&t.setAttribute("data-engine",`three.js r${wl}`),t.addEventListener("webglcontextlost",j,!1),t.addEventListener("webglcontextrestored",xe,!1),t.addEventListener("webglcontextcreationerror",$,!1),ne===null){const F="webgl2";if(ne=pt(F,T),ne===null)throw pt(F)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(T){throw console.error("THREE.WebGLRenderer: "+T.message),T}let ge,Ce,Ee,Ue,Be,Ye,lt,W,N,ue,Ae,be,we,rt,Ve,ze,yt,Fe,st,Rt,dt,je,at,Y;function Ie(){ge=new fU(ne),ge.init(),je=new LI(ne,ge),Ce=new oU(ne,ge,e,je),Ee=new Wk(ne),Ue=new mU(ne),Be=new Bk,Ye=new Xk(ne,ge,Ee,Be,Ce,je,Ue),lt=new lU(M),W=new hU(M),N=new SN(ne),at=new rU(ne,N),ue=new dU(ne,N,Ue,at),Ae=new vU(ne,ue,N,Ue),st=new gU(ne,Ce,Ye),ze=new aU(Be),be=new Pk(M,lt,W,ge,Ce,at,ze),we=new qk(M,Be),rt=new Dk,Ve=new Hk(ge),Fe=new iU(M,lt,W,Ee,Ae,p,l),yt=new Vk(M,Ae,Ce),Y=new $k(ne,Ue,Ce,Ee),Rt=new sU(ne,ge,Ue),dt=new pU(ne,ge,Ue),Ue.programs=be.programs,M.capabilities=Ce,M.extensions=ge,M.properties=Be,M.renderLists=rt,M.shadowMap=yt,M.state=Ee,M.info=Ue}Ie();const Le=new Qk(M,ne);this.xr=Le,this.getContext=function(){return ne},this.getContextAttributes=function(){return ne.getContextAttributes()},this.forceContextLoss=function(){const T=ge.get("WEBGL_lose_context");T&&T.loseContext()},this.forceContextRestore=function(){const T=ge.get("WEBGL_lose_context");T&&T.restoreContext()},this.getPixelRatio=function(){return Se},this.setPixelRatio=function(T){T!==void 0&&(Se=T,this.setSize(ie,oe,!1))},this.getSize=function(T){return T.set(ie,oe)},this.setSize=function(T,F,H=!0){if(Le.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}ie=T,oe=F,t.width=Math.floor(T*Se),t.height=Math.floor(F*Se),H===!0&&(t.style.width=T+"px",t.style.height=F+"px"),this.setViewport(0,0,T,F)},this.getDrawingBufferSize=function(T){return T.set(ie*Se,oe*Se).floor()},this.setDrawingBufferSize=function(T,F,H){ie=T,oe=F,Se=H,t.width=Math.floor(T*H),t.height=Math.floor(F*H),this.setViewport(0,0,T,F)},this.getCurrentViewport=function(T){return T.copy(C)},this.getViewport=function(T){return T.copy(J)},this.setViewport=function(T,F,H,z){T.isVector4?J.set(T.x,T.y,T.z,T.w):J.set(T,F,H,z),Ee.viewport(C.copy(J).multiplyScalar(Se).round())},this.getScissor=function(T){return T.copy(he)},this.setScissor=function(T,F,H,z){T.isVector4?he.set(T.x,T.y,T.z,T.w):he.set(T,F,H,z),Ee.scissor(U.copy(he).multiplyScalar(Se).round())},this.getScissorTest=function(){return Me},this.setScissorTest=function(T){Ee.setScissorTest(Me=T)},this.setOpaqueSort=function(T){k=T},this.setTransparentSort=function(T){Z=T},this.getClearColor=function(T){return T.copy(Fe.getClearColor())},this.setClearColor=function(){Fe.setClearColor.apply(Fe,arguments)},this.getClearAlpha=function(){return Fe.getClearAlpha()},this.setClearAlpha=function(){Fe.setClearAlpha.apply(Fe,arguments)},this.clear=function(T=!0,F=!0,H=!0){let z=0;if(T){let G=!1;if(P!==null){const se=P.texture.format;G=se===GA||se===zA||se===HA}if(G){const se=P.texture.type,le=se===yr||se===ha||se===OA||se===dc||se===UA||se===kA,fe=Fe.getClearColor(),me=Fe.getClearAlpha(),_e=fe.r,ye=fe.g,qe=fe.b;le?(m[0]=_e,m[1]=ye,m[2]=qe,m[3]=me,ne.clearBufferuiv(ne.COLOR,0,m)):(y[0]=_e,y[1]=ye,y[2]=qe,y[3]=me,ne.clearBufferiv(ne.COLOR,0,y))}else z|=ne.COLOR_BUFFER_BIT}F&&(z|=ne.DEPTH_BUFFER_BIT),H&&(z|=ne.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),ne.clear(z)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener("webglcontextlost",j,!1),t.removeEventListener("webglcontextrestored",xe,!1),t.removeEventListener("webglcontextcreationerror",$,!1),rt.dispose(),Ve.dispose(),Be.dispose(),lt.dispose(),W.dispose(),Ae.dispose(),at.dispose(),Y.dispose(),be.dispose(),Le.dispose(),Le.removeEventListener("sessionstart",Lt),Le.removeEventListener("sessionend",Nn),mn.stop()};function j(T){T.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),w=!0}function xe(){console.log("THREE.WebGLRenderer: Context Restored."),w=!1;const T=Ue.autoReset,F=yt.enabled,H=yt.autoUpdate,z=yt.needsUpdate,G=yt.type;Ie(),Ue.autoReset=T,yt.enabled=F,yt.autoUpdate=H,yt.needsUpdate=z,yt.type=G}function $(T){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",T.statusMessage)}function Ne(T){const F=T.target;F.removeEventListener("dispose",Ne),Ze(F)}function Ze(T){Ot(T),Be.remove(T)}function Ot(T){const F=Be.get(T).programs;F!==void 0&&(F.forEach(function(H){be.releaseProgram(H)}),T.isShaderMaterial&&be.releaseShaderCache(T))}this.renderBufferDirect=function(T,F,H,z,G,se){F===null&&(F=ft);const le=G.isMesh&&G.matrixWorld.determinant()<0,fe=Fl(T,F,H,z,G);Ee.setMaterial(z,le);let me=H.index,_e=1;if(z.wireframe===!0){if(me=ue.getWireframeAttribute(H),me===void 0)return;_e=2}const ye=H.drawRange,qe=H.attributes.position;let Ge=ye.start*_e,Je=(ye.start+ye.count)*_e;se!==null&&(Ge=Math.max(Ge,se.start*_e),Je=Math.min(Je,(se.start+se.count)*_e)),me!==null?(Ge=Math.max(Ge,0),Je=Math.min(Je,me.count)):qe!=null&&(Ge=Math.max(Ge,0),Je=Math.min(Je,qe.count));const ut=Je-Ge;if(ut<0||ut===1/0)return;at.setup(G,z,fe,H,me);let mt,nt=Rt;if(me!==null&&(mt=N.get(me),nt=dt,nt.setIndex(mt)),G.isMesh)z.wireframe===!0?(Ee.setLineWidth(z.wireframeLinewidth*Mt()),nt.setMode(ne.LINES)):nt.setMode(ne.TRIANGLES);else if(G.isLine){let We=z.linewidth;We===void 0&&(We=1),Ee.setLineWidth(We*Mt()),G.isLineSegments?nt.setMode(ne.LINES):G.isLineLoop?nt.setMode(ne.LINE_LOOP):nt.setMode(ne.LINE_STRIP)}else G.isPoints?nt.setMode(ne.POINTS):G.isSprite&&nt.setMode(ne.TRIANGLES);if(G.isBatchedMesh)G._multiDrawInstances!==null?nt.renderMultiDrawInstances(G._multiDrawStarts,G._multiDrawCounts,G._multiDrawCount,G._multiDrawInstances):nt.renderMultiDraw(G._multiDrawStarts,G._multiDrawCounts,G._multiDrawCount);else if(G.isInstancedMesh)nt.renderInstances(Ge,ut,G.count);else if(H.isInstancedBufferGeometry){const We=H._maxInstanceCount!==void 0?H._maxInstanceCount:1/0,vt=Math.min(H.instanceCount,We);nt.renderInstances(Ge,ut,vt)}else nt.render(Ge,ut)};function Bt(T,F,H){T.transparent===!0&&T.side===hr&&T.forceSinglePass===!1?(T.side=Gi,T.needsUpdate=!0,Mr(T,F,H),T.side=us,T.needsUpdate=!0,Mr(T,F,H),T.side=hr):Mr(T,F,H)}this.compile=function(T,F,H=null){H===null&&(H=T),_=Ve.get(H),_.init(F),S.push(_),H.traverseVisible(function(G){G.isLight&&G.layers.test(F.layers)&&(_.pushLight(G),G.castShadow&&_.pushShadow(G))}),T!==H&&T.traverseVisible(function(G){G.isLight&&G.layers.test(F.layers)&&(_.pushLight(G),G.castShadow&&_.pushShadow(G))}),_.setupLights(M._useLegacyLights);const z=new Set;return T.traverse(function(G){const se=G.material;if(se)if(Array.isArray(se))for(let le=0;le{function se(){if(z.forEach(function(le){Be.get(le).currentProgram.isReady()&&z.delete(le)}),z.size===0){G(T);return}setTimeout(se,10)}ge.get("KHR_parallel_shader_compile")!==null?se():setTimeout(se,10)})};let Ht=null;function hn(T){Ht&&Ht(T)}function Lt(){mn.stop()}function Nn(){mn.start()}const mn=new CI;mn.setAnimationLoop(hn),typeof self<"u"&&mn.setContext(self),this.setAnimationLoop=function(T){Ht=T,Le.setAnimationLoop(T),T===null?mn.stop():mn.start()},Le.addEventListener("sessionstart",Lt),Le.addEventListener("sessionend",Nn),this.render=function(T,F){if(F!==void 0&&F.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(w===!0)return;T.matrixWorldAutoUpdate===!0&&T.updateMatrixWorld(),F.parent===null&&F.matrixWorldAutoUpdate===!0&&F.updateMatrixWorld(),Le.enabled===!0&&Le.isPresenting===!0&&(Le.cameraAutoUpdate===!0&&Le.updateCamera(F),F=Le.getCamera()),T.isScene===!0&&T.onBeforeRender(M,T,F,P),_=Ve.get(T,S.length),_.init(F),S.push(_),Te.multiplyMatrices(F.projectionMatrix,F.matrixWorldInverse),He.setFromProjectionMatrix(Te),Re=this.localClippingEnabled,ae=ze.init(this.clippingPlanes,Re),A=rt.get(T,g.length),A.init(),g.push(A),Bl(T,F,0,M.sortObjects),A.finish(),M.sortObjects===!0&&A.sort(k,Z);const H=Le.enabled===!1||Le.isPresenting===!1||Le.hasDepthSensing()===!1;H&&Fe.addToRenderList(A,T),this.info.render.frame++,ae===!0&&ze.beginShadows();const z=_.state.shadowsArray;yt.render(z,T,F),ae===!0&&ze.endShadows(),this.info.autoReset===!0&&this.info.reset();const G=A.opaque,se=A.transmissive;if(_.setupLights(M._useLegacyLights),F.isArrayCamera){const le=F.cameras;if(se.length>0)for(let fe=0,me=le.length;fe0&&Dl(G,se,T,F),H&&Fe.render(T),Ll(A,T,F);P!==null&&(Ye.updateMultisampleRenderTarget(P),Ye.updateRenderTargetMipmap(P)),T.isScene===!0&&T.onAfterRender(M,T,F),at.resetDefaultState(),D=-1,b=null,S.pop(),S.length>0?(_=S[S.length-1],ae===!0&&ze.setGlobalState(M.clippingPlanes,_.state.camera)):_=null,g.pop(),g.length>0?A=g[g.length-1]:A=null};function Bl(T,F,H,z){if(T.visible===!1)return;if(T.layers.test(F.layers)){if(T.isGroup)H=T.renderOrder;else if(T.isLOD)T.autoUpdate===!0&&T.update(F);else if(T.isLight)_.pushLight(T),T.castShadow&&_.pushShadow(T);else if(T.isSprite){if(!T.frustumCulled||He.intersectsSprite(T)){z&&Pe.setFromMatrixPosition(T.matrixWorld).applyMatrix4(Te);const le=Ae.update(T),fe=T.material;fe.visible&&A.push(T,le,fe,H,Pe.z,null)}}else if((T.isMesh||T.isLine||T.isPoints)&&(!T.frustumCulled||He.intersectsObject(T))){const le=Ae.update(T),fe=T.material;if(z&&(T.boundingSphere!==void 0?(T.boundingSphere===null&&T.computeBoundingSphere(),Pe.copy(T.boundingSphere.center)):(le.boundingSphere===null&&le.computeBoundingSphere(),Pe.copy(le.boundingSphere.center)),Pe.applyMatrix4(T.matrixWorld).applyMatrix4(Te)),Array.isArray(fe)){const me=le.groups;for(let _e=0,ye=me.length;_e0&&Sr(G,F,H),se.length>0&&Sr(se,F,H),le.length>0&&Sr(le,F,H),Ee.buffers.depth.setTest(!0),Ee.buffers.depth.setMask(!0),Ee.buffers.color.setMask(!0),Ee.setPolygonOffset(!1)}function Dl(T,F,H,z){if((H.isScene===!0?H.overrideMaterial:null)!==null)return;_.state.transmissionRenderTarget[z.id]===void 0&&(_.state.transmissionRenderTarget[z.id]=new _r(1,1,{generateMipmaps:!0,type:ge.has("EXT_color_buffer_half_float")||ge.has("EXT_color_buffer_float")?gi:yr,minFilter:$i,samples:4,stencilBuffer:s,resolveDepthBuffer:!1,resolveStencilBuffer:!1}));const se=_.state.transmissionRenderTarget[z.id],le=z.viewport||C;se.setSize(le.z,le.w);const fe=M.getRenderTarget();M.setRenderTarget(se),M.getClearColor(X),q=M.getClearAlpha(),q<1&&M.setClearColor(16777215,.5),M.clear();const me=M.toneMapping;M.toneMapping=Rs;const _e=z.viewport;if(z.viewport!==void 0&&(z.viewport=void 0),_.setupLightsView(z),ae===!0&&ze.setGlobalState(M.clippingPlanes,z),Sr(T,H,z),Ye.updateMultisampleRenderTarget(se),Ye.updateRenderTargetMipmap(se),ge.has("WEBGL_multisampled_render_to_texture")===!1){let ye=!1;for(let qe=0,Ge=F.length;qe0),qe=!!H.morphAttributes.position,Ge=!!H.morphAttributes.normal,Je=!!H.morphAttributes.color;let ut=Rs;z.toneMapped&&(P===null||P.isXRRenderTarget===!0)&&(ut=M.toneMapping);const mt=H.morphAttributes.position||H.morphAttributes.normal||H.morphAttributes.color,nt=mt!==void 0?mt.length:0,We=Be.get(z),vt=_.state.lights;if(ae===!0&&(Re===!0||T!==b)){const wt=T===b&&z.id===D;ze.setState(z,T,wt)}let et=!1;z.version===We.__version?(We.needsLights&&We.lightsStateVersion!==vt.state.version||We.outputColorSpace!==fe||G.isBatchedMesh&&We.batching===!1||!G.isBatchedMesh&&We.batching===!0||G.isInstancedMesh&&We.instancing===!1||!G.isInstancedMesh&&We.instancing===!0||G.isSkinnedMesh&&We.skinning===!1||!G.isSkinnedMesh&&We.skinning===!0||G.isInstancedMesh&&We.instancingColor===!0&&G.instanceColor===null||G.isInstancedMesh&&We.instancingColor===!1&&G.instanceColor!==null||G.isInstancedMesh&&We.instancingMorph===!0&&G.morphTexture===null||G.isInstancedMesh&&We.instancingMorph===!1&&G.morphTexture!==null||We.envMap!==me||z.fog===!0&&We.fog!==se||We.numClippingPlanes!==void 0&&(We.numClippingPlanes!==ze.numPlanes||We.numIntersection!==ze.numIntersection)||We.vertexAlphas!==_e||We.vertexTangents!==ye||We.morphTargets!==qe||We.morphNormals!==Ge||We.morphColors!==Je||We.toneMapping!==ut||We.morphTargetsCount!==nt)&&(et=!0):(et=!0,We.__version=z.version);let Et=We.currentProgram;et===!0&&(Et=Mr(z,F,G));let nn=!1,St=!1,rn=!1;const Kt=Et.getUniforms(),sn=We.uniforms;if(Ee.useProgram(Et.program)&&(nn=!0,St=!0,rn=!0),z.id!==D&&(D=z.id,St=!0),nn||b!==T){Kt.setValue(ne,"projectionMatrix",T.projectionMatrix),Kt.setValue(ne,"viewMatrix",T.matrixWorldInverse);const wt=Kt.map.cameraPosition;wt!==void 0&&wt.setValue(ne,Pe.setFromMatrixPosition(T.matrixWorld)),Ce.logarithmicDepthBuffer&&Kt.setValue(ne,"logDepthBufFC",2/(Math.log(T.far+1)/Math.LN2)),(z.isMeshPhongMaterial||z.isMeshToonMaterial||z.isMeshLambertMaterial||z.isMeshBasicMaterial||z.isMeshStandardMaterial||z.isShaderMaterial)&&Kt.setValue(ne,"isOrthographic",T.isOrthographicCamera===!0),b!==T&&(b=T,St=!0,rn=!0)}if(G.isSkinnedMesh){Kt.setOptional(ne,G,"bindMatrix"),Kt.setOptional(ne,G,"bindMatrixInverse");const wt=G.skeleton;wt&&(wt.boneTexture===null&&wt.computeBoneTexture(),Kt.setValue(ne,"boneTexture",wt.boneTexture,Ye))}G.isBatchedMesh&&(Kt.setOptional(ne,G,"batchingTexture"),Kt.setValue(ne,"batchingTexture",G._matricesTexture,Ye));const On=H.morphAttributes;if((On.position!==void 0||On.normal!==void 0||On.color!==void 0)&&st.update(G,H,Et),(St||We.receiveShadow!==G.receiveShadow)&&(We.receiveShadow=G.receiveShadow,Kt.setValue(ne,"receiveShadow",G.receiveShadow)),z.isMeshGouraudMaterial&&z.envMap!==null&&(sn.envMap.value=me,sn.flipEnvMap.value=me.isCubeTexture&&me.isRenderTargetTexture===!1?-1:1),z.isMeshStandardMaterial&&z.envMap===null&&F.environment!==null&&(sn.envMapIntensity.value=F.environmentIntensity),St&&(Kt.setValue(ne,"toneMappingExposure",M.toneMappingExposure),We.needsLights&&_c(sn,rn),se&&z.fog===!0&&we.refreshFogUniforms(sn,se),we.refreshMaterialUniforms(sn,z,Se,oe,_.state.transmissionRenderTarget[T.id]),xm.upload(ne,ji(We),sn,Ye)),z.isShaderMaterial&&z.uniformsNeedUpdate===!0&&(xm.upload(ne,ji(We),sn,Ye),z.uniformsNeedUpdate=!1),z.isSpriteMaterial&&Kt.setValue(ne,"center",G.center),Kt.setValue(ne,"modelViewMatrix",G.modelViewMatrix),Kt.setValue(ne,"normalMatrix",G.normalMatrix),Kt.setValue(ne,"modelMatrix",G.matrixWorld),z.isShaderMaterial||z.isRawShaderMaterial){const wt=z.uniformsGroups;for(let En=0,$t=wt.length;En<$t;En++){const Wt=wt[En];Y.update(Wt,Et),Y.bind(Wt,Et)}}return Et}function _c(T,F){T.ambientLightColor.needsUpdate=F,T.lightProbe.needsUpdate=F,T.directionalLights.needsUpdate=F,T.directionalLightShadows.needsUpdate=F,T.pointLights.needsUpdate=F,T.pointLightShadows.needsUpdate=F,T.spotLights.needsUpdate=F,T.spotLightShadows.needsUpdate=F,T.rectAreaLights.needsUpdate=F,T.hemisphereLights.needsUpdate=F}function B(T){return T.isMeshLambertMaterial||T.isMeshToonMaterial||T.isMeshPhongMaterial||T.isMeshStandardMaterial||T.isShadowMaterial||T.isShaderMaterial&&T.lights===!0}this.getActiveCubeFace=function(){return L},this.getActiveMipmapLevel=function(){return I},this.getRenderTarget=function(){return P},this.setRenderTargetTextures=function(T,F,H){Be.get(T.texture).__webglTexture=F,Be.get(T.depthTexture).__webglTexture=H;const z=Be.get(T);z.__hasExternalTextures=!0,z.__autoAllocateDepthBuffer=H===void 0,z.__autoAllocateDepthBuffer||ge.has("WEBGL_multisampled_render_to_texture")===!0&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),z.__useRenderToTexture=!1)},this.setRenderTargetFramebuffer=function(T,F){const H=Be.get(T);H.__webglFramebuffer=F,H.__useDefaultFramebuffer=F===void 0},this.setRenderTarget=function(T,F=0,H=0){P=T,L=F,I=H;let z=!0,G=null,se=!1,le=!1;if(T){const me=Be.get(T);me.__useDefaultFramebuffer!==void 0?(Ee.bindFramebuffer(ne.FRAMEBUFFER,null),z=!1):me.__webglFramebuffer===void 0?Ye.setupRenderTarget(T):me.__hasExternalTextures&&Ye.rebindTextures(T,Be.get(T.texture).__webglTexture,Be.get(T.depthTexture).__webglTexture);const _e=T.texture;(_e.isData3DTexture||_e.isDataArrayTexture||_e.isCompressedArrayTexture)&&(le=!0);const ye=Be.get(T).__webglFramebuffer;T.isWebGLCubeRenderTarget?(Array.isArray(ye[F])?G=ye[F][H]:G=ye[F],se=!0):T.samples>0&&Ye.useMultisampledRTT(T)===!1?G=Be.get(T).__webglMultisampledFramebuffer:Array.isArray(ye)?G=ye[H]:G=ye,C.copy(T.viewport),U.copy(T.scissor),K=T.scissorTest}else C.copy(J).multiplyScalar(Se).floor(),U.copy(he).multiplyScalar(Se).floor(),K=Me;if(Ee.bindFramebuffer(ne.FRAMEBUFFER,G)&&z&&Ee.drawBuffers(T,G),Ee.viewport(C),Ee.scissor(U),Ee.setScissorTest(K),se){const me=Be.get(T.texture);ne.framebufferTexture2D(ne.FRAMEBUFFER,ne.COLOR_ATTACHMENT0,ne.TEXTURE_CUBE_MAP_POSITIVE_X+F,me.__webglTexture,H)}else if(le){const me=Be.get(T.texture),_e=F||0;ne.framebufferTextureLayer(ne.FRAMEBUFFER,ne.COLOR_ATTACHMENT0,me.__webglTexture,H||0,_e)}D=-1},this.readRenderTargetPixels=function(T,F,H,z,G,se,le){if(!(T&&T.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let fe=Be.get(T).__webglFramebuffer;if(T.isWebGLCubeRenderTarget&&le!==void 0&&(fe=fe[le]),fe){Ee.bindFramebuffer(ne.FRAMEBUFFER,fe);try{const me=T.texture,_e=me.format,ye=me.type;if(!Ce.textureFormatReadable(_e)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!Ce.textureTypeReadable(ye)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}F>=0&&F<=T.width-z&&H>=0&&H<=T.height-G&&ne.readPixels(F,H,z,G,je.convert(_e),je.convert(ye),se)}finally{const me=P!==null?Be.get(P).__webglFramebuffer:null;Ee.bindFramebuffer(ne.FRAMEBUFFER,me)}}},this.copyFramebufferToTexture=function(T,F,H=0){const z=Math.pow(2,-H),G=Math.floor(F.image.width*z),se=Math.floor(F.image.height*z);Ye.setTexture2D(F,0),ne.copyTexSubImage2D(ne.TEXTURE_2D,H,0,0,T.x,T.y,G,se),Ee.unbindTexture()},this.copyTextureToTexture=function(T,F,H,z=0){const G=F.image.width,se=F.image.height,le=je.convert(H.format),fe=je.convert(H.type);Ye.setTexture2D(H,0),ne.pixelStorei(ne.UNPACK_FLIP_Y_WEBGL,H.flipY),ne.pixelStorei(ne.UNPACK_PREMULTIPLY_ALPHA_WEBGL,H.premultiplyAlpha),ne.pixelStorei(ne.UNPACK_ALIGNMENT,H.unpackAlignment),F.isDataTexture?ne.texSubImage2D(ne.TEXTURE_2D,z,T.x,T.y,G,se,le,fe,F.image.data):F.isCompressedTexture?ne.compressedTexSubImage2D(ne.TEXTURE_2D,z,T.x,T.y,F.mipmaps[0].width,F.mipmaps[0].height,le,F.mipmaps[0].data):ne.texSubImage2D(ne.TEXTURE_2D,z,T.x,T.y,le,fe,F.image),z===0&&H.generateMipmaps&&ne.generateMipmap(ne.TEXTURE_2D),Ee.unbindTexture()},this.copyTextureToTexture3D=function(T,F,H,z,G=0){const se=T.max.x-T.min.x,le=T.max.y-T.min.y,fe=T.max.z-T.min.z,me=je.convert(z.format),_e=je.convert(z.type);let ye;if(z.isData3DTexture)Ye.setTexture3D(z,0),ye=ne.TEXTURE_3D;else if(z.isDataArrayTexture||z.isCompressedArrayTexture)Ye.setTexture2DArray(z,0),ye=ne.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}ne.pixelStorei(ne.UNPACK_FLIP_Y_WEBGL,z.flipY),ne.pixelStorei(ne.UNPACK_PREMULTIPLY_ALPHA_WEBGL,z.premultiplyAlpha),ne.pixelStorei(ne.UNPACK_ALIGNMENT,z.unpackAlignment);const qe=ne.getParameter(ne.UNPACK_ROW_LENGTH),Ge=ne.getParameter(ne.UNPACK_IMAGE_HEIGHT),Je=ne.getParameter(ne.UNPACK_SKIP_PIXELS),ut=ne.getParameter(ne.UNPACK_SKIP_ROWS),mt=ne.getParameter(ne.UNPACK_SKIP_IMAGES),nt=H.isCompressedTexture?H.mipmaps[G]:H.image;ne.pixelStorei(ne.UNPACK_ROW_LENGTH,nt.width),ne.pixelStorei(ne.UNPACK_IMAGE_HEIGHT,nt.height),ne.pixelStorei(ne.UNPACK_SKIP_PIXELS,T.min.x),ne.pixelStorei(ne.UNPACK_SKIP_ROWS,T.min.y),ne.pixelStorei(ne.UNPACK_SKIP_IMAGES,T.min.z),H.isDataTexture||H.isData3DTexture?ne.texSubImage3D(ye,G,F.x,F.y,F.z,se,le,fe,me,_e,nt.data):z.isCompressedArrayTexture?ne.compressedTexSubImage3D(ye,G,F.x,F.y,F.z,se,le,fe,me,nt.data):ne.texSubImage3D(ye,G,F.x,F.y,F.z,se,le,fe,me,_e,nt),ne.pixelStorei(ne.UNPACK_ROW_LENGTH,qe),ne.pixelStorei(ne.UNPACK_IMAGE_HEIGHT,Ge),ne.pixelStorei(ne.UNPACK_SKIP_PIXELS,Je),ne.pixelStorei(ne.UNPACK_SKIP_ROWS,ut),ne.pixelStorei(ne.UNPACK_SKIP_IMAGES,mt),G===0&&z.generateMipmaps&&ne.generateMipmap(ye),Ee.unbindTexture()},this.initTexture=function(T){T.isCubeTexture?Ye.setTextureCube(T,0):T.isData3DTexture?Ye.setTexture3D(T,0):T.isDataArrayTexture||T.isCompressedArrayTexture?Ye.setTexture2DArray(T,0):Ye.setTexture2D(T,0),Ee.unbindTexture()},this.resetState=function(){L=0,I=0,P=null,Ee.reset(),at.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Es}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===Sg?"display-p3":"srgb",t.unpackColorSpace=tn.workingColorSpace===Ef?"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 wg{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new ke(e),this.density=t}clone(){return new wg(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class Tg{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new ke(e),this.near=t,this.far=i}clone(){return new Tg(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class sc extends kt{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 ir,this.environmentIntensity=1,this.environmentRotation=new ir,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class mc{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=af,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=mr()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return xI("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:Zc.clone(),uv:fr.getInterpolation(Zc,yp,$c,_p,cw,ny,hw,new pe),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 xp(n,e,t,i,r,s){pu.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(qc.x=s*pu.x-r*pu.y,qc.y=r*pu.x+s*pu.y):qc.copy(pu),n.copy(e),n.x+=qc.x,n.y+=qc.y,n.applyMatrix4(FI)}const Ap=new O,fw=new O;class OI extends kt{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){Ap.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(Ap);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Ap.setFromMatrixPosition(e.matrixWorld),fw.setFromMatrixPosition(this.matrixWorld);const i=Ap.distanceTo(fw)/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 gu="batchId",Fo=new $e,Aw=new $e,oH=new $e,Sw=new $e,sy=new Cf,Ep=new hi,Fa=new Vn,nh=new O,oy=new sH,Ii=new an,wp=[];function aH(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 xt(a,1))}const o=r>65536?new Uint32Array(i):new Uint16Array(i);t.setAttribute(gu,new xt(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(gu))throw new Error(`BatchedMesh: Geometry cannot use attribute "${gu}"`);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===gu)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 hi);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(),f=u!==null;if(f&&(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 d=this._visibility,p=this._active,m=this._matricesTexture,y=this._matricesTexture.image.data;d.push(!0),p.push(!0);const A=this._geometryCount;this._geometryCount++,oH.toArray(y,A*16),m.needsUpdate=!0,o.push(r),a.push({start:f?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new hi,sphereInitialized:!1,sphere:new Vn});const _=this.geometry.getAttribute(gu);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===gu)continue;const y=t.getAttribute(m),A=i.getAttribute(m);aH(y,A,l);const _=y.itemSize;for(let g=y.count,S=u;g=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getInstanceCountAt(e){return this._multiDrawInstances===null?null:this._multiDrawInstances[e]}setInstanceCountAt(e,t){return this._multiDrawInstances===null&&(this._multiDrawInstances=new Int32Array(this._maxGeometryCount).fill(1)),this._multiDrawInstances[e]=t,e}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 f=u.start,d=u.start+u.count;f=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;Ii.material=this.material,Ii.geometry.index=l.index,Ii.geometry.attributes=l.attributes,Ii.geometry.boundingBox===null&&(Ii.geometry.boundingBox=new hi),Ii.geometry.boundingSphere===null&&(Ii.geometry.boundingSphere=new Vn);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,f=this._multiDrawStarts,d=this._multiDrawCounts,p=this._drawRanges,m=this.perObjectFrustumCulled;m&&(Sw.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),sy.setFromProjectionMatrix(Sw,e.coordinateSystem));let y=0;if(this.sortObjects){Aw.copy(this.matrixWorld).invert(),nh.setFromMatrixPosition(i.matrixWorld).applyMatrix4(Aw);for(let g=0,S=u.length;g0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;si)return;ay.applyMatrix4(n.matrixWorld);const l=e.ray.origin.distanceTo(ay);if(!(le.far))return{distance:l,point:Ew.clone().applyMatrix4(n.matrixWorld),index:r,face:null,faceIndex:null,object:n}}const ww=new O,Tw=new O;class jr extends Ps{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,i=[];for(let r=0,s=t.count;r0){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 lH extends Jt{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:jt,this.magFilter=s!==void 0?s:jt,this.generateMipmaps=!1;const f=this;function d(){f.needsUpdate=!0,e.requestVideoFrameCallback(d)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(d)}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 uH extends Jt{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=Yn,this.minFilter=Yn,this.generateMipmaps=!1,this.needsUpdate=!0}}class Ig extends Jt{constructor(e,t,i,r,s,o,a,l,u,f,d,p){super(null,o,a,l,u,f,r,s,d,p),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class cH extends Ig{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=Dn}}class hH extends Ig{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,Is),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class fH extends Jt{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 hs{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 f=i[r],p=i[r+1]-f,m=(o-f)/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 pe:new O);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 O,r=[],s=[],o=[],a=new O,l=new $e;for(let m=0;m<=e;m++){const y=m/e;r[m]=this.getTangentAt(y,new O)}s[0]=new O,o[0]=new O;let u=Number.MAX_VALUE;const f=Math.abs(r[0].x),d=Math.abs(r[0].y),p=Math.abs(r[0].z);f<=u&&(u=f,i.set(1,0,0)),d<=u&&(u=d,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 y=Math.acos(Ln(r[m-1].dot(r[m]),-1,1));s[m].applyMatrix4(l.makeRotationAxis(a,y))}o[m].crossVectors(r[m],s[m])}if(t===!0){let m=Math.acos(Ln(s[0].dot(s[e]),-1,1));m/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(m=-m);for(let y=1;y<=e;y++)s[y].applyMatrix4(l.makeRotationAxis(r[y],m*y)),o[y].crossVectors(r[y],s[y])}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 Pg extends hs{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 pe){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,f;this.closed||a>0?u=r[(a-1)%s]:(Ip.subVectors(r[0],r[1]).add(r[0]),u=Ip);const d=r[a%s],p=r[(a+1)%s];if(this.closed||a+2r.length-2?r.length-1:o+1],d=r[o>r.length-3?r.length-1:o+2];return i.set(bw(a,l.x,u.x,f.x,d.x),bw(a,l.y,u.y,f.y,d.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 d=u.getPoint(0);d.equals(this.currentPoint)||this.lineTo(d.x,d.y)}this.curves.push(u);const f=u.getPoint(1);return this.currentPoint.copy(f),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 Pf extends At{constructor(e=[new pe(0,-.5),new pe(.5,0),new pe(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=Ln(r,0,Math.PI*2);const s=[],o=[],a=[],l=[],u=[],f=1/t,d=new O,p=new pe,m=new O,y=new O,A=new O;let _=0,g=0;for(let S=0;S<=e.length-1;S++)switch(S){case 0:_=e[S+1].x-e[S].x,g=e[S+1].y-e[S].y,m.x=g*1,m.y=-_,m.z=g*0,A.copy(m),m.normalize(),l.push(m.x,m.y,m.z);break;case e.length-1:l.push(A.x,A.y,A.z);break;default:_=e[S+1].x-e[S].x,g=e[S+1].y-e[S].y,m.x=g*1,m.y=-_,m.z=g*0,y.copy(m),m.x+=A.x,m.y+=A.y,m.z+=A.z,m.normalize(),l.push(m.x,m.y,m.z),A.copy(y)}for(let S=0;S<=t;S++){const M=i+S*f*r,w=Math.sin(M),L=Math.cos(M);for(let I=0;I<=e.length-1;I++){d.x=e[I].x*w,d.y=e[I].y,d.z=e[I].x*L,o.push(d.x,d.y,d.z),p.x=S/t,p.y=I/(e.length-1),a.push(p.x,p.y);const P=l[3*I+0]*w,D=l[3*I+1],b=l[3*I+0]*L;u.push(P,D,b)}}for(let S=0;S0&&M(!0),t>0&&M(!1)),this.setIndex(f),this.setAttribute("position",new ot(d,3)),this.setAttribute("normal",new ot(p,3)),this.setAttribute("uv",new ot(m,2));function S(){const w=new O,L=new O;let I=0;const P=(t-e)/i;for(let D=0;D<=s;D++){const b=[],C=D/s,U=C*(t-e)+e;for(let K=0;K<=r;K++){const X=K/r,q=X*l+a,ie=Math.sin(q),oe=Math.cos(q);L.x=U*ie,L.y=-C*i+_,L.z=U*oe,d.push(L.x,L.y,L.z),w.set(ie,P,oe).normalize(),p.push(w.x,w.y,w.z),m.push(X,1-C),b.push(y++)}A.push(b)}for(let D=0;D.9&&P<.1&&(M<.2&&(o[S+0]+=1),w<.2&&(o[S+2]+=1),L<.2&&(o[S+4]+=1))}}function p(S){s.push(S.x,S.y,S.z)}function m(S,M){const w=S*3;M.x=e[w+0],M.y=e[w+1],M.z=e[w+2]}function y(){const S=new O,M=new O,w=new O,L=new O,I=new pe,P=new pe,D=new pe;for(let b=0,C=0;b80*t){a=u=n[0],l=f=n[1];for(let y=t;yu&&(u=d),p>f&&(f=p);m=Math.max(u-a,f-l),m=m!==0?32767/m:0}return hf(s,o,t,a,l,m,0),o}};function XI(n,e,t,i,r){let s,o;if(r===NH(n,e,t,i)>0)for(s=e;s=e;s-=i)o=Iw(s,n[s],n[s+1],o);return o&&Og(o,o.next)&&(df(o),o=o.next),o}function Al(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(Og(t,t.next)||Cn(t.prev,t,t.next)===0)){if(df(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function hf(n,e,t,i,r,s,o){if(!n)return;!o&&s&&IH(n,i,r,s);let a=n,l,u;for(;n.prev!==n.next;){if(l=n.prev,u=n.next,s?SH(n,i,r,s):AH(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(u.i/t|0),df(n),n=u.next,a=u.next;continue}if(n=u,n===a){o?o===1?(n=MH(Al(n),e,t),hf(n,e,t,i,r,s,2)):o===2&&EH(n,e,t,i,r,s):hf(Al(n),e,t,i,r,s,1);break}}}function AH(n){const e=n.prev,t=n,i=n.next;if(Cn(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,f=rs?r>o?r:o:s>o?s:o,m=a>l?a>u?a:u:l>u?l:u;let y=i.next;for(;y!==e;){if(y.x>=f&&y.x<=p&&y.y>=d&&y.y<=m&&Fu(r,a,s,l,o,u,y.x,y.y)&&Cn(y.prev,y,y.next)>=0)return!1;y=y.next}return!0}function SH(n,e,t,i){const r=n.prev,s=n,o=n.next;if(Cn(r,s,o)>=0)return!1;const a=r.x,l=s.x,u=o.x,f=r.y,d=s.y,p=o.y,m=al?a>u?a:u:l>u?l:u,_=f>d?f>p?f:p:d>p?d:p,g=Ex(m,y,e,t,i),S=Ex(A,_,e,t,i);let M=n.prevZ,w=n.nextZ;for(;M&&M.z>=g&&w&&w.z<=S;){if(M.x>=m&&M.x<=A&&M.y>=y&&M.y<=_&&M!==r&&M!==o&&Fu(a,f,l,d,u,p,M.x,M.y)&&Cn(M.prev,M,M.next)>=0||(M=M.prevZ,w.x>=m&&w.x<=A&&w.y>=y&&w.y<=_&&w!==r&&w!==o&&Fu(a,f,l,d,u,p,w.x,w.y)&&Cn(w.prev,w,w.next)>=0))return!1;w=w.nextZ}for(;M&&M.z>=g;){if(M.x>=m&&M.x<=A&&M.y>=y&&M.y<=_&&M!==r&&M!==o&&Fu(a,f,l,d,u,p,M.x,M.y)&&Cn(M.prev,M,M.next)>=0)return!1;M=M.prevZ}for(;w&&w.z<=S;){if(w.x>=m&&w.x<=A&&w.y>=y&&w.y<=_&&w!==r&&w!==o&&Fu(a,f,l,d,u,p,w.x,w.y)&&Cn(w.prev,w,w.next)>=0)return!1;w=w.nextZ}return!0}function MH(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!Og(r,s)&&jI(r,i,i.next,s)&&ff(r,s)&&ff(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),df(i),df(i.next),i=n=s),i=i.next}while(i!==n);return Al(i)}function EH(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&LH(o,a)){let l=JI(o,a);o=Al(o,o.next),l=Al(l,l.next),hf(o,e,t,i,r,s,0),hf(l,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function wH(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&&Fu(or.x||t.x===r.x&&bH(r,t)))&&(r=t,f=d)),t=t.next;while(t!==a);return r}function bH(n,e){return Cn(n.prev,n,e.prev)<0&&Cn(e.next,n,n.next)<0}function IH(n,e,t,i){let r=n;do r.z===0&&(r.z=Ex(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,PH(r)}function PH(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 Ex(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 BH(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 LH(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!DH(n,e)&&(ff(n,e)&&ff(e,n)&&FH(n,e)&&(Cn(n.prev,n,e.prev)||Cn(n,e.prev,e))||Og(n,e)&&Cn(n.prev,n,n.next)>0&&Cn(e.prev,e,e.next)>0)}function Cn(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function Og(n,e){return n.x===e.x&&n.y===e.y}function jI(n,e,t,i){const r=Fp(Cn(n,e,t)),s=Fp(Cn(n,e,i)),o=Fp(Cn(t,i,n)),a=Fp(Cn(t,i,e));return!!(r!==s&&o!==a||r===0&&Dp(n,t,e)||s===0&&Dp(n,i,e)||o===0&&Dp(t,n,i)||a===0&&Dp(t,e,i))}function Dp(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 Fp(n){return n>0?1:n<0?-1:0}function DH(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&&jI(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function ff(n,e){return Cn(n.prev,n,n.next)<0?Cn(n,e,n.next)>=0&&Cn(n,n.prev,e)>=0:Cn(n,e,n.prev)<0||Cn(n,n.next,e)<0}function FH(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 JI(n,e){const t=new wx(n.i,n.x,n.y),i=new wx(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 Iw(n,e,t,i){const r=new wx(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 df(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 wx(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 NH(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function Bw(n,e){for(let t=0;tNumber.EPSILON){const we=Math.sqrt(Ae),rt=Math.sqrt(N*N+ue*ue),Ve=Ce.x-W/we,ze=Ce.y+lt/we,yt=Ee.x-ue/rt,Fe=Ee.y+N/rt,st=((yt-Ve)*ue-(Fe-ze)*N)/(lt*ue-W*N);Ue=Ve+lt*st-ge.x,Be=ze+W*st-ge.y;const Rt=Ue*Ue+Be*Be;if(Rt<=2)return new pe(Ue,Be);Ye=Math.sqrt(Rt/2)}else{let we=!1;lt>Number.EPSILON?N>Number.EPSILON&&(we=!0):lt<-Number.EPSILON?N<-Number.EPSILON&&(we=!0):Math.sign(W)===Math.sign(ue)&&(we=!0),we?(Ue=-W,Be=lt,Ye=Math.sqrt(Ae)):(Ue=lt,Be=W,Ye=Math.sqrt(Ae/2))}return new pe(Ue/Ye,Be/Ye)}const Z=[];for(let ge=0,Ce=q.length,Ee=Ce-1,Ue=ge+1;ge=0;ge--){const Ce=ge/_,Ee=m*Math.cos(Ce*Math.PI/2),Ue=y*Math.sin(Ce*Math.PI/2)+A;for(let Be=0,Ye=q.length;Be=0;){const Ue=Ee;let Be=Ee-1;Be<0&&(Be=ge.length-1);for(let Ye=0,lt=f+_*2;Ye0)&&m.push(M,w,I),(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 dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class ZI extends _n{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new ke(16777215),this.specular=new ke(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new ke(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ga,this.normalScale=new pe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new ir,this.combine=Af,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 qI extends _n{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new ke(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new ke(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ga,this.normalScale=new pe(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 $I extends _n{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ga,this.normalScale=new pe(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 eP extends _n{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new ke(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new ke(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ga,this.normalScale=new pe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new ir,this.combine=Af,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 tP extends _n{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new ke(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ga,this.normalScale=new pe(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 nP extends xi{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 il(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 iP(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function rP(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 Tx(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 uS(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 HH(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let l=0;l=i)){d.push(u.times[m]);for(let A=0;As.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[y]){const g=y*d+f,S=g+d-f;A=a.values.slice(g,S)}else{const g=a.createInterpolant(),S=f,M=d-f;g.evaluate(s),A=g.resultBuffer.slice(S,M)}l==="quaternion"&&new un().fromArray(A).normalize().conjugate().toArray(A);const _=u.times.length;for(let g=0;g<_;++g){const S=g*m+p;if(l==="quaternion")un.multiplyQuaternionsFlat(u.values,S,A,0,u.values,S);else{const M=m-p*2;for(let w=0;w=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&&iP(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()===_m,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}}fs.prototype.TimeBufferType=Float32Array;fs.prototype.ValueBufferType=Float32Array;fs.prototype.DefaultInterpolation=ho;class Rl extends fs{}Rl.prototype.ValueTypeName="bool";Rl.prototype.ValueBufferType=Array;Rl.prototype.DefaultInterpolation=_l;Rl.prototype.InterpolantFactoryMethodLinear=void 0;Rl.prototype.InterpolantFactoryMethodSmooth=void 0;class hS extends fs{}hS.prototype.ValueTypeName="color";class po extends fs{}po.prototype.ValueTypeName="number";class aP extends Cl{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 f=u+a;u!==f;u+=4)un.slerpFlat(s,0,o,u-a,o,u,l);return s}}class Bs extends fs{InterpolantFactoryMethodLinear(e){return new aP(this.times,this.values,this.getValueSize(),e)}}Bs.prototype.ValueTypeName="quaternion";Bs.prototype.DefaultInterpolation=ho;Bs.prototype.InterpolantFactoryMethodSmooth=void 0;class bl extends fs{}bl.prototype.ValueTypeName="string";bl.prototype.ValueBufferType=Array;bl.prototype.DefaultInterpolation=_l;bl.prototype.InterpolantFactoryMethodLinear=void 0;bl.prototype.InterpolantFactoryMethodSmooth=void 0;class mo extends fs{}mo.prototype.ValueTypeName="vector";class Sl{constructor(e="",t=-1,i=[],r=Ag){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=mr(),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(WH(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(fs.toJSON(i[s]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const s=t.length,o=[];for(let a=0;a1){const d=f[1];let p=r[d];p||(r[d]=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(d,p,m,y,A){if(m.length!==0){const _=[],g=[];uS(m,_,g,y),_.length!==0&&A.push(new d(p,_,g))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const u=e.hierarchy||[];for(let d=0;d{t&&t(s),this.manager.itemEnd(e)},0),s;if(Js[e]!==void 0){Js[e].push({onLoad:t,onProgress:i,onError:r});return}Js[e]=[],Js[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 f=Js[e],d=u.body.getReader(),p=u.headers.get("X-File-Size")||u.headers.get("Content-Length"),m=p?parseInt(p):0,y=m!==0;let A=0;const _=new ReadableStream({start(g){S();function S(){d.read().then(({done:M,value:w})=>{if(M)g.close();else{A+=w.byteLength;const L=new ProgressEvent("progress",{lengthComputable:y,loaded:A,total:m});for(let I=0,P=f.length;I{switch(l){case"arraybuffer":return u.arrayBuffer();case"blob":return u.blob();case"document":return u.text().then(f=>new DOMParser().parseFromString(f,a));case"json":return u.json();default:if(a===void 0)return u.text();{const d=/charset="?([^;"\s]*)"?/i.exec(a),p=d&&d[1]?d[1].toLowerCase():void 0,m=new TextDecoder(p);return u.arrayBuffer().then(y=>m.decode(y))}}}).then(u=>{io.add(e,u);const f=Js[e];delete Js[e];for(let d=0,p=f.length;d{const f=Js[e];if(f===void 0)throw this.manager.itemError(e),u;delete Js[e];for(let d=0,p=f.length;d{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class jH extends fi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new ti(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 ke().setHex(o.value);break;case"v2":r.uniforms[s].value=new pe().fromArray(o.value);break;case"v3":r.uniforms[s].value=new O().fromArray(o.value);break;case"v4":r.uniforms[s].value=new on().fromArray(o.value);break;case"m3":r.uniforms[s].value=new bt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new $e().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 pe().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 pe().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:YI,SpriteMaterial:iS,RawShaderMaterial:QI,ShaderMaterial:Vi,PointsMaterial:If,MeshPhysicalMaterial:Fn,MeshStandardMaterial:Tl,MeshPhongMaterial:ZI,MeshToonMaterial:qI,MeshNormalMaterial:$I,MeshLambertMaterial:eP,MeshDepthMaterial:eS,MeshDistanceMaterial:tS,MeshBasicMaterial:Gn,MeshMatcapMaterial:tP,LineDashedMaterial:nP,LineBasicMaterial:xi,Material:_n};return new t[e]}}class gr{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 Wg(t);s=new pf(l),s.setCrossOrigin(this.crossOrigin);for(let u=0,f=e.length;u0){r=new pf(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const _=new hi;_.min.fromArray(A.boxMin),_.max.fromArray(A.boxMax);const g=new Vn;return g.radius=A.sphereRadius,g.center.fromArray(A.sphereCenter),{boxInitialized:A.boxInitialized,box:_,sphereInitialized:A.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 OI;break;case"Line":o=new Ps(a(e.geometry),l(e.material));break;case"LineLoop":o=new Rg(a(e.geometry),l(e.material));break;case"LineSegments":o=new jr(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new bg(a(e.geometry),l(e.material));break;case"Sprite":o=new NI(l(e.material));break;case"Group":o=new Gr;break;case"Bone":o=new Rf;break;default:o=new kt}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=io.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 io.add(e,u),t&&t(u),s.manager.itemEnd(e),u}).catch(function(u){r&&r(u),io.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});io.add(e,l),s.manager.itemStart(e)}}let Np;class gS{static getContext(){return Np===void 0&&(Np=new(window.AudioContext||window.webkitAudioContext)),Np}static setContext(e){Np=e}}class $H extends fi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new ti(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);gS.getContext().decodeAudioData(u,function(d){t(d)}).catch(a)}catch(u){a(u)}},i,r);function a(l){r?r(l):console.error(l),s.manager.itemError(e)}}}const Hw=new $e,zw=new $e,Na=new $e;class ez{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Mn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Mn,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,Na.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(hl*t.fov*.5)/t.zoom;let a,l;zw.elements[12]=-r,Hw.elements[12]=r,a=-o*t.aspect+s,l=o*t.aspect+s,Na.elements[0]=2*t.near/(l-a),Na.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(Na),a=-o*t.aspect-s,l=o*t.aspect-s,Na.elements[0]=2*t.near/(l-a),Na.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(Na)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(zw),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Hw)}}class vS{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Gw(),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=Gw();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function Gw(){return(typeof performance>"u"?Date:performance).now()}const Oa=new O,Vw=new un,tz=new O,Ua=new O;class nz extends kt{constructor(){super(),this.type="AudioListener",this.context=gS.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new vS}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(Oa,Vw,tz),Ua.set(0,0,-1).applyQuaternion(Vw),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Oa.x,r),t.positionY.linearRampToValueAtTime(Oa.y,r),t.positionZ.linearRampToValueAtTime(Oa.z,r),t.forwardX.linearRampToValueAtTime(Ua.x,r),t.forwardY.linearRampToValueAtTime(Ua.y,r),t.forwardZ.linearRampToValueAtTime(Ua.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition(Oa.x,Oa.y,Oa.z),t.setOrientation(Ua.x,Ua.y,Ua.z,i.x,i.y,i.z)}}class vP extends kt{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){un.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;un.multiplyQuaternionsFlat(e,o,e,t,e,i),un.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 yS="\\[\\]\\.:\\/",oz=new RegExp("["+yS+"]","g"),_S="[^"+yS+"]",az="[^"+yS.replace("\\.","")+"]",lz=/((?:WC+[\/:])*)/.source.replace("WC",_S),uz=/(WCOD+)?/.source.replace("WCOD",az),cz=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",_S),hz=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",_S),fz=new RegExp("^"+lz+uz+cz+hz+"$"),dz=["material","materials","bones","map"];class pz{constructor(e,t,i){const r=i||Xt.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 Xt{constructor(e,t,i){this.path=t,this.parsedPath=i||Xt.parseTrackName(t),this.node=Xt.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 Xt.Composite(e,t,i):new Xt(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(oz,"")}static parseTrackName(e){const t=fz.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);dz.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 d=s++,p=e[d];t[p.uuid]=f,e[f]=p,t[u]=d,e[d]=l;for(let m=0,y=r;m!==y;++m){const A=i[m],_=A[d],g=A[f];A[f]=_,A[d]=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],f=u.uuid,d=t[f];if(d!==void 0)if(delete t[f],d0&&(t[m.uuid]=d),e[d]=m,e.pop();for(let y=0,A=r;y!==A;++y){const _=i[y];_[d]=_[p],_.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,f=this.nCachedObjects_,d=new Array(u);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(d);for(let p=f,m=l.length;p!==m;++p){const y=l[p];d[p]=new Xt(y,e,t)}return d}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 _P{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:$a,endingEnd:$a};for(let u=0;u!==o;++u){const f=s[u].createInterpolant(null);a[u]=f,f.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=oI,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 VA:for(let f=0,d=l.length;f!==d;++f)l[f].evaluate(o),u[f].accumulateAdditive(a);break;case Ag:default:for(let f=0,d=l.length;f!==d;++f)l[f].evaluate(o),u[f].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===aI;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===sI){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=el,r.endingEnd=el):(e?r.endingStart=this.zeroSlopeAtStart?el:$a:r.endingStart=nf,t?r.endingEnd=this.zeroSlopeAtEnd?el:$a:r.endingEnd=nf)}_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 gz=new Float32Array(1);class vz extends Ls{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 f=u[l];f===void 0&&(f={},u[l]=f);for(let d=0;d!==s;++d){const p=r[d],m=p.name;let y=f[m];if(y!==void 0)++y.referenceCount,o[d]=y;else{if(y=o[d],y!==void 0){y._cacheIndex===null&&(++y.referenceCount,this._addInactiveBinding(y,l,m));continue}const A=t&&t._propertyBindings[d].binding.parsedPath;y=new yP(Xt.create(i,m,A),p.ValueTypeName,p.getValueSize()),++y.referenceCount,this._addInactiveBinding(y,l,m),o[d]=y}a[d].resultBuffer=y.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,Jw).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 Kw=new O,Op=new O;class AP{constructor(e=new O,t=new O){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){Kw.subVectors(e,this.start),Op.subVectors(this.end,this.start);const i=Op.dot(Op);let s=Op.dot(Kw)/i;return t&&(s=Ln(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 Yw=new O;class Mz extends kt{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 d=0;d.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{eT.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(eT,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 Nz extends jr{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 ot(t,3)),r.setAttribute("color",new ot(i,3));const s=new xi({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new ke,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 Oz{constructor(){this.type="ShapePath",this.color=new ke,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new cf,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 S=[];for(let M=0,w=g.length;MNumber.EPSILON){if(C<0&&(P=S[I],b=-b,D=S[L],C=-C),g.yD.y)continue;if(g.y===P.y){if(g.x===P.x)return!0}else{const U=C*(g.x-P.x)-b*(g.y-P.y);if(U===0)return!0;if(U<0)continue;w=!w}}else{if(g.y!==P.y)continue;if(D.x<=g.x&&g.x<=P.x||P.x<=g.x&&g.x<=D.x)return!0}}return w}const r=bs.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 oa,l.curves=a.curves,u.push(l),u;let f=!r(s[0].getPoints());f=e?!f:f;const d=[],p=[];let m=[],y=0,A;p[y]=void 0,m[y]=[];for(let g=0,S=s.length;g1){let g=!1,S=0;for(let M=0,w=p.length;M0&&g===!1&&(m=d)}let _;for(let g=0,S=p.length;g{const d=typeof u=="function"?u(e):u;if(d!==e){const p=e;e=f?d:Object.assign({},e,d),t.forEach(m=>m(e,p))}},r=()=>e,s=(u,f=r,d=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let p=f(e);function m(){const y=f(e);if(!d(p,y)){const A=p;u(p=y,A)}}return t.add(m),()=>t.delete(m)},l={setState:i,getState:r,subscribe:(u,f,d)=>f||d?s(u,f,d):(t.add(u),()=>t.delete(u)),destroy:()=>t.clear()};return e=n(i,r,l),l}const zz=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),tT=zz?Q.useEffect:Q.useLayoutEffect;function EP(n){const e=typeof n=="function"?Hz(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=Q.useReducer(_=>_+1,0),o=e.getState(),a=Q.useRef(o),l=Q.useRef(i),u=Q.useRef(r),f=Q.useRef(!1),d=Q.useRef();d.current===void 0&&(d.current=i(o));let p,m=!1;(a.current!==o||l.current!==i||u.current!==r||f.current)&&(p=i(o),m=!r(d.current,p)),tT(()=>{m&&(d.current=p),a.current=o,l.current=i,u.current=r,f.current=!1});const y=Q.useRef(o);tT(()=>{const _=()=>{try{const S=e.getState(),M=l.current(S);u.current(d.current,M)||(a.current=S,d.current=M,s())}catch{f.current=!0,s()}},g=e.subscribe(_);return e.getState()!==y.current&&_(),g},[]);const A=m?p:d.current;return Q.useDebugValue(A),A};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 wP={exports:{}},TP={exports:{}},CP={};/** + * @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,Z){var J=k.length;k.push(Z);e:for(;0>>1,Me=k[he];if(0>>1;her(Re,J))Ter(Pe,Re)?(k[he]=Pe,k[Te]=J,he=Te):(k[he]=Re,k[ae]=J,he=ae);else if(Ter(Pe,J))k[he]=Pe,k[Te]=J,he=Te;else break e}}return Z}function r(k,Z){var J=k.sortIndex-Z.sortIndex;return J!==0?J:k.id-Z.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=[],f=1,d=null,p=3,m=!1,y=!1,A=!1,_=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,S=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function M(k){for(var Z=t(u);Z!==null;){if(Z.callback===null)i(u);else if(Z.startTime<=k)i(u),Z.sortIndex=Z.expirationTime,e(l,Z);else break;Z=t(u)}}function w(k){if(A=!1,M(k),!y)if(t(l)!==null)y=!0,oe(L);else{var Z=t(u);Z!==null&&Se(w,Z.startTime-k)}}function L(k,Z){y=!1,A&&(A=!1,g(D),D=-1),m=!0;var J=p;try{for(M(Z),d=t(l);d!==null&&(!(d.expirationTime>Z)||k&&!U());){var he=d.callback;if(typeof he=="function"){d.callback=null,p=d.priorityLevel;var Me=he(d.expirationTime<=Z);Z=n.unstable_now(),typeof Me=="function"?d.callback=Me:d===t(l)&&i(l),M(Z)}else i(l);d=t(l)}if(d!==null)var He=!0;else{var ae=t(u);ae!==null&&Se(w,ae.startTime-Z),He=!1}return He}finally{d=null,p=J,m=!1}}var I=!1,P=null,D=-1,b=5,C=-1;function U(){return!(n.unstable_now()-Ck||125he?(k.sortIndex=J,e(u,k),t(l)===null&&k===t(u)&&(A?(g(D),D=-1):A=!0,Se(w,J-he))):(k.sortIndex=Me,e(l,k),y||m||(y=!0,oe(L))),k},n.unstable_shouldYield=U,n.unstable_wrapCallback=function(k){var Z=p;return function(){var J=p;p=Z;try{return k.apply(this,arguments)}finally{p=J}}}})(CP);TP.exports=CP;var bx=TP.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 Gz=function(e){var t={},i=Q,r=bx,s=Object.assign;function o(c){for(var h="https://reactjs.org/docs/error-decoder.html?invariant="+c,v=1;vee||E[V]!==R[ee]){var ve=` +`+E[V].replace(" at new "," at ");return c.displayName&&ve.includes("")&&(ve=ve.replace("",c.displayName)),ve}while(1<=V&&0<=ee);break}}}finally{Ge=!1,Error.prepareStackTrace=v}return(c=c?c.displayName||c.name:"")?qe(c):""}var ut=Object.prototype.hasOwnProperty,mt=[],nt=-1;function We(c){return{current:c}}function vt(c){0>nt||(c.current=mt[nt],mt[nt]=null,nt--)}function et(c,h){nt++,mt[nt]=c.current,c.current=h}var Et={},nn=We(Et),St=We(!1),rn=Et;function Kt(c,h){var v=c.type.contextTypes;if(!v)return Et;var x=c.stateNode;if(x&&x.__reactInternalMemoizedUnmaskedChildContext===h)return x.__reactInternalMemoizedMaskedChildContext;var E={},R;for(R in v)E[R]=h[R];return x&&(c=c.stateNode,c.__reactInternalMemoizedUnmaskedChildContext=h,c.__reactInternalMemoizedMaskedChildContext=E),E}function sn(c){return c=c.childContextTypes,c!=null}function On(){vt(St),vt(nn)}function wt(c,h,v){if(nn.current!==Et)throw Error(o(168));et(nn,h),et(St,v)}function En(c,h,v){var x=c.stateNode;if(h=h.childContextTypes,typeof x.getChildContext!="function")return v;x=x.getChildContext();for(var E in x)if(!(E in h))throw Error(o(108,D(c)||"Unknown",E));return s({},v,x)}function $t(c){return c=(c=c.stateNode)&&c.__reactInternalMemoizedMergedChildContext||Et,rn=nn.current,et(nn,c),et(St,St.current),!0}function Wt(c,h,v){var x=c.stateNode;if(!x)throw Error(o(169));v?(c=En(c,h,rn),x.__reactInternalMemoizedMergedChildContext=c,vt(St),vt(nn),et(nn,c)):vt(St),et(St,v)}var xn=Math.clz32?Math.clz32:ds,Fs=Math.log,Li=Math.LN2;function ds(c){return c>>>=0,c===0?32:31-(Fs(c)/Li|0)|0}var Gf=64,Vf=4194304;function xc(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 Wf(c,h){var v=c.pendingLanes;if(v===0)return 0;var x=0,E=c.suspendedLanes,R=c.pingedLanes,V=v&268435455;if(V!==0){var ee=V&~E;ee!==0?x=xc(ee):(R&=V,R!==0&&(x=xc(R)))}else V=v&~E,V!==0?x=xc(V):R!==0&&(x=xc(R));if(x===0)return 0;if(h!==0&&h!==x&&!(h&E)&&(E=x&-x,R=h&-h,E>=R||E===16&&(R&4194240)!==0))return h;if(x&4&&(x|=v&16),h=c.entangledLanes,h!==0)for(c=c.entanglements,h&=x;0v;v++)h.push(c);return h}function Ac(c,h,v){c.pendingLanes|=h,h!==536870912&&(c.suspendedLanes=0,c.pingedLanes=0),c=c.eventTimes,h=31-xn(h),c[h]=v}function WB(c,h){var v=c.pendingLanes&~h;c.pendingLanes=h,c.suspendedLanes=0,c.pingedLanes=0,c.expiredLanes&=h,c.mutableReadLanes&=h,c.entangledLanes&=h,h=c.entanglements;var x=c.eventTimes;for(c=c.expirationTimes;0>=V,E-=V,Us=1<<32-xn(h)+E|v<Zt?(oi=Ct,Ct=null):oi=Ct.sibling;var qt=gt(ce,Ct,de[Zt],Qe);if(qt===null){Ct===null&&(Ct=oi);break}c&&Ct&&qt.alternate===null&&h(ce,Ct),te=R(qt,te,Zt),Ft===null?ct=qt:Ft.sibling=qt,Ft=qt,Ct=oi}if(Zt===de.length)return v(ce,Ct),An&&Aa(ce,Zt),ct;if(Ct===null){for(;ZtZt?(oi=Ct,Ct=null):oi=Ct.sibling;var Co=gt(ce,Ct,qt.value,Qe);if(Co===null){Ct===null&&(Ct=oi);break}c&&Ct&&Co.alternate===null&&h(ce,Ct),te=R(Co,te,Zt),Ft===null?ct=Co:Ft.sibling=Co,Ft=Co,Ct=oi}if(qt.done)return v(ce,Ct),An&&Aa(ce,Zt),ct;if(Ct===null){for(;!qt.done;Zt++,qt=de.next())qt=Tt(ce,qt.value,Qe),qt!==null&&(te=R(qt,te,Zt),Ft===null?ct=qt:Ft.sibling=qt,Ft=qt);return An&&Aa(ce,Zt),ct}for(Ct=x(ce,Ct);!qt.done;Zt++,qt=de.next())qt=cn(Ct,ce,Zt,qt.value,Qe),qt!==null&&(c&&qt.alternate!==null&&Ct.delete(qt.key===null?Zt:qt.key),te=R(qt,te,Zt),Ft===null?ct=qt:Ft.sibling=qt,Ft=qt);return c&&Ct.forEach(function(bL){return h(ce,bL)}),An&&Aa(ce,Zt),ct}function Pr(ce,te,de,Qe){if(typeof de=="object"&&de!==null&&de.type===f&&de.key===null&&(de=de.props.children),typeof de=="object"&&de!==null){switch(de.$$typeof){case l:e:{for(var ct=de.key,Ft=te;Ft!==null;){if(Ft.key===ct){if(ct=de.type,ct===f){if(Ft.tag===7){v(ce,Ft.sibling),te=E(Ft,de.props.children),te.return=ce,ce=te;break e}}else if(Ft.elementType===ct||typeof ct=="object"&&ct!==null&&ct.$$typeof===M&&qS(ct)===Ft.type){v(ce,Ft.sibling),te=E(Ft,de.props),te.ref=Ec(ce,Ft,de),te.return=ce,ce=te;break e}v(ce,Ft);break}else h(ce,Ft);Ft=Ft.sibling}de.type===f?(te=Ra(de.props.children,ce.mode,Qe,de.key),te.return=ce,ce=te):(Qe=Bd(de.type,de.key,de.props,null,ce.mode,Qe),Qe.ref=Ec(ce,te,de),Qe.return=ce,ce=Qe)}return V(ce);case u:e:{for(Ft=de.key;te!==null;){if(te.key===Ft)if(te.tag===4&&te.stateNode.containerInfo===de.containerInfo&&te.stateNode.implementation===de.implementation){v(ce,te.sibling),te=E(te,de.children||[]),te.return=ce,ce=te;break e}else{v(ce,te);break}else h(ce,te);te=te.sibling}te=i0(de,ce.mode,Qe),te.return=ce,ce=te}return V(ce);case M:return Ft=de._init,Pr(ce,te,Ft(de._payload),Qe)}if(ie(de))return ht(ce,te,de,Qe);if(I(de))return wi(ce,te,de,Qe);td(ce,de)}return typeof de=="string"&&de!==""||typeof de=="number"?(de=""+de,te!==null&&te.tag===6?(v(ce,te.sibling),te=E(te,de),te.return=ce,ce=te):(v(ce,te),te=n0(de,ce.mode,Qe),te.return=ce,ce=te),V(ce)):v(ce,te)}return Pr}var zl=$S(!0),eM=$S(!1),wc={},Cr=We(wc),Tc=We(wc),Gl=We(wc);function ys(c){if(c===wc)throw Error(o(174));return c}function xv(c,h){et(Gl,h),et(Tc,c),et(Cr,wc),c=Se(h),vt(Cr),et(Cr,c)}function Vl(){vt(Cr),vt(Tc),vt(Gl)}function tM(c){var h=ys(Gl.current),v=ys(Cr.current);h=k(v,c.type,h),v!==h&&(et(Tc,c),et(Cr,h))}function Av(c){Tc.current===c&&(vt(Cr),vt(Tc))}var wn=We(0);function nd(c){for(var h=c;h!==null;){if(h.tag===13){var v=h.memoizedState;if(v!==null&&(v=v.dehydrated,v===null||Sr(v)||_o(v)))return h}else if(h.tag===19&&h.memoizedProps.revealOrder!==void 0){if(h.flags&128)return h}else if(h.child!==null){h.child.return=h,h=h.child;continue}if(h===c)break;for(;h.sibling===null;){if(h.return===null||h.return===c)return null;h=h.return}h.sibling.return=h.return,h=h.sibling}return null}var Sv=[];function Mv(){for(var c=0;cv?v:4,c(!0);var x=Rr.transition;Rr.transition={};try{c(!1),h()}finally{Qt=v,Rr.transition=x}}function mM(){return _s().memoizedState}function nL(c,h,v){var x=Eo(c);v={lane:x,action:v,hasEagerState:!1,eagerState:null,next:null},gM(c)?vM(h,v):(yM(c,h,v),v=Fi(),c=br(c,x,v),c!==null&&_M(c,h,x))}function iL(c,h,v){var x=Eo(c),E={lane:x,action:v,hasEagerState:!1,eagerState:null,next:null};if(gM(c))vM(h,E);else{yM(c,h,E);var R=c.alternate;if(c.lanes===0&&(R===null||R.lanes===0)&&(R=h.lastRenderedReducer,R!==null))try{var V=h.lastRenderedState,ee=R(V,v);if(E.hasEagerState=!0,E.eagerState=ee,ms(ee,V))return}catch{}finally{}v=Fi(),c=br(c,x,v),c!==null&&_M(c,h,x)}}function gM(c){var h=c.alternate;return c===In||h!==null&&h===In}function vM(c,h){Cc=rd=!0;var v=c.pending;v===null?h.next=h:(h.next=v.next,v.next=h),c.pending=h}function yM(c,h,v){Xn!==null&&c.mode&1&&!(Ut&2)?(c=h.interleaved,c===null?(v.next=v,vs===null?vs=[h]:vs.push(h)):(v.next=c.next,c.next=v),h.interleaved=v):(c=h.pending,c===null?v.next=v:(v.next=c.next,c.next=v),h.pending=v)}function _M(c,h,v){if(v&4194240){var x=h.lanes;x&=c.pendingLanes,v|=x,h.lanes=v,iv(c,v)}}var ud={readContext:Er,useCallback:Mi,useContext:Mi,useEffect:Mi,useImperativeHandle:Mi,useInsertionEffect:Mi,useLayoutEffect:Mi,useMemo:Mi,useReducer:Mi,useRef:Mi,useState:Mi,useDebugValue:Mi,useDeferredValue:Mi,useTransition:Mi,useMutableSource:Mi,useSyncExternalStore:Mi,useId:Mi,unstable_isNewReconciler:!1},rL={readContext:Er,useCallback:function(c,h){return Hs().memoizedState=[c,h===void 0?null:h],c},useContext:Er,useEffect:Rv,useImperativeHandle:function(c,h,v){return v=v!=null?v.concat([c]):null,ad(4194308,4,hM.bind(null,h,c),v)},useLayoutEffect:function(c,h){return ad(4194308,4,c,h)},useInsertionEffect:function(c,h){return ad(4,2,c,h)},useMemo:function(c,h){var v=Hs();return h=h===void 0?null:h,c=c(),v.memoizedState=[c,h],c},useReducer:function(c,h,v){var x=Hs();return h=v!==void 0?v(h):h,x.memoizedState=x.baseState=h,c={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:c,lastRenderedState:h},x.queue=c,c=c.dispatch=nL.bind(null,In,c),[x.memoizedState,c]},useRef:function(c){var h=Hs();return c={current:c},h.memoizedState=c},useState:Cv,useDebugValue:bv,useDeferredValue:function(c){var h=Cv(c),v=h[0],x=h[1];return Rv(function(){var E=Rr.transition;Rr.transition={};try{x(c)}finally{Rr.transition=E}},[c]),v},useTransition:function(){var c=Cv(!1),h=c[0];return c=tL.bind(null,c[1]),Hs().memoizedState=c,[h,c]},useMutableSource:function(){},useSyncExternalStore:function(c,h,v){var x=In,E=Hs();if(An){if(v===void 0)throw Error(o(407));v=v()}else{if(v=h(),Xn===null)throw Error(o(349));Wl&30||rM(x,h,v)}E.memoizedState=v;var R={value:v,getSnapshot:h};return E.queue=R,Rv(oM.bind(null,x,R,c),[c]),x.flags|=2048,bc(9,sM.bind(null,x,R,v,h),void 0,null),v},useId:function(){var c=Hs(),h=Xn.identifierPrefix;if(An){var v=ks,x=Us;v=(x&~(1<<32-xn(x)-1)).toString(32)+v,h=":"+h+"R"+v,v=Rc++,0Kv&&(h.flags|=128,x=!0,Lc(E,!1),h.lanes=4194304)}else{if(!x)if(c=nd(R),c!==null){if(h.flags|=128,x=!0,c=c.updateQueue,c!==null&&(h.updateQueue=c,h.flags|=4),Lc(E,!0),E.tail===null&&E.tailMode==="hidden"&&!R.alternate&&!An)return Ei(h),null}else 2*ri()-E.renderingStartTime>Kv&&v!==1073741824&&(h.flags|=128,x=!0,Lc(E,!1),h.lanes=4194304);E.isBackwards?(R.sibling=h.child,h.child=R):(c=E.last,c!==null?c.sibling=R:h.child=R,E.last=R)}return E.tail!==null?(h=E.tail,E.rendering=h,E.tail=h.sibling,E.renderingStartTime=ri(),h.sibling=null,c=wn.current,et(wn,x?c&1|2:c&1),h):(Ei(h),null);case 22:case 23:return $v(),x=h.memoizedState!==null,c!==null&&c.memoizedState!==null!==x&&(h.flags|=8192),x&&h.mode&1?ar&1073741824&&(Ei(h),pt&&h.subtreeFlags&6&&(h.flags|=8192)):Ei(h),null;case 24:return null;case 25:return null}throw Error(o(156,h.tag))}var uL=a.ReactCurrentOwner,or=!1;function Di(c,h,v,x){h.child=c===null?eM(h,null,v,x):zl(h,c.child,v,x)}function CM(c,h,v,x,E){v=v.render;var R=h.ref;return Ol(h,E),x=wv(c,h,v,x,R,E),v=Tv(),c!==null&&!or?(h.updateQueue=c.updateQueue,h.flags&=-2053,c.lanes&=~E,zs(c,h,E)):(An&&v&&mv(h),h.flags|=1,Di(c,h,x,E),h.child)}function RM(c,h,v,x,E){if(c===null){var R=v.type;return typeof R=="function"&&!t0(R)&&R.defaultProps===void 0&&v.compare===null&&v.defaultProps===void 0?(h.tag=15,h.type=R,bM(c,h,R,x,E)):(c=Bd(v.type,null,x,h,h.mode,E),c.ref=h.ref,c.return=h,h.child=c)}if(R=c.child,!(c.lanes&E)){var V=R.memoizedProps;if(v=v.compare,v=v!==null?v:Jf,v(V,x)&&c.ref===h.ref)return zs(c,h,E)}return h.flags|=1,c=To(R,x),c.ref=h.ref,c.return=h,h.child=c}function bM(c,h,v,x,E){if(c!==null&&Jf(c.memoizedProps,x)&&c.ref===h.ref)if(or=!1,(c.lanes&E)!==0)c.flags&131072&&(or=!0);else return h.lanes=c.lanes,zs(c,h,E);return Bv(c,h,v,x,E)}function IM(c,h,v){var x=h.pendingProps,E=x.children,R=c!==null?c.memoizedState:null;if(x.mode==="hidden")if(!(h.mode&1))h.memoizedState={baseLanes:0,cachePool:null},et(Xl,ar),ar|=v;else if(v&1073741824)h.memoizedState={baseLanes:0,cachePool:null},x=R!==null?R.baseLanes:v,et(Xl,ar),ar|=x;else return c=R!==null?R.baseLanes|v:v,h.lanes=h.childLanes=1073741824,h.memoizedState={baseLanes:c,cachePool:null},h.updateQueue=null,et(Xl,ar),ar|=c,null;else R!==null?(x=R.baseLanes|v,h.memoizedState=null):x=v,et(Xl,ar),ar|=x;return Di(c,h,E,v),h.child}function PM(c,h){var v=h.ref;(c===null&&v!==null||c!==null&&c.ref!==v)&&(h.flags|=512,h.flags|=2097152)}function Bv(c,h,v,x,E){var R=sn(v)?rn:nn.current;return R=Kt(h,R),Ol(h,E),v=wv(c,h,v,x,R,E),x=Tv(),c!==null&&!or?(h.updateQueue=c.updateQueue,h.flags&=-2053,c.lanes&=~E,zs(c,h,E)):(An&&x&&mv(h),h.flags|=1,Di(c,h,v,E),h.child)}function BM(c,h,v,x,E){if(sn(v)){var R=!0;$t(h)}else R=!1;if(Ol(h,E),h.stateNode===null)c!==null&&(c.alternate=null,h.alternate=null,h.flags|=2),jS(h,v,x),pv(h,v,x,E),x=!0;else if(c===null){var V=h.stateNode,ee=h.memoizedProps;V.props=ee;var ve=V.context,Oe=v.contextType;typeof Oe=="object"&&Oe!==null?Oe=Er(Oe):(Oe=sn(v)?rn:nn.current,Oe=Kt(h,Oe));var it=v.getDerivedStateFromProps,Tt=typeof it=="function"||typeof V.getSnapshotBeforeUpdate=="function";Tt||typeof V.UNSAFE_componentWillReceiveProps!="function"&&typeof V.componentWillReceiveProps!="function"||(ee!==x||ve!==Oe)&&JS(h,V,x,Oe),xo=!1;var gt=h.memoizedState;V.state=gt,Zf(h,x,V,E),ve=h.memoizedState,ee!==x||gt!==ve||St.current||xo?(typeof it=="function"&&(dv(h,v,it,x),ve=h.memoizedState),(ee=xo||XS(h,v,ee,x,gt,ve,Oe))?(Tt||typeof V.UNSAFE_componentWillMount!="function"&&typeof V.componentWillMount!="function"||(typeof V.componentWillMount=="function"&&V.componentWillMount(),typeof V.UNSAFE_componentWillMount=="function"&&V.UNSAFE_componentWillMount()),typeof V.componentDidMount=="function"&&(h.flags|=4194308)):(typeof V.componentDidMount=="function"&&(h.flags|=4194308),h.memoizedProps=x,h.memoizedState=ve),V.props=x,V.state=ve,V.context=Oe,x=ee):(typeof V.componentDidMount=="function"&&(h.flags|=4194308),x=!1)}else{V=h.stateNode,zS(c,h),ee=h.memoizedProps,Oe=h.type===h.elementType?ee:Kr(h.type,ee),V.props=Oe,Tt=h.pendingProps,gt=V.context,ve=v.contextType,typeof ve=="object"&&ve!==null?ve=Er(ve):(ve=sn(v)?rn:nn.current,ve=Kt(h,ve));var cn=v.getDerivedStateFromProps;(it=typeof cn=="function"||typeof V.getSnapshotBeforeUpdate=="function")||typeof V.UNSAFE_componentWillReceiveProps!="function"&&typeof V.componentWillReceiveProps!="function"||(ee!==Tt||gt!==ve)&&JS(h,V,x,ve),xo=!1,gt=h.memoizedState,V.state=gt,Zf(h,x,V,E);var ht=h.memoizedState;ee!==Tt||gt!==ht||St.current||xo?(typeof cn=="function"&&(dv(h,v,cn,x),ht=h.memoizedState),(Oe=xo||XS(h,v,Oe,x,gt,ht,ve)||!1)?(it||typeof V.UNSAFE_componentWillUpdate!="function"&&typeof V.componentWillUpdate!="function"||(typeof V.componentWillUpdate=="function"&&V.componentWillUpdate(x,ht,ve),typeof V.UNSAFE_componentWillUpdate=="function"&&V.UNSAFE_componentWillUpdate(x,ht,ve)),typeof V.componentDidUpdate=="function"&&(h.flags|=4),typeof V.getSnapshotBeforeUpdate=="function"&&(h.flags|=1024)):(typeof V.componentDidUpdate!="function"||ee===c.memoizedProps&>===c.memoizedState||(h.flags|=4),typeof V.getSnapshotBeforeUpdate!="function"||ee===c.memoizedProps&>===c.memoizedState||(h.flags|=1024),h.memoizedProps=x,h.memoizedState=ht),V.props=x,V.state=ht,V.context=ve,x=Oe):(typeof V.componentDidUpdate!="function"||ee===c.memoizedProps&>===c.memoizedState||(h.flags|=4),typeof V.getSnapshotBeforeUpdate!="function"||ee===c.memoizedProps&>===c.memoizedState||(h.flags|=1024),x=!1)}return Lv(c,h,v,x,R,E)}function Lv(c,h,v,x,E,R){PM(c,h);var V=(h.flags&128)!==0;if(!x&&!V)return E&&Wt(h,v,!1),zs(c,h,R);x=h.stateNode,uL.current=h;var ee=V&&typeof v.getDerivedStateFromError!="function"?null:x.render();return h.flags|=1,c!==null&&V?(h.child=zl(h,c.child,null,R),h.child=zl(h,null,ee,R)):Di(c,h,ee,R),h.memoizedState=x.state,E&&Wt(h,v,!0),h.child}function LM(c){var h=c.stateNode;h.pendingContext?wt(c,h.pendingContext,h.pendingContext!==h.context):h.context&&wt(c,h.context,!1),xv(c,h.containerInfo)}function DM(c,h,v,x,E){return Hl(),_v(E),h.flags|=256,Di(c,h,v,x),h.child}var fd={dehydrated:null,treeContext:null,retryLane:0};function dd(c){return{baseLanes:c,cachePool:null}}function FM(c,h,v){var x=h.pendingProps,E=wn.current,R=!1,V=(h.flags&128)!==0,ee;if((ee=V)||(ee=c!==null&&c.memoizedState===null?!1:(E&2)!==0),ee?(R=!0,h.flags&=-129):(c===null||c.memoizedState!==null)&&(E|=1),et(wn,E&1),c===null)return yv(h),c=h.memoizedState,c!==null&&(c=c.dehydrated,c!==null)?(h.mode&1?_o(c)?h.lanes=8:h.lanes=1073741824:h.lanes=1,null):(E=x.children,c=x.fallback,R?(x=h.mode,R=h.child,E={mode:"hidden",children:E},!(x&1)&&R!==null?(R.childLanes=0,R.pendingProps=E):R=Ld(E,x,0,null),c=Ra(c,x,v,null),R.return=h,c.return=h,R.sibling=c,h.child=R,h.child.memoizedState=dd(v),h.memoizedState=fd,c):Dv(h,E));if(E=c.memoizedState,E!==null){if(ee=E.dehydrated,ee!==null){if(V)return h.flags&256?(h.flags&=-257,pd(c,h,v,Error(o(422)))):h.memoizedState!==null?(h.child=c.child,h.flags|=128,null):(R=x.fallback,E=h.mode,x=Ld({mode:"visible",children:x.children},E,0,null),R=Ra(R,E,v,null),R.flags|=2,x.return=h,R.return=h,x.sibling=R,h.child=x,h.mode&1&&zl(h,c.child,null,v),h.child.memoizedState=dd(v),h.memoizedState=fd,R);if(!(h.mode&1))h=pd(c,h,v,null);else if(_o(ee))h=pd(c,h,v,Error(o(419)));else if(x=(v&c.childLanes)!==0,or||x){if(x=Xn,x!==null){switch(v&-v){case 4:R=2;break;case 16:R=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:R=32;break;case 536870912:R=268435456;break;default:R=0}x=R&(x.suspendedLanes|v)?0:R,x!==0&&x!==E.retryLane&&(E.retryLane=x,br(c,x,-1))}e0(),h=pd(c,h,v,Error(o(421)))}else Sr(ee)?(h.flags|=128,h.child=c.child,h=SL.bind(null,c),Mr(ee,h),h=null):(v=E.treeContext,Ce&&(sr=_c(ee),rr=h,An=!0,Yr=null,Sc=!1,v!==null&&(wr[Tr++]=Us,wr[Tr++]=ks,wr[Tr++]=xa,Us=v.id,ks=v.overflow,xa=h)),h=Dv(h,h.pendingProps.children),h.flags|=4096);return h}return R?(x=OM(c,h,x.children,x.fallback,v),R=h.child,E=c.child.memoizedState,R.memoizedState=E===null?dd(v):{baseLanes:E.baseLanes|v,cachePool:null},R.childLanes=c.childLanes&~v,h.memoizedState=fd,x):(v=NM(c,h,x.children,v),h.memoizedState=null,v)}return R?(x=OM(c,h,x.children,x.fallback,v),R=h.child,E=c.child.memoizedState,R.memoizedState=E===null?dd(v):{baseLanes:E.baseLanes|v,cachePool:null},R.childLanes=c.childLanes&~v,h.memoizedState=fd,x):(v=NM(c,h,x.children,v),h.memoizedState=null,v)}function Dv(c,h){return h=Ld({mode:"visible",children:h},c.mode,0,null),h.return=c,c.child=h}function NM(c,h,v,x){var E=c.child;return c=E.sibling,v=To(E,{mode:"visible",children:v}),!(h.mode&1)&&(v.lanes=x),v.return=h,v.sibling=null,c!==null&&(x=h.deletions,x===null?(h.deletions=[c],h.flags|=16):x.push(c)),h.child=v}function OM(c,h,v,x,E){var R=h.mode;c=c.child;var V=c.sibling,ee={mode:"hidden",children:v};return!(R&1)&&h.child!==c?(v=h.child,v.childLanes=0,v.pendingProps=ee,h.deletions=null):(v=To(c,ee),v.subtreeFlags=c.subtreeFlags&14680064),V!==null?x=To(V,x):(x=Ra(x,R,E,null),x.flags|=2),x.return=h,v.return=h,v.sibling=x,h.child=v,x}function pd(c,h,v,x){return x!==null&&_v(x),zl(h,c.child,null,v),c=Dv(h,h.pendingProps.children),c.flags|=2,h.memoizedState=null,c}function UM(c,h,v){c.lanes|=h;var x=c.alternate;x!==null&&(x.lanes|=h),hv(c.return,h,v)}function Fv(c,h,v,x,E){var R=c.memoizedState;R===null?c.memoizedState={isBackwards:h,rendering:null,renderingStartTime:0,last:x,tail:v,tailMode:E}:(R.isBackwards=h,R.rendering=null,R.renderingStartTime=0,R.last=x,R.tail=v,R.tailMode=E)}function kM(c,h,v){var x=h.pendingProps,E=x.revealOrder,R=x.tail;if(Di(c,h,x.children,v),x=wn.current,x&2)x=x&1|2,h.flags|=128;else{if(c!==null&&c.flags&128)e:for(c=h.child;c!==null;){if(c.tag===13)c.memoizedState!==null&&UM(c,v,h);else if(c.tag===19)UM(c,v,h);else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===h)break e;for(;c.sibling===null;){if(c.return===null||c.return===h)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}x&=1}if(et(wn,x),!(h.mode&1))h.memoizedState=null;else switch(E){case"forwards":for(v=h.child,E=null;v!==null;)c=v.alternate,c!==null&&nd(c)===null&&(E=v),v=v.sibling;v=E,v===null?(E=h.child,h.child=null):(E=v.sibling,v.sibling=null),Fv(h,!1,E,v,R);break;case"backwards":for(v=null,E=h.child,h.child=null;E!==null;){if(c=E.alternate,c!==null&&nd(c)===null){h.child=E;break}c=E.sibling,E.sibling=v,v=E,E=c}Fv(h,!0,v,null,R);break;case"together":Fv(h,!1,null,null,void 0);break;default:h.memoizedState=null}return h.child}function zs(c,h,v){if(c!==null&&(h.dependencies=c.dependencies),jl|=h.lanes,!(v&h.childLanes))return null;if(c!==null&&h.child!==c.child)throw Error(o(153));if(h.child!==null){for(c=h.child,v=To(c,c.pendingProps),h.child=v,v.return=h;c.sibling!==null;)c=c.sibling,v=v.sibling=To(c,c.pendingProps),v.return=h;v.sibling=null}return h.child}function cL(c,h,v){switch(h.tag){case 3:LM(h),Hl();break;case 5:tM(h);break;case 1:sn(h.type)&&$t(h);break;case 4:xv(h,h.stateNode.containerInfo);break;case 10:HS(h,h.type._context,h.memoizedProps.value);break;case 13:var x=h.memoizedState;if(x!==null)return x.dehydrated!==null?(et(wn,wn.current&1),h.flags|=128,null):v&h.child.childLanes?FM(c,h,v):(et(wn,wn.current&1),c=zs(c,h,v),c!==null?c.sibling:null);et(wn,wn.current&1);break;case 19:if(x=(v&h.childLanes)!==0,c.flags&128){if(x)return kM(c,h,v);h.flags|=128}var E=h.memoizedState;if(E!==null&&(E.rendering=null,E.tail=null,E.lastEffect=null),et(wn,wn.current),x)break;return null;case 22:case 23:return h.lanes=0,IM(c,h,v)}return zs(c,h,v)}function hL(c,h){switch(gv(h),h.tag){case 1:return sn(h.type)&&On(),c=h.flags,c&65536?(h.flags=c&-65537|128,h):null;case 3:return Vl(),vt(St),vt(nn),Mv(),c=h.flags,c&65536&&!(c&128)?(h.flags=c&-65537|128,h):null;case 5:return Av(h),null;case 13:if(vt(wn),c=h.memoizedState,c!==null&&c.dehydrated!==null){if(h.alternate===null)throw Error(o(340));Hl()}return c=h.flags,c&65536?(h.flags=c&-65537|128,h):null;case 19:return vt(wn),null;case 4:return Vl(),null;case 10:return cv(h.type._context),null;case 22:case 23:return $v(),null;case 24:return null;default:return null}}var md=!1,Ma=!1,fL=typeof WeakSet=="function"?WeakSet:Set,Ke=null;function gd(c,h){var v=c.ref;if(v!==null)if(typeof v=="function")try{v(null)}catch(x){Yi(c,h,x)}else v.current=null}function Nv(c,h,v){try{v()}catch(x){Yi(c,h,x)}}var HM=!1;function dL(c,h){for(Z(c.containerInfo),Ke=h;Ke!==null;)if(c=Ke,h=c.child,(c.subtreeFlags&1028)!==0&&h!==null)h.return=c,Ke=h;else for(;Ke!==null;){c=Ke;try{var v=c.alternate;if(c.flags&1024)switch(c.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var x=v.memoizedProps,E=v.memoizedState,R=c.stateNode,V=R.getSnapshotBeforeUpdate(c.elementType===c.type?x:Kr(c.type,x),E);R.__reactInternalSnapshotBeforeUpdate=V}break;case 3:pt&&Ze(c.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(ee){Yi(c,c.return,ee)}if(h=c.sibling,h!==null){h.return=c.return,Ke=h;break}Ke=c.return}return v=HM,HM=!1,v}function Ea(c,h,v){var x=h.updateQueue;if(x=x!==null?x.lastEffect:null,x!==null){var E=x=x.next;do{if((E.tag&c)===c){var R=E.destroy;E.destroy=void 0,R!==void 0&&Nv(h,v,R)}E=E.next}while(E!==x)}}function Dc(c,h){if(h=h.updateQueue,h=h!==null?h.lastEffect:null,h!==null){var v=h=h.next;do{if((v.tag&c)===c){var x=v.create;v.destroy=x()}v=v.next}while(v!==h)}}function Ov(c){var h=c.ref;if(h!==null){var v=c.stateNode;switch(c.tag){case 5:c=oe(v);break;default:c=v}typeof h=="function"?h(c):h.current=c}}function zM(c,h,v){if(ps&&typeof ps.onCommitFiberUnmount=="function")try{ps.onCommitFiberUnmount(Xf,h)}catch{}switch(h.tag){case 0:case 11:case 14:case 15:if(c=h.updateQueue,c!==null&&(c=c.lastEffect,c!==null)){var x=c=c.next;do{var E=x,R=E.destroy;E=E.tag,R!==void 0&&(E&2||E&4)&&Nv(h,v,R),x=x.next}while(x!==c)}break;case 1:if(gd(h,v),c=h.stateNode,typeof c.componentWillUnmount=="function")try{c.props=h.memoizedProps,c.state=h.memoizedState,c.componentWillUnmount()}catch(V){Yi(h,v,V)}break;case 5:gd(h,v);break;case 4:pt?JM(c,h,v):ge&&ge&&(h=h.stateNode.containerInfo,v=Bt(h),Lt(h,v))}}function GM(c,h,v){for(var x=h;;)if(zM(c,x,v),x.child===null||pt&&x.tag===4){if(x===h)break;for(;x.sibling===null;){if(x.return===null||x.return===h)return;x=x.return}x.sibling.return=x.return,x=x.sibling}else x.child.return=x,x=x.child}function VM(c){var h=c.alternate;h!==null&&(c.alternate=null,VM(h)),c.child=null,c.deletions=null,c.sibling=null,c.tag===5&&(h=c.stateNode,h!==null&&Ye(h)),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 WM(c){return c.tag===5||c.tag===3||c.tag===4}function XM(c){e:for(;;){for(;c.sibling===null;){if(c.return===null||WM(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 jM(c){if(pt){e:{for(var h=c.return;h!==null;){if(WM(h))break e;h=h.return}throw Error(o(160))}var v=h;switch(v.tag){case 5:h=v.stateNode,v.flags&32&&(Le(h),v.flags&=-33),v=XM(c),kv(c,v,h);break;case 3:case 4:h=v.stateNode.containerInfo,v=XM(c),Uv(c,v,h);break;default:throw Error(o(161))}}}function Uv(c,h,v){var x=c.tag;if(x===5||x===6)c=c.stateNode,h?at(v,c,h):Fe(v,c);else if(x!==4&&(c=c.child,c!==null))for(Uv(c,h,v),c=c.sibling;c!==null;)Uv(c,h,v),c=c.sibling}function kv(c,h,v){var x=c.tag;if(x===5||x===6)c=c.stateNode,h?je(v,c,h):yt(v,c);else if(x!==4&&(c=c.child,c!==null))for(kv(c,h,v),c=c.sibling;c!==null;)kv(c,h,v),c=c.sibling}function JM(c,h,v){for(var x=h,E=!1,R,V;;){if(!E){E=x.return;e:for(;;){if(E===null)throw Error(o(160));switch(R=E.stateNode,E.tag){case 5:V=!1;break e;case 3:R=R.containerInfo,V=!0;break e;case 4:R=R.containerInfo,V=!0;break e}E=E.return}E=!0}if(x.tag===5||x.tag===6)GM(c,x,v),V?Ie(R,x.stateNode):Y(R,x.stateNode);else if(x.tag===18)V?le(R,x.stateNode):se(R,x.stateNode);else if(x.tag===4){if(x.child!==null){R=x.stateNode.containerInfo,V=!0,x.child.return=x,x=x.child;continue}}else if(zM(c,x,v),x.child!==null){x.child.return=x,x=x.child;continue}if(x===h)break;for(;x.sibling===null;){if(x.return===null||x.return===h)return;x=x.return,x.tag===4&&(E=!1)}x.sibling.return=x.return,x=x.sibling}}function Hv(c,h){if(pt){switch(h.tag){case 0:case 11:case 14:case 15:Ea(3,h,h.return),Dc(3,h),Ea(5,h,h.return);return;case 1:return;case 5:var v=h.stateNode;if(v!=null){var x=h.memoizedProps;c=c!==null?c.memoizedProps:x;var E=h.type,R=h.updateQueue;h.updateQueue=null,R!==null&&dt(v,R,E,c,x,h)}return;case 6:if(h.stateNode===null)throw Error(o(162));v=h.memoizedProps,st(h.stateNode,c!==null?c.memoizedProps:v,v);return;case 3:Ce&&c!==null&&c.memoizedState.isDehydrated&&z(h.stateNode.containerInfo);return;case 12:return;case 13:vd(h);return;case 19:vd(h);return;case 17:return}throw Error(o(163))}switch(h.tag){case 0:case 11:case 14:case 15:Ea(3,h,h.return),Dc(3,h),Ea(5,h,h.return);return;case 12:return;case 13:vd(h);return;case 19:vd(h);return;case 3:Ce&&c!==null&&c.memoizedState.isDehydrated&&z(h.stateNode.containerInfo);break;case 22:case 23:return}e:if(ge){switch(h.tag){case 1:case 5:case 6:break e;case 3:case 4:h=h.stateNode,Lt(h.containerInfo,h.pendingChildren);break e}throw Error(o(163))}}function vd(c){var h=c.updateQueue;if(h!==null){c.updateQueue=null;var v=c.stateNode;v===null&&(v=c.stateNode=new fL),h.forEach(function(x){var E=ML.bind(null,c,x);v.has(x)||(v.add(x),x.then(E,E))})}}function pL(c,h){for(Ke=h;Ke!==null;){h=Ke;var v=h.deletions;if(v!==null)for(var x=0;x";case _d:return":has("+(Vv(c)||"")+")";case xd:return'[role="'+c.value+'"]';case Sd:return'"'+c.value+'"';case Ad:return'[data-testname="'+c.value+'"]';default:throw Error(o(365))}}function qM(c,h){var v=[];c=[c,0];for(var x=0;xE&&(E=V),x&=~R}if(x=E,x=ri()-x,x=(120>x?120:480>x?480:1080>x?1080:1920>x?1920:3e3>x?3e3:4320>x?4320:1960*gL(x/1960))-x,10c?16:c,Mo===null)var x=!1;else{if(c=Mo,Mo=null,Cd=0,Ut&6)throw Error(o(331));var E=Ut;for(Ut|=4,Ke=c.current;Ke!==null;){var R=Ke,V=R.child;if(Ke.flags&16){var ee=R.deletions;if(ee!==null){for(var ve=0;veri()-Jv?wa(c,0):jv|=v),Ki(c,h)}function a1(c,h){h===0&&(c.mode&1?(h=Vf,Vf<<=1,!(Vf&130023424)&&(Vf=4194304)):h=1);var v=Fi();c=Id(c,h),c!==null&&(Ac(c,h,v),Ki(c,v))}function SL(c){var h=c.memoizedState,v=0;h!==null&&(v=h.retryLane),a1(c,v)}function ML(c,h){var v=0;switch(c.tag){case 13:var x=c.stateNode,E=c.memoizedState;E!==null&&(v=E.retryLane);break;case 19:x=c.stateNode;break;default:throw Error(o(314))}x!==null&&x.delete(h),a1(c,v)}var l1;l1=function(c,h,v){if(c!==null)if(c.memoizedProps!==h.pendingProps||St.current)or=!0;else{if(!(c.lanes&v)&&!(h.flags&128))return or=!1,cL(c,h,v);or=!!(c.flags&131072)}else or=!1,An&&h.flags&1048576&&KS(h,ed,h.index);switch(h.lanes=0,h.tag){case 2:var x=h.type;c!==null&&(c.alternate=null,h.alternate=null,h.flags|=2),c=h.pendingProps;var E=Kt(h,nn.current);Ol(h,v),E=wv(null,h,x,c,E,v);var R=Tv();return h.flags|=1,typeof E=="object"&&E!==null&&typeof E.render=="function"&&E.$$typeof===void 0?(h.tag=1,h.memoizedState=null,h.updateQueue=null,sn(x)?(R=!0,$t(h)):R=!1,h.memoizedState=E.state!==null&&E.state!==void 0?E.state:null,fv(h),E.updater=qf,h.stateNode=E,E._reactInternals=h,pv(h,x,c,v),h=Lv(null,h,x,!0,R,v)):(h.tag=0,An&&R&&mv(h),Di(null,h,E,v),h=h.child),h;case 16:x=h.elementType;e:{switch(c!==null&&(c.alternate=null,h.alternate=null,h.flags|=2),c=h.pendingProps,E=x._init,x=E(x._payload),h.type=x,E=h.tag=wL(x),c=Kr(x,c),E){case 0:h=Bv(null,h,x,c,v);break e;case 1:h=BM(null,h,x,c,v);break e;case 11:h=CM(null,h,x,c,v);break e;case 14:h=RM(null,h,x,Kr(x.type,c),v);break e}throw Error(o(306,x,""))}return h;case 0:return x=h.type,E=h.pendingProps,E=h.elementType===x?E:Kr(x,E),Bv(c,h,x,E,v);case 1:return x=h.type,E=h.pendingProps,E=h.elementType===x?E:Kr(x,E),BM(c,h,x,E,v);case 3:e:{if(LM(h),c===null)throw Error(o(387));x=h.pendingProps,R=h.memoizedState,E=R.element,zS(c,h),Zf(h,x,null,v);var V=h.memoizedState;if(x=V.element,Ce&&R.isDehydrated)if(R={element:x,isDehydrated:!1,cache:V.cache,transitions:V.transitions},h.updateQueue.baseState=R,h.memoizedState=R,h.flags&256){E=Error(o(423)),h=DM(c,h,x,v,E);break e}else if(x!==E){E=Error(o(424)),h=DM(c,h,x,v,E);break e}else for(Ce&&(sr=Fl(h.stateNode.containerInfo),rr=h,An=!0,Yr=null,Sc=!1),v=eM(h,null,x,v),h.child=v;v;)v.flags=v.flags&-3|4096,v=v.sibling;else{if(Hl(),x===E){h=zs(c,h,v);break e}Di(c,h,x,v)}h=h.child}return h;case 5:return tM(h),c===null&&yv(h),x=h.type,E=h.pendingProps,R=c!==null?c.memoizedProps:null,V=E.children,Re(x,E)?V=null:R!==null&&Re(x,R)&&(h.flags|=32),PM(c,h),Di(c,h,V,v),h.child;case 6:return c===null&&yv(h),null;case 13:return FM(c,h,v);case 4:return xv(h,h.stateNode.containerInfo),x=h.pendingProps,c===null?h.child=zl(h,null,x,v):Di(c,h,x,v),h.child;case 11:return x=h.type,E=h.pendingProps,E=h.elementType===x?E:Kr(x,E),CM(c,h,x,E,v);case 7:return Di(c,h,h.pendingProps,v),h.child;case 8:return Di(c,h,h.pendingProps.children,v),h.child;case 12:return Di(c,h,h.pendingProps.children,v),h.child;case 10:e:{if(x=h.type._context,E=h.pendingProps,R=h.memoizedProps,V=E.value,HS(h,x,V),R!==null)if(ms(R.value,V)){if(R.children===E.children&&!St.current){h=zs(c,h,v);break e}}else for(R=h.child,R!==null&&(R.return=h);R!==null;){var ee=R.dependencies;if(ee!==null){V=R.child;for(var ve=ee.firstContext;ve!==null;){if(ve.context===x){if(R.tag===1){ve=Os(-1,v&-v),ve.tag=2;var Oe=R.updateQueue;if(Oe!==null){Oe=Oe.shared;var it=Oe.pending;it===null?ve.next=ve:(ve.next=it.next,it.next=ve),Oe.pending=ve}}R.lanes|=v,ve=R.alternate,ve!==null&&(ve.lanes|=v),hv(R.return,v,h),ee.lanes|=v;break}ve=ve.next}}else if(R.tag===10)V=R.type===h.type?null:R.child;else if(R.tag===18){if(V=R.return,V===null)throw Error(o(341));V.lanes|=v,ee=V.alternate,ee!==null&&(ee.lanes|=v),hv(V,v,h),V=R.sibling}else V=R.child;if(V!==null)V.return=R;else for(V=R;V!==null;){if(V===h){V=null;break}if(R=V.sibling,R!==null){R.return=V.return,V=R;break}V=V.return}R=V}Di(c,h,E.children,v),h=h.child}return h;case 9:return E=h.type,x=h.pendingProps.children,Ol(h,v),E=Er(E),x=x(E),h.flags|=1,Di(c,h,x,v),h.child;case 14:return x=h.type,E=Kr(x,h.pendingProps),E=Kr(x.type,E),RM(c,h,x,E,v);case 15:return bM(c,h,h.type,h.pendingProps,v);case 17:return x=h.type,E=h.pendingProps,E=h.elementType===x?E:Kr(x,E),c!==null&&(c.alternate=null,h.alternate=null,h.flags|=2),h.tag=1,sn(x)?(c=!0,$t(h)):c=!1,Ol(h,v),jS(h,x,E),pv(h,x,E,v),Lv(null,h,x,!0,c,v);case 19:return kM(c,h,v);case 22:return IM(c,h,v)}throw Error(o(156,h.tag))};function u1(c,h){return rv(c,h)}function EL(c,h,v,x){this.tag=c,this.key=v,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=h,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=x,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ir(c,h,v,x){return new EL(c,h,v,x)}function t0(c){return c=c.prototype,!(!c||!c.isReactComponent)}function wL(c){if(typeof c=="function")return t0(c)?1:0;if(c!=null){if(c=c.$$typeof,c===A)return 11;if(c===S)return 14}return 2}function To(c,h){var v=c.alternate;return v===null?(v=Ir(c.tag,h,c.key,c.mode),v.elementType=c.elementType,v.type=c.type,v.stateNode=c.stateNode,v.alternate=c,c.alternate=v):(v.pendingProps=h,v.type=c.type,v.flags=0,v.subtreeFlags=0,v.deletions=null),v.flags=c.flags&14680064,v.childLanes=c.childLanes,v.lanes=c.lanes,v.child=c.child,v.memoizedProps=c.memoizedProps,v.memoizedState=c.memoizedState,v.updateQueue=c.updateQueue,h=c.dependencies,v.dependencies=h===null?null:{lanes:h.lanes,firstContext:h.firstContext},v.sibling=c.sibling,v.index=c.index,v.ref=c.ref,v}function Bd(c,h,v,x,E,R){var V=2;if(x=c,typeof c=="function")t0(c)&&(V=1);else if(typeof c=="string")V=5;else e:switch(c){case f:return Ra(v.children,E,R,h);case d:V=8,E|=8;break;case p:return c=Ir(12,v,h,E|2),c.elementType=p,c.lanes=R,c;case _:return c=Ir(13,v,h,E),c.elementType=_,c.lanes=R,c;case g:return c=Ir(19,v,h,E),c.elementType=g,c.lanes=R,c;case w:return Ld(v,E,R,h);default:if(typeof c=="object"&&c!==null)switch(c.$$typeof){case m:V=10;break e;case y:V=9;break e;case A:V=11;break e;case S:V=14;break e;case M:V=16,x=null;break e}throw Error(o(130,c==null?c:typeof c,""))}return h=Ir(V,v,h,E),h.elementType=c,h.type=x,h.lanes=R,h}function Ra(c,h,v,x){return c=Ir(7,c,x,h),c.lanes=v,c}function Ld(c,h,v,x){return c=Ir(22,c,x,h),c.elementType=w,c.lanes=v,c.stateNode={},c}function n0(c,h,v){return c=Ir(6,c,null,h),c.lanes=v,c}function i0(c,h,v){return h=Ir(4,c.children!==null?c.children:[],c.key,h),h.lanes=v,h.stateNode={containerInfo:c.containerInfo,pendingChildren:null,implementation:c.implementation},h}function TL(c,h,v,x,E){this.tag=h,this.containerInfo=c,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Mt,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=nv(0),this.expirationTimes=nv(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=nv(0),this.identifierPrefix=x,this.onRecoverableError=E,Ce&&(this.mutableSourceEagerHydrationData=null)}function c1(c,h,v,x,E,R,V,ee,ve){return c=new TL(c,h,v,ee,ve),h===1?(h=1,R===!0&&(h|=8)):h=0,R=Ir(3,null,null,h),c.current=R,R.stateNode=c,R.memoizedState={element:x,isDehydrated:v,cache:null,transitions:null},fv(R),c}function h1(c){if(!c)return Et;c=c._reactInternals;e:{if(b(c)!==c||c.tag!==1)throw Error(o(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break e;case 1:if(sn(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break e}}h=h.return}while(h!==null);throw Error(o(171))}if(c.tag===1){var v=c.type;if(sn(v))return En(c,v,h)}return h}function f1(c){var h=c._reactInternals;if(h===void 0)throw typeof c.render=="function"?Error(o(188)):(c=Object.keys(c).join(","),Error(o(268,c)));return c=K(h),c===null?null:c.stateNode}function d1(c,h){if(c=c.memoizedState,c!==null&&c.dehydrated!==null){var v=c.retryLane;c.retryLane=v!==0&&v=Oe&&R>=Tt&&E<=it&&V<=gt){c.splice(h,1);break}else if(x!==Oe||v.width!==ve.width||gtV){if(!(R!==Tt||v.height!==ve.height||itE)){Oe>x&&(ve.width+=Oe-x,ve.x=x),itR&&(ve.height+=Tt-R,ve.y=R),gtv&&(v=V)),V ")+` + +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 oe(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:CL,findFiberByHostInstance:c.findFiberByHostInstance||RL,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 h=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(h.isDisabled||!h.supportsFiber)c=!0;else{try{Xf=h.inject(c),ps=h}catch{}c=!!h.checkDCE}}return c},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(c,h,v,x){if(!N)throw Error(o(363));c=Wv(c,h);var E=ze(c,v,x).disconnect;return{disconnect:function(){E()}}},t.registerMutableSourceForHydration=function(c,h){var v=h._getVersion;v=v(h._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[h,v]:c.mutableSourceEagerHydrationData.push(h,v)},t.runWithPriority=function(c,h){var v=Qt;try{return Qt=c,h()}finally{Qt=v}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(c,h,v,x){var E=h.current,R=Fi(),V=Eo(E);return v=h1(v),h.context===null?h.context=v:h.pendingContext=v,h=Os(R,V),h.payload={element:c},x=x===void 0?null:x,x!==null&&(h.callback=x),Ao(E,h),c=br(E,V,R),c!==null&&Qf(c,E,V),V},t};wP.exports=Gz;var Vz=wP.exports;const Wz=tg(Vz),Xz=n=>typeof n=="object"&&typeof n.then=="function",rl=[];function RP(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=rl.indexOf(r);s!==-1&&rl.splice(s,1)},promise:(Xz(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(rl.push(r),!t)throw r.promise}const AS=(n,e,t)=>bP(n,e,!1,t),jz=(n,e,t)=>void bP(n,e,!0,t),Jz=n=>{if(n===void 0||n.length===0)rl.splice(0,rl.length);else{const e=rl.find(t=>RP(n,t.keys,t.equal));e&&e.remove()}},SS={},IP=n=>void Object.assign(SS,n);function Kz(n,e){function t(f,{args:d=[],attach:p,...m},y){let A=`${f[0].toUpperCase()}${f.slice(1)}`,_;if(f==="primitive"){if(m.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const g=m.object;_=_u(g,{type:f,root:y,attach:p,primitive:!0})}else{const g=SS[A];if(!g)throw new Error(`R3F: ${A} 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(d))throw new Error("R3F: The args prop must be an array!");_=_u(new g(...d),{type:f,root:y,attach:p,memoizedProps:{args:d}})}return _.__r3f.attach===void 0&&(_ instanceof At?_.__r3f.attach="geometry":_ instanceof _n&&(_.__r3f.attach="material")),A!=="inject"&&yy(_,m),_}function i(f,d){let p=!1;if(d){var m,y;(m=d.__r3f)!=null&&m.attach?vy(f,d,d.__r3f.attach):d.isObject3D&&f.isObject3D&&(f.add(d),p=!0),p||(y=f.__r3f)==null||y.objects.push(d),d.__r3f||_u(d,{}),d.__r3f.parent=f,Px(d),xu(d)}}function r(f,d,p){let m=!1;if(d){var y,A;if((y=d.__r3f)!=null&&y.attach)vy(f,d,d.__r3f.attach);else if(d.isObject3D&&f.isObject3D){d.parent=f,d.dispatchEvent({type:"added"}),f.dispatchEvent({type:"childadded",child:d});const _=f.children.filter(S=>S!==d),g=_.indexOf(p);f.children=[..._.slice(0,g),d,..._.slice(g)],m=!0}m||(A=f.__r3f)==null||A.objects.push(d),d.__r3f||_u(d,{}),d.__r3f.parent=f,Px(d),xu(d)}}function s(f,d,p=!1){f&&[...f].forEach(m=>o(d,m,p))}function o(f,d,p){if(d){var m,y,A;if(d.__r3f&&(d.__r3f.parent=null),(m=f.__r3f)!=null&&m.objects&&(f.__r3f.objects=f.__r3f.objects.filter(w=>w!==d)),(y=d.__r3f)!=null&&y.attach)oT(f,d,d.__r3f.attach);else if(d.isObject3D&&f.isObject3D){var _;f.remove(d),(_=d.__r3f)!=null&&_.root&&nG(Am(d),d)}const S=(A=d.__r3f)==null?void 0:A.primitive,M=!S&&(p===void 0?d.dispose!==null:p);if(!S){var g;s((g=d.__r3f)==null?void 0:g.objects,d,M),s(d.children,d,M)}if(delete d.__r3f,M&&d.dispose&&d.type!=="Scene"){const w=()=>{try{d.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?bx.unstable_scheduleCallback(bx.unstable_IdlePriority,w):w()}xu(f)}}function a(f,d,p,m){var y;const A=(y=f.__r3f)==null?void 0:y.parent;if(!A)return;const _=t(d,p,f.__r3f.root);if(f.children){for(const g of f.children)g.__r3f&&i(_,g);f.children=f.children.filter(g=>!g.__r3f)}f.__r3f.objects.forEach(g=>i(_,g)),f.__r3f.objects=[],f.__r3f.autoRemovedBeforeAppend||o(A,f),_.parent&&(_.__r3f.autoRemovedBeforeAppend=!0),i(A,_),_.raycast&&_.__r3f.eventCount&&Am(_).getState().internal.interaction.push(_),[m,m.alternate].forEach(g=>{g!==null&&(g.stateNode=_,g.ref&&(typeof g.ref=="function"?g.ref(_):g.ref.current=_))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:Wz({createInstance:t,removeChild:o,appendChild:i,appendInitialChild:i,insertBefore:r,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(f,d)=>{if(!d)return;const p=f.getState().scene;p.__r3f&&(p.__r3f.root=f,i(p,d))},removeChildFromContainer:(f,d)=>{d&&o(f.getState().scene,d)},insertInContainerBefore:(f,d,p)=>{if(!d||!p)return;const m=f.getState().scene;m.__r3f&&r(m,d,p)},getRootHostContext:()=>null,getChildHostContext:f=>f,finalizeInitialChildren(f){var d;return!!((d=f==null?void 0:f.__r3f)!=null?d:{}).handlers},prepareUpdate(f,d,p,m){var y;if(((y=f==null?void 0:f.__r3f)!=null?y:{}).primitive&&m.object&&m.object!==f)return[!0];{const{args:_=[],children:g,...S}=m,{args:M=[],children:w,...L}=p;if(!Array.isArray(_))throw new Error("R3F: the args prop must be an array!");if(_.some((P,D)=>P!==M[D]))return[!0];const I=OP(f,S,L,!0);return I.changes.length?[!1,I]:null}},commitUpdate(f,[d,p],m,y,A,_){d?a(f,m,A,_):yy(f,p)},commitMount(f,d,p,m){var y;const A=(y=f.__r3f)!=null?y:{};f.raycast&&A.handlers&&A.eventCount&&Am(f).getState().internal.interaction.push(f)},getPublicInstance:f=>f,prepareForCommit:()=>null,preparePortalMount:f=>_u(f.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(f){var d;const{attach:p,parent:m}=(d=f.__r3f)!=null?d:{};p&&m&&oT(m,f,p),f.isObject3D&&(f.visible=!1),xu(f)},unhideInstance(f,d){var p;const{attach:m,parent:y}=(p=f.__r3f)!=null?p:{};m&&y&&vy(y,f,m),(f.isObject3D&&d.visible==null||d.visible)&&(f.visible=!0),xu(f)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():Nu.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&dn.fun(performance.now)?performance.now:dn.fun(Date.now)?Date.now:()=>0,scheduleTimeout:dn.fun(setTimeout)?setTimeout:void 0,cancelTimeout:dn.fun(clearTimeout)?clearTimeout:void 0}),applyProps:yy}}var nT,iT;const gy=n=>"colorSpace"in n||"outputColorSpace"in n,PP=()=>{var n;return(n=SS.ColorManagement)!=null?n:null},BP=n=>n&&n.isOrthographicCamera,Yz=n=>n&&n.hasOwnProperty("current"),Of=typeof window<"u"&&((nT=window.document)!=null&&nT.createElement||((iT=window.navigator)==null?void 0:iT.product)==="ReactNative")?Q.useLayoutEffect:Q.useEffect;function LP(n){const e=Q.useRef(n);return Of(()=>void(e.current=n),[n]),e}function Qz({set:n}){return Of(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class DP extends Q.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}DP.getDerivedStateFromError=()=>({error:!0});const FP="__default",rT=new Map,Zz=n=>n&&!!n.memoized&&!!n.changes;function NP(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 sh=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()};function Am(n){let e=n.__r3f.root;for(;e.getState().previousRoot;)e=e.getState().previousRoot;return e}const dn={obj:n=>n===Object(n)&&!dn.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(dn.str(n)||dn.num(n)||dn.boo(n))return n===e;const s=dn.obj(n);if(s&&i==="reference")return n===e;const o=dn.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(!dn.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(dn.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 qz(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 $z(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function _u(n,e){const t=n;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},n}function Ix(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 sT=/-\d+$/;function vy(n,e,t){if(dn.str(t)){if(sT.test(t)){const s=t.replace(sT,""),{target:o,key:a}=Ix(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=Ix(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function oT(n,e,t){var i,r;if(dn.str(t)){const{target:s,key:o}=Ix(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 OP(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...l}={},u=!1){const f=n.__r3f,d=Object.entries(r),p=[];if(u){const y=Object.keys(l);for(let A=0;A{var _;if((_=n.__r3f)!=null&&_.primitive&&y==="object"||dn.equ(A,l[y]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(y))return p.push([y,A,!0,[]]);let g=[];y.includes("-")&&(g=y.split("-")),p.push([y,A,!1,g]);for(const S in r){const M=r[S];S.startsWith(`${y}-`)&&p.push([S,M,!1,S.split("-")])}});const m={...r};return f!=null&&f.memoizedProps&&f!=null&&f.memoizedProps.args&&(m.args=f.memoizedProps.args),f!=null&&f.memoizedProps&&f!=null&&f.memoizedProps.attach&&(m.attach=f.memoizedProps.attach),{memoized:m,changes:p}}const eG=typeof process<"u"&&!1;function yy(n,e){var t;const i=n.__r3f,r=i==null?void 0:i.root,s=r==null||r.getState==null?void 0:r.getState(),{memoized:o,changes:a}=Zz(e)?e:OP(n,e),l=i==null?void 0:i.eventCount;n.__r3f&&(n.__r3f.memoizedProps=o);for(let f=0;fg[S],n),!(_&&_.set))){const[g,...S]=y.reverse();A=S.reverse().reduce((M,w)=>M[w],n),d=g}if(p===FP+"remove")if(A.constructor){let g=rT.get(A.constructor);g||(g=new A.constructor,rT.set(A.constructor,g)),p=g[d]}else p=0;if(m&&i)p?i.handlers[d]=p:delete i.handlers[d],i.eventCount=Object.keys(i.handlers).length;else if(_&&_.set&&(_.copy||_ instanceof fl)){if(Array.isArray(p))_.fromArray?_.fromArray(p):_.set(...p);else if(_.copy&&p&&p.constructor&&(eG?_.constructor.name===p.constructor.name:_.constructor===p.constructor))_.copy(p);else if(p!==void 0){const g=_ instanceof ke;!g&&_.setScalar?_.setScalar(p):_ instanceof fl&&p instanceof fl?_.mask=p.mask:_.set(p),!PP()&&s&&!s.linear&&g&&_.convertSRGBToLinear()}}else if(A[d]=p,A[d]instanceof Jt&&A[d].format===ei&&A[d].type===yr&&s){const g=A[d];gy(g)&&gy(s.gl)?g.colorSpace=s.gl.outputColorSpace:g.encoding=s.gl.outputEncoding}xu(n)}if(i&&i.parent&&n.raycast&&l!==i.eventCount){const f=Am(n).getState().internal,d=f.interaction.indexOf(n);d>-1&&f.interaction.splice(d,1),i.eventCount&&f.interaction.push(n)}return!(a.length===1&&a[0][0]==="onUpdate")&&a.length&&(t=n.__r3f)!=null&&t.parent&&Px(n),n}function xu(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 Px(n){n.onUpdate==null||n.onUpdate(n)}function UP(n,e){n.manual||(BP(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 Vp(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function tG(){var n;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return Nu.DefaultEventPriority;switch((n=e.event)==null?void 0:n.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return Nu.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return Nu.ContinuousEventPriority;default:return Nu.DefaultEventPriority}}function kP(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function nG(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)=>{kP(t.capturedMap,e,i,r)})}function iG(n){function e(l){const{internal:u}=n.getState(),f=l.offsetX-u.initialClick[0],d=l.offsetY-u.initialClick[1];return Math.round(Math.sqrt(f*f+d*d))}function t(l){return l.filter(u=>["Move","Over","Enter","Out","Leave"].some(f=>{var d;return(d=u.__r3f)==null?void 0:d.handlers["onPointer"+f]}))}function i(l,u){const f=n.getState(),d=new Set,p=[],m=u?u(f.internal.interaction):f.internal.interaction;for(let g=0;g{const M=sh(g.object),w=sh(S.object);return!M||!w?g.distance-S.distance:w.events.priority-M.events.priority||g.distance-S.distance}).filter(g=>{const S=Vp(g);return d.has(S)?!1:(d.add(S),!0)});f.events.filter&&(A=f.events.filter(A,f));for(const g of A){let S=g.object;for(;S;){var _;(_=S.__r3f)!=null&&_.eventCount&&p.push({...g,eventObject:S}),S=S.parent}}if("pointerId"in l&&f.internal.capturedMap.has(l.pointerId))for(let g of f.internal.capturedMap.get(l.pointerId).values())d.has(Vp(g.intersection))||p.push(g.intersection);return p}function r(l,u,f,d){const p=n.getState();if(l.length){const m={stopped:!1};for(const y of l){const A=sh(y.object)||p,{raycaster:_,pointer:g,camera:S,internal:M}=A,w=new O(g.x,g.y,0).unproject(S),L=C=>{var U,K;return(U=(K=M.capturedMap.get(C))==null?void 0:K.has(y.eventObject))!=null?U:!1},I=C=>{const U={intersection:y,target:u.target};M.capturedMap.has(C)?M.capturedMap.get(C).set(y.eventObject,U):M.capturedMap.set(C,new Map([[y.eventObject,U]])),u.target.setPointerCapture(C)},P=C=>{const U=M.capturedMap.get(C);U&&kP(M.capturedMap,y.eventObject,U,C)};let D={};for(let C in u){let U=u[C];typeof U!="function"&&(D[C]=U)}let b={...y,...D,pointer:g,intersections:l,stopped:m.stopped,delta:f,unprojectedPoint:w,ray:_.ray,camera:S,stopPropagation(){const C="pointerId"in u&&M.capturedMap.get(u.pointerId);if((!C||C.has(y.eventObject))&&(b.stopped=m.stopped=!0,M.hovered.size&&Array.from(M.hovered.values()).find(U=>U.eventObject===y.eventObject))){const U=l.slice(0,l.indexOf(y));s([...U,y])}},target:{hasPointerCapture:L,setPointerCapture:I,releasePointerCapture:P},currentTarget:{hasPointerCapture:L,setPointerCapture:I,releasePointerCapture:P},nativeEvent:u};if(d(b),m.stopped===!0)break}}return l}function s(l){const{internal:u}=n.getState();for(const f of u.hovered.values())if(!l.length||!l.find(d=>d.object===f.object&&d.index===f.index&&d.instanceId===f.instanceId)){const p=f.eventObject.__r3f,m=p==null?void 0:p.handlers;if(u.hovered.delete(Vp(f)),p!=null&&p.eventCount){const y={...f,intersections:l};m.onPointerOut==null||m.onPointerOut(y),m.onPointerLeave==null||m.onPointerLeave(y)}}}function o(l,u){for(let f=0;fs([]);case"onLostPointerCapture":return u=>{const{internal:f}=n.getState();"pointerId"in u&&f.capturedMap.has(u.pointerId)&&requestAnimationFrame(()=>{f.capturedMap.has(u.pointerId)&&(f.capturedMap.delete(u.pointerId),s([]))})}}return function(f){const{onPointerMissed:d,internal:p}=n.getState();p.lastEvent.current=f;const m=l==="onPointerMove",y=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",_=i(f,m?t:void 0),g=y?e(f):0;l==="onPointerDown"&&(p.initialClick=[f.offsetX,f.offsetY],p.initialHits=_.map(M=>M.eventObject)),y&&!_.length&&g<=2&&(o(f,p.interaction),d&&d(f)),m&&s(_);function S(M){const w=M.eventObject,L=w.__r3f,I=L==null?void 0:L.handlers;if(L!=null&&L.eventCount)if(m){if(I.onPointerOver||I.onPointerEnter||I.onPointerOut||I.onPointerLeave){const P=Vp(M),D=p.hovered.get(P);D?D.stopped&&M.stopPropagation():(p.hovered.set(P,M),I.onPointerOver==null||I.onPointerOver(M),I.onPointerEnter==null||I.onPointerEnter(M))}I.onPointerMove==null||I.onPointerMove(M)}else{const P=I[l];P?(!y||p.initialHits.includes(w))&&(o(f,p.interaction.filter(D=>!p.initialHits.includes(D))),P(M)):y&&p.initialHits.includes(w)&&o(f,p.interaction.filter(D=>!p.initialHits.includes(D)))}}r(_,f,g,S)}}return{handlePointer:a}}const rG=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],HP=n=>!!(n!=null&&n.render),Yg=Q.createContext(null),sG=(n,e)=>{const t=EP((a,l)=>{const u=new O,f=new O,d=new O;function p(g=l().camera,S=f,M=l().size){const{width:w,height:L,top:I,left:P}=M,D=w/L;S instanceof O?d.copy(S):d.set(...S);const b=g.getWorldPosition(u).distanceTo(d);if(BP(g))return{width:w/g.zoom,height:L/g.zoom,top:I,left:P,factor:1,distance:b,aspect:D};{const C=g.fov*Math.PI/180,U=2*Math.tan(C/2)*b,K=U*(w/L);return{width:K,height:U,top:I,left:P,factor:w/K,distance:b,aspect:D}}}let m;const y=g=>a(S=>({performance:{...S.performance,current:g}})),A=new pe;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,S)=>e(g,S,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new vS,pointer:A,mouse:A,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&&y(g.performance.min),m=setTimeout(()=>y(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(S=>({...S,events:{...S.events,...g}})),setSize:(g,S,M,w,L)=>{const I=l().camera,P={width:g,height:S,top:w||0,left:L||0,updateStyle:M};a(D=>({size:P,viewport:{...D.viewport,...p(I,f,P)}}))},setDpr:g=>a(S=>{const M=NP(g);return{viewport:{...S.viewport,dpr:M,initialDpr:S.viewport.initialDpr||M}}}),setFrameloop:(g="always")=>{const S=l().clock;S.stop(),S.elapsedTime=0,g!=="never"&&(S.start(),S.elapsedTime=0),a(()=>({frameloop:g}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:Q.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(g,S,M)=>{const w=l().internal;return w.priority=w.priority+(S>0?1:0),w.subscribers.push({ref:g,priority:S,store:M}),w.subscribers=w.subscribers.sort((L,I)=>L.priority-I.priority),()=>{const L=l().internal;L!=null&&L.subscribers&&(L.priority=L.priority-(S>0?1:0),L.subscribers=L.subscribers.filter(I=>I.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:f,set:d}=t.getState();if(l.width!==r.width||l.height!==r.height||u.dpr!==s){var p;r=l,s=u.dpr,UP(a,l),f.setPixelRatio(u.dpr);const m=(p=l.updateStyle)!=null?p:typeof HTMLCanvasElement<"u"&&f.domElement instanceof HTMLCanvasElement;f.setSize(l.width,l.height,m)}a!==o&&(o=a,d(m=>({viewport:{...m.viewport,...m.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};let Wp,oG=new Set,aG=new Set,lG=new Set;function _y(n,e){if(n.size)for(const{callback:t}of n.values())t(e)}function oh(n,e){switch(n){case"before":return _y(oG,e);case"after":return _y(aG,e);case"tail":return _y(lG,e)}}let xy,Ay;function Sy(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),xy=e.internal.subscribers,Wp=0;Wp0)&&!((f=s.gl.xr)!=null&&f.isPresenting)&&(i+=Sy(u,s))}if(t=!1,oh("after",u),i===0)return oh("tail",u),e=!1,cancelAnimationFrame(r)}function a(u,f=1){var d;if(!u)return n.forEach(p=>a(p.store.getState(),f));(d=u.gl.xr)!=null&&d.isPresenting||!u.internal.active||u.frameloop==="never"||(f>1?u.internal.frames=Math.min(60,u.internal.frames+f):t?u.internal.frames=2:u.internal.frames=1,e||(e=!0,requestAnimationFrame(o)))}function l(u,f=!0,d,p){if(f&&oh("before",u),d)Sy(u,d,p);else for(const m of n.values())Sy(u,m.store.getState());f&&oh("after",u)}return{loop:o,invalidate:a,advance:l}}function Uf(){const n=Q.useContext(Yg);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function qn(n=t=>t,e){return Uf()(n,e)}function Ai(n,e=0){const t=Uf(),i=t.getState().internal.subscribe,r=LP(n);return Of(()=>i(r,e,t),[e,i,t]),null}const aT=new WeakMap;function zP(n,e){return function(t,...i){let r=aT.get(t);return r||(r=new t,aT.set(t,r)),n&&n(r),Promise.all(i.map(s=>new Promise((o,a)=>r.load(s,l=>{l.scene&&Object.assign(l,qz(l.scene)),o(l)},e,l=>a(new Error(`Could not load ${s}: ${l==null?void 0:l.message}`))))))}}function yc(n,e,t,i){const r=Array.isArray(e)?e:[e],s=AS(zP(t,i),[n,...r],{equal:dn.equ});return Array.isArray(e)?s:s[0]}yc.preload=function(n,e,t){const i=Array.isArray(e)?e:[e];return jz(zP(t),[n,...i])};yc.clear=function(n,e){const t=Array.isArray(e)?e:[e];return Jz([n,...t])};const oc=new Map,{invalidate:lT,advance:uT}=uG(oc),{reconciler:ac,applyProps:Go}=Kz(oc,tG),vu={objects:"shallow",strict:!1},cG=(n,e)=>{const t=typeof n=="function"?n(e):n;return HP(t)?t:new nS({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function hG(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 fG(n){const e=oc.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||sG(lT,uT),o=t||ac.createContainer(s,Nu.ConcurrentRoot,null,!1,null,"",r,null);e||oc.set(n,{fiber:o,store:s});let a,l=!1,u;return{configure(f={}){let{gl:d,size:p,scene:m,events:y,onCreated:A,shadows:_=!1,linear:g=!1,flat:S=!1,legacy:M=!1,orthographic:w=!1,frameloop:L="always",dpr:I=[1,2],performance:P,raycaster:D,camera:b,onPointerMissed:C}=f,U=s.getState(),K=U.gl;U.gl||U.set({gl:K=cG(d,n)});let X=U.raycaster;X||U.set({raycaster:X=new Nf});const{params:q,...ie}=D||{};if(dn.equ(ie,X,vu)||Go(X,{...ie}),dn.equ(q,X.params,vu)||Go(X,{params:{...X.params,...q}}),!U.camera||U.camera===u&&!dn.equ(u,b,vu)){u=b;const J=b instanceof wf,he=J?b:w?new zr(0,0,0,0,.1,1e3):new Mn(75,0,.1,1e3);J||(he.position.z=5,b&&(Go(he,b),("aspect"in b||"left"in b||"right"in b||"bottom"in b||"top"in b)&&(he.manual=!0,he.updateProjectionMatrix())),!U.camera&&!(b!=null&&b.rotation)&&he.lookAt(0,0,0)),U.set({camera:he}),X.camera=he}if(!U.scene){let J;m instanceof sc?J=m:(J=new sc,m&&Go(J,m)),U.set({scene:_u(J)})}if(!U.xr){var oe;const J=(He,ae)=>{const Re=s.getState();Re.frameloop!=="never"&&uT(He,!0,Re,ae)},he=()=>{const He=s.getState();He.gl.xr.enabled=He.gl.xr.isPresenting,He.gl.xr.setAnimationLoop(He.gl.xr.isPresenting?J:null),He.gl.xr.isPresenting||lT(He)},Me={connect(){const He=s.getState().gl;He.xr.addEventListener("sessionstart",he),He.xr.addEventListener("sessionend",he)},disconnect(){const He=s.getState().gl;He.xr.removeEventListener("sessionstart",he),He.xr.removeEventListener("sessionend",he)}};typeof((oe=K.xr)==null?void 0:oe.addEventListener)=="function"&&Me.connect(),U.set({xr:Me})}if(K.shadowMap){const J=K.shadowMap.enabled,he=K.shadowMap.type;if(K.shadowMap.enabled=!!_,dn.boo(_))K.shadowMap.type=Bh;else if(dn.str(_)){var Se;const Me={basic:vb,percentage:yg,soft:Bh,variance:ns};K.shadowMap.type=(Se=Me[_])!=null?Se:Bh}else dn.obj(_)&&Object.assign(K.shadowMap,_);(J!==K.shadowMap.enabled||he!==K.shadowMap.type)&&(K.shadowMap.needsUpdate=!0)}const k=PP();k&&("enabled"in k?k.enabled=!M:"legacyMode"in k&&(k.legacyMode=M)),l||Go(K,{outputEncoding:g?3e3:3001,toneMapping:S?Rs:DA}),U.legacy!==M&&U.set(()=>({legacy:M})),U.linear!==g&&U.set(()=>({linear:g})),U.flat!==S&&U.set(()=>({flat:S})),d&&!dn.fun(d)&&!HP(d)&&!dn.equ(d,K,vu)&&Go(K,d),y&&!U.events.handlers&&U.set({events:y(s)});const Z=hG(n,p);return dn.equ(Z,U.size,vu)||U.setSize(Z.width,Z.height,Z.updateStyle,Z.top,Z.left),I&&U.viewport.dpr!==NP(I)&&U.setDpr(I),U.frameloop!==L&&U.setFrameloop(L),U.onPointerMissed||U.set({onPointerMissed:C}),P&&!dn.equ(P,U.performance,vu)&&U.set(J=>({performance:{...J.performance,...P}})),a=A,l=!0,this},render(f){return l||this.configure(),ac.updateContainer(re.jsx(dG,{store:s,children:f,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){GP(n)}}}function dG({store:n,children:e,onCreated:t,rootElement:i}){return Of(()=>{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)},[]),re.jsx(Yg.Provider,{value:n,children:e})}function GP(n,e){const t=oc.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),ac.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(),$z(r),oc.delete(n)}catch{}},500)})}}function Qg(n,e,t){return re.jsx(pG,{children:n,container:e,state:t},e.uuid)}function pG({state:n={},children:e,container:t}){const{events:i,size:r,...s}=n,o=Uf(),[a]=Q.useState(()=>new Nf),[l]=Q.useState(()=>new pe),u=Q.useCallback((d,p)=>{const m={...d};Object.keys(d).forEach(A=>{(rG.includes(A)||d[A]!==p[A]&&p[A])&&delete m[A]});let y;if(p&&r){const A=p.camera;y=d.viewport.getCurrentViewport(A,new O,r),A!==d.camera&&UP(A,r)}return{...m,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...d.events,...p==null?void 0:p.events,...i},size:{...d.size,...r},viewport:{...d.viewport,...y},...s}},[n]),[f]=Q.useState(()=>{const d=o.getState();return EP((m,y)=>({...d,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...d.events,...i},size:{...d.size,...r},...s,set:m,get:y,setEvents:A=>m(_=>({..._,events:{..._.events,...A}}))}))});return Q.useEffect(()=>{const d=o.subscribe(p=>f.setState(m=>u(p,m)));return()=>{d()}},[u]),Q.useEffect(()=>{f.setState(d=>u(o.getState(),d))},[u]),Q.useEffect(()=>()=>{f.destroy()},[]),re.jsx(re.Fragment,{children:ac.createPortal(re.jsx(Yg.Provider,{value:f,children:e}),f,null)})}ac.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:Q.version});function Bx(n,e,t){var i,r,s,o,a;e==null&&(e=100);function l(){var f=Date.now()-o;f=0?i=setTimeout(l,e-f):(i=null,t||(a=n.apply(s,r),s=r=null))}var u=function(){s=this,r=arguments,o=Date.now();var f=t&&!i;return i||(i=setTimeout(l,e)),f&&(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}Bx.debounce=Bx;var mG=Bx;const cT=tg(mG);function gG(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]=Q.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=Q.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),u=e?typeof e=="number"?e:e.scroll:null,f=e?typeof e=="number"?e:e.resize:null,d=Q.useRef(!1);Q.useEffect(()=>(d.current=!0,()=>void(d.current=!1)));const[p,m,y]=Q.useMemo(()=>{const S=()=>{if(!l.current.element)return;const{left:M,top:w,width:L,height:I,bottom:P,right:D,x:b,y:C}=l.current.element.getBoundingClientRect(),U={left:M,top:w,width:L,height:I,bottom:P,right:D,x:b,y:C};l.current.element instanceof HTMLElement&&r&&(U.height=l.current.element.offsetHeight,U.width=l.current.element.offsetWidth),Object.freeze(U),d.current&&!xG(l.current.lastBounds,U)&&a(l.current.lastBounds=U)};return[S,f?cT(S,f):S,u?cT(S,u):S]},[a,r,u,f]);function A(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(S=>S.removeEventListener("scroll",y,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function _(){l.current.element&&(l.current.resizeObserver=new s(y),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(S=>S.addEventListener("scroll",y,{capture:!0,passive:!0})))}const g=S=>{!S||S===l.current.element||(A(),l.current.element=S,l.current.scrollContainers=VP(S),_())};return yG(y,!!t),vG(m),Q.useEffect(()=>{A(),_()},[t,y,m]),Q.useEffect(()=>A,[]),[g,o,p]}function vG(n){Q.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function yG(n,e){Q.useEffect(()=>{if(e){const t=n;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[n,e])}function VP(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,...VP(n.parentElement)]}const _G=["x","y","top","bottom","left","right","width","height"],xG=(n,e)=>_G.every(t=>n[t]===e[t]);var AG=Object.defineProperty,SG=Object.defineProperties,MG=Object.getOwnPropertyDescriptors,hT=Object.getOwnPropertySymbols,EG=Object.prototype.hasOwnProperty,wG=Object.prototype.propertyIsEnumerable,fT=(n,e,t)=>e in n?AG(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,dT=(n,e)=>{for(var t in e||(e={}))EG.call(e,t)&&fT(n,t,e[t]);if(hT)for(var t of hT(e))wG.call(e,t)&&fT(n,t,e[t]);return n},TG=(n,e)=>SG(n,MG(e)),pT,mT;typeof window<"u"&&((pT=window.document)!=null&&pT.createElement||((mT=window.navigator)==null?void 0:mT.product)==="ReactNative")?Q.useLayoutEffect:Q.useEffect;function WP(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=n.child;for(;i;){const r=WP(i,e,t);if(r)return r;i=i.sibling}}function XP(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const gT=console.error;console.error=function(){const n=[...arguments].join("");if(n!=null&&n.startsWith("Warning:")&&n.includes("useContext")){console.error=gT;return}return gT.apply(this,arguments)};const MS=XP(Q.createContext(null));class jP extends Q.Component{render(){return Q.createElement(MS.Provider,{value:this._reactInternals},this.props.children)}}function CG(){const n=Q.useContext(MS);if(n===null)throw new Error("its-fine: useFiber must be called within a !");const e=Q.useId();return Q.useMemo(()=>{for(const i of[n,n==null?void 0:n.alternate]){if(!i)continue;const r=WP(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 RG(){const n=CG(),[e]=Q.useState(()=>new Map);e.clear();let t=n;for(;t;){if(t.type&&typeof t.type=="object"){const r=t.type._context===void 0&&t.type.Provider===t.type?t.type:t.type._context;r&&r!==MS&&!e.has(r)&&e.set(r,Q.useContext(XP(r)))}t=t.return}return e}function bG(){const n=RG();return Q.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>Q.createElement(e,null,Q.createElement(t.Provider,TG(dT({},i),{value:n.get(t)}))),e=>Q.createElement(jP,dT({},e))),[n])}const My={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 IG(n){const{handlePointer:e}=iG(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(My).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]=My[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]=My[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const PG=Q.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=IG,eventSource:a,eventPrefix:l,shadows:u,linear:f,flat:d,legacy:p,orthographic:m,frameloop:y,dpr:A,performance:_,raycaster:g,camera:S,scene:M,onPointerMissed:w,onCreated:L,...I},P){Q.useMemo(()=>IP(kz),[]);const D=bG(),[b,C]=gG({scroll:!0,debounce:{scroll:50,resize:0},...i}),U=Q.useRef(null),K=Q.useRef(null);Q.useImperativeHandle(P,()=>U.current);const X=LP(w),[q,ie]=Q.useState(!1),[oe,Se]=Q.useState(!1);if(q)throw q;if(oe)throw oe;const k=Q.useRef(null);Of(()=>{const J=U.current;C.width>0&&C.height>0&&J&&(k.current||(k.current=fG(J)),k.current.configure({gl:s,events:o,shadows:u,linear:f,flat:d,legacy:p,orthographic:m,frameloop:y,dpr:A,performance:_,raycaster:g,camera:S,scene:M,size:C,onPointerMissed:(...he)=>X.current==null?void 0:X.current(...he),onCreated:he=>{he.events.connect==null||he.events.connect(a?Yz(a)?a.current:a:K.current),l&&he.setEvents({compute:(Me,He)=>{const ae=Me[l+"X"],Re=Me[l+"Y"];He.pointer.set(ae/He.size.width*2-1,-(Re/He.size.height)*2+1),He.raycaster.setFromCamera(He.pointer,He.camera)}}),L==null||L(he)}}),k.current.render(re.jsx(D,{children:re.jsx(DP,{set:Se,children:re.jsx(Q.Suspense,{fallback:re.jsx(Qz,{set:ie}),children:e})})})))}),Q.useEffect(()=>{const J=U.current;if(J)return()=>GP(J)},[]);const Z=a?"none":"auto";return re.jsx("div",{ref:K,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:Z,...r},...I,children:re.jsx("div",{ref:b,style:{width:"100%",height:"100%"},children:re.jsx("canvas",{ref:U,style:{display:"block"},children:t})})})}),BG=Q.forwardRef(function(e,t){return re.jsx(jP,{children:re.jsx(PG,{...e,ref:t})})});function mf(){return mf=Object.assign?Object.assign.bind():function(n){for(var e=1;e>>1|(vn&21845)<<1;Oo=(Oo&52428)>>>2|(Oo&13107)<<2,Oo=(Oo&61680)>>>4|(Oo&3855)<<4,Dx[vn]=((Oo&65280)>>>8|(Oo&255)<<8)>>>1}var Nh=function(n,e,t){for(var i=n.length,r=0,s=new Zo(e);r>>l]=u}else for(a=new Zo(i),r=0;r>>15-n[r]);return a},kf=new kr(288);for(var vn=0;vn<144;++vn)kf[vn]=8;for(var vn=144;vn<256;++vn)kf[vn]=9;for(var vn=256;vn<280;++vn)kf[vn]=7;for(var vn=280;vn<288;++vn)kf[vn]=8;var qP=new kr(32);for(var vn=0;vn<32;++vn)qP[vn]=5;var UG=Nh(kf,9,1),kG=Nh(qP,5,1),Ey=function(n){for(var e=n[0],t=1;te&&(e=n[t]);return e},es=function(n,e,t){var i=e/8|0;return(n[i]|n[i+1]<<8)>>(e&7)&t},wy=function(n,e){var t=e/8|0;return(n[t]|n[t+1]<<8|n[t+2]<<16)>>(e&7)},HG=function(n){return(n/8|0)+(n&7&&1)},zG=function(n,e,t){(t==null||t>n.length)&&(t=n.length);var i=new(n instanceof Zo?Zo:n instanceof Lx?Lx:kr)(t-e);return i.set(n.subarray(e,t)),i},GG=function(n,e,t){var i=n.length;if(!i||t&&!t.l&&i<5)return e||new kr(0);var r=!e||t,s=!t||t.i;t||(t={}),e||(e=new kr(i*3));var o=function(Te){var Pe=e.length;if(Te>Pe){var ft=new kr(Math.max(Pe*2,Te));ft.set(e),e=ft}},a=t.f||0,l=t.p||0,u=t.b||0,f=t.l,d=t.d,p=t.m,m=t.n,y=i*8;do{if(!f){t.f=a=es(n,l,1);var A=es(n,l+1,3);if(l+=3,A)if(A==1)f=UG,d=kG,p=9,m=5;else if(A==2){var M=es(n,l,31)+257,w=es(n,l+10,15)+4,L=M+es(n,l+5,31)+1;l+=14;for(var I=new kr(L),P=new kr(19),D=0;D>>4;if(_<16)I[D++]=_;else{var X=0,q=0;for(_==16?(q=3+es(n,l,3),l+=2,X=I[D-1]):_==17?(q=3+es(n,l,7),l+=3):_==18&&(q=11+es(n,l,127),l+=7);q--;)I[D++]=X}}var ie=I.subarray(0,M),oe=I.subarray(M);p=Ey(ie),m=Ey(oe),f=Nh(ie,p,1),d=Nh(oe,m,1)}else throw"invalid block type";else{var _=HG(l)+4,g=n[_-4]|n[_-3]<<8,S=_+g;if(S>i){if(s)throw"unexpected EOF";break}r&&o(u+g),e.set(n.subarray(_,S),u),t.b=u+=g,t.p=l=S*8;continue}if(l>y){if(s)throw"unexpected EOF";break}}r&&o(u+131072);for(var Se=(1<>>4;if(l+=X&15,l>y){if(s)throw"unexpected EOF";break}if(!X)throw"invalid length/literal";if(J<256)e[u++]=J;else if(J==256){Z=l,f=null;break}else{var he=J-254;if(J>264){var D=J-257,Me=JP[D];he=es(n,l,(1<>>4;if(!He)throw"invalid distance";l+=He&15;var oe=OG[ae];if(ae>3){var Me=KP[ae];oe+=wy(n,l)&(1<y){if(s)throw"unexpected EOF";break}r&&o(u+131072);for(var Re=u+he;u>>4>7||(n[0]<<8|n[1])%31)throw"invalid zlib data";if(n[1]&32)throw"invalid zlib data: preset dictionaries not supported"};function Xp(n,e){return GG((WG(n),n.subarray(2,-4)),e)}var XG=typeof TextDecoder<"u"&&new TextDecoder,jG=0;try{XG.decode(VG,{stream:!0}),jG=1}catch{}const JG=n=>n&&n.isCubeTexture;class KG extends an{constructor(e,t){var i,r;const s=JG(e),a=((r=s?(i=e.image[0])==null?void 0:i.width:e.image.width)!=null?r:1024)/4,l=Math.floor(Math.log2(a)),u=Math.pow(2,l),f=3*Math.max(u,16*7),d=4*u,p=[s?"#define ENVMAP_TYPE_CUBE":"",`#define CUBEUV_TEXEL_WIDTH ${1/f}`,`#define CUBEUV_TEXEL_HEIGHT ${1/d}`,`#define CUBEUV_MAX_MIP ${l}.0`],m=` + varying vec3 vWorldPosition; + void main() + { + vec4 worldPosition = ( modelMatrix * vec4( position, 1.0 ) ); + vWorldPosition = worldPosition.xyz; + + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + } + `,y=p.join(` +`)+` + #define ENVMAP_TYPE_CUBE_UV + varying vec3 vWorldPosition; + uniform float radius; + uniform float height; + uniform float angle; + #ifdef ENVMAP_TYPE_CUBE + uniform samplerCube map; + #else + uniform sampler2D map; + #endif + // From: https://www.shadertoy.com/view/4tsBD7 + float diskIntersectWithBackFaceCulling( vec3 ro, vec3 rd, vec3 c, vec3 n, float r ) + { + float d = dot ( rd, n ); + + if( d > 0.0 ) { return 1e6; } + + vec3 o = ro - c; + float t = - dot( n, o ) / d; + vec3 q = o + rd * t; + + return ( dot( q, q ) < r * r ) ? t : 1e6; + } + // From: https://www.iquilezles.org/www/articles/intersectors/intersectors.htm + float sphereIntersect( vec3 ro, vec3 rd, vec3 ce, float ra ) + { + vec3 oc = ro - ce; + float b = dot( oc, rd ); + float c = dot( oc, oc ) - ra * ra; + float h = b * b - c; + + if( h < 0.0 ) { return -1.0; } + + h = sqrt( h ); + + return - b + h; + } + vec3 project() + { + vec3 p = normalize( vWorldPosition ); + vec3 camPos = cameraPosition; + camPos.y -= height; + float intersection = sphereIntersect( camPos, p, vec3( 0.0 ), radius ); + if( intersection > 0.0 ) { + + vec3 h = vec3( 0.0, - height, 0.0 ); + float intersection2 = diskIntersectWithBackFaceCulling( camPos, p, h, vec3( 0.0, 1.0, 0.0 ), radius ); + p = ( camPos + min( intersection, intersection2 ) * p ) / radius; + } else { + p = vec3( 0.0, 1.0, 0.0 ); + } + return p; + } + #include + #include + void main() + { + vec3 projectedWorldPosition = project(); + + #ifdef ENVMAP_TYPE_CUBE + vec3 outcolor = textureCube( map, projectedWorldPosition ).rgb; + #else + vec3 direction = normalize( projectedWorldPosition ); + vec2 uv = equirectUv( direction ); + vec3 outcolor = texture2D( map, uv ).rgb; + #endif + gl_FragColor = vec4( outcolor, 1.0 ); + #include + #include <${parseInt(wl.replace(/\D+/g,""))>=154?"colorspace_fragment":"encodings_fragment"}> + } + `,A={map:{value:e},height:{value:(t==null?void 0:t.height)||15},radius:{value:(t==null?void 0:t.radius)||100}},_=new Bf(1,16),g=new Vi({uniforms:A,fragmentShader:y,vertexShader:m,side:hr});super(_,g)}set radius(e){this.material.uniforms.radius.value=e}get radius(){return this.material.uniforms.radius.value}set height(e){this.material.uniforms.height.value=e}get height(){return this.material.uniforms.height.value}}var YG=Object.defineProperty,QG=(n,e,t)=>e in n?YG(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,_t=(n,e,t)=>(QG(n,typeof e!="symbol"?e+"":e,t),t);const jp=new vo,yT=new Ur,ZG=Math.cos(70*(Math.PI/180)),_T=(n,e)=>(n%e+e)%e;let qG=class extends Ls{constructor(e,t){super(),_t(this,"object"),_t(this,"domElement"),_t(this,"enabled",!0),_t(this,"target",new O),_t(this,"minDistance",0),_t(this,"maxDistance",1/0),_t(this,"minZoom",0),_t(this,"maxZoom",1/0),_t(this,"minPolarAngle",0),_t(this,"maxPolarAngle",Math.PI),_t(this,"minAzimuthAngle",-1/0),_t(this,"maxAzimuthAngle",1/0),_t(this,"enableDamping",!1),_t(this,"dampingFactor",.05),_t(this,"enableZoom",!0),_t(this,"zoomSpeed",1),_t(this,"enableRotate",!0),_t(this,"rotateSpeed",1),_t(this,"enablePan",!0),_t(this,"panSpeed",1),_t(this,"screenSpacePanning",!0),_t(this,"keyPanSpeed",7),_t(this,"zoomToCursor",!1),_t(this,"autoRotate",!1),_t(this,"autoRotateSpeed",2),_t(this,"reverseOrbit",!1),_t(this,"reverseHorizontalOrbit",!1),_t(this,"reverseVerticalOrbit",!1),_t(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),_t(this,"mouseButtons",{LEFT:Xa.ROTATE,MIDDLE:Xa.DOLLY,RIGHT:Xa.PAN}),_t(this,"touches",{ONE:ja.ROTATE,TWO:ja.DOLLY_PAN}),_t(this,"target0"),_t(this,"position0"),_t(this,"zoom0"),_t(this,"_domElementKeyEvents",null),_t(this,"getPolarAngle"),_t(this,"getAzimuthalAngle"),_t(this,"setPolarAngle"),_t(this,"setAzimuthalAngle"),_t(this,"getDistance"),_t(this,"listenToKeyEvents"),_t(this,"stopListenToKeyEvents"),_t(this,"saveState"),_t(this,"reset"),_t(this,"update"),_t(this,"connect"),_t(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=()=>f.phi,this.getAzimuthalAngle=()=>f.theta,this.setPolarAngle=Y=>{let Ie=_T(Y,2*Math.PI),Le=f.phi;Le<0&&(Le+=2*Math.PI),Ie<0&&(Ie+=2*Math.PI);let j=Math.abs(Ie-Le);2*Math.PI-j{let Ie=_T(Y,2*Math.PI),Le=f.theta;Le<0&&(Le+=2*Math.PI),Ie<0&&(Ie+=2*Math.PI);let j=Math.abs(Ie-Le);2*Math.PI-ji.object.position.distanceTo(i.target),this.listenToKeyEvents=Y=>{Y.addEventListener("keydown",ze),this._domElementKeyEvents=Y},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener("keydown",ze),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 Y=new O,Ie=new O(0,1,0),Le=new un().setFromUnitVectors(e.up,Ie),j=Le.clone().invert(),xe=new O,$=new un,Ne=2*Math.PI;return function(){const Ot=i.object.position;Le.setFromUnitVectors(e.up,Ie),j.copy(Le).invert(),Y.copy(Ot).sub(i.target),Y.applyQuaternion(Le),f.setFromVector3(Y),i.autoRotate&&l===a.NONE&&q(K()),i.enableDamping?(f.theta+=d.theta*i.dampingFactor,f.phi+=d.phi*i.dampingFactor):(f.theta+=d.theta,f.phi+=d.phi);let Bt=i.minAzimuthAngle,Ht=i.maxAzimuthAngle;isFinite(Bt)&&isFinite(Ht)&&(Bt<-Math.PI?Bt+=Ne:Bt>Math.PI&&(Bt-=Ne),Ht<-Math.PI?Ht+=Ne:Ht>Math.PI&&(Ht-=Ne),Bt<=Ht?f.theta=Math.max(Bt,Math.min(Ht,f.theta)):f.theta=f.theta>(Bt+Ht)/2?Math.max(Bt,f.theta):Math.min(Ht,f.theta)),f.phi=Math.max(i.minPolarAngle,Math.min(i.maxPolarAngle,f.phi)),f.makeSafe(),i.enableDamping===!0?i.target.addScaledVector(m,i.dampingFactor):i.target.add(m),i.zoomToCursor&&b||i.object.isOrthographicCamera?f.radius=Me(f.radius):f.radius=Me(f.radius*p),Y.setFromSpherical(f),Y.applyQuaternion(j),Ot.copy(i.target).add(Y),i.object.matrixAutoUpdate||i.object.updateMatrix(),i.object.lookAt(i.target),i.enableDamping===!0?(d.theta*=1-i.dampingFactor,d.phi*=1-i.dampingFactor,m.multiplyScalar(1-i.dampingFactor)):(d.set(0,0,0),m.set(0,0,0));let hn=!1;if(i.zoomToCursor&&b){let Lt=null;if(i.object instanceof Mn&&i.object.isPerspectiveCamera){const Nn=Y.length();Lt=Me(Nn*p);const mn=Nn-Lt;i.object.position.addScaledVector(P,mn),i.object.updateMatrixWorld()}else if(i.object.isOrthographicCamera){const Nn=new O(D.x,D.y,0);Nn.unproject(i.object),i.object.zoom=Math.max(i.minZoom,Math.min(i.maxZoom,i.object.zoom/p)),i.object.updateProjectionMatrix(),hn=!0;const mn=new O(D.x,D.y,0);mn.unproject(i.object),i.object.position.sub(mn).add(Nn),i.object.updateMatrixWorld(),Lt=Y.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),i.zoomToCursor=!1;Lt!==null&&(i.screenSpacePanning?i.target.set(0,0,-1).transformDirection(i.object.matrix).multiplyScalar(Lt).add(i.object.position):(jp.origin.copy(i.object.position),jp.direction.set(0,0,-1).transformDirection(i.object.matrix),Math.abs(i.object.up.dot(jp.direction))u||8*(1-$.dot(i.object.quaternion))>u?(i.dispatchEvent(r),xe.copy(i.object.position),$.copy(i.object.quaternion),hn=!1,!0):!1}})(),this.connect=Y=>{Y===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),i.domElement=Y,i.domElement.style.touchAction="none",i.domElement.addEventListener("contextmenu",st),i.domElement.addEventListener("pointerdown",ue),i.domElement.addEventListener("pointercancel",be),i.domElement.addEventListener("wheel",Ve)},this.dispose=()=>{var Y,Ie,Le,j,xe,$;i.domElement&&(i.domElement.style.touchAction="auto"),(Y=i.domElement)==null||Y.removeEventListener("contextmenu",st),(Ie=i.domElement)==null||Ie.removeEventListener("pointerdown",ue),(Le=i.domElement)==null||Le.removeEventListener("pointercancel",be),(j=i.domElement)==null||j.removeEventListener("wheel",Ve),(xe=i.domElement)==null||xe.ownerDocument.removeEventListener("pointermove",Ae),($=i.domElement)==null||$.ownerDocument.removeEventListener("pointerup",be),i._domElementKeyEvents!==null&&i._domElementKeyEvents.removeEventListener("keydown",ze)};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,f=new Rx,d=new Rx;let p=1;const m=new O,y=new pe,A=new pe,_=new pe,g=new pe,S=new pe,M=new pe,w=new pe,L=new pe,I=new pe,P=new O,D=new pe;let b=!1;const C=[],U={};function K(){return 2*Math.PI/60/60*i.autoRotateSpeed}function X(){return Math.pow(.95,i.zoomSpeed)}function q(Y){i.reverseOrbit||i.reverseHorizontalOrbit?d.theta+=Y:d.theta-=Y}function ie(Y){i.reverseOrbit||i.reverseVerticalOrbit?d.phi+=Y:d.phi-=Y}const oe=(()=>{const Y=new O;return function(Le,j){Y.setFromMatrixColumn(j,0),Y.multiplyScalar(-Le),m.add(Y)}})(),Se=(()=>{const Y=new O;return function(Le,j){i.screenSpacePanning===!0?Y.setFromMatrixColumn(j,1):(Y.setFromMatrixColumn(j,0),Y.crossVectors(i.object.up,Y)),Y.multiplyScalar(Le),m.add(Y)}})(),k=(()=>{const Y=new O;return function(Le,j){const xe=i.domElement;if(xe&&i.object instanceof Mn&&i.object.isPerspectiveCamera){const $=i.object.position;Y.copy($).sub(i.target);let Ne=Y.length();Ne*=Math.tan(i.object.fov/2*Math.PI/180),oe(2*Le*Ne/xe.clientHeight,i.object.matrix),Se(2*j*Ne/xe.clientHeight,i.object.matrix)}else xe&&i.object instanceof zr&&i.object.isOrthographicCamera?(oe(Le*(i.object.right-i.object.left)/i.object.zoom/xe.clientWidth,i.object.matrix),Se(j*(i.object.top-i.object.bottom)/i.object.zoom/xe.clientHeight,i.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),i.enablePan=!1)}})();function Z(Y){i.object instanceof Mn&&i.object.isPerspectiveCamera||i.object instanceof zr&&i.object.isOrthographicCamera?p/=Y:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),i.enableZoom=!1)}function J(Y){i.object instanceof Mn&&i.object.isPerspectiveCamera||i.object instanceof zr&&i.object.isOrthographicCamera?p*=Y:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),i.enableZoom=!1)}function he(Y){if(!i.zoomToCursor||!i.domElement)return;b=!0;const Ie=i.domElement.getBoundingClientRect(),Le=Y.clientX-Ie.left,j=Y.clientY-Ie.top,xe=Ie.width,$=Ie.height;D.x=Le/xe*2-1,D.y=-(j/$)*2+1,P.set(D.x,D.y,1).unproject(i.object).sub(i.object.position).normalize()}function Me(Y){return Math.max(i.minDistance,Math.min(i.maxDistance,Y))}function He(Y){y.set(Y.clientX,Y.clientY)}function ae(Y){he(Y),w.set(Y.clientX,Y.clientY)}function Re(Y){g.set(Y.clientX,Y.clientY)}function Te(Y){A.set(Y.clientX,Y.clientY),_.subVectors(A,y).multiplyScalar(i.rotateSpeed);const Ie=i.domElement;Ie&&(q(2*Math.PI*_.x/Ie.clientHeight),ie(2*Math.PI*_.y/Ie.clientHeight)),y.copy(A),i.update()}function Pe(Y){L.set(Y.clientX,Y.clientY),I.subVectors(L,w),I.y>0?Z(X()):I.y<0&&J(X()),w.copy(L),i.update()}function ft(Y){S.set(Y.clientX,Y.clientY),M.subVectors(S,g).multiplyScalar(i.panSpeed),k(M.x,M.y),g.copy(S),i.update()}function Mt(Y){he(Y),Y.deltaY<0?J(X()):Y.deltaY>0&&Z(X()),i.update()}function ne(Y){let Ie=!1;switch(Y.code){case i.keys.UP:k(0,i.keyPanSpeed),Ie=!0;break;case i.keys.BOTTOM:k(0,-i.keyPanSpeed),Ie=!0;break;case i.keys.LEFT:k(i.keyPanSpeed,0),Ie=!0;break;case i.keys.RIGHT:k(-i.keyPanSpeed,0),Ie=!0;break}Ie&&(Y.preventDefault(),i.update())}function pt(){if(C.length==1)y.set(C[0].pageX,C[0].pageY);else{const Y=.5*(C[0].pageX+C[1].pageX),Ie=.5*(C[0].pageY+C[1].pageY);y.set(Y,Ie)}}function ge(){if(C.length==1)g.set(C[0].pageX,C[0].pageY);else{const Y=.5*(C[0].pageX+C[1].pageX),Ie=.5*(C[0].pageY+C[1].pageY);g.set(Y,Ie)}}function Ce(){const Y=C[0].pageX-C[1].pageX,Ie=C[0].pageY-C[1].pageY,Le=Math.sqrt(Y*Y+Ie*Ie);w.set(0,Le)}function Ee(){i.enableZoom&&Ce(),i.enablePan&&ge()}function Ue(){i.enableZoom&&Ce(),i.enableRotate&&pt()}function Be(Y){if(C.length==1)A.set(Y.pageX,Y.pageY);else{const Le=at(Y),j=.5*(Y.pageX+Le.x),xe=.5*(Y.pageY+Le.y);A.set(j,xe)}_.subVectors(A,y).multiplyScalar(i.rotateSpeed);const Ie=i.domElement;Ie&&(q(2*Math.PI*_.x/Ie.clientHeight),ie(2*Math.PI*_.y/Ie.clientHeight)),y.copy(A)}function Ye(Y){if(C.length==1)S.set(Y.pageX,Y.pageY);else{const Ie=at(Y),Le=.5*(Y.pageX+Ie.x),j=.5*(Y.pageY+Ie.y);S.set(Le,j)}M.subVectors(S,g).multiplyScalar(i.panSpeed),k(M.x,M.y),g.copy(S)}function lt(Y){const Ie=at(Y),Le=Y.pageX-Ie.x,j=Y.pageY-Ie.y,xe=Math.sqrt(Le*Le+j*j);L.set(0,xe),I.set(0,Math.pow(L.y/w.y,i.zoomSpeed)),Z(I.y),w.copy(L)}function W(Y){i.enableZoom&<(Y),i.enablePan&&Ye(Y)}function N(Y){i.enableZoom&<(Y),i.enableRotate&&Be(Y)}function ue(Y){var Ie,Le;i.enabled!==!1&&(C.length===0&&((Ie=i.domElement)==null||Ie.ownerDocument.addEventListener("pointermove",Ae),(Le=i.domElement)==null||Le.ownerDocument.addEventListener("pointerup",be)),Rt(Y),Y.pointerType==="touch"?yt(Y):we(Y))}function Ae(Y){i.enabled!==!1&&(Y.pointerType==="touch"?Fe(Y):rt(Y))}function be(Y){var Ie,Le,j;dt(Y),C.length===0&&((Ie=i.domElement)==null||Ie.releasePointerCapture(Y.pointerId),(Le=i.domElement)==null||Le.ownerDocument.removeEventListener("pointermove",Ae),(j=i.domElement)==null||j.ownerDocument.removeEventListener("pointerup",be)),i.dispatchEvent(o),l=a.NONE}function we(Y){let Ie;switch(Y.button){case 0:Ie=i.mouseButtons.LEFT;break;case 1:Ie=i.mouseButtons.MIDDLE;break;case 2:Ie=i.mouseButtons.RIGHT;break;default:Ie=-1}switch(Ie){case Xa.DOLLY:if(i.enableZoom===!1)return;ae(Y),l=a.DOLLY;break;case Xa.ROTATE:if(Y.ctrlKey||Y.metaKey||Y.shiftKey){if(i.enablePan===!1)return;Re(Y),l=a.PAN}else{if(i.enableRotate===!1)return;He(Y),l=a.ROTATE}break;case Xa.PAN:if(Y.ctrlKey||Y.metaKey||Y.shiftKey){if(i.enableRotate===!1)return;He(Y),l=a.ROTATE}else{if(i.enablePan===!1)return;Re(Y),l=a.PAN}break;default:l=a.NONE}l!==a.NONE&&i.dispatchEvent(s)}function rt(Y){if(i.enabled!==!1)switch(l){case a.ROTATE:if(i.enableRotate===!1)return;Te(Y);break;case a.DOLLY:if(i.enableZoom===!1)return;Pe(Y);break;case a.PAN:if(i.enablePan===!1)return;ft(Y);break}}function Ve(Y){i.enabled===!1||i.enableZoom===!1||l!==a.NONE&&l!==a.ROTATE||(Y.preventDefault(),i.dispatchEvent(s),Mt(Y),i.dispatchEvent(o))}function ze(Y){i.enabled===!1||i.enablePan===!1||ne(Y)}function yt(Y){switch(je(Y),C.length){case 1:switch(i.touches.ONE){case ja.ROTATE:if(i.enableRotate===!1)return;pt(),l=a.TOUCH_ROTATE;break;case ja.PAN:if(i.enablePan===!1)return;ge(),l=a.TOUCH_PAN;break;default:l=a.NONE}break;case 2:switch(i.touches.TWO){case ja.DOLLY_PAN:if(i.enableZoom===!1&&i.enablePan===!1)return;Ee(),l=a.TOUCH_DOLLY_PAN;break;case ja.DOLLY_ROTATE:if(i.enableZoom===!1&&i.enableRotate===!1)return;Ue(),l=a.TOUCH_DOLLY_ROTATE;break;default:l=a.NONE}break;default:l=a.NONE}l!==a.NONE&&i.dispatchEvent(s)}function Fe(Y){switch(je(Y),l){case a.TOUCH_ROTATE:if(i.enableRotate===!1)return;Be(Y),i.update();break;case a.TOUCH_PAN:if(i.enablePan===!1)return;Ye(Y),i.update();break;case a.TOUCH_DOLLY_PAN:if(i.enableZoom===!1&&i.enablePan===!1)return;W(Y),i.update();break;case a.TOUCH_DOLLY_ROTATE:if(i.enableZoom===!1&&i.enableRotate===!1)return;N(Y),i.update();break;default:l=a.NONE}}function st(Y){i.enabled!==!1&&Y.preventDefault()}function Rt(Y){C.push(Y)}function dt(Y){delete U[Y.pointerId];for(let Ie=0;Ie=2.0 are supported."));return}const l=new B4(s,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});l.fileLoader.setRequestHeader(this.requestHeader);for(let u=0;u=0&&a[f]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+f+'".')}}l.setExtensions(o),l.setPlugins(a),l.parse(i,r)}parseAsync(e,t){const i=this;return new Promise(function(r,s){i.parse(e,t,r,s)})}};function e4(){let n={};return{get:function(e){return n[e]},add:function(e,t){n[e]=t},remove:function(e){delete n[e]},removeAll:function(){n={}}}}const zt={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};let t4=class{constructor(e){this.parser=e,this.name=zt.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let i=0,r=t.length;i=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,s.source,o)}},m4=class{constructor(e){this.parser=e,this.name=zt.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,s=r.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],a=r.images[o.source];let l=i.textureLoader;if(a.uri){const u=i.options.manager.getHandler(a.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}},g4=class{constructor(e){this.parser=e,this.name=zt.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,s=r.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],a=r.images[o.source];let l=i.textureLoader;if(a.uri){const u=i.options.manager.getHandler(a.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}},v4=class{constructor(e){this.name=zt.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,i=t.bufferViews[e];if(i.extensions&&i.extensions[this.name]){const r=i.extensions[this.name],s=this.parser.getDependency("buffer",r.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return s.then(function(a){const l=r.byteOffset||0,u=r.byteLength||0,f=r.count,d=r.byteStride,p=new Uint8Array(a,l,u);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(f,d,p,r.mode,r.filter).then(function(m){return m.buffer}):o.ready.then(function(){const m=new ArrayBuffer(f*d);return o.decodeGltfBuffer(new Uint8Array(m),f,d,p,r.mode,r.filter),m})})}else return null}},y4=class{constructor(e){this.name=zt.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,i=t.nodes[e];if(!i.extensions||!i.extensions[this.name]||i.mesh===void 0)return null;const r=t.meshes[i.mesh];for(const u of r.primitives)if(u.mode!==Dr.TRIANGLES&&u.mode!==Dr.TRIANGLE_STRIP&&u.mode!==Dr.TRIANGLE_FAN&&u.mode!==void 0)return null;const o=i.extensions[this.name].attributes,a=[],l={};for(const u in o)a.push(this.parser.getDependency("accessor",o[u]).then(f=>(l[u]=f,l[u])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(u=>{const f=u.pop(),d=f.isGroup?f.children:[f],p=u[0].count,m=[];for(const y of d){const A=new $e,_=new O,g=new un,S=new O(1,1,1),M=new bf(y.geometry,y.material,p);for(let w=0;w=152?{TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3"}:{TEXCOORD_0:"uv",TEXCOORD_1:"uv2"},COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Uo={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},w4={CUBICSPLINE:void 0,LINEAR:ho,STEP:_l},Cy={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function T4(n){return n.DefaultMaterial===void 0&&(n.DefaultMaterial=new Tl({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:us})),n.DefaultMaterial}function za(n,e,t){for(const i in t.extensions)n[i]===void 0&&(e.userData.gltfExtensions=e.userData.gltfExtensions||{},e.userData.gltfExtensions[i]=t.extensions[i])}function Zs(n,e){e.extras!==void 0&&(typeof e.extras=="object"?Object.assign(n.userData,e.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+e.extras))}function C4(n,e,t){let i=!1,r=!1,s=!1;for(let u=0,f=e.length;u0||n.search(/^data\:image\/jpeg/)===0?"image/jpeg":n.search(/\.webp($|\?)/i)>0||n.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const P4=new $e;let B4=class{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new e4,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let i=!1,r=!1,s=-1;typeof navigator<"u"&&typeof navigator.userAgent<"u"&&(i=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,r=navigator.userAgent.indexOf("Firefox")>-1,s=r?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||i||r&&s<98?this.textureLoader=new dS(this.options.manager):this.textureLoader=new mS(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new ti(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const i=this,r=this.json,s=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([i.getDependencies("scene"),i.getDependencies("animation"),i.getDependencies("camera")])}).then(function(o){const a={scene:o[0][r.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:r.asset,parser:i,userData:{}};return za(s,a,r),Zs(a,r),Promise.all(i._invokeAll(function(l){return l.afterRoot&&l.afterRoot(a)})).then(function(){for(const l of a.scenes)l.updateMatrixWorld();e(a)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],i=this.json.meshes||[];for(let r=0,s=t.length;r{const l=this.associations.get(o);l!=null&&this.associations.set(a,l);for(const[u,f]of o.children.entries())s(f,a.children[u])};return s(i,r),r.name+="_instance_"+e.uses[t]++,r}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let i=0;i=2&&_.setY(b,I[P*l+1]),l>=3&&_.setZ(b,I[P*l+2]),l>=4&&_.setW(b,I[P*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return _})}loadTexture(e){const t=this.json,i=this.options,s=t.textures[e].source,o=t.images[s];let a=this.textureLoader;if(o.uri){const l=i.manager.getHandler(o.uri);l!==null&&(a=l)}return this.loadTextureImage(e,s,a)}loadTextureImage(e,t,i){const r=this,s=this.json,o=s.textures[e],a=s.images[t],l=(a.uri||a.bufferView)+":"+o.sampler;if(this.textureCache[l])return this.textureCache[l];const u=this.loadImageSource(t,i).then(function(f){f.flipY=!1,f.name=o.name||a.name||"",f.name===""&&typeof a.uri=="string"&&a.uri.startsWith("data:image/")===!1&&(f.name=a.uri);const p=(s.samplers||{})[o.sampler]||{};return f.magFilter=ST[p.magFilter]||jt,f.minFilter=ST[p.minFilter]||$i,f.wrapS=MT[p.wrapS]||cs,f.wrapT=MT[p.wrapT]||cs,r.associations.set(f,{textures:e}),f}).catch(function(){return null});return this.textureCache[l]=u,u}loadImageSource(e,t){const i=this,r=this.json,s=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(d=>d.clone());const o=r.images[e],a=self.URL||self.webkitURL;let l=o.uri||"",u=!1;if(o.bufferView!==void 0)l=i.getDependency("bufferView",o.bufferView).then(function(d){u=!0;const p=new Blob([d],{type:o.mimeType});return l=a.createObjectURL(p),l});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const f=Promise.resolve(l).then(function(d){return new Promise(function(p,m){let y=p;t.isImageBitmapLoader===!0&&(y=function(A){const _=new Jt(A);_.needsUpdate=!0,p(_)}),t.load(gr.resolveURL(d,s.path),y,void 0,m)})}).then(function(d){return u===!0&&a.revokeObjectURL(l),Zs(d,o),d.userData.mimeType=o.mimeType||I4(o.uri),d}).catch(function(d){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),d});return this.sourceCache[e]=f,f}assignTexture(e,t,i,r){const s=this;return this.getDependency("texture",i.index).then(function(o){if(!o)return null;if(i.texCoord!==void 0&&i.texCoord>0&&(o=o.clone(),o.channel=i.texCoord),s.extensions[zt.KHR_TEXTURE_TRANSFORM]){const a=i.extensions!==void 0?i.extensions[zt.KHR_TEXTURE_TRANSFORM]:void 0;if(a){const l=s.associations.get(o);o=s.extensions[zt.KHR_TEXTURE_TRANSFORM].extendTexture(o,a),s.associations.set(o,l)}}return r!==void 0&&(typeof r=="number"&&(r=r===xT?sl:oo),"colorSpace"in o?o.colorSpace=r:o.encoding=r===sl?xT:$G),e[t]=o,o})}assignFinalMaterial(e){const t=e.geometry;let i=e.material;const r=t.attributes.tangent===void 0,s=t.attributes.color!==void 0,o=t.attributes.normal===void 0;if(e.isPoints){const a="PointsMaterial:"+i.uuid;let l=this.cache.get(a);l||(l=new If,_n.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,l.sizeAttenuation=!1,this.cache.add(a,l)),i=l}else if(e.isLine){const a="LineBasicMaterial:"+i.uuid;let l=this.cache.get(a);l||(l=new xi,_n.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,this.cache.add(a,l)),i=l}if(r||s||o){let a="ClonedMaterial:"+i.uuid+":";r&&(a+="derivative-tangents:"),s&&(a+="vertex-colors:"),o&&(a+="flat-shading:");let l=this.cache.get(a);l||(l=i.clone(),s&&(l.vertexColors=!0),o&&(l.flatShading=!0),r&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(a,l),this.associations.set(l,this.associations.get(i))),i=l}e.material=i}getMaterialType(){return Tl}loadMaterial(e){const t=this,i=this.json,r=this.extensions,s=i.materials[e];let o;const a={},l=s.extensions||{},u=[];if(l[zt.KHR_MATERIALS_UNLIT]){const d=r[zt.KHR_MATERIALS_UNLIT];o=d.getMaterialType(),u.push(d.extendParams(a,s,t))}else{const d=s.pbrMetallicRoughness||{};if(a.color=new ke(1,1,1),a.opacity=1,Array.isArray(d.baseColorFactor)){const p=d.baseColorFactor;a.color.setRGB(p[0],p[1],p[2],oo),a.opacity=p[3]}d.baseColorTexture!==void 0&&u.push(t.assignTexture(a,"map",d.baseColorTexture,sl)),a.metalness=d.metallicFactor!==void 0?d.metallicFactor:1,a.roughness=d.roughnessFactor!==void 0?d.roughnessFactor:1,d.metallicRoughnessTexture!==void 0&&(u.push(t.assignTexture(a,"metalnessMap",d.metallicRoughnessTexture)),u.push(t.assignTexture(a,"roughnessMap",d.metallicRoughnessTexture))),o=this._invokeOne(function(p){return p.getMaterialType&&p.getMaterialType(e)}),u.push(Promise.all(this._invokeAll(function(p){return p.extendMaterialParams&&p.extendMaterialParams(e,a)})))}s.doubleSided===!0&&(a.side=hr);const f=s.alphaMode||Cy.OPAQUE;if(f===Cy.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,f===Cy.MASK&&(a.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.normalTexture!==void 0&&o!==Gn&&(u.push(t.assignTexture(a,"normalMap",s.normalTexture)),a.normalScale=new pe(1,1),s.normalTexture.scale!==void 0)){const d=s.normalTexture.scale;a.normalScale.set(d,d)}if(s.occlusionTexture!==void 0&&o!==Gn&&(u.push(t.assignTexture(a,"aoMap",s.occlusionTexture)),s.occlusionTexture.strength!==void 0&&(a.aoMapIntensity=s.occlusionTexture.strength)),s.emissiveFactor!==void 0&&o!==Gn){const d=s.emissiveFactor;a.emissive=new ke().setRGB(d[0],d[1],d[2],oo)}return s.emissiveTexture!==void 0&&o!==Gn&&u.push(t.assignTexture(a,"emissiveMap",s.emissiveTexture,sl)),Promise.all(u).then(function(){const d=new o(a);return s.name&&(d.name=s.name),Zs(d,s),t.associations.set(d,{materials:e}),s.extensions&&za(r,d,s),d})}createUniqueName(e){const t=Xt.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,i=this.extensions,r=this.primitiveCache;function s(a){return i[zt.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a,t).then(function(l){return ET(l,a,t)})}const o=[];for(let a=0,l=e.length;a0&&R4(g,s),g.name=t.createUniqueName(s.name||"mesh_"+e),Zs(g,s),_.extensions&&za(r,g,_),t.assignFinalMaterial(g),d.push(g)}for(let m=0,y=d.length;m1?f=new Gr:u.length===1?f=u[0]:f=new kt,f!==u[0])for(let d=0,p=u.length;d{const d=new Map;for(const[p,m]of r.associations)(p instanceof _n||p instanceof Jt)&&d.set(p,m);return f.traverse(p=>{const m=r.associations.get(p);m!=null&&d.set(p,m)}),d};return r.associations=u(s),s})}_createAnimationTracks(e,t,i,r,s){const o=[],a=e.name?e.name:e.uuid,l=[];Uo[s.path]===Uo.weights?e.traverse(function(p){p.morphTargetInfluences&&l.push(p.name?p.name:p.uuid)}):l.push(a);let u;switch(Uo[s.path]){case Uo.weights:u=po;break;case Uo.rotation:u=Bs;break;case Uo.position:case Uo.scale:u=mo;break;default:switch(i.itemSize){case 1:u=po;break;case 2:case 3:default:u=mo;break}break}const f=r.interpolation!==void 0?w4[r.interpolation]:ho,d=this._getArrayFromAccessor(i);for(let p=0,m=l.length;p(X=oe.indexOf(f))&&q=D.byteLength||!(ie=d(D)))&&o(1,"no header found"),(oe=ie.match(b))||o(3,"bad initial token"),q.valid|=1,q.programtype=oe[1],q.string+=ie+` +`;ie=d(D),ie!==!1;){if(q.string+=ie+` +`,ie.charAt(0)==="#"){q.comments+=ie+` +`;continue}if((oe=ie.match(C))&&(q.gamma=parseFloat(oe[1])),(oe=ie.match(U))&&(q.exposure=parseFloat(oe[1])),(oe=ie.match(K))&&(q.valid|=2,q.format=oe[1]),(oe=ie.match(X))&&(q.valid|=4,q.height=parseInt(oe[1],10),q.width=parseInt(oe[2],10)),q.valid&2&&q.valid&4)break}return q.valid&2||o(3,"missing format specifier"),q.valid&4||o(3,"missing image size specifier"),q},m=function(D,b,C){const U=b;if(U<8||U>32767||D[0]!==2||D[1]!==2||D[2]&128)return new Uint8Array(D);U!==(D[2]<<8|D[3])&&o(3,"wrong scanline width");const K=new Uint8Array(4*b*C);K.length||o(4,"unable to allocate buffer space");let X=0,q=0;const ie=4*U,oe=new Uint8Array(4),Se=new Uint8Array(ie);let k=C;for(;k>0&&qD.byteLength&&o(1),oe[0]=D[q++],oe[1]=D[q++],oe[2]=D[q++],oe[3]=D[q++],(oe[0]!=2||oe[1]!=2||(oe[2]<<8|oe[3])!=U)&&o(3,"bad rgbe scanline format");let Z=0,J;for(;Z128;if(Me&&(J-=128),(J===0||Z+J>ie)&&o(3,"bad scanline data"),Me){const He=D[q++];for(let ae=0;ae>3]&1<<(H&7))&&(T[F++]=H);for(var z=F-1;F<65536;)T[F++]=0;return z}function U(B){for(var T=0;T<16384;T++)B[T]={},B[T].len=0,B[T].lit=0,B[T].p=null}const K={l:0,c:0,lc:0};function X(B,T,F,H,z){for(;F>F&(1<0;--T){var H=F+q[T]>>1;q[T]=F,F=H}for(var T=0;T<65537;++T){var z=B[T];z>0&&(B[T]=z|q[z]++<<6)}}function oe(B,T,F,H,z,G,se){for(var le=F,fe=0,me=0;z<=G;z++){if(le.value-F.value>H)return!1;X(6,fe,me,B,le);var _e=K.l;if(fe=K.c,me=K.lc,se[z]=_e,_e==63){if(le.value-F.value>H)throw"Something wrong with hufUnpackEncTable";X(8,fe,me,B,le);var ye=K.l+6;if(fe=K.c,me=K.lc,z+ye>G+1)throw"Something wrong with hufUnpackEncTable";for(;ye--;)se[z++]=0;z--}else if(_e>=59){var ye=_e-59+2;if(z+ye>G+1)throw"Something wrong with hufUnpackEncTable";for(;ye--;)se[z++]=0;z--}}ie(se)}function Se(B){return B&63}function k(B){return B>>6}function Z(B,T,F,H){for(;T<=F;T++){var z=k(B[T]),G=Se(B[T]);if(z>>G)throw"Invalid table entry";if(G>14){var se=H[z>>G-14];if(se.len)throw"Invalid table entry";if(se.lit++,se.p){var le=se.p;se.p=new Array(se.lit);for(var fe=0;fe0;fe--){var se=H[(z<<14-G)+me];if(se.len||se.p)throw"Invalid table entry";se.len=G,se.lit=T,me++}}return!0}const J={c:0,lc:0};function he(B,T,F,H){B=B<<8|Y(F,H),T+=8,J.c=B,J.lc=T}const Me={c:0,lc:0};function He(B,T,F,H,z,G,se,le,fe,me){if(B==T){H<8&&(he(F,H,z,se),F=J.c,H=J.lc),H-=8;var _e=F>>H,_e=new Uint8Array([_e])[0];if(fe.value+_e>me)return!1;for(var ye=le[fe.value-1];_e-- >0;)le[fe.value++]=ye}else if(fe.value32767?T-65536:T}const Te={a:0,b:0};function Pe(B,T){var F=Re(B),H=Re(T),z=H,G=F+(z&1)+(z>>1),se=G,le=G-z;Te.a=se,Te.b=le}function ft(B,T){var F=ae(B),H=ae(T),z=F-(H>>1)&65535,G=H+z-32768&65535;Te.a=G,Te.b=z}function Mt(B,T,F,H,z,G,se){for(var le=se<16384,fe=F>z?z:F,me=1,_e;me<=fe;)me<<=1;for(me>>=1,_e=me,me>>=1;me>=1;){for(var ye=0,qe=ye+G*(z-_e),Ge=G*me,Je=G*_e,ut=H*me,mt=H*_e,nt,We,vt,et;ye<=qe;ye+=Je){for(var Et=ye,nn=ye+H*(F-_e);Et<=nn;Et+=mt){var St=Et+ut,rn=Et+Ge,Kt=rn+ut;le?(Pe(B[Et+T],B[rn+T]),nt=Te.a,vt=Te.b,Pe(B[St+T],B[Kt+T]),We=Te.a,et=Te.b,Pe(nt,We),B[Et+T]=Te.a,B[St+T]=Te.b,Pe(vt,et),B[rn+T]=Te.a,B[Kt+T]=Te.b):(ft(B[Et+T],B[rn+T]),nt=Te.a,vt=Te.b,ft(B[St+T],B[Kt+T]),We=Te.a,et=Te.b,ft(nt,We),B[Et+T]=Te.a,B[St+T]=Te.b,ft(vt,et),B[rn+T]=Te.a,B[Kt+T]=Te.b)}if(F&me){var rn=Et+Ge;le?Pe(B[Et+T],B[rn+T]):ft(B[Et+T],B[rn+T]),nt=Te.a,B[rn+T]=Te.b,B[Et+T]=nt}}if(z&me)for(var Et=ye,nn=ye+H*(F-_e);Et<=nn;Et+=mt){var St=Et+ut;le?Pe(B[Et+T],B[St+T]):ft(B[Et+T],B[St+T]),nt=Te.a,B[St+T]=Te.b,B[Et+T]=nt}_e=me,me>>=1}return ye}function ne(B,T,F,H,z,G,se,le,fe,me){for(var _e=0,ye=0,qe=le,Ge=Math.trunc(z.value+(G+7)/8);z.value=14;){var Je=_e>>ye-14&16383,ut=T[Je];if(ut.len)ye-=ut.len,He(ut.lit,se,_e,ye,F,H,z,fe,me,qe),_e=Me.c,ye=Me.lc;else{if(!ut.p)throw"hufDecode issues";var mt;for(mt=0;mt=nt&&k(B[ut.p[mt]])==(_e>>ye-nt&(1<>=We,ye-=We;ye>0;){var ut=T[_e<<14-ye&16383];if(ut.len)ye-=ut.len,He(ut.lit,se,_e,ye,F,H,z,fe,me,qe),_e=Me.c,ye=Me.lc;else throw"hufDecode issues"}return!0}function pt(B,T,F,H,z,G){var se={value:0},le=F.value,fe=at(T,F),me=at(T,F);F.value+=4;var _e=at(T,F);if(F.value+=4,fe<0||fe>=65537||me<0||me>=65537)throw"Something wrong with HUF_ENCSIZE";var ye=new Array(65537),qe=new Array(16384);U(qe);var Ge=H-(F.value-le);if(oe(B,T,F,Ge,fe,me,ye),_e>8*(H-(F.value-le)))throw"Something wrong with hufUncompress";Z(ye,fe,me,qe),ne(ye,qe,B,T,F,_e,me,G,z,se)}function ge(B,T,F){for(var H=0;HG||(T[z++]=B[F++],z>G));)T[z++]=B[H++]}function Ue(B){for(var T=B.byteLength,F=new Array,H=0,z=new DataView(B);T>0;){var G=z.getInt8(H++);if(G<0){var se=-G;T-=se+1;for(var le=0;le>8==255?z+=H&255:(F[z]=H,z++),B.value++}function lt(B,T){T[0]=$(B[0]),T[1]=$(B[1]),T[2]=$(B[5]),T[3]=$(B[6]),T[4]=$(B[14]),T[5]=$(B[15]),T[6]=$(B[27]),T[7]=$(B[28]),T[8]=$(B[2]),T[9]=$(B[4]),T[10]=$(B[7]),T[11]=$(B[13]),T[12]=$(B[16]),T[13]=$(B[26]),T[14]=$(B[29]),T[15]=$(B[42]),T[16]=$(B[3]),T[17]=$(B[8]),T[18]=$(B[12]),T[19]=$(B[17]),T[20]=$(B[25]),T[21]=$(B[30]),T[22]=$(B[41]),T[23]=$(B[43]),T[24]=$(B[9]),T[25]=$(B[11]),T[26]=$(B[18]),T[27]=$(B[24]),T[28]=$(B[31]),T[29]=$(B[40]),T[30]=$(B[44]),T[31]=$(B[53]),T[32]=$(B[10]),T[33]=$(B[19]),T[34]=$(B[23]),T[35]=$(B[32]),T[36]=$(B[39]),T[37]=$(B[45]),T[38]=$(B[52]),T[39]=$(B[54]),T[40]=$(B[20]),T[41]=$(B[22]),T[42]=$(B[33]),T[43]=$(B[38]),T[44]=$(B[46]),T[45]=$(B[51]),T[46]=$(B[55]),T[47]=$(B[60]),T[48]=$(B[21]),T[49]=$(B[34]),T[50]=$(B[37]),T[51]=$(B[47]),T[52]=$(B[50]),T[53]=$(B[56]),T[54]=$(B[59]),T[55]=$(B[61]),T[56]=$(B[35]),T[57]=$(B[36]),T[58]=$(B[48]),T[59]=$(B[49]),T[60]=$(B[57]),T[61]=$(B[58]),T[62]=$(B[62]),T[63]=$(B[63])}function W(B){const T=.5*Math.cos(.7853975),F=.5*Math.cos(3.14159/16),H=.5*Math.cos(3.14159/8),z=.5*Math.cos(3*3.14159/16),G=.5*Math.cos(5*3.14159/16),se=.5*Math.cos(3*3.14159/8),le=.5*Math.cos(7*3.14159/16);for(var fe=new Array(4),me=new Array(4),_e=new Array(4),ye=new Array(4),qe=0;qe<8;++qe){var Ge=qe*8;fe[0]=H*B[Ge+2],fe[1]=se*B[Ge+2],fe[2]=H*B[Ge+6],fe[3]=se*B[Ge+6],me[0]=F*B[Ge+1]+z*B[Ge+3]+G*B[Ge+5]+le*B[Ge+7],me[1]=z*B[Ge+1]-le*B[Ge+3]-F*B[Ge+5]-G*B[Ge+7],me[2]=G*B[Ge+1]-F*B[Ge+3]+le*B[Ge+5]+z*B[Ge+7],me[3]=le*B[Ge+1]-G*B[Ge+3]+z*B[Ge+5]-F*B[Ge+7],_e[0]=T*(B[Ge+0]+B[Ge+4]),_e[3]=T*(B[Ge+0]-B[Ge+4]),_e[1]=fe[0]+fe[3],_e[2]=fe[1]-fe[2],ye[0]=_e[0]+_e[1],ye[1]=_e[3]+_e[2],ye[2]=_e[3]-_e[2],ye[3]=_e[0]-_e[1],B[Ge+0]=ye[0]+me[0],B[Ge+1]=ye[1]+me[1],B[Ge+2]=ye[2]+me[2],B[Ge+3]=ye[3]+me[3],B[Ge+4]=ye[3]-me[3],B[Ge+5]=ye[2]-me[2],B[Ge+6]=ye[1]-me[1],B[Ge+7]=ye[0]-me[0]}for(var Je=0;Je<8;++Je)fe[0]=H*B[16+Je],fe[1]=se*B[16+Je],fe[2]=H*B[48+Je],fe[3]=se*B[48+Je],me[0]=F*B[8+Je]+z*B[24+Je]+G*B[40+Je]+le*B[56+Je],me[1]=z*B[8+Je]-le*B[24+Je]-F*B[40+Je]-G*B[56+Je],me[2]=G*B[8+Je]-F*B[24+Je]+le*B[40+Je]+z*B[56+Je],me[3]=le*B[8+Je]-G*B[24+Je]+z*B[40+Je]-F*B[56+Je],_e[0]=T*(B[Je]+B[32+Je]),_e[3]=T*(B[Je]-B[32+Je]),_e[1]=fe[0]+fe[3],_e[2]=fe[1]-fe[2],ye[0]=_e[0]+_e[1],ye[1]=_e[3]+_e[2],ye[2]=_e[3]-_e[2],ye[3]=_e[0]-_e[1],B[0+Je]=ye[0]+me[0],B[8+Je]=ye[1]+me[1],B[16+Je]=ye[2]+me[2],B[24+Je]=ye[3]+me[3],B[32+Je]=ye[3]-me[3],B[40+Je]=ye[2]-me[2],B[48+Je]=ye[1]-me[1],B[56+Je]=ye[0]-me[0]}function N(B){for(var T=0;T<64;++T){var F=B[0][T],H=B[1][T],z=B[2][T];B[0][T]=F+1.5747*z,B[1][T]=F-.1873*H-.4682*z,B[2][T]=F+1.8556*H}}function ue(B,T,F){for(var H=0;H<64;++H)T[F+H]=nl.toHalfFloat(Ae(B[H]))}function Ae(B){return B<=1?Math.sign(B)*Math.pow(Math.abs(B),2.2):Math.sign(B)*Math.pow(b,Math.abs(B)-1)}function be(B){return new DataView(B.array.buffer,B.offset.value,B.size)}function we(B){var T=B.viewer.buffer.slice(B.offset.value,B.offset.value+B.size),F=new Uint8Array(Ue(T)),H=new Uint8Array(F.length);return Ce(F),Ee(F,H),new DataView(H.buffer)}function rt(B){var T=B.array.slice(B.offset.value,B.offset.value+B.size),F=Xp(T),H=new Uint8Array(F.length);return Ce(F),Ee(F,H),new DataView(H.buffer)}function Ve(B){for(var T=B.viewer,F={value:B.offset.value},H=new Uint16Array(B.width*B.scanlineBlockSize*(B.channels*B.type)),z=new Uint8Array(8192),G=0,se=new Array(B.channels),le=0;le=8192)throw"Something is wrong with PIZ_COMPRESSION BITMAP_SIZE";if(fe<=me)for(var le=0;le0;){var le=Fe(T.buffer,F),fe=Ie(T,F),me=fe>>2&3,_e=(fe>>4)-1,ye=new Int8Array([_e])[0],qe=Ie(T,F);G.push({name:le,index:ye,type:qe,compression:me}),se-=le.length+3}for(var Ge=ji.channels,Je=new Array(B.channels),ut=0;ut=0&&(We.idx[et.index]=vt),mt.offset=vt)}if(z.acCompressedSize>0)switch(z.acCompression){case 0:var St=new Uint16Array(z.totalAcUncompressedCount);pt(B.array,T,F,z.acCompressedSize,St,z.totalAcUncompressedCount);break;case 1:var Et=B.array.slice(F.value,F.value+z.totalAcUncompressedCount),nn=Xp(Et),St=new Uint16Array(nn.buffer);F.value+=z.totalAcUncompressedCount;break}if(z.dcCompressedSize>0){var rn={array:B.array,offset:F,size:z.dcCompressedSize},Kt=new Uint16Array(rt(rn).buffer);F.value+=z.dcCompressedSize}if(z.rleRawSize>0){var Et=B.array.slice(F.value,F.value+z.rleCompressedSize),nn=Xp(Et),sn=Ue(nn.buffer);F.value+=z.rleCompressedSize}for(var On=0,wt=new Array(Je.length),ut=0;ut>10,F=B&1023;return(B>>15?-1:1)*(T?T===31?F?NaN:1/0:Math.pow(2,T-15)*(1+F/1024):6103515625e-14*(F/1024))}function Ne(B,T){var F=B.getUint16(T.value,!0);return T.value+=2,F}function Ze(B,T){return $(Ne(B,T))}function Ot(B,T,F,H){for(var z=F.value,G=[];F.valueDt.height?Dt.height-T:Dt.scanlineBlockSize;const H=Dt.size=Dt.height)break;for(let se=0;se{const a={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(o,a).then(t).catch(r)},i,r)}decodeDracoFile(e,t,i,r){const s={attributeIDs:i||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!i};this.decodeGeometry(e,s).then(t)}decodeGeometry(e,t){for(const l in t.attributeTypes){const u=t.attributeTypes[l];u.BYTES_PER_ELEMENT!==void 0&&(t.attributeTypes[l]=u.name)}const i=JSON.stringify(t);if(by.has(e)){const l=by.get(e);if(l.key===i)return l.promise;if(e.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let r;const s=this.workerNextTaskID++,o=e.byteLength,a=this._getWorker(s,o).then(l=>(r=l,new Promise((u,f)=>{r._callbacks[s]={resolve:u,reject:f},r.postMessage({type:"decode",id:s,taskConfig:t,buffer:e},[e])}))).then(l=>this._createGeometry(l.geometry));return a.catch(()=>!0).then(()=>{r&&s&&this._releaseTask(r,s)}),by.set(e,{key:i,promise:a}),a}_createGeometry(e){const t=new At;e.index&&t.setIndex(new xt(e.index.array,1));for(let i=0;i{i.load(e,r,void 0,s)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const e=typeof WebAssembly!="object"||this.decoderConfig.type==="js",t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then(i=>{const r=i[0];e||(this.decoderConfig.wasmBinary=i[1]);const s=O4.toString(),o=["/* draco decoder */",r,"","/* worker */",s.substring(s.indexOf("{")+1,s.lastIndexOf("}"))].join(` +`);this.workerSourceURL=URL.createObjectURL(new Blob([o]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.lengths._taskLoad?-1:1});const i=this.workerPool[this.workerPool.length-1];return i._taskCosts[e]=t,i._taskLoad+=t,i})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e{const d=f.draco,p=new d.Decoder,m=new d.DecoderBuffer;m.Init(new Int8Array(l),l.byteLength);try{const y=t(d,p,m,u),A=y.attributes.map(_=>_.array.buffer);y.index&&A.push(y.index.array.buffer),self.postMessage({type:"decode",id:a.id,geometry:y},A)}catch(y){console.error(y),self.postMessage({type:"error",id:a.id,error:y.message})}finally{d.destroy(m),d.destroy(p)}});break}};function t(o,a,l,u){const f=u.attributeIDs,d=u.attributeTypes;let p,m;const y=a.GetEncodedGeometryType(l);if(y===o.TRIANGULAR_MESH)p=new o.Mesh,m=a.DecodeBufferToMesh(l,p);else if(y===o.POINT_CLOUD)p=new o.PointCloud,m=a.DecodeBufferToPointCloud(l,p);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!m.ok()||p.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+m.error_msg());const A={index:null,attributes:[]};for(const _ in f){const g=self[d[_]];let S,M;if(u.useUniqueIDs)M=f[_],S=a.GetAttributeByUniqueId(p,M);else{if(M=a.GetAttributeId(p,o[f[_]]),M===-1)continue;S=a.GetAttribute(p,M)}A.attributes.push(r(o,a,p,_,g,S))}return y===o.TRIANGULAR_MESH&&(A.index=i(o,a,p)),o.destroy(p),A}function i(o,a,l){const f=l.num_faces()*3,d=f*4,p=o._malloc(d);a.GetTrianglesUInt32Array(l,d,p);const m=new Uint32Array(o.HEAPF32.buffer,p,f).slice();return o._free(p),{array:m,itemSize:1}}function r(o,a,l,u,f,d){const p=d.num_components(),y=l.num_points()*p,A=y*f.BYTES_PER_ELEMENT,_=s(o,f),g=o._malloc(A);a.GetAttributeDataArrayForAllPoints(l,d,_,A,g);const S=new f(o.HEAPF32.buffer,g,y).slice();return o._free(g),{name:u,array:S,itemSize:p}}function s(o,a){switch(a){case Float32Array:return o.DT_FLOAT32;case Int8Array:return o.DT_INT8;case Int16Array:return o.DT_INT16;case Int32Array:return o.DT_INT32;case Uint8Array:return o.DT_UINT8;case Uint16Array:return o.DT_UINT16;case Uint32Array:return o.DT_UINT32}}}let Jp;const Iy=()=>{if(Jp)return Jp;const n="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",e="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",t=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),i=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]);if(typeof WebAssembly!="object")return{supported:!1};let r=n;WebAssembly.validate(t)&&(r=e);let s;const o=WebAssembly.instantiate(a(r),{}).then(d=>{s=d.instance,s.exports.__wasm_call_ctors()});function a(d){const p=new Uint8Array(d.length);for(let y=0;y96?A-71:A>64?A-65:A>47?A+4:A>46?63:62}let m=0;for(let y=0;ye in n?U4(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,en=(n,e,t)=>(k4(n,typeof e!="symbol"?e+"":e,t),t);function Py(n,e,t,i,r){let s;if(n=n.subarray||n.slice?n:n.buffer,t=t.subarray||t.slice?t:t.buffer,n=e?n.subarray?n.subarray(e,r&&e+r):n.slice(e,r&&e+r):n,t.set)t.set(n,i);else for(s=0;s{const t=Array.isArray(e);return e instanceof O?[e.x,e.y,e.z]:e instanceof pe?[e.x,e.y,0]:t&&e.length===3?[e[0],e[1],e[2]]:t&&e.length===2?[e[0],e[1],0]:e}).flat()}class z4 extends At{constructor(){super(),en(this,"type","MeshLine"),en(this,"isMeshLine",!0),en(this,"positions",[]),en(this,"previous",[]),en(this,"next",[]),en(this,"side",[]),en(this,"width",[]),en(this,"indices_array",[]),en(this,"uvs",[]),en(this,"counters",[]),en(this,"widthCallback",null),en(this,"_attributes"),en(this,"_points",[]),en(this,"points"),en(this,"matrixWorld",new $e),Object.defineProperties(this,{points:{enumerable:!0,get(){return this._points},set(e){this.setPoints(e,this.widthCallback)}}})}setMatrixWorld(e){this.matrixWorld=e}setPoints(e,t){if(e=H4(e),this._points=e,this.widthCallback=t??null,this.positions=[],this.counters=[],e.length&&e[0]instanceof O)for(let i=0;i0&&(i=this.copyV3(r),this.next.push(i[0],i[1],i[2]),this.next.push(i[0],i[1],i[2]))}this.compareV3(e-1,0)?i=this.copyV3(1):i=this.copyV3(e-1),this.next.push(i[0],i[1],i[2]),this.next.push(i[0],i[1],i[2]),!this._attributes||this._attributes.position.count!==this.counters.length?this._attributes={position:new xt(new Float32Array(this.positions),3),previous:new xt(new Float32Array(this.previous),3),next:new xt(new Float32Array(this.next),3),side:new xt(new Float32Array(this.side),1),width:new xt(new Float32Array(this.width),1),uv:new xt(new Float32Array(this.uvs),2),index:new xt(new Uint16Array(this.indices_array),1),counters:new xt(new Float32Array(this.counters),1)}:(this._attributes.position.copyArray(new Float32Array(this.positions)),this._attributes.position.needsUpdate=!0,this._attributes.previous.copyArray(new Float32Array(this.previous)),this._attributes.previous.needsUpdate=!0,this._attributes.next.copyArray(new Float32Array(this.next)),this._attributes.next.needsUpdate=!0,this._attributes.side.copyArray(new Float32Array(this.side)),this._attributes.side.needsUpdate=!0,this._attributes.width.copyArray(new Float32Array(this.width)),this._attributes.width.needsUpdate=!0,this._attributes.uv.copyArray(new Float32Array(this.uvs)),this._attributes.uv.needsUpdate=!0,this._attributes.index.copyArray(new Uint16Array(this.indices_array)),this._attributes.index.needsUpdate=!0),this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setIndex(this._attributes.index),this.computeBoundingSphere(),this.computeBoundingBox()}advance({x:e,y:t,z:i}){const r=this._attributes.position.array,s=this._attributes.previous.array,o=this._attributes.next.array,a=r.length;Py(r,0,s,0,a),Py(r,6,r,0,a-6),r[a-6]=e,r[a-5]=t,r[a-4]=i,r[a-3]=e,r[a-2]=t,r[a-1]=i,Py(r,6,o,0,a-6),o[a-6]=e,o[a-5]=t,o[a-4]=i,o[a-3]=e,o[a-2]=t,o[a-1]=i,this._attributes.position.needsUpdate=!0,this._attributes.previous.needsUpdate=!0,this._attributes.next.needsUpdate=!0}}const G4=` + #include + #include + #include + #include + + attribute vec3 previous; + attribute vec3 next; + attribute float side; + attribute float width; + attribute float counters; + + uniform vec2 resolution; + uniform float lineWidth; + uniform vec3 color; + uniform float opacity; + uniform float sizeAttenuation; + + varying vec2 vUV; + varying vec4 vColor; + varying float vCounters; + + vec2 fix(vec4 i, float aspect) { + vec2 res = i.xy / i.w; + res.x *= aspect; + return res; + } + + void main() { + float aspect = resolution.x / resolution.y; + vColor = vec4(color, opacity); + vUV = uv; + vCounters = counters; + + mat4 m = projectionMatrix * modelViewMatrix; + vec4 finalPosition = m * vec4(position, 1.0) * aspect; + vec4 prevPos = m * vec4(previous, 1.0); + vec4 nextPos = m * vec4(next, 1.0); + + vec2 currentP = fix(finalPosition, aspect); + vec2 prevP = fix(prevPos, aspect); + vec2 nextP = fix(nextPos, aspect); + + float w = lineWidth * width; + + vec2 dir; + if (nextP == currentP) dir = normalize(currentP - prevP); + else if (prevP == currentP) dir = normalize(nextP - currentP); + else { + vec2 dir1 = normalize(currentP - prevP); + vec2 dir2 = normalize(nextP - currentP); + dir = normalize(dir1 + dir2); + + vec2 perp = vec2(-dir1.y, dir1.x); + vec2 miter = vec2(-dir.y, dir.x); + //w = clamp(w / dot(miter, perp), 0., 4. * lineWidth * width); + } + + //vec2 normal = (cross(vec3(dir, 0.), vec3(0., 0., 1.))).xy; + vec4 normal = vec4(-dir.y, dir.x, 0., 1.); + normal.xy *= .5 * w; + //normal *= projectionMatrix; + if (sizeAttenuation == 0.) { + normal.xy *= finalPosition.w; + normal.xy /= (vec4(resolution, 0., 1.) * projectionMatrix).xy * aspect; + } + + finalPosition.xy += normal.xy * side; + gl_Position = finalPosition; + #include + #include + vec4 mvPosition = modelViewMatrix * vec4(position, 1.0); + #include + #include + } +`,V4=parseInt(wl.replace(/\D+/g,"")),W4=V4>=154?"colorspace_fragment":"encodings_fragment",X4=` + #include + #include + #include + + uniform sampler2D map; + uniform sampler2D alphaMap; + uniform float useGradient; + uniform float useMap; + uniform float useAlphaMap; + uniform float useDash; + uniform float dashArray; + uniform float dashOffset; + uniform float dashRatio; + uniform float visibility; + uniform float alphaTest; + uniform vec2 repeat; + uniform vec3 gradient[2]; + + varying vec2 vUV; + varying vec4 vColor; + varying float vCounters; + + void main() { + #include + vec4 diffuseColor = vColor; + if (useGradient == 1.) diffuseColor = vec4(mix(gradient[0], gradient[1], vCounters), 1.0); + if (useMap == 1.) diffuseColor *= texture2D(map, vUV * repeat); + if (useAlphaMap == 1.) diffuseColor.a *= texture2D(alphaMap, vUV * repeat).a; + if (diffuseColor.a < alphaTest) discard; + if (useDash == 1.) diffuseColor.a *= ceil(mod(vCounters + dashOffset, dashArray) - (dashArray * dashRatio)); + diffuseColor.a *= step(vCounters, visibility); + #include + gl_FragColor = diffuseColor; + #include + #include + #include <${W4}> + } +`;class j4 extends Vi{constructor(e){super({uniforms:{...Xe.fog,lineWidth:{value:1},map:{value:null},useMap:{value:0},alphaMap:{value:null},useAlphaMap:{value:0},color:{value:new ke(16777215)},gradient:{value:[new ke(16711680),new ke(65280)]},opacity:{value:1},resolution:{value:new pe(1,1)},sizeAttenuation:{value:1},dashArray:{value:0},dashOffset:{value:0},dashRatio:{value:.5},useDash:{value:0},useGradient:{value:0},visibility:{value:1},alphaTest:{value:0},repeat:{value:new pe(1,1)}},vertexShader:G4,fragmentShader:X4}),en(this,"lineWidth"),en(this,"map"),en(this,"useMap"),en(this,"alphaMap"),en(this,"useAlphaMap"),en(this,"color"),en(this,"gradient"),en(this,"resolution"),en(this,"sizeAttenuation"),en(this,"dashArray"),en(this,"dashOffset"),en(this,"dashRatio"),en(this,"useDash"),en(this,"useGradient"),en(this,"visibility"),en(this,"repeat"),this.type="MeshLineMaterial",Object.defineProperties(this,{lineWidth:{enumerable:!0,get(){return this.uniforms.lineWidth.value},set(t){this.uniforms.lineWidth.value=t}},map:{enumerable:!0,get(){return this.uniforms.map.value},set(t){this.uniforms.map.value=t}},useMap:{enumerable:!0,get(){return this.uniforms.useMap.value},set(t){this.uniforms.useMap.value=t}},alphaMap:{enumerable:!0,get(){return this.uniforms.alphaMap.value},set(t){this.uniforms.alphaMap.value=t}},useAlphaMap:{enumerable:!0,get(){return this.uniforms.useAlphaMap.value},set(t){this.uniforms.useAlphaMap.value=t}},color:{enumerable:!0,get(){return this.uniforms.color.value},set(t){this.uniforms.color.value=t}},gradient:{enumerable:!0,get(){return this.uniforms.gradient.value},set(t){this.uniforms.gradient.value=t}},opacity:{enumerable:!0,get(){return this.uniforms.opacity.value},set(t){this.uniforms.opacity.value=t}},resolution:{enumerable:!0,get(){return this.uniforms.resolution.value},set(t){this.uniforms.resolution.value.copy(t)}},sizeAttenuation:{enumerable:!0,get(){return this.uniforms.sizeAttenuation.value},set(t){this.uniforms.sizeAttenuation.value=t}},dashArray:{enumerable:!0,get(){return this.uniforms.dashArray.value},set(t){this.uniforms.dashArray.value=t,this.useDash=t!==0?1:0}},dashOffset:{enumerable:!0,get(){return this.uniforms.dashOffset.value},set(t){this.uniforms.dashOffset.value=t}},dashRatio:{enumerable:!0,get(){return this.uniforms.dashRatio.value},set(t){this.uniforms.dashRatio.value=t}},useDash:{enumerable:!0,get(){return this.uniforms.useDash.value},set(t){this.uniforms.useDash.value=t}},useGradient:{enumerable:!0,get(){return this.uniforms.useGradient.value},set(t){this.uniforms.useGradient.value=t}},visibility:{enumerable:!0,get(){return this.uniforms.visibility.value},set(t){this.uniforms.visibility.value=t}},alphaTest:{enumerable:!0,get(){return this.uniforms.alphaTest.value},set(t){this.uniforms.alphaTest.value=t}},repeat:{enumerable:!0,get(){return this.uniforms.repeat.value},set(t){this.uniforms.repeat.value.copy(t)}}}),this.setValues(e)}copy(e){return super.copy(e),this.lineWidth=e.lineWidth,this.map=e.map,this.useMap=e.useMap,this.alphaMap=e.alphaMap,this.useAlphaMap=e.useAlphaMap,this.color.copy(e.color),this.gradient=e.gradient,this.opacity=e.opacity,this.resolution.copy(e.resolution),this.sizeAttenuation=e.sizeAttenuation,this.dashArray=e.dashArray,this.dashOffset=e.dashOffset,this.dashRatio=e.dashRatio,this.useDash=e.useDash,this.useGradient=e.useGradient,this.visibility=e.visibility,this.alphaTest=e.alphaTest,this.repeat.copy(e.repeat),this}}let Kp=null,tB="https://www.gstatic.com/draco/versioned/decoders/1.5.5/";function nB(n,e,t){return i=>{t&&t(i),n&&(Kp||(Kp=new N4),Kp.setDecoderPath(typeof n=="string"?n:tB),i.setDRACOLoader(Kp)),e&&i.setMeshoptDecoder(typeof Iy=="function"?Iy():Iy)}}function Hf(n,e=!0,t=!0,i){return yc(ES,n,nB(e,t,i))}Hf.preload=(n,e=!0,t=!0,i)=>yc.preload(ES,n,nB(e,t,i));Hf.clear=n=>yc.clear(ES,n);Hf.setDecoderPath=n=>{tB=n};const J4=Q.forwardRef(({makeDefault:n,camera:e,regress:t,domElement:i,enableDamping:r=!0,keyEvents:s=!1,onChange:o,onStart:a,onEnd:l,...u},f)=>{const d=qn(I=>I.invalidate),p=qn(I=>I.camera),m=qn(I=>I.gl),y=qn(I=>I.events),A=qn(I=>I.setEvents),_=qn(I=>I.set),g=qn(I=>I.get),S=qn(I=>I.performance),M=e||p,w=i||y.connected||m.domElement,L=Q.useMemo(()=>new qG(M),[M]);return Ai(()=>{L.enabled&&L.update()},-1),Q.useEffect(()=>(s&&L.connect(s===!0?w:s),L.connect(w),()=>void L.dispose()),[s,w,t,L,d]),Q.useEffect(()=>{const I=b=>{d(),t&&S.regress(),o&&o(b)},P=b=>{a&&a(b)},D=b=>{l&&l(b)};return L.addEventListener("change",I),L.addEventListener("start",P),L.addEventListener("end",D),()=>{L.removeEventListener("start",P),L.removeEventListener("end",D),L.removeEventListener("change",I)}},[o,a,l,L,d,A]),Q.useEffect(()=>{if(n){const I=g().controls;return _({controls:L}),()=>_({controls:I})}},[n,L]),Q.createElement("primitive",mf({ref:f,object:L,enableDamping:r},u))}),K4=Q.forwardRef(function({children:e,disable:t,disableX:i,disableY:r,disableZ:s,left:o,right:a,top:l,bottom:u,front:f,back:d,onCentered:p,precise:m=!0,cacheKey:y=0,...A},_){const g=Q.useRef(null),S=Q.useRef(null),M=Q.useRef(null);return Q.useLayoutEffect(()=>{S.current.matrixWorld.identity();const w=new hi().setFromObject(M.current,m),L=new O,I=new Vn,P=w.max.x-w.min.x,D=w.max.y-w.min.y,b=w.max.z-w.min.z;w.getCenter(L),w.getBoundingSphere(I);const C=l?D/2:u?-D/2:0,U=o?-P/2:a?P/2:0,K=f?b/2:d?-b/2:0;S.current.position.set(t||i?0:-L.x+U,t||r?0:-L.y+C,t||s?0:-L.z+K),typeof p<"u"&&p({parent:g.current.parent,container:g.current,width:P,height:D,depth:b,boundingBox:w,boundingSphere:I,center:L,verticalAlignment:C,horizontalAlignment:U,depthAlignment:K})},[y,p,l,o,f,t,i,r,s,m,a,u,d]),Q.useImperativeHandle(_,()=>g.current,[]),Q.createElement("group",mf({ref:g},A),Q.createElement("group",{ref:S},Q.createElement("group",{ref:M},e)))}),Y4=3e3,Q4=3001,iB=(n,e,t)=>{let i;switch(n){case yr:i=new Uint8ClampedArray(e*t*4);break;case gi:i=new Uint16Array(e*t*4);break;case ha:i=new Uint32Array(e*t*4);break;case FA:i=new Int8Array(e*t*4);break;case NA:i=new Int16Array(e*t*4);break;case _g:i=new Int32Array(e*t*4);break;case zn:i=new Float32Array(e*t*4);break;default:throw new Error("Unsupported data type")}return i};let Yp;const Z4=(n,e,t,i)=>{if(Yp!==void 0)return Yp;const r=new _r(1,1,i);e.setRenderTarget(r);const s=new an(new yo,new Gn({color:16777215}));e.render(s,t),e.setRenderTarget(null);const o=iB(n,r.width,r.height);return e.readRenderTargetPixels(r,0,0,r.width,r.height,o),r.dispose(),s.geometry.dispose(),s.material.dispose(),Yp=o[0]!==0,Yp};class wS{constructor(e){var t,i,r,s,o,a,l,u,f,d,p,m,y,A,_,g;this._rendererIsDisposable=!1,this._supportsReadPixels=!0,this.render=()=>{this._renderer.setRenderTarget(this._renderTarget);try{this._renderer.render(this._scene,this._camera)}catch(M){throw this._renderer.setRenderTarget(null),M}this._renderer.setRenderTarget(null)},this._width=e.width,this._height=e.height,this._type=e.type,this._colorSpace=e.colorSpace;const S={format:ei,depthBuffer:!1,stencilBuffer:!1,type:this._type,colorSpace:this._colorSpace,anisotropy:((t=e.renderTargetOptions)===null||t===void 0?void 0:t.anisotropy)!==void 0?(i=e.renderTargetOptions)===null||i===void 0?void 0:i.anisotropy:1,generateMipmaps:((r=e.renderTargetOptions)===null||r===void 0?void 0:r.generateMipmaps)!==void 0?(s=e.renderTargetOptions)===null||s===void 0?void 0:s.generateMipmaps:!1,magFilter:((o=e.renderTargetOptions)===null||o===void 0?void 0:o.magFilter)!==void 0?(a=e.renderTargetOptions)===null||a===void 0?void 0:a.magFilter:jt,minFilter:((l=e.renderTargetOptions)===null||l===void 0?void 0:l.minFilter)!==void 0?(u=e.renderTargetOptions)===null||u===void 0?void 0:u.minFilter:jt,samples:((f=e.renderTargetOptions)===null||f===void 0?void 0:f.samples)!==void 0?(d=e.renderTargetOptions)===null||d===void 0?void 0:d.samples:void 0,wrapS:((p=e.renderTargetOptions)===null||p===void 0?void 0:p.wrapS)!==void 0?(m=e.renderTargetOptions)===null||m===void 0?void 0:m.wrapS:Dn,wrapT:((y=e.renderTargetOptions)===null||y===void 0?void 0:y.wrapT)!==void 0?(A=e.renderTargetOptions)===null||A===void 0?void 0:A.wrapT:Dn};if(this._material=e.material,e.renderer?this._renderer=e.renderer:(this._renderer=wS.instantiateRenderer(),this._rendererIsDisposable=!0),this._scene=new sc,this._camera=new zr,this._camera.position.set(0,0,10),this._camera.left=-.5,this._camera.right=.5,this._camera.top=.5,this._camera.bottom=-.5,this._camera.updateProjectionMatrix(),!Z4(this._type,this._renderer,this._camera,S)){let M;switch(this._type){case gi:M=this._renderer.extensions.has("EXT_color_buffer_float")?zn:void 0;break}M!==void 0?(console.warn(`This browser does not support reading pixels from ${this._type} RenderTargets, switching to ${zn}`),this._type=M):(this._supportsReadPixels=!1,console.warn("This browser dos not support toArray or toDataTexture, calls to those methods will result in an error thrown"))}this._quad=new an(new yo,this._material),this._quad.geometry.computeBoundingBox(),this._scene.add(this._quad),this._renderTarget=new _r(this.width,this.height,S),this._renderTarget.texture.mapping=((_=e.renderTargetOptions)===null||_===void 0?void 0:_.mapping)!==void 0?(g=e.renderTargetOptions)===null||g===void 0?void 0:g.mapping:ua}static instantiateRenderer(){const e=new nS;return e.setSize(128,128),e}toArray(){if(!this._supportsReadPixels)throw new Error("Can't read pixels in this browser");const e=iB(this._type,this._width,this._height);return this._renderer.readRenderTargetPixels(this._renderTarget,0,0,this._width,this._height,e),e}toDataTexture(e){const t=new so(this.toArray(),this.width,this.height,ei,this._type,(e==null?void 0:e.mapping)||ua,(e==null?void 0:e.wrapS)||Dn,(e==null?void 0:e.wrapT)||Dn,(e==null?void 0:e.magFilter)||jt,(e==null?void 0:e.minFilter)||jt,(e==null?void 0:e.anisotropy)||1,Wn);return t.generateMipmaps=(e==null?void 0:e.generateMipmaps)!==void 0?e==null?void 0:e.generateMipmaps:!1,t}disposeOnDemandRenderer(){this._renderer.setRenderTarget(null),this._rendererIsDisposable&&(this._renderer.dispose(),this._renderer.forceContextLoss())}dispose(e){this.disposeOnDemandRenderer(),e&&this.renderTarget.dispose(),this.material instanceof Vi&&Object.values(this.material.uniforms).forEach(t=>{t.value instanceof Jt&&t.value.dispose()}),Object.values(this.material).forEach(t=>{t instanceof Jt&&t.dispose()}),this.material.dispose(),this._quad.geometry.dispose()}get width(){return this._width}set width(e){this._width=e,this._renderTarget.setSize(this._width,this._height)}get height(){return this._height}set height(e){this._height=e,this._renderTarget.setSize(this._width,this._height)}get renderer(){return this._renderer}get renderTarget(){return this._renderTarget}set renderTarget(e){this._renderTarget=e,this._width=e.width,this._height=e.height}get material(){return this._material}get type(){return this._type}get colorSpace(){return this._colorSpace}}const q4=` +varying vec2 vUv; + +void main() { + vUv = uv; + gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); +} +`,$4=` +// min half float value +#define HALF_FLOAT_MIN vec3( -65504, -65504, -65504 ) +// max half float value +#define HALF_FLOAT_MAX vec3( 65504, 65504, 65504 ) + +uniform sampler2D sdr; +uniform sampler2D gainMap; +uniform vec3 gamma; +uniform vec3 offsetHdr; +uniform vec3 offsetSdr; +uniform vec3 gainMapMin; +uniform vec3 gainMapMax; +uniform float weightFactor; + +varying vec2 vUv; + +void main() { + vec3 rgb = texture2D( sdr, vUv ).rgb; + vec3 recovery = texture2D( gainMap, vUv ).rgb; + vec3 logRecovery = pow( recovery, gamma ); + vec3 logBoost = gainMapMin * ( 1.0 - logRecovery ) + gainMapMax * logRecovery; + vec3 hdrColor = (rgb + offsetSdr) * exp2( logBoost * weightFactor ) - offsetHdr; + vec3 clampedHdrColor = max( HALF_FLOAT_MIN, min( HALF_FLOAT_MAX, hdrColor )); + gl_FragColor = vec4( clampedHdrColor , 1.0 ); +} +`;class eV extends Vi{constructor({gamma:e,offsetHdr:t,offsetSdr:i,gainMapMin:r,gainMapMax:s,maxDisplayBoost:o,hdrCapacityMin:a,hdrCapacityMax:l,sdr:u,gainMap:f}){super({name:"GainMapDecoderMaterial",vertexShader:q4,fragmentShader:$4,uniforms:{sdr:{value:u},gainMap:{value:f},gamma:{value:new O(1/e[0],1/e[1],1/e[2])},offsetHdr:{value:new O().fromArray(t)},offsetSdr:{value:new O().fromArray(i)},gainMapMin:{value:new O().fromArray(r)},gainMapMax:{value:new O().fromArray(s)},weightFactor:{value:(Math.log2(o)-a)/(l-a)}},blending:Cs,depthTest:!1,depthWrite:!1}),this._maxDisplayBoost=o,this._hdrCapacityMin=a,this._hdrCapacityMax=l,this.needsUpdate=!0,this.uniformsNeedUpdate=!0}get sdr(){return this.uniforms.sdr.value}set sdr(e){this.uniforms.sdr.value=e}get gainMap(){return this.uniforms.gainMap.value}set gainMap(e){this.uniforms.gainMap.value=e}get offsetHdr(){return this.uniforms.offsetHdr.value.toArray()}set offsetHdr(e){this.uniforms.offsetHdr.value.fromArray(e)}get offsetSdr(){return this.uniforms.offsetSdr.value.toArray()}set offsetSdr(e){this.uniforms.offsetSdr.value.fromArray(e)}get gainMapMin(){return this.uniforms.gainMapMin.value.toArray()}set gainMapMin(e){this.uniforms.gainMapMin.value.fromArray(e)}get gainMapMax(){return this.uniforms.gainMapMax.value.toArray()}set gainMapMax(e){this.uniforms.gainMapMax.value.fromArray(e)}get gamma(){const e=this.uniforms.gamma.value;return[1/e.x,1/e.y,1/e.z]}set gamma(e){const t=this.uniforms.gamma.value;t.x=1/e[0],t.y=1/e[1],t.z=1/e[2]}get hdrCapacityMin(){return this._hdrCapacityMin}set hdrCapacityMin(e){this._hdrCapacityMin=e,this.calculateWeight()}get hdrCapacityMax(){return this._hdrCapacityMax}set hdrCapacityMax(e){this._hdrCapacityMax=e,this.calculateWeight()}get maxDisplayBoost(){return this._maxDisplayBoost}set maxDisplayBoost(e){this._maxDisplayBoost=Math.max(1,Math.min(65504,e)),this.calculateWeight()}calculateWeight(){const e=(Math.log2(this._maxDisplayBoost)-this._hdrCapacityMin)/(this._hdrCapacityMax-this._hdrCapacityMin);this.uniforms.weightFactor.value=Math.max(0,Math.min(1,e))}}class rB extends Error{}class sB extends Error{}const uh=(n,e,t)=>{var i;let r;const s=(i=n.attributes.getNamedItem(e))===null||i===void 0?void 0:i.nodeValue;if(s)r=s;else{const o=n.getElementsByTagName(e)[0];if(o){const a=o.getElementsByTagName("rdf:li");if(a.length===3)r=Array.from(a).map(l=>l.innerHTML);else throw new Error(`Gainmap metadata contains an array of items for ${e} but its length is not 3`)}else{if(t)return t;throw new Error(`Can't find ${e} in gainmap metadata`)}}return r},tV=n=>{var e,t;let i;typeof TextDecoder<"u"?i=new TextDecoder().decode(n):i=n.toString();let r=i.indexOf("",r);i.slice(r,o+10);const a=i.slice(r,o+10);try{const u=s.parseFromString(a,"text/xml").getElementsByTagName("rdf:Description")[0],f=uh(u,"hdrgm:GainMapMin","0"),d=uh(u,"hdrgm:GainMapMax"),p=uh(u,"hdrgm:Gamma","1"),m=uh(u,"hdrgm:OffsetSDR","0.015625"),y=uh(u,"hdrgm:OffsetHDR","0.015625");let A=(e=u.attributes.getNamedItem("hdrgm:HDRCapacityMin"))===null||e===void 0?void 0:e.nodeValue;A||(A="0");const _=(t=u.attributes.getNamedItem("hdrgm:HDRCapacityMax"))===null||t===void 0?void 0:t.nodeValue;if(!_)throw new Error("Incomplete gainmap metadata");return{gainMapMin:Array.isArray(f)?f.map(g=>parseFloat(g)):[parseFloat(f),parseFloat(f),parseFloat(f)],gainMapMax:Array.isArray(d)?d.map(g=>parseFloat(g)):[parseFloat(d),parseFloat(d),parseFloat(d)],gamma:Array.isArray(p)?p.map(g=>parseFloat(g)):[parseFloat(p),parseFloat(p),parseFloat(p)],offsetSdr:Array.isArray(m)?m.map(g=>parseFloat(g)):[parseFloat(m),parseFloat(m),parseFloat(m)],offsetHdr:Array.isArray(y)?y.map(g=>parseFloat(g)):[parseFloat(y),parseFloat(y),parseFloat(y)],hdrCapacityMin:parseFloat(A),hdrCapacityMax:parseFloat(_)}}catch{}r=i.indexOf("{const r=this.options.debug,s=new DataView(e.buffer);if(s.getUint16(0)!==65496){i(new Error("Not a valid jpeg"));return}const o=s.byteLength;let a=2,l=0,u;for(;a250){i(new Error(`Found no marker after ${l} loops 😵`));return}if(s.getUint8(a)!==255){i(new Error(`Not a valid marker at offset 0x${a.toString(16)}, found: 0x${s.getUint8(a).toString(16)}`));return}if(u=s.getUint8(a+1),r&&console.log(`Marker: ${u.toString(16)}`),u===226){r&&console.log("Found APP2 marker (0xffe2)");const f=a+4;if(s.getUint32(f)===1297106432){const d=f+4;let p;if(s.getUint16(d)===18761)p=!1;else if(s.getUint16(d)===19789)p=!0;else{i(new Error("No valid endianness marker found in TIFF header"));return}if(s.getUint16(d+2,!p)!==42){i(new Error("Not valid TIFF data! (no 0x002A marker)"));return}const m=s.getUint32(d+4,!p);if(m<8){i(new Error("Not valid TIFF data! (First offset less than 8)"));return}const y=d+m,A=s.getUint16(y,!p),_=y+2;let g=0;for(let L=_;L<_+12*A;L+=12)s.getUint16(L,!p)===45057&&(g=s.getUint32(L+8,!p));const M=y+2+A*12+4,w=[];for(let L=M;L{const e=tV(n);if(!e)throw new sB("Gain map XMP metadata not found");const i=await new nV({extractFII:!0,extractNonFII:!0}).extract(n);if(i.length!==2)throw new rB("Gain map recovery image not found");return{sdr:new Uint8Array(await i[0].arrayBuffer()),gainMap:new Uint8Array(await i[1].arrayBuffer()),metadata:e}},wT=n=>new Promise((e,t)=>{const i=document.createElement("img");i.onload=()=>{e(i)},i.onerror=r=>{t(r)},i.src=URL.createObjectURL(n)});class oB extends fi{constructor(e,t){super(t),e&&(this._renderer=e),this._internalLoadingManager=new Wg}setRenderer(e){return this._renderer=e,this}setRenderTargetOptions(e){return this._renderTargetOptions=e,this}prepareQuadRenderer(){this._renderer||console.warn("WARNING: An existing WebGL Renderer was not passed to this Loader constructor or in setRenderer, the result of this Loader will need to be converted to a Data Texture with toDataTexture() before you can use it in your renderer.");const e=new eV({gainMapMax:[1,1,1],gainMapMin:[0,0,0],gamma:[1,1,1],offsetHdr:[1,1,1],offsetSdr:[1,1,1],hdrCapacityMax:1,hdrCapacityMin:0,maxDisplayBoost:1,gainMap:new Jt,sdr:new Jt});return new wS({width:16,height:16,type:gi,colorSpace:Wn,material:e,renderer:this._renderer,renderTargetOptions:this._renderTargetOptions})}async render(e,t,i,r){const s=r?new Blob([r],{type:"image/jpeg"}):void 0,o=new Blob([i],{type:"image/jpeg"});let a,l,u=!1;if(typeof createImageBitmap>"u"){const p=await Promise.all([s?wT(s):Promise.resolve(void 0),wT(o)]);l=p[0],a=p[1],u=!0}else{const p=await Promise.all([s?createImageBitmap(s,{imageOrientation:"flipY"}):Promise.resolve(void 0),createImageBitmap(o,{imageOrientation:"flipY"})]);l=p[0],a=p[1]}const f=new Jt(l||new ImageData(2,2),ua,Dn,Dn,jt,j_,ei,yr,1,Wn);f.flipY=u,f.needsUpdate=!0;const d=new Jt(a,ua,Dn,Dn,jt,j_,ei,yr,1,ui);d.flipY=u,d.needsUpdate=!0,e.width=a.width,e.height=a.height,e.material.gainMap=f,e.material.sdr=d,e.material.gainMapMin=t.gainMapMin,e.material.gainMapMax=t.gainMapMax,e.material.offsetHdr=t.offsetHdr,e.material.offsetSdr=t.offsetSdr,e.material.gamma=t.gamma,e.material.hdrCapacityMin=t.hdrCapacityMin,e.material.hdrCapacityMax=t.hdrCapacityMax,e.material.maxDisplayBoost=Math.pow(2,t.hdrCapacityMax),e.material.needsUpdate=!0,e.render()}}class rV extends oB{load([e,t,i],r,s,o){const a=this.prepareQuadRenderer();let l,u,f;const d=async()=>{if(l&&u&&f){try{await this.render(a,f,l,u)}catch(b){this.manager.itemError(e),this.manager.itemError(t),this.manager.itemError(i),typeof o=="function"&&o(b),a.disposeOnDemandRenderer();return}typeof r=="function"&&r(a),this.manager.itemEnd(e),this.manager.itemEnd(t),this.manager.itemEnd(i),a.disposeOnDemandRenderer()}};let p=!0,m=0,y=0,A=!0,_=0,g=0,S=!0,M=0,w=0;const L=()=>{if(typeof s=="function"){const b=m+_+M,C=y+g+w,U=p&&A&&S;s(new ProgressEvent("progress",{lengthComputable:U,loaded:C,total:b}))}};this.manager.itemStart(e),this.manager.itemStart(t),this.manager.itemStart(i);const I=new ti(this._internalLoadingManager);I.setResponseType("arraybuffer"),I.setRequestHeader(this.requestHeader),I.setPath(this.path),I.setWithCredentials(this.withCredentials),I.load(e,async b=>{if(typeof b=="string")throw new Error("Invalid sdr buffer");l=b,await d()},b=>{p=b.lengthComputable,y=b.loaded,m=b.total,L()},b=>{this.manager.itemError(e),typeof o=="function"&&o(b)});const P=new ti(this._internalLoadingManager);P.setResponseType("arraybuffer"),P.setRequestHeader(this.requestHeader),P.setPath(this.path),P.setWithCredentials(this.withCredentials),P.load(t,async b=>{if(typeof b=="string")throw new Error("Invalid gainmap buffer");u=b,await d()},b=>{A=b.lengthComputable,g=b.loaded,_=b.total,L()},b=>{this.manager.itemError(t),typeof o=="function"&&o(b)});const D=new ti(this._internalLoadingManager);return D.setRequestHeader(this.requestHeader),D.setPath(this.path),D.setWithCredentials(this.withCredentials),D.load(i,async b=>{if(typeof b!="string")throw new Error("Invalid metadata string");f=JSON.parse(b),await d()},b=>{S=b.lengthComputable,w=b.loaded,M=b.total,L()},b=>{this.manager.itemError(i),typeof o=="function"&&o(b)}),a}}class sV extends oB{load(e,t,i,r){const s=this.prepareQuadRenderer(),o=new ti(this._internalLoadingManager);return o.setResponseType("arraybuffer"),o.setRequestHeader(this.requestHeader),o.setPath(this.path),o.setWithCredentials(this.withCredentials),this.manager.itemStart(e),o.load(e,async a=>{if(typeof a=="string")throw new Error("Invalid buffer, received [string], was expecting [ArrayBuffer]");const l=new Uint8Array(a);let u,f,d;try{const p=await iV(l);u=p.sdr,f=p.gainMap,d=p.metadata}catch(p){if(p instanceof sB||p instanceof rB)console.warn(`Failure to reconstruct an HDR image from ${e}: Gain map metadata not found in the file, HDRJPGLoader will render the SDR jpeg`),d={gainMapMin:[0,0,0],gainMapMax:[1,1,1],gamma:[1,1,1],hdrCapacityMin:0,hdrCapacityMax:1,offsetHdr:[0,0,0],offsetSdr:[0,0,0]},u=l;else throw p}try{await this.render(s,d,u,f)}catch(p){this.manager.itemError(e),typeof r=="function"&&r(p),s.disposeOnDemandRenderer();return}typeof t=="function"&&t(s),this.manager.itemEnd(e),s.disposeOnDemandRenderer()},i,a=>{this.manager.itemError(e),typeof r=="function"&&r(a)}),s}}const By={apartment:"lebombo_1k.hdr",city:"potsdamer_platz_1k.hdr",dawn:"kiara_1_dawn_1k.hdr",forest:"forest_slope_1k.hdr",lobby:"st_fagans_interior_1k.hdr",night:"dikhololo_night_1k.hdr",park:"rooitou_park_1k.hdr",studio:"studio_small_03_1k.hdr",sunset:"venice_sunset_1k.hdr",warehouse:"empty_warehouse_01_1k.hdr"},oV="https://raw.githack.com/pmndrs/drei-assets/456060a26bbeb8fdf79326f224b6d99b8bcce736/hdri/",Qp=n=>Array.isArray(n);function aB({files:n=["/px.png","/nx.png","/py.png","/ny.png","/pz.png","/nz.png"],path:e="",preset:t=void 0,encoding:i=void 0,extensions:r}={}){var s;let o=null,a=!1,l;if(t){if(!(t in By))throw new Error("Preset must be one of: "+Object.keys(By).join(", "));n=By[t],e=oV}const u=Qp(n)&&n.length===6,f=Qp(n)&&n.length===3&&n.some(_=>_.endsWith("json")),d=Qp(n)?n[0]:n;if(a=Qp(n),l=u?"cube":f?"webp":d.startsWith("data:application/exr")?"exr":d.startsWith("data:application/hdr")?"hdr":d.startsWith("data:image/jpeg")?"jpg":(s=d.split(".").pop())==null||(s=s.split("?"))==null||(s=s.shift())==null?void 0:s.toLowerCase(),o=l==="cube"?uP:l==="hdr"?D4:l==="exr"?F4:l==="jpg"||l==="jpeg"?sV:l==="webp"?rV:null,!o)throw new Error("useEnvironment: Unrecognized file extension: "+n);const p=qn(_=>_.gl),m=yc(o,a?[n]:n,_=>{(l==="webp"||l==="jpg"||l==="jpeg")&&_.setRenderer(p),_.setPath==null||_.setPath(e),r&&r(_)});let y=a?m[0]:m;if(l==="jpg"||l==="jpeg"||l==="webp"){var A;y=(A=y.renderTarget)==null?void 0:A.texture}return y.mapping=u?Is:tc,"colorSpace"in y?y.colorSpace=i??u?"srgb":"srgb-linear":y.encoding=i??u?Q4:Y4,y}const aV=n=>n.current&&n.current.isScene,lV=n=>aV(n)?n.current:n;function TS(n,e,t,i,r={}){var s,o,a,l,u;r={backgroundBlurriness:(s=r.blur)!==null&&s!==void 0?s:0,backgroundIntensity:1,backgroundRotation:[0,0,0],environmentIntensity:1,environmentRotation:[0,0,0],...r};const f=lV(e||t),d=f.background,p=f.environment,m={backgroundBlurriness:f.backgroundBlurriness,backgroundIntensity:f.backgroundIntensity,backgroundRotation:(o=(a=f.backgroundRotation)==null||a.clone==null?void 0:a.clone())!==null&&o!==void 0?o:[0,0,0],environmentIntensity:f.environmentIntensity,environmentRotation:(l=(u=f.environmentRotation)==null||u.clone==null?void 0:u.clone())!==null&&l!==void 0?l:[0,0,0]};return n!=="only"&&(f.environment=i),n&&(f.background=i),Go(f,r),()=>{n!=="only"&&(f.environment=p),n&&(f.background=d),Go(f,m)}}function CS({scene:n,background:e=!1,map:t,...i}){const r=qn(s=>s.scene);return Q.useLayoutEffect(()=>{if(t)return TS(e,n,r,t,i)}),null}function lB({background:n=!1,scene:e,blur:t,backgroundBlurriness:i,backgroundIntensity:r,backgroundRotation:s,environmentIntensity:o,environmentRotation:a,...l}){const u=aB(l),f=qn(d=>d.scene);return Q.useLayoutEffect(()=>TS(n,e,f,u,{blur:t,backgroundBlurriness:i,backgroundIntensity:r,backgroundRotation:s,environmentIntensity:o,environmentRotation:a})),null}function uV({children:n,near:e=1,far:t=1e3,resolution:i=256,frames:r=1,map:s,background:o=!1,blur:a,backgroundBlurriness:l,backgroundIntensity:u,backgroundRotation:f,environmentIntensity:d,environmentRotation:p,scene:m,files:y,path:A,preset:_=void 0,extensions:g}){const S=qn(D=>D.gl),M=qn(D=>D.scene),w=Q.useRef(null),[L]=Q.useState(()=>new sc),I=Q.useMemo(()=>{const D=new ZA(i);return D.texture.type=gi,D},[i]);Q.useLayoutEffect(()=>(r===1&&w.current.update(S,L),TS(o,m,M,I.texture,{blur:a,backgroundBlurriness:l,backgroundIntensity:u,backgroundRotation:f,environmentIntensity:d,environmentRotation:p})),[n,L,I.texture,m,M,o,r,S]);let P=1;return Ai(()=>{(r===1/0||PIP({GroundProjectedEnvImpl:KG}),[]);const a=Q.useMemo(()=>[o],[o]),l=(e=n.ground)==null?void 0:e.height,u=(t=n.ground)==null?void 0:t.radius,f=(i=(r=n.ground)==null?void 0:r.scale)!==null&&i!==void 0?i:1e3;return Q.createElement(Q.Fragment,null,Q.createElement(CS,mf({},n,{map:o})),Q.createElement("groundProjectedEnvImpl",{args:a,scale:f,height:l,radius:u}))}function hV(n){return n.ground?Q.createElement(cV,n):n.map?Q.createElement(CS,n):n.children?Q.createElement(uV,n):Q.createElement(lB,n)}var fV={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const TT=n=>{let e;const t=new Set,i=(f,d)=>{const p=typeof f=="function"?f(e):f;if(!Object.is(p,e)){const m=e;e=d??(typeof p!="object"||p===null)?p:Object.assign({},e,p),t.forEach(y=>y(e,m))}},r=()=>e,l={setState:i,getState:r,getInitialState:()=>u,subscribe:f=>(t.add(f),()=>t.delete(f)),destroy:()=>{(fV?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),t.clear()}},u=e=n(i,r,l);return l},dV=n=>n?TT(n):TT;var uB={exports:{}},cB={},hB={exports:{}},fB={};/** + * @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 lc=Q;function pV(n,e){return n===e&&(n!==0||1/n===1/e)||n!==n&&e!==e}var mV=typeof Object.is=="function"?Object.is:pV,gV=lc.useState,vV=lc.useEffect,yV=lc.useLayoutEffect,_V=lc.useDebugValue;function xV(n,e){var t=e(),i=gV({inst:{value:t,getSnapshot:e}}),r=i[0].inst,s=i[1];return yV(function(){r.value=t,r.getSnapshot=e,Ly(r)&&s({inst:r})},[n,t,e]),vV(function(){return Ly(r)&&s({inst:r}),n(function(){Ly(r)&&s({inst:r})})},[n]),_V(t),t}function Ly(n){var e=n.getSnapshot;n=n.value;try{var t=e();return!mV(n,t)}catch{return!0}}function AV(n,e){return e()}var SV=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?AV:xV;fB.useSyncExternalStore=lc.useSyncExternalStore!==void 0?lc.useSyncExternalStore:SV;hB.exports=fB;var MV=hB.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 Zg=Q,EV=MV;function wV(n,e){return n===e&&(n!==0||1/n===1/e)||n!==n&&e!==e}var TV=typeof Object.is=="function"?Object.is:wV,CV=EV.useSyncExternalStore,RV=Zg.useRef,bV=Zg.useEffect,IV=Zg.useMemo,PV=Zg.useDebugValue;cB.useSyncExternalStoreWithSelector=function(n,e,t,i,r){var s=RV(null);if(s.current===null){var o={hasValue:!1,value:null};s.current=o}else o=s.current;s=IV(function(){function l(m){if(!u){if(u=!0,f=m,m=i(m),r!==void 0&&o.hasValue){var y=o.value;if(r(y,m))return d=y}return d=m}if(y=d,TV(f,m))return y;var A=i(m);return r!==void 0&&r(y,A)?y:(f=m,d=A)}var u=!1,f,d,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=CV(n,s[0],s[1]);return bV(function(){o.hasValue=!0,o.value=a},[a]),PV(a),a};uB.exports=cB;var BV=uB.exports;const LV=tg(BV);var DV={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{useDebugValue:FV}=JL,{useSyncExternalStoreWithSelector:NV}=LV;let CT=!1;const OV=n=>n;function dB(n,e=OV,t){(DV?"production":void 0)!=="production"&&t&&!CT&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),CT=!0);const i=NV(n.subscribe,n.getState,n.getServerState||n.getInitialState,e,t);return FV(i),i}function UV({color:n,...e}){const{nodes:t,materials:i}=Hf("/datsun-transformed.glb");return re.jsxs("group",{...e,dispose:null,children:[re.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:t.Cylinder007_alloy_0_1.geometry,material:i.alloy}),re.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:t.Cylinder007_alloy_0_2.geometry,material:i.headlights}),re.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:t.Cylinder007_alloy_0_3.geometry,material:i.black_paint}),re.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:t.Cylinder007_alloy_0_4.geometry,material:i.tire}),re.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:t.Cylinder007_alloy_0_5.geometry,material:i.black_matte}),re.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:t.Cylinder007_alloy_0_6.geometry,material:i.chrome}),re.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:t.Cylinder007_alloy_0_7.geometry,material:i.license}),re.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:t.Cylinder007_alloy_0_8.geometry,material:i.orange_glass}),re.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:t.Cylinder007_alloy_0_9.geometry,material:i.glass}),re.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:t.Cylinder007_alloy_0_10.geometry,material:i.paint}),re.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:t.Cylinder007_alloy_0_11.geometry,material:i.red_glass}),re.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:t.Cylinder007_alloy_0_12.geometry,material:i.stickers})]})}Hf.preload("/datsun-transformed.glb");function Sm(n,e,t){return Math.max(e,Math.min(t,n))}const kV=.05,RT=.1;function pB(n,e,t){const i=e.gamepad;if(i==null)return;const r=t.components;for(const s in r){let o=n[s];o==null&&(n[s]=o={});const{gamepadIndices:a}=r[s];let l=!1,u=!1;if(a.button!=null&&a.buttonkV)}a.xAxis!=null&&a.xAxisRT)),a.yAxis!=null&&a.yAxisRT)),o.state=l?"pressed":u?"touched":"default"}}function bT(n,e){if(e===WA)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),n;if(e===xl||e===Mf){let t=n.getIndex();if(t===null){const o=[],a=n.getAttribute("position");if(a!==void 0){for(let l=0;l=2.0 are supported."));return}const u=new _8(s,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});u.fileLoader.setRequestHeader(this.requestHeader);for(let f=0;f=0&&a[d]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+d+'".')}}u.setExtensions(o),u.setPlugins(a),u.parse(i,r)}parseAsync(e,t){const i=this;return new Promise(function(r,s){i.parse(e,t,r,s)})}}function zV(){let n={};return{get:function(e){return n[e]},add:function(e,t){n[e]=t},remove:function(e){delete n[e]},removeAll:function(){n={}}}}const Gt={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class GV{constructor(e){this.parser=e,this.name=Gt.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let i=0,r=t.length;i=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,s.source,o)}}class n8{constructor(e){this.parser=e,this.name=Gt.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,s=r.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],a=r.images[o.source];let l=i.textureLoader;if(a.uri){const u=i.options.manager.getHandler(a.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class i8{constructor(e){this.parser=e,this.name=Gt.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,s=r.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],a=r.images[o.source];let l=i.textureLoader;if(a.uri){const u=i.options.manager.getHandler(a.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class r8{constructor(e){this.name=Gt.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,i=t.bufferViews[e];if(i.extensions&&i.extensions[this.name]){const r=i.extensions[this.name],s=this.parser.getDependency("buffer",r.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return s.then(function(a){const l=r.byteOffset||0,u=r.byteLength||0,f=r.count,d=r.byteStride,p=new Uint8Array(a,l,u);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(f,d,p,r.mode,r.filter).then(function(m){return m.buffer}):o.ready.then(function(){const m=new ArrayBuffer(f*d);return o.decodeGltfBuffer(new Uint8Array(m),f,d,p,r.mode,r.filter),m})})}else return null}}class s8{constructor(e){this.name=Gt.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,i=t.nodes[e];if(!i.extensions||!i.extensions[this.name]||i.mesh===void 0)return null;const r=t.meshes[i.mesh];for(const u of r.primitives)if(u.mode!==Fr.TRIANGLES&&u.mode!==Fr.TRIANGLE_STRIP&&u.mode!==Fr.TRIANGLE_FAN&&u.mode!==void 0)return null;const o=i.extensions[this.name].attributes,a=[],l={};for(const u in o)a.push(this.parser.getDependency("accessor",o[u]).then(f=>(l[u]=f,l[u])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(u=>{const f=u.pop(),d=f.isGroup?f.children:[f],p=u[0].count,m=[];for(const y of d){const A=new $e,_=new O,g=new un,S=new O(1,1,1),M=new bf(y.geometry,y.material,p);for(let w=0;w0||n.search(/^data\:image\/jpeg/)===0?"image/jpeg":n.search(/\.webp($|\?)/i)>0||n.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const y8=new $e;class _8{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new zV,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let i=!1,r=!1,s=-1;typeof navigator<"u"&&(i=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,r=navigator.userAgent.indexOf("Firefox")>-1,s=r?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||i||r&&s<98?this.textureLoader=new dS(this.options.manager):this.textureLoader=new mS(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new ti(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const i=this,r=this.json,s=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([i.getDependencies("scene"),i.getDependencies("animation"),i.getDependencies("camera")])}).then(function(o){const a={scene:o[0][r.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:r.asset,parser:i,userData:{}};return Ga(s,a,r),Vo(a,r),Promise.all(i._invokeAll(function(l){return l.afterRoot&&l.afterRoot(a)})).then(function(){for(const l of a.scenes)l.updateMatrixWorld();e(a)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],i=this.json.meshes||[];for(let r=0,s=t.length;r{const l=this.associations.get(o);l!=null&&this.associations.set(a,l);for(const[u,f]of o.children.entries())s(f,a.children[u])};return s(i,r),r.name+="_instance_"+e.uses[t]++,r}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let i=0;i=2&&_.setY(b,I[P*l+1]),l>=3&&_.setZ(b,I[P*l+2]),l>=4&&_.setW(b,I[P*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return _})}loadTexture(e){const t=this.json,i=this.options,s=t.textures[e].source,o=t.images[s];let a=this.textureLoader;if(o.uri){const l=i.manager.getHandler(o.uri);l!==null&&(a=l)}return this.loadTextureImage(e,s,a)}loadTextureImage(e,t,i){const r=this,s=this.json,o=s.textures[e],a=s.images[t],l=(a.uri||a.bufferView)+":"+o.sampler;if(this.textureCache[l])return this.textureCache[l];const u=this.loadImageSource(t,i).then(function(f){f.flipY=!1,f.name=o.name||a.name||"",f.name===""&&typeof a.uri=="string"&&a.uri.startsWith("data:image/")===!1&&(f.name=a.uri);const p=(s.samplers||{})[o.sampler]||{};return f.magFilter=PT[p.magFilter]||jt,f.minFilter=PT[p.minFilter]||$i,f.wrapS=BT[p.wrapS]||cs,f.wrapT=BT[p.wrapT]||cs,r.associations.set(f,{textures:e}),f}).catch(function(){return null});return this.textureCache[l]=u,u}loadImageSource(e,t){const i=this,r=this.json,s=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(d=>d.clone());const o=r.images[e],a=self.URL||self.webkitURL;let l=o.uri||"",u=!1;if(o.bufferView!==void 0)l=i.getDependency("bufferView",o.bufferView).then(function(d){u=!0;const p=new Blob([d],{type:o.mimeType});return l=a.createObjectURL(p),l});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const f=Promise.resolve(l).then(function(d){return new Promise(function(p,m){let y=p;t.isImageBitmapLoader===!0&&(y=function(A){const _=new Jt(A);_.needsUpdate=!0,p(_)}),t.load(gr.resolveURL(d,s.path),y,void 0,m)})}).then(function(d){return u===!0&&a.revokeObjectURL(l),d.userData.mimeType=o.mimeType||v8(o.uri),d}).catch(function(d){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),d});return this.sourceCache[e]=f,f}assignTexture(e,t,i,r){const s=this;return this.getDependency("texture",i.index).then(function(o){if(!o)return null;if(i.texCoord!==void 0&&i.texCoord>0&&(o=o.clone(),o.channel=i.texCoord),s.extensions[Gt.KHR_TEXTURE_TRANSFORM]){const a=i.extensions!==void 0?i.extensions[Gt.KHR_TEXTURE_TRANSFORM]:void 0;if(a){const l=s.associations.get(o);o=s.extensions[Gt.KHR_TEXTURE_TRANSFORM].extendTexture(o,a),s.associations.set(o,l)}}return r!==void 0&&(o.colorSpace=r),e[t]=o,o})}assignFinalMaterial(e){const t=e.geometry;let i=e.material;const r=t.attributes.tangent===void 0,s=t.attributes.color!==void 0,o=t.attributes.normal===void 0;if(e.isPoints){const a="PointsMaterial:"+i.uuid;let l=this.cache.get(a);l||(l=new If,_n.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,l.sizeAttenuation=!1,this.cache.add(a,l)),i=l}else if(e.isLine){const a="LineBasicMaterial:"+i.uuid;let l=this.cache.get(a);l||(l=new xi,_n.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,this.cache.add(a,l)),i=l}if(r||s||o){let a="ClonedMaterial:"+i.uuid+":";r&&(a+="derivative-tangents:"),s&&(a+="vertex-colors:"),o&&(a+="flat-shading:");let l=this.cache.get(a);l||(l=i.clone(),s&&(l.vertexColors=!0),o&&(l.flatShading=!0),r&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(a,l),this.associations.set(l,this.associations.get(i))),i=l}e.material=i}getMaterialType(){return Tl}loadMaterial(e){const t=this,i=this.json,r=this.extensions,s=i.materials[e];let o;const a={},l=s.extensions||{},u=[];if(l[Gt.KHR_MATERIALS_UNLIT]){const d=r[Gt.KHR_MATERIALS_UNLIT];o=d.getMaterialType(),u.push(d.extendParams(a,s,t))}else{const d=s.pbrMetallicRoughness||{};if(a.color=new ke(1,1,1),a.opacity=1,Array.isArray(d.baseColorFactor)){const p=d.baseColorFactor;a.color.setRGB(p[0],p[1],p[2],Wn),a.opacity=p[3]}d.baseColorTexture!==void 0&&u.push(t.assignTexture(a,"map",d.baseColorTexture,ui)),a.metalness=d.metallicFactor!==void 0?d.metallicFactor:1,a.roughness=d.roughnessFactor!==void 0?d.roughnessFactor:1,d.metallicRoughnessTexture!==void 0&&(u.push(t.assignTexture(a,"metalnessMap",d.metallicRoughnessTexture)),u.push(t.assignTexture(a,"roughnessMap",d.metallicRoughnessTexture))),o=this._invokeOne(function(p){return p.getMaterialType&&p.getMaterialType(e)}),u.push(Promise.all(this._invokeAll(function(p){return p.extendMaterialParams&&p.extendMaterialParams(e,a)})))}s.doubleSided===!0&&(a.side=hr);const f=s.alphaMode||Fy.OPAQUE;if(f===Fy.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,f===Fy.MASK&&(a.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.normalTexture!==void 0&&o!==Gn&&(u.push(t.assignTexture(a,"normalMap",s.normalTexture)),a.normalScale=new pe(1,1),s.normalTexture.scale!==void 0)){const d=s.normalTexture.scale;a.normalScale.set(d,d)}if(s.occlusionTexture!==void 0&&o!==Gn&&(u.push(t.assignTexture(a,"aoMap",s.occlusionTexture)),s.occlusionTexture.strength!==void 0&&(a.aoMapIntensity=s.occlusionTexture.strength)),s.emissiveFactor!==void 0&&o!==Gn){const d=s.emissiveFactor;a.emissive=new ke().setRGB(d[0],d[1],d[2],Wn)}return s.emissiveTexture!==void 0&&o!==Gn&&u.push(t.assignTexture(a,"emissiveMap",s.emissiveTexture,ui)),Promise.all(u).then(function(){const d=new o(a);return s.name&&(d.name=s.name),Vo(d,s),t.associations.set(d,{materials:e}),s.extensions&&Ga(r,d,s),d})}createUniqueName(e){const t=Xt.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,i=this.extensions,r=this.primitiveCache;function s(a){return i[Gt.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a,t).then(function(l){return LT(l,a,t)})}const o=[];for(let a=0,l=e.length;a0&&m8(g,s),g.name=t.createUniqueName(s.name||"mesh_"+e),Vo(g,s),_.extensions&&Ga(r,g,_),t.assignFinalMaterial(g),d.push(g)}for(let m=0,y=d.length;m1?f=new Gr:u.length===1?f=u[0]:f=new kt,f!==u[0])for(let d=0,p=u.length;d{const d=new Map;for(const[p,m]of r.associations)(p instanceof _n||p instanceof Jt)&&d.set(p,m);return f.traverse(p=>{const m=r.associations.get(p);m!=null&&d.set(p,m)}),d};return r.associations=u(s),s})}_createAnimationTracks(e,t,i,r,s){const o=[],a=e.name?e.name:e.uuid,l=[];ko[s.path]===ko.weights?e.traverse(function(p){p.morphTargetInfluences&&l.push(p.name?p.name:p.uuid)}):l.push(a);let u;switch(ko[s.path]){case ko.weights:u=po;break;case ko.rotation:u=Bs;break;case ko.position:case ko.scale:u=mo;break;default:switch(i.itemSize){case 1:u=po;break;case 2:case 3:default:u=mo;break}break}const f=r.interpolation!==void 0?f8[r.interpolation]:ho,d=this._getArrayFromAccessor(i);for(let p=0,m=l.length;p{t instanceof an&&t.material instanceof _n&&(t.material.colorWrite=(e==null?void 0:e.colorWrite)??!0)})}function b8(n,e){return{type:"hand",inputSource:n,pose:A8(n.hand),assetPath:T8(n.handedness)}}function I8({inputSource:n,pose:e},t,i){S8(e,t,n.hand,i,n.handedness)}const P8=["wrist","thumb-metacarpal","thumb-phalanx-proximal","thumb-phalanx-distal","thumb-tip","index-finger-metacarpal","index-finger-phalanx-proximal","index-finger-phalanx-intermediate","index-finger-phalanx-distal","index-finger-tip","middle-finger-metacarpal","middle-finger-phalanx-proximal","middle-finger-phalanx-intermediate","middle-finger-phalanx-distal","middle-finger-tip","ring-finger-metacarpal","ring-finger-phalanx-proximal","ring-finger-phalanx-intermediate","ring-finger-phalanx-distal","ring-finger-tip","pinky-finger-metacarpal","pinky-finger-phalanx-proximal","pinky-finger-phalanx-intermediate","pinky-finger-phalanx-distal","pinky-finger-tip"];function B8(n,e,t){const i=new Float32Array(n.size*16),r=P8.map(s=>{const o=e.getObjectByName(s);if(o==null)throw new Error(`missing joint "${s}" in hand model`);return o.matrixAutoUpdate=!1,o});return s=>{if(s==null)return;const o=typeof t=="function"?t():t;if(o==null)return;s.fillPoses(n.values(),o,i);const a=r.length;for(let l=0;lt.push(r);return e.addEventListener("selectstart",i),e.addEventListener("selectend",i),e.addEventListener("select",i),e.addEventListener("squeeze",i),e.addEventListener("squeezestart",i),e.addEventListener("squeezeend",i),{cleanup(){e.removeEventListener("selectstart",i),e.removeEventListener("selectend",i),e.removeEventListener("select",i),e.removeEventListener("squeeze",i),e.removeEventListener("squeezestart",i),e.removeEventListener("squeezeend",i)},state:{type:"transientPointer",inputSource:n,events:t}}}function DT(n){if(n.hand!=null)return"hand";switch(n.targetRayMode){case"gaze":return"gaze";case"screen":return"screenInput";case"tracked-pointer":return"controller";case"transient-pointer":return"transientPointer"}}function F8(n){const e=new z5(n);return{controller:async(t,i)=>({state:await G5(i,e)}),hand:(t,i)=>({state:b8(i)}),gaze:(t,i)=>({state:{type:"gaze",inputSource:i}}),screenInput:(t,i)=>({state:{type:"screenInput",inputSource:i}}),transientPointer:(t,i)=>D8(i,t)}}function N8(n,e){let t=new Set;const i=F8(e),r=new Map;return(s,o,a,l)=>{var f;t=new Set(s.inputSources);const u={};if(l==="all"){u.controllerStates=[],u.gazeStates=[],u.handStates=[],u.screenInputStates=[],u.transientPointerStates=[];for(const d of r.values())d()}else if(l!=null){const d=l.length;for(let p=0;pg===m);if(_===-1)throw new Error(`unable to find removed input source ${m}`);A.splice(_,1),(f=r.get(m))==null||f(),r.delete(m)}}return a!=null&&a.forEach(async d=>{const p=DT(d);let m=i[p](s,d),y;if(m instanceof Promise){if(y=await m,!t.has(d))return;n[p](y.state)}else y=m,FT(`${p}States`,u,o).push(y.state);y.cleanup!=null&&r.set(d,y.cleanup)}),u}}function FT(n,e,t){let i=e[n];return i==null&&(e[n]=i=t==null?[]:[...t[n]]),i}function O8(n,e){const t=(i,r)=>{r!=null&&i.visibilityState===r.visibilityState||e(i.visibilityState==="visible")};return t(n.getState()),n.subscribe(t)}class U8 extends Gn{constructor(){super({transparent:!0,toneMapped:!1,depthWrite:!1})}onBeforeCompile(e,t){super.onBeforeCompile(e,t),e.vertexShader=`varying vec2 vLocalPosition; +`+e.vertexShader,e.vertexShader=e.vertexShader.replace("#include ",`#include + vLocalPosition = position.xy * 2.0;`),e.fragmentShader=`varying vec2 vLocalPosition; +`+e.fragmentShader,e.fragmentShader=e.fragmentShader.replace("#include ",`#include + float value = max(0.0, 1.0 - sqrt(dot(vLocalPosition, vLocalPosition))); + diffuseColor.a = diffuseColor.a * value * value;`)}}const k8=new O(0,0,1),NT=new un,ky=new O;function H8(n,e,t,i){const r=t.getIntersection();if(r==null||!t.getEnabled()){n.visible=!1;return}n.visible=!0;const s=typeof i.color=="function"?i.color(t):i.color;Array.isArray(s)?e.color.set(...s):e.color.set(s??"white"),e.opacity=typeof i.opacity=="function"?i.opacity(t):i.opacity??.4,n.position.copy(r.pointOnFace),n.scale.setScalar(i.size??.1),r.normal!=null&&(NT.setFromUnitVectors(k8,r.normal),r.object.getWorldQuaternion(n.quaternion),n.quaternion.multiply(NT),ky.set(0,0,i.cursorOffset??.01),ky.applyQuaternion(n.quaternion),n.position.add(ky)),n.updateMatrix()}class z8 extends Gn{constructor(){super({transparent:!0,toneMapped:!1})}onBeforeCompile(e,t){super.onBeforeCompile(e,t),e.vertexShader=`varying float vFade; +`+e.vertexShader,e.vertexShader=e.vertexShader.replace("#include ",`#include + vFade = position.z + 0.5;`),e.fragmentShader=`varying float vFade; +`+e.fragmentShader,e.fragmentShader=e.fragmentShader.replace("#include ",`#include + diffuseColor.a *= vFade;`)}}function G8(n,e,t,i){if(!t.getEnabled()){n.visible=!1;return}n.visible=!0;const r=t.getIntersection(),s=typeof i.color=="function"?i.color(t):i.color;Array.isArray(s)?e.color.set(...s):e.color.set(s??"white"),e.opacity=typeof i.opacity=="function"?i.opacity(t):i.opacity??.4;let o=i.maxLength??1;r!=null&&(o=Math.min(o,r.distance)),n.position.z=-o/2;const a=i.size??.005;n.scale.set(a,a,o),n.updateMatrix()}function V8(n,e,t,i,r,s={}){const o=f=>{f.inputSource===t&&n.down(Object.assign(f,{button:s.button??0}))},a=f=>{f.inputSource===t&&n.up(Object.assign(f,{button:s.button??0}))},l=`${i}start`,u=`${i}end`;return e.addEventListener(l,o),e.addEventListener(u,a),()=>{e.removeEventListener(l,o),e.removeEventListener(u,a)}}function W8(n){var e;return n.getButtonsDown().size>0?.6:yB(((e=n.getIntersection())==null?void 0:e.distance)??1/0,.07,0,.2,.4)}function $m(n){return n.getButtonsDown().size>0?.6:.4}function X8(n){var e;return yB(((e=n.getIntersection())==null?void 0:e.distance)??1/0,.1,.03,.2,.6)}function yB(n,e,t,i,r){return i+Math.max(0,Math.min(1,(n-e)/(t-e)))*(r-i)}function j8(n,e){return(t,i)=>{const r=OT(e),s=OT(n);if(s===r)return t.identity(),!0;if(i==null||s==null||r==null)return!1;const o=i.getPose(s,r);return o==null?!1:(t.fromArray(o.transform.matrix),!0)}}function OT(n){return typeof n=="function"?n():n}function J8({anchors:n=!0,handTracking:e=!0,layers:t=!0,meshDetection:i=!0,planeDetection:r=!0,referenceSpaceType:s="local-floor",customSessionInit:o,depthSensing:a=!1}={}){if(o!=null)return o;const l=[s],u=[];return yu(n,"anchors",l,u),yu(e,"hand-tracking",l,u),yu(t,"layers",l,u),yu(i,"mesh-detection",l,u),yu(r,"plane-detection",l,u),yu(a,"depth-sensing",l,u),{requiredFeatures:l,optionalFeatures:u}}function yu(n,e,t,i){if(n!==!1){if(n===!0){i.push(e);return}t.push(e)}}function Jo(n,e,t){return typeof n=="function"?n:(typeof n=="object"&&(e!=null&&K8(n,e)?n=n[e]:"default"in n&&(n=n.default)),n===!1?!1:n===!0?t:n??t)}function K8(n,e){return e in n}function _B(n,e,t){return n??(n=t),n===!1?!1:typeof n=="function"?n:e!=null&&e in n?n[e]??t:"default"in n?n.default??t:n}const xB={handStates:[],controllerStates:[],transientPointerStates:[],gazeStates:[],screenInputStates:[],detectedMeshes:[],detectedPlanes:[],mode:null};function Y8(n){const e=dV(()=>({...xB,controller:n==null?void 0:n.controller,hand:n==null?void 0:n.hand,gaze:n==null?void 0:n.gaze,screenInput:n==null?void 0:n.screenInput,transientPointer:n==null?void 0:n.transientPointer,detectedMesh:n==null?void 0:n.detectedMesh,detectedPlane:n==null?void 0:n.detectedPlane})),t=N8({controller:a=>e.setState({controllerStates:[...e.getState().controllerStates,a]})},n),i=q8(e,t),r=Z8(n==null?void 0:n.enterGrantedSession,a=>Zp(a,n,void 0,o));let s,o;return Object.assign(e,{setWebXRManager(a){if(o===a)return;o=a;const{referenceSpaceType:l="local-floor",foveation:u}={};o.setReferenceSpaceType(l),u!=null&&o.setFoveation(u);const{session:f}=e.getState();f!=null&&SB(o,f),s==null||s(),s=Q8(a,i)},setFrameRate(a){const{session:l}=e.getState();l!=null&&AB(l,a)},setHand(a,l){if(l==null){e.setState({hand:a});return}const u=e.getState().hand,f={};typeof u=="object"&&Object.assign(f,u),Object.assign(f,{default:Jo(u,void 0,{}),[l]:a}),e.setState({hand:f})},setController(a,l){if(l==null){e.setState({controller:a});return}const u=e.getState().controller,f={};typeof u=="object"&&Object.assign(f,u),Object.assign(f,{default:Jo(u,void 0,{}),[l]:a}),e.setState({controller:f})},setTransientPointer(a,l){if(l==null){e.setState({transientPointer:a});return}const u=e.getState().transientPointer,f={};typeof u=="object"&&Object.assign(f,u),Object.assign(f,{default:Jo(u,void 0,{}),[l]:a}),e.setState({transientPointer:f})},setGaze(a){e.setState({gaze:a})},setScreenInput(a){e.setState({screenInput:a})},setDetectedPlane(a,l){if(l==null){e.setState({detectedPlane:a});return}const u=e.getState().detectedPlane,f={};typeof u=="object"&&Object.assign(f,u),Object.assign(f,{default:Jo(u,void 0,{}),[l]:a}),e.setState({detectedPlane:f})},setDetectedMesh(a,l){if(l==null){e.setState({detectedMesh:a});return}const u=e.getState().detectedMesh,f={};typeof u=="object"&&Object.assign(f,u),Object.assign(f,{default:Jo(u,void 0,{}),[l]:a}),e.setState({detectedMesh:f})},destroy(){s==null||s(),r==null||r(),i(void 0,void 0)},enterXR:(a,l)=>Zp(a,n,l,o),enterAR:a=>Zp("immersive-ar",n,a,o),enterVR:a=>Zp("immersive-vr",n,a,o),onBeforeFrame(a,l,u){const{origin:f}=e.getState(),d=l.parent??a;f!=d&&e.setState({origin:d}),o!=null&&$8(e,u,o)}})}async function AB(n,e){if(e===!1)return;const{supportedFrameRates:t}=n;if(t==null||t.length===0)return;if(typeof e=="function"){const r=e(t);return r===!1?void 0:n.updateTargetFrameRate(r)}const i=e==="high"?1:e==="mid"?.5:0;return n.updateTargetFrameRate(t[Math.ceil((t.length-1)*i)])}async function Zp(n,e,t,i){if(navigator.xr==null)throw new Error("xr not supported");const r=await navigator.xr.requestSession(n,J8(Object.assign({},e,t)));return AB(r,"high"),SB(i,r),r}function SB(n,e,t){n!=null&&(XRWebGLLayer.getNativeFramebufferScaleFactor(e),n==null||n.setSession(e))}const UT=["immersive-ar","immersive-vr","inline"];function Q8(n,e){const t=()=>{const i=n.getSession();e(i,i.environmentBlendMode==="opaque"?"immersive-vr":"immersive-ar")};return n.addEventListener("sessionstart",t),()=>n.removeEventListener("sessionstart",t)}function Z8(n=UT,e){var i;if(n===!1)return;n===!0&&(n=UT);const t=async()=>{var r;for(const s of n)await((r=navigator.xr)==null?void 0:r.isSessionSupported(s))&&e(s)};return(i=navigator.xr)==null||i.addEventListener("sessiongranted",t),()=>{var r;return(r=navigator.xr)==null?void 0:r.removeEventListener("sessiongranted",t)}}function q8(n,e){let t;return(i,r)=>{if(t==null||t(),i==null||r==null)return;const s=l=>n.setState(e(l.session,n.getState(),l.added,l.removed));i.addEventListener("inputsourceschange",s);const o=()=>n.setState({frameRate:i.frameRate,visibilityState:i.visibilityState}),a=()=>{t==null||t(),t=void 0,n.setState(xB)};i.addEventListener("end",a),i.addEventListener("frameratechange",o),i.addEventListener("visibilitychange",o),n.setState({...e(i,void 0,i.inputSources,void 0),frameRate:i.frameRate,visibilityState:i.visibilityState,detectedMeshes:[],detectedPlanes:[],mode:r,session:i}),t=()=>{e(i,n.getState(),void 0,"all"),i.removeEventListener("end",a),i.removeEventListener("frameratechange",o),i.removeEventListener("visibilitychange",o),i.removeEventListener("inputsourceschange",s)}}}function $8(n,e,t){const i=t.getReferenceSpace(),{detectedMeshes:r,detectedPlanes:s,session:o,controllerStates:a,handStates:l}=n.getState();if(e==null||i==null||o==null)return;const u=kT(s,e.detectedPlanes),f=kT(r,e.detectedMeshes);(s!=u||r!=f)&&n.setState({detectedPlanes:u,detectedMeshes:f});const d=a.length;for(let m=0;m{t instanceof an&&t.material instanceof _n&&(t.material.colorWrite=(e==null?void 0:e.colorWrite)??!0)})}function r5(n,e,t){const i=[];for(const r in e.components){const s=e.components[r];let o=t[r];o==null&&(t[r]=o={state:"default"}),i.push(...Object.values(s.visualResponses).map(a=>s5(n,o,a)))}return()=>{const r=i.length;for(let s=0;s{};if(t.valueNodeProperty==="visibility")return()=>i.visible=t.states.includes(e.state);const r=n.getObjectByName(t.minNodeName),s=n.getObjectByName(t.maxNodeName);return r==null||s==null?()=>{}:()=>{const o=o5(e,t);i.quaternion.slerpQuaternions(r.quaternion,s.quaternion,o),i.position.lerpVectors(r.position,s.position,o),i.updateMatrix()}}function o5(n,{componentProperty:e,states:t}){const i=t.includes(n.state);switch(e){case"xAxis":return i?HT(n).x:.5;case"yAxis":return i?HT(n).y:.5;case"button":return i?n.button??0:0;case"state":return i?1:0}}const hh=new pe;function HT({xAxis:n=0,yAxis:e=0}){if(hh.lengthSq()>1){const i=Math.atan2(e,n);hh.set(Math.cos(i),Math.sin(i))}else hh.set(n,e);return hh.multiplyScalar(.5).addScalar(.5),hh}function a5({_listeners:n,__r3f:e}){return n!=null&&Object.keys(n).length>0||e!=null&&(e==null?void 0:e.eventCount)>0}function l5({_listeners:n,__r3f:e},t){if(n!=null&&t in n)return n[t];if(e==null)return;const i=e.handlers[u5[t]];if(i!=null)return[i]}const u5={click:"onClick",contextmenu:"onContextMenu",dblclick:"onDoubleClick",pointercancel:"onPointerCancel",pointerdown:"onPointerDown",pointerenter:"onPointerEnter",pointerleave:"onPointerLeave",pointermove:"onPointerMove",pointerout:"onPointerOut",pointerover:"onPointerOver",pointerup:"onPointerUp",wheel:"onWheel"};class Ui{constructor(e,t,i,r,s,o=s.object,a=o){Nt(this,"type");Nt(this,"bubbles");Nt(this,"nativeEvent");Nt(this,"pointer");Nt(this,"intersection");Nt(this,"currentObject");Nt(this,"object");Nt(this,"stopPropagation");Nt(this,"stopImmediatePropagation");this.type=e,this.bubbles=t,this.nativeEvent=i,this.pointer=r,this.intersection=s,this.currentObject=o,this.object=a}get pointerId(){return this.pointer.id}get pointerType(){return this.pointer.type}get pointerState(){return this.pointer.state}get timeStamp(){return this.nativeEvent.timeStamp}get button(){return this.nativeEvent.button}get shiftKey(){return this.nativeEvent.shiftKey??!1}get metaKey(){return this.nativeEvent.metaKey??!1}get ctrlKey(){return this.nativeEvent.ctrlKey??!1}get altKey(){return this.nativeEvent.altKey??!1}get distance(){return this.intersection.distance}get distanceToRay(){return this.intersection.distanceToRay}get point(){return this.intersection.point}get index(){return this.intersection.index}get face(){return this.intersection.face}get faceIndex(){return this.intersection.faceIndex}get uv(){return this.intersection.uv}get uv1(){return this.intersection.uv1}get normal(){return this.intersection.normal}get instanceId(){return this.intersection.instanceId}get pointOnLine(){return this.intersection.pointOnLine}get batchId(){return this.intersection.batchId}get pointerPosition(){return this.intersection.pointerPosition}get pointerQuaternion(){return this.intersection.pointerQuaternion}get pointOnFace(){return this.intersection.pointOnFace}get localPoint(){return this.intersection.localPoint}get details(){return this.intersection.details}get target(){return this.object}get currentTarget(){return this.currentObject}retarget(e){const{type:t,bubbles:i,nativeEvent:r,pointer:s,intersection:o,target:a}=this;return new Ui(t,i,r,s,o,e,a)}}class c5 extends Ui{get deltaX(){return this.nativeEvent.deltaX}get deltaY(){return this.nativeEvent.deltaY}get deltaZ(){return this.nativeEvent.deltaZ}constructor(e,t,i){super("wheel",!0,e,t,i)}}function Lr(n){MB(n,n.currentObject)}function MB(n,e){if(e==null)return;const t=l5(e,n.type);let i=!n.bubbles;if(t!=null&&t.length>0){const r=n.retarget(e),s=t.length;r.stopPropagation=()=>i=!0;let o=!1;r.stopImmediatePropagation=()=>{i=!0,o=!0};for(let a=0;a=0;a--){const l=this.pointerEnteredHelper[a];Lr(new Ui("pointerenter",!1,e,this,i,l))}if(i!=null&&Lr(new Ui("pointermove",!0,e,this,i)),this.prevIntersection=this.intersection,this.prevEnabled=this.enabled,!this.wasMoved){this.wasMoved=!0;const a=this.onFirstMove.length;for(let l=0;li){a.set(e.button,e.timeStamp);return}Lr(new Ui("dblclick",!0,e,this,this.intersection)),a.delete(e.button)}cancel(e){if(this.enabled){if(!this.wasMoved){this.onFirstMove.push(this.cancel.bind(this,e));return}this.intersection!=null&&Lr(new Ui("pointercancel",!0,e,this,this.intersection))}}wheel(e,t,i){if(!this.enabled)return;let r=this.intersection;if(i||(r=this.computeIntersection(e,t,this.pointerCapture)),!this.wasMoved&&i){this.onFirstMove.push(this.cancel.bind(this,t));return}r!=null&&Lr(new c5(t,this,r))}exit(e){var t;if(!this.wasMoved){this.onFirstMove.push(this.exit.bind(this,e));return}this.pointerCapture!=null&&((t=this.parentReleasePointerCapture)==null||t.call(this),this.pointerCapture=void 0),this.intersection=void 0,this.commit(e)}}function wB(n,e,t,i){if(n==null)return;const r=t.indexOf(n);r!=-1?t.splice(r,1):i.push(n),e.push(n),wB(n.parent,e,t,i)}function h5(n,e,t,i,r){if(e==null)return!1;const s=e.get(t);return!(s==null||i-s>r||s!=n.get(t))}function IS(n,e,t){return e.face==null?!1:(n.setFromNormalAndCoplanarPoint(e.face.normal,e.localPoint),n.applyMatrix4(t.matrixWorld),!0)}function f5(n,e,t,i,r,s){if(e==="none"||e==="listener"&&!n)return!1;if(t==="all")return!0;if(typeof t=="function")return t(i,r,s);let o,a;"deny"in t?(a=!0,o=t.deny):(a=!1,o=t.allow);let l;return Array.isArray(o)?l=o.includes(r):l=o===r,a?!l:l}function qg(n,e,t,i,r,s=!1,o,a){const l=s||a5(n),u=n.pointerEvents??o??"listener",f=n.pointerEventsType??a??"all";f5(l,u,f,e,t,i)&&r(n);const p=n.children.length;for(let m=0;m0)&&(n=o)}return n}function d5(n,e){const{pointerEventsOrder:t=0}=n.object,{pointerEventsOrder:i=0}=e.object;return t!=i?i-t:n.distance-e.distance}const Ys=new Nf,p5=new $e,dh=[];function m5(n,e,t,i,r,s,o,a){if(o!=null)return g5(n,e,o);let l;if(qg(t,i,r,s,u=>{let f=0;const d=((l==null?void 0:l.details.lineIndex)??e.length-2)+2;for(let p=1;p0;i--){const r=e[i-1],s=e[i];if(Gy.origin.copy(r).applyMatrix4(n),Gy.direction.copy(s).applyMatrix4(n).sub(Ys.ray.origin).normalize(),Gy.intersectPlane(t,GT)!=null)return GT.clone()}}const Vy=new Nf,Wy=new O,VT=new Ur,y5=new $e,Xy=[];function _5(n,e,t,i,r,s,o,a,l){if(a!=null)return x5(n,e,t,a);let u;if(Vy.ray.origin.copy(n),Vy.ray.direction.copy(t).applyQuaternion(e),qg(i,r,s,o,f=>{f.raycast(Vy,Xy),u=PS(u,Xy,l),Xy.length=0}),u!=null)return Object.assign(u,{details:{type:"ray"},pointerPosition:n.clone(),pointerQuaternion:e.clone(),pointOnFace:u.point,localPoint:u.point.clone().applyMatrix4(y5.copy(u.object.matrixWorld).invert())})}const WT=new vo;function x5(n,e,t,{intersection:i,object:r}){if(i.details.type!="ray")return;Wy.copy(t).applyQuaternion(e),WT.set(n,Wy),IS(VT,i,r);const s=WT.intersectPlane(VT,new O)??i.point;return{...i,object:r,pointOnFace:s,point:Wy.clone().multiplyScalar(i.distance).add(n),pointerPosition:n.clone(),pointerQuaternion:e.clone()}}const jy=new Vn,Jy=[];function TB(n,e,t,i,r,s,o,a,l){if(a!=null)return M5(n,e,a);let u;if(jy.center.copy(n),jy.radius=t,qg(i,r,s,o,f=>{S5(jy,f,Jy),u=PS(u,Jy,l),Jy.length=0}),u!=null)return Object.assign(u,{details:{type:"sphere"},pointOnFace:u.point,pointerPosition:n.clone(),pointerQuaternion:e.clone(),localPoint:u.point.clone().applyMatrix4(eg.copy(u.object.matrixWorld).invert())})}const qp=new $e;function A5(n){return"spherecast"in n}function S5(n,e,t){if(e.updateWorldMatrix(!0,!1),A5(e)){e.spherecast(n,t);return}if(e instanceof bf){e.geometry.boundingSphere==null&&e.geometry.computeBoundingSphere(),e.geometry.boundingBox==null&&e.geometry.computeBoundingBox();for(let r=0;rn.radius*n.radius)return;Ky.max(E5);const o=ju.center.clone().sub(YT);o.divide(Ky),w5(o);const a=$p.clone();return{distance:Math.sqrt(s),face:{a:0,b:0,c:0,materialIndex:0,normal:o},normal:o,point:a,instanceId:i,object:e}}function w5(n){const e=Math.abs(n.x),t=Math.abs(n.y),i=Math.abs(n.z);if(e>=t&&e>=i){n.set(n.x<0?-1:1,0,0);return}if(t>=e&&t>=i){n.set(0,n.y<0?-1:1,0);return}n.set(0,0,n.z<0?-1:1)}const kx={radius:.07};function T5(n,e,t=kx,i="grab"){const r=new O,s=new un,o=BS();return new bS(o,i,e,(a,l,u)=>{const f=n.current;if(f!=null)return f.updateWorldMatrix(!0,!1),r.setFromMatrixPosition(f.matrixWorld),s.setFromRotationMatrix(f.matrixWorld),TB(r,s,t.radius??kx.radius,a,o,i,e,u,t)},void 0,void 0,void 0,t)}const C5=new O(0,0,-1),Sh={direction:C5,minDistance:0,linePoints:null};function R5(n,e,t=Sh,i="ray"){const r=new O,s=new un,o=BS();return new bS(o,i,e,(a,l,u)=>{const f=n.current;if(f==null)return;f.updateWorldMatrix(!0,!1);let d;const p=t.linePoints??Sh.linePoints;if(p==null?(r.setFromMatrixPosition(f.matrixWorld),s.setFromRotationMatrix(f.matrixWorld),d=_5(r,s,t.direction??Sh.direction,a,o,i,e,u,t)):d=m5(f.matrixWorld,p,a,o,i,e,u,t),d!=null&&!(d.distance<(t.minDistance??Sh.minDistance)))return d},void 0,void 0,void 0,t)}const Ju={button:0,downRadius:.03,hoverRadius:.1};function b5(n,e,t=Ju,i="touch"){const r=new O,s=new un,o=BS();return new bS(o,i,e,(a,l,u)=>{const f=n.current;if(f!=null)return f.updateWorldMatrix(!0,!1),r.setFromMatrixPosition(f.matrixWorld),s.setFromRotationMatrix(f.matrixWorld),TB(r,s,t.hoverRadius??Ju.hoverRadius,a,o,i,e,u,t)},I5(t),void 0,void 0,t)}function I5(n=Ju){let e=!1;return t=>{if(!t.getEnabled())return;const i=t.getIntersection(),r=P5(i,n.downRadius??Ju.downRadius);if(r===e)return;const s={timeStamp:performance.now(),button:n.button??Ju.button};r?t.down(s):t.up(s),e=r}}function P5(n,e){return n==null?!1:n.distance<=e}let B5=23412;function BS(){return B5++}new O;new pe;let L5=class{constructor(){Nt(this,"pointers",[]);Nt(this,"isDefaults",[]);Nt(this,"enabled",!0)}register(e,t){return this.pointers.push(e),this.isDefaults.push(t),this.unregister.bind(this,e)}unregister(e){const t=this.pointers.indexOf(e);t!==-1&&(this.isDefaults.splice(t,1),this.pointers.splice(t,1))}move(e,t){var o,a;if(!this.enabled)return;const i=this.pointers.length;if(i===0)return;for(let l=0;l=n.lastChangedTime)return e;const t=new At;return t.setIndex(new xt(n.indices,1)),t.setAttribute("position",new xt(n.vertices,3)),Object.assign(t,{creationTime:n.lastChangedTime})}function qT(n,e){return e!=null&&e.createdAt!=null&&e.createdAt>=n.lastChangedTime?e:Object.assign(D5(n.polygon),{createdAt:n.lastChangedTime})}const ph=new xP,em=new pe;function D5(n){const e=new oa,t=n.map(({x:r,z:s})=>new pe(r,s));ph.setFromPoints(t),ph.getSize(em);for(const r of t)r.sub(ph.min),r.divide(em);e.setFromPoints(t);const i=new Df(e);return i.scale(em.x,em.y,1),i.translate(ph.min.x,ph.min.y,0),i.rotateX(Math.PI/2),i}new O;new O;new O;const mh=new ir(0,0,0,"YXZ"),tm=new un;function F5(n,e,t){n.matrixWorld.decompose(e.position,tm,e.scale),mh.setFromQuaternion(tm),mh.z=0,mh.x=Sm(mh.x-10*Math.PI/180,-Math.PI/2,1.1*Math.PI/4),tm.setFromEuler(mh),e.quaternion.slerp(tm,t/100)}function N5(n){return n.userData.teleportTarget===!0}function O5(n={}){return e=>!(!N5(e.object)||n.customFilter!=null&&!n.customFilter(e))}function U5(){return new Bg(new O(0,0,0),new O(0,0,-8),new O(0,-20,-15)).getPoints(20)}let k5=class extends an{constructor(t){const i=new z4,r=new Float32Array(t.length*3);for(let a=0;aa.distanceTo(t[l+1]))}update(t){if(!t.getEnabled()||t.getButtonsDown().size===0){this.visible=!1;return}this.visible=!0;const r=t.getIntersection();if((r==null?void 0:r.details.type)!="lines"){this.material.visibility=this.multiplier;return}const{distanceOnLine:s,lineIndex:o}=r.details,a=this.lineLengths[o];this.material.visibility=this.multiplier*(o+s/a)/this.lineLengths.length;const{color:l="white",opacity:u=.4,size:f=.01}=this.options;this.material.lineWidth=f,this.material.opacity=typeof u=="function"?u(t):u;const d=typeof l=="function"?l(t):l;Array.isArray(d)?this.material.color.set(...d):this.material.color.set(d),console.log(this.material.visibility,this.multiplier,o,a,s,this.lineLengths.length)}};const CB=new HV,RB="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles/",H5="generic-trigger";class z5{constructor(e){Nt(this,"baseAssetPath");Nt(this,"defaultProfileId");Nt(this,"profilesListPromise");Nt(this,"profilePromisesMap",new Map);Nt(this,"loadAsync",this.load);this.baseAssetPath=(e==null?void 0:e.baseAssetPath)??RB,this.defaultProfileId=(e==null?void 0:e.defaultControllerProfileId)??H5}async load(e,t){const i=await this.loadProfile(e);for(const r in i.layouts)if(r.includes(t))return i.layouts[r];throw new Error(`No matching layout for "${t}", in profile ${i.profileId} with layouts ${Object.keys(i.layouts).join(", ")}.`)}async loadProfile(e){this.profilesListPromise??(this.profilesListPromise=$T(new URL("profilesList.json",this.baseAssetPath).href));const t=await this.profilesListPromise,i=e.length;for(let s=0;s{const i=Q.useRef(null);return Q.useImperativeHandle(t,()=>i.current,[]),X5(i,n,(r,s,o)=>{i.current!=null&&(i.current.visible=o!=null)}),re.jsx("group",{visible:!1,matrixAutoUpdate:!1,ref:i,children:re.jsx($g.Provider,{value:n,children:e})})});function LB(){const n=Q.useContext($g);if(n==null)throw new Error("XR objects must be placed inside the XROrigin");return n}function W5(n){const e=LB();return Q.useMemo(()=>j8(n,e),[n,e])}function X5(n,e,t){const i=W5(e);Ai((r,s,o)=>{n.current!=null&&(i(n.current.matrix,o),t==null||t(r,s,o))},-100)}let j5=0;const eC=new Map;function Pl(n){let e=eC.get(n);return e==null&&eC.set(n,e=j5++),e}function J5(){return _i(n=>n.visibilityState)}function K5(n,e){const t=Q.useRef(e);t.current=e;const[i,r]=Q.useMemo(()=>{let s;return[o=>{let a=!1;return navigator.xr==null?(s=!1,()=>{}):(navigator.xr.isSessionSupported(n).then(l=>{s=l,!a&&o()}).catch(l=>{var u;a||(u=t.current)==null||u.call(t,l)}),()=>a=!0)},()=>s]},[n]);return Q.useSyncExternalStore(i,r)}function LS(n){const e=Q.useContext(Ds);if(e==null||e.type!="hand")throw new Error('useXRHandState() can only be used inside a or with using useXRHandState("left")');return e}const Y5=Symbol("loadXRHandModel"),Q5=Q.forwardRef((n,e)=>{const t=LS(),i=AS(C8,[t.assetPath,void 0,Y5]);R8(i,n),Q.useImperativeHandle(e,()=>i,[i]);const r=LB(),s=Q.useMemo(()=>B8(t.inputSource.hand,i,r),[t.inputSource,i,r]);return Ai((o,a,l)=>s(l)),re.jsx("primitive",{object:i})});Q.forwardRef(({joint:n,children:e},t)=>{const i=LS();return re.jsx(Jr,{ref:t,space:()=>i.inputSource.hand.get(n),children:e})});function DB({children:n}){const e=Q.useMemo(()=>new L5,[]);return NB(e),Ai(t=>e.move(t.scene,{timeStamp:performance.now()}),-50),re.jsx(BB.Provider,{value:e,children:n})}function Z5(n,e,t,i){const r=Q.useMemo(()=>({}),[]);Object.assign(r,kx,t);const s=Q.useMemo(()=>T5(n,e,r,i),[n,e,r,i]);return FS(s,t==null?void 0:t.makeDefault),s}function FB(n,e,t,i){const r=Q.useMemo(()=>({}),[]);Object.assign(r,Sh,t);const s=Q.useMemo(()=>R5(n,e,r,i),[n,e,r,i]);return FS(s,t==null?void 0:t.makeDefault),s}function q5(n,e,t,i){const r=Q.useMemo(()=>({}),[]);Object.assign(r,Ju,t);const s=Q.useMemo(()=>b5(n,e,r,i),[n,e,r,i]);return FS(s,t==null?void 0:t.makeDefault),s}const $5=Q.forwardRef((n,e)=>{const t=Q.useMemo(()=>new z8,[]),i=Q.useRef(null);return Q.useImperativeHandle(e,()=>i.current,[]),Ai(()=>i.current!=null&&G8(i.current,t,n.pointer,n)),re.jsx("mesh",{matrixAutoUpdate:!1,renderOrder:n.renderOrder??2,ref:i,material:t,children:re.jsx("boxGeometry",{})})}),ev=Q.forwardRef((n,e)=>{const t=Q.useMemo(()=>new U8,[]),i=Q.useRef(null);Q.useImperativeHandle(e,()=>i.current,[]),Ai(()=>i.current!=null&&H8(i.current,t,n.pointer,n));const r=qn(s=>s.scene);return Qg(re.jsx("mesh",{renderOrder:n.renderOrder??1,ref:i,matrixAutoUpdate:!1,material:t,children:re.jsx("planeGeometry",{})}),r)});function DS(n,e,t,i){const r=_i(s=>s.session);Q.useEffect(()=>{if(r!=null)return V8(n,r,e,t)},[t,e,n,r,i])}function FS(n,e=!1){const t=Q.useContext(BB);t==null?(NB(n),Ai(i=>n.move(i.scene,{timeStamp:performance.now()}),-50)):Q.useEffect(()=>t.register(n,e),[t,n,e]),Q.useEffect(()=>()=>n.exit({timeStamp:performance.now()}),[n])}function NB(n){const e=HB();Q.useEffect(()=>O8(e,t=>n.setEnabled(t,{timeStamp:performance.now()})),[e,n])}const e9=Q.forwardRef(({pointer:n,linePoints:e,...t},i)=>{const r=Q.useMemo(()=>new k5(e),[e]);return Q.useImperativeHandle(i,()=>r,[r]),r.options=t,Ai(()=>r.update(n)),re.jsx("primitive",{object:r})});function OB(n,e,t){const i=Q.useContext(Ds);if(i==null)throw new Error("DefaultXRInputSourceGrabPointer can only be used inside a XRInputSource");const r=Q.useRef(null),s=Z5(r,i,t);DS(s,i.inputSource,n);const o=t.cursorModel;return re.jsx(Jr,{ref:r,space:e(i.inputSource),children:o!==!1&&re.jsx(ev,{pointer:s,opacity:W8,...mi(o)})})}const t9=OB.bind(null,"select",n=>()=>n.hand.get("index-finger-tip")),n9=OB.bind(null,"squeeze",n=>n.gripSpace);function zf(n){const e=Q.useContext(Ds);if(e==null)throw new Error("DefaultXRInputSourceRayPointer can only be used inside a XRInputSource");const t=Q.useRef(null),i=FB(t,e,n);DS(i,e.inputSource,"select");const r=n.rayModel,s=n.cursorModel;return re.jsxs(Jr,{ref:t,space:e.inputSource.targetRaySpace,children:[r!==!1&&re.jsx($5,{pointer:i,opacity:$m,...mi(r)}),s!==!1&&re.jsx(ev,{pointer:i,opacity:$m,...mi(s)})]})}function i9(n){const e=LS(),t=Q.useRef(null),i=q5(t,e,n),r=n.cursorModel;return re.jsx(Jr,{ref:t,space:()=>e.inputSource.hand.get("index-finger-tip"),children:r!==!1&&re.jsx(ev,{pointer:i,opacity:X8,...mi(r)})})}function r9(n){const e=n.model,t=n.grabPointer,i=n.rayPointer,r=n.teleportPointer??!1;return re.jsxs(re.Fragment,{children:[e!==!1&&re.jsx(Q.Suspense,{children:re.jsx(A9,{...mi(e)})}),re.jsxs(DB,{children:[t!==!1&&re.jsx(n9,{...mi(t)}),i!==!1&&re.jsx(zf,{makeDefault:!0,minDistance:.2,...mi(i)}),r!==!1&&re.jsx(UB,{...mi(r)})]})]})}function s9(n){var a;const e=n.model,t=n.grabPointer,i=n.rayPointer,r=n.touchPointer,s=n.teleportPointer??!1,o=i===!1?!1:(a=mi(i))==null?void 0:a.rayModel;return re.jsxs(re.Fragment,{children:[e!==!1&&re.jsx(Q.Suspense,{children:re.jsx(Q5,{...mi(e)})}),re.jsxs(DB,{children:[t!==!1&&re.jsx(t9,{...mi(t)}),r!==!1&&re.jsx(i9,{...mi(r)}),i!==!1&&re.jsx(zf,{makeDefault:!0,minDistance:.2,...mi(i),rayModel:o===!1?!1:{maxLength:.2,...mi(o)}}),s!==!1&&re.jsx(UB,{...mi(s)})]})]})}function o9(n){return re.jsx(zf,{...n,rayModel:!1})}function a9(n){return re.jsx(zf,{...n,rayModel:!1})}function l9(n){return re.jsx(zf,{...n,cursorModel:!1,rayModel:!1})}function UB(n){const e=Q.useContext(Ds);if(e==null)throw new Error("DefaultXRInputSourceRayPointer can only be used inside a XRInputSource");const t=Q.useRef(null),i=Q.useRef(null),r=Q.useMemo(()=>U5(),[]),s=FB(i,e,{...n,linePoints:r,customFilter:O5(n)},"teleport");DS(s,e.inputSource,"select");const o=n.rayModel,a=n.cursorModel,l=qn(f=>f.scene),u=Q.useRef(null);return Ai((f,d)=>{u.current!=null&&(u.current.visible=s.getEnabled()&&s.getButtonsDown().size>0);const p=i.current,m=t.current;p==null||m==null||F5(m,p,d*1e3)}),re.jsxs(re.Fragment,{children:[re.jsx(Jr,{ref:t,space:e.inputSource.targetRaySpace}),Qg(re.jsxs("group",{ref:i,children:[o!==!1&&re.jsx(e9,{linePoints:r,pointer:s,opacity:$m,...mi(o)}),a!==!1&&re.jsx(ev,{ref:u,pointer:s,opacity:$m,...mi(a)})]}),l)]})}function mi(n){if(n!==!0)return n}function u9({children:n}){const e=qn(a=>a.gl.xr),t=_i(a=>a.origin),i=Q.useCallback(()=>e.getReferenceSpace(),[e]),r=J5()==="visible",s=Uf(),o=Q.useMemo(()=>Object.assign({},s,{getState(){return{...s.getState(),scene:t}}}),[t,s]);return t==null?null:re.jsx(re.Fragment,{children:ac.createPortal(re.jsx(Yg.Provider,{value:s,children:re.jsxs($g.Provider,{value:i,children:[re.jsxs("group",{matrixAutoUpdate:!1,visible:r,children:[re.jsx(c9,{}),re.jsx(h9,{}),re.jsx(f9,{}),re.jsx(d9,{}),re.jsx(p9,{})]}),re.jsx(m9,{}),re.jsx(g9,{}),n]})}),o,null)})}function c9(){const n=_i(t=>t.controllerStates);let e=_i(t=>t.controller);return e===!1?null:re.jsx(re.Fragment,{children:n.map(t=>{const i=Jo(e,t.inputSource.handedness,{});return i===!1?null:re.jsx(Jr,{space:t.inputSource.gripSpace,children:re.jsx(Ds.Provider,{value:t,children:re.jsx(Q.Suspense,{children:typeof i=="function"?re.jsx(i,{}):re.jsx(r9,{...i})})})},Pl(t))})})}function h9(){const n=_i(t=>t.handStates),e=_i(t=>t.hand);return e===!1?null:re.jsx(re.Fragment,{children:n.map(t=>{const i=Jo(e,t.inputSource.handedness,{});return i===!1?null:re.jsx(Jr,{space:()=>t.inputSource.hand.get("wrist"),children:re.jsx(Ds.Provider,{value:t,children:re.jsx(Q.Suspense,{children:typeof i=="function"?re.jsx(i,{}):re.jsx(s9,{...i})})})},Pl(t))})})}function f9(){const n=_i(t=>t.transientPointerStates),e=_i(t=>t.transientPointer);return e===!1?null:re.jsx(re.Fragment,{children:n.map(t=>{const i=Jo(e,t.inputSource.handedness,{});return i===!1?null:re.jsx(Jr,{space:()=>t.inputSource.targetRaySpace,children:re.jsx(Ds.Provider,{value:t,children:re.jsx(Q.Suspense,{children:typeof i=="function"?re.jsx(i,{}):re.jsx(o9,{...i})})})},Pl(t))})})}function d9(){const n=_i(t=>t.gazeStates),e=_i(t=>t.gaze);return e===!1?null:re.jsx(re.Fragment,{children:n.map(t=>re.jsx(Jr,{space:()=>t.inputSource.targetRaySpace,children:re.jsx(Ds.Provider,{value:t,children:re.jsx(Q.Suspense,{children:typeof e=="function"?re.jsx(e,{}):re.jsx(a9,{...kB(e)})})})},Pl(t)))})}function p9(){const n=_i(t=>t.screenInputStates),e=_i(t=>t.screenInput);return e===!1?null:re.jsx(re.Fragment,{children:n.map(t=>re.jsx(Jr,{space:()=>t.inputSource.targetRaySpace,children:re.jsx(Ds.Provider,{value:t,children:re.jsx(Q.Suspense,{children:typeof e=="function"?re.jsx(e,{}):re.jsx(l9,{...kB(e)})})})},Pl(t)))})}function kB(n){if(n!==!0)return n}function m9(){const n=_i(t=>t.detectedMeshes),e=_i(t=>t.detectedMesh);if(e!==!1)return re.jsx(re.Fragment,{children:n.map(t=>{const i=_B(e,t.semanticLabel,!1);return i===!1?null:re.jsx(Jr,{space:t.meshSpace,children:re.jsx(IB.Provider,{value:t,children:re.jsx(Q.Suspense,{children:re.jsx(i,{})})})},Pl(t))})})}function g9(){const n=_i(t=>t.detectedPlanes),e=_i(t=>t.detectedPlane);if(e!=null)return re.jsx(re.Fragment,{children:n.map(t=>{const i=_B(e,t.semanticLabel,!1);return i===!1?null:re.jsx(Jr,{space:t.planeSpace,children:re.jsx(PB.Provider,{value:t,children:re.jsx(Q.Suspense,{children:re.jsx(i,{})})})},Pl(t))})})}function v9(n){return Y8(n)}function y9({children:n,store:e}){e.setWebXRManager(qn(i=>i.gl.xr));const t=Uf();return Q.useEffect(()=>{let i;return e.subscribe((r,s)=>{const o=r.mode!=null,a=s.mode!=null;if(o!==a){if(o){const{camera:l,gl:u}=t.getState();i=l,t.setState({camera:u.xr.getCamera()});return}i!=null&&t.setState({camera:i})}})},[t,e]),Ai((i,r,s)=>e.onBeforeFrame(i.scene,i.camera,s),-1e3),re.jsxs(bB.Provider,{value:e,children:[re.jsx(u9,{}),n]})}function HB(){const n=Q.useContext(bB);if(n==null)throw new Error("XR features can only be used inside the component");return n}function _i(n=e=>e){return dB(HB(),n)}Q.forwardRef(({id:n,children:e,onPress:t,onRelease:i},r)=>{const s=NS(),[o,a]=Q.useState(void 0);if(Q.useImperativeHandle(r,()=>o,[o]),_9(n,l=>l==="pressed"?t==null?void 0:t():i==null?void 0:i()),Ai(()=>{var l;return a((l=s.gamepad[n])==null?void 0:l.object)}),o!=null)return Qg(e,o)});function _9(n,e,t){const i=NS(),r=Q.useRef();Ai(()=>{var o;const s=(o=i==null?void 0:i.gamepad[n])==null?void 0:o.state;s!=null&&s!=r.current&&e(s),r.current=s})}function NS(n){const e=Q.useContext(Ds);if(e==null||e.type!="controller")throw new Error('useXRControllerState() can only be used inside a or using useXRControllerState("left")');return e}const x9=Symbol("loadXRControllerModel"),A9=Q.forwardRef((n,e)=>{const t=NS(),i=AS(n5,[t.layout,void 0,x9]);i5(i,n),t.object=i,Q.useImperativeHandle(e,()=>i,[i]);const r=Q.useMemo(()=>r5(i,t.layout,t.gamepad),[i,t.layout,t.gamepad]);return Ai(r),re.jsx("primitive",{object:i})});Q.forwardRef((n,e)=>{const t=S9(),i=M9(t);return re.jsx("mesh",{ref:e,geometry:i,...n})});function S9(){const n=Q.useContext(IB);if(n==null)throw new Error("useXRMesh can only be used inside XRMesh or ForEachXRMesh");return n}function M9(n,e=!0){const[t,i]=Q.useState(ZT(n,void 0));return Ai(()=>i(r=>ZT(n,r))),Q.useEffect(()=>{if(e)return()=>t.dispose()},[t]),t}Q.forwardRef((n,e)=>{const t=E9(),i=w9(t);return re.jsx("mesh",{ref:e,geometry:i,...n})});function E9(){const n=Q.useContext(PB);if(n==null)throw new Error("useXRPlane can only be used inside XRPlane or ForEachXRPlane");return n}function w9(n,e=!0){const[t,i]=Q.useState(qT(n,void 0));return Ai(()=>i(r=>qT(n,r))),Q.useEffect(()=>{if(e)return()=>t.dispose()},[t]),t}const T9=Q.forwardRef(({children:n,...e},t)=>{const i=qn(o=>o.gl.xr.getCamera()),r=qn(o=>o.gl.xr),s=Q.useCallback(()=>r.getReferenceSpace(),[r]);return re.jsxs("group",{ref:t,...e,children:[re.jsx("primitive",{object:i}),re.jsx($g.Provider,{value:s,children:n})]})}),zB=Q.forwardRef(({store:n,mode:e,onError:t,options:i,children:r,...s},o)=>{const a=dB(n,u=>u.session),l=K5(e,t);return re.jsx("button",{ref:o,...s,onClick:()=>a!=null?a.end():n.enterXR(e,i).catch(t),children:typeof r=="function"?r(l?a!=null?"entered":"exited":"unsupported"):r})});Q.forwardRef((n,e)=>re.jsx(zB,{ref:e,mode:"immersive-ar",...n}));Q.forwardRef((n,e)=>re.jsx(zB,{ref:e,mode:"immersive-vr",...n}));const C9={onBlur:"pointerleave",onHover:"pointerenter",onMove:"pointermove",onSelect:{type:"click",filter:n=>n.pointerType==="ray"},onSelectEnd:{type:"pointerup",filter:n=>n.pointerType==="ray"},onSelectStart:{type:"pointerdown",filter:n=>n.pointerType==="ray"},onSqueeze:{type:"click",filter:n=>n.pointerType==="grab"},onSqueezeEnd:{type:"pointerup",filter:n=>n.pointerType==="grab"},onSqueezeStart:{type:"pointerdown",filter:n=>n.pointerType==="grab"}};function Ks(n,e,t){const i=Q.useRef(t);i.current=t,Q.useEffect(()=>{const{current:r}=n;if(r==null)return;const s=C9[e],o=typeof s=="string"?l=>{var u;return(u=i.current)==null?void 0:u.call(i,{intersection:l,intersections:[l],target:l.pointerState})}:l=>{var u;l instanceof Ui&&!s.filter(l)||(u=i.current)==null||u.call(i,{intersection:l,intersections:[l],target:l.pointerState})},a=typeof s=="string"?s:s.type;return r.addEventListener(a,o),()=>r.removeEventListener(a,o)},[n,e])}const R9=Q.forwardRef(({onHover:n,onBlur:e,onSelectStart:t,onSelectEnd:i,onSelect:r,onSqueezeStart:s,onSqueezeEnd:o,onSqueeze:a,onMove:l,children:u},f)=>{const d=Q.useRef(null);return Q.useImperativeHandle(f,()=>d.current),Ks(d,"onHover",n),Ks(d,"onBlur",e),Ks(d,"onSelectStart",t),Ks(d,"onSelectEnd",i),Ks(d,"onSelect",r),Ks(d,"onSqueezeStart",s),Ks(d,"onSqueezeEnd",o),Ks(d,"onSqueeze",a),Ks(d,"onMove",l),re.jsx("group",{ref:d,children:u})});Q.forwardRef(function({onSelectStart:e,onSelectEnd:t,children:i,...r},s){const o=Q.useRef(),a=Q.useRef(null),l=Q.useMemo(()=>new $e,[]);return Q.useImperativeHandle(s,()=>a.current),Ai(()=>{const u=o.current,f=a.current;!f||!u||(f.applyMatrix4(l),f.applyMatrix4(u.matrixWorld),f.updateMatrixWorld(),l.copy(u.matrixWorld).invert())}),re.jsx(R9,{ref:a,onSelectStart:u=>{L8(u.target)&&(u.target.type==="controller"||u.target.type==="hand")&&u.target.object!=null&&(o.current=u.target.object,l.copy(u.target.object.matrixWorld).invert(),e==null||e(u))},onSelectEnd:u=>{u.target.controller===o.current&&(o.current=void 0),t==null||t(u)},...r,children:i})});const tC=v9();function b9(){return re.jsxs(re.Fragment,{children:[re.jsx("button",{onClick:()=>tC.enterAR(),children:"Enter AR"}),re.jsx(BG,{shadows:!0,camera:{position:[4,0,6],fov:35},children:re.jsxs(y9,{store:tC,children:[re.jsxs("group",{position:[0,-.75,0],children:[re.jsx(Q.Suspense,{children:re.jsx(K4,{top:!0,children:re.jsx(UV,{})})}),re.jsx("directionalLight",{position:[1,8,1],castShadow:!0}),re.jsx("ambientLight",{}),re.jsxs("mesh",{receiveShadow:!0,"rotation-x":-Math.PI/2,scale:100,children:[re.jsx("shadowMaterial",{opacity:.7}),re.jsx("planeGeometry",{})]}),re.jsx("group",{position:[0,0,2.6],children:re.jsx(T9,{})})]}),re.jsx(J4,{}),re.jsx(hV,{preset:"dawn",blur:1})]})})]})}pb(document.getElementById("root")).render(re.jsx(Q.StrictMode,{children:re.jsx(b9,{})})); diff --git a/examples/stage/cobra-transformed.glb b/examples/stage/cobra-transformed.glb new file mode 100644 index 00000000..53c87e48 Binary files /dev/null and b/examples/stage/cobra-transformed.glb differ diff --git a/examples/stage/datsun-transformed.glb b/examples/stage/datsun-transformed.glb new file mode 100644 index 00000000..9d44f168 Binary files /dev/null and b/examples/stage/datsun-transformed.glb differ diff --git a/examples/stage/index.html b/examples/stage/index.html new file mode 100644 index 00000000..95b4611a --- /dev/null +++ b/examples/stage/index.html @@ -0,0 +1,12 @@ + + + + + + Document + + + +
+ + \ No newline at end of file diff --git a/examples/watch/assets/index-DGwaVk4U.js b/examples/watch/assets/index-DGwaVk4U.js new file mode 100644 index 00000000..ac2fdf1c --- /dev/null +++ b/examples/watch/assets/index-DGwaVk4U.js @@ -0,0 +1,4037 @@ +var kB=Object.defineProperty;var HB=(n,e,t)=>e in n?kB(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var _t=(n,e,t)=>(HB(n,typeof e!="symbol"?e+"":e,t),t);(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 Rm(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var vT={exports:{}},bm={},yT={exports:{}},Ct={};/** + * @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 Vf=Symbol.for("react.element"),GB=Symbol.for("react.portal"),zB=Symbol.for("react.fragment"),VB=Symbol.for("react.strict_mode"),WB=Symbol.for("react.profiler"),XB=Symbol.for("react.provider"),JB=Symbol.for("react.context"),jB=Symbol.for("react.forward_ref"),KB=Symbol.for("react.suspense"),YB=Symbol.for("react.memo"),QB=Symbol.for("react.lazy"),BM=Symbol.iterator;function qB(n){return n===null||typeof n!="object"?null:(n=BM&&n[BM]||n["@@iterator"],typeof n=="function"?n:null)}var _T={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},xT=Object.assign,AT={};function ku(n,e,t){this.props=n,this.context=e,this.refs=AT,this.updater=t||_T}ku.prototype.isReactComponent={};ku.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")};ku.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function ST(){}ST.prototype=ku.prototype;function lx(n,e,t){this.props=n,this.context=e,this.refs=AT,this.updater=t||_T}var ux=lx.prototype=new ST;ux.constructor=lx;xT(ux,ku.prototype);ux.isPureReactComponent=!0;var LM=Array.isArray,MT=Object.prototype.hasOwnProperty,cx={current:null},ET={key:!0,ref:!0,__self:!0,__source:!0};function wT(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)MT.call(e,i)&&!ET.hasOwnProperty(i)&&(r[i]=e[i]);var a=arguments.length-2;if(a===1)r.children=t;else if(1>>1,Me=N[oe];if(0>>1;oer(ye,G))Cer(Ae,ye)?(N[oe]=Ae,N[Ce]=G,oe=Ce):(N[oe]=ye,N[te]=G,oe=te);else if(Cer(Ae,G))N[oe]=Ae,N[Ce]=G,oe=Ce;else break e}}return V}function r(N,V){var G=N.sortIndex-V.sortIndex;return G!==0?G:N.id-V.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=[],c=[],h=1,d=null,p=3,m=!1,y=!1,S=!1,_=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,A=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function M(N){for(var V=t(c);V!==null;){if(V.callback===null)i(c);else if(V.startTime<=N)i(c),V.sortIndex=V.expirationTime,e(l,V);else break;V=t(c)}}function w(N){if(S=!1,M(N),!y)if(t(l)!==null)y=!0,ce(I);else{var V=t(c);V!==null&&ge(w,V.startTime-N)}}function I(N,V){y=!1,S&&(S=!1,v(D),D=-1),m=!0;var G=p;try{for(M(V),d=t(l);d!==null&&(!(d.expirationTime>V)||N&&!O());){var oe=d.callback;if(typeof oe=="function"){d.callback=null,p=d.priorityLevel;var Me=oe(d.expirationTime<=V);V=n.unstable_now(),typeof Me=="function"?d.callback=Me:d===t(l)&&i(l),M(V)}else i(l);d=t(l)}if(d!==null)var ze=!0;else{var te=t(c);te!==null&&ge(w,te.startTime-V),ze=!1}return ze}finally{d=null,p=G,m=!1}}var R=!1,P=null,D=-1,b=5,C=-1;function O(){return!(n.unstable_now()-CN||125oe?(N.sortIndex=G,e(c,N),t(l)===null&&N===t(c)&&(S?(v(D),D=-1):S=!0,ge(w,G-oe))):(N.sortIndex=Me,e(l,N),y||m||(y=!0,ce(I))),N},n.unstable_shouldYield=O,n.unstable_wrapCallback=function(N){var V=p;return function(){var G=p;p=V;try{return N.apply(this,arguments)}finally{p=G}}}})(PT);bT.exports=PT;var uL=bT.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 cL=Y,er=uL;function Se(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"),Ay=Object.prototype.hasOwnProperty,fL=/^[: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]*$/,FM={},NM={};function hL(n){return Ay.call(NM,n)?!0:Ay.call(FM,n)?!1:fL.test(n)?NM[n]=!0:(FM[n]=!0,!1)}function dL(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 pL(n,e,t,i){if(e===null||typeof e>"u"||dL(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 wi(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 Qn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){Qn[n]=new wi(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];Qn[e]=new wi(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){Qn[n]=new wi(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){Qn[n]=new wi(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){Qn[n]=new wi(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){Qn[n]=new wi(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){Qn[n]=new wi(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){Qn[n]=new wi(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){Qn[n]=new wi(n,5,!1,n.toLowerCase(),null,!1,!1)});var hx=/[\-:]([a-z])/g;function dx(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(hx,dx);Qn[e]=new wi(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(hx,dx);Qn[e]=new wi(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(hx,dx);Qn[e]=new wi(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){Qn[n]=new wi(n,1,!1,n.toLowerCase(),null,!1,!1)});Qn.xlinkHref=new wi("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){Qn[n]=new wi(n,1,!1,n.toLowerCase(),null,!0,!0)});function px(n,e,t,i){var r=Qn.hasOwnProperty(e)?Qn[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{N0=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?Wc(n):""}function mL(n){switch(n.tag){case 5:return Wc(n.type);case 16:return Wc("Lazy");case 13:return Wc("Suspense");case 19:return Wc("SuspenseList");case 0:case 2:case 15:return n=U0(n.type,!1),n;case 11:return n=U0(n.type.render,!1),n;case 1:return n=U0(n.type,!0),n;default:return""}}function wy(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 $l:return"Fragment";case Zl:return"Portal";case Sy:return"Profiler";case mx:return"StrictMode";case My:return"Suspense";case Ey:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case LT:return(n.displayName||"Context")+".Consumer";case BT:return(n._context.displayName||"Context")+".Provider";case gx:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case vx:return e=n.displayName||null,e!==null?e:wy(n.type)||"Memo";case yo:e=n._payload,n=n._init;try{return wy(n(e))}catch{}}return null}function gL(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 wy(e);case 8:return e===mx?"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 Oo(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function FT(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function vL(n){var e=FT(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 hd(n){n._valueTracker||(n._valueTracker=vL(n))}function NT(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=FT(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function Yp(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 Ty(n,e){var t=e.checked;return cn({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function OM(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=Oo(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 UT(n,e){e=e.checked,e!=null&&px(n,"checked",e,!1)}function Cy(n,e){UT(n,e);var t=Oo(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")?Ry(n,e.type,t):e.hasOwnProperty("defaultValue")&&Ry(n,e.type,Oo(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function kM(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 Ry(n,e,t){(e!=="number"||Yp(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var Xc=Array.isArray;function pu(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=dd.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function hf(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var qc={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},yL=["Webkit","ms","Moz","O"];Object.keys(qc).forEach(function(n){yL.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),qc[e]=qc[n]})});function GT(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||qc.hasOwnProperty(n)&&qc[n]?(""+e).trim():e+"px"}function zT(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=GT(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var _L=cn({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 Iy(n,e){if(e){if(_L[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Se(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Se(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Se(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Se(62))}}function By(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 Ly=null;function yx(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var Dy=null,mu=null,gu=null;function zM(n){if(n=Jf(n)){if(typeof Dy!="function")throw Error(Se(280));var e=n.stateNode;e&&(e=Dm(e),Dy(n.stateNode,n.type,e))}}function VT(n){mu?gu?gu.push(n):gu=[n]:mu=n}function WT(){if(mu){var n=mu,e=gu;if(gu=mu=null,zM(n),e)for(n=0;n>>=0,n===0?32:31-(PL(n)/IL|0)|0}var pd=64,md=4194304;function Jc(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 $p(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=Jc(a):(s&=o,s!==0&&(i=Jc(s)))}else o=t&~r,o!==0?i=Jc(o):s!==0&&(i=Jc(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 Wf(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-Gr(e),n[e]=t}function FL(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=$c),qM=" ",ZM=!1;function cC(n,e){switch(n){case"keyup":return u2.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function fC(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var eu=!1;function f2(n,e){switch(n){case"compositionend":return fC(e);case"keypress":return e.which!==32?null:(ZM=!0,qM);case"textInput":return n=e.data,n===qM&&ZM?null:n;default:return null}}function h2(n,e){if(eu)return n==="compositionend"||!Tx&&cC(n,e)?(n=lC(),Ip=Mx=wo=null,eu=!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=n1(t)}}function mC(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?mC(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function gC(){for(var n=window,e=Yp();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=Yp(n.document)}return e}function Cx(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 A2(n){var e=gC(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&mC(t.ownerDocument.documentElement,t)){if(i!==null&&Cx(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=i1(t,s);var o=i1(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,tu=null,Hy=null,tf=null,Gy=!1;function r1(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;Gy||tu==null||tu!==Yp(i)||(i=tu,"selectionStart"in i&&Cx(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}),tf&&yf(tf,i)||(tf=i,i=nm(Hy,"onSelect"),0ru||(n.current=jy[ru],jy[ru]=null,ru--)}function Xt(n,e){ru++,jy[ru]=n.current,n.current=e}var ko={},fi=Vo(ko),Ni=Vo(!1),Ga=ko;function Tu(n,e){var t=n.type.contextTypes;if(!t)return ko;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 Ui(n){return n=n.childContextTypes,n!=null}function rm(){Qt(Ni),Qt(fi)}function f1(n,e,t){if(fi.current!==ko)throw Error(Se(168));Xt(fi,e),Xt(Ni,t)}function wC(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(Se(108,gL(n)||"Unknown",r));return cn({},t,i)}function sm(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||ko,Ga=fi.current,Xt(fi,n),Xt(Ni,Ni.current),!0}function h1(n,e,t){var i=n.stateNode;if(!i)throw Error(Se(169));t?(n=wC(n,e,Ga),i.__reactInternalMemoizedMergedChildContext=n,Qt(Ni),Qt(fi),Xt(fi,n)):Qt(Ni),Xt(Ni,t)}var Ps=null,Fm=!1,q0=!1;function TC(n){Ps===null?Ps=[n]:Ps.push(n)}function L2(n){Fm=!0,TC(n)}function Wo(){if(!q0&&Ps!==null){q0=!0;var n=0,e=kt;try{var t=Ps;for(kt=1;n>=o,r-=o,Ls=1<<32-Gr(e)+r|t<D?(b=P,P=null):b=P.sibling;var C=p(v,P,M[D],w);if(C===null){P===null&&(P=b);break}n&&P&&C.alternate===null&&e(v,P),A=s(C,A,D),R===null?I=C:R.sibling=C,R=C,P=b}if(D===M.length)return t(v,P),en&&xa(v,D),I;if(P===null){for(;DD?(b=P,P=null):b=P.sibling;var O=p(v,P,C.value,w);if(O===null){P===null&&(P=b);break}n&&P&&O.alternate===null&&e(v,P),A=s(O,A,D),R===null?I=O:R.sibling=O,R=O,P=b}if(C.done)return t(v,P),en&&xa(v,D),I;if(P===null){for(;!C.done;D++,C=M.next())C=d(v,C.value,w),C!==null&&(A=s(C,A,D),R===null?I=C:R.sibling=C,R=C);return en&&xa(v,D),I}for(P=i(v,P);!C.done;D++,C=M.next())C=m(P,v,D,C.value,w),C!==null&&(n&&C.alternate!==null&&P.delete(C.key===null?D:C.key),A=s(C,A,D),R===null?I=C:R.sibling=C,R=C);return n&&P.forEach(function(J){return e(v,J)}),en&&xa(v,D),I}function _(v,A,M,w){if(typeof M=="object"&&M!==null&&M.type===$l&&M.key===null&&(M=M.props.children),typeof M=="object"&&M!==null){switch(M.$$typeof){case fd:e:{for(var I=M.key,R=A;R!==null;){if(R.key===I){if(I=M.type,I===$l){if(R.tag===7){t(v,R.sibling),A=r(R,M.props.children),A.return=v,v=A;break e}}else if(R.elementType===I||typeof I=="object"&&I!==null&&I.$$typeof===yo&&m1(I)===R.type){t(v,R.sibling),A=r(R,M.props),A.ref=xc(v,R,M),A.return=v,v=A;break e}t(v,R);break}else e(v,R);R=R.sibling}M.type===$l?(A=Fa(M.props.children,v.mode,w,M.key),A.return=v,v=A):(w=kp(M.type,M.key,M.props,null,v.mode,w),w.ref=xc(v,A,M),w.return=v,v=w)}return o(v);case Zl:e:{for(R=M.key;A!==null;){if(A.key===R)if(A.tag===4&&A.stateNode.containerInfo===M.containerInfo&&A.stateNode.implementation===M.implementation){t(v,A.sibling),A=r(A,M.children||[]),A.return=v,v=A;break e}else{t(v,A);break}else e(v,A);A=A.sibling}A=sv(M,v.mode,w),A.return=v,v=A}return o(v);case yo:return R=M._init,_(v,A,R(M._payload),w)}if(Xc(M))return y(v,A,M,w);if(mc(M))return S(v,A,M,w);Sd(v,M)}return typeof M=="string"&&M!==""||typeof M=="number"?(M=""+M,A!==null&&A.tag===6?(t(v,A.sibling),A=r(A,M),A.return=v,v=A):(t(v,A),A=rv(M,v.mode,w),A.return=v,v=A),o(v)):t(v,A)}return _}var Ru=PC(!0),IC=PC(!1),lm=Vo(null),um=null,au=null,Ix=null;function Bx(){Ix=au=um=null}function Lx(n){var e=lm.current;Qt(lm),n._currentValue=e}function Qy(n,e,t){for(;n!==null;){var i=n.alternate;if((n.childLanes&e)!==e?(n.childLanes|=e,i!==null&&(i.childLanes|=e)):i!==null&&(i.childLanes&e)!==e&&(i.childLanes|=e),n===t)break;n=n.return}}function yu(n,e){um=n,Ix=au=null,n=n.dependencies,n!==null&&n.firstContext!==null&&(n.lanes&e&&(Bi=!0),n.firstContext=null)}function Sr(n){var e=n._currentValue;if(Ix!==n)if(n={context:n,memoizedValue:e,next:null},au===null){if(um===null)throw Error(Se(308));au=n,um.dependencies={lanes:0,firstContext:n}}else au=au.next=n;return e}var Ta=null;function Dx(n){Ta===null?Ta=[n]:Ta.push(n)}function BC(n,e,t,i){var r=e.interleaved;return r===null?(t.next=t,Dx(e)):(t.next=r.next,r.next=t),e.interleaved=t,Gs(n,i)}function Gs(n,e){n.lanes|=e;var t=n.alternate;for(t!==null&&(t.lanes|=e),t=n,n=n.return;n!==null;)n.childLanes|=e,t=n.alternate,t!==null&&(t.childLanes|=e),t=n,n=n.return;return t.tag===3?t.stateNode:null}var _o=!1;function Fx(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function LC(n,e){n=n.updateQueue,e.updateQueue===n&&(e.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,effects:n.effects})}function Ns(n,e){return{eventTime:n,lane:e,tag:0,payload:null,callback:null,next:null}}function Bo(n,e,t){var i=n.updateQueue;if(i===null)return null;if(i=i.shared,Pt&2){var r=i.pending;return r===null?e.next=e:(e.next=r.next,r.next=e),i.pending=e,Gs(n,t)}return r=i.interleaved,r===null?(e.next=e,Dx(i)):(e.next=r.next,r.next=e),i.interleaved=e,Gs(n,t)}function Lp(n,e,t){if(e=e.updateQueue,e!==null&&(e=e.shared,(t&4194240)!==0)){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,xx(n,t)}}function g1(n,e){var t=n.updateQueue,i=n.alternate;if(i!==null&&(i=i.updateQueue,t===i)){var r=null,s=null;if(t=t.firstBaseUpdate,t!==null){do{var o={eventTime:t.eventTime,lane:t.lane,tag:t.tag,payload:t.payload,callback:t.callback,next:null};s===null?r=s=o:s=s.next=o,t=t.next}while(t!==null);s===null?r=s=e:s=s.next=e}else r=s=e;t={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:s,shared:i.shared,effects:i.effects},n.updateQueue=t;return}n=t.lastBaseUpdate,n===null?t.firstBaseUpdate=e:n.next=e,t.lastBaseUpdate=e}function cm(n,e,t,i){var r=n.updateQueue;_o=!1;var s=r.firstBaseUpdate,o=r.lastBaseUpdate,a=r.shared.pending;if(a!==null){r.shared.pending=null;var l=a,c=l.next;l.next=null,o===null?s=c:o.next=c,o=l;var h=n.alternate;h!==null&&(h=h.updateQueue,a=h.lastBaseUpdate,a!==o&&(a===null?h.firstBaseUpdate=c:a.next=c,h.lastBaseUpdate=l))}if(s!==null){var d=r.baseState;o=0,h=c=l=null,a=s;do{var p=a.lane,m=a.eventTime;if((i&p)===p){h!==null&&(h=h.next={eventTime:m,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var y=n,S=a;switch(p=e,m=t,S.tag){case 1:if(y=S.payload,typeof y=="function"){d=y.call(m,d,p);break e}d=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=S.payload,p=typeof y=="function"?y.call(m,d,p):y,p==null)break e;d=cn({},d,p);break e;case 2:_o=!0}}a.callback!==null&&a.lane!==0&&(n.flags|=64,p=r.effects,p===null?r.effects=[a]:p.push(a))}else m={eventTime:m,lane:p,tag:a.tag,payload:a.payload,callback:a.callback,next:null},h===null?(c=h=m,l=d):h=h.next=m,o|=p;if(a=a.next,a===null){if(a=r.shared.pending,a===null)break;p=a,a=p.next,p.next=null,r.lastBaseUpdate=p,r.shared.pending=null}}while(!0);if(h===null&&(l=d),r.baseState=l,r.firstBaseUpdate=c,r.lastBaseUpdate=h,e=r.shared.interleaved,e!==null){r=e;do o|=r.lane,r=r.next;while(r!==e)}else s===null&&(r.shared.lanes=0);Wa|=o,n.lanes=o,n.memoizedState=d}}function v1(n,e,t){if(n=e.effects,e.effects=null,n!==null)for(e=0;et?t:4,n(!0);var i=$0.transition;$0.transition={};try{n(!1),e()}finally{kt=t,$0.transition=i}}function QC(){return Mr().memoizedState}function U2(n,e,t){var i=Do(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},qC(n))ZC(e,t);else if(t=BC(n,e,t,i),t!==null){var r=Ai();zr(t,n,i,r),$C(t,e,i)}}function O2(n,e,t){var i=Do(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(qC(n))ZC(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,Vr(a,o)){var l=e.interleaved;l===null?(r.next=r,Dx(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}t=BC(n,e,r,i),t!==null&&(r=Ai(),zr(t,n,i,r),$C(t,e,i))}}function qC(n){var e=n.alternate;return n===un||e!==null&&e===un}function ZC(n,e){nf=hm=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function $C(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,xx(n,t)}}var dm={readContext:Sr,useCallback:si,useContext:si,useEffect:si,useImperativeHandle:si,useInsertionEffect:si,useLayoutEffect:si,useMemo:si,useReducer:si,useRef:si,useState:si,useDebugValue:si,useDeferredValue:si,useTransition:si,useMutableSource:si,useSyncExternalStore:si,useId:si,unstable_isNewReconciler:!1},k2={readContext:Sr,useCallback:function(n,e){return is().memoizedState=[n,e===void 0?null:e],n},useContext:Sr,useEffect:_1,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,Fp(4194308,4,XC.bind(null,e,n),t)},useLayoutEffect:function(n,e){return Fp(4194308,4,n,e)},useInsertionEffect:function(n,e){return Fp(4,2,n,e)},useMemo:function(n,e){var t=is();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=is();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=U2.bind(null,un,n),[i.memoizedState,n]},useRef:function(n){var e=is();return n={current:n},e.memoizedState=n},useState:y1,useDebugValue:Vx,useDeferredValue:function(n){return is().memoizedState=n},useTransition:function(){var n=y1(!1),e=n[0];return n=N2.bind(null,n[1]),is().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=un,r=is();if(en){if(t===void 0)throw Error(Se(407));t=t()}else{if(t=e(),zn===null)throw Error(Se(349));Va&30||UC(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,_1(kC.bind(null,i,s,n),[n]),i.flags|=2048,Tf(9,OC.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=is(),e=zn.identifierPrefix;if(en){var t=Ds,i=Ls;t=(i&~(1<<32-Gr(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=Ef++,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[rs]=e,n[Af]=i,uR(n,e,!1,!1),e.stateNode=n;e:{switch(o=By(t,i),t){case"dialog":Yt("cancel",n),Yt("close",n),r=i;break;case"iframe":case"object":case"embed":Yt("load",n),r=i;break;case"video":case"audio":for(r=0;rIu&&(e.flags|=128,i=!0,Ac(s,!1),e.lanes=4194304)}else{if(!i)if(n=fm(o),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),Ac(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!en)return oi(e),null}else 2*yn()-s.renderingStartTime>Iu&&t!==1073741824&&(e.flags|=128,i=!0,Ac(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=yn(),e.sibling=null,t=an.current,Xt(an,i?t&1|2:t&1),e):(oi(e),null);case 22:case 23:return Yx(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?Ki&1073741824&&(oi(e),e.subtreeFlags&6&&(e.flags|=8192)):oi(e),null;case 24:return null;case 25:return null}throw Error(Se(156,e.tag))}function j2(n,e){switch(bx(e),e.tag){case 1:return Ui(e.type)&&rm(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return bu(),Qt(Ni),Qt(fi),Ox(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return Ux(e),null;case 13:if(Qt(an),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(Se(340));Cu()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return Qt(an),null;case 4:return bu(),null;case 10:return Lx(e.type._context),null;case 22:case 23:return Yx(),null;case 24:return null;default:return null}}var Ed=!1,ci=!1,K2=typeof WeakSet=="function"?WeakSet:Set,ke=null;function lu(n,e){var t=n.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){dn(n,e,i)}else t.current=null}function s_(n,e,t){try{t()}catch(i){dn(n,e,i)}}var P1=!1;function Y2(n,e){if(zy=em,n=gC(),Cx(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,c=0,h=0,d=n,p=null;t:for(;;){for(var m;d!==t||r!==0&&d.nodeType!==3||(a=o+r),d!==s||i!==0&&d.nodeType!==3||(l=o+i),d.nodeType===3&&(o+=d.nodeValue.length),(m=d.firstChild)!==null;)p=d,d=m;for(;;){if(d===n)break t;if(p===t&&++c===r&&(a=o),p===s&&++h===i&&(l=o),(m=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=m}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(Vy={focusedElem:n,selectionRange:t},em=!1,ke=e;ke!==null;)if(e=ke,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,ke=n;else for(;ke!==null;){e=ke;try{var y=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var S=y.memoizedProps,_=y.memoizedState,v=e.stateNode,A=v.getSnapshotBeforeUpdate(e.elementType===e.type?S:Fr(e.type,S),_);v.__reactInternalSnapshotBeforeUpdate=A}break;case 3:var M=e.stateNode.containerInfo;M.nodeType===1?M.textContent="":M.nodeType===9&&M.documentElement&&M.removeChild(M.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Se(163))}}catch(w){dn(e,e.return,w)}if(n=e.sibling,n!==null){n.return=e.return,ke=n;break}ke=e.return}return y=P1,P1=!1,y}function rf(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&&s_(e,t,s)}r=r.next}while(r!==i)}}function Om(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 o_(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 hR(n){var e=n.alternate;e!==null&&(n.alternate=null,hR(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[rs],delete e[Af],delete e[Jy],delete e[I2],delete e[B2])),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 dR(n){return n.tag===5||n.tag===3||n.tag===4}function I1(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||dR(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 a_(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=im));else if(i!==4&&(n=n.child,n!==null))for(a_(n,e,t),n=n.sibling;n!==null;)a_(n,e,t),n=n.sibling}function l_(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(l_(n,e,t),n=n.sibling;n!==null;)l_(n,e,t),n=n.sibling}var Xn=null,Ur=!1;function oo(n,e,t){for(t=t.child;t!==null;)pR(n,e,t),t=t.sibling}function pR(n,e,t){if(os&&typeof os.onCommitFiberUnmount=="function")try{os.onCommitFiberUnmount(Pm,t)}catch{}switch(t.tag){case 5:ci||lu(t,e);case 6:var i=Xn,r=Ur;Xn=null,oo(n,e,t),Xn=i,Ur=r,Xn!==null&&(Ur?(n=Xn,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):Xn.removeChild(t.stateNode));break;case 18:Xn!==null&&(Ur?(n=Xn,t=t.stateNode,n.nodeType===8?Q0(n.parentNode,t):n.nodeType===1&&Q0(n,t),gf(n)):Q0(Xn,t.stateNode));break;case 4:i=Xn,r=Ur,Xn=t.stateNode.containerInfo,Ur=!0,oo(n,e,t),Xn=i,Ur=r;break;case 0:case 11:case 14:case 15:if(!ci&&(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)&&s_(t,e,o),r=r.next}while(r!==i)}oo(n,e,t);break;case 1:if(!ci&&(lu(t,e),i=t.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=t.memoizedProps,i.state=t.memoizedState,i.componentWillUnmount()}catch(a){dn(t,e,a)}oo(n,e,t);break;case 21:oo(n,e,t);break;case 22:t.mode&1?(ci=(i=ci)||t.memoizedState!==null,oo(n,e,t),ci=i):oo(n,e,t);break;default:oo(n,e,t)}}function B1(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new K2),e.forEach(function(i){var r=rD.bind(null,n,i);t.has(i)||(t.add(i),i.then(r,r))})}}function Ir(n,e){var t=e.deletions;if(t!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=yn()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*q2(i/1960))-i,10n?16:n,To===null)var i=!1;else{if(n=To,To=null,gm=0,Pt&6)throw Error(Se(331));var r=Pt;for(Pt|=4,ke=n.current;ke!==null;){var s=ke,o=s.child;if(ke.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lyn()-jx?Da(n,0):Jx|=t),Oi(n,e)}function SR(n,e){e===0&&(n.mode&1?(e=md,md<<=1,!(md&130023424)&&(md=4194304)):e=1);var t=Ai();n=Gs(n,e),n!==null&&(Wf(n,e,t),Oi(n,t))}function iD(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),SR(n,t)}function rD(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(Se(314))}i!==null&&i.delete(e),SR(n,t)}var MR;MR=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||Ni.current)Bi=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return Bi=!1,X2(n,e,t);Bi=!!(n.flags&131072)}else Bi=!1,en&&e.flags&1048576&&CC(e,am,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;Np(n,e),n=e.pendingProps;var r=Tu(e,fi.current);yu(e,t),r=Hx(null,e,i,n,r,t);var s=Gx();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,Ui(i)?(s=!0,sm(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Fx(e),r.updater=Um,e.stateNode=r,r._reactInternals=e,Zy(e,i,n,t),e=t_(null,e,i,!0,s,t)):(e.tag=0,en&&s&&Rx(e),_i(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(Np(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=oD(i),n=Fr(i,n),r){case 0:e=e_(null,e,i,n,t);break e;case 1:e=C1(null,e,i,n,t);break e;case 11:e=w1(null,e,i,n,t);break e;case 14:e=T1(null,e,i,Fr(i.type,n),t);break e}throw Error(Se(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Fr(i,r),e_(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Fr(i,r),C1(n,e,i,r,t);case 3:e:{if(oR(e),n===null)throw Error(Se(387));i=e.pendingProps,s=e.memoizedState,r=s.element,LC(n,e),cm(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=Pu(Error(Se(423)),e),e=R1(n,e,i,t,r);break e}else if(i!==r){r=Pu(Error(Se(424)),e),e=R1(n,e,i,t,r);break e}else for(Qi=Io(e.stateNode.containerInfo.firstChild),qi=e,en=!0,Or=null,t=IC(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(Cu(),i===r){e=zs(n,e,t);break e}_i(n,e,i,t)}e=e.child}return e;case 5:return DC(e),n===null&&Yy(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,Wy(i,r)?o=null:s!==null&&Wy(i,s)&&(e.flags|=32),sR(n,e),_i(n,e,o,t),e.child;case 6:return n===null&&Yy(e),null;case 13:return aR(n,e,t);case 4:return Nx(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=Ru(e,null,i,t):_i(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Fr(i,r),w1(n,e,i,r,t);case 7:return _i(n,e,e.pendingProps,t),e.child;case 8:return _i(n,e,e.pendingProps.children,t),e.child;case 12:return _i(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,Xt(lm,i._currentValue),i._currentValue=o,s!==null)if(Vr(s.value,o)){if(s.children===r.children&&!Ni.current){e=zs(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=Ns(-1,t&-t),l.tag=2;var c=s.updateQueue;if(c!==null){c=c.shared;var h=c.pending;h===null?l.next=l:(l.next=h.next,h.next=l),c.pending=l}}s.lanes|=t,l=s.alternate,l!==null&&(l.lanes|=t),Qy(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(Se(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),Qy(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}_i(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,yu(e,t),r=Sr(r),i=i(r),e.flags|=1,_i(n,e,i,t),e.child;case 14:return i=e.type,r=Fr(i,e.pendingProps),r=Fr(i.type,r),T1(n,e,i,r,t);case 15:return iR(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Fr(i,r),Np(n,e),e.tag=1,Ui(i)?(n=!0,sm(e)):n=!1,yu(e,t),eR(e,i,r),Zy(e,i,r,t),t_(null,e,i,!0,n,t);case 19:return lR(n,e,t);case 22:return rR(n,e,t)}throw Error(Se(156,e.tag))};function ER(n,e){return qT(n,e)}function sD(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 yr(n,e,t,i){return new sD(n,e,t,i)}function qx(n){return n=n.prototype,!(!n||!n.isReactComponent)}function oD(n){if(typeof n=="function")return qx(n)?1:0;if(n!=null){if(n=n.$$typeof,n===gx)return 11;if(n===vx)return 14}return 2}function Fo(n,e){var t=n.alternate;return t===null?(t=yr(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 kp(n,e,t,i,r,s){var o=2;if(i=n,typeof n=="function")qx(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case $l:return Fa(t.children,r,s,e);case mx:o=8,r|=8;break;case Sy:return n=yr(12,t,e,r|2),n.elementType=Sy,n.lanes=s,n;case My:return n=yr(13,t,e,r),n.elementType=My,n.lanes=s,n;case Ey:return n=yr(19,t,e,r),n.elementType=Ey,n.lanes=s,n;case DT:return Hm(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case BT:o=10;break e;case LT:o=9;break e;case gx:o=11;break e;case vx:o=14;break e;case yo:o=16,i=null;break e}throw Error(Se(130,n==null?n:typeof n,""))}return e=yr(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function Fa(n,e,t,i){return n=yr(7,n,i,e),n.lanes=t,n}function Hm(n,e,t,i){return n=yr(22,n,i,e),n.elementType=DT,n.lanes=t,n.stateNode={isHidden:!1},n}function rv(n,e,t){return n=yr(6,n,null,e),n.lanes=t,n}function sv(n,e,t){return e=yr(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function aD(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=k0(0),this.expirationTimes=k0(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=k0(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Zx(n,e,t,i,r,s,o,a,l){return n=new aD(n,e,t,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=yr(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},Fx(s),n}function lD(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(RR)}catch(n){console.error(n)}}RR(),RT.exports=tr;var dD=RT.exports,bR,H1=dD;bR=H1.createRoot,H1.hydrateRoot;/** + * @license + * Copyright 2010-2024 Three.js Authors + * SPDX-License-Identifier: MIT + */const zu="164",pD={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},mD={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},PR=0,d_=1,IR=2,gD=3,BR=0,Xm=1,af=2,Nr=3,Wr=0,Si=1,vr=2,Us=0,Na=1,p_=2,m_=3,g_=4,LR=5,Mo=100,DR=101,FR=102,NR=103,UR=104,OR=200,kR=201,HR=202,GR=203,_m=204,xm=205,zR=206,VR=207,WR=208,XR=209,JR=210,jR=211,KR=212,YR=213,QR=214,qR=0,ZR=1,$R=2,Rf=3,eb=4,tb=5,nb=6,ib=7,Kf=0,rb=1,sb=2,ls=0,ob=1,ab=2,lb=3,nA=4,ub=5,cb=6,fb=7,v_="attached",hb="detached",Jm=300,Vs=301,Ho=302,bf=303,Pf=304,Vu=306,Xr=1e3,Li=1001,Ja=1002,Tn=1003,Yf=1004,vD=1004,Co=1005,yD=1005,tn=1006,Ua=1007,_D=1007,Di=1008,xD=1008,cs=1009,db=1010,pb=1011,iA=1012,rA=1013,ja=1014,_r=1015,Qf=1016,sA=1017,oA=1018,Wu=1020,mb=35902,gb=1021,vb=1022,Fi=1023,yb=1024,_b=1025,Oa=1026,Bu=1027,aA=1028,lA=1029,xb=1030,uA=1031,cA=1033,Hp=33776,Gp=33777,zp=33778,Vp=33779,y_=35840,__=35841,x_=35842,A_=35843,S_=36196,M_=37492,E_=37496,w_=37808,T_=37809,C_=37810,R_=37811,b_=37812,P_=37813,I_=37814,B_=37815,L_=37816,D_=37817,F_=37818,N_=37819,U_=37820,O_=37821,Wp=36492,k_=36494,H_=36495,Ab=36283,G_=36284,z_=36285,V_=36286,Sb=2200,Mb=2201,Eb=2202,Ka=2300,Ws=2301,Xp=2302,Ra=2400,ba=2401,If=2402,jm=2500,fA=2501,hA=0,qf=1,Ya=2,wb=3200,Tb=3201,Xo=0,Cb=1,Is="",Jn="srgb",Vn="srgb-linear",Km="display-p3",Zf="display-p3-linear",Bf="linear",Vt="srgb",Lf="rec709",Df="p3",AD=0,Sa=7680,SD=7681,MD=7682,ED=7683,wD=34055,TD=34056,CD=5386,RD=512,bD=513,PD=514,ID=515,BD=516,LD=517,DD=518,W_=519,Rb=512,bb=513,Pb=514,dA=515,Ib=516,Bb=517,Lb=518,Db=519,Ff=35044,FD=35048,ND=35040,UD=35045,OD=35049,kD=35041,HD=35046,GD=35050,zD=35042,VD="100",X_="300 es",ss=2e3,Nf=2001;class Ys{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]+ai[n>>16&255]+ai[n>>24&255]+"-"+ai[e&255]+ai[e>>8&255]+"-"+ai[e>>16&15|64]+ai[e>>24&255]+"-"+ai[t&63|128]+ai[t>>8&255]+"-"+ai[t>>16&255]+ai[t>>24&255]+ai[i&255]+ai[i>>8&255]+ai[i>>16&255]+ai[i>>24&255]).toLowerCase()}function pn(n,e,t){return Math.max(e,Math.min(t,n))}function pA(n,e){return(n%e+e)%e}function WD(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function XD(n,e,t){return n!==e?(t-n)/(e-n):0}function lf(n,e,t){return(1-t)*n+t*e}function JD(n,e,t,i){return lf(n,e,1-Math.exp(-t*i))}function jD(n,e=1){return e-Math.abs(pA(n,e*2)-e)}function KD(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function YD(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function QD(n,e){return n+Math.floor(Math.random()*(e-n+1))}function qD(n,e){return n+Math.random()*(e-n)}function ZD(n){return n*(.5-Math.random())}function $D(n){n!==void 0&&(G1=n);let e=G1+=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 eF(n){return n*ka}function tF(n){return n*Lu}function nF(n){return(n&n-1)===0&&n!==0}function iF(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function rF(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function sF(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),c=s((e+i)/2),h=o((e+i)/2),d=s((e-i)/2),p=o((e-i)/2),m=s((i-e)/2),y=o((i-e)/2);switch(r){case"XYX":n.set(a*h,l*d,l*p,a*c);break;case"YZY":n.set(l*p,a*h,l*d,a*c);break;case"ZXZ":n.set(l*d,l*p,a*h,a*c);break;case"XZX":n.set(a*h,l*y,l*m,a*c);break;case"YXY":n.set(l*m,a*h,l*y,a*c);break;case"ZYZ":n.set(l*y,l*m,a*h,a*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function xi(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 pt(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 mA={DEG2RAD:ka,RAD2DEG:Lu,generateUUID:Zi,clamp:pn,euclideanModulo:pA,mapLinear:WD,inverseLerp:XD,lerp:lf,damp:JD,pingpong:jD,smoothstep:KD,smootherstep:YD,randInt:QD,randFloat:qD,randFloatSpread:ZD,seededRandom:$D,degToRad:eF,radToDeg:tF,isPowerOfTwo:nF,ceilPowerOfTwo:iF,floorPowerOfTwo:rF,setQuaternionFromProperEuler:sF,normalize:pt,denormalize:xi};class ue{constructor(e=0,t=0){ue.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(pn(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 dt{constructor(e,t,i,r,s,o,a,l,c){dt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,c)}set(e,t,i,r,s,o,a,l,c){const h=this.elements;return h[0]=e,h[1]=r,h[2]=a,h[3]=t,h[4]=s,h[5]=l,h[6]=i,h[7]=o,h[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this}extractBasis(e,t,i){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[3],l=i[6],c=i[1],h=i[4],d=i[7],p=i[2],m=i[5],y=i[8],S=r[0],_=r[3],v=r[6],A=r[1],M=r[4],w=r[7],I=r[2],R=r[5],P=r[8];return s[0]=o*S+a*A+l*I,s[3]=o*_+a*M+l*R,s[6]=o*v+a*w+l*P,s[1]=c*S+h*A+d*I,s[4]=c*_+h*M+d*R,s[7]=c*v+h*w+d*P,s[2]=p*S+m*A+y*I,s[5]=p*_+m*M+y*R,s[8]=p*v+m*w+y*P,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],h=e[8];return t*o*h-t*a*c-i*s*h+i*a*l+r*s*c-r*o*l}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],h=e[8],d=h*o-a*c,p=a*l-h*s,m=c*s-o*l,y=t*d+i*p+r*m;if(y===0)return this.set(0,0,0,0,0,0,0,0,0);const S=1/y;return e[0]=d*S,e[1]=(r*c-h*i)*S,e[2]=(a*i-r*o)*S,e[3]=p*S,e[4]=(h*t-r*l)*S,e[5]=(r*s-a*t)*S,e[6]=m*S,e[7]=(i*l-c*t)*S,e[8]=(o*t-i*s)*S,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,i,r,s,o,a){const l=Math.cos(s),c=Math.sin(s);return this.set(i*l,i*c,-i*(l*o+c*a)+o+e,-r*c,r*l,-r*(-c*o+l*a)+a+t,0,0,1),this}scale(e,t){return this.premultiply(ov.makeScale(e,t)),this}rotate(e){return this.premultiply(ov.makeRotation(-e)),this}translate(e,t){return this.premultiply(ov.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 ov=new dt;function Fb(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const oF={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function cu(n,e){return new oF[n](e)}function Uf(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function Nb(){const n=Uf("canvas");return n.style.display="block",n}const z1={};function Ub(n){n in z1||(z1[n]=!0,console.warn(n))}const V1=new dt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),W1=new dt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),Cd={[Vn]:{transfer:Bf,primaries:Lf,toReference:n=>n,fromReference:n=>n},[Jn]:{transfer:Vt,primaries:Lf,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[Zf]:{transfer:Bf,primaries:Df,toReference:n=>n.applyMatrix3(W1),fromReference:n=>n.applyMatrix3(V1)},[Km]:{transfer:Vt,primaries:Df,toReference:n=>n.convertSRGBToLinear().applyMatrix3(W1),fromReference:n=>n.applyMatrix3(V1).convertLinearToSRGB()}},aF=new Set([Vn,Zf]),Ut={enabled:!0,_workingColorSpace:Vn,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!aF.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=Cd[e].toReference,r=Cd[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 Cd[n].primaries},getTransfer:function(n){return n===Is?Bf:Cd[n].transfer}};function xu(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function av(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let wl;class Ob{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{wl===void 0&&(wl=Uf("canvas")),wl.width=e.width,wl.height=e.height;const i=wl.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=wl}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=Uf("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!==Jm)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Xr:e.x=e.x-Math.floor(e.x);break;case Li:e.x=e.x<0?0:1;break;case Ja: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 Xr:e.y=e.y-Math.floor(e.y);break;case Li:e.y=e.y<0?0:1;break;case Ja:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}}zt.DEFAULT_IMAGE=null;zt.DEFAULT_MAPPING=Jm;zt.DEFAULT_ANISOTROPY=1;class Ot{constructor(e=0,t=0,i=0,r=1){Ot.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,c=l[0],h=l[4],d=l[8],p=l[1],m=l[5],y=l[9],S=l[2],_=l[6],v=l[10];if(Math.abs(h-p)<.01&&Math.abs(d-S)<.01&&Math.abs(y-_)<.01){if(Math.abs(h+p)<.1&&Math.abs(d+S)<.1&&Math.abs(y+_)<.1&&Math.abs(c+m+v-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const M=(c+1)/2,w=(m+1)/2,I=(v+1)/2,R=(h+p)/4,P=(d+S)/4,D=(y+_)/4;return M>w&&M>I?M<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(M),r=R/i,s=P/i):w>I?w<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(w),i=R/r,s=D/r):I<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(I),i=P/s,r=D/s),this.set(i,r,s,t),this}let A=Math.sqrt((_-y)*(_-y)+(d-S)*(d-S)+(p-h)*(p-h));return Math.abs(A)<.001&&(A=1),this.x=(_-y)/A,this.y=(d-S)/A,this.z=(p-h)/A,this.w=Math.acos((c+m+v-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 kb extends Ys{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new Ot(0,0,e,t),this.scissorTest=!1,this.viewport=new Ot(0,0,e,t);const r={width:e,height:t,depth:1};i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:tn,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1},i);const s=new zt(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,M=1-v*v;if(M>Number.EPSILON){const I=Math.sqrt(M),R=Math.atan2(I,v*A);_=Math.sin(_*R)/I,a=Math.sin(a*R)/I}const w=a*A;if(l=l*_+p*w,c=c*_+m*w,h=h*_+y*w,d=d*_+S*w,_===1-a){const I=1/Math.sqrt(l*l+c*c+h*h+d*d);l*=I,c*=I,h*=I,d*=I}}e[t]=l,e[t+1]=c,e[t+2]=h,e[t+3]=d}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],c=i[r+2],h=i[r+3],d=s[o],p=s[o+1],m=s[o+2],y=s[o+3];return e[t]=a*y+h*d+l*m-c*p,e[t+1]=l*y+h*p+c*d-a*m,e[t+2]=c*y+h*m+a*p-l*d,e[t+3]=h*y-a*d-l*p-c*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,c=a(i/2),h=a(r/2),d=a(s/2),p=l(i/2),m=l(r/2),y=l(s/2);switch(o){case"XYZ":this._x=p*h*d+c*m*y,this._y=c*m*d-p*h*y,this._z=c*h*y+p*m*d,this._w=c*h*d-p*m*y;break;case"YXZ":this._x=p*h*d+c*m*y,this._y=c*m*d-p*h*y,this._z=c*h*y-p*m*d,this._w=c*h*d+p*m*y;break;case"ZXY":this._x=p*h*d-c*m*y,this._y=c*m*d+p*h*y,this._z=c*h*y+p*m*d,this._w=c*h*d-p*m*y;break;case"ZYX":this._x=p*h*d-c*m*y,this._y=c*m*d+p*h*y,this._z=c*h*y-p*m*d,this._w=c*h*d+p*m*y;break;case"YZX":this._x=p*h*d+c*m*y,this._y=c*m*d+p*h*y,this._z=c*h*y-p*m*d,this._w=c*h*d-p*m*y;break;case"XZY":this._x=p*h*d-c*m*y,this._y=c*m*d-p*h*y,this._z=c*h*y+p*m*d,this._w=c*h*d+p*m*y;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const i=t/2,r=Math.sin(i);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,i=t[0],r=t[4],s=t[8],o=t[1],a=t[5],l=t[9],c=t[2],h=t[6],d=t[10],p=i+a+d;if(p>0){const m=.5/Math.sqrt(p+1);this._w=.25/m,this._x=(h-l)*m,this._y=(s-c)*m,this._z=(o-r)*m}else if(i>a&&i>d){const m=2*Math.sqrt(1+i-a-d);this._w=(h-l)/m,this._x=.25*m,this._y=(r+o)/m,this._z=(s+c)/m}else if(a>d){const m=2*Math.sqrt(1+a-i-d);this._w=(s-c)/m,this._x=(r+o)/m,this._y=.25*m,this._z=(l+h)/m}else{const m=2*Math.sqrt(1+d-i-a);this._w=(o-r)/m,this._x=(s+c)/m,this._y=(l+h)/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(pn(this.dot(e),-1,1)))}rotateTowards(e,t){const i=this.angleTo(e);if(i===0)return this;const r=Math.min(1,t/i);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const i=e._x,r=e._y,s=e._z,o=e._w,a=t._x,l=t._y,c=t._z,h=t._w;return this._x=i*h+o*a+r*c-s*l,this._y=r*h+o*l+s*a-i*c,this._z=s*h+o*c+i*l-r*a,this._w=o*h-i*a-r*l-s*c,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const i=this._x,r=this._y,s=this._z,o=this._w;let a=o*e._w+i*e._x+r*e._y+s*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=i,this._y=r,this._z=s,this;const l=1-a*a;if(l<=Number.EPSILON){const 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 c=Math.sqrt(l),h=Math.atan2(c,a),d=Math.sin((1-t)*h)/c,p=Math.sin(t*h)/c;return this._w=o*d+this._w*p,this._x=i*d+this._x*p,this._y=r*d+this._y*p,this._z=s*d+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 L{constructor(e=0,t=0,i=0){L.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(X1.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(X1.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[3]*i+s[6]*r,this.y=s[1]*t+s[4]*i+s[7]*r,this.z=s[2]*t+s[5]*i+s[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=e.elements,o=1/(s[3]*t+s[7]*i+s[11]*r+s[15]);return this.x=(s[0]*t+s[4]*i+s[8]*r+s[12])*o,this.y=(s[1]*t+s[5]*i+s[9]*r+s[13])*o,this.z=(s[2]*t+s[6]*i+s[10]*r+s[14])*o,this}applyQuaternion(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z,l=e.w,c=2*(o*r-a*i),h=2*(a*t-s*r),d=2*(s*i-o*t);return this.x=t+l*c+o*d-a*h,this.y=i+l*h+a*c-s*d,this.z=r+l*d+s*h-o*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[4]*i+s[8]*r,this.y=s[1]*t+s[5]*i+s[9]*r,this.z=s[2]*t+s[6]*i+s[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=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 uv.copy(this).projectOnVector(e),this.sub(uv)}reflect(e){return this.sub(uv.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(pn(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 uv=new L,X1=new jt;class Yn{constructor(e=new L(1/0,1/0,1/0),t=new L(-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,Br),Br.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(Mc),bd.subVectors(this.max,Mc),Tl.subVectors(e.a,Mc),Cl.subVectors(e.b,Mc),Rl.subVectors(e.c,Mc),ao.subVectors(Cl,Tl),lo.subVectors(Rl,Cl),oa.subVectors(Tl,Rl);let t=[0,-ao.z,ao.y,0,-lo.z,lo.y,0,-oa.z,oa.y,ao.z,0,-ao.x,lo.z,0,-lo.x,oa.z,0,-oa.x,-ao.y,ao.x,0,-lo.y,lo.x,0,-oa.y,oa.x,0];return!cv(t,Tl,Cl,Rl,bd)||(t=[1,0,0,0,1,0,0,0,1],!cv(t,Tl,Cl,Rl,bd))?!1:(Pd.crossVectors(ao,lo),t=[Pd.x,Pd.y,Pd.z],cv(t,Tl,Cl,Rl,bd))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Br).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Br).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:(xs[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),xs[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),xs[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),xs[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),xs[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),xs[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),xs[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),xs[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(xs),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 xs=[new L,new L,new L,new L,new L,new L,new L,new L],Br=new L,Rd=new Yn,Tl=new L,Cl=new L,Rl=new L,ao=new L,lo=new L,oa=new L,Mc=new L,bd=new L,Pd=new L,aa=new L;function cv(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){aa.fromArray(n,s);const a=r.x*Math.abs(aa.x)+r.y*Math.abs(aa.y)+r.z*Math.abs(aa.z),l=e.dot(aa),c=t.dot(aa),h=i.dot(aa);if(Math.max(-Math.max(l,c,h),Math.min(l,c,h))>a)return!1}return!0}const hF=new Yn,Ec=new L,fv=new L;class Rn{constructor(e=new L,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):hF.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;Ec.subVectors(e,this.center);const t=Ec.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(Ec,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):(fv.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(Ec.copy(e.center).add(fv)),this.expandByPoint(Ec.copy(e.center).sub(fv))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const As=new L,hv=new L,Id=new L,uo=new L,dv=new L,Bd=new L,pv=new L;class Jo{constructor(e=new L,t=new L(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,As)),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=As.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(As.copy(this.origin).addScaledVector(this.direction,t),As.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){hv.copy(e).add(t).multiplyScalar(.5),Id.copy(t).sub(e).normalize(),uo.copy(this.origin).sub(hv);const s=e.distanceTo(t)*.5,o=-this.direction.dot(Id),a=uo.dot(this.direction),l=-uo.dot(Id),c=uo.lengthSq(),h=Math.abs(1-o*o);let d,p,m,y;if(h>0)if(d=o*l-a,p=o*a-l,y=s*h,d>=0)if(p>=-y)if(p<=y){const S=1/h;d*=S,p*=S,m=d*(d+o*p+2*a)+p*(o*d+p+2*l)+c}else p=s,d=Math.max(0,-(o*p+a)),m=-d*d+p*(p+2*l)+c;else p=-s,d=Math.max(0,-(o*p+a)),m=-d*d+p*(p+2*l)+c;else p<=-y?(d=Math.max(0,-(-o*s+a)),p=d>0?-s:Math.min(Math.max(-s,-l),s),m=-d*d+p*(p+2*l)+c):p<=y?(d=0,p=Math.min(Math.max(-s,-l),s),m=p*(p+2*l)+c):(d=Math.max(0,-(o*s+a)),p=d>0?s:Math.min(Math.max(-s,-l),s),m=-d*d+p*(p+2*l)+c);else p=o>0?-s:s,d=Math.max(0,-(o*p+a)),m=-d*d+p*(p+2*l)+c;return i&&i.copy(this.origin).addScaledVector(this.direction,d),r&&r.copy(hv).addScaledVector(Id,p),m}intersectSphere(e,t){As.subVectors(e.center,this.origin);const i=As.dot(this.direction),r=As.dot(As)-i*i,s=e.radius*e.radius;if(r>s)return null;const o=Math.sqrt(s-r),a=i-o,l=i+o;return l<0?null:a<0?this.at(l,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){const i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,r,s,o,a,l;const c=1/this.direction.x,h=1/this.direction.y,d=1/this.direction.z,p=this.origin;return c>=0?(i=(e.min.x-p.x)*c,r=(e.max.x-p.x)*c):(i=(e.max.x-p.x)*c,r=(e.min.x-p.x)*c),h>=0?(s=(e.min.y-p.y)*h,o=(e.max.y-p.y)*h):(s=(e.max.y-p.y)*h,o=(e.min.y-p.y)*h),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-p.z)*d,l=(e.max.z-p.z)*d):(a=(e.max.z-p.z)*d,l=(e.min.z-p.z)*d),i>l||a>r)||((a>i||i!==i)&&(i=a),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,As)!==null}intersectTriangle(e,t,i,r,s){dv.subVectors(t,e),Bd.subVectors(i,e),pv.crossVectors(dv,Bd);let o=this.direction.dot(pv),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;uo.subVectors(this.origin,e);const l=a*this.direction.dot(Bd.crossVectors(uo,Bd));if(l<0)return null;const c=a*this.direction.dot(dv.cross(uo));if(c<0||l+c>o)return null;const h=-a*uo.dot(pv);return h<0?null:this.at(h/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 Ue{constructor(e,t,i,r,s,o,a,l,c,h,d,p,m,y,S,_){Ue.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,c,h,d,p,m,y,S,_)}set(e,t,i,r,s,o,a,l,c,h,d,p,m,y,S,_){const v=this.elements;return v[0]=e,v[4]=t,v[8]=i,v[12]=r,v[1]=s,v[5]=o,v[9]=a,v[13]=l,v[2]=c,v[6]=h,v[10]=d,v[14]=p,v[3]=m,v[7]=y,v[11]=S,v[15]=_,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 Ue().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/bl.setFromMatrixColumn(e,0).length(),s=1/bl.setFromMatrixColumn(e,1).length(),o=1/bl.setFromMatrixColumn(e,2).length();return t[0]=i[0]*r,t[1]=i[1]*r,t[2]=i[2]*r,t[3]=0,t[4]=i[4]*s,t[5]=i[5]*s,t[6]=i[6]*s,t[7]=0,t[8]=i[8]*o,t[9]=i[9]*o,t[10]=i[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,i=e.x,r=e.y,s=e.z,o=Math.cos(i),a=Math.sin(i),l=Math.cos(r),c=Math.sin(r),h=Math.cos(s),d=Math.sin(s);if(e.order==="XYZ"){const p=o*h,m=o*d,y=a*h,S=a*d;t[0]=l*h,t[4]=-l*d,t[8]=c,t[1]=m+y*c,t[5]=p-S*c,t[9]=-a*l,t[2]=S-p*c,t[6]=y+m*c,t[10]=o*l}else if(e.order==="YXZ"){const p=l*h,m=l*d,y=c*h,S=c*d;t[0]=p+S*a,t[4]=y*a-m,t[8]=o*c,t[1]=o*d,t[5]=o*h,t[9]=-a,t[2]=m*a-y,t[6]=S+p*a,t[10]=o*l}else if(e.order==="ZXY"){const p=l*h,m=l*d,y=c*h,S=c*d;t[0]=p-S*a,t[4]=-o*d,t[8]=y+m*a,t[1]=m+y*a,t[5]=o*h,t[9]=S-p*a,t[2]=-o*c,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const p=o*h,m=o*d,y=a*h,S=a*d;t[0]=l*h,t[4]=y*c-m,t[8]=p*c+S,t[1]=l*d,t[5]=S*c+p,t[9]=m*c-y,t[2]=-c,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const p=o*l,m=o*c,y=a*l,S=a*c;t[0]=l*h,t[4]=S-p*d,t[8]=y*d+m,t[1]=d,t[5]=o*h,t[9]=-a*h,t[2]=-c*h,t[6]=m*d+y,t[10]=p-S*d}else if(e.order==="XZY"){const p=o*l,m=o*c,y=a*l,S=a*c;t[0]=l*h,t[4]=-d,t[8]=c*h,t[1]=p*d+S,t[5]=o*h,t[9]=m*d-y,t[2]=y*d-m,t[6]=a*h,t[10]=S*d+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(dF,e,pF)}lookAt(e,t,i){const r=this.elements;return Ji.subVectors(e,t),Ji.lengthSq()===0&&(Ji.z=1),Ji.normalize(),co.crossVectors(i,Ji),co.lengthSq()===0&&(Math.abs(i.z)===1?Ji.x+=1e-4:Ji.z+=1e-4,Ji.normalize(),co.crossVectors(i,Ji)),co.normalize(),Ld.crossVectors(Ji,co),r[0]=co.x,r[4]=Ld.x,r[8]=Ji.x,r[1]=co.y,r[5]=Ld.y,r[9]=Ji.y,r[2]=co.z,r[6]=Ld.z,r[10]=Ji.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[4],l=i[8],c=i[12],h=i[1],d=i[5],p=i[9],m=i[13],y=i[2],S=i[6],_=i[10],v=i[14],A=i[3],M=i[7],w=i[11],I=i[15],R=r[0],P=r[4],D=r[8],b=r[12],C=r[1],O=r[5],J=r[9],H=r[13],ne=r[2],se=r[6],ce=r[10],ge=r[14],N=r[3],V=r[7],G=r[11],oe=r[15];return s[0]=o*R+a*C+l*ne+c*N,s[4]=o*P+a*O+l*se+c*V,s[8]=o*D+a*J+l*ce+c*G,s[12]=o*b+a*H+l*ge+c*oe,s[1]=h*R+d*C+p*ne+m*N,s[5]=h*P+d*O+p*se+m*V,s[9]=h*D+d*J+p*ce+m*G,s[13]=h*b+d*H+p*ge+m*oe,s[2]=y*R+S*C+_*ne+v*N,s[6]=y*P+S*O+_*se+v*V,s[10]=y*D+S*J+_*ce+v*G,s[14]=y*b+S*H+_*ge+v*oe,s[3]=A*R+M*C+w*ne+I*N,s[7]=A*P+M*O+w*se+I*V,s[11]=A*D+M*J+w*ce+I*G,s[15]=A*b+M*H+w*ge+I*oe,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[4],r=e[8],s=e[12],o=e[1],a=e[5],l=e[9],c=e[13],h=e[2],d=e[6],p=e[10],m=e[14],y=e[3],S=e[7],_=e[11],v=e[15];return y*(+s*l*d-r*c*d-s*a*p+i*c*p+r*a*m-i*l*m)+S*(+t*l*m-t*c*p+s*o*p-r*o*m+r*c*h-s*l*h)+_*(+t*c*d-t*a*m-s*o*d+i*o*m+s*a*h-i*c*h)+v*(-r*a*h-t*l*d+t*a*p+r*o*d-i*o*p+i*l*h)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=i),this}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],h=e[8],d=e[9],p=e[10],m=e[11],y=e[12],S=e[13],_=e[14],v=e[15],A=d*_*c-S*p*c+S*l*m-a*_*m-d*l*v+a*p*v,M=y*p*c-h*_*c-y*l*m+o*_*m+h*l*v-o*p*v,w=h*S*c-y*d*c+y*a*m-o*S*m-h*a*v+o*d*v,I=y*d*l-h*S*l-y*a*p+o*S*p+h*a*_-o*d*_,R=t*A+i*M+r*w+s*I;if(R===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const P=1/R;return e[0]=A*P,e[1]=(S*p*s-d*_*s-S*r*m+i*_*m+d*r*v-i*p*v)*P,e[2]=(a*_*s-S*l*s+S*r*c-i*_*c-a*r*v+i*l*v)*P,e[3]=(d*l*s-a*p*s-d*r*c+i*p*c+a*r*m-i*l*m)*P,e[4]=M*P,e[5]=(h*_*s-y*p*s+y*r*m-t*_*m-h*r*v+t*p*v)*P,e[6]=(y*l*s-o*_*s-y*r*c+t*_*c+o*r*v-t*l*v)*P,e[7]=(o*p*s-h*l*s+h*r*c-t*p*c-o*r*m+t*l*m)*P,e[8]=w*P,e[9]=(y*d*s-h*S*s-y*i*m+t*S*m+h*i*v-t*d*v)*P,e[10]=(o*S*s-y*a*s+y*i*c-t*S*c-o*i*v+t*a*v)*P,e[11]=(h*a*s-o*d*s-h*i*c+t*d*c+o*i*m-t*a*m)*P,e[12]=I*P,e[13]=(h*S*r-y*d*r+y*i*p-t*S*p-h*i*_+t*d*_)*P,e[14]=(y*a*r-o*S*r-y*i*l+t*S*l+o*i*_-t*a*_)*P,e[15]=(o*d*r-h*a*r+h*i*l-t*d*l-o*i*p+t*a*p)*P,this}scale(e){const t=this.elements,i=e.x,r=e.y,s=e.z;return t[0]*=i,t[4]*=r,t[8]*=s,t[1]*=i,t[5]*=r,t[9]*=s,t[2]*=i,t[6]*=r,t[10]*=s,t[3]*=i,t[7]*=r,t[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,i,r))}makeTranslation(e,t,i){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const i=Math.cos(t),r=Math.sin(t),s=1-i,o=e.x,a=e.y,l=e.z,c=s*o,h=s*a;return this.set(c*o+i,c*a-r*l,c*l+r*a,0,c*a+r*l,h*a+i,h*l-r*o,0,c*l-r*a,h*l+r*o,s*l*l+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,r,s,o){return this.set(1,i,s,0,e,1,o,0,t,r,1,0,0,0,0,1),this}compose(e,t,i){const r=this.elements,s=t._x,o=t._y,a=t._z,l=t._w,c=s+s,h=o+o,d=a+a,p=s*c,m=s*h,y=s*d,S=o*h,_=o*d,v=a*d,A=l*c,M=l*h,w=l*d,I=i.x,R=i.y,P=i.z;return r[0]=(1-(S+v))*I,r[1]=(m+w)*I,r[2]=(y-M)*I,r[3]=0,r[4]=(m-w)*R,r[5]=(1-(p+v))*R,r[6]=(_+A)*R,r[7]=0,r[8]=(y+M)*P,r[9]=(_-A)*P,r[10]=(1-(p+S))*P,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=bl.set(r[0],r[1],r[2]).length();const o=bl.set(r[4],r[5],r[6]).length(),a=bl.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],Lr.copy(this);const c=1/s,h=1/o,d=1/a;return Lr.elements[0]*=c,Lr.elements[1]*=c,Lr.elements[2]*=c,Lr.elements[4]*=h,Lr.elements[5]*=h,Lr.elements[6]*=h,Lr.elements[8]*=d,Lr.elements[9]*=d,Lr.elements[10]*=d,t.setFromRotationMatrix(Lr),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=ss){const l=this.elements,c=2*s/(t-e),h=2*s/(i-r),d=(t+e)/(t-e),p=(i+r)/(i-r);let m,y;if(a===ss)m=-(o+s)/(o-s),y=-2*o*s/(o-s);else if(a===Nf)m=-o/(o-s),y=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=c,l[4]=0,l[8]=d,l[12]=0,l[1]=0,l[5]=h,l[9]=p,l[13]=0,l[2]=0,l[6]=0,l[10]=m,l[14]=y,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,o,a=ss){const l=this.elements,c=1/(t-e),h=1/(i-r),d=1/(o-s),p=(t+e)*c,m=(i+r)*h;let y,S;if(a===ss)y=(o+s)*d,S=-2*d;else if(a===Nf)y=s*d,S=-1*d;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*c,l[4]=0,l[8]=0,l[12]=-p,l[1]=0,l[5]=2*h,l[9]=0,l[13]=-m,l[2]=0,l[6]=0,l[10]=S,l[14]=-y,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 bl=new L,Lr=new Ue,dF=new L(0,0,0),pF=new L(1,1,1),co=new L,Ld=new L,Ji=new L,J1=new Ue,j1=new jt;class ki{constructor(e=0,t=0,i=0,r=ki.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=i,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,i,r=this._order){return this._x=e,this._y=t,this._z=i,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,i=!0){const r=e.elements,s=r[0],o=r[4],a=r[8],l=r[1],c=r[5],h=r[9],d=r[2],p=r[6],m=r[10];switch(t){case"XYZ":this._y=Math.asin(pn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-h,m),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(p,c),this._z=0);break;case"YXZ":this._x=Math.asin(-pn(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(a,m),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-d,s),this._z=0);break;case"ZXY":this._x=Math.asin(pn(p,-1,1)),Math.abs(p)<.9999999?(this._y=Math.atan2(-d,m),this._z=Math.atan2(-o,c)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-pn(d,-1,1)),Math.abs(d)<.9999999?(this._x=Math.atan2(p,m),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,c));break;case"YZX":this._z=Math.asin(pn(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-h,c),this._y=Math.atan2(-d,s)):(this._x=0,this._y=Math.atan2(a,m));break;case"XZY":this._z=Math.asin(-pn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(p,c),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-h,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 J1.makeRotationFromQuaternion(e),this.setFromRotationMatrix(J1,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return j1.setFromEuler(this),this.setFromQuaternion(j1,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}}ki.DEFAULT_ORDER="XYZ";class Ha{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 c=0,h=l.length;c0){r.children=[];for(let a=0;a0){r.animations=[];for(let a=0;a0&&(i.geometries=a),l.length>0&&(i.materials=l),c.length>0&&(i.textures=c),h.length>0&&(i.images=h),d.length>0&&(i.shapes=d),p.length>0&&(i.skeletons=p),m.length>0&&(i.animations=m),y.length>0&&(i.nodes=y)}return i.object=r,i;function o(a){const l=[];for(const c in a){const h=a[c];delete h.metadata,l.push(h)}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){Dr.subVectors(r,t),Ms.subVectors(i,t),gv.subVectors(e,t);const o=Dr.dot(Dr),a=Dr.dot(Ms),l=Dr.dot(gv),c=Ms.dot(Ms),h=Ms.dot(gv),d=o*c-a*a;if(d===0)return s.set(0,0,0),null;const p=1/d,m=(c*l-a*h)*p,y=(o*h-a*l)*p;return s.set(1-m-y,y,m)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,Es)===null?!1:Es.x>=0&&Es.y>=0&&Es.x+Es.y<=1}static getInterpolation(e,t,i,r,s,o,a,l){return this.getBarycoord(e,t,i,r,Es)===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,Es.x),l.addScaledVector(o,Es.y),l.addScaledVector(a,Es.z),l)}static isFrontFacing(e,t,i,r){return Dr.subVectors(i,t),Ms.subVectors(e,t),Dr.cross(Ms).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 Dr.subVectors(this.c,this.b),Ms.subVectors(this.a,this.b),Dr.cross(Ms).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return Yi.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return Yi.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return Yi.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return Yi.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return Yi.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;Bl.subVectors(r,i),Ll.subVectors(s,i),vv.subVectors(e,i);const l=Bl.dot(vv),c=Ll.dot(vv);if(l<=0&&c<=0)return t.copy(i);yv.subVectors(e,r);const h=Bl.dot(yv),d=Ll.dot(yv);if(h>=0&&d<=h)return t.copy(r);const p=l*d-h*c;if(p<=0&&l>=0&&h<=0)return o=l/(l-h),t.copy(i).addScaledVector(Bl,o);_v.subVectors(e,s);const m=Bl.dot(_v),y=Ll.dot(_v);if(y>=0&&m<=y)return t.copy(s);const S=m*c-l*y;if(S<=0&&c>=0&&y<=0)return a=c/(c-y),t.copy(i).addScaledVector(Ll,a);const _=h*y-m*d;if(_<=0&&d-h>=0&&m-y>=0)return $1.subVectors(s,r),a=(d-h)/(d-h+(m-y)),t.copy(r).addScaledVector($1,a);const v=1/(_+S+p);return o=S*v,a=p*v,t.copy(i).addScaledVector(Bl,o).addScaledVector(Ll,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const Hb={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},fo={h:0,s:0,l:0},Fd={h:0,s:0,l:0};function xv(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*6*(2/3-t):n}class we{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=Jn){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,Ut.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=Ut.workingColorSpace){return this.r=e,this.g=t,this.b=i,Ut.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=Ut.workingColorSpace){if(e=pA(e,1),t=pn(t,0,1),i=pn(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=xv(o,s,e+1/3),this.g=xv(o,s,e),this.b=xv(o,s,e-1/3)}return Ut.toWorkingColorSpace(this,r),this}setStyle(e,t=Jn){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=Jn){const i=Hb[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=xu(e.r),this.g=xu(e.g),this.b=xu(e.b),this}copyLinearToSRGB(e){return this.r=av(e.r),this.g=av(e.g),this.b=av(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Jn){return Ut.fromWorkingColorSpace(li.copy(this),e),Math.round(pn(li.r*255,0,255))*65536+Math.round(pn(li.g*255,0,255))*256+Math.round(pn(li.b*255,0,255))}getHexString(e=Jn){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=Ut.workingColorSpace){Ut.fromWorkingColorSpace(li.copy(this),t);const i=li.r,r=li.g,s=li.b,o=Math.max(i,r,s),a=Math.min(i,r,s);let l,c;const h=(a+o)/2;if(a===o)l=0,c=0;else{const d=o-a;switch(c=h<=.5?d/(o+a):d/(2-o-a),o){case i:l=(r-s)/d+(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.dispersion!==void 0&&(i.dispersion=this.dispersion),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapRotation!==void 0&&(i.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==Na&&(i.blending=this.blending),this.side!==Wr&&(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!==_m&&(i.blendSrc=this.blendSrc),this.blendDst!==xm&&(i.blendDst=this.blendDst),this.blendEquation!==Mo&&(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!==Rf&&(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!==W_&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Sa&&(i.stencilFail=this.stencilFail),this.stencilZFail!==Sa&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==Sa&&(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 Cn extends qt{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new we(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 ki,this.combine=Kf,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 Bs=xF();function xF(){const n=new ArrayBuffer(4),e=new Float32Array(n),t=new Uint32Array(n),i=new Uint32Array(512),r=new Uint32Array(512);for(let l=0;l<256;++l){const c=l-127;c<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):c<-14?(i[l]=1024>>-c-14,i[l|256]=1024>>-c-14|32768,r[l]=-c-1,r[l|256]=-c-1):c<=15?(i[l]=c+15<<10,i[l|256]=c+15<<10|32768,r[l]=13,r[l|256]=13):c<128?(i[l]=31744,i[l|256]=64512,r[l]=24,r[l|256]=24):(i[l]=31744,i[l|256]=64512,r[l]=13,r[l|256]=13)}const s=new Uint32Array(2048),o=new Uint32Array(64),a=new Uint32Array(64);for(let l=1;l<1024;++l){let c=l<<13,h=0;for(;!(c&8388608);)c<<=1,h-=8388608;c&=-8388609,h+=947912704,s[l]=c|h}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 Pi(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=pn(n,-65504,65504),Bs.floatView[0]=n;const e=Bs.uint32View[0],t=e>>23&511;return Bs.baseTable[t]+((e&8388607)>>Bs.shiftTable[t])}function Kc(n){const e=n>>10;return Bs.uint32View[0]=Bs.mantissaTable[Bs.offsetTable[e]+(n&1023)]+Bs.exponentTable[e],Bs.floatView[0]}const AF={toHalfFloat:Pi,fromHalfFloat:Kc},Mn=new L,Nd=new ue;class it{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=Ff,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=_r,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return Ub("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 c in l)l[c]!==void 0&&(e[c]=l[c]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const i=this.attributes;for(const l in i){const c=i[l];e.data.attributes[l]=c.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const c=this.morphAttributes[l],h=[];for(let d=0,p=c.length;d0&&(r[l]=h,s=!0)}s&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const i=e.index;i!==null&&this.setIndex(i.clone(t));const r=e.attributes;for(const c in r){const h=r[c];this.setAttribute(c,h.clone(t))}const s=e.morphAttributes;for(const c in s){const h=[],d=s[c];for(let p=0,m=d.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))&&(eE.copy(s).invert(),la.copy(e.ray).applyMatrix4(eE),!(i.boundingBox!==null&&la.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,la)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,c=s.attributes.uv,h=s.attributes.uv1,d=s.attributes.normal,p=s.groups,m=s.drawRange;if(a!==null)if(Array.isArray(o))for(let y=0,S=p.length;yt.far?null:{distance:c,point:Vd.clone(),object:n}}function Wd(n,e,t,i,r,s,o,a,l,c){n.getVertexPosition(a,Fl),n.getVertexPosition(l,Nl),n.getVertexPosition(c,Ul);const h=bF(n,e,t,i,Fl,Nl,Ul,zd);if(h){r&&(kd.fromBufferAttribute(r,a),Hd.fromBufferAttribute(r,l),Gd.fromBufferAttribute(r,c),h.uv=Yi.getInterpolation(zd,Fl,Nl,Ul,kd,Hd,Gd,new ue)),s&&(kd.fromBufferAttribute(s,a),Hd.fromBufferAttribute(s,l),Gd.fromBufferAttribute(s,c),h.uv1=Yi.getInterpolation(zd,Fl,Nl,Ul,kd,Hd,Gd,new ue)),o&&(nE.fromBufferAttribute(o,a),iE.fromBufferAttribute(o,l),rE.fromBufferAttribute(o,c),h.normal=Yi.getInterpolation(zd,Fl,Nl,Ul,nE,iE,rE,new L),h.normal.dot(i.direction)>0&&h.normal.multiplyScalar(-1));const d={a,b:l,c,normal:new L,materialIndex:0};Yi.getNormal(Fl,Nl,Ul,d.normal),h.face=d}return h}class jo extends rt{constructor(e=1,t=1,i=1,r=1,s=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:i,widthSegments:r,heightSegments:s,depthSegments:o};const a=this;r=Math.floor(r),s=Math.floor(s),o=Math.floor(o);const l=[],c=[],h=[],d=[];let p=0,m=0;y("z","y","x",-1,-1,i,t,e,o,s,0),y("z","y","x",1,-1,i,t,-e,o,s,1),y("x","z","y",1,1,e,i,t,r,o,2),y("x","z","y",1,-1,e,i,-t,r,o,3),y("x","y","z",1,-1,e,t,i,r,s,4),y("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new Ve(c,3)),this.setAttribute("normal",new Ve(h,3)),this.setAttribute("uv",new Ve(d,2));function y(S,_,v,A,M,w,I,R,P,D,b){const C=w/P,O=I/D,J=w/2,H=I/2,ne=R/2,se=P+1,ce=D+1;let ge=0,N=0;const V=new L;for(let G=0;G0?1:-1,h.push(V.x,V.y,V.z),d.push(Me/P),d.push(1-G/D),ge+=1}}for(let G=0;G0&&(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 $f extends At{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Ue,this.projectionMatrix=new Ue,this.projectionMatrixInverse=new Ue,this.coordinateSystem=ss}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 ho=new L,sE=new ue,oE=new ue;class En extends $f{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=Lu*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(ka*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Lu*2*Math.atan(Math.tan(ka*.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){ho.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(ho.x,ho.y).multiplyScalar(-e/ho.z),ho.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(ho.x,ho.y).multiplyScalar(-e/ho.z)}getViewSize(e,t){return this.getViewBounds(e,sE,oE),t.subVectors(oE,sE)}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(ka*.5*this.fov)/this.zoom,i=2*t,r=this.aspect*i,s=-.5*r;const o=this.view;if(this.view!==null&&this.view.enabled){const l=o.fullWidth,c=o.fullHeight;s+=o.offsetX*r/l,t-=o.offsetY*i/c,r*=o.width/l,i*=o.height/c}const a=this.filmOffset;a!==0&&(s+=e*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+r,t,t-i,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const Ol=-90,kl=1;class Vb extends At{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new En(Ol,kl,e,t);r.layers=this.layers,this.add(r);const s=new En(Ol,kl,e,t);s.layers=this.layers,this.add(s);const o=new En(Ol,kl,e,t);o.layers=this.layers,this.add(o);const a=new En(Ol,kl,e,t);a.layers=this.layers,this.add(a);const l=new En(Ol,kl,e,t);l.layers=this.layers,this.add(l);const c=new En(Ol,kl,e,t);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,s,o,a,l]=t;for(const c of t)this.remove(c);if(e===ss)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===Nf)i.up.set(0,-1,0),i.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const c of t)this.add(c),c.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:i,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,o,a,l,c,h]=this.children,d=e.getRenderTarget(),p=e.getActiveCubeFace(),m=e.getActiveMipmapLevel(),y=e.xr.enabled;e.xr.enabled=!1;const S=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,e.setRenderTarget(i,0,r),e.render(t,s),e.setRenderTarget(i,1,r),e.render(t,o),e.setRenderTarget(i,2,r),e.render(t,a),e.setRenderTarget(i,3,r),e.render(t,l),e.setRenderTarget(i,4,r),e.render(t,c),i.texture.generateMipmaps=S,e.setRenderTarget(i,5,r),e.render(t,h),e.setRenderTarget(d,p,m),e.xr.enabled=y,i.texture.needsPMREMUpdate=!0}}class eh extends zt{constructor(e,t,i,r,s,o,a,l,c,h){e=e!==void 0?e:[],t=t!==void 0?t:Vs,super(e,t,i,r,s,o,a,l,c,h),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class Wb extends Jr{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 eh(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:tn}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 jo(5,5,5),s=new Er({name:"CubemapFromEquirect",uniforms:Du(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:Si,blending:Us});s.uniforms.tEquirect.value=t;const o=new Jt(r,s),a=t.minFilter;return t.minFilter===Di&&(t.minFilter=tn),new Vb(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 Mv=new L,LF=new L,DF=new dt;class kr{constructor(e=new L(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=Mv.subVectors(i,t).cross(LF.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(Mv),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||DF.getNormalMatrix(e),r=this.coplanarPoint(Mv).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 ua=new Rn,Xd=new L;class th{constructor(e=new kr,t=new kr,i=new kr,r=new kr,s=new kr,o=new kr){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=ss){const i=this.planes,r=e.elements,s=r[0],o=r[1],a=r[2],l=r[3],c=r[4],h=r[5],d=r[6],p=r[7],m=r[8],y=r[9],S=r[10],_=r[11],v=r[12],A=r[13],M=r[14],w=r[15];if(i[0].setComponents(l-s,p-c,_-m,w-v).normalize(),i[1].setComponents(l+s,p+c,_+m,w+v).normalize(),i[2].setComponents(l+o,p+h,_+y,w+A).normalize(),i[3].setComponents(l-o,p-h,_-y,w-A).normalize(),i[4].setComponents(l-a,p-d,_-S,w-M).normalize(),t===ss)i[5].setComponents(l+a,p+d,_+S,w+M).normalize();else if(t===Nf)i[5].setComponents(a,d,S,M).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(),ua.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),ua.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(ua)}intersectsSprite(e){return ua.center.set(0,0,0),ua.radius=.7071067811865476,ua.applyMatrix4(e.matrixWorld),this.intersectsSphere(ua)}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,Xd.y=r.normal.y>0?e.max.y:e.min.y,Xd.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Xd)<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 Xb(){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 FF(n){const e=new WeakMap;function t(a,l){const c=a.array,h=a.usage,d=c.byteLength,p=n.createBuffer();n.bindBuffer(l,p),n.bufferData(l,c,h),a.onUploadCallback();let m;if(c instanceof Float32Array)m=n.FLOAT;else if(c instanceof Uint16Array)a.isFloat16BufferAttribute?m=n.HALF_FLOAT:m=n.UNSIGNED_SHORT;else if(c instanceof Int16Array)m=n.SHORT;else if(c instanceof Uint32Array)m=n.UNSIGNED_INT;else if(c instanceof Int32Array)m=n.INT;else if(c instanceof Int8Array)m=n.BYTE;else if(c instanceof Uint8Array)m=n.UNSIGNED_BYTE;else if(c instanceof Uint8ClampedArray)m=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+c);return{buffer:p,type:m,bytesPerElement:c.BYTES_PER_ELEMENT,version:a.version,size:d}}function i(a,l,c){const h=l.array,d=l._updateRange,p=l.updateRanges;if(n.bindBuffer(c,a),d.count===-1&&p.length===0&&n.bufferSubData(c,0,h),p.length!==0){for(let m=0,y=p.length;m 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`,ZF=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; +#endif`,$F=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,eN=`#if NUM_CLIPPING_PLANES > 0 + vClipPosition = - mvPosition.xyz; +#endif`,tN=`#if defined( USE_COLOR_ALPHA ) + diffuseColor *= vColor; +#elif defined( USE_COLOR ) + diffuseColor.rgb *= vColor; +#endif`,nN=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) + varying vec3 vColor; +#endif`,iN=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) + varying vec3 vColor; +#endif`,rN=`#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`,sN=`#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`,oN=`#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`,aN=`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`,lN=`#ifdef USE_DISPLACEMENTMAP + uniform sampler2D displacementMap; + uniform float displacementScale; + uniform float displacementBias; +#endif`,uN=`#ifdef USE_DISPLACEMENTMAP + transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); +#endif`,cN=`#ifdef USE_EMISSIVEMAP + vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); + totalEmissiveRadiance *= emissiveColor.rgb; +#endif`,fN=`#ifdef USE_EMISSIVEMAP + uniform sampler2D emissiveMap; +#endif`,hN="gl_FragColor = linearToOutputTexel( gl_FragColor );",dN=` +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 ); +}`,pN=`#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`,mN=`#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`,gN=`#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`,vN=`#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`,yN=`#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`,_N=`#ifdef USE_FOG + vFogDepth = - mvPosition.z; +#endif`,xN=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,AN=`#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`,SN=`#ifdef USE_FOG + uniform vec3 fogColor; + varying float vFogDepth; + #ifdef FOG_EXP2 + uniform float fogDensity; + #else + uniform float fogNear; + uniform float fogFar; + #endif +#endif`,MN=`#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 +}`,EN=`#ifdef USE_LIGHTMAP + uniform sampler2D lightMap; + uniform float lightMapIntensity; +#endif`,wN=`LambertMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularStrength = specularStrength;`,TN=`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`,CN=`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`,RN=`#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`,bN=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,PN=`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`,IN=`BlinnPhongMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularColor = specular; +material.specularShininess = shininess; +material.specularStrength = specularStrength;`,BN=`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`,LN=`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_DISPERSION + material.dispersion = dispersion; +#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`,DN=`struct PhysicalMaterial { + vec3 diffuseColor; + float roughness; + vec3 specularColor; + float specularF90; + float dispersion; + #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 ); +}`,FN=` +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`,NN=`#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`,UN=`#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`,ON=`#if defined( USE_LOGDEPTHBUF ) + gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,kN=`#if defined( USE_LOGDEPTHBUF ) + uniform float logDepthBufFC; + varying float vFragDepth; + varying float vIsPerspective; +#endif`,HN=`#ifdef USE_LOGDEPTHBUF + varying float vFragDepth; + varying float vIsPerspective; +#endif`,GN=`#ifdef USE_LOGDEPTHBUF + vFragDepth = 1.0 + gl_Position.w; + vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); +#endif`,zN=`#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`,VN=`#ifdef USE_MAP + uniform sampler2D map; +#endif`,WN=`#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`,XN=`#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`,JN=`float metalnessFactor = metalness; +#ifdef USE_METALNESSMAP + vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); + metalnessFactor *= texelMetalness.b; +#endif`,jN=`#ifdef USE_METALNESSMAP + uniform sampler2D metalnessMap; +#endif`,KN=`#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`,YN=`#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`,QN=`#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`,qN=`#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`,ZN=`#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`,$N=`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;`,e3=`#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`,t3=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,n3=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,i3=`#ifndef FLAT_SHADED + vNormal = normalize( transformedNormal ); + #ifdef USE_TANGENT + vTangent = normalize( transformedTangent ); + vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); + #endif +#endif`,r3=`#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`,s3=`#ifdef USE_CLEARCOAT + vec3 clearcoatNormal = nonPerturbedNormal; +#endif`,o3=`#ifdef USE_CLEARCOAT_NORMALMAP + vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; + clearcoatMapN.xy *= clearcoatNormalScale; + clearcoatNormal = normalize( tbn2 * clearcoatMapN ); +#endif`,a3=`#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`,l3=`#ifdef USE_IRIDESCENCEMAP + uniform sampler2D iridescenceMap; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + uniform sampler2D iridescenceThicknessMap; +#endif`,u3=`#ifdef OPAQUE +diffuseColor.a = 1.0; +#endif +#ifdef USE_TRANSMISSION +diffuseColor.a *= material.transmissionAlpha; +#endif +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,c3=`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 ); +}`,f3=`#ifdef PREMULTIPLIED_ALPHA + gl_FragColor.rgb *= gl_FragColor.a; +#endif`,h3=`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;`,d3=`#ifdef DITHERING + gl_FragColor.rgb = dithering( gl_FragColor.rgb ); +#endif`,p3=`#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`,m3=`float roughnessFactor = roughness; +#ifdef USE_ROUGHNESSMAP + vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); + roughnessFactor *= texelRoughness.g; +#endif`,g3=`#ifdef USE_ROUGHNESSMAP + uniform sampler2D roughnessMap; +#endif`,v3=`#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 ) { + float shadow = 1.0; + vec3 lightToPosition = shadowCoord.xyz; + + float lightToPositionLength = length( lightToPosition ); + if ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) { + float dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; + vec3 bd3D = normalize( lightToPosition ); + vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); + #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) + vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; + shadow = ( + 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 + shadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); + #endif + } + return shadow; + } +#endif`,y3=`#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`,_3=`#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`,x3=`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; +}`,A3=`#ifdef USE_SKINNING + mat4 boneMatX = getBoneMatrix( skinIndex.x ); + mat4 boneMatY = getBoneMatrix( skinIndex.y ); + mat4 boneMatZ = getBoneMatrix( skinIndex.z ); + mat4 boneMatW = getBoneMatrix( skinIndex.w ); +#endif`,S3=`#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`,M3=`#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`,E3=`#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`,w3=`float specularStrength; +#ifdef USE_SPECULARMAP + vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); + specularStrength = texelSpecular.r; +#else + specularStrength = 1.0; +#endif`,T3=`#ifdef USE_SPECULARMAP + uniform sampler2D specularMap; +#endif`,C3=`#if defined( TONE_MAPPING ) + gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); +#endif`,R3=`#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 ) { + const float StartCompression = 0.8 - 0.04; + const 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( newPeak ), g ); +} +vec3 CustomToneMapping( vec3 color ) { return color; }`,b3=`#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.dispersion, 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`,P3=`#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 dispersion, const in float ior, const in float thickness, + const in vec3 attenuationColor, const in float attenuationDistance ) { + vec4 transmittedLight; + vec3 transmittance; + #ifdef USE_DISPERSION + float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion; + vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread ); + for ( int i = 0; i < 3; i ++ ) { + vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix ); + vec3 refractedRayExit = position + transmissionRay; + + vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); + vec2 refractionCoords = ndcPos.xy / ndcPos.w; + refractionCoords += 1.0; + refractionCoords /= 2.0; + + vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] ); + transmittedLight[ i ] = transmissionSample[ i ]; + transmittedLight.a += transmissionSample.a; + transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ]; + } + transmittedLight.a /= 3.0; + + #else + + 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; + transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); + transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); + + #endif + 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`,I3=`#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`,B3=`#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`,L3=`#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`,D3=`#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 F3=`varying vec2 vUv; +uniform mat3 uvTransform; +void main() { + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; + gl_Position = vec4( position.xy, 1.0, 1.0 ); +}`,N3=`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 +}`,U3=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,O3=`#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 +}`,k3=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,H3=`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 +}`,G3=`#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; +}`,z3=`#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 +}`,V3=`#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; +}`,W3=`#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 ); +}`,X3=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include +}`,J3=`uniform sampler2D tEquirect; +varying vec3 vWorldDirection; +#include +void main() { + vec3 direction = normalize( vWorldDirection ); + vec2 sampleUV = equirectUv( direction ); + gl_FragColor = texture2D( tEquirect, sampleUV ); + #include + #include +}`,j3=`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 +}`,K3=`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 +}`,Y3=`#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 +}`,Q3=`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 +}`,q3=`#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 +}`,Z3=`#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 +}`,$3=`#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; +}`,eU=`#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 +}`,tU=`#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 +}`,nU=`#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 +}`,iU=`#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 +}`,rU=`#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 +}`,sU=`#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 +}`,oU=`#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_DISPERSION + uniform float dispersion; +#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 +}`,aU=`#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 +}`,lU=`#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 +}`,uU=`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 +}`,cU=`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 +}`,fU=`#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,hU=`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 +}`,dU=`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 +}`,pU=`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 +}`,vt={alphahash_fragment:NF,alphahash_pars_fragment:UF,alphamap_fragment:OF,alphamap_pars_fragment:kF,alphatest_fragment:HF,alphatest_pars_fragment:GF,aomap_fragment:zF,aomap_pars_fragment:VF,batching_pars_vertex:WF,batching_vertex:XF,begin_vertex:JF,beginnormal_vertex:jF,bsdfs:KF,iridescence_fragment:YF,bumpmap_pars_fragment:QF,clipping_planes_fragment:qF,clipping_planes_pars_fragment:ZF,clipping_planes_pars_vertex:$F,clipping_planes_vertex:eN,color_fragment:tN,color_pars_fragment:nN,color_pars_vertex:iN,color_vertex:rN,common:sN,cube_uv_reflection_fragment:oN,defaultnormal_vertex:aN,displacementmap_pars_vertex:lN,displacementmap_vertex:uN,emissivemap_fragment:cN,emissivemap_pars_fragment:fN,colorspace_fragment:hN,colorspace_pars_fragment:dN,envmap_fragment:pN,envmap_common_pars_fragment:mN,envmap_pars_fragment:gN,envmap_pars_vertex:vN,envmap_physical_pars_fragment:RN,envmap_vertex:yN,fog_vertex:_N,fog_pars_vertex:xN,fog_fragment:AN,fog_pars_fragment:SN,gradientmap_pars_fragment:MN,lightmap_pars_fragment:EN,lights_lambert_fragment:wN,lights_lambert_pars_fragment:TN,lights_pars_begin:CN,lights_toon_fragment:bN,lights_toon_pars_fragment:PN,lights_phong_fragment:IN,lights_phong_pars_fragment:BN,lights_physical_fragment:LN,lights_physical_pars_fragment:DN,lights_fragment_begin:FN,lights_fragment_maps:NN,lights_fragment_end:UN,logdepthbuf_fragment:ON,logdepthbuf_pars_fragment:kN,logdepthbuf_pars_vertex:HN,logdepthbuf_vertex:GN,map_fragment:zN,map_pars_fragment:VN,map_particle_fragment:WN,map_particle_pars_fragment:XN,metalnessmap_fragment:JN,metalnessmap_pars_fragment:jN,morphinstance_vertex:KN,morphcolor_vertex:YN,morphnormal_vertex:QN,morphtarget_pars_vertex:qN,morphtarget_vertex:ZN,normal_fragment_begin:$N,normal_fragment_maps:e3,normal_pars_fragment:t3,normal_pars_vertex:n3,normal_vertex:i3,normalmap_pars_fragment:r3,clearcoat_normal_fragment_begin:s3,clearcoat_normal_fragment_maps:o3,clearcoat_pars_fragment:a3,iridescence_pars_fragment:l3,opaque_fragment:u3,packing:c3,premultiplied_alpha_fragment:f3,project_vertex:h3,dithering_fragment:d3,dithering_pars_fragment:p3,roughnessmap_fragment:m3,roughnessmap_pars_fragment:g3,shadowmap_pars_fragment:v3,shadowmap_pars_vertex:y3,shadowmap_vertex:_3,shadowmask_pars_fragment:x3,skinbase_vertex:A3,skinning_pars_vertex:S3,skinning_vertex:M3,skinnormal_vertex:E3,specularmap_fragment:w3,specularmap_pars_fragment:T3,tonemapping_fragment:C3,tonemapping_pars_fragment:R3,transmission_fragment:b3,transmission_pars_fragment:P3,uv_pars_fragment:I3,uv_pars_vertex:B3,uv_vertex:L3,worldpos_vertex:D3,background_vert:F3,background_frag:N3,backgroundCube_vert:U3,backgroundCube_frag:O3,cube_vert:k3,cube_frag:H3,depth_vert:G3,depth_frag:z3,distanceRGBA_vert:V3,distanceRGBA_frag:W3,equirect_vert:X3,equirect_frag:J3,linedashed_vert:j3,linedashed_frag:K3,meshbasic_vert:Y3,meshbasic_frag:Q3,meshlambert_vert:q3,meshlambert_frag:Z3,meshmatcap_vert:$3,meshmatcap_frag:eU,meshnormal_vert:tU,meshnormal_frag:nU,meshphong_vert:iU,meshphong_frag:rU,meshphysical_vert:sU,meshphysical_frag:oU,meshtoon_vert:aU,meshtoon_frag:lU,points_vert:uU,points_frag:cU,shadow_vert:fU,shadow_frag:hU,sprite_vert:dU,sprite_frag:pU},be={common:{diffuse:{value:new we(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new dt},alphaMap:{value:null},alphaMapTransform:{value:new dt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new dt}},envmap:{envMap:{value:null},envMapRotation:{value:new dt},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new dt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new dt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new dt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new dt},normalScale:{value:new ue(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new dt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new dt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new dt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new dt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new we(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 we(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new dt},alphaTest:{value:0},uvTransform:{value:new dt}},sprite:{diffuse:{value:new we(16777215)},opacity:{value:1},center:{value:new ue(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new dt},alphaMap:{value:null},alphaMapTransform:{value:new dt},alphaTest:{value:0}}},Hr={basic:{uniforms:vi([be.common,be.specularmap,be.envmap,be.aomap,be.lightmap,be.fog]),vertexShader:vt.meshbasic_vert,fragmentShader:vt.meshbasic_frag},lambert:{uniforms:vi([be.common,be.specularmap,be.envmap,be.aomap,be.lightmap,be.emissivemap,be.bumpmap,be.normalmap,be.displacementmap,be.fog,be.lights,{emissive:{value:new we(0)}}]),vertexShader:vt.meshlambert_vert,fragmentShader:vt.meshlambert_frag},phong:{uniforms:vi([be.common,be.specularmap,be.envmap,be.aomap,be.lightmap,be.emissivemap,be.bumpmap,be.normalmap,be.displacementmap,be.fog,be.lights,{emissive:{value:new we(0)},specular:{value:new we(1118481)},shininess:{value:30}}]),vertexShader:vt.meshphong_vert,fragmentShader:vt.meshphong_frag},standard:{uniforms:vi([be.common,be.envmap,be.aomap,be.lightmap,be.emissivemap,be.bumpmap,be.normalmap,be.displacementmap,be.roughnessmap,be.metalnessmap,be.fog,be.lights,{emissive:{value:new we(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:vt.meshphysical_vert,fragmentShader:vt.meshphysical_frag},toon:{uniforms:vi([be.common,be.aomap,be.lightmap,be.emissivemap,be.bumpmap,be.normalmap,be.displacementmap,be.gradientmap,be.fog,be.lights,{emissive:{value:new we(0)}}]),vertexShader:vt.meshtoon_vert,fragmentShader:vt.meshtoon_frag},matcap:{uniforms:vi([be.common,be.bumpmap,be.normalmap,be.displacementmap,be.fog,{matcap:{value:null}}]),vertexShader:vt.meshmatcap_vert,fragmentShader:vt.meshmatcap_frag},points:{uniforms:vi([be.points,be.fog]),vertexShader:vt.points_vert,fragmentShader:vt.points_frag},dashed:{uniforms:vi([be.common,be.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:vt.linedashed_vert,fragmentShader:vt.linedashed_frag},depth:{uniforms:vi([be.common,be.displacementmap]),vertexShader:vt.depth_vert,fragmentShader:vt.depth_frag},normal:{uniforms:vi([be.common,be.bumpmap,be.normalmap,be.displacementmap,{opacity:{value:1}}]),vertexShader:vt.meshnormal_vert,fragmentShader:vt.meshnormal_frag},sprite:{uniforms:vi([be.sprite,be.fog]),vertexShader:vt.sprite_vert,fragmentShader:vt.sprite_frag},background:{uniforms:{uvTransform:{value:new dt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:vt.background_vert,fragmentShader:vt.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new dt}},vertexShader:vt.backgroundCube_vert,fragmentShader:vt.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:vt.cube_vert,fragmentShader:vt.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:vt.equirect_vert,fragmentShader:vt.equirect_frag},distanceRGBA:{uniforms:vi([be.common,be.displacementmap,{referencePosition:{value:new L},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:vt.distanceRGBA_vert,fragmentShader:vt.distanceRGBA_frag},shadow:{uniforms:vi([be.lights,be.fog,{color:{value:new we(0)},opacity:{value:1}}]),vertexShader:vt.shadow_vert,fragmentShader:vt.shadow_frag}};Hr.physical={uniforms:vi([Hr.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new dt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new dt},clearcoatNormalScale:{value:new ue(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new dt},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new dt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new dt},sheen:{value:0},sheenColor:{value:new we(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new dt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new dt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new dt},transmissionSamplerSize:{value:new ue},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new dt},attenuationDistance:{value:0},attenuationColor:{value:new we(0)},specularColor:{value:new we(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new dt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new dt},anisotropyVector:{value:new ue},anisotropyMap:{value:null},anisotropyMapTransform:{value:new dt}}]),vertexShader:vt.meshphysical_vert,fragmentShader:vt.meshphysical_frag};const Jd={r:0,b:0,g:0},ca=new ki,mU=new Ue;function gU(n,e,t,i,r,s,o){const a=new we(0);let l=s===!0?0:1,c,h,d=null,p=0,m=null;function y(A){let M=A.isScene===!0?A.background:null;return M&&M.isTexture&&(M=(A.backgroundBlurriness>0?t:e).get(M)),M}function S(A){let M=!1;const w=y(A);w===null?v(a,l):w&&w.isColor&&(v(w,1),M=!0);const I=n.xr.getEnvironmentBlendMode();I==="additive"?i.buffers.color.setClear(0,0,0,1,o):I==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||M)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil)}function _(A,M){const w=y(M);w&&(w.isCubeTexture||w.mapping===Vu)?(h===void 0&&(h=new Jt(new jo(1,1,1),new Er({name:"BackgroundCubeMaterial",uniforms:Du(Hr.backgroundCube.uniforms),vertexShader:Hr.backgroundCube.vertexShader,fragmentShader:Hr.backgroundCube.fragmentShader,side:Si,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),h.geometry.deleteAttribute("uv"),h.onBeforeRender=function(I,R,P){this.matrixWorld.copyPosition(P.matrixWorld)},Object.defineProperty(h.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(h)),ca.copy(M.backgroundRotation),ca.x*=-1,ca.y*=-1,ca.z*=-1,w.isCubeTexture&&w.isRenderTargetTexture===!1&&(ca.y*=-1,ca.z*=-1),h.material.uniforms.envMap.value=w,h.material.uniforms.flipEnvMap.value=w.isCubeTexture&&w.isRenderTargetTexture===!1?-1:1,h.material.uniforms.backgroundBlurriness.value=M.backgroundBlurriness,h.material.uniforms.backgroundIntensity.value=M.backgroundIntensity,h.material.uniforms.backgroundRotation.value.setFromMatrix4(mU.makeRotationFromEuler(ca)),h.material.toneMapped=Ut.getTransfer(w.colorSpace)!==Vt,(d!==w||p!==w.version||m!==n.toneMapping)&&(h.material.needsUpdate=!0,d=w,p=w.version,m=n.toneMapping),h.layers.enableAll(),A.unshift(h,h.geometry,h.material,0,0,null)):w&&w.isTexture&&(c===void 0&&(c=new Jt(new el(2,2),new Er({name:"BackgroundMaterial",uniforms:Du(Hr.background.uniforms),vertexShader:Hr.background.vertexShader,fragmentShader:Hr.background.fragmentShader,side:Wr,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),Object.defineProperty(c.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(c)),c.material.uniforms.t2D.value=w,c.material.uniforms.backgroundIntensity.value=M.backgroundIntensity,c.material.toneMapped=Ut.getTransfer(w.colorSpace)!==Vt,w.matrixAutoUpdate===!0&&w.updateMatrix(),c.material.uniforms.uvTransform.value.copy(w.matrix),(d!==w||p!==w.version||m!==n.toneMapping)&&(c.material.needsUpdate=!0,d=w,p=w.version,m=n.toneMapping),c.layers.enableAll(),A.unshift(c,c.geometry,c.material,0,0,null))}function v(A,M){A.getRGB(Jd,Gb(n)),i.buffers.color.setClear(Jd.r,Jd.g,Jd.b,M,o)}return{getClearColor:function(){return a},setClearColor:function(A,M=1){a.set(A),l=M,v(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(A){l=A,v(a,l)},render:S,addToRenderList:_}}function vU(n,e){const t=n.getParameter(n.MAX_VERTEX_ATTRIBS),i={},r=p(null);let s=r,o=!1;function a(C,O,J,H,ne){let se=!1;const ce=d(H,J,O);s!==ce&&(s=ce,c(s.object)),se=m(C,H,J,ne),se&&y(C,H,J,ne),ne!==null&&e.update(ne,n.ELEMENT_ARRAY_BUFFER),(se||o)&&(o=!1,w(C,O,J,H),ne!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,e.get(ne).buffer))}function l(){return n.createVertexArray()}function c(C){return n.bindVertexArray(C)}function h(C){return n.deleteVertexArray(C)}function d(C,O,J){const H=J.wireframe===!0;let ne=i[C.id];ne===void 0&&(ne={},i[C.id]=ne);let se=ne[O.id];se===void 0&&(se={},ne[O.id]=se);let ce=se[H];return ce===void 0&&(ce=p(l()),se[H]=ce),ce}function p(C){const O=[],J=[],H=[];for(let ne=0;ne=0){const G=ne[N];let oe=se[N];if(oe===void 0&&(N==="instanceMatrix"&&C.instanceMatrix&&(oe=C.instanceMatrix),N==="instanceColor"&&C.instanceColor&&(oe=C.instanceColor)),G===void 0||G.attribute!==oe||oe&&G.data!==oe.data)return!0;ce++}return s.attributesNum!==ce||s.index!==H}function y(C,O,J,H){const ne={},se=O.attributes;let ce=0;const ge=J.getAttributes();for(const N in ge)if(ge[N].location>=0){let G=se[N];G===void 0&&(N==="instanceMatrix"&&C.instanceMatrix&&(G=C.instanceMatrix),N==="instanceColor"&&C.instanceColor&&(G=C.instanceColor));const oe={};oe.attribute=G,G&&G.data&&(oe.data=G.data),ne[N]=oe,ce++}s.attributes=ne,s.attributesNum=ce,s.index=H}function S(){const C=s.newAttributes;for(let O=0,J=C.length;O=0){let V=ne[ge];if(V===void 0&&(ge==="instanceMatrix"&&C.instanceMatrix&&(V=C.instanceMatrix),ge==="instanceColor"&&C.instanceColor&&(V=C.instanceColor)),V!==void 0){const G=V.normalized,oe=V.itemSize,Me=e.get(V);if(Me===void 0)continue;const ze=Me.buffer,te=Me.type,ye=Me.bytesPerElement,Ce=te===n.INT||te===n.UNSIGNED_INT||V.gpuType===rA;if(V.isInterleavedBufferAttribute){const Ae=V.data,ft=Ae.stride,mt=V.offset;if(Ae.isInstancedInterleavedBuffer){for(let j=0;j0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";R="mediump"}return R==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let c=t.precision!==void 0?t.precision:"highp";const h=l(c);h!==c&&(console.warn("THREE.WebGLRenderer:",c,"not supported, using",h,"instead."),c=h);const d=t.logarithmicDepthBuffer===!0,p=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),m=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),y=n.getParameter(n.MAX_TEXTURE_SIZE),S=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),_=n.getParameter(n.MAX_VERTEX_ATTRIBS),v=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),A=n.getParameter(n.MAX_VARYING_VECTORS),M=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),w=m>0,I=n.getParameter(n.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:s,getMaxPrecision:l,textureFormatReadable:o,textureTypeReadable:a,precision:c,logarithmicDepthBuffer:d,maxTextures:p,maxVertexTextures:m,maxTextureSize:y,maxCubemapSize:S,maxAttributes:_,maxVertexUniforms:v,maxVaryings:A,maxFragmentUniforms:M,vertexTextures:w,maxSamples:I}}function xU(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new kr,a=new dt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(d,p){const m=d.length!==0||p||i!==0||r;return r=p,i=d.length,m},this.beginShadows=function(){s=!0,h(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(d,p){t=h(d,p,0)},this.setState=function(d,p,m){const y=d.clippingPlanes,S=d.clipIntersection,_=d.clipShadows,v=n.get(d);if(!r||y===null||y.length===0||s&&!_)s?h(null):c();else{const A=s?0:i,M=A*4;let w=v.clippingState||null;l.value=w,w=h(y,p,M,m);for(let I=0;I!==M;++I)w[I]=t[I];v.clippingState=w,this.numIntersection=S?this.numPlanes:0,this.numPlanes+=A}};function c(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function h(d,p,m,y){const S=d!==null?d.length:0;let _=null;if(S!==0){if(_=l.value,y!==!0||_===null){const v=m+S*4,A=p.matrixWorldInverse;a.getNormalMatrix(A),(_===null||_.length0){const c=new Wb(l.height);return c.fromEquirectangularTexture(n,o),e.set(o,c),o.addEventListener("dispose",r),t(c.texture,o.mapping)}else return null}}return o}function r(o){const a=o.target;a.removeEventListener("dispose",r);const l=e.get(a);l!==void 0&&(e.delete(a),l.dispose())}function s(){e=new WeakMap}return{get:i,dispose:s}}class tl extends $f{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 c=(this.right-this.left)/this.view.fullWidth/this.zoom,h=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=c*this.view.offsetX,o=s+c*this.view.width,a-=h*this.view.offsetY,l=a-h*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 fu=4,aE=[.125,.215,.35,.446,.526,.582],Ea=20,Ev=new tl,lE=new we;let wv=null,Tv=0,Cv=0,Rv=!1;const Ma=(1+Math.sqrt(5))/2,Hl=1/Ma,uE=[new L(-Ma,Hl,0),new L(Ma,Hl,0),new L(-Hl,0,Ma),new L(Hl,0,Ma),new L(0,Ma,-Hl),new L(0,Ma,Hl),new L(-1,1,-1),new L(1,1,-1),new L(-1,1,1),new L(1,1,1)];class J_{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){wv=this._renderer.getRenderTarget(),Tv=this._renderer.getActiveCubeFace(),Cv=this._renderer.getActiveMipmapLevel(),Rv=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=hE(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=fE(),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?M:0,M,M),h.setRenderTarget(r),S&&h.render(y,a),h.render(e,a)}y.geometry.dispose(),y.material.dispose(),h.toneMapping=p,h.autoClear=d,e.background=_}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===Vs||e.mapping===Ho;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=hE()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=fE());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new Jt(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;jd(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,Ev)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;const r=this._lodPlanes.length;for(let s=1;sEa&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${_} samples when the maximum is set to ${Ea}`);const v=[];let A=0;for(let P=0;PM-fu?r-M+fu:0),R=4*(this._cubeSize-w);jd(t,I,R,3*w,2*w),l.setRenderTarget(t),l.render(d,Ev)}}function SU(n){const e=[],t=[],i=[];let r=n;const s=n-fu+1+aE.length;for(let o=0;on-fu?l=aE[o-n+fu-1]:o===0&&(l=0),i.push(l);const c=1/(a-2),h=-c,d=1+c,p=[h,h,d,h,d,d,h,h,d,d,h,d],m=6,y=6,S=3,_=2,v=1,A=new Float32Array(S*y*m),M=new Float32Array(_*y*m),w=new Float32Array(v*y*m);for(let R=0;R2?0:-1,b=[P,D,0,P+2/3,D,0,P+2/3,D+1,0,P,D,0,P+2/3,D+1,0,P,D+1,0];A.set(b,S*y*R),M.set(p,_*y*R);const C=[R,R,R,R,R,R];w.set(C,v*y*R)}const I=new rt;I.setAttribute("position",new it(A,S)),I.setAttribute("uv",new it(M,_)),I.setAttribute("faceIndex",new it(w,v)),e.push(I),r>fu&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function cE(n,e,t){const i=new Jr(n,e,t);return i.texture.mapping=Vu,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function jd(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function MU(n,e,t){const i=new Float32Array(Ea),r=new L(0,1,0);return new Er({name:"SphericalGaussianBlur",defines:{n:Ea,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:_A(),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:Us,depthTest:!1,depthWrite:!1})}function fE(){return new Er({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:_A(),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:Us,depthTest:!1,depthWrite:!1})}function hE(){return new Er({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:_A(),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:Us,depthTest:!1,depthWrite:!1})}function _A(){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 EU(n){let e=new WeakMap,t=null;function i(a){if(a&&a.isTexture){const l=a.mapping,c=l===bf||l===Pf,h=l===Vs||l===Ho;if(c||h){let d=e.get(a);const p=d!==void 0?d.texture.pmremVersion:0;if(a.isRenderTargetTexture&&a.pmremVersion!==p)return t===null&&(t=new J_(n)),d=c?t.fromEquirectangular(a,d):t.fromCubemap(a,d),d.texture.pmremVersion=a.pmremVersion,e.set(a,d),d.texture;if(d!==void 0)return d.texture;{const m=a.image;return c&&m&&m.height>0||h&&m&&r(m)?(t===null&&(t=new J_(n)),d=c?t.fromEquirectangular(a):t.fromCubemap(a),d.texture.pmremVersion=a.pmremVersion,e.set(a,d),a.addEventListener("dispose",s),d.texture):null}}}return a}function r(a){let l=0;const c=6;for(let h=0;he.maxTextureSize&&(R=Math.ceil(I/e.maxTextureSize),I=e.maxTextureSize);const P=new Float32Array(I*R*4*d),D=new Ym(P,I,R,d);D.type=_r,D.needsUpdate=!0;const b=w*4;for(let O=0;O0)return n;const r=e*t;let s=dE[r];if(s===void 0&&(s=new Float32Array(r),dE[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 Ln(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t":" "} ${a}: ${t[o]}`)}return i.join(` +`)}function EO(n){const e=Ut.getPrimaries(Ut.workingColorSpace),t=Ut.getPrimaries(n);let i;switch(e===t?i="":e===Df&&t===Lf?i="LinearDisplayP3ToLinearSRGB":e===Lf&&t===Df&&(i="LinearSRGBToLinearDisplayP3"),n){case Vn:case Zf:return[i,"LinearTransferOETF"];case Jn:case Km:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function xE(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+` + +`+MO(n.getShaderSource(e),o)}else return r}function wO(n,e){const t=EO(e);return`vec4 ${n}( vec4 value ) { return ${t[0]}( ${t[1]}( value ) ); }`}function TO(n,e){let t;switch(e){case ob:t="Linear";break;case ab:t="Reinhard";break;case lb:t="OptimizedCineon";break;case nA:t="ACESFilmic";break;case cb:t="AgX";break;case fb:t="Neutral";break;case ub:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function CO(n){return[n.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",n.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(Yc).join(` +`)}function RO(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(` +`)}function bO(n,e){const t={},i=n.getProgramParameter(e,n.ACTIVE_ATTRIBUTES);for(let r=0;r/gm;function j_(n){return n.replace(PO,BO)}const IO=new Map;function BO(n,e){let t=vt[e];if(t===void 0){const i=IO.get(e);if(i!==void 0)t=vt[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 j_(t)}const LO=/#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 ME(n){return n.replace(LO,DO)}function DO(n,e,t,i){let r="";for(let s=parseInt(e);s0&&(_+=` +`),v=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,y].filter(Yc).join(` +`),v.length>0&&(v+=` +`)):(_=[EE(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,y,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 "+h:"",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?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," 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(Yc).join(` +`),v=[EE(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,y,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+c:"",t.envMap?"#define "+h:"",t.envMap?"#define "+d:"",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.dispersion?"#define USE_DISPERSION":"",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":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==ls?"#define TONE_MAPPING":"",t.toneMapping!==ls?vt.tonemapping_pars_fragment:"",t.toneMapping!==ls?TO("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",vt.colorspace_pars_fragment,wO("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` +`].filter(Yc).join(` +`)),o=j_(o),o=AE(o,t),o=SE(o,t),a=j_(a),a=AE(a,t),a=SE(a,t),o=ME(o),a=ME(a),t.isRawShaderMaterial!==!0&&(A=`#version 300 es +`,_=[m,"#define attribute in","#define varying out","#define texture2D texture"].join(` +`)+` +`+_,v=["#define varying in",t.glslVersion===X_?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===X_?"":"#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(` +`)+` +`+v);const M=A+_+o,w=A+v+a,I=_E(r,r.VERTEX_SHADER,M),R=_E(r,r.FRAGMENT_SHADER,w);r.attachShader(S,I),r.attachShader(S,R),t.index0AttributeName!==void 0?r.bindAttribLocation(S,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(S,0,"position"),r.linkProgram(S);function P(O){if(n.debug.checkShaderErrors){const J=r.getProgramInfoLog(S).trim(),H=r.getShaderInfoLog(I).trim(),ne=r.getShaderInfoLog(R).trim();let se=!0,ce=!0;if(r.getProgramParameter(S,r.LINK_STATUS)===!1)if(se=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,S,I,R);else{const ge=xE(r,I,"vertex"),N=xE(r,R,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(S,r.VALIDATE_STATUS)+` + +Material Name: `+O.name+` +Material Type: `+O.type+` + +Program Info Log: `+J+` +`+ge+` +`+N)}else J!==""?console.warn("THREE.WebGLProgram: Program Info Log:",J):(H===""||ne==="")&&(ce=!1);ce&&(O.diagnostics={runnable:se,programLog:J,vertexShader:{log:H,prefix:_},fragmentShader:{log:ne,prefix:v}})}r.deleteShader(I),r.deleteShader(R),D=new Jp(r,S),b=bO(r,S)}let D;this.getUniforms=function(){return D===void 0&&P(this),D};let b;this.getAttributes=function(){return b===void 0&&P(this),b};let C=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return C===!1&&(C=r.getProgramParameter(S,AO)),C},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(S),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=SO++,this.cacheKey=e,this.usedTimes=1,this.program=S,this.vertexShader=I,this.fragmentShader=R,this}let GO=0;class zO{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 VO(e),t.set(e,i)),i}}class VO{constructor(e){this.id=GO++,this.code=e,this.usedTimes=0}}function WO(n,e,t,i,r,s,o){const a=new Ha,l=new zO,c=new Set,h=[],d=r.logarithmicDepthBuffer,p=r.vertexTextures;let m=r.precision;const y={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 S(b){return c.add(b),b===0?"uv":`uv${b}`}function _(b,C,O,J,H){const ne=J.fog,se=H.geometry,ce=b.isMeshStandardMaterial?J.environment:null,ge=(b.isMeshStandardMaterial?t:e).get(b.envMap||ce),N=ge&&ge.mapping===Vu?ge.image.height:null,V=y[b.type];b.precision!==null&&(m=r.getMaxPrecision(b.precision),m!==b.precision&&console.warn("THREE.WebGLProgram.getParameters:",b.precision,"not supported, using",m,"instead."));const G=se.morphAttributes.position||se.morphAttributes.normal||se.morphAttributes.color,oe=G!==void 0?G.length:0;let Me=0;se.morphAttributes.position!==void 0&&(Me=1),se.morphAttributes.normal!==void 0&&(Me=2),se.morphAttributes.color!==void 0&&(Me=3);let ze,te,ye,Ce;if(V){const It=Hr[V];ze=It.vertexShader,te=It.fragmentShader}else ze=b.vertexShader,te=b.fragmentShader,l.update(b),ye=l.getVertexShaderID(b),Ce=l.getFragmentShaderID(b);const Ae=n.getRenderTarget(),ft=H.isInstancedMesh===!0,mt=H.isBatchedMesh===!0,j=!!b.map,nt=!!b.matcap,le=!!ge,me=!!b.aoMap,de=!!b.lightMap,Re=!!b.bumpMap,xe=!!b.normalMap,Oe=!!b.displacementMap,Qe=!!b.emissiveMap,k=!!b.metalnessMap,B=!!b.roughnessMap,q=b.anisotropy>0,he=b.clearcoat>0,_e=b.dispersion>0,pe=b.iridescence>0,Ye=b.sheen>0,Ie=b.transmission>0,Pe=q&&!!b.anisotropyMap,lt=he&&!!b.clearcoatMap,Te=he&&!!b.clearcoatNormalMap,je=he&&!!b.clearcoatRoughnessMap,St=pe&&!!b.iridescenceMap,et=pe&&!!b.iridescenceThicknessMap,He=Ye&&!!b.sheenColorMap,gt=Ye&&!!b.sheenRoughnessMap,Mt=!!b.specularMap,nn=!!b.specularColorMap,ht=!!b.specularIntensityMap,W=Ie&&!!b.transmissionMap,ve=Ie&&!!b.thicknessMap,fe=!!b.gradientMap,Be=!!b.alphaMap,Ne=b.alphaTest>0,bt=!!b.alphaHash,Ht=!!b.extensions;let Kt=ls;b.toneMapped&&(Ae===null||Ae.isXRRenderTarget===!0)&&(Kt=n.toneMapping);const Fn={shaderID:V,shaderType:b.type,shaderName:b.name,vertexShader:ze,fragmentShader:te,defines:b.defines,customVertexShaderID:ye,customFragmentShaderID:Ce,isRawShaderMaterial:b.isRawShaderMaterial===!0,glslVersion:b.glslVersion,precision:m,batching:mt,instancing:ft,instancingColor:ft&&H.instanceColor!==null,instancingMorph:ft&&H.morphTexture!==null,supportsVertexTextures:p,outputColorSpace:Ae===null?n.outputColorSpace:Ae.isXRRenderTarget===!0?Ae.texture.colorSpace:Vn,alphaToCoverage:!!b.alphaToCoverage,map:j,matcap:nt,envMap:le,envMapMode:le&&ge.mapping,envMapCubeUVHeight:N,aoMap:me,lightMap:de,bumpMap:Re,normalMap:xe,displacementMap:p&&Oe,emissiveMap:Qe,normalMapObjectSpace:xe&&b.normalMapType===Cb,normalMapTangentSpace:xe&&b.normalMapType===Xo,metalnessMap:k,roughnessMap:B,anisotropy:q,anisotropyMap:Pe,clearcoat:he,clearcoatMap:lt,clearcoatNormalMap:Te,clearcoatRoughnessMap:je,dispersion:_e,iridescence:pe,iridescenceMap:St,iridescenceThicknessMap:et,sheen:Ye,sheenColorMap:He,sheenRoughnessMap:gt,specularMap:Mt,specularColorMap:nn,specularIntensityMap:ht,transmission:Ie,transmissionMap:W,thicknessMap:ve,gradientMap:fe,opaque:b.transparent===!1&&b.blending===Na&&b.alphaToCoverage===!1,alphaMap:Be,alphaTest:Ne,alphaHash:bt,combine:b.combine,mapUv:j&&S(b.map.channel),aoMapUv:me&&S(b.aoMap.channel),lightMapUv:de&&S(b.lightMap.channel),bumpMapUv:Re&&S(b.bumpMap.channel),normalMapUv:xe&&S(b.normalMap.channel),displacementMapUv:Oe&&S(b.displacementMap.channel),emissiveMapUv:Qe&&S(b.emissiveMap.channel),metalnessMapUv:k&&S(b.metalnessMap.channel),roughnessMapUv:B&&S(b.roughnessMap.channel),anisotropyMapUv:Pe&&S(b.anisotropyMap.channel),clearcoatMapUv:lt&&S(b.clearcoatMap.channel),clearcoatNormalMapUv:Te&&S(b.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:je&&S(b.clearcoatRoughnessMap.channel),iridescenceMapUv:St&&S(b.iridescenceMap.channel),iridescenceThicknessMapUv:et&&S(b.iridescenceThicknessMap.channel),sheenColorMapUv:He&&S(b.sheenColorMap.channel),sheenRoughnessMapUv:gt&&S(b.sheenRoughnessMap.channel),specularMapUv:Mt&&S(b.specularMap.channel),specularColorMapUv:nn&&S(b.specularColorMap.channel),specularIntensityMapUv:ht&&S(b.specularIntensityMap.channel),transmissionMapUv:W&&S(b.transmissionMap.channel),thicknessMapUv:ve&&S(b.thicknessMap.channel),alphaMapUv:Be&&S(b.alphaMap.channel),vertexTangents:!!se.attributes.tangent&&(xe||q),vertexColors:b.vertexColors,vertexAlphas:b.vertexColors===!0&&!!se.attributes.color&&se.attributes.color.itemSize===4,pointsUvs:H.isPoints===!0&&!!se.attributes.uv&&(j||Be),fog:!!ne,useFog:b.fog===!0,fogExp2:!!ne&&ne.isFogExp2,flatShading:b.flatShading===!0,sizeAttenuation:b.sizeAttenuation===!0,logarithmicDepthBuffer:d,skinning:H.isSkinnedMesh===!0,morphTargets:se.morphAttributes.position!==void 0,morphNormals:se.morphAttributes.normal!==void 0,morphColors:se.morphAttributes.color!==void 0,morphTargetsCount:oe,morphTextureStride:Me,numDirLights:C.directional.length,numPointLights:C.point.length,numSpotLights:C.spot.length,numSpotLightMaps:C.spotLightMap.length,numRectAreaLights:C.rectArea.length,numHemiLights:C.hemi.length,numDirLightShadows:C.directionalShadowMap.length,numPointLightShadows:C.pointShadowMap.length,numSpotLightShadows:C.spotShadowMap.length,numSpotLightShadowsWithMaps:C.numSpotLightShadowsWithMaps,numLightProbes:C.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:b.dithering,shadowMapEnabled:n.shadowMap.enabled&&O.length>0,shadowMapType:n.shadowMap.type,toneMapping:Kt,useLegacyLights:n._useLegacyLights,decodeVideoTexture:j&&b.map.isVideoTexture===!0&&Ut.getTransfer(b.map.colorSpace)===Vt,premultipliedAlpha:b.premultipliedAlpha,doubleSided:b.side===vr,flipSided:b.side===Si,useDepthPacking:b.depthPacking>=0,depthPacking:b.depthPacking||0,index0AttributeName:b.index0AttributeName,extensionClipCullDistance:Ht&&b.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:Ht&&b.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:b.customProgramCacheKey()};return Fn.vertexUv1s=c.has(1),Fn.vertexUv2s=c.has(2),Fn.vertexUv3s=c.has(3),c.clear(),Fn}function v(b){const C=[];if(b.shaderID?C.push(b.shaderID):(C.push(b.customVertexShaderID),C.push(b.customFragmentShaderID)),b.defines!==void 0)for(const O in b.defines)C.push(O),C.push(b.defines[O]);return b.isRawShaderMaterial===!1&&(A(C,b),M(C,b),C.push(n.outputColorSpace)),C.push(b.customProgramCacheKey),C.join()}function A(b,C){b.push(C.precision),b.push(C.outputColorSpace),b.push(C.envMapMode),b.push(C.envMapCubeUVHeight),b.push(C.mapUv),b.push(C.alphaMapUv),b.push(C.lightMapUv),b.push(C.aoMapUv),b.push(C.bumpMapUv),b.push(C.normalMapUv),b.push(C.displacementMapUv),b.push(C.emissiveMapUv),b.push(C.metalnessMapUv),b.push(C.roughnessMapUv),b.push(C.anisotropyMapUv),b.push(C.clearcoatMapUv),b.push(C.clearcoatNormalMapUv),b.push(C.clearcoatRoughnessMapUv),b.push(C.iridescenceMapUv),b.push(C.iridescenceThicknessMapUv),b.push(C.sheenColorMapUv),b.push(C.sheenRoughnessMapUv),b.push(C.specularMapUv),b.push(C.specularColorMapUv),b.push(C.specularIntensityMapUv),b.push(C.transmissionMapUv),b.push(C.thicknessMapUv),b.push(C.combine),b.push(C.fogExp2),b.push(C.sizeAttenuation),b.push(C.morphTargetsCount),b.push(C.morphAttributeCount),b.push(C.numDirLights),b.push(C.numPointLights),b.push(C.numSpotLights),b.push(C.numSpotLightMaps),b.push(C.numHemiLights),b.push(C.numRectAreaLights),b.push(C.numDirLightShadows),b.push(C.numPointLightShadows),b.push(C.numSpotLightShadows),b.push(C.numSpotLightShadowsWithMaps),b.push(C.numLightProbes),b.push(C.shadowMapType),b.push(C.toneMapping),b.push(C.numClippingPlanes),b.push(C.numClipIntersection),b.push(C.depthPacking)}function M(b,C){a.disableAll(),C.supportsVertexTextures&&a.enable(0),C.instancing&&a.enable(1),C.instancingColor&&a.enable(2),C.instancingMorph&&a.enable(3),C.matcap&&a.enable(4),C.envMap&&a.enable(5),C.normalMapObjectSpace&&a.enable(6),C.normalMapTangentSpace&&a.enable(7),C.clearcoat&&a.enable(8),C.iridescence&&a.enable(9),C.alphaTest&&a.enable(10),C.vertexColors&&a.enable(11),C.vertexAlphas&&a.enable(12),C.vertexUv1s&&a.enable(13),C.vertexUv2s&&a.enable(14),C.vertexUv3s&&a.enable(15),C.vertexTangents&&a.enable(16),C.anisotropy&&a.enable(17),C.alphaHash&&a.enable(18),C.batching&&a.enable(19),C.dispersion&&a.enable(20),b.push(a.mask),a.disableAll(),C.fog&&a.enable(0),C.useFog&&a.enable(1),C.flatShading&&a.enable(2),C.logarithmicDepthBuffer&&a.enable(3),C.skinning&&a.enable(4),C.morphTargets&&a.enable(5),C.morphNormals&&a.enable(6),C.morphColors&&a.enable(7),C.premultipliedAlpha&&a.enable(8),C.shadowMapEnabled&&a.enable(9),C.useLegacyLights&&a.enable(10),C.doubleSided&&a.enable(11),C.flipSided&&a.enable(12),C.useDepthPacking&&a.enable(13),C.dithering&&a.enable(14),C.transmission&&a.enable(15),C.sheen&&a.enable(16),C.opaque&&a.enable(17),C.pointsUvs&&a.enable(18),C.decodeVideoTexture&&a.enable(19),C.alphaToCoverage&&a.enable(20),b.push(a.mask)}function w(b){const C=y[b.type];let O;if(C){const J=Hr[C];O=zb.clone(J.uniforms)}else O=b.uniforms;return O}function I(b,C){let O;for(let J=0,H=h.length;J0?i.push(v):m.transparent===!0?r.push(v):t.push(v)}function l(d,p,m,y,S,_){const v=o(d,p,m,y,S,_);m.transmission>0?i.unshift(v):m.transparent===!0?r.unshift(v):t.unshift(v)}function c(d,p){t.length>1&&t.sort(d||JO),i.length>1&&i.sort(p||wE),r.length>1&&r.sort(p||wE)}function h(){for(let d=e,p=n.length;d=s.length?(o=new TE,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function KO(){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 L,color:new we};break;case"SpotLight":t={position:new L,direction:new L,color:new we,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new L,color:new we,distance:0,decay:0};break;case"HemisphereLight":t={direction:new L,skyColor:new we,groundColor:new we};break;case"RectAreaLight":t={color:new we,position:new L,halfWidth:new L,halfHeight:new L};break}return n[e.id]=t,t}}}function YO(){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 ue};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ue};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ue,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let QO=0;function qO(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function ZO(n){const e=new KO,t=YO(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let c=0;c<9;c++)i.probe.push(new L);const r=new L,s=new Ue,o=new Ue;function a(c,h){let d=0,p=0,m=0;for(let O=0;O<9;O++)i.probe[O].set(0,0,0);let y=0,S=0,_=0,v=0,A=0,M=0,w=0,I=0,R=0,P=0,D=0;c.sort(qO);const b=h===!0?Math.PI:1;for(let O=0,J=c.length;O0&&(n.has("OES_texture_float_linear")===!0?(i.rectAreaLTC1=be.LTC_FLOAT_1,i.rectAreaLTC2=be.LTC_FLOAT_2):(i.rectAreaLTC1=be.LTC_HALF_1,i.rectAreaLTC2=be.LTC_HALF_2)),i.ambient[0]=d,i.ambient[1]=p,i.ambient[2]=m;const C=i.hash;(C.directionalLength!==y||C.pointLength!==S||C.spotLength!==_||C.rectAreaLength!==v||C.hemiLength!==A||C.numDirectionalShadows!==M||C.numPointShadows!==w||C.numSpotShadows!==I||C.numSpotMaps!==R||C.numLightProbes!==D)&&(i.directional.length=y,i.spot.length=_,i.rectArea.length=v,i.point.length=S,i.hemi.length=A,i.directionalShadow.length=M,i.directionalShadowMap.length=M,i.pointShadow.length=w,i.pointShadowMap.length=w,i.spotShadow.length=I,i.spotShadowMap.length=I,i.directionalShadowMatrix.length=M,i.pointShadowMatrix.length=w,i.spotLightMatrix.length=I+R-P,i.spotLightMap.length=R,i.numSpotLightShadowsWithMaps=P,i.numLightProbes=D,C.directionalLength=y,C.pointLength=S,C.spotLength=_,C.rectAreaLength=v,C.hemiLength=A,C.numDirectionalShadows=M,C.numPointShadows=w,C.numSpotShadows=I,C.numSpotMaps=R,C.numLightProbes=D,i.version=QO++)}function l(c,h){let d=0,p=0,m=0,y=0,S=0;const _=h.matrixWorldInverse;for(let v=0,A=c.length;v=o.length?(a=new CE(n),o.push(a)):a=o[s],a}function i(){e=new WeakMap}return{get:t,dispose:i}}class AA extends qt{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=wb,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 SA extends qt{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 ek=`void main() { + gl_Position = vec4( position, 1.0 ); +}`,tk=`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 nk(n,e,t){let i=new th;const r=new ue,s=new ue,o=new Ot,a=new AA({depthPacking:Tb}),l=new SA,c={},h=t.maxTextureSize,d={[Wr]:Si,[Si]:Wr,[vr]:vr},p=new Er({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ue},radius:{value:4}},vertexShader:ek,fragmentShader:tk}),m=p.clone();m.defines.HORIZONTAL_PASS=1;const y=new rt;y.setAttribute("position",new it(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const S=new Jt(y,p),_=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Xm;let v=this.type;this.render=function(R,P,D){if(_.enabled===!1||_.autoUpdate===!1&&_.needsUpdate===!1||R.length===0)return;const b=n.getRenderTarget(),C=n.getActiveCubeFace(),O=n.getActiveMipmapLevel(),J=n.state;J.setBlending(Us),J.buffers.color.setClear(1,1,1,1),J.buffers.depth.setTest(!0),J.setScissorTest(!1);const H=v!==Nr&&this.type===Nr,ne=v===Nr&&this.type!==Nr;for(let se=0,ce=R.length;seh||r.y>h)&&(r.x>h&&(s.x=Math.floor(h/V.x),r.x=s.x*V.x,N.mapSize.x=s.x),r.y>h&&(s.y=Math.floor(h/V.y),r.y=s.y*V.y,N.mapSize.y=s.y)),N.map===null||H===!0||ne===!0){const oe=this.type!==Nr?{minFilter:Tn,magFilter:Tn}:{};N.map!==null&&N.map.dispose(),N.map=new Jr(r.x,r.y,oe),N.map.texture.name=ge.name+".shadowMap",N.camera.updateProjectionMatrix()}n.setRenderTarget(N.map),n.clear();const G=N.getViewportCount();for(let oe=0;oe0||P.map&&P.alphaTest>0){const J=C.uuid,H=P.uuid;let ne=c[J];ne===void 0&&(ne={},c[J]=ne);let se=ne[H];se===void 0&&(se=C.clone(),ne[H]=se,P.addEventListener("dispose",I)),C=se}if(C.visible=P.visible,C.wireframe=P.wireframe,b===Nr?C.side=P.shadowSide!==null?P.shadowSide:P.side:C.side=P.shadowSide!==null?P.shadowSide:d[P.side],C.alphaMap=P.alphaMap,C.alphaTest=P.alphaTest,C.map=P.map,C.clipShadows=P.clipShadows,C.clippingPlanes=P.clippingPlanes,C.clipIntersection=P.clipIntersection,C.displacementMap=P.displacementMap,C.displacementScale=P.displacementScale,C.displacementBias=P.displacementBias,C.wireframeLinewidth=P.wireframeLinewidth,C.linewidth=P.linewidth,D.isPointLight===!0&&C.isMeshDistanceMaterial===!0){const J=n.properties.get(C);J.light=D}return C}function w(R,P,D,b,C){if(R.visible===!1)return;if(R.layers.test(P.layers)&&(R.isMesh||R.isLine||R.isPoints)&&(R.castShadow||R.receiveShadow&&C===Nr)&&(!R.frustumCulled||i.intersectsObject(R))){R.modelViewMatrix.multiplyMatrices(D.matrixWorldInverse,R.matrixWorld);const H=e.update(R),ne=R.material;if(Array.isArray(ne)){const se=H.groups;for(let ce=0,ge=se.length;ce=1):ge.indexOf("OpenGL ES")!==-1&&(ce=parseFloat(/^OpenGL ES (\d)/.exec(ge)[1]),se=ce>=2);let N=null,V={};const G=n.getParameter(n.SCISSOR_BOX),oe=n.getParameter(n.VIEWPORT),Me=new Ot().fromArray(G),ze=new Ot().fromArray(oe);function te(W,ve,fe,Be){const Ne=new Uint8Array(4),bt=n.createTexture();n.bindTexture(W,bt),n.texParameteri(W,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(W,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let Ht=0;Ht"u"?!1:/OculusBrowser/g.test(navigator.userAgent),c=new ue,h=new WeakMap;let d;const p=new WeakMap;let m=!1;try{m=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function y(k,B){return m?new OffscreenCanvas(k,B):Uf("canvas")}function S(k,B,q){let he=1;const _e=Qe(k);if((_e.width>q||_e.height>q)&&(he=q/Math.max(_e.width,_e.height)),he<1)if(typeof HTMLImageElement<"u"&&k instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&k instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&k instanceof ImageBitmap||typeof VideoFrame<"u"&&k instanceof VideoFrame){const pe=Math.floor(he*_e.width),Ye=Math.floor(he*_e.height);d===void 0&&(d=y(pe,Ye));const Ie=B?y(pe,Ye):d;return Ie.width=pe,Ie.height=Ye,Ie.getContext("2d").drawImage(k,0,0,pe,Ye),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+_e.width+"x"+_e.height+") to ("+pe+"x"+Ye+")."),Ie}else return"data"in k&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+_e.width+"x"+_e.height+")."),k;return k}function _(k){return k.generateMipmaps&&k.minFilter!==Tn&&k.minFilter!==tn}function v(k){n.generateMipmap(k)}function A(k,B,q,he,_e=!1){if(k!==null){if(n[k]!==void 0)return n[k];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+k+"'")}let pe=B;if(B===n.RED&&(q===n.FLOAT&&(pe=n.R32F),q===n.HALF_FLOAT&&(pe=n.R16F),q===n.UNSIGNED_BYTE&&(pe=n.R8)),B===n.RED_INTEGER&&(q===n.UNSIGNED_BYTE&&(pe=n.R8UI),q===n.UNSIGNED_SHORT&&(pe=n.R16UI),q===n.UNSIGNED_INT&&(pe=n.R32UI),q===n.BYTE&&(pe=n.R8I),q===n.SHORT&&(pe=n.R16I),q===n.INT&&(pe=n.R32I)),B===n.RG&&(q===n.FLOAT&&(pe=n.RG32F),q===n.HALF_FLOAT&&(pe=n.RG16F),q===n.UNSIGNED_BYTE&&(pe=n.RG8)),B===n.RG_INTEGER&&(q===n.UNSIGNED_BYTE&&(pe=n.RG8UI),q===n.UNSIGNED_SHORT&&(pe=n.RG16UI),q===n.UNSIGNED_INT&&(pe=n.RG32UI),q===n.BYTE&&(pe=n.RG8I),q===n.SHORT&&(pe=n.RG16I),q===n.INT&&(pe=n.RG32I)),B===n.RGB&&q===n.UNSIGNED_INT_5_9_9_9_REV&&(pe=n.RGB9_E5),B===n.RGBA){const Ye=_e?Bf:Ut.getTransfer(he);q===n.FLOAT&&(pe=n.RGBA32F),q===n.HALF_FLOAT&&(pe=n.RGBA16F),q===n.UNSIGNED_BYTE&&(pe=Ye===Vt?n.SRGB8_ALPHA8:n.RGBA8),q===n.UNSIGNED_SHORT_4_4_4_4&&(pe=n.RGBA4),q===n.UNSIGNED_SHORT_5_5_5_1&&(pe=n.RGB5_A1)}return(pe===n.R16F||pe===n.R32F||pe===n.RG16F||pe===n.RG32F||pe===n.RGBA16F||pe===n.RGBA32F)&&e.get("EXT_color_buffer_float"),pe}function M(k,B){return _(k)===!0||k.isFramebufferTexture&&k.minFilter!==Tn&&k.minFilter!==tn?Math.log2(Math.max(B.width,B.height))+1:k.mipmaps!==void 0&&k.mipmaps.length>0?k.mipmaps.length:k.isCompressedTexture&&Array.isArray(k.image)?B.mipmaps.length:1}function w(k){const B=k.target;B.removeEventListener("dispose",w),R(B),B.isVideoTexture&&h.delete(B)}function I(k){const B=k.target;B.removeEventListener("dispose",I),D(B)}function R(k){const B=i.get(k);if(B.__webglInit===void 0)return;const q=k.source,he=p.get(q);if(he){const _e=he[B.__cacheKey];_e.usedTimes--,_e.usedTimes===0&&P(k),Object.keys(he).length===0&&p.delete(q)}i.remove(k)}function P(k){const B=i.get(k);n.deleteTexture(B.__webglTexture);const q=k.source,he=p.get(q);delete he[B.__cacheKey],o.memory.textures--}function D(k){const B=i.get(k);if(k.depthTexture&&k.depthTexture.dispose(),k.isWebGLCubeRenderTarget)for(let he=0;he<6;he++){if(Array.isArray(B.__webglFramebuffer[he]))for(let _e=0;_e=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+k+" texture units while this GPU supports only "+r.maxTextures),b+=1,k}function J(k){const B=[];return B.push(k.wrapS),B.push(k.wrapT),B.push(k.wrapR||0),B.push(k.magFilter),B.push(k.minFilter),B.push(k.anisotropy),B.push(k.internalFormat),B.push(k.format),B.push(k.type),B.push(k.generateMipmaps),B.push(k.premultiplyAlpha),B.push(k.flipY),B.push(k.unpackAlignment),B.push(k.colorSpace),B.join()}function H(k,B){const q=i.get(k);if(k.isVideoTexture&&xe(k),k.isRenderTargetTexture===!1&&k.version>0&&q.__version!==k.version){const he=k.image;if(he===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(he.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{Me(q,k,B);return}}t.bindTexture(n.TEXTURE_2D,q.__webglTexture,n.TEXTURE0+B)}function ne(k,B){const q=i.get(k);if(k.version>0&&q.__version!==k.version){Me(q,k,B);return}t.bindTexture(n.TEXTURE_2D_ARRAY,q.__webglTexture,n.TEXTURE0+B)}function se(k,B){const q=i.get(k);if(k.version>0&&q.__version!==k.version){Me(q,k,B);return}t.bindTexture(n.TEXTURE_3D,q.__webglTexture,n.TEXTURE0+B)}function ce(k,B){const q=i.get(k);if(k.version>0&&q.__version!==k.version){ze(q,k,B);return}t.bindTexture(n.TEXTURE_CUBE_MAP,q.__webglTexture,n.TEXTURE0+B)}const ge={[Xr]:n.REPEAT,[Li]:n.CLAMP_TO_EDGE,[Ja]:n.MIRRORED_REPEAT},N={[Tn]:n.NEAREST,[Yf]:n.NEAREST_MIPMAP_NEAREST,[Co]:n.NEAREST_MIPMAP_LINEAR,[tn]:n.LINEAR,[Ua]:n.LINEAR_MIPMAP_NEAREST,[Di]:n.LINEAR_MIPMAP_LINEAR},V={[Rb]:n.NEVER,[Db]:n.ALWAYS,[bb]:n.LESS,[dA]:n.LEQUAL,[Pb]:n.EQUAL,[Lb]:n.GEQUAL,[Ib]:n.GREATER,[Bb]:n.NOTEQUAL};function G(k,B){if(B.type===_r&&e.has("OES_texture_float_linear")===!1&&(B.magFilter===tn||B.magFilter===Ua||B.magFilter===Co||B.magFilter===Di||B.minFilter===tn||B.minFilter===Ua||B.minFilter===Co||B.minFilter===Di)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),n.texParameteri(k,n.TEXTURE_WRAP_S,ge[B.wrapS]),n.texParameteri(k,n.TEXTURE_WRAP_T,ge[B.wrapT]),(k===n.TEXTURE_3D||k===n.TEXTURE_2D_ARRAY)&&n.texParameteri(k,n.TEXTURE_WRAP_R,ge[B.wrapR]),n.texParameteri(k,n.TEXTURE_MAG_FILTER,N[B.magFilter]),n.texParameteri(k,n.TEXTURE_MIN_FILTER,N[B.minFilter]),B.compareFunction&&(n.texParameteri(k,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(k,n.TEXTURE_COMPARE_FUNC,V[B.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if(B.magFilter===Tn||B.minFilter!==Co&&B.minFilter!==Di||B.type===_r&&e.has("OES_texture_float_linear")===!1)return;if(B.anisotropy>1||i.get(B).__currentAnisotropy){const q=e.get("EXT_texture_filter_anisotropic");n.texParameterf(k,q.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(B.anisotropy,r.getMaxAnisotropy())),i.get(B).__currentAnisotropy=B.anisotropy}}}function oe(k,B){let q=!1;k.__webglInit===void 0&&(k.__webglInit=!0,B.addEventListener("dispose",w));const he=B.source;let _e=p.get(he);_e===void 0&&(_e={},p.set(he,_e));const pe=J(B);if(pe!==k.__cacheKey){_e[pe]===void 0&&(_e[pe]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,q=!0),_e[pe].usedTimes++;const Ye=_e[k.__cacheKey];Ye!==void 0&&(_e[k.__cacheKey].usedTimes--,Ye.usedTimes===0&&P(B)),k.__cacheKey=pe,k.__webglTexture=_e[pe].texture}return q}function Me(k,B,q){let he=n.TEXTURE_2D;(B.isDataArrayTexture||B.isCompressedArrayTexture)&&(he=n.TEXTURE_2D_ARRAY),B.isData3DTexture&&(he=n.TEXTURE_3D);const _e=oe(k,B),pe=B.source;t.bindTexture(he,k.__webglTexture,n.TEXTURE0+q);const Ye=i.get(pe);if(pe.version!==Ye.__version||_e===!0){t.activeTexture(n.TEXTURE0+q);const Ie=Ut.getPrimaries(Ut.workingColorSpace),Pe=B.colorSpace===Is?null:Ut.getPrimaries(B.colorSpace),lt=B.colorSpace===Is||Ie===Pe?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,B.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,B.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,B.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,lt);let Te=S(B.image,!1,r.maxTextureSize);Te=Oe(B,Te);const je=s.convert(B.format,B.colorSpace),St=s.convert(B.type);let et=A(B.internalFormat,je,St,B.colorSpace,B.isVideoTexture);G(he,B);let He;const gt=B.mipmaps,Mt=B.isVideoTexture!==!0,nn=Ye.__version===void 0||_e===!0,ht=pe.dataReady,W=M(B,Te);if(B.isDepthTexture)et=n.DEPTH_COMPONENT16,B.type===_r?et=n.DEPTH_COMPONENT32F:B.type===ja?et=n.DEPTH_COMPONENT24:B.type===Wu&&(et=n.DEPTH24_STENCIL8),nn&&(Mt?t.texStorage2D(n.TEXTURE_2D,1,et,Te.width,Te.height):t.texImage2D(n.TEXTURE_2D,0,et,Te.width,Te.height,0,je,St,null));else if(B.isDataTexture)if(gt.length>0){Mt&&nn&&t.texStorage2D(n.TEXTURE_2D,W,et,gt[0].width,gt[0].height);for(let ve=0,fe=gt.length;ve>=1,fe>>=1}}else if(gt.length>0){if(Mt&&nn){const ve=Qe(gt[0]);t.texStorage2D(n.TEXTURE_2D,W,et,ve.width,ve.height)}for(let ve=0,fe=gt.length;ve0&&W++;const fe=Qe(je[0]);t.texStorage2D(n.TEXTURE_CUBE_MAP,W,gt,fe.width,fe.height)}for(let fe=0;fe<6;fe++)if(Te){Mt?ht&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+fe,0,0,0,je[fe].width,je[fe].height,et,He,je[fe].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+fe,0,gt,je[fe].width,je[fe].height,0,et,He,je[fe].data);for(let Be=0;Be>pe),je=Math.max(1,B.height>>pe);_e===n.TEXTURE_3D||_e===n.TEXTURE_2D_ARRAY?t.texImage3D(_e,pe,Pe,Te,je,B.depth,0,Ye,Ie,null):t.texImage2D(_e,pe,Pe,Te,je,0,Ye,Ie,null)}t.bindFramebuffer(n.FRAMEBUFFER,k),Re(B)?a.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,he,_e,i.get(q).__webglTexture,0,de(B)):(_e===n.TEXTURE_2D||_e>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&_e<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,he,_e,i.get(q).__webglTexture,pe),t.bindFramebuffer(n.FRAMEBUFFER,null)}function ye(k,B,q){if(n.bindRenderbuffer(n.RENDERBUFFER,k),B.depthBuffer&&!B.stencilBuffer){let he=n.DEPTH_COMPONENT24;if(q||Re(B)){const _e=B.depthTexture;_e&&_e.isDepthTexture&&(_e.type===_r?he=n.DEPTH_COMPONENT32F:_e.type===ja&&(he=n.DEPTH_COMPONENT24));const pe=de(B);Re(B)?a.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,pe,he,B.width,B.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,pe,he,B.width,B.height)}else n.renderbufferStorage(n.RENDERBUFFER,he,B.width,B.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,k)}else if(B.depthBuffer&&B.stencilBuffer){const he=de(B);q&&Re(B)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,he,n.DEPTH24_STENCIL8,B.width,B.height):Re(B)?a.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,he,n.DEPTH24_STENCIL8,B.width,B.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,B.width,B.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,k)}else{const he=B.textures;for(let _e=0;_e1;if(Ye||(he.__webglTexture===void 0&&(he.__webglTexture=n.createTexture()),he.__version=B.version,o.memory.textures++),pe){q.__webglFramebuffer=[];for(let Ie=0;Ie<6;Ie++)if(B.mipmaps&&B.mipmaps.length>0){q.__webglFramebuffer[Ie]=[];for(let Pe=0;Pe0){q.__webglFramebuffer=[];for(let Ie=0;Ie0&&Re(k)===!1){q.__webglMultisampledFramebuffer=n.createFramebuffer(),q.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,q.__webglMultisampledFramebuffer);for(let Ie=0;Ie<_e.length;Ie++){const Pe=_e[Ie];q.__webglColorRenderbuffer[Ie]=n.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,q.__webglColorRenderbuffer[Ie]);const lt=s.convert(Pe.format,Pe.colorSpace),Te=s.convert(Pe.type),je=A(Pe.internalFormat,lt,Te,Pe.colorSpace,k.isXRRenderTarget===!0),St=de(k);n.renderbufferStorageMultisample(n.RENDERBUFFER,St,je,k.width,k.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+Ie,n.RENDERBUFFER,q.__webglColorRenderbuffer[Ie])}n.bindRenderbuffer(n.RENDERBUFFER,null),k.depthBuffer&&(q.__webglDepthRenderbuffer=n.createRenderbuffer(),ye(q.__webglDepthRenderbuffer,k,!0)),t.bindFramebuffer(n.FRAMEBUFFER,null)}}if(pe){t.bindTexture(n.TEXTURE_CUBE_MAP,he.__webglTexture),G(n.TEXTURE_CUBE_MAP,B);for(let Ie=0;Ie<6;Ie++)if(B.mipmaps&&B.mipmaps.length>0)for(let Pe=0;Pe0)for(let Pe=0;Pe0){if(Re(k)===!1){const B=k.textures,q=k.width,he=k.height;let _e=n.COLOR_BUFFER_BIT;const pe=k.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Ye=i.get(k),Ie=B.length>1;if(Ie)for(let Pe=0;Pe0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&B.__useRenderToTexture!==!1}function xe(k){const B=o.render.frame;h.get(k)!==B&&(h.set(k,B),k.update())}function Oe(k,B){const q=k.colorSpace,he=k.format,_e=k.type;return k.isCompressedTexture===!0||k.isVideoTexture===!0||q!==Vn&&q!==Is&&(Ut.getTransfer(q)===Vt?(he!==Fi||_e!==cs)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",q)),B}function Qe(k){return typeof HTMLImageElement<"u"&&k instanceof HTMLImageElement?(c.width=k.naturalWidth||k.width,c.height=k.naturalHeight||k.height):typeof VideoFrame<"u"&&k instanceof VideoFrame?(c.width=k.displayWidth,c.height=k.displayHeight):(c.width=k.width,c.height=k.height),c}this.allocateTextureUnit=O,this.resetTextureUnits=C,this.setTexture2D=H,this.setTexture2DArray=ne,this.setTexture3D=se,this.setTextureCube=ce,this.rebindTextures=ft,this.setupRenderTarget=mt,this.updateRenderTargetMipmap=j,this.updateMultisampleRenderTarget=me,this.setupDepthRenderbuffer=Ae,this.setupFrameBufferTexture=te,this.useMultisampledRTT=Re}function qb(n,e){function t(i,r=Is){let s;const o=Ut.getTransfer(r);if(i===cs)return n.UNSIGNED_BYTE;if(i===sA)return n.UNSIGNED_SHORT_4_4_4_4;if(i===oA)return n.UNSIGNED_SHORT_5_5_5_1;if(i===mb)return n.UNSIGNED_INT_5_9_9_9_REV;if(i===db)return n.BYTE;if(i===pb)return n.SHORT;if(i===iA)return n.UNSIGNED_SHORT;if(i===rA)return n.INT;if(i===ja)return n.UNSIGNED_INT;if(i===_r)return n.FLOAT;if(i===Qf)return n.HALF_FLOAT;if(i===gb)return n.ALPHA;if(i===vb)return n.RGB;if(i===Fi)return n.RGBA;if(i===yb)return n.LUMINANCE;if(i===_b)return n.LUMINANCE_ALPHA;if(i===Oa)return n.DEPTH_COMPONENT;if(i===Bu)return n.DEPTH_STENCIL;if(i===aA)return n.RED;if(i===lA)return n.RED_INTEGER;if(i===xb)return n.RG;if(i===uA)return n.RG_INTEGER;if(i===cA)return n.RGBA_INTEGER;if(i===Hp||i===Gp||i===zp||i===Vp)if(o===Vt)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(i===Hp)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(i===Gp)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(i===zp)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(i===Vp)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(i===Hp)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(i===Gp)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(i===zp)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(i===Vp)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(i===y_||i===__||i===x_||i===A_)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(i===y_)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(i===__)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(i===x_)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(i===A_)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(i===S_||i===M_||i===E_)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(i===S_||i===M_)return o===Vt?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(i===E_)return o===Vt?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(i===w_||i===T_||i===C_||i===R_||i===b_||i===P_||i===I_||i===B_||i===L_||i===D_||i===F_||i===N_||i===U_||i===O_)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(i===w_)return o===Vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(i===T_)return o===Vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(i===C_)return o===Vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(i===R_)return o===Vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(i===b_)return o===Vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(i===P_)return o===Vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(i===I_)return o===Vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(i===B_)return o===Vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(i===L_)return o===Vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(i===D_)return o===Vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(i===F_)return o===Vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(i===N_)return o===Vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(i===U_)return o===Vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(i===O_)return o===Vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(i===Wp||i===k_||i===H_)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(i===Wp)return o===Vt?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(i===k_)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(i===H_)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(i===Ab||i===G_||i===z_||i===V_)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(i===Wp)return s.COMPRESSED_RED_RGTC1_EXT;if(i===G_)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(i===z_)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(i===V_)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return i===Wu?n.UNSIGNED_INT_24_8:n[i]!==void 0?n[i]:null}return{convert:t}}class Zb extends En{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class xr extends At{constructor(){super(),this.isGroup=!0,this.type="Group"}}const sk={type:"move"};class Pv{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new xr,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 xr,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new L,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new L),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new xr,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new L,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new L),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const i of e.hand.values())this._getHandJoint(t,i)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,i){let r=null,s=null,o=null;const a=this._targetRay,l=this._grip,c=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(c&&e.hand){o=!0;for(const S of e.hand.values()){const _=t.getJointPose(S,i),v=this._getHandJoint(c,S);_!==null&&(v.matrix.fromArray(_.transform.matrix),v.matrix.decompose(v.position,v.rotation,v.scale),v.matrixWorldNeedsUpdate=!0,v.jointRadius=_.radius),v.visible=_!==null}const h=c.joints["index-finger-tip"],d=c.joints["thumb-tip"],p=h.position.distanceTo(d.position),m=.02,y=.005;c.inputState.pinching&&p>m+y?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&p<=m-y&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,i),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));a!==null&&(r=t.getPose(e.targetRaySpace,i),r===null&&s!==null&&(r=s),r!==null&&(a.matrix.fromArray(r.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,r.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(r.linearVelocity)):a.hasLinearVelocity=!1,r.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(r.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(sk)))}return a!==null&&(a.visible=r!==null),l!==null&&(l.visible=s!==null),c!==null&&(c.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new xr;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const ok=` +void main() { + + gl_Position = vec4( position, 1.0 ); + +}`,ak=` +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_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; + + } else { + + gl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; + + } + +}`;class lk{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,i){if(this.texture===null){const r=new zt,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 Er({vertexShader:ok,fragmentShader:ak,uniforms:{depthColor:{value:this.texture},depthWidth:{value:i.z},depthHeight:{value:i.w}}});this.mesh=new Jt(new el(20,20),r)}e.render(this.mesh,t)}}reset(){this.texture=null,this.mesh=null}}class uk extends Ys{constructor(e,t){super();const i=this;let r=null,s=1,o=null,a="local-floor",l=1,c=null,h=null,d=null,p=null,m=null,y=null;const S=new lk,_=t.getContextAttributes();let v=null,A=null;const M=[],w=[],I=new ue;let R=null;const P=new En;P.layers.enable(1),P.viewport=new Ot;const D=new En;D.layers.enable(2),D.viewport=new Ot;const b=[P,D],C=new Zb;C.layers.enable(1),C.layers.enable(2);let O=null,J=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(te){let ye=M[te];return ye===void 0&&(ye=new Pv,M[te]=ye),ye.getTargetRaySpace()},this.getControllerGrip=function(te){let ye=M[te];return ye===void 0&&(ye=new Pv,M[te]=ye),ye.getGripSpace()},this.getHand=function(te){let ye=M[te];return ye===void 0&&(ye=new Pv,M[te]=ye),ye.getHandSpace()};function H(te){const ye=w.indexOf(te.inputSource);if(ye===-1)return;const Ce=M[ye];Ce!==void 0&&(Ce.update(te.inputSource,te.frame,c||o),Ce.dispatchEvent({type:te.type,data:te.inputSource}))}function ne(){r.removeEventListener("select",H),r.removeEventListener("selectstart",H),r.removeEventListener("selectend",H),r.removeEventListener("squeeze",H),r.removeEventListener("squeezestart",H),r.removeEventListener("squeezeend",H),r.removeEventListener("end",ne),r.removeEventListener("inputsourceschange",se);for(let te=0;te=0&&(w[Ae]=null,M[Ae].disconnect(Ce))}for(let ye=0;ye=w.length){w.push(Ce),Ae=mt;break}else if(w[mt]===null){w[mt]=Ce,Ae=mt;break}if(Ae===-1)break}const ft=M[Ae];ft&&ft.connect(Ce)}}const ce=new L,ge=new L;function N(te,ye,Ce){ce.setFromMatrixPosition(ye.matrixWorld),ge.setFromMatrixPosition(Ce.matrixWorld);const Ae=ce.distanceTo(ge),ft=ye.projectionMatrix.elements,mt=Ce.projectionMatrix.elements,j=ft[14]/(ft[10]-1),nt=ft[14]/(ft[10]+1),le=(ft[9]+1)/ft[5],me=(ft[9]-1)/ft[5],de=(ft[8]-1)/ft[0],Re=(mt[8]+1)/mt[0],xe=j*de,Oe=j*Re,Qe=Ae/(-de+Re),k=Qe*-de;ye.matrixWorld.decompose(te.position,te.quaternion,te.scale),te.translateX(k),te.translateZ(Qe),te.matrixWorld.compose(te.position,te.quaternion,te.scale),te.matrixWorldInverse.copy(te.matrixWorld).invert();const B=j+Qe,q=nt+Qe,he=xe-k,_e=Oe+(Ae-k),pe=le*nt/q*B,Ye=me*nt/q*B;te.projectionMatrix.makePerspective(he,_e,pe,Ye,B,q),te.projectionMatrixInverse.copy(te.projectionMatrix).invert()}function V(te,ye){ye===null?te.matrixWorld.copy(te.matrix):te.matrixWorld.multiplyMatrices(ye.matrixWorld,te.matrix),te.matrixWorldInverse.copy(te.matrixWorld).invert()}this.updateCamera=function(te){if(r===null)return;S.texture!==null&&(te.near=S.depthNear,te.far=S.depthFar),C.near=D.near=P.near=te.near,C.far=D.far=P.far=te.far,(O!==C.near||J!==C.far)&&(r.updateRenderState({depthNear:C.near,depthFar:C.far}),O=C.near,J=C.far,P.near=O,P.far=J,D.near=O,D.far=J,P.updateProjectionMatrix(),D.updateProjectionMatrix(),te.updateProjectionMatrix());const ye=te.parent,Ce=C.cameras;V(C,ye);for(let Ae=0;Ae0&&(_.alphaTest.value=v.alphaTest);const A=e.get(v),M=A.envMap,w=A.envMapRotation;if(M&&(_.envMap.value=M,fa.copy(w),fa.x*=-1,fa.y*=-1,fa.z*=-1,M.isCubeTexture&&M.isRenderTargetTexture===!1&&(fa.y*=-1,fa.z*=-1),_.envMapRotation.value.setFromMatrix4(ck.makeRotationFromEuler(fa)),_.flipEnvMap.value=M.isCubeTexture&&M.isRenderTargetTexture===!1?-1:1,_.reflectivity.value=v.reflectivity,_.ior.value=v.ior,_.refractionRatio.value=v.refractionRatio),v.lightMap){_.lightMap.value=v.lightMap;const I=n._useLegacyLights===!0?Math.PI:1;_.lightMapIntensity.value=v.lightMapIntensity*I,t(v.lightMap,_.lightMapTransform)}v.aoMap&&(_.aoMap.value=v.aoMap,_.aoMapIntensity.value=v.aoMapIntensity,t(v.aoMap,_.aoMapTransform))}function o(_,v){_.diffuse.value.copy(v.color),_.opacity.value=v.opacity,v.map&&(_.map.value=v.map,t(v.map,_.mapTransform))}function a(_,v){_.dashSize.value=v.dashSize,_.totalSize.value=v.dashSize+v.gapSize,_.scale.value=v.scale}function l(_,v,A,M){_.diffuse.value.copy(v.color),_.opacity.value=v.opacity,_.size.value=v.size*A,_.scale.value=M*.5,v.map&&(_.map.value=v.map,t(v.map,_.uvTransform)),v.alphaMap&&(_.alphaMap.value=v.alphaMap,t(v.alphaMap,_.alphaMapTransform)),v.alphaTest>0&&(_.alphaTest.value=v.alphaTest)}function c(_,v){_.diffuse.value.copy(v.color),_.opacity.value=v.opacity,_.rotation.value=v.rotation,v.map&&(_.map.value=v.map,t(v.map,_.mapTransform)),v.alphaMap&&(_.alphaMap.value=v.alphaMap,t(v.alphaMap,_.alphaMapTransform)),v.alphaTest>0&&(_.alphaTest.value=v.alphaTest)}function h(_,v){_.specular.value.copy(v.specular),_.shininess.value=Math.max(v.shininess,1e-4)}function d(_,v){v.gradientMap&&(_.gradientMap.value=v.gradientMap)}function p(_,v){_.metalness.value=v.metalness,v.metalnessMap&&(_.metalnessMap.value=v.metalnessMap,t(v.metalnessMap,_.metalnessMapTransform)),_.roughness.value=v.roughness,v.roughnessMap&&(_.roughnessMap.value=v.roughnessMap,t(v.roughnessMap,_.roughnessMapTransform)),v.envMap&&(_.envMapIntensity.value=v.envMapIntensity)}function m(_,v,A){_.ior.value=v.ior,v.sheen>0&&(_.sheenColor.value.copy(v.sheenColor).multiplyScalar(v.sheen),_.sheenRoughness.value=v.sheenRoughness,v.sheenColorMap&&(_.sheenColorMap.value=v.sheenColorMap,t(v.sheenColorMap,_.sheenColorMapTransform)),v.sheenRoughnessMap&&(_.sheenRoughnessMap.value=v.sheenRoughnessMap,t(v.sheenRoughnessMap,_.sheenRoughnessMapTransform))),v.clearcoat>0&&(_.clearcoat.value=v.clearcoat,_.clearcoatRoughness.value=v.clearcoatRoughness,v.clearcoatMap&&(_.clearcoatMap.value=v.clearcoatMap,t(v.clearcoatMap,_.clearcoatMapTransform)),v.clearcoatRoughnessMap&&(_.clearcoatRoughnessMap.value=v.clearcoatRoughnessMap,t(v.clearcoatRoughnessMap,_.clearcoatRoughnessMapTransform)),v.clearcoatNormalMap&&(_.clearcoatNormalMap.value=v.clearcoatNormalMap,t(v.clearcoatNormalMap,_.clearcoatNormalMapTransform),_.clearcoatNormalScale.value.copy(v.clearcoatNormalScale),v.side===Si&&_.clearcoatNormalScale.value.negate())),v.dispersion>0&&(_.dispersion.value=v.dispersion),v.iridescence>0&&(_.iridescence.value=v.iridescence,_.iridescenceIOR.value=v.iridescenceIOR,_.iridescenceThicknessMinimum.value=v.iridescenceThicknessRange[0],_.iridescenceThicknessMaximum.value=v.iridescenceThicknessRange[1],v.iridescenceMap&&(_.iridescenceMap.value=v.iridescenceMap,t(v.iridescenceMap,_.iridescenceMapTransform)),v.iridescenceThicknessMap&&(_.iridescenceThicknessMap.value=v.iridescenceThicknessMap,t(v.iridescenceThicknessMap,_.iridescenceThicknessMapTransform))),v.transmission>0&&(_.transmission.value=v.transmission,_.transmissionSamplerMap.value=A.texture,_.transmissionSamplerSize.value.set(A.width,A.height),v.transmissionMap&&(_.transmissionMap.value=v.transmissionMap,t(v.transmissionMap,_.transmissionMapTransform)),_.thickness.value=v.thickness,v.thicknessMap&&(_.thicknessMap.value=v.thicknessMap,t(v.thicknessMap,_.thicknessMapTransform)),_.attenuationDistance.value=v.attenuationDistance,_.attenuationColor.value.copy(v.attenuationColor)),v.anisotropy>0&&(_.anisotropyVector.value.set(v.anisotropy*Math.cos(v.anisotropyRotation),v.anisotropy*Math.sin(v.anisotropyRotation)),v.anisotropyMap&&(_.anisotropyMap.value=v.anisotropyMap,t(v.anisotropyMap,_.anisotropyMapTransform))),_.specularIntensity.value=v.specularIntensity,_.specularColor.value.copy(v.specularColor),v.specularColorMap&&(_.specularColorMap.value=v.specularColorMap,t(v.specularColorMap,_.specularColorMapTransform)),v.specularIntensityMap&&(_.specularIntensityMap.value=v.specularIntensityMap,t(v.specularIntensityMap,_.specularIntensityMapTransform))}function y(_,v){v.matcap&&(_.matcap.value=v.matcap)}function S(_,v){const A=e.get(v).light;_.referencePosition.value.setFromMatrixPosition(A.matrixWorld),_.nearDistance.value=A.shadow.camera.near,_.farDistance.value=A.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function hk(n,e,t,i){let r={},s={},o=[];const a=n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS);function l(A,M){const w=M.program;i.uniformBlockBinding(A,w)}function c(A,M){let w=r[A.id];w===void 0&&(y(A),w=h(A),r[A.id]=w,A.addEventListener("dispose",_));const I=M.program;i.updateUBOMapping(A,I);const R=e.render.frame;s[A.id]!==R&&(p(A),s[A.id]=R)}function h(A){const M=d();A.__bindingPointIndex=M;const w=n.createBuffer(),I=A.__size,R=A.usage;return n.bindBuffer(n.UNIFORM_BUFFER,w),n.bufferData(n.UNIFORM_BUFFER,I,R),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,M,w),w}function d(){for(let A=0;A0&&(w+=I-R),A.__size=w,A.__cache={},this}function S(A){const M={boundary:0,storage:0};return typeof A=="number"||typeof A=="boolean"?(M.boundary=4,M.storage=4):A.isVector2?(M.boundary=8,M.storage=8):A.isVector3||A.isColor?(M.boundary=16,M.storage=12):A.isVector4?(M.boundary=16,M.storage=16):A.isMatrix3?(M.boundary=48,M.storage=48):A.isMatrix4?(M.boundary=64,M.storage=64):A.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",A),M}function _(A){const M=A.target;M.removeEventListener("dispose",_);const w=o.indexOf(M.__bindingPointIndex);o.splice(w,1),n.deleteBuffer(r[M.id]),delete r[M.id],delete s[M.id]}function v(){for(const A in r)n.deleteBuffer(r[A]);o=[],r={},s={}}return{bind:l,update:c,dispose:v}}class $b{constructor(e={}){const{canvas:t=Nb(),context:i=null,depth:r=!0,stencil:s=!1,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:c=!1,powerPreference:h="default",failIfMajorPerformanceCaveat:d=!1}=e;this.isWebGLRenderer=!0;let p;if(i!==null){if(typeof WebGLRenderingContext<"u"&&i instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");p=i.getContextAttributes().alpha}else p=o;const m=new Uint32Array(4),y=new Int32Array(4);let S=null,_=null;const v=[],A=[];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=Jn,this._useLegacyLights=!1,this.toneMapping=ls,this.toneMappingExposure=1;const M=this;let w=!1,I=0,R=0,P=null,D=-1,b=null;const C=new Ot,O=new Ot;let J=null;const H=new we(0);let ne=0,se=t.width,ce=t.height,ge=1,N=null,V=null;const G=new Ot(0,0,se,ce),oe=new Ot(0,0,se,ce);let Me=!1;const ze=new th;let te=!1,ye=!1;const Ce=new Ue,Ae=new L,ft={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function mt(){return P===null?ge:1}let j=i;function nt(F,K){return t.getContext(F,K)}try{const F={alpha:!0,depth:r,stencil:s,antialias:a,premultipliedAlpha:l,preserveDrawingBuffer:c,powerPreference:h,failIfMajorPerformanceCaveat:d};if("setAttribute"in t&&t.setAttribute("data-engine",`three.js r${zu}`),t.addEventListener("webglcontextlost",W,!1),t.addEventListener("webglcontextrestored",ve,!1),t.addEventListener("webglcontextcreationerror",fe,!1),j===null){const K="webgl2";if(j=nt(K,F),j===null)throw nt(K)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(F){throw console.error("THREE.WebGLRenderer: "+F.message),F}let le,me,de,Re,xe,Oe,Qe,k,B,q,he,_e,pe,Ye,Ie,Pe,lt,Te,je,St,et,He,gt,Mt;function nn(){le=new wU(j),le.init(),He=new qb(j,le),me=new _U(j,le,e,He),de=new ik(j),Re=new RU(j),xe=new XO,Oe=new rk(j,le,de,xe,me,He,Re),Qe=new AU(M),k=new EU(M),B=new FF(j),gt=new vU(j,B),q=new TU(j,B,Re,gt),he=new PU(j,q,B,Re),je=new bU(j,me,Oe),Pe=new xU(xe),_e=new WO(M,Qe,k,le,me,gt,Pe),pe=new fk(M,xe),Ye=new jO,Ie=new $O(le),Te=new gU(M,Qe,k,de,he,p,l),lt=new nk(M,he,me),Mt=new hk(j,Re,me,de),St=new yU(j,le,Re),et=new CU(j,le,Re),Re.programs=_e.programs,M.capabilities=me,M.extensions=le,M.properties=xe,M.renderLists=Ye,M.shadowMap=lt,M.state=de,M.info=Re}nn();const ht=new uk(M,j);this.xr=ht,this.getContext=function(){return j},this.getContextAttributes=function(){return j.getContextAttributes()},this.forceContextLoss=function(){const F=le.get("WEBGL_lose_context");F&&F.loseContext()},this.forceContextRestore=function(){const F=le.get("WEBGL_lose_context");F&&F.restoreContext()},this.getPixelRatio=function(){return ge},this.setPixelRatio=function(F){F!==void 0&&(ge=F,this.setSize(se,ce,!1))},this.getSize=function(F){return F.set(se,ce)},this.setSize=function(F,K,ie=!0){if(ht.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}se=F,ce=K,t.width=Math.floor(F*ge),t.height=Math.floor(K*ge),ie===!0&&(t.style.width=F+"px",t.style.height=K+"px"),this.setViewport(0,0,F,K)},this.getDrawingBufferSize=function(F){return F.set(se*ge,ce*ge).floor()},this.setDrawingBufferSize=function(F,K,ie){se=F,ce=K,ge=ie,t.width=Math.floor(F*ie),t.height=Math.floor(K*ie),this.setViewport(0,0,F,K)},this.getCurrentViewport=function(F){return F.copy(C)},this.getViewport=function(F){return F.copy(G)},this.setViewport=function(F,K,ie,Z){F.isVector4?G.set(F.x,F.y,F.z,F.w):G.set(F,K,ie,Z),de.viewport(C.copy(G).multiplyScalar(ge).round())},this.getScissor=function(F){return F.copy(oe)},this.setScissor=function(F,K,ie,Z){F.isVector4?oe.set(F.x,F.y,F.z,F.w):oe.set(F,K,ie,Z),de.scissor(O.copy(oe).multiplyScalar(ge).round())},this.getScissorTest=function(){return Me},this.setScissorTest=function(F){de.setScissorTest(Me=F)},this.setOpaqueSort=function(F){N=F},this.setTransparentSort=function(F){V=F},this.getClearColor=function(F){return F.copy(Te.getClearColor())},this.setClearColor=function(){Te.setClearColor.apply(Te,arguments)},this.getClearAlpha=function(){return Te.getClearAlpha()},this.setClearAlpha=function(){Te.setClearAlpha.apply(Te,arguments)},this.clear=function(F=!0,K=!0,ie=!0){let Z=0;if(F){let ee=!1;if(P!==null){const Le=P.texture.format;ee=Le===cA||Le===uA||Le===lA}if(ee){const Le=P.texture.type,We=Le===cs||Le===ja||Le===iA||Le===Wu||Le===sA||Le===oA,Xe=Te.getClearColor(),tt=Te.getClearAlpha(),st=Xe.r,ot=Xe.g,at=Xe.b;We?(m[0]=st,m[1]=ot,m[2]=at,m[3]=tt,j.clearBufferuiv(j.COLOR,0,m)):(y[0]=st,y[1]=ot,y[2]=at,y[3]=tt,j.clearBufferiv(j.COLOR,0,y))}else Z|=j.COLOR_BUFFER_BIT}K&&(Z|=j.DEPTH_BUFFER_BIT),ie&&(Z|=j.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),j.clear(Z)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener("webglcontextlost",W,!1),t.removeEventListener("webglcontextrestored",ve,!1),t.removeEventListener("webglcontextcreationerror",fe,!1),Ye.dispose(),Ie.dispose(),xe.dispose(),Qe.dispose(),k.dispose(),he.dispose(),gt.dispose(),Mt.dispose(),_e.dispose(),ht.dispose(),ht.removeEventListener("sessionstart",It),ht.removeEventListener("sessionend",Hi),Nn.stop()};function W(F){F.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),w=!0}function ve(){console.log("THREE.WebGLRenderer: Context Restored."),w=!1;const F=Re.autoReset,K=lt.enabled,ie=lt.autoUpdate,Z=lt.needsUpdate,ee=lt.type;nn(),Re.autoReset=F,lt.enabled=K,lt.autoUpdate=ie,lt.needsUpdate=Z,lt.type=ee}function fe(F){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",F.statusMessage)}function Be(F){const K=F.target;K.removeEventListener("dispose",Be),Ne(K)}function Ne(F){bt(F),xe.remove(F)}function bt(F){const K=xe.get(F).programs;K!==void 0&&(K.forEach(function(ie){_e.releaseProgram(ie)}),F.isShaderMaterial&&_e.releaseShaderCache(F))}this.renderBufferDirect=function(F,K,ie,Z,ee,Le){K===null&&(K=ft);const We=ee.isMesh&&ee.matrixWorld.determinant()<0,Xe=Cg(F,K,ie,Z,ee);de.setMaterial(Z,We);let tt=ie.index,st=1;if(Z.wireframe===!0){if(tt=q.getWireframeAttribute(ie),tt===void 0)return;st=2}const ot=ie.drawRange,at=ie.attributes.position;let Zt=ot.start*st,_n=(ot.start+ot.count)*st;Le!==null&&(Zt=Math.max(Zt,Le.start*st),_n=Math.min(_n,(Le.start+Le.count)*st)),tt!==null?(Zt=Math.max(Zt,0),_n=Math.min(_n,tt.count)):at!=null&&(Zt=Math.max(Zt,0),_n=Math.min(_n,at.count));const hi=_n-Zt;if(hi<0||hi===1/0)return;gt.setup(ee,Z,Xe,ie,tt);let Gi,Et=St;if(tt!==null&&(Gi=B.get(tt),Et=et,Et.setIndex(Gi)),ee.isMesh)Z.wireframe===!0?(de.setLineWidth(Z.wireframeLinewidth*mt()),Et.setMode(j.LINES)):Et.setMode(j.TRIANGLES);else if(ee.isLine){let Ze=Z.linewidth;Ze===void 0&&(Ze=1),de.setLineWidth(Ze*mt()),ee.isLineSegments?Et.setMode(j.LINES):ee.isLineLoop?Et.setMode(j.LINE_LOOP):Et.setMode(j.LINE_STRIP)}else ee.isPoints?Et.setMode(j.POINTS):ee.isSprite&&Et.setMode(j.TRIANGLES);if(ee.isBatchedMesh)ee._multiDrawInstances!==null?Et.renderMultiDrawInstances(ee._multiDrawStarts,ee._multiDrawCounts,ee._multiDrawCount,ee._multiDrawInstances):Et.renderMultiDraw(ee._multiDrawStarts,ee._multiDrawCounts,ee._multiDrawCount);else if(ee.isInstancedMesh)Et.renderInstances(Zt,hi,ee.count);else if(ie.isInstancedBufferGeometry){const Ze=ie._maxInstanceCount!==void 0?ie._maxInstanceCount:1/0,Ft=Math.min(ie.instanceCount,Ze);Et.renderInstances(Zt,hi,Ft)}else Et.render(Zt,hi)};function Ht(F,K,ie){F.transparent===!0&&F.side===vr&&F.forceSinglePass===!1?(F.side=Si,F.needsUpdate=!0,ul(F,K,ie),F.side=Wr,F.needsUpdate=!0,ul(F,K,ie),F.side=vr):ul(F,K,ie)}this.compile=function(F,K,ie=null){ie===null&&(ie=F),_=Ie.get(ie),_.init(K),A.push(_),ie.traverseVisible(function(ee){ee.isLight&&ee.layers.test(K.layers)&&(_.pushLight(ee),ee.castShadow&&_.pushShadow(ee))}),F!==ie&&F.traverseVisible(function(ee){ee.isLight&&ee.layers.test(K.layers)&&(_.pushLight(ee),ee.castShadow&&_.pushShadow(ee))}),_.setupLights(M._useLegacyLights);const Z=new Set;return F.traverse(function(ee){const Le=ee.material;if(Le)if(Array.isArray(Le))for(let We=0;We{function Le(){if(Z.forEach(function(We){xe.get(We).currentProgram.isReady()&&Z.delete(We)}),Z.size===0){ee(F);return}setTimeout(Le,10)}le.get("KHR_parallel_shader_compile")!==null?Le():setTimeout(Le,10)})};let Kt=null;function Fn(F){Kt&&Kt(F)}function It(){Nn.stop()}function Hi(){Nn.start()}const Nn=new Xb;Nn.setAnimationLoop(Fn),typeof self<"u"&&Nn.setContext(self),this.setAnimationLoop=function(F){Kt=F,ht.setAnimationLoop(F),F===null?Nn.stop():Nn.start()},ht.addEventListener("sessionstart",It),ht.addEventListener("sessionend",Hi),this.render=function(F,K){if(K!==void 0&&K.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(w===!0)return;F.matrixWorldAutoUpdate===!0&&F.updateMatrixWorld(),K.parent===null&&K.matrixWorldAutoUpdate===!0&&K.updateMatrixWorld(),ht.enabled===!0&&ht.isPresenting===!0&&(ht.cameraAutoUpdate===!0&&ht.updateCamera(K),K=ht.getCamera()),F.isScene===!0&&F.onBeforeRender(M,F,K,P),_=Ie.get(F,A.length),_.init(K),A.push(_),Ce.multiplyMatrices(K.projectionMatrix,K.matrixWorldInverse),ze.setFromProjectionMatrix(Ce),ye=this.localClippingEnabled,te=Pe.init(this.clippingPlanes,ye),S=Ye.get(F,v.length),S.init(),v.push(S),ph(F,K,0,M.sortObjects),S.finish(),M.sortObjects===!0&&S.sort(N,V);const ie=ht.enabled===!1||ht.isPresenting===!1||ht.hasDepthSensing()===!1;ie&&Te.addToRenderList(S,F),this.info.render.frame++,te===!0&&Pe.beginShadows();const Z=_.state.shadowsArray;lt.render(Z,F,K),te===!0&&Pe.endShadows(),this.info.autoReset===!0&&this.info.reset();const ee=S.opaque,Le=S.transmissive;if(_.setupLights(M._useLegacyLights),K.isArrayCamera){const We=K.cameras;if(Le.length>0)for(let Xe=0,tt=We.length;Xe0&&gh(ee,Le,F,K),ie&&Te.render(F),mh(S,F,K);P!==null&&(Oe.updateMultisampleRenderTarget(P),Oe.updateRenderTargetMipmap(P)),F.isScene===!0&&F.onAfterRender(M,F,K),gt.resetDefaultState(),D=-1,b=null,A.pop(),A.length>0?(_=A[A.length-1],te===!0&&Pe.setGlobalState(M.clippingPlanes,_.state.camera)):_=null,v.pop(),v.length>0?S=v[v.length-1]:S=null};function ph(F,K,ie,Z){if(F.visible===!1)return;if(F.layers.test(K.layers)){if(F.isGroup)ie=F.renderOrder;else if(F.isLOD)F.autoUpdate===!0&&F.update(K);else if(F.isLight)_.pushLight(F),F.castShadow&&_.pushShadow(F);else if(F.isSprite){if(!F.frustumCulled||ze.intersectsSprite(F)){Z&&Ae.setFromMatrixPosition(F.matrixWorld).applyMatrix4(Ce);const We=he.update(F),Xe=F.material;Xe.visible&&S.push(F,We,Xe,ie,Ae.z,null)}}else if((F.isMesh||F.isLine||F.isPoints)&&(!F.frustumCulled||ze.intersectsObject(F))){const We=he.update(F),Xe=F.material;if(Z&&(F.boundingSphere!==void 0?(F.boundingSphere===null&&F.computeBoundingSphere(),Ae.copy(F.boundingSphere.center)):(We.boundingSphere===null&&We.computeBoundingSphere(),Ae.copy(We.boundingSphere.center)),Ae.applyMatrix4(F.matrixWorld).applyMatrix4(Ce)),Array.isArray(Xe)){const tt=We.groups;for(let st=0,ot=tt.length;st0&&Qo(ee,K,ie),Le.length>0&&Qo(Le,K,ie),We.length>0&&Qo(We,K,ie),de.buffers.depth.setTest(!0),de.buffers.depth.setMask(!0),de.buffers.color.setMask(!0),de.setPolygonOffset(!1)}function gh(F,K,ie,Z){if((ie.isScene===!0?ie.overrideMaterial:null)!==null)return;_.state.transmissionRenderTarget[Z.id]===void 0&&(_.state.transmissionRenderTarget[Z.id]=new Jr(1,1,{generateMipmaps:!0,type:le.has("EXT_color_buffer_half_float")||le.has("EXT_color_buffer_float")?Qf:cs,minFilter:Di,samples:4,stencilBuffer:s,resolveDepthBuffer:!1,resolveStencilBuffer:!1}));const Le=_.state.transmissionRenderTarget[Z.id],We=Z.viewport||C;Le.setSize(We.z,We.w);const Xe=M.getRenderTarget();M.setRenderTarget(Le),M.getClearColor(H),ne=M.getClearAlpha(),ne<1&&M.setClearColor(16777215,.5),M.clear();const tt=M.toneMapping;M.toneMapping=ls;const st=Z.viewport;if(Z.viewport!==void 0&&(Z.viewport=void 0),_.setupLightsView(Z),te===!0&&Pe.setGlobalState(M.clippingPlanes,Z),Qo(F,ie,Z),Oe.updateMultisampleRenderTarget(Le),Oe.updateRenderTargetMipmap(Le),le.has("WEBGL_multisampled_render_to_texture")===!1){let ot=!1;for(let at=0,Zt=K.length;at0),at=!!ie.morphAttributes.position,Zt=!!ie.morphAttributes.normal,_n=!!ie.morphAttributes.color;let hi=ls;Z.toneMapped&&(P===null||P.isXRRenderTarget===!0)&&(hi=M.toneMapping);const Gi=ie.morphAttributes.position||ie.morphAttributes.normal||ie.morphAttributes.color,Et=Gi!==void 0?Gi.length:0,Ze=xe.get(Z),Ft=_.state.lights;if(te===!0&&(ye===!0||F!==b)){const di=F===b&&Z.id===D;Pe.setState(Z,F,di)}let $e=!1;Z.version===Ze.__version?(Ze.needsLights&&Ze.lightsStateVersion!==Ft.state.version||Ze.outputColorSpace!==Xe||ee.isBatchedMesh&&Ze.batching===!1||!ee.isBatchedMesh&&Ze.batching===!0||ee.isInstancedMesh&&Ze.instancing===!1||!ee.isInstancedMesh&&Ze.instancing===!0||ee.isSkinnedMesh&&Ze.skinning===!1||!ee.isSkinnedMesh&&Ze.skinning===!0||ee.isInstancedMesh&&Ze.instancingColor===!0&&ee.instanceColor===null||ee.isInstancedMesh&&Ze.instancingColor===!1&&ee.instanceColor!==null||ee.isInstancedMesh&&Ze.instancingMorph===!0&&ee.morphTexture===null||ee.isInstancedMesh&&Ze.instancingMorph===!1&&ee.morphTexture!==null||Ze.envMap!==tt||Z.fog===!0&&Ze.fog!==Le||Ze.numClippingPlanes!==void 0&&(Ze.numClippingPlanes!==Pe.numPlanes||Ze.numIntersection!==Pe.numIntersection)||Ze.vertexAlphas!==st||Ze.vertexTangents!==ot||Ze.morphTargets!==at||Ze.morphNormals!==Zt||Ze.morphColors!==_n||Ze.toneMapping!==hi||Ze.morphTargetsCount!==Et)&&($e=!0):($e=!0,Ze.__version=Z.version);let ei=Ze.currentProgram;$e===!0&&(ei=ul(Z,K,ee));let bn=!1,xn=!1,Cr=!1;const rn=ei.getUniforms(),sn=Ze.uniforms;if(de.useProgram(ei.program)&&(bn=!0,xn=!0,Cr=!0),Z.id!==D&&(D=Z.id,xn=!0),bn||b!==F){rn.setValue(j,"projectionMatrix",F.projectionMatrix),rn.setValue(j,"viewMatrix",F.matrixWorldInverse);const di=rn.map.cameraPosition;di!==void 0&&di.setValue(j,Ae.setFromMatrixPosition(F.matrixWorld)),me.logarithmicDepthBuffer&&rn.setValue(j,"logDepthBufFC",2/(Math.log(F.far+1)/Math.LN2)),(Z.isMeshPhongMaterial||Z.isMeshToonMaterial||Z.isMeshLambertMaterial||Z.isMeshBasicMaterial||Z.isMeshStandardMaterial||Z.isShaderMaterial)&&rn.setValue(j,"isOrthographic",F.isOrthographicCamera===!0),b!==F&&(b=F,xn=!0,Cr=!0)}if(ee.isSkinnedMesh){rn.setOptional(j,ee,"bindMatrix"),rn.setOptional(j,ee,"bindMatrixInverse");const di=ee.skeleton;di&&(di.boneTexture===null&&di.computeBoneTexture(),rn.setValue(j,"boneTexture",di.boneTexture,Oe))}ee.isBatchedMesh&&(rn.setOptional(j,ee,"batchingTexture"),rn.setValue(j,"batchingTexture",ee._matricesTexture,Oe));const qs=ie.morphAttributes;if((qs.position!==void 0||qs.normal!==void 0||qs.color!==void 0)&&je.update(ee,ie,ei),(xn||Ze.receiveShadow!==ee.receiveShadow)&&(Ze.receiveShadow=ee.receiveShadow,rn.setValue(j,"receiveShadow",ee.receiveShadow)),Z.isMeshGouraudMaterial&&Z.envMap!==null&&(sn.envMap.value=tt,sn.flipEnvMap.value=tt.isCubeTexture&&tt.isRenderTargetTexture===!1?-1:1),Z.isMeshStandardMaterial&&Z.envMap===null&&K.environment!==null&&(sn.envMapIntensity.value=K.environmentIntensity),xn&&(rn.setValue(j,"toneMappingExposure",M.toneMappingExposure),Ze.needsLights&&Rg(sn,Cr),Le&&Z.fog===!0&&pe.refreshFogUniforms(sn,Le),pe.refreshMaterialUniforms(sn,Z,ge,ce,_.state.transmissionRenderTarget[F.id]),Jp.upload(j,Qs(Ze),sn,Oe)),Z.isShaderMaterial&&Z.uniformsNeedUpdate===!0&&(Jp.upload(j,Qs(Ze),sn,Oe),Z.uniformsNeedUpdate=!1),Z.isSpriteMaterial&&rn.setValue(j,"center",ee.center),rn.setValue(j,"modelViewMatrix",ee.modelViewMatrix),rn.setValue(j,"normalMatrix",ee.normalMatrix),rn.setValue(j,"modelMatrix",ee.matrixWorld),Z.isShaderMaterial||Z.isRawShaderMaterial){const di=Z.uniformsGroups;for(let cl=0,fl=di.length;cl0&&Oe.useMultisampledRTT(F)===!1?ee=xe.get(F).__webglMultisampledFramebuffer:Array.isArray(ot)?ee=ot[ie]:ee=ot,C.copy(F.viewport),O.copy(F.scissor),J=F.scissorTest}else C.copy(G).multiplyScalar(ge).floor(),O.copy(oe).multiplyScalar(ge).floor(),J=Me;if(de.bindFramebuffer(j.FRAMEBUFFER,ee)&&Z&&de.drawBuffers(F,ee),de.viewport(C),de.scissor(O),de.setScissorTest(J),Le){const tt=xe.get(F.texture);j.framebufferTexture2D(j.FRAMEBUFFER,j.COLOR_ATTACHMENT0,j.TEXTURE_CUBE_MAP_POSITIVE_X+K,tt.__webglTexture,ie)}else if(We){const tt=xe.get(F.texture),st=K||0;j.framebufferTextureLayer(j.FRAMEBUFFER,j.COLOR_ATTACHMENT0,tt.__webglTexture,ie||0,st)}D=-1},this.readRenderTargetPixels=function(F,K,ie,Z,ee,Le,We){if(!(F&&F.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let Xe=xe.get(F).__webglFramebuffer;if(F.isWebGLCubeRenderTarget&&We!==void 0&&(Xe=Xe[We]),Xe){de.bindFramebuffer(j.FRAMEBUFFER,Xe);try{const tt=F.texture,st=tt.format,ot=tt.type;if(!me.textureFormatReadable(st)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!me.textureTypeReadable(ot)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}K>=0&&K<=F.width-Z&&ie>=0&&ie<=F.height-ee&&j.readPixels(K,ie,Z,ee,He.convert(st),He.convert(ot),Le)}finally{const tt=P!==null?xe.get(P).__webglFramebuffer:null;de.bindFramebuffer(j.FRAMEBUFFER,tt)}}},this.copyFramebufferToTexture=function(F,K,ie=0){const Z=Math.pow(2,-ie),ee=Math.floor(K.image.width*Z),Le=Math.floor(K.image.height*Z);Oe.setTexture2D(K,0),j.copyTexSubImage2D(j.TEXTURE_2D,ie,0,0,F.x,F.y,ee,Le),de.unbindTexture()},this.copyTextureToTexture=function(F,K,ie,Z=0){const ee=K.image.width,Le=K.image.height,We=He.convert(ie.format),Xe=He.convert(ie.type);Oe.setTexture2D(ie,0),j.pixelStorei(j.UNPACK_FLIP_Y_WEBGL,ie.flipY),j.pixelStorei(j.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ie.premultiplyAlpha),j.pixelStorei(j.UNPACK_ALIGNMENT,ie.unpackAlignment),K.isDataTexture?j.texSubImage2D(j.TEXTURE_2D,Z,F.x,F.y,ee,Le,We,Xe,K.image.data):K.isCompressedTexture?j.compressedTexSubImage2D(j.TEXTURE_2D,Z,F.x,F.y,K.mipmaps[0].width,K.mipmaps[0].height,We,K.mipmaps[0].data):j.texSubImage2D(j.TEXTURE_2D,Z,F.x,F.y,We,Xe,K.image),Z===0&&ie.generateMipmaps&&j.generateMipmap(j.TEXTURE_2D),de.unbindTexture()},this.copyTextureToTexture3D=function(F,K,ie,Z,ee=0){const Le=F.max.x-F.min.x,We=F.max.y-F.min.y,Xe=F.max.z-F.min.z,tt=He.convert(Z.format),st=He.convert(Z.type);let ot;if(Z.isData3DTexture)Oe.setTexture3D(Z,0),ot=j.TEXTURE_3D;else if(Z.isDataArrayTexture||Z.isCompressedArrayTexture)Oe.setTexture2DArray(Z,0),ot=j.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}j.pixelStorei(j.UNPACK_FLIP_Y_WEBGL,Z.flipY),j.pixelStorei(j.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Z.premultiplyAlpha),j.pixelStorei(j.UNPACK_ALIGNMENT,Z.unpackAlignment);const at=j.getParameter(j.UNPACK_ROW_LENGTH),Zt=j.getParameter(j.UNPACK_IMAGE_HEIGHT),_n=j.getParameter(j.UNPACK_SKIP_PIXELS),hi=j.getParameter(j.UNPACK_SKIP_ROWS),Gi=j.getParameter(j.UNPACK_SKIP_IMAGES),Et=ie.isCompressedTexture?ie.mipmaps[ee]:ie.image;j.pixelStorei(j.UNPACK_ROW_LENGTH,Et.width),j.pixelStorei(j.UNPACK_IMAGE_HEIGHT,Et.height),j.pixelStorei(j.UNPACK_SKIP_PIXELS,F.min.x),j.pixelStorei(j.UNPACK_SKIP_ROWS,F.min.y),j.pixelStorei(j.UNPACK_SKIP_IMAGES,F.min.z),ie.isDataTexture||ie.isData3DTexture?j.texSubImage3D(ot,ee,K.x,K.y,K.z,Le,We,Xe,tt,st,Et.data):Z.isCompressedArrayTexture?j.compressedTexSubImage3D(ot,ee,K.x,K.y,K.z,Le,We,Xe,tt,Et.data):j.texSubImage3D(ot,ee,K.x,K.y,K.z,Le,We,Xe,tt,st,Et),j.pixelStorei(j.UNPACK_ROW_LENGTH,at),j.pixelStorei(j.UNPACK_IMAGE_HEIGHT,Zt),j.pixelStorei(j.UNPACK_SKIP_PIXELS,_n),j.pixelStorei(j.UNPACK_SKIP_ROWS,hi),j.pixelStorei(j.UNPACK_SKIP_IMAGES,Gi),ee===0&&Z.generateMipmaps&&j.generateMipmap(ot),de.unbindTexture()},this.initTexture=function(F){F.isCubeTexture?Oe.setTextureCube(F,0):F.isData3DTexture?Oe.setTexture3D(F,0):F.isDataArrayTexture||F.isCompressedArrayTexture?Oe.setTexture2DArray(F,0):Oe.setTexture2D(F,0),de.unbindTexture()},this.resetState=function(){I=0,R=0,P=null,de.reset(),gt.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return ss}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===Km?"display-p3":"srgb",t.unpackColorSpace=Ut.workingColorSpace===Zf?"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 qm{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new we(e),this.density=t}clone(){return new qm(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class Zm{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new we(e),this.near=t,this.far=i}clone(){return new Zm(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class Am extends At{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 ki,this.environmentIntensity=1,this.environmentRotation=new ki,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class Ju{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=Ff,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=Zi()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return Ub("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:Cc.clone(),uv:Yi.getInterpolation(Cc,Kd,bc,Yd,RE,Iv,bE,new ue),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 Qd(n,e,t,i,r,s){Wl.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(Rc.x=s*Wl.x-r*Wl.y,Rc.y=r*Wl.x+s*Wl.y):Rc.copy(Wl),n.copy(e),n.x+=Rc.x,n.y+=Rc.y,n.applyMatrix4(eP)}const qd=new L,PE=new L;class nP extends At{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){qd.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(qd);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){qd.setFromMatrixPosition(e.matrixWorld),PE.setFromMatrixPosition(this.matrixWorld);const i=qd.distanceTo(PE)/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 Jl="batchId",po=new Ue,kE=new Ue,_k=new Ue,HE=new Ue,Dv=new th,ep=new Yn,ha=new Rn,Bc=new L,Fv=new yk,ui=new Jt,tp=[];function xk(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 it(a,1))}const o=r>65536?new Uint32Array(i):new Uint16Array(i);t.setAttribute(Jl,new it(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(Jl))throw new Error(`BatchedMesh: Geometry cannot use attribute "${Jl}"`);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===Jl)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 Yn);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 c=e.getIndex(),h=c!==null;if(h&&(i===-1?r.indexCount=c.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 d=this._visibility,p=this._active,m=this._matricesTexture,y=this._matricesTexture.image.data;d.push(!0),p.push(!0);const S=this._geometryCount;this._geometryCount++,_k.toArray(y,S*16),m.needsUpdate=!0,o.push(r),a.push({start:h?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new Yn,sphereInitialized:!1,sphere:new Rn});const _=this.geometry.getAttribute(Jl);for(let v=0;v=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,c=a.vertexCount;for(const m in i.attributes){if(m===Jl)continue;const y=t.getAttribute(m),S=i.getAttribute(m);xk(y,S,l);const _=y.itemSize;for(let v=y.count,A=c;v=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getInstanceCountAt(e){return this._multiDrawInstances===null?null:this._multiDrawInstances[e]}setInstanceCountAt(e,t){return this._multiDrawInstances===null&&(this._multiDrawInstances=new Int32Array(this._maxGeometryCount).fill(1)),this._multiDrawInstances[e]=t,e}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,c=this._drawRanges[e];for(let h=c.start,d=c.start+c.count;h=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;ui.material=this.material,ui.geometry.index=l.index,ui.geometry.attributes=l.attributes,ui.geometry.boundingBox===null&&(ui.geometry.boundingBox=new Yn),ui.geometry.boundingSphere===null&&(ui.geometry.boundingSphere=new Rn);for(let c=0;c({...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,c=this._visibility,h=this._multiDrawStarts,d=this._multiDrawCounts,p=this._drawRanges,m=this.perObjectFrustumCulled;m&&(HE.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),Dv.setFromProjectionMatrix(HE,e.coordinateSystem));let y=0;if(this.sortObjects){kE.copy(this.matrixWorld).invert(),Bc.setFromMatrixPosition(i.matrixWorld).applyMatrix4(kE);for(let v=0,A=c.length;v0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;si)return;Nv.applyMatrix4(n.matrixWorld);const l=e.ray.origin.distanceTo(Nv);if(!(le.far))return{distance:l,point:zE.clone().applyMatrix4(n.matrixWorld),index:r,face:null,faceIndex:null,object:n}}const VE=new L,WE=new L;class wr extends fs{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,i=[];for(let r=0,s=t.count;r0){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:c,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,object:o})}}class Ak extends zt{constructor(e,t,i,r,s,o,a,l,c){super(e,t,i,r,s,o,a,l,c),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:tn,this.magFilter=s!==void 0?s:tn,this.generateMipmaps=!1;const h=this;function d(){h.needsUpdate=!0,e.requestVideoFrameCallback(d)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(d)}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 Sk extends zt{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=Tn,this.minFilter=Tn,this.generateMipmaps=!1,this.needsUpdate=!0}}class ng extends zt{constructor(e,t,i,r,s,o,a,l,c,h,d,p){super(null,o,a,l,c,h,r,s,d,p),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class Mk extends ng{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=Li}}class Ek extends ng{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,Vs),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class wk extends zt{constructor(e,t,i,r,s,o,a,l,c){super(e,t,i,r,s,o,a,l,c),this.isCanvasTexture=!0,this.needsUpdate=!0}}class jr{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,c;for(;a<=l;)if(r=Math.floor(a+(l-a)/2),c=i[r]-o,c<0)a=r+1;else if(c>0)l=r-1;else{l=r;break}if(r=l,i[r]===o)return r/(s-1);const h=i[r],p=i[r+1]-h,m=(o-h)/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 ue:new L);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 L,r=[],s=[],o=[],a=new L,l=new Ue;for(let m=0;m<=e;m++){const y=m/e;r[m]=this.getTangentAt(y,new L)}s[0]=new L,o[0]=new L;let c=Number.MAX_VALUE;const h=Math.abs(r[0].x),d=Math.abs(r[0].y),p=Math.abs(r[0].z);h<=c&&(c=h,i.set(1,0,0)),d<=c&&(c=d,i.set(0,1,0)),p<=c&&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 y=Math.acos(pn(r[m-1].dot(r[m]),-1,1));s[m].applyMatrix4(l.makeRotationAxis(a,y))}o[m].crossVectors(r[m],s[m])}if(t===!0){let m=Math.acos(pn(s[0].dot(s[e]),-1,1));m/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(m=-m);for(let y=1;y<=e;y++)s[y].applyMatrix4(l.makeRotationAxis(r[y],m*y)),o[y].crossVectors(r[y],s[y])}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 ig extends jr{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 ue){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 c,h;this.closed||a>0?c=r[(a-1)%s]:(op.subVectors(r[0],r[1]).add(r[0]),c=op);const d=r[a%s],p=r[(a+1)%s];if(this.closed||a+2r.length-2?r.length-1:o+1],d=r[o>r.length-3?r.length-1:o+2];return i.set(jE(a,l.x,c.x,h.x,d.x),jE(a,l.y,c.y,h.y,d.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(),c=l===0?0:1-o/l;return a.getPointAt(c,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 d=c.getPoint(0);d.equals(this.currentPoint)||this.lineTo(d.x,d.y)}this.curves.push(c);const h=c.getPoint(1);return this.currentPoint.copy(h),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 sh extends rt{constructor(e=[new ue(0,-.5),new ue(.5,0),new ue(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=pn(r,0,Math.PI*2);const s=[],o=[],a=[],l=[],c=[],h=1/t,d=new L,p=new ue,m=new L,y=new L,S=new L;let _=0,v=0;for(let A=0;A<=e.length-1;A++)switch(A){case 0:_=e[A+1].x-e[A].x,v=e[A+1].y-e[A].y,m.x=v*1,m.y=-_,m.z=v*0,S.copy(m),m.normalize(),l.push(m.x,m.y,m.z);break;case e.length-1:l.push(S.x,S.y,S.z);break;default:_=e[A+1].x-e[A].x,v=e[A+1].y-e[A].y,m.x=v*1,m.y=-_,m.z=v*0,y.copy(m),m.x+=S.x,m.y+=S.y,m.z+=S.z,m.normalize(),l.push(m.x,m.y,m.z),S.copy(y)}for(let A=0;A<=t;A++){const M=i+A*h*r,w=Math.sin(M),I=Math.cos(M);for(let R=0;R<=e.length-1;R++){d.x=e[R].x*w,d.y=e[R].y,d.z=e[R].x*I,o.push(d.x,d.y,d.z),p.x=A/t,p.y=R/(e.length-1),a.push(p.x,p.y);const P=l[3*R+0]*w,D=l[3*R+1],b=l[3*R+0]*I;c.push(P,D,b)}}for(let A=0;A0&&M(!0),t>0&&M(!1)),this.setIndex(h),this.setAttribute("position",new Ve(d,3)),this.setAttribute("normal",new Ve(p,3)),this.setAttribute("uv",new Ve(m,2));function A(){const w=new L,I=new L;let R=0;const P=(t-e)/i;for(let D=0;D<=s;D++){const b=[],C=D/s,O=C*(t-e)+e;for(let J=0;J<=r;J++){const H=J/r,ne=H*l+a,se=Math.sin(ne),ce=Math.cos(ne);I.x=O*se,I.y=-C*i+_,I.z=O*ce,d.push(I.x,I.y,I.z),w.set(se,P,ce).normalize(),p.push(w.x,w.y,w.z),m.push(H,1-C),b.push(y++)}S.push(b)}for(let D=0;D.9&&P<.1&&(M<.2&&(o[A+0]+=1),w<.2&&(o[A+2]+=1),I<.2&&(o[A+4]+=1))}}function p(A){s.push(A.x,A.y,A.z)}function m(A,M){const w=A*3;M.x=e[w+0],M.y=e[w+1],M.z=e[w+2]}function y(){const A=new L,M=new L,w=new L,I=new L,R=new ue,P=new ue,D=new ue;for(let b=0,C=0;b80*t){a=c=n[0],l=h=n[1];for(let y=t;yc&&(c=d),p>h&&(h=p);m=Math.max(c-a,h-l),m=m!==0?32767/m:0}return kf(s,o,t,a,l,m,0),o}};function cP(n,e,t,i,r){let s,o;if(r===Yk(n,e,t,i)>0)for(s=e;s=e;s-=i)o=KE(s,n[s],n[s+1],o);return o&&ug(o,o.next)&&(Gf(o),o=o.next),o}function Qa(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(ug(t,t.next)||ln(t.prev,t,t.next)===0)){if(Gf(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function kf(n,e,t,i,r,s,o){if(!n)return;!o&&s&&Vk(n,i,r,s);let a=n,l,c;for(;n.prev!==n.next;){if(l=n.prev,c=n.next,s?Fk(n,i,r,s):Dk(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(c.i/t|0),Gf(n),n=c.next,a=c.next;continue}if(n=c,n===a){o?o===1?(n=Nk(Qa(n),e,t),kf(n,e,t,i,r,s,2)):o===2&&Uk(n,e,t,i,r,s):kf(Qa(n),e,t,i,r,s,1);break}}}function Dk(n){const e=n.prev,t=n,i=n.next;if(ln(e,t,i)>=0)return!1;const r=e.x,s=t.x,o=i.x,a=e.y,l=t.y,c=i.y,h=rs?r>o?r:o:s>o?s:o,m=a>l?a>c?a:c:l>c?l:c;let y=i.next;for(;y!==e;){if(y.x>=h&&y.x<=p&&y.y>=d&&y.y<=m&&hu(r,a,s,l,o,c,y.x,y.y)&&ln(y.prev,y,y.next)>=0)return!1;y=y.next}return!0}function Fk(n,e,t,i){const r=n.prev,s=n,o=n.next;if(ln(r,s,o)>=0)return!1;const a=r.x,l=s.x,c=o.x,h=r.y,d=s.y,p=o.y,m=al?a>c?a:c:l>c?l:c,_=h>d?h>p?h:p:d>p?d:p,v=Y_(m,y,e,t,i),A=Y_(S,_,e,t,i);let M=n.prevZ,w=n.nextZ;for(;M&&M.z>=v&&w&&w.z<=A;){if(M.x>=m&&M.x<=S&&M.y>=y&&M.y<=_&&M!==r&&M!==o&&hu(a,h,l,d,c,p,M.x,M.y)&&ln(M.prev,M,M.next)>=0||(M=M.prevZ,w.x>=m&&w.x<=S&&w.y>=y&&w.y<=_&&w!==r&&w!==o&&hu(a,h,l,d,c,p,w.x,w.y)&&ln(w.prev,w,w.next)>=0))return!1;w=w.nextZ}for(;M&&M.z>=v;){if(M.x>=m&&M.x<=S&&M.y>=y&&M.y<=_&&M!==r&&M!==o&&hu(a,h,l,d,c,p,M.x,M.y)&&ln(M.prev,M,M.next)>=0)return!1;M=M.prevZ}for(;w&&w.z<=A;){if(w.x>=m&&w.x<=S&&w.y>=y&&w.y<=_&&w!==r&&w!==o&&hu(a,h,l,d,c,p,w.x,w.y)&&ln(w.prev,w,w.next)>=0)return!1;w=w.nextZ}return!0}function Nk(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!ug(r,s)&&fP(r,i,i.next,s)&&Hf(r,s)&&Hf(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),Gf(i),Gf(i.next),i=n=s),i=i.next}while(i!==n);return Qa(i)}function Uk(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&Jk(o,a)){let l=hP(o,a);o=Qa(o,o.next),l=Qa(l,l.next),kf(o,e,t,i,r,s,0),kf(l,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function Ok(n,e,t,i){const r=[];let s,o,a,l,c;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&&hu(or.x||t.x===r.x&&zk(r,t)))&&(r=t,h=d)),t=t.next;while(t!==a);return r}function zk(n,e){return ln(n.prev,n,e.prev)<0&&ln(e.next,n,n.next)<0}function Vk(n,e,t,i){let r=n;do r.z===0&&(r.z=Y_(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,Wk(r)}function Wk(n){let e,t,i,r,s,o,a,l,c=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,c*=2}while(o>1);return n}function Y_(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 Xk(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 Jk(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!jk(n,e)&&(Hf(n,e)&&Hf(e,n)&&Kk(n,e)&&(ln(n.prev,n,e.prev)||ln(n,e.prev,e))||ug(n,e)&&ln(n.prev,n,n.next)>0&&ln(e.prev,e,e.next)>0)}function ln(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function ug(n,e){return n.x===e.x&&n.y===e.y}function fP(n,e,t,i){const r=fp(ln(n,e,t)),s=fp(ln(n,e,i)),o=fp(ln(t,i,n)),a=fp(ln(t,i,e));return!!(r!==s&&o!==a||r===0&&cp(n,t,e)||s===0&&cp(n,i,e)||o===0&&cp(t,n,i)||a===0&&cp(t,e,i))}function cp(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 fp(n){return n>0?1:n<0?-1:0}function jk(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&&fP(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function Hf(n,e){return ln(n.prev,n,n.next)<0?ln(n,e,n.next)>=0&&ln(n,n.prev,e)>=0:ln(n,e,n.prev)<0||ln(n,n.next,e)<0}function Kk(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 hP(n,e){const t=new Q_(n.i,n.x,n.y),i=new Q_(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 KE(n,e,t,i){const r=new Q_(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 Gf(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 Q_(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 Yk(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function QE(n,e){for(let t=0;tNumber.EPSILON){const pe=Math.sqrt(he),Ye=Math.sqrt(B*B+q*q),Ie=me.x-k/pe,Pe=me.y+Qe/pe,lt=de.x-q/Ye,Te=de.y+B/Ye,je=((lt-Ie)*q-(Te-Pe)*B)/(Qe*q-k*B);Re=Ie+Qe*je-le.x,xe=Pe+k*je-le.y;const St=Re*Re+xe*xe;if(St<=2)return new ue(Re,xe);Oe=Math.sqrt(St/2)}else{let pe=!1;Qe>Number.EPSILON?B>Number.EPSILON&&(pe=!0):Qe<-Number.EPSILON?B<-Number.EPSILON&&(pe=!0):Math.sign(k)===Math.sign(q)&&(pe=!0),pe?(Re=-k,xe=Qe,Oe=Math.sqrt(he)):(Re=Qe,xe=k,Oe=Math.sqrt(he/2))}return new ue(Re/Oe,xe/Oe)}const V=[];for(let le=0,me=ne.length,de=me-1,Re=le+1;le=0;le--){const me=le/_,de=m*Math.cos(me*Math.PI/2),Re=y*Math.sin(me*Math.PI/2)+S;for(let xe=0,Oe=ne.length;xe=0;){const Re=de;let xe=de-1;xe<0&&(xe=le.length-1);for(let Oe=0,Qe=h+_*2;Oe0)&&m.push(M,w,R),(v!==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 dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class gP extends qt{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new we(16777215),this.specular=new we(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new we(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Xo,this.normalScale=new ue(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new ki,this.combine=Kf,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 vP extends qt{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new we(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new we(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Xo,this.normalScale=new ue(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 yP extends qt{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Xo,this.normalScale=new ue(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 _P extends qt{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new we(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new we(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Xo,this.normalScale=new ue(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new ki,this.combine=Kf,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 xP extends qt{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new we(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Xo,this.normalScale=new ue(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 AP extends Zn{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 Ia(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 SP(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function MP(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 q_(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 bA(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 $k(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let l=0;l=i)){d.push(c.times[m]);for(let S=0;Ss.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[y]){const v=y*d+h,A=v+d-h;S=a.values.slice(v,A)}else{const v=a.createInterpolant(),A=h,M=d-h;v.evaluate(s),S=v.resultBuffer.slice(A,M)}l==="quaternion"&&new jt().fromArray(S).normalize().conjugate().toArray(S);const _=c.times.length;for(let v=0;v<_;++v){const A=v*m+p;if(l==="quaternion")jt.multiplyQuaternionsFlat(c.values,A,S,0,c.values,A);else{const M=m-p*2;for(let w=0;w=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&&SP(r))for(let a=0,l=r.length;a!==l;++a){const c=r[a];if(isNaN(c)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,c),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===Xp,s=e.length-1;let o=1;for(let a=1;a0){e[o]=e[s];for(let a=s*i,l=o*i,c=0;c!==i;++c)t[l+c]=t[a+c];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=t.slice(0,o*i)):(this.times=e,this.values=t),this}clone(){const e=this.times.slice(),t=this.values.slice(),i=this.constructor,r=new i(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}}Kr.prototype.TimeBufferType=Float32Array;Kr.prototype.ValueBufferType=Float32Array;Kr.prototype.DefaultInterpolation=Ws;class rl extends Kr{}rl.prototype.ValueTypeName="bool";rl.prototype.ValueBufferType=Array;rl.prototype.DefaultInterpolation=Ka;rl.prototype.InterpolantFactoryMethodLinear=void 0;rl.prototype.InterpolantFactoryMethodSmooth=void 0;class IA extends Kr{}IA.prototype.ValueTypeName="color";class Js extends Kr{}Js.prototype.ValueTypeName="number";class TP extends il{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=(i-t)/(r-t);let c=e*a;for(let h=c+a;c!==h;c+=4)jt.slerpFlat(s,0,o,c-a,o,c,l);return s}}class hs extends Kr{InterpolantFactoryMethodLinear(e){return new TP(this.times,this.values,this.getValueSize(),e)}}hs.prototype.ValueTypeName="quaternion";hs.prototype.DefaultInterpolation=Ws;hs.prototype.InterpolantFactoryMethodSmooth=void 0;class sl extends Kr{}sl.prototype.ValueTypeName="string";sl.prototype.ValueBufferType=Array;sl.prototype.DefaultInterpolation=Ka;sl.prototype.InterpolantFactoryMethodLinear=void 0;sl.prototype.InterpolantFactoryMethodSmooth=void 0;class js extends Kr{}js.prototype.ValueTypeName="vector";class qa{constructor(e="",t=-1,i=[],r=jm){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=Zi(),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(iH(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(Kr.toJSON(i[s]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const s=t.length,o=[];for(let a=0;a1){const d=h[1];let p=r[d];p||(r[d]=p=[]),p.push(c)}}const o=[];for(const a in r)o.push(this.CreateFromMorphTargetSequence(a,r[a],t,i));return o}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(d,p,m,y,S){if(m.length!==0){const _=[],v=[];bA(m,_,v,y),_.length!==0&&S.push(new d(p,_,v))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const c=e.hierarchy||[];for(let d=0;d{t&&t(s),this.manager.itemEnd(e)},0),s;if(ws[e]!==void 0){ws[e].push({onLoad:t,onProgress:i,onError:r});return}ws[e]=[],ws[e].push({onLoad:t,onProgress:i,onError:r});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,l=this.responseType;fetch(o).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||c.body===void 0||c.body.getReader===void 0)return c;const h=ws[e],d=c.body.getReader(),p=c.headers.get("X-File-Size")||c.headers.get("Content-Length"),m=p?parseInt(p):0,y=m!==0;let S=0;const _=new ReadableStream({start(v){A();function A(){d.read().then(({done:M,value:w})=>{if(M)v.close();else{S+=w.byteLength;const I=new ProgressEvent("progress",{lengthComputable:y,loaded:S,total:m});for(let R=0,P=h.length;R{switch(l){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(h=>new DOMParser().parseFromString(h,a));case"json":return c.json();default:if(a===void 0)return c.text();{const d=/charset="?([^;"\s]*)"?/i.exec(a),p=d&&d[1]?d[1].toLowerCase():void 0,m=new TextDecoder(p);return c.arrayBuffer().then(y=>m.decode(y))}}}).then(c=>{Fs.add(e,c);const h=ws[e];delete ws[e];for(let d=0,p=h.length;d{const h=ws[e];if(h===void 0)throw this.manager.itemError(e),c;delete ws[e];for(let d=0,p=h.length;d{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class sH extends $n{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new Mi(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 we().setHex(o.value);break;case"v2":r.uniforms[s].value=new ue().fromArray(o.value);break;case"v3":r.uniforms[s].value=new L().fromArray(o.value);break;case"v4":r.uniforms[s].value=new Ot().fromArray(o.value);break;case"m3":r.uniforms[s].value=new dt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new Ue().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 ue().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 ue().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:pP,SpriteMaterial:MA,RawShaderMaterial:mP,ShaderMaterial:Er,PointsMaterial:rh,MeshPhysicalMaterial:mn,MeshStandardMaterial:nl,MeshPhongMaterial:gP,MeshToonMaterial:vP,MeshNormalMaterial:yP,MeshLambertMaterial:_P,MeshDepthMaterial:AA,MeshDistanceMaterial:SA,MeshBasicMaterial:Cn,MeshMatcapMaterial:xP,LineDashedMaterial:AP,LineBasicMaterial:Zn,Material:qt};return new t[e]}}class $i{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 BA(t);s=new zf(l),s.setCrossOrigin(this.crossOrigin);for(let c=0,h=e.length;c0){r=new zf(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const _=new Yn;_.min.fromArray(S.boxMin),_.max.fromArray(S.boxMax);const v=new Rn;return v.radius=S.sphereRadius,v.center.fromArray(S.sphereCenter),{boxInitialized:S.boxInitialized,box:_,sphereInitialized:S.sphereInitialized,sphere:v}}),o._maxGeometryCount=e.maxGeometryCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._geometryCount=e.geometryCount,o._matricesTexture=c(e.matricesTexture.uuid);break;case"LOD":o=new nP;break;case"Line":o=new fs(a(e.geometry),l(e.material));break;case"LineLoop":o=new eg(a(e.geometry),l(e.material));break;case"LineSegments":o=new wr(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new tg(a(e.geometry),l(e.material));break;case"Sprite":o=new tP(l(e.material));break;case"Group":o=new xr;break;case"Bone":o=new nh;break;default:o=new At}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=Fs.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(c=>{t&&t(c),s.manager.itemEnd(e)}).catch(c=>{r&&r(c)});return}return setTimeout(function(){t&&t(o),s.manager.itemEnd(e)},0),o}const a={};a.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",a.headers=this.requestHeader;const l=fetch(e,a).then(function(c){return c.blob()}).then(function(c){return createImageBitmap(c,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(c){return Fs.add(e,c),t&&t(c),s.manager.itemEnd(e),c}).catch(function(c){r&&r(c),Fs.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});Fs.add(e,l),s.manager.itemStart(e)}}let hp;class NA{static getContext(){return hp===void 0&&(hp=new(window.AudioContext||window.webkitAudioContext)),hp}static setContext(e){hp=e}}class pH extends $n{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new Mi(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{const c=l.slice(0);NA.getContext().decodeAudioData(c,function(d){t(d)}).catch(a)}catch(c){a(c)}},i,r);function a(l){r?r(l):console.error(l),s.manager.itemError(e)}}}const rw=new Ue,sw=new Ue,da=new Ue;class mH{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new En,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new En,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,da.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(ka*t.fov*.5)/t.zoom;let a,l;sw.elements[12]=-r,rw.elements[12]=r,a=-o*t.aspect+s,l=o*t.aspect+s,da.elements[0]=2*t.near/(l-a),da.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(da),a=-o*t.aspect-s,l=o*t.aspect-s,da.elements[0]=2*t.near/(l-a),da.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(da)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(sw),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(rw)}}class UA{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=ow(),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=ow();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function ow(){return(typeof performance>"u"?Date:performance).now()}const pa=new L,aw=new jt,gH=new L,ma=new L;class vH extends At{constructor(){super(),this.type="AudioListener",this.context=NA.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new UA}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(pa,aw,gH),ma.set(0,0,-1).applyQuaternion(aw),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(pa.x,r),t.positionY.linearRampToValueAtTime(pa.y,r),t.positionZ.linearRampToValueAtTime(pa.z,r),t.forwardX.linearRampToValueAtTime(ma.x,r),t.forwardY.linearRampToValueAtTime(ma.y,r),t.forwardZ.linearRampToValueAtTime(ma.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition(pa.x,pa.y,pa.z),t.setOrientation(ma.x,ma.y,ma.z,i.x,i.y,i.z)}}class FP extends At{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,c=t+t;l!==c;++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){jt.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;jt.multiplyQuaternionsFlat(e,o,e,t,e,i),jt.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 OA="\\[\\]\\.:\\/",AH=new RegExp("["+OA+"]","g"),kA="[^"+OA+"]",SH="[^"+OA.replace("\\.","")+"]",MH=/((?:WC+[\/:])*)/.source.replace("WC",kA),EH=/(WCOD+)?/.source.replace("WCOD",SH),wH=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",kA),TH=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",kA),CH=new RegExp("^"+MH+EH+wH+TH+"$"),RH=["material","materials","bones","map"];class bH{constructor(e,t,i){const r=i||Rt.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 Rt{constructor(e,t,i){this.path=t,this.parsedPath=i||Rt.parseTrackName(t),this.node=Rt.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 Rt.Composite(e,t,i):new Rt(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(AH,"")}static parseTrackName(e){const t=CH.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);RH.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 d=s++,p=e[d];t[p.uuid]=h,e[h]=p,t[c]=d,e[d]=l;for(let m=0,y=r;m!==y;++m){const S=i[m],_=S[d],v=S[h];S[h]=_,S[d]=v}}}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 c=arguments[a],h=c.uuid,d=t[h];if(d!==void 0)if(delete t[h],d0&&(t[m.uuid]=d),e[d]=m,e.pop();for(let y=0,S=r;y!==S;++y){const _=i[y];_[d]=_[p],_.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,c=l.length,h=this.nCachedObjects_,d=new Array(c);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(d);for(let p=h,m=l.length;p!==m;++p){const y=l[p];d[p]=new Rt(y,e,t)}return d}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],c=e[a];t[c]=i,o[i]=l,o.pop(),s[i]=s[a],s.pop(),r[i]=r[a],r.pop()}}}class UP{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:Ra,endingEnd:Ra};for(let c=0;c!==o;++c){const h=s[c].createInterpolant(null);a[c]=h,h.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=Mb,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,c=a.sampleValues;return l[0]=s,l[1]=s+i,c[0]=e/o,c[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,c=this._propertyBindings;switch(this.blendMode){case fA:for(let h=0,d=l.length;h!==d;++h)l[h].evaluate(o),c[h].accumulateAdditive(a);break;case jm:default:for(let h=0,d=l.length;h!==d;++h)l[h].evaluate(o),c[h].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===Eb;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===Sb){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 c=e<0;this._setEndings(c,!c,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=ba,r.endingEnd=ba):(e?r.endingStart=this.zeroSlopeAtStart?ba:Ra:r.endingStart=If,t?r.endingEnd=this.zeroSlopeAtEnd?ba:Ra:r.endingEnd=If)}_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 IH=new Float32Array(1);class BH extends Ys{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,c=this._bindingsByRootAndName;let h=c[l];h===void 0&&(h={},c[l]=h);for(let d=0;d!==s;++d){const p=r[d],m=p.name;let y=h[m];if(y!==void 0)++y.referenceCount,o[d]=y;else{if(y=o[d],y!==void 0){y._cacheIndex===null&&(++y.referenceCount,this._addInactiveBinding(y,l,m));continue}const S=t&&t._propertyBindings[d].binding.parsedPath;y=new NP(Rt.create(i,m,S),p.ValueTypeName,p.getValueSize()),++y.referenceCount,this._addInactiveBinding(y,l,m),o[d]=y}a[d].resultBuffer=y.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 c=0;c!==i;++c)t[c]._update(r,e,s,o);const a=this._bindings,l=this._nActiveBindings;for(let c=0;c!==l;++c)a[c].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,fw).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 hw=new L,dp=new L;class kP{constructor(e=new L,t=new L){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){hw.subVectors(e,this.start),dp.subVectors(this.end,this.start);const i=dp.dot(dp);let s=dp.dot(hw)/i;return t&&(s=pn(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 dw=new L;class kH extends At{constructor(e,t){super(),this.light=e,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const i=new rt,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 d=0;d.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{yw.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(yw,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 ZH extends wr{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 rt;r.setAttribute("position",new Ve(t,3)),r.setAttribute("color",new Ve(i,3));const s=new Zn({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new we,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 $H{constructor(){this.type="ShapePath",this.color=new we,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new Of,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(v){const A=[];for(let M=0,w=v.length;MNumber.EPSILON){if(C<0&&(P=A[R],b=-b,D=A[I],C=-C),v.yD.y)continue;if(v.y===P.y){if(v.x===P.x)return!0}else{const O=C*(v.x-P.x)-b*(v.y-P.y);if(O===0)return!0;if(O<0)continue;w=!w}}else{if(v.y!==P.y)continue;if(D.x<=v.x&&v.x<=P.x||P.x<=v.x&&v.x<=D.x)return!0}}return w}const r=us.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,a,l;const c=[];if(s.length===1)return a=s[0],l=new Uo,l.curves=a.curves,c.push(l),c;let h=!r(s[0].getPoints());h=e?!h:h;const d=[],p=[];let m=[],y=0,S;p[y]=void 0,m[y]=[];for(let v=0,A=s.length;v1){let v=!1,A=0;for(let M=0,w=p.length;M0&&v===!1&&(m=d)}let _;for(let v=0,A=p.length;v{const d=typeof c=="function"?c(e):c;if(d!==e){const p=e;e=h?d:Object.assign({},e,d),t.forEach(m=>m(e,p))}},r=()=>e,s=(c,h=r,d=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let p=h(e);function m(){const y=h(e);if(!d(p,y)){const S=p;c(p=y,S)}}return t.add(m),()=>t.delete(m)},l={setState:i,getState:r,subscribe:(c,h,d)=>h||d?s(c,h,d):(t.add(c),()=>t.delete(c)),destroy:()=>t.clear()};return e=n(i,r,l),l}const iG=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),_w=iG?Y.useEffect:Y.useLayoutEffect;function zP(n){const e=typeof n=="function"?nG(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=Y.useReducer(_=>_+1,0),o=e.getState(),a=Y.useRef(o),l=Y.useRef(i),c=Y.useRef(r),h=Y.useRef(!1),d=Y.useRef();d.current===void 0&&(d.current=i(o));let p,m=!1;(a.current!==o||l.current!==i||c.current!==r||h.current)&&(p=i(o),m=!r(d.current,p)),_w(()=>{m&&(d.current=p),a.current=o,l.current=i,c.current=r,h.current=!1});const y=Y.useRef(o);_w(()=>{const _=()=>{try{const A=e.getState(),M=l.current(A);c.current(d.current,M)||(a.current=A,d.current=M,s())}catch{h.current=!0,s()}},v=e.subscribe(_);return e.getState()!==y.current&&_(),v},[]);const S=m?p:d.current;return Y.useDebugValue(S),S};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 VP={exports:{}},WP={exports:{}},XP={};/** + * @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(N,V){var G=N.length;N.push(V);e:for(;0>>1,Me=N[oe];if(0>>1;oer(ye,G))Cer(Ae,ye)?(N[oe]=Ae,N[Ce]=G,oe=Ce):(N[oe]=ye,N[te]=G,oe=te);else if(Cer(Ae,G))N[oe]=Ae,N[Ce]=G,oe=Ce;else break e}}return V}function r(N,V){var G=N.sortIndex-V.sortIndex;return G!==0?G:N.id-V.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=[],c=[],h=1,d=null,p=3,m=!1,y=!1,S=!1,_=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,A=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function M(N){for(var V=t(c);V!==null;){if(V.callback===null)i(c);else if(V.startTime<=N)i(c),V.sortIndex=V.expirationTime,e(l,V);else break;V=t(c)}}function w(N){if(S=!1,M(N),!y)if(t(l)!==null)y=!0,ce(I);else{var V=t(c);V!==null&&ge(w,V.startTime-N)}}function I(N,V){y=!1,S&&(S=!1,v(D),D=-1),m=!0;var G=p;try{for(M(V),d=t(l);d!==null&&(!(d.expirationTime>V)||N&&!O());){var oe=d.callback;if(typeof oe=="function"){d.callback=null,p=d.priorityLevel;var Me=oe(d.expirationTime<=V);V=n.unstable_now(),typeof Me=="function"?d.callback=Me:d===t(l)&&i(l),M(V)}else i(l);d=t(l)}if(d!==null)var ze=!0;else{var te=t(c);te!==null&&ge(w,te.startTime-V),ze=!1}return ze}finally{d=null,p=G,m=!1}}var R=!1,P=null,D=-1,b=5,C=-1;function O(){return!(n.unstable_now()-CN||125oe?(N.sortIndex=G,e(c,N),t(l)===null&&N===t(c)&&(S?(v(D),D=-1):S=!0,ge(w,G-oe))):(N.sortIndex=Me,e(l,N),y||m||(y=!0,ce(I))),N},n.unstable_shouldYield=O,n.unstable_wrapCallback=function(N){var V=p;return function(){var G=p;p=V;try{return N.apply(this,arguments)}finally{p=G}}}})(XP);WP.exports=XP;var $_=WP.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 rG=function(e){var t={},i=Y,r=$_,s=Object.assign;function o(u){for(var f="https://reactjs.org/docs/error-decoder.html?invariant="+u,g=1;gz||E[U]!==T[z]){var ae=` +`+E[U].replace(" at new "," at ");return u.displayName&&ae.includes("")&&(ae=ae.replace("",u.displayName)),ae}while(1<=U&&0<=z);break}}}finally{Zt=!1,Error.prepareStackTrace=g}return(u=u?u.displayName||u.name:"")?at(u):""}var hi=Object.prototype.hasOwnProperty,Gi=[],Et=-1;function Ze(u){return{current:u}}function Ft(u){0>Et||(u.current=Gi[Et],Gi[Et]=null,Et--)}function $e(u,f){Et++,Gi[Et]=u.current,u.current=f}var ei={},bn=Ze(ei),xn=Ze(!1),Cr=ei;function rn(u,f){var g=u.type.contextTypes;if(!g)return ei;var x=u.stateNode;if(x&&x.__reactInternalMemoizedUnmaskedChildContext===f)return x.__reactInternalMemoizedMaskedChildContext;var E={},T;for(T in g)E[T]=f[T];return x&&(u=u.stateNode,u.__reactInternalMemoizedUnmaskedChildContext=f,u.__reactInternalMemoizedMaskedChildContext=E),E}function sn(u){return u=u.childContextTypes,u!=null}function qs(){Ft(xn),Ft(bn)}function di(u,f,g){if(bn.current!==ei)throw Error(o(168));$e(bn,f),$e(xn,g)}function cl(u,f,g){var x=u.stateNode;if(f=f.childContextTypes,typeof x.getChildContext!="function")return g;x=x.getChildContext();for(var E in x)if(!(E in f))throw Error(o(108,D(u)||"Unknown",E));return s({},g,x)}function fl(u){return u=(u=u.stateNode)&&u.__reactInternalMemoizedMergedChildContext||ei,Cr=bn.current,$e(bn,u),$e(xn,xn.current),!0}function Yu(u,f,g){var x=u.stateNode;if(!x)throw Error(o(169));g?(u=cl(u,f,Cr),x.__reactInternalMemoizedMergedChildContext=u,Ft(xn),Ft(bn),$e(bn,u)):Ft(xn),$e(xn,g)}var Rr=Math.clz32?Math.clz32:QI,KI=Math.log,YI=Math.LN2;function QI(u){return u>>>=0,u===0?32:31-(KI(u)/YI|0)|0}var yh=64,_h=4194304;function Qu(u){switch(u&-u){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 u&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return u&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return u}}function xh(u,f){var g=u.pendingLanes;if(g===0)return 0;var x=0,E=u.suspendedLanes,T=u.pingedLanes,U=g&268435455;if(U!==0){var z=U&~E;z!==0?x=Qu(z):(T&=U,T!==0&&(x=Qu(T)))}else U=g&~E,U!==0?x=Qu(U):T!==0&&(x=Qu(T));if(x===0)return 0;if(f!==0&&f!==x&&!(f&E)&&(E=x&-x,T=f&-f,E>=T||E===16&&(T&4194240)!==0))return f;if(x&4&&(x|=g&16),f=u.entangledLanes,f!==0)for(u=u.entanglements,f&=x;0g;g++)f.push(u);return f}function qu(u,f,g){u.pendingLanes|=f,f!==536870912&&(u.suspendedLanes=0,u.pingedLanes=0),u=u.eventTimes,f=31-Rr(f),u[f]=g}function $I(u,f){var g=u.pendingLanes&~f;u.pendingLanes=f,u.suspendedLanes=0,u.pingedLanes=0,u.expiredLanes&=f,u.mutableReadLanes&=f,u.entangledLanes&=f,f=u.entanglements;var x=u.eventTimes;for(u=u.expirationTimes;0>=U,E-=U,gs=1<<32-Rr(f)+E|g<Lt?(kn=ct,ct=null):kn=ct.sibling;var Dt=qe(Q,ct,re[Lt],Fe);if(Dt===null){ct===null&&(ct=kn);break}u&&ct&&Dt.alternate===null&&f(Q,ct),X=T(Dt,X,Lt),yt===null?Je=Dt:yt.sibling=Dt,yt=Dt,ct=kn}if(Lt===re.length)return g(Q,ct),$t&&Zo(Q,Lt),Je;if(ct===null){for(;LtLt?(kn=ct,ct=null):kn=ct.sibling;var so=qe(Q,ct,Dt.value,Fe);if(so===null){ct===null&&(ct=kn);break}u&&ct&&so.alternate===null&&f(Q,ct),X=T(so,X,Lt),yt===null?Je=so:yt.sibling=so,yt=so,ct=kn}if(Dt.done)return g(Q,ct),$t&&Zo(Q,Lt),Je;if(ct===null){for(;!Dt.done;Lt++,Dt=re.next())Dt=ut(Q,Dt.value,Fe),Dt!==null&&(X=T(Dt,X,Lt),yt===null?Je=Dt:yt.sibling=Dt,yt=Dt);return $t&&Zo(Q,Lt),Je}for(ct=x(Q,ct);!Dt.done;Lt++,Dt=re.next())Dt=Gt(ct,Q,Lt,Dt.value,Fe),Dt!==null&&(u&&Dt.alternate!==null&&ct.delete(Dt.key===null?Lt:Dt.key),X=T(Dt,X,Lt),yt===null?Je=Dt:yt.sibling=Dt,yt=Dt);return u&&ct.forEach(function(OB){return f(Q,OB)}),$t&&Zo(Q,Lt),Je}function cr(Q,X,re,Fe){if(typeof re=="object"&&re!==null&&re.type===h&&re.key===null&&(re=re.props.children),typeof re=="object"&&re!==null){switch(re.$$typeof){case l:e:{for(var Je=re.key,yt=X;yt!==null;){if(yt.key===Je){if(Je=re.type,Je===h){if(yt.tag===7){g(Q,yt.sibling),X=E(yt,re.props.children),X.return=Q,Q=X;break e}}else if(yt.elementType===Je||typeof Je=="object"&&Je!==null&&Je.$$typeof===M&&gS(Je)===yt.type){g(Q,yt.sibling),X=E(yt,re.props),X.ref=ec(Q,yt,re),X.return=Q,Q=X;break e}g(Q,yt);break}else f(Q,yt);yt=yt.sibling}re.type===h?(X=sa(re.props.children,Q.mode,Fe,re.key),X.return=Q,Q=X):(Fe=ld(re.type,re.key,re.props,null,Q.mode,Fe),Fe.ref=ec(Q,X,re),Fe.return=Q,Q=Fe)}return U(Q);case c:e:{for(yt=re.key;X!==null;){if(X.key===yt)if(X.tag===4&&X.stateNode.containerInfo===re.containerInfo&&X.stateNode.implementation===re.implementation){g(Q,X.sibling),X=E(X,re.children||[]),X.return=Q,Q=X;break e}else{g(Q,X);break}else f(Q,X);X=X.sibling}X=B0(re,Q.mode,Fe),X.return=Q,Q=X}return U(Q);case M:return yt=re._init,cr(Q,X,yt(re._payload),Fe)}if(se(re))return Ke(Q,X,re,Fe);if(R(re))return ri(Q,X,re,Fe);Ih(Q,re)}return typeof re=="string"&&re!==""||typeof re=="number"?(re=""+re,X!==null&&X.tag===6?(g(Q,X.sibling),X=E(X,re),X.return=Q,Q=X):(g(Q,X),X=I0(re,Q.mode,Fe),X.return=Q,Q=X),U(Q)):g(Q,X)}return cr}var vl=vS(!0),yS=vS(!1),tc={},or=Ze(tc),nc=Ze(tc),yl=Ze(tc);function $r(u){if(u===tc)throw Error(o(174));return u}function Yg(u,f){$e(yl,f),$e(nc,u),$e(or,tc),u=ge(f),Ft(or),$e(or,u)}function _l(){Ft(or),Ft(nc),Ft(yl)}function _S(u){var f=$r(yl.current),g=$r(or.current);f=N(g,u.type,f),g!==f&&($e(nc,u),$e(or,f))}function Qg(u){nc.current===u&&(Ft(or),Ft(nc))}var on=Ze(0);function Bh(u){for(var f=u;f!==null;){if(f.tag===13){var g=f.memoizedState;if(g!==null&&(g=g.dehydrated,g===null||Qo(g)||ll(g)))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===u)break;for(;f.sibling===null;){if(f.return===null||f.return===u)return null;f=f.return}f.sibling.return=f.return,f=f.sibling}return null}var qg=[];function Zg(){for(var u=0;ug?g:4,u(!0);var x=ar.transition;ar.transition={};try{u(!1),f()}finally{Bt=g,ar.transition=x}}function LS(){return es().memoizedState}function fB(u,f,g){var x=no(u);g={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null},DS(u)?FS(f,g):(NS(u,f,g),g=mi(),u=lr(u,x,g),u!==null&&US(u,f,x))}function hB(u,f,g){var x=no(u),E={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null};if(DS(u))FS(f,E);else{NS(u,f,E);var T=u.alternate;if(u.lanes===0&&(T===null||T.lanes===0)&&(T=f.lastRenderedReducer,T!==null))try{var U=f.lastRenderedState,z=T(U,g);if(E.hasEagerState=!0,E.eagerState=z,Qr(z,U))return}catch{}finally{}g=mi(),u=lr(u,x,g),u!==null&&US(u,f,x)}}function DS(u){var f=u.alternate;return u===fn||f!==null&&f===fn}function FS(u,f){ic=Dh=!0;var g=u.pending;g===null?f.next=f:(f.next=g.next,g.next=f),u.pending=f}function NS(u,f,g){An!==null&&u.mode&1&&!(xt&2)?(u=f.interleaved,u===null?(g.next=g,Zr===null?Zr=[f]:Zr.push(f)):(g.next=u.next,u.next=g),f.interleaved=g):(u=f.pending,u===null?g.next=g:(g.next=u.next,u.next=g),f.pending=g)}function US(u,f,g){if(g&4194240){var x=f.lanes;x&=u.pendingLanes,g|=x,f.lanes=g,Bg(u,g)}}var kh={readContext:ir,useCallback:ni,useContext:ni,useEffect:ni,useImperativeHandle:ni,useInsertionEffect:ni,useLayoutEffect:ni,useMemo:ni,useReducer:ni,useRef:ni,useState:ni,useDebugValue:ni,useDeferredValue:ni,useTransition:ni,useMutableSource:ni,useSyncExternalStore:ni,useId:ni,unstable_isNewReconciler:!1},dB={readContext:ir,useCallback:function(u,f){return ys().memoizedState=[u,f===void 0?null:f],u},useContext:ir,useEffect:i0,useImperativeHandle:function(u,f,g){return g=g!=null?g.concat([u]):null,Uh(4194308,4,bS.bind(null,f,u),g)},useLayoutEffect:function(u,f){return Uh(4194308,4,u,f)},useInsertionEffect:function(u,f){return Uh(4,2,u,f)},useMemo:function(u,f){var g=ys();return f=f===void 0?null:f,u=u(),g.memoizedState=[u,f],u},useReducer:function(u,f,g){var x=ys();return f=g!==void 0?g(f):f,x.memoizedState=x.baseState=f,u={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:u,lastRenderedState:f},x.queue=u,u=u.dispatch=fB.bind(null,fn,u),[x.memoizedState,u]},useRef:function(u){var f=ys();return u={current:u},f.memoizedState=u},useState:n0,useDebugValue:r0,useDeferredValue:function(u){var f=n0(u),g=f[0],x=f[1];return i0(function(){var E=ar.transition;ar.transition={};try{x(u)}finally{ar.transition=E}},[u]),g},useTransition:function(){var u=n0(!1),f=u[0];return u=cB.bind(null,u[1]),ys().memoizedState=u,[f,u]},useMutableSource:function(){},useSyncExternalStore:function(u,f,g){var x=fn,E=ys();if($t){if(g===void 0)throw Error(o(407));g=g()}else{if(g=f(),An===null)throw Error(o(349));xl&30||SS(x,f,g)}E.memoizedState=g;var T={value:g,getSnapshot:f};return E.queue=T,i0(ES.bind(null,x,T,u),[u]),x.flags|=2048,sc(9,MS.bind(null,x,T,g,f),void 0,null),g},useId:function(){var u=ys(),f=An.identifierPrefix;if($t){var g=vs,x=gs;g=(x&~(1<<32-Rr(x)-1)).toString(32)+g,f=":"+f+"R"+g,g=rc++,0M0&&(f.flags|=128,x=!0,uc(E,!1),f.lanes=4194304)}else{if(!x)if(u=Bh(T),u!==null){if(f.flags|=128,x=!0,u=u.updateQueue,u!==null&&(f.updateQueue=u,f.flags|=4),uc(E,!0),E.tail===null&&E.tailMode==="hidden"&&!T.alternate&&!$t)return ii(f),null}else 2*Un()-E.renderingStartTime>M0&&g!==1073741824&&(f.flags|=128,x=!0,uc(E,!1),f.lanes=4194304);E.isBackwards?(T.sibling=f.child,f.child=T):(u=E.last,u!==null?u.sibling=T:f.child=T,E.last=T)}return E.tail!==null?(f=E.tail,E.rendering=f,E.tail=f.sibling,E.renderingStartTime=Un(),f.sibling=null,u=on.current,$e(on,x?u&1|2:u&1),f):(ii(f),null);case 22:case 23:return R0(),x=f.memoizedState!==null,u!==null&&u.memoizedState!==null!==x&&(f.flags|=8192),x&&f.mode&1?Xi&1073741824&&(ii(f),nt&&f.subtreeFlags&6&&(f.flags|=8192)):ii(f),null;case 24:return null;case 25:return null}throw Error(o(156,f.tag))}var yB=a.ReactCurrentOwner,Wi=!1;function pi(u,f,g,x){f.child=u===null?yS(f,null,g,x):vl(f,u.child,g,x)}function XS(u,f,g,x,E){g=g.render;var T=f.ref;return dl(f,E),x=e0(u,f,g,x,T,E),g=t0(),u!==null&&!Wi?(f.updateQueue=u.updateQueue,f.flags&=-2053,u.lanes&=~E,_s(u,f,E)):($t&&g&&Wg(f),f.flags|=1,pi(u,f,x,E),f.child)}function JS(u,f,g,x,E){if(u===null){var T=g.type;return typeof T=="function"&&!P0(T)&&T.defaultProps===void 0&&g.compare===null&&g.defaultProps===void 0?(f.tag=15,f.type=T,jS(u,f,T,x,E)):(u=ld(g.type,null,x,f,f.mode,E),u.ref=f.ref,u.return=f,f.child=u)}if(T=u.child,!(u.lanes&E)){var U=T.memoizedProps;if(g=g.compare,g=g!==null?g:Mh,g(U,x)&&u.ref===f.ref)return _s(u,f,E)}return f.flags|=1,u=ro(T,x),u.ref=f.ref,u.return=f,f.child=u}function jS(u,f,g,x,E){if(u!==null&&Mh(u.memoizedProps,x)&&u.ref===f.ref)if(Wi=!1,(u.lanes&E)!==0)u.flags&131072&&(Wi=!0);else return f.lanes=u.lanes,_s(u,f,E);return a0(u,f,g,x,E)}function KS(u,f,g){var x=f.pendingProps,E=x.children,T=u!==null?u.memoizedState:null;if(x.mode==="hidden")if(!(f.mode&1))f.memoizedState={baseLanes:0,cachePool:null},$e(Al,Xi),Xi|=g;else if(g&1073741824)f.memoizedState={baseLanes:0,cachePool:null},x=T!==null?T.baseLanes:g,$e(Al,Xi),Xi|=x;else return u=T!==null?T.baseLanes|g:g,f.lanes=f.childLanes=1073741824,f.memoizedState={baseLanes:u,cachePool:null},f.updateQueue=null,$e(Al,Xi),Xi|=u,null;else T!==null?(x=T.baseLanes|g,f.memoizedState=null):x=g,$e(Al,Xi),Xi|=x;return pi(u,f,E,g),f.child}function YS(u,f){var g=f.ref;(u===null&&g!==null||u!==null&&u.ref!==g)&&(f.flags|=512,f.flags|=2097152)}function a0(u,f,g,x,E){var T=sn(g)?Cr:bn.current;return T=rn(f,T),dl(f,E),g=e0(u,f,g,x,T,E),x=t0(),u!==null&&!Wi?(f.updateQueue=u.updateQueue,f.flags&=-2053,u.lanes&=~E,_s(u,f,E)):($t&&x&&Wg(f),f.flags|=1,pi(u,f,g,E),f.child)}function QS(u,f,g,x,E){if(sn(g)){var T=!0;fl(f)}else T=!1;if(dl(f,E),f.stateNode===null)u!==null&&(u.alternate=null,f.alternate=null,f.flags|=2),cS(f,g,x),Vg(f,g,x,E),x=!0;else if(u===null){var U=f.stateNode,z=f.memoizedProps;U.props=z;var ae=U.context,Ee=g.contextType;typeof Ee=="object"&&Ee!==null?Ee=ir(Ee):(Ee=sn(g)?Cr:bn.current,Ee=rn(f,Ee));var Ge=g.getDerivedStateFromProps,ut=typeof Ge=="function"||typeof U.getSnapshotBeforeUpdate=="function";ut||typeof U.UNSAFE_componentWillReceiveProps!="function"&&typeof U.componentWillReceiveProps!="function"||(z!==x||ae!==Ee)&&fS(f,U,x,Ee),Zs=!1;var qe=f.memoizedState;U.state=qe,Ch(f,x,U,E),ae=f.memoizedState,z!==x||qe!==ae||xn.current||Zs?(typeof Ge=="function"&&(zg(f,g,Ge,x),ae=f.memoizedState),(z=Zs||uS(f,g,z,x,qe,ae,Ee))?(ut||typeof U.UNSAFE_componentWillMount!="function"&&typeof U.componentWillMount!="function"||(typeof U.componentWillMount=="function"&&U.componentWillMount(),typeof U.UNSAFE_componentWillMount=="function"&&U.UNSAFE_componentWillMount()),typeof U.componentDidMount=="function"&&(f.flags|=4194308)):(typeof U.componentDidMount=="function"&&(f.flags|=4194308),f.memoizedProps=x,f.memoizedState=ae),U.props=x,U.state=ae,U.context=Ee,x=z):(typeof U.componentDidMount=="function"&&(f.flags|=4194308),x=!1)}else{U=f.stateNode,sS(u,f),z=f.memoizedProps,Ee=f.type===f.elementType?z:br(f.type,z),U.props=Ee,ut=f.pendingProps,qe=U.context,ae=g.contextType,typeof ae=="object"&&ae!==null?ae=ir(ae):(ae=sn(g)?Cr:bn.current,ae=rn(f,ae));var Gt=g.getDerivedStateFromProps;(Ge=typeof Gt=="function"||typeof U.getSnapshotBeforeUpdate=="function")||typeof U.UNSAFE_componentWillReceiveProps!="function"&&typeof U.componentWillReceiveProps!="function"||(z!==ut||qe!==ae)&&fS(f,U,x,ae),Zs=!1,qe=f.memoizedState,U.state=qe,Ch(f,x,U,E);var Ke=f.memoizedState;z!==ut||qe!==Ke||xn.current||Zs?(typeof Gt=="function"&&(zg(f,g,Gt,x),Ke=f.memoizedState),(Ee=Zs||uS(f,g,Ee,x,qe,Ke,ae)||!1)?(Ge||typeof U.UNSAFE_componentWillUpdate!="function"&&typeof U.componentWillUpdate!="function"||(typeof U.componentWillUpdate=="function"&&U.componentWillUpdate(x,Ke,ae),typeof U.UNSAFE_componentWillUpdate=="function"&&U.UNSAFE_componentWillUpdate(x,Ke,ae)),typeof U.componentDidUpdate=="function"&&(f.flags|=4),typeof U.getSnapshotBeforeUpdate=="function"&&(f.flags|=1024)):(typeof U.componentDidUpdate!="function"||z===u.memoizedProps&&qe===u.memoizedState||(f.flags|=4),typeof U.getSnapshotBeforeUpdate!="function"||z===u.memoizedProps&&qe===u.memoizedState||(f.flags|=1024),f.memoizedProps=x,f.memoizedState=Ke),U.props=x,U.state=Ke,U.context=ae,x=Ee):(typeof U.componentDidUpdate!="function"||z===u.memoizedProps&&qe===u.memoizedState||(f.flags|=4),typeof U.getSnapshotBeforeUpdate!="function"||z===u.memoizedProps&&qe===u.memoizedState||(f.flags|=1024),x=!1)}return l0(u,f,g,x,T,E)}function l0(u,f,g,x,E,T){YS(u,f);var U=(f.flags&128)!==0;if(!x&&!U)return E&&Yu(f,g,!1),_s(u,f,T);x=f.stateNode,yB.current=f;var z=U&&typeof g.getDerivedStateFromError!="function"?null:x.render();return f.flags|=1,u!==null&&U?(f.child=vl(f,u.child,null,T),f.child=vl(f,null,z,T)):pi(u,f,z,T),f.memoizedState=x.state,E&&Yu(f,g,!0),f.child}function qS(u){var f=u.stateNode;f.pendingContext?di(u,f.pendingContext,f.pendingContext!==f.context):f.context&&di(u,f.context,!1),Yg(u,f.containerInfo)}function ZS(u,f,g,x,E){return gl(),Kg(E),f.flags|=256,pi(u,f,g,x),f.child}var zh={dehydrated:null,treeContext:null,retryLane:0};function Vh(u){return{baseLanes:u,cachePool:null}}function $S(u,f,g){var x=f.pendingProps,E=on.current,T=!1,U=(f.flags&128)!==0,z;if((z=U)||(z=u!==null&&u.memoizedState===null?!1:(E&2)!==0),z?(T=!0,f.flags&=-129):(u===null||u.memoizedState!==null)&&(E|=1),$e(on,E&1),u===null)return jg(f),u=f.memoizedState,u!==null&&(u=u.dehydrated,u!==null)?(f.mode&1?ll(u)?f.lanes=8:f.lanes=1073741824:f.lanes=1,null):(E=x.children,u=x.fallback,T?(x=f.mode,T=f.child,E={mode:"hidden",children:E},!(x&1)&&T!==null?(T.childLanes=0,T.pendingProps=E):T=ud(E,x,0,null),u=sa(u,x,g,null),T.return=f,u.return=f,T.sibling=u,f.child=T,f.child.memoizedState=Vh(g),f.memoizedState=zh,u):u0(f,E));if(E=u.memoizedState,E!==null){if(z=E.dehydrated,z!==null){if(U)return f.flags&256?(f.flags&=-257,Wh(u,f,g,Error(o(422)))):f.memoizedState!==null?(f.child=u.child,f.flags|=128,null):(T=x.fallback,E=f.mode,x=ud({mode:"visible",children:x.children},E,0,null),T=sa(T,E,g,null),T.flags|=2,x.return=f,T.return=f,x.sibling=T,f.child=x,f.mode&1&&vl(f,u.child,null,g),f.child.memoizedState=Vh(g),f.memoizedState=zh,T);if(!(f.mode&1))f=Wh(u,f,g,null);else if(ll(z))f=Wh(u,f,g,Error(o(419)));else if(x=(g&u.childLanes)!==0,Wi||x){if(x=An,x!==null){switch(g&-g){case 4:T=2;break;case 16:T=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:T=32;break;case 536870912:T=268435456;break;default:T=0}x=T&(x.suspendedLanes|g)?0:T,x!==0&&x!==E.retryLane&&(E.retryLane=x,lr(u,x,-1))}b0(),f=Wh(u,f,g,Error(o(421)))}else Qo(z)?(f.flags|=128,f.child=u.child,f=IB.bind(null,u),ul(z,f),f=null):(g=E.treeContext,me&&(Vi=Rg(z),zi=f,$t=!0,Pr=null,Zu=!1,g!==null&&(rr[sr++]=gs,rr[sr++]=vs,rr[sr++]=qo,gs=g.id,vs=g.overflow,qo=f)),f=u0(f,f.pendingProps.children),f.flags|=4096);return f}return T?(x=tM(u,f,x.children,x.fallback,g),T=f.child,E=u.child.memoizedState,T.memoizedState=E===null?Vh(g):{baseLanes:E.baseLanes|g,cachePool:null},T.childLanes=u.childLanes&~g,f.memoizedState=zh,x):(g=eM(u,f,x.children,g),f.memoizedState=null,g)}return T?(x=tM(u,f,x.children,x.fallback,g),T=f.child,E=u.child.memoizedState,T.memoizedState=E===null?Vh(g):{baseLanes:E.baseLanes|g,cachePool:null},T.childLanes=u.childLanes&~g,f.memoizedState=zh,x):(g=eM(u,f,x.children,g),f.memoizedState=null,g)}function u0(u,f){return f=ud({mode:"visible",children:f},u.mode,0,null),f.return=u,u.child=f}function eM(u,f,g,x){var E=u.child;return u=E.sibling,g=ro(E,{mode:"visible",children:g}),!(f.mode&1)&&(g.lanes=x),g.return=f,g.sibling=null,u!==null&&(x=f.deletions,x===null?(f.deletions=[u],f.flags|=16):x.push(u)),f.child=g}function tM(u,f,g,x,E){var T=f.mode;u=u.child;var U=u.sibling,z={mode:"hidden",children:g};return!(T&1)&&f.child!==u?(g=f.child,g.childLanes=0,g.pendingProps=z,f.deletions=null):(g=ro(u,z),g.subtreeFlags=u.subtreeFlags&14680064),U!==null?x=ro(U,x):(x=sa(x,T,E,null),x.flags|=2),x.return=f,g.return=f,g.sibling=x,f.child=g,x}function Wh(u,f,g,x){return x!==null&&Kg(x),vl(f,u.child,null,g),u=u0(f,f.pendingProps.children),u.flags|=2,f.memoizedState=null,u}function nM(u,f,g){u.lanes|=f;var x=u.alternate;x!==null&&(x.lanes|=f),Hg(u.return,f,g)}function c0(u,f,g,x,E){var T=u.memoizedState;T===null?u.memoizedState={isBackwards:f,rendering:null,renderingStartTime:0,last:x,tail:g,tailMode:E}:(T.isBackwards=f,T.rendering=null,T.renderingStartTime=0,T.last=x,T.tail=g,T.tailMode=E)}function iM(u,f,g){var x=f.pendingProps,E=x.revealOrder,T=x.tail;if(pi(u,f,x.children,g),x=on.current,x&2)x=x&1|2,f.flags|=128;else{if(u!==null&&u.flags&128)e:for(u=f.child;u!==null;){if(u.tag===13)u.memoizedState!==null&&nM(u,g,f);else if(u.tag===19)nM(u,g,f);else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===f)break e;for(;u.sibling===null;){if(u.return===null||u.return===f)break e;u=u.return}u.sibling.return=u.return,u=u.sibling}x&=1}if($e(on,x),!(f.mode&1))f.memoizedState=null;else switch(E){case"forwards":for(g=f.child,E=null;g!==null;)u=g.alternate,u!==null&&Bh(u)===null&&(E=g),g=g.sibling;g=E,g===null?(E=f.child,f.child=null):(E=g.sibling,g.sibling=null),c0(f,!1,E,g,T);break;case"backwards":for(g=null,E=f.child,f.child=null;E!==null;){if(u=E.alternate,u!==null&&Bh(u)===null){f.child=E;break}u=E.sibling,E.sibling=g,g=E,E=u}c0(f,!0,g,null,T);break;case"together":c0(f,!1,null,null,void 0);break;default:f.memoizedState=null}return f.child}function _s(u,f,g){if(u!==null&&(f.dependencies=u.dependencies),Sl|=f.lanes,!(g&f.childLanes))return null;if(u!==null&&f.child!==u.child)throw Error(o(153));if(f.child!==null){for(u=f.child,g=ro(u,u.pendingProps),f.child=g,g.return=f;u.sibling!==null;)u=u.sibling,g=g.sibling=ro(u,u.pendingProps),g.return=f;g.sibling=null}return f.child}function _B(u,f,g){switch(f.tag){case 3:qS(f),gl();break;case 5:_S(f);break;case 1:sn(f.type)&&fl(f);break;case 4:Yg(f,f.stateNode.containerInfo);break;case 10:rS(f,f.type._context,f.memoizedProps.value);break;case 13:var x=f.memoizedState;if(x!==null)return x.dehydrated!==null?($e(on,on.current&1),f.flags|=128,null):g&f.child.childLanes?$S(u,f,g):($e(on,on.current&1),u=_s(u,f,g),u!==null?u.sibling:null);$e(on,on.current&1);break;case 19:if(x=(g&f.childLanes)!==0,u.flags&128){if(x)return iM(u,f,g);f.flags|=128}var E=f.memoizedState;if(E!==null&&(E.rendering=null,E.tail=null,E.lastEffect=null),$e(on,on.current),x)break;return null;case 22:case 23:return f.lanes=0,KS(u,f,g)}return _s(u,f,g)}function xB(u,f){switch(Xg(f),f.tag){case 1:return sn(f.type)&&qs(),u=f.flags,u&65536?(f.flags=u&-65537|128,f):null;case 3:return _l(),Ft(xn),Ft(bn),Zg(),u=f.flags,u&65536&&!(u&128)?(f.flags=u&-65537|128,f):null;case 5:return Qg(f),null;case 13:if(Ft(on),u=f.memoizedState,u!==null&&u.dehydrated!==null){if(f.alternate===null)throw Error(o(340));gl()}return u=f.flags,u&65536?(f.flags=u&-65537|128,f):null;case 19:return Ft(on),null;case 4:return _l(),null;case 10:return kg(f.type._context),null;case 22:case 23:return R0(),null;case 24:return null;default:return null}}var Xh=!1,ea=!1,AB=typeof WeakSet=="function"?WeakSet:Set,De=null;function Jh(u,f){var g=u.ref;if(g!==null)if(typeof g=="function")try{g(null)}catch(x){bi(u,f,x)}else g.current=null}function f0(u,f,g){try{g()}catch(x){bi(u,f,x)}}var rM=!1;function SB(u,f){for(V(u.containerInfo),De=f;De!==null;)if(u=De,f=u.child,(u.subtreeFlags&1028)!==0&&f!==null)f.return=u,De=f;else for(;De!==null;){u=De;try{var g=u.alternate;if(u.flags&1024)switch(u.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var x=g.memoizedProps,E=g.memoizedState,T=u.stateNode,U=T.getSnapshotBeforeUpdate(u.elementType===u.type?x:br(u.type,x),E);T.__reactInternalSnapshotBeforeUpdate=U}break;case 3:nt&&Ne(u.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(z){bi(u,u.return,z)}if(f=u.sibling,f!==null){f.return=u.return,De=f;break}De=u.return}return g=rM,rM=!1,g}function ta(u,f,g){var x=f.updateQueue;if(x=x!==null?x.lastEffect:null,x!==null){var E=x=x.next;do{if((E.tag&u)===u){var T=E.destroy;E.destroy=void 0,T!==void 0&&f0(f,g,T)}E=E.next}while(E!==x)}}function cc(u,f){if(f=f.updateQueue,f=f!==null?f.lastEffect:null,f!==null){var g=f=f.next;do{if((g.tag&u)===u){var x=g.create;g.destroy=x()}g=g.next}while(g!==f)}}function h0(u){var f=u.ref;if(f!==null){var g=u.stateNode;switch(u.tag){case 5:u=ce(g);break;default:u=g}typeof f=="function"?f(u):f.current=u}}function sM(u,f,g){if(Yr&&typeof Yr.onCommitFiberUnmount=="function")try{Yr.onCommitFiberUnmount(Ah,f)}catch{}switch(f.tag){case 0:case 11:case 14:case 15:if(u=f.updateQueue,u!==null&&(u=u.lastEffect,u!==null)){var x=u=u.next;do{var E=x,T=E.destroy;E=E.tag,T!==void 0&&(E&2||E&4)&&f0(f,g,T),x=x.next}while(x!==u)}break;case 1:if(Jh(f,g),u=f.stateNode,typeof u.componentWillUnmount=="function")try{u.props=f.memoizedProps,u.state=f.memoizedState,u.componentWillUnmount()}catch(U){bi(f,g,U)}break;case 5:Jh(f,g);break;case 4:nt?fM(u,f,g):le&&le&&(f=f.stateNode.containerInfo,g=Ht(f),It(f,g))}}function oM(u,f,g){for(var x=f;;)if(sM(u,x,g),x.child===null||nt&&x.tag===4){if(x===f)break;for(;x.sibling===null;){if(x.return===null||x.return===f)return;x=x.return}x.sibling.return=x.return,x=x.sibling}else x.child.return=x,x=x.child}function aM(u){var f=u.alternate;f!==null&&(u.alternate=null,aM(f)),u.child=null,u.deletions=null,u.sibling=null,u.tag===5&&(f=u.stateNode,f!==null&&Oe(f)),u.stateNode=null,u.return=null,u.dependencies=null,u.memoizedProps=null,u.memoizedState=null,u.pendingProps=null,u.stateNode=null,u.updateQueue=null}function lM(u){return u.tag===5||u.tag===3||u.tag===4}function uM(u){e:for(;;){for(;u.sibling===null;){if(u.return===null||lM(u.return))return null;u=u.return}for(u.sibling.return=u.return,u=u.sibling;u.tag!==5&&u.tag!==6&&u.tag!==18;){if(u.flags&2||u.child===null||u.tag===4)continue e;u.child.return=u,u=u.child}if(!(u.flags&2))return u.stateNode}}function cM(u){if(nt){e:{for(var f=u.return;f!==null;){if(lM(f))break e;f=f.return}throw Error(o(160))}var g=f;switch(g.tag){case 5:f=g.stateNode,g.flags&32&&(ht(f),g.flags&=-33),g=uM(u),p0(u,g,f);break;case 3:case 4:f=g.stateNode.containerInfo,g=uM(u),d0(u,g,f);break;default:throw Error(o(161))}}}function d0(u,f,g){var x=u.tag;if(x===5||x===6)u=u.stateNode,f?gt(g,u,f):Te(g,u);else if(x!==4&&(u=u.child,u!==null))for(d0(u,f,g),u=u.sibling;u!==null;)d0(u,f,g),u=u.sibling}function p0(u,f,g){var x=u.tag;if(x===5||x===6)u=u.stateNode,f?He(g,u,f):lt(g,u);else if(x!==4&&(u=u.child,u!==null))for(p0(u,f,g),u=u.sibling;u!==null;)p0(u,f,g),u=u.sibling}function fM(u,f,g){for(var x=f,E=!1,T,U;;){if(!E){E=x.return;e:for(;;){if(E===null)throw Error(o(160));switch(T=E.stateNode,E.tag){case 5:U=!1;break e;case 3:T=T.containerInfo,U=!0;break e;case 4:T=T.containerInfo,U=!0;break e}E=E.return}E=!0}if(x.tag===5||x.tag===6)oM(u,x,g),U?nn(T,x.stateNode):Mt(T,x.stateNode);else if(x.tag===18)U?We(T,x.stateNode):Le(T,x.stateNode);else if(x.tag===4){if(x.child!==null){T=x.stateNode.containerInfo,U=!0,x.child.return=x,x=x.child;continue}}else if(sM(u,x,g),x.child!==null){x.child.return=x,x=x.child;continue}if(x===f)break;for(;x.sibling===null;){if(x.return===null||x.return===f)return;x=x.return,x.tag===4&&(E=!1)}x.sibling.return=x.return,x=x.sibling}}function m0(u,f){if(nt){switch(f.tag){case 0:case 11:case 14:case 15:ta(3,f,f.return),cc(3,f),ta(5,f,f.return);return;case 1:return;case 5:var g=f.stateNode;if(g!=null){var x=f.memoizedProps;u=u!==null?u.memoizedProps:x;var E=f.type,T=f.updateQueue;f.updateQueue=null,T!==null&&et(g,T,E,u,x,f)}return;case 6:if(f.stateNode===null)throw Error(o(162));g=f.memoizedProps,je(f.stateNode,u!==null?u.memoizedProps:g,g);return;case 3:me&&u!==null&&u.memoizedState.isDehydrated&&Z(f.stateNode.containerInfo);return;case 12:return;case 13:jh(f);return;case 19:jh(f);return;case 17:return}throw Error(o(163))}switch(f.tag){case 0:case 11:case 14:case 15:ta(3,f,f.return),cc(3,f),ta(5,f,f.return);return;case 12:return;case 13:jh(f);return;case 19:jh(f);return;case 3:me&&u!==null&&u.memoizedState.isDehydrated&&Z(f.stateNode.containerInfo);break;case 22:case 23:return}e:if(le){switch(f.tag){case 1:case 5:case 6:break e;case 3:case 4:f=f.stateNode,It(f.containerInfo,f.pendingChildren);break e}throw Error(o(163))}}function jh(u){var f=u.updateQueue;if(f!==null){u.updateQueue=null;var g=u.stateNode;g===null&&(g=u.stateNode=new AB),f.forEach(function(x){var E=BB.bind(null,u,x);g.has(x)||(g.add(x),x.then(E,E))})}}function MB(u,f){for(De=f;De!==null;){f=De;var g=f.deletions;if(g!==null)for(var x=0;x";case Yh:return":has("+(y0(u)||"")+")";case Qh:return'[role="'+u.value+'"]';case Zh:return'"'+u.value+'"';case qh:return'[data-testname="'+u.value+'"]';default:throw Error(o(365))}}function gM(u,f){var g=[];u=[u,0];for(var x=0;xE&&(E=U),x&=~T}if(x=E,x=Un()-x,x=(120>x?120:480>x?480:1080>x?1080:1920>x?1920:3e3>x?3e3:4320>x?4320:1960*wB(x/1960))-x,10u?16:u,to===null)var x=!1;else{if(u=to,to=null,id=0,xt&6)throw Error(o(331));var E=xt;for(xt|=4,De=u.current;De!==null;){var T=De,U=T.child;if(De.flags&16){var z=T.deletions;if(z!==null){for(var ae=0;aeUn()-S0?na(u,0):A0|=g),Ri(u,f)}function wM(u,f){f===0&&(u.mode&1?(f=_h,_h<<=1,!(_h&130023424)&&(_h=4194304)):f=1);var g=mi();u=od(u,f),u!==null&&(qu(u,f,g),Ri(u,g))}function IB(u){var f=u.memoizedState,g=0;f!==null&&(g=f.retryLane),wM(u,g)}function BB(u,f){var g=0;switch(u.tag){case 13:var x=u.stateNode,E=u.memoizedState;E!==null&&(g=E.retryLane);break;case 19:x=u.stateNode;break;default:throw Error(o(314))}x!==null&&x.delete(f),wM(u,g)}var TM;TM=function(u,f,g){if(u!==null)if(u.memoizedProps!==f.pendingProps||xn.current)Wi=!0;else{if(!(u.lanes&g)&&!(f.flags&128))return Wi=!1,_B(u,f,g);Wi=!!(u.flags&131072)}else Wi=!1,$t&&f.flags&1048576&&hS(f,Ph,f.index);switch(f.lanes=0,f.tag){case 2:var x=f.type;u!==null&&(u.alternate=null,f.alternate=null,f.flags|=2),u=f.pendingProps;var E=rn(f,bn.current);dl(f,g),E=e0(null,f,x,u,E,g);var T=t0();return f.flags|=1,typeof E=="object"&&E!==null&&typeof E.render=="function"&&E.$$typeof===void 0?(f.tag=1,f.memoizedState=null,f.updateQueue=null,sn(x)?(T=!0,fl(f)):T=!1,f.memoizedState=E.state!==null&&E.state!==void 0?E.state:null,Gg(f),E.updater=Rh,f.stateNode=E,E._reactInternals=f,Vg(f,x,u,g),f=l0(null,f,x,!0,T,g)):(f.tag=0,$t&&T&&Wg(f),pi(null,f,E,g),f=f.child),f;case 16:x=f.elementType;e:{switch(u!==null&&(u.alternate=null,f.alternate=null,f.flags|=2),u=f.pendingProps,E=x._init,x=E(x._payload),f.type=x,E=f.tag=DB(x),u=br(x,u),E){case 0:f=a0(null,f,x,u,g);break e;case 1:f=QS(null,f,x,u,g);break e;case 11:f=XS(null,f,x,u,g);break e;case 14:f=JS(null,f,x,br(x.type,u),g);break e}throw Error(o(306,x,""))}return f;case 0:return x=f.type,E=f.pendingProps,E=f.elementType===x?E:br(x,E),a0(u,f,x,E,g);case 1:return x=f.type,E=f.pendingProps,E=f.elementType===x?E:br(x,E),QS(u,f,x,E,g);case 3:e:{if(qS(f),u===null)throw Error(o(387));x=f.pendingProps,T=f.memoizedState,E=T.element,sS(u,f),Ch(f,x,null,g);var U=f.memoizedState;if(x=U.element,me&&T.isDehydrated)if(T={element:x,isDehydrated:!1,cache:U.cache,transitions:U.transitions},f.updateQueue.baseState=T,f.memoizedState=T,f.flags&256){E=Error(o(423)),f=ZS(u,f,x,g,E);break e}else if(x!==E){E=Error(o(424)),f=ZS(u,f,x,g,E);break e}else for(me&&(Vi=Cg(f.stateNode.containerInfo),zi=f,$t=!0,Pr=null,Zu=!1),g=yS(f,null,x,g),f.child=g;g;)g.flags=g.flags&-3|4096,g=g.sibling;else{if(gl(),x===E){f=_s(u,f,g);break e}pi(u,f,x,g)}f=f.child}return f;case 5:return _S(f),u===null&&jg(f),x=f.type,E=f.pendingProps,T=u!==null?u.memoizedProps:null,U=E.children,ye(x,E)?U=null:T!==null&&ye(x,T)&&(f.flags|=32),YS(u,f),pi(u,f,U,g),f.child;case 6:return u===null&&jg(f),null;case 13:return $S(u,f,g);case 4:return Yg(f,f.stateNode.containerInfo),x=f.pendingProps,u===null?f.child=vl(f,null,x,g):pi(u,f,x,g),f.child;case 11:return x=f.type,E=f.pendingProps,E=f.elementType===x?E:br(x,E),XS(u,f,x,E,g);case 7:return pi(u,f,f.pendingProps,g),f.child;case 8:return pi(u,f,f.pendingProps.children,g),f.child;case 12:return pi(u,f,f.pendingProps.children,g),f.child;case 10:e:{if(x=f.type._context,E=f.pendingProps,T=f.memoizedProps,U=E.value,rS(f,x,U),T!==null)if(Qr(T.value,U)){if(T.children===E.children&&!xn.current){f=_s(u,f,g);break e}}else for(T=f.child,T!==null&&(T.return=f);T!==null;){var z=T.dependencies;if(z!==null){U=T.child;for(var ae=z.firstContext;ae!==null;){if(ae.context===x){if(T.tag===1){ae=ms(-1,g&-g),ae.tag=2;var Ee=T.updateQueue;if(Ee!==null){Ee=Ee.shared;var Ge=Ee.pending;Ge===null?ae.next=ae:(ae.next=Ge.next,Ge.next=ae),Ee.pending=ae}}T.lanes|=g,ae=T.alternate,ae!==null&&(ae.lanes|=g),Hg(T.return,g,f),z.lanes|=g;break}ae=ae.next}}else if(T.tag===10)U=T.type===f.type?null:T.child;else if(T.tag===18){if(U=T.return,U===null)throw Error(o(341));U.lanes|=g,z=U.alternate,z!==null&&(z.lanes|=g),Hg(U,g,f),U=T.sibling}else U=T.child;if(U!==null)U.return=T;else for(U=T;U!==null;){if(U===f){U=null;break}if(T=U.sibling,T!==null){T.return=U.return,U=T;break}U=U.return}T=U}pi(u,f,E.children,g),f=f.child}return f;case 9:return E=f.type,x=f.pendingProps.children,dl(f,g),E=ir(E),x=x(E),f.flags|=1,pi(u,f,x,g),f.child;case 14:return x=f.type,E=br(x,f.pendingProps),E=br(x.type,E),JS(u,f,x,E,g);case 15:return jS(u,f,f.type,f.pendingProps,g);case 17:return x=f.type,E=f.pendingProps,E=f.elementType===x?E:br(x,E),u!==null&&(u.alternate=null,f.alternate=null,f.flags|=2),f.tag=1,sn(x)?(u=!0,fl(f)):u=!1,dl(f,g),cS(f,x,E),Vg(f,x,E,g),l0(null,f,x,!0,u,g);case 19:return iM(u,f,g);case 22:return KS(u,f,g)}throw Error(o(156,f.tag))};function CM(u,f){return Lg(u,f)}function LB(u,f,g,x){this.tag=u,this.key=g,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=x,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ur(u,f,g,x){return new LB(u,f,g,x)}function P0(u){return u=u.prototype,!(!u||!u.isReactComponent)}function DB(u){if(typeof u=="function")return P0(u)?1:0;if(u!=null){if(u=u.$$typeof,u===S)return 11;if(u===A)return 14}return 2}function ro(u,f){var g=u.alternate;return g===null?(g=ur(u.tag,f,u.key,u.mode),g.elementType=u.elementType,g.type=u.type,g.stateNode=u.stateNode,g.alternate=u,u.alternate=g):(g.pendingProps=f,g.type=u.type,g.flags=0,g.subtreeFlags=0,g.deletions=null),g.flags=u.flags&14680064,g.childLanes=u.childLanes,g.lanes=u.lanes,g.child=u.child,g.memoizedProps=u.memoizedProps,g.memoizedState=u.memoizedState,g.updateQueue=u.updateQueue,f=u.dependencies,g.dependencies=f===null?null:{lanes:f.lanes,firstContext:f.firstContext},g.sibling=u.sibling,g.index=u.index,g.ref=u.ref,g}function ld(u,f,g,x,E,T){var U=2;if(x=u,typeof u=="function")P0(u)&&(U=1);else if(typeof u=="string")U=5;else e:switch(u){case h:return sa(g.children,E,T,f);case d:U=8,E|=8;break;case p:return u=ur(12,g,f,E|2),u.elementType=p,u.lanes=T,u;case _:return u=ur(13,g,f,E),u.elementType=_,u.lanes=T,u;case v:return u=ur(19,g,f,E),u.elementType=v,u.lanes=T,u;case w:return ud(g,E,T,f);default:if(typeof u=="object"&&u!==null)switch(u.$$typeof){case m:U=10;break e;case y:U=9;break e;case S:U=11;break e;case A:U=14;break e;case M:U=16,x=null;break e}throw Error(o(130,u==null?u:typeof u,""))}return f=ur(U,g,f,E),f.elementType=u,f.type=x,f.lanes=T,f}function sa(u,f,g,x){return u=ur(7,u,x,f),u.lanes=g,u}function ud(u,f,g,x){return u=ur(22,u,x,f),u.elementType=w,u.lanes=g,u.stateNode={},u}function I0(u,f,g){return u=ur(6,u,null,f),u.lanes=g,u}function B0(u,f,g){return f=ur(4,u.children!==null?u.children:[],u.key,f),f.lanes=g,f.stateNode={containerInfo:u.containerInfo,pendingChildren:null,implementation:u.implementation},f}function FB(u,f,g,x,E){this.tag=f,this.containerInfo=u,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=mt,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ig(0),this.expirationTimes=Ig(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ig(0),this.identifierPrefix=x,this.onRecoverableError=E,me&&(this.mutableSourceEagerHydrationData=null)}function RM(u,f,g,x,E,T,U,z,ae){return u=new FB(u,f,g,z,ae),f===1?(f=1,T===!0&&(f|=8)):f=0,T=ur(3,null,null,f),u.current=T,T.stateNode=u,T.memoizedState={element:x,isDehydrated:g,cache:null,transitions:null},Gg(T),u}function bM(u){if(!u)return ei;u=u._reactInternals;e:{if(b(u)!==u||u.tag!==1)throw Error(o(170));var f=u;do{switch(f.tag){case 3:f=f.stateNode.context;break e;case 1:if(sn(f.type)){f=f.stateNode.__reactInternalMemoizedMergedChildContext;break e}}f=f.return}while(f!==null);throw Error(o(171))}if(u.tag===1){var g=u.type;if(sn(g))return cl(u,g,f)}return f}function PM(u){var f=u._reactInternals;if(f===void 0)throw typeof u.render=="function"?Error(o(188)):(u=Object.keys(u).join(","),Error(o(268,u)));return u=J(f),u===null?null:u.stateNode}function IM(u,f){if(u=u.memoizedState,u!==null&&u.dehydrated!==null){var g=u.retryLane;u.retryLane=g!==0&&g=Ee&&T>=ut&&E<=Ge&&U<=qe){u.splice(f,1);break}else if(x!==Ee||g.width!==ae.width||qeU){if(!(T!==ut||g.height!==ae.height||GeE)){Ee>x&&(ae.width+=Ee-x,ae.x=x),GeT&&(ae.height+=ut-T,ae.y=T),qeg&&(g=U)),U ")+` + +No matching component was found for: + `)+u.join(" > ")}return null},t.getPublicRootInstance=function(u){if(u=u.current,!u.child)return null;switch(u.child.tag){case 5:return ce(u.child.stateNode);default:return u.child.stateNode}},t.injectIntoDevTools=function(u){if(u={bundleType:u.bundleType,version:u.version,rendererPackageName:u.rendererPackageName,rendererConfig:u.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:a.ReactCurrentDispatcher,findHostInstanceByFiber:NB,findFiberByHostInstance:u.findFiberByHostInstance||UB,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")u=!1;else{var f=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(f.isDisabled||!f.supportsFiber)u=!0;else{try{Ah=f.inject(u),Yr=f}catch{}u=!!f.checkDCE}}return u},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(u,f,g,x){if(!B)throw Error(o(363));u=_0(u,f);var E=Pe(u,g,x).disconnect;return{disconnect:function(){E()}}},t.registerMutableSourceForHydration=function(u,f){var g=f._getVersion;g=g(f._source),u.mutableSourceEagerHydrationData==null?u.mutableSourceEagerHydrationData=[f,g]:u.mutableSourceEagerHydrationData.push(f,g)},t.runWithPriority=function(u,f){var g=Bt;try{return Bt=u,f()}finally{Bt=g}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(u,f,g,x){var E=f.current,T=mi(),U=no(E);return g=bM(g),f.context===null?f.context=g:f.pendingContext=g,f=ms(T,U),f.payload={element:u},x=x===void 0?null:x,x!==null&&(f.callback=x),$s(E,f),u=lr(E,U,T),u!==null&&Th(u,E,U),U},t};VP.exports=rG;var sG=VP.exports;const oG=Rm(sG),aG=n=>typeof n=="object"&&typeof n.then=="function",Ba=[];function JP(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=Ba.indexOf(r);s!==-1&&Ba.splice(s,1)},promise:(aG(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(Ba.push(r),!t)throw r.promise}const GA=(n,e,t)=>jP(n,e,!1,t),lG=(n,e,t)=>void jP(n,e,!0,t),uG=n=>{if(n===void 0||n.length===0)Ba.splice(0,Ba.length);else{const e=Ba.find(t=>JP(n,t.keys,t.equal));e&&e.remove()}},zA={},cG=n=>void Object.assign(zA,n);function fG(n,e){function t(h,{args:d=[],attach:p,...m},y){let S=`${h[0].toUpperCase()}${h.slice(1)}`,_;if(h==="primitive"){if(m.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const v=m.object;_=Ql(v,{type:h,root:y,attach:p,primitive:!0})}else{const v=zA[S];if(!v)throw new Error(`R3F: ${S} 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(d))throw new Error("R3F: The args prop must be an array!");_=Ql(new v(...d),{type:h,root:y,attach:p,memoizedProps:{args:d}})}return _.__r3f.attach===void 0&&(_ instanceof rt?_.__r3f.attach="geometry":_ instanceof qt&&(_.__r3f.attach="material")),S!=="inject"&&jv(_,m),_}function i(h,d){let p=!1;if(d){var m,y;(m=d.__r3f)!=null&&m.attach?Jv(h,d,d.__r3f.attach):d.isObject3D&&h.isObject3D&&(h.add(d),p=!0),p||(y=h.__r3f)==null||y.objects.push(d),d.__r3f||Ql(d,{}),d.__r3f.parent=h,tx(d),ql(d)}}function r(h,d,p){let m=!1;if(d){var y,S;if((y=d.__r3f)!=null&&y.attach)Jv(h,d,d.__r3f.attach);else if(d.isObject3D&&h.isObject3D){d.parent=h,d.dispatchEvent({type:"added"}),h.dispatchEvent({type:"childadded",child:d});const _=h.children.filter(A=>A!==d),v=_.indexOf(p);h.children=[..._.slice(0,v),d,..._.slice(v)],m=!0}m||(S=h.__r3f)==null||S.objects.push(d),d.__r3f||Ql(d,{}),d.__r3f.parent=h,tx(d),ql(d)}}function s(h,d,p=!1){h&&[...h].forEach(m=>o(d,m,p))}function o(h,d,p){if(d){var m,y,S;if(d.__r3f&&(d.__r3f.parent=null),(m=h.__r3f)!=null&&m.objects&&(h.__r3f.objects=h.__r3f.objects.filter(w=>w!==d)),(y=d.__r3f)!=null&&y.attach)Ew(h,d,d.__r3f.attach);else if(d.isObject3D&&h.isObject3D){var _;h.remove(d),(_=d.__r3f)!=null&&_.root&&_G(jp(d),d)}const A=(S=d.__r3f)==null?void 0:S.primitive,M=!A&&(p===void 0?d.dispose!==null:p);if(!A){var v;s((v=d.__r3f)==null?void 0:v.objects,d,M),s(d.children,d,M)}if(delete d.__r3f,M&&d.dispose&&d.type!=="Scene"){const w=()=>{try{d.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?$_.unstable_scheduleCallback($_.unstable_IdlePriority,w):w()}ql(h)}}function a(h,d,p,m){var y;const S=(y=h.__r3f)==null?void 0:y.parent;if(!S)return;const _=t(d,p,h.__r3f.root);if(h.children){for(const v of h.children)v.__r3f&&i(_,v);h.children=h.children.filter(v=>!v.__r3f)}h.__r3f.objects.forEach(v=>i(_,v)),h.__r3f.objects=[],h.__r3f.autoRemovedBeforeAppend||o(S,h),_.parent&&(_.__r3f.autoRemovedBeforeAppend=!0),i(S,_),_.raycast&&_.__r3f.eventCount&&jp(_).getState().internal.interaction.push(_),[m,m.alternate].forEach(v=>{v!==null&&(v.stateNode=_,v.ref&&(typeof v.ref=="function"?v.ref(_):v.ref.current=_))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:oG({createInstance:t,removeChild:o,appendChild:i,appendInitialChild:i,insertBefore:r,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(h,d)=>{if(!d)return;const p=h.getState().scene;p.__r3f&&(p.__r3f.root=h,i(p,d))},removeChildFromContainer:(h,d)=>{d&&o(h.getState().scene,d)},insertInContainerBefore:(h,d,p)=>{if(!d||!p)return;const m=h.getState().scene;m.__r3f&&r(m,d,p)},getRootHostContext:()=>null,getChildHostContext:h=>h,finalizeInitialChildren(h){var d;return!!((d=h==null?void 0:h.__r3f)!=null?d:{}).handlers},prepareUpdate(h,d,p,m){var y;if(((y=h==null?void 0:h.__r3f)!=null?y:{}).primitive&&m.object&&m.object!==h)return[!0];{const{args:_=[],children:v,...A}=m,{args:M=[],children:w,...I}=p;if(!Array.isArray(_))throw new Error("R3F: the args prop must be an array!");if(_.some((P,D)=>P!==M[D]))return[!0];const R=eI(h,A,I,!0);return R.changes.length?[!1,R]:null}},commitUpdate(h,[d,p],m,y,S,_){d?a(h,m,S,_):jv(h,p)},commitMount(h,d,p,m){var y;const S=(y=h.__r3f)!=null?y:{};h.raycast&&S.handlers&&S.eventCount&&jp(h).getState().internal.interaction.push(h)},getPublicInstance:h=>h,prepareForCommit:()=>null,preparePortalMount:h=>Ql(h.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(h){var d;const{attach:p,parent:m}=(d=h.__r3f)!=null?d:{};p&&m&&Ew(m,h,p),h.isObject3D&&(h.visible=!1),ql(h)},unhideInstance(h,d){var p;const{attach:m,parent:y}=(p=h.__r3f)!=null?p:{};m&&y&&Jv(y,h,m),(h.isObject3D&&d.visible==null||d.visible)&&(h.visible=!0),ql(h)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():du.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&Wt.fun(performance.now)?performance.now:Wt.fun(Date.now)?Date.now:()=>0,scheduleTimeout:Wt.fun(setTimeout)?setTimeout:void 0,cancelTimeout:Wt.fun(clearTimeout)?clearTimeout:void 0}),applyProps:jv}}var xw,Aw;const Xv=n=>"colorSpace"in n||"outputColorSpace"in n,KP=()=>{var n;return(n=zA.ColorManagement)!=null?n:null},YP=n=>n&&n.isOrthographicCamera,hG=n=>n&&n.hasOwnProperty("current"),ch=typeof window<"u"&&((xw=window.document)!=null&&xw.createElement||((Aw=window.navigator)==null?void 0:Aw.product)==="ReactNative")?Y.useLayoutEffect:Y.useEffect;function QP(n){const e=Y.useRef(n);return ch(()=>void(e.current=n),[n]),e}function dG({set:n}){return ch(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class qP extends Y.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}qP.getDerivedStateFromError=()=>({error:!0});const ZP="__default",Sw=new Map,pG=n=>n&&!!n.memoized&&!!n.changes;function $P(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 Fc=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()};function jp(n){let e=n.__r3f.root;for(;e.getState().previousRoot;)e=e.getState().previousRoot;return e}const Wt={obj:n=>n===Object(n)&&!Wt.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(Wt.str(n)||Wt.num(n)||Wt.boo(n))return n===e;const s=Wt.obj(n);if(s&&i==="reference")return n===e;const o=Wt.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(!Wt.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(Wt.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 mG(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 gG(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function Ql(n,e){const t=n;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},n}function ex(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 Mw=/-\d+$/;function Jv(n,e,t){if(Wt.str(t)){if(Mw.test(t)){const s=t.replace(Mw,""),{target:o,key:a}=ex(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=ex(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function Ew(n,e,t){var i,r;if(Wt.str(t)){const{target:s,key:o}=ex(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 eI(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...l}={},c=!1){const h=n.__r3f,d=Object.entries(r),p=[];if(c){const y=Object.keys(l);for(let S=0;S{var _;if((_=n.__r3f)!=null&&_.primitive&&y==="object"||Wt.equ(S,l[y]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(y))return p.push([y,S,!0,[]]);let v=[];y.includes("-")&&(v=y.split("-")),p.push([y,S,!1,v]);for(const A in r){const M=r[A];A.startsWith(`${y}-`)&&p.push([A,M,!1,A.split("-")])}});const m={...r};return h!=null&&h.memoizedProps&&h!=null&&h.memoizedProps.args&&(m.args=h.memoizedProps.args),h!=null&&h.memoizedProps&&h!=null&&h.memoizedProps.attach&&(m.attach=h.memoizedProps.attach),{memoized:m,changes:p}}const vG=typeof process<"u"&&!1;function jv(n,e){var t;const i=n.__r3f,r=i==null?void 0:i.root,s=r==null||r.getState==null?void 0:r.getState(),{memoized:o,changes:a}=pG(e)?e:eI(n,e),l=i==null?void 0:i.eventCount;n.__r3f&&(n.__r3f.memoizedProps=o);for(let h=0;hv[A],n),!(_&&_.set))){const[v,...A]=y.reverse();S=A.reverse().reduce((M,w)=>M[w],n),d=v}if(p===ZP+"remove")if(S.constructor){let v=Sw.get(S.constructor);v||(v=new S.constructor,Sw.set(S.constructor,v)),p=v[d]}else p=0;if(m&&i)p?i.handlers[d]=p:delete i.handlers[d],i.eventCount=Object.keys(i.handlers).length;else if(_&&_.set&&(_.copy||_ instanceof Ha)){if(Array.isArray(p))_.fromArray?_.fromArray(p):_.set(...p);else if(_.copy&&p&&p.constructor&&(vG?_.constructor.name===p.constructor.name:_.constructor===p.constructor))_.copy(p);else if(p!==void 0){const v=_ instanceof we;!v&&_.setScalar?_.setScalar(p):_ instanceof Ha&&p instanceof Ha?_.mask=p.mask:_.set(p),!KP()&&s&&!s.linear&&v&&_.convertSRGBToLinear()}}else if(S[d]=p,S[d]instanceof zt&&S[d].format===Fi&&S[d].type===cs&&s){const v=S[d];Xv(v)&&Xv(s.gl)?v.colorSpace=s.gl.outputColorSpace:v.encoding=s.gl.outputEncoding}ql(n)}if(i&&i.parent&&n.raycast&&l!==i.eventCount){const h=jp(n).getState().internal,d=h.interaction.indexOf(n);d>-1&&h.interaction.splice(d,1),i.eventCount&&h.interaction.push(n)}return!(a.length===1&&a[0][0]==="onUpdate")&&a.length&&(t=n.__r3f)!=null&&t.parent&&tx(n),n}function ql(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 tx(n){n.onUpdate==null||n.onUpdate(n)}function tI(n,e){n.manual||(YP(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 _p(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function yG(){var n;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return du.DefaultEventPriority;switch((n=e.event)==null?void 0:n.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return du.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return du.ContinuousEventPriority;default:return du.DefaultEventPriority}}function nI(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function _G(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)=>{nI(t.capturedMap,e,i,r)})}function xG(n){function e(l){const{internal:c}=n.getState(),h=l.offsetX-c.initialClick[0],d=l.offsetY-c.initialClick[1];return Math.round(Math.sqrt(h*h+d*d))}function t(l){return l.filter(c=>["Move","Over","Enter","Out","Leave"].some(h=>{var d;return(d=c.__r3f)==null?void 0:d.handlers["onPointer"+h]}))}function i(l,c){const h=n.getState(),d=new Set,p=[],m=c?c(h.internal.interaction):h.internal.interaction;for(let v=0;v{const M=Fc(v.object),w=Fc(A.object);return!M||!w?v.distance-A.distance:w.events.priority-M.events.priority||v.distance-A.distance}).filter(v=>{const A=_p(v);return d.has(A)?!1:(d.add(A),!0)});h.events.filter&&(S=h.events.filter(S,h));for(const v of S){let A=v.object;for(;A;){var _;(_=A.__r3f)!=null&&_.eventCount&&p.push({...v,eventObject:A}),A=A.parent}}if("pointerId"in l&&h.internal.capturedMap.has(l.pointerId))for(let v of h.internal.capturedMap.get(l.pointerId).values())d.has(_p(v.intersection))||p.push(v.intersection);return p}function r(l,c,h,d){const p=n.getState();if(l.length){const m={stopped:!1};for(const y of l){const S=Fc(y.object)||p,{raycaster:_,pointer:v,camera:A,internal:M}=S,w=new L(v.x,v.y,0).unproject(A),I=C=>{var O,J;return(O=(J=M.capturedMap.get(C))==null?void 0:J.has(y.eventObject))!=null?O:!1},R=C=>{const O={intersection:y,target:c.target};M.capturedMap.has(C)?M.capturedMap.get(C).set(y.eventObject,O):M.capturedMap.set(C,new Map([[y.eventObject,O]])),c.target.setPointerCapture(C)},P=C=>{const O=M.capturedMap.get(C);O&&nI(M.capturedMap,y.eventObject,O,C)};let D={};for(let C in c){let O=c[C];typeof O!="function"&&(D[C]=O)}let b={...y,...D,pointer:v,intersections:l,stopped:m.stopped,delta:h,unprojectedPoint:w,ray:_.ray,camera:A,stopPropagation(){const C="pointerId"in c&&M.capturedMap.get(c.pointerId);if((!C||C.has(y.eventObject))&&(b.stopped=m.stopped=!0,M.hovered.size&&Array.from(M.hovered.values()).find(O=>O.eventObject===y.eventObject))){const O=l.slice(0,l.indexOf(y));s([...O,y])}},target:{hasPointerCapture:I,setPointerCapture:R,releasePointerCapture:P},currentTarget:{hasPointerCapture:I,setPointerCapture:R,releasePointerCapture:P},nativeEvent:c};if(d(b),m.stopped===!0)break}}return l}function s(l){const{internal:c}=n.getState();for(const h of c.hovered.values())if(!l.length||!l.find(d=>d.object===h.object&&d.index===h.index&&d.instanceId===h.instanceId)){const p=h.eventObject.__r3f,m=p==null?void 0:p.handlers;if(c.hovered.delete(_p(h)),p!=null&&p.eventCount){const y={...h,intersections:l};m.onPointerOut==null||m.onPointerOut(y),m.onPointerLeave==null||m.onPointerLeave(y)}}}function o(l,c){for(let h=0;hs([]);case"onLostPointerCapture":return c=>{const{internal:h}=n.getState();"pointerId"in c&&h.capturedMap.has(c.pointerId)&&requestAnimationFrame(()=>{h.capturedMap.has(c.pointerId)&&(h.capturedMap.delete(c.pointerId),s([]))})}}return function(h){const{onPointerMissed:d,internal:p}=n.getState();p.lastEvent.current=h;const m=l==="onPointerMove",y=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",_=i(h,m?t:void 0),v=y?e(h):0;l==="onPointerDown"&&(p.initialClick=[h.offsetX,h.offsetY],p.initialHits=_.map(M=>M.eventObject)),y&&!_.length&&v<=2&&(o(h,p.interaction),d&&d(h)),m&&s(_);function A(M){const w=M.eventObject,I=w.__r3f,R=I==null?void 0:I.handlers;if(I!=null&&I.eventCount)if(m){if(R.onPointerOver||R.onPointerEnter||R.onPointerOut||R.onPointerLeave){const P=_p(M),D=p.hovered.get(P);D?D.stopped&&M.stopPropagation():(p.hovered.set(P,M),R.onPointerOver==null||R.onPointerOver(M),R.onPointerEnter==null||R.onPointerEnter(M))}R.onPointerMove==null||R.onPointerMove(M)}else{const P=R[l];P?(!y||p.initialHits.includes(w))&&(o(h,p.interaction.filter(D=>!p.initialHits.includes(D))),P(M)):y&&p.initialHits.includes(w)&&o(h,p.interaction.filter(D=>!p.initialHits.includes(D)))}}r(_,h,v,A)}}return{handlePointer:a}}const AG=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],iI=n=>!!(n!=null&&n.render),Ag=Y.createContext(null),SG=(n,e)=>{const t=zP((a,l)=>{const c=new L,h=new L,d=new L;function p(v=l().camera,A=h,M=l().size){const{width:w,height:I,top:R,left:P}=M,D=w/I;A instanceof L?d.copy(A):d.set(...A);const b=v.getWorldPosition(c).distanceTo(d);if(YP(v))return{width:w/v.zoom,height:I/v.zoom,top:R,left:P,factor:1,distance:b,aspect:D};{const C=v.fov*Math.PI/180,O=2*Math.tan(C/2)*b,J=O*(w/I);return{width:J,height:O,top:R,left:P,factor:w/J,distance:b,aspect:D}}}let m;const y=v=>a(A=>({performance:{...A.performance,current:v}})),S=new ue;return{set:a,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(v=1)=>n(l(),v),advance:(v,A)=>e(v,A,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new UA,pointer:S,mouse:S,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const v=l();m&&clearTimeout(m),v.performance.current!==v.performance.min&&y(v.performance.min),m=setTimeout(()=>y(l().performance.max),v.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:v=>a(A=>({...A,events:{...A.events,...v}})),setSize:(v,A,M,w,I)=>{const R=l().camera,P={width:v,height:A,top:w||0,left:I||0,updateStyle:M};a(D=>({size:P,viewport:{...D.viewport,...p(R,h,P)}}))},setDpr:v=>a(A=>{const M=$P(v);return{viewport:{...A.viewport,dpr:M,initialDpr:A.viewport.initialDpr||M}}}),setFrameloop:(v="always")=>{const A=l().clock;A.stop(),A.elapsedTime=0,v!=="never"&&(A.start(),A.elapsedTime=0),a(()=>({frameloop:v}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:Y.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(v,A,M)=>{const w=l().internal;return w.priority=w.priority+(A>0?1:0),w.subscribers.push({ref:v,priority:A,store:M}),w.subscribers=w.subscribers.sort((I,R)=>I.priority-R.priority),()=>{const I=l().internal;I!=null&&I.subscribers&&(I.priority=I.priority-(A>0?1:0),I.subscribers=I.subscribers.filter(R=>R.ref!==v))}}}}}),i=t.getState();let r=i.size,s=i.viewport.dpr,o=i.camera;return t.subscribe(()=>{const{camera:a,size:l,viewport:c,gl:h,set:d}=t.getState();if(l.width!==r.width||l.height!==r.height||c.dpr!==s){var p;r=l,s=c.dpr,tI(a,l),h.setPixelRatio(c.dpr);const m=(p=l.updateStyle)!=null?p:typeof HTMLCanvasElement<"u"&&h.domElement instanceof HTMLCanvasElement;h.setSize(l.width,l.height,m)}a!==o&&(o=a,d(m=>({viewport:{...m.viewport,...m.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};let xp,MG=new Set,EG=new Set,wG=new Set;function Kv(n,e){if(n.size)for(const{callback:t}of n.values())t(e)}function Nc(n,e){switch(n){case"before":return Kv(MG,e);case"after":return Kv(EG,e);case"tail":return Kv(wG,e)}}let Yv,Qv;function qv(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),Yv=e.internal.subscribers,xp=0;xp0)&&!((h=s.gl.xr)!=null&&h.isPresenting)&&(i+=qv(c,s))}if(t=!1,Nc("after",c),i===0)return Nc("tail",c),e=!1,cancelAnimationFrame(r)}function a(c,h=1){var d;if(!c)return n.forEach(p=>a(p.store.getState(),h));(d=c.gl.xr)!=null&&d.isPresenting||!c.internal.active||c.frameloop==="never"||(h>1?c.internal.frames=Math.min(60,c.internal.frames+h):t?c.internal.frames=2:c.internal.frames=1,e||(e=!0,requestAnimationFrame(o)))}function l(c,h=!0,d,p){if(h&&Nc("before",c),d)qv(c,d,p);else for(const m of n.values())qv(c,m.store.getState());h&&Nc("after",c)}return{loop:o,invalidate:a,advance:l}}function fh(){const n=Y.useContext(Ag);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function Fu(n=t=>t,e){return fh()(n,e)}function Ti(n,e=0){const t=fh(),i=t.getState().internal.subscribe,r=QP(n);return ch(()=>i(r,e,t),[e,i,t]),null}const ww=new WeakMap;function rI(n,e){return function(t,...i){let r=ww.get(t);return r||(r=new t,ww.set(t,r)),n&&n(r),Promise.all(i.map(s=>new Promise((o,a)=>r.load(s,l=>{l.scene&&Object.assign(l,mG(l.scene)),o(l)},e,l=>a(new Error(`Could not load ${s}: ${l==null?void 0:l.message}`))))))}}function hh(n,e,t,i){const r=Array.isArray(e)?e:[e],s=GA(rI(t,i),[n,...r],{equal:Wt.equ});return Array.isArray(e)?s:s[0]}hh.preload=function(n,e,t){const i=Array.isArray(e)?e:[e];return lG(rI(t),[n,...i])};hh.clear=function(n,e){const t=Array.isArray(e)?e:[e];return uG([n,...t])};const Nu=new Map,{invalidate:Tw,advance:Cw}=TG(Nu),{reconciler:Uu,applyProps:jl}=fG(Nu,yG),Kl={objects:"shallow",strict:!1},CG=(n,e)=>{const t=typeof n=="function"?n(e):n;return iI(t)?t:new $b({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function RG(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 bG(n){const e=Nu.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||SG(Tw,Cw),o=t||Uu.createContainer(s,du.ConcurrentRoot,null,!1,null,"",r,null);e||Nu.set(n,{fiber:o,store:s});let a,l=!1,c;return{configure(h={}){let{gl:d,size:p,scene:m,events:y,onCreated:S,shadows:_=!1,linear:v=!1,flat:A=!1,legacy:M=!1,orthographic:w=!1,frameloop:I="always",dpr:R=[1,2],performance:P,raycaster:D,camera:b,onPointerMissed:C}=h,O=s.getState(),J=O.gl;O.gl||O.set({gl:J=CG(d,n)});let H=O.raycaster;H||O.set({raycaster:H=new uh});const{params:ne,...se}=D||{};if(Wt.equ(se,H,Kl)||jl(H,{...se}),Wt.equ(ne,H.params,Kl)||jl(H,{params:{...H.params,...ne}}),!O.camera||O.camera===c&&!Wt.equ(c,b,Kl)){c=b;const G=b instanceof $f,oe=G?b:w?new tl(0,0,0,0,.1,1e3):new En(75,0,.1,1e3);G||(oe.position.z=5,b&&(jl(oe,b),("aspect"in b||"left"in b||"right"in b||"bottom"in b||"top"in b)&&(oe.manual=!0,oe.updateProjectionMatrix())),!O.camera&&!(b!=null&&b.rotation)&&oe.lookAt(0,0,0)),O.set({camera:oe}),H.camera=oe}if(!O.scene){let G;m instanceof Am?G=m:(G=new Am,m&&jl(G,m)),O.set({scene:Ql(G)})}if(!O.xr){var ce;const G=(ze,te)=>{const ye=s.getState();ye.frameloop!=="never"&&Cw(ze,!0,ye,te)},oe=()=>{const ze=s.getState();ze.gl.xr.enabled=ze.gl.xr.isPresenting,ze.gl.xr.setAnimationLoop(ze.gl.xr.isPresenting?G:null),ze.gl.xr.isPresenting||Tw(ze)},Me={connect(){const ze=s.getState().gl;ze.xr.addEventListener("sessionstart",oe),ze.xr.addEventListener("sessionend",oe)},disconnect(){const ze=s.getState().gl;ze.xr.removeEventListener("sessionstart",oe),ze.xr.removeEventListener("sessionend",oe)}};typeof((ce=J.xr)==null?void 0:ce.addEventListener)=="function"&&Me.connect(),O.set({xr:Me})}if(J.shadowMap){const G=J.shadowMap.enabled,oe=J.shadowMap.type;if(J.shadowMap.enabled=!!_,Wt.boo(_))J.shadowMap.type=af;else if(Wt.str(_)){var ge;const Me={basic:BR,percentage:Xm,soft:af,variance:Nr};J.shadowMap.type=(ge=Me[_])!=null?ge:af}else Wt.obj(_)&&Object.assign(J.shadowMap,_);(G!==J.shadowMap.enabled||oe!==J.shadowMap.type)&&(J.shadowMap.needsUpdate=!0)}const N=KP();N&&("enabled"in N?N.enabled=!M:"legacyMode"in N&&(N.legacyMode=M)),l||jl(J,{outputEncoding:v?3e3:3001,toneMapping:A?ls:nA}),O.legacy!==M&&O.set(()=>({legacy:M})),O.linear!==v&&O.set(()=>({linear:v})),O.flat!==A&&O.set(()=>({flat:A})),d&&!Wt.fun(d)&&!iI(d)&&!Wt.equ(d,J,Kl)&&jl(J,d),y&&!O.events.handlers&&O.set({events:y(s)});const V=RG(n,p);return Wt.equ(V,O.size,Kl)||O.setSize(V.width,V.height,V.updateStyle,V.top,V.left),R&&O.viewport.dpr!==$P(R)&&O.setDpr(R),O.frameloop!==I&&O.setFrameloop(I),O.onPointerMissed||O.set({onPointerMissed:C}),P&&!Wt.equ(P,O.performance,Kl)&&O.set(G=>({performance:{...G.performance,...P}})),a=S,l=!0,this},render(h){return l||this.configure(),Uu.updateContainer($.jsx(PG,{store:s,children:h,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){sI(n)}}}function PG({store:n,children:e,onCreated:t,rootElement:i}){return ch(()=>{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)},[]),$.jsx(Ag.Provider,{value:n,children:e})}function sI(n,e){const t=Nu.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),Uu.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(),gG(r),Nu.delete(n)}catch{}},500)})}}function VA(n,e,t){return $.jsx(IG,{children:n,container:e,state:t},e.uuid)}function IG({state:n={},children:e,container:t}){const{events:i,size:r,...s}=n,o=fh(),[a]=Y.useState(()=>new uh),[l]=Y.useState(()=>new ue),c=Y.useCallback((d,p)=>{const m={...d};Object.keys(d).forEach(S=>{(AG.includes(S)||d[S]!==p[S]&&p[S])&&delete m[S]});let y;if(p&&r){const S=p.camera;y=d.viewport.getCurrentViewport(S,new L,r),S!==d.camera&&tI(S,r)}return{...m,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...d.events,...p==null?void 0:p.events,...i},size:{...d.size,...r},viewport:{...d.viewport,...y},...s}},[n]),[h]=Y.useState(()=>{const d=o.getState();return zP((m,y)=>({...d,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...d.events,...i},size:{...d.size,...r},...s,set:m,get:y,setEvents:S=>m(_=>({..._,events:{..._.events,...S}}))}))});return Y.useEffect(()=>{const d=o.subscribe(p=>h.setState(m=>c(p,m)));return()=>{d()}},[c]),Y.useEffect(()=>{h.setState(d=>c(o.getState(),d))},[c]),Y.useEffect(()=>()=>{h.destroy()},[]),$.jsx($.Fragment,{children:Uu.createPortal($.jsx(Ag.Provider,{value:h,children:e}),h,null)})}Uu.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:Y.version});function nx(n,e,t){var i,r,s,o,a;e==null&&(e=100);function l(){var h=Date.now()-o;h=0?i=setTimeout(l,e-h):(i=null,t||(a=n.apply(s,r),s=r=null))}var c=function(){s=this,r=arguments,o=Date.now();var h=t&&!i;return i||(i=setTimeout(l,e)),h&&(a=n.apply(s,r),s=r=null),a};return c.clear=function(){i&&(clearTimeout(i),i=null)},c.flush=function(){i&&(a=n.apply(s,r),s=r=null,clearTimeout(i),i=null)},c}nx.debounce=nx;var BG=nx;const Rw=Rm(BG);function LG(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]=Y.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=Y.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),c=e?typeof e=="number"?e:e.scroll:null,h=e?typeof e=="number"?e:e.resize:null,d=Y.useRef(!1);Y.useEffect(()=>(d.current=!0,()=>void(d.current=!1)));const[p,m,y]=Y.useMemo(()=>{const A=()=>{if(!l.current.element)return;const{left:M,top:w,width:I,height:R,bottom:P,right:D,x:b,y:C}=l.current.element.getBoundingClientRect(),O={left:M,top:w,width:I,height:R,bottom:P,right:D,x:b,y:C};l.current.element instanceof HTMLElement&&r&&(O.height=l.current.element.offsetHeight,O.width=l.current.element.offsetWidth),Object.freeze(O),d.current&&!UG(l.current.lastBounds,O)&&a(l.current.lastBounds=O)};return[A,h?Rw(A,h):A,c?Rw(A,c):A]},[a,r,c,h]);function S(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(A=>A.removeEventListener("scroll",y,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function _(){l.current.element&&(l.current.resizeObserver=new s(y),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(A=>A.addEventListener("scroll",y,{capture:!0,passive:!0})))}const v=A=>{!A||A===l.current.element||(S(),l.current.element=A,l.current.scrollContainers=oI(A),_())};return FG(y,!!t),DG(m),Y.useEffect(()=>{S(),_()},[t,y,m]),Y.useEffect(()=>S,[]),[v,o,p]}function DG(n){Y.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function FG(n,e){Y.useEffect(()=>{if(e){const t=n;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[n,e])}function oI(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,...oI(n.parentElement)]}const NG=["x","y","top","bottom","left","right","width","height"],UG=(n,e)=>NG.every(t=>n[t]===e[t]);var OG=Object.defineProperty,kG=Object.defineProperties,HG=Object.getOwnPropertyDescriptors,bw=Object.getOwnPropertySymbols,GG=Object.prototype.hasOwnProperty,zG=Object.prototype.propertyIsEnumerable,Pw=(n,e,t)=>e in n?OG(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Iw=(n,e)=>{for(var t in e||(e={}))GG.call(e,t)&&Pw(n,t,e[t]);if(bw)for(var t of bw(e))zG.call(e,t)&&Pw(n,t,e[t]);return n},VG=(n,e)=>kG(n,HG(e)),Bw,Lw;typeof window<"u"&&((Bw=window.document)!=null&&Bw.createElement||((Lw=window.navigator)==null?void 0:Lw.product)==="ReactNative")?Y.useLayoutEffect:Y.useEffect;function aI(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=n.child;for(;i;){const r=aI(i,e,t);if(r)return r;i=i.sibling}}function lI(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const Dw=console.error;console.error=function(){const n=[...arguments].join("");if(n!=null&&n.startsWith("Warning:")&&n.includes("useContext")){console.error=Dw;return}return Dw.apply(this,arguments)};const WA=lI(Y.createContext(null));class uI extends Y.Component{render(){return Y.createElement(WA.Provider,{value:this._reactInternals},this.props.children)}}function WG(){const n=Y.useContext(WA);if(n===null)throw new Error("its-fine: useFiber must be called within a !");const e=Y.useId();return Y.useMemo(()=>{for(const i of[n,n==null?void 0:n.alternate]){if(!i)continue;const r=aI(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 XG(){const n=WG(),[e]=Y.useState(()=>new Map);e.clear();let t=n;for(;t;){if(t.type&&typeof t.type=="object"){const r=t.type._context===void 0&&t.type.Provider===t.type?t.type:t.type._context;r&&r!==WA&&!e.has(r)&&e.set(r,Y.useContext(lI(r)))}t=t.return}return e}function JG(){const n=XG();return Y.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>Y.createElement(e,null,Y.createElement(t.Provider,VG(Iw({},i),{value:n.get(t)}))),e=>Y.createElement(uI,Iw({},e))),[n])}const Zv={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 jG(n){const{handlePointer:e}=xG(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(Zv).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,c]=Zv[o];t.addEventListener(l,a,{passive:c})})},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]=Zv[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const KG=Y.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=jG,eventSource:a,eventPrefix:l,shadows:c,linear:h,flat:d,legacy:p,orthographic:m,frameloop:y,dpr:S,performance:_,raycaster:v,camera:A,scene:M,onPointerMissed:w,onCreated:I,...R},P){Y.useMemo(()=>cG(tG),[]);const D=JG(),[b,C]=LG({scroll:!0,debounce:{scroll:50,resize:0},...i}),O=Y.useRef(null),J=Y.useRef(null);Y.useImperativeHandle(P,()=>O.current);const H=QP(w),[ne,se]=Y.useState(!1),[ce,ge]=Y.useState(!1);if(ne)throw ne;if(ce)throw ce;const N=Y.useRef(null);ch(()=>{const G=O.current;C.width>0&&C.height>0&&G&&(N.current||(N.current=bG(G)),N.current.configure({gl:s,events:o,shadows:c,linear:h,flat:d,legacy:p,orthographic:m,frameloop:y,dpr:S,performance:_,raycaster:v,camera:A,scene:M,size:C,onPointerMissed:(...oe)=>H.current==null?void 0:H.current(...oe),onCreated:oe=>{oe.events.connect==null||oe.events.connect(a?hG(a)?a.current:a:J.current),l&&oe.setEvents({compute:(Me,ze)=>{const te=Me[l+"X"],ye=Me[l+"Y"];ze.pointer.set(te/ze.size.width*2-1,-(ye/ze.size.height)*2+1),ze.raycaster.setFromCamera(ze.pointer,ze.camera)}}),I==null||I(oe)}}),N.current.render($.jsx(D,{children:$.jsx(qP,{set:ge,children:$.jsx(Y.Suspense,{fallback:$.jsx(dG,{set:se}),children:e})})})))}),Y.useEffect(()=>{const G=O.current;if(G)return()=>sI(G)},[]);const V=a?"none":"auto";return $.jsx("div",{ref:J,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:V,...r},...R,children:$.jsx("div",{ref:b,style:{width:"100%",height:"100%"},children:$.jsx("canvas",{ref:O,style:{display:"block"},children:t})})})}),YG=Y.forwardRef(function(e,t){return $.jsx(uI,{children:$.jsx(KG,{...e,ref:t})})});function Kp(n,e,t){return Math.max(e,Math.min(t,n))}const QG=.05,Fw=.1;function cI(n,e,t){const i=e.gamepad;if(i==null)return;const r=t.components;for(const s in r){let o=n[s];o==null&&(n[s]=o={});const{gamepadIndices:a}=r[s];let l=!1,c=!1;if(a.button!=null&&a.buttonQG)}a.xAxis!=null&&a.xAxisFw)),a.yAxis!=null&&a.yAxisFw)),o.state=l?"pressed":c?"touched":"default"}}function Nw(n,e){if(e===hA)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),n;if(e===Ya||e===qf){let t=n.getIndex();if(t===null){const o=[],a=n.getAttribute("position");if(a!==void 0){for(let l=0;l=2.0 are supported."));return}const c=new Pz(s,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});c.fileLoader.setRequestHeader(this.requestHeader);for(let h=0;h=0&&a[d]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+d+'".')}}c.setExtensions(o),c.setPlugins(a),c.parse(i,r)}parseAsync(e,t){const i=this;return new Promise(function(r,s){i.parse(e,t,r,s)})}};function ZG(){let n={};return{get:function(e){return n[e]},add:function(e,t){n[e]=t},remove:function(e){delete n[e]},removeAll:function(){n={}}}}const wt={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};let $G=class{constructor(e){this.parser=e,this.name=wt.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let i=0,r=t.length;i=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,s.source,o)}},dz=class{constructor(e){this.parser=e,this.name=wt.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,s=r.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],a=r.images[o.source];let l=i.textureLoader;if(a.uri){const c=i.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}},pz=class{constructor(e){this.parser=e,this.name=wt.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,s=r.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],a=r.images[o.source];let l=i.textureLoader;if(a.uri){const c=i.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}},mz=class{constructor(e){this.name=wt.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,i=t.bufferViews[e];if(i.extensions&&i.extensions[this.name]){const r=i.extensions[this.name],s=this.parser.getDependency("buffer",r.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return s.then(function(a){const l=r.byteOffset||0,c=r.byteLength||0,h=r.count,d=r.byteStride,p=new Uint8Array(a,l,c);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(h,d,p,r.mode,r.filter).then(function(m){return m.buffer}):o.ready.then(function(){const m=new ArrayBuffer(h*d);return o.decodeGltfBuffer(new Uint8Array(m),h,d,p,r.mode,r.filter),m})})}else return null}},gz=class{constructor(e){this.name=wt.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,i=t.nodes[e];if(!i.extensions||!i.extensions[this.name]||i.mesh===void 0)return null;const r=t.meshes[i.mesh];for(const c of r.primitives)if(c.mode!==dr.TRIANGLES&&c.mode!==dr.TRIANGLE_STRIP&&c.mode!==dr.TRIANGLE_FAN&&c.mode!==void 0)return null;const o=i.extensions[this.name].attributes,a=[],l={};for(const c in o)a.push(this.parser.getDependency("accessor",o[c]).then(h=>(l[c]=h,l[c])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(c=>{const h=c.pop(),d=h.isGroup?h.children:[h],p=c[0].count,m=[];for(const y of d){const S=new Ue,_=new L,v=new jt,A=new L(1,1,1),M=new ih(y.geometry,y.material,p);for(let w=0;w0||n.search(/^data\:image\/jpeg/)===0?"image/jpeg":n.search(/\.webp($|\?)/i)>0||n.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const bz=new Ue;let Pz=class{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new ZG,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let i=!1,r=!1,s=-1;typeof navigator<"u"&&(i=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,r=navigator.userAgent.indexOf("Firefox")>-1,s=r?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||i||r&&s<98?this.textureLoader=new LA(this.options.manager):this.textureLoader=new FA(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Mi(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const i=this,r=this.json,s=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([i.getDependencies("scene"),i.getDependencies("animation"),i.getDependencies("camera")])}).then(function(o){const a={scene:o[0][r.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:r.asset,parser:i,userData:{}};return ya(s,a,r),xo(a,r),Promise.all(i._invokeAll(function(l){return l.afterRoot&&l.afterRoot(a)})).then(function(){for(const l of a.scenes)l.updateMatrixWorld();e(a)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],i=this.json.meshes||[];for(let r=0,s=t.length;r{const l=this.associations.get(o);l!=null&&this.associations.set(a,l);for(const[c,h]of o.children.entries())s(h,a.children[c])};return s(i,r),r.name+="_instance_"+e.uses[t]++,r}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let i=0;i=2&&_.setY(b,R[P*l+1]),l>=3&&_.setZ(b,R[P*l+2]),l>=4&&_.setW(b,R[P*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return _})}loadTexture(e){const t=this.json,i=this.options,s=t.textures[e].source,o=t.images[s];let a=this.textureLoader;if(o.uri){const l=i.manager.getHandler(o.uri);l!==null&&(a=l)}return this.loadTextureImage(e,s,a)}loadTextureImage(e,t,i){const r=this,s=this.json,o=s.textures[e],a=s.images[t],l=(a.uri||a.bufferView)+":"+o.sampler;if(this.textureCache[l])return this.textureCache[l];const c=this.loadImageSource(t,i).then(function(h){h.flipY=!1,h.name=o.name||a.name||"",h.name===""&&typeof a.uri=="string"&&a.uri.startsWith("data:image/")===!1&&(h.name=a.uri);const p=(s.samplers||{})[o.sampler]||{};return h.magFilter=Ow[p.magFilter]||tn,h.minFilter=Ow[p.minFilter]||Di,h.wrapS=kw[p.wrapS]||Xr,h.wrapT=kw[p.wrapT]||Xr,r.associations.set(h,{textures:e}),h}).catch(function(){return null});return this.textureCache[l]=c,c}loadImageSource(e,t){const i=this,r=this.json,s=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(d=>d.clone());const o=r.images[e],a=self.URL||self.webkitURL;let l=o.uri||"",c=!1;if(o.bufferView!==void 0)l=i.getDependency("bufferView",o.bufferView).then(function(d){c=!0;const p=new Blob([d],{type:o.mimeType});return l=a.createObjectURL(p),l});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const h=Promise.resolve(l).then(function(d){return new Promise(function(p,m){let y=p;t.isImageBitmapLoader===!0&&(y=function(S){const _=new zt(S);_.needsUpdate=!0,p(_)}),t.load($i.resolveURL(d,s.path),y,void 0,m)})}).then(function(d){return c===!0&&a.revokeObjectURL(l),d.userData.mimeType=o.mimeType||Rz(o.uri),d}).catch(function(d){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),d});return this.sourceCache[e]=h,h}assignTexture(e,t,i,r){const s=this;return this.getDependency("texture",i.index).then(function(o){if(!o)return null;if(i.texCoord!==void 0&&i.texCoord>0&&(o=o.clone(),o.channel=i.texCoord),s.extensions[wt.KHR_TEXTURE_TRANSFORM]){const a=i.extensions!==void 0?i.extensions[wt.KHR_TEXTURE_TRANSFORM]:void 0;if(a){const l=s.associations.get(o);o=s.extensions[wt.KHR_TEXTURE_TRANSFORM].extendTexture(o,a),s.associations.set(o,l)}}return r!==void 0&&(o.colorSpace=r),e[t]=o,o})}assignFinalMaterial(e){const t=e.geometry;let i=e.material;const r=t.attributes.tangent===void 0,s=t.attributes.color!==void 0,o=t.attributes.normal===void 0;if(e.isPoints){const a="PointsMaterial:"+i.uuid;let l=this.cache.get(a);l||(l=new rh,qt.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,l.sizeAttenuation=!1,this.cache.add(a,l)),i=l}else if(e.isLine){const a="LineBasicMaterial:"+i.uuid;let l=this.cache.get(a);l||(l=new Zn,qt.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,this.cache.add(a,l)),i=l}if(r||s||o){let a="ClonedMaterial:"+i.uuid+":";r&&(a+="derivative-tangents:"),s&&(a+="vertex-colors:"),o&&(a+="flat-shading:");let l=this.cache.get(a);l||(l=i.clone(),s&&(l.vertexColors=!0),o&&(l.flatShading=!0),r&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(a,l),this.associations.set(l,this.associations.get(i))),i=l}e.material=i}getMaterialType(){return nl}loadMaterial(e){const t=this,i=this.json,r=this.extensions,s=i.materials[e];let o;const a={},l=s.extensions||{},c=[];if(l[wt.KHR_MATERIALS_UNLIT]){const d=r[wt.KHR_MATERIALS_UNLIT];o=d.getMaterialType(),c.push(d.extendParams(a,s,t))}else{const d=s.pbrMetallicRoughness||{};if(a.color=new we(1,1,1),a.opacity=1,Array.isArray(d.baseColorFactor)){const p=d.baseColorFactor;a.color.setRGB(p[0],p[1],p[2],Vn),a.opacity=p[3]}d.baseColorTexture!==void 0&&c.push(t.assignTexture(a,"map",d.baseColorTexture,Jn)),a.metalness=d.metallicFactor!==void 0?d.metallicFactor:1,a.roughness=d.roughnessFactor!==void 0?d.roughnessFactor:1,d.metallicRoughnessTexture!==void 0&&(c.push(t.assignTexture(a,"metalnessMap",d.metallicRoughnessTexture)),c.push(t.assignTexture(a,"roughnessMap",d.metallicRoughnessTexture))),o=this._invokeOne(function(p){return p.getMaterialType&&p.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(p){return p.extendMaterialParams&&p.extendMaterialParams(e,a)})))}s.doubleSided===!0&&(a.side=vr);const h=s.alphaMode||ey.OPAQUE;if(h===ey.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,h===ey.MASK&&(a.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.normalTexture!==void 0&&o!==Cn&&(c.push(t.assignTexture(a,"normalMap",s.normalTexture)),a.normalScale=new ue(1,1),s.normalTexture.scale!==void 0)){const d=s.normalTexture.scale;a.normalScale.set(d,d)}if(s.occlusionTexture!==void 0&&o!==Cn&&(c.push(t.assignTexture(a,"aoMap",s.occlusionTexture)),s.occlusionTexture.strength!==void 0&&(a.aoMapIntensity=s.occlusionTexture.strength)),s.emissiveFactor!==void 0&&o!==Cn){const d=s.emissiveFactor;a.emissive=new we().setRGB(d[0],d[1],d[2],Vn)}return s.emissiveTexture!==void 0&&o!==Cn&&c.push(t.assignTexture(a,"emissiveMap",s.emissiveTexture,Jn)),Promise.all(c).then(function(){const d=new o(a);return s.name&&(d.name=s.name),xo(d,s),t.associations.set(d,{materials:e}),s.extensions&&ya(r,d,s),d})}createUniqueName(e){const t=Rt.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,i=this.extensions,r=this.primitiveCache;function s(a){return i[wt.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a,t).then(function(l){return Hw(l,a,t)})}const o=[];for(let a=0,l=e.length;a0&&Tz(v,s),v.name=t.createUniqueName(s.name||"mesh_"+e),xo(v,s),_.extensions&&ya(r,v,_),t.assignFinalMaterial(v),d.push(v)}for(let m=0,y=d.length;m1?h=new xr:c.length===1?h=c[0]:h=new At,h!==c[0])for(let d=0,p=c.length;d{const d=new Map;for(const[p,m]of r.associations)(p instanceof qt||p instanceof zt)&&d.set(p,m);return h.traverse(p=>{const m=r.associations.get(p);m!=null&&d.set(p,m)}),d};return r.associations=c(s),s})}_createAnimationTracks(e,t,i,r,s){const o=[],a=e.name?e.name:e.uuid,l=[];go[s.path]===go.weights?e.traverse(function(p){p.morphTargetInfluences&&l.push(p.name?p.name:p.uuid)}):l.push(a);let c;switch(go[s.path]){case go.weights:c=Js;break;case go.rotation:c=hs;break;case go.position:case go.scale:c=js;break;default:switch(i.itemSize){case 1:c=Js;break;case 2:case 3:default:c=js;break}break}const h=r.interpolation!==void 0?Mz[r.interpolation]:Ws,d=this._getArrayFromAccessor(i);for(let p=0,m=l.length;p{t instanceof Jt&&t.material instanceof qt&&(t.material.colorWrite=(e==null?void 0:e.colorWrite)??!0)})}function Hz(n,e){return{type:"hand",inputSource:n,pose:Bz(n.hand),assetPath:Uz(n.handedness,e)}}function Gz({inputSource:n,pose:e},t,i){Lz(e,t,n.hand,i,n.handedness)}const zz=["wrist","thumb-metacarpal","thumb-phalanx-proximal","thumb-phalanx-distal","thumb-tip","index-finger-metacarpal","index-finger-phalanx-proximal","index-finger-phalanx-intermediate","index-finger-phalanx-distal","index-finger-tip","middle-finger-metacarpal","middle-finger-phalanx-proximal","middle-finger-phalanx-intermediate","middle-finger-phalanx-distal","middle-finger-tip","ring-finger-metacarpal","ring-finger-phalanx-proximal","ring-finger-phalanx-intermediate","ring-finger-phalanx-distal","ring-finger-tip","pinky-finger-metacarpal","pinky-finger-phalanx-proximal","pinky-finger-phalanx-intermediate","pinky-finger-phalanx-distal","pinky-finger-tip"];function Vz(n,e,t){const i=new Float32Array(n.size*16),r=zz.map(s=>{const o=e.getObjectByName(s);if(o==null)throw new Error(`missing joint "${s}" in hand model`);return o.matrixAutoUpdate=!1,o});return s=>{if(s==null)return;const o=typeof t=="function"?t():t;if(o==null)return;s.fillPoses(n.values(),o,i);const a=r.length;for(let l=0;lt.push(r);return e.addEventListener("selectstart",i),e.addEventListener("selectend",i),e.addEventListener("select",i),e.addEventListener("squeeze",i),e.addEventListener("squeezestart",i),e.addEventListener("squeezeend",i),{cleanup(){e.removeEventListener("selectstart",i),e.removeEventListener("selectend",i),e.removeEventListener("select",i),e.removeEventListener("squeeze",i),e.removeEventListener("squeezestart",i),e.removeEventListener("squeezeend",i)},state:{type:"transientPointer",inputSource:n,events:t}}}function Gw(n){if(n.hand!=null)return"hand";switch(n.targetRayMode){case"gaze":return"gaze";case"screen":return"screenInput";case"tracked-pointer":return"controller";case"transient-pointer":return"transientPointer"}}function Jz(n){const e=new uV(n);return{controller:async(t,i)=>({state:await cV(i,e)}),hand:(t,i)=>({state:Hz(i,n)}),gaze:(t,i)=>({state:{type:"gaze",inputSource:i}}),screenInput:(t,i)=>({state:{type:"screenInput",inputSource:i}}),transientPointer:(t,i)=>Xz(i,t)}}function jz(n,e){let t=new Set;const i=Jz(e),r=new Map;return(s,o,a,l)=>{var h;t=new Set(s.inputSources);const c={};if(l==="all"){c.controllerStates=[],c.gazeStates=[],c.handStates=[],c.screenInputStates=[],c.transientPointerStates=[];for(const d of r.values())d()}else if(l!=null){const d=l.length;for(let p=0;pv===m);if(_===-1)throw new Error(`unable to find removed input source ${m}`);S.splice(_,1),(h=r.get(m))==null||h(),r.delete(m)}}return a!=null&&a.forEach(async d=>{const p=Gw(d);let m=i[p](s,d),y;if(m instanceof Promise){if(y=await m,!t.has(d))return;n[p](y.state)}else y=m,zw(`${p}States`,c,o).push(y.state);y.cleanup!=null&&r.set(d,y.cleanup)}),c}}function zw(n,e,t){let i=e[n];return i==null&&(e[n]=i=t==null?[]:[...t[n]]),i}function Kz(n,e){const t=(i,r)=>{r!=null&&i.visibilityState===r.visibilityState||e(i.visibilityState==="visible")};return t(n.getState()),n.subscribe(t)}class Yz extends Cn{constructor(){super({transparent:!0,toneMapped:!1,depthWrite:!1})}onBeforeCompile(e,t){super.onBeforeCompile(e,t),e.vertexShader=`varying vec2 vLocalPosition; +`+e.vertexShader,e.vertexShader=e.vertexShader.replace("#include ",`#include + vLocalPosition = position.xy * 2.0;`),e.fragmentShader=`varying vec2 vLocalPosition; +`+e.fragmentShader,e.fragmentShader=e.fragmentShader.replace("#include ",`#include + float value = max(0.0, 1.0 - sqrt(dot(vLocalPosition, vLocalPosition))); + diffuseColor.a = diffuseColor.a * value * value;`)}}const Qz=new L(0,0,1),Vw=new jt,ry=new L;function qz(n,e,t,i){const r=t.getIntersection();if(r==null||!t.getEnabled()){n.visible=!1;return}n.visible=!0;const s=typeof i.color=="function"?i.color(t):i.color;Array.isArray(s)?e.color.set(...s):e.color.set(s??"white"),e.opacity=typeof i.opacity=="function"?i.opacity(t):i.opacity??.4,n.position.copy(r.pointOnFace),n.scale.setScalar(i.size??.1),r.normal!=null&&(Vw.setFromUnitVectors(Qz,r.normal),r.object.getWorldQuaternion(n.quaternion),n.quaternion.multiply(Vw),ry.set(0,0,i.cursorOffset??.01),ry.applyQuaternion(n.quaternion),n.position.add(ry)),n.updateMatrix()}class Zz extends Cn{constructor(){super({transparent:!0,toneMapped:!1})}onBeforeCompile(e,t){super.onBeforeCompile(e,t),e.vertexShader=`varying float vFade; +`+e.vertexShader,e.vertexShader=e.vertexShader.replace("#include ",`#include + vFade = position.z + 0.5;`),e.fragmentShader=`varying float vFade; +`+e.fragmentShader,e.fragmentShader=e.fragmentShader.replace("#include ",`#include + diffuseColor.a *= vFade;`)}}function $z(n,e,t,i){if(!t.getEnabled()){n.visible=!1;return}n.visible=!0;const r=t.getIntersection(),s=typeof i.color=="function"?i.color(t):i.color;Array.isArray(s)?e.color.set(...s):e.color.set(s??"white"),e.opacity=typeof i.opacity=="function"?i.opacity(t):i.opacity??.4;let o=i.maxLength??1;r!=null&&(o=Math.min(o,r.distance)),n.position.z=-o/2;const a=i.size??.005;n.scale.set(a,a,o),n.updateMatrix()}function e4(n,e,t,i,r,s={}){const o=h=>{h.inputSource===t&&n.down(Object.assign(h,{button:s.button??0}))},a=h=>{h.inputSource===t&&n.up(Object.assign(h,{button:s.button??0}))},l=`${i}start`,c=`${i}end`;return e.addEventListener(l,o),e.addEventListener(c,a),()=>{e.removeEventListener(l,o),e.removeEventListener(c,a)}}function t4(n){var e;return n.getButtonsDown().size>0?.6:pI(((e=n.getIntersection())==null?void 0:e.distance)??1/0,.07,0,.2,.4)}function wm(n){return n.getButtonsDown().size>0?.6:.4}function n4(n){var e;return pI(((e=n.getIntersection())==null?void 0:e.distance)??1/0,.1,.03,.2,.6)}function pI(n,e,t,i,r){return i+Math.max(0,Math.min(1,(n-e)/(t-e)))*(r-i)}function i4(n,e){return(t,i)=>{const r=Ww(e),s=Ww(n);if(s===r)return t.identity(),!0;if(i==null||s==null||r==null)return!1;const o=i.getPose(s,r);return o==null?!1:(t.fromArray(o.transform.matrix),!0)}}function Ww(n){return typeof n=="function"?n():n}var r4={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const Xw=n=>{let e;const t=new Set,i=(h,d)=>{const p=typeof h=="function"?h(e):h;if(!Object.is(p,e)){const m=e;e=d??(typeof p!="object"||p===null)?p:Object.assign({},e,p),t.forEach(y=>y(e,m))}},r=()=>e,l={setState:i,getState:r,getInitialState:()=>c,subscribe:h=>(t.add(h),()=>t.delete(h)),destroy:()=>{(r4?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),t.clear()}},c=e=n(i,r,l);return l},s4=n=>n?Xw(n):Xw;function o4({anchors:n=!0,handTracking:e=!0,layers:t=!0,meshDetection:i=!0,planeDetection:r=!0,referenceSpaceType:s="local-floor",customSessionInit:o,depthSensing:a=!1}={}){if(o!=null)return o;const l=[s],c=[];return Yl(n,"anchors",l,c),Yl(e,"hand-tracking",l,c),Yl(t,"layers",l,c),Yl(i,"mesh-detection",l,c),Yl(r,"plane-detection",l,c),Yl(a,"depth-sensing",l,c),{requiredFeatures:l,optionalFeatures:c}}function Yl(n,e,t,i){if(n!==!1){if(n===!0){i.push(e);return}t.push(e)}}function Eo(n,e,t){return typeof n=="function"?n:(typeof n=="object"&&(e!=null&&a4(n,e)?n=n[e]:"default"in n&&(n=n.default)),n===!1?!1:n===!0?t:n??t)}function a4(n,e){return e in n}function mI(n,e,t){return n??(n=t),n===!1?!1:typeof n=="function"?n:e!=null&&e in n?n[e]??t:"default"in n?n.default??t:n}const gI={handStates:[],controllerStates:[],transientPointerStates:[],gazeStates:[],screenInputStates:[],detectedMeshes:[],detectedPlanes:[],mode:null};function l4(n){const e=s4(()=>({...gI,controller:n==null?void 0:n.controller,hand:n==null?void 0:n.hand,gaze:n==null?void 0:n.gaze,screenInput:n==null?void 0:n.screenInput,transientPointer:n==null?void 0:n.transientPointer,detectedMesh:n==null?void 0:n.detectedMesh,detectedPlane:n==null?void 0:n.detectedPlane})),t=jz({controller:a=>e.setState({controllerStates:[...e.getState().controllerStates,a]})},n),i=f4(e,t),r=c4(n==null?void 0:n.enterGrantedSession,a=>Ap(a,n,void 0,o));let s,o;return Object.assign(e,{setWebXRManager(a){if(o===a)return;o=a;const{referenceSpaceType:l="local-floor",foveation:c}=n??{};o.setReferenceSpaceType(l),c!=null&&o.setFoveation(c);const{session:h}=e.getState();h!=null&&yI(o,h,n),s==null||s(),s=u4(a,i)},setFrameRate(a){const{session:l}=e.getState();l!=null&&vI(l,a)},setHand(a,l){if(l==null){e.setState({hand:a});return}const c=e.getState().hand,h={};typeof c=="object"&&Object.assign(h,c),Object.assign(h,{default:Eo(c,void 0,{}),[l]:a}),e.setState({hand:h})},setController(a,l){if(l==null){e.setState({controller:a});return}const c=e.getState().controller,h={};typeof c=="object"&&Object.assign(h,c),Object.assign(h,{default:Eo(c,void 0,{}),[l]:a}),e.setState({controller:h})},setTransientPointer(a,l){if(l==null){e.setState({transientPointer:a});return}const c=e.getState().transientPointer,h={};typeof c=="object"&&Object.assign(h,c),Object.assign(h,{default:Eo(c,void 0,{}),[l]:a}),e.setState({transientPointer:h})},setGaze(a){e.setState({gaze:a})},setScreenInput(a){e.setState({screenInput:a})},setDetectedPlane(a,l){if(l==null){e.setState({detectedPlane:a});return}const c=e.getState().detectedPlane,h={};typeof c=="object"&&Object.assign(h,c),Object.assign(h,{default:Eo(c,void 0,{}),[l]:a}),e.setState({detectedPlane:h})},setDetectedMesh(a,l){if(l==null){e.setState({detectedMesh:a});return}const c=e.getState().detectedMesh,h={};typeof c=="object"&&Object.assign(h,c),Object.assign(h,{default:Eo(c,void 0,{}),[l]:a}),e.setState({detectedMesh:h})},destroy(){s==null||s(),r==null||r(),i(void 0,void 0)},enterXR:(a,l)=>Ap(a,n,l,o),enterAR:a=>Ap("immersive-ar",n,a,o),enterVR:a=>Ap("immersive-vr",n,a,o),onBeforeFrame(a,l,c){const{origin:h}=e.getState(),d=l.parent??a;h!=d&&e.setState({origin:d}),o!=null&&h4(e,c,o)}})}async function vI(n,e){if(e===!1)return;const{supportedFrameRates:t}=n;if(t==null||t.length===0)return;if(typeof e=="function"){const r=e(t);return r===!1?void 0:n.updateTargetFrameRate(r)}const i=e==="high"?1:e==="mid"?.5:0;return n.updateTargetFrameRate(t[Math.ceil((t.length-1)*i)])}async function Ap(n,e,t,i){if(navigator.xr==null)throw new Error("xr not supported");const r=await navigator.xr.requestSession(n,o4(Object.assign({},e,t)));return vI(r,(e==null?void 0:e.frameRate)??"high"),yI(i,r,e),r}function yI(n,e,t){if(n==null)return;const i=XRWebGLLayer.getNativeFramebufferScaleFactor(e);let r=t==null?void 0:t.frameBufferScaling;typeof r=="function"&&(r=r(i)),typeof r=="string"&&(r=r==="high"?i:r==="mid"?1:.5),r!=null&&(n==null||n.setFramebufferScaleFactor(r)),n==null||n.setSession(e)}const Jw=["immersive-ar","immersive-vr","inline"];function u4(n,e){const t=()=>{const i=n.getSession();e(i,i.environmentBlendMode==="opaque"?"immersive-vr":"immersive-ar")};return n.addEventListener("sessionstart",t),()=>n.removeEventListener("sessionstart",t)}function c4(n=Jw,e){var i;if(n===!1)return;n===!0&&(n=Jw);const t=async()=>{var r;for(const s of n)await((r=navigator.xr)==null?void 0:r.isSessionSupported(s))&&e(s)};return(i=navigator.xr)==null||i.addEventListener("sessiongranted",t),()=>{var r;return(r=navigator.xr)==null?void 0:r.removeEventListener("sessiongranted",t)}}function f4(n,e){let t;return(i,r)=>{if(t==null||t(),i==null||r==null)return;const s=l=>n.setState(e(l.session,n.getState(),l.added,l.removed));i.addEventListener("inputsourceschange",s);const o=()=>n.setState({frameRate:i.frameRate,visibilityState:i.visibilityState}),a=()=>{t==null||t(),t=void 0,n.setState(gI)};i.addEventListener("end",a),i.addEventListener("frameratechange",o),i.addEventListener("visibilitychange",o),n.setState({...e(i,void 0,i.inputSources,void 0),frameRate:i.frameRate,visibilityState:i.visibilityState,detectedMeshes:[],detectedPlanes:[],mode:r,session:i}),t=()=>{e(i,n.getState(),void 0,"all"),i.removeEventListener("end",a),i.removeEventListener("frameratechange",o),i.removeEventListener("visibilitychange",o),i.removeEventListener("inputsourceschange",s)}}}function h4(n,e,t){const i=t.getReferenceSpace(),{detectedMeshes:r,detectedPlanes:s,session:o,controllerStates:a,handStates:l}=n.getState();if(e==null||i==null||o==null)return;const c=jw(s,e.detectedPlanes),h=jw(r,e.detectedMeshes);(s!=c||r!=h)&&n.setState({detectedPlanes:c,detectedMeshes:h});const d=a.length;for(let m=0;m{t instanceof Jt&&t.material instanceof qt&&(t.material.colorWrite=(e==null?void 0:e.colorWrite)??!0)})}function v4(n,e,t){const i=[];for(const r in e.components){const s=e.components[r];let o=t[r];o==null&&(t[r]=o={state:"default"}),i.push(...Object.values(s.visualResponses).map(a=>y4(n,o,a)))}return()=>{const r=i.length;for(let s=0;s{};if(t.valueNodeProperty==="visibility")return()=>i.visible=t.states.includes(e.state);const r=n.getObjectByName(t.minNodeName),s=n.getObjectByName(t.maxNodeName);return r==null||s==null?()=>{}:()=>{const o=_4(e,t);i.quaternion.slerpQuaternions(r.quaternion,s.quaternion,o),i.position.lerpVectors(r.position,s.position,o),i.updateMatrix()}}function _4(n,{componentProperty:e,states:t}){const i=t.includes(n.state);switch(e){case"xAxis":return i?Kw(n).x:.5;case"yAxis":return i?Kw(n).y:.5;case"button":return i?n.button??0:0;case"state":return i?1:0}}const Oc=new ue;function Kw({xAxis:n=0,yAxis:e=0}){if(Oc.lengthSq()>1){const i=Math.atan2(e,n);Oc.set(Math.cos(i),Math.sin(i))}else Oc.set(n,e);return Oc.multiplyScalar(.5).addScalar(.5),Oc}function x4({_listeners:n,__r3f:e}){return n!=null&&Object.keys(n).length>0||e!=null&&(e==null?void 0:e.eventCount)>0}function A4({_listeners:n,__r3f:e},t){if(n!=null&&t in n)return n[t];if(e==null)return;const i=e.handlers[S4[t]];if(i!=null)return[i]}const S4={click:"onClick",contextmenu:"onContextMenu",dblclick:"onDoubleClick",pointercancel:"onPointerCancel",pointerdown:"onPointerDown",pointerenter:"onPointerEnter",pointerleave:"onPointerLeave",pointermove:"onPointerMove",pointerout:"onPointerOut",pointerover:"onPointerOver",pointerup:"onPointerUp",wheel:"onWheel"};class yi{constructor(e,t,i,r,s,o=s.object,a=o){_t(this,"type");_t(this,"bubbles");_t(this,"nativeEvent");_t(this,"pointer");_t(this,"intersection");_t(this,"currentObject");_t(this,"object");_t(this,"stopPropagation");_t(this,"stopImmediatePropagation");this.type=e,this.bubbles=t,this.nativeEvent=i,this.pointer=r,this.intersection=s,this.currentObject=o,this.object=a}get pointerId(){return this.pointer.id}get pointerType(){return this.pointer.type}get pointerState(){return this.pointer.state}get timeStamp(){return this.nativeEvent.timeStamp}get button(){return this.nativeEvent.button}get shiftKey(){return this.nativeEvent.shiftKey??!1}get metaKey(){return this.nativeEvent.metaKey??!1}get ctrlKey(){return this.nativeEvent.ctrlKey??!1}get altKey(){return this.nativeEvent.altKey??!1}get distance(){return this.intersection.distance}get distanceToRay(){return this.intersection.distanceToRay}get point(){return this.intersection.point}get index(){return this.intersection.index}get face(){return this.intersection.face}get faceIndex(){return this.intersection.faceIndex}get uv(){return this.intersection.uv}get uv1(){return this.intersection.uv1}get normal(){return this.intersection.normal}get instanceId(){return this.intersection.instanceId}get pointOnLine(){return this.intersection.pointOnLine}get batchId(){return this.intersection.batchId}get pointerPosition(){return this.intersection.pointerPosition}get pointerQuaternion(){return this.intersection.pointerQuaternion}get pointOnFace(){return this.intersection.pointOnFace}get localPoint(){return this.intersection.localPoint}get details(){return this.intersection.details}get target(){return this.object}get currentTarget(){return this.currentObject}retarget(e){const{type:t,bubbles:i,nativeEvent:r,pointer:s,intersection:o,target:a}=this;return new yi(t,i,r,s,o,e,a)}}class M4 extends yi{get deltaX(){return this.nativeEvent.deltaX}get deltaY(){return this.nativeEvent.deltaY}get deltaZ(){return this.nativeEvent.deltaZ}constructor(e,t,i){super("wheel",!0,e,t,i)}}function hr(n){_I(n,n.currentObject)}function _I(n,e){if(e==null)return;const t=A4(e,n.type);let i=!n.bubbles;if(t!=null&&t.length>0){const r=n.retarget(e),s=t.length;r.stopPropagation=()=>i=!0;let o=!1;r.stopImmediatePropagation=()=>{i=!0,o=!0};for(let a=0;a=0;a--){const l=this.pointerEnteredHelper[a];hr(new yi("pointerenter",!1,e,this,i,l))}if(i!=null&&hr(new yi("pointermove",!0,e,this,i)),this.prevIntersection=this.intersection,this.prevEnabled=this.enabled,!this.wasMoved){this.wasMoved=!0;const a=this.onFirstMove.length;for(let l=0;li){a.set(e.button,e.timeStamp);return}hr(new yi("dblclick",!0,e,this,this.intersection)),a.delete(e.button)}cancel(e){if(this.enabled){if(!this.wasMoved){this.onFirstMove.push(this.cancel.bind(this,e));return}this.intersection!=null&&hr(new yi("pointercancel",!0,e,this,this.intersection))}}wheel(e,t,i){if(!this.enabled)return;let r=this.intersection;if(i||(r=this.computeIntersection(e,t,this.pointerCapture)),!this.wasMoved&&i){this.onFirstMove.push(this.cancel.bind(this,t));return}r!=null&&hr(new M4(t,this,r))}exit(e){var t;if(!this.wasMoved){this.onFirstMove.push(this.exit.bind(this,e));return}this.pointerCapture!=null&&((t=this.parentReleasePointerCapture)==null||t.call(this),this.pointerCapture=void 0),this.intersection=void 0,this.commit(e)}}function AI(n,e,t,i){if(n==null)return;const r=t.indexOf(n);r!=-1?t.splice(r,1):i.push(n),e.push(n),AI(n.parent,e,t,i)}function E4(n,e,t,i,r){if(e==null)return!1;const s=e.get(t);return!(s==null||i-s>r||s!=n.get(t))}function jA(n,e,t){return e.face==null?!1:(n.setFromNormalAndCoplanarPoint(e.face.normal,e.localPoint),n.applyMatrix4(t.matrixWorld),!0)}function w4(n,e,t,i,r,s){if(e==="none"||e==="listener"&&!n)return!1;if(t==="all")return!0;if(typeof t=="function")return t(i,r,s);let o,a;"deny"in t?(a=!0,o=t.deny):(a=!1,o=t.allow);let l;return Array.isArray(o)?l=o.includes(r):l=o===r,a?!l:l}function Sg(n,e,t,i,r,s=!1,o,a){const l=s||x4(n),c=n.pointerEvents??o??"listener",h=n.pointerEventsType??a??"all";w4(l,c,h,e,t,i)&&r(n);const p=n.children.length;for(let m=0;m0)&&(n=o)}return n}function T4(n,e){const{pointerEventsOrder:t=0}=n.object,{pointerEventsOrder:i=0}=e.object;return t!=i?i-t:n.distance-e.distance}const Cs=new uh,C4=new Ue,Hc=[];function R4(n,e,t,i,r,s,o,a){if(o!=null)return b4(n,e,o);let l;if(Sg(t,i,r,s,c=>{let h=0;const d=((l==null?void 0:l.details.lineIndex)??e.length-2)+2;for(let p=1;p0;i--){const r=e[i-1],s=e[i];if(ay.origin.copy(r).applyMatrix4(n),ay.direction.copy(s).applyMatrix4(n).sub(Cs.ray.origin).normalize(),ay.intersectPlane(t,Qw)!=null)return Qw.clone()}}const ly=new uh,uy=new L,qw=new kr,I4=new Ue,cy=[];function B4(n,e,t,i,r,s,o,a,l){if(a!=null)return L4(n,e,t,a);let c;if(ly.ray.origin.copy(n),ly.ray.direction.copy(t).applyQuaternion(e),Sg(i,r,s,o,h=>{h.raycast(ly,cy),c=KA(c,cy,l),cy.length=0}),c!=null)return Object.assign(c,{details:{type:"ray"},pointerPosition:n.clone(),pointerQuaternion:e.clone(),pointOnFace:c.point,localPoint:c.point.clone().applyMatrix4(I4.copy(c.object.matrixWorld).invert())})}const Zw=new Jo;function L4(n,e,t,{intersection:i,object:r}){if(i.details.type!="ray")return;uy.copy(t).applyQuaternion(e),Zw.set(n,uy),jA(qw,i,r);const s=Zw.intersectPlane(qw,new L)??i.point;return{...i,object:r,pointOnFace:s,point:uy.clone().multiplyScalar(i.distance).add(n),pointerPosition:n.clone(),pointerQuaternion:e.clone()}}const fy=new Rn,hy=[];function SI(n,e,t,i,r,s,o,a,l){if(a!=null)return N4(n,e,a);let c;if(fy.center.copy(n),fy.radius=t,Sg(i,r,s,o,h=>{F4(fy,h,hy),c=KA(c,hy,l),hy.length=0}),c!=null)return Object.assign(c,{details:{type:"sphere"},pointOnFace:c.point,pointerPosition:n.clone(),pointerQuaternion:e.clone(),localPoint:c.point.clone().applyMatrix4(Tm.copy(c.object.matrixWorld).invert())})}const Sp=new Ue;function D4(n){return"spherecast"in n}function F4(n,e,t){if(e.updateWorldMatrix(!0,!1),D4(e)){e.spherecast(n,t);return}if(e instanceof ih){e.geometry.boundingSphere==null&&e.geometry.computeBoundingSphere(),e.geometry.boundingBox==null&&e.geometry.computeBoundingBox();for(let r=0;rn.radius*n.radius)return;dy.max(U4);const o=Su.center.clone().sub(iT);o.divide(dy),O4(o);const a=Mp.clone();return{distance:Math.sqrt(s),face:{a:0,b:0,c:0,materialIndex:0,normal:o},normal:o,point:a,instanceId:i,object:e}}function O4(n){const e=Math.abs(n.x),t=Math.abs(n.y),i=Math.abs(n.z);if(e>=t&&e>=i){n.set(n.x<0?-1:1,0,0);return}if(t>=e&&t>=i){n.set(0,n.y<0?-1:1,0);return}n.set(0,0,n.z<0?-1:1)}const sx={radius:.07};function k4(n,e,t=sx,i="grab"){const r=new L,s=new jt,o=YA();return new JA(o,i,e,(a,l,c)=>{const h=n.current;if(h!=null)return h.updateWorldMatrix(!0,!1),r.setFromMatrixPosition(h.matrixWorld),s.setFromRotationMatrix(h.matrixWorld),SI(r,s,t.radius??sx.radius,a,o,i,e,c,t)},void 0,void 0,void 0,t)}const H4=new L(0,0,-1),Qc={direction:H4,minDistance:0,linePoints:null};function G4(n,e,t=Qc,i="ray"){const r=new L,s=new jt,o=YA();return new JA(o,i,e,(a,l,c)=>{const h=n.current;if(h==null)return;h.updateWorldMatrix(!0,!1);let d;const p=t.linePoints??Qc.linePoints;if(p==null?(r.setFromMatrixPosition(h.matrixWorld),s.setFromRotationMatrix(h.matrixWorld),d=B4(r,s,t.direction??Qc.direction,a,o,i,e,c,t)):d=R4(h.matrixWorld,p,a,o,i,e,c,t),d!=null&&!(d.distance<(t.minDistance??Qc.minDistance)))return d},void 0,void 0,void 0,t)}const Mu={button:0,downRadius:.03,hoverRadius:.1};function z4(n,e,t=Mu,i="touch"){const r=new L,s=new jt,o=YA();return new JA(o,i,e,(a,l,c)=>{const h=n.current;if(h!=null)return h.updateWorldMatrix(!0,!1),r.setFromMatrixPosition(h.matrixWorld),s.setFromRotationMatrix(h.matrixWorld),SI(r,s,t.hoverRadius??Mu.hoverRadius,a,o,i,e,c,t)},V4(t),void 0,void 0,t)}function V4(n=Mu){let e=!1;return t=>{if(!t.getEnabled())return;const i=t.getIntersection(),r=W4(i,n.downRadius??Mu.downRadius);if(r===e)return;const s={timeStamp:performance.now(),button:n.button??Mu.button};r?t.down(s):t.up(s),e=r}}function W4(n,e){return n==null?!1:n.distance<=e}let X4=23412;function YA(){return X4++}new L;new ue;let J4=class{constructor(){_t(this,"pointers",[]);_t(this,"isDefaults",[]);_t(this,"enabled",!0)}register(e,t){return this.pointers.push(e),this.isDefaults.push(t),this.unregister.bind(this,e)}unregister(e){const t=this.pointers.indexOf(e);t!==-1&&(this.isDefaults.splice(t,1),this.pointers.splice(t,1))}move(e,t){var o,a;if(!this.enabled)return;const i=this.pointers.length;if(i===0)return;for(let l=0;l=n.lastChangedTime)return e;const t=new rt;return t.setIndex(new it(n.indices,1)),t.setAttribute("position",new it(n.vertices,3)),Object.assign(t,{creationTime:n.lastChangedTime})}function oT(n,e){return e!=null&&e.createdAt!=null&&e.createdAt>=n.lastChangedTime?e:Object.assign(j4(n.polygon),{createdAt:n.lastChangedTime})}const Gc=new OP,Ep=new ue;function j4(n){const e=new Uo,t=n.map(({x:r,z:s})=>new ue(r,s));Gc.setFromPoints(t),Gc.getSize(Ep);for(const r of t)r.sub(Gc.min),r.divide(Ep);e.setFromPoints(t);const i=new ah(e);return i.scale(Ep.x,Ep.y,1),i.translate(Gc.min.x,Gc.min.y,0),i.rotateX(Math.PI/2),i}new L;new L;new L;var K4=Object.defineProperty,Y4=(n,e,t)=>e in n?K4(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Nt=(n,e,t)=>(Y4(n,typeof e!="symbol"?e+"":e,t),t);function py(n,e,t,i,r){let s;if(n=n.subarray||n.slice?n:n.buffer,t=t.subarray||t.slice?t:t.buffer,n=e?n.subarray?n.subarray(e,r&&e+r):n.slice(e,r&&e+r):n,t.set)t.set(n,i);else for(s=0;s{const t=Array.isArray(e);return e instanceof L?[e.x,e.y,e.z]:e instanceof ue?[e.x,e.y,0]:t&&e.length===3?[e[0],e[1],e[2]]:t&&e.length===2?[e[0],e[1],0]:e}).flat()}class q4 extends rt{constructor(){super(),Nt(this,"type","MeshLine"),Nt(this,"isMeshLine",!0),Nt(this,"positions",[]),Nt(this,"previous",[]),Nt(this,"next",[]),Nt(this,"side",[]),Nt(this,"width",[]),Nt(this,"indices_array",[]),Nt(this,"uvs",[]),Nt(this,"counters",[]),Nt(this,"widthCallback",null),Nt(this,"_attributes"),Nt(this,"_points",[]),Nt(this,"points"),Nt(this,"matrixWorld",new Ue),Object.defineProperties(this,{points:{enumerable:!0,get(){return this._points},set(e){this.setPoints(e,this.widthCallback)}}})}setMatrixWorld(e){this.matrixWorld=e}setPoints(e,t){if(e=Q4(e),this._points=e,this.widthCallback=t??null,this.positions=[],this.counters=[],e.length&&e[0]instanceof L)for(let i=0;i0&&(i=this.copyV3(r),this.next.push(i[0],i[1],i[2]),this.next.push(i[0],i[1],i[2]))}this.compareV3(e-1,0)?i=this.copyV3(1):i=this.copyV3(e-1),this.next.push(i[0],i[1],i[2]),this.next.push(i[0],i[1],i[2]),!this._attributes||this._attributes.position.count!==this.counters.length?this._attributes={position:new it(new Float32Array(this.positions),3),previous:new it(new Float32Array(this.previous),3),next:new it(new Float32Array(this.next),3),side:new it(new Float32Array(this.side),1),width:new it(new Float32Array(this.width),1),uv:new it(new Float32Array(this.uvs),2),index:new it(new Uint16Array(this.indices_array),1),counters:new it(new Float32Array(this.counters),1)}:(this._attributes.position.copyArray(new Float32Array(this.positions)),this._attributes.position.needsUpdate=!0,this._attributes.previous.copyArray(new Float32Array(this.previous)),this._attributes.previous.needsUpdate=!0,this._attributes.next.copyArray(new Float32Array(this.next)),this._attributes.next.needsUpdate=!0,this._attributes.side.copyArray(new Float32Array(this.side)),this._attributes.side.needsUpdate=!0,this._attributes.width.copyArray(new Float32Array(this.width)),this._attributes.width.needsUpdate=!0,this._attributes.uv.copyArray(new Float32Array(this.uvs)),this._attributes.uv.needsUpdate=!0,this._attributes.index.copyArray(new Uint16Array(this.indices_array)),this._attributes.index.needsUpdate=!0),this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setIndex(this._attributes.index),this.computeBoundingSphere(),this.computeBoundingBox()}advance({x:e,y:t,z:i}){const r=this._attributes.position.array,s=this._attributes.previous.array,o=this._attributes.next.array,a=r.length;py(r,0,s,0,a),py(r,6,r,0,a-6),r[a-6]=e,r[a-5]=t,r[a-4]=i,r[a-3]=e,r[a-2]=t,r[a-1]=i,py(r,6,o,0,a-6),o[a-6]=e,o[a-5]=t,o[a-4]=i,o[a-3]=e,o[a-2]=t,o[a-1]=i,this._attributes.position.needsUpdate=!0,this._attributes.previous.needsUpdate=!0,this._attributes.next.needsUpdate=!0}}const Z4=` + #include + #include + #include + #include + + attribute vec3 previous; + attribute vec3 next; + attribute float side; + attribute float width; + attribute float counters; + + uniform vec2 resolution; + uniform float lineWidth; + uniform vec3 color; + uniform float opacity; + uniform float sizeAttenuation; + + varying vec2 vUV; + varying vec4 vColor; + varying float vCounters; + + vec2 fix(vec4 i, float aspect) { + vec2 res = i.xy / i.w; + res.x *= aspect; + return res; + } + + void main() { + float aspect = resolution.x / resolution.y; + vColor = vec4(color, opacity); + vUV = uv; + vCounters = counters; + + mat4 m = projectionMatrix * modelViewMatrix; + vec4 finalPosition = m * vec4(position, 1.0) * aspect; + vec4 prevPos = m * vec4(previous, 1.0); + vec4 nextPos = m * vec4(next, 1.0); + + vec2 currentP = fix(finalPosition, aspect); + vec2 prevP = fix(prevPos, aspect); + vec2 nextP = fix(nextPos, aspect); + + float w = lineWidth * width; + + vec2 dir; + if (nextP == currentP) dir = normalize(currentP - prevP); + else if (prevP == currentP) dir = normalize(nextP - currentP); + else { + vec2 dir1 = normalize(currentP - prevP); + vec2 dir2 = normalize(nextP - currentP); + dir = normalize(dir1 + dir2); + + vec2 perp = vec2(-dir1.y, dir1.x); + vec2 miter = vec2(-dir.y, dir.x); + //w = clamp(w / dot(miter, perp), 0., 4. * lineWidth * width); + } + + //vec2 normal = (cross(vec3(dir, 0.), vec3(0., 0., 1.))).xy; + vec4 normal = vec4(-dir.y, dir.x, 0., 1.); + normal.xy *= .5 * w; + //normal *= projectionMatrix; + if (sizeAttenuation == 0.) { + normal.xy *= finalPosition.w; + normal.xy /= (vec4(resolution, 0., 1.) * projectionMatrix).xy * aspect; + } + + finalPosition.xy += normal.xy * side; + gl_Position = finalPosition; + #include + #include + vec4 mvPosition = modelViewMatrix * vec4(position, 1.0); + #include + #include + } +`,$4=parseInt(zu.replace(/\D+/g,"")),eV=$4>=154?"colorspace_fragment":"encodings_fragment",tV=` + #include + #include + #include + + uniform sampler2D map; + uniform sampler2D alphaMap; + uniform float useGradient; + uniform float useMap; + uniform float useAlphaMap; + uniform float useDash; + uniform float dashArray; + uniform float dashOffset; + uniform float dashRatio; + uniform float visibility; + uniform float alphaTest; + uniform vec2 repeat; + uniform vec3 gradient[2]; + + varying vec2 vUV; + varying vec4 vColor; + varying float vCounters; + + void main() { + #include + vec4 diffuseColor = vColor; + if (useGradient == 1.) diffuseColor = vec4(mix(gradient[0], gradient[1], vCounters), 1.0); + if (useMap == 1.) diffuseColor *= texture2D(map, vUV * repeat); + if (useAlphaMap == 1.) diffuseColor.a *= texture2D(alphaMap, vUV * repeat).a; + if (diffuseColor.a < alphaTest) discard; + if (useDash == 1.) diffuseColor.a *= ceil(mod(vCounters + dashOffset, dashArray) - (dashArray * dashRatio)); + diffuseColor.a *= step(vCounters, visibility); + #include + gl_FragColor = diffuseColor; + #include + #include + #include <${eV}> + } +`;class nV extends Er{constructor(e){super({uniforms:{...be.fog,lineWidth:{value:1},map:{value:null},useMap:{value:0},alphaMap:{value:null},useAlphaMap:{value:0},color:{value:new we(16777215)},gradient:{value:[new we(16711680),new we(65280)]},opacity:{value:1},resolution:{value:new ue(1,1)},sizeAttenuation:{value:1},dashArray:{value:0},dashOffset:{value:0},dashRatio:{value:.5},useDash:{value:0},useGradient:{value:0},visibility:{value:1},alphaTest:{value:0},repeat:{value:new ue(1,1)}},vertexShader:Z4,fragmentShader:tV}),Nt(this,"lineWidth"),Nt(this,"map"),Nt(this,"useMap"),Nt(this,"alphaMap"),Nt(this,"useAlphaMap"),Nt(this,"color"),Nt(this,"gradient"),Nt(this,"resolution"),Nt(this,"sizeAttenuation"),Nt(this,"dashArray"),Nt(this,"dashOffset"),Nt(this,"dashRatio"),Nt(this,"useDash"),Nt(this,"useGradient"),Nt(this,"visibility"),Nt(this,"repeat"),this.type="MeshLineMaterial",Object.defineProperties(this,{lineWidth:{enumerable:!0,get(){return this.uniforms.lineWidth.value},set(t){this.uniforms.lineWidth.value=t}},map:{enumerable:!0,get(){return this.uniforms.map.value},set(t){this.uniforms.map.value=t}},useMap:{enumerable:!0,get(){return this.uniforms.useMap.value},set(t){this.uniforms.useMap.value=t}},alphaMap:{enumerable:!0,get(){return this.uniforms.alphaMap.value},set(t){this.uniforms.alphaMap.value=t}},useAlphaMap:{enumerable:!0,get(){return this.uniforms.useAlphaMap.value},set(t){this.uniforms.useAlphaMap.value=t}},color:{enumerable:!0,get(){return this.uniforms.color.value},set(t){this.uniforms.color.value=t}},gradient:{enumerable:!0,get(){return this.uniforms.gradient.value},set(t){this.uniforms.gradient.value=t}},opacity:{enumerable:!0,get(){return this.uniforms.opacity.value},set(t){this.uniforms.opacity.value=t}},resolution:{enumerable:!0,get(){return this.uniforms.resolution.value},set(t){this.uniforms.resolution.value.copy(t)}},sizeAttenuation:{enumerable:!0,get(){return this.uniforms.sizeAttenuation.value},set(t){this.uniforms.sizeAttenuation.value=t}},dashArray:{enumerable:!0,get(){return this.uniforms.dashArray.value},set(t){this.uniforms.dashArray.value=t,this.useDash=t!==0?1:0}},dashOffset:{enumerable:!0,get(){return this.uniforms.dashOffset.value},set(t){this.uniforms.dashOffset.value=t}},dashRatio:{enumerable:!0,get(){return this.uniforms.dashRatio.value},set(t){this.uniforms.dashRatio.value=t}},useDash:{enumerable:!0,get(){return this.uniforms.useDash.value},set(t){this.uniforms.useDash.value=t}},useGradient:{enumerable:!0,get(){return this.uniforms.useGradient.value},set(t){this.uniforms.useGradient.value=t}},visibility:{enumerable:!0,get(){return this.uniforms.visibility.value},set(t){this.uniforms.visibility.value=t}},alphaTest:{enumerable:!0,get(){return this.uniforms.alphaTest.value},set(t){this.uniforms.alphaTest.value=t}},repeat:{enumerable:!0,get(){return this.uniforms.repeat.value},set(t){this.uniforms.repeat.value.copy(t)}}}),this.setValues(e)}copy(e){return super.copy(e),this.lineWidth=e.lineWidth,this.map=e.map,this.useMap=e.useMap,this.alphaMap=e.alphaMap,this.useAlphaMap=e.useAlphaMap,this.color.copy(e.color),this.gradient=e.gradient,this.opacity=e.opacity,this.resolution.copy(e.resolution),this.sizeAttenuation=e.sizeAttenuation,this.dashArray=e.dashArray,this.dashOffset=e.dashOffset,this.dashRatio=e.dashRatio,this.useDash=e.useDash,this.useGradient=e.useGradient,this.visibility=e.visibility,this.alphaTest=e.alphaTest,this.repeat.copy(e.repeat),this}}const zc=new ki(0,0,0,"YXZ"),wp=new jt;function iV(n,e,t){n.matrixWorld.decompose(e.position,wp,e.scale),zc.setFromQuaternion(wp),zc.z=0,zc.x=Kp(zc.x-10*Math.PI/180,-Math.PI/2,1.1*Math.PI/4),wp.setFromEuler(zc),e.quaternion.slerp(wp,t/100)}function rV(n){return n.userData.teleportTarget===!0}function sV(n={}){return e=>!(!rV(e.object)||n.customFilter!=null&&!n.customFilter(e))}function oV(){return new rg(new L(0,0,0),new L(0,0,-8),new L(0,-20,-15)).getPoints(20)}let aV=class extends Jt{constructor(t){const i=new q4,r=new Float32Array(t.length*3);for(let a=0;aa.distanceTo(t[l+1]))}update(t){if(!t.getEnabled()||t.getButtonsDown().size===0){this.visible=!1;return}this.visible=!0;const r=t.getIntersection();if((r==null?void 0:r.details.type)!="lines"){this.material.visibility=this.multiplier;return}const{distanceOnLine:s,lineIndex:o}=r.details,a=this.lineLengths[o];this.material.visibility=this.multiplier*(o+s/a)/this.lineLengths.length;const{color:l="white",opacity:c=.4,size:h=.01}=this.options;this.material.lineWidth=h,this.material.opacity=typeof c=="function"?c(t):c;const d=typeof l=="function"?l(t):l;Array.isArray(d)?this.material.color.set(...d):this.material.color.set(d),console.log(this.material.visibility,this.multiplier,o,a,s,this.lineLengths.length)}};const MI=new qG,EI="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles/",lV="generic-trigger";class uV{constructor(e){_t(this,"baseAssetPath");_t(this,"defaultProfileId");_t(this,"profilesListPromise");_t(this,"profilePromisesMap",new Map);_t(this,"loadAsync",this.load);this.baseAssetPath=(e==null?void 0:e.baseAssetPath)??EI,this.defaultProfileId=(e==null?void 0:e.defaultControllerProfileId)??lV}async load(e,t){const i=await this.loadProfile(e);for(const r in i.layouts)if(r.includes(t))return i.layouts[r];throw new Error(`No matching layout for "${t}", in profile ${i.profileId} with layouts ${Object.keys(i.layouts).join(", ")}.`)}async loadProfile(e){this.profilesListPromise??(this.profilesListPromise=aT(new URL("profilesList.json",this.baseAssetPath).href));const t=await this.profilesListPromise,i=e.length;for(let s=0;s{const i=Y.useRef(null);return Y.useImperativeHandle(t,()=>i.current,[]),dV(i,n,(r,s,o)=>{i.current!=null&&(i.current.visible=o!=null)}),$.jsx("group",{visible:!1,matrixAutoUpdate:!1,ref:i,children:$.jsx(Mg.Provider,{value:n,children:e})})});function bI(){const n=Y.useContext(Mg);if(n==null)throw new Error("XR objects must be placed inside the XROrigin");return n}function hV(n){const e=bI();return Y.useMemo(()=>i4(n,e),[n,e])}function dV(n,e,t){const i=hV(e);Ti((r,s,o)=>{n.current!=null&&(i(n.current.matrix,o),t==null||t(r,s,o))},-100)}var PI={exports:{}},II={},BI={exports:{}},LI={};/** + * @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 Ou=Y;function pV(n,e){return n===e&&(n!==0||1/n===1/e)||n!==n&&e!==e}var mV=typeof Object.is=="function"?Object.is:pV,gV=Ou.useState,vV=Ou.useEffect,yV=Ou.useLayoutEffect,_V=Ou.useDebugValue;function xV(n,e){var t=e(),i=gV({inst:{value:t,getSnapshot:e}}),r=i[0].inst,s=i[1];return yV(function(){r.value=t,r.getSnapshot=e,my(r)&&s({inst:r})},[n,t,e]),vV(function(){return my(r)&&s({inst:r}),n(function(){my(r)&&s({inst:r})})},[n]),_V(t),t}function my(n){var e=n.getSnapshot;n=n.value;try{var t=e();return!mV(n,t)}catch{return!0}}function AV(n,e){return e()}var SV=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?AV:xV;LI.useSyncExternalStore=Ou.useSyncExternalStore!==void 0?Ou.useSyncExternalStore:SV;BI.exports=LI;var MV=BI.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 Eg=Y,EV=MV;function wV(n,e){return n===e&&(n!==0||1/n===1/e)||n!==n&&e!==e}var TV=typeof Object.is=="function"?Object.is:wV,CV=EV.useSyncExternalStore,RV=Eg.useRef,bV=Eg.useEffect,PV=Eg.useMemo,IV=Eg.useDebugValue;II.useSyncExternalStoreWithSelector=function(n,e,t,i,r){var s=RV(null);if(s.current===null){var o={hasValue:!1,value:null};s.current=o}else o=s.current;s=PV(function(){function l(m){if(!c){if(c=!0,h=m,m=i(m),r!==void 0&&o.hasValue){var y=o.value;if(r(y,m))return d=y}return d=m}if(y=d,TV(h,m))return y;var S=i(m);return r!==void 0&&r(y,S)?y:(h=m,d=S)}var c=!1,h,d,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=CV(n,s[0],s[1]);return bV(function(){o.hasValue=!0,o.value=a},[a]),IV(a),a};PI.exports=II;var BV=PI.exports;const LV=Rm(BV);var DV={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{useDebugValue:FV}=nL,{useSyncExternalStoreWithSelector:NV}=LV;let lT=!1;const UV=n=>n;function DI(n,e=UV,t){(DV?"production":void 0)!=="production"&&t&&!lT&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),lT=!0);const i=NV(n.subscribe,n.getState,n.getServerState||n.getInitialState,e,t);return FV(i),i}let OV=0;const uT=new Map;function al(n){let e=uT.get(n);return e==null&&uT.set(n,e=OV++),e}function kV(){return qn(n=>n.visibilityState)}function HV(n,e){const t=Y.useRef(e);t.current=e;const[i,r]=Y.useMemo(()=>{let s;return[o=>{let a=!1;return navigator.xr==null?(s=!1,()=>{}):(navigator.xr.isSessionSupported(n).then(l=>{s=l,!a&&o()}).catch(l=>{var c;a||(c=t.current)==null||c.call(t,l)}),()=>a=!0)},()=>s]},[n]);return Y.useSyncExternalStore(i,r)}function QA(n){const e=Y.useContext(ds);if(e==null||e.type!="hand")throw new Error('useXRHandState() can only be used inside a or with using useXRHandState("left")');return e}const GV=Symbol("loadXRHandModel"),FI=Y.forwardRef((n,e)=>{const t=QA(),i=GA(Oz,[t.assetPath,void 0,GV]);kz(i,n),Y.useImperativeHandle(e,()=>i,[i]);const r=bI(),s=Y.useMemo(()=>Vz(t.inputSource.hand,i,r),[t.inputSource,i,r]);return Ti((o,a,l)=>s(l)),$.jsx("primitive",{object:i})});Y.forwardRef(({joint:n,children:e},t)=>{const i=QA();return $.jsx(Tr,{ref:t,space:()=>i.inputSource.hand.get(n),children:e})});function NI({children:n}){const e=Y.useMemo(()=>new J4,[]);return OI(e),Ti(t=>e.move(t.scene,{timeStamp:performance.now()}),-50),$.jsx(RI.Provider,{value:e,children:n})}function zV(n,e,t,i){const r=Y.useMemo(()=>({}),[]);Object.assign(r,sx,t);const s=Y.useMemo(()=>k4(n,e,r,i),[n,e,r,i]);return ZA(s,t==null?void 0:t.makeDefault),s}function UI(n,e,t,i){const r=Y.useMemo(()=>({}),[]);Object.assign(r,Qc,t);const s=Y.useMemo(()=>G4(n,e,r,i),[n,e,r,i]);return ZA(s,t==null?void 0:t.makeDefault),s}function VV(n,e,t,i){const r=Y.useMemo(()=>({}),[]);Object.assign(r,Mu,t);const s=Y.useMemo(()=>z4(n,e,r,i),[n,e,r,i]);return ZA(s,t==null?void 0:t.makeDefault),s}const WV=Y.forwardRef((n,e)=>{const t=Y.useMemo(()=>new Zz,[]),i=Y.useRef(null);return Y.useImperativeHandle(e,()=>i.current,[]),Ti(()=>i.current!=null&&$z(i.current,t,n.pointer,n)),$.jsx("mesh",{matrixAutoUpdate:!1,renderOrder:n.renderOrder??2,ref:i,material:t,children:$.jsx("boxGeometry",{})})}),wg=Y.forwardRef((n,e)=>{const t=Y.useMemo(()=>new Yz,[]),i=Y.useRef(null);Y.useImperativeHandle(e,()=>i.current,[]),Ti(()=>i.current!=null&&qz(i.current,t,n.pointer,n));const r=Fu(s=>s.scene);return VA($.jsx("mesh",{renderOrder:n.renderOrder??1,ref:i,matrixAutoUpdate:!1,material:t,children:$.jsx("planeGeometry",{})}),r)});function qA(n,e,t,i){const r=qn(s=>s.session);Y.useEffect(()=>{if(r!=null)return e4(n,r,e,t)},[t,e,n,r,i])}function ZA(n,e=!1){const t=Y.useContext(RI);t==null?(OI(n),Ti(i=>n.move(i.scene,{timeStamp:performance.now()}),-50)):Y.useEffect(()=>t.register(n,e),[t,n,e]),Y.useEffect(()=>()=>n.exit({timeStamp:performance.now()}),[n])}function OI(n){const e=zI();Y.useEffect(()=>Kz(e,t=>n.setEnabled(t,{timeStamp:performance.now()})),[e,n])}const XV=Y.forwardRef(({pointer:n,linePoints:e,...t},i)=>{const r=Y.useMemo(()=>new aV(e),[e]);return Y.useImperativeHandle(i,()=>r,[r]),r.options=t,Ti(()=>r.update(n)),$.jsx("primitive",{object:r})});function kI(n,e,t){const i=Y.useContext(ds);if(i==null)throw new Error("DefaultXRInputSourceGrabPointer can only be used inside a XRInputSource");const r=Y.useRef(null),s=zV(r,i,t);qA(s,i.inputSource,n);const o=t.cursorModel;return $.jsx(Tr,{ref:r,space:e(i.inputSource),children:o!==!1&&$.jsx(wg,{pointer:s,opacity:t4,...jn(o)})})}const JV=kI.bind(null,"select",n=>()=>n.hand.get("index-finger-tip")),jV=kI.bind(null,"squeeze",n=>n.gripSpace);function dh(n){const e=Y.useContext(ds);if(e==null)throw new Error("DefaultXRInputSourceRayPointer can only be used inside a XRInputSource");const t=Y.useRef(null),i=UI(t,e,n);qA(i,e.inputSource,"select");const r=n.rayModel,s=n.cursorModel;return $.jsxs(Tr,{ref:t,space:e.inputSource.targetRaySpace,children:[r!==!1&&$.jsx(WV,{pointer:i,opacity:wm,...jn(r)}),s!==!1&&$.jsx(wg,{pointer:i,opacity:wm,...jn(s)})]})}function KV(n){const e=QA(),t=Y.useRef(null),i=VV(t,e,n),r=n.cursorModel;return $.jsx(Tr,{ref:t,space:()=>e.inputSource.hand.get("index-finger-tip"),children:r!==!1&&$.jsx(wg,{pointer:i,opacity:n4,...jn(r)})})}function YV(n){const e=n.model,t=n.grabPointer,i=n.rayPointer,r=n.teleportPointer??!1;return $.jsxs($.Fragment,{children:[e!==!1&&$.jsx(Y.Suspense,{children:$.jsx(h9,{...jn(e)})}),$.jsxs(NI,{children:[t!==!1&&$.jsx(jV,{...jn(t)}),i!==!1&&$.jsx(dh,{makeDefault:!0,minDistance:.2,...jn(i)}),r!==!1&&$.jsx(HI,{...jn(r)})]})]})}function QV(n){var a;const e=n.model,t=n.grabPointer,i=n.rayPointer,r=n.touchPointer,s=n.teleportPointer??!1,o=i===!1?!1:(a=jn(i))==null?void 0:a.rayModel;return $.jsxs($.Fragment,{children:[e!==!1&&$.jsx(Y.Suspense,{children:$.jsx(FI,{...jn(e)})}),$.jsxs(NI,{children:[t!==!1&&$.jsx(JV,{...jn(t)}),r!==!1&&$.jsx(KV,{...jn(r)}),i!==!1&&$.jsx(dh,{makeDefault:!0,minDistance:.2,...jn(i),rayModel:o===!1?!1:{maxLength:.2,...jn(o)}}),s!==!1&&$.jsx(HI,{...jn(s)})]})]})}function qV(n){return $.jsx(dh,{...n,rayModel:!1})}function ZV(n){return $.jsx(dh,{...n,rayModel:!1})}function $V(n){return $.jsx(dh,{...n,cursorModel:!1,rayModel:!1})}function HI(n){const e=Y.useContext(ds);if(e==null)throw new Error("DefaultXRInputSourceRayPointer can only be used inside a XRInputSource");const t=Y.useRef(null),i=Y.useRef(null),r=Y.useMemo(()=>oV(),[]),s=UI(i,e,{...n,linePoints:r,customFilter:sV(n)},"teleport");qA(s,e.inputSource,"select");const o=n.rayModel,a=n.cursorModel,l=Fu(h=>h.scene),c=Y.useRef(null);return Ti((h,d)=>{c.current!=null&&(c.current.visible=s.getEnabled()&&s.getButtonsDown().size>0);const p=i.current,m=t.current;p==null||m==null||iV(m,p,d*1e3)}),$.jsxs($.Fragment,{children:[$.jsx(Tr,{ref:t,space:e.inputSource.targetRaySpace}),VA($.jsxs("group",{ref:i,children:[o!==!1&&$.jsx(XV,{linePoints:r,pointer:s,opacity:wm,...jn(o)}),a!==!1&&$.jsx(wg,{ref:c,pointer:s,opacity:wm,...jn(a)})]}),l)]})}function jn(n){if(n!==!0)return n}function e9({children:n}){const e=Fu(a=>a.gl.xr),t=qn(a=>a.origin),i=Y.useCallback(()=>e.getReferenceSpace(),[e]),r=kV()==="visible",s=fh(),o=Y.useMemo(()=>Object.assign({},s,{getState(){return{...s.getState(),scene:t}}}),[t,s]);return t==null?null:$.jsx($.Fragment,{children:Uu.createPortal($.jsx(Ag.Provider,{value:s,children:$.jsxs(Mg.Provider,{value:i,children:[$.jsxs("group",{matrixAutoUpdate:!1,visible:r,children:[$.jsx(t9,{}),$.jsx(n9,{}),$.jsx(i9,{}),$.jsx(r9,{}),$.jsx(s9,{})]}),$.jsx(o9,{}),$.jsx(a9,{}),n]})}),o,null)})}function t9(){const n=qn(t=>t.controllerStates);let e=qn(t=>t.controller);return e===!1?null:$.jsx($.Fragment,{children:n.map(t=>{const i=Eo(e,t.inputSource.handedness,{});return i===!1?null:$.jsx(Tr,{space:t.inputSource.gripSpace,children:$.jsx(ds.Provider,{value:t,children:$.jsx(Y.Suspense,{children:typeof i=="function"?$.jsx(i,{}):$.jsx(YV,{...i})})})},al(t))})})}function n9(){const n=qn(t=>t.handStates),e=qn(t=>t.hand);return e===!1?null:$.jsx($.Fragment,{children:n.map(t=>{const i=Eo(e,t.inputSource.handedness,{});return i===!1?null:$.jsx(Tr,{space:()=>t.inputSource.hand.get("wrist"),children:$.jsx(ds.Provider,{value:t,children:$.jsx(Y.Suspense,{children:typeof i=="function"?$.jsx(i,{}):$.jsx(QV,{...i})})})},al(t))})})}function i9(){const n=qn(t=>t.transientPointerStates),e=qn(t=>t.transientPointer);return e===!1?null:$.jsx($.Fragment,{children:n.map(t=>{const i=Eo(e,t.inputSource.handedness,{});return i===!1?null:$.jsx(Tr,{space:()=>t.inputSource.targetRaySpace,children:$.jsx(ds.Provider,{value:t,children:$.jsx(Y.Suspense,{children:typeof i=="function"?$.jsx(i,{}):$.jsx(qV,{...i})})})},al(t))})})}function r9(){const n=qn(t=>t.gazeStates),e=qn(t=>t.gaze);return e===!1?null:$.jsx($.Fragment,{children:n.map(t=>$.jsx(Tr,{space:()=>t.inputSource.targetRaySpace,children:$.jsx(ds.Provider,{value:t,children:$.jsx(Y.Suspense,{children:typeof e=="function"?$.jsx(e,{}):$.jsx(ZV,{...GI(e)})})})},al(t)))})}function s9(){const n=qn(t=>t.screenInputStates),e=qn(t=>t.screenInput);return e===!1?null:$.jsx($.Fragment,{children:n.map(t=>$.jsx(Tr,{space:()=>t.inputSource.targetRaySpace,children:$.jsx(ds.Provider,{value:t,children:$.jsx(Y.Suspense,{children:typeof e=="function"?$.jsx(e,{}):$.jsx($V,{...GI(e)})})})},al(t)))})}function GI(n){if(n!==!0)return n}function o9(){const n=qn(t=>t.detectedMeshes),e=qn(t=>t.detectedMesh);if(e!==!1)return $.jsx($.Fragment,{children:n.map(t=>{const i=mI(e,t.semanticLabel,!1);return i===!1?null:$.jsx(Tr,{space:t.meshSpace,children:$.jsx(TI.Provider,{value:t,children:$.jsx(Y.Suspense,{children:$.jsx(i,{})})})},al(t))})})}function a9(){const n=qn(t=>t.detectedPlanes),e=qn(t=>t.detectedPlane);if(e!=null)return $.jsx($.Fragment,{children:n.map(t=>{const i=mI(e,t.semanticLabel,!1);return i===!1?null:$.jsx(Tr,{space:t.planeSpace,children:$.jsx(CI.Provider,{value:t,children:$.jsx(Y.Suspense,{children:$.jsx(i,{})})})},al(t))})})}function l9(n){return l4(n)}function u9({children:n,store:e}){e.setWebXRManager(Fu(i=>i.gl.xr));const t=fh();return Y.useEffect(()=>{let i;return e.subscribe((r,s)=>{const o=r.mode!=null,a=s.mode!=null;if(o!==a){if(o){const{camera:l,gl:c}=t.getState();i=l,t.setState({camera:c.xr.getCamera()});return}i!=null&&t.setState({camera:i})}})},[t,e]),Ti((i,r,s)=>e.onBeforeFrame(i.scene,i.camera,s),-1e3),$.jsxs(wI.Provider,{value:e,children:[$.jsx(e9,{}),n]})}function zI(){const n=Y.useContext(wI);if(n==null)throw new Error("XR features can only be used inside the component");return n}function qn(n=e=>e){return DI(zI(),n)}Y.forwardRef(({id:n,children:e,onPress:t,onRelease:i},r)=>{const s=$A(),[o,a]=Y.useState(void 0);if(Y.useImperativeHandle(r,()=>o,[o]),c9(n,l=>l==="pressed"?t==null?void 0:t():i==null?void 0:i()),Ti(()=>{var l;return a((l=s.gamepad[n])==null?void 0:l.object)}),o!=null)return VA(e,o)});function c9(n,e,t){const i=$A(),r=Y.useRef();Ti(()=>{var o;const s=(o=i==null?void 0:i.gamepad[n])==null?void 0:o.state;s!=null&&s!=r.current&&e(s),r.current=s})}function $A(n){const e=Y.useContext(ds);if(e==null||e.type!="controller")throw new Error('useXRControllerState() can only be used inside a or using useXRControllerState("left")');return e}const f9=Symbol("loadXRControllerModel"),h9=Y.forwardRef((n,e)=>{const t=$A(),i=GA(m4,[t.layout,void 0,f9]);g4(i,n),t.object=i,Y.useImperativeHandle(e,()=>i,[i]);const r=Y.useMemo(()=>v4(i,t.layout,t.gamepad),[i,t.layout,t.gamepad]);return Ti(r),$.jsx("primitive",{object:i})});Y.forwardRef((n,e)=>{const t=d9(),i=p9(t);return $.jsx("mesh",{ref:e,geometry:i,...n})});function d9(){const n=Y.useContext(TI);if(n==null)throw new Error("useXRMesh can only be used inside XRMesh or ForEachXRMesh");return n}function p9(n,e=!0){const[t,i]=Y.useState(sT(n,void 0));return Ti(()=>i(r=>sT(n,r))),Y.useEffect(()=>{if(e)return()=>t.dispose()},[t]),t}Y.forwardRef((n,e)=>{const t=m9(),i=g9(t);return $.jsx("mesh",{ref:e,geometry:i,...n})});function m9(){const n=Y.useContext(CI);if(n==null)throw new Error("useXRPlane can only be used inside XRPlane or ForEachXRPlane");return n}function g9(n,e=!0){const[t,i]=Y.useState(oT(n,void 0));return Ti(()=>i(r=>oT(n,r))),Y.useEffect(()=>{if(e)return()=>t.dispose()},[t]),t}Y.forwardRef(({children:n,...e},t)=>{const i=Fu(o=>o.gl.xr.getCamera()),r=Fu(o=>o.gl.xr),s=Y.useCallback(()=>r.getReferenceSpace(),[r]);return $.jsxs("group",{ref:t,...e,children:[$.jsx("primitive",{object:i}),$.jsx(Mg.Provider,{value:s,children:n})]})});const VI=Y.forwardRef(({store:n,mode:e,onError:t,options:i,children:r,...s},o)=>{const a=DI(n,c=>c.session),l=HV(e,t);return $.jsx("button",{ref:o,...s,onClick:()=>a!=null?a.end():n.enterXR(e,i).catch(t),children:typeof r=="function"?r(l?a!=null?"entered":"exited":"unsupported"):r})});Y.forwardRef((n,e)=>$.jsx(VI,{ref:e,mode:"immersive-ar",...n}));Y.forwardRef((n,e)=>$.jsx(VI,{ref:e,mode:"immersive-vr",...n}));const v9={onBlur:"pointerleave",onHover:"pointerenter",onMove:"pointermove",onSelect:{type:"click",filter:n=>n.pointerType==="ray"},onSelectEnd:{type:"pointerup",filter:n=>n.pointerType==="ray"},onSelectStart:{type:"pointerdown",filter:n=>n.pointerType==="ray"},onSqueeze:{type:"click",filter:n=>n.pointerType==="grab"},onSqueezeEnd:{type:"pointerup",filter:n=>n.pointerType==="grab"},onSqueezeStart:{type:"pointerdown",filter:n=>n.pointerType==="grab"}};function Ts(n,e,t){const i=Y.useRef(t);i.current=t,Y.useEffect(()=>{const{current:r}=n;if(r==null)return;const s=v9[e],o=typeof s=="string"?l=>{var c;return(c=i.current)==null?void 0:c.call(i,{intersection:l,intersections:[l],target:l.pointerState})}:l=>{var c;l instanceof yi&&!s.filter(l)||(c=i.current)==null||c.call(i,{intersection:l,intersections:[l],target:l.pointerState})},a=typeof s=="string"?s:s.type;return r.addEventListener(a,o),()=>r.removeEventListener(a,o)},[n,e])}const y9=Y.forwardRef(({onHover:n,onBlur:e,onSelectStart:t,onSelectEnd:i,onSelect:r,onSqueezeStart:s,onSqueezeEnd:o,onSqueeze:a,onMove:l,children:c},h)=>{const d=Y.useRef(null);return Y.useImperativeHandle(h,()=>d.current),Ts(d,"onHover",n),Ts(d,"onBlur",e),Ts(d,"onSelectStart",t),Ts(d,"onSelectEnd",i),Ts(d,"onSelect",r),Ts(d,"onSqueezeStart",s),Ts(d,"onSqueezeEnd",o),Ts(d,"onSqueeze",a),Ts(d,"onMove",l),$.jsx("group",{ref:d,children:c})});Y.forwardRef(function({onSelectStart:e,onSelectEnd:t,children:i,...r},s){const o=Y.useRef(),a=Y.useRef(null),l=Y.useMemo(()=>new Ue,[]);return Y.useImperativeHandle(s,()=>a.current),Ti(()=>{const c=o.current,h=a.current;!h||!c||(h.applyMatrix4(l),h.applyMatrix4(c.matrixWorld),h.updateMatrixWorld(),l.copy(c.matrixWorld).invert())}),$.jsx(y9,{ref:a,onSelectStart:c=>{Wz(c.target)&&(c.target.type==="controller"||c.target.type==="hand")&&c.target.object!=null&&(o.current=c.target.object,l.copy(c.target.object.matrixWorld).invert(),e==null||e(c))},onSelectEnd:c=>{c.target.controller===o.current&&(o.current=void 0),t==null||t(c)},...r,children:i})});function cT(n,e){if(e===hA)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),n;if(e===Ya||e===qf){let t=n.getIndex();if(t===null){const o=[],a=n.getAttribute("position");if(a!==void 0){for(let l=0;l=2.0 are supported."));return}const l=new $9(s,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});l.fileLoader.setRequestHeader(this.requestHeader);for(let c=0;c=0&&a[h]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+h+'".')}}l.setExtensions(o),l.setPlugins(a),l.parse(i,r)}parseAsync(e,t){const i=this;return new Promise(function(r,s){i.parse(e,t,r,s)})}}function A9(){let n={};return{get:function(e){return n[e]},add:function(e,t){n[e]=t},remove:function(e){delete n[e]},removeAll:function(){n={}}}}const Tt={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class S9{constructor(e){this.parser=e,this.name=Tt.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let i=0,r=t.length;i=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,s.source,o)}}class N9{constructor(e){this.parser=e,this.name=Tt.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,s=r.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],a=r.images[o.source];let l=i.textureLoader;if(a.uri){const c=i.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class U9{constructor(e){this.parser=e,this.name=Tt.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,s=r.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],a=r.images[o.source];let l=i.textureLoader;if(a.uri){const c=i.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class O9{constructor(e){this.name=Tt.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,i=t.bufferViews[e];if(i.extensions&&i.extensions[this.name]){const r=i.extensions[this.name],s=this.parser.getDependency("buffer",r.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return s.then(function(a){const l=r.byteOffset||0,c=r.byteLength||0,h=r.count,d=r.byteStride,p=new Uint8Array(a,l,c);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(h,d,p,r.mode,r.filter).then(function(m){return m.buffer}):o.ready.then(function(){const m=new ArrayBuffer(h*d);return o.decodeGltfBuffer(new Uint8Array(m),h,d,p,r.mode,r.filter),m})})}else return null}}class k9{constructor(e){this.name=Tt.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,i=t.nodes[e];if(!i.extensions||!i.extensions[this.name]||i.mesh===void 0)return null;const r=t.meshes[i.mesh];for(const c of r.primitives)if(c.mode!==pr.TRIANGLES&&c.mode!==pr.TRIANGLE_STRIP&&c.mode!==pr.TRIANGLE_FAN&&c.mode!==void 0)return null;const o=i.extensions[this.name].attributes,a=[],l={};for(const c in o)a.push(this.parser.getDependency("accessor",o[c]).then(h=>(l[c]=h,l[c])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(c=>{const h=c.pop(),d=h.isGroup?h.children:[h],p=c[0].count,m=[];for(const y of d){const S=new Ue,_=new L,v=new jt,A=new L(1,1,1),M=new ih(y.geometry,y.material,p);for(let w=0;w=152?{TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3"}:{TEXCOORD_0:"uv",TEXCOORD_1:"uv2"},COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},vo={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},J9={CUBICSPLINE:void 0,LINEAR:Ws,STEP:Ka},vy={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function j9(n){return n.DefaultMaterial===void 0&&(n.DefaultMaterial=new nl({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:Wr})),n.DefaultMaterial}function _a(n,e,t){for(const i in t.extensions)n[i]===void 0&&(e.userData.gltfExtensions=e.userData.gltfExtensions||{},e.userData.gltfExtensions[i]=t.extensions[i])}function bs(n,e){e.extras!==void 0&&(typeof e.extras=="object"?Object.assign(n.userData,e.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+e.extras))}function K9(n,e,t){let i=!1,r=!1,s=!1;for(let c=0,h=e.length;c0||n.search(/^data\:image\/jpeg/)===0?"image/jpeg":n.search(/\.webp($|\?)/i)>0||n.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const Z9=new Ue;class $9{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new A9,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let i=!1,r=!1,s=-1;typeof navigator<"u"&&typeof navigator.userAgent<"u"&&(i=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,r=navigator.userAgent.indexOf("Firefox")>-1,s=r?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||i||r&&s<98?this.textureLoader=new LA(this.options.manager):this.textureLoader=new FA(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Mi(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const i=this,r=this.json,s=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([i.getDependencies("scene"),i.getDependencies("animation"),i.getDependencies("camera")])}).then(function(o){const a={scene:o[0][r.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:r.asset,parser:i,userData:{}};return _a(s,a,r),bs(a,r),Promise.all(i._invokeAll(function(l){return l.afterRoot&&l.afterRoot(a)})).then(function(){for(const l of a.scenes)l.updateMatrixWorld();e(a)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],i=this.json.meshes||[];for(let r=0,s=t.length;r{const l=this.associations.get(o);l!=null&&this.associations.set(a,l);for(const[c,h]of o.children.entries())s(h,a.children[c])};return s(i,r),r.name+="_instance_"+e.uses[t]++,r}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let i=0;i=2&&_.setY(b,R[P*l+1]),l>=3&&_.setZ(b,R[P*l+2]),l>=4&&_.setW(b,R[P*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return _})}loadTexture(e){const t=this.json,i=this.options,s=t.textures[e].source,o=t.images[s];let a=this.textureLoader;if(o.uri){const l=i.manager.getHandler(o.uri);l!==null&&(a=l)}return this.loadTextureImage(e,s,a)}loadTextureImage(e,t,i){const r=this,s=this.json,o=s.textures[e],a=s.images[t],l=(a.uri||a.bufferView)+":"+o.sampler;if(this.textureCache[l])return this.textureCache[l];const c=this.loadImageSource(t,i).then(function(h){h.flipY=!1,h.name=o.name||a.name||"",h.name===""&&typeof a.uri=="string"&&a.uri.startsWith("data:image/")===!1&&(h.name=a.uri);const p=(s.samplers||{})[o.sampler]||{};return h.magFilter=dT[p.magFilter]||tn,h.minFilter=dT[p.minFilter]||Di,h.wrapS=pT[p.wrapS]||Xr,h.wrapT=pT[p.wrapT]||Xr,r.associations.set(h,{textures:e}),h}).catch(function(){return null});return this.textureCache[l]=c,c}loadImageSource(e,t){const i=this,r=this.json,s=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(d=>d.clone());const o=r.images[e],a=self.URL||self.webkitURL;let l=o.uri||"",c=!1;if(o.bufferView!==void 0)l=i.getDependency("bufferView",o.bufferView).then(function(d){c=!0;const p=new Blob([d],{type:o.mimeType});return l=a.createObjectURL(p),l});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const h=Promise.resolve(l).then(function(d){return new Promise(function(p,m){let y=p;t.isImageBitmapLoader===!0&&(y=function(S){const _=new zt(S);_.needsUpdate=!0,p(_)}),t.load($i.resolveURL(d,s.path),y,void 0,m)})}).then(function(d){return c===!0&&a.revokeObjectURL(l),bs(d,o),d.userData.mimeType=o.mimeType||q9(o.uri),d}).catch(function(d){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),d});return this.sourceCache[e]=h,h}assignTexture(e,t,i,r){const s=this;return this.getDependency("texture",i.index).then(function(o){if(!o)return null;if(i.texCoord!==void 0&&i.texCoord>0&&(o=o.clone(),o.channel=i.texCoord),s.extensions[Tt.KHR_TEXTURE_TRANSFORM]){const a=i.extensions!==void 0?i.extensions[Tt.KHR_TEXTURE_TRANSFORM]:void 0;if(a){const l=s.associations.get(o);o=s.extensions[Tt.KHR_TEXTURE_TRANSFORM].extendTexture(o,a),s.associations.set(o,l)}}return r!==void 0&&(typeof r=="number"&&(r=r===fT?La:Os),"colorSpace"in o?o.colorSpace=r:o.encoding=r===La?fT:x9),e[t]=o,o})}assignFinalMaterial(e){const t=e.geometry;let i=e.material;const r=t.attributes.tangent===void 0,s=t.attributes.color!==void 0,o=t.attributes.normal===void 0;if(e.isPoints){const a="PointsMaterial:"+i.uuid;let l=this.cache.get(a);l||(l=new rh,qt.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,l.sizeAttenuation=!1,this.cache.add(a,l)),i=l}else if(e.isLine){const a="LineBasicMaterial:"+i.uuid;let l=this.cache.get(a);l||(l=new Zn,qt.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,this.cache.add(a,l)),i=l}if(r||s||o){let a="ClonedMaterial:"+i.uuid+":";r&&(a+="derivative-tangents:"),s&&(a+="vertex-colors:"),o&&(a+="flat-shading:");let l=this.cache.get(a);l||(l=i.clone(),s&&(l.vertexColors=!0),o&&(l.flatShading=!0),r&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(a,l),this.associations.set(l,this.associations.get(i))),i=l}e.material=i}getMaterialType(){return nl}loadMaterial(e){const t=this,i=this.json,r=this.extensions,s=i.materials[e];let o;const a={},l=s.extensions||{},c=[];if(l[Tt.KHR_MATERIALS_UNLIT]){const d=r[Tt.KHR_MATERIALS_UNLIT];o=d.getMaterialType(),c.push(d.extendParams(a,s,t))}else{const d=s.pbrMetallicRoughness||{};if(a.color=new we(1,1,1),a.opacity=1,Array.isArray(d.baseColorFactor)){const p=d.baseColorFactor;a.color.setRGB(p[0],p[1],p[2],Os),a.opacity=p[3]}d.baseColorTexture!==void 0&&c.push(t.assignTexture(a,"map",d.baseColorTexture,La)),a.metalness=d.metallicFactor!==void 0?d.metallicFactor:1,a.roughness=d.roughnessFactor!==void 0?d.roughnessFactor:1,d.metallicRoughnessTexture!==void 0&&(c.push(t.assignTexture(a,"metalnessMap",d.metallicRoughnessTexture)),c.push(t.assignTexture(a,"roughnessMap",d.metallicRoughnessTexture))),o=this._invokeOne(function(p){return p.getMaterialType&&p.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(p){return p.extendMaterialParams&&p.extendMaterialParams(e,a)})))}s.doubleSided===!0&&(a.side=vr);const h=s.alphaMode||vy.OPAQUE;if(h===vy.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,h===vy.MASK&&(a.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.normalTexture!==void 0&&o!==Cn&&(c.push(t.assignTexture(a,"normalMap",s.normalTexture)),a.normalScale=new ue(1,1),s.normalTexture.scale!==void 0)){const d=s.normalTexture.scale;a.normalScale.set(d,d)}if(s.occlusionTexture!==void 0&&o!==Cn&&(c.push(t.assignTexture(a,"aoMap",s.occlusionTexture)),s.occlusionTexture.strength!==void 0&&(a.aoMapIntensity=s.occlusionTexture.strength)),s.emissiveFactor!==void 0&&o!==Cn){const d=s.emissiveFactor;a.emissive=new we().setRGB(d[0],d[1],d[2],Os)}return s.emissiveTexture!==void 0&&o!==Cn&&c.push(t.assignTexture(a,"emissiveMap",s.emissiveTexture,La)),Promise.all(c).then(function(){const d=new o(a);return s.name&&(d.name=s.name),bs(d,s),t.associations.set(d,{materials:e}),s.extensions&&_a(r,d,s),d})}createUniqueName(e){const t=Rt.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,i=this.extensions,r=this.primitiveCache;function s(a){return i[Tt.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a,t).then(function(l){return mT(l,a,t)})}const o=[];for(let a=0,l=e.length;a0&&Y9(v,s),v.name=t.createUniqueName(s.name||"mesh_"+e),bs(v,s),_.extensions&&_a(r,v,_),t.assignFinalMaterial(v),d.push(v)}for(let m=0,y=d.length;m1?h=new xr:c.length===1?h=c[0]:h=new At,h!==c[0])for(let d=0,p=c.length;d{const d=new Map;for(const[p,m]of r.associations)(p instanceof qt||p instanceof zt)&&d.set(p,m);return h.traverse(p=>{const m=r.associations.get(p);m!=null&&d.set(p,m)}),d};return r.associations=c(s),s})}_createAnimationTracks(e,t,i,r,s){const o=[],a=e.name?e.name:e.uuid,l=[];vo[s.path]===vo.weights?e.traverse(function(p){p.morphTargetInfluences&&l.push(p.name?p.name:p.uuid)}):l.push(a);let c;switch(vo[s.path]){case vo.weights:c=Js;break;case vo.rotation:c=hs;break;case vo.position:case vo.scale:c=js;break;default:switch(i.itemSize){case 1:c=Js;break;case 2:case 3:default:c=js;break}break}const h=r.interpolation!==void 0?J9[r.interpolation]:Ws,d=this._getArrayFromAccessor(i);for(let p=0,m=l.length;p{const a={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(o,a).then(t).catch(r)},i,r)}decodeDracoFile(e,t,i,r){const s={attributeIDs:i||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!i};this.decodeGeometry(e,s).then(t)}decodeGeometry(e,t){for(const l in t.attributeTypes){const c=t.attributeTypes[l];c.BYTES_PER_ELEMENT!==void 0&&(t.attributeTypes[l]=c.name)}const i=JSON.stringify(t);if(_y.has(e)){const l=_y.get(e);if(l.key===i)return l.promise;if(e.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let r;const s=this.workerNextTaskID++,o=e.byteLength,a=this._getWorker(s,o).then(l=>(r=l,new Promise((c,h)=>{r._callbacks[s]={resolve:c,reject:h},r.postMessage({type:"decode",id:s,taskConfig:t,buffer:e},[e])}))).then(l=>this._createGeometry(l.geometry));return a.catch(()=>!0).then(()=>{r&&s&&this._releaseTask(r,s)}),_y.set(e,{key:i,promise:a}),a}_createGeometry(e){const t=new rt;e.index&&t.setIndex(new it(e.index.array,1));for(let i=0;i{i.load(e,r,void 0,s)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const e=typeof WebAssembly!="object"||this.decoderConfig.type==="js",t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then(i=>{const r=i[0];e||(this.decoderConfig.wasmBinary=i[1]);const s=n8.toString(),o=["/* draco decoder */",r,"","/* worker */",s.substring(s.indexOf("{")+1,s.lastIndexOf("}"))].join(` +`);this.workerSourceURL=URL.createObjectURL(new Blob([o]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.lengths._taskLoad?-1:1});const i=this.workerPool[this.workerPool.length-1];return i._taskCosts[e]=t,i._taskLoad+=t,i})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e{const d=h.draco,p=new d.Decoder,m=new d.DecoderBuffer;m.Init(new Int8Array(l),l.byteLength);try{const y=t(d,p,m,c),S=y.attributes.map(_=>_.array.buffer);y.index&&S.push(y.index.array.buffer),self.postMessage({type:"decode",id:a.id,geometry:y},S)}catch(y){console.error(y),self.postMessage({type:"error",id:a.id,error:y.message})}finally{d.destroy(m),d.destroy(p)}});break}};function t(o,a,l,c){const h=c.attributeIDs,d=c.attributeTypes;let p,m;const y=a.GetEncodedGeometryType(l);if(y===o.TRIANGULAR_MESH)p=new o.Mesh,m=a.DecodeBufferToMesh(l,p);else if(y===o.POINT_CLOUD)p=new o.PointCloud,m=a.DecodeBufferToPointCloud(l,p);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!m.ok()||p.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+m.error_msg());const S={index:null,attributes:[]};for(const _ in h){const v=self[d[_]];let A,M;if(c.useUniqueIDs)M=h[_],A=a.GetAttributeByUniqueId(p,M);else{if(M=a.GetAttributeId(p,o[h[_]]),M===-1)continue;A=a.GetAttribute(p,M)}S.attributes.push(r(o,a,p,_,v,A))}return y===o.TRIANGULAR_MESH&&(S.index=i(o,a,p)),o.destroy(p),S}function i(o,a,l){const h=l.num_faces()*3,d=h*4,p=o._malloc(d);a.GetTrianglesUInt32Array(l,d,p);const m=new Uint32Array(o.HEAPF32.buffer,p,h).slice();return o._free(p),{array:m,itemSize:1}}function r(o,a,l,c,h,d){const p=d.num_components(),y=l.num_points()*p,S=y*h.BYTES_PER_ELEMENT,_=s(o,h),v=o._malloc(S);a.GetAttributeDataArrayForAllPoints(l,d,_,S,v);const A=new h(o.HEAPF32.buffer,v,y).slice();return o._free(v),{name:c,array:A,itemSize:p}}function s(o,a){switch(a){case Float32Array:return o.DT_FLOAT32;case Int8Array:return o.DT_INT8;case Int16Array:return o.DT_INT16;case Int32Array:return o.DT_INT32;case Uint8Array:return o.DT_UINT8;case Uint16Array:return o.DT_UINT16;case Uint32Array:return o.DT_UINT32}}}let Tp;const xy=()=>{if(Tp)return Tp;const n="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",e="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",t=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),i=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]);if(typeof WebAssembly!="object")return{supported:!1};let r=n;WebAssembly.validate(t)&&(r=e);let s;const o=WebAssembly.instantiate(a(r),{}).then(d=>{s=d.instance,s.exports.__wasm_call_ctors()});function a(d){const p=new Uint8Array(d.length);for(let y=0;y96?S-71:S>64?S-65:S>47?S+4:S>46?63:62}let m=0;for(let y=0;y{t&&t(i),n&&(Cp||(Cp=new t8),Cp.setDecoderPath(typeof n=="string"?n:JI),i.setDRACOLoader(Cp)),e&&i.setMeshoptDecoder(typeof xy=="function"?xy():xy)}}function Tg(n,e=!0,t=!0,i){return hh(eS,n,jI(e,t,i))}Tg.preload=(n,e=!0,t=!0,i)=>hh.preload(eS,n,jI(e,t,i));Tg.clear=n=>hh.clear(eS,n);Tg.setDecoderPath=n=>{JI=n};function i8(){return $.jsxs($.Fragment,{children:[$.jsx(Y.Suspense,{children:$.jsx(FI,{colorWrite:!1,renderOrder:-1})}),$.jsx(Y.Suspense,{children:$.jsx(r8,{rotation:[-.2,Math.PI/2,Math.PI],position:[0,-.01,-.02],scale:11e-5})})]})}function r8(n){const{nodes:e,materials:t}=Tg("/watch-v1.glb");return $.jsxs("group",{...n,dispose:null,children:[$.jsx("mesh",{geometry:e.Object005_glass_0.geometry,material:t.glass}),$.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object006_watch_0.geometry,material:t.watch})]})}const gT=l9({hand:{right:i8,left:!1}});function s8(){return $.jsxs($.Fragment,{children:[$.jsx("button",{onClick:()=>gT.enterAR(),children:"Enter AR"}),$.jsx(YG,{shadows:!0,camera:{position:[0,0,10],fov:25},children:$.jsxs(u9,{store:gT,children:[$.jsx("ambientLight",{intensity:.5}),$.jsx("directionalLight",{position:[10,10,10]})]})})]})}bR(document.getElementById("root")).render($.jsx(Y.StrictMode,{children:$.jsx(s8,{})})); diff --git a/examples/watch/index.html b/examples/watch/index.html new file mode 100644 index 00000000..14b26859 --- /dev/null +++ b/examples/watch/index.html @@ -0,0 +1,12 @@ + + + + + + Document + + + +
+ + \ No newline at end of file diff --git a/examples/watch/watch-v1.glb b/examples/watch/watch-v1.glb new file mode 100644 index 00000000..dca32214 Binary files /dev/null and b/examples/watch/watch-v1.glb differ